区块链事务处理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:23315092 阅读:16 留言:0更新日期:2020-02-11 17:47
本发明专利技术公开一种区块链事务处理方法、装置、计算机设备及存储介质。该方法包括:接收待处理区块,将待处理区块存储在区块队列中,每一待处理区块对应一区块标签;并发启动预先创建的待命验签线程,对区块队列中的待处理区块进行签名验证,获取验签结果区块,将验签结果区块存储到缓存中;实时检测缓存中是否包含当前期望区块,若缓存中包含当前期望区块,则将以当前期望区块为起始块的连续的至少一个验签结果区块确定为目标区块;提交目标区块,并基于目标区块中最后一个验签结果区块对应的区块标签更新当前期望区块。该方法采用并发启动待命验签线程对待处理区块进行签名验证的验证效率,节省签名验证的处理时间,有助于节省系统损耗。

Blockchain transaction processing methods, devices, computer equipment and storage media

【技术实现步骤摘要】
区块链事务处理方法、装置、计算机设备及存储介质
本专利技术涉及区块链
,尤其涉及一种区块链事务处理方法、装置、计算机设备及存储介质。
技术介绍
区块链一般被理解为一个分布式账本,它的本质也是一个分布式的数据库。联盟区块链与普通区块链的根本区别之一是需要提供隐私保护机制,通常情况下,该隐私保护机制是通过密码学中的签名加密和验签解密来实现。通常情况下,多个事务打包成区块的形式发送给区块链上的节点,由节点解开该区块,获取区块中的事务,先对每个事务进行签名验证,然后对所有签名验证通过的事务整体做多版本并发控制验证,最后进行事务持久化处理,以将事务信息写入磁盘。由于多版本并发控制验证过程中需依据区块之间先后的执行顺序进行检查,因此,当前区块链事务处理过程中,需先对每个区块依次进行签名验证、多版本并发控制验证和事务持久化进行处理,在完成一个区块的处理之后再处理下一个区块。其中,签名验证,即验证区块中交易数据对应的签名,其验证过程包含大量的数学运算,耗时较长。当前区块链中主要采用串行验证方式对区块进行签名验证,这种验证方式使得后面的区块只能等待前面的区块验证完毕之后才可被验证,不能充分利用系统的计算资源,导致系统资源浪费较大,使得区块链事务处理性能低下,事务处理效率较低。
技术实现思路
本专利技术实施例提供一种区块链事务处理方法、装置、计算机设备及存储介质,以解决当前区块链事务处理过程中采用串行验证方式对区块进行签名验证时存在的处理效率较低且计算资源浪费较大的问题。一种区块链事务处理方法,包括:接收待处理区块,将所述待处理区块存储在区块队列中,每一所述待处理区块对应一区块标签;并发启动预先创建的待命验签线程,对所述区块队列中的所述待处理区块进行签名验证,获取验签结果区块,将所述验签结果区块存储到缓存中;实时检测所述缓存中是否包含当前期望区块,若所述缓存中包含所述当前期望区块,则将以所述当前期望区块为起始块的连续的至少一个验签结果区块确定为目标区块;提交所述目标区块,并基于所述目标区块中最后一个验签结果区块对应的区块标签更新所述当前期望区块。一种区块链事务处理装置,包括:接收待处理区块,将所述待处理区块存储在区块队列中,每一所述待处理区块对应一区块标签;并发启动预先创建的待命验签线程,对所述区块队列中的所述待处理区块进行签名验证,获取验签结果区块,将所述验签结果区块存储到缓存中;实时检测所述缓存中是否包含当前期望区块,若所述缓存中包含所述当前期望区块,则将以所述当前期望区块为起始块的连续的至少一个验签结果区块确定为目标区块;提交所述目标区块,并基于所述目标区块中最后一个验签结果区块对应的区块标签更新所述当前期望区块。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述区块链事务处理方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述区块链事务处理方法的步骤。上述区块链事务处理方法、装置、计算机设备及存储介质,并发启动预先创建的待命验签线程对区块队列中的待处理区块进行签名验证,获取对应的验签结果区块,以保证区块队列中所有待处理区块进行签名验证的验证效率,节省签名验证的处理时间,而且待命验签线程无需进行线程的创建和销毁,有助于节省系统损耗。将所有验签结果区块存储到缓存中,实时检测缓存中包含当前期望区块时,将以当前期望区块为起始块的连续的至少一个验签结果区块确定为目标区块并提交该目标区块,以保证提交的目标区块中包含连续的至少一个验签结果区块,确保区块之间的执行顺序。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例中区块链事务处理方法的一应用环境示意图;图2是本专利技术一实施例中区块链事务处理方法的一流程图;图3是本专利技术一实施例中区块链事务处理方法的另一流程图;图4是本专利技术一实施例中区块链事务处理方法的另一流程图;图5是本专利技术一实施例中区块链事务处理方法的另一流程图;图6是本专利技术一实施例中区块链事务处理方法的另一流程图;图7是本专利技术一实施例中区块链事务处理方法的另一流程图;图8是本专利技术一实施例中区块链事务处理方法的另一流程图;图9是本专利技术一实施例中区块链事务处理方法的一示意图;图10是本专利技术一实施例中计算机设备的一示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供的区块链事务处理方法,该区块链事务处理方法可应用如图1所示的应用环境中。具体地,该区块链事务处理方法应用在区块链系统中,该区块链系统包括通过区块链网络相连的多个区块链节点,每一区块链节点对应一区块链节点装置,每一区块链节点装置通过区块链网络与其他区块链节点装置相连,实现对区块链事务处理中运算量较大且耗时较长的签名验证过程进行并行处理,以提高签名验证的效率并节省处理时间,有助于提高整个区块链事务处理的整体效率。其中,区块链节点装置是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该区块链节点装置可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。在一实施例中,如图2所示,提供一种区块链事务处理方法,以该方法应用在图1中的区块链节点装置为服务器为例进行说明,包括如下步骤:S201:接收待处理区块,将待处理区块存储在区块队列中,每一待处理区块对应一区块标签。其中,待处理区块是发送到区块链的待处理节点上的需要进行处理的区块。其中,待处理节点是区块链网络上的一个需要进行数据处理的区块链节点。每一待处理区块包括至少一个待处理事务,该待处理事务为需要进行后续处理的事务。可以理解地,服务器可以从区块链的待处理节点上获取待处理区块,以便后续对该待处理区块中的签名验证、多版本并发控制验证和事务持久化处理这三个环节的处理。区块队列是系统中预先创建的用于缓存需要进行处理的待处理区块的队列,该区块队列可以依据先进先出的顺序管理队列中的所有待处理区块。区块标签是待处理区块中存储的与该区块相对应的标签信息。本实施例中,每一待处理区块对应的区块标签包括区块序号(即Number)、当前区块哈希值本文档来自技高网...

