CN113438095B - 配置数据的管理方法、装置、设备及存储介质 - Google Patents
配置数据的管理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113438095B CN113438095B CN202010209311.4A CN202010209311A CN113438095B CN 113438095 B CN113438095 B CN 113438095B CN 202010209311 A CN202010209311 A CN 202010209311A CN 113438095 B CN113438095 B CN 113438095B
- Authority
- CN
- China
- Prior art keywords
- configuration data
- system configuration
- data set
- running
- source
- 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.)
- Active
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了配置数据的管理方法、装置、设备及存储介质,方法包括:通信设备生成通信设备的第一系统配置数据;将该第一系统配置数据存储至系统配置数据集中。之后,将系统配置数据集中的第一系统配置数据导入到运行配置数据集中,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理。其中,第一系统配置数据在运行配置数据集中可被用户更改。由于系统配置数据集及运行配置数据集均存储系统配置数据,便于对系统配置数据进行查询、修改、引用等灵活、高效的管理。且该系统配置数据集中存储的系统配置数据不可被用户更改,进而能够满足对原始系统配置数据的管理需求,不仅管理方式更为灵活可靠,管理效率也更高。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及配置数据的管理方法、装置、设备及存储介质。
背景技术
通信设备在运行过程中,出于业务的需要,会改变该通信设备的配置数据。其中,通信设备的配置数据包括用户配置数据和系统配置数据,通过使用命令行或者通过网管协议来下发新的配置数据称为用户配置数据,由运行在该通信设备上的操作系统生成的配置数据称为系统配置数据。
在通信设备的维护场景中,为了了解通信设备现有的配置,为下一次修改配置做依据,有必要查询配置数据,而为了业务需求,有必要去修改通信设备的已有配置。因此,配置数据的查询和修改等管理方式,对通信设备的维护尤为重要。
发明内容
本申请实施例提供了一种配置数据的管理方法、装置、设备及存储介质,以解决相关技术提供的问题,技术方案如下:
第一方面,提供了一种配置数据的管理方法,该方法应用于通信设备,该通信设备生成通信设备的第一系统配置数据;将该第一系统配置数据存储至系统配置数据集中,该系统配置数据集用于存储系统配置数据,且系统配置数据在系统配置数据集中不可被用户更改。之后,将系统配置数据集中的第一系统配置数据导入到运行配置数据集中,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理。
其中,第一系统配置数据在该运行配置数据集中可被用户更改。基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理的方式,本申请实施例对此不进行限定,包括但不限于对通信设备的配置数据进行查询管理、删除管理和修改管理等。
本申请实施例提供的方法,通过扩展系统配置数据集,由于系统配置数据集及运行配置数据集均可存储系统配置数据,因此,便于对系统配置数据进行查询、修改等管理,管理方式更为灵活可靠。且又由于系统配置数据集中的系统配置数据不可被用户更改,因而能够保留系统生成的原始系统配置数据,满足对原始系统配置数据的管理需求,使得系统配置数据的管理更为全面和高效。此外,如果要引用或者依赖系统创建的系统配置数据,可以直接引用,引用效率更高。
在示例性实施例中,运行配置数据集保存有通信设备当前运行的配置数据。该运行配置数据集既可以存储生效的配置数据,也可以存储没有生效的配置数据。例如,一些配置数据是可以生效的,但是当前相对应的板卡没有被插在网络设备中,因而该类配置数据当前是没有生效的,但仍然可以存储在运行配置数据集中。一般情况下,运行配置数据集存储的配置数据必然包括生效的配置数据。示例性地,该运行配置数据集除了用于存储第一系统配置数据,还可以存储其他类型的配置数据,例如,该运行配置数据集还用于存储第二系统配置数据和用户配置数据等。
在示例性实施例中,上述不可被用户更改,包括但不限于不可被用户通过网络配置协议NETCONF、表现层状态转换协议RESTCONF和命令行CLI进行更改。
示例性地,不可被用户更改除了包括不可被用户通过上述三种方式进行更改之外,还包括不可被用户通过google远程过程调用协议(google remote procedure call,gRPC)和gRPC网管协议(gRPC Network Management Interface,gNMI)进行更改。
在示例性实施例中,管理员可以通过预定的操作入口(例如CLI)对系统配置数据集中的配置数据进行更改。
在示例性实施例中,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第一查询指令,第一查询指令携带第一源标识,该第一源标识指示系统配置数据集作为源数据集;根据第一源标识返回系统配置数据集中存储的系统配置数据。由于系统配置数据集中存储包括第一系统配置数据在内的系统配置数据,因而可以实现对系统配置数据集中的系统配置数据进行查询。
在示例性实施例中,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第二查询指令,第二查询指令携带第二源标识及过滤方式;根据第二源标识及过滤方式,返回运行配置数据集中满足过滤方式的配置数据。示例性地,运行配置数据集除了用于存储系统配置数据,还用于存储用户配置数据,因而返回的运行配置数据集中满足过滤方式的配置数据包括系统配置数据和用户配置数据中的至少一种。
在示例性实施例中,该运行配置数据集还用于存储用户配置数据,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第三查询指令,第三查询指令携带第二源标识、过滤方式及第一值的数据来源指示参数;根据第二源标识、过滤方式及第一值的数据来源指示参数,返回运行配置数据集中满足过滤方式的第一目标配置数据,该第一目标配置数据包括系统配置数据和用户配置数据中的至少一种,且如果返回的第一目标配置数据包括系统配置数据和用户配置数据,系统配置数据和用户配置数据中的至少一种配置数据携带数据来源。
需要说明的是,如果第一目标配置数据包括系统配置数据或用户配置数据中的一种配置数据,则返回的第一目标配置数据可以携带数据来源,也可以不携带数据来源。如果第一目标配置数据包括系统配置数据和用户配置数据时,由于是两种配置数据,因而为了区分这两种不同的配置数据,系统配置数据和用户配置数据中的至少一种配置数据携带数据来源。例如,第一目标配置数据包括系统配置数据和用户配置数据,用户配置数据可以认为是默认来源,那么系统配置数据可以携带数据来源。或者,第一目标配置数据包括系统配置数据和用户配置数据,系统配置数据可以认为是默认来源,那么用户配置数据可以携带数据来源。或者,第一目标配置数据包括系统配置数据和用户配置数据,系统配置数据和用户配置数据均携带各自的数据来源。
在示例性实施例中,运行配置数据集还用于存储用户配置数据,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第四查询指令,第四查询指令携带第二源标识、过滤方式及第二值的数据来源指示参数;根据第二源标识、过滤方式及第二值的数据来源指示参数,返回运行配置数据集中满足过滤方式的第二目标配置数据,该第二目标配置数据包括新增用户配置数据以及目标系统配置数据中的至少一种,该目标系统配置数据包括被修改过且与系统配置数据集中的系统配置数据不同的系统配置数据。该种查询方式,能够满足对运行配置数据集中更新的配置数据进行查询,该更新的配置数据不仅可以是新增用户配置数据,也可以是被修改过且与系统配置数据集中的系统配置数据不同的系统配置数据。
在示例性实施例中,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第五查询指令,第五查询指令携带第二源标识、过滤方式及第三值的数据来源指示参数;根据第二源标识、过滤方式及第三值的数据来源指示参数,返回运行配置数据集中满足过滤方式且被用户修改过的配置数据。示例性地,该运行配置数据集除了用于存储系统配置数据,还可以用于存储用户配置数据,因此,返回的运行配置数据集中满足过滤方式且被用户修改过的配置数据可以是被用户修改过的系统配置数据和用户配置数据中的至少一种配置数据。
在示例性实施例中,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第六查询指令,第六查询指令携带第二源标识、过滤方式及第四值的数据来源指示参数;根据第二源标识、过滤方式及第四值的数据来源指示参数,返回运行配置数据集中满足过滤方式的配置数据。示例性地,该运行配置数据集除了用于存储系统配置数据,还可以用于存储用户配置数据,因此,返回的运行配置数据集中满足过滤方式的配置数据可以是系统配置数据和用户配置数据中的至少一种。
上述第二源标识指示运行配置数据集作为源数据集,且上所述的六种查询方式,由于扩展出一个新的用于存储系统配置数据的系统配置数据集,系统配置数据集和运行配置数据集中均存储系统配置数据,可以直接从系统配置数据集和运行配置数据集中查询系统配置数据,且还可以满足来源查询、修改查询等更为精确的查询需求。因此,查询效率更高,且查询结果更为精准。此外,运行配置数据集中还用于存储用户配置数据,因而本申请实施例提供的方法还可以满足对用户配置数据的来源查询、修改查询等更为精确的查询需求。
在示例性实施例中,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,还包括:获取配置数据创建指令,配置数据创建指令用于指示在运行配置数据集中创建第一系统配置数据;响应于配置数据创建指令所指示的第一系统配置数据已经导入到运行配置数据集中,返回错误响应。
在示例性实施例中,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,还包括:获取配置数据修改指令,配置数据修改指令用于指示对运行配置数据集中存储的第一系统配置数据的参数进行修改;根据配置数据修改指令修改运行配置数据集中存储的第一系统配置数据的参数。
在示例性实施例中,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,还包括:响应于第一系统配置数据从运行配置数据集中被删除,将系统配置数据集中的第一系统配置重新导入到运行配置数据集中。
由于即使运行配置数据集中的系统配置数据被用户删除,仍然能够通过系统配置数据集再导入到运行配置数据集中,因此,本申请实施例提供的方法可靠性更高。
在示例性实施例中,第一系统配置数据包括无条件的逻辑系统配置数据,生成通信设备的第一系统配置数据,包括:响应于运行在通信设备上的操作系统启动,生成无条件的逻辑系统配置数据。
在示例性实施例中,第一系统配置数据包括物理资源的系统配置数据,生成通信设备的第一系统配置数据,包括:响应于物理资源在通信设备中且上电,生成物理资源的系统配置数据;基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,还包括:响应于物理资源离线,将物理资源的系统配置数据从系统配置数据集中删除,不删除运行配置数据集中物理资源的系统配置数据。
在示例性实施例中,第一系统配置包括有条件的逻辑系统配置数据,生成通信设备的第一系统配置数据,包括:响应于条件满足,生成有条件的逻辑系统配置数据;基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,还包括:响应于条件不满足,将有条件的逻辑系统配置数据从系统配置数据集中删除,不删除运行配置数据集中有条件的逻辑系统配置数据。
在示例性实施例中,将系统配置数据集中的第一系统配置数据导入到运行配置数据集中之前或之后,还包括:通过运行在通信设备上的操作系统加载启动配置数据,启动配置数据包括第二系统配置数据和用户配置数据中的至少一种配置数据;将启动配置数据存入运行配置数据集中。
在示例性实施例中,将系统配置数据集中的第一系统配置数据导入到运行配置数据集中,包括:响应于运行配置数据集中存储有第二系统配置数据,且第一系统配置数据与第二系统配置数据不一致,将第一系统配置数据导入到运行配置数据集中。该种情况下,第一系统配置数据导入到运行配置数据集之前,先将第一系统配置数据与运行配置数据集中已存储的系统配置数据进行比对,运行配置数据集中在第一系统配置数据导入之前已经存储的系统配置数据集中,不存在与第一系统配置数据一致的系统配置数据,才将第一系统配置数据导入到运行配置数据集中。
除此之外,还可以先将第一系统配置数据导入到运行配置数据集中,之后将该第一系统配置数据与运行配置数据集中的系统配置数据进行比对,如果运行配置数据集中在第一系统配置数据导入之前已经存储的系统配置数据集中,不存在与第一系统配置数据一致的系统配置数据,则将第一系统配置数据保留在运行配置数据集中。示例性地,如果第一系统配置数据与运行配置数据集中已存储的系统配置数据一致,可不将第一系统配置数据导入到运行配置数据集中。
或者,在示例性实施例中,将系统配置数据集中的第一系统配置数据导入到运行配置数据集中之后,还包括:响应于运行配置数据集中存储有第二系统配置数据,且第一系统配置数据与第二系统配置数据一致,将第一系统配置数据从运行配置数据集中删除。该种情况下,第一系统配置数据导入到运行配置数据集之后,再将第一系统配置数据与运行配置数据集中在第一系统配置数据导入之前已存储的系统配置数据比对,如果一致则删除第一系统配置数据,也即以运行配置数据集中在先存储的系统配置数据为准。
在示例性实施例中,将系统配置数据集中的第一系统配置数据导入到运行配置数据集中之后,还包括:生成通信设备的第三系统配置数据;将第三系统配置数据存储至系统配置数据集中;响应于第三系统配置数据与第一系统配置数据一致,不将第三系统配置数据导入到运行配置数据集中。
该第三系统配置数据的管理方法可参考第一系统配置数据,例如在将第三系统配置数据导入到运行配置数据集之前,先将第三系统配置数据与运行配置数据集中已存储的系统配置数据进行比对,由于运行配置数据集中已存储第一系统配置数据,如果该第三系统配置数据与第一系统配置数据一致,为了避免向运行配置数据集中导入重复的系统配置数据,则可以不将该第三系统配置数据导入到运行配置数据集中。示例性地,在第三系统配置数据系统配置数据与运行配置数据集中已存储的系统配置数据不一致的情况下,再将该第三系统配置数据导入到运行配置数据集中。
在示例性实施例中,通信设备将第一系统配置数据存储至系统配置数据集中之后,还包括:将系统配置数据集中的第一系统配置数据导入到候选配置数据集中,且第一系统配置数据在候选配置数据集中具有指示标记,该指示标记用于指示第一系统配置数据是从系统配置数据集导入的。
第二方面,提供了一种配置数据的管理装置,所述装置包括:
生成模块,用于生成通信设备的第一系统配置数据;
第一存储模块,用于将所述第一系统配置数据存储至系统配置数据集中,所述系统配置数据集用于存储系统配置数据,且所述系统配置数据在所述系统配置数据集中不可被用户更改;
第二存储模块,用于将所述系统配置数据集中的第一系统配置数据导入到运行配置数据集中,所述第一系统配置数据在所述运行配置数据集中可被用户更改;
管理模块,用于基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理。
在示例性实施例中,所述管理模块,用于获取第一查询指令,所述第一查询指令携带第一源标识,所述第一源标识指示所述系统配置数据集作为源数据集;根据所述第一源标识返回所述系统配置数据集中存储的系统配置数据。
在示例性实施例中,所述管理模块,用于获取第二查询指令,所述第二查询指令携带第二源标识及过滤方式,所述第二源标识指示所述运行配置数据集作为源数据集;根据所述第二源标识及过滤方式,返回所述运行配置数据集中满足所述过滤方式的配置数据。
在示例性实施例中,运行配置数据集还用于存储用户配置数据,所述管理模块,用于获取第三查询指令,所述第三查询指令携带第二源标识、过滤方式及第一值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;根据所述第二源标识、过滤方式及第一值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式的第一目标配置数据,所述第一目标配置数据包括系统配置数据和用户配置数据中的至少一种,且如果返回的第一目标配置数据包括系统配置数据和用户配置数据,所述系统配置数据和用户配置数据中的至少一种配置数据携带数据来源。
在示例性实施例中,运行配置数据集还用于存储用户配置数据,所述管理模块,用于获取第四查询指令,所述第四查询指令携带第二源标识、过滤方式及第二值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;根据所述第二源标识、过滤方式及第二值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式的第二目标配置数据,所述第二目标配置数据包括新增用户配置数据以及目标系统配置数据中的至少一种,所述目标系统配置数据包括被修改过且与所述系统配置数据集中的系统配置数据不同的系统配置数据。
在示例性实施例中,所述管理模块,用于获取第五查询指令,所述第五查询指令携带第二源标识、过滤方式及第三值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;根据所述第二源标识、过滤方式及第三值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式且被用户修改过的配置数据。
在示例性实施例中,所述管理模块,用于获取第六查询指令,所述第六查询指令携带第二源标识、过滤方式及第四值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;根据所述第二源标识、过滤方式及第四值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式的配置数据。
在示例性实施例中,所述管理模块,还用于获取配置数据创建指令,所述配置数据创建指令用于指示在所述运行配置数据集中创建所述第一系统配置数据;响应于所述配置数据创建指令所指示的第一系统配置数据已经导入到所述运行配置数据集中,返回错误响应。
在示例性实施例中,所述管理模块,还用于获取配置数据修改指令,所述配置数据修改指令用于指示对所述运行配置数据集中存储的第一系统配置数据的参数进行修改;根据所述配置数据修改指令修改所述运行配置数据集中存储的第一系统配置数据的参数。
在示例性实施例中,所述管理模块,还用于响应于所述第一系统配置数据从所述运行配置数据集中被删除,将所述系统配置数据集中的所述第一系统配置重新导入到所述运行配置数据集中。
在示例性实施例中,所述第一系统配置数据包括无条件的逻辑系统配置数据,所述生成模块,用于响应于运行在所述通信设备上的操作系统启动,生成所述无条件的逻辑系统配置数据。
在示例性实施例中,所述第一系统配置数据包括物理资源的系统配置数据,所述生成模块,用于响应于所述物理资源在所述通信设备中且上电,生成所述物理资源的系统配置数据;
所述管理模块,还用于响应于所述物理资源离线,将所述物理资源的系统配置数据从所述系统配置数据集中删除,不删除所述运行配置数据集中所述物理资源的系统配置数据。
在示例性实施例中,所述第一系统配置包括有条件的逻辑系统配置数据,所述生成模块,用于响应于条件满足,生成所述有条件的逻辑系统配置数据;
所述管理模块,还用于响应于所述条件不满足,将所述有条件的逻辑系统配置数据从所述系统配置数据集中删除,不删除所述运行配置数据集中所述有条件的逻辑系统配置数据。
在示例性实施例中,所述第二存储模块,还用于通过运行在所述通信设备上的操作系统加载启动配置数据,所述启动配置数据包括所述第二系统配置数据和用户配置数据;将所述第二系统配置数据和用户配置数据存入所述运行配置数据集中。
在示例性实施例中,所述第二存储模块,用于响应于所述运行配置数据集中存储有所述第二系统配置数据,且所述第一系统配置数据与所述第二系统配置数据不一致,将所述第一系统配置数据导入到运行配置数据集中。
在示例性实施例中,所述管理模块,还用于响应于所述运行配置数据集中存储有所述第二系统配置数据,且所述第一系统配置数据与所述第二系统配置数据一致,将所述第一系统配置数据从所述运行配置数据集中删除。
在示例性实施例中,所述生成模块,还用于生成所述通信设备的第三系统配置数据;
所述第一存储模块,还用于将所述第三系统配置数据存储至所述系统配置数据集中;
所述第二存储模块,还用于响应于所述第三系统配置数据与所述第一系统配置数据一致,不将所述第三系统配置数据导入到所述运行配置数据集中。
在示例性实施例中,所述不可被用户更改,包括不可被用户通过网络配置协议NETCONF、表现层状态转换协议RESTCONF和命令行CLI进行更改。
在示例性实施例中,所述装置,还包括:
第三存储模块,用于将所述系统配置数据集中的第一系统配置数据导入到候选配置数据集中,且所述第一系统配置数据在所述候选配置数据集中具有指示标记,所述指示标记用于指示所述第一系统配置数据是从所述系统配置数据集导入的。
还提供一种配置数据的管理设备,该设备包括:存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现上述任一所述的配置数据的管理方法。
还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上任一所述的配置数据的管理方法。
提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1为本申请实施例提供的非NMDA架构下的数据集示意图;
图2为本申请实施例提供的NMDA架构下的数据集示意图;
图3为本申请实施例提供的配置数据的管理方法流程图;
图4为本申请实施例提供的操作系统启动流程示意图;
图5为本申请实施例提供的物理资源插入流程示意图;
图6为本申请实施例提供的单板拔出流程示意图;
图7为本申请实施例提供的删除系统配置数据的流程示意图;
图8为相关技术提供的非NMDA架构下的数据集示意图;
图9为相关技术提供的NMDA架构下的数据集示意图;
图10为本申请实施例提供的配置数据的管理装置的结构示意图;
图11为本申请实施例提供的配置数据的管理设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的实施例进行解释,而非旨在限定本申请。
通信设备在运行过程中,出于业务的需要,会改变该通信设备的配置数据,而该通信设备的配置数据包括用户配置数据和系统配置数据。其中,通过使用命令行或者通过网管协议来下发的配置数据称为用户配置数据,由运行在该通信设备上的操作系统生成的配置数据称为系统配置数据。示例性地,系统配置数据可以在该通信设备重启时自动生成(如环回接口loopback0的配置数据)、或者硬件资源插入时生成(如物理接口ge1/0/0的配置数据),或者由用户配置数据生效后生成(如服务质量(quality of service,QoS)使能而自动创建的QoS模板数据)。
在通信设备的维护场景中,为了了解通信设备的配置,为下一次修改配置数据做依据,会有查询配置数据的需求。查询配置数据时,维护人员或网管有必要获取当前的整体配置数据,该整体配置数据包括系统生成的系统配置数据,从而用来指导下一次配置数据的修改。而为了业务需求,也通常会有修改通信设备的已有配置数据的需求。在修改配置数据时,也会有一些用户配置数据需要依赖或者引用系统自动生成的系统配置数据,且修改配置数据一般会有创建、删除和修改三种操作。
对此,本申请实施例提供了一种配置数据的管理方法,该方法引入了新的数据集,即系统配置数据集。通过该系统配置数据集来存储系统自动生成的系统配置数据,用户仅可以对系统配置数据集中的系统配置数据进行查询,不可以手动更改。也就是说,系统配置数据集中存储的系统配置数据不可被用户更改。
以图1所示的非网络管理数据集架构(network management datastorearchitecture,NMDA)下的数据集为例,该数据集架构下,包括候选配置数据集(candidateconfiguration datastore)、启动配置数据集(startup configuration datastore)、当前运行配置数据集(running configuration datastore)三种数据集。其中,候选配置数据集(candidate configuration datastore),用于存储当前用户编辑的配置数据,这些被编辑的配置数据没有提交正式生效。启动配置数据集(startup configuration datastore),用于存储系统下一次启动时使用的配置数据。当前运行配置数据集(running configurationdatastore),用于存储当前生效的配置数据。
本申请实施例在上述候选配置数据集(candidate configuration datastore)、启动配置数据集(startup configuration datastore)、当前运行配置数据集(runningconfiguration datastore)三种数据集基础上,新扩展了系统配置数据集(systemconfiguration datastore),通过该系统配置数据集来存储系统自动生成的系统配置数据。
此外,除图1所示的数据集结构外,征求意见稿(requirement for comments,RFC)8342重新定义了网络配置协议(network configuration protocol,NETCONF)/表现层状态转换协议(representational state transfer configuration,RESTCONF)的数据集(datastore)的NMDA。NETCONF是一种提供网络数据设备配置管理的协议,采用基于数据编码的可扩展标记语言配置数据以及协议信息,提供了安装、操作和删除网元配置的机制。RESTCONF是一种基于超文本传输协议(hypertext transfer protocol,HTTP)的协议,该RESTCONF通过NETCONF中定义的数据存储概念来配置YANG中的数据。YANG是互联网工程任务组(internet engineering task force,IETF)标准组织定义的一种将网络配置管理数据模型化描述的语言,以支持NETCONF客户端和服务端之间数据的完整描述,通过YANG模型来描述NETCONF客户端和服务端之间交互的配置数据、状态数据、RPC和通知(Notification)。关于YANG的定义和描述可以参考征求意见稿(Requirement ForComments,RFC)6020和RFC7950的相关描述。
进一步地,重新定义的NMDA在RFC6241的候选配置数据集(candidateconfiguration datastore)、启动配置数据集(startup configuration datastore)、当前运行配置数据集(running configuration datastore)三种数据集基础上新增了配置(intended)和操作(operational)两种datastore,从而实现配置数据与状态数据的分离。其中,配置数据集(intended datastore),用于存储用户有意配置且有效的配置数据。操作数据集(operational datastore),用于存储设备上完整的运行状态(包括生效的配置数据和状态数据,如系统配置数据,缺省配置数据,学习到的配置数据等,如RFC8342所示)。在NMDA的数据集架构基础上,如图2所示,本申请实施例又进一步扩展了系统配置数据集(system configuration datastore),通过该系统配置数据集来存储系统自动生成的系统配置数据。
基于图1所示的数据集结构或者图2所示的数据集结构,本申请实施例提供了一种配置数据的管理方法。以通信设备侧执行该配置数据的管理方法为例,该方法包括如下几个过程。
301,通信设备生成通信设备的第一系统配置数据,将第一系统配置数据存储至系统配置数据集中,系统配置数据集用于存储系统配置数据,且系统配置数据在系统配置数据集中不可被用户更改。
在示例性实施例中,系统配置数据分成如下两种:
第一种系统配置数据:物理资源的系统配置数据。
该物理资源的系统配置数据在物理资源在位时就会生成,如针对物理接口的配置数据。其中,物理资源在位是指该物理资源在通信设备中且上电。
第二种系统配置数据:逻辑系统配置数据。
该逻辑系统配置数据可以分为两种,一种逻辑系统配置数据是无条件的逻辑系统配置数据,操作系统启动就会生成该种逻辑系统配置数据,如针对环回接口的配置数据。另一种逻辑系统配置数据是有条件的逻辑系统配置数据,比如当某个配置使能时生成逻辑系统配置数据,如QoS使能会生成20几个QoS模板。
无论是上述哪种系统配置数据,在本申请实施例提供的方法中,生成第一系统配置数据后,均将该第一系统配置数据存储至系统配置数据集中。该系统配置数据集是本申请实施例扩展出的新的数据集,用于存储系统配置数据的数据集,且该系统配置数据集中存储的系统配置数据均可用于查询,但不可被用户更改。因此,将该第一系统配置数据存储至系统配置数据集中之后,该第一系统配置数据在系统配置数据集中不可被用户更改。
示例性地,系统配置数据包括但不限于接口名、接口描述、接口类型及是否可用等内容。针对上述两种系统配置数据的不同类型,本申请实施例提供的方法在生成通信设备的第一系统配置数据时,包括但不限于如下三种方式:
第一方式:第一系统配置数据包括无条件的逻辑系统配置数据,生成通信设备的第一系统配置数据,包括:响应于运行在通信设备上的操作系统启动,生成无条件的逻辑系统配置数据。
该第一方式中,关于生成无条件的逻辑系统配置数据的时机,本申请实施例不进行限定。运行在通信设备上的操作系统启动后的任何时机,都可以生成该无条件的逻辑系统配置数据。此外,本申请实施例也不对生成无条件的逻辑系统配置数据的方式及内容进行限定,例如,运行在通信设备上的操作系统启动,可根据预置的模板或者各业务子系统操作代码中设置的数据,生成无条件的逻辑系统配置数据。
以loopback接口的系统配置数据为无条件的系统配置数据为例,在通信设备的操作系统启动时,按照预置的模板或代码逻辑,生成loopback0和loopback1接口的系统配置数据。则将生成的无条件的逻辑系统配置数据存储至系统配置数据集之后,该系统配置数据集中存储的系统配置数据如下表1所示:
表1
第二方式:第一系统配置数据包括物理资源的系统配置数据,生成通信设备的第一系统配置数据,包括:响应于物理资源在通信设备中且上电,生成物理资源的系统配置数据。
该第二方式中,运行在通信设备上的操作系统启动时,可检测当前在位的物理资源,如检测物理硬件处于上电工作状态,根据预设的模板或者各业务子系统的软件代码中设置的数据,生成该物理资源的系统配置数据。例如,检测单板是否插在卡槽中并且上电。如果单板插在卡槽中且上电,根据预设的模板或者各业务子系统的软件代码中设置的数据,生成该单板的系统配置数据。
示例性地,以当前卡槽1上有千兆以太网接口板并且上电为例,则会生成ge1/0/0接口的系统配置数据。在上述表1所示的系统配置数据集基础上,将生成的物理资源的系统配置数据存储至系统配置数据集之后,此时系统配置数据集中的系统配置数据如下表2所示:
表2
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 千兆以太接口 | ge | 是 |
第三方式:第一系统配置包括有条件的逻辑系统配置数据,生成通信设备的第一系统配置数据,包括:响应于条件满足,生成有条件的逻辑系统配置数据。
该第三方式中,在操作系统加载启动配置数据时,操作系统会基于当前的启动配置数据,根据预置的模板或者各业务子系统中的代码去判断是否满足有条件的逻辑系统配置的条件,如果满足条件,则生成有条件的逻辑系统配置数据,否则不会生成该有条件的逻辑系统配置数据。
示例性地,以启动配置有创建一个隧道tunnel0,隧道创建后系统会自动生成一个对应的隧道类型的接口tunnel0的逻辑系统配置数据为例,则在上述表2所示的系统配置数据集基础上,将生成的有条件的逻辑系统配置数据存储至系统配置数据集之后,此时系统配置数据集中的系统配置数据如下表3所示:
表3
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 千兆以太接口 | ge | 是 |
Tunnel0 | 隧道接口 | Tunnel | 是 |
需要说明的是,上述表1-表3所示的系统配置数据集是以先生成无条件的逻辑系统配置数据,再生成物理资源的系统配置数据,之后再生成有条件的逻辑系统配置数据,按照该顺序依次向系统配置数据集中存储系统配置数据为例进行的说明,但本申请实施例对生成这几种系统配置数据的顺序以及存储至系统配置数据集的顺序不进行限定。
另外,上述不可被用户更改,包括但不限于不可被用户通过NETCONF、RESTCONF和CLI进行更改。示例性地,用户可以是指使用该通信设备的用户,如运营商等。不可被用户更改除了包括不可被用户通过上述三种方式进行更改之外,还包括不可被用户通过google远程过程调用协议(google remote procedure call,gRPC)和gRPC网管协议(gRPC NetworkManagement Interface,gNMI)进行更改。
在示例性实施例中,除了不可采用上述几种方式对系统配置数据集中的系统配置数据进行更改外,管理员可以通过预定的操作入口(例如CLI)对系统配置数据集中的配置数据进行更改。
302,通信设备将系统配置数据集中的第一系统配置数据导入到运行配置数据集中,第一系统配置数据在运行配置数据集中可被用户更改。
在示例性实施例中,运行配置数据集保存有通信设备当前运行的配置数据。此外,运行配置数据集既可以存储生效的配置数据,也可以存储没有生效的配置数据。例如,一些配置数据是可以生效的,但是当前相对应的板卡没有被插在网络设备中,因而该类配置数据当前是没有生效的,但仍然可以存储在运行配置数据集中。一般情况下,运行配置数据集存储的配置数据必然包括生效的配置数据。
示例性地,运行配置数据集除了用于存储第一系统配置数据,还可以存储其他类型的配置数据。例如,将系统配置数据集中的第一系统配置数据导入到运行配置数据集中之前或之后,还包括:通过运行在通信设备上的操作系统加载启动配置数据,启动配置数据包括第二系统配置数据和用户配置数据中的至少一种配置数据;将启动配置数据存入运行配置数据集中。
其中,启动配置数据是指操作系统启动时需要加载的配置数据,该启动配置数据包括第二系统配置数据和用户配置数据中的至少一种配置数据。启动配置数据是操作系统上一次运行时由通信配置操作系统保存当时运行时的配置数据生成,或者由网络工程师根据网络规划预置,其表现形式可能是文件或者数据库镜像等。示例性地,启动配置数据和操作系统软件是分离的实体。运行在通信设备上的操作系统加载启动配置数据,例如,加载到启动配置数据集(startup)中。加载结束之后,该启动配置数据将会存入运行配置数据集中。
例如,以当前启动配置存在ge1/0/0.1和ge1/0/0.2两个接口为例,则会生成这两个接口的配置数据,并存储至运行配置数据集中,此时运行配置数据集中的数据如下表4所示:
表4
接口名 | 接口描述 | 接口类型 | 是否可用 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
在示例性实施例中,除了加载启动配置数据之后,将启动配置数据导入到运行配置数据集中之外,还将系统配置数据集中的系统配置数据导入到当前运行配置数据集中。关于将启动配置数据导入到运行配置数据集中,以及将系统配置数据集中的系统配置数据导入到当前运行配置数据集中的先后顺序,本申请实施例不进行限定。如果当前运行配置数据集中没有该系统配置数据对应的实例,则在运行配置数据集中创建该系统配置数据。由于运行配置数据集中存储的配置数据可被用户更改,如果当前运行配置数据集中已经存在该系统配置数据对应的实例,或者已被用户更改过,则相同的实例以运行配置数据集中的数据为准。
接下来,以运行配置数据集中的配置数据和系统配置数据集中的配置数据无重复的情况和有重复的情况为例分别进行说明。
情况一:运行配置数据集中的配置数据和系统配置数据集中的配置数据无重复,将系统配置数据集中的第一系统配置数据导入到运行配置数据集中,包括:响应于运行配置数据集中存储有第二系统配置数据,且第一系统配置数据与第二系统配置数据不一致,将第一系统配置数据导入到运行配置数据集中。该种情况下,第一系统配置数据导入到运行配置数据集之前,先将第一系统配置数据与运行配置数据集中已存储的系统配置数据进行比对,运行配置数据集中在第一系统配置数据导入之前已经存储的系统配置数据集中,不存在与第一系统配置数据一致的系统配置数据,才将第一系统配置数据导入到运行配置数据集中。
除此之外,还可以先将第一系统配置数据导入到运行配置数据集中,之后将该第一系统配置数据与运行配置数据集中的系统配置数据进行比对,如果运行配置数据集中在第一系统配置数据导入之前已经存储的系统配置数据集中,不存在与第一系统配置数据一致的系统配置数据,则将第一系统配置数据保留在运行配置数据集中。
以系统配置数据集中的接口表的配置数据如下表5所示为例,对第一情况进行说明:
表5
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 千兆以太接口 | ge | 是 |
Tunnel0 | 隧道接口 | Tunnel | 是 |
在系统配置数据集中的系统配置数据导入前,运行配置数据集中接口表的配置数据如下表6所示:
表6
接口名 | 接口描述 | 接口类型 | 是否可用 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
在启动配置数据加载结束后,在表6所示的运行配置数据集基础上,将系统配置数据集中的系统配置数据导入运行配置数据集之后,该运行配置数据集中接口表的配置数据如下表7所示:
表7
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 千兆以太接口 | ge | 是 |
Tunnel0 | 隧道接口 | Tunnel | 是 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
情况二:系统配置数据集中的配置数据和运行配置数据集中的配置数据有重复,示例性地,如果第一系统配置数据与运行配置数据集中已存储的系统配置数据一致,可不将第一系统配置数据导入到运行配置数据集中。或者,在示例性实施例中,将系统配置数据集中的第一系统配置数据导入到运行配置数据集中之后,还包括:响应于运行配置数据集中存储有第二系统配置数据,且第一系统配置数据与第二系统配置数据一致,将第一系统配置数据从运行配置数据集中删除。该种情况下,第一系统配置数据导入到运行配置数据集之后,再将第一系统配置数据与运行配置数据集中在第一系统配置数据导入之前已存储的系统配置数据比对,如果一致则删除第一系统配置数据,也即以运行配置数据集中在先存储的系统配置数据为准。以系统配置数据集中的接口表的配置数据如下表8为例:
表8
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 千兆以太接口 | ge | 是 |
Tunnel0 | 隧道接口 | Tunnel | 是 |
在系统配置数据集中的系统配置数据导入之前,运行配置数据集中接口表的配置数据如下表9所示:
表9
接口名 | 接口描述 | 接口类型 | 是否可用 |
Ge1/0/0 | 这是被修改过的描述 | ge | 否 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
从上述表8和表9可以看出,表9中第一条配置数据和表8中第三条配置数据针对的是同一个接口Ge1/0/0,二者存在重复。但由于表9中的第一条配置数据被修改过,以表9所示的运行配置数据集的为准,则在启动配置数据加载结束后,系统配置数据集中的系统配置数据导入运行配置数据集中,该运行配置数据集中接口表的配置数据如下表10所示:
表10
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 这是被修改过的描述 | ge | 否 |
Tunnel0 | 隧道接口 | Tunnel | 是 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
由上表8-表10可以看出,当系统配置数据集中的配置数据实例和运行配置数据集中的配置数据实例Ge1/0/0重复时,以运行配置数据集中的配置数据为准。
综上所述,上述301中表1-表3所示的生成第一系统配置数据,将第一系统配置数据存储至系统配置数据集,以及上述302中表4-表10所示的将第一系统配置数据导入运行配置数据集的过程可如图4所示。例如,通信设备上的操作系统启动后,先生成无条件的逻辑系统配置数据,将生成的无条件的逻辑系统配置存储至系统配置数据集。再生成物理资源的系统配置数据,将物理资源的系统配置数据存储至系统配置数据集中。之后,加载启动配置数据,加载完毕后,将启动配置数据导入运行数据集中,且将系统配置数据集中的系统配置数据也导入运行配置数据集中。此外,还可以生成有条件的逻辑系统配置数据,将该有条件的逻辑系统配置数据存储至系统配置数据集中。最后,可将系统配置数据集中的有条件的逻辑系统配置数据导入到运行配置数据集中。
需要说明的是,以上图4所示的过程只是为了举例,本申请实施例不对生成不同类型的系统配置数据的先后顺序进行限定。此外,本申请实施例不对将系统配置数据集中的系统配置数据导入到运行配置数据集的时机进行限定。例如,可以每存储至系统配置数据集中一条系统配置数据,均可以及时导入到运行配置数据集中。也可以在一定时间间隔后,将系统配置数据集中未导入到运行配置数据集的系统配置数据统一导入到运行配置数据集中。也可以在有运行需求时,再导入到运行配置数据集中。
另外,由系统配置数据集导入到运行配置数据集中的系统配置数据,在运行配置数据集中可被用户更改。示例性地,将系统配置数据集中的第一系统配置数据导入到运行配置数据集中之后,还包括:生成通信设备的第三系统配置数据;将第三系统配置数据存储至系统配置数据集中;响应于第三系统配置数据与第一系统配置数据一致,不将第三系统配置数据导入到运行配置数据集中。该第三系统配置数据的管理方法可参考第一系统配置数据,例如在将第三系统配置数据导入到运行配置数据集之前,先将第三系统配置数据与运行配置数据集中已存储的系统配置数据进行比对。由于运行配置数据集中已存储第一系统配置数据,如果该第三系统配置数据与第一系统配置数据一致,为了避免向运行配置数据集中导入重复的系统配置数据,则可以不将该第三系统配置数据导入到运行配置数据集中。示例性地,在第三系统配置数据系统配置数据与运行配置数据集中已存储的系统配置数据不一致的情况下,再将该第三系统配置数据导入到运行配置数据集中。
在示例性实施例中,由于系统配置数据集中的系统配置数据已经导入到运行配置数据集中了,因此,如果再在运行配置数据集中创建和系统配置数据集中已经导入的相同系统配置数据,则会报错。示例性地,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,还包括:获取配置数据创建指令,配置数据创建指令用于指示在运行配置数据集中创建第一系统配置数据;响应于配置数据创建指令所指示的第一系统配置数据已经导入到运行配置数据集中,返回错误响应。
例如,以配置数据创建指令为RPC指令为例,该配置数据创建指令的内容如下所示:
针对上述配置数据创建指令,响应于配置数据创建指令所指示的第一系统配置数据已经导入到运行配置数据集中,返回的错误响应可以如下所示:
在示例性实施例中,通信设备将第一系统配置数据存储至系统配置数据集中之后,还包括:将系统配置数据集中的第一系统配置数据导入到候选配置数据集中,且第一系统配置数据在候选配置数据集中具有指示标记,该指示标记用于指示第一系统配置数据是从系统配置数据集导入的。本申请实施例不对通信设备将第一系统配置数据导入到候选配置数据集的时机进行限定,可以是在将第一系统配置数据导入到运行配置数据集之前,先将第一系统配置数据导入到候选配置数据集。也可以是在将第一系统配置数据导入到运行配置数据集之后,再将第一系统配置数据导入到候选配置数据集。
此外,示例性地,第一系统配置数据在候选配置数据集中具有的指示标记可以是“system”,也可以是其他能够用于指示该第一系统配置数据是从系统配置数据集导入的标记。本申请实施例不对第一系统配置数据在候选配置数据集中具有的指示标记的形式进行限定,能够标识该第一系统配置数据是从系统配置数据集导入的即可。
303,通信设备基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理。
基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理的方式,本申请实施例对此不进行限定,包括但不限于对通信设备的配置数据进行查询管理、删除管理和修改管理等。在本申请实施例提供的方法中,由于系统配置数据集及运行配置数据集均可存储系统配置数据,因此,便于对系统配置数据进行查询、修改等管理,管理方式更为灵活可靠。且又由于运行配置数据集中不仅存储系统配置数据,还可以存储有用户配置数据,因而还可以实现对用户配置数据进行管理,使得配置数据的管理更为全面和高效。
接下来,本申请实施例以查询、修改和删除这三种管理方式为例,对基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理的过程进行举例说明。
一、针对查询管理
首先,由于系统配置数据集是新扩展的数据集,本申请实施例提供的方法支持系统配置数据集中的系统配置数据可以被查询。对此,本申请实施例以NETCONF协议为例,支持查询管理。其中,NETCONF协议定义了get-config协议操作,该操作可以用来从指定的源数据集中获取配置数据。由于目前并未定义系统配置数据集作为其可能的源数据集。因此,本申请实施例通过扩展get-config操作,实现使用get-config操作获取当前系统配置数据集中的系统配置数据。
其次,在示例性实施例中,除了支持系统配置数据集中的系统配置数据可以被查询,本申请实施例提供的方法还支持被导入到运行配置数据集中的系统配置数据和用户配置数据一样可以被查询和过滤。对此,本申请实施例提供的方法同样扩展NETCONF协议的get-config操作,增加用于查询配置数据的参数,例如增加with-system参数。且考虑到不同的查询需求,扩展该用于查询配置数据的参数的不同取值,以通过不同取值来实现不同的查询方式。例如,将With-system参数的取值置为trim/explicit/report-all/report-all-tagged,以实现不同的查询方式,各个取值的作用说明如下。
Trim:所有和系统配置数据集中相同的配置数据不会被返回,如果导入到运行配置数据集中的系统配置数据已经被用户修改,则仅呈现用户修改的部分(以及必要的路径节点)。
Explicit:仅用户显式修改的部分会被返回(含必要的路径节点)。
Report-all-tagged:运行配置数据集中所有符合条件的数据都会被返回,且如果返回两种以上的配置数据,则返回的两种配置数据中的至少一种需要携带数据来源标签,以区分不同类型的配置数据的来源。
Report-all:配置数据集中所有符合条件的数据都会被返回。
基于上述几种扩展,接下来以包括但不限于如下几种查询管理方式对本申请实施例提供的方法进行说明。
查询管理方式一:基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第一查询指令,第一查询指令携带第一源标识,该第一源标识指示系统配置数据集作为源数据集;根据第一源标识返回系统配置数据集中存储的系统配置数据。
该查询管理方式一中,支持对系统配置数据集中存储的系统配置数据进行查询。在示例性实施例中,该第一查询指令除了携带第一源标识,还可以携带过滤方式。则根据第一源标识返回系统配置数据集中存储的系统配置数据可以是满足过滤方式的系统配置数据。
例如,在通信设备运行过程中,操作者(用户或者网管)想要查询当前的系统配置数据,则可以触发执行查询操作。以NETCONF协议为例,使用get-config操作获取当前系统配置数据集中的系统配置数据,通过扩展get-config操作,增加system作为源数据集。示例性地,以第一查询指令为远程过程调用(remote procedure call,RPC)报文,第一源标识为“system”,过滤方式为子树过滤为例,该第一查询指令的内容如下所示:
如上所述,上述第一查询指令是用来获得system(系统配置数据集)中的系统配置数据,该协议操作使用了子树过滤(subtree,详见RFC6241第六章)算法来过滤出系统配置数据集中接口表的全部信息。
针对上述第一查询指令,根据第一源标识返回系统配置数据集中存储的系统配置数据可以通过第一响应报文的方式实现。例如,针对第一查询指令返回的第一响应报文的内容如下:
从上述第一响应报文可以看出,目前的系统配置数据集中,有3个接口对应的系统配置数据,分别是loopback0,loopback1和ge1/0/0。
查询管理方式二:基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第二查询指令,第二查询指令携带第二源标识及过滤方式,第二源标识指示运行配置数据集作为源数据集;根据第二源标识及过滤方式返回运行配置数据集中满足过滤方式的配置数据。示例性地,该运行配置数据集除了存储系统配置数据,还可以存储用户配置数据,针对运行配置数据集中存储有用户配置数据的情况,返回的满足过滤方式的配置数据包括系统配置数据和用户配置数据中的至少一种。
也就是说,该查询管理方式二中,支持对运行配置数据集中的配置数据进行查询,该运行配置数据集中存储的数据包括系统配置数据和用户配置数据。例如,在通信设备运行过程中,操作者(用户或者网管)想要查询当前运行配置数据集中的配置数据,则可以触发执行查询操作。以在操作系统运行过程中用户手工创建了两个逻辑接口ge1/0/0.1和ge1/0/0.2,第二查询指令为RPC报文,第二源标识为“running”,过滤方式为子树过滤为例,该第二查询指令的内容如下所示:
如上所述,上述第二查询指令是用来获得running(运行配置数据集)中的配置数据,该协议操作使用了子树过滤(subtree,详见RFC6241第六章)算法来过滤出运行配置数据集中接口表的全部信息。
针对上述第二查询指令,根据第二源标识及过滤方式返回运行配置数据集中满足过滤方式的配置数据可以通过第二响应报文的方式实现。例如,针对第二查询指令返回的第二响应报文的内容如下:
从上述第二响应报文可以看出,运行配置数据集中满足过滤方式的用户配置数据和系统配置数据一同呈现。
查询管理方式三:针对运行配置数据集还用于存储用户配置数据的情况,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第三查询指令,第三查询指令携带第二源标识、过滤方式及第一值的数据来源指示参数,该第二源标识指示运行配置数据集作为源数据集;根据第二源标识、过滤方式及第一值的数据来源指示参数,返回运行配置数据集中满足过滤方式的第一目标配置数据,该第一目标配置数据包括系统配置数据和用户配置数据中的至少一种,且如果返回的目标配置数据包括系统配置数据和用户配置数据,该系统配置数据和用户配置数据中的至少一种配置数据携带数据来源。
该查询管理方式三中,支持对运行配置数据集中的配置数据以携带数据来源的方式进行查询,该运行配置数据集中存储的配置数据包括系统配置数据,还可以存储用户配置数据。例如,如果在查询运行配置数据集中的配置数据时具有数据来源的查询需求,比如需要查询是用户配置的还是系统配置的,则可以触发携带数据来源的查询操作。示例性地,本申请实施例提供的方法仍以扩展NETCONF协议的get-config操作为例,以第三查询指令为RPC报文,第二源标识为“running”,过滤方式为子树过滤,增加的数据来源指示参数为with-system参数,with-system参数的第一值是report-all-tagged为例,该第三查询指令的内容如下所示:
如上所述,上述第三查询指令是查询运行配置数据集中的配置数据,使用子树过滤方式,仅需要呈现接口表的数据,并且数据中需要携带数据来源标识。
针对上述第三查询指令,根据第二源标识、过滤方式及第一值的数据来源指示参数返回运行配置数据集中满足过滤方式的第一目标配置数据,该第一目标配置数据包括系统配置数据和用户配置数据,且满足过滤方式的系统配置数据和用户配置数据中的至少一种配置数据携带数据来源。例如,可以通过第三响应报文的方式实现。例如,针对第三查询指令返回的第三响应报文的内容如下:
从上述第三响应报文可以看出,三个系统配置的接口加上了origin=”system”的标签,表明这两个接口是系统配置数据。需要说明的是,上述第三响应报文中将用户配置数据作为是默认的配置数据,因而未携带来源,例如未加origin标签。在实施过程中,还可以将用户配置数据携带origin标签,将系统配置数据不携带标签,由此区分系统配置数据和用户配置数据。当然,也可以系统配置数据和用户配置数据均携带对应的来源标签。另外,针对返回的满足过滤方式的配置数据仅包括一种配置数据的情况,也可以不携带来源标签。
查询管理方式四:针对运行配置数据集还用于存储用户配置数据的情况,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第四查询指令,第四查询指令携带第二源标识、过滤方式及第二值的数据来源指示参数,该第二源标识指示运行配置数据集作为源数据集;根据第二源标识、过滤方式及第二值的数据来源指示参数返回运行配置数据集中满足过滤方式的第二目标配置数据,该第二目标配置数据包括新增用户配置数据以及目标系统配置数据中的至少一种,该目标系统配置数据包括被修改过且与系统配置数据集中的系统配置数据不同的系统配置数据。
该查询管理方式四中,针对已经查询过系统配置数据集中的系统配置数据的情况下,为了节省带宽,支持仅查询运行配置数据集中与系统配置数据集不同的配置数据。示例性地,本申请实施例提供的方法仍以扩展NETCONF协议的get-config操作为例,以第四查询指令为RPC报文,第二源标识为“running”,过滤方式为子树过滤,增加的数据来源指示参数为with-system参数,with-system参数的第二值是trim为例,该第四查询指令的内容如下所示:
如上所述,上述第四查询指令是查询运行配置数据集中的配置数据,使用子树过滤方式,仅需要呈现接口表的数据,并且去除掉和系统配置数据集中一致的配置数据。
针对上述第四查询指令,根据第二源标识、过滤方式及第二值的数据来源指示参数返回运行配置数据集中满足过滤方式的第二目标配置数据可以通过第四响应报文的方式实现。例如,针对第四查询指令返回的第四响应报文的内容如下:
从上述第四响应报文可以看出,返回的配置数据中已经不包含系统配置数据集中的系统配置数据。
查询管理方式五:基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第五查询指令,第五查询指令携带第二源标识、过滤方式及第三值的数据来源指示参数,该第二源标识指示运行配置数据集作为源数据集;根据第二源标识、过滤方式及第三值的数据来源指示参数返回运行配置数据集中满足过滤方式且被用户修改过的配置数据。示例性地,该运行配置数据集除了存储系统配置数据,还可以存储用户配置数据,则根据第二源标识、过滤方式及第三值的数据来源指示参数,返回的运行配置数据集中满足过滤方式且被用户修改过的配置数据包括系统配置数据和用户配置数据中的至少一种。
该查询管理方式五中,支持仅获取修改过的配置数据的查询需求。示例性地,以用户在配置数据集中显式创建了物理接口ge1/0/0,但此时千兆以太网接口板1并未在位,后来该接口板插入,系统配置数据集中存在物理接口ge1/0/0为例,本申请实施例提供的方法仍以扩展NETCONF协议的get-config操作实现对修改过的配置数据的查询。例如,以第五查询指令为RPC报文,第二源标识为“running”,过滤方式为子树过滤,增加的数据来源指示参数为with-system参数,with-system参数的第三值是explicit为例,该第五查询指令的内容如下所示:
如上所述,上述第五查询指令是查询运行配置数据集中的配置数据,使用子树过滤方式,仅需要呈现接口表的数据,并且数据中仅需要上报用户修改过的配置数据。
针对上述第五查询指令,根据第二源标识、过滤方式及第三值的数据来源指示参数返回运行配置数据集中满足过滤方式且被用户修改过的配置数据可以通过第五响应报文的方式实现。例如,针对第五查询指令返回的第五响应报文的内容如下:
从上述第五响应报文可以看出,即使运行配置数据集中的ge1/0/0和系统配置数据集中的ge1/0/0完全一致,但是由于用户显式创建了ge1/0/0,因此在explicit查询方式下,该数据仍然需要被返回。
查询管理方式六:基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,包括:获取第六查询指令,第六查询指令携带第二源标识、过滤方式及第四值的数据来源指示参数,该第二源标识指示运行配置数据集作为源数据集;根据第二源标识、过滤方式及第四值的数据来源指示参数返回运行配置数据集中满足过滤方式的配置数据。示例性地,该运行配置数据集除了存储系统配置数据,还可以存储用户配置数据,则根据第二源标识、过滤方式及第四值的数据来源指示参数返回运行配置数据集中满足过滤方式的配置数据包括系统配置数据和用户配置数据中的至少一种。
该查询管理方式六与查询管理方式三类似,均支持对运行配置数据集中的配置数据进行查询,该运行配置数据集中存储的数据除了包括系统配置数据,还可以包括用户配置数据。查询管理方式六与查询管理方式三的区别在于上述查询管理方式三支持以携带数据来源的方式查询,而该查询管理方式六返回运行配置数据集中满足过滤方式的配置数据即可,无需携带数据来源。
示例性地,本申请实施例提供的方法仍以扩展NETCONF协议的get-config操作为例,以第六查询指令为RPC报文,第二源标识为“running”,过滤方式为子树过滤,增加的数据来源指示参数为with-system参数,with-system参数的第四值是report-all为例,该第六查询指令的内容如下所示:
如上所述,上述第六查询指令是查询运行配置数据集中的配置数据,使用子树过滤方式,仅需要呈现接口表的数据。
针对上述第六查询指令,根据第二源标识、过滤方式及第四值的数据来源指示参数返回运行配置数据集中满足过滤方式的配置数据可以通过第六响应报文的方式实现。例如,针对第六查询指令返回的第六响应报文的内容如下:
从上述第六响应报文可以看出,运行配置数据集中存储的系统配置数据及用户配置数据均被返回,便于对运行配置数据集中的全部配置数据进行查询。
二、针对修改管理
在示例性实施例中,有时出于网络规划或业务的需求,会有对系统创建的系统配置数据的参数进行修改的需求,例如修改已有参数或者增加一些新的参数。对此,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,还包括:获取配置数据修改指令,配置数据修改指令用于指示对运行配置数据集中存储的第一系统配置数据的参数进行修改;根据配置数据修改指令修改运行配置数据集中存储的第一系统配置数据的参数。
以系统配置数据ge1/0/0初始配置如下所示为例:
如果将上述接口的MTU值修改为1492,则获取的配置数据修改指令可如下所示:
在示例性实施例中,修改结束后,可返回修改成功的响应结果。例如,针对上述配置数据修改指令,根据配置数据修改指令修改运行配置数据集中存储的第一系统配置数据的参数之后,返回的响应结果如下所示:
在上述修改基础上,可以进一步执行查询管理操作。查询管理操作的方式仍包括但不限于如上六种。例如,以上述查询管理方式二为例,第二查询指令如下所示:
如上所述,上述第二查询指令是用来获得running(运行配置数据集)中的配置数据,该协议操作使用了子树过滤(subtree,详见RFC6241第六章)算法来过滤出运行配置数据集中接口表的全部信息。针对上述第二查询指令,返回的第二响应报文的内容如下:
除上述查询管理方式二之外,还可以采用上述查询管理方式四进行查询操作,也即如果仅需要获取和系统配置数据集中不同的配置数据,则可以使用trim参数进行过滤。例如,第四查询指令如下所示:
如上所述,上述第四查询指令是是查询运行配置数据集中的配置数据,使用子树过滤方式,仅需要呈现接口表的数据,并且去除掉和系统配置数据集中一致的配置数据。针对上述第四查询指令,返回的第四响应报文的内容如下:
从上述第四响应报文不难看出,由于用户修改了ge1/0/0接口的mtu值,因此仅返回该被修改的值,其余的系统配置数据不会被返回。同理,如果用户手动将mtu值改回1500,则采用上述查询管理方式四进行查询操作时,由于修改的系统配置数据和系统配置数据集中的系统配置数据相同,则不会被返回。但是如果采用的是上述查询管理方式五,即数据来源指示参数的值是第三值explicit,由于该查询管理方式五支持获取修改过的配置数据,因此,即便是将mtu值改回跟系统配置数据集中的系统配置数据一样的值1500,由于是修改的配置数据,因而还是会被返回。
三、针对删除管理
在通信设备运行中,出于网络规划或者业务的需要,有时需要从运行配置数据集中清除掉被导入的系统配置数据,这时候可以直接从运行配置数据集中删除该系统配置数据。在示例性实施例中,将系统配置数据集中的第一系统配置数据导入运行配置数据集之后,基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,还包括:响应于第一系统配置数据从运行配置数据集中被删除,将系统配置数据集中的第一系统配置重新导入到运行配置数据集中。
在示例性实施例中,第一系统配置数据包括物理资源的系统配置数据,生成通信设备的第一系统配置数据,包括:响应于物理资源在通信设备中且上电,生成物理资源的系统配置数据;基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,还包括:响应于物理资源离线,将物理资源的系统配置数据从系统配置数据集中删除,不删除运行配置数据集中物理资源的系统配置数据。
在示例性实施例中,第一系统配置包括有条件的逻辑系统配置数据,生成通信设备的第一系统配置数据,包括:响应于条件满足,生成有条件的逻辑系统配置数据;基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理,还包括:响应于条件不满足,将有条件的逻辑系统配置数据从系统配置数据集中删除,不删除运行配置数据集中有条件的逻辑系统配置数据。
综上所述,本申请实施例提供的方法,由于扩展出一个新的用于存储系统配置数据的系统配置数据集,系统配置数据集和运行配置数据集中均存储系统配置数据,可以直接从系统配置数据集和运行配置数据集中查询系统配置数据。又由于系统配置数据集中存储的系统配置数据不可被用户更改,因而能够保留系统生成的原始系统配置数据,满足对原始系统配置数据的管理需求,使得系统配置数据的管理更为全面和高效。且还可以满足来源查询、修改查询等更为精确的查询需求,有助于过滤系统配置数据,因此,查询效率更高,且查询结果更为精准。
此外,如果要引用或者依赖系统创建的系统配置数据,可以直接引用,引用效率更高。且即使运行配置数据集中的系统配置数据被用户删除,仍然能够将系统配置数据集再导入到运行配置数据集中,因此,可避免在引用或修改系统配置数据时重复手动在运行配置数据集中创建系统配置数据或者删除系统配置数据报错的问题,可靠性更高。
接下来,结合上述本申请实施例提供的方法,以如下几个场景为例,对本申请实施例提供的方法进行举例说明。
场景一:操作系统运行过程中,有新的物理资源插入
该场景一中,以操作系统运行过程中,有新的单板插入,该配置数据的管理过程如图5为例,包括如下几个过程。
步骤11:在通信设备运行过程中,插入一块新的单板并上电,该通信设备上运行操作系统软件检测到新的物理资源插入。
例如,在通信设备运行过程中,在2号槽位插入一块千兆以太网接口板并上电。
步骤12:通信设备根据预置的模板或者各业务子系统内部的软件代码逻辑生成该物理资源的系统配置数据,存储至系统配置数据集中。
例如,在2号槽位插入接口板后,操作系统生成了对应的系统配置数据。以接口ge2/0/0为例,此时系统配置数据集中接口表的配置数据如下表11所示:
表11
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 千兆以太接口 | ge | 是 |
Tunnel0 | 隧道接口 | Tunnel | 是 |
Ge2/0/0 | 千兆以太接口 | Ge | 是 |
运行配置数据集中的配置数据如下表12所示:
表12
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 这是被修改过的描述 | ge | 否 |
Tunnel0 | 隧道接口 | Tunnel | 是 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
步骤13:在被插入的物理资源对应的系统配置数据生成,且存储至系统配置数据集后,运行在通信设备上的操作系统软件侦测到系统配置数据集有新的系统配置数据被创建,启动向当前运行配置数据集导入该新增的系统配置数据的流程,以将该新增的系统配置数据导入到当前运行配置数据集中。
例如,在2号槽位插入千兆以太网接口板后,创建过对应的物理接口ge2/0/0的配置数据,且存储至系统配置数据集中后,操作系统侦测到系统配置数据集有新增的系统配置数据(ge2/0/0),于是启动流程,将系统配置数据集中新增的系统配置数据导入到运行配置数据集。导入之后,该运行配置数据集中的数据如下表13所示:
表13
场景二:操作系统运行过程中,有物理资源被拔出
该场景二中,以操作系统运行过程中,有单板拔出为例,结合图6所示的过程进行说明。
步骤21:在通信设备运行过程中,从该通信设备上拔出一块正在生效的物理资源,运行在该通信设备上的操作系统软件侦测到这个事件。
例如,从正在运行的通信设备2号槽位拔出插在此槽位上的千兆以太网接口板。
步骤22:运行在此通信设备上的操作系统软件根据预置的模板或者各业务子系统中的软件代码的设置,从系统配置数据集中删除该物理资源的系统配置数据,系统配置数据集中有系统配置数据被删除,不会启动删除运行配置数据集中相应的系统配置数据的流程。
例如,当从2号槽位拔出该槽位上的千兆以太网接口板后,操作系统会启动从系统配置数据集中删除该单板相关的系统配置数据的流程。以原系统配置数据集中接口表的数据如下表14所示为例:
表14
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 千兆以太接口 | ge | 是 |
Tunnel0 | 隧道接口 | Tunnel | 是 |
Ge2/0/0 | 千兆以太接口 | Ge | 是 |
运行配置数据集中接口表的数据如下表15所示:
表15
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 这是被修改过的描述 | ge | 否 |
Tunnel0 | 隧道接口 | Tunnel | 是 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
Ge2/0/0 | 千兆以太接口 | Ge | 是 |
拔出单板后,系统配置数据集中接口表的数据如下表16所示:
表16
拔出单板后,运行配置数据集中接口表的数据如下表17所示:
表17
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 这是被修改过的描述 | ge | 否 |
Tunnel0 | 隧道接口 | Tunnel | 是 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
Ge2/0/0 | 千兆以太接口 | Ge | 是 |
通过表16和表17可以看出,单板拔出后,相关的系统配置数据会从系统配置数据集中删除,但是不影响运行配置数据集。
场景三:从运行配置数据集中删除系统配置数据
该场景下,当运行配置数据集中的被导入的系统配置数据被用户删除后,通信设备上运行系统软件会检测到此变化,启动从系统配置数据集导入运行配置数据集的流程,将被删除的系统配置数据从系统配置数据集中再次导入到运行配置数据集中。例如,如图7所示,该过程可以通过如下几步实现:
步骤31:当通信设备运行时,用户从运行配置数据集中删除被导入的系统配置实例,删除成功,运行配置数据集已经没有此数据。
步骤32:运行在通信设备上的操作系统软件检测到运行配置数据集中有被导入的系统配置实例被删除,启动从系统配置数据集将数据导入到运行配置数据集的流程,从系统配置数据集中查询该被删除的实例。如果能够查询到,则重新从系统配置数据集导入到运行配置数据集中,如果不能查询到,则不会导入到运行配置数据集中。
例如,以用户手工删除接口ge1/0/0为例,则可以通过如下报文实现:
针对上述删除操作,返回的删除响应报文如下所示:
针对删除成功的情况,还可以进一步执行查看管理。例如,如果删除系统配置数据之后,查询运行配置数据集中的当前配置数据,以第二查询指令为例,该第二查询指令的内容如下:
如上所述,上述第二查询指令是用来获得running(运行配置数据集)中的配置数据,该协议操作使用了子树过滤(subtree,详见RFC6241第六章)算法来过滤出运行配置数据集中接口表的全部信息。则针对上述第二查询指令,返回的第二响应报文如下所示:
从上述第二响应报文可以看出,接口ge1/0/0被删除后,立即就被恢复成系统配置初始的系统配置数据。
接下来,以上述本申请实施例提供的方法与如下几种相关技术进行比较说明。
相关技术一中将系统配置数据当作状态数据。如图8所示,在非NDMA数据集架构下,由于将系统配置数据当作状态数据,不属于配置数据。在查询配置数据时,仅包含用户配置数据,不包含系统配置数据,导致无法直接快速地查询系统配置数据。针对该种情况,在相关技术一基础上若要查询全部的配置数据(用户配置数据和系统配置数据),需要先查询用户配置数据,再查询状态数据,并且将其中的系统配置数据过滤出来。而一般情况下,状态数据中混杂着用户配置创建的实例和系统配置创建的实例,每个实例混杂着配置引发的字段和代表系统状态信息的字段,因此,过滤是比较困难的,该种相关技术实现系统配置数据的查询过程效率较低。
此外,由于状态数据不能在配置中直接引用,因而如果在用户配置时依赖或者引用系统配置实例,需要手动重新创建一遍系统配置数据。以如下表18的接口配置为例,接口状态表可如表19所示:
表18
接口名 | 接口描述 | 接口类型 | 是否可用 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
表19
接口名 | 接口类型 | 管理状态 | 接口索引 | 物理地址 | 入包数 | 出包数 |
Loopback0 | loopback | up | 1 | 00-00-01 | 1 | 100 |
Loopback1 | loopback | down | 2 | ff-00-00 | 20 | 50 |
Ge1/0/0 | ge | up | 3 | Fe-ff-01 | 1000 | 500 |
Ge1/0/0.1 | ge | up | 4 | ff-00-ff | 1000 | 500 |
Ge1/0/0.2 | ge | Up | 5 | ff-00-fe | 0 | 0 |
如要获取全部配置数据,需要从接口配置表18中获得用户配置的接口(Ge1/0/0.1和Ge1/0/0.2),再从接口状态表19中获得全部的接口状态数据(loopback0,loopback1,ge1/0/0,和ge1/0/0.1、ge1/0/0.2),由此可以确定由系统生成的接口有3个,然后和用户配置数据合并成接口总表,如下表20所示。
表20
可以看出,系统配置数据缺失接口描述信息是否可用需要从管理状态计算而来,up是可用,down是不可用。如果用户想在VPN中引用系统创建的接口ge1/0/0。由于在用户配置表中不存在ge1/0/0,因此需先创建ge1/0/0,然后再引用此接口。
>set interface ge1/0/0 ---创建ge1/0/0接口
>set vrf test interface ge1/0/0 ---设置vrf名为test的引用接口为ge1/0/0
相关技术二中,系统配置数据只存在于操作数据集中。例如,在RFC8342中定义了NMDA(网络多数据集架构),如图9所示,在NMDA中系统配置会作为操作数据集(operational)的数据来源,是配置的一部分,但是仅仅存在于操作数据集。当用户从配置数据集(running/candidate/startup)获取配置数据时仅返回用户配置数据,不包含系统配置数据。
在相关技术二基础上,如果要查询全部的配置数据,就需要从操作数据集中过滤配置数据。但是在有些情况下,操作数据集的数据结构和配置数据集的数据结构可能是不匹配的。例如,配置数据集中的数据可能是一条模板配置,但是在操作数据集中就展开成多条单一配置。因此,要全部配置数据也是比较繁琐的。
此外,在相关技术二基础上,如果要引用或者依赖系统配置,因为在配置数据集中不存在系统配置数据,所以也需要手动在配置数据集先创建系统配置数据,再去引用或依赖系统配置数据。以如下接口配置表21为例,操作数据集中的接口操作数据如表22所示。
表21
接口名 | 接口描述 | 接口类型 | 是否可用 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
表22
可以看出,如果要查询全部配置数据,可以从操作数据集中的接口操作数据表22中获得,但是需要过滤掉非配置字段,如管理状态、接口索引、物理地址和出入包数。
又由于系统配置数据仅存在于操作数据集中,如果要在VPN中引用系统创建的物理接口ge1/0/0,则需要先在配置数据集中创建该接口,然后再引用该接口。
>set interface ge1/0/0 ---创建ge1/0/0接口
>set vrf test interface ge1/0/0 ---设置vrf名为test的引用接口为ge1/0/0
综上所述,相关技术一和相关技术二中,系统配置数据不存在于配置数据集中,导致查询全部配置数据比较困难。例如,在查询配置数据集(intended)时无法查询到系统配置数据,所以查询到的配置数据实际上是不完整的,无法反映当前系统的实际配置情况。无论是NMDA之前的状态信息还是NMDA之后的操作数据集,其数据结构和配置数据集中的数据结构不一定相同。用户或者网管软件如果想要获取完整的配置信息,就需要多查询一次含系统配置的状态信息或者从NMDA的operational数据集中查询一次系统配置,然后再花费较大的工作量将系统配置数据和从配置数据集中查询出的用户配置数据进行合并处理。
此外,相关技术一和相关技术二中,由于系统配置数据不存在于配置数据集中,如果要引用或者依赖系统配置数据时,会因为引用或依赖的对象不存在而报错。但如果要解决这个问题,就需要将系统配置数据在配置数据集中重新创建一遍,过程比较繁琐,从而带来了不必要的负担,甚至可能达不到期望的效果。例如,QoS使能后会默认创建20多种QoS模板配置,这些模板配置本来是为了便于直接使用的,但是在相关技术下,如果想要引用这些模板配置,就需要手动重新创建一遍,从而失去了便捷的意义。
而在本申请实施例提供的方法中,由于扩展出一个新的用于存储系统配置数据的系统配置数据集,系统配置数据集和运行配置数据集中均存储系统配置数据,可以直接从系统配置数据集和运行配置数据集中查询系统配置数据,且还可以满足来源查询、修改查询等更为精确的查询需求。此外,如果要引用或者依赖系统创建的系统配置数据,可以直接引用。例如,以运行配置数据集中的接口配置表如下表23所示:
表23
接口名 | 接口描述 | 接口类型 | 是否可用 |
Loopback0 | 环回接口 | loopback | 是 |
Loopback1 | 环回接口 | loopback | 否 |
Ge1/0/0 | 千兆以太接口 | ge | 是 |
Ge1/0/0.1 | 千兆以太子接口 | ge | 是 |
Ge1/0/0.2 | 千兆以太子接口 | ge | 是 |
可以看出,直接从运行配置数据集中获取接口配置表的数据,即可获得所有接口的配置信息。相比于相关技术一和相关技术二,本申请实施例提供的方法能够便于对系统配置数据进行灵活管理,查询效率较高。
此外,如果VPN想要引用系统创建的物理接口ge1/0/0,可以直接引用。例如:
>set vrf test interface ge1/0/0 ---设置vrf名为test的引用接口为ge1/0/0
但如果要删除系统创建的物理接口ge1/0/0,则会报错,无法删除。
>delete interface ge1/0/0
Error:configuration created by system can not be deleted。
不过即使运行配置数据集中的系统配置数据被用户删除,仍然能够通过系统配置数据集再导入到运行配置数据集中,因此,本申请实施例提供的方法可靠性更高。此外,由于系统配置数据集中存储的系统配置数据不可被用户更改,因而能够保留系统生成的原始系统配置数据,满足对原始系统配置数据的管理需求,使得系统配置数据的管理更为全面和高效。
本申请实施例提供了一种配置数据的管理装置,该装置通过如下各个模块相互配合,用于执行上述图3所示的配置数据的管理方法。参见图10,该装置包括:
生成模块1001,用于生成通信设备的第一系统配置数据。例如,该生成模块1001所的执行功能可以参考上述图3所示的301步骤。
第一存储模块1002,用于将第一系统配置数据存储至系统配置数据集中,系统配置数据集用于存储系统配置数据,且系统配置数据在系统配置数据集中不可被用户更改。示例性地,不可被用户更改,包括不可被用户通过NETCONF、RESTCONF和CLI进行更改。例如,该第一存储模块1002所执行的功能可以参考上述图3所示的301步骤。
第二存储模块1003,用于将系统配置数据集中的第一系统配置数据导入到运行配置数据集中,第一系统配置数据在运行配置数据集中可被用户更改。示例性地,该生效的配置数据除了包括第一系统配置数据,还可以包括通信设备的第二系统配置数据和用户配置数据。例如,该第二存储模块1003所执行的功能可以参考上述图3所示的302步骤。
管理模块1004,用于基于系统配置数据集及运行配置数据集对通信设备的配置数据进行管理。例如,该管理模块1004所执行的功能可以参考上述图3所示的303步骤。
在示例性实施例中,管理模块1004,用于获取第一查询指令,第一查询指令携带第一源标识,第一源标识指示系统配置数据集作为源数据集;根据第一源标识返回系统配置数据集中存储的系统配置数据。
在示例性实施例中,管理模块1004,用于获取第二查询指令,第二查询指令携带第二源标识及过滤方式,第二源标识指示运行配置数据集作为源数据集;根据第二源标识及过滤方式,返回运行配置数据集中满足过滤方式的配置数据。
在示例性实施例中,运行配置数据集还用于存储用户配置数据,管理模块1004,用于获取第三查询指令,第三查询指令携带第二源标识、过滤方式及第一值的数据来源指示参数,第二源标识指示运行配置数据集作为源数据集;根据第二源标识、过滤方式及第一值的数据来源指示参数,返回运行配置数据集中满足过滤方式的第一目标配置数据,第一目标配置数据包括系统配置数据和用户配置数据中的至少一种,且如果返回的第一目标配置数据包括系统配置数据和用户配置数据,系统配置数据和用户配置数据中的至少一种配置数据携带数据来源。
在示例性实施例中,运行配置数据集还用于存储用户配置数据,管理模块1004,用于获取第四查询指令,第四查询指令携带第二源标识、过滤方式及第二值的数据来源指示参数,第二源标识指示运行配置数据集作为源数据集;根据第二源标识、过滤方式及第二值的数据来源指示参数,返回运行配置数据集中满足过滤方式的第二目标配置数据,第二目标配置数据包括新增用户配置数据以及目标系统配置数据中的至少一种,目标系统配置数据包括被修改过且与系统配置数据集中的系统配置数据不同的系统配置数据。
在示例性实施例中,管理模块1004,用于获取第五查询指令,第五查询指令携带第二源标识、过滤方式及第三值的数据来源指示参数,第二源标识指示运行配置数据集作为源数据集;根据第二源标识、过滤方式及第三值的数据来源指示参数,返回运行配置数据集中满足过滤方式且被用户修改过的配置数据。
在示例性实施例中,管理模块1004,用于获取第六查询指令,第六查询指令携带第二源标识、过滤方式及第四值的数据来源指示参数,第二源标识指示运行配置数据集作为源数据集;根据第二源标识、过滤方式及第四值的数据来源指示参数,返回运行配置数据集中满足过滤方式的配置数据。
在示例性实施例中,管理模块1004,还用于获取配置数据创建指令,配置数据创建指令用于指示在运行配置数据集中创建第一系统配置数据;响应于配置数据创建指令所指示的第一系统配置数据已经导入到运行配置数据集中,返回错误响应。
在示例性实施例中,管理模块1004,还用于获取配置数据修改指令,配置数据修改指令用于指示对运行配置数据集中存储的第一系统配置数据的参数进行修改;根据配置数据修改指令修改运行配置数据集中存储的第一系统配置数据的参数。
在示例性实施例中,管理模块1004,还用于响应于第一系统配置数据从运行配置数据集中被删除,将系统配置数据集中的第一系统配置重新导入到运行配置数据集中。
在示例性实施例中,第一系统配置数据包括无条件的逻辑系统配置数据,生成模块1001,用于响应于运行在通信设备上的操作系统启动,生成无条件的逻辑系统配置数据。
在示例性实施例中,第一系统配置数据包括物理资源的系统配置数据,生成模块1001,用于响应于物理资源在通信设备中且上电,生成物理资源的系统配置数据;
管理模块1004,还用于响应于物理资源离线,将物理资源的系统配置数据从系统配置数据集中删除,不删除运行配置数据集中物理资源的系统配置数据。
在示例性实施例中,第一系统配置包括有条件的逻辑系统配置数据,生成模块1001,用于响应于条件满足,生成有条件的逻辑系统配置数据;
管理模块1004,还用于响应于条件不满足,将有条件的逻辑系统配置数据从系统配置数据集中删除,不删除运行配置数据集中有条件的逻辑系统配置数据。
在示例性实施例中,第二存储模块1003,还用于通过运行在通信设备上的操作系统加载启动配置数据,启动配置数据包括第二系统配置数据和用户配置数据;将第二系统配置数据和用户配置数据存入运行配置数据集中。
在示例性实施例中,第二存储模块1003,用于响应于运行配置数据集中存储有第二系统配置数据,且第一系统配置数据与第二系统配置数据不一致,将第一系统配置数据导入到运行配置数据集中。
在示例性实施例中,管理模块1004,还用于响应于运行配置数据集中存储有第二系统配置数据,且第一系统配置数据与第二系统配置数据一致,将第一系统配置数据从运行配置数据集中删除。
在示例性实施例中,生成模块1001,还用于生成通信设备的第三系统配置数据;
第一存储模块1002,还用于将第三系统配置数据存储至系统配置数据集中;
第二存储模块1003,还用于响应于第三系统配置数据与第一系统配置数据一致,不将第三系统配置数据导入到运行配置数据集中。
在示例性实施例中,该装置还包括:
第三存储模块,用于将系统配置数据集中的第一系统配置数据导入到候选配置数据集中,且第一系统配置数据在候选配置数据集中具有指示标记,指示标记用于指示第一系统配置数据是从系统配置数据集导入的。
综上所述,本申请实施例提供的装置,由于扩展出一个新的用于存储系统配置数据的系统配置数据集,系统配置数据集和运行配置数据集中均存储系统配置数据,可以直接从系统配置数据集和运行配置数据集中查询系统配置数据。又由于系统配置数据集中存储的系统配置数据不可被用户更改,因而能够保留系统生成的原始系统配置数据,满足对原始系统配置数据的管理需求,使得系统配置数据的管理更为全面和高效。且还可以满足来源查询、修改查询等更为精确的查询需求,有助于过滤系统配置数据,因此,查询效率更高,且查询结果更为精准。
此外,如果要引用或者依赖系统创建的系统配置数据,可以直接引用,引用效率更高。且即使运行配置数据集中的系统配置数据被用户删除,仍然能够将系统配置数据集再导入到运行配置数据集中,因此,可避免在引用或修改系统配置数据时重复手动在运行配置数据集中创建系统配置数据或者删除系统配置数据报错的问题,可靠性更高。
应理解的是,上述图10提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11为本申请实施例的配置数据的管理设备1100的硬件结构示意图。图11所示的配置数据的管理设备1100可以执行上述图3所示实施例提供的配置数据的管理方法中的相应步骤。
如图11所示,配置数据的管理设备1100包括处理器1101、存储器1102、接口1103和总线1104。其中接口1103可以通过无线或有线的方式实现,示例性地,该接口1103可以是网卡。上述处理器1101、存储器1102和接口1103通过总线1104连接。
接口1103可以包括发送器和接收器,用于与其他通信设备通信。处理器1101用于执行上述图3所示实施例中301-304的处理相关步骤。处理器1101和/或用于本文所描述的技术的其他过程。存储器1102包括操作系统11021和应用程序11022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及配置数据的管理设备1100的处理过程。可选的,存储器1102可以包括只读存储器(英文:Read-only Memory,缩写:ROM)和随机存取存储器(英文:Random Access Memory,缩写:RAM)。其中,ROM包括基本输入/输出系统(英文:Basic Input/Output System,缩写:BIOS)或嵌入式系统;RAM包括应用程序和操作系统。当需要运行配置数据的管理设备1100时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导配置数据的管理设备1100进入正常运行状态。在配置数据的管理设备1100进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及配置数据的管理设备1100的处理过程。
可以理解的是,图11仅仅示出了配置数据的管理设备1100的简化设计。在实际应用中,配置数据的管理设备1100可以包含任意数量的接口,处理器或者存储器。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的配置数据的管理方法。
本申请提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (40)
1.一种配置数据的管理方法,其特征在于,所述方法包括:
通信设备生成所述通信设备的第一系统配置数据,所述第一系统配置数据包括物理资源的系统配置数据,还包括有条件的逻辑系统配置数据和无条件的逻辑系统配置数据中的至少一种,或者,所述第一系统配置数据仅包括所述物理资源的系统配置数据;
所述通信设备将所述第一系统配置数据存储至系统配置数据集中,所述系统配置数据集用于存储系统配置数据,且所述系统配置数据在所述系统配置数据集中不可被用户更改;
所述通信设备将所述系统配置数据集中的第一系统配置数据导入到运行配置数据集中,所述第一系统配置数据在所述运行配置数据集中可被用户更改,其中,所述物理资源的系统配置数据用于在所述物理资源离线时从所述系统配置数据集中删除,且不从所述运行配置数据集中删除;
所述通信设备基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,包括:
获取第一查询指令,所述第一查询指令携带第一源标识,所述第一源标识指示所述系统配置数据集作为源数据集;
根据所述第一源标识返回所述系统配置数据集中存储的系统配置数据。
3.根据权利要求1所述的方法,其特征在于,所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,包括:
获取第二查询指令,所述第二查询指令携带第二源标识及过滤方式,所述第二源标识指示所述运行配置数据集作为源数据集;
根据所述第二源标识及过滤方式,返回所述运行配置数据集中满足所述过滤方式的配置数据。
4.根据权利要求1所述的方法,其特征在于,所述运行配置数据集还用于存储用户配置数据,所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,包括:
获取第三查询指令,所述第三查询指令携带第二源标识、过滤方式及第一值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;
根据所述第二源标识、过滤方式及第一值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式的第一目标配置数据,所述第一目标配置数据包括系统配置数据和用户配置数据中的至少一种,且如果返回的第一目标配置数据包括系统配置数据和用户配置数据,所述系统配置数据和用户配置数据中的至少一种配置数据携带数据来源。
5.根据权利要求1所述的方法,其特征在于,所述运行配置数据集还用于存储用户配置数据,所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,包括:
获取第四查询指令,所述第四查询指令携带第二源标识、过滤方式及第二值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;
根据所述第二源标识、过滤方式及第二值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式的第二目标配置数据,所述第二目标配置数据包括新增用户配置数据以及目标系统配置数据中的至少一种,所述目标系统配置数据包括被修改过且与所述系统配置数据集中的系统配置数据不同的系统配置数据。
6.根据权利要求1所述的方法,其特征在于,所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,包括:
获取第五查询指令,所述第五查询指令携带第二源标识、过滤方式及第三值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;
根据所述第二源标识、过滤方式及第三值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式且被用户修改过的配置数据。
7.根据权利要求1所述的方法,其特征在于,所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,包括:
获取第六查询指令,所述第六查询指令携带第二源标识、过滤方式及第四值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;
根据所述第二源标识、过滤方式及第四值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式的配置数据。
8.根据权利要求1-7任一所述的方法,其特征在于,所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,还包括:
获取配置数据创建指令,所述配置数据创建指令用于指示在所述运行配置数据集中创建所述第一系统配置数据;
响应于所述配置数据创建指令所指示的第一系统配置数据已经导入到所述运行配置数据集中,返回错误响应。
9.根据权利要求1-7任一所述的方法,其特征在于,所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,还包括:
获取配置数据修改指令,所述配置数据修改指令用于指示对所述运行配置数据集中存储的第一系统配置数据的参数进行修改;
根据所述配置数据修改指令修改所述运行配置数据集中存储的第一系统配置数据的参数。
10.根据权利要求1-7任一所述的方法,其特征在于,所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,还包括:
响应于所述第一系统配置数据从所述运行配置数据集中被删除,将所述系统配置数据集中的所述第一系统配置重新导入到所述运行配置数据集中。
11.根据权利要求1-7任一所述的方法,其特征在于,所述第一系统配置数据包括无条件的逻辑系统配置数据,所述生成通信设备的第一系统配置数据,包括:
响应于运行在所述通信设备上的操作系统启动,生成所述无条件的逻辑系统配置数据。
12.根据权利要求1-7任一所述的方法,其特征在于,所述第一系统配置数据包括物理资源的系统配置数据,所述生成通信设备的第一系统配置数据,包括:
响应于所述物理资源在所述通信设备中且上电,生成所述物理资源的系统配置数据;
所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,还包括:
响应于所述物理资源离线,将所述物理资源的系统配置数据从所述系统配置数据集中删除,不删除所述运行配置数据集中所述物理资源的系统配置数据。
13.根据权利要求1-7任一所述的方法,其特征在于,所述第一系统配置包括有条件的逻辑系统配置数据,所述生成通信设备的第一系统配置数据,包括:
响应于条件满足,生成所述有条件的逻辑系统配置数据;
所述基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理,还包括:
响应于所述条件不满足,将所述有条件的逻辑系统配置数据从所述系统配置数据集中删除,不删除所述运行配置数据集中所述有条件的逻辑系统配置数据。
14.根据权利要求1-7任一所述的方法,其特征在于,所述将所述系统配置数据集中的第一系统配置数据导入到运行配置数据集中之前或之后,还包括:
通过运行在所述通信设备上的操作系统加载启动配置数据,所述启动配置数据包括第二系统配置数据和用户配置数据中的至少一种配置数据;
将所述启动配置数据存入所述运行配置数据集中。
15.根据权利要求14所述的方法,其特征在于,所述将所述系统配置数据集中的第一系统配置数据导入到运行配置数据集中,包括:
响应于所述运行配置数据集中存储有所述第二系统配置数据,且所述第一系统配置数据与所述第二系统配置数据不一致,将所述第一系统配置数据导入到运行配置数据集中。
16.根据权利要求14所述的方法,其特征在于,所述将所述系统配置数据集中的第一系统配置数据导入到运行配置数据集中之后,还包括:
响应于所述运行配置数据集中存储有所述第二系统配置数据,且所述第一系统配置数据与所述第二系统配置数据一致,将所述第一系统配置数据从所述运行配置数据集中删除。
17.根据权利要求1-7、15、16任一所述的方法,其特征在于,所述将所述系统配置数据集中的第一系统配置数据导入到运行配置数据集中之后,还包括:
生成所述通信设备的第三系统配置数据;
将所述第三系统配置数据存储至所述系统配置数据集中;
响应于所述第三系统配置数据与所述第一系统配置数据一致,不将所述第三系统配置数据导入到所述运行配置数据集中。
18.根据权利要求1-7、15、16任一所述的方法,其特征在于,所述不可被用户更改,包括不可被用户通过网络配置协议NETCONF、表现层状态转换协议RESTCONF和命令行CLI进行更改。
19.根据权利要求1-7、15、16任一所述的方法,其特征在于,所述通信设备将所述第一系统配置数据存储至系统配置数据集中之后,还包括:
将所述系统配置数据集中的第一系统配置数据导入到候选配置数据集中,且所述第一系统配置数据在所述候选配置数据集中具有指示标记,所述指示标记用于指示所述第一系统配置数据是从所述系统配置数据集导入的。
20.一种配置数据的管理装置,其特征在于,所述装置包括:
生成模块,用于生成通信设备的第一系统配置数据,所述第一系统配置数据包括物理资源的系统配置数据,还包括有条件的逻辑系统配置数据和无条件的逻辑系统配置数据中的至少一种,或者,所述第一系统配置数据仅包括所述物理资源的系统配置数据;
第一存储模块,用于将所述第一系统配置数据存储至系统配置数据集中,所述系统配置数据集用于存储系统配置数据,且所述系统配置数据在所述系统配置数据集中不可被用户更改;
第二存储模块,用于将所述系统配置数据集中的第一系统配置数据导入到运行配置数据集中,所述第一系统配置数据在所述运行配置数据集中可被用户更改,其中,所述物理资源的系统配置数据用于在所述物理资源离线时从所述系统配置数据集中删除,且不从所述运行配置数据集中删除;
管理模块,用于基于所述系统配置数据集及所述运行配置数据集对所述通信设备的配置数据进行管理。
21.根据权利要求20所述的装置,其特征在于,所述管理模块,用于获取第一查询指令,所述第一查询指令携带第一源标识,所述第一源标识指示所述系统配置数据集作为源数据集;根据所述第一源标识返回所述系统配置数据集中存储的系统配置数据。
22.根据权利要求20所述的装置,其特征在于,所述管理模块,用于获取第二查询指令,所述第二查询指令携带第二源标识及过滤方式,所述第二源标识指示所述运行配置数据集作为源数据集;根据所述第二源标识及过滤方式,返回所述运行配置数据集中满足所述过滤方式的配置数据。
23.根据权利要求20所述的装置,其特征在于,所述运行配置数据集还用于存储用户配置数据,所述管理模块,用于获取第三查询指令,所述第三查询指令携带第二源标识、过滤方式及第一值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;根据所述第二源标识、过滤方式及第一值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式的第一目标配置数据,所述第一目标配置数据包括系统配置数据和用户配置数据中的至少一种,且如果返回的第一目标配置数据包括系统配置数据和用户配置数据,所述系统配置数据和用户配置数据中的至少一种配置数据携带数据来源。
24.根据权利要求20所述的装置,其特征在于,所述运行配置数据集还用于存储用户配置数据,所述管理模块,用于获取第四查询指令,所述第四查询指令携带第二源标识、过滤方式及第二值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;根据所述第二源标识、过滤方式及第二值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式的第二目标配置数据,所述第二目标配置数据包括新增用户配置数据以及目标系统配置数据中的至少一种,所述目标系统配置数据包括被修改过且与所述系统配置数据集中的系统配置数据不同的系统配置数据。
25.根据权利要求20所述的装置,其特征在于,所述管理模块,用于获取第五查询指令,所述第五查询指令携带第二源标识、过滤方式及第三值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;根据所述第二源标识、过滤方式及第三值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式且被用户修改过的配置数据。
26.根据权利要求20所述的装置,其特征在于,所述管理模块,用于获取第六查询指令,所述第六查询指令携带第二源标识、过滤方式及第四值的数据来源指示参数,所述第二源标识指示所述运行配置数据集作为源数据集;根据所述第二源标识、过滤方式及第四值的数据来源指示参数,返回所述运行配置数据集中满足所述过滤方式的配置数据。
27.根据权利要求20-26任一所述的装置,其特征在于,所述管理模块,还用于获取配置数据创建指令,所述配置数据创建指令用于指示在所述运行配置数据集中创建所述第一系统配置数据;响应于所述配置数据创建指令所指示的第一系统配置数据已经导入到所述运行配置数据集中,返回错误响应。
28.根据权利要求20-26任一所述的装置,其特征在于,所述管理模块,还用于获取配置数据修改指令,所述配置数据修改指令用于指示对所述运行配置数据集中存储的第一系统配置数据的参数进行修改;根据所述配置数据修改指令修改所述运行配置数据集中存储的第一系统配置数据的参数。
29.根据权利要求20-26任一所述的装置,其特征在于,所述管理模块,还用于响应于所述第一系统配置数据从所述运行配置数据集中被删除,将所述系统配置数据集中的所述第一系统配置重新导入到所述运行配置数据集中。
30.根据权利要求20-26任一所述的装置,其特征在于,所述第一系统配置数据包括无条件的逻辑系统配置数据,所述生成模块,用于响应于运行在所述通信设备上的操作系统启动,生成所述无条件的逻辑系统配置数据。
31.根据权利要求20-26任一所述的装置,其特征在于,所述第一系统配置数据包括物理资源的系统配置数据,所述生成模块,用于响应于所述物理资源在所述通信设备中且上电,生成所述物理资源的系统配置数据;
所述管理模块,还用于响应于所述物理资源离线,将所述物理资源的系统配置数据从所述系统配置数据集中删除,不删除所述运行配置数据集中所述物理资源的系统配置数据。
32.根据权利要求20-26任一所述的装置,其特征在于,所述第一系统配置包括有条件的逻辑系统配置数据,所述生成模块,用于响应于条件满足,生成所述有条件的逻辑系统配置数据;
所述管理模块,还用于响应于所述条件不满足,将所述有条件的逻辑系统配置数据从所述系统配置数据集中删除,不删除所述运行配置数据集中所述有条件的逻辑系统配置数据。
33.根据权利要求20-26任一所述的装置,其特征在于,所述第二存储模块,还用于通过运行在所述通信设备上的操作系统加载启动配置数据,所述启动配置数据包括第二系统配置数据和用户配置数据;将所述第二系统配置数据和用户配置数据存入所述运行配置数据集中。
34.根据权利要求33所述的装置,其特征在于,所述第二存储模块,用于响应于所述运行配置数据集中存储有所述第二系统配置数据,且所述第一系统配置数据与所述第二系统配置数据不一致,将所述第一系统配置数据导入到运行配置数据集中。
35.根据权利要求33所述的装置,其特征在于,所述管理模块,还用于响应于所述运行配置数据集中存储有所述第二系统配置数据,且所述第一系统配置数据与所述第二系统配置数据一致,将所述第一系统配置数据从所述运行配置数据集中删除。
36.根据权利要求20-26、34、35任一所述的装置,其特征在于,所述生成模块,还用于生成所述通信设备的第三系统配置数据;
所述第一存储模块,还用于将所述第三系统配置数据存储至所述系统配置数据集中;
所述第二存储模块,还用于响应于所述第三系统配置数据与所述第一系统配置数据一致,不将所述第三系统配置数据导入到所述运行配置数据集中。
37.根据权利要求20-26、34、35任一所述的装置,其特征在于,所述不可被用户更改,包括不可被用户通过网络配置协议NETCONF、表现层状态转换协议RESTCONF和命令行CLI进行更改。
38.根据权利要求20-26、34、35任一所述的装置,其特征在于,所述装置,还包括:
第三存储模块,用于将所述系统配置数据集中的第一系统配置数据导入到候选配置数据集中,且所述第一系统配置数据在所述候选配置数据集中具有指示标记,所述指示标记用于指示所述第一系统配置数据是从所述系统配置数据集导入的。
39.一种配置数据的管理设备,其特征在于,所述设备包括:
存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求1-19中任一所述的配置数据的管理方法。
40.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-19中任一所述的配置数据的管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010209311.4A CN113438095B (zh) | 2020-03-23 | 2020-03-23 | 配置数据的管理方法、装置、设备及存储介质 |
PCT/CN2020/131895 WO2021189895A1 (zh) | 2020-03-23 | 2020-11-26 | 配置数据的管理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010209311.4A CN113438095B (zh) | 2020-03-23 | 2020-03-23 | 配置数据的管理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113438095A CN113438095A (zh) | 2021-09-24 |
CN113438095B true CN113438095B (zh) | 2022-12-02 |
Family
ID=77753282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010209311.4A Active CN113438095B (zh) | 2020-03-23 | 2020-03-23 | 配置数据的管理方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113438095B (zh) |
WO (1) | WO2021189895A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116366438A (zh) * | 2021-12-28 | 2023-06-30 | 华为技术有限公司 | 配置管理方法、装置、设备、系统、存储介质及程序产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10078656B1 (en) * | 2013-07-26 | 2018-09-18 | Amazon Technologies, Inc. | Unmodifiable data in a storage service |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687733B2 (en) * | 2001-06-01 | 2004-02-03 | Intergenix | Method and system for automatically configuring a client-server network |
US7373498B2 (en) * | 2003-12-23 | 2008-05-13 | Intel Corporation | Method and apparatus for updating a system configuration through an active or passive update |
US7383271B2 (en) * | 2004-04-06 | 2008-06-03 | Microsoft Corporation | Centralized configuration data management for distributed clients |
CN100422948C (zh) * | 2006-09-18 | 2008-10-01 | 毛国红 | 一种计算机系统或数据的恢复方法 |
US8108667B2 (en) * | 2009-01-12 | 2012-01-31 | Dell Products, Lp | System and method for configuring option ROM |
CN102369713B (zh) * | 2011-08-29 | 2014-04-02 | 华为技术有限公司 | 系统配置项的自动迁移方法和设备 |
US20140173065A1 (en) * | 2012-12-18 | 2014-06-19 | Sungard Availability Services, Lp | Automated configuration planning |
CN105653253B (zh) * | 2014-12-02 | 2020-04-24 | 中兴通讯股份有限公司 | 集中配置方法及装置 |
CN104407904B (zh) * | 2014-12-15 | 2018-01-02 | 深圳市科漫达智能管理科技有限公司 | 一种模块信息配置的方法及系统 |
CN104850449A (zh) * | 2015-05-05 | 2015-08-19 | 华为技术有限公司 | 一种系统架构的实现方法,及装置 |
CN106469155A (zh) * | 2015-08-17 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 一种基础数据处理方法、装置及系统 |
US10187255B2 (en) * | 2016-02-29 | 2019-01-22 | Red Hat, Inc. | Centralized configuration data in a distributed file system |
CN106453501B (zh) * | 2016-09-09 | 2019-05-31 | 北京奇虎科技有限公司 | 一种修改服务的配置信息的方法和装置 |
WO2018049677A1 (en) * | 2016-09-19 | 2018-03-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for network management based on netconf protocol, and associated network device |
CN108696372B (zh) * | 2017-04-06 | 2021-08-13 | 阿里巴巴集团控股有限公司 | 一种保持系统配置一致性的方法和系统 |
CN109586948A (zh) * | 2018-10-16 | 2019-04-05 | 深圳壹账通智能科技有限公司 | 更新系统配置数据的方法、装置、计算机设备和存储介质 |
CN109683911B (zh) * | 2018-12-26 | 2022-03-08 | 上海金融期货信息技术有限公司 | 一种实现自动化应用部署及影响分析的系统 |
CN110196725A (zh) * | 2019-04-23 | 2019-09-03 | 平安科技(深圳)有限公司 | 配置文件管理方法、装置、计算机设备及存储介质 |
-
2020
- 2020-03-23 CN CN202010209311.4A patent/CN113438095B/zh active Active
- 2020-11-26 WO PCT/CN2020/131895 patent/WO2021189895A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10078656B1 (en) * | 2013-07-26 | 2018-09-18 | Amazon Technologies, Inc. | Unmodifiable data in a storage service |
Also Published As
Publication number | Publication date |
---|---|
CN113438095A (zh) | 2021-09-24 |
WO2021189895A1 (zh) | 2021-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3701741B1 (en) | Network slice management | |
US10776104B2 (en) | Systems and methods for tracking configuration file changes | |
US20230275815A1 (en) | Method and device for terminal device management based on right control | |
US10656935B2 (en) | Maintaining and updating software versions via hierarchy | |
CN111130825B (zh) | 网络切片模板生成方法、装置、设备及存储介质 | |
CN110719187B (zh) | 配置管理方法、系统及计算机可读存储介质 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN109522043B (zh) | 一种配置数据的管理方法、装置及存储介质 | |
US10148486B2 (en) | Object version management | |
US10868721B2 (en) | System and method for supporting a situational configuration in an application server environment | |
CN113438095B (zh) | 配置数据的管理方法、装置、设备及存储介质 | |
CN109117152B (zh) | 服务生成系统及方法 | |
CN104104701A (zh) | 在线服务的配置更新的方法和系统 | |
CN115826679A (zh) | 一种kubernetes集群中时钟源管理的方法、系统、设备及存储介质 | |
CN111181772B (zh) | 网络协议下发方法、装置及系统 | |
CN112567693A (zh) | 用于网络设备性能测量的管理模型 | |
US12073263B1 (en) | Dynamic processing of API requests | |
US20240007876A1 (en) | Restoration of a network slice | |
US20230289237A1 (en) | Automated nesting of existing stacks in a root stack within an aws environment | |
WO2021147375A1 (zh) | 数据管理方法、装置、设备、计算机可读存储介质及系统 | |
CN118282847A (zh) | 配置回退点的控制方法、装置、电子设备以及存储介质 | |
CN117519834A (zh) | 实现csi插件自定义功能的方法及系统 | |
CN114816932A (zh) | 一种算法的管理方法、系统、介质及电子设备 | |
CN116055309A (zh) | 配置管理的方法、装置、系统、存储介质及程序产品 | |
CN117786000A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |