【技术实现步骤摘要】
一种数据更新的方法及节点设备
本申请涉及互联网
,尤其涉及一种数据更新的方法及节点设备。
技术介绍
目前,互联网上的比特币交易主要采用区块链技术,该技术基于密码学原理,对达成一致的双方直接进支付,从而不需要第三方中介的参与。区块链是一个分布式的账本,可采用智能合约对该账本进行管理。其中,每个区块内记录了若干条交易记录,同时包含了前一个区块的哈希值,所有的区块按顺序相连后就组成了区块链。目前,关于能合约的部署过程如图1所示,背书节点包括背书模块(endorser)、生命周期智能合约模块以及背书系统智能合约模块,客户端向背书节点发送部署提案,由背书节点中的生命周期智能合约模块对该提案对应的智能合约进行模拟并产生数据,背书系统智能合约模块根据所产生的数据执行背书过程,最后将背书结果通过背书模块返回给客户端。客户端收到足够多满足策略的背书结果后,会将背书结果和数据发送给区块链中所有的节点设备,以此完成智能合约的升级。当前版本所采用的数据是从上一版本智能合约中继承的。如果发现智能合约的上一版本有缺陷,则要对该智能合约进行更新以修复缺陷,而有缺陷的智能合约所模拟出的数据也是有问题的,因此还需要对该智能合约版本所产生的数据进行更新。然而,推导出智能合约历史版本中没有缺陷的数据往往需要较多的时间和复杂的计算,从而导致数据更新的难度增加。
技术实现思路
本申请实施例提供了一种数据更新的方法及节点设备,在对智能合约进行更新时,可以直接从快照中提取已经存储过的目标数据,目标数据是智能合约历史版本中无缺陷的数据,因此也就不需要消耗较多的资源来推导这些无缺陷的数据,从而降低了数据 ...
【技术保护点】
1.一种数据更新的方法,其特征在于,包括:接收客户端发送的智能合约部署请求,其中,所述智能合约部署请求中携带数据快照映射关系所包含的第一智能合约的数据快照标识;根据所述智能合约部署请求获取第二智能合约以及目标数据,其中,所述目标数据为根据所述数据快照映射关系以及所述第一智能合约的数据快照标识确定的;将所述第二智能合约以及所述目标数据发送至所述客户端,以使所述客户端根据所述第二智能合约以及所述目标数据对所述第一智能合约以及所述第一智能合约对应的待更新数据进行更新。
【技术特征摘要】
1.一种数据更新的方法,其特征在于,包括:接收客户端发送的智能合约部署请求,其中,所述智能合约部署请求中携带数据快照映射关系所包含的第一智能合约的数据快照标识;根据所述智能合约部署请求获取第二智能合约以及目标数据,其中,所述目标数据为根据所述数据快照映射关系以及所述第一智能合约的数据快照标识确定的;将所述第二智能合约以及所述目标数据发送至所述客户端,以使所述客户端根据所述第二智能合约以及所述目标数据对所述第一智能合约以及所述第一智能合约对应的待更新数据进行更新。2.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的智能合约部署请求之前,所述方法还包括:接收所述客户端发送的数据快照创建请求,其中,所述数据快照创建请求中携带所述第一智能合约的数据快照标识;根据所述数据快照创建请求获取所述第一智能合约所对应的所述目标数据;根据所述目标数据以及所述第一智能合约的数据快照标识确定所述数据快照映射关系;将所述数据快照映射关系发送至所述客户端。3.根据权利要求2所述的方法,其特征在于,所述接收所述客户端发送的数据快照创建请求之后,所述方法还包括:根据所述数据快照创建请求检测是否存在所述数据快照映射关系;若不存在所述数据快照映射关系,则创建所述数据快照映射关系。4.根据权利要求2或3所述的方法,其特征在于,所述根据所述目标数据以及所述第一智能合约的数据快照标识确定所述数据快照映射关系,包括:若所述数据快照映射关系中不包含所述第一智能合约的所述数据快照标识,则在所述数据快照映射关系中添加所述第一智能合约的所述数据快照标识与所述目标数据之间的关联关系。5.根据权利要求2所述的方法,其特征在于,所述根据所述数据快照创建请求获取所述第一智能合约所对应的所述目标数据之后,所述方法还包括:若所述数据快照映射关系中包含所述第一智能合约的所述数据快照标识,则拒绝更新所述数据快照映射关系。6.根据权利要求2所述的方法,其特征在于,所述根据所述数据快照创建请求获取所述第一智能合约所对应的所述目标数据,包括:根据所述数据快照创建请求获取所述第一智能合约中关键字以及数值,其中,所述关键字与所述数值一一对应;根据所述第一智能合约的所述关键字以及所述数值,对所述第一智能合约进行合并处理,并得到处理结果;根据所述处理结果确定所述目标数据。7.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的智能合约部署请求之后,所述方法还包括:若所述接收客户端发送的智能合约部署请求中包含快照创建标识,则根据所述智能合约部署请求获取所述第一智能合约对应的所述待更新数据;在所述数据快照映射关系中,确定所述快照创建标识与所述待更新数据之间的关联关系;所述将所述第二智能合约以及所述目标数据发送至所述客户端,包括:将所述第二智能合约、所述目标数据以及所述数据快照映射关系发送至所述客户端。8.根据权利要求7所述的方法,其特征在于,所述若所述接收客户端发送的智能合约部署请求中包含快照创建标识,则根据所述智能合约部署请求获取所述第一智能合约对应的所述待更新数据之前,所述方法还包括:根据所述智能合约部署请求检测是否存在所述数据快照映射关系;若不存在所述数据快照映射关系,则创建所述数据快照映射关系。9.根据权利要求7或8所述的方法,其特征在于,所述在所述数据快照映射关系中,确定所述快照创建标识与所述待更新数据之间的关联关系,包括:若所述数据快照映射关系中不包含所述第一智能合约的所述快照创建标识,则在所述数据快照映射关系中添加所述第一智能合约的所述快照创建标识与所述待更新数据之间的关联关系。10.根据权利要求7所述的方法,其特征在于,所述根据所述智能合约部署请求获取所述第一智能合约对应的所述待更新数据之后,所述方法还包括:若所述数据快照映射关系中包含所述第一智能合约的所述快照创建标识,则拒绝更新所述数据快照映射关系。11.根据权利要求7所述的方法,其特征在于,所述根据所述智能合约部署请求获取所述第一智能合约对应的所述待更新数据,包括:根据所述智能合约部署请求获取所述第一智能合约中关键字以及数值,其中,所述关键字与所述数值一一对应;根据所述第一智能合约的所述关键字以及所述数值,对所述第一智能合约进行合并处理,并得到处理结果;根据所述处理结果确定所述待更新数据。12.一种节点设备,其特征在于,包括:第一接收模块,用于接收客户端发送的智能合约部署请求,其中,所述智能合约部署请求中携带数据快照映射关系所包含的第一智能合约的数据快照标识;第一获取模块,用于根据所述第一接收模块接收的所述智能合约部署请求获取第二智能合约以及目标数据,其中,所述目标数据为根据所述数据快照映射关系以及所述第一智能合约的数据快照标识确定的;第一发送模块,用于将所述第一获取模块获取的所述第二智能合约以及所述目标数据发送至所述客户端,以使所述客户端根据所述第二智能合约以及所述目标数据对所述第一智能合约以及所述第一智能合约对应的...
【专利技术属性】
技术研发人员:谢军安,胡瑞丰,姜耀国,丁海洋,蒋飞虎,
申请(专利权)人:华为软件技术有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。