Distributed data processing system, method, device, medium and program product

By configuring the server to manage data location relationships, using cache consistency protocol and remote direct data access technology, the complexity problem of distributed storage systems during expansion and reduction is solved, and the system scalability and data transmission efficiency are improved.

CN120512433AActive Publication Date: 2025-08-19LANGCHAO ELECTRONIC INFORMATION IND CO LTD
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
CN202510991755.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-18
Publication Date
2025-08-19
Estimated Expiration
2045-07-18

AI Technical Summary

Technical Problem

When existing distributed storage systems expand or shrink capacity, they need to update the entire ring structure, which increases the complexity of system updates and makes it difficult to improve the capacity expansion and shrink capacity.

Method used

The configuration server is used to manage the relationship between the data and its existing location separately, and connect the client server and the data server through cache consistency protocol and remote direct data access technology. Only update the index mapping relationship in the configuration server to avoid changes in the global index mapping relationship.

Benefits of technology

It improves the capacity expansion and reduction capabilities of distributed systems, improves the data transmission efficiency between the client server and the configuration server, and reduces the response time for CPU participation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120512433A_ABST
    Figure CN120512433A_ABST
Patent Text Reader

Abstract

The invention discloses a distributed data processing system, method and device, a medium and a program product in the technical field of computers. According to the method, the relationship between the data and the storage position of the data is independently managed by utilizing the configuration server, and the capacity expansion and the capacity reduction of the system only need to change the index mapping relationship of the related data in the configuration server without changing the global index mapping relationship, so that the capacity expansion and capacity reduction capability of the distributed system is improved; the client server is connected with the configuration server through a cache coherence protocol; the configuration server is connected with the plurality of data servers through a cache consistency protocol; the client server is connected with the plurality of data servers through a remote direct data access technology, so that the communication efficiency among the client server, the configuration server and the plurality of data servers is improved, and the client server and the configuration server can realize synchronization of an index mapping relationship through a cache consistency protocol; the data transmission efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a distributed data processing system, method, device, medium and program product. Background Art

[0002] In distributed storage systems, consistent hashing algorithms can be used to achieve distributed data storage. The basic principle of consistent hashing algorithms is to construct the entire hash value space into a closed ring structure. Each node and data item is mapped to this ring using a hash function, forming a continuous ring space. When accessing data, the algorithm searches clockwise for the nearest node for processing, ensuring even data distribution. If the system expands or contracts, the entire ring structure must be updated accordingly, increasing the complexity of system updates.

[0003] Therefore, how to improve the expansion and contraction capabilities of distributed systems is a problem that those skilled in the art need to solve. Summary of the Invention

[0004] In view of this, the purpose of this application is to provide a distributed data processing system, method, device, medium and program product to improve the expansion and reduction capabilities of the distributed system.

[0005] In the first aspect, the present application provides a distributed data processing system, including: a client server, a configuration server and multiple data servers; the client server and the configuration server are connected via a cache consistency protocol; the configuration server and the multiple data servers are connected via a cache consistency protocol; the client server and the multiple data servers are connected via remote direct data access technology; the configuration server is used to: record the index mapping relationship of data stored by multiple data servers in its own network card memory; the index mapping relationship is the relationship between any data and the location where the data is stored; the multiple data servers are used to: store data in their own storage devices, and record metadata of their own stored data in their own network card memories; the client server is used to: access the index mapping relationship in the configuration server; and / or access the data stored by multiple data servers.

[0006] In the second aspect, the present application provides a distributed data processing method, which is applied to a distributed data processing system, the system comprising: a client server, a configuration server and multiple data servers; the client server and the configuration server are connected via a cache consistency protocol; the configuration server and the multiple data servers are connected via a cache consistency protocol; the client server and the multiple data servers are connected via remote direct data access technology; the distributed data processing method comprises: the configuration server records the index mapping relationship of the data stored by the multiple data servers in its own network card memory; the index mapping relationship is the relationship between any data and the location where the data is stored; the multiple data servers store data in their own storage devices, and record the metadata of the data stored in their own network card memory; the client server accesses the index mapping relationship in the configuration server; and / or accesses the data stored by the multiple data servers.

[0007] In a third aspect, the present application provides an electronic device, comprising: a memory for storing a computer program; and a processor for executing the computer program to implement the aforementioned distributed data processing method disclosed above.

[0008] In a fourth aspect, the present application provides a distributed data processing method, which is applied to a client server, including: sending a first access request to a configuration server, so that the configuration server processes the index mapping relationship of data stored by multiple data servers recorded in its own network card memory according to the first access request, and returns the corresponding processing result to the client server; the index mapping relationship is the relationship between any data and the location where the data is stored; sending a second access request to the data server corresponding to the processing result, so that the data server operates on the corresponding data stored in its own storage device and / or the corresponding metadata recorded in its own network card memory according to the second access request, and returns the corresponding operation result to the client server; wherein, the client server and the configuration server are connected through a cache consistency protocol; the configuration server and multiple data servers are connected through a cache consistency protocol; the client server and multiple data servers are connected through remote direct data access technology.

