Uplink data sending method and device, equipment, storage medium and program product

By compressing and aggregating protocol stack data on the user terminal, the problem of limited uplink channel bandwidth in cloud computers and cloud applications is solved, thus improving service quality.

CN121664900APending Publication Date: 2026-03-13CHINA MOBILEHANGZHOUINFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-16
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

In cloud computing and cloud applications, the uplink channel is in a state of contention due to limited bandwidth, which affects the quality of service.

Method used

By compressing and aggregating protocol stack data on the user terminal, data overhead is reduced. This includes compressing the target protocol stack data, aggregating it according to a preset aggregation window value, and processing it differently based on the data's latency sensitivity and priority.

Benefits of technology

It effectively reduces conflicts in uplink transmission opportunities and improves the service quality of cloud computers and cloud applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121664900A_ABST
    Figure CN121664900A_ABST
Patent Text Reader

Abstract

The invention discloses an uplink data sending method and device, equipment, a storage medium and a program product. The method is applied to a user terminal and comprises the steps that uplink data to be sent to a cloud server by the user terminal are acquired, and the uplink data comprise multiple pieces of protocol stack data; according to the packet sequence number of each piece of target protocol stack data, compressing the target number of continuous target protocol stack data to obtain compressed target protocol stack data, the target protocol stack data being protocol stack data of a second priority in the multiple pieces of protocol stack data; aggregating the plurality of compressed target protocol stack data according to a preset target aggregation window value to obtain compressed aggregation protocol stack data; and sending the compression aggregation protocol stack data to a cloud server. According to the embodiment of the invention, the method can effectively reduce the data overhead in an uplink process, thereby reducing the conflict of uplink competition transmission opportunities, and improving the service quality of a cloud computer and a cloud application.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of data communication technology, and in particular relates to a method, apparatus, device, storage medium and program product for transmitting uplink data. Background Technology

[0002] With globalization and the widespread adoption of information technology, the demand for remote and mobile work is increasing. Cloud computers and cloud applications enable employees to access cloud-based work environments and applications from anywhere with an internet connection, using ordinary user terminals (such as mobile phones and computers), achieving anytime, anywhere work and improving work flexibility and efficiency. However, during the data flow from user terminals to cloud servers, the limited bandwidth of the uplink channel creates competition, affecting the service quality of cloud computers and cloud applications. Summary of the Invention

[0003] This application provides an uplink data transmission method, apparatus, device, storage medium, and program product, which can effectively reduce data overhead during the uplink process, thereby reducing conflicts in uplink transmission opportunities and improving the service quality of cloud computers and cloud applications.

[0004] In a first aspect, embodiments of this application provide a method for transmitting uplink data, applied to a user terminal, the method comprising: The uplink data to be sent from the user terminal to the cloud server is obtained, and the uplink data includes multiple protocol stack data; Based on the packet sequence number of each target protocol stack data, a number of consecutive target protocol stack data are compressed to obtain compressed target protocol stack data, wherein the target protocol stack data is the protocol stack data with the second priority among the multiple protocol stack data; The multiple compressed target protocol stack data are aggregated according to a preset target aggregation window value to obtain compressed aggregated protocol stack data. The compressed aggregation protocol stack data is sent to the cloud server.

[0005] Secondly, embodiments of this application provide an uplink data transmission apparatus, applied to a user terminal, the apparatus comprising: The first acquisition module is used to acquire the uplink data to be sent from the user terminal to the cloud server, the uplink data including multiple protocol stack data; The compression module is used to compress a number of consecutive target protocol stack data according to the packet sequence number of each target protocol stack data to obtain compressed target protocol stack data, wherein the target protocol stack data is the protocol stack data with the second priority among the multiple protocol stack data; The aggregation module is used to aggregate the multiple compressed target protocol stack data according to a preset target aggregation window value to obtain compressed aggregated protocol stack data. The sending module is used to send the compressed aggregation protocol stack data to the cloud server.

[0006] Thirdly, embodiments of this application provide an electronic device, the device including: a processor and a memory storing computer program instructions; the processor, when executing the computer program instructions, implements the uplink data transmission method as described above.

[0007] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer program instructions, which, when executed by a processor, implement the uplink data transmission method described in any of the above claims.

[0008] Fifthly, embodiments of this application provide a computer program product, wherein instructions in the computer program product, when executed by a processor of an electronic device, cause the electronic device to perform the uplink data transmission method as described in any of the preceding claims.

[0009] The uplink data transmission method, apparatus, device, storage medium, and program product of this application embodiment are applied to a user terminal and can acquire uplink data to be sent from the user terminal to a cloud server. The uplink data includes multiple protocol stack data. Based on the packet sequence number of each target protocol stack data, a target number of consecutive target protocol stack data are compressed to obtain compressed target protocol stack data, where the target protocol stack data is the second priority protocol stack data among the multiple protocol stack data. The multiple compressed target protocol stack data are aggregated according to a preset target aggregation window value to obtain compressed aggregated protocol stack data. The compressed aggregated protocol stack data is then sent to the cloud server. Thus, in this application embodiment, by compressing and aggregating the target protocol stack data in the uplink data, data overhead during the uplink process is effectively reduced, thereby reducing conflicts in uplink transmission opportunities and improving the service quality of cloud computers and cloud applications. Attached Figure Description

[0010] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0011] Figure 1 This is a flowchart illustrating an embodiment of the uplink data transmission method provided in this application; Figure 2 This is a schematic diagram of the cloud desktop network transmission channel provided in an embodiment of this application; Figure 3 This is a schematic diagram of the service quality scheduling process provided in the embodiments of this application; Figure 4 This is a flowchart illustrating an uplink data transmission method provided in another embodiment of this application; Figure 5 This is a schematic diagram of the structure of the uplink data transmission device provided in the embodiments of this application; Figure 6 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0012] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0013] It should be noted that, in this document, relational terms such as "first" and "second" are used merely 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 apparatus 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 apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0014] With globalization and the widespread adoption of information technology, the demand for remote and mobile work is increasing. Cloud computers and cloud applications enable employees to access cloud-based work environments and applications from anywhere with an internet connection, using ordinary user terminals (such as mobile phones and computers), achieving anytime, anywhere work and improving work flexibility and efficiency. However, during the data flow from user terminals to cloud servers, the limited bandwidth of the uplink channel creates competition, affecting the service quality of cloud computers and cloud applications.

