Data update management device, data update management method and data update management program

The data update management system quickly synchronizes duplicate data across multiple servers by designating a preceding and succeeding node to update independently, addressing inefficiencies in existing systems and ensuring data availability.

JP2025123021APending Publication Date: 2025-08-22MITSUBISHI ELECTRIC DIGITAL INNOVATION CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024018840
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-09
Publication Date
2025-08-22

AI Technical Summary

Technical Problem

Existing data update systems in cluster configurations take too long to synchronize duplicate data across multiple node servers due to the need to complete search processing before updating, leading to inefficiencies and delays.

Method used

A data update management system that designates a preceding and succeeding data holding device to update duplicate data independently, allowing the succeeding device to update without waiting for search processing to complete on the preceding device.

Benefits of technology

Enables rapid synchronization of duplicate data across multiple servers, maintaining search consistency and ensuring data availability by allowing simultaneous search and update operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025123021000001_ABST
    Figure 2025123021000001_ABST
Patent Text Reader

Abstract

To update data, held by two or more data retention devices duplicately, in a short time.SOLUTION: A specification part 1021 specifies one node server 200 as a leading node server and the other node server 200 as a subsequent node server when duplicate data retained duplicately by two or more node servers 200 each retaining one or more pieces of data need to be updated. An update management part 1022 causes a leading node server to update the duplicate data retained by the leading node server, and causes the subsequent node server to update the duplicate data retained by the subsequent node server independently of data other than the duplicate data retained by the subsequent node server after the update of the duplicate data retained by the leading node server is completed when the data other than the duplicate data are retained by the subsequent node server.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to updating data. [Background technology]

[0002] There are search systems in which a server searches a database in response to requests from clients. In such search systems, if the number of clients connecting to the server exceeds the maximum number of simultaneous connections, the server will not be able to process the requests properly.

[0003] To solve this problem of the number of connections, it is conceivable to arrange multiple servers in a cluster configuration. Such a cluster configuration is generally realized as a two-tier configuration consisting of a master server and multiple node servers. Each of the plurality of node servers has a database. The master server receives a search request from a client and transfers the request to a node server that stores data corresponding to the search request. The master server then obtains the data corresponding to the search request from the node server and transmits the data to the client as a search response. Furthermore, when any of the data held by the node servers needs to be updated, the master server manages the node servers so that the data update can be carried out smoothly.

[0004] In such a cluster configuration, the same data may be held in duplicate on two or more node servers. Here, data held in duplicate on two or more node servers is referred to as duplicate data. When updating duplicate data, it is necessary to synchronize the duplicate data between two or more node servers that hold the duplicate data in a short time.

[0005] In the technology of Patent Document 1, one node server (first node) among two or more node servers that hold duplicate data updates the duplicate data. Then, the first node causes another node server (second node) to perform the update, but the update of the duplicate data is performed after the search process for all data held by the node server is completed. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Patent Publication No. 2021-162870 Summary of the Invention [Problem to be solved by the invention]

[0007] The technology of Patent Document 1 has a problem in that, since the state is managed on a node server basis, it takes time to update duplicate data in other node servers.

[0008] FIG. 12 shows the problem in Patent Document 1. In FIG. 12, node server #1 and node server #2 both hold data 1, data 2, and data 3. Now, it is assumed that it becomes necessary to update data 1. When node server #1, which is the first node, completes updating data 1, it causes node server #2, which is the second node, to update the difference. Assume that while node server #1 is updating data 1, node server #2 is performing search processing for data 1 and data 2. Assume that node server #2 completes the search processing for data 1 relatively quickly, but takes a long time to search for data 2.

[0009] In Patent Document 1, node server #2, which is the second node, cannot update data until it has completed searching all of the data it holds. Therefore, according to the technology of Patent Document 1, even if node server #2 has completed searching data 1, it cannot update data 1 until it has completed searching data 2. As described above, Patent Document 1 has a problem in that it takes time to update duplicate data.

[0010] One of the main objectives of the present disclosure is to solve these problems. Specifically, the main objective of the present disclosure is to quickly update data that is redundantly stored in two or more data storage devices. [Means for solving the problem]

[0011] The data update management device according to the present disclosure comprises: a designation unit that, when it becomes necessary to update duplicate data that is data that is redundantly held in two or more data holding devices, each holding one or more pieces of data, designates one of the two or more data holding devices as a preceding data holding device and designates a data holding device other than the preceding data holding device as a succeeding data holding device; The data storage device further includes an update management unit that causes the preceding data storage device to update the duplicate data stored in the preceding data storage device, and, if data other than the duplicate data is stored in the subsequent data storage device, causes the subsequent data storage device to update the duplicate data stored in the subsequent data storage device independently of data other than the duplicate data stored in the subsequent data storage device after the update of the duplicate data stored in the preceding data storage device is completed. [Effects of the Invention]

