一种信息传输方法及其相关设备

文档序号:32928917发布日期:2023-01-14 05:42阅读:33来源:国知局
一种信息传输方法及其相关设备

1.本技术涉及云技术领域,尤其涉及一种信息传输方法及其相关设备。


背景技术:

2.随着云技术的飞速发展,云服务系统的规模越来越大。图1为相关技术中的云服务系统的一个结构示意图,如图1所示,该云服务系统为三层架构,底层为广泛分布的物理服务器,中间层为柜顶(top of rack,tor)交换机,顶层为核心(core)交换机,不同服务器之间可通过两层交换机实现数据传输。此外,系统中还部署有一个仲裁器,用于对所有服务器进行统一管理。
3.对于任意一个tor交换机而言,该tor交换机连接有多个服务器,当某个服务器存在数据传输需求时(例如,该服务器要向另一个服务器发送数据),可先通过该tor交换机向仲裁器发送请求。然后,仲裁器可对请求进行处理,并将得到的应答返回至该服务器,以使得该服务器基于该应答实现数据传输。
4.然而,当同一tor交换机在同一时间接收到不同服务器的请求时,请求之间在该交换机处发生冲突(碰撞),若该tor交换机未设置有用于缓冲请求的缓存,会导致请求丢失,影响服务器之间的数据传输。


技术实现要素:

5.本技术实施例提供了一种信息传输方法及其相关设备,可有效避免请求之间发生碰撞的情况出现,不会导致请求丢失,有利于提高服务器之间数据传输的稳定性。
6.本技术实施例的第一方面提供了一种信息传输方法,该方法应用于云服务系统,云服务系统包括仲裁器、第一交换机和第一服务器组,仲裁器通过第一交换机与第一服务器组连接,第一服务器组中不同的服务器具有不同的标识,该方法包括:
7.当第一服务器需通过第一交换机向仲裁器发送第一请求时,第一服务器可先获取第一服务器在第一服务器组中的第一标识。然后,第一服务器在第一时隙中确定与第一标识对应的第一时域位置,第一时域位置为第一交换机接收第一请求的时域位置。最后,第一服务器向第一交换机发送第一请求,以使得第一交换机在第一时域位置接收第一请求,并将第一请求发送至仲裁器。
8.此外,若第一服务器组中,除第一服务器之外的其余服务器也需通过第一交换机向仲裁器发送请求,其余服务器也可执行如同第一服务器所执行的步骤。由于第一服务器组中不同的标识对应第一时隙中不同的时域位置,故第一交换机在第一时隙中接收第一服务器的第一请求的时域位置,与第一交换机在第一时隙中接收其余服务器的请求的时域位置是不同的。
9.例如,与tor交换机1连接的服务器组1中包含服务器1和服务器2,服务器1在服务器组1中的标识1(标识1可取值为1),服务器2在服务器组1中的标识2(标识2可取值为2)。当服务器1和服务器2均需向仲裁器发送请求时,服务器1可获取其在服务器组1中的标识1,服
务器2可获取其在服务器组1中的标识2。由于标识1和标识2的取值不同,故这两个标识在时隙1对应不同的时域位置,故服务器1可令tor交换机1在时隙1中与标识1对应的时域位置接收请求1,服务器2可令tor交换机1在时隙1中与标识2对应的时域位置接收请求2。tor交换机1先后接收到请求1和请求2后,可依次将请求1和请求2转发至仲裁器。
10.从上述方法可以看出:在第一服务器组中,若第一服务器以及除第一服务器之外的其余服务器均需通过第一交换机向仲裁器发送请求,由于第一服务器组中不同服务器的标识必然不同,且不同的标识对应第一时隙中不同的时域位置,故第一服务器和其余服务器不会令第一交换机在第一时隙中的同一时域位置接收多个请求,可有效避免请求之间发生碰撞的情况出现,不会导致请求丢失,有利于提高服务器之间数据传输的稳定性。
11.在一种可能的实现方式中,第一服务器根据第一时域位置,向交换机发送第一请求包括:第一服务器根据第一时域位置,以及第一服务器和第一交换机之间信息传输的第一时长计算第二时域位置;第一服务器在第二时域位置,向第一交换机发送第一请求。前述实现方式中,由于第一时域位置为第一交换机接收信息的时域位置,故需要将该时域位置转换为第一服务器发送信息的时域位置。具体地,第一服务器可先获取第一服务器和第一交换机之间信息传输的第一时长,将第一时域位置减去第一时长得到第二时域位置,并在第二时域位置向第一交换机发送第一请求,以使得第一交换机可在第一时域位置接收第一请求。
12.在一种可能的实现方式中,第一服务器获取第一服务器在第一服务器组中的第一标识之前,该方法还包括:第一服务器接收来自第一交换机的第二应答,第二应答为仲裁器处理第二请求得到的,第二请求用于指示第一服务器需向第二服务器发送第一数据,第二应答用于指示令第一交换机在第一时隙接收第一数据;第一服务器获取第一服务器在第一服务器组中的第一标识包括:第一服务器根据第二应答获取第一服务器在第一服务器组中的第一标识。前述实现方式中,在发送第一请求之前,第一服务器可通过第一交换机向仲裁器发送第二请求,并通过第一交换机接收仲裁器的第二应答。由于第二应答用于指示令第一交换机在第一时隙接收第一数据,故第一服务器基于第二应答,可确定不仅需令第一交换机在第一时隙中接收第一请求,还需令第一交换机在第一时隙中接收第一数据。那么,第一服务器可获取其在第一服务器组中的第一标识,以在第一时隙中确定与第一标识对应的第一时域位置,即第一交换机接收第一请求的时域位置。
13.在一种可能的实现方式中,云服务系统还包括第二交换机和第二服务器组,第一交换机和第二交换机连接,仲裁器通过第二交换机与第二服务器组连接,第一服务器接收来自第一交换机的第二应答之后,该方法还包括:第一服务器根据第二应答获取第二服务器在第二服务器组中的第二标识;第一服务器在第一时隙中,确定与第二标识对应的第三时域位置;第一服务器根据第三时域位置以及第一时长计算第四时域位置;第一服务器在第四时域位置保持静默。前述实现方式中,第一服务器接收第二应答后,由于第二应答用于指示令第一交换机在第一时隙接收第一数据,故第一服务器基于第二应答,可确定不仅需令第一交换机在第一时隙中接收第一请求,还需令第一交换机在第一时隙中接收第一数据。那么,第一服务器可获取第二服务器在第二服务器组中的第二标识,以在第一时隙中确定与第二标识对应的第三时域位置,该时域位置为保留的时域位置(即作为后续接收应答的时域位置)。然后,第一服务器将第三时域位置减去第一时长得到第四时域位置,并在第
四时域位置保持静默(即不发送任何信息)。
14.在一种可能的实现方式中,第一服务器接收来自第一交换机的第二应答之后,该方法还包括:第一服务器在第一时隙中,将除第一时域位置与第三时域位置之外的其余时域位置确定为第五时域位置;第一服务器根据第五时域位置以及第一时长计算第六时域位置;第一服务器在第六时域位置,向第一交换机发送第一数据。前述实现方式中,第一服务器在第一时隙中确定第一时域位置和第三时域位置后,可将第一时隙中的其余时域位置确定为用于传输第一数据的时域位置,即第五时域位置。然后,第一服务器将第五时域位置减去第一时长得到第六时域位置,并在第六时域位置向第一交换机发送第一数据,以使得第一交换机可在第五时域位置接收第一数据。
15.在一种可能的实现方式中,第二应答携带第二应答离开仲裁器的时域位置,该方法还包括:第一服务器根据第二应答到达第一服务器的时域位置,第二应答离开仲裁器的时域位置,以及第一服务器与仲裁器之间信息传输的第三时长计算时钟偏差;第一服务器根据时钟偏差对第一服务器的本地时钟进行调整,以使得第一服务器的本地时钟与仲裁器的本地时钟保持同步。可见,第一服务器可在与仲裁器交互的过程中,自动调整第一服务器的本地时钟,以使得第一服务器的本地时钟与仲裁器的本地时钟保持同步。
16.在一种可能的实现方式中,若第一标识和第二标识相同,则第一时域位置和第三时域位置为相同的时域位置。
17.在一种可能的实现方式中,第一标识为第一服务器在第一服务器组中的第一编号,第二标识为第二服务器在第二服务器组中的第二编号。
18.本技术实施例的第二方面提供了一种信息传输方法,该方法应用于云服务系统,云服务系统包括仲裁器、第二交换机和第二服务器组,仲裁器通过第二交换机与第二服务器组连接,第二服务器组中不同的服务器具有不同的标识,该方法包括:
19.第二服务器通过第二交换机向仲裁器发送第三请求,以使得仲裁器对第三请求进行处理,得到第三应答。然后,仲裁器在第二时隙中,获取与第二服务器在第二服务器组中的第二标识对应的第七时域位置,第七时域位置为第二交换机接收第三应答的时域位置。最后,仲裁器向第二交换机发送第三应答,以使得第二交换机在第二时隙中的第七时域位置接收第三应答。
20.此外,若第二服务器组中,除第二服务器之外的其余服务器也通过第二交换机向仲裁器发送请求,仲裁器也可对这些请求进行处理得到相应的应答,并执行如同上述的过程。由于第二服务器组中不同的标识对应第二时隙中不同的时域位置,故第二交换机在第二时隙中接收待第二服务器接收的第三应答的时域位置,以及第二交换机在第二时隙中接收待其余服务器接收的应答的时域位置是不同的。
21.例如,与tor交换机2连接的服务器组2中包含服务器1和服务器2,服务器1在服务器组2中的标识1(标识1可取值为1),服务器2在服务器组2中的标识2(标识2可取值为2)。当服务器1和服务器2分别向仲裁器发送请求3和请求4后,仲裁器可对两个请求分别进行处理得到应答3和应答4。
22.接着,仲裁器可获取服务器1在服务器组2中的标识1,服务器2在服务器组2中的标识2。由于标识1和标识2的取值不同,故这两个标识在时隙2对应不同的时域位置,故仲裁器可令tor交换机2在时隙2中与标识1对应的时域位置接收应答3,令tor交换机2在时隙2中与
标识2对应的时域位置接收应答4。tor交换机2先后接收到应答3和应答4后,可将应答3发送至服务器1,将应答4发送至服务器2。
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.图1为相关技术中的云服务系统的一个结构示意图;
55.图2为相关技术中的云服务系统的另一结构示意图;
56.图3为相关技术中的云服务系统的另一结构示意图;
57.图4为本技术实施例提供的云服务系统的一个结构示意图;
58.图5为本技术实施例提供的信息传输方法的一个示意图;
59.图6为本技术实施例提供的时隙的一个示意图;
60.图7为本技术实施例提供的时隙的另一个示意图;
61.图8为本技术实施例提供的时隙的另一个示意图;
62.图9为本技术实施例提供的时隙的另一个示意图;
63.图10为本技术实施例提供的云服务系统的另一结构示意图;
64.图11为本技术实施例提供的云服务系统的另一结构示意图;
65.图12为本技术实施例提供的服务器的一个结构示意图;
66.图13为本技术实施例提供的仲裁器的一个结构示意图;
67.图14为本技术实施例提供的服务器的另一个结构示意图;
68.图15为本技术实施例提供的仲裁器的另一个结构示意图。
具体实施方式
69.本技术实施例提供了一种信息传输方法及其相关设备,可有效避免请求之间发生
碰撞的情况出现,不会导致请求丢失,有利于提高服务器之间数据传输的稳定性。
70.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”并他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
71.随着云技术的飞速发展,云服务系统的规模越来越大。如图1所示,该云服务系统为三层架构,底层为广泛分布的物理服务器,中间层为柜顶(top of rack,tor)交换机,顶层为核心(core)交换机,不同服务器之间可通过两层交换机实现数据传输。此外,系统中还部署有一个仲裁器,用于对所有服务器进行统一管理。
72.对于任意一个tor交换机而言,该tor交换机连接有多个服务器,当该tor交换机下的某个服务器存在数据传输需求时(例如,该服务器需向另一交换机下的某个服务器发送数据),可先通过该tor交换机向仲裁器发送请求。然后,仲裁器可对请求进行处理,并将得到的应答通过该tor交换机返回至该服务器,以使得该服务器基于应答实现数据传输。
73.然而,当同一tor交换机在某一时间接收到不同服务器的请求时,请求之间在该交换机处发生冲突(碰撞),若该tor交换机未设置有缓存(也可以理解为,该tor交换机为零缓存交换机),会导致请求丢失,影响服务器之间的数据传输。下文结合图2对前述过程做进一步的说明,图2为相关技术中的云服务系统的另一结构示意图。如图2所示,tor交换机1连接有服务器1和服务器2,当服务器1存在新的数据传输需求时,可向tor交换机1发送请求1(设服务器1正通过tor交换机1向tor交换机2下的服务器3发送数据1),同样地,当服务器2也存在新的数据传输需求时,可向tor交换机1发送请求2(设服务器2正通过tor交换机1向tor交换机2下的服务器4发送数据2)。设tor交换机1在同一时域位置接收请求1和请求2(即tor交换机1在同一时间开始请求1和请求2的接收,且在同一时间完成请求1和请求2的接收),相当于请求1和请求2在tor交换机1处出现碰撞,由于tor交换机1未设置有缓存,故只能选择其中一个请求转发至仲裁器,导致另一请求丢失。
74.进一步地,当某一tor交换机接收到仲裁器针对某个服务器的应答时,若此时tor交换机正在向该服务器发送数据,应答和数据在该交换机处发生冲突(碰撞),由于该tor交换机未设置有缓存,会导致应答或数据的丢失,影响服务器之间的数据传输。下文结合图3对前述过程做进一步的说明,图3为相关技术中的云服务系统的另一结构示意图。如图3所示,仲裁器得到针对服务器3的应答3后,可先将应答3发送至tor交换机2。设tor交换机2在同一时域位置接收到来自仲裁器的应答3以及来自tor交换机1的数据1,相当于应答3和数据1在tor交换机2处出现碰撞,由于tor交换机2未设置有缓存,故只能选择将数据1转发至仲裁器,导致应答3丢失。
75.为了解决上述问题,本技术实施例提供了一种信息传输方法,该方法可应用如图4所示的云服务系统(图4为本技术实施例提供的云服务系统的一个结构示意图),下文先对该云服务系统进行介绍。如图4所示,该云服务系统包括:仲裁器、多个核心交换机、多个tor交换机以及多个物理服务器。
76.对于任意一个tor交换机,该tor交换机连接有一个服务器组,该服务器组通常包
含多个物理服务器,物理服务器可通过多种方式为用户提供云服务:例如,物理服务器上可部署有多个虚拟实例,如虚拟机(virtual machine,vm)、容器(docker)等等,这些虚拟实例可被分配至用户,以为用户提供云服务。又如,物理服务器还可以裸金属服务器(即物理服务器自身)的方式,直接为用户提供云服务。
77.需要说明的是,对于任意一个服务器组,该服务器组中的任意一个服务器,具有在该服务器组中的唯一标识(例如,编号等等)。如图4所示,云服务系统中设置有k/2个tor交换机,每个tor交换机可连接有k/2个服务器。其中,tor交换机1连接有服务器组1,服务器组1包含服务器1、服务器2、...、服务器k/2,服务器1在服务器组1中的编号为1,服务器2在服务器组1中的编号为2,服务器k/2在服务器组1中的编号为k/2等等。同样地,tor交换机2连接有服务器组2,服务器组2也包含服务器1、服务器2、...、服务器k/2,服务器1在服务器组2中的编号为1,服务器2在服务器组2中的编号为2,服务器k/2在服务器组2中的编号为k/2等等。以此类推,其余服务器组也是如此,此处不再赘述。
78.仲裁器为管理整个云服务系统的中心,仲裁器可以为物理服务器、卸载卡或异构卡等等,其中,卸载卡可以通过现场可编程逻辑门阵列(field programmable gate array,fpga)、特殊应用集成电路(application specific integrated circuit,asic)等形式呈现,异构卡可以通过图形处理器(graphics processing unit,gpu)、网络接口控制器(network interface controller,nic)等形式呈现。仲裁器与每个tor交换机连接,故对于任意一个tor交换机,仲裁器可通过该tor交换机与该tor交换机所连接的服务器组实现通信。如此一来,仲裁器可对所有的服务器进行管理,如图4所示,tor交换机1下的服务器1需对tor交换机2下的服务器2发送数据时,服务器1可通过tor交换机1向仲裁器发送请求。然后,仲裁器对服务器1的请求进行处理,并通过tor交换机1向服务器1下发应答(包含数据传输的时隙和路径等信息),以使得服务器1基于应答,向tor交换机2下的服务器2发送数据。
79.进一步地,tor交换机之间可通过核心交换机连接,如此一来,不同组的服务器之间可依次通过tor交换机、核心交换机实现数据传输。
80.为了进一步理解上述数据传输的过程,下文结合图5对该过程做进一步的介绍。图5为本技术实施例提供的信息传输方法的一个示意图,该方法可应用于如图4所示的云服务系统,如图5所示,该方法包括:
81.501、第一服务器接收来自第一交换机的第二应答,第二应答为仲裁器处理第二请求得到的。
82.本实施例中,将云服务系统中作为数据发送端的某个服务器称为第一服务器,将作为数据接收端的某个服务器称为第二服务器。具体地,第一服务器为第一交换机下的第一服务器组中的某一服务器,第二服务器为第二交换机下的第二服务器组中的某一服务器。
83.由于第一服务器会不定时地产生数据传输需求,故第一服务器可不断通过第一交换机向仲裁器发送请求,以通过第一交换机接收仲裁器的应答,从而实现数据传输。具体地,第一服务器可按一定的规律向仲裁器发送请求,该规律可以为:第一服务器令第一交换机在每个时隙中均能接收到第一服务器的请求,并将其转发至仲裁器。
84.需要说明的是,整个云服务系统的时间轴可被划分为多个连续的时隙,每个时隙可视为时间轴上的一个时域位置(即一个时间段),具有起点和终点。时隙的长度通常与服
务器组中的服务器数量相关,由于云服务系统中,每个服务器组均包含k/2个服务器,那么,1个时隙的长度大于或等于k/2-1个数据包的长度(可以理解为传输k/2-1个数据包所需占用的时域位置的长度)、1个请求包的长度以及1个应答包的长度之和。为了进一步理解时隙,下文结合一个具体应用例对时隙做进一步的介绍。如图6所示(图6为本技术实施例提供的时隙的一个示意图),设每个服务器组包含4个服务器,故1个时隙的长度为3个数据包的长度、1个请求包的长度以及1个应答包的长度之和。
85.可见,一个时隙可被划分为三个部分,第一部分为用于传输数据的时域位置,第二部分为用于传输请求的时域位置,第三部分为用于传输应答的时域位置,这三部分时域位置在时隙中的分布可由服务器在服务器组中的标识(为方便说明,后续称为服务器的组内标识)决定。依旧如上述例子,如图7所示(图7为本技术实施例提供的时隙的另一个示意图),在1个时隙中,用于传输数据的时域位置的长度为3个数据包的长度,故这一部分时域位置可平均分为3段,这3段时域位置之间则存在4个空隙,即图7中的空隙1、空隙2、空隙3和空隙4。那么,用于传输请求的时域位置和用于传输应答的时域位置则可在这4个空隙中插入。
86.由于一个时隙中存在k/2个空隙,若某个服务器需要向另一服务器发送数据时,发送数据的服务器可令其连接的交换机在某个时隙中接收该服务器的请求,该时隙中用于传输请求的时域位置所插入的空隙序号与发送数据的服务器的组内标识相关,例如,该时隙中用于传输请求的时域位置所插入的空隙序号为发送数据的服务器的编号等等。相应地,该时隙中用于传输应答的时域位置所插入的空隙序号与接收数据的服务器的组内标识相关,例如,该时隙中用于传输应答的时域位置所插入的空隙序号为接收数据的服务器的编号等等。那么,随着服务器的组内标识的变化,这两部分时域位置可通过多种方式插入空隙中,下文将分别进行介绍:
87.如图8所示(图8为本技术实施例提供的时隙的另一个示意图),设tor交换机1下的服务器1需对tor交换机2下的服务器2发送数据时,服务器1可向tor交换机1发送请求,并使得tor交换机1在时隙1中接收请求。那么,由于服务器1的编号为1且服务器2的编号为2,故服务器1可在时隙1的空隙1中插于用于传输请求的时域位置,并在时隙1的空隙2中插入用于传输应答的时域位置,而时隙1的其余时域位置则用于传输数据。如此一来,服务器1可在时隙1中,确定用于传输请求的时域位置、用于传输应答的时域位置以及用于传输数据的时域位置。
88.如图9所示(图9为本技术实施例提供的时隙的另一个示意图),设tor交换机1下的服务器1需对tor交换机2下的服务器1发送数据时,tor交换机1下的服务器1可向tor交换机1发送请求,并使得tor交换机1在时隙1中接收请求。那么,由于tor交换机1下的服务器1的编号为1且tor交换机2下的服务器1的编号也为1,故tor交换机1下的服务器1可在时隙1的空隙1中插于用于传输请求的时域位置,并在时隙1的空隙1中插入用于传输应答的时域位置,此时,用于传输请求的时域位置以及用于传输应答的时域位置是完全相同的,而时隙1的其余时域位置则用于传输数据。如此一来,服务器1可在时隙1中,确定用于传输请求的时域位置、用于传输应答的时域位置以及用于传输数据的时域位置。
89.基于图8和图9所示的例子可知,在同一时隙中,不同的组内标识对应不同的空隙,相当于对应不同的时域位置,相同的组内标识对应相同的空隙,相当于对应相同的时域位
置。
90.为了方便说明,下文以第一交换机为参考点,将第一交换机在一个时隙接收第一服务器的请求,这一过程视为一个轮次。由于第一服务器可令第一交换机在每个时隙中均能接收到第一服务器的请求,可见,前述过程会循环发生,即存在多个轮次。下文将对第1个轮次和除第1个轮次之外的其余轮次分别进行介绍:
91.(1)对于第1个轮次,即整个云服务系统刚启动,第一服务器启动后,若存在向其他服务器发送数据的需求,可生成第1个请求。对于第一服务器而言,传输第1个请求的第1个时隙是预置的,第1个时隙的起点位于系统的启动时间之后。故第一服务器得到第1个请求后,可直接确定需令第一交换机在第1个时隙接收第1个请求。
92.(2)对于第n个轮次(n>1),第一服务器生成第n个请求后,第一服务器同样也可直接确定需令第一交换机在第n个时隙接收第n个请求。值得注意的是,在第一服务器生成第n个请求之前,第一服务器通常会接收到第m个应答(m<n),第m个应答由仲裁器对第一服务器的第m个请求(第m个轮次中的请求,第m个请求用于指示第一服务器需向第二服务器发送数据)进行处理得到。第m个应答可包含第n个时隙、数据传输路径(第一服务器

第一交换机

第二交换机

第二服务器)以及第二服务器在整个云服务系统中的唯一标识(也可称为第二服务器的全局标识)等信息,由于数据传输路径以第一服务器为起点,以第二服务器为终端,中间经过第一交换机和第二交换机,故第一服务器基于第m个请求中的信息,可确定需令第一交换机在第n个时隙接收第一服务器需向第二服务器发送的数据,相当于第一服务器基于第m个请求中的信息,可确定不仅需令第一交换机在第n个时隙中接收第n个请求,还需令第一交换机在第n个时隙中接收第一服务器需向第二服务器发送的数据。
93.为了便于说明,下文均以情况(2)进行介绍,后续不再赘述。
94.应理解,情况(1)或情况(2)中,第1个请求或第n个请求均可作为前述的第一请求,相应地,第1个时隙或第n个时隙可作为前述的第一时隙。情况(2)中,第m个请求可作为前述的第二请求,第m个应答可作为前述的第二应答,第一服务器需向第二服务器发送的数据可作为前述的第一数据。
95.还应理解,第一请求和第二请求所指示的内容既可以是相同的,也可以是不同的,例如,第一请求也可用于指示第一服务器需向第二服务器发送数据,又如,第一请求可用于指示第一服务器需向第三服务器发送数据,再如,第一请求还可以未指示任何内容,即第一请求是一个空包等等。
96.还应理解,第一服务器是沿着“第一服务器

