Hierarchical multi-level caching technology based on Fat-Tree architecture
By deploying a multi-level cache node cluster in the Fat-Tree architecture and optimizing the storage strategy using the cache controller, the problem of unclear data query paths in the cache system is solved, enabling rapid location of target nodes and reducing data transmission latency, thereby improving the system's real-time performance and efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HAINAN SHILIAN ZHIXIN TECHNOLOGY CO LTD
- Filing Date
- 2025-12-09
- Publication Date
- 2026-05-01
AI Technical Summary
In existing distributed caching systems, the data query path is unclear and the coordination efficiency of cache nodes at different levels is low, making it difficult to quickly locate the target node that matches the user's data request and increasing data transmission latency.
The Fat-Tree architecture is adopted, and the cache node clusters are deployed at different levels, including leaf node cache clusters, intermediate node cache clusters and spine cache node clusters. The data query path is clarified through hierarchical query path, and the cache controller is used to adjust the storage strategy and data consistency mechanism to optimize the collaborative efficiency of the cache node clusters.
It significantly reduces data transmission latency, improves the collaborative efficiency of the cache node cluster, meets users' real-time requirements for data acquisition, and reduces path ambiguity and node collaboration lag issues.
Smart Images

Figure CN121967534A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a caching system, method, device and storage medium. Background Technology
[0002] With the rapid development of technology, the amount of data is growing explosively, and users' requirements for real-time data acquisition are also increasing. However, in the application of existing distributed caching systems, there are problems such as unclear data query paths and low coordination efficiency of cache nodes at various levels, which makes it difficult to quickly locate the target node that matches the user's data request, thereby increasing the data transmission delay. Summary of the Invention
[0003] In view of the above problems, embodiments of the present invention are proposed to provide a caching system, method, device and storage medium that overcomes or at least partially solves the above problems.
[0004] To address the above problems, this invention discloses a caching system, the system comprising: The application layer is used to retrieve data requests; A caching layer, connected to the application layer, includes multiple cache node clusters deployed at different levels of the Fat-Tree architecture. The caching layer is used to query the target node matching the data request in the multiple cache node clusters and transmit the data in the target node to the application layer.
[0005] Optionally, the plurality of cache node clusters include a leaf node cache cluster, an intermediate node cache cluster, and a spine cache node cluster. The leaf node cache cluster is deployed in the Leaf layer of the Fat-Tree architecture, the intermediate node cache cluster is deployed in the Intermediate layer of the Fat-Tree architecture, and the spine cache node cluster is located in the Spine layer of the Fat-Tree architecture.
[0006] Optionally, the caching layer is configured to query a matching target node in the leaf node cache cluster according to the data request; if no matching target node is found in the leaf node cache cluster, then query a matching target node in the intermediate node cache cluster according to the data request; if no matching target node is found in the intermediate node cache cluster, then query a matching target node in the spine cache node cluster.
[0007] Optionally, the system further includes a data acquisition layer, which includes a data source server; The caching layer is configured to, if no matching target node is found in the spinal cache node cluster, obtain matching data from the data source server according to the data request, and store the data in any node in the spinal cache node cluster.
[0008] Optionally, the caching layer further includes: a cache controller; The cache controller is used to obtain the working parameters of each node in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster; and adjust the storage strategies of the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster according to the working parameters.
[0009] Optionally, the operating parameters include at least one of cache hit rate, access frequency, and load pressure.
[0010] Optionally, the cache controller is configured to update the same data in other cache node clusters when the data in the target cache node cluster in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster is modified.
[0011] This invention also discloses a data transmission method applied to the aforementioned caching system, the method comprising: Request data from the user terminal; The system queries the target node that matches the data request in the cluster of multiple cache nodes and transmits the data from the target node to the user terminal.
[0012] Optionally, the plurality of cache node clusters include a leaf node cache cluster, an intermediate node cache cluster, and a spine cache node cluster. The leaf node cache cluster is deployed in the Leaf layer of the Fat-Tree architecture, the intermediate node cache cluster is deployed in the Intermediate layer of the Fat-Tree architecture, and the spine cache node cluster is located in the Spine layer of the Fat-Tree architecture.
[0013] Optionally, querying the target node matching the data request in the plurality of cache node clusters includes: Based on the data request, query the leaf node cache cluster for a matching target node; If no matching target node is found in the leaf node cache cluster, then a matching target node is searched in the intermediate node cache cluster according to the data request. If no matching target node is found in the intermediate node cache cluster, then a matching target node is searched in the spine cache node cluster.
[0014] Optionally, the hierarchical multi-level caching system further includes a data acquisition layer, which includes a data source server; and also includes: If no matching target node is found in the spinal cache node cluster, then the matching data is obtained from the data source server according to the data request, and the data is stored in any node in the spinal cache node cluster.
[0015] Optionally, the caching layer further includes: a cache controller; and also includes: The working parameters of each node in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster are obtained through the cache controller. Based on the operating parameters, the storage strategies of the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster are adjusted respectively.
[0016] Optionally, the operating parameters include at least one of cache hit rate, access frequency, and load pressure.
[0017] Optionally, it also includes: updating the same data in other cache node clusters when the data in the target cache node cluster in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster is modified by the cache controller.
[0018] The present invention also discloses an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the steps of the data transmission method described above.
[0019] The present invention also discloses a computer-readable storage medium on which a computer program is stored, and which, when executed by a processor, implements the steps of the data transmission method described above.
[0020] The embodiments of the present invention have the following advantages: This invention discloses a caching system, method, device, and medium. By deploying multiple cache node clusters at different levels of a Fat-Tree architecture, this invention leverages the clear hierarchical structure and network topology advantages of the architecture itself to define the data query path, effectively improving the collaborative efficiency of cache node clusters at each level. This enables the system to quickly locate the target node matching the user's data request, thereby reducing path ambiguity and node collaboration lag during data transmission, significantly reducing data transmission latency, and meeting users' high requirements for real-time data acquisition. Attached Figure Description
[0021] Figure 1 This is a structural block diagram of a caching system provided in an embodiment of the present invention; Figure 2 This is a structural block diagram of a cluster of multiple cache nodes provided in an embodiment of the present invention; Figure 3 This is a structural block diagram of another caching system provided in an embodiment of the present invention; Figure 4 This is a flowchart of a data transmission method provided in an embodiment of the present invention. Detailed Implementation
[0022] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0023] One of the core concepts of this invention is that by deploying multiple cache node clusters at different levels of the Fat-Tree architecture, the clear hierarchical structure and network topology of the architecture itself are utilized to clarify the data query path, effectively improve the collaborative efficiency of cache node clusters at each level, enable the system to quickly locate the target node that matches the user's data request, thereby reducing path ambiguity and node collaboration lag in the data transmission process, significantly reducing data transmission latency, and meeting the user's high requirements for real-time data acquisition.
[0024] Reference Figure 1 The diagram illustrates a structural block diagram of a caching system provided by an embodiment of the present invention. The system may include: Application layer 101 is used to obtain data requests.
[0025] In this embodiment of the invention, when the application layer 101 has a data requirement, it will generate a corresponding data request. The data request can be triggered by various scenarios such as user operation and internal business logic call. The core function of the application layer is to obtain the data request and pass it to the next-level cache layer in accordance with the format and protocol specified by the system, as the starting point of the entire data query process.
[0026] The cache layer 102 is connected to the application layer. The cache layer includes multiple cache node clusters, which are deployed at different levels of the Fat-Tree architecture. It is used to query the target node that matches the data request in the multiple cache node clusters and transfer the data in the target node to the application layer.
[0027] In this embodiment of the invention, the cache layer can handle data requests from the application layer. Since the cache layer consists of multiple cache node clusters deployed at different levels of the Fat-Tree architecture, this hierarchical deployment is closely integrated with the characteristics of the Fat-Tree architecture. The Fat-Tree architecture typically includes a multi-level structure such as a core layer, a aggregation layer, and an access layer. The cache node clusters are distributed in these layers, forming a multi-level cache layout. When a data request arrives at the cache layer, it can start querying from the cache node cluster closest to the application layer according to a preset query strategy to check whether there is a target node that matches the data request.
[0028] If a matching target node is found in the cache node cluster of the access layer, the data stored on that node will be directly extracted and transmitted upwards along the path of the Fat-Tree architecture, eventually reaching the application layer, completing an efficient data retrieval. If the target node is not found in the access layer, the query request will be passed upwards to the cache node cluster of the aggregation layer according to the hierarchical structure, and the query process will be repeated. If the aggregation layer also fails to find a match, the request will be further passed to the cache node cluster of the core layer for querying.
[0029] Once the target node is identified in a cache node cluster at a certain level, the data transmission process can be initiated immediately. Data starts from the target node and, based on the connection relationships between nodes at each level in the Fat-Tree architecture, is passed up layer by layer through necessary forwarding and routing until it reaches the application layer. This query and transmission method based on a hierarchical architecture fully utilizes the advantages of the Fat-Tree architecture in data forwarding efficiency and scalability. At the same time, through the design of multi-level caching, it effectively reduces the access pressure on the underlying data source and improves the data response speed of the entire system.
[0030] This invention discloses a caching system. By deploying multiple cache node clusters at different levels of a Fat-Tree architecture, the system leverages the clear hierarchical structure and network topology advantages of the architecture to define the data query path. This effectively improves the collaborative efficiency of cache node clusters at each level, enabling the system to quickly locate the target node matching the user's data request. This reduces path ambiguity and node collaboration lag during data transmission, significantly reduces data transmission latency, and meets users' high requirements for real-time data acquisition.
[0031] In one embodiment of the present invention, the multiple cache node clusters include a leaf node cache cluster, an intermediate node cache cluster, and a spine cache node cluster. The leaf node cache cluster is deployed in the Leaf layer of the Fat-Tree architecture, the intermediate node cache cluster is deployed in the Intermediate layer of the Fat-Tree architecture, and the spine cache node cluster is located in the Spine layer of the Fat-Tree architecture.
[0032] In embodiments of the present invention, such as Figure 2 This diagram illustrates a structural block diagram of a multiple cache node cluster provided by an embodiment of the present invention. The multiple cache node cluster includes a leaf node cache cluster, an intermediate node cache cluster, and a spine cache node cluster. The leaf node cache cluster is deployed in the Leaf layer of the Fat-Tree architecture. Figure 2 The example leaf node cache cluster includes nodes Leaf1, Leaf2, Leaf3, ... Leaf8, while the intermediate node cache cluster is deployed in the Intermediate layer of the Fat-Tree architecture. Figure 2 The intermediate node cache cluster in the example includes nodes Intermediate1, Intermediate2, Intermediate3, and Intermediate4. The spine cache node cluster is set up in the Spine layer of the Fat-Tree architecture. Figure 2 The spine cache nodes in the example include Spine1 and Spine2.
[0033] It should be noted that the number of nodes in each cluster can be set according to user needs and is not limited here.
[0034] In a hierarchical multi-level caching system based on the Fat-Tree architecture, multiple cache node clusters correspond precisely to the layers of the architecture. The leaf node cache cluster is deployed in the Leaf layer of the Fat-Tree architecture, directly handling data requests as the cache layer closest to the application layer. The intermediate node cache cluster is deployed in the Intermediate layer of the architecture, undertaking the cache relay and expansion functions connecting the Leaf layer and the upper-level architecture. The spine cache node cluster is set in the Spine layer of the Fat-Tree architecture, serving as the core layer of the entire caching system to store globally critical data. This deployment method not only follows the underlying logic of Leaf layer access, Intermediate layer aggregation, and Spine layer core forwarding in the Fat-Tree architecture, but also achieves efficient hierarchical management of data storage and access through the hierarchical distribution of cache node clusters.
[0035] In one embodiment of the present invention, a caching layer is used to query a matching target node in the leaf node caching cluster according to a data request. If no matching target node is found in the leaf node caching cluster, a matching target node is queried in the intermediate node caching cluster according to the data request. If no matching target node is found in the intermediate node caching cluster, a matching target node is queried in the spine caching node cluster.
[0036] In this embodiment of the invention, when processing data requests from the application layer, the caching layer follows a hierarchical query logic from the bottom layer to the top layer. First, the data request is directly sent to the leaf node caching cluster. This layer stores a large amount of frequently accessed local data. Through a preset indexing mechanism and matching algorithm, it can quickly search whether there is a target node in the cluster that completely matches the request parameters, identifiers, etc. If a match is found, the data is directly obtained. When the leaf node caching cluster does not find a matching target node, the query request is automatically passed up to the intermediate node caching cluster. This cluster, as an intermediate hub connecting the leaf nodes and the spine nodes, stores a wider range of data, covering regional data shared by multiple leaf node clusters. It can coordinate retrieval among multiple nodes in the intermediate node cluster based on more complex routing strategies and distributed query protocols to further expand the query scope to find a matching target node. If the intermediate node caching cluster still does not find a match, the query request will finally enter the spine caching node cluster. This layer stores globally common key data and backup information of the underlying data source. It can mobilize the global indexing capabilities of the cluster to perform deep matching on massive amounts of data, ensuring that no possible target node is missed. In one example, when a user clicks the "Recently Viewed" button in the app, the application layer generates a corresponding data request and sends it to the cache layer. At this point, the cache layer first queries the leaf node cache cluster. The leaf node cache cluster is deployed in the Leaf layer of Fat-Tree and directly connects to the regional server where the user is located. It stores frequently accessed local data such as the user's recent browsing history and session information. If the user has just browsed mobile products within the past hour, there will be a matching target node in the leaf node cache cluster, and the data will be returned to the application layer immediately. The user can see the results without waiting.
[0037] If a user queries a mobile product viewed 3 days ago (exceeding the storage expiration time of the leaf node cache), the leaf node cache cluster will not be able to find it. In this case, the request will be passed to the intermediate node cache cluster. This cluster is deployed in the Intermediate layer and stores the browsing data of all users in the city area for the past 7 days. It will search in the distributed index of the intermediate node cache cluster based on the user ID and timestamp. If the corresponding record is found, the data of the target node will be forwarded to the application layer through the leaf node. Although the response time is slightly longer than that of the leaf node, it can still be controlled within tens of milliseconds.
[0038] If a user queries a mobile product viewed six months ago (outside the range of intermediate node cache), the request will eventually enter the spine cache node cluster. The spine cluster is deployed in the Spine layer and stores the archive of historical behavior data of all users on the platform. The target node corresponding to the user's browsing record six months ago can be located through the global index. The data is transmitted down layer by layer through intermediate nodes and leaf nodes, and finally returned to the application layer.
[0039] This invention significantly reduces the response time of most high-frequency data requests and improves the overall access efficiency of the system by prioritizing queries in the leaf node cache cluster, leveraging its proximity to the application layer. Furthermore, the hierarchical query path effectively reduces the direct access pressure on higher-level cache clusters and lower-level data sources. Leaf nodes and intermediate nodes can intercept a large number of localized and regional data requests, preventing excessive load concentration on the spine node cluster. Simultaneously, this design is highly compatible with the topological characteristics of the Fat-Tree architecture. By utilizing the architecture's inherent high efficiency and low latency in inter-layer data forwarding, the cross-layer query process is stable and smooth, ensuring data query integrity while improving cache hit rate through a hierarchical filtering mechanism. Ultimately, this achieves comprehensive optimization of the system in terms of data processing capabilities, response speed, and scalability.
[0040] In one embodiment of the present invention, the system further includes a data acquisition layer, which includes a data source server; and a caching layer, which is used to obtain matching data from the data source server according to a data request if no matching target node is found in the spinal cache node cluster, and store the data in any node in the spinal cache node cluster.
[0041] In embodiments of the present invention, such as Figure 3 The diagram shows a structural block diagram of another caching system provided by an embodiment of the present invention. The system further includes a data acquisition layer 103, which includes a data source server 1031.
[0042] When the spine cache node cluster also fails to find a target node matching the data request, the cache layer will initiate an interaction process with the data acquisition layer. At this time, the cache layer will encapsulate the data request according to a specific protocol format and transmit it to the data source server 1031 of the data acquisition layer through the core link of the Fat-Tree architecture. During this process, the system will accurately locate the corresponding data source server based on the characteristics of the data request. As the storage center of the underlying data, the data source server stores the most complete and original data in the entire system, covering historical data and low-frequency access data that are not stored by the cache node clusters at all levels. After receiving a data request, the data source server retrieves the data based on the parameters in the request, extracting the exact matching data from its own storage medium. Subsequently, the data source server converts and compresses this data according to the requirements of the caching layer, and then sends it back to the spine cache node cluster of the caching layer through the original path. After receiving the data from the data source server, the caching layer triggers a preset storage mechanism to store this data in any node of the spine cache node cluster. When selecting a node, the system usually considers factors such as the node's current load, storage space, and connection status with other nodes to ensure data storage balance and efficiency of subsequent access. At the same time, the system may generate corresponding index information to associate the data with the corresponding request characteristics so that when similar data requests arrive later, the target node can be quickly located in the spine cache node cluster. This invention enables data to be retrieved once and reused multiple times by storing data obtained from the data source server in the spine cache node cluster. When there are subsequent requests for the same or similar data, there is no need to access the data source server again; the data can be retrieved directly from the spine cache node cluster, which greatly reduces the access pressure on the data source server and reduces the response latency of data queries.
[0043] In one embodiment of the present invention, the cache layer further includes: a cache controller; the cache controller is used to obtain the working parameters of each node in the leaf node cache cluster, the intermediate node cache cluster, and the spine node cache cluster; and to adjust the storage strategies of the leaf node cache cluster, the intermediate node cache cluster, and the spine node cache cluster according to the working parameters.
[0044] In this embodiment of the invention, the cache controller continuously collects the working parameters of each node through a real-time communication link established with each node in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster. The working parameters may include static information, such as the node's storage strategy, hardware configuration, network bandwidth limit, etc., as well as dynamically changing data, such as the current node's cache hit rate, data read / write frequency, remaining storage space, load pressure, data aging degree, etc.
[0045] Based on the acquired working parameters, the cache controller will implement differentiated storage strategies for different levels of cache clusters. For leaf node cache clusters, since they directly connect to the application layer and have extremely high requirements for response speed, the cache controller will focus on their cache hit rate and load balancing. If the hit rate of a certain leaf node is consistently low, the controller will analyze the data characteristics stored on that node, migrate some low-frequency access data to nodes with higher hit rates within the same cluster, or clean up expired data to release space. At the same time, it will prioritize allocating new high-frequency request data to nodes with lighter loads to ensure that the average response time of the entire cluster remains low.
[0046] For intermediate node cache clusters, the cache controller prioritizes distributed storage balance and cross-node collaboration efficiency. When it detects that some intermediate nodes are overloaded due to storing large amounts of shared data, the controller initiates a data sharding mechanism to split the centrally stored data and distribute it across multiple nodes, while updating the global index information. Simultaneously, it dynamically adjusts the data synchronization frequency between nodes to avoid affecting query accuracy due to data inconsistency. For spine node cache clusters, the cache controller focuses on improving storage space utilization and data reliability. By analyzing the remaining capacity and data access frequency of each node, it compresses and stores or migrates long-unaccessed cold data to nodes with sufficient capacity. At the same time, it initiates a multi-replica backup mechanism for core data. When a node experiences a hardware failure risk, it automatically migrates the data to a healthy node to ensure the availability of global data.
[0047] In one example, when a user frequently browses a particular mobile phone, the cache hit rate of the corresponding node in the leaf node cache cluster will increase. If another leaf node has a low hit rate due to storing too much data on unpopular products, the cache controller will clean up the unpopular data and allocate data on popular mobile phones to it. If a node in the intermediate node cache cluster is overloaded due to storing a large amount of shared data on mobile phone brands, the controller will split the data and update the index. In the spine node cache cluster, data on older mobile phones that have not been used for a long time will be compressed and stored, while data on popular mobile phones will be backed up in multiple copies.
[0048] This invention's cache controller senses the status of each node in real time and dynamically adjusts the storage strategy, enabling the leaf node, intermediate node, and spine node cache cluster to always adapt to system load changes and data access characteristics, avoiding the problem of single node performance bottlenecks or resource waste. At the same time, the differentiated adjustment strategy fully matches the functional positioning of different levels of the cluster, ensuring the efficient response of leaf nodes, enhancing the collaborative capabilities of intermediate nodes and the reliability of spine nodes, and ultimately achieving global optimization of the storage performance of the entire cache layer, significantly improving the overall throughput, cache hit rate, and resource utilization of the system.
[0049] In one embodiment of the present invention, the operating parameters include at least one of cache hit rate, access frequency, and load pressure.
[0050] In one embodiment of the present invention, a cache controller is configured to update the same data in other cache node clusters when the data in the target cache node cluster in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster is modified.
[0051] In this embodiment of the invention, when the cache controller detects data modification (such as addition, deletion, or content change) in the target cache node cluster within the leaf node cache cluster, intermediate node cache cluster, or spine node cache cluster, it immediately initiates a data consistency maintenance mechanism. First, the cache controller captures detailed information about the data modification through real-time synchronized logs or event notifications, including the modified data identifier, content, modification time, and the hierarchical information of the target node cluster. Then, based on the system's preset consistency protocol, it determines the range of other cache node clusters that need to be updated. If the modification occurs in the leaf node cache cluster, the cache controller first checks whether identical data exists in the intermediate node cache cluster and the spine node cache cluster. If the data exists, a corresponding update instruction is generated, which includes the modified data content or a data invalidation flag. If the modification occurs in the intermediate node cache cluster, it will be synchronized to the associated leaf node cache cluster and the spine node cache cluster to ensure core data consistency. If the modification occurs in the spine node cache cluster, the update needs to be synchronized to all intermediate nodes and leaf node cache clusters containing the data to ensure the uniformity of data across all levels. Finally, the controller uses the efficient communication link of the Fat-Tree architecture to send the update instruction to the corresponding nodes in the target cluster in sequence according to the level. After receiving the instruction, each node performs the data update or invalidation operation and feeds back the execution result to the controller, forming a closed-loop update process.
[0052] Suppose the price of a certain mobile phone is modified in the leaf node cache cluster. After the cache controller detects this change, it first checks whether the price data of the mobile phone exists in the intermediate node cache cluster and the spine node cache cluster. After confirming its existence, the controller generates an update instruction containing the new price, first sends it to the node in the intermediate node cache cluster that stores the data to synchronize its price information, and then passes the instruction to the corresponding node in the spine node cache cluster to complete the update. If the price modification initially occurred in the spine node cache cluster, the cache controller will synchronize the new price to all intermediate node cache clusters that store the data of the mobile phone, and then the intermediate nodes will synchronize it to the associated leaf node cache clusters respectively, ensuring that the price data of the mobile phone in each level of cache is consistent, and avoiding users seeing inconsistent price information in different regions or different access scenarios. This invention effectively ensures data consistency across the entire caching system by enabling real-time updates of identical data across different clusters through a cache controller. This avoids application-layer business logic errors or user experience issues caused by data inconsistencies between different clusters. At the same time, based on a hierarchical update strategy and the efficient communication capabilities of the Fat-Tree architecture, it not only guarantees the timeliness of data synchronization but also avoids the waste of network bandwidth and node load caused by indiscriminate full updates, thus improving system reliability while also taking into account operational efficiency.
[0053] This invention discloses a caching system. By deploying multiple cache node clusters at different levels of a Fat-Tree architecture, the system leverages the clear hierarchical structure and network topology advantages of the architecture to define the data query path. This effectively improves the collaborative efficiency of cache node clusters at each level, enabling the system to quickly locate the target node matching the user's data request. This reduces path ambiguity and node collaboration lag during data transmission, significantly reduces data transmission latency, and meets users' high requirements for real-time data acquisition.
[0054] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.
[0055] Reference Figure 4 The diagram illustrates a flowchart of a data transmission method according to an embodiment of the present invention. This method is applied to the aforementioned caching system and includes the following steps: Step 201: Obtain the data request from the user terminal; Step 202: Query the target node that matches the data request in the multiple cache node clusters, and transmit the data in the target node to the user terminal.
[0056] This invention discloses a data transmission method. By deploying multiple cache node clusters at different levels of a Fat-Tree architecture, the invention leverages the clear hierarchical structure and network topology advantages of the architecture itself to define the data query path, effectively improving the collaborative efficiency of cache node clusters at each level. This enables the system to quickly locate the target node matching the user's data request, thereby reducing path ambiguity and node collaboration lag during data transmission, significantly reducing data transmission latency, and meeting users' high requirements for real-time data acquisition.
[0057] In one embodiment of the present invention, the multiple cache node clusters include a leaf node cache cluster, an intermediate node cache cluster, and a spine cache node cluster. The leaf node cache cluster is deployed in the Leaf layer of the Fat-Tree architecture, the intermediate node cache cluster is deployed in the Intermediate layer of the Fat-Tree architecture, and the spine cache node cluster is located in the Spine layer of the Fat-Tree architecture.
[0058] In one embodiment of the present invention, querying a target node matching a data request across a cluster of multiple cache nodes includes: Based on the data request, query the leaf node cache cluster to find the matching target node; If a matching target node cannot be found in the leaf node cache cluster, then a matching target node is searched in the intermediate node cache cluster according to the data request. If a matching target node cannot be found in the intermediate node cache cluster, then a matching target node is searched in the spine cache node cluster.
[0059] In one embodiment of the present invention, the hierarchical multi-level caching system further includes a data acquisition layer, which includes a data source server; and further includes: If no matching target node is found in the spine cache node cluster, the matching data is obtained from the data source server according to the data request and stored in any node in the spine cache node cluster.
[0060] In one embodiment of the present invention, the cache layer further includes: a cache controller; and also includes: Obtain the working parameters of each node in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster through the cache controller; Based on the operating parameters, the storage strategies for the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster were adjusted respectively.
[0061] In one embodiment of the present invention, the operating parameters include at least one of cache hit rate, access frequency, and load pressure.
[0062] In one embodiment of the present invention, the method further includes: when the data in the target cache node cluster in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster is modified, the cache controller updates the same data in other cache node clusters.
[0063] This invention discloses a data transmission method. By deploying multiple cache node clusters at different levels of a Fat-Tree architecture, the invention leverages the clear hierarchical structure and network topology advantages of the architecture itself to define the data query path, effectively improving the collaborative efficiency of cache node clusters at each level. This enables the system to quickly locate the target node matching the user's data request, thereby reducing path ambiguity and node collaboration lag during data transmission, significantly reducing data transmission latency, and meeting users' high requirements for real-time data acquisition.
[0064] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.
[0065] This invention also provides an electronic device, comprising: It includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, it implements the various processes of the above-described data transmission method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0066] This invention also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the various processes of the above-described data transmission method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0067] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0068] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, apparatus, or computer program products. Therefore, embodiments of the present invention can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of the present invention can take the form of computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0069] Embodiments of the present invention are described with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0070] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0071] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0072] Although preferred embodiments of the present invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present invention.
[0073] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes the element.
[0074] The caching system, method, device, and storage medium provided by the present invention have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A caching system, characterized in that, The system includes: The application layer is used to retrieve data requests; A caching layer, connected to the application layer, includes multiple cache node clusters deployed at different levels of the Fat-Tree architecture. The caching layer is used to query the target node matching the data request in the multiple cache node clusters and transmit the data in the target node to the application layer.
2. The caching system according to claim 1, wherein the plurality of cache node clusters includes a leaf node cache cluster, an intermediate node cache cluster, and a spine cache node cluster, wherein the leaf node cache cluster is deployed in the Leaf layer of the Fat-Tree architecture, the intermediate node cache cluster is deployed in the Intermediate layer of the Fat-Tree architecture, and the spine cache node cluster is located in the Spine layer of the Fat-Tree architecture.
3. The caching system according to claim 2, characterized in that, The caching layer is configured to query the leaf node cache cluster for a matching target node according to the data request. If no matching target node is found in the leaf node cache cluster, the caching layer will query the intermediate node cache cluster for a matching target node according to the data request. If no matching target node is found in the intermediate node cache cluster, the caching layer will query the spine cache node cluster for a matching target node.
4. The caching system according to claim 3, characterized in that, The system also includes a data acquisition layer, which includes a data source server; The caching layer is configured to, if no matching target node is found in the spinal cache node cluster, obtain matching data from the data source server according to the data request, and store the data in any node in the spinal cache node cluster.
5. The caching system according to claim 2, characterized in that, The cache layer also includes: a cache controller; The cache controller is used to obtain the working parameters of each node in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster; and adjust the storage strategies of the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster according to the working parameters.
6. The caching system according to claim 5, characterized in that, The operating parameters include at least one of cache hit rate, access frequency, and load pressure.
7. The caching system according to claim 5, characterized in that, The cache controller is used to update the same data in other cache node clusters when the data in the target cache node cluster in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster is modified.
8. A data transmission method, characterized in that, The method is applied to the caching system according to any one of claims 1-7, and the method includes: Request data from the user terminal; The system queries the target node that matches the data request in the cluster of multiple cache nodes and transmits the data from the target node to the user terminal.
9. The data transmission method according to claim 8, characterized in that, The multiple cache node clusters include a leaf node cache cluster, an intermediate node cache cluster, and a spine cache node cluster. The leaf node cache cluster is deployed in the Leaf layer of the Fat-Tree architecture, the intermediate node cache cluster is deployed in the Intermediate layer of the Fat-Tree architecture, and the spine cache node cluster is located in the Spine layer of the Fat-Tree architecture.
10. The data transmission method according to claim 9, characterized in that, The step of querying the target node matching the data request in the multiple cache node clusters includes: Based on the data request, query the leaf node cache cluster for a matching target node; If no matching target node is found in the leaf node cache cluster, then a matching target node is searched in the intermediate node cache cluster according to the data request. If no matching target node is found in the intermediate node cache cluster, then a matching target node is searched in the spine cache node cluster.
11. The data transmission method according to claim 10, characterized in that, The hierarchical multi-level caching system further includes a data acquisition layer, which includes a data source server; and also includes: If no matching target node is found in the spinal cache node cluster, then the matching data is obtained from the data source server according to the data request, and the data is stored in any node in the spinal cache node cluster.
12. The data transmission method according to claim 9, characterized in that, The caching layer further includes: a cache controller; and also includes: The working parameters of each node in the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster are obtained through the cache controller. Based on the operating parameters, the storage strategies of the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster are adjusted respectively.
13. The data transmission method according to claim 12, characterized in that, The operating parameters include at least one of cache hit rate, access frequency, and load pressure.
14. The data transmission method according to claim 12, characterized in that, Also includes: When the data in the target cache node cluster of the leaf node cache cluster, intermediate node cache cluster, and spine node cache cluster is modified, the cache controller updates the same data in other cache node clusters.
15. An electronic device, characterized in that, include: A processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the steps of the data transmission method as described in any one of claims 8-14.
16. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, which, when executed by a processor, implements the steps of the data transmission method as described in any one of claims 8-14.