基于区块链的数据同步方法、系统和计算机可读存储介质与流程

文档序号:23053952发布日期:2020-11-25 17:31阅读:126来源:国知局
基于区块链的数据同步方法、系统和计算机可读存储介质与流程

本发明涉及区块链技术领域,具体而言,涉及一种基于区块链的数据同步方法,一种基于区块链的数据同步系统,一种计算机可读存储介质。



背景技术:

现在业务系统中,各个业务系统经常需要进行数据同步,但是数据同步过程缺少监控和管理,会给数据造成泄密和破坏的可能;源系统的数据能否安全的同步到目标系统,同步后源系统和目标系统的数据是否一致,如何核查etl(extract-transform-load)过程数据是否安全,有没有第三方程序对数据进行拦截、破坏,是一些核心的业务系统比较关注的问题;另外数据在传输过程如何对隐私数据进行保护,防止数据泄密,也是etl过程需要面对的问题。



技术实现要素:

本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。

为此,本发明的一个方面在于提出了一种基于区块链的数据同步方法。

本发明的另一个方面在于提出了一种基于区块链的数据同步系统。

本发明的再一个方面在于提出了一种计算机可读存储介质。

有鉴于此,根据本发明的一个方面,提出了一种基于区块链的数据同步方法,包括:在将原始数据同步到至少一个目标业务系统的过程中,基于区块链,确定至少一个目标区块节点及每个目标区块节点的哈希值,其中,至少一个目标区块节点与至少一个目标业务系统一一对应;将每个哈希值作为水印加密信息分别对原始数据进行加密;将加密后的原始数据分别同步到对应的目标业务系统,并将每个哈希值对应的数字水印发送至对应的目标业务系统。

本发明提供的基于区块链的数据同步方法,在将原始数据从源系统同步到至少一个目标业务系统的过程中,包括数据清洗、转换、装载的过程,基于已有区块链,区块链包括多个区块节点,从多个区块节点中确定与目标业务系统数量相同的目标区块节点及各目标区块节点的哈希值,且保证一个目标区块节点对应一个目标业务系统。根据每个目标区块节点的哈希值对应的数字水印对原始数据进行水印加密,例如,将每个哈希值对应的数字水印叠加到原始数据中,从而对原始数据形成哈希值与数字水印的双重保护。然后把加密的原始数据定向同步到对应的目标业务系统,也就是保证一个哈希值对应一个目标业务系统。并将每个哈希值对应的数字水印发送至对应的目标业务系统,可以防止哈希值作为解密信息在传输中被篡改。由于区块节点的哈希值具有唯一性,且数字水印可防止篡改,因此,被加密的原始数据具有可追踪溯源性。通过本发明提供的基于区块链的数据同步方法,能够对同步过程中的数据进行水印加密保护,并且保证一个哈希值对应一个目标业务系统,从而防止数据在传输过程中被篡改、被泄密,以及出现数据泄密的时候能进行追踪溯源。

根据本发明的上述基于区块链的数据同步方法,还可以具有以下技术特征:

在上述任一技术方案中,基于目标区块节点的哈希值被使用后,对目标区块节点进行标记。

在该技术方案中,以两个目标业务系统进行说明,相应的需要确定两个目标区块节点,利用每个目标区块节点的哈希值,作为加密的水印键值,分别对原始数据进行加密,然后把加密的原始数据定向同步到对应的目标业务系统,同时对这两个目标区块节点进行标记,标记后的区块节点不再作为目标区块节点使用,从而保证每个区块节点的哈希值仅用在一个数据同步过程。

在上述任一技术方案中,确定至少一个目标区块节点的步骤,具体包括:根据至少一个目标业务系统的数量,按照区块链中各区块节点的节点顺序,确定相同数量的未被标记的区块节点,将该相同数量的未被标记的区块节点作为该至少一个目标区块节点。

在该技术方案中,按照区块链中各个区块节点的节点顺序,依次判断每个区块节点是否被使用过,未被标记的区块节点就是未被使用过,根据目标业务系统的数量,找到相同数量的未被标记的区块节点,这些区块节点就是目标区块节点。在当前数据同步过程中,将每个目标区块节点对应的哈希值,作为加密的水印键值,分别对原始数据进行加密,然后将加密的原始数据定向同步到对应的目标业务系统。通过本发明的技术方案,能够对同步过程中的数据进行水印加密,并且保证一个哈希值对应一个目标业务系统,从而防止数据在传输过程中被篡改、被泄密,以及出现数据泄密的时候能进行追踪溯源。

在上述任一技术方案中,基于区块链的数据同步方法,还包括:构建区块链;构建区块链的步骤,具体包括:构建区块结构;根据区块结构构建多个区块节点;根据每个区块节点所包含的id标识号,将多个区块节点按序相连。

