CN112988280B - 一种配置数据处理方法及装置 - Google Patents

一种配置数据处理方法及装置 Download PDF

Info

Publication number
CN112988280B
CN112988280B CN202110435576.0A CN202110435576A CN112988280B CN 112988280 B CN112988280 B CN 112988280B CN 202110435576 A CN202110435576 A CN 202110435576A CN 112988280 B CN112988280 B CN 112988280B
Authority
CN
China
Prior art keywords
configuration
configuration item
version number
item
metadata
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
Application number
CN202110435576.0A
Other languages
English (en)
Other versions
CN112988280A (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.)
Mashang Xiaofei Finance Co Ltd
Original Assignee
Mashang Xiaofei Finance 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 Mashang Xiaofei Finance Co Ltd filed Critical Mashang Xiaofei Finance Co Ltd
Priority to CN202110435576.0A priority Critical patent/CN112988280B/zh
Publication of CN112988280A publication Critical patent/CN112988280A/zh
Application granted granted Critical
Publication of CN112988280B publication Critical patent/CN112988280B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

本发明提供一种配置数据处理方法及装置,该方法包括:确定目标版本号;从配置项元数据中获取各个配置组标识对应的第一配置项;所述第一配置项为所述配置组标识对应的配置项集合中版本号最大的配置项,所述配置项集合包括所述配置组标识对应的所有配置项中版本号小于或等于所述目标版本号的配置项;从所述各个配置组标识对应的第一配置项中获取与所述目标版本号对应的配置项,所述目标版本号对应的配置项包括操作类型为新增的第一配置项和操作类型为修改的第一配置项。通过本发明提供的配置数据处理方法,实现了对配置数据的版本化处理,从而可以较为便捷地切换到任意版本号的配置内容,提高配置数据回滚操作的便捷性。

Description

