服务调度方法、系统及VTEP与流程

文档序号:30618912发布日期:2022-07-02 01:52阅读:115来源:国知局
服务调度方法、系统及VTEP与流程
服务调度方法、系统及vtep
技术领域
1.本公开涉及数据中心网络技术领域,尤其是一种服务调度方法、系统及虚拟扩展局域网隧道端点(vtep)。


背景技术:

2.数据中心网络是一种在网络基础设施上传递、加速、展示、计算、存储数据信息的网络。
3.相关技术中,数据中心网络利用虚拟扩展局域网-以太网虚拟专用网络(vxlan evpn)技术以及边界网关协议-以太网虚拟专用网络(bgp evpn)路由信息进行服务调度,从而为客户端提供相应的服务。


技术实现要素:

4.发明人注意到,在某些情况下,相关技术中为客户端提供的服务质量不高。
5.为了解决上述问题,本公开实施例提出了如下解决方案。
6.根据本公开实施例的一方面,提供一种服务调度方法,包括第一vtep接收多个vtep的第一路由消息,每个vtep的第一路由消息包括该vtep连接的服务器的算力信息;响应于客户端的服务请求,所述第一vtep基于所述算力信息从所述多个vtep中确定第二vtep;以及所述第一vtep将所述服务请求发送到所述第二vtep,以使得所述第二vtep连接的服务器为所述客户端提供服务。
7.在一些实施例中,所述算力信息包括算力资源的大小;所述第一vtep基于所述算力信息从所述多个vtep中确定第二vtep包括:基于所述算力信息,确定算力资源的大小大于预设值的一组服务器;将所述多个vtep中与所述一组服务器中的一个服务器连接的vtep确定为所述第二vtep。
8.在一些实施例中,所述算力信息还包括一种或多种第一服务类型,所述服务请求携带所述客户端需要的第二服务类型,所述第二vtep连接的服务器的一种第一服务类型与所述第二服务类型相同。
9.在一些实施例中,所述算力信息还包括算力资源的算力类型,所述服务请求携带所述客户端需要的多种算力类型;所述一组服务器中每个服务器的算力资源的大小为所述多种算力类型的算力资源的加权计算结果。
10.在一些实施例中,所述服务请求携带加权信息,所述加权信息包括所述多种算力类型中每种算力类型的权重,所述加权计算结果基于所述加权信息计算得到。在一些实施例中,所述第二vtep连接的服务器为所述一组服务器中算力资源最大的服务器。
11.在一些实施例中,所述第一vtep将所述服务请求发送到所述第二vtep,以使得所述第二vtep连接的服务器为所述客户端提供服务包括:所述第一vtep经由第一隧道将所述服务请求发送到所述第二vtep,所述第一隧道由所述第一vtep基于所述第一路由消息建立;所述第一vtep经由第二隧道接收所述第二vtep发送的服务响应,所述第二隧道由所述
第二vtep基于所述第一vtep发送的第二路由消息建立,所述服务响应由所述第二vtep连接的服务器生成。
12.在一些实施例中,所述第二路由消息由所述第一vtep响应于所述服务请求生成。
13.在一些实施例中,所述第二路由消息为媒体存取控制(mac)地址通告消息或互联网协议地址前缀(ip prefix)通告消息。
14.在一些实施例中,每个vtep连接的服务器的算力资源包括中央处理器资源、图形处理器资源、处理器分散处理单元资源和内存资源中的至少一种。
15.根据本公开实施例的另一方面,提供一种vtep,包括:接收模块,被配置为接收多个vtep的第一路由消息,每个vtep的第一路由消息包括该vtep连接的服务器的算力信息;确定模块,被配置为响应于客户端的服务请求,基于所述算力信息从所述多个vtep中确定第二vtep;以及发送模块,被配置为将所述服务请求发送到所述第二vtep,以使得所述第二vtep连接的服务器为所述客户端提供服务。
16.根据本公开实施例的又一方面,提供一种vtep,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行上述任意一个实施例所述的方法。
17.根据本公开实施例的还一方面,提供一种服务调度系统,包括:第一vtep,为上述任意一个实施例所述的vtep;以及所述多个vtep,所述多个vtep中的每个vtep被配置为发送第一路由消息到所述第一vtep,所述多个vtep中的第二vtep还被配置为响应于接收到的所述第一vtep发送的所述服务请求,为所述客户端提供服务。
18.根据本公开实施例的还一方面,提供一种服务调度系统,还包括:所述服务器和所述客户端中的至少一个。
19.根据本公开实施例的还一方面,提供一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述任意一个实施例所述的方法。
20.根据本公开实施例的还一方面,提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述任意一个实施例所述的方法。
21.本公开实施例中,第一vtep和多个vtep之间通过路由信息实现算力信息端到端的传递,进而由第一vtep基于算力信息确定为客户端提供服务的服务器连接的第二vtep。由于服务器的算力可以影响服务质量,在服务调度时基于算力信息确定第二vtep,可以使得合适的服务器为客户端提供服务,有利于提高服务质量。
22.下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
23.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是根据本公开一些实施例的服务调度方法的流程示意图。
25.图2是根据本公开另一些实施例的服务调度方法的流程示意图。
26.图3是根据本公开一些实施例的建立双向隧道的流程示意图。
27.图4是根据本公开一些实施例的vtep的结构示意图。
28.图5是根据本公开另一些实施例的vtep的结构示意图。
29.图6是根据本公开一些实施例的服务调度系统的结构示意图。
具体实施方式
30.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
31.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
32.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
33.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
34.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
35.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
36.图1是根据本公开一些实施例的服务调度方法的流程示意图。
37.在步骤102,第一vtep接收多个vtep的第一路由消息。这里,每个vtep的第一路由消息包括该vtep连接的服务器的算力信息。
38.例如,算力信息可以包括算力资源的大小。算力资源例如包括中央处理器资源(cpu)、图形处理器资源(gpu)、处理器分散处理单元资源(dpu)和内存资源中的至少一种。后文将结合一些实施例进一步说明。
39.在一些实施例中,第一vtep可以响应于第一路由消息和多个vtep中的每一个建立隧道。
40.在步骤104,响应于客户端的服务请求,第一vtep基于算力信息从多个vtep中确定第二vtep。
41.例如,可以基于算力资源的大小和/或服务器的服务类型确定第二vtep,后文将结合一些实施例进一步说明。
42.在步骤106,第一vtep将服务请求发送到第二vtep,以使得第二vtep连接的服务器为客户端提供服务。
43.例如,第一vtep可以经由与第二vtep建立的双向隧道将服务请求发送到第二vtep,并经由双向隧道接收第二vtep提供的服务。后文将结合一些实施例进一步说明。
44.上述实施例中,第一vtep和多个vtep之间通过路由信息实现算力信息端到端的传递,进而由第一vtep基于算力信息确定为客户端提供服务的服务器连接的第二vtep。由于服务器的算力可以影响服务质量,在服务调度时基于算力信息确定第二vtep,可以使得合适的服务器为客户端提供服务,有利于提高服务质量。
45.下面结合一些实施例对第一vtep如何接收多个vtep的第一路由消息进行介绍。
46.在一些实施例中,多个vtep中的每个vtep接收与该vtep连接的服务器发送的算力信息,再基于算力信息生成第一路由消息。
47.作为一些实现方式,多个vtep中的每个vtep可以连接一个或多个服务器。在一个vtep连接多个服务器的情况下,第一路由消息例如还可以包括多个服务器的标识。
48.在一些实施例中,第一vtep基于边界网关协议(bgp)接收多个vtep的发送的第一路由消息。
49.表1是根据本公开一些实施例的第一路由消息。
50.表1
[0051][0052]
表1所示的实施例中,算力资源包括cpu、gpu、dpu和内存资源。
[0053]
下面结合一些实施例介绍第一vtep如何基于算力信息从多个vtep中确定第二vtep。
[0054]
在一些实施例中,算力信息包括算力资源的大小。这种情况下,第一vtep基于算力
信息,确定算力资源的大小大于预设值的一组服务器,将多个vtep中与一组服务器中的一个服务器连接的vtep确定为第二vtep。
[0055]
例如,在算力信息包括cpu算力信息的情况下,确定cpu算力大于预设值的一组服务器,选择这一组服务器中的一个作为为客户端提供服务的服务器,将与该服务器连接的vtep确定为第二vtep。
[0056]
又例如,服务请求还可以包括客户端需要的算力资源的种类(例如客户端需要cpu算力资源),在算力信息包括cpu算力信息、gpu算力信息和dpu算力信息的情况下,第一vtep确定cpu算力大于预设值的一组服务器,选择这一组服务器中的一个作为为客户端提供服务的服务器,将与该服务器连接的vtep确定为第二vtep。
[0057]
在一些实施例中,算力信息还包括算力资源的算力类型,服务请求携带客户端需要的多种算力类型。这种情况下,一组服务器中每个服务器的算力资源的大小为多种算力类型的算力资源的加权计算结果。
[0058]
例如,在算力信息包括cpu、gpu和dpu这三种算力类型,服务请求携带的客户端需要的多种算力类型为cpu和gpu的情况下,第一vtep可以对cpu和gpu这两种算力类型的算力资源进行加权计算得到加权计算结果,确定加权计算结果大于预设值的一组服务器,选择这一组服务器中的一个作为为客户端提供服务的服务器,将与该服务器连接的vtep确定为第二vtep。
[0059]
在一些实施例中,服务请求携带加权信息,加权信息包括多种算力类型中每种算力类型的权重,加权计算结果基于加权信息计算得到。
[0060]
例如,服务请求携带cpu和gpu的权重,第一vtep可以基于权重对cpu和gpu这两种算力类型的算力资源进行加权计算得到加权计算结果。
[0061]
应理解,以上预设值可以是固定的某个值,也可以是某个算力资源的大小。例如,一共有按照算力资源从小到大的顺序从1至10依次排列的10个服务器,预设值可以是第8个的服务器的算力资源的大小。这种情况下,第9个服务器和第10个服务器即为第一vtep确定的一组服务器。
[0062]
上述实施例中,通过设置预设值对服务器进行筛选从而确定第二vtep,有利于确保为客户端提供服务的服务器的算力能够满足要求,从而提高服务质量。
[0063]
进一步地,上述实施例提供了多种方法来确定提供服务的服务器,有利于充分满足客户端的需求。
[0064]
在一些实施例中,第二vtep连接的服务器为一组服务器中算力资源最大的服务器。
[0065]
例如,在算力信息包括cpu算力信息的情况下,确定cpu算力最大的服务器作为为客户端提供服务的服务器,将与该服务器连接的vtep确定为第二vtep。
[0066]
上述实施例中,通过选择算力最大的服务器来提供服务,有利于进一步提高服务质量。
[0067]
在一些实施例中,算力信息除了包括算力资源的大小,还包括一种或多种第一服务类型。这里,服务请求携带客户端需要的第二服务类型,第二vtep连接的服务器的一种第一服务类型与第二服务类型相同。
[0068]
作为一些实现方式,服务类型可以包括网页浏览、视频播放以及音乐播放等,第一
服务类型也即服务器能够提供的服务类型,第二服务类型也即客户端需要的服务类型。
[0069]
例如,服务器a的第一服务类型包括网页浏览,服务器b的第一服务类型包括视频播放和音乐播放,客户端c的第二服务类型是视频播放,则服务器b的一种第一服务类型与第二服务类型相同。进一步地,如果服务器b的算力资源的大小大于预设值,例如服务器b的算力资源是最大的,可以确定服务器b作为为客户端提供服务的服务器,将与服务器b连接的vtep确定为第二vtep。
[0070]
上述实施例中,从算力资源的大小和服务类型两方面对服务器进行选择,既保证了服务器能够提供客户端所需的服务,又有利于提高为客户端提供的服务质量。
[0071]
下面结合一些实施例介绍第一vtep如何将服务请求发送到第二vtep,以使得第二vtep连接的服务器为客户端提供服务。
[0072]
图2是根据本公开另一些实施例的服务调度方法的流程示意图。
[0073]
在步骤202,第一vtep经由第一隧道将服务请求发送到第二vtep。这里,第一隧道由第一vtep基于第一路由消息建立。
[0074]
在步骤204,第一vtep经由第二隧道接收第二vtep发送的服务响应。这里,第二隧道由第二vtep基于第一vtep发送的第二路由消息建立,服务响应由第二vtep连接的服务器生成。
[0075]
上述实施例中,基于第一隧道和第二隧道组成的双向隧道传递服务请求和服务响应,无须感知服务器和客户端之间的中间物理链路,有利于提高大型数据中心场景下的服务质量。
[0076]
在一些实施例中,第二路由消息由第一vtep响应于服务请求生成。
[0077]
例如,第一vtep接收到客户端发送的服务请求后,基于服务请求携带的客户端的ip地址生成第二路由消息。
[0078]
在一些实施例中,第二路由消息为mac地址通告消息或ip prefix通告消息。
[0079]
下面结合一个具体的实施例介绍如何建立双向隧道(也即第一隧道和第二隧道)。
[0080]
图3是根据本公开一些实施例的建立双向隧道的流程示意图。简洁起见,图3中只示出了第二vtep,应理解,多个vtep中的每个都可以采用与图3所示的第二vtep类似的方式与第一vtep建立双向隧道。
[0081]
在步骤302,服务器发送算力信息到第二vtep。算力信息例如可以包括cpu、gpu、dpu和内存资源这四种算力资源的大小。
[0082]
在步骤304,第二vtep基于算力信息生成第一路由消息。这里,第一路由消息包括算力信息。第一路由消息例如是表1所述的第一路由消息。
[0083]
在步骤306,第二vtep发送第一路由消息到第一vtep。例如,可以基于bgp协议发送第一路由消息。
[0084]
在步骤308,第一vtep基于第一路由消息建立第一隧道。由此,第一vtep可以经由第一隧道向第二vtep传递数据,例如服务请求。
[0085]
在步骤310,第一vtep接收客户端发送的服务请求。这里,服务请求可以携带客户端的ip地址。
[0086]
在步骤312,第一vtep基于客户端的ip地址生成第二路由消息。例如,第二路由消息可以是mac地址通告消息或者ip prefix通告消息。
[0087]
在步骤314,第一vtep发送第二路由消息到第二vtep。
[0088]
在步骤316,第二vtep基于第二路由消息建立第二隧道。由此,第二vtep可以经由第二隧道向第一vtep传递数据,例如服务响应。上述实施例中,利用第一路由消息传递算力信息,使得第一vtep能够及时地获取算力信息,进一步地,通过建立双向隧道,有利于提高大型数据中心场景下的服务质量。
[0089]
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于vtep实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0090]
图4是根据本公开一些实施例的vtep的结构示意图。
[0091]
如图4所示,vtep 400包括接收模块401、确定模块402和发送模块403。图4所示的vtep 400可以作为第一vtep。
[0092]
接收模块401被配置为接收多个vtep的第一路由消息。这里,每个vtep的第一路由消息包括该vtep连接的服务器的算力信息。
[0093]
确定模块402被配置为响应于客户端的服务请求,基于算力信息从多个vtep中确定第二vtep。
[0094]
发送模块403被配置为将服务请求发送到第二vtep,以使得第二vtep连接的服务器为客户端提供服务。
[0095]
图5是根据本公开另一些实施例的vtep的结构示意图。
[0096]
如图5所示,vtep 500包括存储器501以及耦接至该存储器501的处理器502,处理器502被配置为基于存储在存储器501中的指令,执行前述任意一个实施例的方法。
[0097]
存储器501例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如可以存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。
[0098]
vtep 500还可以包括输入输出接口503、网络接口504、存储接口505等。这些接口503、504、505之间、以及存储器501与处理器502之间例如可以通过总线506连接。输入输出接口503为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口504为各种联网设备提供连接接口。存储接口505为sd卡、u盘等外置存储设备提供连接接口。
[0099]
图6是根据本公开一些实施例的服务调度系统的结构示意图。
[0100]
如图6所示,服务调度系统600包括第一vtep 601和多个vtep 602。
[0101]
第一vtep 601可以是上述任意一个实施例所述的vtep,例如是vtep 400或vtep 500。
[0102]
多个vtep 602被配置为发送第一路由消息到第一vtep 601,多个vtep中的每个vtep中的第二vtep 602被配置为响应于接收到的第一vtep 601发送的服务请求,为客户端提供服务。
[0103]
在一些实施例中,如图6所示,服务调度系统600还可以包括服务器603和客户端604中的至少一个。应理解,图6示意性地示出了每个vtep 602连接了一个服务器,但这并非是限制性的。在某些实施例中,每个vtep 602可以连接多个服务器。
[0104]
本公开实施例还提供了一种计算机可读存储介质,包括计算机程序指令,该计算机程序指令被处理器执行时实现上述任意一个实施例的方法。
[0105]
本公开实施例还提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
[0106]
至此,已经详细描述了本公开的各实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
[0107]
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0108]
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解,可由计算机程序指令实现流程图中一个流程或多个流程和/或方框图中一个方框或多个方框中指定的功能。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0109]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0110]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0111]
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1