[发明专利]一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质在审
| 申请号: | 201911180710.6 | 申请日: | 2019-11-27 |
| 公开(公告)号: | CN110968437A | 公开(公告)日: | 2020-04-07 |
| 发明(设计)人: | 李伟;邱炜伟;陶烨琪;尹可挺 | 申请(专利权)人: | 杭州趣链科技有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/455;G06F16/901;G06Q30/02;G06Q40/04 |
| 代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 应孔月 |
| 地址: | 310051 浙江省杭州市*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 java 智能 合约 单个 并行 执行 方法 装置 设备 介质 | ||
1.一种基于Java智能合约的单个合约并行执行方法,其特征在于,包括:
S1、判断Java智能合约中的方法中是否带有@Parallel注解,分析带有@Parallel注解的Java智能合约的方法的Java字节码,判断是否属于成功注册的的可并行执行的合约方法;
S2、当发起合约调用时,先获取被调用合约是否有成功注册的可并行执行的合约方法,若当前区块中有多笔交易都是调用的可并行执行的合约方法,智能合约执行器将对交易中传递给合约方法的参数进行分析,当调用合约的参数不同时,则将该合约方法进行并行执行;若参数相同,则根据区块中的交易顺序来构建依赖关系,生成DAG图来决定先后顺序。
2.根据权利要求1所述的一种基于Java智能合约的单个合约并行执行方法,其特征在于,所述Java智能合约中的方法属于合约类的成员方法。
3.根据权利要求1所述的一种基于Java智能合约的单个合约并行执行方法,其特征在于,在Java智能合约被部署到区块链上时,合约执行引擎将通过Java反射扫描合约的成员方法,当扫描到合约的成员方法拥有@Parallel注解时,会对该合约的成员方法进行字节码检查,判断是否属于成功注册的的可并行执行的合约方法。
4.根据权利要求1所述的一种基于Java智能合约的单个合约并行执行方法,其特征在于,所述判断是否属于成功注册的可并行执行的合约方法,具体方法如下:
首先获取到带有@Parallel注解的Java智能合约的方法的参数个数和类型,且已知一个Java智能合约的方法获取参数是通过从当前方法栈帧的本地变量表中获取,当一个方法栈帧被调用时,可知方法栈帧的本地变量表中的变量即为当前方法的参数;
其次解析从本地变量表中获取出来的方法参数在整个方法字节码中,是否有被修改类型指令操作或者作为参数去调用其他方法,若不满足条件则注册失败;
最后,判断该参数是否只能被@StoreField的持久化变量使用,若不满足条件,则也会导致注册失败。
5.根据权利要求1所述的一种基于Java智能合约的单个合约并行执行方法,其特征在于,当判断属于成功注册的的可并行执行的合约方法后,则在合约方法的状态数据中保存当前可并行的方法的方法签名,方法签名包括了合约方法的名称和方法参数数量以及方法参数类型。
6.根据权利要求1所述的一种基于Java智能合约的单个合约并行执行方法,其特征在于,若参数相同,则根据区块中的交易顺序来构建依赖关系,生成DAG图来决定先后顺序,具体如下:
一个区块内的交易并行依赖关系通过建立DAG有向无环图的形式,序号靠后的交易和靠前的交易有参数冲突时,靠前的交易建立一条指向靠后的交易的依赖边,每次执行可以获取所有入度为0的交易来执行,同时相应的更新图中节点的入度情况。
7.一种基于Java智能合约的单个合约并行执行装置,其特征在于,包括:
注册模块,用于判断Java智能合约中的方法中是否带有@Parallel注解,分析带有@Parallel注解的Java智能合约的方法的Java字节码,判断是否属于成功注册的的可并行执行的合约方法;
解析模块,用于当发起合约调用时,先获取被调用合约是否有成功注册的可并行执行的合约方法,若当前区块中有多笔交易都是调用的可并行执行的合约方法,智能合约执行器将对交易中传递给合约方法的参数进行分析,当调用合约的参数不同时,则将该合约方法进行并行执行;若参数相同,则根据区块中的交易顺序来构建依赖关系,生成DAG图来决定先后顺序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911180710.6/1.html,转载请声明来源钻瓜专利网。





