一种多节点数据同步方法技术

技术编号:33084246 阅读:7 留言:0更新日期:2022-04-15 10:44
本发明专利技术公开了一种多节点数据同步方法,包括以下步骤:S10.数据验证;S20.数据更新:S30.提交更新记录上链。该发明专利技术多节点数据同步方法与现有技术相比,无需建设中心数据库和中心数据节点,降低了建设成本,且少数数据的失效不会影响到其他数据的正常操作,失效节点恢复后可快速更新数据,改善了容灾性;此外,该数据同步方法需要在至少控制链上过半算例的情况下才有可能篡改数据,从而大幅度提高了数据的可靠性。靠性。靠性。

【技术实现步骤摘要】
一种多节点数据同步方法


[0001]本专利技术涉及区块链
,尤其是涉及一种多节点数据同步方法。

技术介绍

[0002]当今世界是一个充满着数据的互联网时代,互联网世界即数据世界,面对庞大的数据体量,人们对数据同步的需求也是日益剧增,数据同步的重要性在当前世界的重要性不言而喻。
[0003]现有技术中,通常使用两种方法实现数据同步:其一,建立中心数据库,但是随着数据体量的日益剧增,导致建设和维护中心数据库成本日益增加;其二,采用数据节点的方式,各节点在需要调用数据时,通过API(应用程序接口)早数据库中进行调用数据并提交修改,采用该方式,会造成中心数据节点压力过大,一旦出现问题将会影响其余所有节点数据的正常使用,对于需要实时更新、锁定的数据内容,易造成性能瓶颈;此外,一旦中心数据节点产生故障或者发生数据安全问题,容易造成数据丢失、数据篡改等问题,使得该数据同步方式的容灾性极差。
[0004]因此,有必要对现有技术中的多节点数据同步方法进行改进。

技术实现思路

[0005]本专利技术的目的在于克服现有技术中存在的缺陷,提供一种降低成本、改善容灾性并提高安全可靠性的多节点数据同步方法。
[0006]为实现上述技术效果,本专利技术的技术方案为:一种多节点数据同步方法,包括以下步骤:
[0007]S10.数据验证:判断本地数据HASH值是否与最新链上数据HASH值是否一致,将HASH值不一致的本地数据更新至与最新链上数据HASH值一致;
[0008]S20.数据更新:根据S10所得数据,生成更新操作记录,判断本地数据HASH值是否与最新链上数据HASH值是否一致,将HASH值不一致的本地数据更新至与最新链上数据HASH值一致;
[0009]S30.提交更新记录上链:向区块链提交操作记录上链,在链上固定数据的更新操作序列。
[0010]优选的,所述步骤S10包括以下步骤:
[0011]S1A.计算本地数据HASH:根据验证数据对象,计算所述本地数据的更新记录序列HASH值;
[0012]S1B.对比最新链上数据HASH:获取链上该数据的更新序列最新HASH值,与S1A所得HASH值进行对比,如一致则执行步骤S1E,否则执行步骤S1C;
[0013]S1C.获取链上数据更新序列:从最新数据块上查询本地数据的更新记录序列HASH值,并将之后该区块内涉及该数据的更新操作序列记录获取到本地;
[0014]S1D.本地数据更新:将从所述步骤S1C获取到的更新操作序列逐条进行本地数据
更新,而后执行步骤S1B;
[0015]S1E.验证通过:将本地数据与待对比数据进行比较,返回验证成功或者失败。
[0016]优选的,所述步骤S20包括以下步骤:
[0017]S2A.准备更新数据:将待更新数据内容,根据数据对象生成更新操作记录;
[0018]S2B.计算本地数据HASH:计算本地该数据的更新记录序列HASH值;
[0019]S2C.对比最新链上数据HASH:获取链上该数据的更新记录序列最新HASH值,与S2B所得HASH值进行对比,如一致则执行步骤S2F,否则执行步骤S2D;
[0020]S2D.获取链上数据更新序列:从最新数据块上查询本地数据的更新记录序列HASH值,并将之后该区块内涉及该数据的更新操作序列记录获取到本地;
[0021]S2E.本地数据更新:将从所述步骤S2D获取到的更新操作序列逐条进行本地数据更新,而后执行步骤S2C;
[0022]S2F.验证通过:将本地数据与待对比数据进行比较,返回验证成功或者失败。
[0023]优选的,所述步骤S30之后还包括步骤S40数据反馈:根据上链返回结果判断数据是否更新成功。
[0024]优选的,所述步骤S40包括以下步骤:
[0025]S4A.判断上链返回是否成功,若成功则执行步骤S4B,否则结束同步操作;
[0026]S4B.获取链上数据更新序列:从最新数据块上查询本地数据的更新记录序列HASH值,并将之后该区块内涉及该数据的更新操作序列记录获取到本地;
[0027]S4C.本地数据更新:将从所述步骤S41获取到的更新操作序列逐条进行本地数据更新综上所述,本专利技术多节点数据同步方法与现有技术相比,具有以下优点:
[0028](1)建设成本低:由于无需建设中心数据库和中心数据节点,各数据节点之间仅需按照接口协议进行数据操作,因此降低了成本;
[0029](2)容灾性好:即使少数节点失效或者网络断开,也不会影响到其他节点数据的操作,且失效节点恢复后可快速更新数据;
[0030](3)数据可靠性高:需要控制链上过半算力才有可能篡改数据,因此大幅度提高了数据的安全可靠性。
附图说明
[0031]图1是本专利技术的流程示意图;
[0032]图2是本专利技术数据验证的流程示意图;
[0033]图3是本专利技术数据更新的流程示意图;
[0034]图4是本专利技术数据反馈的流程示意图;
具体实施方式
[0035]下面结合附图和实施例,对本专利技术的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。
[0036]如图1