一种配置数据处理方法及装置
技术领域
本发明涉及信息处理技术领域,尤其涉及一种配置数据处理方法及装置。
背景技术
程序的运行离不开配置数据,配置数据定义了程序逻辑的运行规则,通过在程序启动时加载配置数据或程序在运行过程中实时读取配置数据,通过配置数据的定义执行程序逻辑。程序不仅包括应用程序,还包括各种业务系统领域,如OA系统的各种工作流程、CRM系统的各种消息通知模板、营销系统的营销方案配置等。程序配置数据的大量采用给系统带来了非常大的灵活性及可定制性,推动了业务的蓬勃发展,但大部分系统的配置数据只有一份,修改了就直接生效。如果修改错误,只能通过改回去的方式将配置数据还原,如果某次系统升级,配置数据的修改点比较多,非常麻烦,也容易出错。
目前对程序配置数据的处理,一般是存储在配置文件中或数据库中,且配置数据往往仅有一份。其中,配置文件一般采用Windows系统的ini文件格式、Linux系统的Properties文件格式、json文件格式或者yaml文件格式等。采用数据库存储配置数据,一般是设计相应的配置表,将配置数据存储到对应的配置表中。程序通过读取配置文件或者数据库的配置表中的配置,实现配置数据对程序逻辑的控制。然而,上述配置数据处理方式,一旦配置数据的修改出现问题,只能通过改回去的方式将配置数据还原,这种配置数据回滚方式不仅操作不便,效率较低,还容易出错。
发明内容
本发明实施例提供一种配置数据处理方法及装置,以解决现有的配置数据回滚方式操作较为不便且效率较低的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种配置数据处理方法。该方法包括:
确定目标版本号;
从配置项元数据中获取各个配置组标识对应的第一配置项;其中,所述配置项元数据包括多个配置项,每个所述配置项均包括配置组标识、版本号、配置项标识、配置值和操作类型,所述第一配置项为所述配置组标识对应的配置项集合中版本号最大的配置项,所述配置项集合包括所述配置组标识对应的所有配置项中版本号小于或等于所述目标版本号的配置项;
从所述各个配置组标识对应的第一配置项中获取目标配置项,所述目标配置项包括操作类型为新增的第一配置项和操作类型为修改的第一配置项;
将所述目标配置项确定为所述目标版本号对应的配置内容。
第二方面,本发明实施例还提供一种配置数据处理装置。该配置数据处理装置包括:
第一确定模块,用于确定目标版本号;
第一获取模块,用于从配置项元数据中获取各个配置组标识对应的第一配置项;其中,所述配置项元数据包括多个配置项,每个所述配置项均包括配置组标识、版本号、配置项标识、配置值和操作类型,所述第一配置项为所述配置组标识对应的配置项集合中版本号最大的配置项,所述配置项集合包括所述配置组标识对应的所有配置项中版本号小于或等于所述目标版本号的配置项;
第二获取模块,用于从所述各个配置组标识对应的第一配置项中获取与所述目标版本号对应的配置项,所述目标版本号对应的配置项包括操作类型为新增的第一配置项和操作类型为修改的第一配置项。
第三方面,本发明实施例还提供一种配置数据处理装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的配置数据处理方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的配置数据处理方法的步骤。
本发明实施例中,确定目标版本号;从配置项元数据中获取各个配置组标识对应的第一配置项;其中,所述配置项元数据包括多个配置项,每个所述配置项均包括配置组标识、版本号、配置项标识、配置值和操作类型,所述第一配置项为所述配置组标识对应的配置项集合中版本号最大的配置项,所述配置项集合包括所述配置组标识对应的所有配置项中版本号小于或等于所述目标版本号的配置项;从所述各个配置组标识对应的第一配置项中获取与所述目标版本号对应的配置项,所述目标版本号对应的配置项包括操作类型为新增的第一配置项和操作类型为修改的第一配置项。通过对配置数据进行版本化处理,从而可以较为便捷地切换到任意版本号的配置内容,提高配置数据回滚操作的便捷性,此外,每个操作类型的操作均对应为一条配置项,实现了对配置数据的增量处理,进而可以在实现多个版本的配置的同时减少配置数据所需的存储空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的配置数据处理方法的流程图;
图2是本发明实施例提供的配置项查询的示意图之一;
图3是本发明实施例提供的配置项查询的示意图之二;
图4是本发明实施例提供的配置数据处理装置的结构图;
图5是本发明又一实施例提供的配置数据处理装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种配置数据处理方法。参见图1,图1是本发明实施例提供的配置数据处理方法的流程图,如图1所示,包括以下步骤:
步骤101、确定目标版本号。
本实施例中,上述目标版本号可以是任意的版本号,例如,上述目标版本号可以是待回滚的版本号或者当前新生成的版本号。
对于该步骤101,例如,可以显示多个版本号,并将用户从多个版本号中选择的版本号确定为目标版本号,或者可以将版本控制元数据中的当前版本号确定为目标版本号,其中,上述版本控制元数据中的当前版本号的取值可以为待回滚的版本号或者当前新生成的版本号。
步骤102、从配置项元数据中获取各个配置组标识对应的第一配置项;其中,所述配置项元数据包括多个配置项,每个所述配置项均包括配置组标识、版本号、配置项标识、配置值和操作类型,所述第一配置项为所述配置组标识对应的配置项集合中版本号最大的配置项,所述配置项集合包括所述配置组标识对应的所有配置项中版本号小于或等于所述目标版本号的配置项。
本实施例中,上述配置组标识(即配置组ID)可以用于标识多条配置项之间的关联,例如,可以为同一配置参数对应的多个配置项设置相同的配置组标识,为不同的配置参数对应的配置项设置不同的配置组标识,这样基于该配置组标识即可以获取到同一配置参数对应的不同配置项。上述配置项标识可以是用于标识一个配置的字符串,例如,db.host,即数据库地址。上述配置值表示配置的取值,例如,对于配置项标识db.host,其配置值可以为:192.168.0.1。上述操作类型可以包括新增、修改和删除。
可选地,每个配置项还可以包括主键标识(即主键ID)和生成时间中的至少一项,其中,上述主键标识用于唯一标识配置项,不同的配置项对应的主键标识不同。上述生成时间表示其对应的配置项的生成时间,例如,可以将配置项的创建时的系统时间作为该配置项的生成时间。
示例地,各个配置项中的各个字段的相关内容可以如表1所示。
表1
Figure BDA0003032876200000041
Figure BDA0003032876200000051
对于上述步骤102,可以依据目标版本号从配置项元数据中获取各个配置组标识对应的配置项集合,其中,各个配置组标识对应的配置项集合中的每个配置项的版本均小于或等于目标版本号,并分别获取各个配置项集合中版本号最大的配置项,即第一配置项,例如,可以分别将各个配置项集合中的配置项按照版本号从大到小的顺序进行排列,并分别获取各个配置项集合中排序最靠前的配置项;或者可以分别将各个配置项集合中的配置项按照版本号从小到大的顺序进行排列,并分别获取各个配置项集合中排序最靠后的配置项。
步骤103、从所述各个配置组标识对应的第一配置项中获取与所述目标版本号对应的配置项,所述目标版本号对应的配置项包括操作类型为新增的第一配置项和操作类型为修改的第一配置项。
本实施例中,可以分别获取各个配置组标识对应的第一配置项的操作类型,并可以从中获取操作类型为新增的第一配置项以及操作类型为修改的第一配置项作为与目标版本号对应的配置项。
例如,可以遍历各个配置组标识对应的第一配置项,若当前的第一配置项操作类型为增加或者修改,则返回该第一配置项,若当前的第一配置项操作类型为删除,则不返回任何数据,并继续判断下一条配置项的操作类型,以此类推,直至遍历了所有的第一配置项,其中,上述目标版本号对应的配置项包括返回的所有的第一配置项。
以下结合图2和图3进行举例说明:
如图2所示,从版本控制元数据中获取当前版本号,从配置项元数据中按配置组ID分组获取版本号小于或等于当前版本号的配置项列表,其中,配置组ID包括配置组ID1至配置组IDn,n为正整数,并分别将各个配置组ID对应的配置项列表按照版本号从大到小的顺序排序。对于每个配置组ID,分别获取其对应的配置项列表中版本号最大的配置项,并判断该配置项的操作类型,若操作类型为新增或者修改,则将该配置项加入配置项查询结果,否则丢弃该配置项。
如图3所示,配置项元数据包括配置项A、配置项B和配置项C三个配置组标识,其中,配置项A对应5个版本的配置项,分别为配置项A_1(版本号为1,操作类型为新增)、配置项A_2(版本号为2,操作类型为修改)、配置项A_3(版本号为3,操作类型为修改)、配置项A_4(版本号为4,操作类型为修改)和配置项A_5(版本号为5,操作类型为删除),配置项B对应2个版本的配置项,分别为配置项B_1(版本号为1,操作类型为新增)、配置项A_2(版本号为3,操作类型为修改),配置项C对应1个版本的配置项,即配置项C_1(版本号为4,操作类型为新增)。
若目标版本号为5,则配置项A对应的配置项集合包括配置项A_1至配置项A_5,配置项A对应的第一配置项为配置项A_5;配置项B对应的配置项集合包括配置项B_1和配置项B_2,配置项B对应的第一配置项为配置项B_2,配置项C对应的配置项集合包括配置项C_1,配置项C对应的第一配置项为配置项C_1。由于配置项A_5的操作类型为删除,配置项B_2的操作类型为修改,配置项C_1的操作类型为新增,目标版本号对应的配置项包括配置项B_2和配置项C_1。
若目标版本号为4,则配置项A对应的配置项集合包括配置项A_1至配置项A_4,配置项A对应的第一配置项为配置项A_4;配置项B对应的配置项集合包括配置项B_1和配置项B_2,配置项B对应的第一配置项为配置项B_2,配置项C对应的配置项集合包括配置项C_1,配置项C对应的第一配置项为配置项C_1。由于配置项A_4的操作类型为修改,配置项B_2的操作类型为修改,配置项C_1的操作类型为新增,目标版本号对应的配置项包括配置项A_4、配置项B_2和配置项C_1。
若目标版本号为3,则配置项A对应的配置项集合包括配置项A_1至配置项A_3,配置项A对应的第一配置项为配置项A_3;配置项B对应的配置项集合包括配置项B_1和配置项B_2,配置项B对应的第一配置项为配置项B_2,配置项C对应的配置项集合为空集,配置项C对应的第一配置项不存在。由于配置项A_3的操作类型为修改,配置项B_2的操作类型为修改,目标版本号对应的配置项包括配置项A_3和配置项B_2。
若目标版本号为2,则配置项A对应的配置项集合包括配置项A_1至配置项A_2,配置项A对应的第一配置项为配置项A_2;配置项B对应的配置项集合包括配置项B_1,配置项B对应的第一配置项为配置项B_1,配置项C对应的配置项集合为空集,配置项C对应的第一配置项不存在。由于配置项A_2的操作类型为修改,配置项B_1的操作类型为新增,目标版本号对应的配置项包括配置项A_2和配置项B_1。
若目标版本号为1,则配置项A对应的配置项集合包括配置项A_1,配置项A对应的第一配置项为配置项A_1;配置项B对应的配置项集合包括配置项B_1,配置项B对应的第一配置项为配置项B_1,配置项C对应的配置项集合为空集,配置项C对应的第一配置项不存在。由于配置项A_1的操作类型为新增,配置项B_1的操作类型为新增,目标版本号对应的配置项包括配置项A_1和配置项B_1。
本发明实施例提供的配置数据处理方法,确定目标版本号;从配置项元数据中获取各个配置组标识对应的第一配置项;其中,所述配置项元数据包括多个配置项,每个所述配置项均包括配置组标识、版本号、配置项标识、配置值和操作类型,所述第一配置项为所述配置组标识对应的配置项集合中版本号最大的配置项,所述配置项集合包括所述配置组标识对应的所有配置项中版本号小于或等于所述目标版本号的配置项;从所述各个配置组标识对应的第一配置项中获取目标配置项,所述目标配置项包括操作类型为新增的第一配置项和操作类型为修改的第一配置项。通过对配置数据进行版本化处理,从而可以较为便捷地切换到任意版本号的配置内容,提高配置数据回滚操作的便捷性,此外,每个操作类型的操作均对应为一条配置项,实现了对配置数据的增量处理,进而可以在实现多个版本的配置的同时减少配置数据所需的存储空间。
可选地,所述方法还可以包括:
在接收到的第一输入用于新增配置项的情况下,创建第二配置项;其中,所述第二配置项的配置组标识为第一配置组标识,所述第一配置组标识与所述配置项元数据中各个配置项的配置组标识均不同,所述第二配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第二配置项的配置项标识为用户输入的第一配置项标识,所述第二配置项的配置值为用户输入的第一配置值,所述第二配置项的操作类型为新增;
将所述第二配置项添加至所述配置项元数据。
本实施例中,上述第一输入可以是对配置项新增的触发输入。例如,可以预设配置项新增控件,用于触发配置项的新增流程,这样用户在需要新增配置项的情况下可以点击上述新增控件以触发配置项的新增流程。上述第一配置组标识可以是任意的唯一标识,与配置项元数据中已有的配置组标识均不同。
上述版本控制元数据可以包括编辑版本号、最大版本号和当前版本号等。其中,上述编辑版本号可以用于表示当前正在编辑的版本号,上述编辑版本号在配置项编辑状态的取值可以为最大版本号加预设步长,在非配置项编辑状态的取值可以为预设值,表示当前未处于配置项编辑状态。实际应用中,可以在需要编辑配置项(例如,新增、修改或删除配置项)的情况下,将编辑版本号的取值设置为最大版本号加预设步长,以指示当前处于配置项编辑状态,在结束配置项编辑(例如,完成配置项编辑或者放弃配置项编辑)的情况下,可以将编辑版本号的取值设置为预设值,以指示已结束配置项编辑。需要说明的是,上述预设步长的取值和预设值均可以根据实际情况进行合理设置,例如,上述预设步长的取值可以为1或2等,上述预设值可以为0。
上述当前版本号用于表示当前使用的版本号或者当前待使用的版本号,例如,可以在提交新的配置项之后,将当前版本号设置为新生成的版本号,以切换至新生成的版本号,或者可以将当前版本号设置为待回滚的版本号,以回滚至该版本号。
示例地,各个版本控制元数据中的各个字段的相关内容可以如表2所示。
表2
Figure BDA0003032876200000081
Figure BDA0003032876200000091
上述第二配置项的配置项标识和配置值分别为用户输入的第一配置项标识和第一配置值,例如,上述第二配置项的配置项标识和配置值可以为上述第一输入中携带的配置项标识(即第一配置项标识)和配置值(即第一配置值),或者上述第二配置项的配置项标识和配置值可以是在接收到新增配置项的第一输入之后用户输入的配置项标识(即第一配置项标识)和配置值(即第一配置值)。
可选地,若第二配置项还包括主键ID和生成时间,则上述第二配置项的主键ID可以为任意与配置项元数据中已有的主键ID不同的标识。实际应用中,可以自动生成各个配置项的主键ID。上述第二配置项的生成时间可以为创建所述第二配置项时的系统时间。
示例地,第二配置项中的各个字段的相关内容可以如表3所示:
表3
字段 字段名称 字段值
id 主键ID 值惟一
group_id 配置组ID 值惟一
version 版本号 编辑版本号
action 操作类型 新增
updated_at 生成时间 当前系统时间
conf_key 配置项标识 第一配置项标识
conf_value 配置值 第一配置值
本发明实施例在接收到的第一输入用于新增配置项的情况下,创建第二配置项;其中,所述第二配置项的配置组标识为第一配置组标识,所述第一配置组标识与所述配置项元数据中各个配置项的配置组标识均不同,所述第二配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第二配置项的配置项标识为用户输入的第一配置项标识,所述第二配置项的配置值为用户输入的第一配置值,所述第二配置项的操作类型为新增;将所述第二配置项添加至所述配置项元数据,可以较为简单、便捷的实现配置项的新增。
可选地,所述方法还可以包括:
在接收到的第二输入用于修改配置项的情况下,根据所述第二输入从所述配置项元数据中确定待修改的第三配置项;
根据所述第三配置项创建第四配置项;其中,所述第四配置项的配置组标识为所述第三配置项的配置组标识,所述第四配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第四配置项的配置项标识为用户输入的第二配置项标识,所述第四配置项的配置值为用户输入的第二配置值,所述第四配置项的操作类型为修改;
将所述第四配置项添加至所述配置项元数据。
本实施例中,上述第二输入可以是对配置项修改的触发输入,例如,上述第二输入可以包括对配置项元数据中待修改的配置项的主键ID的点击输入以及对修改选项的点击输入,这样依据第二输入可以确定配置项元数据中待修改的配置项,也即第三配置项。
上述第四配置项的配置组标识为第三配置项的配置组标识,这样通过配置组标识可以关联第四配置项和第三配置项。上述第四配置项的版本号为版本控制元数据的编辑版本号,需要说明的是,本实施例中版本控制元数据的相关内容可以参见前述论述,为避免重复,在此不做赘述。
上述第四配置项的配置项标识和配置值可以分别为用户输入的第二配置项标识和第二配置值,例如,上述第四配置项的配置项标识和配置值可以为上述第二输入中携带的配置项标识(即第二配置项标识)和配置值(即第二配置值),或者上述第四配置项的配置项标识和配置值可以是在接收到新增配置项的第二输入之后用户输入的配置项标识(即第二配置项标识)和配置值(即第二配置值)。
可选地,若第四配置项还包括主键ID和生成时间,则上述第四配置项的主键ID可以为任意的唯一标识。实际应用中,可以自动生成各个配置项的主键ID。上述第四配置项的生成时间可以为创建所述第四配置项时的系统时间。
示例地,第四配置项中的各个字段的相关内容可以如表4所示:
表4
Figure BDA0003032876200000101
Figure BDA0003032876200000111
实际应用中,可以在确定第三配置项之后,从配置元数据中加载第三配置项,并创建一个新的配置项,即第四配置项,将第三配置项的各个字段复制到新的配置项中,并将新的配置项的版本号设置为编辑版本号,将新的配置项的的操作类型设置为修改(即U),将新的配置项的生成时间设置为当前系统时间,将新的配置项的配置项标识及配置值分别设置为用户输入的第二配置项标识和第二配置值,并将该新的配置项保存到配置项元数据中。
本发明实施例在接收到的第二输入用于修改配置项的情况下,根据所述第二输入从所述配置项元数据中确定待修改的第三配置项;根据所述第三配置项创建第四配置项;其中,所述第四配置项的配置组标识为所述第三配置项的配置组标识,所述第四配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第四配置项的配置项标识为用户输入的第二配置项标识,所述第四配置项的配置值为用户输入的第二配置值,所述第四配置项的操作类型为修改;将所述第四配置项添加至所述配置项元数据,可以较为简单、便捷的实现配置项的修改,此外,通过将修改实现为新增一条配置项,还便于配置数据版本化的增量处理。
可选地,所述方法还包括:
在接收到的第三输入用于删除配置项的情况下,根据所述第三输入从所述配置项元数据中确定待删除的第五配置项;
根据所述第五配置项创建第六配置项;其中,所述第六配置项的配置组标识为所述第五配置项的配置组标识,所述第六配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第六配置项的配置项标识为所述第五配置项的配置项标识,所述第六配置项的配置值为所述第五配置项的配置值,所述第六配置项的操作类型为删除;
将所述第六配置项添加至所述配置项元数据。
本实施例中,上述第三输入可以是对配置项删除的触发输入,例如,上述第三输入可以包括对配置项元数据中待删除的配置项的主键ID的点击输入以及对删除选项的点击输入,这样依据第三输入可以确定配置项元数据中待删除的配置项,也即第五配置项。
上述第六配置项的配置组标识为第五配置项的配置组标识,这样通过配置组标识可以关联第六配置项和第五配置项。上述第六配置项的版本号为版本控制元数据的编辑版本号,需要说明的是,本实施例中版本控制元数据的相关内容可以参见前述论述,为避免重复,在此不做赘述。
上述第六配置项的配置项标识为上述第五配置项的配置项标识,上述第六配置项的配置值为上述第五配置项的配置值。
可选地,若第六配置项还包括主键ID和生成时间,则上述第六配置项的主键ID可以为任意的唯一标识。实际应用中,可以自动生成各个配置项的主键ID。上述第六配置项的生成时间可以为创建所述第六配置项时的系统时间。
示例地,第六配置项中的各个字段的相关内容可以如表5所示:
表5
字段 字段名称 字段值
id 主键ID 值惟一
group_id 配置组ID 第五配置项的配置组ID
version 版本号 编辑版本号
action 操作类型 删除
updated_at 修改时间 当前系统时间
conf_key 配置项标识 第五配置项的配置项标识
conf_value 配置值 第五配置项的配置值
实际应用中,可以在确定第五配置项之后,从配置元数据中加载第五配置项,并创建一个新的配置项,即第六配置项,将第五配置项的字段复制到新的配置项中,将新的配置项的版本号设置为编辑版本号,将新的配置项的操作类型设置为删除(即D),将新的配置项的生成时间设置为当前系统时间,将新的配置项的配置项标识为及配置值分别设置为第五配置项的配置项标识为及配置值,并将该新的配置项保存到配置项元数据中。
本发明实施例在接收到的第三输入用于删除配置项的情况下,根据所述第三输入从所述配置项元数据中确定待删除的第五配置项;根据所述第五配置项创建第六配置项;其中,所述第六配置项的配置组标识为所述第五配置项的配置组标识,所述第六配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第六配置项的配置项标识为所述第五配置项的配置项标识,所述第六配置项的配置值为所述第五配置项的配置值,所述第六配置项的操作类型为删除;将所述第六配置项添加至所述配置项元数据,不仅可以较为简单、便捷的实现配置项的删除,此外,通过将删除实现为新增一条配置项,还便于配置数据版本化的增量处理。
可选地,所述方法还可以包括:
在接收到的第四输入用于提交配置项的情况下,将所述版本控制元数据的当前版本号的取值更新为所述编辑版本号,将所述最大版本号的取值更新为所述编辑版本号,将所述编辑版本号的取值更新为预设值,并在版本记录元数据中增加第一版本记录,所述第一版本记录包括发布版本号、版本发布时间和版本发布说明,所述发布版本号的取值为所述当前版本号;
在接收到的第五输入用于放弃配置项的情况下,从所述配置项元数据中删除版本号为所述编辑版本号的配置项,并将所述版本控制元数据的编辑版本号的取值更新为预设值。
本实施例中,上述第四输入可以是对配置项提交的触发输入。例如,可以预设配置项提交控件,用于触发配置项的提交流程,这样用户在需要提交配置项的情况下可以点击上述配置项提交控件以触发配置项的提交流程。
具体地,在接收到的第四输入用于提交配置项的情况下,可以先将当前版本号的取值以及最大版本号的取值均更新为编辑版本号的值,之后再将编辑版本号的取值更新为预设值,例如,0,并在版本记录元数据中增加第一版本记录,其中,第一版本记录的发布版本号的取值为当前版本号,上述版本发布时间可以为当前的系统时间,上述版本发布说明用于描述该发布版本的相关内容,例如,该发布版本涉及的相关修改。
示例地,在接收到的第四输入用于提交配置项的情况下,上述版本控制元数据的各个字段的内容可以如表6所示。
表6
字段 字段名称 字段值
current_version 当前版本号 编辑版本号的值
max_version 最大版本号 编辑版本号的值
edit_version 编辑版本号 0
示例地,上述版本记录元数据的第一版本记录的各个字段的内容可以如表7所示。
表7
Figure BDA0003032876200000141
上述第五输入可以是对放弃配置项编辑或者取消配置项编辑的触发输入。例如,可以预设配置项取消控件,用于触发配置项的取消流程,这样用户在需要取消配置项的情况下可以点击上述配置项取消控件以触发配置项的取消流程。
具体地,可以在接收到的第五输入用于放弃配置项的情况下,可以先从所述配置项元数据中删除版本号为编辑版本号的配置项,再将编辑版本号的取值更新为预设值,例如,0。
本发明实施例在接收到的第四输入用于提交配置项的情况下提交配置项,可以较为便捷地将正在编辑的版本转为当前版本并生效,在接收到的第五输入用于放弃配置项的情况下放弃编辑的配置项,这样编辑的配置项不会生效。
可选地,所述确定目标版本号,包括:
将所述版本控制元数据中的当前版本号确定为所述目标版本号。
本实施例中,可以在每次生成新的版本号之后,将版本控制元数据中的当前版本号的取值设置为新的版本号,这样通过直接读取版本控制元数据中的当前版本号即可以实现至新的版本号的配置的切换;也可以将版本控制元数据中的当前版本号的取值设置为待回滚的版本号,这样通过直接读取本控制元数据中的当前版本号即可以实现至待回滚的版本号的配置的切换,操作较为便捷。
可以理解的是,本发明实施例的各个实施方式可以根据实际需求进行任意组合。
综上可知,本发明实施例提供的配置数据处理方法,通过在配置数据上增加版本化处理的相关字段,可以实现配置数据的版本化处理,从而可以快速回滚到配置数据的任意版本,降低因修改配置数据错误而导致系统运行错误的风险,提高了系统配置数据处理的灵活性和可靠性;由于配置数据版本化,可以在配置数据生效之前,提前准备新版本的配置数据,升级时直接将新版本的配置数据生效即可,可以提高升级效率。通过把新增、修改和删除均实现为增加一条配置项的方式实现了数据版本的增量处理,通过同一份数据即可实现多版本的配置。通过在配置数据上添加关键元数据控制字段,简单直观易于实现,通用性非常强。
参见图4,图4是本发明实施例提供的配置数据处理装置的结构图。如图4所示,配置数据处理装置400包括:
第一确定模块401,用于确定目标版本号;
第一获取模块402,用于从配置项元数据中获取各个配置组标识对应的第一配置项;其中,所述配置项元数据包括多个配置项,每个所述配置项均包括配置组标识、版本号、配置项标识、配置值和操作类型,所述第一配置项为所述配置组标识对应的配置项集合中版本号最大的配置项,所述配置项集合包括所述配置组标识对应的所有配置项中版本号小于或等于所述目标版本号的配置项;
第二获取模块403,用于从所述各个配置组标识对应的第一配置项中获取与所述目标版本号对应的配置项,所述目标版本号对应的配置项包括操作类型为新增的第一配置项和操作类型为修改的第一配置项。
可选地,所述装置还包括:
第一创建模块,用于在接收到的第一输入用于新增配置项的情况下,创建第二配置项;其中,所述第二配置项的配置组标识为第一配置组标识,所述第一配置组标识与所述配置项元数据中各个配置项的配置组标识均不同,所述第二配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第二配置项的配置项标识为用户输入的第一配置项标识,所述第二配置项的配置值为用户输入的第一配置值,所述第二配置项的操作类型为新增;
第一添加模块,用于将所述第二配置项添加至所述配置项元数据。
可选地,所述装置还包括:
第二确定模块,用于在接收到的第二输入用于修改配置项的情况下,根据所述第二输入从所述配置项元数据中确定待修改的第三配置项;
第二创建模块,用于根据所述第三配置项创建第四配置项;其中,所述第四配置项的配置组标识为所述第三配置项的配置组标识,所述第四配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第四配置项的配置项标识为用户输入的第二配置项标识,所述第四配置项的配置值为用户输入的第二配置值,所述第四配置项的操作类型为修改;
第二添加模块,用于将所述第四配置项添加至所述配置项元数据。
可选地,所述装置还包括:
第三确定模块,用于在接收到的第三输入用于删除配置项的情况下,根据所述第三输入从所述配置项元数据中确定待删除的第五配置项;
第三创建模块,用于根据所述第五配置项创建第六配置项;其中,所述第六配置项的配置组标识为所述第五配置项的配置组标识,所述第六配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第六配置项的配置项标识为所述第五配置项的配置项标识,所述第六配置项的配置值为所述第五配置项的配置值,所述第六配置项的操作类型为删除;
第三添加模块,用于将所述第六配置项添加至所述配置项元数据。
可选地,所述装置还包括:
提交模块,用于在接收到的第四输入用于提交配置项的情况下,将所述版本控制元数据的当前版本号的取值更新为所述编辑版本号,将所述最大版本号的取值更新为所述编辑版本号,将所述编辑版本号的取值更新为预设值,并在版本记录元数据中增加第一版本记录,所述第一版本记录包括发布版本号、版本发布时间和版本发布说明,所述发布版本号的取值为所述当前版本号;
放弃模块,用于在接收到的第五输入用于放弃配置项的情况下,从所述配置项元数据中删除版本号为所述编辑版本号的配置项,并将所述版本控制元数据的编辑版本号的取值更新为预设值。
可选地,所述第一确定模块具体用于:
将所述版本控制元数据中的当前版本号确定为所述目标版本号。
本发明实施例提供的配置数据处理装置400能够实现上述方法实施例中的各个过程,为避免重复,这里不再赘述。
本发明实施例的配置数据处理装置400,通过对配置数据进行版本化处理,从而可以较为便捷地切换到任意版本号的配置内容,提高配置数据回滚操作的便捷性,此外,每个操作类型的操作均对应为一条配置项,实现了对配置数据的增量处理,进而可以在实现多个版本的配置的同时减少配置数据所需的存储空间。
参见图5,图5是本发明又一实施提供的配置数据处理装置的结构图,如图5所示,配置数据处理装置500包括:处理器501、存储器502及存储在所述存储器502上并可在所述处理器上运行的计算机程序,配置数据处理装置500中的各个组件通过总线接口503耦合在一起,所述计算机程序被所述处理器501执行时实现如下步骤:
确定目标版本号;
从配置项元数据中获取各个配置组标识对应的第一配置项;其中,所述配置项元数据包括多个配置项,每个所述配置项均包括配置组标识、版本号、配置项标识、配置值和操作类型,所述第一配置项为所述配置组标识对应的配置项集合中版本号最大的配置项,所述配置项集合包括所述配置组标识对应的所有配置项中版本号小于或等于所述目标版本号的配置项;
从所述各个配置组标识对应的第一配置项中获取与所述目标版本号对应的配置项,所述目标版本号对应的配置项包括操作类型为新增的第一配置项和操作类型为修改的第一配置项。
应理解的是,本发明实施例中,所述计算机程序被处理器501执行时能够实现上述配置数据处理方法实施例中的各个过程,为避免重复,这里不再赘述。
本发明实施例还提供一种配置数据处理装置,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述配置数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述配置数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (10)

