CN113505024A - 联盟链的数据处理方法、装置、电子设备及存储介质 - Google Patents
联盟链的数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113505024A CN113505024A CN202110772580.6A CN202110772580A CN113505024A CN 113505024 A CN113505024 A CN 113505024A CN 202110772580 A CN202110772580 A CN 202110772580A CN 113505024 A CN113505024 A CN 113505024A
- Authority
- CN
- China
- Prior art keywords
- backup
- block
- node
- data
- local
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 107
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000004044 response Effects 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 abstract description 17
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 238000013475 authorization Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种联盟链的数据处理方法、装置、电子设备及存储介质,涉及区块链技术领域。该方法包括:第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将第一备份请求发送至后备节点;后备节点根据第一备份请求进行数据备份,并在数据备份完成后发送处理响应;第一本地节点接收处理响应,并从本地数据库中删除第一备份请求中的数据。本方案中,通过后备节点的加入,可以无限的扩大数据存储空间,有效缓解了本地节点进行数据存储而导致数据存储空间不足的问题,提高了联盟链的数据处理性能。
Description
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种联盟链的数据处理方法、装置、电子设备及存储介质。
背景技术
区块链技术也被称为分布式账本技术,是一种互联网数据库技术,其去中心化、公开透明的特性使得其可以很好的应用在业务处理中,例如:业务交易数据的存储等,以保证业务交易过程的安全性和可信性。
现有技术中,在联盟区块链中,区块链节点执行数据处理过程中,所有的数据读写请求均是本地节点通过委托kvdb(分布式key-value数据存储服务)底层所提供的接口来实现。
但是,由于kvdb所提供的存储均为单机存储,随着业务数据的不断增加,会导致存储空间不足,从而影响区块链的数据处理性能。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种联盟链的数据处理方法、装置、电子设备及存储介质,以便于解决现有技术中存在的数据存储空间不足,区块链的数据处理性能较差的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种联盟链的数据处理方法,应用于联盟链中,所述联盟链包括:至少一个业务系统,每个业务系统对应至少一个本地节点、以及一个后备节点,所述方法包括:
第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将所述第一备份请求发送至所述后备节点,所述第一备份请求包括:所述第一本地节点对应的第一备份区块列表、以及第一备份区块列表中各区块所对应的交易数据;所述第一本地节点为业务系统对应的至少一个本地节点中的当前正在处理数据备份的本地节点;
所述后备节点根据所述第一备份请求进行数据备份,并在数据备份完成后发送处理响应;
所述第一本地节点接收所述处理响应,并从本地数据库中删除所述第一备份请求中的数据。
可选地,所述第一本地节点接收所述处理响应,并从本地数据库中删除所述第一备份请求中的数据之后,所述方法还包括:
所述后备节点接收第二本地节点发送的第二备份请求,所述第二备份请求包括:所述第二本地节点对应的第二备份区块列表、以及第二备份区块列表中各区块所对应的交易数据,所述第二本地节点为在所述第一本地节点处理结束之后,当前正在处理数据备份的本地节点;
所述后备节点根据所述第二备份请求、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表;
所述后备节点将所述新的第二备份区块列表中各区块、以及各区块对应的交易数据写入所述后备节点中;
所述后备节点更新所述当前最高区块高度值。
可选地,所述后备节点根据所述第二备份请求、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表,包括:
所述后备节点根据所述第二备份请求中包括的第二备份区块列表中各区块的区块高度值、以及所述当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表。
可选地,所述后备节点根据所述第二备份请求中包括的第二备份区块列表中各区块的区块高度值、以及所述当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表,包括:
所述后备节点将区块高度值小于所述当前所备份的区块数据中最高区块高度值的区块从所述第二备份区块列表中删除,得到新的第二备份区块列表。
可选地,所述后备节点将所述新的第二备份区块列表中各区块、以及各区块对应的交易数据写入所述后备节点中之后,所述方法还包括:
所述后备节点向所述第二本地节点发送处理响应;
所述第二本地节点接收所述处理响应,并从本地数据库中删除所述第二备份请求中的数据。
可选地,所述第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将所述第一备份请求发送至所述后备节点之前,所述方法还包括:
所述第一本地节点按照预设间隔时间向所述后备节点发送最新备份块高请求,所述最新备份块高请求用于请求获取所述后备节点当前所备份的区块数据中最高区块高度值;
所述第一本地节点接收所述后备节点发送的所述后备节点当前所备份的区块数据中最高区块高度值。
可选地,所述第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求,包括:
所述第一本地节点判断本地当前所对应的目标区块高度值是否大于所述后备节点当前所备份的区块数据中最高区块高度值,所述目标区块高度值根据所述本地当前所共识的最新区块高度值确定;
若是,则根据处于所述后备节点当前所备份的区块数据中最高区块高度值、以及所述目标区块高度值之间的所有区块高度值对应的区块,生成所述第一备份区块列表,所述第一备份区块列表中包括至少一个区块;
根据所述第一备份区块列表、以及获取的所述第一备份区块列表中各区块所对应的交易数据,生成所述第一备份请求。
可选地,所述第一本地节点判断本地当前所对应的目标区块高度值是否大于所述后备节点当前所备份的区块数据中最高区块高度值之前,所述方法还包括:
所述第一本地节点根据所述本地当前所共识的最新区块高度值、以及预设参数,确定所述目标区块高度值,所述预设参数用于表征所述第一本地节点所存储的区块的数量。
可选地,所述后备节点根据所述第一备份请求进行数据备份,包括:
所述后备节点根据所述第一备份请求,将所述第一备份区块列表中所包括的各区块、以及各区块所对应的交易数据写入所述后备节点中。
可选地,所述第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将所述第一备份请求发送至所述后备节点之前,所述方法还包括:
禁止所述业务系统中除所述第一本地节点之外的本地节点向所述后备节点发送备份请求。
可选地,所述后备节点接收第二本地节点发送的第二备份请求之前,所述方法还包括:
禁止所述业务系统中除所述第二本地节点之外的本地节点向所述后备节点发送备份请求。
第二方面,本申请实施例还提供了一种联盟链的数据处理装置,应用于联盟链中,所述联盟链包括:至少一个业务系统,每个业务系统对应至少一个本地节点、以及一个后备节点,所述装置包括:生成模块、处理模块、删除模块;
所述生成模块,用于第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将所述第一备份请求发送至所述后备节点,所述第一备份请求包括:所述第一本地节点对应的第一备份区块列表、以及第一备份区块列表中各区块所对应的交易数据;所述第一本地节点为业务系统对应的至少一个本地节点中的当前正在处理数据备份的本地节点;
所述处理模块,用于所述后备节点根据所述第一备份请求进行数据备份,并在数据备份完成后发送处理响应;
所述删除模块,用于所述第一本地节点接收所述处理响应,并从本地数据库中删除所述第一备份请求中的数据。
可选地,所述装置还包括:接收模块、确定模块、写入模块、更新模块;
所述接收模块,用于所述后备节点接收第二本地节点发送的第二备份请求,所述第二备份请求包括:所述第二本地节点对应的第二备份区块列表、以及第二备份区块列表中各区块所对应的交易数据,所述第二本地节点为在所述第一本地节点处理结束之后,当前正在处理数据备份的本地节点;
所述确定模块,用于所述后备节点根据所述第二备份请求、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表;
所述写入模块,用于所述后备节点将所述新的第二备份区块列表中各区块、以及各区块对应的交易数据写入所述后备节点中;
所述更新模块,用于所述后备节点更新所述当前最高区块高度值。
可选地,所述确定模块,具体用于所述后备节点根据所述第二备份请求中包括的第二备份区块列表中各区块的区块高度值、以及所述当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表。
可选地,所述确定模块,具体用于所述后备节点将区块高度值小于所述当前所备份的区块数据中最高区块高度值的区块从所述第二备份区块列表中删除,得到新的第二备份区块列表。
可选地,所述装置还包括:发送模块;
所述发送模块,用于所述后备节点向所述第二本地节点发送处理响应;
所述删除模块,还用于所述第二本地节点接收所述处理响应,并从本地数据库中删除所述第二备份请求中的数据。
可选地,所述发送模块,还用于所述第一本地节点按照预设间隔时间向所述后备节点发送最新备份块高请求,所述最新备份块高请求用于请求获取所述后备节点当前所备份的区块数据中最高区块高度值;
所述接收模块,还用于所述第一本地节点接收所述后备节点发送的所述后备节点当前所备份的区块数据中最高区块高度值。
可选地,所述生成模块,具体用于所述第一本地节点判断本地当前所对应的目标区块高度值是否大于所述后备节点当前所备份的区块数据中最高区块高度值,所述目标区块高度值根据所述本地当前所共识的最新区块高度值确定;若是,则根据处于所述后备节点当前所备份的区块数据中最高区块高度值、以及所述目标区块高度值之间的所有区块高度值对应的区块,生成所述第一备份区块列表,所述第一备份区块列表中包括至少一个区块;根据所述第一备份区块列表、以及获取的所述第一备份区块列表中各区块所对应的交易数据,生成所述第一备份请求。
可选地,所述确定模块,还用于所述第一本地节点根据所述本地当前所共识的最新区块高度值、以及预设参数,确定所述目标区块高度值,所述预设参数用于表征所述第一本地节点所存储的区块的数量。
可选地,所述处理模块,具体用于所述后备节点根据所述第一备份请求,将所述第一备份区块列表中所包括的各区块、以及各区块所对应的交易数据写入所述后备节点中。
可选地,所述装置还包括:授权模块;
所述授权模块,用于禁止所述业务系统中除所述第一本地节点之外的本地节点向所述后备节点发送备份请求。
可选地,所述授权模块,还用于禁止所述业务系统中除所述第二本地节点之外的本地节点向所述后备节点发送备份请求。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如第一方面中提供的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面提供的方法的步骤。
本申请的有益效果是:
本申请提供一种联盟链的数据处理方法、装置、电子设备及存储介质,该方法包括:第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将第一备份请求发送至后备节点;后备节点根据第一备份请求进行数据备份,并在数据备份完成后发送处理响应;第一本地节点接收处理响应,并从本地数据库中删除第一备份请求中的数据。本方案中,本地节点可通过向后备节点发起备份请求,以将存储在本地节点中的区块数据备份至后备节点中,从而可将已备份的数据从本地节点中删除。通过后备节点的加入,可以无限的扩大数据存储空间,有效缓解了本地节点进行数据存储而导致数据存储空间不足的问题,提高了联盟链的数据处理性能。
另外,通过对当前执行数据备份处理的本地节点进行加锁处理,可以保证数据备份处理的有序性,提高数据备份处理的效率和精确性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种联盟链的架构示意图;
图2为本申请实施例提供的联盟链的数据处理方法的流程示意图一;
图3为本申请实施例提供的联盟链的数据处理方法的流程示意图二;
图4为本申请实施例提供的联盟链的数据处理方法的流程示意图三;
图5为本申请实施例提供的联盟链的数据处理方法的流程示意图四;
图6为本申请实施例提供的联盟链的数据处理方法的流程示意图五;
图7为本申请实施例提供的一种联盟链的数据处理装置的示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
图1为本申请实施例提供的一种联盟链的架构示意图;本申请所提供的联盟链的数据处理方法可应用于该联盟链中,如图1所示,该联盟链可包括:至少一个业务系统(例如:业务系统1、业务系统2、业务系统3),每个业务系统对应部署有至少一个本地节点,图中仅示例性的列举了业务系统1对应1个本地节点(本地节点1-1),业务系统2对应3个本地节点(本地节点2-1、本地节点2-2、本地节点2-3),业务系统3对应2个本地节点(本地节点3-1、本地节点3-2),在实际应用中,每个业务系统通常会部署5-7个本地节点,另外,每个业务系统还对应部署有一个后备节点,例如:业务系统1对应后备节点1,业务系统2对应后备节点2,业务系统3对应后备节点3。
可选地,在本申请所提供的联盟链中,各业务系统的本地节点均用于存储节点的全量账户状态值、以及最新共识的最近N个区块、以及各区块所对应的交易数据,其中交易数据可包括:交易流水以及交易回执。各业务系统的本地节点数据达成共识,存储有相同的数据。
而各业务系统的后备节点用于在本地节点的备份请求下对本业务系统的本地节点所共识的区块以及区块所对应的交易数据进行数据备份,以减轻本地节点存储数据的压力,备份完成的数据则可以从本地节点中进行删除,从而保证本地节点在任何时刻只存储少量的区块数据即可,从而解决了本地节点数据存储空间不足的问题。
如下通过多个具体的实施例对本申请的方法进行说明。
图2为本申请实施例提供的联盟链的数据处理方法的流程示意图一;如图2所示,本申请的方法可包括:
S201、第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将第一备份请求发送至后备节点。
其中,第一备份请求包括:第一本地节点对应的第一备份区块列表、以及第一备份区块列表中各区块所对应的交易数据;第一本地节点为业务系统对应的至少一个本地节点中的当前正在处理数据备份的本地节点。
如上述所说的,业务系统中可包括至少一个本地节点,第一本地节点可以为当前正在处理数据备份的本地节点。通常,当联盟链中有新的区块生成时,每个业务系统的本地节点均可进行区块共识,以将新生成的区块中所包含的交易数据等存储在本地节点中。
业务系统中的数据交易是不断进行的,随着数据交易的持续进行,业务系统中本地节点的数据共识也是不断进行的。可选地,第一本地节点可确定本地当前所共识的最新区块高度值,其中,区块高度值也可以理解为区块的编号,区块的高度值是随着区块的不断生成而按序增加的,最新区块高度值也即当前所共识的区块所对应的编号,例如,当前正在被第一本地节点共识的区块为区块100,则最新区块高度值可以为100。同样的,随着后备节点不断的进行数据备份,其所备份的区块的区块高度值也是不断增加的,可获取后备节点当前所备份的区块数据中最高区块高度值,其中,最高区块高度值可以指在所备份的所有区块数据中,区块高度值最大的区块所对应的编号,例如:所备份的所有区块数据包括区块10-20,则最高区块高度值可以为20。此处,后备节点指的是与第一本地节点同属于一个业务系统的后备节点。
可选地,第一本地节点可根据本地当前所共识的最新区块高度值、以及后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求。其中,第一备份请求中包括的第一本地节点对应的第一备份区块列表可以指第一本地节点在向后备节点发起第一备份请求时,第一本地节点当前所需求后备节点进行备份的区块所构成的区块列表。各区块对应的交易数据可包括:交易流水、交易回执,其中,交易流程可以例如:A向B转账X元,也即具体的交易明细,交易回执可以指交易后产生的交易结果。
S202、后备节点根据第一备份请求进行数据备份,并在数据备份完成后发送处理响应。
可选地,后备节点在接收到第一备份请求后,则会根据第一备份请求中所包含的数据,进行数据备份,并在数据备份处理完成后,向第一本地节点发送处理响应。其中,可以是向第一本地节点发送预设通知信息,以告知第一本地节点数据备份完成。
S203、第一本地节点接收处理响应,并从本地数据库中删除第一备份请求中的数据。
在一些实施例中,第一本地节点接收到处理响应后,确定后备节点已完成了数据备份,则可通过数据存储服务删除存储至本地数据库中的第一备份请求中请求备份的所有相关数据,包括删除第一备份区块列表、以及第一备份区块列表中各区块所对应的交易数据,从而可大大减少第一本地节点的数据存储量。
综上,本实施例提供的联盟链的数据处理方法,包括:第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将第一备份请求发送至后备节点;后备节点根据第一备份请求进行数据备份,并在数据备份完成后发送处理响应;第一本地节点接收处理响应,并从本地数据库中删除第一备份请求中的数据。本方案中,本地节点可通过向后备节点发起备份请求,以将存储在本地节点中的区块数据备份至后备节点中,从而可将已备份的数据从本地节点中删除。通过后备节点的加入,可以无限的扩大数据存储空间,有效缓解了本地节点进行数据存储而导致数据存储空间不足的问题,提高了联盟链的数据处理性能。
图3为本申请实施例提供的联盟链的数据处理方法的流程示意图二;可选地,步骤S203中,第一本地节点接收处理响应,并从本地数据库中删除第一备份请求中的数据之后,本申请的方法还可包括:
S301、后备节点接收第二本地节点发送的第二备份请求。
其中,第二备份请求包括:第二本地节点对应的第二备份区块列表、以及第二备份区块列表中各区块所对应的交易数据,第二本地节点为在第一本地节点处理结束之后,当前正在处理数据备份的本地节点。
可选地,第二本地节点指的是与第一本地节点同属于一个业务系统的除第一本地节点之外的其他本地节点。可将在第一本地节点之后进行数据备份处理的本地节点称为第二本地节点。例如图1中的业务系统2,其包括三个本地节点,假设本地节点2-1先向后备节点2发起备份请求以请求备份数据,在整个数据备份结束后,本地节点2-2又向后备节点2发起备份请求以请求备份数据,则本地节点2-1可以理解为上述的第一本地节点,本地节点2-2可以理解为上述的第二本地节点。
可选地,由于在第一本地节点处理数据备份的过程中,业务系统中依然会有新的交易的进行,则会有新的区块的生成,也即,在第一本地节点处理数据备份的过程中,第二本地节点依然会不断的进行区块的共识,这样,当第二本地节点发送第二备份请求时,第二本地节点当前所共识的最新区块高度值是大于第一本地节点发送第一备份请求时第一本地节点当前所共识的最新区块高度值,从而使得第二备份请求中第二备份区块列表所包括的区块是多于第一备份请求中第一备份区块列表所包括的区块的。
S302、后备节点根据第二备份请求、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表。
基于上述的分析,第二备份请求中请求备份的数据会包括第一备份请求所请求备份的数据,且会多于第一备份请求所请求备份的数据,那么,可以根据当前所备份的区块数据中最高区块高度值,对第二备份请求中的第二备份区块列表进行调整,以确定新的第二备份区块列表。
S303、后备节点将新的第二备份区块列表中各区块、以及各区块对应的交易数据写入后备节点中。
可选地,后备节点可仅对新的第二备份区块列表所包含的各区块、以及各区块对应的交易数据进行备份,以避免数据的重复备份,同时还可提高数据备份效率。
S304、后备节点更新当前最高区块高度值。
在一些实施例中,后备节点在完成数据备份后,则可将当前所备份的最高区块高度值进行更新,以保证当前最高区块高度值的准确性。其中,可以是将当前所备份的最高区块高度值更新为新的第二备份区块列表中最大区块的区块高度值。
可选地,步骤S302中,后备节点根据第二备份请求、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表,可以包括:后备节点根据第二备份请求中包括的第二备份区块列表中各区块的区块高度值、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表。
在一种可实现的方式中,可将第二备份区块列表中包括的各区块的区块高度值与后备节点当前所备份的区块数据中最高区块高度值进行比对,以对第二备份区块列表的区块进行调整,确定新的第二备份区块列表。
可选地,上述步骤,后备节点根据第二备份请求中包括的第二备份区块列表中各区块的区块高度值、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表,可以包括:后备节点将区块高度值小于当前所备份的区块数据中最高区块高度值的区块从第二备份区块列表中删除,得到新的第二备份区块列表。
举例说明:假设第一本地节点发送的第一备份区块列表中包括区块50-90,也即后备节点需要对第一本地节点所共识的区块50-90的相关数据进行备份,在备份结束后,后备节点当前所备份的区块数据中最高区块高度值为90,而由于第二本地节点在第一本地节点请求数据备份的过程中又共识了新的区块,第二本地节点发送的第二备份区块列表中包括的区块则可能变为50-93,也即第二本地节点新共识了三个区块,这样,由于区块50-90的相关数据已被后备节点备份,则针对第二本地节点所发起的第二备份请求,后备节点只需对区块91-93的相关数据进行备份即可,而无需对区块50-90的相关数据进行重复备份,那么,则可以将第二备份区块列表中区块50-93的区块高度值50-93分别与后备节点当前所备份的区块数据中最高区块高度值90进行比对,第二备份区块列表中区块的区块高度值小于90的区块进行删除,从而得到的新的第二备份区块列表中仅包括区块91-93。
基于上述得到的新的第二备份区块列表,后备节点针对第二本地节点发送的第二备份请求的处理则可以为仅将区块91-93的相关数据进行备份,写入后备节点中,从而有效的避免了数据的重复备份所带来的处理效率的降低。
图4为本申请实施例提供的联盟链的数据处理方法的流程示意图三;可选地,后备节点将新的第二备份区块列表中各区块、以及各区块对应的交易数据写入后备节点中之后,方法还包括:
S401、后备节点向第二本地节点发送处理响应。
与对第一本地节点的处理类似,后备节点针对第二备份请求进行数据备份结束后,会向第二本地节点发送处理响应,以告知第二本地节点数据备份结束。
S402、第二本地节点接收处理响应,并从本地数据库中删除第二备份请求中的数据。
可选地,第二本地节点在接收到处理响应后,则可从本地数据库中删除第二备份请求中的数据。
此处需要说明的是,虽然针对第二本地节点的第二备份请求,备份的为新的第二备份区块列表中各区块的数据,但是,在对第二本地节点本地数据库中的已备份数据进行删除时,还是针对第二备份请求进行删除,也即是将第二备份区块列表中所有区块的数据进行删除,而并非仅删除新的第二备份区块列表中各区块的数据。
如下将通过几个实施例对第一本地节点与后备节点之间的处理流程进行详细说明,对于第二本地节点或者是其他任意的本地节点的处理均与其类似,可不再赘述。
图5为本申请实施例提供的联盟链的数据处理方法的流程示意图四;可选地,步骤S201中,第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将第一备份请求发送至后备节点之前,本申请的方法还可包括:
S501、第一本地节点按照预设间隔时间向后备节点发送最新备份块高请求,最新备份块高请求用于请求获取后备节点当前所备份的区块数据中最高区块高度值。
在一种可实现的方式中,本地节点向后备节点发起备份请求时,可以是作为一个定时任务执行的,从而可以不断的对新共识的区块数据进行备份。
可选地,第一本地节点可按照预设间隔时间向后备节点发送最新备份块高请求,以请求获取后备节点当前所备份的区块数据中最高区块高度值,最高区块高度值用于后续第一备份请求的生成。
S502、第一本地节点接收后备节点发送的后备节点当前所备份的区块数据中最高区块高度值。
可选地,后备节点可根据接收的最新备份块高请求,向第一本地节点返回当前所备份的区块数据中最高区块高度值,第一本地节点进行接收。
图6为本申请实施例提供的联盟链的数据处理方法的流程示意图五;可选地,步骤S201中,第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求,可以包括:
S601、第一本地节点判断本地当前所对应的目标区块高度值是否大于后备节点当前所备份的区块数据中最高区块高度值,目标区块高度值根据本地当前所共识的最新区块高度值确定。
可选地,在进行数据备份的过程中,为了减少从第一本地节点中获取需要备份的区块数据的次数,第一本地节点在任意时刻仅存储预设数量的区块的相关数据,例如存储最近新共识的N个区块的相关数据,这样,需要备份的区块则可以根据第一本地节点本地所共识的最新区块高度值和N进行确定。
例如:假设第一本地节点本地所共识的最新区块高度值为100,上述的N预设为10,则第一本地节点的第一备份区块列表中需要备份的区块最大值可以为90。也即上述的目标区块高度值设定为90。
可选地,可判断目标区块高度值是否大于后备节点当前所备份的区块数据中最高区块高度值,当目标区块高度值小于或等于后备节点当前所备份的区块数据中最高区块高度值时,也即没有新的区块数据需要备份,则不生成第一备份请求。
S602、若是,则根据处于后备节点当前所备份的区块数据中最高区块高度值、以及目标区块高度值之间的所有区块高度值对应的区块,生成第一备份区块列表,第一备份区块列表中包括至少一个区块。
而当目标区块高度值大于后备节点当前所备份的区块数据中最高区块高度值时,则可将处于后备节点所备份的区块数据中最高区块高度值、以及目标区块高度值之间的所有区块高度值对应的区块,作为需要备份的区块,从而生成第一备份区块列表。
假设后备节点所备份的区块数据中最高区块高度值为50,目标区块高度值为90,则生成的第一备份区块列表中可包括区块51-90,也即第一本地节点请求后备节点对所共识的区块51-90的相关数据进行备份。
S603、根据第一备份区块列表、以及获取的第一备份区块列表中各区块所对应的交易数据,生成第一备份请求。
可选地,可根据上述得到的第一备份区块列表,以及从第一本地节点中获取的第一备份区块列表中所包含的各区块所对应的交易数据,生成第一备份请求,从而请求对第一备份区块列表、以及列表中各区块对应的交易数据进行备份,并在备份结束后,从第一本地节点中将第一备份区块列表、以及列表中各区块对应的交易数据进行删除。
可选地,步骤S601中,第一本地节点判断本地当前所对应的目标区块高度值是否大于后备节点当前所备份的区块数据中最高区块高度值之前,本申请的方法还可包括:第一本地节点根据本地当前所共识的最新区块高度值、以及预设参数,确定目标区块高度值,预设参数用于表征第一本地节点所存储的区块的数量。
如上述所说明的,预设参数可以指上述的参数N,其可以是预先设置的,允许第一本地节点所存储的区块的数量,其可以根据具体的实际情况进行确定。
可选地,可将第一本地节点本地当前所共识的最新区块高度值与预设参数的差值作为目标区块高度值,当然并不限于该种计算方式。
可选地,步骤S202中,后备节点根据第一备份请求进行数据备份,可以包括:后备节点根据第一备份请求,将第一备份区块列表中所包括的各区块、以及各区块所对应的交易数据写入后备节点中,从而实现对第一本地节点的存储数据的备份。
可选地,步骤S201中,第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将第一备份请求发送至后备节点之前,本申请的方法还可包括:禁止业务系统中除第一本地节点之外的本地节点向后备节点发送备份请求。
可选地,本实施例中,当第一本地节点执行数据备份处理时,可对第一本地节点的应用进程进行加锁,也即禁止同一业务系统中除第一本地节点之外的其他本地节点向后备节点发送备份请求,以保证同一时刻仅有一个本地节点进行数据备份的处理,以避免其他本地节点抢占进程,造成处理的混乱以及处理效率的降低。
其中,加锁处理可以是对第一本地节点对应的应用进程添加全局锁变量,或者通过设置锁标志的形式实现,具体加锁的实现可参照现有的加锁方式,此处不再详细说明。
当第一本地节点处理结束后,则可释放锁,以使得下一个进行处理的本地节点获取锁并进行数据备份处理。
可选地,步骤S301中,后备节点接收第二本地节点发送的第二备份请求之前,本申请的方法还可包括:禁止业务系统中除第二本地节点之外的本地节点向后备节点发送备份请求。
与上述的处理类似,在第二本地节点处理数据备份时,也同样会对第二本地节点所在的进程进行加锁,禁止除第二本地节点之外的本地节点向后备节点发送备份请求。
综上,本申请实施例提供一种联盟链的数据处理方法,包括:第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将第一备份请求发送至后备节点;后备节点根据第一备份请求进行数据备份,并在数据备份完成后发送处理响应;第一本地节点接收处理响应,并从本地数据库中删除第一备份请求中的数据。本方案中,本地节点可通过向后备节点发起备份请求,以将存储在本地节点中的区块数据备份至后备节点中,从而可将已备份的数据从本地节点中删除。通过后备节点的加入,可以无限的扩大数据存储空间,有效缓解了本地节点进行数据存储而导致数据存储空间不足的问题,提高了联盟链的数据处理性能。
另外,通过对当前执行数据备份处理的本地节点进行加锁处理,可以保证数据备份处理的有序性,提高数据备份处理的效率和精确性。
下述对用以执行本申请所提供的联盟链的数据处理方法的装置、电子设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图7为本申请实施例提供的一种联盟链的数据处理装置的示意图,该联盟链的数据处理装置实现的功能对应上述方法执行的步骤。该装置可以理解为联盟链中的服务器,或服务器的处理器,也可以理解为独立于上述服务器或处理器之外的在服务器控制下实现本申请功能的组件,如图7所示,该装置可包括:生成模块710、处理模块720、删除模块730;
生成模块710,用于第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将第一备份请求发送至后备节点,第一备份请求包括:第一本地节点对应的第一备份区块列表、以及第一备份区块列表中各区块所对应的交易数据;第一本地节点为业务系统对应的至少一个本地节点中的当前正在处理数据备份的本地节点;
处理模块720,用于后备节点根据第一备份请求进行数据备份,并在数据备份完成后发送处理响应;
删除模块730,用于第一本地节点接收处理响应,并从本地数据库中删除第一备份请求中的数据。
可选地,该装置还包括:接收模块、确定模块、写入模块、更新模块;
接收模块,用于后备节点接收第二本地节点发送的第二备份请求,第二备份请求包括:第二本地节点对应的第二备份区块列表、以及第二备份区块列表中各区块所对应的交易数据,第二本地节点为在第一本地节点处理结束之后,当前正在处理数据备份的本地节点;
确定模块,用于后备节点根据第二备份请求、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表;
写入模块,用于后备节点将新的第二备份区块列表中各区块、以及各区块对应的交易数据写入后备节点中;
更新模块,用于后备节点更新当前最高区块高度值。
可选地,确定模块,具体用于后备节点根据第二备份请求中包括的第二备份区块列表中各区块的区块高度值、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表。
可选地,确定模块,具体用于后备节点将区块高度值小于当前所备份的区块数据中最高区块高度值的区块从第二备份区块列表中删除,得到新的第二备份区块列表。
可选地,该装置还包括:发送模块;
发送模块,用于后备节点向第二本地节点发送处理响应;
删除模块,还用于第二本地节点接收处理响应,并从本地数据库中删除第二备份请求中的数据。
可选地,发送模块,还用于第一本地节点按照预设间隔时间向后备节点发送最新备份块高请求,最新备份块高请求用于请求获取后备节点当前所备份的区块数据中最高区块高度值;
接收模块,还用于第一本地节点接收后备节点发送的后备节点当前所备份的区块数据中最高区块高度值。
可选地,生成模块710,具体用于第一本地节点判断本地当前所对应的目标区块高度值是否大于后备节点当前所备份的区块数据中最高区块高度值,目标区块高度值根据本地当前所共识的最新区块高度值确定;若是,则根据处于后备节点当前所备份的区块数据中最高区块高度值、以及目标区块高度值之间的所有区块高度值对应的区块,生成第一备份区块列表,第一备份区块列表中包括至少一个区块;根据第一备份区块列表、以及获取的第一备份区块列表中各区块所对应的交易数据,生成第一备份请求。
可选地,确定模块,还用于第一本地节点根据本地当前所共识的最新区块高度值、以及预设参数,确定目标区块高度值,预设参数用于表征第一本地节点所存储的区块的数量。
可选地,处理模块720,具体用于后备节点根据第一备份请求,将第一备份区块列表中所包括的各区块、以及各区块所对应的交易数据写入后备节点中。
可选地,该装置还包括:授权模块;
授权模块,用于禁止业务系统中除第一本地节点之外的本地节点向后备节点发送备份请求。
可选地,授权模块,还用于禁止业务系统中除第二本地节点之外的本地节点向后备节点发送备份请求。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。
需要说明的是,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-on-a-chip,简称SOC)的形式实现。
图8为本申请实施例提供的一种电子设备的结构示意图,该设备可以是具备数据处理功能的计算设备。
该设备可包括:处理器801、存储器802。
存储器802用于存储程序,处理器801调用存储器802存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
其中,存储器802存储有程序代码,当程序代码被处理器801执行时,使得处理器801执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的方法中的各种步骤。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (14)
1.一种联盟链的数据处理方法,其特征在于,应用于联盟链中,所述联盟链包括:至少一个业务系统,每个业务系统对应至少一个本地节点、以及一个后备节点,所述方法包括:
第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将所述第一备份请求发送至所述后备节点,所述第一备份请求包括:所述第一本地节点对应的第一备份区块列表、以及第一备份区块列表中各区块所对应的交易数据;所述第一本地节点为业务系统对应的至少一个本地节点中的当前正在处理数据备份的本地节点;
所述后备节点根据所述第一备份请求进行数据备份,并在数据备份完成后发送处理响应;
所述第一本地节点接收所述处理响应,并从本地数据库中删除所述第一备份请求中的数据。
2.根据权利要求1所述的方法,其特征在于,所述第一本地节点接收所述处理响应,并从本地数据库中删除所述第一备份请求中的数据之后,所述方法还包括:
所述后备节点接收第二本地节点发送的第二备份请求,所述第二备份请求包括:所述第二本地节点对应的第二备份区块列表、以及第二备份区块列表中各区块所对应的交易数据,所述第二本地节点为在所述第一本地节点处理结束之后,当前正在处理数据备份的本地节点;
所述后备节点根据所述第二备份请求、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表;
所述后备节点将所述新的第二备份区块列表中各区块、以及各区块对应的交易数据写入所述后备节点中;
所述后备节点更新所述当前最高区块高度值。
3.根据权利要求2所述的方法,其特征在于,所述后备节点根据所述第二备份请求、以及当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表,包括:
所述后备节点根据所述第二备份请求中包括的第二备份区块列表中各区块的区块高度值、以及所述当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表。
4.根据权利要求3所述的方法,其特征在于,所述后备节点根据所述第二备份请求中包括的第二备份区块列表中各区块的区块高度值、以及所述当前所备份的区块数据中最高区块高度值,确定新的第二备份区块列表,包括:
所述后备节点将区块高度值小于所述当前所备份的区块数据中最高区块高度值的区块从所述第二备份区块列表中删除,得到新的第二备份区块列表。
5.根据权利要求2-4任一所述的方法,其特征在于,所述后备节点将所述新的第二备份区块列表中各区块、以及各区块对应的交易数据写入所述后备节点中之后,所述方法还包括:
所述后备节点向所述第二本地节点发送处理响应;
所述第二本地节点接收所述处理响应,并从本地数据库中删除所述第二备份请求中的数据。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将所述第一备份请求发送至所述后备节点之前,所述方法还包括:
所述第一本地节点按照预设间隔时间向所述后备节点发送最新备份块高请求,所述最新备份块高请求用于请求获取所述后备节点当前所备份的区块数据中最高区块高度值;
所述第一本地节点接收所述后备节点发送的所述后备节点当前所备份的区块数据中最高区块高度值。
7.根据权利要求6所述的方法,其特征在于,所述第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求,包括:
所述第一本地节点判断本地当前所对应的目标区块高度值是否大于所述后备节点当前所备份的区块数据中最高区块高度值,所述目标区块高度值根据所述本地当前所共识的最新区块高度值确定;
若是,则根据处于所述后备节点当前所备份的区块数据中最高区块高度值、以及所述目标区块高度值之间的所有区块高度值对应的区块,生成所述第一备份区块列表,所述第一备份区块列表中包括至少一个区块;
根据所述第一备份区块列表、以及获取的所述第一备份区块列表中各区块所对应的交易数据,生成所述第一备份请求。
8.根据权利要求7所述的方法,其特征在于,所述第一本地节点判断本地当前所对应的目标区块高度值是否大于所述后备节点当前所备份的区块数据中最高区块高度值之前,所述方法还包括:
所述第一本地节点根据所述本地当前所共识的最新区块高度值、以及预设参数,确定所述目标区块高度值,所述预设参数用于表征所述第一本地节点所存储的区块的数量。
9.根据权利要求7所述的方法,其特征在于,所述后备节点根据所述第一备份请求进行数据备份,包括:
所述后备节点根据所述第一备份请求,将所述第一备份区块列表中所包括的各区块、以及各区块所对应的交易数据写入所述后备节点中。
10.根据权利要求1所述的方法,其特征在于,所述第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将所述第一备份请求发送至所述后备节点之前,所述方法还包括:
禁止所述业务系统中除所述第一本地节点之外的本地节点向所述后备节点发送备份请求。
11.根据权利要求2所述的方法,其特征在于,所述后备节点接收第二本地节点发送的第二备份请求之前,所述方法还包括:
禁止所述业务系统中除所述第二本地节点之外的本地节点向所述后备节点发送备份请求。
12.一种联盟链的数据处理装置,其特征在于,应用于联盟链中,所述联盟链包括:至少一个业务系统,每个业务系统对应至少一个本地节点、以及一个后备节点,所述装置包括:生成模块、处理模块、删除模块;
所述生成模块,用于第一本地节点根据本地当前所共识的最新区块高度值、以及接收的后备节点当前所备份的区块数据中最高区块高度值,生成第一备份请求并将所述第一备份请求发送至所述后备节点,所述第一备份请求包括:所述第一本地节点对应的第一备份区块列表、以及第一备份区块列表中各区块所对应的交易数据;所述第一本地节点为业务系统对应的至少一个本地节点中的当前正在处理数据备份的本地节点;
所述处理模块,用于所述后备节点根据所述第一备份请求进行数据备份,并在数据备份完成后发送处理响应;
所述删除模块,用于所述第一本地节点接收所述处理响应,并从本地数据库中删除所述第一备份请求中的数据。
13.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至11任一所述的方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至11任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110772580.6A CN113505024B (zh) | 2021-07-08 | 2021-07-08 | 联盟链的数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110772580.6A CN113505024B (zh) | 2021-07-08 | 2021-07-08 | 联盟链的数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505024A true CN113505024A (zh) | 2021-10-15 |
CN113505024B CN113505024B (zh) | 2024-02-23 |
Family
ID=78011626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110772580.6A Active CN113505024B (zh) | 2021-07-08 | 2021-07-08 | 联盟链的数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505024B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109308233A (zh) * | 2017-07-28 | 2019-02-05 | 中兴通讯股份有限公司 | 数据备份方法、装置及系统 |
CN116701064A (zh) * | 2023-08-08 | 2023-09-05 | 芯知科技(江苏)有限公司 | 移动设备丢失数据处理方法及系统 |
CN117667515A (zh) * | 2023-12-08 | 2024-03-08 | 广州鼎甲计算机科技有限公司 | 主备集群的备份管理方法、装置、计算机设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514173A (zh) * | 2012-06-20 | 2014-01-15 | 华为技术有限公司 | 数据处理的方法和节点设备 |
CN108805570A (zh) * | 2018-06-01 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及存储介质 |
CN108985757A (zh) * | 2017-11-27 | 2018-12-11 | 北京京东金融科技控股有限公司 | 信息处理方法、装置及系统、存储介质、电子设备 |
CN109032837A (zh) * | 2018-06-15 | 2018-12-18 | 华为技术有限公司 | 数据备份的方法和装置 |
CN109189853A (zh) * | 2018-08-08 | 2019-01-11 | 众安信息技术服务有限公司 | 一种区块链之间数据同步方法与装置 |
CN109299336A (zh) * | 2018-09-30 | 2019-02-01 | 腾讯科技(深圳)有限公司 | 数据备份方法、装置、存储介质及计算设备 |
CN109325854A (zh) * | 2018-08-16 | 2019-02-12 | 北京京东尚科信息技术有限公司 | 区块链网络、部署方法及存储介质 |
KR102182142B1 (ko) * | 2019-12-26 | 2020-11-24 | 주식회사 록스307 | 신뢰성 향상을 위한 가중치 기반의 블록체인 네트워크 구성 방법 및 장치 |
CN111984295A (zh) * | 2020-08-22 | 2020-11-24 | 暗链科技(深圳)有限公司 | 一种区块链软件全网更新方法、存储介质及电子设备 |
CN112118239A (zh) * | 2020-09-03 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 区块链共识方法及装置、电子设备、存储介质 |
CN112767152A (zh) * | 2021-01-18 | 2021-05-07 | 中国工商银行股份有限公司 | 应用于联盟链的双园区灾备系统及方法 |
US20210184780A1 (en) * | 2018-06-29 | 2021-06-17 | Beijing Kingsoft Internet Security Software Co., Ltd. | Blockchain node synchronization method and device using trust mechanism |
-
2021
- 2021-07-08 CN CN202110772580.6A patent/CN113505024B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514173A (zh) * | 2012-06-20 | 2014-01-15 | 华为技术有限公司 | 数据处理的方法和节点设备 |
CN108985757A (zh) * | 2017-11-27 | 2018-12-11 | 北京京东金融科技控股有限公司 | 信息处理方法、装置及系统、存储介质、电子设备 |
CN108805570A (zh) * | 2018-06-01 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及存储介质 |
CN109032837A (zh) * | 2018-06-15 | 2018-12-18 | 华为技术有限公司 | 数据备份的方法和装置 |
US20210184780A1 (en) * | 2018-06-29 | 2021-06-17 | Beijing Kingsoft Internet Security Software Co., Ltd. | Blockchain node synchronization method and device using trust mechanism |
CN109189853A (zh) * | 2018-08-08 | 2019-01-11 | 众安信息技术服务有限公司 | 一种区块链之间数据同步方法与装置 |
CN109325854A (zh) * | 2018-08-16 | 2019-02-12 | 北京京东尚科信息技术有限公司 | 区块链网络、部署方法及存储介质 |
CN109299336A (zh) * | 2018-09-30 | 2019-02-01 | 腾讯科技(深圳)有限公司 | 数据备份方法、装置、存储介质及计算设备 |
KR102182142B1 (ko) * | 2019-12-26 | 2020-11-24 | 주식회사 록스307 | 신뢰성 향상을 위한 가중치 기반의 블록체인 네트워크 구성 방법 및 장치 |
CN111984295A (zh) * | 2020-08-22 | 2020-11-24 | 暗链科技(深圳)有限公司 | 一种区块链软件全网更新方法、存储介质及电子设备 |
CN112118239A (zh) * | 2020-09-03 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 区块链共识方法及装置、电子设备、存储介质 |
CN112767152A (zh) * | 2021-01-18 | 2021-05-07 | 中国工商银行股份有限公司 | 应用于联盟链的双园区灾备系统及方法 |
Non-Patent Citations (2)
Title |
---|
赖英旭;薄尊旭;刘静;: "基于改进PBFT算法防御区块链中sybil攻击的研究", 通信学报, no. 09 * |
郭子贤;晋宏博;左敏;张青川;: "基于联盟区块链的放射源溯源数据存储优化", 计算机仿真, no. 06 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109308233A (zh) * | 2017-07-28 | 2019-02-05 | 中兴通讯股份有限公司 | 数据备份方法、装置及系统 |
CN116701064A (zh) * | 2023-08-08 | 2023-09-05 | 芯知科技(江苏)有限公司 | 移动设备丢失数据处理方法及系统 |
CN116701064B (zh) * | 2023-08-08 | 2023-10-10 | 芯知科技(江苏)有限公司 | 移动设备丢失数据处理方法及系统 |
CN117667515A (zh) * | 2023-12-08 | 2024-03-08 | 广州鼎甲计算机科技有限公司 | 主备集群的备份管理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113505024B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113505024A (zh) | 联盟链的数据处理方法、装置、电子设备及存储介质 | |
CN111061769B (zh) | 一种区块链系统的共识方法及相关设备 | |
US9727268B2 (en) | Management of storage in a storage network | |
CN109543455B (zh) | 一种区块链的数据归档方法及装置 | |
CN109300036B (zh) | 区块链网络的分叉回归方法和装置 | |
CN110018989B (zh) | 一种快照比对的方法和装置 | |
MX2014007678A (es) | Tomas de pantalla consistentes con aplicacion de un volumen compartido. | |
CN114936256A (zh) | 在区块链中执行交易的方法和区块链节点 | |
CN113742135A (zh) | 数据备份方法、装置及计算机可读存储介质 | |
CN111026711A (zh) | 基于区块链数据存储方法、装置、计算机设备及存储介质 | |
WO2021129005A1 (zh) | 一种区块链状态变更交易追溯的方法及装置 | |
WO2019055201A1 (en) | PROVIDING COHERENCE IN A DISTRIBUTED DATA STORE | |
CN113065887A (zh) | 资源处理方法、装置、计算机设备和存储介质 | |
CN103703449A (zh) | 存储器合并的计算机实现方法、系统以及装置 | |
CN112287400A (zh) | 超级账本中的交易排序方法、装置和计算机设备 | |
CN111046004A (zh) | 一种数据文件存储方法、装置、设备及存储介质 | |
CN116303510A (zh) | 资源转移事务处理方法、装置、计算机设备和存储介质 | |
CN112559547B (zh) | 确定多存储对象副本之间一致性的方法及装置 | |
CN114493598A (zh) | 计算资源管理方法、装置、计算机设备和存储介质 | |
CN115348276A (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN114416689A (zh) | 数据迁移方法、装置、计算机设备、存储介质 | |
CN115145715A (zh) | 一种分布式事务处理方法、系统及相关设备 | |
CN112596959A (zh) | 分布式存储集群数据备份方法及装置 | |
CN115269270B (zh) | 备份合并的方法、装置和设备 | |
CN112162834B (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 |