Data transmission method and apparatus, electronic device, storage medium, and program product

By applying frequency, timeliness, space, and prefetch decision values ​​between edge nodes and central nodes, the data transmission method is optimized, solving the problem of slow response speed of HTTP/HTTPS protocol in mobile Internet and achieving more efficient data caching and faster response speed.

CN119629240BActive Publication Date: 2025-11-18CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411826302.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-11-18
Estimated Expiration
2044-12-11

AI Technical Summary

Technical Problem

In the mobile internet environment, the response speed of HTTP/HTTPS protocols is insufficient to meet users' needs for fast response, and CDN technology has limited room for performance improvement due to the limitations of the TCP protocol.

Method used

By applying frequency decision values, timeliness decision values, spatial decision values, and prefetch decision values ​​between edge nodes and central nodes, it is determined whether to cache or send request data directly. Data transmission is carried out using the QUIC protocol, and the caching strategy is optimized to improve response speed.

Benefits of technology

This improved the utilization of edge node cache space, reduced unnecessary backend queries, and enhanced the overall system performance and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119629240B_ABST
    Figure CN119629240B_ABST
Patent Text Reader

Abstract

The present disclosure provides a data transmission method and device, electronic equipment, storage medium and program product, and relates to the technical field of data caching. The method comprises: in response to a request of an edge node, acquiring a frequency decision value, a time decision value, a space decision value and a prefetch decision value, and determining a caching decision according to the frequency decision value, the time decision value, the space decision value and the prefetch decision value; in the case that the caching decision is a first result, caching the request data to the edge node, so that the edge node sends the request data to a terminal device; in the case that the caching decision is a second result, sending the request data to the terminal device. The present disclosure can reduce unnecessary backend queries, improve the utilization rate of the edge node caching space, improve the overall performance of the system, thereby improving the response speed and improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of data caching, and particularly relates to a data transmission method and device, electronic equipment, computer readable storage medium and computer program product. BACKGROUND

[0002] At present, HTTP protocol (Hypertext Transfer Protocol) / HTTPS protocol (Hypertext Transfer Protocol Secure) is widely used in Internet content distribution. However, in the mobile Internet environment, due to network instability and high delay, it is difficult to meet the needs of users for fast response.

[0003] In the related art, CDN (Content Delivery Network) technology is used to solve the above problems, but CDN usually relies on TCP protocol, which limits its performance improvement space to some extent, especially in terms of response speed.

[0004] How to improve the response speed and improve the user experience is a problem to be solved. SUMMARY

[0005] The present disclosure provides a data transmission method, device, electronic equipment, storage medium and program product, which at least improves the response speed and improves the user experience to some extent.

[0006] Other characteristics and advantages of the present disclosure will become apparent from the following detailed description, or will be learned by practice of the present disclosure.

[0007] According to one aspect of the present disclosure, a data transmission method is provided, applied to a center node, comprising: in response to a request of an edge node, obtaining a frequency decision value, a time decision value, a space decision value and a prefetch decision value, wherein the frequency decision value is used to determine whether to preferentially cache a parameter of requested data, the time decision value is used to judge whether to update the requested data, the space decision value is used to judge whether the cache space of the edge node is sufficient, and the prefetch decision value is used to predict the case that the requested data will be requested, and the requested data is data requested by a terminal device to obtain; determining a cache decision according to the frequency decision value, the time decision value, the space decision value and the prefetch decision value; in the case that the cache decision is a first result, caching the requested data to the edge node, so that the edge node sends the requested data to the terminal device; in the case that the cache decision is a second result, sending the requested data to the terminal device.

[0008] In an embodiment of the present disclosure, before obtaining the frequency decision value, the time decision value, the space decision value and the prefetch decision value, the method further comprises: determining a request frequency according to a request number of the request data and a total number of all data requests, and determining the frequency decision value according to the request frequency and a frequency threshold; determining the time decision value according to a current time, an update time and a preset validity period; determining a cache space utilization rate according to a total space of the edge node and a used space of the edge node; determining the space decision value according to the cache space utilization rate and a space utilization rate threshold; and determining the prefetch decision value according to a predicted request probability of the request data and a prefetch threshold.

[0009] In an embodiment of the present disclosure, determining the cache decision according to the frequency decision value, the time decision value, the space decision value and the prefetch decision value comprises: performing an AND operation on the frequency decision value, the time decision value, the space decision value and the prefetch decision value to obtain a cache decision value, and determining the cache decision according to the cache decision value; or calculating an average value of the frequency decision value, the time decision value, the space decision value and the prefetch decision value to obtain a cache decision value, and determining the cache decision according to the cache decision value.

[0010] In an embodiment of the present disclosure, the method further comprises: monitoring a performance index, the performance index comprising one or more of a bandwidth utilization rate, a request response time, a cache hit rate, a cache space utilization rate and a network congestion situation; determining whether the performance index meets a requirement; and in a case where the performance index meets the requirement, continuing to monitor the performance index.

[0011] In an embodiment of the present disclosure, the method further comprises: in a case where the performance index does not meet the requirement, adjusting a cache parameter, the cache parameter comprising a cache size, a parameter of an eviction policy, a prefetch threshold, a frequency threshold and a preset validity period.

[0012] In an embodiment of the present disclosure, after the cache parameter is adjusted, the method further comprises: obtaining a performance index and comparing the performance index with the performance index before the cache parameter is adjusted; in a case where a comparison result meets a preset condition, determining whether a preset effect is met; in a case where the preset effect is met, continuing to monitor the performance index; and in a case where the preset effect is not met, adjusting the cache parameter until the preset effect is met; wherein the preset condition is that the performance index after the cache parameter is adjusted is improved, and the preset effect is that the performance index meets a preset first target performance index threshold.

[0013] In one embodiment of this disclosure, the method further includes: adjusting the cache parameters until the preset conditions are met if the comparison result does not meet the preset conditions.

[0014] According to another aspect of this disclosure, a data transmission system is provided, comprising: a terminal device for sending a request to an edge node; the edge node for receiving the request sent by the edge node and determining whether local caches the requested data, and if no requested data is cached, sending the request to a central node; the central node for responding to the request from the edge node by acquiring a frequency decision value, a timeliness decision value, a spatial decision value, and a prefetch decision value, wherein the frequency decision value is used to determine whether to prioritize caching the requested data, the timeliness decision value is used to determine whether to update the requested data, the spatial decision value is used to determine whether the cache space of the edge node is sufficient, and the prefetch decision value is used to predict the situation where the requested data will be requested, the requested data being data requested by the terminal device; a caching decision is determined based on the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value; if the caching decision is a first result, the requested data is cached at the edge node so that the edge node sends the requested data to the terminal device; if the caching decision is a second result, the requested data is sent to the terminal device.

