[发明专利]一种面向区块链多级智能合约的数据迁移方法有效
申请号: | 201710230002.3 | 申请日: | 2017-04-10 |
公开(公告)号: | CN107145521B | 公开(公告)日: | 2019-05-21 |
发明(设计)人: | 李伟;邱炜伟;尹可挺;梁秀波;李启雷 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06Q20/38 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 区块 多级 智能 合约 数据 迁移 方法 | ||
1.一种面向区块链多级智能合约的数据迁移方法,其特征在于,包括如下步骤:
1)对于有多个合约相互调用的智能合约系统,使用树状模型逐级迁移合约数据,树状模型中父节点合约调用子节点合约;
2)部署顶层节点的合约,迁移顶层合约除子节点合约地址以外的数据;
3)判断当前合约所在节点是否为叶子节点,若当前节点不是叶子节点,则读取当前节点的子节点的合约地址,对子合约重复进行该判断;若当前节点是叶子节点,进入步骤4);
4)部署叶子节点的新合约并迁移该合约的数据,存储叶子节点的合约地址;
5)遍历所有合约节点,若合约所在节点的所有子节点的数据迁移完毕,开始部署新的当前合约,迁移合约数据并存储所有子节点合约的新地址;否则,读取没有完成数据迁移的子合约地址,进行步骤3);
6)重复进行步骤3)到步骤5),直至当前合约所在节点为顶层节点,迁移顶层合约的所有子合约的合约地址参数。
2.如权利要求1所述的一种面向区块链多级智能合约的数据迁移方法,其特征在于,步骤1)中对于有相互调用的多个合约构造树状模型,其中树状模型中父节点存储有子节点的合约地址并对子节点合约有调用关系,一个合约调用多个子合约或被多个父合约调用。
3.如权利要求1所述的一种面向区块链多级智能合约的数据迁移方法,其特征在于,步骤2)中,合约迁移时会部署新的合约,每一个合约都有唯一的合约地址;迁移顶层合约数据时应当除去旧的合约地址,只有所有子节点合约数据全部迁移完毕后,父节点合约才开始数据迁移,合约地址的迁移应当以新部署的合约为主。
4.如权利要求1所述的一种面向区块链多级智能合约的数据迁移方法,其特征在于,在调用合约方法迁移合约数据之前,将所有的私钥文件用其对应的密码解密形成明文私钥,利用缓存机制将明文私钥存放在缓存中。
5.如权利要求1所述的一种面向区块链多级智能合约的数据迁移方法,其特征在于,在迁移合约数据时,采用多线程获取旧的合约数据及将旧的合约数据写入新合约。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710230002.3/1.html,转载请声明来源钻瓜专利网。