[发明专利]一种基于Java智能合约的数据集合存储方法有效

专利信息
申请号: 201910404690.X 申请日: 2019-05-15
公开(公告)号: CN110288340B 公开(公告)日: 2021-07-30
发明(设计)人: 邱炜伟;李启雷;李伟;梁秀波;尹可挺;陶烨琪 申请(专利权)人: 杭州趣链科技有限公司
主分类号: G06Q20/38 分类号: G06Q20/38;G06Q40/04;G06F16/25;G06F16/27
代理公司: 杭州求是专利事务所有限公司 33200 代理人: 邱启旺
地址: 310012 浙江省杭州*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 java 智能 合约 数据 集合 存储 方法
【权利要求书】:

1.一种基于Java智能合约的数据集合存储方法,其特征在于,该方法具体包括如下步骤:

步骤一:使用Java智能合约存储数据,必然离不开对集合的使用,在Java智能合约中必须为合约的集合成员变量初始化,之后调用不同集合的构造函数;list集合初始化时,将会创建有序的集合,将集合的初始大小、集合内的缓存进行以及元素的泛型类型初始化;map集合初始化时,将会创建无序的集合,将集合的初始大小、集合内的读写缓存以及键值对的泛型信息进行初始化;初始化后可以集合进行操作,写入的数据可以映射到区块链账本,同时可以利用集合从账本中读取数据;

步骤二:合约集合分别实现了标准JDK的map和list接口,当Java智能合约需要将数据持久化时,可以调用数据集合暴露的接口,将数据存入到不同的数据集合中;有序的数据集合list将会记录存入数据的顺序,可以通过角标的方式来获取;无序的数据集合map则会将数据的键值进行哈希计算来保证存入账本时键值的长度,同时可以将完整的map元素数据持久化,方便下次获取;

步骤三:为了提高数据存取的性能,对Java智能合约的数据集合的元素内容进行了缓存;缓存可分为读缓存和写缓存,当插入新数据时会将数据加载到读写缓存中,写缓存最终会根据某种规则将其中的数据写入到账本中去,而读缓存则可以在读取数据时更高效的获取,降低延迟和减少对账本的操作,获取到的数据同样会加入到读缓存中;

步骤四:Java智能合约数据集合需要与账本不断的发生交互,在读取数据阶段,list集合将以角标作为账本的键值来访问,获取到的数据进过反序列化为list指定的泛型类型数据;map集合则以自身键值的哈希值来访问账本,由于经过哈希计算后丢失了键值的内容,所以map集合需要将键值对一起进行反序列化来从账本还原为原始的map元素,向账本中存储数据时也是一样的道理;

步骤五:最终在Java智能合约执行完成之后,会对数据进行统一写入区块链账本中,这样可以保证数据的原子性;判断合约数据集合在执行前后是否一致,来做是否写入账本的操作,写入账本的数据将从集合的写缓存中获取,最终以与读取方式一致的序列化形式将数据记录进账本,之后清空集合中的缓存来释放空间。

2.根据权利要求1所述的基于Java智能合约的数据集合存储方法,其特征在于,所述的步骤二中,调用数据集合暴露的接口指的是,实现了标准JDK制定的在java.util包下的两个标准集合类型接口:List和Map的具体实现,分别实现了两种具备改接口功能的集合。

3.根据权利要求1所述的基于Java智能合约的数据集合存储方法,其特征在于,所述的步骤三中,对合约的数据集合的元素内容进行了缓存,会将新插入的数据和从账本读取的数据均写入读缓存中。

4.根据权利要求1所述的基于Java智能合约的数据集合存储方法,其特征在于,所述的步骤四中,将map键值哈希计算是为了控制写入账本的键值长度,list集合则不存在这个问题。

5.根据权利要求1所述的基于Java智能合约的数据集合存储方法,其特征在于,所述的步骤五中,不将每次集合操作都写入账本而将数据写入写缓存,在合约执行完交易成功后再将数据写入可以保证原子性。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910404690.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top