第一交换机

仲裁器”这一路径发送第二请求的,同样地,仲裁器是沿着“仲裁器

第一交换机

第一服务器”这一路径发送第二应答的,第一请求也是如此。至于第一服务器如何向第一交换机发送第二请求,可参考后续第一服务器向第一交换机发送第一请求的过程,至于仲裁器如何向第一交换机发送第二应答,可参考后续仲裁器向第二交换机发送第三应答的过程,此处先不展开。
97.还应理解,本实施例中,仅以一个时隙中用于传输数据的时域位置的长度为k/2-1个数据包的长度进行示意性说明,在实际应用中,一个时隙中用于传输数据的时域位置的长度可大于k/2-1个数据包的长度,例如,一个时隙中用于传输数据的时域位置的长度还可为k/2个数据包的长度(相应地,一个时隙中则存在k/2+1个空隙)等等。
98.还应理解,本实施例中,仅以第一服务器组和第二服务器组为不同的服务器组进
行示意性说明,在实际应用中,第一服务器组和第二服务器组也可以为同一个服务器组,相应地,第一服务器和第二服务器(由于一个服务器作为发送端,一个服务器作为接收端,故第一服务器和第二服务器必然为两个不同的服务器)则为同一服务器组中的两个服务器,而第一交换机和第二交换机也为同一个交换机。
99.还应理解,在第n个轮次中,不仅第一交换机会在第n个时隙接收到服务器的请求,其余交换机(例如,第二交换机等等)也会在第n个时隙接收到服务器的请求,后续不再赘述。
100.502、第一服务器根据第二应答获取第一服务器在第一服务器组中的第一标识,第一服务器根据第二应答获取第二服务器在第二服务器组中的第二标识。
101.第一服务器通过第一交换机接收到仲裁器的第二应答后,可解析第二应答,得到第一时隙、数据传输路径以及第二服务器的全局标识等信息,故第一服务器基于这些信息可确定不仅需令第一交换机在第一时隙接收第一请求,还需令第一交换机在第一时隙接收第一数据(即第一服务器需向第二服务器发送的数据)。
102.然后,第一服务器可获取第一服务器的组内标识(即第一服务器在第一服务器组中的第一标识)和第二服务器的组内标识(即第二服务器在第二服务器组中的第二标识)。依旧如图8所示的例子,tor交换机1下的服务器1若确定需令tor交换机1在时隙1中,接收服务器1需向tor交换机2下的服务器2发送的数据,服务器1可先获取其在服务器组1的编号(编号为1),并获取服务器2在服务器组2中的编号(编号为2)。
103.此外,第一服务器接收到第二应答后,可确定第二应答到达第一服务器的时域位置。由于第二应答携带有第二应答离开仲裁器的时域位置,故第一服务器可将第二应答到达第一服务器的时域位置减去第二应答离开仲裁器的时域位置,得到第二应答从仲裁器至第一服务器的实际传输时长。接着,第一服务器再获取第一服务器与仲裁器之间信息传输的第三时长,将实际传输时长以及第三时长进行相减,得到时钟偏差。然后,第一服务器根据时钟偏差对第一服务器的本地时钟进行调整,可使得第一服务器的本地时钟与仲裁器的本地时钟保持同步。
104.应理解,本实施例中,第一服务器与仲裁器之间信息传输的第三时长(即信息从第一服务器至仲裁器所需的时长)对于整个云服务系统而言是提前测试得到的(例如,云服务系统启动后,第一服务器可随意发送一个信息至仲裁器进行传输时长的测试,该信息离开第一服务器的时域位置(时刻)以及该信息到达仲裁器的时域位置之间的差值,即为第三时长),同理,后续提及的第一服务器与第一交换机之间信息传输的第一时长(即信息从第一服务器至第一交换机所需的时长)、仲裁器与第二交换机之间信息传输的第二时长(即信息从仲裁器至第二交换机所需的时长)、第一交换机与第二交换机之间信息传输的第四时长(即信息从第一交换机至第二交换机所需的时长)也是如此,后续不再赘述。
105.503、第一服务器在第一时隙中,确定与第一标识对应的第一时域位置,确定与第二标识对应的第三时域位置,并将除第一时域位置与第三时域位置之外的其余时域位置确定为第五时域位置。
106.得到第一服务器的组内标识和第二服务器的组内标识后,第一服务器可在第一时隙的k/2个空隙中,确定与第一服务器的组内标识对应的空隙,并在此空隙插入用于传输第一请求的时域位置,得到第一时域位置。同样地,第一服务器可在第一时隙的k/2个空隙中,
确定与第二服务器的组内标识对应的空隙,并在此空隙插入用于传输应答的时域位置,得到第三时域位置。第一服务器在第一时隙中确定第一时域位置和第三时域位置后,可将其余时域位置确定为用于传输第一数据的时域位置,即第五时域位置。
107.那么,第一服务器可将第一时隙分为三部分,即第一时域位置、第三时域位置和第五时域位置,其中,第一时域位置为第一交换机接收第一请求的时域位置,第三时域位置作为保留的时域位置(即作为后续接收应答的时域位置),第五时域位置为第一交换机接收第一数据的时域位置。
108.依旧如图8所示的例子,设服务器1在第n个轮次需向仲裁器发送请求1,时隙1为第n个时隙。服务器1确定其在服务器组1的编号为1,并确定服务器2在服务器组2中的编号为2后,由于时隙1具有空隙1、空隙2、空隙3以及空隙4,故服务器1可在时隙1的空隙1处插入用于传输请求1的时域位置,在空隙2处插于用于传输应答的时域位置,而时隙1的其余时域位置则作为用于传输服务器1需发送至服务器2的数据1的时域位置。那么,服务器1可令tor交换机1在时隙1中的相应时域位置,接收请求1以及数据1。
109.504、第一服务器根据第一时域位置以及第一服务器和第一交换机之间信息传输的第一时长计算第二时域位置,根据第三时域位置以及第一时长计算第四时域位置,并根据第五时域位置以及第一时长计算第六时域位置。
110.由于第一时域位置、第三时域位置和第五时域位置为第一交换机接收信息的时域位置,故需要将这三个时域位置转换为第一服务器发送信息的时域位置。具体地,第一服务器可先获取第一服务器和第一交换机之间信息传输的第一时长,将第一时域位置减去第一时长得到第二时域位置,将第三时域位置减去第一时长得到第四时域位置,并将第五时域位置减去第一时长得到第六时域位置。
111.505、第一服务器在第二时域位置,向第一交换机发送待仲裁器处理的第一请求。
112.506、第一服务器在第四时域位置保持静默。
113.507、第一服务器在第六时域位置,向第一交换机发送第一数据。
114.得到第二时域位置、第四时域位置以及第六时域位置后,第一服务器可在第二时域位置向第一交换机发送第一请求,以使得第一交换机可在第一时域位置接收第一请求。第一服务器还可在第四时域位置保持静默(即不发送任何信息),以使得第一交换机可在第三时域位置未接收到任何信息。第一服务器还可在第六时域位置向第一交换机发送第一数据,以使得第一交换机在第五时域位置接收第一数据。
115.508、第一交换机将第一请求发送至仲裁器,并将第一数据发送至第二交换机。
116.第一交换机在第一时域位置接收第一请求后,可将第一请求转发至仲裁器进行处理。第一交换机在第五时域位置接收第一数据后,由于第一数据携带第一服务器的全局标识、第一交换机的输出端口的编号(根据数据传输路径确定)、第二交换机的输出端口的编号、第二服务器的全局标识等信息(即数据传输路径上每一跳的全局标识),第一交换机基于这些信息可确定第一数据为第一服务器需要发送至第二服务器的数据,故可先将第一数据发送至第二交换机,以使得第二交换机将第一数据发送第二服务器,从而完成数据传输。
117.由于不同的组内标识对应第一时隙中的不同时域位置,若第一服务器组中除第一服务器之外的其余服务器需要向仲裁器发送请求,由于同一组内不同服务器的组内标识必然不同,故第一服务器和其余服务器不会令第一交换机在同一时域位置接收多个请求,可
有效避免请求之间发生碰撞的情况出现。例如,如图10所示(图10为本技术实施例提供的云服务系统的另一结构示意图),设在第n个轮次中,tor交换机1下的服务器2也需向仲裁器发送请求2。那么,tor交换机1下的服务器2也会令tor交换机1在时隙1中接收请求2,由于tor交换机1下的服务器1以及服务器2的组内标识不同,故tor交换机1在时隙1中接收请求1的时域位置,以及tor交换机1在时隙1中接收请求2的时域位置也是不同的,故二者不会发生冲突。
118.509、仲裁器接收来自第二交换机的第三请求,并处理第三请求,得到第三应答,第三请求由第二服务器生成。
119.510、仲裁器根据得到第三应答的时域位置,以及仲裁器与第二交换机之间信息传输的第二时长,计算第三应答到达第二交换机的时域位置所在的第二时隙。
120.511、仲裁器在第二时隙中,获取与第二服务器在第二服务器组中的第二标识对应的第七时域位置。
121.仲裁器对第二请求进行处理得到第二应答后,由于第二应答包含第一时隙、数据传输路径(第一服务器

第一交换机

第二交换机

第二服务器)等信息,故仲裁器可基于这些信息确定第一交换机会在第一时隙接收来自第一服务器的第一数据,然后,仲裁器可获取第一交换机与第二交换机之间信息传输的第四时长,并将第一时隙加上第四时长,得到第二时隙,那么,仲裁器可确定第二交换机将在第二时隙接收来自第一交换机的第一数据。
122.可见,第二时隙与第一时隙为相对应的两个时隙,故第二时隙中时域位置的分布与第一时隙中时域位置的分布式相同的。具体地,仲裁器确定第二时隙后,可在第二时隙中,确定与第一服务器的组内标识对应的第九时域位置,与第二服务器的组内标识对应的第七时域位置,并将除七时域位置与第九时域位置之外的其余时域位置,确定为第八时域位置。需要说明的是,仲裁器在第二时隙中确定第七时域位置、第八时域位置以及第九时域位置的过程,可参考前述第一服务器在第一时隙中确定第一时域位置、第三时域位置以及第五时域位置的相关说明部分,此处不再赘述。
123.那么,仲裁器可将第二时隙分为三部分,即第七时域位置、第八时域位置和第九时域位置,其中,第七时域位置为第二交换机接收应答的时域位置(与第一时隙的第三时域位置对应),第八时域位置为第二交换机接收第一数据的时域位置(与第一时隙的第五时域位置对应),第九时域位置作为保留的时域位置(与第一时隙的第一时域位置对应)。
124.在第一交换机将第一数据发送至第二交换机的过程中,第二服务器可通过第二交换机向仲裁器发送第三请求,仲裁器对第三请求进行处理后,得到第三应答。接着,仲裁器可获取仲裁器与第二交换机之间信息传输的第二时长,将得到第三应答的时域位置加上第二时长,预估出第三应答到达第二交换机的时域位置。然后,仲裁器可检测第三应答到达第二交换机的时域位置位于哪个一个时隙,若该时域位置位于第二时隙,仲裁器可将第二时隙中的第七时域位置确定为第二交换机接收第三应答的时域位置。
125.应理解,第三请求通常为第k个轮次中的请求(k≠n)。
126.还应理解,第三请求所指示的内容可以有多种,例如,第三请求可用于指示第二服务器需向第三服务器发送数据,又如,第三请求也可以未指示任何内容,即第三请求为一个空包。进一步地,第三应答所指示的内容与第三请求所指示的内容是相应的,此处不做展
开。其中,第三服务器和第一服务器可以是同一个服务器,也可以是不同的服务器,此处不做限定。
127.还应理解,第二服务器是沿着“第二服务器