[0015] In one embodiment of this disclosure, the terminal device establishes a connection with the edge node via the QUIC protocol, and the edge node establishes a connection with the central node via the QUIC protocol.

[0016] According to another aspect of this disclosure, a data transmission apparatus is provided, comprising: an acquisition module, configured to acquire a frequency decision value, a timeliness decision value, a spatial decision value, and a prefetch decision value in response to a request from an edge node, wherein the frequency decision value is used to determine whether to prioritize caching requested data, the timeliness decision value is used to determine whether to update the requested data, the spatial decision value is used to determine whether the cache space of the edge node is sufficient, and the prefetch decision value is used to predict the situation where the requested data will be requested, wherein the requested data is data requested by a terminal device; a determination module, configured to determine a caching decision based on the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value; a sending module, configured to cache the requested data at the edge node when the caching decision is a first result, so that the edge node sends the requested data to the terminal device; the sending module is further configured to send the requested data to the terminal device when the caching decision is a second result.

[0017] According to another aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform any of the data transmission methods described above by executing the executable instructions.

[0018] According to another aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements any of the data transmission methods described above.

[0019] According to another aspect of this disclosure, a computer program product is provided, the computer program product comprising a computer program or computer instructions, the computer program or computer instructions being loaded and executed by a processor to enable a computer to implement any of the data transmission methods described above.

[0020] In the embodiments of this disclosure, the central node responds to a request from an edge node by acquiring a frequency decision value, a timeliness decision value, a spatial decision value, and a prefetch decision value, and determines a caching decision based on these values. If the caching decision is a first result, the requested data is cached at the edge node, allowing the edge node to send the requested data to the terminal device. If the caching decision is a second result, the requested data is sent to the terminal device. This disclosure utilizes the frequency decision value, timeliness decision value, prefetch decision value, and spatial decision value of the requested data, along with the edge node's spatial decision value, to determine whether to cache the requested data at the edge node. This enables caching of frequently requested data at the edge node, reducing unnecessary backend queries, improving the utilization rate of the edge node's cache space, enhancing overall system performance, increasing response speed, and improving user experience.

[0021] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0022] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0023] Figure 1 A schematic diagram of a data transmission system architecture according to an embodiment of this disclosure is shown.

[0024] Figure 2 A flowchart of a data transmission method according to an embodiment of this disclosure is shown.

[0025] Figure 3 A flowchart of a data transmission method according to another embodiment of this disclosure is shown.

[0026] Figure 4 A flowchart of a data transmission method in another embodiment of this disclosure is shown.

[0027] Figure 5 A flowchart of a data transmission method in yet another embodiment of this disclosure is shown.

[0028] Figure 6 A schematic diagram of a data transmission system in an embodiment of this disclosure is shown.

[0029] Figure 7 A signaling diagram of a data transmission method according to an embodiment of this disclosure is shown.

[0030] Figure 8 A schematic diagram of a data transmission device according to an embodiment of the present disclosure is shown.

[0031] Figure 9 A structural block diagram of an electronic device according to an embodiment of the present disclosure is shown.

[0032] Figure 10 This illustration shows a schematic diagram of a computer-readable storage medium provided in an embodiment of the present disclosure. Detailed Implementation

[0033] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0034] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0035] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.

[0036] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.

[0037] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0038] It should be noted that, unless otherwise specified, the embodiments of this disclosure and the technical features thereof can be combined with each other.

[0039] To facilitate understanding, the following is an explanation of several terms used in this disclosure:

[0040] Cloud-Edge Collaboration: A model in which the central cloud (also known as the central node) and the edge cloud (also known as the edge node) jointly process tasks, improving system performance through resource allocation and scheduling.

[0041] CDN (Content Delivery Network): A group of servers distributed in different geographical locations, whose purpose is to distribute Internet content to users more efficiently.

[0042] LRU (Least Recently Used): is a cache eviction policy that evicts the least recently used data item.

[0043] LFU (Least Frequently Used): LFU is a cache eviction policy that evicts the least frequently accessed data item.

[0044] SASE (Secure Access Service Edge) is an emerging network architecture designed to provide modern enterprises with unified security and network services, especially to meet the needs of cloud computing and distributed work environments.

[0045] TCP (Transmission Control Protocol) is a connection-oriented, reliable transport layer protocol that provides end-to-end data transmission services in computer networks.

[0046] Congestion control: In network communication, the technique of dynamically adjusting the transmission rate through algorithms to avoid network congestion.

[0047] Selective retransmission: A technique that retransmits only the lost data packet instead of the entire message when a data packet loss is detected.

[0048] Path selection: In network communication, the technique of selecting the best path to transmit data based on the current network conditions.

[0049] Forward error correction: A technique that enables the receiver to correct errors under certain conditions by adding extra information to the transmitted data.

[0050] The specific implementation methods of the embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0051] Figure 1 The diagram illustrates a data transmission system architecture according to an embodiment of the present disclosure. This system can apply the data transmission methods or data transmission devices described in various embodiments of the present disclosure.

[0052] like Figure 1 As shown, the system architecture 100 may include a terminal device 101, an edge node 102, and a central node 103.

[0053] The terminal device 101, the edge node 102 and the central node 103 communicate with each other through a network, which can be a wired network or a wireless network.

[0054] Optionally, the aforementioned wireless or wired networks use standard communication technologies and / or protocols. The network is typically the Internet, but can also be any network, including but not limited to Local Area Networks (LANs), Metropolitan Area Networks (MANs), Wide Area Networks (WANs), mobile, wired or wireless networks, private networks, or any combination of virtual private networks. In some embodiments, technologies and / or formats including Hyper Text Markup Language (HTML), Extensible Markup Language (XML), etc., are used to represent data exchanged over the network. Furthermore, conventional encryption technologies such as Secure Socket Layer (SSL), Transport Layer Security (TLS), Virtual Private Networks (VPNs), and Internet Protocol Security (IPsec) can be used to encrypt all or some links. In other embodiments, custom and / or dedicated data communication technologies can be used to replace or supplement the aforementioned data communication technologies.

[0055] For example, terminal device 101 establishes a connection with edge node 102 via the QUIC protocol. Edge node 102 also communicates with central node 103 using the QUIC protocol or other efficient protocols.

[0056] Terminal device 101 (client device) can be various electronic devices, including but not limited to smartphones, tablets, laptops, desktop computers, wearable devices, augmented reality devices, virtual reality devices, etc.

[0057] Optionally, the client of the application installed on different terminal devices 101 may be the same, or the client of the same type of application based on different operating systems. Depending on the terminal platform, the specific form of the application client may also be different; for example, the application client may be a mobile client, a PC client, etc.

[0058] Edge node 102 is responsible for quickly responding to requests from terminal device 101 and providing caching services. It can be deployed under the SASE architecture. Edge node 102 can be an edge cache server.

[0059] The central node 103 is used as a data center to store the original content and to process requests from the edge node 102.

[0060] Both edge node 102 and central node 103 can be servers that provide various services, such as a backend management server that supports the device operated by the user using terminal device 101. The backend management server can analyze and process received requests and other data, and feed the processing results back to the terminal device.

[0061] Optionally, the server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, etc., but is not limited to these. The terminal and server can be directly or indirectly connected via wired or wireless communication, which is not limited herein.

[0062] Those skilled in the art will know that Figure 1The number of terminal devices, edge nodes, and central nodes shown is merely illustrative; any number of terminal devices, edge nodes, and central nodes can be used as needed. This disclosure does not limit the number of such devices.

[0063] The following detailed description of this exemplary implementation method is provided in conjunction with the accompanying drawings and embodiments.

[0064] In one embodiment, such as Figure 2 As shown, the data transmission method for user-requested data (such as browsing web pages) includes the following steps S202 to S209.

[0065] S201, The terminal device initiates a request.

[0066] S202, a connection is established via a TCP three-way handshake. This connection can be between the terminal device and the edge node, or between the terminal device and the central node. This disclosure does not limit this aspect.

[0067] S203, Request for resolution. For example, an edge node requests for resolution. Another example is a center node requests for resolution.

[0068] S204, the edge node performs a local cache check to determine if the requested resource (i.e., the requested data) exists in the local cache. If it exists, proceed to S205. If it does not exist, proceed to S206.

[0069] S205, the edge node retrieves the resource's metadata (such as last modified time, expiration time, etc.) from the local cache and returns the cached resource.

[0070] S206, the edge node sends a request to the central node.

[0071] S207, the central node responds, and the resources are returned to the edge nodes.

[0072] S208, edge nodes store resources in local cache and update cache metadata (such as last modified time, expiration time, etc.).

[0073] S209, the edge node returns resources to the terminal device.

[0074] In this embodiment, the TCP handshake process is lengthy, increasing the waiting time for the initial request. Furthermore, the lack of an effective congestion control mechanism during data transmission leads to low bandwidth utilization. For frequently changing content, it is difficult to implement an efficient update strategy.

[0075] Based on this, this disclosure provides a data transmission method applicable to large-scale distributed network environments, such as mobile internet and IoT applications requiring low-latency and high-efficiency data transmission. This disclosure utilizes frequency decision values, timeliness decision values, prefetch decision values, and edge node spatial decision values ​​to determine whether to cache requested data at edge nodes. This enables caching of frequently requested data at edge nodes, reducing unnecessary backend queries, improving the utilization of edge node cache space, enhancing overall system performance, increasing response speed, and improving user experience. Furthermore, the caching decision is used to update the strategy, thereby addressing frequently changing content.

[0076] This disclosure provides a data transmission method that can be executed by any electronic device with computing capabilities, for example, through a central node.

[0077] Figure 3 A flowchart of a data transmission method according to another embodiment of this disclosure is shown, such as Figure 3 As shown, when applied to a central node, the data transmission method provided in this embodiment may include the following steps S301 to S304.

[0078] S301, in response to a request from an edge node, obtains frequency decision value, timeliness decision value, spatial decision value, and prefetch decision value. The frequency decision value is used to determine whether to prioritize caching the requested data. The timeliness decision value is used to determine whether to update the requested data. The spatial decision value is used to determine whether the cache space of the edge node is sufficient. The prefetch decision value is used to predict the situation where the requested data will be requested. The requested data is the data requested by the terminal device.

[0079] In this embodiment of the disclosure, the request from the edge node is used to request the central node to send the data or resources requested by the terminal device to the terminal device.

[0080] S302, determine the caching decision based on the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value.

[0081] In this embodiment of the disclosure, the caching decision may be to cache the request data on the edge node, or not to cache the request data on the edge node and directly send the request data to the terminal device or forward the request data to the terminal device through the edge node.

[0082] S303, if the caching decision is the first result, caches the request data to the edge node so that the edge node can send the request data to the terminal device.

[0083] S304: If the caching decision is the second outcome, the requested data is sent to the terminal device.

[0084] In this embodiment, the form of the caching decision is not limited. For example, when the caching decision is the first result (e.g., the caching decision value is 1), it indicates that the requested data is accessed frequently and meets the timeliness requirements. The space on the edge node meets the requirements for caching the requested data. Caching the requested data on the edge node can improve the hit rate, ensure that popular content is always available, reduce unnecessary backend queries, and improve the overall system performance. As another example, when the caching decision is the second result (e.g., the caching decision value is 0), it indicates that the requested data does not meet the caching conditions, and the requested data is not cached on the edge node.

[0085] This disclosure utilizes frequency decision values, timeliness decision values, prefetch decision values, and spatial decision values ​​of the requested data to determine whether to cache the requested data on the edge node. This enables the caching of frequently requested data on the edge node, reducing unnecessary backend queries, improving the utilization rate of the edge node cache space, enhancing the overall performance of the system, thereby increasing response speed and improving user experience.

[0086] The following two exemplary embodiments illustrate how this disclosure determines caching decisions.

[0087] In an exemplary embodiment, before acquiring the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value, the method provided in this disclosure embodiment may further include the following steps A1 to A4.

[0088] Step A1: Determine the request frequency based on the number of times the requested data is requested and the total number of all data requests, and determine the frequency decision value based on the request frequency and the frequency threshold.

[0089] In this embodiment of the disclosure, the number of times data is requested refers to the number of times data is requested within a certain period, and the total number of times all data is requested refers to the total number of times all data is requested within a certain period. For example, within one month, the number of times data is requested is 5, and the total number of times all data is requested is 100.

[0090] The request frequency is calculated using the following formula 1.

[0091]

