CN115951822A - 一种关于厂商yang文件的原子能力存储和渲染方法、***、电子设备和存储介质 - Google Patents

一种关于厂商yang文件的原子能力存储和渲染方法、***、电子设备和存储介质 Download PDF

Info

Publication number
CN115951822A
CN115951822A CN202211352890.3A CN202211352890A CN115951822A CN 115951822 A CN115951822 A CN 115951822A CN 202211352890 A CN202211352890 A CN 202211352890A CN 115951822 A CN115951822 A CN 115951822A
Authority
CN
China
Prior art keywords
atomic capability
nodes
yang
atomic
tree structure
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
Application number
CN202211352890.3A
Other languages
English (en)
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.)
China Telecom Digital Intelligence Technology Co Ltd
Original Assignee
China Telecom Digital Intelligence Technology Co 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 China Telecom Digital Intelligence Technology Co Ltd filed Critical China Telecom Digital Intelligence Technology Co Ltd
Priority to CN202211352890.3A priority Critical patent/CN115951822A/zh
Publication of CN115951822A publication Critical patent/CN115951822A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

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

Abstract

本发明公开了一种关于厂商YANG文件的原子能力存储和渲染方法、***、电子设备和存储介质。上述方法通过树形化改造算法对厂商YANG文件进行结构改造,改造后以树形结构存储原子能力。对于不能快速响应厂商YANG文件迭代的问题,本方法对不同版本的YANG文件形成一个原子能力模板,此后出现同一版本的YANG文件可快速响应,有效提高向路由器交换机下发配置的速率。本方法提供前端可理解的数据结构,在前端渲染原子能力结构关系。上述***包括:文件分析模块、数据处理模块、数据存储模块和配置下发模块;该***实现上述相应的方法。本发明相对现有技术,具有减少设备配置内容的耦合度、快速响应不同版本YANG文件、设备配置下发模板支持多场景变量等优点。

Description