[0012] According to the present disclosure, data that is redundantly held in two or more data holding devices can be updated in a short time. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a search system according to a first embodiment. [Figure 2] FIG. 2 is a diagram showing an example of the hardware configuration of a master server according to the first embodiment. [Figure 3] FIG. 2 is a diagram showing an example of a functional configuration of a master server according to the first embodiment. [Figure 4] FIG. 3 is a diagram showing an example of a node status management table according to the first embodiment. [Figure 5] FIG. 3 is a diagram showing an example of a data retention node management table according to the first embodiment. [Figure 6] 6 is a flowchart showing an example of the operation of the master server according to the first embodiment. [Figure 7] 6 is a flowchart showing an example of the operation of the master server according to the first embodiment. [Figure 8] 6 is a flowchart showing an example of the operation of the master server according to the first embodiment. [Figure 9] 6 is a flowchart showing an example of the operation of the master server according to the first embodiment. [Figure 10] 6 is a flowchart showing an example of the operation of the master server according to the first embodiment. [Figure 11] FIG. 3 is a diagram showing data update timing according to the first embodiment. [Figure 12] FIG. 10 is a diagram showing conventional data update timing. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, embodiments will be described with reference to the drawings. In the following description of the embodiments and the drawings, the same reference numerals denote the same or corresponding parts.

[0015] Embodiment 1 ***Configuration Description*** FIG. 1 shows an example of the configuration of a search system 500 according to this embodiment. The search system 500 according to this embodiment is made up of a master server 100, a plurality of node servers 200, and a plurality of clients 300.

[0016] The master server 100 is connected to a plurality of node servers 200 and a plurality of clients 300 via a network. Master server 100 is a computer and an example of a data update management device. The operating procedure of master server 100 corresponds to a data update management method. The program that realizes the operation of master server 100 corresponds to a data update management program.

[0017] The master server 100 accepts a search request from a client 300 and transfers the search request to a node server 200 that stores data corresponding to the search request. The master server 100 holds views of the data held by the node servers 200. In FIG. 1, view 1 corresponds to data 1. view 2 corresponds to data 2. view 3 corresponds to data 3. When the master server 100 receives a search request from a client 300, it refers to the views and selects the node server 200 to which the search request should be transferred. Thereafter, the master server 100 acquires data corresponding to the search request from the node server 200 and transmits the data to the client 300 as a search response. Furthermore, when any of the data held by the node server 200 needs to be updated, the master server 100 manages the node server 200 so that the data update is carried out smoothly. The master server 100 will be described in detail later.

[0018] The node server 200 is also a computer and corresponds to a data storage device. Each node server 200 holds data. The data held by the node server 200 is called held data. The data held by each node server 200 does not have to be completely consistent. Furthermore, there may be cases where the same data is held in duplicate in two or more node servers 200. 1, data 1, data 2, and data 3 are duplicated and stored between node server #1 and node server #2. Data 3 is also duplicated and stored between node server #1, node server #2, and node server #n. Hereinafter, data that is held in duplicate in two or more node servers 200 will be referred to as duplicate data. When it becomes necessary to update the duplicated data, the duplicated data must be synchronized between two or more node servers 200 that hold the duplicated data. In this embodiment, the master server 100 maintains search consistency and achieves data synchronization of duplicate data in a short time.

[0019] 1, the master server 100 and the node server 200 are configured as different computers. However, one computer may have the functions of both the master server 100 and the node server 200. In other words, the master server 100 may function as one of the multiple node servers 200.

[0020] The client 300 is also a computer. The client 300 transmits a search request to the master server 100 and receives data corresponding to the search request from the master server 100 .

[0021] FIG. 2 shows an example of the hardware configuration of the master server 100 according to this embodiment. FIG. 3 shows an example of the functional configuration of the master server 100 according to this embodiment. First, an example of the hardware configuration of the master server 100 will be described with reference to FIG.

[0022] The master server 100 includes, as hardware, a processor 901, a main memory device 902, an auxiliary memory device 903, and a communication device 904. Furthermore, the master server 100 has, as its functional components, a search request processing unit 101 and an update processing unit 102. The functions of the search request processing unit 101 and the update processing unit 102 are realized by, for example, a program. The auxiliary storage device 903 stores programs that realize the functions of the search request processor 101 and the update processor 102 . These programs are loaded from the auxiliary storage device 903 into the main storage device 902. The processor 901 then executes these programs to perform the operations of the search request processing unit 101 and the update processing unit 102, which will be described later. FIG. 3 shows a schematic diagram of a state in which the processor 901 is executing a program that realizes the functions of the search request processor 101 and the update processor 102. The communication device 904 communicates with the node server 200 and the client 300 .