[0092] Among them, f i Let N be the request frequency for the i-th resource (requested data). i N represents the number of data requests, where n is the total number of resources (the total amount of data). j Let be the number of requests for the j-th resource, where j is an integer greater than 0 and less than or equal to n.

[0093] In this embodiment, the frequency decision value is a parameter used to determine whether to prioritize caching requested data. It should be noted that when multiple requests require priority caching, they can be sorted according to the time at which priority caching was determined. The frequency threshold can be set based on the actual application scenario and application experience.

[0094] The frequency decision value can be calculated using the following formula 2.

[0095] x = Πf i >θ (2)

[0096] Where x is the frequency decision value, θ is the frequency threshold, and f i The request frequency for requesting data, when f is satisfied i When x > θ, the value of x is 1; otherwise, the value of x is 0.

[0097] When the frequency decision value is 1, it indicates that the requested data has been accessed frequently by users, and it can be determined that it is data to be cached. When the frequency decision value is 0, it indicates that there is no need to cache the requested data.

[0098] Step A2: Determine the timeliness decision value based on the current time, update time, and preset validity period.

[0099] In this embodiment of the disclosure, the preset validity period can be set according to the actual application scenario and application experience. For example, the preset validity period is 7 days (one week). This disclosure sets a preset validity period for each requested data (resource) and updates the requested data according to the preset validity period.

[0100] The timeliness decision value is calculated using the following formula 3.

[0101] y = Πt current -t last_update ≤T valid (3)

[0102] Where y is the time-sensitive decision value, t current t represents the current time. last_update For update time, T valid This is a preset validity period. When t is satisfied... current -t last_update ≤T valid When t is 1, the value of y is 1, and no resource update is needed; when t is 1... current -t last_update >T valid The value of y is 0, indicating that resources need to be updated.

[0103] It should be noted that the update time is the time recorded when the requested data was last updated. When the validity period decision value is 1, it means that the requested data is within its validity period and does not need to be updated.

[0104] Step A3: Determine the cache space utilization rate based on the total space of the edge nodes and the used space of the edge nodes; determine the space decision value based on the cache space utilization rate and the space utilization threshold.

[0105] In this embodiment of the disclosure, the total space refers to the total storage space used by the edge nodes for caching data. The used space refers to the storage space occupied by the edge nodes that has been used for caching data.

[0106] The cache space utilization rate is calculated using the following formula 4.

[0107]

[0108] Where U is the cache space utilization rate, and V is the cache space utilization rate. 总 V represents the total space of the edge nodes. 占 Used space for edge nodes.

[0109] In one embodiment, if U > α, then the old resource is evicted using an LRU or LFU strategy, where α is a set space utilization threshold. It should be noted that a smaller U value indicates a larger available space for the edge node, and vice versa. When U is greater than α, the space is cleared using LRU or LFU.

[0110] The spatial decision value is calculated using the following formula 5.

[0111] z=ΠU≤α (5)

[0112] Here, z is the spatial decision value. When U ≤ α, the value of z is 1. When U > α, the value of z is 0.

[0113] It should be noted that when the value of z is 1, it means that the space of the edge node is sufficient to cache the requested data without affecting the system's response speed.

[0114] In another embodiment, before determining the spatial decision value, Equations 4 and 5 are used to determine whether to use the LRU or LFU strategy to evict old resources. For example, when U > α (indicating that the edge node has insufficient free space), the LRU or LFU strategy is used to evict old resources, and then the spatial decision value is calculated using Equations 4 and 5.

[0115] This disclosure embodiment accurately determines whether the space of the edge nodes is sufficient by eliminating old resources, thereby better caching the request data on the central node, realizing the caching of popular request data to the edge nodes, reducing unnecessary backend queries, improving the utilization rate of the edge node cache space, improving the overall performance of the system, thereby improving the response speed and improving the user experience.

[0116] Step A4: Determine the prefetch decision value based on the predicted request probability and prefetch threshold of the requested data.

[0117] In this embodiment of the disclosure, the predicted request probability of requested data can be predicted based on historical access patterns. For example, a heuristic algorithm P(r) can be used to predict the request probability of resource r (predicted request probability). Another example is the prediction of the predicted request probability of requested data using a trained network model (such as a machine learning model).

[0118] The pre-selected decision value is calculated using the following formula 6.

[0119] ρ=ΠP(r)>β (6)

[0120] Where ρ is the prefetch decision value, r is the requested data, P(r) is the predicted request probability of the requested data, and β is the prefetch threshold. When P(r) > β, the value of ρ is 1; when P(r) ≤ β, the value of ρ is 0.

[0121] When the prefetch decision value is 1, it means that the requested data is likely to be hot data (data that users access frequently) and it is worth considering caching the requested data. Whether to cache it or not is determined by the frequency decision value, timeliness decision value, spatial decision value and prefetch decision value.

[0122] This embodiment of the disclosure uses frequency decision value, timeliness decision value, spatial decision value and prefetch decision value to jointly determine whether to cache requested data, and uses LRU or LFU to clear data occupying space on edge nodes, thereby optimizing cache utilization, improving hit rate, ensuring that popular content is always available, reducing unnecessary backend queries and improving overall system performance.

[0123] In another exemplary embodiment, determining a caching decision based on a frequency decision value, a timeliness decision value, a spatial decision value, and a prefetch decision value may include: performing an AND operation on the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value to obtain a caching decision value, and determining a caching decision based on the caching decision value; or, calculating the average of the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value to obtain a caching decision value, and determining a caching decision based on the caching decision value.

[0124] For example, when the frequency decision value, timeliness decision value, spatial decision value, and prefetch decision value are all 1, an AND operation is performed on these values, resulting in a cache decision value of 1. This cache decision is the first result, and the requested data is cached on the edge node. It should be noted that if any one of these values ​​is not 1, the cache decision value is 0, and the requested data is not cached.

[0125] For example, decision values ​​can be cached using the following formula 7.

[0126] D=(Πf i >θ+Πt current -t last_update ≤T valid +ΠU≤α+ΠP(r)>β) / 4 (7)

[0127] Where D is the caching decision value, ∏f i >θ is the frequency decision value, ∏t current -t last_update ≤T valid ∏U≤α is the time-sensitive decision value, ∏P(r)>β is the spatial decision value, and ∏P(r)>β is the pre-fetched decision value.

[0128] This embodiment of the disclosure determines whether to cache request data to edge nodes by utilizing the frequency decision value, timeliness decision value, prefetch decision value, and spatial decision value of the request data. This enables caching of popular request data to edge nodes, reducing unnecessary backend queries, improving the utilization rate of edge node cache space, enhancing the overall performance of the system, thereby improving response speed and user experience.

[0129] The above explains whether to cache requested data; the following explains how to update the caching strategy.

[0130] In one exemplary embodiment, such as Figure 4 As shown in the embodiments of this disclosure, the method may further include the following steps.

[0131] S401 monitors performance metrics, including one or more of the following: bandwidth utilization, request response time, cache hit rate, cache space utilization, and network congestion.

[0132] In this embodiment of the disclosure, monitoring performance indicators can be acquired periodically or in real time, and this embodiment of the disclosure does not specifically limit the acquisition of monitoring performance indicators.

[0133] In one embodiment, this disclosure monitors key performance indicators, which may include, but are not limited to, bandwidth utilization, request response time, cache hit rate, cache space utilization, and network congestion. Embodiments of this disclosure may use real-time data analysis tools (such as log analysis and performance monitoring tools) to collect and record performance indicators.

[0134] S402, determine whether the performance indicators meet the requirements; if the performance indicators meet the requirements, execute S403.

[0135] To determine whether each performance metric meets the requirements, a threshold can be set for each metric. When bandwidth utilization, request response time, cache space utilization, and network congestion are all less than their respective thresholds, they meet the requirements. When cache hit rate is greater than its corresponding threshold, it meets the requirements. When all performance metrics meet the requirements, the performance metrics are considered to be satisfactory.

[0136] For example, when the performance metric includes request response time, the threshold for the metric corresponding to request response time is 0.1s (seconds). When the request response time is less than 0.1s, the request response time meets the requirements, and the performance metric also meets the requirements.

[0137] For example, when performance metrics include request response time and cache space utilization, the threshold for request response time is 0.05s, and the threshold for cache space utilization is 60%. When the request response time is less than 0.05s and the cache space utilization is less than 60%, the performance metrics meet the requirements.

[0138] It should be noted that if any of the above metrics (bandwidth utilization, request response time, cache hit rate, cache space utilization, and network congestion) fails to meet the requirements, the performance metric is considered unsatisfactory. Performance metrics can be for edge nodes, central nodes, or a system comprised of both. Cache hit rate can be the request frequency.

[0139] S403, continue to monitor performance metrics.

[0140] In this embodiment of the disclosure, if the performance indicators meet the requirements, the performance indicators can continue to be monitored, forming a closed-loop monitoring mechanism.

[0141] The embodiments disclosed herein monitor performance indicators, which allows for real-time monitoring of system performance metrics. This facilitates the adjustment of cache parameters and improves the overall performance of the system.

[0142] In another exemplary embodiment, such as Figure 4 As shown, the method provided in this embodiment may further include S404.

[0143] S404 adjusts cache parameters when performance metrics do not meet requirements. Cache parameters include cache size, eviction policy parameters, prefetch threshold, frequency threshold, and preset expiration period.

[0144] In this embodiment of the disclosure, the cache parameters are parameters related to cache decisions and parameters that influence cache decisions. The eviction policy can be LRU and LFU, or other measures for clearing the cache.

[0145] This disclosure improves the overall system performance, response speed, and user experience by adjusting caching parameters to meet performance requirements.

[0146] In yet another exemplary embodiment, such as Figure 4 As shown, after adjusting the cache parameters, the method provided in this embodiment may further include the following steps S405 to S407.

[0147] S405 retrieves performance metrics and compares them with the performance metrics before the cache parameters were adjusted.

[0148] In this embodiment of the disclosure, by comparing the performance indicators before and after the adjustment of the cache parameters, it is possible to determine the change in the performance indicators, for example, whether the performance indicators are changing in a positive direction (good) or in a negative direction (bad).

[0149] S406: If the comparison result meets the preset conditions, determine whether the preset effect is met. If it is met, execute S407; if not, execute S404. That is, if the preset effect is not met, adjust the cache parameters until the preset effect is met. The preset conditions are that the performance indicators have improved after adjusting the cache parameters, and the preset effect is that the performance indicators meet the preset first target performance indicator threshold.

[0150] In this embodiment of the disclosure, if the comparison result changes in a positive direction, that is, the performance indicators after adjusting the cache parameters have improved, then the preset condition is met. Otherwise, the preset condition is not met.

[0151] In this embodiment of the disclosure, the method is similar to that in step S402, except that the conditions for determining whether the preset effect is met are more stringent. That is, the first target performance indicator threshold has higher requirements for the performance indicator than the indicator threshold. For example, the indicator threshold corresponding to the request response time is 0.1s, and the first target performance indicator threshold corresponding to the request response time is 0.04s.

[0152] S407 continues to monitor performance metrics while meeting preset requirements.

[0153] This disclosure embodiment can adapt to different types of traffic demands by dynamically adjusting the caching strategy (adjusting caching parameters by monitoring performance indicators), increasing the applicability of data transmission and improving the overall service quality.

[0154] Furthermore, adjusting cache parameters by comparing performance metrics before and after adjustment is equivalent to introducing a feedback mechanism, continuously adjusting and optimizing the caching strategy based on actual results. To further optimize the system, this embodiment of the disclosure performs effect evaluation (i.e., determining whether the preset effect is met) under the premise of the feedback mechanism, thereby significantly improving performance metrics and reaching or exceeding preset standards, thus maximizing resource utilization while maintaining stable system performance.

[0155] In yet another exemplary embodiment, the method provided in this disclosure may further include S408.

[0156] S408 adjusts the cache parameters until the preset conditions are met if the comparison results do not meet the preset conditions.

[0157] In this embodiment of the disclosure, if the comparison result changes in a negative direction, that is, the performance indicators after adjusting the cache parameters are not improved, then the preset condition is not met.

[0158] This embodiment of the disclosure continuously adjusts the cache parameters until preset conditions are met, thereby achieving adaptive conditions for the cache parameters and ensuring improved performance indicators.

[0159] Based on the same inventive concept, this disclosure also provides a data transmission system, as described in the following embodiments. Since the principle by which this system embodiment solves the problem is similar to that of the method embodiment described above, the implementation of this system embodiment can refer to the implementation of the method embodiment described above, and repeated details will not be repeated.

