[发明专利]变量编译方法、装置、电子设备及可读存储介质在审
申请号: | 202211314051.2 | 申请日: | 2022-10-25 |
公开(公告)号: | CN115794103A | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 庄虔伟;曹崇瑞 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/27 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 变量 编译 方法 装置 电子设备 可读 存储 介质 | ||
本申请公开了一种变量编译方法、装置、电子设备及计算机可读存储介质。该方法包括:对于定义并存储在区块链智能合约的持久化存储空间的各变量,执行第一步骤,以对各变量重新排序;对排序得到的变量序列进行编译;第一步骤包括:从各变量中筛选出所占字节长度等于合约插槽字节长度的第一变量组;对每个第一变量组中的各第一变量排序,并对各第一变量组排序,得到第一变量序列;将此刻剩余的各变量进行排序,得到第二变量序列;将第一、第二变量序列依次排序。本申请中,由于第一变量序列能够填满所占用的插槽,使插槽无空间浪费,因此,能够在不删除区块链数据的情况下,通过优化智能合约持久化存储空间的变量排序,节约区块链存储空间。
技术领域
本申请涉及区块链技术领域,具体涉及一种变量编译方法、装置、电子设备及计算机可读存储介质。
背景技术
随着区块链的不断运行,产生的数据越来越多,占用的存储也越来越多。在传统的中心化项目里,可以通过删除历史数据而降低存储占用,但是,对于去中心化的区块链而言,历史数据是对新数据可信的证明,不能随意删除,这这也就意味着区块链的存储占用只能是不断增加,因此,存储问题将是所有区块链项目面临的一个重大问题。
发明内容
本申请提供了一种变量编译方法、装置、电子设备及计算机可读存储介质,能够在不删除区块链历史数据的前提下,节约区块链的存储空间。具体方式如下。
第一方面,本申请提供了一种变量编译方法,所述方法包括:
对于定义并存储在区块链智能合约的持久化存储空间的各变量,执行第一步骤,以对所述各变量进行重新排序,得到重新排序后的智能合约变量序列;
对所述智能合约变量序列进行编译;
其中,所述第一步骤包括:
从所述各变量中筛选出所占字节长度等于合约插槽字节长度的第一变量组,其中,所述第一变量组中包括至少一个第一变量;
对每个所述第一变量组中的各所述第一变量进行排序,并对各所述第一变量组进行排序,得到第一变量序列;
将此刻剩余的各所述变量进行排序,得到第二变量序列;
将所述第一变量序列和所述第二变量序列依次排序。
可选地,所述将此刻剩余的各所述变量进行排序,得到第二变量序列,包括:
循环执行第二步骤,直至剩余变量集合为空时,退出循环;
将每次执行所述第二步骤所得的各第二变量组按照筛选顺序进行排序,得到第二变量序列;
其中,所述第二步骤包括:
从此刻剩余的各所述变量中,筛选出所占字节长度最大的候选变量;
从此刻剩余的各所述变量中,筛选出与所述候选变量共同构成第二变量组的各第二变量,并得到剩余变量集合,其中,所述合约插槽字节长度与所述第二变量组的所占字节长度的差值小于所述剩余变量集合中任一所述变量的所占字节长度;
对所述第二变量组中的所述候选变量和所述各第二变量进行排序;
判断此刻的所述剩余变量集合是否为空;
若否,继续循环;
若是,退出循环。
可选地,所述将此刻剩余的各所述变量进行排序,得到第二变量序列,包括:
将此刻剩余的各所述变量按照所占字节长度依次递减的顺序进行排序,得到第二变量序列。
可选地,所述对所述智能合约变量序列进行编译之后,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211314051.2/2.html,转载请声明来源钻瓜专利网。