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

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

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


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

技术介绍

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

技术实现思路

[0004]本申请实施例的目的是提供一种任务调度的方法、系统、计算机设备及计算机可读存储 介质,旨在解决如何在分布式系统中,以去中心化的方式实现任务调度的目的。
[0005]本申请实施例的一个方面提供了一种任务调度的方法,所述方法包括:启动目标进程并 将所述目标进程注册到服务器中:从所述服务器中获取进程列表,并根据所述进程列表获取 所述目标进程的标识;从数据库中获取任务列表,所述任务列表包括对应于多个任务的多个 任务标识;根据所述目标进程的标识和本文档来自技高网...

【技术保护点】

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

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

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

1