一种基于区块链技术的分片化的交易执行系统及方法技术方案

技术编号:19512850 阅读:16 留言:0更新日期:2018-11-21 08:43
本发明专利技术实施例公开了一种基于区块链技术的分片化的交易执行系统及方法,包括第一总线、区块链模块和两个以上执行模块;所述执行模块通过第一总线获取所述区块链模块的最新出块信息及其交易信息,其中,每个执行模块内置一执行条件,且各个执行模块的执行条件构成执行集合中互不相交的子集;当一执行模块判断最新出块信息中的交易信息与其执行条件匹配时,由该执行模块执行该最新出块信息中的交易信息,并将执行结果返回给所述区块链模块。本发明专利技术采用多个执行模块按照交易帐户地址将交易进行分片处理,使得交易能够并行化执行,提高许可链性能。

【技术实现步骤摘要】
一种基于区块链技术的分片化的交易执行系统及方法
本专利技术涉及网络
,尤其涉及一种基于区块链技术的分片化的交易执行系统及方法。
技术介绍
区块链是一种新的分布式技术,由一个个顺序排列而成的交易组成块,再由一个个顺序排列而成的块组成链,每个块包含一个自增的高度作为编号,还有一个时间戳用于记载打包时间。现有区块链内一般以账户为基本单元,账户内有各种属性,包括余额、交易数、合约代码、合约存储数据结构等。区块链内的一个交易会涉及两个或多个账户属性的相互读写操作,这些属性的状态存在前后线性依赖关系,以解决双花问题。区块链为了追求全链状态的确定性,要求交易在块内以列表形式存在,并且由所有节点一个个地顺序执行,不能出现随机跳序或随意并发执行的情况,否则各个节点的计算结果可能会出现不一致,最终无法达成共识。完全串行执行使节点的物理机器性能无法得到完全发挥,节点处理能力受制于单核CPU的最高主频,无法发挥多核优势和集群优势,严重影响区块链技术的处理性能。由此,亟需找到一种区块链中新的提高区块链技术的处理性能的方案,以克服上述问题。
技术实现思路
本专利技术实施例提供一种基于区块链技术的分片化的交易执行系统及方法,用以解决现有技术的串行执行使节点的物理机器性能无法得到完全发挥的问题。为了解决上述技术问题,本专利技术实施例采用下述技术方案:第一方面,提供了一种基于区块链技术的分片化的交易执行系统,包括第一总线和区块链模块,还包括两个以上执行模块;所述执行模块通过第一总线获取所述区块链模块的最新出块信息及其交易信息,其中,每个执行模块内置一执行条件,且各个执行模块的执行条件构成执行集合中互不相交的子集;当一执行模块判断最新出块信息中的交易信息与其执行条件匹配时,由该执行模块执行该最新出块信息中的交易信息,并将执行结果返回给所述区块链模块。可选的,一执行模块判断最新出块信息中的交易信息与其执行条件匹配具体为:所述至少两个执行模块中的每一个执行模块内置有一张路由表,各个执行模块所内置的路由表中包括该执行模块能够执行的交易帐户地址;所述执行模块将最新出块信息中的交易信息的交易帐户地址信息与其能够执行的交易帐户地址进行比对,如果比对成功,则判断最新出块信息中的交易信息与其执行条件匹配。可选的,所述最新出块信息中的交易信息的交易帐户地址信息为16进制的哈希值;所述各个执行模块所内置的路由表中的该执行模块能够执行的交易帐户地址为16进制的哈希值。可选的,所述交易信息的交易帐户地址信息至少包括两段哈希值,所述执行模块能够执行的交易帐户地址至少包括两段哈希值,所述执行模块将最新出块信息中的交易信息的交易帐户地址信息与其能够执行的交易帐户地址进行比对时,比对所述交易信息的交易帐户地址信息中的第一段哈希值与所述执行模块能够执行的交易帐户地址的第一段哈希值,如果两者相同,则比对成功;如果两者不同,则比对失败。可选的,如果比对失败,则该执行模块判断最新出块信息中的交易信息与其执行条件不匹配时,该执行模块不执行该交易信息。可选的,所述两个以上执行模块并行的从所述第一总线获取所述区块链模块的最新出块信息及其交易信息,并行的将执行结果返回给所述区块链模块。可选的,所述区块链模块具体为许可链模块;所述第一总线为消息总线(MQ);所述区块链模块用于存储所有出块信息及其交易信息,以及执行结果,作为当前状态(state)。第二方面,提供了一种基于区块链技术的交易执行方法,采用第一总线、区块链模块,以及两个以上执行模块;包括以下步骤:A.为每个执行模块配置一张路由表,每个执行模块负责维护自身的路由表;各个执行模块所内置的路由表中包括该执行模块能够执行的交易帐户地址;其中,各个执行模块能够执行的交易帐户地址没有交集;B.所述执行模块通过第一总线获取所述区块链模块的最新出块信息及其交易信息,所述交易信息包括交易帐户地址信息;C.所述执行模块将最新出块信息中的交易信息的交易帐户地址信息与其能够执行的交易帐户地址进行比对;如果比对成功,则进入步骤D,如果比对不成功,则进入步骤E;D.由比对成功的执行模块执行该最新出块信息中的交易信息,并将执行结果返回给所述区块链模块,区块链模块存储所有出块信息及其交易信息,以及执行结果,作为当前状态(state),进入步骤F;E.不执行所述交易信息;F.如果所述区块链模块出现新的出块,则返回步骤B,否则结束。第三方面,本专利技术提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行第二方面所述的方法。第四方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第二方面所述的方法。第五方面,本专利技术提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现第二方面所述的方法。本专利技术通过交易调用的交易帐户地址将交易分给不同的执行器Executor进行处理,使交易能够实现了并行执行,达到交易执行分片的目的,提高了许可链性能。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种基于区块链技术的分片化的交易执行系统的结构示意图;图2为本专利技术实施例提供的一种基于区块链技术的交易执行方法的流程图;图3为本专利技术实施例提供的执行模块与路由表之间的对应与维护关系。具体实施方式为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书实施例保护的范围。以下结合附图,详细说明本说明书各实施例提供的技术方案。区块链是一种新的分布式技术,由一个个顺序排列而成的交易组成块,再由一个个顺序排列而成的块组成链,每个块包含一个自增的高度作为编号,还有一个时间戳用于记载打包时间。现有区块链内一般以账户为基本单元,账户内有各种属性,包括余额、交易数、合约代码、合约存储数据结构等。区块链内的一个交易会涉及两个或多个账户属性的相互读写操作,这些属性的状态存在前后线性依赖关系,以解决双花问题。区块链为了追求全链状态的确定性,要求交易在块内以列表形式存在,并且由所有节点一个个地顺序执行,不能出现随机跳序或随意并发执行的情况,否则各个节点的计算结果可能会出现不一致,最终无法达成共识。完全串行执行使节点的物理机器性能无法得到完全发挥,节点处理能力受制于单核CPU的最高主频,无法发挥多核优势和集群优势,严重影响区块链技术的处理性能。鉴于上述问题,本专利技术实施例提供了一种基于区块链技术的分片化的交易执行系统及方法,旨在解决交易执行的性能问题,借助于许可链中的执行器功能,按照交易帐户地址将交易进行分片处理,达到交易并行化执行,提高许可链性能的目的。实本文档来自技高网...