[0160] Figure 6 A schematic diagram of a data transmission system in an embodiment of this disclosure is shown, such as... Figure 6As shown, this disclosure provides a data transmission system including a terminal device 61, an edge node 62, and a central node 63. Terminal device 61 can send a request to edge node 62; edge node 62 can receive the request sent by edge node 62 and determine whether the requested data is cached in its local cache. If the requested data is not cached, it sends a request to central node 63; central node 63 can respond to the request from edge node 62 by obtaining frequency decision value, timeliness decision value, spatial decision value, and prefetch decision value. The frequency decision value is used to determine whether to prioritize caching the requested data, the timeliness decision value is used to determine whether to update the requested data, the spatial decision value is used to determine whether the cache space of edge node 62 is sufficient, and the prefetch decision value is used to predict the situation where the requested data will be requested. The requested data is the data requested by terminal device 61. A caching decision is determined based on the frequency decision value, timeliness decision value, spatial decision value, and prefetch decision value. If the caching decision is the first result, the requested data is cached in edge node 62 so that edge node 62 sends the requested data to terminal device 61; if the caching decision is the second result, the requested data is sent to terminal device 61.

[0161] In one embodiment, such as Figure 6 As shown, terminal device 61 establishes a connection with edge node 62 through the QUIC protocol, and edge node 62 establishes a connection with central node 63 through the QUIC protocol.

[0162] In this embodiment of the disclosure, the QUIC protocol is applied between the terminal device 61 and the edge node 62, and between the edge node 62 and the central node 63, which can realize functions such as fast connection establishment, multiplexing characteristics, 0-RTT (Zero Round-Trip TimeSupport, a network protocol optimization technology) support, congestion control, selective retransmission, path selection, and forward error correction.

[0163] In this embodiment, fast connection establishment can significantly reduce the waiting time for the initial request. Multiplexing can improve concurrent processing capabilities and bandwidth utilization. Congestion control can dynamically adjust the transmission rate through algorithms to avoid network congestion. Selective retransmission, which only retransmits lost data packets, can improve transmission efficiency. Path selection can choose the optimal path to transmit data based on the current network conditions. Forward error correction can add extra information to the transmitted data, allowing the receiver to correct errors under certain conditions.

[0164] This disclosure utilizes the QUIC protocol to quickly establish connections between clients and edge nodes, enabling multiplexed data transmission and improving bandwidth utilization. This disclosure solves the inherent connection establishment latency problem of the TCP protocol, improving data transmission efficiency and user experience. This disclosure also caches request data at edge nodes, reducing pressure on the core network and improving overall service quality.

[0165] Figure 7 This diagram illustrates a signaling diagram of a data transmission method according to an embodiment of the present disclosure, such as... Figure 7 As shown, the data transmission method provided in this embodiment includes the following steps S701 to S710.

[0166] S701, the terminal device initiates a request to the edge node. It should be noted that the terminal device and the edge node establish a connection via a QUIC quick handshake, which significantly reduces the waiting time for the initial request.

[0167] S702, edge nodes parse requests from terminal devices.

[0168] S703, check if the requested data (requested resource) exists in the local cache. If it exists, proceed to S704; otherwise, proceed to S705.

[0169] S704, returns the requested data.

[0170] S705, the edge node sends a request to the central node.

[0171] S706, determine the caching decision based on the frequency decision value, timeliness decision value, spatial decision value, and prefetch decision value. If the caching decision is the first result, then execute S707; if the caching decision is the second result, then execute S710.

[0172] In S707, if the caching decision is the first outcome, the central node sends the requested data to the edge node.

[0173] S708, edge nodes cache requested data.

[0174] S709, the edge node returns the requested data to the terminal device.

[0175] In the case of S710, if the caching decision is the second result, the central node returns the requested data to the terminal device.

[0176] This disclosure also allows for real-time monitoring of system performance metrics, such as bandwidth utilization, request response time, and cache hit rate. If these performance metrics fail to meet requirements, cache parameters are adjusted. These parameters include cache size, eviction policy parameters, prefetch threshold, frequency threshold, and preset expiration period. Furthermore, this disclosure can introduce a feedback mechanism to continuously adjust and optimize the caching strategy based on actual results. For example, if a low cache hit rate is found for certain resources, their cache priority or prefetch policy can be adjusted.

[0177] This disclosure embodiment can also evaluate the effect of the new caching strategy after adjusting its cache priority or prefetching strategy, ensuring stable and efficient system performance. This disclosure embodiment continues to monitor system performance after adjusting cache parameters, forming a closed-loop optimization mechanism.

[0178] The application scenarios of this disclosure will be explained in detail below.

[0179] This disclosure applies to large-scale distributed network environments, especially application scenarios such as mobile Internet and the Internet of Things that require low-latency and high-efficiency data transmission.

[0180] In one embodiment, this disclosure is applied to mobile internet scenarios. For example, it is applied to video streaming media, such as online video platforms (e.g., YouTube, Netflix) and live streaming platforms (e.g., Twitch). This disclosure, through the fast connection establishment and multiplexing features of the QUIC protocol, can significantly reduce video loading time and improve playback smoothness. Caching decisions can preload popular video clips, further enhancing the user experience. Another example is its application to mobile applications, such as social media applications (e.g., WeChat, Facebook), news applications, and e-commerce applications. This disclosure, through efficient cache management and dynamic adjustment strategies, can significantly reduce data transmission latency and provide faster response times. This not only improves the user experience but also reduces the data traffic consumption of mobile devices.

[0181] In another embodiment, this disclosure is applied to cloud computing and data centers. For example, it is applied to content delivery networks, such as global content distribution including websites, applications, and video streaming. Embodiments of this disclosure, by deploying efficient caching systems at edge nodes, can significantly reduce latency for users accessing content and improve the access experience for users worldwide. Caching decisions can be optimized based on access patterns in different regions, ensuring that frequently accessed content is always available. Another example is its application to hybrid cloud environments, such as enterprise-level hybrid cloud solutions that combine public and private cloud resources. Through edge caching, this disclosure can cache frequently used data and services at edge nodes closer to users, reducing cross-cloud communication needs and improving overall system performance and response speed. Simultaneously, dynamic caching strategy adjustments can ensure maximum resource utilization and reduce operating costs.

[0182] This disclosure significantly reduces user wait time and provides faster response times by leveraging the fast connection establishment and multiplexing features of the QUIC protocol. Furthermore, it ensures that frequently accessed content is always available through caching decisions and adjustments to caching parameters, further enhancing the user experience.

[0183] This disclosure can also reduce requests to the central node, alleviate pressure on the core network, and improve the overall system throughput and stability by adjusting caching decisions and parameters. The QUIC protocol's advanced congestion control and selective retransmission mechanisms ensure high data transmission efficiency even under network congestion.