在该技术方案中,利用javascript脚本或java语言构造一个区块结构,利用区块结构构建多个区块节点,根据每个区块节点的id标识号将多个区块节点按序相连组装成一个区块链,利用区块链产生一系列的哈希值,每个区块节点对应一个哈希值。

在上述任一技术方案中,id标识号包括区块节点自身的id标识号,以及区块节点的前序区块节点的id标识号。

在该技术方案中,第一个被最早构建的区块称为创世区块,拥有一个唯一的id标识号。除创世区块外,每个后续建立的区块节点均包含两个id标识号,一个是该区块节点自身的id标识号,另一个是前序区块节点的id标识号。通过id标识号间的前后指向关系,所有区块节点按序相连就构成了区块链。

在上述任一技术方案中,确定每个目标区块节点的哈希值的步骤,具体包括:根据每个目标区块节点自身的id标识号、时间戳、传输文字描述及前序区块节点的哈希值确定每个目标区块节点的哈希值。

在该技术方案中,根据每个目标区块节点自身的id标识号、时间戳、传输文字如传输至哪个业务系统等标志性文字,及该目标区块节点的前序区块节点的哈希值来确定哈希值,保证哈希值的唯一性,进而保证同步过程中数据的安全性及可追溯性。

在上述任一技术方案中,原始数据包括数据库数据、文本数据。

在该技术方案中,原始数据包括但不限于数据库数据、文本数据。

在上述任一技术方案中,基于原始数据为数据库数据,数据同步方法还包括:根据每个哈希值确定对应的密钥,根据密钥对原始数据进行加密。

在该技术方案中,利用区块节点的哈希值对数据库数据进行加密,具体而言,将每个目标区块节点的哈希值作为加密函数的输入键值从而确定对应的密钥,再利用密钥对数据库进行加密。同时,将哈希值作为水印字段发送至对应的目标业务系统,目标业务系统使用该哈希值,进行数据解密。

其中,常用的加密函数包括md5、sha256等。

在上述任一技术方案中,基于原始数据为文本数据,数据同步方法还包括:将每个哈希值对应的数字水印叠加至原始数据中。

根据本发明的另一个方面,提出了一种基于区块链的数据同步系统,包括:存储器,存储器存储有计算机程序;处理器,处理器执行计算机程序时实现:如上述任一技术方案的基于区块链的数据同步方法。

本发明提供的基于区块链的数据同步系统,处理器执行计算机程序时实现如上述任一技术方案的基于区块链的数据同步方法的步骤,因此该基于区块链的数据同步系统包括上述任一技术方案的基于区块链的数据同步方法的全部有益效果。

根据本发明的再一个方面,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一技术方案的基于区块链的数据同步方法。

本发明提供的计算机可读存储介质,计算机程序被处理器执行时实现如上述任一技术方案的基于区块链的数据同步方法的步骤,因此该计算机可读存储介质包括上述任一技术方案的基于区块链的数据同步方法的全部有益效果。

本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1示出了本发明的一个实施例的基于区块链的数据同步方法的流程示意图;

图2示出了本发明的另一个实施例的基于区块链的数据同步方法的流程示意图;

图3示出了本发明的再一个实施例的基于区块链的数据同步方法的流程示意图;

图4示出了本发明的一个具体实施例的基于区块链的数据同步方法的示意图;

图5示出了本发明的另一个具体实施例的基于区块链的数据同步方法的流程示意图;

图6示出了本发明的一个实施例的基于区块链的数据同步系统的示意框图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。

本发明第一方面的实施例,提出一种基于区块链的数据同步方法。

图1示出了本发明的一个实施例的基于区块链的数据同步方法的流程示意图。其中,该基于区块链的数据同步方法包括:

步骤102,在将原始数据同步到至少一个目标业务系统的过程中,基于区块链,确定至少一个目标区块节点及每个目标区块节点的哈希值,其中,至少一个目标区块节点与至少一个目标业务系统一一对应;

步骤104,根据每个目标区块节点的哈希值对应的数字水印分别对原始数据进行加密;

步骤106,将加密后的原始数据分别同步到对应的目标业务系统,并将每个目标区块节点的哈希值对应的数字水印发送至对应的目标业务系统。

