CN110287716B - 数据存储方法及装置 - Google Patents
数据存储方法及装置 Download PDFInfo
- Publication number
- CN110287716B CN110287716B CN201910556272.2A CN201910556272A CN110287716B CN 110287716 B CN110287716 B CN 110287716B CN 201910556272 A CN201910556272 A CN 201910556272A CN 110287716 B CN110287716 B CN 110287716B
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- module
- storage
- redundant information
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/602—Providing cryptographic facilities or services
Abstract
本发明提供一种数据存储方法及装置,该方法包括:接收数据上传请求,所述数据上传请求包括待存储数据;对所述待存储数据进行交织处理,得到K个数据块,所述K为大于或等于2的整数;生成长度为K的伪随机序列,并使用所述伪随机序列对所述K个数据块进行扰动,得到扰动后的K个数据块;将所述扰动后的每个数据块存储到所述分布式存储系统的一个存储服务器中。本发明提供的数据存储方法及装置,可以降低分布式存储系统的加密时延。
Description
技术领域
本发明涉及信息技术,尤其涉及一种数据存储方法及装置。
背景技术
随着互联网技术的迅猛发展,大量的用户数据需要被存储。传统的网络存储采用集中式存储系统存放所有数据,但当集中式存储系统受到攻击或者损坏时,容易丢失所有数据。
目前,已经发展出了使用分布式网络存储系统对用户数据进行存储的技术,分布式存储系统可以有效防止当存储系统发生损坏时,数据全部丢失。分布式存储系统包含多个存储服务器,可以将数据存储到系统中多个服务器中。
然而,目前对于分布式存储系统中数据的加密,依然采用密钥加密的方法,这种加密方式的加密流程复杂,导致其时延过大,不能满足某些时延敏感型应用的要求。
发明内容
本发明实施例提供一种数据存储方法及装置,以解决现有技术中存在的分布式存储系统中加密时延过大的问题。
本发明实施例一提供一种数据存储方法,包括:应用于分布式存储系统中的存储服务器,所述方法包括:
接收数据上传请求,所述数据上传请求包括待存储数据;
对所述待存储数据进行交织处理,得到K个数据块,K为大于或等于2的整数;
生成长度为K的伪随机序列,并使用所述伪随机序列对所述K个数据块进行扰动,得到扰动后的K个数据块;
将所述扰动后的每个数据块存储到所述分布式存储系统的一个存储服务器中。
在本实施例的一种可能的实施方式中,还包括:所述对所述待存储数据进行交织处理之前,还包括:
对所述待存储数据添加第一冗余信息,所述第一冗余信息用于纠正所述待存储数据的随机差错。
在本实施例的一种可能的实施方式中,还包括:所述将所述扰动后的每个数据块存储到所述分布式存储系统的一个存储服务器中之前,还包括:
对所述扰动后的K个数据块添加第二冗余信息,得到N个数据块,所述第二冗余信息用于对所述待存储数据进行数据恢复;
所述将所述扰动后的每个数据块存储到所述分布式存储系统的一个存储服务器中,包括:
将所述N个数据块中的每个数据块存储到所述分布式存储系统的一个存储服务器中。
在本实施例的一种可能的实施方式中,还包括:所述生成长度为K的伪随机序列之后,所述方法还包括:
加密保存所述伪随机序列。
在本实施例的一种可能的实施方式中,还包括:所述数据上传请求还包括:用户标识和发送数据上传请求的时间信息;
所述方法还包括:
根据待存储数据生成哈希值,所述哈希值用于验证所述待存储数据的完整性;
存储所述用户标识、所述时间信息和所述哈希值。
本发明实施例二提供一种数据存储装置,应用于分布式存储系统中的存储服务器,所述装置包括:
接收模块,用于接收数据上传请求,所述数据上传请求包括待存储数据;
交织器模块,用于对所述待存储数据进行交织处理,得到K个数据块,K为大于或等于2的整数;
伪随机序列模块,用于生成长度为K的伪随机序列,并使用所述伪随机序列对所述K个数据块进行扰动,得到扰动后的K个数据块;
存储模块,用于将所述扰动后的每个数据块存储到所述分布式存储系统的一个存储服务器中。
可选的,还包括:
第一冗余信息添加模块,用于对所述待存储数据添加第一冗余信息,所述第一冗余信息用于纠正所述待存储数据的随机差错。
可选的,还包括:
第二冗余信息添加模块,用于对所述扰动后的K个数据块添加第二冗余信息,得到N个数据块,所述第二冗余信息用于对所述待存储数据进行数据恢复;
所述存储模块,具体用于将所述N个数据块中的每个数据块存储到所述分布式存储系统的一个存储服务器中。
可选的,还包括:
加密模块,用于加密保存所述伪随机序列。
可选的,所述数据上传请求还包括:用户标识和发送数据上传请求的时间信息;
所述装置还包括:
哈希值生成模块,用于根据待存储数据生成哈希值,所述哈希值用于验证所述待存储数据的完整性;
存储模块,用于存储所述用户标识、所述时间信息和所述哈希值。
本发明的第三个方面提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行第一方面所述的方法步骤。
本发明的第四个方面提供一种存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行第一方面任一项所述的方法。
本发明提供的数据存储的方法及装置,通过对上传的数据进行交织处理,并对交织处理后得到的K个数据块根据伪随机序列进行扰动,生成扰动后的K个数据块。将扰动后的K个数据块分别存入K个分布式存储系统的服务器中,每个服务器存储一个数据块。通过该方法,由于交织操作的计算量较低,在存取数据时降低了时延。
附图说明
图1为本申请实施例提供的一种数据存储系统的网络架构图;
图2为本申请实施例提供的一种数据存储方法的流程示意图;
图3为本申请实施例提供的一种交织器的示意图;
图4为本申请实施例提供的另一种数据存储方法的流程示意图;
图5为本申请实施例提供的一种卷积码的编码过程示意图;
图6为本申请实施例提供的再一种数据存储方法的流程示意图;
图7为本申请实施例提供的一种数据恢复的示意图;
图8为本申请实施例提供的一种数据存储装置的结构示意图;
图9为本申请实施例提供的另一种数据存储装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1为本申请实施例提供的一种数据存储系统的网络架构图。如图1,该数据存储系统可以包括:至少两台服务器11和终端12。服务器11和终端12通过网络连接。服务器11接收终端12发送的待存储信息后,对待存储信息加密并存储。
该服务器11可以为分布式存储服务器,分布式存储服务器分布在整个网络中,每个分布式存储服务器具备不同的存储及计算能力。
终端12可以是无线终端也可以是有线终端,无线终端可以是指一种具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。上述终端可以是手机(mobilephone)、平板电脑(Pad)、可穿戴设备、带无线收发功能的电脑、虚拟现实(virtualreality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrialcontrol)中的无线设备、无人驾驶(self driving)中的无线设备、远程医疗(remotemedical)中的无线设备、智能电网(smart grid)中的无线设备、运输安全(transportationsafety)中的无线设备、智慧城市(smart city)中的无线设备、智慧家庭(smart home)中的无线设备等等,在此不作限定。可以理解的是,本申请实施例中,终端也可以称为用户设备(user equipment,UE)。
示例性的,本发明具体的应用场景可以例如:用户使用的手机向存储服务器发送数据存储请求,存储服务器将待存储的数据进行加密,并将加密后的数据存储到分布式存储系统的服务器上。
现有技术中,已经发展出了使用分布式网络存储系统对用户数据进行存储的技术,分布式存储系统可以有效防止当存储系统发生损坏时,数据全部丢失。分布式存储系统包含多个存储服务器,可以将数据存储到系统中多个服务器中。
然而,目前对于分布式存储系统中数据的加密,依然采用密钥加密的方法,这种加密方式的加密流程复杂,导致其时延过大,不能满足某些时延敏感型应用的要求。
考虑到上述问题,本申请提供了一种数据存储方法,对待存储数据进行交织处理,得到K个数据块,使用伪随机序列对K个数据块进行扰动,将扰动后的每个数据块存储到分布式存储系统的一个存储服务器中,从而降低在存取过程中的时延。
可以理解,该数据存储方法可以通过本申请实施例提供的数据存储装置执行,数据存储装置可以是某个设备的部分或全部,例如可以是存储服务器。
下面以集成或安装有相关执行代码的存储服务器为例,以具体地实施例对本申请实施例的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的一种数据存储方法的流程示意图。本实施例涉及的是存储服务器如何存储待存储数据的具体过程,该数据存储方法可以运用于分布式存储系统中的存储服务器。如图2所示,该方法包括:
S101、接收数据上传请求,数据上传请求包括待存储数据。
分布式存储系统中的任一存储服务器均可以接收分布式存储系统中的任一终端发送的数据上传请求,本申请实施例对于分布式存储系统中发送数据上传请求的终端,以及接受数据上传请求的存储服务器不做限制。
在一种可选的实施方式中,数据上传请求还包括:用户标识和发送数据上传请求的时间信息。当服务器接收到接受数据上传后,可以通过数据上传请求中的待存储数据生成哈希值,并且存储上述哈希值、用户标识和时间信息。在接收终端向服务器发送数据索取请求时,可以利用上述的用户标识和时间信息读取上述数据,并将利用哈希值验证数据的完整性,如果通过哈希值验证,则将上述数据发送给用户,如果没有通过哈希值验证,则向接收终端返回告警信息。
S102、对待存储数据进行交织处理,得到K个数据块,K为大于或等于2的整数。
对待存储数据进行交织处理,可以通过存储服务器中的交织器实现,交织器可以为分组矩形交织器、分组螺旋交织器、循环移位交织器、随机交织器、S随机交织器,本申请实施例对于交织器的型号不做限制。
示例性的,图3为本申请实施例提供的一种交织器的示意图,如图3所示,该交织器为分组矩形交织器,给定分组矩形交织器的深度为M,分块数量为K。在使用交织器对待存储数据进行交织前,可以调整M和K的取值,并在待存储数据尾部添加0,以使待存储数据与矩形交织器的容量M*K相匹配。随后,将待存储数据写入交织器进行数据交织,生成K个数据块。其中,K是一个可以提供足够搜索抵御空间的值。
S103、生成长度为K的伪随机序列,并使用伪随机序列对K个数据块进行扰动,得到扰动后的K个数据块。
利用伪随机序列生成器生成长度为K的伪随机序列,利用长度为K的伪随机序列对K个数据块进行扰动,生成扰动后的K个数据块。扰动完成后,将该生成的伪随机序列存储在服务器上。
交织后的K个数据块在受到伪随机序列的扰动后,其排列顺序被打乱。将数据块存储到分布式存储系统中时,发送数据块的顺序按照扰动后的顺序发送。通过伪随机序列,即使获得了所有的数据块,由于无法获知该K个数据块正确的排列顺序,因此也不能将K个数据块恢复成完整的数据。伪随机序列对数据块进行扰动的步骤,可以大大提高数据的安全性。
在一种可选的实施方式中,还可以对上述伪随机序列进行加密保存,从而进一步提高数据的安全性。
S104、将扰动后的每个数据块存储到分布式存储系统的一个存储服务器中。
将扰动后的K个数据块按照一定顺序发送到分布式存储系统中K个服务器中进行存储,每个服务器保存一个数据块。
本申请实施例对于每个数据块存储在哪个存储服务器中不做限制,在一种可选的实施方式中,可以随机确定K个服务器进行数据块存储,在另一种可选的实施方式中,可以按照预设的存储服务器存储顺序确定K个服务器依次将数据块进行存储。
在一种可实施方式中,在完成数据的存储后,可以记录下存储了数据的存储服务器标识。
与存储数据对应的,在完成待存储数据的存储后,可以通过如下方式取回数据,具体如下:
1、终端根据存储服务器标识发起数据索取请求,数据索取请求中还包含与用户标识和发送数据上传请求的时间信息,以便找到待取回的数据。
2、存储服务器解密保存的伪随机序列,利用该伪随机序列将解码后的数据写入到交织器中,进行解交织。
3、存储服务器利用用户标识读取该数据,并将利用哈希值验证该数据的完整性,如果通过哈希值验证,则将该数据发送给终端,如果没有通过Hash验证,则返回告警信息。
本申请实施例提供的数据存储的方法及装置,通过对上传的数据进行交织处理,并对交织处理后得到的K个数据块根据伪随机序列进行扰动,生成扰动后的K个数据块。将扰动后的K个数据块分别存入K个分布式存储系统的服务器中,每个服务器存储一个数据块。通过该方法,由于交织操作的计算量较低,在存取数据时降低了时延。
在对数据存储的过程中,数据可能会发生随机差错,因此,可以在对数据进行交织前,在数据中添加冗余信息,从而纠正随机差错。图4为本申请实施例提供的另一种数据存储方法的流程示意图。本实施例涉及的是存储服务器如何在数据中添加冗余信息以纠正随机差错的具体过程,如图4所示,在上述实施例的基础上,该方法包括:
S201、接收数据上传请求,数据上传请求包括待存储数据。
步骤S201的技术名词、技术效果、技术特征,以及可选实施方式,可参照图2所示的步骤S101理解,对于重复的内容,在此不再累述。
S202、对待存储数据添加第一冗余信息,第一冗余信息用于纠正待存储数据的随机差错。
当存储服务器接收到用户上传的待存储数据后,可以通过对待存储数据添加第一冗余信息,来对待存储数据进行随机纠错。添加第一冗余信息的方法可以包括组码、卷积码、汉明码等,本申请实施例对于如何添加第一冗余信息不做限制。
示例性的,以汉明码为例,假设待存储数据长度为L,汉明码为二元(n,m)汉明码。将数据对m取余,得到余数d,在数据的尾部添加(m-d)个0,形成修整后的数据,此时数据刚好可以被分为(L+m-d)/m份。将修整后的数据写入预编码矩阵D中,该矩阵的行数为k,列数为(L+m-d)/m。设二元(n,m)汉明码为生成矩阵G,将预编码矩阵D和生成矩阵G相乘,即可得到添加第一冗余信息后的数据。
示例性的,图5为本申请实施例提供的一种卷积码的编码过程示意图。如图5所示,可以将待存储数据划分为k长的段,并经过串并转换输入到离散线性系统的k个输入端。该系统的输出端为n个(一般n>k),且系统最大时延为m。输出的n个编码数字经过并串转换就生成了添加第一冗余信息后的数据。
与存储数据对应的,在完成待存储数据的存储后,在取回数据时可以添加如下步骤:解交织完成后,调用随机差错纠正单元,利用事先添加的第一冗余信息,纠正随机差错。
本申请实施例由于在数据存储的过程中,可能因各种各样的原因导致数据发生随机误差。在对数据进行交织前,先在数据中添加第一冗余信息,在取回数据时,若数据产生了随机误差,则可以根据添加的第一冗余信息对数据进行恢复。
S203、对待存储数据进行交织处理,得到K个数据块,K为大于或等于2的整数;
S204、生成长度为K的伪随机序列,并使用伪随机序列对K个数据块进行扰动,得到扰动后的K个数据块;
S205、将扰动后的每个数据块存储到分布式存储系统的一个存储服务器中。
步骤S203-S205的技术名词、技术效果、技术特征,以及可选实施方式,可参照图2所示的步骤S102-S104理解,对于重复的内容,在此不再累述。
本申请实施例提供的数据存储的方法,通过在数据中添加第一冗余信息,在取回数据解交织完成后,可以调用随机差错纠正单元,利用事先添加的第一冗余信息,纠正随机差错,从而在保证数据安全性的同时提高了数据的准确性。
若某个存储服务器由于自身软硬件或者外来攻击的原因停止服务,可能丢失的数据,因此可以在扰动后的数据中再次添加冗余信息,以利用冗余信息对丢失后的数据进行恢复。图6为本申请实施例提供的再一种数据存储方法的流程示意图,如图6所示,在上述实施例的基础上,该方法包括:
S301、接收数据上传请求,数据上传请求包括待存储数据;
S302、对待存储数据进行交织处理,得到K个数据块,K为大于或等于2的整数;
S303、生成长度为K的伪随机序列,并使用伪随机序列对K个数据块进行扰动,得到扰动后的K个数据块;
步骤S301-S303的技术名词、技术效果、技术特征,以及可选实施方式,可参照图2所示的步骤S101-S103理解,对于重复的内容,在此不再累述。
S304、对扰动后的K个数据块添加第二冗余信息,得到N个数据块,第二冗余信息用于对待存储数据进行数据恢复;
数据恢复单元对交织加密后的k个数据块进行处理,常见的数据恢复方法有纠删码、再生码等,处理完成后得到N个数据块。
示例性的,图7为本申请实施例提供的一种数据恢复的示意图,如图7所示,K个数据块Y={y1,y2,...yk},数据入再生码编码器被编码为N个数据块X={x1,x2,...xk}。当其中一个节点由于软硬件故障或者恶意攻击导致数据丢失,系统重新选择一个节点xN+1,随机选择d个现存节点,每个节点都向xN+1发送自身存储信息的叠加值pk,xN+1收到d个叠加值pk后即可成功恢复数据,其中K≤d≤N。
与存储数据对应的,在完成待存储数据的存储后,在取回数据时可以添加如下步骤:利用数据恢复单元去除用于数据恢复的第二冗余信息。
S305、将N个数据块中的每个数据块存储到分布式存储系统的一个存储服务器中
本申请实施例提供的数据存储的方法,对扰动后的K个数据块添加第二冗余信息,来恢复因服务器原因丢失的数据,在保证数据安全性的同时也保证了数据的完整性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图8为本申请实施例提供的一种数据存储装置的结构示意图。该数据存储装置应用于分布式存储系统中的存储服务器,可以通过软件、硬件或者两者的结合实现,可以为前述所说的存储服务器。
如图8所示,该数据存储装置包括:
接收模块41,用于接收数据上传请求,数据上传请求包括待存储数据;
交织器模块42,用于对待存储数据进行交织处理,得到K个数据块,K为大于或等于2的整数;
伪随机序列模块43,用于生成长度为K的伪随机序列,并使用伪随机序列对K个数据块进行扰动,得到扰动后的K个数据块;
存储模块44,用于将扰动后的每个数据块存储到分布式存储系统的一个存储服务器中。
在一种可选的实施方式中,还包括:
第一冗余信息添加模块45,用于对待存储数据添加第一冗余信息,第一冗余信息用于纠正待存储数据的随机差错。
在一种可选的实施方式中,还包括:
第二冗余信息添加模块46,用于对扰动后的K个数据块添加第二冗余信息,得到N个数据块,第二冗余信息用于对待存储数据进行数据恢复;
存储模块404,具体用于将N个数据块中的每个数据块存储到分布式存储系统的一个存储服务器中。
在一种可选的实施方式中,还包括:
加密模块47,用于加密保存伪随机序列。
在一种可选的实施方式中,数据上传请求还包括:用户标识和发送数据上传请求的时间信息;
装置还包括:
哈希值生成模块48,用于根据待存储数据生成哈希值,哈希值用于验证待存储数据的完整性;
存储模块44,用于存储用户标识、时间信息和哈希值。
本发明提供的数据存储装置,可以执行上述方法实施例中存储服务器的动作,其实现原理和技术效果类似,在此不再赘述。
图9为本申请实施例提供的另一种数据存储装置的结构示意图。如图7所示,该数据存储装置可以包括:至少一个处理器51和存储器52。图7示出的是以一个处理器为例的电子设备。
存储器52,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器52可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
处理器51用于执行存储器52存储的计算机执行指令,以实现数据存储方法。
其中,处理器51可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,在具体实现上,如果通信接口、存储器52和处理器51独立实现,则通信接口、存储器52和处理器51可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口、存储器52和处理器51集成在一块芯片上实现,则通信接口、存储器52和处理器51可以通过内部接口完成通信。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (6)
1.一种数据加密方法,其特征在于,应用于分布式存储系统中的存储服务器,所述方法包括:
接收数据上传请求,所述数据上传请求包括待存储数据;
对所述待存储数据添加第一冗余信息,所述第一冗余信息用于纠正所述待存储数据的随机差错;
对所述待存储数据进行交织处理,得到K个数据块,K为大于或等于2的整数;
生成长度为K的伪随机序列,并使用所述伪随机序列对所述K个数据块进行扰动,得到扰动后的K个数据块;
对所述扰动后的K个数据块添加第二冗余信息,得到N个数据块,所述第二冗余信息用于对所述待存储数据进行数据恢复;
将所述N个数据块中的每个数据块存储到所述分布式存储系统的一个存储服务器中,每个服务器保存一个数据块。
2.根据权利要求1所述的方法,其特征在于,所述生成长度为K的伪随机序列之后,所述方法还包括:
加密保存所述伪随机序列。
3.根据权利要求1所述的方法,其特征在于,所述数据上传请求还包括:用户标识和发送数据上传请求的时间信息;
所述方法还包括:
根据待存储数据生成哈希值,所述哈希值用于验证所述待存储数据的完整性;
存储所述用户标识、所述时间信息和所述哈希值。
4.一种数据存储装置,其特征在于,应用于分布式存储系统中的存储服务器,所述装置包括:
接收模块,用于接收数据上传请求,所述数据上传请求包括待存储数据;
第一冗余信息添加模块,用于对所述待存储数据添加第一冗余信息,所述第一冗余信息用于纠正所述待存储数据的随机差错;
交织器模块,用于对所述待存储数据进行交织处理,得到K个数据块,K为大于或等于2的整数;
伪随机序列模块,用于生成长度为K的伪随机序列,并使用所述伪随机序列对所述K个数据块进行扰动,得到扰动后的K个数据块;
第二冗余信息添加模块,用于对所述扰动后的K个数据块添加第二冗余信息,得到N个数据块,所述第二冗余信息用于对所述待存储数据进行数据恢复;
存储模块,用于将所述N个数据块中的每个数据块存储到所述分布式存储系统的一个存储服务器中,每个服务器保存一个数据块。
5.根据权利要求4所述的装置,其特征在于,还包括:
加密模块,用于加密保存所述伪随机序列。
6.根据权利要求4所述的装置,其特征在于,所述数据上传请求还包括:用户标识和发送数据上传请求的时间信息;
所述装置还包括:
哈希值生成模块,用于根据待存储数据生成哈希值,所述哈希值用于验证所述待存储数据的完整性;
存储模块,用于存储所述用户标识、所述时间信息和所述哈希值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910556272.2A CN110287716B (zh) | 2019-06-25 | 2019-06-25 | 数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910556272.2A CN110287716B (zh) | 2019-06-25 | 2019-06-25 | 数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287716A CN110287716A (zh) | 2019-09-27 |
CN110287716B true CN110287716B (zh) | 2021-09-14 |
Family
ID=68005675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910556272.2A Active CN110287716B (zh) | 2019-06-25 | 2019-06-25 | 数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287716B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115061640B (zh) * | 2022-08-11 | 2022-12-02 | 深圳云豹智能有限公司 | 一种容错分布存储系统、方法、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585321A (zh) * | 2004-06-07 | 2005-02-23 | 北京交通大学 | 一种基于Turbo编解码的数字信息抗干扰软加密方法及系统 |
CN101859351A (zh) * | 2009-04-08 | 2010-10-13 | 北京芯技佳易微电子科技有限公司 | 保证存储器存储的数据安全读取的系统及方法 |
CN103995705A (zh) * | 2014-06-04 | 2014-08-20 | 中国科学院信息工程研究所 | 一种操作系统地址空间随机化分配系统及方法 |
CN105975877A (zh) * | 2016-07-01 | 2016-09-28 | 中国联合网络通信有限公司重庆市分公司 | 一种敏感文件安全存储办法 |
CN109787742A (zh) * | 2019-01-16 | 2019-05-21 | 福建师范大学 | 一种验证云存储中数据持有完整性的协议及其系统 |
CN109800599A (zh) * | 2019-01-18 | 2019-05-24 | 深圳市威赫科技有限公司 | 一种区块链分布式存储方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8539165B2 (en) * | 2010-09-29 | 2013-09-17 | International Business Machines Corporation | Methods for managing ownership of redundant data and systems thereof |
US9137013B2 (en) * | 2012-09-28 | 2015-09-15 | Broadcom Corporation | Method and system for a hardware-efficient universal hash function |
-
2019
- 2019-06-25 CN CN201910556272.2A patent/CN110287716B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585321A (zh) * | 2004-06-07 | 2005-02-23 | 北京交通大学 | 一种基于Turbo编解码的数字信息抗干扰软加密方法及系统 |
CN101859351A (zh) * | 2009-04-08 | 2010-10-13 | 北京芯技佳易微电子科技有限公司 | 保证存储器存储的数据安全读取的系统及方法 |
CN103995705A (zh) * | 2014-06-04 | 2014-08-20 | 中国科学院信息工程研究所 | 一种操作系统地址空间随机化分配系统及方法 |
CN105975877A (zh) * | 2016-07-01 | 2016-09-28 | 中国联合网络通信有限公司重庆市分公司 | 一种敏感文件安全存储办法 |
CN109787742A (zh) * | 2019-01-16 | 2019-05-21 | 福建师范大学 | 一种验证云存储中数据持有完整性的协议及其系统 |
CN109800599A (zh) * | 2019-01-18 | 2019-05-24 | 深圳市威赫科技有限公司 | 一种区块链分布式存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110287716A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11182247B2 (en) | Encoding and storage node repairing method for minimum storage regenerating codes for distributed storage systems | |
US10291265B2 (en) | Accelerated Galois field coding for storage systems | |
JP5913560B2 (ja) | 低密度パリティチェック符号を使用する符号化および復号技法 | |
CN105740088B (zh) | 闪存数据纠错方法及装置 | |
RU2680350C2 (ru) | Способ и система распределенного хранения восстанавливаемых данных с обеспечением целостности и конфиденциальности информации | |
KR20160065297A (ko) | Puf 회로 및 그것의 키 등록 방법 | |
WO2018202097A1 (zh) | 一种编码方法及装置 | |
KR20150112893A (ko) | 대수적 조작으로부터 데이터를 보호하는 방법 | |
CN106874140B (zh) | 数据存储方法及装置 | |
WO2023151290A1 (zh) | 一种数据编码方法、装置、设备及介质 | |
TW202001920A (zh) | 在資料儲存系統中用於改善資料回復之方法及裝置 | |
CN113687975A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN110287716B (zh) | 数据存储方法及装置 | |
CN114510368A (zh) | 一种基于rs纠删码的编解码加速方法及系统 | |
JP7429223B2 (ja) | ターボ積符号の復号方法、装置、デコーダー及びコンピュータ記憶媒体 | |
CN107665152B (zh) | 一类纠删码的译码方法 | |
Chen et al. | A new Zigzag MDS code with optimal encoding and efficient decoding | |
CN108352845B (zh) | 用于对存储数据进行编码的方法以及装置 | |
CN113518113B (zh) | 一种基于区块链和里德-所罗门码的文件存储方法、计算机设备及存储介质 | |
KR20130088082A (ko) | 슈퍼차지드 코드들 | |
CN113553626A (zh) | 一种数据完整性检测方法、装置、设备及存储介质 | |
CN109525255B (zh) | 交织方法和交织装置 | |
US20160043738A1 (en) | Distribution And Replication of Erasure Codes | |
KR102370903B1 (ko) | 인터리빙 깊이를 조절하기 위한 장치 및 방법 | |
JP5826202B2 (ja) | 符号化装置、復号装置、符号化方法、復号方法及びプログラム |
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 |