CN109636388B - 区块链网络中的数据处理方法、装置、介质及电子设备 - Google Patents

区块链网络中的数据处理方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN109636388B
CN109636388B CN201811497484.XA CN201811497484A CN109636388B CN 109636388 B CN109636388 B CN 109636388B CN 201811497484 A CN201811497484 A CN 201811497484A CN 109636388 B CN109636388 B CN 109636388B
Authority
CN
China
Prior art keywords
data
data block
snapshot
block
transaction
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
Application number
CN201811497484.XA
Other languages
English (en)
Other versions
CN109636388A (zh
Inventor
李茂材
王宗友
孔利
周开班
杨常青
张劲松
时一防
蓝虎
丁勇
刘区城
陈秋平
朱耿良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhishuilian Technology Co ltd
Original Assignee
Shenzhen Zhishuilian Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhishuilian Technology Co ltd filed Critical Shenzhen Zhishuilian Technology Co ltd
Priority to CN201811497484.XA priority Critical patent/CN109636388B/zh
Publication of CN109636388A publication Critical patent/CN109636388A/zh
Application granted granted Critical
Publication of CN109636388B publication Critical patent/CN109636388B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction

Abstract

本发明的实施例提供了一种区块链网络中的数据处理方法、装置、介质及电子设备。该区块链网络包括多个共识节点,所述数据处理方法由所述区块链网络中的共识节点执行,所述数据处理方法包括:获取所述区块链网络中新生成的数据区块;在对所述数据区块共识完成之后,存储所述数据区块;若检测到所述数据区块中的交易数据存储异常,则对所述数据区块中出现存储异常的交易数据进行修复处理。本发明实施例的技术方案可以及时检测出存储异常的交易数据,并及时采取相应的修复机制,进而可以保证共识节点存储的交易数据的准确性。

Description

区块链网络中的数据处理方法、装置、介质及电子设备
技术领域
本发明涉及计算机及通信技术领域,具体而言,涉及一种区块链网络中的数据处理方法、装置、介质及电子设备。
背景技术
区块链网络是由众多节点共同组成的一个端到端的去中心化网络,每个节点都允许获得一份完整的数据库拷贝,即节点间各信息完全共享,各节点之间基于一套共识机制来共同维护整个区块链。在目前的区块链网络中,数据区块在共识完成之后即由各个节点进行存储,但是对于数据区块中的交易数据的存储状态却并无感知。
发明内容
本发明的实施例提供了一种区块链网络中的数据处理方法、装置、介质及电子设备,进而至少在一定程度上可以及时检测并修复存储异常的交易数据,进而能够保证共识节点存储的交易数据的准确性。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的一个方面,提供了一种区块链网络中的数据处理方法,所述区块链网络包括多个共识节点,所述数据处理方法由所述区块链网络中的共识节点执行,所述数据处理方法包括:获取所述区块链网络中新生成的数据区块;在对所述数据区块共识完成之后,存储所述数据区块;若检测到所述数据区块中的交易数据存储异常,则对所述数据区块中出现存储异常的交易数据进行修复处理。
根据本发明实施例的一个方面,提供了一种区块链网络中的数据处理装置,所述区块链网络包括多个共识节点,所述共识节点包括所述数据处理装置,所述数据处理装置包括:获取单元,用于获取所述区块链网络中新生成的数据区块;存储单元,用于在对所述数据区块共识完成之后,存储所述数据区块;处理单元,用于在检测到所述数据区块中的交易数据存储异常时,对所述数据区块中出现存储异常的交易数据进行修复处理。
在本发明的一些实施例中,基于前述方案,所述处理单元包括:生成单元,用于每隔第一预定时长生成已存储的数据区块对应的数据快照,以得到多个数据快照;第一确定单元,用于根据所述多个数据快照和生成所述多个数据快照期间新存储的数据区块,确定是否存在异常的数据快照;第一修复单元,用于在确定存在异常的数据快照时,根据正常的数据快照对异常的数据快照进行修复处理。
在本发明的一些实施例中,基于前述方案,所述第一确定单元配置为:获取第一数据快照和在所述第一数据快照之后生成的第二数据快照,以及生成所述第一数据快照的第一时刻与生成所述第二数据快照的第二时刻之间新存储的目标数据区块;根据所述第一数据快照和所述目标数据区块中包含的交易数据进行交易计算,得到计算结果;若所述计算结果与所述第二数据快照不匹配,则确定所述第二数据快照出现异常。
在本发明的一些实施例中,基于前述方案,所述第一修复单元配置为:删除所述目标数据区块,从所述区块链网络中同步在所述第一时刻与所述第二时刻之间产生的数据区块;根据所述第一数据快照和从所述区块链网络中同步在所述第一时刻与所述第二时刻之间产生的数据区块,重新计算所述第二数据快照。
在本发明的一些实施例中,基于前述方案,所述第一修复单元配置为:从所述区块链网络中获取其它共识节点在所述第二时刻生成的数据快照;将所述第二数据快照和所述其它共识节点在所述第二时刻生成的数据快照进行比对;若所述其它共识节点中有预定数量个共识节点生成了相同的第三数据快照,且所述第三数据快照与所述第二数据快照不相同,则通过所述第三数据快照替换所述第二数据快照。
在本发明的一些实施例中,基于前述方案,所述处理单元包括:校验单元,用于对预定时间段内产生的数据区块进行校验;第二修复单元,用于在所述校验单元对所述预定时间段内产生的数据区块校验未通过时,从所述区块链网络中的其它共识节点同步所述预定时间段内产生的数据区块。
在本发明的一些实施例中,基于前述方案,所述校验单元配置为:根据所述预定时间段内产生的数据区块所包含的交易数据,计算默克尔树根;将计算出的默克尔树根与所述预定时间段内产生的数据区块的区块头中所包含的默克尔树根进行对比;若计算出的默克尔树根与所述预定时间段内产生的数据区块的区块头中所包含的默克尔树根不匹配,则确定对所述预定时间段内产生的数据区块校验未通过。
在本发明的一些实施例中,基于前述方案,所述处理单元包括:第二确定单元,用于根据所述数据区块中的交易数据的输入信息和输出信息,确定所述输入信息引用的UTXO和所述输出信息新产生的UTXO;第三修复单元,用于根据所述输入信息引用的UTXO和所述输出信息新产生的UTXO,对所述数据区块中出现存储异常的交易数据进行修复处理。
在本发明的一些实施例中,基于前述方案,所述第三修复单元配置为:根据所述输入信息引用的UTXO,确定所述数据区块中是否存在需要删除但是未删除的第一UTXO;若所述数据区块中存在所述第一UTXO,则删除所述数据区块中包含的所述第一UTXO。
在本发明的一些实施例中,基于前述方案,所述第三修复单元配置为:根据所述输出信息新产生的UTXO,确定是否存在需要添加至所述数据区块中但是所述数据区块中并未包含的第二UTXO;若存在所述第二UTXO,则经过第二预定时长后再次确定所述数据区块中是否包含所述第二UTXO;若经过所述第二预定时长后再次确定所述数据区块中未包含所述第二UTXO,则在所述数据区块中添加所述第二UTXO。
在本发明的一些实施例中,基于前述方案,所述处理单元配置为:若检测到所述数据区块中的交易数据在写入存储空间时失败,则将所述交易数据重新写入所述存储空间,直至重新写入的次数达到设定次数或将所述交易数据成功写入所述存储空间。
在本发明的一些实施例中,基于前述方案,所述处理单元配置为:若检测到所述数据区块中的交易数据从存储空间中删除失败,则将所述交易数据所述存储空间中重新删除,直至重新删除的次数达到设定次数或将所述交易数据成功从所述存储空间中删除。
根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的区块链网络中的数据处理方法。
根据本发明实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的区块链网络中的数据处理方法。
在本发明的一些实施例所提供的技术方案中,通过存储数据区块,并在检测到数据区块中的交易数据存储异常时,对数据区块中出现异常的交易数据进行修复处理,使得能够及时检测出存储异常的交易数据,并及时采取相应的修复机制,进而可以保证共识节点存储的交易数据的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本发明实施例的技术方案的示例性系统架构的示意图;
图2示意性示出了根据本发明的一个实施例的区块链网络中的数据处理方法的流程图;
图3示出了根据本发明的一个实施例的数据区块在进行共识的过程示意图;
图4示出了根据本发明的一个实施例的检测数据区块中出现存储异常的交易数据,并对出现存储异常的交易数据进行修复处理的示意流程图;
图5示出了根据本发明的一个实施例的生成数据快照的示意图;
图6示意性示出了根据本发明的一个实施例的确定是否存在异常的数据快照的流程图;
图7示意性示出了根据本发明的一个实施例的根据正常的数据快照对异常的数据快照进行修复处理的流程图;
图8示意性示出了根据本发明的一个实施例的根据正常的数据快照对异常的数据快照进行修复处理的流程图;
图9示出了根据本发明的一个实施例的检测数据区块中出现存储异常的交易数据,并对出现存储异常的交易数据进行修复处理的示意流程图;
图10示意性示出了根据本发明的一个实施例的对数据区块进行校验的流程图;
图11示意性示出了根据本发明的一个实施例的生成默克尔树根的流程图;
图12示出了根据本发明的一个实施例的检测数据区块中出现存储异常的交易数据,并对出现存储异常的交易数据进行修复处理的示意流程图;
图13示意性示出了根据本发明的一个实施例的根据输入信息引用的UTXO和输出信息新产生的UTXO,对数据区块中出现存储异常的交易数据进行修复处理的流程图;
图14示意性示出了根据本发明的一个实施例的根据输入信息引用的UTXO和输出信息新产生的UTXO,对数据区块中出现存储异常的交易数据进行修复处理的流程图;
图15示意性示出了根据本发明的一个实施例的区块链网络中的数据处理装置的框图;
图16示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本发明实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构100可以包括共识节点101、共识节点102、共识节点103、共识节点104、共识节点105和共识节点106。各个共识节点之间可以通过通信链路进行连接,比如可以通过有线通信链路或无线通信链路进行连接等,多个共识节点共同组成了区块链网络。
应该理解,图1中所示的共识节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的共识节点。
在本发明的一个实施例中,共识节点101(也可以是共识节点102、103、104、105和106中的任意一个)在获取到区块链网络中新生成的数据区块之后,若区块链网络中的各节点对该数据区块共识完成,则存储该数据区块。在存储该数据区块的过程中或者存储该数据区块之后,可以检测该数据区块中的交易数据是否存储异常,如果检测到该数据区块中的交易数据存储异常,则可以对该数据区块中出现存储异常的交易数据进行修复处理。
比如,可以检测数据区块中的交易数据在写入存储空间或从存储空间中删除时是否失败,若将交易数据写入存储空间失败,则可以尝试重新写入,若从存储空间中删除时失败,则可以尝试重新删除。
再如,可以每隔一段时间对新产生的数据区块中所包含的交易数据的准确性进行校验(比如根据数据区块中包含的交易数据来计算默克尔树根,并与数据区块的区块头中的默克尔树根进行比对来对数据区块进行校验),若校验未通过,则从其它共识节点同步这部分数据区块。
又如,可以根据数据区块中的交易数据的输入信息和输出信息,确定输入信息引用的UTXO和输出信息新产生的UTXO,进而根据输入信息引用的UTXO和输出信息新产生的UTXO,对数据区块中出现存储异常的交易数据进行修复处理。
此外,还可以周期性地生成已存储的数据区块对应的数据快照,然后基于各个周期生成的数据快照和各个周期内新产生的数据区块进行对账处理,以核对数据快照是否异常,若数据快照存在异常,则说明存在异常的交易数据。当确定数据快照异常后,一方面可以从其它共识节点同步正确的交易数据及相应的数据快照,以便于下次对账使用;另一方面也可以从其它共识节点同步正确的数据区块,以便于重新生成数据快照。
需要说明的是,本发明实施例所提供的区块链网络的管理方法一般由区块链网络中的共识节点执行,相应地,区块链网络的管理装置一般设置于区块链网络中的共识节点中。
以下对本发明实施例的技术方案的实现细节进行详细阐述:
图2示意性示出了根据本发明的一个实施例的区块链网络中的数据处理方法的流程图,该区块链网络中的数据处理方法可以由作为区块链网络中的共识节点的服务器或终端设备来执行,比如可以是图1中所示的任意一个或多个共识节点。参照图2所示,该区块链网络中的数据处理方法至少包括步骤S210至步骤S230,详细介绍如下:
在步骤S210中,获取区块链网络中新生成的数据区块。
在本发明的一个实施例中,数据区块可以是区块链网络中的共识节点根据接收到的待上链交易数据(比如发票的开票数据,发票流转数据等)打包生成的。比如当接收到交易数据后可以先缓存起来,当满足以下至少一项打包要求时可以对缓存的交易数据进行打包生成数据区块:
缓存中的待上链交易数据的总大小达到预定大小阈值;
缓存中的待上链交易数据的总条数达到预定条数阈值;
缓存中的待上链交易数据中最早缓存的一条待上链交易数据的缓存时间距离当前时间达到预定时间阈值。
在本发明的一个实施例中,在区块打包要求是缓存中的待上链交易数据的总大小超过预定大小阈值的情况下,例如,预定大小阈值为4Mb,缓存中原来有2条交易数据,分别是0.8Mb和1.5Mb,如果这时又接收到一条待上链交易数据,大小为2Mb,这样0.8Mb+1.5Mb+2Mb=4.3Mb>4Mb,此时就可以为这3条交易数据生成一个数据区块,避免为每一条交易数据生成一个数据区块的资源浪费。
在本发明的一个实施例中,在区块打包要求是缓存中的待上链交易数据的总条数超过预定条数阈值的情况下,例如,预定条数阈值为5,缓存中原来有4条交易数据,如果这时又接收到一条待上链交易数据,此时就可以为这5条交易数据生成一个数据区块,避免为每一条交易数据生成一个数据区块的资源浪费。
在本发明的一个实施例中,在区块打包要求是缓存中的待上链交易数据中最早缓存的一条待上链交易数据的缓存时间距离当前时间达到预定时间阈值的情况下,例如,预定时间阈值为24小时,如果待上链交易数据在2018年4月25日11:27:01放入缓存,在4月26日11:27:01就可以为该待上链交易数据生成一个数据区块,避免从请求上链到真正上链的时延过大。
在实践中,可以将上述中的一条或多条结合使用。例如,如果缓存中的待上链交易数据的总大小达到预定大小阈值,或者缓存中的待上链交易数据中最早缓存的一条带上链交易数据的缓存时间距离当前时间达到预定时间阈值,都可以生成一个数据区块。这样,既避免了为一个交易数据生成一个数据区块而造成资源浪费,又避免了在一段时间接收到的交易数据不够多而造成无限制的等待。
继续参照图2所示,在步骤S220中,在对所述数据区块共识完成之后,存储所述数据区块。
在本发明的一个实施例中,如图3所示为本发明实施例的由领导共识节点将数据区块广播到区块链网络中的其它共识节点进行共识的过程。其中,客户端(可以是形成要记录在区块链上的数据区块的共识节点)发起共识请求,并将共识请求发送至处于领导状态的领导共识节点A;继续进入添加实体阶段,由领导共识节点A将共识请求所对应的数据区块广播至区块链网络中其它未处于领导状态的共识节点(共识节点B、C、D…);继续进入追加响应阶段,由其它共识节点将接收到的共识内容广播至其它各共识节点,并在接收到预设数量(2f+1)的其它共识节点所广播的共识内容一致时,进入确认阶段,各共识节点再将确认结果反馈至领导共识节点A。领导共识节点A在接收到预设数量(2f+1)的其它区块链节点反馈确认通过时,则判定完成共识向客户端反馈共识完成的结果。其中,f是小于(N-1)/3的最大整数,N是区块链网络中共识节点的数量。f是算法能容忍的区块链网络中作恶的共识节点的数量。
当共识成功后,区块链网络中的各个共识节点就可以将数据区块添加到区块链上,即完成上链,并将所述数据区块存储至共识节点中。
继续参照图2所示,在步骤S230中,若检测到所述数据区块中的交易数据存储异常,则对所述数据区块中出现存储异常的交易数据进行修复处理。
在本发明的实施例中,数据区块中的交易数据存储异常包括多个方面,以下针对各个方面的异常以不同的实施例分别进行详细阐述:
如图4所示,在本发明的一个实施例中,检测数据区块中出现存储异常的交易数据,并对出现存储异常的交易数据进行修复处理的过程,包括如下步骤:
步骤S410,每隔第一预定时长生成已存储的数据区块对应的数据快照,以得到多个数据快照。
步骤S420,根据所述多个数据快照和生成所述多个数据快照期间新存储的数据区块,确定是否存在异常的数据快照。
步骤S430,若确定存在异常的数据快照,则根据正常的数据快照对异常的数据快照进行修复处理。
在上述步骤S410中,数据快照是指针对指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。换句话说,数据快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。第一预定时长可以是一小时、一天、一周等,比如可以每天生成一次已存储的数据区块对应的数据快照。
具体如图5所示,假设每隔第一预定时长设置一个检查点,即检查点k、检查点k+1、检查点k+2等,那么在检查点k根据已有的数据区块(如数据区块1到数据区块k)生成数据快照k;在检查点k+1根据已有的数据区块(如数据区块1到数据区块k+1)生成数据快照k+1;在检查点k+2根据已有的数据区块(如数据区块1到数据区块k+2)生成数据快照k+2。
在上述步骤S420中,可以根据前一个数据快照、后一个数据快照以及在这两个数据快照的生成时间之间新存储的数据区块来进行对账处理,以确定后一个数据快照是否异常。具体如图6所示,包括如下步骤:
步骤S610,获取第一数据快照和在所述第一数据快照之后生成的第二数据快照,以及生成所述第一数据快照的第一时刻与生成所述第二数据快照的第二时刻之间新存储的目标数据区块。
在本发明的一个实施例中,第二数据快照可以是在第一数据快照之后生成的第一个数据快照,也可以是在第一数据快照之后生成的第N个数据快照。正常情况下,第一数据快照在叠加上生成第一数据快照的第一时刻与生成第二数据快照的第二时刻之间新存储的目标数据区块之后,可以得到第二数据快照,因此步骤S610中需要获取到第一数据快照、第二数据快照及生成第一数据快照的第一时刻与生成第二数据快照的第二时刻之间新存储的目标数据区块。
步骤S620,根据所述第一数据快照和所述目标数据区块中包含的交易数据进行交易计算,得到计算结果。
在本发明的一个实施例中,根据第一数据快照和目标数据区块中包含的交易数据进行交易计算的过程即为在第一数据快照的基础上,将目标数据区块中的交易数据叠加到第一数据快照上的过程。
步骤S630,若所述计算结果与所述第二数据快照不匹配,则确定所述第二数据快照出现异常。
在本发明的一个实施例中,如上所述,若数据快照或数据区块没有异常,那么第一数据快照在叠加上上述的目标数据区块之后,可以得到第二数据快照,因此若上述的计算结果与第二数据快照不匹配,则确定第二数据快照出现异常。
在上述步骤S430中,根据正常的数据快照对异常的数据快照进行修复处理的过程可以是采取如图7中所示的修复方式或者如图8中所示的修复方式进行修复处理,详细说明如下:
如图7所示,根据本发明的一个实施例的根据正常的数据快照对异常的数据快照进行修复处理的过程,包括如下步骤:
步骤S710,删除所述目标数据区块,从所述区块链网络中同步在所述第一时刻与所述第二时刻之间产生的数据区块。
在本发明的一个实施例中,可以从区块链网络中的任一其它共识节点中同步第一时刻与第二时刻之间产生的数据区块,或者从区块链网络中选择距离最近的一个区块链节点来进行同步,以减少网络延迟,提高数据区块的同步效率。此外,由于区块链网络中的各个节点在存储数据区块时可能会由于网络延迟等原因导致存储的数据区块不对等,在这种情况下,可以选择存储有上述第一时刻与第二时刻之间产生的完整数据区块的共识节点来进行数据同步。
步骤S720,根据所述第一数据快照和从所述区块链网络中同步在所述第一时刻与所述第二时刻之间产生的数据区块,重新计算所述第二数据快照。即在第一数据快照的基础上,叠加上在第一时刻与第二时刻之间产生的数据区块,以得到第二数据快照。
如图8所示,根据本发明的一个实施例的根据正常的数据快照对异常的数据快照进行修复处理的过程,包括如下步骤:
步骤S810,从所述区块链网络中获取其它共识节点在所述第二时刻生成的数据快照。
在本发明的一个实施例中,区块链网络中的各个共识节点都可以每隔第一预定时长生成已存储的数据区块的数据快照。
步骤S820,将所述第二数据快照和所述其它共识节点在所述第二时刻生成的数据快照进行比对。
步骤S830,若所述其它共识节点中有预定数量个共识节点生成了相同的第三数据快照,且所述第三数据快照与所述第二数据快照不相同,则通过所述第三数据快照替换所述第二数据快照。
在本发明的一个实施例中,若某个共识节点在某个时刻生成的数据快照异常,则可以同步其它共识节点在该时刻生成的数据快照,然后选择多个共识节点生成的相同的数据快照来替换异常的数据快照。其中,步骤S830中的预定数量可以与区块链网络进行共识算法时确定是否达成共识的节点数量相同,当然,该预定数量也可以设定的其它值。
如图9所示,在本发明的一个实施例中,检测数据区块中出现存储异常的交易数据,并对出现存储异常的交易数据进行修复处理的过程,包括如下步骤:
步骤S910,对预定时间段内产生的数据区块进行校验。
步骤S920,若对所述预定时间段内产生的数据区块校验未通过,则从所述区块链网络中的其它共识节点同步所述预定时间段内产生的数据区块。
在本发明的一个实施例中,预定时间段可以是设定的一段时间,比如5分钟、10分钟、30分钟、一个小时等。假如可以对每个10分钟内产生的数据区块进行校验。
在本发明的一个实施例中,步骤S910中对预定时间段内产生的数据区块进行校验可以是根据数据区块中包含的交易数据来计算默克尔树根,并与数据区块的区块头中的默克尔树根进行比对来对数据区块进行校验。具体地,如图10所示,主要包括如下步骤:
步骤S1010,根据所述预定时间段内产生的数据区块所包含的交易数据,计算默克尔树根;
步骤S1020,将计算出的默克尔树根与所述预定时间段内产生的数据区块的区块头中所包含的默克尔树根进行对比;
步骤S1030,若计算出的默克尔树根与所述预定时间段内产生的数据区块的区块头中所包含的默克尔树根不匹配,则确定对所述预定时间段内产生的数据区块校验未通过。
在本发明的一个实施例中,如图11所示,根据一个数据区块中所包含的交易数据生成默克尔树根的过程具体可以包括如下步骤:
步骤S1110,计算数据区块中的每个交易数据的哈希值;
步骤S1120,将数据区块中的交易数据进行排序(比如可以按照进入缓存的顺序来进行排序),顺序排在第奇数位的交易数据和之后的顺序排在第偶数位的交易数据组成一个对;
步骤S1130,将每个对的两个交易数据的哈希值进行哈希运算,得到该对的哈希值;
步骤S1140,将各个对进行排序(比如按照各个对进入缓存的顺序进行排序),顺序排在第奇数位的对和之后的顺序排在第偶数位的对组成一个更上一级的对,将每个更上一级的对中的两个对的哈希值进行哈希运算,得到该更上一层的对的哈希值,直到得到最上一层的对的哈希值,即为默克尔树根。
需要注意的是,在本发明的另一个实施例中,如果顺序排在第奇数位的交易信息是缓存中最后一个交易信息,则对该交易信息进行复制,该最后一个交易信息和复制后的该交易信息以构成一个对;如果顺序排在第奇数位的对是缓存中最后一个对,将该对进行复制,该最后一个对和复制后的对以构成一个更上一级的对,按照这种方式得到的默克尔树为二叉树。
例如,数据区块中有9条交易数据,按进入缓存的时间顺序分别是A1-A9。A1-A2组成一个对B1,对A1的哈希值和A2的哈希值进行哈希运算,得到B1的哈希值;A3-A4组成一个对B2,对A3的哈希值和A4的哈希值进行哈希运算,得到B2的哈希值;A5-A6组成一个对B3,对A5的哈希值和A6的哈希值进行哈希运算,得到B3的哈希值;A7-A8组成一个对B4,对A7的哈希值和A8的哈希值进行哈希运算,得到B4的哈希值;将A9复制一份得到A10,对A9的哈希值和A10的哈希值进行哈希值运算,得到B5的哈希值。
针对B1-B5而言,B1-B2组成一个更上层的对C1,对B1的哈希值和B2的哈希值进行哈希运算,得到C1的哈希值;B3-B4组成一个更上层的对C2,对B3的哈希值和B4的哈希值进行哈希运算,得到C2的哈希值;将B5复制一份得到B6,对B5的哈希值和B6的哈希值进行哈希值运算,得到C3的哈希值。
针对C1-C3而言,C1-C2组成一个更上层的对D1,对C1的哈希值和C2的哈希值进行哈希运算,得到D1的哈希值;将C3复制一份得到C4,对C3的哈希值和C4的哈希值进行哈希值运算,得到D2的哈希值。
针对D1-D2而言,对D1的哈希值和D2的哈希值进行哈希运算,得到默克尔树根。
如图12所示,在本发明的一个实施例中,检测数据区块中出现存储异常的交易数据,并对出现存储异常的交易数据进行修复处理的过程,包括如下步骤:
步骤S1210,根据所述数据区块中的交易数据的输入信息和输出信息,确定所述输入信息引用的UTXO和所述输出信息新产生的UTXO。
步骤S1220,根据所述输入信息引用的UTXO和所述输出信息新产生的UTXO,对所述数据区块中出现存储异常的交易数据进行修复处理。
在本发明的实施例中,UTXO代表Unspent Transaction Output,在区块链网络中,每个交易数据都会存在输入信息和输出信息,除了第一个交易之外,其它的交易数据的输入信息都会引用一个UTXO,并且输出信息都会产生一个UTXO。当一个新的交易数据的输入引用了一个UTXO之后,该被引用的UTXO会被删除,并且会新产生一个UTXO。据此,图12中所示的步骤S1220中根据输入信息引用的UTXO和输出信息新产生的UTXO,对数据区块中出现存储异常的交易数据进行修复处理的过程可以如图13和图14所示,详细说明如下:
如图13所示,根据本发明的一个实施例的根据输入信息引用的UTXO和输出信息新产生的UTXO,对数据区块中出现存储异常的交易数据进行修复处理的过程,包括如下步骤:
步骤S1510,根据输入信息引用的UTXO,确定数据区块中是否存在需要删除但是未删除的第一UTXO。
在本发明的一个实施例中,数据区块中需要删除的UTXO即为被另一条交易数据的输入信息引用过的UTXO。
步骤S1520,若数据区块中存在所述第一UTXO,则删除所述数据区块中包含的所述第一UTXO。
在图13中,由于被另一条交易数据的输入信息引用过的UTXO需要被删除,因此若存在需要删除但是未被删除的UTXO,则直接删除即可。
如图14所示,根据本发明的一个实施例的根据输入信息引用的UTXO和输出信息新产生的UTXO,对数据区块中出现存储异常的交易数据进行修复处理的过程,包括如下步骤:
步骤S1610,根据输出信息新产生的UTXO,确定是否存在需要添加至所述数据区块中但是所述数据区块中并未包含的第二UTXO。
步骤S1620,若存在所述第二UTXO,则经过第二预定时长后再次确定所述数据区块中是否包含所述第二UTXO。
步骤S1630,若经过所述第二预定时长后再次确定所述数据区块中未包含所述第二UTXO,则在所述数据区块中添加所述第二UTXO。
在图14中,由于一条交易数据的输出会产生新的UTXO,因此若有需要添加至数据区块中但是数据区块中并未包含的UTXO,可能是由于网络延迟导致还未添加至数据区块中,因此可以在经过第二预定时长后再次确定数据区块中是否包含该UTXO,若再次确定该数据区块中未包含该UTXO,则可以在该数据区块中添加该UTXO。其中,第二预定时长可以是10分钟、30分钟、一个小时等。
在本发明的一个实施例中,可以检测数据区块中的交易数据在写入存储空间时是否失败,若检测到数据区块中的交易数据在写入存储空间时失败,则将该交易数据重新写入所述存储空间,直至重新写入的次数达到设定次数或将所述交易数据成功写入所述存储空间。其中,存储空间可以是共识节点本地的存储空间(如硬盘等)。
可选地,若重写写入的次数达到设定次数之后还未将交易数据写入存储空间中成功,则可以停止写入,并通过上述实施例的技术方案来对交易数据进行修复处理。
在本发明的一个实施例中,可以检测数据区块中的交易数据在从存储空间中删除时是否失败,若检测到数据区块中的交易数据从存储空间中删除失败,则将所述交易数据所述存储空间中重新删除,直至重新删除的次数达到设定次数或将所述交易数据成功从所述存储空间中删除。其中,存储空间可以是共识节点本地的存储空间(如硬盘等)。
可选地,若重新删除的次数达到设定次数之后还未将交易数据从存储空间中删除,则可以停止删除,并通过上述实施例的技术方案来对交易数据进行修复处理。
需要说明的是,本发明上述实施例中提出的实施例在实际应用过程中可以相互结合,以通过不同的方式来对数据区块中的交易数据进行修复处理,进而可以保证节点存储的交易数据的准确性。
以下介绍本发明的装置实施例,可以用于执行本发明上述实施例中的区块链网络中的数据处理方法。对于本发明装置实施例中未披露的细节,请参照本发明上述的区块链网络中的数据处理方法的实施例。
图15示意性示出了根据本发明的一个实施例的区块链网络中的数据处理装置的框图,其中,区块链网络包括多个共识节点,该共识节点包括该数据处理装置。
参照图15所示,根据本发明的一个实施例的区块链网络中的数据处理装置1700,包括:获取单元1702、存储单元1704和处理单元1706。
其中,获取单元1702用于获取所述区块链网络中新生成的数据区块;存储单元1704用于在对所述数据区块共识完成之后,存储所述数据区块;处理单元1706用于在检测到所述数据区块中的交易数据存储异常时,对所述数据区块中出现存储异常的交易数据进行修复处理。
在本发明的一个实施例中,处理单元1706包括:生成单元,用于每隔第一预定时长生成已存储的数据区块对应的数据快照,以得到多个数据快照;第一确定单元,用于根据所述多个数据快照和生成所述多个数据快照期间新存储的数据区块,确定是否存在异常的数据快照;第一修复单元,用于在确定存在异常的数据快照时,根据正常的数据快照对异常的数据快照进行修复处理。
在本发明的一个实施例中,所述第一确定单元配置为:获取第一数据快照和在所述第一数据快照之后生成的第二数据快照,以及生成所述第一数据快照的第一时刻与生成所述第二数据快照的第二时刻之间新存储的目标数据区块;根据所述第一数据快照和所述目标数据区块中包含的交易数据进行交易计算,得到计算结果;若所述计算结果与所述第二数据快照不匹配,则确定所述第二数据快照出现异常。
在本发明的一个实施例中,所述第一修复单元配置为:删除所述目标数据区块,从所述区块链网络中同步在所述第一时刻与所述第二时刻之间产生的数据区块;根据所述第一数据快照和从所述区块链网络中同步在所述第一时刻与所述第二时刻之间产生的数据区块,重新计算所述第二数据快照。
在本发明的一个实施例中,所述第一修复单元配置为:从所述区块链网络中获取其它共识节点在所述第二时刻生成的数据快照;将所述第二数据快照和所述其它共识节点在所述第二时刻生成的数据快照进行比对;若所述其它共识节点中有预定数量个共识节点生成了相同的第三数据快照,且所述第三数据快照与所述第二数据快照不相同,则通过所述第三数据快照替换所述第二数据快照。
在本发明的一个实施例中,处理单元1706包括:校验单元,用于对预定时间段内产生的数据区块进行校验;第二修复单元,用于在所述校验单元对所述预定时间段内产生的数据区块校验未通过时,从所述区块链网络中的其它共识节点同步所述预定时间段内产生的数据区块。
在本发明的一个实施例中,所述校验单元配置为:根据所述预定时间段内产生的数据区块所包含的交易数据,计算默克尔树根;将计算出的默克尔树根与所述预定时间段内产生的数据区块的区块头中所包含的默克尔树根进行对比;若计算出的默克尔树根与所述预定时间段内产生的数据区块的区块头中所包含的默克尔树根不匹配,则确定对所述预定时间段内产生的数据区块校验未通过。
在本发明的一个实施例中,处理单元1706包括:第二确定单元,用于根据所述数据区块中的交易数据的输入信息和输出信息,确定所述输入信息引用的UTXO和所述输出信息新产生的UTXO;第三修复单元,用于根据所述输入信息引用的UTXO和所述输出信息新产生的UTXO,对所述数据区块中出现存储异常的交易数据进行修复处理。
在本发明的一个实施例中,所述第三修复单元配置为:根据所述输入信息引用的UTXO,确定所述数据区块中是否存在需要删除但是未删除的第一UTXO;若所述数据区块中存在所述第一UTXO,则删除所述数据区块中包含的所述第一UTXO。
在本发明的一个实施例中,所述第三修复单元配置为:根据所述输出信息新产生的UTXO,确定是否存在需要添加至所述数据区块中但是所述数据区块中并未包含的第二UTXO;若存在所述第二UTXO,则经过第二预定时长后再次确定所述数据区块中是否包含所述第二UTXO;若经过所述第二预定时长后再次确定所述数据区块中未包含所述第二UTXO,则在所述数据区块中添加所述第二UTXO。
在本发明的一个实施例中,处理单元1706配置为:若检测到所述数据区块中的交易数据在写入存储空间时失败,则将所述交易数据重新写入所述存储空间,直至重新写入的次数达到设定次数或将所述交易数据成功写入所述存储空间。
在本发明的一个实施例中,处理单元1706配置为:若检测到所述数据区块中的交易数据从存储空间中删除失败,则将所述交易数据所述存储空间中重新删除,直至重新删除的次数达到设定次数或将所述交易数据成功从所述存储空间中删除。
图16示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图16示出的电子设备的计算机系统1800仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图16所示,计算机系统1800包括中央处理单元(Central Processing Unit,CPU)1801,其可以根据存储在只读存储器(Read-Only Memory,ROM)1802中的程序或者从存储部分1808加载到随机访问存储器(Random Access Memory,RAM)1803中的程序而执行各种适当的动作和处理。在RAM 1803中,还存储有系统操作所需的各种程序和数据。CPU1801、ROM 1802以及RAM 1803通过总线1804彼此相连。输入/输出(Input/Output,I/O)接口1805也连接至总线1804。
以下部件连接至I/O接口1805:包括键盘、鼠标等的输入部分1806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1807;包括硬盘等的存储部分1808;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1809。通信部分1809经由诸如因特网的网络执行通信处理。驱动器1810也根据需要连接至I/O接口1805。可拆卸介质1811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1810上,以便于从其上读出的计算机程序根据需要被安装入存储部分1808。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1809从网络上被下载和安装,和/或从可拆卸介质1811被安装。在该计算机程序被中央处理单元(CPU)1801执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (13)

1.一种区块链网络中的数据处理方法,其特征在于,所述区块链网络包括多个共识节点,所述数据处理方法由所述区块链网络中的共识节点执行,所述数据处理方法包括:
获取所述区块链网络中新生成的数据区块;
在对所述数据区块共识完成之后,存储所述数据区块;
若检测到所述数据区块中的交易数据存储异常,则对所述数据区块中出现存储异常的交易数据进行修复处理;
其中,若检测到所述数据区块中的交易数据存储异常,则对所述数据区块中出现存储异常的交易数据进行修复处理,包括:
每隔第一预定时长生成已存储的数据区块对应的数据快照,以得到多个数据快照;
根据所述多个数据快照和生成所述多个数据快照期间新存储的数据区块,确定存在异常的数据快照,并根据正常的数据快照对异常的数据快照进行修复处理;
其中,根据所述多个数据快照和生成所述多个数据快照期间新存储的数据区块,确定存在异常的数据快照,包括:
获取第一数据快照和在所述第一数据快照之后生成的第二数据快照,以及生成所述第一数据快照的第一时刻与生成所述第二数据快照的第二时刻之间新存储的目标数据区块;
根据所述第一数据快照和所述目标数据区块中包含的交易数据进行交易计算,得到计算结果;
若所述计算结果与所述第二数据快照不匹配,则确定所述第二数据快照出现异常。
2.根据权利要求1所述的区块链网络中的数据处理方法,其特征在于,根据正常的数据快照对异常的数据快照进行修复处理,包括:
删除所述目标数据区块,从所述区块链网络中同步在所述第一时刻与所述第二时刻之间产生的数据区块;
根据所述第一数据快照和从所述区块链网络中同步在所述第一时刻与所述第二时刻之间产生的数据区块,重新计算所述第二数据快照。
3.根据权利要求1所述的区块链网络中的数据处理方法,其特征在于,根据正常的数据快照对异常的数据快照进行修复处理,包括:
从所述区块链网络中获取其它共识节点在所述第二时刻生成的数据快照;
将所述第二数据快照和所述其它共识节点在所述第二时刻生成的数据快照进行比对;
若所述其它共识节点中有预定数量个共识节点生成了相同的第三数据快照,且所述第三数据快照与所述第二数据快照不相同,则通过所述第三数据快照替换所述第二数据快照。
4.根据权利要求1所述的区块链网络中的数据处理方法,其特征在于,若检测到所述数据区块中的交易数据存储异常,则对所述数据区块中出现存储异常的交易数据进行修复处理,还包括:
对预定时间段内产生的数据区块进行校验;
若对所述预定时间段内产生的数据区块校验未通过,则从所述区块链网络中的其它共识节点同步所述预定时间段内产生的数据区块。
5.根据权利要求4所述的区块链网络中的数据处理方法,其特征在于,对预定时间段内产生的数据区块进行校验,包括:
根据所述预定时间段内产生的数据区块所包含的交易数据,计算默克尔树根;
将计算出的默克尔树根与所述预定时间段内产生的数据区块的区块头中所包含的默克尔树根进行对比;
若计算出的默克尔树根与所述预定时间段内产生的数据区块的区块头中所包含的默克尔树根不匹配,则确定对所述预定时间段内产生的数据区块校验未通过。
6.根据权利要求1所述的区块链网络中的数据处理方法,其特征在于,若检测到所述数据区块中的交易数据存储异常,则对所述数据区块中出现存储异常的交易数据进行修复处理,还包括:
根据所述数据区块中的交易数据的输入信息和输出信息,确定所述输入信息引用的UTXO和所述输出信息新产生的UTXO;
根据所述输入信息引用的UTXO和所述输出信息新产生的UTXO,对所述数据区块中出现存储异常的交易数据进行修复处理。
7.根据权利要求6所述的区块链网络中的数据处理方法,其特征在于,根据所述输入信息引用的UTXO和所述输出信息新产生的UTXO,对所述数据区块中出现存储异常的交易数据进行修复处理,包括:
根据所述输入信息引用的UTXO,确定所述数据区块中是否存在需要删除但是未删除的第一UTXO;
若所述数据区块中存在所述第一UTXO,则删除所述数据区块中包含的所述第一UTXO。
8.根据权利要求6所述的区块链网络中的数据处理方法,其特征在于,根据所述输入信息引用的UTXO和所述输出信息新产生的UTXO,对所述数据区块中出现存储异常的交易数据进行修复处理,包括:
根据所述输出信息新产生的UTXO,确定是否存在需要添加至所述数据区块中但是所述数据区块中并未包含的第二UTXO;
若存在所述第二UTXO,则经过第二预定时长后再次确定所述数据区块中是否包含所述第二UTXO;
若经过所述第二预定时长后再次确定所述数据区块中未包含所述第二UTXO,则在所述数据区块中添加所述第二UTXO。
9.根据权利要求1至8中任一项所述的区块链网络中的数据处理方法,其特征在于,若检测到所述数据区块中的交易数据存储异常,则对所述数据区块中出现存储异常的交易数据进行修复处理,还包括:
若检测到所述数据区块中的交易数据在写入存储空间时失败,则将所述交易数据重新写入所述存储空间,直至重新写入的次数达到设定次数或将所述交易数据成功写入所述存储空间。
10.根据权利要求1至8中任一项所述的区块链网络中的数据处理方法,其特征在于,若检测到所述数据区块中的交易数据存储异常,则对所述数据区块中出现存储异常的交易数据进行修复处理,还包括:
若检测到所述数据区块中的交易数据从存储空间中删除失败,则将所述交易数据所述存储空间中重新删除,直至重新删除的次数达到设定次数或将所述交易数据成功从所述存储空间中删除。
11.一种区块链网络中的数据处理装置,其特征在于,所述区块链网络包括多个共识节点,所述共识节点包括所述数据处理装置,所述数据处理装置包括:
获取单元,用于获取所述区块链网络中新生成的数据区块;
存储单元,用于在对所述数据区块共识完成之后,存储所述数据区块;
处理单元,用于在检测到所述数据区块中的交易数据存储异常时,对所述数据区块中出现存储异常的交易数据进行修复处理;
其中,所述处理单元包括:生成单元,用于每隔第一预定时长生成已存储的数据区块对应的数据快照,以得到多个数据快照;第一确定单元,用于根据所述多个数据快照和生成所述多个数据快照期间新存储的数据区块,确定存在异常的数据快照;第一修复单元,用于根据正常的数据快照对异常的数据快照进行修复处理;
其中,所述第一确定单元配置为:获取第一数据快照和在所述第一数据快照之后生成的第二数据快照,以及生成所述第一数据快照的第一时刻与生成所述第二数据快照的第二时刻之间新存储的目标数据区块;根据所述第一数据快照和所述目标数据区块中包含的交易数据进行交易计算,得到计算结果;若所述计算结果与所述第二数据快照不匹配,则确定所述第二数据快照出现异常。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的区块链网络中的数据处理方法。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至10中任一项所述的区块链网络中的数据处理方法。
CN201811497484.XA 2018-12-07 2018-12-07 区块链网络中的数据处理方法、装置、介质及电子设备 Active CN109636388B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811497484.XA CN109636388B (zh) 2018-12-07 2018-12-07 区块链网络中的数据处理方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811497484.XA CN109636388B (zh) 2018-12-07 2018-12-07 区块链网络中的数据处理方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN109636388A CN109636388A (zh) 2019-04-16
CN109636388B true CN109636388B (zh) 2024-02-23

Family

ID=66072067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811497484.XA Active CN109636388B (zh) 2018-12-07 2018-12-07 区块链网络中的数据处理方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN109636388B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110070444A (zh) * 2019-04-25 2019-07-30 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种区块链交易流程管理方法及相关装置
CN110138566A (zh) * 2019-05-14 2019-08-16 数字钱包(北京)科技有限公司 验证方法、装置、电子设备及计算机可读存储介质
CN110533534B (zh) * 2019-08-27 2022-08-26 海南新软软件有限公司 一种有序模式区块分组的生成、加载方法及装置
CN110517146B (zh) * 2019-08-30 2023-07-11 北京庚金科技有限公司 一种混杂模式区块分组的生成、加载方法及装置
CN110752969B (zh) * 2019-10-21 2021-03-16 腾讯科技(深圳)有限公司 一种性能检测方法、装置、设备及介质
CN111030846A (zh) * 2019-11-18 2020-04-17 杭州趣链科技有限公司 一种基于区块链的数据上链异常重试方法
CN110990489A (zh) * 2019-12-12 2020-04-10 南京荣链科技有限公司 一种传感数据批量写入区块的系统和方法
CN113032478B (zh) * 2019-12-24 2023-10-31 航天信息股份有限公司 区块链系统及数据上链方法、装置、设备和介质
CN111241069B (zh) * 2020-01-19 2023-10-20 上海墨珩网络科技有限公司 一种基于区块链的数据扁平化方法及系统
CN111209343B (zh) * 2020-01-22 2022-02-22 腾讯科技(深圳)有限公司 节点数据同步方法、装置、设备以及存储介质
CN111339191B (zh) * 2020-02-20 2023-05-26 百度在线网络技术(北京)有限公司 一种区块链的数据存储方法、装置、设备和介质
CN111339089B (zh) * 2020-02-21 2023-09-22 联动优势科技有限公司 一种应用于区块链的数据存储与获取方法及装置
CN111507720B (zh) 2020-04-22 2022-03-11 腾讯科技(深圳)有限公司 基于区块链的数据快照方法、装置及计算机可读存储介质
CN112433997B (zh) * 2020-11-20 2023-07-04 上海哔哩哔哩科技有限公司 数据修复方法及装置
CN112235420B (zh) * 2020-12-10 2021-04-02 腾讯科技(深圳)有限公司 基于区块链的数据同步方法、系统及相关设备
CN112988469B (zh) * 2021-04-27 2022-02-18 支付宝(杭州)信息技术有限公司 联盟链中的状态备份方法、装置和电子设备
CN113326165B (zh) * 2021-08-04 2021-11-16 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、设备及计算机可读存储介质

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630609A (zh) * 2016-02-24 2016-06-01 杭州复杂美科技有限公司 区块链的打包存储方法
CN106055597A (zh) * 2016-05-24 2016-10-26 布比(北京)网络技术有限公司 数字交易系统、及用于其的账户信息查询方法
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
KR101727525B1 (ko) * 2016-09-05 2017-04-17 주식회사 스케일체인 블록체인 기반 분산 저장 방법 및 이를 이용한 장치
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
CN107766540A (zh) * 2017-10-31 2018-03-06 上海分布信息科技有限公司 一种分区的区块链网络及其实现分区存储的方法
CN108171494A (zh) * 2017-11-23 2018-06-15 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN108243253A (zh) * 2018-01-11 2018-07-03 杭州复杂美科技有限公司 一种区块链节点同步模式
CN108241743A (zh) * 2018-01-04 2018-07-03 杭州复杂美科技有限公司 一种区块链快照方法
WO2018149385A1 (zh) * 2017-02-17 2018-08-23 阿里巴巴集团控股有限公司 一种区块链系统、数据存储方法及装置
CN108615156A (zh) * 2018-05-09 2018-10-02 上海魅联信息技术有限公司 一种基于区块链的数据结构
CN108683539A (zh) * 2018-05-21 2018-10-19 腾讯科技(深圳)有限公司 区块链网络的管理方法、装置、介质及电子设备
CN108694575A (zh) * 2018-06-13 2018-10-23 深圳前海微众银行股份有限公司 基于区块链的转账验证方法、装置及存储介质
CN108711052A (zh) * 2018-05-18 2018-10-26 电子科技大学 一种基于区块链的信息验证系统
CN108768665A (zh) * 2018-07-02 2018-11-06 上海达家迎信息科技有限公司 区块链生成方法、装置、计算机设备以及存储介质
CN108805570A (zh) * 2018-06-01 2018-11-13 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质
CN108846659A (zh) * 2018-06-13 2018-11-20 深圳前海微众银行股份有限公司 基于区块链的转账方法、装置及存储介质
CN108900364A (zh) * 2018-08-22 2018-11-27 泰康保险集团股份有限公司 区块链网络的管理方法、装置、介质及电子设备
CN111209343A (zh) * 2020-01-22 2020-05-29 腾讯科技(深圳)有限公司 节点数据同步方法、装置、设备以及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10304143B2 (en) * 2016-05-05 2019-05-28 Lance Timothy Kasper Consensus system for manipulation resistant digital record keeping

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630609A (zh) * 2016-02-24 2016-06-01 杭州复杂美科技有限公司 区块链的打包存储方法
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
CN106055597A (zh) * 2016-05-24 2016-10-26 布比(北京)网络技术有限公司 数字交易系统、及用于其的账户信息查询方法
KR101727525B1 (ko) * 2016-09-05 2017-04-17 주식회사 스케일체인 블록체인 기반 분산 저장 방법 및 이를 이용한 장치
WO2018149385A1 (zh) * 2017-02-17 2018-08-23 阿里巴巴集团控股有限公司 一种区块链系统、数据存储方法及装置
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
CN107766540A (zh) * 2017-10-31 2018-03-06 上海分布信息科技有限公司 一种分区的区块链网络及其实现分区存储的方法
CN108171494A (zh) * 2017-11-23 2018-06-15 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN108241743A (zh) * 2018-01-04 2018-07-03 杭州复杂美科技有限公司 一种区块链快照方法
CN108243253A (zh) * 2018-01-11 2018-07-03 杭州复杂美科技有限公司 一种区块链节点同步模式
CN108615156A (zh) * 2018-05-09 2018-10-02 上海魅联信息技术有限公司 一种基于区块链的数据结构
CN108711052A (zh) * 2018-05-18 2018-10-26 电子科技大学 一种基于区块链的信息验证系统
CN108683539A (zh) * 2018-05-21 2018-10-19 腾讯科技(深圳)有限公司 区块链网络的管理方法、装置、介质及电子设备
CN108805570A (zh) * 2018-06-01 2018-11-13 腾讯科技(深圳)有限公司 数据处理方法、装置及存储介质
CN108694575A (zh) * 2018-06-13 2018-10-23 深圳前海微众银行股份有限公司 基于区块链的转账验证方法、装置及存储介质
CN108846659A (zh) * 2018-06-13 2018-11-20 深圳前海微众银行股份有限公司 基于区块链的转账方法、装置及存储介质
CN108768665A (zh) * 2018-07-02 2018-11-06 上海达家迎信息科技有限公司 区块链生成方法、装置、计算机设备以及存储介质
CN108900364A (zh) * 2018-08-22 2018-11-27 泰康保险集团股份有限公司 区块链网络的管理方法、装置、介质及电子设备
CN111209343A (zh) * 2020-01-22 2020-05-29 腾讯科技(深圳)有限公司 节点数据同步方法、装置、设备以及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
区块链全局账本数据的拆分技术研究;于雷;金岩;;高技术通讯(第Z2期);全文 *
比特币区块链分叉研究;王健;陈恭亮;;通信技术(第01期);全文 *

Also Published As

Publication number Publication date
CN109636388A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN109636388B (zh) 区块链网络中的数据处理方法、装置、介质及电子设备
US10877860B2 (en) Copying data from mirrored storage to auxiliary storage arrays co-located with primary storage arrays
CN110798509B (zh) 区块数据同步方法、装置、介质、电子设备
US10108493B2 (en) Adjusting dispersed storage network traffic due to rebuilding
US9268648B1 (en) System and method for consistency verification of replicated data in a recovery system
CN106716972B (zh) 半自动故障转移
US8386835B2 (en) System and method for end-to-end data integrity in a network file system
US10481988B2 (en) System and method for consistency verification of replicated data in a recovery system
US20110099148A1 (en) Verification Of Remote Copies Of Data
US8880980B1 (en) System and method for expeditious transfer of data from source to destination in error corrected manner
US10007456B1 (en) Efficient scrubbing of mirrored memory
US10838767B2 (en) Distributed computing utilizing a recovery site
CN106899654A (zh) 一种序列值生成方法、装置及系统
CN109254998B (zh) 数据管理方法、物联网设备、数据库服务器及系统
US10275308B2 (en) Detecting and correcting silent data corruption in a distributed storage system
CN108572888A (zh) 磁盘快照创建方法和磁盘快照创建装置
CN107766354A (zh) 一种用于保证数据正确性的方法与设备
US8838545B2 (en) Incremental and prioritized restoration of blocks
CN111949738A (zh) 基于区块链的数据存储去重方法、终端设备和存储介质
CN114391136A (zh) 增强的虚拟机镜像管理系统
US11379315B2 (en) System and method for a backup data verification for a file system based backup
US11442828B2 (en) Handling failures in distributed data system
KR102620080B1 (ko) 주문 데이터를 처리하는 방법 및 장치
CN117591602A (zh) 一种cdc数据库日志的同步方法、装置、设备及介质
CN110750550A (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