CN112800450B - 数据存储方法、系统、装置、设备和存储介质 - Google Patents

数据存储方法、系统、装置、设备和存储介质 Download PDF

Info

Publication number
CN112800450B
CN112800450B CN202110160785.9A CN202110160785A CN112800450B CN 112800450 B CN112800450 B CN 112800450B CN 202110160785 A CN202110160785 A CN 202110160785A CN 112800450 B CN112800450 B CN 112800450B
Authority
CN
China
Prior art keywords
data
storage
hash
block
node
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
CN202110160785.9A
Other languages
English (en)
Other versions
CN112800450A (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.)
Beijing Peersafe Technology Co ltd
Original Assignee
Beijing Peersafe 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 Beijing Peersafe Technology Co ltd filed Critical Beijing Peersafe Technology Co ltd
Priority to CN202110160785.9A priority Critical patent/CN112800450B/zh
Publication of CN112800450A publication Critical patent/CN112800450A/zh
Application granted granted Critical
Publication of CN112800450B publication Critical patent/CN112800450B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

本申请公开了一种数据存储方法、系统、装置、设备和存储介质,该方法包括:在数据存储区域内获取待存储数据;对待存储数据进行预处理,得到存储数据哈希表达结构;基于存储数据哈希表达结构,将待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到每个存储节点对应的存储结果;每个存储节点对与存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构;每个存储节点将存储数据哈希表达结构和加密数据哈希表达结构发送至与存储节点对应的区块链节点,以使得区块链节点将存储数据哈希表达结构和加密数据哈希表达结构存储至区块链网络。该方案无需第三方平台的参与,保证了数据存储的私密安全。

Description

数据存储方法、系统、装置、设备和存储介质
技术领域
本发明一般涉及区块链技术领域,具体涉及一种数据存储方法、系统、装置、设备和存储介质。
背景技术
随着信息化技术的快速发展,很多传统产业与互联网技术进行深度融合,产生了海量数据。在信息化、数据化环境中,企业、机构、个人对于数据的安全保护具有相当高的要求,例如可以通过备份、加密等技术实现数据的保护。为了在信息技术变革过程中保障数据信息安全,使数据不被不法分子获取,实现网络通信安全,对企业、机构、个人等的关键核心数据进行存储保护显得十分重要。
目前,相关技术中可以采用两种方式实现数据的存储保护:一种是企业可以使用第三方平台提供的基于云的数据保险箱服务把需要进行保护的数据加密存储至云端。但是,以上服务均需要第三方平台提供,如果第三方平台出现异常时会导致企业数据的丢失、泄漏或被篡改,并且对于企业部分核心数据,由于数据的敏感性,只能在企业内部存储,第三方平台无法提供数据存储服务。另一种是企业通过设置独立的计算机设备,使用相应的数据保护软件实现对数据的保护存储,但是,该方法需要依赖于计算机硬件接口的安全性、底层操作系统的安全性、保护软件的安全性、企业管理制度的安全性,其中当任一环节出现异常时均会导致数据丢失、泄漏或被篡改,导致数据安全性差。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种数据存储方法、系统、装置、设备和存储介质。
第一方面,本申请提供了一种基于数据存储方法,该方法包括:
在数据待存储区域内获取待存储数据,所述数据待存储区域包括一个存储节点和与所述存储节点连接的一个区块链节点;
对所述待存储数据进行预处理,得到存储数据哈希表达结构;
基于所述存储数据哈希表达结构,将所述待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到所述每个存储节点对应的存储结果;
所述每个存储节点对与所述存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构;
所述每个存储节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构发送至与所述存储节点对应的区块链节点,以使得所述区块链节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构存储至区块链网络。
第二方面,本申请提供了一种数据存储系统,该系统包括:至少三个存储区域,所述至少三个存储区域分别通过区块链网络和分布式存储网络连接;所述每个存储区域包括一个存储节点和与所述存储节点连接的一个区块链节点;所述区块链网络包括至少三个区块链节点,所述分布式存储网络包括至少三个存储节点;
在所述存储区域内获取待存储数据,对所述待存储数据进行预处理,得到存储数据哈希表达结构;基于所述存储数据哈希表达结构,将所述待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到所述每个存储节点对应的存储结果;
所述每个存储节点用于对与所述存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构;并将所述存储数据哈希表达结构和所述加密数据哈希表达结构发送至与所述存储节点对应的区块链节点,以使得所述区块链节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构存储至区块链网络。
第三方面,本申请提供了一种数据存储装置,该装置包括:
获取模块,用于在数据待存储区域内获取待存储数据,所述数据待存储区域包括一个存储节点和与所述存储节点连接的一个区块链节点;
预处理模块,用于对所述待存储数据进行预处理,得到存储数据哈希表达结构;
分布式存储模块,用于基于所述存储数据哈希表达结构,将所述待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到所述每个存储节点对应的存储结果;
加密模块,用于所述每个存储节点对与所述存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构;
上链存储模块,用于所述每个存储节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构发送至与所述存储节点对应的区块链节点,以使得所述区块链节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构存储至区块链网络。
第四方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时用于实现上述第一方面的方法。
综上所述,本申请提供的一种数据存储方法、系统、装置、设备和存储介质,在数据存储区域内获取待存储数据,该数据存储区域包括一个存储节点和与存储节点连接的一个区块链节点,对待存储区域进行预处理,得到存储数据哈希表达结构,并基于存储数据哈希表达结构,将待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到每个存储节点对应的存储结果,每个存储节点对与该存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构,每个存储节点将存储数据哈希表达结构和加密数据哈希表达结构发送至与存储节点对应的区块链节点,以使得区块链节点将存储数据哈希表达结构和加密数据哈希表达结构存储至区块链网络。该方案能够将存储数据哈希表达结构和加密数据哈希表达结构同时存储至区块链网络,利用区块链网络的不可篡改、可溯源的特性,保证哈希表达结构的真实性,进而使得存储数据的不可篡改和可溯源,无需第三方平台的参与,并且通过对存储节点对应的存储结果进行授权加密,从而保证了数据存储的私密安全,提高了数据存储的安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的数据存储系统的结构示意图;
图2为本申请实施例提供的数据存储系统的功能架构示意图;
图3为本申请实施例提供的数据存储方法的流程示意图;
图4为本申请实施例提供的数据存储方法的结构示意图;
图5为本申请实施例提供的数据存储方法的结构示意图;
图6为本申请实施例提供的数据存储方法的结构示意图;
图7为本申请实施例提供的数据存储方法的结构示意图;
图8为本申请实施例提供的数据访问方法的流程示意图;
图9为本申请实施例提供的数据访问方法的结构示意图;
图10为本申请实施例提供的数据存储装置的结构示意图;
图11为本申请实施例提供的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。为了便于理解,下面对本申请实施例涉及的一些技术术语进行解释:
区块链,是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可追溯、集体维护、公开透明等特点,本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联的数据块。
区块链技术是一种基于分布式网络的数据存储技术,能够保证所有属于同一区块链网络中的区块链节点所存储的数据具有强一致性,即每一个区块链节点在通过共识算法实现存储数据同不过程中具有对数据准确性、真实性具备验证能力,并对同步过程中可能出现的数据篡改行为具有抵抗能力,还具有不可篡改、可溯源等特性。
哈希散列分布式存储技术是一种基于哈希算法特性和内容寻址技术实现的一种存储技术。哈希算法具有如下特性:
单向性:即给定一个输入数据,容易计算出它的哈希值,但是已知一个哈希值根据同样的算法不能得到原输入数据。
弱抗碰撞性:即给定一个输入数据,要找到另一个得到给定数据的哈希值,在使用同一种方法时,在计算上不可行。
强抗碰撞性:即对于任意两个不同的输入数据,根据同样的算法计算出相同的哈希值,在计算上不可行。
内容寻址技术具有如下特性:
数据分块:即对需要通过内容寻址来实现访问的数据进行分块处理,把完整的数据按照约定规则进行分块处理,形成一系列数据分块,例如按照数据大小、数据语意分段、数据结构类型等方式进行分块。
数据结构哈希化表达:即对每一个数据分块计算哈希值,所有数据分块对应的哈希值按照约定规则进行结构化组织,并对结构进行计算哈希值,例如使用哈希数组、默克尔树等方式进行组织。实现对任意一组数据得到对应的哈希值,以保证此哈希值与数据内容保持一致。
哈希散列存储:分布式哈希表(Distributed Hash Table,简称DHT)算法实现数据分布式存储,分布式存储网络包含多个存储节点,每个节点提供具体数据的存储能力,通过以每个数据分块的哈希值作为分布式哈希表算法的输入项,计算出数据分块需要存储在网络中具体的存储节点,以实现数据分块的散列存储。通过散列存储可以避免单个存储节点存储有数据分块,解决存储过程中的出现单点被破解后数据暴露的风险。
纠删码是存储领域使用的数据冗余技术。相比于副本策略,纠删码具有更高的磁盘利用率,同时具备防止数据单点破解的特性。纠删码技术主要是通过纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,达到容错的目的。
如背景技术中提到的,相关技术中通过两种方式实现数据的存储保护:一种是企业可以使用第三方平台提供基于云的数据保险箱服务把需要进行保护的数据加密存储至云端,如提供数据冗余服务保障数据的可用性,提供备份服务保障数据的可恢复性,提供用户授权访问机制保障数据的私密性。但是,以上服务均需要第三方平台提供,如果第三方平台出现异常时会导致企业数据的丢失、泄漏或被篡改,并且对于企业部分核心数据,由于数据的敏感性,只能在企业内部存储,第三方平台无法提供数据存储服务。
另一种是企业设置独立的计算机设备,使用相应的数据保护软件实现对数据的保密存储,然而该方法需要依赖于计算机硬件接口的安全性、底层操作系统的安全性、保护软件的安全性、企业管理制度的安全性,其中任何一个环节出现异常,例如硬件故障、操作系统漏洞被利用、保护软件被破解、操作人员篡改数据等情况,都可能导致数据存储保护机制失效,导致数据数据安全性差。
基于上述缺陷,本申请提供了一种基于区块链网络的数据存储方法、系统、装置、设备和存储介质,与现有技术相比,该方案能够将存储数据哈希表达结构和加密数据哈希表达结构同时存储至区块链网络,利用区块链网络的不可篡改、可溯源的特性,保证哈希表达结构的真实性,进而使得存储数据的不可篡改和可溯源,无需第三方平台的参与,并且通过对存储节点对应的存储结果进行授权加密,从而保证了数据存储的私密安全,提高了数据存储的安全性。
图1为本申请实施例提供的数据存储系统的结构示意图,如图1所示,该数据存储系统包括至少三个存储区域10,该至少三个存储区域10分别通过区块链网络和分布式存储网络连接,每个存储区域包括一个存储节点20和与存储节点20连接的一个区块链节点30,该至少三个存储区域可以包括存储区域A、存储区域B、存储区域C三个存储区域,该三个存储区域之间相互独立,即存储区域A只能访问存储区域A内部的数据,不能跨区域访问存储区域B、存储区域C内部的数据。
上述区块链网络包括至少三个区块链节点(图中以三个区块链节点示出),该分布式存储网络包括至少三个存储节点(图中以三个存储节点示出)。在一个独立的存储区域中,分别部署一个区块链节点和一个分布式存储节点。区块链网络与分布式存储网络之间相互独立。
其中,属于同一个存储区域的区块链节点和分布式存储节点之间通过区域内部通讯链路进行信息交换。属于不同存储区域的区块链节点相互之间通过通讯链路进行连接,组成区块链网络。属于不同存储区域的分布式存储节点相互之间通过通讯链路进行连接,组成分布式存储网络。
在存储区域内获取待存储数据,对待存储数据进行预处理,得到存储数据哈希表达结构;基于存储数据哈希表达结构,将待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到每个存储节点对应的存储结果;每个存储节点对与存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构;并将存储数据哈希表达结构和加密数据哈希表达结构发送至与存储节点对应的区块链节点,以使得区块链节点将存储数据哈希表达结构和加密数据哈希表达结构存储至区块链网络。
上述数据存储系统的功能架构图可以参见如图2所示,该功能架构包括资源层、能力层、应用层和表现层。其中,资源层是提供系统运行所需要的软硬件资源,其中包括计算资源,用于系统中程序运行所需的CPU、GPU资源等;存储资源分为程序运行所需的内存资源及区块链网络、分布式存储网络所需的数据存储资源等;网络资源包括网卡、防火墙、网络黑白名单等;加解密资源包括软件实现的解密库、硬件加密卡、USB密钥等;接口资源包括设备网卡、USB驱动程序等。
能力层是提供系统运行实现目标功能所需的基础能力,其中包括区块链网络、哈希分布式存储网络、加解密服务、接口访问控制服务和应用部署服务。区块链网络用于提供不可篡改、可溯源的能力支持;哈希分布式存储网络是用于提供数据基于内容寻址的哈希散列分布式存储的能力支持;加解密服务是用于提供数据存储及访问控制过程中涉及的加解密签名验签的能力支持;接口访问控制服务是用于提供数据授权访问过程中对于系统访问方式、使用接口限制、接口可用性控制管理的能力支持;应用部署服务是用于提供对应用层功能的封装支持。
应用层提供提供系统对于客户提供的应用功能服务封装,其中包括用户权限管理,对于系统用户访问的控制、用户数据权限控制、登录USB密钥证书管理;数据存储管理,对于系统保存数据的的访问、数据存储权限管理、数据存储参数的配置;数据接口管理,对系统数据获取方式的管理,是否提供API、数据库访问接口;密钥证书管理,对系统涉及节点证书、服务器USB访问密钥、数据来源系统访问密钥的管理;系统监控,对整个系统运行过程中的状态的监控,包括其中区块链网络、分布式存储网络、加解密服务、宿主机操作系统关键参数的监控。
表现层提供系统对于外部用户、外部系统提供的访问方式的封装,提供对于用户的Web访问方式、对于USB密钥等设备的USB访问方式、对于第三方系统的API接口及数据库接口访问方式等。
上述至少三个独立的存储区域可以设置在数据存储装置中,该数据存储装置例如可以是电子数据保险箱。其中,电子数据保险箱可以采用2U规格机箱容量,其中部署至少三台完全物理隔离的独立计算机模块,该至少三台完全物理隔离的独立计算机模块使用内部网络路由器实现互联互通,保证每台服务其中部署的区块链网络、分布式存储网络与其他保险箱连接外部网络实现隔离。
需要说明的是,上述独立的计算机模块可以配置有对应的硬件设备,该硬件设备例如可以包括加密卡、网卡、USB接口、硬盘、CPU、内存等。其中,加密卡、USB接口需要通过对应的硬件驱动程序实现,网络访问的强控制,USB接口需要实现对于USB密钥的识别,对于其他的USB设备实现对应的控制。
本实施例中对于网卡接口、USB接口使用独立驱动程序,实现严格的权限控制,且USB密钥使用加密卡实现证书颁发及验证,防止对于计算机模块的非法访问,使用硬件设备独立的加密卡可以具有更高的安全性,实现了单独设备集成保险存储系统的方式,提高了设备应对业务场景的灵活性。
为了便于理解和说明,下面通过图3至图11详细说明本申请实施例提供的数据存储方法、装置、设备和存储介质。
图3为本申请实施例提供的数据存储方法的流程示意图,该方法应用于数据存储系统,如图3所示,该方法包括:
S101、在数据存储区域内获取待存储数据,数据存储区域包括一个存储节点和与存储节点连接的一个区块链节点。
S102、对待存储数据进行预处理,得到存储数据哈希表达结构。
本步骤中,当需要存储数据时,可以获取待存储数据,然后对该待存储数据进行预处理,确定存储数据哈希表达结构。该存储数据哈希表达结构包括数据分块哈希值和存储数据哈希值,其中,存储数据哈希值用于唯一标识待存储数据,数据分块哈希值为对数据分块进行哈希算法处理得到的对应的哈希值。
具体的,可以通过对待存储数据进行分块处理,例如根据预设的字节长度对待存储数据进行分块,得到多个数据分块,然后采用哈希算法对每个数据分块进行哈希计算,确定每个数据分块对应的分块哈希值,并对每个数据分块对应的分块哈希值进行合并处理,确定待存储数据对应的存储数据哈希值,并基于分块哈希值和存储数据哈希值,确定存储数据哈希表达结构。
其中,可以采用默克尔算法对每个数据分块对应的分块哈希值进行合并处理,从而得到待存储数据对应的存储数据哈希值。
示例性地,如图4所示,在独立存储区域A中,需要存储数据,可以获取存储数据,并执行步骤A:对该存储数据进行数据分块,拆分为001-007的数据分块,然后执行步骤B:根据001-007的数据分块对应的内容,采用哈希算法,获得与数据分块001-007对应的分块哈希值H001-H007,并执行步骤C:采用合并算法,将分块哈希值H001-H007合并计算出存储数据哈希值HFILE,并基于分块哈希值H001-H007和存储数据哈希值HFILE构成存储数据哈希表达结构STH。
S103、基于存储数据哈希表达结构,将待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到每个存储节点对应的存储结果。
本步骤中,在得到待存储数据对应的存储数据哈希表达结构后,从存储数据哈希表达结构中确定每个数据分块和与每个数据分块对应的分块哈希值,并将每个数据分块和对应的分块哈希值进行拼接处理,得到每个数据分块对应的数据块并发送至第一存储节点,然后基于每个数据分块对应的数据块,采用纠删码算法计算多个校验块,基于分布式存储网络,采用哈希散列算法将所述数据块和对应的校验块存储至其他存储节点,得到每个其他存储节点对应的存储结果。其中,第一存储节点为数据存储区域内对应的存储节点,其他存储节点为分布式存储网络中除所述第一存储节点外的存储节点。
需要说明的是,纠删码是将n块原始的数据元素经过一定的计算,得到m块冗余元素(校验块),对于这n+m块的元素,当其中任意的m块元素出错时,该出错元素包括原始元素和冗余元素,均可以通过对应的重构算法恢复出原来的n块数据。生成校验块的过程被称为编码(encoding),恢复丢失数据块的过程被称为解码(decoding)。磁盘利用率为n/(n+m)。基于纠删码的方法与多副本方法相比具有冗余度低、磁盘利用率高等特点。根据该思想在通过哈希散列存储及区块链技术对于m块元素进行访问控制,防止出现通过获取m块数据元素的情况下,能够有效地防止单点破解的发生。
其中,在生成校验块的过程中,可以自定义设置校验块数量,使得当数据丢失时,可以通过校验块恢复数据。
在采用哈希散列算法将数据块与对应的校验块存储至其他分布式存储节点时,可以先基于数据块和对应的校验块,确定需要存储数据的对应的其他存储节点,然后将数据块和对应的校验块采用哈希散列算法存储至其他存储节点中,得到每个其他存储节点对应的存储结果。
示例性地,如图5所示,在得到存储数据哈希表达结构STH后,可以从存储数据哈希表达结构STH中确定每个数据分块001-007和与数据分块对应的分块哈希值H001-H007,并执行步骤A:通过拼接方式,将数据分块001-007和与之对应的分块哈希值H001-H007组合成数据块B001-B007,并传送数据块B001-B007至分布式存储节点SA节点中,并执行步骤B:通过纠删码算法,通过数据块B001-B007计算出BA、BB、BC校验块,然后执行步骤C:通过哈希散列算法确定每个存储节点存储的数据块和对应的校验块,然后利用分布式存储网络,传输不同的数据块和校验块到存储节点SB、SC中。例如SC节点会存储B002数据块、B005数据块、BA校验块、BB校验块;SB节点存储B003数据块、B006数据块、BA校验块、SC校验块。
其中,校验块的作用在于,一旦SA节点出现破坏等不可恢复时,通过授权获取SB、SC中存储的B002,B003,B005,B006数据块即BA校验块能够通过纠删码解码算法,可以恢复SA节点存储的B001,B004,B007数据块。同理SA、SB、SC中任何一个节点数据丢失,都能通过其他存储节点进行恢复数据。
S104、每个存储节点对与存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构。
本步骤中,在基于分布式存储网络,采用哈希散列算法将数据块和对应的校验块存储至各个存储节点后,每个存储节点可以对数据块和对应的校验块进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结果。
每个存储节点采用预设的加密密钥对存储节点对应的数据块和校验块进行加密处理,得到存储节点对应的多个加密数据块,然后采用哈希算法确定每个加密数据块对应的加密数据块哈希值,并将每个存储节点中的每个加密数据块哈希值进行合并处理,得到每个存储节点对应的加密数据哈希值,并基于加密数据哈希值和加密数据块哈希值,生成每个存储节点对应的加密数据哈希表达结构。其中,上述预设的加密密钥是该存储节点对应的节点归属区域对应的加密密钥。
示例性地,如图6所示,存储节点可以执行步骤A:使用节点归属区域的加密密钥对本节点的数据块、校验块进行加密,得到加密数据块,例如,存储节点SA节点使用属于独立区域A的加密密钥,对数据块B001、B004、B007和校验块BC、BB进行加密,获得对应的加密数据块BXC、BXB、BX01、BX04、BX07。同理存储节点SB节点对数据块B003、B006和校验块BC、BA进行加密,获得对应的加密数据块BXC'、BXA'、BX06、BX03,存储节点SC节点对数据块B002、B005和校验块BB、BA进行加密,获得对应的加密数据块BXB”、BXA”、BX02、BX05。其中,BXC、BXC',BXB、BXB”,BXA'、BXA”因为是分别由分属不同区域的密钥进行加密的,所以即使原始数据存在相同的情况,最终加密数据块结果不同。
然后执行步骤B:根据加密数据块的内容,通过哈希运算,获取与加密数据块对应的加密数据块哈希值。例如SA节点对BXC、BXB、BX01、BX04、BX07进行哈希计算,获得HXC、HXB、HX01、HX04、HX07加密数据块哈希值。同理存储节点SB获得加密数据块哈希值HXA'、HXC'、HX06、HX03,同理存储节点SC获得加密数据块哈希值HXA”、HXB”、HX02、HX05。
然后执行步骤C:通过合并算法将每个存储节点中的每个加密数据块哈希值进行合并,得到每个存储节点对应的加密数据哈希值,并基于加密数据哈希值和加密数据块哈希值,生成每个存储节点对应的加密数据哈希表达结构。例如SA存储节点,由HXC、HXB、HX01、HX04、HX07合并计算出存储数据哈希值HXA,由分块哈希值及存储数据哈希值一同生成加密数据哈希表达结构STHA。同理存储节点SB获得加密数据哈希表达结构STHB,存储节点获得加密数据哈希表达结构STHC。
S105、每个存储节点将存储数据哈希表达结构和加密数据哈希表达结构发送至与存储节点对应的区块链节点,以使得区块链节点将存储数据哈希表达结构和加密数据哈希表达结构存储至区块链网络。
具体的,每个区块链节点通过区域内部通讯链路,将存储数据哈希表达结构和加密数据哈希表达结构发送至本区域内与存储节点对应的区块链节点,区块链节点在收到对应的哈希表达结构后进行上链存储,上链过程中使用本区域区块链节点操作密钥进行签名。
示例性地,如图7所示,每个存储节点可以执行步骤A:例如存储节点SA,通过内部链路发送STH、STHA到本区域的区块链节点CA进行上链,由独立区域A的密钥完成上链签名。同理区块链节点CB完成STHB上链,区块链节点CC完成STHC上链。
并且执行步骤B:每个区块链节点可以通过区块链网络,利用区块链网络共识能力及区块同步能力,完成STH、STHA、STHB、STHC结构在区块链网络中的同步,使得区块链节点CA、CB、CC最终获得存储数据完整的哈希结构化表达,并利用区跨链系统不可篡改、可追溯的特性,保证通过固化哈希表达结构,达到固化存储数据内容的目的。
本申请提供数据存储方法,在数据存储区域内获取待存储数据,该数据存储区域包括一个存储节点和与存储节点连接的一个区块链节点,对待存储区域进行预处理,得到存储数据哈希表达结构,并基于存储数据哈希表达结构,将待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到每个存储节点对应的存储结果,每个存储节点对与该存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构,每个存储节点将存储数据哈希表达结构和加密数据哈希表达结构发送至与存储节点对应的区块链节点,以使得区块链节点将存储数据哈希表达结构和加密数据哈希表达结构存储至区块链网络。该方案能够将存储数据哈希表达结构和加密数据哈希表达结构同时存储至区块链网络,利用区块链网络的不可篡改、可溯源的特性,保证哈希表达结构的真实性,进而使得存储数据的不可篡改和可溯源,无需第三方平台的参与,并且通过对存储节点对应的存储结果进行授权加密,从而保证了数据存储的私密安全,提高了数据存储的安全性。
进一步地,通过使用加解密交叉验证地方式,实现各个独立节点中数据的安全性,使得之后节点对应区域的加解密体系能够实现数据的访问;并且通过独立的分布式存储节点与加解密机制的结构,实现了单点故障的发生,且多点授权恢复的机制,相比于传统的恢复技术能够提高数据的安全性。
可选的,在上述实施例的基础上,图8为本申请提供的数据访问方法流程示意图,如图8所示,该方法包括:
S201、第一存储节点接收数据访问请求,数据访问请求中包括存储数据哈希值。
S202、第一存储节点响应于数据访问请求,基于存储数据哈希值,从与存储节点对应的区块链节点中获取存储数据哈希表达结构。
S203、第一存储节点基于存储数据哈希表达结构,确定每个数据分块对应的分块哈希值。
S204、第一存储节点基于分块哈希值,采用哈希散列算法计算每个数据分块对应的其他存储节点并发送数据分块获取请求至对应的其他存储节点。
S205、其他存储节点接收并响应于数据分块获取请求,获取到与其他存储节点对应的数据分块并发送至第一存储节点。
S206、第一存储节点基于数据分块,确定存储数据并发送。
具体的,当需要进行访问数据时,可以向第一存储节点发送数据访问请求,该数据访问请求中包括存储数据哈希值,第一存储节点接收并响应于该数据访问请求,基于存储数据哈希值,从与存储节点对应的区块链节点中获取存储数据哈希表达结构,并基于存储数据哈希表达结构,确定每个数据分块对应的分块哈希值,然后基于分块哈希值,采用哈希散列算法计算每个数据分块对应的其他存储节点并发送数据分块获取请求至对应的其他存储节点。
该其他存储节点接收并响应于数据分块获取请求,从与存储节点对应的区块链节点中获取加密数据哈希表达结构,并基于加密数据哈希表达结构,获取加密数据块并校验加密数据块的有效性,当确定出加密数据块为有效时,采用预设的解密密钥对加密数据块进行解密处理,得到解密后的数据分块并校验数据分块的有效性,当确定出数据分块为有效时,基于分布式存储网络,将与其他存储节点对应的所述数据分块发送第一存储节点。
第一存储节点在接收到各个其他存储节点发送的数据分块后,对每个数据分块进行验证,当每个数据分块验证通过后,基于存储数据哈希表达结构,得到存储数据并发送。
示例性地,如图9所示,当独立区域A中的存储节点SA可以执行步骤A:接收到数据访问请求,该数据访问请求包括存储数据哈希值HFILE,存储节点SA可以执行步骤B:根据存储数据哈希值HFILE,访问与存储节点SA对应的区块链节点CA,获取存储数据哈希表达结构STH,存储节点SA可以执行步骤C:根据存储数据哈希表达结构STH中的分块哈希值,通过哈希散列算法计算各个数据分块存储的分布式存储网络中的存储节点,并发送数据分块获取请求至对应的存储节点。各个存储节点在接收到数据分块获取请求后,执行步骤D:从同区域的区块链节点中获取加密数据哈希表达结构,并根据获取的结构检验加密数据块的有效性,是否被篡改。例如存储节点SB从区块链节点CB获取加密数据哈希表达结构STHB结构,根据该STHB结构验证BX06加密数据块的有效性。同理存储节点SC从区块链节点CC获取STHC结构,根据该STHC结构验证BX02加密数据块的有效性。
各存储节点可以执行步骤E:采用本区域的解密密钥,对加密数据块进行解密操作,并验证解密后的数据分块的有效性,查看其是否被篡改。例如存储节点SB使用独立区域B的解密密钥解密加密数据块BX06,获得数据分块006,并通过从区块链节点CB获取的STH结构验证006数据分块的有效性。同样的道理存储节点SC使用独立区域C的解密密钥解密加密数据块BX02,获得数据分块006,并通过从区块链节点CC获取的STH结构验证002数据分块的有效性。
当各存储节点确定获取到的数据分块为有效时,可以执行步骤F:使用分布式存储网络的通讯链路传输数据分块到存储节点SA,然后存储节点SA执行步骤G:对获取的各个数据分块进行验证,并通过获取的存储数据哈希表达结构STH对数据分块进行验证,判断各数据分块是否被篡改,是否符合存储数据哈希表达结构STH可恢复存储数据,当验证通过后根据存储数据哈希表达结构STH恢复存储数据,得到存储数据,并返回至数据访问请求发送方。
本申请实施例能够结合区块链、分布式存储方法,对数据进行加密存储、授权访问,并确保数据在存储后不可篡改、可溯源,能够有效防止通过设备硬件破解、操作系统侵入、操作人员非法篡改等方式改变数据,且能够在数据保存过程中,提供高可用性,避免单点故障。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
图10为本发明实施例提供的数据处理装置的结构示意图。如图10所示,该装置可以实现如上述实施例所示的方法,该装置可以包括:
获取模块510,用于在数据待存储区域内获取待存储数据,数据待存储区域包括一个存储节点和与存储节点连接的一个区块链节点;
预处理模块520,用于对待存储数据进行预处理,得到存储数据哈希表达结构;
分布式存储模块530,用于基于存储数据哈希表达结构,将待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到每个存储节点对应的存储结果;
加密模块540,用于每个存储节点对与存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构;
上链存储模块550,用于每个存储节点将存储数据哈希表达结构和加密数据哈希表达结构发送至与存储节点对应的区块链节点,以使得区块链节点将存储数据哈希表达结构和加密数据哈希表达结构存储至区块链网络。
可选的,上述预处理模块520,具体用于:
对待存储数据进行分块处理,得到多个数据分块;
采用哈希算法对每个数据分块进行哈希计算,确定每个数据分块对应的分块哈希值;
对每个数据分块对应的分块哈希值进行合并处理,确定待存储数据对应的存储数据哈希值;
基于分块哈希值和存储数据哈希值,确定存储数据哈希表达结构。
可选的,上述分布式存储模块530,具体用于:
从存储数据哈希表达结构中确定每个数据分块和与数据分块对应的分块哈希值;
将每个数据分块和对应的分块哈希值进行拼接处理,得到每个数据分块对应的数据块并发送至第一存储节点,第一存储节点为数据存储区域内对应的存储节点;
基于每个数据分块对应的数据块,采用纠删码算法计算多个校验块;
基于分布式存储网络,采用哈希散列算法将数据块和对应的校验块存储至其他存储节点,得到每个其他存储节点对应的存储结果,其他存储节点为分布式存储网络中除第一存储节点外的存储节点。
可选的,上述加密模块540,具体用于:
每个存储节点采用预设的加密密钥对与存储节点对应的数据块和校验块进行加密处理,得到存储节点对应的多个加密数据块;
采用哈希算法确定每个加密数据块对应的加密数据块哈希值;
将每个存储节点中的每个加密数据块哈希值进行合并处理,得到每个存储节点对应的加密数据哈希值;
基于加密数据哈希值和加密数据块哈希值,生成每个存储节点对应的加密数据哈希表达结构。
可选的,上述上述还用于:
第一存储节点接收数据访问请求,数据访问请求中包括存储数据哈希值;
第一存储节点响应于数据访问请求,基于存储数据哈希值,从与存储节点对应的区块链节点中获取存储数据哈希表达结构;
第一存储节点基于存储数据哈希表达结构,确定每个数据分块对应的分块哈希值;
第一存储节点基于分块哈希值,采用哈希散列算法计算每个数据分块对应的其他存储节点并发送数据分块获取请求至对应的其他存储节点;
其他存储节点接收并响应于数据分块获取请求,获取到与其他存储节点对应的数据分块并发送至第一存储节点;
第一存储节点基于数据分块,确定存储数据并发送。
可选的,上述装置还用于:
其他存储节点接收并响应于数据分块获取请求,从与存储节点对应的区块链节点中获取加密数据哈希表达结构;
其他存储节点基于加密数据哈希表达结构,获取加密数据块并校验加密数据块的有效性;
当确定出加密数据块为有效时,其他存储节点采用预设的解密密钥对加密数据块进行解密处理,得到解密后的数据分块并校验数据分块的有效性;
当确定出数据分块为有效时,其他存储节点基于分布式存储网络,将与其他存储节点对应的数据分块发送第一存储节点。
可选的,上述装置还用于:
第一存储节点对每个数据分块进行验证;
当每个数据分块验证通过后,第一存储节点基于存储数据哈希表达结构,得到存储数据并发送。
本实施例提供的数据处理装置,可以执行上述方法的实施例,其实现原理和技术效果类似,在此不再赘述。
图11为本发明实施例提供的一种计算机设备的结构示意图。如图11所示,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统900的结构示意图。
如图11所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM903中,还存储有系统900操作所需的各种程序和数据。CPU901、ROM902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口906也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口906。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考图2-5描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图2-5的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、预处理模块、分布式存储模块、加密模块和上链存储模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,获取模块还可以被描述为“用于在数据待存储区域内获取待存储数据,所述数据待存储区域包括一个存储节点和与所述存储节点连接的一个区块链节点”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的数据处理方法。
例如,所述电子设备可以实现如图3中所示的方法:
在数据存储区域内获取待存储数据,所述数据存储区域包括一个存储节点和与所述存储节点连接的一个区块链节点;
对所述待存储数据进行预处理,得到存储数据哈希表达结构;
基于所述存储数据哈希表达结构,将所述待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到所述每个存储节点对应的存储结果;
所述每个存储节点对与所述存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构;
所述每个存储节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构发送至与所述存储节点对应的区块链节点,以使得所述区块链节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构存储至区块链网络。
又如,所述电子设备可以实现如图8中所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。

