Method for expanding data pages in batches in shared storage cluster and related products

By generating concurrent request messages and granting concurrent authorizations in a shared storage cluster, the problems of network resource consumption and long processing time when expanding data pages in batches are solved, thus achieving efficient data page expansion.

CN120973832APending Publication Date: 2025-11-18CETC JINCANG (BEIJING) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511080759.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-01
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

In multi-write shared storage clusters, existing technologies suffer from high network resource consumption, long processing time, and low expansion efficiency when expanding data pages in batches.

Method used

By generating a request message at the request node, summarizing the information of the data pages to be expanded, sending it to the management node for concurrent authorization, and updating the cache lock, batch expansion of data pages can be achieved.

Benefits of technology

It reduces network resource consumption, shortens expansion time, and improves expansion efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120973832A_ABST
    Figure CN120973832A_ABST
Patent Text Reader

Abstract

The invention provides a method for expanding data pages in batches in a shared storage cluster and related products. The method comprises the steps that a request message is generated at a request node of a cluster, the request node is used for expanding a plurality of continuous data pages in a shared storage of the cluster, and the request message comprises information of each data page to be expanded; the request node sends the request message to management nodes of the to-be-expanded data pages, and each management node is used for managing at least one to-be-expanded data page; each management node authorizes a cache lock of each corresponding to-be-expanded data page under the condition of receiving the request message, and sends each authorization result to the request node; and according to each authorization result, the request node updates a cache lock of each to-be-expanded data page, and expands a buffer area of each to-be-expanded data page. According to the method, the communication load of the cluster is reduced, cluster network resources are saved, the cluster communication efficiency is improved, the extension time consumption is shortened, and the extension efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of database, in particular to a method for batch extending data pages in a shared storage cluster, a computer readable storage medium, a computer program product and a computer device. BACKGROUND

[0002] In a multi-write shared storage cluster (for example, Kingbase ES RAC), a plurality of nodes are usually configured, the plurality of nodes share one shared storage, read and write access the same data directory, and uniformly provide external services. In order to enable the nodes of the multi-write shared storage cluster to safely access the shared resources of the cluster, a buffer consistency technology is usually adopted, that is, the entire cluster is logically provided with only one buffer to the outside through blocking and synchronization.

[0003] In the related art, the buffer consistency is realized through a global cache lock (also referred to as a global cache consistency lock). Specifically, when a structured query language service process (SQL service process for short) of a node requests to read or write a buffer of a data page, first, it is judged whether the node holds a global cache lock of the same level or a higher level of the data page (which can be judged by checking a local cache lock, also referred to as a local cache consistency lock). If yes, the buffer can be directly operated. If not, the node communication process needs to request the management node of the data page to obtain the global cache lock.

[0004] When the shared storage cluster batch extends a plurality of data pages, the global buffer needs to be batch extended. In order to ensure the cache consistency, each data page needs to obtain its own global cache lock. In the related art, the method of requesting the global cache lock of each data page is usually adopted for batch extension, which has the following problems: when there are many data pages to be extended, a large number of requests will occupy the network resources of the database; the operation of requesting the cache lock one by one takes a long time, which will affect the overall performance of the database; under the condition of requesting one by one, the management nodes and cache lock processing services of the data pages to be extended cannot be processed concurrently, resulting in low extension efficiency. SUMMARY

[0005] An object of the present application is to provide a method for batch extending data pages in a shared storage cluster, a computer readable storage medium, a computer program product and a computer device, which realize batch extending data pages in a shared storage cluster, so as to reduce the network resource occupation when extending a plurality of data pages, shorten the extension time consumption, and improve the extension efficiency.

[0006] Specifically, according to one aspect of the present application, the present application provides a method for batch extending data pages in a shared storage cluster, comprising:

[0007] generating, by a request node of a cluster, a request message, the request message comprising information of each data page to be extended, the request node being configured to extend a plurality of continuous data pages in a shared storage of the cluster;

[0008] sending, by the request node, the request message to a management node of each data page to be extended, each management node being configured to manage at least one data page to be extended;

[0009] authorizing, by each management node, a cache lock of each data page to be extended upon receiving the request message, and sending an authorization result to the request node;

[0010] updating, by the request node, the cache lock of each data page to be extended according to the authorization result, and extending a buffer area of each data page to be extended.

[0011] Optionally, the generating, by a request node of a cluster, a request message, comprises:

[0012] obtaining page information of each data page to be extended;

[0013] determining the management node to which each data page to be extended belongs, and grouping each data page to be extended based on the management node, and generating grouping information;

[0014] generating the request message according to the page information, the grouping information and cache lock request information.

[0015] Optionally, the generating the request message according to the page information, the grouping information and cache lock request information, comprises:

[0016] obtaining a data page with a smallest page number as a starting data page from each data page to be extended;

[0017] obtaining a total number of pages of each data page to be extended;

[0018] generating the request message by using the starting data page, the total number of pages, the grouping information and the cache lock request information.

[0019] Optionally, the sending, by the request node, the request message to a management node of each data page to be extended, comprises:

[0020] determining a starting communication process corresponding to the starting data page in the request node;

[0021] sending, by a SQL service process of the request node, the request message to the starting communication process of the request node;

[0022] The starting communication process of the request node obtains information of each of the management nodes according to the request message;

[0023] The starting communication process of the request node sends the request message to a starting communication process of each of the management nodes, and the starting communication process of the management node is a communication process of the management node corresponding to the starting data page.

[0024] Optionally, as a first target management node, any of the management nodes authorizes a cache lock corresponding to each of the data pages to be extended, and sends an authorization result to the request node, and the step of sending the authorization result to the request node comprises:

[0025] According to the group information in the request message, the first target management node determines each of the data pages to be extended managed by the first target management node.

[0026] The first target management node authorizes a cache lock of each of the data pages to be extended managed by the first target management node, and obtains a plurality of target authorization results.

[0027] The first target management node generates an authorization message from the plurality of target authorization results, and sends the authorization message to the starting communication process of the request node through the starting communication process of the management node.

[0028] Optionally, the request node updates the cache lock of each of the data pages to be extended according to the authorization result, and the step of updating the cache lock of each of the data pages to be extended comprises:

[0029] Upon receiving the authorization result message of all the management nodes, the SQL service process of the request node updates a local cache lock of each of the data pages to be extended;

[0030] In response to the local cache lock of each of the data pages to be extended being updated, the SQL service process of the request node generates a local cache lock confirmation message;

[0031] The request node sends the local cache lock confirmation message to each of the management nodes;

[0032] In response to receiving the local cache lock confirmation message, each of the management nodes updates a global cache lock of each of the data pages to be extended managed by the management node.

[0033] Optionally, the request node sends the local cache lock confirmation message to each of the management nodes, and the step of sending the local cache lock confirmation message to each of the management nodes comprises:

[0034] The SQL service process of the request node sends the local cache lock confirmation message to the communication distribution process of the request node;

[0035] The communication distribution process of the request node sends the local cache lock confirmation message to the communication distribution process of each of the management nodes;

[0036] The management node receiving the local cache lock confirmation message as the second target management node updates the global cache lock of each of the data pages to be expanded managed by the management node;

[0037] The communication distribution process of the second target management node determines the resource communication process corresponding to each of the data pages to be expanded managed by the second target management node upon receiving the local cache lock confirmation message;

[0038] The communication distribution process of the second target management node sends the local cache lock confirmation message to each of the resource communication processes to complete the update of the global cache lock of the data pages to be expanded.

[0039] According to another aspect of the present application, there is also provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of any of the above methods for batch expanding data pages in a shared storage cluster.

[0040] According to still another aspect of the present application, there is also provided a computer program product comprising a computer program which, when executed by a processor, implements the steps of any of the above methods for batch expanding data pages in a shared storage cluster.

