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

技术编号:23609097 阅读:20 留言:0更新日期:2020-03-28 09:03
本发明专利技术公开了一种区块处理方法、装置、计算机设备及存储介质,用于解决peer节点工作、负担较大且都需占用过多的网络资源,网络资源利用率较低的问题。方法部分包括:orderer节点将交易终端所反馈的各个peer节点对应的交易数据打包成原始区块,各个peer节点为区块链网络中同一区块链通道对应的peer节点,交易数据为在区块链通道所产生的交易数据;对原始区块进行分片,以得到多个数据分片,每个数据分片包含至少一个peer节点对应的交易数据;将第一数据分片发送至第一peer节点。

Block processing method, device, computer equipment and storage medium

【技术实现步骤摘要】
区块处理方法、装置、计算机设备及存储介质
本专利技术涉及区块链
,尤其涉及一种区块处理方法、装置、计算机设备及存储介质。
技术介绍
区块链一般被理解为一个分布式账本,它的本质是一个分布式的数据库。在现有的区块链网络中,各个peer节点都需要接收完成的区块,且都需要对每笔区块链网络中发生的交易和区块做验证。传统的做法是,交易终端发起交易,peer节点执行交易后向交易终端返回交易结果,并通过orderer节点将区块链的所有peer节点的对应的交易结果打包生成完整的区块,并将区块传送至区块链网络中的各个节点,最后由各个节点验证区块,最后各个节点将验证通过的区块写入区块文件。可以看出,在上述传统的做法中,各个peer节点都需对区块链链中的所有交易产生的区块进行验证,各个peer节点存在重复验证的工作,peer节点工作、负担较大且都需占用过多的网络资源,网络资源利用率较低。
技术实现思路
本专利技术实施例提供一种区块处理方法、装置、计算机设备及存储介质,用于解决peer节点工作、负担较大且都需占用过多的网络资源,网络资源利用率较低的问题。一种区块处理方法,应用于区块链网络中的orderer节点,所述区块链网络还包括交易终端和多个peer节点,所述方法包括:所述orderer节点将交易终端所反馈的各个peer节点对应的交易数据打包成原始区块,所述各个peer节点为所述区块链网络中同一区块链通道对应的peer节点,所述交易数据为在所述区块链通道所产生的交易数据;所述orderer节点对所述原始区块进行分片,以得到多个数据分片,每个所述数据分片包含所述各个peer节点中至少一个peer节点对应的交易数据;所述orderer节点将第一数据分片发送至第一peer节点,以使所述第一peer节点根据所述第一数据分片、所述第一数据分片数据对应的第一验证结果以及第二peer节点共享的第二数据分片和第二验证结果数据生成最终区块,并写入所述第一peer节点对应的区块文件中;其中,所述第一数据分片包括所述多个数据分片中的至少一个数据分片,所述第一peer节点为所述同一区块链通道对应的peer节点中的某一peer节点,所述第二数据分片为多个数据分片中除第一数据分片外的其他数据分片,第二peer节点为各个peer节点中,分配到所述第二数据分片的peer节点。一种区块处理方法,应用于区块链网络中的第一peer节点,所述区块链网络还包括orderer节点和交易终端,所述方法包括:第一peer节点接收所述orderer节点发送的第一数据分片,其中,所述第一数据分片包括多个数据分片中的至少一个数据分片,所述多个数据分片为所述orderer节点对原始区块进行分片得到,所述原始区块为所述orderer节点将所述交易终端所反馈的各个peer节点对应的交易数据打包成而成,所述各个peer节点为所述区块链网络中同一区块链通道对应的peer节点,所述交易数据为在所述区块链通道所产生的交易数据,所述第一peer节点为所述同一区块链通道对应的peer节点中的某一peer节点;所述第一peer节点验证第一数据分片对应的交易数据的合法性,以获取第一数据分片对应的第一验证结果数据;所述第一peer节点接收第二peer节点反馈的第二数据分片和第二验证结果数据,其中,所述第二数据分片为所述多个数据分片中除所述第一数据分片外的其他数据分片,所述第二peer节点为所述各个peer节点中分配到所述第二数据分片的peer节点;所述第一peer节点根据所述第一、二数据分片和第一、二验证结果数据生成最终区块;所述第一peer节点将所述最终区块写入第一peer节点对应的区块文件中。一种区块处理装置,应用于区块链网络中的orderer节点,所述区块链网络还包括交易终端和多个peer节点,所述区块处理装置包括:打包模块,用于将交易终端所反馈的各个peer节点对应的交易数据打包成原始区块,所述各个peer节点为所述区块链网络中同一区块链通道对应的peer节点,所述交易数据为在所述区块链通道所产生的交易数据;分片模块,用于对所述原始区块进行分片,以得到多个数据分片,每个所述数据分片包含所述各个peer节点中至少一个peer节点对应的交易数据发送模块,用于将第一数据分片发送至第一peer节点,以使所述第一peer节点根据所述第一数据分片、所述第一数据分片数据对应的第一验证结果以及第二peer节点共享的第二数据分片和第二验证结果数据生成最终区块,并写入所述第一peer节点对应的区块文件中;其中,所述第一数据分片包括所述多个数据分片中的至少一个数据分片,所述第一peer节点为所述同一区块链通道对应的peer节点中的某一peer节点,所述第二数据分片为多个数据分片中除第一数据分片外的其他数据分片,第二peer节点为各个peer节点中,分配到所述第二数据分片的peer节点。一种区块处理装置,应用于区块链网络中的第一peer节点,所述区块链网络还包括orderer节点和交易终端,所述区块处理装置包括:接收模块,用于接收所述orderer节点发送的第一数据分片,其中,所述第一数据分片包括多个数据分片中的至少一个数据分片,所述多个数据分片为所述orderer节点对原始区块进行分片得到,所述原始区块为所述orderer节点将所述交易终端所反馈的各个peer节点对应的交易数据打包成而成,所述各个peer节点为所述区块链网络中同一区块链通道对应的peer节点,所述交易数据为在所述区块链通道所产生的交易数据,所述第一peer节点为所述同一区块链通道对应的peer节点中的某一peer节点;验证模块,用于验证第一数据分片对应的交易数据的合法性,以获取第一数据分片对应的第一验证结果数据;所述接收模块,还用于接收第二peer节点反馈的第二数据分片和第二验证结果数据,其中,所述第二数据分片为所述多个数据分片中除所述第一数据分片外的其他数据分片,所述第二peer节点为所述各个peer节点中分配到所述第二数据分片的peer节点;生成模块,用于根据第一、二数据分片和第一、二验证结果数据生成最终区块;写入模块,用于将所述最终区块写入第一peer节点对应的区块文件中。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述区块处理方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述区块处理方法的步骤。可见,上述区块处理方法、装置、计算机设备及存储介质所实现的方案中,同一区块链通道的peer节点不再对完整区块的所有交易数据的进行验证,具体地,各个peer节点只需要验证一个区块的内的部分交易数据即可,可减少各个peer节点的重复验证的工作,减少各个peer节点的工作负担,且能减少各个peer节点占用的网络资源,从而提高了区块链中的网络资源利用本文档来自技高网...

