分布式任务调度方法以及装置、存储介质、电子装置制造方法及图纸

技术编号:28744540 阅读:22 留言:0更新日期:2021-06-06 17:48
本申请公开了一种分布式任务调度方法以及装置、存储介质、电子装置。该方法包括接收定时任务,其中,所述定时任务至少包括:用以完成定时任务的逻辑代码;根据所述逻辑代码,确定出符合执行条件的调度服务节点,其中,所述执行条件包括所述调度服务节点上的节点任务数量条件、节点健康状况条件;向至少一个所述调度服务节点分配所述定时任务和分发所述逻辑代码,以使通过所述调度服务节点用于运行相应的所述定时任务中的业务逻辑代码并触发启动单独的业务任务运行进程。本申请解决了对于离线定时任务和实时业务运行资源耦合度较高,容易相互影响且任务部署复杂的技术问题。通过本申请实现了无中心化调度和任务执行,且无工作线程数限制,每个任务独立进程,相互不影响。相互不影响。相互不影响。

【技术实现步骤摘要】
分布式任务调度方法以及装置、存储介质、电子装置


[0001]本申请涉及分布式处理领域,具体而言,涉及一种分布式任务调度方法以及装置、存储介质、电子装置。

技术介绍

[0002]在互联网应用中,除了需要实时的业务系统支持业务正常流程运行,还需要大量的离线的定时任务,去处理各种各样的业务任务。
[0003]对执行上述离线任务和实时业务时,运行资源耦合程度较高、导致业务系统和定时任务极度不稳定,从而影响业务流程正常运行。
[0004]针对相关技术中对于离线定时任务和实时业务运行资源耦合度较高,容易相互影响且任务部署复杂的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本申请的主要目的在于提供一种分布式任务调度方法以及装置、存储介质、电子装置,以解决对于离线定时任务和实时业务运行资源耦合度较高,容易相互影响且任务部署复杂的问题。
[0006]为了实现上述目的,根据本申请的一个方面,提供了一种分布式任务调度方法。
[0007]根据本申请的分布式任务调度方法包括:接收定时任务,其中,所述定时任务至少包括:用以完成定时任务的逻辑代码;根据所述逻辑代码,确定出符合执行条件的调度服务节点,其中,所述执行条件包括所述调度服务节点上的节点任务数量条件、节点健康状况条件;向至少一个所述调度服务节点分配所述定时任务和分发所述逻辑代码,以使通过所述调度服务节点用于运行相应的所述定时任务中的业务逻辑代码并触发启动单独的业务任务运行进程。
[0008]进一步地,向至少一个所述调度服务节点进行所述定时任务的调度分配、所述逻辑代码的分发之后,还包括:当所述定时任务的逻辑代码运行完毕之后,所述业务任务的进程退出并等待下一次调度执行;在所述进程退出之前通过分布式作业框架完成所述业务任务的状态记录,同时保存在本地日志。
[0009]进一步地,所述接收定时任务,其中,所述定时任务至少包括:用以完成定时任务的逻辑代码,包括:所述定时任务通过继承抽象Job类生成用以完成定时任务的逻辑代码,其中,所述逻辑代码包括用于新创建或更新的代码;根据所述逻辑代码新创建或更新所述定时任务,并接收上传的所述逻辑代码的任务代码压缩包。
[0010]进一步地,所述根据所述逻辑代码,确定出符合执行条件的调度服务节点包括:向任务调度服务节点广播所述定时任务分配消息;接收根据所述定时任务分配消息确定的所述任务调度器服务上报的能力评分,其中,所述能力评分包括:每个任务调度服务节点接收到所述定时任务分配消息之后,根据当前和历史资源负载以及历史最大并行运行任务数计算得到的打分值;根据所述能力评分的筛选结果,将所述定时任务分配到符合执行条件的
目标调度服务节点并且指派至少一个用于备份的目标调度服务节点。
[0011]进一步地,所述根据所述能力评分的筛选结果,将所述定时任务分配到符合执行条件的目标调度服务节点并且指派至少一个用于备份的目标调度服务节点包括:采用选举算法选出符合执行条件的调目标度服务节点以及至少一个用于备份的调目标度服务节点,其中,所述标调度服务节点=节点健康分数

节点上已有的任务数,所述用于备份的目标调度服务节点=节点健康分数