[0015] To address the problems of the prior art, embodiments of this application provide an uplink data transmission method, apparatus, device, storage medium, and program product. The uplink data transmission method provided in this application embodiment will be described first below.

[0016] Figure 1 A flowchart illustrating an embodiment of the uplink data transmission method provided in this application is shown. Figure 1 As shown, an uplink data transmission method is applied to a user terminal. The method may include the following steps S101 to S104: S101. Obtain the uplink data to be sent from the user terminal to the cloud server. The uplink data includes multiple protocol stack data. S102. Based on the packet sequence number of each target protocol stack data, compress the target number of consecutive target protocol stack data to obtain compressed target protocol stack data. The target protocol stack data is the protocol stack data with the second priority among the multiple protocol stack data. S103. Aggregate multiple compressed target protocol stack data according to the preset target aggregation window value to obtain compressed aggregated protocol stack data; S104. Send the compressed aggregation protocol stack data to the cloud server.

[0017] The uplink data transmission method of this application embodiment is applied to a user terminal. It can acquire uplink data to be sent from the user terminal to a cloud server, the uplink data including multiple protocol stack data. Based on the packet sequence number of each target protocol stack data, a target number of consecutive target protocol stack data are compressed to obtain compressed target protocol stack data, where the target protocol stack data is the second priority protocol stack data among the multiple protocol stack data. The multiple compressed target protocol stack data are aggregated according to a preset target aggregation window value to obtain compressed aggregated protocol stack data. The compressed aggregated protocol stack data is then sent to the cloud server. Thus, in this application embodiment, by compressing and aggregating the target protocol stack data in the uplink data, data overhead during the uplink process is effectively reduced, thereby reducing conflicts in uplink transmission opportunities and improving the service quality of cloud computers and cloud applications.

[0018] In S101, the aforementioned uplink data can be data that the user terminal is about to send to the cloud server.

[0019] The aforementioned uplink data may include multiple protocol stack data. In some embodiments, the uplink data may also include business data. Business data refers to the "valid information carrying user needs" in the user terminal, representing the "purpose" of the transmission initiated by the user. It directly corresponds to the user's usage scenario on the cloud server, such as text entered in a cloud document, files uploaded to a cloud drive, or operation commands like "move" on the cloud desktop. Protocol stack data is "control and auxiliary data" automatically generated by the "protocol stack module" (such as the TCP / IP protocol stack) of the operating system kernel in the user terminal. Its purpose is to ensure that business data can be reliably, orderly, and accurately transmitted to the cloud server; it is a "transmission assurance tool."

[0020] In S102, the target protocol stack data is the second priority protocol stack data among multiple protocol stack data. For example, the target protocol stack data can be an acknowledgment character (ACK) and a goback N frame (gbn).

[0021] In some embodiments of this application, the target number of consecutive target protocol stack data is compressed according to the packet sequence number of each target protocol stack data to obtain compressed target protocol stack data. For example, the packet sequence number (seq) in the acknowledgment character ACK can generally be represented by an eight-bit unsigned integer (u64), the smallest one is selected as the starting seq, and a one-bit unsigned integer (u8) is used to represent the increment value of the subsequent seq. If the difference exceeds the maximum value of u8, the smallest subsequent seq is selected as the new starting seq.

[0022] In S103, multiple compressed target protocol stack data are aggregated according to a preset target aggregation window value to obtain compressed aggregated protocol stack data. For example, the multiple compressed target protocol stack data can be aggregated with a uniform aggregation intensity according to the preset target aggregation window value to obtain compressed aggregated protocol stack data. Alternatively, the aggregation intensity can be dynamically selected based on the uplink packet rate to aggregate the multiple compressed target protocol stack data to obtain compressed aggregated protocol stack data. Specifically, when the uplink packet rate is greater than a preset first rate threshold, the multiple compressed target protocol stack data are aggregated according to a first aggregation window value to obtain compressed aggregated protocol stack data; when the uplink packet rate is less than or equal to the first rate threshold but greater than or equal to a preset second rate threshold, the multiple compressed target protocol stack data are aggregated according to a second aggregation window value to obtain compressed aggregated protocol stack data, where the second rate threshold is less than the first rate threshold and the second aggregation window value is greater than the first aggregation window value; when the uplink packet rate is less than the second rate threshold, the multiple compressed target protocol stack data are aggregated according to a third aggregation window value to obtain compressed aggregated protocol stack data, where the third aggregation window value is greater than the second aggregation window value.

[0023] In S104, the above-mentioned sending of compressed aggregation protocol stack data to the cloud server can, for example, be either sending the compressed aggregation protocol stack data to the cloud server immediately, or sending the compressed aggregation protocol stack data to the cloud server with a delay.

[0024] As one implementation of this application, in order to not only effectively reduce data overhead during the uplink process but also ensure service quality, the method may further include the following before S102: The data in the uplink is differentiated based on latency sensitivity, and the transmission priority of each data is determined. The transmission priority includes first priority and second priority, with first priority being higher than second priority. The protocol stack data with the second priority among multiple protocol stack data is determined as the target protocol stack data.

[0025] The aforementioned transmission priority can be used to characterize the transmission priority of each data item in the uplink data stream. In this embodiment of the application, the transmission priority may include a first priority and a second priority, with the first priority being higher than the second priority.

[0026] In some embodiments of this application, latency-sensitive distinctions are made among the data in the uplink data to determine the transmission priority of each data. For example, due to packet loss information negative acknowledgments in the protocol stack... A Negative Acknowledgment (NACK) is a signal sent by the network protocol stack (such as the transport layer and data link layer) to the sender when it detects lost data. Its core function is to clearly inform the sender that "some data has not been received; please retransmit." It is a key control mechanism to ensure reliable data transmission; therefore, NACK is given the highest priority. The Acknowledgment (ACK) protocol stack primarily confirms that the receiver has successfully received the data, but its transmission delay has a relatively small impact on overall service. Therefore, ACK is given the second highest priority. The Global Gradient Nether (GBN) protocol allows the sender to continuously send multiple data frames without receiving an acknowledgment, improving channel utilization through cumulative acknowledgments. This is crucial for improving overall network transmission efficiency. In network environments with moderate error rates, GBN can, to some extent, ensure orderly data transmission while reducing time wasted waiting for acknowledgments. However, when errors occur, multiple frames need to be retransmitted, which may put pressure on network bandwidth. Therefore, GBN's priority should not be too high; it can be given the second highest priority to avoid affecting the bandwidth requirements of other more critical services.

[0027] In this embodiment, by performing latency-sensitive differentiation on each piece of uplink data, the transmission priority of each piece of data is determined. Then, the protocol stack data with the second priority among multiple protocol stack data is determined as the target protocol stack data. This allows compression and aggregation processing to be performed only on the target protocol stack data, which not only effectively reduces data overhead during the uplink process but also ensures the quality of service, thereby reducing conflicts in uplink transmission opportunities and improving the service quality of cloud computers and cloud applications.

[0028] In some embodiments, the uplink data may further include service data. Specifically, the aforementioned latency-sensitive differentiation of each piece of data in the uplink data to determine the transmission priority of each piece of data may include: Perform latency-sensitive differentiation on each service data and each protocol stack data in the uplink data, and determine the transmission priority of each service data and each protocol stack data; The above methods may also include: The first priority business data is sent to the cloud server according to the preset weight order, and the weight order is related to the business type of the business data. The second-priority business data is sent to the cloud server at a preset sending rate.

[0029] In some embodiments of this application, latency-sensitive distinctions are made between various service data and protocol stack data in the uplink data to determine the transmission priority of each service data and protocol stack data. For example, service data requiring end-to-end latency <100ms (such as keyboard / mouse commands, voice frames, video conferencing images, etc.) are assigned the first priority; service data with allowable latency of 100ms-1s (such as frame ACKs after the client receives frame data, latency tracking data, heartbeats, USB data, etc.) are assigned the second priority.

[0030] The order of the above weights can be associated with the business type of the business data, where the business type can include: 1) Display Channel type: Cloud desktop push data (downlink), client receives frame data and replies with frame ACK (uplink), latency dot data (uplink); 2) Control Channel type: Sends user control data (uplink direction) such as mouse and keyboard input; 3) Playback Channel Type: Recording data (upstream direction); 4) Main Channel: Responsible for connection establishment, management, control, heartbeat, and data transmission (downlink) during file printing; 5) Audio Channel Type: Cloud desktop audio data (downlink direction); 6) Cursor Channel: Transmits mouse pointer display graphics data (downward direction); 7) USB Channel Type: USB data, distinguished between upstream and downstream based on user operation.

[0031] Among the business data of the above 7 business types, Control Channel and Playback Channel are the first priority business data, with Control Channel having a higher weight than Playback Channel.

[0032] In some embodiments of this application, service data of each second priority are sent to the cloud server at a preset transmission rate. For example, the Display Channel has a large number of uplink latency data points but a stable rate, while the USB and Main Channel file transfer data exhibits large bursts and high bandwidth consumption. When the USB or Main Channel rate exceeds 100% of the previous statistical value, the transmission rates of the USB and Main Channels can be limited by configuring the weight parameters USB Channel:Main Channel:DisplayChannel to 4:4:2, using the Display Channel as a reference, to prevent file transfers from consuming excessive bandwidth and increasing the latency of other packets. Once the USB or Main Channel rate returns to the average rate before the rate surge, the current weight parameter is canceled, and data is allocated fairly within the same priority level.

[0033] In this embodiment, since the uplink data also includes service data, the service data and protocol stack data in the uplink data are distinguished by latency sensitivity, the transmission priority of each service data and protocol stack data is identified, and the first priority service data is sent to the cloud server according to the preset weight order, and the second priority service data is sent to the cloud server at the preset transmission rate. In this way, the service data is sent according to priority to ensure the quality of service, and the channel rate of the low priority service data is limited, which can reduce the conflict of uplink competition transmission opportunities.

[0034] As another implementation of this application, in order to identify whether a sudden increase in bandwidth has occurred in the uplink channel and to ensure the quality of service, the above method may further include: Obtain the downlink bandwidth of the user terminal; When the downlink channel bandwidth is less than or equal to a preset bandwidth threshold, the first priority service data is sent to the cloud server according to the preset weight order; the second priority service data is sent to the cloud server at a preset sending rate; the target number of consecutive target protocol stack data is compressed according to the packet sequence number of each target protocol stack data to obtain compressed target protocol stack data; multiple compressed target protocol stack data are aggregated according to a preset target aggregation window value to obtain compressed aggregated protocol stack data; and the compressed aggregated protocol stack data is sent to the cloud server.

[0035] Because the number of uplink and downlink packets is correlated in cloud desktop scenarios—for example, sending an I-frame on the Display channel or transmitting a print file on the Main channel triggers continuous uplink acknowledgment packets—bandwidth statistics are used to monitor for sudden bandwidth spikes in the downlink channel. Specifically, if the downlink channel bandwidth is less than or equal to a preset bandwidth threshold, it means there hasn't been a sudden increase in uplink bandwidth, and the business-priority optimization strategy can continue for uplink data transmission.

[0036] In this embodiment, the downlink bandwidth of the user terminal is monitored to identify whether there is a sudden increase in uplink bandwidth. If there is no sudden increase in uplink bandwidth, data is uploaded according to the service priority optimization strategy to ensure the service quality of the service.