第二交换机

仲裁器”这一路径发送第三请求的,至于第二服务器如何向第二交换机发送第三请求,可参考前述第一服务器向第一交换机发送第一请求的过程,此处不再赘述。
128.512、仲裁器根据第七时域位置以及第二时长计算第十时域位置。
129.仲裁器确定第二时隙中的第七时域位置为第二交换机接收第三应答的时域位置后,由于第七时域位置为第二交换机接收信息的时域位置,故需要将该时域位置转换为仲裁器发送信息的时域位置。具体地,仲裁器可将第七时域位置减去第二时长得到第十时域位置。
130.513、仲裁器在第十时域位置,向第二交换机发送第三应答。
131.确定第十时域位置后,仲裁器可在第十时域位置,向第二交换机发送第三应答,以使得第二交换机在第二时隙中的第七时域位置接收第三应答。值得注意的是,第二交换机还会在第二时隙中的第八时域位置接收第一数据。
132.514、第二交换机将第一数据发送至第二服务器,并将第三应答发送至第二服务器。
133.第二交换机在第二时隙中的第七时域位置接收第三应答后,可将第三应答发送至第二服务器。值得注意的是,第二交换机在第二时隙中的第八时域位置接收第一数据后,也可将第一数据发送至第二服务器,至此,则完成了第一服务器和第二服务器之间的数据传输。
134.在第二时隙中,第七时域位置为第二交换机接收来自仲裁器的第三应答的时域位置,第八时域位置为第二交换机接收来自第一交换机的第一数据的时域位置,第七时域位置和第八时域位置是完全不相同的时域位置。可见,仲裁器不会令第二交换机在同一时域位置接收数据和应答,可有效避免数据和应答发生碰撞的情况出现。例如,如图11所示(图11为本技术实施例提供的云服务系统的另一结构示意图),设tor交换机2在时隙2(对前述的时隙1对应)中会接收来自仲裁器的应答3,以及tor交换机1下的服务器1需发送至tor交换机2下的服务器2的数据1。在仲裁器的控制下,tor交换机2在时隙2中接收应答3的时域位置以及tor交换机2在时隙2中接收数据1的时域位置是不同的,故二者不会发生冲突。
135.此外,若第二服务器未接收到第一数据,即第二交换机未向第二服务器发送第一数据,也就是第二交换机未在第二时隙的第七时域位置接收第一数据,说明第一交换机与第二交换机之间的传输路径故障。那么,第二服务器可在后续过程中,通过第二交换机向仲裁器发送第四请求(用于指示第二服务器未接收到第一数据),以使得仲裁器根据第四请求确定第一交换机与第二交换机之间的传输路径故障,并进行后续的路径故障处理(例如,禁用该路径,直至故障被清楚为止)。
136.进一步地,若仲裁器在预置的时长内(即预置的时间段内),未接收到由第二服务器生成的请求,仲裁器可直接确定第二服务器与仲裁器之间的传输路径故障,并进行后续的路径故障处理。
137.应理解,第四请求通常为第p个轮次中的请求(p>k)。
138.还应理解,第二服务器是沿着“第二服务器

