一种基于区块链的数据备份方法及装置制造方法及图纸

技术编号:36806032 阅读:11 留言:0更新日期:2023-03-09 00:15
本说明书一个或多个实施例提供一种基于区块链的数据备份方法及装置。该方法包括:从区块链系统处获取相较于链下存储空间中的已备份历史区块数据的增量区块数据,并将获取到的增量区块数据备份至所述链下存储空间;根据所述链下存储空间中对应于所述已备份历史区块数据的已备份历史状态数据,对备份的增量区块数据进行链下重放,以根据链下重放结果生成与所述新增区块数据对应的增量状态数据。与所述新增区块数据对应的增量状态数据。与所述新增区块数据对应的增量状态数据。

【技术实现步骤摘要】
一种基于区块链的数据备份方法及装置


[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种基于区块链的数据备份方法及装置。

技术介绍

[0002]区块链技术(也被称之为,分布式账本技术)是一种去中心化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。
[0003]鉴于区块链技术存在上述优势,越来越多的数据,如个人信息、网络资源等被存储至区块链系统。而在区块链系统中,可以将维护的数据划分为区块数据和状态数据。其中,区块数据为区块链系统接收到的数据,多以交易的形式维护于区块链结构中,状态数据则为基于区块数据而发生变更的数据。

技术实现思路

[0004]有鉴于此,本说明书一个或多个实施例提供一种基于区块链的数据备份方法及装置
[0005]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0006]根据本说明书一个或多个实施例的第一方面,提出了一种基于区块链的数据备份方法,包括:
[0007]从区块链系统处获取相较于链下存储空间中的已备份历史区块数据的增量区块数据,并将获取到的增量区块数据备份至所述链下存储空间;
[0008]根据所述链下存储空间中对应于所述已备份历史区块数据的已备份历史状态数据,对备份的增量区块数据进行链下重放,以根据链下重放结果生成与所述新增区块数据对应的增量状态数据。
[0009]根据本说明书一个或多个实施例的第二方面,提出了一种基于区块链的数据备份装置,包括:
[0010]获取单元,从区块链系统处获取相较于链下存储空间中的已备份历史区块数据的增量区块数据,并将获取到的增量区块数据备份至所述链下存储空间;
[0011]重放单元,根据所述链下存储空间中对应于所述已备份历史区块数据的已备份历史状态数据,对备份的增量区块数据进行链下重放,以根据链下重放结果生成与所述增量区块数据对应的增量状态数据。
[0012]根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
[0013]处理器;
[0014]用于存储处理器可执行指令的存储器;
[0015]其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
[0016]根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,
其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
附图说明
[0017]图1是一示例性实施例提供的一种基于区块链的数据备份方法的流程图。
[0018]图2是一示例性实施例提供的一种基于区块链的数据备份方法的交互图。
[0019]图3是一示例性实施例提供的一种设备的结构示意图。
[0020]图4是一示例性实施例提供的一种基于区块链的数据备份装置的框图。
具体实施方式
[0021]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0022]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0023]鉴于区块链技术具有去中心化、不可篡改等特征,越来越多的用户选择将数据存证至区块链系统,以保证数据的安全性。区块链系统中维护的数据可以包括区块数据和状态数据,其中,区块数据多指:打包成区块的交易数据;而状态数据则多指:用于记录交易执行结果,会随交易执行不断更新的数据。
[0024]区块链节点在实际运行过程中,难免出现运行故障等问题,进而出现数据丢失、缺损等情况。为此,相关技术提出了对区块链系统中维护的数据进行备份的技术方案,以便区块链系统中的节点在出现故障时,可以基于备份的数据恢复节点中缺损的数据。
[0025]值得注意的是,为保证节点的正常运行,通常需要保证节点中恢复的区块数据与状态数据是同步的。应当理解的是,由于区块数据本质上为打包成区块的交易,而状态数据则记录交易的执行结果,换言之,状态数据基于区块数据而发生变更。在该前提下,所谓区块数据与状态数据同步指的是:保证节点中记录的状态数据恰为基于当前维护的区块数据而得到,举例而言,若节点中维护的区块数据包含交易1、2、3,那么,该节点中记录的状态数据应当为执行交易1、2、3后得到的执行结果,此时,便可以称作该节点中的区块数据和状态数据同步,或者说,保证了区块数据和状态数据的一致性;与之相反的是,若节点中记录的状态数据为执行交易1、2后得到的执行结果,则证明该节点中的状态数据和区块数据发生了错位,该情况便可称作该节点中的区块数据和状态数据未同步,或者说未保持一致性,若此时继续运行节点,将会导致后续继续处理区块数据,如执行交易4、5时,是在交易1、2的执行结果上进行状态数据的更新,必然得到不准确的状态数据,可见,在为节点进行数据恢复时,保证区块数据和状态数据的一致性,是节点正常运行的基础。
[0026]在相关技术中,为保证区块数据与状态数据的同步,通常采用冷备份的方式实现
链上数据的备份,即在需要进行数据备份时,停止区块链节点的运行,以利用区块链节点在完成所有交易的执行之后才进行关机的特性,保证区块数据和状态数据的一致性,然后,再对区块链节点中维护的区块数据和状态数据均进行备份,在此基础上,当链上数据发生缺失时,只需直接基于已备份的区块数据对链上的区块数据进行恢复、基于已备份的状态数据对链上的状态数据进行恢复,即可保证数据恢复后,节点中的区块数据和状态数据保持同步。
[0027]当然,除了冷备份的方式以外,相关技术也可以仅对区块数据进行备份,那么,当链上数据发生缺失时,可以通过复制已备份的区块数据的方式恢复链上的区块数据。然而,由于该方式仅备份区块数据,导致难以对链上缺失的状态数据进行恢复。
[0028]为此,本说明书提出了一种基于区块链的数据备份方法,一方面,能够在同时备份状态数据和区块数据的基础上,保证备份得到的状态数据与区块数据的一致性,另一方面,在进行链上数据备份时,无需停止节点的运行,避免了影响节点业务处理的问题。
[0029]图1为本说明书一示例性实施例示出的一种基于区块链的数据备份方法的流程图。如图1所示,该方法可以包括以下步骤:
[0030]步骤102,从区块链系统处获取相较于链下存储空间中的已备份历史区块数据的增量区块数据,并将获取到的增量区块数据备份至所述链下存储空间。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据备份方法,包括:从区块链系统处获取相较于链下存储空间中的已备份历史区块数据的增量区块数据,并将获取到的增量区块数据备份至所述链下存储空间;根据所述链下存储空间中对应于所述已备份历史区块数据的已备份历史状态数据,对备份的增量区块数据进行链下重放,以根据链下重放结果生成与所述增量区块数据对应的增量状态数据。2.根据权利要求1所述的方法,将所述增量区块数据备份至所述链下存储空间的操作在下述至少一种情况下执行:增量区块数据达到预设数据量;生成增量区块数据的时长达到预设时长;增量区块数据中包含用于触发状态数据的更新操作的交易。3.根据权利要求1所述的方法,所述对备份的增量区块数据进行链下重放,以根据链下重放结果生成与所述增量区块数据对应的增量状态数据,包括:根据区块的生成顺序执行所述增量区块数据中包含的至少一个交易,以根据交易的执行结果对已备份历史状态数据进行更新;或者,根据区块的生成顺序执行所述增量区块数据中包含的至少一个交易,以根据交易的执行结果创建区别于已备份历史状态数据的新状态数据。4.根据权利要求1所述的方法,所述对备份的增量区块数据进行链下重放,以根据链下重放结果生成与所述增量区块数据对应的增量状态数据,包括:按照区块的生成顺序执行所述增量区块数据中包含的所有交易;在执行所述所有交易的过程中,每当已执行的交易满足状态备份条件,基于交易执行结果记录状态数据,直至所述增量区块数据中包含的交易执行完成。5.根据权利要求4所述的方法,所述状态备份条件包括下述至少之一:已执行的交易数量达到预设数量;预设数量区块中的所有交易被执行完成;链下重放时长达到预设时长。6.根据权利要求1所述的方法,所述对备份的增量区块数据进行链下重放,以根据链下重放结果生成与所述增量区块数据对应的增量状态数据,包括:按照区块的生成顺序执行所述增量区块数据中包含的所有交易,以根据所有交易的执行结果对链下存储空间中的已备份历史状态数据进行更新,得到最新版本的状态数据。7.根据权利要求1所述的方法,所述对备份的增量区块数据进行链下重放,以根据链下重...

【专利技术属性】
技术研发人员:朱志辉
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1