[0009] In a fifth aspect, the present application provides a non-volatile storage medium for storing a computer program, wherein the computer program implements the aforementioned distributed data processing method when executed by a processor.

[0010] In a sixth aspect, the present application provides a computer program product, comprising a computer program / instruction, which implements the steps of the aforementioned disclosed distributed data processing method when executed by a processor.

[0011] It can be seen from the above scheme that the present application provides a distributed data processing system, including: a client server, a configuration server and multiple data servers; the client server and the configuration server are connected through a cache consistency protocol; the configuration server and the multiple data servers are connected through a cache consistency protocol; the client server and the multiple data servers are connected through remote direct data access technology; the configuration server is used to: record the index mapping relationship of the data stored by multiple data servers in its own network card memory; the index mapping relationship is the relationship between any data and the location where the data is stored; the multiple data servers are used to: store data in their own storage devices, and record the metadata of their own stored data in their own network card memories; the client server is used to: access the index mapping relationship in the configuration server; and / or access the data stored by multiple data servers.

[0012] It can be seen that the beneficial effects of this application are: using the configuration server to independently manage the relationship between data and its storage location, the system expansion and contraction only requires changing the index mapping relationship of the data involved in the configuration server, without changing the global index mapping relationship, thereby improving the expansion and contraction capabilities of the distributed system; and the client server and the configuration server are connected through a cache consistency protocol; the configuration server and multiple data servers are connected through a cache consistency protocol; the client server and multiple data servers are connected through remote direct data access technology, thereby improving the communication efficiency between the client server, the configuration server and multiple data servers, and the client server and the configuration server can synchronize the index mapping relationship through the cache consistency protocol, which can improve the data transmission efficiency between the client server and the configuration server. Because the network card is closer to the network, the response speed is faster and there is no need for CPU participation.

[0013] Correspondingly, the distributed data processing method, device, medium and program product provided by this application also have the above-mentioned technical effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without any creative work.

[0015] Figure 1 A schematic diagram of a distributed data processing system disclosed in this application; Figure 2 This is a schematic diagram of the second distributed data processing system disclosed in this application; Figure 3This is a schematic diagram of the third distributed data processing system disclosed in this application; Figure 4 A schematic diagram of a data node server disclosed in this application; Figure 5 A data query flow chart disclosed in this application; Figure 6 A data modification flow chart disclosed in this application; Figure 7 A server structure diagram provided for this application; Figure 8 This is a terminal structure diagram provided for this application. DETAILED DESCRIPTION

[0016] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0017] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.

[0018] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0019] Currently, in distributed storage systems, data distributed storage can be achieved using consistent hashing algorithms. The basic principle of the consistent hashing algorithm is to construct the entire hash value space into a closed ring structure. Each node and data item is mapped to this ring through a hash function, forming a continuous ring space. When accessing data, the algorithm will search for the nearest node in a clockwise direction for processing, thereby ensuring the uniform distribution of data. If the system is expanded or reduced in capacity, the entire ring structure needs to be updated accordingly, which increases the complexity of system updates. To this end, the present application provides a distributed data processing solution that can improve the expansion and reduction capabilities of distributed systems.

[0020] See also Figure 1As shown, an embodiment of the present application discloses a distributed data processing system, including: a client server, a configuration server and multiple data servers; the client server and the configuration server are connected through a cache consistency protocol; the configuration server and the multiple data servers are connected through a cache consistency protocol; the client server and the multiple data servers are connected through remote direct data access technology.

[0021] The configuration server is used to record index mappings of data stored by multiple data servers in its network card memory. Index mappings represent the relationship between any data and its storage location. Specifically, index mappings are key-value pairs, where the key is calculated based on the corresponding data (i.e., the data stored by the data server), and the value is calculated based on the data storage location. The data storage location includes data server identification information (such as the data server IP address or device number) and data address information (such as RDMA address information).

[0022] Multiple data servers are used to store data in their own storage devices and record metadata about the stored data in their own network card memory. Each data server also regularly divides the data stored in its own storage devices into cold and hot data, recording hot data to its own network card memory and cold data to its own processor memory. Storage devices can include hard drives, for example.

[0023] The client server is used to access the index mapping relationships in the configuration server and / or access data stored in multiple data servers. The client server accesses the configuration server and data server to perform data addition, deletion, modification, and query operations.

[0024] In one embodiment, the implementation process of the query operation includes: the client server receives the query request, and according to the first data to be queried by the query request, queries the index mapping relationship corresponding to the first data in the local or configuration server; determines the storage location of the first data based on the queried index mapping relationship; and queries the first data in the data server to which the location belongs using remote direct data access technology.

