[发明专利]基于智能合约的数据处理方法、设备以及可读存储介质有效
申请号: | 202110923438.7 | 申请日: | 2021-08-12 |
公开(公告)号: | CN113379422B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 蓝虎;王宗友;时一防;刘汉卿;朱耿良;刘区城;廖志勇;刘攀 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;杜维 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 智能 合约 数据处理 方法 设备 以及 可读 存储 介质 | ||
1.一种基于智能合约的数据处理方法,其特征在于,所述方法由业务网络中的业务节点执行,包括:
获取用于执行交易业务的初始合约调用请求;所述初始合约调用请求包括用于调用目标链上合约的第一合约标识;所述目标链上合约部署在独立于所述业务网络的核心共识网络的共识节点上;所述共识节点和所述业务节点的节点内存中均存储有所述第一合约标识与第二合约标识之间的第一映射关系;所述第二合约标识为部署在所述业务节点上的目标本地合约的合约标识;
基于所述第一合约标识和所述第一映射关系,在所述业务节点的节点内存中查询与所述目标链上合约相关联的所述第二合约标识,基于所述第二合约标识获取所述目标本地合约,调用所述目标本地合约执行所述交易业务所指示的本地业务,得到本地交易执行结果;
基于所述本地交易执行结果和所述初始合约调用请求,确定用于发送给所述共识节点的目标合约调用请求,将所述目标合约调用请求转发至所述共识节点,以使所述共识节点基于所述目标合约调用请求中的所述第一合约标识,获取所述目标链上合约,且调用所述目标链上合约执行所述交易业务所指示的共识业务。
2.根据权利要求1所述的方法,其特征在于,所述业务节点的节点内存中存储有本地合约信息;所述本地合约信息包括关系映射表;所述关系映射表存储有所述第一合约标识与所述第二合约标识之间的所述第一映射关系;
所述基于所述第一合约标识和所述第一映射关系,在所述业务节点的节点内存中查询与所述目标链上合约相关联的所述第二合约标识,基于所述第二合约标识获取所述目标本地合约,包括:
在所述关系映射表中查询与所述第一合约标识具有所述第一映射关系的合约标识,将查询到的合约标识确定为与所述目标链上合约相关联的所述第二合约标识,将所述第二合约标识所对应的本地合约确定为所述目标本地合约。
3.根据权利要求2所述的方法,其特征在于,所述本地合约信息还包括所述目标本地合约对应的本地合约函数;
所述调用所述目标本地合约执行所述交易业务所指示的本地业务,得到本地交易执行结果,包括:
调用所述目标本地合约在所述本地合约信息中读取所述本地合约函数;
通过所述本地合约函数从所述业务节点的节点内存中访问与所述本地业务相关联的本地业务数据,通过所述本地业务数据执行所述交易业务所指示的所述本地业务,得到本地交易执行结果。
4.根据权利要求3所述的方法,其特征在于,所述本地合约函数包括与所述本地业务相关联的预检查函数;
所述通过所述本地合约函数从所述业务节点的节点内存中访问与所述本地业务相关联的本地业务数据,通过所述本地业务数据执行所述交易业务所指示的所述本地业务,得到本地交易执行结果,包括:
通过所述预检查函数从所述业务节点的节点内存中访问与所述本地业务相关联的第一本地业务数据,基于所述第一本地业务数据对所述初始合约调用请求中的请求参数进行预检查处理;
若所述请求参数满足所述本地业务所指示的上链条件,则将满足所述本地业务所指示的上链条件的请求参数确定为合法请求参数,将所述合法请求参数作为所述本地业务对应的本地交易执行结果。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述请求参数不满足所述本地业务所指示的上链条件,则将不满足所述本地业务所指示的上链条件的请求参数确定为非法请求参数,将所述非法请求参数作为所述本地业务对应的本地交易执行结果;
根据所述非法请求参数生成请求失败信息,将所述请求失败信息返回至发送所述初始合约调用请求的第一用户终端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110923438.7/1.html,转载请声明来源钻瓜专利网。