一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

区块链智能合约运行方法及系统与流程

2021-11-10 03:36:00 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,特别是涉及一种区块链智能合约运行方法及系统。


背景技术:

2.目前,区块链是融合数学、密码学、互联网和计算机编程等领域技术,构造的一种具有去中心化、不可篡改、可追溯、集体维护等特性的分布式账本形式的数据库。
3.现阶段区块链智能合约运行大多数采用web容器进行运行,但web容器在运行时隔离性不高,无法有效阻隔智能合约之间相互交叉访问资源,运行的安全性较低。同时,现阶段的智能合约与智能合约之间访问的是共同的系统资源,进而在运行智能合约之前需要进行代码格式及安全规范的检查,操作较为繁琐。


技术实现要素:

4.本发明的目的是克服现有技术中的不足之处,提供一种能够提高智能合约之间的隔离度、区块链智能合约运行方法及系统。
5.本发明的目的是通过以下技术方案来实现的:
6.一种区块链智能合约运行方法及系统,包括:docker虚拟机、区块链模块及web智能合约容器,所述docker虚拟机与所述区块链模块通讯连接,所述区块链模块与所述web智能合约容器通讯连接,所述区块链模块用于构建端口及所述docker虚拟机,所述docker虚拟机用于部署所述web智能合约容器,所述web智能合约容器通过所述docker虚拟机映射至所述端口。
7.在其中一个实施例中,还包括区块链节点模块,所述区块链节点模块与所述区块链模块通讯连接。
8.一种区块链智能合约运行方法,包括如下步骤:
9.s101、区块链模块根据智能合约构建docker虚拟机及起始端口;
10.s102、所述docker虚拟机部署web智能合约容器;
11.s103、所述区块链模块将所述docker虚拟机中的web根目录映射至区块链节点模块中,以形成映射集合,同时,所述docker虚拟机内的所述web智能合约容器监听端口映射至所述区块链节点模块的端口中,以启动所述web智能合约容器。
12.在其中一个实施例中,在步骤所述区块链模块将所述docker虚拟机中的web根目录映射至区块链节点模块中,以形成映射集合,同时,所述docker虚拟机内的所述web智能合约容器监听端口映射至所述区块链节点模块的端口中,以启动所述web智能合约容器中,还包括如下步骤:
13.所述区块链节点模块中账本建立多个目录。
14.在其中一个实施例中,在所述步骤所述区块链模块将所述docker虚拟机中的web根目录映射至区块链节点模块中,以形成映射集合,同时,所述docker虚拟机内的所述web智能合约容器监听端口映射至所述区块链节点模块的端口中,以启动所述web智能合约容
器后,还包括如下步骤:
15.所述web智能合约容器接收来自所述区块链节点模块的web请求,所述区块链节点模块获取所述web智能合约容器的所述监听端口,并发送信息数据至所述端口中;
16.所述web智能合约容器从所述端口获取所述信息数据,进行解析操作并运行。
17.本发明相比于现有技术的优点及有益效果如下:
18.本发明为一种区块链智能合约运行方法及系统,通过引入docker虚拟机组建集群,将web智能合约容器与web智能合约容器之间隔离起来,使得web智能合约容器中的智能合约与其他智能合约之间无法直接交叉访问资源,进而提高了隔离性。进一步地,与原来只用1个web智能合约容器共享装载多个智能合约不同,本发明将web智能合约容器多实例打散到不同的docker虚拟机中,使得智能合约分散装载在不同的web智能合约容器中,这样智能合约与智能合约之间访问的是不同的系统资源,从而避免了访问共享系统资源时需要做的形式化检查工作。
附图说明
19.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
20.图1为本发明一实施方式的区块链智能合约运行方法及系统的结构示意图;
21.图2为本发明一实施方式的区块链智能合约运行方法及系统的步骤流程图。
具体实施方式
22.为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。
23.需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。
24.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
25.请参阅图1,一实施方式中,一种区块链智能合约运行系统10,包括:docker虚拟机100、区块链模块200及web智能合约容器300,docker虚拟机100与区块链模块200通讯连接,区块链模块200与web智能合约容器300通讯连接,区块链模块200用于构建端口及docker虚拟机100,docker虚拟机100用于部署web智能合约容器300,web智能合约容器300通过docker虚拟机100映射至端口。需要说明的是,docker虚拟机100具有自身的操作系统,其隔
离效果是显著的,同时,本技术设置有多个web智能合约容器300以及多个docker虚拟机100,每个docker虚拟机100对应部署一个web智能合约容器300,以保证隔离度。如此,通过引入docker虚拟机100组建集群,将web智能合约容器300与web智能合约容器300之间隔离起来,使得web智能合约容器300中的智能合约与其他智能合约之间无法直接交叉访问资源,进而提高了隔离性。进一步地,与原来只用1个web智能合约容器300共享装载多个智能合约不同,本发明将web智能合约容器300多实例打散到不同的docker虚拟机100中,使得智能合约分散装载在不同的web智能合约容器300中,这样智能合约与智能合约之间访问的是不同的系统资源,从而避免了访问共享系统资源时需要做的形式化检查工作。这里的形式化检查指对智能合约进行人工、机器辅助等检查,包括代码格式、安全规范等
26.请参阅图1,在一实施方式中,区块链智能合约运行系统10还包括区块链节点模块400,区块链节点模块400与区块链模块200通讯连接。需要说明的是,区块链节点模块200包括了虚拟机管理器及各项区块链核心的服务。
27.请参阅图2,一种区块链智能合约运行方法,包括如下步骤:
28.s101、区块链模块200根据智能合约构建docker虚拟机100及起始端口;
29.s102、docker虚拟机100部署web智能合约容器300;
30.s103、区块链模块200将docker虚拟机100中的web根目录映射至区块链节点模块400中,以形成映射集合,同时,docker虚拟机100内的web智能合约容器300监听端口映射至区块链节点模块400的端口中,以启动web智能合约容器300。
31.具体地,在步骤区块链模块200将docker虚拟机100中的web根目录映射至区块链节点模块400中,以形成映射集合,同时,docker虚拟机100内的web智能合约容器300监听端口映射至区块链节点模块400的端口中,以启动web智能合约容器300中,还包括如下步骤:
32.区块链节点模块400中账本建立多个目录。
33.需要说明的是,首先管理员为区块链模块400配置最大智能合约数量、docker虚拟机100映射起始端口,然后,区块链模块400为每个智能合约,按智能合约名称构建docker虚拟机100实例,根据系统配置的最大智能合约数量,限制docker虚拟机100集群数量。每个docker虚拟机100默认部署web智能合约容器300,每个web智能合约容器300在docker虚拟机100的文件路径固定,比如/opt/container。紧接着,区块链模块将docker虚拟机100的web根目录映射至区块链节点模块400中账本的不同目录下,形成一个规则性的映射集合;同时,将docker虚拟机100内web智能合约容器300监听的端口通过映射至区块链节点模块400中不同端口,端口的计算规则是按系统配置的“docker虚拟机100映射起始端口”依次加1,避免监听冲突。进一步地,区块链模块首先采用docker虚拟机100集群构建方法构建新的docker虚拟机100集群,然后采用docker虚拟机100与区块链节点模块400映射方法完成web智能合约容器300与区块链节点模块400的关联,继而将智能合约复制至web智能合约容器300根目录映射的主机目录,最后启动web智能合约容器300,完成智能合约容器300的装载和部署。最后运行智能合约。
34.进一步地,在一实施方式中,在步骤区块链模块将docker虚拟机100中的web根目录映射至区块链节点模块中,以形成映射集合,同时,docker虚拟机内的web智能合约容器300监听端口映射至区块链节点模块400的端口中,以启动web智能合约容器300后,还包括如下步骤:
35.web智能合约容器300接收来自区块链节点模块400的web请求,区块链节点模块400获取web智能合约容器300的监听端口,并发送信息数据至端口中;
36.web智能合约容器300从端口获取信息数据,进行解析操作并运行。
37.需要说明的是,当智能合约运行时,接受来自区块链节点模块400的web请求,区块链节点模块400通过智能合约名称从系统中查询web智能合约容器300监听的端口号,将消息发送至端口,web智能合约容器300从端口获取到该消息,进行解析并运行。
38.以上所述实施方式仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献