logo好方法网

一种分级异步处理事务的方法及装置


技术摘要:
本发明实施例提供一种分级异步处理事务的方法及装置,包括:根据事务的内部业务逻辑关系将事务划分为多个子任务,将具有优先处理标示的、以及按照内部业务逻辑关系相比具有优先处理标示的需要在先处理的子任务标记在前置队列内,将其他子任务标记在后置队列内;执行所  全部
背景技术:
在微公益项目中,用户发起捐款并支付成功后开启支付成功事务。整个事务需要 分为更新项目捐款信息,更新个人捐款信息,更新榜单信息,分享微博,分别给项目所属人 和捐款人发私信通知,记录流水,更新订单信息,核对支付信息。支付回调后进入事务队列, 处理队列任务接收到队列开始一个事务的处理。按业务顺序和依赖逻辑组织程序代码执行 顺序执行每个类的方法或调用接口。当某个子模块执行或调用失败时中止事务进行下一个 队列事务,如果都正常执行结束,最后执行任务检查核对,如果有异常记录记录备注,如果 检查核对完成,既本次事务执行完成。 在实现本发明过程中,申请人发现现有技术中至少存在如下问题: 整个执行过程中需要强一致性的依赖顺序执行,一旦有一个步骤执行失败,整个 事务就会中止处理或认为处理失败。一次执行流程走完所有子任务,造成整个事务处理周 期比较长,影响后面事务进来处理。从而导致队列堆积,业务出现异常。
技术实现要素:
本发明实施例提供一种分级异步处理事务的方法及装置,执行事务过程中调整子 任务模块处理优先级,重要度高的能够优先执行,对一些可以延迟处理的能够再异步延迟 处理。从而降低整个事务的处理周期,提高后面事务的处理效率。保证事务队列正常处理避 免产生堆积。 为达上述目的,一方面,本发明实施例提供一种分级异步处理事务的方法,包括: 根据事务的内部业务逻辑关系将事务划分为多个子任务,将具有优先处理标示 的、以及按照内部业务逻辑关系相比具有优先处理标示的需要在先处理的子任务标记在前 置队列内,以及将所述事务的其他子任务标记在后置队列内; 根据任务列表遍历所述事务的子任务,执行所述事务的前置队列内的子任务;并 根据所述事务的内部业务逻辑关系,将执行前置队列内的子任务所产生的参数传递给相关 联的其他子任务; 当所述事务的前置队列内的子任务处理完毕后,结合所述执行前置队列内的子任 务所产生的参数,执行所述事务的后置队列内的子任务; 反馈并展示所述事务的所有子任务的执行结果。 另一方面,本发明实施例还提供一种分级异步处理事务的装置,包括: 子任务标记模块,用于根据事务的内部业务逻辑关系将事务划分为多个子任务, 将具有优先处理标示的、以及按照内部业务逻辑关系相比具有优先处理标示的需要在先处 理的子任务标记在前置队列内,以及将所述事务的其他子任务标记在后置队列内; 5 CN 111580939 A 说 明 书 2/9 页 子任务优先处理模块,用于根据任务列表遍历所述事务的子任务,执行所述事务 的前置队列内的子任务;并根据所述事务的内部业务逻辑关系,将执行前置队列内的子任 务所产生的参数传递给相关联的其他子任务; 子任务延迟处理模块,用于当所述事务的前置队列内的子任务处理完毕后,结合 所述执行前置队列内的子任务行所产生的参数,执行所述事务的后置队列内的子任务; 事务结果反馈模块,用于反馈并展示所述事务的所有子任务的执行结果。 上述技术方案具有如下有益效果:通过将一个事务将业务逻辑关系拆分为多个子 任务,在高负载时,执行事务过程中调整子任务模块处理优先级,重要度高的能够优先执 行,对一些可以延迟处理的能够再异步延迟处理。从而降低整个事务的处理周期,保证事务 队列正常处理避免产生堆积。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。 图1是本发明实施的分级异步处理事务方法的流程图; 图2是本发明实施的分级异步处理事务装置的结构图; 图3是本发明实施的分级异步处理事务操作流程示意图; 图4是本发明实施的分级异步处理事务设置逻辑流程图。
分享到:
收藏