WO2017158794A1 - ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体 - Google Patents

ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体 Download PDF

Info

Publication number
WO2017158794A1
WO2017158794A1 PCT/JP2016/058527 JP2016058527W WO2017158794A1 WO 2017158794 A1 WO2017158794 A1 WO 2017158794A1 JP 2016058527 W JP2016058527 W JP 2016058527W WO 2017158794 A1 WO2017158794 A1 WO 2017158794A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
collection
record
records
hash value
Prior art date
Application number
PCT/JP2016/058527
Other languages
English (en)
French (fr)
Inventor
永坤 王
Original Assignee
楽天株式会社
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 楽天株式会社 filed Critical 楽天株式会社
Priority to US16/085,435 priority Critical patent/US11169962B2/en
Priority to PCT/JP2016/058527 priority patent/WO2017158794A1/ja
Priority to JP2018505166A priority patent/JP6437691B2/ja
Publication of WO2017158794A1 publication Critical patent/WO2017158794A1/ja

Links

Images

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/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Definitions

  • the present invention relates to a file management system, a file management method, a collection program, and a non-transitory computer-readable information recording medium.
  • Patent Document 1 proposes a divided file backup system in which file data is divided into a plurality of records, each record is distributed to a plurality of mobile terminals, and can be stored while maintaining redundancy.
  • a web server for example, in order to record that access to the web server has occurred in a log file, editing processing for adding a record to the end of the file is frequently performed.
  • an editing process for adding a record representing details of the event to the end of the log file is executed.
  • log files For log files, editing processes such as replacement, deletion, and insertion in the middle of log files are rarely executed. In other words, when the log file becomes large, the log file itself that is subject to editing processing is cleared by deleting or renaming the log file itself, and then additional processing is usually performed after that. is there.
  • the simplest method for matching the contents of multiple records contained in such a file between one computer and another is to detect that the file has been edited by monitoring the file update date and time. Then, the entire file subjected to the editing process is copied.
  • the present invention solves these problems.
  • a server device that performs an additional process in which a record is added to the end of a file causes the collection device to collect records included in the file
  • calculation in the server device File management system file management method suitable for suppressing load and communication load between server device and collection device, collection program for realizing server device by computer, and collection program recorded It is an object to provide a non-transitory computer-readable information recording medium.
  • a file management system comprises a server device that records a file and an offset to the file non-temporarily, and a collection system, (a) By executing the editing program, the server device The file is updated by an editing process including an additional process for adding a record to the end of the file, (b) By executing the collection program, the server device The records included in the file are read in the order in which they are arranged in the file, and the position where the top of the read record is arranged in the file is associated with the read record Let the collection system collect and update the non-temporarily recorded offset to the position where the end of the collected record is located in the file; (c) When the server device starts execution of the collection program, Estimating whether any of the first records arranged between the beginning of the file and the non-temporarily recorded offset has been updated, If it is estimated that any of the first records has been updated, it is estimated that the collection unit starts reading records from the file from the beginning of the file, and that none of the first records has been updated. For example,
  • file management method in which a server device that performs an addition process in which a record is added to the end of a file causes the collection device to collect records included in the file, the calculation load in the server device and the server device and the collection device Management system, file management method, collection program for realizing the server device by a computer, and non-transitory computer readable recording the collection program Information recording medium can be provided.
  • FIG. 1 is an explanatory diagram showing a configuration of a file management system according to an embodiment of the present invention.
  • a description will be given with reference to FIG.
  • the file management system 101 includes a server device 111 and a collection system 121. Further, the file management system 101 can include a client terminal 141 as an optional element.
  • the server device 111 is a computer that performs file update (edit) processing. For example, when the server device 111 functions as a web server, each time an event for accessing the web server occurs, the server device 111 executes an additional process of adding a record representing the event to the end of the log file. .
  • the file management system 101 collects each record included in the log file so that the performance of the web server function of the server device 111 is not reduced. Let system 121 collect.
  • the soot collection system 121 includes one or more collection devices 122.
  • Each collection device 122 receives each record included in a file managed by the server device 111 based on an instruction from the server device 111, and executes a collection process for storing the record.
  • the client terminal 141 is actually responsible for analyzing access to the web server. That is, when a query is sent from the client terminal 141 to the collection system 121, a record that satisfies the query is answered.
  • the server device 111, the collection device 122, and the client terminal 141 are realized by a computer prepared for each application executing a program prepared for each application.
  • These programs can be distributed from a distribution server (not shown) managed by the operator of the file management system 101 via a transitory transmission medium such as a computer communication network.
  • a distribution server managed by the operator of the file management system 101 via a transitory transmission medium such as a computer communication network.
  • a program using a web server function that the server device 111 has.
  • These programs can be read by a computer such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, ROM (ReadROMOnly Memory), EEPROM (Electrically Erasable Programmable ROM), flash memory, and semiconductor memory. It can be recorded on possible non-transitory information recording media. This information recording medium can also be distributed and sold independently of each computer.
  • the distributed program is recorded on a non-transitory information recording medium such as a flash memory or a hard disk of a download destination computer.
  • the CPU Central Processing Unit
  • the CPU reads a non-temporarily recorded program into a RAM (Random Access Memory), which is a temporary storage device, and then executes a command in the program.
  • RAM Random Access Memory
  • each device of the present embodiment is not realized by a computer, but can be configured using a dedicated electronic circuit.
  • the program functions as a material for generating a wiring diagram, timing chart, and the like of the electronic circuit.
  • an electronic circuit that satisfies the specifications defined in the program is configured by an FPGA (Field Programmable Gate Array), an ASIC (Application Specific Integrated Circuit), or the like.
  • the electronic circuit functions as a dedicated device that performs a function defined in the program.
  • FIG. 2 is an explanatory diagram showing the configuration of the server device in the file management system according to the embodiment of the present invention.
  • a description will be given with reference to FIG.
  • the server device 111 includes an update unit 201, a collection unit 202, an estimation unit 203, and a start unit 204.
  • the update unit 201 is realized by a computer for realizing the server device 111 executing an editing program
  • the collection unit 202, the estimation unit 203, and the start unit 204 are executed by the computer executing the collection program. It is realized by.
  • the heel update unit 201 updates the file by an editing process including an adding process for adding a record to the end of the file.
  • the file to be edited is stored in a non-temporary information recording medium such as a hard disk or a flash disk provided in the server device 111 or a network storage connected to the server device 111.
  • a non-temporary information recording medium such as a hard disk or a flash disk provided in the server device 111 or a network storage connected to the server device 111.
  • a record indicating information regarding each access is added to the end of the log file.
  • Each record may have a fixed length (a fixed number of bytes), or a line of an arbitrary length (a variable number of bytes), and a line feed character added to the end of the line may be used as a delimiter for each record.
  • the heel update unit 201 executes an editing process in which an update to a file is performed exclusively by appending to the end of the file.
  • the editing process may be automatically executed by the server device 111 executing the editing program, or may be executed in other ways according to an instruction from the user.
  • the collection unit 202 reads the records included in the file to be edited by the update unit 201 in the order in which they are arranged in the file, and the position where the top of the read record is arranged in the file;
  • the collected record is associated with the read record and collected by the collection system 121, and the offset recorded non-temporarily is updated to a position where the end of the collected record is arranged in the file.
  • the collection unit 202 when the collection unit 202 causes the collection system 121 to collect a record, the collection unit 202 records the start of the record together with the position where the record is arranged in the file.
  • the collection unit 202 records the start of the record together with the position where the record is arranged in the file.
  • the collection unit 202 After the collection unit 202 causes the collection system 121 to collect one record, the collection unit 202 sets a non-temporary offset indicating how far the record has been read from the file, i.e., how far the copy to the collection system 121 has been completed. Recorded on a new information recording medium.
  • the offset is calculated in units of bytes when the record has a variable length. However, if the record has a fixed length, the offset may be in units of bytes or the number of records.
  • the records collected by the collection system 121 are acquired in the collection system 121 or by the client terminal 141 etc., and the original files are restored by concatenating them in the order corresponding to the collected records. Will be able to.
  • Reading of records by the collection unit 202 uses, for example, a file update event detection function prepared by the OS (Operating System), updates a flag for invoking a collection process in an edit process to a file, It may be performed by detecting that the record is added to the file by issuing a signal or a notification.
  • OS Operating System
  • the collection unit 202 is expected to decrease the frequency of file update intermittently (for example, when the server device 111 is idle or under a low load, and so on) or periodically (for example, every day at midnight). Monitor the file size etc. if there is no change, and if there is no change, sleep for an appropriate time and repeat the same process. It is also possible to perform reading by determining that is added.
  • server device 111 if any failure or trouble occurs in the server device 111, various maintenance is performed, or there is a security update for the OS, various application programs, or library programs, the editing program or collection program is terminated. It may be necessary to start again or reboot the computer that implements the server device 111 itself.
  • the estimation unit 203 determines whether any of the first records arranged between the beginning of the file and the non-temporarily recorded offset has been updated. Is estimated.
  • the first record arranged between the beginning of the file and the offset has already been copied to the collection system 121.
  • most of the editing processing for a file is adding a record to the end of the file. Therefore, if none of the initial records has been updated, there is no need to redo the copying to the collection system 121.
  • the start unit 204 starts reading the records from the file by the collection unit 202 from the beginning of the file, and if none of the first records has been updated. If estimated, reading of records from the file by the collection unit 202 is started from a non-temporarily recorded offset. Then, as described above, the collection unit 202 causes the collection system 121 to collect the read records together with the positions at which the records are arranged in the order of reading, and represents the positions where the records have been read. Record the offset non-temporarily.
  • the estimation unit 203 may perform estimation similar to the above periodically or intermittently not only when the execution of the collection program is started but also while the execution of the collection program continues. If it is estimated that one of the first records has been updated as a result of the estimation performed, the collection unit 202 reads the record from the file again from the beginning of the file, and starts copying the record to the collection system 121 from the beginning. .
  • the first method is to acquire one of the first records at random or in accordance with a predetermined rule, and to check whether or not only the record has been changed.
  • the collection unit 202 obtains an extraction position between the head of the file and the non-temporarily recorded offset for reference in later estimation by the estimation unit 203.
  • the extraction position may be determined randomly or may be acquired according to a predetermined rule.
  • the extraction position at random As an example of determining the extraction position at random, generate a random number from the beginning of the file to the offset, or generate a random number with a probability distribution that decays from the offset toward the beginning of the file, and the extraction position is based on the random number. Etc. The latter is particularly suitable in an environment where writing to the end of a file is likely to compete.
  • the attenuation may be exponentially attenuated, linearly attenuated, or attenuated by an inverse number.
  • a random number having a probability distribution that attenuates from the beginning of the file toward the offset may be generated, and the extraction position may be determined by the random number.
  • an integer obtained by multiplying an offset by a constant of 0 or more and less than 1 is used as the extraction position.
  • the collection unit 202 reads the data arranged at the extraction position acquired from the file, calculates a hash value of the read data, and calculates the acquired extraction position and the calculated hash value non-temporarily.
  • the data is recorded on a hard disk, a flash disk, a network storage connected to the server device 111, or the like.
  • the timing at which the extraction position is acquired, the data is read, the hash value is calculated, and the extraction position and the hash value are recorded non-temporarily can be appropriately determined according to the use of the server device 111 or the like. For example, when a new record is added to the file, when the calculation load of the server apparatus 111 is equal to or less than a threshold, when reaching a time determined in a schedule scheduled in advance can be employed.
  • the start unit 204 acquires a non-temporarily recorded extraction position, reads the data arranged at the extraction position acquired from the file, and hashes the read data Calculate the value. These processes are typically executed by the start unit 204 issuing an instruction to the estimation unit 203.
  • the estimation unit 203 estimates that none of the initial records has been updated.
  • the second method is not to determine the extraction position randomly, but to determine it according to the offset. Therefore, every time the offset is updated, the extraction position also changes, and the hash value is also updated.
  • the explanation will be made while focusing on the difference from the first method.
  • the collection unit 202 acquires an extraction position uniquely associated with a non-temporarily recorded offset, reads data arranged at the extraction position acquired from the file, and reads the hash value of the read data And the calculated hash value is recorded non-temporarily.
  • the extraction position is uniquely determined according to the offset, the extraction position is not recorded non-temporarily. Instead, it is desirable that the non-temporary recording of the offset and the calculation of the hash value and the non-temporary recording be performed in an inseparable manner almost simultaneously. That is, it is desirable that the timing for obtaining the extraction position, reading the data, calculating the hash value, and recording the extraction position and the hash value non-temporarily is the timing for recording the offset non-temporarily.
  • the start unit 204 acquires the extraction position uniquely associated with the non-temporarily recorded offset, as in the first method, and the extraction position acquired from the file Is read out, the hash value of the read data is calculated, and if the calculated hash value is equal to the non-temporarily recorded hash value, the estimation unit 203 determines which of the first records Is also not updated.
  • the extraction position is uniquely determined from the offset, so the extraction position is not recorded temporarily. Except for this point, processing similar to the first method can be executed.
  • the third method is to fix the extraction position to the first record arranged at the beginning of the file in the second method. That is, when the first record arranged at the beginning of the file is read by the collection unit 202 and the first record is collected in the collection system 121, the collection unit 202 calculates the hash value of the first record, Record the hash value non-temporarily.
  • the start unit 204 calculates the hash value of the first record placed at the beginning of the file, and if the calculated hash value is equal to the hash value recorded non-temporarily, the estimation unit 203 Estimate that none of the records have been updated.
  • the number of records for which the hash value is calculated is the simplest, but one record is read from the sector size of the hard disk or the file input / output buffer. Even in such a situation, when multiple records are practically read, all the records read before the offset are read when calculating the hash value. It is also good.
  • FIG. 3 is a flowchart showing control of update processing executed by the server device according to the embodiment of the present invention.
  • a description will be given with reference to FIG.
  • the editing program in the present embodiment performs processing for adding various events generated in the server device 111, for example, records of accesses to the server device 111, to a file.
  • the server device 111 that has started the execution of the editing program waits until an event to be monitored occurs (step S301).
  • the server device 111 opens the file (step S302) and seeks to the end (last) of the file (step S303).
  • the server apparatus 111 writes a record indicating the details of the event in the file (step S304), closes the file (step S305), and returns the process to step S301.
  • the file is opened and closed.
  • the file may be opened at the start of the editing program, and the file may remain open thereafter. In this aspect, it is desirable to appropriately perform flushing of record writing to the file.
  • steps S302-S305 are provided by a system call, etc., the processing is executed atomically, so it is possible to prevent the file from being damaged due to conflicting writing to the end by multiple programs can do.
  • FIG. 4 is a flowchart showing control of collection processing executed by the server device according to the embodiment of the present invention.
  • the collection program and the editing program are executed in parallel in the server device 111.
  • the server device 111 that has started the execution of the wrinkle collection program first attempts to read the offset associated with the file from the non-temporary information recording medium (step S401).
  • step S401 If reading fails (step S401; failure), the server apparatus 111 sets 0 (the beginning of the file) as the offset (step S402), and then advances the control to step S403.
  • step S401 when the reading is successful (step S401; success), the server apparatus 111 advances the control to step S403.
  • the server device 111 estimates whether or not the first record arranged between the beginning of the file and the acquired offset has been updated (step S403). For the estimation, any of the above three methods can be adopted.
  • step S403 If it is estimated that it has been updated (step S403; Yes), the server apparatus 111 sets the offset to 0 (step S404), and then advances the control to step S405.
  • step S403 when it is estimated that it has not been updated (step S403; No), the server apparatus 111 advances the control to step S405.
  • the server device 111 seeks the file to the set offset (step S405), and checks whether the end of the file has been reached (step S406).
  • step S406 If the end of the file has not been reached (step S406; No), the record is read from the file (step S407), and the collection system 121 is instructed to collect the read record in association with the offset (step S408). . It waits until it receives a report from the collection system 121 that the record has been stored in association with the offset (step S409).
  • the server device 111 Upon receiving the report related to the offset, the server device 111 updates the offset to the current position of the file (step S410), records the updated offset on a non-temporary recording medium (step S411), and performs control. Return to step S406. When the report cannot be received for a predetermined time and timed out, retransmission may be attempted for the record, or control may be returned to step S401 (not shown).
  • step S406 if the end of the file has been reached (step S406; Yes), the process waits until the file size changes (step S412), and the control returns to step S406.
  • the standby time exceeds a predetermined threshold, it is also possible to check again whether the first record has been altered by returning control to step S401 instead of step S406.
  • the server apparatus 111 is shut down, the execution of the collection program is forcibly terminated, etc. Even if the control flow is lost, the already collected records can be skipped after the server apparatus 111 is restarted or the collection program is executed again. Further, by sampling from the first record, the possibility of altering the collected record can be estimated in a short time. Therefore, the server device 111 can quickly resume collection.
  • the collection system 121 includes one or more collection devices 122.
  • a collection system 121 including a plurality of collection devices 122 is illustrated, but the collection system 121 may include a single collection device 122.
  • the collection system 121 accepts an instruction from an external device when each collection device 122 accepts the instruction, and each collection device 122 appropriately returns a response to the accepted instruction to the external device.
  • FIG. 5 is a flowchart showing control of response processing executed by the collection apparatus included in the collection system according to the embodiment of the present invention.
  • FIG. 5 a description will be given with reference to FIG.
  • the collection device 122 that has started the execution of the response program waits for an instruction from an external device to arrive (step S601).
  • the collection device 122 determines whether or not it is in charge of accumulation based on the offset specified in the collection instruction. (Step S602).
  • each collecting device 122 determines that it is in charge of accumulation when the remainder obtained by dividing the offset by N matches the number assigned to itself.
  • the offset may be divided by the size and then divided by N to obtain the remainder.
  • M collection devices 122 are in charge of accumulating one record.
  • the value obtained by adding an offset (or the value obtained by dividing the offset by the size of a fixed-length record) to the number assigned to itself is 0, ⁇ 1, ..., M-1 If so, it may be determined that it is in charge of storage.
  • the collection device 122 stores the record specified in the collection instruction in association with the offset specified in the collection instruction (step S603).
  • the offset can be used as a file name for storing records.
  • the contents of the record may be interpreted according to a predetermined format, and a plurality of field values obtained as a result may be associated with the offset and stored in the database.
  • the collection device 122 reports to the server device 111 that the record associated with the offset specified in the instruction has been accumulated (step S604), and returns control to step S601.
  • step S602 when it is determined that it is not in charge of accumulation (step S602; No), the collection device 122 returns the control to step S601.
  • the collection device 122 extracts a record satisfying the query from the records stored in itself (step S605). ).
  • step S605 If there is an extracted record (step S605; present), the collection device 122 returns the record to the client terminal 141 (step S606), and returns the control to step S601. On the other hand, if no record is extracted (step S605; none), the collection device 122 returns control to step S601.
  • each collection device 122 replies with the record stored by itself and its offset. If the records to which the client terminal 141 responds are arranged and connected in the order of offset, the entire file in the server device 111 can be restored.
  • step S601 If the instruction is other (step S601; other), the collection device 122 executes the corresponding process (step S607), and returns the control to step S601.
  • the file management system includes a file device and a server device that non-temporarily records an offset to the file, and a collection system.
  • the server device By executing the editing program, the server device It functions as an update unit that updates the file by an editing process including an additional process for adding a record to the end of the file, (b) By executing the collection program, the server device The records included in the file are read in the order in which they are arranged in the file, and the position where the top of the read record is arranged in the file is associated with the read record A collection system that collects and updates the non-temporarily recorded offset to a position where the end of the collected record is located in the file; (c) When the server device starts execution of the collection program, An estimation unit that estimates whether any of the first records arranged between the beginning of the file and the non-temporarily recorded offset has been updated; If it is estimated that any of the first records has been updated, it is estimated that the collection unit starts reading records from the
  • the collection unit acquires an extraction position between the head of the file and the non-temporarily recorded offset, reads data arranged at the acquired extraction position from the file, and reads the read Calculating a hash value of the acquired data, and recording the acquired extraction position and the calculated hash value non-temporarily
  • the start unit acquires the non-temporarily recorded extraction position, reads data arranged at the acquired extraction position from the file, calculates a hash value of the read data, If the calculated hash value is equal to the non-temporarily recorded hash value, the estimation unit may be configured to estimate that none of the opening records has been updated.
  • the collection unit can be configured to randomly determine the extraction position between the head of the file and the non-temporarily recorded offset.
  • the extraction position can be configured to be randomly determined by a random number having a probability distribution that attenuates from one to the other of the beginning of the file and the non-temporarily recorded offset. .
  • the collection unit acquires an extraction position uniquely associated with the non-temporarily recorded offset, reads data arranged at the acquired extraction position from the file, and reads the data of the read data Calculating a hash value and recording the calculated hash value non-temporarily;
  • the start unit acquires an extraction position uniquely associated with the non-temporarily recorded offset, reads data arranged at the acquired extraction position from the file, and reads the data of the read data
  • a hash value can be calculated, and if the calculated hash value is equal to the non-temporarily recorded hash value, it can be configured that it is estimated that none of the opening records has been updated.
  • the collection unit calculates a hash value of the first record, Recorded hash value non-temporarily,
  • the start unit calculates a hash value of the first record arranged at the head of the file, and if the calculated hash value is equal to the non-temporarily recorded hash value, any of the first records Can also be configured to assume that no updates have been made.
  • estimation by the estimation unit is performed periodically or intermittently, If it is estimated that any of the opening records has been updated by the estimation performed periodically or intermittently, the collection unit reads the record from the file by the collection unit, Can be configured to start over.
  • the file can be restored by concatenating the records collected by the collection system in the order of the positions associated with the collected records.
  • the collection system includes a plurality of collection devices, Each of the records collected by the collection system is stored in one of the plurality of collection devices together with a position associated with the respective record,
  • each of the plurality of collection devices extracts a record that satisfies the query from the records accumulated in the respective collection device, and the extracted record is extracted from the client. It can be configured to answer the terminal.
  • the file management method is A server device that non-temporarily records a file and an offset to the file, and a collection system, (a) By executing the editing program, the server device The file is updated by an editing process including an additional process for adding a record to the end of the file, (b) By executing the collection program, the server device The records included in the file are read in the order in which they are arranged in the file, and the position where the top of the read record is arranged in the file is associated with the read record Let the collection system collect and update the non-temporarily recorded offset to the position where the end of the collected record is located in the file; (c) When the server device starts execution of the collection program, Estimating whether any of the first records arranged between the beginning of the file and the non-temporarily recorded offset has been updated, If it is estimated that any of the first records has been updated, reading of the record from the file is started from the beginning of the file, and if it is estimated that none of the first records has been updated, the file The record
  • a server device that performs an addition process in which a record is added to the end of a file collects a record included in the file
  • Management system file management method, collection program for realizing server apparatus by computer, and non-transitory computer-readable information record in which collection program is recorded
  • a medium can be provided.

Abstract

サーバ装置(111)において、更新部(201)は、レコードをファイルの末尾に追加する追加処理を含む編集処理により、ファイルを更新する。収集部(202)は、ファイルに含まれるレコードを配置された順に読み出して、ファイル内におけるレコードの位置とレコードとを対応付けて収集システムに含まれる収集装置に収集させ、当該位置をオフセットとして非一時的に記録する。推定部(203)は、ファイルの先頭から記録されたオフセットまでに配置された冒頭レコードが更新されたか否かを推定する。開始部(204)は、冒頭レコードのいずれかが更新されたと推定されれば、収集部(202)によるレコードの読み出しをファイルの先頭から開始させ、いずれも更新されていないと推定されれば、収集部(202)によるレコードの読み出しを記録されたオフセットから開始させる。

Description

ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
  本発明は、ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体に関する。
  従来から、ファイルに含まれる複数のレコードを、あるコンピュータから別のコンピュータへコピーする技術が広く使われている。たとえば、特許文献1では、ファイルのデータを複数のレコードに分割し、各レコードを複数の移動体端末に配布して、冗長性を保ちつつ保存可能とする分割ファイルバックアップシステムが提案されている。
  一方で、たとえばウェブサーバでは、ウェブサーバへのアクセスが生じたことをログファイルに記録するため、レコードをファイルの末尾へ追加する編集処理が頻繁に行われる。多くのサーバ装置では、各種のイベントが生じると、当該イベントの詳細を表すレコードをログファイルの末尾へ追加する編集処理が実行される。
  ログファイルに対しては、ログファイルの途中を置換、削除、挿入等する編集処理が実行されることは稀である。すなわち、ログファイルが大きくなった場合等には、ログファイルそのものを削除あるいはリネームする処理によって、編集処理の対象となるログファイルそのものをクリアしてしまい、その後にまた追加処理を行うことが通例である。
  このほか、パーソナルコンピュータにおける情報処理においても、ファイル末尾へレコードが追加される追加処理は、他の編集処理に比べて、頻繁に実行されることが多い。
  このようなファイルに含まれる複数のレコードの内容をあるコンピュータと別のコンピュータで一致させるための最も簡単な手法は、ファイルの更新日時を監視することによってファイルに対する編集処理が行われたことを検知して、編集処理が行われたファイル全体をコピーすることである。