[0023] Next, an example of the functional configuration of the master server 100 will be described with reference to FIG. The master server 100 includes a search request processing unit 101 and an update processing unit 102 . The update processing unit 102 further includes a designation unit 1021 and an update management unit 1022 .

[0024] The search request processing unit 101 receives a search request from the client 300 using the communication device 904. Upon receiving the search request, the search request processing unit 101 refers to the view 140 and the node status management table 150 to determine the node server 200 that will perform the search process. The view 140 is the view shown in Fig. 1. The node status management table 150 is a table for managing the status of the node server 200. The node status management table 150 will be described in detail later.

[0025] The search request processing unit 101 uses the communication device 904 to transmit a search request to the node server 200 that is to perform the search process. Furthermore, the search request processing unit 101 receives data corresponding to the search request as the search result from the node server 200 using the communication device 904. Then, the search request processing unit 101 transmits the data received from the node server 200 to the client 300 as a search response using the communication device 904.

[0026] In this embodiment, for the sake of simplicity, it is assumed that the search request includes only a search statement for one piece of data. On the other hand, a search request may include a search statement for multiple pieces of data. In this case, the search request processing unit 101 receives multiple pieces of data from one or more node servers 200 and transmits the multiple pieces of data to the client 300. Furthermore, the master server 100 may hold data (referred to as master-held data) that is not held by the node server 200. The search request may include a search statement for the data held by the node server 200 and the master-held data. In this case, the search request processing unit 101 receives data from the node server 200, and also acquires the master-held data from, for example, the auxiliary storage device 903, and transmits the data received from the node server 200 and the master-held data to the client 300.

[0027] FIG. 4 shows an example of the node status management table 150. The node status management table 150 indicates the status of each node server 200 for each piece of data ("online", "online (load request present)", "offline"). Furthermore, the numerical value written next to the status in the node status management table 150 is the number of search processes for each data item in each node server 200. In the example of Fig. 4, for example, three search processes for data item 1 have occurred in node server #1.

[0028] Here, the states of the node server 200 shown in the node state management table 150 will be explained. "Online" means that the node server 200 is online and does not need to update its stored data. When the state is "online", the search request processing unit 101 can cause the node server 200 to perform a search process for the data. In other words, when the state is "online", the search request processing unit 101 can send a search request for the data to the node server 200. "Online (load request present)" is a state in which the node server 200 is online and the held data needs to be updated, but the update of the held data is put on hold because the node server 200 is currently executing search processing. When the state is "online (load request present)", the search request processing unit 101 cannot cause the node server 200 to perform search processing for the data. In other words, when the state is "online (load request present)", the search request processing unit 101 cannot send a search request for the data to the node server 200. "Offline" indicates that the node server 200 is offline. When the node server 200 updates its stored data, the state of the node server 200 becomes "offline." When the state is "offline," the search request processing unit 101 cannot cause the node server 200 to perform a search process for the data. In other words, when the state is "offline," the search request processing unit 101 cannot send a search request for the data to the node server 200.

[0029] These three states change as follows: It is "online" while the retained data does not need to be updated, and when it becomes necessary to update the retained data, it becomes "online (load request present)" or "offline" depending on whether search processing for the retained data is being executed. If search processing is being executed, it becomes "online (load request present)", and if search processing is not being executed, it becomes "offline". Also, if the node server 200 completes a search process while in the "online (load request present)" state, the state becomes "offline." Also, when the update of the held data in the node server 200 is completed, the status changes from "offline" to "online."

[0030] Returning to Figure 3, in the update processing unit 102, when it becomes necessary to update duplicate data, the designation unit 1021 refers to the data retention node management table 160 and designates one of the two or more node servers 200 that retain the duplicate data as the preceding node server. Furthermore, the designation unit 1021 designates a node server 200 other than the preceding node server among the two or more node servers 200 as a succeeding node server. The preceding node server corresponds to a preceding data holding device, and the succeeding node server corresponds to a succeeding data holding device. Furthermore, the processing performed by the designation unit 1021 corresponds to designation processing.

[0031] FIG. 5 shows an example of the data retention node management table 160. In the data retention node management table 160, for each piece of data, the node server 200 that retains the data is indicated as the "data retention node server." In FIG. 5, "#1" means node server #1. Also, "#2" means node server #2. Also, "#3" means node server #3. Furthermore, the node server 200 designated as the preceding node server for each data item is indicated in the data retention node management table 160. In the example of Fig. 5, the preceding node server for data items 1 and 2 is node server #1. The preceding node server for data item 3 is node server #2. The designation unit 1021 designates a preceding node server in accordance with the description in the "preceding node server" column of the data retention node management table 160. Furthermore, the designation unit 1021 designates a node server 200 other than the preceding node server among the node servers 200 described in the "data retention node server" column as a succeeding node server.