第二交换机

仲裁器”这一路径发送
第四请求的,至于第二服务器如何向第二交换机发送第四请求,可参考前述第一服务器向第一交换机发送第一请求的过程,此处不再赘述。
139.本技术实施例中,云服务系统包括仲裁器、第一交换机和第一服务器组,仲裁器通过第一交换机与第一服务器组连接,第一服务器组中不同的服务器具有不同的标识。当第一服务器需通过第一交换机向仲裁器发送第一请求时,第一服务器可先获取第一服务器在第一服务器组中的第一标识。然后,第一服务器在第一时隙中,确定与第一标识对应的第一时域位置,第一时域位置为第一交换机接收第一请求的时域位置。最后,第一服务器向第一交换机发送第一请求,以使得第一交换机在第一时域位置接收第一请求,再将第一请求发送至仲裁器。在前述过程中,若第一服务器组中除第一服务器之外的其余服务器也需通过第一交换机向仲裁器发送请求,由于第一服务器组中不同服务器的标识必然不同,不同的标识对应第一时隙中不同的时域位置,故第一服务器和其余服务器不会令第一交换机在第一时隙的同一时域位置接收多个请求,可有效避免请求之间发生碰撞的情况出现,不会导致请求丢失,有利于提高服务器之间数据传输的稳定性。
140.进一步地,云服务系统还包括仲裁器、第二交换机和第二服务器组,仲裁器通过第二交换机与第二服务器组连接,第二服务器组中不同的服务器具有不同的标识。第二服务器通过第二交换机向仲裁器发送第三请求后,仲裁器可处理第三请求,得到第三应答。接着,仲裁器在第二时隙中确定第七时域位置(与第二服务器在第二服务器组中的第二标识对应),并令第二交换机在第七时域位置接收第三应答。第二时隙还包括第八时域位置,且第二交换机会在第八时域位置接收第一数据(第一服务器发送至第二服务器的数据),由于第七时域位置和第八时域位置是完全不相同的时域位置,故第二交换机不会在第二时隙的同一时域位置接收数据和应答,可有效避免数据和应答发生碰撞的情况出现,不会导致应答丢失,有利于提高服务器之间数据传输的稳定性。
141.更进一步地,由于本技术实施例提供的云服务系统中,所有交换机均为零缓存交换机,基于零缓存交换机来搭建网络,可以有效降低交换机硬件的复杂度,同时降低功耗和运维成本,更重要的是有利于提前精准确定流量的端到端时延(例如,前述的第一时长、第二时长、第三时长以及第四时长等等)。
142.更进一步地,对于任意一个服务器而言,该服务器可自行将该服务器的本地时钟与仲裁器的本地时钟实现同步,有利于保证整个云服务系统的全局时钟同步。
143.更进一步地,仲裁器还可检测出交换机之间的传输路径、仲裁器与服务器之间的传输路径是否发生故障,并对故障的传输路径进行路径故障处理,从而为整个网络提供保障。
144.以上是对本技术实施例提供的信息传输方法的详细说明,以下将对本技术实施例提供的服务器和仲裁器进行介绍。图12为本技术实施例提供的服务器的一个结构示意图,该服务器作为第一服务器,第一服务器设于云服务系统中(可参考图4所示的云服务系统),云服务系统包括仲裁器、第一交换机和第一服务器组,仲裁器通过第一交换机与第一服务器组连接,第一服务器组中不同的服务器具有不同的标识,如图12所示,第一服务器包括:
145.处理模块1202,用于获取第一服务器在第一服务器组中的第一标识;
146.处理模块1202,还用于在第一时隙中,确定与第一标识对应的第一时域位置,第一时域位置为第一交换机接收待仲裁器处理的第一请求的时域位置,不同的标识对应第一时
隙中不同的时域位置;
147.发送模块1203,用于根据第一时域位置,向第一交换机发送第一请求。
148.在一种可能的实现方式中,处理模块1202,用于根据第一时域位置,以及第一服务器和第一交换机之间信息传输的第一时长计算第二时域位置;发送模块1203,用于在第二时域位置,向第一交换机发送第一请求。
149.在一种可能的实现方式中,第一服务器还包括:接收模块1201,用于接收来自第一交换机的第二应答,第二应答为仲裁器处理第二请求得到的,第二请求用于指示第一服务器需向第二服务器发送第一数据,第二应答用于指示令第一交换机在第一时隙接收第一数据;处理模块1202,用于根据第二应答获取第一服务器在第一服务器组中的第一标识。
150.在一种可能的实现方式中,云服务系统还包括第二交换机和第二服务器组,第一交换机和第二交换机连接,处理模块1202,还用于:根据第二应答获取第二服务器在第二服务器组中的第二标识;在第一时隙中,确定与第二标识对应的第三时域位置;根据第三时域位置以及第一时长计算第四时域位置;发送模块1203,还用于在第四时域位置保持静默。
151.在一种可能的实现方式中,处理模块1202,还用于:在第一时隙中,将除第一时域位置与第三时域位置之外的其余时域位置确定为第五时域位置;根据第五时域位置以及第一时长计算第六时域位置;发送模块1203,还用于在第六时域位置,向第一交换机发送第一数据。
152.在一种可能的实现方式中,若第一标识和第二标识相同,则第一时域位置和第三时域位置为相同的时域位置。
153.在一种可能的实现方式中,第一标识为第一服务器在第一服务器组中的第一编号,第二标识为第二服务器在第二服务器组中的第二编号。
154.图13为本技术实施例提供的仲裁器的一个结构示意图,该仲裁器设于云服务系统中(可参考图4所示的云服务系统),云服务系统还包括第二交换机和第二服务器组,仲裁器通过第二交换机与第二服务器组连接,第二服务器组中不同的服务器具有不同的标识,如图13所示,仲裁器包括:
155.接收模块1301,用于接收来自第二交换机的第三请求,第三请求由第二服务器生成;
156.处理模块1302,用于处理第三请求,得到第三应答;
157.处理模块1302,还用于在第二时隙中,获取与第二服务器在第二服务器组中的第二标识对应的第七时域位置,第七时域位置为第二交换机接收第三应答的时域位置,不同的标识对应第二时隙中不同的时域位置;
158.发送模块1303,用于根据第七时域位置,向第二交换机发送第三应答。
159.在一种可能的实现方式中,第二时隙还包含与第七时域位置不同的第八时域位置,第八时域位置为第二交换机接收第一数据的时域位置,第一数据为待发送至第二服务器的数据。
160.在一种可能的实现方式中,云服务系统还包括第一交换机和第一服务器组,第一交换机和第二交换机连接,仲裁器通过第一交换机与第一服务器组连接;第一数据为第一服务器需要向第二服务器发送的数据,第二时隙还包含第九时域位置,第九时域位置与第一服务器在第一服务器组中的第一标识对应,第八时域位置为第二时隙中除第七时域位置
与第九时域位置之外的其余时域位置。
161.在一种可能的实现方式中,处理模块1302,用于根据第七时域位置,以及仲裁器与第二交换机之间信息传输的第二时长计算第十时域位置;发送模块1303,用于在第十时域位置,向第二交换机发送第三应答。
162.在一种可能的实现方式中,处理模块1302,还用于根据得到第三应答的时域位置以及第二时长,计算第三应答到达第二交换机的时域位置所在的第二时隙。
163.在一种可能的实现方式中,若第一标识和第二标识相同,则第七时域位置和第十时域位置为相同的时域位置。
164.在一种可能的实现方式中,第一标识为第一服务器在第一服务器组中的第一编号,第二标识为第二服务器在第二服务器组中的第二编号。
165.需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其带来的技术效果与本技术方法实施例相同,具体内容可参考本技术实施例前述所示的方法实施例中的叙述,此处不再赘述。
166.图14为本技术实施例提供的服务器的另一个结构示意图。如图14所示,本技术实施例中服务器可作为第一服务器,第一服务器的一个实施例可以包括一个或一个以上中央处理器1401,存储器1402,输入输出接口1403,有线或无线网络接口1404,电源1405。
167.存储器1402可以是短暂存储或持久存储。更进一步地,中央处理器1401可以配置为与存储器1402通信,在第一服务器上执行存储器1402中的一系列指令操作。
168.本实施例中,中央处理器1401可以执行前述图5所示实施例中第一服务器所执行的操作,具体此处不再赘述。
169.本实施例中,中央处理器1401中的具体功能模块划分可以与前述图12中所描述的接收模块、处理模块和发送模块等模块的划分方式类似,此处不再赘述。
170.图15为本技术实施例提供的仲裁器的另一个结构示意图。如图15所示,仲裁器的一个实施例可以包括一个或一个以上中央处理器1501,存储器1502,输入输出接口1503,有线或无线网络接口1504,电源1505。
171.存储器1502可以是短暂存储或持久存储。更进一步地,中央处理器1501可以配置为与存储器1502通信,在仲裁器上执行存储器1502中的一系列指令操作。
172.本实施例中,中央处理器1501可以执行前述图5所示实施例中仲裁器所执行的操作,具体此处不再赘述。
173.本实施例中,中央处理器1501中的具体功能模块划分可以与前述图13中所描述的接收模块、处理模块和发送模块等模块的划分方式类似,此处不再赘述。
174.本技术实施例还涉及一种计算机存储介质,包括计算机可读指令,当所述计算机可读指令被执行时,实现如图5所示实施例中第一服务器所执行的步骤,或,实现如图5所示实施例中仲裁器所执行的步骤。
175.本技术实施例还涉及一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如图5所示实施例中第一服务器所执行的步骤,或,实现如图5所示实施例中仲裁器所执行的步骤。
176.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
177.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
178.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
179.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
180.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1