CN115695200A - 带宽分配方法、装置以及系统 - Google Patents
带宽分配方法、装置以及系统 Download PDFInfo
- Publication number
- CN115695200A CN115695200A CN202110859240.7A CN202110859240A CN115695200A CN 115695200 A CN115695200 A CN 115695200A CN 202110859240 A CN202110859240 A CN 202110859240A CN 115695200 A CN115695200 A CN 115695200A
- Authority
- CN
- China
- Prior art keywords
- controller
- bandwidth value
- bandwidth
- forwarding node
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 136
- 230000008569 process Effects 0.000 claims abstract description 46
- 238000004891 communication Methods 0.000 claims description 138
- 230000002349 favourable effect Effects 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 108020001568 subdomains Proteins 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种带宽分配方法。该方法可以应用于分布式系统,分布式系统包括N个控制器,N个控制器包括第一控制器和第二控制器,N为大于等于3的整数,包括:获取第一带宽分配信息,第一带宽分配信息包括第一带宽值和第二带宽值,第一带宽值为第一控制器在上一轮迭代结束后分配给第一子域中的第一转发节点的带宽值,第二带宽值为第二控制器在上一轮迭代结束后分配给第二子域中的第二转发节点的带宽值,第一控制器与第二控制器相邻;在本轮迭代过程中,根据第一带宽分配信息,确定目标带宽值,目标带宽值是第一控制器分配给第一转发节点进行业务转发时占用的带宽值。该方法在保证实现业务带宽公平和准确分配的前提下,有利于提高带宽分配效率。
Description
技术领域
本申请涉及计算机通信领域,并且更具体地,涉及一种带宽分配方法、装置以及系统。
背景技术
分布式系统架构(例如,软件定义(software defined network,SDN)网络或分布式物联网等)已经广泛的应用于通信领域中。基于这种分布式系统架构转发业务时,需要为转发业务的所有节点分配合适的带宽,以实现业务的成功转发。但现有的带宽分配方法,为分布式系统架构中转发业务的所有节点分配带宽时存在不公平和效率低的问题。
因此亟需一种带宽分配方法,该方法在保证实现业务带宽公平和准确分配的前提下,可以提高带宽分配效率。
发明内容
本申请提供一种带宽分配方法、装置以及系统。该方法在保证实现业务带宽公平和准确分配的前提下,有利于提高带宽分配效率。
第一方面,提供了一种带宽分配方法,应用于分布式系统,该分布式系统包括N个控制器,该N个控制器包括第一控制器和第二控制器,N为大于等于3的整数,包括:
该第一控制器获取业务的第一带宽分配信息,该第一带宽分配信息包括第一带宽值和第二带宽值,该第一带宽值为该第一控制器在上一轮迭代结束后分配给第一子域中的第一转发节点的带宽值,该第二带宽值为该第二控制器在该上一轮迭代结束后分配给第二子域中的第二转发节点的带宽值,该第一控制器与该第二控制器相邻;
在本轮迭代过程中,该第一控制器根据该第一带宽分配信息,确定目标带宽值,该目标带宽值是该第一控制器分配给该第一转发节点进行业务转发时占用的带宽值。
上述技术方案中,第一控制器在本轮迭代过程中确定目标带宽分配值时,仅考虑了上一轮迭代结束后第一控制器分配给第一子域中转发业务的第一转发节点的带宽值,以及上一轮迭代结束后与第一控制器相邻的控制器(例如,第二控制器)分配给其管理的子域(例如,第二子域)中转发该业务的转发节点(例如,第二转发节点)的带宽值,这样,第一控制器仅需要和第一控制器相邻的控制器交互带宽分配信息,该方法在保证实现业务带宽公平和准确分配的前提下,有利于提高带宽分配效率。
结合第一方面,在第一方面的某些实现方式中,
该第一带宽值为第一预设带宽值,该第二带宽值为第二预设带宽值,第一预设带宽值是该第一控制器分配给该第一转发节点转发该业务的初始带宽值,该第二预设带宽值是该第二控制器分配给该第二转发节点转发该业务的初始带宽值。
上述技术方案中,上一轮迭代过程可以理解为初始带宽分配阶段,本轮迭代过程可以理解为第1次带宽迭代过程。
结合第一方面,在第一方面的某些实现方式中,
该第二带宽值是该第二控制器在该上一轮迭代过程中根据第一预设带宽值和第二预设带宽值确定的,该第一预设带宽值是该第一控制器分配给该第一转发节点转发该业务的初始带宽值,该第二预设带宽值是该第二控制器分配给该第二转发节点转发该业务的初始带宽值。
上述技术方案中,上一轮迭代过程可以理解为第1次迭代过程,本轮迭代过程可以理解为第2次带宽迭代过程,第1次迭代过程的上一轮迭代过程可以理解为初始带宽分配阶段。
结合第一方面,在第一方面的某些实现方式中,
该第一带宽分配信息还包括第一拥塞信息,该第一拥塞信息包括该第一转发节点占用该第一带宽值时该第一转发节点所在的链路拥塞信息和该第一转发节点的端口拥塞信息,
该第一控制器获取业务的第一带宽分配信息,包括:
该第一控制器接收该第一转发节点发送的该第一拥塞信息。
上述技术方案中,第一控制器进行本轮迭代计算时还会考虑转发业务的第一转发节点所在的链路拥塞信息和第一转发节点的端口拥塞信息,能够避免链路拥塞和端口拥塞,有利于更好的满足该业务相关的用户体验。
结合第一方面,在第一方面的某些实现方式中,该在本轮迭代过程中,该第一控制器根据该第一带宽分配信息,确定目标带宽值,包括:
在该本轮迭代过程中,该第一控制器根据该第一带宽分配信息,确定第三带宽值;
该第一控制器确定满足预设条件,将该第三带宽值确定为该目标带宽值。
结合第一方面,在第一方面的某些实现方式中,该N个控制器包括该第三控制器,该第三控制器与该第二控制器相邻,且该第三控制器与该第一控制器不相同,
该满足预设条件包括:
该第三带宽值与该第一带宽值的差值小于预设阈值,第四带宽值与该第二带宽值的差值小于该预设阈值,该第四带宽值是该第二控制器分配给该第二转发节点进行该业务转发时占用的带宽值,该第四带宽值是在该本轮迭代过程中该第二控制器根据第二带宽分配信息确定的,该第二带宽分配信息包括该第二带宽值和第六带宽值,该第六带宽值为该第三控制器在该上一轮迭代结束后分配给第三子域中的第三转发节点的带宽值。
结合第一方面,在第一方面的某些实现方式中,该第二带宽分配信息还包括第二拥塞信息,该第二拥塞信息包括该第二转发节点占用该第二带宽值时该第二转发节点所在的链路拥塞信息和该第二转发节点的端口拥塞信息。
结合第一方面,在第一方面的某些实现方式中,该第一转发节点是该业务的源节点,该方法还包括:
该第一控制器根据从该第一转发节点获取的请求消息,确定转发该业务的目标路径,该请求消息用于请求将该业务从该第一转发节点转发至该第三转发节点,该目标路径包括该第一转发节点,该第二转发节点和该第三转发节点;
该第一控制器根据路径信息确定第一通信延时信息,该路径信息表示通过该第一子域中的转发节点转发的业务的路径,该路径信息包括该目标路径;
该第一控制器根据该第一通信延时信息,确定第一通信方式,该第一通信延时信息包括该第一控制器与该第二控制器之间的通信延时,该第一通信方式表示该第一控制器与该第二控制器相互交换分配的带宽分配信息。
结合第一方面,在第一方面的某些实现方式中,该N个控制器还包括第四控制器,该第一控制器是该第二控制器和该第四控制器之间的中间控制器,该第一带宽分配信息还包括第七带宽值,该第七带宽值为该第四控制器在该上一轮迭代结束后分配给第四子域中的第四转发节点的带宽值,第二带宽分配信息还包括第八带宽值,该第八带宽值为该第四控制器在该本轮迭代结束后分配给该第四转发节点的带宽值,且该第八带宽值与该第七带宽值的差小于预设阈值。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:
该第一控制器根据获取的路径信息,确定第二通信延时信息,该路径信息表示通过该第一子域中的转发节点转发的业务的路径,该路径信息包括转发该业务的目标路径,该目标路径包括该第一转发节点,该第二转发节点和该第四转发节点,该第二通信延时信息包括该第一控制器与该第二控制器之间的通信延时,以及该第一控制器与该第四控制器之间的通信延时;
该第一控制器根据该第二通信延时信息,确定第二通信方式,该第二通信方式表示该第四控制器与该第一控制器相互交换分配的带宽分配信息,以及该第一控制器与该第二控制器相互交换分配的带宽分配信息。
第二方面,提供了一种带宽分配装置,其特征在于,应用于分布式系统,该分布式系统包括N个控制器,该N个控制器包括第一控制器和第二控制器,N为大于等于3的整数,包括:
获取单元,用于获取业务的第一带宽分配信息,该第一带宽分配信息包括第一带宽值和第二带宽值,该第一带宽值为该第一控制器在上一轮迭代结束后分配给第一子域中的第一转发节点的带宽值,该第二带宽值为该第二控制器在该上一轮迭代结束后分配给第二子域中的第二转发节点的带宽值,该第一控制器与该第二控制器相邻;
确定单元,用于在本轮迭代过程中,根据该第一带宽分配信息,确定目标带宽值,该目标带宽值是该第一控制器分配给该第一转发节点进行业务转发时占用的带宽值。
结合第二方面,在第二方面的某些实现方式中,
该第一带宽值为第一预设带宽值,该第二带宽值为第二预设带宽值,该第一预设带宽值是该第一控制器分配给该第一转发节点转发该业务的初始带宽值,该第二预设带宽值是该第二控制器分配给该第二转发节点转发该业务的初始带宽值。
结合第二方面,在第二方面的某些实现方式中,
该第二带宽值是该第二控制器在该上一轮迭代过程中根据第一预设带宽值和第二预设带宽值确定的,该第一预设带宽值是该第一控制器分配给该第一转发节点转发该业务的初始带宽值,该第二预设带宽值是该第二控制器分配给该第二转发节点转发该业务的初始带宽值。
结合第二方面,在第二方面的某些实现方式中,
该第一带宽分配信息还包括第一拥塞信息,该第一拥塞信息包括该第一转发节点占用该第一带宽值时该第一转发节点所在的链路拥塞信息和该第一转发节点的端口拥塞信息,
该第一控制器获取业务的第一带宽分配信息,包括:
该第一控制器接收该第一转发节点发送的该第一拥塞信息。
结合第二方面,在第二方面的某些实现方式中,
该确定单元还用于:
在该本轮迭代过程中,根据该第一带宽分配信息,确定第三带宽值;
确定满足预设条件,将该第三带宽值确定为该目标带宽值。
结合第二方面,在第二方面的某些实现方式中,该N个控制器包括该第三控制器,该第三控制器与该第二控制器相邻,且该第三控制器与该第一控制器不相同,
该满足预设条件包括:
该第三带宽值与该第一带宽值的差值小于预设阈值,第四带宽值与该第二带宽值的差值小于该预设阈值,该第四带宽值是该第二控制器分配给该第二转发节点进行该业务转发时占用的带宽值,该第四带宽值是在该本轮迭代过程中该第二控制器根据第二带宽分配信息确定的,该第二带宽分配信息包括该第二带宽值和第六带宽值,该第六带宽值为该第三控制器在该上一轮迭代结束后分配给第三子域中的第三转发节点的带宽值。
结合第二方面,在第二方面的某些实现方式中,
该第二带宽分配信息还包括第二拥塞信息,该第二拥塞信息包括该第二转发节点占用该第二带宽值时该第二转发节点所在的链路拥塞信息和该第二转发节点的端口拥塞信息。
结合第二方面,在第二方面的某些实现方式中,该第一转发节点是该业务的源节点,
该确定单元还用于:
根据从该第一转发节点获取的请求消息,确定转发该业务的目标路径,该请求消息用于请求将该业务从该第一转发节点转发至该第三转发节点,该目标路径包括该第一转发节点,该第二转发节点和该第三转发节点;
根据路径信息确定第一通信延时信息,该路径信息表示通过该第一子域中的转发节点转发的业务的路径,该路径信息包括该目标路径;
根据该第一通信延时信息,确定第一通信方式,该第一通信延时信息包括该第一控制器与该第二控制器之间的通信延时,该第一通信方式表示该第一控制器与该第二控制器相互交换分配的带宽分配信息;
所述获取单元还用于从所述第一转发节点获取所述请求消息。
结合第二方面,在第二方面的某些实现方式中,
该N个控制器还包括第四控制器,该第一控制器是该第二控制器和该第四控制器之间的中间控制器,该第一带宽分配信息还包括第七带宽值,该第七带宽值为该第四控制器在该上一轮迭代结束后分配给第四子域中的第四转发节点的带宽值,第二带宽分配信息还包括第八带宽值,该第八带宽值为该第四控制器在该本轮迭代结束后分配给该第四转发节点的带宽值,且该第八带宽值与该第七带宽值的差小于预设阈值。
结合第二方面,在第二方面的某些实现方式中,
该确定单元还用于:
根据获取的路径信息,确定第二通信延时信息,该路径信息表示通过该第一子域中的转发节点转发的业务的路径,该路径信息包括转发该业务的目标路径,该目标路径包括该第一转发节点,该第二转发节点和该第四转发节点,该第二通信延时信息包括该第一控制器与该第二控制器之间的通信延时,以及该第一控制器与该第四控制器之间的通信延时;
根据该第二通信延时信息,确定第二通信方式,该第二通信方式表示该第四控制器与该第一控制器相互交换分配的带宽分配信息,以及该第一控制器与该第二控制器相互交换分配的带宽分配信息;
该获取单元还用于获取该路径信息。
第三方面,提供了一种第一控制器,该第一控制器具有实现上述第二方面所描述的带宽分配装置的功能。该功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第一控制器的结构中包括处理器,该处理器被配置为支持第一控制器执行上述方法中相应的功能。
该第一控制器还可以包括存储器,该存储器用于与处理器耦合,其保存第一控制器必要的程序指令和数据。
在另一个可能的设计中,该第一控制器包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一控制器时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第一控制器进入正常运行状态。在第一控制器进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。
第五方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasablePROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
第六方面,提供一种芯片系统,该芯片系统包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第一方面或第一方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片系统可以以中央处理器(central processingunit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logicdevice,PLD)的形式实现。
第七方面,提供了一种带宽分配系统,该系统包括上述如第二方面或第二方面任意一种可能的实现方式中的带宽分配装置。
附图说明
图1是适用于本申请实施例的系统架构100的示意图。
图2是本申请实施例提供的一种带宽分配方法200的示意性流程图。
图3是本申请实施例提供的一种带宽分配方法300的示意性流程图。
图4是本申请实施例提供的带宽分配方法300中的第2次迭代过程的示意性流程图。
图5是本申请实施例提供的一种带宽分配装置500的示意性结构图。
图6是本申请实施例提供的一种带宽分配装置2000的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请中术语“第一”“第二”“第三”等字样用于对作用和功能基本相同的相同项或相似项进行区分,“第一”、“第二”和“第三”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
下面,介绍本申请实施例的相关技术:
首先结合图1,介绍适用于本申请实施例的系统架构。图1是适用于本申请实施例的系统架构100的示意图。如图1所示,系统架构100包括多个控制器(即,控制器j,j=1,2,3,4)和多个交换设备(即,交换设备i,i=1,2,3,4,5,6,7,8,9)。多个控制器中的部分控制器之间可以通过东西向接口进行通信。例如,控制器1与控制器2之间可以通过东西向接口进行通信。又如,控制器3与控制器4之间可以通过东西向接口进行通信。
控制器1用于管理子域1中的交换设备(即,交换设备1,交换设备2和交换设备3),控制器2用于管理子域2中的交换设备(即,交换设备4和交换设备5),控制器3用于管理子域3中的交换设备(即,交换设备6,交换设备7和交换设备8),控制器4用于管理子域4中的交换设备(即,交换设备9)。其中,一个控制器用于管理一个子域中的交换设备,可以理解为,该一个控制器用于给该一个子域中的交换设备下发配置信息,该配置信息包括但不限于:转发业务占用的带宽值,转发的业务信息,转发业务的路径,业务标识(identity document,ID)。以控制器1用于管理子域1中的交换设备为例进行说明,控制器1接收到源节点(例如,用户终端设备)的业务请求后,控制器1可以根据源节点的业务请求(例如,业务优先级)确定将该业务转发至目的节点的转发路径,以及为控制器1管理的子域1中的转发该业务的交换设备(例如,交换设备1)分配带宽值,并将该转发路径和带宽值分配给子域1中用于转发该业务的交换设备。控制器和其管理的子域中的交换设备通过网络通信协议通信。
上述系统架构100中,转发同一业务的不同子域中的交换设备采用相同的路由协议(routing protocol)。该路由协议包括但不限于如下路由协议:边界网关协议(bordergateway protocol,BGP),路由信息协议(routing information protocol,RIP),开放式最短路径优先协议(open shortest path first,OSPF)。例如,转发业务1的路径包括的交换设备如下:子域2中的交换设备4和交换设备5,子域3中的交换设备6。基于此,交换设备4,交换设备5和交换设备6可以都采用相同的路由协议。又如,转发业务1的路径包括的交换设备如下:子域1中的交换设备3,子域2中的交换设备4和交换设备5,子域3中的交换设备6。基于此,交换设备3,交换设备4,交换设备5和交换设备6可以都采用相同的路由协议。
在本申请实施例中,对控制器的类型不作具体限定。在一些实现方式中,控制器可以是SDN控制器。在另一些实现方式中,控制器可以是与SDN控制器具有类似功能的控制器。当控制器是SDN控制器时,控制器和其管理的子域中的交换设备通过OpenFlow协议进行通信。在本申请实施例中,交换设备可以是交换机或路由器,或者,交换设备还可以具有交换功能的除去交换机或路由器之外的网络设备。
应理解,图1仅为示意,并不对适用于本申请实施例的系统架构构成任何限定。例如,图1所示的系统架构100可以是一个完整的分布式系统架构,可选的,图1所示的系统架构100可以是一个完整的分布式系统架构中的一部分,此时,控制器4还可能存在一个或多个下游控制器,控制器1还可能存在一个或多个上游控制器。例如,上述系统架构100中还可以包括更少数目(例如,2个或3个)或更多数目(例如,10个或20个等)的控制器。基于此,网络通信拓扑结构也会比图1所示的网络通信拓扑结构复杂。例如,上述系统架构100的每个控制器对应的子域中还可以包括更多数目(例如,6个或10个等)或更少数目(例如,1个)的交换机。例如,在另一些实现方式中,控制器4还可以与控制器2进行通信。
本申请实施例提供了一种带宽分配方法,该方法在保证实现业务带宽公平和准确分配的前提下,有利于提高带宽分配效率。
下面结合图2,对本申请实施例提供的一种带宽分配方法进行详细描述。图2是本申请实施例提供的一种带宽分配方法200的示意性流程图。如图2所示,该方法200可以包括步骤210和步骤220,下面分别对步骤210和步骤220进行详细描述。
在本申请实施例中,该方法200可以应用于分布式系统,分布式系统包括N个控制器,N个控制器包括第一控制器和第二控制器,N为大于等于3的整数。示例性的,该分布式系统的架构可以是上文图1所示的系统架构100。
步骤210,第一控制器获取业务的第一带宽分配信息,第一带宽分配信息包括第一带宽值和第二带宽值,第一带宽值为第一控制器在上一轮迭代结束后分配给第一子域中的第一转发节点的带宽值,第二带宽值为第二控制器在上一轮迭代结束后分配给第二子域中的第二转发节点的带宽值,第二转发节点是转发业务的节点,第一控制器与第二控制器相邻。
上述第一控制器管理的第一子域中的第一转发节点可以是发送业务的源节点,第一转发节点也可以是转发业务的中间节点。第二控制器管理的第二子域中的第二转发节点可以是转发业务的中间节点,第二转发节点也可以是接收业务的目的节点。其中,一个控制器管理一个子域中的转发节点,可以理解为,该一个控制器可以为该一个子域中的转发节点下发配置信息,该配置信息包括但不限于:转发业务占用的带宽值,业务ID,转发业务的路径。
在本申请实施例中,对第一控制器与第二控制器相邻不作具体限定。在一个示例中,第一控制器与第二控制器相邻,且第一控制器是第二控制器的上一跳设备。以图1为例举例说明,第一控制器可以是控制器1,第二控制器可以是控制器2。在另一个示例中,第一控制器与第二控制器相邻,且第一控制器是第二控制器的下一跳设备。以图1为例举例说明,例如第一控制器可以是控制器1,第二控制器可以是控制器2,又如第一控制器可以是控制器2,第二控制器可以是控制器3,再如第一控制器可以是控制器3,第二控制器可以是控制器4。应理解的是,当第一控制器是第二控制器的下一跳设备时,第一控制器管理的第一子域中的第一转发节点不是发送业务的源节点。
可选的,在一些实现方式中,当与第一控制器相邻的控制器为两个控制器时,该两个控制器中的一个控制器是第二控制器,此时,第一控制器还可以根据上一轮迭代结束后这两个控制器为各自转发业务的转发节点分配的带宽信息,以及上一轮迭代结束后第一控制器为转发业务的转发节点分配的带宽信息,确定在本轮迭代结束后第一控制器为转发业务的转发节点分配的带宽信息。以图1为例举例说明,第一控制器可以是控制器2,与第一控制器相邻的两个控制器分别是控制器1和控制器3。基于此,在本轮迭代计算时,控制器2可以根据上一轮迭代结束后控制器1为转发业务的转发节点分配的带宽信息,控制器2为转发业务的转发节点分配的带宽信息,以及控制器3为转发业务的转发节点分配的带宽信息,确定本轮迭代结束后控制器2为转发业务的转发节点分配的带宽信息。
在本申请实施例中,第一控制器根据第一带宽分配信息确定转发业务的目标带宽值的过程可以包括M次迭代计算,M为大于等于1的整数。可以理解的是,上一轮迭代计算结束后,控制器(例如,第一控制器)可以将上一轮迭代计算的带宽分配结果存储在本地,以便下一轮迭代计算时可以快速获取上一轮迭代计算结束后的带宽分配值。其中,对带宽迭代算法不作具体限定。例如,该带宽迭代算法可以但不限于是:基于交替方向乘子法(alternating direction method of multipliers,ADMM)的分布式带宽分配算法,或者基于拉格朗日乘子法(the method of lagrange multipliers)的分布式带宽分配方法。
在一个示例中,当第一控制器根据业务的带宽分配信息确定转发业务的目标带宽值仅包括1(即,M等于1)次迭代计算时,上一轮迭代可以理解为初始化带宽分配阶段。此时,第一带宽值为第一预设带宽值,第二带宽值为第二预设带宽值,第一预设带宽值是第一控制器分配给第一转发节点转发业务的初始带宽值,第二预设带宽值是第二控制器分配给第二转发节点转发业务的初始带宽值。其中,对第一预设带宽值与第二预设带宽值的大小不作具体限定。例如,第一预设带宽值的大小可以等于第二预设带宽值的大小(例如,等于零)。又如,第一预设带宽值的大小可以不等于第二预设带宽值的大小。在另一个示例中,第一控制器根据业务的带宽分配信息确定转发业务的目标带宽值可以包括2(即,M等于2)次迭代计算。当第一控制器根据业务的带宽分配信息确定转发业务的目标带宽值包括2次迭代计算时,第二带宽值是第二控制器在上一轮迭代(即,第1次迭代)中根据第一预设带宽值和第二预设带宽值确定的,第一预设带宽值是第一控制器分配给第一转发节点转发业务的初始带宽值,第二预设带宽值是第二控制器分配给第二转发节点转发业务的初始带宽值。此时,上一轮迭代可以理解为初始化带宽分配阶段。在又一个示例中,第一控制器根据业务的带宽分配信息确定转发业务的目标带宽值可以包括3次或3次以上(即,M大于等于3)的迭代计算。下面会结合图3具体介绍第一控制器根据业务的带宽分配信息确定转发业务的目标带宽值包括M次迭代计算的带宽分配的流程,此处不再赘述。
可选的,在另一些实现方式中,上述步骤210中的第一带宽分配信息还可以包括第一拥塞信息,第一拥塞信息包括第一转发节点占用第一带宽值时第一转发节点所在的链路拥塞信息和第一转发节点的端口拥塞信息。基于此,第一控制器还需要从第一转发节点处获取该第一拥塞信息。其中,第一转发节点所在的链路,可以理解为,第一转发节点与第二转发节点相连的链路,此时第二转发节点占用第二带宽值,该链路拥塞信息表示第一转发节点与第二转发节点之间的链路的带宽值上限与第一带宽值的差值。可以理解的是,当该差值等于零时,表示第一转发节点与第二转发节点之间的链路未发生拥塞。其中,第一转发节点的端口拥塞信息,可以理解为,占用第一带宽值的第一转发节点向占用第二带宽值的第二转发节点转发业务时第一转发节点的端口存在流量溢出,以及业务对应的数据包存在丢包现象。示例性的,第一拥塞信息可以表示为{第一转发节点的ID,链路1的拥塞值,端口1的溢出值},链路1为第一转发节点与第二转发节点之间的链路,端口1为第一转发节点向第二转发节点转发业务的端口。
步骤220,在本轮迭代过程中,第一控制器根据第一带宽分配信息,确定目标带宽值,目标带宽值是第一控制器分配给第一转发节点进行业务转发时占用的带宽值。
上述步骤220中,在本轮迭代过程中,第一控制器根据第一带宽分配信息,确定目标带宽值,包括:
在本轮迭代过程中,第一控制器根据第一带宽分配信息,确定第三带宽值;
第一控制器确定满足预设条件,将第三带宽值确定为目标带宽值。
其中,满足预设条件可以包括:第三带宽值与第一带宽值的差值小于预设阈值,第四带宽值与第二带宽值的差值小于预设阈值,第四带宽值是第二控制器分配给第二转发节点进行业务转发时占用的带宽值,第四带宽值是在本轮迭代过程中第二控制器根据第二带宽分配信息确定的,第二带宽分配信息包括第二带宽值和第六带宽值,第六带宽值为第三控制器在上一轮迭代结束后分配给第三子域中的第三转发节点的带宽值N个控制器包括第三控制器,第三控制器与第二控制器相邻,且第三控制器与第一控制器不相同。以上文中的图1为例,例如第一控制器可以是控制器2,第二控制器可以是控制器3,第三控制器可以是控制器4,又如第三控制器可以是控制器1,第二控制器可以是控制器2,第一控制器可以是控制器3。
可选的,上述第二带宽分配信息还包括第二拥塞信息,第二拥塞信息包括第二转发节点占用第二带宽值时第二转发节点所在的链路拥塞信息和第二转发节点的端口拥塞信息。第二拥塞信息包括的链路拥塞信息的描述,与端口拥塞信息的描述可以参见上述步骤210中第一拥塞信息的描述原理类似,此处不再赘述。
可选的,在上述步骤220之后,第一控制器还可以通过南向接口将确定的目标带宽值发送给第一转发节点,以使第一转发节点占用目标带宽值转发业务。
可选的,在上述步骤210和上述步骤220之前,分布式系统中的各个控制器还可以根据转发业务的目标路径和通信延时信息,确定转发业务的转发节点对应的控制器之间的通信方式。下面,具体介绍第一控制器确定第一通信方式的方法。
在一些实现方式中,第一转发节点是业务的源节点,第一控制器执行如下操作以确定第一通信方式:
第一控制器根据从第一转发节点获取的请求消息,确定转发业务的目标路径,请求消息用于请求将业务从第一转发节点转发至第三转发节点,目标路径是从第一子域至第三子域的一条路径,且第一子域至第三子域之间包括第二子域;
第一控制器根据路径信息确定第一通信延时信息,路径信息表示通过第一子域中的转发节点转发的业务的路径,路径信息包括目标路径;
第一控制器根据第一通信延时信息,确定第一通信方式,第一通信延时信息包括第一控制器与第二控制器之间的通信延时,第一通信方式表示第一控制器与第二控制器相互交换分配的带宽分配信息。
其中,第一控制器根据路径信息确定第一通信延时信息,可以包括但不限于如下步骤:
第一控制器根据路径信息,确定第一控制器集合和第二控制器集合,第一控制器集合包括的任意一个控制器是第一控制器的上一跳控制器,第二控制器集合包括的任意一个控制器是第一控制器的下一跳控制器;
第一控制器与第一控制器集合包括的每个控制器通信,以及与第二控制器集合包括的每个控制器通信,获取第一通信延时信息。
可以理解的是,当第一子域中的转发节点还用于转发除去上述业务之外的其它业务时,上述路径信息还可以包括转发除去上述业务之外的其它业务转发路径。上述请求消息可以包括但不限于如下信息:业务的优先级,第一转发节点信息和第三转发节点信息。其中,第一转发节点信息包括但不限于:第一转发节点ID,管理第一转发节点的第一控制器ID。第三转发节点信息包括但不限于:第三转发节点ID,管理第三转发节点的第三控制器ID。示例性的,上述请求消息的格式可以为:{((业务优先级),第一转发节点ID,第一控制器ID),(第三转发节点ID,第三控制器ID)}。上述目标路径为跨域路径,示例性的,该目标路径的格式可以为{(业务ID,第一转发节点ID,第一控制器ID),(第二转发节点ID,第二控制器ID),(第三转发节点ID,第三控制器ID)},其中,业务ID是第一控制器(例如但不限于,根据该业务的优先级)分配给该业务的ID。上述第一通信延时信息可以是第一控制器与第二控制器通过东西向接口通讯,并通过探测信号获取的通信延时。示例性的,第一控制器通过流经第一子域的所有业务的路径信息可以得知位于第一控制器上游的控制器信息(例如但不限于,控制器ID),以及位于第一控制器下游的控制器信息。第一控制器根据与其上游的控制器之间的通信延时,以及与其下游的控制器之间的通信延时,利用最短路算法可以得到上述第一通信方式。上述第一通信方式的格式可以表示为:{(转发业务的转发节点对应的控制器ID,转发业务的目的节点对应的控制器ID),(第一跳控制器ID,……,最后一跳控制器ID)}。基于此,该第一通信方式可以为:{(第一控制器ID,第二控制器ID),(第二控制器ID)}。上述第一通信方式表示第一控制器与第二控制器相互交换分配的带宽分配信息,可以理解为,第一控制器可以从第二控制器处获取第二控制器分配给第二子域中的转发业务的转发节点的带宽分配信息,同样的第二控制器可以从第一控制器处获取第一控制器分配给第一子域中的转发业务的转发节点的带宽分配信息。
可选的,上述第一通信延时信息还可以包括第一控制器与第三控制器之间的通信延时,此时第三控制器与第一控制器相邻,且第三控制器与第二控制器不相同。
可选的,用户终端设备(例如,个人电脑或智能手机等)可以是上述业务的源节点,基于此,第一控制器可以从该用户终端设备处获取业务的请求消息。
在另一些实现方式中,上述N个控制器还包括第四控制器,第一控制器是第二控制器和第四控制器之间的中间控制器,第一带宽分配信息还包括第七带宽值,第七带宽值为第四控制器在上一轮迭代结束后分配给第四子域中的第四转发节点的带宽值,第二带宽分配信息还包括第八带宽值,第八带宽值为第四控制器在本轮迭代结束后分配给第四转发节点的带宽值,且第八带宽值与第七带宽值的差小于预设阈值。下面会结合图3具体介绍该示例所描述的带宽分配的流程,此处不再赘述。在这种实现方式中,第一控制器可以通过执行如下操作以确定第一通信方式:
第一控制器根据获取的路径信息,确定第二通信延时信息,路径信息表示通过第一子域中的转发节点转发的业务的路径,路径信息包括转发业务的目标路径,目标路径包括第一转发节点,第二转发节点和第四转发节点,第二通信延时信息包括第一控制器与第二控制器之间的通信延时,以及第一控制器与第四控制器之间的通信延时;
第一控制器根据第二通信延时信息,确定第二通信方式,第二通信方式表示第四控制器与第一控制器相互交换分配的带宽分配信息,以及第一控制器与第二控制器相互交换分配的带宽分配信息。
可以理解的是,当第一子域中的转发节点还用于转发除去上述业务之外的其它业务时,上述路径信息还可以包括转发除去上述业务之外的其它业务转发路径。当路径信息仅包括目标路径时,第一控制器根据获取的路径信息确定第二通信延时信息之前,还用于从第四控制器处获取目标路径。
可选的,在一些实现方式中,该第二通信方式为第四控制器至第二控制器的最短通信路径。以上文中图1所示的系统架构100为例,第四控制器可以是控制器2,第一控制器可以是控制器3,第二控制器可以是控制器4。其中,第四控制器管理的第四子域的转发节点用于转发业务,对第四子域包括的转发业务的转发节点数目不作具体限定。例如,第四控制器管理的第四子域的转发节点中的至少一个转发节点可以是转发业务的源节点。又如,第四控制器管理的第四子域的转发节点中的所有一个转发节点也可以都是转发业务的中间节点。
在本申请实施例中,上述任意两个控制器之间的通信延时应不大于预先设置的带宽迭代更新间隔。例如,上述第一控制器与第二控制器之间的通信延时不大于预先设置的带宽迭代更新间隔。当存在两个控制器之间的通信延时大于预先设置的带宽迭代更新间隔时,可以进行报警提示以增大带宽迭代更新间隔,或者,也可以将这两个控制器中的至少一个控制器设置为中继控制器。一个控制器设置为中继控制器,可以理解为,该一个控制器用于转发不流经该一个控制器管理的子域的业务的带宽分配信息。例如,分布式系统中包括控制器1,控制器2和控制器3,控制器2为控制器1和控制器3之间的中继控制器,控制器1分配给子域1的转发节点1进行转发业务1时占用带宽值1,此时,控制器2可以将转发节点1进行转发业务1时占用带宽值1的信息转发给控制器3,且控制器2管理的子域2中的转发节点不用于转发业务1,控制器2也不用于给子域2中的转发节点分配转发业务1的带宽值。
在本申请实施例中,上述方法200中所描述的控制器(例如,第一控制器,第二控制器,第三控制器,第四控制器)可以但不限于是:SDN控制器。当上述上述方法200中所描述的控制器是SDN控制器时,控制器与其交互的交换机可以基于OpenFlow协议通信。
应理解的是,上述图2所示的方法200仅为示意,并不对本申请实施例提供的带宽分配方法构成任何限定。例如,上述方法200也适用于仅包括2个控制器的分布式系统架构。上述方法200中以每个控制器管理的子域中包括转发业务的一个转发节点为例进行介绍,可选的,每个控制器管理的子域中还可以包括更多数目(例如,2个或2个以上)的用于转发业务的转发节点。例如,上述方法200中以为一个业务分配带宽为例进行介绍,可选的,上述方法200还可以同时为2个或2个以上的业务分配带宽。
上述技术方案中,第一控制器在本轮迭代过程中确定目标带宽分配值时,仅考虑了上一轮迭代结束后第一控制器分配给第一子域中转发业务的第一转发节点的带宽值,以及上一轮迭代结束后与第一控制器相邻的控制器(例如,第二控制器)分配给其管理的子域(例如,第二子域)中转发该业务的转发节点(例如,第二转发节点)的带宽值,这样,第一控制器仅需要和第一控制器相邻的控制器交互带宽分配信息,该方法在保证实现业务带宽公平和准确分配的前提下,有利于提高带宽分配效率。此外,在本轮迭代过程中,第一控制器确定目标带宽值时还考虑了第一拥塞信息,这样,有利于更好的满足用户体验。
下面结合图3,以上述方法200中第一子域包括转发目标业务的1个转发节点,第二子域包括转发目标业务的2个转发节点,第三子域包括转发目标业务的1个转发节点为例,介绍本申请实施例提供的带宽分配方法的一个具体示例。图3的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图3的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。例如,图3中以为1个业务分配带宽为例进行了介绍,可选的,基于图3所描述的方法还可以为2个或2个以上的业务分配带宽,这2个或2个以上的业务的源节点可以位于同一个子域或不同子域。
图3是本申请实施例提供的带宽分配方法300的示意性流程图。如图3所示,该方法300可以包括步骤310至步骤380,下面分别对步骤310至步骤380进行详细描述。
在本申请实施例中,方法300是以图1所示的子域1中的交换设备3向控制器1发送业务1的请求消息为例进行介绍,该请求消息用于请求将业务1通过交换设备3转发至子域6中的交换设备6。
步骤310,控制器1接收交换设备4发送的业务1的请求消息,并根据请求消息为业务1分配路径1,该请求消息用于请求将业务1通过交换设备3转发至子域6中的交换设备6,路径1包括交换设备3,交换设备4,交换设备5和交换设备6。
其中,请求消息可以包括业务1的优先级信息,交换设备3的ID,控制器1的ID,交换设备6的ID以及控制器3的ID。在一个示例中,该请求消息的格式可以为:{((业务1的优先级),交换设备4的ID,控制器1的ID),(交换设备6的ID,控制器3的ID)}。
其中,路径1包括交换设备3,交换设备4,交换设备5和交换设备6。也就是说,转发业务1的路径1是以从子域1中的交换设备3为源节点,子域2中的交换设备4和交换设备5为中间节点,子域3中的交换设备6为目的节点的一条路径。
在执行上述步骤310之后,控制器1可以将路径1发送给路径1包括的交换设备对应的控制器,即控制器2和控制器3。相应地,控制器2和控制器3可以得到路径1。
步骤320,控制器1基于获取的通信延时信息1确定通信方式1,控制器2基于获取的通信延时信息2确定通信方式2,控制器3基于获取的通信延时信息3确定通信方式3。
在上述步骤320之前,控制器k还用于获取通信时延信息k(k=1,2,3)。其中,通信延时信息k(k=1,2,3)包括控制器k的上一跳控制器与控制器k之间的通信延时,以及控制器k的下一跳控制器与控制器k之间的通信延时。通信延时信息k可以是控制器k与控制器k相邻的控制器通过东西向接口获取的。对控制器k获取控制器k的上一跳控制器和下一跳控制器的方式不作具体限定。在一些实现方式中,控制器k可以基于路径信息确定控制器k的上一跳控制器和下一跳控制器,路径信息表示通过控制器k管理的子域中的转发节点转发的业务的路径信息,路径信息包括但不限于路径1。也就是说,当该控制器k管理的子域中的转发节点还用于转发除该业务之外的其它业务时,该路径信息还可以包括路径2,路径2是转发除该业务之外的其它业务的路径。其中,路径2可以是控制器k确定的,路径2也可以是与控制器k相邻的控制器确定的。可以理解的是,当控制器k(例如,图1中的控制器1)不存在上一跳控制器时,控制器k获取的通信延时k包括控制器k的下一跳控制器与控制器k之间的通信延时;当控制器k(例如,图1中的控制器4)不存在下一跳控制器时,控制器k获取的通信延时k包括控制器k的上一跳控制器与控制器k之间的通信延时。
上述步骤320中,通信延时信息1可以包括:控制器1与控制器2之间的通信延时,以及控制器1与控制器3之间的通信延时。通信延时信息2可以包括:控制器2与控制器1之间的通信延时,以及控制器2与控制器3之间的通信延时。通信延时信息3可以包括:控制器3与控制器1之间的通信延时,控制器3与控制器2之间的通信延时,控制器3与控制器4之间的通信延时。通信方式1表示控制器1与控制器2相互交换分配的带宽分配信息。通信方式2表示控制器2与控制器1相互交换分配的带宽分配信息,以及控制器2与控制器3相互交换分配的带宽分配信息。通信方式3表示控制器3与控制器2相互交换分配的带宽分配信息。
步骤330,控制器1为交换设备3分配初始带宽值1,控制器2为交换设备4分配初始带宽值2,以及为交换设备5分配初始带宽值3,控制器3为交换设备6分配初始带宽值4。
其中,对初始带宽值1,初始带宽值2,初始带宽值3和初始带宽值4的取值不作限定。例如,初始带宽值1,初始带宽值2,初始带宽值3和初始带宽值4的取值可以都相同。又如,初始带宽值1,初始带宽值2,初始带宽值3和初始带宽值4的取值可以都不相同。
在初始带宽分配后,开始进行带宽迭代计算。其中,带宽迭代计算可以包括M次迭代过程,M为大于等于1的整数。下面,介绍第1次迭代过程,第1次迭代过程包括步骤340至步骤370。
步骤340,控制器1获取带宽分配信息1,控制器2获取带宽分配信息2,控制器3获取带宽分配信息3。
上述带宽分配信息1可以包括:拥塞信息1,控制器1分配给交换设备3的初始带宽值1,从控制器2获取的分配给交换设备4的初始带宽值2和分配给交换设备5的初始带宽值3。其中,拥塞信息1包括占用初始带宽值1的交换设备3与占用初始带宽值2的交换设备4之间的链路拥塞信息,以及占用初始带宽值1的交换设备3向占用初始带宽值2的交换设备4发送信息时的端口拥塞(又称溢出)信息。在该方案中,控制器1可以获取与其相邻的控制器2下发的初始带宽分配值。
上述带宽分配信息2可以包括:拥塞信息2,控制器2分配给交换设备4的初始带宽值2和分配给交换设备5的初始带宽值3,从控制器3获取的分配给交换设备6的初始带宽值4,以及从控制器1获取的分配给交换设备3的初始带宽值1。其中,拥塞信息2可以包括如下信息:占用初始带宽值2的交换设备4与占用初始带宽值1的交换设备3之间的链路拥塞信息,占用初始带宽值2的交换设备4接收占用初始带宽值1的交换设备2发送信息时的端口拥塞(又称溢出)信息,占用初始带宽值3的交换设备5与占用初始带宽值3的交换设备6之间的链路拥塞信息,以及占用初始带宽值3的交换设备4向占用初始带宽值4的交换设备6发送信息时的端口拥塞(又称溢出)信息。在该方案中,控制器2可以获取与其相邻的控制器1下发的初始带宽分配值,以及与控制器2相邻的控制器3下发的初始带宽分配值。
上述带宽分配信息3可以包括:拥塞信息3,控制器3分配给交换设备6的初始带宽值4,从控制器2获取的分配给交换设备4的初始带宽值2和分配给交换设备5的初始带宽值3。拥塞信息3包括:占用初始带宽值3的交换设备5与占用初始带宽值3的交换设备6之间的链路拥塞信息,以及占用初始带宽值4的交换设备6接收占用初始带宽值3的交换设备4发送信息时的端口拥塞(又称溢出)信息。在该方案中,控制器3可以获取与其相邻的控制器2下发的初始带宽分配值。
步骤350,第1次迭代,控制器1根据带宽分配信息1确定将带宽值1分配给交换设备3,控制器2根据带宽分配信息2确定将带宽值2分配给交换设备4和将带宽值3分配给交换设备5,控制器3根据带宽分配信息3确定将带宽值4分配给交换设备6。
其中,对上述迭代算法不作具体限定。例如,控制器1可以利用ADMM迭代算法根据带宽分配信息1确定将带宽值1分配给交换设备3。
可以理解的是,控制器1确定将带宽值1分配给交换设备3后,同时控制器1也会将本地存储的控制器1将初始带宽值1分配给交换设备3的信息,更新为控制器1将带宽值1分配给交换设备3。同样的,控制器2和控制器3确定分配带宽值后也会更新相应的带宽分配信息。也就是说,在步骤350之后,从控制器1处获取的分配给交换设备3的带宽值为带宽值1,从控制器2处获取的分配给交换设备4的带宽值为带宽值2和分配给交换设备5的带宽值为带宽值3,从控制器3处获取的分配给交换设备6的带宽值为带宽值4。
步骤360,确定是否满足预设条件1。
其中,满足预设条件1包括:带宽值1与初始带宽值1的差值小于预设阈值,带宽值2与初始带宽值2的差值小于预设阈值,带宽值3与初始带宽值4的差值小于预设阈值,以及带宽值4与初始带宽值4的差值小于预设阈值。
上述步骤360中,确定是否满足预设条件,包括:
满足预设条件,在步骤360之后执行步骤370;
不满足预设条件,在步骤360之后执行步骤380。
步骤370,控制器1将带宽值1分配给交换设备3,控制器2将带宽值2分配给交换设备4和将带宽值3分配给交换设备5,控制器3将带宽值4分配给交换设备6。
其中,带宽值1是交换设备3进行业务1转发时占用的带宽值,带宽值2是交换设备4进行业务1转发时占用的带宽值,带宽值3是交换设备5进行业务1转发时占用的带宽值,带宽值5是交换设备6进行业务1转发时占用的带宽值。
上述步骤370中,控制器可以通过南向接口将带宽值发送给其管理的子域中的交换设备。
步骤380,第M次迭代,确定满足预设条件M,控制器1将第M次迭代结束后的带宽值分配给交换设备3,控制器2将第M次迭代结束后的带宽值分配给交换设备4和交换设备5,控制器3将第M次迭代结束后的带宽值分配给交换设备6,此时M为大于等于2的整数。
上述步骤380中,满足预设条件M包括但不限于:控制器1第M次迭代结束后分配给交换设备3的带宽值与控制器1第M-1次迭代结束后分配给交换设备3的带宽值的差值小于预设阈值,控制器2第M次迭代结束后分配给交换设备4的带宽值与控制器2第M-1次迭代结束后分配给交换设备4的带宽值的差值小于预设阈值,控制器2第M次迭代结束后分配给交换设备5的带宽值与控制器2第M-1次迭代结束后分配给交换设备5的带宽值的差值小于预设阈值,以及控制器3第M次迭代结束后分配给交换设备6的带宽值与控制器3第M-1次迭代结束后分配给交换设备6的带宽值的差值小于预设阈值。
在本申请实施例中,每次迭代的计算原理与上述第1次迭代的计算原理(即,上述步骤340至上述步骤370所描述的方法)相同。下面结合图4,举例说明第2次迭代过程。为了简洁,不再一一赘述第1次迭代之后的其余M-2次迭代过程。如图4所示,第2次迭代过程包括步骤410至步骤440,下面详细介绍步骤410至步骤440。
步骤410,控制器1获取带宽分配信息4,控制器2获取带宽分配信息5,控制器3获取带宽分配信息4。
上述带宽分配信息4可以包括如下信息:拥塞信息4,控制器1在第1次迭代结束后分配给交换设备3的带宽值1,以及从控制器2处获取第1次迭代结束后控制器2分配给交换设备4的带宽值2和分配给交换设备5的带宽值3。其中,拥塞信息4可以包括如下信息:占用带宽值1的交换设备3与占用带宽值2的交换设备4之间的链路拥塞信息,以及占用带宽值1的交换设备3向占用带宽值2的交换设备4发送信息时的端口拥塞(又称溢出)信息。
上述带宽分配信息5可以包括如下信息:拥塞信息5,控制器2在第1次迭代结束后分配给交换设备4的带宽值2和分配给交换设备5的带宽值3,控制器1在第1次迭代结束后分配给交换设备3的带宽值1,以及控制器3在第1次迭代结束后分配给交换设备6的带宽值4。其中,拥塞信息5可以包括如下信息:占用带宽值2的交换设备4与占用带宽值1的交换设备3之间的链路拥塞信息,占用带宽值2的交换设备4接收占用带宽值1的交换设备2发送信息时的端口拥塞(又称溢出)信息,占用带宽值3的交换设备5与占用带宽值3的交换设备6之间的链路拥塞信息,以及占用带宽值3的交换设备4向占用带宽值4的交换设备6发送信息时的端口拥塞(又称溢出)信息。
上述带宽分配信息6可以包括如下信息:拥塞信息6,控制器3在第1次迭代结束后分配给交换设备6的带宽值4,以及控制器2在第1次迭代结束后分配给交换设备4的带宽值2和分配给交换设备5的带宽值3。其中,拥塞信息3可以包括如下信息:占用带宽值3的交换设备5与占用带宽值3的交换设备6之间的链路拥塞信息,以及占用带宽值4的交换设备6接收占用带宽值3的交换设备4发送信息时的端口拥塞(又称溢出)信息。
步骤420,控制器2根据带宽分配信息4确定将带宽值5分配给交换设备3,控制器2根据带宽分配信息5确定将带宽值6分配给交换设备4和将带宽值7分配给交换设备5,控制器3根据带宽分配信息6确定将带宽值8分配给交换设备6。
其中,步骤420中控制器根据带宽分配信息为交换设备分配带宽值的原理与上述步骤350所描述的原理相同,此处不再赘述。
步骤430,确定是否满足预设条件2。
其中,满足预设条件2包括:带宽值5与带宽值1的差值小于预设阈值,带宽值6与带宽值2的差值小于预设阈值,带宽值7与带宽值3的差值小于预设阈值,以及带宽值8与带宽值4的差值小于预设阈值。
上述步骤430中,确定是否满足预设条件,包括:
满足预设条件,在步骤430之后执行步骤440;
不满足预设条件,在步骤430之后继续执行步骤450,即执行第3次迭代,第4次迭代,……,第M次迭代,此时M为大于等于3的整数。
步骤440,控制器1将带宽值5分配给交换设备3,控制器2将带宽值6分配给交换设备4和将带宽值7分配给交换设备5,控制器3将带宽值8分配给交换设备6。
其中,带宽值5是交换设备3进行业务1转发时占用的带宽值,带宽值6是交换设备4进行业务1转发时占用的带宽值,带宽值7是交换设备5进行业务1转发时占用的带宽值,带宽值8是交换设备6进行业务1转发时占用的带宽值。
可以理解的是,当上述方法300中的控制器1作为上述方法200中的第四控制器时,上述控制器2可以作为上述方法200中的第一控制器,上述控制器3可以作为上述方法200中的第二控制器。当上述控制器1作为上述方法200中的第一控制器时,上述控制器2可以作为上述方法200中的第二控制器,上述控制器3可以作为上述方法200中的第三控制器。
上述图3和图4所描述的带宽方法仅为示意,并不对本申请实施例提供的带宽分配方法构成任何限定。上文结合图1至图4,详细描述了本申请实施例提供的带宽分配方法,下面将结合图5和图6,详细描述本申请的装置的实施例。方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图5是本申请实施例提供的一种带宽分配装置500的示意性结构图。该装置500应用于分布式系统,该分布式系统包括N个控制器,该N个控制器包括第一控制器和第二控制器,N为大于等于3的整数,包括:
获取单元510,用于获取业务的第一带宽分配信息,该第一带宽分配信息包括第一带宽值和第二带宽值,该第一带宽值为该第一控制器在上一轮迭代结束后分配给第一子域中的第一转发节点的带宽值,该第二带宽值为该第二控制器在该上一轮迭代结束后分配给第二子域中的第二转发节点的带宽值,该第一控制器与该第二控制器相邻;
确定单元520,用于在本轮迭代过程中,根据该第一带宽分配信息,确定目标带宽值,该目标带宽值是该第一控制器分配给该第一转发节点进行业务转发时占用的带宽值。
可选的,在一些实现方式中,该第一带宽值为第一预设带宽值,该第二带宽值为第二预设带宽值。
可选的,在一些实现方式中,该第二带宽值是该第二控制器在该上一轮迭代过程中根据第一预设带宽值和第二预设带宽值确定的,该第一预设带宽值是该第一控制器分配给该第一转发节点转发该业务的初始带宽值,该第二预设带宽值是该第二控制器分配给该第二转发节点转发该业务的初始带宽值。
可选的,在一些实现方式中,该第一带宽分配信息还包括第一拥塞信息,该第一拥塞信息包括该第一转发节点占用该第一带宽值时该第一转发节点所在的链路拥塞信息和该第一转发节点的端口拥塞信息,
该第一控制器获取业务的第一带宽分配信息,包括:
该第一控制器接收该第一转发节点发送的该第一拥塞信息。
可选的,在一些实现方式中,该确定单元还用于:
在该本轮迭代过程中,根据该第一带宽分配信息,确定第三带宽值;
确定满足预设条件,将该第三带宽值确定为该目标带宽值。
可选的,在一些实现方式中,该N个控制器包括该第三控制器,该第三控制器与该第二控制器相邻,且该第三控制器与该第一控制器不相同,该满足预设条件包括:
该第三带宽值与该第一带宽值的差值小于预设阈值,第四带宽值与该第二带宽值的差值小于该预设阈值,该第四带宽值是该第二控制器分配给该第二转发节点进行该业务转发时占用的带宽值,该第四带宽值是在该本轮迭代过程中该第二控制器根据第二带宽分配信息确定的,该第二带宽分配信息包括该第二带宽值和第六带宽值,该第六带宽值为第三控制器在该上一轮迭代结束后分配给第三子域中的第三转发节点的带宽值。
可选的,在一些实现方式中,该第二带宽分配信息还包括第二拥塞信息,该第二拥塞信息包括该第二转发节点占用该第二带宽值时该第二转发节点所在的链路拥塞信息和该第二转发节点的端口拥塞信息。
可选的,在一些实现方式中,该第一转发节点是该业务的源节点,
该确定单元还用于:
根据从该第一转发节点获取的请求消息,确定转发该业务的目标路径,该请求消息用于请求将该业务从该第一转发节点转发至该第三转发节点,该目标路径包括该第一转发节点,该第二转发节点和该第三转发节点;
根据路径信息确定第一通信延时信息,该路径信息表示通过该第一子域中的转发节点转发的业务的路径,该路径信息包括该目标路径;
根据该第一通信延时信息,确定第一通信方式,该第一通信延时信息包括该第一控制器与该第二控制器之间的通信延时,该第一通信方式表示该第一控制器与该第二控制器相互交换分配的带宽分配信息;
该获取单元还用于从该第一转发节点获取该请求消息。
可选的,在一些实现方式中,该N个控制器还包括第四控制器,该第一控制器是该第二控制器和该第四控制器之间的中间控制器,该第一带宽分配信息还包括第七带宽值,该第七带宽值为该第四控制器在该上一轮迭代结束后分配给第四子域中的第四转发节点的带宽值,第二带宽分配信息还包括第八带宽值,该第八带宽值为该第四控制器在该本轮迭代结束后分配给该第四转发节点的带宽值,且该第八带宽值与该第七带宽值的差小于预设阈值。
可选的,在一些实现方式中,
该确定单元还用于:
根据获取的路径信息,确定第二通信延时信息,该路径信息表示通过该第一子域中的转发节点转发的业务的路径,该路径信息包括转发该业务的目标路径,该目标路径包括该第一转发节点,该第二转发节点和该第四转发节点,该第二通信延时信息包括该第一控制器与该第二控制器之间的通信延时,以及该第一控制器与该第四控制器之间的通信延时;
根据该第二通信延时信息,确定第二通信方式,该第二通信方式表示该第四控制器与该第一控制器相互交换分配的带宽分配信息,以及该第一控制器与该第二控制器相互交换分配的带宽分配信息;
该获取单元还用于获取该路径信息。
图6是本申请实施例提供的一种带宽分配装置2000的硬件结构示意图。图6所示的带宽分配装置2000可以执行上述实施例所描述的带宽分配方法(即,上述方法200或上述方法300)。
如图6所示,该第一控制器2000包括处理器2001、存储器2002、接口2003和总线2004。其中接口2003可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2001、存储器2002和接口2003通过总线2004连接。所述接口2003具体可以包括发送器和接收器,用于第一控制器实现上述收发。所述处理器2001用于执行上述实施例中由第一控制器进行的处理。存储器2002包括操作系统20021和应用程序20022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及BFIR的处理过程。可选的,所述存储器2002可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basicinput/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第一控制器2000时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一控制器2000进入正常运行状态。在第一控制器2000进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第一控制器2000的处理过程。图6仅仅示出了第一控制器2000的简化设计。在实际应用中,第一控制器可以包含任意数量的接口,处理器或者存储器。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一控制器执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。
本申请实施例还提供了一种芯片系统,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中涉及第一控制器的操作。在具体实现过程中,该芯片系统可以以中央处理器(centralprocessing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(microprocessing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括一系列指令,当所述指令被运行时,以执行上述方法200或方法300。
本申请实施例还提供了一种带宽分配系统,包括上述带宽分配装置500。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种带宽分配方法,其特征在于,应用于分布式系统,所述分布式系统包括N个控制器,所述N个控制器包括第一控制器和第二控制器,N为大于等于3的整数,包括:
所述第一控制器获取业务的第一带宽分配信息,所述第一带宽分配信息包括第一带宽值和第二带宽值,所述第一带宽值为所述第一控制器在上一轮迭代结束后分配给第一子域中的第一转发节点的带宽值,所述第二带宽值为所述第二控制器在所述上一轮迭代结束后分配给第二子域中的第二转发节点的带宽值,所述第一控制器与所述第二控制器相邻;
在本轮迭代过程中,所述第一控制器根据所述第一带宽分配信息,确定目标带宽值,所述目标带宽值是所述第一控制器分配给所述第一转发节点进行业务转发时占用的带宽值。
2.根据权利要求1所述的方法,其特征在于,
所述第一带宽值为第一预设带宽值,所述第二带宽值为第二预设带宽值,所述第一预设带宽值是所述第一控制器分配给所述第一转发节点转发所述业务的初始带宽值,所述第二预设带宽值是所述第二控制器分配给所述第二转发节点转发所述业务的初始带宽值。
3.根据权利要求1所述的方法,其特征在于,
所述第二带宽值是所述第二控制器在所述上一轮迭代过程中根据第一预设带宽值和第二预设带宽值确定的,所述第一预设带宽值是所述第一控制器分配给所述第一转发节点转发所述业务的初始带宽值,所述第二预设带宽值是所述第二控制器分配给所述第二转发节点转发所述业务的初始带宽值。
4.根据权利要求1至3任一项所述的方法,其特征在于,
所述第一带宽分配信息还包括第一拥塞信息,所述第一拥塞信息包括所述第一转发节点占用所述第一带宽值时所述第一转发节点所在的链路拥塞信息和所述第一转发节点的端口拥塞信息,
所述第一控制器获取业务的第一带宽分配信息,包括:
所述第一控制器接收所述第一转发节点发送的所述第一拥塞信息。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述在本轮迭代过程中,所述第一控制器根据所述第一带宽分配信息,确定目标带宽值,包括:
在所述本轮迭代过程中,所述第一控制器根据所述第一带宽分配信息,确定第三带宽值;
所述第一控制器确定满足预设条件,将所述第三带宽值确定为所述目标带宽值。
6.根据权利要求5所述的方法,其特征在于,所述N个控制器包括所述第三控制器,所述第三控制器与所述第二控制器相邻,且所述第三控制器与所述第一控制器不相同,
所述满足预设条件包括:
所述第三带宽值与所述第一带宽值的差值小于预设阈值,第四带宽值与所述第二带宽值的差值小于所述预设阈值,所述第四带宽值是所述第二控制器分配给所述第二转发节点进行所述业务转发时占用的带宽值,所述第四带宽值是在所述本轮迭代过程中所述第二控制器根据第二带宽分配信息确定的,所述第二带宽分配信息包括所述第二带宽值和第六带宽值,所述第六带宽值为所述第三控制器在所述上一轮迭代结束后分配给第三子域中的第三转发节点的带宽值。
7.根据权利要求6所述的方法,其特征在于,
所述第二带宽分配信息还包括第二拥塞信息,所述第二拥塞信息包括所述第二转发节点占用所述第二带宽值时所述第二转发节点所在的链路拥塞信息和所述第二转发节点的端口拥塞信息。
8.根据权利要求6或7所述的方法,其特征在于,所述第一转发节点是所述业务的源节点,所述方法还包括:
所述第一控制器根据从所述第一转发节点获取的请求消息,确定转发所述业务的目标路径,所述请求消息用于请求将所述业务从所述第一转发节点转发至所述第三转发节点,所述目标路径包括所述第一转发节点,所述第二转发节点和所述第三转发节点;
所述第一控制器根据路径信息确定第一通信延时信息,所述路径信息表示通过所述第一子域中的转发节点转发的业务的路径,所述路径信息包括所述目标路径;
所述第一控制器根据所述第一通信延时信息,确定第一通信方式,所述第一通信延时信息包括所述第一控制器与所述第二控制器之间的通信延时,所述第一通信方式表示所述第一控制器与所述第二控制器相互交换分配的带宽分配信息。
9.根据权利要求1至7任一项所述的方法,其特征在于,
所述N个控制器还包括第四控制器,所述第一控制器是所述第二控制器和所述第四控制器之间的中间控制器,所述第一带宽分配信息还包括第七带宽值,所述第七带宽值为所述第四控制器在所述上一轮迭代结束后分配给第四子域中的第四转发节点的带宽值,第二带宽分配信息还包括第八带宽值,所述第八带宽值为所述第四控制器在所述本轮迭代结束后分配给所述第四转发节点的带宽值,且所述第八带宽值与所述第七带宽值的差小于预设阈值。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述第一控制器根据获取的路径信息,确定第二通信延时信息,所述路径信息表示通过所述第一子域中的转发节点转发的业务的路径,所述路径信息包括转发所述业务的目标路径,所述目标路径包括所述第一转发节点,所述第二转发节点和所述第四转发节点,所述第二通信延时信息包括所述第一控制器与所述第二控制器之间的通信延时,以及所述第一控制器与所述第四控制器之间的通信延时;
所述第一控制器根据所述第二通信延时信息,确定第二通信方式,所述第二通信方式表示所述第四控制器与所述第一控制器相互交换分配的带宽分配信息,以及所述第一控制器与所述第二控制器相互交换分配的带宽分配信息。
11.一种带宽分配装置,其特征在于,应用于分布式系统,所述分布式系统包括N个控制器,所述N个控制器包括第一控制器和第二控制器,N为大于等于3的整数,包括:
获取单元,用于获取业务的第一带宽分配信息,所述第一带宽分配信息包括第一带宽值和第二带宽值,所述第一带宽值为所述第一控制器在上一轮迭代结束后分配给第一子域中的第一转发节点的带宽值,所述第二带宽值为所述第二控制器在所述上一轮迭代结束后分配给第二子域中的第二转发节点的带宽值,所述第一控制器与所述第二控制器相邻;
确定单元,用于在本轮迭代过程中,根据所述第一带宽分配信息,确定目标带宽值,所述目标带宽值是所述第一控制器分配给所述第一转发节点进行业务转发时占用的带宽值。
12.根据权利要求11所述的装置,其特征在于,
所述第一带宽值为第一预设带宽值,所述第二带宽值为第二预设带宽值,所述第一预设带宽值是所述第一控制器分配给所述第一转发节点转发所述业务的初始带宽值,所述第二预设带宽值是所述第二控制器分配给所述第二转发节点转发所述业务的初始带宽值。
13.根据权利要求11所述的装置,其特征在于,
所述第二带宽值是所述第二控制器在所述上一轮迭代过程中根据第一预设带宽值和第二预设带宽值确定的,所述第一预设带宽值是所述第一控制器分配给所述第一转发节点转发所述业务的初始带宽值,所述第二预设带宽值是所述第二控制器分配给所述第二转发节点转发所述业务的初始带宽值。
14.根据权利要求11至13任一项所述的装置,其特征在于,
所述第一带宽分配信息还包括第一拥塞信息,所述第一拥塞信息包括所述第一转发节点占用所述第一带宽值时所述第一转发节点所在的链路拥塞信息和所述第一转发节点的端口拥塞信息,
所述第一控制器获取业务的第一带宽分配信息,包括:
所述第一控制器接收所述第一转发节点发送的所述第一拥塞信息。
15.根据权利要求11至14任一项所述的装置,其特征在于,
所述确定单元还用于:
在所述本轮迭代过程中,根据所述第一带宽分配信息,确定第三带宽值;
确定满足预设条件,将所述第三带宽值确定为所述目标带宽值。
16.根据权利要求15所述的装置,其特征在于,所述N个控制器包括所述第三控制器,所述第三控制器与所述第二控制器相邻,且所述第三控制器与所述第一控制器不相同,
所述满足预设条件包括:
所述第三带宽值与所述第一带宽值的差值小于预设阈值,第四带宽值与所述第二带宽值的差值小于所述预设阈值,所述第四带宽值是所述第二控制器分配给所述第二转发节点进行所述业务转发时占用的带宽值,所述第四带宽值是在所述本轮迭代过程中所述第二控制器根据第二带宽分配信息确定的,所述第二带宽分配信息包括所述第二带宽值和第六带宽值,所述第六带宽值为所述第三控制器在所述上一轮迭代结束后分配给第三子域中的第三转发节点的带宽值。
17.根据权利要求16所述的装置,其特征在于,
所述第二带宽分配信息还包括第二拥塞信息,所述第二拥塞信息包括所述第二转发节点占用所述第二带宽值时所述第二转发节点所在的链路拥塞信息和所述第二转发节点的端口拥塞信息。
18.根据权利要求16或17所述的装置,其特征在于,所述第一转发节点是所述业务的源节点,
所述确定单元还用于:
根据从所述第一转发节点获取的请求消息,确定转发所述业务的目标路径,所述请求消息用于请求将所述业务从所述第一转发节点转发至所述第三转发节点,所述目标路径包括所述第一转发节点,所述第二转发节点和所述第三转发节点;
根据路径信息确定第一通信延时信息,所述路径信息表示通过所述第一子域中的转发节点转发的业务的路径,所述路径信息包括所述目标路径;
根据所述第一通信延时信息,确定第一通信方式,所述第一通信延时信息包括所述第一控制器与所述第二控制器之间的通信延时,所述第一通信方式表示所述第一控制器与所述第二控制器相互交换分配的带宽分配信息;
所述获取单元还用于从所述第一转发节点获取所述请求消息。
19.根据权利要求11至17任一项所述的装置,其特征在于,
所述N个控制器还包括第四控制器,所述第一控制器是所述第二控制器和所述第四控制器之间的中间控制器,所述第一带宽分配信息还包括第七带宽值,所述第七带宽值为所述第四控制器在所述上一轮迭代结束后分配给第四子域中的第四转发节点的带宽值,第二带宽分配信息还包括第八带宽值,所述第八带宽值为所述第四控制器在所述本轮迭代结束后分配给所述第四转发节点的带宽值,且所述第八带宽值与所述第七带宽值的差小于预设阈值。
20.根据权利要求19所述的装置,其特征在于,
所述确定单元还用于:
根据获取的路径信息,确定第二通信延时信息,所述路径信息表示通过所述第一子域中的转发节点转发的业务的路径,所述路径信息包括转发所述业务的目标路径,所述目标路径包括所述第一转发节点,所述第二转发节点和所述第四转发节点,所述第二通信延时信息包括所述第一控制器与所述第二控制器之间的通信延时,以及所述第一控制器与所述第四控制器之间的通信延时;
根据所述第二通信延时信息,确定第二通信方式,所述第二通信方式表示所述第四控制器与所述第一控制器相互交换分配的带宽分配信息,以及所述第一控制器与所述第二控制器相互交换分配的带宽分配信息;
所述获取单元还用于获取所述路径信息。
21.一种计算机可读存储介质,其特征在于,用于存储计算机指令,当所述计算机指令被执行时,如权利要求1至10中任一项所述的方法被实现。
22.一种带宽分配系统,其特征在于,包括如权利要求11至20中任一项所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859240.7A CN115695200A (zh) | 2021-07-28 | 2021-07-28 | 带宽分配方法、装置以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859240.7A CN115695200A (zh) | 2021-07-28 | 2021-07-28 | 带宽分配方法、装置以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115695200A true CN115695200A (zh) | 2023-02-03 |
Family
ID=85058676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110859240.7A Pending CN115695200A (zh) | 2021-07-28 | 2021-07-28 | 带宽分配方法、装置以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115695200A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105960783A (zh) * | 2013-12-26 | 2016-09-21 | 华为技术有限公司 | 域间sdn流量工程 |
CN106302249A (zh) * | 2016-09-20 | 2017-01-04 | 国网江苏省电力公司信息通信分公司 | 一种动态带宽分配系统及分配方法 |
WO2018019186A1 (zh) * | 2016-07-29 | 2018-02-01 | 华为技术有限公司 | 资源分配方法、设备和系统 |
CN107786351A (zh) * | 2016-08-24 | 2018-03-09 | 中国电信股份有限公司 | 业务带宽自适应调整方法、系统和sdn控制器 |
CN108401015A (zh) * | 2018-02-02 | 2018-08-14 | 广州大学 | 一种基于深度强化学习的数据中心网络路由方法 |
CN108400890A (zh) * | 2018-01-30 | 2018-08-14 | 天津城建大学 | 一种软件定义网络多控制器部署方法 |
US20190140976A1 (en) * | 2017-11-07 | 2019-05-09 | Infinera Corporation | Dynamic allocation of network bandwidth |
CN111918314A (zh) * | 2020-08-20 | 2020-11-10 | 浪潮思科网络科技有限公司 | 一种基于分布式sdn的移动网络优化方法及系统 |
-
2021
- 2021-07-28 CN CN202110859240.7A patent/CN115695200A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105960783A (zh) * | 2013-12-26 | 2016-09-21 | 华为技术有限公司 | 域间sdn流量工程 |
WO2018019186A1 (zh) * | 2016-07-29 | 2018-02-01 | 华为技术有限公司 | 资源分配方法、设备和系统 |
CN107786351A (zh) * | 2016-08-24 | 2018-03-09 | 中国电信股份有限公司 | 业务带宽自适应调整方法、系统和sdn控制器 |
CN106302249A (zh) * | 2016-09-20 | 2017-01-04 | 国网江苏省电力公司信息通信分公司 | 一种动态带宽分配系统及分配方法 |
US20190140976A1 (en) * | 2017-11-07 | 2019-05-09 | Infinera Corporation | Dynamic allocation of network bandwidth |
CN108400890A (zh) * | 2018-01-30 | 2018-08-14 | 天津城建大学 | 一种软件定义网络多控制器部署方法 |
CN108401015A (zh) * | 2018-02-02 | 2018-08-14 | 广州大学 | 一种基于深度强化学习的数据中心网络路由方法 |
CN111918314A (zh) * | 2020-08-20 | 2020-11-10 | 浪潮思科网络科技有限公司 | 一种基于分布式sdn的移动网络优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11082262B2 (en) | Flow entry generating method and apparatus | |
EP3764609B1 (en) | Message sending method, network node and system | |
US11394646B2 (en) | Packet sending method, network node, and system | |
EP3806405B1 (en) | Method and network node for sending network performance parameter and calculating network performance | |
CN108401492B (zh) | 一种基于混合资源的路由选路方法、装置和服务器 | |
CN112242950B (zh) | 确定路径的方法和相关设备 | |
CN111147370B (zh) | 确定转发路径的方法和控制设备 | |
CN107294852B (zh) | 一种使用拓扑分散短路径集的网络路由方法 | |
CN107659426B (zh) | 分配物理资源的方法和网络侧设备 | |
US9184999B1 (en) | Logical topology in a dynamic data center network | |
US20170207993A1 (en) | Bidirectional constrained path search | |
CN115208815A (zh) | 路由方法和路由装置 | |
CN109861925A (zh) | 数据传输方法、相关装置及网络 | |
CN109218190B (zh) | 一种传输路径的确定方法及节点 | |
CN115695200A (zh) | 带宽分配方法、装置以及系统 | |
US20120246262A1 (en) | Data transmitting device, parallel computer system, and controlling method | |
JP4200522B2 (ja) | リソース算出装置およびリソース算出方法 | |
CN112383482A (zh) | 基于数据平面的动态q值路由计算方法及装置 | |
US20180316593A9 (en) | Shortest path routing in single-channel networks with aggregating and non-aggregating nodes | |
CN115766562A (zh) | 信息处理的方法、装置以及系统 | |
CN114006855A (zh) | 传输路径选择方法、装置及电子设备 | |
CN115695323A (zh) | 确定报文发送周期的方法、装置以及系统 | |
CN117938735A (zh) | 确定转发路径的方法和设备 | |
CN116319531A (zh) | 基于多条最优准则的链路状态路由方法及装置 | |
JP6178743B2 (ja) | トラヒックフロー割当方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |