[发明专利]区块链JVM应用方法、设备和存储介质在审
申请号: | 202011281300.3 | 申请日: | 2020-11-16 |
公开(公告)号: | CN112346820A | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 何正军;王志文;吴思进 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50;G06F21/64;G06Q40/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市西湖*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 jvm 应用 方法 设备 存储 介质 | ||
本发明提供一种区块链JVM应用方法、设备和存储介质,该方法包括:创建第一jvm,以及,第一jvm的jvm执行线程;响应于jvm执行线程接收到区块链执行模块的第一线程所发送的第一交易的交易执行参数,阻塞第一线程;根据交易执行参数中的合约名称加载第一交易对应的第一合约;通过第一合约执行第一交易;返回第一线程,销毁第一jvm,返回上述创建第一jvm,以及,第一jvm的jvm执行线程。本发明通过在java编译器中配置原生类型的区块链接口、为每笔待执行的交易重新创建一个JVM、在执行交易时阻塞传递交易执行参数的线程实现了提供通过JVM执行区块链交易的解决方案。
技术领域
本申请涉及互联网技术领域,具体涉及一种区块链JVM应用方法、设备和存储介质。
背景技术
区块链的智能合约需要在虚拟机中执行,当前区块链智能合约虚拟机主要采用EVM。由于EVM是一种新型的虚拟机,其安全性,和开发语言的友好性有待提高,从事该门语言开发的程序员也不是很多,导致智能合约的发展受到了一定的限制。
Java虚拟机(Java Virtual Machine,以下简称为JVM),是一种能够运行Javabytecode的虚拟机,以堆栈结构机器来进行实做。最早由Sun微系统所研发并实现第一个实现版本,是Java平台的一部分,能够运行以Java语言写作的软件程序。
JVM有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
由于JVM的原生机制不是为执行智能合约所设计的,因此将JVM应用到区块链系统中执行智能合约,需要对JVM的机制进行多方面的改造。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种通过JVM执行区块链交易的区块链JVM应用方法、设备和存储介质。
第一方面,本发明提供一种适用于区块链节点的区块链JVM应用方法,区块链节点的java编译器中配置有原生类型的区块链接口,区块链接口包括账户类型接口、状态数据库类型接口和本地数据库类型接口,该方法包括:
创建第一jvm,以及,第一jvm的jvm执行线程;
响应于jvm执行线程接收到区块链执行模块的第一线程所发送的第一交易的交易执行参数,阻塞第一线程;
根据交易执行参数中的合约名称加载第一交易对应的第一合约;
通过第一合约执行第一交易;
返回第一线程,销毁第一jvm,返回上述创建第一jvm,以及,第一jvm的jvm执行线程。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的区块链JVM应用方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的区块链JVM应用方法。
本发明诸多实施例提供的区块链JVM应用方法、设备和存储介质一方面通过在java编译器中配置原生类型的区块链接口,使JVM所加载的java合约可以调用区块链接口以处理交易的执行;另一方面通过为每笔待执行的交易重新创建一个JVM,解决了JVM不能更改所加载的合约的问题;再一方面还通过在执行交易时阻塞传递交易执行参数的线程,保障了交易不会并行执行,最终实现了提供通过JVM执行区块链交易的解决方案。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011281300.3/2.html,转载请声明来源钻瓜专利网。