区块链事务处理方法、装置、计算机设备及存储介质与流程

文档序号:19906742发布日期:2020-02-11 14:35阅读:来源:国知局

技术特征:

1.一种区块链事务处理方法,其特征在于,包括:

接收待处理区块,将所述待处理区块存储在区块队列中,每一所述待处理区块对应一区块标签;

并发启动预先创建的待命验签线程,对所述区块队列中的所述待处理区块进行签名验证,获取验签结果区块,将所述验签结果区块存储到缓存中;

实时检测所述缓存中是否包含当前期望区块,若所述缓存中包含所述当前期望区块,则将以所述当前期望区块为起始块的连续的至少一个验签结果区块确定为目标区块;

提交所述目标区块,并基于所述目标区块中最后一个验签结果区块对应的区块标签更新所述当前期望区块。

2.如权利要求1所述的区块链事务处理方法,其特征在于,所述实时检测所述缓存中是否包含当前期望区块,包括:

实时检测所述缓存中验签结果区块对应的区块标签,判断所述区块标签是否与所述缓存中实时记录的区块指引信息相匹配;

若所述区块标签与所述区块指引信息相匹配,则所述区块标签对应的验签结果区块为当前期望区块。

3.如权利要求1所述的区块链事务处理方法,其特征在于,在所述接收待处理区块,将所述待处理区块存储在区块队列中之前,所述区块链事务处理方法还包括:

获取区块链系统的内核数量;

基于内核数量和目标比例范围,确定目标数量,创建验签线程池,所述验签线程池包括与所述目标数量相对应的待命验签线程。

4.如权利要求1所述的区块链事务处理方法,其特征在于,所述并发启动预先创建的待命验签线程,包括:

实时监控所述区块队列中的待处理区块对应的区块数量;

若所述区块数量大于零,则触发唤醒指令,基于所述唤醒指令,并发唤醒所述验签线程池中处于休眠状态的待命验签线程,将所述区块队列中的待处理区块分配给对应的待命验签线程。

5.如权利要求1所述的区块链事务处理方法,其特征在于,所述接收待处理区块,将所述待处理区块存储在区块队列中,包括:

接收待处理区块,对所述待处理区块进行合法性校验,获取合法性校验结果;

若所述合法性校验结果为校验通过,则将所述待处理区块存储在区块队列中。

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

检测每一所述待处理区块中所有待处理事务对应的事务数量;

若所述事务数量大于预设数量阈值,则依据所述事务数量确定子线程数量,创建与所述子线程数量相匹配的辅助验签子线程;

采用所述待命验签线程和所述辅助验签子线程对所述待处理事务进行签名验证,获取签名验证结果;

将所述签名验证结果存储在所述待处理区块的元数据区域,获取验签结果区块,释放所述待命验签线程并销毁所述辅助验签子线程。

7.如权利要求1所述的区块链事务处理方法,其特征在于,在所述提交所述目标区块之后,所述区块链事务处理方法还包括:

在多版本并发控制验证过程中,依序对所述目标区块中的每一验签结果区块的签名验证结果进行识别;

若所述签名验证结果为签名有效,则将所述验签结果区块对应的交易状态与当前状态进行对比,所述交易状态与所述当前状态一致,则对所述验签结果区块进行执行操作,获取有效交易数据;

若所述签名验证结果为签名无效,则将所述验签结果区块对应的交易数据确定为无效交易数据;

基于所述有效交易数据和所述无效交易数据进行事务持久化处理。

8.一种区块链事务处理装置,其特征在于,包括:

待处理区块接收模块,用于接收待处理区块,将所述待处理区块存储在区块队列中,每一所述待处理区块对应一区块标签;

签名验证处理模块,用于并发启动预先创建的待命验签线程,对所述区块队列中的所述待处理区块进行签名验证,获取验签结果区块,将所述验签结果区块存储到缓存中;

目标区块确定模块,用于实时检测所述缓存中是否包含当前期望区块,若所述缓存中包含所述当前期望区块,则将以所述当前期望区块为起始块的连续的至少一个验签结果区块确定为目标区块;

目标区块提交模块,用于提交所述目标区块,并基于所述目标区块中最后一个验签结果区块对应的区块标签更新所述当前期望区块。

9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述区块链事务处理方法的步骤。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述区块链事务处理方法的步骤。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1