可扩展二维数组结构及用其实现路由系统热备份的方法

文档序号:7943248阅读:377来源:国知局
专利名称:可扩展二维数组结构及用其实现路由系统热备份的方法
技术领域
本发明属于数据通信技术领域,特别涉及路由系统热备份的方法和结构设计。
背景技术
路由器在数据通信领域中扮演非常重要的角色,尤其是核心路器,在骨干网中瞬间转发大量的数据报文。然而无论是硬件还是软件,都存在失效的可能性。核心路由器往往配有冗余的硬件、软件资源,在失效后能够切换到备份资源上。然而,目前大多数的路由器在切换后,需要重新启动备份资源上的路由控制进程,例如边界网关协议(BGP-Border GatewayProtocol,在网络中自治系统之间传递路由的路由协议)、最短路径优先(OSPF-Open Short Path First,在网络中一个自治系统内部计算路由的路由协议)、协议无关的组播路由协议(PIM-Protocol Independent Multicast,网络中发现、传递多播路由的路由协议)等路由协议,重新与邻居建立连接,进行路由计算。这将导致大量报文在切换过程中被丢弃,网络拓扑变化以及路由震荡。
不间断路由(NSR-Non-Stop Routing用来在网络中单点失效后保持路由交换不间断的技术)与不间断转发(NSF-Non-Stop Forwarding用来在网络中单点失效后保持数据转发不间断的技术)是试图解决这一问题的技术,其目的是在网络中路由器单点失效后,使备份资源能够平滑切换,保持与周边邻接路由器的连接与路由交换,并在切换过程中保持数据转发,将单点失效对网络的负面影响降低到最小程度。
实现NSR/NSF有几种可选方案,包括协议慢重启扩展(协议GracefulRestart扩展,是对路由协议的功能扩展)、硬件镜像、协议镜像,以及路由系统热备份等。
协议Graceful Restart扩展的方法;协议Graceful Restart扩展是对路由协议功能的扩充,路由协议可以用它来通知邻接路由器当本路由器的路由控制进程失效后,本路由器依旧能够转发数据报文,并且在失效后不久,路由控制进程会在短时间内重启。邻接路由器在判断出该路由器失效后,将默认它会迅速恢复,并且持续向它转发数据报文,也不进行路由重定向。在失效点重启后,邻接路由器向它重新发送所有路由或者链路状态数据。这种方法将网络的单点失效造成的影响限制在一个相对小的范围内,避免网络振荡和数据丢失。这种方法称为路由协议Graceful Restart扩展。
协议Graceful Restart扩展的局限性在于1.路由协议互操作性该方案最直接的问题是互操作性问题。网络中的设备需要实现相同的标准,采用相同的方式通信。在没有最终标准的情况下,这种互操作性需求更加明显。
2.无法区分“软启动”与“硬启动”在某个路由器失效后,邻接路由器其实无法判断出它是否真正能够保持转发并能够在短时间内恢复,即使它曾经宣称自己支持协议Graceful Restart扩展。如果路由器是因为某些不可恢复的灾难性故障而失效,那么它只能“硬启动”,既不能保持转发,也不能在短时间内“回来”。与此同时,它的邻接路由器还在不断地向它转发数据报文并期待它很快恢复,直到预定义的等待时间超时。这样做带来的后果可能要比邻接路由器直接重定向路由带来的危害更大。
3.路由恢复的时间长协议Graceful Restart扩展要求在失效路由器重启后,邻接路由器向它重新发送所有路由信息。在核心网骨干路由器上,路由的数目可能非常巨大。由此导致的问题是路由恢复时间会持续很长时间,从而使重启后的路由器在很长一段时间内一直使用最早从邻接路由器收到的、原本应该超时的路由进行数据转发,并可能因此引发路由环路、黑洞和网络的不稳定。
4.两台或两台以上的路由器同时失效协议Graceful Restart扩展的原理是一台路由器失效并重启后,需要从邻接路由器那里获得路由信息。如果相邻的路由器同时失效,这个假设便不成立,从而导致相互求索路由的问题,以及一些额外的不确定因素。
5.协议重启后不能避免再次失效在失效路由器重启后,它会从邻接路由器那里重新获得全部路由信息。如果上次失效是因为一个错误的路由报文,导致本机软件走到了一个导致死机的异常分支,那么重新获得路由报文后,相同的问题依旧可能重新发生。
硬件镜像的方法硬件镜像是通过硬件手段保持备份控制板与主控制板的严格一致,包括协议进程状态、路由信息和内存状态。当主控制板因为硬件故障失效后,备份控制板可以立刻启用。
硬件镜像不需要邻接路由器的配合,因此不存在互操作性问题。另外,也不需要在重启后重新获得路由,因此具有很快的恢复速度。
硬件镜像局限性在于1、对带宽的要求高因为要求主、备严格一致,因此路由器设备在硬件设计上需要充分考虑,最主要的一点是需要提供足够大的带宽以保证主控制板的数据能够实时、可靠地传送到备份板。
2、不保护软件失效在硬件镜像模式下,备份控制板在主板失效后,从相同的控制点继续执行操作。但是如果主控制板是因为软件问题失效,那么备份板在启动后会因为同样的原因再次失效,因为二者的代码和待处理信息完全一致。所以硬件镜像不保护因为软件问题导致的失效。
3、不支持软件升级NSR/NSF的一个用处就是在对网络冲击尽可能小的情况下对软件进行升级。但是硬件镜像方案在硬件上限制了主、备控制板必须严格一致,因此无法对软件升级提供支持。
协议镜像的方法协议镜像的原理是运行两个相对独立的(例如在两个处理板上)协议控制进程。这两个进程同时接收外界发来的路由更新报文,进行路由计算。在主进程失效后,备份进程接替工作。
它与硬件镜像一样,没有互操作问题,并且失效后备份协议进程恢复速度很快。
协议镜像的局限性在于1、不能避免备份协议进程再次失效如果主协议进程是因为处理路由信息而导致的软件失效,那么备份进程也可能因为处理相同的路由信息而失效。
2、要求主、备协议进程保持同步保持主、备进程同步的办法是让主、被同时启动,时刻处于同样的状态。这要求软件在时序上严格一致,实现上有相当的困难。