[0037] As another implementation of this application, in order to mitigate the conflict of uplink contention for transmission opportunities when the uplink channel bandwidth suddenly increases, the above method may further include: If the downlink channel bandwidth is greater than the bandwidth threshold, the transmission rate of the uplink data corresponding to the second priority will be reduced, and / or the aggregation intensity of the uplink data corresponding to the second priority will be increased.

[0038] The above-mentioned reduction of the uplink data transmission rate corresponding to the second priority can be exemplified by reducing the transmission rate from 50 packets per second to 5 packets per second.

[0039] In some embodiments of this application, the aggregation intensity of uplink data corresponding to the second priority is increased, which may specifically include: Aggregate the business data and target protocol stack data corresponding to the second priority; And / or, Increase the target aggregation window size.

[0040] The above process aggregates the business data and target protocol stack data corresponding to the second priority. For example, it can be that business data such as frame ACK, delay tracking data and heartbeat are all aggregated to form an ACK message.

[0041] The above-mentioned increase in the target aggregation window value can be exemplified by extending the ACK message time aggregation window from 5ms to 8ms.

[0042] It should be noted that, in the embodiments of this application, the reduction of the sending rate, the increase of the target aggregation window value, and the aggregation processing of service data and target protocol stack data are not limited to the above examples, and can also be set according to the actual needs of the user, without specific limitations here.

[0043] In this embodiment of the application, the situation where the downlink channel bandwidth is greater than the bandwidth threshold means that the uplink channel is also expected to increase its bandwidth. In this case, the transmission rate of the uplink data corresponding to the second priority can be reduced, and / or the aggregation strength of the uplink data corresponding to the second priority can be increased, thereby further reducing the data overhead in the uplink process and alleviating the conflict of uplink competition for transmission opportunities.

[0044] In some embodiments, the above-mentioned transmission priority may further include a third priority, which is lower than the second priority. The transmission rate of the uplink data corresponding to the third priority is less than the transmission rate of the uplink data corresponding to the second priority, and the aggregation strength of the uplink data corresponding to the third priority is greater than the aggregation strength of the uplink data corresponding to the second priority.

[0045] The third priority mentioned above is a transmission priority that is lower than the second priority.

[0046] For example, the uplink data corresponding to the third priority can be non-real-time data such as protocol stack interaction information.

[0047] In this embodiment of the application, the sending priority may also include a third priority, which is lower than the second priority, further refining the differences in rate and aggregation strength of different sending priorities, ensuring service quality in a layered manner, and avoiding bandwidth contention.

[0048] As another implementation of this application, in order to further reduce data overhead, the above method may further include: Compress the protocol stack data and its packet sequence number for each first priority level to obtain compressed protocol stack data; The compressed protocol stack data is sent to the cloud server.

[0049] The above-mentioned compression of the protocol stack data and its packet sequence number of each first priority is used to obtain compressed protocol stack data. For example, the negative response (NACK) can carry the currently considered lost packet sequence number and compress it to obtain a compressed negative response.

[0050] In some embodiments of this application, the compressed protocol stack data is sent to the cloud server. For example, the compressed protocol stack data may be sent to the cloud server immediately; or, the compressed protocol stack data may carry its fallback message and be sent to the cloud server.

[0051] In this embodiment of the application, compressed protocol stack data and its packet sequence number of each first priority are compressed to obtain compressed protocol stack data and sent to the cloud server. In this way, compressing the first priority protocol stack data can further reduce data overhead and send it immediately, and can also ensure that the first priority protocol stack data is detected as soon as possible.

[0052] In some embodiments, sending the compressed protocol stack data to the cloud server as described above may specifically include: The rollback message is carried in the compressed protocol stack data and sent to the cloud server.

[0053] The aforementioned method of carrying backoff messages in compressed protocol stack data and sending them to the cloud server can, for example, include the currently considered lost packet sequence number in the negative acknowledgment (NACK) and compress it, and include backoff N-frame gbn in the packet header to reduce the number of backoff N-frame gbn messages.

[0054] In this embodiment, the backoff message is carried in the compressed protocol stack data and sent to the cloud server. This merged sending method can further reduce the number of uplink packets, thereby effectively mitigating contention for transmission opportunities.

[0055] As another implementation of this application, in order to dynamically select the aggregation intensity and adapt to different uplink traffic scenarios, the target aggregation window value may include a first aggregation window value, a second aggregation window value, and a third aggregation window value. Before S103, the method may also include: Obtain the uplink packet rate of the user terminal; Specifically, S103 mentioned above may include: When the uplink packet rate is greater than the preset first rate threshold, multiple compressed target protocol stack data are aggregated according to the first aggregation window value to obtain compressed aggregated protocol stack data. When the uplink packet rate is less than or equal to the first rate threshold and greater than or equal to the preset second rate threshold, multiple compressed target protocol stack data are aggregated according to the second aggregation window value to obtain compressed aggregated protocol stack data. The second rate threshold is less than the first rate threshold and the second aggregation window value is greater than the first aggregation window value. When the uplink packet rate is less than the second rate threshold, multiple compressed target protocol stack data are aggregated according to the third aggregation window value to obtain compressed aggregated protocol stack data. The third aggregation window value is greater than the second aggregation window value.

[0056] The aforementioned target aggregation window value may specifically include a first aggregation window value, a second aggregation window value, and a third aggregation window value. For example, the first aggregation window value may be 2ms, the second aggregation window value may be 5ms, and the third aggregation window value may be 8ms.

[0057] The first speed threshold and the second speed threshold mentioned above can, for example, be 500pps and 200pps.

[0058] In some embodiments of this application, when the uplink packet rate is less than or equal to a first rate threshold and greater than or equal to a preset second rate threshold, the above-mentioned aggregation of multiple compressed target protocol stack data according to a second aggregation window value to obtain compressed aggregated protocol stack data may specifically include: When the uplink packet rate is less than the third rate threshold and greater than or equal to the preset second rate threshold, multiple compressed target protocol stack data are aggregated according to the second aggregation window value to obtain compressed aggregated protocol stack data. The third rate threshold is less than the first rate threshold and greater than the second rate threshold. When the uplink packet rate is less than or equal to the first rate threshold and greater than the third rate threshold, multiple compressed target protocol stack data and the service data corresponding to the second priority are aggregated according to the second aggregation window value to obtain compressed aggregated protocol stack data.

