[发明专利]一种区块链任务的并行处理方法、装置、电子设备和介质有效
申请号: | 201911040434.3 | 申请日: | 2019-10-29 |
公开(公告)号: | CN110806923B | 公开(公告)日: | 2023-02-24 |
发明(设计)人: | 王玉操;孙君意;朱月俊 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/48;G06F16/27 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 任务 并行 处理 方法 装置 电子设备 介质 | ||
1.一种区块链任务的并行处理方法,其特征在于,包括:
获取待执行事务请求;
识别所述待执行事务请求与当前并行任务集有向无环图中各叶节点所代表的事务请求之间的依赖关系;其中,所述并行任务集中包括存在依赖关系的多个事务请求的任务,所述并行任务集中的任务被串行调度执行;所述并行任务集中采用有向无环图记录各事务请求之间的依赖关系;
根据识别到的依赖关系状态,将所述待执行事务请求的任务添加到当前并行任务集中;
其中,所述根据识别到的依赖关系状态,将所述待执行事务请求的任务添加到当前并行任务集中包括:
如果识别到的依赖关系状态为所述待执行事务请求与一个当前并行任务集中的事务请求存在依赖关系,则将所述待执行事务请求的任务添加到依赖的当前并行任务集中;
如果识别到的依赖关系状态为所述待执行事务请求与任一当前并行任务集中的事务请求不存在依赖关系,则按照预设调度规则,将所述待执行事务请求的任务调度至任一当前并行任务集中执行;其中,所述预设调度规则包括:任务数量、执行速率或虚拟机硬件资源;
如果识别到的依赖关系状态为所述待执行事务请求与两个以上当前并行任务集中的事务请求存在依赖关系,则将所述待执行事务请求的任务添加到过渡池中,并记录依赖关系;所述过渡池存储有每个当前并行任务集中正在执行以及未执行事务请求所构建的有向无环图;
在当前并行任务集中的事务请求执行完成时,消除所述过渡池中与完成事务请求关联的依赖关系;
如果所述过渡池中的待执行事务请求的依赖关系递减至依赖一个当前并行任务集中的事务请求时,则将所述待执行事务请求的任务添加到依赖的当前并行任务集中;
其中,所述当前并行任务集的数量为两个或两个以上,且任意两个并行任务集之间相互独立。
2.根据权利要求1所述的方法,其特征在于,当前并行任务集的数量为两个以上,每个并行任务集的任务由一个虚拟机串行执行。
3.根据权利要求1所述的方法,其特征在于,识别所述待执行事务请求与当前并行任务集有向无环图中各叶节点所代表的事务请求之间的依赖关系包括:
获取所述待执行事务请求的读数据和写数据;
识别所述待执行事务请求的读数据和写数据,与当前并行任务集有向无环图中各叶节点所代表的事务请求的读数据和写数据之间的重叠关系;
如果存在重叠关系则确定为存在依赖关系。
4.根据权利要求1所述的方法,其特征在于,获取待执行事务请求包括:
获取提交至区块链系统进行验证的待执行事务请求;
其中,所述待执行事务请求为基于字段格式的交易事务请求和/或基于智能合约的事务请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911040434.3/1.html,转载请声明来源钻瓜专利网。