已有备份任务数。
[0012]进一步地,所述根据所述逻辑代码,确定出符合执行条件的调度服务节点,还包括:由调度器管理协调控中心,监督所有定时任务履约情况及各个无中心调度器服务,彼此监督对方的定时任务履约情况;如果检测到定时任务执行异常,则发生异常的所述调度服务节点发送心跳检测,如果通过心跳检测出所述调度服务节点的服务异常,则接管相关任务调度的用于备份的目标调度服务节点之后对所述定时任务进行调度执行。
[0013]进一步地,向至少一个所述调度服务节点进行所述定时任务的调度分配、所述逻辑代码的分发之后,还包括:根据所述定时任务的调度分配结果在调度任务服务节点上,按照分配的任务和相应的触发命令,将所述定时任务的逻辑代码同步到本地执行对应的命令创建的任务进程;当所述任务进程结束之后,通过调度服务节点接口反馈并同步任务是否正常执行。
[0014]为了实现上述目的,根据本申请的另一方面,提供了一种分布式任务调度装置。
[0015]根据本申请的分布式任务调度装置包括:接收模块,用于接收定时任务,其中,所述定时任务至少包括:用以完成定时任务的逻辑代码;确定模块,用于根据所述逻辑代码,确定出符合执行条件的调度服务节点;调度分配模块,用于向至少一个所述调度服务节点分配所述定时任务和分发所述逻辑代码,以使通过所述调度服务节点用于运行相应的所述定时任务中的业务逻辑代码并触发启动单独的业务任务运行进程。
[0016]为了实现上述目的,根据本申请的又一方面,提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0017]为了实现上述目的,根据本申请的再一方面,提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
[0018]在本申请实施例中分布式任务调度方法以及装置、存储介质、电子装置,采用接收定时任务,其中,所述定时任务至少包括:用以完成定时任务的逻辑代码的方式,通过所述逻辑代码,确定出符合执行条件的调度服务节点,所述调度服务节点用于运行相应的所述定时任务中的业务逻辑代码并触发启动单独的业务任务运行进程,达到了向至少一个所述调度服务节点进行所述定时任务的调度分配、所述逻辑代码的分发的目的,从而实现了采用无中心化调度和任务执行,把任务执行从任务执行器服务里面解耦出来,同时无工作线程数限制,每个任务独立进程,相互不影响的技术效果,进而解决了离线定时任务和实时业务运行资源耦合度较高,容易相互影响且任务部署复杂的技术问题。
附图说明
[0019]构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它
特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0020]图1是根据本申请实施例的分布式任务调度方法实施的硬件结构示意图;
[0021]图2是根据本申请实施例的分布式任务调度方法流程示意图;
[0022]图3是根据本申请实施例的分布式任务调度装置结构示意图;
[0023]图4是根据本申请优选实施例分布式任务调度方法流程示意图;
[0024]图5是根据本申请一实施例分布式任务调度方法中在任务调度服务节点中容错协议流程示意图。
具体实施方式
[0025]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式任务调度方法,其特征在于,包括:接收定时任务,其中,所述定时任务至少包括:用以完成定时任务的逻辑代码;根据所述逻辑代码,确定出符合执行条件的调度服务节点,其中,所述执行条件包括所述调度服务节点上的节点任务数量条件、节点健康状况条件;向至少一个所述调度服务节点分配所述定时任务和分发所述逻辑代码,,以使通过所述调度服务节点运行相应的所述定时任务中的业务逻辑代码并触发启动单独的业务任务运行进程。2.根据权利要求1所述的方法,其特征在于,向至少一个所述调度服务节点进行所述定时任务的调度分配、所述逻辑代码的分发之后,还包括:当所述定时任务的逻辑代码运行完毕之后,所述业务任务的进程退出并等待下一次调度执行;在所述进程退出之前通过分布式作业框架完成所述业务任务的状态记录,同时保存在本地日志。3.根据权利要求2所述的方法,其特征在于,所述接收定时任务,其中,所述定时任务至少包括:用以完成定时任务的逻辑代码,包括:所述定时任务通过继承抽象Job类生成用以完成定时任务的逻辑代码,其中,所述逻辑代码包括用于新创建或更新的代码;根据所述逻辑代码新创建或更新所述定时任务,并接收上传的所述逻辑代码的任务代码压缩包。4.根据权利要求1所述的方法,其特征在于,所述根据所述逻辑代码,确定出符合执行条件的调度服务节点包括:向任务调度服务节点广播所述定时任务分配消息;接收根据所述定时任务分配消息确定的所述任务调度器服务上报的能力评分,其中,所述能力评分包括:每个任务调度服务节点接收到所述定时任务分配消息之后,根据当前和历史资源负载以及历史最大并行运行任务数计算得到的打分值;根据所述能力评分的筛选结果,将所述定时任务分配到符合执行条件的目标调度服务节点并且指派至少一个用于备份的目标调度服务节点。5.根据权利要求4所述的方法,其特征在于,所述根据所述能力评分的筛选结果,将所述定时任务分配到符合执行条件的目标调度服务节点并且指派至少一个用于备份的目标调度服务节点包括:采用选举算法选出符合执行条件的调目标度服务节点以及至少一个用于备份的调目标度...

【专利技术属性】
技术研发人员:李定坤宋子龙
申请(专利权)人:叮当快药科技集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1