Snapshot based search
First Claim
Patent Images
1. A method of searching a file system, the method comprising:
- generating, in response to receiving a search request from a user, a first snapshot of the file system that includes full text content and metadata for files in the file system, wherein the search request includes a search query specifying data to be searched for in the file system;
performing, by a data processing system, a search of the first snapshot, wherein the search is through the full text content and the metadata in the snapshot instead of the full text content and the metadata in the file system, and wherein the search generates first search results including files having data matching the search query;
generating, after performing the search of the first snapshot, a second snapshot of the file system in response to receiving the search request from the user;
determining a difference between the first snapshot and the second snapshot, the difference comprising files that changed in the file system after the first snapshot was generated;
performing a search of the difference between the first snapshot and the second snapshot to generate second search results including files that changed in the file system after the first snapshot was generated and that have data matching the search query;
combining the first results and the second results; and
displaying the combined search results on a display device.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention receive a search query from a user. In response to the search query, a snapshot of the file system in its current state is taken. A coherent search of the snapshot is performed using the search query. Results of the search are presented to a user. In other embodiments, a subsequent snapshot of the file system is taken after the first search is finished. A difference between the first snapshot and the subsequent snapshot is computed, and this difference is searched using the search query. Results of both searches are merged and results are presented to a user.
-
Citations
8 Claims
-
1. A method of searching a file system, the method comprising:
-
generating, in response to receiving a search request from a user, a first snapshot of the file system that includes full text content and metadata for files in the file system, wherein the search request includes a search query specifying data to be searched for in the file system; performing, by a data processing system, a search of the first snapshot, wherein the search is through the full text content and the metadata in the snapshot instead of the full text content and the metadata in the file system, and wherein the search generates first search results including files having data matching the search query; generating, after performing the search of the first snapshot, a second snapshot of the file system in response to receiving the search request from the user; determining a difference between the first snapshot and the second snapshot, the difference comprising files that changed in the file system after the first snapshot was generated; performing a search of the difference between the first snapshot and the second snapshot to generate second search results including files that changed in the file system after the first snapshot was generated and that have data matching the search query; combining the first results and the second results; and displaying the combined search results on a display device. - View Dependent Claims (2, 3)
-
-
4. A non-transitory machine readable storage medium storing instructions which when executed by a processor cause the processor to perform a method of searching a file system, the method comprising:
-
in response to receiving a search query from a user, causing an initial snapshot of the file system to be created that includes full text content and metadata for files in the file system, wherein the search query specifies data to be searched for in the file system; searching through the initial snapshot using the search query to generate initial results, wherein the search is through the full text content and the metadata in the initial snapshot instead of the full text content and the metadata in the file system, and wherein the initial results include files having data matching the search query; after searching through the initial snapshot, causing a subsequent snapshot of the file system to be created in response to receiving the search query from the user; searching a difference between the subsequent snapshot and the initial snapshot to generate subsequent results comprising files that changed in the file system after the initial snapshot was generated and having data matching the search query; combining the subsequent results into the initial results; and displaying the combined results to a user. - View Dependent Claims (5)
-
-
6. A data processing system comprising:
-
a processor; a memory coupled to the processor through a bus; an input/output device coupled to the processor through the bus; a display device coupled to the processor through the bus; a file system stored on a machine readable storage device coupled to the processor through the bus; instructions stored in the memory which when executed by the processor cause the processor to; receive a search query from a user through the input/output device, wherein the search query specifies data to be searched for in the file system, snap a current state of the file system to be searched to create a first snapshot in response to receiving the search query from the user, the first snapshot including the full text content and metadata for elements in the file system, search the first snapshot for elements matching the data in the search query, wherein the search is through the full text content and the metadata of elements in the first snapshot instead of the full text content and the metadata in the file system, in response to completing the search, snap a state of the file system after the search to create a second snapshot in response to receiving the search query from the user, compute a difference between the first snapshot and the second snapshot, the difference comprising elements that changed in the file system after the first snapshot was generated, search the difference between the first snapshot and the second snapshot for elements that changed after the first snapshot was generated and have data matching the search query, combine results of the search of the first snapshot with results of the search of the difference, and display the combined results of the searches on the display device.
-
-
7. An apparatus comprising:
-
means for receiving a command from a user to search a tree-based file system, the command comprising a search query specifying data to be searched for in the file system; means for taking an initial snapshot of the tree-based file system that includes full text content and metadata for files in the file system in response to receiving the search query from the user; means for searching, by a hardware device, through the full text content and the metadata in the initial snapshot using the search query to build a set of initial results that includes files having data that matches the search query, wherein the search is through the full text content and the metadata in the initial snapshot instead of the full text content and the metadata in the file system; means for taking a subsequent snapshot of the tree-based file system in response to receiving the search query from the user; means for generating a difference between the subsequent snapshot and the initial snapshot, the difference comprising files that changed in the file system after the initial snapshot was generated; means for searching through the difference between the subsequent snapshot and the initial snapshot using the search query to build a set of subsequent results that includes files that changed after the first snapshot was generated and having data matching the search query; means for building a set of merged results comprising a union of the set of initial results and the set of subsequent results; and means for displaying the set of merged results on a hardware display device. - View Dependent Claims (8)
-
Specification