[0041] According to yet another aspect of the present application, there is also provided a computer device comprising a memory, a processor and a computer program stored in the memory, the processor executing the computer program to implement the steps of any of the above methods for batch expanding data pages in a shared storage cluster.

[0042] The method for batch expanding data pages in a shared storage cluster according to the present application aggregates the conditions of multiple data pages to be expanded into one request message, so that the request node only sends one request message for requesting multiple data pages to be expanded, greatly reducing the communication load of the cluster, saving the network resources of the cluster, improving the communication efficiency of the cluster, shortening the expansion time consumption and improving the expansion efficiency. Each management node involved in the multiple data pages to be expanded further shortens the expansion time consumption and improves the expansion efficiency by concurrently processing the received request message.

[0043] The above and other objects, advantages and features of the present application will become more apparent from the following detailed description of specific embodiments thereof, when taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS

[0044] Some specific embodiments of the present application will be described in detail in the following with reference to the drawings, which are provided by way of illustration only and are not intended to be limiting in any sense. The same reference numerals in the drawings identify the same or similar components or parts throughout the various figures. Those skilled in the art will appreciate that the figures are not necessarily drawn to scale. In the figures:

[0045] Figure 1 is a flowchart of a method for batch extending data pages according to an embodiment of the present application;

[0046] Figure 2 is a flowchart of generating a request message for a method for batch extending data pages according to an embodiment of the present application;

[0047] Figure 3 is a flowchart of generating a request message for a method for batch extending data pages according to another embodiment of the present application;

[0048] Figure 4 is a flowchart of a request node sending a request message for a method for batch extending data pages according to an embodiment of the present application;

[0049] Figure 5 is a flowchart of a management node replying an authorization message for a method for batch extending data pages according to an embodiment of the present application;

[0050] Figure 6 is a flowchart of updating a cache lock for each data page to be extended for a method for batch extending data pages according to an embodiment of the present application;

[0051] Figure 7 is a flowchart of updating a global cache lock for a method for batch extending data pages according to an embodiment of the present application;

[0052] Figure 8 is a framework diagram of a communication distribution process for a plurality of nodes for a method for batch extending data pages according to an embodiment of the present application;

[0053] Figure 9 is a diagram of a computer program product according to an embodiment of the present application;

[0054] Figure 10 is a diagram of a computer readable storage medium according to an embodiment of the present application; and

[0055] Figure 11 is a diagram of a computer device according to an embodiment of the present application. DETAILED DESCRIPTION

[0056] The method for batch extending data pages in the shared storage cluster of the embodiment aims to realize batch extending data pages in the shared storage cluster, so as to reduce network resource occupation when extending multiple data pages, shorten extension time consumption, and improve extension efficiency.

[0057] Figure 1 The flowchart of the method for batch extending data pages in the shared storage cluster according to one embodiment of the application is shown in FIG. 1. The method can generally include the following steps.

[0058] S100, generating a request message at a request node of the cluster, the request node being configured to extend multiple continuous data pages in a shared storage of the cluster, the request message including information of each data page to be extended;

[0059] S200, sending the request message to each management node of each data page to be extended by the request node, each management node being configured to manage at least one data page to be extended;

[0060] S300, authorizing, by each management node, a cache lock of each data page to be extended upon receiving the request message, and sending each authorization result to the request node;

[0061] S400, updating, by the request node, a cache lock of each data page to be extended according to each authorization result, and extending a buffer area of each data page to be extended.

[0062] In a multi-write shared storage cluster (for example, KingbaseES RAC), multiple nodes are generally configured, the multiple nodes share one shared storage disk, access the same data directory, and provide unified external services. The shared storage disk can include a table space for storage, multiple segments can be set in the table space, multiple extents can be set in each segment, and multiple data pages can be set in each extent. The data pages are used to store data resources, and the size of each data page is a preset value.

