CN104660525A - Bandwidth allocation method, controller and communication system - Google Patents
Bandwidth allocation method, controller and communication system Download PDFInfo
- Publication number
- CN104660525A CN104660525A CN201510100006.0A CN201510100006A CN104660525A CN 104660525 A CN104660525 A CN 104660525A CN 201510100006 A CN201510100006 A CN 201510100006A CN 104660525 A CN104660525 A CN 104660525A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- information
- main frame
- data stream
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及通信技术领域,提供了一种带宽分配方法,包括:控制器接收各主机发送的数据流带宽请求信息和数据流优先级信息;根据所述接收到的数据流带宽请求信息和数据流优先级信息,以及所述各主机的入端口带宽信息和出端口带宽信息,生成带宽分配信息;向各主机发送所述带宽分配信息。相应地,本发明实施例还提供一种控制器和通信系统,使得高优先级的数据流得到及时响应,各台主机的带宽资源能够得到合理的分配,既不会因为过度分配而导致拥塞,也不会因为分配太少而造成带宽资源利用不充分,避免了带宽资源的浪费。
The present invention relates to the field of communication technology, and provides a bandwidth allocation method, comprising: a controller receives data stream bandwidth request information and data stream priority information sent by each host; and according to the received data stream bandwidth request information and data stream The priority information, as well as the ingress port bandwidth information and the egress port bandwidth information of each host, generate bandwidth allocation information; and send the bandwidth allocation information to each host. Correspondingly, the embodiment of the present invention also provides a controller and a communication system, so that high-priority data streams can be responded in a timely manner, and the bandwidth resources of each host can be allocated reasonably, without causing congestion due to over-allocation, Insufficient utilization of bandwidth resources will not be caused by too little allocation, which avoids waste of bandwidth resources.
Description
【技术领域】【Technical field】
本发明涉及通信技术领域,特别是涉及一种带宽分配方法、控制器及通信系统。The invention relates to the technical field of communication, in particular to a bandwidth allocation method, a controller and a communication system.
【背景技术】【Background technique】
数据中心中一般采用TCP协议进行数据传输。TCP协议拥有自带的拥塞控制机制,当发现一个流传输的数据发生拥塞的时候,它就会通过调节这个流的发送窗口和拥塞窗口的大小来减慢发送速率,从而有效避免由于拥塞而产生的丢包,提高数据传输的效率。In the data center, the TCP protocol is generally used for data transmission. The TCP protocol has its own congestion control mechanism. When it finds that the data transmitted by a stream is congested, it will slow down the sending rate by adjusting the size of the sending window and the congestion window of the stream, thereby effectively avoiding congestion due to congestion. packet loss and improve the efficiency of data transmission.
但是如果不对数据的传输速率进行限制而仅仅依靠TCP的拥塞控制机制来协调数据中心中流的传输,最终TCP将会把带宽公平地分配给数据中心中的流。然而,数据中心中的流往往具有不同的优先级,具有较高优先级的流应该优先得到传输,比如来自用户查询的流比背景流量(比如公司内部工作人员用于科学计算产生的流)应该得到更加及时的响应。为了以不同的优先级对数据中心中的流进行传输以满足不同的需要,在传输数据之前,可以首先将数据传送给一个代理,由这个代理按照一定规则进行处理以后再用TCP进行传输。However, if the transmission rate of data is not limited and only the congestion control mechanism of TCP is used to coordinate the transmission of flows in the data center, TCP will eventually allocate the bandwidth fairly to the flows in the data center. However, streams in a data center often have different priorities, and streams with higher priority should be transmitted first, such as streams from user queries than background traffic (such as streams generated by internal staff for scientific computing in a company). Get a more timely response. In order to transmit the streams in the data center with different priorities to meet different needs, before transmitting the data, the data can be transmitted to an agent first, and the agent will process it according to certain rules and then use TCP for transmission.
如图1所示,主机M3同时给M6,M7,M8三台主机发送数据,同样主机M7也会给M1,M2,M3,M4,M5五台主机发送数据。现有技术中,每台主机都会把它的出口带宽平均分配给从这台主机出发的流。比如主机M3的出口带宽为r3,则从M3到M6,M7,M8的流都能够最高以r3/3的速率进行传输。同样,如果主机M7的出口带宽为r7,则从M7出发的每个流最多能以r7/5的速率来传输数据。As shown in Figure 1, host M 3 sends data to three hosts M 6 , M 7 , and M 8 at the same time, and host M 7 also sends data to five hosts M 1 , M 2 , M 3 , M 4 , and M 5 data. In the prior art, each host will evenly distribute its egress bandwidth to the flows originating from this host. For example, the egress bandwidth of the host M 3 is r 3 , then the flows from M 3 to M 6 , M 7 , and M 8 can all be transmitted at a rate of up to r 3 /3. Similarly, if the egress bandwidth of host M 7 is r 7 , each flow from M 7 can transmit data at a rate of r 7 /5 at most.
由于没有考虑到流的优先级,所以所有的流都获得了相同的带宽。这种情况下,一些具有更高优先级的流可能得不到及时的响应,比如因为公司的研究人员在进行科学实验,导致数据中心正在传输大量的数据的时候,普通用户的请求来了,但是由于在技术中所有的流都具有相同的优先级,所以普通用户的流并没有得到及时的响应,这在实际的产品中将会严重影响用户体验,给公司带来损失。另外,单方面地给一个流分配出口带宽可能会在目的主机造成拥塞或者没能充分利用目的主机的入口带宽,从而造成带宽资源的浪费,比如在图1中,假设M3的出口带宽和M7的入口带宽都为r,那么M3最高将以r/3的带宽向M7发送数据,而M7最多只能以r/5的速率来处理来自M3的流,于是产生了丢包现象,造成了带宽资源的浪费。All streams get the same bandwidth as stream priority is not taken into account. In this case, some streams with higher priority may not get a timely response. For example, when the company's researchers are conducting scientific experiments and the data center is transmitting a large amount of data, requests from ordinary users come. However, because all streams have the same priority in technology, the streams of ordinary users do not get a timely response, which will seriously affect the user experience in actual products and bring losses to the company. In addition, unilaterally assigning egress bandwidth to a flow may cause congestion at the destination host or fail to fully utilize the ingress bandwidth of the destination host, resulting in a waste of bandwidth resources. For example, in Figure 1, it is assumed that the egress bandwidth of M 3 and M The ingress bandwidth of 7 is r, then M 3 will send data to M 7 with a bandwidth of r/3 at most, and M 7 can only process the flow from M 3 at a rate of r/5 at most, so packet loss occurs phenomenon, resulting in a waste of bandwidth resources.
【发明内容】【Content of invention】
本发明提供一种基于数据流优先级和源主机出口带宽和目的主机的入口带宽等全局信息来进行带宽分配的方法、控制器及通信系统。The invention provides a method, a controller and a communication system for bandwidth allocation based on global information such as data flow priority, egress bandwidth of a source host, and ingress bandwidth of a destination host.
本发明实施例提供一种带宽分配方法,包括:An embodiment of the present invention provides a bandwidth allocation method, including:
控制器接收各主机发送的数据流带宽请求信息和数据流优先级信息;The controller receives the data flow bandwidth request information and data flow priority information sent by each host;
根据所述接收到的数据流带宽请求信息和数据流优先级信息,以及所述各主机的入端口带宽信息和出端口带宽信息,生成带宽分配信息;generating bandwidth allocation information according to the received data flow bandwidth request information and data flow priority information, and the incoming port bandwidth information and outgoing port bandwidth information of each host;
向所述各主机发送所述带宽分配信息。sending the bandwidth allocation information to each host.
本发明实施例还提供一种控制器,包括:The embodiment of the present invention also provides a controller, including:
接收模块,用于接收各主机发送的数据流带宽请求信息和数据流优先级信息;A receiving module, configured to receive data flow bandwidth request information and data flow priority information sent by each host;
带宽分配模块,用于根据所述接收模块接收到的数据流带宽请求信息和数据流优先级信息,以及所述各主机的入端口带宽信息和出端口带宽信息,生成带宽分配信息;A bandwidth allocation module, configured to generate bandwidth allocation information according to the data stream bandwidth request information and data stream priority information received by the receiving module, and the ingress port bandwidth information and egress port bandwidth information of each host;
发送模块,用于向所述各主机发送所述带宽分配信息。A sending module, configured to send the bandwidth allocation information to each of the hosts.
另外,本发明实施例还提供一种通信系统,包括一台控制器和至少两台主机,所述控制器用于,接收各主机发送的数据流带宽请求信息和数据流优先级信息;In addition, an embodiment of the present invention also provides a communication system, including a controller and at least two hosts, the controller is configured to receive data flow bandwidth request information and data flow priority information sent by each host;
根据所述接收到的数据流带宽请求信息和数据流优先级信息,以及所述各主机的入端口带宽信息和出端口带宽信息,生成带宽分配信息;generating bandwidth allocation information according to the received data flow bandwidth request information and data flow priority information, and the incoming port bandwidth information and outgoing port bandwidth information of each host;
向所述各主机发送所述带宽分配信息。sending the bandwidth allocation information to each host.
与现有技术相比,本发明的有益效果在于:本发明实施例通过根据数据流带宽请求信息和数据流优先级信息,以及所述入端口带宽信息和出端口带宽信息,进行带宽分配,可以使得高优先级的数据流得到及时响应,各台主机的带宽资源能够得到合理的分配,既不会因为过度分配而导致拥塞,也不会因为分配太少而造成带宽资源利用不充分,避免了带宽资源的浪费。Compared with the prior art, the present invention has the beneficial effects that: the embodiment of the present invention performs bandwidth allocation according to the data flow bandwidth request information and data flow priority information, as well as the ingress port bandwidth information and the egress port bandwidth information, which can The high-priority data flow can be responded in a timely manner, and the bandwidth resources of each host can be allocated reasonably, neither causing congestion due to excessive allocation, nor causing insufficient bandwidth resource utilization due to too little allocation, avoiding Waste of bandwidth resources.
【附图说明】【Description of drawings】
图1是现有技术中的一种数据流传输网络拓扑图;FIG. 1 is a topological diagram of a data stream transmission network in the prior art;
图2是本发明实施例一的方法流程图;Fig. 2 is the method flowchart of embodiment 1 of the present invention;
图3是本发明实施例二的数据流传输网络拓扑图;FIG. 3 is a topological diagram of a data stream transmission network according to Embodiment 2 of the present invention;
图4是本发明实施例三的数据流传输信息图;FIG. 4 is an information diagram of data stream transmission in Embodiment 3 of the present invention;
图5是本发明实施例四的装置结构框图。Fig. 5 is a structural block diagram of a device according to Embodiment 4 of the present invention.
【具体实施方式】【Detailed ways】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention.
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not constitute a conflict with each other.
实施例一:Embodiment one:
本发明实施例一提供了一种带宽分配方法,如图2所示,包括:Embodiment 1 of the present invention provides a bandwidth allocation method, as shown in FIG. 2 , including:
S101,控制器接收各主机发送的数据流带宽请求信息和数据流优先级信息;S101. The controller receives data flow bandwidth request information and data flow priority information sent by each host;
这里,主机的个数为m。每台主机将本主机作为源主机发送给目的主机的数据流带宽请求和该数据流的优先级发给控制器。Here, the number of hosts is m. Each host sends the data flow bandwidth request sent by the host as the source host to the destination host and the priority of the data flow to the controller.
S102,根据所述接收到的数据流带宽请求信息和数据流优先级信息,以及所述各主机的入端口带宽信息和出端口带宽信息,生成带宽分配信息;S102. Generate bandwidth allocation information according to the received data stream bandwidth request information and data stream priority information, and the ingress port bandwidth information and egress port bandwidth information of each host;
由于每台主机的入端口带宽和出端口带宽是恒定的,所以,控制器事先知道每台主机的入端口带宽和出端口带宽,主机Mi的入端口带宽信息表示为R(Pi in),出端口带宽信息表示为R(Pi out)。Since the bandwidth of the ingress port and the bandwidth of the egress port of each host are constant, the controller knows the bandwidth of the ingress port and the bandwidth of the egress port of each host in advance, and the bandwidth information of the ingress port of the host M i is expressed as R(P i in ) , and the outbound bandwidth information is denoted as R(P i out ).
控制器收到各主机发送的数据流带宽请求信息和数据流优先级信息后,可以生成数据流带宽请求矩阵R0以及优先级权值矩阵W,其中所述R0的第i行第j列元素为主机Mi到Mj的数据流fij的带宽请求,所述优先级权值矩阵W的第i行第j列元素ωij为主机Mi到Mj的数据流fij的优先级权值,且所述R0和W均为m×m矩阵,m表示主机的个数,i和j为自然数。After the controller receives the data flow bandwidth request information and data flow priority information sent by each host, it can generate a data flow bandwidth request matrix R 0 and a priority weight matrix W, wherein the i-th row and the jth column of the R 0 element is the bandwidth request of the data flow f ij of the host M i to M j , and the i-th row j column element ω ij of the priority weight matrix W is the priority weight of the data flow f ij of the host M i to M j value, and the R 0 and W are both m×m matrices, m represents the number of hosts, and i and j are natural numbers.
具体地,对所述矩阵R0的每行,先依次计算数据流fij按优先级权值分配的带宽其中
再将和两者中的较小值作为矩阵R1中第i行第j列的元素 then and The smaller value of the two is taken as the element of row i, column j in matrix R1
根据主机Mi的出端口带宽R(Pi out)的剩余带宽,更新矩阵R1中第i行第j列的元素 According to the remaining bandwidth of the outgoing port bandwidth R(P i out ) of the host M i , update the elements in the i-th row and j-th column in the matrix R 1
对所述矩阵R1的每列,依次计算数据流fij按优先级权值分配的带宽其中
将和两者中的较小值作为矩阵R2中第i行第j列的元素 Will and The smaller of the two is taken as the element at row i, column j in matrix R2
根据主机Mi的入端口带宽R(Pi in)的剩余带宽,更新每个元素更新后,可以得到带宽分配信息。 Update _ _ After each element is updated, bandwidth allocation information can be obtained.
S103,向各主机发送所述带宽分配信息。S103. Send the bandwidth allocation information to each host.
具体地,可以向每台主机发送与该主机相关的带宽分配信息或者向各主机发送矩阵R2信息,其中的第i行第j列元素为主机Mi到Mj的数据流fij的带宽值。Specifically, the bandwidth allocation information related to the host can be sent to each host or the matrix R 2 information can be sent to each host, wherein the i-th row and j-th column element is the bandwidth value of data flow f ij from host M i to M j .
本发明实施例通过根据数据流带宽请求信息和数据流优先级信息,以及所述入端口带宽信息和出端口带宽信息,进行带宽分配,可以使得高优先级的数据流得到及时响应,各台主机的带宽资源能够得到合理的分配,既不会因为过度分配而导致拥塞,也不会因为分配太少而造成带宽资源利用不充分,避免了带宽资源的浪费。In the embodiment of the present invention, bandwidth allocation is performed according to the data stream bandwidth request information and data stream priority information, as well as the ingress port bandwidth information and egress port bandwidth information, so that high priority data streams can be responded in a timely manner, and each host The bandwidth resources can be allocated reasonably, neither causing congestion due to over-allocation, nor underutilization of bandwidth resources due to too little allocation, avoiding the waste of bandwidth resources.
实施例二:Embodiment two:
本发明实施例二提供了一种带宽分配方法,其数据流传输拓扑图如图3所示,包括一台控制器和三台主机。与实施例一不同的是,本实施例针对主机台数为三的情形,其带宽分配方法与实施例一类似,具体为:Embodiment 2 of the present invention provides a bandwidth allocation method, and its data stream transmission topology diagram is shown in FIG. 3 , including one controller and three hosts. The difference from Embodiment 1 is that this embodiment is aimed at the situation where the number of hosts is three, and its bandwidth allocation method is similar to Embodiment 1, specifically:
控制器接收3台主机发送的数据流带宽请求信息和数据流优先级信息;The controller receives the data flow bandwidth request information and data flow priority information sent by the three hosts;
在由三台主机组成的数据中心中,有六个数据流需要传输,分别记为f12,f13,f21,f23,f31和f32,fij表示从主机Mi到Mj的数据流,每个数据流都有其带宽请求和优先级。根据每个数据流的优先级给它赋予一个权值,一个数据流的优先级越高它的权值也越高。ωij为主机Mi到Mj的数据流fij的优先级权值,为主机Mi到Mj的数据流fij的带宽请求,表示主机Mi到Mj之间没有数据流。本发明实施例要做的是,在总带宽有限的条件下,根据每个数据流的优先级为它分配带宽。In a data center composed of three hosts, there are six data streams to be transmitted, which are recorded as f 12 , f 13 , f 21 , f 23 , f 31 and f 32 , and f ij means from host M i to M j Each data flow has its bandwidth request and priority. Assign a weight to each data stream according to its priority, and the higher the priority of a data stream, the higher its weight. ω ij is the priority weight of data flow f ij from host M i to M j , is the bandwidth request of data flow f ij from host M i to M j , Indicates that there is no data flow between host M i and M j . What the embodiments of the present invention do is to allocate bandwidth to each data flow according to its priority under the condition that the total bandwidth is limited.
由于每台主机的入口带宽和出口带宽是恒定的,所以控制器事先知道每台主机的入口带宽和出口带宽。当控制器接收到每台主机发出的数据流带宽请求值和优先级权值之后,建立一个带宽矩阵和优先级权值矩阵,分别记为R0和W:Since the ingress bandwidth and egress bandwidth of each host are constant, the controller knows the ingress bandwidth and egress bandwidth of each host in advance. After the controller receives the data flow bandwidth request value and the priority weight value sent by each host, it establishes a bandwidth matrix and a priority weight value matrix, which are respectively recorded as R 0 and W:
根据所述接收到的数据流带宽请求信息和数据流优先级信息,以及三台主机的入端口带宽信息和出端口带宽信息,生成带宽分配信息;Generate bandwidth allocation information according to the received data flow bandwidth request information and data flow priority information, and the incoming port bandwidth information and outgoing port bandwidth information of the three hosts;
具体地,首先按行来更新矩阵R0的元素的值,即每个流应该分配到的带宽。矩阵R0的第一行有两个流f12和f13,它们的权值分别为ω12和ω13。主机M1的出口带宽为R(P1 out),所以按优先级权值比例分配,应该给流f12分配的带宽为
如果表明流f12分配到的带宽不能满足或刚好满足其带宽请求,这时,把分配到的带宽全部分配给它,令即把和两者中的较小值作为矩阵R1中第i行第j列的元素反之,如果表明流f12分配到的带宽大于其带宽请求,则不需要在它带宽请求之外额外再给它分配带宽,所以保持不变,即 if Indicates that the allocated bandwidth of flow f 12 cannot meet or just meet its bandwidth request, at this time, all the allocated bandwidth is allocated to it, so that immediately and The smaller value of the two is taken as the element of row i, column j in matrix R1 Conversely, if Indicates that the bandwidth allocated to flow f 12 is greater than its bandwidth request, so there is no need to allocate additional bandwidth to it in addition to its bandwidth request, so keep unchanged, ie
采用同样的方法更新流f13的带宽,对这一行对应的数据流处理完之后,检查M1的出端口是否有额外的剩余带宽。根据M1的出端口带宽R(P1 out)的剩余带宽,更新矩阵R1中第i行第j列的元素具体为:比如即计算出应该分配给流f12的带宽并没有完全分配给它,因此剩余一定带宽,剩余带宽为这时依次检查这一行的流是否还需要带宽。假设f13分配到的带宽小于它的带宽请求,如果就把剩余带宽Rem(P1 out)全部分配给流f13,否则只将剩余带宽Rem(P1 out)的部分分配给流f13以满足它的带宽请求,使得对矩阵R0的每一行都进行相同的操作,这样就完成了出端口的带宽分配,得到新的带宽矩阵Use the same method to update the bandwidth of flow f 13. After processing the data flow corresponding to this line, check whether the output port of M 1 has additional remaining bandwidth. According to the remaining bandwidth of the outgoing port bandwidth R(P 1 out ) of M 1 , update the element in row i and column j in matrix R 1 Specifically: for example That is, it is calculated that the bandwidth that should be allocated to flow f 12 is not fully allocated to it, so there is a certain amount of bandwidth remaining, and the remaining bandwidth is At this time, check whether the flow of this row still needs bandwidth. Assume that the allocated bandwidth of f 13 is less than its bandwidth request, if Allocate the remaining bandwidth Rem(P 1 out ) to the flow f 13 , otherwise only allocate the part of the remaining bandwidth Rem(P 1 out ) to the flow f 13 to satisfy its bandwidth request, such that Perform the same operation on each row of the matrix R 0 , thus completing the bandwidth allocation of the outgoing port and obtaining a new bandwidth matrix
然后,在R1的基础上按列给这些流分配带宽。由于每一列都对应于一台主机的入端口,所以按列分配带宽相当于对主机的入端口进行带宽分配。以R1的第一列为例,这一列包含两个流f21和f31。在对出端口进行带宽分配的过程中,分别给它们分配了带宽和已知M1的入端口带宽为R(P1 in),流f21和f31的优先级权值分别为ω21和ω31,所以按优先级权值比例,应该分配给它们的带宽分别为
注意,在按列分配带宽的时候,每一个流分配的带宽都不能超过它们在按行分配带宽时所分配到的带宽,因为在按行分配带宽的时候给一个流分配的带宽就是这个流的源主机所能支持的最大带宽。首先考虑更新分配给流f21的带宽,如果表明流f21的目的主机所能支持的带宽小于等于它的源主机所能分配给它的带宽,则将流f21分配到的带宽更新为反之,如果表明流f21的目的主机能够分配给它的带宽大于它在按行分配时分配的带宽,而按列分配时每一个流分配的带宽都不能超过它们在按行分配带宽时所分配到的带宽,所以保持它的带宽不变,即 Note that when allocating bandwidth by column, the bandwidth allocated to each flow cannot exceed the bandwidth allocated by them when allocating bandwidth by row, because the bandwidth allocated to a flow when allocating bandwidth by row is the bandwidth of this flow The maximum bandwidth that the source host can support. Consider first updating the bandwidth allocated to flow f 21 , if Indicates that the bandwidth that the destination host of flow f 21 can support is less than or equal to the bandwidth that its source host can allocate to it, then the bandwidth allocated to flow f 21 is updated as Conversely, if Indicates that the bandwidth allocated by the destination host of flow f 21 is greater than the bandwidth allocated by it when it is allocated by row, and the bandwidth allocated by each flow when it is allocated by column cannot exceed the bandwidth allocated by them when it is allocated by row , so keeping its bandwidth constant, ie
给第一列的两个流分配完带宽之后,如果他们的带宽之和小于目的端口P1 in的带宽,比如因为即原来应该分配给流f21的带宽没有完全分配出去,从而
向上述三台主机发送所述带宽分配信息。Send the bandwidth allocation information to the above three hosts.
其中,控制器可以向各主机发送矩阵R2信息,其中的第i行第j列元素为主机Mi到Mj的数据流fij的带宽值;也可以向各主机发送和该主机相关的带宽信息,即只发送带宽分配矩阵的中的部分元素给该主机。该主机接收到带宽分配信息后,根据该信息,进行最终的带宽分配。Among them, the controller can send matrix R 2 information to each host, in which the i-th row and j-th column element is the bandwidth value of the data flow f ij of the host M i to M j ; the bandwidth information related to the host can also be sent to each host, that is, only some elements in the bandwidth allocation matrix are sent to the host. After receiving the bandwidth allocation information, the host performs final bandwidth allocation according to the information.
本发明实施例通过根据数据流带宽请求信息和数据流优先级信息,以及所述入端口带宽信息和出端口带宽信息,进行带宽分配,可以使得高优先级的数据流得到及时响应,各台主机的带宽资源能够得到合理的分配,既不会因为过度分配而导致拥塞,也不会因为分配太少而造成带宽资源利用不充分,避免了带宽资源的浪费。In the embodiment of the present invention, bandwidth allocation is performed according to the data stream bandwidth request information and data stream priority information, as well as the ingress port bandwidth information and egress port bandwidth information, so that high priority data streams can be responded in a timely manner, and each host The bandwidth resources can be allocated reasonably, neither causing congestion due to over-allocation, nor underutilization of bandwidth resources due to too little allocation, avoiding the waste of bandwidth resources.
实施例三:Embodiment three:
本发明实施例三提供了一种针对三台主机进行带宽分配的具体示例,图4是本发明实施例三的数据流传输信息图,其带宽分配方法与实施例一类似,具体为:Embodiment 3 of the present invention provides a specific example of bandwidth allocation for three hosts. FIG. 4 is a data stream transmission information diagram of Embodiment 3 of the present invention. The bandwidth allocation method is similar to Embodiment 1, specifically:
控制器接收3台主机发送的数据流带宽请求信息和数据流优先级信息。这里带宽请求它们的优先级权值分别为ω12=1,ω13=4,ω21=2,ω23=3,ω31=5,ω32=7,
首先,按行给这些流分配带宽。容易计算得到而所以可以将流f12的带宽更新为同样可以计算得到而所以可以保持流f13的带宽不变,即随后,检查M1的出端口的剩余带宽而流f12所分配到的带宽1.2小于它的带宽请求2,所以可以从剩余带宽中拿出0.8分配给它。于是对M1的出端口中的流,最后分配的情况是采用同样的方法,对R0的第二行和第三行进行处理,得到带宽矩阵First, bandwidth is allocated to these streams on a row-by-row basis. easy to calculate and So the bandwidth of flow f 12 can be updated as can also be calculated and So the bandwidth of flow f 13 can be kept constant, namely Subsequently, check the remaining bandwidth of the egress port of M1 And the bandwidth 1.2 allocated to flow f 12 is smaller than its bandwidth request 2, so 0.8 can be allocated to it from the remaining bandwidth. Then for the flow in the outbound port of M 1 , the final allocation situation is Using the same method, process the second and third rows of R 0 to obtain the bandwidth matrix
然后,按列对R1进行更新。比如对于第一列,因为所以保持分配给流f21的带宽不变。因为即在按列分配时分配给流f31的带宽大于按行分配时分配给它的带宽,但由于按列分配给一个流的带宽不应该大于按行分配给该流的带宽,所以保持分配给流f31的带宽不变,即再针对M2的入端口进行带宽分配,容易计算得到,而所以主机M2的入端口只能给流f12分配带宽1.1,于是同样,而但是由于按列分配给一个流的带宽不应该大于按行分配给该流的带宽,所以保持f32的带宽不变,即 Then, update R1 by column. For example, for the first column, because So keep the bandwidth allocated to flow f 21 unchanged. because That is, the bandwidth allocated to flow f 31 when allocated by column is greater than the bandwidth allocated to it when allocated by row, but since the bandwidth allocated to a flow by column should not be greater than the bandwidth allocated to this flow by row, it remains allocated to The bandwidth of flow f 31 is constant, i.e. Then carry out bandwidth allocation for the ingress port of M2 , which is easy to calculate, and So the ingress port of host M2 can only allocate bandwidth 1.1 to flow f12, so same, and However, since the bandwidth allocated to a flow by column should not be greater than the bandwidth allocated to this flow by row, the bandwidth of f 32 remains unchanged, ie
再检查剩余带宽,由于f12和f32分配到的带宽之和小于M2的入端口的带宽,M2的入端口的剩余带宽为流f12在按行分配时分配的带宽为但现在分配的带宽只有因此可以从剩余带宽中拿出0.9分配给流f12,于是采用同样的方法,对R1的第三列进行带宽分配,最后得到带宽分配矩阵Then check the remaining bandwidth, because the sum of the bandwidth allocated by f 12 and f 32 is less than the bandwidth of the ingress port of M 2 , the remaining bandwidth of the ingress port of M 2 is The bandwidth allocated by flow f 12 when allocated by row is But now the allocated bandwidth is only Therefore 0.9 can be allocated to flow f 12 from the remaining bandwidth, so Use the same method to allocate bandwidth to the third column of R 1 , and finally get the bandwidth allocation matrix
控制器向各主机发送矩阵R2信息,其中的第i行第j列元素为主机Mi到Mj的数据流fij的带宽值。也可以向各主机发送和该主机相关的带宽信息,即只发送带宽分配矩阵的中的部分元素给该主机。该主机接收到带宽分配信息后,根据该信息,进行最终的带宽分配。The controller sends matrix R 2 information to each host, in which the i-th row and j-th column element is the bandwidth value of data flow f ij from host M i to M j . It is also possible to send bandwidth information related to the host to each host, that is, only send some elements in the bandwidth allocation matrix to the host. After receiving the bandwidth allocation information, the host performs final bandwidth allocation according to the information.
本发明实施例通过根据数据流带宽请求信息和数据流优先级信息,以及所述入端口带宽信息和出端口带宽信息,进行带宽分配,可以使得高优先级的数据流得到及时响应,各台主机的带宽资源能够得到合理的分配,既不会因为过度分配而导致拥塞,也不会因为分配太少而造成带宽资源利用不充分,避免了带宽资源的浪费。In the embodiment of the present invention, bandwidth allocation is performed according to the data stream bandwidth request information and data stream priority information, as well as the ingress port bandwidth information and egress port bandwidth information, so that high priority data streams can be responded in a timely manner, and each host The bandwidth resources can be allocated reasonably, neither causing congestion due to over-allocation, nor underutilization of bandwidth resources due to too little allocation, avoiding the waste of bandwidth resources.
实施例四:Embodiment four:
本发明实施例四提供了一种控制器,图5是本发明实施例四的装置结构框图,包括接收模块501,带宽分配模块502,发送模块503,其中Embodiment 4 of the present invention provides a controller. FIG. 5 is a structural block diagram of a device according to Embodiment 4 of the present invention, including a receiving module 501, a bandwidth allocation module 502, and a sending module 503, wherein
接收模块501,用于接收各主机发送的数据流带宽请求信息和数据流优先级信息;The receiving module 501 is configured to receive data flow bandwidth request information and data flow priority information sent by each host;
带宽分配模块502,用于根据所述接收模块501接收到的数据流带宽请求信息和数据流优先级信息,以及所述各主机的入端口带宽信息和出端口带宽信息,生成带宽分配信息;The bandwidth allocation module 502 is configured to generate bandwidth allocation information according to the data flow bandwidth request information and data flow priority information received by the receiving module 501, as well as the ingress port bandwidth information and the egress port bandwidth information of each host;
发送模块503,用于向所述各主机发送所述带宽分配信息。The sending module 503 is configured to send the bandwidth allocation information to the hosts.
具体地,控制器还可以包括生成模块,用于生成数据流带宽请求矩阵R0以及优先级权值矩阵W,其中所述R0的第i行第j列元素为主机Mi到Mj的数据流fij的带宽请求,所述优先级权值矩阵W的第i行第j列元素ωij为主机Mi到Mj的数据流fij的优先级权值,所述R0和W均为m×m矩阵,m表示主机的个数,i和j为自然数,且所述i≤m,j≤m。Specifically, the controller may also include a generating module, configured to generate a data stream bandwidth request matrix R 0 and a priority weight matrix W, wherein the i-th row and j-th column element of the R 0 is the bandwidth request of the data flow f ij of the host M i to M j , and the i-th row j column element ω ij of the priority weight matrix W is the priority weight of the data flow f ij of the host M i to M j value, the R 0 and W are both m×m matrices, m represents the number of hosts, i and j are natural numbers, and the i≤m, j≤m.
其中,带宽分配模块502具体用于:Wherein, the bandwidth allocation module 502 is specifically used for:
对所述矩阵R0的每行,依次计算数据流fij按优先级权值分配的带宽其中R(Pi out)为主机Mi的出端口带宽信息;For each row of the matrix R 0 , sequentially calculate the bandwidth allocated by the data flow f ij according to the priority weight in R(P i out ) is the bandwidth information of the outgoing port of the host M i ;
将和两者中的较小值作为矩阵R1中第i行第j列的元素 Will and The smaller value of the two is taken as the element of row i, column j in matrix R1
根据主机Mi的出端口带宽R(Pi out)的剩余带宽,更新矩阵R1中第i行第j列的元素 According to the remaining bandwidth of the outgoing port bandwidth R(P i out ) of the host M i , update the elements in the i-th row and j-th column in the matrix R 1
对所述矩阵R1的每列,依次计算数据流fij按优先级权值分配的带宽其中R(Pi in)为主机Mi的入端口带宽信息;For each column of the matrix R 1 , the bandwidth allocated by the data flow f ij according to the priority weight is calculated in turn in R(P i in ) is the ingress port bandwidth information of the host M i ;
将和两者中的较小值作为矩阵R2中第i行第j列的元素 Will and The smaller of the two is taken as the element at row i, column j in matrix R2
根据主机Mi的入端口带宽R(Pi in)的剩余带宽,更新 Update _ _
带宽矩阵的获取方法具体可以参照实施例二和实施例三,在此不再赘述。For the method for obtaining the bandwidth matrix, reference may be made to Embodiment 2 and Embodiment 3, and details are not repeated here.
发送模块503具体用于向每台主机发送与该主机相关的带宽分配信息;或者向各主机发送矩阵R2信息,其中的第i行第j列元素为主机Mi到Mj的数据流fij的带宽值。The sending module 503 is specifically configured to send bandwidth allocation information related to the host to each host; or send matrix R 2 information to each host, wherein the i-th row and j-th column element is the bandwidth value of data flow f ij from host M i to M j .
本发明实施例提供的控制器,通过根据数据流带宽请求信息和数据流优先级信息,以及所述入端口带宽信息和出端口带宽信息,进行带宽分配,可以使得高优先级的数据流得到及时响应,各台主机的带宽资源能够得到合理的分配,既不会因为过度分配而导致拥塞,也不会因为分配太少而造成带宽资源利用不充分,避免了带宽资源的浪费。The controller provided by the embodiment of the present invention performs bandwidth allocation according to the data stream bandwidth request information and data stream priority information, as well as the ingress port bandwidth information and the egress port bandwidth information, so that high priority data streams can be obtained in a timely manner. In response, the bandwidth resources of each host can be allocated reasonably, neither causing congestion due to over-allocation, nor underutilization of bandwidth resources due to too little allocation, avoiding the waste of bandwidth resources.
实施例五:Embodiment five:
本发明实施例五提供了一种通信系统,其网络架构图与图3类似,只是本实施例的主机可以不止3台。Embodiment 5 of the present invention provides a communication system, and its network architecture diagram is similar to FIG. 3 , except that there may be more than three hosts in this embodiment.
本发明实施例提供的通信系统,包括一台控制器和至少两台主机,所述控制器用于,The communication system provided by the embodiment of the present invention includes a controller and at least two hosts, the controller is used for:
接收各主机发送的数据流带宽请求信息和数据流优先级信息;Receive data flow bandwidth request information and data flow priority information sent by each host;
根据所述接收到的数据流带宽请求信息和数据流优先级信息,以及所述各主机的入端口带宽信息和出端口带宽信息,生成带宽分配信息;generating bandwidth allocation information according to the received data flow bandwidth request information and data flow priority information, and the incoming port bandwidth information and outgoing port bandwidth information of each host;
向各主机发送所述带宽分配信息。Send the bandwidth allocation information to each host.
需要指出的是,这里的控制器与实施例四相同,其实现方法也与上述方法实施例相同。该通信系统的控制器可以为交换机,也可以为某一台主机,本发明在此不作限制。It should be pointed out that the controller here is the same as that of the fourth embodiment, and its implementation method is also the same as that of the above method embodiment. The controller of the communication system may be a switch or a certain host, which is not limited in the present invention.
本发明实施例提供的通信系统,通过根据数据流带宽请求信息和数据流优先级信息,以及所述入端口带宽信息和出端口带宽信息,进行带宽分配,可以使得高优先级的数据流得到及时响应,各台主机的带宽资源能够得到合理的分配,既不会因为过度分配而导致拥塞,也不会因为分配太少而造成带宽资源利用不充分,避免了带宽资源的浪费。In the communication system provided by the embodiment of the present invention, bandwidth allocation is performed according to the data stream bandwidth request information and data stream priority information, as well as the ingress port bandwidth information and egress port bandwidth information, so that high priority data streams can be obtained in a timely manner. In response, the bandwidth resources of each host can be allocated reasonably, neither causing congestion due to over-allocation, nor underutilization of bandwidth resources due to too little allocation, avoiding the waste of bandwidth resources.
本领域普通技术人员可以理解上述实施例方法的全部或部分流程,是可以通过计算机程序指令相关的硬件完成,所述的程序可以存储于计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。Those of ordinary skill in the art can understand that all or part of the process of the method in the above embodiments can be completed by hardware related to computer program instructions. The program can be stored in a computer-readable storage medium. When the program is executed, it can include Such as the flow of the embodiments of the above-mentioned methods. Wherein, the storage medium may be a magnetic disk, an optical disk, a read only memory (Read Only Memory, ROM) or a random access memory (Random Access Memory, RAM), etc.
以上所述仅为本发明的较佳实施例,并不用于限定本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention shall be included in the protection of the present invention. within range.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510100006.0A CN104660525B (en) | 2015-03-06 | 2015-03-06 | Bandwidth allocation method, controller and communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510100006.0A CN104660525B (en) | 2015-03-06 | 2015-03-06 | Bandwidth allocation method, controller and communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104660525A true CN104660525A (en) | 2015-05-27 |
CN104660525B CN104660525B (en) | 2017-05-10 |
Family
ID=53251238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510100006.0A Expired - Fee Related CN104660525B (en) | 2015-03-06 | 2015-03-06 | Bandwidth allocation method, controller and communication system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104660525B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959981A (en) * | 2016-02-29 | 2016-09-21 | 青岛克路德机器人有限公司 | Remote control fire-fighting robot communication method and fire-fighting robot |
CN111262695A (en) * | 2020-01-10 | 2020-06-09 | 山东大学 | A Threshold Secret Sharing Method for Adaptive Bandwidth |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103249164A (en) * | 2013-04-08 | 2013-08-14 | 江苏物联网研究发展中心 | Resource scheduling method and base station for chain wireless network |
CN103701722A (en) * | 2014-01-02 | 2014-04-02 | 网神信息技术(北京)股份有限公司 | Network bandwidth allocation method, device and system |
CN103888382A (en) * | 2014-02-19 | 2014-06-25 | 北京邮电大学 | WDM-OFDM-PON three dimensional bandwidth distribution method and system |
CN104158739A (en) * | 2014-08-29 | 2014-11-19 | 杭州华三通信技术有限公司 | IP (Internet Protocol) traffic engineering (TE) management method and device |
CN104301256A (en) * | 2014-10-31 | 2015-01-21 | 杭州华三通信技术有限公司 | Method for dynamically reserving bandwidths in SDN and controller |
-
2015
- 2015-03-06 CN CN201510100006.0A patent/CN104660525B/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103249164A (en) * | 2013-04-08 | 2013-08-14 | 江苏物联网研究发展中心 | Resource scheduling method and base station for chain wireless network |
CN103701722A (en) * | 2014-01-02 | 2014-04-02 | 网神信息技术(北京)股份有限公司 | Network bandwidth allocation method, device and system |
CN103888382A (en) * | 2014-02-19 | 2014-06-25 | 北京邮电大学 | WDM-OFDM-PON three dimensional bandwidth distribution method and system |
CN104158739A (en) * | 2014-08-29 | 2014-11-19 | 杭州华三通信技术有限公司 | IP (Internet Protocol) traffic engineering (TE) management method and device |
CN104301256A (en) * | 2014-10-31 | 2015-01-21 | 杭州华三通信技术有限公司 | Method for dynamically reserving bandwidths in SDN and controller |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959981A (en) * | 2016-02-29 | 2016-09-21 | 青岛克路德机器人有限公司 | Remote control fire-fighting robot communication method and fire-fighting robot |
CN111262695A (en) * | 2020-01-10 | 2020-06-09 | 山东大学 | A Threshold Secret Sharing Method for Adaptive Bandwidth |
Also Published As
Publication number | Publication date |
---|---|
CN104660525B (en) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11431645B2 (en) | Method and apparatus for handling network congestion, and system | |
CN102415059B (en) | Bus control device | |
CN111246586B (en) | A method and system for allocating smart grid resources based on genetic algorithm | |
CN111580970B (en) | Transmission scheduling method for model distribution and aggregation of federated learning | |
US9813529B2 (en) | Effective circuits in packet-switched networks | |
JP5324637B2 (en) | Dynamic flowlet scheduling system, flow scheduling method, and flow scheduling program | |
CN103036792B (en) | Transmitting and scheduling method for maximizing minimal equity multiple data streams | |
CN102883374B (en) | Resource distribution method for satellite communication system | |
CN109947574B (en) | Fog network-based vehicle big data calculation unloading method | |
CN105656799A (en) | Scheduling method based on business features in SDN network | |
CN109614215A (en) | Stream scheduling method, device, device and medium based on deep reinforcement learning | |
JP2016531372A (en) | Memory module access method and apparatus | |
US20240334239A1 (en) | User equipment and wireless communication method for neural network computation | |
CN113840330B (en) | Connection establishment method, gateway equipment, network system and dispatching center | |
CN109743751B (en) | Resource allocation method and device for wireless access network | |
CN111934828B (en) | Data transmission method and system based on OFDMA mode | |
CN112714081B (en) | Data processing method and device | |
CN104660525B (en) | Bandwidth allocation method, controller and communication system | |
CN110399210B (en) | Task scheduling method and device based on edge cloud | |
CN102223311A (en) | Queue scheduling method and device | |
EP3063969B1 (en) | System and method for traffic engineering using link buffer status | |
CN105827536A (en) | Traffic scheduling method and system of terminal access network | |
CN117119043A (en) | Micro-service deployment method for edge network topology perception | |
CN104243263B (en) | A kind of on-line mixing mapping method of virtual network | |
CN112367708A (en) | Network resource allocation method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
CB03 | Change of inventor or designer information |
Inventor after: Ming Zhongxing Inventor after: Zhao Zongyi Inventor after: Yang Shu Inventor after: Pan Dai Inventor after: Wu Zhenzhou Inventor after: Yang Chao Inventor before: Zhao Zongyi Inventor before: Yang Shu Inventor before: Ming Zhongxing Inventor before: Pan Dai Inventor before: Wu Zhenzhou Inventor before: Yang Chao |
|
COR | Change of bibliographic data | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170228 Address after: Tsinghua 518000 North Guangdong city of Shenzhen province Nanshan District high tech Zone Xili street a comprehensive building 1 floor of No. 107 Applicant after: Ming Zhongxing Address before: 518000 Guangdong, Shenzhen, Shahe street, the world garden, cherry garden, building No. 1, unit 701, Applicant before: SHENZHEN OUDMON TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220518 Address after: 518000, 1st Floor 107, Phase I Complex Building of Tsinghua Information Port, North District of Xili Street High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province Patentee after: Chen Yao Address before: 518000, 1st Floor 107, Phase I Complex Building of Tsinghua Information Port, North District of Xili Street High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province Patentee before: Ming Zhongxing |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170510 |