[0059] The aforementioned third rate threshold, for example, could be 300 pps.

[0060] It should be noted that, in the embodiments of this application, the first aggregation window value, the second aggregation window value, the third aggregation window value, the first speed threshold, the second speed threshold, and the third rate threshold are not limited to the above examples, and can also be set according to the actual needs of the user, without specific limitations here.

[0061] In this embodiment, the uplink packet rate in the user terminal is collected, and the aggregation strength is dynamically selected by the number of uplink packets. A dynamic balance is achieved between "reducing protocol overhead" and "ensuring real-time transmission". This avoids the problems of "frequent small packet sending wasting bandwidth" or "large packet accumulation for too long slowing down latency" under a fixed aggregation strategy, and can adapt to different uplink traffic scenarios, maximizing the utilization efficiency of uplink bandwidth and data transmission experience.

[0062] In some embodiments, the above-described S104 may specifically include: The compressed aggregation protocol stack data will be sent to the cloud server with a delay according to a preset time period.

[0063] The preset time period mentioned above can be, for example, 5ms. Of course, in this embodiment, the preset time period is not limited to 5ms, and can be set according to the user's actual needs, which is not specifically limited here.

[0064] In this embodiment, the compressed aggregation protocol stack data is sent to the cloud server at a delayed time period. This delayed sending method can further reduce uplink contention for transmission opportunities.

[0065] To facilitate understanding of the uplink data transmission method in the embodiments of this application, the actual application process of this uplink data transmission method is described as follows: This application provides an uplink data transmission method that can dynamically sense channel contention status, distinguish between delay-sensitive and ordinary uplink data, and introduce a scheduling mechanism to send non-critical uplink packets during off-peak hours; protocol layer uplink ACKs and service data packets are aggregated to reduce physical layer contention.

[0066] First, the Adaptive Acceleration Protocol (AAC) is used to aggregate data streams from multiple service types into a single connection. A schematic diagram of the cloud desktop network transmission channel is shown below. Figure 2 As shown: The client, equivalent to the aforementioned user terminal, uses a Software Development Kit (SDK) to convert the Spice protocol into AAC, which is then used on a cloud computer (corresponding to...). Figure 2 The Spice Server (equivalent to the aforementioned cloud server) connects to the Secure Computing Gateway (SCG) to restore the data to the Spice protocol.

[0067] The types of multiple business data streams in cloud applications or cloud desktops include the following: 1) Display Channel: Cloud desktop pushes data (downlink direction), the client replies with frame ACK after receiving frame data (uplink direction), and latency-marked data (uplink direction). 2) Control Channel: Sends user control data (uplink direction) such as mouse and keyboard input; 3) Playback Channel: Recording data (upstream direction); 4) Main Channel: The main channel is responsible for connection establishment, management, control, heartbeat, and data transmission (downlink) during file printing, etc. 5) Audio Channel: Cloud desktop audio data (downlink direction); 6) Cursor Channel: Transmits mouse pointer display graphics data (downstream direction); 7) USB Channel: USB data, distinguished between upstream and downstream based on user operation.

[0068] In this embodiment, uplink data is divided into service data and protocol stack data. The seven types of service data mentioned above can be differentiated by latency sensitivity through a Quality of Service (QoS) scheduling queue built within the protocol stack. Internally, the protocol stack needs to send acknowledgment characters (ACK) and go-back N frames (gbn) to confirm data, notify the sender of packet loss retransmission, and release the sliding window. These packets are short and sent frequently. In Wi-Fi, this can lead to a situation where, during the alternating transmission of uplink and downlink data, the channel needs to be released and the transmission opportunity (TXOP) needs to be recompeted for each direction switch. Therefore, the amount of uplink data can be reduced primarily through delayed and aggregated transmission.

[0069] (a) Distinguishing between uplink data packets with latency sensitivity and handling QoS (Quality of Service) requirements: The protocol layer labels the type of each channel, enabling the adaptive acceleration protocol stack to differentiate uplink priority queues. For high-priority data types, an immediate transmission strategy is adopted; for medium-priority data (where the SPICE server tolerates data transmission times of tens of seconds), such as frame ACKs and heartbeats, transmission is delayed or aggregated, introducing a latency-sensitive baseline classification. 1. Highest priority: Keyboard / mouse commands, voice frames, and protocol stack packet loss information negative acknowledgment (NACK). 2. Medium priority: frame ACK, delay-marked data, heartbeat, USB file copy data, protocol stack acknowledgment character ACK, and N-frame go-back GBN; 3. Lower priority: Protocol stack interaction information, etc.

[0070] like Figure 3As shown, business data is scheduled and sent according to Quality of Service (QoS) priorities. This means the protocol stack contains multiple priority queues, each with multiple weighted queues, and an index is defined. When receiving packets, data packets are placed into different queues according to their service type. If the priority and weight of the queue to which the packet belongs are higher than the queue pointed to by the index, the index is updated. When sending packets, packets are retrieved and sent in priority and weight order. Specifically, the corresponding queue is found through the index, and packets are retrieved using the first-in, first-out (FIFO) characteristic of queues. If packet retrieval is successful, the process returns. If the queue is empty, the next priority queue is checked for packets, and so on, until a queue with packets is found and the index is updated. If all queues are empty, the index points to the last queue and the process returns. Simultaneously, the sent data is counted. When the data volume exceeds a set weight ratio, the priority of that queue is temporarily reduced, and the queue priority is restored once the data volume ratio recovers.

