[发明专利]异步任务并发处理方法和系统在审
申请号: | 201610226710.5 | 申请日: | 2016-04-13 |
公开(公告)号: | CN107291534A | 公开(公告)日: | 2017-10-24 |
发明(设计)人: | 李旺太;吴祥辉 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 广州华进联合专利商标代理有限公司44224 | 代理人: | 谢曲曲 |
地址: | 518052 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异步 任务 并发 处理 方法 系统 | ||
技术领域
本发明涉及数据库技术领域,特别是涉及一种异步任务并发处理方法和系统。
背景技术
数据库技术中为了提高任务处理效率,通常会基于数据库后台进行异步任务处理。通常,基于数据库后台异步任务为了防重复处理,采用了同一事务中锁定某些任务后修改任务状态为处理中,再释放数据库行锁方案。这样,多任务并发处理时,由于任务表中某些任务被锁定了,使得其它线程必须等待解锁后才能处理任务,因此在数据库中会出现大量锁等待,影响任务处理效率和数据库整体性能,并发越大,则影响越大。
发明内容
基于此,有必要针对上述技术问题,提供一种能提高任务处理效率的异步任务并发处理方法和系统。
一种异步任务并发处理方法,所述方法包括以下步骤:
生成任务,将生成的任务加入任务池中,并为每个任务分配一个随机的编号,所述编号为1-N的整数;
采用多个线程并行提取所述任务池中的任务,每个线程对应一个标识号,所述标识号也为1-N的整数,每个线程并行提取所述任务池中编号与标识号相同的任务并处理提取的任务;
其中,N为正整数且小于任务总数。
在其中一个实施例中,N为服务器个数;
在所述生成任务的步骤之前,还包括:
设置服务器基表,所述服务器基表中存储了服务器IP地址和对应的标识号;
所述采用多个线程并行提取所述任务池中的任务的步骤包括:
根据服务器IP地址查找对应的标识号,提取所述编号与查找到的标识号相同的任务。
在其中一个实施例中,每个服务器运行一个线程。
在其中一个实施例中,所述采用多个线程并行提取所述任务池中的任务的步骤还包括:将提取的任务进行锁定。
在其中一个实施例中,所述N为后台并发线程数,每个线程对应的一个标识号为随机给线程提取的一个1-N之间的整数。
一种异步任务并发处理系统,所述系统包括:
任务生成模块,用于生成任务,将生成的任务加入任务池中,并为每个任务分配一个随机的编号,所述编号为1-N的整数;
任务分配模块,用于采用多个线程并行提取所述任务池中的任务,每个线程对应一个标识号,所述标识号也为1-N的整数,每个线程并行提取所述任务池中编号与标识号相同的任务并处理提取的任务;
其中,N为正整数且小于任务总数。
在其中一个实施例中,N为服务器个数;
所述系统还包括:设置模块,用于设置服务器基表,所述服务器基表中存储了服务器IP地址和对应的标识号;
所述任务分配模块用于根据服务器IP地址查找对应的标识号,提取所述编 号与查找到的标识号相同的任务。
在其中一个实施例中,每个服务器运行一个线程。
在其中一个实施例中,所述任务分配模块还用于在提取出任务后将任务进行锁定。
在其中一个实施例中,所述N为后台并发线程数,每个线程对应的一个标识号为随机给线程提取的一个1-N之间的整数。
上述异步任务并发处理方法和系统,通过为每个任务分配一个随机的编号,在采用多个线程并行提取任务池中的任务时,每个线程对应一个标识号,每个线程并行提取任务池中编号与标识号相同的任务并处理提取的任务。这样,将任务实际上分成了多份,多份任务并行处理,且每个线程处理的是编号与自身对应的标识号相同的任务,避免了大量锁等待,因此能够提高任务处理效率。
附图说明
图1为一个实施例中异步任务并发处理方法的流程图;
图2为另一个实施例中异步任务并发处理方法的流程图;
图3为图2中的异步任务并发处理方法的原理图;
图4为又一个实施例中异步任务并发处理方法的流程图;
图5为图4中的异步任务并发处理方法的原理图;
图6为一个实施例中异步任务并发处理系统的结构框图;
图7为另一个实施例中异步任务并发处理系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供了一种异步任务并发处理方法,该方法包括以下步骤:
步骤102,生成任务,将生成的任务加入任务池中,并为每个任务分配一个随机的编号,该编号为1-N的整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610226710.5/2.html,转载请声明来源钻瓜专利网。