Multi-link transmission method and device, computer-readable storage medium, and terminal equipment

By implementing a multi-link transmission method at the application layer and allocating network requests to multiple available transmission links, the problem of multi-link aggregation dependent on the kernel and server in the prior art is solved, and efficient multi-link concurrency and aggregation effects are achieved.

CN113993178BActive Publication Date: 2025-03-14SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111371901.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-18
Publication Date
2025-03-14
Estimated Expiration
2041-11-18

AI Technical Summary

Technical Problem

In the prior art, multi-link aggregation requires support from kernel and servers, and is difficult to implement without relying on these systems.

Method used

By implementing a multi-link transmission method at the application layer, network requests are obtained and allocated to multiple available transmission links, and network requests are sent in parallel with multiple links, thereby realizing multi-link concurrency and multi-link aggregation of service data.

Benefits of technology

Multi-link aggregation is implemented without relying on the kernel and server, reducing the complexity of multi-link transmission and improving transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113993178B_ABST
    Figure CN113993178B_ABST
Patent Text Reader

Abstract

A multi-link transmission method and device, a computer-readable storage medium, and a terminal device, wherein the multi-link transmission method comprises: obtaining a network request, wherein the network request is a request of an application layer protocol; estimating the link quality of multiple available transmission links and allocating the network request to multiple available transmission links, so as to transmit the network request using the multiple available transmission links. The technical solution of the present invention can realize multi-link aggregation without relying on a kernel and a server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a multi-link transmission method and device, a computer-readable storage medium, and a terminal device. Background Art

[0002] Terminal devices such as mobile phones and personal computers (PCs) basically support multiple links, such as wireless networks (Wi-Fi), cellular networks (Cellular), Ethernet, etc., but terminal devices can basically only use one link at the same time.

[0003] In the prior art, the industry has also proposed a MultiPath TCP (MPTCP) protocol based on the Transmission Control Protocol (TCP) to support multi-link aggregation. MPTCP can provide users with transparent multi-path utilization capabilities. MPTCP no longer uses the single channel required by the traditional TCP protocol, but supports reverse multiplexing of redundant channel resources, increasing the overall data transmission rate to the sum of all available channels.

[0004] However, because the TCP protocol needs to be implemented in the kernel, the kernel must be upgraded to achieve aggregation; in addition, MPTCP also relies on the cooperation and support of the server, which is difficult to implement in actual applications. Summary of the invention

[0005] The technical problem solved by the present invention is how to realize multi-link aggregation while avoiding dependence on a kernel and a server.

[0006] To solve the above technical problems, an embodiment of the present invention provides a multi-link transmission method, which includes: obtaining a network request, which is a request of an application layer protocol; allocating the network request to multiple available transmission links to transmit the network request using the multiple available transmission links.

[0007] Optionally, allocating the network request to multiple available transmission links includes: estimating link qualities of the multiple available transmission links; and allocating the network request to the multiple available transmission links according to the link qualities.

[0008] Optionally, the number of the network requests is multiple, and allocating the network requests to multiple available transmission links includes: allocating multiple network requests to the multiple available transmission links.

[0009] Optionally, the number of the network requests is one or more, and allocating the network requests to multiple available transmission links includes: splitting the network request into multiple sub-network requests and allocating the multiple sub-network requests to the multiple available transmission links.

[0010] Optionally, the multi-link transmission method further includes: receiving response messages to the multiple network requests or the multiple sub-network requests on the multiple available transmission links respectively.

[0011] Optionally, the multi-link transmission method further includes: after receiving the response messages to the multiple sub-network requests, sorting the response messages to the multiple sub-network requests according to the order of the multiple sub-network requests, and feeding back the multiple response messages in sequence.

[0012] Optionally, before splitting the network request into multiple sub-network requests and allocating them to the multiple available transmission links, the method also includes: when the number of acquired network requests is one, estimating a first duration taken to transmit the network request using a single transmission link; splitting the network request into multiple sub-network requests, and estimating a second duration taken to transmit the multiple sub-network requests using the multiple available transmission links.

[0013] Optionally, allocating the network request to multiple available transmission links includes: if the second duration is smaller than the first duration, allocating the multiple sub-network requests to the multiple available transmission links.

