任务调度的方法和系统技术方案

技术编号:27486567 阅读:15 留言:0更新日期:2021-03-02 18:02
本申请实施例公开了一种任务调度的方法、系统、计算机设备及计算机可读存储介质,所述方法包括:启动目标进程并将所述目标进程注册到服务器中:从所述服务器中获取进程列表,并根据所述进程列表获取所述目标进程的标识;从数据库中获取任务列表,所述任务列表包括对应于多个任务的多个任务标识;根据所述目标进程的标识和所述多个任务标识,将所述多个任务中的多个目标任务分配给所述目标进程;及通过所述目标进程执行所述多个目标任务。本申请不依赖于中心化的调度模块,将任务调度到分布式系统中执行,并且可以保障任务at least once的执行效果。执行效果。执行效果。

【技术实现步骤摘要】
任务调度的方法和系统


[0001]本申请实施例涉及领域,尤其涉及一种任务调度的方法、系统、计算机设备及计算机可 读存储介质。

技术介绍

[0002]监控系统中,存在着数以万计的周期性监控任务,如果出现监控任务的遗漏执行,可能 产生严重后果。
[0003]现有技术通过master节点分配任务,为了保证一致性,master通常为单点,需要额外的 校验逻辑确保任务至少被执行一次执行。同时,整个系统也受限于单点master,系统整体就 无法保证高可靠行和可扩展性。

技术实现思路

