CN108933738B - 一种处理网络拥塞的方法、装置及系统 - Google Patents

一种处理网络拥塞的方法、装置及系统 Download PDF

Info

Publication number
CN108933738B
CN108933738B CN201710392961.5A CN201710392961A CN108933738B CN 108933738 B CN108933738 B CN 108933738B CN 201710392961 A CN201710392961 A CN 201710392961A CN 108933738 B CN108933738 B CN 108933738B
Authority
CN
China
Prior art keywords
link
congestion
data flow
controller
congested
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.)
Active
Application number
CN201710392961.5A
Other languages
English (en)
Other versions
CN108933738A (zh
Inventor
许胜�
付斌章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201710392961.5A priority Critical patent/CN108933738B/zh
Publication of CN108933738A publication Critical patent/CN108933738A/zh
Application granted granted Critical
Publication of CN108933738B publication Critical patent/CN108933738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种处理网络拥塞的方法、装置及系统,涉及通信技术领域,能够在不依赖网络中的交换设备的情况下,确定网络中发生拥塞的链路。该方法包括:第一控制器获取至少两条数据流信息,并且第一控制器根据该至少两条数据流信息,确定第一链路为拥塞链路,该至少两条数据流信息包括至少两条数据流的路径和至少两条数据流的状态,其中,一条数据流的路径包括至少一条链路,一条数据流的状态包括拥塞状态或非拥塞状态。

Description

一种处理网络拥塞的方法、装置及系统
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种处理网络拥塞的方法、装置及系统。
背景技术
随着网络技术的不断发展,网络的应用越来越广泛,用户设备(user equipment,UE)采用网络传输数据也越来越频繁。在传输数据的过程中,当网络中发生拥塞时,可能会导致网络的传输性能下降,影响数据传输。
目前,在处理网络拥塞的过程中,网络中具有自我检测功能或者支持软件定义网络(software defined network,SDN)技术的交换设备(例如交换机或路由器)可以检测出网络中发生拥塞的位置。具体的,网络中的每个交换设备检测到该交换设备上的某一个端口发送拥塞时,该交换设备可以向网络管理设备(例如控制器)发送包括该交换设备的标识和该交换设备上发生拥塞的端口的标识的拥塞告警消息,网络管理设备接收到交换设备发送的拥塞告警消息之后,网络管理设备可以根据该拥塞告警消息处理网络拥塞。
然而,由于上述方法中,网络中的交换设备需具有自我检测功能或者支持SND技术的设备时,该交换设备可以检测该交换设备是否发生拥塞,并发送拥塞告警消息,因此,处理网络拥塞依赖于网络中的交换设备,如此,采用上述方法处理网络拥塞时,对网络中的交换设备要求比较高。
发明内容
本申请提供一种处理网络拥塞的方法、装置及系统,能够在不依赖网络中的交换设备的情况下,确定网络中发生拥塞的链路。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种处理网络拥塞的方法,该方法可以包括:第一控制器获取至少两条数据流信息,并且第一控制器根据至少两条数据流信息,确定第一链路为拥塞链路,其中,该至少两条数据流信息包括至少两条数据流的路径和至少两条数据流的状态,一条数据流的路径包括至少一条链路,一条数据流的状态包括拥塞状态或非拥塞状态,
本申请提供的处理网络拥塞的方法,由于通信系统中的第一控制器可以获取至少两条数据流信息,并且该第一控制器可以根据该至少两条数据流信息,确定第一链路为拥塞链路,因此,本申请提供的处理网络拥塞的方法,能够在不依赖网络中的交换设备的情况下,确定网络中发生拥塞的链路。
在第一方面的第一种可选的实现方式中,上述第一控制器根据至少两条数据流信息,确定第一链路为拥塞链路的方法可以包括:第一控制器根据至少两条数据流的状态,确定至少两条数据流中的拥塞链路和非拥塞链路,并且第一控制器可以根据拥塞链路、非拥塞链路以及拥塞链路判定规则确定第一链路为拥塞链路。
本申请中,由于第一控制器可以确定网络中发送拥塞的链路,从而无需依赖网络中的交换设备,即不再需要复杂的硬件支持,即可确定出网络中发生拥塞的链路。
在第一方面的第二种可选的实现方式中,在上述第一控制器根据至少两条数据流信息,确定第一链路为拥塞链路之后,本发明实施例提供的处理网络拥塞的方法还可以包括:第一控制器向第二控制器发送至少一条拥塞数据流信息,以使得第二控制器精确确定第一链路为拥塞链路,该至少一条拥塞数据流信息包括至少一条拥塞数据流的路径和至少一条拥塞数据流的链路状态,该至少一条拥塞数据流中每一条拥塞数据流的链路状态包括拥塞状态或非拥塞状态。
本申请中,第一控制器可以将拥塞数据流信息发送给第二控制器,从而第二控制器可以根据第一控制器发送的拥塞数据流信息以及通信系统中的其他第一控制器发送的拥塞数据流信息,更加准确地确定第一链路为拥塞链路。
第二方面,本申请提供一种处理网络拥塞的方法,该方法还可以包括:第二控制器获取至少两条拥塞数据流信息,并且第二控制器根据该至少两条拥塞数据流信息,确定第一链路为拥塞链路,其中,一条拥塞数据流信息包括至少一条拥塞数据流的路径和至少一条拥塞数据流中所有链路的状态。
本申请提供的处理网络拥塞的方法,由于通信系统中的至少两个第一控制器根据各自接收的至少两条数据流信息分别确定出拥塞链路(例如第一链路)之后,该至少两个第一控制器可以将其各自接收的至少两条数据流信息中的拥塞数据流信息发送给通信系统中的第二控制器,该拥塞数据流信息包括至少一条拥塞数据流的路径和至少一条拥塞数据流中有链路的状态,第二控制器接收至少两个第一控制器发送的拥塞数据流信息,然后第二控制器可以根据该至少两个第一控制器发送的拥塞数据流信息,确定第一链路为拥塞链路,因此,能够在不依赖网络中的交换设备的情况下,更加准确地确定网络中发生拥塞的链路。
在第二方面的第一种可选的实现方式中,上述第二控制器根据至少两条拥塞数据流信息,确定第一链路为拥塞链路的方法可以包括:第二控制器根据至少两条拥塞数据流信息和拥塞链路判定原则,确定第一链路为拥塞链路。
本申请中,由于第二控制器根据至少两条拥塞数据流信息和拥塞链路判定原则,确定第一链路为拥塞链路,从而无需依赖网络中的交换设备,即不再需要复杂的硬件支持,能够更加准确地确定出网络中发生拥塞的链路。
第三方面,本申请提供一种处理网络拥塞的装置,该装置为第一控制器,该装置可以包括获取模块和确定模块。其中,获取模块可以用于获取至少两条数据流信息,该至少两条数据流信息包括至少两条数据流的路径和至少两条数据流的状态,一条数据流的路径包括至少一条链路,一条数据流的状态包括拥塞状态或非拥塞状态;确定模块可以用于根据获取模块获取的至少两条数据流信息,确定第一链路为拥塞链路。
在第三方面的第一种可选的实现方式中,上述确定模块具体用于根据至少两条数据流的状态,确定至少两条数据流中的拥塞链路和非拥塞链路,并且根据拥塞链路、非拥塞链路以及拥塞链路判定规则确定第一链路为拥塞链路。
在第三方面的第二种可选的实现方式中,本申请提供的处理网络拥塞的装置还可以包括发送模块,该发送模块可以用于在确定模块根据至少两条数据流信息,确定第一链路为拥塞链路之后,向第二控制器发送至少一条拥塞数据流信息,以使得第二控制器精确确定第一链路为拥塞链路,该至少一条拥塞数据流信息包括至少一条拥塞数据流的路径和至少一条拥塞数据流的链路状态,该至少一条拥塞数据流中每一条拥塞数据流的链路状态包括拥塞状态或非拥塞状态。
第三方面的技术效果可以参见上述对第一方面及其各种可选实现方式的技术效果的相关描述,此处不再赘述。
在第一方面和第三方面,上述拥塞链路判定规则可以包括:若第一拥塞数据流经过第一链路,第一非拥塞数据流也经过该第一链路,则确定第一链路为非拥塞链路;若至少两条拥塞数据流经过第一链路,则确定该第一链路为拥塞链路;若第一数据流为拥塞数据流,则第一数据流中至少包括一条拥塞链路,其中,第一链路为第一控制器标记的拥塞链路。
第四方面,本申请提供一种用于处理网络拥塞的装置,该装置为第二控制器,该装置可以包括获取模块和确定模块。其中,获取模块可以用于获取至少两条拥塞数据流信息,其中,一条拥塞数据流信息包括至少一条拥塞数据流的路径和该至少一条拥塞数据流中所有链路的状态;确定模块可以用于根据获取模块获取的至少两个第一控制器发送的拥塞数据流信息,确定第一链路为拥塞链路。
在第四方面的第一种可选的实现方式中,上述确定模块具体用于根据至少两条拥塞数据流信息和拥塞链路判定原则,确定第一链路为拥塞链路。
第四方面的技术效果可以参见上述对第二方面及其各种可选实现方式的技术效果的相关描述,此处不再赘述。
在第二方面和第四方面,上述拥塞链路判定原则包括:若至少两条拥塞数据流经过第一链路,则第二控制器确定第一链路为拥塞链路,该第一链路为至少两个第一控制器确定的拥塞链路。
第五方面,本申请提供一种处理网络拥塞的装置,该装置为第一控制器,该该装置可以包括处理器和与该处理器耦合连接的存储器。该存储器可以用于存储计算机指令。当该装置运行时,该处理器执行该存储器存储的该计算机指令,以使得该装置执行上述第一方面及其各种可选的实现方式中任意之一所述的处理网络拥塞的方法。
第六方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质可以包括计算机指令。当该计算机指令在第一控制器上运行时,使得该第一控制器执行上述第一方面及其各种可选的实现方式中任意之一所述的处理网络拥塞的方法。
第七方面,本申请提供一种包括计算机指令的计算机程序产品,当该计算机程序产品在第一控制器上运行时,使得该第一控制器执行上述第一方面及其各种可选的实现方式中任意之一所述的处理网络拥塞的方法。
第五方面至第七方面的相关内容和技术效果的描述可以参见上述对第一方面及其各种可选的实现方式的相关内容和技术效果的相关描述,此处不再赘述。
第八方面,本申请提供一种处理网络拥塞的装置,该装置为第二控制器,该装置可以包括处理器和与该处理器耦合连接的存储器。该存储器可以用于存储计算机指令。当该装置运行时,该处理器执行该存储器存储的该计算机指令,以使得该装置执行上述第二方面及其各种可选的实现方式中任意之一所述的处理网络拥塞的方法。
第九方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质可以包括计算机指令。当该计算机指令在第二控制器上运行时,使得该第二控制器执行上述第二方面及其各种可选的实现方式中任意之一所述的处理网络拥塞的方法。
第十方面,本申请提供一种包括计算机指令的计算机程序产品,当该计算机程序产品在第二控制器上运行时,使得该第二控制器执行上述第二方面及其各种可选的实现方式中任意之一所述的处理网络拥塞的方法。
第八方面至第十方面的相关内容和技术效果的描述可以参见上述对第二方面及其各种可选的实现方式的相关内容和技术效果的相关描述,此处不再赘述。
第十一方面,本申请提供一种通信系统,该通信系统可以包括至少两个服务器、至少一个交换设备、上述第三方面及其各种可选的实现方式中任意之一所述的装置,以及第四方面及其各种可选的实现方式中任意之一所述的装置。
或者该通信系统可以包括至少两个服务器、至少一个交换设备、上述第五方面及其各种可选的实现方式中任意之一所述的装置,以及第八方面及其各种可选的实现方式中任意之一所述的装置。
附图说明
图1为本发明实施例提供的数据流的路径的示意图一;
图2为本发明实施例提供的一种通信系统的架构示意图;
图3为本发明实施例提供的一种服务器的硬件示意图;
图4为本发明实施例提供的处理网络拥塞的方法示意图一;
图5为本发明实施例提供的数据流的路径示意图二;
图6为本发明实施例提供的处理网络拥塞的方法示意图二;
图7为本发明实施例提供的处理网络拥塞的方法示意图三;
图8为本发明实施例提供的数据流的路径示意图三;
图9为本发明实施例提供的一种处理网络拥塞的装置的结构示意图一;
图10为本发明实施例提供的一种处理网络拥塞的装置的结构示意图二;
图11为本发明实施例提供的又一种处理网络拥塞的装置的结构示意图一;
图12为本发明实施例提供的又一种处理网络拥塞的装置的结构示意图二。
具体实施方式
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本发明实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一控制器和第二控制器等是用于区别不同的控制器,而不是用于描述控制器的特定顺序。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个服务器是指两个或两个以上的服务器。
下面对本发明实施例提供的处理网络拥塞的方法、装置及系统中涉及的一些概念做解释说明。
数据流的路径:在通信系统中,一个设备(可以称为第一设备)向另一个设备(可以称为第二设备)发送数据流的过程中,该第一设备可以通过一些中间设备向第二设备转发数据流,数据流从其中的一个设备到另一个设备传输的过程中经过的所有链路,可以称为该数据流的路径。示例性的,如图1所示,在图1中,第一设备10通过中间设备11和中间设备12向第二设备13发送数据流,第一设备10到中间设备11之间的链路为链路①,中间设备11到中间设备12之间的链路称为链路②,中间设备12到第二设备之间的链路称为链路③,则第一设备10向第二设备13发送的数据流的路径为①+②+③。
本发明实施例提供的处理网络拥塞的方法、装置及系统,控制器可以根据通信系统中的服务器发送的数据流信息以及拥塞链路判定规则确定该通信系统中哪一条链路发送拥塞,如此,可以在不依赖网络中的交换设备的情况下,完成整个网络中的网络拥塞的处理。
本发明实施例提供一种处理网络拥塞的方法可以应用于通信系统中,如图2所示,为本发明实施例提供的一种通信系统的架构示意图,该通信系统可以包括至少两个服务器(图2中,以8个服务器为例,分别记为20a、20b、20c、20d、20e、20f、20g和20h)、至少一个交换设备(图2中,以10个交换设备为例,分别记为21a、21b、21c、21d、21e、21f、21g、21h、21i和21j)、至少一个局部控制器(图2中,以2个局部控制器为例,分别记为22a和22b)以及集中控制器23。该通信系统中的各个服务器之间可以通过交换设备,采用不同的路径传输数据,控制器可以控制管理网络中的服务器,例如,在图2中,局部控制器22a用于控制管理通信系统中的服务器20a、20b、20c和20d,局部控制器22b用于控制管理通信系统中的服务器20e、20f、20g和20h,局部控制器22a可以接收其控制管理的4个服务器发送的数据流信息,局部控制器22b可以接收其控制管理的4个服务器的数据流信息,集中控制器23可以接收局部控制器22a和局部控制器22b发送的数据流信息。
需要说明的是,本发明实施例中,在上述通信系统中,由于该通信系统中的服务器的数量可能比较多,服务器的分布不集中,因此可以采用不同的控制器控制管理不同的服务器,将控制管理部分服务器的控制器称为局部控制器,例如上述如图2所示的局部控制器22a和局部控制器22b,然后局部控制器可以将其获取的信息发送给通信系中的用于控制管理全局的控制器(可以称为集中控制器),以实现控制管理通信系统中的所有服务器。
在下述实施例中,将局部控制器均称为第一服务器,将集中控制器均称为第二控制器。
需要说明的是,本发明实施例提供的第一控制器和第二控制器可以为同一种结构的控制器,也可以为不同结构的服务器。假设上述第一控制器和第二控制器为同一种结构的控制器,下面以一种控制器为例介绍本发明实施例中涉及到的各个控制器的硬件结构。
本发明实施例提供的处理网络拥塞的方法中,控制器的各个功能模块可以集成在一个服务器上以实现控制器的功能。下面结合图3具体介绍本发明实施例提供的集成有控制器的各个功能的服务器的各个构成部件。如图3所示,该服务器可以包括:处理器30、存储器31和通信接口32等。
处理器30:是服务器的核心部件,用于运行服务器的操作系统与服务器上的应用程序(包括系统应用程序和第三方应用程序)。
本发明实施例中,处理器30具体可以为中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-specific Integrated Circuit,ASIC),现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行结合本发明实施例公开的内容所描述的各种示例性的逻辑方框,模块和电路;处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器31:用于存储服务器的程序代码和数据。
本发明实施例中,存储器31具体可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random-access Memory,RAM);该存储器也可以包括非易失性存储器(Non-volatile Memory),例如只读存储器(Read-only Memory,ROM),快闪存储器(FlashMemory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-state Drive,SSD);该存储器还可以包括上述种类的存储器的组合。
通信接口32:用于服务器与其他设备进行通信的接口电路,通信接口可以为收发器、收发电路等具有收发功能的结构,通信接口包括串行通信接口和并行通信接口。
在通信系统中的各个设备传输数据的过程中,当网络状态比较差时,可能会发生网络拥塞,即网络中传输数据的各个链路会发生拥塞,导致各个设备之间无法顺利地传输数据。本发明实施例提供的处理网络拥塞的方法,能够在传输数据的过程中确定发生拥塞的链路,从而可以及时处理拥塞状况,保证数据顺利传输。
结合图2所示的通信系统,如图4所示,本发明实施例提供的处理网络拥塞的方法可以包括S101-S103:
S101、至少两个服务器向第一控制器发送至少两条数据流信息。
其中,至少两条数据流信息包括该至少两条数据流的路径和该至少两条数据流的状态,该至少两条数据流中每一条数据流的路径包括至少一条链路,该至少两条数据流中每一条数据流的状态包括拥塞状态或非拥塞状态。
本发明实施例中,第一控制器可以控制管理通信系统中的部分服务器(例如上述的至少两个服务器),在通信系统中的各个服务器之间传输数据流的过程中,第一控制器控制的至少两个服务器可以将各自发送的数据流的信息(即数据流信息,包括数据流的路径和数据流的状态)发送给第一控制器,可以理解为至少两个服务器中的每一个服务器可以向终端发送至少一条数据流信息。
示例性的,如图5所示,在图5所示的通信系统中的8个服务器S1-S8之间可以互相传输数据,假设第一控制器为图5所示的C1,可以控制管理服务器S1-S4,则S1-S4中的每一个服务器可以向第一控制器C1发送数据流信息,例如,S1-S4向C1发送的数据流信息可以称为DS1-DS4,其中,DS1为服务器S1向服务器S7(简称为S1 to S8)发送的数据流的信息,DS2为服务器S2向S4(简称为S2to S4)发送的数据流的信息,DS3为服务器S3向S6(简称为S3 toS6)发送的数据流的信息,DS4为服务器S4向S7(简称为S4to S7)发送的数据流的信息,如表1所示为DS1-DS4的内容的示例。
表1
Figure BDA0001307944070000071
需要说明的是,本发明实施例中,一个服务器可以通过不同的路径向另一个服务器发送数据流,上述表1中DS1-DS4的路径为一种示例,并不对服务器之间传输数据的路径进行限定。
可以理解的是,本发明实施例中,通信系统中存在至少两个第一控制器时,每一个控制器控制管理的服务器均可以向第一控制器发送数据流信息,示例性的,如图5所示的通信系统中,服务器S5-S6可以向第一控制器C2发送数据流信息,对于服务器S5-S6向C2发送的数据流信息内容与上述表1类似,此处不再一一列举。
需要说明的是,本发明实施例中,通信系统中可以有多个服务器,具体的,服务器的数量可以根据实际使用需求确定,本发明实施例不作限定。
S102、第一控制器获取至少两条数据流信息。
本发明实施例中,第一控制器获取至少两条数据流信息的具体方法为:第一控制器接收至少两个服务器发送的至少两条数据流信息,可以理解为第一控制器分别接收通信系统中的每一个服务器发送的至少一条数据流信息。
S103、第一控制器根据其获取的至少两条数据流信息,确定第一链路为拥塞链路。
对于服务器发送的数据流信息的相关描述,可以参见上述S101中关于数据流信息的相关描述,此处不再赘述。
本发明实施例中,第一控制器获取至少两条数据流信息之后,该第一控制器可以根据该至少两条数据流信息,确定第一链路为拥塞链路。由于第一控制器获取的至少两条数据流信息中包括至少两条数据流的路径和该至少两条数据流的状态,因此,第一控制器可以根据至少两条数据流的路径和该至少两条数据流的状态,再结合拥塞链路判定规则,可以确定第一链路为拥塞链路。
可选的,结合图4,如图6所示,本发明实施例中,上述S103具体可以通过S103a-S103b实现:
S103a、第一控制器根据至少两条数据流的状态,确定至少两条数据流中的拥塞链路和非拥塞链路。
本发明实施例中,第一控制器接收到该第一控制器控制管理的每一个服务器发送的数据流信息之后,第一控制器可以获知该第一控制器控制管理的各个服务器上发送的数据流的状态(即可以理解为数据流包括拥塞数据流和非拥塞数据流),然后,第一控制器可以根据至少两条数据流的状态对数据流的路径经过的链路进行标记,将传输数据流的链路标记为拥塞链路或非拥塞链路
具体的,本发明实施例中,第一控制器标记数据流经过的链路(即数据流的路径经过的链路)的方法可以为A1-A2:
A1、第一控制器拥塞数据流(该拥塞数据流为服务器标记的)的路径经过的所有链路均标记为拥塞链路。
示例性的,仍以上述如图5所示的通信系统为例,上述图5中的第一控制器C1接收到的服务器S1-S4发送的四条数据流信息(即上述的DS1-DS4)之后,第一控制器C1可以标记该四条数据流信息中数据流的路径上的各个链路的状态。具体的,第一控制器C 1接收的服务器S1发送的数据流信息(即DS1),由于DS1对应的数据流为拥塞数据流,因此,第一控制器C1将该数据流的路径经过的链路标记为拥塞链路,即①+②+③+④+⑤+⑥中的链路①,链路②,链路③,链路④,链路⑤,以及链路⑥均标记为拥塞链路。
A2、第一控制器将为未标记为拥塞数据流的数据流(即非拥塞数据流)经过的所有链路均标记为非拥塞链路。
示例性的,仍以上述如图5所示的通信系统为例,上述图5中的第一控制器C1接收到服务器S2、S3和S4发送的数据流信息(即DS2、DS3和DS4),由于DS2、DS3和DS4分别对应的数据流为非拥塞数据流,因此,第一控制器C1将DS2、DS3和DS4分别对应的数据流的路径经过的链路标记为非拥塞链路。例如,对于DS2,将其对应的数据流的路径,即⑦+②+⑧+⑨中的链路⑦,链路②,链路⑧,以及链路⑨均标记为非拥塞链路;对于DS3,将其对应的数据流的路径,即
Figure BDA0001307944070000081
中的链路⑩,链路⑧,链路③,链路④、链路
Figure BDA0001307944070000082
以及链路
Figure BDA0001307944070000083
均标记为非拥塞链路;对于DS4,将其对应的数据流的路径,即
Figure BDA0001307944070000084
中的链路⑨,链路
Figure BDA0001307944070000085
链路③,链路
Figure BDA0001307944070000086
链路
Figure BDA0001307944070000087
链路
Figure BDA0001307944070000088
以及链路
Figure BDA0001307944070000089
均标记为非拥塞链路。
S103b、第一控制器根据拥塞链路、非拥塞链路以及拥塞链路判定规则确定第一链路为拥塞链路。
其中,拥塞链路判定规则可以包括下述的三条(分别记为R1、R2和R3)规则:
R1、若第一拥塞数据流经过所述第一链路,第一非拥塞数据流也经过第一链路,则确定第一链路为非拥塞链路。
R2、若至少两条拥塞数据流经过第一链路,则确定第一链路为拥塞链路。
R3、若第一数据流为拥塞数据流,则第一数据流中至少包括一条拥塞链路。
可以理解的是,本发明实施例中,通信系统中的控制器可以根据上述拥塞链路判定规则中的至少一条规则确定拥塞链路。
本发明实施例中,第一控制器根据其获取的数据流信息,确定拥塞链路和非拥塞链路之后,第一控制器可以根据拥塞链路和非拥塞链路,再结合拥塞链路判定规则,确定多条链路(即上述至少两个服务器发送的数据流信息对应的数据流经过的链路)中的第一链路为拥塞链路。
可选的,本发明实施例中,为了便于理解第一控制器确定第一链路为拥塞链路的方法,下面以示例来说明第一控制器是如何确定第一链路为拥塞链路的。
示例性的,本发明实施例中,仍以上述图5所示的通信系统为例,在图5中,第一控制器C1接收到的数据流的路径为:
S1 to S8:①+②+③+④+⑤+⑥,其中,S1 to S8的数据流为拥塞数据流,各个链路均标记为拥塞链路。
S2 to S4:⑦+②+⑧+⑨,其中,S2 to S4的数据流为非拥塞数据流,各个链路均标记为非拥塞链路。
S3 to S6:
Figure BDA0001307944070000091
其中,S3 to S6的数据流为非拥塞数据流,各个链路均标记为非拥塞链路。
S4 to S7:
Figure BDA0001307944070000092
其中,S4 to S7的数据流为非拥塞数据流,各个链路均标记为非拥塞链路。
为了在下述实施例中清楚地描述本发明实施例提供的处理网络拥塞的方法,将上述S1 to S8的数据流记为Flow1,将上述S2 to S4的数据流记为Flow2,将上述S3 to S6的数据流记为Flow3,将上述S4 to S7的数据流记为Flow4。
需要说明的是,本发明实施例中,在确定发生拥塞的链路的过程中,主要确定的是两个服务器之间的各个中间设备(例如交换机或路由器)之间的链路的是否为拥塞链路,可以不考虑服务器到该服务器的下一跳设备或服务器到该服务器的上一跳设备之间的链路的状态。例如,以S1 to S8为例,可以不考虑服务器S1到服务器S1的下一跳设备之间的链路的状态,即链路①的状态,也可以不考虑服务器S8到服务器S8的上一跳设备之间的链路的状态,即链路⑥的状态。如此,在不考虑服务器的下一跳设备和下一跳设备的情况下,可以将上述Flow1-Flow4的路径理解为:
Flow1:②+③+④+⑤,其中,S1 to S8的数据流为拥塞数据流,各个链路均标记为拥塞链路。
Flow2:②+⑧,其中,S2 to S4的数据流为非拥塞数据流,各个链路均标记为非拥塞链路。
Flow3:
Figure BDA0001307944070000093
其中,S3 to S6的数据流为非拥塞数据流,各个链路均标记为非拥塞链路。
Flow4:
Figure BDA0001307944070000094
其中,S4 to S7的数据流为非拥塞数据流,各个链路均标记为非拥塞链路。
根据上述四条数据流信息,并结合上述拥塞链路判定规则确定拥塞链路的具体过程如下:
Step1:第一控制器根据Flow1和Flow2,以及拥塞链路判定规则中的R1可知,由于Flow1经过了链路②,Flow2也经过了链路②,又由于Flow1为拥塞数据流(Flow1可以理解为R1中的第一拥塞数据流),Flow2为非拥塞数据流(Flow2可以理解为第一非拥塞数据流),即可知,链路②既被标记为拥塞链路,也被标记为非拥塞链路,因此,可以确定链路②为非拥塞链路。
Step2:第一控制器根据Flow1和Flow3,以及拥塞链路判定规则中的R1可知,由于Flow1经过了链路③+链路④,Flow3也经过了链路③+链路④,又由于Flow1为拥塞数据流(Flow1可以理解为R1中的第一拥塞数据流),Flow2为非拥塞数据流(Flow3可以理解为第一非拥塞数据流),即可知,链路③+链路④既被标记为拥塞链路,也被标记为非拥塞链路,因此,可以确定链路③+链路④为非拥塞链路。
Step3:通过Step1和Step2,第一控制可以确定Flow1的路径②+③+④+⑤中,链路②为非拥塞链路,链路③+链路④为非拥塞链路,则第一控制器根据拥塞链路判定规则(Flow1可以理解为R3中的第一数据流)中的R3可知,Flow1中至少存在一条拥塞链路,而链路②为非拥塞链路,链路③+链路④为非拥塞链路,因此第一控制器可以确定链路⑤为拥塞链路。
本发明实施例中,第一控制器可以通过上述方法确定第一链路为拥塞链路,从而可以确定该通信系统发生网络拥塞,该通信系统可以及时做出调整,处理网络拥塞,保证各个服务器之间顺利地传输数据流。
本发明实施例提供的处理网络拥塞的方法,由于通信系统中的第一控制器可以获取至少两条数据流信息,并且该第一控制器可以根据该至少两条数据流信息,确定第一链路为拥塞链路,因此,本申请提供的处理网络拥塞的方法,能够在不依赖网络中的交换设备的情况下,确定网络中发生拥塞的链路。
可选的,在上述S101之前,该至少两个服务器中的每一个服务器可以执行下述S100:
S100、至少两个服务器中的每一个服务器对其发送的数据流进行标记。
本发明实施例中,通信系统中的服务器可以监控该服务器上当前传输的数据流的状态,确定该服务器当前传输的数据流是否发生拥塞(即确定该数据流是否为拥塞数据流)。假设服务器1向服务器2发送数据流1,服务器1确定数据流1是否为拥塞数据流的方法可以包括B1-B2中的任意一种。
B1、服务器1根据服务器2反馈的丢包情况确定数据流1是否为拥塞数据流。
本发明实施例中,服务器1向服务器2发送数据流1的过程中,服务器2通过接收数据包的形式接收服务器1发送的数据流1,当服务器2未接收到服务器1发送的数据包时,服务器2通知服务器1该服务器1发送数据流1的过程中发生丢包。本发明实施例中,服务器1可以根据服务器2反馈的丢包的次数,确定数据流1为拥塞数据流,在服务器1发送数据包(数据流1中的数据包)的丢包次数高于预设的丢包次数阈值时,服务器1确定数据流1为拥塞数据流,否则,数据流1为非拥塞数据流。
B2、服务器1根据服务器2反馈的超时重传的情况确定数据流1是否为拥塞数据流。
本发明实施例中,服务器1向服务器2发送数据流1的过程中,如果服务器2在预设的时间段内未接收到服务器1发送数据包(数据流1中的数据包),那么服务器2可以向服务器1发送超时重传指示信息,服务器1可以根据该超时重传信息重新发送该数据流1中的数据包。本发明实施例中,服务器1可以根据接收的超时重传指示信息的次数,确定数据流1为拥塞数据流,在服务器1接收到超时重传指示信息的次数高预设的超时重传指示信息次数阈值时,服务器1确定数据流1为拥塞数据流。
B3、服务器1根据服务器2反馈的确认包中显示拥塞回执CEC标识确定数据流1为拥塞数据流。
本发明实施例中,在服务器1通过中间设备(例如交换机或路由器)向服务器2转发数据流1的过程中,中间设备接收到服务器1发送的数据包(数据流1中的数据包),中间设备可以跟该中间设备当前的转发队列中数据包的数量确定该其当前接收到的数据包(可以称为数据包1)为拥塞数据包,若中间设备确定数据包1为拥塞数据包时,该中间设备可以在该数据包1中的显示拥塞通告(Explicit Congestion Notification,ECN)标识设置为指示该数据包1为拥塞数据包的标识,以通知服务器2该数据包1为拥塞数据包,如此,服务器2接收到数据包1之后,在服务器2向服务器1回复的确认包中,服务器2可以在该确认包中设置ECE标识,该ECE标识是服务器2对其接收到的数据包1中的ECN标识的回执标识,以通知服务器1数据包1所在的数据流1发生拥塞,如此,服务器1可以确定数据流1为拥塞数据流。
需要说明的是,本发明实施例中,结合图2所示的通信系统,该通信系统中可能包括多个第一控制器(例图2中是以2个第一控制器示意的),该多个第一控制器中的每一个第一控制器与其控制管理的至少两个服务器(例如图2中是以第一控制器控制管理4个服务器为例示意的)之间的交互过程,均与上述实施例中描述的第一控制器与控制管理的至少两个服务器之间的交互过程(即S101-S103)类似,如此,对于通信系统中的其他第一控制器,也可以采用上述方法实施例描述的处理网络拥塞的方法,确定出网络中发生拥塞的链路。
进一步,结合图2所示的通信系统,当通信系统中包括多个第一控制器和一个第二控制器(第一控制器为局部控制器,第二控制器为集中控制器)时,第一控制器确定的拥塞链路可以反映通信系统中局部的网络拥塞的情况,并不能准确地反映该整个通信系统中网络拥塞的情况,为了更加准确地确定网络中的拥塞链路,该通信系统中的每一个第一控制器根据上述S101-S103的方法确定出拥塞链路之后,每一个第一控制器还可以向第二控制器发送至少一条拥塞数据流信息,以使得第二控制器根据每一个第一控制器发送的拥塞数据流信息准确确定拥塞链路。
结合上述实施例的相关描述,如图7所示,本发明实施例提供的处理网络拥塞的方法还可以包括S201-S203:
S201、至少两个第一控制器向第二控制器发送至少两条拥塞数据流信息。
本发明实施例中,当通信系统中存在至少两个第一控制器时,该至少两个第一控制器中每一个第一控制器确定出拥塞链路之后,每一个第一控制器可以将其接收的至少两个服务器发送的数据流信息中对应的至少一条拥塞数据流的信息(以下均称为拥塞数据流信息)发送给第二控制器。
示例性的,结合图5,如图8所示,在图8所示的通信系统中,有两个第一控制器分别为第一控制器C1和第一控制器C2,第一控制器C1接收到服务器S1-S4发送的数据流信息可以参见上述实施例中的表1,此处不再赘述。
本发明实施例中,结合上述实施例,第一控制器C1确定出链路⑤为拥塞链路之后,第一控制器C1将拥塞链路信息(包括拥塞数据流的路径和拥塞数据流的链路状态),即Flow1的相关信息发送给第二控制器(即图8所示的C3)。
本发明实施例中,如图8所示,第一控制器C2用于控制管理S5-S8,则S5-S8中的每一个服务器可以向第一控制器C2发送数据流信息,例如,S5-S8向第二控制器C2发送的数据流信息可以称为DS5-DS6,其中,DS5为服务器S5向服务器S3(简称为S5 to S3)发送的数据流的信息,DS6为服务器S6向S8(简称为S6 to S8)发送的数据流的信息,DS7为服务器S7向S4(简称为S7 to S4)发送的数据流的信息,DS8为服务器S8向S1(简称为S8 to S1)发送的数据流的信息,如表2所示为DS5-DS8的内容的示例。
表2
Figure BDA0001307944070000121
本发明实施例中,第一控制器C2接收到服务器S5-S8发送的上述四条数据流信息(即上述的DS5-DS8)后,第一控制器C2可以根据上述实施例中中A1-A2的方法标记该四条数据流信息中数据流的路径上的各个链路的状态。具体的,第一控制器C2接收的服务器S5发送的数据流信息(即DS5),由于DS5对应的数据流为非拥塞数据流,因此,第一控制器C2将该数据流的路径经过的链路标记为非拥塞链路,即
Figure BDA0001307944070000122
中的链路
Figure BDA0001307944070000123
链路
Figure BDA0001307944070000124
链路④,链路③,链路⑧,以及链路⑩均标记为非拥塞链路。同理,第一控制器C2根据DS6将
Figure BDA0001307944070000125
中的链路
Figure BDA0001307944070000126
链路
Figure BDA0001307944070000127
链路⑤,以及链路⑥均标记为拥塞链路,第一控制器C2根据DS7将
Figure BDA0001307944070000128
Figure BDA0001307944070000129
中的链路
Figure BDA00013079440700001210
链路
Figure BDA00013079440700001211
链路
Figure BDA00013079440700001212
链路
Figure BDA00013079440700001213
链路
Figure BDA00013079440700001214
以及链路⑨均标记为非拥塞链路,第一控制器C2根据DS8将⑥+⑤+④+③+②+①中的链路⑥,链路⑤,链路④,链路③,链路②,以及链路①均标记为非拥塞链路。
本发明实施例中,将上述S5 to S3的数据流记为Flow5,将上述S6 to S8的数据流记为Flow6,将上述S7 to S4的数据流记为Flow7,将上述S8 to S1的数据流记为Flow8,并且在不考虑各个服务器的下一跳设备和下一跳设备的情况下,可以将上述Flow8Flow8的路径理解为:
Flow5:
Figure BDA00013079440700001215
其中,S5 to S3的数据流为非拥塞数据流,各个链路均标记为非拥塞链路。
Flow6:
Figure BDA00013079440700001216
其中,S6 to S8的数据流为拥塞数据流,各个链路均标记为拥塞链路。
Flow7:
Figure BDA00013079440700001217
其中,S7 to S4的数据流为非拥塞数据流,各个链路均标记为非拥塞链路。
Flow8:⑤+④+③+②,其中,S8 to S1的数据流为非拥塞数据流,各个链路均标记为非拥塞链路。
根据上述四条数据流信息,并结合上述拥塞链路判定规则确定拥塞链路的具体过程为:
T1、第一控制器根据Flow5和Flow6,以及拥塞链路判定规则中的R1可知,由于Flow5经过了链路
Figure BDA00013079440700001218
Flow6也经过了链路
Figure BDA00013079440700001219
又由于Flow5为非拥塞数据流(Flow5可以理解为R1中的第一非拥塞数据流),Flow6为拥塞数据流(Flow6可以理解为第一拥塞数据流),即可知,链路
Figure BDA0001307944070000132
既被标记为非拥塞链路,也被标记为拥塞链路,因此,可以确定链路
Figure BDA0001307944070000133
为非拥塞链路。
T2、通过T1,第一控制器可以确定Flow6的路径
Figure BDA0001307944070000134
中,链路
Figure BDA0001307944070000135
为非拥塞链路,则第一控制器C2根据拥塞链路判定规则(Flow6可以理解为R3中的第一数据流)中的R3可知,Flow6中至少存在一条拥塞链路,而链路
Figure BDA0001307944070000136
为非拥塞链路,因此第一控制器可以确定链路⑤为拥塞链路。
本发明实施例中,第一控制器C2确定出链路⑤为拥塞链路之后,第一控制器C2将拥塞数据流信息(包括拥塞数据流的路径和拥塞数据流的链路状态),即上述Flow6的相关信息发送给第二控制器。
S202、第二控制器获取至少两条拥塞数据流信息。
本发明实施例中,第二控制器获取至少两条数据流信息的具体方法为:第二控制器接收至少两个第二控制器发送的至少两条拥塞数据流信息,可以理解为第二控制器分别接收通信系统中的每一个第一控制器发送的至少一条拥塞数据流信息。
S203、第二控制器根据其获取的至少两条拥塞数据流信息,确定第一链路为拥塞链路。
本发明实施例中,第二控制器获取至少两条拥塞数据流信息之后,第二控制器可以根据该至少两条拥塞数据流信息,再结合拥塞链路判定规则确定第一链路为拥塞链路。
为了便于理解第二控制器确定第一链路为拥塞链路的方法,下面以示例来说明第二控制器是如何确定第一链路为拥塞链路的。
示例性的,本发明实施例中,以上述图8所示的通信系统为例,第二控制器C3接收上述第一控制器C1发送的拥塞数据流信息(记为RDS1,表示Flow1的相关信息)和第一控制器C2发送的拥塞数据流信息(记为RDS2,表示Flow6的相关信息),如表3所示为RDS1和RDS2的相关内容的示例。
表3
Figure BDA0001307944070000131
结合上述表3中的拥塞数据流信息和拥塞链路判定规则中的R2(若至少两条拥塞数据流经过第一链路,则确定第一链路为拥塞链路),可知,Flow1经过拥塞链路⑤,Flow6也经过拥塞链路⑤,而Flow1和Flow6均为拥塞数据流,因此,第二控制器可以确定在整个通信系统的网络中,链路⑤为拥塞链路。
本发明实施例提供的处理网络拥塞的方法,该通信系统中存在至少两个第一控制器和一个第二控制器时,由于该至少两个第一控制器根据各自接收的至少两条数据流信息分别确定出拥塞链路(即上述的第一链路)之后,该至少两个第一控制器可以将其各自接收的至少两条数据流信息中的拥塞数据流信息发送给通信系统中的第二控制器,该拥塞数据流信息包括至少一条拥塞数据流的路径和至少一条拥塞数据流中有链路的状态,第二控制器接收至少两个第一控制器发送的拥塞数据流信息,如此,第二控制器可以接收到至少两条拥塞数据流信息,然后第二控制器可以根据该至少两条拥塞数据流信息,确定第一链路为拥塞链路,因此,能够在不依赖网络中的交换设备的情况下,更加准确地确定整个网络中发生拥塞的链路。
上述主要从各个网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如服务器、第一控制器以及第二控制器等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明实施例可以根据上述方法示例对处理网络拥塞的装置(即第一控制器、第二控制器)等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图9示出了上述实施例中所涉及的处理网络拥塞的装置的一种可能的结构示意图,该装置为第一控制器。如图9所示,该装置可以包括:获取模块40和确定模块41。获取模块40可以用于支持第一控制器执行上述方法实施例中的S102;确定模块41可以用于支持第一控制器执行上述方法实施例中的S103(包括S103a-S103b)。可选的,如图9所示,该第一控制器还可以包括发送模块42。发送模块43可以用于支持第一控制器执行上述方法实施例中的S201。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图10示出了上述实施例中所涉及的处理网络拥塞的装置的一种可能的结构示意图,该装置为第一控制器。如图10所示,该装置可以包括:处理模块50和通信模块51。处理模块50可以用于对第一控制器的动作进行控制管理,例如,处理模块50可以用于支持第一控制器执行上述方法实施例中的S102和S103(包括S103a-S103b),和/或用于本文所描述的技术的其它过程。通信模块51可以用于支持第一控制器与其他网络实体的通信,例如通信模块51可以用于支持第一控制器执行上述方法实施例中的S201。可选的,如图10所示,该第一控制器还可以包括存储模块52,用于存储第一控制器的程序代码和数据。
其中,处理模块50可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU)、通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块51可以是收发器、收发电路或通信接口等。存储模块52可以是存储器。
当处理模块50为处理器,通信模块51为收发器,存储模块52为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是外设部件互连标准(peripheralcomponent interconnect,PCI)总线或扩展工业标准结构(extended Industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
在采用对应各个功能划分各个功能模块的情况下,图11示出了上述实施例中所涉及的处理网络拥塞的装置的一种可能的结构示意图,该装置为第二控制器。如图11所示,该装置可以包括:获取模块60和确定模块61。获取模块60可以用于支持第二控制器执行上述方法实施例中的S202;确定模块61可以用于支持第二控制器执行上述方法实施例中的S203。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图12示出了上述实施例中所涉及的处理网络拥塞的装置的一种可能的结构示意图,该装置为第二控制器。如图12所示,该装置可以包括:处理模块70和通信模块71。处理模块70可以用于对第二控制器的动作进行控制管理,例如,处理模块70可以用于支持第二控制器执行上述方法实施例中的S202和S203,和/或用于本文所描述的技术的其它过程。通信模块71可以用于支持第二控制器与其他网络实体的通信。可选的,如图12所示,该第二控制器还可以包括存储模块72,用于存储第二控制器的程序代码和数据。
其中,处理模块70可以是处理器或控制器,例如可以是CPU、通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块71可以是收发器、收发电路或通信接口等。存储模块72可以是存储器。
当处理模块70为处理器,通信模块71为收发器,存储模块72为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本发明实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种处理网络拥塞的方法,其特征在于,包括:
第一控制器获取至少两条数据流信息,所述至少两条数据流信息包括所述至少两条数据流的路径和所述至少两条数据流的状态,一条数据流的路径包括至少一条链路,一条数据流的状态包括拥塞状态或非拥塞状态;
所述第一控制器根据所述至少两条数据流的状态,确定所述至少两条数据流中的拥塞链路和非拥塞链路;
所述第一控制器根据所述拥塞链路、所述非拥塞链路以及拥塞链路判定规则确定第一链路为拥塞链路;
其中,所述拥塞链路判定规则包括:
若第一拥塞数据流经过所述第一链路,第一非拥塞数据流也经过所述第一链路,则确定所述第一链路为非拥塞链路;
若至少两条拥塞数据流经过所述第一链路,则确定所述第一链路为拥塞链路,所述第一链路为所述第一控制器标记的拥塞链路;
若第一数据流为拥塞数据流,则所述第一数据流中至少包括一条拥塞链路。
2.根据权利要求1所述的方法,其特征在于,在所述第一控制器确定第一链路为拥塞链路之后,所述方法还包括:
所述第一控制器向第二控制器发送至少一条拥塞数据流信息,以使得所述第二控制器精确确定所述第一链路为拥塞链路,所述至少一条拥塞数据流信息包括所述至少一条拥塞数据流的路径和所述至少一条拥塞数据流的链路状态,所述至少一条拥塞数据流中每一条拥塞数据流的链路状态包括拥塞状态或非拥塞状态。
3.一种处理网络拥塞的方法,其特征在于,包括:
第二控制器获取至少两条拥塞数据流信息,其中,一条拥塞数据流信息包括至少一条拥塞数据流的路径和所述至少一条拥塞数据流中所有链路的状态;
所述第二控制器根据所述至少两条拥塞数据流信息和拥塞链路判定原则,确定第一链路为拥塞链路;
其中,所述拥塞链路判定原则包括:
若至少两条拥塞数据流经过所述第一链路,则所述第二控制器确定所述第一链路为拥塞链路,所述第一链路为至少两个第一控制器确定的拥塞链路。
4.一种处理网络拥塞的装置,其特征在于,所述装置为第一控制器,所述装置包括获取模块和确定模块;
所述获取模块,用于获取至少两条数据流信息,所述至少两条数据流信息包括所述至少两条数据流的路径和所述至少两条数据流的状态,一条数据流的路径包括至少一条链路,一条数据流的状态包括拥塞状态或非拥塞状态;
所述确定模块,用于根据所述获取模块获取的所述至少两条数据流的状态,确定所述至少两条数据流中的拥塞链路和非拥塞链路,并且根据所述拥塞链路、所述非拥塞链路以及拥塞链路判定规则确定第一链路为拥塞链路;
其中,所述拥塞链路判定规则包括:
若第一拥塞数据流经过所述第一链路,第一非拥塞数据流也经过所述第一链路,则确定所述第一链路为非拥塞链路;
若至少两条拥塞数据流经过所述第一链路,则确定所述第一链路为拥塞链路,所述第一链路为所述第一控制器标记的拥塞链路;
若第一数据流为拥塞数据流,则所述第一数据流中至少包括一条拥塞链路。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括发送模块;
所述发送模块,用于在所述确定模块确定第一链路为拥塞链路之后,向第二控制器发送至少一条拥塞数据流信息,以使得所述第二控制器精确确定所述第一链路为拥塞链路,所述至少一条拥塞数据流信息包括所述至少一条拥塞数据流的路径和所述至少一条拥塞数据流的链路状态,所述至少一条拥塞数据流中每一条拥塞数据流的链路状态包括拥塞状态或非拥塞状态。
6.一种处理网络拥塞的装置,其特征在于,所述装置为第二控制器,所述装置包括获取模块和确定模块;
所述获取模块,用于获取至少两条拥塞数据流信息,其中,一条拥塞数据流信息包括至少一条拥塞数据流的路径和所述至少一条拥塞数据流中所有链路的状态;
所述确定模块,用于根据所述获取模块获取的所述至少两条拥塞数据流信息和拥塞链路判定原则,确定第一链路为拥塞链路;
其中,所述拥塞链路判定原则包括:
若至少两条拥塞数据流经过所述第一链路,则所述第二控制器确定所述第一链路为拥塞链路,所述第一链路为至少两个第一控制器确定的拥塞链路。
7.一种处理网络拥塞的装置,其特征在于,所述装置为第一控制器,所述装置包括处理器和与所述处理器耦合连接的存储器;
所述存储器用于存储计算机指令,当所述装置运行时,所述处理器执行所述存储器存储的所述计算机指令,以使得所述装置执行如权利要求1或2所述的处理网络拥塞的方法。
8.一种处理网络拥塞的装置,其特征在于,所述装置为第二控制器,所述装置包括处理器和与所述处理器耦合连接的存储器;
所述存储器用于存储计算机指令,当所述装置运行时,所述处理器执行所述存储器存储的所述计算机指令,以使得所述装置执行如权利要求3所述的处理网络拥塞的方法。
9.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在第一控制器上运行时,使得所述第一控制器执行如权利要求1或2所述的处理网络拥塞的方法。
10.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在第二控制器上运行时,使得所述第二控制器执行如权利要求3所述的处理网络拥塞的方法。
11.一种通信系统,其特征在于,包括至少两个服务器、至少一个交换设备、如权利要求4-5、7任意一项所述的装置,以及如权利要求6或8所述的装置。
CN201710392961.5A 2017-05-27 2017-05-27 一种处理网络拥塞的方法、装置及系统 Active CN108933738B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710392961.5A CN108933738B (zh) 2017-05-27 2017-05-27 一种处理网络拥塞的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710392961.5A CN108933738B (zh) 2017-05-27 2017-05-27 一种处理网络拥塞的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN108933738A CN108933738A (zh) 2018-12-04
CN108933738B true CN108933738B (zh) 2021-09-17

Family

ID=64448129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710392961.5A Active CN108933738B (zh) 2017-05-27 2017-05-27 一种处理网络拥塞的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN108933738B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111050341B (zh) * 2019-12-24 2022-02-22 展讯通信(上海)有限公司 双连接场景下空口拥塞状态的判定方法及装置
US11838209B2 (en) * 2021-06-01 2023-12-05 Mellanox Technologies, Ltd. Cardinality-based traffic control

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375232A (zh) * 2015-07-24 2017-02-01 华为技术有限公司 一种报文传输方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020089934A1 (en) * 2001-01-09 2002-07-11 Urrahx Corporation System and method for identifying congested links in computer network
CN106470116B (zh) * 2015-08-20 2019-06-25 中国移动通信集团公司 一种网络故障检测与恢复方法及装置
CN105871738B (zh) * 2016-05-04 2019-03-19 华为技术有限公司 一种大数据业务中基于流调度的链路拥塞确定方法及装置
CN106411766A (zh) * 2016-09-30 2017-02-15 赛特斯信息科技股份有限公司 基于sdn的流量调度系统及方法
CN106533960B (zh) * 2016-12-23 2019-07-26 重庆邮电大学 一种基于Fat-Tree结构的数据中心网络路由方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375232A (zh) * 2015-07-24 2017-02-01 华为技术有限公司 一种报文传输方法及系统

Also Published As

Publication number Publication date
CN108933738A (zh) 2018-12-04

Similar Documents

Publication Publication Date Title
CN107342952B (zh) 业务链路选择控制方法以及设备
WO2017039606A1 (en) Control channel usage monitoring in a software-defined network
US9455916B2 (en) Method and system for changing path and controller thereof
US9548930B1 (en) Method for improving link selection at the borders of SDN and traditional networks
CN103581042B (zh) 一种数据包发送的方法和设备
CN106533973B (zh) 分发业务消息的方法、设备和系统
US9025439B2 (en) Method and system to enable re-routing for home networks upon connectivity failure
KR20130009863A (ko) 프레임 전송의 적어도 부분적인 중단
US10944667B2 (en) Loop check packets
CN109691031B (zh) 业务报文传输方法及节点设备
WO2016048390A1 (en) Link aggregation configuration for a node in a software-defined network
CN115720384A (zh) 连接建立方法及相关设备
CN107786448B (zh) 建立业务流的转发路径的方法和装置
CN108933738B (zh) 一种处理网络拥塞的方法、装置及系统
US20180167337A1 (en) Application of network flow rule action based on packet counter
CN107547430A (zh) 一种报文发送方法及装置
CN108696427A (zh) 一种数据传输方法及装置
KR101388408B1 (ko) 복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신을 용이하게 하기 위한 방법 및 시스템
CN113364678A (zh) 数据传输系统、方法、装置、电子设备和计算机可读介质
CN110278156A (zh) 组播路由处理方法、网络设备以及路由反射器
US9692685B2 (en) Heterogeneous network system, network apparatus, and rendezvous path selection method thereof
US11240164B2 (en) Method for obtaining path information of data packet and device
CN108322402B (zh) 报文处理方法、设备及系统
CN109067666B (zh) 一种报文传输的方法及装置
KR102168177B1 (ko) 네트워크 장치 및 이를 이용한 패킷 처리 방법

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
GR01 Patent grant
GR01 Patent grant