[0014] Optionally, allocating multiple network requests to the multiple available transmission links or allocating the multiple sub-network requests to the multiple available transmission links according to the link quality includes: determining the transmission link that matches each network request or sub-network request according to the degree of matching between the size of the network request or the size of the sub-network request and the link quality of the multiple available transmission links, the better the quality of the transmission link, the larger the storage resources occupied by the network request or sub-network request corresponding to the transmission link.

[0015] Optionally, estimating the link qualities of the multiple available transmission links includes: estimating the link qualities of the multiple available transmission links using a neural network model.

[0016] An embodiment of the present invention also provides a multi-link transmission device, which includes: an acquisition module, used to obtain a network request, wherein the network request is a request of an application layer protocol; and an allocation transmission module, used to allocate the network request to multiple available transmission links so as to transmit the network request using the multiple available transmission links.

[0017] Optionally, the transmission allocation module includes: a link quality estimation unit, used to estimate the link quality of the multiple available transmission links; and a first allocation unit, used to allocate the network request to the multiple available transmission links according to the link quality.

[0018] Optionally, the number of the network requests is multiple, and the transmission allocation module includes: a second allocation unit, used to allocate the multiple network requests to the multiple available transmission links.

[0019] Optionally, the number of the network requests is one or more, and the transmission allocation module splits the network request into multiple sub-network requests and allocates the multiple sub-network requests to the multiple available transmission links.

[0020] Optionally, the multi-link transmission device further includes: a receiving module, configured to receive response messages to the multiple network requests or the multiple sub-network requests on the multiple available transmission links respectively.

[0021] Optionally, the multi-link transmission device further includes: a sorting module, configured to sort the response messages to the multiple sub-network requests according to the order of the multiple sub-network requests after receiving the response messages to the multiple sub-network requests, and feed back the multiple response messages in order.

[0022] Optionally, the multi-link transmission device also includes: a first duration estimation module, used to estimate the first duration taken to transmit the network request using a single transmission link when the number of acquired network requests is one; a second duration estimation module, which splits the network request into multiple sub-network requests and estimates the second duration taken to transmit the multiple sub-network requests using the multiple available transmission links.

[0023] Optionally, when the second duration is shorter than the first duration, the transmission allocation module allocates the multiple sub-network requests to the multiple available transmission links.

[0024] Optionally, allocating multiple network requests to the multiple available transmission links or allocating the multiple sub-network requests to the multiple available transmission links according to the link quality includes: determining the transmission link that matches each network request or sub-network request according to the degree of matching between the size of the network request or the size of the sub-network request and the link quality of the multiple available transmission links, the better the quality of the transmission link, the larger the storage resources occupied by the network request or sub-network request corresponding to the transmission link.

[0025] Optionally, the link quality estimation unit estimates the link qualities of the multiple available transmission links using a neural network model.

[0026] An embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program executes the steps of the multi-link transmission method when executed by a processor.

[0027] An embodiment of the present invention further provides a terminal device, comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and the processor executes the steps of the multi-link transmission method when running the computer program.

[0028] Compared with the prior art, the technical solution of the embodiment of the present invention has the following beneficial effects:

[0029] In the technical solution of the present invention, the request of the application layer protocol is distributed to multiple available transmission links, and the above network requests are sent in parallel through multiple available transmission links, thereby achieving the effect of multi-link concurrency and multi-link aggregation of business data. In addition, since the application layer protocol supports the splitting and reorganization of data, it does not need to rely on the support of the server; and the solution of the present invention is implemented at the application layer and does not need to rely on the kernel system, thereby reducing the complexity of multi-link transmission implementation and helping to expand the scope of application.

[0030] Furthermore, the technical solution of the present invention can also perform profit prediction before using multiple available transmission links for transmission, that is, estimate the first time duration taken to transmit the network request using a single transmission link and the second time duration taken to transmit the multiple sub-network requests using the multiple available transmission links. When the second time duration is less than the first time duration, one network request is split into multiple sub-network requests and sent on multiple transmission links, thereby improving the efficiency of multi-link transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Figure 1 is a flow chart of a multi-link transmission method provided by an embodiment of the present invention;

[0032] Figure 2 is a specific flow chart of a multi-link transmission method provided by an embodiment of the present invention;