[0004]本申请实施例的目的是提供一种任务调度的方法、系统、计算机设备及计算机可读存储 介质,旨在解决如何在分布式系统中,以去中心化的方式实现任务调度的目的。
[0005]本申请实施例的一个方面提供了一种任务调度的方法,所述方法包括:启动目标进程并 将所述目标进程注册到服务器中:从所述服务器中获取进程列表,并根据所述进程列表获取 所述目标进程的标识;从数据库中获取任务列表,所述任务列表包括对应于多个任务的多个 任务标识;根据所述目标进程的标识和所述多个任务标识,将所述多个任务中的多个目标任 务分配给所述目标进程;及通过所述目标进程执行所述多个目标任务。
[0006]可选的,所述启动目标进程并将所述目标进程注册到服务器中,包括:启动所述目标进 程;若启动所述目标进程成功后,根据所述目标进程的注册名称,将所述目标进程注册到所 述服务器,所述注册名称包括:主机名和进程号。
[0007]可选的,所述方法还包括:若启动失败,则不注册节点到所述服务器;和/或,若运行 异常,则退出并注销所述服务器的节点。
[0008]可选的,所述根据所述进程列表获取所述目标进程的标识,包括:获取所述目标进程的 注册名称;获取所述注册名称在所述进程列表中的排序,所述进程列表包括多个进程的多个 注册名称。
[0009]可选的,所述根据所述目标进程的标识和所述多个任务标识,将所述多个任务中的多个 目标任务分配给所述目标进程,包括:获取目标任务,所述目标任务的标识是通过对所述目 标进程的标识进行取模运算得到的。
[0010]可选的,所述通过所述目标进程执行所述多个目标任务,包括:根据上一次执行结果, 执行分配后的每一个目标任务;所述根据上一次执行结果,执行分配后的每一个目标任务, 包括:若上一次执行结束周期与本周期之间无间隔周期,则直接执行本周期对应的目标任务; 若上一次执行结束周期与本周期之间存在间隔周期,所述间隔周期为目标任务未被执行的周 期,则先执行间隔周期对应目标任务,再执行本周期对应目标任务;若目标任务执行失败, 则根据具体的错误类型确定是否需要重试。
[0011]本申请实施例的一个方面又提供了一种任务调度的装置,所述装置包括:注册模块,用 于启动目标进程并将所述目标进程注册到服务器中;第一获取模块,用于从所述服务器中获 取进程列表,并根据所述进程列表获取所述目标进程的标识;第二获取模块,用于从数据库 中获取任务列表,所述任务列表包括对应于多个任务的多个任务标识;分配模块,用于根据 所述目标进程的标识和所述多个任务标识,将所述多个任务中的多个目标任务分配给所述目 标进程;执行模块,用于通过所述目标进程执行所述多个目标任务。
[0012]本申请实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存 储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方 法的步骤。
[0013]本申请实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及 存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现 如上述方法的步骤。
[0014]本申请实施例的一个方面又提供了一种任务调度的方法,所述方法包括:接收目标进程 的注册;向所述目标进程发送进程列表,以使得所述目标进程根据所述进程列表获取所述目 标进程的标识,并根据所述目标进程的标识获取多个目标任务,通过所还是目标进程执行所 述多个目标任务。
[0015]本申请实施例的一个方面又提供了一种任务调度的方法,所述方法包括:接收目标进程 的数据请求指令;根据所述数据请求指令,向所述目标进程发送任务列表,以使得所述目标 进程获取多个目标任务,并通过所述目标进程执行所述多个目标任务。
[0016]本申请实施例的一个方面又提供了一种任务调度的系统,所述系统包括:移动终端启动 目标进程并将所述目标进程注册到服务器中:从所述服务器中获取进程列表,并根据所述进 程列表获取所述目标进程的标识;从数据库中获取任务列表,所述任务列表包括对应于多个 任务的多个任务标识;根据所述目标进程的标识和所述多个任务标识,将所述多个任务中的 多个目标任务分配给所述目标进程;及通过所述目标进程执行所述多个目标任务;
[0017]服务器接收目标进程的注册,向所述目标进程发送进程列表,以使得所述目标进程根据 所述进程列表获取所述目标进程的标识,并根据所述目标进程的标识获取多个目标任务,通 过所还是目标进程执行所述多个目标任务;
[0018]数据库接收目标进程的数据请求指令;根据所述数据请求指令,向所述目标进程发送任 务列表,以使得所述目标进程获取多个目标任务,并通过所述目标进程执行所述多个目标任 务。
[0019]本申请实施例提供的任务调度的方法、系统、计算机设备及计算机可读存储介质,不依 赖于中心化的调度模块,将任务调度到分布式系统中执行,并且可以保障任务at least once 的执行效果。
附图说明
[0020]图1示意性示出了根据本申请实施例的应用环境图;
[0021]图2示意性示出了根据本申请实施例一的方法的流程图;
[0022]图3示意性示出了根据本申请实施例一的方法的另一流程图;
[0023]图4示意性示出了根据本申请实施例一的方法的另一流程图;
[0024]图5示意性示出了根据本申请实施例一的方法的另一流程图;
[0025]图6示意性示出了根据本申请实施例一的方法的另一流程图;
[0026]图7示意性示出了根据本申请实施例二的方法的另一流程图;
[0027]图8示意性示出了根据本申请实施例三的任务调度的系统的框图;
[0028]图9示意性示出了本申请实施例四的适于实现任务调度的硬件架构示意图;
[0029]图10示意性示出本申请实施例六的方法的流程图;
[0030]图11示意性示出本申请实施例七的方法的流程图;
[0031]图12示意性示出本申请实施例八的系统结构图。
具体实施方式
[0032]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申 请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于 限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所 获得的所有其他实施例,都属本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度的方法,其特征在于,所述方法包括:启动目标进程并将所述目标进程注册到服务器中;从所述服务器中获取进程列表,并根据所述进程列表获取所述目标进程的标识;从数据库中获取任务列表,所述任务列表包括对应于多个任务的多个任务标识;根据所述目标进程的标识和所述多个任务标识,将所述多个任务中的多个目标任务分配给所述目标进程;及通过所述目标进程执行所述多个目标任务。2.根据权利要求1所述的方法,其特征在于,所述启动目标进程并将所述目标进程注册到服务器中,包括:启动所述目标进程;若启动所述目标进程成功后,将所述目标进程注册到所述服务器,其中,所述目标进程的注册名称全局唯一。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:若启动失败,则不注册节点到所述服务器;和/或,若运行异常,则退出并注销所述服务器的节点。4.根据权利要求1至3任意一项所述的方法,其特征在于,所述根据所述进程列表获取所述目标进程的标识,包括:获取所述目标进程的注册名称;获取所述注册名称在所述进程列表中的排序,所述进程列表包括多个进程的多个注册名称。5.根据权利要求4所述的方法,其特征在于,所述根据所述目标进程的标识和所述多个任务标识,将所述多个任务中的多个目标任务分配给所述目标进程,包括:获取目标任务,所述目标任务的标识是通过对所述目标进程的标识进行取模运算得到的。6.根据权利要求1至3任意一项所述的方法,其特征在于,所述通过所述目标进程执行所述多个目标任务,包括:根据上一次执行结果,执行分配后的每一个目标任务;所述根据上一次执行结果,执行分配后的每一个目标任务,包括:若上一次执行结束周期与本周期之间无间隔周期,则直接执行本周期对应的目标任务;若上一次执行结束周期与本周期之间存在间隔周期,所述间隔周期为目标任务未被执行的周期,则先执行间隔周期对应目标任务,再执行本周期对应目标任务;若目标任务执行失败,则根据具体的错误类型确定是否需要重试。7.一种任务调度的装置,其特征在于,所述装置包括:注册模块,用于启动目标进程并将所述目标进程注册到服务器中;第一获取模块,用于从所述服务器中获取进程列表,并根据所述进程列表...

【专利技术属性】
技术研发人员:王翔宇
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:

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

1