Data transmission system, method and related devices
By identifying and compressing compressible data packets, and bypassing the TCP/IP protocol stack, efficient data transmission is achieved under conditions of limited Wi-Fi bandwidth, improving data packet transmission efficiency and CPU utilization.
Patent Information
- Application Number
- CN202010997417.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-21
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2040-09-21
AI Technical Summary
With limited Wi-Fi bandwidth resources, data transmission efficiency is low, failing to meet diverse business needs.
By identifying compressible data packets, a lossless compression algorithm is used to compress the data packets, and the compressed data packets are transmitted through private links and wireless networks, bypassing the TCP/IP protocol stack. The routing device is used to configure link rules for matching and decompression.
It improves the physical bandwidth utilization of wireless networks, reduces CPU consumption, reduces packet forwarding latency, improves data transmission efficiency, and provides more CPU computing power for other applications of IoT devices.
Smart Images

Figure CN114258077B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a data transmission system, method and related equipment. Background Technology
[0002] With the rapid development of technology, more and more smart devices (such as mobile phones, portable devices, and speakers) have entered homes. These smart devices in homes typically use mainstream access methods (such as Wi-Fi) to connect to routers to obtain network services.
[0003] However, with the increasing number of Wi-Fi access devices and the diversification of services (such as games, movies, social networking, etc.), competition for Wi-Fi bandwidth resources in the home has become very fierce, which has also led to relatively slow data transmission via Wi-Fi.
[0004] Therefore, improving data transmission efficiency under the condition of limited Wi-Fi bandwidth resources is a technical problem that urgently needs to be solved. Summary of the Invention
[0005] This application discloses a data transmission system, method, and related equipment, which can solve the technical problem in the prior art of how to improve data transmission efficiency when Wi-Fi bandwidth resources are limited.
[0006] The first aspect of this application discloses a data transmission system, which includes an electronic device, a routing device, and a server, wherein: the electronic device is configured to acquire uplink service data packets of a compressible application (APP) on a link; determine whether the uplink service data packet is a compressible data packet; if the uplink service data packet is a compressible data packet, transmit the five-tuple information of the link to the routing device via a private link; compress the uplink service data packet to obtain a first compressed data packet, and transmit the first compressed data packet to the routing device via a wireless network; the routing device is configured to configure link rules according to the five-tuple information; determine whether the link transmitting the first compressed data packet matches the link rules; if the first compressed data packet is compressed, the routing device is configured to... The data packet is matched with the link rule, and the first compressed data packet is decompressed to obtain an uplink service data packet; the uplink service data packet is transmitted to the server; the server is used to receive the uplink service data packet transmitted by the routing device; the server is also used to transmit downlink service data packets to the routing device; the routing device is also used to determine whether the link transmitting the downlink service data packet matches the link rule; if the downlink service data packet matches the link rule, the downlink service data packet is compressed to obtain a second compressed data packet; the second compressed data packet is transmitted to the electronic device through the wireless network; the electronic device is also used to decompress the second compressed data packet to obtain a downlink service data packet.
[0007] In this application, uplink and downlink data packets are transmitted between electronic devices, routing devices, and servers. Compressed data packets are transmitted between electronic devices and routing devices via a wireless network, and the link's five-tuple information is transmitted via a private link. This communication method bypasses the heavy TCP / IP protocol stack, reduces CPU consumption, and provides more CPU computing power to other applications of IoT devices, resulting in smoother processing and response. It also reduces data packet forwarding latency and inter-IoT device forwarding latency, providing users with a high-speed connection experience. Furthermore, the transmission of compressed data packets improves the utilization of Wi-Fi physical bandwidth, saves TCP / IP protocol stack headers, provides more physical bandwidth to upper-layer applications, and also improves data packet transmission efficiency.
[0008] A second aspect of this application discloses a data transmission method applied to an electronic device. The data transmission method includes: acquiring uplink service data packets of a compressible application (APP) on a link; determining whether the uplink service data packets are compressible data packets; if the uplink service data packets are compressible data packets, transmitting the five-tuple information of the link to a routing device through a private link; compressing the uplink service data packets to obtain a first compressed data packet, and transmitting the first compressed data packet to the routing device through a wireless network.
[0009] In this application, after the electronic device identifies the uplink service data packet as a compressible data packet, it compresses the uplink service data packet and transmits the compressed first compressed data packet to the routing device via the wireless network. This improves the physical bandwidth utilization of the wireless network, saves TCP / IP protocol stack headers, provides more physical bandwidth for upper-layer applications, and also improves data packet transmission efficiency. Furthermore, the communication method between the electronic device and the routing device, which transmits compressed data packets via the wireless network and transmits the link's five-tuple information via a private link, bypasses the cumbersome TCP / IP protocol stack, reduces CPU consumption, and provides more CPU computing power for other applications of the IoT device.
[0010] In some optional implementations, determining whether the uplink service data packet is a compressible data packet includes: parsing the uplink service data packet to obtain the connection establishment request field carried by the uplink service data packet; determining whether the service type of the uplink service data packet is a compressible service type based on the connection establishment request field; and determining that the uplink service data packet is a compressible data packet if the service type of the uplink service data packet is a compressible service type.
[0011] In some optional implementations, the uplink service data packet includes multiple compressed probe packets, and determining whether the uplink service data packet is a compressible data packet includes: for each compressed probe packet, obtaining a first length of the compressed probe packet; calculating a second length of the compressed probe packet; determining whether the second length satisfies the requirements of a first evaluation formula based on the first length; if the second length satisfies the requirements of the first evaluation formula, counting a first number of the multiple compressed probe packets and a second number of compressed probe packets that satisfy the requirements of the first evaluation formula; determining whether the second number satisfies the requirements of a second evaluation formula based on the first number; and if the second number satisfies the requirements of the second evaluation formula, determining that the uplink service data packet is a compressible data packet.
[0012] In some optional embodiments, the first evaluation formula is: compLen < orgLen * 1 / T, where T is a compression evaluation coefficient, T >= 2, orgLen is the first length, and compLen is the second length; the second evaluation formula is: N / M > Threshold, where M is the first quantity, N is the second quantity, and Threshold is an evaluation threshold value.
[0013] In some optional embodiments, the data transmission method further includes: receiving a second compressed data packet transmitted by the routing device through the wireless network; decompressing the second compressed data packet to obtain a downlink service data packet.
[0014] A third aspect of this application discloses a data transmission method, which is applied to a routing device. The data transmission method includes: receiving five-tuple information transmitted by an electronic device through a private link and a first compressed data packet transmitted through a wireless network; configuring a link rule according to the five-tuple information; determining whether the link for transmitting the first compressed data packet matches the link rule; if the first compressed data packet matches the link rule, decompressing the first compressed data packet to obtain an uplink service data packet; and transmitting the uplink service data packet to a server.
[0015] In this application, the routing device can configure a link rule according to the received five-tuple information, and determine whether the received data packet is a compressible data packet according to the link rule. If so, it performs decompression processing and transmits the decompressed data packet to the server. In addition, the routing device can also determine whether the data packet received from the server is a compressible data packet according to the link rule and perform corresponding processing. The communication method of the entire process bypasses the heavy TCP / IP protocol stack, reduces CPU consumption, provides more CPU computing power for other applications of the IOT device. At the same time, by compressing the data packet, it can improve the physical bandwidth utilization rate of the wireless network, save the TCP / IP protocol stack packet header, provide more physical bandwidth for the upper-layer application, and also improve the transmission efficiency of the data packet.
[0016] In some optional embodiments, the data transmission method further includes: receiving a downlink service data packet sent by the server; determining whether the link for transmitting the downlink service data packet matches the link rule; if the downlink service data packet matches the link rule, compressing the downlink service data packet to obtain a second compressed data packet; and transmitting the second compressed data packet to the electronic device through the wireless network.
[0017] A fourth aspect of this application discloses an electronic device, including a processor and a memory; the memory is used to store instructions; the processor is used to invoke the instructions in the memory, causing the electronic device to execute the data transmission method.
[0018] A fifth aspect of this application discloses a routing device, including a processor and a memory; the memory is used to store instructions; the processor is used to invoke the instructions in the memory, causing the routing device to execute the data transmission method.
[0019] The sixth aspect of this application discloses a computer-readable storage medium storing at least one instruction, wherein the at least one instruction is executed by a processor to perform the data transmission method, or the at least one instruction is executed by a processor to perform the data transmission method. Attached Figure Description
[0020] Figure 1 This is a schematic diagram of the framework of a data transmission system disclosed in an embodiment of this application.
[0021] Figure 2 This is a flowchart illustrating a data transmission method disclosed in an embodiment of this application.
[0022] Figure 3 This is a flowchart illustrating another data transmission method disclosed in an embodiment of this application.
[0023] Figure 4 This is a flowchart illustrating another data transmission method disclosed in an embodiment of this application.
[0024] Figure 5 This is a schematic diagram of the structure of an electronic device disclosed in an embodiment of this application.
[0025] Figure 6 This is a schematic diagram of the structure of a routing device disclosed in an embodiment of this application. Detailed Implementation
[0026] The embodiments of this application are described below with reference to the accompanying drawings.
[0027] To better understand the data transmission system, method, and related equipment disclosed in the embodiments of this application, the network architecture applicable to the embodiments of this application will be described first below.
[0028] Please see Figure 1 , Figure 1 This is a schematic diagram of the framework of a data transmission system disclosed in an embodiment of this application. Figure 1 As shown, the data transmission system includes electronic devices, routing devices, and servers, wherein:
[0029] The electronic device includes multiple applications (APPs), a VPN (Virtual Private Network) module, and an acceleration module. APPs include, for example, APP1, APP2, APP3, APP4, and APP5. The electronic device can intercept data packets sent by these APPs through the VPN module. The acceleration module may include a compressible service identification submodule, a compression / decompression submodule, and a private client. The compressible service identification submodule is used to identify which data packets intercepted by the VPN are compressible and which are incompressible. Once the compressible service identification submodule identifies compressible data packets, the compression / decompression submodule can then perform compression / decompression processing on these data packets.
[0030] The routing device includes an acceleration module, a link rule module, and a kernel TCP / IP (Transmission Control Protocol / Internet Protocol) protocol stack forwarding processing module. The acceleration module may include a private server and a compression / decompression submodule. A private client on the electronic device and a private server on the routing device can form a private link. This private link is used to transmit the five-tuple information of the data packet link (i.e., source IP address, destination IP address, protocol number, source port, and destination port). This five-tuple information indicates that the data packets on the link are compressed. The link rule module is used to configure link rules based on the five-tuple information, matching them with the links transmitting data packets. When the link transmitting data packets does not match the link rules, no further compression / decompression processing is performed; the packets are directly forwarded through the kernel TCP / IP protocol stack forwarding processing module in the normal manner.
[0031] Routing devices can transmit data packets to servers via broadband or 4G / 5G mobile communication networks.
[0032] based on Figure 1 The data transmission system shown in this application, wherein the electronic device is used to acquire uplink service data packets of a compressible application (APP) on a link; determine whether the uplink service data packet is a compressible data packet; if the uplink service data packet is a compressible data packet, transmit the five-tuple information of the link to the routing device through a private link; compress the uplink service data packet to obtain a first compressed data packet, and transmit the first compressed data packet to the routing device through a wireless network;
[0033] The routing device is configured to: configure link rules based on the five-tuple information; determine whether the link transmitting the first compressed data packet matches the link rules; if the first compressed data packet matches the link rules, decompress the first compressed data packet to obtain an uplink service data packet; and transmit the uplink service data packet to the server.
[0034] The server is used to receive the uplink service data packets transmitted by the routing device;
[0035] The server is also used to transmit downlink service data packets to the routing device;
[0036] The routing device is further configured to determine whether the link transmitting the downlink service data packet matches the link rule; if the downlink service data packet matches the link rule, the downlink service data packet is compressed to obtain a second compressed data packet; the second compressed data packet is transmitted to the electronic device through the wireless network;
[0037] The electronic device is also used to decompress the second compressed data packet to obtain a downlink service data packet.
[0038] In this application, uplink and downlink transmission of data packets are performed between electronic devices, routing devices, and servers. Data transmission of data packets from electronic devices through routing devices to servers is called uplink transmission, and data transmission of data packets from servers through routing devices to electronic devices is called downlink transmission.
[0039] Electronic devices and routing devices transmit compressed data packets via wireless networks (such as Wi-Fi) and link 5-tuple information via private links. This communication method bypasses the heavy TCP / IP protocol stack, reducing the consumption of the central processing unit (CPU) and providing more CPU computing power to other applications of IoT (Internet of Things) devices. This results in smoother processing response, reduced packet forwarding latency, and reduced forwarding latency between IoT devices, providing users with a high-speed connection experience. Furthermore, the transmission of compressed data packets improves the physical bandwidth utilization of the wireless network, saves TCP / IP protocol stack headers, provides more physical bandwidth to upper-layer applications, and also improves data packet transmission efficiency.
[0040] based on Figure 1 The data transmission system is illustrated in the following schematic diagram. The data transmission method involved in the embodiments of this application is described below.
[0041] Please see Figure 2 , Figure 2This is a flowchart illustrating a data transmission method disclosed in an embodiment of this application. Figure 2 The data transmission method shown is applied as described above. Figure 1 In the electronic device shown, the method includes the following steps:
[0042] S21. The electronic device acquires the uplink service data packets of the compressible application (APP) on the link.
[0043] In this application, an electronic device can intercept uplink data packets of a compressible application (APP) on a link via a built-in VPN (Virtual Private Network). The compressible application (APP) is an application that can be compressed, and the uplink data packets are data packets transmitted from the electronic device to the server.
[0044] Among them, the Android system comes with a VPN service, which can be configured by setting a whitelist for specific compressible APK (Android application package) names, and can proxy the data packets of the corresponding application.
[0045] In this application, it is possible to pre-configure which apps are compressible on the VPN. Some data packets from these configured compressible apps are compressible, while others are not. For example, encryption / decryption data packets are not compressible, while image data packets are. Data packets generated by compressible apps configured on the VPN can be intercepted by the VPN, while data packets generated by apps not configured on the VPN are transmitted via normal paths, such as through a wireless network (WiFi).
[0046] S22. The electronic device determines whether the uplink service data packet is a compressible data packet. If yes, proceed to step S23; otherwise, proceed to step S27.
[0047] In this application, the electronic device is equipped with a compressible service identification module. After the VPN intercepts the uplink service data packets, the compressible service identification module can be used to identify which data packets in the uplink service data packets are compressible and which are incompressible.
[0048] Specifically, there are several ways to determine whether the uplink service data packet is a compressible data packet. The first is to identify it by the fields carried in the data packet, and the second is to identify it by the set evaluation formula.
[0049] In some optional implementations, determining whether the uplink service data packet is a compressible data packet includes:
[0050] Parse the uplink service data packet to obtain the connection establishment request field carried by the uplink service data packet;
[0051] Based on the connection establishment request field, determine whether the service type of the uplink service data packet is a compressible service type;
[0052] If the service type of the uplink service data packet is a compressible service type, then the uplink service data packet is determined to be a compressible data packet.
[0053] For standard protocols such as HTTP, the connection establishment request field carried by the uplink service data packet can be obtained by parsing the uplink service data packet. This connection establishment request field defines whether the service type corresponding to the uplink service data packet is a compressible service type. The service type can include, but is not limited to, web page requests, file download requests, etc. For example, taking a GET request field as an example, the GET request message format is as follows:
[0054] GET
[0055] / 16891 / apk / 63E9F5D4732CB5FAEF30137136841713.apk? &fsname=com.ss.android.ugc.aweme_11.5.0_110501.apk HTTP / 1.1\r\n.
[0056] The GET request field can be used to obtain the requested content, such as .apk, .mp4, .docx, .txt, etc., and the service type of the data packet can be determined based on these formats.
[0057] In some optional implementations, the uplink service data packet includes multiple compression probe packets, and determining whether the uplink service data packet is a compressible data packet includes:
[0058] For each of the compression probe packets, obtain the first length of the compression probe packet;
[0059] Calculate the second length of the compressed probe packet after compression;
[0060] Based on the first length, determine whether the second length meets the requirements of the first evaluation formula;
[0061] If the second length satisfies the requirements of the first evaluation formula, count the first number of the multiple compression test packets and the second number of the compression test packets that satisfy the requirements of the first evaluation formula;
[0062] Based on the first quantity, determine whether the second quantity meets the requirements of the second evaluation formula;
[0063] If the second quantity meets the requirements of the second evaluation formula, the uplink service data packet is determined to be a compressible data packet.
[0064] The first evaluation formula is:
[0065] compLen <orgLen*1 / T
[0066] Where T is the compression evaluation coefficient, T>=2, orgLen is the first length, and compLen is the second length;
[0067] The second evaluation formula is:
[0068] N / M>Threshold
[0069] Where M is the first quantity, N is the second quantity, and Threshold is the evaluation threshold.
[0070] In this optional implementation, a "compressibility evaluation" needs to be performed on the uplink service data packets. The uplink service data packets include multiple compression probe packets. For each compression probe packet, a first length can be obtained, which is the length of the compression probe packet itself before compression. Further, a second length of the compressed compression probe packet can be calculated based on a compression technique (such as the lossless compression algorithm LZ4). Finally, the first length and the second length are substituted into a first evaluation formula, and it is determined whether the inequality requirements of the first evaluation formula are satisfied. If the inequality requirements of the first evaluation formula are satisfied, it indicates that the compression probe packet conforms to the compression standard.
[0071] Furthermore, since the uplink service data packet includes multiple compression probe packets, the fact that one compression probe packet meets the compression standard does not mean that other compression probe packets also meet the standard, nor does it mean that the uplink service data packet is compressible. Therefore, it is necessary to further count the second number of compression probe packets that meet the requirements of the first evaluation formula, and calculate, according to the second evaluation formula, whether the ratio of this second number to the first number of the multiple compression probe packets is greater than the evaluation threshold. If it is greater, it indicates that a large number of compression probe packets in the uplink service data packet meet the compression standard, and further indicates that the uplink service data packet is a compressible data packet.
[0072] The compression evaluation coefficient T and the evaluation threshold Threshold were both obtained in advance based on multiple experiments.
[0073] S23. The electronic device transmits the five-tuple information of the link to the routing device through a private link.
[0074] The 5-tuple information includes the source IP address, destination IP address, protocol number, source port, and destination port of the link. This 5-tuple information is used to identify that the uplink service data packets on this link are compressible data packets.
[0075] Specifically, the electronic device transmits the five-tuple information of the link to the private server on the routing device through a private client on the electronic device.
[0076] S24. The electronic device compresses the uplink service data packet to obtain a first compressed data packet, and transmits the first compressed data packet to the routing device through the wireless network.
[0077] In this application, the compression technology used can be the lossless compression algorithm LZ4. The wireless network can include, but is not limited to, Wireless Wide Area Network (WWAN), Wireless Local Area Network (WLAN), Wireless Metropolitan Area Network (WMAN), and Wireless Personal Area Network (WPAN).
[0078] S25. The electronic device receives the second compressed data packet transmitted by the routing device through the wireless network.
[0079] In this application, the electronic device and the server can also transmit data packets downlink through a routing device. The second compressed data packet is the downlink data packet that the server transmits to the electronic device through the routing device.
[0080] S26. The electronic device decompresses the second compressed data packet to obtain the downlink service data packet and ends the process.
[0081] S27. The electronic device sends the uplink service data packet to the routing device.
[0082] In this application, if the electronic device determines that the uplink service data packet is not a compressible data packet, it can process it in a conventional way without compressing the uplink service data packet, that is, directly send the uplink service data packet to the routing device through the wireless network.
[0083] exist Figure 2In the described method, after the electronic device identifies the uplink service data packet as a compressible data packet, it compresses the uplink service data packet and transmits the compressed first compressed data packet to the routing device via the wireless network. This improves the physical bandwidth utilization of the wireless network, saves TCP / IP protocol stack headers, provides more physical bandwidth for upper-layer applications, and also improves data packet transmission efficiency. Furthermore, the communication method between the electronic device and the routing device, which transmits compressed data packets via the wireless network and transmits the link's five-tuple information via a private link, bypasses the cumbersome TCP / IP protocol stack, reduces CPU consumption, and provides more CPU computing power for other applications of the IoT device.
[0084] Please see Figure 3 , Figure 3 This is a flowchart illustrating another data transmission method disclosed in an embodiment of this application. Figure 3 The data transmission method shown is applied as described above. Figure 1 In the routing device shown, the method includes the following steps:
[0085] S31. The routing device receives the five-tuple information transmitted by the electronic device through the private link and the first compressed data packet transmitted through the wireless network.
[0086] The electronic device is equipped with a private client, and the routing device is equipped with a private server. The private client and the private server form a private link. The link's five-tuple information can be transmitted through the private link. The five-tuple information is used to identify that the data packets on the link are compressible data packets.
[0087] The first compressed data packet is the data packet compressed by the electronic device.
[0088] S32. The routing device configures link rules based on the five-tuple information.
[0089] In this application, after receiving the 5-tuple information, the routing device saves the 5-tuple information and then configures the 5-tuple information into the link rules.
[0090] The link rule can be an iptables rule. This link rule is mainly used to check the link through which data packets are transmitted. If the link rule is met, the packet is matched and subsequent compression / decompression processing is allowed. Conversely, if the link rule is not met, the packet is not matched and subsequent compression / decompression processing is rejected.
[0091] S33. The routing device determines whether the link transmitting the first compressed data packet matches the link rule. If yes, proceed to step S34; otherwise, no processing is performed.
[0092] In this application, if the routing device determines that the link transmitting the first compressed data packet matches the link rule, it indicates that the link carrying the first compressed data packet conforms to the link rule, and the link rule allows the first compressed data packet to pass so as to execute the subsequent decompression process. Conversely, if the routing device determines that the link transmitting the first compressed data packet does not match the link rule, it indicates that the link carrying the first compressed data packet does not conform to the link rule, and the link rule does not allow the first compressed data packet to pass.
[0093] Optionally, when the routing device determines that the link transmitting the first compressed data packet does not match the link rules, the routing device can also forward the first compressed data packet in a normal manner, such as forwarding it through the kernel protocol stack.
[0094] S34. The routing device decompresses the first compressed data packet to obtain the uplink service data packet.
[0095] The decompression technology used in this application can be referred to in the relevant description above, and will not be repeated here.
[0096] S35. The routing device transmits the uplink service data packet to the server.
[0097] The routing device can transmit the uplink service data packets to the server via broadband or 4G / 5G mobile communication networks.
[0098] S36. The routing device receives the downlink service data packets sent by the server.
[0099] In this application, the server can also send downlink service data packets to be transmitted to electronic devices to the routing device. These downlink service data packets can be compressed or uncompressed.
[0100] S37. The routing device determines whether the link transmitting the downlink service data packet matches the link rule. If yes, proceed to step S38; otherwise, no processing is performed.
[0101] Specifically, if the routing device determines that the link transmitting the downlink service data packet matches the link rule, it indicates that the downlink service data packet is a compressed data packet; conversely, if the routing device determines that the link transmitting the downlink service data packet does not match the link rule, it indicates that the downlink service data packet is not a compressed data packet.
[0102] Optionally, when the routing device determines that the link transmitting the downlink service data packet does not match the link rules, the routing device can also forward the first compressed data packet in a normal manner, such as forwarding it through the kernel protocol stack.
[0103] S38. The routing device compresses the downlink service data packets to obtain a second compressed data packet.
[0104] S39. The routing device transmits the second compressed data packet to the electronic device through the wireless network and ends the process.
[0105] exist Figure 3 In the described method, the routing device can configure link rules based on the received 5-tuple information and determine whether the received data packet is compressible according to the link rules. If so, it performs decompression processing and transmits the decompressed data packet to the server. Additionally, the routing device can also determine whether the data packet received from the server is compressible according to the link rules and process it accordingly. This communication method bypasses the heavy TCP / IP protocol stack, reduces CPU consumption, and provides more CPU computing power to other applications of the IoT device. Simultaneously, by compressing data packets, it improves the physical bandwidth utilization of the wireless network, saves TCP / IP protocol stack headers, provides more physical bandwidth to upper-layer applications, and also improves data packet transmission efficiency.
[0106] Please see Figure 4 , Figure 4 This is a flowchart illustrating another data transmission method disclosed in an embodiment of this application. Figure 4 The data transmission method shown is applied as described above. Figure 1 In the illustrated electronic device, routing device, and server, the method includes the following steps:
[0107] S41. The electronic device acquires the uplink service data packets of the compressible application (APP) on the link.
[0108] S42. The electronic device determines whether the uplink service data packet is a compressible data packet.
[0109] S43. If the uplink service data packet is a compressible data packet, the electronic device will transmit the link's five-tuple information to the routing device through a private link.
[0110] S44. The electronic device compresses the upstream service data packet to obtain the first compressed data packet.
[0111] S45. The electronic device transmits the first compressed data packet to the routing device via the wireless network.
[0112] S46. The routing device configures link rules based on the five-tuple information.
[0113] S47. The routing device determines whether the link transmitting the first compressed data packet matches the link rules.
[0114] S48. If the link transmitting the first compressed data packet matches the link rules, the routing device decompresses the first compressed data packet to obtain the uplink service data packet.
[0115] S49. The routing device transmits the upstream service data packets to the server.
[0116] S410, The server transmits downlink service data packets to the routing device.
[0117] S411. The routing device determines whether the link transmitting downlink service data packets matches the link rules.
[0118] S412. If the link transmitting the downlink service data packet matches the link rules, the routing device compresses the downlink service data packet to obtain a second compressed data packet.
[0119] S413, The routing device transmits the second compressed data packet to the electronic device via the wireless network.
[0120] S414. The electronic device decompresses the second compressed data packet to obtain the downlink service data packet.
[0121] exist Figure 4 In the described process flow, uplink and downlink data packets are transmitted between electronic devices, routing devices, and servers. Compressed data packets are transmitted between electronic devices and routing devices via a wireless network, and the link's five-tuple information is transmitted via a private link. This communication method bypasses the heavy TCP / IP protocol stack, reducing CPU consumption and providing more CPU computing power to other applications on IoT devices, resulting in smoother processing and response. It also reduces data packet forwarding latency and inter-IoT device forwarding latency, providing users with a high-speed connection experience. Furthermore, the transmission of compressed data packets improves the physical bandwidth utilization of the wireless network, saves TCP / IP protocol stack headers, provides more physical bandwidth to upper-layer applications, and also improves data packet transmission efficiency.
[0122] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. For those skilled in the art, improvements can be made without departing from the inventive concept of this application, but these all fall within the scope of protection of this application.
[0123] Please see Figure 5 , Figure 5 This is a schematic diagram of the structure of an electronic device disclosed in an embodiment of this application. For example... Figure 5As shown, the electronic device may include components such as: a radio frequency (RF) circuit 501, a memory 502, an input unit 503, a display unit 504, a sensor 505, an audio circuit 506, a wireless fidelity (Wi-Fi) module 507, a processor 508, and a power supply 509. Those skilled in the art will understand that... Figure 5 The structure of the electronic device shown does not constitute a limitation on the mobile phone and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0124] RF circuit 501 can be used to send and receive information or, during a call, to receive and transmit signals. Specifically, after receiving downlink information from the base station, it forwards it to processor 508 for processing; additionally, it transmits uplink data to the base station. Typically, RF circuit 501 includes, but is not limited to: an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, etc.
[0125] The memory 502 can be used to store software programs and modules. The processor 508 executes various functional applications and data processing of the electronic device by running the software programs and modules stored in the memory 502. The memory 502 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device (such as audio data, telephone directory, etc.). In addition, the memory 502 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0126] Input unit 503 can be used to receive input digital or character information, and to generate key signal inputs related to user settings and function control of electronic devices. Specifically, input unit 503 may include touch panel 5031 and other input devices 5032. Touch panel 5031, also known as touch screen, can collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near touch panel 5031), and drive corresponding connected devices according to a pre-set program. Optionally, touch panel 5031 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, sends it to processor 508, and receives and executes commands from processor 508. In addition, touch panel 5031 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 5031, the input unit 503 may also include other input devices 5032. Specifically, other input devices 5032 may include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control buttons, power buttons, etc.), trackball, mouse, joystick, etc.
[0127] Display unit 504 can be used to display information input by the user or information provided to the user, as well as various menus of the electronic device. Display unit 504 may include display panel 5041, optionally configured as a Liquid Crystal Display (LCD), Organic Light-Emitting Diode (OLED), or similar display panel 5041. Further, touch panel 5031 may cover display panel 5041. When touch panel 5031 detects a touch operation on or near it, it transmits the information to processor 508 to determine the type of touch event. Subsequently, processor 508 provides corresponding visual output on display panel 5041 based on the type of touch event. Although in Figure 5 In this embodiment, the touch panel 5031 and the display panel 5041 are two separate components to realize the input and output functions of the electronic device. However, in some embodiments, the touch panel 5031 and the display panel 5041 can be integrated to realize the input and output functions of the electronic device.
[0128] The electronic device may also include at least one sensor 505, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor can adjust the brightness of the display panel 5041 according to the ambient light level, and the proximity sensor can turn off the display panel 5041 and / or backlight when the electronic device is moved to the ear. As a type of motion sensor, an accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that identify the posture of the electronic device (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometers, taps), etc. In addition, the electronic device may also be equipped with other sensors such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors, which will not be described in detail here.
[0129] Audio circuit 506, speaker 5061, and microphone 5062 provide an audio interface between the user and electronic devices. Audio circuit 506 converts received audio data into electrical signals and transmits them to speaker 5061, where speaker 5061 converts them into sound signals for output. On the other hand, microphone 5062 converts collected sound signals into electrical signals, which are received by audio circuit 506, converted into audio data, and then processed by processor 508 before being sent to another electronic device via RF circuit 501, or the audio data can be output to memory 502 for further processing.
[0130] Wi-Fi is a short-range wireless transmission technology. Electronic devices using the Wi-Fi module 507 can help users send and receive emails, browse web pages, and access streaming media, providing users with wireless broadband internet access. Although Figure 5 Wi-Fi module 507 is shown, but it is understood that it is not an essential component of the electronic device and can be omitted as needed without changing the nature of the invention.
[0131] Processor 508 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in memory 502, and by calling data stored in memory 502, it performs various functions and processes data, thereby providing overall monitoring of the electronic device. Optionally, processor 508 may include one or more processing units; preferably, processor 508 may integrate an application processor and a modem, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem mainly handles wireless communication. It is understood that the aforementioned modem processor may not be integrated into processor 508.
[0132] The electronic device also includes a power supply 509 (such as a battery) that supplies power to various components. Optionally, the power supply can be logically connected to the processor 508 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system.
[0133] Although not shown, electronic devices may also include cameras, Bluetooth modules, etc., which will not be described in detail here.
[0134] Figure 5 The electronic equipment described herein can be used to implement this application. Figure 2 or Figure 4 For some or all of the processes described in the method embodiments, please refer to the foregoing. Figure 2 or Figure 4 The relevant descriptions in the embodiments will not be repeated here.
[0135] Please see Figure 6 , Figure 6 This is a schematic diagram of the structure of a routing device disclosed in an embodiment of this application. Figure 6 As shown, the routing device 6 includes: a memory 61, at least one processor 62, a computer program 63 stored in the memory 61 and running on the at least one processor 62, and a communication interface 64. The memory 61, the processor 62, and the communication interface 64 communicate via a communication bus, which can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, Figure 6 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0136] Those skilled in the art will understand that Figure 6 The schematic diagram shown is merely an example of routing device 6 and does not constitute a limitation on routing device 6. It may include more or fewer components than shown, or combine certain components, or different components. For example, routing device 6 may also include input / output devices, network access devices, etc.
[0137] The at least one processor 62 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 62 may be a microprocessor or any conventional processor. The processor 62 is the control center of the routing device 6, connecting various parts of the routing device 6 via various interfaces and lines.
[0138] The memory 61 can be used to store the computer program 63 and / or modules / units. The processor 62 implements various functions of the routing device 6 by running or executing the computer program 63 and / or modules / units stored in the memory 61 and by calling data stored in the memory 61. The memory 61 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the routing device 6 (such as audio data), etc. In addition, the memory 61 may include non-volatile and volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other storage devices.
[0139] Figure 6 The routing device described herein can be used to implement this application. Figure 3 or Figure 4 For some or all of the processes described in the method embodiments, please refer to the foregoing. Figure 3 or Figure 4 The relevant descriptions in the embodiments will not be repeated here.
[0140] This application also provides a computer-readable storage medium storing instructions that, when executed on a processor, implement... Figure 2 or Figure 3 The method flow is shown.
[0141] This application also provides a computer program product that, when run on a processor, implements... Figure 2 or Figure 3 The method flow is shown.
[0142] The steps of the methods or algorithms described in conjunction with the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in an electronic device. Of course, the processor and storage medium can also exist as discrete components in an electronic device.
[0143] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
Claims
1. A data transmission system, characterized in that, The data transmission system includes electronic devices, routing devices, and servers, wherein: The electronic device is used to acquire uplink service data packets of compressible applications on the link; determine whether the uplink service data packets are compressible data packets; if the uplink service data packets are compressible data packets, transmit the five-tuple information of the link to the routing device through a private link; compress the uplink service data packets to obtain a first compressed data packet, and transmit the first compressed data packet to the routing device through a wireless local area network; The routing device is configured to: configure link rules based on the five-tuple information; determine whether the link transmitting the first compressed data packet matches the link rules; if the first compressed data packet matches the link rules, decompress the first compressed data packet to obtain an uplink service data packet; and transmit the uplink service data packet to the server; wherein, the routing device determines whether to perform compression or decompression processing on the received data packet based on the link rules, and the routing device is configured with two data packet forwarding methods corresponding to the determination result, the two data packet forwarding methods including forwarding data through the wireless local area network and forwarding data through the TCP / IP protocol stack; The server is used to receive the uplink service data packets transmitted by the routing device; The server is also used to transmit downlink service data packets to the routing device; The routing device is further configured to determine whether the link transmitting the downlink service data packet matches the link rule; if the downlink service data packet matches the link rule, the downlink service data packet is compressed to obtain a second compressed data packet; the second compressed data packet is transmitted to the electronic device through the wireless local area network. The electronic device is also used to decompress the second compressed data packet to obtain the downlink service data packet.
2. A data transmission method applied to electronic devices, characterized in that, The data transmission method includes: Retrieve uplink service data packets from compressible applications on the link; Determine whether the uplink service data packet is a compressible data packet; If the uplink service data packet is a compressible data packet, the five-tuple information of the link is transmitted to the routing device through a private link. The five-tuple information is used to indicate that the data packet on the link is a compressible data packet, so that the routing device configures link rules based on the five-tuple information to determine whether to perform compression or decompression processing on the received data packet. The uplink service data packets are compressed to obtain a first compressed data packet, and the first compressed data packet is transmitted to the routing device through a wireless local area network.
3. The data transmission method according to claim 2, characterized in that, The step of determining whether the uplink service data packet is a compressible data packet includes: Parse the uplink service data packet to obtain the connection establishment request field carried by the uplink service data packet; Based on the connection establishment request field, determine whether the service type of the uplink service data packet is a compressible service type; If the service type of the uplink service data packet is a compressible service type, then the uplink service data packet is determined to be a compressible data packet.
4. The data transmission method according to claim 2, characterized in that, in, The uplink service data packet includes multiple compression probe packets, and determining whether the uplink service data packet is a compressible data packet includes: For each of the compression probe packets, obtain the first length of the compression probe packet; Calculate the second length of the compressed probe packet after compression; Based on the first length, determine whether the second length meets the requirements of the first evaluation formula; If the second length satisfies the requirements of the first evaluation formula, count the first number of the plurality of compression test packets and the second number of compression test packets that satisfy the requirements of the first evaluation formula; Based on the first quantity, determine whether the second quantity meets the requirements of the second evaluation formula; If the second quantity meets the requirements of the second evaluation formula, the uplink service data packet is determined to be a compressible data packet.
5. The data transmission method according to claim 4, characterized in that, The first evaluation formula is: compLen < orgLen × 1 / T Where T is the compression evaluation coefficient, T>= 2, orgLen is the first length, and compLen is the second length; The second evaluation formula is: N / M > Threshold Where M is the first quantity, N is the second quantity, and Threshold is the evaluation threshold.
6. The data transmission method according to claim 2, characterized in that, The data transmission method further includes: Receive the second compressed data packet transmitted by the routing device through the wireless local area network; The second compressed data packet is decompressed to obtain the downlink service data packet.
7. A data transmission method applied to a routing device, characterized in that, The data transmission method includes: Receives five-tuple information transmitted by electronic devices via a private link and a first compressed data packet transmitted via a wireless local area network; Configure link rules based on the aforementioned 5-tuple information; Determine whether the link transmitting the first compressed data packet matches the link rules; If the first compressed data packet matches the link rule, the first compressed data packet is decompressed to obtain an uplink service data packet; wherein, the routing device determines whether to perform compression or decompression processing on the received data packet according to the link rule, and the routing device is configured with two data packet forwarding methods corresponding to the determination result, the two data packet forwarding methods include forwarding data through the wireless local area network and forwarding data through the TCP / IP protocol stack; The upstream service data packet is transmitted to the server.
8. The data transmission method according to claim 7, characterized in that, The data transmission method further includes: Receive downlink service data packets sent by the server; Determine whether the link transmitting the downlink service data packets matches the link rules; If the downlink service data packet matches the link rule, the downlink service data packet is compressed to obtain a second compressed data packet; The second compressed data packet is transmitted to the electronic device via the wireless local area network.
9. An electronic device, characterized in that, It includes a processor and a memory; the memory is used to store instructions; the processor is used to invoke the instructions in the memory, causing the electronic device to perform the data transmission method as described in any one of claims 2 to 6.
10. A routing device, characterized in that, It includes a processor and a memory; the memory is used to store instructions; the processor is used to invoke the instructions in the memory, causing the routing device to perform the data transmission method as described in claim 7 or 8.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one instruction, which, when executed by a processor, implements the data transmission method as described in any one of claims 2 to 6, or, when executed by a processor, implements the data transmission method as described in any one of claims 7 or 8.
Citation Information
Patent Citations
Traffic optimization method and system performed on mobile terminal device and client
CN104038916A
Processing method and device
CN111371728A