【技术实现步骤摘要】
异步任务并发处理方法和系统
本专利技术涉及数据库
,特别是涉及一种异步任务并发处理方法和系统。
技术介绍
数据库技术中为了提高任务处理效率,通常会基于数据库后台进行异步任务处理。通常,基于数据库后台异步任务为了防重复处理,采用了同一事务中锁定某些任务后修改任务状态为处理中,再释放数据库行锁方案。这样,多任务并发处理时,由于任务表中某些任务被锁定了,使得其它线程必须等待解锁后才能处理任务,因此在数据库中会出现大量锁等待,影响任务处理效率和数据库整体性能,并发越大,则影响越大。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能提高任务处理效率的异步任务并发处理方法和系统。一种异步任务并发处理方法,所述方法包括以下步骤:生成任务,将生成的任务加入任务池中,并为每个任务分配一个随机的编号,所述编号为1-N的整数;采用多个线程并行提取所述任务池中的任务,每个线程对应一个标识号,所述标识号也为1-N的整数,每个线程并行提取所述任务池中编号与标识号相同的任务并处理提取的任务;其中,N为正整数且小于任务总数。在其中一个实施例中,N为服务器个数;在所述生成任务的步骤之前, ...
【技术保护点】
一种异步任务并发处理方法,其特征在于,所述方法包括以下步骤:生成任务,将生成的任务加入任务池中,并为每个任务分配一个随机的编号,所述编号为1‑N的整数;采用多个线程并行提取所述任务池中的任务,每个线程对应一个标识号,所述标识号也为1‑N的整数,每个线程并行提取所述任务池中编号与标识号相同的任务并处理提取的任务;其中,N为正整数且小于任务总数。
【技术特征摘要】
1.一种异步任务并发处理方法,其特征在于,所述方法包括以下步骤:生成任务,将生成的任务加入任务池中,并为每个任务分配一个随机的编号,所述编号为1-N的整数;采用多个线程并行提取所述任务池中的任务,每个线程对应一个标识号,所述标识号也为1-N的整数,每个线程并行提取所述任务池中编号与标识号相同的任务并处理提取的任务;其中,N为正整数且小于任务总数。2.根据权利要求1所述的方法,其特征在于,N为服务器个数;在所述生成任务的步骤之前,还包括:设置服务器基表,所述服务器基表中存储了服务器IP地址和对应的标识号;所述采用多个线程并行提取所述任务池中的任务的步骤包括:根据服务器IP地址查找对应的标识号,提取所述编号与查找到的标识号相同的任务。3.根据权利要求2所述的方法,其特征在于,每个服务器运行一个线程。4.根据权利要求1所述的方法,其特征在于,所述采用多个线程并行提取所述任务池中的任务的步骤还包括:将提取的任务进行锁定。5.根据权利要求1所述的方法,其特征在于,所述N为后台并发线程数,每个线程对应的一个标识号为随机给线程提取的一个1-...
【专利技术属性】
技术研发人员:李旺太,吴祥辉,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。