[0025] In one embodiment, the implementation process of the deletion operation includes: the client server receives a deletion request, and queries the index mapping relationship corresponding to the second data in the local or configuration server according to the second data to be deleted in the deletion request; determines the storage location of the second data based on the queried index mapping relationship; deletes the second data in the data server to which the location belongs using remote direct data access technology; accordingly, the client server is used to: delete the index mapping relationship corresponding to the second data in the local and configuration server; accordingly, the configuration server is used to: use the cache consistency protocol to delete the corresponding metadata in the data server to which the second data is stored.

[0026] In one embodiment, the implementation process of the modification operation includes: the client server receives a modification request, and queries the index mapping relationship corresponding to the third data locally or in the configuration server according to the third data to be modified in the modification request; determines the storage location of the third data based on the queried index mapping relationship; modifies the third data in the data server to which the location belongs using remote direct data access technology; accordingly, the client server is used to: modify the index mapping relationship corresponding to the third data locally and in the configuration server; accordingly, the configuration server is used to: use the cache consistency protocol to modify the corresponding metadata in the data server to which the third data is stored.

[0027] In one embodiment, the implementation process of the addition operation includes: the client server receives a data addition request, and according to the fourth data to be added in the data addition request, adds an index mapping relationship corresponding to the fourth data locally or in the configuration server; determines the storage location of the fourth data based on the newly added index mapping relationship; adds the fourth data in the data server to which the location belongs using remote direct data access technology; accordingly, the configuration server is used to: use a cache consistency protocol to add corresponding metadata in the data server to which the fourth data is stored.

[0028] In one embodiment, the client server is used to: synchronize the index mapping relationship in the configuration server to its own cache area using a cache consistency protocol. Accordingly, the client server is used to: query the index mapping relationship locally or in the configuration server using a cache consistency protocol. It can be seen that the client server and the configuration server can achieve synchronous caching of the index mapping relationship at both ends through the cache consistency protocol, and the configuration server uses its own network card memory to record the index mapping relationship, which can further improve the data transmission efficiency between the client server and the configuration server. Accordingly, the configuration server is connected to each data server through a cache consistency protocol, which achieves synchronous caching of metadata in the data server at both ends, and the data server uses its own network card memory to record metadata, which can further improve the data transmission efficiency between the configuration server and each data server. The client server is connected to multiple data servers through remote direct data access technology, which can achieve direct reading and writing of data between the client server and each data server, and also improves the data transmission efficiency between the client server and each data server.

[0029] For system expansion, upon detecting a new data server, the configuration server records its identification information. The client server then creates an index mapping relationship for the new data server on the configuration server and stores the new data in the new data server. The configuration server may also create corresponding metadata for the new data server.

[0030] When the system scales down, the configuration server detects any offline data server and migrates the data stored in the offline data server to other, active data servers. It also modifies the index mappings for the migrated data. This allows only the index mappings for the affected data to be modified within the configuration server, without having to change the global index mappings, improving the scalability of the distributed system.

[0031] This embodiment uses the configuration server to independently manage the relationship between data and its storage location. System expansion and contraction only requires changing the index mapping relationship of the data involved in the configuration server, without changing the global index mapping relationship, thereby improving the expansion and contraction capabilities of the distributed system; and the client server and the configuration server are connected through a cache consistency protocol; the configuration server and multiple data servers are connected through a cache consistency protocol; the client server and multiple data servers are connected through remote direct data access technology, thereby improving the communication efficiency between the client server, the configuration server and multiple data servers. The client server and the configuration server can synchronize the index mapping relationship through the cache consistency protocol, which can improve the data transmission efficiency between the client server and the configuration server. Because the network card is closer to the network, the response speed is faster and there is no need for CPU participation.

[0032] See Figure 2 Client servers use CXL technology to access configuration node servers (i.e., configuration servers). Configuration node servers also use CXL technology to access data node servers (i.e., data servers). Client servers use RDMA technology to access data node servers. Generally, there is only one configuration node server, but there may be multiple data node servers and client servers.

[0033] When a client server accesses a configuration node server, it can query the key node index mapping (i.e., the index mapping relationship) to determine which data node server to access the desired data. The configuration node server accesses the data node server to update the corresponding metadata when adding or deleting data. Both of the above access methods involve small amounts of data and are used for data configuration queries or metadata access updates. Client servers access data node servers to transmit specific business data corresponding to the key node index mapping, which can be large amounts of data. This business data is the data stored by the data node server, and the metadata is the related information such as the attributes that manage this data.

[0034] See Figure 3The client server CPU directly accesses the key node index mapping on the configuration node server's network interface card (NIC) through CXL. This means the client server CPU directly accesses the configuration node server's NIC memory and has the ability to cache this memory. The CPU's ability to directly access remote NIC memory, a CXL type 2 device, improves the performance of accessing the key node index mapping. Because CXL provides cache coherence, the key node index mapping can be cached for acceleration. Specifically, the key node index mapping includes node information and the address information of the key's corresponding value. The value address information is included because RDMA operations are required, and RDMA operations require address information. Directly obtaining the address reduces CPU operations on the data node server, thereby improving performance. The client server directly accesses the key node index mapping data on the configuration node server's NIC memory through CXL, and supports caching. The client server only requires the CPU, while the configuration node server only requires the NIC. With caching enabled, performance can be significantly improved.

