WO2008113921A2 - Procede de gestion de fichiers - Google Patents
Procede de gestion de fichiers Download PDFInfo
- Publication number
- WO2008113921A2 WO2008113921A2 PCT/FR2008/000177 FR2008000177W WO2008113921A2 WO 2008113921 A2 WO2008113921 A2 WO 2008113921A2 FR 2008000177 W FR2008000177 W FR 2008000177W WO 2008113921 A2 WO2008113921 A2 WO 2008113921A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- locking
- data
- opening
- function
- Prior art date
Links
- 238000007726 management method Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 238000011282 treatment Methods 0.000 claims description 7
- 101100234002 Drosophila melanogaster Shal gene Proteins 0.000 claims description 5
- 235000015076 Shorea robusta Nutrition 0.000 claims description 5
- 244000166071 Shorea robusta Species 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 116
- 238000012360 testing method Methods 0.000 description 61
- 230000004044 response Effects 0.000 description 29
- 230000015654 memory Effects 0.000 description 10
- 238000012790 confirmation Methods 0.000 description 8
- 230000006837 decompression Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 101100226366 Arabidopsis thaliana EXT3 gene Proteins 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 208000034420 multiple type III exostoses Diseases 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002089 crippling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
- G06F16/1774—Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
Definitions
- the present invention relates to the field of digital file management, and more particularly to their recording, playback and modification on a recording medium. More specifically, it relates to a method and a system for managing data files interacting with a file system (file system) specific to the operating system (operating system) of the computer.
- file system file system
- operating system operating system
- a new data file is stored in a location of a memory, for example a hard disk, depending on the availability of memory space.
- a recording on a hard disk it is organized in blocks initialized at the time of formatting. These blocks are distributed at the time of formatting on the physical sectors of the memory.
- the management of data files on a computer is performed by the file system of the operating system of the computer.
- the file system of an operating system implements one or more partitions on a recording medium.
- a partition includes storage space for storing any data file, and an indexing space in which the storage space characteristics, including the file addresses in the storage space, are stored.
- Some files are directories, grouping lists of features related to data files and directories belonging to the same partition. For recording media having a large storage volume, for example, several gigabytes, the performance of the file system indexing system is degraded when the number of data files to be recorded, read, or modified becomes important in a system. same directory.
- the organization of the files of the directory type includes a list containing a very large number of occurrences to be processed, which increases the access time to a file in a crippling manner when the number of data files reaches several tens of times. thousands.
- This degradation is increased by fragmentation phenomena of directory type files that occur when a data file needs to be renamed or deleted.
- Another organization known by the Linux EXT3 file system is the organization of directory files with an internal B-Tree indexing system and for each data file the calculation of a condensate of the name. the data file from the result of a hash function, to speed up search in directories containing a large number of data files. This solution makes it possible to exploit several hundreds of thousands of data files in the same directory.
- patent US5742817 describes a file server, proposing a file consultation method for the purpose of simplifying the processing of the addresses.
- This document proposes Accelerate access to files by processing the INODE identification assigned automatically by the file management system. This process consists in extracting from this identifier three hexadecimal data to which subdirectories correspond in the filesystem.
- US2004 / 0236761 discloses a system for saving files in a series of directories and subdirectories. In the last level of a tree, a process is performed consisting of calculating a condensate function of the file name to determine a sub-directory "HASH SLOT" in which said file is recorded.
- the memory space is organized in a conventional tree form, and at the last level of the tree, a processing determines the subdirectory among a set at a single level.
- This solution limits the number of files that can be saved.
- the number of subdirectories is limited by the addressing modes of the file management system, for example 65,536 for a UNIX type management system.
- the number of files inside each sub-directory referred to above is also limited with the same limit.
- the capacity is limited, and to fully utilize the capacity, it is necessary to maximize the number of subdirectories which limits the performance of the file management system in this single level of the "rake" of subdirectories.
- the object of the present invention is to remedy this drawback by proposing a robust and fast file management method, making it possible to exploit a number of data files limited only by the available space of the memory, and not by the treatments performed by the file system on the names of the data files.
- the solution according to the invention therefore does not limit the capacity to exploit mass storage memories, the only limit being the physical capacity of these memories and no longer the modes of operation proposed by the file system. It can handle very large numbers of data files, for applications such as file servers.
- the invention relates to a file management method, comprising a first step of organizing the database of data files consisting of creating a directory tree to
- steps of recording data files consisting of: applying a hash function on the identifier of a data file F 1 to be recorded, determining the path of the directory R di of destination in the multi-level tree according to the result of the previous step, storing the data file in said directory R di determined by said hash function, at a location dependent on the identifier of the data file, and steps of reading data files consisting in: applying the same hash function on the identifier of a data file F 1 to read, determining the path of the directory R cj target in the tree based on the result of the previous step, read the data file in said directory R cj determined by said hash function, at a location according to the identifier of the data file.
- the invention relates, according to a particular mode of implementation, to a file management method according to the preceding claim characterized in that that the data files are spread over Q storage units, each storage unit corresponding to P directory levels of N directories.
- the invention assigns by the application of the hash function not a location in a given directory, but a path in a tree having a plurality of levels.
- the location in the last-level subdirectory is not assigned by the hash function, but by a name associated with the identifier of the data file.
- N is equal to 16
- the hash function is the SHAl function.
- An additional problem of file management is the protection of the integrity of the data in case of simultaneous access to the same data file by two applications. It is known on most operating systems to lock file files at the file system level, temporarily blocking access to a data file being written or read. These solutions are handled by the file system, usually from a residual lock table in memory. The disadvantage of these solutions is that in case of access to a file through a network, interference or errors can occur if access to the same file from a plurality of computers apart.
- Patent US6850969 proposes a particular solution to avoid the use of locks.
- This patent proposes a posteriori control of the possibility for an application to record changes in an open data file, and ensures that during this so-called atomic operation no other application has intervened on the same data file.
- atomic means a set of indivisible tasks executed consecutively without the possibility of interruption or interference by a third operation before the completion of all the tasks of the so-called atomic operation.
- each data file comprises a header and a body.
- the header has A status parameters of the data file in the file management system.
- the body includes the editable contents of the file.
- the method includes a step of accessing a target data file causing the modification of one of said state parameters to a state prohibiting a new access.
- FIG. 1 represents a schematic view of the tree implemented by the management method of files according to the invention
- Figures 2 to 8 show the functional diagrams of the file management
- FIG. 9 represents the use diagram of the file management system through a network, corresponding to a client-server mode.
- FIG. 1 represents a schematic view of the tree implemented by the file management method according to the invention.
- M five levels (1 to 5).
- Each directory of each level (1 to 4), except the last level (5), contains N 16 directories (10 to 12), (20 to 25), (30 to 35), (40 to 45).
- the name of each of the 16 directories corresponds to a hexadecimal digit between 0 and f.
- the total number of directories contained in the structure is 16 + 16 2 +16 3 ... + 16 M.
- the tree includes:
- level directories (1 to 4), not containing data files, but only top-level directories; - 1,048,576 directories (50 to 55) of level (5); each directory containing files for storing the data files.
- Each directory (50 to 55) of the last level (5) may contain a limited number L of data files, L being chosen small, for example of the order of 1,000, to allow a fast access time, and this, whatever the file system of the operating system of the computer.
- the method When creating a new data file, designated by a unique use name formed by a string, the method consists in applying a hash function H 1 to this character string representing the name of use, the result of which will be a value represented in hexadecimal form.
- H 1 For a SHAl hash function, the result in hexadecimal form will consist of 40 hexadecimal digits between 0 and f.
- the method includes determining, in the context of the previously defined directory tree and from this result of the hash function, a directory path in said tree.
- the rank of each of the first M digits of the result of the hash function will correspond to a level of the directory tree.
- the directory of level (1) will be the one with the name "b”, corresponding to the first character of the value SHAl, the directory of level (2) will be "3", corresponding to the second character, and so on for the 5 levels (1 to 5).
- the location in the last directory (5) will consist of the two-digit hexadecimal representation of the bytes of each character constituting the usage name.
- the file location and name will be "6d7966696c65"
- 6d is the two-digit hexadecimal representation of the "m” character
- "79” is the two-digit hexadecimal representation of the character "Y”
- "66” corresponding to the two-digit hexadecimal representation of the "f” character, and so on.
- the file name will necessarily be unique because it results from the combination of a location calculated from the hash function and a data file name. calculated uniquely from the usage name.
- This solution distributes the data files in the M directory of the directory tree equally and with maximum dispersion. Only the M level contains data files, the intermediate levels do not contain any data files and used only for the distribution of files in the M-level directories.
- each M-level directory the number of data files is reasonable, for example of the order of 1,000, which leads to fast access times.
- the first step is to determine, based on the file usage name, its path in the tree and its associated file name, by applying the previously mentioned hash function and calculating the name of the file. file from the usage name. This step makes it possible to determine in which directory of level M is recorded the file and its location in this directory.
- the latter each include a header and a body.
- the body includes the editable contents of the file, in directly accessible form or in compressed or encrypted form. This body is preceded by a header with file status parameters in the file management system.
- the access to a file by a treatment results in a first acquisition step of modifying one of said state parameters of the header to a state prohibiting a new access by another processing.
- a prohibition or waiting notification For the file is being accessed or used by a processing, another processing will encounter, during this initial acquisition step, a prohibition or waiting notification.
- the other process reiterates this initial acquisition step until the target file is again in a state allowing access, or until a predetermined delay causes the access attempts to be interrupted.
- a last release step restores the initial state of the modified parameter in the header, thus allowing another process to access the data file.
- FIGS 2 to 8 show the function structures implemented by the invention.
- Figure 2 shows the sequence of tasks required to acquire an existing data file.
- the function takes as input (150) the name of a file calculated from the usage name as explained above.
- the first task (100) is to attempt simultaneous opening and locking of the file at the operating system file system, requesting an opening and locking of the file preventing until closing and unlocking the opening and locking of this file by a later treatment.
- the function then performs a test (101) to check the opening and locking of the file: if the file is not opened and locked, the test result
- a test (104) checks whether the number of attempts (100) exceeds a threshold value, or if the time delay is exceeded, and retries (100) after a delay (149) in case of negative response ; otherwise, the function returns a system error (105).
- the function If the result of the test (101) is positive, the function reads the state of availability of the file in a state parameter of the file header during a task (106). The function then performs a file availability test (107) based on the value of the state parameter.
- the function proceeds to a task (108) of simultaneous closing and unlocking of the file at the level of the file system of the operating system.
- the function then performs a test (109) which checks whether the number of attempts (100) exceeds a threshold value, or if the time delay is exceeded, and retries (100) after a timer (149) in the event of a response. negative; otherwise, the function returns an error
- the function performs a task (111) of writing the state of unavailability of the file in a state parameter of the file header, and then a task (112) for calculating a file acquisition identifier, a task (113) for writing this identifier in a state parameter of the file header, and a task (114) for reading the file body of the file.
- the task (115) corresponds to a processing of the file body to extract the editable contents of the file. This processing is performed based on the state settings of the file header. It corresponds for example to decompression or decryption of the editable content of the file.
- the last task (116) is to simultaneously close and unlock the file at the operating system file system level.
- the function returns at its completion (151) the confirmation of the acquisition of the data file, the acquisition identifier of the file and the editable contents of the file.
- Figure 3 shows the sequence of tasks required to acquire a new data file.
- the function takes as input (250) the name of a file computed from the usage name as explained above.
- the first task (200) is to attempt to simultaneously create, open, and lock a new file at the operating system file system, requesting creation, opening, and locking of the file to prevent closing and unlocking the opening and locking of this file by posterior processing.
- the function then proceeds to a test (201) to verify the creation, opening and locking of the file: if the file is not created, opened and locked, the result of the test (201) is negative and the function proceeds.
- a second test (202) which checks whether the file existed during the attempt (200).
- the function returns an error (204) indicating that the file already exists.
- the function In the case of a negative response, the function returns an error (203) indicating a system error.
- the function proceeds to a task (205) for creating and writing the file header with a body of the empty file, then a task (206) for writing the file. state of unavailability of the file in a state parameter of the header of the file, then a task (207) for calculating a file acquisition identifier, a task (208) for writing this file identifier in a state parameter of the file header.
- the last task (209) is to simultaneously close and unlock the file at the file system level of the operating system.
- the function returns at its completion (251) the confirmation of the acquisition of the data file and the acquisition identifier of the file.
- Figure 4 shows the succession of tasks required to acquire an existing data file with creation of the file if it does not exist.
- the function takes as input (350) the name of a file computed from the usage name as explained above.
- the first task (300) is to attempt simultaneous opening and locking of the file at the operating system file system, and to create the file if it does not exist, requesting opening and locking the file preventing until it closes and unlocking the opening and locking of this file by a later processing.
- the function then performs a test (301) to check the opening and locking of the file: if the file is not opened and locked, the test result
- a test (302) which checks if the file existed during the attempt (300). In the case of a negative response, the function returns a system error (303). In the case of a positive response, a test (304) checks whether the number of attempts (300) exceeds a threshold value, or if the time delay is exceeded, and retries (300) after a delay (349) in the event of a delay. negative response ; otherwise, the function returns a system error (305).
- test (301) If the result of the test (301) is positive, the function then proceeds to a test (306) to check whether the file was during the attempt (300): if the file was not created, the test result (306) is negative and the function reads the state of availability of the file in a state parameter of the file header during a task (307).
- the function then performs a file availability test (308) based on the value of the state parameter. If the result of the test (308) is negative, corresponding to a state of unavailability, the function performs a task (309) of simultaneous closing and unlocking of the file at the level of the file system of the operating system. The function then performs a test (310) which checks whether the number of attempts (300) exceeds a threshold value, or if the time delay is exceeded, and retries (300) after a delay (349) in case of response. negative; otherwise, the function returns an error (311) indicating that the file remains acquired by a current process.
- the function performs a task (312) of writing the state of unavailability of the file in a state parameter of the file header, and then a task (313) for calculating a file acquisition identifier, a task (314) for writing this identifier in a state parameter of the file header, and a task (315) for reading the file body of the file.
- the task (316) corresponds to a processing of the body of the file to extract the modifiable contents of the file. This processing is performed based on the state settings of the file header. It corresponds for example to decompression or decryption of the editable content of the file.
- the task (317) is to simultaneously close and unlock the file at the file system level of the operating system.
- the function returns at its completion (351) the confirmation of the acquisition of the data file, a notification that the file has not been created, the acquisition identifier of the file and the editable content of the file.
- the function proceeds to a task (318) of creating and writing the file header with an empty file body, then a writing task (319) the state of unavailability of the file in a state parameter of the file header, then a task (320) for calculating a file acquisition identifier, a writing task (321) of this identifier in a state parameter of the file header.
- the last task (322) is to simultaneously close and unlock the file at the operating system file system level.
- the function returns at its completion (352) the confirmation of the acquisition of the data file, a notification that the file has been created and the acquisition identifier of the file.
- Figure 5 shows the succession of tasks required for the release of a data file acquired without modification of the data.
- the function takes as input (450) the name of a file calculated from the usage name as explained above and an acquisition identifier returned during a previous acquisition of the data file.
- the first task (400) is to attempt simultaneous opening and locking of the file at the operating system file system, requesting an opening and locking of the file preventing until it is closed and unlocked. opening and locking this file by subsequent processing.
- the function then carries out a test (401) to check the opening and locking of the file: if the file is not opened and locked, the result of the test (401) is negative and the function carries out a second test ( 402) which checks if the file existed during the attempt (400). In the case of a negative response, the function returns an error (403) indicating that the file does not exist. In the case of a positive response, a test (404) checks whether the number of attempts (400) exceeds a threshold value, or if the time delay is exceeded, and retries (400) after a delay (449) in case of negative response ; otherwise, the function returns a system error (405).
- the function If the result of the test (401) is positive, the function reads the state of availability of the file in a state parameter of the file header during a task (406). The function then performs a file availability test (407) based on the value of the state parameter.
- the function performs a task (408) of simultaneous closing and unlocking of the file at the operating system file system level and returns an error (409) indicating that the file is not acquired.
- the function reads the acquisition identifier in the header of the file during a task (410).
- the function then performs a test (411) which checks whether this identifier is different from the inputted identifier. In the case of a positive response, the function performs a simultaneous closing and unlocking task (412) of the file at the file system level of the operating system and returns an error (413) indicating that the acquisition identifier submitted in input is not valid. In the case of a negative response, the function performs a task (414) of erasure of the acquisition identifier in the state parameter of the header of the file, then a task (415) of writing of the availability status in the file header. The last task (416) is to close and simultaneously unlock the file at the operating system file system level.
- the function returns at its completion (451) the confirmation of the release of the data file.
- Figure 6 shows the sequence of tasks required for the release of a data file acquired with modification of the data.
- the function takes as input (550) the name of a file calculated from the usage name as explained above, an acquisition identifier returned during a previous acquisition of the data file and the modifiable content of the file.
- the first task (500) is to attempt simultaneous opening and locking of the file at the operating system file system, requesting an opening and locking of the file preventing until it is closed and unlocked. opening and locking this file by subsequent processing.
- the function then performs a test (501) to check the opening and locking of the file: if the file is not opened and locked, the test result
- a test (504) checks whether the number of attempts (500) exceeds a threshold value, or if the time delay is exceeded, and retries (500) after a delay (549) in the event of negative response ; otherwise, the function returns a system error (505).
- the function reads the state of availability of the file in a state parameter of the file header during a task (506).
- the function then performs a file availability test (507) based on the value of the state parameter.
- the function performs a simultaneous closing and unlocking task (508) of the file at the operating system file system level and returns an error (509) indicating that the file is not acquired.
- the function reads the acquisition identifier in the header of the file during a task (510).
- the function then performs a test (511) which checks whether this identifier is different from the identifier submitted as input. In the case of a positive response, the function performs a simultaneous closing and unlocking task (512) of the file at the operating system file system level and returns an error (513) indicating that the acquisition identifier submitted in input is not valid.
- the function performs a task (514) for erasing the acquisition identifier in the state parameter of the header of the file, then a task (515) for writing the the state of availability in the file header, then a task (516) corresponding to a processing of the file body to insert the editable content of the file.
- This processing is done according to the state parameters of the header of the file and corresponds for example to a compression or an encryption of the contents editable file.
- the function then performs a file body write task (517) and the last task (518) is to simultaneously close and unlock the file at the operating system file system level.
- the function returns at its completion (551) the confirmation of the release of the data file and the modification of the contents of the file.
- Figure 7 shows the succession of tasks necessary for the release of a data file acquired with deletion of the file.
- the function takes as input (650) the name of a file computed from the usage name as explained above and an acquisition identifier returned during a previous acquisition of the data file.
- the first task (600) is to attempt simultaneous opening and locking of the file at the operating system file system, requesting an opening and locking of the file preventing until it is closed and unlocked. opening and locking this file by subsequent processing.
- the function then performs a test (601) to check the opening and locking of the file: if the file is not opened and locked, the result of the test (601) is negative and the function carries out a second test ( 602) which checks whether the file existed during the attempt (600). In the case of a negative response, the function returns an error (603) indicating that the file does not exist. In the case of a positive response, a test (604) checks whether the number of attempts (600) exceeds a threshold value, or if the time delay is exceeded, and retries (600) after a timer (649) in case of negative response ; otherwise, the function returns a system error (605).
- the function If the result of the test (601) is positive, the function reads the state of availability of the file in a state parameter of the file header during a task (606). The function then performs a file availability test (607) based on the value of the state parameter.
- the function performs a task (608) of simultaneous closing and unlocking of the file at the operating system file system level and returns an error (609) indicating that the file is not acquired.
- the function reads the acquisition identifier in the header of the file during a task (610).
- the function then performs a test (611) which checks whether this identifier is different from the inputted identifier. In the case of a positive response, the function performs a simultaneous closing and unlocking task (612) of the file at the operating system file system level and returns an error (613) indicating that the acquisition identifier submitted in input is not valid. In the case of a negative response, the function performs a task (614) for erasing the acquisition identifier in the state parameter of the file header, then a task (615) for writing the the availability status in the file header. The last task (616) is to close, Unlock and delete the file at the operating system file system simultaneously.
- the function returns at its completion (651) the confirmation of the release of the data file and its erasure.
- Figure 8 shows the succession of tasks necessary for the simple reading of an existing data file without acquisition of the file.
- the function takes as input (750) the name of a file calculated from the usage name as explained above.
- the first task (700) is to attempt simultaneous opening and locking of the file at the operating system's file system, requesting an opening and locking of the file preventing it until it is closed and unlocked. opening and locking this file by subsequent processing.
- the function then proceeds to a test (701) to check the opening and locking of the file: if the file is not opened and locked, the result of the test (701) is negative and the function carries out a second test ( 702) which checks whether the file existed during the attempt (700). In the case of a negative response, the function returns an error (703) indicating that the file does not exist.
- a test (704) checks whether the number of attempts (700) exceeds a threshold value, or if the time delay is exceeded, and retries (700) after a delay (749) in case of negative response ; otherwise, the function returns a system error (705). If the result of the test (701) is positive, the function reads the state of availability of the file in a state parameter of the file header during a task (706).
- the function then performs a file availability test (707) based on the value of the state parameter.
- the function performs a task (708) of simultaneous closing and unlocking of the file at the file system level of the operating system.
- the function then performs a test (709) which checks whether the number of attempts (700) exceeds a threshold value, or if the time delay is exceeded, and retries (700) after a delay (749) in case of response. negative; otherwise, the function returns an error (710) indicating that the file remains acquired by a current process.
- the function performs a task (711) for reading the body of the file, then a task (712) for processing the body of the file to extract the editable content of the file. This processing is performed according to the state parameters of the file header. It corresponds for example to decompression or decryption of the editable content of the file.
- the last task (713) is to simultaneously close and unlock the file at the file system level of the operating system.
- the function returns at its completion (751) the confirmation of the simple reading of the data file and the editable contents of the file.
- Figure 9 relates to a particular and preferred application. It represents the succession of tasks necessary for the use of the file management system according to the invention through a network, corresponding to a client-server mode.
- the file management system is installed on a server computer (800) that includes server software (801).
- the server computer is accessible by a plurality of client computers (802 to 804) that each include client software (805 to 807).
- the exchanges between the client software and the server software use a known type of transport network protocol, for example HTTP or preferably a secure HTTPS protocol.
- the invention implements an application protocol (808) making it possible to call the functions of the file management system according to the invention by commands of the "file acquisition" or "file release” type.
- the files are distributed at the level of the server computer in several subsets (809 to 811), each subset corresponding to a tree structure according to the invention, called “table".
- the usage name of the data file is referred to in the protocol as "key”.
- the first task (812) is executed on one of the client computers by the client software. It consists in calling a function of acquisition, liberation or simple reading on a table and a key.
- the second task (813) is performed by the server software on the server computer. It consists of executing the function requested by the client software.
- the third task (814) is performed by the server software on the server computer. It consists of returning the result of the requested function to the client software.
- the system has several servers, to distribute the load and the data storage volume.
- the client software (805 to
- the server software (801) may also include logging functionalities executed to allow the incremental reconstruction of the server computer's trees on a backup server without performing a complete copy of the trees on the backup server.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020137029338A KR101365861B1 (ko) | 2007-02-13 | 2008-02-12 | 파일 관리 방법 |
CA002678186A CA2678186A1 (fr) | 2007-02-13 | 2008-02-12 | Procede de gestion de fichiers |
US12/526,724 US8504541B2 (en) | 2007-02-13 | 2008-02-12 | File management method |
JP2009548717A JP5123318B2 (ja) | 2007-02-13 | 2008-02-12 | ファイル管理方法 |
EP08761876A EP2130147A2 (fr) | 2007-02-13 | 2008-02-12 | Procede de gestion de fichiers |
IL200252A IL200252A0 (en) | 2007-02-13 | 2009-08-05 | File management method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0753222 | 2007-02-13 | ||
FR0753222A FR2912520B1 (fr) | 2007-02-13 | 2007-02-13 | Procede de gestion de fichiers. |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2008113921A2 true WO2008113921A2 (fr) | 2008-09-25 |
WO2008113921A3 WO2008113921A3 (fr) | 2009-09-24 |
Family
ID=38740236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2008/000177 WO2008113921A2 (fr) | 2007-02-13 | 2008-02-12 | Procede de gestion de fichiers |
Country Status (9)
Country | Link |
---|---|
US (1) | US8504541B2 (fr) |
EP (1) | EP2130147A2 (fr) |
JP (1) | JP5123318B2 (fr) |
KR (2) | KR101471055B1 (fr) |
CN (1) | CN101669118A (fr) |
CA (1) | CA2678186A1 (fr) |
FR (1) | FR2912520B1 (fr) |
IL (1) | IL200252A0 (fr) |
WO (1) | WO2008113921A2 (fr) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012896B (zh) * | 2010-12-29 | 2012-11-21 | 深圳市五巨科技有限公司 | 一种实现文件内容批量修改的方法和装置 |
US9934229B2 (en) * | 2011-10-23 | 2018-04-03 | Microsoft Technology Licensing, Llc | Telemetry file hash and conflict detection |
CN102446221A (zh) * | 2011-12-22 | 2012-05-09 | 南京联创科技集团股份有限公司 | Bs结构软件中的动态树型结构目录检索方法 |
US9323771B2 (en) * | 2013-04-24 | 2016-04-26 | Dell Products, Lp | Efficient rename in a lock-coupled traversal of B+tree |
CN105765559B (zh) | 2013-09-09 | 2019-03-05 | 尤奈特戴克斯公司 | 交互式案件管理系统 |
CN105743721B (zh) * | 2014-12-09 | 2019-02-15 | 博雅网络游戏开发(深圳)有限公司 | 数据上报方法、对上报数据进行处理的方法和装置 |
US10108624B1 (en) * | 2015-02-04 | 2018-10-23 | Amazon Technologies, Inc. | Concurrent directory move operations using ranking rules |
CN107506395A (zh) * | 2017-07-31 | 2017-12-22 | 合肥龙图腾信息技术有限公司 | 一种对打开状态文件重命名的方法及系统 |
CN108197302A (zh) * | 2018-01-29 | 2018-06-22 | 维沃移动通信有限公司 | 一种文件夹创建方法及移动终端 |
BE1027121B1 (fr) * | 2019-03-15 | 2020-10-14 | Christophe Dutordoir | Système de vote électronique sur internet |
CN111159109A (zh) * | 2019-11-26 | 2020-05-15 | 陶壮壮 | 一种磁盘空间占用文件的检测方法及系统 |
CN111054082B (zh) * | 2019-11-29 | 2023-10-13 | 珠海金山数字网络科技有限公司 | Unity资源数据集编码的方法 |
EP3776250B1 (fr) * | 2019-12-05 | 2022-08-24 | Alipay (Hangzhou) Information Technology Co., Ltd. | Réalisation d'itérations de carte dans un système à chaîne de blocs |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0463874A2 (fr) * | 1990-06-29 | 1992-01-02 | Digital Equipment Corporation | Dispositif d'antémémoire pour système de fichiers dans un système de traitement de données numériques |
US5692178A (en) * | 1992-08-20 | 1997-11-25 | Borland International, Inc. | System and methods for improved file management in a multi-user environment |
US5742817A (en) * | 1995-12-08 | 1998-04-21 | Emc Corporation | Method and apparatus for file server addressing |
US6470345B1 (en) * | 2000-01-04 | 2002-10-22 | International Business Machines Corporation | Replacement of substrings in file/directory pathnames with numeric tokens |
US6625591B1 (en) * | 2000-09-29 | 2003-09-23 | Emc Corporation | Very efficient in-memory representation of large file system directories |
EP1452981A2 (fr) * | 2003-02-28 | 2004-09-01 | Microsoft Corporation | Méthode pour retarder le vérouillage de fichiers à l'édition |
US20040236761A1 (en) * | 2003-05-23 | 2004-11-25 | Hans-Joachim Both | File system storage |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864852A (en) * | 1996-04-26 | 1999-01-26 | Netscape Communications Corporation | Proxy server caching mechanism that provides a file directory structure and a mapping mechanism within the file directory structure |
US5893086A (en) * | 1997-07-11 | 1999-04-06 | International Business Machines Corporation | Parallel file system and method with extensible hashing |
JP2000357115A (ja) * | 1999-06-15 | 2000-12-26 | Nec Corp | ファイル検索装置及びファイル検索方法 |
US6687716B1 (en) * | 2000-09-13 | 2004-02-03 | Radiant Data Corporation | File consistency protocols and methods for carrying out the protocols |
US6965893B1 (en) * | 2000-12-20 | 2005-11-15 | Oracle International Corporation | Techniques for granting shared locks more efficiently |
US7062490B2 (en) * | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
US6912645B2 (en) * | 2001-07-19 | 2005-06-28 | Lucent Technologies Inc. | Method and apparatus for archival data storage |
JP4154893B2 (ja) * | 2002-01-23 | 2008-09-24 | 株式会社日立製作所 | ネットワークストレージ仮想化方法 |
JP2006185232A (ja) * | 2004-12-28 | 2006-07-13 | Hitachi Ltd | 複数のプログラムの実行方法、プログラム変換方法及びこれを用いたコンパイラプログラム |
US7434057B2 (en) | 2005-01-27 | 2008-10-07 | Hitachi, Ltd. | System and method for watermarking in accessed data in a storage system |
-
2007
- 2007-02-13 FR FR0753222A patent/FR2912520B1/fr active Active
-
2008
- 2008-02-12 CN CN200880010343A patent/CN101669118A/zh active Pending
- 2008-02-12 WO PCT/FR2008/000177 patent/WO2008113921A2/fr active Application Filing
- 2008-02-12 US US12/526,724 patent/US8504541B2/en active Active
- 2008-02-12 CA CA002678186A patent/CA2678186A1/fr not_active Abandoned
- 2008-02-12 JP JP2009548717A patent/JP5123318B2/ja active Active
- 2008-02-12 EP EP08761876A patent/EP2130147A2/fr not_active Withdrawn
- 2008-02-12 KR KR1020097016865A patent/KR101471055B1/ko active IP Right Grant
- 2008-02-12 KR KR1020137029338A patent/KR101365861B1/ko active IP Right Grant
-
2009
- 2009-08-05 IL IL200252A patent/IL200252A0/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0463874A2 (fr) * | 1990-06-29 | 1992-01-02 | Digital Equipment Corporation | Dispositif d'antémémoire pour système de fichiers dans un système de traitement de données numériques |
US5692178A (en) * | 1992-08-20 | 1997-11-25 | Borland International, Inc. | System and methods for improved file management in a multi-user environment |
US5742817A (en) * | 1995-12-08 | 1998-04-21 | Emc Corporation | Method and apparatus for file server addressing |
US6470345B1 (en) * | 2000-01-04 | 2002-10-22 | International Business Machines Corporation | Replacement of substrings in file/directory pathnames with numeric tokens |
US6625591B1 (en) * | 2000-09-29 | 2003-09-23 | Emc Corporation | Very efficient in-memory representation of large file system directories |
EP1452981A2 (fr) * | 2003-02-28 | 2004-09-01 | Microsoft Corporation | Méthode pour retarder le vérouillage de fichiers à l'édition |
US20040236761A1 (en) * | 2003-05-23 | 2004-11-25 | Hans-Joachim Both | File system storage |
Non-Patent Citations (3)
Title |
---|
BRESSOUD T C ET AL: "OPEN CAS: A FLEXIBLE ARCHITECTURE FOR CONTENT ADDRESSABLE STORAGE" PROCEEDINGS OF THE ISCA INTERNATIONAL CONFERENCE, PARALLEL AND DISTRIBUTED COMPUTING SYSTEMS, XX, XX, 15 septembre 2004 (2004-09-15), pages 580-587, XP009068171 * |
PAXTON W H: "A Client-Based Transaction System to Maintain Data Integrity" PROCEEDINGS OF THE SEVENTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, 1979, pages 18-23, XP040160130 ACM, 2 PENN PLAZA, SUITE 701 - NEW YORK USA ISBN: 0-89791-009-5 * |
SVOBODOVA L: "File Servers for Nwtwork-Based Distribured Systems" COMPUTING SURVEYS, vol. 16, no. 4, décembre 1984 (1984-12), pages 353-398, XP040000208 ACM, 2 PENN PLAZA, SUITE 701 - NEW YORK USA * |
Also Published As
Publication number | Publication date |
---|---|
US20100106696A1 (en) | 2010-04-29 |
WO2008113921A3 (fr) | 2009-09-24 |
FR2912520B1 (fr) | 2009-05-15 |
CA2678186A1 (fr) | 2008-09-25 |
EP2130147A2 (fr) | 2009-12-09 |
CN101669118A (zh) | 2010-03-10 |
JP2010518501A (ja) | 2010-05-27 |
KR101365861B1 (ko) | 2014-02-20 |
KR20090116743A (ko) | 2009-11-11 |
JP5123318B2 (ja) | 2013-01-23 |
FR2912520A1 (fr) | 2008-08-15 |
US8504541B2 (en) | 2013-08-06 |
KR20130130876A (ko) | 2013-12-02 |
IL200252A0 (en) | 2010-04-29 |
KR101471055B1 (ko) | 2014-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2130147A2 (fr) | Procede de gestion de fichiers | |
US8489549B2 (en) | Method and system for resolving conflicts between revisions to a distributed virtual file system | |
US20150019599A1 (en) | Object file system | |
WO2003071430A1 (fr) | Méthode de stockage de blocs de données dans une mémoire | |
EP1977365B1 (fr) | Procede de gestion de documents electroniques | |
EP1866770B1 (fr) | Méthode et système pour maintenir la cohérence d'une mémoire cache utilisée par de multiples processus indépendants | |
CN106227830A (zh) | 存储和读取文件的方法和装置 | |
EP3623979B1 (fr) | Methode de stockage securise dans un reseau d'une image de conteneur dans un registre de conteneurs | |
FR3025340A1 (fr) | Nuage de donnees | |
WO2015166052A1 (fr) | Acquisition de données | |
WO2018096125A1 (fr) | Procédé d'insertion de données à la volée dans une base de données tatouées et dispositif associé | |
FR3084496A1 (fr) | Procede et dispositif de generation d'instructions destinees a un dispositif pour realiser une mise a jour sur place d'un fichier de donnees | |
FR3073061B1 (fr) | Procede de communication entre processus, programme d’ordinateur et installation informatique correspondants | |
EP2353076A1 (fr) | Procede et systeme de stockage virtualise d'un ensemble de donnees numeriques | |
FR3012900A1 (fr) | Procede de protection de metadonnees | |
WO2021044094A1 (fr) | Procede de gestion d'un groupe de donnees dans un systeme informatique | |
FR2997595A1 (fr) | Procede d'indexation des contenus d'un dispositif de stockage de contenus numeriques connecte a un boitier d'acces a internet | |
EP2212791A2 (fr) | Système informatique amélioré comprenant plusieurs noeuds en réseau | |
FR2925722A1 (fr) | Reseau informatique dote d'un archivage automatique de fichiers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200880010343.9 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08761876 Country of ref document: EP Kind code of ref document: A2 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008761876 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 200252 Country of ref document: IL Ref document number: 5079/DELNP/2009 Country of ref document: IN |
|
ENP | Entry into the national phase |
Ref document number: 2009548717 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2678186 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020097016865 Country of ref document: KR |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12526724 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020137029338 Country of ref document: KR |