特開2014-81898号公報
  しかしながら、上記のように、ファイルの更新が頻繁に行われる場合には、ファイル全体のコピーを開始してからコピーが完了するまでの間に、前記ファイルの末尾に対するレコードの追加が行われるような事態が生じることがありうる。すると、ファイルの更新日時が変化するため、再度コピーを先頭からやり直す必要が生じてしまう。したがって、ファイル全体をコピーする、という手法では、コンピュータ間でファイルに含まれる複数のレコードの内容を一致させることが、事実上困難になることが多い。
  一方で、メンテナンス等によりオリジナルのファイルを管理するサーバ装置の電源が切られたり、サーバ装置のオペレーティング・システムやプログラムが更新されたときには、ファイルに含まれる複数のレコードをコンピュータ間で一致させるためのプログラムが一旦終了される。したがって、コンピュータやオペレーティング・システムの再起動時には、前記プログラムを再実行する必要がある。したがって、プログラムの再実行の際には、できるだけ迅速に初期化を完了させて、ファイルに含まれる複数のレコードをコンピュータ間で一致させる処理が再開されるようにしたい。
  本発明は、これらの課題を解決するもので、ファイルの末尾にレコードが追加される追加処理を行うサーバ装置が前記ファイルに含まれるレコードを収集装置に収集させるファイル管理システムにおいて、サーバ装置における計算負荷ならびにサーバ装置と収集装置との間の通信負荷を抑制するのに好適なファイル管理システム、ファイル管理方法、前記サーバ装置をコンピュータにより実現するための収集プログラム、ならびに、前記収集プログラムが記録された非一時的なコンピュータ読取可能な情報記録媒体を提供することを目的とする。
  本発明に係るファイル管理システムは、ファイルならびに前記ファイルに対するオフセットを非一時的に記録するサーバ装置と、収集システムと、を備え、
(a)前記サーバ装置は、編集プログラムを実行することにより、
  レコードを前記ファイルの末尾に追加する追加処理を含む編集処理により、前記ファイルを更新し、
(b)前記サーバ装置は、収集プログラムを実行することにより、
  前記ファイルに含まれるレコードを、前記ファイルに配置された順に読み出して、前記読み出されたレコードの先頭が前記ファイル内に配置されている位置と、前記読み出されたレコードと、を対応付けて収集システムに収集させ、前記非一時的に記録されるオフセットを、前記収集されたレコードの末尾が前記ファイル内に配置されている位置に更新し、