[0063] The shared storage cluster is generally a decentralized architecture, each node manages a part of resources to improve the overall performance of the cluster. Specifically, each data page in the shared storage disk is configured with a corresponding management node (for example, a preset algorithm such as a consistent hashing algorithm is used to configure the management node of each data page), each management node can manage multiple data pages, and is configured to allocate lock resources of multiple data pages.

[0064] In order to enable nodes of the multi-write shared storage cluster to safely access shared resources of the cluster, the shared storage cluster generally adopts a buffer area consistency technology, that is, the entire cluster logically has only one buffer area to the outside through blocking and synchronization.

[0065] When any node (referred to as a requesting node) of the cluster requests to extend a certain data page, the buffer of the data page to be extended needs to be extended first. To extend the buffer of the data page to be extended, the consistent cache lock of the data page to be extended needs to be acquired first. Specifically, the requesting node needs to send a request to acquire the cache lock authorization to the management node of the data page to be extended, and the management node sends the cache lock authorization to the requesting node after receiving the request, so that the requesting node can update the local cache lock of the buffer of the data page to be extended, and then update the global cache lock. When the requesting node needs to extend multiple data pages after a certain data page, the requesting node needs to send a request for the consistent cache lock to the management node of each data page to be extended one by one. When there are many data pages to be extended, a large number of requests will occupy the network resources of the database; the operation of requesting the cache lock one by one takes a long time, which will affect the overall performance of the database; in the case of requesting one by one, the multiple management nodes of the data pages to be extended and the cache lock processing service cannot be processed concurrently, resulting in low extension efficiency.

[0066] To overcome the above problems, the inventors of the present application have made targeted improvements to the method for batch extending data pages in a shared storage cluster. Specifically, the requesting node no longer sends a request for the consistent cache lock to the management node of each data page to be extended one by one, but aggregates the cases of multiple data pages to be extended in succession, and generates a request message based on the aggregated results. The request message can include the page information of all data pages to be extended, the information of the management nodes to which the data pages belong, the cache lock request information, and the like.

[0067] Next, the requesting node can send the request message to all nodes through a communication process, or send the request message to all management nodes involved in the data pages to be extended. After receiving the request message, each management node can process the request message concurrently. Specifically, each management node determines the data pages to be extended managed by the management node according to the content of the request message, and authorizes the cache lock of all data pages to be extended managed by the management node. Next, each management node can send all authorization results to the requesting node concurrently, and the requesting node extends the buffer of each data page to be extended according to the authorization results.

[0068] The method for batch extending data pages in a shared storage cluster of the present application aggregates the cases of multiple data pages to be extended into one request message, so that the requesting node only sends one request message, which greatly reduces the communication load of the cluster, saves the network resources of the cluster, improves the communication efficiency of the cluster, shortens the extension time, and improves the extension efficiency. The management nodes involved in all data pages to be extended further shorten the extension time and improve the extension efficiency by processing the received request message concurrently.

[0069] In some embodiments of the method for batch extending data pages of the present application, as shown in FIG. 2, the method comprises the following steps.Figure 2 As shown, the request message is generated at the request node of the cluster, comprising:

[0070] S111, obtaining page information of each data page to be extended;

[0071] S113, determining management nodes to which each data page to be extended belongs, grouping each data page to be extended based on each management node, and generating grouping information;

[0072] S115, generating a request message according to the page information, the grouping information, and the cache lock request information.

[0073] The SQL service process of the request node first obtains the page information (such as the buffer tag) of all data pages to be extended, and then determines the management nodes of each data page to be extended through a consistent hashing algorithm according to the page information. Next, all data pages to be extended are grouped according to the management nodes, all data pages to be extended belonging to the same management node are divided into a group, and the node number of the management node is recorded on the group tag.

[0074] With the grouping information, the communication process of the request node can easily determine the target receiving nodes of the final request message (i.e., each management node in the grouping information). On the other hand, each management node can easily determine the information of all data pages to be extended managed by it from the received request message, without having to query the allocation result of the consistent hashing algorithm, thereby improving the extension efficiency.

