【技术实现步骤摘要】
201610005316
【技术保护点】
一种多线程任务处理方法,其特征在于,所述方法包括:任务管理器接收业务信息,将所述业务信息中包括的任务信息的实体添加至任务池中,调用管理模块以处理所述任务池中的实体,以及调用管理模块以获取处理所述任务池中的实体的结果,其中,所述实体包括:加锁标识、任务处理函数;所述管理模块调用执行模块以处理所述任务池中的实体,调用监听模块以获取所述执行模块处理所述任务池中的实体的结果;所述执行模块从所述任务池中获取实体,调用线程、锁以及获取的实体的任务处理函数,对获取的实体进行处理,将处理的结果通知所述监听模块,其中,所述锁根据获取的实体的加锁标识确定;所述监听模块根据所述处理的结果记录成功标记或失败标记,并将所述成功标记或失败标记发送给所述管理模块。
【技术特征摘要】
1.一种多线程任务处理方法,其特征在于,所述方法包括:
任务管理器接收业务信息,将所述业务信息中包括的任务信息的
实体添加至任务池中,调用管理模块以处理所述任务池中的实体,以
及调用管理模块以获取处理所述任务池中的实体的结果,其中,所述
实体包括:加锁标识、任务处理函数;
所述管理模块调用执行模块以处理所述任务池中的实体,调用监
听模块以获取所述执行模块处理所述任务池中的实体的结果;
所述执行模块从所述任务池中获取实体,调用线程、锁以及获取
的实体的任务处理函数,对获取的实体进行处理,将处理的结果通知
所述监听模块,其中,所述锁根据获取的实体的加锁标识确定;
所述监听模块根据所述处理的结果记录成功标记或失败标记,并
将所述成功标记或失败标记发送给所述管理模块。
2.根据权利要求1所述的方法,其特征在于,所述实体还包括:
重试次数;以及
所述监听模块根据所述处理的结果记录失败标记,并将记录的失
败标记发送给所述管理模块包括:
所述监听模块响应于所述处理的结果为失败,根据获取的实体的
重试次数,通知所述执行模块重试处理所述获取的实体,当重试处理
的次数达到所述重试次数但处理的结果仍为失败时,记录失败标记,
并将所述失败标记发送给所述管理模块。
3.根据权利要求1或2任意一项所述的方法,其特征在于,所述
任务管理器接收业务信息,将所述业务信息中包括的任务信息的实体
添加至任务池中包括:所述任务管理器接收业务信息,将预设处理时
间添加至所述业务信息包括的任务信息的实体中,将已添加所述预设
处理时间的实体添加至任务池中;以及
所述管理模块调用执行模块以处理所述任务池中的实体包括:所
\t述管理模块响应于在所述预设处理时间内未接收到所述处理的结果,
发送终止指令给所述执行模块以终止处理所述已添加所述预设处理时
间的实体,并将所述已添加所述预设处理时间的实体重新添加至所述
任务池中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述任务管理器响应于所述任务信息的实体满足预设的事务条
件,启动所述任务信息的实体的事务;
所述管理模块响应于接收到所述失败标记并且与所述失败标记对
应的实体已预先启动事务,调用所述执行模块以回滚所述与所述失败
标记对应的实体。
5.根据权利要求4所述的方法,其特征在于,所述实体还包括:
回滚函数;以及
所述方法还包括:所述执行模块调用所述回滚函数以回滚所述与
所述失败标记对应的实体。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述任务管理器响应于接收用户选择而确定分布式锁,并将所述
分布式锁添加至分布式锁池中;以及
所述执行模块调用锁包括:所述执行模块从所述分布式锁池中调
用所述获取的实体的加锁标识所指示的锁。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述任务管理器接收添加执行模块指令,根据所述添加执行模块指令
添加新的执行模块至执行模块池;以及
所述管理模块调用执行模块以处理所述任务池中的实体包括:所
述管理模块从所述执行模块池中调用执行模块以处理所述任务池中的
实体。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述任务管理器接收添加监听模块指令,根据所述添加监听模块指令
添加新的监听模块至监听模块池;
所述管理模块调用监听模块以获取所述执行模块处理所述实体的
结果包括:所述管理模块从所述监听模块池中调用监听模块以获取所
述执行模块处理所述获取的实体的结果。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述管理模块对所述处理的结果进行以下...
【专利技术属性】
技术研发人员:黄帅,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。