【技术实现步骤摘要】
区块链节点存取数据的方法、设备和计算机可读存储介质
[0001]本专利技术涉及分布式领域,特别涉及一种区块链节点存取数据的方法、设备和计算机可读存储介质。
技术介绍
[0002]现有的区块链节点存取数据的方法中,节点在读写键值数据库(kvdb)时,都是通过直接调用键值数据库底层所提供的读写接口来实现。由于现有的kvdb所提供的存储机制为单机存储,而区块链的账本数据不断增加,单机总的存储空间固定,因此,随着时间的推移,相对于不断增加的账本数据而言,区块链节点存取数据时,单机存储机制将面临存储空间不足的问题。
技术实现思路
[0003]本申请提供一种区块链节点存取数据的方法、设备和计算机可读存储介质,以保证区块链节点在存取数据时具有足够的存储空间。
[0004]一方面,本申请提供了一种区块链节点存取数据的方法,包括:
[0005]当收到区块链节点对第一存取接口的调用时,检测历史目标数据的每个数据是否完成写入目标存储节点,所述第一存取接口由数据库集群代理向所述区块链节点提供,所述目标存储节点为所述数 ...
【技术保护点】
【技术特征摘要】
1.一种区块链节点存取数据的方法,其特征在于,所述方法包括:当收到区块链节点对第一存取接口的调用时,检测历史目标数据的每个数据是否完成写入目标存储节点,所述第一存取接口由数据库集群代理向所述区块链节点提供,所述目标存储节点为所述数据库集群代理对应服务端集群中的目标服务端;若所述历史目标数据的每个数据尚未完成写入目标存储节点,则向所述目标存储节点写入所述历史目标数据;根据所述区块链节点调用所述第一存取接口时传递的参数,存取所述目标存储节点中对应于所述参数的数据。2.如权利要求1所述区块链节点存取数据的方法,其特征在于,所述检测历史目标数据的每个数据是否完成写入目标存储节点,包括:从本地缓存读取用于存储键值对的指定文件;若所述本地缓存不存在所述用于存储键值对的指定文件,则确定所述历史目标数据已完成写入目标存储节点。3.如权利要求1所述区块链节点存取数据的方法,其特征在于,所述向所述目标存储节点写入所述历史目标数据,包括:对于所述历史目标数据中的每个数据,按照具有相同标识的目标存储节点的数据分为一组进行分组;将所述分组后的数据写入用于存储键值对的指定文件;向所述具有相同标识的目标存储节点发送批处理请求,以使所述具有相同标识的目标存储节点调用目标数据库提供的批处理接口,向所述目标数据库写入所述分组后的每一组数据。4.如权利要求1所述区块链节点存取数据的方法,其特征在于,所述根据所述区块链节点调用所述第一存取接口时传递的参数,存取所述目标存储节点中对应于所述参数的数据,包括:根据所述区块链节点调用所述第一存取接口时传递的参数,确定所述参数对应的目标服务端;向所述参数对应的目标服务端发送数据存取请求,以使所述参数对应的目标服务端调用所述目标服务端的数据库提供的第二存取接口,从所述目标服务端的数据库读取或向所述目标服务端的数据库写入对应于所述参数的数据。5.如权利要求4所述区块链节点存取数据的方法,其特征在于,所述根据所述区块链节点调用所述第一存取接口时传递的参数,确定所述参数对应的目标服务端,包括:计算以所述参数为关键字时对应的哈希值;将所述哈希值对服务端集群中当前的服务端的个数取模,以取模所得值作为参数对应的目标服务端的标识。6.如权利要求4所述区块链节点存取数据的方法,其特征在于,所述向所述参数对应的目标服务端发送数据存取请求,以使所述参数对应的目标服务端调用所述目标服务端的数据库提供的第二存取接口,从所述目标服务端的数据库读取或向所述目标服务端的数据库写入对应于所述参数的数据,包括:若所述第一存取接口为读数据接口,则通过调用服务端为所述数据库集群代理提供的
读数据请求接口,向所述关键字对应的目标服务端发送读数据请求;接收所述目标服务端根据所述读数据请求调用所述目标服务端的数据库提供的读数据接口读取的对应于所述参数的数据。7.如权利要求5或6所述区块链节点存取数据的方法,其特征在于,所述区块链节点调用所述第一存取接口时传递的参数包括所述区块链节点要存取的数据的关键字和全局数据版本号。8.如权利要求4所述区块链节点存取数据的方法,其特征在于,所述向所述参数对应的目标服务端发送数据存取请求,以使所述参数对应的目标服务端调用所述目标服务端的数据库提供...
【专利技术属性】
技术研发人员:赖奕宇,曹崇瑞,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。