【技术实现步骤摘要】
数据存储和查询响应方法、区块执行方法
本申请涉及区块链
,具体涉及一种数据存储和查询响应方法、区块执行方法、计算机设备和存储介质。
技术介绍
在现有技术中,执行交易的步骤是:1、从本地读取执行交易所需的状态数据,2、根据上述状态数据执行交易。交易是串行执行的,读取本地的状态数据的延时一般在1ms内,这种延时对于状态数据的读取和交易的执行的影响不大。但随着区块的增长,状态数据越来越多,希望能将状态数据进行分布式存储。但是如果分布式存储状态数据,则不同节点间远程获取状态数据的延时一般大于1s,这样读取状态数据、执行交易的时间将大大延长,执行一个区块将需要占用大量时间,影响区块链的整体性能。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种在状态数据分布式存储的环境下,保证区块执行效率的数据存储和查询响应方法、区块执行方法、计算机设备和存储介质。第一方面,本专利技术提供一种适用于区块链节点的数据存储和查询响应方法,上述方法包括:根据预配置的状态数据分布式存储规则在区块链网络中确定 ...
【技术保护点】
1.一种数据存储和查询响应方法,其特征在于,适用于区块链节点,所述方法包括:/n根据预配置的状态数据分布式存储规则在区块链网络中确定若干需存储第一状态数据的第一区块链节点;/n在当前节点不包括于所述第一区块链节点时,删除本地存储的所述第一状态数据;/n接收第二区块链节点发送的包括第一键的第一数据查询请求信息,在本地存储有所述第一键对应的第一状态数据时,返回所述第一状态数据;其中,所述第一状态数据用于供所述第二区块链节点执行需要读取所述第一状态数据才能执行的第一交易,所述第一交易包括执行所述第一交易所需读取的各项状态数据对应的各项键,所述第二区块链节点配置用于根据所述各项键和 ...
【技术特征摘要】
1.一种数据存储和查询响应方法,其特征在于,适用于区块链节点,所述方法包括:
根据预配置的状态数据分布式存储规则在区块链网络中确定若干需存储第一状态数据的第一区块链节点;
在当前节点不包括于所述第一区块链节点时,删除本地存储的所述第一状态数据;
接收第二区块链节点发送的包括第一键的第一数据查询请求信息,在本地存储有所述第一键对应的第一状态数据时,返回所述第一状态数据;其中,所述第一状态数据用于供所述第二区块链节点执行需要读取所述第一状态数据才能执行的第一交易,所述第一交易包括执行所述第一交易所需读取的各项状态数据对应的各项键,所述第二区块链节点配置用于根据所述各项键和所述状态数据分布式存储规则生成若干数据查询请求信息并同时分别发送至对应的区块链节点。
2.根据权利要求1所述的方法,其特征在于,区块链上记录有状态数据对应的键的前缀和分片的对应关系,所述根据预配置的状态数据分布式存储规则在区块链网络中确定若干需存储第一状态数据的第一区块链节点包括:
根据所述第一状态数据对应的第一键的第一前缀查找第一分片;
将所述第一分片中的若干节点确定为所述第一区块链节点。
3.根据权利要求1所述的方法,其特征在于,所述根据预配置的状态数据分布式存储规则在区块链网络中确定若干需存储第一状态数据的第一区块链节点包括:
对所述第一状态数据所在的第一数据集合做哈希运算以计算得到第一数据;
分别计算所述第一数据与各区块链节点的节点id的第一异或值;
将所述第一异或值最小的第一数量个区块链节点确定为所述第一区块链节点。
4.根据权利要求1所述的方法,其特征在于,各所述第一键存储于所述第一交易的payload字段中。
5.根据权利要求1所述的方法,其特征在于,交易增设有keylist字段,各所述第一键存储于所述第一交易的keylist字段中。
6.根据权利要求4或5所述的方法,其特征在于,所述payload字段或所述keylist字段中包括第一压缩数据,所述第一压缩数据由对执行所述第一交易所需读取的各第一键...
【专利技术属性】
技术研发人员:王志文,吴思进,
申请(专利权)人:杭州复杂美科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。