CN113961908B - 数据存证方法、装置、计算机设备和存储介质 - Google Patents
数据存证方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113961908B CN113961908B CN202111584363.0A CN202111584363A CN113961908B CN 113961908 B CN113961908 B CN 113961908B CN 202111584363 A CN202111584363 A CN 202111584363A CN 113961908 B CN113961908 B CN 113961908B
- Authority
- CN
- China
- Prior art keywords
- data
- hash value
- sliced
- fragmented
- target
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种数据存证方法、装置、计算机设备和存储介质。所述方法包括:将待存证数据的初始哈希值存储至区块链;将所述待存证数据进行分片,得到至少两份分片数据;将第二哈希值以及第一分片数据存储至区块链,并将第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信。上述方法在数据进行合并前以及进行合并后分别利用哈希值进行是否可信的验证,保证分片数据以及合并后的数据的可信程度,防止数据被篡改,上链过程更加安全。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种数据存证方法、装置、计算机设备和存储介质。
背景技术
利用区块链的链上数据不可篡改的特性,可以将各类电子数据发送至区块链进行上链存储,籍此实现数据可信存证、数据可追溯等应用。
当前基于区块链的硬件设备在采集数据可信方面已经有了较多的探索和实践,但是在采集大容量数据并进行可信验证的性能方面研究仍处于空白阶段。但是在实际场景中常有大容量数据的存证需求,但是如果基于单个服务器设备进行大容量数据的上链存证,存在传输效率低且不能保证上链数据的可信的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种数据存证方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种数据存证方法,应用于区块链服务器节点。所述方法包括:
将待存证数据的初始哈希值存储至区块链;
将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据;
将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;
基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;
基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信。
在其中一个实施例中,所述基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信之后包括:
若所述目标哈希值与所述初始哈希值匹配,则所述目标数据可信,对所述目标数据进行存储;
若所述目标哈希值与所述初始哈希值不匹配,则所述目标数据不可信,发出提示信号。
在其中一个实施例中,所述基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据包括:
基于所述第二哈希值验证所述第二分片数据是否可信,基于所述第一哈希值验证所述第一分片数据是否可信;
若所述第一分片数据以及第二分片数据均可信,则将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
在其中一个实施例中,所述将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点包括:
将所述第二哈希值、第一分片数据以及所述第一分片数据的位置信息存储至区块链,将所述第一哈希值、第二分片数据以及所述第二分片数据的位置信息发送到至少一个组网服务器节点,其中,所述位置信息包括所述分片数据在所述待存证数据中的位置。
在其中一个实施例中,所述基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据还包括:
基于所述第二哈希值验证所述第二分片数据是否可信,基于所述第一哈希值验证所述第一分片数据是否可信;
若所述第一分片数据以及第二分片数据均可信,则基于所述位置信息将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
在其中一个实施例中,所述将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点之前包括:
通过无线广播寻找预设范围内的服务器节点,并进行组网。
在其中一个实施例中,所述将待存证数据的初始哈希值存储至区块链之前还包括:
接收存证指令;
基于所述存证指令获取待存证数据;
若所述待存证数据的数据量大于预设阈值,则获取所述待存证数据的初始哈希值。
第二方面,本申请还提供了一种数据存证装置。所述装置包括:
第一上链模块,用于将待存证数据的初始哈希值存储至区块链;
分片模块,用于将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据;
第二上链模块,用于将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;
合并模块,用于基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;
验证模块,用于基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
将待存证数据的初始哈希值存储至区块链;
将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据;
将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;
基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;
基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
将待存证数据的初始哈希值存储至区块链;
将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据;
将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;
基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;
基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信。
上述数据存证方法、装置、计算机设备和存储介质,通过将待存证数据的初始哈希值存储至区块链;将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据;将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信的方式,将数据进行分片,通过多个设备将分片数据存储至区块链,提升了大容量数据的上链效率,并在数据进行合并前以及进行合并后分别利用哈希值进行是否可信的验证,保证分片数据以及合并后的数据的可信程度,防止数据被篡改,上链过程更加安全。
附图说明
图1为本发明一个实施例中数据存证方法的流程示意图;
图2为本发明另一个实施例中数据存证方法的流程示意图;
图3为本发明一个实施例中数据存证装置的结构框图;
图4为本发明一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种数据存证方法,在本实施例中,包括以下步骤:
步骤S101,将待存证数据的初始哈希值存储至区块链。
示例性地,待存证数据的初始哈希值上链后,可以用于验证后续上链的数据是否被篡改,是否完整,是否可信。
步骤S102,将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据。
可以理解的,在大容量数据的上链场景,采用单一服务器进行上链,由于带宽有限,会导致上链速度慢,时间长,效率较低。因此,将大容量数据拆分成多份,通过多个服务器进行上链,并行处理,提高上链效率。在其他实施例中,可以将待存证数据分片成多份。示例性地,当将待存证数据分片为两份分片数据时,第一分片数据和第二分片数据分别为分片后的单份数据;当将待存证数据分片为三份及以上数据时,第一分片数据为单份数据,第二分片数据可以包含多份分片后的数据。
在本实施例中,可以根据预设范围内能够进行组网的服务器节点的数量确定数据的分片份数,例如,预设范围内存在两个能够进行组网的服务器节点,则将待存证数据分片为三份。在其他实施例中,也可以根据用户需求确定分片份数,并根据分片份数在预设范围内寻找对应数量的服务器节点进行组网,例如,将待存证数据分片为四份,则在预设范围内寻找三个能够进行组网的服务器节点。
步骤S103,将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链。
在本实施例中,存在多个相互组网的服务器节点,其中,第一分片数据在本地服务器进行上链,同时将其他分片数据的哈希值与第一分片数据组合成数据包一并在本地服务器进行上链,可以理解的,对分片得到的每份数据分别求哈希值。示例性地,若分片得到两份分片数据,则对第二份数据求哈希值,并与第一份数据组合成数据包,在本地服务器进行上链;若分片得到三份分片数据,则分别对第二份数据以及第三份数据求哈希值,并与第一份数据组合成数据包,在本地服务器进行上链;其中,第二分片数据的第二哈希值可以为一个哈希值,也可以为多个哈希值;其余情况以此类推,此处不再赘述。
可以理解的,其他组网服务器节点接收并上链的也是单份数据以及其他每份数据对应的哈希值。示例性地,若分片得到两份分片数据,则将第二份数据发送给一个组网服务器节点;若分片得到三份分片数据,则将第二份和第三份数据分别发给两个组网服务器节点;其余情况以此类推,此处不再赘述。在本实施例中,每一份数据的数据量相同,在其他实施例中,每一份数据的数据量可以不同,此处不作具体限定。
步骤S104,基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
示例性地,基于第二哈希值判断第二分片数据是否可信,基于第一哈希值判断第一分片数据是否可信,并基于判断结果对第一分片数据以及第二分片数据进行合并,得到目标数据。可以理解的,若数据在传输以及上链的过程中未被篡改、保持完整,则第一分片数据以及第二分片数据的哈希值应当与上链前记录的哈希值一致。
步骤S105,基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信。
可以理解的,通过将经过分片、传输、上链、合并后的目标数据的哈希值与原始数据的哈希值进行比对,判断数据分片、传输、上链、合并过程中是否被篡改、是否完整以及是否可信。
上述数据存证方法、装置、计算机设备和存储介质,通过将待存证数据的初始哈希值存储至区块链;将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据;将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信的方式,将数据进行分片,通过多个设备将分片数据存储至区块链,提升了大容量数据的上链效率,并在数据上链后,进行合并前以及进行合并后分别利用哈希值进行是否可信的验证,保证分片数据以及合并后的数据的可信程度,防止数据被篡改,上链过程更加安全。
在另一个实施例中,所述将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点之前包括如下步骤:
通过无线广播寻找预设范围内的服务器节点,并进行组网。
在本实施例中,采用信证一体机作为服务器节点,信证一体机与区块链、云端服务器或远端中央服务器连接,实现对本地电子数据的哈希计算和数据上链存证,可将本地存储的电子文件上传至区块链上、云端服务器或远端中央服务器。具体的,信证一体机包含信证一体机发现模块、点对点组网模块、哈希值计算模块和数据上链模块。其中,信证一体机发现模块用于通过蓝牙、无线网络等途径识别预设范围内,即邻近的信证一体机设备,可以理解的,标识ID与预设ID匹配的信证一体机设备可以进行组网;点对点组网模块用于对已识别的信证一体机设备进行组网申请以及确认组网操作,相互组网的设备之间可进行数据传输;哈希值计算模块用于对设备本地的数据进行哈希计算,生成哈希值;数据上链模块支持连接云端的区块链服务,用于数据以及哈希值的上链。在其他实施例中,可以采用其他设备作为服务器节点,只需能够完成设备发现、组网、哈希值计算以及上链功能即可,此处不作具体限定。
示例性地,信证一体机出厂时带有唯一内置标识ID和存储在安全芯片;标识ID作为该信证一体机的唯一标识,在设备出厂时即配置;公私钥对存储在加密芯片中,用于数据隐私加密保护和数字签名。
上述实施例,通过蓝牙、无线网络等方式,基于设备ID进行消息交互发现、识别邻近的存证服务器节点,并组成点对点网络,以传输分片数据,充分利用邻近节点的数据通道,扩展了单节点大容量数据存证时的带宽有限问题,且选择邻近服务器节点进行数据传输,效率更高,稳定性更好,更加安全。
在另一个实施例中,所述基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信之后包括如下步骤:
步骤1,若所述目标哈希值与所述初始哈希值匹配,则所述目标数据可信,对所述目标数据进行存储;
步骤2,若所述目标哈希值与所述初始哈希值不匹配,则所述目标数据不可信,发出提示信号。
可以理解的,若目标哈希值与所述初始哈希值匹配,则说明经过分片、传输、上链、合并后的目标数据与原始数据保持一致,未被篡改、保持完整且可信。若目标哈希值与初始哈希值不匹配,则说明目标数据与原始数据不一致,本次取证或存证失败,需要提示用户重新取证。
上述实施例,通过哈希值判断经过分片、传输、上链、合并后的目标数据是否与原始数据保持一致,保证了数据的完整性和可信性。
在另一个实施例中,所述基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据包括如下步骤:
步骤1,基于所述第二哈希值验证所述第二分片数据是否可信,基于所述第一哈希值验证所述第一分片数据是否可信;
步骤2,若所述第一分片数据以及第二分片数据均可信,则将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
示例性地,第一分片数据以及第二分片数据在传输和上链的过程中可能被篡改,因此在传输前计算哈希值,并在传输和上链后通过分片数据的哈希值验证分片数据是否可信,在分片数据的哈希值与预先计算存储的哈希值匹配的情况下,认定分片数据可信,再进行合并,得到目标数据。可以理解的,第一分片数据的数据包中携带有第二分片数据的哈希值,可用于第二分片数据的验证,第二分片数据的数据包中携带有第一分片数据的哈希值,可用于第一分片数据的验证。在其他实施例中,当包括多份分片数据时,每份分片数据的数据包中携带有其他分片数据的哈希值,可通过轮询的方式依次对其他分片数据进行验证。
上述实施例,在分片数据上链后,合并前通过预先计算的分片数据哈希值对各分片数据进行可信性验证,避免分片数据在传输和上链过程中被篡改,保证了分片数据的可信性。
在另一个实施例中,所述将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点包括如下步骤:
将所述第二哈希值、第一分片数据以及所述第一分片数据的位置信息存储至区块链,将所述第一哈希值、第二分片数据以及所述第二分片数据的位置信息发送到至少一个组网服务器节点,其中,所述位置信息包括所述分片数据在所述待存证数据中的位置。
示例性地,在进行数据分片时,将每份分片数据在待存证数据中的位置信息与对应的分片数据打包,一并传输及上链。可以理解的,第一分片数据在待存证数据中处于开头位置,可以将序号1作为第一分片数据的位置信息,第二分片数据在待存证数据中连接在第一分片数据后,可以将序号2作为第二分片数据的位置信息。在其他实施例中,可以采用其他标识方式作为分片数据的位置信息,只需能够标识分片数据在待存证数据中的位置或顺序即可,此处不作具体限定。
在另一个实施例中,所述基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据还包括如下步骤:
步骤1,基于所述第二哈希值验证所述第二分片数据是否可信,基于所述第一哈希值验证所述第一分片数据是否可信;
步骤2,若所述第一分片数据以及第二分片数据均可信,则基于所述位置信息将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
可以理解的,在进行合并前,先对分片数据是否可信进行验证,并在各分片数据均验证可信的情况下,基于位置信息对分片数据进行合并,得到目标数据,保证分片数据的合并顺序与待存证数据一致。
上述实施例,先通过预先计算的分片数据的哈希值对分片数据进行可信性验证,再通过预先存储的分片数据的位置信息对分片数据进行合并,保证了分片数据的可信性以及合并的准确性,使合并得到的目标数据与待存证数据保持一致,保证了目标数据的完整性和可信性。
在另一个实施例中,所述将待存证数据的初始哈希值存储至区块链之前还包括如下步骤:
步骤1,接收存证指令;
步骤2,基于所述存证指令获取待存证数据;
步骤3,若所述待存证数据的数据量大于预设阈值,则获取所述待存证数据的初始哈希值。
可以理解的,待存证数据为大容量数据,在本实施例中,可以设定数据量阈值,在待存证数据的数据量超过数据量阈值时,采用本实施例的数据存证方法对待存证数据进行存证;若待存证数据的数据量未超过数据量阈值,则不采用本实施例的数据存证方法进行存证,而采用普通存证方法进行存证。示例性地,数据量阈值可以由用户根据实际需求进行设定。
上述实施例,通过对待存证数据的数据量进行判断,针对不同数据量的数据采用不同的存储方式,效率更高。
请参阅图2,图2为本发明另一实施例的数据存证方法的流程示意图。在另一个实施例中,所述数据存证方法包括如下步骤:
步骤1,第一信证一体机通过蓝牙、无线网等途径广播信证一体机发现消息,与邻近的第二信证一体机等多个信证一体机建立一个由N个信证一体机组成的点对点网络。
步骤2,第一信证一体机接收取证请求或存证任务,获得大容量取证数据D1。
示例性地,以MP4格式的视频源文件为例,取证得到100GB的视频源文件。
步骤3,第一信证一体机计算Hash(D1)= hash0,并将hash0上链存储。
步骤4,第一信证一体机将D1等分为N段数据,将一段数据留在本地,将其他数据分
发给点对点网络中的其他信证一体机,每段数据对应的数据包格式为:,i∈[1,N]。数据包由三部分组
成,i,即当前在待存证数据D1中的位置;和为除了以外其它被分片数据的哈希值。
示例性地,将视频源文件进行码流分片,均分为大小分别为50GB的文件1和文件2,并计算文件1的哈希值hash1和文件2的哈希值hash2;将文件1的序号设为1,并与hash2和文件1的数据打包成第一数据包,留在第一信证一体机进行本地存储,将文件2的序号设为2,并与hash1和文件2的数据打包成第二数据包,发送给组网中的第二信证一体机。
具体的,第一信证一体机将第一数据包存储至区块链,第二信证一体机将第二数据包存储至区块链。
步骤6,利用专属智能合约,先通过每个数据段对应的哈希值验证每个数据段是否可信,并将多个数据段进行整合,得到目标数据,并计算其哈希值,然后与最开始传输到链上的hash0进行对比。
在本实施例中,在链上分别用hash1和hash2验证文件1与文件2是否可信,再根据序号对文件1和文件2进行拼装,得到完整的100GB的视频源文件,计算拼装得到的视频源文件的哈希值,与最开始上传的hash0进行对比。
步骤7,对比成功,则说明存证数据没有被篡改,可以被保存;对比失败,则说明本次取证或存证失败,需要提示用户重新取证。
可以理解的,若拼装得到的视频源文件的哈希值与最开始上传的hash0一致,则说明拼装得到的视频源文件可信。
上述数据存证方法,对于基于区块链的电子数据存证场景,利用信证一体机进行组网,由信证一体机构建存证服务缓冲网络,以分担大容量数据存证需求,有效解决高频、大容量数据上链效率问题;同时,对于大容量电子数据存证场景,实现分片存储的同时通过数据分片前后的哈希值校验,实现大容量数据完整性可信验证。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据存证方法的数据存证装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据存证装置实施例中的具体限定可以参见上文中对于数据存证方法的限定,在此不再赘述。
在一个实施例中,如图3所示,提供了一种数据存证装置,包括:第一上链模块10、分片模块20、第二上链模块30、合并模块40和验证模块50,其中:
第一上链模块10,用于将待存证数据的初始哈希值存储至区块链。
分片模块20,用于将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据。
第二上链模块30,用于将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链。
第二上链模块30,还用于将所述第二哈希值、第一分片数据以及所述第一分片数据的位置信息存储至区块链,将所述第一哈希值、第二分片数据以及所述第二分片数据的位置信息发送到至少一个组网服务器节点,其中,所述位置信息包括所述分片数据在所述待存证数据中的位置。
合并模块40,用于基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
合并模块40,还用于:
基于所述第二哈希值验证所述第二分片数据是否可信,基于所述第一哈希值验证所述第一分片数据是否可信;
若所述第一分片数据以及第二分片数据均可信,则将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
合并模块40,还用于:
基于所述第二哈希值验证所述第二分片数据是否可信,基于所述第一哈希值验证所述第一分片数据是否可信;
若所述第一分片数据以及第二分片数据均可信,则基于所述位置信息将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
验证模块50,用于基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信。
数据存证装置,还包括:组网模块。
组网模块,用于通过无线广播寻找预设范围内的服务器节点,并进行组网。
数据存证装置,还包括:匹配模块。
匹配模块,用于:
若所述目标哈希值与所述初始哈希值匹配,则所述目标数据可信,对所述目标数据进行存储;
若所述目标哈希值与所述初始哈希值不匹配,则所述目标数据不可信,发出提示信号。
数据存证装置,还包括:哈希值获取模块。
哈希值获取模块,用于:
接收存证指令;
基于所述存证指令获取待存证数据;
若所述待存证数据的数据量大于预设阈值,则获取所述待存证数据的初始哈希值。
上述数据存证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据存证方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
将待存证数据的初始哈希值存储至区块链;
将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据;
将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;
基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;
基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
将待存证数据的初始哈希值存储至区块链;
将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据;
将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;
基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;
基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (9)
1.一种数据存证方法,应用于区块链服务器节点,其特征在于,所述方法包括:
将待存证数据的初始哈希值存储至区块链;
将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据;
将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;
基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;
基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信;
所述基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据包括:
基于所述第二哈希值验证所述第二分片数据是否可信,基于所述第一哈希值验证所述第一分片数据是否可信;
若所述第一分片数据以及第二分片数据均可信,则将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
2.根据权利要求1所述的数据存证方法,其特征在于,所述基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信之后包括:
若所述目标哈希值与所述初始哈希值匹配,则所述目标数据可信,对所述目标数据进行存储;
若所述目标哈希值与所述初始哈希值不匹配,则所述目标数据不可信,发出提示信号。
3.根据权利要求1所述的数据存证方法,其特征在于,所述将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点包括:
将所述第二哈希值、第一分片数据以及所述第一分片数据的位置信息存储至区块链,将所述第一哈希值、第二分片数据以及所述第二分片数据的位置信息发送到至少一个组网服务器节点,其中,所述位置信息包括所述分片数据在所述待存证数据中的位置。
4.根据权利要求3所述的数据存证方法,其特征在于,所述基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据还包括:
基于所述第二哈希值验证所述第二分片数据是否可信,基于所述第一哈希值验证所述第一分片数据是否可信;
若所述第一分片数据以及第二分片数据均可信,则基于所述位置信息将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
5.根据权利要求1所述的数据存证方法,其特征在于,所述将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点之前包括:
通过广播方式寻找预设范围内的服务器节点,并进行组网。
6.根据权利要求1所述的数据存证方法,其特征在于,所述将待存证数据的初始哈希值存储至区块链之前还包括:
接收存证指令;
基于所述存证指令获取待存证数据;
若所述待存证数据的数据量大于预设阈值,则获取所述待存证数据的初始哈希值。
7.一种数据存证装置,其特征在于,所述装置包括:
第一上链模块,用于将待存证数据的初始哈希值存储至区块链;
分片模块,用于将所述待存证数据进行分片,得到至少两份分片数据,所述分片数据包括第一分片数据以及第二分片数据;
第二上链模块,用于将所述第二分片数据的第二哈希值以及第一分片数据存储至区块链,并将所述第一分片数据的第一哈希值以及所述第二分片数据发送到至少一个组网服务器节点,通过所述组网服务器节点存储至区块链;
合并模块,用于基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据;
验证模块,用于基于所述初始哈希值以及所述目标数据的目标哈希值验证所述目标数据是否可信;
所述基于所述第一哈希值以及第二哈希值将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据包括:
基于所述第二哈希值验证所述第二分片数据是否可信,基于所述第一哈希值验证所述第一分片数据是否可信;
若所述第一分片数据以及第二分片数据均可信,则将上链后的所述第一分片数据以及第二分片数据进行合并,得到目标数据。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的数据存证方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的数据存证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111584363.0A CN113961908B (zh) | 2021-12-23 | 2021-12-23 | 数据存证方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111584363.0A CN113961908B (zh) | 2021-12-23 | 2021-12-23 | 数据存证方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113961908A CN113961908A (zh) | 2022-01-21 |
CN113961908B true CN113961908B (zh) | 2022-03-22 |
Family
ID=79473610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111584363.0A Active CN113961908B (zh) | 2021-12-23 | 2021-12-23 | 数据存证方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113961908B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114117554B (zh) * | 2022-01-28 | 2022-05-24 | 杭州链城数字科技有限公司 | 执法数据可信验证方法、处理方法、系统和执法仪 |
CN115544170B (zh) * | 2022-11-22 | 2023-03-14 | 中国信息通信研究院 | 基于区块链的数据托管方法和装置、电子设备、介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681583A (zh) * | 2018-05-11 | 2018-10-19 | 北京奇虎科技有限公司 | 基于区块链的数据持有证明方法、装置及可读存储介质 |
CN108737109A (zh) * | 2018-05-11 | 2018-11-02 | 北京奇虎科技有限公司 | 数据持有证明方法、装置及系统 |
CN111737724A (zh) * | 2020-08-26 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、智能设备及存储介质 |
CN113411376A (zh) * | 2021-05-12 | 2021-09-17 | 精英数智科技股份有限公司 | 基于区块链分片存储的传感器数据处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11061887B2 (en) * | 2016-12-30 | 2021-07-13 | Guardtime Sa | Event verification receipt system and methods |
US20210303633A1 (en) * | 2020-03-30 | 2021-09-30 | International Business Machines Corporation | Shard hashing |
CN111683058A (zh) * | 2020-05-18 | 2020-09-18 | 国科微城市智能科技(南京)有限责任公司 | 一种基于区块链的数据存储系统及其存储方法 |
CN112650721A (zh) * | 2020-12-29 | 2021-04-13 | 杭州趣链科技有限公司 | 一种文件存储方法、装置、系统以及设备 |
CN113326317B (zh) * | 2021-05-24 | 2024-04-09 | 中国科学院计算技术研究所 | 基于同构多链架构的区块链存证方法及系统 |
-
2021
- 2021-12-23 CN CN202111584363.0A patent/CN113961908B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681583A (zh) * | 2018-05-11 | 2018-10-19 | 北京奇虎科技有限公司 | 基于区块链的数据持有证明方法、装置及可读存储介质 |
CN108737109A (zh) * | 2018-05-11 | 2018-11-02 | 北京奇虎科技有限公司 | 数据持有证明方法、装置及系统 |
CN111737724A (zh) * | 2020-08-26 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、智能设备及存储介质 |
CN113411376A (zh) * | 2021-05-12 | 2021-09-17 | 精英数智科技股份有限公司 | 基于区块链分片存储的传感器数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
5G+区块链网络分片技术;刘秋妍等;《移动通信》;20200415(第04期);第3-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113961908A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021088278A1 (zh) | 一种文件存储方法、终端及存储介质 | |
CN102170440B (zh) | 适用于存储云间数据安全迁移的方法 | |
CN113961908B (zh) | 数据存证方法、装置、计算机设备和存储介质 | |
CN110647503A (zh) | 一种分布式存储方法及装置 | |
CN111262822B (zh) | 文件存储方法、装置、区块链节点和系统 | |
CN111428271A (zh) | 一种区块链云存储用户数据安全解决方法 | |
CN109936620B (zh) | 基于区块链的存储方法及装置、系统与存储介质 | |
CN115225409B (zh) | 基于多备份联合验证的云数据安全去重方法 | |
Giri et al. | A survey on data integrity techniques in cloud computing | |
CN109840769B (zh) | 基于区块链的存证方法及装置、系统与存储介质 | |
US20110154015A1 (en) | Method For Segmenting A Data File, Storing The File In A Separate Location, And Recreating The File | |
CN115964730A (zh) | 一种基于联盟链多链式的区块链信息存储方法 | |
CN111522873B (zh) | 区块生成方法、装置、计算机设备和存储介质 | |
CN115242413A (zh) | 物联网设备固件安全升级方法、装置、电子设备及介质 | |
CN109067849A (zh) | 基于区块的数据同步方法 | |
CN115935414A (zh) | 基于区块链的数据校验方法、装置、电子设备和存储介质 | |
CN115270195A (zh) | 基于区块链的证券信息存证管理方法、系统及装置 | |
CN114676460A (zh) | 基于区块链文件的处理方法和装置、处理器及电子设备 | |
CN116361383A (zh) | 一种区块生成方法、区块链系统及存储介质和相关设备 | |
CN110958285B (zh) | 一种基于区块链的数据存储系统 | |
CN110958211A (zh) | 一种基于区块链的数据处理系统及方法 | |
CN115484249B (zh) | 数据传输方法及装置 | |
CN117034370B (zh) | 基于区块链网络的数据处理方法及相关设备 | |
CN118573671A (zh) | 文件分片管理方法、装置、计算机设备、存储介质和产品 | |
WO2021012815A1 (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 |