[发明专利]事务请求的处理方法、装置、设备和存储介质有效
申请号: | 201910389027.7 | 申请日: | 2019-05-07 |
公开(公告)号: | CN110138767B | 公开(公告)日: | 2021-11-30 |
发明(设计)人: | 郑旗;肖伟 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L9/32 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 请求 处理 方法 装置 设备 存储 介质 | ||
1.一种事务请求的处理方法,其特征在于,应用于区块链节点,所述方法包括:
获取基于应用智能合约发起的事务请求,以及所述事务请求的预执行结果;其中,所述预执行结果包括执行过程中调用的接口和程序;
根据所述事务请求的预执行结果,对所述事务请求的执行过程进行系统级处理权限的验证;
根据所述事务请求的预执行结果,并基于所述应用智能合约的权限控制表,对所述事务请求的执行过程进行合约级处理权限的验证;
如果各项权限的验证通过,则调用所述应用智能合约执行所述事务请求,以获取验证执行结果,并与所述预执行结果进行匹配验证;
结果匹配验证通过后,确定所述事务请求预执行结果的有效性。
2.根据权利要求1所述的方法,其特征在于,获取基于应用智能合约发起的事务请求之后,还包括:
根据所述应用智能合约所属的合约账户,识别所述事务请求是否为合约账户的账户操作;
如果所述事务请求为账户操作,则基于所述合约账户的权限控制数据,对所述账户操作的处理权限进行验证。
3.根据权利要求2所述的方法,其特征在于,权限验证的执行顺序从前至后依次包括:所述系统级处理权限的验证、所述账户操作的处理权限的验证、以及所述合约级处理权限的验证。
4.根据权利要求3所述的方法,其特征在于,所述系统级处理权限的验证、所述账户操作的处理权限的验证、以及所述合约级处理权限的验证通过调用基础智能合约来实现。
5.根据权利要求1所述的方法,其特征在于,结果匹配验证通过后,确定所述事务请求执行结果的有效性之后,还包括:
将所述预执行结果封装到所述事务请求中,向区块链网络中传输,以请求其他区块链节点验证所述事务请求;或
将包括所述预执行结果的事务请求,作为事务数据,存储到区块中。
6.根据权利要求1所述的方法,其特征在于,根据所述事务请求的预执行结果,对所述事务请求的执行过程进行系统级处理权限的验证包括:
确定所述事务请求获得预执行结果中所使用的系统接口;
根据为所述应用智能合约配置的系统接口调用权限表,验证所述应用智能合约是否有权限调用所述系统接口,以进行系统级处理权限的验证。
7.根据权利要求1所述的方法,其特征在于,根据所述事务请求的预执行结果,并基于所述应用智能合约的权限控制表,对所述事务请求的执行过程进行合约级处理权限的验证包括:
根据所述事务请求的预执行结果确定所调用的所述应用智能合约的子程序;
根据所述应用智能合约的权限控制表,确定发起所述事务请求的用户是否有权限调用所述子程序,以进行合约级处理权限的验证,其中,所述权限控制表包括所述应用智能合约中子程序的调用权限策略。
8.根据权利要求2所述的方法,其特征在于,如果所述事务请求为账户操作,则基于所述合约账户的权限控制数据,对所述账户操作的处理权限进行验证包括:
如果所述事务请求为合约账户的资产转移操作,则基于所述合约账户的权限控制数据,确定所述事务请求的鉴权信息或用户是否符合合约账户的资产转移权限要求,以对所述账户操作的处理权限进行验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910389027.7/1.html,转载请声明来源钻瓜专利网。