CN113626260B - 区块链网络的数据处理方法、装置、设备及存储介质 - Google Patents
区块链网络的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113626260B CN113626260B CN202111178889.9A CN202111178889A CN113626260B CN 113626260 B CN113626260 B CN 113626260B CN 202111178889 A CN202111178889 A CN 202111178889A CN 113626260 B CN113626260 B CN 113626260B
- Authority
- CN
- China
- Prior art keywords
- block
- blocks
- node
- data
- confirmation information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开一种区块链网络的数据处理方法、装置、设备及存储介质,可应用于地图领域,方法包括:获取接收到的多个区块;多个区块按照连续性被划分为第一类区块集和N个第二类区块集,第一类区块集包括从创世区块开始连续的M个区块;第i个第二类区块集包括连续的Li个区块;第一类区块集与任一第二类区块集均不连续,任意两个第二类区块集之间不连续;基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息;将所第一接收确认信息和第二接收确认信息发送至数据存储节点,以指示数据存储节点基于第一接收确认信息和第二接收确认信息确定并发送需重新发送的目标区块。采用本申请实施例可提高区块备份效率。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链网络的数据处理方法、装置、设备及存储介质。
背景技术
在常见的区块链网络比如以太坊中,区块链网络中节点之间通过广播心跳形式相互同步区块,通常是区块高度落后的节点向区块高度领先的节点拉取区块以进行区块同步。为了方便描述,我们可以命名区块链网络中包括数据存储节点和数据备份节点,数据备份节点需要从数据存储节点处拉取区块以实现区块同步,根据所存储区块的区块高度来看,区块链网络中任意一个节点在某个时刻可以是数据存储节点,在其他时刻也可以是数据备份节点。
现有技术中区块链网络的区块备份大致流程可以为:数据存储节点按照顺序向数据备份节点推送区块,数据备份节点依据区块连续性依次确认已接收到的区块,只有当前区块的前一个区块已被确认接收后,当前区块才能进行接收确认。也就是说,只要有一个中间区块没有被确认,数据存储节点会一直重复向备份节点传输该区块,在该中间区块之后的区块均不能被确认接收。可见,这种区块备份方法的效率比较低,同时也降低了网络资源利用率。
发明内容
本申请实施例提供了一种区块链网络的数据处理方法、装置、设备及存储介质,可以提高区块备份的效率以及网络资源利用率。
一方面,本申请实施例提供了一种区块链网络的数据处理方法,包括:
获取从所述数据存储节点接收到的多个区块;所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;
基于所述第一类区块集生成第一接收确认信息,以及基于所述N个第二类区块集生成第二接收确认信息;
将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
一方面,本申请实施例提供了另一种数据处理方法,包括:
接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述第二类区块集生成的;
根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
一方面,本申请实施例提供了一种区块链网络的数据处理装置,包括:
获取单元,用于获取从所述数据存储节点接收到的多个区块;所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;
生成单元,用于基于所述第一类区块集生成第一接收确认信息,以及基于所述N个第二类区块集生成第二接收确认信息;
发送单元,用于将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
一方面,本申请实施例提供了另一种区块链网络的数据处理装置,包括:
接收单元,用于接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述第二类区块集生成的;
确定单元,用于根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块;
发送单元,用于将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
一方面,本申请实施例提供了一种数据备份节点设备,包括:处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,计算机存储介质存储有一条或多条计算机程序,一条或多条计算机程序适于由处理器加载并执行:
获取从所述数据存储节点接收到的多个区块;所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;
基于所述第一类区块集生成第一接收确认信息,以及基于所述N个第二类区块集生成第二接收确认信息;
将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
一方面,本申请实施例提供了一种数据存储节点设备,包括:处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,计算机存储介质存储有一条或多条计算机程序,一条或多条计算机程序适于由处理器加载并执行:
接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述第二类区块集生成的;根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
一方面,本申请实施例提供了一种计算机存储介质,计算机存储介质存储有计算机程序,该计算机程序被处理器执行时,用于执行:
获取从所述数据存储节点接收到的多个区块;所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;基于所述第一类区块集生成第一接收确认信息,以及基于所述N个第二类区块集生成第二接收确认信息;将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
或者,该计算机程序被处理器执行时,还用于执行:
接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述第二类区块集生成的;根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
一方面,本申请实施例提供了一种计算机程序产品或计算机程序,计算机程序产品包括计算机程序,该计算机程序存储在计算机存储介质中;图像处理设备的处理器从计算机存储介质中读取该计算机程序,处理器执行该计算机程序,使得数据处理设备执行:
获取从所述数据存储节点接收到的多个区块;所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;基于所述第一类区块集生成第一接收确认信息,以及基于所述N个第二类区块集生成第二接收确认信息;将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
或者,该计算机程序被处理器执行时,还用于执行:
接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述第二类区块集生成的;根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种区块链网络的结构示意图;
图1b是本申请实施例提供的一种区块链的结构示意图;
图1c是本申请实施例提供的另一种区块链网络的结构示意图;
图2是本申请实施例提供的一种区块链网络的数据处理方法的流程示意图;
图3是本申请实施例提供的一种多个区块划分为第一类区块集和N个第二类区块集的示意图;
图4是本申请实施例提供的另一种区块链网络的数据处理方法流程示意图;
图5a是本申请实施例提供的一种确定目标区块的示意图;
图5b是本申请实施例提供的另一种确定目标区块的示意图;
图5c是本申请实施例提供的又一种区块链网络的数据处理方法的流程示意图;
图6是本申请实施例提供的一种区块链网络的数据处理装置的结构示意图;
图7是本申请实施例提供的另一种区块链网络的数据处理装置结构示意图;
图8是本申请实施例提供的一种数据备份节点设备的结构示意图;
图9是本申请实施例提供的一种数据存储节点设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供了一种区块链网络的数据处理方案,具体可应用于涉及到区块链网络的任何场景中,主要提出了一种高效率的区块备份方法。具体实现中,区块链网络中可以包括数据存储节点和数据备份节点,数据存储节点为数据备份节点推送区块,以实现数据存储节点和数据备份节点中的区块同步。在数据备份节点接收到数据备份节点推送的多个区块后,可以按照是否包括创世区块将多个区块虚拟的划分为第一类区块集和N个第二类区块集,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块集中包括连续的Li个区块,第一类区块集与任一第二类区块集均不连续,任意两个第二类区块集之间不连续;进一步的,数据备份节点可以基于第一类区块集生成第一接收确认信息,该第一接收确认信息是需要发送给数据存储节点的,第一接收确认信息用于通知数据存储节点:数据备份节点已接收到从创世区块开始连续的M个区块;以及与第二类区块集生成第二接收确认信息,第二接收确认信息也是需要发送给数据存储节点的,该第二接收确认信息是用于通知数据存储节点:数据备份节点已接收到N组连续区块,但是这些区块均与第M个区块不连续,并且,这些组连续区块之间也是不连续的。最后数据存储节点会根据第一接收确认信息和第二接收确认信息确定数据备份节点接收到了哪些区块,以及根据区块连续性确定哪些区块在传输过程中丢失了以使数据备份节点没有接收到,将这些丢失的区块重新推送给数据备份节点,如此一来,数据存储节点可以精准的确定需要重新给数据备份节点发送哪些区块,提高了区块备份效率。
上述的数据处理方案可应用于区块链网络中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(也即区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。参见图1a,为本申请实施例提供的一种区块链网络的结构示意图,在图1a中所有节点101均部署在一个整体的区块链网络中,多个节点101之间存在信息连接,这些节点中可以是共识节点、业务节点或数据节点;数据备份节点和数据存储节点可以是共识节点、业务节点或者数据节点中任意两个不相同的节点,并且数据存储节点中存储区块的区块高度大于数据备份节点中存储区块的区块高度,也就是说数据存储节点存储了一些数据备份节点中没有的区块。
每个节点在进行正常工作时可以接收输入信息,并基于接收到的输入信息和节点之间的信息连接维护图1a所示的区块链网络内的共享数据。对于图1a所示的区块链网络中每个节点,均具有与其对应的节点标识,而且图1a区块链网络中每个节点均可以存储有其他节点的节点标识,以便后续根据其他节点的节点标识进行信息共享。在任意一个节点中,存储的其他节点的节点标识可以通过如下表1所示的形式存储:
表1 任意节点中存储的其他节点的节点标识
应当理解的,在图1a所示的区块链网络中,每个节点中均可以维护一条区块链,区块链是由多个按序连接的区块组成的,每个区块是由共识节点生成并通过共识节点的共识认证后连接到区块链上的。参见图1b,为本申请实施例提供的一种区块链的示意图,其中,区块链中的第一个区块称为创世区块,创世区块包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创世区块的下一区块是以创世区块为父区块,下一区块中同样包括区块头和区块主体,区块主体中同样也包括了输入信息,区块头中除了存储当前区块的输入信息特征值、版本号、时间戳以及难度值外,还存储有父区块的区块头特征值。以此类推,后一个区块均以前一个区块为父区块,每个区块的区块头中均存储有其父区块的区块头特征值,这样使得区块链网络每个区块中存储的区块均与父区块中存储的区块存在关联,保证了区块中输入信息的安全性。
在一个实施例中,区块链网络的输入信息可以是文本、转账交易、图像等任意一种信息。其中,这些输入信息可以是在地图领域、交通领域、自动驾驶领域以及车载场景中产生的。因此,本申请实施例可以应用于云技术、人工智能、智慧交通、辅助驾驶等各种应用场景。
下面以任意一个共识节点生成区块的过程为例,介绍如何生成区块。区块链网络中的节点接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,任意一个共识节点将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
其中,SHA256为计算特征值所用的特征值算法,version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。当计算得到满足上述公式的随机数时,便可以将输入信息进行存储生成区块头和区块主体,得到当前区块。然后,任意一个共识节点将新生成的区块广播给区块链中的其他共识节点进行校验,校验完成后将新生成的区块添加到其存储的区块链中。
为了保证区块链网络中共识认证和数据存储的安全性,本申请还提供另一种区块链网络,实现将共识认证和业务处理过程隔离开来,参见图1c所示,为本申请实施例提供的另一种区块链网络的结构示意图,图1c所示的区块链网络包括是一个分层的区块链网络结构,具体可包括:由共识节点组成的核心子网络101、由业务节点组成的业务子网络102,以及由数据节点组成的数据节点子网络103。其中,核心子网络101负责区块链网络全网的共识认证,简单来说就是将区块链网络的输入信息打包到区块后进行共识验证,验证通过后将生成的区块添加到区块链上。数据节点子网络103负责和核心子网络101同步区块,也即数据节点子网络103接收核心子网络推送的区块,然后数据节点子网络103将接收到的区块推送给业务子网络102,如此一来,实现了区块链网络中全网区块的同步。基于此,如果数据存储节点为共识节点,则数据备份节点为数据节点;如果数据存储节点为数据节点,则数据备份节点为业务节点。
基于上述的区块链网络以及数据处理方案,本申请实施例提供了一种区块链网络的数据处理方法,参见图2,为本申请实施例提供的一种区块链网络的数据处理方法的流程示意图。图2所示的数据处理方法可由数据备份节点设备执行,该数据备份节点设备可以对应区块链网络中的数据备份节点,数据备份节点设备可以是一个终端,比如智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能家电、智能语音交互设备等等;该数据备份节点设备还可以是服务器,比如独立的物理服务器、多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。图2所示的数据处理方法可包括如下步骤:
步骤S201、获取从数据存储节点接收到的多个区块,多个区块按照连续性被划分为第一类区块集和N个第二类区块集。
由前述可知,数据存储节点向数据备份节点推送区块,在数据备份节点接收到数据存储节点接收到的区块后,数据备份节点需要统计一下当前已经接收到了哪些区块,然后基于接收到的这些区块向数据存储节点反馈区块接收情况,比如接收到了哪些区块,哪些区块是按顺序接收到的,哪些区块提前到达了等等。数据备份节点需要根据当前已接收到的多个区块来向数据存储节点反馈这些信息,数据备份节点根据当前已接收到的多个区块确定要反馈的信息过程中,数据备份节点首先通过步骤S201将接收到的多个区块划分到第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块,并且,第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也是不连续的。其中,第i个第二类区块是指N个第二类区块集中任意一个,i不同,Li的取值可以相同也可以不同,也就是说每个第二类区块集中包括的区块个数可以是相同的,也可以是不相同的。例如,当i的取值为1时,L1的取值可以为500;当i的取值为2时,L2的取值为1000。
应当理解的,区块链网络中区块是具有连续性的,也就是说区块之间是按照一定的顺序连接的,比如按照区块高度由小到大连接的;或者,根据区块高度的大小为每个区块分配一个序号标识,各个区块是按照区块对应的序号标识由小到大依次连接的。区块高度和序号标识呈正比,也就是说一个区块,如果其区块高度越大,其对应的序号标识也就越大;反之,如果该区块的区块高度越小,其对应的序号标识也就越小。为了方便描述,下面无特殊说明的情况下,均假设区块链网络中各个区块是按照区块高度由小到大的顺序依次连接的。换句话说,几个连续的区块都是按照区块的区块高度或者序号标识依次连接的,也即第一类区块集中M个区块是按照一定顺序依次连接的,第i个第二类区块集中的Li个区块也是按照一定顺序依次连接的,因此,第一类区块集与任一个第二类区块集均不连续是指:第一类区块集中的最后一个区块和任一个第二类区块集中第一个区块是不连续的;同理的,任意两个第二类区块集之间不连续是指:任意一个第二类区块集中的最后一个区块均与其他第二类区块集中的第一个区块不连续。
举例来说,假设区块链网络中创世区块(第一个区块)的区块高度为0,第二个区块的区块高度为1,依次类推,第一类区块集中最后一个区块是第M个区块,第M个区块对应的区块高度为M-1。假设数据备份节点从数据存储节点接收到的多个区块可以如图3所示,这多个区块中从创世区块开始连续的区块一共有999个(即第1个区块~第1000个区块),那么就将区块高度为0-999的区块划分到第一类区块集中,第一类区块集表示为300,也即第一类区块集中包括的区块是第1个区块~第1000个区块;另外,在这些区块中,区块高度为1500-1999的区块是连续的,区块高度为2500-2999的区块是连续的,但是区块高度999与区块高度1500是不连续的,区块高度1999与区块高度2500和区块高度999均是不连续的,因此图3中可以包括2个第二类区块集,分别是由区块高度为1500-1999的区块组成的第二类区块集301,和由区块高度为2500-2999的区块组成的第二类区块集302。
步骤S202、基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息。
在一个实施例中,在得到第一类区块集后,进一步的基于第一类区块集生成第一接收确认信息。其中,第一接收确认信息用于指示数据备份节点已从创世区块开始累积接收到M个区块(换种说法,第一接收确认信息包含按照区块高度顺序累计确认的区块高度)。由前述可知,所述区块链网络中各个区块是按照区块高度由小到依次连接的,该第一接收确认信息可以包括第一区块高度,所述第一区块高度包括以下任意一种:所述第一类区块集中最后一个区块对应的区块高度,以及对所述最后一个区块对应的区块高度进行预设运算后得到的区块高度,所述预设运算包括加W操作或者减W操作,W为大于1的整数。比如,第一类区块集中最后一个区块是第M个区块,第一区块高度可以是对第M个区块对应的区块高度执行加一操作后的区块高度,也就是说第一区块高度是第M+1个区块对应的区块高度;比如第M个区块对应的区块高度为999,那么第一区块高度是1000。
具体实现中,基于第一类区块集生成第一接收确认信息,包括:确定第一类区块集中最后一个区块也即第M个区块对应的区块高度;对第M个区块对应的区块高度执行预算操作,得到第一区块高度;将该第一区块高度作为第一接收确认信息。预设操作可以包括不做操作,或者进行预设运算操作,比如对第M个区块对应的区块高度执行加1操作,或者减1操作等等,具体预算方式本申请实施例中不做限定。
本申请实施例除了向数据存储节点反馈第一接收确认信息外,还会基于N个第二类区块集生成第二接收确认信息,将第二接收确认信息也反馈给数据存储节点。第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续。
可选的,第二接收确认信息包括N个区块高度数据,每个区块高度数组对应一个第二类区块集,第i个第二类区块集对应的区块高度数组中包括一个第二区块高度和一个第三区块高度,第二区块高度可以称为该区块高度数组的左边缘Block Left Edge,第二区块高度是指第i个第二类区块集包括的连续Li个区块中第一个区块对应的区块高度,第三区块高度可以称为该区块高度数组的右边缘Block Left Edge,第三区块高度是指Li个区块中最后一个区块对应的区块高度的下一个区块高度。简单来说,N个第二类区块集中每个第二类区块集对应一个区块高度数组,N个区块高度数组构成了第二接收确认信息。
举例来说,假设N个第二类区块集包括图3中301和302,第二类区块集301对应的区块高度数组可以表示为(1500~2000),第二类区块集302对应的区块高度数组可以表示为(2500~3000)。
基于图3的举例,在数据存储节点向数据备份节点传输区块的过程中,区块高度为1000-1499的区块丢失,以及区块高度为2000-2499的区块丢失,数据备份节点中接收到的区块情况,以及第一接收确认信息和第二接收确认信息的情况可通过下表2表示:
表2
表2中,如果数据存储节点只向数据备份节点传输了区块高度为0~999的区块,并且数据备份节点接收到了这些区块,那么数据备份节点接收到的多个区块就只包括一个第一类区块集,此时数据备份节点反馈的只有第一接收确认信息;如果数据存储节点又继续向数据备份节点发送了区块高度为1000~1499的区块,但是数据备份节点没有接收到,那么此时数据备份节点反馈的也只有第一接收确认信息;数据存储节点又继续向数据备份节点发送了区块高度为1500~1999的区块,此时数据备份节点接收到了这些数据,那么此时数据备份节点接收到的这些区块就包括了一个第一类区块集和一个第二类区块集,数据备份节点向数据存储节点反馈的信息包括了第一接收确认信息和第二接收确认信息,此时的第二接收确认信息中只包括一个区块高度数组(1500~2000);按照上述类推,数据备份节点接收到的数据发送变化后,数据备份节点发送的第一接收确认信息和第二接收确认信息也随着发生改变。
基于上述,步骤S202中基于N个第二类区块集生成第二接收确认信息,包括:获取每个第二类区块集中第一个区块的区块高度和最后一个区块的区块高度;根据每个第二类区块集中第一个区块的区块高度和最后一个区块的区块高度生成每个区块对应的区块高度数组;N个第二类区块集对应的区块高度数据组成了第二接收确认信息。
可选的,数据备份节点中可以支持两种数据接收机制,分别命名为第一接收确认机制和第二接收确认机制,第一接收确认机制用于规定数据备份节点在从数据存储节点备份区块时,数据备份节点需要向数据存储节点反馈以下信息:从创世区块开始按照区块高度顺序累计接收到的第一区块,以及接收到的区块高度与第一区块不连续的第二区块,如果第二区块是多个,那么这多个第二区块之间的区块高度是连续的。第二接收确认机制用于规定数据备份节点在从数据存储节点备份区块时,数据备份节点需向数据存储节点反馈:从创世区块开始按照区块高度顺序累计接收到的第一区块。可见,在第一接收确认机制下,数据备份节点向数据存储节点反馈的信息更丰富,在第二接收确认机制下,数据备份节点从创世区块按照顺序逐一确认的区块,也就是说接收到一个区块就确认一个,如果接收到一个与之前区块不连续的区块,则不会确认该区块,而是会通知数据存储节点继续发送与之前区块连续的区块;在第一接收确认机制下,数据备份节点可以确认任意顺序的连续区块,也就是说即使接收到的区块是分段连续的,数据备份节点也可以确认。相比之下,第二接收机制可以提高区块备份效率,从而提高网络资源利用率。
因此,数据备份节点在基于N个第二类区块集生成第二接收确认信息之前,数据备份节点还需要开启第一接收确认机制,并且确保数据存储节点也支持该第一接收确认机制。
步骤S203、将第一接收确认信息和第二接收确认信息发送至数据存储节点,以指示数据存储节点基于第一接收确认信息和第二接收确认信息确定需要重新发送的目标区块,并向数据备份节点重新发送目标区块。
数据备份节点生成了第一接收确认信息和第二接收确认信息之后,可以将第一接收确认信息和第二接收确认信息反馈给数据存储节点,以告知数据存储节点:数据备份节点接收到了哪些区块,以方便数据存储节点知道哪些区块还未被数据备份节点接收到,并重新向数据备份节点发送这些区块,完成区块的同步。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
基于上述的数据处理方法实施例,本申请实施例提供了另一种区块链网络的数据处理方法,参见图4,为本申请实施例提供的另一种区块链网络的数据处理方法。图4所示的数据处理方法可由一个数据存储节点设备执行,该数据存储节点设备对应于前述的数据存储节点,数据存储节点设备可以是终端,比如智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能家电、智能语音交互设备等等;该数据存储节点设备还可以是服务器,比如独立的物理服务器、多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。图4所示的数据处理方法可包括如下步骤:
步骤S401、接收数据备份节点发送的第一接收确认信息,以及第二接收确认信息。
由前述可知,第一接收确认信息和第二接收确认信息是数据备份节点接收到数据存储节点发送的多个区块后发送的,这多个区块按照连续性被划分为第一类区块集和N个第二类区块集,第一类区块集中包括从创始区块开始连续的M个区块,第i个第二类区块集中包括连续的Li个区块;并且,第一类区块集与任意一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。
第一接收确认信息是数据备份节点基于第一类区块集生成的,其用于指示数据备份节点已从所述创世区块开始累积接收到M个区块;第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续。
步骤S402、根据第一接收确认信息和第二接收确认信息确定需重新发送的目标区块,并将目标区块发送至数据备份节点,以使数据备份节点存储该目标区块。
可选的,若假设所述区块链网络中各个区块是按照区块高度由小到依次连接的;且N的取值为1,i等于1,也就是说N个第二类区块集中只包括一个第二类区块集,则所述第一接收确认信息包括第一区块高度,所述第一区块高度包括以下任意一种:所述第M个区块对应的区块高度,以及对所述第M个区块对应的区块高度进行预设运算后得到的区块高度,所述预设运算包括加W操作或者减W操作,W为大于1的整数;所述第二接收确认信息包括N个区块高度数组,每个区块高度数组对应一个第二类区块集;第i个第二类区块集对应的区块高度数组中包括一个第二区块高度和一个第三区块高度,所述第二区块是指所述第二类区块集包括的连续Li个区块中第一个区块对应的区块高度,所述第三区块高度是指所述Li个区块中最后一个区块对应的区块高度的下一个区块高度。
可选的,假设第一接收确认信息包括的第一区块是指对第M个区块进行加一运算后的区块高度,则数据存储节点根据第一接收确认信息和第二接收确认信息确定需重新发送的目标区块,可以包括:获取所述区块高度为所述第一区块高度的区块,以及获取所述区块高度在所述第一区块高度和所述第二区块高度之间的区块;将获取到的区块确定为目标区块。举例来说,参见图5a,为本申请实施例提供的一种确定目标区块的示意图,假设数据备份节点从数据存储节点接收到的多个区块如图5a中所示,区块高度为0-999的区块组成了第一类区块集501,区块高度为1500-1999的区块组成了第二类区块集502;第一接收确认信息中包括第一区块高度,第一区块高度为1000;第二类区块集对应的区块高度数组为(1500~2000),也即第二接收确认信息中第二区块高度为1500,第三区块高度为2000,那么就将区块高度为1000的区块,以及区块高度在1000-1500之间的区块作为目标区块,也即将区块高度为1000-1499 的区块作为目标区块。
应当理解的,上述是以第二类区块集的数量为1举例说明的,如果第二类区块集的数量为多个,如图5b所示数据备份接收到的多个区块除了包括第一类区块集501和第二类区块集502之外,还可以包括另外一个第二类区块集503;第二类区块集502对应一个区块高度数组为5010,表示为(1500~2000),第二类区块集503对应的区块高度数组为5011,表示为(2500~3000);并且第一区块是指对第M个区块对应的区块高度进行加1运算后的区块高度,则目标区块可以包括:区块高度为第一区块高度的区块比如区块高度为1000的区块、区块高度在第一区块高度和N个区块高度数组中第一个区块高度数组的左边缘之间的区块比如区块高度在1000~1500之间的区块,以及N个区块高度数组中任意两个相邻的区块高度数组中,前一个区块高度数组的右边缘对应的区块也即图5b中5010中区块高度2000对应的区块,区块高度位于该右边缘与后一个区块高度数组中左边缘之间的区块,也即图5b中区块高度位于2000~2500之间的区块。
作为一种可选的实施例方式,在数据存储节点接收到数据备份节点发送的第一接收确认信息和第二接收确认之前,数据存储节点向数据备份节点发送了H个区块;并且,数据存储节点将这H个区块存储在接收确认队列中,在接收确认队列中每个区块对应一个接收标记,一个接收标记的状态可以包括第一状态和第二状态,若任一区块对应的接收标记处于第一状态,则表明该任一区块已被数据备份节点确认接收;反之,若任一区块对应的接收标记处于第二状态,则表明该任一区块没有被数据备份节点确认接收。
基于此,数据存储节点在接收到第一接收确认信息和第二接收确认信息之后,还可以根据第一接收确认信息和第二接收确认信息确定H个区块中哪些区块被数据备份节点接收了,然后将已经被接收的区块对应的接收标记设置为第一状态。上述数据存储节点获取目标区块时,可以包括:从接收确认队列中找到接收状态处于第二状态的区块,然后从这些区块中获取目标区块。
在一个实施例中,数据存储节点每次向数据备份节点发送一次数据后,均会启动一个计时器,如果计时器时间超时,还没有接受到数据备份接收发送的接收确认信息,那么数据存储节点就任务可能是数据存储节点和数据备份节点之间的网络通信出现问题,或者是数据存储节点或者数据备份节点出现问题,为了完成区块备份,此时数据存储节点会启动超时处理机制,超时处理机制规定将本次发送的区块全部重新发送。
基于图2和图4实施例的描述,以数据备份节点为数据节点,数据存储节点为共识节点为例,具体介绍在区块备份过程中,数据备份节点和数据存储节点之间的交互。参见图5c,为本申请实施例提供的一种数据节点和共识节点进行交互的示意图,具体流程可以为:在数据节点和共识节点建立网络连接后,数据节点和共识节点会进行接收确认机制的协商,数据节点在启动时可以选择第二接收确认机制(也称为选择确认)和第一接收确认机制(又叫做按区块高度顺序累计确认)两种方式之一。假设数据节点启动采用第一接收确认机制,在个共识节点进行协商时告知共识节点,数据节点支持第一接收确认机制,共识节点接收到该通知后,可以为该数据节点添加一个标记,用于标记该数据节点支持第一接收确认机制。
如果共识节点也支持第一接收确认机制,那么共识节点和数据节点在接收确认机制协商后,共识节点开始向数据节点发送区块,共识节点会将发送的区块存储在一个接收确认队列中,并为每个区块设置一个接收标记;如果一个区块的接收标记为第一状态,表明该区块已经被数据节点确认接收了,如果一个区块的接收标记为第二状态,表明该区块还没有被数据节点确认接收。
数据节点接收到共识节点发送的多个区块后,生成第一接收确认信息和第二接收确认信息,第一接收确认信息和第二接收确认信息的生成方法可参见图2或图4实施例中相关内容的介绍,此处不再赘述。数据节点将第一接收确认信息和第二接收确认信息反馈给共识节点,这样共识节点可以从上述队列中,接收标记处于第二状态的区块中确定需要重新发送的目标区块;然后将目标区块重新发送给数据节点。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
基于上述的区块链网络的数据处理方法实施例,本申请实施例提供了一种区块链网络的数据处理装置,参见图6,为本申请实施例提供的一种区块链网络的数据处理装置的结构示意图。图6所述的数据处理装置可运行如下单元:
获取单元601,用于获取从所述数据存储节点接收到的多个区块;所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;
生成单元602,用于基于所述第一类区块集生成第一接收确认信息,以及基于所述N个第二类区块集生成第二接收确认信息;
发送单元603,用于将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
在一个实施例中,所述区块链网络中包括共识节点、业务节点和数据节点;所述数据存储节点包括所述共识节点或所述数据节点,所述数据备份节点包括所述数据节点或所述业务节点,且当所述数据存储节点为所述共识节点时,所述数据备份节点为所述数据节点;当所述数据存储节点为所述数据节点时,所述数据备份节点为所述业务节点;
所述区块链网络包括核心子网络、业务子网络和数据节点子网络,所述核心子网络和所述业务子网络通过所述数据节点子网络连接;所述共识节点部署在所述核心子网络中,所述数据节点部署在所述数据节点子网络中,以及所述业务节点部署在所述业务子网络中。
在一个实施例中,所述区块链网络中各个区块是按照区块高度由小到依次连接的;或者,所述区块链网络中各个区块是按照每个区块对应的序号标识依次连接的;若所述区块链网络中各个区块是按照区块高度由小到大依次连接的;所述第一接收确认信息包括第一区块高度,所述第一区块高度包括以下任意一种:所述第一类区块集中最后一个区块对应的区块高度,以及对所述最后一个区块对应的区块高度进行预设运算后得到的区块高度,所述预设运算包括加W操作或者减W操作,W为大于1的整数;所述第二接收确认信息包括N个区块高度数组,每个区块高度数组对应一个第二类区块集;第i个第二类区块集对应的区块高度数组中包括第二区块高度和第三区块高度,所述第二区块高度是指所述第二类区块集包括的连续Li个区块中第一个区块对应的区块高度,所述第三区块高度是指所述Li个区块中最后一个区块对应的区块高度的下一个区块高度。
在一个实施例中,所述生成单元602在基于所述N个第二类区块集生成第二接收确认信息时,执行如下步骤:
若所述数据备份节点开启第一接收确认机制且所述数据存储节点支持所述第一接收确认机制,则基于所述N个第二类区块集生成第二接收确认信息;
其中,所述第一接收确认机制用于规定所述数据备份节点在从所述数据存储节点备份区块时,所述数据备份节点需向所述数据存储节点反馈以下信息:从创世区块开始按照区块高度顺序累计接收到的区块,以及接收到的区块高度与所述第一区块不连续的区块。
根据本申请的一个实施例,图2所示的数据处理方法所涉及各个步骤可以是由图6所示的数据处理装置中的各个单元来执行的。例如,图2所述的步骤S201可由图6所示的数据处理装置中的获取单元601来执行,步骤S202可由图6所示的数据处理装置中生成单元602来执行,步骤S203可由图6所示的数据处理装置中的发送单元603来执行。
根据本申请的另一个实施例,图6所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的数据处理装置,以及来实现本申请实施例数据处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于数据处理设备中,并在其中运行。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
基于上述的数据处理方法实例和数据处理装置实施例,本申请实施例提供了另一种数据处理装置,参见图7,为本申请提供的另一种数据处理装置的结构示意图。图7所示的数据处理装置可运行如下单元:
接收单元701,用于接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述第二类区块集生成的;
确定单元702,用于根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块;
发送单元703,用于将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
在一个实施例中,所述区块链网络中各个区块是按照区块高度由小到依次连接的;或者,所述区块链网络中各个区块是按照每个区块对应的序号标识依次连接的;
若所述区块链网络中各个区块是按照区块高度由小到大依次连接的;所述第一接收确认信息包括第一区块高度,所述第一区块高度包括以下任意一种:所述第一类区块集中最后一个区块对应的区块高度,以及对所述最后一个区块对应的区块高度进行预设运算后得到的区块高度,所述预设运算包括加W操作或者减W操作,W为大于1的整数;所述第二接收确认信息包括N个区块高度数组,每个区块高度数组对应一个第二类区块集;第i个第二类区块集对应的区块高度数组中包括第二区块高度和第三区块高度,所述第二区块高度是指所述第二类区块集包括的连续Li个区块中第一个区块对应的区块高度,所述第三区块高度是指所述Li个区块中最后一个区块对应的区块高度的下一个区块高度。
在一个实施例中,若所述区块链网络中各个区块是按照区块高度由小到大依次连接的;且N的取值为1,i等于1,所述第一区块是指对所述第M个区块对应的区块高度进行加1操作后的区块高度,则确定单元702在根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块时,执行如下步骤:
获取区块高度为所述第一区块高度的区块,以及获取所述区块高度在所述第一区块高度和所述第二区块高度之间的区块;将获取到的区块确定为目标区块。
在一个实施例中,图7所述的数据处理装置中还包括存储单元704;所述发送单元703还用于:向所述数据备份节点发送区块高度连续的H个区块;所述存储单元704用于将所述H个区块存储在接收确认队列中,在所述接收确认队列中每个区块对应一个接收标记,所述接收标记的状态包括第一状态和第二状态;若任一区块对应的接收标记处于第一状态,则表明所述任一区块已被所述数据备份节点接收;若所述任一区块对应的接收标记处于第二状态,则表明所述任一区块未被所述数据备份节点接收。
在一个实施例中,所述数据处理装置中还包括更新单元705,所述更新单元705用于根据所述第一接收确认信息和所述第二接收确认信息更新所述接收确认队列中每个区块对应的接收标记的状态。
在一个实施例中,所述确定单元702在获取所述区块高度为所述第一区块的区块,以及获取所述区块高度在所述第一区块高度和所述第二区块高度之间的区块时,执行如下步骤;从接收状态处于第二状态的区块中,分别获取所述区块高度为所述第一区块高度的区块,以及区块高度在所述第一区块高度和所述第二区块高度之间的区块。
在一个实施例中,所述区块链网络中包括共识节点、业务节点和数据节点;所述数据存储节点包括所述共识节点或所述数据节点,所述数据备份节点包括所述数据节点或所述业务节点,且当所述数据存储节点为所述共识节点时,所述数据备份节点为所述数据节点;当所述数据存储节点为所述数据节点时,所述数据备份节点为所述业务节点;
所述区块链网络包括核心子网络、业务子网络和数据节点子网络,所述核心子网络和所述业务子网络通过所述数据节点子网络连接;所述共识节点部署在所述核心子网络中,所述数据节点部署在所述数据节点子网络中,以及所述业务节点部署在所述业务子网络中。
根据本申请的一个实施例,图4所示的数据处理方法所涉及各个步骤可以是由图7所示的数据处理装置中的各个单元来执行的。例如,图4所述的步骤S401可由图7所示的数据处理装置中的接收单元701来执行,步骤S402可由图7所示的数据处理装置中确定单元702和发送单元703来执行。
根据本申请的另一个实施例,图7所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的数据处理装置,以及来实现本申请实施例数据处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于数据处理设备中,并在其中运行。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
基于上述数据处理方法的实施例以及数据处理装置的实施例,本申请实施例还提供了一种数据备份节点设备,参见图8,为本申请实施例提供的一种数据备份节点设备的结构示意图。图8所示的数据备份节点设备可以包括处理器801、输入接口802、输出接口803以及计算机存储介质804。其中,处理器801、输入接口802、输出接口803以及计算机存储介质804可通过总线或其他方式连接。
计算机存储介质804可以存储在数据备份节点设备的存储器中,所述计算机存储介质804用于存储计算机程序,所述处理器801用于执行所述计算机存储介质804存储的计算机程序。处理器801(或称CPU(Central Processing Unit,中央处理器))是数据备份节点设备的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行:
获取从所述数据存储节点接收到的多个区块;所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;
基于所述第一类区块集生成第一接收确认信息,以及基于所述N个第二类区块集生成第二接收确认信息;将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
基于上述数据处理方法的实施例以及数据处理装置的实施例,本申请实施例还提供了一种数据存储节点设备,参见图9,为本申请实施例提供的一种数据存储节点设备的结构示意图。图9所示的数据存储节点设备可以包括处理器901、输入接口902、输出接口903以及计算机存储介质904。其中,处理器901、输入接口902、输出接口903以及计算机存储介质904可通过总线或其他方式连接。
计算机存储介质904可以存储在数据存储节点设备的存储器中,所述计算机存储介质904用于存储计算机程序,所述处理器901用于执行所述计算机存储介质904存储的计算机程序。处理器901(或称CPU(Central Processing Unit,中央处理器))是数据存储节点设备的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行:
接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述第二类区块集生成的;
根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
本申请实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是数据备份节点设备的记忆设备或者是数据存储节点设备的记忆设备,用于存放程序和数。可以理解的是,此处的计算机存储介质既可以包括数据备份节点设备或者数据存储节点设备的内置存储介质,当然也可以包括数据备份节点设备或数据存储节点设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了数据备份节点设备或数据存储节点设备的操作系统。并且,在该存储空间中还存放了适于被处理器801或被处理器901加载并执行的一条或多条的计算机程序。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,所述计算机存储介质中存储的一条或多条计算机程序可由处理器801加载并执行:获取从所述数据存储节点接收到的多个区块;所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;
基于所述第一类区块集生成第一接收确认信息,以及基于所述N个第二类区块集生成第二接收确认信息;将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
在一个实施例中,所述区块链网络中包括共识节点、业务节点和数据节点;所述数据存储节点包括所述共识节点或所述数据节点,所述数据备份节点包括所述数据节点或所述业务节点,且当所述数据存储节点为所述共识节点时,所述数据备份节点为所述数据节点;当所述数据存储节点为所述数据节点时,所述数据备份节点为所述业务节点;
所述区块链网络包括核心子网络、业务子网络和数据节点子网络,所述核心子网络和所述业务子网络通过所述数据节点子网络连接;所述共识节点部署在所述核心子网络中,所述数据节点部署在所述数据节点子网络中,以及所述业务节点部署在所述业务子网络中。
在一个实施例中,所述区块链网络中各个区块是按照区块高度由小到依次连接的;或者,所述区块链网络中各个区块是按照每个区块对应的序号标识依次连接的;
若所述区块链网络中各个区块是按照区块高度由小到大依次连接的;所述第一接收确认信息包括第一区块高度,所述第一区块高度包括以下任意一种:所述第一类区块集中最后一个区块对应的区块高度,以及对所述最后一个区块对应的区块高度进行预设运算后得到的区块高度,所述预设运算包括加W操作或者减W操作,W为大于1的整数;所述第二接收确认信息包括N个区块高度数组,每个区块高度数组对应一个第二类区块集;第i个第二类区块集对应的区块高度数组中包括第二区块高度和第三区块高度,所述第二区块高度是指所述第二类区块集包括的连续Li个区块中第一个区块对应的区块高度,所述第三区块高度是指所述Li个区块中最后一个区块对应的区块高度的下一个区块高度。
在一个实施例中,所述处理器801在基于所述N个第二类区块集生成第二接收确认信息时,执行如下步骤:
若所述数据备份节点开启第一接收确认机制且所述数据存储节点支持所述第一接收确认机制,则基于所述N个第二类区块集生成第二接收确认信息;
其中,所述第一接收确认机制用于规定所述数据备份节点在从所述数据存储节点备份区块时,所述数据备份节点需向所述数据存储节点反馈以下信息:从创世区块开始按照区块高度顺序累计接收到的区块,以及接收到的区块高度与所述第一区块不连续的区块。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
在其他实施例中,所述计算机存储介质中存储的一条或多条计算机程序可由处理器901加载并执行:
接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述第二类区块集生成的;
根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
在一个实施例中,区块链网络中各个区块是按照区块高度由小到依次连接的;或者,所述区块链网络中各个区块是按照每个区块对应的序号标识依次连接的;
若所述区块链网络中各个区块是按照区块高度由小到大依次连接的;所述第一接收确认信息包括第一区块高度,所述第一区块高度包括以下任意一种:所述第一类区块集中最后一个区块对应的区块高度,以及对所述最后一个区块对应的区块高度进行预设运算后得到的区块高度,所述预设运算包括加W操作或者减W操作,W为大于1的整数;所述第二接收确认信息包括N个区块高度数组,每个区块高度数组对应一个第二类区块集;第i个第二类区块集对应的区块高度数组中包括第二区块高度和第三区块高度,所述第二区块高度是指所述第二类区块集包括的连续Li个区块中第一个区块对应的区块高度,所述第三区块高度是指所述Li个区块中最后一个区块对应的区块高度的下一个区块高度。
在一个实施例中,若所述区块链网络中各个区块是按照区块高度由小到大依次连接的;且N的取值为1,i等于1,所述第一区块是指对所述第M个区块对应的区块高度进行加1操作后的区块高度,则所述处理器901在根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块时,执行如下步骤:
获取区块高度为所述第一区块高度的区块,以及获取所述区块高度在所述第一区块高度和所述第二区块高度之间的区块;将获取到的区块确定为目标区块。
在一个实施例中,所述接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息之前,所述处理器901还用于执行:
向所述数据备份节点发送区块高度连续的H个区块;
将所述H个区块存储在接收确认队列中,在所述接收确认队列中每个区块对应一个接收标记,所述接收标记的状态包括第一状态和第二状态;若任一区块对应的接收标记处于第一状态,则表明所述任一区块已被所述数据备份节点接收;若所述任一区块对应的接收标记处于第二状态,则表明所述任一区块未被所述数据备份节点接收。
在一个实施例中,所述接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息之后,所述处理器901还用于:根据所述第一接收确认信息和所述第二接收确认信息更新所述接收确认队列中每个区块对应的接收标记的状态。
在一个实施例中,所述处理器901在获取所述区块高度为所述第一区块的区块,以及获取所述区块高度在所述第一区块高度和所述第二区块高度之间的区块时,执行如下步骤:
从接收状态处于第二状态的区块中,分别获取所述区块高度为所述第一区块高度的区块,以及区块高度在所述第一区块高度和所述第二区块高度之间的区块。
在一个实施例中,所述区块链网络中包括共识节点、业务节点和数据节点;所述数据存储节点包括所述共识节点或所述数据节点,所述数据备份节点包括所述数据节点或所述业务节点,且当所述数据存储节点为所述共识节点时,所述数据备份节点为所述数据节点;当所述数据存储节点为所述数据节点时,所述数据备份节点为所述业务节点;
所述区块链网络包括核心子网络、业务子网络和数据节点子网络,所述核心子网络和所述业务子网络通过所述数据节点子网络连接;所述共识节点部署在所述核心子网络中,所述数据节点部署在所述数据节点子网络中,以及所述业务节点部署在所述业务子网络中。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
本申请实施例提供了一种计算机程序或计算机产品,所述计算机产品包括计算机程序,所述计算机程序存储在计算机存储介质中;数据备份节点设备的处理器801从所述计算机存储介质中读取所述计算机程序,用于执行:
获取从所述数据存储节点接收到的多个区块;所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;
基于所述第一类区块集生成第一接收确认信息,以及基于所述N个第二类区块集生成第二接收确认信息;
将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
在其他实施例中,所述数据存储节点设备的处理器901从所述计算机存储介质中读取所述计算机程序,用于执行:
接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述第二类区块集生成的;
根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
本申请实施例中,数据备份节点从数据存储节点获取到多个区块后,可以根据区块连续性虚拟将多个区块划分为第一类区块集和N个第二类区块集中,第一类区块集中包括从创世区块开始连续的M个区块,第i个第二类区块中包括连续Li个区块;且第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间也不连续。应当理解的,两个区块集不连续是指任意一个区块集中的最后一个区块和另外一个区块集中的第一个区块是不连续的。进一步的,基于第一类区块集生成第一接收确认信息,以及基于N个第二类区块集生成第二接收确认信息,由此可知,第一接收确认信息能够用于告知数据备份节点已接收到从创世区块开始连续的M个区块,第二接收确认信息用于告知数据备份节点接收到N个第二类区块集,每个第二类区块集中包括几个连续的区块,每个第二类区块集内的区块是连续的,第二类区块集之间的区块是不连续的,并且任一个第二类区块集均与第一类区块集中的最后一个区块不连续;进而,将第一接收确认信息和第二接收确认信息发送到数据存储节点,以指示数据存储节点可以根据第一接收确认信息和第二接收确认信息确定哪些区块被数据备份节点接收并确认,哪些区块没有被数据备份节点接收到,这部分区块是需要重新发送的目标区块,然后数据存储节点向数据备份节点发送这些目标区块。
在本申请的上述数据处理过程中,数据备份节点不是按照区块连续性逐个确认区块的,而是可以确认任意一段连续的区块,实现了“缺哪些区块就重新发哪些区块”,提高了区块备份效率,也提高了网络资源利用率。
Claims (15)
1.一种区块链网络的数据处理方法,其特征在于,所述区块链网络包括数据存储节点和数据备份节点,所述数据存储节点向所述数据备份节点发送区块高度连续的H个区块,所述数据处理方法由所述数据备份节点执行,所述数据处理方法包括:
获取从所述数据存储节点接收到的多个区块,所述多个区块属于所述H个区块;所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;
基于所述第一类区块集生成第一接收确认信息,以及若所述数据备份节点开启第一接收确认机制且所述数据存储节点支持所述第一接收确认机制,则基于所述N个第二类区块集生成第二接收确认信息;其中,所述第一接收确认机制用于规定所述数据备份节点在从所述数据存储节点备份区块时,所述数据备份节点需向所述数据存储节点反馈以下信息:从创世区块开始按照区块高度顺序累计接收到的第一区块,以及接收到的区块高度与所述第一区块不连续的区块;所述第一接收确认信息用于指示所述数据备份节点已从创始区块开始累积接收到M个区块,所述第二接收确认信息用于告知所述数据备份节点接收到所述N个第二类区块集,每个第二类区块集中包括连续的区块,各个第二类区块集之间的区块是不连续的,且任一第二类区块集均与第一类区块集中的最后一个区块不连续;
将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
2.如权利要求1所述的方法,其特征在于,所述区块链网络中包括共识节点、业务节点和数据节点;所述数据存储节点包括所述共识节点或所述数据节点,所述数据备份节点包括所述数据节点或所述业务节点,且当所述数据存储节点为所述共识节点时,所述数据备份节点为所述数据节点;当所述数据存储节点为所述数据节点时,所述数据备份节点为所述业务节点;
所述区块链网络包括核心子网络、业务子网络和数据节点子网络,所述核心子网络和所述业务子网络通过所述数据节点子网络连接;所述共识节点部署在所述核心子网络中,所述数据节点部署在所述数据节点子网络中,以及所述业务节点部署在所述业务子网络中。
3.如权利要求1所述的方法,其特征在于,所述区块链网络中各个区块是按照区块高度由小到大依次连接的;或者,所述区块链网络中各个区块是按照每个区块对应的序号标识依次连接的;
若所述区块链网络中各个区块是按照区块高度由小到大依次连接的,则所述第一接收确认信息包括第一区块高度,所述第一区块高度包括以下任意一种:所述第一类区块集中最后一个区块对应的区块高度,以及对所述最后一个区块对应的区块高度进行预设运算后得到的区块高度,所述预设运算包括加W操作或者减W操作,W为大于1的整数;所述第二接收确认信息包括N个区块高度数组,每个区块高度数组对应一个第二类区块集;第i个第二类区块集对应的区块高度数组中包括第二区块高度和第三区块高度,所述第二区块高度是指所述第二类区块集包括的连续Li个区块中第一个区块对应的区块高度,所述第三区块高度是指所述Li个区块中最后一个区块对应的区块高度的下一个区块高度。
4.一种区块链网络的数据处理方法,其特征在于,所述区块链网络包括数据存储节点和数据备份节点,所述数据存储节点向所述数据备份节点发送区块高度连续的H个区块,所述数据处理方法由所述数据存储节点执行,所述数据处理方法包括:
接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块属于所述H个区块;且若所述数据备份节点开启第一接收确认机制且所述数据存储节点支持所述第一接收确认机制则生成所述第二接收确认信息,其中,所述第一接收确认机制用于规定所述数据备份节点在从所述数据存储节点备份区块时,所述数据备份节点需向所述数据存储节点反馈以下信息:从创世区块开始按照区块高度顺序累计接收到的第一区块,以及接收到的区块高度与所述第一区块不连续的区块;
所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述N个第二类区块集生成的;所述第一接收确认信息用于指示所述数据备份节点已从创始区块开始累积接收到M个区块,所述第二接收确认信息用于告知所述数据备份节点接收到所述N个第二类区块集,每个第二类区块集中包括连续的区块,各个第二类区块集之间的区块是不连续的,且任一第二类区块集均与第一类区块集中的最后一个区块不连续;
根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
5.如权利要求4所述的方法,其特征在于,所述区块链网络中各个区块是按照区块高度由小到大依次连接的;或者,所述区块链网络中各个区块是按照每个区块对应的序号标识依次连接的;
若所述区块链网络中各个区块是按照区块高度由小到大依次连接的,则所述第一接收确认信息包括第一区块高度,所述第一区块高度包括以下任意一种:所述第一类区块集中最后一个区块对应的区块高度,以及对所述最后一个区块对应的区块高度进行预设运算后得到的区块高度,所述预设运算包括加W操作或者减W操作,W为大于1的整数;所述第二接收确认信息包括N个区块高度数组,每个区块高度数组对应一个第二类区块集;第i个第二类区块集对应的区块高度数组中包括第二区块高度和第三区块高度,所述第二区块高度是指所述第二类区块集包括的连续Li个区块中第一个区块对应的区块高度,所述第三区块高度是指所述Li个区块中最后一个区块对应的区块高度的下一个区块高度。
6.如权利要求5所述的方法,其特征在于,若所述区块链网络中各个区块是按照区块高度由小到大依次连接的;且N的取值为1,i等于1,所述第一区块高度是指对所述第一类区块集中最后一个区块对应的区块高度进行加1操作得到的,则所述根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,包括:
获取区块高度为所述第一区块高度的区块,以及获取所述区块高度在所述第一区块高度和所述第二区块高度之间的区块;
将获取到的区块确定为目标区块。
7.如权利要求6所述的方法,其特征在于,所述接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息之前,所述方法还包括:
向所述数据备份节点发送区块高度连续的H个区块;
将所述H个区块存储在接收确认队列中,在所述接收确认队列中每个区块对应一个接收标记,所述接收标记的状态包括第一状态和第二状态;若任一区块对应的接收标记处于第一状态,则表明所述任一区块已被所述数据备份节点接收;若所述任一区块对应的接收标记处于第二状态,则表明所述任一区块未被所述数据备份节点接收。
8.如权利要求7所述的方法,其特征在于,所述接收所述数据备份节点发送的第一接收确认信息和第二接收确认信息之后,所述方法还包括:根据所述第一接收确认信息和所述第二接收确认信息更新所述接收确认队列中每个区块对应的接收标记的状态;
所述获取所述区块高度为所述第一区块的区块,以及获取所述区块高度在所述第一区块高度和所述第二区块高度之间的区块,包括:
从接收状态处于第二状态的区块中,分别获取所述区块高度为所述第一区块高度的区块,以及区块高度在所述第一区块高度和所述第二区块高度之间的区块。
9.如权利要求4-8任一项所述的方法,其特征在于,所述区块链网络中包括共识节点、业务节点和数据节点;所述数据存储节点包括所述共识节点或所述数据节点,所述数据备份节点包括所述数据节点或所述业务节点,且当所述数据存储节点为所述共识节点时,所述数据备份节点为所述数据节点;当所述数据存储节点为所述数据节点时,所述数据备份节点为所述业务节点;
所述区块链网络包括核心子网络、业务子网络和数据节点子网络,所述核心子网络和所述业务子网络通过所述数据节点子网络连接;所述共识节点部署在所述核心子网络中,所述数据节点部署在所述数据节点子网络中,以及所述业务节点部署在所述业务子网络中。
10.一种区块链网络的数据处理装置,其特征在于,包括:
获取单元,用于获取从数据存储节点接收到的多个区块;所述多个区块属于H个区块,所述H个区块是数据存储节点向数据备份节点发送按照区块高度连续的,所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;
生成单元,用于基于所述第一类区块集生成第一接收确认信息,以及若所述数据备份节点开启第一接收确认机制且所述数据存储节点支持所述第一接收确认机制,则基于所述N个第二类区块集生成第二接收确认信息;其中,所述第一接收确认机制用于规定所述数据备份节点在从所述数据存储节点备份区块时,所述数据备份节点需向所述数据存储节点反馈以下信息:从创世区块开始按照区块高度顺序累计接收到的第一区块,以及接收到的区块高度与所述第一区块不连续的区块;所述第一接收确认信息用于指示所述数据备份节点已从创始区块开始累积接收到M个区块,所述第二接收确认信息用于告知所述数据备份节点接收到所述N个第二类区块集,每个第二类区块集中包括连续的区块,各个第二类区块集之间的区块是不连续的,且任一第二类区块集均与第一类区块集中的最后一个区块不连续;
发送单元,用于将所述第一接收确认信息和所述第二接收确认信息发送至所述数据存储节点,以指示所述数据存储节点基于所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块,并向所述数据备份节点重新发送所述目标区块。
11.一种区块链网络的数据处理装置,其特征在于,包括:
接收单元,用于接收数据备份节点发送的第一接收确认信息和第二接收确认信息,所述第一接收确认信息和所述第二接收确认信息是所述数据备份节点接收到所述数据存储节点发送的多个区块后生成的,所述多个区块属于H个区块,所述H个区块是数据存储节点向所述数据备份节点发送的按照区块高度连续的;且若所述数据备份节点开启第一接收确认机制且所述数据存储节点支持所述第一接收确认机制则生成所述第二接收确认信息,其中,所述第一接收确认机制用于规定所述数据备份节点在从所述数据存储节点备份区块时,所述数据备份节点需向所述数据存储节点反馈以下信息:从创世区块开始按照区块高度顺序累计接收到的第一区块,以及接收到的区块高度与所述第一区块不连续的区块;
所述多个区块按照连续性被划分为第一类区块集和N个第二类区块集,所述第一类区块集中包括从创世区块开始连续的M个区块;第i个第二类区块集中包括连续的Li个区块;所述第一类区块集与任一个第二类区块集均不连续,任意两个第二类区块集之间不连续;N为整数,Li为正整数,i大于或等于1且小于N;所述第一接收确认信息是基于所述第一类区块集生成的,所述第二接收确认信息是基于所述第二类区块集生成的;所述第一接收确认信息用于指示所述数据备份节点已从创始区块开始累积接收到M个区块,所述第二接收确认信息用于告知所述数据备份节点接收到所述N个第二类区块集,每个第二类区块集中包括连续的区块,各个第二类区块集之间的区块是不连续的,且任一第二类区块集均与第一类区块集中的最后一个区块不连续;
确定单元,用于根据所述第一接收确认信息和所述第二接收确认信息确定需重新发送的目标区块;
发送单元,用于将所述目标区块发送至所述数据备份节点,以使所述数据备份节点存储所述目标区块。
12.一种数据备份节点设备,其特征在于,包括:
处理器,适用于实现一条或多条计算机程序;
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求1-3任一项所述的数据处理方法。
13.一种数据存储节点设备,其特征在于,包括:
处理器,适用于实现一条或多条计算机程序;
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求4-9任一项所述的数据处理方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时用于加载并执行如权利要求1-3任一项所述的数据处理方法,或者执行如权利要求4-9任一项所述的数据处理方法。
15.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时用于加载并执行如权利要求1-3任一项所述的数据处理方法;或者执行如权利要求4-9任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111178889.9A CN113626260B (zh) | 2021-10-11 | 2021-10-11 | 区块链网络的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111178889.9A CN113626260B (zh) | 2021-10-11 | 2021-10-11 | 区块链网络的数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113626260A CN113626260A (zh) | 2021-11-09 |
CN113626260B true CN113626260B (zh) | 2022-02-22 |
Family
ID=78390798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111178889.9A Active CN113626260B (zh) | 2021-10-11 | 2021-10-11 | 区块链网络的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626260B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209195A (zh) * | 2012-01-11 | 2013-07-17 | 国家电网公司 | 数据获取方法、终端以及远端设备 |
CN109714412A (zh) * | 2018-12-25 | 2019-05-03 | 深圳前海微众银行股份有限公司 | 区块同步方法、装置、设备及计算机可读存储介质 |
CN111414421A (zh) * | 2020-03-18 | 2020-07-14 | 中国人民大学 | 一种分段式区块链存储方法和存储装置 |
CN113254272A (zh) * | 2021-06-09 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、计算机设备和介质 |
CN113326165A (zh) * | 2021-08-04 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、设备及计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743951A (zh) * | 2014-12-11 | 2016-07-06 | 清华大学 | 一种数据发送、接收的方法及装置 |
US10630463B2 (en) * | 2018-02-26 | 2020-04-21 | Ca, Inc. | Meta block chain |
CN111241593A (zh) * | 2020-01-02 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 用于区块链节点的数据同步方法及装置 |
CN111444206B (zh) * | 2020-03-24 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种同步处理方法、装置、设备及介质 |
CN113177670A (zh) * | 2021-05-27 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
-
2021
- 2021-10-11 CN CN202111178889.9A patent/CN113626260B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209195A (zh) * | 2012-01-11 | 2013-07-17 | 国家电网公司 | 数据获取方法、终端以及远端设备 |
CN109714412A (zh) * | 2018-12-25 | 2019-05-03 | 深圳前海微众银行股份有限公司 | 区块同步方法、装置、设备及计算机可读存储介质 |
CN111414421A (zh) * | 2020-03-18 | 2020-07-14 | 中国人民大学 | 一种分段式区块链存储方法和存储装置 |
CN113254272A (zh) * | 2021-06-09 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、计算机设备和介质 |
CN113326165A (zh) * | 2021-08-04 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113626260A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110418376B (zh) | 数据传输方法及装置 | |
CN110601903B (zh) | 一种基于消息队列中间件的数据处理方法及装置 | |
CN111159289B (zh) | 一种区块同步的方法及装置 | |
CN105450785B (zh) | 一种文件传输方法和装置 | |
CN113014528B (zh) | 报文处理方法、处理单元及虚拟专用网络服务器 | |
US20170048878A1 (en) | Resource reuse method and apparatus | |
CN111275555B (zh) | 区块链交易处理方法、交易节点以及区块链系统 | |
CN109587822B (zh) | 信息发送控制方法、信息接收控制方法、装置、存储介质 | |
WO2014206034A1 (zh) | 数据的分解同步方法及系统 | |
CN112583712A (zh) | 区块链路由器及区块链网络 | |
CN111163148A (zh) | 一种区块链系统的共识状态的同步方法及相关设备 | |
CN101516131A (zh) | 一种数据同步的方法、系统和装置 | |
JP4635615B2 (ja) | 情報処理装置、システム、データ同期方法及びプログラム | |
CN113721966A (zh) | 节点升级方法、装置、存储介质及电子装置 | |
CN112202877A (zh) | 网关联动方法、网关、云服务器及用户终端 | |
CN113626260B (zh) | 区块链网络的数据处理方法、装置、设备及存储介质 | |
CN111064813B (zh) | 在区块链共识处理时进行处理消息同步的方法及装置 | |
CN112653729B (zh) | 物联网终端的共享升级方法、装置、物联网终端及介质 | |
CN113157450A (zh) | 在区块链系统中执行区块的方法及装置 | |
CN106790354B (zh) | 一种防数据拥堵的通信方法及其装置 | |
CN109257448B (zh) | 一种会话信息同步的方法及装置、电子设备、存储介质 | |
CN111917859A (zh) | 数据传输方法、装置、计算机设备以及存储介质 | |
CN112019614A (zh) | 双系统之间通信与通信同步的方法、系统与处理器 | |
CN111667264A (zh) | 区块数据的传输方法、装置、电子设备及非易失性计算机存储介质 | |
CN113573252B (zh) | 数据传输方法、系统、芯片、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40055343 Country of ref document: HK |