[0184] This disclosure can also reduce operating costs by significantly lowering bandwidth and storage costs through caching decisions and reducing unnecessary data transmission. Dynamically adjusting caching parameters ensures maximum resource utilization and reduces waste. Furthermore, the QUIC protocol provides enhanced security, including encrypted transmission and protection against man-in-the-middle attacks, safeguarding user data.

[0185] Furthermore, the embodiments disclosed herein possess high scalability and flexibility, making them suitable for network environments of various sizes and types, including mobile internet, the Internet of Things, etc. The cache parameter adjustment mechanism enables the system to adapt to different network conditions and user needs, providing more flexible services.

[0186] Based on the same inventive concept, this disclosure also provides a data transmission device, as described in the following embodiments. Since the principle by which this device embodiment solves the problem is similar to that of the above-described method embodiment, the implementation of this device embodiment can refer to the implementation of the above-described method embodiment, and repeated details will not be elaborated further.

[0187] Figure 8 This diagram illustrates a data transmission apparatus according to an embodiment of the present disclosure, such as... Figure 8As shown, the data transmission device may include: an acquisition module 81, a determination module 82, and a sending module 83. The acquisition module 81 can be used to acquire frequency decision values, timeliness decision values, spatial decision values, and prefetch decision values ​​in response to a request from an edge node. The frequency decision value is used to determine whether to prioritize caching the requested data; the timeliness decision value is used to determine whether to update the requested data; the spatial decision value is used to determine whether the cache space of the edge node is sufficient; and the prefetch decision value is used to predict the situation where the requested data will be requested. The requested data is the data requested by the terminal device. The determination module 82 can be used to determine a caching decision based on the frequency decision value, timeliness decision value, spatial decision value, and prefetch decision value. The sending module 83 can be used to cache the requested data at the edge node if the caching decision is the first result, so that the edge node sends the requested data to the terminal device. The sending module 83 can also be used to send the requested data to the terminal device if the caching decision is the second result.

[0188] In one embodiment, before acquiring the frequency decision value, timeliness decision value, spatial decision value, and prefetch decision value, the acquisition module 81 may further determine the request frequency based on the number of requests for the requested data and the total number of all data requests, and determine the frequency decision value based on the request frequency and a frequency threshold; determine the timeliness decision value based on the current time, update time, and preset validity period; determine the cache space utilization rate based on the total space of the edge nodes and the used space of the edge nodes; determine the spatial decision value based on the cache space utilization rate and a space utilization rate threshold; and determine the prefetch decision value based on the predicted request probability of the requested data and a prefetch threshold.

[0189] In one embodiment, the determining module 82 can also be used to perform an AND operation on the frequency decision value, the timeliness decision value, the spatial decision value and the prefetch decision value to obtain a cache decision value, and determine a cache decision based on the cache decision value; or, calculate the average value of the frequency decision value, the timeliness decision value, the spatial decision value and the prefetch decision value to obtain a cache decision value, and determine a cache decision based on the cache decision value.

[0190] In one embodiment, the data transmission device may further include a monitoring module, which can be used to monitor performance indicators, including one or more of bandwidth utilization, request response time, cache hit rate, cache space utilization, and network congestion; determine whether the performance indicators meet the requirements; and continue to monitor the performance indicators if the performance indicators meet the requirements.

[0191] In one embodiment, the monitoring module can also be used to adjust cache parameters when performance indicators do not meet requirements. The cache parameters include cache size, eviction policy parameters, prefetch threshold, frequency threshold, and preset validity period.

[0192] In one embodiment, after adjusting the cache parameters, the monitoring module can also be used to obtain performance indicators and compare them with the performance indicators before the cache parameters were adjusted; if the comparison result meets the preset conditions, it is determined whether the preset effect is met; if the preset effect is met, the performance indicators continue to be monitored; if the preset effect is not met, the cache parameters are adjusted until the preset effect is met; wherein, the preset condition is that the performance indicators after adjusting the cache parameters have been improved, and the preset effect is that the performance indicators meet the preset first target performance indicator threshold.

[0193] In one embodiment, the monitoring module can also be used to adjust the cache parameters until the preset conditions are met if the comparison results do not meet the preset conditions.

[0194] The data transmission device disclosed in this embodiment uses the frequency decision value, timeliness decision value, prefetch decision value and edge node spatial decision value of the requested data to determine whether to cache the requested data to the edge node. This enables the caching of popular requested data to the edge node, reduces unnecessary backend queries, improves the utilization rate of the edge node cache space, enhances the overall performance of the system, thereby improving response speed and user experience.

[0195] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."

[0196] The following reference Figure 9 To describe an electronic device 900 according to such an embodiment of the present disclosure. Figure 9 The electronic device 900 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.

[0197] like Figure 9 As shown, the electronic device 900 is manifested in the form of a general-purpose computing device. The components of the electronic device 900 may include, but are not limited to: at least one processing unit 910, at least one storage unit 920, and a bus 930 connecting different system components (including the storage unit 920 and the processing unit 910).

[0198] The storage unit stores program code that can be executed by the processing unit 910, causing the processing unit 910 to perform the steps described in the "Exemplary Methods" section above according to various exemplary embodiments of this disclosure.

[0199] Storage unit 920 may include readable media in the form of volatile storage units, such as random access memory (RAM) 9201 and / or cache memory 9202, and may further include read-only memory (ROM) 9203.

[0200] Storage unit 920 may also include a program / utility 9204 having a set (at least one) program module 9205, such program module 9205 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.

[0201] Bus 930 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0202] Electronic device 900 can also communicate with one or more external devices 940 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 900, and / or with any device that enables electronic device 900 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 950. Furthermore, electronic device 900 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 960. As shown, network adapter 960 communicates with other modules of electronic device 900 via bus 930. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0203] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0204] In the disclosed exemplary embodiments, a computer-readable storage medium is also provided, which may be a readable signal medium or a readable storage medium. Figure 10 This illustration shows a schematic diagram of a computer-readable storage medium according to an embodiment of the present disclosure, such as... Figure 10 As shown, the computer-readable storage medium 1000 stores a program product capable of implementing the methods described above.

[0205] In some possible implementations, various aspects of this disclosure may also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps described in the foregoing “Detailed Description” section of this specification according to various exemplary embodiments of this disclosure.

