[发明专利]基于智能合约的RAM资源分配方法及装置有效
申请号: | 201910245616.8 | 申请日: | 2019-03-28 |
公开(公告)号: | CN110134510B | 公开(公告)日: | 2021-09-14 |
发明(设计)人: | 熊睿 | 申请(专利权)人: | 熊睿 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 厦门一品恒润知识产权代理事务所(普通合伙) 35245 | 代理人: | 李强 |
地址: | 361015 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 智能 合约 ram 资源 分配 方法 装置 | ||
本发明提供一种基于智能合约的RAM资源分配方法、装置及智能合约的执行方法、装置,通过获取用户的RAM资源;根据业务类型调用智能合约中预设的分配接口;确定数据格式及预设空间,分配所述RAM资源获得预设RAM资源;并且利用预设RAM资源的进行智能合约的执行;本发明基于智能合约,为用户预先分配业务所需要的RAM资源,智能合约在使用用户预先分配的RAM资源时,采取填充、使用、用完回收的方式,能够重复使用用户预先分配的资源;在执行智能合约中的方法时,根据业务逻辑更新数据状态,保持数据大小不变即可,减少项目方RAM运营成本,且降低被恶意消耗RAM导致服务不可用的风险。
技术领域
本发明涉及区块链领域,具体涉及基于智能合约的RAM资源分配方法及装置、智能合约的执行方法及装置。
背景技术
智能合约是一段代码和数据的集合,也叫“可编程合约”,即通过程序编码定义合约,预设执行条件,当触发执行条件时执行行为。由于智能合约的公开透明性、无法随意篡改的特性,而且天然具备功能稳定性和中立性的特点,智能合约的业务场景中已有越来越多的实际应用。
在EOS智能合约执行过程中,需要消耗EOS节点的CPU和内存资源,RAM为EOS软件平台上的内存数据库资源,数据库记录需要消耗RAM。为了保持超级节点的高效运行,如果要保持区块链数据可以随时存储、修改,就需要这部分数据存储在内存中。现有技术中RAM 资源需要向系统合约购买,消耗时需要得到用户的授权,删除数据时返回RAM资源给所有者;在执行智能合约的过程中需要发起方的授权,RAM资源的消耗需要得到所有者的授权,造成业务逻辑在实现过程中,非常不方便;或者智能合约账户承担所有的RAM 资源消耗,RAM资源由DAPP项目方为用户分配,解决了授权的不方便, 但是导致大幅提高DAPP的运营成本。因此,现有技术中RAM分配方法不仅增加了项目方运营成本,而且还存在被恶意攻击的风险,导致项目方RAM资源耗尽,服务不可用。
发明内容
本发明所要解决的技术问题是:如何减少项目方RAM运营成本,及如何降低被恶意消耗RAM导致服务不可用的风险。
为了解决上述技术问题,本发明提供一种基于智能合约的RAM资源分配方法,所述方法包括:
获取用户的RAM资源;
根据业务类型调用智能合约中预设的分配接口;
确定数据格式及预设空间,分配所述RAM资源获得预设RAM资源。
在一个实施例中,所述“分配所述RAM资源获得预设RAM资源”方法包括:
根据所述数据格式及预设空间创建内容为空的预存数据;
通过multi-index 表将所述预存数据存储为预设RAM资源。
在一个实施例中,所述方法还包括:
所述预设RAM资源中的预存数据的数据字节大小不变。
本发明还提供一种智能合约的执行方法,所述方法包括:
获取用户的挂单信息;
将所述挂单信息写入如上述任意一实施例所述的基于智能合约的RAM资源分配方法中预设RAM资源的预存数据。
在一个实施例中,所述方法还包括:
当预存数据中的挂单信息交易成功时,删除所述挂单信息,保存空的预存数据。
在一个实施例中,所述方法还包括:
当用户建立的挂单信息的数据量超出所述预设RAM资源的存储空间时,获取用户授权,增加预设RAM资源的分配。
作为本发明的又一方面,还提供一种基于智能合约的RAM资源分配装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于熊睿,未经熊睿许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910245616.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据的缓存方法及设备
- 下一篇:一种OpenTSDB共享存储优化方法