首页> 中国专利> 一种交换机热备份平滑阶段的数据比较方法及装置

一种交换机热备份平滑阶段的数据比较方法及装置

摘要

本发明揭示了一种交换机热备份平滑阶段的数据比较方法及装置,所述方法包括将主交换机上的所有数据分别备份给备交换机和线卡,所有数据中的每个数据均设置一ID标记和与ID标记对应的计数标记,同步主交换机、备交换机和线卡的计数标记;在平滑阶段,备交换机将其上所有数据的ID标记和对应的计数标记传递给线卡,并分别与线卡上的所有数据的ID标记和计数标记进行比较;根据比较结果,将线卡内的数据和备交换机内的数据调整为一致。本发明压缩了所需要比较的数据,使得主备平滑阶段,进程间所需要传递的信息大大减少,从而减少平滑阶段的时间,使得设备的整体性能得到提高。

著录项

  • 公开/公告号CN112559246A

    专利类型发明专利

  • 公开/公告日2021-03-26

    原文格式PDF

  • 申请/专利权人 盛科网络(苏州)有限公司;

    申请/专利号CN202011454270.1

  • 发明设计人 王力;杨八双;

    申请日2020-12-10

  • 分类号G06F11/14(20060101);

  • 代理机构32269 苏州集律知识产权代理事务所(普通合伙);

  • 代理人安纪平

  • 地址 215000 江苏省苏州市工业园区星汉街5号(腾飞工业坊)B幢4楼13/16单元

  • 入库时间 2023-06-19 10:24:22

说明书

技术领域

本发明涉及一种交换机热备份技术,尤其是涉及一种交换机热备份平滑阶段的数据比较方法及装置。

背景技术

在交换机热备功能中,有一个平滑功能,也就是主交换机下线时,备交换机要接管主交换机的职责,此时会经过一个平滑阶段,将备交换机的上层数据,与原来主交换机管理的线卡数据进行比对,把多余的数据删除、漏了的数据补上、不正确的数据纠正等。从而使得备交换机升为主时,上下数据一致,这个阶段就是平滑阶段。

交换机中,模块众多,但是平滑阶段是每个模块都要经历的,所以每个模块的平滑效率一定要得到保证,而其中影响平滑效率最主要的因素是:数据在不同进程间进行传递的次数。所以一般我们都会把多个数据封装在一个通信报文中,以减少通信次数。对于一些数据存储结构单元小的模块,例如路由、FDB(Forwarding DataBase,转发数据库)等模块,一个数据单元大小一般在几十个字节左右,一次通信就能传递上百个数据,所以这个方法很有效。但是每个模块都有每个模块的特点,这个方法不是所有模块都适用,例如ACL模块,因其匹配和动作表项的巨大,一个数据单元往往就是几千字节的大小。对于这样的模块,一次通信所能携带的数据个数都是个位数的,效率提升不大。

如图1所示,现有交换机热备份平滑阶段的处理都是上下进行完整的数据比较,例如上层进程数据A有10个32位的数据和下层进程数据B进行关联,那么在平滑阶段需要将数据A的所有数据传到数据B所在的进程进行比较。

但是,如果数据A很大,例如交换机中的ACL(Access Control List,访问控制列表)模块,往往一个数据的大小就在几千字节左右,而进程间通信一次所能携带的报文字节数是有限的,大字节的数据一次可能只能传递一两个。一旦配置了较多的ACL,在平滑阶段,会有大量的数据在进程间传递、比较,导致平滑时间很长,也会影响其他模块的平滑效率。

发明内容

本发明的目的在于克服现有技术的缺陷,提供一种交换机热备份平滑阶段的数据比较方法及装置。

为实现上述目的,本发明提出如下技术方案:一种交换机热备份平滑阶段的数据比较方法,包括:

S100,将主交换机上的所有数据分别备份给备交换机和线卡,所述所有数据中的每个数据均设置一ID标记和与ID标记对应的计数标记,同步所述主交换机、备交换机和线卡的所述计数标记;

S200,在平滑阶段,所述备交换机将其上所有数据的ID标记和对应的计数标记传递给线卡,并分别与线卡上的所有数据的ID标记和计数标记进行比较;

S300,根据比较结果,将所述线卡内的数据和备交换机内的数据调整为一致。

