区块链数据处理方法和系统技术方案

技术编号:38197862 阅读:13 留言:0更新日期:2023-07-21 16:36
本申请实施例提供了一种区块链数据处理方法和系统,包括:获取区块内的多个待执行数据;并行对所述多个待执行数据进行预处理得到预处理结果,并确定每一个所述待执行数据对应的状态依赖;针对每一个所述待执行数据,若所述待执行数据存在相同的状态依赖,则按照所述状态依赖执行所述多个待执行数据得到目标交易结果,并输出所述目标交易结果。通过交易并行化处理的方式,既不会对区块链本身的共识层、账本结构等底层进行修改,也不会引入其他的执行环境或者依赖,不增加区块链系统的复杂度,在对原有区块链的侵入性修改最小的程度下,实现区块链交易性能的提升。实现区块链交易性能的提升。实现区块链交易性能的提升。

【技术实现步骤摘要】
区块链数据处理方法和系统


[0001]本申请实施例涉及区块链
,尤其涉及一种区块链数据处理方法、系统、计算机设备及计算机可读存储介质。

技术介绍

[0002]随着互联网的不断发展,区块链技术应运而生,在随后的几年中,区块链成为了电子货币的核心组成部分:作为所有交易的公共账簿。通过利用点对点网络和分布式时间戳服务器,区块链数据库能够进行自主管理,而后以太坊网络和智能合约作为区块链2.0解决方案应运而生,解决越来越多的应用问题。但随着大量应用基于智能合约实现之后,越来越发现区块链的性能瓶颈不足以支撑大规模的去中心化应用。
[0003]目前,为了解决区块链网络的性能问题,业界提出各种解决方案,主要分为链上扩容和链下扩容两种方向。但是,链上扩容的方案涉及到对区块链底层进行修改,从技术角度和社区角度,难度很大,迟迟没有进展,而链下扩容的方案需要依赖额外的组件,增加了整个区块链系统的复杂度,不易实现。

技术实现思路

