CN103795648A - 一种队列调度方法、装置及系统 - Google Patents
一种队列调度方法、装置及系统 Download PDFInfo
- Publication number
- CN103795648A CN103795648A CN201210422828.7A CN201210422828A CN103795648A CN 103795648 A CN103795648 A CN 103795648A CN 201210422828 A CN201210422828 A CN 201210422828A CN 103795648 A CN103795648 A CN 103795648A
- Authority
- CN
- China
- Prior art keywords
- queue
- message
- sub
- forwarding
- unit
- 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 57
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000005516 engineering process Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 8
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 241001522296 Erithacus rubecula Species 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- 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
-
- 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/17—Interaction among intermediate nodes, e.g. hop by hop
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/621—Individual queue per connection or flow, e.g. per VC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
为了解决当报文转发量过大时当前技术存在的网络堵塞问题,本发明提供了一种队列调度方法、装置及系统。该装置包括:用于在队列中设置至少一个子队列的设置单元,用于接收报文并转交归队单元进行分队处理的接收单元,用于获取报文的下一跳地址并将该报文增加到与其下一跳地址对应子队列中的归队单元及用于转发报文的转发单元。本发明通过将报文归队到与其下一跳地址对应的子队列中,实现了根据报文下一跳地址归队的目的;在报文转发时,仅需读取一次子队列的目的地址,不再需要逐个读取其报文的目的地址,就可以实现子队列中报文的转发,减轻了路由器的工作负担,实现了一次处理即可转发多个报文的功能,提高了路由器的转发效率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种队列调度方法、装置及系统。
背景技术
当前网络处理的数据量越来越大,网路堵塞极为常见,堵塞使用户不能及时获得资源,是造成服务性能下降的源头。网络发生拥塞时必须对其进行管理和控制,常见方法是使用队列技术。
现有排队技术一般是使用优先级SP、加权循环WRR、查分加权循环DWRR等技术,或者其中两者结合在一起使用;但是,在现有技术中,路由器是以单个报文为单位进行转发的。由于路由器对一个报文或数据包的处理过程一般包括分类、转发等阶段,然后将每个数据包逐个修改并封装成二层帧信息后发送到该报文的目的地址,在这个过程中,路由器需要进行各模块的功能转换和功能恢复处理,这是需要一个时间的;因为上述的原因,以单个报文为转发单位的队列调度技术,就会存在当报文转发量过大时,导致路由器功能切换耗时过大,进一步引发网络接口堵塞的问题。
随着网络技术日益发展,报文转发量过大的现象经常发生,如何解决报文转发量过大造成的网络堵塞是本领域的技术人员亟待解决的技术问题。
发明内容
为了解决当前队列调度技术因进行单个报文转发所存在的路由器功能切换频繁造成的转发量过大时网络堵塞的问题,本发明提供了一种队列调度方法、装置及系统。
本发明提供了一种队列调度方法,应用于队列包括至少一个子队列时,报文的归队及转发,在一个实施例中,该方法包括归队步骤和转发步骤;其中,归队步骤包括:
接收报文;
获取该报文的下一跳地址;
将该报文增加到与其下一跳地址对应的子队列中。
进一步的,上述方法在获取报文的下一跳地址之后还包括:对报文进行报文参数修改的步骤;报文参数为该报文头部字段参数中的一种或多种。
进一步的,上述方法还包括在子队列中设置用于携带该子队列中报文数目及报文总长度信息的标头的步骤;将报文增加到与其下一跳地址对应的子队列中的具体步骤为:
提取子队列的标头;
更新标头携带的报文数目及报文总长度信息;
将报文增加到子队列。
进一步的,上述方法中的转发步骤包括:
选择一个转发的子队列;
获取子队列的目的地址;
将该子队列中的报文发送到其目的地址对应的设备。
进一步的,当队列包括至少两个子队列时,上述的队列调度方法还包括:在进行子队列转发的同时,对新接收到的报文执行归队处理。
进一步的,上述方法中的转发步骤是将子队列中的所有报文转发到其目的地址对应的设备。
进一步的,上述方法还包括设置子队列优先级的步骤;在转发步骤中,优先选择优先级高的子队列。
为了应用本发明提供的队列调度方法,本发明也提供了一个队列调度装置;在一个实施例中,该装置包括:设置单元、接收单元、归队单元及转发单元;其中,
设置单元用于在队列中设置至少一个子队列;
接收单元用于接收报文,并转交归队单元进行分队处理;
归队单元用于获取报文的下一跳地址,并将该报文增加到与其下一跳地址对应的子队列中;
转发单元用于转发报文。
在一个实施例中,上述实施例中的转发单元还用于选择一个转发的子队列进行转发处理,获取子队列的目的信息,并将该子队列中的报文发送到其目的信息对应的设备。
在一个实施例中,在上述实施例中,当队列包括至少两个子队列,且转发单元在转发子队列时,归队单元还用于对新接收到的报文执行归队处理。
同时,本发明也提供的一种队列调度系统,在一个实施例中,该队列调度系统包括至少一个报文发送装置、至少一个报文接收装置,及至少一个上述实施例中的队列调度装置;队列调度装置用于接收报文发送装置发送的报文,并将报文转发到报文接收装置。
通过本发明的实施,提供了一种新的队列调度技术,该技术在报文排队阶段通过将报文归队到与该报文下一跳地址对应的子队列中,实现了根据报文下一跳地址分类归队的目的,使得在一个子队列中仅存在与该子队列的目的信息匹配的报文;
进一步的,在报文转发时,仅需读取一次子队列的目的地址,不再需要逐个读取报文的目的地址,就可以实现子队列中报文的转发,减轻了路由器的工作负担,实现了一次处理即可转发多个报文的功能,提高了路由器的转发效率。
附图说明
图1为本发明一实施例中队列调度系统1的结构示意图;
图2为图1所示队列调度系统1中的队列调度装置12的结构示意图;
图3为本发明一实施例中队列调度方法的流程示意图。
具体实施方式
下面通过具体实施方式结合附图的方式对本发明做出进一步的诠释说明。
为了解决当前队列调度技术因进行单个报文转发所存在的路由器功能切换频繁造成的转发量过大时网络堵塞的问题,本发明在报文转发队列中设置至少一个子队列的基础上,提供了一种队列调度方法;该队列调度方法首先将具备相同下一跳转发地址的报文归队到同一子队列中,实现了在进行报文转发的时间,仅需读取子队列的目的地址而不再需要一一读取报文的目的地址就可以将该子队列中报文转发到达其目的地址的下一跳地址的功能;进而,一次性已读取目的地址的子队列中的全部或多个报文,实现多个报文转发仅需要进行一次的功能切换的目的,减少了路由器中相关模块的功能切换/恢复的次数及时间,增加了路由器的处理效率。
图1为本发明一个实施例中队列调度系统1的结构示意图;从图1中可以看出:在该实施例中,本发明提供的队列调度系统1包括至少一个报文发送装置11、至少一个队列调度装置12、至少一个报文接收装置13;报文发送装置11用于产生和/或发送报文,报文接收装置13用于接收和/或转发报文,队列调度装置12用于接收报文发送装置11发送的报文,并将报文转发到报文接收装置13。
在上述实施例中,报文发送装置11可以是服务应用提供商等,报文接收装置13可以是移动终端或PC终端等,队列调度装置12可以是路由器或网络交换机等;可以预见的是,由于队列调度装置12同时具备报文接收及转发功能,在其他实施例中,队列调度装置12也可以替换报文发送装置11或报文接收装置13实现其报文的发送或接收功能。
为了解决当前队列调度技术因进行单个报文转发所存在的路由器功能切换频繁造成的报文转发量过大时网络堵塞的问题,本发明对现有的队列调度装置12进行了改进,改进后的队列调度装置12的结构示意图如所示图2;
由图2可知,在一个实施方式中,本发明提供的队列调度装置12包括:依次连接的设置单元121、接收单元122、归队单元123和转发单元124;其中,
设置单元121用于在队列中设置至少一个子队列;
接收单元122用于接收报文,并将接收到的报文传送到归队单元123进行归队处理;
归队单元123用于获取报文的下一跳地址;并将该报文增加到与其下一跳地址对应的子队列中,以及将子队列传送到转发单元124进行转发;
转发单元124用于转发报文。
进一步的,在其他实施例中,上述实施例的设置单元121、接收单元122、归队单元123和转发单元124按照如下记载进行工作:
设置单元121在队列中设置子队列的具体方式是:在该队列调度装置12接收到的所有报文形成的转发队列中,设置多个子队列,子队列与该队列调度装置12的报文转发路径的下一跳转发设备,即报文接收装置13一一对应,且设置子队列的目的地址为该子队列对应的报文接收装置13的唯一标识信息;如第一子队列的目的信息为第一报文接收装置13的MAC信息,这样就建立了子队列与下一跳转发设备(报文接收装置13)的对应关系,由此可知,子队列与该队列调度装置12的下一跳设备的数目一致,且一一对应;
接收单元122用于接收报文发送装置11发送的报文,并将接收到的报文传送到归队单元123进行归队处理;
归队单元123获取报文的下一跳地址的方式可以是对报文进行解析处理,获取报文的目的地信息,根据这个目的地信息,查询路由表,确定该报文的下一跳地址;进而根据下一跳地址确定该报文的下一跳转发设备(报文接收装置13),根据确定的下一跳转发设备(报文接收装置13)的唯一标识信息,确定需要将该报文增加到哪个子队列中;并将该报文增加到与其下一跳地址对应的子队列中,以及将子队列传送到转发单元124进行转发;
转发单元124在进行报文转发时,可以选择是单个报文进行转发,也可以选择以多个报文/或子队列中所有报文为单位进行转发。
进一步的,在其他实施例中,上述实施例的设置单元121还用于在子队列中设置用于携带该子队列中报文数目及报文总长度信息的标头;归队单元123还用于读取子队列的标头,更新标头所携带的报文数目及报文总长度信息,将报文增加到子队列。这个过程具体的可以是:
子队列的报文数目加一;
更新子队列的报文长度;
将报文增加到子队列。
上述处理过程,还可以包括:更新子队列的可用报文长度。
进一步的,在其他实施例中,上述实施例的设置单元121还用于在子队列中设置用于携带该子队列可用报文长度信息的标头;归队单元123还用于读取子队列的标头,判断标头所携带的子队列可用报文长度是否大于需要增加到该子队列的报文的报文长度,当子队列可用报文长度大于需要增加到该子队列的报文的报文长度时,才将该报文增加到该子队列中。这个判断过程具体可以是:
归队单元123判断该子队列的可用报文长度是否不小于报文的报文长度;子队列的可用报文长度是该子队列总共可容纳的报文长度减去该子队列中所有报文的报文长度之后得到的;该子队列总共可容纳的报文长度可以根据该报文的下一跳转发设备(报文接收装置13)的处理能力和/或网络通信状态和/或本队列调度装置12的转发能力进行计算并设置,因此,各个子队列的总共可容纳的报文长度可能并不相同;
是,则该报文可以增加到该子队列;
否,则该报文不可以增加到该子队列,丢弃该报文。
进一步的,在其他实施例中,上述实施例的归队单元123在获取报文的下一跳地址之后,还用于对报文进行报文参数修改,报文参数为该报文头部字段(header field)参数中的一种或多种,如该报文头部字段(header field)参数中的TTL参数、CRC参数、MAC参数等参数;其中,TTL(Time To Live)参数是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃,CRC(Cyclic Redundancy Check)参数是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定,MAC(MediaAccess Control)参数又称为MAC地址或硬件地址,用来定义网络设备的位置;这些参数都是现有技术中的常用名词,其修改规则不再赘述。
进一步的,在其他实施例中,上述实施例的转发单元124用于选择一个转发的子队列进行转发处理,获取该子队列的目的地址,并将队列中的至少一个报文转发到其目的地址对应的设备。
进一步的,在其他实施例中,上述实施例的转发单元124用于选择一个转发的子队列进行转发处理,获取该子队列的目的地址,并将队列中的所有报文转发到其目的地址对应的设备。
在上述两个实施例中,转发单元124转发报文的方式具体的可以是:
检测子队列的标头,获取对应的目的地址,
根据标头携带的该子队列的报文数目及报文长度信息,将子队列的至少一个和/或所有报文转发到其目的地址对应的设备,如第一报文接收装置13等。
上述处理过程,还可以包括:重置该子队列标头所携带的报文数目及报文总长度信息,进行下一子队列的报文转发流程。
进一步的,在其他实施例中,当队列包括至少两个子队列,且转发单元124在转发子队列时,归队单元123还用于对接收单元122新接收到的报文执行归队处理。由于在现有的队列调度技术中,数据包或报文进入队列之后到被转发之前这段时间内没有进行任何的处理,大大的浪费了时间,也即导致了路由器处理效率的降低;为了合理的利用这个等待转发的时间段,本申请也提供了一种处理机制,本发明提供了这种并行的处理机制,在路由器进行报文转发的同时,还能对新接收到的报文进行归队(分类及修改)处理,其可以由路由器的协处理器来实现。
进一步的,在其他实施例中,上述实施例的设置单元121还用于设置各个子队列的优先级,转发单元124还用于优先选择优先级高的子队列进行转发处理;设置单元121设置子队列优先级的方式包括但不局限于优先级SP、加权循环WRR、查分加权循环DWRR等技术,当设置单元121设置了各个子队列的优先级之后,转发单元124就按照各子队列的优先级及预定规则选择需要发送的子队列,将其选择的子队列中的至少一个报文发送到该子队列对应的下一跳转发设备(报文接收装置13)。
可预见的是,在各个功能模块不冲突的情况下,上述所有实施例中的功能模块的功能可以进行组合使用。
在上述对图1及图2中各功能模块进行了说明之后,结合图3说明本申请提供的队列调度方法的实施步骤。
图3为本发明一实施例中队列调度方法的流程图;从图3可知,在该实施例中,本发明提供的队列调度方法包括以下步骤:
步骤301:接收报文。
接收单元122接收报文,并传送到归队单元123。
步骤302:获取报文的下一跳地址。
归队单元123获取报文的下一跳地址的方式可以为:获取报文的目的地址,根据目的地址查找路由表,确定报文的下一跳地址。
在获取报文的下一跳地址之后还包括:对报文进行报文参数修改的步骤;报文参数为该报文头部字段(header field)参数中的一种或多种。
步骤303:将报文增加到该子队列。
将报文增加到子队列之前,还包括判断报文是否可以增加到与下一跳地址对应的子队列的步骤;具体的为,判断报文的报文长度是否不大于子队列的可用报文长度;是,则报文可以增加到子队列;否,则报文不可以增加到该子队列。
将报文增加到与其下一跳地址对应的子队列中的具体步骤为:提取子队列的标头,子队列的标头用于携带该子队列中报文数目及报文总长度信息;更新标头携带的报文数目及报文总长度信息;将报文增加到子队列。具体的,可以是:
子队列的报文数目加一;
更新子队列的报文长度;
将报文增加到子队列。
进一步的,将报文增加到子队列之后还包括:更新子队列的可用报文长度的步骤。
步骤304:转发子队列的至少一个报文。
转发单元124转发报文的转发步骤包括:
选择一个子队列作为转发的目标子队列;
获取该子队列的目的地址;
将队列中的至少一个报文转发到其目的地址对应的设备。
进一步的,可以将队列中的所有报文转发到其目的地址对应的设备。
讲一半的,当子队列设置有优先级时,优先选择优先级高的子队列作为转发的目标。
进一步的,当队列包括至少两个子队列时,队列调度方法还包括:在进行子队列转发的同时,对新接收到的报文执行归队处理。
为了更好的说明本申请思想,下面结合实际生活做进一步的说明。
现结合图1至3进行说明,在该实施例中,队列调度装置12包括设置单元121、接收单元122、归队单元123、转发单元124;为便于说明,做如下设定,在队列调度系统1中存在8个下一跳设备,即8个报文接收装置13;下面说明该队列调度装置12的工作流程:
第一步:设置子队列。
设置单元121根据路由器的下一跳设备(报文接收装置13)个数在报文队列中设置子队列个数,建立子队列与网络接口的对应关系,子队列1对应于第一个报文接收装置13,……,子队列N对应于第N个报文接收装置13,根据第N个报文接收装置13的处理能力设置子队列N的标头,该标头携带该子队列当前容纳的报文数目M及报文总长度L,且子队列N的目的信息为第N个报文接收装置13。
第二步:接收报文,并获取报文的下一跳地址,该下一跳地址也就是该路由器的下一跳设备(报文接收装置13)的标号。
接收单元122接收报文i,并传送到归队单元123,归队单元123提取报文i的目的地址,根据这个目的地址确定该报文i的下一跳地址。
第三步:判断报文是否可以增加到与转发地址对应的子队列。
归队单元123根据报文i的下一跳地址获取接收该报文i的下一跳设备(报文接收装置13)i,判断报文i是否可增加到与下一跳设备i对应的子队列i中,具体的,判断方式可以是比较报文i的报文长度1i与子队列i的可用报文长度△L,当△L≥1i时,报文i可增加到子队列i中,其中△L由子队列i中的数据包数量M、报文总长度L及该子队列i的下一跳设备i的处理能力共同决定;否则,报文i不可增加到子队列i中。
第四步:将报文i增加到子队列i中。
具体的为:归队单元123将子队列i所包含的报文数目M’更新为M’+1;归队单元123将子队列i所包含的报文长度L’更新为L’+1i;归队单元123将报文i增加到子队列i中。
进一步的,还可以包括:
归队单元123将子队列i可用报文长度△L更新为△L–1i。此时,假设子队列1中存在8个报文,子队列2中存在12个报文,……,子队列N中存在n个报文。
第五步:选择一个子队列进行转发。
根据循环原则或者优先级原则,选择子队列K进行转发,这里假设K=3。在转发子队列3的同时,如果接收单元122新接收到了报文,则将报文进行分类及修改,并对应的添加除去子队列3之外的其他的某个子队列中。
第六步:转发报文数据。
转发单元124检测子队列K的标头及对应的目的地址,获取下一跳设备(报文接收装置13)K;
转发单元124根据标头信息携带的该子队列的报文数目M’及报文长度L’信息,将子队列的至少一个或所有报文转发到目的地址;如将子队列1中的8个报文,子队列2中的12个报文,……,子队列N中的n个报文一次性转发到各自对应的下一跳设备上,如将子队列i中的至少一个或全部报文转发到子队列i对应的第i个下一跳设备(报文接收装置13)K上。
进一步的,还可以包括:
转发单元13将子队列K可用报文长度△L、报文数目M及报文长度L重置为初始值;并进行子队列(K+1)的报文转发操作。
在上述实施例中,归队单元123、转发单元124的功能由路由器的协处理器来实现。
本申请提供的队列调度技术的有益效果至少包括:
在上述方案中,子队列1的所有报文只进行了一次路由解析操作,省去了额外7次的路由匹配过程,子队列2的所有报文只进行了一次路由解析操作,省去了额外11次的路由匹配过程,同理,子队列N省去了额外n-1次的路由匹配过程,这不但加快了报文的转发效率,也大大减轻了路由器繁重的路由匹配工作;
进一步的,检测单元在报文等待转发的时间段内,对子队列中的所有报文进行分类修改处理操作即归队操作,合理的利用了时间,大大的增加了路由器的工作效率;
在可编程路由器越来越普及的前提下,尤其是相关可编程协处理器的应用,这种转发模式的改进带来的效益会越来越高;采用本申请提供的队列调度方法及装置,与现有技术相比,减少了队列调度模块的现场切换/恢复时间,提高了路由器的转发效率。
同时,本申请为了实现上述实施例中提供的队列调度方法,在可编程路由器的基础上,提供了一种计算机应用程序,该程序用于实现本申请提供的队列调度方法中的归队步骤和转发步骤;示例如下:
实现归队步骤的程序:
1:DA←Destination Address
2:next hop←l ookup(DA)
3:ifpacketsize<free size[next hop]then
4:number[next hop]++
5:length[next hop]←length[next hop]+packetsize
6:Add packet to queue next hop
7:freesize[next hop]←queuesize-length[next hop]
8:end if
实现转发步骤的程序:
1:while queue>0do
2:next_hop←get interface(queue)
3:number←get number(queue)
4:forwarding(next_hop,length,number)
5:dequeue(queue)
6:queue←queue-1
7:end while
可以预见的是,上述计算机程序仅是实现本申请队列调度方法的一种较佳实施例,在上述代码的基础上进行的修改或替换或改进,都属于本申请的保护范围。
进一步的,本申请提供了一种存储介质,该存储介质用于存储上述实施例中提供的实现本申请提供的队列调度技术的计算机应用程序;在其他实施例中,该存储介质为CD、DVCD、U盘等移动存储介质。
以上仅是本申请的具体实施方式而已,并非对本申请做任何形式上的限制,凡是依据本申请的技术实质对以上实施方式所做的任意简单修改、等同变化或修饰,均仍属于本申请技术方案的保护范围。
Claims (15)
1.一种队列调度方法,其特征在于,所述队列调度方法包括将报文进行归队处理的归队步骤,及对子队列中报文进行转发处理的转发步骤;其中,所述归队步骤包括:
接收报文;
获取所述报文的下一跳地址;
将所述报文增加到与其下一跳地址对应的子队列中。
2.如权利要求1所述的队列调度方法,其特征在于,在获取所述报文的下一跳地址之后,所述队列调度方法还包括:对所述报文进行报文参数修改的步骤;所述报文参数为该报文头部字段参数中的一种或多种。
3.如权利要求1所述的队列调度方法,其特征在于,所述队列调度方法还包括在子队列中设置用于携带该子队列中报文数目及报文总长度信息的标头的步骤;将所述报文增加到与其下一跳地址对应的子队列中的具体步骤为:
提取所述子队列的标头;
更新所述标头携带的报文数目及报文总长度信息;
将所述报文增加到所述子队列。
4.如权利要求1至3任一项所述的队列调度方法,其特征在于,所述转发步骤包括:
选择一个转发的子队列;
获取所述子队列的目的地址;
将所述队列中的至少一个报文转发到其目的地址对应的设备。
5.如权利要求4所述的队列调度方法,其特征在于,当队列包括至少两个子队列时,所述队列调度方法还包括:在进行所述子队列转发的同时,对新接收到的报文执行归队处理。
6.如权利要求4所述的队列调度方法,其特征在于,所述转发步骤是将所述子队列中的所有报文转发到其目的地址对应的设备。
7.如权利要求4所述的队列调度方法,其特征在于,所述队列调度方法还包括设置子队列优先级的步骤;在转发步骤中,优先选择优先级高的子队列。
8.一种队列调度装置,其特征在于,所述队列调度装置包括依次连接的设置单元、接收单元、归队单元及转发单元;其中,
所述设置单元用于在队列中设置至少一个子队列;
所述接收单元用于接收并转交报文到归队单元进行归队处理;
所述归队单元用于获取报文的下一跳地址,并将该报文增加到与其下一跳地址对应的子队列中;
所述转发单元用于报文归队后,转发子队列中的报文。
9.如权利要求8所述的队列调度装置,其特征在于,所述归队单元在获取所述报文的下一跳地址之后,还用于对所述报文进行报文参数修改;所述报文参数为该报文头部字段参数中的一种或多种。
10.如权利要求8所述的队列调度装置,其特征在于,所述设置单元还用于在子队列中设置用于携带该子队列中报文数目及报文总长度信息的标头;所述归队单元还用于读取所述子队列的标头,更新所述标头所携带的报文数目及报文总长度信息,将所述报文增加到所述子队列。
11.如权利要求8至10任一项所述的队列调度装置,其特征在于,所述转发单元用于选择一个转发的子队列进行转发处理,获取该子队列的目的地址,并将所述队列中的至少一个报文转发到其目的地址对应的设备。
12.如权利要求11所述的队列调度装置,其特征在于,当队列包括至少两个子队列,且所述转发单元在转发所述子队列时,所述归队单元还用于对新接收到的报文执行归队处理。
13.如权利要求11所述的队列调度装置,其特征在于,所述转发单元还用于将所述子队列中的所有报文转发到其目的地址对应的设备。
14.如权利要求11所述的队列调度方法,其特征在于,所述设置单元还用于设置子队列的优先级;所述转发单元还用于优先选择优先级高的子队列进行转发处理。
15.一种队列调度系统,包括至少一个报文发送装置及至少一个报文接收装置;其特征在于,还包括至少一个如权利要求8至14任一项所述的队列调度装置;所述队列调度装置用于接收所述报文发送装置发送的报文,并将所述报文转发到所述报文接收装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210422828.7A CN103795648A (zh) | 2012-10-30 | 2012-10-30 | 一种队列调度方法、装置及系统 |
US14/439,854 US9544241B2 (en) | 2012-10-30 | 2013-10-22 | Queue scheduling method, apparatus and system |
JP2015540033A JP6055553B2 (ja) | 2012-10-30 | 2013-10-22 | キュースケジューリング方法、装置及びシステム |
PCT/CN2013/085665 WO2014067409A1 (zh) | 2012-10-30 | 2013-10-22 | 一种队列调度方法、装置及系统 |
EP13852257.8A EP2916503B1 (en) | 2012-10-30 | 2013-10-22 | Queue scheduling method, apparatus and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210422828.7A CN103795648A (zh) | 2012-10-30 | 2012-10-30 | 一种队列调度方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103795648A true CN103795648A (zh) | 2014-05-14 |
Family
ID=50626467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210422828.7A Pending CN103795648A (zh) | 2012-10-30 | 2012-10-30 | 一种队列调度方法、装置及系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9544241B2 (zh) |
EP (1) | EP2916503B1 (zh) |
JP (1) | JP6055553B2 (zh) |
CN (1) | CN103795648A (zh) |
WO (1) | WO2014067409A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018232773A1 (zh) * | 2017-06-23 | 2018-12-27 | 华为技术有限公司 | 数据处理方法及装置、交换设备 |
CN109246023A (zh) * | 2018-11-16 | 2019-01-18 | 锐捷网络股份有限公司 | 流量控制方法、网络设备及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632165B (zh) * | 2018-04-23 | 2022-03-25 | 新华三技术有限公司 | 一种报文处理方法、装置及设备 |
CN109586780A (zh) * | 2018-11-30 | 2019-04-05 | 四川安迪科技实业有限公司 | 卫星网络中防止报文阻塞的方法 |
CN115469963A (zh) * | 2021-06-10 | 2022-12-13 | 华为技术有限公司 | 一种多线程转发的负载均衡方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003090419A1 (en) * | 2002-04-18 | 2003-10-30 | Motorola, Inc., | Reducing packet data delay variation |
CN1992679A (zh) * | 2003-08-26 | 2007-07-04 | 三星电子株式会社 | 用于上行链路分组传输的调度分配的装置和方法 |
CN101252534A (zh) * | 2008-03-28 | 2008-08-27 | 清华大学 | 通过链路层报文合并提高移动自组织网络通信容量的方法 |
CN102377682A (zh) * | 2011-12-12 | 2012-03-14 | 西安电子科技大学 | 基于定长单元存储变长分组的队列管理方法及设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729540A (en) * | 1995-10-19 | 1998-03-17 | Qualcomm Incorporated | System and method for scheduling messages on a common channel |
US6182120B1 (en) * | 1997-09-30 | 2001-01-30 | International Business Machines Corporation | Method and system for scheduling queued messages based on queue delay and queue priority |
US7020712B1 (en) * | 1998-09-30 | 2006-03-28 | Cisco Technology, Inc. | Reducing CPU overhead in the forwarding process in an inbound/outbound controller for a router |
US6560237B1 (en) * | 1999-07-15 | 2003-05-06 | 3Com Corporation | Packet order assurance mechanism |
JP2002300193A (ja) | 2001-03-30 | 2002-10-11 | Hitachi Ltd | ルータ |
US7170900B2 (en) * | 2001-07-13 | 2007-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for scheduling message processing |
US20030048792A1 (en) * | 2001-09-04 | 2003-03-13 | Qq Technology, Inc. | Forwarding device for communication networks |
US7426209B2 (en) * | 2002-12-13 | 2008-09-16 | Telefonaktiebolaget L M Ericsson (Publ) | System for content based message processing |
JP2004214790A (ja) | 2002-12-27 | 2004-07-29 | Kddi Corp | 制御メッセージの多重化方法およびシステム |
JP4575439B2 (ja) * | 2004-04-28 | 2010-11-04 | テクノバス, インコーポレイテッド | イーサネット(登録商標)受動光ネットワークにおけるl3−アウェアスイッチングの方法と装置 |
JP4373322B2 (ja) | 2004-12-22 | 2009-11-25 | 日本電信電話株式会社 | データ転送ネットワークおよびネットワーク制御装置 |
JP4529839B2 (ja) | 2005-08-12 | 2010-08-25 | 沖電気工業株式会社 | 無線ネットワークシステム及び無線局 |
US8520673B2 (en) * | 2006-10-23 | 2013-08-27 | Telcordia Technologies, Inc. | Method and communication device for routing unicast and multicast messages in an ad-hoc wireless network |
US7895362B2 (en) * | 2007-03-07 | 2011-02-22 | International Business Machines Corporation | Multiple message source electronic data interchange (EDI) enveloper with batching support |
JP4658215B2 (ja) | 2009-08-24 | 2011-03-23 | 日本電信電話株式会社 | 機能分散型パケット転送システム及びメッセージ処理方法 |
US9112824B2 (en) * | 2013-03-15 | 2015-08-18 | Red Hat, Inc. | Forwarding multicast messages in a messaging network |
-
2012
- 2012-10-30 CN CN201210422828.7A patent/CN103795648A/zh active Pending
-
2013
- 2013-10-22 WO PCT/CN2013/085665 patent/WO2014067409A1/zh active Application Filing
- 2013-10-22 EP EP13852257.8A patent/EP2916503B1/en active Active
- 2013-10-22 US US14/439,854 patent/US9544241B2/en active Active
- 2013-10-22 JP JP2015540033A patent/JP6055553B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003090419A1 (en) * | 2002-04-18 | 2003-10-30 | Motorola, Inc., | Reducing packet data delay variation |
CN1992679A (zh) * | 2003-08-26 | 2007-07-04 | 三星电子株式会社 | 用于上行链路分组传输的调度分配的装置和方法 |
CN101252534A (zh) * | 2008-03-28 | 2008-08-27 | 清华大学 | 通过链路层报文合并提高移动自组织网络通信容量的方法 |
CN102377682A (zh) * | 2011-12-12 | 2012-03-14 | 西安电子科技大学 | 基于定长单元存储变长分组的队列管理方法及设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018232773A1 (zh) * | 2017-06-23 | 2018-12-27 | 华为技术有限公司 | 数据处理方法及装置、交换设备 |
CN109716719A (zh) * | 2017-06-23 | 2019-05-03 | 华为技术有限公司 | 数据处理方法及装置、交换设备 |
CN109716719B (zh) * | 2017-06-23 | 2021-02-05 | 华为技术有限公司 | 数据处理方法及装置、交换设备 |
US11258723B2 (en) | 2017-06-23 | 2022-02-22 | Huawei Technologies Co., Ltd. | Data processing method and apparatus, and switching device using footprint queues |
CN109246023A (zh) * | 2018-11-16 | 2019-01-18 | 锐捷网络股份有限公司 | 流量控制方法、网络设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9544241B2 (en) | 2017-01-10 |
JP6055553B2 (ja) | 2016-12-27 |
JP2015537454A (ja) | 2015-12-24 |
US20150295842A1 (en) | 2015-10-15 |
EP2916503A4 (en) | 2015-11-11 |
EP2916503B1 (en) | 2018-01-17 |
EP2916503A1 (en) | 2015-09-09 |
WO2014067409A1 (zh) | 2014-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101573913B (zh) | 用于多播路由选择的方法和设备 | |
US9887938B1 (en) | Enhanced audio video bridging (AVB) methods and apparatus | |
US9369398B2 (en) | Method, device, and system to prioritize encapsulating packets in a plurality of logical network connections | |
CN108270687B (zh) | 一种负载均衡处理方法及装置 | |
CN102783098A (zh) | 通信系统、路径控制设备、分组转发设备以及路径控制方法 | |
CN106453138B (zh) | 一种报文处理方法和装置 | |
US20070133531A1 (en) | Packet forwarding apparatus and method for multicast packets | |
CN103795648A (zh) | 一种队列调度方法、装置及系统 | |
EP3188419B1 (en) | Packet storing and forwarding method and circuit, and device | |
WO2019165855A1 (zh) | 一种报文传输的方法及装置 | |
CN114051013A (zh) | 一种通信数据传输方法及装置 | |
CN113612698A (zh) | 一种数据包发送方法及装置 | |
CN116633873B (zh) | 硬件卸载虚拟交换机装置和相关设备及报文转发方法 | |
CN117579555A (zh) | 数据传输方法、计算设备及系统 | |
WO2021101640A1 (en) | Method and apparatus of packet wash for in-time packet delivery | |
US20150085666A1 (en) | Communication Apparatus, Control Apparatus, Communication System, Communication Method, Method for Controlling Communication Apparatus, and Program | |
CN109792405B (zh) | 用于传输节点中共享缓冲器分配的方法和设备 | |
CN110730130B (zh) | 报文发送方法、装置、网络设备及存储介质 | |
CN110336759B (zh) | 基于rdma的协议报文转发方法及装置 | |
EP3968577A1 (en) | A data traffic control device, a residential router, an operator network device and a telecommunication system | |
CN113518046A (zh) | 一种报文转发方法及框式交换设备 | |
CN114124856A (zh) | 一种流量控制的方法、装置及存储介质 | |
US20140177443A1 (en) | Relay apparatus and buffer control method | |
CN111245744A (zh) | 一种报文传输控制方法及装置 | |
CN118714082A (zh) | 一种基于报文镜像的拥塞通告方法及芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20140514 |