CN111095219B - 使用回收站和版本历史的文件系统时间点还原 - Google Patents

使用回收站和版本历史的文件系统时间点还原 Download PDF

Info

Publication number
CN111095219B
CN111095219B CN201880060558.5A CN201880060558A CN111095219B CN 111095219 B CN111095219 B CN 111095219B CN 201880060558 A CN201880060558 A CN 201880060558A CN 111095219 B CN111095219 B CN 111095219B
Authority
CN
China
Prior art keywords
time
file system
point
item
items
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
CN201880060558.5A
Other languages
English (en)
Other versions
CN111095219A (zh
Inventor
J·A·巴雷托
C·B·福谢尔
M·E·阿贝热尔
S·J·雷索恩
宋家山
A·S·沃森
S·W·金伯
R·N·德赛
A·格洛弗
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN111095219A publication Critical patent/CN111095219A/zh
Application granted granted Critical
Publication of CN111095219B publication Critical patent/CN111095219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用于在不依赖备份的情况下将文件系统还原到一时间点的系统和方法。一种系统包括:电子处理器,其被配置为通过以下步骤将文件系统自动还原到指定的时间点:(a)从回收站中自动还原在所述时间点之后从所述文件系统中删除的项目,(b)从所述文件系统中自动删除在所述时间点之后在文件系统内创建的项目,(c)将在时间点之后在文件系统内移动的项目自动移动到文件系统内与时间点相关联的位置,(d)从文件系统中自动删除在所述时间点之后在文件系统内复制的项目,(e)将在所述时间点之后在文件系统内重命名的项目自动重命名为与所述时间点相关联的名称,以及(f)针对在所述时间点之后被修改内容的项目,从版本历史中自动还原与所述时间点相关联的版本。

Description

使用回收站和版本历史的文件系统时间点还原
技术领域
在本文中所描述的实施例涉及将文件系统还原到特定时间点,并且具体涉及使用回收站和版本历史中的信息来还原文件系统而不依赖于文件系统的备份。
发明内容
计算机系统可以在各个时间点处创建并存储文件系统的完整备份副本(快照),以允许将文件系统还原到先前的时间点。然而,创建这样的完整备份具有重大的存储成本。例如,为了建立针对文件系统的五个可能的还原日期,必须存储五个完整备份,这需要针对文件系统的五倍的存储需求。因此,备份可能不经常存储,这限制了针对文件系统的可用还原日期。特别地,当用户想要将他的或她的文件系统还原到先前日期时,用户可能需要从可能不包括用户期望的特定日期或时间的可用存储备份中进行选择。
差异备份和增量备份是其他类型的备份,其通过存储自文件系统的上次备份(完全或增量)以来对文件系统所做的更改来改善完全备份的灵活性。因此,当需要将文件系统还原到上次备份之后的时间点时,将使用所存储的更改来修改上次备份,直到其表示指定时间点处的文件系统的状态为止。尽管差异备份或增量备份能够比完整备份以更细的粒度来还原文件系统,但是存储对整个文件系统所做的更改与创建完整备份具有相似的存储和处理要求。此外,除非在所有备份之间存储更改,否则所存储的更改可能仅能够将文件系统还原到上次备份之后发生的时间点,而不能够还原到上次备份之前发生的时间点。
作为执行文件系统还原的替代,用户可能能够手动撤消相对于文件系统采取的动作,包括还原已删除的项目并将文件恢复到先前的版本,以将文件系统还原到先前的时间点。然而,手动跟踪和撤消对整个文件系统所做的每个个体更改是一个即时的过程,并且极易出现人为错误。例如,当用户在文件系统内创建、更新、移动或删除大量文件时,用户手动撤消这些更改可能并不容易。当用户使用命令行界面或对大型文件集合进行更改的特定应用时,尤其如此。类似地,当用户受到勒索软件、病毒或其他有害代码的攻击时,用户可能不知道对文件系统进行了哪些更改,因此不能够手动撤消更改。
因此,在本文中所描述的实施例提供了用于使用不依赖于传统备份(完整备份、差异备份或增量备份)的灵活且存储高效的方法将整个文件系统还原到特定时间点的系统和方法。具体地,如下文更详细描述的,在本文中所描述的实施例使用更改日志以及在回收站和版本历史中维护的信息将整个文件系统还原到特定的时间点。特别地,在本文中所描述的实施例使用更改日志来跟踪对于跟踪对文件系统所做的更改所需的最小信息量,并且使用回收站和版本历史来撤消这些更改而无需使用文件系统的备份。因此,用户能够以几乎逐秒的粒度来指定还原日期,而无需每秒钟或以其他时间单位进行备份,这使用较少的存储器并有效地使用回收站和版本历史中的可用数据。
例如,一个实施例提供了一种用于将文件系统还原到一时间点处的状态的系统。所述系统包括电子处理器。所述电子处理器被配置为:接收所述时间点;并且从更改日志中自动取回表示在所述时间点之后对文件系统内的项目所做的更改的条目,以识别在所述时间点之后从文件系统中删除的项目、在所述时间点之后在文件系统内创建的项目、在所述时间点之后在文件系统内移动的项目、在所述时间点之后在文件系统内复制的项目、在所述时间点之后在文件系统内重命名的项目、以及在所述时间点之后被修改内容的项目。所述电子处理器还被配置为:以相反的次序自动处理从更改日志中取回的条目,以回退(rollback)在所述时间点之后对文件系统内的项目所做的更改,并将文件系统还原到所述时间点处的状态。特别地,所述电子处理器被配置为通过以下步骤处理从更改日志中取回的条目:(a)从回收站中自动还原在所述时间点之后从文件系统中删除的项目,(b)从文件系统中自动删除在所述时间点之后在文件系统内创建的项目,(c)将在所述时间点之后在文件系统内移动的项目自动移动到文件系统内与所述时间点相关联的位置,(d)从文件系统中自动删除在所述时间点之后在文件系统内复制的项目,(e)将在所述时间点之后在文件系统内重命名的项目自动重命名为与所述时间点相关联的名称,以及(f)针对在所述时间点之后被修改内容的项目,从版本历史中自动还原与所述时间点相关联的版本。
另一实施例提供了一种存储指令的非瞬态计算机可读介质,所述指令当由电子处理器运行时执行功能集合。所述功能集合包括:接收用于将文件系统还原到的时间点;并且从更改日志中自动取回表示在所述时间点之后对文件系统内的项目所做的更改的条目,以识别在所述时间点之后从文件系统中删除的项目、在所述时间点之后在文件系统内创建的项目、在所述时间点之后在文件系统内移动的项目、在所述时间点之后在文件系统内复制的项目、在所述时间点之后在文件系统内重命名的项目、以及在所述时间点之后被修改内容的项目。所述功能集合还包括:以相反的次序自动处理从更改日志中取回的条目,以回退在所述时间点之后对文件系统内的项目所做的更改,并将文件系统还原到所述时间点处的状态。处理从更改日志中取回的条目包括:(a)从回收站中自动还原在所述时间点之后从文件系统中删除的项目,(b)从文件系统中自动删除在所述时间点之后在文件系统内创建的项目,(c)将在所述时间点之后在文件系统内移动的项目自动移动到文件系统内与所述时间点相关联的位置,(d)从文件系统中自动删除在所述时间点之后在文件系统内复制的项目,(e)将在所述时间点之后在文件系统内重命名的项目自动重命名为与所述时间点相关联的名称,以及(f)针对在所述时间点之后被修改内容的项目,从版本历史中自动还原与所述时间点相关联的版本。
又一实施例提供一种将文件系统还原到一时间点处的状态的方法。所述方法包括:针对对文件系统所做的每次更改在更改日志中创建条目,每个条目包括在文件系统内更改的项目的标识符、在文件系统内更改项目的日期和时间、以及对项目所做的更改的类型。所述方法还包括:利用电子处理器接收时间点;并且利用电子处理器从更改日志中自动取回表示在所述时间点之后对文件系统内的项目所做的更改的条目,以识别在所述时间点之后从文件系统中删除的项目、在所述时间点之后在文件系统内创建的项目、在所述时间点之后在文件系统内移动的项目、在所述时间点之后在文件系统内复制的项目、在所述时间点之后在文件系统内重命名的项目、以及在所述时间点之后被修改内容的项目。所述方法还包括:利用电子处理器以相反的次序自动处理从更改日志中取回的条目,以自动回退在所述时间点之后对文件系统内的项目所做的更改,并将文件系统还原到所述时间点处的状态。处理从更改日志中取回的条目包括:(a)从回收站中自动还原在所述时间点之后从文件系统中删除的项目,(b)从文件系统中自动删除在所述时间点之后在文件系统内创建的项目,(c)将在所述时间点之后在文件系统内移动的项目自动移动到文件系统内与所述时间点相关联的位置,(d)从文件系统中自动删除在所述时间点之后在文件系统内复制的项目,(e)将在所述时间点之后在文件系统内重命名的项目自动重命名为与所述时间点相关联的名称,以及(f)针对在所述时间点之后被修改内容的项目,从版本历史中自动还原与所述时间点相关联的版本。
附图说明
图1示意性图示了根据一个实施例的用于管理文件系统的系统。
图2示意性图示了根据一个实施例的包含在图1的系统中的服务器。
图3是针对更改类型的示例性标识符的表以及使用示例性标识符创建的示例性更改日志。
图4a-f以图形图示了对在图3的示例性更改日志中表示的文件系统所做的更改。
图5是根据一个实施例由图2的服务器执行的用于还原文件系统的方法的流程图。
图6图示了根据一个实施例的用于发起文件系统的还原的用户界面。
图7和图8图示了针对文件系统的样本还原日期从图3的样本更改日志中识别出的条目。
图9图示了根据一个实施例的用于回退在更改日志中跟踪的更改的动作和元数据。
图10图示了在文件系统的还原期间对版本历史所做的更改的样本时间线。
具体实施方式
在以下描述和附图中描述和图示了一个或多个实施例。这些实施例并不限于在本文中所提供的具体细节,并且可以以各种方式进行修改。此外,可能存在本文中未描述的其他实施例。同样地,在本文中被描述为由一个组件执行的功能可以由多个组件以分布式方式来执行。类似地,由多个组件执行的功能可以由单个组件合并和执行。类似地,被描述为执行特定功能的组件也可以执行在本文中未描述的额外功能。例如,以某种方式“配置”的设备或结构至少以这种方式进行配置,但是也可以以未列出的方式进行配置。此外,在本文中所描述的一些实施例可以包括一个或多个电子处理器,其被配置为通过运行被存储在非瞬态计算机可读介质中的指令来执行所描述的功能。类似地,在本文中所描述的实施例可以被实施为存储能由一个或多个电子处理器运行以执行所描述的功能的指令的非瞬态计算机可读介质。如在本申请中所使用的,“非瞬态计算机可读介质”包括所有计算机可读介质,但是不包括瞬态的传播信号。因此,非瞬态计算机可读介质可以包括例如硬盘、CD-ROM、光学存储设备、磁存储设备、ROM(只读存储器)、RAM(随机存取存储器)、寄存器存储器、处理器高速缓存或者其任意组合。
另外,在本文中所使用的措词和术语是出于描述的目的,而不应当被视为限制性的。例如,在本文中使用“包括”、“包含”、“含有”、“具有”及其变型意指涵盖其后列出的项目及其等同物以及额外项目。术语“连接”和“耦合”被广泛地使用,并且涵盖直接和间接的连接和耦合。此外,“连接”和“耦合”并不限于物理或机械连接或耦合,而是能够包括直接或间接的电连接或耦合。另外,可以使用有线连接、无线连接或者其组合来执行电子通信和通知,并且可以在各种类型的网络、通信信道和连接上直接地或者通过一个或多个中间设备来发送电子通信和通知。此外,诸如第一和第二、顶部和底部等的关系术语在本文中可以仅用于将一个实体或动作与另一实体或动作区分开,而不必要求或暗示在这样的实体或动作之间的任何实际的这样的关系或次序。
如上文在“发明内容”部分中所描述的,使用传统备份来还原文件系统具有重大的存储成本,这限制了其可用性和灵活性。因此,在本文中所描述的实施例提供了一种通过使用回收站中和版本历史中的可用信息来还原文件系统的更灵活且存储高效的方法。通过将该信息与更改日志(有时也被称为更改日报)组合使用,能够将文件系统还原到特定的时间点,而无需传统的备份。在本申请中,参考文件托管服务,诸如由微软公司提供的OneDrive,描述了该还原方法。然而,应当理解,该还原方法能够用在其他计算机系统和配置中。例如,所述还原方法能够在诸如膝上型计算机、台式计算机、平板计算机、移动电话、智能手表或其他可穿戴设备等的用户设备上本地使用,以使用如下文所描述的更改日志、回收站以及由用户设备维护的版本历史将用户设备还原到先前时间点。因此,在本申请中包括的与在文件托管服务内还原文件系统有关的示例和说明被提供为示例,而不应当被认为是限制性的。
图1示意性图示了用于还原文件系统的系统10。如在图1中所图示的,系统10包括远程计算机或服务器12以及多个用户设备14(在本文中被统称为“多个用户设备14”,并且个体地被称为“用户设备14”)。服务器12与多个用户设备14通过一个或多个有线或无线通信网络13进行通信。通信网络13的部分可以使用广域网(诸如互联网)、局域网(诸如蓝牙TM网络或Wi-Fi)以及其组合或衍生物来实施。多个用户设备14可以与诸如企业的公共域相关联。然而,在其他实施例中,多个用户设备14表示与公共企业或公共局域网等的共享无关的云存储服务的个体消费者。应当理解,服务器12可以与任意数量的用户设备14进行通信,并且仅仅出于说明目的在图1中图示了四个用户设备14。同样地,在一些实施例中,用户设备14可以通过一个或多个临时设备与服务器12进行通信。
服务器12提供文件托管服务。特别地,服务器12允许用户(通过多个用户设备14)将文件上传到服务器12(或者由文件托管服务管理的其他远程存储位置),并通过网络浏览器应用或专用应用(诸如移动应用)来访问上传的文件。因此,无论用户使用哪种特定设备,都能通过文件托管服务来访问用户的文件。在一些实施例中,用户还能够利用文件托管服务来创建文件,或者在文件托管服务内编辑上传的文件,并且能够将经更新的文件组织到又一文件夹中。用户还能够将上传的文件与本地存储在用户的用户设备14上的文件相同步,这允许用户将文件托管设备用作备份或还原服务。还可以允许用户与公众或特定用户共享由文件托管服务所管理的上传的项目。如下文更详细描述的,用户还能够将由文件托管服务管理的文件还原到特定的时间点。
如在本申请中所使用的,术语“文件”包括任意类型的数据对象或记录,包括例如文字处理文档、电子表格、演示、电子邮件消息、图像、视频、联系人、设置、密钥、软件代码等。同样地,如在本申请中使用的术语“文件系统”包括文件的集合,包括文件的经组织的集合,其中文件被组织成又一目录或文件夹。因此,如在图1中所图示的,服务器12可以管理多个文件系统15,并且每个文件系统15可以与特定用户或用户组相关联。应当理解,在本文中被描述为由服务器12执行的功能(特别是文件托管服务)可以被分布在多个设备之间,诸如在云环境内操作的多个服务器。因此,在一些实施例中,由文件托管服务管理的文件系统15可以被存储在多个服务器上。
如在图2中所图示的,服务器12包括电子处理器16(例如,微处理器、专用集成电路(ASIC)或另一合适的电子设备)、存储设备18(例如,非瞬态计算机可读存储介质)和通信接口20(诸如收发器),其用于通过通信网络13以及可选地通过一个或多个额外通信网络或连接进行通信。电子处理器16、存储设备18和通信接口20通过一个或多个通信线路或总线进行通信。应当理解,服务器12可以包括除了在图1中所图示的各种配置的那些组件之外的其他组件,并且可以执行除了在本申请中所描述的功能之外的额外功能。例如,如上所述,在一些实施例中,在本文中被描述为由服务器12执行的功能可以被分布在多个设备之间,诸如在云环境内操作的多个服务器之间。
电子处理器16运行被存储在存储设备18中的指令。特别地,如在图2中所图示的,存储设备18存储还原管理器22。还原管理器22是能由电子处理器16运行的软件应用。如下文所描述的,还原管理器22将由文件托管服务管理的文件系统15还原到特定时间点。应当理解,在本文中被描述为由还原管理器22执行的功能可以被分布在多个软件应用之间。同样地,在一些实施例中,还原管理器22执行额外功能,包括例如如下文所描述地创建和维护用于还原文件系统15的更改日志。
在一些实施例中,存储设备18还存储一个或多个文件系统15。如在图1中所图示的,每个文件系统15存储一个或多个项目23。如在本申请中所使用的,“项目”包括文件或文件夹。例如,文件系统15可以包括被组织成一个或多个文件夹的多个文件。如上所述,在一些实施例中,由文件托管服务管理的文件系统15可以被存储在多个服务器上。
如在图2中所图示的,存储设备18还存储版本历史25、回收站30和更改日志35。然而,应当理解,版本历史25、回收站30和更改日志35可以被存储或分布在服务器12内的多个存储设备18、多个服务器或多个设备(包括例如一个或多个用户设备14)中。如下文更详细描述的,还原管理器22使用这三个组件来将文件系统15还原到特定的时间点,而无需文件系统15的传统备份。
版本历史25跟踪文件的版本。例如,版本历史25可以包括文件的先前版本的完整副本、对文件的内容所做的更改或者其组合。因此,版本历史25允许用户将文件手动还原到先前版本。在一些实施例中,版本历史25在每次修改文件时、在每次保存文件时、以预定频率(每天)等来创建并跟踪文件的版本。在一些实施例中,版本历史25可以类似地跟踪对文件夹的更改。在一些实施例中,文件托管服务为文件历史服务的每个用户、包含在文件系统15中的每个项目23或者其组合创建并维护版本历史25。
在一些实施例中,对版本历史25中所维护的版本数量进行限制,以避免使用过多的存储空间(尤其是当处理大文件时)。例如,在一些实施例中,版本历史25可以被配置为在清除版本从而为新版本腾出空间之前,一次保持预定最大数量(例如,三十到五十)的文件版本。在一些实施例中,如下文所描述的,可以基于针对回收站30和更改日志35的保留期来设置针对版本历史25的保留期。例如,可以将针对版本历史25的保留期设置为与回收站30和更改日志35相同的保留期。
即使当为版本历史25设置了数量限制时,版本历史25可以累积版本集合,其限制了用户将文件系统15还原到先前时间点的能力。例如,假设版本历史25被配置为存储三十个版本,并且用户在一个小时的时段内对文件进行了三十次更改。在这种情况下,版本历史25包括文件的三十个先前版本,但是所有版本都与过去一小时相关联。因此,当版本历史25被用于还原文件系统15时,因为除了过去一个小时之内没有针对文件的可用先前版本,所以用户可能仅限于将文件系统15还原到过去一个小时内发生的状态。
因此,可以将一个或多个规则应用于版本历史25,以创建用于执行还原的一致的文件集合。例如,文件托管服务可以被配置为在版本历史25中的每单位时间保持最小数量的文件版本,诸如每单位时间至少一个文件版本(例如,每天一个版本)。然而,在一些实施例中,如果文件与从先前存储的版本没有更改,则版本历史25可以在特定时间单位(例如,特定一天)中不保持文件版本。同样地,在一些实施例中,如果对于特定时间单位(例如,特定一天)存在多个版本,则版本历史25也可以保留预定版本,诸如最早版本、最新版本等。通过应用这些规则,版本历史25存储了一致的先前版本集合,所述先前版本集合当使用版本历史来还原文件系统15时提供了灵活性。特别地,假设版本历史25被配置为每天存储每个文件的至少一个版本(诸如每天开始时存在的版本),如下文更详细描述的,则用户能够将整个文件系统15还原到针对版本历史25的保留期内的任一天。在没有这样的规则的情况下,针对个体文件维护的版本可能不允许将文件系统15整体上恰当地还原到特定的先前时间点。
回收站30(有时被称为垃圾桶、垃圾箱等)存储从文件系统15中删除的项目23。回收站30是存储已删除的项目(而不是永久删除)的特殊目录,以防需要回收项目。例如,用户能够访问回收站30(通过点击图标、导航到目录等)来查看已删除的项目并手动选择待还原的一个或多个已删除的项目。类似于版本历史25,回收站30可能具有保留期。例如,回收站30可以仅保存在过去的时间段(诸如过去的三十天)内删除的项目。如上所述,在一些实施例中,回收站30可以具有与版本历史25相同的保留期。
更改日志35是存储表示对文件系统15的更改的条目的表、数据库或类似数据结构。特别地,在用户通过文件托管服务与文件系统15进行交互时(所请求的更改被提交给用于文件托管服务的应用编程接口(API)),更改日志35生成并存储表示对文件系统15的更改的条目。特别地,当创建项目、移动项目、重命名项目、删除项目、从回收站30还原项目、或更新项目的内容时,为更改日志35创建条目(包括恢复到项目的先前版本,并且在一些实施例中包括更新项目的元数据,包括例如文件类型或结构标识符,诸如关系模式、替代数据流等)。因此,在更改日志35中的每个条目可以包括更改日期和时间、更改类型以及更改的项目的标识符。取决于所执行的更改的类型,更改日志35中的条目还可以包括针对更改的项目的父项目的标识符、关系名称、路径或者其组合。父项目的标识符可以表示包括被更改项目的文件夹。关系名称可以表示在对文件或文件夹重命名之前的文件或文件夹的名称(当更改是对项目进行重命名时)。路径可以表示在更改项目之前该项目的完整路径。
例如,图3图示了针对不同更改类型的示例性标识符的表40以及使用示例性标识符的示例性更改日志35a,图4a-4f以图形图示了在示例性更改日志35a中跟踪的更改。特别地,如在示例性更改日志35a中所图示的,在2017年8月21日下午3:05,项目(6)(其是如在图4a中所图示的名为“Y.txt”的文本文件)被移动(活动类型“2”是如在表40中所图示的重命名更改)到项目(1)(其是如在图4b中所图示的文件夹“A”)。同样地,如示例性更改日志35a中所图示的,在2017年8月21日下午3:10,项目(3)(其是如在图4c中所图示的文件夹“C”)被移动到项目(1)。类似地,在2017年8月21日下午3:15,项目(1)被删除(参见图4d);并且在2017年8月21日下午3:20,项目(3)被重命名为“E”(参见图4e)。同样地,在2017年8月21日下午3:25,创建了名为“W.txt”的新项目(8)(新文本文件),并将其添加到项目(4)(文件夹“D”)中(请参见图4f)。
在一些实施例中,还原管理器22被配置为创建和维护更改日志35。然而,在其他实施例中,作为文件托管服务的一部分运行的一个或多个单独的应用创建并维护更改日志35。类似于版本历史25和回收站30,更改日志35可以具有保留期,该保留期定义什么条目被保留在更改日志35中以及何时从更改日志35中清除条目。针对更改日志35的保留期可以指定用于还原相关联的文件系统15的时间段。例如,当更改日志35的保留期为三十天时,如下文所描述的,可以使用更改日志35将相关联的文件系统15还原到过去三十天内的时间点。因此,可以基于文件托管服务的约束和策略以各种方式来配置更改日志35的保留期,该约束和策略可以考虑存储要求和可用性、订阅级别、企业设置等。如上所述,在一些实施例中,更改针对日志35的保留期还可以定义针对版本历史25、回收站30或者这两者的保留期和其他配置设置。
返回到图1,多个用户设备14包括一个或多个台式计算机、膝上型计算机、平板计算机、终端、智能电话、智能电视、智能可穿戴设备、服务器、数据库、其他类型的计算设备或者其组合。类似于服务器12,多个用户设备14中的每个用户设备包括电子处理器(例如,微处理器、专用集成电路(ASIC)或另一合适的电子设备)、存储设备(例如,非瞬态计算机可读存储介质)和通信接口(诸如收发器),其通过通信网络13以及可选地一个或多个其他通信网络或连接与服务器12通信。多个用户设备14中的一个或多个用户设备可以包括在各种配置中以上列出的那些组件之外的其他组件,并且可以执行除在本申请中所描述的功能之外的其他功能。
如上所述,为了使用文件托管服务,用户使用用户设备14将项目上传到服务器12,使用用户设备14通过服务器12创建项目,并修改先前通过服务器12上传或创建的项目。还如上所述,文件托管服务创建并维护更改日志35,以跟踪对文件系统所做的更改(包括用户所做的更改、代表用户由其他软件应用所做的更改、以及在没有用户的授权或了解的情况下所做的更改,诸如勒索软件或其他恶意代码或活动所做的更改)。
随后,当用户希望将他的或她的文件系统15还原到先前的时间点时,更改日志35与版本历史25和回收站组合用于将文件系统15还原到特定于用户指定的时间点。例如,图5图示了用于将文件系统15还原到在先前时间点处存在的状态的方法900。方法900可以由服务器12来执行,并且特别是由还原管理器22来执行,如由包含在服务器12的电子处理器16运行的。然而,如上所述,由还原管理器22执行的功能可以被分布在多个软件应用程序之间,并且在一些实施例中,该功能或其部分可以由服务器12以外的其他设备执行,包括用户设备14、包含在文件托管服务中的其他服务器等。
如在图5中所图示的,用于将文件系统还原到一时间点处的状态的方法900开始于接收要将文件系统15还原到的时间点(在框905处)。可以以各种方式来发起文件系统15的还原。在一些实施例中,文件托管服务可以提供用户界面,所述用户界面允许用户通过选择特定的时间点(日期、时间或其组合)来发起文件系统15的还原,所述时间点在本申请中被称为“还原日期”。例如,如在图6中所图示的,文件托管服务可以提供用户界面1000,用户界面1000包括允许用户输入或选择还原日期的输入机构。用户界面还可以示出在一个或多个时间段内对文件系统15所做的更改(例如,更改的数量)。例如,如在图6中所图示的,用户界面1000可以包括在时间线上所做的更改的数量的直方图。用户界面1000还可以提供关于个体更改的更多细节,诸如通过列出对特定项目所做的更改的类型以及何时进行的更改。
在一些实施例中,除了从用户处接收还原日期之外,用户界面1000还可以接收一个或多个还原参数,诸如待还原的文件系统或项目的标识符。例如,在一些实施例中,默认情况下,可以在与用户相关联的整个文件系统15上执行还原(从根或者活动或现场文件夹)。然而,在其他实施例中,可以仅针对文件系统15内的特定文件、文件夹和具有特定参数(例如,在预定时间段内编辑的、通过特定设备编辑的或创建的参数)的文件执行还原。
用户可以通过针对问卷托管服务的客户端应用来访问用户界面(诸如图6中所图示的界面1000)。类似地,文件托管服务可以被配置为识别用户何时试图将文件系统15回退到先前状态(跟踪来自回收站30或版本历史25的还原),并且可以建议用户通过用户界面执行文件系统15的整个还原。替代地或另外地,用户可以通过消息(诸如电子邮件消息)访问这种用户界面,报告针对文件系统15的可疑活动。例如,一个或多个系统(在本文中被称为监视系统)可以监视对文件系统15的更改,以检测勒索软件攻击(加密或删除大量项目),并向用户发出可疑活动的警报。该警报可以包括访问用户界面以发起对用户文件系统15的还原的链接,并且在一些实施例中,所述监视系统还可以识别可疑活动,并基于可以可疑活动来设置建议的还原日期(例如,在用户界面内)。可以在由监视系统提供的用户界面内提供相似的警报和链接,使得当监视系统检测到可疑活动时,用户能够快速发起还原。在一些实施例中,监视可疑活动的系统可以被配置为在检测到或者已经确认可疑活动时,在寻求或不寻求用户批准的情况下,自动发起还原。同样地,在一些实施例中,可以通过API来接收还原日期、还原参数或者其组合。
在接收到还原日期之后(在框905处),电子处理器16从更改日志35中取回表示在时间点之后对文件系统15所做的更改的条目(在框910处)。特别地,还原管理器22使用为文件系统15创建的更改日志35来确定必须逆转或回退哪些更改以将文件系统15还原到指定的时间点。例如,使用在图3中所图示的示例性更改日志35a和还原日期2017/08/21 3:06pm,还原管理器22取回在图7中所图示的条目作为表示在指定的还原日期之后对文件系统15所做的更改。类似地,使用图3中所图示的示例性更改日志35a和还原日期2017/08/213.16pm,还原管理器22识别在图6中所图示的条目作为表示在指定的还原日期之后对文件系统所做的更改。
在从更改日志35取回了相关条目之后(在框910处),电子处理器16以相反的次序自动处理条目以逆转或回退由相关条目表示的更改。具体地,还原管理器22逆转由在图中9所图示的表中指定的由相关条目表示的每个更改。例如,如在图9中所图示的,还原管理器22通过从文件系统15的当前状态删除所创建的、复制的或还原的项目来回退创建更改、副本更改和还原删除的项目更改。类似地,还原管理器22通过从回收站30还原已删除的项目来回退删除更改。另外,还原管理器22通过将项目的名称改回在更改日志35中指定的名称(关系名称)来回退重命名更改。类似地,还原管理器22通过将项目移动回到其在更改日志35中指定的文件系统内的先前位置(父标识符、先前路径或者其组合)来回退移动更改。此外,还原管理器22通过基于还原日期从版本历史25还原项目的先前版本来回退更新或还原更改。
因此,如在图5中所图示的,基于从更改日志35取回的相关条目,电子处理器16从回收站30将在时间点之后从文件系统15删除的项目还原到文件系统15(在框915处),从文件系统15删除(将已删除的项目移动到回收站30的软删除)在先前时间点之后在文件系统15内创建的项目(在框920处),以及将在时间点之后在文件系统15内移动的项目移动到与时间点相关联的位置(在框925处)。电子处理器16还从文件系统15删除在时间点之后在文件系统15内复制的项目(框930),将在时间点之后在文件系统15内被重命名的项目重命名为与时间点相关联的名称(框935),并从版本历史25还原与在时间点之后修改了内容的项目的与先前时间点相关联的版本(框940)。
在一些实施例中,如果已经从回收站30中(手动)清除了被删除的项目,则该项目无法还原。类似地,如果(手动)清除了针对项目的版本历史25,则可能无法还原项目的内容。因此,文件托管服务可以生成消息,所述消息警告用户当用户尝试进行这种清除时这些清除对还原文件系统15的能力的影响,并且可以提示用户验证清除或将用户认证为人类(例如,使用证书、CAPTCHA(完全自动化的公共图灵测试以告诉计算机和人类分开)认证、多因素认证或者其组合)。同样地,在一些实施例中,还原过程不还原回收站30或版本历史25,这通过保留允许用户将文件系统15还原到其他时间点(包括在初始还原日期之后的时间点)的数据来限制数据丢失。例如,图10示出了项目的版本历史25的示例性时间线。如在图10中所图示的,在1:00pm处,存在通过版本历史25可用的该项目的五个版本;并且在2:00pm处,已经保存该项目的另两个版本,因此在版本历史25中总共维护了七个版本的项目。在3:00pm处,作为文件系统还原的一部分,该项目将被还原到在1:00pm处该项目的版本。然而,作为该还原的一部分,还原管理器22不删除也不覆盖在1:00pm之后创建的项目的版本。而是,还原管理器22创建与在1:00pm处的项目版本的副本的与3:00pm相关联的项目的新版本。因此,在还原过程完成之后,版本历史25中存在项目的八个版本。因此,版本历史25允许项目被还原到其在2:00pm处的状态(还原回将来的状态)。
在一些实施例中,还原管理器22回退由从更改日志35顺序取回的条目所识别的更改。在其他实施例中,可以将还原动作放置在一个或多个队列中以用于并行处理。如果不能够处理特定的还原动作(例如,当另一队列正在访问该队列正在访问的相同项目时发生冲突,或者在文件系统15的当前状态下该项目尚不存在),则还原动作可以被移到另一队列(用于顺序处理)。如果在移到新队列之后仍然不能够处理该动作,则还原管理器22可以尝试绕过该动作并稍后返回该动作以查看该动作是否能够被处理。
在执行还原时,被包含在文件系统15中的项目(包括文件夹或其他目录)可以是只读的,以防止冲突。同样地,在一些实施例中,还原管理器22(或单独的软件应用)可以向用户提供状态消息或用户界面,以向用户通知还原进度(例如,哪些项目已被还原以及哪些项目尚未被还原、完成时间等)。能够在用户界面中类似地识别在还原期间发生的任何错误(例如,由于项目已从回收站30中清除而不能够还原)。在一些实施例中,在通过文件托管服务还原文件系统15之后,还原的文件系统15可以与用户设备14上的本地文件系统同步。因此,用户界面还可以通知用户在复原之后完成这样的同步所必需的额外时间。
在一些实施例中,可以限制还原文件系统15,以防止用户浪费资源以高速率在先前状态之间翻转。在一些实施例中,能够通过跟踪每单位时间的更改(移动、重命名、删除、还原等)的平均次数并将该平均值与阈值进行比较来检测这些条件。当满足或超过阈值时,可以对更改进行采样以在每个时间段仅保持预定的更改集合。替代地,在这种情况下,可以(临时或永久地)禁用还原(和跟踪更改)的能力。限制更改可以在文件托管服务的API级别上执行。
因此,在本文中所描述的实施例使用回收站、版本历史和简单的更改日志(跟踪创建、移动、重命名、恢复、复制和删除)来提供灵活、简单且存储有效的方法,以用于将文件系统15还原到不需要文件系统的传统备份的特定时间点。因此,在本文中所描述的实施例提供了一种还原过程,该还原过程比现有的还原过程需要更少的存储器,并且有效地使用现有的备份机制,诸如回收站和版本历史。同样如上文所描述的,版本历史也可以被配置为应用特定的规则以建立一致的文件集合用于还原。例如,通过在针对每个文件的定义时间段内维护定义的版本集合,针对每个文件维护版本集合,其允许将文件系统作为整体还原到定义的时间段内的多个不同的时间点。同样地,通过更改日志跟踪的更改可以类似地被用于审计目的,并且在一些实施例中,上文描述为通过更改日志跟踪的数据可以从为文件系统维护的一个或多个现有审计日志中提取。
在所附的权利要求中阐述了一些实施例的各种特征和优点。

Claims (15)

1.一种用于将文件系统还原到一时间点处的状态的系统,所述系统包括:
电子处理器,其被配置为:
接收所述时间点;
从更改日志中自动取回表示在所述时间点之后对所述文件系统内的项目所做的更改的条目,以识别在所述时间点之后从所述文件系统中删除的项目、在所述时间点之后在所述文件系统内创建的项目、在所述时间点之后在所述文件系统内移动的项目、在所述时间点之后在所述文件系统内复制的项目、在所述时间点之后在所述文件系统内重命名的项目、以及在所述时间点之后被修改内容的项目;以及
以相反的次序自动处理从所述更改日志中取回的所述条目,以回退在所述时间点之后对所述文件系统内的项目所做的更改,并将所述文件系统还原到所述时间点处的所述状态,其中,所述电子处理器通过以下操作来处理从所述更改日志中取回的所述条目:
从回收站中自动还原在所述时间点之后从所述文件系统中删除的项目,
从所述文件系统中自动删除在所述时间点之后在所述文件系统内创建的项目,
将在所述时间点之后在所述文件系统内移动的项目自动移动到所述文件系统内与所述时间点相关联的位置,
从所述文件系统中自动删除在所述时间点之后在所述文件系统内复制的项目,
将在所述时间点之后在所述文件系统内重命名的项目自动重命名为与所述时间点相关联的名称,并且
针对在所述时间点之后被修改内容的项目,从版本历史中自动还原与所述时间点相关联的版本。
2.根据权利要求1所述的系统,其中,所述文件系统内的项目包括从包含文件和文件夹的组中选择的至少一个。
3.根据权利要求1所述的系统,其中,所述电子处理器还被配置为定义每单位时间由所述版本历史维护的版本的最大数量和由所述版本历史维护的版本的最小数量。
4.根据权利要求1所述的系统,其中,所述电子处理器还被配置为:当多个版本对于特定单位时间可用时,定义每单位时间待保留的预定版本。
5.根据权利要求1所述的系统,其中,所述电子处理器还被配置为:响应于对所述文件系统内的项目所做的更改来创建被包含在所述更改日志中的所述条目,其中,被包含在所述更改日志中的每个条目包括更改日期和时间、被更改的项目的标识符以及更改类型的标识符。
6.根据权利要求1所述的系统,其中,被包含在所述更改日志中的至少一个条目包括从包含以下项的组中选择的至少一项:在更改项目之前正被更改的项目的父项目的标识符、在更改项目之前正被更改的项目的名称以及在更改项目之前正被更改的项目的路径。
7.一种存储指令的计算机可读介质,所述指令当由电子处理器运行时执行功能集合,所述功能集合包括:
接收用于将文件系统还原到的时间点;
从更改日志中自动取回表示在所述时间点之后对所述文件系统内的项目所做的更改的条目,以识别在所述时间点之后从所述文件系统中删除的项目、在所述时间点之后在所述文件系统内创建的项目、在所述时间点之后在所述文件系统内移动的项目、在所述时间点之后在所述文件系统内复制的项目、在所述时间点之后在所述文件系统内重命名的项目、以及在所述时间点之后被修改内容的项目;以及
以相反的次序自动处理从所述更改日志中取回的所述条目,以回退在所述时间点之后对所述文件系统内的项目所做的更改,并将所述文件系统还原到所述时间点处的状态,其中,处理从所述更改日志中取回的所述条目包括:
从回收站中自动还原在所述时间点之后从所述文件系统中删除的项目,
从所述文件系统中自动删除在所述时间点之后在所述文件系统内创建的项目,
将在所述时间点之后在所述文件系统内移动的项目自动移动到所述文件系统内与所述时间点相关联的位置,
从所述文件系统中自动删除在所述时间点之后在所述文件系统内复制的项目,
将在所述时间点之后在所述文件系统内重命名的项目自动重命名为与所述时间点相关联的名称,并且
针对在所述时间点之后被修改内容的项目,从版本历史中自动还原与所述时间点相关联的版本。
8.根据权利要求7所述的计算机可读介质,其中,所述功能集合还包括:将所述文件系统还原到所述时间点处的所述状态,而无需还原所述回收站。
9.根据权利要求7所述的计算机可读介质,其中,所述功能集合还包括:将所述文件系统还原到所述时间点处的所述状态,而无需还原所述版本历史。
10.一种将文件系统还原到一时间点处的状态的方法,所述方法包括:
针对对所述文件系统所做的每次更改在更改日志中创建条目,每个条目包括在所述文件系统内更改的项目的标识符、在所述文件系统内更改项目的日期和时间、以及对项目所做的更改的类型;
利用电子处理器接收所述时间点;
利用所述电子处理器从所述更改日志中自动取回表示在所述时间点之后对所述文件系统内的项目所做的更改的条目集合,以识别在所述时间点之后从所述文件系统中删除的项目、在所述时间点之后在所述文件系统内创建的项目、在所述时间点之后在所述文件系统内移动的项目、在所述时间点之后在所述文件系统内复制的项目、在所述时间点之后在所述文件系统内重命名的项目、以及在所述时间点之后被修改内容的项目;以及
利用所述电子处理器以相反的次序自动处理从所述更改日志中取回的所述条目,以自动回退在所述时间点之后对所述文件系统内的项目所做的更改,并将所述文件系统还原到所述时间点处的所述状态,其中,自动处理从所述更改日志中取回的所述条目包括:
从回收站中自动还原在所述时间点之后从所述文件系统中删除的项目,
从所述文件系统中自动删除在所述时间点之后在所述文件系统内创建的项目,
将在所述时间点之后在所述文件系统内移动的项目自动移动到所述文件系统内与所述时间点相关联的位置,
从所述文件系统中自动删除在所述时间点之后在所述文件系统内复制的项目,
将在所述时间点之后在所述文件系统内重命名的项目自动重命名为与所述时间点相关联的名称,并且
针对在所述时间点之后被修改内容的项目,从版本历史中自动还原与所述时间点相关联的版本;以及
将被还原到所述时间点处的所述状态的所述文件系统同步到至少一个用户设备。
11.根据权利要求10所述的方法,还包括:针对从所述版本历史中自动还原的在所述时间点之后被修改内容的项目,将与所述时间点相关联的版本保存为所述版本历史内的新版本。
12.根据权利要求10所述的方法,还包括:将所述回收站和所述版本历史的保留期设置为所述更改日志的保留期。
13.根据权利要求10所述的方法,还包括:响应于从包含手动清除所述回收站和手动清除所述版本历史的组中选择的至少一项来生成警告,所述手动清除所述回收站指示在所述回收站被手动清除的情况下还原所述文件系统将受限,手动清除所述版本历史指示在所述版本历史被手动清除的情况下还原所述文件系统将受限。
14.根据权利要求10所述的方法,其中,接收所述时间点包括:从监视系统接收所述时间点,所述监视系统被配置为检测在所述文件系统内发生的可疑活动。
15.根据权利要求10所述的方法,其中,自动处理从所述更改日志中取回的所述条目包括并行地回退所述条目。
CN201880060558.5A 2017-09-22 2018-06-25 使用回收站和版本历史的文件系统时间点还原 Active CN111095219B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762561871P 2017-09-22 2017-09-22
US62/561,871 2017-09-22
US15/836,108 2017-12-08
US15/836,108 US10747719B2 (en) 2017-09-22 2017-12-08 File system point-in-time restore using recycle bin and version history
PCT/US2018/039196 WO2019059994A1 (en) 2017-09-22 2018-06-25 RESTORING A FILE SYSTEM AT A TEMPORAL POINT USING A BASKET AND VERSION HISTORY

Publications (2)

Publication Number Publication Date
CN111095219A CN111095219A (zh) 2020-05-01
CN111095219B true CN111095219B (zh) 2023-09-01

Family

ID=65807629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880060558.5A Active CN111095219B (zh) 2017-09-22 2018-06-25 使用回收站和版本历史的文件系统时间点还原

Country Status (4)

Country Link
US (1) US10747719B2 (zh)
EP (1) EP3685268B1 (zh)
CN (1) CN111095219B (zh)
WO (1) WO2019059994A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261868B2 (en) 2016-11-17 2019-04-16 International Business Machines Corporation Using a forward log storage and backward log storage to recover a storage to a forward or backward point-in-time
US10372548B2 (en) * 2016-11-17 2019-08-06 International Business Machines Corporation Copying data from multiple point-in-time copies to a log storage to use to roll-back a source storage
KR102011726B1 (ko) * 2017-10-23 2019-08-19 숭실대학교산학협력단 동적 로딩 파일 추출 방법 및 장치
US11182372B1 (en) * 2017-11-08 2021-11-23 Amazon Technologies, Inc. Tracking database partition change log dependencies
CN110795278B (zh) * 2018-08-03 2023-08-25 Emc Ip控股有限公司 用于提供文件级恢复的系统和方法
US11940877B2 (en) * 2018-10-26 2024-03-26 Dropbox, Inc. Restoring a directory to a state prior to a past synchronization event
US11860743B1 (en) * 2018-11-27 2024-01-02 Amazon Technologies, Inc. Database operational compatibility safeguards
US11372991B1 (en) 2018-11-27 2022-06-28 Amazon Technologies, Inc. Database operational continuity
US11055408B2 (en) 2018-11-30 2021-07-06 International Business Machines Corporation Endpoint detection and response attack process tree auto-play
CN110347659B (zh) * 2019-06-13 2023-03-28 创新先进技术有限公司 数据处理方法和装置、交易数据处理方法和装置
CN110502370B (zh) * 2019-08-21 2022-03-15 华云数据控股集团有限公司 一种自动清理备份对象的方法
CN110888688B (zh) * 2019-11-21 2024-04-19 维沃移动通信有限公司 一种电子设备的设置还原方法及电子设备
CN111026751B (zh) * 2019-11-22 2024-02-09 北京金山云网络技术有限公司 分布式表格的处理方法、装置、系统及电子设备
CN111176906A (zh) * 2020-01-02 2020-05-19 无锡华云数据技术服务有限公司 一种备份数据的自动清理方法
US11822435B2 (en) * 2020-07-06 2023-11-21 Bank Of America Corporation Consolidated data restoration framework
US11561932B2 (en) 2020-07-21 2023-01-24 International Business Machines Corporation Cognitive digital file naming
JP2022091308A (ja) * 2020-12-09 2022-06-21 株式会社日立製作所 ストレージシステム及びデータ削除方法
US12111845B2 (en) * 2021-09-30 2024-10-08 Dropbox, Inc. Backup feature provided by bidirectional synchronized content management system
US20240126719A1 (en) * 2022-10-14 2024-04-18 Oracle International Corporation System and method for on-demand fetching of backend server logs into frontend browser

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1764901A (zh) * 2003-03-26 2006-04-26 希斯特墨克股份公司 用于将计算机中的文件、目录和面向应用的文件的至少一个恢复成先前状态的设备
US7529778B1 (en) * 2001-12-12 2009-05-05 Microsoft Corporation System and method for providing access to consistent point-in-time file versions
CN101866305A (zh) * 2010-05-21 2010-10-20 武汉大学 支持数据查询和快速恢复的连续数据保护方法及系统
CN102339321A (zh) * 2011-11-09 2012-02-01 上海盛霄云计算技术有限公司 具有版本控制的网络文件系统及方法
CN103365996A (zh) * 2013-07-12 2013-10-23 北京奇虎科技有限公司 文件管理及处理方法、装置和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822717B2 (en) 2006-02-07 2010-10-26 Emc Corporation Point-in-time database restore
US8131723B2 (en) * 2007-03-30 2012-03-06 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US7739547B2 (en) * 2007-06-07 2010-06-15 International Business Machines Corporation Failure recovery and error correction techniques for data loading in information warehouses
US8099392B2 (en) * 2007-06-08 2012-01-17 Apple Inc. Electronic backup of applications
US8572045B1 (en) 2008-09-25 2013-10-29 Symantec Corporation System and method for efficiently restoring a plurality of deleted files to a file system volume
US20110196840A1 (en) 2010-02-08 2011-08-11 Yoram Barzilai System and method for incremental backup storage
US10452634B2 (en) * 2016-02-01 2019-10-22 Microsoft Technology Licensing, Llc Provide consumer oriented data service
US10685097B2 (en) * 2017-12-29 2020-06-16 Intel Corporation Application based checkpointing control for storage device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529778B1 (en) * 2001-12-12 2009-05-05 Microsoft Corporation System and method for providing access to consistent point-in-time file versions
CN1764901A (zh) * 2003-03-26 2006-04-26 希斯特墨克股份公司 用于将计算机中的文件、目录和面向应用的文件的至少一个恢复成先前状态的设备
CN101866305A (zh) * 2010-05-21 2010-10-20 武汉大学 支持数据查询和快速恢复的连续数据保护方法及系统
CN102339321A (zh) * 2011-11-09 2012-02-01 上海盛霄云计算技术有限公司 具有版本控制的网络文件系统及方法
CN103365996A (zh) * 2013-07-12 2013-10-23 北京奇虎科技有限公司 文件管理及处理方法、装置和系统

Also Published As

Publication number Publication date
EP3685268A1 (en) 2020-07-29
US20190095455A1 (en) 2019-03-28
CN111095219A (zh) 2020-05-01
WO2019059994A1 (en) 2019-03-28
US10747719B2 (en) 2020-08-18
EP3685268B1 (en) 2021-10-06

Similar Documents

Publication Publication Date Title
CN111095219B (zh) 使用回收站和版本历史的文件系统时间点还原
US11698885B2 (en) System and method for content synchronization
US10911518B2 (en) Network folder synchronization
JP7044879B2 (ja) クライアント同期サービスのためのローカルツリーの更新
US9934303B2 (en) Storage constrained synchronization engine
US8086565B2 (en) File system watcher in the presence of different file systems
EP2414941B1 (en) Employing user-context in connection with backup or restore of data
KR20040077566A (ko) 피어 컴퓨팅 장치 사이에서 공유된 데이터를 동기화하는방법 및 시스템
US20240126651A1 (en) Restoring a directory to a state prior to a past synchronization event
WO2013166520A1 (en) Repository redundancy implementation of a system which incrementally updates clients with events that occurred via cloud-enabled platform
EP3584716B1 (en) Storage constrained synchronization of shared content items
EP3239860B1 (en) Storage constrained synchronization engine
US20170193201A1 (en) Automatic notifications for inadvertent file events
WO2017187311A1 (en) Storage constrained synchronization engine
JP6196389B2 (ja) 分散型ディザスタリカバリファイル同期サーバシステム
US20200293546A1 (en) Storage Constrained Synchronization Engine
US12111845B2 (en) Backup feature provided by bidirectional synchronized content management system
WO2017023255A1 (en) System and method for updating a local instance of a shared drive

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