当前位置: 首页 > 专利查询>黄颖专利>正文

一种基于区块链的数据同步方法技术

技术编号:25914960 阅读:11 留言:0更新日期:2020-10-13 10:33
本发明专利技术涉及一种基于区块链的数据同步方法,该方法用于从源服务器同步不同部分数据到多个目标服务器,包括:每个目标服务器在源服务器登记其需要的数据同步条件;源服务器将数据同步条件分组,定时获取每组对应的数据变化信息,将每组的数据变化信息与该组对应的目标服务器标识符一起构造区块并加入区块链;目标服务器通过监测区块链进行数据同步。

【技术实现步骤摘要】
一种基于区块链的数据同步方法
本专利技术属于计算机领域,尤其涉及一种基于区块链的数据同步方法。
技术介绍
区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。区块链是由区块构成的链式结构,各个区块之间通过哈希值实现链接,后一个区块包含前一个区块的哈希值,随着区块数量的增加,一个区块与一个区块相继接续,形成的结果就构成了区块链。现有技术中的数据同步技术通常是一个源服务器到一个目标服务器的同步,其类型大致可分为两种,一种是同步增量,即每次源服务器上的数据修改都即时同步到目标服务器上,另一种是定时将源服务器上的数据快照同步到目标服务器上。从而保持目标服务器和源服务器上的全部数据的同步。但是实际情况中,可能目标服务器并不需要同步源服务器上的全部数据,只需要保持部分数据的同步,并且同时具有多个目标服务器,每个目标服务器都只需要保持部分数据同步。对于上述情况,现有技术上尚缺乏有效的解决方案。
技术实现思路
为了解决现有技术中的上述问题,本专利技术提供了一种基于区块链的数据同步方法。本专利技术采用的技术方案具体如下:一种基于区块链的数据同步方法,包括以下步骤:步骤100:每个目标服务器在源服务器登记其需要的数据同步条件;步骤200:源服务器根据其登记的所有数据同步条件,将数据同步条件分组,同一组中的数据同步条件至少包括一个或多个共同的交集条件,使得同组的数据同步条件至少涉及部分共同的同步数据;r>步骤300:对于每个数据同步条件组,源服务器定时获取该组中所有数据同步条件对应的数据变化信息,这些数据变化信息的并集构成该组的数据变化信息;步骤400:对于每一组数据变化信息,源服务器将其与该组对应的目标服务器标识符一起,构造一个区块并加入区块链;步骤500:当区块链中增加了一个新区块时,每个目标服务器检测该新区块中是否包括自身的标识符,如果有,则根据该区块中的数据变化信息同步自身存储的数据。进一步地,所述源服务器包括数据库系统,所述目标服务器的数据同步条件包括数据库中数据表的标识符。进一步地,所述数据同步条件包括数据的起始时间。进一步地,所述数据同步条件包括数据表的标识符、主键以及主键满足的预定条件。进一步地,所述步骤100包括:目标服务器向源服务器发送数据同步请求,所述数据同步请求中包括目标服务器的标识符以及相应的数据同步条件,源服务器将所述目标服务器标识符和数据同步条件关联存储。进一步地,所述数据变化信息指的是当前数据相对于上一次获取数据的变化情况。进一步地,目标服务器是区块链网络中的一个区块链节点。进一步地,目标服务器不是区块链网络中的节点,通过查询区块链网络获取区块链数据。本专利技术的有益效果是:能够对多个目标服务器的不同数据需求进行同步,提高同步效率。【附图说明】此处所说明的附图是用来提供对本专利技术的进一步理解,构成本申请的一部分,但并不构成对本专利技术的不当限定,在附图中:图1是本专利技术数据同步方法所应用的系统结构。【具体实施方式】下面将结合附图以及具体实施例来详细说明本专利技术,其中的示意性实施例以及说明仅用来解释本专利技术,但并不作为对本专利技术的限定。参见附图1,其示出了本专利技术数据同步方法所应用的系统结构,该系统中包括一个源服务器以及一个或多个目标服务器,所述源服务器和目标服务器共同构成了本专利技术的区块链网络。所述源服务器存储了本专利技术的源数据,而每个目标服务器仅需要对其中的部分源数据进行数据同步。同时,每个服务器都构成了区块链网络中的一个区块链节点。基于上述系统结构,下面详细说明本专利技术的数据同步方法。步骤100:每个目标服务器在源服务器登记其需要的数据同步条件。如前所述,每个目标服务器只是需要同步源数据中的一部分。例如,根据本专利技术的一个实施例,源服务器包括一个数据库系统,而某个目标服务器只需要该数据库中的一个数据表,因此该目标服务器的数据同步条件可以包括该数据表的标识符。根据本专利技术的另一个实施例,某个目标服务器只需要某个数据表在某个时间之后的数据,则该目标服务器的数据同步条件可以包括该数据表的标识符以及起始时间。根据本专利技术的又一个实施例,某个目标服务器只需要某个数据表中主键值符合预定条件的数据记录,则该目标服务器的数据同步条件可以包括数据表的标识符、主键以及所述预定条件。总之,目标服务器可以根据具体情况灵活指定数据同步条件,然后在源服务器上登记其数据同步条件。具体的,目标服务器可以向源服务器发送一个数据同步请求,所述数据同步请求中包括目标服务器的标识符以及相应的数据同步条件,源服务器将所述目标服务器标识符和数据同步条件关联存储,以待后续使用。步骤200:源服务器根据其登记的所有数据同步条件,将数据同步条件分组,同一组中的数据同步条件至少包括一个或多个共同的交集条件,使得同组的数据同步条件至少涉及部分共同的同步数据。每个目标服务器的数据同步条件可以视为多个条件的集合,例如前述实施例,目标服务器A只需要数据表tableA在时间timeA之后的数据,则其数据同步条件可以包括两个具体条件:数据表的标识符tableA、起始时间timeA;同理,目标服务器B的数据同步条件可以包括:数据表tableA、起始时间timeB。则两者的交集条件包括共同的数据表tableA。并且,如果timeA早于timeB,则实际上目标服务器B需要同步的数据是目标服务器A需要同步数据的子集,也就是说timeB也可以视为两者的交集条件。因此,可以将目标服务器A和B的数据同步条件分在同一组。以上只是分组策略的一个实施例,在更为复杂的条件需求下,系统可以有更加灵活和针对性的分组策略,本专利技术不对具体的分组策略进行限制,但是分组的原则是使得具有类似数据同步需求的尽可能的分在同一组,也就是同组中的目标服务器所需的同步数据是具有大量相同部分的,这样可以提高后续的同步效率,减少资源消耗。分组之后,每个组实际上包括一个或多个目标服务器的数据同步条件,同组的目标服务器可以进行相近的数据同步处理。步骤300:对于每个数据同步条件组,源服务器定时获取该组中所有数据同步条件对应的数据变化信息,这些数据变化信息的并集构成该组的数据变化信息。例如,对第一个数据同步条件组(下称第一组),假设该第一组中有m个数据同步条件,对于其中任意一个数据同步条件,源服务器每隔一定时间(例如每隔一小时)获取该数据同步条件所对应的数据变化信息,所述数据变化信息指的是当前数据相对于上一次获取数据的变化情况。以前述实施例为例,假设数据同步条件为{数据表tableA,起始时间timeA},timeA为今天1点,源服务器每隔一小时获取一次数据变化信息,源服务器在2点时检查tableA的所有数据记录,确定与1点时相比,这一个小时内发生变化的数据记录(无论是修改、删除或者新增),这些变化的数据记录集合构成了2点本文档来自技高网...