[0075] It should be understood that in the related art, the request node needs to set multiple communication processes to correspond to each data page to be extended one by one. Specifically, the request node needs to calculate the hash value related to the buffer tag of each data page to be extended, and determine the corresponding communication process through a consistent hashing algorithm, and use the communication process for related processing. In the present embodiment, the request node can use only one communication process (such as the communication process corresponding to the data page with the smallest page number among the multiple data pages to be extended) to implement the sending of the request message, thereby further reducing resource occupation and improving the performance of the cluster.

[0076] In some embodiments of the method for batch extending data pages of the present application, as shown, Figure 3 the request message is generated according to the page information, the grouping information, and the cache lock request information, comprising:

[0077] S151, obtaining the data page with the smallest page number among the data pages to be extended as a starting data page;

[0078] S153, obtaining the total number of pages of each data page to be extended;

[0079] S155, generating the request message with the start data page, the total number of pages, the grouping information and the cache lock request information.

[0080] The inventor of the present application has found that, since the data pages to be extended are continuous, the page information of all the data pages to be extended does not need to be listed in the request message, and only the page information (for example, the buffer tag) of the start data page (the one with the smallest page number or the one with the largest page number) and the total number of pages (the total number of data blocks) of the current batch extension can be listed, which can contain sufficient information to enable the communication process to parse the page information of other data pages to be extended. Generating the request message with the start data page, the total number of pages, the grouping information and the cache lock request information can further reduce the size of the request message, reduce the communication load and improve the communication efficiency.

[0081] In some embodiments of the method for batch extending data pages, as shown in Figure 4 The request node sends the request message to the management nodes of the data pages to be extended, including:

[0082] S211, determining the start communication process corresponding to the start data page in the request node;

[0083] S213, the SQL service process of the request node sends the request message to the start communication process of the request node;

[0084] S215, the start communication process of the request node obtains the information of the management nodes according to the request message;

[0085] S217, the start communication process of the request node sends the request message to the start communication process of the management nodes, which is the communication process corresponding to the start data page in the management node.

[0086] In the embodiment, the request node only uses one local communication process (the start communication process corresponding to the start data page) to implement the sending of the request message, thereby further reducing the resource occupation and improving the performance of the cluster.

[0087] The management node only uses one local communication process (the start communication process corresponding to the start data page) to implement the receiving of the request message, thereby further reducing the resource occupation and improving the performance of the cluster.

[0088] In some embodiments of the method for batch extending data pages, as shown in Figure 5 The step of any management node as a first target management node, authorizing the cache lock corresponding to each data page to be extended, and sending the authorization result to the request node includes:

[0089] S311, the first target management node determines the data pages to be expanded managed by the first target management node according to the grouping information in the request message;

[0090] S313, the first target management node authorizes the cache locks of the data pages to be expanded managed by the first target management node respectively, and obtains a plurality of target authorization results;

[0091] S315, the first target management node generates an authorization message according to the plurality of target authorization results, and sends the authorization message to the starting communication process of the request node through the starting communication process of the management node.

[0092] In the embodiment, after the starting communication process of the first target management node receives the request message, the starting communication process of the first target management node performs batch processing on all the data pages to be expanded managed by the first target management node according to the grouping information in the request message, generates an authorization message according to the batch processing result, and then sends the authorization message back to the starting communication process of the request node through the starting communication process of the first target management node. In this way, the management node can authorize a plurality of page resources through only one communication, further reduces the communication load of the cluster, saves the network resources of the cluster, improves the communication efficiency of the cluster, shortens the extension time consumption, and improves the extension efficiency.

[0093] In some embodiments of the method for batch expanding data pages, as shown in Figure 6 the request node updates the cache locks of the data pages to be expanded according to the authorization results, including:

[0094] S411, in the case where the request node receives the authorization result messages of all the management nodes, the SQL service process of the request node updates the local cache locks of the data pages to be expanded;

