[发明专利]智能合约运行环境的控制方法及系统、设备、介质有效
申请号: | 202010053923.9 | 申请日: | 2020-01-17 |
公开(公告)号: | CN111274576B | 公开(公告)日: | 2022-08-02 |
发明(设计)人: | 谭强;孙善宝;金长新;徐驰 | 申请(专利权)人: | 山东浪潮科学研究院有限公司 |
主分类号: | G06F21/53 | 分类号: | G06F21/53;G06F9/455 |
代理公司: | 北京君慧知识产权代理事务所(普通合伙) 11716 | 代理人: | 董延丽 |
地址: | 250101 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 运行 环境 控制 方法 系统 设备 介质 | ||
本申请公开了一种智能合约运行环境的控制方法及系统、设备、介质,能够通过获取与各区块链节点连接的容器的上一周期的状态信息;基于预设的状态预测算法,以及所述容器的上一周期的状态信息,确定所述容器的下一周期的容器暂停时间;根据所述下一周期的容器暂停时间,将所述容器设置为暂停状态。
技术领域
本申请涉及计算机技术领域,尤其涉及一种智能合约运行环境的控制方法及系统、设备、介质。
背景技术
目前智能合约的执行环境主要分为两种:虚拟机和容器(docker)。容器通常是指借助容器搜索引擎,让开发者可以打包其应用以及依赖包到一个可移植的容器中,也可以实现虚拟化。
智能合约本质上是区块链上可执行的代码,那么在智能合约在执行过程中,需要至少关注两个问题:智能合约运行环境的启动速度和指令的执行速度。
由于对于容器而言,智能合约中的代码中很少涉及到与IO相关的指令,因此智能合约执行过程中的指令的执行速度易于优化。但是,由于智能合约的每次调用,都需要在一个新的容器中进行,因此智能合运行环境的启动时间对整个智能合约系统有着较大的影响。
基于此,如何减少智能合约运行环境的启动时间成为亟需解决的技术问题。
发明内容
本说明书实施例提供一种智能合约运行环境的控制方法及系统、设备、介质,用于解决现有技术中的如下技术问题:智能合约运行环境的启动时间较长。
本说明书实施例采用下述技术方案:
一种智能合约运行环境的控制方法,包括:
获取与各区块链节点连接的容器的上一周期的状态信息;
基于预设的状态预测算法,以及所述容器的上一周期的状态信息,确定所述容器的下一周期的容器暂停时间;
根据所述下一周期的容器暂停时间,将所述容器设置为暂停状态;
其中,从容器取消暂停状态到容器开始暂停状态作为一个所述周期。
可选地,所述状态信息包括:负载数据、资源利用率、容器暂停时间。
可选地,所述状态信息还包括:智能合约的平均执行时间、冷启动时间、所述区块链节点连接的容器的数量。
可选地,所述预设的状态预测算法为:卡尔曼滤波器。
可选地,所述下一周期的容器暂停时间至少包括:下一周期的容器开始暂停状态的时间、下一周期的容器取消暂停状态的时间。
可选地,根据所述容器的下一周期的容器暂停时间,将所述容器设置为暂停状态,具体包括:
计算容器的当前时间,与所述下一周期的容器开始暂停的时间的差值;
在所述差值小于预设阈值的情况下,确定所述容器中是否存在正在执行的智能合约;
在所述容器中未存在正在执行的智能合约的情况下,根据所述容器的下一周期的容器暂停时间,将所述容器设置为暂停状态。
可选地,所述方法还包括:接收来自区块链节点的智能合约执行请求,所述智能合约执行请求包括智能合约;
确定与所述区块链节点连接的各容器的工作状态;
将工作状态为暂停状态的一个容器作为执行容器,并在所述执行容器中执行所述智能合约。
一种智能合约运行环境的控制系统,所述系统包括:
数据采集器,用于获取与各区块链节点连接的容器的上一周期的状态信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮科学研究院有限公司,未经山东浪潮科学研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010053923.9/2.html,转载请声明来源钻瓜专利网。