(c)前記サーバ装置は、前記収集プログラムの実行が開始されると、
  前記ファイルの先頭から前記非一時的に記録されたオフセットまでの間に配置されている冒頭レコードのいずれかが更新されたか否かを推定する推定し、
  前記冒頭レコードのいずれかが更新されたと推定されれば、前記収集部による前記ファイルからのレコードの読み出しを、前記ファイルの先頭から開始させ、前記冒頭レコードのいずれも更新されていないと推定されれば、前記収集部による前記ファイルからのレコードの読み出しを、前記非一時的に記録されたオフセットから開始させる。
  本発明によれば、ファイルの末尾にレコードが追加される追加処理を行うサーバ装置が前記ファイルに含まれるレコードを収集装置に収集させるファイル管理システムにおいて、サーバ装置における計算負荷ならびにサーバ装置と収集装置との間の通信負荷を抑制するのに好適なファイル管理システム、ファイル管理方法、前記サーバ装置をコンピュータにより実現するための収集プログラム、ならびに、前記収集プログラムが記録された非一時的なコンピュータ読取可能な情報記録媒体を提供することができる。
本発明の実施例に係るファイル管理システムの構成を示す説明図である。 本発明の実施例に係るファイル管理システムにおけるサーバ装置の構成を示す説明図である。 本発明の実施例に係るサーバ装置にて実行される更新処理の制御を示すフローチャートである。 本発明の実施例に係るサーバ装置にて実行される収集処理の制御を示すフローチャートである。 本発明の実施例に係る収集システムが有する収集装置にて実行される応答処理の制御を示すフローチャートである。
  以下に本発明の実施形態を説明する。なお、本実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
  図1は、本発明の実施例に係るファイル管理システムの構成を示す説明図である。以下、本図を参照して説明する。
  本実施例に係るファイル管理システム101は、サーバ装置111および収集システム121を備える。また、ファイル管理システム101は、省略可能な要素として、クライアント端末141を備えることができる。
  サーバ装置111は、ファイルの更新(編集)処理が行われるコンピュータである。たとえば、サーバ装置111がウェブサーバとして機能する場合に、当該ウェブサーバへアクセスするイベントが生じるごとに、サーバ装置111は、当該イベントを表すレコードを、ログファイルの末尾に追加する追加処理を実行する。
  当該ログファイルに基づいてアクセス解析を行う際に、サーバ装置111が担うウェブサーバ機能の性能低下を招くことがないように、本ファイル管理システム101では、当該ログファイルに含まれる各レコードを、収集システム121に収集させる。
  収集システム121は、1台以上の収集装置122からなる。各収集装置122は、サーバ装置111からの指示に基づいて、サーバ装置111にて管理されるファイルに含まれる各レコードを受け付けて、保存する収集処理を実行する。
  また、クライアント端末141は、ウェブサーバに対するアクセス解析を実際に担う。すなわち、クライアント端末141から収集システム121へ、クエリが送られると、当該クエリを満たすレコードが回答される。
  サーバ装置111、収集装置122、クライアント端末141は、各用途のために用意されたコンピュータが、各用途のために用意されたプログラムを実行することにより実現される。
  これらのプログラムは、ファイル管理システム101の運営者が管理する配布サーバ(図示せず。)から、コンピュータ通信網等の一時的(transitory)伝送媒体を介して、配布することができる。たとえば、サーバ装置111が担うウェブサーバ機能を利用して、プログラムを配布することが可能である。
  また、これらのプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ、半導体メモリ等のコンピュータ読み取り可能な非一時的(non-transitory)情報記録媒体に記録することができる。この情報記録媒体は、各コンピュータとは独立して配布・販売することもできる。
  配布されたプログラムは、ダウンロード先のコンピュータのフラッシュメモリやハードディスク等の非一時的(non-transitory)情報記録媒体に記録される。
  コンピュータのCPU(Central Processing Unit)は、非一時的に記録されたプログラムを一時的(temporary)記憶装置であるRAM(Random Access Memory)に読み出してから、プログラム内の指令を実行する。
  ただし、ROM(Read Only Memory)とRAMを一つのメモリ空間にマッピングして実行することが可能なアーキテクチャでは、ROMに格納されたプログラムに含まれる指令を、直接CPUが読み出して実行する。
  なお、コンピュータにより本実施形態の各機器を実現するのではなく、専用の電子回路を用いて構成することも可能である。この態様では、プログラムは、電子回路の配線図やタイミングチャート等を生成するための素材として機能する。このような態様では、プログラムに定められる仕様を満たすような電子回路が、FPGA(Field Programmable Gate Array)や、ASIC(Application Specific Integrated Circuit)等により構成される。前記電子回路は、前記プログラムに定められた機能を果たす専用機器として機能する。
  図2は、本発明の実施例に係るファイル管理システムにおけるサーバ装置の構成を示す説明図である。以下、本図を参照して説明する。
  本図に示すように、サーバ装置111は、更新部201、収集部202、推定部203、開始部204を備える。ここで、更新部201は、サーバ装置111を実現するためのコンピュータが編集プログラムを実行することにより実現され、収集部202、推定部203、開始部204は、当該コンピュータが収集プログラムを実行することにより実現される。
  更新部201は、レコードをファイルの末尾に追加する追加処理を含む編集処理により、ファイルを更新する。
  編集処理の対象となるファイルは、サーバ装置111が備えるハードディスクやフラッシュディスク等や、サーバ装置111に接続されたネットワークストレージ等の、非一時的な情報記録媒体に保存されている。
  たとえば、サーバ装置111がウェブサービスを提供しており、サーバ装置111へのアクセスの履歴をログファイルに記録する態様では、ログファイルの末尾に、各アクセスに関する情報を示すレコードが追加される。各レコードは、固定長(固定バイト数)でも良いし、任意長(可変バイト数)の行とし、行の末尾に付される改行文字を、各レコードの区切りとしても良い。
  更新部201は、ファイルに対する更新が専らファイル末尾への追記によって行われる編集処理を実行するものである。当該編集処理は、サーバ装置111が編集プログラムを実行することによって、自動的に実行されることとしても良いし、ユーザからの指示に応じて他律的に実行されることとしても良い。
  一方、収集部202は、更新部201によって編集処理がなされるファイルに含まれるレコードを、ファイルに配置された順に読み出して、読み出されたレコードの先頭がファイル内に配置されている位置と、読み出されたレコードと、を対応付けて収集システム121に収集させ、非一時的に記録されるオフセットを、収集されたレコードの末尾がファイル内に配置されている位置に更新する。
  収集部202が初めて処理を実行する際には、ファイルの先頭からレコードを順に読みだす。そして、レコードを読み出す毎に、当該読み出されたレコードを収集システム121にコピーする。
  なお、収集部202が、収集システム121にレコードを収集させる際には、当該レコードの先頭がファイル内に配置されている位置とともに記録させる。この処理によって、各レコードを、収集システム121内の複数の収集装置122のいずれかにコピーさせた場合であっても、複数の収集装置122に保存されたレコードを配置位置の順に並べて連結することにより、元のファイルを復元することが可能となる。
  収集部202が収集システム121に1つのレコードを収集させた後に、収集部202は、ファイルからレコードをどこまで読み出したか、すなわち、収集システム121に対するコピーがどこまで完了したかを表すオフセットを、非一時的な情報記録媒体に記録する。オフセットは、レコードが可変長の場合には、バイト単位で算定することとなるが、レコードが固定長の場合には、バイト単位としても良いし、レコード数単位としても良い。
  サーバ装置111に何ら故障やトラブルが発生せずに処理が順調に進められている間は、編集処理によってレコードがファイルに追加されると、収集処理によって当該追加されたレコードがファイルから読み出されて、読み出されたレコードは収集システム121にコピーされる。
  したがって、収集システム121により収集されたレコードを収集システム121内で、もしくは、クライアント端末141等が取得して、収集されたレコードに対応付けられた位置の順に連結することにより、元のファイルを復元することができることになる。
  収集部202によるレコードの読み出しは、たとえば、OS(Operating System)が用意するファイル更新のイベント検知機能を利用したり、ファイルへの編集処理内にて収集処理を呼び出すためのフラグを更新したり、シグナルや通知を発したりすることによって、当該レコードがファイルに追加されたことを検知して行うこととしても良い。
  このほか、収集部202が、間欠的(たとえば、サーバ装置111のアイドル時や低負荷時。以下同様。)もしくは定期的(たとえば、毎日の深夜等、ファイルの更新の頻度が下がると予想される時間帯。以下同様。)に、ファイルのサイズ等に変化があったか否かを監視し、変化がなければ、適当に定めた時間だけスリープして同じ処理を繰り返し、変化があれば、ファイルにレコードが追加されたものと判断して読み出しを行うこととしても良い。
  しかしながら、サーバ装置111に何らかの故障やトラブルが発生したり、各種のメンテナンスを実行したり、OSや各種アプリケーションプログラム、ライブラリプログラムのセキュリティアップデートがあった場合には、編集プログラムや収集プログラムを終了させて再度開始したり、サーバ装置111を実現するコンピュータ自体をリブートする必要が生じる。
  このように、収集プログラムが再度開始されるときに、推定部203は、ファイルの先頭から非一時的に記録されたオフセットまでの間に配置されている冒頭レコードのいずれかが更新されたか否かを推定する。
  上記のように、ファイルの先頭からオフセットまでの間に配置される冒頭レコードは、すでに収集システム121に対してコピーが終わっている。また、ファイルに対する編集処理は、ファイル末尾に対するレコード追加がほとんどである。したがって、冒頭レコードのいずれも更新されていなければ、収集システム121に対するコピーをやり直す必要はない。
  一方で、冒頭レコードのいずれかが更新されていることを完璧にチェックするためには、サーバ装置111と収集システム121との間で、コピー済みのレコードを対比する必要が生じる。しかしながら、このような対比には多大な通信時間ならびに計算時間を要する。
  そこで、本実施形態では、冒頭レコードのいずれかが更新されているか否かを、推定するにとどめて、通信時間ならびに計算時間の抑制を図り、収集プログラムの再開を迅速に行うこととする。なお、推定の手法については、後述する。
  さて、開始部204は、冒頭レコードのいずれかが更新されたと推定されれば、収集部202によるファイルからのレコードの読み出しを、ファイルの先頭から開始させ、冒頭レコードのいずれも更新されていないと推定されれば、収集部202によるファイルからのレコードの読み出しを、非一時的に記録されたオフセットから開始させる。すると、上記のように、収集部202は、読み出されたレコードを、読み出された順に、当該レコードが配置された位置とともに、収集システム121に収集させ、レコードの読み出しが終わった位置を表すオフセットを、非一時的に記録する。
  なお、収集プログラムの実行が開始される際のみならず、収集プログラムの実行が続いている間も、推定部203が、定期的もしくは間欠的に上記と同様の推定を行うこととしても良い。行われた推定の結果、冒頭レコードのいずれかが更新されたと推定されれば、収集部202がファイルからのレコードの読み出しを、ファイルの先頭からやり直し、収集システム121に対するレコードのコピーを最初からやり直す。
  (推定の手法)
  以下では、推定部203による推定の種々の手法について説明する。
  第1の手法は、冒頭レコードのいずれかをランダムあるいは所定の規則にしたがって取得し、当該レコードについてのみ、変更があったか否かを調べる、というものである。
  すなわち、収集部202は、後々の推定部203による推定で参照するため、ファイルの先頭と非一時的に記録されたオフセットとの間の抽出位置を取得する。上記のように、抽出位置は、ランダムに定めても良いし、所定の規則にしたがって取得しても良い。
  ランダムに抽出位置を定める例としては、ファイルの先頭からオフセットまでの一様乱数を発生させ、あるいは、オフセットからファイルの先頭に向かって減衰する確率分布の乱数を発生させて、当該乱数により抽出位置を定める等である。特に後者は、ファイル末尾への書き込みが競合しやすい環境において好適である。減衰は、指数的に減衰させても良いし、線形に減衰させても良いし、逆数で減衰させても良い。
  また、ユーザが手動でファイルを編集する可能性がある環境では、ファイルの先頭からオフセットに向かって減衰する確率分布の乱数を発生させて、当該乱数により抽出位置を定めることとしても良い。
  所定の規則にしたがって抽出位置を定める例としては、たとえば、オフセットに対して0以上1未満の定数を乗じて得られる整数を抽出位置とする、等である。
  ついで、収集部202は、ファイルから取得された抽出位置に配置されたデータを読み出し、読み出されたデータのハッシュ値を計算して、取得された抽出位置および計算されたハッシュ値を非一時的に、ハードディスク、フラッシュディスクや、サーバ装置111に接続されたネットワークストレージ等に記録する。
  抽出位置の取得、データの読み出し、ハッシュ値の計算ならびに抽出位置とハッシュ値の非一時的な記録を行うタイミングは、サーバ装置111の用途等に応じて適宜定めることができる。たとえば、新たなレコードがファイルに追加されたとき、サーバ装置111の計算負荷が閾値以下となったとき、あらかじめ予定されたスケジュールに定められた時点に至ったとき等を採用することができる。
  さて、収集プログラムが開始されると、開始部204は、非一時的に記録された抽出位置を取得し、ファイルから取得された抽出位置に配置されたデータを読み出し、読み出されたデータのハッシュ値を計算する。これらの処理は、開始部204が推定部203に指示を出すことによって実行するのが典型的である。
  ファイルに対する更新が、レコード追加のみであれば、当該ハッシュ値は、非一時的に記録されたハッシュ値と一致するはずである。そこで、推定部203は、計算されたハッシュ値が、非一時的に記録されたハッシュ値と等しければ、冒頭レコードのいずれも更新されていないと推定する。
  第2の手法は、抽出位置をランダムに決めるのではなく、オフセットに応じて定めるものである。したがって、オフセットが更新されるごとに、抽出位置も変化し、ハッシュ値も更新されることになる。以下、第1の手法との差異に焦点を当てつつ、説明する。
  すなわち、収集部202は、非一時的に記録されたオフセットに一意に対応付けられる抽出位置を取得し、ファイルから取得された抽出位置に配置されたデータを読み出し、読み出されたデータのハッシュ値を計算して、計算されたハッシュ値を非一時的に記録する。
  このように、本態様では、オフセットに応じて抽出位置が一意に定められるため、抽出位置を非一時的に記録することはしない。そのかわり、オフセットの非一時的な記録と、ハッシュ値の計算ならびに非一時的な記録と、は、ほぼ同時に、不可分に実施することが望ましい。すなわち、抽出位置の取得、データの読み出し、ハッシュ値の計算ならびに抽出位置とハッシュ値の非一時的な記録を行うタイミングは、オフセットを非一時的に記録するタイミングとすることが望ましい。
  一方、収集プログラムが開始されると、開始部204は、第1の手法と同様に、非一時的に記録されたオフセットに一意に対応付けられる抽出位置を取得し、ファイルから取得された抽出位置に配置されたデータを読み出し、読み出されたデータのハッシュ値を計算して、計算されたハッシュ値が、非一時的に記録されたハッシュ値と等しければ、推定部203は、冒頭レコードのいずれも更新されていないと推定する。
  第2の手法では、抽出位置をオフセットから一意に定めるため、抽出位置の非一時的な記録はしない。この点以外は、第1の手法と同様の処理を実行することができる。
  第3の手法は、第2の手法において、抽出位置を、ファイルの先頭に配置された先頭レコードに固定するものである。すなわち、収集部202によりファイルの先頭に配置された先頭レコードが読み出され、先頭レコードが収集システム121に収集されると、収集部202は、先頭レコードのハッシュ値を計算して、計算されたハッシュ値を非一時的に記録する。
  一方、開始部204は、ファイルの先頭に配置された先頭レコードのハッシュ値を計算して、計算されたハッシュ値が、非一時的に記録されたハッシュ値と等しければ、推定部203は、冒頭レコードのいずれも更新されていないと推定する。
  これらの手法において、ハッシュ値の計算の対象となるレコードの数は、1とするのが最も単純であるが、ハードディスク等のセクタサイズやファイル入出力のバッファのサイズから、1つのレコードを読み出そうとしても実質的に複数のレコードが読み出されるような状況では、1回の読み出しで読み出されたレコードのうち、オフセット以前に配置されたレコードすべてを、ハッシュ値の計算の際に参照することとしても良い。
  (サーバ装置における編集プログラムの動作)
  以下では、サーバ装置111において実行される収集プログラムの制御の流れについて説明する。図3は、本発明の実施例に係るサーバ装置にて実行される更新処理の制御を示すフローチャートである。以下、本図を参照して説明する。
  本実施例における編集プログラムは、サーバ装置111にて発生した各種のイベント、たとえば、サーバ装置111へのアクセスの記録を、ファイルに追記する処理を行う。すなわち、編集プログラムの実行を開始したサーバ装置111は、監視対象となっているイベントが発生するまで待機する(ステップS301)。
  イベントが発生したら、サーバ装置111は、ファイルをオープン(open)し(ステップS302)、ファイルの末尾(最後)までシーク(seek)する(ステップS303)。
  その後、サーバ装置111は、イベントの詳細を示したレコードを、ファイルに書き込み(ステップS304)、ファイルをクローズ(close)してから(ステップS305)、処理をステップS301に戻す。
  このように処理を繰り返すことによって、ファイルの末尾にレコードが追記されることになる。
  なお、上記の例では、イベントが発生するごとに、ファイルのオープンとクローズを実行している。しかしながら、編集プログラムの開始時にファイルをオープンしてしまい、その後はファイルをオープンしたままとしても良い。この態様では、ファイルに対するレコードの書き込みのフラッシュ(flush)を、適宜実行することが望ましい。
  また、ステップS302-S305にて実行される処理をシステムコールなどで提供すれば、処理がアトミックに実行されるため、複数のプログラムによる末尾への書き込みが競合してファイルが壊れてしまう事態を防止することができる。
  (サーバ装置における収集プログラムの動作)
  以下では、サーバ装置111において実行される収集プログラムの制御の流れについて説明する。図4は、本発明の実施例に係るサーバ装置にて実行される収集処理の制御を示すフローチャートである。以下、本図を参照して説明する。なお、収集プログラムと、上記の編集プログラムと、は、サーバ装置111において、並行して実行される。
  収集プログラムの実行を開始したサーバ装置111は、まず、非一時的な情報記録媒体から、ファイルに対応付けられるオフセットの読み出しを試みる(ステップS401)。
  読み出しに失敗した場合(ステップS401;失敗)、サーバ装置111は、オフセットに0(ファイルの先頭)を設定してから(ステップS402)、制御をステップS403に進める。
  一方、読み出しに成功した場合(ステップS401;成功)、サーバ装置111は、制御をステップS403に進める。
  次に、サーバ装置111は、ファイルの先頭から、取得されたオフセットまでの間に配置される冒頭レコードが更新されたか否かを推定する(ステップS403)。当該推定については、上記の3種類の手法のいずれかを採用することができる。
  更新されたと推定された場合(ステップS403;Yes)、サーバ装置111は、オフセットを0に設定してから(ステップS404)、制御をステップS405に進める。
  一方、更新されていないと推定された場合(ステップS403;No)、サーバ装置111は、制御をステップS405に進める。
  そして、サーバ装置111は、ファイルを設定されたオフセットまでシークして(ステップS405)、ファイルの末尾に達したか否かを調べる(ステップS406)。
  ファイルの末尾に達していなければ(ステップS406;No)、ファイルからレコードを読み出し(ステップS407)、読み出されたレコードをオフセットに対応付けて収集するよう、収集システム121に指示する(ステップS408)。収集システム121から、当該レコードを当該オフセットに対応付けて蓄積した旨の報告を受け取るまで待機する(ステップS409)。
  当該オフセットに係る報告を受け取ったら、サーバ装置111は、オフセットをファイルの現在位置に更新して(ステップS410)、更新されたオフセットを非一時的な記録媒体に記録し(ステップS411)、制御をステップS406に戻す。なお、報告が所定時間受け取れず、タイムアウトとなった場合には、当該レコードに対する再送を試みても良いし、制御をステップS401に戻すこととしても良い(図示せず)。
  一方、ファイルの末尾に達していれば(ステップS406;Yes)、ファイルのサイズが変化するまで待機して(ステップS412)、制御をステップS406に戻す。なお、待機時間が所定の閾値を超えた場合には、ステップS406ではなく、ステップS401に制御を戻すこととして、冒頭レコードの改変が生じていないか、再度チェックすることとしても良い。
  このように、本実施形態では、収集プログラムによるレコードの収集が進むごとに、オフセットを更新して記録するため、サーバ装置111がシャットダウンされたり、収集プログラムの実行が強制終了されたり等、上記の制御の流れから外れることとなった場合であっても、サーバ装置111が再起動したり収集プログラムが再度実行されたりした後には、すでに収集済みのレコードをスキップすることができる。また、冒頭レコードからのサンプリングによって、収集済みのレコードの改変の可能性を短時間で推定することができる。したがって、サーバ装置111は、迅速に収集を再開することが可能となる。
  (収集システム)
  以下では、収集システム121の態様について説明する。以下、図1を参照して説明する。
  本図に示すように、収集システム121は、1つ又は複数の収集装置122を備える。本図では、複数の収集装置122からなる収集システム121を図示しているが、収集システム121は、1つの収集装置122からなることとしても良い。収集システム121による外部の機器からの指示の受け付けは、各収集装置122が指示を受け付けることによって実現され、各収集装置122は、受け付けた指示に対する応答を、当該外部の機器へ適宜返す。
  各収集装置122が応答プログラムを実行することにより、収集システム121が実現される。図5は、本発明の実施例に係る収集システムが有する収集装置にて実行される応答処理の制御を示すフローチャートである。以下、本図を参照して説明する。
  応答プログラムの実行を開始した収集装置122は、外部の機器からの指示が到着するのを待機する(ステップS601)。
  到着した指示が、サーバ装置111からの収集指示であれば(ステップS601;収集)、収集装置122は、収集指示に指定されたオフセットに基づいて、自身が蓄積を担当するか否かを判定する(ステップS602)。
  ここで、N台の収集装置122が使用されている場合を考える。この場合では、あらかじめ、管理者が0, 1, 2, ..., N-1の番号を各収集装置122に重複なく割り当てておく。そして、各収集装置122は、オフセットをNで除算した余りが、自身に割り当てられた番号と一致したときに、自身が蓄積を担当する、と判定する。
  なお、レコードのサイズが一定である場合には、オフセットを当該サイズで除算してから、Nで除算して余りを求めることとしても良い。
  また、1つのレコードの蓄積を、M台の収集装置122が担当することとしても良い。たとえば、自身に割り当てられた番号にオフセット(もしくはオフセットを固定長レコードのサイズで除算した値)を加算した値をNで除算した余りが、0, 1, ..., M-1のいずれかであれば、自身が蓄積を担当する、と判定すれば良い。
  さて、蓄積を自身が担当する、と判定した場合(ステップS602;Yes)、収集装置122は、収集指示に指定されたオフセットに対応付けて、収集指示に指定されたレコードを蓄積する(ステップS603)。最も単純には、レコードを蓄積するためのファイル名として、当該オフセットを利用することができる。また、レコードの内容を所定のフォーマットに応じて解釈して、その結果得られた複数のフィールド値とオフセットとを対応付けてデータベースに格納することとしても良い。
  そして、収集装置122は、指示に指定されたオフセットに対応付けられるレコードを蓄積した旨を、サーバ装置111に報告して(ステップS604)、制御をステップS601に戻す。
  一方、自身が蓄積を担当しないと判定された場合(ステップS602;No)、収集装置122は、制御をステップS601に戻す。
  さて、外部の機器から到着した指示が、クライアント端末141からのクエリであった場合(ステップS601;クエリ)、収集装置122は、自身に蓄積されたレコードからクエリを満たすレコードを抽出する(ステップS605)。
  そして、抽出されたレコードがあれば(ステップS605;あり)、収集装置122は、当該レコードをクライアント端末141に回答して(ステップS606)、制御をステップS601に戻す。一方、レコードが抽出されなければ(ステップS605;なし)、収集装置122は、制御をステップS601に戻す。
  なお、抽出されたレコードとともに、当該レコードに対するオフセットを回答することとしても良い。この態様では、クライアント端末141から、全レコードを取得するためのクエリを発すると、各収集装置122は、自身が蓄積するレコードおよびそのオフセットを回答する。クライアント端末141が回答されたレコードをオフセットの順に並べて連結すれば、サーバ装置111におけるファイル全体を復元することができる。
  さて、指示がその他のものであれば(ステップS601;その他)、収集装置122は、対応する処理を実行して(ステップS607)、制御をステップS601に戻す。
  (まとめ)
  以上説明した通り、本実施形態に係るファイル管理システムは、ファイルならびに前記ファイルに対するオフセットを非一時的に記録するサーバ装置と、収集システムと、を備え、
