CN107577429A - 一种数据存储与恢复方法和装置 - Google Patents
一种数据存储与恢复方法和装置 Download PDFInfo
- Publication number
- CN107577429A CN107577429A CN201710772685.5A CN201710772685A CN107577429A CN 107577429 A CN107577429 A CN 107577429A CN 201710772685 A CN201710772685 A CN 201710772685A CN 107577429 A CN107577429 A CN 107577429A
- Authority
- CN
- China
- Prior art keywords
- data
- specified quantity
- recombination
- subdata
- file
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据存储与恢复方法和装置,在该数据存储方法中,确定出待存储的数据文件之后,从该数据文件中读取出指定数量个字节的数据,得到指定数量个目标数据,每个目标数据为一个字节的数据;按照该目标数据中各个比特位上的数据排布,将该目标数据拆分成顺序相连的设定数量个子数据;按照预先设定的数据重组规则,将该指定数量个目标数据的子数据进行重组,得到该指定数量个重组数据;将该指定数量个重组数据分别存储到该指定数量个目标文件中,其中,该目标文件为待存储至网络存储系统的文件。本申请的方案可以提高数据存储的安全性,降低数据被窃取的风险。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据存储与恢复方法和装置。
背景技术
随着网络技术的不断发展,个人以及企业所需存储或者维护的数据量逐渐增加。为了管理和存储海量数据,存储行业提出了集中存储数据的网络存储系统,如,云存储就是一种新的集中存储技术。
为了保证数据隐私以及安全,很多用户在向网络存储系统上传所需存储的数据文件时,都会采用加密算法对数据进行加密。然而,对数据文件加密需要依赖于密钥,一旦密钥被窃取或者破解,数据的安全性就无法保证,因此,如何提高数据存储的安全性是本领域技术人员迫切需要解决的技术问题。
发明内容
有鉴于此,本申请提供了一种数据存储与恢复方法和装置,以提高数据存储的安全性,降低数据被窃取的风险。
为实现上述目的,一方面,本申请实施例提供了一种数据存储方法,包括:
确定待存储的数据文件;
从所述数据文件中读取出指定数量个字节的数据,得到指定数量个目标数据,每个目标数据为一个字节的数据;
按照所述目标数据中各个比特位上的数据排布,将所述目标数据拆分成顺序相连的设定数量个子数据;
按照预先设定的数据重组规则,将所述指定数量个目标数据的子数据进行重组,得到所述指定数量个重组数据;
将所述指定数量个重组数据分别存储到所述指定数量个目标文件中,其中,所述目标文件为待存储至网络存储系统的文件。
优选的,在按照预先设定的数据重组规则,将所述指定数量个目标数据的子数据进行重组,得到所述指定数量个重组数据之前,还包括:
调整所述目标数据中的所述设定数量个子数据的顺序排布,得到所述目标数据对应的待重组数据;
所述按照预先设定的数据重组规则,将所述指定数量个目标数据的子数据进行重组,得到所述指定数量个重组数据,包括:
按照所述预先设定的数据重组规则,将所述指定数量个所述待重组数据的子数据进行重组,得到所述指定数量个重组数据。
优选的,所述按照所述目标数据中各个比特位上的数据排布,将所述目标数据拆分成顺序相连的设定数量个子数据,包括:
将所述目标数据拆分成第一子数据和第二子数据,其中,第一子数据由所述目标数据中前4个比特位的数据构成,所述第二子数据由所述目标数据中的后4个比特位的数据构成;
所述调整所述目标数据中的所述设定数量个子数据的顺序排布,得到所述目标数据对应的待重组数据,包括:
将所述目标数据的第一子数据与第二子数据的位置互换,得到待重组数据。
优选的,所述指定数量为2的倍数;
所述按照所述预先设定的数据重组规则,将所述指定数量个所述待重组数据的子数据进行重组,得到所述指定数量个重组数据,包括:
按照所述待重组数据所对应的字节的先后顺序,将未被分组的,且字节靠前的两个所述待重组数据分为一个数据组,直至完成所有调整后的目标数据的分组;
针对每个数据组,将所述数据组中第一个所述待重组数据中处于后4个比特位的子数据与第二个所述待重组数据中处于后4个比特位的子数据进行互换,得到重组出的第一重组数据和第二重组数据。
优选的,在所述将所述指定数量个的重组数据分别存储到所述指定数量个目标文件中之后,还包括:
检测所述数据文件中是否仍存在未被读取的数据;
当所述数据文件中存在未被读取的数据时,返回执行所述从所述数据文件中读取出指定数量个字节的数据的操作;
当所述数据文件中不存在未被读取的数据时,将所述指定数量个目标文件上传到所述网络存储系统的服务器。
另一方面,本申请还提供了一种数据恢复方法,包括:
从网络存储系统获取指定数量个待合并的目标文件;
分别从每个所述目标文件中读取一个字节的数据,得到所述指定数量个重组数据;
按照所述重组数据中各个比特位上的数据排布,将所述重组数据拆分成顺序相连的设定数量个子数据;
按照预先设定的数据合并规则,将所述指定数量个重组数据的子数据进行重新合并,得到所述指定数量个目标数据;
将所述指定数量个目标数据存储到所需恢复的数据文件中。
优选的,在所述按照预先设定的数据合并规则,将所述指定数量个重组数据的子数据进行重新合并,得到所述指定数量个目标数据之后,还包括:
调整所述目标数据中的所述设定数量个子数据的顺序排布,得到调整后的目标数据;
所述将所述指定数量个目标数据存储到所需恢复的数据文件中,包括:
将所述指定数量个调整后的目标数据存储到所需恢复的数据文件中。
另一方面,本申请还提供了一种数据存储装置,包括:
文件确定单元,用于确定待存储的数据文件;
数据读取单元,用于从所述数据文件中读取出指定数量个字节的数据,得到指定数量个目标数据,每个目标数据为一个字节的数据;
数据拆分单元,用于按照所述目标数据中各个比特位上的数据排布,将所述目标数据拆分成顺序相连的设定数量个子数据;
数据重组单元,用于按照预先设定的数据重组规则,将所述指定数量个目标数据的子数据进行重组,得到所述指定数量个重组数据;
数据存储单元,用于将所述指定数量个重组数据分别存储到所述指定数量个目标文件中,其中,所述目标文件为待存储至网络存储系统的文件。
优选的,还包括:
数据移位单元,用于在所述数据重组单元将所述指定数量个目标数据的子数据进行重组之前,调整所述目标数据中的所述设定数量个子数据的顺序排布,得到所述目标数据对应的待重组数据;
所述数据重组单元,具体为,用于按照所述预先设定的数据重组规则,将所述指定数量个所述待重组数据的子数据进行重组,得到所述指定数量个重组数据。
另一方面,本申请还提供了一种数据恢复装置,包括:
文件获取单元,用于从网络存储系统获取指定数量个待合并的目标文件;
数据读取单元,用于分别从每个所述目标文件中读取一个字节的数据,得到所述指定数量个重组数据;
数据拆分单元,用于按照所述重组数据中各个比特位上的数据排布,将所述重组数据拆分成顺序相连的设定数量个子数据;
数据合并单元,用于按照预先设定的数据合并规则,将所述指定数量个重组数据的子数据进行重新合并,得到所述指定数量个目标数据;
数据恢复单元,用于将所述指定数量个目标数据存储到所需恢复的数据文件中。
经由上述的技术方案可知,在本申请实施例中,获取待存储的数据文件之后,将数据文件中每个字节的数据拆分为多个子数据,并将不同字节的数据所对应的子数据进行重组,并将重组后的数据分别存储到多个目标文件中,由于与直接存储该原始的数据文件相比,在网络存储系统中存储包含所有重组数据的多个目标文件可以降低全部重组数据的风险;同时,由于目标文件中的数据为拆分重组后的数据,攻击者只有了解数据拆分重组的规则,才可能恢复出原始数据,从而大大降低了数据被窃取的风险,提高了数据存储的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请一种数据存储方法一个实施例的流程示意图;
图2示出了本申请一种数据存储方法又一个实施例的流程示意图;
图3示出了本申请一种数据恢复方法一个实施例的流程示意图;
图4示出了本申请一种数据存储装置一个实施例的组成结构示意图;
图5示出了本申请一种数据存储装置又一个实施例的组成结构示意图。
具体实施方式
如图1,其示出了本申请一种数据存储方法一个实施例的流程示意图,本实施例的方法可以应用于终端、服务器或者其他计算机设备,本实施例的方法可以包括:
S101,确定待存储的数据文件。
其中,该数据文件中包括需要存储的多个字节的数据。
S102,从该数据文件中读取出指定数量个字节的数据,得到指定数量个目标数据。
其中,指定数量可以根据需要设定,如,指定数量可以为2或4。
在本申请实施例中,为了便于区分,将每个字节的数据称为目标数据,这样,读取出的指定数量个字节的数据就是指定数量个目标数据。
其中,该步骤S102是一种不断重复执行的过程,以便将从数据文件中所有的数据都读取出来,并执行后续的数据拆分、移位以及重组的操作。
S103,按照该目标数据中各个比特位上的数据排布,将该目标数据拆分成顺序相连的设定数量个子数据。
其中,该设定数量也可以根据需要设定,如,设定数量可以为2,3或者4等等。考虑到目标数据为一个字节,而一个字节由8个比特位构成,因此,该设定数量可以为从1到8的任意整数。
为了便于区分,将目标数据拆分出的数据称为子数据,子数据为目标数据的一部分。
其中,按照目标数据中各个比特位上的数据排布,将目标数据进行拆分相当于将目标数据切分为多份,如,设定数量为2,则可以将拆分为两个子数据,例如,将目标数据拆分为该目标数据的前4比特位(或者说高4比特位)以及后4比特位(或者说低4比特位)两部分。
可选的,拆分目标数据时,可以是将目标数据拆分成数据量大小相同的设定数量个子数据。如,按照目标数据中各个比特位上的数据排序,将目标数据拆分成4个子数据,则说明目标数据中的第1个和第2个比特位的数据构成第一个子数据,第3个和第4个比特位上的数据构成第二个子数据,第5个和第6个比特位上的数据构成第三个子数据,第7个和第8个比特位上的数据构成第四个子数据。
S104,调整该目标数据中的设定数量个子数据的顺序排布,得到目标数据对应的待重组数据。
其中,为了便于区分,将对目标数据中子数据的顺序进行调整,所得到的调整后的目标数据称为待重组数据。
其中,调整目标数据中各个子顺序的方式可以根据需要设定。如,在目标数据被拆分成4个子数据的情况下,可以将第一个子数据与第二个子数据的位置互换,并将第三个子数据与第四个子数据的位置互换。
可选的,为了简化数据拆分以及子数据的调整,降低数据拆分和重组的复杂度,并降低后续合并数据的复杂度,在拆分目标子数据时,可以是将目标数据的八个比特位拆分为前4个比特位以及后4个比特位,得到由目标数据的前4个比特位的数据构成的第一子数据,以及由目标数据的后4个比特位的数据构成的第二子数据。
相应的,在调整目标数据中子数据的顺序排布时,可以将目标数据的第一子数据与第二子数据的位置互换,从而得到待重组数据。
可以理解的是,调整目标数据中该设定数量个子数据的顺序排布之后,后面基于调整后的目标数据中子数据的排布进行数据重组,增加了他们恢复数据的难度,即使他人及时恶意窃取到该数据文件的数据之后,也会由于无法获知数据的组合方式,而无法恢复出相应的数据,从而可以进一步提高数据的安全性。
需要说明的是,该步骤S104为一个可选步骤,在实际应用中,可以根据需要选择执行或者不执行该步骤S104。如,在对安全性要求相对较低的情况下,可以不将目标数据中子数据的顺序打乱,而直接执行后续对该指定数量个目标数据的子数据进行重组的操作。
S105,按照预先设定的数据重组规则,将该指定数量个待重组数据的子数据进行重组,得到该指定数量个的重组数据。
可以理解的是,由于对每个目标数据中子数据的顺序进行调整之后,都可以得到一个待重组数据,这样,可以得到指定数量个待重组数据。
其中,该数据重组规则中包括不同子数据之间重新组合成为一个重组数据的规则,如,哪些待重组数据的子数据可以组合以及如何组合等等。
该数据重组规则可以根据需要设定。例如,可以设定相互之间需要进行数据重组的至少两个待重组数据,以及该至少两个待重组数据之间需要互换的子数据。
如,在指定数量可以为2的倍数,且每个待重组数据具有第一子数据和第二子数据的情况下,可以按照该待重组数据所对应的字节的先后顺序,将未被分组的,且字节靠前的两个待重组数据分为一个数据组,直至完成所有调整后的目标数据的分组。针对每个数据组,将该数据组中第一个待重组数据中的处于后4个比特位的子数据与第二个待重组数据中处于后4个比特位的子数据进行数据互换,从而将第一个待重组数据以及第二个待重组数据分别重组为第一重组数据和第二重组数据。
其中,待重组数据所对应的字节的先后顺序也就是待重组数据对应的目标数据的字节先后顺序。例如,以从数据文件中读取出4个字节的数据为例,读取出的4个字节的数据,也就得到4个目标数据,其中,第一个字节的目标数据的字节顺序最靠前,而第4个字节的目标数据的字节顺序最靠后,相应的,该第一字节的目标数据对应的待重组数据所对应的字节的顺序最靠前,而第4个字节的目标数据对应的待重组数据所对应的字节的顺序最靠后。
其中,属于同一个数据组的两个待重组数据之间的子数据需要重新组合,以重新组合成这两个待重组数据对应的重组数据。
举例说明,假设指定数量为4,则从数据文件中读取4个字节数据,假设这4个字节的数据依次为目标数据1、目标数据2、目标数据3和目标数据4,而这四个目标数据所对应的待重组数据依次为待重组数据1、待重组数据2、待重组数据3和待重组数据4。这样,可以将待重组数据1和待重组数据2确定为一个数据组,相应的,可以将待重组数据1中的后4个比特位与待重组数据2中的后4个比特位进行数据互换,从而得到由待重组数据1中的前4个比特位与待重组数据2中的后4个比特位构成的重组数据1,由待重组数据2中的前4个比特位与待重组数据1中的后4个比特位构成的重组数据2。与此类似,待重组数据3和待重组数据4作为一个数据组,对于待重组数据3和待重组数据4之间的子数据的重组过程类似。
可以理解的是,以上是以一种数据重组规则为例进行介绍,当待重组数据的数量以及待重组数据中子数据的数量不同时,该数据重组规则也会有所不同,在此不加以限制。
需要说明的是,本申请实施例是以先调整目标数据中子数据的顺序排序之后,再对多个调整后的目标数据之间的子数据进行重组,以重组出重组数据为例进行说明,但是可以理解的是,如果不调整目标数据中子数据的顺序,而是直接按照预先设定的数据重组规则,将该指定数量个目标数据的子数据进行重组,也同样适用于本申请实施例;而且,按照该数据重组规则,对该指定数量个目标数据的子数据进行重组的过程,与对该指定数量个待重组数据的子数据进行重组的过程相似,在此不再赘述。
S106,将该指定数量个的重组数据分别存储到该指定数量个目标文件中。
其中,该目标文件为待存储至网络存储系统的文件。目标文件的数量与每次从数据文件中读取出的字节的数量相同,都为该指定数量。
如,假设经过以上步骤S101至S105得到4个重组数据,分别为重组数据1、重组数据2、重组数据3和重组数据4,则可以将重组数据1存储到目标文件1中,重组数据2存储到目标文件2中,重组数据3存储到目标数据3中,而将重组数据4存储到目标文件4中。
将该指定数量个重组数据分别存储到不同的目标文件中,实现了将重组出的数据分散存储,这样,后续只有全部获取到该指定数量个文件才可以得到该指定数量个重组数据,然后才可能进行数据的拆分以及合并,完成原始数据恢复,从而降低了数据被窃取的风险,提高了数据的安全性。
S107,检测该数据文件中是否仍存在未被读取的数据,如果是,则返回步骤S102;如果否,则执行步骤S108;
如果该数据文件中仍存在未被读取的数据,则继续从该数据文件中读取指定数量个字节,并重复以上步骤S103至S106的操作,直到该数据文件中的所有数据都被读取,并完成数据拆分以及重组的处理为止。
S108,当该数据文件中不存在未被读取的数据时,将该指定数量个目标文件上传到网络存储系统的服务器。
可选的,为了体现出该指定数量个目标文件之间的关联关系,以便后续可以确定出数据文件所对应的目标文件,可以将该指定数据个目标文件关联存储,或者是,将该指定数量个目标文件的文件名中添加特定的关联标识。
可以理解的是,步骤S107和S108为可选步骤,其目的是为了便于完整理解本申请实施例的方案。
当完成数据文件中所有数据的拆分以及重组之后,可以将构成的该指定数量个目标文件上传到网络存储系统中进行存储,与直接存储该原始的数据文件相比,在网络存储系统中存储该指定数量个目标文件可以降低攻击者获取到全部数据的风险,同时,由于目标文件中的数据为拆分重组后的数据,攻击者只有了解数据拆分重组的规则,才可能恢复出原始数据,从而大大降低了数据被窃取的风险,提高了数据存储的安全性。
为了便于理解,下面以每次从数据文件中读取两个字节的数据,且每个字节的数据被拆分成两个子数据为例进行介绍。如,参见图2,其示出了本申请一种数据存储方法又一个实施例的流程示意图,本实施例的方法可以包括:
S201,确定待存储的数据文件。
S202,从该数据文件中读取出2个字节的数据,得到第一个字节的第一目标数据和第二个字节的第二目标数据。
为了便于区分,将读取出的两个字节的数据中第一个字节的数据称为第一目标数据,而将第二个字节的数据称为第二目标数据。
S203,将第一目标数据中的前4比特位数据与后4比特位数据进行互换,并将第二目标数据中前4比特位数据与后4比特位数据进行互换。
在本申请实施例中,以每个目标数据中的前4个比特位与后4个比特位的数据分别为两个子数据为例,则调整目标数据中前4个比特位与后4个比特位中的顺序,以实现目标数据中子数据排布顺序的调整。
S204,将调整后的第一目标数据中前4比特位的数据与调整后的第二目标数据中后四比特位的数据组成第一重组数据,将调整后的第二目标数据中前4比特位的数据与调整后的第一目标数据中后4比特位的数据组成第二重组数据。
其中,由于本申请实施例中每次读取两个字节的数据,因此,这两个字节的数据就可以认为是一个数据组,以便对这两个字节的数据之间的子数据进行互换重组,以重组出重组数据的数据组。
如,假设第一目标数据为:11000011,第二目标数据为11110000,则将第一目标数据的前4比特位数据与后4比特位数据互换,以实现第一目标数据内部比特位数据的移位,从而可以得到:00111100;将第二目标数据的前4比特数据与后4比特位数据互换,以实现第二目标数据内部比特位的移位,从而可以得到00001111。然后,将移位后的第一目标数据的前4比特位与移位后的第二目标数据的后4比特位进行重组,可以得到第一重组数据:00111111,相应的,第二重组数据为00001100。
S205,将第一重组数据存储到第一目标文件中,并将第二重组数据存储到第二目标文件中。
S206,检测该数据文件中是否仍存在未被读取的数据,如果是,则返回步骤S202;如果否,则执行步骤S207;
S207,将第一目标文件和第二目标文件上传到网络存储系统的服务器。
在本申请的数据存储方法的基础上,本申请还提供了一种数据恢复方法,该数据恢复方法适用于从网络存储系统获取到该指定数量个目标文件之后,基于该指定数量个目标文件恢复出该数据文件。本申请的数据恢复方法可以认为是该数据存储方法中数据拆分以及重组部分的逆过程。
如,参见图3,其示出了本申请一种数据恢复方法一个实施例的流程示意图,本实施例的方法可以包括:
S301,从网络存储系统获取指定数量个待合并的目标文件。
S302,分别从每个目标文件中读取一个字节的数据,得到该指定数量个重组数据。
其中,每个目标文件中都存储有重组后的重组数据,目标文件中一个字节的数据就是一个重组数据。
需要说明的是,为了确定出后续合并出的目标数据所对应的前后顺序,可以设定目标文件的先后顺序,如,以目标文件为两个,分别为第一目标文件和第二目标文件为例,则第一目标文件中读取出的目标数据的顺序位于该第二目标文件中读取出的目标数据之前。
S303,按照该重组数据中各个比特位上的数据排布,将该重组数据拆分成顺序相连的设定数量个子数据。
其中,该设定数量可以根据需要设定,该设定数量以数据存储方法中每个目标数据拆分出的子数据的数量为准。
其中,将重组数据拆分成设定数量个子数据的过程与前面实施例中将目标数据拆分为设定数量个子数据的过程相似,在此不再赘述。
S304,按照预先设定的数据合并规则,将该指定数量个重组数据的子数据进行重新合并,得到指定数量个目标数据。
其中,该数据合并规则中规定了哪些待重组数据的子数据需要重新合并以及如何进行合并,
其中,该数据合并规则可以认为是数据重组规则的逆规则。如,在一种实现方式中,在指定数量可以为2的倍数,且每个重组数据具有第一子数据和第二子数据的情况下,可以按照该重组数据所对应的字节的先后顺序,将未被分组的,且字节靠前的两个重组数据分为一个数据组,直至完成所有调整后的目标数据的分组。针对每个数据组,将该数据组中第一个重组数据中的处于后4个比特位的子数据与第二个重组数据中处于后4个比特位的子数据进行数据互换,从而将第一个重组数据以及第二个重组数据分别重组为第一目标数据和第二目标数据。
S305,分别调整每个目标数据中的该设定数量个子数据的顺序排布,得到指定数量个调整后的目标数据。
如,可以是将重组数据的八个比特位拆分为前4个比特位以及后4个比特位,得到由重组数据的前4个比特位的数据构成的第一子数据,以及由重组数据的后4个比特位的数据构成的第二子数据。相应的,在调整重组数据中子数据的顺序排布时,可以将重组数据的第一子数据与第二子数据的位置互换,从而得到待重组数据。换言之,将重组数据中前4个比特位的数据与后4个比特位的数据进行呼喊,得到重组数据对应的待重组数据。
如,仍以前面提到的重组出的第一重组数据为:00111111,第二重组数据为00001100进行说明,可以将第一重组数据中后四个位比特位的数据与第二重组数据中后四个比特位的数据进行互换,得到第一目标数据为00111100,第二目标数据为00001111,则调整第一目标数据中前4比特位与后4比特位的顺序可以得到调整的第一目标数据为11000011,相应的,调整后的第二目标数据为11110000。
S306,将该指定数量个调整后的目标数据存储到所需恢复的数据文件中。
其中,按照该指定数量个目标数据对应的目标文件的先后顺序,可以确定出该指定数量个调整后的目标数据的先后顺序,从而后续可以按照该指定数量个调整后的目标数据的先后顺序,将该指定数量个调整后的目标数据依次存储到数据文件中。
需要说明的是,在数据存储方法中如果不执行对目标数据中子数据顺序排布的调整操作的前提下,在合并数据时,则需要执行该步骤S305的操作。在该种情况下,在步骤S306得到指定数量个目标数据之后,可以将该指定数量个目标数据存储到数据文件中。
S307,检测该指定数据量个目标文件中是否仍存在未被读取的数据,如果是,则返回所述S302;如果否,则完成数据恢复。
对应本申请的一种数据存储方法,本申请实施例还提供了一种数据存储装置,如,参见图4,其示出了本申请一种数据存储装置一个实施例的组成结构示意图,本实施例的装置可以包括:
文件确定单元401,用于确定待存储的数据文件;
数据读取单元402,用于从所述数据文件中读取出指定数量个字节的数据,得到指定数量个目标数据,每个目标数据为一个字节的数据;
数据拆分单元403,用于按照所述目标数据中各个比特位上的数据排布,将所述目标数据拆分成顺序相连的设定数量个子数据;
数据重组单元404,用于按照预先设定的数据重组规则,将所述指定数量个目标数据的子数据进行重组,得到所述指定数量个重组数据;
数据存储单元405,用于将所述指定数量个重组数据分别存储到所述指定数量个目标文件中,其中,所述目标文件为待存储至网络存储系统的文件。
可选的,所述装置还可以包括:
数据移位单元,用于在所述数据重组单元将所述指定数量个目标数据的子数据进行重组之前,调整所述目标数据中的所述设定数量个子数据的顺序排布,得到所述目标数据对应的待重组数据;
所述数据重组单元,具体为,用于按照所述预先设定的数据重组规则,将所述指定数量个所述待重组数据的子数据进行重组,得到所述指定数量个重组数据。
在一种实现方式中,所述数据拆分单元,包括:
第一拆分子单元,用于将所述目标数据拆分成第一子数据和第二子数据,其中,第一子数据由所述目标数据中前4个比特位的数据构成,所述第二子数据由所述目标数据中的后4个比特位的数据构成;
所述数据移位单元,包括:
第一移位子单元,用于将所述目标数据的第一子数据与第二子数据的位置互换,得到待重组数据。
可选的,所述指定数量为2的倍数;
所述数据重组单元,包括:
数据分组单元,用于按照所述待重组数据所对应的字节的先后顺序,将未被分组的,且字节靠前的两个所述待重组数据分为一个数据组,直至完成所有调整后的目标数据的分组;
数据重组子单元,用于针对每个数据组,将所述数据组中第一个所述待重组数据中处于后4个比特位的子数据与第二个所述待重组数据中处于后4个比特位的子数据进行互换,得到重组出的第一重组数据和第二重组数据。
可选的,所述装置还可以包括:
检测单元,用于在所述数据存储单元将所述指定数量个的重组数据分别存储到所述指定数量个目标文件中之后,检测所述数据文件中是否仍存在未被读取的数据;并当所述数据文件中存在未被读取的数据时,触发返回执行所述数据读取单元的操作;
数据上传单元,用于当所述数据文件中不存在未被读取的数据时,将所述指定数量个目标文件上传到所述网络存储系统的服务器。
另一方面,对应本申请的一种数据恢复方法,本申请还提供了一种数据恢复装置。
如,参见图5,其示出了本申请一种数据恢复装置一个实施例的组成结构示意图,本实施例的装置可以包括:
文件获取单元501,用于从网络存储系统获取指定数量个待合并的目标文件;
数据读取单元502,用于分别从每个所述目标文件中读取一个字节的数据,得到所述指定数量个重组数据;
数据拆分单元503,用于按照所述重组数据中各个比特位上的数据排布,将所述重组数据拆分成顺序相连的设定数量个子数据;
数据合并单元504,用于按照预先设定的数据合并规则,将所述指定数量个重组数据的子数据进行重新合并,得到所述指定数量个目标数据;
数据恢复单元505,用于将所述指定数量个目标数据存储到所需恢复的数据文件中。
可选的,所述装置还包括:
数据移位单元,用于在所述数据合并单元得到所述指定数量个目标数据之后,调整所述目标数据中的所述设定数量个子数据的顺序排布,得到调整后的目标数据;
所述数据恢复单元,具体为:将所述指定数量个调整后的目标数据存储到所需恢复的数据文件中。
可选的,所述装置还包括:
检测单元,用于检测所述指定数据量个目标文件中是否仍存在未被读取的数据,如果是,则触发执行所述数据读取单元的操作。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
确定待存储的数据文件;
从所述数据文件中读取出指定数量个字节的数据,得到指定数量个目标数据,每个目标数据为一个字节的数据;
按照所述目标数据中各个比特位上的数据排布,将所述目标数据拆分成顺序相连的设定数量个子数据;
按照预先设定的数据重组规则,将所述指定数量个目标数据的子数据进行重组,得到所述指定数量个重组数据;
将所述指定数量个重组数据分别存储到所述指定数量个目标文件中,其中,所述目标文件为待存储至网络存储系统的文件。
2.根据权利要求1所述的数据存储方法,其特征在于,在按照预先设定的数据重组规则,将所述指定数量个目标数据的子数据进行重组,得到所述指定数量个重组数据之前,还包括:
调整所述目标数据中的所述设定数量个子数据的顺序排布,得到所述目标数据对应的待重组数据;
所述按照预先设定的数据重组规则,将所述指定数量个目标数据的子数据进行重组,得到所述指定数量个重组数据,包括:
按照所述预先设定的数据重组规则,将所述指定数量个所述待重组数据的子数据进行重组,得到所述指定数量个重组数据。
3.根据权利要求2所述的数据存储方法,其特征在于,所述按照所述目标数据中各个比特位上的数据排布,将所述目标数据拆分成顺序相连的设定数量个子数据,包括:
将所述目标数据拆分成第一子数据和第二子数据,其中,第一子数据由所述目标数据中前4个比特位的数据构成,所述第二子数据由所述目标数据中的后4个比特位的数据构成;
所述调整所述目标数据中的所述设定数量个子数据的顺序排布,得到所述目标数据对应的待重组数据,包括:
将所述目标数据的第一子数据与第二子数据的位置互换,得到待重组数据。
4.根据权利要求3所述的数据存储方法,其特征在于,所述指定数量为2的倍数;
所述按照所述预先设定的数据重组规则,将所述指定数量个所述待重组数据的子数据进行重组,得到所述指定数量个重组数据,包括:
按照所述待重组数据所对应的字节的先后顺序,将未被分组的,且字节靠前的两个所述待重组数据分为一个数据组,直至完成所有调整后的目标数据的分组;
针对每个数据组,将所述数据组中第一个所述待重组数据中处于后4个比特位的子数据与第二个所述待重组数据中处于后4个比特位的子数据进行互换,得到重组出的第一重组数据和第二重组数据。
5.根据权利要求1所述的数据存储方法,其特征在于,在所述将所述指定数量个的重组数据分别存储到所述指定数量个目标文件中之后,还包括:
检测所述数据文件中是否仍存在未被读取的数据;
当所述数据文件中存在未被读取的数据时,返回执行所述从所述数据文件中读取出指定数量个字节的数据的操作;
当所述数据文件中不存在未被读取的数据时,将所述指定数量个目标文件上传到所述网络存储系统的服务器。
6.一种数据恢复方法,其特征在于,包括:
从网络存储系统获取指定数量个待合并的目标文件;
分别从每个所述目标文件中读取一个字节的数据,得到所述指定数量个重组数据;
按照所述重组数据中各个比特位上的数据排布,将所述重组数据拆分成顺序相连的设定数量个子数据;
按照预先设定的数据合并规则,将所述指定数量个重组数据的子数据进行重新合并,得到所述指定数量个目标数据;
将所述指定数量个目标数据存储到所需恢复的数据文件中。
7.根据权利要求6所述的数据恢复方法,其特征在于,在所述按照预先设定的数据合并规则,将所述指定数量个重组数据的子数据进行重新合并,得到所述指定数量个目标数据之后,还包括:
调整所述目标数据中的所述设定数量个子数据的顺序排布,得到调整后的目标数据;
所述将所述指定数量个目标数据存储到所需恢复的数据文件中,包括:
将所述指定数量个调整后的目标数据存储到所需恢复的数据文件中。
8.一种数据存储装置,其特征在于,包括:
文件确定单元,用于确定待存储的数据文件;
数据读取单元,用于从所述数据文件中读取出指定数量个字节的数据,得到指定数量个目标数据,每个目标数据为一个字节的数据;
数据拆分单元,用于按照所述目标数据中各个比特位上的数据排布,将所述目标数据拆分成顺序相连的设定数量个子数据;
数据重组单元,用于按照预先设定的数据重组规则,将所述指定数量个目标数据的子数据进行重组,得到所述指定数量个重组数据;
数据存储单元,用于将所述指定数量个重组数据分别存储到所述指定数量个目标文件中,其中,所述目标文件为待存储至网络存储系统的文件。
9.根据权利要求8所述的数据存储装置,其特征在于,还包括:
数据移位单元,用于在所述数据重组单元将所述指定数量个目标数据的子数据进行重组之前,调整所述目标数据中的所述设定数量个子数据的顺序排布,得到所述目标数据对应的待重组数据;
所述数据重组单元,具体为,用于按照所述预先设定的数据重组规则,将所述指定数量个所述待重组数据的子数据进行重组,得到所述指定数量个重组数据。
10.一种数据恢复装置,其特征在于,包括:
文件获取单元,用于从网络存储系统获取指定数量个待合并的目标文件;
数据读取单元,用于分别从每个所述目标文件中读取一个字节的数据,得到所述指定数量个重组数据;
数据拆分单元,用于按照所述重组数据中各个比特位上的数据排布,将所述重组数据拆分成顺序相连的设定数量个子数据;
数据合并单元,用于按照预先设定的数据合并规则,将所述指定数量个重组数据的子数据进行重新合并,得到所述指定数量个目标数据;
数据恢复单元,用于将所述指定数量个目标数据存储到所需恢复的数据文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710772685.5A CN107577429A (zh) | 2017-08-31 | 2017-08-31 | 一种数据存储与恢复方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710772685.5A CN107577429A (zh) | 2017-08-31 | 2017-08-31 | 一种数据存储与恢复方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107577429A true CN107577429A (zh) | 2018-01-12 |
Family
ID=61030410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710772685.5A Pending CN107577429A (zh) | 2017-08-31 | 2017-08-31 | 一种数据存储与恢复方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107577429A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010026585A1 (en) * | 2000-03-29 | 2001-10-04 | Mitsubishi Denki Kabushiki Kaisha | Image signal coding apparatus with bit stream buffer of reduced storage capacity |
CN103067519A (zh) * | 2013-01-04 | 2013-04-24 | 深圳市广道高新技术有限公司 | 一种异构平台下数据分布存储的方法及装置 |
CN105279440A (zh) * | 2015-07-06 | 2016-01-27 | 深圳市美贝壳科技有限公司 | 照片文件加密方法 |
-
2017
- 2017-08-31 CN CN201710772685.5A patent/CN107577429A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010026585A1 (en) * | 2000-03-29 | 2001-10-04 | Mitsubishi Denki Kabushiki Kaisha | Image signal coding apparatus with bit stream buffer of reduced storage capacity |
CN103067519A (zh) * | 2013-01-04 | 2013-04-24 | 深圳市广道高新技术有限公司 | 一种异构平台下数据分布存储的方法及装置 |
CN105279440A (zh) * | 2015-07-06 | 2016-01-27 | 深圳市美贝壳科技有限公司 | 照片文件加密方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427774A (zh) | 基于区块链的数据存证方法、数据校验方法及相关装置 | |
CN106503589A (zh) | 区块链交易信息正确性的校验方法、装置及系统 | |
CN106506146A (zh) | 基于区块链技术的交易信息校验方法、装置及系统 | |
CN105279198B (zh) | 数据表储存、修改、查询和统计方法 | |
CN107147501A (zh) | 时间戳处理方法及装置 | |
CN106096023A (zh) | 数据读取方法、数据写入方法及数据服务器 | |
CN104123280B (zh) | 文件比对方法和设备 | |
CN107181797A (zh) | 一种区块链的区块压缩方法和系统 | |
CN104850783B (zh) | 一种基于哈希特征矩阵的恶意软件云检测方法及系统 | |
KR20180124545A (ko) | 블록체인 시스템 및 블록체인 생성 방법 | |
CN109815051A (zh) | 区块链的数据处理方法和系统 | |
CN106228340A (zh) | 施工图数字化审查系统 | |
CN108847926A (zh) | 一种客户端安全检测方法、装置及客户端设备 | |
CN106330788B (zh) | 报文分片传输方法和装置 | |
CN104253863B (zh) | 一种基于Hadoop平台和分布式处理编程模型的TCP流重组方法 | |
CN105407096A (zh) | 基于流管理的报文数据检测方法 | |
CN106326082A (zh) | 网络系统中记录日志的方法和装置 | |
CN112597525B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN103049263A (zh) | 一种基于相似性的文件分类方法 | |
CN106973008A (zh) | 一种选择性撤回邮件的实现方法 | |
CN106991332A (zh) | 一种海量数据安全存储的方法及装置 | |
CN108241612A (zh) | 标点符号处理方法和装置 | |
CN108133026B (zh) | 一种多数据的处理方法、系统及存储介质 | |
CN102982288B (zh) | 在便携式终端中执行数据的加密和解密的设备和方法 | |
CN113158206A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180112 |