Claims (12)

1.一种数据存储方法,其特征在于,包括:
在数据存储区域内获取待存储数据,所述数据存储区域包括一个存储节点和与所述存储节点连接的一个区块链节点;
对所述待存储数据进行预处理,得到存储数据哈希表达结构,所述存储数据哈希表达结构包括数据分块哈希值和存储数据哈希值;
基于所述存储数据哈希表达结构,将所述待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到每个所述存储节点对应的存储结果;
每个所述存储节点对与所述存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构;
每个所述存储节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构发送至与所述存储节点对应的区块链节点,以使得所述区块链节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构存储至区块链网络。
2.根据权利要求1所述的方法,其特征在于,对获取的待存储数据进行预处理,得到存储数据哈希表达结构,包括:
对所述待存储数据进行分块处理,得到多个数据分块;
采用哈希算法对每个数据分块进行哈希计算,确定每个所述数据分块对应的分块哈希值;
对所述每个数据分块对应的分块哈希值进行合并处理,确定所述待存储数据对应的存储数据哈希值;
基于所述分块哈希值和所述存储数据哈希值,确定存储数据哈希表达结构。
3.根据权利要求1所述的方法,其特征在于,基于所述存储数据哈希表达结构,将所述待存储数据进行分布式存储至每个存储节点,包括:
从所述存储数据哈希表达结构中确定每个数据分块和与所述数据分块对应的分块哈希值;
将每个所述数据分块和对应的分块哈希值进行拼接处理,得到所述每个数据分块对应的数据块并发送至第一存储节点,所述第一存储节点为所述数据存储区域内对应的存储节点;
基于每个所述数据分块对应的数据块,采用纠删码算法计算多个校验块;
基于所述分布式存储网络,采用哈希散列算法将所述数据块和对应的校验块存储至其他存储节点,得到每个所述其他存储节点对应的存储结果,所述其他存储节点为分布式存储网络中除所述第一存储节点外的存储节点。
4.根据权利要求3所述的方法,其特征在于,基于所述分布式存储网络,采用哈希散列算法将所述数据块和对应的校验块存储至其他分布式存储节点,得到每个所述其他存储节点对应的存储结果,包括:
基于所述数据块和对应的校验块,确定对应的其他存储节点;
将所述数据块和对应的校验块采用哈希散列算法存储至对应的所述其他存储节点中,得到每个所述其他存储节点对应的存储结果。
5.根据权利要求3或4所述的方法,其特征在于,每个存储节点对与所述存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构,包括:
所述每个存储节点采用预设的加密密钥对与所述存储节点对应的数据块和校验块进行加密处理,得到所述存储节点对应的多个加密数据块;
采用哈希算法确定每个所述加密数据块对应的加密数据块哈希值;
将每个所述存储节点中的每个所述加密数据块哈希值进行合并处理,得到每个存储节点对应的加密数据哈希值;
基于所述加密数据哈希值和所述加密数据块哈希值,生成每个存储节点对应的加密数据哈希表达结构。
6.根据权利要求1所述的方法,其特征在于,在所述每个存储节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构发送至与所述存储节点对应的区块链节点之后,所述方法还包括:
第一存储节点接收数据访问请求,所述数据访问请求中包括存储数据哈希值;
所述第一存储节点响应于所述数据访问请求,基于所述存储数据哈希值,从与所述存储节点对应的区块链节点中获取存储数据哈希表达结构;
所述第一存储节点基于所述存储数据哈希表达结构,确定每个数据分块对应的分块哈希值;
所述第一存储节点基于所述分块哈希值,采用哈希散列算法计算每个所述数据分块对应的其他存储节点并发送数据分块获取请求至对应的其他存储节点;
所述其他存储节点接收并响应于所述数据分块获取请求,获取到与所述其他存储节点对应的数据分块并发送至所述第一存储节点;
所述第一存储节点基于所述数据分块,确定存储数据并发送。
7.根据权利要求6所述的方法,其特征在于,所述其他存储节点接收并响应于所述数据分块获取请求,获取到与所述其他存储节点对应的数据分块并发送至所述第一存储节点,包括:
所述其他存储节点接收并响应于所述数据分块获取请求,从与所述存储节点对应的所述区块链节点中获取加密数据哈希表达结构;
所述其他存储节点基于所述加密数据哈希表达结构,获取加密数据块并校验所述加密数据块的有效性;
当确定出所述加密数据块为有效时,所述其他存储节点采用预设的解密密钥对所述加密数据块进行解密处理,得到解密后的数据分块并校验所述数据分块的有效性;
当确定出所述数据分块为有效时,所述其他存储节点基于所述分布式存储网络,将与所述其他存储节点对应的所述数据分块发送所述第一存储节点。
8.根据权利要求6所述的方法,其特征在于,所述第一存储节点基于所述数据分块,确定存储数据并发送,包括:
所述第一存储节点对所述每个数据分块进行验证;
当所述每个数据分块验证通过后,所述第一存储节点基于所述存储数据哈希表达结构,得到存储数据并发送。
9.一种数据存储系统,其特征在于,所述系统包括:至少三个存储区域,所述至少三个存储区域分别通过区块链网络和分布式存储网络连接;每个存储区域包括一个存储节点和与所述存储节点连接的一个区块链节点;所述区块链网络包括至少三个区块链节点,所述分布式存储网络包括至少三个存储节点;
在所述存储区域内获取待存储数据,对所述待存储数据进行预处理,得到存储数据哈希表达结构;基于所述存储数据哈希表达结构,将所述待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到每个所述存储节点对应的存储结果,所述存储数据哈希表达结构包括数据分块哈希值和存储数据哈希值;
每个所述存储节点用于对与所述存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构;并将所述存储数据哈希表达结构和所述加密数据哈希表达结构发送至与所述存储节点对应的区块链节点,以使得所述区块链节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构存储至区块链网络。
10.一种数据存储装置,其特征在于,所述装置包括:
获取模块,用于在数据待存储区域内获取待存储数据,所述数据待存储区域包括一个存储节点和与所述存储节点连接的一个区块链节点;
预处理模块,用于对所述待存储数据进行预处理,得到存储数据哈希表达结构,所述存储数据哈希表达结构包括数据分块哈希值和存储数据哈希值;
分布式存储模块,用于基于所述存储数据哈希表达结构,将所述待存储数据进行分布式存储至分布式存储网络的每个存储节点,得到每个所述存储节点对应的存储结果;
加密模块,用于每个所述存储节点对与所述存储节点对应的存储结果进行授权加密存储,得到每个存储节点对应的加密数据哈希表达结构;
上链存储模块,用于每个所述存储节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构发送至与所述存储节点对应的区块链节点,以使得所述区块链节点将所述存储数据哈希表达结构和所述加密数据哈希表达结构存储至区块链网络。
11.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
CN202110160785.9A 2021-02-05 2021-02-05 数据存储方法、系统、装置、设备和存储介质 Active CN112800450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110160785.9A CN112800450B (zh) 2021-02-05 2021-02-05 数据存储方法、系统、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110160785.9A CN112800450B (zh) 2021-02-05 2021-02-05 数据存储方法、系统、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN112800450A CN112800450A (zh) 2021-05-14
CN112800450B true CN112800450B (zh) 2022-02-18

