[发明专利]区块链JVM应用方法、设备和存储介质在审
申请号: | 202011279724.6 | 申请日: | 2020-11-16 |
公开(公告)号: | CN112363804A | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 何正军;王志文;吴思进 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/445;G06F9/54;G06Q40/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市西湖*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 jvm 应用 方法 设备 存储 介质 | ||
本发明提供一种区块链JVM应用方法、设备和存储介质,该方法包括:分别创建jvm执行线程和jvm查询线程,加载二级加载包;响应于jvm执行线程接收到第一交易的交易执行参数:阻塞第一线程;调用合约加载方法以判断是否曾加载对应的第一合约:否,则通过合约加载方法加载第一合约、缓存合约字节码,执行第一交易;是,则执行第一交易;返回第一线程;响应于接收若干查询请求,并发响应:调用合约加载方法以判断是否曾加载相应的第二合约:否,则通过合约加载方法加载第二合约、缓存合约字节码,jvm查询线程创建第二线程以通过第二合约查询并返回查询结果;是,则jvm查询线程创建第三线程以查询并返回查询结果。本发明实现了在JVM中灵活加载不同智能合约。
技术领域
本申请涉及互联网技术领域,具体涉及一种区块链JVM应用方法、设备和存储介质。
背景技术
区块链的智能合约需要在虚拟机中执行,当前区块链智能合约虚拟机主要采用EVM。由于EVM是一种新型的虚拟机,其安全性,和开发语言的友好性有待提高,从事该门语言开发的程序员也不是很多,导致智能合约的发展受到了一定的限制。
Java虚拟机(Java Virtual Machine,以下简称为JVM),是一种能够运行Javabytecode的虚拟机,以堆栈结构机器来进行实做。最早由Sun微系统所研发并实现第一个实现版本,是Java平台的一部分,能够运行以Java语言写作的软件程序。
Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
在现有的JVM机制中,创建JVM时需要设置class-path(jar包的地址,例如.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar),而在JVM创建后,class-path是无法修改的。
对于将JVM应用在区块链系统中的方案而言,当智能合约以jar包的形式发布后,上述现有的JVM机制存在因为无法修改class-path导致无法加载不同智能合约的问题。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种可以在JVM中灵活加载不同智能合约以执行交易或查询的区块链JVM应用方法、设备和存储介质。
第一方面,本发明提供一种适用于区块链节点的区块链JVM应用方法,JVM中配置有自定义的二级加载包,该方法包括:
分别创建jvm执行线程和jvm查询线程,加载二级加载包;
响应于jvm执行线程接收到区块链执行模块的第一线程所发送的第一交易的交易执行参数:
阻塞第一线程;
jvm执行线程调用二级加载包的合约加载方法以根据交易执行参数判断是否曾加载并缓存第一交易对应的第一合约:
否,则通过合约加载方法加载第一合约、缓存第一合约的字节码,并通过第一合约执行第一交易;
是,则通过第一合约执行第一交易;
返回第一线程;
响应于接收到若干查询请求,通过以下步骤并发响应各查询请求:
调用合约加载方法以根据第一查询请求判断是否曾加载并缓存相应的第二合约:
否,则通过合约加载方法加载第二合约、缓存第二合约的字节码,jvm查询线程创建第二线程,第二线程通过第二合约执行第一查询请求所请求的查询并返回查询结果;
是,则jvm查询线程创建第三线程,第三线程通过第二合约执行第一查询请求所请求的查询并返回查询结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011279724.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种插件配接节示全自动制造流水线
- 下一篇:一种主动式活性炭氡测量装置及方法