[0035] The configuration node server CPU directly operates the metadata on the data node server network card through CXL. In other words, the configuration node server CPU directly operates the data node server's network card memory and has the ability to cache this memory.

[0036] It's important to note that both the key node index mapping and metadata are stored in the network card memory. This placement is because the NIC is closer to the network, resulting in faster response times and no CPU involvement on the server. The network card here doesn't necessarily refer to an Ethernet card; it can also be a CXL network device that supports cross-node data transfer. Data transfer between the client server and the data node server network card is achieved via RDMA, which enables pure hardware-based data transfer, thereby improving system performance.

[0037] See Figure 4 The data node server also implements partitioned storage for hot and cold data, dividing business data into hot and cold data and storing them in the network card memory and host memory, respectively. Hot data is stored in the network card memory, while cold data is stored in the host memory. When a client server makes an RDMA data read or write request to a data node server, it directly addresses the data node server using the host memory address or the network card memory address. If addressing is completed in the network card memory, one DMA operation from the network card to the host memory can be reduced, thereby improving system responsiveness.

[0038] See Figure 5The data query process includes: the client server queries the key node index mapping data through CXL, or directly reads its own cache data for query. After obtaining the corresponding node information and the address information of the key corresponding value, the client server uses RDMA to obtain / update the storage data of the data node server.

[0039] See Figure 6 The data modification process involves the client server modifying key node index mapping data via CXL. This modification operation can be performed in conjunction with the configuration node's CPU. Modifying the key node index mapping data causes the configuration node server's CPU to modify the corresponding metadata on the data node server via CXL. After the modification is complete, the configuration node server updates its own key node index mapping data. Only after the mapping data is updated does the client server know where to transfer the data.

[0040] The deletion operation process includes: the client server deletes the key node index mapping data through CXL, so that the CPU of the configuration node server deletes the corresponding metadata on the data node server through CXL.

[0041] The following introduces a distributed data processing method provided in an embodiment of the present application. The distributed data processing method described below can be referenced with other embodiments described in this document.

[0042] An embodiment of the present application discloses a distributed data processing method, which is applied to a distributed data processing system, comprising: a client server, a configuration server and multiple data servers; the client server and the configuration server are connected via a cache consistency protocol; the configuration server and the multiple data servers are connected via a cache consistency protocol; the client server and the multiple data servers are connected via a remote direct data access technology; the distributed data processing method comprises: the configuration server records the index mapping relationship of the data stored by the multiple data servers in its own network card memory; the index mapping relationship is the relationship between any data and the location where the data is stored; the multiple data servers store data in their own storage devices and record metadata of the data stored in their own network card memories; the client server accesses the index mapping relationship in the configuration server; and / or accesses the data stored by the multiple data servers.

[0043] In one embodiment, the client server is configured to synchronize the index mapping relationship in the configuration server to its own cache area using a cache consistency protocol.

[0044] In one embodiment, the client server is configured to query the index mapping relationship locally or in a configuration server using a cache consistency protocol.

[0045] In one embodiment, the client server is used to: receive a query request, query the index mapping relationship corresponding to the first data in a local or configuration server according to the first data to be queried by the query request; determine the storage location of the first data based on the queried index mapping relationship; and query the first data in the data server to which the location belongs using remote direct data access technology.

[0046] In one embodiment, the client server is used to: receive a deletion request, and query the index mapping relationship corresponding to the second data in the local or configuration server according to the second data to be deleted by the deletion request; determine the storage location of the second data based on the queried index mapping relationship; delete the second data in the data server to which the location belongs using remote direct data access technology; accordingly, the client server is used to: delete the index mapping relationship corresponding to the second data in the local and configuration server; accordingly, the configuration server is used to: use the cache consistency protocol to delete the corresponding metadata in the data server to which the second data is stored.

[0047] In one embodiment, the client server is used to: receive a modification request, and query the index mapping relationship corresponding to the third data locally or in the configuration server according to the third data to be modified by the modification request; determine the storage location of the third data based on the queried index mapping relationship; modify the third data in the data server to which the location belongs using remote direct data access technology; accordingly, the client server is used to: modify the index mapping relationship corresponding to the third data locally and in the configuration server; accordingly, the configuration server is used to: modify the corresponding metadata in the data server to which the third data is stored using a cache consistency protocol.

[0048] In one embodiment, the client server is used to: receive a data addition request, and according to the fourth data to be added in the data addition request, add an index mapping relationship corresponding to the fourth data locally or in a configuration server; determine the storage location of the fourth data based on the newly added index mapping relationship; add the fourth data in the data server to which the location belongs using remote direct data access technology; accordingly, the configuration server is used to: use a cache consistency protocol to add corresponding metadata in the data server to which the fourth data is stored.

