CN1336770A - 路由器操作维护与配置命令的命令存储和命令解释方法 - Google Patents

路由器操作维护与配置命令的命令存储和命令解释方法 Download PDF

Info

Publication number
CN1336770A
CN1336770A CN 00125204 CN00125204A CN1336770A CN 1336770 A CN1336770 A CN 1336770A CN 00125204 CN00125204 CN 00125204 CN 00125204 A CN00125204 A CN 00125204A CN 1336770 A CN1336770 A CN 1336770A
Authority
CN
China
Prior art keywords
command
tree
order
router
chained list
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
CN 00125204
Other languages
English (en)
Other versions
CN1160971C (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNB001252046A priority Critical patent/CN1160971C/zh
Publication of CN1336770A publication Critical patent/CN1336770A/zh
Application granted granted Critical
Publication of CN1160971C publication Critical patent/CN1160971C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

一种路由器操作维护与配置命令的命令存储和命令解释的方法,主要是将路由器的整个命令集重新采用树形层次关系的命令树方式保存,按命令层次进行索引,删除或添加,将命令树独立存放在快速记忆存储器或永久性随机存储器上,在命令解释完成后,通过获取命令执行号通知程序调用相应功能模块实现用户请求的功能,其优点是可快速、便捷地进行命令匹配和查找,命令集在线修改和扩展成为可能,提高了路由器操作维护和配置系统的可能性。

Description

路由器操作维护与配置命令的命令存储和命令解释方法
本发明是一种新的路由器操作维护与配置命令的命令存储和命令解释方法,特别是一种采用树形层次结构来做路由器命令存储和命令解释的方法。
随着Internet的发展,全球范围内的计算机都竞相连入Internet以共享信息,享受网络带来的无比便利。伴随连入网络的计算机主机数目的增多,单一网络已不能满足需要,特别是当连入网络的计算机主机越来越分散,地理位置越来越远时,地理位置的差异和计算机的不同归属,信息资源的控制,使得人们开始逐步将计算机主机划分为若干的子网络,并以子网络为单位连入Internet。在网络互连中,一个子网需要知道另一个子网络甚至所有子网的位置,以便子网内部的计算机可以互相通信。路由器便是满足这个需求的网络设备,它负责寻找目的子网地址并负责把数据包转发到目的子网。
现在的网络结构已经日趋复杂,同时,由于连入Internet的计算机主机的不同情况,可能某些机器需要关机,或者改变配置,这样,连入Internet的子网的情况也就可能会发生不同的变化。路由器作为寻找路由并正确转发数据包的设备,不仅需要了解网络拓扑结构,还需要知道网络结构的实时变化。为了能够实现这两个主要的功能,人们专门开发了IGP和EGP的路由协议来了解网络结构。IGP(Interior Gateway Protocol)内部网关协议,就是在一个相对独立的自治网络内部运行的路由协议,负责解析网络内部的网络结构,EGP(External Gateway Protocol)外部网关协议,就是在相对独立的自治网络之间运行的路由器,负责解析网络之间的网络结构。
有了这些路由协议,还需要进行一些操作和配置,才能让路由器正确的了解整个网络拓扑。由于路由器作一个特殊的网络设备,它的主要功能是为了实现网络的寻址和数据包的转发,并不是象其他的网络设备一样具有明确的人机接口,它不带显示器,也不带键盘、鼠标。因而,对路由器的操作,也就有别于其他的网络设备,或者我们常见的计算机设备。
除了需要对路由器进行操作,使其完成路由和转发的功能外,还需要对路由器进行维护的工作。因为任何一个设备都需要进行维护,路由器也不例外。比如路由器出现了一些问题,我们需要对路由器进行调试,或者对其进行软件的升级或更新。这些维护,和对路由器的操作一样,都不能通过键盘、鼠标来输入,通过显示器来输出,因为路由器本身并没有带这些设备。
路由器一般只提供了通过标准终端以命令行方式来进行的操作维护与配置。也就是说,对路由器的所有操作,几乎都是通过在另一台标准终端上,通过输入一行一行的命令来完成对路由器的操作维护。路由器要知道用户所输入的命令的含义,就必须首先解析出这些命令的含义,然后再调用不同的功能实体执行命令。
由于路由器需要完成的功能相当复杂,因为一台路由器在不同的网络节点位置,可以扮演不同的功能角色。因而路由器的命令集也非常庞大,一般的都有几百条至上千条之多。对这么庞大的命令集,路由器不仅要考虑解释命令的准确、快速,还要考虑命令集的扩展和修改的便捷。也就是说,路由器操作维护部分中的命令解释部分不仅要能够在一个相对短的时间内在近千条复杂的命令中快速、准确的匹配和查找出命令的意义,还要能够兼容路由器操作维护命令的修改和扩展。当一需要修改或者扩展一条命令时,要能够快速地在路由器中反应。
在现有的路由器操作维护的解决方案中,一般都是将整个命令划分为若干个单独的命令字,以命令字为单位进行封装,在封装的内容中包含了命令字的调用逻辑关系。它既包含了它的左命令字,又包含了它的右命令字,一条完成的命令需要在这个链表关系中从头找到尾,即,只有严格按照它指定的逻辑关系,才能形成一个完成的命令。
这种命令字封装的存储格式和命令解释方式,造成了命令检索时程序逻辑比较复杂,所有的命令字杂乱无章的存放在内存之中,单纯靠命令字封装中的连表关系来组织。同时,命令的修改将几乎是不可能实现的,因为,这需要手工在上千个命令字封装中查找到准确的命令字封装,然后更改左右命令字关系,同时再去修改所有相关的命令字,使得整个命令得到完整的修改。
繁杂的逻辑关系,紊乱的条理,使得路由器的命令解释部分显得异常混乱,缺乏扩展能力。作为一个完善的产品,应该克服这些缺点,使得路由器的命令行命令解释部分相对独立于操作维护的其他部分,并和其他部分有着明确而又简洁的接口,同时能够便捷的扩展命令集。
本发明的目的在于克服现有路由器命令存储和解释方案的缺点,提供一种新的路由器操作维护和配置命令的命令存储和命令解释的方法,使之可以快速、便捷地进行命令匹配和查找;使得命令集的在线修改与扩展可以实现。
本发明的目的是这样实现的,一种路由器操作维护与配置命令的命令存储和命令解释方法,其特点是:
(1)将路由器整个命令集拆散,采用树形层次关系的命令树方式保存,按命令层次进行索引、删除或添加命令;
(2)将命令树独立存放在快速记忆存储器(FLASH)或永久性随机存储器(NVRAM)上;
(3)在命令解释完成后,通过获取命令执行号来通知程序调用相应的功能模块实现用户请求的功能。
所说命令树的采用多维链表的形式,多维命令链表的重定位是以结构体数组存放树形的方法实现的,即数组中每一个元素代表命令树的一个节点,树中节点之间的关联是使用数组的下标来表示的,将存有命令树的结构体数组和数组元素总数这两个信息写到FLASH或NVRAM上的命令脚本文件中。
首先定义一哑元来索引整个多维命令链表,哑元所指向的是第一层命令链表的头指针,通过遍历该链表,获得整个路由器命令集中第一层命令的所有命令字,在第一层链表中的每一个元素,除包含同层链表下一个元素的指针外,还包含了命令字全称,命令字的意义,命令字的下一层命令的命令链表的头指针。
命令集的在线更新是通过更新命令脚本文件方式实现的。
所说的命令集在线更新的具体做法是:首先在路由器之外生成新的命令集,覆盖FLASH或NVRAM原来的命令脚本文件,通过命令解释部分再次从FLASH或NVRAM上命令脚本文件读取命令树。
本发明的优点是:
1、由于本发明中建立了一个明确树形层次关系的命令树来实现命令的存储和解释,使之可以快速、便捷地进行命令匹配和查找;
2、由于本发明命令集数据独立存放,使得命令集的在线修改与扩展成为可能;
3、在命令解释完成后,是通过获取命令执行号来通知程序调用相应功能模块实现用户请求的功能,这样命令解释部分相对独立,提高了路由器操作维护和配置系统的可维护性。
下面结合附图对本发明作进一步说明。
图1是命令树的图例。
图2是多维链表示意图。
图3是查找命令的逻辑流程图。
为了能够寻找到快速、便捷的命令匹配和查找,我们需要首先对命令行本身进行详细的研究。通过研究我们发现,路由器命令集有以下一些非常鲜明的特点:
特点1:就是命令行具有非常明显的层次,即一条命令行是由若干个命令字和一些参数组成。对这些具有层次性的结构,我们可以象原来一样建立链表来索引,也可以类似的建立一个命令树来索引。由于链表结构的缺点我们前面已经分析过了,是不可取的,那么对于树形层次存储来说呢?我们发现,如果我们采用树形层次存储方式来保存命令,在命令行匹配和查找时,将具有天然的便捷性。我们可以把完成命令行中的第一级命令字作为命令树的第一层节点,完整命令行中的第二级命令字作为命令树的第二层节点,并以此类推,同时我们也把命令中所带的参数按照命令字的形式映射到命令树中。
特点2:就是路由器操作维护命令的命令树形的层次并不深,这使得命令的以命令树形式保存成为可能。换句话说,就是在路由器命令中,如果将命令划分成层次的话,我们将会发现,命令的层次不会太深,同时每一层的命令字也不是太多,属于一种比较均匀的分布。
由以上两个特点,我们认为可以采用这么一种命令索引方法,就是将整个命令集拆散,以树形层次命令树的方式保存。当需要进行命令解释时,在命令树中按照命令层次进行索引。同时,由于命令集采用了命令树层次存储,使得要修改或扩展命令集时显得异常方便。如果要修改某个命令,只要顺着命令树走下去,找到要修改的命令,进行修改;如果要增加命令,只需要沿着已有的命令分支,在需要添加的叶子或树枝处添加命令字;如果要删除命令,只要顺着命令树找到要删除的命令字,删除该命令字叶子即可。
命令树的图例如图1所示。
    图1是如下命令集的命令树
    disable
    enable
    show buffer
    show clock
    show flash all
    show flash chips
    show flash detailed
由于图1所示仅是一个可视化的、形式上的命令树。要实际保存它,还必须将它转化为一定形式的逻辑数据结构。为此,我们可以采用多维链表的形式来保存命令。
图2是具有四个层次的多维链表示意图。
这里首先定义了一个哑元来索引整个命令链表。哑元所指向的是第一层命令链表的头指针,通过遍历该链表,可以获得整个路由器命令集中第一层命令的所有命令字。在第一层链表中的每一个元素,除了包含同层链表下一个元素的指针外,包含了命令字全称,命令字的意义,命令字的下一层命令的命令链表的头指针。这样,在命令查找时,就可以通过进行输入命令和链表中命令字全称的字符串匹配来查找命令,匹配后再获取下一层命令的链表指针,进行下一层命令的匹配,直至完成整个命令的匹配。
查找命令的逻辑流程描述如下:
1、将命令串分解成若干个命令字,分层逐字进行解析匹配;
2、获取内存中命令树的入口即哑元,得到第一层命令字链表的入口;
3、遍历整个层链表,获取本层命令字并逐个进行比较,查看输入的命令字是否与命令集中命令字匹配;
4、若不匹配,将遍历出的本层命令及命令注释返回,并报错;
5、若匹配,获取匹配的命令字节点号;
6、查看是否是命令结束;
7、若是,获取命令执行号后返回;
8、若否,查看命令标志,是否参数;
9、若是,进入参数类型检测;
10、若否,获取下一层命令指针;
11、重复3至10步,直至命令解析完毕。
其逻辑流程见图3,
本发明的一个重要考虑就是尽量减少各个模块之间的相关性。命令执行和命令解释部分通过定义命令执行号来减少相关性,那么,对命令解释来讲,它要和命令集的命令树本身也要尽量减少相关性,即命令解释部分也应该相对独立,与将要执行的命令无关。因此,我们将命令树单独存放在FLASH或NVRAM上。要将多维链表的命令树保存到FLASH或NVRAM中一片连续的线性存储区中,需要对命令树的链表进行重定位。
对多维命令树链表的重定位,其实就是多维链表存储在一片顺序FLASH或NVRAM地址的映射。我们是采用以结构体数组存放树形的方法实现的,即数组中每一个元素代表命令树的一个节点,树中节点之间的关联是使用数组的下标来表示的。这样将存有命令树的结构体数组和数组元素总数这两个信息写到FLASH或NVRAM上的命令脚本文件中,完成了命令集的物理存储。命令解释部分将该数组从FLASH或NVRAM上的命令脚本文件中直接读到内存中,就可以访问整个命令树。
本发明还涉及一点,就是一再强调的命令集的在线更新。由于命令集是存储在FLASH或NVRAM中一片相对独立的命令脚本文件中,我们可以通过更新命令脚本文件的方式来更新命令集。具体做法就是,首先在路由器设备之外生成新的命令集,覆盖FLASH或NVRAM原来的命令脚本文件,通知命令解释部分再次从FLASH或NVRAM上命令脚本文件读取命令树,这样就实现了命令的在线升级。

Claims (5)

1、一种路由器操作维护与配置命令的命令存储和命令解释方法,其特征在于:
(1)将路由器整个命令集拆散,采用树形层次关系的命令树方式保存,按命令层次进行索引、删除或添加命令;
(2)将命令树独立存放在快速记忆存储器(FLASH)或永久性随机存储器(NVRAM)上;
(3)在命令解释完成后,通过获取命令执行号来通知程序调用相应的功能模块实现用户请求的功能。
2、根据权利要求1所述的命令存储和命令解释方法,其特征在于所说命令树的采用多维链表的形式,多维命令链表的重定位是以结构体数组存放树形的方法实现的,即数组中每一个元素代表命令树的一个节点,树中节点之间的关联是使用数组的下标来表示的,将存有命令树的结构体数组和数组元素总数这两个信息写到FLASH或NVRAM上的命令脚本文件中。
3、根据权利要求2所述的命令存储和命令解释方法,其特征在于首先定义一哑元来索引整个多维命令链表,哑元所指向的是第一层命令链表的头指针,通过遍历该链表,获得整个路由器命令集中第一层命令的所有命令字,在第一层链表中的每一个元素,除包含同层链表下一个元素的指针外,还包含了命令字全称,命令字的意义,命令字的下一层命令的命令链表的头指针。
4、根据权利要求1或2所述的命令存储和命令解释方法,其特征在于命令集的在线更新是通过更新命令脚本文件方式实现的。
5、根据权利要求4所述的命令存储和命令解释方法,其特征在于所说的命令集在线更新的具体做法是:首先在路由器之外生成新的命令集,覆盖FLASH或NVRAM原来的命令脚本文件,通过命令解释部分再次从FLASH或NVRAM上命令脚本文件读取命令树。
CNB001252046A 2000-09-15 2000-09-15 路由器操作维护与配置命令的命令存储和命令解释方法 Expired - Fee Related CN1160971C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB001252046A CN1160971C (zh) 2000-09-15 2000-09-15 路由器操作维护与配置命令的命令存储和命令解释方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB001252046A CN1160971C (zh) 2000-09-15 2000-09-15 路由器操作维护与配置命令的命令存储和命令解释方法

Publications (2)

Publication Number Publication Date
CN1336770A true CN1336770A (zh) 2002-02-20
CN1160971C CN1160971C (zh) 2004-08-04

Family

ID=4590996

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001252046A Expired - Fee Related CN1160971C (zh) 2000-09-15 2000-09-15 路由器操作维护与配置命令的命令存储和命令解释方法

Country Status (1)

Country Link
CN (1) CN1160971C (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007009289A1 (fr) * 2005-07-15 2007-01-25 Zte Corporation Methode de configuration de dispositif routeur en ligne et hors ligne
CN100345414C (zh) * 2003-12-08 2007-10-24 鸿富锦精密工业(深圳)有限公司 命令行界面系统及其控制方法
CN100390794C (zh) * 2005-04-27 2008-05-28 华为技术有限公司 一种以导航树方式来组织通信设备命令集的方法
WO2009033424A1 (fr) * 2007-09-12 2009-03-19 Huawei Technologies Co., Ltd. Procédé et système d'obtention d'information de commandes d'utilisateur et dispositif pour enregistrer les commandes d'utilisateur
CN102742215A (zh) * 2012-02-17 2012-10-17 华为技术有限公司 对通信设备中配置命令进行清除的方法和装置
CN102880471A (zh) * 2012-09-24 2013-01-16 中兴通讯股份有限公司 基于命令行的命令执行方法及命令行操作系统
CN1925482B (zh) * 2005-09-01 2013-03-27 中兴通讯股份有限公司 一种人机命令格式的转换方法和装置
WO2016206546A1 (zh) * 2015-06-25 2016-12-29 中兴通讯股份有限公司 一种在网络设备上实现命令查找的方法及装置
CN113821211A (zh) * 2021-09-17 2021-12-21 杭州迪普科技股份有限公司 命令解析方法、装置、存储介质和计算机设备
CN117194278A (zh) * 2023-11-08 2023-12-08 新华三网络信息安全软件有限公司 设备命令管理方法、装置、存储介质及电子设备

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100345414C (zh) * 2003-12-08 2007-10-24 鸿富锦精密工业(深圳)有限公司 命令行界面系统及其控制方法
CN100390794C (zh) * 2005-04-27 2008-05-28 华为技术有限公司 一种以导航树方式来组织通信设备命令集的方法
WO2007009289A1 (fr) * 2005-07-15 2007-01-25 Zte Corporation Methode de configuration de dispositif routeur en ligne et hors ligne
CN1925482B (zh) * 2005-09-01 2013-03-27 中兴通讯股份有限公司 一种人机命令格式的转换方法和装置
WO2009033424A1 (fr) * 2007-09-12 2009-03-19 Huawei Technologies Co., Ltd. Procédé et système d'obtention d'information de commandes d'utilisateur et dispositif pour enregistrer les commandes d'utilisateur
CN102742215B (zh) * 2012-02-17 2015-01-07 华为技术有限公司 对通信设备中配置命令进行清除的方法和装置
WO2012095042A3 (zh) * 2012-02-17 2013-01-24 华为技术有限公司 对通信设备中配置命令进行清除的方法和装置
CN102742215A (zh) * 2012-02-17 2012-10-17 华为技术有限公司 对通信设备中配置命令进行清除的方法和装置
US9762430B2 (en) 2012-02-17 2017-09-12 Huawei Technologies Co., Ltd. Method and apparatus for clearing configuration command in communication equipment
CN102880471A (zh) * 2012-09-24 2013-01-16 中兴通讯股份有限公司 基于命令行的命令执行方法及命令行操作系统
WO2016206546A1 (zh) * 2015-06-25 2016-12-29 中兴通讯股份有限公司 一种在网络设备上实现命令查找的方法及装置
CN106301870A (zh) * 2015-06-25 2017-01-04 中兴通讯股份有限公司 一种在网络设备上实现命令查找的方法及装置
CN113821211A (zh) * 2021-09-17 2021-12-21 杭州迪普科技股份有限公司 命令解析方法、装置、存储介质和计算机设备
CN113821211B (zh) * 2021-09-17 2023-06-27 杭州迪普科技股份有限公司 命令解析方法、装置、存储介质和计算机设备
CN117194278A (zh) * 2023-11-08 2023-12-08 新华三网络信息安全软件有限公司 设备命令管理方法、装置、存储介质及电子设备
CN117194278B (zh) * 2023-11-08 2024-02-23 新华三网络信息安全软件有限公司 设备命令管理方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN1160971C (zh) 2004-08-04

Similar Documents

Publication Publication Date Title
CN101641928B (zh) 用于执行信道树操作的方法和装置
CN1102001C (zh) 网络单元中比较可控对象表示式属性值的方法
CN110309196A (zh) 区块链数据存储和查询方法、装置、设备及存储介质
CN102780574B (zh) 面向业务的局数据的配置方法、装置以及核查方法、装置
CN107016071B (zh) 一种利用简单路径特征优化树状结构数据的方法及系统
CN109145189A (zh) 一种基于区块链的数据存入和搜索系统及其方法
CN1160971C (zh) 路由器操作维护与配置命令的命令存储和命令解释方法
CN106095698A (zh) 面向对象的缓存写入、读取方法及装置
CN109213820B (zh) 一种实现多种类型的数据库融合使用的方法
CN1851696A (zh) 一种关联查询的系统及其方法
CN113139100B (zh) 一种网络流量实时索引方法及系统
CN113326264A (zh) 数据处理方法、服务器及存储介质
CN112416908A (zh) 基于Handle标识解析前缀分库存储数据的方法及系统
CN109618250A (zh) 一种光纤网络节点管理方法及系统
CN113157723B (zh) 一种面向Hyperledger Fabric的SQL访问方法
CN109739910B (zh) 一种开放性标签管理方法和系统
CN102006156B (zh) 配置数据的板间同步方法及系统
CN100340996C (zh) 一种数字信号处理器软件调试信息输出方法
CN108763127B (zh) 源数据与目标数据相互转换的Modbus适配器的实现方法
CN106570017A (zh) 一种数据缓存方法及系统
CN1521989A (zh) 一种实现网络管理系统中配置数据组织与集中管理的方法
CN108509585A (zh) 一种异构数据实时交互优化处理方法
KR101342560B1 (ko) 내비게이션을 위한 모바일 데이터베이스 시스템 및 그 방법
CN115510134A (zh) 面向图-关系混合存储数据库的数据快速装载方法及系统
CN103902554A (zh) 数据访问方法与装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHENZHENG CITY ZTE CO., LTD.

Free format text: FORMER OWNER: SHENZHENG CITY ZTE CO., LTD. SHANGHAI SECOND INSTITUTE

Effective date: 20010912

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

Effective date of registration: 20010912

Address after: 518057 Ministry of law, 6 floor, Zhongxing building, South hi tech Industrial Park, Nanshan District hi tech Industrial Park, Guangdong, Shenzhen

Applicant after: Zhongxing Communication Co., Ltd., Shenzhen City

Address before: 200233 No. 396, Shanghai, Guilin Road

Applicant before: Shanghai Inst. of No.2, Zhongxing Communication Co., Ltd., Shenzhen City

C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040804

Termination date: 20190915

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