发明内容
本发明的目的是为克服已有技术的不足之处,提出一种可扩展二维数组结构及用其实现路由系统热备份的方法,可在主控制板失效后,由备份控制板利用已经从主控制板备份的路由信息接替与外界的路由交换,从而实现不间断路由。并且,这种结构和方法产生的主备切换过程对邻接路由器透明,不需要外界支持,有良好的自我包含性的优点。
本发明提出的一种可扩展二维数组结构(简称DB),其特征在于,由横向和纵向两维结构组成;所说的横向结构是一块块连续内存区,所说的纵向结构是可扩展的指针数组。
所说的每个内存区可为由多个大小固定的信元组成的信元簇;每个信元分为信元头和信元数据区两个部分,所说的信元头的内容可包括该信元与地址无关的索引;描述该信元所处状态的标志;用于将处于相同状态的信元链接起来的前、后信元索引;所说的信元数据区的内容可为需要存储和备份的数据。
所说的状态可包括空闲状态、使用状态、添加状态、修改状态、删除状态及等待状态。
所说的信元本身的索引以及前、后索引可采用与地址无关的数组下标。
所说的每个指针数组,其数组元素可为信元簇头,该信元簇头可包含指向所对应的信元簇的首地址以及其中的空闲信元的个数的信息。
本发明所述可扩展二维数组结构,其可扩展性是指当已有信元簇的容量不足以添加新的数据时,可以从内存中分配更多的空闲信元簇,并为之扩展纵向指针数组以纪录新增信元簇的首地址。
本发明利用上述的可扩展二维数组结构实现路由系统热备份的方法,其特征在于,待热备份的路由系统的活跃控制板和备份控制板上均采用DB来存储数据;包括以下步骤1)在活跃控制板上收集待备份的信元数据,打包封装成备份报文并发往备份控制板,并在成功发送以后更新信元的标志;2)在备份控制板上将备份报文解包,将备份的信元恢复到备份控制板的DB中,并恢复每个信元对应的查询结构。
所说的更新标志,可指将处于“添加”、“修改”状态的信元标志更新为“使用中”状态标志;将处于“删除”状态的信元标志更新为“空闲”状态标志。
所说的第1)步中还可包括如果备份报文发送失败,则进行错误处理。
所说的第2)步中还可包括对于刚刚备份的信元打上“等待同步”的标志。
采用上述方法时,如果DB中需要备份的数据很多,不能在一个备份报文中全部备份,则重复上述步骤,直到所有数据都被备份。
本发明的工作原理在分布式路由器中,有主控板和接口板之分。主控板运行路由等主要控制进程,接口板装有转发表,主要负责数据转发。在冗余配置情况下,往往有两块主控板互为备份。任意时刻,只有一块主控板与外界通信,进行路由计算,并把这些数据备份到备份板。在当前活跃主控板因软、硬件故障失效后,备份板在较短时间内启动,恢复与外界的通信。
本发明把当前处于活跃状态、与外界通信的主控板称为活跃主控板,该板是具有双主控板的分布式路由器中当前与外界通信的控制板。另外一块处于备份状态的则称为备份主控板,是具有双主控板的分布式路由器中当前处于备份状态的控制板。
一个数据在备份到备份控制板以后,其地址不保证与活跃控制板相同。因此,相互关联的模块之间需要用与地址无关的方式进行联系,这样可以降低数据之间的耦合度,方便进行热备份。
本发明就是利用了DB特点,同时做到对内存的灵活扩充与收缩,对数组元素统一索引,并且因为数组本身的特点,根据索引找到相应的元素是直接地址访问,不存在效率问题。
本发明的DB及用其实现路由系统热备份方法具有以下特点1.将数据的存储与查询分离,两者相互独立,可以各自选择最佳方案;2.用统一方式存储数据,对数据结构的长度、细节不限制;3.数据的检索与地址无关,方便备份后重建模块间关联关系;4.降低模块间数据结构的耦合度。