优选地,S100中,所述主交换机对ID标记每进行一次操作,对应的计数标记加1,所述操作包括增、删、改。

优选地,S100中,所述备交换机根据主交换机的ID标记和计数标记,同步同一个ID标记对应的计数标记,使得所述主交换机和备交换机的计数标记同步。

优选地,S100中,所述主交换机将每个数据的计数标记携带到与线卡的通信数据中,使得所述线卡和主交换机的计数标记同步。

优选地,S300中,所述比较结果包括:所述线卡中存在备交换机没有传递的ID标记、所述线卡中存在与备交换机ID标记和计数标记相同的数据、所述线卡中存在与备交换机ID标记相同但计数标记不同的数据。

优选地,S300中,对于线卡中存在备交换机没有传递的ID标记,所述线卡将所述ID标记对应的该数据直接进行删除。

优选地,S300中,对于线卡中存在与备交换机ID标记和计数标记相同的数据,则表明这部分数据正确,则不予处理。

优选地,S300中,对于线卡中存在与备交换机ID标记相同但计数标记不同的数据,所述线卡先本地删除所述数据,再请求备交换机下发正确的数据。

优选地,所述请求备交换机下发正确的数据的过程包括:

线卡告知备交换机正确的数据;

备交换机将所述正确的数据与本地数据相比较,将除正确数据以外的数据下发给线卡,使得线卡内的数据和备交换机内的数据调整为一致。

本发明还揭示了另外一种技术方案:一种交换机热备份平滑阶段的数据比较装置,包括:

数据同步模块,用于将主交换机上的所有数据分别备份给备交换机和线卡,所述所有数据中的每个数据均设置一ID标记和与ID标记对应的计数标记,并同步所述主交换机、备交换机和线卡的所述计数标记。

数据比较模块,用于在平滑阶段,将备交换机上所有数据的ID标记和对应的计数标记传递给线卡,并分别与线卡上的所有数据的ID标记和计数标记进行比较。

数据调整模块,用于根据数据比较模块的比较结果,将所述线卡内的数据和备交换机内的数据调整为一致。

本发明的有益效果是:本发明通过对进程数据加上一个计数标记,平滑阶段通过计数标记来代替数据本身进行数据比较,在一定程度上能很好地压缩了所需要比较的数据,使得主备平滑阶段,进程间所需要传递的信息大大减少,从而减少平滑阶段的时间,使得设备的整体性能得到提高。

附图说明

图1是现有数据比较的原理示意图;

图2本发明数据比较的原理示意图;

图3是本发明方法的流程示意图;

图4是本发明步骤S100的原理示意图;

图5是本发明步骤S200的原理示意图;

图6是本发明装置的模块示意图。

具体实施方式

下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。

本发明所揭示的一种交换机热备份平滑阶段的数据比较方法及装置,主要用于框式交换机及支持堆叠功能的交换机领域,通过对进程数据加上一个计数标记(Seq),平滑阶段通过计数标记来代替数据本身进行数据比较,在一定程度上能很好地压缩了所需要比较的数据,使得主备平滑阶段,进程间所需要传递的信息大大减少,从而减少平滑阶段的时间,使得设备的整体性能得到提高。

结合图2~图5所示,本发明所揭示的一种交换机热备份平滑阶段的数据比较方法,包括以下步骤:

S100,将主交换机上的所有数据分别备份给备交换机和线卡,所述所有数据中的每个数据均设置一ID标记和与ID标记对应的计数标记,同步所述主交换机、备交换机和线卡的所述计数标记。

具体地,首先,需要解释的是,在交换机软件中的每个数据都可以用一个唯一的ID来作为标记,这是一种常用的手段,即使有些数据因为关键字(key)的简洁而省去了这个ID标记,对此也可以认为它的key也是一种ID标记,对于复杂的数据结构,往往都会以ID为标记。

在交换机软件中,大部分数据结构,以ACL为例,都是软件上面的进程给下面的进程传递ACL信息,所以可以认为下面进程的数据变化都是上面进程来驱动的。数据进行增、删、改等操作的时候都会带上ID标记来索引数据。