[0032] The update management unit 1022 causes the node server 200 to update the stored data. If the data to be updated (hereinafter referred to as update target data) is duplicate data, the update management unit 1022 causes the preceding node server to update the duplicate data held in the preceding node server. Furthermore, when data other than the duplicate data (hereinafter referred to as other data) is held in the successor node server, the update management unit 1022 causes the successor node server to update the duplicate data independently of the other data after the preceding node server has completed updating the duplicate data. Here, "independently" means "independently from search processing of other data." In other words, the update management unit 1022 causes the successor node server to update the duplicate data independently of search processing of other data. More specifically, even if the successor node server is performing search processing of other data when the predecessor node server completes updating the duplicate data, the update management unit 1022 causes the successor node server to update the duplicate data without waiting for the successor node server to complete search processing of other data. The process performed by the update management unit 1022 corresponds to an update management process.

[0033] ***Explanation of Operation*** Next, an example of the operation of master server 100 according to this embodiment will be described. FIG. 6 shows an example of the operation of the master server 100 when a check request is received from any of the clients 300. In FIG.

[0034] When the search request processor 101 receives a search request from the client 300 (YES in step S101), in step S102 it refers to the view 140 and the node status management table 150 to determine the node server 200 that is to perform the search process. For example, suppose the search request processing unit 101 receives a search request for data 1 from the client 300. At this time, the search request processing unit 101 refers to view 1 and determines that data 1 is held in node server #1 and node server #2. The search request processing unit 101 also refers to the node status management table 150 and selects, from node server #1 and node server #2, a node server that is neither offline nor online (load request). If neither node server #1 nor node server #2 is offline nor online (load request), the search request processing unit 101 selects the node server with the fewest number of search requests. The node server 200 selected by the search request processor 101 in step S102 is called a selected node server.

[0035] Next, in step S103, the search request processor 101 transmits a search request to the selected node server. Next, in step S104, the search request processor 101 updates the node status management table 150. Specifically, the search request processing unit 101 increases the number of search processes for the data in the selected node server by one.

[0036] FIG. 7 shows an example of the operation of the master server 100 when data is received from a selected node server.

[0037] When the search request processor 101 receives data from the selected node server (YES in step S201), it transmits the received data to the client 300 that has made the search request in step S202. Next, in step S203, the search request processor 101 updates the node status management table 150. Specifically, the search request processing unit 101 reduces the number of search processes for the data in the selected node server by one.

[0038] 8, 9, and 10 show an example of the operation of the master server 100 when a data update request (load request) is received from any of the node servers 200. The data update request includes an identifier of the data to be updated.

[0039] In FIG. 8, when the designation unit 1021 receives a data update request (YES in step S301), the designation unit 1021 determines whether the data to be updated is duplicate data. Specifically, the designation unit 1021 determines whether the data to be updated is duplicate data by referring to the data retention node management table 160. If multiple node servers 200 are described in the data retention node management table 160 as data retention node servers for the data to be updated, the designation unit 1021 determines that the data to be updated is duplicate data. If the data to be updated is not duplicate data, the process proceeds to step S303. On the other hand, if the data to be updated is duplicate data, the process proceeds to step S310 in FIG.

[0040] In step S303, the designation unit 1021 notifies the update management unit 1022 of the node server 200 that will update the data to be updated and the data to be updated.

[0041] Next, in step S304, the update management unit 1022 refers to the node status management table 150 to determine whether or not the node server 200 that updates the data to be updated is currently executing a search process for the data to be updated. Specifically, the update management unit 1022 determines whether the number of search processes for the data to be updated in the node server 200 is 1 or more, or whether it is 0. If the number of search processes is 1 or more, search processing for the data to be updated is being executed, and the process proceeds to step S305. On the other hand, if the number of search processes is 0, the search process for the data to be updated has not been performed, and the process proceeds to step S306.

[0042] In step S305, the update management unit 1022 changes the node status management table 150 to "online (load requested)". That is, the update management unit 1022 changes the status of the data to be updated of the node server 200 to "online (load requested)". Thereafter, the process returns to step S304, and when the number of search processes for the update target data of the node server 200 becomes 0 (NO in step S304), the process proceeds to step S306. Note that even if the result in step S304 is YES, the node status management table 150 has already been changed to "online (load request present)", so the process in step S305 is omitted.

[0043] In step S306, the update management unit 1022 changes the node status management table 150 to "offline." That is, the update management unit 1022 changes the status of the data to be updated of the node server 200 to "offline."

[0044] Next, in step S307, the update management unit 1022 instructs the node server 200 that is to update the data to be updated to update the data to be updated. When the node server 200 completes updating the data to be updated, the node server 200 transmits an update completion notification to the update management unit 1022 .

[0045] If the update of the update target data is completed (YES in step S308), the update management unit 1022 changes the node status management table 150 to "online" in step S309. In other words, the update management unit 1022 changes the status of the update target data of the node server 200 to "online." This enables the node server 200 to perform a search process for the data to be updated.

[0046] In step S310 of FIG. 9, the designation unit 1021 designates the preceding node server because the data to be updated is duplicate data. Specifically, the update management unit 1022 designates the node server 200 listed in the "predecessor node server" column of the data retention node management table 160 as the predecessor node server for the data to be updated. In parallel, the designation unit 1021 designates the node servers 200 listed in the "data retention node server" column other than the predecessor node server as the successor node server. Then, in step S311, the designation unit 1021 notifies the update management unit 1022 of the designated preceding node server and the preceding node of the data to be updated.

[0047] Next, in step S312, the update management unit 1022 refers to the node status management table 150 to determine whether or not the preceding node server is currently executing a search process for data to be updated. Specifically, the update management unit 1022 determines whether the number of search processes for the data to be updated in the preceding node server is 1 or more, or whether it is 0. If the number of search processes is 1 or more, search processing for the data to be updated is being executed, and the process proceeds to step S313. On the other hand, if the number of search processes is 0, the search process for the data to be updated has not been performed, and the process proceeds to step S314.

[0048] In step S313, the update management unit 1022 changes the node status management table 150 to "online (load requested)." That is, the update management unit 1022 changes the status of the data to be updated in the preceding node server to "online (load requested)." Thereafter, the process returns to step S312, and if the number of search processes for the data to be updated in the preceding node server becomes 0 (NO in step S312), the process proceeds to step S314. Note that even if the result in step S312 is YES, the node status management table 150 has already been changed to "online (load request present)", so the process in step S313 is omitted.

[0049] In step S314, the update manager 1022 changes the node status management table 150 to "offline." That is, the update manager 1022 changes the status of the data to be updated in the preceding node server to "offline." This prevents the search request processor 101 from searching for the data to be updated in the preceding node server, whereas the search request processor 101 can search for the data to be updated in the succeeding node server.

[0050] Next, in step S315, the update management unit 1022 instructs the preceding node server to update the data to be updated. When the preceding node server completes updating the update target data, the preceding node server transmits an update completion notification to the update management unit 1022. The update completion notification includes difference data indicating the difference between the update target data before and after the update.

[0051] If the update of the data to be updated is completed (YES in step S316), in step S317 of FIG. 10, the update management unit 1022 refers to the node status management table 150 to determine whether or not a search process for the data to be updated is being performed in the successor node server. Specifically, the update management unit 1022 determines whether the number of search processes for the data to be updated in the successor node server is 1 or more, or whether it is 0. If the number of search processes is 1 or more, search processing for the data to be updated is being executed, and the process proceeds to step S318. On the other hand, if the number of search processes is 0, the search process for the data to be updated has not been performed, and the process proceeds to step S319.

[0052] In step S318, the update management unit 1022 changes the node status management table 150 to "online (load requested)". That is, the update management unit 1022 changes the status of the data to be updated in the successor node server to "online (load requested)". Thereafter, the process returns to step S317, and when the number of search processes for the update target data of the subsequent node server becomes 0 (NO in step S317), the process proceeds to step S319. Note that even if the result in step S317 is YES, the node status management table 150 has already been changed to "online (load request present)", so the process in step S318 is omitted.

[0053] In step S319, the update management unit 1022 changes the node status management table 150 to "offline." That is, the update management unit 1022 changes the status of the data to be updated in the successor node server to "offline."

[0054] Next, in step S320, the update manager 1022 changes the node status management table 150 to "online." That is, the update manager 1022 changes the status of the data to be updated in the preceding node server to "online." As a result of step S319, the search request processing unit 101 is unable to search for the data to be updated in the successor node server. On the other hand, since the state of the preceding node server is set to "online" in step S320, the search request processing unit 101 can search for the data to be updated in the preceding node server.

[0055] Next, in step S321, the update management unit 1022 instructs the successor node server to update the data to be updated. The update management unit 1022 causes the successor node server to perform the same update on the data to be updated as that performed by the predecessor node server. Specifically, the update management unit 1022 transmits the difference data included in the update completion notification from the preceding node server to the successor node server, and then instructs the successor node server to reflect the difference indicated in the difference data in the data to be updated. When the successor node server completes updating of the update target data, the successor node server transmits an update completion notification to the update management unit 1022 .

[0056] If the update of the update target data is completed (YES in step S322), the update management unit 1022 changes the node status management table 150 to "online" in step S323. In other words, the update management unit 1022 changes the status of the update target data of the successor node server to "online." This enables the subsequent node server to search for the data to be updated.

[0057] Next, the update management unit 1022 determines whether or not the updating of the data to be updated has been completed in all the successor node servers. If updating of the update target data has not been completed in any of the successor node servers, the process returns to step S318, and the processes from step S318 onwards are carried out for the successor node servers for which updating has not been completed. On the other hand, if the updating of the update target data has been completed in all the successor node servers, the processing is completed.

[0058] FIG. 11 shows the data update timing according to this embodiment.

[0059] 11, similarly to FIG. 12, both the node server #1 and the node server #2 hold data 1, data 2, and data 3. In FIG. Now, assume that it becomes necessary to update data 1. Master server 100 causes node server #1 to update data 1. When node server #1 has completed updating data 1, it notifies master server 100 that the update has been completed. Assume that while node server #1 is updating data 1, node server #2 is performing search processing for data 1 and data 2. Assume that node server #2 completes the search processing for data 1 relatively quickly, but takes a long time to search for data 2.

[0060] 12, in Patent Document 1, data cannot be updated until the search process for all data held by node server #2 is completed. For this reason, in the technology of Patent Document 1, node server #2 cannot update data 1 until the search process for data 2 is completed.

[0061] In this embodiment, the state is managed in units of data. Therefore, as shown in FIG. 11, it is possible to update data 1 without waiting for the search process for data 2 to be completed. In this way, in this embodiment, the update of data 1 in node server #2 can be completed quickly.

[0062] ***Explanation of the effect of the embodiment*** According to this embodiment, it is possible to update duplicate data that is held in two or more data holding devices in a short time. Furthermore, by updating duplicate data in a short time, according to this embodiment, it is possible to maintain consistency in searches across two or more data holding devices that hold duplicate data. Furthermore, in this embodiment, while the preceding node server is offline to update the duplicate data, the succeeding node server can perform search processing for the duplicate data, thereby ensuring the availability of data searches. Furthermore, since it is possible to configure the data held in two or more data holding devices so that the data does not completely match, the configuration of the data held in each data holding device can be changed depending on the access frequency of the held data.

[0063] The procedure described in this embodiment is an example. Therefore, it is possible to carry out only a part of the procedure described in this embodiment. Furthermore, at least part of the procedure described in this embodiment may be combined with a procedure not described in this embodiment. Furthermore, the configuration and procedures described in this embodiment may be modified as necessary.

[0064] ***Additional hardware configuration information*** Here, a supplementary explanation of the hardware configuration of the master server 100 will be given. The processor 901 shown in FIG. 2 is an integrated circuit (IC) that performs processing. The processor 901 is a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or the like. The main storage device 902 shown in FIG. 2 is a RAM (Random Access Memory). The auxiliary storage device 903 shown in FIG. 2 is a ROM (Read Only Memory), a flash memory, an HDD (Hard Disk Drive), or the like. The communication device 904 shown in FIG. 2 is an electronic circuit that performs data communication processing. The communication device 904 is, for example, a communication chip or a NIC (Network Interface Card).

[0065] The auxiliary storage device 903 also stores an OS (Operating System). At least a part of the OS is executed by the processor 901 . The processor 901 executes a program that realizes the functions of the search request processor 101 and the update processor 102 while executing at least a part of the OS. The processor 901 executes the OS, which performs task management, memory management, file management, communication control, and the like. In addition, at least one of information, data, signal values ​​and variable values ​​indicating the results of processing by the search request processing unit 101 and the update processing unit 102 is stored in at least one of the main memory device 902, the auxiliary memory device 903, the register within the processor 901 and the cache memory. Furthermore, the program that realizes the functions of the search request processing unit 101 and the update processing unit 102 may be stored on a portable recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, a DVD, etc. Then, the portable recording medium that stores the program that realizes the functions of the search request processing unit 101 and the update processing unit 102 may be distributed.

[0066] Furthermore, the "part" of at least one of the search request processing unit 101 and the update processing unit 102 may be read as a "circuit" or a "step" or a "procedure" or a "process" or a "circuitry." Furthermore, the master server 100 may be realized by a processing circuit, such as a logic integrated circuit (IC), a gate array (GA), an application specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). In this case, the search request processing unit 101 and the update processing unit 102 are each realized as part of a processing circuit. In this specification, the term "processing circuitry" refers to a generic concept that encompasses a processor and a processing circuit. That is, a processor and a processing circuit are each specific examples of "processing circuitry."

