[发明专利]一种基于拓扑排序的区块链交易依赖分析方法在审
申请号: | 201811332803.1 | 申请日: | 2018-11-09 |
公开(公告)号: | CN111179071A | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 蔡维德 | 申请(专利权)人: | 北京天德科技有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 拓扑 排序 区块 交易 依赖 分析 方法 | ||
本发明是一种基于拓扑排序的区块链交易依赖分析方法,其主要特征包括以下步骤:(1)对待处理的每个交易,循环步骤(2)到步骤(5)的操作。(2)计算交易哈希泳道号wn。(3)交易依赖冲突检测。无冲突则为交易分配依赖分析泳道号dn,进入下一步。否则交易退回交易池。(4)交易泳道号冲突检测。如果wn==dn,为交易分配最终泳道号wn,进入下一步。否则交易退回交易池。(5)交易进入分配的泳道分析集合,创建或更新DAG。(6)根据各泳道内的DAG进行拓扑排序,入度为0的交易根据时间戳确定在该泳道内的唯一执行顺序。本发明涉及区块链技术领域,通过分析存在依赖关系的交易,使交易能够在多个泳道上并行执行,提高区块链系统的交易速度。
技术领域
本发明涉及区块链技术领域,尤其涉及到使有依赖的交易能够在区块链系统中能够并行的环境中,通过分析存在依赖关系的交易,尽可能高效的使交易能够并行执行在多个泳道上,从而提高区块链系统的交易速度。
背景技术
在区块链系统中,各个节点分别接收并保存来自客户端或者其他节点发送过来的交易。因为网络或者其他原因的存在,使得各个节点接收到的交易集合中所包含的交易也并不都是相同的。
其次,在某些应用场景下,交易之间可能存在依赖关系。比如节点扫描到的一批交易中存在若干些交易存在依赖关系,定义:A--B表示 B交易依赖于A交易,那么在这一批交易中A必须先于B交易执行,否则B交易则无法执行的情况,同时也可能存在多方依赖,例如存在A--B、C--B、D--B,在B同时依赖于A、C、D交易的情况下而A、C、D交易之间并没有依赖关系,此时需要保证B交易后于A、C、D交易执行,分析交易依赖关系对于交易在区块链系统中的能够以合理的顺序执行成功是有着很大的影响的。
再次,目前市场中的区块链系统中多为串行执行交易的系统,各节点串行执行交易,影响系统交易速度甚至成为系统的性能瓶颈。
这样就出现了本发明通过分析交易之间的依赖关系,把有依赖的交易按照依赖顺序和有依赖冲突的交易返回交易池等待下一轮交易扫描分析等操作,尽可能的让交易能够在不同的泳道上并行执行从而提高系统性能的方法。
发明内容
本发明是一种基于拓扑排序的区块链交易依赖分析的方法,可以在交易有依赖关系的场景下通过有效分析交易之间的依赖关系,让无依赖关系的交易在不同的泳道上并行处理,有依赖关系但无冲突的交易在同一泳道上按照特定的顺序串行执行,从而提供系统交易速度。
本发明的交易依赖分析方法包括以下十步:
(1)区块链系统接收到的交易数据将分配到多个并行共识流程中进行处理,并行处理流程称为泳道;
(2)区块链系统从交易池获取一批交易,对其中的每个交易,循环执行步骤(3)到步骤(8)的操作;
(3)获取一个交易,根据交易数据特征值计算该交易的哈希泳道号widthNo;
(4)根据交易数据特征进行交易依赖检测。检测是否发生交易依赖冲突,如果没有发生依赖冲突,记录该交易被分配的依赖分析泳道号dependNo,然后进入步骤(5),否则直接进入步骤(6);
(5)根据(4)获得交易依赖分析泳道号dependNo,检测泳道号冲突,如dependNo==widthNo,进入步骤(6),否则进入步骤(7);
(6)交易没有发生冲突,交易将被分配泳道号widthNo;
(7)交易发生了泳道号冲突。交易将被退回交易池,等待下一轮依赖分析;
(8)交易进入分配的泳道分析集合,创建或更新有向无环图(DAG);
(9)当获取的一批交易分析完毕后,根据各泳道中交易构成的有向无环图(DAG),进行拓扑排序,结合时间戳,确定各个交易在该泳道内的唯一执行顺序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天德科技有限公司,未经北京天德科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811332803.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体器件的形成方法
- 下一篇:一种四足爬行机构