[go: up one dir, main page]

WO2024089766A1 - データ複製装置、データ複製システム、データ複製方法、及びデータ複製プログラム - Google Patents

データ複製装置、データ複製システム、データ複製方法、及びデータ複製プログラム Download PDF

Info

Publication number
WO2024089766A1
WO2024089766A1 PCT/JP2022/039724 JP2022039724W WO2024089766A1 WO 2024089766 A1 WO2024089766 A1 WO 2024089766A1 JP 2022039724 W JP2022039724 W JP 2022039724W WO 2024089766 A1 WO2024089766 A1 WO 2024089766A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
storage unit
data
immediate
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2022/039724
Other languages
English (en)
French (fr)
Inventor
卓也 中村
毅 大黒
和幸 高屋
圭 大村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to PCT/JP2022/039724 priority Critical patent/WO2024089766A1/ja
Priority to JP2024552552A priority patent/JPWO2024089766A1/ja
Publication of WO2024089766A1 publication Critical patent/WO2024089766A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/174Redundancy elimination performed by the file system

Definitions

  • the present invention relates to a data duplication device, a data duplication system, a data duplication method, and a data duplication program.
  • Non-Patent Document 1 discloses that a destination server (hereafter referred to as the "destination server”) synchronizes with the original data stored in the data storage device of a source server (hereafter referred to as the “source server”) to obtain replicated data, and provides files requested by users on demand based on the replicated data.
  • a destination server hereafter referred to as the "destination server”
  • source server a source server
  • the original data contains multiple files used in cache systems, etc., and when changes such as adding a new file or changing or deleting an existing file occur, the changed file is sent from the source server to the destination server.
  • the destination server synchronizes the original data with the replicated data based on the changed file sent, and updates the replicated data.
  • the files contained in the original data include immediate files, which have immediacy, and non-immediate files, which do not.
  • the immediate file is sent from the source server to the destination server using real-time processing (online processing) to update the file.
  • difference information for the entire file is sent in batch processing from the source server to the destination server at regular time intervals or at any timing, and the file is updated.
  • Non-Patent Document 1 when a changed immediate file is sent from the source server using real-time processing, the corresponding immediate file stored in the temporary storage unit is updated with this immediate file. Also, when a changed file is sent from the source server using batch processing, the files (immediate file, non-immediate file) stored in the replicated data storage unit of the destination server are updated with this file.
  • the present invention has been made in consideration of the above circumstances, and its purpose is to provide a data duplication device, a data duplication system, a data duplication method, and a data duplication program that can avoid duplicate access to multiple storage units for the same file.
  • a data duplication device is a data duplication device that generates duplicated data of original data, and includes a receiving unit that receives a first difference indicating a change that has occurred in an instantaneous file included in the original data by real-time processing, and receives a second difference indicating a change that has occurred in at least one of an instantaneous file and a non-instantaneous file included in the original data by batch processing; a temporary storage unit that stores duplicated data of the instantaneous file and updates the instantaneous file using the first difference when the first difference is received; a duplicated data storage unit that stores duplicated data of at least one of the instantaneous file and the non-instantaneous file and updates at least one of the instantaneous file and the non-instantaneous file using the second difference when the second difference is received; a determination unit that determines whether or not a duplicated instantaneous file exists in the temporary storage unit and the duplicated data storage unit; and a concealment processing unit that
  • a data replication system is a data replication system including a first server and another server connected to the first server, the other server including an original data storage unit that stores original data including a plurality of files, a difference determination unit that determines which of the plurality of files has been modified, an immediacy determination unit that determines whether the file in which the modification has occurred is an immediate file or a non-immediate file, and a transmission unit that transmits a first difference indicating a modification that has occurred to at least one of the immediate file and the non-immediate file to the first server by real-time processing, and transmits a second difference indicating a modification that has occurred to at least one of the immediate file and the non-immediate file to the first server by batch processing
  • the first server includes:
  • the system includes a receiving unit that receives the first difference and the second difference, a temporary storage unit that stores copy data of the instantaneous file and updates the instantaneous file using the first difference when the first difference is received, a copy data storage unit that
  • a data replication method includes the steps of receiving a first difference indicating a change that has occurred in an instantaneous file included in original data by real-time processing, receiving a second difference indicating a change that has occurred in at least one of an instantaneous file and a non-instantaneous file included in the original data by batch processing, storing replication data of the instantaneous file in a temporary storage unit, and updating the instantaneous file using the first difference when the first difference is received, storing replication data of at least one of the instantaneous file and the non-instantaneous file in a replication data storage unit, and updating at least one of the instantaneous file and the non-instantaneous file using the second difference when the second difference is received, determining whether or not a duplicate instantaneous file exists in the temporary storage unit and the replication data storage unit, and, when it is determined that a duplicate instantaneous file exists, hiding or deleting the instantaneous file stored in the temporary storage unit or the replication data storage unit
  • One aspect of the present invention is a data copying program for causing a computer to function as the above-mentioned data copying device.
  • the present invention makes it possible to avoid duplicate access to multiple storage units for the same file.
  • FIG. 1 is a block diagram showing a configuration of a data duplication system according to an embodiment.
  • FIG. 2 is a flowchart showing a processing procedure of the data duplication system according to the embodiment.
  • FIG. 3 is a block diagram showing a configuration of a data duplication system according to the first modified example.
  • FIG. 4 is a flowchart showing a processing procedure of the data copying system according to the first modified example.
  • FIG. 5 is a block diagram showing the configuration of a data copying system according to the second modified example.
  • FIG. 6 is a block diagram showing the hardware configuration of this embodiment.
  • Fig. 1 is a block diagram showing the configuration of a data duplication system according to an embodiment.
  • the data duplication system 100 includes a source server 1 (another server) and a destination server 2 (one server, a data duplication device), and the source server 1 and the destination server 2 are connected via a network 3.
  • the destination server 2 is connected to a user client 4.
  • the data duplication system 100 transmits a file stored in the source server 1 to the destination server 2 to generate a duplicate file.
  • the source server 1 has an original data storage unit 11 and a control unit 12.
  • the original data storage unit 11 stores original data including multiple files used in the cache system 21 described below.
  • the files stored in the original data storage unit 11 are modified at regular time intervals or at any timing by external access. Modification processes include adding new files to the original data, and modifying and deleting existing files included in the original data.
  • the original data includes immediate files that have immediacy, and non-immediate files that do not have immediacy.
  • an immediate file that has been modified is referred to as the "first difference D1".
  • a file that has been modified is referred to as the "second difference D2”.
  • An immediate file is a file that needs to be referenced immediately when a modification process occurs, and is, for example, a "csv” file or a file containing image data such as "jpeg" or "mpeg”.
  • An immediate file may be a file for managing the content and location of the original data.
  • a non-immediate file is a file that does not require immediacy.
  • the control unit 12 includes a difference determination unit 121, an immediacy determination unit 122, and a transmission unit 123.
  • the difference determination unit 121 determines which of the multiple files stored in the original data storage unit 11 have undergone a change process (second difference).
  • the real-timeness determination unit 122 determines whether a file determined by the difference determination unit 121 to have undergone a change process is an immediate file or a non-immediate file.
  • the transmission unit 123 transmits the immediate file where a change process has occurred (first difference D1), and the immediate file and non-immediate file where a change process has occurred (second difference D2) to the destination server 2.
  • first difference D1 the immediate file where a change process has occurred
  • second difference D2 the immediate file and non-immediate file where a change process has occurred
  • the transmission unit 123 transmits the first difference D1 by real-time processing via the network 3 to the cache system 21 of the destination server 2.
  • the transmission unit 123 transmits the second difference D2 by batch processing that transmits it at regular time intervals or at any timing, via the network 3 to the replication processing unit 22 of the destination server 2.
  • the destination server 2 includes a cache system 21, a duplication processing unit 22, and an identical file processing unit 23.
  • the cache system 21, the duplication processing unit 22, and the identical file processing unit 23 constitute the data duplication device of the present invention.
  • the cache system 21 includes a cache determination unit 211, a cache processing unit 212, a transmission/reception unit 213 (receiving unit), and a temporary storage unit 214.
  • the cache determination unit 211 determines whether the requested file requested by the user on the user client 4 exists in the cache data stored in the temporary storage unit 214.
  • the cache processing unit 212 If the cache determination unit 211 determines that the requested file exists in the cache data, the cache processing unit 212 outputs a control command to the transmission/reception unit 213 to transmit the cache data of the requested file to the user client 4.
  • the cache processing unit 212 obtains the requested file from the replicated data storage unit 222 (described below) and stores it in the temporary storage unit 214.
  • the cache processing unit 212 outputs a control command to the transmission/reception unit 213 to transmit the cache data of the requested file to the user client 4.
  • the user of the user client 4 can execute various processes using the file provided by the cache system 21.
  • the transmitting/receiving unit 213 receives the first difference D1 transmitted from the transmitting unit 123 of the source server 1, outputs it to the temporary storage unit 214, and updates the corresponding instantaneous file. At this time, the attributes of the instantaneous file are stored as master data. "Master data" is an attribute that is permanently saved in the cache system 21.
  • the transmitting/receiving unit 213 has a function as a receiving unit that receives the first difference when a change occurs in an instantaneous file included in the original data and the first difference D1, which is the instantaneous file for which the change occurred, is transmitted by real-time processing.
  • the transmission/reception unit 213 transmits to the user client 4 the cache data of the file read by the cache processing unit 212 at the request of the user client 4.
  • the temporary storage unit 214 stores cache data used by the cache system 21.
  • the cache data includes duplicated data of instantaneous files included in the original data.
  • the temporary storage unit 214 stores duplicated data of instantaneous files, and when the transmission/reception unit 213 receives a first difference D1, it updates the instantaneous file corresponding to this first difference D1.
  • the temporary storage unit 214 retrieves the requested file from the duplicated data storage unit 222 and stores it.
  • the duplication processing unit 22 includes a transmission/reception unit 221 (reception unit) and a duplication data storage unit 222.
  • the sending/receiving unit 221 receives the second difference D2 sent from the source server 1.
  • the second difference D2 is an immediate file and a non-immediate file where a change has occurred.
  • the sending/receiving unit 221 receives this, reads out the corresponding file stored in the replicated data storage unit 222, and sends it to the cache system 21. This file is stored in the temporary storage unit 214.
  • the sending/receiving unit 221 has a function as a receiving unit that receives the second difference D2 when a change occurs in at least one of the immediate file and the non-immediate file included in the original data, and the second difference D2, which is the file where a change has occurred, is sent by batch processing.
  • the replicated data storage unit 222 stores replicated data of immediate files and non-immediate files included in the original data stored in the original data storage unit 11.
  • the replicated data storage unit 222 stores replicated data of immediate files and non-immediate files, and when a second difference D2 is received, updates at least one of the immediate file and the non-immediate file corresponding to the second difference D2.
  • the identical file processing unit 23 includes an identical file determination unit 231 and a display control unit 232 (concealment processing unit).
  • the identical file processing unit 23 can be set in the program of the cache system 21, for example, by changing a part of the program of the cache system 21.
  • the identical file processing unit 23 can also be set by implementing a program in an external system that is linked to the cache system 21 via an interface.
  • the identical file determination unit 231 determines whether the immediate file stored in the temporary storage unit 214 (cache data whose attributes are stored as master data) is identical to the immediate file stored in the replicated data storage unit 222. As described above, the immediate file stored in the temporary storage unit 214 is updated by the first difference D1, and therefore overlaps with the immediate file updated by the second difference D2 in the replicated data storage unit 222. In other words, the same immediate file is stored in both the temporary storage unit 214 and the replicated data storage unit 222 in a duplicated manner.
  • the same file determination unit 231 may execute the identity determination process, for example, every time a predetermined time has elapsed.
  • the same file determination unit 231 may execute the identity determination process when triggered by the completion of updating the file by the second difference D2 in the replicated data storage unit 222.
  • the same file determination unit 231 determines whether the files are the same by using, for example, the methods shown in (A) to (C) below.
  • the same file determination unit 231 uses at least one of the file name, file size, file creation date and time, file update date and time, and file hash value of the immediate file to determine whether the same immediate file exists in the temporary storage unit 214 and the replicated data storage unit 222.
  • the cache processing unit 212 described above changes the attribute of the cache data of the corresponding instantaneous file stored in the temporary storage unit 214 from "master data," an attribute that is permanently stored in the cache system, to "cache," an attribute that deletes the file based on a predetermined condition.
  • the predetermined condition can be, for example, at least one of the following: when the period of use of the file reaches a certain period, when the period of non-use of the file reaches a certain period, and when the storage capacity of the temporary storage unit 214 reaches a predetermined threshold.
  • the display control unit 232 displays files available to the user client 4 on a display unit such as a monitor.
  • the user of the user client 4 can view the available files and select the file to be used.
  • the files may also be presented by audio or other means.
  • the display control unit 232 conceals the corresponding file stored in the replicated data storage unit 222 so that the user cannot view it.
  • ACL Access Control List
  • the display control unit 232 has a function as a concealment processing unit that conceals the corresponding instantaneous file stored in the duplicated data storage unit 222 when the identical file determination unit 231 determines that the same instantaneous file exists.
  • the display control unit 232 When the target immediate file is deleted from the temporary storage unit 214, the display control unit 232 unhides this immediate file. That is, when a user has not requested to obtain the hidden immediate file for a certain period of time, or when the hidden immediate file has not been used for a certain period of time, the display control unit 232 has the function of deleting the hidden immediate file stored in the temporary storage unit 214 and unhiding the hidden immediate file stored in the replicated data storage unit 222.
  • step S11 of FIG. 2 the difference determination unit 121 of the transmission source server 1 determines whether or not a change process has occurred to various files included in the original data stored in the original data storage unit 11.
  • step S12 the immediacy determination unit 122 determines whether the file in which the change occurred is an immediate file or a non-immediate file.
  • step S13 the sending unit 123 sends the immediate file for which a change has occurred (first difference D1) to the cache system 21 of the destination server 2 by real-time processing.
  • the sending unit 123 sends the immediate file for which a change has occurred and the non-immediate file (second difference D2) to the replication processing unit 22 of the destination server 2 by batch processing at regular time intervals or at any timing.
  • step S14 the transmission/reception unit 213 of the cache system 21 receives the first difference D1 sent by real-time processing.
  • the transmission/reception unit 221 of the replication processing unit 22 receives the second difference D2 sent by batch processing.
  • step S15 the cache processing unit 212 of the cache system 21 updates the corresponding immediate file of the cache data stored in the temporary storage unit 214 based on the first difference D1. That is, the cache data of the immediate file stored in the temporary storage unit 214 is updated to the modified immediate file.
  • the immediate file is stored as master data, which is an attribute that is permanently saved in the cache system.
  • step S16 the transmission/reception unit 221 of the replication processing unit 22 updates the corresponding files (immediate files, non-immediate files) stored in the replication data storage unit 222 based on the second difference D2. That is, the corresponding immediate files and non-immediate files of the replication data stored in the replication data storage unit 222 are updated to the files that have been changed.
  • step S17 the identical file determination unit 231 determines whether the immediate file stored in the temporary storage unit 214 is identical to the immediate file stored in the replicated data storage unit 222.
  • the method of determining whether the immediate file is identical can be any of the methods (A) to (C) described above.
  • step S18 If it is determined in step S18 that an identical immediate file exists (S18; YES), the process proceeds to step S19; if not (S18; NO), the process ends.
  • step S19 the display control unit 232 outputs display information to the cache system 21 so as to hide the corresponding immediate file stored in the replicated data storage unit 222 and display only the immediate file in the temporary storage unit 214 with priority. As a result, only the immediate file in the temporary storage unit 214 among the duplicated immediate files can be viewed on the user client 4.
  • the ACL function of the cache system 21 to prevent all file users from accessing the instantaneous file, it is possible to create a state in which the user can only view the instantaneous file in the temporary storage unit 214.
  • this state when a user of the user client 4 makes a request to obtain a file, the instantaneous file stored in the temporary storage unit 214 is transferred to the user client 4, and the user becomes able to obtain the instantaneous file.
  • step S20 the cache processing unit 212 changes the attribute of the cache data of the immediate file stored in the temporary storage unit 214 from master data, which is an attribute that is permanently stored in the cache system, to cache, which is an attribute that deletes the file based on predetermined conditions.
  • step S21 the cache processing unit 212 deletes the cache of real-time data stored in the temporary storage unit 214 according to the above-mentioned predetermined condition. For example, when the period of use of the file reaches a certain period, when the period of non-use of the file reaches a certain period, or when the storage capacity of the temporary storage unit 214 reaches a predetermined threshold, the cache of real-time data stored in the temporary storage unit 214 is deleted.
  • step S22 the display control unit 232 unhides the hidden instant file stored in the duplicated data storage unit 222, making it viewable by the user of the user client 4. This allows the user to continue viewing the instant file that was deleted from the temporary storage unit 214. In other words, when an instant file stored in the temporary storage unit 214 is deleted, the hidden state of the corresponding instant file stored in the duplicated data storage unit 222 is unhidden, making it possible for the user to view this instant file.
  • the target immediate file stored in the replicated data storage unit 222 is cached in the temporary storage unit 214 via the cache system 21. As a result, the user is able to acquire the requested file. Then, this process ends.
  • the data duplication device is a data duplication device that generates duplicated data of original data, and includes a receiving unit (transmitting/receiving unit 213, 221) that receives a first difference indicating a change that has occurred in an instant file included in the original data by real-time processing, and receives a second difference indicating a change that has occurred in at least one of an instant file and a non-instant file included in the original data by batch processing; a temporary storage unit 214 that stores duplicated data of the instant file and updates the instant file using the first difference when the first difference is received; a duplicated data storage unit 222 that stores duplicated data of at least one of an instant file and a non-instant file and updates at least one of an instant file and a non-instant file using the second difference when the second difference is received; a determination unit (identical file determination unit 231) that determines whether or not duplicated instant files exist in the temporary storage unit 214 and the duplicated data storage unit 222; and a display control unit 232
  • the changed instantaneous file (first difference D1) is sent to the cache system 21 in real time processing, and the corresponding instantaneous file stored in the temporary storage unit 214 is updated. This allows the user of the user client 4 to quickly obtain and use the updated instantaneous file.
  • the changed immediate file and non-immediate file (second difference D2) are sent to the replication processing unit 22 by batch processing, and the immediate file and non-immediate file stored in the replication data storage unit 222 are updated.
  • the user of the user client 4 becomes able to use the updated immediate file and non-immediate file after the second difference D2 is sent by batch processing.
  • the corresponding immediate file stored in the replicated data storage unit 222 is concealed. This allows the user of the user client 4 to search the cache of the immediate file stored in the temporary storage unit 214. Moreover, immediate files stored in the replicated data storage unit 222 cannot be searched for. This avoids the problem of multiple identical files being searched for in duplicate, confusing the user.
  • an immediate file stored as a cache in the temporary storage unit 214 is deleted from the temporary storage unit 214.
  • the corresponding immediate file stored in the replicated data storage unit 222 is unhidden and made searchable by the user of the user client 4.
  • this makes it possible to avoid storing the same file twice, and to avoid unnecessary use of storage resources.
  • this immediate file is stored in the duplicate data storage unit 222, allowing the user to continue searching for this immediate file.
  • FIG. 3 is a block diagram showing the configuration of a data duplication system 101 according to a first modified example.
  • the data duplication system 101 shown in FIG. 3 differs from the previously described FIG. 1 in that a deletion control unit 232a is provided instead of the display control unit 232.
  • Other configurations are the same as those in FIG. 1, so the same reference numerals are used and a description of the configuration is omitted.
  • the deletion control unit 232a shown in FIG. 3 deletes the corresponding immediate file stored in the temporary storage unit 214.
  • the deletion control unit 232a has a function as a concealment processing unit that deletes the immediate file stored in the temporary storage unit 214 when the identical file determination unit 231 determines that an identical immediate file exists.
  • the second difference D2 is sent by batch processing, and is therefore received by the destination server 2 later than the first difference D1, which is sent by real-time processing. Therefore, there is a time lag between when the real-time file is updated in real-time in the temporary storage unit 214 and when the real-time file stored in the replicated data storage unit 222 is updated.
  • the deletion control unit 232a has the function of a concealment processing unit that deletes the immediate files stored in the temporary storage unit 214.
  • Steps S31 to S38 shown in FIG. 4 are similar to steps S11 to S18 shown in FIG. 2, so a description thereof will be omitted.
  • step S39 when it is determined in step S38 that the same immediate file exists in the temporary storage unit 214 and the replicated data storage unit 222 (S38; YES), in step S39 the deletion control unit 232a deletes the corresponding immediate file stored in the temporary storage unit 214.
  • FIG. 5 is a block diagram showing the configuration of a data duplication system 102 according to the second modified example.
  • the data duplication system 102 according to the second modified example includes a source server 1, a server 2A, and a server 2B, and the servers 1, 2A, and 2B are connected to each other via a network 3.
  • the server 2A is connected to a user client 4.
  • the two servers 2A and 2B constitute the data duplication device of the present invention.
  • Server 2A has a cache system 21 and an identical file processing unit 23.
  • Server 2B has a duplication processing unit 22.
  • the cache system 21, duplication processing unit 22, and identical file processing unit 23 have the same configuration as in the embodiment described above.
  • the data duplication system 102 according to the second modified example is the same in configuration and operation as the embodiment shown in FIG. 1 described above, except that communication between server 2A and server 2B is via a communication network such as a network. Therefore, the same reference numerals are used and detailed description is omitted.
  • the data duplication device (destination server 2) of the present embodiment described above can be, for example, a general-purpose computer system equipped with a CPU (Central Processing Unit, processor) 901, memory 902, storage 903 (HDD: Hard Disk Drive, SSD: Solid State Drive), communication device 904, input device 905, and output device 906, as shown in FIG. 6.
  • Memory 902 and storage 903 are storage devices.
  • each function of the data duplication device (server 2) is realized by the CPU 901 executing a specific program loaded on memory 902.
  • the data duplication device (server 2) may be implemented in one computer, or in multiple computers.
  • the data duplication device (server 2) may also be a virtual machine implemented in a computer.
  • the data duplication device (server 2) may be configured on the cloud.
  • Server 1 source server
  • Server 2 may also be configured on the cloud in the same way.
  • the program for the data duplication device can be stored on a computer-readable recording medium such as a HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), or DVD (Digital Versatile Disc), or can be distributed via a network.
  • a computer-readable recording medium such as a HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), or DVD (Digital Versatile Disc), or can be distributed via a network.
  • the computer-readable recording medium is, for example, a non-transitory recording medium.
  • the present invention is not limited to the above embodiment, and many variations are possible within the scope of the gist.
  • Source server other server
  • Destination server one server, data duplication device
  • Original data storage unit 12
  • Control unit 21
  • Control unit 22
  • Replication processing unit 23 Identical file processing unit 100, 101, 102
  • Data replication system 121
  • Difference determination unit 122
  • Real-timeness determination unit 123
  • Cache determination unit 212
  • Cache processing unit 213 Transmission/reception unit (reception unit)
  • Temporary storage unit 221 Transmitting/receiving unit (receiving unit)
  • Display control unit (concealment processing unit)
  • 232a Deletion control unit (concealment processing unit)
  • D1 First difference D2 Second difference

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