[0033] Figure 3 is a schematic diagram of another specific application scenario provided by an embodiment of the present invention;

[0034] Figure 4 It is a structural schematic diagram of a multi-link transmission device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0035] As described in the background technology, because the TCP protocol needs to be implemented in the kernel, the kernel must be upgraded to achieve aggregation; in addition, MPTCP also relies on the cooperation and support of the server, which is difficult to implement in actual applications.

[0036] In the technical solution of the present invention, the request of the application layer protocol is distributed to multiple available transmission links, and the above network requests are sent in parallel through multiple available transmission links, thereby achieving the effect of multi-link concurrency and multi-link aggregation of business data. In addition, since the application layer protocol supports the splitting and reorganization of data, it does not need to rely on the support of the server; and the solution of the present invention is implemented at the application layer and does not need to rely on the kernel system, thereby reducing the complexity of multi-link transmission implementation and helping to expand the scope of application.

[0037] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, specific embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0038] Figure 1 The present invention is a flowchart of a multi-link transmission method according to an embodiment of the present invention.

[0039] The multi-link transmission method of the embodiment of the present invention can be used on the terminal device side, that is, the various steps of the above method can be performed by the terminal device. The terminal device can be various appropriate devices such as a mobile phone and a computer. More specifically, the various steps of the multi-link transmission method can be performed by a computer program in the terminal device.

[0040] Specifically, the multi-link transmission method may include the following steps:

[0041] Step 101: Obtain a network request, where the network request is a request of an application layer protocol;

[0042] Step 102: Allocate the network request to a plurality of available transmission links, so as to transmit the network request using the plurality of available transmission links.

[0043] It should be pointed out that the serial numbers of the steps in this embodiment do not limit the execution order of the steps.

[0044] It is understandable that, in a specific implementation, the multi-link transmission method can be implemented in the form of a software program, which runs in a processor integrated inside a chip or a chip module. The method can also be implemented in the form of software combined with hardware, which is not limited in this application.

[0045] The application layer protocol in this embodiment defines how application processes running on different end systems transmit messages to each other.

[0046] In a specific implementation, the network request can be a Hyper Text Transfer Protocol (HTTP) request, a File Transfer Protocol (FTP) request, a Domain Name System (DNS) request, a Simple Network Management Protocol (SNMP) request, a Telnet request, etc.

[0047] It is understandable that in a specific application scenario, multi-link transmission may be performed on different application layer protocol requests according to actual application requirements, which will not be described in detail here.

[0048] In the specific implementation of step 101, the network request may come from an application (Application, APP) in the terminal device. The application may generate the network request to request network resources.

[0049] Furthermore, in the specific implementation of step 102, the network request can be allocated to multiple transmission links for transmission. Among them, the multiple available transmission links are selected from multiple types of links, such as wireless network (Wi-Fi), cellular network (Cellular), Ethernet (Ethernet), etc. The embodiment of the present invention utilizes multiple transmission links to achieve parallel transmission of network requests and improve transmission efficiency.

[0050] In a specific implementation, when there are multiple network requests, the multiple network requests may be respectively allocated to multiple transmission links.

[0051] In another specific implementation, when the number of network requests is single, the single network request may be split into multiple sub-network requests, and then the multiple sub-network requests are respectively allocated to multiple transmission links.

[0052] In the embodiment of the present invention, the request of the application layer protocol is distributed to multiple available transmission links, and the above network request is sent in parallel through multiple available transmission links, thereby achieving the effect of multi-link concurrency and multi-link aggregation of business data. In addition, since the application layer protocol supports the splitting and reorganization of data, it does not need to rely on the support of the server; and the solution of the present invention is implemented at the application layer and does not need to rely on the kernel system, thereby reducing the complexity of multi-link transmission implementation and helping to expand the scope of application.

[0053] In a specific embodiment, when a network request for a device is sent to a server through a multi-link transmission method, since the port of the terminal device is the outlet for the device to communicate with the outside world, the embodiment of the present invention can also realize multi-port transmission.

[0054] In a non-limiting example, see Figure 2 , the multi-link transmission method may include steps 201 to 205.

[0055] In step 201, a network request is obtained, where the network request is a request of an application layer protocol, and the number of the network request is one or more.

