【技术实现步骤摘要】
基于区块链的数据处理方法、装置、设备及可读存储介质
[0001]本申请为在2021年10月09日提交中国专利局、申请号为2021111769262、申请名称为“基于区块链的数据处理方法、装置、设备及可读存储介质”的中国专利申请的分案申请,其全部内容通过引用结合在本申请中。
[0002]本申请涉及计算机
,尤其涉及一种基于区块链的数据处理方法、装置、设备及可读存储介质。
技术介绍
[0003]区块链中的数据存储于硬盘中,因为硬盘中的数据可以持久化的保存,而内存中的数据在区块链节点关机后消失。但是,区块链节点对硬盘的读/写效率远低于对内存的读/写效率,因此,为了提高区块链中数据的读取效率,区块链节点在工作时,会为区块链分配一块内存,作为区块链的缓存,用于缓存一些热点数据,即需要频繁访问的数据,例如最近的交易、热点合约的代码等。
[0004]但是区块链的缓存有限,当缓存不足时,区块链节点通常会基于最近最少使用的淘汰机制清除热度相对较低的数据。但是,当最近上线的一个合约成为短期热点合约时,其大量的数据的短期访问频率可能会比一些在整个区块链节点运行过程中会频繁使用的长期热点合约的数据的短期访问频率较高。根据最近最少淘汰机制,长期热点合约的数据会被淘汰。当后续区块链节点需要访问长期热点合约的数据时,就不得不从硬盘中的数据库获取,数据的访问效率就变低了。
技术实现思路
[0005]本申请实施例提供了一种基于区块链的数据处理方法、装置、设备及可读存储介质,可以减少不同类型的合约缓存数据之间的相互 ...
【技术保护点】
【技术特征摘要】
1.一种基于区块链的数据处理方法,其特征在于,包括:获取针对目标定制合约的申请缓存指令;在验证出所述申请缓存指令满足缓存申请条件时,获取所述申请缓存指令中的定制缓存创建参数;所述定制缓存创建参数包括预分配缓存容量;在总缓存区域中创建与所述预分配缓存容量对应的预分配缓存区域;所述总缓存区域包括至少两个缓存区域;每个缓存区域的缓存淘汰机制相互独立;将预分配缓存区域和目标定制合约的合约标识进行映射处理,得到与目标定制合约关联的缓存区域;当接收到所述目标定制合约对应的待缓存合约数据时,在所述至少两个缓存区域中查找与所述目标定制合约关联的缓存区域,作为目标缓存区域;将所述待缓存合约数据,存储进所述目标缓存区域。2.根据权利要求1所述的方法,其特征在于,所述获取针对目标定制合约的申请缓存指令,包括:获取申请缓存请求;所述申请缓存请求包括申请缓存合约标识、与所述目标定制合约相关联的定制缓存创建参数;调用所述申请缓存请求中的所述申请缓存合约标识所指示的申请缓存合约;在合约虚拟机中,根据所述定制缓存创建参数执行所述申请缓存合约,得到针对所述目标定制合约的申请缓存指令;所述申请缓存指令包含所述定制缓存创建参数。3.根据权利要求1所述的方法,其特征在于,还包括:当在共识网络中对所述申请缓存指令共识通过时,获取L个链开发节点分别对应的针对所述申请缓存指令的缓存审批结果;L为正整数;当L个缓存审批结果中,属于缓存审批通过的缓存审批结果的数量超过审批通过阈值时,确定所述申请缓存指令满足缓存申请条件。4.根据权利要求3所述的方法,其特征在于,所述L个链开发节点包括目标链开发节点;所述获取L个链开发节点分别对应的针对所述申请缓存指令的缓存审批结果,包括:接收所述目标链开发节点发送的针对所述申请缓存指令的缓存审批交易请求;对所述缓存审批交易请求进行共识处理;当所述缓存审批交易请求的共识结果为共识通过时,执行所述缓存审批交易请求,得到所述目标链开发节点对应的目标缓存审批结果。5.根据权利要求1所述的方法,其特征在于,所述将所述待缓存合约数据,存储进所述目标缓存区域,包括:若所述目标缓存区域的可用缓存容量小于所述待缓存合约数据的待缓存容量,则根据所述目标缓存区域的缓存淘汰机制对所述目标缓存区域中的缓存合约数据进行淘汰处理,得到新的可用缓存容量;所述新的可用缓存容量大于所述待缓存容量;根据所述新的可用缓存容量将所述待缓存合约数据存储进所述目标缓存区域。6.根据权利要求5所述的方法,其特征在于,所述据所述目标缓存区域的缓存淘汰机制对所述目标缓存区域中的缓存合约数据进行淘汰处理,得到新的可用缓存容量,包括:获取所述目标缓存区域对应的第一访问记录列表;所述第一访问记录列表包含至少两个缓存合约数据分别对应的数据访问最近时间;所述目标缓存区域包含所述至少两个缓存
合约数据;将数据访问最近时间最早的缓存合约数据,作为所述目标缓存区域中的目标淘汰合约数据;释放所述目标淘汰合约数据,将释放所述目标淘汰合约数据后的目标缓存区域的可用缓存容量,作为新的可用缓存容量。7.根据权利要求5所述的方法,其特征在于,所述根据所述目标缓存区域的缓存淘汰机制对所述目标缓存区域中的缓存合约数据进行淘汰处理,得到新的可用缓存容量,包括:获取所述目标缓存区域对应的第二访问记录列表;所述第二访问记录列表包含至少两个缓存合约数据在目标时间段内,分别对应的数据访问次数;所述目标缓存区域包含所述至少两个缓存合约数据;将数据访问次数最少的缓存合约数据,作为所述目标缓存区域中的目标淘汰合约数据;释放所述目标淘汰合约数据,将释放所述目标淘汰合约数据后的目标缓存区域的可用缓存容量,作为新的可用缓存容量。8.根据权利要求1所述的方法,其特征在于,还包括:通过缓存路由组件接收数据查询请求;所述数据查询请求包含待执行合约的合约标识;通过所述缓存路由组件,在所述至少两个缓存区域中查找与所述待执行合约的合约标识相关联的查询缓存数据。9.根据权利要求8所述的方法,其特征在于,所述至少两个缓存区域包括通用合约缓存区域和N个定制合约缓存区域;所述N个定制合约缓存区域包括所述目标缓存区域;N为大于或等于0的整数;所述通用合约缓存...
【专利技术属性】
技术研发人员:刘区城,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。