CN113407209A - 一种配置数据更新方法及装置 - Google Patents
一种配置数据更新方法及装置 Download PDFInfo
- Publication number
- CN113407209A CN113407209A CN202110677566.8A CN202110677566A CN113407209A CN 113407209 A CN113407209 A CN 113407209A CN 202110677566 A CN202110677566 A CN 202110677566A CN 113407209 A CN113407209 A CN 113407209A
- Authority
- CN
- China
- Prior art keywords
- data
- configuration
- identification data
- configuration data
- tag
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000008859 change Effects 0.000 claims abstract description 22
- 238000001514 detection method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种配置数据更新方法及装置,检测第一标签配置表,第一标签配置表中存储有配置数据对应的标识数据,标识数据用于从第一配置数据表中查找配置数据;响应第一标签配置表中标识数据发生变化,确定第一标签配置表中的目标标识数据,目标标识数据为第一标签配置表中发生变化的标识数据,基于目标标识数据,从第一配置数据表中获得与目标标识数据匹配的目标配置数据,利用目标配置数据,对目标配置数据对应的第一设备进行更新,使得在第一标签配置表中的标识数据发生变化时第一设备可利用目标标识数据确定需要更新的目标配置数据,提高更新的及时性。
Description
技术领域
本申请属于数据处理技术领域,尤其涉及一种配置数据更新方法及装置。
背景技术
目前主设备和从设备更新配置数据的方式是,主设备和从设备可以在接收到消息通知后获取配置数据进行更新;主设备和从设备基于消息通知进行配置数据的更新,会因为消息的顺序性和网络可达性等潜在风险,使得配置数据更新不及时。
发明内容
有鉴于此,本申请的目的在于提供一种配置数据更新方法及装置。
一方面,本申请提供一种配置数据更新方法,所述方法包括:
检测第一标签配置表,所述第一标签配置表中存储有配置数据对应的标识数据,所述标识数据用于从第一配置数据表中查找所述配置数据,且所述配置数据的写入优先级高于所述标识数据的写入优先级;
响应所述第一标签配置表中标识数据发生变化,确定所述第一标签配置表中的目标标识数据,所述目标标识数据为所述第一标签配置表中发生变化的标识数据;
基于所述目标标识数据,从所述第一配置数据表中获得与所述目标标识数据匹配的目标配置数据;
利用所述目标配置数据,对所述目标配置数据对应的第一设备进行更新。
可选的,所述方法还包括:
将第二标签配置表中的标识数据同步至第一标签配置表中;
将第二配置数据表中的配置数据同步至所述第一配置数据表中,所述第二配置数据表中的配置数据由与第二设备通信的管理设备写入,在所述管理设备向所述第二配置数据表中写入配置数据后,所述第二标签配置表中与当前写入的配置数据对应的标识数据被更新;
所述第一标签配置表和所述第一配置数据表位于所述第一设备的第一数据库中,所述第二标签配置表和所述第二配置数据表位于所述第二设备的第二数据库中。
可选的,所述第二标签配置表中的标识数据和所述第二配置数据表中的配置数据的更新过程包括:
所述管理设备获得待更新的配置数据;
所述管理设备将所述待更新的配置数据写入到所述第二配置数据表中,以利用所述待更新的配置数据更新所述第二配置数据表;
所述管理设备在确定所述第二配置数据表中的配置数据更新后,获得写入的配置数据的标识数据,并利用所获得的标识数据更新所述第二标签配置表中的标识数据;
所述管理设备确定所获得的标识数据与所述第二标签配置表中已有的标识数据是否一致,如果不一致返回所述管理设备获得待更新的配置数据的步骤;如果一致完成对所述第二标签配置表中的标识数据的更新。
可选的,所述检测第一标签配置表包括:
对所述第一标签配置表中每条标识数据中的缓存版本进行检测,响应所述标识数据中的缓存版本发生变化,确定所述第一标签配置表中标识数据发生变化;
所述标识数据包括缓存标签和所述缓存版本,所述缓存标签用于指示所述配置数据的用途,所述缓存版本用于指示所述配置数据的版本,在所述配置数据变化时所述配置数据对应的标识数据中的缓存版本发生变化,且一个缓存标签对应一个缓存版本。
可选的,所述检测第一标签配置表包括:通过定时任务对所述第一标签配置表中每条标识数据中的缓存版本进行检测;
所述响应所述第一标签配置表中标识数据发生变化,确定目标标识数据包括:如果第一次通过所述定时任务对所述第一标签配置表进行检测,将所述第一标签配置表中的所有标识数据确定为目标标识数据;
如果第i次通过所述定时任务对所述第一标签配置表进行检测,将检测到的缓存版本发生变化的标识数据确定为目标标识数据,i为大于1的自然数,所述第i次通过所述定时任务对所述第一标签配置表进行检测的时间条件是所述第i次通过所述定时任务进行检测的开始时间大于所述第i-1次对所述第一设备进行更新的结束时间。
可选的,所述利用所述目标配置数据,对所述目标配置数据对应的第一设备进行更新包括:
基于所述目标配置数据对应的目标标识数据中的缓存标签,确定与所述缓存标签对应的目标任务;
利用所述目标配置数据,对所述目标任务的配置数据进行更新,使得所述目标任务执行时调用所述目标配置数据。
另一方面,本申请提供一种配置数据更新装置,所述装置包括:
检测单元,用于检测第一标签配置表,所述第一标签配置表中存储有配置数据对应的标识数据,所述标识数据用于从第一配置数据表中查找所述配置数据,且所述配置数据的写入优先级高于所述标识数据的写入优先级;
确定单元,用于响应所述第一标签配置表中标识数据发生变化,确定所述第一标签配置表中的目标标识数据,所述目标标识数据为所述第一标签配置表中发生变化的标识数据;
获得单元,用于基于所述目标标识数据,从所述第一配置数据表中获得与所述目标标识数据匹配的目标配置数据;
更新单元,用于利用所述目标配置数据,对所述目标配置数据对应的第一设备进行更新。
可选的,所述装置还包括:同步单元,用于将第二标签配置表中的标识数据同步至第一标签配置表中;将第二配置数据表中的配置数据同步至所述第一配置数据表中,所述第二配置数据表中的配置数据由与第二设备通信的管理设备写入,在所述管理设备向所述第二配置数据表中写入配置数据后,所述第二标签配置表中与当前写入的配置数据对应的标识数据被更新;
所述第一标签配置表和所述第一配置数据表位于所述第一设备的第一数据库中,所述第二标签配置表和所述第二配置数据表位于所述第二设备的第二数据库中。
可选的,所述检测单元,用于对所述第一标签配置表中每条标识数据中的缓存版本进行检测,响应所述标识数据中的缓存版本发生变化,确定所述第一标签配置表中标识数据发生变化;
所述标识数据包括缓存标签和所述缓存版本,所述缓存标签用于指示所述配置数据的用途,所述缓存版本用于指示所述配置数据的版本,在所述配置数据变化时所述配置数据对应的标识数据中的缓存版本发生变化,且一个缓存标签对应一个缓存版本;
或者
所述检测单元,用于通过定时任务对所述第一标签配置表中每条标识数据中的缓存版本进行检测;
所述确定单元,用于如果第一次通过所述定时任务对所述第一标签配置表进行检测,将所述第一标签配置表中的所有标识数据确定为目标标识数据,以及用于如果第i次通过所述定时任务对所述第一标签配置表进行检测,将检测到的缓存版本发生变化的标识数据确定为目标标识数据,i为大于1的自然数,所述第i次通过所述定时任务对所述第一标签配置表进行检测的时间条件是所述第i次通过所述定时任务进行检测的开始时间大于所述第i-1次对所述第一设备进行更新的结束时间。
可选的,所述更新单元,用于基于所述目标配置数据对应的目标标识数据中的缓存标签,确定与所述缓存标签对应的目标任务;利用所述目标配置数据,对所述目标任务的配置数据进行更新,使得所述目标任务执行时调用所述目标配置数据。
再一方面,本申请提供一种第一设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述配置数据更新方法。
再一方面,本申请提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令被执行时能够执行上述配置数据更新方法。
上述配置数据更新方法及装置,检测第一标签配置表,第一标签配置表中存储有配置数据对应的标识数据,标识数据用于从第一配置数据表中查找配置数据;响应第一标签配置表中标识数据发生变化,确定第一标签配置表中的目标标识数据,目标标识数据为第一标签配置表中发生变化的标识数据,基于目标标识数据,从第一配置数据表中获得与目标标识数据匹配的目标配置数据,利用目标配置数据,对目标配置数据对应的第一设备进行更新,使得在第一标签配置表中的标识数据发生变化时第一设备可利用目标标识数据确定需要更新的目标配置数据,提高配置数据更新的及时性,且第一标签配置表中的多个标识数据发生变化时第一设备可检测到,从而同时更新多个目标配置数据。其中配置数据的写入优先级高于标识数据的写入优先级,在标识数据发生变化时配置数据已经写入到第一配置数据表中,保证目标配置数据的完整性,以提高更新准确度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种配置数据更新方法的流程图;
图2是本申请实施例提供的检测和更新的示意图;
图3是本申请实施例提供的另一种配置数据更新方法的流程图;
图4是本申请实施例提供的配置数据更新方法对应的一种应用场景的示意图;
图5是本申请实施例提供的配置数据更新方法对应的另一种应用场景的示意图;
图6是本申请实施例提供的一种配置数据更新装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,其示出了本申请实施例提供的一种配置数据更新方法的可选流程,可以包括以下步骤:
101:检测第一标签配置表,第一标签配置表中存储有配置数据对应的标识数据,且配置数据的写入优先级高于标识数据的写入优先级。写入优先级表示数据被写入的先后顺序,配置数据的写入优先级高于标识数据的写入优先级表明配置数据在标识数据之前写入,如配置数据写入到第一配置数据表,在配置数据完成写入后标识数据写入到第一标签配置表中。
配置数据的写入优先级高于标识数据的写入优先级是因为配置数据变化时标识数据跟随变化,通过对标识数据的检测来确定配置数据是否发生变化,在检测到标识数据发生变化时配置数据需要完成写入,以保证读取到的配置数据的完整性,所以配置数据的写入优先级高于标识数据的写入优先级。
在本实施例中,对于任一配置数据,第一标签配置表中可以存储配置数据的一条标识数据,配置数据发生变化时第一标签配置表中对配置数据对应的标识数据进行更新,其更新方式是生成配置数据对应的新的标识数据,对第一标签配置表中配置数据对应的已有的标识数据进行替换。例如一条配置数据用于控制开机所加载内容,第一标签配置表中与该条配置数据对应的标识数据是标识数据1,如果该条配置数据发生变化,则生成标识数据2,将标识数据1替换为标识数据2。通过上述标识数据的更新方式,对于一种功能的配置数据来说,第一标签配置表中仅存储有该配置数据的一条标识数据,使得第一标签配置表中的数据量较少,从而提高检索效率,以尽快确定第一标签配置表中发生变化的标识数据。
其中标识数据可以包括:缓存标签和缓存版本,缓存标签用于指示配置数据的用途,缓存版本用于指示配置数据的版本,在配置数据变化时配置数据对应的标识数据中的缓存版本发生变化,且一个缓存标签对应一个缓存版本。也就是说对于任一配置数据来说,配置数据对应的标识数据中的缓存标签固定,以利用缓存标签指示配置数据的用途且缓存标签不会随配置数据的变化而变化,在标识数据中随配置数据变化的是缓存版本,以通过缓存版本指示配置数据发生的变化,从而可以减少第一标签配置表中的数据量。相对应的检测第一标签配置表包括:对第一标签配置表中每条标识数据中的缓存版本进行检测,响应标识数据中的缓存版本发生变化,确定第一标签配置表中标识数据发生变化。除了缓存标签和缓存版本之外,标识数据还可以包括:缓存更新时间,缓存更新时间用于指示第一标签配置表中缓存版本更新的时间,以通过缓存更新时间确定缓存版本何时发生变化。
第一标签配置表可以位于一个数据库中,在一个现有数据库中增加一个数据表,数据表中包含缓存标签、缓存版本和缓存更新时间,从而得到第一标签配置表。在配置数据发生变化时第一标签配置表中的缓存版本发生变化,如在上一个版本的基础上增加一个数组得到当前的缓存版本,如在上一个版本的基础上加一,缓存更新时间可以由数据库所属存储设备按照当前时间写入,由此使得标识数据的更新都是以存储设备的最新时间进行判定。缓存版本的更新需要在配置数据完成更新后再进行更新,满足配置数据的写入优先级高于标识数据的写入优先级,否则会反馈更新失败的消息。
在对第一标签配置表进行检测时,可通过定时任务对第一标签配置表中每条标识数据中的缓存版本进行检测,定时任务可以以预设频率对第一标签配置表进行检测,如定时任务以ms(毫秒)级的预设频率检测第一标签配置表,提高定时任务的检测效率。
102:响应第一标签配置表中标识数据发生变化,确定第一标签配置表中的目标标识数据,目标标识数据为第一标签配置表中发生变化的标识数据,目标标识数据对应的配置数据发生变化,在确定目标标识数据后利用目标标识数据指向第一设备中需要更新的配置数据。
在本实施例中,响应第一标签配置表中标识数据发生变化,确定目标标识数据的一种方式是:如果第一次通过定时任务对第一标签配置表进行检测,将第一标签配置表中的所有标识数据确定为目标标识数据;如果第i次通过定时任务对第一标签配置表进行检测,将检测到的缓存版本发生变化的标识数据确定为目标标识数据,i为大于1的自然数,第i次通过定时任务对第一标签配置表进行检测的时间条件是第i次通过定时任务进行检测的开始时间大于第i-1次对第一设备进行更新的结束时间。
其中第一次通过定时任务对第一标签配置表进行检测可以是第一设备启用定时任务后第一次检测第一标签配置表,第一设备则是需要对配置数据进行更新的设备。如第一设备是服务器集群中的一个服务器,服务器启用定时任务后可利用定时任务多次检测第一标签配置表,以确定第一标签配置表中发生变化的标识数据。
定时任务在对第一标签配置表进行检测时,可以以第一标签配置表中的缓存标签为索引,对索引指向的缓存版本进行检测,因第一标签配置表中索引存在且第一标签配置表的数据量小,即使通过定时任务以ms级的频率进行检测不会对存储实体产生压力,存储实体为存储第一标签配置表的设备。并且第一标签配置表存储标识数据时增加一个缓存标签即可,即使分库分表导致其与第一配置数据表不在一个存储实例中,也仅需一个线程开启定时任务处理即可,第一配置数据表用于存储配置数据。
103:基于目标标识数据,从第一配置数据表中获得与目标标识数据匹配的目标配置数据。配置数据和标识数据具有对应关系,基于配置数据和标识数据之间的对应关系,可以从第一配置数据表中获得与目标标识数据匹配的目标配置数据。
第一配置数据表中配置数据可以以缓存标签为索引,一个缓存标签可对应至少一条配置数据,如配置数据发生变化时第一配置数据表可以在保留已有的配置数据的基础上增加新的配置数据,或者采用新的配置数据替换已有的配置数据的方式,对于配置数据的更新方式本实施例不进行限定。
104:利用目标配置数据,对目标配置数据对应的第一设备进行更新。其中对目标配置数据对应的第一设备进行更新是为了将目标配置数据写入到第一设备中,使得第一设备能够调用目标配置数据,更新方式包括但不限于:
全量更新目标配置数据、按时间增量更新配置数据和删除缓存标签等待下一次请求重建缓存配置数据中的至少一种。全量更新目标配置数据是指将第一配置数据表中与目标标识数据对应的目标配置数据全部写入到第一设备中,如一条目标标识数据对应10条配置数据,这10条配置数据具备相同功能,全量更新目标配置数据则会指示将这10条配置数据写入到第一设备中。
按时间增量更新配置数据是将第一配置数据表中新增的与目标标识数据对应的配置数据写入到第一设备中。仍以上述一条目标标识数据对应10条配置数据,10条配置数据具备相同功能且5条配置数据新增,按时间增量更新配置数据则会指示将新增的5条配置数据写入到第一设备中。
删除缓存标签等待下一次请求重建缓存配置数据是在获得目标配置数据后先删除目标配置数据对应的缓存标签和配置数据,待接收到调用配置数据的请求后写入目标配置数据。
在本实施例中,对目标配置数据对应的第一设备进行更新可通过目标任务实施,如基于目标配置数据对应的目标标识数据中的缓存标签,确定与缓存标签对应的目标任务;利用目标配置数据,对目标任务的配置数据进行更新,使得目标任务执行时调用目标配置数据,对目标任务的配置数据进行更新时可采用上述方式。目标任务是第一设备中的一个业务,如开机任务,通过目标任务对配置数据进行更新时可调用缓存配置数据时的更新实现类,对于缓存是否持久化、缓存是否使用内存缓存或其它第三方组件,均没有依赖。如图2示出检测和更新过程,第一设备中的应用程序通过定时任务对第一标签配置表进行检测,确定第一标签配置表中的目标标识数据。应用程序基于目标标识数据中的缓存标签,确定与缓存标签对应的目标任务,由目标任务从第一配置数据表中获得目标配置数据进行更新。
上述配置数据更新方法,检测第一标签配置表,第一标签配置表中存储有配置数据对应的标识数据,标识数据用于从第一配置数据表中查找配置数据;响应第一标签配置表中标识数据发生变化,确定第一标签配置表中的目标标识数据,目标标识数据为第一标签配置表中发生变化的标识数据,基于目标标识数据,从第一配置数据表中获得与目标标识数据匹配的目标配置数据,利用目标配置数据,对目标配置数据对应的第一设备进行更新,使得在第一标签配置表中的标识数据发生变化时第一设备可利用目标标识数据确定需要更新的目标配置数据,提高配置数据更新的及时性,且第一标签配置表中的多个标识数据发生变化时第一设备可检测到,从而同时更新多个目标配置数据。其中配置数据的写入优先级高于标识数据的写入优先级,在标识数据发生变化时配置数据已经写入到第一配置数据表中,保证目标配置数据的完整性,以提高更新准确度。
相关技术中主设备和从设备除了基于消息通知进行配置数据的更新,还可以通过定时任务触发配置数据更新或者主设备和从设备以跨网共用缓存方式更新配置数据。其中定时任务用于定时扫描数据库中的配置数据,以确定数据库中的配置数据是否有更新,如果有更新,从数据库中获得配置数据进行更新;通过定时任务扫描数据库中的配置数据会因为数据库中配置数据的数量增大导致扫描时长增大,进而使得配置数据更新不及时。本实施例提供的配置数据更新方法,对第一标签配置表中的标识数据进行检测,确定第一标签配置表中发生变化的标识数据,如目标标识数据,以基于目标标识数据确定目标配置数据,利用目标配置数据进行更新,第一标签配置表中标识数据的数据量远小于数据库中配置数据的数据量,相对于通过定时任务扫描配置数据进行更新来说,降低扫描的数据量,提升更新的时效性。
主设备和从设备以跨网共用缓存方式更新配置数据,会因为主设备和从设备之间的网络出现异常时,出现单设备服务的现象。本实施例提供的配置数据更新方法的实施主体(如第一设备)可利用其关联的第一标签配置表和第一配置数据表进行更新,无需采用跨网共用缓存方式,解决因网络出现异常时单设备服务的现象。
请参见图3,其示出了本申请实施例提供的另一种配置数据更新方法的可选流程,可以包括以下步骤:
201:将第二标签配置表中的标识数据同步至第一标签配置表中。
202:将第二配置数据表中的配置数据同步至第一配置数据表中,第二配置数据表中的配置数据由与第二设备通信的管理设备写入,在管理设备向第二配置数据表中写入配置数据后,第二标签配置表中与当前写入的配置数据对应的标识数据被更新。
其中第一标签配置表和第一配置数据表位于第一设备的第一数据库中,第二标签配置表和第二配置数据表位于第二设备的第二数据库中,在管理设备完成标识数据和配置数据的写入后,第二设备和第一设备采用主从同步方式完成第一数据库和第二数据库之间的数据同步,降低维护各设备中配置数据和标识数据不一致的成本。
例如第二设备和第一设备是一个一主多从集群中的两个集群,第二设备可以是主集群,第一设备是多个从集群中的一个从集群,其架构如图4所示。管理设备与主集群通信,通过管理设备向主集群的第二数据库的第二配置数据表写入配置数据,随着配置数据写入完成,第二数据库的第二标签配置表中与该配置数据对应的标识数据被更新,以通过更新后的额标识数据指向配置数据。从集群和主集群采用主从同步方式完成两个集群中数据库之间的数据同步,从而将主集群的第二数据库中的配置数据和标识数据同步至从集群的第一数据库中。
除了能够应用到一主多从集群中,还能够应用到多主集群中,如图5所示以三个主集群为例,三个主集群中任一集群为主集群时剩余两个集群为从集群,管理设备可向每个主集群写入配置数据,随着配置数据写入完成主集群中与该配置数据对应的标识数据被更新。管理设备完成任一主集群中配置数据和标识数据的写入后,主集群和从集群之间主从同步方式完成数据同步,从而将主集群的第二数据库中的配置数据和标识数据同步至从集群的第一数据库中。
其中管理设备对配置数据和标识数据的更新过程是:管理设备获得待更新的配置数据;将待更新的配置数据写入到第二配置数据表中,以利用待更新的配置数据更新第二配置数据表;在确定第二配置数据表中的配置数据更新后,获得写入的配置数据的标识数据,并利用所获得的标识数据更新第二标签配置表中的标识数据;确定所获得的标识数据与第二配置数据表中已有的标识数据是否一致,如果不一致返回管理设备获得待更新的配置数据的步骤;如果一致完成对第二标签配置表中的标识数据的更新。
在更新标识数据之前配置数据被更新,以满足配置数据的写入优先级高于标识数据的写入优先级;如果所获得的标识数据与第二配置数据表中已有的标识数据不一致,说明管理设备可能写入了一个历史的配置数据,管理设备需要再次获得待更新的配置数据,以确保写入的是最新的配置数据。
203:检测第一标签配置表,第一标签配置表中存储有配置数据对应的标识数据,且配置数据的写入优先级高于标识数据的写入优先级。写入优先级表示数据被写入的先后顺序,配置数据的写入优先级高于标识数据的写入优先级表明配置数据在标识数据之前写入,如配置数据写入到第一配置数据表,在配置数据完成写入后标识数据写入到第一标签配置表中。
第一标签配置表可通过定时任务进行检测,例如对于上述图4和图5所示集群通过定时任务触发配置数据的更新,使得每一个集群都能实时更新最新的配置数据,从而提升更新的时效性。
204:响应第一标签配置表中标识数据发生变化,确定第一标签配置表中的目标标识数据,目标标识数据为第一标签配置表中发生变化的标识数据。
205:基于目标标识数据,从第一配置数据表中获得与目标标识数据匹配的目标配置数据。
206:利用目标配置数据,对目标配置数据对应的第一设备进行更新。
步骤203至步骤206的说明请参见上述步骤101至步骤104,此处不再详述。
上述配置数据更新方法,将第二标签配置表中的标识数据同步至第一标签配置表中;将第二配置数据表中的配置数据同步至第一配置数据表中,第二配置数据表中的配置数据由与第二设备通信的管理设备写入,在管理设备向第二配置数据表中写入配置数据后,第二标签配置表中与当前写入的配置数据对应的标识数据被更新。其中第一标签配置表和第一配置数据表位于第一设备的第一数据库中,第二标签配置表和第二配置数据表位于第二设备的第二数据库中,在管理设备完成标识数据和配置数据的写入后,第二设备和第一设备采用主从同步方式完成第一数据库和第二数据库之间的数据同步,降低维护各设备中配置数据和标识数据不一致的成本。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
与上述方法实施例相对应,本申请实施例还提供一种配置数据更新装置,其可选结构如图6所示,可以包括:检测单元10、确定单元20、获得单元30和更新单元40。
检测单元10,用于检测第一标签配置表,第一标签配置表中存储有配置数据对应的标识数据,标识数据用于从第一配置数据表中查找配置数据,且配置数据的写入优先级高于标识数据的写入优先级。
例如,检测单元10,用于对第一标签配置表中每条标识数据中的缓存版本进行检测,响应标识数据中的缓存版本发生变化,确定第一标签配置表中标识数据发生变化。标识数据包括缓存标签和缓存版本,缓存标签用于指示配置数据的用途,缓存版本用于指示配置数据的版本,在配置数据变化时配置数据对应的标识数据中的缓存版本发生变化,且一个缓存标签对应一个缓存版本。
又例如,检测单元10,用于通过定时任务对第一标签配置表中每条标识数据中的缓存版本进行检测。
确定单元20,用于响应第一标签配置表中标识数据发生变化,确定第一标签配置表中的目标标识数据,目标标识数据为第一标签配置表中发生变化的标识数据,目标标识数据对应的配置数据发生变化,在确定目标标识数据后利用目标标识数据指向第一设备中需要更新的配置数据。
其中,确定单元20,用于如果第一次通过定时任务对第一标签配置表进行检测,将第一标签配置表中的所有标识数据确定为目标标识数据,以及用于如果第i次通过定时任务对第一标签配置表进行检测,将检测到的缓存版本发生变化的标识数据确定为目标标识数据,i为大于1的自然数,第i次通过定时任务对第一标签配置表进行检测的时间条件是第i次通过定时任务进行检测的开始时间大于第i-1次对第一设备进行更新的结束时间。
获得单元30,用于基于目标标识数据,从第一配置数据表中获得与目标标识数据匹配的目标配置数据。配置数据和标识数据具有对应关系,基于配置数据和标识数据之间的对应关系,可以从第一配置数据表中获得与目标标识数据匹配的目标配置数据。
第一配置数据表中配置数据可以以缓存标签为索引,一个缓存标签可对应至少一条配置数据,如配置数据发生变化时第一配置数据表可以在保留已有的配置数据的基础上增加新的配置数据,或者采用新的配置数据替换已有的配置数据的方式,对于配置数据的更新方式本实施例不进行限定。
更新单元40,用于利用目标配置数据,对目标配置数据对应的第一设备进行更新。其中对目标配置数据对应的第一设备进行更新是为了将目标配置数据写入到第一设备中,使得第一设备能够调用目标配置数据,更新方式包括但不限于:全量更新目标配置数据、按时间增量更新配置数据和删除缓存标签等待下一次请求重建缓存配置数据中的至少一种,详细说明请参见上述实施例。
在本实施例中,更新单元40,用于基于目标配置数据对应的目标标识数据中的缓存标签,确定与缓存标签对应的目标任务;利用目标配置数据,对目标任务的配置数据进行更新,使得目标任务执行时调用目标配置数据。
上述配置数据更新装置还可以包括:同步单元,用于将第二标签配置表中的标识数据同步至第一标签配置表中;将第二配置数据表中的配置数据同步至第一配置数据表中,第二配置数据表中的配置数据由与第二设备通信的管理设备写入,在管理设备向第二配置数据表中写入配置数据后,第二标签配置表中与当前写入的配置数据对应的标识数据被更新。第一标签配置表和第一配置数据表位于第一设备的第一数据库中,第二标签配置表和第二配置数据表位于第二设备的第二数据库中。
其中管理设备对配置数据和标识数据的更新过程是:管理设备获得待更新的配置数据;将待更新的配置数据写入到第二配置数据表中,以利用待更新的配置数据更新第二配置数据表;在确定第二配置数据表中的配置数据更新后,获得写入的配置数据的标识数据,并利用所获得的标识数据更新第二标签配置表中的标识数据;确定所获得的标识数据与第二配置数据表中已有的标识数据是否一致,如果不一致返回管理设备获得待更新的配置数据的步骤;如果一致完成对第二标签配置表中的标识数据的更新。
在更新标识数据之前配置数据被更新,以满足配置数据的写入优先级高于标识数据的写入优先级;如果所获得的标识数据与第二配置数据表中已有的标识数据不一致,说明管理设备可能写入了一个历史的配置数据,管理设备需要再次获得待更新的配置数据,以确保写入的是最新的配置数据。
本申请实施例还提供一种第一设备,包括:处理器和用于存储处理器可执行指令的存储器。其中,处理器被配置为执行指令,以实现上述配置数据更新方法。
本申请实施例还提供一种计算机可读存储介质,当计算机可读存储介质中的指令被执行时能够执行上述配置数据更新方法。
需要说明的是,本说明书中的各个实施例可以采用递进的方式描述、本说明书中各实施例中记载的特征可以相互替换或者组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种配置数据更新方法,其特征在于,所述方法包括:
检测第一标签配置表,所述第一标签配置表中存储有配置数据对应的标识数据,所述标识数据用于从第一配置数据表中查找所述配置数据,且所述配置数据的写入优先级高于所述标识数据的写入优先级;
响应所述第一标签配置表中标识数据发生变化,确定所述第一标签配置表中的目标标识数据,所述目标标识数据为所述第一标签配置表中发生变化的标识数据;
基于所述目标标识数据,从所述第一配置数据表中获得与所述目标标识数据匹配的目标配置数据;
利用所述目标配置数据,对所述目标配置数据对应的第一设备进行更新。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将第二标签配置表中的标识数据同步至第一标签配置表中;
将第二配置数据表中的配置数据同步至所述第一配置数据表中,所述第二配置数据表中的配置数据由与第二设备通信的管理设备写入,在所述管理设备向所述第二配置数据表中写入配置数据后,所述第二标签配置表中与当前写入的配置数据对应的标识数据被更新;
所述第一标签配置表和所述第一配置数据表位于所述第一设备的第一数据库中,所述第二标签配置表和所述第二配置数据表位于所述第二设备的第二数据库中。
3.根据权利要求2所述的方法,其特征在于,所述第二标签配置表中的标识数据和所述第二配置数据表中的配置数据的更新过程包括:
所述管理设备获得待更新的配置数据;
所述管理设备将所述待更新的配置数据写入到所述第二配置数据表中,以利用所述待更新的配置数据更新所述第二配置数据表;
所述管理设备在确定所述第二配置数据表中的配置数据更新后,获得写入的配置数据的标识数据,并利用所获得的标识数据更新所述第二标签配置表中的标识数据;
所述管理设备确定所获得的标识数据与所述第二标签配置表中已有的标识数据是否一致,如果不一致返回所述管理设备获得待更新的配置数据的步骤;如果一致完成对所述第二标签配置表中的标识数据的更新。
4.根据权利要求1所述的方法,其特征在于,所述检测第一标签配置表包括:
对所述第一标签配置表中每条标识数据中的缓存版本进行检测,响应所述标识数据中的缓存版本发生变化,确定所述第一标签配置表中标识数据发生变化;
所述标识数据包括缓存标签和所述缓存版本,所述缓存标签用于指示所述配置数据的用途,所述缓存版本用于指示所述配置数据的版本,在所述配置数据变化时所述配置数据对应的标识数据中的缓存版本发生变化,且一个缓存标签对应一个缓存版本。
5.根据权利要求1所述的方法,其特征在于,所述检测第一标签配置表包括:通过定时任务对所述第一标签配置表中每条标识数据中的缓存版本进行检测;
所述响应所述第一标签配置表中标识数据发生变化,确定目标标识数据包括:如果第一次通过所述定时任务对所述第一标签配置表进行检测,将所述第一标签配置表中的所有标识数据确定为目标标识数据;
如果第i次通过所述定时任务对所述第一标签配置表进行检测,将检测到的缓存版本发生变化的标识数据确定为目标标识数据,i为大于1的自然数,所述第i次通过所述定时任务对所述第一标签配置表进行检测的时间条件是所述第i次通过所述定时任务进行检测的开始时间大于所述第i-1次对所述第一设备进行更新的结束时间。
6.根据权利要求1所述的方法,其特征在于,所述利用所述目标配置数据,对所述目标配置数据对应的第一设备进行更新包括:
基于所述目标配置数据对应的目标标识数据中的缓存标签,确定与所述缓存标签对应的目标任务;
利用所述目标配置数据,对所述目标任务的配置数据进行更新,使得所述目标任务执行时调用所述目标配置数据。
7.一种配置数据更新装置,其特征在于,所述装置包括:
检测单元,用于检测第一标签配置表,所述第一标签配置表中存储有配置数据对应的标识数据,所述标识数据用于从第一配置数据表中查找所述配置数据,且所述配置数据的写入优先级高于所述标识数据的写入优先级;
确定单元,用于响应所述第一标签配置表中标识数据发生变化,确定所述第一标签配置表中的目标标识数据,所述目标标识数据为所述第一标签配置表中发生变化的标识数据;
获得单元,用于基于所述目标标识数据,从所述第一配置数据表中获得与所述目标标识数据匹配的目标配置数据;
更新单元,用于利用所述目标配置数据,对所述目标配置数据对应的第一设备进行更新。
8.根据权利要求7所述的装置,其特征在于,所述检测单元,用于对所述第一标签配置表中每条标识数据中的缓存版本进行检测,响应所述标识数据中的缓存版本发生变化,确定所述第一标签配置表中标识数据发生变化;
所述标识数据包括缓存标签和所述缓存版本,所述缓存标签用于指示所述配置数据的用途,所述缓存版本用于指示所述配置数据的版本,在所述配置数据变化时所述配置数据对应的标识数据中的缓存版本发生变化,且一个缓存标签对应一个缓存版本;
或者
所述检测单元,用于通过定时任务对所述第一标签配置表中每条标识数据中的缓存版本进行检测;
所述确定单元,用于如果第一次通过所述定时任务对所述第一标签配置表进行检测,将所述第一标签配置表中的所有标识数据确定为目标标识数据,以及用于如果第i次通过所述定时任务对所述第一标签配置表进行检测,将检测到的缓存版本发生变化的标识数据确定为目标标识数据,i为大于1的自然数,所述第i次通过所述定时任务对所述第一标签配置表进行检测的时间条件是所述第i次通过所述定时任务进行检测的开始时间大于所述第i-1次对所述第一设备进行更新的结束时间。
9.一种第一设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的配置数据更新方法。
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令被执行时能够执行如权利要求1至6中任一项所述的配置数据更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677566.8A CN113407209B (zh) | 2021-06-18 | 2021-06-18 | 一种配置数据更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677566.8A CN113407209B (zh) | 2021-06-18 | 2021-06-18 | 一种配置数据更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113407209A true CN113407209A (zh) | 2021-09-17 |
CN113407209B CN113407209B (zh) | 2023-06-02 |
Family
ID=77681365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110677566.8A Active CN113407209B (zh) | 2021-06-18 | 2021-06-18 | 一种配置数据更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113407209B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8224935B1 (en) * | 2010-05-12 | 2012-07-17 | Symantec Corporation | Systems and methods for efficiently synchronizing configuration data within distributed computing systems |
CN103064919A (zh) * | 2012-12-20 | 2013-04-24 | 北京思特奇信息技术股份有限公司 | 一种业务系统中配置参数的保存方法及装置 |
US20140258234A1 (en) * | 2013-03-11 | 2014-09-11 | AppGlu, Inc. | Synchronization of cms data to mobile device storage |
CN106815329A (zh) * | 2016-12-29 | 2017-06-09 | 网易无尾熊(杭州)科技有限公司 | 一种缓存数据的更新方法及装置 |
CN106997378A (zh) * | 2017-03-13 | 2017-08-01 | 摩贝(上海)生物科技有限公司 | 基于Redis的数据库数据聚合同步的方法 |
CN107544828A (zh) * | 2017-09-01 | 2018-01-05 | 北京奇虎科技有限公司 | 配置加载方法及装置 |
CN108228814A (zh) * | 2017-12-29 | 2018-06-29 | 泰康保险集团股份有限公司 | 数据同步方法及装置 |
CN108599971A (zh) * | 2017-12-22 | 2018-09-28 | 金蝶软件(中国)有限公司 | 配置信息处理方法、系统、计算机设备和存储介质 |
CN108897868A (zh) * | 2018-06-29 | 2018-11-27 | 北京奇虎科技有限公司 | 基于触发器的缓存同步方法及装置、计算设备及存储介质 |
CN110262828A (zh) * | 2019-05-14 | 2019-09-20 | 浙江数链科技有限公司 | 系统业务模块配置方法、系统、可读存储介质和设备 |
CN110912977A (zh) * | 2019-11-15 | 2020-03-24 | 北京浪潮数据技术有限公司 | 一种配置文件的更新方法、装置、设备及存储介质 |
CN111224826A (zh) * | 2020-01-07 | 2020-06-02 | 深圳市网心科技有限公司 | 基于分布式系统的配置更新方法、设备、系统及介质 |
US10678697B1 (en) * | 2019-01-31 | 2020-06-09 | Salesforce.Com, Inc. | Asynchronous cache building and/or rebuilding |
-
2021
- 2021-06-18 CN CN202110677566.8A patent/CN113407209B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8224935B1 (en) * | 2010-05-12 | 2012-07-17 | Symantec Corporation | Systems and methods for efficiently synchronizing configuration data within distributed computing systems |
CN103064919A (zh) * | 2012-12-20 | 2013-04-24 | 北京思特奇信息技术股份有限公司 | 一种业务系统中配置参数的保存方法及装置 |
US20140258234A1 (en) * | 2013-03-11 | 2014-09-11 | AppGlu, Inc. | Synchronization of cms data to mobile device storage |
CN106815329A (zh) * | 2016-12-29 | 2017-06-09 | 网易无尾熊(杭州)科技有限公司 | 一种缓存数据的更新方法及装置 |
CN106997378A (zh) * | 2017-03-13 | 2017-08-01 | 摩贝(上海)生物科技有限公司 | 基于Redis的数据库数据聚合同步的方法 |
CN107544828A (zh) * | 2017-09-01 | 2018-01-05 | 北京奇虎科技有限公司 | 配置加载方法及装置 |
CN108599971A (zh) * | 2017-12-22 | 2018-09-28 | 金蝶软件(中国)有限公司 | 配置信息处理方法、系统、计算机设备和存储介质 |
CN108228814A (zh) * | 2017-12-29 | 2018-06-29 | 泰康保险集团股份有限公司 | 数据同步方法及装置 |
CN108897868A (zh) * | 2018-06-29 | 2018-11-27 | 北京奇虎科技有限公司 | 基于触发器的缓存同步方法及装置、计算设备及存储介质 |
US10678697B1 (en) * | 2019-01-31 | 2020-06-09 | Salesforce.Com, Inc. | Asynchronous cache building and/or rebuilding |
CN110262828A (zh) * | 2019-05-14 | 2019-09-20 | 浙江数链科技有限公司 | 系统业务模块配置方法、系统、可读存储介质和设备 |
CN110912977A (zh) * | 2019-11-15 | 2020-03-24 | 北京浪潮数据技术有限公司 | 一种配置文件的更新方法、装置、设备及存储介质 |
CN111224826A (zh) * | 2020-01-07 | 2020-06-02 | 深圳市网心科技有限公司 | 基于分布式系统的配置更新方法、设备、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113407209B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196885B (zh) | 一种云化分布式实时数据库系统 | |
US8620923B1 (en) | System and method for storing meta-data indexes within a computer storage system | |
CN108647357B (zh) | 数据查询的方法及装置 | |
US11860847B2 (en) | Efficient production and consumption for data changes in a database under high concurrency | |
US11392567B2 (en) | Just-in-time multi-indexed tables in a shared log | |
US20100076930A1 (en) | System and method for providing high availability data | |
US20060242443A1 (en) | Synchronization move support systems and methods | |
CN103678494A (zh) | 客户端同步服务端数据的方法及装置 | |
CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
CN103020058B (zh) | 一种多版本数据获取方法和装置 | |
CN113407639B (zh) | 数据处理方法、装置、系统及存储介质 | |
US11687533B2 (en) | Centralized storage for search servers | |
US20140108367A1 (en) | Client apparatus and database server for resumable transaction and method thereof | |
US10606805B2 (en) | Object-level image query and retrieval | |
CN114036226A (zh) | 一种数据同步方法、装置、设备及存储介质 | |
JP6237633B2 (ja) | 分散ストレージ装置、ストレージノード、データ提供方法およびプログラム | |
WO2016100737A1 (en) | Method and system to search logs that contain a massive number of entries | |
CN113626449A (zh) | 数据存储、数据查询方法及相关设备 | |
US10437813B2 (en) | Self-healing of layer metadata within a layering system | |
CN113407209A (zh) | 一种配置数据更新方法及装置 | |
US10970285B2 (en) | Grid topology change in a distributed data grid when iterating on the contents of the data grid | |
CN110955460A (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
US9230011B1 (en) | Index-based querying of archived data sets | |
CN102799996A (zh) | 网络广告策略匹配方法及系统 | |
CN108206933B (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 |