CN104407941B - 一种基于文件存档属性的windows文件备份方法 - Google Patents
一种基于文件存档属性的windows文件备份方法 Download PDFInfo
- Publication number
- CN104407941B CN104407941B CN201410692660.0A CN201410692660A CN104407941B CN 104407941 B CN104407941 B CN 104407941B CN 201410692660 A CN201410692660 A CN 201410692660A CN 104407941 B CN104407941 B CN 104407941B
- Authority
- CN
- China
- Prior art keywords
- backup
- attribute
- file
- backed
- traversed
- 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
Abstract
本发明涉及一种基于文件存档属性的Windows文件备份方法,该方法为:1)根据对象的“可以存档文件”属性标志位来判断对象是否为备份对象;2)若所述的属性标志位为非空,则认为该对象备份进行备份,备份完毕后将该属性标志位置空;若所述的属性标志位为孔,则不进行备份。相对于基于文件的“修改时间”来实现文件的完全和增量备份,本发明不用反复地记录与查询文件名和相应最后修改时间信息,而是基于由Windows操作系统自身来维护的“存档属性”来实现备份,对于每个文件都省略了一次读写操作,在文件数量级越大时,性能的提升越明显。
Description
技术领域
本发明涉及计算机信息存储技术领域,尤其是涉及一种基于文件存档属性的windows文件备份方法。
背景技术
随着科学技术的飞速发展,如今已进入到信息时代,信息可以说是当下最具有价值的“商品”,而在计算机领域中,数据是信息的载体,所以对数据的保护就是重中之重。而如何正确有效地将数据保护起来,则是当今较为流行的研究课题。备份,即是实现数据保护的途径之一。
备份,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。按备份的对象来区分,现有的备份又分为文件备份,数据库备份,块级备份,虚拟化备份等。其中,文件备份是所有备份方式中使用最为广泛的。传统的文件备份按备份策略可分为完全备份与增量备份,其含义如下:
完全备份:对所选数据源及其子目录中的所有对象进行备份
增量备份:相对于上一次备份(完全备份或增量备份)时发生变化的对象进行备份
传统的文件备份过程为:
1.通过循环或者递归遍历所选数据源。
2.对1中遍历到的每一个对象(文件或目录)的名称,属性信息,文件内容(只针对大小非0的文件对象)进行备份并传送到介质存储端
3.对1中遍历到的每一个对象的“修改时间”属性与该对象的绝对路径名以键值对的形式在本地进行记录。(注:为提高效率也可使用B+树等高级数据结构对该数据进行记录,由于如何记录这些信息不是本发明讨论的重点,因此这里的细节就不具体展开了)以后可根据对象的绝对路径名来查询对象的“修改时间”属性。
4.增量备份时将当前遍历到的对象的“修改时间”属性与上一次完全备份时记录的对象修改时间”属性进行比较,这里存在以下两种情况:
I.根据对象的绝对路径名查询不到该对象的“修改时间”属性,这说明该对象是上一次进行完全备份后才产生的,所以本次增量备份需对该对象进行备份。
II.对象当前的“修改时间”属性与上一次完全备份时记录的修改时间”属性值不等,这说明该对象在上一次进行完全备份后发生了变化,所以本次增量备份需对该对象进行备份。
III.对象当前的“修改时间”属性与上一次完全备份时记录的修改时间”属性值相等,这说明该对象在上一次进行完全备份后没有发生变化,所以本次增量备份无需对该对象进行备份。
对于I和II这两种情况,需将对象当前的“修改时间”属性来更新3中记录的键值对信息,目的是为后续的增量备份服务。
传统的文件备份过程利用对象的“修改时间”属性作为是否需要进行增量备份的判断标准,可以正确无误地达到目的,但是反复地记录与查询(写和读)对象的“修改时间”属性操作会使得文件备份的效率大大降低,尤其在备份数据对象数量级达到百万级、千万级甚至更大时,备份的性能问题尤为明显。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于文件存档属性的Windows文件备份方法,通过windows操作系统自带的属性机制,来实现文件的完全与增量备份,相比传统的备份方式,大大提高了文件的备份性能,在备份数据对象的数量级越大时,性能提升的效果越为明显。
本发明的目的可以通过以下技术方案来实现:
一种基于文件存档属性的Windows文件备份方法,其特征在于,该方法为:
1)根据对象的“可以存档文件”属性标志位来判断对象(文件或目录)是否为备份对象;
2)若所述的属性标志位为非空,则认为该对象备份进行备份,备份完毕后将该属性标志位置空;若所述的属性标志位为孔,则不进行备份。
其中“可以存档文件”属性标志位即指文件(或目录)的“高级属性->文件属性->可以存档文件”属性标志位,该标志位用来标识文件是否应该被归档与保存。该标志位的特性如下:
1.对现有的文件进行更改(重命名或修改文件内容),该文件的“文件的存档属性”会被标识。
2.对现有的文件进行更改,该文件的所有父目录的“文件的存档属性”不会被标识。
3.对现有的目录进行重命名,该目录的“文件的存档属性”不会被标识。
4.新建一个文件,该文件的“文件的存档属性”默认被标识。
5.新建一个目录,该目录的“文件的存档属性”默认不被标识。
如果是增量备份,所述的备份方法具体步骤如下:
(1)遍历所选数据源;
(2)对步骤(1)中遍历到的每一个对象的“可以存档文件”属性标志位进行读取和判断,如果所述的属性标志位为空,则过滤该对象;如果该标志位非空,则该对象需要被增量备份;
(3)对本次增量备份中未被过滤对象的所有父目录从外层到内层进行遍历,如果遍历到的父目录在本次备份中已被备份,则忽略之;如果遍历到的父目录在本次备份中未被备份,则先备份该父目录;
(4)对本次增量备份中未被过滤的对象进行备份,备份的内容有:对象的名称,对象的属性信息,对象的内容(只针对大小非0的文件对象),并将这些信息传送到介质存储端(注:对于未被过滤的对象,会整个进行备份,而非增量部分,这里同完全备份一致);
(5)去除本次备份对象的“可以存档文件”属性标志位,用于标识该文件已被备份过。
如果是完全备份,所述的备份方法具体步骤如下:
(1)遍历所选数据源;
(2)对步骤(1)中遍历到的每一个对象进行备份;
(3)去除本次备份对象的“可以存档文件”属性标志位,用于标识该文件已被备份过。
所述的步骤(2)中的对每一个对象进行备份具体步骤为:
21)获取该对象的句柄;
22)根据对象句柄获取该对象的属性信息;
23)根据对象句柄读取该对象的内容(只针对大小非0的文件对象);
24)将该对象的绝对路径名称、属性信息、内容保存并传送到介质存储端。
所述遍历方法为循环或递归。
所述备份对象包括对象的名称、对象的属性信息和对象的内容。
与现有技术相比,本发明实现了一种基于文件存档属性的windows文件备份方法,可以通过对文件服务器中的所有文件进行一份拷贝并转储到介质存储端,使得在文件服务器发生崩溃之时避免文件数据的永久性丢失;
相对于基于文件的“修改时间”来实现文件的完全和增量备份,本发明不用反复地记录与查询文件名和相应最后修改时间信息,而是基于由windows操作系统自身来维护的“存档属性”来实现备份,对于每个文件都省略了一次读写操作,在文件数量级越大时,性能的提升越明显。
附图说明
图1为文件备份流程示意图
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
下面参照附图对本发明的一种基于文件存档属性的windows文件备份方法的实现过程进行阐述。
原恢复系统由恢复服务器(内含客户端)和控制台(内含介质服务器)组成,两者之间通过以太网连接,采用的传输协议是TCP/IP。
结合图1可知文件备份具体流程如下:
1.客户端主动向控制台发起连接请求。
2.在控制台中选择备份的客户端以及文件数据源,并发起备份请求。
3.相应客户端接收到备份消息并获得控制台传来的数据源路径和备份类型(完全备份或增量备份),开始进行文件备份任务。
4.客户端依次遍历文件数据源,判断遍历到的对象是文件还是目录,并结合备份类型,决定是否将其过滤。
5.对于未被过滤的对象,首先遍历其各父目录,过滤之前已被备份过的父目录,备份之前被过滤的父目录。
6.对于未被过滤的对象,如果该对象是文件,则依次备份其文件名、内容和属性;如果该对象是目录,则先备份其目录名、属性,然后遍历该目录,备份其每一个子对象。
7.去除每个备份对象的存档属性。(注:每备份一个对象,就去除该对象的存档属性)
8.循环执行步骤4、5、6、7,直至遍历完文件数据源和备份完每一个子对象。
完成上述所有步骤后,一次完整的备份任务即已完成。
Claims (4)
1.一种基于文件存档属性的Windows文件备份方法,其特征在于,该方法为:
1)根据对象的“可以存档文件”属性标志位来判断对象是否为备份对象;
2)若所述的属性标志位为非空,则认为该对象备份进行备份,备份完毕后将该属性标志位置空;若所述的属性标志位为空,则不进行备份;
如果是增量备份,所述的备份方法具体步骤如下:
(1)遍历所选数据源;
(2)对步骤(1)中遍历到的每一个对象的“可以存档文件”属性标志位进行读取和判断,如果所述的属性标志位为空,则过滤该对象;如果该标志位非空,则该对象需要被增量备份;
(3)对本次增量备份中未被过滤对象的所有父目录从外层到内层进行遍历,如果遍历到的父目录在本次备份中已被备份,则忽略之;如果遍历到的父目录在本次备份中未被备份,则先备份该父目录;
(4)对本次增量备份中未被过滤的对象进行备份;
(5)去除本次备份对象的“可以存档文件”属性标志位,用于标识该文件已被备份过;
所述遍历方法为循环或递归;
所述的方法通过windows操作系统自带的属性机制,来实现文件的完全与增量备份,大大提高了文件的备份性能,在备份数据对象的数量级越大时,性能提升的效果越为明显。
2.根据权利要求1所述的一种基于文件存档属性的Windows文件备份方法,其特征在于,如果是完全备份,所述的备份方法具体步骤如下:
(1)遍历所选数据源;
(2)对步骤(1)中遍历到的每一个对象进行备份;
(3)去除本次备份对象的“可以存档文件”属性标志位,用于标识该文件已被备份过。
3.根据权利要求1所述的一种基于文件存档属性的Windows文件备份方法,其特征在于,所述的步骤(2)中的对每一个对象进行备份具体步骤为:
21)获取该对象的句柄;
22)根据对象句柄获取该对象的属性信息;
23)根据对象句柄读取该对象的内容;
24)将该对象的绝对路径名称、属性信息、内容保存并传送到介质存储端。
4.根据权利要求1或2所述的一种基于文件存档属性的Windows文件备份方法,其特征在于,所述备份对象包括对象的名称、对象的属性信息和对象的内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410692660.0A CN104407941B (zh) | 2014-11-26 | 2014-11-26 | 一种基于文件存档属性的windows文件备份方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410692660.0A CN104407941B (zh) | 2014-11-26 | 2014-11-26 | 一种基于文件存档属性的windows文件备份方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104407941A CN104407941A (zh) | 2015-03-11 |
CN104407941B true CN104407941B (zh) | 2018-11-23 |
Family
ID=52645574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410692660.0A Active CN104407941B (zh) | 2014-11-26 | 2014-11-26 | 一种基于文件存档属性的windows文件备份方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104407941B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110308861B (zh) * | 2018-03-20 | 2023-07-21 | 浙江宇视科技有限公司 | 存储数据保存方法、装置、电子设备和可读存储介质 |
CN111782619A (zh) * | 2020-07-28 | 2020-10-16 | 上海爱数信息技术股份有限公司 | 一种服务端间文档增量同步方法、同步装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840407A (zh) * | 2009-12-30 | 2010-09-22 | 创新科存储技术有限公司 | 一种快速文件备份方法 |
CN102467419A (zh) * | 2010-11-10 | 2012-05-23 | 英业达股份有限公司 | 文件备份方法 |
CN103425552A (zh) * | 2013-08-29 | 2013-12-04 | 江苏省邮电规划设计院有限责任公司 | 一种数据备份的设备、系统和方法 |
CN103902404A (zh) * | 2012-12-26 | 2014-07-02 | 华为终端有限公司 | 一种媒体文件备份的方法、装置及用户设备 |
-
2014
- 2014-11-26 CN CN201410692660.0A patent/CN104407941B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840407A (zh) * | 2009-12-30 | 2010-09-22 | 创新科存储技术有限公司 | 一种快速文件备份方法 |
CN102467419A (zh) * | 2010-11-10 | 2012-05-23 | 英业达股份有限公司 | 文件备份方法 |
CN103902404A (zh) * | 2012-12-26 | 2014-07-02 | 华为终端有限公司 | 一种媒体文件备份的方法、装置及用户设备 |
CN103425552A (zh) * | 2013-08-29 | 2013-12-04 | 江苏省邮电规划设计院有限责任公司 | 一种数据备份的设备、系统和方法 |
Non-Patent Citations (1)
Title |
---|
支持服务恢复的数据备份恢复技术研究与实现;伍江江;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090715(第7期);第I138-32页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104407941A (zh) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102982067B (zh) | 以可重复方式遍历数据 | |
KR101626186B1 (ko) | 피어 및 클라우드로부터 파일 및 시스템의 차분 복구 | |
US8176272B2 (en) | Incremental backup using snapshot delta views | |
US8250033B1 (en) | Replication of a data set using differential snapshots | |
US9009428B2 (en) | Data store page recovery | |
US9043280B1 (en) | System and method to repair file system metadata | |
CN106649467B (zh) | 一种蓝光光盘库归档管理方法及系统 | |
US7668875B2 (en) | Data storage device, method of rearranging data and recording medium therefor | |
JP5386111B2 (ja) | ファイルシステムの記録方法 | |
CN102023903B (zh) | 一种数据备份的版本管理方法及装置 | |
US10049016B2 (en) | Distributed garbage collection for the dedupe storage network | |
US9026496B1 (en) | Efficient building of restore list | |
US20090063410A1 (en) | Method for Performing Parallel Data Indexing Within a Data Storage System | |
CN104239443A (zh) | 一种序列化数据操作日志的存储方法 | |
CN105376277A (zh) | 一种数据同步方法及装置 | |
US20080065637A1 (en) | Locating last processed data | |
WO2013044794A1 (zh) | 终端备份和恢复方法 | |
CN104461773A (zh) | 一种虚拟机备份去重的方法 | |
US20040143609A1 (en) | System and method for data extraction in a non-native environment | |
CN108255638A (zh) | 一种快照回滚方法及装置 | |
CN104407941B (zh) | 一种基于文件存档属性的windows文件备份方法 | |
CN102708166B (zh) | 数据复制方法、数据恢复方法及装置 | |
CN103838645A (zh) | 一种基于哈希的远程差异合成备份实现方法 | |
CN105955937B (zh) | 一种比较linux系统光盘iso异同的方法 | |
CN113254394B (zh) | 一种快照处理方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8 Applicant after: SHANGHAI EISOO INFORMATION TECHNOLOGY CO., LTD. Address before: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8 Applicant before: Shanghai Eisoo Software Co.,Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |