[go: up one dir, main page]

GB2580996A - Transfer mode control program, transfer mode control device, and transfer mode control method - Google Patents

Transfer mode control program, transfer mode control device, and transfer mode control method Download PDF

Info

Publication number
GB2580996A
GB2580996A GB1914957.4A GB201914957A GB2580996A GB 2580996 A GB2580996 A GB 2580996A GB 201914957 A GB201914957 A GB 201914957A GB 2580996 A GB2580996 A GB 2580996A
Authority
GB
United Kingdom
Prior art keywords
database
transfer
data
transfer time
time
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.)
Granted
Application number
GB1914957.4A
Other versions
GB2580996B (en
GB201914957D0 (en
Inventor
Takahashi Ryohei
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of GB201914957D0 publication Critical patent/GB201914957D0/en
Publication of GB2580996A publication Critical patent/GB2580996A/en
Application granted granted Critical
Publication of GB2580996B publication Critical patent/GB2580996B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An active region RE1 comprising an active server 1a and database 1 is connected via a network with a disaster recovery region RE2 comprising a server 2a and database 2. A first transfer time (or duration) is calculated for the transfer of a first update log from the active database to the recovery database, the first update log for data stored in the active database during the occurrence of, and recovery from, a communication failure between the regions. A second transfer time for the transfer of all data from the active database to the recovery database is then calculated, followed by a third transfer time for a second update log for data stored in the active database during the second transfer time. A transfer mode is selected based on a comparison of the first transfer time and a fourth transfer time (or duration) equal to the sum of the second and third transfer times, with either the first update log or all of the data being transferred. Quick transfer of data for synchronisation between the databases is achieved and a reduction of the recovery point objective (RPO) in the recovery database, even when takeover is necessary.

Description

TRANSFER MODE CONTROL PROGRAM, TRANSFER MODE CONTROL DEVICE, AND TRANSFER MODE CONTROL METHOD
FIELD
The present invention relates to a transfer mode control program, a transfer mode control device, and a transfer mode control method.
BACKGROUND
For example, in an information processing system for providing services to users, a server (hereinafter, also referred to as a disaster recovery server) capable of executing the same process as a process operating in a server in operation (hereinafter, also referred to as an active server) is deployed in some cases. Specifically, such a disaster recovery server is deployed in, for example, a region (hereinafter, also referred to as a disaster recovery region) located several tens to several hundreds of kilometers away from a region (hereinafter, also referred to as an active region) where the active server is installed.
This configuration makes it possible for a provider that provides the services to the users to cause the disaster recovery server to execute a process being executed in the active server to continue providing the services even if it is difficult for the active server to continue the process due to, for example, the occurrence of a natural disaster or the like. (see, Japanese Laid-open Patent Publication No. 2006-268740, Japanese Laid-open Patent Publication No. 2011209816, and Japanese Laid-open Patent Publication No. 2005-122611, for example).
SUMMARY
In the information processing system as described above, the provider synchronizes data stored in a database accessed by the disaster recovery server (hereinafter, also referred to as a second database) with data stored in a database accessed by the active server (hereinafter, also referred to as a first database) in advance. Specifically, the first database transfers, for example, an update history (hereinafter, also referred to as an update log) generated for data stored in the first database to the second database at a predetermined timing. Accordingly, the second database reflects the update log received from the first database on the data stored in the second database.
Thus, the provider can synchronize the data stored in the second database with the data stored in the first database as needed. Therefore, when a natural disaster or the like occurs, the provider can quickly take over processes to the disaster recovery server from the active server.
Here, for example, when a situation occurs in which communication between the active region and the disaster recovery region is impossible due to the occurrence of a natural disaster or the like, the first database fails to transfer the update log to the second database. In this case, update logs not transferred to the second database (hereinafter, also referred to as non-transfer update logs) are stored in the first database depending on the length of time during which the communication is not performed.
Therefore, it is necessary for the first database to efficiently transfer the non-transfer update logs to the second database in case of need for takeover of the processes from the active server to the disaster recovery server in response to the occurrence of another natural disaster or the like, when the communication between the active region and the disaster recovery region is restored.
In view of the foregoing, an object of one aspect of the present invention is to provide a transfer mode control program, a transfer mode control device, and a transfer mode control method capable of efficiently transferring data between databases.
According to an aspect of the embodiments, a computer-readable storage medium, such as a non-transitory computer readable storage medium, stores therein a transfer mode control program that causes a computer to execute a process includes: calculating, when transferring a first update log for data generated and stored in a first database between occurrence and recovery of a failure from the first database to a second database, a first transfer time for the first update log from the first database to the second database based on a data amount of the first update log, a data update amount for data stored in the first database per unit time, and a data transfer amount from the first database to the second database per unit time; calculating a second transfer time for all data stored in the first database from the first database to the second database based on a data amount of all the data stored in the first database and the data transfer amount; calculating, based on a data amount of a second update log for data generated and stored in the first database during the second transfer time, the data update amount, and the data transfer amount, a third transfer time for the second update log from the first database to the second database; calculating a fourth transfer time by summing up the calculated second transfer time and third transfer time; and determining a transfer mode for the data stored in the first database based on a result of comparison between the calculated first transfer time and fourth transfer time.
According to one aspect, it is possible to efficiently transfer data between databases.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is diagram illustrating the configuration of the information processing system 10.
FIG. 2 is diagram illustrating the configuration of the information processing system 10.
FIG. 3 is diagram illustrating the configuration of the information processing system 10.
FIG. 4 is a diagram illustrating the hardware configuration of the first database 1.
FIG. 5 is a functional block diagram of the first database 1.
FIG. 6 is a flowchart illustrating an outline of a transfer mode control process in the first embodiment.
FIG. 7 is a diagram illustrating the outline of the transfer mode control process in the first embodiment.
FIG. 8 is flowchart illustrating the details of the transfer mode control process in the first embodiment.
FIG. 9 is flowchart illustrating the details of the transfer mode control process in the first embodiment.
FIG. 10 is flowchart illustrating the details of the transfer mode control process in the first embodiment.
FIG. 11 is flowchart illustrating the details of the transfer mode control process in the first embodiment.
FIG. 12 illustrates a specific example of delay information 133.
FIG. 13 illustrates a specific example of RPO information 134.
FIG. 14 is a graph illustrating a specific example of the transfer mode control process.
FIG. 15 is a graph illustrating another specific example of the transfer mode control process.
FIG. 16 is a graph illustrating still another specific example of the transfer mode control process.
FIG. 17 is a diagram illustrating the configuration of the information processing system 10 according to the second embodiment.
FIG. 18 is a diagram illustrating a hardware configuration of the management device 3 according to the second embodiment.
FIG. 19 is a functional block diagram of the management device 3 according to the second embodiment.
FIG. 20 is a functional block diagram of the first database 1 according to the second embodiment.
FIG. 21 is flowchart illustrating the details of the transfer mode control process in the second embodiment.
FIG. 22 is flowchart illustrating the details of the transfer mode control process in the second embodiment.
FIG. 23 is flowchart illustrating the details of the transfer mode control process in the second embodiment.
FIG. 24 is flowchart illustrating the details of the transfer mode control process in the second embodiment.
FIG. 25 is flowchart illustrating the details of the transfer mode control process in the second embodiment.
FIG. 26 is flowchart illustrating the details of the transfer mode control process in the second embodiment.
DESCRIPTION OF EMBODIMENTS Configuration of Information Processing System To begin with, the configuration of an information processing system 10 will be described. FIGS. 1 to 3 are diagrams illustrating the configuration of the information processing system 10.
As illustrated in FIG. 1, the information processing system 10 includes an active server la (hereinafter, also referred to as a first information processing device la), a first database 1, and a disaster recovery server 2a (hereinafter, also referred to as a second information processing device 2a), and a second database 2. In the example illustrated in FIG. 1, the first information processing device la and the first database 1 are deployed in an active region RE1, and the second information processing device 2a and the second database 2 are deployed in a disaster recovery region RE2.
Specifically, the first information processing device la is, for example, one or more physical machines, and is also a device that executes processes for providing services to users. For example, the first information processing device la accesses the first database 1 as needed to perform various operations on data stored in the first database 1.
The second information processing device 2a is, for example, one or more physical machines, and is also a device that executes the processes for providing the services to the users instead of the first information processing device la when the first information processing device la fails to continue executing the processes due to the occurrence of a natural disaster or the like.
For example, the second information processing device 2a accesses the second database 2 as needed to perform various operations on data stored in the second database 2.
As illustrated in FIG. 2, when an operation is performed on data in response to the first information processing device la executing a process, the first database 1 transmits an update log indicating the contents of the operation to the second database 2. Accordingly, the second database 2 reflects the update log received from the first database 1 on the data stored in the second database 2.
Thus, the provider can synchronize the data stored in the second database 2 with the data stored in the first database 1.
Here, as illustrated in FIG. 3, when it is not necessary to take over processes from the first information processing device la to the second information processing device 2a in response to the occurrence of a natural disaster or the like but a situation occurs in which communication between the active region RE1 and the disaster recovery region RE2 is impossible, the first database 1 fails to transfer the update log to the second database 2. In this case, non-transfer update logs for the second database 2 are stored in the first database 1 depending on the length of time during which the communication is not performed.
Therefore, it is necessary for the first database 1 to efficiently transfer the non-transfer update logs to the second database 2 in case of need for takeover of the processes from the first information processing device la to the second information processing device 2a in response to the occurrence of another natural disaster or the like, when the communication between the active region RE1 and the disaster recovery region RE2 is restored.
In other words, even when the takeover of the processes from the first information processing device la to the second information processing device 2a occurs before the transfer of the non-transfer update logs is completed and after the communication between the active region RE1 and the disaster recovery region RE2 is restored, it is necessary for the first database 1 to efficiently transfer the non-transfer update logs to the second database 2 so that the recovery point objective (RPO) in the second database 2 can be reduced.
To this end, when transferring an update log for data generated and stored in the first database 1 between occurrence and recovery of a failure (hereinafter, also referred to as a first update log) from the first database 1 to the second database 2, the first database 1 according to the present embodiment calculates a transfer time for the first update log from the first database 1 to the second database 2 (hereinafter, also referred to as a first transfer time) based on a data amount of the first update log, a data update amount for the data stored in the first database 1 per unit time, and a data transfer amount from the first database 1 to the second database 2 per unit time.
Further, the first database 1 calculates a transfer time for all data stored in the first database 1 from the first database 1 to the second database 2 (hereinafter, also referred to as a second transfer time) based on a data amount of all the data stored in the first database 1 and the data transfer amount from the first database 1 to the second database 2 per unit time. Subsequently, the first database 1 calculates, based on a data amount of an update log for data generated and stored in the first database 1 during the second transfer time (hereinafter, also referred to as a second update log), the data update amount for the data stored in the first database 1 per unit time, and the data transfer amount from the first database 1 to the second database 2 per unit time, a transfer time for the second update log from the first database 1 to the second database 2 (hereinafter, also referred to as a third transfer time).
Further, the first database 1 calculates a total time of the calculated second transfer time and third transfer time (hereinafter, also referred to as a fourth transfer time).
After that, the first database 1 determines a transfer mode for the data stored in the first database 1 based on a result of comparison between the calculated first transfer time and fourth transfer time.
That is, the first database 1 according to the present embodiment calculates a transfer time (first transfer time) required to transmit an update log (first update log) generated between occurrence and recovery of a failure to the second database 2 among the data stored in the first database 1 and a transfer time (fourth transfer time) required to transmit all the data stored in the first database 1 to the second database 2. Then, the first database 1 adopts a data transfer mode corresponding to the shorter one of the calculated transfer times. This makes it possible for the first database 1 to quickly transfer necessary data (update log) for performing synchronization between the first database 1 and the second database 2, for example, after recovery from a communication failure caused by the occurrence of a natural disaster or the like. Accordingly, the first database 1 can reduce the RPO in the second database 2 even when it is necessary for the second information processing device 2a to take over the execution of a process having been executed by the first information processing device la in response to a natural disaster or the like occurring again before the transfer of the data is completed.
Hardware Configuration of Information Processing System Next, the hardware configuration of the information processing system 10 will be described. FIG. 4 is a diagram illustrating the hardware configuration of the first database 1.
As illustrated in FIG. 4, the first database 1 includes a CPU 101 which is a processor, a memory 102, an external interface (I/O unit) 103, and a storage medium 104. The respective units are connected to one another via a bus 105.
The memory 102 has, for example, a program storage area (not illustrated) for storing therein a program 110 for performing a process of controlling a data transfer mode (hereinafter, also referred to as a transfer mode control process).
The storage medium 104 also has, for example, a storage unit 130 (hereinafter also referred to as an information storage area 130) for storing therein information used to perform the transfer mode control process. Note that the storage medium 104 may be, for example, a hard disk drive (HDD) or a solid state drive (SSD).
The CPU 101 executes the program 110 loaded from the storage medium 104 into the memory 102 to perform the transfer mode control process. The external interface 103 communicates with, for example, the first information processing device la. The external interface 103 also communicates with the second database 2 via, for example, a network NW.
Functions of Information Processing System Next, the functions of the information processing system 10 will be described. FIG. 5 is a functional block diagram of the first database 1.
As illustrated in FIG. 5, the first database 1 implements various functions including an information acquisition unit 111, an information management unit 112, a first calculation unit 113, a second calculation unit 114, a mode determination unit 115, and a data transfer unit 116 through, for example, organic cooperation of hardware, such as the CPU 101 and the memory 102 of the first database 1, and the program 110.
The first database 1 also stores, for example, stored data 131, an update log 132, delay information 133, and RPO information 134 in the information storage area 130, as illustrated in FIG. 5.
The stored data 131 is data stored in the first database 1 (information storage area 130) as the first information processing device is executes processes for providing the services to the users. Specifically, the stored data 131 may include, for example, personal information of the user who uses a service.
The update log 132 is, for example, information indicating the contents of an operation (for example, addition of new data, update of data, or deletion of data) performed on the stored data 131 stored in the information storage area 130. Note that the update log 132 may include, for example, the data itself on which the operation has been performed (for example, the data itself newly added or the data itself updated).
The information acquisition unit 111 accesses the second database 2 to acquire the delay information 133 and the RPO information 134 stored in an information storage area (not illustrated) of the second database 2, for example.
Specifically, the information acquisition unit 111 periodically accesses the second database 2 to acquire the delay information 133 and the RPO information 134 on which the latest information is reflected, for example.
The delay information 133 is, for example, information indicating a period of time from the time when the second database 2 last received the update log 132 transmitted from the first database 1 to the current time (hereinafter, also referred to as a delay time). The RPO information 134 is, for example, information indicating the maximum time of RPO allowable for the second database 2. Note that the delay information 133 and the RPO information 134 may be transmitted from the second database 2 as needed.
The information acquisition unit 111 also acquires a data amount of the update log 132 generated within the period of time indicated by the delay information 133 acquired from the second database 2 (hereinafter, also referred to as a first update log 132a) and a data amount of all the data stored in the first database 1 (stored data 131). In addition, the information acquisition unit 111 acquires a data update amount of the data stored in the first database 1 per unit time (the occurrence frequency of the update log 132 per unit time) and a data transfer amount from the first database 1 to the second database 2 per unit time.
The information management unit 112 stores, for example, in the information storage area 130, the delay information 133 and the RPO information 134 acquired from the second database 2 by the information acquisition unit 111.
The first calculation unit 113 calculates the first transfer time for the first update log 132a from the first database 1 to the second database 2 based on the data amount of the first update log 132a acquired by the information acquisition unit 111, the data update amount acquired by the information acquisition unit 111, and the data transfer amount acquired by the information acquisition unit 111.
The second calculation unit 114 calculates the second transfer time for all the data stored in the first database 1 from the first database 1 to the second database 2 based on the data amount of all the data acquired by the information acquisition unit 111 and the data transfer amount acquired by the information acquisition unit 111.
Here, based on the data amount of the update log 132 generated during the calculated second transfer time (hereinafter, also referred to as a second update log 132b), the data update amount acquired by the information acquisition unit 111, and the data transfer amount acquired by the information acquisition unit 111, the second calculation unit 114 also calculates the third transfer time for the second update log 132b from the first database 1 to the second database 2.
In addition, the second calculation unit 114 sums up the calculated second transfer time and third transfer time to calculate the fourth transfer time. The mode determination unit 115 determines a transfer mode for the data stored in the first database 1 based on the result of comparison between the first transfer time calculated by the first calculation unit 113 and the fourth transfer time calculated by the second calculation unit 114. Specifically, as the transfer mode for the data stored in the first database 1 to be determined, the mode determination unit 115 selects one of a transfer mode of transferring the first update log 132a (transfer mode requiring the first transfer time) and a transfer mode of transferring all the data stored in the first database 1 and the second update log 132b (transfer mode requiring the fourth transfer time).
When the mode determination unit 115 determines the transfer mode, the data transfer unit 116 transfers necessary data to the second database 2 according to the transfer mode determined by the mode determination unit 115.
Note that, when the mode determination unit 115 does not determine the transfer mode (that is, when no communication failure occurs), the data transfer unit 116 transfers the update log 132 stored in the information storage area 130 to the second database 2 as a normal process. Specifically, the data transfer unit 116 transfers, to the second database 2, the update log 132 generated between the time when the update log 132 was last transferred and the current time, for example, at regular intervals.
Outline of First Embodiment Next, an outline of a first embodiment will be described. FIG. 6 is a flowchart illustrating an outline of a transfer mode control process in the first embodiment. FIG. 7 is a diagram illustrating the outline of the transfer mode control process in the first embodiment.
As illustrated in FIG. 6, the first database 1 waits until the data transfer timing is reached (NO in step S1). The data transfer timing may be, for example, a timing at which a communication failure occurred between the first database 1 and the second database 2 due to a natural disaster or the like is recovered.
Then, when the data transfer timing is reached (YES in S1), the first database 1 calculates the first transfer time for the first update log 132a generated between the occurrence and recovery of a failure, as illustrated in FIG. 7 (S2).
The first database 1 also calculates the second transfer time for all the data stored in the first database 1 (stored data 131) (53). Subsequently, the first database 1 calculates the third transfer time for the second update log 132b generated during the second transfer time calculated in the process of S3 (S4). Furthermore, the first database 1 sums up the second transfer time calculated in the process of S3 and the third transfer time calculated in the process of S4 to calculates the fourth transfer time (55).
After that, the first database 1 determines a transfer mode for the data stored in the first database 1 based on a result of comparison between the first transfer time calculated in the process of S2 and the fourth transfer time calculated in the process of S5 (S6).
This makes it possible for the first database 1 to quickly transfer necessary data (update log 132) for performing synchronization between the first database 1 and the second database 2, for example, after recovery from a communication failure caused by the occurrence of a natural disaster or the like. Accordingly, the first database 1 can reduce the RPO in the second database 2 even when it is necessary for the second information processing device 2a to take over the execution of a process having been executed by the first information processing device la in response to a natural disaster or the like occurring again before the transfer of the data is completed.
Details of First Embodiment Next, the details of the first embodiment will be described. FIGS. 8 to 11 are flowcharts illustrating the details of the transfer mode control process in the first embodiment. FIGS. 12 to 16 are diagrams illustrating the details of the transfer mode control process in the first embodiment. Note that, in the following description, it is assumed that the delay information 133 and the RPO information 134 are stored in advance in the information storage area 130.
As illustrated in FIG. 8, the information acquisition unit 111 of the first database 1 waits until the data transfer timing is reached (NO in step S11). Then, when the data transfer timing is reached (YES in S11), the information acquisition unit 111 acquires the data amount of the first update log 132a generated during the period of time indicated by the delay information 133 stored in the information storage area 130 (S12). A specific example of the delay information 133 will be described below.
Specific Example of Delay Information FIG. 12 illustrates the specific example of the delay information 133.
The delay information 133 illustrated in FIG. 12 includes the following items: "item number" in which information for identifying each piece of information included in the delay information 133 is stored, "database name" in which the name of each database is stored, and "delay time" in which a delay time in each database is stored.
Specifically, in the delay information 133 illustrated in FIG. 12, the information of the "item number" of "1" includes "database 2" stored as the "database name" and "5 (hours)" stored as the "delay time".
That is, the delay information 133 illustrated in FIG. 12 indicates, for example, that the period of time from the time when the second database 2 last received the update log 132 from the first information processing device la to the current time is 5 hours. Accordingly, the information acquisition unit 111 refers to, for example, the delay information 133 illustrated in FIG. 12 to acquire the update log 132 generated between 5 hours before and the current time as the first update log 132a in the process of 512.
Note that, in the process of S12, the information acquisition unit 111 may acquire, as the first update log 132a, the update log 132 which has not yet been transferred to the second database 2 among the update logs 132 stored in the information storage area 130, for example.
Returning to FIG. 8, the information acquisition unit 111 acquires a data update amount of the data stored in the first database 1 per unit time (S13). Specifically, the information acquisition unit 111 may monitor the occurrence status of the update log 132 for a certain period of time, and measure the occurrence frequency of the update log 132 per unit time, thereby specifying the data update amount per unit time, for example.
Furthermore, the information acquisition unit 111 acquires a data transfer amount from the first database 1 to the second database 2 per unit time (S14).
Specifically, the information acquisition unit 111 may acquire the communication band of a network between the first database 1 and the second database 2 from a network device (not illustrated) deployed in the network between the first database 1 and the second database 2, thereby specifying the acquired communication band as the data transfer amount per unit time, for
example.
After that, the first calculation unit 113 of the first database 1 divides the data amount of the first update log 132a acquired in the process of S12 by a data amount obtained by subtracting the data update amount acquired in the process of S13 from the data transfer amount acquired in the process of S14, to calculate the first transfer time (S15).
That is, the first calculation unit 113 calculates a transfer time (first transfer time) for transferring, to the second database 2, the first update log 132a stored in the first database 1 and a new update log 132 generated during the transfer of the first update log 132a.
Subsequently, as illustrated in FIG. 9, the information acquisition unit 111 acquires a data amount of all the data stored in the first database 1 (stored data 131) (S21).
Then, the second calculation unit 114 of the first database 1 divides the data amount acquired in the process of S21 by the data transfer amount acquired in the process of S14 to calculate the second transfer time (S22).
That is, the second calculation unit 114 calculates a transfer time (second transfer time) for transferring all the data stored in the first database 1 to the second database 2.
Next, the information acquisition unit 111 acquires a data amount of the second update log 132b generated during the second transfer time calculated in the process of S22 (S23).
Then, the second calculation unit 114 divides the data amount of the second update log 132b acquired in the process of S23 by a data amount obtained by subtracting the data update amount acquired in the process of S13 from the data transfer amount acquired in the process of S14, to calculate the third transfer time (524).
That is, the second calculation unit 114 calculates a transfer time (third transfer time) for transferring, to the second database 2, the second update log 132b generated during the second transfer time and a new update log 132 generated during the transfer of the second update log 132b.
After that, the second calculation unit 114 sums up the second transfer time calculated in the process of S22 and the third transfer time calculated in the process of S24 to calculate the fourth transfer time (525).
That is, the second calculation unit 114 calculates a transfer time (fourth transfer time) for transferring, to the second database 2, all the data stored in the first database 1 at the time of communication failure recovery and a new update log 132 generated after the communication failure recovery.
Then, as illustrated in FIG. 10, the mode determination unit 115 of the first database 1 compares the first transfer time calculated in the process of S15 with the fourth transfer time calculated in the process of S25 (S31).
As a result, when the fourth transfer time is longer than the first transfer time (YES in 532), the mode determination unit 115 determines that only the update log 132 including the first update log 132a is to be transferred to the second database 2 (S33).
After that, the data transfer unit 116 of the first database 1 transfers only the update log 132 including the first update log 132a to the second database (S34).
That is, when the fourth transfer time is longer than the first transfer time, the mode determination unit 115 determines that the transfer of only the update log 132 including the first update log 132a provides synchronization between the first database 1 and the second database 2 more quickly than the transfer of all the data stored in the first database 1. Therefore, in this case, the data transfer unit 116 transfers the first update log 132a to the second database 2.
This makes it possible for the first database 1 to adopt a transfer mode capable of quickly synchronizing the second database 2 with the first database 1.
On the other hand, when the fourth transfer time is shorter than the first transfer time (NO in S32), the mode determination unit 115 compares the total time of the second transfer time calculated in the process of S22 and the period of time indicated by the delay information 133 stored in the information storage area 130 with the period of time indicated by the RPO information 134 stored in the information storage area 130 (S41), as illustrated in FIG. 11. A specific example of the RPO information 134 will be described below.
Specific Example of RPO Information FIG. 13 illustrates a specific example of RPO information 134.
The RPO information 134 illustrated in FIG. 13 includes the following items: "item number" in which information for identifying each piece of information included in the RPO information 134 is stored, "database name" in which the name of each database is stored, and "maximum RPO" in which the maximum allowable time of RPO predetermined for each database is stored.
Specifically, in the RPO information 134 illustrated in FIG. 13, the information of the "item number" of "1" includes "database 2" stored as the "database name" and "8 (hours)" stored as the "maximum RPO".
That is, the RPO information 134 illustrated in FIG. 13 indicates, for example, that the maximum time of RPO allowable for the second database 2 is 8 hours.
Returning to FIG. 11, when the period of time indicated by the RPO information 134 stored in the information storage area 130 is longer than the total time of the second transfer time calculated in the process of S22 and the period of time indicated by the delay information 133 stored in the information storage area 130 (YES in S42), the mode determination unit 115 determines that all the data stored in the first database 1 is to be transferred to the second database 2 (S43).
After that, the data transfer unit 116 transfers all the data stored in the first database 1 to the second database 2 (S44).
On the other hand, when the period of time indicated by the RPO information 134 stored in the information storage area 130 is shorter than the total time of the second transfer time calculated in the process of S22 and the period of time indicated by the delay information 133 stored in the information storage area 130 (NO in S42), the mode determination unit 115 performs the process of S33 and subsequent processes.
That is, when the fourth transfer time is shorter than the first transfer time, the mode determination unit 115 determines that the transfer of all the data stored in the first database 1 provides synchronization between the first database 1 and the second database 2 more quickly than the transfer of only the update log 132 including the first update log 132a.
Here, for the transfer of only the update log 132 including the first update log 132a, the second database 2 can reflect the update log 132 on the stored data (not illustrated) stored in the information storage area (not illustrated) of the second database 2 in order of reception from the first database 1. Therefore, for the transfer of only the update log 132 including the first update log 132a, the RPO in the second database 2 decreases at the time of failure recovery (at the start of transfer of the update log 132) as a peak.
On the other hand, for the transfer of all the data stored in the first database 1, the RPO in the second database 2 continues to increase until the transfer of all the data stored in the first database 1 is completed.
Therefore, even when the fourth transfer time is shorter than the first transfer time, the mode determination unit 115 does not adopt a mode of transferring all the data stored in the first database 1 but a mode of transferring only the update log 132 including the first update log 132a if the RPO in the second database 2 exceeds the maximum allowable time before the transfer of all the data stored in the first database 1 is completed (that is, when the process of S42 results in "NO").
This makes it possible for the first information processing device la to determine the data transfer mode for the second database 2 within the range in which the RPO in the second database 2 does not exceed the maximum allowable time.
Specific Example of Transfer Mode Control Process Next, specific examples of the transfer mode control process will be described. FIGS. 14 to 16 are graphs illustrating the specific examples of the transfer mode control process. In the graphs illustrated in FIGS. 14 to 16, the horizontal axis indicates the elapsed time, and the vertical axis indicates the delay time.
Specifically, in the example illustrated in FIG. 14, the fourth transfer time (t4 corresponding to the horizontal axis), which is the total time of the second transfer time (t2 corresponding to the horizontal axis) calculated in the process of 522 and the third transfer time (t3 corresponding to the horizontal axis) calculated in the process of S24, is longer than the first transfer time (ti corresponding to the horizontal axis) calculated in the process of 515.
Therefore, in this case, the mode determination unit 115 determines that only the update log 132 including the first update log 132a is to be transferred in the process of S33.
Further, in the example illustrated in FIG. 15, the fourth transfer time (t4 corresponding to the horizontal axis), which is the total time of the second transfer time (t2 corresponding to the horizontal axis) calculated in the process of S22 and the third transfer time (t3 corresponding to the horizontal axis) calculated in the process of 524, is shorter than the first transfer time (tl corresponding to the horizontal axis) calculated in the process of 515. In addition, in the example illustrated in FIG. 15, the total time of the time (t0 corresponding to the vertical axis) indicated by the delay information 133 and the second transfer time (t2 corresponding to the vertical axis) calculated in the process of S22 is shorter than the maximum RPO.
Therefore, in this case, the mode determination unit 115 determines that all the data stored in the first database 1 is to be transferred in the process of 544.
On the other hand, in the example illustrated in FIG. 16, the fourth transfer time (t4 corresponding to the horizontal axis), which is the total time of the second transfer time (t2 corresponding to the horizontal axis) calculated in the process of S22 and the third transfer time (t3 corresponding to the horizontal axis) calculated in the process of S24, is shorter than the first transfer time (t1 corresponding to the horizontal axis) calculated in the process of 515. However, in the example illustrated in FIG. 16, the total time of the time (t0 corresponding to the vertical axis) indicated by the delay information 133 and the second transfer time (t2 corresponding to the vertical axis) calculated in the process of S22 is longer than the maximum RPO.
Therefore, in this case, the mode determination unit 115 determines that only the update log 132 including the first update log 132a is to be transferred in the process of 533.
In such a manner, when transferring the first update log 132a for the data generated and stored in the first database 1 between occurrence and recovery of a failure from the first database 1 to the second database 2, the first database 1 according to the present embodiment calculates the first transfer time for the first update log 132a from the first database 1 to the second database 2 based on the data amount of the first update log 132a, the data update amount for the data stored in the first database 1 per unit time, and the data transfer amount from the first database 1 to the second database 2 per unit time.
Further, the first database 1 calculates the second transfer time for all the data stored in the first database 1 from the first database 1 to the second database 2 based on a data amount of all the data stored in the first database 1 and the data transfer amount from the first database 1 to the second database 2 per unit time.
Subsequently, the first database 1 calculates the third transfer time for the second update log 132b from the first database 1 to the second database 2 based on the data amount of the second update log 132b for the data generated and stored in the first database 1 during the second transfer time, the data update amount for the data stored in the first database 1 per unit time, and the data transfer amount from the first database 1 to the second database 2 per unit time.
In addition, the first database 1 sums up the calculated second transfer time and third transfer time to calculate the fourth transfer time.
After that, the first database 1 determines a transfer mode for the data stored in the first database 1 based on a result of comparison between the calculated first transfer time and fourth transfer time.
That is, the first database 1 according to the present embodiment calculates the first transfer time required to transmit the first update log 132a generated between occurrence and recovery of a failure to the second database 2, and the fourth transfer time required to transmit all the data stored in the first database 1 to the second database 2, among the data stored in the first database 1. Then, the first database 1 adopts a data transfer mode corresponding to the shorter one of the calculated transfer times.
This makes it possible for the first database 1 to quickly transfer necessary data (update log 132) for performing synchronization between the first database 1 and the second database 2, for example, after recovery from a communication failure caused by the occurrence of a natural disaster or the like. Accordingly, the first database 1 can reduce the RPO in the second database 2 even when it is necessary for the second information processing device 2a to take over the execution of a process having been executed by the first information processing device la in response to a natural disaster or the like occurring again before the transfer of the data is completed.
Note that, in the first embodiment, the case of only one set of databases (the first database 1 and the second database 2) which are deployed in the active region RE1 and the disaster recovery region RE2, respectively, has been described, but a plurality of sets of databases may be deployed. In this case, the transfer mode control process in the first embodiment may be performed in each of the databases deployed in the active region RE1.
Second Embodiment Next, a second embodiment will be described. A transfer mode control process in the second embodiment is a process performed in the case where a management device 3 described later is included in an information processing system 10.
Configuration of Information Processing System in Second Embodiment To begin with, the configuration of the information processing system 10 according to the second embodiment will be described. FIG. 17 is a diagram illustrating the configuration of the information processing system 10 according to the second embodiment. Only the contents different from the first embodiment will be described below.
As illustrated in FIG. 17, the information processing system 10 includes the management device 3 unlike the case of the first embodiment. In the example illustrated in FIG. 17, the management device 3 is deployed in the disaster recovery region RE2.
The management device 3 is, for example, one or more physical machines, and is also a device that accesses each of the first database 1 and the second database 2 as needed to control transfer of data from the first database 1 to the second database 2.
Note that, although the case where the management device 3 is deployed in the disaster recovery region RE2 will be described below, the management device 3 may be deployed in the active region RE1, or may be deployed in each of the active region RE1 and the disaster recovery region RE2.
Hardware Configuration of Information Processing System in Second Embodiment Next, the hardware configuration of the information processing system 10 according to the second embodiment will be described. FIG. 18 is a diagram illustrating the hardware configuration of the management device 3.
As illustrated in FIG. 18, the management device 3 includes a CPU 301 which is a processor, a memory 302, an external interface (I/O unit) 303, and a storage medium 304. The respective units are connected to one another via a bus 305.
The memory 302 has, for example, a program storage area (not illustrated) for storing therein a program 310 for performing a transfer mode control process. The storage medium 304 also has, for example, a storage unit 330 (hereinafter also referred to as an information storage area 330) for storing therein information used to perform the transfer mode control process. Note that the storage medium 304 may be, for example, an HDD or an SSD.
The CPU 301 executes the program 310 loaded from the storage medium 304 into the memory 302 to perform the transfer mode control process.
The external interface 303 communicates with, for example, the first database 1. The external interface 303 also communicates with the second database 2 via, for example, a network NW.
Functions of Information Processing System in Second Embodiment Next, the functions of the information processing system 10 according to the second embodiment will be described. FIG. 19 is a functional block diagram of the management device 3 according to the second embodiment. FIG. 20 is a functional block diagram of the first database 1 according to the second embodiment.
To begin with, the functions of the management device 3 will be described. As illustrated in FIG. 19, the management device 3 implements various functions including an information acquisition unit 311, an information management unit 312, and an information transmission and reception unit 313 through, for example, organic cooperation of hardware, such as the CPU 301 and the memory 302 of the management device 3, and the program 310. The management device 3 also stores, for example, delay information 331 and RPO information 332 in the information storage area 330, as illustrated in FIG. 19. Note that the delay information 331 and the RPO information 332 are information having the same contents as the delay information 133 and the RPO information 134 in the first embodiment.
The information acquisition unit 311 accesses the second database 2 to acquire the delay information 331 and the RPO information 332 stored in an information storage area (not illustrated) of the second database 2, for example.
Specifically, the information acquisition unit 311 periodically accesses the second database 2 to acquire the delay information 331 and the RPO information 332 on which the latest information is reflected, for example. Note that the delay information 331 and the RPO information 332 may be transmitted from the second database 2 as needed.
The information management unit 312 stores, for example, in the information storage area 330, the delay information 331 and the RPO information 332 acquired from the second database 2 by the information acquisition unit 311.
The information transmission and reception unit 313 transmits, for example, the delay information 331 and the RPO information 332 acquired from the second database 2 by the information acquisition unit 311 to the first database 1. The information transmission and reception unit 313 also receives transfer mode information transmitted from the first database 1.
Furthermore, when receiving the transfer mode information transmitted from the first database 1, the information transmission and reception unit 313 instructs the first database 1 to transfer all the data stored in the first database 1 (stored data 131) to the second database 2 or to transfer the update log 132 including the first update log 132a to the second database 2, according to the contents of the transfer mode information. Note that, when instructing the first database 1 to transfer all the data stored in the first database 1 to the second database 2, the information transmission and reception unit 313 may secure a storage area in the second database 2 for the data (all the data stored in the first database 1) to be transferred from the first database 1 before starting the transfer of data.
Next, the function of the first database 1 will be described. As illustrated in FIG. 20, the first database 1 implements various functions including an information acquisition unit 111, an information management unit 112, a first calculation unit 113, a second calculation unit 114, a mode determination unit 115, a data transfer unit 116, and an information transmission and reception unit 117 through, for example, organic cooperation of hardware, such as the CPU 101 and the memory 102 of the first database 1, and the program 110.
The first database 1 also stores, for example, stored data 131 and an update log 132 in the information storage area 130, as illustrated in FIG. 20.
Note that the first calculation unit 113, the second calculation unit 114, the mode determination unit 115, and the data transfer unit 116 are the same as those in the first embodiment, and thus the description thereof is not repeated.
Further, the stored data 131 and the update log 132 are the same as those in the first embodiment, and thus the description thereof is not repeated.
The information transmission and reception unit 117 receives, for example, the delay information 331 and the RPO information 332 transmitted from the management device 3. Further, when the mode determination unit 115 determines the transfer mode, the information transmission and reception unit 117 transmits information indicating the transfer mode (transfer mode information) determined by the mode determination unit 115 to the management device 3. Furthermore, the information transmission and reception unit 117 receives, from the management device 3, an instruction to transfer all the data stored in the first database 1 to the second database 2, or an instruction to transfer only the update log 132 including the first update log 132a to the second database 2.
The information management unit 112 stores, for example, in the information storage area 130, the delay information 133 and the RPO information 134 received from the management device 3 by the information transmission and reception unit 117.
The information acquisition unit 111 acquires a data amount of the first update log 132a generated during the period of time indicated by the delay information 133 stored in the information storage area 130 and a data amount of all the data stored in the first database 1. In addition, the information acquisition unit 111 acquires a data update amount of the data stored in the first database 1 per unit time and a data transfer amount from the first database 1 to the second database 2 per unit time. Note that the information acquisition unit 111 in the second embodiment does not acquire information from the second database 2 unlike the case of that in the first embodiment.
Details of Second Embodiment Next, the details of the second embodiment will be described. FIGS. 21 to 26 are flowcharts illustrating the details of the transfer mode control process in the second embodiment. In the following description, it is assumed that the delay information 331 and the RPO information 332 are stored in advance in the information storage area 330.
Transfer Mode Control Process (1) in Management Device To begin with, part of the transfer mode control process in the management device 3 will be described. FIG. 21 is a flowchart illustrating part of the transfer mode control process in the management device 3.
As illustrated in FIG. 21, the information acquisition unit 311 of the management device 3 waits until the data transfer timing is reached (NO in step S51).
Then, when the data transfer timing is reached (YES in S51), the information acquisition unit 311 acquires the delay information 331 stored in the information storage area 330 (552). In this case, the information acquisition unit 311 acquires the RPO information 332 stored in the information storage area 330 (S53).
After that, the information transmission and reception unit 313 of the management device 3 transmits the delay information 331 acquired in the process of S52 and the RPO information 332 acquired in the process of S53 to the first database 1 (S54).
Transfer Mode Control Process in First Database Next, the transfer mode control process in the first database 1 will be described. FIGS. 22 to 25 are flowcharts illustrating the transfer mode control process in the first database 1.
As illustrated in FIG. 22, the information transmission and reception unit 117 of the first database 1 waits until receiving the delay information 331 and the RPO information 332 from the management device 3 (NO in S61).
Then, when the delay information 331 and the RPO information 332 are received from the management device 3 (YES in S61), the information acquisition unit 111 of the first database 1 acquires a data amount of the first update log 132a generated during the period of time indicated by the delay information 133 stored in the information storage area 130 (562).
In this case, the information acquisition unit 111 acquires a data update amount of the data stored in the first database 1 per unit time (563).
Furthermore, the information acquisition unit 111 acquires a data transfer amount from the first database 1 to the second database 2 per unit time (S64).
After that, the first calculation unit 113 of the first database 1 divides the data amount of the first update log 132a acquired in the process of S62 by a data amount obtained by subtracting the data update amount acquired in the process of S63 from the data transfer amount acquired in the process of 564, to calculate the first transfer time (S65).
Subsequently, as illustrated in FIG. 23, the information acquisition unit 111 acquires a data amount of all the data stored in the first database 1 (571).
Then, the second calculation unit 114 of the first database 1 divides the data amount of all the data acquired in the process of S71 by the data transfer amount acquired in the process of S64 to calculate the second transfer time (S72).
Next, the information acquisition unit 111 acquires a data amount of the second update log 132b generated during the second transfer time calculated in the process of 572 (S73).
Then, the second calculation unit 114 divides the data amount of the second update log 132b acquired in the process of 573 by a data amount obtained by subtracting the data update amount acquired in the process of S63 from the data transfer amount acquired in the process of 564, to calculate the third transfer time (574).
After that, the second calculation unit 114 sums up the second transfer time calculated in the process of S72 and the third transfer time calculated in the process of S74 to calculate the fourth transfer time (S75).
Then, as illustrated in FIG. 24, the mode determination unit 115 of the first database 1 compares the first transfer time calculated in the process of S65 with the fourth transfer time calculated in the process of S75 (S81).
As a result, when the fourth transfer time is longer than the first transfer time (YES in S82), the mode determination unit 115 determines that only the update log 132 including the first update log 132a is to be transferred to the second database 2 (S83).
After that, the information transmission and reception unit 117 transmits information indicating the transfer mode (transfer mode information) determined in the process of S83 to the management device 3 (S84).
Then, the information transmission and reception unit 117 waits until receiving a data transfer instruction from the management device 3 (NO in S85).
Specifically, the information transmission and reception unit 117 waits until receiving the data transfer instruction according to the transfer mode determined in the process of S83.
After that, when the data transfer instruction is received from the management device 3 (YES in S85), the data transfer unit 116 of the first database 1 transfers only the update log 132 including the first update log 132a to the second database 2 (S86).
On the other hand, when the fourth transfer time is shorter than the first transfer time (NO in S82), the mode determination unit 115 compares the total time of the second transfer time calculated in the process of S62 and the period of time indicated by the delay information 331 received in the process of S61 with the period of time indicated by the RPO information 134 received in the process of S61 (591), as illustrated in FIG. 25.
As a result, when the period of time indicated by the RPO information 134 received in the process of S61 is longer than the total time of the second transfer time calculated in the process of S62 and the period of time indicated by the delay information 331 received in the process of 561 (YES in S92), the mode determination unit 115 determines that all the data stored in the first database 1 is to be transferred to the second database 2 (S93).
After that, the information transmission and reception unit 117 transmits information indicating the transfer mode (transfer mode information) determined in the process of S93 to the management device 3 (S94). Then, the information transmission and reception unit 117 waits until receiving a data transfer instruction from the management device 3 (NO in S95). Specifically, the information transmission and reception unit 117 waits until receiving the data transfer instruction according to the transfer mode determined in the process of S93.
After that, when the data transfer instruction is received from the management device 3 (YES in S95), the data transfer unit 116 of the first database 1 transfers all data stored in the first database 1 to the second database 2 (596).
On the other hand, when the period of time indicated by the RPO information 134 received in the process of S61 is shorter than the total time of the second transfer time calculated in the process of S62 and the period of time indicated by the delay information 331 received in the process of S61 (NO in S92), the mode determination unit 115 performs the process of S83 and subsequent processes.
Transfer Mode Control Process (2) in Management Device Next, part of the transfer mode control process in the management device 3 will be described. FIG. 26 is a flowchart illustrating part of the transfer mode control process in the processing management device 3.
As illustrated in FIG. 26, the information transmission and reception unit 313 waits until receiving the transfer mode information from the first database 1 (NO in 5101).
Then, when the transfer mode information is received from the first database 1 and the received transfer mode information indicates a mode of transferring all the data stored in the first database 1 (YES in 5101 and YES in S102), the information transmission and reception unit 313 instructs the first database 1 to transfer all the data stored in the first database 1 to the second database 2 (5103).
Note that, in this case, the information transmission and reception unit 313 may secure a storage area in the second database 2 for the data (all the data stored in the first database 1) to be transferred from the first database 1 before performing the process of 5103.
On the other hand, when the transfer mode information is received from the first database 1 and the received transfer mode information indicates a mode of transferring only the update log 132 including the first update log 132a (YES in 5101 and NO in S102), the information transmission and reception unit 313 instructs the first database 1 to transfer only the update log 132 including the first update log 132a to the second database 2 (5104).
That is, in the second embodiment, the load of the processes performed by the first database 1 in the first embodiment is distributed between the first database 1 and the management device 3.
In the second embodiment, this makes it possible to reduce the processing load on the first database 1.
Note that, in the second embodiment, the case of only one set of databases (the first database 1 and the second database 2) which are deployed in the active region RE1 and the disaster recovery region RE2, respectively, has been described, but a plurality of sets of databases may be deployed. In this case, the transfer mode control process in the second embodiment may be performed in each of the databases deployed in the active region RE1.
REFERENCE SIGNS LIST
1: First database la: First information processing device 2: Second database 2a: Second information processing device NW: Network 3: Management device

Claims (13)

  1. CLAIMS1. A computer-readable storage medium storing therein a transfer mode control program that causes a computer to execute a process comprising: calculating, when transferring a first update log for data generated and stored in a first database between occurrence and recovery of a failure from the first database to a second database, a first transfer time for the first update log from the first database to the second database based on a data amount of the first update log, a data update amount for data stored in the first database per unit time, and a data transfer amount from the first database to the second database per unit time; calculating a second transfer time for all data stored in the first database from the first database to the second database based on a data amount of all the data stored in the first database and the data transfer amount; calculating, based on a data amount of a second update log for data generated and stored in the first database during the second transfer time, the data update amount, and the data transfer amount, a third transfer time for the second update log from the first database to the second database; calculating a fourth transfer time by summing up the calculated second transfer time and third transfer time; and determining a transfer mode for the data stored in the first database based on a result of comparison between the calculated first transfer time and fourth transfer time.
  2. 2. The computer-readable storage medium according to claim 1, wherein the calculating the first transfer time includes dividing the data amount of the first update log by a data amount obtained by subtracting the data update amount from the data transfer amount to calculate the first transfer time.
  3. 3. The computer-readable storage medium according to claim 1 or claim 2, wherein the calculating the fourth transfer time includes dividing the data amount of all the data stored in the first database by the data transfer amount to calculate the second transfer time.
  4. 4. The computer-readable storage medium according to claim 1 or claim 2, wherein the calculating the fourth transfer time includes dividing the data amount of the second update log by a data amount obtained by subtracting the data update amount from the data transfer amount to calculate the third transfer time.
  5. 5. The computer-readable storage medium according to any preceding claim, wherein the determining includes determining, when the first transfer time is shorter than the fourth transfer time, that the first update log is to be transferred from the first database to the second database.
  6. 6. The computer-readable storage medium according to any preceding claim, wherein the determining includes determining, when the fourth transfer time is shorter than the first transfer time, that all the data stored in the first database is to be transferred from the first database to the second database.
  7. 7. The computer-readable storage medium according to claim 6, wherein the determining includes determining, when the fourth transfer time is shorter than the first transfer time and a total time of a period of time from the occurrence of the failure to the recovery of the failure and the second transfer time is longer than a predetermined threshold time, that the first update log is to be transferred from the first database to the second database.
  8. 8. A transfer mode control device comprising: a first calculation unit configured to calculate, when a first update log for data generated and stored in a first database between occurrence and recovery of a failure is transferred from the first database to a second database, a first transfer time for the first update log from the first database to the second database based on a data amount of the first update log, a data update amount for data stored in the first database per unit time, and a data transfer amount from the first database to the second database per unit time; a second calculation unit configured to calculate a second transfer time for all data stored in the first database from the first database to the second database based on a data amount of all the data stored in the first database and the data transfer amount, calculate, based on a data amount of a second update log for data generated and stored in the first database during the second transfer time, the data update amount, and the data transfer amount, a third transfer time for the second update log from the first database to the second database, calculate a fourth transfer time by summing up the calculated second transfer time and third transfer time; and a mode determination unit configured to determine a transfer mode for the data stored in the first database based on a result of comparison between the calculated first transfer time and fourth transfer time.
  9. 9. The transfer mode control device according to claim 8, wherein the mode determination unit is configured to determine, when the first transfer time is shorter than the fourth transfer time, that the first update log is to be transferred from the first database to the second database.
  10. 10. The transfer mode control device according to claim 8 or claim 9, wherein the mode determination unit is configured to determine, when the fourth transfer time is shorter than the first transfer time, that all the data stored in the first database is to be transferred from the first database to the second database.
  11. 11. A transfer mode control method comprising: calculating, by a processor, when transferring a first update log for data generated and stored in a first database between occurrence and recovery of a failure from the first database to a second database, a first transfer time for the first update log from the first database to the second database based on a data amount of the first update log, a data update amount for data stored in the first database per unit time, and a data transfer amount from the first database to the second database per unit time; calculating, by the processor, a second transfer time for all data stored in the first database from the first database to the second database based on a data amount of all the data stored in the first database and the data transfer amount; calculating, by the processor, based on a data amount of a second update log for data generated and stored in the first database during the second transfer time, the data update amount, and the data transfer amount, a third transfer time for the second update log from the first database to the second database; calculating, by the processor, a fourth transfer time by summing up the calculated second transfer time and third transfer time; and determining, by the processor, a transfer mode for the data stored in the first database based on a result of comparison between the calculated first transfer time and fourth transfer time.
  12. 12. The transfer mode control method according to claim 11, wherein the determining includes determining, when the first transfer time is shorter than the fourth transfer time, that the first update log is to be transferred from the first database to the second database.
  13. 13. The transfer mode control method according to claim 11 or claim 12, wherein the determining includes determining, when the fourth transfer time is shorter than the first transfer time, that all the data stored in the first database is to be transferred from the first database to the second database.
GB1914957.4A 2018-10-31 2019-10-16 Transfer mode control program, transfer mode control device, and transfer mode control method Active GB2580996B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018205018A JP7193713B2 (en) 2018-10-31 2018-10-31 Transfer method control program, transfer method control device, and transfer method control method

Publications (3)

Publication Number Publication Date
GB201914957D0 GB201914957D0 (en) 2019-11-27
GB2580996A true GB2580996A (en) 2020-08-05
GB2580996B GB2580996B (en) 2022-10-05

Family

ID=68619495

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1914957.4A Active GB2580996B (en) 2018-10-31 2019-10-16 Transfer mode control program, transfer mode control device, and transfer mode control method

Country Status (2)

Country Link
JP (1) JP7193713B2 (en)
GB (1) GB2580996B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122611A (en) 2003-10-20 2005-05-12 Hitachi Ltd Storage apparatus and backup acquisition method
EP1577775A1 (en) * 2004-03-19 2005-09-21 Hitachi, Ltd. A replicated database system executing log data transfer synchronously and database data transfer asynchronously
US20060069885A1 (en) * 2004-09-30 2006-03-30 Kabushiki Kaisha Toshiba File system with file management function and file management method
JP2006268740A (en) 2005-03-25 2006-10-05 Nec Corp Replication system and method
US20110093440A1 (en) * 2009-10-19 2011-04-21 International Business Machines Corporation Device and method for generating copy of database
JP2011209816A (en) 2010-03-29 2011-10-20 Buffalo Inc Backup device, backup method, computer program and recording medium
US20160203060A1 (en) * 2015-01-09 2016-07-14 Vmware, Inc. Client deployment with disaster recovery considerations

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4582297B2 (en) * 2004-06-25 2010-11-17 日本電気株式会社 Replication system, apparatus, method, and program
US9542468B2 (en) * 2014-03-24 2017-01-10 Hitachi, Ltd. Database management system and method for controlling synchronization between databases

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122611A (en) 2003-10-20 2005-05-12 Hitachi Ltd Storage apparatus and backup acquisition method
EP1577775A1 (en) * 2004-03-19 2005-09-21 Hitachi, Ltd. A replicated database system executing log data transfer synchronously and database data transfer asynchronously
US20060069885A1 (en) * 2004-09-30 2006-03-30 Kabushiki Kaisha Toshiba File system with file management function and file management method
JP2006268740A (en) 2005-03-25 2006-10-05 Nec Corp Replication system and method
US20110093440A1 (en) * 2009-10-19 2011-04-21 International Business Machines Corporation Device and method for generating copy of database
JP2011209816A (en) 2010-03-29 2011-10-20 Buffalo Inc Backup device, backup method, computer program and recording medium
US20160203060A1 (en) * 2015-01-09 2016-07-14 Vmware, Inc. Client deployment with disaster recovery considerations

Also Published As

Publication number Publication date
JP2020071655A (en) 2020-05-07
JP7193713B2 (en) 2022-12-21
GB2580996B (en) 2022-10-05
GB201914957D0 (en) 2019-11-27

Similar Documents

Publication Publication Date Title
EP2834759B1 (en) Telemetry system for a cloud synchronization system
CN107315825B (en) Index updating system, method and device
US8533731B2 (en) Apparatus and method for distrubuting complex events based on correlations therebetween
CN107480014A (en) A kind of High Availabitity equipment switching method and device
US9576061B2 (en) Information processing system and data update control method
JP5613119B2 (en) Master / slave system, control device, master / slave switching method, and master / slave switching program
CN115827774A (en) Data synchronization method and computing equipment
CN113515574B (en) Data synchronization method and device
US20170091010A1 (en) Introduction determination program, introduction determination device and introduction determination method
JP6007988B2 (en) Standby system apparatus, operational system apparatus, redundant configuration system, and load distribution method
GB2580996A (en) Transfer mode control program, transfer mode control device, and transfer mode control method
US10339019B2 (en) Packet capturing system, packet capturing apparatus and method
CN115981879B (en) Data synchronization method, device and equipment of redundant structure and storage medium
US20180293146A1 (en) Information processing apparatus, information processing method and information processing system
CN117785828A (en) Log matching method, device, storage medium and electronic equipment of master-slave node
US9996372B2 (en) Information processing apparatus, information processing system and program
CN109005246A (en) A kind of synchronous method of data, apparatus and system
JP7164175B2 (en) DISTRIBUTED FILE DEVICE, FAILOVER METHOD, PROGRAM AND RECORDING MEDIUM
US9880912B2 (en) Information processing system, control method of information processing system, and non-transitory computer-readable storage medium
CN104580498B (en) A kind of adaptive cloud management platform
CN116467282B (en) A database creation method, apparatus, and storage medium
CN116827761B (en) Dual-machine hot standby switching method, system, equipment and medium
US11941432B2 (en) Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program
JP6951637B2 (en) Survey data collection program, survey data collection device and survey data collection method
CN113901451B (en) Link detection method, device, electronic equipment and storage medium