CN112486532A - 配置文件的管理方法、装置、电子设备及存储介质 - Google Patents

配置文件的管理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112486532A
CN112486532A CN202011339907.2A CN202011339907A CN112486532A CN 112486532 A CN112486532 A CN 112486532A CN 202011339907 A CN202011339907 A CN 202011339907A CN 112486532 A CN112486532 A CN 112486532A
Authority
CN
China
Prior art keywords
data set
configuration
configuration file
version information
matching
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.)
Granted
Application number
CN202011339907.2A
Other languages
English (en)
Other versions
CN112486532B (zh
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 Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information 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 Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202011339907.2A priority Critical patent/CN112486532B/zh
Publication of CN112486532A publication Critical patent/CN112486532A/zh
Application granted granted Critical
Publication of CN112486532B publication Critical patent/CN112486532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例属于文件管理领域,公开了一种配置文件的管理方法。本发明实施例解析配置文件得到配置数据集并匹配,得到匹配关系,对所述配置数据集进行段落分组得到分组数据集,根据所述匹配关系将所述分组数据集存储至关系型数据库内,并生成所述配置文件的版本信息及每个分组数据集的版本信息,接收用户的修改指令,利用所述修改指令从所述关系型数据库中提取对应的分组数据集,当用户修改完成对应的所述分组数据集时,更新所述配置文件的版本信息及对应的所述分组数据集的版本信息。本发明还提出一种配置文件的管理装置、电子设备以及计算机可读存储介质。本发明通过匹配关系完成存储并可自动更新版本信息,可以解决配置文件管理效率低的问题。

Description

配置文件的管理方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及文件管理领域,特别涉及一种配置文件的管理的方法、装置、电子设备及存储介质。
背景技术
在软件工程领域中,开发人员常使用配置文件进行软件开发,其中配置文件是一种计算机文件,可以作为软件程序的配置参数和初始设置。
发明人发现,现有对配置文件管理的技术方案,均以解决管理人员的工作需求为出发点,主要着眼于解决配置文件创建完成后的权限分配、服务器分发等功能,而对配置文件的匹配、存储至数据库及版本维护时多以人工和计算机配合完成,缺乏统一协调的自动化管理方法,进而出现配置文件管理中人为干预多,对于配置文件管理效率低的现象。
发明内容
本发明实施方式的目的在于提供一种配置文件的管理方法、装置、电子设备及存储介质,可以解决配置文件管理人为干预多,对于配置文件管理效率低的现象。
为解决上述技术问题,本发明的实施方式提供了一种配置文件的管理方法,所述方法包括:
解析配置文件得到配置数据集,其中,所述配置数据集包括键值对、注释信息及组注释信息;
对所述键值对、所述注释信息及所述组注释信息进行匹配,得到匹配关系;
对所述键值对、所述注释信息及所述组注释信息进行分组,得到多个分组数据集,根据所述匹配关系,将多个所述分组数据集存储至关系型数据库内,并生成所述配置文件的版本信息及每个分组数据集的版本信息;
当用户修改指定的分组数据集时,更新所述配置文件的版本信息及指定的所述分组数据集的版本信息。
为了解决上述问题,本发明还提供一种配置文件的管理装置,所述装置包括:
解析模块,用于解析配置文件得到配置数据集,其中,所述配置数据集包括键值对、注释信息及组注释信息;
匹配模块,用于对所述键值对、所述注释信息及所述组注释信息进行匹配,得到匹配关系;
存储模块,用于对所述键值对、所述注释信息及所述组注释信息进行分组,得到多个分组数据集,根据所述匹配关系,将多个所述分组数据集存储至关系型数据库内,并生成所述配置文件的版本信息及每个分组数据集的版本信息;
管理模块,用于接收用户的修改指令,利用所述修改指令从所述关系型数据库中提取对应的分组数据集,当用户修改完成对应的所述分组数据集时,更新所述配置文件的版本信息及对应的所述分组数据集的版本信息。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的配置文件的管理方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的配置文件的管理方法。
本发明实施例通过解析配置文件得到与配置文件对应的配置数据集,对配置数据集与存储字段集进行匹配得到匹配关系,并同时对配置数据集进行分组,根据匹配关系和分组结果,完成对配置数据集的存储,并根据用户修改完成的分组数据集,更新所述配置文件的版本信息及对应的所述分组数据集的版本信息,可见本发明实施例并非直接对配置文件进行存储,而是先解析出配置文件的配置数据集,因配置数据集是从配置文件解析出来,故配置数据集的数据量一般小于配置文件的数据量,根据数据越小存储速度越快的数据库存储理论,因此存储配置数据集可提高存储速度,提高了对配置文件的管理效率,另外本发明实施例中,存储分组数据集时会自动生成配置文件的版本信息及每个分组数据集的版本信息,同时自动更新配置文件的版本信息及对应的分组数据集的版本信息,防止人为干预时版本信息紊乱的现象,因此本发明可以提高配置文件的管理效率。
另外,所述对所述配置数据集进行段落分组,得到分组数据集之后,所述配置文件的管理方法还包括:
记录所述配置文件的版本信息及所述分组数据集内每个配置数据的版本信息;
根据预设的变更逻辑规则变更所述配置文件的版本信息及所述分组数据集内每个配置数据的版本信息。
本发明实施例在存储分组数据集的同时,还记录每个配置数据的版本信息,并根据变更逻辑规则,管理每个配置数据的版本信息及对应的配置文件的版本信息,相比于单一的管理配置文件的版本信息来说,本发明进一步开拓了对配置文件下的配置数据版本信息的管理,提高了对配置文件管理的深度。
另外,所述根据所述匹配关系,将所述分组数据集存储至关系型数据库后,所述
对所述键值对、所述注释信息及所述组注释信息进行分组,得到多个分组数据集,包括:
获取所述配置数据集内每个键值对所在的关联字段;
根据所述关联字段对所述配置数据集进行分组,得到多个所述分组数据集。
另外,所述解析配置文件得到配置数据集,包括:
逐行扫描所述配置文件,并记录所述配置文件内各行信息在配置文件内的先后顺序;
通过预构建的拆分符,将逐行扫描的数据按照所述先后顺序,拆分成不同字段并汇总所述不同字段得到配置数据集。
另外,所述预构建的拆分符包括:注释行头部字符串、注释行间隔符、配置数据间隔符。
本发明实施例逐行扫描并记录逐行扫描内各行信息在配置文件内的先后顺序,并通过先后顺序重新汇总各行信息得到配置数据集,因此解析过程中不会打乱配置文件内信息的顺序,更真实的还原出配置文件,防止存储至数据库中的配置数据因顺序原因而无法还原。
另外,所述对所述键值对、所述注释信息及所述组注释信息进行匹配,得到匹配关系,包括:
将所述配置数据集划分为有序数据集及无序数据集;
对所述有序数据集与预先构建的存储字段集进行顺序匹配,对所述无序数据集与所述存储字段集进行正则匹配;
汇总顺序匹配及正则匹配的匹配结果,得到所述匹配关系。
本发明实施例对不同的配置数据集采用不同的匹配策略,因匹配策略与配置数据之间进行了合理的搭配,提高了匹配速度,节省在匹配过程中计算资源的消耗。
另外,所述生成所述配置文件的版本信息及每个分组数据集的版本信息之后,该方法还包括:
接收待校验配置文件,判断所述待校验配置文件,与所述关系型数据库中对应的分组数据集,在键值对及版本信息上是否相同;
若键值对及版本信息存在不相同,利用所述待校验配置文件更新所述分组数据集。
本发明实施例可自动校验两份配置文件的异同点,提高对配置文件的管理效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明第一实施例提供的配置文件的管理方法流程示意图;
图2为本发明第一实施例提供的配置文件的管理方法中多个配置数据的示例图;
图3为本发明第一实施例提供的配置文件的管理方法中S1的详细流程示意图;
图4为本发明第一实施例提供的配置文件的管理方法中单个配置数据的示例图;
图5为本发明第一实施例提供的配置文件的管理方法中S2的详细流程示意图;
图6为本发明第一实施例提供的配置文件的管理方法中关键字分组的详细流程示意图;
图7为本发明第一实施例提供的配置文件的管理方法中版本链路的示例图;
图8为本发明第二实施例提供的配置文件的管理装置的模块示意图;
图9为本发明第三实施例提供的实现配置文件的管理方法的电子设备的内部结构示意图;
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明实施方式涉及一种配置文件的管理方法,本实施方式的核心在于通过解析配置文件得到与配置文件对应的配置数据集,并对配置数据集进行匹配从而根据匹配关系完成存储,可以解决配置文件存储效率低的问题。下面对本实施方式的配置文件的管理实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
较佳地,本发明实施例所述配置文件的管理方法运用在软件工程领域内,在该领域内,将与软件开发中所使用的属性数据存储于文件内,从而得到配置文件,为了方便对配置文件进行增删等操作,一般将配置文件独立于软件工程代码之外进行存储。本发明实施例所述配置文件的管理方法的第一实施方式具体实施方式可参阅图1所示的流程图,包括:
S1、解析配置文件得到配置数据集,其中,所述配置数据集包括键值对、注释信息及组注释信息。
较佳地,所述键值对包括配置数据主键(简称key)、数据值(简称value),且键值对在配置文件中的展现格式一般由研发框架决定,以软件开发常使用的spring研发框架为例,一般为“key=value”的展现格式。
所述注释信息(简称note)主要用于配置文件中配置数据主键key、数据值value的说明,以便后续开发人员等维护、变更,同时为了更好的记录配置数据的属性以及变更记录、版本等信息。所述注释信息note通过特定分隔符将不同属性信息记录在一起,共同描述一个配置数据的信息,包括,但不限于配置文件的创建时间、创建人、变更时间、变更人、变更原因、归属业务等注释信息。所述组注释信息(简称group-note)为记录归属于同一类业务功能的多个配置数据。本发明实施例的其中一个示例中,配置数据集示意图请参阅图2所示,包括group-note1、group-note2等多个组注释信息group-note。每一个组注释信息group-note均包含多个note,以及多个key=value。
本发明较佳实施例中,将配置数据主键key、数据值value、注释信息note及组注释信息group-note,均作为配置文件中基本配置单元的一部分,后续关于对配置文件的管理,也主要涉及到对配置数据主键key、数据值value、注释信息note及组注释信息group-note的管理。
详细地,参阅图3所示,本发明所述解析配置文件得到配置数据集,包括:
S11、逐行扫描所述配置文件,并记录所述配置文件内各行信息在配置文件内的先后顺序;
S12、通过预构建的拆分符,将逐行扫描的数据按照所述先后顺序,拆分成不同字段并汇总得到配置数据集。
本发明实施例中,预定的拆分符包括注释行头部字符串、注释行间隔符、配置数据间隔符等,从而分割出一个个单个配置数据,其中单个配置数据的形式可参阅图4所示,包括配置数据主键key、数据值value、注释信息note,汇总每个配置数据从而得到配置数据集。
S2、对所述键值对、所述注释信息及所述组注释信息进行匹配,得到匹配关系。
本发明实施例中,利用预先构建的存储字段集,与所述键值对、所述注释信息及所述组注释信息进行匹配。所述存储字段集是用户预先在数据库内开辟出的若干数量的存储空间,并同时命名所开辟的存储空间,而该命名即存储字段。
详细地,参阅图5所示,所述S2包括:
S21、将所述配置数据集划分为有序数据集及无序数据集;
S22、对所述有序数据集与预先构建的存储字段集进行顺序匹配,对所述无序数据集与所述存储字段集进行正则匹配;
S23、汇总顺序匹配及正则匹配的匹配结果,得到所述匹配关系。
其中,所述有序数据集是按照用户预定的字段顺序进行注释的数据集,所述无序数据集与有序数据集对应。
此外,所述顺序匹配是指按照用户预定的字段顺序,将相应的配置数据按顺序与所述存储字段集进行匹配,如假定存储字段集按序分别为param_1,param_2,……,param_n,并与对应的key、value、note_1、……、note_n进行匹配,从而完成顺序匹配。所述正则匹配是指按照预先自定义的正则匹配符,如将所述存储字段集与注释信息进行匹配,由此获取当前期显示的注释信息,如记录配置文件的变更时间注释信息“2019-01-01”,可以通过“^(((?:19|20)\d\d)-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]))$”等正则表达自动识别数据特征,自动与存储字段“updateDate”匹配。
详细地,如上所述,在配置数据集内的每个配置数据,一般都包括配置数据主键key、数据值value、注释信息note及组注释信息group-note。如需要将注释信息note进行匹配时,可将注释信息note划分为不同的注释字段,并根据用户预先设定在关系型数据库内的存储字段,依次匹配每个注释字段。其中,当注释字段是按照用户预定的字段顺序进行注释时,可采取顺序匹配,即按照注释字段的先后顺序自动匹配配置数据与存储字段;而对于一些特殊字符,如当前日期显示的注释字段,或配置数据的创建或变更时间的注释字段等,由于不属于有序的注释字段,故可采取正则匹配得到匹配关系。
由上所述可知,本发明实施例通过顺序匹配以及正则匹配,得到配置数据集内每个配置数据与预构建的存储字段之间的匹配关系。
S3、对所述键值对、所述注释信息及所述组注释信息进行分组,得到多个分组数据集,根据所述匹配关系,将多个所述分组数据集存储至关系型数据库内,并生成所述配置文件的版本信息及每个分组数据集的版本信息。
详细地,可采用段落分组的方法,对所述对所述键值对、所述注释信息及所述组注释信息进行分组,详细地,所述段落分组,包括:根据所述配置数据集内每个配置数据所在的组注释信息,对所述匹配数据集进行分组,得到多个所述分组数据集。
由上述S1所述可知,组注释信息记录了归属于同一类业务功能的多个配置数据,故通过组注释信息可将配置数据集进行合理分组。进一步地,参阅图2所示,本发明实施例可将同属于group_note_1组注释信息下的a.b.key1、a.b.key2等作为配置数据主键,是同一个分组下的分组数据,同属于group_note_2组注释信息下的x.y.key3、x.y.key4、x.y.key5等作为配置数据主键,是另一个分组下的分组数据,从而实现分组得到分组数据集。
本发明另一较佳实施例中,所述段落分组还可以被替换为关键字分组得到分组数据集。详细地,参阅图6所示,所述对所述配置数据集进行关键字分组得到分组数据集,包括:
S311、获取所述配置数据集内每个键值对所在的关联字段;
S312、根据所述关联字段对所述配置数据集进行分组,得到多个所述分组数据集。
本发明较佳实施例中,利用键值对中配置数据主键的关联字段进行分组,其中配置数据主键一般由多个关联字段共同拼接而成,如上述配置数据主键a.b.key1,若以组注释信息group-note作为a.b.key1的前缀时,a.b.key1则应该表示为group_note_1.a.b.key1,其中group_note_1称为配置数据主键的前置关联字段,本发明实施例根据各配置数据的前置关联字段是否相同,来判定各配置数据之间是否具有相关业务关联关系,如两个配置数据内的配置数据主键所包括的前置关联字段相同,则代表这两个配置数据具有相同的相关业务关联关系,则通过关键字分组被划分为相同分组,若两个配置数据内的配置数据主键所包括的前置关联字段不相同,则代表这两个配置数据具有不同的相关业务关联关系,则通过关键字分组被划分为不相同的两个分组。例如有两个配置数据,其对应的配置数据主键分别为“user.login.username.token”与“user.login.password”,其中“user.login.username.token”表示“用户功能模块下、登陆功能下、用户名信息的校验token”、“user.login.password”表示“用户功能模块下、登陆功能下、用户验证密码”,则可认为二者属于同一类业务功能,即用户功能模块下的登陆功能业务功能,从而完成分组得到分组数据集。
同时根据上述S2所述可知,配置数据集内每个配置数据与存储字段之间具有匹配关系,而分组数据集是通过对配置数据集的分组得到的,因此分组数据集与存储字段之间同样具有匹配关系。当存储字段集被存储于关系型数据库时,通过该匹配关系,可依次在关系型数据库内,将分组数据集内的配置数据存储于对应的存储字段内。
进一步地,当分组数据集内存储至关系型数据库内成功时,会生成每个分组数据集的版本信息,及每个分组数据集所在的配置文件的版本信息。
S4、接收用户的修改指令,利用所述修改指令从所述关系型数据库中提取对应的分组数据集,当用户修改完成对应的所述分组数据集时,更新所述配置文件的版本信息及对应的所述分组数据集的版本信息。
本发明较佳实施例中,所述修改对应的分组数据集包括根据用户指令,对所述关系型数据库内对应的所述分组数据集执行新增、删除及变更的操作。
详细地,除所述新增、删除及变更的操作外,还包括查看分组数据集操作,但新增、删除及变更的操作,会改变更新配置文件的版本信息及指定的分组数据集的版本信息,而查看分组数据集操作,配置文件的版本信息及分组数据集的版本信息维持不变。
其中所述用户指令包括“新增指令”、“删除指令”、“变更指令”及“查看指令”等。详细地,所述“新增指令”是在关系型数据库内新增对应的配置数据,包括新增配置数据主键、数据值、注释信息及组注释信息等;所述“删除指令”是对关系型数据库内的配置数据进行对应删除。所述“变更指令”是在关系型数据库内,先将配置数据删除,再以变更的目标配置数据存储至被删除的配置数据的存储空间内,其中删除的配置数据和变更的目标配置数据,具有相同的配置数据主键;所述“查看指令”包括以可视化的形式展现配置数据。
本发明较佳实施中,通过上述匹配关系,依次在关系型数据库内,将分组数据集内的配置数据,存储于对应的存储字段的同时,生成所述配置文件的版本信息,及所述分组数据集的版本信息,当用户修改指定的分组数据集时,根据预设的变更逻辑规则,更新所述配置文件的版本信息及指定的所述分组数据集的版本信息。
为了进一步解释所述变更逻辑规则,现假定有ED.A、ED.B两个存储字段,其中ED.A记录了配置文件的版本信息,ED.B记录了存储在该存储字段内配置数据的版本信息。当ED.A生成新版本的配置文件时,同时更新ED.B内配置数据的版本信息;当ED.B内配置数据被删除或变更等操作时,由于需要完整记录每一个配置数据的版本信息变更流程,本发明较佳实施例先将ED.B内的配置数据删除,再创建具有新版本信息的配置数据,因此任一配置文件中的配置数据,均可拥有一条属于自己的从创建到消亡的版本链路。
进一步地,为了更好的解释版本链路,请参阅图7所示关于版本链路的示例图,现设定三个配置数据X、Y、Z都依次存储于ED.B内,且图7中每一行流程均代表一个配置数据的版本链路。其中,配置数据X在四次版本变更阶段中具有四个配置文件的版本信息,同时在ED.B内关于自身配置数据也有四个版本信息;配置数据Y在三次版本变更阶段中,先后具有三个配置文件版本信息的变更,但仅在第一、三个变更阶段中发生自身配置数据的版本变更,因此自身版本信息仅有两个版本;配置数据Z和配置数据X的变更相似,在三次版本变更阶段中,配置文件的版本信息及自身配置数据的版本信息每次均获得变更,因此各有三个变更版本。
故根据上述可知,当存储分组数据集内的配置数据至关系型数据库的同时,可同时根据所述变更逻辑规则,变更配置文件的版本信息及所述分组数据集内每个配置数据的版本信息,进一步优化了对配置文件的管理。
本发明较佳实施例中,还包括将正在开发或测试等阶段内的软件工程中所使用的配置文件,与存储至关系型数据库中的配置数据进行校验,从而当在软件开发测试等阶段发生错误时,帮助用户确认是否为配置文件内的数据有误。
详细地,所述校验包括:接收待校验配置文件,判断所述待校验配置文件,与所述关系型数据库中对应的分组数据集,在键值对及版本信息上是否相同,若键值对及版本信息均相同,则返回校验一致结果,若键值对及版本信息存在不相同,利用所述待校验配置文件更新所述分组数据集。
如校验待校验配置文件与关系型数据库中分组数据集的数据主键key和数据值value上是否存在差异、版本信息是否存在差异等,从而根据该差异性完成配置文件的纠正,完善配置文件的管理。
本发明实施例通过分析配置文件的键值对、注释信息及组注释信息,完成了对配置文件的匹配、存储、增删改查以及版本更替的记录,达到了对配置文件进行管理的目的。
如图8所示,是本发明配置文件的管理装置的功能模块图。
本发明所述配置文件的管理装置100可以安装于电子设备中。根据实现的功能,所述配置文件的管理装置可以包括解析模块101、匹配模块102、存储模块103及管理模块104。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
解析模块101,用于解析配置文件得到配置数据集,其中,所述配置数据集包括键值对、注释信息及组注释信息。
匹配模块102,用于对所述键值对、所述注释信息及所述组注释信息进行匹配,得到匹配关系。
存储模块103,用于对所述键值对、所述注释信息及所述组注释信息进行分组,得到多个分组数据集,根据所述匹配关系,将多个所述分组数据集存储至关系型数据库内,并生成所述配置文件的版本信息及每个分组数据集的版本信息。
管理模块104,用于接收用户的修改指令,利用所述修改指令从所述关系型数据库中提取对应的分组数据集,当用户修改完成对应的所述分组数据集时,更新所述配置文件的版本信息及对应的所述分组数据集的版本信息。
本申请所提供的装置中的模块能够在使用时基于与上述的配置文件的管理方法,通过解析配置文件得到与配置文件对应的配置数据集,并对配置数据集进行匹配从而根据匹配关系完成存储,并自动更新版本信息,可以解决配置文件管理效率低的问题。
如图9所示,是本发明实现配置文件的管理方法的电子设备的结构示意图。
所述电子设备1可以包括处理器12、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器12上运行的计算机程序,如配置文件的管理程序110。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如配置文件的管理程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器12在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器12是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行配置文件的管理程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器12等之间的连接通信。
图9仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图9示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的请求配置文件的管理程序12是多个指令的组合,在所述处理器10中运行时,可以实现与上述方法项相同的技术实施手段,在此不再赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
所述计算机可读存储介质上存储有配置文件的管理程序,所述配置文件的管理程序可被一个或多个处理器执行,以实现如下操作:
解析配置文件得到配置数据集,其中,所述配置数据集包括键值对、注释信息及组注释信息;
对所述键值对、所述注释信息及所述组注释信息进行匹配,得到匹配关系;
对所述键值对、所述注释信息及所述组注释信息进行分组,得到多个分组数据集,根据所述匹配关系,将多个所述分组数据集存储至关系型数据库内,并生成所述配置文件的版本信息及每个分组数据集的版本信息;
接收用户的修改指令,利用所述修改指令从所述关系型数据库中提取对应的分组数据集,当用户修改完成对应的所述分组数据集时,更新所述配置文件的版本信息及对应的所述分组数据集的版本信息。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种配置文件的管理方法,其特征在于,所述方法包括:
解析配置文件得到配置数据集,其中,所述配置数据集包括键值对、注释信息及组注释信息;
对所述键值对、所述注释信息及所述组注释信息进行匹配,得到匹配关系;
对所述键值对、所述注释信息及所述组注释信息进行分组,得到多个分组数据集,根据所述匹配关系,将多个所述分组数据集存储至关系型数据库内,并生成所述配置文件的版本信息及每个分组数据集的版本信息;
接收用户的修改指令,利用所述修改指令从所述关系型数据库中提取对应的分组数据集,当用户修改完成对应的所述分组数据集时,更新所述配置文件的版本信息及对应的所述分组数据集的版本信息。
2.根据权利要求1所述的配置文件的管理方法,其特征在于,所述对所述配置数据集进行段落分组,得到分组数据集之后,该方法还包括:
记录所述配置文件的版本信息及所述分组数据集内每个配置数据的版本信息;
根据预设的变更逻辑规则变更所述配置文件的版本信息及所述分组数据集内每个配置数据的版本信息。
3.根据权利要求1所述的配置文件的管理方法,其特征在于,所述对所述键值对、所述注释信息及所述组注释信息进行分组,得到多个分组数据集,包括:
获取所述配置数据集内每个键值对所在的关联字段;
根据所述关联字段对所述配置数据集进行分组,得到多个所述分组数据集。
4.根据权利要求1所述的配置文件的管理方法,其特征在于,所述解析配置文件得到配置数据集,包括:
逐行扫描所述配置文件,并记录所述配置文件内各行信息在配置文件内的先后顺序;
通过预构建的拆分符,将逐行扫描的数据按照所述先后顺序,拆分成不同字段并汇总所述不同字段得到配置数据集。
5.根据权利要求1所述的配置文件的管理方法,其特征在于,所述预构建的拆分符包括:注释行头部字符串、注释行间隔符、配置数据间隔符。
6.根据权利要求1所述的配置文件的管理方法,其特征在于,所述对所述键值对、所述注释信息及所述组注释信息进行匹配,得到匹配关系,包括:
将所述配置数据集划分为有序数据集及无序数据集;
对所述有序数据集与预先构建的存储字段集进行顺序匹配,对所述无序数据集与所述存储字段集进行正则匹配;
汇总顺序匹配及正则匹配的匹配结果,得到所述匹配关系。
7.根据权利要求6所述的配置文件的管理方法,其特征在于,所述生成所述配置文件的版本信息及每个分组数据集的版本信息之后,该方法还包括:
接收待校验配置文件,判断所述待校验配置文件,与所述关系型数据库中对应的分组数据集,在键值对及版本信息上是否相同;
若键值对及版本信息存在不相同,利用所述待校验配置文件更新所述分组数据集。
8.一种配置文件的管理装置,其特征在于,所述装置包括:
解析模块,用于解析配置文件得到配置数据集,其中,所述配置数据集包括键值对、注释信息及组注释信息;
匹配模块,用于对所述键值对、所述注释信息及所述组注释信息进行匹配,得到匹配关系;
存储模块,用于对所述键值对、所述注释信息及所述组注释信息进行分组,得到多个分组数据集,根据所述匹配关系,将多个所述分组数据集存储至关系型数据库内,并生成所述配置文件的版本信息及每个分组数据集的版本信息;
管理模块,用于接收用户的修改指令,利用所述修改指令从所述关系型数据库中提取对应的分组数据集,当用户修改完成对应的所述分组数据集时,更新所述配置文件的版本信息及对应的所述分组数据集的版本信息。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的配置文件的管理方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的配置文件的管理方法。
CN202011339907.2A 2020-11-25 2020-11-25 配置文件的管理方法、装置、电子设备及存储介质 Active CN112486532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011339907.2A CN112486532B (zh) 2020-11-25 2020-11-25 配置文件的管理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011339907.2A CN112486532B (zh) 2020-11-25 2020-11-25 配置文件的管理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112486532A true CN112486532A (zh) 2021-03-12
CN112486532B CN112486532B (zh) 2024-04-09

