区块链交易处理方法、节点及合约容器技术

技术编号:24687461 阅读:123 留言:0更新日期:2020-06-27 09:04
本发明专利技术提供的区块链交易处理方法、节点及合约容器,通过在合约容器中设置缓存,并将区块链状态数据以键值对形式存储在合约容器中,进而把热点数据的<键,值>保存到内存,使智能合约执行过程中需要取或存数据时,合约容器不需要多次与区块链节点进行网络交互,对于热点数据只需要直接对内存进行读或写,提高区块链中交易执行智能合约的执行速度,以达到提高区块链性能的目的;同时,以合约唯一标识对数据进行划分,使每个合约容器只缓存该合约相关的数据,避免出现同一份数据在多个合约容器内冗余缓存造成更新同步延迟和数据读脏的情况,解决合约容器间缓存数据的一致性问题。

Blockchain transaction processing method, node and contract container

【技术实现步骤摘要】
区块链交易处理方法、节点及合约容器
本专利技术涉及区块链
,具体涉及区块链交易处理方法、节点及合约容器。
技术介绍
区块链是一种分布式账本技术,结合了共识算法、密码学、分布式存储等不同领域的计算机技术,具有去中心化、不可篡改、可溯源等特性。其中智能合约技术的使用,使区块链具备图灵完备的特性,以执行各种复杂的业务逻辑。目前,为了避免智能合约逻辑中的错误对区块链节点主进程造成影响,和避免智能合约非法访问区块链节点的资源,区块链节点主要使用容器以沙盒的方式执行智能合约。区块链中的每个节点都为会每个智能合约实例启动一个容器,然后把智能合约的逻辑放到容器中执行。该容器可以是跟区块链节点同一物理设备上启动,也可以是在远端的物理设备上启动。在智能合约执行过程中需要读取区块链的状态数据时,合约容器会通过调用所属区块链节点的查询数据接口,由所属区块链节点查询状态数据并把查询结果返回给合约容器。相同地,在智能合约执行过程中需要更新区块链的状态数据时,会通过调用所属区块链节点的更新数据接口,由所属区块链节点更新状态数据并把更新结果返回给合约容器。区块链节点与合本文档来自技高网...

【技术保护点】
1.一种区块链交易处理方法,其特征在于,所述区块链中合约容器的缓存存储有以键值对集合成的区块链状态数据,每个合约容器对应一个合约唯一标识,所述区块链交易处理方法包括:/n与其他节点一同对区块链中的交易进行共识处理;所述交易通过交易唯一标识,以及包括于交易请求中的调用参数组装形成,所述调用参数包括调用的合约唯一标识,所述交易唯一标识通过对交易请求内容进行信息摘要操作得到;/n与其他节点一同确定自身管理的合约容器是否对应所述合约唯一标识,若是则将达成共识的交易的调用参数发送至自身管理的合约容器,以使所述合约容器根据所述调用参数执行智能合约;其中,在所述智能合约被执行过程中,所述合约容器根据所述合约...

【技术特征摘要】
1.一种区块链交易处理方法,其特征在于,所述区块链中合约容器的缓存存储有以键值对集合成的区块链状态数据,每个合约容器对应一个合约唯一标识,所述区块链交易处理方法包括:
与其他节点一同对区块链中的交易进行共识处理;所述交易通过交易唯一标识,以及包括于交易请求中的调用参数组装形成,所述调用参数包括调用的合约唯一标识,所述交易唯一标识通过对交易请求内容进行信息摘要操作得到;
与其他节点一同确定自身管理的合约容器是否对应所述合约唯一标识,若是则将达成共识的交易的调用参数发送至自身管理的合约容器,以使所述合约容器根据所述调用参数执行智能合约;其中,在所述智能合约被执行过程中,所述合约容器根据所述合约唯一标识以及设定索引,调用自身缓存中的区块链状态数据;所述设定索引包括键值对的对应关系。


2.根据权利要求1所述的区块链交易处理方法,其特征在于,还包括:
接收交易请求;
对所述交易请求的内容进行信息摘要操作,生成交易唯一标识;
将所述交易唯一标识、合约唯一标识以及调用参数组装成交易,广播到区块链的其他节点。


3.根据权利要求1所述的区块链交易处理方法,其特征在于,在进行共识处理之前,还包括:
接收一节点广播的交易。


4.根据权利要求1所述的区块链交易处理方法,其特征在于,还包括:
以键值对的形式存储交易结果数据以及区块链状态数据,并生成合约唯一标识与存储的键值对的对应关系索引。


5.一种区块链交易处理方法,其特征在于,包括:
接收调用参数;所述调用参数包括于交易请求中,并且包括一合约唯一标识;
判断所述合约唯一标识是否与其自身对应的合约唯一标识一致;
若一致,则根据所述调用参数执行智能合约;其中,在所述智能合约被执行过程中,根据设定索引,调用自身缓存中的区块链状态数据;所述区块链状态数据以键值对形式被存储,所述设定索引包括键值对的对应关系。


6.根据权利要求5所述的区块链交易处理方法,其特征在于,所述根据设定索引,调用自身缓存中的区块链状态数据,包括:
根据所述键值对的对应关系,通过搜索键查询对应的值,若能够查询,则调用对应的值;
否则从对应的节点中调用所述区块链状态数据,并生成一键值对的对应关系保存在所述设定索引中。


7.根据权利要求6所述的区块链交易处理方法,其特征在于,还包括:
判断缓存的数据量是否小于设定缓存上限;
若否,执行迭代操作,查询预设的数据热度队列中的热度低于设定阈值的数据所对应的键值对,减少查询得到的键值对的权重,并删除缓存中权重低于设定值的键值对,直至缓存的数据量小于设定缓存上限。


8.一种区块链中的节点,其特征在于,所述区块链中合约容器的缓存存储有以键值对集合成的区块链状态数据,每个合约容器对应一个合约唯一标识,所述节点包括:
共识处理模块,与其他节点一同对区块链中的交易进行共识处理;所述交易通过交易唯...

【专利技术属性】
技术研发人员:冯浩铭彭顺求刘朝伟钟亮
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1