[0071] like Figure 4 As shown, high-priority service data is sent immediately, strictly according to priority and weight. Medium-priority service data: Display channel has a large number of uplink latency data points but a stable rate; USB and Main channel file transfers experience large bursts of data, resulting in high bandwidth consumption. When the USB or Main channel rate exceeds 100% of the previous statistical value, the weight parameter USB Channel:Main Channel:Display Channel can be configured as 4:4:2, using the Display Channel as a reference, to limit the transmission rate of USB and Main channels, preventing file transfers from consuming excessive bandwidth and increasing the latency of other messages. Once the USB or Main channel rate returns to the average rate before the rate surge, the current weight parameter is removed, and data is allocated fairly within the same priority level. High-priority protocol stack data: The protocol stack receiver should immediately send a negative acknowledgment (NACK) after recognizing packet loss. The NACK should carry the sequence number of the currently considered lost packet and compress it, and include a rollback N-frame GBN in the packet header to reduce the number of rollback N-frame GBN messages. Medium-priority protocol stack data: The most numerous uplink packets are protocol stack acknowledgment characters (ACK) and go-back N frames (gbn). Batch aggregation and transmission of ACKs can be initiated within the protocol stack. For ACKs that do not involve packet loss information, a 5ms delay is used. When actually sending ACKs, multiple currently buffered ACKs and go-back N frames (gbn) need to be merged and sent. Because ACKs are sent periodically, rather than using the traditional TCP packet-by-packet acknowledgment mechanism, this effectively reduces the number of uplink packets and decreases the chance of TXOP (Turn-Off) contention.

[0072] (ii) Uplink data packet pre-scheduling: In some embodiments, the number of uplink packets and downlink packets in a cloud desktop scenario are correlated. For example, when the Display channel sends an I-frame or the Main channel transmits a print file, it triggers a series of uplink acknowledgment packets. Figure 4 As shown in the embodiments of this application, the protocol stack can also monitor whether there will be a sudden increase in bandwidth in the downlink channel through bandwidth statistics, thereby predicting that the uplink packets will also increase. In response, the transmission rate of medium-priority and low-priority data (including service data and protocol stack data) can be adjusted, reducing the protocol stack interaction information from 50 packets per second to 5 packets per second; the aggregation intensity of medium-priority data can also be increased, for example, aggregating service data such as frame ACK, latency marker data and heartbeats into protocol stack data such as acknowledgment character ACK packets, and extending the time aggregation window of acknowledgment character ACK packets to 8ms.

[0073] (III) Protocol Layer and Small Packet Aggregation of Business Data: In some embodiments, the acknowledgment character ACK can be compressed during aggregation to further reduce the possibility of sending multiple packets due to an excessive number of acknowledgment characters ACK. The packet sequence number (seq) in the acknowledgment character ACK is generally represented by an eight-bit unsigned integer (u64). The smallest one is selected as the starting seq, and a one-bit unsigned integer (u8) is used to represent the increment value of subsequent seq. If the difference exceeds the maximum value of u8, the smallest subsequent seq is selected as the new starting seq.

[0074] In some embodiments, the aggregation strength can be dynamically selected based on the number of uplink packets. When pps ≤ 200 and the rate ≥ 500pps, the aggregation window is 5ms; when the uplink packet rate > 500pps, the aggregation window is shortened from 5ms to 2ms; and when the rate < 200pps, the window is extended from 5ms to 8ms to improve aggregation efficiency. Furthermore, when the uplink packet rate < 300pps, latency tracking data and other service data can be excluded from aggregation with protocol stack data; when the uplink packet rate ≥ 300pps, latency tracking data and other service data can be aggregated with protocol stack data.

[0075] In some embodiments, when aggregating service data packets and protocol stack packets, aggregation can also be performed on multiple service packets that arrive within a short time (2ms) if the length meets the requirements.

[0076] In addition, for the medium-priority service data mentioned above, after the SDK receives the service data (such as heartbeats, frame ACKs, etc., which are short in length, numerous in quantity, and insensitive to latency), it can indicate in the adaptive acceleration protocol header that there is protocol stack data following the data packet through a field. After the aggregated data arrives at the access gateway SCG, the service data and protocol stack data will be restored.

[0077] In this embodiment, a dynamic channel contention sensing mechanism and dynamic priority queue adjustment are implemented. By sensing the channel status in real time and dynamically allocating weights, the preemption of uplink commands by sudden downlink data is reduced. Protocol stack ACK aggregation and differential compression technologies improve uplink bandwidth utilization. Downlink bandwidth surge prediction and uplink pre-scheduling optimize uplink and downlink concurrency conflicts. A multi-dimensional classification model and dynamic weight adjustment algorithm are used. This allows for flexible adaptation to multiple service scenarios, reducing interaction latency fluctuations in mixed scenarios such as file transfer and video conferencing.

[0078] Based on the uplink data transmission method provided in the above embodiments, this application also provides specific implementations of the uplink data transmission apparatus. Please refer to the following embodiments.

[0079] like Figure 5 As shown in the embodiment of this application, the uplink data sending device 500 is applied to a user terminal and may include the following modules: a first acquisition module 501, a compression module 502, an aggregation module 503, and a sending module 504.

[0080] The first acquisition module 501 is used to acquire uplink data to be sent from the user terminal to the cloud server. The uplink data includes multiple protocol stack data. Compression module 502 is used to compress a number of consecutive target protocol stack data according to the packet sequence number of each target protocol stack data to obtain compressed target protocol stack data. The target protocol stack data is the protocol stack data with the second priority among multiple protocol stack data. The aggregation module 503 is used to aggregate multiple compressed target protocol stack data according to a preset target aggregation window value to obtain compressed aggregated protocol stack data. The sending module 504 is used to send compressed aggregation protocol stack data to the cloud server.

[0081] The uplink data sending device of this application embodiment is applied to a user terminal and can acquire uplink data to be sent from the user terminal to a cloud server. The uplink data includes multiple protocol stack data. Based on the packet sequence number of each target protocol stack data, a target number of consecutive target protocol stack data are compressed to obtain compressed target protocol stack data, where the target protocol stack data is the second priority protocol stack data among the multiple protocol stack data. The multiple compressed target protocol stack data are aggregated according to a preset target aggregation window value to obtain compressed aggregated protocol stack data. The compressed aggregated protocol stack data is then sent to the cloud server. Thus, in this application embodiment, by compressing and aggregating the target protocol stack data in the uplink data, data overhead during the uplink process is effectively reduced, thereby reducing conflicts in uplink transmission opportunities and improving the service quality of cloud computers and cloud applications.

