CN112100189A - 数据更新冲突的检测方法、装置以及电子设备 - Google Patents
数据更新冲突的检测方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN112100189A CN112100189A CN202010974783.9A CN202010974783A CN112100189A CN 112100189 A CN112100189 A CN 112100189A CN 202010974783 A CN202010974783 A CN 202010974783A CN 112100189 A CN112100189 A CN 112100189A
- Authority
- CN
- China
- Prior art keywords
- data
- data center
- target
- value
- identification
- 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
- 238000001514 detection method Methods 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000004590 computer program Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 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
-
- 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/04—Network management architectures or arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种数据更新冲突的检测方法、装置以及电子设备,涉及计算机技术领域。该方法包括:获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;若检测到任一组数据发生数据更新时,从位置标识中确定发生更新的数据对应的目标位置标识;将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心,以便于第二数据中心基于目标位置标识,确定与目标位置标识对应的、针对标识字段的第二数值;其中,第二数值存储于第二数据中心;第二数据中心用于对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种数据更新冲突的检测方法、装置以及电子设备。
背景技术
随着互联网技术的发展,异地多活架构的应用越来越普遍,在异地多活架构下,多个数据中心可以共同管理同一批数据,如果多个数据中心同时更新某一条数据,就会发生数据更新冲突,因此,进行数据更新冲突的检测是至关重要的。
目前,一种数据更新冲突检测方法是:对于数据中心A而言,当某一条数据中的一个数据发生变化时,会将该条数据中变化前的全部数据发送给的数据中心B,以便于数据中心B进行数据冲突的检测,而一条数据中包含的数据量是比较大的,可见,目前的方案两数据中心间需要传输的数据量比较大,增大了数据更新冲突检测的时长,也造成了网络资源的浪费。
发明内容
本公开第一方面提供了一种数据更新冲突的检测方法,该方法由第一数据中心执行,该方法包括:
获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;
若检测到任一组数据发生数据更新时,从位置标识中确定发生更新的数据对应的目标位置标识;
将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心,以便于第二数据中心基于目标位置标识,确定与目标位置标识对应的、针对标识字段的第二数值;
其中,第二数值存储于第二数据中心;第二数据中心用于对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突。
可选的,获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值之前,方法还包括:
创建至少一组数据以及各组数据分别对应的位置标识;
创建时间字段作为标识字段,并将各组数据的创建时间作为该组数据对应的标识字段的第一数值。
可选的,标识字段为时间字段,标识字段的数值为时间值;方法还包括:
检测到任一组数据发生数据更新时,基于第一数据中心的当前时间,调整任一组数据对应的时间字段的时间值。
可选的,基于第一数据中心的当前时间,调整任一组数据对应的时间字段的时间值之后,方法包括:
将任一组数据中的更新数据以及调整后的时间值发送给第二数据中心,以便于第二数据中心在确定不存在数据更新冲突后,基于更新数据以及调整后的时间值进行数据同步。
可选的,将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心之后,方法还包括:
接收第二数据中心在确定存在数据更新冲突后发送的提示信息;提示信息中包括目标位置标识;
基于目标位置标识,确定与目标位置标识对应的调整后的时间值以及更新后的数据;
基于调整后的时间值以及更新后的数据,生成数据更新冲突日志信息,以记录发生数据更新冲突的时间以及发生数据更新冲突的数据。
本公开的第二方面提供了一种数据更新冲突的检测方法,该方法由第二数据中心执行,该方法包括:
接收第一数据中心发送的目标位置标识以及目标位置标识对应的目标第一数值;
其中,第一数据中心中存储有至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;目标位置标识是在第一数据中心检测到任一条数据发生数据更新时,基于发生更新的数据,从位置标识中确定的;
基于目标位置标识,从第二数据中心中确定与目标位置标识对应的、针对标识字段的第二数值;
对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突。
可选的,对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突,包括:
若目标第一数值与第二数值不同,则确定第二数据中心与第一数据中心存在数据更新冲突;
若目标第一数值与第二数值相同,则确定第二数据中心中与第一数据中心不存在数据更新冲突,并将第二数据中心与第一数据中心进行数据同步。
本申请的第三方面提供了一种数据更新冲突的检测装置,该装置包括:
获取模块,用于获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;
第一确定模块,用于若检测到任一组数据发生数据更新时,从位置标识中确定发生更新的数据对应的目标位置标识;
第一发送模块,用于将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心,以便于第二数据中心基于目标位置标识,确定与目标位置标识对应的、针对标识字段的第二数值;
其中,第二数值存储于第二数据中心;第二数据中心用于对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突。
可选的,该装置还包括:第一创建模块以及第二创建模块;
获取模块在获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值之前;
第一创建模块,用于创建至少一组数据以及各组数据分别对应的位置标识;
第二创建模块,用于创建时间字段作为标识字段,并将各组数据的创建时间作为该组数据对应的标识字段的第一数值。
可选的,标识字段为时间字段,标识字段的数值为时间值;该装置还包括:
调整模块,用于检测到任一组数据发生数据更新时,基于第一数据中心的当前时间,调整任一组数据对应的时间字段的时间值。
可选的,该装置还包括第二发送模块,在调整模块基于第一数据中心的当前时间,调整任一组数据对应的时间字段的时间值之后;
第二发送模块,用于将任一组数据中的更新数据以及调整后的时间值发送给第二数据中心,以便于第二数据中心在确定不存在数据更新冲突后,基于更新数据以及调整后的时间值进行数据同步。
可选的,该装置还包括:第一接收模块、第二确定模块以及生成模块;
第一发送模块在将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心之后;
第一接收模块,用于接收第二数据中心在确定存在数据更新冲突后发送的提示信息;提示信息中包括目标位置标识;
第二确定模块,用于基于目标位置标识,确定与目标位置标识对应的调整后的时间值以及更新后的数据;
生成模块,用于基于调整后的时间值以及更新后的数据,生成数据更新冲突日志信息,以记录发生数据更新冲突的时间以及发生数据更新冲突的数据。
本申请的第四方面提供了一种数据更新冲突的检测装置,该装置包括:
第二接收模块,用于接收第一数据中心发送的目标位置标识以及目标位置标识对应的目标第一数值;
其中,第一数据中心中存储有至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;目标位置标识是在第一数据中心检测到任一条数据发生数据更新时,基于发生更新的数据,从位置标识中确定的;
第三确定模块,用于基于目标位置标识,从第二数据中心中确定与目标位置标识对应的、针对标识字段的第二数值;
对比模块,用于对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突。
可选的,对比模块,具体用于:
若目标第一数值与第二数值不同,则确定第二数据中心与第一数据中心存在数据更新冲突;
若目标第一数值与第二数值相同,则确定第二数据中心中与第一数据中心不存在数据更新冲突,并将第二数据中心与第一数据中心进行数据同步。
本申请实施例的第五方面,提供了一种电子设备,该电子设备包括存储器和处理器;存储器中存储有计算机程序;处理器用于在运行计算机程序时执行第一方面及其可选的实施方式以及第二方面及其可选的实施方式中任一项的方法。
本申请实施例的第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现第一方面及其可选的实施方式以及第二方面及其可选的实施方式中任一项的方法。
本申请提供的技术方案带来的有益效果是:
任一组数据发生数据更新时,该组数据对应的标识字段的数值也需要进行相应的更新,则可以用标识字段的数值表示该组数据是否发生了更新,本申请在获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值后,若检测到任一组数据发生数据更新时,可以从位置标识中确定发生更新的数据对应的目标位置标识,并将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心,这样第二数据中心基于目标位置标识,确定与目标位置标识对应的、针对标识字段的第二数值后,通过对比目标第一数值以及第二数值,就可以检测两数据中心间的数据更新冲突,相对于现有的方案,本申请只需要向第二数据中心发送目标位置标识以及目标第一数值就可以进行数据更新冲突的检测,大大的减少了传输的数据量,进而降低了数据更新冲突检测的时长,也避免了网络资源的浪费。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的数据更新冲突的检测方法的流程示意图;
图2为本申请实施例提供的数据更新冲突的检测方法的一个场景示意图;
图3为本申请实施例提供的数据更新冲突的检测方法的另一个场景示意图;
图4为本申请实施例提供的数据更新冲突的检测方法的另一个流程示意图;
图5为本申请实施例提供的数据更新冲突的检测方法的另一个流程示意图;
图6为本申请实施例提供的数据更新冲突的检测装置的一个结构示意图;
图7为本申请实施例提供的数据更新冲突的检测装置的另一个结构示意图;
图8为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请涉及的几个名词进行介绍和解释:
异地多活是指在不同城市建立独立的数据中心,这些数据中心管理着同一数据列表中的多组数据,当任意两个数据中心同时对同一组数据(一般为数据列表中同一行的数据)进行修改时,就会发生数据更新冲突。
一组数据中一般包含多个数据,任意两个数据中心同时修改同一组数据可以是修改同一组中不同的数据,也可以是修改同一组中的同一数据,因此,为了检测数据更新冲突,现有的方案会把被修改的一组数据中修改前的所有数据均发送给另一个数据中心,这种方式需要传输的数据量很大,检测数据更新冲突的时长比较长,且浪费了网络资源。
需要说明的是,本申请的数据列表中包括多组数据、每一组数据对应的位置标识以及每一组数据对应的标识字段的数值。其中,位置标识是固定的、不可变的,用于唯一标识一组数据;数据以及标识字段的数值是可以调整的,第一数据中心和第二数据中心均管理着该数据列表,可以对该数据列表中的数据或标识字段的数值进行调整。
第一数据中心与第二数据中心为异地多活架构下不同的数据中心,第一数据中心或第二数据中心可以是电子设备,电子设备具体可以是终端设备或服务器。
为解决上述技术问题,请参照图1,本申请提供了一种数据更新冲突的检测方法,该方法具体由第一数据中心执行,该方法包括:
步骤S101、获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;
第一数据中心获取数据列表中至少一组数据分别对应的位置标识,该位置标识用于指示该组数据在数据列表中的位置,例如指示该组数据在数据列表的哪一行,该位置标识可以是主键,用主键可以唯一标识数据列表中一行的数据。
第一数据中心还可以获取与各位置标识对应的标识字段的数值,该数值在第一数据中心中称为第一数值,标识字段为标识一组数据是否发生数据更新的字段,当该组数据中的某一个或多个数据变化时,标识字段的第一数值也要相应的变化。
步骤S102、若检测到任一组数据发生数据更新时,从位置标识中确定发生更新的数据对应的目标位置标识;
第一数据中心检测所管理的数据列表中任一组数据发生数据更新时,该组数据对应的标识字段的第一数值也进行相应的调整,第一数据中心确定标识字段调整前的第一数值,并从至少一组数据对应的位置标识中确定发生更新的那一组数据对应的目标位置标识。
步骤S103、将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心,以便于第二数据中心基于目标位置标识,确定与目标位置标识对应的、针对标识字段的第二数值;
其中,第二数值存储于第二数据中心;第二数据中心用于对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突。
第一数据中心将目标位置标识以及调整前的第一数值发送给第二数据中心,调整前的第一数值即第一数值中与目标位置标识对应的目标第一数值,这样第二数据中心就可以基于目标位置标识,确定出第二数据中心中所管理的数据列表中与该目标位置标识对应的、针对该标识字段的第二数值,第二数据中心可以对比目标第一数值以及第二数值,若目标第一数值以及第二数值不同,则表示第二数据中心中该目标位置标识所指示的那一组的数据也发生了数据更新,则表示第一数据中心与第二数据中心存在数据更新冲突,若目标第一数值以及第二数值相同,则表示第二数据中心中该目标位置标识所指示的那一组的数据没有发生数据更新,两数据中心间不存在数据更新冲突。
在本实施例中,任一组数据发生数据更新时,该组数据对应的标识字段的数值也需要进行相应的更新,则可以用标识字段的数值表示该组数据是否发生了更新,本申请在获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值后,若检测到任一组数据发生数据更新时,可以从位置标识中确定发生更新的数据对应的目标位置标识,并将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心,这样第二数据中心基于目标位置标识,确定与目标位置标识对应的、针对标识字段的第二数值后,通过对比目标第一数值以及第二数值,就可以检测两数据中心间的数据更新冲突,相对于现有的方案,本申请只需要向第二数据中心发送目标位置标识以及目标第一数值就可以进行数据更新冲突的检测,大大的减少了传输的数据量,进而降低了数据更新冲突检测的时长,也避免了网络资源的浪费。
同时,本申请可以提高网络使用效率,降低数据同步延迟,增加数据同步吞吐量。
进一步的,标识字段可以是第一数据中心创建得到的,具体的,创建标识字段的过程为:
可选的,步骤S101获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值之前,该方法还可以包括:
创建至少一组数据以及各组数据分别对应的位置标识;
创建时间字段作为标识字段,并将各组数据的创建时间作为该组数据对应的标识字段的第一数值。
在本实施例中,第一数据中心可以创建至少一组数据以及各组数据分别对应的位置标识,第一数据中心还可以创建标识字段,并在数据列表中添加标识字段的数值。
具体而言,第一数据中心可以创建时间字段,并将时间字段作为标识字段,同时,针对各组数据,可以将该组数据的创建时间作为该组数据对应的时间字段的时间值,将时间值添加到数据列表中。
在本实施例中,时间字段的字段类型可以是毫秒级时间戳。
可以理解的是,当多组数据是同一时间创建时,该多组数据对应的标识字段的第一数值是相同的。
可见,本申请可以通过创建标识字段,用标识字段的数值指示一组数据是否发生了数据更新,这样只对比标识字段的数值就可以检测到两数据中心是否存在数据更新冲突了,不需要传输大量的数据。
进一步,在该标识字段具体是时间字段,则标识字段的数值具体可以是时间值的情况下,该方法还可以包括:
检测到任一组数据发生数据更新时,基于第一数据中心的当前时间,调整任一组数据对应的时间字段的时间值。
在本实施例中,第一数据中心可以针对标识字段设置一个触发器,当第一数据中心检测到任一组数据发生更新时,第一数据中心可以通过触发器,基于第一数据中心的当前时间调整该任一组数据对应的时间字段的时间值。
具体的,第一数据中心在检测到任一组数据发生数据更新时,可以获取第一数据中心的当前时间(即该组数据数据更新时刻的时刻值),随后,包括以下两种可能的情况:
一种可能的情况是,第一数据中心可以调用该触发器直接将该当前时间作为该组数据对应的时间字段的时间值,这样情况下,数据的获取是比较方便快速的,第一数据中心直接获取设备的当前时刻即可。
另一种可能的情况是,第一数据中心将当前时间,按照预置的时间算法得到目标时间,第一数据中心调用该触发器将该目标时间作为该组数据对应的时间字段的时间值。
同样的,当多组数据是同一时间更新时,第一数据中心中该多组数据对应的时间字段调整后的时间值是相同的。
本实施例的一种可能的场景是,参如图2,数据列表中包括n组数据,n为大于0的整数,n组数据分别对应主键1至主键n,当主键PK=1时,对应的数据x1、y1直至z1等n个数,时间字段的值为T1;主键PK=2时,对应的数据x2、y2直至z2等n个数,时间字段的值为T2;直至主键PK=n时,对应的数据xn、yn直至zn等n个数,时间字段的值为Tn;若PK=1中C2字段的值由y1更新为X,且同一时刻PK=2中C1字段的值由x2更新为Y,则PK=1以及PK=2的主键对应时间字段的时间值均更新为Tn+1,Tn+1为y1或x2的更新时刻。
在本实施例中,使用触发器方式自动更新时间戳字段,对业务是没有侵入的。
进一步的,数据更新冲突的检测是为了进行数据同步,在两数据中心不存在数据更新冲突时,第一数据中心中发生更新的数据均需要同步到第二数据中心,具体的:
可选的,基于第一数据中心的当前时间,调整任一组数据对应的时间字段的时间值之后,该方法可以包括:
将任一组数据中的更新数据以及调整后的时间值发送给第二数据中心,以便于第二数据中心在确定不存在数据更新冲突后,基于更新数据以及调整后的时间值进行数据同步。
在本实施例中,若任一组数据发生了数据更新,则第一数据中心还需要将该组数据中的更新数据以及调整后的时间字段的时间值发送给第二数据中心,更新数据即为更新后的数据,这样第二数据中心在确定两数据中心不存在数据更新冲突后,第二数据中心可以基于该更新数据调整该组数据中对应的数据,同时基于调整后的时间值更新该组数据对应的时间字段的时间值。
其中,第二数据中心基于该更新数据调整该组数据中对应的数据,具体包括:第一数据中心将更新数据发送给第二数据中心时,实际上将更新数据的字段标识也同步发送给了第二数据中心,第二数据中心基于该字段标识可以确定、第一数据中心发生数据更新的那一组数据中具体是哪个字段的数据发生了更新,从而第二数据中心对应的调整该字段标识对应的数据。
参照图3,本实施例的一种可能的场景是,对于A数据中心中某一主键指示的一组数据,其中C2字段的数值由10更新为20,相应的时间字段MT的数值由T1调整为T2,A数据中心将主键的值、C2的后项(新值)20、MT的前项(旧值)T1以及后项(新值)T2发送给B数据中心,数据同步时,B数据中心将数据列表中该主键对应的C2字段的值也调整为20,且MT的值调整为T2。
进一步的,在本实施例中,若两数据中心间存在数据更新冲突,第一数据中心还可以生成数据冲突的日志信息,具体而言:
将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心之后,该方法还可以包括:
接收第二数据中心在确定存在数据更新冲突后发送的提示信息;提示信息中包括目标位置标识;
基于目标位置标识,确定与目标位置标识对应的调整后的时间值以及更新后的数据;
基于调整后的时间值以及更新后的数据,生成数据更新冲突日志信息,以记录发生数据更新冲突的时间以及发生数据更新冲突的数据。
第一数据中心可以接收第二数据中心在确定两数据中心间存在数据更新冲突后发送的提示信息,该提示信息中包括目标位置标识,这样第一数据中心就可以基于该目标位置标识,确定发生数据更新冲突的那一组数据,第一数据中心可以确定该组数据中更新后的数据以及调整后的时间值,然后基于更新后的数据以及调整后的时间值生成数据更新冲突日志信息,则该日志信息中包括了该更新后的数据以及调整后的时间值,这样第一数据中心就可以记录下发生数据冲突的数据以及该数据的更新时刻。
可见,本申请直接用数据的更新时刻作为时间字段对应的时间值,这样在两数据中心间存在数据更新冲突时,可以简单的确定引起数据更新冲突的数据以及该数据是在哪一时刻更新得到的,不需要经过复杂的计算也可以确定引发数据更新冲突的数据的生成时刻,以形成时间日志。
上面从第一数据中心的角度对本申请的方案进行了叙述,下面,参照图4,从第二数据中心的角度,对本申请的方案进行详细说明。
本申请还提供一种数据更新冲突的检测方法,该方法由第二数据中心执行,该方法包括:
步骤S401、接收第一数据中心发送的目标位置标识以及目标位置标识对应的目标第一数值;
其中,第一数据中心中存储有至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;目标位置标识是在第一数据中心检测到任一条数据发生数据更新时,基于发生更新的数据,从位置标识中确定的;
步骤S401、基于目标位置标识,从第二数据中心中确定与目标位置标识对应的、针对标识字段的第二数值;
步骤S403、对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突。
本实施例方案与上述图1所示实施例的方案是实质上相同的方案,只是站在不同数据中心的角度进行描述,其具体实现方式以及所带来的有益效果可以参照上述图1所示实施例的相关论述,具体此处不再赘述。
进一步的,步骤S403对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突,包括:
若目标第一数值与第二数值不同,则确定第二数据中心与第一数据中心存在数据更新冲突;
若目标第一数值与第二数值相同,则确定第二数据中心中与第一数据中心不存在数据更新冲突,并将第二数据中心与第一数据中心进行数据同步。
在本实施例中,第二数据中心确定是否存在数据更新冲突的方式以及数据同步的方式可以参照上述实施例的相关论述,具体此处不再赘述。
需要说明的是,在本申请的方案中,两数据中心存在数据更新冲突具体可以是:
第一数据中心中某一组数据中某一数据更新了,第二数据中心中该组数据中同一数据或不同数据更新了,例如图3中,数据列表的一组数据中包括C1至C3字段的值以及MT的值,若A数据中心中C1字段的值和B数据中心中C1字段的值均更新,则会发生数据更新冲突,可以理解的是,这时A数据中心与B数据中心中MT的值均发生了变化;或若A数据中心中C1字段的值和B数据中心中C2字段的值均更新,则会发生数据更新冲突,同样的两数据中心中MT的值均发生了变化。
从上述实施例中可以看出,本申请的方案是由第一数据中心和第二数据中心交互执行的,下面,参照图5,从两数据中心交互的角度,对本申请的方案进行叙述。
S1、第一数据中心创建时间字段,并为时间字段设置触发器;
S2、第一数据中心检测到任一组数据中的数据发生数据更新时,第一数据中心通过触发器将该组数据对应的时间字段的时间值调整为当前时间;
S3、第一数据中心将该组数据的位置标识、时间字段调整前的时间值、时间字段调整后的时间值以及调整后的数据发送给第二数据中心;
S4、第二数据中心基于位置标识确定第二数据中心中存储的该组数据,并对比第二数据中心中该组数据对应的时间字段的值与第一数据中心发送的时间字段调整前的值是否相等;
S5、若不相等,第二数据中心确定在两数据中心该组数据都有更新,存在数据更新冲突;若相等,第二数据中心确定不存在数据更新冲突,第二数据中心使用调整后的数据更新第二数据中心中对应数据,调整后的时间值更新第二数据中心中该组数据对应的时间字段的时间值。
本实施例方案与上述图1或图4所示实施例的方案是实质上相同的方案,其具体实现方式以及所带来的有益效果可以参照上述图1或图4所示实施例的相关论述,具体此处不再赘述。
参照图6,本申请还公开了一种数据更新冲突的检测装置,该装置包括:
获取模块601,用于获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;
第一确定模块602,用于若检测到任一组数据发生数据更新时,从位置标识中确定发生更新的数据对应的目标位置标识;
第一发送模块603,用于将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心,以便于第二数据中心基于目标位置标识,确定与目标位置标识对应的、针对标识字段的第二数值;
其中,第二数值存储于第二数据中心;第二数据中心用于对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突。
可选的,该装置还包括:第一创建模块以及第二创建模块;
获取模块601在获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值之前;
第一创建模块,用于创建至少一组数据以及各组数据分别对应的位置标识;
第二创建模块,用于创建时间字段作为标识字段,并将各组数据的创建时间作为该组数据对应的标识字段的第一数值。
可选的,标识字段为时间字段,标识字段的数值为时间值;该装置还包括:
调整模块,用于检测到任一组数据发生数据更新时,基于第一数据中心的当前时间,调整任一组数据对应的时间字段的时间值。
可选的,该装置还包括第二发送模块,在调整模块基于第一数据中心的当前时间,调整任一组数据对应的时间字段的时间值之后;
第二发送模块,用于将任一组数据中的更新数据以及调整后的时间值发送给第二数据中心,以便于第二数据中心在确定不存在数据更新冲突后,基于更新数据以及调整后的时间值进行数据同步。
可选的,该装置还包括:第一接收模块、第二确定模块以及生成模块;
第一发送模块603在将目标位置标识以及目标位置标识对应的目标第一数值发送至第二数据中心之后;
第一接收模块,用于接收第二数据中心在确定存在数据更新冲突后发送的提示信息;提示信息中包括目标位置标识;
第二确定模块,用于基于目标位置标识,确定与目标位置标识对应的调整后的时间值以及更新后的数据;
生成模块,用于基于调整后的时间值以及更新后的数据,生成数据更新冲突日志信息,以记录发生数据更新冲突的时间以及发生数据更新冲突的数据。
请参照图7,本申请还公开了一种数据更新冲突的检测装置,该装置包括:
第二接收模块701,用于接收第一数据中心发送的目标位置标识以及目标位置标识对应的目标第一数值;
其中,第一数据中心中存储有至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;目标位置标识是在第一数据中心检测到任一条数据发生数据更新时,基于发生更新的数据,从位置标识中确定的;
第三确定模块702,用于基于目标位置标识,从第二数据中心中确定与目标位置标识对应的、针对标识字段的第二数值;
对比模块703,用于对比目标第一数值以及第二数值,以检测第一数据中心与第二数据中心之间的数据更新冲突。
可选的,对比模块703,具体用于:
若目标第一数值与第二数值不同,则确定第二数据中心与第一数据中心存在数据更新冲突;
若目标第一数值与第二数值相同,则确定第二数据中心中与第一数据中心不存在数据更新冲突,并将第二数据中心与第一数据中心进行数据同步。
由于本发明实施例所提供的装置为可以执行本发明实施例中相应的方法的装置,故而基于本发明实施例中所提供的方法,本领域所属技术人员能够了解本发明实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该装置如何实现本发明实施例中的方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中的方法所采用的装置,都属于本申请所欲保护的范围。
基于与图1中所示的方法相同的原理,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器;存储器中存储有计算机程序;处理器用于在运行计算机程序时执行本申请任一可选实施例中所提供的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时可以实现本申请任一可选实施例中所提供的方法。
作为一示例,图8中示出了本申请可以应用于的一种电子设备4000的结构示意图,该电子设备包括存储器4003和处理器4001,存储器4003中存储有计算机程序,处理器4001,用于在运行计算机程序时执行上述任一方法。
具体的,该电子设备可以是终端、服务器或其他可能的设备,图8只是示出了电子设备的一种可选的示意性结构。图8中所示的该电子设备4000的结构并不构成对本申请实施例的限定。
其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,收发器4004可以具体用于该电子设备4000与其他设备的通信。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请申请内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现上面任一方法实施例所示的内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种数据更新冲突的检测方法,其特征在于,所述方法由第一数据中心执行,所述方法包括:
获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;
若检测到任一组数据发生数据更新时,从所述位置标识中确定发生更新的数据对应的目标位置标识;
将所述目标位置标识以及所述目标位置标识对应的目标第一数值发送至第二数据中心,以便于所述第二数据中心基于所述目标位置标识,确定与所述目标位置标识对应的、针对所述标识字段的第二数值;
其中,所述第二数值存储于所述第二数据中心;所述第二数据中心用于对比所述目标第一数值以及所述第二数值,以检测第一数据中心与所述第二数据中心之间的数据更新冲突。
2.根据权利要求1所述的方法,其特征在于,所述获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值之前,所述方法还包括:
创建所述至少一组数据以及各组数据分别对应的位置标识;
创建时间字段作为标识字段,并将各组数据的创建时间作为该组数据对应的标识字段的第一数值。
3.根据权利要求1所述的方法,其特征在于,所述标识字段为时间字段,所述标识字段的数值为时间值;所述方法还包括:
检测到所述任一组数据发生数据更新时,基于所述第一数据中心的当前时间,调整所述任一组数据对应的时间字段的时间值。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一数据中心的当前时间,调整所述任一组数据对应的时间字段的时间值之后,所述方法包括:
将所述任一组数据中的更新数据以及调整后的时间值发送给所述第二数据中心,以便于所述第二数据中心在确定不存在数据更新冲突后,基于所述更新数据以及调整后的时间值进行数据同步。
5.根据权利要求3所述的方法,其特征在于,所述将所述目标位置标识以及所述目标位置标识对应的目标第一数值发送至第二数据中心之后,所述方法还包括:
接收所述第二数据中心在确定存在数据更新冲突后发送的提示信息;所述提示信息中包括所述目标位置标识;
基于所述目标位置标识,确定与所述目标位置标识对应的调整后的时间值以及更新后的数据;
基于所述调整后的时间值以及所述更新后的数据,生成数据更新冲突日志信息,以记录发生数据更新冲突的时间以及发生数据更新冲突的数据。
6.一种数据更新冲突的检测方法,其特征在于,所述方法由第二数据中心执行,所述方法包括:
接收第一数据中心发送的目标位置标识以及所述目标位置标识对应的目标第一数值;
其中,所述第一数据中心中存储有至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;所述目标位置标识是在所述第一数据中心检测到任一条数据发生数据更新时,基于发生更新的数据,从所述位置标识中确定的;
基于所述目标位置标识,从所述第二数据中心中确定与所述目标位置标识对应的、针对所述标识字段的第二数值;
对比所述目标第一数值以及所述第二数值,以检测第一数据中心与所述第二数据中心之间的数据更新冲突。
7.根据权利要求6所述的方法,其特征在于,所述对比所述目标第一数值以及所述第二数值,以检测第一数据中心与所述第二数据中心之间的数据更新冲突,包括:
若所述目标第一数值与所述第二数值不同,则确定所述第二数据中心与所述第一数据中心存在数据更新冲突;
若所述目标第一数值与所述第二数值相同,则确定所述第二数据中心中与所述第一数据中心不存在数据更新冲突,并将所述第二数据中心与第一数据中心进行数据同步。
8.一种数据更新冲突的检测装置,其特征在于,该装置包括:
获取模块,用于获取至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;
第一确定模块,用于若检测到任一组数据发生数据更新时,从所述位置标识中确定发生更新的数据对应的目标位置标识;
第一发送模块,用于将所述目标位置标识以及所述目标位置标识对应的目标第一数值发送至第二数据中心,以便于所述第二数据中心基于所述目标位置标识,确定与所述目标位置标识对应的、针对所述标识字段的第二数值;
其中,所述第二数值存储于所述第二数据中心;所述第二数据中心用于对比所述目标第一数值以及所述第二数值,以检测第一数据中心与所述第二数据中心之间的数据更新冲突。
9.一种数据更新冲突的检测装置,其特征在于,该装置包括:
第二接收模块,用于接收第一数据中心发送的目标位置标识以及所述目标位置标识对应的目标第一数值;
其中,所述第一数据中心中存储有至少一组数据分别对应的位置标识,以及各位置标识分别对应的、针对标识字段的第一数值;所述目标位置标识是在所述第一数据中心检测到任一条数据发生数据更新时,基于发生更新的数据,从所述位置标识中确定的;
第三确定模块,用于基于所述目标位置标识,从所述第二数据中心中确定与所述目标位置标识对应的、针对所述标识字段的第二数值;
对比模块,用于对比所述目标第一数值以及所述第二数值,以检测第一数据中心与所述第二数据中心之间的数据更新冲突。
10.一种电子设备,其特征在于,所述电子设备包括存储器和处理器;
所述存储器中存储有计算机程序;
所述处理器,用于在运行所述计算机程序时执行权利要求1-7中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010974783.9A CN112100189A (zh) | 2020-09-16 | 2020-09-16 | 数据更新冲突的检测方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010974783.9A CN112100189A (zh) | 2020-09-16 | 2020-09-16 | 数据更新冲突的检测方法、装置以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112100189A true CN112100189A (zh) | 2020-12-18 |
Family
ID=73759344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010974783.9A Pending CN112100189A (zh) | 2020-09-16 | 2020-09-16 | 数据更新冲突的检测方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100189A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528575A (zh) * | 2015-09-14 | 2017-03-22 | 北京国双科技有限公司 | 数据对接方法和装置 |
CN107016014A (zh) * | 2016-09-30 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 异构数据库的数据同步方法及装置 |
US9747295B1 (en) * | 2014-11-03 | 2017-08-29 | Sprint Communications Company L.P. | Updating a large dataset in an enterprise computer system |
CN107370803A (zh) * | 2017-07-11 | 2017-11-21 | 福建省天奕网络科技有限公司 | 一种数据同步的方法及终端 |
CN109213769A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种数据对象的数据冲突识别方法 |
CN109408522A (zh) * | 2018-09-28 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 一种用户特征数据的更新方法和装置 |
-
2020
- 2020-09-16 CN CN202010974783.9A patent/CN112100189A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9747295B1 (en) * | 2014-11-03 | 2017-08-29 | Sprint Communications Company L.P. | Updating a large dataset in an enterprise computer system |
CN106528575A (zh) * | 2015-09-14 | 2017-03-22 | 北京国双科技有限公司 | 数据对接方法和装置 |
CN107016014A (zh) * | 2016-09-30 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 异构数据库的数据同步方法及装置 |
CN109213769A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种数据对象的数据冲突识别方法 |
CN107370803A (zh) * | 2017-07-11 | 2017-11-21 | 福建省天奕网络科技有限公司 | 一种数据同步的方法及终端 |
CN109408522A (zh) * | 2018-09-28 | 2019-03-01 | 阿里巴巴集团控股有限公司 | 一种用户特征数据的更新方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228814B (zh) | 数据同步方法及装置 | |
CN109600186B (zh) | 时钟同步方法及装置 | |
CN112511540A (zh) | 基于大数据平台的网络安全分析方法及系统 | |
US10241847B2 (en) | Anomaly detection using sequences of system calls | |
CN111225082B (zh) | 一种物联网智能设备的身份管理方法、装置及物联网平台 | |
CN112070456B (zh) | 下发任务的方法、终端设备、机器人及存储介质 | |
CN111460474A (zh) | 去中心化的预言机实现方法、装置、存储器和计算机 | |
CN112910995B (zh) | 基于多云环境的资源分配的方法、装置、电子设备及介质 | |
CN111510326A (zh) | 主从设备配置信息同步方法、系统、终端设备及存储介质 | |
CN109088914B (zh) | 区块的生成方法、区块链生态系统及计算机可读存储介质 | |
CN111897826A (zh) | 参数信息更新方法、装置、电子设备及可读存储介质 | |
CN107277188B (zh) | 一种确定ip地址归属信息的方法、客户端、服务器及业务系统 | |
CN106648839A (zh) | 数据处理的方法和装置 | |
CN111221742A (zh) | 一种测试案例的更新方法、装置、存储介质和服务器 | |
US20170054519A1 (en) | Resource Creation Method and Apparatus | |
CN108228248A (zh) | 一种依赖关系的确定方法和装置 | |
CN112100189A (zh) | 数据更新冲突的检测方法、装置以及电子设备 | |
CN116155992A (zh) | 订阅资源的方法和装置 | |
CN116303418A (zh) | 基于物联网平台的海量规则处理方法、系统及存储介质 | |
CN114238507A (zh) | 一种基于多个数据库的数据同步方法及装置 | |
CN109993406B (zh) | 一种信息处理方法及装置 | |
CN115709666A (zh) | 充电柜的换电控制方法和装置 | |
CN118395241A (zh) | App分类方法、装置、电子设备及存储介质 | |
CN112566235B (zh) | 监测站的无线同步方法、装置及系统 | |
CN112306999B (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 |