[0056] In step 202, link qualities of a plurality of available transmission links are estimated.

[0057] In a specific implementation, the link quality of multiple available transmission links can be estimated to determine the link quality of each transmission link. Specifically, the link quality of the transmission link can be estimated based on parameters such as the packet loss rate and signal-to-noise ratio of the transmission link.

[0058] Specifically, the link quality of multiple available transmission links can be estimated to determine the link quality of each transmission link. Specifically, the link quality of the transmission link can be estimated based on parameters such as the packet loss rate and signal-to-noise ratio of the transmission link.

[0059] It should be noted that, for the specific implementation of estimating link quality, reference may be made to the prior art and will not be repeated here.

[0060] In step 203, multiple network requests are allocated to the multiple available transmission links according to the link quality, or the network request is split into multiple sub-network requests and the multiple sub-network requests are allocated to the multiple available transmission links, so as to transmit the multiple network requests or the multiple sub-network requests using the multiple available transmission links.

[0061] In a specific implementation, when multiple network requests are respectively allocated to multiple transmission links, if the number of network requests is equal to the number of transmission links, one transmission link can be allocated to each network request; if the number of network requests is greater than the number of transmission links, the network requests can be placed in a cache queue, and a transmission link can be allocated to each network request in sequence according to the queue order; if the number of network requests is less than the number of transmission links, a transmission link with better link quality can be selected, and multiple network requests can be allocated to the multiple selected transmission links.

[0062] In another specific implementation, when the number of network requests is single, the network request can be split according to the number of transmission links, that is, the number of sub-network requests obtained by splitting is the same as the number of transmission links. After the splitting is completed, a transmission link is allocated to each sub-network request.

[0063] In another specific implementation, if the number of network requests is less than the number of transmission links, some network requests may be split so that the sum of the number of split sub-network requests and the number of unsplit network requests is equal to the number of transmission links. For example, there are currently two network requests, network request 1 and network request 2; and there are three transmission links, link 1, link 2, and link 3; at this time, network request 1 may be split into sub-network request A and sub-network request B, and sub-network request A, sub-network request B, and network request 2 may be allocated to the above three transmission links.

[0064] In step 204, response messages to the multiple network requests or the multiple sub-network requests are received on the multiple available transmission links respectively.

[0065] In this embodiment, since multiple network requests or multiple sub-network requests are sent through multiple transmission links respectively, and the server will feedback corresponding response messages, and multiple response messages are also transmitted through multiple transmission links respectively, the terminal device can receive corresponding response messages on multiple transmission links.

[0066] Furthermore, the multi-link transmission method may further include step 205: after receiving the response messages of the multiple sub-network requests, sorting the response messages of the multiple sub-network requests according to the order of the multiple sub-network requests, and feeding back the multiple response messages in order.

[0067] In this embodiment, since the sub-network request is obtained by splitting a network request, the response message of the sub-network request is also for the sub-network request. In order to ensure the validity of the response message, the response messages of multiple sub-network requests need to be sorted and combined. For example, when the network resource requested by the network request is a picture or a file, the response message returned by the server is a part of the picture. In order to ensure the validity of the response message, each response message can be combined in order.

[0068] In a specific implementation, when the response messages are sorted, they can be sorted in the order of multiple sub-network requests. This is because after the network request is split, each sub-network request has an order. For example, after the HTTP request is split, sub-HTTP request 1, sub-HTTP request 2, and sub-HTTP request 3 can be obtained; then after receiving the response messages for sub-HTTP request 1, sub-HTTP request 2, and sub-HTTP request 3, each response message is combined in the corresponding order.

[0069] In a specific implementation, feeding back a plurality of response messages in sequence may refer to feeding back a plurality of response messages to a source application (ie, an application generating a network request) as required.

[0070] In a non-limiting embodiment, the following steps may also be included before step 102: when the number of acquired network requests is one, estimating a first duration taken to transmit the network request using a single transmission link; splitting the network request into multiple sub-network requests, and estimating a second duration taken to transmit the multiple sub-network requests using the multiple available transmission links.

