区块链中的多线程处理方法、装置、系统和存储介质制造方法及图纸

技术编号:30375609 阅读:22 留言:0更新日期:2021-10-16 18:04
本申请提供了一种区块链中的多线程处理方法、装置、系统和存储介质,方法包括获取交易的多任务线程和交易数据,其中多任务线程包括第一线程和多个第二线程;交易数据包括多个子交易数据;通过第一线程将每一个子交易数据发送至任一个发送缓冲区;其中,发送缓冲区的数量与第二线程的数量相同;通过任一个第二线程从对应的发送缓冲区中获取子交易数据,并对子交易数据进行验证,在验证通过后,将验证后的子交易数据发送至接收缓冲区;通过第一线程将接收缓冲区中的验证后的子交易数据封装出块,形成区块。该方法将交易数据分成多个子交易数据分别在不同线程上进行验证,可以提高验证速度,从而提高了整个交易数据处理速度。从而提高了整个交易数据处理速度。从而提高了整个交易数据处理速度。

【技术实现步骤摘要】
区块链中的多线程处理方法、装置、系统和存储介质


[0001]本申请涉及互联网
,具体涉及一种区块链中的多线程处理方法、装置、系统和存储介质。

技术介绍

[0002]区块链是分布式系统中,通过统一记账,全局唯一定序、确认达到分布式一致性,同时具有操作可回溯以及不可抵赖性的特点。由于区块链这些特点,已被应用于数字交易、溯源、司法存证、以及供应链管理等。但区块链的交易处理速度一直是制约其进一步广泛应用的主要问题,如果交易处理速度难以提升,则在业务上很难有效利用。
[0003]目前主要是采用区块链分片技术或流水线技术来提高区块链的交易处理速度。但目前的流水线技术就是根据将交易处理步骤机械化地分成几个子步骤,每个子步骤可以作为一个线程,操作系统随机地给各个线程的子步骤分配CPU资源,该方法可能会导致操作系统一直给负责某些步骤的线程分配CPU资源,而负责其他步骤的线程将无法获得CPU资源,那么完整的交易步骤就无法及时完成而积压大量的“半完成”的交易,从而导致交易延迟的增加。

技术实现思路