【技术保护点】
1.一种区块处理方法,应用于区块链网络中的orderer节点,所述区块链网络还包括交易终端和多个peer节点,其特征在于,所述方法包括:/n所述orderer节点将所述交易终端反馈的各个peer节点对应的交易数据打包成原始区块,所述各个peer节点为所述区块链网络中同一区块链通道对应的peer节点,所述交易数据为在所述区块链通道所产生的交易数据;/n所述orderer节点对所述原始区块进行分片,以得到多个数据分片,每个所述数据分片包含所述各个peer节点中至少一个peer节点对应的交易数据;/n所述orderer节点将第一数据分片发送至第一peer节点,以使所述第一peer节点根据所述第一数据分片、所述第一数据分片对应的第一验证结果以及第二peer节点共享的第二数据分片和第二验证结果数据生成最终区块,并写入所述第一peer节点对应的区块文件中;/n其中,所述第一数据分片包括所述多个数据分片中的至少一个数据分片,所述第一peer节点为所述同一区块链通道对应的peer节点中的某一peer节点,所述第二数据分片为多个数据分片中除所述第一数据分片外的其他数据分片,第二peer节点为所述各个peer节点中,分配到所述第二数据分片的peer节点。/n...

【技术特征摘要】
1.一种区块处理方法,应用于区块链网络中的orderer节点,所述区块链网络还包括交易终端和多个peer节点,其特征在于,所述方法包括:
所述orderer节点将所述交易终端反馈的各个peer节点对应的交易数据打包成原始区块,所述各个peer节点为所述区块链网络中同一区块链通道对应的peer节点,所述交易数据为在所述区块链通道所产生的交易数据;
所述orderer节点对所述原始区块进行分片,以得到多个数据分片,每个所述数据分片包含所述各个peer节点中至少一个peer节点对应的交易数据;
所述orderer节点将第一数据分片发送至第一peer节点,以使所述第一peer节点根据所述第一数据分片、所述第一数据分片对应的第一验证结果以及第二peer节点共享的第二数据分片和第二验证结果数据生成最终区块,并写入所述第一peer节点对应的区块文件中;
其中,所述第一数据分片包括所述多个数据分片中的至少一个数据分片,所述第一peer节点为所述同一区块链通道对应的peer节点中的某一peer节点,所述第二数据分片为多个数据分片中除所述第一数据分片外的其他数据分片,第二peer节点为所述各个peer节点中,分配到所述第二数据分片的peer节点。


