CN108650189A - 一种流量平衡控制方法及装置 - Google Patents
一种流量平衡控制方法及装置 Download PDFInfo
- Publication number
- CN108650189A CN108650189A CN201810288310.6A CN201810288310A CN108650189A CN 108650189 A CN108650189 A CN 108650189A CN 201810288310 A CN201810288310 A CN 201810288310A CN 108650189 A CN108650189 A CN 108650189A
- Authority
- CN
- China
- Prior art keywords
- flow
- stream
- flow equilibrium
- control channel
- data packet
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种流量平衡控制方法及装置,包括:建立流与流量平衡控制通道的一一映射关系;当所述流量平衡控制通道处于无数据传输状态的时间超过设定的休眠时间时,解除所述流量平衡控制通道与所对应流的映射关系;将数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道,以对所述数据包进行流量平衡控制。该方法通过动态共享的方法实现了对每流进行流量平衡控制的功能,对网络中大量数据流以不同的速率流量平衡控制,并且在多条流之间共享流量平衡控制通道.能够处理更多的流,因此对流量平衡控制效果更优.保障业务系统的稳定、可靠运行。
Description
技术领域
本发明涉及流量平衡控制技术领域,特别是涉及一种流量平衡控制方法及装置。
背景技术
目前网络中的流量平衡控制技术仍旧是对所有流量不加区分地以统一速率流量平衡控制,从而导致网络带宽不能够得到充分利用,造成资源的浪费;同时,由于当前网络中流的数目非常庞大,如果对每条流独立地进行流量平衡控制,则需要为每一条进入网络的流分配一个流量平衡控制通道,这将会耗费大量的硬件资源空间,且随着流数的增多,硬件消耗线性增加,可扩展性较差.此外,多个流量平衡控制通道输出队列的管理与调度,进一步增加了硬件设计的复杂度,这就导致了目前网络中很难实现每流流量平衡控制的功能,因此迫切需要一种高效的流量平衡控制方案来有效地解决这一问题。
发明内容
针对现有技术的不足,本发明提供了一种流量平衡控制方法,能够更高效地利用流量平衡控制通道。
第一方面,提供一种流量平衡控制方法,包括:
建立流与流量平衡控制通道的一一映射关系;
当所述流量平衡控制通道处于无数据传输状态的时间超过设定的休眠时间时,解除所述流量平衡控制通道与所对应流的映射关系;
将数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道,以对所述数据包进行流量平衡控制。
结合第一方面,在第一方面的第一种可能的实现方式中,所述将数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道包括:
根据数据包的流标号查找所述数据包所属的流;
查找并判断所述数据包所属流与所述流量平衡控制通道是否存在映射关系:
是,则将所述数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道;
否,则判断是否存在空闲流量平衡控制通道:
是,则随机选取未建立映射关系的流量平衡控制通道与所述数据包所属流建立映射关系,同时将所述映射关系更新至所述活动流记录表,并将所述数据包分发至与所述数据包所属流建立了映射关系的流量平衡控制通道;
否,则将所述数据包和与所述数据包同一流下的数据包分发至以统一的速率对流量平衡控制的共享流量平衡控制通道。
结合第一方面及其上述实现方式,在第一方面的第二种可能的实现方式中,所述查找并判断所述数据包所属流与所述流量平衡控制通道是否存在映射关系:
利用二分查找方法根据所述数据包的流标号查找与所述数据包所属流具有映射关系的流量平衡控制通道。
结合第一方面及其上述实现方式,在第一方面的第三种可能的实现方式中,查找并判断所述流是否具有对应的流量平衡控制参数:
是,则将所述流分配至与所述流具有映射关系的流量平衡控制通道,并按照所述流量平衡控制参数传输;
否,则转发所述流的数据包。
结合第一方面及其上述实现方式,在第一方面的第四种可能的实现方式中,在流量平衡控制完成后,将所述数据包暂存在若干输出队列中等待输出;
利用轮询设计方法询问所述输出队列,并将非空输出队列加入到输出队列链表;
按照所述输出队列链表中输出队列的先后顺序,发送所述输出队列中暂存的数据。
第二方面,提供一种流量平衡控制装置,包括:
映射单元,配置用于建立流与流量平衡控制通道的一一映射关系,并将所述映射关系写入活动流记录表;
管理单元,配置用于当所述流量平衡控制通道处于无数据传输状态的时间超过设定的休眠时间时,解除所述流量平衡控制通道与所对应流的映射关系,并从所述活动流记录表中删除所述流与所述流量平衡控制通道的映射关系
流控单元,配置用于将数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道,以对所述数据包进行流量平衡控制。
结合第二方面,在第二方面的第一种可能的实现方式中,所述流控单元包括:
查找子单元,配置用于根据数据包的流标号查找所述数据包所属的流;
映射子单元,配置用于查找并判断所述数据包所属流与所述流量平衡控制通道是否存在映射关系;
分发子单元,配置用于将所述数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道;
判断子单元,配置用于判断是否存在空闲流量平衡控制通道;
匹配子单元,配置用于随机选取未建立映射关系的流量平衡控制通道与所述数据包所属流建立映射关系,同时将所述映射关系更新至所述活动流记录表,并将所述数据包分发至与所述数据包所属流建立了映射关系的流量平衡控制通道;
共享子单元,配置用于将所述数据包和与所述数据包同一流下的数据包分发至以统一的速率对流量平衡控制的共享流量平衡控制通道。
结合第二方面及其上述实现方式,在第二方面的第二种可能的实现方式中,所述映射子单元包括:
查找模块,配置用于利用二分查找方法根据所述数据包的流标号查找与所述数据包所属流具有映射关系的流量平衡控制通道。
结合第二方面及其上述实现方式,在第二方面的第三种可能的实现方式中,所述装置还包括:
参数子单元,配置用于查找并判断所述流是否具有对应的流量平衡控制参数;
分配子单元,配置用于将所述流分配至与所述流具有映射关系的流量平衡控制通道,并按照所述流量平衡控制参数传输;
转发子单元,配置用于转发所述流的数据包。
结合第二方面及其上述实现方式,在第二方面的第三种可能的实现方式中,所述装置还包括:
暂存子单元,配置用于在流量平衡控制完成后,将所述数据包暂存在若干输出队列中等待输出;
询问子单元,配置用于利用轮询设计方法询问所述输出队列,并将非空输出队列加入到输出队列链表;
发送子单元,配置用于按照所述输出队列链表中输出队列的先后顺序,发送所述输出队列中暂存的数据。
第三方面,提供一种受控终端,包括:处理器;用于存储处理器的执行指令的存储器;其中,所述处理器被配置为第一方面或第一方面任一种可能的实现方式。
因此,本申请提供的流量平衡控制方法能够高效快速地为流分配流量平衡控制通道,通过动态共享的方法实现了对每流进行流量平衡控制的功能,对网络中大量数据流以不同的速率流量平衡控制,并且在多条流之间共享流量平衡控制通道.能够处理更多的流,因此对流量平衡控制效果更优.保障业务系统的稳定、可靠运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例的方法的示意性流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本申请中出现的关键术语进行解释。
QoS,Quality of Service,服务质量指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。
图1是本申请一个实施例的方法的示意性流程图。
如图1所示,该方法100包括:
步骤110,建立流与流量平衡控制通道的一一映射关系;
步骤120,当所述流量平衡控制通道处于无数据传输状态的时间超过设定的休眠时间时,解除所述流量平衡控制通道与所对应流的映射关系;
步骤130,将数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道,以对所述数据包进行流量平衡控制。
可选地,作为本申请一个实施例,所述将数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道包括:
根据数据包的流标号查找所述数据包所属的流;
查找并判断所述数据包所属流与所述流量平衡控制通道是否存在映射关系:
是,则将所述数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道;
否,则判断是否存在空闲流量平衡控制通道:
是,则随机选取未建立映射关系的流量平衡控制通道与所述数据包所属流建立映射关系,同时将所述映射关系更新至所述活动流记录表,并将所述数据包分发至与所述数据包所属流建立了映射关系的流量平衡控制通道;
否,则将所述数据包和与所述数据包同一流下的数据包分发至以统一的速率对流量平衡控制的共享流量平衡控制通道。
本发明旨在硬件资源有限的情况下,以不影响其他流为前提,仅对突发传输的流进行独立的速率控制以实现每流流量平衡控制,为网络提供更好的QoS保证。
在数据中心应用场景中,网络中某个时间段内并发传输的流数目往往只有几百条,而且更进一步,在这几百条流中大多数的流是无需流量平衡控制操作而可以直接进行转发的,仅仅在网络发生拥塞时,需要控制某些突发流的速率,而保证大多数的流按照正常速率转发.所以,当网络中的一条流由“活动”状态变为“休眠”状态时,占用的流量平衡控制通道中也将暂停数据包的传输,转为空闲状态,此时则可以通过释放该通道,供其他新进入网络的流使用,而不用为流重新开辟流量平衡控制通道,从而使得多条流分时共享有限的硬件流量平衡控制通道资源。考虑到在某段时间内,网络中同时需要流量平衡控制的流的数量会超过流量平衡控制通道的数量,由于硬件资源的限制,一段时间内只能保证有N条流独立地流量平衡控制其中N是流量平衡控制通道的数量,不能确保每条流对应一个流量平衡控制通道,有些流被分到共享流量平衡控制通道是不可避免的.对于某条流f,在一段时间内,如果流量平衡控制通道数不够,将会被分到共享通道流量平衡控制,当有流量平衡控制通道被其他流释放时,所述方法又可为其分配独立的流量平衡控制通道。
并存的突发流,即需要同时流量平衡控制的流仅占网络总流量的少部分,在不同的时段t1和t2需要对不同的流流量平衡控制,通过动态调度和分时共享,使得有限的流量平衡控制通道为远超过流量平衡控制通道数目的流进行流量平衡控制。
本申请实施例基于软硬件相结合的结构,在软件层维护一张软件流量平衡控制表以及一个用来实时监测网络中流的速率并与软件流量平衡控制表中预先设置的流量平衡控制速率进行比较的速率选择模块;硬件层维护一张硬件流表和每流流量平衡控制表,若干流量平衡控制通道以及从流量平衡控制通道中轮询读取数据包的输出仲裁模块。
本发明每流流量平衡控制设计的核心思想即前言所述的动态流量平衡控制共享机制,主要体现在硬件层面的设计上,请参考图1,以下为对硬件层面设计的内容:
硬件通过数据包的所属的流标号Flow_id识别出某条流,在其第一个包进入网络时,所述方法为其分配一个新的流量平衡控制通道,后继到达的属于该流的数据包都被分配到同一通道;
当一个流量平衡控制通道在一段时间Δt之内没有数据传输,则说明占用该流量平衡控制通道的流已经不再有效,即变为“休眠”状态,检测到该通道超时,将其解除占用并加入空闲通道队列,等待分配给新加入的流;
而如果该流在一段时间之后重新恢复活动状态,则为其重新分配另外一个空闲的流量平衡控制通道;
当所有流量平衡控制通道都被占用时,后进入网络的流则被分配到共享流量平衡控制通道中以统一的速率流量平衡控制,直到有流量平衡控制通道被释放;
无需流量平衡控制的流被分到非流量平衡控制通道执行正常转发处理。
具体步骤如下:
查找数据包所属的流和与数据包所属流具有映射关系的流量平衡控制通道:
1.为每流配置一个流量平衡控制通道,维护一张由流量平衡控制通道号0,1,…,n-1到流标号的直接映射表,即活动流记录表;流量平衡控制表中记载有流量平衡控制表项,即相应流的流量平衡控制参数。
2.对每个待处理的数据包,根据其携带的所属流标号,查找与该数据包所属流具有映射关系的流量平衡控制通道。
在步骤2中,采用二分查找的方式,根据流标号查找数据包对应的流量平衡控制通道,具体查找方法为:流量平衡控制表中数字表示流量平衡控制表的表项编号,活动流链头列表示匹配了该流量平衡控制表项记载有流量平衡控制参数的活动流链表头在活动流记录表中的编号;右侧活动流记录表中,流量平衡控制通道号列表示流量平衡控制通道的编号,流标号列表示分配到该流量平衡控制通道限速的活动流标号,后继空闲流量平衡控制通道列是链表指针,指向匹配同一流量平衡控制表项的下一条活动流.因为所述方法可以使多条流共享一条流量平衡控制表项,流量平衡控制表为每一个表项维护一个链表,链式存储匹配该流量平衡控制表项的所有活动流对应的流量平衡控制通道号,在流量平衡控制表项记录链头;在活动流记录表中将对应同一流量平衡控制表项的所有流量平衡控制通道链接,那么每数据包进入之后,先直接映射查找流量平衡控制表,再由链头开始顺序查找对应的链表,直至找到匹配的流标号或至链尾,结束返回查找结果,相比于顺序查找方式大大降低了时间复杂度。
根据步骤1中的查找结果,判断是否已为数据包所属流分配了流量平衡控制通道,如果是,则直接将其转发到流标号对应的流量平衡控制通道传输;否则说明其为一条新流的第1个数据包,为之分配空闲的流量平衡控制通道,并将新的映射关系加入活动流记录表中,后续到达的属于该流的数据包则能匹配该项,转发到相应流量平衡控制通道。
将数据包分发至与其相对应的流量平衡控制通道后,流量平衡控制通道对数据包进行流量控制,具体方法如下:
软件层通过写寄存器存储部件,暂存指令、数据和地址信号对硬件表进行配置,通过读寄存器信号读取硬件寄存器的信息,统计分析流量平衡控制流的数量、时延等。软件层实时监测网络流量,对每一条进入网络的流,在软件层面计算其速率并查找软件流表,匹配该流对应的表项,该表项中设置若干流量平衡控制参数,在其中通过比较得到小于流当前速率的最大速率值,生成一条硬件流表项以及一条流量平衡控制表项,这两条表项通过写寄存器下发到硬件表上。
在硬件中匹配了的流,根据其指令域中的ID查找硬件每流流量平衡控制表,得到其对应的流量平衡控制参数,接着该流被分配到与其对应的流量平衡控制通道,以查找到的速率进行传输;如果软件层没有为流配置流量平衡控制信息,则该流无需流量平衡控制,直接转发。
当查找不到与数据包的流标号相匹配的流量平衡控制通道,且无空闲的流量平衡控制通道时,则将数据包所属流下的所有数据包分配到共享流量平衡控制通道中以统一的速率流量平衡控制,直到有流量平衡控制通道被释放。其中,流量平衡控制通道被释放指而当某个流量平衡控制通道在一段时间Δt之内都没有数据发送,那么说明其对应的流已经传输结束,此时可以解除该流量平衡控制通道与对应流的映射关系,同时删除其注册信息。
从流量平衡控制通道的输出队列仲裁取出数据,由轮询设计方法选择一路到输出队列,从相应的输出端口转发:
流量平衡控制完成后暂存在相应的n个输出队列中,而输出只能处理一路数据,因此需要在这些队列中执行调度仲裁。
采用非空队列链表机制,用轮询设计方法询问队列,当有队列非空时,立即将其加入到输出队列链表中,等待排在它之前的输出队列发送完数据之后,就可以立即从该输出队列中取出数据并发送,提高了输出效率。
此外,在硬件资源足够的情况下,流水处理技术能够显著地提高系统的效率.将包的处理过程分成两段流水线,在传输一个数据包的同时,进行下一个包的限速通道号的分配处理工作,降低数据包在该模块处理时的总时延以提高效率,具体方法如下:
状态机1和状态机2分别为流水阶段1和2,即限速通道的分配与数据包的传输.在状态机2启动之前,先检测当前需要输出的数据包是否已经分配好了正确的限速通道,如果是,则直接将数据包传输给下一级模块,否则等待上述过程即状态机1完成之后才可启动数据的传输;在一个数据包开始传输时,如果输入队列非空,则说明有新的包要处理,启动状态机1,为下一个包的按时传输做好准备;每个流水段完成一次数据包的处理之后,都需要检测启动条件是否成立,如果是,则进行下一次处理,否则等待触发信号。
所述方法中设置多个限速通道,如124个限速通道,对应128个输出队列,包括一个共享限速队列和一个非限速的队列,输出管理模块一次只能从一个队列读取数据,继而转发到相应端口.
所述方法中有多个输出队列,而且由于进行了速率控制而导致多个队列驻留数据包.按照轮询各队列控制数据包输出的算法,造成部分输出队列“空等”,从而加大了数据包的时延,尤其是对无需限速的数据包.在本发明中,通过设置“非空队列链”有效地解决这一问题.对于有数据包的队列,维护一个链表,当有队列非空时,将其加入链尾,当从一个队列中取出数据包后,将其从链头删除,继续从其后续非空队列中读取数据包。
对于128个限速通道的使用,输出队列的有效调度可提高流量平衡的效率,为流提供更可靠的时延保证。
本实施例提供一种流量平衡控制装置,包括:
映射单元,配置用于建立流与流量平衡控制通道的一一映射关系,并将所述映射关系写入活动流记录表;
管理单元,配置用于当所述流量平衡控制通道处于无数据传输状态的时间超过设定的休眠时间时,解除所述流量平衡控制通道与所对应流的映射关系,并从所述活动流记录表中删除所述流与所述流量平衡控制通道的映射关系
流控单元,配置用于将数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道,以对所述数据包进行流量平衡控制。
其中,流控单元包括:
查找子单元,配置用于根据数据包的流标号查找所述数据包所属的流;
映射子单元,配置用于查找并判断所述数据包所属流与所述流量平衡控制通道是否存在映射关系;
分发子单元,配置用于将所述数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道;
判断子单元,配置用于判断是否存在空闲流量平衡控制通道;
匹配子单元,配置用于随机选取未建立映射关系的流量平衡控制通道与所述数据包所属流建立映射关系,同时将所述映射关系更新至所述活动流记录表,并将所述数据包分发至与所述数据包所属流建立了映射关系的流量平衡控制通道;
共享子单元,配置用于将所述数据包分发至以统一的速率对流量平衡控制的共享流量平衡控制通道。
映射子单元包括:
查找模块,配置用于利用二分查找方法根据所述数据包的流标号查找与所述数据包所属流具有映射关系的流量平衡控制通道。
所述装置还包括:
参数子单元,配置用于查找并判断所述流是否具有对应的流量平衡控制参数;
分配子单元,配置用于将所述流分配至与所述流具有映射关系的流量平衡控制通道,并按照所述流量平衡控制参数传输;
转发子单元,配置用于转发所述流的数据包。
所述装置还包括:
暂存子单元,配置用于在流量平衡控制完成后,将所述数据包暂存在若干输出队列中等待输出;
询问子单元,配置用于利用轮询设计方法询问所述输出队列,并将非空输出队列加入到输出队列链表;
发送子单元,配置用于按照所述输出队列链表中输出队列的先后顺序,发送所述输出队列中暂存的数据。
本实施例提供一种受控终端,包括:处理器;用于存储处理器的执行指令的存储器;其中,所述处理器被配置为上述实施例提供的任一种可能的实现方式。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种流量平衡控制方法,其特征在于,包括:
建立流与流量平衡控制通道的一一映射关系;
当所述流量平衡控制通道处于无数据传输状态的时间超过设定的休眠时间时,解除所述流量平衡控制通道与所对应流的映射关系;
将数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道,以对所述数据包进行流量平衡控制。
2.根据权利要求1所述的方法,其特征在于,所述将数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道包括:
根据数据包的流标号查找所述数据包所属的流;
查找并判断所述数据包所属流与所述流量平衡控制通道是否存在映射关系:
是,则将所述数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道;
否,则判断是否存在空闲流量平衡控制通道:
是,则随机选取未建立映射关系的流量平衡控制通道与所述数据包所属流建立映射关系,同时将所述映射关系更新至所述活动流记录表,并将所述数据包分发至与所述数据包所属流建立了映射关系的流量平衡控制通道;
否,则将所述数据包和与所述数据包同一流下的数据包分发至以统一的速率对流量平衡控制的共享流量平衡控制通道。
3.根据权利要求2所述的方法,其特征在于,所述查找并判断所述数据包所属流与所述流量平衡控制通道是否存在映射关系:
利用二分查找方法根据所述数据包的流标号查找与所述数据包所属流具有映射关系的流量平衡控制通道。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
查找并判断所述流是否具有对应的流量平衡控制参数:
是,则将所述流分配至与所述流具有映射关系的流量平衡控制通道,并按照所述流量平衡控制参数传输;
否,则转发所述流的数据包。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在流量平衡控制完成后,将所述数据包暂存在若干输出队列中等待输出;
利用轮询设计方法询问所述输出队列,并将非空输出队列加入到输出队列链表;
按照所述输出队列链表中输出队列的先后顺序,发送所述输出队列中暂存的数据。
6.一种流量平衡控制装置,其特征在于,包括:
映射单元,配置用于建立流与流量平衡控制通道的一一映射关系;
管理单元,配置用于当所述流量平衡控制通道处于无数据传输状态的时间超过设定的休眠时间时,解除所述流量平衡控制通道与所对应流的映射关系;
流控单元,配置用于将数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道,以对所述数据包进行流量平衡控制。
7.根据权利要求6所述的装置,其特征在于,所述流控单元包括:
查找子单元,配置用于根据数据包的流标号查找所述数据包所属的流;
映射子单元,配置用于查找并判断所述数据包所属流与所述流量平衡控制通道是否存在映射关系;
分发子单元,配置用于将所述数据包分发至与所述数据包所属流具有映射关系的流量平衡控制通道;
判断子单元,配置用于判断是否存在空闲流量平衡控制通道;
匹配子单元,配置用于随机选取未建立映射关系的流量平衡控制通道与所述数据包所属流建立映射关系,同时将所述映射关系更新至所述活动流记录表,并将所述数据包分发至与所述数据包所属流建立了映射关系的流量平衡控制通道;
共享子单元,配置用于将所述数据包和与所述数据包同一流下的数据包分发至以统一的速率对流量平衡控制的共享流量平衡控制通道。
8.根据权利要求7所述的装置,其特征在于,所述映射子单元包括:
查找模块,配置用于利用二分查找方法根据所述数据包的流标号查找与所述数据包所属流具有映射关系的流量平衡控制通道。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
参数子单元,配置用于查找并判断所述流是否具有对应的流量平衡控制参数;
分配子单元,配置用于将所述流分配至与所述流具有映射关系的流量平衡控制通道,并按照所述流量平衡控制参数传输;
转发子单元,配置用于转发所述流的数据包。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
暂存子单元,配置用于在流量平衡控制完成后,将所述数据包暂存在若干输出队列中等待输出;
询问子单元,配置用于利用轮询设计方法询问所述输出队列,并将非空输出队列加入到输出队列链表;
发送子单元,配置用于按照所述输出队列链表中输出队列的先后顺序,发送所述输出队列中暂存的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810288310.6A CN108650189A (zh) | 2018-04-03 | 2018-04-03 | 一种流量平衡控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810288310.6A CN108650189A (zh) | 2018-04-03 | 2018-04-03 | 一种流量平衡控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108650189A true CN108650189A (zh) | 2018-10-12 |
Family
ID=63745502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810288310.6A Pending CN108650189A (zh) | 2018-04-03 | 2018-04-03 | 一种流量平衡控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108650189A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009646A (zh) * | 2006-12-22 | 2007-08-01 | 清华大学 | 按每流排队的物理队列动态共享装置 |
CN101009645A (zh) * | 2006-12-22 | 2007-08-01 | 清华大学 | 基于cam的宽带网络业务流按每流排队的可扩展的装置 |
CN104994033A (zh) * | 2015-05-13 | 2015-10-21 | 南京航空航天大学 | 一种资源动态管理的SDN网络QoS保障方法 |
-
2018
- 2018-04-03 CN CN201810288310.6A patent/CN108650189A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009646A (zh) * | 2006-12-22 | 2007-08-01 | 清华大学 | 按每流排队的物理队列动态共享装置 |
CN101009645A (zh) * | 2006-12-22 | 2007-08-01 | 清华大学 | 基于cam的宽带网络业务流按每流排队的可扩展的装置 |
CN104994033A (zh) * | 2015-05-13 | 2015-10-21 | 南京航空航天大学 | 一种资源动态管理的SDN网络QoS保障方法 |
Non-Patent Citations (1)
Title |
---|
杨骥 等: "OpenFlow交换机动态共享限速机制的研究", 《计算机学报》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799764B2 (en) | System and method for facilitating efficient packet injection into an output buffer in a network interface controller (NIC) | |
CN101227402B (zh) | 聚合链路流量分担方法及装置 | |
US5872769A (en) | Linked list structures for multiple levels of control in an ATM switch | |
US9602436B2 (en) | Switching device | |
US7995472B2 (en) | Flexible network processor scheduler and data flow | |
CN109684269B (zh) | 一种pcie交换芯片内核及工作方法 | |
JPH08265270A (ja) | 転送路割り当てシステム | |
CN101199168A (zh) | 监控通信链路的队列 | |
EP1045558A2 (en) | Very wide memory TDM switching system | |
US20230275832A1 (en) | Networking processor and network device | |
CN105794161A (zh) | 用于飞行器的数据通信网络 | |
US6904046B2 (en) | Self-route multi-memory packet switch adapted to have an expandable number of input/output ports | |
US8040907B2 (en) | Switching method | |
US6819675B2 (en) | Self-route multi-memory expandable packet switch with overflow processing means | |
CN104104617A (zh) | 一种报文仲裁方法及装置 | |
CN103827836A (zh) | 存储数据的方法和装置 | |
CN116627891A (zh) | 一种软件可控的片上网络动态信用管理装置、系统及方法 | |
EP0839422B1 (en) | Linked-list structures for multiple levels of control in an atm switch | |
CN108650189A (zh) | 一种流量平衡控制方法及装置 | |
US20030147349A1 (en) | Communications systems and methods utilizing a device that performs per-service queuing | |
JPWO2002065709A1 (ja) | ネットワーク・スイッチング装置 | |
US6212181B1 (en) | Method for using the departure queue memory bandwidth to support additional cell arrivals in an ATM switch | |
US7142515B2 (en) | Expandable self-route multi-memory packet switch with a configurable multicast mechanism | |
US20050213925A1 (en) | Fiber channel switching system | |
CN113806245B (zh) | 一种根据出口类型自动分配缓存地址的装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181012 |