本发明实施例提供的基于区块链的数据同步方法,在将原始数据从源系统同步到至少一个目标业务系统的过程中,包括数据清洗、转换、装载的过程,基于已有区块链,区块链包括多个区块节点,从多个区块节点中确定与目标业务系统数量相同的目标区块节点及各目标区块节点的哈希值,且保证一个目标区块节点对应一个目标业务系统。根据每个目标区块节点的哈希值对应的数字水印对原始数据进行水印加密,例如,将每个哈希值对应的数字水印叠加到原始数据中,从而对原始数据形成哈希值与数字水印的双重保护。然后把加密的原始数据定向同步到对应的目标业务系统,也就是保证一个哈希值对应一个目标业务系统。并将每个哈希值对应的数字水印发送至对应的目标业务系统,可以防止哈希值作为解密信息在传输中被篡改。由于区块节点的哈希值具有唯一性,且数字水印可防止篡改,因此,被加密的原始数据具有可追踪溯源性。通过本发明提供的基于区块链的数据同步方法,能够对同步过程中的数据进行水印加密保护,并且保证一个哈希值对应一个目标业务系统,从而防止数据在传输过程中被篡改、被泄密,以及出现数据泄密的时候能进行追踪溯源。

在上述实施例中,基于目标区块节点的哈希值被使用后,对目标区块节点进行标记。

在该实施例中,以两个目标业务系统进行说明,相应的需要确定两个目标区块节点,利用每个目标区块节点的哈希值,作为加密的水印键值,分别对原始数据进行加密,然后把加密的原始数据定向同步到对应的目标业务系统,同时对这两个目标区块节点进行标记,标记后的区块节点不再作为目标区块节点使用,从而保证每个区块节点的哈希值仅用在一个数据同步过程。

图2示出了本发明的另一个实施例的基于区块链的数据同步方法的流程示意图。其中,该基于区块链的数据同步方法包括:

步骤202,在将原始数据同步到至少一个目标业务系统的过程中,根据目标业务系统的数量,按照区块链中各区块节点的节点顺序,确定相同数量的未被标记的区块节点,将该相同数量的未被标记的区块节点作为至少一个目标区块节点,其中,至少一个目标区块节点与至少一个目标业务系统一一对应;

步骤204,确定每个目标区块节点的哈希值;

步骤206,根据每个目标区块节点的哈希值对应的数字水印分别对原始数据进行加密;

步骤208,将加密后的原始数据分别同步到对应的目标业务系统,并将每个目标区块节点的哈希值对应的数字水印发送至对应的目标业务系统;

步骤210,基于目标区块节点的哈希值被使用后,对目标区块节点进行标记。

在该实施例中,按照区块链中各个区块节点的节点顺序,依次判断每个区块节点是否被使用过,未被标记的区块节点就是未被使用过,根据目标业务系统的数量,找到相同数量的未被标记的区块节点,这些区块节点就是目标区块节点。在当前数据同步过程中,将每个目标区块节点对应的哈希值,作为加密的水印键值,分别对原始数据进行加密,然后将加密的原始数据定向同步到对应的目标业务系统。通过本发明的技术方案,能够对同步过程中的数据进行水印加密,并且保证一个哈希值对应一个目标业务系统,从而防止数据在传输过程中被篡改、被泄密,以及出现数据泄密的时候能进行追踪溯源。

在上述任一实施例中,基于区块链的数据同步方法,还包括:构建区块链;构建区块链的步骤,具体包括:构建区块结构;根据区块结构构建任意个区块节点;根据每个区块节点所包含的id标识号,将任意个区块按序相连。

在该实施例中,利用javascript脚本或java语言构造一个区块结构,利用区块结构构建多个区块节点,根据每个区块节点所包含的id标识号将多个区块节点按序相连组装成一个区块链,利用区块链产生一系列的哈希值,每个区块节点对应一个哈希值。

可以理解地,区块节点的数量足够多,这样可以避免每次进行数据同步时,都构建新的区块节点。

在上述任一实施例中,id标识号包括区块节点自身的id标识号,以及区块节点的前序区块节点的id标识号。

在该实施例中,第一个被最早构建的区块称为创世区块,拥有一个唯一的id标识号。除创世区块外,每个后续建立的区块节点均包含两个id标识号,一个是该区块节点自身的id标识号,另一个是前序区块节点的id标识号。通过id标识号间的前后指向关系,所有区块节点按序相连就构成了区块链。

图3示出了本发明的再一个实施例的基于区块链的数据同步方法的流程示意图。其中,该基于区块链的数据同步方法包括:

步骤302,在将原始数据同步到至少一个目标业务系统的过程中,根据至少一个目标业务系统的数量,按照区块链中各区块节点的节点顺序,确定相同数量的未被标记的区块节点,将该相同数量的未被标记的区块节点作为至少一个目标区块节点,其中,至少一个目标区块节点与至少一个目标业务系统一一对应;

步骤304,根据每个目标区块节点自身的id标识号、时间戳、传输文字描述及前序区块节点的哈希值确定每个目标区块节点的哈希值;

步骤306,根据每个目标区块节点的哈希值对应的数字水印分别对原始数据进行加密;

步骤308,将加密后的原始数据分别同步到对应的目标业务系统,并将每个目标区块节点的哈希值对应的数字水印发送至对应的目标业务系统;

步骤310,基于目标区块节点的哈希值被使用后,对目标区块节点进行标记。