[0049] In one embodiment, the index mapping relationship is a key-value pair, where the key is calculated based on the corresponding data and the value is calculated based on the data storage location, and the data storage location includes: data server identification information and data address information.

[0050] In one embodiment, multiple data servers are used to: regularly divide data stored in their own storage devices into cold data and hot data; record hot data to their own network card memory, and record cold data to their own processor memory.

[0051] In one embodiment, the configuration server is configured to: after detecting a new data server, record identification information of the new data server.

[0052] In one embodiment, the configuration server is configured to: upon detecting that any data server is offline, migrate the data stored in the offline data server to other data servers that are not offline, and modify the index mapping relationship corresponding to the migrated data.

[0053] Among them, for more specific working processes of each module and unit in this embodiment, reference can be made to the corresponding contents disclosed in the aforementioned embodiments, which will not be repeated here.

[0054] As can be seen, this embodiment provides a distributed data processing method that can improve the communication efficiency between the client server, configuration server, and multiple data servers. The client server and configuration server can synchronize index mapping relationships through a cache consistency protocol, which can improve the data transmission efficiency between the client server and configuration server. Because the network card is closer to the network, the response speed is faster and no CPU processing is required.

[0055] The following introduces another distributed data processing method provided in an embodiment of the present application. The distributed data processing method described below can be referenced with other embodiments described in this document.

[0056] The present application discloses a distributed data processing method, which is applied to a client server and includes: S1. Send a first access request to the configuration server, so that the configuration server processes the index mapping relationship of the data stored in multiple data servers recorded in its own network card memory according to the first access request, and returns the corresponding processing result to the client server; the index mapping relationship is the relationship between any data and the location where the data is stored.

[0057] S2. Send a second access request to the data server corresponding to the processing result, so that the data server operates on the corresponding data stored in its own storage device and / or the corresponding metadata recorded in its own network card memory according to the second access request, and returns the corresponding operation result to the client server.

[0058] Among them, the client server and the configuration server are connected through a cache consistency protocol; the configuration server and multiple data servers are connected through a cache consistency protocol; the client server and multiple data servers are connected through remote direct data access technology.

[0059] In this embodiment, the first access request may be a request to add, delete, modify, or query an index mapping relationship; accordingly, the second access request is used to add, delete, modify, or query the corresponding data and / or metadata stored in the data server. For example, the first access request may be a query request for first data, a delete request for second data, a modification request for third data, or a new addition request for fourth data. For details, please refer to the relevant descriptions of other embodiments and will not be repeated here.

[0060] An electronic device provided in an embodiment of the present application is introduced below. The electronic device described below can be referenced with other embodiments described herein.

[0061] An embodiment of the present application discloses an electronic device, comprising: a memory for storing a computer program; and a processor for executing the computer program to implement the method disclosed in any of the above embodiments.

[0062] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: record the index mapping relationship of data stored in multiple data servers in its own network card memory; the index mapping relationship is the relationship between any data and the location where the data is stored.

[0063] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: storing data in its own storage device, and recording metadata of its own stored data in its own network card memory.

[0064] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: accessing the index mapping relationship in the configuration server; and / or accessing data stored in multiple data servers.

[0065] In this embodiment, when the processor executes the computer program stored in the memory, the following steps may be specifically implemented: synchronizing the index mapping relationship in the configuration server to its own cache area using a cache consistency protocol.

[0066] In this embodiment, when the processor executes the computer program stored in the memory, the following steps may be specifically implemented: querying the index mapping relationship locally or in the configuration server using a cache consistency protocol.

[0067] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: receive a query request, and query the index mapping relationship corresponding to the first data in the local or configuration server according to the first data to be queried in the query request; determine the storage location of the first data based on the queried index mapping relationship; and query the first data in the data server to which the location belongs using remote direct data access technology.

[0068] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: receive a deletion request, and query the index mapping relationship corresponding to the second data in the local or configuration server according to the second data to be deleted in the deletion request; determine the storage location of the second data based on the queried index mapping relationship; and delete the second data in the data server to which the location belongs using remote direct data access technology.

[0069] In this embodiment, when the processor executes the computer program stored in the memory, the following steps may be specifically implemented: deleting the index mapping relationship corresponding to the second data locally and in the configuration server.

[0070] In this embodiment, when the processor executes the computer program stored in the memory, the following steps may be specifically implemented: using a cache consistency protocol to delete corresponding metadata in the data server to which the second data storage location belongs.

[0071] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: receive a modification request, and query the index mapping relationship corresponding to the third data in the local or configuration server according to the third data to be modified in the modification request; determine the storage location of the third data based on the queried index mapping relationship; and modify the third data in the data server to which the location belongs using remote direct data access technology.

