一种基于区块链的区块文件动态迁移和恢复方法技术

技术编号:36522367 阅读:16 留言:0更新日期:2023-02-01 15:58
本发明专利技术提供的一种基于区块链的区块文件动态迁移和恢复方法包括:基于联盟链Hyperledger Fabric进行区块文件的动态迁移和恢复;获取所述区块文件的迁移信息;将所述迁移信息递交给Fabric SDK;所述Fabric SDK通过GRPC API将所述迁移信息发送到peer节点,并等待返回结果事件;所述peer节点按照迁移时间段索引数据库中读取区块文件信息,并过滤配置区块和最后一个区块文件;所述peer节点对所述区块文件进行信息归类;将所述区块文件保存到NFS数据库,生成主表和关联表;所述peer节点将所述区块文件迁移到NFS共享目录;迁移结束。能够根据需要动态迁移和恢复指定的区块文件。够根据需要动态迁移和恢复指定的区块文件。够根据需要动态迁移和恢复指定的区块文件。

【技术实现步骤摘要】
一种基于区块链的区块文件动态迁移和恢复方法


[0001]本专利技术涉及区块链领域,尤其涉及一种基于区块链的区块文件动态迁移和恢复方法。

技术介绍

[0002]一个联盟链系统是由多个组织构成的,每个组织又包含多个节点。区块链上的数据是无法被篡改的,是因为所有的交易数据都已经在每个节点保存了。如果想要篡改数据,就需要把每个节点上的数据都修改才可以。一方面几乎不可能对区块链网络中的所有节点的数据都进行修改,另一方面,区块链上的区块是彼此相关的,如果改变了某个区块上的数据,那么整个区块也就改变了,后面的区块就无法与之关联,除非把这个区块后面的所有区块都篡改了,而这是几乎是无法做到的。多节点分布式保存数据的方法的优点是保证了数据的安全,但是缺点就是非常耗费存储资源。
[0003]在区块链系统上,交易是一直进行的,区块文件数量也就会不断累积。如果系统的交易量非常大,或者系统运行很长的时间,区块文件所占用的空间会非常大,可能占满存储空间,使得后来的区块无法正常存储。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术以便提供克服上述问题或者至少部分地解决上述问题的一种基于区块链的区块文件动态迁移和恢复方法。
[0005]根据本专利技术的一个方面,提供了一种基于区块链的区块文件动态迁移和恢复方法包括:
[0006]基于联盟链Hyperledger Fabric进行区块文件的动态迁移和恢复;
[0007]获取所述区块文件的迁移信息;
[0008]将所述迁移信息递交给Fabric SDK;
[0009]所述Fabric SDK通过GRPC API将所述迁移信息发送到peer节点,并等待返回结果事件;
[0010]所述peer节点按照迁移时间段索引数据库中读取区块文件信息,并过滤配置区块和最后一个区块文件;
[0011]所述peer节点对所述区块文件进行信息归类;
[0012]将所述区块文件保存到NFS数据库,生成主表和关联表;
[0013]所述peer节点将所述区块文件迁移到NFS共享目录;
[0014]迁移结束。
[0015]可选的,所述迁移信息具体包括:
[0016]常用名称,为节点名称,用于指定要实行迁移节点的区块文件;
[0017]通道名称,一个节点加入不同的通道,每一个通道都有各自的区块文件;
[0018]迁往目的地,包括NFS共享地址;
[0019]NFS数据库,用于保存迁移信息;
[0020]根据交易记录时间来确定迁移文件的范围。
[0021]可选的,所述将所述区块文件保存到NFS数据库,生成主表和关联表具体包括:
[0022]主表,以migrate命名;
[0023]关联表,以blockfile_开头加区块文件哈希命名。
[0024]本专利技术提供的一种基于区块链的区块文件动态迁移和恢复方法包括:基于联盟链Hyperledger Fabric进行区块文件的动态迁移和恢复;获取所述区块文件的迁移信息;将所述迁移信息递交给Fabric SDK;所述Fabric SDK通过GRPC API将所述迁移信息发送到peer节点,并等待返回结果事件;所述peer节点按照迁移时间段索引数据库中读取区块文件信息,并过滤配置区块和最后一个区块文件;所述peer节点对所述区块文件进行信息归类;将所述区块文件保存到NFS数据库,生成主表和关联表;所述peer节点将所述区块文件迁移到NFS共享目录;迁移结束。能够根据需要动态迁移和恢复指定的区块文件。
[0025]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0026]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0027]图1为本专利技术实施例提供的一种基于区块链的区块文件动态迁移和恢复方法的流程图。
具体实施方式
[0028]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0029]本专利技术的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。
[0030]下面结合附图和实施例,对本专利技术的技术方案做进一步的详细描述。
[0031]本专利技术提出了一种基于联盟链的区块文件迁移和恢复的方案,可以对时间比较久远的、不常使用的区块文件进行迁移,迁移文件保存在NFS共享文件服务器上,并将迁移信息记录到NFS数据库(支持mysql、mongodb、counchdb)。如果以后还需要使用迁移走的区块文件,去数据库中读取它的所在的位置,再从那个位置重新恢复回来。根据需要动态迁移和恢复指定的区块文件。本专利技术是基于联盟链Hyperledger Fabric进行的。
[0032]有两个区块文件不能迁移,“配置区块文件”和“最后一个区块文件”。这两个区块文件是节点正在记录和使用的,迁移过程中需要动态识别。迁移和恢复都在peer内部进行,
peer集成了数据库API和NFS API。
[0033]如图1所示,迁移信息递交给Fabric SDK,迁移信息包括:
[0034]常用名称(CommonName),也就是节点名称,指定要实行迁移的哪一个节点的区块文件。
[0035]通道名称(ChannelName),一个节点可以加入不同的通道,每一个通道都有各自的区块文件。
[0036]迁往目的地(Locality),NFS共享地址。
[0037]NFS数据库(Database),迁移信息保存的数据库。
[0038]迁移哪个时间段的文件(Timestamp),可根据交易记录时间来确定迁移的范围。
[0039]Fabric SDK通过GRPC API将迁移信息发送到peer节点,并等待返回结果事件。
[0040]peer节点收到SDK发送的信息后,就按照迁移哪个时间段,去索引数据库中读取该时间段的区块文件信息,并过滤配置区块和最后一个区块的文件。
[0041]peer节点对收集好的区块文件进行信息归类。
[0042]区块文件保存到NFS数据库,生成主表和关联表。主表,以migrate命名;关联表,以blockfile_开头加区块文件哈希命名。也就是说,迁移一个区块文件blockfile_xxxxxx,生成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的区块文件动态迁移和恢复方法,其特征在于,所述动态迁移和恢复方法包括:基于联盟链HyperledgerFabric进行区块文件的动态迁移和恢复;获取所述区块文件的迁移信息;将所述迁移信息递交给Fabric SDK;所述Fabric SDK通过GRPC API将所述迁移信息发送到peer节点,并等待返回结果事件;所述peer节点按照迁移时间段索引数据库中读取区块文件信息,并过滤配置区块和最后一个区块文件;所述peer节点对所述区块文件进行信息归类;将所述区块文件保存到NFS数据库,生成主表和关联表;所述peer节点将所述区块文件迁移到NFS共享目录;...

【专利技术属性】
技术研发人员:张丹丹刘毅李文超孙书乐
申请(专利权)人:中农融信北京科技股份有限公司
类型:发明
国别省市:

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

1