【技术保护点】
1.一种基于区块链技术的分片化的交易执行系统,包括第一总线和区块链模块,其特征在于,还包括两个以上执行模块;所述执行模块通过第一总线获取所述区块链模块的最新出块信息及其交易信息,其中,每个执行模块内置一执行条件,且各个执行模块的执行条件构成执行集合中互不相交的子集;当一执行模块判断最新出块信息中的交易信息与其执行条件匹配时,由该执行模块执行该最新出块信息中的交易信息,并将执行结果返回给所述区块链模块。

【技术特征摘要】
1.一种基于区块链技术的分片化的交易执行系统,包括第一总线和区块链模块,其特征在于,还包括两个以上执行模块;所述执行模块通过第一总线获取所述区块链模块的最新出块信息及其交易信息,其中,每个执行模块内置一执行条件,且各个执行模块的执行条件构成执行集合中互不相交的子集;当一执行模块判断最新出块信息中的交易信息与其执行条件匹配时,由该执行模块执行该最新出块信息中的交易信息,并将执行结果返回给所述区块链模块。2.根据权利要求1所述的交易执行系统,其特征在于,一执行模块判断最新出块信息中的交易信息与其执行条件匹配具体为:所述至少两个执行模块中的每一个执行模块内置有一张路由表,各个执行模块所内置的路由表中包括该执行模块能够执行的交易帐户地址;所述执行模块将最新出块信息中的交易信息的交易帐户地址信息与其能够执行的交易帐户地址进行比对,如果比对成功,则判断最新出块信息中的交易信息与其执行条件匹配。3.根据权利要求2所述的交易执行系统,其特征在于,所述最新出块信息中的交易信息的交易帐户地址信息为16进制的哈希值;所述各个执行模块所内置的路由表中的该执行模块能够执行的交易帐户地址为16进制的哈希值。4.根据权利要求3所述的交易执行系统,其特征在于,所述交易信息的交易帐户地址信息至少包括两段哈希值,所述执行模块能够执行的交易帐户地址至少包括两段哈希值,所述执行模块将最新出块信息中的交易信息的交易帐户地址信息与其能够执行的交易帐户地址进行比对时,比对所述交易信息的交易帐户地址信息中的第一段哈希值与所述执行模块能够执行的交易帐户地址的第一段哈希值,如果两者相同,则比对成功;如果两者不同,则比对失败。5.根据权利要求4所述的交易执行系统,其特征在于,如果比对失败,则该执行模块判断最新出块信息中的交易信息与其执行条件不匹配时,该执行模块不执行该交易信息。6.根据权利要求1所述的交易执行系统,其特征在于,所述两个以上执行模块并...

【专利技术属性】
技术研发人员:谢晗剑曾兵俞波
申请(专利权)人:杭州秘猿科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1