[0072] In this embodiment, when the processor executes the computer program stored in the memory, the following steps may be specifically implemented: modifying the index mapping relationship corresponding to the third data locally and in the configuration server.

[0073] In this embodiment, when the processor executes the computer program stored in the memory, the following steps may be specifically implemented: using a cache consistency protocol to modify corresponding metadata in the data server to which the third data is stored.

[0074] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: receive a data addition request, and according to the fourth data to be added in the data addition request, add an index mapping relationship corresponding to the fourth data locally or in the configuration server; determine the storage location of the fourth data based on the newly added index mapping relationship; and add the fourth data in the data server to which the location belongs using remote direct data access technology.

[0075] In this embodiment, when the processor executes the computer program stored in the memory, the following steps may be specifically implemented: using a cache consistency protocol to add corresponding metadata in the data server to which the fourth data storage location belongs.

[0076] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: regularly divide the data stored in its own storage device into cold data and hot data; record the hot data to its own network card memory, and record the cold data to its own processor memory.

[0077] In this embodiment, when the processor executes the computer program stored in the memory, the following steps may be specifically implemented: after detecting a new data server, recording identification information of the new data server.

[0078] In this embodiment, when the processor executes the computer program stored in the memory, it can specifically implement the following steps: after detecting that any data server is offline, migrate the data stored in the offline data server to other non-offline data servers, and modify the index mapping relationship corresponding to the migrated data.

[0079] Furthermore, the embodiment of the present application also provides an electronic device. The electronic device can be Figure 7 The server shown can also be Figure 8 The terminal shown. Figure 7 and Figure 8 Each of the diagrams is a structural diagram of an electronic device according to an exemplary embodiment, and the contents in the diagrams cannot be considered as any limitation on the scope of use of the present application.

[0080] Figure 7 This is a schematic diagram of the structure of a server provided in an embodiment of the present application. The server may specifically include: at least one processor, at least one memory, a power supply, a communication interface, an input / output interface, and a communication bus. The memory is used to store a computer program, which is loaded and executed by the processor to implement the relevant steps of the distributed data processing disclosed in any of the aforementioned embodiments.

[0081] In this embodiment, the power supply is used to provide operating voltage for each hardware device on the server; the communication interface can create a data transmission channel between the server and external devices. The communication protocol it follows is any communication protocol that can be applied to the technical solution of this application and is not specifically limited here; the input and output interface is used to obtain external input data or output data to the outside world. The specific interface type can be selected according to specific application needs and is not specifically limited here.

[0082] In addition, the memory as a carrier for resource storage can be a read-only memory, random access memory, disk or CD, etc. The resources stored thereon include operating system, computer programs and data, etc. The storage method can be temporary storage or permanent storage.

[0083] The operating system is used to manage and control the hardware devices and computer programs on the server to enable the processor to calculate and process data in the memory. It can be Windows Server, NetWare, Unix, Linux, etc. In addition to including computer programs capable of implementing the distributed data processing method disclosed in any of the aforementioned embodiments, computer programs can further include computer programs capable of performing other specific tasks. Data can include data such as application update information and data such as application developer information.

[0084] Figure 8 This is a schematic diagram of the structure of a terminal provided in an embodiment of the present application. The terminal may specifically include but is not limited to a smartphone, tablet computer, laptop computer or desktop computer.

[0085] Generally, the terminal in this embodiment includes: a processor and a memory.

[0086] The processor may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor may be implemented in at least one of the following hardware forms: a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), or a PLA (Programmable Logic Array). The processor may also include a main processor and a coprocessor. The main processor is used to process data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing content required to be displayed on the display. In some embodiments, the processor may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.

[0087] The memory may include one or more computer non-volatile storage media, which may be non-transitory. The memory may also include high-speed random access memory, and non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory is used to store at least the following computer program, wherein, after the computer program is loaded and executed by the processor, it can implement the relevant steps in the distributed data processing method performed by the terminal side disclosed in any of the aforementioned embodiments. In addition, the resources stored in the memory may also include an operating system and data, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system may include Windows, Unix, Linux, etc. The data may include but is not limited to update information of the application.

[0088] In some embodiments, the terminal may further include a display screen, an input and output interface, a communication interface, a sensor, a power supply, and a communication bus.

[0089] Those skilled in the art will understand that Figure 8 The structure shown in the figure does not constitute a limitation to the terminal, and may include more or fewer components than shown in the figure.

[0090] A non-volatile storage medium provided in an embodiment of the present application is introduced below. The non-volatile storage medium described below can be referenced with other embodiments described herein.

[0091] A non-volatile storage medium for storing a computer program, wherein the computer program, when executed by a processor, implements the distributed data processing method disclosed in the aforementioned embodiment. The non-volatile storage medium is a computer-readable non-volatile storage medium that, as a carrier for resource storage, may be a read-only memory, random access memory, magnetic disk, or optical disk. The resources stored thereon include an operating system, computer program, and data, and the storage method may be either temporary or permanent.

