预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN114327695A(43)申请公布日2022.04.12(21)申请号202111646674.5(22)申请日2021.12.29(71)申请人支付宝(杭州)信息技术有限公司地址310000浙江省杭州市西湖区西溪路556号8层B段801-11(72)发明人刘晓建(74)专利代理机构北京亿腾知识产权代理事务所(普通合伙)11309代理人张静娟周良玉(51)Int.Cl.G06F9/448(2018.01)权利要求书4页说明书10页附图4页(54)发明名称智能合约的执行方法及装置(57)摘要一种智能合约的执行方法及装置。该方法包括:获取待执行的智能合约被允许执行的第一指令数;在执行所述智能合约的过程中,基于处理器中的PMU确定已执行的智能合约的第二指令数是否等于第一指令数。CN114327695ACN114327695A权利要求书1/4页1.一种智能合约的执行方法,包括:获取待执行的智能合约被允许执行的第一指令数;在执行所述智能合约的过程中,基于处理器中的性能检测单元PMU确定已执行的所述智能合约的指令数是否等于所述第一指令数。2.根据权利要求1所述的方法,所述方法还包括:在执行所述智能合约之前,在所述PMU对应的第一寄存器中设置第一数量,使所述处理器在用户态执行所述第一数量的指令后,在所述PMU的触发下产生中断,其中所述第一数量基于所述第一指令数和预设数量确定,所述预设数量为所述处理器在设置所述第一数量后执行的区块链平台的最少指令条数;当所述处理器的控制权在所述智能合约和所述区块链平台间转移时,获取所述处理器在用户态执行的指令的第一累计数量,并根据所述第一累计数量确定所述处理器在设置第一数量或开始执行所述智能合约后执行的第一类指令的统计数量,其中所述第一类指令包括属于所述智能合约的指令或属于所述区块链平台的指令;所述基于处理器中的性能检测单元PMU确定已执行的所述智能合约的第二指令数是否等于所述第一指令数,包括:当所述处理器在所述PMU的触发下产生中断后,根据所述统计数量确定已执行的所述智能合约的第二指令数是否等于所述第一指令数。3.根据权利要求2所述的方法,其中,所述第一类指令包括属于所述区块链平台的指令;所述根据所述统计数量确定已执行的所述智能合约的第二指令数是否等于所述第一指令数,包括:当所述处理器当前执行的指令不属于所述区块链平台的情况下,根据所述统计数量,以及所述处理器在设置所述第一数量或开始执行所述智能后在用户态执行的第二指令数,确定已执行的所述智能合约的指令数。4.根据权利要求3所述的方法,其中,所述根据所述统计数量确定已执行的所述智能合约的指令数是否等于所述第一指令数,还包括:当所述处理器当前执行的指令属于所述区块链平台的情况下,获取所述处理器在用户态执行的指令的第二累计数量,并根据所述第一累计数量、所述第二累计数量和所述统计数量计算已执行的所述区块链平台的第三指令数;根据所述第二指令数以及所述第三指令数,确定已执行的所述智能合约的指令数。5.根据权利要求2所述的方法,其中,所述第一类指令包括属于所述智能合约的指令;所述根据所述统计数量确定已执行的所述智能合约的指令数是否等于所述第一指令数,包括:当所述处理器当前执行的指令不属于所述智能合约的情况下,将所述统计数量确定为已执行的所述智能合约的第二指令数。6.根据权利要求5所述的方法,其中,所述根据所述统计数量确定已执行的所述智能合约的指令数是否等于所述第一指令数,还包括:当所述处理器当前执行的指令属于所述智能合约的情况下,获取所述处理器在用户态执行的指令的第三累计数量,并根据所述第三累计数量、所述第一累计数量以及所述统计数量,确定已执行的所述智能合约的第二指令数。7.根据权利要求1‑6中任一项所述的方法,所述方法还包括:当已执行的所述智能合约的指令数等于所述第一指令数的情况下,终止执行所述智能合约。8.根据权利要求1‑6中任一项所述的方法,所述方法还包括:2CN114327695A权利要求书2/4页当已执行的所述智能合约的第二指令数不等于所述第一指令数的情况下,在所述PMU对应的第一寄存器中设置第二数量,使所述处理器在用户态执行所述第二数量的指令后,在所述PMU的触发下产生中断,其中所述第二数量基于已执行的所述智能合约的指令数和所述第一指令数计算得到;根据所述处理器的中断现场继续执行所述智能合约。9.根据权利要求1所述的方法,所述方法还包括:在执行所述智能合约之前,在所述PMU对应的第一寄存器中设置所述第一指令数,使所述处理器在已执行的所述智能合约的第二指令数等于所述第一指令数后,在所述PMU的触发下产生中断;所述基于处理器中的性能检测单元PMU确定已执行的所述智能合约的第二指令数是