[0067] Finally, various aspects of the present disclosure are summarized in the appendix. (Appendix 1) a designation unit that, when it becomes necessary to update duplicate data that is data that is redundantly held in two or more data holding devices, each holding one or more pieces of data, designates one of the two or more data holding devices as a preceding data holding device and designates a data holding device other than the preceding data holding device as a succeeding data holding device; a data update management unit that causes the preceding data holding device to update the duplicate data held in the preceding data holding device, and if data other than the duplicate data is held in the subsequent data holding device, causes the subsequent data holding device to update the duplicate data held in the subsequent data holding device independently of data other than the duplicate data held in the subsequent data holding device after the update of the duplicate data held in the preceding data holding device is completed. (Appendix 2) each of the two or more data holding devices holds one or more data to be searched for; The update management unit A data update management device as described in Appendix 1, which causes a subsequent data holding device to perform an update of the duplicate data held in the subsequent data holding device independently of a search process for data other than the duplicate data held in the subsequent data holding device. (Appendix 3) The update management unit A data update management device as described in Appendix 2, which, when a search process is being performed on data other than the duplicate data held in the subsequent data holding device when the update of the duplicate data held in the preceding data holding device is completed, causes the subsequent data holding device to execute an update of the duplicate data held in the subsequent data holding device without waiting for the search process on data other than the duplicate data held in the subsequent data holding device to be completed. (Appendix 4) The update management unit causing the preceding data holding device to update the duplicate data held in the preceding data holding device in a state in which search processing cannot be performed on the duplicate data held in the preceding data holding device but search processing on the duplicate data held in the subsequent data holding device is possible; A data update management device as described in Appendix 2, which causes the subsequent data holding device to perform an update of the duplicate data held in the subsequent data holding device in a state where, after the update of the duplicate data held in the preceding data holding device is completed, search processing cannot be performed on the duplicate data held in the subsequent data holding device, but search processing can be performed on the duplicate data held in the preceding data holding device. (Appendix 5) The update management unit when a search process is being performed on the duplicate data held in the preceding data holding device, after the search process on the duplicate data held in the preceding data holding device is completed, the search process on the duplicate data held in the preceding data holding device is made unable to be performed, and the preceding data holding device is caused to update the duplicate data held in the preceding data holding device; A data update management device as described in Appendix 4, wherein when a search process is being performed on the duplicate data held in the subsequent data holding device when the update of the duplicate data held in the preceding data holding device is completed, the data update management device causes the subsequent data holding device to execute an update of the duplicate data held in the subsequent data holding device by putting the subsequent data holding device in a state where search processing on the duplicate data held in the subsequent data holding device cannot be performed after the search processing on the duplicate data held in the subsequent data holding device is completed. (Appendix 6) The update management unit After the update of the duplicate data held in the preceding data holding device is completed, a state is established in which a search process can be performed on the updated duplicate data held in the preceding data holding device; A data update management device as described in Appendix 4, which makes it possible to perform search processing on the updated duplicate data stored in the subsequent data storage device after the update of the duplicate data stored in the subsequent data storage device is completed. (Appendix 7) The update management unit 2. A data update management device according to claim 1, which causes the duplicate data held in the subsequent data holding device to undergo the same update as that performed on the duplicate data held in the preceding data holding device. (Appendix 8) a designation process in which, when it becomes necessary to update duplicate data that is data that is redundantly held in two or more data holding devices, each holding one or more pieces of data, the computer designates one of the two or more data holding devices as a preceding data holding device, and designates one of the two or more data holding devices other than the preceding data holding device as a succeeding data holding device; a data update management method including an update management process in which the computer causes the preceding data holding device to update the duplicate data held in the preceding data holding device, and if data other than the duplicate data is held in the subsequent data holding device, causes the subsequent data holding device to update the duplicate data held in the subsequent data holding device independently of data other than the duplicate data held in the subsequent data holding device after the update of the duplicate data held in the preceding data holding device is completed. (Appendix 9) a designation process for, when it becomes necessary to update duplicate data that is data that is redundantly held in two or more data holding devices, each holding one or more pieces of data, designating one of the two or more data holding devices as a preceding data holding device and designating a data holding device other than the preceding data holding device as a succeeding data holding device; An update management process and a data update management program that causes a computer to execute an update management process that causes the preceding data holding device to update the duplicate data held in the preceding data holding device, and if data other than the duplicate data is held in the subsequent data holding device, causes the subsequent data holding device to update the duplicate data held in the subsequent data holding device independently of data other than the duplicate data held in the subsequent data holding device after the update of the duplicate data held in the preceding data holding device is completed. [Explanation of symbols]