[0095] S413, in response to the fact that the local cache locks of the data pages to be expanded have been updated, the SQL service process of the request node generates a local cache lock confirmation message;

[0096] S415, the request node sends the local cache lock confirmation message to each management node;

[0097] S417, in response to the fact that the request node receives the local cache lock confirmation message, each management node updates the global cache locks of the data pages to be expanded managed by the management node respectively.

[0098] In the embodiment, after the SQL service process of the request node receives the authorization result messages of all the management nodes, the SQL service process of the request node updates the local cache locks of all the data pages to be expanded in batches. In this way, the update efficiency of the local cache locks can be improved.

[0099] In this embodiment, after receiving the local cache lock confirmation message, each management node can update the global cache lock of each data page to be expanded under its management in batches. In this way, the updating efficiency of the global cache lock can be improved.

[0100] In some embodiments of the method for batch expansion of data pages of the present application, as shown in Figure 7 the request node sends a local cache lock confirmation message to each management node, including:

[0101] S451, the SQL service process of the request node sends a local cache lock confirmation message to the communication distribution process of the request node;

[0102] S453, the communication distribution process of the request node sends a local cache lock confirmation message to the communication distribution process of each management node;

[0103] When any management node receives a local cache lock confirmation message as a second target management node, the step of updating the global cache lock of each data page to be expanded under its management includes:

[0104] S471, the communication distribution process of the second target management node determines the resource communication processes corresponding to each data page to be expanded under the management of the second target management node upon receiving the local cache lock confirmation message;

[0105] S473, the communication distribution process of the second target management node sends a local cache lock confirmation message to each resource communication process to complete the updating of the global cache lock of the data page to be expanded.

[0106] After the request node obtains the authorization results of each data page to be expanded, the SQL service process of the request node (e.g., node 1) will continue to process the expansion buffer of each data page to be expanded, and then release the buffer lock. During the expansion of the buffer, the SQL service process of a node (e.g., node 2) in the cluster may request to read the page resource of a data page to be expanded, and therefore needs to first obtain the consistent cache lock of the page resource. That is, node 2 will use the communication process (e.g., communication process 2) corresponding to the data page to be expanded to request to obtain the consistent cache lock of the page resource, and use the corresponding communication process 2 to wait for the reply result of the request. If the request node still uses the starting communication process (e.g., communication process 1) corresponding to the starting data page when requesting the local cache lock, and replies to the SQL service process of node 2 through the starting communication process corresponding to the starting data page, the reply will enter the starting communication process corresponding to the starting data page of node 2, and cannot enter the communication process 2 of node 2. This will cause the reply that the SQL service process of node 2 waits for to be inconsistent with the actual reply communication process, causing the problem of dead waiting.

[0107] In the embodiment, to solve the problem of waiting for a long time, the present inventors introduce a special communication process (communication distribution process) to process the confirmation messages on the communication process. Specifically, the SQL service process of the request node sends the local cache lock confirmation messages of the data pages to be extended to the communication distribution process of the request node, and the communication distribution process of the request node sends the local cache lock confirmation messages of the data pages to be extended to the communication distribution processes of the management nodes. The communication distribution processes of the management nodes further deliver the local cache lock confirmation messages of the data pages to be extended to the corresponding communication processes of the nodes (the communication distribution process of the request node also delivers the local cache lock confirmation messages of the data pages to be extended to the corresponding communication processes of the nodes) according to the consistent hashing algorithm.

[0108] For example, referring to Figure 8 The request node (node 1) sends the local cache lock confirmation messages of the data pages to be extended to the communication distribution process of node 1, and the communication distribution process of node 1 distributes the confirmation messages of the data pages to be extended to the communication processes of the nodes. The communication distribution process of node 1 also sends the confirmation messages to the communication distribution processes of the management nodes, and the communication distribution processes of the management nodes distribute the confirmation messages to the communication processes of the nodes. When a node (node 2) requests to read the page resource of the data page to be extended, the node 2 first determines the communication process (for example, communication process 1) corresponding to the page resource, and then sends a request to the communication process 1 of the management node (for example, node 3) from the communication process 1 of the node 2, and the node 3 sends the reply authorization information to the communication process 1 of the node 2 through the communication process 1 of the node 3. In this way, the problem of waiting for a long time is effectively solved.