[0071] In this embodiment, since the splitting of the network request and the subsequent assembly of the response message need to be divided into time lengths, in order to ensure transmission efficiency, before the splitting, the benefits generated after the splitting into sub-network requests for multi-link transmission can be predicted. Specifically, the first time length spent on transmitting the network request using a single transmission link can be estimated, and the second time length spent on transmitting multiple sub-network requests using multiple available transmission links can be estimated.

[0072] Furthermore, if the second duration is less than the first duration, a network request is split into multiple sub-network requests. That is to say, only when the second duration is less than the first duration, it indicates that the transmission efficiency of multi-link transmission is higher, which means that the size of the network resources requested by the network request is faster than the single link transmission after the multi-link transmission is performed according to the current link quality slices, and then the network request can be split.

[0073] In a non-limiting embodiment, step 102 may include the following steps: determining the transmission link that matches each network request or sub-network request according to the degree of matching between the size of the network request or the size of the sub-network request and the link quality of the multiple available transmission links, the better the quality of the transmission link, the larger the storage resources occupied by the network request or sub-network request corresponding to the transmission link.

[0074] In this embodiment, when allocating multiple network requests or the sub-network requests to multiple transmission links, the principle of allocation is that the better the link quality of the transmission link, the larger the storage resources occupied by the network request or sub-network request allocated on the link. For example, the size of sub-HTTP request 1 is 10M, the size of sub-HTTP request 2 is 5M, and the size of sub-HTTP request 3 is 8M. The link quality from good to bad is link 1, link 2, and link 3, then sub-HTTP request 1 can be allocated to link 1, sub-HTTP request 2 can be allocated to link 3, and sub-HTTP request 3 can be allocated to link 2.

[0075] In a non-limiting embodiment, the link qualities of the plurality of available transmission links are estimated using a neural network model, which may be pre-built and trained.

[0076] In a specific implementation, link parameters (such as packet loss rate, signal-to-noise ratio, delay, etc.) used to evaluate link quality can be input into a neural network model, and the neural network model can output the link quality of the transmission link.

[0077] Furthermore, when training the neural network model, training samples may be collected first, the training samples including various link parameters used to evaluate link quality and link quality values, and the neural network model may be trained using the training samples.

[0078] In a specific application scenario, please refer to Figure 3 , the application 301 initiates an HTTP request 302, and the prediction and assembly module 303 first performs a benefit prediction. If the size of the network resources requested by the HTTP request 302 is predicted to be faster than a single link after multi-link transmission after sharding based on the current link quality prediction, the prediction and assembly module 303 will fragment the HTTP request 302 and output the relevant information of the task to the allocation module 304. The allocation module 304 determines which link the task is sent from based on the task information and the link quality estimated by the link quality estimation module 305. The allocation module 304 then allocates different requests to different links according to the link allocation algorithm, thereby deriving multiple sub-Http requests. Multiple sub-Http requests will generate multiple response messages, and the prediction and assembly module 303 will then cache and sort the returned response messages and return them to the application 301. The entire process is transparent to the application and the underlying layer. Since it is based on the HTTP standard, it can be implemented without the support of the server.

[0079] The embodiment of the present invention firstly fragments HTTP requests based on the application layer HTTP protocol, and allocates different fragments to different transmission links, so that the network services of the application program can be multi-link concurrent, thereby superimposing and improving the bandwidth, and it can be completed without relying on the cooperation of the service.

[0080] In another specific application scenario, the application 301 simultaneously initiates multiple HTTP requests 302, and the pre-judgment and assembly module 303 directly provides the relevant information of the multiple HTTP requests 302 to the allocation module 304. The allocation module 304 allocates the multiple HTTP requests 302 to different links according to the link allocation algorithm. Compared with the previous application scenario, the pre-judgment and assembly module 303 in this application scenario does not need to fragment the HTTP requests, and the response data does not need to be cached and sorted, and can be directly returned to the application 301.

[0081] For example, in the application scenario of browsing web pages with a browser, a web page contains many sub-resources, and requests for different resources are dynamically allocated according to the link allocation algorithm, thereby achieving the effect of multi-link concurrency and multi-link aggregation of business data.

[0082] It should be noted that the HTTP request 302 may also be replaced by any other feasible application layer protocol request, and the embodiment of the present invention does not limit this.

[0083] Please refer to Figure 4 , Figure 4 A multi-link transmission device is disclosed. The multi-link transmission device 40 may include:

