一种区块链升级的数据迁移方法及数据迁移系统技术方案

技术编号:20944004 阅读:32 留言:0更新日期:2019-04-24 02:12
本发明专利技术提供了一种区块链升级的数据迁移方法和区块链升级的数据迁移系统,所述方法包括:配置新版本可执行文件,使用新版本可执行文件替换原有一级目录中的原始版本可执行文件;执行新版本可执行文件,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据;从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块。根据本发明专利技术的技术方案,在区块链的后期升级时,将区块链原有数据平滑迁移到新区块上,使得区块链升级后用户依然能够继承升级之前的原有数据;并且确保联盟链中,各区块高度不一致的区块链,能够同时进行数据迁移。

A Data Migration Method and Data Migration System for Block Chain Upgrading

The invention provides a data migration method for block chain upgrade and a data migration system for block chain upgrade. The methods include: configuring a new version of executable file, replacing the original version of executable file in the original first-level directory with a new version of executable file, executing a new version of executable file, and reading the original according to the version rules corresponding to the original version of executable file. The first version historical data; at least part of the original version historical data is selected as the new version historical data and stored in the new block. According to the technical scheme of the present invention, when the block chain is upgraded at the later stage, the original data of the block chain is smoothly migrated to the new block, so that the user can still inherit the original data before the upgrade after the block chain is upgraded, and the block chain with highly inconsistent blocks in the federation chain can simultaneously migrate the data.

【技术实现步骤摘要】
一种区块链升级的数据迁移方法及数据迁移系统
本申请涉及网络
,尤其涉及一种区块链升级的数据迁移方法及数据迁移系统。
技术介绍
区块链技术也称为分布式账本技术,本质上是一种去中心化的分布式互联网数据库。采用区块链技术架构的网络可视为区块链网络,该区块链网络中包含多个区块链节点,任一区块链节点可对应至少一个区块链,任一区块链可包含至少一个区块。区块链存在永不停机、数据不丢失特点,可以作为一种分布式去中心化数据库对用户提供可靠服务。在长期运行过程中,产品有修复缺陷或增加新功能的需求,因此需要对区块链产品进行升级,但升级的同时必然要保证原有数据的继承。公链的特点是链是唯一的,相应的,区块高度也是唯一的,因此当前公链在升级过程中以块高度为前后区分点,使用的是软分叉和硬分叉方法。而在联盟链中,不同联盟可以各自运营自己的区块链,同一联盟也可以运营多条区块链。各条区块链的区块高度都从创世块高度为零开始,这就导致在后期升级时,区块高度不唯一,存在数据和逻辑不兼容问题,链上的原有数据不能平滑迁移,因此无法对用户提供正常服务。由此,亟需找到一种区块链升级的数据迁移方法、数据迁移系统,实现区块链升级中原有数据平滑迁移,并维护和提供原有链的查询服务,克服上述问题。
技术实现思路
本申请实施例提供一种区块链升级的数据迁移方法、数据迁移系统,用以实现区块链升级中原有数据平滑迁移,可以兼容新老版本的区块链数据,并维护和提供原有链的查询服务。为了解决上述技术问题,本申请实施例采用下述技术方案:第一方面,提供了一种区块链升级的数据迁移方法,所述方法包括:配置新版本可执行文件,使用所述新版本可执行文件替换原有一级目录中的原始版本可执行文件,其中,所述一级目录是在初次建立区块链时创建,且用于存放链上数据及存储地址;执行所述新版本可执行文件,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据;从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块。第二方面,提供了一种区块链升级的数据迁移系统,包括:配置模块,用于配置新版本可执行文件,使用所述新版本可执行文件替换原有一级目录中的原始版本可执行文件,其中,所述一级目录是在初次建立区块链时创建,且用于存放链上数据及存储地址;执行模块,用于执行所述新版本可执行文件,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据;迁移模块,用于从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块。第三方面,本申请提供一种电子系统,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行第一方面所述的方法。第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面所述的方法。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:根据本申请实施例中提供的技术方案,在联盟链各条区块链的后期升级时,将原有数据平滑迁移到新区块上,使得区块链升级后用户依然能够继承升级之前的原有数据;确保联盟链中,各区块高度不一致的区块链,能够同时进行数据迁移。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种区块链升级的数据迁移方法的流程图;图2为本申请实施例提供的区块链升级的数据迁移系统的结构示意图;图3为本申请实施例提供的区块链升级的数据迁移系统的数据流向图。具体实施方式为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书实施例保护的范围。以下结合附图,详细说明本说明书各实施例提供的技术方案。区块链存在永不停机、数据不丢失特点,可以作为一种分布式去中心化数据库对用户提供可靠服务。在长期运行过程中,产品有修复缺陷或增加新功能的需求,因此需要对区块链产品进行升级,但升级的同时必然要保证原有数据的继承。公链的特点是链是唯一的,相应的,区块高度也是唯一的,因此当前公链在升级过程中以块高度为前后区分点,使用的是软分叉和硬分叉方法。而在联盟链中,不同联盟可以各自运营自己的区块链,同一联盟也可以运营多条区块链。各条区块链的区块高度都从创世块高度为零开始,这就导致在后期升级时,区块高度不唯一,存在数据和逻辑不兼容问题,链上的原有数据不能平滑迁移,因此无法对用户提供正常服务。鉴于上述问题,本申请实施例提供了区块链升级的数据迁移方法、去中心化应用装置,实现区块链升级中原有数据平滑迁移,并维护和提供原有链的查询服务。实施例一图1为本申请实施例提供的一种区块链升级的数据迁移方法的流程图,如图1所示,本申请实施例提供的一种区块链升级的数据迁移方法包括如下步骤:步骤S1、配置新版本可执行文件,使用所述新版本可执行文件替换原有一级目录中的原始版本可执行文件,其中,所述一级目录是在初次建立区块链时创建,且用于存放链上数据及存储地址。步骤S2、执行所述新版本可执行文件,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据。步骤S3、从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块。本实施例的技术方案可以用于联盟链中各区块链的升级,根据本实施例的技术方案,在联盟链各条区块链的后期升级时,将区块链分叉之前的原有数据平滑迁移到新区块上,使得区块链升级后用户依然能够继承升级之前的原有数据;并且确保联盟链中,各区块高度不一致的区块链,能够同时进行数据迁移。因此在升级之后,用户仍然能够使用升级之前的历史数据。具体地,在本实施例中,所述区块链升级的数据迁移方法的详细步骤如下:建立区块链,建立对应所述区块链的一级目录,在所述一级目录中,放入所述区块链的链上数据及存储地址,以及能够调取所述链上数据及存储地址的原始版本可执行文件,所述区块链采用所述原始版本可执行文件操作。需要说明的是,建立区块链和一级目录的步骤并非本专利技术的必要步骤,采用本实施例的数据迁移方法,可以在已建立的区块链的升级过程中进行数据迁移,本专利技术对此不做限制。配置新版本可执行文件,使用所述新版本可执行文件替换原有一级目录中的原始版本可执行文件。在本实施例中,所述原始版本可执行文件和新版本可执行文件均为区块链管理者的操作文件,区块链管理者使用所述新版本可执行文件替换原有一级目录中的原始版本可执行文件,所述新版本管理员权限文件能够按照原始版本规则读取所有原始版本历史数据。但是本专利技术对此不做限制,所述原始版本可执行文件和新版本可执行文件还可以为区块链上各个节点共同享有权限的操作文件。执行所述新版本可执行文件,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据。具体地,在本实施例中,读取所有原始版本历史本文档来自技高网...