即時ファイルに発生した変更を示す第1の差分(D1)をリアルタイム処理で受信する送受信部(213)と、即時ファイル及び非即時ファイルの少なくとも一方に発生した変更を示す第2の差分(D2)をバッチ処理で受信する送受信部(221)と、第1の差分(D1)の受信時に、第1の差分(D1)を用いて即時ファイルを更新する一時記憶部(214)と、第2の差分(D2)の受信時に、第2の差分(D2)を用いて即時ファイル及び非即時ファイルの少なくとも一方を更新する複製データ記憶部(222)と、一時記憶部(214)及び複製データ記憶部(222)に重複する即時ファイルが存在するか否かを判定する同一ファイル判定部(213)と、重複する即時ファイルが存在すると判定された場合に、一時記憶部(214)または複製データ記憶部(222)に記憶された即時ファイルを、隠蔽または削除する隠蔽処理部(表示制御部、削除制御部)を備える。

Description

データ複製装置、データ複製システム、データ複製方法、及びデータ複製プログラム
 本発明は、データ複製装置、データ複製システム、データ複製方法、及びデータ複製プログラムに関する。
 非特許文献1には、送信先となるサーバ(以下、「送信先サーバ」という)において、送信元となるサーバ(以下、「送信元サーバ)という)のデータ記憶装置に記憶されている原本データから同期をとって複製データを取得し、該複製データに基づいて利用者が要求するファイルをオンデマンドで提供することが開示されている。
 原本データはキャッシュシステムなどで使用する複数のファイルを含んでおり、新規ファイルの追加、既存ファイルの変更、削除などの変更が発生した場合には、変更後のファイルを送信元サーバから送信先サーバに送信する。送信先サーバは、送信された変更後のファイルに基づいて、原本データと複製データとの間で同期をとり、複製データを更新する。
