The invention discloses a data migration method, a system and a computer readable storage medium. The data migration system has a client and block chain node. The method includes the following steps: block chain nodes receive block chain transaction information sent by the block chain nodes, and create new intelligence based on the block chain transaction information received. An energy contract node; read the old contract address in the transaction information of the block chain to extract the storage root value of the storage space in the old contract address; the extracted storage root is assigned to the storage root corresponding to the new intelligent contract node, so as to follow the migration of the data according to the address of the new contract. The invention is based on storage space to realize the integration of block chain intelligent contract. The new contract and the old contract can not affect each other simultaneously. It will not increase the storage pressure of block chain, have strong fault tolerance ability, reduce the maintenance cost, and greatly improve the security, reliability and practicality. One
【技术实现步骤摘要】
数据迁移方法、系统和计算机可读存储介质
本专利技术涉及区块链
,尤其涉及一种数据迁移方法、系统和计算机可读存储介质。
技术介绍
区块链应用在业务逻辑变化或故障的情况下,需要对智能合约数据进行迁移以达到升级的目的。目前的智能合约数据迁移方案主要有以下两种:1)硬编码迁移法,该方法是在新版本的智能合约中保存一个指向旧版本智能合约的合约地址,旧版本智能合约中保存的数据不移动,而新版本智能合约用来保存增量的数据内容,使得新旧版本的智能合约通过合约地址关联起来,保留了逻辑上的关联。该方法等同于新版本智能合约保留了一份旧版本智能合约数据的指针,其缺点是:持续不断的版本升级会导致形成较长链式的逻辑关联,使得维护成本较高。2)硬拷贝迁移法,该方法是利用外部迁移工具,将旧版本智能合约数据全部拷贝到区块链以外的区域,然后再异步地从区块链以外的区域重新存储到新版本智能合约中,使得新旧版本智能合约之间从逻辑上不再保留任何关联。该方法等同于合约数据的完全拷贝,其缺点是:区块链存储压力的大幅度增加;在实际应用中数据迁移工具需要适配不同的智能合约,开发成本较高;在迁移过程需要停止服务,否则容易出现脏数据,并且数据量较大的情况下,耗时长,操作复杂,数据容易出错。
技术实现思路
本专利技术的主要目的在于提供一种数据迁移方法、系统和计算机可读存储介质,旨在解决现有的数据迁移方式,维护和开发成本较高、耗时长、操作繁琐及数据容易出错的技术问题。为实现上述目的,本专利技术提供一种数据迁移方法,应用于数据迁移系统,所述数据迁移系统设有客户端和区块链节点,所述数据迁移方法包括:由区块链节点接收客户端 ...
【技术保护点】
1.一种数据迁移方法,其特征在于,应用于数据迁移系统,所述数据迁移系统设有客户
【技术特征摘要】
1.一种数据迁移方法,其特征在于,应用于数据迁移系统,所述数据迁移系统设有客户端和区块链节点,所述数据迁移方法包括:由区块链节点接收客户端发送的区块链交易信息,并基于接收到的区块链交易信息创建新智能合约节点;读取所述区块链交易信息中的旧合约地址,以在所述旧合约地址中提取存储空间的存储根值;将提取的存储根植赋值到所述新智能合约节点对应的存储根值中,以便后续根据新合约的地址实现数据的迁移。2.如权利要求1所述的数据迁移方法,其特征在于,所述由区块链节点接收客户端发送的区块链交易信息,并基于接收到的区块链交易信息创建新智能合约节点的步骤之前,所述方法还包括:在接收到发送方发起的数据迁移请求时,由客户端根据旧合约的存储结构建立新合约对应的数据迁移交易结构,其中,所述新合约的数据迁移交易结构兼容旧合约的存储结构;由所述客户端获取发送方的外部账户地址、旧合约地址、交易数据及交易签名数据,并结合所述数据迁移交易结构组装成区块链交易信息;由所述客户端将组装成的区块链交易信息发送至区块链节点。3.如权利要求1所述的数据迁移方法,其特征在于,所述区块链节点包括远程调用模块、点对点模块和块链框架模块,所述由区块链节点接收客户端发送的区块链交易信息,并基于接收到的区块链交易信息创建新智能合约节点的步骤包括:由区块链节点的远程调用模块或点对点模块接收客户端发送的区块链交易信息,并由所述远程调用模块或点对点模块对区块链交易信息进行解码;对解码后的区块链交易中包含的各个字段进行检查,以确定各个字段是否满足各个字段对应的预设条件;在区块链交易信息对应的各个字段满足各个字段对应的预设条件时,将区块链交易信息放入交易池队列;由块链框架模块从交易池队列中提取出区块链交易信息,并对提取的区块链交易信息进行打包处理以创建新智能合约节点。4.如权利要求3所述的数据迁移方法,其特征在于,所述对解码后的区块链交易中包含的各个字段进行检查,以确定各个字段是否满足各个字段对应的预设条件的步骤包括:检查交易签名数据是否符合签名算法;检查交易数据是否未在当前区块链中出现过;检查发送方的外部账户地址是否与预存账户地址匹配;检查旧合约地址是否为当前区块链上的智能合约账户地址;检查交易数据中的数据字段容量是否大于旧合约地址对应的智能合约的数据字段容量。5.如权利要求3所述的数据迁移方法,其特征在于,所述由块链框架模块从交易池...
【专利技术属性】
技术研发人员:郭世清,张开翔,范瑞彬,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。