CN113742786B - 区块链中归档数据校验方法及装置 - Google Patents
区块链中归档数据校验方法及装置 Download PDFInfo
- Publication number
- CN113742786B CN113742786B CN202010478802.9A CN202010478802A CN113742786B CN 113742786 B CN113742786 B CN 113742786B CN 202010478802 A CN202010478802 A CN 202010478802A CN 113742786 B CN113742786 B CN 113742786B
- Authority
- CN
- China
- Prior art keywords
- data
- block
- verified
- operation value
- archive
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000013507 mapping Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims description 18
- 230000002427 irreversible effect Effects 0.000 claims description 12
- 238000012795 verification Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 8
- 238000013524 data verification Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 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
- 230000000007 visual effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供提供了一种区块链中归档数据校验方法及装置,涉及区块链技术领域,该方法包括:获取待校验的区块数据的第一标识;根据第一标识确定待校验的区块链数据对应的第一归档文件;并在预设映射表中获取预先记录的第一归档文件对应的第一运算值;根据预设算法对第一归档文件进行运算,确定第一归档文件的第二运算值;如果第一运算值与第二运算值一致,基于第一标识在第一归档文件中获取待校验的区块数据,确定待校验的区块数据的第三运算值;如果第三运算值与第一区块头中记录的待校验的区块数据的第四运算值一致,确定归档数据中的待校验的区块数据未被修改,以此可以提升归档数据的安全性。
Description
技术领域
本申请涉及区块链领域,具体而言,涉及一种区块链中归档数据校验方法及装置。
背景技术
随着信息技术的更新,区块链作为新兴的存储技术逐渐成为发展热门,区块链系统是利用密码学保证数据传输和访问的安全,生成不可篡改和不可伪造的分布式账本的数据网络系统。在区块链系统中,交易账本以块链式结构存储,每个区块链节点都会存储区块链系统完整的数据。随着区块链系统的运行时间的增长,区块链的高度、区块链上存储的在线数据的数量也呈线性增长,会使得区块链节点中用于存储区块链的在线数据面临IO瓶颈。
目前可以对达到预设条件的区块链数据进行归档,对这些数据进行分片并分配到对应的分布式存储引擎中的存储节点,归档流程到此结束。但是目前的已归档数据存在被篡改的风险。
发明内容
本申请的目的包括,例如,提供了一种区块链中归档数据校验方法及装置,以缓解了已归档的区块数据容易被篡改的问题。
第一方面,本申请实施例提供一种区块链中归档数据校验方法,包括:
获取待校验的区块数据的第一标识,待校验的区块数据在区块链账本中对应有第一区块头,待校验的区块数据为归档数据;
根据第一标识确定待校验的区块链数据对应的第一归档文件;并在预设映射表中获取预先记录的第一归档文件对应的第一运算值;第一运算值是根据预设算法对第一归档文件进行运算得到的不可逆数值;
根据预设算法对归档文件进行运算,确定第一归档文件的第二运算值;
如果第一运算值与第二运算值一致,基于第一标识在第一归档文件中获取待校验的区块数据,并根据预设算法对待校验的区块数据进行运算,确定待校验的区块数据的第三运算值;
如果第三运算值与第一区块头中记录的待校验的区块数据的第四运算值一致,确定归档数据中的待校验的区块数据未被修改。
在可选的实施方式中,第一标识用于指示待校验的区块在区块链账本中的位置,第一归档文件包括一个或多个位置连续的区块数据。
在可选的实施方式中,一个或多个位置连续的区块数据基于写入时间、区块高度值以及访问频率中的一项或多项归档条件确定。
在可选的实施方式中,还包括:
从区块链账本中确定符合归档条件的待归档的区块的第二标识,其中,待归档的区块包括待归档的区块数据以及第二区块头;
将第二标识对应的待归档的区块数据作为第二归档文件进行归档,并根据预设算法对第二归档文件进行运算得到第五数值;
将第五数值记录在预设映射表。
在可选的实施方式中,获取待校验的区块数据的第一标识的步骤,包括:
接收区块链节点发送的查询请求,查询请求包括待校验的区块数据的第一标识以及第一区块头中的第一根摘要,第一根摘要为第四运算值。
在可选的实施方式中,如果第一运算值与第二运算值不一致,则向区块链节点发送查询失败的响应;
或,如果第三运算值与第四运算值不一致,则向区块链节点发送查询失败的响应。
在可选的实施方式中,归档数据存储在归档服务器中,方法还包括:
接收归档服务器发送的事件对象,事件对象用于指示数据归档过程的状态变化所出发的事件消息;
响应于客户端发送的状态查询请求,基于事件对象,生成用于展示数据归档当前状态的页面数据;
将页面数据发送至客户端以便客户端基于页面数据对数据归档的状态进行可视化显示。
第二方面,本申请实施例提供一种区块链中归档数据校验装置,包括:
获取模块,用于获取待校验的区块数据的第一标识,待校验的区块数据在区块链账本中对应有第一区块头,待校验的区块数据为归档数据;
第一确定模块,用于根据第一标识确定待校验的区块链数据对应的第一归档文件;并在预设映射表中获取预先记录的第一归档文件对应的第一运算值;第一运算值是根据预设算法对第一归档文件进行运算得到的不可逆数值;
第一运算模块,用于根据预设算法对第一归档文件进行运算,确定第一归档文件的第二运算值;
第二运算模块,用于如果第一运算值与第二运算值一致,基于第一标识在第一归档文件中获取待校验的区块数据,并根据预设算法对待校验的区块数据进行运算,确定待校验的区块数据的第三运算值;
第二确定模块,如果第三运算值与第一区块头中记录的待校验的区块数据的第四运算值一致,确定归档数据中的待校验的区块数据未被修改。
第三方面,本申请实施例提供一种计算机设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述前述实施方式任一项的方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有机器可运行指令,计算机可运行指令在被处理器调用和运行时,计算机可运行指令促使处理器运行前述实施方式任一项的方法。
本申请提供的区块链中归档数据校验方法及装置,通过获取待校验的区块数据的第一标识;根据第一标识确定待校验的区块链数据对应的第一归档文件;并在预设映射表中获取预先记录的第一归档文件对应的第一运算值;根据预设算法对第一归档文件进行运算,确定第一归档文件的第二运算值;如果第一运算值与第二运算值一致,基于第一标识在第一归档文件中获取待校验的区块数据,并根据预设算法对待校验的区块数据进行运算,确定待校验的区块数据的第三运算值;如果第三运算值与第一区块头中记录的待校验的区块数据的第四运算值一致,确定归档数据中的待校验的区块数据未被修改。以此可以通过不可逆运算进行两次验证过程,可以有效的防止已归档数据被篡改,保证了数据的安全。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种区块链中归档数据校验方法流程示意图;
图2为本申请实施例提供的一种区块链中区块数据归档方法流程示意图;
图3为本申请实施例提供的一种区块链中区块数据归档方法的一个示例;
图4为本申请实施例提供的一种区块链中归档数据校验方法的一个示例;
图5为本申请实施例提供的一种区块链中归档数据校验装置结构示意图;
图6为本申请实施例提供的一种计算机设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
区块链中归档数据校验,是一种保持区块链上数据规模大体不变却有能够为用户应用提供稳定性能的方法,其工作原理是,将区块链中长期不用使用的数据迁移至历史数据库或以文件形式存储,从而降低活动数据的规模。简单地说,数据归档是将不再经常使用的数据移到一个单独的存储设备来进行长期保存的过程。
对于已经归档的数据可以随时进行备份而不会影响区块链上的应用;区块链上区块数据也因为进行数据归档后而瘦身,备份数据量减少,并从整体上减少需要备份的数据总量;同时,在对数据进行同步和恢复的时候,可以在短时间内首先完成链上数据恢复,之后再进行其他数据的恢复工作,能够提高效率和可用性,因此有必要对区块链数据进行归档。
本申请实施例提供了一种区块链中归档数据校验方法及装置。通过对已归档数据的二次校验,可以有效的防止已归档数据被篡改,保证了数据的安全。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图1为本申请实施例提供的一种区块链中归档数据校验方法流程示意图。如图1所示,该方法可以应用于BaaS(Blockchain as a Service,区块链即服务)平台,该平台可以与客户端以及区块链节点进行通信,用于为客户端提供针对区块链账本的查询归档等服务,如图1所示,该方法可以包括:
S110,获取待校验的区块数据的第一标识,该待校验的区块数据在区块链账本中对应有第一区块头,该待校验的区块数据为归档数据。
该区块链账本有多个区块构成,每个区块可以包括区块头以及区块数据。该区块头可以包括该区块的属性信息,例如,该属性信息可以包括当前区块的编号、上一区块的编号以及区块数据的根摘要等等。该区块数据可以为该区块链账本中记录的业务,例如,该业务数据可以为交易数据。
第一标识用于指示待校验的区块在区块链账本中的位置,例如,该第一标识可以为高度值,该高度值可以基于区块数据在区块链账本中的位置确定。例如,在确定符合归档条件的待归档的区块数据后,将该待归档的区块数据在区块链账本中所在的位置确定为归档位置,该归档位置可以为该数据区块在区块链账本中的序号,也相当于该待归档数据所在区块的高度。比如待归档数据所在区块的高度值为99,则将高度值99确定为归档位置。
S120,根据第一标识确定待校验的区块链数据对应的第一归档文件;并在预设映射表中获取预先记录的第一归档文件对应的第一运算值;第一运算值是根据预设算法对第一归档文件进行运算得到的不可逆数值。
归档数据可以通过归档文件进行存储,每个归档文件可以包括一个或多个位置联系的区块数据。例如,该第一归档文件包括一个或多个位置连续的区块数据。该一个或多个位置连续的区块数据基于写入时间、区块高度值以及访问频率中的一项或多项归档条件确定。具体的归档条件可根据实际应用场景进行确定,比如归档条件可预先设置为位于预设时间段区块中的区块数据,也可以随时手动设置,如选择将特定格式或属性的区块数据归档。
可以是根据预设算法针对每个归档文件生成运算值,并将该运算值记录在预设的映射表中。例如,可以根据预设算法针对第一归档文件生成第一运算值,并将该第一运算值记录在预设的映射表中。在需要进行验证时,可以直接在该映射表中获取该第一运算值。
其中,在该预设的映射表中,运算值可以与其对应的区块的标识对应记录。例如,第一运算值与第一标识对应记录在该预设的映射表中。
该预设算法可以为可验证的不可逆算法,得到的运算值可以为不可逆数据,例如,该预设算法可以为哈希运算,具体可以哈希算法类别可以根据实际需要确定。
S130,根据预设算法对第一归档文件进行运算,确定第一归档文件的第二运算值;
在验证归档数据是否被篡改时,可以先验证归档文件是否被篡改,此时,可以先对归档文件进行运算,确定该归档文件的运算值,例如,对验证时获取的第一归档文件根据预设算法进行运算,确定第二运算值。
可以比对第一运算值和第二运算值是否一致,如果一致,则执行步骤S140,如果不一致则说明该第一归档文件已经被篡改。
S140,如果第一运算值与第二运算值一致,基于第一标识在第一归档文件中获取待校验的区块数据,并根据预设算法对待校验的区块数据进行运算,确定待校验的区块数据的第三运算值。
在对归档文件验证通过后,还可以对待校验的区块数据进行校验,以确定验证时获取的归档文件中的待校验的区块数据是否被篡改。
此时,可以比对第一归档文件中的待校验的区块数据的第三运算值与区块链账本中第一区块头中的待校验的区块数据的第四运算值是否一致,如果一致,则执行步骤S150;如果不一致,则确定该待校验的区块数据已被篡改。
S150,如果第三运算值与第一区块头中记录的待校验的区块数据的第四运算值一致,确定归档数据中的待校验的区块数据未被修改。
对于未被修改的区块数据,可以在收到恢复请求时,恢复至区块链中或者发送至请求该区块数据的客户端。
作为一个示例,在区块链节点请求恢复区块数据时,上述步骤S110具体可以通过如下步骤实现:
步骤A,接收区块链节点发送的查询请求,该查询请求包括待校验的区块数据的第一标识。
在接收到查询请求后,可以根据查询请求中的第一标识确定区块数据的写入时间、区块链高度值、数据访问频率等条件判断所要查询的区块数据是否是已归档数据,若是,根据这些条件在归档文件中查询,当在已归档文件中能够查询到对应的文件时,首先进行第一次还原校验,在第一次校验通过后再进行第二次校验。
在一些实施例中,该第一查询请求还可以包括该第一区块头中的第一根摘要,该第一根摘要为第四运算值。
例如,该区块数据在区块链账本中对应有Merkle树,每个Merkle树具有一个根摘要;其中,该Merkle树的根摘要一般存储在区块链账本中的区块头中,该Merkle树的根摘对应该区块数据。
其中,Merkle树可以被用来快速比较大量的数据,因为当两个Merkle树根相同时,则意味着所代表的数据必然相同。原始数据的Merkle树中上一层的非叶子节点的特征值是由两个下一层的关联节点的关联特征值进行单向不可逆运算得到,Merkle树最顶层的根节点和每一个最底层的叶子节点之间均存在一条主链,在获取到校验请求中的目标信息对应的标签之后,BaaS可以基于目标信息的标签查询第一特征值到原始Merkle树最顶层的第一根摘要之间的目标主链。
在步骤A之后,可以依次依据需要执行上述步骤S120-S150。
其中,在上述步骤S120-S150执行过程中,如果第一运算值与第二运算值不一致,或,第三运算值与第四运算值不一致,也就是归档数据中的待校验的区块数据已被修改,则执行结束,并向区块链节点发送查询失败的响应。
在上述步骤S120-S150执行结束后,如果第一运算值与第二运算值一致,且第三运算值与第四运算值一致,也就是归档数据中的待校验的区块数据未被修改,则向区块链节点发送该待校验的区块数据。
本申请实施例通过对归档文件以及已归档的区块数据分别结合不可逆运算进行两次验证过程,可以有效的防止已归档数据被篡改,保证了数据的安全,降低归档数据不可还原的风险。
下面结合具体实施方式,对归档的过程进行进一步地介绍。例如,结合图2所示:
S210,从区块链账本中确定符合归档条件的待归档的区块的第二标识,其中,该待归档的区块包括待归档的区块数据以及第二区块头。
该归档条件可以基于写入时间、高度值以及访问频率等中的一项或多项定义,具体可以参见前述实施例中的描述。
该待归档的区块的第二标识用于指示待归档的区块在区块链账本中的位置,例如,该第二标识可以为高度值,该高度值可以基于待归档的区块数据在区块链账本中的位置确定。例如,在确定符合归档条件的待归档的区块数据后,将该待归档的区块数据在区块链账本中所在的位置确定为归档位置,该归档位置可以为该数据区块在区块链账本中的序号,也相当于该待归档数据所在区块的高度。
其中,该待归档的区块可以为一个或多个连续的区块,该第二标识也可以为一个或多个,每个区块对应一个标识。
例如,如图3所示,可以周期性的检测区块链上的数据,基于归档条件判断是否存在待归档区块数据,如果存在则执行步骤S210;或者,可以接收客户端发送的归档请求,该归档请求可以由用户触发,该归档请求可以指定待归档区块数据。例如,“Block(区块)-1、Block-2、···、Block-n”为待归档的区块数据对应的链上区块,此时,可以将该“Block-1、Block-2、···、Block-n”发送至归档服务器,以便该归档服务器进行归档。
S220,将第二标识对应的待归档的区块数据作为第二归档文件进行归档,并根据预设算法对第二归档文件进行运算得到第五数值;
例如,如果检测到满足归档条件的待归档区块数据,若区块链账本中位于归档位置的区块为单个区块或连续的多个区块,则将位于归档位置的区块中的所有区块数据作为一个归档文件转移至归档服务器中,该归档服务器用于接收并存储区块数据;可以基于该归档文件生成可验证的不可逆数值。例如,可以拷贝满足归档条件的待归档数据,将待归档数据基于连续性进行打包后,上传至归档服务器中存储,该归档服务器可以为BaaS平台的服务器或文件系统。
另外,可以在区块链账本上保留区块头的前提下,将待归档的完整区块进行归档,也可以仅将区块中的区块数据进行归档。
S230,将第五数值记录在预设映射表。
该第五数值可以与第二标识对应记录在预设的映射表中。例如,如图3所示,该预设的映射表可以为Hash(哈希)表。
作为一个示例,结合图4所示,可以包括如下步骤:
步骤1),接收对归档数据的查询请求。
可以根据查询请求中的数据写入时间、区块链高度值、数据访问频率等条件判断所要查询的数据是否是已归档数据,若是,根据这些条件在归档文件hash表中查询,当在归档文件hash表中能够查询到对应的文件hash后,再进行还原校验。
步骤2),对归档数据进行还原校验。该还原校验即验证hash表中的归档文件hash与根据归档文件计算的hash是否一致。如果一致,则还原校验通过,如果不一致,则还原校验失败。
步骤3),在还原校验通过后,获取归档数据的hash;以及获取区块链上对应原始数据的Merkle树的根摘要。
该需要查询的归档数据即为需要校验的归档数据;
步骤4),对比归档数据生成的hash以及从区块链中提取原始数据的Merkle树的根摘要是否一致。
步骤5),若一致,则开始查询归档数据,并返回查询结果。
步骤6),若不一致,则重新获取归档数据。
在一些实施例中,该归档数据存储在归档服务器中,该归档服务器可以为BaaS平台,也可以为文件系统。对于区块数据的归档以及校验的过程,可将该过程可视化展示,本申请能够进行区块链数据的归档过程显示,使区块链数据归档复杂的运行状态直观化,可视化;且通过交互界面调整归档条件、发出归档要求和手动查询归档数据,有效降低区块链数据归档的操作门槛,方便可控。作为一个示例,方法还包括如下步骤:
步骤a),接收归档服务器发送的事件对象,事件对象用于指示数据归档过程的状态变化所出发的事件消息;
其中,BaaS平台接收区块链节点或归档服务器推送的相关消息数据,将消息数据解析为事件对象,该事件对象为数据归档过程状态变化所触发的事件消息;
步骤b),响应于客户端发送的状态查询请求,基于事件对象,生成用于展示数据归档当前状态的页面数据;
客户端可以向BaaS平台查询该归档过程,例如,该BaaS平台采用B(浏览器)/S(服务器)架构,客户端为浏览器,用户通过浏览器可以访问该BaaS平台的服务器,通过该浏览器用户可以向该BaaS平台的服务器发送状态查询请求,该状态查询请求可以包括需要查询的区块数据的标识。
该BaaS平台的服务器genuine该需要查询的区块数据的标识确定其对应的各个事件对象,并汇总生成用于展示数据归档当前状态的页面数据。该页面数据按照所定义的格式和内容对数据归档过程状态进行记录。
步骤c),将页面数据发送至客户端以便客户端基于页面数据对数据归档的状态进行可视化显示。
根据解析后的页面数据按照所定义的格式和内容对数据归档过程状态予以可视化显示和实时更新。
其中可视化显示的形式包括但不限于图形显示和日志显示。
该图形显示的内容包括:基于BaaS平台显示区块链状态服务的连线或离线状态;实时显示目前的数据归档条件,目前的区块链上数据是否满足归档要求,归档后的区块链状态和已归档数据的位置等等。
该日志显示的内容包括:以可控制台滚动方式显示所有收到的数据归档过程日志。
如图5所示,本申请实施例提供了一种区块链中归档数据校验装置结构示意图,如图5所示,该装置包括:
获取模块501,用于获取待校验的区块数据的第一标识,待校验的区块数据在区块链账本中对应有第一区块头,待校验的区块数据为归档数据;
第一确定模块502,用于根据第一标识确定待校验的区块链数据对应的第一归档文件;并在预设映射表中获取预先记录的第一归档文件对应的第一运算值;第一运算值是根据预设算法对第一归档文件进行运算得到的不可逆数值;
第一运算模块503,用于根据预设算法对第一归档文件进行运算,确定第一归档文件的第二运算值;
第二运算模块504,用于如果第一运算值与第二运算值一致,基于第一标识在第一归档文件中获取待校验的区块数据,并根据预设算法对待校验的区块数据进行运算,确定待校验的区块数据的第三运算值;
第二确定模块505,用于如果第三运算值与第一区块头中记录的待校验的区块数据的第四运算值一致,确定归档数据中的待校验的区块数据未被修改。
在一些实施例中,第一标识用于指示待校验的区块在区块链账本中的位置,第一归档文件包括一个或多个位置连续的区块数据。
在一些实施例中,一个或多个位置连续的区块数据基于写入时间、区块高度值以及访问频率中的一项或多项归档条件确定。
在一些实施例中,还包括:
第三确定模块,用于从区块链账本中确定符合归档条件的待归档的区块的第二标识,其中,待归档的区块包括待归档的区块数据以及第二区块头;
归档模块,用于将第二标识对应的待归档的区块数据作为第二归档文件进行归档,并根据预设算法对第二归档文件进行运算得到第五数值;
记录模块,用于将第五数值记录在预设映射表。
在一些实施例中,获取模块501具体用于:
接收区块链节点发送的查询请求,查询请求包括待校验的区块数据的第一标识以及第一区块头中的第一根摘要,第一根摘要为第四运算值。
在一些实施例中,如果第一运算值与第二运算值不一致,或第三运算值与第四运算值不一致,则向区块链节点发送查询失败的响应;如果第一运算值与第二运算值一致,且第三运算值与第四运算值一致,则向区块链节点发送待校验的区块数据。
在一些实施例中,归档数据存储在归档服务器中,该装置还包括可视化模块,用于:
接收归档服务器发送的事件对象,事件对象用于指示数据归档过程的状态变化所出发的事件消息;
响应于客户端发送的状态查询请求,基于事件对象,生成用于展示数据归档当前状态的页面数据;
将页面数据发送至客户端以便客户端基于页面数据对数据归档的状态进行可视化显示。
本申请实施例提供的区块链中归档数据校验装置,与上述实施例提供的区块链中归档数据校验方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
如图6所示,本申请实施例提供的一种计算机设备700,包括:处理器701、存储器702和总线,存储器702存储有处理器701可执行的机器可读指令,当电子设备运行时,处理器701与存储器702之间通过总线通信,处理器701执行机器可读指令,以执行如上述区块链中归档数据校验方法的步骤。
具体地,上述存储器702和处理器701能够为通用的存储器和处理器,这里不做具体限定,当处理器701运行存储器702存储的计算机程序时,能够执行上述区块链中归档数据校验方法。
对应于上述区块链中归档数据校验方法,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有机器可运行指令,计算机可运行指令在被处理器调用和运行时,计算机可运行指令促使处理器运行上述区块链中归档数据校验方法的步骤。
本申请实施例所提供的区块链中归档数据校验装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例移动控制方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种区块链中归档数据校验方法,其特征在于,包括:
获取待校验的区块数据的第一标识,所述待校验的区块数据在区块链账本中对应有第一区块头,所述待校验的区块数据为归档数据;
根据所述第一标识确定所述待校验的区块链数据对应的第一归档文件;并在预设映射表中获取预先记录的所述第一归档文件对应的第一运算值;所述第一运算值是根据预设算法对所述第一归档文件进行运算得到的不可逆数值;
根据所述预设算法对所述第一归档文件进行运算,确定所述第一归档文件的第二运算值;
如果所述第一运算值与所述第二运算值一致,基于所述第一标识在所述第一归档文件中获取所述待校验的区块数据,并根据所述预设算法对所述待校验的区块数据进行运算,确定所述待校验的区块数据的第三运算值;
如果所述第三运算值与所述第一区块头中记录的所述待校验的区块数据的第四运算值一致,确定所述归档数据中的所述待校验的区块数据未被修改。
2.根据权利要求1所述的方法,其特征在于,所述第一标识用于指示所述待校验的区块在所述区块链账本中的位置,所述第一归档文件包括一个或多个位置连续的区块数据。
3.根据权利要求2所述的方法,其特征在于,所述一个或多个位置连续的区块数据基于写入时间、区块高度值以及访问频率中的一项或多项归档条件确定。
4.根据权利要求3所述的方法,其特征在于,还包括:
从区块链账本中确定符合所述归档条件的待归档的区块的第二标识,其中,所述待归档的区块包括待归档的区块数据以及第二区块头;
将所述第二标识对应的待归档的区块数据作为第二归档文件进行归档,并根据所述预设算法对所述第二归档文件进行运算得到第五数值;
将所述第五数值记录在所述预设映射表。
5.根据权利要求1所述的方法,其特征在于,获取待校验的区块数据的第一标识的步骤,包括:
接收区块链节点发送的查询请求,所述查询请求包括所述待校验的区块数据的第一标识以及所述第一区块头中的第一根摘要,所述第一根摘要为所述第四运算值。
6.根据权利要求5所述的方法,其特征在于,如果所述第一运算值与所述第二运算值不一致,或所述第三运算值与所述第四运算值不一致,则向所述区块链节点发送查询失败的响应;
如果所述第一运算值与所述第二运算值一致,且所述第三运算值与所述第四运算值一致,则向所述区块链节点发送所述待校验的区块数据。
7.根据权利要求1所述的方法,其特征在于,所述归档数据存储在归档服务器中,所述方法还包括:
接收归档服务器发送的事件对象,所述事件对象用于指示数据归档过程的状态变化所出发的事件消息;
响应于客户端发送的状态查询请求,基于所述事件对象,生成用于展示数据归档当前状态的页面数据;
将所述页面数据发送至所述客户端以便所述客户端基于所述页面数据对所述数据归档的状态进行可视化显示。
8.一种区块链数据归档装置,其特征在于,包括:
获取模块,用于获取待校验的区块数据的第一标识,所述待校验的区块数据在区块链账本中对应有第一区块头,所述待校验的区块数据为归档数据;
第一确定模块,用于根据所述第一标识确定所述待校验的区块链数据对应的第一归档文件;并在预设映射表中获取预先记录的所述第一归档文件对应的第一运算值;所述第一运算值是根据预设算法对所述第一归档文件进行运算得到的不可逆数值;
第一运算模块,用于根据所述预设算法对所述第一归档文件进行运算,确定所述第一归档文件的第二运算值;
第二运算模块,用于如果所述第一运算值与所述第二运算值一致,基于所述第一标识在所述第一归档文件中获取所述待校验的区块数据,并根据所述预设算法对所述待校验的区块数据进行运算,确定所述待校验的区块数据的第三运算值;
第二确定模块,如果所述第三运算值与所述第一区块头中记录的所述待校验的区块数据的第四运算值一致,确定所述归档数据中的所述待校验的区块数据未被修改。
9.一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478802.9A CN113742786B (zh) | 2020-05-29 | 2020-05-29 | 区块链中归档数据校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478802.9A CN113742786B (zh) | 2020-05-29 | 2020-05-29 | 区块链中归档数据校验方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113742786A CN113742786A (zh) | 2021-12-03 |
CN113742786B true CN113742786B (zh) | 2024-02-20 |
Family
ID=78725010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010478802.9A Active CN113742786B (zh) | 2020-05-29 | 2020-05-29 | 区块链中归档数据校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742786B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115545873B (zh) * | 2022-12-01 | 2023-04-07 | 北京合思信息技术有限公司 | 电子会计档案数据状态流转处理方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024002A (zh) * | 2009-09-10 | 2011-04-20 | 上海中信信息发展股份有限公司 | 一种电子文件归档的安全存储方法及系统 |
CN109922049A (zh) * | 2019-02-02 | 2019-06-21 | 立旃(上海)科技有限公司 | 基于区块链的验证装置及方法 |
CN110647766A (zh) * | 2019-09-19 | 2020-01-03 | 上海易点时空网络有限公司 | 保证数据仓库文件下载安全性的方法及系统 |
CN110716895A (zh) * | 2019-09-17 | 2020-01-21 | 平安科技(深圳)有限公司 | 目标数据归档方法、装置、计算机设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017205163A1 (de) * | 2017-03-27 | 2018-09-27 | Bundesdruckerei Gmbh | Hashwerte für die bidirektionale verkettete Blockchain |
-
2020
- 2020-05-29 CN CN202010478802.9A patent/CN113742786B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024002A (zh) * | 2009-09-10 | 2011-04-20 | 上海中信信息发展股份有限公司 | 一种电子文件归档的安全存储方法及系统 |
CN109922049A (zh) * | 2019-02-02 | 2019-06-21 | 立旃(上海)科技有限公司 | 基于区块链的验证装置及方法 |
CN110716895A (zh) * | 2019-09-17 | 2020-01-21 | 平安科技(深圳)有限公司 | 目标数据归档方法、装置、计算机设备及介质 |
CN110647766A (zh) * | 2019-09-19 | 2020-01-03 | 上海易点时空网络有限公司 | 保证数据仓库文件下载安全性的方法及系统 |
Non-Patent Citations (1)
Title |
---|
吕品晶 ; .基于区块链技术的电子文件归档安全体系探究.黑龙江档案.2020,(第02期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113742786A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7478113B1 (en) | Boundaries | |
US8285689B2 (en) | Distributed file system and data block consistency managing method thereof | |
KR101960993B1 (ko) | 효율적인 애플리케이션-인식 재난 복구 기법 | |
CN106933703B (zh) | 一种数据库数据备份的方法、装置及电子设备 | |
US20110137865A1 (en) | Method for managing storage service | |
CN110163009B (zh) | Hdfs存储平台的安全校验及修复的方法和装置 | |
CN109492049B (zh) | 用于区块链网络的数据处理、区块生成及同步方法 | |
CN111858468B (zh) | 分布式文件系统元数据校验方法、系统、终端及存储介质 | |
CN110781028A (zh) | 数据备份方法、数据恢复方法、装置及计算设备 | |
CN115277677B (zh) | 批量档案挂接方法、装置、计算机设备及存储介质 | |
US20090157767A1 (en) | Circular log amnesia detection | |
CN110737719A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
CN113742786B (zh) | 区块链中归档数据校验方法及装置 | |
CN109450977B (zh) | 缓存数据的推送、更新方法及装置 | |
CN110866004A (zh) | 一种核验区块链归档数据是否被篡改的方法 | |
CN111404737B (zh) | 一种容灾处理方法以及相关装置 | |
CN112261114A (zh) | 一种数据备份系统及方法 | |
CN112433810A (zh) | docker容器镜像存储、拉取方法、装置及计算机可读存储介质 | |
CN111625396B (zh) | 备份数据的校验方法、服务器及存储介质 | |
CN111552673A (zh) | 文件处理方法、装置、电子设备及存储介质 | |
CN113722154B (zh) | 数据管理方法和系统、监测服务器及存储介质 | |
CN114281769A (zh) | 磁盘上文件管理方法、装置、计算机设备及存储介质 | |
CN111209138A (zh) | 数据存储系统的运维方法及装置 | |
CN111460436B (zh) | 一种基于区块链的非结构化数据操作方法和系统 | |
CN113535482A (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 |