【技术保护点】
1.一种基于区块链的数据同步方法,其特征在于,包括以下步骤:/n步骤100:每个目标服务器在源服务器登记其需要的数据同步条件;/n步骤200:源服务器根据其登记的所有数据同步条件,将数据同步条件分组,同一组中的数据同步条件至少包括一个或多个共同的交集条件,使得同组的数据同步条件至少涉及部分共同的同步数据;/n步骤300:对于每个数据同步条件组,源服务器定时获取该组中所有数据同步条件对应的数据变化信息,这些数据变化信息的并集构成该组的数据变化信息;/n步骤400:对于每一组数据变化信息,源服务器将其与该组对应的目标服务器标识符一起,构造一个区块并加入区块链;/n步骤500:当区块链中增加了一个新区块时,每个目标服务器检测该新区块中是否包括自身的标识符,如果有,则根据该区块中的数据变化信息同步自身存储的数据。/n

【技术特征摘要】
1.一种基于区块链的数据同步方法,其特征在于,包括以下步骤:
步骤100:每个目标服务器在源服务器登记其需要的数据同步条件;
步骤200:源服务器根据其登记的所有数据同步条件,将数据同步条件分组,同一组中的数据同步条件至少包括一个或多个共同的交集条件,使得同组的数据同步条件至少涉及部分共同的同步数据;
步骤300:对于每个数据同步条件组,源服务器定时获取该组中所有数据同步条件对应的数据变化信息,这些数据变化信息的并集构成该组的数据变化信息;
步骤400:对于每一组数据变化信息,源服务器将其与该组对应的目标服务器标识符一起,构造一个区块并加入区块链;
步骤500:当区块链中增加了一个新区块时,每个目标服务器检测该新区块中是否包括自身的标识符,如果有,则根据该区块中的数据变化信息同步自身存储的数据。


2.根据权利要求1所述的方法,其特征在于,所述源服务器包括数据库系统,所述目标服务器的数据同步条件包括数据库中数据表的标识符...

【专利技术属性】
技术研发人员:黄颖
申请(专利权)人:黄颖
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1