图4所示,本专利技术的多节点数据同步方法,包括以下步骤:
[0037]S10.数据验证:判断本地数据HASH值是否与最新链上数据HASH值是否一致,将HASH值不一致的本地数据更新至与最新链上数据HASH值一致;
[0038]S20.数据更新:根据S10所得数据,生成更新操作记录,判断本地数据HASH值是否与最新链上数据HASH值是否一致,将HASH值不一致的本地数据更新至与最新链上数据HASH值一致;
[0039]S30.提交更新记录上链:向区块链提交操作记录上链,在链上固定数据的更新操作序列。
[0040]其中,步骤S10包括以下步骤:
[0041]S1A.计算本地数据HASH:根据验证数据对象,计算本地数据的更新记录序列HASH值;
[0042]S1B.对比最新链上数据HASH:获取链上该数据的更新序列最新HASH值,与S1A所得HASH值进行对比,如一致则执行步骤S1E,否则执行步骤S1C;
[0043]S1C.获取链上数据更新序列:从最新数据块上查询本地数据的更新记录序列HASH值,并将之后该区块内涉及该数据的更新操作序列记录获取到本地;
[0044]S1D.本地数据更新:将从步骤S1C获取到的更新操作序列逐条进行本地数据更新,而后执行步骤S1B;
[0045]S1E.验证通过:将本地数据与待对比数据进行比较,返回验证成功或者失败。
[0046]步骤S20包括以下步骤:
[0047]S2A.准备更新数据:将待更新数据内容,根据数据对象生成更新操作记录;
[0048]S2B.计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多节点数据同步方法,其特征在于,包括以下步骤:S10.数据验证:判断本地数据HASH值是否与最新链上数据HASH值是否一致,将HASH值不一致的本地数据更新至与最新链上数据HASH值一致;S20.数据更新:根据S10所得数据,生成更新操作记录,判断本地数据HASH值是否与最新链上数据HASH值是否一致,将HASH值不一致的本地数据更新至与最新链上数据HASH值一致;S30.提交更新记录上链:向区块链提交操作记录上链,在链上固定数据的更新操作序列。2.根据权利要求1所述的多节点数据同步方法,其特征在于:所述步骤S10包括以下步骤:S1A.计算本地数据HASH:根据验证数据对象,计算所述本地数据的更新记录序列HASH值;S1 B.对比最新链上数据HASH:获取链上该数据的更新序列最新HASH值,与S1A所得HASH值进行对比,如一致则执行步骤S1 E,否则执行步骤S1 C;S1 C.获取链上数据更新序列:从最新数据块上查询本地数据的更新记录序列HASH值,并将之后该区块内涉及该数据的更新操作序列记录获取到本地;S1 D.本地数据更新:将从所述步骤S1 C获取到的更新操作序列逐条进行本地数据更新,而后执行步骤S1 B;S1 E.验证通过:将本地数据与待对比数据进行比较,返回验证成功或者失败。3.根据权利要求1所述的多节点数据同步方法,其特征在于...

【专利技术属性】
技术研发人员:郑纲
申请(专利权)人:上海畅道智能交通技术咨询有限公司
类型:发明
国别省市:

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

1