分布式任务执行装置和方法

文档序号:9399351阅读:337来源:国知局
分布式任务执行装置和方法
【专利说明】分布式任务执行装置和方法
[0001]
技术领域
[0002]本发明涉及计算机技术领域,具体地,涉及一种分布式任务执行装置和一种分布式任务执行方法。
[0003]
【背景技术】
[0004]随着互联网应用的不断发展,越来越多的应用系统部署朝着大规模、分布式、多机协同的方向发展。同时,大多数的项目工程都需要有一套定时任务执行功能,用来执行非客户触发的、需要在特定时间或特定时间间隔后完成的工作。
[0005]通常,定时任务执行分为本地单机执行和分布式执行两种。本地单机执行是指任务执行只在一台机器上,分布式执行则是指任务执行发生是在多台机器上。其中分布式执行的有两种做法,一种是把任务调度和任务执行分离出来,由一个集中式的任务调度模块去管理具体的分布式任务执行;还有一种是任务调度和任务执行不分离,但是通过一个集中式锁的管理(比如数据库锁)来实现分布式的任务执行。
[0006]关于第一种方法,集中式的任务调度模块会是整个系统的瓶颈,一旦任务调度模块出现故障,整个任务执行就限于瘫痪;关于第二种方法,集中式的锁会是整个系统的瓶颈,因为每次任务执行都需要对锁资源进行锁定互斥处理,需要协同的机器越多,对集中式锁的访问冲突就会越剧烈,降低了整体分布式任务的处理能力,也限制了多级协同的规模。同时,一旦集中式的锁出现故障,整个任务执行也将完全中断。因此如何解决集中式任务调度和集中式锁的缺陷就显得很有意义。
[0007]因此,需要一种新的分布式任务执行技术,可以在现有的分布式任务执行义方式基础上,充分利用单对象类型完成多对象类型的分布式任务执行,建立多对象类型参与的面向复杂类型分布式任务执行的通用、统一执行思路。
[0008]

【发明内容】