一种关于厂商YANG文件的原子能力存储和渲染方法、***、电子设备和存储介质
技术领域
本发明涉及网络通信领域,具体涉及一种关于厂商YANG文件的原子能力存储和渲染方法、***、电子设备和存储介质。
背景技术
在运营商网络通信领域中,针对网络设备的配置和控制主要有两种方式:集成商人工运维模式和SDN控制器模式。
集成商人工运维的方式一般使用CLI命令直接与设备交互以完成设备开局、骨干中继开通、业务开通、设备升级维护等操作。但这种方式受空间和时间的影响较大,同时受限于网络工程师的技术水平和效率。一旦对重大故障的响应不够迅速,可能会对客户业务造成不可估计的损失。
关于SDN(Software Defined Network)控制器的方式,SDN控制器拥有全局可控的控制平面和高效的转发平面,控制器使用者可以基于全网网络信息进行决策,根据网络流量的实时变化去调整和优化。调整和优化包括对设备下发维护变更、业务开通等等。现有的SDN控制器对设备配置的方案有:1)基于网络设备支持的CLI命令,抽象多条CLI命令形成原子能力,这种方式对于网络工程师易于阅读,缺点是CLI命令融合多种协议内容,对于最小下发单元的划分没有标准,很难精准的解决实际问题。2)基于已有厂商的YANG文件,抽象出代码结构,通过对象间的互相引用实现协议间的关系。这种方式基于厂商YANG文件,已经能够较好的适配设备上支持的最小下发能力单元。但是这种方式对于厂商版本升级的支持不够灵活,当厂商版本升级导致YANG文件发生变化时,需要重新开发代码进行适配,调整周期较长,不能快速响应厂商升级变化。
发明内容
本发明针对现有技术中的不足,提供一种关于厂商YANG文件的原子能力存储和渲染方法、***、电子设备和存储介质,以快速适配厂商YANG文件变化,高效地完成升级迭代,完成版本化管理,符合用户阅读习惯。
为实现上述目的,本发明采用以下技术方案:
一种关于厂商YANG文件的原子能力存储和渲染方法,包括:
根据厂商提供的规范YANG文件,确定YANG文件存在的数据节点,确定数据节点的层级关系及树形结构;
设计原子能力存储表,使原子能力存储表的结构符合原子能力的父子节点关系;
解析厂商YANG文件生成的swagger文件,得到原子能力和非标准树形结构,使用树形化改造算法将非标准树形结构改造成标准树形结构;
若YANG文件为旧版本,将YANG文件对应的原子能力以标准树形结构存入原子能力存储表中,记录当前原子能力的版本,按照当前原子能力对应的模板组合原子能力;使用模板向路由器交换机下发配置数据,并将已下发的配置数据进行持久化存储;
若YANG文件为新版本,则查找该原子能力的历史模板并禁用,将上一个版本的原子能力以标准树形结构记录到历史原子能力存储表中,将当前版本的原子能力以标准树形结构记录到新的原子能力存储表中;组合当前原子能力的节点并形成模板,解析模板内容后向路由器交换机下发配置数据,将配置数据以事务维度进行记录;
提供前端可理解的数据结构,将数据节点以json格式返回至前端,渲染原子能力结构关系。
为优化上述技术方案,采取的具体措施还包括:
进一步地,所述确定YANG文件存在的数据节点具体为确定叶节点、叶列表节点、容器节点和列表节点。
进一步地,所述确定数据节点的层级关系及树形结构具体为:将容器节点和列表节点作为父级节点,将叶节点和叶列表节点作为子节点。
进一步地,所述设计原子能力存储表具体为:
用type字段标识节点类型,设计container、leaf、list和leaf list分别代表容器节点、叶节点、列表节点和叶列表节点,使用parent字段,存储数据节点之间的父子关系,给所有原子能力设置统一的根节点root位;配合parent字段设置child_exit字段,标识当前节点是否存在子节点。
进一步地,所述使用树形化改造算法将非标准树形结构改造成标准树形结构具体为:
通过index标识list和leaflist的子节点所处的位置,区分list下子节点属于list的哪个实例化对象,形成标准树形结构。
进一步地,所述组合当前原子能力的节点并形成模板具体为:
选取leaf节点或leaflist节点,且包含子节点的所有父级节点,组合形成模板,在模板中增加calculate_rule字段,记录变量名称。
进一步地,所述向路由器交换机下发配置数据具体为使用事务机制,并发或顺序下发配置数据。
本发明还提出了一种关于厂商YANG文件的原子能力存储和渲染***,所述***包括:文件分析模块、数据处理模块、数据存储模块和配置下发模块;
所述文件分析模块用于判断YANG文件的版本为旧版本还是新版本,确定YANG文件存在的数据节点,确定数据节点的层级关系及树形结构,解析厂商YANG文件生成的swagger文件,得到原子能力和非标准树形结构;
所述数据处理模块使用树形化改造算法将非标准树形结构改造成标准树形结构,还用于查找原子能力的历史模板;
所述数据存储模块用于将上一个版本的原子能力以标准树形结构记录到历史原子能力存储表中,将新版本的原子能力以标准树形结构记录到新的原子能力存储表中;组合原子能力;记录原子能力版本;将已下发的配置数据进行持久化存储;
所述配置下发模块用于解析模板内容后向路由器交换机下发配置数据。
本发明还提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如上所述的关于厂商YANG文件的原子能力存储和渲染方法。
本发明还提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序使计算机执行如上所述的关于厂商YANG文件的原子能力存储和渲染方法。
本发明的有益效果是:
(1)以树形结构存储厂商YANG文件,用户可用性强;
(2)以厂商单个YANG文件作为一个原子能力,将独立协议的原子能力树形结构作为整体,原子能力树中的数据节点作为最小单元进行调整,减少设备配置内容的耦合度;
(3)多厂商YANG文件版本升级时,能快速响应,同步迭代原子能力结构,及时更新设备配置模板,不影响业务下发,有效减少错误配置下发的情况;
(4)对于历史版本YANG文件,可回退、可回滚、可回溯,版本管理最小粒度为一个原子能力,单个原子能力的回溯不影响其余原子能力;
(5)设备配置下发模板支持多场景变量,设备配置下发内容可回溯。
附图说明
图1为本原子能力存储和渲染方法的流程图;
图2为树形化改造示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
在一实施例中,本发明提出了一种关于厂商YANG文件的原子能力存储和渲染方法,该方法的整体流程图如图1所示,包括:
获取到厂商YANG文件后,对YANG文件进行判断,若不是更新的YANG文件,则将YANG文件对应的原子能力进行树形化改造,落入到数据库中的原子能力存储表中,记录当前原子能力的版本,对原子能力进行模板组合,使用模板向路由器交换机设备下发配置,并将已下发的配置进行持久化存储;若为更新的YANG文件,则查找该原子能力组合形成的历史模板并禁用,同时将上一个版本的原子能力记录到历史原子能力存储表中,将新的YANG文件对应的原子能力进行树形化改造,最后把更新的原子能力记录到新的原子能力存储表,再进行组合并形成模板供后续配置下发使用。
具体地,根据厂商提供的规范YANG文件,确定存在的数据节点。分析厂商提供的规范YANG文件,确认需要支持的主要四种类型的数据节点:叶节点、叶列表节点、容器节点和列表节点,四种数据节点为嵌套关系。数据结构中需要包括节点数据类型、节点描述信息、节点枚举值、取值范围、默认值等信息。另外数据节点之间有互相依赖关系,例如列表节点必填项和列表节点唯一值,对于这类节点需要做特殊处理,将在后续步骤中说明。
根据已确定的四种类型的数据节点,确定节点之间的层级关系及树形结构,其中容器节点和列表节点可作为父级节点,叶节点和叶列表节点可作为子节点,数据节点之间的关系符合树形结构,因此以树形结构的方式将数据节点存储至关系型数据库中。其中列表节点需要进行树形化改造,列表节点不同于其余容器节点,当列表节点作为节点出现时,若列表含有N个元素,这N个元素均作为当前列表节点的子节点。
已确定四类数据节点后,设计符合树形结构的数据库存储结构。首先需要有type字段标识节点类型,设计container、leaf、list和leaflist分别代表容器节点、叶节点、列表节点和叶列表节点。使用parent字段,存储节点之间的父子关系,对于厂商提供的多个YANG文件,每个YANG文件对应一个原子能力,给所有原子能力设置统一的根节点root位,当查询root位时能够获取到全量的原子能力信息。配合parent字段设置child_exit字段,用于标识当前节点是否存在子节点,对于leaf和leaf list类型的节点,一定存在parent,一定不存在child。
其余数据库字段均为辅助字段,用字段name标识节点名称;对于leaf节点来说,需要保存节点的默认取值,使用default字段记录当前节点的默认值。
解析厂商提供的swagger文件,分析原子能力是否为新增,若YANG文件不为新增版本,使用树形化改造算法对swagger文件中的节点进行树形化改造,将原子能力入库。若YANG文件为新增版本,需要查找使用该原子能力的模板,将模板禁用,旧原子能力落入历史库,新原子能力记录在当前库。
对于厂商提供的YANG文件,节点之间的关系并不是严格意义上的树形结构,由于存在list和leaf list类型的节点,因此需要对存储的原子能力以及由原子能力组合成的模版进行树形化改造,通过index标识list和leaf list的子节点所处的位置,能够有效地区分list下子节点属于list的哪个实例化对象。如图2所示,左侧为一般的树形结构,其中root为根节点,aaa和acl为root的子节点,id和seq为aaa的子节点,rule为acl的子节点,节点之间的关系明确。而右侧的结构为改造后的树形结构,由图可知aaa为list类型的节点,aaa的子节点虽然是id和seq,但同时会存在多组id和seq的组合,需要通过index区分不同的组别。
原子能力中的节点可以作为最小单元组合形成模板。一个原子能力acl如下:
Figure BDA0003919625030000051
选取该原子能力的节点组合形成模板后如下:
Figure BDA0003919625030000061
可见,原子能力acl有多个子节点,但使用acl与其他原子能力进行组合时,可以只取目的模版所需的节点,不需要组合整个acl原子能力。需要注意的是,所取节点必须是leaf节点或leaf list节点,且要包含叶子节点的所有父级节点。
为使原子能力组成的模板根据不同场景支持不同取值,避免使用者重复创建模板,在由原子能力组成的模板中,增加calculate_rule字段,记录变量名称。不同的业务场景下使用模板时变量所代表的含义会发生变化,在解析模板时对模板中的变量进行赋值,下发到设备。
在与设备交互时,使用事务机制,并发或顺序下发配置内容,完成事务调度后,将下发设备的配置内容以事务维度进行记录,用于历史记录查看。
对于存储在数据库中的原子能力,不能直观地向用户展现原子能力结构关系。因此提供前端可理解的数据结构,将节点名称、节点类型、节点取值和子节点等信息以json格式返回。
在另一实施例中,本发明提出了一种关于厂商YANG文件的原子能力存储和渲染***,所述***包括:文件分析模块、数据处理模块、数据存储模块和配置下发模块;
所述文件分析模块用于判断YANG文件的版本为旧版本还是新版本,确定YANG文件存在的数据节点,确定数据节点的层级关系及树形结构,解析厂商YANG文件生成的swagger文件,得到原子能力和非标准树形结构;
所述数据处理模块使用树形化改造算法将非标准树形结构改造成标准树形结构,还用于查找原子能力的历史模板;
所述数据存储模块用于将上一个版本的原子能力以标准树形结构记录到历史原子能力存储表中,将新版本的原子能力以标准树形结构记录到新的原子能力存储表中;组合原子能力;记录原子能力版本;将已下发的配置数据进行持久化存储;
所述配置下发模块用于解析模板内容后向路由器交换机下发配置数据。
在另一实施例中,本发明提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如上所述的关于厂商YANG文件的原子能力存储和渲染方法。
在另一实施例中,本发明提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序使计算机执行如上所述的关于厂商YANG文件的原子能力存储和渲染方法。
在本申请所公开的实施例中,计算机存储介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合使用的程序。计算机存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。计算机存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备或上述内容的任何合适组合。
本领域普通技术人员可以意识到,结合本申请所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以根据每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (10)

1.一种关于厂商YANG文件的原子能力存储和渲染方法,其特征在于,包括:
根据厂商提供的规范YANG文件,确定YANG文件存在的数据节点,确定数据节点的层级关系及树形结构;
设计原子能力存储表,使原子能力存储表的结构符合原子能力的父子节点关系;
解析厂商YANG文件生成的swagger文件,得到原子能力和非标准树形结构,使用树形化改造算法将非标准树形结构改造成标准树形结构;
若YANG文件为旧版本,将YANG文件对应的原子能力以标准树形结构存入原子能力存储表中,记录当前原子能力的版本,按照当前原子能力对应的模板组合原子能力;使用模板向路由器交换机下发配置数据,并将已下发的配置数据进行持久化存储;
若YANG文件为新版本,则查找该原子能力的历史模板并禁用,将上一个版本的原子能力以标准树形结构记录到历史原子能力存储表中,将当前版本的原子能力以标准树形结构记录到新的原子能力存储表中;组合当前原子能力的节点并形成模板,解析模板内容后向路由器交换机下发配置内容,将配置内容以事务维度进行记录;
提供前端可理解的数据结构,将数据节点以json格式返回至前端,渲染原子能力结构关系。
2.根据权利要求1所述的关于厂商YANG文件的原子能力存储和渲染方法,其特征在于:所述确定YANG文件存在的数据节点具体为确定叶节点、叶列表节点、容器节点和列表节点。
3.根据权利要求2所述的关于厂商YANG文件的原子能力存储和渲染方法,其特征在于,所述确定数据节点的层级关系及树形结构具体为:将容器节点和列表节点作为父级节点,将叶节点和叶列表节点作为子节点。
4.根据权利要求2所述的关于厂商YANG文件的原子能力存储和渲染方法,其特征在于,所述设计原子能力存储表具体为:
用type字段标识节点类型,设计container、leaf、list和leaf list分别代表容器节点、叶节点、列表节点和叶列表节点,使用parent字段,存储数据节点之间的父子关系,给所有原子能力设置统一的根节点root位;配合parent字段设置child_exit字段,标识当前节点是否存在子节点。
5.根据权利要求2所述的关于厂商YANG文件的原子能力存储和渲染方法,其特征在于,所述使用树形化改造算法将非标准树形结构改造成标准树形结构具体为:
通过index标识list和leaf list的子节点所处的位置,区分list下子节点属于list的哪个实例化对象,形成标准树形结构。
6.根据权利要求2所述的关于厂商YANG文件的原子能力存储和渲染方法,其特征在于,所述组合当前原子能力的节点并形成模板具体为:
选取leaf节点或leaf list节点,且包含子节点的所有父级节点,组合形成模板,在模板中增加calculate_rule字段,记录变量名称。
7.根据权利要求1所述的关于厂商YANG文件的原子能力存储和渲染方法,其特征在于:所述向路由器交换机下发配置内容具体为使用事务机制,并发或顺序下发配置内容。
8.一种关于厂商YANG文件的原子能力存储和渲染***,其特征在于,所述***包括:文件分析模块、数据处理模块、数据存储模块和配置下发模块;
所述文件分析模块用于判断YANG文件的版本为旧版本还是新版本,确定YANG文件存在的数据节点,确定数据节点的层级关系及树形结构,解析厂商YANG文件生成的swagger文件,得到原子能力和非标准树形结构;
所述数据处理模块使用树形化改造算法将非标准树形结构改造成标准树形结构,还用于查找原子能力的历史模板;
所述数据存储模块用于将上一个版本的原子能力以标准树形结构记录到历史原子能力存储表中,将新版本的原子能力以标准树形结构记录到新的原子能力存储表中;组合原子能力;记录原子能力版本;将已下发的配置内容进行持久化存储;
所述配置下发模块用于解析模板内容后向路由器交换机下发配置内容。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如权利要求1-7任一项所述的关于厂商YANG文件的原子能力存储和渲染方法。
10.一种计算机可读存储介质,其特征在于:存储有计算机程序,所述计算机程序使计算机执行如权利要求1-7任一项所述的关于厂商YANG文件的原子能力存储和渲染方法。
CN202211352890.3A 2022-11-01 2022-11-01 一种关于厂商yang文件的原子能力存储和渲染方法、***、电子设备和存储介质 Pending CN115951822A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211352890.3A CN115951822A (zh) 2022-11-01 2022-11-01 一种关于厂商yang文件的原子能力存储和渲染方法、***、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211352890.3A CN115951822A (zh) 2022-11-01 2022-11-01 一种关于厂商yang文件的原子能力存储和渲染方法、***、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN115951822A true CN115951822A (zh) 2023-04-11

Family

ID=87281276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211352890.3A Pending CN115951822A (zh) 2022-11-01 2022-11-01 一种关于厂商yang文件的原子能力存储和渲染方法、***、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115951822A (zh)

Similar Documents

Publication Publication Date Title
CN107426023B (zh) 云平台日志收集和转发方法、***、设备及存储介质
JP5230645B2 (ja) データセットの変更を最適化するシステム及び方法
CN100566357C (zh) 通信设备批量配置管理方法及其装置
US20080114474A1 (en) Event triggered data capture via embedded historians
CN107957713B (zh) 用于生成多工作表导出的***和方法
US8230384B1 (en) Techniques for generating and processing a schema instance
CN106940706B (zh) 创建并管理客户环境中的地理空间网络模型的***和方法
CN114510267B (zh) 基于Linux***的程序ABI接口兼容性计算方法
CN110990403A (zh) 业务数据的存储方法、***、计算机设备及存储介质
CN105446705A (zh) 用于确定配置文件的特性的方法和装置
CN110716804A (zh) 无用资源的自动删除方法、装置、存储介质及电子设备
CN112202909B (zh) 一种计算机存储***在线升级方法及***
CN115951822A (zh) 一种关于厂商yang文件的原子能力存储和渲染方法、***、电子设备和存储介质
CN103793519A (zh) 一种支持海量数据导出的自动化工具
JP6695847B2 (ja) ソフトウェア部品管理システム、計算機
CN113434585B (zh) 资源保存方法及设备
CN112613792A (zh) 数据处理方法、***、计算机设备和存储介质
CN115221360A (zh) 树形结构配置方法和***
US10268730B2 (en) Focus-driven user interface
US7720827B2 (en) Network meta-data libraries and related methods
CN106293897B (zh) 组件自动化调度***
CN117009187B (zh) 上位机监控***cid文件增量式编译方法、***及设备
KR20160103839A (ko) 메타데이터에 기반한 프레임워크를 제공하는 방법 및 장치
JP4905989B2 (ja) メタデータ検索装置
CN117215791A (zh) 任务等级确定方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination