[发明专利]在区块链中并发执行交易的方法和装置有效
申请号: | 201910818240.5 | 申请日: | 2019-08-30 |
公开(公告)号: | CN110704112B | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 刘晓建;张兆勇 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06Q40/04 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 张静娟;周良玉 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 并发 执行 交易 方法 装置 | ||
1.一种在区块链中并发执行交易的方法,所述方法在区块链中的第一节点执行,所述第一节点中预设有第一执行体,所述第一执行体当前在处理第一交易,所述方法包括:
在所述第一执行体在处理所述第一交易的过程中开始第一等待过程之后,使得所述第一执行体休眠;其中,在所述第一执行体在处理所述第一交易的过程中开始第一等待过程之后,使得所述第一执行体休眠包括:在所述第一执行体处理完成所述第一交易之后,在确定第三交易未提交的情况中,使得所述第一执行体在共享内存中记录其在等待第三交易的提交,之后使得所述第一执行体开始第一等待过程,其中,所述第三交易根据预定提交顺序为所述第一交易的前一个交易;所述第一等待过程用于等待其它执行体完成预定操作;以及
当所述其它执行体完成所述预定操作之后,通过所述其它执行体唤醒所述第一执行体,以使得所述第一执行体继续执行所述第一交易。
2.根据权利要求1所述的方法,其中,所述第一节点中还预设有第二执行体,所述第二执行体在使得所述第一执行体休眠之前为待运行状态,所述方法还包括,在使得所述第一执行体休眠之后,通过所述第二执行体开始执行所述第一节点中的待处理的第二交易,其中,所述第二执行体在使得所述第一执行体休眠之后抢占到之前与所述第一执行体相应的CPU。
3.根据权利要求1所述的方法,其中,所述第一节点中还预设有第三执行体,所述第三交易由第三执行体执行,其中,当所述其它执行体完成所述预定操作之后,通过所述其它执行体唤醒所述第一执行体包括,在所述第三执行体提交所述第三交易之后,通过所述第三执行体基于所述记录唤醒所述第一执行体。
4.根据权利要求1所述的方法,其中,所述第一交易中包括对第一变量的读取操作,其中,在所述第一执行体在处理所述第一交易的过程中开始第一等待过程之后,使得所述第一执行体休眠包括,在所述第一执行体请求对所述第一变量的读取之后,使得所述第一执行体开始第一等待过程。
5.根据权利要求4所述的方法,所述第一节点中还预设有第四执行体,其中,所述第四执行体在所述第一执行体请求对所述第一变量的读取之后进行对所述第一变量的读取,其中,当所述其它执行体完成所述预定操作之后,通过所述其它执行体唤醒所述第一执行体包括,当所述第四执行体在读取到第一变量的值之后,通过所述第四执行体唤醒所述第一执行体、并将所述第一变量的值提供给第一执行体。
6.根据权利要求3或5所述的方法,其中,当所述其它执行体完成所述预定操作之后,通过所述其它执行体唤醒所述第一执行体,以使得所述第一执行体继续执行所述第一交易包括,当所述第一等待过程结束之后,唤醒所述第一执行体,以使得所述第一执行体在抢占到CPU之后继续执行所述第一交易。
7.根据权利要求1所述的方法,其中,所述第一交易中包括对第一变量的读取操作,其中,在所述第一执行体在处理所述第一交易的过程中开始第一等待过程之后,使得所述第一执行体休眠包括,在所述第一执行体执行到所述读取操作的代码之后,确定提交顺序在第一交易之前、且未提交的各个交易是否为已执行了对第一变量的写操作的冲突交易,所述各个交易中包括第四交易,在确定所述第四交易为距离第一交易最近的冲突交易的情况中,使得所述第一执行体在共享内存中记录其在等待所述第四交易的提交,之后使得所述第一执行体开始第一等待过程。
8.根据权利要求7所述的方法,其中,当所述其它执行体完成所述预定操作之后,通过所述其它执行体唤醒所述第一执行体包括,当执行第四交易的执行体提交第四交易之后,通过该执行体基于所述第一执行体在共享内存中的记录唤醒所述第一执行体。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910818240.5/1.html,转载请声明来源钻瓜专利网。