1.一种配置数据处理方法,其特征在于,包括:
确定目标版本号,所述目标版本号为待回滚的版本号;
从配置项元数据中获取各个配置组标识对应的第一配置项;其中,所述配置项元数据包括多个配置项,每个所述配置项均包括配置组标识、版本号、配置项标识、配置值和操作类型,所述第一配置项为所述配置组标识对应的配置项集合中版本号最大的配置项,所述配置项集合包括所述配置组标识对应的所有配置项中版本号小于或等于所述目标版本号的配置项;所述配置组标识表示用于标识多条配置项之间的关联,同一配置参数对应的多个配置项设置相同的配置组标识,不同配置参数对应的配置项设置不同的配置组标识;
从所述各个配置组标识对应的第一配置项中获取与所述目标版本号对应的配置项,所述目标版本号对应的配置项包括操作类型为新增的第一配置项和操作类型为修改的第一配置项。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到的第一输入用于新增配置项的情况下,创建第二配置项;
其中,所述第二配置项的配置组标识为第一配置组标识,所述第一配置组标识与所述配置项元数据中各个配置项的配置组标识均不同,所述第二配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第二配置项的配置项标识为用户输入的第一配置项标识,所述第二配置项的配置值为用户输入的第一配置值,所述第二配置项的操作类型为新增;
将所述第二配置项添加至所述配置项元数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到的第二输入用于修改配置项的情况下,根据所述第二输入从所述配置项元数据中确定待修改的第三配置项;
根据所述第三配置项创建第四配置项;其中,所述第四配置项的配置组标识为所述第三配置项的配置组标识,所述第四配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第四配置项的配置项标识为用户输入的第二配置项标识,所述第四配置项的配置值为用户输入的第二配置值,所述第四配置项的操作类型为修改;
将所述第四配置项添加至所述配置项元数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到的第三输入用于删除配置项的情况下,根据所述第三输入从所述配置项元数据中确定待删除的第五配置项;
根据所述第五配置项创建第六配置项;其中,所述第六配置项的配置组标识为所述第五配置项的配置组标识,所述第六配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第六配置项的配置项标识为所述第五配置项的配置项标识,所述第六配置项的配置值为所述第五配置项的配置值,所述第六配置项的操作类型为删除;
将所述第六配置项添加至所述配置项元数据。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述方法还包括:
在接收到的第四输入用于提交配置项的情况下,将所述版本控制元数据的当前版本号的取值更新为所述编辑版本号,将所述最大版本号的取值更新为所述编辑版本号,将所述编辑版本号的取值更新为预设值,并在版本记录元数据中增加第一版本记录,所述第一版本记录包括发布版本号、版本发布时间和版本发布说明,所述发布版本号的取值为所述当前版本号;
在接收到的第五输入用于放弃配置项的情况下,从所述配置项元数据中删除版本号为所述编辑版本号的配置项,并将所述版本控制元数据的编辑版本号的取值更新为预设值。
6.根据权利要求5所述的方法,其特征在于,所述确定目标版本号,包括:
将所述版本控制元数据中的当前版本号确定为所述目标版本号。
7.一种配置数据处理装置,其特征在于,包括:
第一确定模块,用于确定目标版本号,所述目标版本号为待回滚的版本号;
第一获取模块,用于从配置项元数据中获取各个配置组标识对应的第一配置项;其中,所述配置项元数据包括多个配置项,每个所述配置项均包括配置组标识、版本号、配置项标识、配置值和操作类型,所述第一配置项为所述配置组标识对应的配置项集合中版本号最大的配置项,所述配置项集合包括所述配置组标识对应的所有配置项中版本号小于或等于所述目标版本号的配置项;所述配置组标识表示用于标识多条配置项之间的关联,同一配置参数对应的多个配置项设置相同的配置组标识,不同配置参数对应的配置项设置不同的配置组标识;
第二获取模块,用于从所述各个配置组标识对应的第一配置项中获取与所述目标版本号对应的配置项,所述目标版本号对应的配置项包括操作类型为新增的第一配置项和操作类型为修改的第一配置项。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一创建模块,用于在接收到的第一输入用于新增配置项的情况下,创建第二配置项;其中,所述第二配置项的配置组标识为第一配置组标识,所述第一配置组标识与所述配置项元数据中各个配置项的配置组标识均不同,所述第二配置项的版本号为版本控制元数据的编辑版本号,所述编辑版本号在配置项编辑状态的取值为所述版本控制元数据的最大版本号加预设步长,所述第二配置项的配置项标识为用户输入的第一配置项标识,所述第二配置项的配置值为用户输入的第一配置值,所述第二配置项的操作类型为新增;
第一添加模块,用于将所述第二配置项添加至所述配置项元数据。
9.一种配置数据处理装置,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的配置数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的配置数据处理方法的步骤。
CN202110435576.0A 2021-04-22 2021-04-22 一种配置数据处理方法及装置 Active CN112988280B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110435576.0A CN112988280B (zh) 2021-04-22 2021-04-22 一种配置数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110435576.0A CN112988280B (zh) 2021-04-22 2021-04-22 一种配置数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN112988280A CN112988280A (zh) 2021-06-18
CN112988280B true CN112988280B (zh) 2021-12-24