Alluxio Introduction、https://docs.alluxio.io/os/user/stable/en/Overview.html
 原本データに含まれるファイルには、即時性を有する即時ファイル、及び即時性を有しない非即時ファイルが含まれる。即時ファイルに変更が発生した際には、この即時ファイルを送信元サーバから送信先サーバにリアルタイム処理(オンライン処理)で送信してファイルを更新する。原本データに含まれる非即時ファイルに変更が発生した際には、一定の時間間隔或いは任意のタイミングにて、ファイル全体(即時ファイル及び非即時ファイル)の差分情報をバッチ処理にて送信元サーバから送信先サーバに送信してファイルを更新する。
 非特許文献1に開示された技術では、送信元サーバから変更が発生した即時ファイルがリアルタイム処理で送信された際には、この即時ファイルにより一時記憶部に記憶された該当する即時ファイルが更新される。また、送信元サーバから変更が発生したファイルがバッチ処理で送信された際には、このファイルにより、送信先サーバの複製データ記憶部に記憶されたファイル(即時ファイル、非即時ファイル)が更新される。
 このため、ファイルの利用者は、同一の即時ファイルが複数のディレクトリに存在するものと認識してしまい、混乱を招くという問題が生じる。更に、一つの即時ファイルが一時記憶部及び複製データ記憶部にそれぞれ記憶されることになり、不必要に記憶領域のリソースを使用するという問題が発生する。
 本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、同一のファイルに対して複数の記憶部に重複してアクセスすることを回避することが可能なデータ複製装置、データ複製システム、データ複製方法、及びデータ複製プログラムを提供することにある。
 本発明の一態様のデータ複製装置は、原本データの複製データを生成するデータ複製装置であって、前記原本データに含まれる即時ファイルに発生した変更を示す第1の差分をリアルタイム処理で受信し、前記原本データに含まれる即時ファイル及び非即時ファイルの少なくとも一方に発生した変更を示す第2の差分をバッチ処理で受信する受信部と、前記即時ファイルの複製データを記憶し、前記第1の差分の受信時に、前記第1の差分を用いて即時ファイルを更新する一時記憶部と、前記即時ファイル及び前記非即時ファイルの少なくとも一方の複製データを記憶し、前記第2の差分の受信時に、前記第2の差分を用いて即時ファイル及び非即時ファイルの少なくとも一方を更新する複製データ記憶部と、前記一時記憶部及び前記複製データ記憶部に重複する即時ファイルが存在するか否かを判定する判定部と、重複する即時ファイルが存在すると判定された場合に、前記一時記憶部または前記複製データ記憶部に記憶された即時ファイルを、隠蔽または削除する隠蔽処理部とを備える。
 本発明の一態様のデータ複製システムは、一のサーバ及び前記一のサーバに接続された他のサーバを備えたデータ複製システムであって、前記他のサーバは、複数のファイルを含む原本データを記憶する原本データ記憶部と、前記複数のファイルのうち、変更が発生したファイルを判定する差分判定部と、前記変更が発生したファイルが即時ファイルであるか、非即時ファイルであるかを判定する即時性判定部と、即時ファイルに発生した変更を示す第1の差分をリアルタイム処理で前記一のサーバに送信し、即時ファイル及び非即時ファイルの少なくとも一方に発生した変更を示す第2の差分をバッチ処理にて前記一のサーバに送信する送信部と、を備え、前記一のサーバは、前記第1の差分及び第2の差分を受信する受信部と、前記即時ファイルの複製データを記憶し、前記第1の差分の受信時に、前記第1の差分を用いて即時ファイルを更新する一時記憶部と、前記即時ファイル及び前記非即時ファイルの少なくとも一方の複製データを記憶し、前記第2の差分の受信時に、前記第2の差分を用いて即時ファイル及び非即時ファイルの少なくとも一方を更新する複製データ記憶部と、前記一時記憶部及び前記複製データ記憶部に重複する即時ファイルが存在するか否かを判定する判定部と、重複する即時ファイルが存在すると判定された場合に、前記一時記憶部または前記複製データ記憶部に記憶された即時ファイルを、隠蔽または削除する隠蔽処理部とを備える。
 本発明の一態様のデータ複製方法は、原本データに含まれる即時ファイルに発生した変更を示す第1の差分をリアルタイム処理で受信するステップと、前記原本データに含まれる即時ファイル及び非即時ファイルの少なくとも一方に発生した変更を示す第2の差分をバッチ処理で受信するステップと、前記即時ファイルの複製データを一時記憶部に記憶し、前記第1の差分の受信時に、前記第1の差分を用いて即時ファイルを更新するステップと、前記即時ファイル及び前記非即時ファイルの少なくとも一方の複製データを複製データ記憶部に記憶し、前記第2の差分の受信時に、前記第2の差分を用いて即時ファイル及び非即時ファイルの少なくとも一方を更新するステップと、前記一時記憶部及び前記複製データ記憶部に重複する即時ファイルが存在するか否かを判定するステップと、重複する即時ファイルが存在すると判定された場合に、前記一時記憶部または前記複製データ記憶部に記憶された即時ファイルを、隠蔽または削除するステップとを備える。
 本発明の一態様は、上記データ複製装置としてコンピュータを機能させるためのデータ覆製プログラムである。
 本発明によれば、同一のファイルに対して複数の記憶部に重複してアクセスすることを回避することが可能になる。