【技术保护点】
1.一种区块链升级的数据迁移方法,其特征在于,所述方法包括:配置新版本可执行文件,使用所述新版本可执行文件替换原有一级目录中的原始版本可执行文件,其中,所述一级目录是在初次建立区块链时创建,且用于存放链上数据及存储地址;执行所述新版本可执行文件,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据;从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块。

【技术特征摘要】
1.一种区块链升级的数据迁移方法,其特征在于,所述方法包括:配置新版本可执行文件,使用所述新版本可执行文件替换原有一级目录中的原始版本可执行文件,其中,所述一级目录是在初次建立区块链时创建,且用于存放链上数据及存储地址;执行所述新版本可执行文件,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据;从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块。2.如权利要求1所述的方法,其特征在于,从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块,具体包括:从所述原始版本历史数据中选取交易的唯一标识,将所述交易的唯一标识转换为所述新版本可执行文件格式的数据,并存入新的区块;或者,将所述原始版本历史数据全部作为新版本历史数据,存入新的区块。3.如权利要求1或2所述的方法,其特征在于,在从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块之后,所述方法还包括:将所述区块链上的原有节点转换为只读节点;其中,所述只读节点与共识机制、交易处理以及新区块上链相隔离,并维持原有节点的查询服务。4.如权利要求1所述的方法,其特征在于,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据时,读取内容至少包括:交易哈希值、交易内容以及状态函数中的一种或组合。5.如权利要求2所述的方法,其特征在于,所述原始版本可执行文件对应的版本规则至少包括:原始版本可执行文件的数据格式或处理逻辑。6.一种区块链升级...

【专利技术属性】
技术研发人员:郑森火
申请(专利权)人:杭州秘猿科技有限公司
类型:发明
国别省市:浙江,33

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

1