Family

ID=76341621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110435576.0A Active CN112988280B (zh) 2021-04-22 2021-04-22 一种配置数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN112988280B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115344585B (zh) * 2022-08-03 2024-03-19 盐城天眼察微科技有限公司 数据版本管理方法、装置以及存储介质和电子设备
CN115756554B (zh) * 2023-02-13 2023-06-30 美云智数科技有限公司 版本升级方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201591A (zh) * 2016-06-29 2016-12-07 浪潮(北京)电子信息产业有限公司 一种云管理平台的配置文件升级方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5637077B2 (ja) * 2011-06-08 2014-12-10 富士通株式会社 システムの管理装置、システムの管理方法及びシステムの管理プログラム
CN112015647A (zh) * 2020-08-27 2020-12-01 深圳壹账通智能科技有限公司 配置项监控方法、装置、计算机设备和存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201591A (zh) * 2016-06-29 2016-12-07 浪潮(北京)电子信息产业有限公司 一种云管理平台的配置文件升级方法及装置

Also Published As

Publication number Publication date
CN112988280A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN108089893B (zh) 冗余资源的确定方法、装置、终端设备与存储介质
CN112988280B (zh) 一种配置数据处理方法及装置
CN111068328B (zh) 游戏广告配置表格的生成方法、终端设备及介质
US11481440B2 (en) System and method for processing metadata to determine an object sequence
CN111008521B (zh) 生成宽表的方法、装置及计算机存储介质
CN109214785B (zh) 工作流的实现方法、服务器及系统
CN110727687A (zh) 一种物料清单转换方法及其系统
CN108446110B (zh) Lua脚本生成方法、装置、终端及计算机可读介质
CN112860953A (zh) 图数据库的数据导入方法、装置、设备及存储介质
CN110442585B (zh) 数据更新方法、数据更新装置、计算机设备及存储介质
CN115757629A (zh) 多源异构数据增量同步方法、系统、存储介质和电子设备
CN111488483B (zh) 曲库更新方法、装置、终端和非临时性计算机可读存储介质
CN113505378A (zh) 一种权限设置方法、电子设备及计算机存储介质
CN110263305B (zh) 配置文件对比方法、装置、设备及存储介质
CN109460318B (zh) 一种可回滚档案采集数据的导入方法、计算机装置及计算机可读存储介质
CN114466387B (zh) 基站的配置文件的更新方法、装置、存储介质和电子装置
CN112862399A (zh) 物料清单表的变更方法、装置、设备以及存储介质
CN114385657A (zh) 数据存储方法、装置及存储介质
CN113821249A (zh) 项目开发配置的方法、装置、电子设备和可读存储介质
CN113535727A (zh) 信息系统的数据输出方法及数据输出装置、电子设备
CN112685474A (zh) 应用管理方法、装置、设备和存储介质
CN107729013B (zh) 管理网页上操作按钮的方法和计算机可读存储介质
US8190589B2 (en) System and method for controlling access to a document being edited
CN113010230B (zh) 配置信息处理方法、装置、设备及存储介质
CN117008890B (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