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.一种区块链升级的数据迁移方法,其特征在于,所述方法包括:配置新版本可执行文件,使用所述新版本可执行文件替换原有一级目录中的原始版本可执行文件,其中,所述一级目录是在初次建立区块链时创建,且用于存放链上数据及存储地址;执行所述新版本可执行文件,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据;从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块。
【技术特征摘要】
1.一种区块链升级的数据迁移方法,其特征在于,所述方法包括:配置新版本可执行文件,使用所述新版本可执行文件替换原有一级目录中的原始版本可执行文件,其中,所述一级目录是在初次建立区块链时创建,且用于存放链上数据及存储地址;执行所述新版本可执行文件,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据;从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块。2.如权利要求1所述的方法,其特征在于,从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块,具体包括:从所述原始版本历史数据中选取交易的唯一标识,将所述交易的唯一标识转换为所述新版本可执行文件格式的数据,并存入新的区块;或者,将所述原始版本历史数据全部作为新版本历史数据,存入新的区块。3.如权利要求1或2所述的方法,其特征在于,在从所述原始版本历史数据中选取至少部分作为新版本历史数据,存入新的区块之后,所述方法还包括:将所述区块链上的原有节点转换为只读节点;其中,所述只读节点与共识机制、交易处理以及新区块上链相隔离,并维持原有节点的查询服务。4.如权利要求1所述的方法,其特征在于,按照原始版本可执行文件对应的版本规则读取所述原始版本历史数据时,读取内容至少包括:交易哈希值、交易内容以及状态函数中的一种或组合。5.如权利要求2所述的方法,其特征在于,所述原始版本可执行文件对应的版本规则至少包括:原始版本可执行文件的数据格式或处理逻辑。6.一种区块链升级...
【专利技术属性】
技术研发人员:郑森火,
申请(专利权)人:杭州秘猿科技有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。