[0092] In this embodiment, when the processor executes a computer program stored in a non-volatile storage medium, it can specifically implement the following steps: recording the index mapping relationship of data stored in multiple data servers in its own network card memory; the index mapping relationship is the relationship between any data and the location where the data is stored.

[0093] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: storing data in its own storage device, and recording metadata of the stored data in its own network card memory.

[0094] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: accessing the index mapping relationship in the configuration server; and / or accessing data stored in multiple data servers.

[0095] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, the following steps may be specifically implemented: synchronizing the index mapping relationship in the configuration server to its own cache area using a cache consistency protocol.

[0096] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, the following steps may be specifically implemented: querying the index mapping relationship locally or in the configuration server using a cache consistency protocol.

[0097] In this embodiment, when the processor executes a computer program stored in a non-volatile storage medium, it can specifically implement the following steps: receive a query request, and query the index mapping relationship corresponding to the first data in a local or configuration server based on the first data to be queried in the query request; determine the storage location of the first data based on the queried index mapping relationship; and query the first data in the data server to which the location belongs using remote direct data access technology.

[0098] In this embodiment, when the processor executes a computer program stored in a non-volatile storage medium, it can specifically implement the following steps: receive a deletion request, and query the index mapping relationship corresponding to the second data in a local or configuration server according to the second data to be deleted in the deletion request; determine the storage location of the second data based on the queried index mapping relationship; and delete the second data in the data server to which the location belongs using remote direct data access technology.

[0099] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, the following steps may be specifically implemented: deleting the index mapping relationship corresponding to the second data locally and in the configuration server.

[0100] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, the following steps may be specifically implemented: using a cache consistency protocol to delete corresponding metadata in the data server to which the second data storage location belongs.

[0101] In this embodiment, when the processor executes a computer program stored in a non-volatile storage medium, it can specifically implement the following steps: receive a modification request, and query the index mapping relationship corresponding to the third data in a local or configuration server based on the third data to be modified in the modification request; determine the storage location of the third data based on the queried index mapping relationship; and modify the third data in the data server to which the location belongs using remote direct data access technology.

[0102] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, the following steps may be specifically implemented: modifying the index mapping relationship corresponding to the third data locally and in the configuration server.

[0103] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: using a cache consistency protocol to modify corresponding metadata in the data server to which the third data is stored.

[0104] In this embodiment, when the processor executes a computer program stored in a non-volatile storage medium, it can specifically implement the following steps: receive a data addition request, and according to the fourth data to be added in the data addition request, add an index mapping relationship corresponding to the fourth data locally or in the configuration server; determine the storage location of the fourth data based on the newly added index mapping relationship; and add the fourth data in the data server to which the location belongs using remote direct data access technology.

[0105] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: using the cache consistency protocol to add corresponding metadata in the data server to which the fourth data storage location belongs.

[0106] In this embodiment, when the processor executes a computer program stored in a non-volatile storage medium, it can specifically implement the following steps: regularly divide the data stored in its own storage device into cold data and hot data; record the hot data to its own network card memory, and record the cold data to its own processor memory.

[0107] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, the following steps may be specifically implemented: after detecting a new data server, recording identification information of the new data server.

[0108] In this embodiment, when the processor executes the computer program stored in the non-volatile storage medium, it can specifically implement the following steps: after detecting that any data server is offline, migrate the data stored in the offline data server to other non-offline data servers, and modify the index mapping relationship corresponding to the migrated data.

[0109] A computer program product provided in an embodiment of the present application is introduced below. The computer program product described below can be referenced with other embodiments described herein.

[0110] A computer program product includes a computer program / instruction, which implements the steps of the above-disclosed distributed data processing method when executed by a processor.

[0111] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium is used to store a computer program, and when the computer program is executed by a processor, the steps in any of the above embodiments are implemented.

[0112] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0113] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, a hard disk, a removable disk, a CD-ROM, or any other form of non-volatile storage medium known in the art.

[0114] This document uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.

Claims

1. A distributed data processing system, characterized in that: include: Client server, configuration server and multiple data servers; The client server is connected to the configuration server via a cache coherence protocol; The configuration server is connected to the multiple data servers via a cache consistency protocol; The client server is connected to the plurality of data servers via a remote direct data access technology; The configuration server is used to: record the index mapping relationship of the data stored by the multiple data servers in its own network card memory; the index mapping relationship is the relationship between any data and the location where the data is stored; The multiple data servers are used to: store data in their own storage devices and record metadata of their own stored data in their own network card memories; The client server is used to: access the index mapping relationship in the configuration server; and / or access the data stored in the multiple data servers.

2. The distributed data processing system according to claim 1, wherein: The client server is used to synchronize the index mapping relationship in the configuration server to its own cache area using a cache consistency protocol.

3. The distributed data processing system according to claim 1, wherein: The client server is used to query the index mapping relationship locally or in the configuration server using a cache consistency protocol.

