CN114567644B - 一种数据同步的方法、装置及电子设备 - Google Patents
一种数据同步的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114567644B CN114567644B CN202210158023.XA CN202210158023A CN114567644B CN 114567644 B CN114567644 B CN 114567644B CN 202210158023 A CN202210158023 A CN 202210158023A CN 114567644 B CN114567644 B CN 114567644B
- Authority
- CN
- China
- Prior art keywords
- data
- party
- data record
- synchronous
- identifier
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据同步的方法、装置及电子设备。数据同步的方法,包括以下步骤:同步方接收被同步方发送的第一请求,用于请求获取目标标识符的集合,目标标识符的集合为满足第一数据记录集合的预设标识符规则且第一数据记录集合中不包含的标识符的集合;同步方发送目标标识符的集合至被同步方,以用于被同步方根据所述目标标识符的集合删除被同步方的第二数据记录集合中的待删除数据记录集合。将满足第一数据记录集合的预设标识符规则且第一数据记录集合中不包含的标识符形成目标标识符的集合发送给被同步方,可以减少资源消耗。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种数据同步的方法、装置及电子设备。
背景技术
随着互联网的高速发展以及移动互联网的普及,对数据同步提出了更高的要求。要求及时低带宽增量同步数据。在同步数据时要求增量同步新增、删除、更新的数据,目前的同步算法采用时间戳以及逐一对比数据记录标识符(通常是指ID)的方式,来发现新增、更新和删除的数据。尤其在删除数据时,通过被同步方将ID集合发送给同步方进行比较后,将同步方中不存在的ID集合返回给被同步方进行数据的删除,使得在同步更新时耗费网络流量并且受有限带宽局限,导致资源耗费多。因此,如何减少资源消耗是需要解决的问题。
发明内容
本申请实施例提供了一种数据同步的方法、装置及电子设备,可以减少资源消耗。
第一方面,本申请实施例提供了一种数据同步的方法,包括以下步骤:
同步方接收被同步方发送的第一请求,所述第一请求用于请求获取目标标识符的集合,所述目标标识符的集合为满足第一数据记录集合的预设标识符规则且所述第一数据记录集合中不包含的标识符的集合,所述第一数据记录集合为存储在所述同步方的数据记录的集合,所述数据记录包括数据和标识符,所述标识符与所述数据一一对应;
所述同步方发送所述目标标识符的集合至所述被同步方,以用于所述被同步方根据所述目标标识符的集合删除所述被同步方的第二数据记录集合中的待删除数据记录集合,所述第二数据记录集合为存储在所述被同步方的数据记录的集合。
第二方面,本申请实施例提供了一种数据同步的装置,包括:
第一接收模块,用于同步方接收被同步方发送的第一请求,所述第一请求用于请求获取目标标识符的集合,所述目标标识符的集合为满足第一数据记录集合的预设标识符规则且所述第一数据记录集合中不包含的标识符的集合,所述第一数据记录集合为存储在所述同步方的数据记录的集合,所述数据记录包括数据和标识符,所述标识符与所述数据一一对应;
第一发送模块,用于所述同步方发送所述目标标识符的集合至所述被同步方,以用于所述被同步方根据所述目标标识符的集合删除所述被同步方的第二数据记录集合中的待删除数据记录集合,所述第二数据记录集合为存储在所述被同步方的数据记录的集合。
第三方面,本申请实施例提供了一种电子设备,包括:处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机可操作来使计算机执行如第一方面所述的方法。
通过实施本申请实施例,将满足第一数据记录集合的预设标识符规则且所述第一数据记录集合中不包含的标识符形成目标标识符的集合发送给被同步方,可以减少资源消耗。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据同步的方法的流程示意图;
图2为本申请实施例提供的另一种数据同步的方法的流程示意图;
图3为本申请实施例提供的一种数据同步的装置的组成示意图;
图4为本申请实施例提供的一种电子设备的组成示意图。
具体实施方式
下面结合附图对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区分不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
需要说明的是,本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方法不应被解释为比其他实施例或设计方案更优地或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。在本申请实施例中,“A和/或B”表示A和B,A或B两个含义。“A,和/或B,和/或C”表示A、B、C中的任一个,或者,表示A、B、C中的任两个,或者,表示A和B和C。
随着互联网的高速发展以及移动互联网的普及,对数据同步提出了更高的要求。要求及时低带宽增量同步数据。在同步数据时要求增量同步新增、删除、更新的数据,目前的同步算法采用时间戳以及逐一对比数据记录标识符(通常是指ID)的方式,来发现新增、更新和删除的数据。尤其在删除数据时,通过被同步方将ID集合发送给同步方进行比较后,将同步方中不存在的ID集合返回给被同步方进行数据的删除,使得在同步更新时耗费网络流量并且受有限带宽局限,导致资源耗费多。因此,如何在实现将同步方的第一数据记录集合同步到被同步方的第二数据记录集合中时减少资源消耗是需要解决的问题。
下面,结合图1-图2对本申请实施例提供的数据同步的方法进行详细说明。
请参见图1,为本申请实施例提供的一种数据同步的方法的流程示意图,可以包括如下步骤S101-步骤S102:
步骤S101:同步方接收被同步方发送的第一请求,所述第一请求用于请求获取目标标识符的集合,所述目标标识符的集合为满足第一数据记录集合的预设标识符规则且所述第一数据记录集合中不包含的标识符的集合,所述第一数据记录集合为存储在所述同步方的数据记录的集合,所述数据记录包括数据和标识符,所述标识符与所述数据一一对应。
其中,同步方和被同步方均可以是数据库、服务器、终端、进程、系统等,本申请实施例不作任何限定。例如,可以是数据库与数据库之间的数据同步,可以是服务器与服务器之间的数据同步,也可以是服务器与终端之间的数据同步等。
同步方是指数据先发生变化的一方,被同步方是指将数据发生了变化后的同步方的数据同步过来的一方。也就是说,同步方数据变化后,被同步方随后数据也发生变化,来保持与同步方的数据一致。被同步方发送的第一请求是为了根据将同步方已经删除的数据将被同步方自身的相应的数据进行删除,从而与同步方的数据保持一致。
数据记录包括数据和标识符,标识符用于标识对应的数据。如表1所示,为本申请实施例提供的一种同步方的第一数据记录集合。
标识符(ID) | 数据 |
1 | D1 |
2 | D2 |
3 | D3 |
表1
从表1中可以看出,第一数据集合中包括3条数据记录,每条数据记录表示了1个数据,分别为数据D1、数据D2和数据D3。其中,数据D1的标识符为1,数据D2的标识符为2,数据D3的标识符为3。
各个数据记录的标识符与标识符各不相同,并且,均需要满足预设标识符规则。预设标识符规则包括但不限于任意两个相邻的标识符的差为1,或者为2,或者为3等,本申请实施例不作任何限定。例如,在预设标识符规则为任意两个相邻的标识符的差为1的情况下,标识符的取值依次可以是1、2、3、4、5…;而在预设标识符规则为任意两个相邻的标识符的差为2的情况下,标识符的取值依次可以是1、3、5、7、9…或者2、4、6、8、10…。需要说明的是,在第一次添加数据到空的第一数据记录集合时,按照预设标识符规则给数据设置标识符,将满足预设标识符条件的标识符按照由小到大的顺序,依次连续地递增后分别与各个数据对应。当删除第一数据记录集合中的数据时,相应的也会删除数据对应的标识符。也即,删除数据会删除数据所对应的整条数据记录。因此,第一数据记录集合中的标识符可能是不连续的。示例性的,在预设标识符规则为任意两个相邻的标识符的差为1的情况下,若第一数据记录集合中的标识符分别为1、2、3、5、7、8、9,那么根据预设标识符规则可以知道,该第一数据记录集合中的标识符不完全连续,缺少标识符4和6。标识符4和6既满足预设标识符规则,又不包含在第一数据记录集合的标识符中,因为标识符4和6就是这种情况下的目标标识符。
步骤S102:所述同步方发送所述目标标识符的集合至所述被同步方,以用于所述被同步方根据所述目标标识符的集合删除所述被同步方的第二数据记录集合中的待删除数据记录集合,所述第二数据记录集合为存储在所述被同步方的数据记录的集合。
由于第二数据记录集合是第一数据记录集合的同步数据,因此,第二数据记录集合中的数据记录也包括数据和标识符,数据和标识符一一对应,并且,第二数据记录集合中的标识符也满足预设标识符规则。
示例性的,如表2所示,为本申请实施例提供的另一种同步方的第一数据记录集合。
标识符(ID) | 数据 |
1 | D1 |
4 | D4 |
5 | D5 |
7 | D7 |
表2如表3所示,为本申请实施例提供的一种被同步方的第二数据记录集合。
标识符(ID) | 数据 |
1 | D1 |
2 | D2 |
4 | D4 |
5 | D5 |
6 | D6 |
7 | D7 |
表3
若表2中所示的第一数据记录集合的预设标识符规则为任意两个相邻的标识符的差为1,那么从表2中可以知道,标识符2、3、6缺失。因此,目标标识符的集合中的目标标识符为2、3、6。将目标标识符的集合发送给被同步方后,被同步方根据目标标识符的集合中的目标标识符,相应的删除第二数据记录集合中的目标标识符所对应的待删除数据记录集合。也就是说,被同步方接收到标识符2、3、6后,删除第二数据记录集合中标识符为2、3、6所对应的数据记录。而表3中所示的第二数据记录集合中没有标识符3,说明标识符3所对应的数据记录在之前的数据同步时已经被删除了。此次的待删除数据记录集合为第二数据记录集合中标识符2和6所对应的数据记录形成的集合。将第二数据记录集合中的待删除数据记录集合删除后,即实现了同步方与被同步方在存在删除数据时的数据同步。
本申请相较于现有技术,本申请中同步方根据第一数据记录集合中缺失的标识符确定目标标识符集合并发送给被同步方,而不需要被同步方将第二数据记录集合中的标识符集合发送给同步方后,同步方根据收到的标识符集合比对第一数据记录集合中的标识符集合来确定目标标识符集合并发送给被同步方。本申请减少了数据的传输量,缩短了数据同步的时长,减少了资源的耗费。
在一种可能的实现方式中,在所述目标标识符的集合中存在满足所述预设标识符规则的连续的目标标识符的情况下,所述连续的目标标识符以标识段的形式表示在所述目标标识符的集合中,所述标识段包括所述连续的目标标识符中的最大标识符和最小标识符。
示例性的,在预设标识符规则为任意两个相邻的标识符的差为1的情况下,若第一数据记录集合中的标识符分别为1、7、9、10,对应的目标标识符集合由目标标识符2、3、4、5、6、8组成。其中,目标标识符2、3、4、5、6形成了连续的目标标识符。因此,在目标标识符集合中,目标标识符2、3、4、5、6可以以标识段的形式表示。该标识段中包括连续的目标标识符中最小的目标标识符2、连续的目标标识符中最大的目标标识符6以及连接目标标识符2和6的用于表示此为标识段的连接符(例如,“-”)。从而,包括标识段的目标标识符集合可以是2、-、6、8。当存在较多连续的目标标识符的情况下,以标识段的形式来表示连续的目标标识符可以减少需要发送的数据量。
在一种可能的实现方式中,若连续的目标标识符的个数小于预设连续数目M,则该连续的目标标识符不以标识段的形式表示。其中,预设连续数目M为大于等于3的整数。例如,在预设标识符规则为任意两个相邻的标识符的差为1的情况下,若第一数据记录集合为1、4、5、7,预设连续数目M为3,那么目标标识符包括2、3、6。由于连续的目标标识符只有2和3两个,小于预设连续数目3,因此目标标识符2和3不以标识段的形式表示在目标标识符的集合中。目标标识符的集合中包括的为:2、3、6。
在一种可能的实现方式中,将第一数据记录集合中最大标识符的下一个满足预设标识符规则的标识符作为目标标识符的集合中的最后一个数据,以用于第二数据记录集合中的数据。
由于目标标识符的集合中的标识符是根据第一数据记录集合的标识符得到的,那么就可能存在这么一种情况:以预设标识符规则为任意两个相邻的标识符的差为1为例,第一数据记录集合的标识符包括1、2、4、6,第二数据记录集合的标识符包括1、2、3、4、6、7、8。根据第一数据记录集合中缺失的标识符可以得到的目标标识符的集合为标识符3和5,因此根据目标标识符的集合可以删除掉第二数据记录集合中标识符3所对应的数据记录,但是无法删除第二数据记录集合中标识符6和7对应的数据记录。而为了与同步方的第一数据记录集合实现数据同步,第二数据记录集合中标识符6和7对应的数据记录是需要被删除的。因此,可以将第一数据记录集合中最大的标识符的下一满足预设标识符规则的标识符加入目标标识符的集合中,用于删除第二数据记录集合中该标识符以及大于该标识符的标识符所对应的数据记录。示例性的,预设标识符规则为任意两个相邻的标识符的差为1,第一数据记录集合的标识符包括1、2、4、6,第二数据记录集合的标识符包括1、2、3、4、6、7、8。根据第一数据记录集合中缺失的标识符可以得到的目标标识符包括标识符3和5。再根据第一数据记录集合中最大的标识符为6可以得到最后一个目标标识符为7。从而得到的目标标识符的集合为3、5、7。标识符3和5用于删除第二数据记录集合标识符3和5对应的数据记录(第二数据记录集合中没有标识符5对应的数据记录,则无需对标识符5进行处理),标识符7用于删除第二数据记录集合中标识符为7以及标识符大于7所对应的数据记录,也即删除了标识符7和8所对应的数据记录,从而实现了被同步方的第二数据记录集合与同步方的第一数据记录集合的数据同步。
请参见图2,为本申请实施例提供的另一种数据同步的方法的流程示意图,可以包括如下步骤S201-步骤S204:
步骤S201:同步方接收被同步方发送的第一请求,所述第一请求用于请求获取目标标识符的集合,所述目标标识符的集合为满足第一数据记录集合的预设标识符规则且所述第一数据记录集合中不包含的标识符的集合,所述第一数据记录集合为存储在所述同步方的数据记录的集合,所述数据记录包括数据和标识符,所述标识符与所述数据一一对应。
步骤S202:所述同步方发送所述目标标识符的集合至所述被同步方,以用于所述被同步方根据所述目标标识符的集合删除所述被同步方的第二数据记录集合中的待删除数据记录集合,所述第二数据记录集合为存储在所述被同步方的数据记录的集合。
其中,步骤S201-步骤S202的具体实现方式请参考图1所示的步骤S101-步骤S102,此处不再进行任何赘述。
在一种可能的实现方式中,所述数据记录还包括时间戳,所述时间戳用于标识所对应数据的最新同步时间。
步骤S203:所述同步方接收所述被同步方发送的第二请求,所述第二请求中包括最新时间戳,所述最新时间戳为所述第二数据记录集合中的最接近当前时间的时间戳。
示例性的,如表4所示,为本申请实施例提供的另一种被同步方的第二数据记录集合。
标识符(ID) | 数据 | 时间戳 |
1 | D1 | 12:01 |
2 | D2 | 12:02 |
3 | D3 | 12:03 |
表4
从表4中可以看出,第二数据记录集合包括3条数据记录,表示3个数据,每个数据均有与之对应的标识符和时间戳。在该第二数据记录集合中,最新时间戳为12:03。那么,被同步方在发送第二请求给同步方时,第二请求中包括的最新时间戳为12:03。
步骤S204:所述同步方根据所述最新时间戳发送所述同步方的第一数据记录集合中的第三数据记录集合至所述被同步方,所述第三数据记录集合为所述第一数据记录集合中时间戳晚于所述最新时间戳所对应的数据记录的集合。
示例性的,如表5所示,为本申请实施例提供的另一种同步方的第一数据记录集合。
标识符(ID) | 数据 | 时间戳 |
1 | D1 | 10:02 |
3 | D3 | 10:04 |
4 | D4 | 10:04 |
表5
从表5中可以看出,第一数据记录集合中包含3条数据记录,表示3个数据,3个数据分别对应的时间戳为10:02、10:04和10:04。若同步方接收到的最新时间戳为10:03,那么可以得到第一数据记录集合中晚于最新时间戳10:03的时间戳所对应的第三数据记录集合。数据D3和数据D4的时间戳晚于最新时间戳,说明这两个数据还未同步到第二数据记录集合中。此时第三数据记录集合包括两条数据记录,分别为数据D3对应的标识符(3)和时间戳(10:04)以及数据D4对应的标识符(4)和时间戳(10:04)。得到第三数据记录集合后,将第三数据记录集合发送到被同步方,以用于被同步方将第三数据记录集合同步到第二数据记录集合中。第三数据记录集合中包括新增数据和/或更新数据。新增数据的标识符在第二数据记录集合中不存在,更新数据的标识符则在第二数据记录集合中存在。对于新增数据,将第三数据记录集合中的新增数据的标识符、数据以及时间戳添加到第二数据记录集合中,从而完成新增数据的同步。对于更新数据,将第三数据记录集合中的更新数据对应的标识符与第二数据记录集合中的标识符相匹配,从而更新第二数据记录集合中相应标识符所对应的数据和时间戳为第三数据记录集合中的数据和时间戳。
需要说明的是,第一请求和第二请求之间不存在先后关系。也就是说,可以先接收第一请求,对第一请求进行处理,再接收到第二请求,对第二请求进行处理;也可以先接收第二请求,对第二请求进行处理,再接收到第一请求,对第一请求进行处理;还可以连续接收两次第一请求/第二请求,对第一请求/第二请求进行处理等,本申请实施例不作任何限定。
在一种可能的实现方式中,在所述同步方存在新增数据的情况下,设置所述新增数据的标识符为满足所述第一数据记录集合的预设标识符规则且所述第一数据记录集合中不包含的最小标识符;以及,设置所述新增数据的时间戳为增加所述新增数据时的时间戳。
示例性的,请参见表6,为本申请实施例提供的另一种同步方的第一数据记录集合。
标识符(ID) | 数据 | 时间戳 |
1 | D1 | 11:28 |
3 | D3 | 11:30 |
6 | D6 | 11:30 |
表6
在11:31时存在新增数据ND1和ND2,若在新增数据ND1和ND2前的第一数据记录集合如表6所示,第一数据记录集合中包括3条数据记录,表示3个数据,3个数据分别对应的标识符分别为1、3、6。预设标识符规则为任意两个相邻的标识符的差为1,可以知道标识符2、4、5对应的数据已经被删除。此时新增数据ND1和数据ND2,无需接着标识符6,分别给数据ND1和数据ND2设置标识符为7和8,而是分别给数据ND1和数据ND2设置标识符为2和4,从而可以达到标识符的重复利用,提高标识符的复用率,减少数据同步时标识符的量的传输。
下面结合附图介绍本申请实施例涉及的装置。
请参见图3,为本申请实施例提供的一种数据同步的装置的组成示意图,数据同步的装置300可以包括:
第一接收模块301,用于同步方接收被同步方发送的第一请求,所述第一请求用于请求获取目标标识符的集合,所述目标标识符的集合为满足第一数据记录集合的预设标识符规则且所述第一数据记录集合中不包含的标识符的集合,所述第一数据记录集合为存储在所述同步方的数据记录的集合,所述数据记录包括数据和标识符,所述标识符与所述数据一一对应;
第一发送模块302,用于所述同步方发送所述目标标识符的集合至所述被同步方,以用于所述被同步方根据所述目标标识符的集合删除所述被同步方的第二数据记录集合中的待删除数据记录集合,所述第二数据记录集合为存储在所述被同步方的数据记录的集合。
可选的,数据记录还包括时间戳,数据同步的装置还可以包括:
第二接收模块303,用于所述同步方接收所述被同步方发送的第二请求,所述第二请求中包括最新时间戳,所述最新时间戳为所述第二数据记录集合中的最接近当前时间的时间戳;
第二发送模块304,用于所述同步方根据所述最新时间戳发送所述同步方的第一数据记录集合中的第三数据记录集合至所述被同步方,所述第三数据记录集合为所述第一数据记录集合中时间戳晚于所述最新时间戳所对应的数据记录的集合。
可选的,数据同步的装置还可以包括:
第一设置模块305,用于在所述同步方存在新增数据的情况下,设置所述新增数据的标识符为满足所述第一数据记录集合的预设标识符规则且所述第一数据记录集合中不包含的最小标识符;
第二设置模块306,用于设置所述新增数据的时间戳为增加所述新增数据时的时间戳。
可选的,在所述目标标识符的集合中存在满足所述预设标识符规则的连续的目标标识符的情况下,所述连续的目标标识符以标识段的形式表示在所述目标标识符的集合中,所述标识段包括所述连续的目标标识符中的最大标识符和最小标识符。
其中,数据同步的装置300的具体功能实现可以参见图1-图2对应的方法步骤,此处不再进行赘述。
请参见图4,为本申请实施例提供的一种电子设备的组成示意图。可包括:处理器110、存储器120;其中,处理器110、存储器120和通信接口130通过总线140连接,该存储器120用于存储指令,该处理器110用于执行该存储器120存储的指令,以实现如上图1-图2对应的方法步骤。
处理器110用于执行该存储器120存储的指令,以控制通信接口130接收和发送信号,完成上述方法中的步骤。其中,所述存储器120可以集成在所述处理器110中,也可以与所述处理器110分开设置。
作为一种实现方式,通信接口130的功能可以考虑通过收发电路或者收发的专用芯片实现。处理器110可以考虑通过专用处理芯片、处理电路、处理器或者通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的电子设备。即将实现处理器110,通信接口130功能的程序代码存储在存储器120中,通用处理器通过执行存储器120中的代码来实现处理器110,通信接口130的功能。
该电子设备所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于装置执行的方法步骤的内容的描述,此处不做赘述。
作为本实施例的另一种实现方式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中的方法。
作为本实施例的另一种实现方式,提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中的方法。
本领域技术人员可以理解,为了便于说明,图4中仅示出了一个存储器和处理器。在实际的电子设备或服务器中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限制。
应理解,在本申请实施例中,处理器可以是中央处理单元(Central ProcessingUnit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccess Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,简称DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
该总线除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线。
还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请的范围。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block,简称ILB)和步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据同步的方法,其特征在于,所述方法包括以下步骤:
同步方接收被同步方发送的第一请求,所述第一请求用于请求获取第一数据记录集合中目标标识符的集合,所述第一数据记录集合满足预设标识符规则,所述第一数据记录集合为存储在所述同步方的数据记录的集合,所述数据记录包括数据和标识符,所述标识符与所述数据一一对应;
所述同步方根据所述预设标识符规则确定所述第一数据记录集合中缺失的标识符,所述缺失的标识符为所述目标标识符;
所述同步方发送所述目标标识符的集合至所述被同步方,以用于所述被同步方根据所述目标标识符的集合删除所述被同步方的第二数据记录集合中的待删除数据记录集合,所述第二数据记录集合为存储在所述被同步方的数据记录的集合,所述待删除数据记录集合为所述第二数据记录集合中所述目标标识符所对应的数据记录形成的集合。
2.根据权利要求1所述的方法,其特征在于,所述数据记录还包括时间戳,所述方法还包括:
所述同步方接收所述被同步方发送的第二请求,所述第二请求中包括最新时间戳,所述最新时间戳为所述第二数据记录集合中的最接近当前时间的时间戳;
所述同步方根据所述最新时间戳发送所述同步方的第一数据记录集合中的第三数据记录集合至所述被同步方,所述第三数据记录集合为所述第一数据记录集合中时间戳晚于所述最新时间戳所对应的数据记录的集合。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述同步方存在新增数据的情况下,设置所述新增数据的标识符为满足所述第一数据记录集合的预设标识符规则且所述第一数据记录集合中不包含的最小标识符;
设置所述新增数据的时间戳为增加所述新增数据时的时间戳。
4.根据权利要求1所述的方法,其特征在于:
在所述目标标识符的集合中存在满足所述预设标识符规则的连续的目标标识符的情况下,所述连续的目标标识符以标识段的形式表示在所述目标标识符的集合中,所述标识段包括所述连续的目标标识符中的最大标识符和最小标识符。
5.一种数据同步的装置,其特征在于,所述装置包括:
第一接收模块,用于同步方接收被同步方发送的第一请求,所述第一请求用于请求获取第一数据记录集合中目标标识符的集合,所述第一数据记录集合满足预设标识符规则,所述第一数据记录集合为存储在所述同步方的数据记录的集合,所述数据记录包括数据和标识符,所述标识符与所述数据一一对应;
第一发送模块,用于所述同步方根据所述预设标识符规则确定所述第一数据记录集合中缺失的标识符,所述缺失的标识符为所述目标标识符,以及用于所述同步方发送所述目标标识符的集合至所述被同步方,以用于所述被同步方根据所述目标标识符的集合删除所述被同步方的第二数据记录集合中的待删除数据记录集合,所述第二数据记录集合为存储在所述被同步方的数据记录的集合,所述待删除数据记录集合为所述第二数据记录集合中所述目标标识符所对应的数据记录形成的集合。
6.根据权利要求5所述的装置,其特征在于,所述数据记录还包括时间戳,所述装置还包括:
第二接收模块,用于所述同步方接收所述被同步方发送的第二请求,所述第二请求中包括最新时间戳,所述最新时间戳为所述第二数据记录集合中的最接近当前时间的时间戳;
第二发送模块,用于所述同步方根据所述最新时间戳发送所述同步方的第一数据记录集合中的第三数据记录集合至所述被同步方,所述第三数据记录集合为所述第一数据记录集合中时间戳晚于所述最新时间戳所对应的数据记录的集合。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一设置模块,用于在所述同步方存在新增数据的情况下,设置所述新增数据的标识符为满足所述第一数据记录集合的预设标识符规则且所述第一数据记录集合中不包含的最小标识符;
第二设置模块,用于设置所述新增数据的时间戳为增加所述新增数据时的时间戳。
8.根据权利要求5所述的装置,其特征在于:
在所述目标标识符的集合中存在满足所述预设标识符规则的连续的目标标识符的情况下,所述连续的目标标识符以标识段的形式表示在所述目标标识符的集合中,所述标识段包括所述连续的目标标识符中的最大标识符和最小标识符。
9.一种电子设备,其特征在于,包括:
处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,包括:
所述计算机可读存储介质中存储有指令,当其在计算机上运行时,实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210158023.XA CN114567644B (zh) | 2022-02-21 | 2022-02-21 | 一种数据同步的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210158023.XA CN114567644B (zh) | 2022-02-21 | 2022-02-21 | 一种数据同步的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114567644A CN114567644A (zh) | 2022-05-31 |
CN114567644B true CN114567644B (zh) | 2023-10-20 |
Family
ID=81714535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210158023.XA Active CN114567644B (zh) | 2022-02-21 | 2022-02-21 | 一种数据同步的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114567644B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080107339A (ko) * | 2008-11-17 | 2008-12-10 | 우용태 | 복수의 이벤트 식별자가 포함된 데이타구조체를 이용한 데이타동기화 방법 및 상기 방법을 이용한 데이타 백업솔루션 |
US7490112B1 (en) * | 1997-04-15 | 2009-02-10 | Intellisync Corporation | System and methods for synchronizing information among disparate datasets |
US9613046B1 (en) * | 2015-12-14 | 2017-04-04 | Netapp, Inc. | Parallel optimized remote synchronization of active block storage |
CN107370803A (zh) * | 2017-07-11 | 2017-11-21 | 福建省天奕网络科技有限公司 | 一种数据同步的方法及终端 |
CN109450987A (zh) * | 2018-10-18 | 2019-03-08 | 杭州云永网络科技有限公司 | 编号生成方法、装置及系统和存储介质 |
CN109600423A (zh) * | 2018-11-20 | 2019-04-09 | 深圳绿米联创科技有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN109857806A (zh) * | 2018-12-30 | 2019-06-07 | 贝壳技术有限公司 | 数据库表的同步验证方法及装置 |
CN110602250A (zh) * | 2019-09-29 | 2019-12-20 | 网易(杭州)网络有限公司 | 数据同步方法、装置、服务器和终端设备 |
CN111107120A (zh) * | 2018-10-29 | 2020-05-05 | 亿阳信通股份有限公司 | 一种Redis集群的构建方法及系统 |
CN111209342A (zh) * | 2020-01-13 | 2020-05-29 | 阿里巴巴集团控股有限公司 | 分布式系统、数据同步与节点管理方法、设备及存储介质 |
CN111245548A (zh) * | 2020-01-14 | 2020-06-05 | 平安国际智慧城市科技股份有限公司 | 基于时间戳的数据同步方法、装置和计算机设备 |
CN112711584A (zh) * | 2021-01-08 | 2021-04-27 | 安徽希施玛数据科技有限公司 | 一种数据检查方法、检查装置、终端设备及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7130871B2 (en) * | 2002-10-17 | 2006-10-31 | International Business Machines Corporation | Method and apparatus for representing deleted data in a synchronizable database |
US8560669B2 (en) * | 2007-09-26 | 2013-10-15 | Quantcast Corporation | Tracking identifier synchronization |
US20160342670A1 (en) * | 2015-05-20 | 2016-11-24 | Preventice, Inc. | Device data synchronization |
US10579644B2 (en) * | 2015-11-17 | 2020-03-03 | International Business Machines Corporation | Record property synchronization in a network computing system |
-
2022
- 2022-02-21 CN CN202210158023.XA patent/CN114567644B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7490112B1 (en) * | 1997-04-15 | 2009-02-10 | Intellisync Corporation | System and methods for synchronizing information among disparate datasets |
KR20080107339A (ko) * | 2008-11-17 | 2008-12-10 | 우용태 | 복수의 이벤트 식별자가 포함된 데이타구조체를 이용한 데이타동기화 방법 및 상기 방법을 이용한 데이타 백업솔루션 |
US9613046B1 (en) * | 2015-12-14 | 2017-04-04 | Netapp, Inc. | Parallel optimized remote synchronization of active block storage |
CN107370803A (zh) * | 2017-07-11 | 2017-11-21 | 福建省天奕网络科技有限公司 | 一种数据同步的方法及终端 |
CN109450987A (zh) * | 2018-10-18 | 2019-03-08 | 杭州云永网络科技有限公司 | 编号生成方法、装置及系统和存储介质 |
CN111107120A (zh) * | 2018-10-29 | 2020-05-05 | 亿阳信通股份有限公司 | 一种Redis集群的构建方法及系统 |
CN109600423A (zh) * | 2018-11-20 | 2019-04-09 | 深圳绿米联创科技有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN109857806A (zh) * | 2018-12-30 | 2019-06-07 | 贝壳技术有限公司 | 数据库表的同步验证方法及装置 |
CN110602250A (zh) * | 2019-09-29 | 2019-12-20 | 网易(杭州)网络有限公司 | 数据同步方法、装置、服务器和终端设备 |
CN111209342A (zh) * | 2020-01-13 | 2020-05-29 | 阿里巴巴集团控股有限公司 | 分布式系统、数据同步与节点管理方法、设备及存储介质 |
CN111245548A (zh) * | 2020-01-14 | 2020-06-05 | 平安国际智慧城市科技股份有限公司 | 基于时间戳的数据同步方法、装置和计算机设备 |
CN112711584A (zh) * | 2021-01-08 | 2021-04-27 | 安徽希施玛数据科技有限公司 | 一种数据检查方法、检查装置、终端设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114567644A (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112968967B (zh) | 区块同步方法及装置 | |
CN110266763B (zh) | 跨网段互连的区块链网络实现方法、系统及存储介质 | |
US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN111460458B (zh) | 一种数据处理方法、相关装置及计算机可存储介质 | |
CN110402563B (zh) | 信息管理系统、车载装置、服务器以及路由表变更方法 | |
CN112035529A (zh) | 缓存方法、装置、电子设备及计算机可读存储介质 | |
CN113779452B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113935285A (zh) | 业务编码生成方法及系统 | |
CN114567644B (zh) | 一种数据同步的方法、装置及电子设备 | |
CN115277707A (zh) | 业务处理方法、装置、电子设备和存储介质 | |
CN112380411B (zh) | 敏感词处理方法、装置、电子设备、系统及存储介质 | |
CN114500036A (zh) | 一种传输数据的方法、装置以及介质 | |
CN111090530B (zh) | 一种分布式跨进程间通信总线系统 | |
CN106534049B (zh) | 基于服务器的数据下发方法、客户端、服务器及系统 | |
CN115269530A (zh) | 数据同步方法、电子设备及计算机可读存储介质 | |
CN116542668A (zh) | 一种基于区块链的数据处理方法、设备及可读存储介质 | |
CN112068899A (zh) | 插件加载方法、装置、电子设备及存储介质 | |
CN112688870A (zh) | 一种路由方法、路由装置及节点设备 | |
CN107528797B (zh) | 数据处理方法、装置及系统 | |
CN112187487B (zh) | 一种建立设备链的方法及设备 | |
CN112578996B (zh) | 一种存储系统的元数据的发送方法及存储系统 | |
CN117075966B (zh) | 指令处理方法、装置、设备及可读存储介质 | |
CN114978786B (zh) | 一种将第三方接口转化为系统标准接口的方法及装置 | |
CN113608703B (zh) | 数据处理方法及装置 | |
CN117573679A (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 |