(a)前記サーバ装置は、編集プログラムを実行することにより、
  レコードを前記ファイルの末尾に追加する追加処理を含む編集処理により、前記ファイルを更新する更新部
  として機能し、
(b)前記サーバ装置は、収集プログラムを実行することにより、
  前記ファイルに含まれるレコードを、前記ファイルに配置された順に読み出して、前記読み出されたレコードの先頭が前記ファイル内に配置されている位置と、前記読み出されたレコードと、を対応付けて収集システムに収集させ、前記非一時的に記録されるオフセットを、前記収集されたレコードの末尾が前記ファイル内に配置されている位置に更新する収集部
  として機能し、
(c)前記サーバ装置は、前記収集プログラムの実行が開始されると、
  前記ファイルの先頭から前記非一時的に記録されたオフセットまでの間に配置されている冒頭レコードのいずれかが更新されたか否かを推定する推定部、
  前記冒頭レコードのいずれかが更新されたと推定されれば、前記収集部による前記ファイルからのレコードの読み出しを、前記ファイルの先頭から開始させ、前記冒頭レコードのいずれも更新されていないと推定されれば、前記収集部による前記ファイルからのレコードの読み出しを、前記非一時的に記録されたオフセットから開始させる開始部
  として機能する。
  また、本実施形態に係るファイル管理システムにおいて、
  前記収集部は、前記ファイルの先頭と前記非一時的に記録されたオフセットとの間の抽出位置を取得し、前記ファイルから前記取得された抽出位置に配置されたデータを読み出し、前記読み出されたデータのハッシュ値を計算して、前記取得された抽出位置および前記計算されたハッシュ値を非一時的に記録し、
  前記開始部は、前記非一時的に記録された抽出位置を取得し、前記ファイルから前記取得された抽出位置に配置されたデータを読み出し、前記読み出されたデータのハッシュ値を計算して、前記計算されたハッシュ値が、前記非一時的に記録されたハッシュ値と等しければ、前記推定部は、前記冒頭レコードのいずれも更新されていないと推定する
  ように構成することができる。
  また、本実施形態に係るファイル管理システムにおいて、
  前記収集部は、前記抽出位置を、前記ファイルの先頭と前記非一時的に記録されたオフセットとの間でランダムに定める
  ように構成することができる。
  また、本実施形態に係るファイル管理システムにおいて、
  前記抽出位置は、前記ファイルの先頭と、前記非一時的に記録されたオフセットと、の、一方から他方へ向かって減衰する確率分布を有する乱数により、ランダムに定められる
  ように構成することができる。
  また、本実施形態に係るファイル管理システムにおいて、
  前記収集部は、前記非一時的に記録されたオフセットに一意に対応付けられる抽出位置を取得し、前記ファイルから前記取得された抽出位置に配置されたデータを読み出し、前記読み出されたデータのハッシュ値を計算して、前記計算されたハッシュ値を非一時的に記録し、
  前記開始部は、前記非一時的に記録されたオフセットに一意に対応付けられる抽出位置を取得し、前記ファイルから前記取得された抽出位置に配置されたデータを読み出し、前記読み出されたデータのハッシュ値を計算して、前記計算されたハッシュ値が、前記非一時的に記録されたハッシュ値と等しければ、前記冒頭レコードのいずれも更新されていないと推定する
  ように構成することができる。
  また、本実施形態に係るファイル管理システムにおいて、
  前記収集部により前記ファイルの先頭に配置された先頭レコードが読み出され、前記先頭レコードが前記収集システムに収集されると、前記収集部は、前記先頭レコードのハッシュ値を計算して、前記計算されたハッシュ値を非一時的に記録し、
  前記開始部は、前記ファイルの先頭に配置された先頭レコードのハッシュ値を計算して、前記計算されたハッシュ値が、前記非一時的に記録されたハッシュ値と等しければ、前記冒頭レコードのいずれも更新されていないと推定する
  ように構成することができる。
  また、本実施形態に係るファイル管理システムにおいて、
  前記収集プログラムの実行が開始された後は、前記推定部による推定が、定期的もしくは間欠的に行われ、
  前記定期的もしくは間欠的に行われた推定により、前記冒頭レコードのいずれかが更新されたと推定されれば、前記収集部は、前記収集部による前記ファイルからのレコードの読み出しを、前記ファイルの先頭からやり直す
  ように構成することができる。
  また、本実施形態に係るファイル管理システムにおいて、
  前記収集システムにより収集されたレコードを、前記収集されたレコードに対応付けられた位置の順に連結することにより、前記ファイルが復元される
  ように構成することができる。
  また、本実施形態に係るファイル管理システムにおいて、
  前記収集システムは、複数の収集装置を備え、
  前記収集システムに収集されるレコードのそれぞれは、前記それぞれのレコードに対応付けられる位置とともに、前記複数の収集装置のいずれかに蓄積され、
  前記収集システムがクライアント端末からクエリを受け付けると、前記複数の収集装置のそれぞれは、前記それぞれの収集装置に蓄積されたレコードから前記クエリを満たすレコードを抽出して、前記抽出されたレコードを前記クライアント端末に回答する
  ように構成することができる。
  本実施形態に係るファイル管理方法は、
  ファイルならびに前記ファイルに対するオフセットを非一時的に記録するサーバ装置と、収集システムと、が実行し、