2.如权利要求1所述的区块处理方法,其特征在于,所述orderer节点将所述交易终端所反馈的各个peer节点对应的交易数据打包成原始区块,包括:
所述orderer节点针对所述各个peer节点对应的交易数据取哈希得到第一哈希值;
所述orderer节点将所述各个peer节点对应的交易数据对应的所述第一哈希值进行合并得到合并值;
所述orderer节点针对所述合并值取哈希得到第二哈希值;
所述orderer节点将所述第二哈希值作为原始区块的总哈希值,并根据所述总哈希值将所述各个peer节点对应的交易数据打包成所述原始区块。


3.如权利要求1所述的区块处理方法,其特征在于,所述orderer节点对所述原始区块进行分片,以得到多个数据分片,包括:
所述orderer节点确定所述原始区块中所有的交易数据所对应的交易数量;
所述orderer节点根据所述交易数量确定分片数量;
所述orderer节点根据所述分片数量对所述原始区块进行分片,以获得与所述分片数量相同的多个数据分片。


4.如权利要求3所述的区块处理方法,其特征在于,所述orderer节点将第一数据分片发送至第一peer节点之前,所述方法还包括:
所述orderer节点确定所述同一区块链通道对应的peer节点的总节点数量;
所述orderer节点根据所述总节点数量和所述分片数量确定第一peer节点的待分配数量;
所述orderer节点根据所述待分配数量从所述多个数据分片确定出待分配的数据分片;
所述orderer节点将所述待分配的数据分片作为所述第一数据分片。


5.如权利要求1-4任一项所述的区块处理方法,其特征在于,所述orderer节点将第一数据分片发送至第一peer节点,包括:
所述orderer节点根据主节点选取算法从所述各个peer节点选出主peer节点;
所述orderer节点将所述第一数据分片发送至所述主peer节点,以使所述主peer节点转发所述第一数据分片至所述第一peer节点,其中,所述peer节点与所述第一peer节点为不同的peer节点。


6.一种区块处理方法,应用于区块链网络中的第一peer节点,所述区块链网络还包括orderer节点和交易终端,其特征在于,所述方法包括:
所述第一peer节点接收所述orderer节点发送的第一数据分片,其中,所述第一数据分片包括多个数据分片中的至少一个数据分片,所述多个数据分片为所述orderer节点对原始区块进行分片得到,所述原始区块为所述orderer节点将所述交易终端所反馈的各个pe...

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

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

1