[0109] The flowchart provided in the embodiment is not intended to indicate that the operations of the method should be executed in any specific order, or that all of the operations included in the method should be included in every case. In addition, the method can include additional operations. Additional changes can be made to the above-described method within the scope of the technical idea of the method provided in the embodiment.

[0110] It should be understood that, in some embodiments, parts can be realized in hardware, software, firmware, or a combination thereof. In the above-described implementation, a plurality of steps or methods can be realized by software or firmware stored in a memory and executed by a suitable instruction execution system.

[0111] The embodiment of the present application also provides a computer program product 10, a computer readable storage medium 20, and a computer device 30. Figure 9 is a schematic diagram of the computer program product 10 according to an embodiment of the present application, Figure 10is a schematic diagram of a computer readable storage medium 20 according to an embodiment of the application, Figure 11 is a schematic diagram of a computer device 30 according to an embodiment of the application. The computer program product 10 comprises a computer program 11 which, when executed by the processor 32, implements the steps of any of the methods of batch expanding data pages described above. The computer readable storage medium 20 has stored thereon the computer program 11 which, when executed by the processor 32, implements the steps of any of the methods of batch expanding data pages described above. The computer device 30 can comprise a memory 31, a processor 32 and the computer program 11 stored on the memory 31 and running on the processor 32.

[0112] The computer program 11 for performing the operations of the application can be in an assembly language, machine language, machine code, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or in any combination of one or more programming languages and processes. The computer program 11 can be executed in whole or in part on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present application.

[0113] For the purposes of the description of the present embodiment, the computer program product 10 is the relevant product comprising the computer program 11.

[0114] For the description of the present embodiment, the computer-readable storage medium 20 is a tangible device that can retain and store computer- program 11, which can be any apparatus that can contain, store, communicate, propagate or transport the computer-program 11 for use by or in connection with the instruction execution system, apparatus or device. More specific examples (a non-exhaustive list) of the computer-readable storage medium 20 include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, and any suitable combination of the foregoing.

[0115] The computer device 30 can be, for example, a server, a desktop computer, a notebook computer, a tablet computer, or a smartphone. In some examples, the computer device 30 can be a cloud computing node. The computer device 30 can be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules can include routines, programs, objects, components, logic, data structures, and the like, that perform particular tasks or implement particular abstract data types. The computer device 30 can be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules can be located in both local and remote computer system storage media including memory storage devices.

[0116] The computer device 30 can include a processor 32 adapted to execute stored instructions, a memory 31 that provides temporary storage for operating system or data or as a cache that provides a faster way to access data. The processor 32 can be a single core processor, multi-core processor, computing cluster, or any number of other configurations. The memory 31 can include random access memory (RAM), read only memory, flash memory, or any other suitable memory system.

[0117] The computer device 30 can also include a network adapter / interface and an input / output (I / O) interface. The I / O interface allows for input and output of data with external devices that can be connected to the computer device. The network adapter / interface can provide for communication between the computer device and a network, generally illustrated as communication network.

[0118] To this end, it will be appreciated that, although specific embodiments of the application have been described herein for purposes of illustration, various modifications can be made in the details of the application without departing from the spirit and scope thereof. Therefore, it is to be understood that the scope of the application is not to be limited to the specific examples disclosed and that modifications or variations are possible in accordance with the above teachings.

Claims