Family

ID=74934329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011339907.2A Active CN112486532B (zh) 2020-11-25 2020-11-25 配置文件的管理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112486532B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925737A (zh) * 2021-03-30 2021-06-08 上海西井信息科技有限公司 Pci异构系统数据融合方法、系统、设备及存储介质
CN113190265A (zh) * 2021-05-17 2021-07-30 上海云扩信息科技有限公司 一种基于Git的配置生成方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120226658A1 (en) * 2011-03-04 2012-09-06 Red Hat, Inc. Data model versioning for document databases
US20140245292A1 (en) * 2013-02-25 2014-08-28 International Business Machines Corporation Automated Application Reconfiguration
CN104298686A (zh) * 2013-07-18 2015-01-21 深圳市腾讯计算机系统有限公司 修改服务器配置文件的方法和装置
US9009358B1 (en) * 2008-09-23 2015-04-14 Western Digital Technologies, Inc. Configuring a data storage device with a parameter file interlocked with configuration code
CN105022739A (zh) * 2014-04-21 2015-11-04 腾讯科技(北京)有限公司 数据的存储方法及装置
CN107203748A (zh) * 2017-05-18 2017-09-26 南京大学 一种基于内容的网页笔记存储、匹配和还原的方法和装置
CN109358869A (zh) * 2018-09-03 2019-02-19 中国平安人寿保险股份有限公司 配置文件修改方法、装置、计算机设备和存储介质
US20200192875A1 (en) * 2018-12-17 2020-06-18 Sap Se Documenting modifications to configuration file
CN111651405A (zh) * 2020-04-28 2020-09-11 中国平安财产保险股份有限公司 配置文件管理方法、装置、设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009358B1 (en) * 2008-09-23 2015-04-14 Western Digital Technologies, Inc. Configuring a data storage device with a parameter file interlocked with configuration code
US20120226658A1 (en) * 2011-03-04 2012-09-06 Red Hat, Inc. Data model versioning for document databases
US20140245292A1 (en) * 2013-02-25 2014-08-28 International Business Machines Corporation Automated Application Reconfiguration
CN104298686A (zh) * 2013-07-18 2015-01-21 深圳市腾讯计算机系统有限公司 修改服务器配置文件的方法和装置
CN105022739A (zh) * 2014-04-21 2015-11-04 腾讯科技(北京)有限公司 数据的存储方法及装置
CN107203748A (zh) * 2017-05-18 2017-09-26 南京大学 一种基于内容的网页笔记存储、匹配和还原的方法和装置
CN109358869A (zh) * 2018-09-03 2019-02-19 中国平安人寿保险股份有限公司 配置文件修改方法、装置、计算机设备和存储介质
US20200192875A1 (en) * 2018-12-17 2020-06-18 Sap Se Documenting modifications to configuration file
CN111651405A (zh) * 2020-04-28 2020-09-11 中国平安财产保险股份有限公司 配置文件管理方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925737A (zh) * 2021-03-30 2021-06-08 上海西井信息科技有限公司 Pci异构系统数据融合方法、系统、设备及存储介质
CN113190265A (zh) * 2021-05-17 2021-07-30 上海云扩信息科技有限公司 一种基于Git的配置生成方法
CN113190265B (zh) * 2021-05-17 2023-12-15 上海云扩信息科技有限公司 一种基于Git的配置生成方法

