一种动态调整带宽的方法及装置与流程

文档序号:29913328发布日期:2022-05-06 02:29阅读:265来源:国知局
一种动态调整带宽的方法及装置与流程

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.图1为本技术提供的一种动态调整带宽方法可适用的系统架构图;
30.图2为本技术提供的第一种动态调整带宽方法的流程示意图;
31.图3为本技术提供的第二种动态调整带宽方法的流程示意图;
32.图4为本技术提供的一种服务器退出集群时其他服务器调整带宽的流程示意图;
33.图5为本技术提供的一种服务器加入集群时其他服务器调整带宽的流程示意图;
34.图6为本技术提供的一种请求报文/应答报文/确认报文的格式示意图;
35.图7为本技术提供的一种周期性带宽采集的通告报文的格式示意图;
36.图8为本技术提供的一种重置报文/nowait报文/空闲带宽报文的格式示意图;
37.图9为本技术提供的第一种动态调整带宽的装置的结构示意图;
38.图10为本技术提供的第二种动态调整带宽的装置的结构示意图;
39.图11为本技术提供的第三种动态调整带宽的装置的结构示意图。
具体实施方式
40.下面将结合附图,对本技术实施例进行详细描述。
41.如图1为本技术示例性提供的一种动态调整带宽方法可适用的系统架构图,其中包括有交换机和服务器集群,其中服务器集群中包括多个服务器,可分别表示为服务器1、服务器2、
……
、服务器n,n为大于或等于2的整数。服务器集群中每个服务器可以接入交换
机,如此,该服务器集群中任两个服务器均可通过该交换机进行通信。进一步的,该交换机可形成一个广播域,该服务器集群中任一个服务器可在广播域中广播消息。
42.基于上述的系统架构图,如图2为本技术示例性提供的一种动态调整带宽方法的流程示意图,其中第一服务器可以是服务器集群中的任一个服务器。
43.步骤201,第一服务器根据第一服务器在第一时段中的流量,确定第一时段中第一服务器的带宽处于超载状态,在服务器集群中广播带宽请求。
44.其中,第一时段中第一服务器的带宽是基于第一服务器在第二时段中的流量确定的,其中,第二时段在第一时段之前。
45.具体的,第一服务器可以周期性采集流量信息,根据当前周期中第一服务器的流量,以及第一服务器在当前周期中的可用带宽,判断当前周期中第一服务器的可用带宽是处于过载状态,还是空闲状态。示例性的,当第一服务器的流量所需带宽大于第一服务器的可用带宽的预设比例(比如120%)时,即第一服务器的可用带宽处于过载状态;当第一服务器的流量所需带宽小于第一服务器可用带宽的预设比例(比如80%)时,即第一服务器的可用带宽处于空闲状态。其中可用带宽又可称为是限速带宽值,本地带宽,带宽等。
46.其中第一服务器在当前周期中的可用带宽,可以是第一服务器在上一周期中,根据第一服务器的流量和服务器集群的总流量,按比例分配服务器集群对应的总带宽而得到的;或者第一服务器在当前周期中的可用带宽,还可以是第一服务器在上一周期中,与服务器集群中其他服务器相互协商带宽使用而得到的。
47.在一个具体场景中,第一服务器若根据第一服务器在第一时段中的流量,确定第一时段中第一服务器的可用带宽处于超载状态,则在服务器集群中广播带宽请求,该广播带宽请求可用于向其他服务器请求带宽。可选的,该广播带宽请求中包括第一服务器请求的带宽。相应的,服务器集群中其他服务器可接收到来自第一服务器的带宽请求,对于其中一个服务器来说,该服务器可判断本地带宽是否处于空闲状态,若是,则可将本地的空闲带宽分享给第一服务器,否则可不向第一服务器分享带宽。
48.示例性的,可将服务器集群中可用带宽的处于空闲状态的服务器称为是第二服务器,该第二服务器可基于本地的可用带宽,以及自己的流量,确定出可分享给第一服务器的第二分享带宽,然后向第一服务器发送第二带宽响应,其中该第二带宽响应可用于指示第二服务器向第一服务器提供的第二分享带宽。其中,第二服务器在向第一服务器发送第二带宽响应时,具体可以是通过单播方式向第一服务器发送第二带宽响应,如此其他服务器不能接收到该第二带宽响应,避免不必要的带宽使用冲突。
49.此外,服务器集群中各服务器还可定周期广播自己的带宽使用情况,该带宽使用情况中可包括有各自的流量信息和带宽信息,相应的,第一服务器可以接收到来自其他服务器的通知信息,从而获取到服务器集群中其他服务器的流量信息和带宽信息。其中,带宽使用情况具体可以是通告报文。
50.步骤202,第一服务器接收服务器集群中第二服务器响应于带宽请求的第二带宽响应。
51.第一服务器接收到该第二带宽响应之后,可以基于第二带宽响应指示的第二分享带宽,以及本地的可用带宽,确定在根据第二分享带宽提升本地可用带宽之后是否可满足第一服务器的流量需求,若是,则可不再接收其他服务器分享的带宽。
52.示例性的,服务器集群中第三服务器向第一服务器发送第三带宽响应,其中该第三带宽响应可用于指示第三服务器向第一服务器提供的第三分享带宽。但由于第一服务器确定第二分享带宽和本地的可用带宽已经可满足当前的流量需求,也即第一服务器确定第一时段中第一服务器的带宽和第二分享带宽,已经可以满足第一服务器在第一时段中的流量对应的带宽需求,则第一服务器可拒绝第三服务器分享的带宽。对于第三服务器来说,其在接收到来自第一服务器的拒绝指示之后,可以在接收到其他服务器的带宽请求时,将自己的第三共享带宽分享给其他的服务器。如此有助于提升带宽共享的灵活性。
53.可选的,第一服务器在确定接收第二服务器的第二分享带宽之后,向第二服务器发送确认接受。以及在确定不接收第三服务器的第三分享带宽之后,向第三服务器发送拒绝接受,或者不向第三服务器发送确认接受或拒绝接受。
54.此外,若第一服务器基于第二分享带宽,以及本地的可用带宽,确定在根据第二分享带宽提升本地可用带宽之后仍不能满足第一服务器的流量需求,则还可接收其他服务器分享的带宽,以使得第一服务器增大可用带宽之后可满足第一服务器的流量对应的带宽需求。
55.在一种可能方式中,第一服务器可多次广播带宽请求,并在每次广播带宽请求之后,启动第一定时器,其中,第一定时器可对应于第一预设时长和第一预设次数。比如第一预设时长是2s,第一预设次数是3次,则第一服务器在第一次广播带宽请求之后,启动第一定时器,若在第一定时器到达2s之前,第一服务器接收到来自其他服务器的带宽响应,则确定请求成功;若第一定时器到达2s时,仍未收到来自其他服务器的带宽响应,则第一服务器可再一次广播带宽请求,并第二次启动第一定时器。基于上述相类似过程,直至第一服务器接收到来自其他服务器的带宽响应,则确定请求成功;或者直至第一定时器在启动3次之后仍未接收到其他服务器的带宽响应,则认为请求失败。
56.在一种可能方式中,服务器集群中某个服务器在向第一服务器发送带宽响应之后,可启动定时器,并基于定时器确定是否需要将自己的空闲带宽(或者说分享带宽)分享给第一服务器。以第二服务器为例,第二服务器在向第一服务器发送第二带宽响应之后,可启动第二定时器,其中,第二定时器可对应于第二预设时长和第二预设次数。比如第二预设时长是2s,第二预设次数是3次,则第二服务器在向第一服务器发送第二带宽响应之后,可启动第二定时器,若在第二定时器到达2s之前,第二服务器接收到第一服务器的确认接受,则确定分享成功;若第一定时器到达2s时,仍未收到来自第一服务器的确认接受,则第一服务器可再一次向第一服务器发送第二带宽响应,并第二次启动第二定时器。基于上述相类似过程,直至第二服务器接收到来自第一服务器的确认接受,则确定成功向第一服务器分享带宽;或者直至第二定时器在启动3次之后仍未接收到第一服务器的确认接受,则认为未成功向第一服务器分享带宽。
57.步骤203,第一服务器根据第二分享带宽,增加第一服务器的带宽。
58.示例性的,第一服务器可通过第二分享带宽和第一服务器在第一时段中的可用带宽,共同传输第一时段中的流量。需要指出的是,该步骤203可以是在拒绝第三服务器的第三分享带宽之前,或者是在拒绝第三服务器的第三分享带宽之后。
59.第一服务器还可在第三时段中,根据第一服务器在第三时段中的流量,以及第一服务器在第三时段中的可用带宽,确定第一服务器的可用带宽处于空闲状态。随后第一服
务器可在服务器集群中广播空闲带宽通知(具体可以是空闲带宽报文),其中该空闲带宽通知可用于指示第一服务器的可用带宽中包括可共享给其他服务器的第一共享带宽。相应的,在其他服务器接收到第一服务器广播的空闲带宽通知之后,可以基于该空闲带宽通知中指示的第一共享带宽,向第一服务器请求共享带宽。
60.为了更好的解释本技术实施例,如下以服务器1、服务器2以及服务器3为例说明,具体可参见图3示例性示出的又一种动态调整带宽方法的流程示意图:
61.其中,服务器1、服务器2以及服务器3三者都会定周期发送各自的带宽使用情况。
62.步骤301,服务器1在确定自己本地带宽超载之后,可广播带宽请求,相应的,服务器2接收到来自服务器1的带宽请求,以及服务器3接收到来自服务器1的带宽请求。其中,带宽请求具体可以是请求报文。
63.步骤302,服务器2向服务器1发送带宽响应,该带宽响应可用于指示服务器2可向服务器1分享的带宽;服务器3向服务器1发送带宽响应,该带宽响应可用于指示服务器3可向服务器1分享的带宽。其中带宽响应具体可以是应答报文。
64.步骤303,服务器1确定接受服务器2分享的带宽,向服务器2发送确认接受,其中确认接受具体可以是确认报文。服务器1确定拒绝接受服务器3分享的带宽,向服务器3发送拒绝接受,其中拒绝接受具体可以是nowait报文。
65.随后,服务器1还可以确定自己的本地带宽处于空闲状态之后,将本地的空闲带宽分享给其他服务器,具体可参见下述步骤304至步骤307。
66.步骤304,服务器1广播空闲带宽通知,相应的,服务器2接收到来自服务器1的空闲带宽通知,以及服务器3接收到来自服务器1的空闲带宽通知。其中,空闲带宽通知具体可以是有空闲带宽通告。
67.步骤305,服务器2向服务器1发送带宽请求,从而向服务器1请求带宽;服务器3向服务器1发送带宽请求,从而向服务器1请求带宽。
68.步骤306,服务器1接收服务器2和服务器3分别发送的带宽请求之后,确定向服务器2分享带宽,于是向服务器2发送带宽响应,其中带宽响应具体可以是应答报文。
69.步骤307,服务器2接收到服务器1的带宽响应之后,向服务器发送确认接受,其中确认接受具体可以是确认报文。
70.在服务器集群中有服务器退出(或称为掉线)时,即该服务器退出之前所使用的带宽可被其他服务器分享。其中,可将该退出的服务器称为是第四服务器,第一服务器若确定第四服务器从服务器集群中退出之后,第一服务器可根据服务器集群的总流量和第一服务器的流量,或者根据服务器集群中各服务器的流量,与服务器集群中其他服务器共享第四服务器从服务器集群中退出之前的带宽。
71.示例性的,第一服务器可通过定周期接收服务器集群中服务器的带宽使用情况,来确定该服务器是否还在服务器集群中。示例性的,第一服务器可在确定连续多个周期都未检测到第四服务器的带宽使用情况之后,确定第四服务器从服务器集群中退出。
72.如图4为本技术示例性提供的一种服务器退出集群时其他服务器调整带宽的示意图:
73.步骤401,第一服务器周期性检测第四服务器的带宽使用情况;
74.步骤402,第一服务器在多个周期中都未检测到第四服务器的带宽使用情况之后,
确定第四服务器从服务器集群中掉线,即确定第四服务器处于掉线状态(或称为退出状态);
75.步骤403,第一服务器再次查找第四服务器;
76.步骤404,第一服务器通过再次查找,确定第四服务器仍然是掉线状态;
77.步骤405,第一服务器与服务器集群中其他服务器共享第四服务器从服务器集群中退出之前的带宽。
78.需要说明的是,上述以第一服务器为例,说明服务器集群检测第四服务器处于掉线状态,本技术中,还以是服务器集群中的其他服务器来执行上述检测动作。
79.在一种可能方式中,在服务器集群中有新的服务器(比如称为是第五服务器)加入时,第五服务器可将携带有初始标记(init)的带宽使用情况在服务器集群中广播,相应的,第一服务器在接收到第五服务器的带宽使用情况之后,确定服务器集群的总流量对应的带宽需求是否大于服务器集群的总带宽,若是,则表明当前服务器集群的总带宽不能满足服务器集群的总流量对应的带宽需求,第一服务器可在服务器集群中广播带宽重置请求,该带宽重置请求可用于触发服务器集群中各服务器,根据各服务器的流量和服务器集群的总流量,重新分配服务器集群的总带宽。其中带宽重置请求具体可以是重置报文。
80.在另外一种可能方式中,第五服务器在加入至服务器集群之后,可将携带有初始标记的带宽使用情况在服务器集群中广播,相应的,服务器集群中其他服务器可接收到该携带有初始标记的带宽使用情况,服务器集群中其他服务器向第五服务器发送带宽使用情况,该带宽使用情况中可包括有各自的流量信息和带宽信息。第五服务器确定服务器集群的总流量对应的带宽需求是否大于服务器集群的总带宽,若是,则在服务器集群中广播带宽重置请求,以使得各服务器根据各服务器的流量和服务器集群的总流量,重新分配服务器集群的总带宽。
81.在又一种可能方式中,第五服务器在加入至服务器集群之后,可将携带有初始标记的带宽使用情况在服务器集群中广播,其中该带宽使用情况可相当于带宽请求。相应的,服务器集群中若某个服务器的可用带宽中包括空闲带宽(或可分享带宽),则该服务器可向第五服务器发送带宽响应,从而将自己的可分享带宽分享给第五服务器。但是在各服务器的带宽均处于非空闲状态时,第五服务器未获取到其他服务器分享的带宽,其可在服务器集群中广播带宽重置请求,以使得各服务器根据各服务器的流量和服务器集群的总流量,重新分配服务器集群的总带宽。
82.如图5为本技术示例性提供的一种服务器加入集群时其他服务器调整带宽的示意图:
83.步骤501,第五服务器加入至服务器集群中;
84.步骤502,第五服务器在服务器集群中广播带宽使用情况,带宽使用情况中携带有初始标记;
85.步骤503,第五服务器接收到服务器集群中其他服务器反馈的带宽使用情况;
86.步骤502,第五服务器确定服务器集群的总流量对应的带宽需求是否大于服务器集群的总带宽,即判断当前服务器集群总带宽是否已超载。若是则执行步骤503和步骤504,否则执行步骤505和步骤506。
87.步骤503,在服务器集群中广播带宽重置请求;
88.步骤504,服务器集群中各服务器根据各服务器的流量和服务器集群的总流量,重新分配服务器集群的总带宽。
89.步骤505,第五服务器在服务器集群中广播带宽请求。
90.步骤506,第五服务器接收到服务器集群中其他服务器的响应,从而获取到第五服务器的可用带宽。
91.如下举例说明服务器集群中各服务器根据各自流量分配待分配带宽,此处的待分配带宽可以是服务器集群的总带宽,还可以是第四服务器从服务器集群退出之前的带宽:其中待分配带宽比如是60mhz,服务器集群中服务器1的流量是10bit/s,服务器2的流量是20bit/s,服务器3的流量是30bit/s,则服务器集群中的总流量是60bit/s,服务器集群中各服务器按照各自流量分配带宽,具体可以是,服务器1占用带宽10mhz,服务器2占用带宽20mhz,服务器3占用带宽30mhz。
92.上述技术方案,基于带宽调整协议,服务器集群中服务器之间进行信息交互,即可以完成带宽的动态调整,从而有助于实现集群带宽的自主调整,无需外在设备的干预;而且通过带宽协议,结合周期调整与实时调整,在兼顾服务器的流量负载与实时性的同时提高了带宽调整的效率和准确性。
93.如图6为本技术示例性提供的一种请求报文/应答报文/确认报文的格式示意图,如图7为本技术示例性提供的一种周期性带宽采集的通告报文的格式示意图,如图8为本技术示例性提供的一种重置报文/nowai报文/空闲带宽报文的格式示意图。
94.报文中各字段的含义如下:
95.dst mac:
96.长度6字节,取值是广播mac或目的集群成员的单播mac地址。
97.src mac:
98.长度6字节,取值是发送集群成员的本地mac地址。
99.frame type:
100.长度2字节,标识帧类型,用于以太报文解析。
101.marker&version:
102.长度2字节,作为报文有效性校验及后续扩展。
103.packet type:
104.长度1字节,设置报文的类型;
105.negotiate:协商调整带宽信息;
106.notify:通告带宽信息及其他;
107.status:
108.长度1字节,携带设备的状态;
109.init:处于初始化状态,用于初始化配置;
110.complete:处于正常运行状态,已完成初始化。
111.packet length:
112.长度2字节,报文长度,从marker开始的完整报文长度。
113.sender mac:
114.长度6字节,发包侧成员的mac地址,用于标识发送者,也用于初始阶段统计网关个
数,从而确定初始限速值。
115.type:
116.长度1字节,标识携带的tlv type类型:
117.negotiate协商报文:
118.reqest:请求带宽,附加上请求带宽的大小;
119.respond:回应带宽请求,附加上可分享带宽大小;
120.confirm:对回应做确认,用于多个网关提供带宽的情况,附请求带宽;
121.notify通知报文:
122.notify:广播通知本网关的实时带宽和限速带宽;
123.nowait:通知应答设备无需再等待确认。
124.free:通知当前设备有空闲带宽。
125.reset:通知所有成员设备将限速带宽重置。
126.len:
127.长度1字节,标识该tlv信息的长度。
128.policy flags:
129.长度2字节,标识指定限速带宽配置的特定属性或标识信息,如overlaod标识。
130.policy index:
131.长度4字节,根据该值查找指定的限速带宽信息,同时也根据该值与mac地址找到指定集群成员的限速带宽信息。
132.cur bandwidth:
133.长度4字节,集群成员上的实时带宽。
134.limit bandwidth:
135.长度4字节,集群成员上设置的限速带宽。
136.limit statistic:
137.长度8字节,集群成员周期统计的限速流量。
138.req/respond bandwith:
139.长度4字节,带宽请求及应答时使用,用于标明待调整带宽。
140.当然,如上仅仅是示例性说明,各报文中还可包括其他的字段,报文中各字段还可以占用其他字节长度等。
141.基于上述相同的发明构思,本技术提供一种动态调整带宽的装置,该装置可以是服务器集群中的任一个服务器。示例性的,装置的结构示意图可参见图9所示,其中装置可包括协议模块901、流量采集模块902、限速模块903、流量监控模块904。
142.其中,流量采集模块902可周期性的采集流量信息,计算所在服务器中的本地带宽是否过载或是否有空闲,然后通知协议模块901,协议模块901收到通知消息后会广播带宽使用情况。若本服务器处于过载状态,则可广播带宽请求,服务器集群中其他服务器收到该带宽请求之后确定本身的可用带宽处于空闲状态,则可向该服务器发送应答响应,该服务器收到应答响应后可调整可用带宽,并向发送该应答响应的服务器发送确认接受。
143.限速模块903实时监测带宽是否过载且超过一定阈值,或空闲且低于一定阈值。若限速模块903监测情况发生,则可通知协议模块901立即进行处理,此时若发生过载则发送
带宽请求给集群中其他所有服务器;若发现大量空闲带宽,则发送空闲带宽通知给集群中其他所有服务器,相应的,如有服务器处于过载状态则会发送带宽请求。
144.流量监控模块904会定时统计服务器集群的带宽使用情况(即服务器集群的总流量和总带宽),以及服务器集群中各服务器的带宽使用情况,根据各服务器的带宽使用情况,选择出优先级最高或mac地址最大的服务器进行流量的周期上报;
145.通过定时快速广播发送带宽使用情况,每个服务器集群中服务器都可以快速检测是否有某个服务器掉线,进而立即执行掉线服务器的带宽的重新分配;
146.若进行扩容加入新的服务器,新服务器定时发送指定次数的带宽使用情况,其中携带有初始标记,其他服务器收到后回应自身的带宽使用情况,新服务器保存收到的带宽使用情况。若服务器集群中存在服务器的可用带宽处于空闲状态,则可根据自身带宽使用情况向新服务器分享带宽;若服务器集群中其他所有服务器均处于超载状态,则新服务器可发送带宽重置请求,要求服务器集群中各服务器根据自身流量负载与总服务器集群的流量负载的比例重新设置各服务器的可用带宽。
147.若为新下发限速带宽配置,即服务器集群的总带宽为新配置的,那么服务器集群中各服务器可初始化设置为该新带宽,通过指定次数的带宽使用情况的统计,各个服务器均保存有所有其他服务器的带宽使用情况,此时可根据自身流量负载与总的流量负载设置各自的可用带宽。
148.基于上述相同的发明构思,本技术提供再一种动态调整带宽的装置,该装置可以是服务器集群中的任一个服务器。示例性的,装置的结构示意图可参见图10所示,其中装置可包括处理模块1001和收发模块1002。
149.在一种可能的实现方式中,处理模块1001,用于根据装置在第一时段中的流量,确定第一时段中装置的带宽处于超载状态;收发模块1002,用于在服务器集群中广播带宽请求,其中,第一时段中装置的带宽是基于装置在第二时段中的流量确定的,第二时段在第一时段之前;收发模块1002,还用于接收服务器集群中第二服务器响应于带宽请求的第二带宽响应,第二带宽响应指示第二服务器向装置提供的第二分享带宽。
150.在一种可能的实现方式中,收发模块1002还用于接收服务器集群中第三服务器响应于带宽请求的第三带宽响应,第三带宽响应指示第三服务器向装置提供的第三分享带宽;在第一时段中装置的带宽和第二分享带宽满足装置在第一时段中的流量对应的带宽需求时,处理模块1001可拒绝第三分享带宽。
151.在一种可能的实现方式中,在收发模块1002接收服务器集群中第二服务器响应于带宽请求的第二带宽响应之后,处理模块1001还用于:根据第二分享带宽,增加装置的带宽。
152.在一种可能的实现方式中,在收发模块1002接收服务器集群中第二服务器响应于带宽请求的第二带宽响应之后,处理模块1001还用于:根据装置在第三时段中的流量,确定第三时段中装置的带宽处于空闲状态;收发模块1002还用于:在服务器集群中广播空闲带宽通知;其中,空闲带宽通知指示第三时段中装置的带宽中包括用于共享的第一共享带宽。
153.在一种可能的实现方式中,处理模块1001还用于:确定第四服务器从服务器集群中退出;根据服务器集群的总流量和装置的流量,与服务器集群中其他服务器共享第四服务器从服务器集群中退出之前的带宽。
154.在一种可能的实现方式中,处理模块1001还用于:确定第五服务器加入至服务器集群,且服务器集群的总流量对应的带宽需求大于服务器集群的总带宽;触发服务器集群中各服务器,根据各服务器的流量和服务器集群的总流量,重新分配服务器集群的总带宽。
155.在一种可能的实现方式中,服务器集群中任两个服务器之间通过交换机进行连接。
156.基于上述内容和相同构思,如图11所示为本技术实施例提供的装置1100,图11所示的装置可以为图10所示的装置的一种硬件电路的实现方式。该装置可适用于前面所示出的流程图中,执行上述方法实施例中服务器的功能。
157.为了便于说明,图11仅示出了该装置的主要部件。
158.图11所示的装置1100包括通信接口1110、处理器1120和存储器1130,其中存储器1130用于存储程序指令和/或数据。处理器1120可能和存储器1130协同操作。处理器1120可能执行存储器1130中存储的程序指令。存储器1130中存储的指令或程序被执行时,该处理器1120用于执行上述实施例中处理模块901执行的操作,通信接口1110用于执行上述实施例中收发模块902执行的操作。
159.存储器1130和处理器1120耦合。本技术实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。所述存储器1130中的至少一个可以包括于处理器1120中。
160.在本技术实施例中,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。在本技术实施例中,通信接口为收发器时,收发器可以包括独立的接收器、独立的发射器;也可以集成收发功能的收发器、或者是通信接口。
161.装置1100还可以包括通信线路190。其中,通信接口1110、处理器1120以及存储器1130可以通过通信线路190相互连接;通信线路190可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。所述通信线路190可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
162.基于上述内容和相同构思,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令被计算设备执行时,使得该计算设备执行上述方法实施例中的方法。
163.基于上述内容和相同构思,本技术提供一种计算机程序产品,该计算机程序产品包括计算机程序或指令,当该计算机程序或指令被计算设备执行时,实现上述方法实施例中的方法。
164.基于上述内容和相同构思,本技术提供一种计算设备,包括处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述装置执行上述方法实施例中的方法。
165.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
166.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的保
护范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1