図1は、実施形態に係るデータ複製システムの構成を示すブロック図である。 図2は、実施形態に係るデータ複製システムの処理手順を示すフローチャートである。 図3は、第1変形例に係るデータ複製システムの構成を示すブロック図である。 図4は、第1変形例に係るデータ複製システムの処理手順を示すフローチャートである。 図5は、第2変形例に係るデータ複製システムの構成を示すブロック図である。 図6は、本実施形態のハードウェア構成を示すブロック図である。
 [実施形態の説明]
 以下、図面を参照して実施形態について説明する。図1は、実施形態に係るデータ複製システムの構成を示すブロック図である。図1に示すようにデータ複製システム100は、送信元サーバ1(他のサーバ)と、送信先サーバ2(一のサーバ、データ複製装置)を備えており、送信元サーバ1と送信先サーバ2はネットワーク3により接続されている。送信先サーバ2は、ユーザクライアント4に接続される。データ複製システム100は、送信元サーバ1に記憶されているファイルを送信先サーバ2に送信して複製ファイルを生成する。
 送信元サーバ1は、原本データ記憶部11と、制御部12を備えている。
 原本データ記憶部11は、後述するキャッシュシステム21で使用する複数のファイルを含む原本データを記憶する。原本データ記憶部11に記憶されているファイルは、外部からのアクセスにより一定の時間間隔或いは任意のタイミングで変更処理が実行される。変更処理は、原本データへの新規ファイルの追加、原本データに含まれる既存ファイルの修正、削除を含む。
 原本データには、即時性を有する即時ファイル、及び即時性を有しない非即時ファイルが含まれる。以下では、原本データに含まれる複数のファイルのうち、変更処理された即時ファイルを「第1の差分D1」という。また、原本データに含まれる複数のファイルのうち、変更処理されたファイル(即時ファイル、非即時ファイル)を「第2の差分D2」という。即時ファイルは、変更処理が発生したときに即時に参照する必要性が高いファイルであり、例えば、「csv」ファイル、或いは「jpeg」、「mpeg」などの画像データを含むファイルである。即時ファイルは、原本データの内容、所在を管理するためのファイルであってもよい。非即時ファイルは即時性が必要とされないファイルである。
 制御部12は、差分判定部121と、即時性判定部122と、送信部123を備えている。
 差分判定部121は、原本データ記憶部11に記憶されている複数のファイルのうち、変更処理が発生したファイル(第2の差分)を判定する。
 即時性判定部122は、差分判定部121において変更処理が発生したと判定されたファイルが、即時ファイルであるか或いは非即時ファイルであるかを判定する。
 送信部123は、即時性判定部122における判定結果に基づいて、変更処理が発生した即時ファイル(第1の差分D1)、及び変更処理が発生した即時ファイル及び非即時ファイル(第2の差分D2)を、送信先サーバ2に送信する。詳細には、送信部123は、第1の差分D1をリアルタイム処理により、ネットワーク3を経由して送信先サーバ2のキャッシュシステム21に送信する。送信部123は、第2の差分D2を一定時間間隔或いは任意のタイミングで送信するバッチ処理により、ネットワーク3を経由して送信先サーバ2の複製処理部22に送信する。
 送信先サーバ2は、キャッシュシステム21と、複製処理部22と、同一ファイル処理部23を備えている。キャッシュシステム21、複製処理部22、及び同一ファイル処理部23により、本発明のデータ複製装置が構成される。
 キャッシュシステム21は、キャッシュ判定部211と、キャッシュ処理部212と、送受信部213(受信部)と、一時記憶部214を備えている。
 キャッシュ判定部211は、ユーザクライアント4においてユーザが要求する要求ファイルが、一時記憶部214に記憶されているキャッシュデータに存在するか否かを判定する。
 キャッシュ処理部212は、キャッシュ判定部211にて上記要求ファイルがキャッシュデータに存在すると判定された場合に、この要求ファイルのキャッシュデータをユーザクライアント4に送信する制御指令を送受信部213に出力する。
 キャッシュ処理部212は、キャッシュ判定部211にて上記要求ファイルがキャッシュデータに存在しないと判定された場合に、後述する複製データ記憶部222から要求ファイルを取得し、一時記憶部214に記憶する。キャッシュ処理部212は、この要求ファイルのキャッシュデータを、ユーザクライアント4に送信するための制御指令を送受信部213に出力する。ユーザクライアント4のユーザは、キャッシュシステム21から提供されるファイルを用いて各種の処理を実行することができる。
 送受信部213は、送信元サーバ1の送信部123から送信された第1の差分D1を受信し、一時記憶部214に出力して該当する即時ファイルを更新する。この際、即時ファイルの属性をマスタデータとして記憶する。「マスタデータ」は、キャッシュシステム21に永続的に保存される属性である。送受信部213は、原本データに含まれる即時ファイルに変更が発生し、変更が発生した即時ファイルである第1の差分D1がリアルタイム処理で送信された際に第1の差分を受信する受信部としての機能を備えている。
 送受信部213は、ユーザクライアント4の要求によりキャッシュ処理部212で読み出されたファイルのキャッシュデータを、ユーザクライアント4に送信する。
 一時記憶部214は、キャッシュシステム21で使用するキャッシュデータを記憶する。キャッシュデータは、原本データに含まれる即時ファイルの複製データを含む。一時記憶部214は、即時ファイルの複製データを記憶し、送受信部213にて第1の差分D1が受信された際に、この第1の差分D1に該当する即時ファイルを更新する。一時記憶部214は、ユーザクライアント4から要求される要求ファイル(即時ファイル、非即時ファイル)が後述する複製データ記憶部222に記憶されている際には、この要求ファイルを複製データ記憶部222から取得して記憶する。
 複製処理部22は、送受信部221(受信部)と、複製データ記憶部222を備えている。
 送受信部221は、送信元サーバ1から送信される第2の差分D2を受信する。上述したように、第2の差分D2は、変更が発生した即時ファイル及び非即時ファイルである。送受信部221は、キャッシュ処理部212からファイルの読み込み指令が出力された際には、これを受信し、複製データ記憶部222に記憶されている該当するファイルを読み出して、キャッシュシステム21に送信する。このファイルは、一時記憶部214に記憶される。送受信部221は、原本データに含まれる即時ファイル及び非即時ファイルの少なくとも一方に変更が発生し、変更が発生したファイルである第2の差分D2がバッチ処理で送信された際に、第2の差分D2を受信する受信部としての機能を備えている。
 複製データ記憶部222は、原本データ記憶部11に記憶されている原本データに含まれる即時ファイル、及び非即時ファイルの複製データを記憶する。複製データ記憶部222は、即時ファイル及び非即時ファイルの複製データを記憶し、第2の差分D2が受信された際には、第2の差分D2に該当する即時ファイル及び非即時ファイルの少なくとも一方を更新する。
 同一ファイル処理部23は、同一ファイル判定部231と、表示制御部232(隠蔽処理部)を備えている。同一ファイル処理部23は、例えばキャッシュシステム21のプログラムの一部を変更することにより、キャッシュシステム21のプログラムに設定することができる。また、同一ファイル処理部23は、キャッシュシステム21とインターフェースを介して連携されている外部システムにプログラムを実装することにより設定することができる。
 同一ファイル判定部231は、一時記憶部214に記憶されている即時ファイル(属性がマスタデータとして記憶されているキャッシュデータ)と、複製データ記憶部222に記憶されている即時ファイルが同一であるか否かを判定する。前述したように、一時記憶部214に記憶されている即時ファイルは、第1の差分D1により更新されるので、複製データ記憶部222において第2の差分D2により更新された即時ファイルと重複する。即ち、同一の即時ファイルが、一時記憶部214及び複製データ記憶部222に重複して記憶されることになる。
 同一ファイル判定部231は、例えば、所定時間が経過するごとに同一性の判定処理を実行してもよい。同一ファイル判定部231は、複製データ記憶部222において、第2の差分D2によるファイルの更新が完了したことをトリガーとして、同一性の判定処理を実行してもよい。
 同一ファイル判定部231は、例えば下記(A)~(C)に示す方法を採用して同一ファイルであるか否かを判定する。
