[发明专利]一种区块链中并行建块的交易分发方法有效
申请号: | 201810341423.8 | 申请日: | 2018-04-17 |
公开(公告)号: | CN108564470B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 蔡维德 | 申请(专利权)人: | 北京天德科技有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 并行 交易 分发 方法 | ||
1.一种区块链中并行建块的交易分发方法,其特征在于,包含以下步骤:
步骤1,在每个区块链节点内建立多个建块流程;
步骤2,在每个区块链节点内设置一个统一的交易分发模块,所述交易分发模块负责接收所有的外部交易,并负责向不同的所述建块流程分发所述外部交易;
步骤3,由多个所述建块流程并行建块,同时处理所述外部交易,处理后的所述外部交易通过共识后存储在所述区块链上;其中,同一个所述外部交易在不同的区块链节点中必须被分发到同一个所述建块流程中;若不同所述外部交易之间存在着依赖关系,则分发时按照依赖顺序进行处理分发,被依赖的外部交易通过共识存储在所述区块链后,依赖的外部交易才可以被分发;
所述步骤1中每个区块链节点内多个所述建块流程逻辑完全一致,同时处理交易,互不影响,每个建块流程根据一定规则生成标识号;各个区块链节点之间的标识号相同的所述建块流程进行通信与共识,通过投票得到最终的结果;
所述步骤2包括:
步骤2.1 各个区块链节点接收外部交易,并将外部交易送入交易分发模块;
步骤2.2 所述交易分发模块根据所述交易具体的业务特征获取所述外部交易的依赖规则和依赖特征值;
步骤2.3 根据所述外部交易的依赖规则查找依赖的外部交易,如果依赖的外部交易没有被分发,则当前外部交易不会被分发,没有依赖的外部交易或依赖的外部交易已经被分发并存储到了所述区块链上,则当前外部交易进入分发流程;
步骤2.4 所述交易分发模块的分发流程根据所述依赖特征值和分发算法得到所述外部交易对应的分发通道标号,所述分发通道标号与所述区块链节点中的所述建块流程的标号对应;
步骤2.5 根据步骤2.4中得到的所述分发通道标号将所述外部交易分发到不同的建块流程中进行共识;
其中,所有区块链节点使用相同逻辑的所述交易分发模块; 所述分发算法和具体的区块链节点的信息无关,只和外部交易本身数据有关;相同的外部交易通过所述分发算法的计算后得到相同的分发通道标号并被分发到同一个所述建块流程中;所述若不同所述外部交易之间存在着依赖关系,则分发时按照依赖顺序进行处理分发,被依赖的外部交易通过共识存储在所述区块链后,依赖的外部交易才可以被分发包括:若多个所述外部交易间存在业务依赖的应用,依赖关系会影响所述外部交易的分发顺序;如果当前外部交易依赖一个或多个其他外部交易,则将待处理外部交易和正在处理的所依赖的外部交易分别建立一个哈希表形成两个哈希表,如果依赖关系出现在所述两个哈希表中的任何一个,则表示该外部交易存在依赖的所述外部交易未处理完,所依赖的外部交易处于分发阶段或共识阶段会影响当前外部交易的分发,只有依赖的外部交易通过共识存储到所述区块链后当前外部交易才可以进入分发阶段,所依赖的外部交易未处理完毕,则当前外部交易暂时退回,留待下次再进行分发处理;交易的依赖关系包括多种类型,根据实际应用的业务规则将所述依赖规则标注在外部交易上,所述交易的依赖关系为单一字段、一对一的依赖或一对多的依赖关系;所述外部交易的所述依赖规在交易数据上可被找到对应的所述依赖特征值,所述依赖特征值用于计算分发的建块流程的标号;所述分发算法保证相同的所述依赖特征值计算得到相同的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天德科技有限公司,未经北京天德科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810341423.8/1.html,转载请声明来源钻瓜专利网。