[发明专利]一种事务请求的并行执行方法、装置、设备和介质在审
申请号: | 201910372104.8 | 申请日: | 2019-05-06 |
公开(公告)号: | CN110321219A | 公开(公告)日: | 2019-10-11 |
发明(设计)人: | 郑旗;肖伟 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/46 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务请求 并行执行 存储空间 影响数据 并发执行 依赖关系 链节点 区块 智能 分配 记录 冲突 | ||
本发明实施例公开了一种事务请求的并行执行方法、装置、设备和介质。其中,该方法应用于区块链节点,该方法包括:获取基于智能合约发起的至少两个事务请求;为各所述事务请求分配执行存储空间;在至少两个所述执行存储空间中并行执行对应的所述事务请求,并分别记录所述事务请求执行过程中的影响数据集;根据所述事务请求的影响数据集确定所述事务请求执行结果的有效性。通过本发明实施例提供的技术方案,可以兼顾事务请求的并发执行需求和依赖关系的冲突。
技术领域
本发明实施例涉及区块链的数据处理技术,尤其涉及一种事务请求的并行执行方法、装置、设备和介质。
背景技术
在区块链系统中,区块链节点可以基于智能合约产生事务请求,并向其他区块链节点发送该事务请求,由此,该事务请求在全网中得到执行和验证,并上链到区块链中进行存储。智能合约是指在区块链节点中部署的、实现某些功能的代码集合。
在当前的区块链系统中,基于智能合约产生的事务请求需要对区块链数据进行处理。由于事务请求之间可能存在依赖关系,所以通常是串行执行的。但这无法有效利用作为区块链节点的计算机多核特性,吞吐量低,不能很好满足吞吐量大的现实应用场景,导致区块链系统不能更广泛的被落地使用。
发明内容
本发明实施例提供一种事务请求的并行执行方法、装置、设备和介质,以兼顾事务请求的并发执行需求和依赖关系的冲突。
第一方面,本发明实施例提供了一种事务请求的并行执行方法,应用于区块链节点,该方法包括:
获取基于智能合约发起的至少两个事务请求;
为各所述事务请求分配执行存储空间;
在至少两个所述执行存储空间中并行执行对应的所述事务请求,并分别记录所述事务请求执行过程中的影响数据集;
根据所述事务请求的影响数据集确定所述事务请求执行结果的有效性。
第二方面,本发明实施例还提供了一种事务请求的并行执行装置,配置于区块链节点中,该装置包括:
事务请求获取模块,用于获取基于智能合约发起的至少两个事务请求;
存储空间分配模块,用于为各所述事务请求分配执行存储空间;
事务请求执行模块,用于在至少两个所述执行存储空间中并行执行对应的所述事务请求,并分别记录所述事务请求执行过程中的影响数据集;
有效性确定模块,用于根据所述事务请求的影响数据集确定所述事务请求执行结果的有效性。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面所述的事务请求的并行执行方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的事务请求的并行执行方法。
本发明实施例提供的一种事务请求的并行执行方法、装置、设备和介质,通过为获取的基于智能合约发起的至少两个事务请求分配各自执行存储空间,并在至少两个执行存储空间中并行执行对应的事务请求,同时分别记录各事务请求在执行过程中的影响数据集,而后依据所记录的影响数据集确定对应事务请求执行结果的有效性。解决了现有区块链网络中事务请求串行执行方式与现实应用场景需要较大吞吐量之间矛盾的问题,满足了事务请求并发执行的需求,同时兼顾了事务请求之间的依赖关系,为基于智能合约的事务请求并行执行提供了一种新思路。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910372104.8/2.html,转载请声明来源钻瓜专利网。