[0068] 100 master server, 101 search request processing unit, 102 update processing unit, 1021 specification unit, 1022 update management unit, 140 view, 150 node status management table, 160 data retention node management table, 200 node server, 300 client, 500 search system, 901 processor, 902 main memory device, 903 auxiliary memory device, 904 communication device.

Claims

1. a designation unit that, when it becomes necessary to update duplicate data that is data that is redundantly held in two or more data holding devices, each holding one or more pieces of data, designates one of the two or more data holding devices as a preceding data holding device and designates a data holding device other than the preceding data holding device as a succeeding data holding device; a data update management unit that causes the preceding data holding device to update the duplicate data held in the preceding data holding device, and if data other than the duplicate data is held in the subsequent data holding device, causes the subsequent data holding device to update the duplicate data held in the subsequent data holding device independently of data other than the duplicate data held in the subsequent data holding device after the update of the duplicate data held in the preceding data holding device is completed.

2. each of the two or more data holding devices holds one or more data to be searched for; The update management unit The data update management device according to claim 1, wherein the subsequent data holding device is caused to perform an update of the duplicate data held in the subsequent data holding device independently of a search process for data other than the duplicate data held in the subsequent data holding device.

3. The update management unit 3. The data update management device according to claim 2, wherein when updating of the duplicate data held in the preceding data holding device is completed and a search process is being performed on data other than the duplicate data held in the subsequent data holding device, the subsequent data holding device is caused to execute updating of the duplicate data held in the subsequent data holding device without waiting for completion of the search process on the data other than the duplicate data held in the subsequent data holding device.

4. The update management unit causing the preceding data holding device to update the duplicate data held in the preceding data holding device in a state in which search processing cannot be performed on the duplicate data held in the preceding data holding device but search processing on the duplicate data held in the subsequent data holding device is possible; 3. The data update management device according to claim 2, wherein after updating of the duplicate data held in the preceding data holding device is completed, search processing of the duplicate data held in the succeeding data holding device cannot be performed, but in a state in which search processing of the duplicate data held in the preceding data holding device can be performed, the succeeding data holding device is caused to perform updating of the duplicate data held in the succeeding data holding device.

5. The update management unit when a search process is being performed on the duplicate data held in the preceding data holding device, after the search process on the duplicate data held in the preceding data holding device is completed, the search process on the duplicate data held in the preceding data holding device is made unable to be performed, and the preceding data holding device is caused to update the duplicate data held in the preceding data holding device; 5. The data update management device according to claim 4, wherein when a search process is being performed on the duplicate data held in the subsequent data holding device when the update of the duplicate data held in the preceding data holding device is completed, the device causes the subsequent data holding device to execute an update of the duplicate data held in the subsequent data holding device by making it impossible to perform a search process on the duplicate data held in the subsequent data holding device after the search process on the duplicate data held in the subsequent data holding device is completed.

6. The update management unit After the update of the duplicate data held in the preceding data holding device is completed, a state is established in which a search process can be performed on the updated duplicate data held in the preceding data holding device; The data update management device according to claim 4, wherein after the updating of the duplicate data held in the subsequent data holding device is completed, the device is made ready to perform a search process on the updated duplicate data held in the subsequent data holding device.

7. The update management unit 2. The data update management device according to claim 1, wherein the same update as that performed on the duplicate data held in the preceding data holding device is performed on the duplicate data held in the succeeding data holding device.

8. a designation process in which, when it becomes necessary to update duplicate data that is data that is redundantly held in two or more data holding devices, each holding one or more pieces of data, the computer designates one of the two or more data holding devices as a preceding data holding device, and designates one of the two or more data holding devices other than the preceding data holding device as a succeeding data holding device; a data update management method including an update management process in which the computer causes the preceding data holding device to update the duplicate data held in the preceding data holding device, and if data other than the duplicate data is held in the subsequent data holding device, causes the subsequent data holding device to update the duplicate data held in the subsequent data holding device independently of data other than the duplicate data held in the subsequent data holding device after the update of the duplicate data held in the preceding data holding device is completed.

9. a designation process for designating one of the two or more data holding devices as a preceding data holding device and designating another of the two or more data holding devices as a succeeding data holding device when it becomes necessary to update duplicate data that is data that is redundantly held in two or more data holding devices each holding one or more pieces of data; An update management process and a data update management program that causes a computer to execute an update management process that causes the preceding data holding device to update the duplicate data held in the preceding data holding device, and if data other than the duplicate data is held in the subsequent data holding device, causes the subsequent data holding device to update the duplicate data held in the subsequent data holding device independently of data other than the duplicate data held in the subsequent data holding device after the update of the duplicate data held in the preceding data holding device is completed.

Citation Information

Patent Citations

  • Database management system and database management method

    JP2021162870A