资源调度方法、装置、设备、系统、存储介质及程序产品与流程

未命名 09-08 阅读:70 评论:0


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.发送模块,用于向客户端发送每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,每个第一设备标识用于指示对应的第二业务设备。
37.在一种可能的实现方式中,确定模块,用于从至少一个第一业务设备中确定至少一个第三业务设备,根据至少一个第三业务设备对应的至少两个第二数量确定至少两个第四数量,每个第四数量为至少一个第三业务设备允许消耗的至少两种资源中的一种资源的数量;根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量。
38.在一种可能的实现方式中,在每种资源对应的第一数量均小于等于对应的第四数量的情况下,每种资源对应的第五数量均大于等于对应的第一数量且小于等于对应的第四数量,每种资源对应的第五数量为至少两个第五数量中的一个,至少两个第五数量根据每个第二业务设备对应的至少两个第三数量确定。
39.在一种可能的实现方式中,在至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,每个第三数量均为零。
40.在一种可能的实现方式中,在至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,每种资源对应的第五数量均小于等于对应的第四数量,每种资源对应的第五数量为至少两个第五数量中的一个,至少两个第五数量根据每个第二业务设备对应的至少两个第三数量确定。
41.在一种可能的实现方式中,确定模块,还用于在获取到至少一个第三业务设备对应的至少两个第六数量的情况下,根据至少两个第六数量和至少两个第七数量,从至少一个第三业务设备中确定至少一个第四业务设备和每个第四业务设备对应的至少两个第八数量,每个第六数量为至少一个第三业务设备针对至少两种资源中的一种资源追加提供的数量,每个第七数量为一种资源对应的第五数量与对应的第一数量之间的差值,每个第八数量为对应的第四业务设备在业务请求处理过程中消耗的至少两种资源中的一种资源的数量;
42.发送模块,还用于向客户端发送每个第四业务设备对应的第一设备标识和每个第四业务设备对应的至少两个第八数量,每个第一设备标识用于指示对应的第四业务设备。
43.在一种可能的实现方式中,调度系统还包括第五业务设备,第五业务设备所在的域,与第一调度设备、客户端和至少一个第一业务设备所在的域不同;
44.确定模块,用于在至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的至少两个第九数量,每个第九数量为第五业务设备针对两种资源中的一种资源额外提供的资源的数量;
45.发送模块,还用于向客户端发送第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量,每个第二设备标识用于指示对应的第五业务设备。
46.在一种可能的实现方式中,调度系统还包括第二调度设备;
47.确定模块,用于根据至少两个第一数量和至少两个第四数量,生成协同信息;
48.向第二调度设备发送协同信息;
49.接收第二调度设备发送的每个第二业务设备对应的第一设备标识、每个第二业务设备对应的至少两个第三数量、第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量。
50.在一种可能的实现方式中,确定模块,用于在客户端对应的优先级高于优先级阈值的情况下,根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的至少两个第九数量。
51.在一种可能的实现方式中,装置还包括:
52.更新模块,用于从每个第二业务设备对应的至少两个第二数量中,扣除每个第二业务设备对应的至少两个第三数量,得到每个第二业务设备对应的至少两个第十数量;根据每个第二业务设备对应的至少两个第十数量处理其他资源调度请求。
53.第五方面,提供了一种资源调度装置,装置应用于调度系统包括的客户端,调度系统还包括第一调度设备和至少一个第一业务设备,该装置包括生成模块、发送模块和接收模块。
54.其中,生成模块,用于生成资源调度请求,资源调度请求携带至少两个第一数量,每个第一数量为客户端的业务请求被处理时需要消耗的至少两种资源中的一种资源的数量;
55.发送模块,用于向第一调度设备发送资源调度请求;
56.接收模块,用于接收第一调度设备发送的至少一个第二业务设备中的每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,每个第一设备标识用于指示对应的第二业务设备,每个第三数量为对应的第二业务设备在业务请求处理过程中消耗的至少两种资源中的一种资源的数量,至少一个第二业务设备为至少一个第一业务设备中的至少一个,每个第一业务设备对应至少两个第二数量,每个第二数量为对应的第一业务设备针对至少两种资源中的一种资源能够提供的数量;
57.管理模块,用于根据每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,管理客户端的业务请求。
58.在一种可能的实现方式中,接收模块,还用于接收第一调度设备发送的至少一个第四业务设备中的每个第四业务设备对应的第一设备标识和每个第四业务设备对应的至少两个第八数量,每个第一设备标识用于指示对应的第四业务设备,每个第八数量为对应的第四业务设备在业务请求处理过程中消耗的至少两种资源中的一种资源的数量,至少一个第四业务设备为至少一个第三业务设备中的至少一个,至少一个第三业务设备为至少一个第一业务设备中的至少一个;
59.发送模块,还用于根据每个第四业务设备对应的第一设备标识和每个第四业务设备对应的至少两个第八数量,管理客户端的业务请求。
60.在一种可能的实现方式中,调度系统还包括第五业务设备,第五业务设备所在的域,与第一调度设备、客户端和至少一个第一业务设备所在的域不同;
61.接收模块,还用于接收第一调度设备发送的第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量,每个第二设备标识用于指示对应的第五业务设
备,每个第九数量为第五业务设备针对两种资源中的一种资源额外提供的资源的数量;
62.管理模块,用于根据每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量,管理客户端的业务请求。
63.第六方面,提供了一种资源调度装置,装置应用于调度系统包括的至少一个第一业务设备中的一个第一业务设备,调度系统还包括第一调度设备和客户端,该装置包括发送模块,该发送模块,用于向第一调度设备发送第一业务设备对应的第一设备标识和第一业务设备对应的至少两个第二数量,每个第二数量为对应的第一业务设备针对至少两种资源中的一种资源能够提供的数量,至少两种资源用于第一业务设备处理客户端的业务请求。
64.第七方面,提供了一种资源调度设备,设备包括存储器及处理器;存储器中存储有至少一条计算机指令,至少一条计算机指令由处理器加载并执行,以使计算机设备实现上述各方面中的方法。
65.第八方面,提供了一种调度系统,调度系统包括:调度设备、客户端和至少一个第一业务设备,调度设备用于执行第一方面及对应的可能的实现方式提供的资源调度方法,客户端用于执行第二方面及对应的可能的实现方式提供的资源调度方法,至少一个第一业务设备用于执行第三方面及对应的可能的实现方式提供的资源调度方法。
66.第九方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条计算机指令,计算机指令由处理器加载并执行,以使计算机设备实现上述各方面中的方法。
67.第十方面,提供了一种计算机程序或计算机程序产品,计算机程序或计算机程序产品包括:计算机指令,当计算机指令被计算机运行时,使得计算机执行上述各方面中的方法。
68.第十一方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的计算机执行上述各方面中的方法。
69.第十二方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,安装有芯片的计算机执行上述各方面中的方法。
70.应当理解的是,本技术的第二方面至第十二方面的技术方案及对应的可能的实现方式所取得的有益效果,可以参见上述对第一方面及其对应的可能的实现方式的技术效果,此处不再赘述。
附图说明
71.图1为本技术实施例提供的一种实施环境的示意图;
72.图2为本技术实施例提供的另一种实施环境的示意图;
73.图3为本技术实施例提供的一种资源调度方法的流程图;
74.图4为本技术实施例提供的一种调度系统的示意图;
75.图5为本技术实施例提供的一种资源调度装置的结构示意图;
76.图6为本技术实施例提供的另一种资源调度装置的结构示意图;
77.图7为本技术实施例提供的又一种资源调度装置的结构示意图;
78.图8为本技术实施例提供的一种资源调度设备的结构示意图。
具体实施方式
79.本技术的实施方式部分使用的术语仅用于对本技术的实施例进行解释,而非旨在限定本技术。
80.通信网络用于根据实际需求提供一定的业务,业务的实现依赖于客户端与业务设备之间的交互。其中,客户端向业务设备发送业务请求,业务设备消耗资源处理业务请求,以实现业务。在客户端数量较多的情况下,业务设备会接收到大量业务请求,处理所有业务请求所需消耗的资源,往往会超过业务设备能够提供的资源,则大量业务请求会竞争业务设备提供的资源,造成业务请求拥塞(request congestion)。业务请求拥塞是指:多个客户端发送的大量业务请求超过业务设备的承载能力,导致业务设备对业务请求的响应时间变长,比如当业务请求为计算请求时,计算所需的时间变长,进而使得客户端和业务设备所在的系统性能下降、系统的可用性变低。比如,降低了系统的吞吐率、增加了系统的延迟等等。因此,需要提供一种资源调度方法,以避免造成业务请求拥塞,从而提高系统的资源利用率,以及系统的服务质量(quality of service,qos)。
81.相关技术中,根据影响因素和观测目标进行建模,以进行资源调度。其中,观测目标用于指示系统性能,影响因素能够影响到观测目标。业务设备先将影响因素设置为初始值,并确定该初始值下的观测目标,如果观测目标指示的系统性能较低,则调整该初始值,也即是进行资源调度,以期改善观测目标指示的系统性能。
82.然而,当观测目标指示的系统性能较低时,说明系统已经发生了业务请求拥塞的问题,则相关技术是在已经发生了业务请求拥塞的问题之后,才进行滞后的资源调度,仍然会导致系统的qos发生劣化。并且,资源调度集中在业务设备处,而业务设备能够观测的观测目标比较有限,从而导致所进行的资源调度比较局限、资源利用率低。
83.本技术实施例提供了一种实施环境,本技术实施例提供的资源调度方法可以在该实施环境中实施。如图1所示,该实施环境包括调度设备101、客户端102和业务设备103,调度设备101、客户端102和业务设备103之间两两通信连接。应理解的是,图1示出的一个调度设备101、一个客户端102和一个业务设备103仅为举例,调度设备101、客户端102和业务设备103中的任意一个的数量均可以为多个,形成较大规模的分布式系统,该数量可以根据经验或者实际需求设置。相应地,调度设备101、客户端102和业务设备103之间两两通信连接包括:调度设备101与每个客户端102分别通信连接,调度设备101还与每个业务设备103分别通信连接,每个客户端102与所有业务设备103分别通信连接。
84.其中,业务设备用于提供至少两种资源,并告知调度设备自身能够提供的每种资源的数量。客户端用于告知调度设备自身需要的每种资源的数量。相应地,调度设备用于根据业务设备能够提供的每种资源的数量和客户端需要的每种资源的数量,告知客户端能够使用哪个业务设备提供的多少数量的每种资源,从而使得客户端在相应的业务设备上使用相应数量的每种资源,以实现资源调度。比如,客户端向相应的业务设备发送业务请求,使得业务设备消耗相应数量的每种资源实现对该业务请求的处理。
85.应理解的是,本技术实施例不对业务设备和调度设备的形态进行限定。业务设备
例如为业务服务器,调度设备例如为调度服务器。并且,业务服务器和调度服务器可以属于物理上实体服务器(硬件形态),也可以属于逻辑上的虚拟服务器(软件形态)。比如,业务服务器和调度服务器分别为不同的实体服务器。又比如,该业务服务器和调度服务器均为虚拟服务器,业务服务器和调度服务器根据实际需求部署于一个或者多个实体服务器上,本技术实施例不限定每个实体服务器上部署的业务服务器的数量和调度服务器的数量。再比如,业务服务器为实体服务器,调度服务器为虚拟服务器,虚拟服务器根据实际需求部署于用于作为业务服务器的实体服务器上。示例性地,当调度服务器为软件形态时,该调度服务器可以是一张智能的数据库表,也可以是一个微服务进程,在此不做限定。
86.在示例性实施例中,在调度设备的数量为多个的情况下,不同的调度设备之间可以相互通信连接,从而使得不同的调度设备能够相互配合完成资源调度,或者说是不同调度设备进行协同调度。
87.比如,不同的调度设备之间两两通信连接。又比如,不同的调度设备之间通信连接形成一定的架构,包括但不限于环形架构等。再比如,不同的调度设备之间分级连接,即将不同的调度设备划分为至少两个级别。至少两个级别中的每个级别的调度设备均可以按照上述说明获得信息(即业务设备和客户端分别发送的每种资源的数量)。对于至少两个级别中的每两个相邻的级别,级别较低的调度设备向级别较高的调度设备上报自身获得的信息,从而使得至少两个级别中非最低级别的调度设备,能够获得与自身通信连接的、比自身级别更低的调度设备上的信息。由此,级别较高的调度设备便能够根据获得的信息协助级别较低的调度设备进行资源调度。其中,在每两个相邻的级别中,级别较低的调度设备属于级别较高的调度设备的子调度设备,级别较高的调度设备属于级别较高的调度设备的父调度设备。
88.示例性地,本技术实施例中还可以设置域(region),每个域包括至少一个调度设备、至少一个客户端和至少一个业务设备。域也可以称为集群(cluster)。比如,在不同的调度设备之间分级连接的架构中,一个域可以包括:至少两个级别中级别最低的调度设备,以及与该级别最低的调度设备通信连接的客户端和业务设备,一个域还可以包括:至少两个级别中级别非最低的调度设备,以及与该级别非最低的调度设备通信连接的、比该级别非最低的调度设备级别更低的调度设备对应的域。
89.下面,结合图2对不同的调度设备之间分级连接的架构进行说明。在图2中,c表示客户端,s为服务器(server),s用于表示业务设备,cs为信用服务器(credit server),cs用于表示调度设备。
90.cs1、cs2、cs3和cs4为级别最低的业务设备。cs1、1个s和2个c组成域1,cs2、1个s和2个c组成域2,cs3、2个s和1个c组成域3,且cs4、2个s和2个c组成域4。应理解的是,属于同一个域中的cs、s和c之间的通信连接关系可参见上文图1对应的说明,在图2中为避免冗余而未示出。cs5和cs6为级别较高的业务设备。cs1和cs2分别与cs5通信连接,cs5、cs1对应的域1和cs2对应的域2组成一个cs5对应的域(图2中未示出)。cs3和cs4分别与cs6通信连接,cs6、cs3对应的域3和cs4对应的域4组成一个cs6对应的域(图2中未示出)。cs7为级别最高的业务设备,cs5和cs6分别与cs7通信连接,cs7、cs5对应的域和cs6对应的域组成一个cs7对应的域。
91.本技术实施例提供了一种资源调度方法,该资源调度方法可以通过第一调度设
备、客户端和至少一个第一业务设备之间的交互实现。以图1为例,该第一调度设备可以是调度设备101,客户端可以是客户端102,至少一个第一业务设备则可以是业务设备103。又以图2为例,该第一调度设备可以为图2所示的cs1至cs4中的任意一个cs,客户端和至少一个第一业务设备则分别为与第一调度设备属于同一个域的c和s。如图3所示,该方法包括如下的步骤301至步骤308。
92.步骤301,第一业务设备向第一调度设备发送第一业务设备对应的第一设备标识和第一业务设备对应的至少两个第二数量。
93.其中,每个第二数量为对应的第一业务设备针对至少两种资源中的一种资源能够提供的数量,至少两种资源用于第一业务设备处理客户端的业务请求。示例性地,该至少两种资源包括但不限于如下各种资源中的至少两种:排队队列尺寸(queue size,用于存放需要处理的业务请求)、内存尺寸(memory size)、中央处理单元(central processing unit,cpu)的处理核(core)、连接尺寸(connection size,属于一种网络资源)、线程(如通用线程、数据库线程等)、令牌(由令牌桶按照一定的速率生成,持有令牌的业务请求可以被业务设备处理)、线程池数量、缓存容量、业务信息等,根据实际需求确定即可,此处不再一一举例。
94.第一业务设备需要确定第一业务设备对应的至少两个第二数量。在一些实施方式中,针对每种资源,第一业务设备可以确定自身拥有的该种资源的总数量,以及当前已消耗的该种资源的数量(或者说当前已被占用的该种资源的数量),计算该种资源的总数量与当前已消耗的该种资源的数量之间的差值,将该差值作为针对该种资源能够提供的数量。在另一些实施方式中,针对每种资源,第一业务设备存储针对该种资源能够提供的数量,则第一业务设备无需进行计算,直接查询存储的针对该种资源能够提供的数量即可。当然,本技术实施例不对每个第二数量的确定方式进行限定,不同的第二数量的确定方式可以相同,也可以不同。
95.比如,以至少两种资源中的一种资源为通用线程为例,第一业务设备自身拥有100个通用线程,第一业务设备当前被占用了20个通用线程,则第一业务设备能够提供80个通用线程,即第一业务设备针对通用线程这一种资源能够提供的数量为80。
96.在第一业务设备确定第一业务设备对应的至少两个第二数量之后,第一业务设备向第一调度设备发送第一业务设备对应的至少两个第二数量,以及第一业务设备对应的第一设备标识。第一设备标识用于指示对应的第一业务设备,或者说,一个第一设备标识用于对一个第一业务设备进行唯一标识。第一业务设备发送该第一设备标识的作用在于,使得第一调度设备能够确定接收到的至少两个第二数量,是该第一设备标识唯一标识的一个第一业务设备对应的至少两个第二数量。
97.示例性地,第一业务设备对应的第一设备标识包括但不限于访问端点(endpoint),该访问端点可以包括第一业务设备的互联网协议(internet protocol,ip)地址,或者包括第一业务设备的ip地址和第一业务设备所在域的域标识,域标识用于对域进行唯一标识。
98.比如,以至少两种资源包括通用线程和数据库线程为例,如果第一业务设备针对通用线程这一资源能够提供的数量为80,第一业务设备针对数据库线程这一资源能够提供的数量为160,第一业务设备所在域的域标识为a,第一业务设备的ip地址为http://
www.a.com,则第一业务设备可以向第一调度设备发送:80,160,a,http://www.a.com。
99.在本技术实施例中,可以将第一业务设备向第一调度设备发送的第一设备标识和至少两个第二数量作为一个信用(credit),第一业务设备向第一调度设备提供的信用可以表示为:credit=(至少两个第二数量,第一设备标识)。比如,在上一个举例中credit=(80,160,a,http://www.a.com)。又比如,在其他举例中credit=(内存尺寸,cpu的处理核,连接尺寸,第一设备标识)。
100.应理解的是,本技术实施例不对发送至少两个第二数量的顺序(或者说是信用中至少两个第二数量进行排列的顺序)进行限定,该顺序可以由第一业务设备与第一调度设备协商确定。比如,第一业务设备与第一调度设备可以协商确定:先发送第一业务设备针对通用线程这一资源能够提供的数量,再发送第一业务设备针对数据库线程这一资源能够提供的数量,相应地,第一调度设备即可确定先接收到的数量为第一业务设备针对通用线程这一资源能够提供的数量,而后接收到的数量为第一业务设备针对数据库线程这一资源能够提供的数量。
101.本技术实施例中,不对第一业务设备执行该步骤301的时机进行限定。在一些实施方式中,第一业务设备周期性的执行该步骤301,也就是说,每进入一个新的周期时,第一业务设备执行一次该步骤301,本技术实施例不限定一个周期的时长,一个周期的时长例如为1分钟。在另一些实施方式中,第一业务设备根据第一调度设备的指示执行该步骤301。比如,第一业务设备每接收到第一调度设备发送的一个指示,则根据该指示执行一次步骤301。
102.用于确定第一业务设备执行该步骤301的时机的实施方式有多种。示例性地,第一业务设备可以采用动态算法。该动态算法可以用于第一业务设备在不同种的实施方式之间进行切换。或者,该动态算法也可以用于第一业务设备针对一种实施方式进行调节。比如,针对周期性的执行该步骤301的一种实施方式,该动态算法可以用于调节周期的时长。
103.应理解的是,当第一业务设备的数量为一个时,该第一业务设备执行该步骤301。当第一业务设备的数量为多个时,每个第一业务设备均执行该步骤301。
104.步骤302,客户端生成资源调度请求,资源调度请求携带至少两个第一数量。
105.其中,每个第一数量为客户端的业务请求被处理时需要消耗的至少两种资源中的一种资源的数量。客户端需要确定客户端的业务请求对应的至少两个第一数量。示例性地,客户端可以确定一个业务请求被处理时需要消耗的每种资源的数量,并确定业务请求的总数量,计算一个业务请求被处理时需要消耗的每种资源的数量与业务请求的总数量之间的乘积,将该乘积作为客户端的业务请求对应的至少两个第一数量。本技术实施例不限定确定至少两个第一数量的确定方式。
106.比如,以至少两种资源为通用线程和数据库线程、业务请求为查询请求为例,一个业务请求被处理时需要消耗1个通用线程和1个数据库线程,客户端共有50个查询请求,则客户端的业务请求被处理时共需要消耗50个通用线程和50个数据库线程,则客户端生成的资源调度请求所携带的至少两个第一数量为50和50。
107.在本技术实施例中,资源调度请求还可以携带业务请求的类型,以便于第一调度设备确定客户端的何种类型的业务请求需要消耗该至少两个第一数量的至少两种资源。比如在上一个举例中,资源调度请求可以为:request(search)=(50,50)。其中,request为请
求,代表当前的请求为资源调度请求,而search为查询,代表业务请求的类型为查询,即业务请求是查询请求。
108.应理解的是,本技术实施例不对发送至少两个第一数量的顺序(或者说是资源调度请求中至少两个第一数量进行排列的顺序)进行限定,该顺序可以由客户端与第一调度设备协商确定,此处不再进行赘述。
109.步骤303,客户端向第一调度设备发送资源调度请求。
110.在客户端生成资源调度请求之后,由于客户端与第一调度设备之间通信连接,因而客户端可以通过该通信连接向第一调度设备发送生成的资源调度请求。
111.步骤304,第一调度设备接收客户端发送的资源调度请求。
112.在客户端向第一调度设备发送资源调度请求之后,第一调度设备相应的接收该资源调度请求,并继续执行如下的步骤305和步骤306。
113.步骤305,第一调度设备根据至少两个第一数量和每个第一业务设备对应的至少两个第二数量,从至少一个第一业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量。
114.根据上文步骤301和步骤302中的说明可知,第一调度设备根据每个第一业务设备能够提供的每种资源的数量(第二数量),以及客户端的业务请求被处理时需要消耗的每种资源的数量(第一数量),从至少一个第一业务设备中确定至少一个第二业务设备,并确定每个第二业务设备对应的至少两个第三数量。每个第三数量为对应的第二业务设备在业务请求处理过程中消耗的至少两种资源中的一种资源的数量。或者说,每个第三数量为对应的第二业务设备实际消耗的一种资源的数量。
115.在示例性实施例中,该步骤305包括如下的步骤3051和步骤3052。
116.步骤3051,从至少一个第一业务设备中确定至少一个第三业务设备,根据至少一个第三业务设备对应的至少两个第二数量确定至少两个第四数量。
117.从至少一个第一业务设备中确定的至少一个第三业务设备,可以是指将部分或者全部的第一业务设备作为第三业务设备。比如,当仅有一个第一业务设备时,将该第一业务设备确定为第三业务设备。又比如,当有多个第一业务设备时,将多个第一业务设备中的一个或者多个第一业务设备作为第三业务设备。该第三业务设备可以认为是至少一个第一业务设备中允许客户端使用的业务设备,客户端对业务设备的使用,是指客户端向业务设备发送业务请求。比如,在云化环境中,客户端可以作为租户(tenant)租用业务设备,客户端租用的业务设备即为允许客户端使用的业务设备。在将部分第一业务设备作为第三业务设备时,说明客户端可以使用部分第一业务设备,而在将全部第一业务设备作为第三业务设备时,说明客户端可以使用全部的第一业务设备。
118.示例性地,第一调度设备可以存储有客户端标识与第一设备标识之间的对应关系,客户端标识用于对客户端进行唯一标识,客户端发送的资源调度请求中可以携带该客户端的客户端标识。则第一调度设备在接收到资源调度请求之后,除了可以按照步骤302获得至少两个第一数量之外,还可以得到客户端标识,根据客户端标识查询客户端标识与第一设备标识之间的对应关系,得到与客户端标识对应的第一设备标识。之后,第一调度设备从第一业务设备中,将与客户端标识对应的第一设备标识所指示的第一业务设备作为允许客户端使用的第三业务设备。
119.该客户端标识与第一设备标识之间的对应关系,可以由第一调度设备自行生成,也可以由第一业务设备向第一调度设备发送。比如,第一业务设备除了按照步骤301向第一调度设备发送第一业务设备对应的第一设备标识和第一业务设备对应的至少两个第二数量之外,还向第一调度设备发送客户端标识,第一调度设备在进行接收之后,便可以得到客户端标识、第一设备标识和至少两个第二数量这三者之间的对应关系,自然也就得到了客户端标识与第一设备标识之间的对应关系。在此种情况下,第一业务设备向第一调度设备提供的信用可以进一步表示为:credit=(客户端标识,至少两个第二数量,第一设备标识)。
120.由于第三业务设备从第一业务设备中确定,而每个第一业务设备对应有至少两个第二数量,因而每个第三业务设备也对应有至少两个第二数量。因此,在从至少一个第一业务设备中确定至少一个第三业务设备之后,可以继续根据至少一个第三业务设备对应的至少两个第二数量确定至少两个第四数量,每个第四数量为至少一个第三业务设备允许消耗的至少两种资源中的一种资源的数量。
121.示例性地,当仅有一个第三业务设备时,将该第三业务设备对应的至少两个第二数量确定为至少两个第四数量即可。也就是说,针对每种资源,将该种资源对应的第二数量确定为该种资源对应的第四数量。比如,至少两种资源包括通用线程和数据库线程,第三业务设备能够提供50个通用线程,100个数据库线程(通用线程对应的第二数量为50,数据库线程对应的第二数量为100)。由于将每种资源对应的第二数量确定为该种资源的第四数量,因而通用线程对应的第四数量为50,代表该第三业务设备允许消耗50个通信线程,数据库线程对应的第四数量为100,代表该第三业务设备允许消耗100个数据库线程。
122.或者,当有多个第三业务设备时,将多个第三业务设备对应的至少两个第二数量之和确定为至少两个第四数量。也就是说,针对每种资源,将该种资源对应的第二数量之和确定为该种资源对应的第四数量。比如,至少两种资源包括通用线程和数据库线程,一个第三业务设备能够提供50个通用线程、100个数据库线程(通用线程对应的第二数量为50,数据库线程对应的第二数量为100),另一个第三业务设备能够提供20个通用线程、30个数据库线程(通用线程对应的第二数量为20,数据库线程对应的第二数量为30)。由于将每种资源对应的第二数量之和确定为该种资源对应的第四数量,因而通用线程对应的第四数量为50与20之和70,代表两个第三业务设备共允许消耗70个通用线程,数据库线程对应的第四数量为100与30之和130,代表两个第三业务设备共允许消耗130个数据库线程。
123.步骤3052,根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量。
124.由于每个第一数量为客户端的业务请求被处理时需要消耗的一种资源的数量,每个第四数量为至少一个第三业务设备允许消耗的一种资源的数量,因而可以根据至少两个第一数量和至少两个第四数量,确定出第二业务设备,并确定每个第二业务设备针对每种资源实际消耗的数量,即第三数量。
125.在示例性实施例中,该步骤3052的实现方式包括但不限于如下的四种。
126.方式一,在每种资源对应的第一数量均小于等于对应的第四数量的情况下,每种资源对应的第五数量均大于等于对应的第一数量且小于等于对应的第四数量。
127.在每种资源对应的第一数量均小于等于对应的第四数量的情况下,说明需要消耗
的每种资源的数量,均小于等于允许消耗的每种资源的数量,因而说明每种资源都是充足的,足够处理客户端的所有业务请求。对此,在该方式一中可以选择处理客户端的所有业务请求。因此,需要使得所有第二业务设备针对每种资源实际消耗的数量,大于等于每种资源需要消耗的数量(第一数量),且小于等于每种资源允许消耗的数量(第四数量)。
128.本技术实施例中,采用每种资源对应的第五数量来表征所有第二业务设备针对每种资源实际消耗的数量。因而每种资源对应的第五数量需要大于等于对应的第一数量且小于等于对应的第四数量。其中,每种资源对应的第五数量为至少两个第五数量中的一个,至少两个第五数量根据每个第二业务设备对应的至少两个第三数量确定。示例性地,在仅有一个第二业务设备的情况下,将每种资源对应的第三数量作为每种资源对应的第五数量。在有多个第二业务设备的情况下,将每种资源对应的第三数量之和作为每种资源对应的第五数量。
129.方式二,在至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,每个第三数量均为零。
130.在至少一种资源对应的第一数量大于对应的第四数量的情况下,说明至少两种资源中存在着至少一种资源,需要消耗的该种资源的数量,大于允许消耗的该种资源的数量,因而说明至少一种资源是不充足的,不能处理客户端的所有业务请求。对此,在该方式二中,选择不处理客户端的任何业务请求,或者说拒绝处理客户端的所有业务请求。因此,需要使得每个第二业务设备针对每种资源实际消耗的数量为零,也就是使得每个第三数量均为零,即每个第二业务设备均不会消耗任何一种资源。
131.方式三,在至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,每种资源对应的第五数量均小于等于对应的第四数量,每种资源对应的第五数量为至少两个第五数量中的一个,至少两个第五数量根据每个第二业务设备对应的至少两个第三数量确定。
132.方式二与方式三对应的情况相同,均为至少一种资源对应的第一数量大于对应的第四数量的情况,也即至少一种资源是不充足的,不能处理客户端的所有业务请求的情况。对此,在该方式三中,不再像方式二一样拒绝处理客户端的所有业务请求,而是尽可能的处理客户端的部分业务请求。因此,需要使得所有第二业务设备针对每种资源实际消耗的数量(第五数量),小于等于每种资源允许消耗的数量(第四数量),当然也小于每种资源需要消耗的数量(第一数量)。
133.由于仅能处理所有业务请求中的部分业务请求,因而还存在未能处理的剩余业务请求。在本技术实施例中,第一调度设备可以在至少一种资源不充足的情况转变为每种资源均充足的情况之后,再处理这些剩余业务请求。
134.其中,至少一种资源不充足的情况能够转变为每种资源均充足的情况是因为:每个第三业务设备可以追加提供一定数量的每种资源。比如,在第三业务设备向第一调度设备发送第三调度设备对应的至少两个第二数量时,该第三业务设备的各种资源正在被大量占用,则会导致第三业务设备对应的第二数量较少,从而产生至少一个资源不充足的情况。而在第三业务设备的各种资源不再被占用(或者说被释放)的情况下,该第三业务设备便能够追加提供一定数量的每种资源,从而使得至少一个资源不充足的情况转变为每种资源均充足的情况。
135.也就是说,方式三中的方法还包括:在获取到至少一个第三业务设备对应的至少两个第六数量的情况下,根据至少两个第六数量和至少两个第七数量,从至少一个第三业务设备中确定至少一个第四业务设备和每个第四业务设备对应的至少两个第八数量。
136.其中,每个第六数量为至少一个第三业务设备针对至少两种资源中的一种资源追加提供的数量。示例性地,第一调度设备可以通过多种方式获取到每个第三业务设备对应的至少两个第六数量。比如,第一调度设备可以获得每个第三业务设备周期性自动上报的至少两个第六数量。又比如,第一调度设备可以向每个第三业务设备发送指示,接收每个第三业务设备根据指示上报的至少两个第六数量。再比如,第一调度设备也可以不与每个第三业务设备进行交互,而是周期性的将默认的至少两个数量作为每个第三业务设备对应的至少两个第六数量。本技术实施例不对每个第六数量的获取方式进行限定。
137.此外,第一调度设备还需要获取至少两个第七数量,每个第七数量为一种资源对应的第五数量与对应的第一数量之间的差值。由于在方式三中,每个第五数量为处理部分业务请求时所有第二业务设备针对一种资源实际消耗的数量,而每个第一数量为处理全部业务请求时需要消耗的一种资源的数量,因而每个第七数量为处理剩余业务请求时需要消耗的一种资源的数量。
138.在获取第三业务设备针对每种资源追加提供的数量(即第六数量),并获取剩余业务请求被处理时需要消耗的每种资源的数量(即第七数量),第一调度设备便可以根据至少两个第六数量和至少两个第七数量,从至少一个第三业务设备中确定至少一个第四业务设备和每个第四业务设备对应的至少两个第八数量,每个第八数量为对应的第四业务设备在业务请求处理过程中消耗的至少两种资源中的一种资源的数量。或者说。每个第八数量为对应的第四业务设备处理剩余业务请求时实际消耗的一种资源的数量。通过该第四业务设备和每个第四业务设备对应的至少两个第八数量,可以处理上述的剩余业务请求。应理解的是,虽然第二业务设备和第四业务设备均从第三业务设备中确定得到,但第二业务设备与第四业务设备可以是相同的业务设备,也可以是不同的业务设备。
139.方式四,调度系统还包括第五业务设备,第五业务设备所在的域,与第一调度设备、客户端和至少一个第一业务设备所在的域不同。相应地,根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,包括:在至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的至少两个第九数量,每个第九数量为第五业务设备针对两种资源中的一种资源额外提供的资源的数量。
140.方式四与方式二、方式三对应的情况相同,均为至少一种资源对应的第一数量大于对应的第四数量的情况,也即是至少一种资源是不充足的,不能处理客户端的所有业务请求的情况。对此,在该方式四中,不再像方式二一样拒绝处理客户端的所有业务请求,也不再像方式三一样仅通过当前域尽可能的处理客户端的部分业务请求,而是选择进行跨域调度,跨域调度可以是指通过当前域内的第一业务设备和其他域(第五业务设备所在的域)内的第五业务设备共同提供充足的资源,以处理更多的业务请求,例如处理客户端的所有业务请求。
141.应理解的是,当前域为第一调度设备所在的域,由于方式三中涉及的第二业务设备和第四业务设备均是从第三业务设备中确定的,而第三业务设备从第一业务设备中确定,第一业务设备是当前域中的业务设备,因而认为该方式三仅通过当前域尽可能的处理客户端的部分业务请求,而未进行跨域调度。
142.在一些实施方式中,调度系统还包括第二调度设备,该第二调度设备为第一调度设备的父调度设备。第一调度设备根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的至少两个第九数量,包括:根据至少两个第一数量和至少两个第四数量,生成协同信息;向第二调度设备发送协同信息;接收第二调度设备发送的每个第二业务设备对应的第一设备标识、每个第二业务设备对应的至少两个第三数量、第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量。
143.其中,根据至少两个第一数量和至少两个第四数量生成协同信息,可以是指将至少两个第一数量和至少两个第四数量作为协同信息,则向第二调度设备发送协同信息之后,第二调度设备能够获得至少两个第一数量和至少两个第四数量。并且,由于该第二调度设备为父调度设备,因而该第二调度设备也能够获得其他域中的各个业务设备针对每种资源能够提供的数量,因此,该第二调度设备可以综合考量至少两个第一数量、至少两个第四数量和其他域中的各个业务设备针对每种资源能够提供的数量,确定出至少一个第二业务设备、每个第二业务设备对应的至少两个第三数量、第五业务设备和第五业务设备对应的至少两个第九数量,该第五业务设备为其他域中的各个业务设备中的一个或多个业务设备。当然,第二调度设备在完成确定之后,需要向第一调度设备返回每个第二业务设备对应的第一设备标识、每个第二业务设备对应的至少两个第三数量、第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量,以便于第一调度设备后续向客户端进行反馈。由此,相当于第二调度设备协助第一调度设备完成了资源调度。
144.在另一些实施方式中,第一调度设备自行根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的至少两个第九数量。比如,第一调度设备也可以像第二调度设备一样获得其他域中的各个业务设备针对每种资源能够提供的数量,从而综合考量至少两个第一数量、至少两个第四数量和其他域中的各个业务设备针对每种资源能够提供的数量,以确定出至少一个第二业务设备、每个第二业务设备对应的至少两个第三数量、第五业务设备和第五业务设备对应的至少两个第九数量,此处不再进行赘述。
145.进一步地,考虑到跨域调度的成本较高,本技术实施例在客户端的优先级足够高的情况下,再进行上述的跨域调度,以避免浪费成本。
146.也就是说,在示例性实施例中,根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的至少两个第九数量,包括:在客户端对应的优先级高于优先级阈值的情况下,根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的至少两个第九数量。示例性地,第一调度设备可以存储客户端标识与优先级之间的对应关系,根据客户端标识查询客户端标识与优先级之间的对应关系,得到客
户端标识对应的优先级,将该客户端标识对应的优先级作为客户端标识唯一标识的一个客户端的优先级,从而能够通过比较客户端的优先级与优先级阈值,来确定该客户端对应的优先级是否高于优先级阈值。本技术实施例不对该优先级阈值进行限定,该优先级阈值可以根据经验或者实际需求进行确定。
147.步骤306,第一调度设备向客户端发送每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,每个第一设备标识用于指示对应的第二业务设备。
148.通过上述的步骤305,第一调度设备确定了每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,因而第一调度设备可以向客户端发送每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,以便于客户端对客户端的业务请求进行管理。
149.在示例性实施例中,方法还包括:从每个第二业务设备对应的至少两个第二数量中,扣除每个第二业务设备对应的至少两个第三数量,得到每个第二业务设备对应的至少两个第十数量;根据每个第二业务设备对应的至少两个第十数量处理其他资源调度请求。
150.其中,需要扣除每个第二业务设备对应的至少两个第三数量的原因在于:在第一调度设备向客户端发送每个第二业务设备对应的至少两个第三数量之后,由于每个第三数量为对应的第二业务设备实际消耗的一种资源的数量,因而说明每个第二业务设备需要按照对应的至少两个第三数量消耗自身的资源,以处理客户端的业务请求,那么在客户端的业务请求处理完毕之前,这些被消耗的资源不能再用于处理其他业务请求,因此从每个第二业务设备对应的至少两个第二数量中,扣除每个第二业务设备对应的至少两个第三数量,以避免第一调度设备在处理其他资源调度请求的过程中,仍然将这些被消耗的资源作为第二业务设备能够提供的资源。示例性地,其他资源调度请求可以是指同一个客户端再次发送的资源调度请求,也可以是指不同客户端发送的资源调度请求,在此不作限定。
151.示例性地,本技术实施例中第一调度设备对每个资源对应的任何数量的更新,均可以通过日志进行记录,该日志还可以用于记录客户端发送的每个资源对应的数量,以及第一业务设备上报的每个资源对应的数量。除了通过日志进行记录之外,本技术实施例还可以设置可视化的监控系统。
152.比如,第二业务设备对应的至少两个第二数量为100和200,100代表第二业务设备能够提供100个通用线程,200代表第二业务设备能够提供200个通用线程。而第二业务设备对应的至少两个第三数量为100和100,一个100代表第二业务设备在处理业务请求时需要消耗100个通用线程,另一个100代表第二业务设备在处理业务请求时需要消耗100个数据库线程。那么,第二业务设备对应的至少两个第十数量为0和100,0是能够提供的100个通用线程与需要消耗的100个通用线程之间的差值,代表第二业务设备没有多余的通用线程可以提供,而100是能够提供的200个数据库线程与需要消耗的100个数据库线程之间的差值,代表第二业务设备还有多余的100个数据库线程可以提供。
153.步骤307,客户端接收第一调度设备发送的每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量。
154.由于第一调度设备可以向客户端发送每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,因而客户端相应的接收每个第二业务设备对
应的第一设备标识和每个第二业务设备对应的至少两个第三数量。客户端进行接收的过程,也即是客户端从第一调度设备申请得到信用的过程。
155.步骤308,客户端根据每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,管理客户端的业务请求。
156.其中,客户端根据第二业务设备对应的第一设备标识,可以确定需要向哪个第二业务设备发送业务请求。而客户端根据每个第二业务设备对应的至少两个第三数量,可以确定向该第二业务设备发送多少个业务请求。
157.比如,一个第二业务设备对应的至少两个第三数量为100和100,一个100代表第二业务设备在处理业务请求时需要消耗100个通用线程,另一个100代表第二业务设备在处理业务请求时需要消耗100个数据库线程,而每个业务请求需要消耗2个通用线程和2个数据库线程,那么客户端可以确定至多能够向该第二业务设备发送50个业务请求,如果所发送的业务请求超过了50个,那么第二业务设备将没有足够的资源及时处理所发送的业务请求。
158.对应于上述的方式一,客户端管理客户端的业务请求,包括:按照每个第二业务对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,发送全部业务请求。在此种情况下,至少两种资源中的每种资源都是充足的,客户端能够申请到足够的信用,因而客户端可以发送全部的业务请求。
159.对应于上述的方式二,客户端管理客户端的业务请求,包括:按照每个第二业务对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,不发送业务请求。在此种情况下,由于每个第三数量均为零,因而相当于客户端未申请到信用,因而客户端不向任何第二业务设备发送任何业务请求。此种情况下,客户端可以进行报错。
160.对应于上述的方式三,客户端管理客户端的业务请求,包括:按照每个第二业务对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,发送部分业务请求。在此种情况下,由于存在至少一种资源是不充足的,因而客户端虽然申请到了信用,但是申请到的信用不足以发送全部业务请求,则客户端仅发送部分业务请求。
161.当然,由于在上述的方式三中,第一调度设备还可以确定至少一个第四业务设备和每个第四业务设备对应的至少两个第八数量,因而第一调度设备还可以向客户端发送每个第四业务设备对应的第一设备标识和每个第四业务设备对应的至少两个第八数量,每个第一设备标识用于指示对应的第四业务设备。由此,相当于客户端申请到了新的信用。
162.相应地,客户端接收第一调度设备发送的至少一个第四业务设备中的每个第四业务设备对应的第一设备标识和每个第四业务设备对应的至少两个第八数量,根据每个第四业务设备对应的第一设备标识和每个第四业务设备对应的至少两个第八数量,管理客户端的业务请求。比如,客户端按照每个第四业务设备对应的第一设备标识和每个第四业务设备对应的至少两个第八数量,发送剩余业务请求中的至少一个业务请求,剩余业务请求为全部业务请求中除已发送的部分业务请求之外的业务请求。
163.当然,客户端在申请到的信用不足以发送全部业务请求的情况下,先发送部分业务请求,等待后续申请到了新的信用后,再发送剩余业务请求,仅为本技术实施例的一种举例。除此之外,客户端也可以在申请到的信用不足以发送全部业务请求的情况下,先不发送部分业务请求,而是等待后续申请到了新的信用后,再根据先申请的信用和后续申请到的
新的信用,一并发送部分业务请求和剩余业务请求。
164.对应于上述的方式四,由于第一调度设备还向客户端发送第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量,因而客户端还接收第一调度设备发送的第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量。相应地,客户端管理客户端的业务请求,包括:根据每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量,管理客户端的业务请求,发送业务请求。
165.相比于上述的方式三中客户端按照每个第二业务对应的第一设备标识和每个第二业务设备对应的至少两个第三数量发送的部分业务请求,方式四中的客户端无需等待即可申请到更多的信用(因为不止有每个第二业务设备对应的至少两个第三数量,还有第五业务设备对应的至少两个第九数量),从而可以在无需等待的情况下发送更多的业务请求,比如可以发送全部业务请求。
166.接下来,对本技术实施例提供的调度系统进行举例说明。如图4所示,该调度系统包括2个域,即域a和域b。c1至c6分别代表6个客户端,s1至s6分别代表6个业务服务器,cs1至cs3分别代表3个调度服务器。
167.其中,业务服务器有搜索商品和下单两个功能,即业务请求包括搜索请求和下单请求,至少两种资源包括通用线程和数据库线程,业务服务器的设备标识包括域标识和ip地址。其中,每个搜索请求需要1个通用线程和1个数据库线程,每个下单请求需要消耗2个通用线程和2个数据库线程。
168.基于此,业务服务器上报的credit的格式可设计为:credit(s)=(通用线程数,数据库线程数,域标识,ip地址),其中,s代表业务服务器的编号。
169.而客户端发送的资源调度请求的格式可设计为request(search)=(1,1);request(order)=(2,2),其中search代表搜索请求,order代表下单请求。当然,该格式仅以1个搜索请求和1个下单请求为例,如果是50个搜索请求,则资源调度请求的格式为request(search)=(50,50),对于其他情况不再进行穷举。
170.(1)系统初始情况下,业务服务器向调度服务器注册credit信息(即信用)。
171.其中,cs2管理域a,域a中的业务服务器s1至s3向cs2注册credit信息,cs2维护的credit信息如下表1:
172.表1
173.编号credit信息s1(100,50,a,https://a1.com)s2(200,100,a,https://a2.com)s3(300,150,a,https://a3.com)
174.cs3管理域b,域b中的业务服务器s4至s6向cs3注册credit信息,cs3维护的credit信息如下表2:
175.表2
176.[0177][0178]
cs2和cs3收到各自的credit信息后,向父调度服务器cs1上报credit信息,则cs1维护的credit信息如下表3:
[0179]
表3
[0180]
编号credit信息s1(100,50,a,https://a1.com)s2(200,100,a,https://a2.com)s3(300,150,a,https://a3.com)s4(100,50,b,https://b4.com)s5(200,100,b,https://b5.com)s6(300,150,b,https://b6.com)
[0181]
在本系统中,客户端向业务服务器发送业务请求,需要拥有足够的credit信息,credit不足时,则按实际分配到的credit信息(由调度服务器分配)发送业务请求。如果客户端的优先级高于优先级阈值,则可以进行跨域调度,其中,c1和c4的优先级高于优先级阈值。另外,credit刷新的模式为业务服务器主动向调度服务器上报。
[0182]
(2)基于(1)中的初始情况,一次资源调度过程可能如下(对应上述方式一)。
[0183]
域a的c2需要发送100个搜索请求,因而c2向cs2申请credit信息,c2能够申请到足够的credit信息,cs2向c2返回的credit信息如下表4:
[0184]
表4
[0185]
编号credit信息s1(50,50,a,https://a1.com)s2(50,50,a,https://a2.com)
[0186]
所以,域a的c2根据该表4,使用s1对应的credit信息向s1发送50个搜索请求,使用s2对应的credit信息向s2发送50个搜索请求;
[0187]
之后,cs2维护的credit信息由表1更新为如下的表5:
[0188]
表5
[0189]
编号credit值s1(50,0,a,https://a1.com)s2(150,50,a,https://a2.com)s3(300,150,a,https://a3.com)
[0190]
(3)接下来,域a的c3需要发送发出500个下单请求,因而c3向cs2申请credit信息,c3无法申请到足够的credit信息,且由于c3的优先级不高于优先级阈值,因而也不会进行跨域的资源调度,cs2向c3返回的credit信息为如下的表6:
[0191]
表6
[0192]
编号credit值s2(50,50,a,https://a2.com)s3(300,150,a,https://a3.com)
[0193]
所以,域a的c3根据该表6,使用s2对应的credit值,向s2发送25个下单请求,使用s3对应的credit值,向s3发送75个下单请求,500个下单请求并未全部发送。不过,此种发送方式避免了系统产生业务请求拥塞,保证了吞吐率和系统的稳定性。
[0194]
(4)再接下来,域a的c1需要发送50个搜索请求,因而c1向cs2申请credit信息,虽然在域a内无法申请到足够的credit信息,但由于c1的优先级高于优先级阈值,因而会进行跨域的资源调度,则cs2向cs1发送协同调度请求,cs1向cs2返回如下的表7:
[0195]
表7
[0196]
编号credit值s4(50,50,b,https://b4.com)
[0197]
所以,域a的c1根据该表7,使用s4对应的credit值,向域b的s4发送50个搜索请求,50个搜索请求全部发送。此时,保障了服务质量,保证公平性。
[0198]
相应地,cs3维护的credit信息为如下表8:
[0199]
表8
[0200]
编号credit值s4(50,0,b,https://b4.com)s5(200,100,b,https://b5.com)s6(300,150,b,https://b6.com)
[0201]
(5)然后,域a的s1,s2,s3处理完毕全部业务请求,向cs2重新上报自己的credit信息,cs2维护的credit信息更新为如下的表9:
[0202]
表9
[0203]
编号credit值s1(100,50,a,https://a1.com)s2(200,100,a,https://a2.com)s3(300,150,a,https://a3.com)
[0204]
cs3维护的credit信息保持如下的表10:
[0205]
表10
[0206]
编号credit值s4(50,0,b,https://b4.com)s5(200,100,b,https://b5.com)s6(300,150,b,https://b6.com)
[0207]
cs1维护的credit信息更新为如下的表11:
[0208]
表11
[0209]
编号credit值s1(100,50,a,https://a1.com)s2(200,100,a,https://a2.com)s3(300,150,a,https://a3.com)s4(50,0,b,https://b4.com)s5(200,100,b,https://b5.com)
s6(300,150,b,https://b6.com)
[0210]
(6)域b的s4处理完毕全部业务请求,但是由于s4自身后台有其它进程消耗了资源,因此s4处理能力下降,因而s4动态自适应的调整了请求处理能力,上报的通用线程数和数据库线程数均仅为50,于是s4向cs3上报如下的表12:
[0211]
表12
[0212]
编号credit值s4(50,50,b,https://b4.com)
[0213]
cs3维护的credit信息更新为如下的表13:
[0214]
表13
[0215]
编号credit值s4(100,50,b,https://b4.com)s5(200,100,b,https://b5.com)s6(300,150,b,https://b6.com)
[0216]
cs1维护的credit信息更新为如下的表14:
[0217]
表14
[0218]
编号credit值s1(100,50,a,https://a1.com)s2(200,100,a,https://a2.com)s3(300,150,a,https://a3.com)s4(50,50,b,https://b4.com)s5(200,100,b,https://b5.com)s6(300,150,b,https://b6.com)
[0219]
应理解的是,本技术实施例提供的调度系统,是一种分布式系统,分布式系统例如为微服务系统或者分布式文件系统等。本技术实施例提供的调度系统可以与人工智能(artificial intelligence,ai)技术相结合,以使得该调度系统更加完善并达到自动化控制的效果。比如,对于资源调度过程中涉及的各种参数,可以采用ai手段进行确定,使得所使用的参数更加准确,以便于达到更好的调度效果。
[0220]
综上所述,本技术实施例在业务设备和客户端的基础上增加了调度设备,由调度设备来进行端到端的资源调度。由此,避免了资源调度任务集中在业务设备侧,从而避免有业务设备既要处理客户端发送的业务请求、又要进行资源的调度,而影响到业务请求的处理效率或者资源调度的效率。
[0221]
由于本技术实施例中,调度设备获取了各个业务设备能够提供的每种资源的数量,并获取了客户端的业务请求需要消耗的每种资源的数量,以此来确定客户端需要向哪个或哪些业务设备分别发送多少个业务请求(或者说控制了客户端发送业务请求的速率),从而保证了业务设备接收到的、需要处理的业务请求不会超出业务设备的承载能力,或者说,业务设备能够提供的每种资源的数量,足够用于处理业务设备接收到的业务请求。因此,业务设备处不会发生业务请求的拥塞,提高了系统吞吐量,降低了系统延迟,保证了系统的qos。而且,此种调度并不是在已经发生拥塞之后才进行的滞后调度,而是未发生拥塞
时就已经进行的预先调度,不会导致客户端由于拥塞而进行多次重试(重新发送业务请求)的情况。并且,此种调度方式综合考量了系统全局的情况,较为公平,对客户端的负载进行了有效的隔离。
[0222]
进一步地,本技术实施例将业务设备的承载能力或者说处理能力量化为至少两种资源,这是一种细粒度的量化方式,能够保证资源调度更加精细、准确,不仅能够使得每种资源均得到充分利用,还能够提供系统的效率和稳定性。
[0223]
以上介绍了本技术实施例提供的资源调度方法,与上述方法对应,本技术实施例还提供了几种资源调度装置。详见如下说明。
[0224]
如图5所示,本技术实施例提供了一种资源调度装置,装置应用于调度系统包括的第一调度设备,调度系统还包括客户端和至少一个第一业务设备,该装置包括如下的几个模块。
[0225]
接收模块501,用于接收客户端发送的资源调度请求,资源调度请求携带至少两个第一数量,每个第一数量为客户端的业务请求被处理时需要消耗的至少两种资源中的一种资源的数量;
[0226]
确定模块502,用于根据至少两个第一数量和每个第一业务设备对应的至少两个第二数量,从至少一个第一业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,每个第二数量为对应的第一业务设备针对至少两种资源中的一种资源能够提供的数量,每个第三数量为对应的第二业务设备在业务请求处理过程中消耗的至少两种资源中的一种资源的数量;
[0227]
发送模块503,用于向客户端发送每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,每个第一设备标识用于指示对应的第二业务设备。
[0228]
在示例性实施例中,确定模块502,用于从至少一个第一业务设备中确定至少一个第三业务设备,根据至少一个第三业务设备对应的至少两个第二数量确定至少两个第四数量,每个第四数量为至少一个第三业务设备允许消耗的至少两种资源中的一种资源的数量;根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量。
[0229]
在示例性实施例中,在每种资源对应的第一数量均小于等于对应的第四数量的情况下,每种资源对应的第五数量均大于等于对应的第一数量且小于等于对应的第四数量,每种资源对应的第五数量为至少两个第五数量中的一个,至少两个第五数量根据每个第二业务设备对应的至少两个第三数量确定。
[0230]
在示例性实施例中,在至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,每个第三数量均为零。
[0231]
在示例性实施例中,在至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,每种资源对应的第五数量均小于等于对应的第四数量,每种资源对应的第五数量为至少两个第五数量中的一个,至少两个第五数量根据每个第二业务设备对应的至少两个第三数量确定。
[0232]
在示例性实施例中,确定模块502,还用于在获取到至少一个第三业务设备对应的至少两个第六数量的情况下,根据至少两个第六数量和至少两个第七数量,从至少一个第
三业务设备中确定至少一个第四业务设备和每个第四业务设备对应的至少两个第八数量,每个第六数量为至少一个第三业务设备针对至少两种资源中的一种资源追加提供的数量,每个第七数量为一种资源对应的第五数量与对应的第一数量之间的差值,每个第八数量为对应的第四业务设备在业务请求处理过程中消耗的至少两种资源中的一种资源的数量;
[0233]
发送模块503,还用于向客户端发送每个第四业务设备对应的第一设备标识和每个第四业务设备对应的至少两个第八数量,每个第一设备标识用于指示对应的第四业务设备。
[0234]
在示例性实施例中,调度系统还包括第五业务设备,第五业务设备所在的域,与第一调度设备、客户端和至少一个第一业务设备所在的域不同;
[0235]
确定模块502,用于在至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的至少两个第九数量,每个第九数量为第五业务设备针对两种资源中的一种资源额外提供的资源的数量;
[0236]
发送模块503,还用于向客户端发送第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量,每个第二设备标识用于指示对应的第五业务设备。
[0237]
在示例性实施例中,调度系统还包括第二调度设备;
[0238]
确定模块502,用于根据至少两个第一数量和至少两个第四数量,生成协同信息;
[0239]
向第二调度设备发送协同信息;
[0240]
接收第二调度设备发送的每个第二业务设备对应的第一设备标识、每个第二业务设备对应的至少两个第三数量、第五业务设备对应的第二设备标识和第五业务设备对应的至少两个第九数量。
[0241]
在示例性实施例中,确定模块502,用于在客户端对应的优先级高于优先级阈值的情况下,根据至少两个第一数量和至少两个第四数量,从至少一个第三业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,以及第五业务设备对应的至少两个第九数量。
[0242]
在示例性实施例中,装置还包括:
[0243]
更新模块,用于从每个第二业务设备对应的至少两个第二数量中,扣除每个第二业务设备对应的至少两个第三数量,得到每个第二业务设备对应的至少两个第十数量;根据每个第二业务设备对应的至少两个第十数量处理其他资源调度请求。
[0244]
如图6所示,本技术实施例提供了一种资源调度装置,装置应用于调度系统包括的客户端,调度系统还包括第一调度设备和至少一个第一业务设备,该装置包括如下的几个模块。
[0245]
生成模块601,用于生成资源调度请求,资源调度请求携带至少两个第一数量,每个第一数量为客户端的业务请求被处理时需要消耗的至少两种资源中的一种资源的数量;
[0246]
发送模块602,用于向第一调度设备发送资源调度请求;
[0247]
接收模块603,用于接收第一调度设备发送的至少一个第二业务设备中的每个第二业务设备对应的第一设备标识和每个第二业务设备对应的至少两个第三数量,每个第一设备标识用于指示对应的第二业务设备,每个第三数量为对应的第二业务设备在业务请求
unit,dpu)、微处理器或者一个或多个用于实现本技术方案的集成电路或专用集成电路(application-specific integrated circuit,asic)、可编程逻辑器件(programmable logic device,pld)、其他通用处理器或者其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件部件或者其任意组合。pld例如是复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field-programmable gate array,fpga)、通用阵列逻辑(generic array logic,gal)或其任意组合。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。其可以实现或执行结合本技术公开内容所描述的各种逻辑方框、模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,dsp和微处理器的组合等等。
[0259]
可选的,资源调度设备800还包括总线802。总线802用于在资源调度设备800的各组件之间传送信息。总线802可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。总线802可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
[0260]
存储器803例如是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。
[0261]
通过示例性但不是限制性说明,许多形式的rom和ram可用。例如,rom为只读光盘(compact disc read-only memory,cd-rom)。ram包括但不限于静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic random access memory,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0262]
存储器803还可以是可存储静态信息和指令的其它类型的存储设备。或者可以是可存储信息和指令的其它类型的动态存储设备。或者可以是其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器803例如是独立存在,并通过总线802与处理器801相连接。存储器803也可以和处理器801集成在一起。
[0263]
网络接口804使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(radio access network,ran)或无线局域网(wireless local area network,wlan)等。网络接口804可以包括有线网络接口,还可以包括无线网络接口。具体的,网络接口804可以为以太(ethernet)接口,如:快速以太(fast ethernet,fe)接口、千兆以太(gigabit ethernet,ge)接口,异步传输模式(asynchronous transfer mode,atm)接口,wlan接口,蜂窝网络接口或其组合。以太网接口可以是光接口,电接口或其
组合。在本技术的一些实施方式中,网络接口804可以用于资源调度设备800与其他设备进行通信。
[0264]
在具体实现中,作为一些实施方式,处理器801可以包括一个或多个cpu,如图8中所示的cpu0和cpu1。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0265]
在具体实现中,作为一些实施方式,资源调度设备800可以包括多个处理器,如图8中所示的处理器801和处理器805。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
[0266]
在一些实施方式中,存储器803用于存储执行本技术方案的程序指令806,处理器801可以执行存储器803中存储的程序指令806。也即是,资源调度设备800可以通过处理器801以及存储器803中的程序指令806,来实现图3所示的资源调度方法。程序指令806中可以包括一个或多个软件模块。可选地,处理器801自身也可以存储执行本技术方案的程序指令。
[0267]
在具体实施过程中,本技术的资源调度设备800可对应于用于执行上述方法的第一网元设备,资源调度设备800中的处理器801读取存储器803中的指令,使图8所示的资源调度设备800能够执行方法实施例中的全部或部分步骤。
[0268]
资源调度设备800还可以对应于上述图5至图7所示的装置,图5至图7所示的装置中的每个功能模块采用资源调度设备800的软件实现。换句话说,图5至图7所示的装置包括的功能模块为资源调度设备800的处理器801读取存储器803中存储的程序指令806后生成的。
[0269]
其中,图3所示的方法的各步骤通过资源调度设备800的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术所公开的方法实施例的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例的步骤,为避免重复,这里不再详细描述。
[0270]
示例性地,本技术实施例提供了一种资源调度设备,设备包括存储器及处理器;存储器中存储有至少一条计算机指令,至少一条计算机指令由处理器加载并执行,以使计算机设备实现上述图3所示的资源调度方法。
[0271]
示例性地,本技术实施例提供了一种调度系统,调度系统包括:调度设备、客户端和至少一个第一业务设备,调度设备用于图3所示的资源调度方法中第一调度设备执行的步骤,客户端用于执行图3所示的资源调度方法中客户端执行的步骤,至少一个第一业务设备用于执行图3所示的资源调度方法中第一业务设备执行的步骤。
[0272]
示例性地,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条计算机指令,计算机指令由处理器加载并执行,以使计算机设备实现上述图3所示的资源调度方法。
[0273]
示例性地,本技术实施例提供了一种计算机程序或计算机程序产品,计算机程序
或计算机程序产品包括:计算机指令,当计算机指令被计算机运行时,使得计算机执行上述图3所示的资源调度方法。
[0274]
示例性地,本技术实施例提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的计算机执行上述图3所示的资源调度方法。
[0275]
示例性地,本技术实施例提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,安装有芯片的计算机执行上述图3所示的资源调度方法。
[0276]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
[0277]
本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。
[0278]
还应理解,在本技术的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0279]
本技术中术语“至少一个”的含义是指一个或多个,本技术中术语“多个”的含义是指两个或两个以上,例如,多个第二设备是指两个或两个以上的第二设备。本文中术语“系统”和“网络”经常可互换使用。
[0280]
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
[0281]
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本技术中的字符“/”,一般表示前后关联对象是一种“或”的关系。
[0282]
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述
的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0283]
以上所述仅为本技术的实施例,并不用以限制本技术,凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种资源调度方法,其特征在于,所述方法应用于调度系统包括的第一调度设备,所述调度系统还包括客户端和至少一个第一业务设备,所述方法包括:接收所述客户端发送的资源调度请求,所述资源调度请求携带至少两个第一数量,每个第一数量为所述客户端的业务请求被处理时需要消耗的至少两种资源中的一种资源的数量;根据所述至少两个第一数量和每个第一业务设备对应的至少两个第二数量,从所述至少一个第一业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,每个第二数量为对应的第一业务设备针对所述至少两种资源中的一种资源能够提供的数量,每个第三数量为对应的第二业务设备在业务请求处理过程中消耗的所述至少两种资源中的一种资源的数量;向所述客户端发送所述每个第二业务设备对应的第一设备标识和所述每个第二业务设备对应的所述至少两个第三数量,每个第一设备标识用于指示对应的第二业务设备。2.根据权利要求1所述的方法,其特征在于,所述根据所述至少两个第一数量和每个第一业务设备对应的至少两个第二数量,从所述至少一个第一业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,包括:从所述至少一个第一业务设备中确定至少一个第三业务设备,根据所述至少一个第三业务设备对应的至少两个第二数量确定至少两个第四数量,每个第四数量为所述至少一个第三业务设备允许消耗的所述至少两种资源中的一种资源的数量;根据所述至少两个第一数量和所述至少两个第四数量,从所述至少一个第三业务设备中确定所述至少一个第二业务设备和所述每个第二业务设备对应的至少两个第三数量。3.根据权利要求2所述的方法,其特征在于,在每种资源对应的第一数量均小于等于对应的第四数量的情况下,每种资源对应的第五数量均大于等于对应的第一数量且小于等于对应的第四数量,所述每种资源对应的第五数量为至少两个第五数量中的一个,所述至少两个第五数量根据所述每个第二业务设备对应的至少两个第三数量确定。4.根据权利要求2所述的方法,其特征在于,在所述至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,每个第三数量均为零。5.根据权利要求2所述的方法,其特征在于,在所述至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,每种资源对应的第五数量均小于等于对应的第四数量,所述每种资源对应的第五数量为至少两个第五数量中的一个,所述至少两个第五数量根据所述每个第二业务设备对应的至少两个第三数量确定。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在获取到所述至少一个第三业务设备对应的至少两个第六数量的情况下,根据所述至少两个第六数量和至少两个第七数量,从所述至少一个第三业务设备中确定至少一个第四业务设备和每个第四业务设备对应的至少两个第八数量,每个第六数量为所述至少一个第三业务设备针对所述至少两种资源中的一种资源追加提供的数量,每个第七数量为一种资源对应的第五数量与对应的第一数量之间的差值,每个第八数量为对应的第四业务设备在所述业务请求处理过程中消耗的所述至少两种资源中的一种资源的数量;向所述客户端发送所述每个第四业务设备对应的第一设备标识和所述每个第四业务设备对应的所述至少两个第八数量,每个第一设备标识用于指示对应的第四业务设备。
7.根据权利要求2所述的方法,其特征在于,所述调度系统还包括第五业务设备,所述第五业务设备所在的域,与所述第一调度设备、所述客户端和所述至少一个第一业务设备所在的域不同;所述根据所述至少两个第一数量和所述至少两个第四数量,从所述至少一个第三业务设备中确定所述至少一个第二业务设备和所述每个第二业务设备对应的至少两个第三数量,包括:在所述至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,根据所述至少两个第一数量和所述至少两个第四数量,从所述至少一个第三业务设备中确定所述至少一个第二业务设备和所述每个第二业务设备对应的至少两个第三数量,以及所述第五业务设备对应的至少两个第九数量,每个第九数量为所述第五业务设备针对所述两种资源中的一种资源额外提供的资源的数量;所述方法还包括:向所述客户端发送所述第五业务设备对应的第二设备标识和所述第五业务设备对应的所述至少两个第九数量,每个第二设备标识用于指示对应的第五业务设备。8.根据权利要求7所述的方法,其特征在于,所述调度系统还包括第二调度设备;所述根据所述至少两个第一数量和所述至少两个第四数量,从所述至少一个第三业务设备中确定所述至少一个第二业务设备和所述每个第二业务设备对应的至少两个第三数量,以及所述第五业务设备对应的至少两个第九数量,包括:根据所述至少两个第一数量和所述至少两个第四数量,生成协同信息;向所述第二调度设备发送所述协同信息;接收所述第二调度设备发送的所述每个第二业务设备对应的第一设备标识、所述每个第二业务设备对应的至少两个第三数量、所述第五业务设备对应的第二设备标识和所述第五业务设备对应的至少两个第九数量。9.根据权利要求7或8所述的方法,其特征在于,所述根据所述至少两个第一数量和所述至少两个第四数量,从所述至少一个第三业务设备中确定所述至少一个第二业务设备和所述每个第二业务设备对应的至少两个第三数量,以及所述第五业务设备对应的至少两个第九数量,包括:在所述客户端对应的优先级高于优先级阈值的情况下,根据所述至少两个第一数量和所述至少两个第四数量,从所述至少一个第三业务设备中确定所述至少一个第二业务设备和所述每个第二业务设备对应的至少两个第三数量,以及所述第五业务设备对应的至少两个第九数量。10.根据权利要求1-9任一所述的方法,其特征在于,所述方法还包括:从所述每个第二业务设备对应的至少两个第二数量中,扣除所述每个第二业务设备对应的至少两个第三数量,得到所述每个第二业务设备对应的至少两个第十数量;根据所述每个第二业务设备对应的至少两个第十数量处理其他资源调度请求。11.一种资源调度的方法,其特征在于,所述方法应用于调度系统包括的客户端,所述调度系统还包括第一调度设备和至少一个第一业务设备,所述方法包括:生成资源调度请求,所述资源调度请求携带至少两个第一数量,每个第一数量为所述客户端的业务请求被处理时需要消耗的至少两种资源中的一种资源的数量;
向所述第一调度设备发送所述资源调度请求;接收所述第一调度设备发送的至少一个第二业务设备中的每个第二业务设备对应的第一设备标识和所述每个第二业务设备对应的所述至少两个第三数量,每个第一设备标识用于指示对应的第二业务设备,每个第三数量为对应的第二业务设备在业务请求处理过程中消耗的所述至少两种资源中的一种资源的数量,所述至少一个第二业务设备为所述至少一个第一业务设备中的至少一个,每个第一业务设备对应至少两个第二数量,每个第二数量为对应的第一业务设备针对所述至少两种资源中的一种资源能够提供的数量;根据所述每个第二业务设备对应的第一设备标识和所述每个第二业务设备对应的所述至少两个第三数量,管理所述客户端的业务请求。12.根据权利要求11所述的方法,其特征在于,所述方法还包括:接收所述第一调度设备发送的至少一个第四业务设备中的每个第四业务设备对应的第一设备标识和所述每个第四业务设备对应的至少两个第八数量,每个第一设备标识用于指示对应的第四业务设备,每个第八数量为对应的第四业务设备在所述业务请求处理过程中消耗的所述至少两种资源中的一种资源的数量,所述至少一个第四业务设备为至少一个第三业务设备中的至少一个,所述至少一个第三业务设备为所述至少一个第一业务设备中的至少一个;根据所述每个第四业务设备对应的第一设备标识和所述每个第四业务设备对应的至少两个第八数量,管理所述客户端的业务请求。13.根据权利要求11所述的方法,其特征在于,所述调度系统还包括第五业务设备,所述第五业务设备所在的域,与所述第一调度设备、所述客户端和所述至少一个第一业务设备所在的域不同;所述方法还包括:接收所述第一调度设备发送的第五业务设备对应的第二设备标识和所述第五业务设备对应的所述至少两个第九数量,每个第二设备标识用于指示对应的第五业务设备,每个第九数量为所述第五业务设备针对所述两种资源中的一种资源额外提供的资源的数量;所述根据所述每个第二业务设备对应的第一设备标识和所述每个第二业务设备对应的所述至少两个第三数量,管理客户端的业务请求,包括:根据所述每个第二业务设备对应的第一设备标识和所述每个第二业务设备对应的所述至少两个第三数量,以及所述第五业务设备对应的第二设备标识和所述第五业务设备对应的所述至少两个第九数量,管理所述客户端的业务请求。14.一种资源调度方法,其特征在于,所述方法应用于调度系统包括的至少一个第一业务设备中的一个第一业务设备,所述调度系统还包括第一调度设备和客户端,所述方法包括:向所述第一调度设备发送所述第一业务设备对应的第一设备标识和所述第一业务设备对应的至少两个第二数量,每个第二数量为对应的第一业务设备针对至少两种资源中的一种资源能够提供的数量,所述至少两种资源用于所述第一业务设备处理所述客户端的业务请求。15.一种资源调度装置,其特征在于,所述装置应用于调度系统包括的第一调度设备,所述调度系统还包括客户端和至少一个第一业务设备,所述装置包括:
接收模块,用于接收所述客户端发送的资源调度请求,所述资源调度请求携带至少两个第一数量,每个第一数量为所述客户端的业务请求被处理时需要消耗的至少两种资源中的一种资源的数量;确定模块,用于根据所述至少两个第一数量和每个第一业务设备对应的至少两个第二数量,从所述至少一个第一业务设备中确定至少一个第二业务设备和每个第二业务设备对应的至少两个第三数量,每个第二数量为对应的第一业务设备针对所述至少两种资源中的一种资源能够提供的数量,每个第三数量为对应的第二业务设备在业务请求处理过程中消耗的所述至少两种资源中的一种资源的数量;发送模块,用于向所述客户端发送所述每个第二业务设备对应的第一设备标识和所述每个第二业务设备对应的所述至少两个第三数量,每个第一设备标识用于指示对应的第二业务设备。16.根据权利要求15所述的装置,其特征在于,所述确定模块,用于从所述至少一个第一业务设备中确定至少一个第三业务设备,根据所述至少一个第三业务设备对应的至少两个第二数量确定至少两个第四数量,每个第四数量为所述至少一个第三业务设备允许消耗的所述至少两种资源中的一种资源的数量;根据所述至少两个第一数量和所述至少两个第四数量,从所述至少一个第三业务设备中确定所述至少一个第二业务设备和所述每个第二业务设备对应的至少两个第三数量。17.根据权利要求16所述的装置,其特征在于,在每种资源对应的第一数量均小于等于对应的第四数量的情况下,每种资源对应的第五数量均大于等于对应的第一数量且小于等于对应的第四数量,所述每种资源对应的第五数量为至少两个第五数量中的一个,所述至少两个第五数量根据所述每个第二业务设备对应的至少两个第三数量确定。18.根据权利要求16所述的装置,其特征在于,在所述至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,每个第三数量均为零。19.根据权利要求16所述的装置,其特征在于,在所述至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,每种资源对应的第五数量均小于等于对应的第四数量,所述每种资源对应的第五数量为至少两个第五数量中的一个,所述至少两个第五数量根据所述每个第二业务设备对应的至少两个第三数量确定。20.根据权利要求19所述的装置,其特征在于,所述确定模块,还用于在获取到所述至少一个第三业务设备对应的至少两个第六数量的情况下,根据所述至少两个第六数量和至少两个第七数量,从所述至少一个第三业务设备中确定至少一个第四业务设备和每个第四业务设备对应的至少两个第八数量,每个第六数量为所述至少一个第三业务设备针对所述至少两种资源中的一种资源追加提供的数量,每个第七数量为一种资源对应的第五数量与对应的第一数量之间的差值,每个第八数量为对应的第四业务设备在所述业务请求处理过程中消耗的所述至少两种资源中的一种资源的数量;所述发送模块,还用于向所述客户端发送所述每个第四业务设备对应的第一设备标识和所述每个第四业务设备对应的所述至少两个第八数量,每个第一设备标识用于指示对应的第四业务设备。21.根据权利要求16所述的装置,其特征在于,所述调度系统还包括第五业务设备,所述第五业务设备所在的域,与所述第一调度设备、所述客户端和所述至少一个第一业务设
备所在的域不同;所述确定模块,用于在所述至少两种资源中的至少一种资源对应的第一数量大于对应的第四数量的情况下,根据所述至少两个第一数量和所述至少两个第四数量,从所述至少一个第三业务设备中确定所述至少一个第二业务设备和所述每个第二业务设备对应的至少两个第三数量,以及所述第五业务设备对应的至少两个第九数量,每个第九数量为所述第五业务设备针对所述两种资源中的一种资源额外提供的资源的数量;所述发送模块,还用于向所述客户端发送所述第五业务设备对应的第二设备标识和所述第五业务设备对应的所述至少两个第九数量,每个第二设备标识用于指示对应的第五业务设备。22.根据权利要求21所述的装置,其特征在于,所述调度系统还包括第二调度设备;所述确定模块,用于根据所述至少两个第一数量和所述至少两个第四数量,生成协同信息;向所述第二调度设备发送所述协同信息;接收所述第二调度设备发送的所述每个第二业务设备对应的第一设备标识、所述每个第二业务设备对应的至少两个第三数量、所述第五业务设备对应的第二设备标识和所述第五业务设备对应的至少两个第九数量。23.根据权利要求21或22所述的装置,其特征在于,所述确定模块,用于在所述客户端对应的优先级高于优先级阈值的情况下,根据所述至少两个第一数量和所述至少两个第四数量,从所述至少一个第三业务设备中确定所述至少一个第二业务设备和所述每个第二业务设备对应的至少两个第三数量,以及所述第五业务设备对应的至少两个第九数量。24.根据权利要求15-23任一所述的装置,其特征在于,所述装置还包括:更新模块,用于从所述每个第二业务设备对应的至少两个第二数量中,扣除所述每个第二业务设备对应的至少两个第三数量,得到所述每个第二业务设备对应的至少两个第十数量;根据所述每个第二业务设备对应的至少两个第十数量处理其他资源调度请求。25.一种资源调度装置,其特征在于,所述装置应用于调度系统包括的客户端,所述调度系统还包括第一调度设备和至少一个第一业务设备,所述装置包括:生成模块,用于生成资源调度请求,所述资源调度请求携带至少两个第一数量,每个第一数量为所述客户端的业务请求被处理时需要消耗的至少两种资源中的一种资源的数量;发送模块,用于向所述第一调度设备发送所述资源调度请求;接收模块,用于接收所述第一调度设备发送的至少一个第二业务设备中的每个第二业务设备对应的第一设备标识和所述每个第二业务设备对应的所述至少两个第三数量,每个第一设备标识用于指示对应的第二业务设备,每个第三数量为对应的第二业务设备在业务请求处理过程中消耗的所述至少两种资源中的一种资源的数量,所述至少一个第二业务设备为所述至少一个第一业务设备中的至少一个,每个第一业务设备对应至少两个第二数量,每个第二数量为对应的第一业务设备针对所述至少两种资源中的一种资源能够提供的数量;管理模块,用于根据所述每个第二业务设备对应的第一设备标识和所述每个第二业务设备对应的所述至少两个第三数量,管理所述客户端的业务请求。26.一种资源调度装置,其特征在于,所述装置应用于调度系统包括的至少一个第一业
务设备中的一个第一业务设备,所述调度系统还包括第一调度设备和客户端,所述装置包括:发送模块,用于向所述第一调度设备发送所述第一业务设备对应的第一设备标识和所述第一业务设备对应的至少两个第二数量,每个第二数量为对应的第一业务设备针对至少两种资源中的一种资源能够提供的数量,所述至少两种资源用于所述第一业务设备处理所述客户端的业务请求。27.一种资源调度设备,其特征在于,所述设备包括存储器及处理器;所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行,以使所述设备实现权利要求1-14中任一所述的资源调度方法。28.一种调度系统,其特征在于,所述调度系统包括:调度设备、客户端和至少一个第一业务设备,所述调度设备用于执行权利要求1-10任一所述的资源调度方法,所述客户端用于执行权利要求11-13任一所述的资源调度方法,所述至少一个第一业务设备用于执行权利要求14所述的资源调度方法。29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机指令,所述计算机指令由处理器加载并执行,以使计算机设备实现如权利要求1-14中任一所述的资源调度方法。30.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被处理器执行,以使计算机设备实现权利要求1-14中任一所述的资源调度方法。

技术总结
本申请公开了资源调度方法、装置、设备、系统、存储介质及程序产品,属于云计算技术领域。在调度系统中,包括第一调度设备、客户端和至少一个第一业务设备,第一业务设备用于提供至少两种资源,向第一调度设备上报自身能够提供的每种资源的数量。客户端用于向第一调度设备请求自身需要的每种资源的数量。相应地,第一调度设备用于根据每个第一业务设备能够提供的每种资源的数量及客户端请求的每种资源的数量,确定客户端需要向哪个或哪些第一业务设备发送多少个业务请求,才能使得各个第一业务设备处理业务请求时消耗的资源不会超出该第一业务设备能够提供的资源,从而实现资源调度。本申请提供的资源调度方式较为精确。本申请提供的资源调度方式较为精确。本申请提供的资源调度方式较为精确。


技术研发人员:邓仕军 刘阳 傅贵 赵会娟
受保护的技术使用者:深圳华为云计算技术有限公司
技术研发日:2023.04.28
技术公布日:2023/9/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