[0004]本申请实施例的目的是提供一种区块链数据处理方法、系统、计算机设备及计算机可读存储介质,用于解决以下问题:如何提高区块链网络的交易效率。
[0005]本申请实施例的一个方面提供了一种一种区块链数据处理方法,包括:
[0006]获取区块内的多个待执行数据;
[0007]并行对所述多个待执行数据进行预处理得到预处理结果,并确定每一个所述待执行数据对应的状态依赖;
[0008]针对每一个所述待执行数据,若所述待执行数据存在相同的状态依赖,则按照所述状态依赖执行所述多个待执行数据得到目标交易结果,并输出所述目标交易结果。
[0009]可选地,所述待执行数据包含第一状态和第二状态,所述确定每一个所述待执行数据对应的状态依赖,包括:
[0010]根据每一个所述待执行数据的所述第一状态,确定所述待执行数据对应的状态依赖。
[0011]可选地,所述按照所述状态依赖执行所述多个待执行数据得到目标交易结果,包括:
[0012]合并存在相同状态依赖的待执行数据,得到多个交易队列;
[0013]分别串行执行每一个交易队列中的待执行数据,并行执行不同的交易队列中的待执行数据,得到目标交易结果。
[0014]可选地,所述合并存在相同状态依赖的待执行数据,得到多个交易队列,包括:
[0015]针对每一个所述待执行数据,判断是否存在相同的第一状态;
[0016]将存在相同的第一状态的待执行数据合并为一个交易队列,直到循环完成所有的
待执行数据,输出多个交易队列。
[0017]可选地,所述方法还包括:
[0018]若所述待执行数据不存在相同的状态依赖,则输出所述预处理结果。
[0019]可选地,所述方法还包括:
[0020]对输出的所述目标交易结果或预处理结果进行持久化存储。
[0021]可选地,在所述获取多个待执行数据的步骤之前,还包括:
[0022]从预设交易池中获取多个待执行数据,并打包所述多个待执行数据得到区块。
[0023]本申请实施例的一个方面又提供了一种区块链数据处理系统,包括:
[0024]交易获取模块,用于获取区块内的多个待执行数据;
[0025]预处理模块,用于并行对所述多个待执行数据进行预处理得到预处理结果,并确定每一个所述待执行数据对应的状态依赖;
[0026]交易处理模块,用于针对每一个所述待执行数据,若所述待执行数据存在相同的状态依赖,则按照所述状态依赖执行所述多个待执行数据得到目标交易结果,并输出所述目标交易结果。
[0027]本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的区块链数据处理方法的步骤。
[0028]本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行所述计算机程序时实现如上述的区块链数据处理方法的步骤。
[0029]本申请实施例提供的区块链数据处理方法、系统、设备及计算机可读存储介质,通过交易并行化处理引擎来并行执行交易的方式,既不会对区块链本身的共识层、账本结构等区块链底层进行修改,也不会引入其他的执行环境或者依赖,不增加区块链系统的复杂度。在对原有区块链的侵入性修改最小的程度下,实现区块链交易性能的提升。
附图说明
[0030]图1示意性示出了根据本申请实施例的区块链数据处理方法的应用环境图;
[0031]图2示意性示出了根据本申请实施例一的区块链数据处理方法的流程图;
[0032]图3示意性示出了根据本申请实施例一的区块链交易的状态机示意图;
[0033]图4示意性示出了根据本申请实施例一的另一种区块链数据处理方法的流程图;
[0034]图5示意性示出了根据本申请实施例二的区块链数据处理装置的框图;及
[0035]图6示意性示出了根据本申请实施例三的适于实现区块链数据处理方法的计算机设备的硬件架构示意图。
具体实施方式
[0036]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0037]需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
[0038]随着2008年由中本聪第一次提出了区块链的概念,在随后的几年中,区块链成为了电子货币的核心组成部分:作为所有交易的公共账簿。通过利用点对点网络和分布式时间戳服务器,区块链数据库能够进行自主管理。而后以太坊网络和智能合约作为区块链2.0解决方案应用而生,解决越来越多的应用问题。但随着大量应用基于智能合约实现之后,越来越发现区块链的性能瓶颈不足以支撑大规模的去中心化应用。其中,区块链网络的TPS(Transaction Per Second,每秒处理事务量)大概为7,以太坊网络的TPS大概是15~20。
[0039]为了解决区块链网络的性能问题,业界提出各种解决方案。可以分为链上扩容和链下扩容两种方向。
[0040]一、链上扩容方向包含如下几种解决方案:
[0041]1、共识层优化。通过创新共识算法,减少出块时间,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链数据处理方法,其特征在于,包括:获取区块内的多个待执行数据;并行对所述多个待执行数据进行预处理得到预处理结果,并确定每一个所述待执行数据对应的状态依赖;针对每一个所述待执行数据,若所述待执行数据存在相同的状态依赖,则按照所述状态依赖执行所述多个待执行数据得到目标交易结果,并输出所述目标交易结果。2.根据权利要求1所述的区块链数据处理方法,其特征在于,所述待执行数据包含第一状态和第二状态,所述确定每一个所述待执行数据对应的状态依赖,包括:根据每一个所述待执行数据的所述第一状态,确定所述待执行数据对应的状态依赖。3.根据权利要求1所述的区块链数据处理方法,其特征在于,所述按照所述状态依赖执行所述多个待执行数据得到目标交易结果,包括:合并存在相同状态依赖的待执行数据,得到多个交易队列;分别串行执行每一个交易队列中的待执行数据,并行执行不同的交易队列中的待执行数据,得到目标交易结果。4.根据权利要求3所述的区块链数据处理方法,其特征在于,所述合并存在相同状态依赖的待执行数据,得到多个交易队列,包括:针对每一个所述待执行数据,判断是否存在相同的第一状态;将存在相同的第一状态的待执行数据合并为一个交易队列,直到循环完成所有的待执行数据,输出多个交易队列。5.根据权利要求1所述的区块链数据处理方法,其特征在于,所述方法还包括...

【专利技术属性】
技术研发人员:张磊朱泽雨孙英男王炜煜
申请(专利权)人:上海加密原生科技有限公司
类型:发明
国别省市:

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

1