CN116418668A - 自适应配置方法、装置及存储介质 - Google Patents
自适应配置方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116418668A CN116418668A CN202111673310.6A CN202111673310A CN116418668A CN 116418668 A CN116418668 A CN 116418668A CN 202111673310 A CN202111673310 A CN 202111673310A CN 116418668 A CN116418668 A CN 116418668A
- Authority
- CN
- China
- Prior art keywords
- configuration
- initial
- unordered
- adaptive
- relation
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000003044 adaptive effect Effects 0.000 title claims description 29
- 238000010586 diagram Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012986 modification Methods 0.000 abstract description 8
- 230000004048 modification Effects 0.000 abstract description 8
- 238000012545 processing Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及网络配置技术领域,公开了一种自适应配置方法,包括:获取初始无序配置;根据所述初始无序配置确定与所述初始无序配置对应的关系模型;根据所述关系模型将所述初始无序配置调整成有序配置。本实施例中自适应配置方法、装置及存储介质,能够避免在配置过程中多次的修改,提高配置效率。
Description
技术领域
本申请实施例涉及网络配置技术领域,特别涉及一种自适应配置方法、装置及存储介质。
背景技术
伴随着信息化技术的飞速发展,网络设备功能越来越强大。网络设备功能的强大带来了配置的复杂性。与此同时,设备上配置间约束关系更加错综复杂,增加了用户操作设备的困难性。目前的常规做法是,用户通过查看设备上的配置,逐一下发配置到设备生效。或者是批量下发配置,设备报错后,用户根据错误提示修改配置顺序。
以上两种做法,均要求用户了解设备的配置约束,如果用户只知道最终生效的配置集合,并不清楚配置先后关系,则有可能需要经过多次的修改操作才能达到预期的配置效果,导致配置效率较低。
发明内容
本申请实施例的主要目的在于提出一种自适应配置方法、装置及存储介质,能够避免在配置过程中多次的修改,提高配置效率。
为实现上述目的,本申请实施例提供了一种自适应配置方法,包括:获取初始无序配置;根据所述初始无序配置确定与所述初始无序配置对应的关系模型;根据所述关系模型将所述初始无序配置调整成有序配置。
为实现上述目的,本申请实施例还提供了一种自适应配置装置,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述自适应配置方法。
为实现上述目的,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述自适应配置方法。
本申请提出自适应配置方法,本实施例中即便用户不了解设备的配置约束,也可直接根据与初始无序配置对应的关系模型将初始无序配置调整成有序配置,因此,避免了由于用户不了解设备的配置约束,不清楚配置先后关系,而导致多次的修改操作,因此,可大大提高配置效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本发明实施例自适应配置方法的流程示意图;
图2是本发明实施例中配置之间的逻辑关系示意图;
图3是本发明实施例中初始无序配置的示例图;
图4是与图3所示的初始无序配置相应的关系模型图;
图5是与图3所示的初始无序配置相应的有序配置;
图6是本发明实施例自适应配置方法的框架示意图;
图7是本发明实施例自适应配置装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本申请实施例提供了一种自适应配置方法,本实施方式的核心在于包括:获取初始无序配置;根据初始无序配置确定与初始无序配置对应的关系模型;根据关系模型将初始无序配置调整成有序配置。本实施例中即便用户不了解设备的配置约束,也可直接根据与初始无序配置对应的关系模型将初始无序配置调整成有序配置,因此,避免了由于用户不了解设备的配置约束,不清楚配置先后关系,而导致多次的修改操作,因此,可大大提高配置效率。
本实施例中自适应配置方法的流程示意图如图1所示,包括:
步骤S11:获取初始无序配置。
具体地说,该初始无序配置可由用户操作输入,或者计算机系统自动生成。
在一些例子中,根据初始无序配置确定与初始无序配置对应的关系模型之前,还包括:对初始无序配置进行语法校验。本实施例中在步骤S11之后,在步骤S12之前,可先对获取的初始无序配置进行基本语法效验,基本语法效验是为了提前检查出一些基本的语法错误,及时给用户提示错误信息,减少系统的开销。
步骤S12:根据初始无序配置以及预先设置的单个配置的配置关系模板确定与初始无序配置对应的关系模型。
可选地,根据初始无序配置以及预先设置的单个配置的配置关系模板确定与初始无序配置对应的关系模型,包括:根据初始无序配置确定此次配置中的多个配置;根据预先设置的单个配置的配置关系模板确定多个配置中每个配置与其他配置之间的配置关系;根据配置关系确定与初始无序配置对应的关系模型。
具体地说,如图2所示,设备上支持的很多配置并不是独立存在,而是配置间存在关联顺序。比如在接口配置存在的情况下才能操作接口下的IP地址配置。本实施例中将配置直接依赖的配置定义为提供资源配置(resource),对于提供资源配置而言,当前配置就是占用该资源的配置。依靠同一个资源提供配置就会出现资源的争用,按照先后次序去争用资源会产生间接依赖(depend),争用有限且不能共享资源会产生互斥(mutex)。可以得知,配置之间的逻辑关系大致包括:间接依赖逻辑和互斥逻辑,间接依赖逻辑是指当前的配置操作需要其间接依赖的配置已存在,互斥逻辑是指当前的配置操作需要其互斥的配置不存在。
根据以上配置之间的逻辑关系,配置关系模板中应当至少包括:当前配置的名称、当前配置依赖的配置以及与当前配置互斥的配置,如此,根据每个配置的配置关系模块便可得知每个当前配置与其他配置之间的关系。在配置过程中,在对当前配置进行配置之前,需先对当前配置依赖的配置进行配置;在对当前配置进行配置之前不能对与当前配置互斥的配置进行配置。可选地,配置关系模板中还包括给当前配置提供资源的配置。
值得说明的是,用户操作的配置分为正向配置和逆向配置。其中,正向配置对应的操作类型是创建操作(create)和修改操作(set);逆向配置对应的操作类型是删除操作(delete)。在关系模型中,提供资源的配置和间接依赖的配置对应用户操作的正向配置,互斥的配置对应用户操作的逆向配置。具体配置是正向配置还是反向配置可在当前配置的名称中体现出来,例如:CON1_create为正向配置create。
具体的,本实施例中通过定义当前配置、给当前配置提供资源的配置、当前配置依赖的配置和与当前配置互斥的配置,预先建立配置关系模板,具体可选YML、或yang语言来定义配置关系模板。
其中,object表示当前配置,resource表示给当前配置提供资源的配置,depend表示当前配置依赖的配置,mutex表示与当前配置互斥的配置。
本实施例中根据初始无序配置确定此次配置中的多个配置,并根据配置关系模板确定出每个配置在所述多个配置中的配置关系,从而得到初始无序配置的关系模型。
如图3所示,下面通过一个带有正向配置和逆向配置的例子来详细描述自适应用户配置系统的工作原理。如图3所示的初始无序配置中多个配置包括:CON1_create、CON2_create、CON3_delete、CON4_create、CON5_create、CON6_create、CON7_delete、CON8_delete,其中,CON1_create、CON2_create、CON4_create、CON5_create、CON6_create操作是正向配置create,CON3_delete、CON7_delete、CON8_delete操作是反向配置delete。
此时,根据上述预先设置的单个配置的配置关系模板可确定多个配置中每个配置与其他配置之间的配置关系,具体的,配置CON1_create的配置关系如下所示:
config1_ref_model:
object:
name:CON1_create
如此,根据上述每个配置的配置关系得到的初始无序配置对应的关系模型如下所示:
步骤S13:根据关系模型生成关系模型图。
具体的,以上述图3所示的初始无需配置为例,其根据初始无序配置对应的关系模型通过自适应算法得到的关系模型图如图4所示,其中,箭头标示出度方向,出度方向为当前配置中的来源设备指向当前配置依赖的配置的方向。
本实施例中可根据上述关系模型得到多个配置之间的所有的出度方向,如此便可得到关系模型图。
下面对如何确定出度方向进行举例说明:上述初始无序配置对应的关系模型中CON2_create为正向配置,与CON2_create相关的配置为CON1_create和CON3_create,如此,CON2_create则包括两个出度方向CON2_create指向CON1_create、以及CON2_create指向CON3_create。
上述初始无序配置对应的关系模型中CON7_delete为反向配置,与CON7_delete相关的配置为CON3_delete和CON8_delete,如此,指向CON7_delete的出度方向包括两个,CON3_create指向CON7_delete,CON8_delete指向CON7_delete。依次类推,便可根据上述关系模型得到多个配置之间的所有的出度方向,从而可得到关系模型图。
步骤S14:遍历关系模型图中每个配置以重新确定每个配置在所有配置中的配置顺序。
步骤S15:根据每个配置在所有配置中的配置顺序将初始无序配置调整成有序配置。
可选地,遍历关系模型图中每个配置以重新确定每个配置在所有配置中的配置顺序,包括:以无序配置关系中的配置为起点,根据配置的出度方向遍历关系模型图中每个配置的配置顺序,出度方向为:当前配置中的来源设备指向当前配置依赖的配置的方向;若配置的出度方向为0,则将配置记录在配置顺序链表上;若配置的出度方向不为0,则继续确定每个出度方向上的配置的出度方向直至出度方向为0。
具体地说,以无序配置关系中的第一个配置(C1)为起点,找到其中一个出度方向(C2),并将第二个配置C2标记为已经访问。如果当前配置的出度方向为0,将当前配置挂到有序链表上,并将其状态标记为已经访问。以第二个配置C2为起点,重复1)的过程,直到找到出度为0的配置。找到该配置后,将其挂到有序链表上,并将其状态标记为已经访问。
回到当前配置的上一个配置,依次去找其他出度方向上没有被访问过的配置,继续访问。
重复以上过程,直到所有的配置都挂到了有序链表上。此时用户下发的配置就被调整成了有序的配置。
例如:对上述一个带有正向配置和逆向配置的例子的调序过程如下所示:
(1)处理用户下发的第一个配置CON1_create。由于CON1_create在模型关系图中出度为0,可以直接放到有序链表上,并将CON1_create状态标记为已经访问。
(2)处理用户下发配置CON2_create。CON2_create在模型关系图中出度为2,对应的配置是CON1_create,CON3_delete。其中CON1_create的状态是已经访问,直接处理CON3_delete。
(3)CON3_delete的出度为2,对应的配置是CON7_delete和CON8_delete。任选一个配置(CON8_delete),出度为1,对应的配置是CON7_delete,CON7_delete的出度为0,放到有序链表上,同时标记CON7_delete的状态为已经访问。退回上一个配置CON8_delete,放到有序链表上,标记状态为已经访问。退回上一个配置CON3_delete放到有序链表上,状态标记为已经访问。此时CON2_create的所有出度方向均已经处理完成,CON2_create放到有序链表上,状态标记为已经访问。
(4)处理用户下发配置CON3_delete。发现其状态是已经访问,则无需再次处理。
(5)处理用户下发配置CON4_create,其出度方向为0,可以直接放到有序链表上,并标记为已经访问。
(6)处理用户下发配置CON5_create,其出度方向为2,分别对应的配置是CON1_create和CON6_create。CON6_create出度为1,对应的配置是CON1_create,CON1_create状态已经访问,将CON6_create放到有序链表中,并将状态标记为已经访问。退回到上一个配置CON5_create,所有的出度方向均已经处理完成,CON5_create放到有序链表上,状态标记为已经访问。
(7)处理用户下发的CON6_Create,CON7_Delete,CON8_Delete。发现CON6_Create,CON7_Delete,CON8_Delete状态均是已经访问。至此调序结束。
调整后的顺序如图5所示。
可选地,本实施例可支持在用户未确认配置的前提下,对配置进行调整与修改。
在一些例子中,根据初始无序配置确定与初始无序配置对应的关系模型,包括:根据初始无序配置从数据库中获取与初始无序配置对应的关系模型,数据库中预先存储有与初始无序配置对应的关系模型。
如图6所示,数据库中记录的是设备上已经配置的生效的数据,即与初始无序配置与关系模型的对应关系,如此,当用户在对该初始无序配置调整配置顺序时,可直接在数据库中匹配到对应的关系模型,无需重新生成关系模型从而提高了配置速率。初始无序配置通过数据库数据、模型关系有向图和自适应调序算法生成最终的有序配置报文。
本实施例中将配置约束关系抽象成模型关系有向图。然后,设备或者系统通过根据初始无序配置、模型关系有向图、数据可和自适应用户配置算法来调整用户操作的配置顺序,最终实现自适应用户配置效果。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明实施例涉及一种自适应配置装置,如图7所示,包括至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行上述的自适应配置方法。
其中,存储器302和处理器301采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器301和存储器302的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器301处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器301。
处理器301负责管理总线和通常的处理,还可以提供各种功能,包括定时、外围接口、
电压调节、电源管理以及其他控制功能。而存储器302可以被用于存储处理器301在执行操作时所使用的数据。
本发明的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述自适应配置方法。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种自适应配置方法,其特征在于,包括:
获取初始无序配置;
根据所述初始无序配置确定与所述初始无序配置对应的关系模型;
根据所述关系模型将所述初始无序配置调整成有序配置。
2.根据权利要求1所述的自适应配置方法,其特征在于,所述根据所述初始无序配置确定与所述初始无序配置对应的关系模型,包括:
根据所述初始无序配置以及预先设置的单个配置的配置关系模板确定与所述初始无序配置对应的关系模型。
3.根据权利要求2所述的自适应配置方法,其特征在于,所述根据所述初始无序配置以及预先设置的单个配置的配置关系模板确定与所述初始无序配置对应的关系模型,包括:
根据所述初始无序配置确定此次配置中的多个配置;
根据预先设置的单个配置的配置关系模板确定所述多个配置中每个配置与其他配置之间的配置关系;
根据所述配置关系确定与所述初始无序配置对应的关系模型。
4.根据权利要求3所述的自适应配置方法,其特征在于,所述配置关系模板中包括:当前配置的名称、当前配置依赖的配置以及与当前配置互斥的配置。
5.根据权利要求1所述的自适应配置方法,其特征在于,所述根据关系模型将初始无序配置调整成有序配置,包括:
根据所述关系模型生成关系模型图;
遍历所述关系模型图中每个所述配置以重新确定每个所述配置在所有配置中的配置顺序;
根据所述每个所述配置在所有配置中的配置顺序将所述初始无序配置调整成有序配置。
6.根据权利要求5所述的自适应配置方法,其特征在于,所述遍历所述关系模型图中每个所述配置以重新确定每个所述配置在所有配置中的配置顺序,包括:
以所述无序配置关系中的配置为起点,根据所述配置的出度方向遍历所述关系模型图中每个所述配置的配置顺序,所述出度方向为:所述当前配置中的来源设备指向所述当前配置依赖的配置的方向;
若所述配置的出度方向为0,则将所述配置记录在配置顺序链表上;
若所述配置的出度方向不为0,则继续确定每个所述出度方向上的配置的出度方向直至出度方向为0。
7.根据权利要求1所述的自适应配置方法,其特征在于,所述根据初始无序配置确定与初始无序配置对应的关系模型,包括:
根据初始无序配置从数据库中获取与初始无序配置对应的关系模型,所述数据库中预先存储有与所述初始无序配置对应的关系模型。
8.根据权利要求1所述的自适应配置方法,其特征在于,所述根据初始无序配置确定与初始无序配置对应的关系模型之前,还包括:
对所述初始无序配置进行语法校验。
9.一种自适应配置装置,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一所述的自适应配置方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一所述的自适应配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111673310.6A CN116418668A (zh) | 2021-12-31 | 2021-12-31 | 自适应配置方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111673310.6A CN116418668A (zh) | 2021-12-31 | 2021-12-31 | 自适应配置方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116418668A true CN116418668A (zh) | 2023-07-11 |
Family
ID=87051889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111673310.6A Pending CN116418668A (zh) | 2021-12-31 | 2021-12-31 | 自适应配置方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116418668A (zh) |
-
2021
- 2021-12-31 CN CN202111673310.6A patent/CN116418668A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111309593A (zh) | Json接口校验的方法、装置、设备及计算机可读存储介质 | |
EP3866443A1 (en) | Opc ua server, system operating using opc ua, and method of executing opc ua system | |
CN108292207A (zh) | 用于声明性动作编排的方法和装置 | |
US10241699B2 (en) | Method, apparatus or software for transferring a storage replication system between storage systems | |
CN113535141A (zh) | 数据库操作代码的生成方法及装置 | |
CN111294377B (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN111078213B (zh) | 一种代码生成方法及代码生成装置 | |
US11985029B2 (en) | Pico-base station configuration method and apparatus, storage medium and electronic apparatus | |
CN112540995B (zh) | 数据更新方法、电子设备及存储介质 | |
CN111198678A (zh) | 一种生成GraphQL前端操作接口的方法及装置 | |
CN116418668A (zh) | 自适应配置方法、装置及存储介质 | |
CN112395339A (zh) | 系统间数据准入校验方法、装置、计算机设备和存储介质 | |
US20140156714A1 (en) | Distributed file system processing apparatus and method, and storage media storing the same | |
CN114489674A (zh) | 动态数据模型的数据校验方法和装置 | |
US9641956B2 (en) | Dynamic flow management | |
CN117573730B (zh) | 数据处理方法、装置、设备、可读存储介质及程序产品 | |
CN115826986B (zh) | 基于Jenkins的代码打包验证方法及装置 | |
WO2022001269A1 (zh) | 配置数据合并方法、装置、系统、电子设备及介质 | |
US20230336410A1 (en) | Method and apparatus for configuring node | |
CN116561157A (zh) | 一种基于Mybatis实现可配置的动态SQL的方法 | |
CN116795355A (zh) | 代码修改方法、装置、设备和可读存储介质 | |
CN116302169A (zh) | 一种开源托管软件配置方法、电子设备及介质 | |
TWI461023B (zh) | 用於管理物件中定義條件之方法 | |
CN116400897A (zh) | 公共数据字典的管理方法、服务器、远端仓库及存储介质 | |
CN112231329A (zh) | 向数据库插入数据的方法、装置、设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |