CN112486591A - 一种电子设备配置方法和电子设备 - Google Patents

一种电子设备配置方法和电子设备 Download PDF

Info

Publication number
CN112486591A
CN112486591A CN202011371491.2A CN202011371491A CN112486591A CN 112486591 A CN112486591 A CN 112486591A CN 202011371491 A CN202011371491 A CN 202011371491A CN 112486591 A CN112486591 A CN 112486591A
Authority
CN
China
Prior art keywords
configuration
service component
configuration contents
contents
electronic device
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
CN202011371491.2A
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.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks 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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN202011371491.2A priority Critical patent/CN112486591A/zh
Publication of CN112486591A publication Critical patent/CN112486591A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Abstract

本发明是关于一种电子设备配置方法和电子设备,涉及配置技术领域,本发明方法包括:将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容,将Protobuf数据格式的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的Protobuf数据格式的配置内容,将得到配置内容的该业务组件作为目标业务组件;针对每个目标业务组件,将该目标业务组件对应的Protobuf数据格式的配置内容一次或分多次下发给该目标业务组件,其中,每次下发给该目标业务组件的配置内容的数量为多个。由于本发明实施例能够将服务器下发给电子设备的配置内容一次性的或分多次发给目标业务组件,从而降低了内部通信的次数。

Description

一种电子设备配置方法和电子设备
技术领域
本发明涉及配置技术领域,尤其涉及一种电子设备配置方法和电子设备。
背景技术
目前,服务器给电子设备下发配置后,电子设备会将配置存储在数据库中,当业务组件运行时,通过C/S通信,向数据库请求自己需要的配置,从数据库中将自己所需的配置提取出来,用于完成自己的业务。
当在业务组件进程中需要的配置内容比较多时,由于每次需要一个配置内容,均需要与数据库进行C/S通信,从数据库中获取一个配置,这就导致业务组件进行中会因为多次访问数据库,从而进行多次通信,使得通信会占用大量的处理时间,导致处理速度比较慢。
发明内容
本发明提供一种电子设备配置方法和电子设备,用以解决现有技术中业务组件启动时需要与数据库进行多次通信使得通信占用大量处理时间而导致处理速度比较慢的问题。
第一方面,本发明实施例提供的一种电子设备配置方法,包括:
将服务器下发给电子设备的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的配置内容,并将得到配置内容的至少一个业务组件作为目标业务组件;
针对每个目标业务组件,将该目标业务组件对应的配置内容一次或分多次下发给该目标业务组件,其中,每次下发给该目标业务组件的配置内容的数量为多个,且每次下发给该目标业务组件的配置内容均不同。
上述方法,能够在电子设备接收到服务器下发的多个配置内容后,将多个配置内容进行划分,划分为业务组件对应的配置内容,并将得到配置内容的业务组件对应的多个配置内容分多次,每次多个分发给该业务组件,或可以一次性的将多个配置内容分发给该业务组件,这样当该业务组件需要多个配置内容时,无需与存储服务器下发的多个配置内容的数据库进行多次C/S通信,而是将服务器下发给电子设备的配置内容一次性的或分多次,每次多个配置内容发给业务组件,从而降低了内部通信的次数,提高了处理速度。
在一种可能的实现方式中,在将服务器下发给电子设备的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的配置内容之前,所述方法还包括:
若服务器下发给电子设备的多个配置内容以XML或者JSON编码的,则以XML或者JSON编码的多个配置内容转换为YANG数据树格式的多个配置内容,以及将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容。
上述方法,若在服务器下发给电子设备的多个配置内容为YANG数据树格式的时,YANG数据树格式的配置内容是无法被目标业务组件直接进行使用的,所以,在下发之前,将其转换为能够被目标业务组件直接进行使用的Protobuf数据格式的多个配置内容,提高目标业务组件处理效率。
在一种可能的实现方式中,将服务器下发给电子设备的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的配置内容,包括:
针对每个业务组件,从所述服务器下发给电子设备的多个配置内容中查找该业务组件的多个标识对应的配置内容;其中,所述多个标识为该业务组件当前订阅的多个配置内容的标识,所述标识为根据YANG数据树中对应的配置内容所在的路径确定的;
将该目标业务组件对应的配置内容一次或分多次下发给该目标业务组件,包括:
将所述多个标识对应的配置内容一次或分多次下发给该目标业务组件。
上述方法,能够在启动电子设备后,通过业务组件当前所需的配置内容的标识将业务组件对应的配置内容从服务器下发的多个配置内容中划分出来,提高了划分的准确率。
在一种可能的实现方式中,将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容之前,所述方法还包括:
确定所述YANG数据树格式的多个配置内容中的YANG数据树的结构校验通过。
上述方法,对在接收到服务器下发的YANG数据树格式的多个配置内容进行YANG数据树的结构的验证,验证通过后才能进行配置内容的分发,被业务组件使用,提高了数据的安全性。
在一种可能的实现方式中将该目标业务组件对应的配置内容一次或分多次下发给该目标业务组件之后,所述方法还包括:
接收所述服务器查看配置内容使用情况的请求;
根据多个配置内容对应的标识中配置内容所在的路径,对每个目标业务组件对应的配置内容进行组合,并将组合后的配置内容发送给所述服务器。
上述方法,能够在接收到服务器查看多个配置内容使用情况的请求后,根据多个配置内容对应的标识中配置内容所在的路径,即配置内容在组合后的文件中的位置,对每个目标业务组件对应的配置内容进行组合,从而能够得到这个文件,并将该文件返回给服务器,使得服务器查看多个配置内容使用的情况,便于后续处理。
第二方面,本发明实施例提供的一种电子设备,包括:处理器和存储器;
所述存储器用于存储电子设备运行时所使用的程序代码;
所述处理器用于执行所述程序代码,以实现如下过程:
将服务器下发给电子设备的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的配置内容,并将得到配置内容的至少一个业务组件作为目标业务组件;
针对每个目标业务组件,将该目标业务组件对应的配置内容一次或分多次下发给该目标业务组件,其中,每次下发给该目标业务组件的配置内容的数量为多个,且每次下发给该目标业务组件的配置内容均不同。
在一种可能的实现方式中,所述处理器还用于:
若服务器下发给电子设备的多个配置内容以XML或者JSON编码的,则以XML或者JSON编码的多个配置内容转换为YANG数据树格式的多个配置内容,以及将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容。
在一种可能的实现方式中,所述处理器还用于:
针对每个业务组件,从所述服务器下发给电子设备的多个配置内容中查找该业务组件的多个标识对应的配置内容;其中,所述多个标识为该业务组件当前订阅的多个配置内容的标识,所述标识为根据YANG数据树中对应的配置内容所在的路径确定的;
将所述多个标识对应的配置内容一次或分多次下发给该目标业务组件。
在一种可能的实现方式中,所述处理器还用于:
确定所述YANG数据树格式的多个配置内容中的YANG数据树的结构校验通过。
在一种可能的实现方式中,所述处理器还用于:
接收所述服务器查看配置内容使用情况的请求;
根据多个配置内容对应的标识中配置内容所在的路径,对每个目标业务组件对应的配置内容进行组合,并将组合后的配置内容发送给所述服务器。
第三方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理单元执行时实现第一方面所述电子设备配置方法的步骤。
另外,第二方面和第三方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。
图1是根据本发明实施例提供的服务器下发配置的结构图;
图2是根据本发明实施例提供的一种电子设备配置方法的流程图;
图3是根据本发明实施例提供的一种电子设备配置的完整方法的流程图;
图4是根据本发明实施例提供的一种电子设备内部结构的示意图;
图5是根据本发明实施例提供的一种在服务器下发配置给电子设备时电子设备内部组件与服务器交互的示意图;
图6是根据本发明实施例提供的一种在电子设备返回给服务器配置时电子设备内部组件与服务器交互的示意图;
图7是根据本发明实施例提供的一种电子设备的结构图。
具体实施方式
为了使本领域普通人员更好地理解本发明的技术方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义。
由于电子设备比较多,所以在进行电子设备配置时,均采用服务器进行电子设备的配置,首先,建立服务器和电子设备之间的通信连接,然后服务器可以对电子设备进行配置。例如,电子设备可以为路由器、交换机等,其中,路由器的配置内容可以为路由表、接口等。结合图1所示,服务器100和多个电子设备相连,电子设备1~n,服务器100可以分别为电子设备1~n配置相应的配置内容。
目前,电子设备接收到服务器下发的配置内容后,存储在数据库中,电子设备的业务组件通过C/S通信与电子设备中的数据库进行通信,每需要一个配置内容,均需要进行一次C/S通信,如果业务组件所需的配置内容比较多时,会产生大量C/S通信会比较多,从而使得通信会占用大量的处理时间,导致处理速度比较慢。
本发明实施例提供了一种电子设备配置方法,该方法将接收到的配置内容,按照业务组件,进行划分,得到至少一个业务组件对应的配置内容,并将配置内容一次或分多次下发给得到配置内容的业务组件,减少了大量的C/S通信,提高了处理速度。
以下结合附图对本发明实施例提供的电子设备配置方法进行详细说明。
结合图2所示,本发明实施例提供的电子设备配置方法,包括:
S200:将服务器下发给电子设备的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的配置内容,并将得到配置内容的至少一个业务组件作为目标业务组件;
S201:针对每个目标业务组件,将该目标业务组件对应的配置内容一次或分多次下发给该目标业务组件,其中,每次下发给该目标业务组件的配置内容的数量为多个,且每次下发给该目标业务组件的配置内容均不同。
举一个示例,例如,目标业务组件对应的配置内容为10个,对于S201,下发的过程可以为,可以将10个配置内容一次发送给目标业务组件。也可以将该10个配置内容分两次,发送给目标业务组件。这种方式,相比于现有的需要在启动目标业务组件后与数据库进行每次通信获取一个配置内容相比,提高了处理速度。
其中,服务器配置给电子设备的多个配置内容之前,服务器获取电子设备中的多个业务组件所需的配置。具体为,服务器会获取电子设备中多个业务组件所需的配置的列表,然后服务器会按照这个配置的列表一一进行配置。
具体的获取方式为,通过记载该电子设备的所需配置的列表的其他电子设备中获取,服务器会按照这个配置的列表一一进行配置,将其配置内容下发给电子设备。
其中,将电子设备类型对应的预设的配置为电子设备中的多个业务组件所需的配置,即每种类型的电子设备所需的配置相似,所以,可以按照预设的配置作为电子设备中的多个业务组件所需的配置,例如,当电子设备为路由器时,则服务器可以按照一般的路由器所需的配置为路由器配置配置内容。
需要说明的是,电子设备中的多个业务组件所需的配置可以为每个电子设备特有的,每个电子设备单独形成自己所需的配置,对于电子设备所需的配置的获取方式,对此本发明并不做具体限制。
其中,服务器根据电子设备中多个业务组件所需的配置的列表进行配置时,可能有些业务组件所需的配置会没有,所以,当电子设备接收到服务器下发的多个配置内容进行划分的,会产生能够得到配置内容的业务组件,和没有得到配置的内容的业务组件,本发明实施例中将得到配置内容的业务组件作为目标业务组件。
另外,对于服务器根据电子设备中多个业务组件所需的配置的列表进行配置时,可能并没有一次性下发所有的配置内容,所以对于一次下发给电子设备配置内容时,也会产生能够得到配置内容的业务组件,和没有得到配置的内容的业务组件。
以下通过一个示例进行介绍:
在实际应用过程中,网络配置(NETCONF)协议由IETF提出,是一种基于XML的网络配置管理协议。因为该协议的配置功能非常强大,同时兼顾监控和故障管理,安全验证和访问控制,所以得到业界的一致认可,广泛采用NETCONF来配置网络。
YANG是用于NETCONF协议定义电子设备的配置的一种建模语言,YANG模型具有可读性、可扩展、可复用的优点,同时YANG模型的数据结构为层级树形结构。YANG模型可以快速有效的定义好电子设备的配置数据结构,且直接使用电子设备实现的NETCONF协议对应的YANG模型接口。
其中在采用网络配置(NETCONF)协议进行配置的电子设备中,服务器发送的YANG进行XML编码,再发送给电子设备,其中,配置内容为YANG数据树的结构数据,该YANG数据树包括多个YANG节点,YANG节点上为具体的配置内容。
在以YANG进行网络配置(NETCONF)协议时,由于电子设备接收的服务器发送的YANG数据树,YANG数据树中的配置内容无法直接被业务组件使用,所以,电子设备的业务组件想要获取服务器发出的YANG数据树中的配置内容时,需要先到电子设备的YANG解析库中注册所需的YANG节点和回调函数,即启动后所需的配置在YANG数据树中的节点以及获取节点的方式注册到YANG解析库中,在电子设备接收到服务器发送的以某种形式编码的YANG的多个配置内容后,通过预先注册的回调函数从YANG数据树中找到业务组件当前需要的配置内容。
当业务组件所需的配置在多个且不同的YANG节点时,会通过注册多个回调函数,所以每次访问YANG节点时,均需要进行一次C/S通信,会产生大量的通信时间。
基于上述说明,结合图3所述,本发明实施例提供了一种电子设备配置的完整方法,包括:
S300:在电子设备启动后,每个业务组件订阅自己所需的多个配置内容的标识;
其中,由于电子设备会以YANG数据树的方式描述自身所需的配置,即说明自己所需的配置,然后服务器给电子设备的YANG数据树的方式描述自身所需的配置填入配置内容。所以,电子设备中的业务组件预先知道自己所需的配置内容在YANG数据树的哪个YANG节点上,所以,该标识可以为根据YANG数据树中对应的配置内容所在的路径确定的,其中每个YANG节点中的数据为一个配置内容。
S301:建立与服务器进行连接,以及接收服务器发送的以XML或者JSON编码的数据;
S302:将以XML或者JSON编码的数据转换为YANG数据树格式的多个配置内容,以及将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容;
其中,由于配置内容以XML或者JSON编码,所以,本发明实施例中,先将XML或者JSON编码转换为YANG数据树格式的多个配置内容,再进行转发其他的格式。
其中,Protobuf数据格式的多个配置内容可以被业务组件直接使用。Protobuf(Google Protocol Buffer),也可以称为GPB,是由google公司用于数据交换的序列结构化数据格式,具有跨平台、跨语言、可扩展特性,类型于常用的XML及JSON,但具有更小的传输体积、更高的编码、解码能力,特别适合于数据存储、网络数据传输等对存储体积、实时性要求高的领域。
S303:针对每个业务组件,从服务器下发给电子设备的多个配置内容中查找该业务组件订阅的多个标识对应的配置内容,并将得到配置内容的该业务组件作为目标业务组件;
S304:将多个标识对应的配置内容一次或分多次下发给该目标业务组件。
其中,对于将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容时,采用ygot工具,其中,采用的转换规则可以为:
除了YANG数据树中的节点类型为union节点,其他节点定义变量名需要和YANG数据树的变量名称一致,遇到中划线则转换为下划线;
union节点变量名称会在最后面加上对于类型,如xxx_string,表示为string的union节点,如果不是leaflist,union转为one of节点,如果是leaflist节点则转换为普通节点;
list和leaf-list节点转换为repeated节点,list节点需要额外增加一个key节点;
identity节点、enum节点转换为enum节点;
key节点基础类型转换为对应proto基础类型(int相关类型统一转换为sint64和uint64),非key叶子节点的基础类型统一转换为ywrapper.proto定义的类型。
例如,转换时,可以将接口(interfaces)YANG数据树,转换为message,即Protobuf数据格式中的信息。其中,message中未赋值的数据默认为零,不会占用额外的内存空间。
在转换完成后,根据业务组件的标识查找业务组件对应的配置内容,具体来说:
标识可以为key值或topic值;从转换后的message中,找出与业务组件当前订阅的key值或topic值相同的key值或topic值对应的配置内容,如果找到对应的配置内容,则将该业务组件作为目标业务组件,并将这些配置内容进行打包下发给该目标业务组件。如果没有找到与业务组件对应的配置内容,则可以进行报错,以便于再次下发配置内容时能够使得服务器下发对该业务组件对应的配置内容,使得该业务组件能够正常运行。
其中,对于本发明实施例中,也可以先将以XML或者JSON编码的数据转换为YANG数据树格式的多个配置内容,然后根据标识,即业务组件所需YANG节点的路径在YANG数据树中找到对应的配置内容,然后再将标识对应的配置内容转换为Protobuf数据格式的配置内容,然后进行下发。
对于上述介绍的内容,以下举一个具体的实例进行说明:
其中,电子设备为网络设备,例如,交换机、路由器等,结合图4所示,电子设备包括UI组件、YANG-API接口、消息中间件、多个业务组件;其中,UI组件可以为gRPC组件、NETCONF组件等。
gRPC组件为能够使用gRPC的组件;
NETCONF组件为能够采用网络配置的组件。
其中,gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。gRPC具有强大的IDL特性RPC使用ProtoBuf来定义服务。
其中,电子设备使得gRPC组件、NETCONF组件,能够使用YANG-API接口,即调用YANG-API接口;
YANG-API接口能够加载YANG数据树的数据和Protobuf的数据,并且能够采用YANG数据树的数据转换为Protobuf的数据的转发规则,使得YANG数据树的数据转换为Protobuf的数据。
对于电子设备如图4所示时,其进行网络配置的过程为:结合图5所示,电子设备200启动后,业务组件进程启动,例如,业务组件LSM(读写功能的组件)、业务组件TCPIP(通信功能的组件)。
结合图4和图5所示,业务组件LSM、以及业务组件TCPIP将自己所需的相关配置的key或者topic值写入消息中间件中,其中,key或者topic值为标识,即将YANG节点的路径写入到消息中间件。
结合图4和图5所示,电子设备的gRPC组件、或NETCONF组件监听通信端口,服务器100根据与电子设备的通信协议将服务器与电子设备连接,然后将以XML或JSON配置进行编码的YANG数据树的数据发送给电子设备200。
结合图4和图5所示,gRPC组件、或NETCONF组件接收到请求连接服务器100后,调用YANG-API接口,YANG-API接口先将以XML或JSON配置进行编码的数据转换为YANG数据树的数据,然后将YANG数据树的数据进行格式转换,转换为Protobuf数据格式的数据,其中,该段落中的数据是指多个配置内容。
结合图4和图5所示,转换完成后,通过消息中间件内读取业务组件LSM的自己所需的相关配置的key或者topic值,然后根据业务组件LSM的自己所需的相关配置的key或者topic值,查找到对应的配置内容,然后该配置内容下发到业务组件LSM;
同样的,结合图4和图5所示,通过消息中间件内读取业务组件TCPIP的自己所需的相关配置的key或者topic值,然后根据业务组件TCPIP的自己所需的相关配置的key或者topic值,查找到对应的配置内容,然后该配置内容下发到业务组件TCPIP;
结合图4和图5所示,业务组件LSM、以及业务组件TCPIP使用下发下来的配置内容,然后将配置内容写到消息中间件中。
具体来说,业务组件中的配置有赋值(Set)之分,对于Set做以下处理:
赋值Set:
业务组件当前订阅的topic值或key值,分别为Message中包括三个不同的消息,其中,三个不同的topic值或key值可以为/interfaces/interface/aggregation、/interfaces/interface/config和/interfaces/interface/ethernet;
将三个topic值或key值对应的数据进行打包;其中,仅包含自身节点的数据和上层节点的key值。
需要说明的是,在进行分发时,分多个进行下发给业务组件时,从YANG节点的上至下的顺序,如果一个节点的子节点也需要独立发送,则发送上一层节点时不会附带这一个子节点。
对于服务器100下发给电子设备200的配置内容,服务器100也可以进行查看该配置内容被电子设备的使用情况。
对此,本发明实施例还包括:接收所述服务器查看配置内容使用情况的请求;根据多个配置内容对应的标识中配置内容所在的路径,对每个目标业务组件对应的配置内容进行组合,并将组合后的配置内容发送给所述服务器。
详细来讲,YANG数据树格式,实际是一个树结构,根据配置内容所在的路径,可以得到树结构中位置,那么多个配置内容按照树结构的位置进行组合,并将组合后的配置内容发送给服务器。
其中,在服务器下发的请求中还包括通信格式,即电子设备以哪种格式将内容反馈服务器。
若检测到服务器的请求中要求通信格式为GPB格式,则将组合后的配置内容直接发送给服务器。
若检测到服务器的请求中要求通信格式为xml,则将组合后的配置内容转换为YANG数据树格式的多个配置内容,并对YANG数据树格式的多个配置内容采用xml进行编码后,发送给服务器。
若检测到服务器的请求中要求通信格式为json,则将组合后的配置内容转换为YANG数据树格式的多个配置内容,并对YANG数据树格式的多个配置内容采用json进行编码后,发送给服务器。
例如,结合图4和图6所示,电子设备200中的gRPC组件、或NETCONF组件监听通信端口,等待服务器100的连接;服务器100根据对应的通信协议请求连接电子设备200,通过NETCONF组件、或gRPC组件给消息中间件下发获取对应节点配置;调用YANG-API接口,YANG-API接口从消息中间件中将目标业务组件会写到配置内容读取出来,然后,根据YANG语法树和YANG节点的路径(标识),由于读取出来的数据为protobuf格式的,所以将protobuf数据组整合成一个完整的protobuf对象,然后若要求GPB编码格式进行通信,则将整合后的protobuf对象返回给服务器100。若要求xml或者json编码格式进行通信,将protobuf对象转换为YANG数据树,以xml或者json进行编码后,将其返回给服务器100即可。
具体来说,是向电子设备200中的消息中间件中Get(取值)获取目标业务组件对应的配置内容。
取值Get:
以上述介绍Set时举例的三个key值为例,通过三个key值/interfaces/interface/aggregation、/interfaces/interface/config和/interfaces/interface/ethernet去消息中间件中获取数据;将获取到的数据反序列化并填充到对应的message节点,即将protobuf数据组整合成一个完整的protobuf对象,然后获取到对应的配置内容进行转换成YANG数据树,以xml或者json进行编码后,将其返回给服务器100。
其中,由于之前Set时,每个protobuf数据组在哪个位置上均有记录,所以Get时,按照之前Set的顺序依次组合成一个完整的protobuf对象即可。
为了能够提高本发明提供的配置内容的可靠性,本发明实施例将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容之前,需要确定YANG数据树格式的多个配置内容中的YANG数据树的结构校验通过。
其中,可以通过电子设备预先设定的YANG数据树模型为标准,对YANG数据树格式的多个配置内容中的YANG数据树的结构进行验证。
具体来说,在上述文中介绍过,电子设备以YANG数据树的方式描述自身所需的配置,即说明自己所需的配置,然后服务器给电子设备的YANG数据树的方式描述自身所需的配置进行配置。在验证时,查看服务器发过来的YANG数据树格式的多个配置内容中的YANG数据树的结构是否与以YANG数据树的方式描述自身所需的配置中YANG数据树的结构相同,如果相同,则验证通过,否则,验证失败,则不进行转换,配置失败。
在进行数据结构进行对比时,对比两个YANG数据树相同层级上,YANG节点名称、YANG节点的数据类型、YANG节点个数等等是否相同,如果均相同,则确定验证通过,否则验证失败。
结合图7所示,本发明实施例还提供了一种电子设备200,包括:处理器710和存储器720;
所述存储器720用于存储电子设备运行时所使用的程序代码;
所述处理器710用于执行所述程序代码,以实现如下过程:
将服务器下发给电子设备的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的配置内容,并将得到配置内容的至少一个业务组件作为目标业务组件;
针对得到配置内容的每个目标业务组件,将该目标业务组件对应的配置内容一次或分多次下发给该目标业务组件,其中,每次下发给该目标业务组件的配置内容的数量为多个,且每次下发给该目标业务组件的配置内容均不同。
可选的,所述处理器710还用于:
若服务器下发给电子设备的多个配置内容以XML或者JSON编码的,则以XML或者JSON编码的多个配置内容转换为YANG数据树格式的多个配置内容,以及将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容。
可选的,所述处理器710还用于:
针对每个业务组件,从所述服务器下发给电子设备的多个配置内容中查找该业务组件的多个标识对应的配置内容;其中,所述多个标识为该业务组件当前订阅的多个配置内容的标识,所述标识为根据YANG数据树中对应的配置内容所在的路径确定的;
将所述多个标识对应的配置内容一次或分多次下发给该目标业务组件。
可选的,所述处理器710还用于:
确定所述YANG数据树格式的多个配置内容中的YANG数据树的结构校验通过。
可选的,所述处理器710还用于:
接收所述服务器查看配置内容使用情况的请求;
根据多个配置内容对应的标识中配置内容所在的路径,对每个目标业务组件对应的配置内容进行组合,并将组合后的配置内容发送给所述服务器。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理电子设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理电子设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理电子设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理电子设备上,使得在计算机或其他可编程电子设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程电子设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种电子设备配置方法,其特征在于,包括:
将服务器下发给电子设备的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的配置内容,并将得到配置内容的至少一个业务组件作为目标业务组件;
针对每个目标业务组件,将该目标业务组件对应的配置内容一次或分多次下发给该目标业务组件,其中,每次下发给该目标业务组件的配置内容的数量为多个,且每次下发给该目标业务组件的配置内容均不同。
2.根据权利要求1所述的电子设备配置方法,其特征在于,在将服务器下发给电子设备的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的配置内容之前,所述方法还包括:
若服务器下发给电子设备的多个配置内容以XML或者JSON编码的,则以XML或者JSON编码的多个配置内容转换为YANG数据树格式的多个配置内容,以及将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容。
3.根据权利要求2所述的电子设备配置方法,其特征在于,将服务器下发给电子设备的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的配置内容,包括:
针对每个业务组件,从所述服务器下发给电子设备的多个配置内容中查找该业务组件的多个标识对应的配置内容;其中,所述多个标识为该业务组件当前订阅的多个配置内容的标识,所述标识为根据YANG数据树中对应的配置内容所在的路径确定的;
将该目标业务组件对应的配置内容一次或分多次下发给该目标业务组件,包括:
将所述多个标识对应的配置内容一次或分多次下发给该目标业务组件。
4.根据权利要求2所述的电子设备配置方法,其特征在于,将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容之前,所述方法还包括:
确定所述YANG数据树格式的多个配置内容中的YANG数据树的结构校验通过。
5.根据权利要求3所述的电子设备配置方法,其特征在于,将该目标业务组件对应的配置内容一次或分多次下发给该目标业务组件之后,所述方法还包括:
接收所述服务器查看多个配置内容使用情况的请求;
根据多个配置内容对应的标识中配置内容所在的路径,对每个目标业务组件对应的配置内容进行组合,并将组合后的配置内容发送给所述服务器。
6.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器用于存储电子设备运行时所使用的程序代码;
所述处理器用于执行所述程序代码,以实现如下过程:
将服务器下发给电子设备的多个配置内容进行划分,得到电子设备中至少一个业务组件对应的配置内容,并将得到配置内容的至少一个业务组件作为目标业务组件;
针对每个目标业务组件,将该目标业务组件对应的配置内容一次或分多次下发给该目标业务组件,其中,每次下发给该目标业务组件的配置内容的数量为多个,且每次下发给该目标业务组件的配置内容均不同。
7.根据权利要求6所述的电子设备,其特征在于,所述处理器还用于:
若服务器下发给电子设备的多个配置内容以XML或者JSON编码的,则以XML或者JSON编码的多个配置内容转换为YANG数据树格式的多个配置内容,以及将YANG数据树格式的多个配置内容进行格式转换,转换成Protobuf数据格式的多个配置内容。
8.根据权利要求7所述的电子设备,其特征在于,所述处理器还用于:
针对每个业务组件,从所述服务器下发给电子设备的多个配置内容中查找该业务组件的多个标识对应的配置内容;其中,所述多个标识为该业务组件当前订阅的多个配置内容的标识,所述标识为根据YANG数据树中对应的配置内容所在的路径确定的;
将所述多个标识对应的配置内容一次或分多次下发给该目标业务组件。
9.根据权利要求7所述的电子设备,其特征在于,所述处理器还用于:
确定所述YANG数据树格式的多个配置内容中的YANG数据树的结构校验通过。
10.根据权利要求8所述的电子设备,其特征在于,所述处理器还用于:
接收所述服务器查看配置内容使用情况的请求;
根据多个配置内容对应的标识中配置内容所在的路径,对每个目标业务组件对应的配置内容进行组合,并将组合后的配置内容发送给所述服务器。
CN202011371491.2A 2020-11-30 2020-11-30 一种电子设备配置方法和电子设备 Pending CN112486591A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011371491.2A CN112486591A (zh) 2020-11-30 2020-11-30 一种电子设备配置方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011371491.2A CN112486591A (zh) 2020-11-30 2020-11-30 一种电子设备配置方法和电子设备

Publications (1)

Publication Number Publication Date
CN112486591A true CN112486591A (zh) 2021-03-12

Family

ID=74937145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011371491.2A Pending CN112486591A (zh) 2020-11-30 2020-11-30 一种电子设备配置方法和电子设备

Country Status (1)

Country Link
CN (1) CN112486591A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130019028A1 (en) * 2011-07-12 2013-01-17 Inkling Systems, Inc. Workflow system and method for creating, distributing and publishing content
CN103634177A (zh) * 2013-12-05 2014-03-12 北京东土科技股份有限公司 基于网络业务的组态实现方法和系统
CN110891021A (zh) * 2018-09-11 2020-03-17 中兴通讯股份有限公司 一种路径计算方法、装置及计算机可读存储介质
CN111416736A (zh) * 2020-03-12 2020-07-14 北京星网锐捷网络技术有限公司 网络设备的配置管理方法、装置、计算设备及存储介质
CN111490893A (zh) * 2019-01-29 2020-08-04 华为技术有限公司 一种网络转发模型的建立方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130019028A1 (en) * 2011-07-12 2013-01-17 Inkling Systems, Inc. Workflow system and method for creating, distributing and publishing content
CN103634177A (zh) * 2013-12-05 2014-03-12 北京东土科技股份有限公司 基于网络业务的组态实现方法和系统
CN110891021A (zh) * 2018-09-11 2020-03-17 中兴通讯股份有限公司 一种路径计算方法、装置及计算机可读存储介质
CN111490893A (zh) * 2019-01-29 2020-08-04 华为技术有限公司 一种网络转发模型的建立方法、装置及系统
CN111416736A (zh) * 2020-03-12 2020-07-14 北京星网锐捷网络技术有限公司 网络设备的配置管理方法、装置、计算设备及存储介质

Similar Documents

Publication Publication Date Title
CN106713469B (zh) 用于分布式容器的动态加载方法、装置及系统
KR100845234B1 (ko) 통신 소프트웨어 구조에서의 도메인 프로파일 파싱 장치 및그 방법
CN110413418B (zh) 缓存同步装置及方法,缓存同步系统、电子设备
CN107133231B (zh) 一种数据获取方法和装置
CN110119292A (zh) 系统运行参数查询方法、匹配方法、装置及节点设备
CN112988485A (zh) 电力物联网设备模拟测试方法及装置
CN111416723B (zh) 一种设备管理方法及相关设备
CN111984561B (zh) 一种bmc的ipmi命令处理方法、系统、设备以及介质
US8589381B2 (en) Resource management program, resource management process, and resource management apparatus
US20220327010A1 (en) Extensible communication framework and communication method supporting multiple communication protocols
CN111552568A (zh) 云服务调用方法和装置
CN111064626A (zh) 配置更新方法、装置、服务器及可读存储介质
US20100268992A1 (en) Method and system for protocol embedded automated test control
CN113726762A (zh) 基于配置文件的物联网设备协议解析方法
CN108365976B (zh) 网络服务的优化方法及装置
CN112035163B (zh) 软件开发包配置方法、设备和存储介质
CN112217845B (zh) 一种基于Netconf协议的数据传输方法及相关设备
CN112486591A (zh) 一种电子设备配置方法和电子设备
CN110955537B (zh) 一种物理机纳管方法及装置
CN109814871B (zh) 基于dds总线的节点管理方法及系统
CN112527453A (zh) 虚拟化信息仿真系统、方法及计算机可读存储介质
US20080027944A1 (en) Globally unique instance identification
CN114253792A (zh) 日志跟踪方法、装置、设备和存储介质
CN112448854B (zh) 一种kubernetes复杂网络策略系统及其实现方法
CN114172821B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210312

RJ01 Rejection of invention patent application after publication