分布式任务调度方法、装置、计算机设备和介质制造方法及图纸

技术编号:35361389 阅读:21 留言:0更新日期:2022-10-29 17:59
本申请涉及一种分布式任务调度方法、装置、计算机设备和介质。涉及分布式系统技术领域,该分布式任务调度方法中,原有的主节点设备在执行第一目标任务的过程中创建的任务节点,并将第一目标任务的任务信息写入任务节点中,这样当原有的主节点宕机之后,次节点设备转换为目标主节点设备,然后目标主节点设备通过扫描Zookeeper系统中的预设的目录节点;若所述目录节点下存在至少一个任务节点,则从所述至少一个任务节点中读取任务信息;根据所述任务信息恢复所述第一目标任务,并执行所述第一目标任务。由于Zookeeper系统具有高可用性,因此,可以保障分布式系统的数据存储不容易失效,从而保证分布式系统的高可用性。从而保证分布式系统的高可用性。从而保证分布式系统的高可用性。

【技术实现步骤摘要】
分布式任务调度方法、装置、计算机设备和介质


[0001]本申请涉及分布式系统
,特别是涉及一种分布式任务调度方法、装置、计算机设备和介质。

技术介绍

[0002]分布式系统包括多台计算机设备,该些计算机设备包括主节点设备和次节点设备。其中,主节点设备用于接收任务请求,并根据任务请求建立和执行任务,在主节点设备出现宕机时,分布式系统可以将次节点设备转换为新的主节点设备,然后由新的主节点设备恢复前一主节点设备未执行完的任务。
[0003]然而,由于分布式系统现有的数据存储系统容易发生单点失效的问题,因此影响了分布式系统的高可用性。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种分布式任务调度方法、装置、计算机设备和介质。
[0005]一种分布式任务调度方法,该方法包括:
[0006]在从次节点设备转换为目标主节点设备之后,扫描Zookeeper系统中的预设的目录节点;若目录节点下存在至少一个任务节点,则从至少一个任务节点中读取任务信息;其中,至少一个任务节点为原有的主节点设备在执行第一目标任务的过程中创建的,任务信息为原有的主节点设备写入的与执行第一目标任务相关的信息;根据任务信息恢复第一目标任务,并执行第一目标任务。
[0007]本申请实施例通过Zookeeper系统的分布式存储的支持,实现了支持分布式系统的原有的主节点设备在宕机的情况下,由目标主节点设备恢复第一目标任务并继续执行第一目标任务的能力,提高了分布式系统的高可用性。
[0008]在其中一个实施例中,该方法还包括:
[0009]在接收到任务请求之后,根据任务请求建立第二目标任务,并执行第二目标任务;在执行第二目标任务的过程中,在Zookeeper系统中的预设的目录节点下建立与第二目标任务对应的任务节点,并将第二目标任务对应的任务信息写入与第二目标任务对应的任务节点中。
[0010]通过在建立第二目标任务时,即将第二目标任务的任务信息写入Zookeeper系统中,为后续恢复并执行第二目标任务做好准备,为提高分布式系统的高可用性服务。
[0011]在其中一个实施例中,在Zookeeper系统中的预设的目录节点下建立与第二目标任务对应的任务节点,并将第二目标任务对应的任务信息写入与第二目标任务对应的任务节点中,包括:将第二目标任务分割为多个目标子任务,各目标子任务为第二目标任务的不同阶段的任务;在目录节点下按照各目标子任务的执行先后顺序建立与各目标子任务对应的任务节点,并将各目标子任务对应的任务信息写入与各目标子任务对应的任务节点中。
[0012]通过将第二目标任务分割为多个独立的目标子任务,并分别建立对应各目标子任务的任务节点,这样,在目标主节点设备宕机的情况下,新的主节点设备只需要恢复第二目标任务的一部分目标子任务,而不需要将第二目标任务全部恢复并重新执行,避免了分布式系统重复作业,影响任务的执行效率。
[0013]在其中一个实施例中,在执行第二目标任务的过程中,在Zookeeper系统中的预设的目录节点下建立与第二目标任务对应的任务节点,并将第二目标任务对应的任务信息写入与第二目标任务对应的任务节点中,包括:将第二目标任务分割为多个按照执行先后顺序排列的目标子任务,各目标子任务为第二目标任务的不同阶段的任务;将各目标子任务对应的任务信息保存在目标任务节点中;对于各目标子任务,在执行目标子任务时,基于目标任务节点中存储的目标子任务对应的任务信息在Zookeeper系统中建立目标子任务对应的子任务节点,并删除目标子任务的前一目标子任务对应的子任务节点。
[0014]各目标子任务对应的子任务节点并不是一次性都创建出来的,而是顺序执行目标子任务时,执行到哪个目标子任务就建立一个子任务节点,执行完成此子任务之后删除该子任务节点,以此类推来顺序执行各个目标子任务,这样可以节省zookeeper系统上的存储空间。
[0015]在其中一个实施例中,该方法还包括:在执行第二目标任务的过程中,获取第二目标任务的任务状态信息直至第二目标任务执行结束;任务状态信息用于表示第二目标任务的执行状态;将任务状态信息写入与第二目标任务对应的任务节点中,以供在目标主节点设备宕机之后,确定第二目标任务是否执行结束。
[0016]本申请实施例通过写入任务状态信息,避免了频繁地在目录节点中执行删除操作,减少Zookeeper系统的数据处理量,提高分布式系统的工作效率。
[0017]在其中一个实施例中,将任务状态信息写入与第二目标任务对应的任务节点中,包括:在目录节点下建立事务标记,事务标记包括待将任务状态信息写入的至少两个任务节点的标识;事务标记用于表示对至少两个任务节点的标识对应的至少两个任务节点同步执行写入操作;对至少两个任务节点中的任务信息进行备份,得到备份数据;将任务状态信息写入至少两个任务节点的标识对应的至少两个任务节点中。
[0018]在其中一个实施例中,该方法还包括:
[0019]若写入成功,则删除备份数据和事务标记;
[0020]若写入失败,则根据备份数据恢复至少两个任务节点的标识对应的至少两个任务节点中的任务信息,以及删除事务标记。
[0021]通过建立事务标记和删除事务标记,实现了对多个任务节点进行操作,保证了对Zookeeper系统操作的原子性。解决了使用Zookeeper系统不支持对多个任务节点同时事务操作的问题。完整地支持了基于Zookeeper系统的高可用作业框架。
[0022]在其中一个实施例中,该方法还包括:
[0023]在第二目标任务执行结束之后,从目录节点中删除与第二目标任务对应的任务节点。
[0024]通过将执行结束的第二目标任务对应的任务节点删除,可以简化数据存储量,降低Zookeeper系统的数据管理负担。
[0025]一种分布式任务调度装置,该装置包括:
[0026]扫描模块,用于在从次节点设备转换为目标主节点设备之后,扫描Zookeeper系统中的预设的目录节点;
[0027]读取模块,用于若目录节点下存在至少一个任务节点,则从至少一个任务节点中读取任务信息;其中,至少一个任务节点为原有的主节点设备在执行第一目标任务的过程中创建的,任务信息为原有的主节点设备写入的与执行第一目标任务相关的信息;
[0028]恢复模块,用于根据任务信息恢复第一目标任务,并执行第一目标任务。
[0029]一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:在从次节点设备转换为目标主节点设备之后,扫描Zookeeper系统中的预设的目录节点;若目录节点下存在至少一个任务节点,则从至少一个任务节点中读取任务信息;其中,至少一个任务节点为原有的主节点设备在执行第一目标任务的过程中创建的,任务信息为原有的主节点设备写入的与执行第一目标任务相关的信息;根据任务信息恢复第一目标任务,并执行第一目标任务。
[0030]一种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式任务调度方法,其特征在于,所述方法包括:在从次节点设备转换为目标主节点设备之后,扫描Zookeeper系统中的预设的目录节点;若所述目录节点下存在至少一个任务节点,则从所述至少一个任务节点中读取任务信息;其中,所述至少一个任务节点为原有的主节点设备在执行第一目标任务的过程中创建的,所述任务信息为原有的主节点设备写入的与执行所述第一目标任务相关的信息;根据所述任务信息恢复所述第一目标任务,并执行所述第一目标任务。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在接收到任务请求之后,根据所述任务请求建立第二目标任务,并执行所述第二目标任务;在执行所述第二目标任务的过程中,在所述Zookeeper系统中的预设的所述目录节点下建立与所述第二目标任务对应的任务节点,并将所述第二目标任务对应的任务信息写入与所述第二目标任务对应的任务节点中。3.根据权利要求2所述的方法,其特征在于,所述在所述Zookeeper系统中的预设的所述目录节点下建立与所述第二目标任务对应的任务节点,并将所述第二目标任务对应的任务信息写入与所述第二目标任务对应的任务节点中,包括:将所述第二目标任务分割为多个目标子任务,各所述目标子任务为所述第二目标任务的不同阶段的任务;在所述目录节点下按照各所述目标子任务的执行先后顺序建立与各所述目标子任务对应的任务节点,并将各所述目标子任务对应的任务信息写入与各所述目标子任务对应的任务节点中。4.根据权利要求3所述的方法,其特征在于,所述在执行所述第二目标任务的过程中,在所述Zookeeper系统中的预设的所述目录节点下建立与所述第二目标任务对应的任务节点,并将所述第二目标任务对应的任务信息写入与所述第二目标任务对应的任务节点中,包括:将所述第二目标任务分割为多个按照执行先后顺序排列的目标子任务,各所述目标子任务为所述第二目标任务的不同阶段的任务;将各所述目标子任务对应的任务信息保存在目标任务节点中;对于各所述目标子任务,在执行所述目标子任务时,基于所述目标任务节点中存储的所述目标子任务对应的任务信息在所述Zookeeper系统中建立所述目标子任务对应的子任务节点,并删除所...

【专利技术属性】
技术研发人员:张小勇和敬刚杨志欣王洪伟
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

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

1