[0206] More specific examples of computer-readable storage media in this disclosure may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0207] In this disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting a program for use by or in connection with an instruction execution system, apparatus, or device.

[0208] Optionally, the program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0209] In practical implementation, program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0210] This disclosure provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the data transmission method provided in various optional embodiments of this disclosure.

[0211] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0212] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.

[0213] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0214] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope of this disclosure is indicated by the appended claims.

Claims

1. A data transmission method, characterized in that, Applied to the central node, including: In response to a request from an edge node, a frequency decision value, a timeliness decision value, a spatial decision value, and a prefetch decision value are obtained. The frequency decision value is used to determine whether to prioritize caching the requested data. The timeliness decision value is used to determine whether to update the requested data. The spatial decision value is used to determine whether the cache space of the edge node is sufficient. The prefetch decision value is used to predict the situation where the requested data will be requested. The requested data is the data requested by the terminal device. The caching decision is determined based on the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value; If the caching decision is the first result, the request data is cached at the edge node so that the edge node sends the request data to the terminal device; If the caching decision is the second result, the request data is sent to the terminal device; The method further includes, before obtaining the frequency decision value, timeliness decision value, spatial decision value, and prefetch decision value: determining the request frequency based on the number of requests for the requested data and the total number of all data requests; determining the frequency decision value based on the request frequency and a frequency threshold; determining the timeliness decision value based on the current time, update time, and preset validity period; determining the cache space utilization rate based on the total space of the edge nodes and the used space of the edge nodes; determining the spatial decision value based on the cache space utilization rate and a space utilization threshold; and determining the prefetch decision value based on the predicted request probability of the requested data and a prefetch threshold.

2. The method according to claim 1, characterized in that, Determining a caching decision based on the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value includes: A caching decision value is obtained by performing an AND operation on the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value; and the caching decision is determined based on the caching decision value; or, The average of the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value is calculated to obtain the cache decision value, and the cache decision is determined based on the cache decision value.

3. The method according to claim 1, characterized in that, The method further includes: Monitor performance metrics, including one or more of bandwidth utilization, request response time, cache hit rate, cache space utilization, and network congestion. Determine whether the performance indicators meet the requirements; If the performance indicators meet the requirements, continue to monitor the performance indicators.

4. The method according to claim 3, characterized in that, The method further includes: If the performance indicators do not meet the requirements, adjust the cache parameters, which include cache size, eviction policy parameters, prefetch threshold, frequency threshold, and preset validity period.

5. The method according to claim 4, characterized in that, After adjusting the cache parameters, the method further includes: Obtain performance metrics and compare them with the performance metrics before adjusting the cache parameters; If the comparison results meet the preset conditions, determine whether the preset effect is met; If the preset effect is met, continue to monitor the performance indicators; If the preset effect is not met, adjust the cache parameters until the preset effect is met; The preset condition is that the performance indicators have been improved after adjusting the cache parameters, and the preset effect is that the performance indicators meet the preset first target performance indicator threshold.

6. The method according to claim 5, characterized in that, The method further includes: If the comparison results do not meet the preset conditions, adjust the cache parameters until the preset conditions are met.

7. A data transmission system, characterized in that, include: Terminal devices are used to send requests to edge nodes; The edge node is used to receive requests sent by the edge node and determine whether the local cache caches the request data. If the request data is not cached, the request is sent to the central node. The central node is configured to respond to requests from the edge nodes by acquiring frequency decision values, timeliness decision values, spatial decision values, and prefetch decision values. The frequency decision value determines whether to prioritize caching the requested data; the timeliness decision value determines whether to update the requested data; the spatial decision value determines whether the edge node's cache space is sufficient; and the prefetch decision value predicts when the requested data will be requested. The requested data is data requested by the terminal device. A caching decision is determined based on the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value. If the caching decision is a first result, the requested data is cached at the edge node, allowing the edge node to send the requested data to the terminal device. If the caching decision is a second result, the requested data is sent to the terminal device. Specifically, before acquiring the frequency decision value, timeliness decision value, spatial decision value, and prefetch decision value, the central node is further configured to: determine the request frequency based on the number of requests for the requested data and the total number of all data requests; determine the frequency decision value based on the request frequency and a frequency threshold; determine the timeliness decision value based on the current time, update time, and preset validity period; determine the cache space utilization rate based on the total space of the edge nodes and the used space of the edge nodes; determine the spatial decision value based on the cache space utilization rate and a space utilization threshold; and determine the prefetch decision value based on the predicted request probability of the requested data and a prefetch threshold.

8. The data transmission system according to claim 7, characterized in that, The terminal device establishes a connection with the edge node via the QUIC protocol, and the edge node establishes a connection with the central node via the QUIC protocol.

9. A data transmission device, characterized in that, include: The acquisition module is used to respond to requests from edge nodes by acquiring frequency decision values, timeliness decision values, spatial decision values, and prefetch decision values. The frequency decision value is used to determine whether to prioritize caching the requested data. The timeliness decision value is used to determine whether to update the requested data. The spatial decision value is used to determine whether the cache space of the edge node is sufficient. The prefetch decision value is used to predict the situation where the requested data will be requested. The requested data is the data requested by the terminal device. The determination module is used to determine a caching decision based on the frequency decision value, the timeliness decision value, the spatial decision value, and the prefetch decision value; The sending module is configured to cache the request data in the edge node when the caching decision is the first result, so that the edge node sends the request data to the terminal device; The sending module is further configured to send the request data to the terminal device if the cache decision is the second result; Before acquiring the frequency decision value, timeliness decision value, spatial decision value, and prefetch decision value, the acquisition module is further configured to: determine the request frequency based on the number of requests for the requested data and the total number of all data requests; determine the frequency decision value based on the request frequency and a frequency threshold; determine the timeliness decision value based on the current time, update time, and preset validity period; determine the cache space utilization rate based on the total space of the edge nodes and the used space of the edge nodes; determine the spatial decision value based on the cache space utilization rate and a space utilization threshold; and determine the prefetch decision value based on the predicted request probability of the requested data and a prefetch threshold.

10. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the data transmission method of any one of claims 1-6 by executing the executable instructions.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the data transmission method according to any one of claims 1-6.

12. A computer program product comprising computer instructions stored in a computer-readable storage medium, wherein the computer instructions, when executed by a processor, implement the operation instructions of the data transmission method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Bidirectional cache placement method based on deep reinforcement learning in cellular-free network

    CN116321307A

  • Data pre-caching query method, device and equipment and computer storage medium

    CN118820298A