[0084] The acquisition module 401 is used to acquire a network request, where the network request is a request of an application layer protocol;

[0085] The transmission allocation module 402 is configured to allocate the network request to a plurality of available transmission links, so as to transmit the network request using the plurality of available transmission links.

[0086] Furthermore, the transmission allocation module may also include: a link quality estimation unit, used to estimate the link quality of the multiple available transmission links; and an allocation unit, used to allocate the network request to the multiple available transmission links according to the link quality.

[0087] Furthermore, the transmission allocation module allocates the multiple network requests to the multiple available transmission links.

[0088] Furthermore, the transmission allocation module splits the network request into multiple sub-network requests and allocates the multiple sub-network requests to the multiple available transmission links.

[0089] In a specific implementation, the above-mentioned multi-link transmission device can correspond to a chip with a multi-link transmission function in a terminal device, such as a SOC (System-On-a-Chip), a baseband chip, etc.; or corresponds to a chip module with a multi-link transmission function in a terminal device; or corresponds to a chip module with a data processing function chip, or corresponds to a terminal device.

[0090] For more information about the working principle and working method of the multi-link transmission device 40, please refer to Figures 1 to 3 The relevant description in will not be repeated here.

[0091] Regarding the various modules / units included in the various devices and products described in the above embodiments, they can be software modules / units, or hardware modules / units, or they can be partially software modules / units and partially hardware modules / units. For example, for various devices and products applied to or integrated in a chip, the various modules / units included therein can all be implemented in the form of hardware such as circuits, or at least some of the modules / units can be implemented in the form of software programs, which run on a processor integrated inside the chip, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits; for various devices and products applied to or integrated in a chip module, the various modules / units included therein can all be implemented in the form of hardware such as circuits, and different modules / units can be located in the same component (such as a chip, circuit module, etc.) or different components of the chip module, or at least some of the modules / units can be implemented in the form of hardware such as circuits. The element can be implemented in the form of a software program, which runs on a processor integrated inside the chip module, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits; for various devices and products applied to or integrated in the terminal, the various modules / units contained therein can be implemented in the form of hardware such as circuits, and different modules / units can be located in the same component (for example, chip, circuit module, etc.) or in different components in the terminal, or, at least some modules / units can be implemented in the form of a software program, which runs on a processor integrated inside the terminal, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits.

[0092] The embodiment of the present invention further discloses a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and when the computer program is run, the steps of the aforementioned multi-link transmission method can be executed. The storage medium may include ROM, RAM, a magnetic disk or an optical disk, etc. The storage medium may also include a non-volatile memory or a non-transitory memory, etc.

[0093] The embodiment of the present invention further discloses a terminal device, which may include a memory and a processor, wherein the memory stores a computer program that can be run on the processor. When the processor runs the computer program, the steps of the aforementioned multi-link transmission method may be executed. The terminal device includes but is not limited to mobile phones, computers, tablet computers and other terminal devices.

[0094] It should be understood that the term "and / or" in this article is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article indicates that the associated objects before and after are in an "or" relationship.

[0095] The "plurality" appearing in the embodiments of the present application refers to two or more.

[0096] The first, second, etc. descriptions appearing in the embodiments of the present application are only used for illustration and distinction of the description objects. There is no order, nor do they indicate any special limitation on the number of devices in the embodiments of the present application, and cannot constitute any limitation on the embodiments of the present application.

[0097] The "connection" that appears in the embodiments of the present application refers to various connection methods such as direct connection or indirect connection to achieve communication between devices, and the embodiments of the present application do not impose any limitations on this.

[0098] It should be understood that in the embodiments of the present application, the processor may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0099] It should also be understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM) and direct rambus RAM (DR RAM).

[0100] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented using software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, a computer, a server or a data center to another website site, a computer, a server or a data center by wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or a data center containing one or more available media sets.

[0101] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0102] In the several embodiments provided in the present application, it should be understood that the disclosed methods, devices and systems can be implemented in other ways. For example, the device embodiments described above are merely schematic; for example, the division of the units is only a logical function division, and there may be other division methods in actual implementation; for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0103] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0104] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be physically included separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0105] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to perform some steps of the method described in each embodiment of the present invention.

