CN115080582A - 一种数据更新方法、装置、电子设备及存储介质 - Google Patents
一种数据更新方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115080582A CN115080582A CN202210761192.2A CN202210761192A CN115080582A CN 115080582 A CN115080582 A CN 115080582A CN 202210761192 A CN202210761192 A CN 202210761192A CN 115080582 A CN115080582 A CN 115080582A
- Authority
- CN
- China
- Prior art keywords
- data
- deployment unit
- updated
- updating
- reading mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 56
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据更新方法、装置、电子设备及存储介质,在主控中心存在数据更新需求时,主控中心通过数据更新指令通知各个部署单元更新需求,每个部署单元响应于主控节点下发的数据更新指令,转变对应的应用程序的数据读取模式;在异地数据读取模式下,控制应用程序从主控数据库中读取待更新数据;并通过比对待更新数据与部署单元本地数据库中已部署数据,确定该部署单元是否满足数据更新条件;在满足数据更新条件的情况下,通过待更新数据实现对于本地数据库的更新;这样,能够同步更新异地部署的多个部署单元,以保证各个部署单元之间数据具有一致性。
Description
技术领域
本申请涉及数据处理技术领域,尤其是涉及一种数据更新方法、装置、电子设备及存储介质。
背景技术
随着分布式技术的发展,由于分布式系统具有多地多活的部署特点,已经被广泛地应用至银行、企业等系统采用;区别于单点部署模式的系统,在单点部署模式下,系统中并不存在数据不同步的问题;而对于具有多地多活结构的分布式系统来说,在部署过程中便会涉及各个部署单元数据同步的问题,尤其是各个部署单元所涉及的参数同步问题。
在分布式系统中要求各个部署单元中管理的数据必须具有强一致性,即部署在不同部署单元中具有同样含义的数据在同一时间内被使用时必须是一致的,例如,系统日期、关键业务参数等;因此,如何使得各个部署单元中的数据在更新后仍然具有强一致性成为了亟待解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种数据更新方法、装置、电子设备及存储介质,能够同步更新异地部署的多个部署单元,以保证各个部署单元之间数据的一致性。
本申请实施例提供了一种数据更新方法,所述方法包括:
每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式;
针对于每个部署单元,在所述异地数据读取模式下,控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据;
比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件;
若满足,将所述待更新数据更新至所述本地数据库。
在一种可能的实施方式中,所述每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式,包括:
针对于每个部署单元,响应于主控节点下发的数据更新指令,将该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态更新为待更新状态;
将该部署单元对应的应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式。
在一种可能的实施方式中,所述方法还包括:
在利用所述待更新数据更新所述本地数据库之后,将所述目标参数的数据状态由待更新状态更新为已更新状态。
在一种可能的实施方式中,所述比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件,包括:
比对所述待更新数据的数据信息所携带的版本信息与该部署单元的本地数据库中已部署数据的数据信息所携带的版本信息是否一致;若不一致,确定该部署单元满足数据更新条件;和/或,
比对所述待更新数据的数据信息所携带的更新日期与该部署单元的本地数据库中已部署数据的数据信息所携带的更新日期是否一致;若不一致,确定该部署单元满足数据更新条件;和/或,
比对所述待更新数据的数据信息所携带的更新批次与该部署单元的本地数据库中已部署数据的数据信息所携带的更新批次是否一致;若不一致,确定该部署单元满足数据更新条件;
否则,确定该部署单元不满足数据更新条件。
在一种可能的实施方式中,所述方法还包括:
若不满足,在所述异地数据读取模式下,再次控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据,直至读取到的待更新数据使得该部署单元满足数据更新条件为止。
在一种可能的实施方式中,所述方法还包括:
针对于每个部署单元,确定该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态是否为已更新状态;
若否,确定该部署单元的本地数据库未完成更新,报错并重新控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据,以实现该部署单元本地数据库的更新;
若是,则确定该部署单元的本地数据库已完成更新。
本申请实施例还提供了一种数据更新装置,所述数据更新装置包括:
更新准备模块,用于每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式;
第一数据读取模块,用于针对于每个部署单元,在所述异地数据读取模式下,控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据;
数据比对模块,用于比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件;
数据更新模块,用于若满足,将所述待更新数据更新至所述本地数据库。
在一种可能的实施方式中,所述更新准备模块在用于每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式时,所述更新准备模块用于:
针对于每个部署单元,响应于主控节点下发的数据更新指令,将该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态更新为待更新状态;
将该部署单元对应的应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式。
在一种可能的实施方式中,所述数据更新装置还包括状态更新模块,所述状态更新模块用于:
在利用所述待更新数据更新所述本地数据库之后,将所述目标参数的数据状态由待更新状态更新为已更新状态。
在一种可能的实施方式中,所述数据比对模块在用于比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件时,所述数据比对模块用于:
比对所述待更新数据的数据信息所携带的版本信息与该部署单元的本地数据库中已部署数据的数据信息所携带的版本信息是否一致;若不一致,确定该部署单元满足数据更新条件;和/或,
比对所述待更新数据的数据信息所携带的更新日期与该部署单元的本地数据库中已部署数据的数据信息所携带的更新日期是否一致;若不一致,确定该部署单元满足数据更新条件;和/或,
比对所述待更新数据的数据信息所携带的更新批次与该部署单元的本地数据库中已部署数据的数据信息所携带的更新批次是否一致;若不一致,确定该部署单元满足数据更新条件;
否则,确定该部署单元不满足数据更新条件。
在一种可能的实施方式中,所述数据更新装置还包括第二数据读取模块,所述第二数据读取模块用于:
若不满足,在所述异地数据读取模式下,再次控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据,直至读取到的待更新数据使得该部署单元满足数据更新条件为止。
在一种可能的实施方式中,所述数据更新装置还包括更新核对模块,所述更新核对模块用于:
针对于每个部署单元,确定该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态是否为已更新状态;
若否,确定该部署单元的本地数据库未完成更新,报错并重新控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据,以实现该部署单元本地数据库的更新;
若是,则确定该部署单元的本地数据库已完成更新。
本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的数据更新方法的步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的数据更新方法的步骤。
本申请实施例提供的数据更新方法、装置、电子设备及存储介质,每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式;针对于每个部署单元,在所述异地数据读取模式下,控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据;比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件;若满足,将所述待更新数据更新所述本地数据库。这样,便能够同步更新异地部署的多个部署单元,以保证各个部署单元之间数据的一致性。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种数据更新方法的流程图;
图2为本申请实施例所提供的一种更新通知过程示意图;
图3为本申请实施例所提供的一种数据更新过程示意图;
图4为本申请实施例所提供的一种数据更新装置的结构示意图之一;
图5为本申请实施例所提供的一种数据更新装置的结构示意图之二;
图6为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
经研究发现,随着分布式技术的发展,由于分布式系统具有多地多活的部署特点,已经被广泛地应用至银行、企业等系统采用;区别于单点部署模式的系统,在单点部署模式下,系统中并不存在数据不同步的问题;而对于具有多地多活结构的分布式系统来说,在部署过程中便会涉及各个部署单元数据同步的问题,尤其是各个部署单元所涉及的参数同步问题。在分布式系统中要求各个部署单元中管理的数据必须具有强一致性,即部署在不同部署单元中具有同样含义的数据在同一时间内被使用时必须是一致的,例如,系统日期、关键业务参数等;因此,如何使得各个部署单元中的数据在更新后仍然具有强一致性成为了亟待解决的问题。
基于此,本申请实施例提供了一种数据更新方法,可以在分布式系统具有更新需求时,同时控制多个部署单元进行参数上的更新,以保证在参数更新过程中每个部署单元读取到的参数是相同的,满足分布式系统多地多活的单元话部署要求。
请参阅图1,图1为本申请实施例所提供的一种数据更新方法的流程图。如图1中所示,本申请实施例提供的数据更新方法,包括:
S101、每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式。
S102、针对于每个部署单元,在所述异地数据读取模式下,控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据。
S103、比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件。
S104、若满足,将所述待更新数据更新至所述本地数据库。
本申请实施例所提供的数据更新方法,在主控节点侧存在数据更新需求时,每个部署单元在能够进行数据更新的情况下,可以响应于主控节点所下发的数据更新指令,为了使得部署单元具有获取异地读取数据的能力,可转变每个部署单元对应的应用程序的数据读取模式,使得原本仅能够读取本地数据库中数据的应用程序,具备从主控节点侧的主控数据库中读取数据的能力;在部署单元对应的应用程序的数据读取模式为异地数据读取模式下,控制应用程序从主控节点侧的主控数据库中获取待更新数据;为了确保部署单元不会进行不必数据更新,在利用获取到的待更新数据对本地数据库进行更新之前,通过比对获取到的待更新数据与部署单元本地数据库中已部署数据,确定部署单元是否满足数据更新条件;在满足数据更新条件的情况下,通过待更新数据实现对于本地数据库的更新;以此,保证异地部署的多个部署单元可以实现同步更新,进而,使得各个部署单元之间数据具有一致性。
本申请中的方法涉及包括多个部署单元的分布式系统,多个部署单元之间的部署方式属于多地多活的部署方式,即每个部署单元的部署区域不同,但是,各个部署单元均需受控于主控节点侧,且各个部署单元之间的数据需具有强一致性。
分布式系统中的主控节点侧与部署单元侧分别拥有独立的数据库,即主控节点侧的主控数据库与部署单元侧的本地数据库为部署在不同地区的数据库;不同部署单元之间的本地数据库同样为部署在不同地区的数据库。
由于,分布式系统中各个部署单元的本地数据库中所具有的参数需具有强一致性,因此,在存在数据更新需求时,主控节点需保证多个部署单元能够同时进行数据更新;为了保证各个部署单元能够同时进行数据更新,主控中心在全部的部署单元均已做好更新的准备的情况下提供待更新数据。
在步骤S101中,当存在数据更新需求时,主控节点会通过向各个部署单元发放数据更新指令的形式,来告知各个部署单元需要进行数据更新;而此时,各个部署单元在接收到数据更新指令后,会进行相关的数据更新准备。
具体的,在部署单元接收到数据更新指令后,将部署单元对应的应用程序的数据读取模式从本地数据读取模式转换为异地数据读取模式,以使得应用程序具备从异地数据库(即主控节点侧的主控数据库)中读取数据的能力,并在完成数据更新准备后,向主控节点侧反馈准备就绪通知,以告知主控节点侧其已做好数据更新准备,可随时进行数据更新。
主控节点侧在接收到全部的部署单元反馈的准备就绪通知后,便可向部署单元提供待更新数据。
这里,为了减少部署单元从主控节点侧的主控数据库中获取数据对主控节点侧造成的数据处理压力,以及提高各个部署单元数据获取的及时性,在不同情况下,部署单元对应的应用程序的数据读取模式也是不同的。
在部署单元无需进行数据更新时,通常选择将部署单元对应的应用程序的数据读取模式设置为本地数据读取模式,此时,应用程序仅能够读取所属部署单元的本地数据库中的参数;而在部署单元需进行数据更新时,则可选择将部署单元对应的应用程序的数据读取模式设置为异地数据读取模式,此时,应用程序能够读取所属主控中心的主控数据库中的参数,完成对于应用程序所属部署单元本地数据库中参数的更新。
在一种实施方式中,步骤S101包括:针对于每个部署单元,响应于主控节点下发的数据更新指令,将该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态更新为待更新状态;将该部署单元对应的应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式。
该步骤中,针对于每个部署单元,响应于主控节点所下发的数据更新指令,将该部署单元的本地数据库中数据更新指令所指示的目标参数的数据状态更新为待更新状态;这里,数据更新指令中携带有目标参数的参数标识,可以根据参数标识,从本地数据库中确定出需进行更新的目标参数,并更新目标参数的数据状态。
此时,由于部署单元对应的应用程序需从主控中心侧的主控数据库中读取待更新数据,因此,还需对部署单元对应的应用程序的数据读取模式进行转换,将应用程序的数据读取模式从本地数据读取模型转换至异地数据读取模式。
在一种实施方式中,所述方法还包括:在完成数据状态更新以及数据读取模式转换后,控制该部署单元向所述主控节点反馈准备就绪通知。
该步骤中,在完成部署单元的本地数据库中待更新的目标参数的数据状态更新,以及部署单元对应的应用程序数据读取模式的转换后,可确定该部署单元完成了数据更新的准备操作,已做好数据更新的准备;此时,便可以控制部署单元向主控节点侧反馈准备就绪通知,以告知主控节点该部署单元已完成数据更新的准备。
请参阅图2,图2为本申请实施例所提供的一种更新通知过程示意图;如图2所示,分布式系统2a包括主控节点2b和多个部署单元,部署单元2c-1、部署单元2c-2以及部署单元2c-3,主控节点2b在存在数据更新需求的情况下,分别向部署单元2c-1、部署单元2c-2以及部署单元2c-3发送数据更新指令;在部署单元2c-1、部署单元2c-2以及部署单元2c-3接收到数据更新指令后,更改各自本地数据库中目标参数的数据转态为待更新状态,以及将各自对应的应用程序的数据读取模式转换为异地数据读取模式;最后,向主控中心反馈准备就绪通知。
在步骤S102中,针对于每个部署单元,在该部署单元对应的应用程序的数据读取模式处于异地数据读取模式下,控制该部署单元对应的应用程序从主控节点的数据库中读取待更新数据。
这里,对于部署单元来说,在其向主控中心反馈了准备就绪通知后,便可从主控节点的主控数据库中读取待更新数据;但是,对于主控节点来说,为了保证各个部署单元数据的强一致性,需在全部的部署单元均反馈了准备就绪通知的情况下,才提供待更新数据;因此,由于不同部署单元向主控中心反馈准备就绪通知的时机上存在时间差,这样便使得不同部署单元从主控数据库中读取待更新数据的时机不同;所以,对于反馈准备就绪通知较快的部署单元来说,其对应的应用程序从主控数据库中读取到的待更新数据不一定是此次数据更新所涉及的数据,可能在应用程序读取数据时,主控节点并未提供待更新数据,因此,为了避免部署单元做无谓的数据更新操作,在部署单元更新自身本地数据库时,还需要对部署单元是否满足更新条件进行判断。
在步骤S103中,在应用程序从主控数据库中读取到待更新数据后,将读取到的待更新数据的数据信息与已部署在该部署单元本地数据库中的已部署数据的数据信息进行比较,确定读取到的待更新数据是否能够用于对该部署单元的本地数据库中的目标参数进行更新;若此次读取到的待更新数据能够用于本地数据库的参数更新,则确定该部署单元满足数据更新条件。
在一种实施方式中,步骤S103包括:比对所述待更新数据的数据信息所携带的版本信息与该部署单元的本地数据库中已部署数据的数据信息所携带的版本信息是否一致;若不一致,确定该部署单元满足数据更新条件;否则,确定该部署单元不满足数据更新条件。
这里,读取到的待更新数据中携带的数据信息可以包括待更新数据的版本信息、更新时间以及更新批次等。
该步骤中,应用程序在从主控数据库中读取到待更新数据后,比对待更新数据的数据信息所携带的待更新数据的版本信息,与本地数据库中已部署数据的数据信息所携带的版本信息,若此次读取到的待更新数据的版本信息与已部署数据的版本信息不一致(且版本信息表明此次读取到的待更新数据在已部署数据的版本之后),则确定此次读取到的待更新数据能够用于对该部署单元的本地数据库中的目标参数进行更新。
若此次读取到的待更新数据的版本信息与已部署数据的版本信息一致,则确定此次读取到的待更新数据不能够用于对该部署单元的本地数据库中的目标参数进行更新。
和/或,比对所述待更新数据的数据信息所携带的更新日期与该部署单元的本地数据库中已部署数据的数据信息所携带的更新日期是否一致;若不一致,确定该部署单元满足数据更新条件;否则,确定该部署单元不满足数据更新条件。
该步骤中,应用程序在从主控数据库中读取到待更新数据后,比对待更新数据的数据信息所携带的待更新数据的更新日期,与本地数据库中已部署数据的数据信息所携带的更新日期,若此次读取到的待更新数据的更新日期与已部署数据的更新日期不一致(且此次读取到的待更新数据的更新日期在已部署数据的更新日期之后),则确定此次读取到的待更新数据能够用于对该部署单元的本地数据库中的目标参数进行更新。
若此次读取到的待更新数据的更新日期与已部署数据的更新日期一致,则确定此次读取到的待更新数据不能够用于对该部署单元的本地数据库中的目标参数进行更新。
和/或,比对所述待更新数据的数据信息所携带的更新批次与该部署单元的本地数据库中已部署数据的数据信息所携带的更新批次是否一致;若不一致,确定该部署单元满足数据更新条件;否则,确定该部署单元不满足数据更新条件。
该步骤中,应用程序在从主控数据库中读取到待更新数据后,比对待更新数据的数据信息所携带的待更新数据的更新批次,与本地数据库中已部署数据的数据信息所携带的更新批次,若此次读取到的待更新数据的更新日期与已部署数据的更新批次不一致(且此次读取到的待更新数据的更新批次在已部署数据的更新批次之后),则确定此次读取到的待更新数据能够用于对该部署单元的本地数据库中的目标参数进行更新。
若此次读取到的待更新数据的更新批次与已部署数据的更新批次一致,则确定此次读取到的待更新数据不能够用于对该部署单元的本地数据库中的目标参数进行更新。
这里,由于主控数据库中的数据在存在更新需求时,同样会随之进行更新,因此,应用程序并不会读取到之前版本、之前更新日期或之前更新批次的待更新数据。
在步骤S104中,在经过比对确定该部署单元满足数据更新条件,即读取到的待更新数据能够用于更新部署单元本地数据库中的目标参数,此时,便可将读取到的待更新数据更新至本地数据库。
同时,为了避免在后续过程中,该部署单元对应的应用程序依旧从主控节点的主控数据库中读取数据,增加主控节点侧的数据处理压力,在控制应用程序读取到可用于更新本地数据库的待更新参数后,便可将该部署单元对应的应用程序的数据读取模式,从异地数据读取模式转换至本地数据读取模式,以避免该部署单元对应的应用程序持续从主控节点的主控数据库中读取数据。
这里,对于部署单元对应的应用程序的数据读取模式的转换时间,可以是在利用待更新数据完成对本地数据库进行更新之后;还可以是在利用待更新数据完成对本地数据库进行更新之前;再或者,还可以是在利用待更新数据对本地数据库进行更新的过程中,可根据实际情况而定,在此不做限制。
在一种实施方式中,所述方法还包括:在利用所述待更新数据更新所述本地数据库之后,将所述目标参数的数据状态由待更新状态更新为已更新状态。
该步骤中,在利用读取到的待更新数据完成本地数据库中目标参数的更新后,将目标参数的数据状态由待更新状态更新为已更新状态,以避免对该目标参数进行重复更新。
在一种实施方式中,所述方法还包括:若不满足,在所述异地数据读取模式下,再次控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据,直至读取到的待更新数据使得该部署单元满足数据更新条件为止。
该步骤中,在部署单元接收到数据更新指令后,若从主控数据库中读取到的待更新数据不能够用于更新该部署单元本地数据库中的目标参数,即该部署单元当前并不满足数据更新条件;此时,可再次控制该部署单元对应的应用程序从主控数据库中读取待更新数据,直至应用程序读取到的待更新数据能够用于更新该部署单元本地数据库中的目标参数为止;即,直至读取到的待更新数据使得该部署单元满足数据更新条件为止,以此,可防止部署单元错过此次数据更新。
为了避免部署单元未能顺利完成数据更新,还需通过检查本地数据库中目标参数的数据状态,来确定部署单元是否完成数据更新。
在一种实施方式中,所述还包括:针对于每个部署单元,确定该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态是否为已更新状态;若否,确定该部署单元的本地数据库未完成更新,报错并重新控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据,以实现该部署单元本地数据库的更新;若是,则确定该部署单元的本地数据库已完成更新。
该步骤中,针对于每个部署单元,要对该部署单元本地数据库中的各个目标参数的数据状态进行检查,确定主控中心此次下发的数据更新指令所指示的目标参数的数据状态是否已经转变为已更新状态;
若目标参数的数据状态已转变为已更新状态,则可确定该部署单元的本地数据库已完成此次更新;
若目标参数的数据状态未转变为已更新状态,则可确定该部署单元的本地数据库为顺利完成此次更新,此时,则需要报错,具体的,生成报错信息,并向相关人员发送该报错信息,以达到提示相关人员的目的。
除此之外,重新控制该部署单元对应的应用程序从主控节点的主控数据库中读取待更新数据,以重复执行后续的数据更新过程,完成对该部署单元本地数据库的更新。
以此,确保分布式系统中的每个部署单元均能够实现数据的更新,以保证各个部署单元之间数据的强一致性。
请参阅图3,图3为本申请实施例所提供的一种数据更新过程示意图;如图3所示,分布式系统3a包括主控节点3b和多个部署单元,部署单元3c-1、部署单元3c-2以及部署单元3c-3,部署单元3c-1、部署单元3c-2以及部署单元3c-3分别从主控节点3b的主控数据库3b-1中读取待更新数据;比对待更新数据的版本信息与本地数据库中已部署数据的版本信息;若不一致,利用待更新数据更新本地数据库中的目标参数,并在更新后将目标参数的数据状态变更为已更新状态;若一致,控制该部署单元对应的应用程序重新读取待更新数据。
本申请实施例提供的数据更新方法,每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式;针对于每个部署单元,在所述异地数据读取模式下,控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据;比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件;若满足,将所述待更新数据更新至所述本地数据库,并将该部署单元对应的应用程序的数据读取模式从异地数据读取模式转换至本地数据读取模式。这样,能够同步更新分布式系统中异地部署的多个部署单元,以保证各个部署单元之间数据的一致性。
请参阅图4、图5,图4为本申请实施例所提供的一种数据更新装置的结构示意图之一,图5为本申请实施例所提供的一种数据更新装置的结构示意图之二。如图4中所示,所述数据更新装置400包括:
更新准备模块410,用于每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式;
第一数据读取模块420,用于针对于每个部署单元,在所述异地数据读取模式下,控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据;
数据比对模块430,用于比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件;
数据更新模块440,用于若满足,将所述待更新数据更新至所述本地数据库。
进一步的,所述更新准备模块410在用于每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式时,所述更新准备模块410用于:
针对于每个部署单元,响应于主控节点下发的数据更新指令,将该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态更新为待更新状态;
将该部署单元对应的应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式。
进一步的,如图5所示,所述数据更新装置400还包括状态更新模块450,所述状态更新模块450用于:
在利用所述待更新数据更新所述本地数据库之后,将所述目标参数的数据状态由待更新状态更新为已更新状态。
进一步的,所述数据比对模块430在用于比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件时,所述数据比对模块430用于:
比对所述待更新数据的数据信息所携带的版本信息与该部署单元的本地数据库中已部署数据的数据信息所携带的版本信息是否一致;若不一致,确定该部署单元满足数据更新条件;和/或,
比对所述待更新数据的数据信息所携带的更新日期与该部署单元的本地数据库中已部署数据的数据信息所携带的更新日期是否一致;若不一致,确定该部署单元满足数据更新条件;和/或,
比对所述待更新数据的数据信息所携带的更新批次与该部署单元的本地数据库中已部署数据的数据信息所携带的更新批次是否一致;若不一致,确定该部署单元满足数据更新条件;
否则,确定该部署单元不满足数据更新条件。
进一步的,如图5所示,所述数据更新装置400还包括第二数据读取模块460,所述第二数据读取模块460用于:
若不满足,在所述异地数据读取模式下,再次控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据,直至读取到的待更新数据使得该部署单元满足数据更新条件为止。
进一步的,所述数据更新装置400还包括更新核对模块470,所述更新核对模块470用于:
针对于每个部署单元,确定该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态是否为已更新状态;
若否,确定该部署单元的本地数据库未完成更新,报错并重新控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据,以实现该部署单元本地数据库的更新;
若是,则确定该部署单元的本地数据库已完成更新。
本申请实施例提供的数据更新装置,每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式;针对于每个部署单元,在所述异地数据读取模式下,控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据;比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件;若满足,将所述待更新数据更新至所述本地数据库。这样,能够同步更新异地部署的多个部署单元,以保证各个部署单元之间数据的一致性。
请参阅图6,图6为本申请实施例所提供的一种电子设备的结构示意图。如图6中所示,所述电子设备600包括处理器610、存储器620和总线630。
所述存储器620存储有所述处理器610可执行的机器可读指令,当电子设备600运行时,所述处理器610与所述存储器620之间通过总线630通信,所述机器可读指令被所述处理器610执行时,可以执行如上述图1所示方法实施例中的数据更新方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的数据更新方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据更新方法,其特征在于,所述方法包括:
每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式;
针对于每个部署单元,在所述异地数据读取模式下,控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据;
比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件;
若满足,将所述待更新数据更新至所述本地数据库。
2.根据权利要求1所述的数据更新方法,其特征在于,所述每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式,包括:
针对于每个部署单元,响应于主控节点下发的数据更新指令,将该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态更新为待更新状态;
将该部署单元对应的应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式。
3.根据权利要求2所述的数据更新方法,其特征在于,所述方法还包括:
在利用所述待更新数据更新所述本地数据库之后,将所述目标参数的数据状态由待更新状态更新为已更新状态。
4.根据权利要求1所述的数据更新方法,其特征在于,所述比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件,包括:
比对所述待更新数据的数据信息所携带的版本信息与该部署单元的本地数据库中已部署数据的数据信息所携带的版本信息是否一致;若不一致,确定该部署单元满足数据更新条件;和/或,
比对所述待更新数据的数据信息所携带的更新日期与该部署单元的本地数据库中已部署数据的数据信息所携带的更新日期是否一致;若不一致,确定该部署单元满足数据更新条件;和/或,
比对所述待更新数据的数据信息所携带的更新批次与该部署单元的本地数据库中已部署数据的数据信息所携带的更新批次是否一致;若不一致,确定该部署单元满足数据更新条件;
否则,确定该部署单元不满足数据更新条件。
5.根据权利要求1所述的数据更新方法,其特征在于,所述方法还包括:
若不满足,在所述异地数据读取模式下,再次控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据,直至读取到的待更新数据使得该部署单元满足数据更新条件为止。
6.根据权利要求1所述的数据更新方法,其特征在于,所述方法还包括:
针对于每个部署单元,确定该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态是否为已更新状态;
若否,确定该部署单元的本地数据库未完成更新,报错并重新控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据,以实现该部署单元本地数据库的更新;
若是,则确定该部署单元的本地数据库已完成更新。
7.一种数据更新装置,其特征在于,所述数据更新装置包括:
更新准备模块,用于每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式;
第一数据读取模块,用于针对于每个部署单元,在所述异地数据读取模式下,控制该部署单元对应的应用程序从所述主控节点的主控数据库中读取待更新数据;
数据比对模块,用于比对所述待更新数据的数据信息与该部署单元的本地数据库中已部署数据的数据信息,确定该部署单元是否满足数据更新条件;
数据更新模块,用于若满足,将所述待更新数据更新至所述本地数据库。
8.根据权利要求7所述的数据更新装置,其特征在于,所述更新准备模块在用于每个部署单元响应于主控节点下发的数据更新指令,将应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式时,所述更新准备模块用于:
针对于每个部署单元,响应于主控节点下发的数据更新指令,将该部署单元的本地数据库中所述数据更新指令所指示的目标参数的数据状态更新为待更新状态;
将该部署单元对应的应用程序的数据读取模式从本地数据读取模式转换至异地数据读取模式。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至6任一所述的数据更新方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至6任一所述的数据更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210761192.2A CN115080582A (zh) | 2022-06-29 | 2022-06-29 | 一种数据更新方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210761192.2A CN115080582A (zh) | 2022-06-29 | 2022-06-29 | 一种数据更新方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115080582A true CN115080582A (zh) | 2022-09-20 |
Family
ID=83255035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210761192.2A Pending CN115080582A (zh) | 2022-06-29 | 2022-06-29 | 一种数据更新方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080582A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750740A (zh) * | 2013-12-30 | 2015-07-01 | 北京新媒传信科技有限公司 | 数据更新的方法及装置 |
CN106940699A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种内存数据的同步处理方法、装置、服务器及系统 |
CN111400408A (zh) * | 2020-04-13 | 2020-07-10 | 上海东普信息科技有限公司 | 数据同步方法、装置、设备及存储介质 |
CN112783909A (zh) * | 2021-01-29 | 2021-05-11 | 平安普惠企业管理有限公司 | 数据更新方法、装置、终端设备及存储介质 |
CN114415984A (zh) * | 2022-03-31 | 2022-04-29 | 阿里云计算有限公司 | 数据处理方法及装置 |
-
2022
- 2022-06-29 CN CN202210761192.2A patent/CN115080582A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750740A (zh) * | 2013-12-30 | 2015-07-01 | 北京新媒传信科技有限公司 | 数据更新的方法及装置 |
CN106940699A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种内存数据的同步处理方法、装置、服务器及系统 |
CN111400408A (zh) * | 2020-04-13 | 2020-07-10 | 上海东普信息科技有限公司 | 数据同步方法、装置、设备及存储介质 |
CN112783909A (zh) * | 2021-01-29 | 2021-05-11 | 平安普惠企业管理有限公司 | 数据更新方法、装置、终端设备及存储介质 |
CN114415984A (zh) * | 2022-03-31 | 2022-04-29 | 阿里云计算有限公司 | 数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113687853B (zh) | 车辆升级控制方法及计算机存储介质 | |
CN110109686B (zh) | 一种基于容器管理引擎的应用运维方法和系统 | |
US10051139B2 (en) | Network device that flexibly manages setting value, control method, and storage medium | |
US11625233B2 (en) | Software update program for in-vehicle devices and associated server | |
US20210240466A1 (en) | Self-service terminal | |
CN111399764B (zh) | 数据存储方法、读取方法、装置、设备及存储介质 | |
CN111209032A (zh) | 灰度发布方法、配置中心服务器、用户终端、系统及介质 | |
CN114661248B (zh) | 数据处理方法及装置 | |
CN111464603A (zh) | 一种服务器扩容方法及扩容系统 | |
CN115080582A (zh) | 一种数据更新方法、装置、电子设备及存储介质 | |
CN112751693B (zh) | 分布式存储系统的数据处理方法、装置及电子设备 | |
CN115567523A (zh) | 资源管理方法及系统 | |
JP6639363B2 (ja) | サーバ装置、情報処理方法及びプログラム | |
US10728323B2 (en) | Method and apparatus for operating infrastructure layer in cloud computing architecture | |
CN114020368A (zh) | 基于状态机的信息处理方法、装置和存储介质 | |
CN112968921B (zh) | 一种数据更新方法、装置和计算机可读存储介质 | |
CN113254530A (zh) | 移动端离线处理方法、系统、电子设备及存储介质 | |
CN114281281A (zh) | 打印机与智能设备的交互方法及装置 | |
CN112836479A (zh) | 数据报表生成方法、系统以及存储装置 | |
CN113485772A (zh) | 一种应用程序的配置更新方法、装置、设备及介质 | |
JP2010128776A (ja) | 携帯端末自動メンテナンス装置および携帯端末自動メンテナンス方法 | |
CN112860405B (zh) | 一种分布式作业流任务管理和调度系统及方法 | |
CN116893834B (zh) | 负载更新方法、装置、系统、电子设备及可读存储介质 | |
US20230036444A1 (en) | System, method, and non-transitory storage medium | |
CN117076207A (zh) | 数据库备份多活控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220920 |