(A)一時記憶部214に記憶されているキャッシュデータと、複製データ記憶部222に記憶されている即時ファイルの、ファイル名を対比して同一性を判定する。
(B)一時記憶部214に記憶されているキャッシュデータと、複製データ記憶部222に記憶されている即時ファイルの、ファイルサイズ、ファイルの作成日時、ファイルの更新日時などのメタ情報を対比して同一性を判定する。
(C)一時記憶部214に記憶されているキャッシュデータと、複製データ記憶部222に記憶されている即時ファイルの、ハッシュ値を比較して同一性を判定する。
 即ち、同一ファイル判定部231は、即時ファイルのファイル名、ファイルサイズ、ファイルの作成日時、ファイルの更新日時、及びファイルのハッシュ値のうちの少なくとも一つを用いて、一時記憶部214と複製データ記憶部222に同一の即時ファイルが存在するか否かを判定する。
 上述したキャッシュ処理部212は、同一ファイル判定部231にて同一ファイルが存在すると判定された場合には、一時記憶部214に記憶されている該当する即時ファイルのキャッシュデータの属性を、キャッシュシステムに永続的に保存される属性である「マスタデータ」から、所定の条件に基づいて当該ファイルを削除する属性である「キャッシュ」に変更する。所定の条件は、例えばファイルの使用期間が一定期間に達した場合、ファイルを使用していない期間が一定期間に達した場合、一時記憶部214の記憶容量が所定の閾値に達した場合、の少なくとも一つの場合とすることができる。
 表示制御部232は、ディスプレイなどの表示部にユーザクライアント4が使用可能なファイルを表示する。ユーザクライアント4のユーザは、使用可能なファイルを閲覧して使用するファイルを選択することができる。なお、ファイルは表示部に表示する以外にも、音声などで提示してもよい。表示制御部232は、同一ファイル判定部231にて、同一ファイルが存在すると判定された場合には、複製データ記憶部222に記憶されている該当するファイルを、ユーザが閲覧できないように隠蔽する。ファイルを隠蔽する処理として、キャッシュシステム21のACL(Access Control List)機能で、隠蔽の対象となる即時ファイルを全てのファイル利用者に参照できないようにする方法を用いることができる。
 このため、一時記憶部214に記憶されている即時ファイル、及び、複製データ記憶部222に記憶されている同一の即時ファイルが重複して表示部に表示されることを回避できる。即ち、表示制御部232は、同一ファイル判定部231にて同一の即時ファイルが存在すると判定された際に、複製データ記憶部222に記憶された該当する即時ファイルを隠蔽する隠蔽処理部としての機能を備えている。
 表示制御部232は、対象となる即時ファイルが一時記憶部214から削除された際には、この即時ファイルの隠蔽を解除する。即ち、表示制御部232は、隠蔽した即時ファイルに対してユーザからの取得要求が一定期間発生していない、或いは、隠蔽した即時ファイルが一定期間使用されていない場合に、一時記憶部214に記憶されている隠蔽した即時ファイルを削除し、複製データ記憶部222に記憶されている隠蔽した即時ファイルの隠蔽を解除する機能を備えている。
 [第1実施形態の動作]
 次に、第1実施形態に係るデータ複製システム100の動作を、図2に示すフローチャートを参照して説明する。
 初めに、図2のステップS11において、送信元サーバ1の差分判定部121は、原本データ記憶部11に記憶されている原本データに含まれる各種のファイルに、変更処理が発生したか否かを判定する。
 変更処理が発生した場合には(S11;YES)、ステップS12において即時性判定部122は、変更が発生したファイルが即時ファイルであるか、非即時ファイルであるかを判定する。
 ステップS13において送信部123は、変更処理が発生した即時ファイル(第1の差分D1)をリアルタイム処理で送信先サーバ2のキャッシュシステム21に送信する。送信部123は、変更処理が発生した即時ファイル及び非即時ファイル(第2の差分D2)を一定の時間間隔、或いは任意のタイミングでバッチ処理により送信先サーバ2の複製処理部22に送信する。
 ステップS14においてキャッシュシステム21の送受信部213は、リアルタイム処理で送信された第1の差分D1を受信する。複製処理部22の送受信部221は、バッチ処理で送信された第2の差分D2を受信する。
 ステップS15においてキャッシュシステム21のキャッシュ処理部212は、第1の差分D1に基づいて、一時記憶部214に記憶されているキャッシュデータの該当する即時ファイルを更新する。即ち、一時記憶部214に記憶されている即時ファイルのキャッシュデータは、変更処理された即時ファイルに更新される。即時ファイルは、キャッシュシステムに永続的に保存される属性であるマスタデータとして記憶される。
 ステップS16において複製処理部22の送受信部221は、第2の差分D2に基づいて、複製データ記憶部222に記憶されている各ファイル(即時ファイル、非即時ファイル)の該当するファイルを更新する。即ち、複製データ記憶部222に記憶されている複製データの該当する即時ファイル及び非即時ファイルは、変更処理されたファイルに更新される。
 ステップS17において同一ファイル判定部231は、一時記憶部214に記憶されている即時ファイルと、複製データ記憶部222に記憶されている即時ファイルの同一性を判定する。同一性の判定は、上述した(A)~(C)に示した方法を採用することができる。
 ステップS18において、同一の即時ファイルが存在すると判定された場合には(S18;YES)、ステップS19に処理を進め、そうでなければ(S18;NO)、本処理を終了する。
 ステップS19において表示制御部232は、複製データ記憶部222に記憶されている該当する即時ファイルを隠蔽し、一時記憶部214の即時ファイルのみを優先して表示するように、キャッシュシステム21に対して表示情報を出力する。その結果、ユーザクライアント4では、重複する即時ファイルのうち一時記憶部214の即時ファイルのみが閲覧可能となる。
 例えば、キャッシュシステム21のACL機能で当該即時ファイルを全てのファイル利用者に参照できないようにすることにより、ユーザが一時記憶部214の即時ファイルのみを閲覧可能な状態にすることができる。この状態でユーザクライアント4のユーザがファイルの取得要求を行った場合に、一時記憶部214に記憶されている即時ファイルがユーザクライアント4に転送され、ユーザは即時ファイルを取得することが可能になる。
 ステップS20においてキャッシュ処理部212は、一時記憶部214に記憶されている即時ファイルのキャッシュデータの属性を、キャッシュシステムに永続的に保存される属性であるマスタデータから、所定の条件に基づいて当該ファイルを削除する属性であるキャッシュに変更する。
 ステップS21においてキャッシュ処理部212は、上述した所定の条件により一時記憶部214に記憶されている即時データのキャッシュを削除する。例えば、ファイルの使用期間が一定期間に達した場合、ファイルを使用していない期間が一定期間に達した場合、或いは、一時記憶部214の記憶容量が所定の閾値に達した場合に、一時記憶部214に記憶されている即時データのキャッシュを削除する。
 ステップS22において、表示制御部232は、複製データ記憶部222に記憶されている隠蔽された即時ファイルの隠蔽を解除し、ユーザクライアント4のユーザが閲覧可能な状態にする。従って、ユーザは一時記憶部214から削除された即時ファイルを引き続き閲覧することが可能になる。即ち、一時記憶部214に記憶されている即時ファイルが削除された際に、複製データ記憶部222に記憶されている該当する即時ファイルの隠蔽状態を解除されるので、ユーザはこの即時ファイルを閲覧することが可能になる。
 その後、ユーザクライアント4のユーザからファイル取得要求があった場合は、複製データ記憶部222に記憶されている対象となる即時ファイルがキャッシュシステム21を経由して、一時記憶部214にキャッシュを格納される。その結果、ユーザは要求するファイルを取得することが可能になる。その後、本処理を終了する。
 このように、本実施形態に係るデータ複製装置は、原本データの複製データを生成するデータ複製装置であって、原本データに含まれる即時ファイルに発生した変更を示す第1の差分をリアルタイム処理で受信し、原本データに含まれる即時ファイル及び非即時ファイルの少なくとも一方に発生した変更を示す第2の差分をバッチ処理で受信する受信部(送受信部213、221)と、即時ファイルの複製データを記憶し、第1の差分の受信時に、第1の差分を用いて即時ファイルを更新する一時記憶部214と、即時ファイル及び非即時ファイルの少なくとも一方の複製データを記憶し、第2の差分の受信時に、第2の差分を用いて即時ファイル及び非即時ファイルの少なくとも一方を更新する複製データ記憶部222と、一時記憶部214及び複製データ記憶部222に重複する即時ファイルが存在するか否かを判定する判定部(同一ファイル判定部231)と、重複する即時ファイルが存在すると判定された場合に、一時記憶部214または複製データ記憶部222に記憶された即時ファイルを、隠蔽または削除する表示制御部232(隠蔽処理部)と、を備える。
 本実施形態に係るデータ複製システム100では、原本データ記憶部11に記憶されている即時ファイルに変更が発生した際に、変更された即時ファイル(第1の差分D1)をリアルタイム処理にてキャッシュシステム21に送信し、一時記憶部214に記憶されている該当する即時ファイルを更新する。このため、ユーザクライアント4のユーザは、更新後の即時ファイルを迅速に取得して使用することが可能になる。
 また、原本データ記憶部11に記憶されている即時ファイル及び非即時ファイルに変更が発生した際に、変更された即時ファイル及び非即時ファイル(第2の差分D2)をバッチ処理により複製処理部22に送信し、複製データ記憶部222に記憶されている即時ファイル及び非即時ファイルを更新する。このため、ユーザクライアント4のユーザは、バッチ処理による第2の差分D2の送信後において、更新後の即時ファイル及び非即時ファイルを使用することが可能になる。
 更に、一時記憶部214、及び複製データ記憶部222に同一の即時ファイルが存在する場合には、複製データ記憶部222に記憶されている該当する即時ファイルを隠蔽する。このため、ユーザクライアント4のユーザは、一時記憶部214に記憶されている即時ファイルのキャッシュを検索することができる。また、複製データ記憶部222に記憶されている即時ファイルは検索できなくなる。従って、複数の同一ファイルが重複して検索され、ユーザが混乱するというトラブルを回避できる。
 一時記憶部214にキャッシュとして記憶されている即時ファイルは、一定時間の経過などの所定の条件が成立した場合には、一時記憶部214から削除される。この際、複製データ記憶部222に記憶されている該当する即時ファイルの隠蔽が解除され、ユーザクライアント4のユーザが検索可能な状態に変更される。
 従って、同一のファイルが重複して記憶されることを回避でき、不必要に記憶領域のリソースを使用することを回避できる。また、一時記憶部214にキャッシュとして記憶されている即時ファイルが削除された後において、この即時ファイルは複製データ記憶部222に記憶されるので、ユーザはこの即時ファイルを引き続き検索することが可能になる。
 [第1変形例の説明]
 次に、第1変形例について説明する。上述した実施形態では、一時記憶部214に記憶されている即時ファイルと同一の即時ファイルが複製データ記憶部222に記憶されている際には、この複製データ記憶部222に記憶されている即時ファイルの重複表示を行わないことにより、同一の即時ファイルが重複してユーザに検索されることを回避した。
 これに対して、第1変形例に係るデータ複製システムでは、複製データ記憶部222に即時ファイルが記憶された際に、この即時ファイルと同一の即時ファイルが一時記憶部214に記憶されている場合には、一時記憶部214に記憶されている該当する即時ファイルを削除することにより、同一の即時ファイルが重複してユーザに検索することを回避する。以下、詳細に説明する。
 図3は、第1変形例に係るデータ複製システム101の構成を示すブロック図である。図3に示すデータ複製システム101は、前述した図1と対比して、表示制御部232の代わりに削除制御部232aを設けている点で相違する。それ以外の構成は図1と同様であるので、同一符号を付して構成説明を省略する。
 図3に示す削除制御部232aは、複製データ記憶部222に記憶されている即時ファイルと同一の即時ファイルが、一時記憶部214に記憶された際に、一時記憶部214に記憶されている該当する即時ファイルを削除する。即ち、削除制御部232aは、同一ファイル判定部231にて同一の即時ファイルが存在すると判定された際に、一時記憶部214に記憶された即時ファイルを削除する隠蔽処理部としての機能を備えている。
 前述したように、第2の差分D2はバッチ処理により送信されるので、リアルタイム処理で送信される第1の差分D1よりも遅れて送信先サーバ2にて受信される。従って、一時記憶部214においてリアルタイムで即時ファイルが更新されてから、複製データ記憶部222に記憶されている即時ファイルが更新されるまでに、時間差が生じることになる。
 第2の差分D2により複製データ記憶部222に記憶されているファイルが更新されるとき、即ち、リアルタイム処理により第1の差分D1が送信されてから一定時間の経過後には、既に即時ファイルの利用頻度が低下している可能性が高い。このため、一時記憶部214に記憶されている即時ファイルを削除しても大きな影響は発生しないものと想定される。
 従って、複製データ記憶部222に即時ファイルが記憶された際に、一時記憶部214に記憶されている同一の即時ファイルを削除することにより、即時ファイルが重複して存在することを回避する。即ち、削除制御部232aは、一時記憶部214に記憶されている即時ファイルを削除する隠蔽処理部としての機能を備えている。
 次に、図4に示すフローチャートを参照して、第1変形例の動作について説明する。図4に示すステップS31~S38は、図2に示したステップS11~S18と同様であるので、説明を省略する。
 第1変形例では、ステップS38において、一時記憶部214及び複製データ記憶部222に同一の即時ファイルが存在すると判定された際に(S38;YES)、ステップS39において削除制御部232aは、一時記憶部214に記憶されている該当する即時ファイルを削除する。
 従って、一時記憶部214に記憶されている即時ファイルと複製データ記憶部222に記憶されている即時ファイルが重複することを回避でき、ユーザが混乱するという問題の発生を回避することができる。
 [第2変形例の説明]
 次に、第2変形例について説明する。上述した実施形態では一つの送信先サーバ2(データ複製装置)にキャッシュシステム21、複製処理部22、及び同一ファイル処理部23が設けられる例について説明した。第2変形例では、キャッシュシステム21及び同一ファイル処理部23が設けられるサーバと、複製処理部22が設けられるサーバが異なる点で上述した実施形態と相違する。
 図5は、第2変形例に係るデータ複製システム102の構成を示すブロック図である。図5に示すように第2変形例に係るデータ複製システム102は、送信元サーバ1と、サーバ2Aと、サーバ2Bを備えており、各サーバ1、2A、2Bは、ネットワーク3により接続されている。サーバ2Aは、ユーザクライアント4に接続されている。2つのサーバ2A、2Bにより、本発明のデータ複製装置が構成される。
 サーバ2Aは、キャッシュシステム21と、同一ファイル処理部23を備えている。サーバ2Bは、複製処理部22を備えている。キャッシュシステム21、複製処理部22、同一ファイル処理部23は、前述した実施形態と同様の構成を備えている。
 第2変形例に係るデータ複製システム102は、サーバ2Aとサーバ2Bの間の通信がネットワークなどの通信網を経由している以外は、構成、動作共に前述した図1に示した実施形態と同様であるので同一符号を付して詳細な説明を省略する。
 このように、第2変形例に係るデータ複製システム102では、複製処理部22が設置されているサーバ2Bとは異なる場所に設置されたサーバ2Aのキャッシュシステム21により、キャッシュによる処理を実行することが可能になる。このため、各構成要素の設置場所が制限されることを回避することができ、融通性を向上させることが可能になる。
 上記説明した本実施形態のデータ複製装置(送信先サーバ2)には、図6に示すように例えば、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ903(HDD:Hard Disk Drive、SSD:Solid StateDrive)と、通信装置904と、入力装置905と、出力装置906とを備える汎用的なコンピュータシステムを用いることができる。メモリ902およびストレージ903は、記憶装置である。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、データ複製装置(サーバ2)の各機能が実現される。
 なお、データ複製装置(サーバ2)は、1つのコンピュータで実装されてもよく、あるいは複数のコンピュータで実装されても良い。また、データ複製装置(サーバ2)は、コンピュータに実装される仮想マシンであっても良い。データ複製装置(サーバ2)は、クラウド上に構成されてもよい。サーバ1(送信元サーバ)についても同様に、クラウド上に構成されてもよい。
 なお、データ複製装置(サーバ2)用のプログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD (Compact Disc)、DVD (Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。コンピュータ読取り可能な記録媒体は、例えば非一時的な(non-transitory)記録媒体である。
 なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
 1 送信元サーバ(他のサーバ)
 2 送信先サーバ(一のサーバ、データ複製装置)
 2A、2B サーバ
 3 ネットワーク
 4 ユーザクライアント
 11 原本データ記憶部
 12 制御部
 21 キャッシュシステム
 22 複製処理部
 23 同一ファイル処理部
 100、101、102 データ複製システム
 121 差分判定部
 122 即時性判定部
 123 送信部
 211 キャッシュ判定部
 212 キャッシュ処理部
 213 送受信部(受信部)
 214 一時記憶部
 221 送受信部(受信部)
 222 複製データ記憶部
 231 同一ファイル判定部(判定部)
 232 表示制御部(隠蔽処理部)
 232a 削除制御部(隠蔽処理部)
 D1 第1の差分
 D2 第2の差分

Claims (8)

  1.  原本データの複製データを生成するデータ複製装置であって、
     前記原本データに含まれる即時ファイルに発生した変更を示す第1の差分をリアルタイム処理で受信し、前記原本データに含まれる即時ファイル及び非即時ファイルの少なくとも一方に発生した変更を示す第2の差分をバッチ処理で受信する受信部と、
     前記即時ファイルの複製データを記憶し、前記第1の差分の受信時に、前記第1の差分を用いて即時ファイルを更新する一時記憶部と、
     前記即時ファイル及び前記非即時ファイルの少なくとも一方の複製データを記憶し、前記第2の差分の受信時に、前記第2の差分を用いて即時ファイル及び非即時ファイルの少なくとも一方を更新する複製データ記憶部と、
     前記一時記憶部及び前記複製データ記憶部に重複する即時ファイルが存在するか否かを判定する判定部と、
     重複する即時ファイルが存在すると判定された場合に、前記一時記憶部または前記複製データ記憶部に記憶された即時ファイルを、隠蔽または削除する隠蔽処理部と、
     を備えたデータ複製装置。
  2.  前記隠蔽処理部は、重複する即時データが存在すると判定された場合に、前記複製データ記憶部に記憶された前記重複する即時ファイルを隠蔽して参照できないようにする
     請求項1に記載のデータ複製装置。
  3.  前記隠蔽処理部は、重複する即時ファイルに対してユーザからの取得要求が一定期間発生していない場合、重複する即時ファイルが一定期間使用されていない場合、及び前記一時記憶部の記憶容量が所定の閾値に達した場合の、少なくとも一つの場合に、前記一時記憶部に記憶されている重複する即時ファイルを削除し、前記複製データ記憶部に記憶され、隠蔽された即時ファイルの隠蔽を解除する
     請求項2に記載のデータ複製装置。
  4.  前記隠蔽処理部は、重複する即時データが存在すると判定された際に、前記一時記憶部に記憶された即時ファイルを削除する
     請求項1に記載のデータ複製装置。
  5.  前記判定部は、前記即時ファイルのファイル名、ファイルサイズ、ファイルの作成日時、ファイルの更新日時、及びファイルのハッシュ値のうちの少なくとも一つを用いて、前記一時記憶部と前記複製データ記憶部に同一の即時ファイルが存在するか否かを判定する
     請求項1に記載のデータ複製装置。
  6.  一のサーバ及び前記一のサーバに接続された他のサーバを備えたデータ複製システムであって、
     前記他のサーバは、
     複数のファイルを含む原本データを記憶する原本データ記憶部と、
     前記複数のファイルのうち、変更が発生したファイルを判定する差分判定部と、
     前記変更が発生したファイルが即時ファイルであるか、非即時ファイルであるかを判定する即時性判定部と、
     即時ファイルに発生した変更を示す第1の差分をリアルタイム処理で前記一のサーバに送信し、即時ファイル及び非即時ファイルの少なくとも一方に発生した変更を示す第2の差分をバッチ処理にて前記一のサーバに送信する送信部と、を備え、
     前記一のサーバは、
     前記第1の差分及び第2の差分を受信する受信部と、
     前記即時ファイルの複製データを記憶し、前記第1の差分の受信時に、前記第1の差分を用いて即時ファイルを更新する一時記憶部と、
     前記即時ファイル及び前記非即時ファイルの少なくとも一方の複製データを記憶し、前記第2の差分の受信時に、前記第2の差分を用いて即時ファイル及び非即時ファイルの少なくとも一方を更新する複製データ記憶部と、
     前記一時記憶部及び前記複製データ記憶部に重複する即時ファイルが存在するか否かを判定する判定部と、
     重複する即時ファイルが存在すると判定された場合に、前記一時記憶部または前記複製データ記憶部に記憶された即時ファイルを、隠蔽または削除する隠蔽処理部と、
     を備えたデータ複製システム。
  7.  原本データに含まれる即時ファイルに発生した変更を示す第1の差分をリアルタイム処理で受信するステップと、
     前記原本データに含まれる即時ファイル及び非即時ファイルの少なくとも一方に発生した変更を示す第2の差分をバッチ処理で受信するステップと、
     前記即時ファイルの複製データを一時記憶部に記憶し、前記第1の差分の受信時に、前記第1の差分を用いて即時ファイルを更新するステップと、
     前記即時ファイル及び前記非即時ファイルの少なくとも一方の複製データを複製データ記憶部に記憶し、前記第2の差分の受信時に、前記第2の差分を用いて即時ファイル及び非即時ファイルの少なくとも一方を更新するステップと、
     前記一時記憶部及び前記複製データ記憶部に重複する即時ファイルが存在するか否かを判定するステップと、
     重複する即時ファイルが存在すると判定された場合に、前記一時記憶部または前記複製データ記憶部に記憶された即時ファイルを、隠蔽または削除するステップと、
     を備えたデータ複製方法。
  8.  請求項1に記載のデータ複製装置としてコンピュータを機能させるデータ複製プログラム。
PCT/JP2022/039724 2022-10-25 2022-10-25 データ複製装置、データ複製システム、データ複製方法、及びデータ複製プログラム Ceased WO2024089766A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/039724 WO2024089766A1 (ja) 2022-10-25 2022-10-25 データ複製装置、データ複製システム、データ複製方法、及びデータ複製プログラム
JP2024552552A JPWO2024089766A1 (ja) 2022-10-25 2022-10-25

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/039724 WO2024089766A1 (ja) 2022-10-25 2022-10-25 データ複製装置、データ複製システム、データ複製方法、及びデータ複製プログラム

Publications (1)

Publication Number Publication Date
WO2024089766A1 true WO2024089766A1 (ja) 2024-05-02

Family

ID=90830348

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/039724 Ceased WO2024089766A1 (ja) 2022-10-25 2022-10-25 データ複製装置、データ複製システム、データ複製方法、及びデータ複製プログラム

Country Status (2)

Country Link
JP (1) JPWO2024089766A1 (ja)
WO (1) WO2024089766A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338461A (ja) * 2005-06-03 2006-12-14 Hitachi Ltd 電子的なファイルの記憶を制御するシステム及び方法
JP2013058134A (ja) * 2011-09-09 2013-03-28 Nec Corp データ書き込み装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338461A (ja) * 2005-06-03 2006-12-14 Hitachi Ltd 電子的なファイルの記憶を制御するシステム及び方法
JP2013058134A (ja) * 2011-09-09 2013-03-28 Nec Corp データ書き込み装置

Also Published As

Publication number Publication date
JPWO2024089766A1 (ja) 2024-05-02

Similar Documents

Publication Publication Date Title
US11985192B2 (en) Synchronized content library
JP5775177B2 (ja) クローンファイル作成方法と、それを用いたファイルシステム
JP6258532B2 (ja) ユーザ不可知暗号化ファイルのサーバ側非複製化を有するクラウドファイルシステム
US7860907B2 (en) Data processing
CN111290826B (zh) 分布式文件系统、计算机系统和介质
AU2014235853B2 (en) Local server for synced online content management system
US12314326B2 (en) Unified metadata search
US20240126651A1 (en) Restoring a directory to a state prior to a past synchronization event
US8250035B1 (en) Methods and apparatus for creating a branch file in a file system
US8095678B2 (en) Data processing
US10242215B2 (en) Content preview including sharable information
US20100070724A1 (en) Storage system and method for operating storage system
US11442752B2 (en) Central storage management interface supporting native user interface versions
US9852139B1 (en) Directory partitioning with concurrent directory access
US8090925B2 (en) Storing data streams in memory based on upper and lower stream size thresholds
US8176087B2 (en) Data processing
US9460179B1 (en) Systems and methods for providing adaptive visualization of synchronization of multiple files
JP6551126B2 (ja) アーカイブシステム、アーカイブ装置およびアーカイブするためのコンピュータプログラム
US20210240520A1 (en) Method and system for resuming interrupted database backup operations
WO2024089766A1 (ja) データ複製装置、データ複製システム、データ複製方法、及びデータ複製プログラム
JP7417044B2 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
CN116010364B (zh) 网盘文件状态的更新方法、装置、网盘及存储介质
JP7703652B2 (ja) 非同期動作のための意図トラッキング
KR20130022009A (ko) 메타데이터 연산 충돌 회피 방법 및 이를 수행하는 메타 데이터 관리 시스템
JP2017068729A (ja) ファイル記憶装置、情報処理方法、プログラム、ファイル記憶システム

Legal Events

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

Ref document number: 22963418

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2024552552

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22963418

Country of ref document: EP

Kind code of ref document: A1