Family

ID=75814339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110160785.9A Active CN112800450B (zh) 2021-02-05 2021-02-05 数据存储方法、系统、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN112800450B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113536358B (zh) * 2021-08-02 2023-10-10 浙江数秦科技有限公司 一种基于区块链的隐私数据安全存储方法
CN114301575B (zh) * 2021-12-21 2024-03-29 阿里巴巴(中国)有限公司 数据处理方法、系统、设备及介质
CN115529251A (zh) * 2022-09-29 2022-12-27 西安热工研究院有限公司 一种发电厂防火墙日志数据处理方法、系统、设备及介质
CN116367109A (zh) * 2023-06-01 2023-06-30 北京航天常兴科技发展股份有限公司 一种基于无线通信网络的火灾防控信息交互方法及系统
CN117272390B (zh) * 2023-11-17 2024-03-22 海之景科技集团有限公司 信息安全的数据处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587253A (zh) * 2018-12-11 2019-04-05 浙江大学 一种基于区块链对文件实现分布式存储的方法
CN109918925A (zh) * 2019-02-19 2019-06-21 上海泉坤信息科技有限公司 数据存储方法、数据节点及存储介质
CN110018924A (zh) * 2019-02-21 2019-07-16 同方股份有限公司 一种基于区块链和纠删码的文件防破坏方法
CN111475538A (zh) * 2019-01-24 2020-07-31 北京京东尚科信息技术有限公司 一种数据处理方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107249046A (zh) * 2017-08-15 2017-10-13 李俊庄 一种基于区块链的分布式云存储系统构建方法
EP3574630B1 (en) * 2018-12-19 2021-02-03 Advanced New Technologies Co., Ltd. Secret-based blockchain storage with privacy
CN110535969B (zh) * 2019-09-16 2021-06-15 腾讯科技(深圳)有限公司 基于区块链网络的数据存储方法、装置、存储介质和设备
CN111382463B (zh) * 2020-04-02 2022-11-29 中国工商银行股份有限公司 基于流数据的区块链系统及方法
CN111552676A (zh) * 2020-04-26 2020-08-18 北京众享比特科技有限公司 基于区块链的存证方法、装置、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587253A (zh) * 2018-12-11 2019-04-05 浙江大学 一种基于区块链对文件实现分布式存储的方法
CN111475538A (zh) * 2019-01-24 2020-07-31 北京京东尚科信息技术有限公司 一种数据处理方法、装置及存储介质
CN109918925A (zh) * 2019-02-19 2019-06-21 上海泉坤信息科技有限公司 数据存储方法、数据节点及存储介质
CN110018924A (zh) * 2019-02-21 2019-07-16 同方股份有限公司 一种基于区块链和纠删码的文件防破坏方法