4. The distributed data processing system according to claim 1, wherein: The client server is configured to: receive a query request, and query an index mapping relationship corresponding to the first data locally or in the configuration server according to the first data to be queried by the query request; Determining a storage location of the first data based on the queried index mapping relationship; The first data is searched in the data server of the location by using remote direct data access technology.

5. The distributed data processing system according to claim 1, wherein: The client server is configured to: receive a deletion request, and query an index mapping relationship corresponding to the second data to be deleted locally or in the configuration server according to the second data to be deleted in the deletion request; Determining a storage location of the second data based on the queried index mapping relationship; deleting the second data in the data server belonging to the location using remote direct data access technology; Accordingly, the client server is configured to: delete the index mapping relationship corresponding to the second data locally and on the configuration server; Correspondingly, the configuration server is configured to: use a cache consistency protocol to delete corresponding metadata in the data server to which the second data is stored.

6. The distributed data processing system according to claim 1, wherein: The client server is configured to: receive a modification request, and query an index mapping relationship corresponding to the third data locally or in the configuration server according to the third data to be modified in the modification request; Determine the storage location of the third data based on the retrieved index mapping relationship; modify the third data in the data server to which the location belongs using remote direct data access technology; Accordingly, the client server is configured to: modify the index mapping relationship corresponding to the third data locally and in the configuration server; Correspondingly, the configuration server is configured to modify corresponding metadata in the data server to which the third data is stored, using a cache consistency protocol.

7. The distributed data processing system according to claim 1, wherein: The client server is configured to: receive a data addition request; and, based on the fourth data to be added in the data addition request, add an index mapping relationship corresponding to the fourth data locally or in the configuration server; determine a storage location of the fourth data based on the newly added index mapping relationship; and add the fourth data to the data server corresponding to the storage location using remote direct data access technology; Correspondingly, the configuration server is configured to: use a cache consistency protocol to add corresponding metadata in the data server to which the fourth data is stored.

8. The distributed data processing system according to claim 1, wherein: The index mapping relationship is a key-value pair, where the key is calculated based on the corresponding data and the value is calculated based on the data storage location. The data storage location includes: data server identification information and data address information.

9. The distributed data processing system according to claim 1, wherein: The multiple data servers are used to: regularly divide the data stored in their own storage devices into cold data and hot data; record the hot data in their own network card memory, and record the cold data in their own processor memory.

10. The distributed data processing system according to any one of claims 1 to 9, characterized in that: The configuration server is used to: after detecting a new data server, record identification information of the new data server.

11. The distributed data processing system according to any one of claims 1 to 9, characterized in that: The configuration server is used to: after detecting that any data server is offline, migrate the data stored in the offline data server to other data servers that are not offline, and modify the index mapping relationship corresponding to the migrated data.

12. A distributed data processing method, characterized in that: Applied to a distributed data processing system, the system comprises: a client server, a configuration server, and a plurality of data servers; the client server and the configuration server are connected via a cache consistency protocol; the configuration server and the plurality of data servers are connected via a cache consistency protocol; the client server and the plurality of data servers are connected via a remote direct data access technology; The distributed data processing method includes: The configuration server records the index mapping relationship of the data stored in the plurality of data servers in its own network card memory; the index mapping relationship is the relationship between any data and the location where the data is stored; The multiple data servers store data in their own storage devices and record metadata of their own stored data in their own network card memories; The client server accesses the index mapping relationship in the configuration server; and / or accesses the data stored in the multiple data servers.

13. A distributed data processing method, characterized in that: Applicable to client servers, including: Sending a first access request to a configuration server, so that the configuration server processes an index mapping relationship of data stored in multiple data servers recorded in its own network card memory according to the first access request, and returns a corresponding processing result to the client server; the index mapping relationship is a relationship between any data and the location where the data is stored; Sending a second access request to the data server corresponding to the processing result, so that the data server operates on the corresponding data stored in its own storage device and / or the corresponding metadata recorded in its own network card memory according to the second access request, and returns the corresponding operation result to the client server; The client server is connected to the configuration server via a cache consistency protocol; the configuration server is connected to the multiple data servers via a cache consistency protocol; and the client server is connected to the multiple data servers via a remote direct data access technology.

14. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to execute the computer program to implement the method according to claim 12 or 13.

15. A non-volatile storage medium, characterized in that: Used to store a computer program, wherein when the computer program is executed by a processor, the method according to claim 12 or 13 is implemented.

16. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the method according to claim 12 or 13 is implemented.

Citation Information

Patent Citations

  • Distributed caching method for system management data and file management system

    CN103209215A

  • Low delay distributed storage system

    CN107888657A

  • Cache data processing method, device and equipment and storage medium

    CN111078147A

  • Optimization method for distributed cache capacity expansion and shrinkage of content distribution network

    CN111917853A

  • Method, device and equipment for realizing cache consistency and readable medium

    CN115514772A