【技术保护点】
1.一种区块链事务处理方法,其特征在于,包括:/n接收待处理区块,将所述待处理区块存储在区块队列中,每一所述待处理区块对应一区块标签;/n并发启动预先创建的待命验签线程,对所述区块队列中的所述待处理区块进行签名验证,获取验签结果区块,将所述验签结果区块存储到缓存中;/n实时检测所述缓存中是否包含当前期望区块,若所述缓存中包含所述当前期望区块,则将以所述当前期望区块为起始块的连续的至少一个验签结果区块确定为目标区块;/n提交所述目标区块,并基于所述目标区块中最后一个验签结果区块对应的区块标签更新所述当前期望区块。/n

【技术特征摘要】
1.一种区块链事务处理方法,其特征在于,包括:
接收待处理区块,将所述待处理区块存储在区块队列中,每一所述待处理区块对应一区块标签;
并发启动预先创建的待命验签线程,对所述区块队列中的所述待处理区块进行签名验证,获取验签结果区块,将所述验签结果区块存储到缓存中;
实时检测所述缓存中是否包含当前期望区块,若所述缓存中包含所述当前期望区块,则将以所述当前期望区块为起始块的连续的至少一个验签结果区块确定为目标区块;
提交所述目标区块,并基于所述目标区块中最后一个验签结果区块对应的区块标签更新所述当前期望区块。


2.如权利要求1所述的区块链事务处理方法,其特征在于,所述实时检测所述缓存中是否包含当前期望区块,包括:
实时检测所述缓存中验签结果区块对应的区块标签,判断所述区块标签是否与所述缓存中实时记录的区块指引信息相匹配;
若所述区块标签与所述区块指引信息相匹配,则所述区块标签对应的验签结果区块为当前期望区块。


3.如权利要求1所述的区块链事务处理方法,其特征在于,在所述接收待处理区块,将所述待处理区块存储在区块队列中之前,所述区块链事务处理方法还包括:
获取区块链系统的内核数量;
基于内核数量和目标比例范围,确定目标数量,创建验签线程池,所述验签线程池包括与所述目标数量相对应的待命验签线程。


4.如权利要求1所述的区块链事务处理方法,其特征在于,所述并发启动预先创建的待命验签线程,包括:
实时监控所述区块队列中的待处理区块对应的区块数量;
若所述区块数量大于零,则触发唤醒指令,基于所述唤醒指令,并发唤醒所述验签线程池中处于休眠状态的待命验签线程,将所述区块队列中的待处理区块分配给对应的待命验签线程。


5.如权利要求1所述的区块链事务处理方法,其特征在于,所述接收待处理区块,将所述待处理区块存储在区块队列中,包括:
接收待处理区块,对所述待处理区块进行合法性校验,获取合法性校验结果;
若所述合法性校验结果为校验通过,则将所述待处理区块存储在区块队列中。


6.如权利要求1所述的区块链事务处理方法,其特征在于,所述对所述区块队列中的所述待处理区块进行签名验证,获取验签结果区块,包括:
检测每一所...

【专利技术属性】
技术研发人员:姚杰褚镇飞张培培
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东;44

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

1