1. A method for batch expanding data pages in a shared storage cluster, characterized in that, include: A request message is generated at a request node in the cluster. The request node is used to expand multiple consecutive data pages in the shared storage of the cluster. The request message includes information about each data page to be expanded. The requesting node sends the request message to the management node of each of the data pages to be expanded, and each management node is used to manage at least one of the data pages to be expanded; Upon receiving the request message, each management node authorizes the cache lock of the corresponding data page to be expanded and sends the authorization results to the requesting node. Based on the authorization results, the requesting node updates the cache lock of each of the data pages to be expanded and expands the buffer of each of the data pages to be expanded.

2. The method according to claim 1, characterized in that, The generation of request messages on the request nodes of the cluster includes: Obtain the page information of each of the data pages to be expanded; The management node to which each of the data pages to be expanded belongs is determined, and the data pages to be expanded are grouped based on each management node to generate grouping information; The request message is generated based on the page information, the group information, and the cache lock request information.

3. The method according to claim 2, characterized in that, The process of generating the request message based on the page information, the group information, and the cache lock request information includes: Obtain the page with the smallest page number among all the data pages to be expanded, and use it as the starting data page; Obtain the total number of pages for each of the data pages to be expanded; The request message is generated from the starting data page, the total number of pages, the grouping information, and the cache lock request information.

4. The method according to claim 3, characterized in that, The requesting node sends the request message to the management nodes of each of the data pages to be expanded, including: The starting communication process corresponding to the starting data page is determined in the request node; The SQL service process of the requesting node sends the request message to the initiation communication process of the requesting node; The initial communication process of the requesting node obtains information about each management node based on the request message; The requesting node's initiating communication process sends the request message to the initiating communication process of each of the management nodes, wherein the initiating communication process of the management node is the communication process in the management node corresponding to the initiating data page.

5. The method according to claim 4, characterized in that, The steps of any of the aforementioned management nodes acting as the first target management node, authorizing the cache locks of the corresponding data pages to be expanded, and sending the authorization results to the requesting node include: Based on the grouping information in the request message, the first target management node determines each of the data pages to be expanded under its management; The first target management node authorizes the cache locks of each of the data pages to be expanded under its management, and obtains multiple target authorization results; The first target management node generates an authorization message from the multiple target authorization results and sends the authorization message to the requesting node's initiation communication process through the management node's initiation communication process.

6. The method according to claim 1, characterized in that, The process of updating the cache lock of each data page to be expanded by the requesting node according to the authorization results includes: Upon receiving the authorization results from all the management nodes, the SQL service process of the requesting node updates the local cache lock for each of the data pages to be expanded; In response to the completion of updating the local cache locks for each of the data pages to be expanded, the SQL service process of the request node generates a local cache lock confirmation message; The requesting node sends the local cache lock confirmation message to each of the management nodes; In response to receiving the local cache lock confirmation message, each management node updates the global cache lock for each of the data pages to be expanded that it manages.

7. The method according to claim 6, characterized in that, The requesting node sends the local cache lock confirmation message to each of the management nodes, including: The SQL service process of the requesting node sends the local cache lock confirmation message to the communication distribution process of the requesting node; The communication distribution process of the requesting node sends the local cache lock confirmation message to the communication distribution process of each management node; The step of any of the management nodes, acting as the second target management node, updating the global cache locks for each of the data pages to be expanded under its management includes: Upon receiving the local cache lock confirmation message, the communication distribution process of the second target management node determines the resource communication process corresponding to each of the data pages to be expanded managed by the second target management node. The communication distribution process of the second target management node sends the local cache lock confirmation message to each of the resource communication processes to complete the update of the global cache lock of the data page to be expanded.

8. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the steps of the method for bulk expanding data pages in a shared storage cluster as described in any one of claims 1 to 7.

9. A computer program product, comprising a computer program, characterized in that, When executed by a processor, the computer program implements the steps of the method for bulk expanding data pages in a shared storage cluster as described in any one of claims 1 to 7.

10. A computer device, characterized in that, The method includes a memory, a processor, and a computer program stored on the memory, wherein the processor executes the computer program to implement the steps of the method for bulk expanding data pages in a shared storage cluster according to any one of claims 1 to 7.