一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种服务调度方法、装置、设备及存储介质与流程

2022-11-23 16:25:57 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特别涉及一种服务调度方法、装置、设备及存储介质。


背景技术:

2.当前,基于对系统可靠性、高并发等方面的需求,分布式集群的应用越来越普遍。在多节点的分布式集群中,各个节点的资源状态存在差异,当新请求到来时,选择哪个节点去执行,需要有专门的调度服务负责,这对任何集群都是不可或缺的。因此,如何调度服务成为一个越来越重要的课题。
3.要达到合理的调度服务,首先,需要对各个节点的资源使用情况,例如,需要对各节点的cpu(central processing unit,中央处理器)、mem(memory,内存)、硬盘、带宽等资源进行监控,对资源进行监控是执行服务调度的基础,否则,如果节点的资源在占用过高的情况下还给该节点分配新的请求,就可能导致请求失败,甚至可能导致整个集群出现宕机;其次,要有合理的调度方法,保证每个新的请求都在资源最充裕的节点上执行,既保证了请求的快速响应,又做到了集群的负载均衡。然而,现有成熟的分布式集群架构中,均已集成了资源监控的元件,但是缺点也非常明显,首先所监控的内容更偏重于服务,而不是节点;其次扩展性不强,只能监控指定的固定指标,要做定制化监控几乎不可能。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种服务调度方法、装置、设备及存储介质,能够提升分布式集群的服务调度管理的智能化。其具体方案如下:
5.第一方面,本技术公开了一种服务调度方法,包括:
6.接收各节点发送的trap消息,其中,所述trap消息包含所述节点收集的自身的资源信息;
7.对所述trap消息中的所述资源信息进行汇总分析以判断所有所述节点的资源占用状态是否为占用过高状态;
8.如果否,则确定出所述资源占用状态为所述占用过高状态的第一目标节点,并将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目标节点上。
9.可选的,所述接收各节点发送的trap消息之前,还包括:
10.利用预设的加密算法对所述trap消息进行加密,得到加密后trap消息;
11.相应的,所述接收各节点发送的trap消息,包括:
12.接收各节点发送的所述加密后trap消息。
13.可选的,所述利用预设的加密算法对所述trap消息进行加密,得到加密后trap消息,包括:
14.利用预设的加密算法对所述trap消息对应的预设消息格式中的团体名和协议数
据单元进行加密,得到加密后trap消息。
15.可选的,所述将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目标节点上之前,还包括:
16.根据各所述节点对应的各子资源指标的可用资源状况对各所述节点进行排序,得到各所述子资源指标对应的节点排序结果;
17.根据所述节点排序结果选取出预设排序位置的各所述子资源指标对应的第三目标节点;
18.判断各所述子资源指标对应的所述第三目标节点中是否存在相同节点;
19.如果各所述子资源指标对应的所述第三目标节点中存在相同节点,则从各所述子资源指标对应的所述第三目标节点中确定出所述相同节点,并将所述相同节点确定为所述资源占用状态为非过高状态的第二目标节点。
20.可选的,所述判断各所述子资源指标对应的所述第三目标节点中是否存在相同节点之后,还包括:
21.如果各所述子资源指标对应的所述第三目标节点中不存在所述相同节点,则对各所述节点对应的各所述子资源指标进行加权运算得到各所述节点对应的计算结果;
22.将数值最高的所述计算结果对应的节点确定为所述资源占用状态处于非过高状态的第二目标节点。
23.可选的,所述对各所述节点对应的各所述子资源指标进行加权运算得到各所述节点对应的计算结果,包括:
24.确定调度请求对应的请求类型,并确定出所述请求类型对各所述子资源指标的依赖程度;所述调度请求为将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目标节点上对应的请求;
25.基于所述依赖程度确定各所述节点的各所述子资源指标对应的加权值;
26.基于各所述子资源指标对应的节点总数和所述节点排序结果确定出各所述节点对应的各所述子资源指标的实际取值;
27.利用所述加权值对各所述子资源指标的所述实际取值进行加权运算得到各所述节点对应的计算结果。
28.可选的,所述对所述trap消息中的所述资源信息进行汇总分析以判断所有所述节点的资源占用状态是否为占用过高状态之后,还包括:
29.如果所有所述节点的所述资源占用状态为所述占用过高状态,则判定当前集群业务量过大,并产生提示对当前所述集群进行扩容的告警信息。
30.第二方面,本技术公开了一种服务调度装置,包括:
31.消息接收模块,用于接收各节点发送的trap消息,其中,所述trap消息包含所述节点收集的自身的资源信息;
32.信息分析模块,用于对所述trap消息中的所述资源信息进行汇总分析以判断所有所述节点的资源占用状态是否为占用过高状态;
33.服务调度模块,用于当所有所述节点的资源占用状态非占用过高状态,则确定出所述资源占用状态为所述占用过高状态的第一目标节点,并将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目标节点上。
34.第三方面,本技术公开了一种电子设备,包括:
35.存储器,用于保存计算机程序;
36.处理器,用于执行所述计算机程序,以实现前述公开的服务调度方法的步骤。
37.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的服务调度方法的步骤。
38.可见,本技术提供了一种服务调度方法,包括:接收各节点发送的trap消息,其中,所述trap消息包含所述节点收集的自身的资源信息;对所述trap消息中的所述资源信息进行汇总分析以判断所有所述节点的资源占用状态是否为占用过高状态;如果否,则确定出所述资源占用状态为所述占用过高状态的第一目标节点,并将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目标节点上。由此可知,本技术接收各节点发送的trap消息,也即,以trap消息的方式上报资源信息,更便于对分布式集群内的所有节点进行资源监控,进而判断所有节点的资源占用是否都过高,若存在部分第一目标节点资源占用过高,则将资源占用过高的第一目标节点内运行的服务调度至资源占用非过高的第二目标节点上,从而提升分布式集群的服务调度管理的智能化。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
40.图1为本技术公开的一种服务调度方法流程图;
41.图2为本技术公开的一种具体的分布式集群组网示意图;
42.图3为本技术公开的一种消息加密示意图;
43.图4为本技术公开的一种资源信息上报示意图;
44.图5为本技术公开的一种节点资源占用状况判断示意图;
45.图6为本技术公开的一种具体的服务调度方法流程图;
46.图7为本技术公开的一种资源拆分和节点排序示意图;
47.图8为本技术公开的一种子资源指标扩展示意图;
48.图9为本技术公开的一种具体的服务调度方法流程图;
49.图10为本技术公开的一种服务调度装置结构示意图;
50.图11为本技术公开的一种电子设备结构图。
具体实施方式
51.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.当前,现有技术中,现有成熟的分布式集群架构中,均已集成了资源监控的元件,但是缺点也非常明显,首先所监控的内容更偏重于服务,而不是节点;其次扩展性不强,只
能监控指定的固定指标,要做定制化监控几乎不可能。为此,本技术提供了一种服务调度方案,提升分布式集群的服务调度管理的智能化。
53.本发明实施例公开了一种服务调度方法,参见图1所示,该方法包括:
54.步骤s11:接收各节点发送的trap消息,其中,所述trap消息包含所述节点收集的自身的资源信息。
55.本实施例中,主节点接收其他节点发送的trap消息,该trap消息包含节点自身收集的资源信息。例如,如图2所示,在分布式集群中,除主节点之外的其他节点则作为客户端(即agent端),收集自身的资源信息后,并将该资源信息上报给主节点,主节点为集群服务所在的节点,并作为服务端(即server端),在接收其他节点上报的资源信息时,还会监控自身的资源信息并上报。
56.需要指出的是,snmp(simple network management protocol,简单网络管理协议)经过多年发展,已成为业界公认的普遍使用的标准协议,在适配上没有问题,另外,trap方式以主动上报的方式,多用于上报告警,较适合针对于系统资源的上报,基于snmp trap协议的在分布式集群内对所有节点进行资源监控的方法,扩展性强,且优化流程,降低带宽。
57.本实施例中,所述接收各节点发送的trap消息之前,也就是说,其他节点收集自身的资源信息生成相应trap消息之后,各其他节点都利用预设的加密算法对所述trap消息进行加密,得到加密后trap消息;然后再将加密后trap消息上报至主节点,也即主节点接收各节点发送的所述加密后trap消息。可以理解的是,snmp trap v2采用明文的方式传递消息,安全隐患较大,因此,引入利用预设加密算法对trap消息进行加密的方法,在保证安全性的同时,还能够防止trap消息被伪造,即对团体名和pdu(protocol data unit,协议数据单元)均加密。具体的,利用预设的加密算法对所述trap消息对应的预设消息格式中的团体名和协议数据单元进行加密,得到加密后trap消息。例如,如图3所示,利用aes(advanced encryption standard,高级加密标准)对称加密算法对团体名和pdu均加密,如果只对团体名加密,则可能导致消息被伪造,团体名被照搬,pdu随意修改,所以对团体名和pdu分别加密,保证安全性,但是需要提前为各个节点预置aes密钥,且妥善保管,防止被窃取。也就是说,对snmp trap消息做一定的安全优化,能够提升消息的安全性。
58.步骤s12:对所述trap消息中的所述资源信息进行汇总分析以判断所有所述节点的资源占用状态是否为占用过高状态。
59.本实施例中,主节点接收到其他节点发送的trap消息之后,对所述trap消息中的所述资源信息进行汇总分析,然后判断所有所述节点的资源占用状态是否为占用过高状态,也就是说,server端对接收的trap消息进行解析,汇总所有agent信息并进行分析。例如,如图4所示,agent端的agent节点定时触发,agent端收集自身的资源信息,并向server端发送trap消息,该trap消息包含自身的资源信息,然后server端对接收的trap消息进行解析,汇总所有agent端收集到的trap信息并进行分析,也就是说,server端的主节点通过分析收集到trap消息,判断所有节点的资源占用是否都高,也即,所有所述节点的资源占用状态是否为占用过高状态。
60.步骤s13:如果否,则确定出所述资源占用状态为所述占用过高状态的第一目标节点,并将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目
标节点上。
61.本实施例中,判断所有所述节点的资源占用状态是否为占用过高状态时,如果所有所述节点的资源占用状态非占用过高状态时,则确定出所述资源占用状态为所述占用过高状态的第一目标节点,并将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目标节点上,如果所有所述节点的所述资源占用状态为所述占用过高状态,则判定当前集群业务量过大,并产生提示对当前所述集群进行扩容的告警信息。例如,如图5所示,判断所有节点的资源是否占用过高,如果所有所述节点的资源占用都高,表明各节点的业务量过大,当前集群的整体资源不足,进而产生告警,提示所有节点的资源占用过高,并进行扩容,也就是说,增加节点数以降低各节点的资源占用;如果所有所述节点的资源占用并非都高,进而针对单个节点进行判断,判断单个节点是否资源占用过高,如果当前的单个节点为资源占用过高,则表明该单个节点的业务量过大,并产生提示当前的所述单个节点资源占用过高的告警信息,然后在分布式集群内进行资源调度,也即,将资源占用过高的节点内运行的服务调度至其他资源占用并不过高的节点上,以降低该节点的资源占用。
62.可见,本技术实施例中接收各节点发送的trap消息,也即,以trap消息的方式上报资源信息,更便于对分布式集群内的所有节点进行资源监控,进而判断所有节点的资源占用是否都过高,若存在部分第一目标节点资源占用过高,则将资源占用过高的第一目标节点内运行的服务调度至资源占用非过高的第二目标节点上,从而提升分布式集群的服务调度管理的智能化。
63.参见图6所示,本发明实施例公开了一种具体的服务调度方法,相较于上一实施例,本实施例对技术方案作了进一步的说明和优化。
64.步骤s21:接收各节点发送的trap消息,其中,所述trap消息包含所述节点收集的自身的资源信息。
65.步骤s22:对所述trap消息中的所述资源信息进行汇总分析以判断所有所述节点的资源占用状态是否为占用过高状态。
66.步骤s23:如果否,则确定出所述资源占用状态为所述占用过高状态的第一目标节点。
67.步骤s24:根据各所述节点对应的各子资源指标的可用资源状况对各所述节点进行排序,得到各所述子资源指标对应的节点排序结果。
68.本实施例中,在所有所述节点的资源占用状态并非都为占用过高状态时,确定出资源占用状态处于占用过高状态的第一目标节点后,需要将这些第一目标节点内运行的服务调度的到资源占用状态为非占用过高状态的第二目标节点上,为此,需要确定出这些第二目标节点,首先,根据各所述节点对应的各子资源指标的可用资源状况对各所述节点进行排序,得到各所述子资源指标对应的节点排序结果。可以理解的是,将所有资源进行拆分,确定出各子资源指标,各所述节点对应的各子资源指标的可用资源状况可以根据trap中的资源信息进行分析确定,然后根据各节点的各子资源指标的可用资源状态对各所述节点进行排序,得到各所述子资源指标对应的节点排序结果。
69.步骤s25:根据所述节点排序结果选取出预设排序位置的各所述子资源指标对应的第三目标节点。
70.本实施例中,根据各节点的各子资源指标的可用资源状态对各所述节点进行排序之后,则根据节点排序结果选取出预设排序位置的各所述子资源指标对应的第三目标节点。可以理解的是,每个子资源指标下都对应一个节点排序结果,也就是说,在每个子资源指标下,根据节点对应于该子资源指标的可用资源状况进行排序,得到每个节点在该子资源指标下的排序结果,然后选取出各子资源指标中预设排序位置的一些节点,该节点就确定为第三目标节点。
71.步骤s26:判断各所述子资源指标对应的所述第三目标节点中是否存在相同节点。
72.本实施例中,根据所述节点排序结果选取出预设排序位置的各所述子资源指标对应的第三目标节点之后,进而判断各所述子资源指标对应的所述第三目标节点中是否存在相同节点。例如,对选取出的预设排序位置的各所述子资源对应的第三目标节点进行取交集运算以判断各所述子资源指标对应的所述第三目标节点中是否存在相同节点。
73.步骤s27:如果各所述子资源指标对应的所述第三目标节点中存在相同节点,则从各所述子资源指标对应的所述第三目标节点中确定出所述相同节点,并将所述相同节点确定为所述资源占用状态为非过高状态的第二目标节点。
74.本实施例中,在对选取出的预设排序位置的各所述子资源对应的第三目标节点进行取交集运算时,如果能够取到交集,则表明各所述子资源指标对应的所述第三目标节点中存在相同节点,就将所述相同节点确定为所述资源占用状态为非过高状态的第二目标节点,所述第二目标节点的个数可以是一个或多个,所述第二目标节点即为当前分布式集群中用于接收资源占用过高的节点内运行内的服务的最优节点。
75.例如,如图7所示,将所有资源进行拆分,得到cpu、mem、硬盘空间、带宽四个子资源指标然后根据trap消息中的资源信息,依据各所述节点的所述子资源指标对应的可用资源状态对各所述节点进行排序,然后从每个子资源指标对应的节点排序结果中选取排位前三的节点,子资源指标对应的预设排序位置为前三的节点即为各子资源指标对应的第三目标节点,然后各子资源指标之间的第三目标节点取交集,如果能取到交集,即各子资源指标之间的第三目标节点中存在相同节点,所述相同节点可作为接收新请求的最优解节点。如果有多个相同节点,则随机选取其中一个接收新请求即可。也就是说,本技术通过分治算法对节点所有资源进行拆分,在单个资源的情况下,获取最优解的节点。
76.需要指出的是,上述子资源指标也可以进行再扩展,如图8所示,通过新增oid(object identifier,对象标识符)的方式,即可任意扩展资源指标,其中,所述oid的实际取值,需按国际规则实际分配全球唯一值,例如,oid-cpu:获取cpu使用率,oid-mem:获取内存使用率,oid-disk:获取硬盘占用率,oid-band:获取带宽使用率。或者按照实际业务的需求,对资源指标类型进行扩展,也就是说,通过新增oid或者按照实际业务需求的方式便于增减子资源指标。并且上述各子资源指标对应的底层采集命令分别可以为:cpu对应的采集命令为top,mem对应的采集命令为free,硬盘对应的采集命令为df,带宽对应的采集命令为iftop。
77.步骤s28:将所述第一目标节点内运行的服务调度至所述资源占用状态为所述非过高状态的所述第二目标节点上。
78.关于上述步骤s21至步骤s23以及步骤s28的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
79.可见,本技术实施例中接收各节点发送的trap消息,也即,以trap消息的方式上报资源信息,更便于对分布式集群内的所有节点进行资源监控,进而判断所有节点的资源占用是否都过高,若存在部分第一目标节点资源占用过高,则将资源占用过高的第一目标节点内运行的服务调度至资源占用非过高的第二目标节点上,并且依据分治算法和加权计算,将资源情况进行分析处理,获取最优解的节点,从而提升分布式集群的服务调度管理的智能化,并提升功能的可扩展性,增减指标更便捷。
80.参见图9所示,本发明实施例公开了一种具体的服务调度方法,相较于上一实施例,本实施例对技术方案作了进一步的说明和优化。
81.步骤s31:接收各节点发送的trap消息,其中,所述trap消息包含所述节点收集的自身的资源信息。
82.步骤s32:对所述trap消息中的所述资源信息进行汇总分析以判断所有所述节点的资源占用状态是否为占用过高状态。
83.步骤s33:如果否,则确定出所述资源占用状态为所述占用过高状态的第一目标节点。
84.步骤s34:根据各所述节点对应的各子资源指标的可用资源状况对各所述节点进行排序,得到各所述子资源指标对应的节点排序结果;。
85.步骤s35:根据所述节点排序结果选取出预设排序位置的各所述子资源指标对应的第三目标节点。
86.步骤s36:判断各所述子资源指标对应的所述第三目标节点中是否存在相同节点。
87.步骤s37:如果各所述子资源指标对应的所述目标节点中不存在所述相同节点,则对各所述节点对应的各所述子资源指标进行加权运算得到各所述节点对应的计算结果。
88.本实施例中,判断各所述子资源指标对应的所述第三目标节点中是否存在相同节点时,如果各所述子资源指标对应的所述目标节点中不存在所述相同节点,则对各所述节点对应的各所述子资源指标进行加权运算得到各所述节点对应的计算结果,具体的,确定调度请求对应的请求类型,并确定出所述请求类型对各所述子资源指标的依赖程度;所述调度请求为将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目标节点上对应的请求;基于所述依赖程度确定各所述节点的各所述子资源指标对应的加权值;基于各所述子资源指标对应的节点总数和所述节点排序结果确定出各所述节点对应的各所述子资源指标的实际取值;利用所述加权值对各所述子资源指标的所述实际取值进行加权运算得到各所述节点对应的计算结果。例如,当前存在将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目标节点上调度请求,然后判断该调用请求的请求类型,然后确定该请求类型对个所述子资源指标的依赖程度,基于该依赖程度确定出各所述节点的各所述子资源指标对应的加权值,例如,子资源指标cpu对应的加权值为weight
cpu
、子资源指标mem对应的加权值为weight
mem
、子资源指标硬盘空间对应的加权值为weight
dis
、子资源指标带宽对应的加权值为weight
bandwidth
、其中,各子资源指标对应的加权值的总和为1,如:weigh
tcpu
weight
mem
weight
disk
weight
bandwidth
=100%。在计算当前节点对应的各所述子资源指标的实际取值时,假设当前节点的各子资源指标下对应的节点总数为n个,在子资源指标cpu的排名中,当前节点的排名第2,则当前节点针对cpu子资源指标的取值即为n-2,由此计算出每个节点对应的各所述子资源指标的实际取值,如,cpu
的实际取值value
cpu
、mem的实际取值value
mem
、硬盘空间的实际取值value
disk
、带宽的实际取值value
bandwidth
,进而根据当前节点的各子资源指标的加权值和实际取值确定出当前节点加权后的取值为:value
cpu
*weight
cpu
value
mem
*weight
mem
value
disk
*weight
disk
value
bandwidth
*weight
bandwidth
,根据这种方式计算出所有节点加权后的计算结果后,按照这个计算结果的数值对所有节点进行排序,将排序中数值最高的节点确定为最优解节点,即第二目标节点
89.步骤s38:将数值最高的所述计算结果对应的节点确定为所述资源占用状态处于非过高状态的第二目标节点。
90.本实施例中,在各所述子资源指标对应的所述目标节点中不存在所述相同节点,然后对各所述节点对应的各所述子资源指标进行加权运算得到各所述节点对应的计算结果时,将数值最高的所述计算结果对应的节点确定为所述资源占用状态处于非过高状态的第二目标节点。也就是说,按照这个计算结果的数值对所有节点进行排序,将排序中数值最高的节点确定为最优解节点,即所述资源占用状态处于非过高状态的第二目标节点。
91.步骤s39:将所述第一目标节点内运行的服务调度至所述资源占用状态为所述非过高状态的所述第二目标节点上。
92.关于上述步骤s31至步骤s36以及步骤s39的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
93.可见,本技术实施例中接收各节点发送的trap消息,也即,以trap消息的方式上报资源信息,更便于对分布式集群内的所有节点进行资源监控,进而判断所有节点的资源占用是否都过高,若存在部分第一目标节点资源占用过高,则将资源占用过高的第一目标节点内运行的服务调度至资源占用非过高的第二目标节点上,并且依据分治算法和加权计算,将资源情况进行分析处理,获取最优解的节点,从而提升分布式集群的服务调度管理的智能化,并提升功能的可扩展性,增减指标更便捷。
94.相应的,本技术实施例还公开了一种服务调度装置,参见图10所示,该装置包括:
95.消息接收模块11,用于接收各节点发送的trap消息,其中,所述trap消息包含所述节点收集的自身的资源信息;
96.信息分析模块12,用于对所述trap消息中的所述资源信息进行汇总分析以判断所有所述节点的资源占用状态是否为占用过高状态;
97.服务调度模块13,用于当所有所述节点的资源占用状态非占用过高状态,则确定出所述资源占用状态为所述占用过高状态的第一目标节点,并将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目标节点上。
98.由上可见,本技术实施例中接收各节点发送的trap消息,也即,以trap消息的方式上报资源信息,更便于对分布式集群内的所有节点进行资源监控,进而判断所有节点的资源占用是否都过高,若存在部分第一目标节点资源占用过高,则将资源占用过高的第一目标节点内运行的服务调度至资源占用非过高的第二目标节点上,从而提升分布式集群的服务调度管理的智能化。
99.在一些具体的实施例中,所述服务调度装置,具体可以包括:
100.消息加密模块,用于利用预设的加密算法对所述trap消息进行加密,得到加密后trap消息;
101.在一些具体的实施例中,所述消息接收模块11,具体可以包括:
102.消息接收单元,用于接收各节点发送的所述加密后trap消息。
103.在一些具体的实施例中,所述消息加密模块,具体可以包括:
104.消息加密单元,用于利用预设的加密算法对所述trap消息对应的预设消息格式中的团体名和协议数据单元进行加密,得到加密后trap消息。
105.在一些具体的实施例中,所述服务调度装置,具体可以包括:
106.节点排序模块,用于根据各所述节点对应的各子资源指标的可用资源状况对各所述节点进行排序,得到各所述子资源指标对应的节点排序结果;
107.目标节点选取模块,用于根据所述节点排序结果选取出预设排序位置的各所述子资源指标对应的第三目标节点;
108.判断模块,用于判断各所述子资源指标对应的所述第三目标节点中是否存在相同节点;
109.相同节点确定模块,用于当各所述子资源指标对应的所述第三目标节点中存在相同节点时,则从各所述子资源指标对应的所述第三目标节点中确定出所述相同节点,并将所述相同节点确定为所述资源占用状态为非过高状态的第二目标节点。
110.在一些具体的实施例中,所述判断各所述子资源指标对应的所述第三目标节点中是否存在相同节点之后,具体可以包括:
111.加权运算模块,用于当各所述子资源指标对应的所述目标节点中不存在相同节点时,则对各所述节点对应的各所述子资源指标进行加权运算得到各所述节点对应的计算结果;
112.目标节点确定模块,用于将数值最高的所述计算结果对应的节点确定为所述资源占用状态处于非过高状态的第二目标节点。
113.在一些具体的实施例中,所述加权运算模块,具体可以包括:
114.请求类型确定单元,用于确定调度请求对应的请求类型;
115.依赖程度确定单元,用于确定出所述请求类型对各所述子资源指标的依赖程度;所述调度请求为将所述第一目标节点内运行的服务调度至所述资源占用状态为非过高状态的第二目标节点上对应的请求;
116.加权值确定单元,用于基于所述依赖程度确定各所述节点的各所述子资源指标对应的加权值;
117.实际取值确定单元,用于基于各所述子资源指标对应的节点总数和所述节点排序结果确定出各所述节点对应的各所述子资源指标的实际取值;
118.加权运算单元,用于利用所述加权值对各所述子资源指标的所述实际取值进行加权运算得到各所述节点对应的计算结果。
119.在一些具体的实施例中,所述服务调度装置,具体可以包括:
120.告警产生单元,用于当所有所述节点的所述资源占用状态为所述占用过高状态时,则判定当前集群业务量过大,并产生提示对当前所述集群进行扩容的告警信息。
121.进一步的,本技术实施例还提供了一种电子设备。图11是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
122.图11为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体
可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的服务调度方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
123.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
124.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
125.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的服务调度方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
126.进一步的,本技术实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的服务调度方法步骤。
127.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
128.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
129.以上对本发明所提供的一种服务调度方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献