一种配置检测方法以及装置与流程
未命名
07-13
阅读:123
评论:0
1.本说明书涉及通信技术领域,尤其涉及一种配置检测方法以及装置。
背景技术:
2.issu(不中断业务升级,in-service software upgrade)是一种可靠性高的升级设备启动软件的方式,能够确保在升级过程中业务不中断或者中断时间较短。在通过issu升级时,会通过更新的软件版本替换网络设备中原有的软件版本。
3.在一台网络设备中还存储有配置信息,在升级完成后,这些配置信息也会被恢复到网络设备上。但是由于更新前后的软件版本不同,配置信息可能出现无法识别的情况,如直接恢复配置信息将会导致网络设备出现故障,降低网络设备升级的可靠性,因此,如何提升配置信息恢复的可靠性是本领域技术人员亟待解决的问题。
技术实现要素:
4.为克服相关技术中存在的问题,本说明书提供了一种配置检测方法以及装置。
5.结合本说明书实施方式的第一方面,本技术提供了一种配置检测方法,包括:
6.获取待更新软件版本的命令树以及自身存储的配置信息,其中,命令树包含命令行语法,配置信息包含有若干命令行;
7.根据若干命令行与命令行语法进行比对,记录不一致的命令行;
8.若存在不一致的命令行,则输出不一致的命令行。
9.可选的,在输出不一致的命令行之后,还包括:
10.对不一致的命令行进行备份;
11.从配置信息中删除不一致的命令行,生成待执行配置信息;
12.基于待更新软件版本进行自身更新;
13.若基于待执行配置信息进行配置恢复时出现错误,则恢复原软件版本,并基于待执行配置信息和不一致的命令行进行配置恢复。
14.可选的,在若干命令行被遍历之后,还包括:
15.若不存在不一致的命令行,则基于待更新软件版本进行自身的更新。
16.可选的,根据若干命令行与命令行语法进行比对,记录不一致的命令行,包括:
17.逐个命令行提取语法元素,确定是否存在与语法元素相一致的命令行语法,其中,语法元素包括关键字、顺序以及参数值;
18.若确定不存在与语法元素相一致的命令行语法,则将该命令行记录为不一致的命令行。
19.进一步的,在逐个命令行提取语法元素之后,还包括:
20.根据预处理规则对命令行语法进行修正。
21.可选的,获取待更新软件版本的命令树,具体为获取待更新软件版本中的命令文本;或者,获取待更新软件版本中的命令数据库,其中,命令数据库中部署有命令行语法的
查找规则。
22.结合本说明书实施方式的第二方面,本技术提供了一种配置检测装置,包括:
23.获取单元,用于获取待更新软件版本的命令树以及自身存储的配置信息,其中,命令树包含命令行语法,配置信息包含有若干命令行;
24.比对单元,用于根据若干命令行与命令行语法进行比对,记录不一致的命令行;
25.告警单元,用于若存在不一致的命令行,则输出不一致的命令行。
26.可选的,该装置,还包括:
27.备份单元,用于对不一致的命令行进行备份;
28.处理单元,用于从配置信息中删除不一致的命令行,生成待执行配置信息;
29.检测单元,基于待更新软件版本进行自身更新;
30.恢复单元,用于若基于待执行配置信息进行配置恢复时出现错误,则恢复原软件版本,并基于待执行配置信息和不一致的命令行进行配置恢复。
31.可选的,该装置,还包括:
32.更新单元,用于若不存在不一致的命令行,则基于待更新软件版本进行自身的更新。
33.可选的,比对单元,包括:
34.比对模块,用于逐个命令行提取语法元素,确定是否存在与语法元素相一致的命令行语法,其中,语法元素包括关键字、顺序以及参数值;
35.记录模块,用于若确定不存在与语法元素相一致的命令行语法,则将该命令行记录为不一致的命令行。
36.可选的,该装置,还包括:
37.预处理单元,用于根据预处理规则对命令行语法进行修正。
38.可选的,获取单元,具体用于获取待更新软件版本中的命令文本;或者,获取待更新软件版本中的命令数据库,其中,命令数据库部署有命令行语法的查找规则。
39.结合本说明书实施方式的第三方面,本技术提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使:实现上述任一项的方法步骤。
40.结合本说明书实施方式的第四方面,本技术提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器:实现上述任一项的方法步骤。
41.本说明书的实施方式提供的技术方案可以包括以下有益效果:
42.本说明书实施方式中,根据待更新软件版本的命令树与自身存储的配置信息进行比对,记录并向工作人员提供不一致的命令行,从而避免issu升级过程中所出现的原有配置信息无法适应升级后的软件版本的问题,提升了网络设备升级的可靠性。
43.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
44.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实
施方式,并与说明书一起用于解释本说明书的原理。
45.图1是本技术所涉及的一种配置检测方法的流程图;
46.图2是本技术实施方式所涉及的一种配置检测方法中命令树和命令行的对比示意图;
47.图3是本技术所涉及的一种配置检测装置的结构示意图;
48.图4是本技术所涉及的一种网络设备的结构示意图。
具体实施方式
49.这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书相一致的所有实施方式。
50.本技术提供了一种配置检测方法,如图1所示,包括:
51.s100、获取待更新软件版本的命令树以及自身存储的配置信息。
52.在网络设备进行更新时,需要获取待更新软件版本。这里所说的更新,包含升级和降级,在进行更新网络设备时所需要的软件版本可以称为待更新软件版本,在更新前网络设备所运行的软件版本可以称为当前软件版本。
53.网络设备中还可以获取配置信息,这些配置信息可以存储于网络设备中,也可以从其他设备获取,比如云平台或其他网络设备等,配置信息用于实现对于一台网络设备的配置,比如ip(互联网协议,internet protocol)地址,所属的ip网段等,对此不做限制。
54.每一个软件版本中都包含有命令树,该命令树可以包含命令行语法,命令行语法可以包含语法字、语法顺序和语法参数。配置信息可以包含有若干命令行。基于命令树,网络设备可以解析每一条命令行所表意的功能,实现对于网络设备的配置。
55.可选的,步骤s100、获取待更新软件版本的命令树,具体为,获取待更新软件版本中的命令文本;或者,获取待更新软件版本中的命令数据库;其中,命令数据库中部署有命令行语法的查找规则。
56.若待更新软件版本中以命令文本的形式存储命令树,则网络设备可以直接读取该命令文本,并缓存至内存中以待后续应用,若待更新软件版本中以对应命令数据库的形式存储命令树,则网络设备可以获取该命令数据库的访问接口,在后续应用中通过访问命令数据库的方式进行查找。当然,网络设备获取命令树的方式不限于上述方式,对此不做限制。
57.s101、根据若干命令行与命令行语法进行比对,记录不一致的命令行。
58.每条命令行可以包含有语法元素和配置元素等,其中语法元素可以理解为表示该命令行所需要实现的配置对象,配置元素可以理解为表示该语法元素所需要实现的配置结果。该语法元素包含有关键字、顺序以及参数。其中,关键字可以理解为与命令行语法中的语法字相匹配的字符串,顺序可以理解为与语法顺序相对应的、语法字字所设定的配置元素在命令行中的出现顺序,参数可以理解为与语法参数相对应的、输入的参数值。
59.在命令树中,每一个语法元素对应唯一的配置对象,即影响到网络设备是否能够正确地理解配置元素所配置的内容。若当前软件版本和待更新软件版本中的命令行语法发生变化,将会导致网络设备无法正确地理解命令行中语法元素,也就无法正确地实现配置
元素所需要实现的配置结果,导致网络设备出现配置错误。
60.在命令行语法中,若语法字发生变化,将会导致命令行中的关键字无法匹配,使得网络设备无法理解命令行的配置内容;若语法顺序发生变化,将可能导致配置内容出现偏差;若语法参数发生变化,则可能导致命令行中的参数超出语法参数的设定范围。上述三种情况都会导致网络设备依据待更新软件版本进行更新后,出现存储的配置信息无法被恢复的情况,网络设备将提示故障。
61.需要说明的是,在一条命令行中,可能仅包含有语法元素、也可能包含有语法元素与配置元素的组合,对此不做限制。
62.综上,在进行命令行与命令树之间的比对时,需要关注每一个命令行中的语法元素中的每一项与命令树中的命令行语法中的每一项是否一致。若一致,则该条命令行可以通过检测,若不一致,则需要记录该不一致的命令行以备后续用户进行确认。
63.具体而言,步骤s101、根据若干命令行与命令行语法和对应命令行语法的命令行参数进行比对,记录不一致的命令行,包括:
64.s101a、逐个命令行提取语法元素,确定是否存在与语法元素相一致的命令行语法;
65.s101b、若确定不存在与语法元素相一致的命令行语法,则将该命令行记录为不一致的命令行。
66.可选的,在逐个命令行提取语法元素之后,确定是否存在与语法元素相一致的命令行语法之前,还包括:
67.根据预处理规则对命令行语法进行修正。
68.在待更新软件版本的命令树中可能存在因错误输入所造成的异常,由于语法元素与命令行语法之间的匹配是完全匹配方式,即只有语法元素的内容与一条命令行语法完全一致才会认为二者是一致,因此,一些因为输入所造成的异常将可能导致语法元素与命令行语法无法被认为是完全一致,从而无法完成自动完成配置检测,需要工作人员手动进行修改,降低了配置恢复的效率。
69.为了避免上述问题,可以在网络设备中配置一定的预处理规则,比如,预处理规则至少包括删除重复空格、行首空格和行尾空格中的一种。多余的空格被认为是最常导致错误输入的情况,因此,可以通过配置预处理规则,删除在命令行语法中重复出现的空格,行首和行尾多余设置的空格等。
70.当然,根据实际的需求,可以设置不同的预处理规则,从而消除比对过程中可能出现的错误输入,对此不做限制。
71.s102、若存在不一致的命令行,则输出不一致的命令行。
72.在通过比对后,网络设备可以存在记录,若该记录中存在不一致的命令行,则可以认为配置信息中的部分命令行无法完成,因此,网络设备可以向终端输出不一致的命令行,以提示用户需要排除这些可能导致错误的配置信息,才可以完成软件版本的更新,避免直接进行软件版本更新所出现的配置故障,提升了网络设备升级的可靠性。
73.可选的,在步骤s102、输出不一致的命令行之后,还包括:
74.s103、对不一致的命令行进行备份;
75.s104、从配置信息中删除不一致的命令行,生成待执行配置信息;
76.s105、基于待更新软件版本进行自身更新;
77.s106、若基于待执行配置信息进行配置恢复时出现错误,则恢复原软件版本,并基于待执行配置信息和不一致的命令行进行配置恢复。
78.在输出不一致的命令行的情况下,还可以对这些不一致的命令行进行备份。此后,网络设备可以选择自动或基于用户的确认删除不一致的命令行,生成一份待执行的配置信息。
79.此后,网络设备可以基于待更新软件版本进行更新,再根据待执行的配置信息进行配置恢复。在恢复过程中,如果未出现错误则说明待更新软件版本能够适配待执行的配置信息,完成配置恢复。若出现错误则说明待更新软件版本无法适配待执行的配置信息,无法完成配置恢复,为了避免网络设备的配置错误导致故障,网络设备会恢复原软件版本,并根据不一致的配置信息和待执行的配置信息恢复出原配置信息(即前述的、存储的配置信息),将网络设备恢复到软件版本更新前。
80.可选的,在网络设备执行步骤s100-s102,直至若干命令行被遍历之后,还包括:
81.s107、若不存在不一致的命令行,则基于待更新软件版本进行自身的更新。
82.这样可以说明,当前的软件版本和待更新的软件版本可以兼容,配置信息可以平滑地在两个软件版本之间实现恢复,此时,网络设备可以直接基于待更新软件版本进行更新,并恢复当前的配置信息,完成网络设备的软件版本更新过程。
83.下面结合一个具体的实施方式对本技术所涉及的一种配置检测方法进行说明。
84.s1、网络设备获取待更新软件版本,从中解析出命令文本作为命令树。
85.s2、网络设备获取自身存储的配置信息,解析获取其中的若干命令行。
86.s3、网络设备从一条命令行中提取语法元素、配置元素和参数。
87.如图2所示的一条命令行中,分别包含有语法元素ip address,配置元素24.226.114.27。
88.在图2所展示的命令树中的一条命令行语法中,命令行标识0x03160501,命令行语法ip address x.x.x.x{x.x.x.x|integer《1-31》},其中,ip address为语法字,顺序为内容的出现顺序,比如先配置的x.x.x.x为ip地址,后配置的{x.x.x.x|integer《1-31》}为掩码,ip地址和掩码出现位置为语法顺序,integer《1-31》为掩码可能配置方式为语法参数。
89.如图2所示的另一条命令行语法中,分别包含命令行标识0x03160601和命令行语法ip address unnumbered interface{string《1-20》string《1-27》|string《1-47》},其中,语法字为ip address unnumbered interface,语法参数为{string《1-20》string《1-27》|string《1-47》}。
90.s4、网络设备提取一条命令行中的语法元素,确定命令树中是否存在与该语法元素相一致的命令行语法。若存在则读取配置信息中的下一条命令行,若不存在则跳转步骤s5。
91.以图2中的一条命令行为例,对命令行语法进行预处理,在命令行参数中存在行首的多余空格(“0x03160501”),将多余的空格删除。由于命令行中的语法元素和配置元素与语法字相匹配,但命令行中的参数与命令树中对应的语法参数的范围不一致,可以确认图2中的命令行在命令树中能够查找到,二者参数不一致。此时,网络设备需要记录该不一致的命令行,并读取下一条命令行进行匹配。
92.以图2中另一条命令行为例,命令行中的语法元素与命令树的命令行语法相匹配,命令行中的参数与命令树中对应语法参数的范围一致(参数:interface-type interface-number,语法参数:string《1-20》string《1-27》|string《1-47》),可以确认出图2中的命令行的参数与命令树中对应的命令行参数相一致,直接读取下一条命令行进行匹配。
93.s5、网络设备记录确定出的、不一致的命令行,并继续读取下一条命令行进行比对。若存在未进行比对的命令行,则循环执行步骤s3-步骤s5,若不存在未进行比对的命令行,则跳转步骤s6。
94.s6、网络设备输出不一致的命令行,并对不一致的命令行进行备份。
95.在输出不一致的命令行后,可以由用户选择是否需要更新,也可以由网络设备自动执行更新,根据实际需求选择即可。
96.s7、网络设备将从配置信息中删除该不一致的命令行,生成不包含该不一致命令行的执行配置信息。
97.s8、网络设备基于待更新软件版本进行自身的更新,并基于待执行配置信息进行配置恢复。若运行过程中未出现错误,则完成软件版本更新和配置恢复,若运行过程中出现错误,则跳转到步骤s9。
98.s9、网络设备基于原软件版本进行复原,并根据备份的、不一致的配置信息和待执行配置信息,将配置信息恢复到原有的配置(即之前所描述的存储的配置信息)。
99.在执行步骤s3-步骤s5时,若配置信息中不存在不一致的命令行,则跳转步骤s10。
100.s10、网络设备基于待更新软件版本进行自身的更新,并恢复配置信息,完成网络设备的软件版本更新。
101.基于上述过程,则可以完成网络设备的软件版本的更新,并尽可能的恢复网络配置。
102.相对应的,本技术还提供了一种配置检测装置,如图3所示,包括:
103.获取单元,用于获取待更新软件版本的命令树以及自身存储的配置信息,其中,命令树包含命令行语法,配置信息包含有若干命令行;
104.比对单元,用于根据若干命令行与命令行语法和对应命令行语法的命令行参数进行比对,记录不一致的命令行;
105.告警单元,用于若存在不一致的命令行,则输出不一致的命令行。
106.可选的,该装置,还包括:
107.备份单元,用于对不一致的命令行进行备份;
108.处理单元,用于从配置信息中删除不一致的命令行,生成待执行配置信息;
109.检测单元,基于待更新软件版本进行自身更新;
110.恢复单元,用于若基于待执行配置信息进行配置恢复时出现错误,则恢复原软件版本,并基于待执行配置信息和不一致的命令行进行配置恢复。
111.可选的,该装置,还包括:
112.更新单元,用于若不存在不一致的命令行,则基于待更新软件版本进行自身的更新。
113.可选的,比对单元,包括:
114.比对模块,用于逐个命令行提取语法元素,确定是否存在与语法元素相一致的命
令行语法,其中,语法元素包括关键字、顺序以及参数值;
115.记录模块,用于若确定不存在与语法元素相一致的命令行语法,则将该命令行记录为不一致的命令行。
116.可选的,该装置,还包括:
117.预处理单元,用于根据预处理规则对命令行语法进行修正。比如,预处理规则至少包括删除重复空格、行首空格和行尾空格中的一种。
118.可选的,获取单元,具体用于获取待更新软件版本中的命令文本;或者,获取待更新软件版本中的命令数据库,其中,命令数据库中部署有命令行语法的查找规则。
119.相对应的,一种网络设备,如图4所示,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使:实现上述任一项的方法步骤。
120.相对应的,一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器:实现上述任一项的方法步骤。
121.本说明书的实施方式提供的技术方案可以包括以下有益效果:
122.本说明书实施方式中,根据待更新软件版本的命令树与自身存储的配置信息进行比对,记录并向工作人员提供不一致的命令行,从而避免issu升级过程中所出现的原有配置信息无法适应升级后的软件版本的问题,提升了网络设备的可靠性。
123.应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
124.以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
技术特征:
1.一种配置检测方法,其特征在于,包括:获取待更新软件版本的命令树以及自身存储的配置信息,其中,所述命令树包含命令行语法,所述配置信息包含有若干命令行;根据所述若干命令行与所述命令行语法进行比对,记录不一致的命令行;若存在不一致的命令行,则输出不一致的命令行。2.根据权利要求1所述的方法,其特征在于,在所述输出不一致的命令行之后,还包括:对不一致的命令行进行备份;从所述配置信息中删除所述不一致的命令行,生成待执行配置信息;基于所述待更新软件版本进行自身更新;若基于所述待执行配置信息进行配置恢复时出现错误,则恢复原软件版本,并基于所述待执行配置信息和不一致的命令行进行配置恢复。3.根据权利要求1所述的方法,其特征在于,在所述若干命令行被遍历之后,还包括:若不存在不一致的命令行,则基于所述待更新软件版本进行自身的更新。4.根据权利要求1所述的方法,其特征在于,所述根据所述若干命令行与所述命令行语法和对应所述命令行语法的命令行参数进行比对,记录不一致的命令行,包括:逐个命令行提取语法元素,确定是否存在与所述语法元素相一致的所述命令行语法,其中,所述语法元素包括关键字、顺序以及参数值;若确定不存在与所述语法元素相一致的命令行语法,则将该命令行记录为不一致的命令行。5.根据所述权利要求4所述的方法,其特征在于,在逐个命令行提取语法元素之后,还包括:根据预处理规则对所述命令行语法进行修正。6.根据权利要求1-5任一项所述的方法,其特征在于,所述获取待更新软件版本的命令树,具体为获取待更新软件版本中的命令文本;或者,获取待更新软件版本中的命令数据库,其中,所述命令数据库中部署有命令行语法的查找规则。7.一种配置检测装置,其特征在于,包括:获取单元,用于获取待更新软件版本的命令树以及自身存储的配置信息,其中,所述命令树包含命令行语法,所述配置信息包含有若干命令行;比对单元,用于根据所述若干命令行与所述命令行语法进行比对,记录不一致的命令行;告警单元,用于若存在不一致的命令行,则输出不一致的命令行。8.根据权利要求7所述的装置,其特征在于,还包括:备份单元,用于对不一致的命令行进行备份;处理单元,用于从所述配置信息中删除所述不一致的命令行,生成待执行配置信息;检测单元,基于所述待更新软件版本进行自身更新;恢复单元,用于若基于所述待执行配置信息进行配置恢复时出现错误,则恢复原软件版本,并基于所述待执行配置信息和不一致的命令行进行配置恢复。9.根据权利要求7所述的装置,其特征在于,还包括:更新单元,用于若不存在不一致的命令行,则基于所述待更新软件版本进行自身的更
新。10.根据权利要求7所述的装置,其特征在于,所述比对单元,包括:比对模块,用于逐个命令行提取语法元素,确定是否存在与所述语法元素相一致的所述命令行语法,其中,所述语法元素包括关键字、顺序以及参数值;记录模块,用于若确定不存在与所述语法元素相一致的命令行语法,则将该命令行记录为不一致的命令行。11.根据所述权利要求10所述的装置,其特征在于,还包括:预处理单元,用于根据预处理规则对所述命令行语法进行修正。12.根据权利要求7-11任一项所述的装置,其特征在于,所述获取单元,具体用于获取待更新软件版本中的命令文本;或者,获取待更新软件版本中的命令数据库;其中,所述命令数据库中部署有命令行语法的查找规则。13.一种网络设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-6任一项所述的方法步骤。14.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求1-6任一项所述的方法步骤。
技术总结
本说明书提供一种配置检测方法以及装置,涉及通信技术领域。一种配置检测方法,包括:获取待更新软件版本的命令树以及自身存储的配置信息,其中,命令树包含命令行语法,配置信息包含有若干命令行;根据若干命令行与命令行语法进行比对,记录不一致的命令行;若存在不一致的命令行,则输出不一致的命令行。通过上述方法,能够提升网络设备升级的可靠性。能够提升网络设备升级的可靠性。能够提升网络设备升级的可靠性。
技术研发人员:李金平
受保护的技术使用者:新华三技术有限公司
技术研发日:2023.03.28
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