[0082] As one implementation of this application, in order to not only effectively reduce data overhead during the uplink process but also ensure the quality of service, the aforementioned device 500 may further include: The first determining module is used to perform time-latency sensitive differentiation on each piece of data in the uplink data and determine the transmission priority of each piece of data. The transmission priority includes a first priority and a second priority, with the first priority being higher than the second priority. The second determining module is used to determine the protocol stack data with the second priority among multiple protocol stack data as the target protocol stack data.

[0083] In some embodiments, the uplink data may further include service data. The first determining module may be specifically used to perform time-sensitive differentiation on each service data and each protocol stack data in the uplink data, and determine the transmission priority of each service data and each protocol stack data. The aforementioned sending module 504 can also be used to send each first-priority service data to the cloud server according to a preset weight order, the weight order being associated with the service type of the service data; and to send each second-priority service data to the cloud server at a preset sending rate.

[0084] As another implementation of this application, in order to identify whether a sudden increase in bandwidth occurs in the uplink channel and ensure the quality of service, the aforementioned device 500 may further include: The second acquisition module acquires the downlink channel bandwidth of the user terminal; The aforementioned sending module 504 can also be used to send first-priority service data to the cloud server according to a preset weight order when the downlink channel bandwidth is less than or equal to a preset bandwidth threshold; send second-priority service data to the cloud server at a preset sending rate; compress a target number of consecutive target protocol stack data according to the packet sequence number of each target protocol stack data to obtain compressed target protocol stack data; aggregate multiple compressed target protocol stack data according to a preset target aggregation window value to obtain compressed aggregated protocol stack data; and send the compressed aggregated protocol stack data to the cloud server.

[0085] As another implementation of this application, in order to mitigate the conflict of uplink contention for transmission opportunities when the uplink channel bandwidth suddenly increases, it also includes: The adjustment module is used to reduce the transmission rate of uplink data corresponding to the second priority when the downlink channel bandwidth is greater than the bandwidth threshold, and / or increase the aggregation intensity of uplink data corresponding to the second priority.

[0086] In some embodiments, the above-mentioned transmission priority may further include a third priority, which is lower than the second priority. The transmission rate of the uplink data corresponding to the third priority is less than the transmission rate of the uplink data corresponding to the second priority, and the aggregation strength of the uplink data corresponding to the third priority is greater than the aggregation strength of the uplink data corresponding to the second priority.

[0087] As another implementation of this application, in order to further reduce data overhead, The compression module 502 described above can also be used to compress the protocol stack data of each first priority and its packet sequence number to obtain compressed protocol stack data. The aforementioned sending module 504 can also be used to send compressed protocol stack data to a cloud server.

[0088] In some embodiments, the sending module 504 described above can be used to carry its fallback message in the compressed protocol stack data and send it to the cloud server.

[0089] As another implementation of this application, in order to dynamically select the aggregation intensity and adapt to different uplink traffic scenarios, the target aggregation window value may include a first aggregation window value, a second aggregation window value, and a third aggregation window value, and the device 500 may further include: The third acquisition module is used to acquire the uplink packet rate of the user terminal; The aforementioned aggregation module 503 may specifically include: The first aggregation unit is used to aggregate multiple compressed target protocol stack data according to the first aggregation window value to obtain compressed aggregated protocol stack data when the uplink packet rate is greater than the preset first rate threshold. The second aggregation unit is used to aggregate multiple compressed target protocol stack data according to the second aggregation window value when the uplink packet rate is less than or equal to the first rate threshold and greater than or equal to the preset second rate threshold, to obtain compressed aggregated protocol stack data. The second rate threshold is less than the first rate threshold and the second aggregation window value is greater than the first aggregation window value. The third aggregation unit is used to aggregate multiple compressed target protocol stack data according to the third aggregation window value when the uplink packet rate is less than the second rate threshold, so as to obtain compressed aggregated protocol stack data. The third aggregation window value is greater than the second aggregation window value.

[0090] In some embodiments, the sending module 504 can be specifically used to send compressed aggregation protocol stack data to the cloud server with a delay according to a preset time period.

[0091] Figure 6 A schematic diagram of the hardware structure of the electronic device provided in an embodiment of this application is shown.

[0092] An electronic device may include a processor 601 and a memory 602 storing computer program instructions.

[0093] Specifically, the processor 601 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0094] Memory 602 may include mass storage for data or instructions. For example, and not limitingly, memory 602 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 602 may include removable or non-removable (or fixed) media. Where appropriate, memory 602 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 602 is non-volatile solid-state memory.

[0095] In a particular embodiment, memory 602 may include read-only memory (ROM), random access memory (RAM), disk storage media device, optical storage media device, flash memory device, electrical, optical, or other physical / tangible memory storage device. Thus, generally, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to one aspect of this disclosure.

[0096] The processor 601 reads and executes computer program instructions stored in the memory 602 to implement any of the uplink data transmission methods in the above embodiments.

[0097] In one example, the electronic device may also include a communication interface 603 and a bus 610. For example, Figure 6 As shown, the processor 601, memory 602, and communication interface 603 are connected through bus 610 and complete communication with each other.

[0098] The communication interface 603 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0099] Bus 610 includes hardware, software, or both, that couples components of an electronic device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 610 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, this application contemplates any suitable bus or interconnect.

[0100] The electronic device can execute the uplink data transmission method in the embodiments of this application, thereby achieving a combination Figure 1 and Figure 5 The method and apparatus for transmitting uplink data are described.

[0101] Furthermore, in conjunction with the uplink data transmission methods in the above embodiments, this application embodiment can provide a computer-readable storage medium for implementation. This computer-readable storage medium stores computer program instructions; when executed by a processor, these computer program instructions implement any of the uplink data transmission methods in the above embodiments.