[0009]本发明正是基于上述问题,提出了一种新的分布式任务执行技术,可以在现有的分布式任务执行义方式基础上,充分利用单对象类型完成多对象类型的分布式任务执行,建立多对象类型参与的面向复杂类型分布式任务执行的通用、统一执行思路。
[0010]有鉴于此,本发明提出了一种分布式任务执行装置,包括:多任务节点运行单元,用于建立多个对等的任务节点,负责处理预设列表里的任务、并定期检查当前时间下是否有任务需要被执行;任务预处理单元,用于基于每个任务节点的检查结果,对需要被执行的任务进行预处理;任务执行单元,用于基于对需要被执行的任务的预处理结果,在相应的任务节点中执行需要被执行的任务。在该技术方案中,可以使各个任务节点通过自动协商来决定分布式任务执行,解决集中式锁在高并发访问下的缺陷,达到扩展性和性能的同时增强。
[0011]在上述技术方案中,优选地,所述多任务节点运行单元,具体包括:对等任务节点建立模块,用于建立多个对等的任务节点;各任务节点处理任务模块,用于每个任务节点负责处理相同列表里的任务;待执行任务检查模块,用于每个任务节点定期检查当前时间下是否有任务需要被执行。在该技术方案中,可以利用多机协同的能力来进行任务的分布式执行,最大化的提高任务执行效率。
[0012]在上述技术方案中,优选地,所述任务预处理单元,具体包括:启动时间判定模块,用于基于每个任务节点的检查结果,判定当前时间下是否有任务需要被执行;任务预处理模块,用于若当前时间下有任务需要被执行时,则该任务节点对需要被执行的任务启动预处理操作;状态一次返回模块,用于若当前时间下没有任务需要被执行时,则相应的任务返回处理相同列表里的任务并定期检查当前时间下是否有任务需要被处理的状态。在该技术方案中,可以使得分布式任务系统完全水平自由扩展,达到精确性能上的极大增强。
[0013]在上述技术方案中,优选地,所述任务预处理模块对需要被执行的任务启动预处理操作,包括:根据任务的地址标号、期望执行时间生成唯一标识。
[0014]在上述技术方案中,优选地,所述任务执行单元,具体包括:可执行性协商模块,用于基于预处理操作生成的唯一标识,该任务节点和多个对等的任务节点中其他节点共同协商确定是否可以执行该任务;任务在可执行节点执行模块,用于当大于预设数量的任务节点同意执行时,则在相应的任务节点上执行相应的任务;状态二次返回模块,用于当大于预设数量的任务节点不同意执行时,则相应的任务返回处理相同列表里的任务并定期检查当前时间下是否有任务需要被处理的状态。在该技术方案中,可以有效地解决因为集中式任务调度模块故障导致的分布式任务系统整体瘫痪问题。
[0015]根据本发明的又一个方面,还提出了一种分布式任务执行方法,包括:步骤202:建立多个对等的任务节点,负责处理预设列表里的任务、并定期检查当前时间下是否有任务需要被执行;步骤204:基于每个任务节点的检查结果,对需要被执行的任务进行预处理;步骤206:基于对需要被执行的任务的预处理结果,在相应的任务节点中执行需要被执行的任务。在该技术方案中,可以使各个任务节点通过自动协商来决定分布式任务执行,解决集中式锁在高并发访问下的缺陷,达到扩展性和性能的同时增强。
[0016]在上述技术方案中,优选地,所述步骤202,具体包括:步骤302:建立多个对等的任务节点;步骤304:每个任务节点负责处理相同列表里的任务;步骤306:每个任务节点定期检查当前时间下是否有任务需要被执行。在该技术方案中,可以利用多机协同的能力来进行任务的分布式执行,最大化的提高任务执行效率。
[0017]在上述技术方案中,优选地,所述步骤204,具体包括:步骤402:基于每个任务节点的检查结果,判定当前时间下是否有任务需要被执行;步骤404:若当前时间下有任务需要被执行时,则该任务节点对需要被执行的任务启动预处理操作;步骤406:若当前时间下没有任务需要被执行时,则相应的任务返回处理相同列表里的任务并定期检查当前时间下是否有任务需要被处理的状态。在该技术方案中,可以使得分布式任务系统完全水平自由扩展,达到精确性能上的极大增强。
[0018]在上述技术方案中,优选地,所述步骤403对需要被执行的任务启动预处理操作,包括:根据任务的地址标号、期望执行时间生成唯一标识。
[0019]在上述技术方案中,优选地,所述步骤206,具体包括:步骤502:基于预处理操作生成的唯一标识,该任务节点和多个对等的任务节点中其他节点共同协商确定是否可以执行该任务;步骤504:当大于预设数量的任务节点同意执行时,则在相应的任务节点上执行相应的任务;步骤506:当大于预设数量的任务节点不同意执行时,则相应的任务返回处理相同列表里的任务并定期检查当前时间下是否有任务需要被处理的状态。在该技术方案中,可以有效地解决因为集中式任务调度模块故障导致的分布式任务系统整体瘫痪问题。
[0020]通过以上技术方案,可以在现有的分布式任务执行义方式基础上,充分利用单对象类型完成多对象类型的分布式任务执行,建立多对象类型参与的面向复杂类型分布式任务执行的通用、统一执行思路。
[0021]
【附图说明】
[0022]图1示出了根据本发明的实施例的分布式任务执行装置的框图;
图2示出了根据本发明的实施例的分布式任务执行方法的流程图;
图3示出了根据本发明的实施例的多任务节点运行单元的流程图;
图4示出了根据本发明的实施例的任务预处理单元的流程图;
图5示出了根据本发明的实施例的任务执行单元的流程图;
图6示出了根据本发明的实施例的分布式任务执行的流程示意图。
[0023]
【具体实施方式】
[0024]为了能够更清楚地理解本发明的上述目的、
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1