在该实施例中,根据每个目标区块节点自身的id标识号、时间戳、传输文字如传输至哪个业务系统等标志性文字,及该目标区块节点的前序区块节点的哈希值来确定哈希值,保证哈希值的唯一性,进而保证同步过程中数据的安全性及可追溯性。

可以理解地,对于创世区块,它没有前序区块节点,故前序区块节点的哈希值为零。

在上述任一实施例中,原始数据包括数据库数据、文本数据。

在该实施例中,原始数据包括但不限于:数据库数据、文本数据。

在上述任一实施例中,基于原始数据为数据库数据,数据同步方法还包括:根据每个哈希值确定对应的密钥,根据密钥对原始数据进行加密。

在该实施例中,利用区块节点的哈希值对数据库数据进行加密,具体而言,将每个目标区块节点的哈希值作为加密函数的输入键值从而确定对应的密钥,再利用密钥对数据库进行加密。同时,将哈希值作为水印字段发送至对应的目标业务系统,目标业务系统使用该哈希值,进行数据解密。

具体实施例一,提出了一种基于区块链的数据同步方法。

首先规划一个区块链,如图4所示,构造区块链的0节点(区块链0)作为创世区块,得到区块链0节点的hash值(hash1),构造区块链的1节点(区块链1),得到区块链1节点的hash值(hash2),构造区块链的2节点(区块链2),得到区块链2节点的hash值(hash3),构造区块链的3节点(区块链3),得到区块链3节点的hash值(hash4)。按照上面步骤构造多个区块节点,分别获取区块链的每个区块节点的hash值。

在业务系统数据同步、传播过程中,基于区块链的数据同步方法主要包括以下步骤:

1、对原始数据利用0节点的hash值,作为加密的水印键值,进行数据加密,然后把加密后的原始数据定向同步到第1个业务系统,同时hash值作为水印字段保存到第1个业务系统;第1个业务系统使用0节点的hash值,进行数据解密。

2、对原始数据利用1节点的hash值,作为加密的水印键值,进行数据加密,然后把加密后的原始数据定向同步到第2个业务系统,同时hash值作为水印字段保存到第2个业务业务系统;第2个业务系统使用1节点的hash值,进行数据解密。

3、对原始数据利用2节点的hash值,作为加密的水印键值,进行数据加密,然后把加密后的原始数据定向同步到第3个业务系统,同时hash值作为水印字段保存到第3个业务系统;第3个业务系统使用2节点的hash值,进行数据解密。

4、重复以上的步骤,可以对多个业务系统进行数据加密的水印保护。

本发明具体实施例提供的基于区块链的数据同步方法,针对数据采集、数据同步、数据扩散过程的安全性,利用区块链中区块节点所对应的哈希值对原始数据进行水印加密,通过业务管控保证一个哈希值仅对应一个目标业务系统,从而防止数据在传输过程中被篡改、被泄密,出现数据泄密的时候能进行追踪溯源。

图5示出了本发明的另一个具体实施例的基于区块链的数据同步方法的流程示意图。其中,该基于区块链的数据同步方法包括:

步骤402,在将原始数据同步到至少一个目标业务系统的过程中,构建区块链,区块链中区块节点的数量与至少一个目标业务系统的数量相同;

步骤404,确定各个区块节点的哈希值;

步骤406,根据每个目标区块节点的哈希值对应的数字水印分别对原始数据进行加密;

步骤408,将加密后的原始数据一一对应的同步至目标业务系统,并将每个哈希值对应的数字水印发送至对应的目标业务系统。

其中,构建区块链的步骤,具体包括:构建区块结构;根据区块结构构建与目标业务系统相同数量的区块节点;根据每个区块节点的id标识号,将各个区块节点按序相连。

本发明第二方面的实施例,提出了一种基于区块链的数据同步系统,图6示出了本发明的第一个实施例的基于区块链的数据同步系统500的示意框图。其中,该基于区块链的数据同步系统500包括:

存储器502,存储器502存储有计算机程序;

处理器504,处理器504执行计算机程序时实现:如上述任一实施例的基于区块链的数据同步方法。

本发明实施例提供的基于区块链的数据同步系统500,处理器504执行计算机程序时实现如上述任一实施例的基于区块链的数据同步方法的步骤,因此该基于区块链的数据同步系统500包括上述任一实施例的基于区块链的数据同步方法的全部有益效果。

本发明第三方面的实施例,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例的基于区块链的数据同步方法。

本发明实施例提供的计算机可读存储介质,计算机程序被处理器执行时实现如上述任一实施例的基于区块链的数据同步方法的步骤,因此该计算机可读存储介质包括上述任一实施例的基于区块链的数据同步方法的全部有益效果。

在本说明书的描述中,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性,除非另有明确的规定和限定;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1