一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

配置方法及系统、计算机可存储介质与流程

2022-03-01 18:05:14 来源:中国专利 TAG:


1.本公开涉及通信技术领域,特别涉及配置方法及系统、计算机可存储介质。


背景技术:

2.目前各种业务系统越来越庞大,基于开源的业务模块(功能模块)越来越多,每个业务模块都具备自身独特的业务配置模块,为了降低业务人员的配置技术门槛,需要统一所有业务配置模块。
3.相关技术中,重新改写多个业务配置模块为一个统一的配置模块。


技术实现要素:

4.发明人认为:相关技术中,为重新改写多个业务配置模块为一个统一的配置模块,需投入大量的人力和时间,重新改写还会引入其他问题导致业务系统的可靠性降低。
5.针对上述技术问题,本公开提出了一种解决方案,能够减少人力成本和时间成本,提高业务系统的可靠性。
6.根据本公开的第一方面,提供了一种配置方法,包括:公共配置模块接收原始配置命令;所述公共配置模块发送所述原始配置命令到多个业务配置模块中的、与所述原始配置命令对应的业务配置模块;与所述原始配置命令对应的业务配置模块利用预设转换规则,将所述原始配置命令转换为与所述业务配置模块对应的业务模块可识别的目标配置命令,并发送所述目标配置命令到所述业务模块。
7.在一些实施例中,发送所述目标配置命令到所述业务模块包括:在所述原始配置命令为无返回结果的命令类型的情况下,与所述原始配置命令对应的业务配置模块采用异步处理方式,将所述目标配置命令发送到数据库;配置执行模块从所述数据库中获取所述目标配置命令,并发送所述目标配置命令到所述业务模块。
8.在一些实施例中,所述公共配置模块、所述多个业务配置模块和所述配置执行模块封装于一个第一容器中,与每个业务配置模块对应的业务模块单独封装于一个第二容器中,所述数据库单独封装于一个第三容器中。
9.在一些实施例中,所述数据库为内存数据库。
10.在一些实施例中,发送所述目标配置命令到所述业务模块包括:
11.在所述原始配置命令为有返回结果的命令类型的情况下,与所述原始配置命令对应的业务配置模块采用同步处理方式,将所述目标配置命令直接发送到所述业务模块。
12.在一些实施例中,所述原始配置命令包括至少一个原始配置参数和每个原始配置参数的原始参数值,所述预设转换规则包括表征原始配置命令的原始格式和目标配置命令的目标格式之间的对应关系的命令格式转换表,所述原始格式包括至少一个原始配置参数和每个原始配置参数的原始参数值的正则表达式,所述目标格式包括与至少一个原始配置参数对应的至少一个目标配置参数和至少一个目标位置标识,利用预设转换规则,将所述原始配置命令转换为与所述业务配置模块对应的业务模块可识别的目标配置命令包括:从
所述命令格式转换表中,获取与所述原始配置命令的原始格式对应的目标格式;根据原始配置命令中的至少一个原始参数值的位置顺序,确定至少一个原始参数值的原始位置标识;根据与所述目标格式中的每个目标位置标识相同的原始位置标识对应的原始参数值,确定与所述每个目标位置标识对应的目标参数值;将所述目标参数值填充到所述每个目标位置标识所在位置,得到所述目标配置命令。
13.在一些实施例中,确定与所述每个目标位置标识对应的目标参数值包括:对于所述每个目标位置标识,在所述原始参数值属于接口类型的情况下,根据原始参数值与目标参数值的对应关系,确定所述目标参数值。
14.在一些实施例中,确定与所述每个目标位置标识对应的目标参数值包括:对于所述每个目标位置标识,在所述原始参数值属于掩码类型的情况下,将所述原始参数值的比特位数,确定为所述目标参数值。
15.在一些实施例中,从所述命令格式转换表中,获取与所述原始配置命令的原始格式对应的目标格式包括:利用正则表达式匹配算法和字符串匹配算法,从所述命令格式转换表中,获取与所述原始配置命令对应的原始格式;根据原始格式与目标格式之间的对应关系,获取所述目标格式。
16.根据本公开第二方面,提供了一种配置系统,包括:公共配置模块,被配置为接收原始配置命令,并发送所述原始配置命令到多个业务配置模块中的、与所述原始配置命令对应的业务配置模块;所述多个业务配置模块,其中,与所述原始配置命令对应的业务配置模块被配置为利用预设转换规则,将所述原始配置命令转换为与所述业务配置模块对应的业务模块可识别的目标配置命令,并发送所述目标配置命令到所述业务模块。
17.根据本公开第三方面,提供了一种配置系统,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的配置方法。
18.根据本公开的第四方面,提供了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的配置方法。
19.在上述实施例中,能够减少人力成本和时间成本,提高业务系统的可靠性。
附图说明
20.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
21.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,
22.其中:
23.图1是示出根据本公开一些实施例的配置方法的流程图;
24.图2是示出根据本公开一些实施例的配置系统的框图;
25.图3是示出根据本公开另一些实施例的配置系统的框图;
26.图4是示出根据本公开再一些实施例的配置系统的框图;
27.图5是示出用于实现本公开一些实施例的计算机系统的框图。
具体实施方式
28.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
29.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
30.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
31.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
32.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
33.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
34.下面将结合图1、图2详细描述本公开一些实施例的配置方法。
35.图1是示出根据本公开一些实施例的配置方法的流程图。
36.图2是示出根据本公开一些实施例的配置系统的框图。
37.如图1所示,配置方法包括步骤s110-步骤140。
38.在步骤s110中,公共配置模块接收原始配置命令。
39.在一些实施例中,在图2中配置人员(例如,运维人员等用户)在配置入口20输入原始配置命令,从而配置入口20将原始配置命令发送到公共配置模块21。例如,配置人员在配置入口20输入的原始配置命令的行为和格式由层次化配置模型配置树来规定。配置树可以包括不同业务的配置视图,配置人员在输入原始配置命令时,首先从配置入口获取相应的配置树中的至少一部分配置视图,进而基于该至少一部分配置视图,输入原始配置命令。
40.例如,用于配置接口gigabitethernet 0/0/0的ipv4(internet protocol version 4,网际协议版本4)地址为1.1.1.1掩码为255.255.255.255的原始配置命令为:
41.interface gigabitethernet 0/0/0
42.ip address 1.1.1.1 255.255.255.255。
43.配置人员在配置入口20基于配置视图输入原始配置命令可以为:
44.(config)#interface gigabitethernet 0/0/0
45.(gigabitethernet 0/0/0)#ip address 1.1.1.1 255.255.255.255。
46.配置人员进入配置入口20后,首先需要在(config)#后输入即将要配置的业务的配置视图,即输入命令interface gigabitethernet 0/0/0,从而配置人员获取到(gigabitethernet 0/0/0)#的配置视图。随后,配置人员在(gigabitethernet 0/0/0)#后输入命令ip address 1.1.1.1 255.255.255.255,从而完成上述原始配置命令的输入。
47.(config)#表示已进入配置入口;(config)#interface gigabitether net 0/0/0表示进入接口gigabitethernet 0/0/0的配置;(gigabitethe rnet 0/0/0)#表示已进入对接口gigabitethernet 0/0/0的配置;(giga bitethernet 0/0/0)#ip address 1.1.1.1 255.255.255.255表示按照命令ip address 1.1.1.1 255.255.255.255对接口
gigabitethernet 0/0/0进行配置。
48.这里的原始配置命令是预先定义好的标准,配置人员需要根据标准进行配置命令的输入。下面将结合表1给出一些原始配置命令的示例。
49.表1示出了一些原始配置命令以及每个原始配置命令的功能的对应关系。
50.表1原始配置命令及其功能对应表
[0051][0052]
以原始配置命令ospf 1router-id 1.1.1.1为例,原始配置命令包括至少一个原始配置参数ospf和router-id,还包括每个原始配置参数的原始参数值1和1.1.1.1。
[0053]
在另一些实施例中,配置人员通过sdn(software defined net work,软件定义网络)控制器20a向netconf/grpc(google remot e procedure call,谷歌远程过程调用)服务端20b发送包括原始配置命令的配置文件,进而由netconf/grpc服务端20b向公共配置模块21发送该原始配置命令。netconf为sdn南向接口协议。
[0054]
在一些实施例中,在接收到原始配置命令后,公共配置模块还会检查原始配置参数之间的依赖关系、原始参数值的正确性等。
[0055]
返回图1,在步骤s120中,公共配置模块发送原始配置命令到多个业务配置模块中的、与原始配置命令对应的业务配置模块。即,调用业务配置模块进行配置命令的转换。
[0056]
例如,图2的配置系统包括业务模块22a、业务模块22b和业务模块22c等多个业务模块。业务模块22a、业务模块22b和业务模块22c等多个业务模块分别对应业务配置模块23a、业务配置模块23b和业务配置模块23c等多个业务配置模块。业务模块22a、业务模块22b和业务模块22c例如可以分别为系统业务模块、路由业务模块和其他业务模块。
[0057]
在一些实施例中,图2的公共配置模块21中存储有如表2所示的原始配置命令的原始格式与业务模块、业务配置模块之间的对应关系表。
[0058]
表2原始格式与业务模块、业务配置模块之间的对应关系表
[0059][0060]
如表2所示,原始格式包括至少一个原始配置参数和每个原始配置参数的原始参数值的正则表达式。
[0061]
原始格式show ip vpn-instance$string@《1-32》包括一个原始配置参数vpn-instance,对应的原始参数值的正则表达式为$string@《1-32》。正则表达式$string@《1-32》中的$string表示原始参数值的变量类型为字符串string类型,@《1-32》表示原始参数值的取值范围为1-32位字符串。
[0062]
原始格式ospf$int@《1-255》router-id$ipv4 vpn-instance$string@《1-32》包括三个原始配置参数ospf、router-id和vpn-inst ance,对应的原始参数值的正则表达式分别为$int@《1-255》、$ipv4和$string@《1-32》。正则表达式$int@《1-255》中的$int表示原始参数值的变量类型为int类型(整型),@《1-255》表示原始参数值的取值范围为1-255之间的整数。正则表达式$ipv4表示原始参数值符合ipv4的格式和取值范围等规范。此处不再赘述与前面相同的正则表达式。
[0063]
表2中其他原始格式的原始配置参数和原始参数值组成与上述两种原始格式类似,此处不再赘述。下面仅描述前述未涉及的原始参数值的正则表达式的含义。正则表达式$interface表示原始参数值符合interface(接口)的格式和取值范围等规范。正则表达式$ipv4-mask表示原始参数值符合ipv4掩码的格式和取值范围等规范。正则表达式$ipv6-with-mask表示原始参数值符合带掩码的ipv6(internet protocol version 6,网际协议版本6)的格式和取值范围等规范。
[0064]
在一些实施例中,公共配置模块通过利用正则表达式匹配算法和字符串匹配算法,从表2中确定与原始配置命令对应的原始格式,进而根据原始格式与业务配置模块的对应关系,确定与原始配置命令对应的业务配置模块。
[0065]
例如,对于原始配置命令ospf 1router-id 1.1.1.1,利用字符串匹配算法和正则表达式匹配算法,确定原始格式为ospf$int@《1-255》router-id$ipv4。根据表2,可以确定与该原始格式对应的业务配置模块为业务配置模块23b。图2的公共配置模块21将原始配置命令ospf 1router-id 1.1.1.1发送到业务配置模块23b。
[0066]
返回图1,在步骤s130中,与原始配置命令对应的业务配置模块利用预设转换规则,将原始配置命令转换为与业务配置模块对应的业务模块可识别的目标配置命令。例如,预设转换规则表征原始配置命令的原始格式和目标配置命令的目标格式之间的对应关系的命令格式转换表。
[0067]
针对原始配置命令ospf 1router-id 1.1.1.1,图2的业务配置模块23b利用如表3所示的命令格式转换表,将原始配置命令转换为目标配置命令。
[0068]
表3命令格式转换表
[0069][0070]
如表3所示,原始格式与表2中的原始格式相同,这里不再赘述。目标格式包括与原始格式的至少一个原始配置参数对应的至少一个目标配置参数和至少一个目标位置标识。目标位置标识用于确定原始配置命令中的各个原始参数值对应的目标参数值在目标格式中的位置。
[0071]
例如,目标格式ospf/1vpn-instance/3包括目标配置参数ospf和vpn-instance,目标位置标识1和3表示目标位置标识所在位置的目标参数值对应于原始配置命令ospf 1router-id 1.1.1.1vpn-instance vpna中位置顺序为1和3的原始参数值。目标格式中目标位置标识前的“/”表示该数字为目标位置标识。
[0072]
下面将以原始配置命令ospf 1router-id 1.1.1.1为例,详细描述将原始配置命令ospf 1router-id 1.1.1.1转换为目标配置命令的过程。
[0073]
从如表3所示的所示的命令格式转换表中,获取与原始配置命令的原始格式对应的目标格式。例如,首先利用正则表达式匹配算法和字符串匹配算法,从命令格式转换表中获取与原始配置命令ospf 1router-id 1.1.1.1对应的原始格式ospf$int@《1-255》
router-id$ipv4;然后根据命令格式转换表中的原始格式与目标格式之间的对应关系,获取如下目标格式:
[0074]
router ospf/1
[0075]
router id/2。
[0076]
在获取目标格式后,根据原始配置命令ospf 1router-id 1.1.1.1中的至少一个原始参数值1和1.1.1.1的位置顺序,确定这至少一个原始参数值1和1.1.1.1的原始位置标识分别为1和2。
[0077]
在确定原始位置标识后,根据与上述目标格式中的每个目标位置标识1和2相同的原始位置标识1和2对应的原始参数值1和1.1.1.1,确定与每个目标位置标识1和2对应的目标位置标识对应的目标参数值。
[0078]
例如,根据原始参数值的类型,确定原始参数值对应的目标参数值。对于原始配置命令ospf 1router-id 1.1.1.1,原始参数值1和1.1.1.1分别为ospf标识和路由ip地址,目标参数值就是原始参数值1和1.1.1.1。
[0079]
又例如,对于每个目标位置标识,在原始参数值属于接口类型的情况下,根据原始参数值与目标参数值的对应关系,确定目标参数值。
[0080]
对于原始配置命令:
[0081]
interface gigabitethernet 0/0/0
[0082]
ip address 1.1.1.1 255.255.255.255,
[0083]
原始参数值0/0/0属于接口类型,则根据json(javascript object notation,js对象简谱)数据所示的接口映射表:
[0084][0085]
来确定原始配置参数gigabitethernet的原始参数值0/0/0对应的目标参数值为0。在上述json数据中,"admin_status":"down"表示接口ethernet0或ethernet1的状态为关闭,"mtu":"1500"表示接口ethernet0或ethernet1的最大传输单元为1500,"speed":"100000"和"speed":"25000"分别表示接口ethernet0或ethernet1的最大传输速率为100000和25000。alias关键字表示接口之间的映射关系。
[0086]
在原始参数值属于掩码类型的情况下,将原始参数值的比特位数,确定为目标参数值。对于原始配置命令:
[0087]
interface gigabitethernet 0/0/0
[0088]
ip address 1.1.1.1 255.255.255.255,
[0089]
原始参数值255.255.255.255属于掩码类型,则将其比特位数32确定为目标参数值。
[0090]
同理可得其他的原始参数值对应的目标配置参数,此处将不再赘述。
[0091]
在确定目标参数值后,将目标参数值1和1.1.1.1填充到每个目标位置标识1和2所在位置/1和/2,得到目标配置命令:
[0092]
router ospf 1
[0093]
router id 1.1.1.1。
[0094]
返回图1,在步骤s140中,发送目标配置命令到业务模块。这里的业务模块为与原始配置命令对应的业务配置模块相对应的业务模块。
[0095]
例如,在原始配置命令ospf 1router-id 1.1.1.1为无返回结果的命令类型的情
况下,与原始配置命令对应的业务配置模块23b采用异步处理方式,将目标配置命令发送到数据库24。进而,配置执行模块25从数据库24中获取目标配置命令,并发送目标配置命令到业务模块22b。业务模块22b与业务配置模块23b相对应。
[0096]
在一些实施例中,数据库24可以为内存数据库。例如,数据库24为redis(remote dictionary server,远程字典服务)内存数据库。这里的异步指的是无需等待业务模块22b向用户返回配置操作的结果,用户即可直接进行下一步配置操作。异步的配置效率更高,用户体验更好。采用内存数据库可以提高配置的速度和效率。
[0097]
又例如,在原始配置命令show ip vpn-instance为有返回结果的命令类型的情况下,与原始配置命令对应的业务配置模块23b采用同步处理方式,将目标配置命令直接发送到业务模块22b。这里的同步指的是用户需要等待业务模块22b向用户返回配置操作的结果,用户才能进行下一步配置操作。
[0098]
在一些实施例中,图2的公共配置模块21、多个业务配置模块23a、业务配置模块23b、业务配置模块23c和配置执行模块25封装于一个第一容器(例如docker容器)中,与业务配置模块23a、业务配置模块23b、业务配置模块23c对应的业务模块22a、业务模块22b、业务模块22c分别单独封装于一个第二容器(例如docker容器)中,数据库24单独封装于一个第三容器(例如docker容器)中。在图2中,一个虚线矩形框代表一个容器。例如,图2的netconf/grpc服务端20b和配置入口20也可以部署在第一容器中。
[0099]
通过将不同的模块部署在不同的容器中,用于承载业务的功能以及提供默认的配置出口,可以降低模块之间的耦合度,实现业务隔离,提高复用率,增强扩展性,为微服务提供更加便利的运行环境,支持跨平台,便于升级管理。
[0100]
在上述实施例中,通过公共配置模块接收统一的原始配置命令,并将原始配置命令发送到相应的业务配置模块进行配置命令转换,能够减少人力成本和时间成本,提高业务系统的可靠性。
[0101]
图3是示出根据本公开另一些实施例的配置系统的框图。
[0102]
如图3所示,配置系统3包括公共配置模块31、多个业务配置模块32a、32b和32c等。
[0103]
公共配置模块31被配置为接收原始配置命令,并发送原始配置命令多个业务配置模块中的、与原始配置命令对应的业务配置模块,例如执行如图1所示的步骤s110-步骤s120。例如,与原始配置命令对应的业务配置模块为32a。
[0104]
与原始配置命令对应的业务配置模块32a被配置为利用预设转换规则,将原始配置命令转换为与业务配置模块32a对应的业务模块可识别的目标配置命令,并发送目标配置命令到业务模块,例如执行如图1所示的步骤s130-步骤s140。业务配置模块32b和业务配置模块32c等其他业务配置模块也具有相同的功能。
[0105]
图4是示出根据本公开再一些实施例的配置系统的框图。
[0106]
如图4所示,配置系统4包括存储器41;以及耦接至该存储器41的处理器42,存储器41用于存储执行配置方法对应实施例的指令。处理器42被配置为基于存储在存储器41中的指令,执行本公开中任意一些实施例中的配置方法。
[0107]
图5是示出用于实现本公开一些实施例的计算机系统的框图。
[0108]
如图5所示,计算机系统50可以通用计算设备的形式表现。计算机系统50包括存储器510、处理器520和连接不同系统组件的总线500。
[0109]
存储器510例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(ram)和/或高速缓存存储器。非易失性存储介质例如存储有执行配置方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
[0110]
处理器520可以用通用处理器、数字信号处理器(dsp)、应用专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(cpu)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
[0111]
总线500可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(isa)总线、微通道体系结构(mca)总线、外围组件互连(pci)总线。
[0112]
计算机系统50还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530、540、550以及存储器510和处理器520之间可以通过总线500连接。输入输出接口530可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口。存储接口550为软盘、u盘、sd卡等外部存储设备提供连接接口。
[0113]
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
[0114]
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
[0115]
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
[0116]
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
[0117]
通过上述实施例中的配置方法及系统、计算机可存储介质,能够减少人力成本和时间成本,提高业务系统的可靠性。
[0118]
至此,已经详细描述了根据本公开的配置方法及系统、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献