[0102] This application also provides a computer program product, including a computer program, which, when executed, implements any of the uplink data transmission methods described in the above embodiments.

[0103] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0104] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0105] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0106] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in 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, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0107] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A method for transmitting uplink data, characterized in that, Applied to a user terminal, the method includes: The uplink data to be sent from the user terminal to the cloud server is obtained, and the uplink data includes multiple protocol stack data; Based on the packet sequence number of each target protocol stack data, a number of consecutive target protocol stack data are compressed to obtain compressed target protocol stack data, wherein the target protocol stack data is the protocol stack data with the second priority among the multiple protocol stack data; The multiple compressed target protocol stack data are aggregated according to a preset target aggregation window value to obtain compressed aggregated protocol stack data. The compressed aggregation protocol stack data is sent to the cloud server.

2. The method according to claim 1, characterized in that, Before compressing a number of consecutive target protocol stack data according to the packet sequence number of each target protocol stack data to obtain compressed target protocol stack data, the method further includes: The uplink data is time-sensitively distinguished to determine the transmission priority of each data. The transmission priority includes a first priority and a second priority, where the first priority is higher than the second priority. The protocol stack data with the second priority among the plurality of protocol stack data is determined as the target protocol stack data.

3. The method according to claim 2, characterized in that, The uplink data also includes service data. The step of performing latency-sensitive differentiation on each piece of data in the uplink data and determining the transmission priority of each piece of data includes: Delay-sensitive distinctions are made for each of the service data and protocol stack data in the uplink data to determine the transmission priority of each of the service data and protocol stack data; The method further includes: The service data of each first priority is sent to the cloud server according to a preset weight order, wherein the weight order is associated with the service type of the service data; The service data of each second priority are sent to the cloud server at a preset sending rate.

4. The method according to claim 3, characterized in that, The method further includes: Obtain the downlink channel bandwidth of the user terminal; When the downlink channel bandwidth is less than or equal to a preset bandwidth threshold, the service data of the first priority are sent to the cloud server in a preset weighted order; the service data of the second priority are sent to the cloud server at a preset sending rate; the target number of consecutive target protocol stack data are compressed according to the packet sequence number of each target protocol stack data to obtain compressed target protocol stack data; the multiple compressed target protocol stack data are aggregated according to a preset target aggregation window value to obtain compressed aggregated protocol stack data; and the compressed aggregated protocol stack data is sent to the cloud server.

5. The method according to claim 4, characterized in that, The method further includes: If the downlink channel bandwidth is greater than the bandwidth threshold, the transmission rate of the uplink data corresponding to the second priority is reduced, and / or the aggregation intensity of the uplink data corresponding to the second priority is increased.

6. The method according to claim 5, characterized in that, The transmission priority also includes a third priority, which is lower than the second priority. The transmission rate of the uplink data corresponding to the third priority is less than the transmission rate of the uplink data corresponding to the second priority, and the aggregation strength of the uplink data corresponding to the third priority is greater than the aggregation strength of the uplink data corresponding to the second priority.

7. The method according to claim 2, characterized in that, The method further includes: Compress the protocol stack data and its packet sequence number for each of the first priority levels to obtain compressed protocol stack data; The compressed protocol stack data is sent to the cloud server.

8. The method according to claim 3, characterized in that, Sending the compressed protocol stack data to the cloud server includes: The rollback message is carried in the compressed protocol stack data and sent to the cloud server.

9. The method according to claim 1, characterized in that, The target aggregation window value includes a first aggregation window value, a second aggregation window value, and a third aggregation window value. Before aggregating the multiple compressed target protocol stack data according to the preset target aggregation window value to obtain compressed aggregated protocol stack data, the method further includes: Obtain the uplink packet rate of the user terminal; The step of aggregating the multiple compressed target protocol stack data according to a preset target aggregation window value to obtain compressed aggregated protocol stack data includes: When the uplink packet rate is greater than a preset first rate threshold, the multiple compressed target protocol stack data are aggregated according to the first aggregation window value to obtain compressed aggregated protocol stack data. When the uplink packet rate is less than or equal to the first rate threshold and greater than or equal to the preset second rate threshold, the multiple compressed target protocol stack data are aggregated according to the second aggregation window value to obtain compressed aggregated protocol stack data, wherein the second rate threshold is less than the first rate threshold and the second aggregation window value is greater than the first aggregation window value. When the uplink packet rate is less than the second rate threshold, the multiple compressed target protocol stack data are aggregated according to the third aggregation window value to obtain compressed aggregated protocol stack data, wherein the third aggregation window value is greater than the second aggregation window value.

10. The method according to claim 1, characterized in that, Sending the compressed aggregation protocol stack data to the cloud server includes: The compressed aggregation protocol stack data is sent to the cloud server with a delay according to a preset time period.

11. An uplink data transmission device, characterized in that, The device, applied to a user terminal, includes: The first acquisition module is used to acquire the uplink data to be sent from the user terminal to the cloud server, the uplink data including multiple protocol stack data; The compression module is used to compress a number of consecutive target protocol stack data according to the packet sequence number of each target protocol stack data to obtain compressed target protocol stack data, wherein the target protocol stack data is the protocol stack data with the second priority among the multiple protocol stack data; The aggregation module is used to aggregate the multiple compressed target protocol stack data according to a preset target aggregation window value to obtain compressed aggregated protocol stack data. The sending module is used to send the compressed aggregation protocol stack data to the cloud server.

12. An electronic device, characterized in that, The device includes: a processor and a memory storing computer program instructions; the processor, when executing the computer program instructions, implements the uplink data transmission method as described in any one of claims 1-10.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the uplink data transmission method as described in any one of claims 1-10.

14. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device causes the electronic device to perform the uplink data transmission method as described in any one of claims 1-10.

Citation Information

Patent Citations

  • Label data processing method, RFID middleware and storage medium

    CN121126438A

  • Communication system with priority data compression

    US7319667B1