(a)前記サーバ装置は、編集プログラムを実行することにより、
  レコードを前記ファイルの末尾に追加する追加処理を含む編集処理により、前記ファイルを更新し、
(b)前記サーバ装置は、収集プログラムを実行することにより、
  前記ファイルに含まれるレコードを、前記ファイルに配置された順に読み出して、前記読み出されたレコードの先頭が前記ファイル内に配置されている位置と、前記読み出されたレコードと、を対応付けて収集システムに収集させ、前記非一時的に記録されるオフセットを、前記収集されたレコードの末尾が前記ファイル内に配置されている位置に更新し、
(c)前記サーバ装置は、前記収集プログラムの実行が開始されると、
  前記ファイルの先頭から前記非一時的に記録されたオフセットまでの間に配置されている冒頭レコードのいずれかが更新されたか否かを推定し、
  前記冒頭レコードのいずれかが更新されたと推定されれば、前記ファイルからのレコードの読み出しを、前記ファイルの先頭から開始させ、前記冒頭レコードのいずれも更新されていないと推定されれば、前記ファイルからのレコードの読み出しを、前記非一時的に記録されたオフセットから開始させる。
  本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
  本発明によれば、ファイルの末尾にレコードが追加される追加処理を行うサーバ装置がファイルに含まれるレコードを収集装置に収集させるファイル管理システムにおいて、サーバ装置における計算負荷ならびにサーバ装置と収集装置との間の通信負荷を抑制するのに好適なファイル管理システム、ファイル管理方法、サーバ装置をコンピュータにより実現するための収集プログラム、ならびに、収集プログラムが記録された非一時的なコンピュータ読取可能な情報記録媒体を提供することができる。
  101 ファイル管理システム
  111 サーバ装置
  121 収集システム
  122 収集装置
  141 クライアント端末
  201 更新部
  202 収集部
  203 推定部
  204 開始部

Claims (12)

  1.   ファイルならびに前記ファイルに対するオフセットを非一時的に記録するサーバ装置と、収集システムと、を備えるファイル管理システムであって、
    (a)前記サーバ装置は、編集プログラムを実行することにより、
      レコードを前記ファイルの末尾に追加する追加処理を含む編集処理により、前記ファイルを更新する更新部
      として機能し、
    (b)前記サーバ装置は、収集プログラムを実行することにより、
      前記ファイルに含まれるレコードを、前記ファイルに配置された順に読み出して、前記読み出されたレコードの先頭が前記ファイル内に配置されている位置と、前記読み出されたレコードと、を対応付けて収集システムに収集させ、前記非一時的に記録されるオフセットを、前記収集されたレコードの末尾が前記ファイル内に配置されている位置に更新する収集部
      として機能し、
    (c)前記サーバ装置は、前記収集プログラムの実行が開始されると、
      前記ファイルの先頭から前記非一時的に記録されたオフセットまでの間に配置されている冒頭レコードのいずれかが更新されたか否かを推定する推定部、
      前記冒頭レコードのいずれかが更新されたと推定されれば、前記収集部による前記ファイルからのレコードの読み出しを、前記ファイルの先頭から開始させ、前記冒頭レコードのいずれも更新されていないと推定されれば、前記収集部による前記ファイルからのレコードの読み出しを、前記非一時的に記録されたオフセットから開始させる開始部
      として機能する
      ことを特徴とするファイル管理システム。
  2.   前記収集部は、前記ファイルの先頭と前記非一時的に記録されたオフセットとの間の抽出位置を取得し、前記ファイルから前記取得された抽出位置に配置されたデータを読み出し、前記読み出されたデータのハッシュ値を計算して、前記取得された抽出位置および前記計算されたハッシュ値を非一時的に記録し、
      前記開始部は、前記非一時的に記録された抽出位置を取得し、前記ファイルから前記取得された抽出位置に配置されたデータを読み出し、前記読み出されたデータのハッシュ値を計算して、前記計算されたハッシュ値が、前記非一時的に記録されたハッシュ値と等しければ、前記推定部は、前記冒頭レコードのいずれも更新されていないと推定する
      ことを特徴とする請求項1に記載のファイル管理システム。
  3.   前記収集部は、前記抽出位置を、前記ファイルの先頭と前記非一時的に記録されたオフセットとの間でランダムに定める
      ことを特徴とする請求項2に記載のファイル管理システム。
  4.   前記抽出位置は、前記ファイルの先頭と、前記非一時的に記録されたオフセットと、の、一方から他方へ向かって減衰する確率分布を有する乱数により、ランダムに定められる
      ことを特徴とする請求項3に記載のファイル管理システム。
  5.   前記収集部は、前記非一時的に記録されたオフセットに一意に対応付けられる抽出位置を取得し、前記ファイルから前記取得された抽出位置に配置されたデータを読み出し、前記読み出されたデータのハッシュ値を計算して、前記計算されたハッシュ値を非一時的に記録し、
      前記開始部は、前記非一時的に記録されたオフセットに一意に対応付けられる抽出位置を取得し、前記ファイルから前記取得された抽出位置に配置されたデータを読み出し、前記読み出されたデータのハッシュ値を計算して、前記計算されたハッシュ値が、前記非一時的に記録されたハッシュ値と等しければ、前記冒頭レコードのいずれも更新されていないと推定する
      ことを特徴とする請求項1に記載のファイル管理システム。
  6.   前記収集部により前記ファイルの先頭に配置された先頭レコードが読み出され、前記先頭レコードが前記収集システムに収集されると、前記収集部は、前記先頭レコードのハッシュ値を計算して、前記計算されたハッシュ値を非一時的に記録し、
      前記開始部は、前記ファイルの先頭に配置された先頭レコードのハッシュ値を計算して、前記計算されたハッシュ値が、前記非一時的に記録されたハッシュ値と等しければ、前記冒頭レコードのいずれも更新されていないと推定する
      ことを特徴とする請求項1に記載のファイル管理システム。
  7.   前記収集プログラムの実行が開始された後は、前記推定部による推定が、定期的もしくは間欠的に行われ、
      前記定期的もしくは間欠的に行われた推定により、前記冒頭レコードのいずれかが更新されたと推定されれば、前記収集部は、前記収集部による前記ファイルからのレコードの読み出しを、前記ファイルの先頭からやり直す
      ことを特徴とする請求項1に記載のファイル管理システム。
  8.   前記収集システムにより収集されたレコードを、前記収集されたレコードに対応付けられた位置の順に連結することにより、前記ファイルが復元される
      ことを特徴とする請求項1に記載のファイル管理システム。
  9.   前記収集システムは、複数の収集装置を備え、
      前記収集システムに収集されるレコードのそれぞれは、前記それぞれのレコードに対応付けられる位置とともに、前記複数の収集装置のいずれかに蓄積され、
      前記収集システムがクライアント端末からクエリを受け付けると、前記複数の収集装置のそれぞれは、前記それぞれの収集装置に蓄積されたレコードから前記クエリを満たすレコードを抽出して、前記抽出されたレコードを前記クライアント端末に回答する
      ことを特徴とする請求項1に記載のファイル管理システム。
  10.   ファイルならびに前記ファイルに対するオフセットを非一時的に記録するサーバ装置と、収集システムと、が実行するファイル管理方法であって、
    (a)前記サーバ装置は、編集プログラムを実行することにより、
      レコードを前記ファイルの末尾に追加する追加処理を含む編集処理により、前記ファイルを更新し、
    (b)前記サーバ装置は、収集プログラムを実行することにより、
      前記ファイルに含まれるレコードを、前記ファイルに配置された順に読み出して、前記読み出されたレコードの先頭が前記ファイル内に配置されている位置と、前記読み出されたレコードと、を対応付けて収集システムに収集させ、前記非一時的に記録されるオフセットを、前記収集されたレコードの末尾が前記ファイル内に配置されている位置に更新し、
    (c)前記サーバ装置は、前記収集プログラムの実行が開始されると、
      前記ファイルの先頭から前記非一時的に記録されたオフセットまでの間に配置されている冒頭レコードのいずれかが更新されたか否かを推定し、
      前記冒頭レコードのいずれかが更新されたと推定されれば、前記ファイルからのレコードの読み出しを、前記ファイルの先頭から開始させ、前記冒頭レコードのいずれも更新されていないと推定されれば、前記ファイルからのレコードの読み出しを、前記非一時的に記録されたオフセットから開始させる
      ことを特徴とするファイル管理方法。
  11.   請求項1に記載されたファイル管理システムにおける収集プログラム。
  12.   請求項10に記載の収集プログラムが記録された非一時的なコンピュータ読取可能な情報記録媒体。
