分布式系统的控制方法和存储介质技术方案

技术编号:36966932 阅读:59 留言:0更新日期:2023-03-22 19:27
本申请实施例提供了分布式系统的控制方法和存储介质,用于对分布式系统的开关机任务进行管理、调度以及系统状态控制,包括:任务协调器的管理器接收多个资源持有者发送的任务清单,根据多个资源持有者发送的任务清单构建任务关系图;任务协调器的调度器根据开机指令或关机指令从管理器获取任务关系图,根据任务关系图得到任务执行顺序;调度器根据任务执行顺序向各个资源持有者的执行器发送触发指令,以使得执行器根据触发指令执行任务。任务协调器集中各个资源持有者的任务清单,绘制任务关系图,使得分布式系统能够在接收开机指令或关机指令后,实现开机或关机的任务自动排序,自动执行,提高分布式系统的开机或关机效率。提高分布式系统的开机或关机效率。提高分布式系统的开机或关机效率。

【技术实现步骤摘要】
分布式系统的控制方法和存储介质


[0001]本申请实施例涉及分布式系统领域,具体涉及分布式系统的控制方法和存储介质。

技术介绍

[0002]分布式系统在没有采用7X24小时管理模式的情况下,每天需要在工作开始前开机,在工作结束之后关机,开机和关机需要执行非常多的任务,而分布式系统的任务分布在各个资源持有者上,且各个任务之间存在先后顺序的依赖关系。现有技术在对分布式系统进行开机或关机时,由操作员对各个资源持有者进行操作,效率低下。

技术实现思路

[0003]本申请实施例提供了分布式系统的控制方法和存储介质,用于对分布式系统的开关机任务进行管理、调度以及系统状态控制。
[0004]本申请实施例第一方面提供了一种分布式系统的控制方法,应用于任务协调器,包括:
[0005]任务协调器的管理器接收多个资源持有者发送的任务清单,根据多个资源持有者发送的任务清单构建任务关系图,任务关系图为有向无环图,任务关系图中一个顶点代表一个任务,不同顶点之间的有向边代表不同任务之间的依赖关系;
[0006]任务协调器的调度器接收开机指令或关机指令;
[0007]任务协调器的调度器根据开机指令或关机指令从管理器获取任务关系图,根据任务关系图得到任务执行顺序,有依赖关系的两个任务中先执行被依赖的任务;
[0008]调度器根据任务执行顺序向各个资源持有者的执行器发送触发指令,以使得执行器根据触发指令执行任务。
[0009]基于本申请实施例第一方面,本申请实施例第一方面的第一种实现方式中,任务协调器的调度器根据任务关系图得到任务执行顺序,具体包括:
[0010]计算任务关系图中所有顶点的入度,将所有入度为0的顶点确定为目标顶点,将目标顶点添加到拓扑排序结果数组;
[0011]将目标顶点以及与目标顶点相连的有向边从任务关系图中删除;
[0012]判断任务关系图是否存在顶点;
[0013]若任务关系图存在顶点,则跳转执行计算任务关系图中所有顶点的入度的步骤;
[0014]若任务关系图不存在顶点,则根据拓扑排序结果数组得到任务执行顺序。
[0015]基于本申请实施例第一方面或第一方面的第一种实现方式,本申请实施例第一方面的第二种实现方式中,将所有入度为0的顶点确定为目标顶点,将目标顶点添加到拓扑排序结果数组,具体包括:
[0016]将所有入度为0的顶点压入拓扑排序辅助栈;
[0017]取出拓扑排序辅助栈栈顶的顶点,并确定为目标顶点,将目标顶点添加到拓扑排
序结果数组;
[0018]判断拓扑排序辅助栈是否存在顶点;
[0019]若拓扑排序辅助栈存在顶点,则跳转执行取出拓扑排序辅助栈栈顶的顶点的步骤;
[0020]若拓扑排序辅助栈不存在顶点,则跳出循环。
[0021]基于本申请实施例第一方面、第一方面的第一种实现方式和第二种实现方式任一种,本申请实施例第一方面的第三种实现方式中,将目标顶点添加到拓扑排序结果数组前,所述方法还包括:
[0022]判断拓扑排序结果数组是否存在顶点;
[0023]若拓扑排序结果数组不存在顶点,则将目标顶点确定为第一级别;
[0024]若拓扑排序结果数组存在顶点,则确定拓扑排序结果数组中顶点的最大级别,将目标顶点确定为最大级别的下一级别;
[0025]根据拓扑排序结果数组得到任务执行顺序,具体包括:
[0026]根据拓扑排序结果数组得到任务执行顺序,上一级别的顶点代表的任务优先于下一级别的顶点代表的任务执行。
[0027]基于本申请实施例第一方面、第一方面的第一种实现方式至第三种实现方式任一种,本申请实施例第一方面的第四种实现方式中,调度器根据任务执行顺序向各个资源持有者的执行器发送触发指令,具体包括:
[0028]调度器通过多线程调用,根据任务执行顺序向各个资源持有者的执行器发送触发指令,同时调用的任务属于同一级别。
[0029]基于本申请实施例第一方面、第一方面的第一种实现方式至第四种实现方式任一种,本申请实施例第一方面的第五种实现方式中,若任务关系图存在顶点,则跳转执行计算任务关系图中所有顶点的入度的步骤,具体包括:
[0030]若任务关系图存在顶点,则判断任务关系图是否存在入度为0的顶点;
[0031]若任务关系图不存在入度为0的顶点,则输出报警信息,报警信息用于提示任务关系图为有环图;
[0032]若任务关系图存在入度为0的顶点,则跳转执行计算任务关系图中所有顶点的入度的步骤。
[0033]基于本申请实施例第一方面、第一方面的第一种实现方式至第五种实现方式任一种,本申请实施例第一方面的第六种实现方式中,根据多个资源持有者发送的任务清单构建任务关系图后,所述方法还包括:
[0034]获取分布式系统的执行记录;
[0035]根据执行记录确定执行各个任务所需的目标时长;
[0036]根据目标时长为有向边赋予权值,有向边的权值与有向边终点所代表的任务的目标时长相关;
[0037]任务协调器的调度器接收开机指令或关机指令后,所述方法还包括;
[0038]根据有向边的权值计算开机时长或关机时长。
[0039]本申请实施例第二方面提供了一种分布式系统的控制方法,应用于资源持有者,包括:
[0040]资源持有者的扫描器扫描资源持有者的任务,将任务标识发送到资源持有者的注册器;
[0041]注册器接收扫描器发送的任务标识,将任务标识编辑得到任务清单;
[0042]注册器将任务清单发送到任务协调器的管理器,以使得任务协调器根据多个资源持有者的注册器发送的任务清单构建任务关系图,并根据任务关系图得到任务执行顺序,有依赖关系的两个任务中先执行被依赖的任务,任务关系图为有向无环图,任务关系图中一个顶点代表一个任务,不同顶点之间的有向边代表不同任务之间的依赖关系;
[0043]资源持有者的执行器接收任务协调器根据任务执行顺序发送的触发指令;
[0044]执行器根据触发指令执行任务。
[0045]本申请实施例第三方面提供了一种分布式系统的控制方法,包括:
[0046]资源持有者的扫描器扫描资源持有者的任务,将任务标识发送到资源持有者的注册器;
[0047]注册器接收扫描器发送的任务标识,将任务标识编辑得到任务清单;
[0048]注册器将任务清单发送到任务协调器的管理器;
[0049]管理器接收多个资源持有者的注册器发送的任务清单,根据多个注册器发送的任务清单构建任务关系图,任务关系图为有向无环图,任务关系图中一个顶点代表一个任务,不同顶点之间的有向边代表不同任务之间的依赖关系;
[0050]任务协调器的调度器接收开机指令或关机指令;
[0051]任务协调器的调度器根据开机指令或关机指令从管理器获取任务关系图,根据任务关系图得到任务执行顺序,有依赖关系的两个任务先执行被依赖的任务;...

