The invention discloses a task distribution system and method, which includes setting module, task distributor and task executor, in which setting module is used to pre-load the task to be executed, and select a task to be executed after processing for optimistic lock processing, so as to execute the task after locking. Tasks are sent to task distributors; task distributors are used to select task executors through preset rules and send the tasks to be executed to the task executors, which are used to distribute and process the tasks to be executed. The purpose of improving the real-time distribution of the task distribution and reducing deadlock is achieved through the invention.
【技术实现步骤摘要】
一种任务分发系统及方法
本专利技术涉及数据处理
,特别是涉及基于队列的任务并行分发机制的一种任务分发系统及方法。
技术介绍
随着移动互联网技术的迅速发展和网络的不断升级,面临大数据量的任务处理时,如果采用串行任务的处理方式就会拉长任务的处理时间,所以运行商一般会对采集的数据采用并行处理方式,为了提高任务分发处理的效果也对并行处理能力提出了更高的要求。在现有技术中,对于并行任务处理的主要采用基于多线程的并发任务的处理方法,即把不同的任务分配给操作系统某个进程的多个线程去处理,在处理过程中为了避免多线程之间任务争用的问题,通常会通过数据库行级锁的方式实现,但是行级锁也有一定的缺点,比如开销大和加锁慢,特别是在并发度较大的情况下会出现死锁,降低了任务分发的实时性。
技术实现思路
针对于上述问题,本专利技术提供一种任务分发系统及方法,实现了提高任务分发的实时性和减少死锁的目的。为了实现上述目的,根据本专利技术的第一方面,提供了一种任务分发系统,该系统设置模块、任务分发器和任务执行器,其中,所述设置模块,用于对待执行的任务进行预加载处理,并选取处理后的某个待执行任务进行加 ...
【技术保护点】
1.一种任务分发系统,其特征在于,所述系统包括设置模块、任务分发器和任务执行器,其中,所述设置模块,用于对待执行的任务进行预加载处理,并选取处理后的某个待执行任务进行加乐观锁处理,将所述加锁后的待执行的任务发送至所述任务分发器;所述任务分发器,用于通过预设规则选择所述任务执行器,并将所述待执行的任务发送至所述任务执行器,其中,所述预设规则为选择负载最轻的任务执行器;所述任务执行器,用于对所述待执行的任务进行任务分发处理。
【技术特征摘要】
1.一种任务分发系统,其特征在于,所述系统包括设置模块、任务分发器和任务执行器,其中,所述设置模块,用于对待执行的任务进行预加载处理,并选取处理后的某个待执行任务进行加乐观锁处理,将所述加锁后的待执行的任务发送至所述任务分发器;所述任务分发器,用于通过预设规则选择所述任务执行器,并将所述待执行的任务发送至所述任务执行器,其中,所述预设规则为选择负载最轻的任务执行器;所述任务执行器,用于对所述待执行的任务进行任务分发处理。2.根据权利要求1所述的系统,其特征在于,所述设置模块包括预加载单元和加锁单元,其中,所述预加载单元,用于按照预设的待执行任务的加载数量,将所述待执行的任务从数据库中加载到内存的待执行队列中;加锁单元,用于在所述待执行任务队列中按照优先级选取某个待执行的任务,将所述待执行的任务采用乐观锁进行锁住,并将所述加锁后的待执行的任务发送至所述任务分发器中。3.根据权利要求1所述的系统,其特征在于,所述任务分发器包括获取单元、选择单元和发送单元,其中,所述获取单元,用于判断所述任务执行器是否正在执行任务分发,如果否,则获取所述任务执行器;所述选择单元,用于在获取到的所述任务执行器中选择负载最小的任务执行器作为待操作的任务执行器;所述发送单元,用于将待执行的任务发送至所述待操作的任务执行器中。4.根据权利要求2所述的系统,其特征在于,所述设置模块还包括解锁单元,其中,当所述任务分发器对所述待执行的任务进行分发处理后,所述解锁单元,用于将所述待执行的任务进行解锁,其中,所述解锁为将所述待执行任务在所述待执行队列中进行删除。5.一种任务分发方法,其特征在于,所述方法适用于权利要求1-4任意一项所述的任务分发系统,所述任务分发系统包括设置模块、任务分发...
【专利技术属性】
技术研发人员:周莅涛,谢绍光,秦伟,陈天立,陈立志,
申请(专利权)人:深圳市优网科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。