Also Published As

Publication number Publication date
CN112486532B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
WO2021189899A1 (zh) 链路状态的追踪方法、装置、电子设备及计算机存储介质
CN112115152B (zh) 数据增量更新及查询方法、装置、电子设备及存储介质
WO2021086735A1 (en) Document annotation based on enterprise knowledge graph
CN112486532B (zh) 配置文件的管理方法、装置、电子设备及存储介质
CN112506486A (zh) 搜索系统建立方法、装置、电子设备及可读存储介质
CN114610747A (zh) 数据查询方法、装置、设备及存储介质
CN114185895A (zh) 数据导入导出方法、装置、电子设备及存储介质
JP2017068293A (ja) テストdbデータ生成方法及び装置
CN112486957B (zh) 数据库迁移检测方法、装置、设备及存储介质
CN113849520B (zh) 异常sql的智能识别方法、装置、电子设备及存储介质
CN114610959B (zh) 数据处理方法、装置、设备及存储介质
CN115086047B (zh) 接口鉴权方法、装置、电子设备及存储介质
CN115062023A (zh) 宽表优化方法、装置、电子设备及计算机可读存储介质
CN114116673A (zh) 基于人工智能的数据迁移方法及相关设备
CN114510400A (zh) 任务执行方法、装置、电子设备及存储介质
CN115495620A (zh) 基于图结构的数据管理方法及相关设备
CN114528593A (zh) 数据权限控制方法、装置、设备及存储介质
CN114356379A (zh) 基于备份的服务升级方法、装置、设备及存储介质
CN104881455B (zh) 一种基于mysql的结构差异处理方法及系统
CN114490137A (zh) 业务数据实时统计方法、装置、电子设备及可读存储介质
CN113254446A (zh) 数据融合方法、装置、电子设备及介质
CN113051171A (zh) 接口测试方法、装置、设备及存储介质
CN113434397A (zh) 任务系统的测试方法、装置、电子设备及存储介质
CN112686759A (zh) 对账监测方法、装置、设备及介质
CN112667244A (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