PCT/JP2016/058527 2016-03-17 2016-03-17 ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体 WO2017158794A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/085,435 US11169962B2 (en) 2016-03-17 2016-03-17 File management system, file management method, collection program, and non-transitory computer-readable information recording medium
PCT/JP2016/058527 WO2017158794A1 (ja) 2016-03-17 2016-03-17 ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
JP2018505166A JP6437691B2 (ja) 2016-03-17 2016-03-17 ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/058527 WO2017158794A1 (ja) 2016-03-17 2016-03-17 ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体

Publications (1)

Publication Number Publication Date
WO2017158794A1 true WO2017158794A1 (ja) 2017-09-21

Family

ID=59850629

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/058527 WO2017158794A1 (ja) 2016-03-17 2016-03-17 ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体

Country Status (3)

Country Link
US (1) US11169962B2 (ja)
JP (1) JP6437691B2 (ja)
WO (1) WO2017158794A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002328823A (ja) * 2001-04-27 2002-11-15 Toshiba Corp 非共有型パラレルデータベースサーバシステム、このシステムにおけるデータ書き込み方法及び一致化処理方法
JP2010257330A (ja) * 2009-04-27 2010-11-11 Nec System Technologies Ltd ログファイル管理システム、ログファイル管理方法及びプログラム
JP2012198832A (ja) * 2011-03-23 2012-10-18 Nec Corp 重複ファイル検出装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3856855B2 (ja) * 1995-10-06 2006-12-13 三菱電機株式会社 差分バックアップ方式
JPH1063555A (ja) * 1996-08-19 1998-03-06 Hitachi Ltd ファイル管理方法
DE69719934T2 (de) * 1996-12-20 2003-11-27 Ibm Verfahren und Vorrichtung zur schnellen und sicheren Datensammlung
US6604236B1 (en) * 1998-06-30 2003-08-05 Iora, Ltd. System and method for generating file updates for files stored on read-only media
US6339795B1 (en) * 1998-09-24 2002-01-15 Egrabber, Inc. Automatic transfer of address/schedule/program data between disparate data hosts
US7890469B1 (en) * 2002-12-30 2011-02-15 Symantec Operating Corporation File change log
US7277905B2 (en) * 2004-03-31 2007-10-02 Microsoft Corporation System and method for a consistency check of a database backup
US8601225B2 (en) * 2005-09-16 2013-12-03 Inmage Systems, Inc. Time ordered view of backup data on behalf of a host
US8032009B2 (en) * 2006-03-27 2011-10-04 Seiko Epson Corporation Backup management apparatus
US8380944B2 (en) * 2007-03-01 2013-02-19 Douglas Dumitru Fast block device and methodology
US8135676B1 (en) * 2008-04-28 2012-03-13 Netapp, Inc. Method and system for managing data in storage systems
US9449007B1 (en) * 2010-06-29 2016-09-20 Emc Corporation Controlling access to XAM metadata
US8666944B2 (en) * 2010-09-29 2014-03-04 Symantec Corporation Method and system of performing a granular restore of a database from a differential backup
US9020987B1 (en) * 2011-06-29 2015-04-28 Emc Corporation Managing updating of metadata of file systems
US8694458B2 (en) * 2011-12-21 2014-04-08 Teradata Us, Inc. Making estimations or predictions about databases based on data trends
US9218375B2 (en) * 2012-06-13 2015-12-22 Commvault Systems, Inc. Dedicated client-side signature generator in a networked storage system
KR101403305B1 (ko) * 2012-08-23 2014-06-05 한국전자통신연구원 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
US9460177B1 (en) * 2012-09-25 2016-10-04 Emc Corporation Managing updating of metadata of file systems
JP6042692B2 (ja) 2012-10-18 2016-12-14 株式会社日立システムズ 分割ファイルバックアップシステム
US9256622B2 (en) * 2012-12-21 2016-02-09 Commvault Systems, Inc. Systems and methods to confirm replication data accuracy for data backup in data storage systems
US9311333B1 (en) * 2012-12-28 2016-04-12 Emc Corporation Managing files of file systems
US9442955B1 (en) * 2012-12-28 2016-09-13 Emc Corporation Managing delete operations in files of file systems
US9633022B2 (en) * 2012-12-28 2017-04-25 Commvault Systems, Inc. Backup and restoration for a deduplicated file system
US9171002B1 (en) * 2012-12-30 2015-10-27 Emc Corporation File based incremental block backup from user mode
US10514985B1 (en) * 2013-09-30 2019-12-24 EMC IP Holding Company LLC Summary file change log for faster forever incremental backup
US9785510B1 (en) * 2014-05-09 2017-10-10 Amazon Technologies, Inc. Variable data replication for storage implementing data backup
US10380141B1 (en) * 2014-09-30 2019-08-13 Acronis International Gmbh Fast incremental backup method and system
US10776209B2 (en) * 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US10108687B2 (en) * 2015-01-21 2018-10-23 Commvault Systems, Inc. Database protection using block-level mapping
US10567500B1 (en) * 2015-12-21 2020-02-18 Amazon Technologies, Inc. Continuous backup of data in a distributed data store
JP6841024B2 (ja) * 2016-12-09 2021-03-10 富士通株式会社 データ処理装置,データ処理プログラムおよびデータ処理方法
US10250446B2 (en) * 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002328823A (ja) * 2001-04-27 2002-11-15 Toshiba Corp 非共有型パラレルデータベースサーバシステム、このシステムにおけるデータ書き込み方法及び一致化処理方法
JP2010257330A (ja) * 2009-04-27 2010-11-11 Nec System Technologies Ltd ログファイル管理システム、ログファイル管理方法及びプログラム
JP2012198832A (ja) * 2011-03-23 2012-10-18 Nec Corp 重複ファイル検出装置

Also Published As

Publication number Publication date
US11169962B2 (en) 2021-11-09
US20190114286A1 (en) 2019-04-18
JP6437691B2 (ja) 2018-12-12
JPWO2017158794A1 (ja) 2018-12-06

Similar Documents

Publication Publication Date Title
US9547560B1 (en) Amortized snapshots
US11397538B2 (en) Data migration method and apparatus
US8396840B1 (en) System and method for targeted consistency improvement in a distributed storage system
US9996423B2 (en) Point in time snapshots using copy on predicted write
US11227635B2 (en) Recording device, readout device, recording method, recording program, readout method, readout program, and magnetic tape
US8468134B1 (en) System and method for measuring consistency within a distributed storage system
US11755416B2 (en) Storage tiering for backup data
US9569313B1 (en) Method and apparatus for optimizing a backup chain using synthetic backups
CN110222020B (zh) 日志文件管理方法、装置、计算机设备及存储介质
JP7215971B2 (ja) 記憶機器のデータ位置の処理方法及び処理装置、コンピュータ機器並びにコンピュータ読み取り可能な記憶媒体
WO2017087015A1 (en) Count of metadata operations
CN112256649A (zh) 一种医学文件的存储方法及装置
JP6437691B2 (ja) ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
CN109783274B (zh) 一种磁盘快照的管理方法、装置以及可读存储介质
CN114036121A (zh) 一种日志文件处理方法、装置、系统、设备及存储介质
CN113535482B (zh) 云备份链数据备份方法及装置、设备、可读介质
JP5494817B2 (ja) ストレージシステム、データ管理装置、方法及びプログラム
CN108459927A (zh) 一种数据备份方法、装置和服务器
CN110866068B (zh) 一种基于hdfs的公告数据存储方法及其装置
US20080008443A1 (en) Data management system and method
JP6508202B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN117194350B (zh) 一种数据中心工程建设阶段文档存储方法及系统
CN113127056B (zh) 一种信息处理方法、装置、设备及可读存储介质
JP7475086B1 (ja) 編集方法、編集装置及びプログラム
WO2022042514A1 (zh) 元数据同步的方法和装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2018505166

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16894412

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16894412

Country of ref document: EP

Kind code of ref document: A1