[发明专利]智能合约的类调用方法、装置及电子设备有效
申请号: | 202011345713.3 | 申请日: | 2020-11-26 |
公开(公告)号: | CN112445543B | 公开(公告)日: | 2023-03-10 |
发明(设计)人: | 邱炜伟;李伟;黄方蕾;张珂杰;胡麦芳 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 赵倩 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 调用 方法 装置 电子设备 | ||
1.一种智能合约的类调用方法,其特征在于,包括:
根据合约调用请求,确定待调用的第一智能合约;
查找所述第一智能合约对应的第一类加载器,其中,类加载器与智能合约一一对应,每个智能合约全部的类均由所述智能合约对应的类加载器进行加载;
通过所述第一类加载器调用所述第一智能合约的目标类,其中,所述目标类包括用户自定义的功能类,所述合约调用请求包括所述功能类的字节码和全限定名;
所述通过所述第一类加载器调用所述第一智能合约的目标类,包括:
根据所述功能类的全限定名,在所述第一类加载器的缓存中查找与所述功能类的全限定名相同的同名功能类;
若没有查找到所述同名功能类,则根据所述功能类的字节码,在所述第一类加载器的缓存中加载并调用所述功能类;
若查找到所述同名功能类,则比对所述同名功能类的字节码和所述功能类的字节码是否一致;
若所述同名功能类的字节码和所述功能类的字节码一致,则调用所述同名功能类;
若所述同名功能类的字节码和所述功能类的字节码不一致,则删除所述同名功能类,并根据所述功能类的字节码,在所述第一类加载器的缓存中加载并调用所述功能类。
2.根据权利要求1所述的方法,其特征在于,所述合约调用请求包括所述第一智能合约的合约地址,所述查找所述第一智能合约对应的第一类加载器,包括:
根据所述第一智能合约的合约地址,查找所述第一类加载器。
3.根据权利要求1所述的方法,其特征在于,在所述通过所述第一类加载器调用所述第一智能合约的目标类之前,所述方法还包括:
若没有查找到所述第一类加载器,则创建所述第一类加载器。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若缓存所述第一类加载器的Java虚拟机的缓存超过阈值,则将所述Java虚拟机缓存中满足最近最少使用条件的类加载器删除。
5.根据权利要求1所述的方法,其特征在于,所述目标类包括所述第一智能合约中预设的用户类,所述通过所述第一类加载器调用所述第一智能合约的目标类,包括:
根据所述用户类的全限定名,在所述第一类加载器的缓存中查找与所述用户类的全限定名相同的同名用户类;
若没有查找到所述同名用户类,则根据所述用户类的字节码,在所述第一类加载器的缓存中加载并调用所述用户类;
若查找到所述同名用户类,则调用所述同名用户类。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
根据合约部署请求,确定待部署的第二智能合约;
创建所述第二智能合约对应的第二类加载器;
通过所述第二类加载器调用所述第二智能合约的目标类。
7.一种智能合约的类调用装置,其特征在于,包括:
确定模块,用于根据合约调用请求,确定待调用的第一智能合约,以及查找所述第一智能合约对应的第一类加载器,其中,类加载器与智能合约一一对应,每个智能合约全部的类均由所述智能合约对应的类加载器进行加载;
调用模块,用于通过所述第一类加载器调用所述第一智能合约的目标类,其中,所述目标类包括用户自定义的功能类,所述合约调用请求包括所述功能类的字节码和全限定名;
所述调用模块具体用于:
根据所述功能类的全限定名,在所述第一类加载器的缓存中查找与所述功能类的全限定名相同的同名功能类;
若没有查找到所述同名功能类,则根据所述功能类的字节码,在所述第一类加载器的缓存中加载并调用所述功能类;
若查找到所述同名功能类,则比对所述同名功能类的字节码和所述功能类的字节码是否一致;
若所述同名功能类的字节码和所述功能类的字节码一致,则调用所述同名功能类;
若所述同名功能类的字节码和所述功能类的字节码不一致,则删除所述同名功能类,并根据所述功能类的字节码,在所述第一类加载器的缓存中加载并调用所述功能类。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011345713.3/1.html,转载请声明来源钻瓜专利网。