CN1984026A - 交换网板拔出时不间断转发数据的方法和装置 - Google Patents
交换网板拔出时不间断转发数据的方法和装置 Download PDFInfo
- Publication number
- CN1984026A CN1984026A CNA2006100786471A CN200610078647A CN1984026A CN 1984026 A CN1984026 A CN 1984026A CN A2006100786471 A CNA2006100786471 A CN A2006100786471A CN 200610078647 A CN200610078647 A CN 200610078647A CN 1984026 A CN1984026 A CN 1984026A
- Authority
- CN
- China
- Prior art keywords
- network board
- data
- output queue
- network
- cell
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种交换网板拔出时不间断转发数据的方法和装置,属于通讯技术领域,为了克服现有技术中交换网板拔出时可能丢失数据流量的缺点,通过在线路板上建立用于保存已发往各个交换网板的数据信元地址的队列的方式,可以实现在拔出交换网板的情况下,已经发往该交换网板的数据流量会重新发送给其余交换网板;本发明还提供了一种包括网板输出队列模块和调度模块的装置;采用本发明所述技术方案能确保不会造成数据流量的丢失,而且不需要控制台提前干预,彻底解决交换网板维护中的不间断转发的问题。
Description
技术领域
本发明涉及通讯技术领域,特别涉及一种交换网板拔出时不间断转发数据的方法和装置。
背景技术
随着网络承载业务的发展,运营商和用户对网络的可靠性提出了越来越高的要求。作为重要的网络设备,路由器的高可用性对网络的可靠性有决定性的影响。NSF(Non-Stop Forwarding,不间断转发)是衡量路由器可用性的重要指标。具备NSF特性的路由器,能保证在网络设备发生异常时转发的数据流量不会中断。
NSF特性主要通过冗余机制来保证。对于路由器内的负责转发数据的交换网板而言,有两种冗余方式:N+1负载分担方式和1∶1主备方式。第一种方式是有N+1块网板都正常工作同时转发数据,其中一块网板出故障后,剩余的N块网板继续分担原来的数据流量;第二种方式是只有主用网板正常工作,相同数量的备用网板则工作在温备份状态,一旦主用网板出现异常,数据流量就切换到备用网板上。
如图1所示为路由器内数据流量负载分担交换体系示意图。路由器的背板上插有N+1块交换网板和多个线路板,该N+1块交换网板负责多个线路板的数据交换,它们同时进行数据交换,平均分担从线路板传来的数据流量。线路板内具有CPU,包处理器和FIC(Fabric InterfaceChip,交换网接口芯片),FIC内又包括共享存储器,调度器和多个转换器。从上行方向即包处理器到交换网的方向看,FIC接收从包处理器来的数据流量,将其存储在共享存储器内,同时调度器根据交换网的仲裁信息(该信息一般是由连接到交换网的线路板的下行方向返回的),从共享存储器中读出相应的信元,并发送到相应的转换器,完成并行格式到串行格式的转换后,通过高速总线发送到交换网。
当路由器内的交换网板发生故障时,需要将其拔出。为保障网板内的数据流量不随网板的拔出而丢失,要及时地进行处理。目前现有的技术是在拔故障网板之前,通过远端的控制台向每个线路板上的CPU发送命令,CPU收到命令后控制FIC内部的调度器,把待拔网板从调度器里面屏蔽掉,即不再向待拔网板调度信元。当待拔网板对应的转换器中的未发送内容,以及网板缓存中的信元被全部发出后,就可以拔出网板。这样就能实现不丢失流量的拔网板操作。
现有技术的缺点是要借助控制台发布命令才能完成。由于设备维护现场和放置控制台的机房一般有一定的距离,现场操作并不方便,而且增加了操作的复杂度。对于一些不允许命令干预的严格测试,拔网板时正在线路上传送的和交换网板的缓存内的信元就会丢失,不能满足无流量丢失的维护。
发明内容
为了克服交换网板拔出时可能丢失数据流量的缺点,本发明的目的是提供一种交换网板拔出时不间断转发数据的方法和装置,彻底解决交换网板维护中的NSF问题,不需要控制台提前干预,且保证数据流量不会丢失。
本发明采用如下的技术方案,一种交换网板拔出时不间断转发数据的方法,具体包括以下步骤:
步骤A:建立网板输出队列;
步骤B:当有交换网板被拔出时,根据所述网板输出队列将已发往所述被拔交换网板的数据信元重新发送给其余交换网板。
所述步骤A具体包括:
步骤A1:为每个交换网板建立一个与之对应的网板输出队列;
步骤A2:从存储器中读取数据信元,将所述数据信元发送给所述交换网板,并将所述数据信元在所述存储器内的地址索引保存在接收该数据信元的交换网板对应的网板输出队列中。
所述步骤A进一步还包括:
步骤A3:按照预先设定的规则从所述网板输出队列的头部读取地址索引信息,并将其保存在空闲缓存区索引池内;
步骤A4:从所述网板输出队列的头部删除所述地址索引信息。
所述步骤A3具体包括:
当所述网板输出队列内的地址索引信息停留的时间超过设定的时间时,从所述网板输出队列的头部读取地址索引信息,并将其保存在空闲缓存区索引池内。
所述步骤A3具体包括:
当所述网板输出队列内的地址索引信息积累的数量超过设定的阈值时,从所述网板输出队列的头部读取地址索引信息,并将其保存在空闲缓存区索引池内。
所述步骤B具体包括:
步骤B1:当有交换网板被拔出时,停止向所有交换网板发送数据信元;
步骤B2:从所述被拔交换网板对应的网板输出队列中读取地址索引信息;
步骤B3:根据所述地址索引信息从所述存储器中读取已发往所述被拔交换网板的数据信元;
步骤B4:将已发往所述被拔交换网板的数据信元重新发送给其余交换网板。
所述步骤B4之后还包括:
恢复向所述其余交换网板发送数据信元。
所述步骤B4之后还包括:
将所述被拔交换网板对应的网板输出队列内的所有地址索引信息都保存在空闲缓存区索引池内,并删除所述被拔交换网板对应的网板输出队列。
所述步骤B4之后还包括:
将所述被拔交换网板对应的网板输出队列内的所有地址索引信息都保存在空闲缓存区索引池内,并保留所述被拔交换网板对应的网板输出队列。
本发明提供的一种交换网板拔出时不间断转发数据的装置包括:
存储器,缓存区控制器,缓存区管理器,空闲缓存区索引池,虚拟输出队列,原始调度器,网板输出队列模块和调度模块。
网板输出队列模块,用于建立网板输出队列;
调度模块,用于当有交换网板被拔出时,根据所述网板输出队列将已发往所述被拔交换网板的数据信元重新发送给其余交换网板。
所述网板输出队列模块具体包括:
创建单元,用于为每个交换网板建立一个与之对应的网板输出队列;
保存单元,用于从存储器读取数据信元,向所述交换网板发送所述数据信元,并将所述数据信元在所述存储器内的地址索引保存在接收该数据信元的交换网板对应的网板输出队列里。
所述调度模块具体包括:
并列调度器,与所述网板输出队列模块和所述空闲缓存区索引池连接,用于当有交换网板被拔出时,从所述网板输出队列中找到所述被拔交换网板对应的网板输出队列,并输出所述被拔交换网板对应的网板输出队列内保存的地址索引信息,以及按照预先设定的规则从所述各网板输出队列头部读取地址索引信息,并保存到空闲缓存区索引池,然后将所读取的地址索引信息从所述各网板输出队列的头部删除;
上级调度器,与所述原始调度器,所述并列调度器以及所述网板输出队列模块连接,用于将发往各交换网板的数据信元的地址索引信息,保存在接收该数据信元的交换网板对应的网板输出队列中;当有交换网板被拔出时,停止调度所述原始调度器,开始接收所述并列调度器输出的地址索引信息,并将所述地址索引在所述存储器内对应的数据信元发送给所述其余交换网板;当所述数据信元全部发送给所述其余交换网板后,停止调度所述并列调度器,恢复调度所述原始调度器。
本发明的有益效果是通过建立网板输出队列保存发往交换网板数据信元的地址索引的方式,可以实现在拔出交换网板的情况下,已经发往该交换网板的数据流量会重新发送给其余交换网板,确保不会造成数据流量的丢失,从而实现真正的NSF。
附图说明
图1为现有技术数据流量负载分担交换体系示意图;
图2为本发明交换网板拔出时不间断转发数据的装置的示意图;
图3为本发明交换网板拔出时不间断转发数据的装置的结构图;
图4为本发明交换网板拔出时不间断转发数据的方法一实施例的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
本发明实际上提出了一种新的存储器管理机制。其原理是当感知到某交换网板被拔出后,线路板上存放发往该交换网板数据的存储器的读指针回退,把刚发出的数据再重新发送一遍,从而保证了数据不会丢失。
参见图2,线路板上的存储器可以是FIC内部的共享存储器,也可以是FIC外部的存储器,用来存放发往交换网板的数据。通常根据交换网的设置将存储器划分为N个定长的信元缓存区,如以64字节为定长或者以72字节为定长;进入线路板的数据在缓存区控制器的控制下,根据缓存区管理器提供的空闲缓存区地址写入信元缓存区;每个信元缓存区对应一个地址索引,地址索引的长度根据存储器空间一般定义为2~4个字节,该地址索引信息按照交换网的仲裁信息存放在相应的VOQ(Virtual Output Queue,虚拟输出队列)里。空闲缓存区索引池内存放有空闲的信元缓存区的地址索引,提供给缓存区管理器进行管理,用于存放新收到的数据流量。
参见图3,本发明交换网板拔出时不间断转发数据的装置具体包括:
存储器,缓存区控制器,缓存区管理器,空闲缓存区索引池,虚拟输出队列,原始调度器A,网板输出队列模块和调度模块。
网板输出队列模块,用于建立网板输出队列;
调度模块,用于当有交换网板被拔出时,根据所述网板输出队列将已发往所述被拔交换网板的数据信元重新发送给其余交换网板。
所述网板输出队列模块具体包括:
创建单元,用于为每个交换网板建立一个与之对应的网板输出队列;
保存单元,用于从存储器读取数据信元,向所述交换网板发送所述数据信元,并将所述数据信元在所述存储器内的地址索引保存在接收该数据信元的交换网板对应的网板输出队列里。
所述调度模块具体包括:
并列调度器B,与所述网板输出队列模块和所述空闲缓存区索引池连接,用于当有交换网板被拔出时,从所述网板输出队列中找到所述被拔交换网板对应的网板输出队列,并输出所述被拔交换网板对应的网板输出队列内保存的地址索引信息,以及按照预先设定的规则从所述各网板输出队列头部读取地址索引信息,并保存到空闲缓存区索引池,然后将所读取的地址索引信息从所述各网板输出队列的头部删除(此处所说的从队列的头部读取以及删除的操作是指按照先进先出的原则对先存进队列的地址索引进行处理);
上级调度器C,与所述原始调度器A,所述并列调度器B以及所述网板输出队列模块连接,用于将发往各交换网板的数据信元的地址索引信息,保存在接收该数据信元的交换网板对应的网板输出队列中;当有交换网板被拔出时,停止调度所述原始调度器A,开始接收所述并列调度器B输出的地址索引信息,并将所述地址索引在所述存储器内对应的数据信元发送给所述其余交换网板;当所述数据信元全部发送给所述其余交换网板后,停止调度所述并列调度器B,恢复调度所述原始调度器A。
参见图4,采用上述装置在交换网板拔出时不间断转发数据的方法具体包括以下步骤:
步骤101:增加一并列调度器和一上级调度器,并建立K个网板输出队列,分别与K个交换网板一一对应;
步骤102:上级调度器C调度原始调度器A,根据VOQ里的地址索引信息把信元缓存区内的数据信元发送给K个交换网板;并且上级调度器C把所发送数据信元的地址索引保存在接收该数据信元的交换网板对应的网板输出队列里;当所述K个网板输出队列内的地址索引信息停留的时间超过设定的时间时,或者当所述K个网板输出队列内的地址索引信息积累的数量超过设定的阈值时(一般根据信元过网的最大延时等因素来配置设定时间和数据量阈值),从所述K个网板输出队列的头部读取地址索引信息,并将其保存在空闲缓存区索引池内,然后从所述K个网板输出队列的头部删除所述地址索引信息,此处所说的从队列的头部读取以及删除的操作是指按照先进先出的原则对先存进队列的地址索引进行处理;
步骤103:当检测到有交换网板被拔出时,上级调度器C停止调度原始调度器A,即停止向所有交换网板发送数据,开始调度并列调度器B;
步骤104:并列调度器B读取所述被拔交换网板对应的网板输出队列内的地址索引信息;
步骤105:根据所述地址索引信息从存储器的信元缓存区读取已发往所述被拔交换网板的数据信元;
步骤106:将已发往所述被拔交换网板的数据信元重新发送给其余交换网板;
步骤107:上级调度器C停止调度并列调度器B,恢复对原始调度器A的调度,即恢复向所述其余交换网板发送数据信元;
步骤108:并列调度器B将所述被拔交换网板输出队列内的全部地址索引信息发送给所述空闲缓存区索引池,并删除所述被拔交换网板输出队列,也可以将该被拔交换网板输出队列保留备用,当有新的交换网板插入的时候可以把该队列与新插的交换网板对应上,继续使用。
其中交换网板拔出的检测,可以是基于交换网板在位短针的感知,也可以是链路层的同步检测;重复发送的数据量因交换网板被检测到拔出的时刻与链路因拔出而失步的时刻不一致而不同。如果交换网板被检测到拔出的时刻早于链路失步时刻,则重复发送的数据信元仅仅是交换网板上的缓存数据信元和正在链路上传送的数据信元;如果交换网板被检测到拔出的时刻晚于链路失步时刻,则重复发送的数据信元为交换网板上的缓存数据信元和正在链路上传送的数据信元,再加上两个时刻之间发往被拔交换网板的数据信元。因此,及早检测到网板的拔出对减小存储器占用空间非常关键。重复发送的数据信元经现有交换网交换后,在线路板下行方向有可能和前面收到的部分重复,现有的重组机制可以保证重复出现的数据信元会被丢弃。
以上所述的实施例,只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换,都应包含在本发明的保护范围内。
Claims (12)
1.一种交换网板拔出时不间断转发数据的方法,其特征在于,所述方法包括:
步骤A:建立网板输出队列;
步骤B:当有交换网板被拔出时,根据所述网板输出队列将已发往所述被拔交换网板的数据信元重新发送给其余交换网板。
2.根据权利要求1所述的交换网板拔出时不间断转发数据的方法,其特征在于,所述步骤A具体包括:
步骤A1:为每个交换网板建立一个与之对应的网板输出队列;
步骤A2:从存储器中读取数据信元,将所述数据信元发送给所述交换网板,并将所述数据信元在所述存储器内的地址索引保存在接收该数据信元的交换网板对应的网板输出队列中。
3.根据权利要求2所述的交换网板拔出时不间断转发数据的方法,其特征在于,所述步骤A进一步还包括:
步骤A3:按照预先设定的规则从所述网板输出队列的头部读取地址索引信息,并将其保存在空闲缓存区索引池内;
步骤A4:从所述网板输出队列的头部删除所述地址索引信息。
4.根据权利要求3所述的交换网板拔出时不间断转发数据的方法,其特征在于,所述步骤A3具体包括:
当所述网板输出队列内的地址索引信息停留的时间超过设定的时间时,从所述网板输出队列的头部读取地址索引信息,并将其保存在空闲缓存区索引池内。
5.根据权利要求3所述的交换网板拔出时不间断转发数据的方法,其特征在于,所述步骤A3具体包括:
当所述网板输出队列内的地址索引信息积累的数量超过设定的阈值时,从所述网板输出队列的头部读取地址索引信息,并将其保存在空闲缓存区索引池内。
6.根据权利要求1至5中任意一项权利要求所述的交换网板拔出时不间断转发数据的方法,其特征在于,所述步骤B具体包括:
步骤B1:当有交换网板被拔出时,停止向所有交换网板发送数据信元;
步骤B2:从所述被拔交换网板对应的网板输出队列中读取地址索引信息;
步骤B3:根据所述地址索引信息从所述存储器中读取已发往所述被拔交换网板的数据信元;
步骤B4:将已发往所述被拔交换网板的数据信元重新发送给其余交换网板。
7.根据权利要求6所述的交换网板拔出时不间断转发数据的方法,其特征在于,所述步骤B4之后还包括:
恢复向所述其余交换网板发送数据信元。
8.根据权利要求6所述的交换网板拔出时不间断转发数据的方法,其特征在于,所述步骤B4之后还包括:
将所述被拔交换网板对应的网板输出队列内的所有地址索引信息都保存在空闲缓存区索引池内,并删除所述被拔交换网板对应的网板输出队列。
9.根据权利要求6所述的交换网板拔出时不间断转发数据的方法,其特征在于,所述步骤B4之后还包括:
将所述被拔交换网板对应的网板输出队列内的所有地址索引信息都保存在空闲缓存区索引池内,并保留所述被拔交换网板对应的网板输出队列。
10.一种交换网板拔出时不间断转发数据的装置,包括存储器,缓存区控制器,缓存区管理器,空闲缓存区索引池,虚拟输出队列以及原始调度器,其特征在于,还包括:
网板输出队列模块,用于建立网板输出队列;
调度模块,用于当有交换网板被拔出时,根据所述网板输出队列将已发往所述被拔交换网板的数据信元重新发送给其余交换网板。
11.根据权利要求10所述的交换网板拔出时不间断转发数据的装置,其特征在于,所述网板输出队列模块具体包括:
创建单元,用于为每个交换网板建立一个与之对应的网板输出队列;
保存单元,用于从存储器读取数据信元,向所述交换网板发送所述数据信元,并将所述数据信元在所述存储器内的地址索引保存在接收该数据信元的交换网板对应的网板输出队列里。
12.根据权利要求10所述的交换网板拔出时不间断转发数据的装置,其特征在于,所述调度模块具体包括:
并列调度器,与所述网板输出队列模块和所述空闲缓存区索引池连接,用于当有交换网板被拔出时,从所述网板输出队列中找到所述被拔交换网板对应的网板输出队列,并输出所述被拔交换网板对应的网板输出队列内保存的地址索引信息,以及按照预先设定的规则从所述各网板输出队列头部读取地址索引信息,并保存到空闲缓存区索引池,然后将所读取的地址索引信息从所述各网板输出队列的头部删除;
上级调度器,与所述原始调度器,所述并列调度器以及所述网板输出队列模块连接,用于将发往各交换网板的数据信元的地址索引信息,保存在接收该数据信元的交换网板对应的网板输出队列中;当有交换网板被拔出时,停止调度所述原始调度器,开始接收所述并列调度器输出的地址索引信息,并将所述地址索引在所述存储器内对应的数据信元发送给所述其余交换网板;当所述数据信元全部发送给所述其余交换网板后,停止调度所述并列调度器,恢复调度所述原始调度器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100786471A CN100521642C (zh) | 2006-04-29 | 2006-04-29 | 交换网板拔出时不间断转发数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100786471A CN100521642C (zh) | 2006-04-29 | 2006-04-29 | 交换网板拔出时不间断转发数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1984026A true CN1984026A (zh) | 2007-06-20 |
CN100521642C CN100521642C (zh) | 2009-07-29 |
Family
ID=38166274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100786471A Expired - Fee Related CN100521642C (zh) | 2006-04-29 | 2006-04-29 | 交换网板拔出时不间断转发数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100521642C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911380A (zh) * | 2017-02-28 | 2017-06-30 | 新华三技术有限公司 | 一种通道恢复方法及装置 |
-
2006
- 2006-04-29 CN CNB2006100786471A patent/CN100521642C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911380A (zh) * | 2017-02-28 | 2017-06-30 | 新华三技术有限公司 | 一种通道恢复方法及装置 |
CN106911380B (zh) * | 2017-02-28 | 2019-07-05 | 新华三技术有限公司 | 一种通道恢复方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100521642C (zh) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101202707B (zh) | 高速单板传输报文的方法、现场可编程门阵列及高速单板 | |
CN106326155A (zh) | 一种多总线数据记录与回放装置及方法 | |
CN105376129B (zh) | 一种1394总线事务层-链路层数据包发送电路及方法 | |
CN101753584B (zh) | VxWorks系统下提高智能变电站快速报文处理速度的方法 | |
CN104980293B (zh) | 一种oam报文快速发送和检测处理的方法及装置 | |
CN101877631A (zh) | 服务器及其业务切换方法 | |
CN100521642C (zh) | 交换网板拔出时不间断转发数据的方法和装置 | |
CN103617132B (zh) | 一种基于共享存储的以太网终端发送实现方法及终端装置 | |
CN101114913B (zh) | 模块化交换机 | |
CN102404183B (zh) | 仲裁方法和仲裁器 | |
CN101894055A (zh) | 一种具有冗余功能的刀片主板接口的实现方法 | |
CN101146034A (zh) | 一种smn报文控制方法 | |
CN101247663B (zh) | 大容量路由系统及其转发表生成方法 | |
CN1964286B (zh) | 具有双cpu的主控设备 | |
TW201424295A (zh) | 匯流排訊號監測裝置及方法 | |
CN101453336B (zh) | 一种降低数字用户线功耗的方法、装置和系统 | |
CN102143053A (zh) | 传输数据的方法、装置和系统 | |
CN102420734A (zh) | 一种can总线拓扑结构实现系统 | |
CN110413322A (zh) | 一种服务器网口管理方法、系统以及基板管理控制器 | |
CN113923171B (zh) | 一种基于负荷辨识检测平台的通信管理方法 | |
CN103384225B (zh) | 基于输入交叉点缓存快速分组交换网络的流量控制方法 | |
TW200928733A (en) | Apparatus and method for scheduling commands | |
CN101127677A (zh) | 一种基于胖树拓扑的屏障操作网络系统、装置及方法 | |
CN100499566C (zh) | 采用指针技术存储数据包的方法 | |
CN1671217B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090729 Termination date: 20170429 |