【技术保护点】

【技术特征摘要】
1.一种分布式系统的控制方法,其特征在于,应用于任务协调器,包括:任务协调器的管理器接收多个资源持有者发送的任务清单,根据多个资源持有者发送的任务清单构建任务关系图,任务关系图为有向无环图,任务关系图中一个顶点代表一个任务,不同顶点之间的有向边代表不同任务之间的依赖关系;任务协调器的调度器接收开机指令或关机指令;任务协调器的调度器根据开机指令或关机指令从管理器获取任务关系图,根据任务关系图得到任务执行顺序,有依赖关系的两个任务中先执行被依赖的任务;调度器根据任务执行顺序向各个资源持有者的执行器发送触发指令,以使得执行器根据触发指令执行任务。2.根据权利要求1所述的分布式系统的控制方法,其特征在于,任务协调器的调度器根据任务关系图得到任务执行顺序,具体包括:计算任务关系图中所有顶点的入度,将所有入度为0的顶点确定为目标顶点,将目标顶点添加到拓扑排序结果数组;将目标顶点以及与目标顶点相连的有向边从任务关系图中删除;判断任务关系图是否存在顶点;若任务关系图存在顶点,则跳转执行计算任务关系图中所有顶点的入度的步骤;若任务关系图不存在顶点,则根据拓扑排序结果数组得到任务执行顺序。3.根据权利要求2所述的分布式系统的控制方法,其特征在于,将所有入度为0的顶点确定为目标顶点,将目标顶点添加到拓扑排序结果数组,具体包括:将所有入度为0的顶点压入拓扑排序辅助栈;取出拓扑排序辅助栈栈顶的顶点,并确定为目标顶点,将目标顶点添加到拓扑排序结果数组;判断拓扑排序辅助栈是否存在顶点;若拓扑排序辅助栈存在顶点,则跳转执行取出拓扑排序辅助栈栈顶的顶点的步骤;若拓扑排序辅助栈不存在顶点,则跳出循环。4.根据权利要求2所述的分布式系统的控制方法,其特征在于,将目标顶点添加到拓扑排序结果数组前,所述方法还包括:判断拓扑排序结果数组是否存在顶点;若拓扑排序结果数组不存在顶点,则将目标顶点确定为第一级别;若拓扑排序结果数组存在顶点,则确定拓扑排序结果数组中顶点的最大级别,将目标顶点确定为最大级别的下一级别;根据拓扑排序结果数组得到任务执行顺序,具体包括:根据拓扑排序结果数组得到任务执行顺序,上一级别的顶点代表的任务优先于下一级别的顶点代表的任务执行。5.根据权利要求4所述的分布式系统的控制方法,其特征在于,调度器根据任务执行顺序向各个资源持有者的执行器发送触发指令,具体包括:调度器通过多线程调用,根据任务执行顺序向各个资源持有者的执行器发送触发指令,同时调用的任务属于同一级别。
6.根据权利要求1所述的分布式系统的控制方法,其特征在于,...

【专利技术属性】
技术研发人员:杨向军
申请(专利权)人:招银云创信息技术有限公司
类型:发明
国别省市:

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

1