[0004]有鉴于此,本申请实施例中提供了一种区块链中的多线程处理方法、装置、系统和存储介质。
[0005]第一方面,本申请实施例提供了一种区块链中的多线程处理方法,所述区块链包括互相通信的多个节点,所述方法应用于每一个所述节点;所述方法包括:获取交易的多任务线程和交易数据,其中所述多任务线程包括第一线程和多个第二线程;所述交易数据包括多个子交易数据;通过所述第一线程将每一个所述子交易数据发送至任一个发送缓冲区;其中,所述发送缓冲区的数量与第二线程的数量相同;通过任一个所述第二线程从对应的所述发送缓冲区中获取所述子交易数据,并对所述子交易数据进行验证,在验证通过后,将验证后的子交易数据发送至接收缓冲区;通过所述第一线程将所述接收缓冲区中的所述验证后的子交易数据封装出块,形成区块。
[0006]第二方面,本申请实施例提供了一种区块链中的多线程处理装置,所述区块链包括互相通信的多个节点,所述装置应用于每一个所述节点;所述装置包括:信息获取模块,用于获取交易的多任务线程和交易数据,其中所述多任务线程包括第一线程和多个第二线程;所述交易数据包括多个子交易数据;交易信息发送模块,用于通过所述第一线程将每一个所述子交易数据发送至任一个发送缓冲区;其中,所述发送缓冲区的数量与第二线程的数量相同;交易信息验证模块,用于通过任一个所述第二线程从对应的所述发送缓冲区中获
取所述子交易数据,并对所述子交易数据进行验证,在验证通过后,将验证后的子交易数据发送至接收缓冲区;封装出块模块,用于通过所述第一线程将所述接收缓冲区中的所述验证后的子交易数据封装出块,形成区块。
[0007]第三方面,本申请实施例提供了一种区块链系统,包括互相通信的多个节点,每一个所述节点为终端设备;所述终端设备包括存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述第一方面提供的区块链中的多线程处理方法。
[0008]第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的区块链中的多线程处理方法。
[0009]本申请实施例提供的区块链中的多线程处理方法、装置、系统和存储介质, 其中区块链包括互相通信的多个节点,多线程处理方法应用于每一个节点,首先获取交易的多任务线程和交易数据,其中多任务线程包括第一线程和多个第二线程;交易数据包括多个子交易数据;然后通过第一线程将每一个子交易数据发送至任一个发送缓冲区;发送缓冲区的数量与第二线程的数量相同,再通过任一个第二线程从对应的发送缓冲区中获取子交易数据,并对子交易数据进行验证,在验证通过后,将验证后的子交易数据发送至接收缓冲区;最后通过第一线程将接收缓冲区中的验证后的子交易数据封装出块,形成区块。
[0010]该方法采用多核处理技术将区块链中的交易处理过程分成多任务线程,并且在划分多任务线程时根据区块链交易处理的逻辑关系将交易数据的分配和封装出块分为一种线程(即第一线程),将交易数据的验证分为另一种线程(即第二线程);在划分好线程后,可以将交易数据分割成多个子交易数据,然后通过第一线程将各子交易数据分配给各第二线程,每一个第二线程可以分别对子交易数据进行验证。该方法一方面将交易数据分成多个子交易数据分别在不同线程上进行验证,可以提高验证速度,从而提高了整个交易数据处理速度;另一方面在线程划分时充分考虑了区块链交易处理的逻辑关系(即交易处理各步骤中顺序关系),为最耗时的子交易数据验证过程分配独立的线程,当该步骤完成时完整的交易将基本完成,从而可以使完整的交易能及时完成,避免积压大量的“半完成”的交易而导致交易延迟的增加。
附图说明
[0011]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0012]图1为本申请实施例提供的区块链中的多线程处理方法的应用场景示意图(即区块链系统结构示意图);图2为本申请一个实施例提供的区块链中的多线程处理方法的流程示意图;图3为本申请一个实施例提供的区块链结构示意图;
图4为本申请一个实施例提供的区块链中的多线程处理方法的流程示意图;图5为本申请一个实施例提供的区块链中的多线程处理装置的结构图;图6为本申请一个实施例中提供的计算机可读存储介质的结构示意图。
具体实施方式
[0013]下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0014]为了更详细说明本申请,下面结合附图对本申请提供的一种区块链中的多线程处理方法、装置、终端设备和计算机存储介质,进行具体地描述。
[0015]请参考图1,图1示出了本申请实施例提供的区块链中的多线程处理方法的应用场景(即区块链系统结构)的示意图,该应用场景包括本申请实施例提供的区块链系统100,该区块链系统100包含了多个节点102。各个节点102可以是安装有区块链软件程序的服务器、服务器组以及终端设备等设备实现,或这些设备中的多种构成的分布式处理系统实现。节点102之间通过点对点网络通信连接以实现相互信息收发。其中,点对点网络(peer

to

peer,P2P),又称对等式网络,是无中心服务器、依靠用户群(peers)交换信息的互联网体系,它的作用在于减少以往网路传输中的节点,以降低资料遗失的风险。与有中心服务器的中央网络系统不同,对等网络的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链中的多线程处理方法,其特征在于,所述区块链包括互相通信的多个节点,所述方法应用于每一个所述节点;所述方法包括:获取交易的多任务线程和交易数据,其中所述多任务线程包括第一线程和多个第二线程;所述交易数据包括多个子交易数据;通过所述第一线程将每一个所述子交易数据发送至任一个发送缓冲区;其中,所述发送缓冲区的数量与第二线程的数量相同;通过任一个所述第二线程从对应的所述发送缓冲区中获取所述子交易数据,并对所述子交易数据进行验证,在验证通过后,将验证后的子交易数据发送至接收缓冲区;通过所述第一线程将所述接收缓冲区中的所述验证后的子交易数据封装出块,形成区块。2.根据权利要求1所述的方法,其特征在于,所述多任务线程还包括第三线程;所述方法还包括:通过所述第三线程为所述交易数据分配内存,并将所述交易数据存储于所述内存。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:通过所述第三线程获取所述节点的处理器内核数量,根据所述处理器内核数量确定所述多任务线程的线程数量,其中,所述多任务线程的线程数量小于或等于所述处理器内核数量。4.根据权利要求2所述的方法,其特征在于,所述通过所述第三线程为所述交易数据分配内存,包括:通过所述第三线程定时检测所述内存的占空比,当所述占空比大于预设阈值时,增加所述内存的容量;或当所述占空比小于所述预设阈值时,将所述第三线程转换成所述第二线程。5.根据权利要求1

4任一项所述的方法,其特征在于,所述通过所述第一线程将所述子交易数据发送至任一个发送缓冲区,包括:通过所述第一线程产生一个随机数;当所述随机数与任一个所述发送缓存区的编号相同时,通过所述第一线程将所述子交易数据发送至编号与所述随机数相同的所述发送缓冲区。6.根据权利要求1

4任一项所述的方法,其特征在于,所述通过所述第一线程将所述...

【专利技术属性】
技术研发人员:梁增健张锦喜叶亚芳黄永丰黄英淏
申请(专利权)人:广东卓启云链科技有限公司
类型:发明
国别省市:

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

1