[发明专利]一种公链合约资源分配方法、装置、电子设备、存储介质在审
申请号: | 201911413537.X | 申请日: | 2019-12-31 |
公开(公告)号: | CN111240830A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 白玉龙 | 申请(专利权)人: | 陕西医链区块链集团有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 710061 陕西省西安市*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 合约 资源 分配 方法 装置 电子设备 存储 介质 | ||
本申请提供一种公链合约资源分配方法、装置、电子设备、存储介质,所述方法包括:使用稳定操作系统作为Docker的基础版本;对等待部署到公链上的不同合约分别进行资源使用评估;用所述评估得到资源使用情况构造合约的运行版本;根据合约运行版本构建相应Docker镜像;根据外部的合约访问请求决定需要部署的单独合约执行体数量,并以Docker容器形式部署到节点的各个资源点上。本申请每个Docker容器尽量以最小执行资源的方式进行分割,会达成高效的资源利用与分配,避免资源浪费。
技术领域
本申请涉及区块链节点资源分配技术领域,具体而言,涉及一种公链合约资源分配方法、装置、电子设备、存储介质。
背景技术
作为一种新兴的虚拟化方式,Docker跟传统的虚拟化方式相比具有众多的优势,如更快速的交付和部署、更高效的虚拟化、更轻松的迁移和扩展以及更简单的管理。目前区块链的节点内的资源是固定的,因此资源的分配策略就只与执行的虚拟机相关。当资源变为弹性可变时,并没有给出合适的分配利用策略。
发明内容
有鉴于此,本申请提供一种公链合约资源分配方案,实现区块链上节点内资源灵活可变时,高效达成资源的分配与利用。
为实现上述目的,本申请采用的技术方案如下:
第一方面,本申请提供一种公链合约资源分配方法,包括:
使用稳定操作系统作为Docker的基础版本;
对等待部署到公链上的不同合约分别进行资源使用评估;
用所述评估得到资源使用情况构造合约的运行版本;
根据合约运行版本构建相应Docker镜像;
根据外部的合约访问请求决定需要部署的单独合约执行体数量;并以Docker容器形式部署到节点的各个资源点上。
可选地,所述对等待部署到公链上的不同合约分别进行资源使用评估具体包括:
a.部署环境需求,去除Docker基础版本中不需要的功能;
b.对系统资源的使用情况进行分析;
c.根据合约的资源使用特性,从资源池中划分出相应的资源,根据部署环境需求用Docker来构成一个可用的独立的合约执行体镜像;
可选地,所述步骤a中去除Docker基础版本中不需要的功能包括去除图形界面相关项和USB相关项。
可选地,所述步骤b中具体为:分析合约在高并发处理外部接口请求的极限性能时的CPU、内存以及磁盘使用情况,得到单个合约执行体的资源使用极限数据。
可选地,所述步骤c中相应的资源包括CPU、内存、存储介质和网络。
可选地,所述步骤a中使用distroless工具去除Docker容器中所有不必要的内容。
第二方面,本申请还提供一种公链合约资源分配装置,包括:
配置模块,用于使用稳定操作系统作为Docker的基础版本;
评估模块,用于对等待部署到公链上的不同合约分别进行资源使用评估;
构造模块,用于用所述评估得到资源使用情况构造合约的运行版本;
镜像模块,用于根据合约运行版本构建相应Docker镜像;
分配模块,用于根据外部的合约访问请求决定需要部署的单独合约执行体数量;并以Docker容器形式部署到节点的各个资源点上。
第三方面,本申请还提供一种电子设备,包括:
处理器、存储器及通信单元;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西医链区块链集团有限公司,未经陕西医链区块链集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911413537.X/2.html,转载请声明来源钻瓜专利网。