[0106] Although the present invention is disclosed as above, the present invention is not limited thereto. Any person skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the scope defined by the claims.

Claims

1. A multi-link transmission method, characterized in that: include: Obtaining a network request, where the network request is a request of an application layer protocol; Allocating the network request to a plurality of available transmission links, so as to transmit the network request using the plurality of available transmission links; Wherein, when the number of the network requests is a single one, the network request is split according to the number of the multiple available transmission links, and the number of the sub-network requests obtained by the splitting is the same as the number of the multiple available transmission links; if the number of the network requests is less than the number of the multiple available transmission links, part of the network requests are split so that the sum of the number of the split sub-network requests and the number of the unsplit network requests is equal to the number of transmission links; After receiving the response messages of the multiple sub-network requests, the response messages of the multiple sub-network requests are sorted according to the order of the multiple sub-network requests, and the multiple response messages are fed back in order.

2. The multi-link transmission method according to claim 1, characterized in that: The allocating the network request to a plurality of available transmission links comprises: estimating link qualities of the plurality of available transmission links; The network requests are distributed to the plurality of available transmission links according to the link qualities.

3. The multi-link transmission method according to claim 1, characterized in that: The number of the network requests is multiple, and allocating the network requests to multiple available transmission links includes: The plurality of network requests are distributed to the plurality of available transmission links.

4. The multi-link transmission method according to claim 1, characterized in that: Also includes: Response messages to the multiple sub-network requests are received on the multiple available transmission links respectively.

5. The multi-link transmission method according to claim 1, characterized in that: Before splitting the network request into a plurality of sub-network requests and allocating the plurality of sub-network requests to the plurality of available transmission links, the method further includes: When the number of the network request is one, estimating a first duration taken to transmit the network request using a single transmission link; The network request is split into a plurality of sub-network requests, and a second duration taken to transmit the plurality of sub-network requests using the plurality of available transmission links is estimated.

6. The multi-link transmission method according to claim 5, characterized in that: The allocating the network request to a plurality of available transmission links comprises: If the second duration is smaller than the first duration, the multiple sub-network requests are allocated to the multiple available transmission links.

7. The multi-link transmission method according to claim 3, characterized in that: The allocating the network request to a plurality of available transmission links comprises: According to the matching degree between the sizes of the multiple network requests and the link qualities of the multiple available transmission links, the transmission link matching each network request is determined. The better the quality of the transmission link, the larger the storage resources occupied by the network request corresponding to the transmission link.

8. The multi-link transmission method according to claim 1, characterized in that: The allocating the network request to a plurality of available transmission links comprises: According to the matching degree between the sizes of the multiple sub-network requests and the link qualities of the multiple available transmission links, the transmission link that matches each sub-network request is determined. The better the quality of the transmission link, the larger the storage resources occupied by the sub-network request corresponding to the transmission link.

9. The multi-link transmission method according to claim 2, characterized in that: The estimating the link qualities of the plurality of available transmission links comprises: The link qualities of the multiple available transmission links are estimated using a neural network model.

10. A multi-link transmission device, characterized in that: include: An acquisition module, used to acquire a network request, wherein the network request is a request of an application layer protocol; A transmission allocation module, configured to allocate the network request to a plurality of available transmission links, so as to transmit the network request using the plurality of available transmission links; Among them, when the number of the network requests is single, the network request is split according to the number of the multiple available transmission links, and the number of sub-network requests obtained by splitting is the same as the number of the multiple available transmission links; if the number of the network requests is less than the number of the multiple available transmission links, some network requests are split so that the sum of the number of split sub-network requests and the number of unsplit network requests is equal to the number of transmission links; after receiving the response messages of the multiple sub-network requests, the allocation transmission module sorts the response messages of the multiple sub-network requests according to the order of the multiple sub-network requests, and feeds back multiple response messages in sequence.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the multi-link transmission method according to any one of claims 1 to 9 are executed.

12. A terminal device, comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, characterized in that: When the processor runs the computer program, the processor performs the steps of the multi-link transmission method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Wireless data transmission method and apparatus of terminal, terminal and storage medium

    CN107949069A

  • Parallel transmission mechanism based on multi-HTTP / 3 connection

    CN111988235A