CN111767171B - 文件备份与还原的方法 - Google Patents
文件备份与还原的方法 Download PDFInfo
- Publication number
- CN111767171B CN111767171B CN202010607591.4A CN202010607591A CN111767171B CN 111767171 B CN111767171 B CN 111767171B CN 202010607591 A CN202010607591 A CN 202010607591A CN 111767171 B CN111767171 B CN 111767171B
- Authority
- CN
- China
- Prior art keywords
- file
- content
- backed
- backup
- directory
- 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 43
- 230000009466 transformation Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 16
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
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
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,本发明旨在解决现有文件备份与还原的方法存在效率低的问题,提出一种文件备份与还原的方法,文件备份的方法,包括:将待备份文件的第一文件结构信息输出至第一文件目录部分的指定位置;计算各待备份文件在文件内容部分的起始位置,将起始位置输出至第一文件目录部分的对应位置;将各待备份文件的文件路径和文件内容输出至文件内容部分的对应位置。文件还原的方法,包括:根据各待还原文件的第二文件结构信息生成第二件目录部分;对第二文件目录部分和第一文件目录部分进行比较,根据不同的文件摘要确定替换文件;并将待还原文件的文件内容替换为替换文件的文件内容。本发明提高了文件备份与还原的效率。
Description
技术领域
本发明涉及数据处理技术领域,具体来说涉及一种文件备份与还原的方法。
背景技术
随着物联网技术的发展,设备中存储的文件需要备份的场景越来越多。现有技术中常见的备份和还原的方法:备份时,将多个待备份文件压缩打包成备份压缩包文件,还原时,先解压备份压缩包文件,再根据文件路径将解压得到的备份文件全部读取至数据库中,这种方式存在以下问题:首先,在备份和还原的过程中,需要进行压缩和解压过程,效率较低,其次,在还原过程中,即使仅还原文件的差异部分,但仍然需要读取整个备份文件来确定当前文件与备份文件的差异,同样降低了还原文件的效率。
发明内容
本发明旨在解决现有文件备份与还原的方法存在效率低的问题,提出另一种文件备份与还原的方法。
本发明解决上述技术问题所采用的技术方案是:文件备份的方法,包括以下步骤:
步骤11.获取各待备份文件的第一文件结构信息,所述第一文件结构信息至少包括:文件索引、文件路径、文件大小和文件摘要;
步骤12.生成包括文件头部分、第一文件目录部分和文件内容部分的备份文件,所述文件头部分包括备份文件的:文件类型、第一文件目录部分的字节大小和文件版本,将各第一文件结构信息输出至第一文件目录部分的指定位置;
步骤13.获取各待备份文件的文件内容,根据各待备份文件的文件路径的字节大小和文件内容的字节大小计算各待备份文件在文件内容部分的起始位置,将所述起始位置输出至第一文件目录部分的对应位置;
步骤14.根据所述起始位置和各第一文件结构信息在第一文件目录部分中的顺序依次将各待备份文件的文件路径和文件内容输出至文件内容部分的对应位置。
进一步的,所述将各待备份文件的文件路径和文件内容输出至文件内容部分的对应位置还包括:
根据各待备份文件在文件内容部分的起始位置将各待备份文件的文件内容进行变换混淆处理后输出至文件内容部分的对应位置。
进一步的,所述根据各待备份文件在文件内容部分的起始位置将各待备份文件的文件内容进行变换混淆处理的具体方法为:
设变换混淆处理前为字符值a,该字符在文件内容部分的起始位置为p,则变换混淆处理后的字符值A为:A=mod(a+(p*b),c),其中b和c为常数。
进一步的,还包括:
获取待备份文件的数量、文件头部分的字节大小、各第一文件结构信息的字节大小和起始位置的字节大小;
根据所述待备份文件的数量、文件头部分的字节大小、各第一文件结构信息的字节大小和起始位置的字节大小确定第一文件目录部分在备份文件中的位置。
本发明还提出一种文件还原的方法,包括以下步骤:
步骤21.获取各待还原文件的第二文件结构信息,根据所述第二文件结构信息生成第二文件目录部分,所述第二文件结构信息至少包括:文件索引、文件路径、文件大小和文件摘要;
步骤22.获取备份文件中的第一文件目录部分,根据文件索引对所述第二文件目录部分和第一文件目录部分进行比较,若第二文件目录部分与第一文件目录部分中对应的文件摘要不同,则根据不同的文件摘要确定替换文件;
步骤23.从备份文件的第一文件目录部分中获取所述替换文件的起始位置、文件路径的字节长度和文件内容的字节长度;
步骤24.根据所述起始位置、文件路径的字节长度和文件内容的字节长度从备份文件的文件内容部分中获取替换文件的文件路径和文件内容,并将该文件路径下的待还原文件的文件内容替换为替换文件的文件内容。
进一步的,步骤24中,所述将该文件路径下的待还原文件的文件内容替换为替换文件的文件内容还包括:
根据替换文件的起始位置将替换文件的文件内容进行变换混淆的反向处理得到原始文件内容,将该文件路径下的待还原文件的文件内容替换为原始文件内容。
进一步的,所述根据替换文件的起始位置将替换文件的文件内容进行变换混淆的反向处理得到原始文件内容的具体方法包括:
设变换混淆的反向处理前为字符值A,该字符在文件内容部分的起始位置为p,则变换混淆的反向处理的字符值a为:a=mod(A-(p*b),c),其中b和c为常数。
进一步的,步骤22中,所述获取备份文件中的第一文件目录部分包括:根据第一文件目录部分在备份文件中的位置获取第一文件目录部分。
本发明的有益效果是:本发明所述的文件备份与还原的方法,将所有待备份文件输出至一个备份文件中,备份和还原过程不存在压缩和解压过程;文件还原时,在当前文件的第二文件结构信息对应的第二文件目录与备份文件的第一文件目录存在差异时,针对差异部分进行还原,此过程系统只需读取备份文件的第一文件目录部分,进而提高了文件备份与还原过程的效率;此外,本发明在备份过程中对待备份文件的文件内容进行变换混淆处理,能够避免备份文件在设备外被识别和解析,提高了备份文件的安全性。
附图说明
图1为本发明所述的备份文件的结构示意图。
具体实施方式
下面将结合附图对本发明的实施方式进行详细描述。
本发明所述的文件备份的方法,包括以下步骤:
步骤11.获取各待备份文件的第一文件结构信息,所述第一文件结构信息至少包括:文件索引、文件路径、文件大小和文件摘要;
具体而言,设备中保存一个32个字节的随机字符串用于对待备份文件的第一文件结构信息进行记录,具体的,根据待备份文件的文件路径作MD5取摘要生成一个文件索引,并记录待备份文件的文件路径、文件大小和文件摘要;
步骤12.生成包括文件头部分、第一文件目录部分和文件内容部分的备份文件,所述文件头部分包括备份文件的:文件类型、第一文件目录部分的字节大小和文件版本,将各第一文件结构信息输出至第一文件目录部分的指定位置;
可以理解,如图1所示,备份文件是由文件头部分、第一文件目录部分和文件内容部分组成的一个文件,其中,文件头部分为固定长度,3个字节区分文件类型、8个字节记录目录大小及32个字节的文件版本;第一文件目录部分的字节大小根据待备份文件的数量确定,针对每个待备份文件,16个字节记录文件索引,4个字节记录文件路径,8个字节记录文件大小,8个字节记录起始位置,32个字符记录文件摘要,生成备份文件后,将各待备份文件的第一结构信息中的文件索引、文件路径、文件大小和文件摘要输出至备份文件的第一文件目录部分中的对应位置。
步骤13.获取各待备份文件的文件内容,根据各待备份文件的文件路径的字节大小和文件内容的字节大小计算各待备份文件在文件内容部分的起始位置,将所述起始位置输出至第一文件目录部分的对应位置;
其中,各待备份文件在文件内容部分的起始位置确定方法如下:
获取待备份文件的数量n,计算备份文件的文件头部分和第一文件目录部分的字节大小和S:
S=X+Yn=(3+8+32)+(16+4+8+8+32)*n;
式中,X为备份文件的文件头部分的字节大小,Y为第一文件目录部分中一个待备份文件的字节大小。
该字节和S即为第一个待备份文件在备份文件的文件内容部分的起始位置,第二个待备份在备份文件的文件内容部分的起始位置可根据第一个待备份文件在备份文件的文件内容部分的起始位置以及第一个待备份文件的大小确定,第三个待备份在备份文件的文件内容部分的起始位置可根据第二个待备份文件在备份文件的文件内容部分的起始位置以及第二个待备份文件的大小确定,依次推类,各待备份文件在备份文件的文件内容部分的起始位置根据上一个待备份文件在备份文件的文件内容部分的起始位置以及上一个待备份文件的大小确定。
确定得到各待备份文件在备份文件的文件内容部分的起始位置后,将该起始位置输出至第一文件目录部分的对应位置。
步骤14.根据所述起始位置和各第一文件结构信息在第一文件目录部分中的顺序依次将各待备份文件的文件路径和文件内容输出至文件内容部分的对应位置。
作为优化,将各待备份文件的文件路径和文件内容输出至文件内容部分的对应位置还可以包括:根据各待备份文件在文件内容部分的起始位置将各待备份文件的文件内容进行变换混淆处理后输出至文件内容部分的对应位置。
具体而言,设变换混淆处理前文件内容中为字符值a,该字符在文件内容部分的起始位置为p,则变换混淆处理后的字符值A为:A=mod(a+(p*b),c),其中b和c为常数。b和c可根据实际情况设置,如b为23,c为256。
上述过程可以根据设备中内置的非线性变换表,对每个字符进行无规律地映射到另一个字符。由于每个待备份文件在文件内容部分的起始位置不同,因此,对于每个待备份文件的文件内容的变换混淆处理方式也有所差异,这样可以避免因为相同内容变换成相同结果导致的规律被识别,同时防止文件被修改,一旦修改文件内容,将导致文件无法被正常读取。
此外,在文件的备份过程中,还可以确定第一文件目录在备份文件的位置,即确定第一文件目录在备份文件的字节范围,具体的,可通过以下方法确定:
获取待备份文件的数量、文件头部分的字节大小、各第一文件结构信息的字节大小和起始位置的字节大小;
根据所述待备份文件的数量、文件头部分的字节大小、各第一文件结构信息的字节大小和起始位置的字节大小确定第一文件目录部分在备份文件中的位置。
可以理解,确定第一文件目录部分在备份文件的位置是为了便于在文件还原过程中进行文件目录部分的比较。在计算得到备份文件的文件头部分和第一文件目录部分的字节大小和S后,第一文件目录在备份文件的字节范围为:[X,S]。
本发明还提出一种文件还原的方法,包括以下步骤:
步骤21.获取各待还原文件的第二文件结构信息,根据所述第二文件结构信息生成第二文件目录部分,所述第二文件结构信息至少包括:文件索引、文件路径、文件大小和文件摘要;
第二文件结构信息的获取方式可以与步骤11中的第一文件结构信息获取方法相同,此处不再赘述。
步骤22.获取备份文件中的第一文件目录部分,根据文件索引对所述第二文件目录部分和第一文件目录部分进行比较,若第二文件目录部分与第一文件目录部分中对应的文件摘要不同,则根据不同的文件摘要确定替换文件;
第一文件目录部分可以通过第一文件目录在备份文件的字节范围来获取,在比较第一文件目录部分和第二文件目录部分时,如果对应的文件摘要不同,则确定不同文件摘要对应的替换文件,替换文件表示需要对待还原文件进行替换的文件。
步骤23.从备份文件的第一文件目录部分中获取所述替换文件的起始位置、文件路径的字节长度和文件内容的字节长度;
具体而言,通过获取替换文件的启起始位置、文件路径的字节长度和文件内容的字节长度来确定替换文件在文件内容部分中的字节范围,以便于替换文件的获取。
步骤24.根据所述起始位置、文件路径的字节长度和文件内容的字节长度从备份文件的文件内容部分中获取替换文件的文件路径和文件内容,并将该文件路径下的待还原文件的文件内容替换为替换文件的文件内容。
在确定替换文件在文件内容部分中的字节范围后,获取文件内容部分中的替换文件,替换文件包括替换文件的文件路径和文件内容,并根据替换文件将对应的待还原文件的文件内容替换为替换文件的文件内容。具体的,如果设备中不存在该文件,则根据文件路径在指定位置创建文件,然后将替换文件的文件内容写入设备,如果设备中存在该文件,则删除设备中的文件再然后将替换文件的文件内容写入设备。
如果文件内容部分的文件内容是进行变换混淆加密的,则所述将该文件路径下的待还原文件的文件内容替换为替换文件的文件内容还包括:
根据替换文件的起始位置将替换文件的文件内容进行变换混淆的反向处理得到原始文件内容,将该文件路径下的待还原文件的文件内容替换为原始文件内容。具体方法如下:
设变换混淆的反向处理前为字符值A,该字符在文件内容部分的起始位置为p,则变换混淆的反向处理的字符值a为:a=mod(A-(p*b),c),其中b和c为常数。b和c的值与备份过程中的变换混淆处理的b和c的值相同。
Claims (4)
1.文件备份的方法,其特征在于,包括以下步骤:
步骤11.获取各待备份文件的第一文件结构信息,所述第一文件结构信息至少包括:文件索引、文件路径、文件大小和文件摘要;
步骤12.生成包括文件头部分、第一文件目录部分和文件内容部分的备份文件,所述文件头部分包括备份文件的:文件类型、第一文件目录部分的字节大小和文件版本,将各第一文件结构信息输出至第一文件目录部分的指定位置;
步骤13.获取各待备份文件的文件内容,根据各待备份文件的文件路径的字节大小和文件内容的字节大小计算各待备份文件在文件内容部分的起始位置,将所述起始位置输出至第一文件目录部分的对应位置;
步骤14.根据所述起始位置和各第一文件结构信息在第一文件目录部分中的顺序依次将各待备份文件的文件路径和文件内容输出至文件内容部分的对应位置;
步骤14中,所述将各待备份文件的文件路径和文件内容输出至文件内容部分的对应位置还包括:
根据各待备份文件在文件内容部分的起始位置将各待备份文件的文件内容进行变换混淆处理后输出至文件内容部分的对应位置;
所述根据各待备份文件在文件内容部分的起始位置将各待备份文件的文件内容进行变换混淆处理的具体方法为:
设变换混淆处理前为字符值a,该字符在文件内容部分的起始位置为p,则变换混淆处理后的字符值A为:A=mod(a+(p*b),c),其中b和c为常数。
2.如权利要求1所述的文件备份的方法,其特征在于,还包括:
获取待备份文件的数量、文件头部分的字节大小、各第一文件结构信息的字节大小和起始位置的字节大小;
根据所述待备份文件的数量、文件头部分的字节大小、各第一文件结构信息的字节大小和起始位置的字节大小确定第一文件目录部分在备份文件中的位置。
3.文件还原的方法,其特征在于,包括以下步骤:
步骤21.获取各待还原文件的第二文件结构信息,根据所述第二文件结构信息生成第二文件目录部分,所述第二文件结构信息至少包括:文件索引、文件路径、文件大小和文件摘要;
步骤22.获取备份文件中的第一文件目录部分,根据文件索引对所述第二文件目录部分和第一文件目录部分进行比较,若第二文件目录部分与第一文件目录部分中对应的文件摘要不同,则根据不同的文件摘要确定替换文件;
步骤23.从备份文件的第一文件目录部分中获取所述替换文件的起始位置、文件路径的字节长度和文件内容的字节长度;
步骤24.根据所述起始位置、文件路径的字节长度和文件内容的字节长度从备份文件的文件内容部分中获取替换文件的文件路径和文件内容,并将该文件路径下的待还原文件的文件内容替换为替换文件的文件内容;
步骤24中,所述将该文件路径下的待还原文件的文件内容替换为替换文件的文件内容还包括:
根据替换文件的起始位置将替换文件的文件内容进行变换混淆的反向处理得到原始文件内容,将该文件路径下的待还原文件的文件内容替换为原始文件内容;
所述根据替换文件的起始位置将替换文件的文件内容进行变换混淆的反向处理得到原始文件内容的具体方法包括:
设变换混淆的反向处理前为字符值A,该字符在文件内容部分的起始位置为p,则变换混淆的反向处理的字符值a为:a=mod(A-(p*b),c),其中b和c为常数。
4.如权利要求3所述的文件还原的方法,其特征在于,步骤22中,所述获取备份文件中的第一文件目录部分包括:根据第一文件目录部分在备份文件中的位置获取第一文件目录部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010607591.4A CN111767171B (zh) | 2020-06-29 | 2020-06-29 | 文件备份与还原的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010607591.4A CN111767171B (zh) | 2020-06-29 | 2020-06-29 | 文件备份与还原的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111767171A CN111767171A (zh) | 2020-10-13 |
CN111767171B true CN111767171B (zh) | 2024-03-19 |
Family
ID=72723199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010607591.4A Active CN111767171B (zh) | 2020-06-29 | 2020-06-29 | 文件备份与还原的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767171B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002116938A (ja) * | 2000-10-11 | 2002-04-19 | Id Gate Co Ltd | 世代管理機能を備えたファイルバックアップ方法 |
CN1492362A (zh) * | 2002-10-25 | 2004-04-28 | 联想(北京)有限公司 | 一种嵌入式数据库的数据备份和恢复方法 |
CN104166607A (zh) * | 2014-09-04 | 2014-11-26 | 北京国双科技有限公司 | 用于备份数据库的数据处理方法及装置 |
CN107832625A (zh) * | 2017-11-21 | 2018-03-23 | 江苏神州信源系统工程有限公司 | 一种文档的处理方法和装置 |
-
2020
- 2020-06-29 CN CN202010607591.4A patent/CN111767171B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002116938A (ja) * | 2000-10-11 | 2002-04-19 | Id Gate Co Ltd | 世代管理機能を備えたファイルバックアップ方法 |
CN1492362A (zh) * | 2002-10-25 | 2004-04-28 | 联想(北京)有限公司 | 一种嵌入式数据库的数据备份和恢复方法 |
CN104166607A (zh) * | 2014-09-04 | 2014-11-26 | 北京国双科技有限公司 | 用于备份数据库的数据处理方法及装置 |
CN107832625A (zh) * | 2017-11-21 | 2018-03-23 | 江苏神州信源系统工程有限公司 | 一种文档的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111767171A (zh) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7856595B2 (en) | Structured document compressing apparatus and method, record medium in which a structured document compressing program is stored, structured document decompressing apparatus and method, record medium in which a structured document decompressing program is stored, and structured document processing system | |
US20110022718A1 (en) | Data Deduplication Apparatus and Method for Storing Data Received in a Data Stream From a Data Store | |
CN108108394B (zh) | Apfs文件系统的压缩文件恢复方法及存储介质 | |
Cohen | Advanced carving techniques | |
US7224293B2 (en) | Data compression system and method | |
Aronson et al. | Towards an engineering approach to file carver construction | |
US20110069833A1 (en) | Efficient near-duplicate data identification and ordering via attribute weighting and learning | |
JP2007508753A5 (zh) | ||
CN113157655A (zh) | 一种数据压缩、解压方法、装置、电子设备和存储介质 | |
CN108009049B (zh) | Myisam存储引擎删除记录离线恢复方法、存储介质 | |
US7379940B1 (en) | Focal point compression method and apparatus | |
US6418449B1 (en) | Method of cloning the file system of a window web operating system by using a bitmap file | |
CN111767171B (zh) | 文件备份与还原的方法 | |
CN108108467B (zh) | 数据删除方法及装置 | |
JP2001101049A (ja) | ファイル復元装置 | |
US11652495B2 (en) | Pattern-based string compression | |
US8244677B2 (en) | Focal point compression method and apparatus | |
US11018691B2 (en) | Increasing storage capacity and data transfer speed in genome data backup | |
JP2830697B2 (ja) | データ処理装置 | |
CN116860509B (zh) | Pst文件的修复方法、设备及存储介质 | |
CN115190182B (zh) | 一种适用于北斗系统的数据无损压缩方法、装置及设备 | |
CN114281759B (zh) | 一种重塑ntfs文件系统的方法、装置及系统 | |
JPH01263743A (ja) | レコード圧縮方式 | |
CN115168105A (zh) | 一种恢复Windows删除图片的缩略图的方法以及相关装置 | |
JP3152772B2 (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 |