也就是说,本发明主交换机上的所有数据的每个数据都具有一个唯一的ID标记,如数据A的ID为1。与现有不同的是,本发明对每个ID标记增加一个计数标记,用于记录该ID标记进行增、删、改等操作的次数,该ID标记每进行一次操作,对应的计数标记加1。本实施例中,每个数据的计数标记设置为4字节,ID标记设置为8字节,即每个数据的计数标记和ID标记总共为12字节,本发明的平滑阶段就是用这12字节的数据来代替ACL中几千字节的数据进行比较。

结合图2和图4所示,主交换机将其上的所有数据分别备份给备交换机和线卡,且同步主交换机、备交换机和线卡的计数标记,如将主交换机内的数据A,分别备份给备交换机形成数据C,备份给线卡形成数据B。具体地,备交换机上线后,根据主交换机的ID标记和计数标记,同步同一个ID标记对应的计数标记,这样,对于一条指令的输入,主交换机、备交换机对于同一个ID标记的计数是一致的,如主交换机内数据A对应的计数标记与备交换机内数据C对应的计数标记一致。

另外,每个ID标记的数据会将计数标记携带在每一次进程间的通信数据中,也就是下面的进程(如线卡)在每一次接收到ID标记的数据改变后,都能记录当前ID的计数。这样随着系统运行,就会存在三份ID计数,具体为主交换机进程上的、备交换机进程上的和线卡进程上的。分别代表着ID标记对应的原数据在三个进程中的存在状态,计数一致就认为一致,不一致就认为数据改变了。

S200,在平滑阶段,所述备交换机将其上所有数据的ID标记和对应的计数标记传递给线卡,并分别与线卡上的所有数据的ID标记和计数标记进行比较。

具体地,主交换机停止工作时,备交换机接管工作,此时进入交换机热备份的平滑阶段,开始上下进行的数据比较。与现有不同的是,本发明只需将ID标记和与ID标记对应的计数标记向下面进程通信比较,由于这个数据量极小,一次通信可以携带几百个,所以大大提高比较效率。

具体地,结合图2、图3和图5所示,备交换机将其上所有数据的ID标记和对应的计数标记传递给线卡,线卡接收完所有的ID标记和计数标记后,将接收到ID标记和计数标记分别与线卡上的所有数据的ID标记和计数标记进行一一对应比较。如将备交换机上的数据C的ID标记和计数标记与线卡上的数据B的ID标记和计数标记进行一一比较。

S300,根据比较结果,将线卡内的数据和备交换机内的数据调整为一致。

具体地,所述比较结果包括:所述线卡中存在备交换机没有传递的ID标记、所述线卡中存在与备交换机ID标记和计数标记相同的数据、所述线卡中存在与备交换机ID标记相同但计数标记不同的数据。

对于上述比较结果,所述线卡对应的处理过程包括:

对于线卡中存在备交换机没有传递的ID标记,说明线卡中该ID标记对应的数据是多余的数据,则将该ID标记对应的数据直接进行删除。

对于线卡中存在与备交换机ID标记和计数标记相同的数据,则表明这部分数据正确,则不予处理。

对于线卡中存在与备交换机ID标记相同但计数标记不同的数据,则表明这部分数据是错误的,则先本地删除,再请求备交换机下发正确的数据。

所述请求备交换机下发正确的数据的过程具体包括:

线卡告知备交换机正确的数据;

备交换机将所述正确的数据与本地数据相比较,将除正确数据以外的数据下发给线卡,使得线卡内的数据和备交换机内的数据调整为一致。由于这个增量下发的数据条目是很少的,所以不会影响数据比较效率。

对应的,结合图6所示,本发明所揭示的一种交换机热备份平滑阶段的数据比较装置,包括:

数据同步模块,用于将主交换机上的所有数据分别备份给备交换机和线卡,所述所有数据中的每个数据均设置一ID标记和与ID标记对应的计数标记,并同步所述主交换机、备交换机和线卡的所述计数标记。

数据比较模块,用于在平滑阶段,将备交换机上所有数据的ID标记和对应的计数标记传递给线卡,并分别与线卡上的所有数据的ID标记和计数标记进行比较。

数据调整模块,用于根据数据比较模块的比较结果,将所述线卡内的数据和备交换机内的数据调整为一致。

其中,数据同步模块、数据比较模块和数据调整模块的工作原理可分别参照上述步骤S100~S300中的描述,这里不做赘述。

本发明提出了一种有效准确的信息压缩技术,将进程间比较传递的数据减少,从而提高比较效率。

本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号