CN101272342A - 一种传输设备网元间通讯流量控制的方法及*** - Google Patents
一种传输设备网元间通讯流量控制的方法及*** Download PDFInfo
- Publication number
- CN101272342A CN101272342A CNA2008100978536A CN200810097853A CN101272342A CN 101272342 A CN101272342 A CN 101272342A CN A2008100978536 A CNA2008100978536 A CN A2008100978536A CN 200810097853 A CN200810097853 A CN 200810097853A CN 101272342 A CN101272342 A CN 101272342A
- Authority
- CN
- China
- Prior art keywords
- data
- flow control
- buffering area
- send
- numbering
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种传输设备网元间通讯流量控制的方法及***,预设定一个用于专门控制发送的流量的流控任务,所述方法包括:发送端将携带有数据的流控消息发送给流控任务,同时通知流控任务进行流量控制;流控任务根据数据中包含的目的编号,将数据分别缓存在相应编号的嵌入式控制通道缓冲区中;流控任务按照所述嵌入式控制通道缓冲区的编号轮循所有缓冲区,当确定有需要发送数据的缓冲区时,发送该缓冲区中的数据;当所有缓冲区中的数据都发送完时,轮循结束。本发明实现了传输网元间ECC中流量控制的方法,与现有技术相比,解决了多DCC通讯时存在的ECC的拥塞问题,提高了通讯的带宽,保证了数据传输的质量,节约了设备的硬件成本。
Description
技术领域
本发明涉及通讯技术领域,尤其涉及一种传输设备网元将通讯流量控制的方法及***。
背景技术
在传输设备网元间通讯过程中,通常是接收端多条DCC(数据通讯通道)对应唯一一条ECC(嵌入式控制通道),网管将多条DCC通讯信道的数据都下发给唯一的ECC,ECC将接收到的数据分发给每一条DCC,完成数据和信息的传递。由于存在一对多的关系,在此过程中需要对ECC的资源进行合理分配。
目前对网元间ECC流量控制通常有四种方法,1)根据数据进入ECC的先后顺序依次发送给每个DCC,也称为不控制;2)根据各DCC流量控制配置文件控制流量;3)计算DCC发送给目的地址的相邻数据包的平均时间间隔,并根据平均时间间隔来控制数据包的发送;4)根据网管报文优先级做分类,ECC对不同优先级的报文做门控以及流量控制;第一种办法的缺点是后发的DCC数据必须等待排在前面的DCC数据发送完成后才能被发送,造成DCC带宽资源的浪费,且通讯质量得不到保证;第二种办法的缺点是受制于配置文件的可靠性,通讯质量难以保证;第三种办法的缺点是不能处理突发的偶然因素的影响;第四种办法的缺点是传输网管报文的优先级要求不高,对网元数量巨大的网络来说效率不高,且对于中间网元意义不大。
发明内容
鉴于上述的分析,本发明的目的在于提供一种传输设备网元将通讯流量控制的方法及***,用以解决现有技术中存在的通讯质量不能保证等问题。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种传输设备网元将通讯流量控制的方法,预设定一个用于专门控制发送的流量的流控任务,所述方法包括:
步骤A:发送端将携带有数据的流控消息发送给流控任务,同时通知流控任务进行流量控制;
步骤B:流控任务根据数据中包含的目的编号,将数据分别缓存在相应编号的嵌入式控制通道缓冲区中;
步骤C:流控任务按照所述嵌入式控制通道缓冲区的编号轮循所有缓冲区,当确定有需要发送数据的缓冲区时,发送该缓冲区中的数据;当所有缓冲区中的数据都发送完时,轮循结束。
进一步地,所述步骤A具体包括:
当网元链路层有数据需要发送时,将所述数据携带在流控消息中发送给流控任务;
同时发送流控事件给流控任务,通知流控任务进行流量控制。
进一步地,所述步骤B具体包括:
流控任务收到流控消息后,取出流控消息中携带的数据,所述数据中包含由单板槽位号和光口号组成的目的编号;
检查嵌入式控制通道缓冲区的状态:如果缓冲区未满,则按照数据中包含的目的编号分别缓存在以该单板槽位号和光口号组成的编号的缓存区中;如果该编号的缓冲区已满,则清空该缓冲区中的数据。
进一步地,所述步骤C具体包括:
步骤C1:当流控任务收到进行流量控制的流控事件后,按照嵌入式控制通道缓冲区的编号轮循所有缓冲区;
步骤C2:对轮循到的每个缓冲区进行如下操作:
判断该缓冲区是否有数据需要发送,如果是,则根据该缓冲区对应的数据通讯通道寄存器的状态决定是否发送该缓冲区中的数据,否则,轮循到下一个缓冲区。
进一步地,所述步骤C2中的根据该缓冲区对应的数据通讯通道寄存器的状态决定是否发送该缓冲区中的数据的步骤具体包括:
检测该缓冲区对应的数据通讯通道寄存器的状态:如果状态为空闲,则发送该缓冲区头的数据给该数据通讯通道,并释放该数据占用的缓冲区空间;如果状态为忙,则检测该数据通讯通道寄存器是否需要复位,当判定该数据通讯通道寄存器需要复位时,复位当前的数据通讯通道寄存器,然后转到步骤C1。
本发明还提供了一种传输设备网元将通讯流量控制的***,所述***包括:发送单元和流控任务,其中,
所述发送单元,用于发送携带有数据的流控消息,同时发送流控事件;
所述流控任务,用于接收所述发送单元发来的流控消息及流控事件,并根据数据中包含的目的编号,将数据分别缓存在相应编号的缓冲区中;然后按照嵌入式控制通道缓冲区的编号轮循所有缓冲区,并发送有数据需要发送的缓冲区中的数据,直到所有缓冲区中的数据都发送完。
进一步地,所述流控任务具体包括:接收单元、第一检测单元、轮循单元和第二检测单元,其中,
所述接收单元,用于接收发送单元发来的流控消息及流控事件,当接收到流控消息时,触发第一检测单元,当接收到流控事件后,触发轮循单元;
所述第一检测单元,用于取出流控消息中携带的数据,并检查嵌入式控制通道缓冲区的状态:如果缓冲区未满,则按照数据中包含的单板槽位号和光口号将数据分别缓存在以该槽位号和光口号生成的编号的缓存区中;如果该编号的缓冲区已满,则清空该缓冲区中的数据;
所述轮循单元,用于按照缓冲区的编号轮循所有缓冲区;当判定轮循到的缓冲区中有数据需要发送时触发第二检测单元,否则轮循到下一个缓冲区;
所述第二检测单元,用于检测该缓冲区对应的数据通讯通道寄存器的状态:如果状态为空闲,则发送该缓冲区头的数据给该数据通讯通道,并释放该数据占用的缓冲区空间;如果状态为忙,则检测该数据通讯通道寄存器是否需要复位,当判定该数据通讯通道寄存器需要复位时,复位当前的数据通讯通道寄存器。
本发明有益效果如下:
本发明实现了传输网元间ECC中流量控制的方法,与现有技术相比,解决了多DCC通讯时存在的ECC的拥塞问题,提高了通讯的带宽,保证了数据传输的质量,节约了设备的硬件成本。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本发明所述方法的流程示意图;
图2为本发明所述方法中的流控任务轮循过程的流程示意图;
图3为本发明所述方法中的通道状态检测过程的流程示意图;
图4为本发明实施例所述方法中,嵌入式控制通道和数据通讯通道的对应关系示意图;
图5为本发明所述***的结构示意图。
具体实施方式
下面结合附图来具体描述本发明的优先实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
首先结合附图对本发明所述方法进行详细说明。
本发明所述方法中需要预定义一个任务用来专门控制发送的流量,称为流控任务。
如图1所示,图1为本发明所述方法的流程示意图,具体可以包括以下步骤:
步骤101:当发送端链路层有数据需要发送时,将所述数据携带在流控消息中,发送给流控任务;同时发送流控事件给流控任务,通知流控任务进行流量控制;
步骤102:流控任务收到流控消息后,取出流控消息中的数据,并检查ECC缓冲区的状态:如果缓冲区未满,按照数据中携带的单板槽位号和光口号将数据分别缓存在以该槽位号和光口号生成的编号的缓存区中,缓冲区中的计数值加1;如果该编号的缓冲区已满,则清空该缓冲区中的数据,并将计数清0。所述缓冲区编号生成规则是以槽位号的8位为高位,光口号的8位为低位组成的16位数。
步骤103:流控任务等待流控事件,当流控任务收到流控事件时,则按照缓冲区的编号轮循所有缓冲区,当轮循到某缓冲区时,判断该缓冲区是否有数据需要发送,如果有,则执行步骤104,否则执行步骤107。
步骤104:检测该缓冲区对应的DCC寄存器的状态,如果状态为空闲(ready),则执行步骤105,如果状态为忙(busy),则执行步骤106;
步骤105:发送缓冲区头的数据给该DCC,将该缓冲区的头指针后移,缓冲区中的计数值减1,释放该数据占用的缓冲区空间。如果指针已到缓冲区尾,则将该缓冲区指针移到缓冲区头。
步骤106:如果当前端口编号的缓冲区对应的DCC寄存器为忙状态(busy),则检测该通道寄存器是否需要复位,如果需要复位,则复位当前的通道寄存器。通道寄存器需要复位的条件是在单位时间内寄存器状态不发生变化并且该通道对应的缓冲区的计数值不为0。
步骤107:否则发送另一个编号的缓冲区中的数据,直到所有缓冲区中的数据都发送完。
如图2所述,图2为本发明所述方法中,流控任务轮循过程的流程示意图,具体可以包括以下步骤:
步骤201:等待流控事件;
步骤202:判断是否有流控消息,如果有,则执行步骤203,否者转到步骤204;
步骤203:将流控消息中的数据放入对应的缓冲区中;
步骤204:判断当前ECC缓冲区中是否有数据需要发送,如果有,则执行步骤207,否则执行步骤205;
步骤205:通道指针移到下一缓冲区;
步骤206:判断所有缓冲区是否都处理完成,如果是,则重新进入循环,否则转到步骤204;
步骤207:检测通道状态,具体检测过程将在下面进行详细说明,此处不再赘述。
如图3所示,图3为本发明所述方法中,通道状态检测过程的流程示意图,具体可以包括以下步骤:
步骤301:判断当前DCC寄存器状态是否为空闲,如果是,则执行步骤302,否则执行步骤305;
步骤302:发送排在该缓冲区头的数据;
步骤303:判断缓冲区中是否还有数据,如果是,则执行步骤304,否则结束流程;
步骤304:缓冲区指针后移;
步骤305:累加检测次数;
步骤306:判断检测次数是否超过预定门限,如果是,则执行步骤307,否者转到步骤301;
步骤307:复位通道。
为了便于理解本发明,下面举例作进一步说明。
如图4所示,图4为本发明实施例所述方法中,ECC和DCC的对应关系示意图。图4中的发送端有两个数据包:Data1(1,1)和Data2(2,1),分别发往槽位1光口1和槽位2光口1;接收端存在两条光连接,槽位1光口1的DCC处于忙状态,槽位2光口1的DCC处于空闲状态。
网元链路层发送携带有数据包Data1和Data2的流控消息给流控任务,流控任务收到该流控消息后,检测缓冲区为空,将数据包Data1放入缓冲区DataFifo11(1,1),将数据包Data2放入缓冲区DataFifo21(2,1),缓冲区DataFifo11(1,1)和DataFifo21(2,1)的计数分别+1。其中,DataFifo11(1,1)表示编号为11的缓冲区,该缓冲区中的数据为发往1槽位1光口;DataFifo21(2,1)表示编号为21的缓冲区,该缓冲区中的数据为发往2槽位1光口。
流控任务轮循所有缓冲区,发现DataFifo11有数据需要发送,检测对应的1槽位1光口的DCC寄存器的状态,该DCC寄存器的状态为busy;检测该通道寄存器是否需要复位,判断方法是在连续的400ms内每10ms检测一次该寄存器的值,并与上次检测结果比较,如果没有发生改变则需要复位,否则不需要复位。
检测缓冲区DataFifo21,同样有数据包需要发送,检测2槽位1光口的DCC寄存器的状态,该DCC寄存器的状态为ready,于是发送DataFifo21缓冲区中的数据到ECC上,缓冲区计数-1。
轮循缓冲区DataFifo11,发现有数据需要发送,检测对应的1槽位1光口的DCC寄存器的状态,DCC寄存器的状态此时变为ready,发送DataFifo11的数据到ECC上,缓冲区计数-1。
轮循直到缓冲区DataFifo11、DataFifo21都为空,缓冲区的计数值为0。等待新的流控事件。
如图5所示,图5为本发明实施例所述***的结构示意图,具体可以包括:发送单元和流控任务,其中,所述流控任务具体包括:具体包括:接收单元、第一检测单元、轮循单元和第二检测单元。下面对各个部分进行详细说明。
发送单元,设置于发送端,当发送端链路层有数据需要发送时,发送单元将所述需要发送的数据携带在流控消息中,发送给流控任务;同时发送流控事件给流控任务,通知流控任务进行流量控制。
流控任务,用于专门控制发送的流量;具体的说就是,流控任务接收发送单元发来的流控消息,并根据数据中包含的目的编号,将数据分别缓存在相应编号的缓冲区中;当接收到流控事件后,流控任务按照ECC缓冲区的编号轮循所有缓冲区,并发送有数据需要发送的缓冲区中的数据,当所有缓冲区中的数据都发送完时,轮循结束。
所述流控任务具体包括:接收单元、第一检测单元、轮循单元和第二检测单元,其中,
接收单元接收发送单元发来的流控消息及流控事件,当接收到流控消息时,触发第一检测单元,第一检测单元取出流控消息中携带的数据,并检查嵌入式控制通道缓冲区的状态:如果缓冲区未满,则按照数据中包含的单板槽位号和光口号将数据分别缓存在以该槽位号和光口号生成的编号的缓存区中;如果该编号的缓冲区已满,则清空该缓冲区中的数据;
当接收单元接收到流控事件后,触发轮循单元,轮循单元按照缓冲区的编号轮循所有缓冲区;当判定轮循到的缓冲区中有数据需要发送时触发第二检测单元,否则轮循到下一个缓冲区;第二检测单元检测该缓冲区对应的数据通讯通道寄存器的状态:如果状态为空闲,则发送该缓冲区头的数据给该数据通讯通道,并释放该数据占用的缓冲区空间;如果状态为忙,则检测该数据通讯通道寄存器是否需要复位,当判定该数据通讯通道寄存器需要复位时,复位当前的数据通讯通道寄存器。
对于本发明所述***的具体处理过程,由于在上述方法中以作详细描述,此处不再赘述。
综上所述,本发明提供了一种传输设备网元将通讯流量控制的方法及***。实现了传输网元间ECC中流量控制的方法,与现有技术相比,解决了多DCC通讯时存在的ECC的拥塞问题,提高了通讯的带宽,保证了数据传输的质量,节约了设备的硬件成本。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (7)
1、一种传输设备网元间通讯流量控制的方法,其特征在于,预设定一个用于专门控制发送的流量的流控任务,所述方法包括:
步骤A:发送端将携带有数据的流控消息发送给流控任务,同时通知流控任务进行流量控制;
步骤B:流控任务根据数据中包含的目的编号,将该数据分别缓存在相应编号的嵌入式控制通道缓冲区中;
步骤C:流控任务按照所述嵌入式控制通道缓冲区的编号轮循所有缓冲区,当确定有需要发送数据的缓冲区时,发送该缓冲区中的数据;当所有缓冲区中的数据都发送完时,轮循结束。
2、根据权利要求1所述的方法,其特征在于,所述步骤A具体包括:
当网元链路层有数据需要发送时,发送端将所述数据携带在流控消息中发送给流控任务;
同时发送流控事件给流控任务,通知流控任务进行流量控制。
3、根据权利要求1所述的方法,其特征在于,所述步骤B具体包括:
流控任务收到流控消息后,取出流控消息中携带的数据,所述数据中包含由单板槽位号和光口号组成的目的编号;
检查嵌入式控制通道缓冲区的状态:如果缓冲区未满,则按照数据中包含的目的编号分别缓存在以该单板槽位号和光口号组成的编号的缓存区中;如果该编号的缓冲区已满,则清空该缓冲区中的数据。
4、根据权利要求1到3中任意一项所述的方法,其特征在于,所述步骤C具体包括:
步骤C1:当流控任务收到进行流量控制的流控事件后,按照嵌入式控制通道缓冲区的编号轮循所有缓冲区;
步骤C2:对轮循到的每个缓冲区进行如下操作:
判断该缓冲区是否有数据需要发送,如果是,则根据该缓冲区对应的数据通讯通道寄存器的状态决定是否发送该缓冲区中的数据,否则,轮循到下一个缓冲区。
5、根据权利要求4所述的方法,其特征在于,所述步骤C2中的根据该缓冲区对应的数据通讯通道寄存器的状态决定是否发送该缓冲区中的数据的步骤具体包括:
检测该缓冲区对应的数据通讯通道寄存器的状态:如果状态为空闲,则发送该缓冲区头的数据给该数据通讯通道,并释放该数据占用的缓冲区空间;如果状态为忙,则检测该数据通讯通道寄存器是否需要复位,当判定该数据通讯通道寄存器需要复位时,复位当前的数据通讯通道寄存器,然后转到步骤C1。
6、一种传输设备网元间通讯流量控制的***,其特征在于,所述***包括:发送单元和流控任务,其中,
所述发送单元,用于发送携带有数据的流控消息,同时发送流控事件;
所述流控任务,用于接收所述发送单元发来的流控消息及流控事件,并根据数据中包含的目的编号,将数据分别缓存在相应编号的缓冲区中;然后按照嵌入式控制通道缓冲区的编号轮循所有缓冲区,并发送有数据需要发送的缓冲区中的数据,直到所有缓冲区中的数据都发送完。
7、根据权利要求6所述的***,其特征在于,所述流控任务具体包括:接收单元、第一检测单元、轮循单元和第二检测单元,其中,
所述接收单元,用于接收发送单元发来的流控消息及流控事件,当接收到流控消息时,触发第一检测单元,当接收到流控事件后,触发轮循单元;
所述第一检测单元,用于取出流控消息中携带的数据,并检查嵌入式控制通道缓冲区的状态:如果缓冲区未满,则按照数据中包含的单板槽位号和光口号将数据分别缓存在以该槽位号和光口号生成的编号的缓存区中;如果该编号的缓冲区已满,则清空该缓冲区中的数据;
所述轮循单元,用于按照缓冲区的编号轮循所有缓冲区;当判定轮循到的缓冲区中有数据需要发送时触发第二检测单元,否则轮循到下一个缓冲区;
所述第二检测单元,用于检测该缓冲区对应的数据通讯通道寄存器的状态:如果状态为空闲,则发送该缓冲区头的数据给该数据通讯通道,并释放该数据占用的缓冲区空间;如果状态为忙,则检测该数据通讯通道寄存器是否需要复位,当判定该数据通讯通道寄存器需要复位时,复位当前数据通讯通道寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100978536A CN101272342A (zh) | 2008-05-19 | 2008-05-19 | 一种传输设备网元间通讯流量控制的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100978536A CN101272342A (zh) | 2008-05-19 | 2008-05-19 | 一种传输设备网元间通讯流量控制的方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101272342A true CN101272342A (zh) | 2008-09-24 |
Family
ID=40006038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100978536A Pending CN101272342A (zh) | 2008-05-19 | 2008-05-19 | 一种传输设备网元间通讯流量控制的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101272342A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667740A (zh) * | 2017-03-29 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 流量控制的方法、装置及*** |
-
2008
- 2008-05-19 CN CNA2008100978536A patent/CN101272342A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667740A (zh) * | 2017-03-29 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 流量控制的方法、装置及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8379658B2 (en) | Deferred queuing in a buffered switch | |
Lakshman et al. | The performance of TCP/IP for networks with high bandwidth-delay products and random loss | |
US7839797B2 (en) | Event-driven flow control for a very high-speed switching node | |
KR100402979B1 (ko) | 유입 속도 감시에 바탕한 대기행렬 관리를 통한 데이터네트워크에서의 시스템 성능 개선 | |
CN102067530B (zh) | 向特定业务流提供背压流控制 | |
US20060056308A1 (en) | Method of switching fabric for counteracting a saturation tree occurring in a network with nodes | |
CN100596114C (zh) | 一种基于信誉的流量控制***、装置和方法 | |
CN102170663B (zh) | 基于3g的实时传输业务中保证服务质量的方法及设备 | |
CN102932275B (zh) | 一种应用于容延时网络的优先级报文转发方法 | |
CN102726009B (zh) | 一种数据流交换控制方法及相关设备 | |
EP2442498B1 (en) | Method and device for controlling switching network traffic | |
CN1159267A (zh) | 用于分组方式数据连接的路由再选的方法 | |
AU6317499A (en) | QOS protection system | |
US8494539B1 (en) | Congestion management in radio access networks | |
CN116418757A (zh) | 拥塞控制方法及装置、网络设备及存储介质 | |
CN1260926C (zh) | 一种城域传输设备中虚容器映射通道的流量控制方法 | |
CN101272342A (zh) | 一种传输设备网元间通讯流量控制的方法及*** | |
US6804198B1 (en) | ATM cell buffer system and its congestion control method | |
CN1972283A (zh) | 一种网络业务下发***及其对下发业务的控制方法 | |
Ferrer et al. | Congestion management in mins through marked and validated packets | |
CN101459566B (zh) | 一种时隙环网的时隙调度方法和网络设备 | |
CN100505689C (zh) | 在异步传输模式的永久虚电路端口实现服务质量的方法 | |
CN100555990C (zh) | 一种多协议标签交换中业务传送的控制方法及装置 | |
JP2001111556A (ja) | Redによる輻輳回避装置及びその方法 | |
CN101107822B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080924 |