[发明专利]一种面向区块链多级智能合约的数据迁移方法有效
申请号: | 201710230002.3 | 申请日: | 2017-04-10 |
公开(公告)号: | CN107145521B | 公开(公告)日: | 2019-05-21 |
发明(设计)人: | 李伟;邱炜伟;尹可挺;梁秀波;李启雷 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06Q20/38 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 区块 多级 智能 合约 数据 迁移 方法 | ||
本发明公开了一种面向区块链多级智能合约的数据迁移方法。包括如下步骤:1)对于有多个合约相互调用的合约系统,构建合约树状模型;2)迁移顶层合约除子节点合约地址以外的数据;3)判断当前合约所在节点是否为叶子节点;4)部署叶子节点的新合约并迁移该合约的数据,存储叶子节点的合约地址;5)所有子节点合约的数据迁移完毕,部署新合约迁移合约数据并存储所有子节点合约的新地址;6)重复进行步骤3)到步骤5),迁移顶层合约的所有子合约的合约地址参数。本发明解决了区块链上复杂智能合约数据迁移时合约地址作为参数无法更新问题,实现了面向区块链多级智能合约的数据迁移。
技术领域
本发明涉及区块链技术、智能合约、缓存及多线程技术,尤其涉及一种多级智能合约升级时的数据迁移方法。
背景技术
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,用于存储区块链网络上所有用户的余额,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。
智能合约,区块链上的智能合约是指由solidity编写和编译并运行与区块链上的一串二进制代码,我们可以通过智能合约实现在区块链上的数据存储、读写以及一些逻辑操作,因此一些基于区块链的应用是利用智能合约完成的。
缓存及多线程技术,缓存是指当程序需要读取数据时,事先将需要读取的数据置于缓存中,程序优先从缓存读取数据。由于缓存的运行速度比内存块很多,所以缓存可以极大加快程序读取数据速度。多线程是指程序在进行一些计算比较密集的操作时,采用多线程来处理,充分利用CPU核心数,提高CPU效率。
发明内容
本发明的目的是针对现有区块链技术的不足,提供一种面向区块链多级智能合约的数据迁移方法。
由于区块链本身的特性,一般使用智能合约的区块链应用上线以后,如果要应用的版本需求需要更新,就意味着得重新部署合约,并生成新的合约地址。之后系统将使用新的合约,由于旧的数据不能被摒弃,此时就需要将旧的合约数据迁移到新的合约中。
本发明的目的是通过以下技术方案来实现:在不改变区块链合约数据的情况下,确保安全高效的将旧有的合约数据迁移到新的合约中,尤其涉及有调用关系的多级合约数据迁移情况,包括如下步骤:
1)对于有多个合约相互调用的智能合约系统,使用树状模型逐级迁移合约数据,树状模型中父节点合约调用子节点合约;
2)部署顶层节点的合约,迁移顶层合约除子节点合约地址以外的数据;
3)判断当前合约所在节点是否为叶子节点,若当前节点不是叶子节点,则读取当前节点的子节点的合约地址,对子合约重复进行该判断;若当前节点是叶子节点,进入步骤4);
4)部署叶子节点的新合约并迁移该合约的数据,存储叶子节点的合约地址;
5)遍历所有合约节点,若合约所在节点的所有子节点的数据迁移完毕,开始部署新的当前合约,迁移合约数据并存储所有子节点合约的新地址;否则,读取没有完成数据迁移的子合约地址,进行步骤3);
6)重复进行步骤3)到步骤5),直至当前合约所在节点为顶层节点,迁移顶层合约的所有子合约的合约地址参数。
进一步地,所述的步骤1)中对于有相互调用的多个合约构造树状模型,首先应构造树状模型明确合约间的调用关系,其中父节点合约中有调用子节点合约方法,其中一个合约可以调用多个子合约,一个子合约可以被多个合约调用。
进一步地,所述的步骤2)中,合约迁移时会部署新的合约,每一个合约都有唯一的合约地址。迁移顶层合约数据时应当除去旧的合约地址,只有所有子节点合约数据全部迁移完毕后,父节点合约才开始数据迁移,合约地址的迁移应当以新部署的合约为主。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710230002.3/2.html,转载请声明来源钻瓜专利网。