区块链交易池数据处理方法、服务器技术

技术编号:35516462 阅读:16 留言:0更新日期:2022-11-09 14:33
本申请适用于计算机技术领域,提供了区块链交易池数据处理方法、服务器,其中,方法包括:在目标节点接收到目标交易数据时,确定目标交易数据的来源,其中,来源包括:与目标节点通信连接的用户端、目标节点对应的目标区块链上的其它节点;在目标交易数据的来源为用户端,将目标交易数据存入交易池,以及向其它节点广播目标交易数据;在预设打包上链条件被触发的情况下,对交易池中的至少部分交易数据进行打包及上链存储。本申请只对来自用户端的交易数据进行广播,不对来自其他节点的交易数据进行广播,可以极大地减少被广播的数据量,从而有效防止广播风暴。而有效防止广播风暴。而有效防止广播风暴。

【技术实现步骤摘要】
区块链交易池数据处理方法、服务器


[0001]本申请属于计算机
,尤其涉及一种区块链交易池数据处理方法、服务器。

技术介绍

[0002]区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。实践中,一条区块链通常具有多个节点,各节点在接收到交易数据时,通常可以将交易数据放入交易池中进行缓存,之后再对交易池中的交易数据进行打包生成区块。
[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]将目标节点的交易池中的已打包上链的交易数据删除,以及将目标区块链上其它节点的交易池中的相应交易数据删除。
[0031]第二方面,本申请实施例提供了一种区块链交易池数据处理装置,该装置包括:
[0032]数据接收单元,用于在目标节点接收到目标交易数据时,确定目标交易数据的来
源,其中,来源包括:与目标节点通信连接的用户端、目标节点对应的目标区块链上的其它节点;
[0033]第一存入单元,用于在目标交易数据的来源为用户端,将目标交易数据存入交易池,以及向其它节点广播目标交易数据;
[0034]数据打包单元,用于在预设打包上链条件被触发的情况下,对交易池中的至少部分交易数据进行打包及上链存储。
[0035]在一些实施例中,装置还包括第二存入单元,用于在目标交易数据的来源为其它节点,将目标交易数据存入交易池。
[0036]在一些实施例中,第一存入单元和/或第二存入单元中,将目标交易数据存入交易池,包括:在交易池中不存在目标交易数据的情况下,将目标交易数据存入交易池。
[0037]在一些实施例中,交易池中包括用于缓存来自用户端的交易数据的本地列表和用于缓存需要存入交易池的各交易数据的全局列表,以及第一存入单元和/或第二存入单元中,将目标交易数据存入交易池,包括:
[0038]在目标交易数据的来源为用户端时,将目标交易数据存入交易池中的本地列表和全局列表,以及在目标交易数据的来源为其它节点时,将目标交易数据存入交易池中的全局列表。
[0039]在一些实施例中,装置还包括参数生成单元。参数生成单元,用于基于目标交易数据的来源,生本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链交易池数据处理方法,其特征在于,所述方法包括:在目标节点接收到目标交易数据时,确定所述目标交易数据的来源,其中,所述来源包括:与所述目标节点通信连接的用户端、所述目标节点对应的目标区块链上的其它节点;在所述目标交易数据的来源为所述用户端,将所述目标交易数据存入交易池,以及向所述其它节点广播所述目标交易数据;在预设打包上链条件被触发的情况下,对所述交易池中的至少部分交易数据进行打包及上链存储。2.根据权利要求1所述的区块链交易池数据处理方法,其特征在于,所述方法还包括:在所述目标交易数据的来源为所述其它节点,将所述目标交易数据存入所述交易池。3.根据权利要求1所述的区块链交易池数据处理方法,其特征在于,所述将所述目标交易数据存入交易池,包括:在所述交易池中不存在所述目标交易数据的情况下,将所述目标交易数据存入所述交易池。4.根据权利要求2所述的区块链交易池数据处理方法,其特征在于,所述交易池中包括用于缓存来自用户端的交易数据的本地列表和用于缓存需要存入所述交易池的各交易数据的全局列表,以及所述将所述目标交易数据存入交易池,包括:在所述目标交易数据的来源为所述用户端时,将所述目标交易数据存入所述交易池中的所述本地列表和所述全局列表,以及在所述目标交易数据的来源为所述其它节点时,将所述目标交易数据存入所述交易池中的所述全局列表。5.根据权利要求4所述的区块链交易池数据处理方法,其特征在于,在所述将所述目标交易数据存入交易池之后,所述方法还包括:基于所述目标交易数据的来源,生成所述目标交易数据的时间参数;其中,所述时间参数包括以下至少一项:用于指示交易数据被存入所述交易池的时间的第一时间参数、用于指示交易数据被发起广播的时间的第二时间参数。6.根据权利要求4所述的区块链交易池数据处理方法,其特征在于,在所述交易池中的各交易数据对应有第一时间参数和/或第二时间参数的情况下,所述方法还包括:在所述本地列表中存在待重传数据时,将所述待重传数据向所述其它节点广播,以及更新所述待重传数据的第二时间参数,其中,所述待重传数据为对应第二时间参数指示的时间与当前时间之间的间隔大于预设重传时长的交易数据;在所述全局列表和/或所述本地列表中存在待删除数据时,删除所述待删除数据,其中,所述待删除数据为对应第一时间参数指示的时间与当前时间之间的间隔大于预设删除时长的交易数据。7.根据权利要求4所述的区块链交易池数据处理方法,其特征在于,所述交易池还包括用于缓存适合上链存储的交易数据...

【专利技术属性】
技术研发人员:汪小益邱炜伟李若欣胡麦芳尚璇
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

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

1