Also Published As

Publication number Publication date
CN112800450A (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
CN112800450B (zh) 数据存储方法、系统、装置、设备和存储介质
CN108768978B (zh) 一种基于sgx的远端存储服务方法及系统
CN109194466B (zh) 一种基于区块链的云端数据完整性检测方法及系统
JP3964941B2 (ja) 分散化した照合子による情報保全検証方法及び装置
CN111709038B (zh) 文件加密解密方法、分布式存储系统、设备及存储介质
CN114726643B (zh) 云平台上的数据存储、访问方法及装置
CN112131316B (zh) 应用于区块链系统的数据处理方法及装置
KR101285281B1 (ko) 자가조직 저장매체의 보안 시스템 및 그 방법
JP2023504492A (ja) データ・オブジェクトの効率的しきい値ストレージ
CN112632639B (zh) 一种基于区块链的分布式可信日志管理方法
CN113391880B (zh) 一种分层双重哈希验证的可信镜像传输方法
CN112732695B (zh) 一种基于区块链的云存储数据安全去重方法
CN113259123B (zh) 一种区块链数据写入、访问方法及装置
JP2023520632A (ja) データの保護のためのノイズ・トランザクション
CN114885325A (zh) 适用5g网络的调控业务网络安全可信审计方法和系统
KR20140140974A (ko) 클라우드 환경에 비밀분산 기법을 이용한 데이터 보호 방법
CN115865461B (zh) 一种高性能计算集群中分发数据的方法和系统
CN117389974A (zh) 一种基于超融合系统的文件安全共享方法
Saxena et al. Collaborative approach for data integrity verification in cloud computing
CN116132041A (zh) 密钥处理方法、装置、存储介质及电子设备
US20230246845A1 (en) Secret Protection During Software Development Life Cycle
US20230058965A1 (en) Authorized secure data movement
CN115022044A (zh) 一种基于多云架构的存储方法和系统
Albeshri et al. A security architecture for cloud storage combining proofs of retrievability and fairness
CN115769544A (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