图1为本发明的DB的结构示意图。
图2为本发明利用DB在活跃控制板上进行热备份处理实施例的流程框图。
图3为本发明利用DB在备份控制板上进行热备份处理实施例的流程框图。
具体实施例方式
本发明提出的一种DB结构及利用DB实现路由系统的热备份的方法结合实施例及其附图详细说明如下本发明的DB结构实施例如图1所示DB实际上是一个可以动态伸缩的二维数组。横向结构是一块块连续内存区,纵向结构是可扩展的指针数组。每个指针数组的数组元素是信元簇头,每个信元簇头包含指向所对应的信元簇的首地址以及其中的空闲信元的个数的信息,如图左侧所示。
图中右侧为内存区,也称为信元簇。一个信元簇中包含一簇小单位内存块,称为信元。一个信元由两部分组成信元头和信元数据。信元头中包含信元与地址无关的索引;描述该信元所处状态的标志;用于将处于相同状态的信元链接起来的前、后信元索引;信元本身的索引以及前、后索引采用与地址无关的数组下标。DB定义了如表1所示的几个信元标志包括空闲状态、使用状态、添加状态、修改状态、删除状态及等待同步状态。
表1

表2为DB支持的与热备份有关的操作。
表2

利用上述DB在活跃控制板上进行路由系统热备份的方法实施例包括在活跃控制板上的处理流程和在备份控制板上的处理流程,如图2、3所示,二者合起来构成完整的热备份的方法。
首先待热备份的路由系统的活跃控制板和备份控制板上均采用DB结构来存储数据。
本实施例在活跃控制板上进行热备份处理流程如图2所示,包括以下步骤第(1)步收集DB中需要备份的信元数据并按照一定格式封装打包成备份报文;此处“一定格式”是指活跃控制板和备份控制板都遵守的、对报文内容的解释规则。包括报文头和报文内容两部分。报文头中包括备份数据的类型、长度等信息;第(2)步将备份报文通过板间通信发送到备份控制板。板间通信的具体方法可采用常规技术,在此不再重述;第(3)步判断备份报文发送是否成功。判断的方法与具体的板间通信方法有关,可采用常规技术,在此不再重述;第(4)步若发送成功,更新DB中信元的状态标志,保证已经被备份的信元不会再次备份。更新状态标志,是指将处于“添加”、“修改”状态标志的信元更新为“使用中”状态标志;将处于“删除”状态标志的信元更新为“空闲”状态标志;第(5)步如果备份失败,进行错误处理;错误处理可以是重新传输,也可以是放弃并退出热备份流程。
本实施例在备份控制板上进行热备份的处理流程如图3如示,包括以下步骤第(1)步接收从活跃控制板发来的备份报文;第(2)步将备份报文按照预定义格式拆包,恢复其中的信元在DB中的存储,并将这些刚刚恢复的信元的标志更新为“等待同步”状态标志;第(3)步从DB中读取处于“等待同步”状态标志的信元,恢复其对应的查询结构。
处于“等待同步”状态的信元一旦在备份板上被读出,它的状态标志将被更新,不再处于“等待同步”状态。至此,路由系统的一次备份结束。
上述的信元的查询结构是指用来根据关键字对信元进行检索的数据机构,例如二叉树。DB是用于对数据的存储结构进行热备份,对数据的查询结构不做任何限制。此处描述“恢复数据查询结构”完全是为了方法的完整性。
如果待备份的数据量大,则重复上述步骤,直到所有数据备份完毕。
权利要求
1.一种可扩展二维数组结构,其特征在于,由横向和纵向两维结构组成;所说的横向结构是一块块连续内存区,所说的纵向结构是可扩展的指针数组。
2.如权利要求1所述的一种可扩展二维数组结构,其特征在于,所说的每个内存区是由多个大小固定的信元组成的信元簇,每个信元分为信元头和信元数据区两个部分。
3.如权利要求2所述的一种可扩展二维数组结构,其特征在于,所说的信元头的内容包括该信元与地址无关的索引;描述该信元所处状态的标志;用于将处于相同状态的信元链接起来的前、后信元索引;所说的信元数据区的内容是需要存储和备份的数据。
4.如权利要求3所述的一种可扩展二维数组结构,其特征在于,所说的状态包括空闲状态、使用状态、添加状态、修改状态、删除状态及等待同步状态。
5.如权利要求3所述的一种可扩展二维数组结构,其特征在于,所说的信元本身的索引以及前、后索引采用与地址无关的数组下标。
6.如权利要求2所述的一种可扩展二维数组结构,其特征在于,所说的每个指针数组的数组元素是信元簇头,每个信元簇头包含指向所对应的信元簇的首地址以及其中的空闲信元的个数的信息。
7.一种采用如权利要求1所述的可扩展二维数组结构实现路由系统热备份的方法,其特征在于,待热备份的路由系统的活跃控制板和备份控制板上均采用可扩展二维数组结构来存储数据;包括以下步骤1)在活跃控制板上收集待备份的信元数据,打包封装成备份报文并发往备份控制板,并在成功发送以后更新信元的标志;2)在备份控制板上将备份报文解包,将备份的信元恢复到备份控制板的可扩展二维数组结构中,并恢复每个信元对应的查询结构。
8.如权利要求7所述的实现路由系统热备份的方法,其特征在于,所说的更新标志,是指将处于“添加”、“修改”状态的信元标志更新为“使用中”状态标志;将处于“删除”状态的信元标志更新为“空闲”状态标志。
9.如权利要求7所述的实现路由系统热备份的方法,其特征在于,所说的第1)步中还包括如果备份报文发送失败,则进行错误处理。
10.如权利要求7所述的实现路由系统热备份的方法,其特征在于,所说的第2)步中还包括对于刚刚备份的信元打上“等待同步”的标志。
全文摘要
本发明属于数据通信技术领域,涉及可扩展二维数组结构及用其实现路由系统热备份的方法,该二维数组结构由一块块连续内存区横向结构和可扩展的指针数组纵向结构组成。该方法为在活跃控制板上收集待备份的信元数据,打包封装成备份报文并发往备份控制板,并在成功发送以后更新信元的标志;在备份控制板上将备份报文解包,将备份的信元恢复到备份控制板的可扩展二维数组结构中,并恢复每个信元对应的查询结构。本发明的这种结构和方法产生的主备切换过程对邻接路由器透明,不需要外界支持,有良好的自我包含性的优点。
文档编号H04Q3/00GK1505274SQ02154690
公开日2004年6月16日 申请日期2002年12月4日 优先权日2002年12月4日
发明者徐小飞 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1