一种跨多集群的工作调度方法及装置与流程

文档序号:29161018发布日期:2022-03-09 00:34阅读:261来源:国知局
一种跨多集群的工作调度方法及装置与流程

1.本发明涉及信息处理技术领域,尤其涉及一种跨多集群的工作调度方法及装置。


背景技术:

2.随着云计算技术的发展以及云上应用急速增长,关于多集群的管理和跨集群间调度的研究受到了业界广泛的关注。
3.集群中的工作调度通常被认为是困难决策问题,而多集群的场景使工作调度的问题变得更为复杂。目前,在多集群的场景下,技术人员需要进行重复繁琐的手动测试,并根据请求工作量的特点进行手动操作,才能逐步地完成应用在集群间的分发和调度,调度效率较低。
4.因此,如何更好地自动化实现跨多集群的工作调度已成为业界亟待解决的问题。


技术实现要素:

5.本发明提供一种跨多集群的工作调度方法及装置,用以更好地自动化实现跨多集群的工作调度。
6.本发明实施例提供一种跨多集群的工作调度方法,包括:
7.接收目标应用的工作请求;
8.基于所述目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行多维度分析,从各个所述工作集群服务器中确定目标工作集群服务器,其中,所述多维度分析包括容量分析、负载分析和资源拓扑分析中的至少一项;
9.调度所述目标工作集群服务器处理所述目标应用的工作请求。
10.根据本发明实施例提供的一种跨多集群的工作调度方法,所述基于所述目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行多维度分析,确定目标工作集群服务器,包括:
11.基于所述目标应用的工作请求,对各个所述工作集群服务器的运行数据信息进行容量分析、负载分析和资源拓扑分析,从各个所述工作集群服务器中确定多个候选工作集群服务器;
12.对各个所述候选工作集群服务器的运行数据信息进行目标数据分析,从各个所述候选工作集群服务器中确定所述目标工作集群服务器,其中,所述目标数据分析包括所述容量分析、所述负载分析和所述资源拓扑分析中的一项。
13.根据本发明实施例提供的一种跨多集群的工作调度方法,所述基于所述目标应用的工作请求,对各个所述工作集群服务器的运行数据信息进行容量分析、负载分析和资源拓扑分析,从各个所述工作集群服务器中确定多个候选工作集群服务器,包括:
14.基于所述目标应用的工作请求,对每个所述工作集群服务器的运行数据信息分别进行容量分析、负载分析和资源拓扑分析,确定满足所述目标应用的工作请求的多组运行数据信息;
15.基于所述多组运行数据信息,确定多个候选工作集群服务器,其中,每组运行数据信息对应一个候选工作集群服务器。
16.根据本发明实施例提供的一种跨多集群的工作调度方法,所述对各个所述候选工作集群服务器的运行数据信息进行目标数据分析,从各个所述候选工作集群服务器中确定所述目标工作集群服务器,包括:
17.对每个所述候选工作集群服务器的运行数据信息进行目标数据分析,从各个所述运行数据信息中确定目标运行数据信息;
18.基于所述目标运行数据信息对应的所述候选工作集群服务器,确定所述目标工作集群服务器。
19.根据本发明实施例提供的一种跨多集群的工作调度方法,所述目标数据分析包括容量分析,相应的,所述对每个所述候选工作集群服务器的运行数据信息进行目标数据分析,从各个所述运行数据信息中确定目标运行数据信息,包括:
20.对每个所述候选工作集群服务器的运行数据信息的容量信息进行所述容量分析,确定容量剩余资源最多的候选工作集群服务器;
21.所述基于所述目标运行数据信息对应的所述候选工作集群服务器,确定所述目标工作集群服务器包括:
22.在存在一个所述容量剩余资源最多的候选工作集群服务器的情况下,将所述容量剩余资源最多的候选工作集群服务器作为所述目标工作集群服务器;
23.或者,
24.在存在多个所述容量剩余资源最多的候选工作集群服务器的情况下,从多个所述容量剩余资源最多的候选工作集群服务器中,随机选则一个候选工作集群服务器作为所述目标工作集群服务器。
25.根据本发明实施例提供的一种跨多集群的工作调度方法,在所述接收目标应用的工作请求之后,还包括:
26.在基于所述目标应用的工作请求,无法确定所述目标工作集群服务器的情况下,重试对各个所述工作集群服务器上报的运行数据信息进行多维度分析,从各个所述工作集群服务器中确定所述目标工作集群服务器。
27.本发明实施例还提供的一种跨多集群的工作调度装置,包括:
28.接收模块,用于接收目标应用的工作请求;
29.分析模块,用于基于所述目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行多维度分析,从各个所述工作集群服务器中确定目标工作集群服务器,其中,所述多维度分析包括容量分析、负载分析和资源拓扑分析中的至少一项;
30.调度模块,用于调度所述目标工作集群服务器处理所述目标应用的工作请求。
31.本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述跨多集群的工作调度方法的步骤。
32.本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述跨多集群的工作调度方法的步骤。
33.本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被
处理器执行时实现如上述任一种所述跨多集群的工作调度方法的步骤。
34.本发明实施例提供的一种跨多集群的工作调度方法及装置,通过接收目标应用的工作请求,基于目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行容量分析、负载分析和资源拓扑分析,筛选出满足目标应用工作请求的工作集群服务器,进一步对这些筛选出的工作集群服务器进行容量分析、负载分析或资源拓扑分析,确定出最优的目标工作集群服务器,调度目标工作集群服务器处理目标应用的工作请求,从而能够适应多集群下的各种工作请求场景的变化,并使集群调度系统能够始终保持良好的性能。
附图说明
35.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1是现有技术中单集群场景下的调度流程示意图;
37.图2是本发明实施例提供的跨多集群的工作调度方法的场景拓扑示意图之一;
38.图3是本发明实施例提供的跨多集群的工作调度方法的流程示意图;
39.图4是本发明实施例提供的跨多集群的工作调度方法的场景拓扑示意图之二;
40.图5是本发明实施例提供的跨多集群的工作调度方法的场景拓扑示意图之三;
41.图6是本发明实施例提供的跨多集群的工作调度装置的结构示意图;
42.图7是本发明实施例提供的电子设备的结构示意图。
具体实施方式
43.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.下面结合图1-图7描述本发明实施例提供的跨多集群的工作调度方法及装置。
45.需要说明的是,kubernetes是google基于borg开发的一种管理容器化应用程序开源系统。kubernetes基于良好的容器环境和调度能力,方便集群节点的扩展和收缩管理,使得kubernetes在近年来变得炙手可热,并被众多行业实体采用,目前,kubernetes已成长为容器管理领域的实施标准。
46.目前,kube-scheduler是kubernetes集群的默认调度器,用于根据各种调度算法将工作负载绑定到最合适的工作节点。
47.图1是现有技术中单集群场景下的调度流程示意图,如图1所示,当有工作请求进入调度控制器后,会触发如图1所示的调度过程,整个调度过程通常分为两个阶段:过滤阶段和打分阶段。
48.在过滤阶段中,调度控制器将在所有节点中过滤掉不符合条件的工作节点,初筛出所有满足调度需求的工作节点,得到初筛节点,这属于强制性规则。这一阶段得到的所有满足要求的候选节点将被记录成一个列表并进入打分阶段,进行打分排序,得到最优选择
的工作节点。如果所有节点都不能通过初筛,无法获取候选节点,即列表为空,那么容器会一直处于待定(pending)状态,此时调度器会不断的重试过滤,直到有工作节点满足条件。例如,某个工作节点的资源不足以满足应用工作的需要。一般来说,过滤函数会检查候选节点的可用资源能否满足调度任务的资源请求。
49.在打分阶段中,根据当前启用的打分规则,对候选的工作节点作优先级排名,并最终选择得分最高的节点来部署应用。如果存在多个得分最高的节点,调度器会从中随机选取一个去运行相关工作负载。例如,具有更丰富的资源和更少的负载的节点可能有更高的排名。
50.在传统的资源管理问题中,单个集群中的作业调度的解决方案取决于工作负载和节点状况。在做调度决定时需要考虑的因素包括:单独和整体的资源请求、硬件/软件/策略限制、亲和以及反亲和要求、数据局域性、负载间的干扰等等。单集群中已设计很多调度算法,例如容量调度、拓扑感知调度策略等。这些启发式算法优先考虑通用性、易于理解、便于执行。
51.从云资源故障中恢复的高可用性是云提供商在搭建集群时重点考虑的指标之一。随着云资源市场中用户需求的不断增长以及异地容灾需求,每个地理区域都建设了多个可用集群。多集群能够实现分散化和稳健性,能保证工作负载的多云分布、应用程序的高可用性等,成为了众多企业的搭建主流选择。但是,在传统的kubernetes默认的调度组件中缺少跨集群分发的功能,而联邦集群作为最大的kubernetes开源子项目,也还不是很成熟,实现过程中遇到的各种困难与局限,给多集群管理的发展前景带来了越来越大的不确定性。
52.为此,本发明实施例提供一种跨多集群的工作调度方法及装置,以解决上述相关技术中存在的技术缺陷。
53.图2是本发明实施例提供的跨多集群的工作调度方法的场景拓扑示意图之一,如图2所示,在本发明实施例中,多集群部署的场景中主要包括主集群服务器、主集群服务器中配置的调度控制器和各个工作集群服务器。
54.其中,主集群服务器允许协调多个kubernetes工作集群服务器,其存储有各个工作群集服务器的注册信息;
55.工作集群服务器为参与工作负载的群集,各个工作集群服务器将各自的运行数据信息上报主集群服务器,并接收主集群服务器的调度信息指令;工作集群服务器间主要是遵守特定地域或认证的法规,其中,单个集群服务器可以进行调整,具有高可用性、隔离性和可扩展性等特征,利于开发团队将应用程序部署到隔离的集群中,并有选择性地暴露可用于测试和发布的服务。
56.调度控制器,也称主集群调度器,其是主集群系统的kubernetes控制面的组件,其作用是负责处理工作负载应用的选择分发调度,并将调度结果下发到工作集群服务器,以实现对目标工作集群服务器的调度,是完成多集群工作调度的核心组件。
57.继续参照图2,主集群系统通常是托管在本地云环境中,其起着一些重要主机集群的作用,而其他边缘地区或者混合云环境则起着工作集群的作用。
58.多集群对于确保遵守不同要求和相互冲突的业务非常重要,工作集群服务器定时将各自运行数据信息上报给主集群服务器,主集群服务器可以接收各个工作集群服务器的实时运行数据信息。
59.主集群服务器在收到应用的工作请求时,根据各个工作集群服务器上报的实时运行数据信息,实施应用的分发调度策略,选出符合工作负载条件的最优工作集群服务器。
60.图3是本发明实施例提供的跨多集群的工作调度方法的流程示意图,如图3所示,该方法包括:步骤101、步骤102和步骤103。
61.步骤101,接收目标应用的工作请求;
62.具体地,本发明实施例所描述的目标应用指的是主集群服务器选择处理的应用。
63.本发明实施例所描述的目标应用的工作请求指的是用户向主集群服务器发出的目标应用的数据处理资源请求。其具体可以包括所需容量信息、所需负载信息和所需资源拓扑信息的中的至少一项。
64.在本发明的实施例中,用户可以仅通过与主集群系统进行交互,其余工作集群服务器将受主集群系统中的主集群服务器调度控制,完成运行目标应用的工作负载。
65.当用户向主集群系统申请资源执行目标应用的工作请求时,主集群服务器将接收目标应用的工作请求。
66.步骤102,基于所述目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行多维度分析,从各个所述工作集群服务器中确定目标工作集群服务器,其中,所述多维度分析包括容量分析、负载分析和资源拓扑分析中的至少一项;
67.具体地,本发明实施例所描述的运行数据信息指的是各个工作集群服务器上报给主集群服务器的运行状态数据,其具体可以包括工作集群服务器的容量信息、负载信息和资源拓扑信息等。
68.本发明实施例所描述的多维度分析指的是主集群服务器对各个工作集群服务器上报的运行数据信息进行的多个信息维度的分析,其中,多维度分析包括容量分析、负载分析和资源拓扑分析中的至少一项。
69.本发明实施例所描述的目标工作集群服务器指的是主集群服务器通过对各个工作集群服务器的运行数据信息进行多维度分析,确定的最优工作集群服务器,其用于接受主集群系统中调度控制器的调度,处理目标应用的工作请求。
70.需要说明的是,本发明实施例的工作调度方法,整个工作调度过程也分为两个阶段,即过滤阶段和打分阶段。
71.在本发明的实施例中,容量分析指的是对工作集群服务器的容量信息进行的分析,其属于容量调度策略的重要过程。容量调度策略是kubernetes原生支持的最为通用的策略。在多集群场景下的调度过程中,在过滤阶段,主集群调度程序仅考虑将工作调度到有满足限制条件存储容量的工作集群上。在打分阶段,剩余容量越多的集群得到更高的分数;
72.由于基于目标应用的工作请求所需容量信息,使用容量调度策略时,相较于实际应用工作的容量存在一个浮动范围,当请求的资源容量规划比较多时,工作集群服务器的工作能力被低估,处于低负载,造成资源的浪费;反之,存在过载的风险。因此,容量分析简单高效,成本低,但也牺牲了工作集群的性能,存在低负载和过载的风险。
73.在本发明的实施例中,负载分析指的是通过感知各个工作集群服务器实际资源负载情况而做出的分析,其属于负载感知调度策略的重要过程。在调度过程中,通过不间断地对工作集群内部的cpu/内存等关键资源进行监控,以获取监控数据并实时上报主集群系统中的调度控制器。一般地,负载感知调度策略是根据当前工作最关心的资源指标进行对工
作集群服务器的过滤,选择负载率最低的工作集群服务器。在打分阶段,负载率更低的工作集群服务器,其得分将更高。
74.在本发明的实施例中,资源拓扑分析指的是更关注工作集群服务器之间拓扑关系的分析,其属于拓扑感知调度策略的重要过程。其目的是让应用工作部署在与应用工作属于相同逻辑的工作集群服务器内,使得整个集群内均匀分布。当集群中的可分配资源的累积数量几乎相同时,拓扑感知调度策略会获取资源拓扑信息,以做出分布更均匀的调度决策;
75.在工作调度过程中的过滤阶段,主集群系统中的调度控制器接收到工作集群服务器的拓扑信息,根据可配置的逻辑关系作出约束条件,不断约减以得到最优解。在打分阶段,工作集群的资源均匀度越好,打分分数越高,选择这个集群的可能性就越大。
76.在本发明的实施例中,通过结合容量调度策略、负载感知调度策略和拓扑感知调度策略中各个不同策略的优势,提出一种跨多集群的工作调度的混合策略,即主集群系统中的调度控制器接收目标应用的工作请求后,在调度过程中,根据目标应用工作请求中的所需容量信息、所需负载信息和所需资源拓扑信息,对各个工作集群服务器上报的运行数据信息进行容量分析、负载分析和资源拓扑分析的多维度分析,从而从各个工作集群服务器中,确定目标工作集群服务器。
77.步骤103,调度所述目标工作集群服务器处理所述目标应用的工作请求。
78.具体地,在本发明的实施例中,在确定出目标工作集群服务器之后,调度控制器将调度指令下发给目标工作集群服务器,使目标应用部署在目标工作集群服务器内,指示目标工作集群服务器处理目标应用的工作请求,以及目标应用后续的一些数据处理工作。
79.本发明提供的跨多集群的工作调度方法,通过接收目标应用的工作请求,基于目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行容量分析、负载分析和资源拓扑分析,筛选出满足目标应用工作请求的工作集群服务器,进一步对这些筛选出的工作集群服务器进行容量分析、负载分析或资源拓扑分析,确定出最优的目标工作集群服务器,调度目标工作集群服务器处理目标应用的工作请求,从而能够适应多集群下的各种工作请求场景的变化,并使集群调度系统能够始终保持良好的性能。
80.可选地,所述基于所述目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行多维度分析,确定目标工作集群服务器,包括:
81.基于所述目标应用的工作请求,对各个所述工作集群服务器的运行数据信息进行容量分析、负载分析和资源拓扑分析,从各个所述工作集群服务器中确定多个候选工作集群服务器;
82.对各个所述候选工作集群服务器的运行数据信息进行目标数据分析,从各个所述候选工作集群服务器中确定所述目标工作集群服务器,其中,所述目标数据分析包括所述容量分析、所述负载分析和所述资源拓扑分析中的一项。
83.具体地,本发明实施例所描述的候选工作集群服务器指的是通过对各个工作集群服务器上报的运行数据信息进行容量分析、负载分析和资源拓扑分析,即过滤阶段,从各个工作集群服务器中初次筛选出的工作集群服务器。
84.本发明实施例所描述的目标数据分析指的是基于预先通过人工或者脚本设置的固定策略,确定对候选工作集群服务器的运行数据信息所要进行的数据分析,其包括容量
分析、负载分析和资源拓扑分析中其中的一项。
85.图4是本发明实施例提供的跨多集群的工作调度方法的场景拓扑示意图之二,如图4所示,考虑一个基于kubernetes的多集群环境,本发明实施例提供了一种跨多集群的工作调度的混合策略;其中,a表示容量调度策略,b表示负载感知调度策略,c表示拓扑感知调度策略,在调度过程中,当在主集群调度器收到工作请求后,过滤阶段采取a策略、b策略和c策略的混合过滤方式,即对各个工作集群服务器的运行数据信息同时进行容量分析、负载分析和资源拓扑分析,对筛选工作集群服务器的约束条件采取更全面的过滤,以初次筛选出满足工作请求的工作集群服务器。
86.因此,本发明实施例中,根据接收的目标应用的工作请求,对各个工作集群服务器的运行数据信息进行容量分析、负载分析和资源拓扑分析,可以从各个工作集群服务器中确定多个候选工作集群服务器。
87.继续参照图4,根据目前kubernetes多集群的使用场景,大致分为三类,即更关注工作请求的资源配额高可用性的容量调度场景、更侧重空闲工作集群的各类资源占比情况的负载感知调度场景和更关注工作集群之间的拓扑关系的拓扑感知调度场景。
88.在打分阶段,本发明实施例中基于预先通过人工或者脚本设置的固定策略,从上述三种场景中确定目标应用的工作请求所适合的场景,并按确定好的场景的打分策略,如a策略,对各个候选工作集群服务器的运行数据信息进行目标数据分析,确定打分最高的候选工作集群服务器,从而从各个候选工作集群服务器中筛选出目标工作集群服务器。
89.通过打分阶段,得到最优调度结果,并将最优结果下发给目标工作集群服务器,以调度目标工作集群服务器处理目标应用的工作请求。
90.本发明实施例的方法,通过对各个所述工作集群服务器的运行数据信息进行更为全面的筛选,最终确定出目标工作集群服务器,实现了kubernetes跨多集群调度结果应用分发机制,具有自适应、更灵活且开销小的特点,能够适合多集群场景下的各种工作请求场景的变化。
91.可选地,所述基于所述目标应用的工作请求,对各个所述工作集群服务器的运行数据信息进行容量分析、负载分析和资源拓扑分析,从各个所述工作集群服务器中确定多个候选工作集群服务器,包括:
92.基于所述目标应用的工作请求,对每个所述工作集群服务器的运行数据信息分别进行容量分析、负载分析和资源拓扑分析,确定满足所述目标应用的工作请求的多组运行数据信息;
93.基于所述多组运行数据信息,确定多个候选工作集群服务器,其中,每组运行数据信息对应一个候选工作集群服务器。
94.具体地,在本发明的实施例中,在过滤阶段,主集群系统中调度控制器根据目标应用工作请求中的资源请求所需容量信息对各个工作集群服务器上报的运行数据信息中的容量信息进行分析,确定满足资源请求所需容量信息的运行数据信息;
95.调度控制器再根据目标应用工作请求中的所需负载信息,对上述满足资源请求所需容量信息的运行数据信息中的负载信息进行分析,确定同时满足所需容量信息和所需负载信息的运行数据信息,得到进一步过滤结果;
96.进一步地,调度控制器再根据目标应用工作请求中的资源请求所需资源拓扑信
息,对上述进一步过滤结果进行资源拓扑分析,确定同时满足所需容量信息、所需负载信息和所需资源拓扑信息的运行数据信息,即可以确定满足目标应用的工作请求的多组运行数据信息。
97.基于满足目标应用的工作请求的多组运行数据信息,可以进一步确定出多组运行数据信息对应的工作集群服务器,因此,根据多组运行数据信息,可以确定出多个候选工作集群服务器。
98.图5是本发明实施例提供的跨多集群的工作调度方法的场景拓扑示意图之三,如图5所示,在调度过程中执行混合过滤阶段,即主集群调度器根据目标应用工作请求中的所需容量信息、所需负载信息和所需资源拓扑信息,对各个工作集群服务器上报的运行数据信息进行容量分析、负载分析和资源拓扑分析,即按照a策略、b策略和c策略进行依次过滤,确定出多个候选工作集群服务器。
99.本发明实施例的方法,通过根据目标应用的工作请求,对每个工作集群服务器的运行数据信息分别进行容量分析、负载分析和资源拓扑分析的混合分析,实现调度过程中的过滤阶段得到更为全面的过滤,保证过滤阶段更有效地筛选出符合条件的工作集群服务器,有利于适应多集群场景下的各种工作请求场景的变化。
100.可选地,所述对各个所述候选工作集群服务器的运行数据信息进行目标数据分析,从各个所述候选工作集群服务器中确定所述目标工作集群服务器,包括:
101.对每个所述候选工作集群服务器的运行数据信息进行目标数据分析,从各个所述运行数据信息中确定目标运行数据信息;
102.基于所述目标运行数据信息对应的所述候选工作集群服务器,确定所述目标工作集群服务器。
103.具体地,本发明实施例所描述的目标运行数据信息指的是经过目标数据分析后确定的运行数据信息。
104.在本发明的实施例中,经过混合过滤阶段,确定出多个候选工作集群服务器后,进一步地,对这些候选工作集群服务器进行目标数据分析,即进入混合打分阶段。
105.在本发明的实施例中,混合打分阶段指的是按照预先通过人工或者脚本设置的固定策略,确定以a策略,或b策略,或c策略进行打分的阶段,以确定对各个候选工作集群服务器的运行数据信息进行打分排序。
106.在本发明的实施例中,具体混合打分策略按照如下三种场景执行:
107.场景一,在更关注工作请求的资源配额高可用性的场景下,容量调度策略在kubernetes调度过程有更好的自适应性。在打分阶段配置容量调度算法,配置资源占用的上下限制,预设资源缓冲区以利于配额弹性容错,优先过滤容量符合限制的工作集群。可以理解的是,场景一适合a策略;
108.场景二,负载感知调度策略会更侧重空闲工作集群的各类资源的占比情况,监测和测量部署前后资源的变化。在打分阶段配置负载感知调度策略,可以减少将目标应用部署在工作集群服务器资源不均衡的集群上,避免工作集群服务器中出现资源耗尽或过量剩余的情况。
109.可以理解的是,场景二适合b策略;
110.场景三,当工作集群运行状态十分健壮时,工作请求可以调度的工作集群服务器
很多,此时,为实现多集群管理实现容灾和高可用等特性,尽可能均匀地将目标应用分布在不同可用的工作集群服务器上,即执行拓扑感知调度策略。在打分阶段,获取不同拓扑域的工作集群信息,按配置的亲和度分布程度等约束条件筛选得到候选工作集群。可以理解的是,场景三适合c策略。
111.比如,在经过混合过滤阶段,确定出多个候选工作集群服务器后,基于预先通过人工或者脚本设置的固定策略为场景二下的打分策略,即以b策略进行打分,此时,目标数据分析为负载分析,进而对多个候选工作集群服务器的运行数据信息进行负载分析,基于对空闲工作集群的各类资源的占比情况的考虑,对各个候选工作集群服务器的运行数据信息中负载信息进行打分,负载率越低的工作集群服务器将得到更高的分数。
112.经过混合打分阶段,确定分数最优的目标运行数据信息,进而基于目标运行数据信息对应的候选工作集群服务器,确定目标工作集群服务器。
113.继续参照图5,如图5所示,在确定出多个候选工作集群服务器后,进入混合打分阶段,对各个候选工作集群服务器的运行数据信息进行打分排序,确定分数最优的目标运行数据信息,进而主集群调度器将最优结果下发给目标运行数据信息对应的目标工作集群服务器,对目标工作集群服务器进行工作调度。
114.本发明实施例的方法,通过预先确定的调度策略,对每个候选工作集群服务器的运行数据信息进行目标数据分析,可以更加快速有效地筛选出最优的目标工作集群服务器,从而可以有效地应对多集群场景下的各种工作请求场景的变化。
115.可选地,所述目标数据分析包括容量分析,相应的,所述对每个所述候选工作集群服务器的运行数据信息进行目标数据分析,从各个所述运行数据信息中确定目标运行数据信息,包括:
116.对每个所述候选工作集群服务器的运行数据信息的容量信息进行所述容量分析,确定容量剩余资源最多的候选工作集群服务器;
117.所述基于所述目标运行数据信息对应的所述候选工作集群服务器,确定所述目标工作集群服务器包括:
118.在存在一个所述容量剩余资源最多的候选工作集群服务器的情况下,将所述容量剩余资源最多的候选工作集群服务器作为所述目标工作集群服务器;
119.或者,
120.在存在多个所述容量剩余资源最多的候选工作集群服务器的情况下,从多个所述容量剩余资源最多的候选工作集群服务器中,随机选则一个候选工作集群服务器作为所述目标工作集群服务器。
121.具体地,在本发明实施例中,当目标数据分析包括容量分析时,基于预先通过人工或者脚本设置的固定策略为场景一下的打分策略,即以a策略进行打分。
122.此时,对每个候选工作集群服务器的运行数据信息的容量信息进行容量分析,进行打分排序,容量剩余信息越大,则分数越高,因此,确定容量剩余资源最多的候选工作集群服务器。
123.进一步地,若存在一个容量剩余资源最多的候选工作集群服务器,可以理解的是,该候选工作集群服务器是满足工作请求的资源配额高可用性要求的最优工作集群服务器,则将该候选工作集群服务器作为目标工作集群服务器。
124.若在存在多个所述容量剩余资源最多的候选工作集群服务器,其说明这些候选工作集群服务器的容量剩余信息均相同,且均是满足工作请求的资源配额高可用性要求的最优工作集群服务器,则随机选则一个候选工作集群服务器作为目标工作集群服务器即可。
125.本发明实施例的方法,在目标数据分析包括容量分析的情况下,通过容量分析筛选一个候选工作集群服务器或多个候选工作集群服务器,均可以有效筛选出目标工作集群服务器,保证工作调度的顺利进行,有利于适应不同的多集群场景下的工作调度。
126.可选地,在所述接收目标应用的工作请求之后,还包括:
127.在基于所述目标应用的工作请求,无法确定所述目标工作集群服务器的情况下,重试对各个所述工作集群服务器上报的运行数据信息进行多维度分析,从各个所述工作集群服务器中确定所述目标工作集群服务器。
128.具体地,在本发明的实施例中,若基于目标应用的工作请求,无法确定目标工作集群服务器,即此时,所有的工作集群服务器都不能通过工作调度过程中的混合过滤阶段,那么主集群调度器将重试对各个工作集群服务器上报的运行数据信息进行多维度分析,若从各个工作集群服务器中确定目标工作集群服务器,则调度目标工作集群服务器处理目标应用的工作请求。
129.在一些实施例中,当出现没有符合过滤规则的工作集群服务器,无法确定目标工作集群服务器时,主集群调度器将处于pending等待状态,此时,通过设定主集群调度器进行预设次数的重试分析,主集群调度器将按照一定时间间隔,多次重试对各个工作集群服务器的运行数据信息进行多维度分析。
130.在本发明的实施例中,主集群调度器进行重试分析的预设次数及时间间隔可以根据实际需求进行设定,在本发明的实施例中不对其做具体限定。
131.若经过预设次数的重试分析,主集群调度器还是无法确定目标工作集群服务器,主集群调度器将停止对各个工作集群服务器的运行数据信息进行重试分析,并向主集群服务器上报调度失败信息。
132.本发明实施例的方法,在无法确定目标工作集群服务器的情况下,通过重试对各个工作集群服务器上报的运行数据信息进行多维度分析,以有效确保顺利执行跨多集群的工作调度策略,有利于适应多集群场景下的不同工作请求场景。
133.下面对本发明实施例提供的跨多集群的工作调度装置进行描述,下文描述的跨多集群的工作调度装置与上文描述的跨多集群的工作调度方法可相互对应参照。
134.图6是本发明实施例提供的跨多集群的工作调度装置的结构示意图,如图6所示,该装置包括:
135.接收模块601,用于接收目标应用的工作请求;
136.分析模块602,用于基于所述目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行多维度分析,从各个所述工作集群服务器中确定目标工作集群服务器,其中,所述多维度分析包括容量分析、负载分析和资源拓扑分析中的至少一项;
137.调度模块603,用于调度所述目标工作集群服务器处理所述目标应用的工作请求。
138.本发明实施例所述的跨多集群的工作调度装置可以用于执行上述跨多集群的工作调度方法的实施例,其原理和技术效果类似,此处不再赘述。
139.本发明实施例提供的跨多集群的工作调度装置,通过接收目标应用的工作请求,
基于目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行容量分析、负载分析和资源拓扑分析,筛选出满足目标应用工作请求的工作集群服务器,进一步对这些筛选出的工作集群服务器进行容量分析、负载分析或资源拓扑分析,确定出最优的目标工作集群服务器,调度目标工作集群服务器处理目标应用的工作请求,从而能够适应多集群下的各种工作请求场景的变化,并使集群调度系统能够始终保持良好的性能。
140.图7是本发明实施例提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行上述各方法提供的跨多集群的工作调度方法,该方法包括:接收目标应用的工作请求;基于所述目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行多维度分析,从各个所述工作集群服务器中确定目标工作集群服务器,其中,所述多维度分析包括容量分析、负载分析和资源拓扑分析中的至少一项;调度所述目标工作集群服务器处理所述目标应用的工作请求。
141.此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
142.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的跨多集群的工作调度方法,该方法包括:接收目标应用的工作请求;基于所述目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行多维度分析,从各个所述工作集群服务器中确定目标工作集群服务器,其中,所述多维度分析包括容量分析、负载分析和资源拓扑分析中的至少一项;调度所述目标工作集群服务器处理所述目标应用的工作请求。
143.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的跨多集群的工作调度方法,该方法包括:接收目标应用的工作请求;基于所述目标应用的工作请求,对各个工作集群服务器上报的运行数据信息进行多维度分析,从各个所述工作集群服务器中确定目标工作集群服务器,其中,所述多维度分析包括容量分析、负载分析和资源拓扑分析中的至少一项;调度所述目标工作集群服务器处理所述目标应用的工作请求。
144.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
145.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
146.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1