CN1540927A - L3交换机海量配置的快速恢复方法 - Google Patents

L3交换机海量配置的快速恢复方法 Download PDF

Info

Publication number
CN1540927A
CN1540927A CNA2003101034223A CN200310103422A CN1540927A CN 1540927 A CN1540927 A CN 1540927A CN A2003101034223 A CNA2003101034223 A CN A2003101034223A CN 200310103422 A CN200310103422 A CN 200310103422A CN 1540927 A CN1540927 A CN 1540927A
Authority
CN
China
Prior art keywords
buffer
configuration
link
configuration information
buffer link
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
Application number
CNA2003101034223A
Other languages
English (en)
Other versions
CN100490399C (zh
Inventor
袁锋峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Harbour Networks Holdings Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbour Networks Holdings Ltd filed Critical Harbour Networks Holdings Ltd
Priority to CNB2003101034223A priority Critical patent/CN100490399C/zh
Publication of CN1540927A publication Critical patent/CN1540927A/zh
Application granted granted Critical
Publication of CN100490399C publication Critical patent/CN100490399C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种L3交换机海量配置的快速恢复方法,属于计算机网络通信领域。当用户保存配置的时候,每个模块分别以命令的形式输出自己的配置信息,该配置信息保存在一个buffer link中,当所有的配置信息获取完成后,所有的配置信息一次性的写入存储设备中,当设备重新启动之后,从存储设备中读取配置信息到buffer link中。配置的保存和恢复中使用由多个buffer link node组成的buffer link,使用指针把多个buffer link node连接起来成为一个link,当buffer link容量不够的时候,可再申请一个buffer link node,使占用的内存随着配置信息的多少以一个很小的粒度进行增长。当为每一块板分别配置一个bufferlink时,单板的配置信息可拷贝到对应的buffer link中,使基于单板的热插拔配置恢复的功能没有冗余,效率高。

Description

L3交换机海量配置的快速恢复方法
所属技术领域
本发明属于计算机网络通信领域,具体涉及分布式结构通信设备中,整机启动和单板(模块)插拔时的配置保存和恢复。
背景技术
在通信设备中,特别是处在复杂网络环境中的通信设备,当设备掉电重启之后,管理人员需要重新进行配置,这是一项十分繁重的工作,在设备较多的情况下,使人难以忍受。如果在用户进行配置完成之后,能够把配置保存下来,在下一次设备重新启动的时候把这些配置自动恢复。这样可以减轻用户的配置工作。
另外,如果设备是基于分布式构架而设计的,那么当其中一块单板(模块)拔出的时候,需保存这块板相关的配置信息,当板再次插入的时候,恢复其相关配置,应恢复到拔出时的状态,即“热插拔”。
目前比较普遍的实现这两个功能的方案,在对内存进行操作的时候使用了分配固定大小的内存或者使用realloc进行动态增长的方法,这些方法存在如下问题:
1、支持的配置量的问题
因为在配置保存的时候要先把配置保存到内存,在恢复时要进行文本分析,所以一般在处理配置信息的时候,都要分配相应的内存。在操作过程中可能会遇到下述的两种情况:一是不能知道需要分配的内存的具体大小,比如用来保存配置信息的存储设备不支持,或者软件算法导致的内存大小未知;二是软件运行的系统平台有最大分配内存块的限制。对于前者只能大概估算一下最大的配置量,分配相应内存,如果估算过小,功能将会有问题,如果估算过大,势必造成较大的内存浪费。如果使用realloc的方法,效率会比较低,因为会有大量的内存拷贝的动作。对于后者,如果不采取其他的内存使用方法,那就直接限制了交换机所能支持的最大配置量。而realloc方法也不能解决这个问题。
2、热插拔实现效率不高
热插拔的实现一般有两种方案,一是当单板插入的时候,执行所有的命令,这样会有一些无关的命令也被执行,功能上有冗余,并且效率不高;二就是只执行插入板相关的命令,这要求配置命令跟板有一个对应的关系,需要进行文本分析,分割配置信息。这就出现了前面提到的问题:每一块板相关的配置信息在分析之前是未知的,如何分配和使用内存?
而且当配置量很大的时候,文本分析的效率会变得比较低,因为需要针对不同的板号进行循环多次的遍历分析。
发明内容
本发明克服上述整机启动和单板插拔时配置保存和恢复的不足,提供一种提高存储和执行性能的L3交换机海量配置的快速恢复方法。
本发明的技术内容:一种L3交换机海量配置的快速恢复方法,包括:
(1)用户保存配置的时候,每个模块分别以命令的形式输出自己的配置信息,配置信息保存在一个buffer link中;
(2)当所有的配置信息获取完成后,将配置信息一次性的写入存储设备中;
(3)当设备重新启动之后,从存储设备中读取配置信息到buffer link中。
所述buffer link由多个buffer link node组成,buffer link node中存放配置信息,使用指针把多个buffer link node连接成一个link。
所述步骤(3)进一步包括:为每一块板分配一个buffer link,从存放了所有配置信息的buffer link中把跟每块板相关的命令分别提取到自己的buffer link中。
将所述板对应的命令行注释掉,行的第一个字符用一个特殊的字符进行代替。
本发明的技术效果:与现有技术相比,有以下优点:
1、保证配置的保存,内存消耗随着配置的增加逐步增加,不用预先申请估算的内存。如果系统有内存块大小的限制,使用该方法也可以得到完善的解决。
2、提高效率,与realloc动态分配内存方法进行比较,realloc重新分配内存需要做内存的拷贝,把原来内存块中的内容拷贝到更大的一块内存中,这在配置信息比较大的时候是很费时的,为了减少内存拷贝的次数,realloc一般是以2倍于原来的容量的速度增加,这样内存的使用率又会降低。本发明不需要内存拷贝,以一个用户指定的粒度增加内存,具有效率更高、增长粒度更小且可控的优点。
3、基于单板的热插拔配置恢复,功能没有冗余,效率高。在单板插入的时候只执行该板相关的配置而不是执行所有的配置,这在功能上避免了冗余的命令执行可能带来的副作用,也使得性能得到提高。在板相关的配置信息提取的过程中使用buffer link,在内存使用上没有冗余也没有限制。
附图说明
图1是本发明配置信息保存流程图;
图2是本发明从存储设备读取配置信息流程图;
图3是本发明基于单板的热插拔配置提取流程图;
图4是本发明buffer link的数据结构示意图;
图5是本发明的具体实施例中所有配置信息存储在buffer link中的示意图;
图6是本发明的具体实施例中所有配置信息存储在存储设备中的示意图;
图7是本发明的具体实施例中配置存储在对应板的buffer link中的示意图。
具体实施方式
参考图1、图2,本发明配置恢复和基于单板的热插拔的实现步骤如下:
在用户保存配置的时候,每个模块分别以命令的形式输出自己的配置信息,这些配置信息不是保存在一块完整的内存中,而是放到一个buffer link中,当所有的配置信息都获取完成后,把所有的配置信息一次性的写入存储设备中,buffer link由多个buffer link node组成,参考图4,buffer link node中存放配置信息,使用指针把多个buffer link node连接起来成为一个link。
当buffer link容量不够的时候,就再申请一个buffer link node,增加buffer link的容量,占用的内存就随着配置信息的多少以一个很小的粒度进行增长。
为了给用户提供一个清晰、简单的界面,buffer link被以下接口函数封装起来,
●buffer_head buffer_link_new(int size),创建一个buffer link。可以指定每个buffer_node的容量
●buffer_link_destroy(buffer_head b),销毁一个buffer link
●buffer_link_put(buffer_head b,char*data,int size),向一个buffer link中
存放数据
●char*buffer_link_get_next(buffer_head b,char*addr),根据buffer link中保存的一个字符的地址得到下一个字符的地址
●int buffer_link_strcmp(char*strl,buffer_head b,char*strinbuffer),bufferlink中保存的一个字符串跟一个正常的字符串进行比较是否相等
●int buffer_link_bufstrcmp(buffer_head a,char*strinbuffera,buffer_head b,char*strinbufferb),buffer link中的两个字符串进行比较是否相等
●buffer_link_bufstrcpy(buffer_head d,char*deststring,buffer_head s,char*sourcestring),一个buffer link的内容拷贝到另外一个buffr link中
●buffer_link_strcpy2buf(buffe_head d,char*deststring,char*sourcestring),正常的字符串拷贝到buffer link
●buffer_link_strbufcpy2(char*deststring,buffer_head s,char*sourcestring),buffer link拷贝到正常的字符串
●buffer_link_bufstrlen(char*string,buffer_head s),得到buffer_link中的字符串的长度
这些接口函数跟正常内存下的字符串操作函数的对应关系如下:
   一般内存的字符串操作 buffer link的操作
   申请内存 buffer_link_new
   释放内存 buffer_link_destroy
   addr++,地址指针后移 buffer_link_get_next
   内存拷贝 buffer_link_put
   得到字符串的长度 buffer_link_bufstrlen
   字符串比较 int buffer_link_strcmp
int buffer_link_bufstrcmp
   字符串拷贝 buffer_link_bufstrcpy
buffer_link_strcpy2buf
buffer_link_strbufcpy2
按照正常内存处理的代码逻辑,只进行对应函数的替换,就可以在代码中实现buffer link的使用,当设备重新启动之后,从存储设备中读取配置信息到buffer link中。通过使用buffer link完成了配置信息的保存和恢复。
参考图3,本发明基于单板热插拔进行配置的提取,为每块板分配bufferlink,将与该板相关的配置信息存放到对应的buffer link中实现针对单板的配置提取。当单板拔出的时候,更新该板对应的配置信息;当板插入的时候,执行新板的配置信息,而不是执行所有的配置。在提取过程中,由于第一块板相关的命令,在提取第二快板的信息的时候被再次分析。如果在第一块板的信息被拷贝到其他地方的时候,需从原始的配置信息中删除的话(也就是move而不是copy),由于把配置信息后面的内容往前移才覆盖被删除内容,其效率不高。而且考虑到要在buffer link中实现这种移动的话,难度更大。因此,本发明把对应的行注释掉,把这一行的第一个字符用一个特殊的字符进行代替,后续的分析如果发现行的开始是这种字符的话,就忽略这一行,这样就简单高效的实现了提取。
按照本发明的技术方案,选一具体案例说明本发明的实施方式:
在用户保存配置的时候,每个模块分别以命令的形式输出自己的配置信息,这些配置信息放到一个buffer link中,我们给这个buffer link取一个名字叫做save_info。假设一共得到了7条命令,其中有3条是关于板1的,即命令a,命令d,和命令g;有两条关于板2的,即命令c和命令f;最后两条b和f是关于板3的;并且每条命令的长度不尽相同,命令a,c,d,f,g大小是1单位,命令b的大小是2单位,命令e的大小是3单位。如果save_info中buffer link node的大小是1单位,图5就是这些命令在save_info中存放的情形。
然后这些命令被存放到存储设备中,如图6所示。
当设备重新启动的时候,创建一个buffer link叫做config_info,用来存放所有的配置信息,config_info开始是空的,指向first和last的指针都为空。假设config_info中buffer link node的大小也是1单位,依次从存储设备中读取信息存放到config_info中,如果config_info的容量不够了,就再申请新的buffer linknode。
所有的配置信息都读取后,开始针对每个单板进行提取。参考图7,为每个板分配一个buffer link,分别叫card_1,card_2和card_3,开始提取第一块板相关的内容,命令被提取之后就在config_info中被注释掉。跟第一块板相关命令放在card_1中,card_1的容量是随着提取的过程逐渐的增加的,不用预先知道跟第一块板相关的配置信息有多少。如此,依次提取第二块板和第三块板的信息。最后释放config_info,提取完成。每块板对应的buffer link处于ready状态,随时等待板插入的时候进行执行。

Claims (4)

1.一种L3交换机海量配置的快速恢复方法,包括:
(1)用户保存配置的时候,每个模块分别以命令的形式输出自己的配置信息,配置信息保存在一个buffer link中;
(2)当所有的配置信息获取完成后,将配置信息一次性的写入存储设备中;
(3)当设备重新启动之后,从存储设备中读取配置信息到buffer link中。
2.如权利要求1所述的L3交换机快速配置恢复方法,其特征在于所述bufferlink由多个buffer link node组成,buffer link node中存放配置信息,使用指针把多个buffer link node连接成一个link。
3.如权利要求1或2所述的L3交换机快速配置恢复方法,其特征在于步骤(3)进一步包括:为每一块板分配一个buffer link,从存放了所有配置信息的buffer link中把跟每块板相关的命令分别提取到自己的buffer link中。
4.如权利要求3所述的L3交换机快速配置恢复方法,其特征在于进一步包括:将所述板对应的命令行注释掉,行的第一个字符用一个特殊的字符进行代替。
CNB2003101034223A 2003-10-31 2003-10-31 三层交换机海量配置的快速恢复方法 Expired - Fee Related CN100490399C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2003101034223A CN100490399C (zh) 2003-10-31 2003-10-31 三层交换机海量配置的快速恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2003101034223A CN100490399C (zh) 2003-10-31 2003-10-31 三层交换机海量配置的快速恢复方法

Publications (2)

Publication Number Publication Date
CN1540927A true CN1540927A (zh) 2004-10-27
CN100490399C CN100490399C (zh) 2009-05-20

Family

ID=34333292

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101034223A Expired - Fee Related CN100490399C (zh) 2003-10-31 2003-10-31 三层交换机海量配置的快速恢复方法

Country Status (1)

Country Link
CN (1) CN100490399C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100459515C (zh) * 2005-12-27 2009-02-04 迈普(四川)通信技术有限公司 热插拔板卡配置保存方法
CN101079734B (zh) * 2007-06-22 2012-03-07 中兴通讯股份有限公司 一种机架式设备热插拔配置恢复的方法
CN105915372A (zh) * 2016-04-07 2016-08-31 烽火通信科技股份有限公司 基于自动回滚的临时配置管理系统及方法
CN109284136A (zh) * 2018-09-12 2019-01-29 盛科网络(苏州)有限公司 一种实现交换机系统快速重启的方法及装置
CN110071880A (zh) * 2018-01-24 2019-07-30 北京金山云网络技术有限公司 报文转发方法、转发装置、服务器及存储介质
CN112835646A (zh) * 2021-02-20 2021-05-25 杭州迪普科技股份有限公司 设备配置恢复方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594329B1 (en) * 1999-11-01 2003-07-15 Intel Corporation Elastic buffer

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100459515C (zh) * 2005-12-27 2009-02-04 迈普(四川)通信技术有限公司 热插拔板卡配置保存方法
CN101079734B (zh) * 2007-06-22 2012-03-07 中兴通讯股份有限公司 一种机架式设备热插拔配置恢复的方法
CN105915372A (zh) * 2016-04-07 2016-08-31 烽火通信科技股份有限公司 基于自动回滚的临时配置管理系统及方法
CN110071880A (zh) * 2018-01-24 2019-07-30 北京金山云网络技术有限公司 报文转发方法、转发装置、服务器及存储介质
CN110071880B (zh) * 2018-01-24 2021-06-18 北京金山云网络技术有限公司 报文转发方法、转发装置、服务器及存储介质
CN109284136A (zh) * 2018-09-12 2019-01-29 盛科网络(苏州)有限公司 一种实现交换机系统快速重启的方法及装置
CN109284136B (zh) * 2018-09-12 2022-03-11 苏州盛科通信股份有限公司 一种实现交换机系统快速重启的方法及装置
CN112835646A (zh) * 2021-02-20 2021-05-25 杭州迪普科技股份有限公司 设备配置恢复方法及装置

Also Published As

Publication number Publication date
CN100490399C (zh) 2009-05-20

Similar Documents

Publication Publication Date Title
CN1292370C (zh) 从源系统复制信息到目标系统的方法
CN102222085B (zh) 一种基于相似性与局部性结合的重复数据删除方法
CN102567427B (zh) 一种对象数据处理方法及装置
CN1664790A (zh) 增加数据存储容量的方法和装置
CN102970158A (zh) 日志存储与处理的方法及日志服务器
CN101079034A (zh) 消除文件存储系统中冗余文件的系统及方法
CN103279502B (zh) 一种具有与并行文件系统结合的重复数据删除文件系统的架构及方法
CN101030165A (zh) 一种磁盘空间管理方法及系统
CN103164490A (zh) 一种不固定长度数据的高效存储实现方法和装置
CN106502587A (zh) 磁盘数据管理方法和磁盘控制装置
CN102436408A (zh) 基于Map/Dedup的数据存储云化和云备份方法
CN113626431A (zh) 一种基于lsm树的延迟垃圾回收的键值分离存储方法及系统
CN1845093A (zh) 一种属性可扩展的对象文件系统
WO2022174767A1 (zh) 应用管理方法和装置
CN1162782C (zh) 快速存储器文件的处理方法
CN101079734A (zh) 一种机架式设备热插拔配置恢复的方法
CN1540927A (zh) L3交换机海量配置的快速恢复方法
CN105630410B (zh) 使用非易失随机读写存储芯片动态管理文件存储区的方法
CN114296658A (zh) 一种存储空间分配方法、装置、终端设备及存储介质
CN100342374C (zh) 一种数据存储方法及装置
CN1425986A (zh) 自动压缩/解压缩文件系统及其压缩算法
US10877881B2 (en) In-place garbage collection of a sharded, replicated distributed state machine based on mergeable operations
US11055184B2 (en) In-place garbage collection of a sharded, replicated distributed state machine based on supersedable operations
CN1627272A (zh) 移动终端的闪存中的文件管理方法
CN100471170C (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
ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: GANGWAN NETWORK CO., LTD.

Effective date: 20061013

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20061013

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant after: Huawei Technologies Co., Ltd.

Address before: 100089, No. 21 West Third Ring Road, Beijing, Haidian District, Long Ling Building, 13 floor

Applicant before: Harbour Networks Holdings Limited

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: HUAWEI DIGIT TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: HUAWEI TECHNOLOGY CO LTD

Effective date: 20100728

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518129 HUAWEI HEADQUARTERS OFFICE BUILDING, BANTIAN, LONGGANG DISTRICT, SHENZHEN CITY, GUANGDONG PROVINCE TO: 100085 NO.3, XINXI ROAD, SHANGDI, HAIDIAN DISTRICT, BEIJING CITY

TR01 Transfer of patent right

Effective date of registration: 20100728

Address after: 100085 Beijing, Haidian District on the road, No. 3

Patentee after: Huawei Digit Technology Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090520

Termination date: 20121031