Multi-cluster data processing method, device and system and storage medium
The multi-cluster control unit, through the multi-cluster caching module, performs consistency operations according to the transaction instruction type, which resolves the contradiction between high performance and strong consistency in a multi-cluster environment, and achieves efficient data consistency maintenance and performance improvement.
Patent Information
- Application Number
- CN202511054114.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-29
- Publication Date
- 2025-11-28
AI Technical Summary
In a multi-cluster environment, existing technologies struggle to simultaneously meet the demands for high performance and strong consistency, leading to network congestion and performance bottlenecks that affect the maintenance of data consistency.
The multi-cluster control unit in the multi-cluster cache module performs consistency operations based on the type of transaction instruction, including sniffing and loading instructions, to ensure the latestness and consistency of data and reduce unnecessary data transmission and duplicate processing.
When handling a large number of concurrent requests, it reduces the risk of network congestion, maintains the consistency of data across multiple clusters, and improves overall performance and response speed.
Smart Images

Figure CN121029326A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, specifically to a multi-cluster data processing method, apparatus, system, and storage medium. Background Technology
[0002] Currently, with the rapid development of information technology, multi-cluster computing architecture has become a key technology for handling large-scale data and complex computing tasks. However, in a multi-cluster environment, data consistency issues have become a significant bottleneck restricting system performance and reliability due to potential data copy update and access conflicts between different clusters. Therefore, ensuring data consistency and synchronization has become an urgent problem to be solved.
[0003] The relevant technologies primarily rely on data replication and consistency protocols to ensure data consistency in multi-cluster systems. Data replication technology improves data availability and fault tolerance by storing copies of data across multiple nodes. Consistency protocols ensure data consistency among nodes by defining rules for communication and data updates.
[0004] In the process of implementing the embodiments of this disclosure, at least the following problems were found in the related art: Related technologies have improved the maintenance of data consistency to some extent. However, although these technologies can monitor and synchronize data updates, consistency protocols often need to balance performance and consistency, making it difficult to simultaneously meet the requirements of high performance and strong consistency. Therefore, when handling a large number of concurrent requests, network congestion and performance bottlenecks may occur, thereby affecting the maintenance of data consistency.
[0005] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0006] To address one of the aforementioned technical deficiencies, this application provides a multi-cluster data processing method, apparatus, system, and storage medium.
[0007] In some embodiments, the method is applied to a multi-cluster data processing system, including a multi-cluster cache module connected to multiple clusters respectively. The multi-cluster cache module includes a multi-cluster control unit and a multi-cluster cache unit. The method includes: when the multi-cluster control unit receives a transaction instruction issued by the initial cluster, obtaining the type of the transaction instruction; and controlling the multi-cluster control unit to perform a corresponding consistency operation according to the type of the transaction instruction.
[0008] Optionally, depending on the type of transaction instruction, the multi-cluster control unit is controlled to perform corresponding consistency operations, including: when the transaction instruction is a load instruction, the multi-cluster control unit is controlled to issue a sniffing instruction to the non-initial cluster and a load instruction to the main memory and the multi-cluster cache unit; when the multi-cluster control unit receives response data from the non-initial cluster, the main memory and / or the multi-cluster cache unit, the multi-cluster control unit is controlled to perform corresponding consistency operations based on the time and content of the response data arriving at the multi-cluster control unit.
[0009] Optionally, based on the time and content of the response data arriving at the multi-cluster control unit, the multi-cluster control unit is controlled to perform corresponding consistency operations, including: obtaining the time and content of the response data from the non-initial cluster, main memory, and / or multi-cluster cache unit arriving at the multi-cluster control unit; when the first data of the non-initial cluster response arrives at the multi-cluster control unit first, the multi-cluster control unit is controlled to use the first data to respond to the load command issued by the initial cluster; when the second data of the main memory response arrives at the multi-cluster control unit first, the multi-cluster control unit is controlled to respond to the load command issued by the initial cluster with the first data or the second data.
[0010] Optionally, controlling the multi-cluster control unit to respond to the loading command issued by the initial cluster with first data or second data includes: controlling the multi-cluster control unit to receive the first data; when the first data arrives at the multi-cluster control unit, controlling the multi-cluster control unit to discard the second data and use the first data to respond to the loading command issued by the initial cluster; when the response from a non-initial cluster fails or the first data is older, controlling the multi-cluster control unit to use the second data to respond to the loading command issued by the initial cluster.
[0011] Optionally, after the control unit for the multi-cluster control system discards the second data and responds to the loading command issued by the initial cluster using the first data, it further includes: controlling the initial cluster to load the first data.
[0012] Optionally, depending on the type of transaction instruction, controlling the multi-cluster control unit to perform the corresponding consistency operation further includes: when the transaction instruction is a storage instruction, controlling the multi-cluster control unit to issue a sniffing instruction to the non-initial cluster and a storage instruction to the main memory and the multi-cluster cache unit; when the non-initial cluster receives the sniffing instruction, controlling the non-initial cluster to invalidate the backup data at the address corresponding to the storage instruction.
[0013] Optionally, when a non-initial cluster receives a sniffing command, it also includes controlling the initial cluster to store the latest data in the storage command.
[0014] In some embodiments, the system includes: multiple clusters interconnected with each other; a multi-cluster cache module connected to each of the multiple clusters, the multi-cluster cache module including a multi-cluster control unit and a multi-cluster cache unit; wherein, when the cluster cache unit receives a transaction instruction issued by the initial cluster, it obtains the type of the transaction instruction; and performs the corresponding consistency operation according to the type of the transaction instruction.
[0015] In some embodiments, the computer device includes: a memory; a processor; and a computer program; wherein the computer program is stored in the memory and configured to be executed by the processor of any of the above-described multi-cluster data processing methods.
[0016] In some embodiments, the computer-readable storage medium stores program instructions that, when executed, perform any of the above-described multi-cluster data processing methods.
[0017] The multi-cluster data processing method, apparatus, system, and computer-readable storage medium provided in the embodiments of this disclosure can achieve the following technical effects: When the multi-cluster control unit receives a transaction instruction from the initial cluster, it obtains the type of the transaction instruction and controls the multi-cluster control unit to execute the corresponding consistency operation based on the type of the transaction instruction. Since multiple clusters are connected to the multi-cluster cache module, the multi-cluster control unit, through the multi-cluster cache module, acts as a bridge between different clusters. By performing multi-cluster data consistency processing according to preset control logic, it can reduce unnecessary data transmission and redundant processing when handling a large number of concurrent requests, reduce the risk of network congestion, and thus maintain the consistency of multi-cluster data.
[0018] The above general description and the description below are exemplary and illustrative only and are not intended to limit this application. Attached Figure Description
[0019] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 This is a schematic diagram of the structure of a multi-cluster data processing system provided in an embodiment of this disclosure; Figure 2 This is a schematic diagram of the structure of a single cluster of a multi-cluster data processing system provided in an embodiment of this disclosure; Figure 3 This is a schematic diagram of a multi-cluster data processing method provided in an embodiment of this disclosure; Figure 4 This is a schematic diagram of another multi-cluster data processing method provided in an embodiment of this disclosure; Figure 5 This is a schematic diagram of a computer device provided in an embodiment of this disclosure. Detailed Implementation To provide a more detailed understanding of the features and technical content of the embodiments of this disclosure, the implementation of the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. The accompanying drawings are for illustrative purposes only and are not intended to limit the embodiments of this disclosure. In the following technical description, for ease of explanation, several details are used to provide a full understanding of the disclosed embodiments. However, one or more embodiments may still be implemented without these details. In other cases, well-known structures and devices may be simplified in their depiction to simplify the drawings.
[0020] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of this disclosure described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion.
[0021] Unless otherwise stated, the term "multiple" means two or more.
[0022] In this embodiment of the disclosure, the character " / " indicates that the objects before and after it are in an "or" relationship. For example, A / B means: A or B.
[0023] The term "and / or" describes an association between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or A and B.
[0024] The term "correspondence" can refer to an association or binding relationship. The correspondence between A and B means that there is an association or binding relationship between A and B.
[0025] Combination Figure 1 As shown, this disclosure presents a multi-cluster data processing system, including multiple clusters and a multi-cluster caching module. The multiple clusters are interconnected, and each cluster includes multiple cores and sniffing control units, such as... Figure 2As shown, each core includes a first cache unit close to the core and a second cache unit further away. The first cache unit includes a data cache and an instruction cache. The instruction cache stores recently used instructions, enabling the processor to quickly access these instructions without having to read them from main memory each time, thus improving execution speed. The data cache, similar to the instruction cache, stores recently accessed data, accelerating data read and write operations. The second cache unit stores additional data or instructions that the first cache unit cannot hold. A sniffing control unit maintains data consistency among multiple cores in the cluster through a sniffing mechanism. A multi-cluster cache module connects to multiple clusters and includes a multi-cluster control unit and multi-cluster cache units. The cluster cache unit, upon receiving a transaction instruction from the initial cluster, obtains the type of the transaction instruction and executes the corresponding consistency operation based on the instruction type. The number of clusters can be expanded as needed. Clusters and the multi-cluster cache module are connected via an AXI bus and an ACE interface. The clusters are interconnected with main memory via an AXI bus for reading and writing to main memory.
[0026] Figure 3 and Figure 4 This is a schematic diagram of a multi-cluster data processing method provided in an embodiment of this disclosure. Any of the following methods can be executed in the system, or in a server or terminal device that is communicatively connected to the system. In this embodiment of the disclosure, the solution is described with the system as the execution subject.
[0027] Based on the above-described structure of the multi-cluster data processing system, such as Figure 3 As shown, this disclosure provides a multi-cluster data processing method, including: S31, When the multi-cluster control unit receives a transaction instruction from the initial cluster, the system obtains the type of the transaction instruction.
[0028] S32, the system controls the multi-cluster control unit to perform the corresponding consistency operation according to the type of transaction instruction.
[0029] Transaction instructions include arbitrary instructions, such as data load instructions and data storage instructions. The consistency operation here refers to ensuring that the loaded data is real-time and up-to-date when processing load instructions, and invalidating older data in the system when processing store instructions to avoid using outdated data.
[0030] The multi-cluster data processing method provided in this disclosure involves the multi-cluster control unit receiving a transaction instruction from the initial cluster, obtaining the type of the transaction instruction, and controlling the multi-cluster control unit to execute the corresponding consistency operation based on the type of the transaction instruction. Since multiple clusters are connected to the multi-cluster caching module, the multi-cluster control unit, acting as a bridge between different clusters, performs multi-cluster data consistency processing according to preset control logic. This reduces unnecessary data transmission and redundant processing when handling a large number of concurrent requests, lowers the risk of network congestion, and thus maintains the consistency of multi-cluster data.
[0031] Based on the structure of the multi-cluster data processing system described above, step S32 includes the following steps S41-S42, namely, as follows: Figure 4 As shown in the figure, this disclosure provides a multi-cluster data processing method, including the following steps: S31, When the multi-cluster control unit receives a transaction instruction from the initial cluster, the system obtains the type of the transaction instruction.
[0032] S41, when the transaction instruction is a load instruction, the system controls the multi-cluster control unit to send sniffing instructions to the non-initial cluster and load instructions to the main memory and multi-cluster cache unit.
[0033] S42, when the multi-cluster control unit receives response data from non-initial cluster, main memory and / or multi-cluster cache unit, the system controls the multi-cluster control unit to perform the corresponding consistency operation according to the time and content of the response data arriving at the multi-cluster control unit.
[0034] The multi-cluster data processing method provided in this disclosure involves, when the transaction instruction is a load instruction, controlling the multi-cluster control unit to issue sniffing instructions to the non-initial cluster and load instructions to the main memory and multi-cluster cache units. The sniffing instructions may be used to check the data status or values in the non-initial cluster to ensure that the data is up-to-date or meets certain consistency requirements before loading. Since main memory is typically considered a reliable data source for the system, issuing a load instruction to main memory allows reading the specified data, ensuring data persistence and accuracy. Caches are generally faster than main memory access, and issuing load instructions to the multi-cluster cache units simultaneously improves read performance. By loading data from the non-initial cluster, main memory, and multi-cluster cache units in parallel, the system may be able to obtain the required data faster, thereby improving overall performance. When the multi-cluster control unit receives response data from the non-initial cluster, main memory, and / or multi-cluster cache units, it controls the multi-cluster control unit to execute corresponding consistency operations based on the time and content of the response data arriving at the multi-cluster control unit. This improves overall performance while maintaining the consistency of multi-cluster data.
[0035] Optionally, the system controls the multi-cluster control unit to perform corresponding consistency operations based on the time and content of the response data arriving at the multi-cluster control unit, including: the system obtaining the time and content of the response data from the non-initial cluster, main memory, and / or multi-cluster cache unit arriving at the multi-cluster control unit; when the first data of the non-initial cluster response arrives at the multi-cluster control unit first, the system controls the multi-cluster control unit to use the first data to respond to the load command issued by the initial cluster; when the second data of the main memory response arrives at the multi-cluster control unit first, the system controls the multi-cluster control unit to respond to the load command issued by the initial cluster with the first data or the second data.
[0036] Specifically, when the third data from the multi-cluster cache unit arrives at the multi-cluster control unit first, the system controls the multi-cluster control unit to use the third data to respond to the load command issued by the initial cluster. Alternatively, the system controls the multi-cluster control unit to respond to the load command issued by the initial cluster with the first data, the second data, or the third data. Specifically, the system controls the multi-cluster control unit to receive the first data and / or the second data; when the first data arrives at the multi-cluster control unit, the system controls the multi-cluster control unit to discard the second and third data and use the first data to respond to the load command issued by the initial cluster; when the non-initial cluster response misses, or when the first data and / or the second data is older, the system controls the multi-cluster control unit to use the third data to respond to the load command issued by the initial cluster.
[0037] In this way, the system obtains the time and content of response data from non-initial clusters, main memory, and / or multi-cluster cache units arriving at the multi-cluster control unit. When the first data from the non-initial cluster response arrives at the multi-cluster control unit first, this first data is usually the latest and valid. The system can directly use this data to respond to the initial cluster's load command without waiting for the main memory's response, thus reducing response time. Therefore, the system controls the multi-cluster control unit to use the first data to respond to the load command issued by the initial cluster. When the second data from the main memory response arrives at the multi-cluster control unit first, this second data is not necessarily the latest. Therefore, the system controls the multi-cluster control unit to respond to the initial cluster's load command with either the first or second data to maintain data consistency.
[0038] Optionally, the system controls the multi-cluster control unit to respond to the loading command issued by the initial cluster with first data or second data, including: the system controls the multi-cluster control unit to receive the first data; when the first data arrives at the multi-cluster control unit, the system controls the multi-cluster control unit to discard the second data and use the first data to respond to the loading command issued by the initial cluster; when the response from a non-initial cluster fails or the first data is older, the system controls the multi-cluster control unit to use the second data to respond to the loading command issued by the initial cluster.
[0039] In this way, the system controls the multi-cluster control unit to receive the first data. When the first data arrives at the multi-cluster control unit, it discards the second data and uses the first data to respond to the load command issued by the initial cluster. By using the first data to respond to the initial cluster, the system ensures that the data is up-to-date, thereby maintaining data consistency. When a non-initial cluster response fails or the first data is older, the system controls the multi-cluster control unit to use the second data to respond to the load command issued by the initial cluster in order to maintain data consistency.
[0040] Optionally, after the system controls the multi-cluster control unit to discard the second data and use the first data to respond to the loading command issued by the initial cluster, the system also includes: the system controls the initial cluster to load the first data.
[0041] In this way, after the control unit of the multi-cluster system discards the second data and uses the first data to respond to the load command issued by the initial cluster, the system controls the initial cluster to load the first data, thereby performing the actual loading operation. This avoids the additional network transmission and possible disk I / O operations required to obtain data from main memory, significantly reducing the time required to load data and improving the overall response speed.
[0042] Optionally, the system controls the multi-cluster control unit to perform corresponding consistency operations according to the type of transaction instruction, and further includes: when the transaction instruction is a storage instruction, the system controls the multi-cluster control unit to issue a sniffing instruction to the non-initial cluster and a storage instruction to the main memory and the multi-cluster cache unit; when the non-initial cluster receives the sniffing instruction, the system controls the non-initial cluster to invalidate the backup data at the address corresponding to the storage instruction.
[0043] Thus, when a transaction instruction is a store instruction, the system controls the multi-cluster control unit to issue sniffing instructions to the non-initial cluster and store instructions to main memory and the multi-cluster cache unit. By issuing store instructions directly to main memory and the multi-cluster cache unit while simultaneously issuing sniffing instructions, the system can process storage operations in parallel, thereby improving storage efficiency. When the non-initial cluster receives a sniffing instruction, the system controls the non-initial cluster to invalidate the backup data at the address corresponding to the store instruction. By issuing sniffing instructions to the non-initial cluster, the system can ensure that the backup data in the non-initial cluster is invalid before storing new data, thereby preventing old data from being used or accessed incorrectly and maintaining data consistency.
[0044] Optionally, when a non-initial cluster receives a sniffing command, the system also includes: controlling the initial cluster to store the latest data in the storage command.
[0045] In this way, when a non-initial cluster receives a sniffing command, the system controls the initial cluster to store the latest data in the storage command, enabling the initial cluster to perform the actual storage operation. By immediately instructing the initial cluster to store the latest data in the storage command after a non-initial cluster receives a sniffing command, the system ensures that the latest data is stored in the appropriate location in a timely and accurate manner. This maintains data consistency throughout the system and prevents the incorrect use of old or inconsistent data.
[0046] Combination Figure 5 As shown, this disclosure provides a computer device 800, including a processor 801 and a memory 802. Optionally, the device may further include a communication interface 803 and a bus 804. The processor 801, communication interface 803, and memory 802 can communicate with each other via the bus 804. The communication interface 803 can be used for information transmission. The processor 801 can call logical instructions in the memory 802 to execute the multi-cluster data processing method of the above embodiments.
[0047] Furthermore, the logic instructions in the aforementioned memory 802 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium.
[0048] The memory 802, as a computer-readable storage medium, can be used to store software programs and computer-executable programs, such as program instructions / modules corresponding to the methods in the embodiments of this disclosure. The processor 801 executes functional applications and data processing by running the program instructions / modules stored in the memory 802, thereby implementing the multi-cluster data processing method in the above embodiments.
[0049] The memory 802 may include a program storage area and a data storage area. The program storage area may store the operating system and application programs required for at least one function; the data storage area may store data created based on the use of the terminal device. Furthermore, the memory 802 may include high-speed random access memory and may also include non-volatile memory.
[0050] This disclosure provides a computer-readable storage medium storing computer-executable instructions configured to perform the above-described multi-cluster data processing method.
[0051] The technical solutions of this disclosure can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes one or more instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in this disclosure. The aforementioned storage medium can be a non-transitory storage medium, including: a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and other media capable of storing program code.
[0052] The foregoing description and accompanying drawings fully illustrate embodiments of this disclosure to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, procedural, and other changes. The embodiments represent only possible variations. Individual components and functions are optional unless explicitly required, and the order of operation may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. Moreover, the terminology used in this application is for describing embodiments only and is not intended to limit the claims. As used in the description of embodiments and claims, the singular forms “a,” “an,” and “the” are intended to equally include the plural forms unless the context clearly indicates otherwise. Similarly, the term “and / or” as used in this application means including one or more of the associated listed items and all possible combinations thereof. Additionally, when used in this application, the term "comprise" and its variations "comprises" and / or "comprising" refer to the presence of stated features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof. Without further limitations, an element defined by the phrase "comprises a..." does not exclude the presence of other identical elements in the process, method, or apparatus that includes said element. In this document, each embodiment may focus on the differences from other embodiments, and similar or identical parts between embodiments can be referred to mutually. For methods, products, etc., disclosed in the embodiments, if they correspond to the method section disclosed in the embodiments, the relevant parts can be referred to the description of the method section.
[0053] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this disclosure. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0054] The methods and products disclosed in the embodiments herein (including but not limited to devices and equipment) can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of units may be merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to implement this embodiment according to actual needs. In addition, the functional units in the embodiments of this disclosure may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0055] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than that shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. In the descriptions corresponding to the flowcharts and block diagrams in the accompanying drawings, the operations or steps corresponding to different blocks may also occur in a different order than disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. Each block in a block diagram and / or flowchart, and combinations of blocks in a block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
Claims
1. A multi-cluster data processing method, characterized by, The application is applied to a multi-cluster data processing system, comprising a multi-cluster cache module connected with a plurality of clusters respectively, the multi-cluster cache module comprising a multi-cluster control unit and a multi-cluster cache unit; the method comprises: When the multi-cluster control unit receives a transaction instruction issued by an initial cluster, the type of the transaction instruction is acquired; According to the type of the transaction instruction, the multi-cluster control unit is controlled to perform a corresponding consistency operation.
2. The method of claim 1, wherein, According to the type of the transaction instruction, the multi-cluster control unit is controlled to perform a corresponding consistency operation, comprising: When the transaction instruction is a load instruction, the multi-cluster control unit is controlled to issue a sniffing instruction to a non-initial cluster, and issue a load instruction to a main memory and the multi-cluster cache unit; When the multi-cluster control unit receives response data of the non-initial cluster, the main memory and / or the multi-cluster cache unit, according to the time and content of the response data reaching the multi-cluster control unit, the multi-cluster control unit is controlled to perform a corresponding consistency operation.
3. The method of claim 2, wherein, According to the time and content of the response data reaching the multi-cluster control unit, the multi-cluster control unit is controlled to perform a corresponding consistency operation, comprising: The time and content of the response data of the non-initial cluster, the main memory and / or the multi-cluster cache unit reaching the multi-cluster control unit are acquired; When the first data of the non-initial cluster response reaches the multi-cluster control unit first, the multi-cluster control unit is controlled to respond to the load instruction issued by the initial cluster with the first data; When the second data of the main memory response reaches the multi-cluster control unit first, the multi-cluster control unit is controlled to respond to the load instruction issued by the initial cluster with the first data or the second data.
4. The method of claim 3, wherein, The multi-cluster control unit is controlled to respond to the load instruction issued by the initial cluster with the first data or the second data, comprising: The multi-cluster control unit is controlled to receive the first data; When the first data reaches the multi-cluster control unit, the multi-cluster control unit is controlled to discard the second data and respond to the load instruction issued by the initial cluster with the first data; When the non-initial cluster response is a miss or the first data is older, the multi-cluster control unit is controlled to respond to the load instruction issued by the initial cluster with the second data.
5. The method of claim 4, wherein, After the multi-cluster control unit is controlled to discard the second data and respond to the load instruction issued by the initial cluster with the first data, further comprising: The initial cluster is controlled to load the first data.
6. The method according to any one of claims 2 to 5, characterized in that, According to the type of the transaction instruction, the multi-cluster control unit is controlled to perform a corresponding consistency operation, further comprising: When the transaction instruction is a store instruction, the multi-cluster control unit is controlled to issue a sniffing instruction to a non-initial cluster, and issue a store instruction to a main memory and the multi-cluster cache unit; When the non-initial cluster receives the sniffing instruction, the non-initial cluster is controlled to invalidate the data backup of the address corresponding to the store instruction.
7. The method of claim 6, wherein, When the non-initial cluster receives the sniffing instruction, further comprising: The initial cluster is controlled to store the latest data in the store instruction.
8. A multi-cluster data processing system, characterized by Comprising: A plurality of clusters, the plurality of clusters being connected with each other; A multi-cluster cache module connected with a plurality of clusters respectively, the multi-cluster cache module comprising a multi-cluster control unit and a multi-cluster cache unit; Wherein, when the multi-cluster cache unit receives a transaction instruction issued by an initial cluster, the type of the transaction instruction is acquired; according to the type of the transaction instruction, a corresponding consistency operation is performed.
9. A computer device, comprising: Comprising: A memory; A processor; And A computer program; The computer program is stored in the memory and configured to be executed by the processor to implement the multi-cluster data processing method according to any one of claims 1 to 7.
10. A computer readable storage medium storing program instructions, wherein the program instructions comprise instructions for causing a computer to perform the method of any one of claims 1-9. The program instructions, when executed, cause a computer to perform the multi-cluster data processing method according to any one of claims 1 to 7.