[发明专利]一种智能合约存储方法及存储系统有效
| 申请号: | 201811457208.0 | 申请日: | 2018-11-30 |
| 公开(公告)号: | CN109634932B | 公开(公告)日: | 2021-03-23 |
| 发明(设计)人: | 扬子一;李斌;张勇 | 申请(专利权)人: | 北京瑞卓喜投科技发展有限公司 |
| 主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/13 |
| 代理公司: | 北京力量专利代理事务所(特殊普通合伙) 11504 | 代理人: | 王鸿远 |
| 地址: | 101201 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 智能 合约 存储 方法 存储系统 | ||
本发明涉及一种智能合约存储方法及存储系统,该智能合约存储方法包括:将智能合约文件切分成多个数据块;获取各数据块编号;建立数据块与数据块编号的映射索引表,存储在区块链中;将所有数据块分配至多个给定分区中;将各给定分区中的数据块存储在各给定分区对应的多个存储设备中。本发明的智能合约存储方法及存储系统仅在区块链上存储智能合约的映射索引表,通过链外分布式存储方式存储一份智能合约,不占用区块链数据空间,不存在存储大量智能合约导致的数据冗余问题,且保证了存储的安全性和隐私性,保证了各节点执行智能合约的结果的一致性。
技术领域
本发明涉及区块链技术领域,尤其涉及一种智能合约存储方法及存储系统。
背景技术
智能合约是指一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。区块链技术具有数据去中心化、透明不可篡改和高可靠性等特征,为实现和支撑智能合约的高效运行提供了理想的基础。
从技术角度和运行方式,智能合约可以看作一份以数字代码形式记录的约定,同时保存了约定中包含的触发条件。当触发条件满足时,智能合约会自动识别触发条件和发出预设的数据资源,按照预定的程序执行结果。
目前一般将智能合约重复保存为各个节点的区块链数据,即直接存储在区块链上或者存储智能合约的一些关联信息(哈希、路径等)。
目前智能合约的存储方式存在以下缺陷,一是各节点智能合约大量冗余,并且增加了区块链数据占用的存储空间;二是如果个别节点智能合约出现损坏丢失等情况,将会导致各节点智能合约执行结果不一致的问题出现。
因此,提供一种智能合约存储方法及存储系统。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的智能合约存储方法及存储系统,能够解决数据冗余以及各节点智能合约执行结果不一致的问题。
根据本发明的一个方面,提供一种智能合约存储方法,包括以下步骤:
将智能合约文件切分成多个数据块;
获取各数据块编号;
建立数据块与数据块编号的映射索引表,存储在区块链中;
将所有数据块分配至多个给定分区中;
将各给定分区中的数据块存储在各给定分区对应的多个存储设备中。
进一步地,所述多个存储设备包括多个副本,该多个副本分布在不同的故障域;
将各给定分区中的数据块存储在各给定分区对应的多个存储设备中之后,还包括:
将所述多个存储设备中存储的数据块备份到所述多个副本中。
进一步地,上述智能合约存储方法,还包括:根据各存储设备所在主机、主机所在机架以及机架所在机房绘制树形结构,并将容错规则填充至树形结构,生成存储设备树形逻辑结构;
将各给定分区中的数据块存储在各给定分区对应的多个存储设备中的步骤包括:
向数据库发送给定分区定位请求,根据数据库反馈的定位结果依次选择各给定分区对应的机房、机房中机架、机架上服务器以及服务器中存储设备;
将各给定分区中的数据块存储在选择的存储设备中。
进一步地,获取各数据块编号的步骤包括:
获取智能合约文件的哈希值;
获取对智能合约文件切分时各数据块的生成序号;
将所述智能合约文件的哈希值与各数据块的生成序号组合成各数据块编号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京瑞卓喜投科技发展有限公司,未经北京瑞卓喜投科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811457208.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种日志上传方法及装置
- 下一篇:数据处理的方法、装置及系统





