CN107172179B - Bilateral acceleration transmission method and system - Google Patents

Bilateral acceleration transmission method and system Download PDF

Info

Publication number
CN107172179B
CN107172179B CN201710413055.9A CN201710413055A CN107172179B CN 107172179 B CN107172179 B CN 107172179B CN 201710413055 A CN201710413055 A CN 201710413055A CN 107172179 B CN107172179 B CN 107172179B
Authority
CN
China
Prior art keywords
data
packet
connection
acceleration
acceleration module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710413055.9A
Other languages
Chinese (zh)
Other versions
CN107172179A (en
Inventor
郑斌斌
庄煜东
陈文生
陈文娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201710413055.9A priority Critical patent/CN107172179B/en
Publication of CN107172179A publication Critical patent/CN107172179A/en
Application granted granted Critical
Publication of CN107172179B publication Critical patent/CN107172179B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

The invention discloses a bilateral acceleration transmission method and a bilateral acceleration transmission system, wherein the method comprises the following steps: setting a data receiving end acceleration module in a data receiving end kernel, and setting a data transmitting end acceleration module in a data transmitting end kernel; the data receiving terminal acceleration module inserts an identifier into the connection packet, and then sends the connection packet to the data sending terminal acceleration module to establish connection; after the connection is established, the data sending terminal acceleration module receives a data request sent by the data receiving terminal acceleration module, recodes the data packet, and carries out acceleration transmission to the data receiving terminal acceleration module according to a transmission strategy through the established connection. The invention is realized by adopting a kernel module, is close to a system kernel layer, and has high performance and good stability; the method can provide a perfect application layer calling interface and a perfect global interface, and is convenient and simple to use; the method is seamlessly compatible with the traditional transmission control protocol/user datagram protocol, and when a transmission party does not have an installation module, transmission faults can not be caused.

Description

Bilateral acceleration transmission method and system
Technical Field
The invention relates to the technical field of computer network data, in particular to a bilateral acceleration transmission method and a bilateral acceleration transmission system.
Background
Under the background of the development of big data of the internet, the requirements of various streaming media transmission and big file downloading on the network quality are higher and higher, so that an efficient network transmission technology is needed to deal with the explosive growth of data. In the conventional internet File service Transmission, data Transmission has various forms at an application layer, such as a hypertext Transfer Protocol (HTTP), a File Transfer Protocol (FTP), and the like, but a Transmission Control Protocol (TCP) is generally used at a Transmission layer, and is a reliable Transmission Protocol for the Transmission Control Protocol. Therefore, in the era of rapid internet development, how to reasonably, effectively and maximally utilize the limited bandwidth under the condition of the limited bandwidth, and improving the file transmission speed is one of the problems to be solved at present. The current bilateral acceleration technology can effectively solve the judgment of network conditions in the traditional data transmission and adjust the transmission strategy according to the data packets returned by the sending end and the receiving end, thereby improving the network transmission conditions.
However, the conventional bilateral acceleration technique has several problems: (1) the traditional bilateral acceleration technology requires that specific software or equipment is installed on both a sending end and a receiving end, and if one party is not installed, normal network transmission cannot be guaranteed. (2) The bilateral acceleration transmission strategy is single and cannot be adapted according to actual conditions. (3) And the bilateral acceleration strategy is realized by the cooperation of application layer software, so that the performance is insufficient. (4) The traditional bilateral acceleration technology can only adopt a single protocol for transmission, and the effective and reliable transmission can not be ensured to continue in case of failure
Disclosure of Invention
In order to solve the problems in the prior art, embodiments of the present invention provide a method and a system for bilateral acceleration transmission. The technical scheme is as follows:
in one aspect, a method for bilateral acceleration transmission includes the following steps:
setting a data receiving end acceleration module in a data receiving end kernel, and setting a data transmitting end acceleration module in a data transmitting end kernel;
the data receiving terminal acceleration module inserts an identifier into the connection packet, and then sends the connection packet to the data sending terminal acceleration module to establish connection;
after the connection is established, the data sending terminal acceleration module receives a data request sent by the data receiving terminal acceleration module, recodes the data packet, and carries out acceleration transmission to the data receiving terminal acceleration module according to a transmission strategy through the established connection.
Further, the specific steps of inserting the identifier into the connection packet by the data receiving terminal acceleration module, and then sending the connection packet to the data sending terminal acceleration module to establish the connection include:
the data receiving terminal acceleration module inserts an identifier into the connection packet, and then sends the connection packet to the data sending terminal acceleration module;
the data sending terminal acceleration module receives the connection establishing packet, marks the connection according to the identifier inserted in the connection establishing packet, and then sends a response data packet to the data receiving terminal;
the data receiving end receives the response data packet and completes the connection establishment;
and the transmission of the subsequent data packet connected is completed by the data receiving terminal acceleration module and the data sending terminal acceleration module.
Further, the specific steps of the data sending end acceleration module recoding the data packet after receiving the data request sent by the data receiving end acceleration module, and performing accelerated transmission to the data receiving end acceleration module according to the transmission strategy through the established connection include:
a data receiving end sends a data request to a data sending end;
the data sending end generates a data packet after receiving the data request;
the data sending terminal acceleration module inserts an identifier into the data packet for recoding, and sends the data packet with the inserted identifier to the data receiving terminal acceleration module according to a transmission strategy;
the data receiving terminal acceleration module receives the data packet and judges whether the data packet needs to be decoded or not;
if the decoding is not needed, the data packet is directly sent to the kernel of the data receiving end;
if decoding is needed, the data packet is decoded first, and then the decoded data packet is sent to the inner core of the data receiving end.
Further, the specific steps of inserting the identifier into the connection packet by the data receiving terminal acceleration module, and then sending the connection packet to the data sending terminal acceleration module include:
after receiving the connection packet sent by the data receiving end application layer, the data receiving end acceleration module judges whether acceleration is needed according to an interface value and global parameters set by the data receiving end application layer;
if the acceleration is not needed, the building packet is directly sent to a data sending end;
if acceleration is needed, inserting an identifier into the connection packet, and then sending the connection packet to a data sending end;
the data sending end receives the build-up packet and judges whether the kernel of the data sending end is provided with a data sending end acceleration module or not;
if the data sending terminal acceleration module is not installed, the building connection packet is directly sent to the kernel of the data sending terminal;
and if the data sending terminal acceleration module is installed, sending the connection packet to the data sending terminal acceleration module.
Further, the step of inserting the identifier into the connection packet by the data receiving terminal acceleration module, and then sending the connection packet to the data sending terminal acceleration module further includes:
the data receiving end application layer establishes a connection packet, and judges whether acceleration is needed or not according to the self acceleration strategy of the data receiving end application layer;
if the acceleration is not needed, the building connection packet is directly sent to the kernel of the data receiving end;
if acceleration is needed, calling a corresponding data interface, setting an interface value, and then sending the connection packet to a data receiving end kernel;
the kernel of the data receiving end receives the build-up packet and judges whether the kernel of the data receiving end is provided with a data receiving end acceleration module or not;
if the data receiving terminal acceleration module is not installed, the building connection packet is directly sent to the data sending terminal;
and if the data receiving terminal acceleration module is installed, the connection packet is sent to the data receiving terminal acceleration module.
Further, the specific steps of the data sending terminal acceleration module receiving the connection establishing packet, marking the connection according to the identifier inserted in the connection establishing packet, and then sending the response data packet to the data receiving terminal include:
the data sending terminal acceleration module receives the connection packet and judges whether the connection packet contains an identifier;
if the connection packet does not contain the identifier, the connection packet is directly sent to a kernel of a data sending end;
if the connection packet contains the identifier, the data sending terminal acceleration module marks the connection according to the identifier, decodes the connection packet and sends the decoded connection packet to the data sending terminal kernel;
and after receiving the building connection packet, the kernel of the data sending end sends a response data packet to the data receiving end.
Further, the specific steps of the data sending end acceleration module inserting the identifier into the data packet for recoding, and sending the data packet inserted with the identifier to the data receiving end acceleration module for accelerated transmission according to the transmission strategy include:
the data sending terminal acceleration module receives a data packet sent by a data sending terminal application layer, and judges whether the connection needs to be accelerated or not according to the connection mark;
if the acceleration is not needed, the data packet is directly sent to a data receiving end;
if acceleration is needed, inserting an identifier into the data packet, recoding the data packet, and then sending the data packet to a data receiving end according to a transmission strategy;
the data receiving end receives the data packet and judges whether a data receiving end accelerating module is installed in the kernel of the data receiving end;
if the data receiving end acceleration module is not installed, the data packet is sent to a data receiving end kernel;
and if the data receiving terminal acceleration module is installed, sending the data packet to the data receiving terminal acceleration module.
Further, the step of the data sending end acceleration module inserting the identifier into the data packet for recoding, and sending the data packet inserted with the identifier to the data receiving end acceleration module for acceleration transmission according to the transmission strategy further includes:
the data sending end application layer sends the data packet to a data sending end kernel;
after receiving the data packet, the kernel of the data sending end judges whether the kernel of the data sending end is provided with a data sending end acceleration module or not;
if the data sending terminal acceleration module is not installed, the data packet is directly sent to a data receiving terminal;
and if the data transmitting terminal acceleration module is installed, transmitting the data packet to the data transmitting terminal acceleration module.
Specifically, the identifier is a WIP (ws IDC protocol) identifier, and the connection packet header is inserted through the data receiving terminal acceleration module or the data packet header is inserted through the data transmitting terminal acceleration module.
Specifically, the transmission strategy of the data sending end acceleration module is specifically as follows:
in the data packet transmission process, transmitting a data packet transmitted for the first time by using an original transmission protocol;
for the retransmitted data packet, the original transmission protocol is used for transmission, if the transmission fails, and the data packet still needs to be retransmitted, the second transmission protocol is used for transmission.
On the other hand, the bilateral acceleration transmission system comprises a data sending end and a data receiving end,
the data receiving terminal is provided with a data receiving terminal acceleration module in the kernel, and the data receiving terminal acceleration module is used for inserting an identifier into the connection packet, sending the connection packet to the data sending terminal to establish connection, and initiating a data request to the data sending terminal after the connection is established;
the data sending end sets a data sending end accelerating module in the kernel, which is used for receiving the building package, building connection with the data receiving end, recoding the data package after receiving the data request, and accelerating transmission to the data receiving end accelerating module according to the transmission strategy through the connection.
Further, the data receiving terminal acceleration module specifically includes:
the identification module is used for inserting an identifier into the connection packet and then sending the connection packet to the data sending end acceleration module;
the decoding module is used for judging whether the data packet received by the data receiving end needs to be decoded or not, directly sending the data packet which does not need to be decoded to the kernel of the data receiving end, decoding the data packet which needs to be decoded and then sending the data packet to the kernel of the data receiving end;
the data sending terminal acceleration module specifically includes:
the marking module is used for judging whether the connection packet contains the identifier, directly sending the connection packet which does not contain the identifier to the kernel of the data sending end, decoding the connection packet containing the identifier, marking the connection according to the identifier inserted in the connection packet, and sending the decoded connection packet to the kernel of the data sending end;
and the recoding module is used for inserting the identifier into the data packet for recoding and sending the data packet with the inserted identifier to the data receiving terminal acceleration module according to the transmission strategy.
Further, the data receiving terminal acceleration module further includes: the first acceleration judging module is used for judging whether acceleration is needed or not according to the interface value of the application layer and the global parameter, if the acceleration is needed, the connection packet is sent to the identification module, and if not, the connection packet is directly sent to the data sending end acceleration module;
the data sending terminal acceleration module further comprises: and the second acceleration judging module is used for judging whether the connection needs to be accelerated or not according to the connection mark, sending the data packet to the recoding module if the connection needs to be accelerated, and directly sending the data packet to the data receiving terminal accelerating module if the connection needs to be accelerated.
Further, the data sending end acceleration module further includes: and the retransmission module is used for firstly transmitting the retransmitted data packet by using the original transmission protocol, and if the data packet still needs to be retransmitted after transmission failure, transmitting the data packet by using the second transmission protocol.
Further, the data receiving end kernel also comprises a data receiving end acceleration module judging module used for judging whether the data receiving end kernel is provided with the data receiving end acceleration module;
the data sending terminal kernel also comprises a data sending terminal acceleration module judging module which is used for judging whether the data sending terminal kernel is provided with the data sending terminal acceleration module.
Further, the data receiving end also comprises an application layer acceleration judging module which is used for judging whether acceleration is needed or not according to the application self acceleration strategy, if the acceleration is not needed, the establishing connection packet is directly sent to the kernel of the data receiving end, otherwise, the data interface is called, the interface value is set, and then the establishing connection packet is sent to the kernel of the data receiving end.
The technical scheme provided by the embodiment of the invention has the following beneficial effects: the bilateral accelerated transmission method and the bilateral accelerated transmission system are realized by adopting a kernel module, are close to a system kernel layer, and have high performance and good stability; the method can provide a perfect application layer calling interface and a perfect global interface, and is convenient and simple to use; the system is seamlessly compatible with the traditional transmission control protocol/user datagram protocol, and when a transmission party does not have an installation module, transmission faults can not be caused; the transmission strategy is highly customizable and can adapt to different network environment requirements.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a flow chart of an embodiment of a method for bilateral acceleration transmission provided by the present invention;
FIG. 2 is a detailed flowchart of step S102 in FIG. 1;
FIG. 3 is a detailed flowchart of step S103 in FIG. 1;
FIG. 4 is a detailed flowchart of step S1021 in FIG. 2;
fig. 5 is a detailed flowchart of step S1022 in fig. 2;
fig. 6 is a flowchart of steps further included in step S1021 in fig. 2;
fig. 7 is a detailed flowchart of step S1033 in fig. 3;
fig. 8 is a flowchart of steps further included in step S1033 in fig. 3;
FIG. 9 is a block diagram of an embodiment of a dual edge acceleration transmission system provided by the present invention;
fig. 10 is a detailed structural diagram of the data receiving side acceleration module 101 and the data transmitting side acceleration module 201 in fig. 9;
fig. 11 is a block diagram of another embodiment of the data receiving side acceleration module 101 and the data transmitting side acceleration module 201 in fig. 10;
fig. 12 is a block diagram of another embodiment of the data transmitting-end acceleration module 201 in fig. 11;
FIG. 13 is a block diagram of another embodiment of the data sink core 10 and the data sink core 20 of FIG. 12;
fig. 14 is a block diagram of another embodiment of the data receiving end 1 in fig. 12.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
The invention provides an implementation mode of a bilateral acceleration transmission method, as shown in fig. 1, comprising the following steps:
s101, a data receiving terminal accelerating module is arranged in a data receiving terminal kernel, and a data sending terminal accelerating module is arranged in a data sending terminal kernel.
The invention realizes bilateral acceleration Transmission of Transmission Control Protocol/User Datagram Protocol (TCP/UDP) through the kernel modules compiled at the data receiving end and the data sending end.
S102, the data receiving terminal acceleration module inserts an identifier into the connection packet, and then the connection packet is sent to the data sending terminal acceleration module to establish connection.
When the data receiving end and the data sending end establish connection, the data receiving end inserts a specific identifier into a data packet for establishing connection, and judges whether to establish user datagram protocol accelerated transmission or traditional transmission control protocol accelerated transmission according to the content of the data packet responded by the data sending end.
And S103, after the connection is established, the data sending terminal acceleration module receives the data request sent by the data receiving terminal acceleration module, recodes the data packet, and carries out accelerated transmission to the data receiving terminal acceleration module according to the transmission strategy through the established connection.
When a data transmitting end transmits a data packet on a connection, a specific identifier inserted in the data packet during the establishment of the connection is used as a mark. In the data packet transmission process, firstly, the data packet is transmitted through a default transmission protocol, if network congestion is detected in the transmission process and packet loss is serious, transmission channel detection is carried out, for a data packet with transmission failure, the original transmission protocol of the data packet is firstly used for retransmission for 2-3 times, and if the transmission failure still occurs, another transmission protocol is used for transmission, so that the data packet is retransmitted as fast as possible.
Specifically, as shown in fig. 2, step S102 in fig. 1 specifically includes:
s1021, the data receiving terminal acceleration module inserts the identifier into the connection packet, and then the connection packet is sent to the data sending terminal acceleration module.
The data receiving terminal acceleration module inserts a WIP (ws IDC protocol) identifier into the header of a data packet of the link packet as a specific identifier for establishing the acceleration transmission connection.
S1022, the data sending end acceleration module receives the connection packet, marks the connection according to the identifier inserted in the connection packet, and then sends a response data packet to the data receiving end.
And after receiving the connection packet, the data sending end analyzes the connection packet, identifies the WIP identifier at the head of the connection packet, and marks the connection established by the connection packet by using the identifier. And then, the data packets which are subsequently transmitted on the connection are all completed through the data receiving terminal acceleration module and the data sending terminal acceleration module.
And S1023, the data receiving end receives the response data packet and completes the connection establishment.
Specifically, as shown in fig. 3, step S103 in fig. 1 specifically includes:
and S1031, the data receiving end sends a data request to the data sending end.
S1032, the data sending end generates a data packet after receiving the data request.
S1033, the data sending terminal acceleration module inserts the identifier into the data packet for recoding, and sends the data packet with the inserted identifier to the data receiving terminal acceleration module according to the transmission strategy.
After the connection between the data receiving end and the data sending end is completed, the data receiving end sends a data request to the data sending end, after the data sending end receives the data request, a data packet is generated according to the request, an identifier of the connection to be used by the data packet transmitted by the data sending end, namely a WIP identifier inserted into the header of the connection packet established when the connection is established, is inserted into the header of the data packet, and then the data packet is transmitted to the data receiving end acceleration module through the connection. When transmitting, firstly using the default transmission protocol of the data packet, for example, using the default transmission control protocol of the data packet, and then using the transmission control protocol to transmit the data packet; if the transmission fails, continuing to use the transmission control protocol for transmission for 2-3 times; if the transmission is still unsuccessful, the user datagram protocol is used to retransmit the data packet.
S1034, the data receiving terminal acceleration module receives the data packet and judges whether the data packet needs to be decoded. If decoding is needed, go to step S1035; if no decoding is required, step S1036 is performed.
After receiving the data packet, the data receiving end judges whether the data packet needs to be decoded according to the WIP identifier used for transmitting the data packet, if so, the data packet is decoded first, then the decoded data packet is delivered to the kernel of the data receiving end for processing, and if not, the data packet is directly delivered to the kernel of the data receiving end for processing.
S1035, decodes the packet. The packet is decoded, and then step S1036 is performed.
S1036, sending the data packet to a data receiving end core.
As shown in fig. 4, the specific steps of step S1021 in fig. 2 are:
s10211, after receiving the connection packet sent by the data receiving end application layer, the data receiving end acceleration module determines whether acceleration is needed according to an interface value and global parameters set by the data receiving end application layer.
The data receiving terminal application layer sends the prepared connection packet to a data receiving terminal acceleration module for establishing connection with the data sending terminal, after the data receiving terminal acceleration module receives the connection packet, firstly, whether the data receiving terminal sets the data receiving terminal to carry out acceleration transmission on all the data of the data receiving terminal overall situation or not is judged according to the overall situation parameters, and if the overall situation parameters do not set the data receiving terminal to carry out acceleration transmission on all the data of the data receiving terminal overall situation, the data receiving terminal acceleration module judges whether the data transmission of the application needs to be accelerated or not according to the interface value set by the application layer; if the data packet needs to be transmitted in an accelerated manner, go to step S10212; if acceleration is not required, step S10213 is performed.
S10212, inserting an identifier into the linkage packet.
If the application packet needs to be transmitted at an accelerated speed, a WIP identifier is inserted into the header of the link packet, and then the process proceeds to step S10213.
S10213, sending the connection packet to the data sender.
S10214, the data sending end receives the connection packet, and judges whether the kernel of the data sending end is provided with the data sending end acceleration module.
After receiving the build-up packet, the data sending end firstly judges whether a data sending end accelerating module is installed on the kernel of the data sending end, if so, the step S10215 is carried out, and the build-up packet is sent to the data sending end accelerating module for processing; if the data sending end acceleration module is not installed, step S10216 is performed to directly send the connection packet to the data sending end kernel for processing.
S10215, the connection packet is sent to the data sending terminal acceleration module.
After receiving the build-up packet, the data sending terminal acceleration module judges whether the build-up packet has a WIP identifier, if so, the data sending terminal acceleration module marks the connection according to the identifier, decodes the build-up packet, and then sends the build-up packet to a data sending terminal kernel; and if not, directly sending the build packet to the data sending end kernel.
S10216, the connection packet is sent to the kernel of the data sending end.
The kernel of the data sending end is not provided with a data sending end acceleration module, or the data sending end acceleration module processes the connection packet and then sends the connection packet to the kernel of the data sending end.
As shown in fig. 5, the specific steps of step S1022 in fig. 2 are:
s10221, the data sending terminal acceleration module receives the connection packet and judges whether the connection packet contains an identifier.
After receiving the link packet, the data sending terminal acceleration module analyzes the link packet, judges whether the link packet includes the WIP identifier, and if the link packet includes the WIP identifier, performs step S10222; if the build packet does not contain an identifier, step S10223 is performed.
S10222, the data sender acceleration module marks the connection according to the identifier and decodes the connection packet.
After the data sending end acceleration module analyzes the link packet, the link established by the link packet is marked according to the WIP identifier included in the link packet, and step S10223 is performed after the link packet is decoded.
S10223, the connection packet is sent to the data sending end kernel.
The data transmitting terminal acceleration module analyzes the build-up packet and does not find that the build-up packet contains the WIP identifier, or finds that the WIP identifier is contained, marks the connection built by the build-up packet by using the identifier, decodes the build-up packet, and transmits the build-up packet to the data transmitting terminal kernel.
S10224, after receiving the link packet, the kernel of the data sending end sends a response data packet to the data receiving end.
And after receiving the decoded or undecoded connection packet, the kernel of the data sending end sends a response data packet to the data receiving end to complete the connection process.
As shown in fig. 6, step S1021 in fig. 2 further includes, before step S10211 in fig. 4:
s601, the data receiving end application layer establishes a connection packet, and judges whether acceleration is needed or not according to the self acceleration strategy of the data receiving end application layer. If acceleration is required, go to step S602; if acceleration is not required, step S603 is performed.
S602, calling a corresponding data interface and setting an interface value.
The interface value corresponding to the accelerated data packet is preset at the data receiving end, for example, the interface value of the data packet which does not need to be accelerated is 0, and the interface value of the data packet which needs to be accelerated is 1. If the data receiving end application layer needs to accelerate, the interface value 1 is called at the moment, and then the connection packet is transmitted to the data receiving end kernel.
S603, sending the connection packet to a data receiving end kernel.
If the data receiving end application layer needs to accelerate, the connection packet is transmitted to the data receiving end kernel by calling a corresponding data interface, and if the data receiving end application layer does not need to accelerate, the connection packet is directly transmitted to the data receiving end kernel from the data receiving end application layer.
S604, the kernel of the data receiving end receives the connection packet and judges whether the kernel of the data receiving end is provided with the acceleration module of the data receiving end. If the data receiving terminal acceleration module is installed, step S605; if the data receiving terminal acceleration module is not installed, the process proceeds to step S606.
And S605, sending the connection packet to a data receiving terminal acceleration module.
After receiving the connection establishing data packet, the data receiving terminal acceleration module first determines whether the data receiving terminal sets that all data of the data receiving terminal needs to be accelerated according to the global parameter, and if the global parameter does not set that all data of the data receiving terminal needs to be accelerated, the data receiving terminal acceleration module then determines whether the data transmission of the application needs to be accelerated according to the interface value set in step S602; if the data packet needs to be transmitted at an accelerated speed, the link packet is modified, the WIP identifier is inserted into the header of the link packet, and then step S606 is performed to send the link packet to the data sending end, which may specifically refer to steps S10211-S10213 in fig. 4.
And S606, sending the connection packet to a data sending end.
The kernel of the data receiving end is not provided with a data receiving end acceleration module, or the data receiving end acceleration module processes the connection packet and then sends the connection packet to the data sending end.
As shown in fig. 7, step S1033 in fig. 3 specifically includes:
s10331, the data sending end acceleration module receives the data packet sent by the data sending end application layer, and determines whether the connection needs to be accelerated according to the connection flag.
The data sending end application layer generates a data packet according to the received data request of the data receiving end, and then sends the data packet to the data sending end acceleration module for data packet transmission, the data sending end acceleration module receives the data packet, judges whether the data packet needs to be subjected to acceleration transmission according to the WIP mark to be used for connection during data packet transmission, and if the data packet needs to be accelerated, performs step S10332; if acceleration is not required, step S10333 is performed.
S10332, inserts the identifier into the packet, and re-encodes the packet.
If the data packet needs to be transmitted at an accelerated speed, the WIP tag to be used for the data packet transmission is inserted into the header of the data packet, the data packet is re-encoded, and then step S10333 is performed according to the transmission policy.
S10333, the data packet is sent to the data receiving end.
Whether the data packets need to be transmitted in an accelerated manner after being recoded or the data packets which do not need to be transmitted in an accelerated manner without being recoded, the data packets transmitted for the first time are transmitted by using an original transmission protocol; for the retransmitted data packet, the original transmission protocol is used for transmission, if the transmission fails, and the data packet still needs to be retransmitted, the second transmission protocol is used for transmission. For example, the data packet is transmitted by using the transmission control protocol as a default; if the transmission fails, continuing to use the transmission control protocol for transmission for 2-3 times; if the transmission is still unsuccessful, the user datagram protocol is used to retransmit the data packet.
S10334, the data receiving end receives the data packet, and determines whether the data receiving end core is installed with the data receiving end acceleration module.
After receiving the data packet, the data receiving end firstly judges whether the data receiving end kernel is provided with a data receiving end acceleration module, if so, the step S10335 is carried out, and the connection packet is sent to the data receiving end acceleration module for processing; if the data receiving end acceleration module is not installed, step S10336 is performed, and the connection packet is directly sent to the data receiving end kernel for processing.
S10335, sending the data packet to the data receiving end acceleration module.
And after receiving the data packet, the data receiving terminal acceleration module judges whether the data packet needs to be decoded according to the WIP identifier of the data packet header, if so, the data packet is decoded and then delivered to the data receiving terminal kernel, and if not, the data packet is directly delivered to the data receiving terminal kernel for processing.
S10336, sending the data packet to the data receiving end core.
As shown in fig. 8, step S1033 in fig. 3 further includes, before step S10331 in fig. 7:
s801, the data sending end application layer sends the data packet to the data sending end kernel.
And the data sending end application layer generates a data packet according to the received data request of the data receiving end and then sends the data packet to the data sending end kernel for transmitting the data packet.
S802, after the data sending end kernel receives the data packet, judging whether the data sending end kernel is provided with a data sending end acceleration module. If the data sending terminal acceleration module is installed, go to step S803; if the data transmitting-end acceleration module is not installed, step S804 is performed.
And S803, sending the data packet to the data sending terminal acceleration module.
The data sending terminal acceleration module receives the data packet, judges whether the data packet needs to be accelerated according to the WIP mark of the connection to be used during the data packet transmission, inserts the WIP mark of the connection used for the data packet transmission into the packet header of the data packet if the data packet needs to be accelerated, and then performs the step S804 according to the transmission strategy; if no acceleration is required, step S804 is performed directly. Reference may be made specifically to steps S10331-S10333 in fig. 7.
And S804, sending the data packet to a data receiving end.
The data sending terminal kernel is not provided with a data sending terminal acceleration module, or the data sending terminal acceleration module processes the data packet and then sends the data packet to a data receiving terminal.
The present invention further provides an implementation manner of a bilateral acceleration transmission system, as shown in fig. 9, including a data receiving end 1 and a data sending end 2.
The data receiving end 1 sets a data receiving end acceleration module 101 in the data receiving end kernel 10, and is configured to insert an identifier into the connection packet, send the connection packet to the data sending end 2 to establish a connection, and initiate a data request to the data sending end 2 after the connection is established.
The data sending end 2 sets a data sending end acceleration module 201 in the data sending end kernel 20, and is configured to receive the connection packet sent by the data receiving end acceleration module 101, establish a connection with the data receiving end 1, recode the data packet after receiving a data request, and perform accelerated transmission to the data receiving end acceleration module 101 according to a transmission strategy through the connection.
The bilateral acceleration transmission system is provided with the acceleration modules in the kernel modules respectively at the data receiving end 1 and the data sending end 2. When the data receiving end 1 and the data sending end 2 need to perform data transmission, firstly, connection needs to be established between the data receiving end 1 and the data sending end 2, the data receiving end 1 generates a connection packet in an application layer, then the application layer sends the connection packet to the data receiving end acceleration module 101 in the data receiving end kernel 10, the data receiving end acceleration module 101 inserts a WIP identifier into the connection packet, and then the connection packet is sent to the data sending end 2. After the connection packet reaches the data sending end 2, the connection packet firstly enters a data sending end acceleration module 201 in the data sending end kernel 20, and then is transmitted to the data sending end kernel 20 through the data sending end acceleration module 201. The data sending end kernel 20 sends a response data packet to the data receiving end 1. After the data receiving end 1 receives the response data packet, the establishment of the bilateral accelerated transmission connection between the data receiving end 1 and the data sending end 2 is completed. The data receiving end 1 generates a data request at an application layer and sends the data request to the data receiving end kernel 10, and the data receiving end kernel 10 initiates the data request to the data sending end 2 through the data receiving end acceleration module 101 in the data receiving end kernel 10. After receiving the data request, the data sending end 2 transmits the data request to the data sending end kernel 20 through the data sending end acceleration module 201, the data sending end kernel 20 transmits the data request to the application layer of the data sending end 2, the application layer generates a data packet according to the data request and transmits the data packet to the data sending end kernel 20, the data sending end kernel 20 transmits the data packet to the data sending end acceleration module 201, the data sending end acceleration module 201 builds a WIP identifier in a connection packet before the data packet is inserted, recodes the data packet, and then transmits the data packet to the data receiving end acceleration module 101 of the data receiving end 1 in an acceleration mode according to strategy transmission through the connection built before.
As shown in fig. 10, the data receiving end acceleration module 101 specifically includes: an identification module 1011 and a decoding module 1012. The data sending end acceleration module 201 specifically includes: marking module 2011 and recoding module 2012.
The identification module 1011 is configured to insert an identifier into the connection packet, and then send the connection packet to the data sending end acceleration module 201; the decoding module 1012 determines whether the data packet received by the data receiving end 1 needs to be decoded, directly transmits the data packet that does not need to be decoded to the data receiving end kernel 10, decodes the data packet that needs to be decoded, and then transmits the data packet to the data receiving end kernel 10.
The marking module 2011 is configured to determine whether the connection packet includes an identifier, directly send the connection packet that does not include the identifier to the data sending-end kernel 20, decode the connection packet that includes the identifier, mark the connection according to the identifier inserted in the connection packet, and send the decoded connection packet to the data sending-end kernel 20; the re-encoding module 2012 is configured to insert an identifier into the packet for re-encoding, and send the packet with the inserted identifier to the data receiving end acceleration module 101 according to the transmission policy.
The connection process of the data receiving end 1 and the data sending end 2 is as follows: after receiving the connection packet, the data receiving end acceleration module 101 passes the connection packet to the identification module 1011, and the identification module 1011 inserts the WIP identifier into the connection packet and sends the connection packet to the data sending end acceleration module 201. After receiving the link packet, the data sending terminal acceleration module 201 determines, by the marking module 2011, whether the link packet includes an identifier, directly sends the link packet without the WIP identifier to the data sending terminal kernel 20, decodes the link packet including the WIP identifier, marks the link packet according to the WIP identifier in the decoded link packet, and then sends the decoded link packet to the data sending terminal kernel 20. After receiving the decoded or undecoded connection packet, the data sending end kernel 20 performs subsequent steps according to the information in the connection packet, and then sends a response data packet to the data sending end 1, and the data sending end 1 completes connection establishment after receiving the response data packet.
The data transmission process of the data receiving end 1 and the data sending end 2 is as follows: after the connection is established, the data receiving end 1 initiates a data request to the data sending end 2, after the data sending end 2 receives the data request, the data packet is sent to the data sending end acceleration module 201, after the data sending end acceleration module 201 receives the data packet, the data packet is sent to the recoding module 2012, the recoding module inserts the connected WIP identifier to be used by the data packet into the data packet to recode the data packet, then the data packet is sent to the data receiving end acceleration module 101 according to the transmission strategy, after the data receiving end acceleration module 101 receives the data packet, the decoding module 1012 judges whether the data packet received by the data receiving end needs to be decoded or not, the data packet which does not need to be decoded is directly sent to the data receiving end kernel 10, the data packet which needs to be decoded is decoded, and then the data packet is sent to the data receiving end.
As shown in fig. 11, the data receiving end acceleration module 101 further includes: a first acceleration determination module 1013; the data sending end acceleration module 201 further includes: a second acceleration determination module 2013.
The first acceleration determining module 1013 is configured to determine whether acceleration is needed according to the application layer interface value and the global parameter, and send the connection packet to the identifying module 1011 if acceleration is needed, or directly send the connection packet to the data sending-end accelerating module 201 if acceleration is not needed.
The second acceleration determining module 2013 is configured to determine whether the connection needs to be accelerated according to the connection flag, and send the data packet to the re-encoding module 2012 if the connection needs to be accelerated, or directly send the data packet to the data receiving end accelerating module 101 otherwise.
The first acceleration determining module 1013 performs acceleration determination during a link establishment process, sends a link establishment packet that needs to be accelerated to the identifying module 1011 in the data receiving terminal acceleration module 101, and directly sends a link establishment packet that does not need to be accelerated to the data sending terminal acceleration module 201. The subsequent transmission process of the connection packet in the identification module 1011 and the data transmitting-end acceleration module 201 is the same as that in fig. 10.
The second acceleration determining module 2013 performs acceleration determination in the process of transmitting the data packet after the connection is completed, sends the data packet needing to be accelerated to the re-encoding module 2012, and directly sends the data packet not needing to be accelerated to the data receiving terminal acceleration module 101. The subsequent transmission of the data packet in the re-encoding module 2012 and the data sink acceleration module 101 is the same as that in fig. 10.
As shown in fig. 12, the data sender acceleration module 201 further includes: a retransmission module 2014.
The retransmission module 2014 is configured to transmit the retransmitted data packet by using the original transmission protocol, and if the data packet still needs to be retransmitted after the transmission failure, transmit the data packet by using the second transmission protocol.
During the transmission process of the data packet, the recoding module 2012 recodes the WIP identifier inserted into the data packet, and then uses the original transmission protocol to accelerate transmission to the data receiving terminal acceleration module 101, if the transmission fails, the retransmission module 2014 takes over the data packet, and firstly still uses the original transmission protocol used during the first transmission to retransmit, and if the transmission still fails after retransmitting for 2-3 times, then uses the second transmission protocol to retransmit the data packet.
As shown in fig. 13, the data receiving end 1 further includes a data receiving end acceleration module determining module 102 in the data receiving end kernel 10; the data transmitting end 2 further includes a data transmitting end acceleration module determining module 202 in the data transmitting end kernel 20.
The data receiving end acceleration module determining module 102 is configured to determine whether the data receiving end kernel 10 is configured with the data receiving end acceleration module 101. In the process of connection, after the data receiving end kernel 10 receives a connection packet sent by a data receiving end application layer, if the data receiving end kernel 10 is provided with a data receiving end acceleration module 101, the data receiving end kernel 10 sends the connection packet to the data receiving end acceleration module 101, otherwise, the data packet is directly sent to the data sending end 2; in the process of data accelerated transmission, after the data receiving end 1 receives a data packet, if the data receiving end kernel 10 is provided with the data receiving end acceleration module 101, the data packet received by the data receiving end 1 is sent to the data receiving end acceleration module 101, otherwise, the data packet is directly sent to the data receiving end kernel 10.
The data sending-end acceleration module determining module 202 is configured to determine whether the data sending-end kernel 20 sets the data sending-end acceleration module 201. In the process of connection, after the data sending end 2 receives the connection packet, if the data sending end kernel 20 is provided with the data sending end acceleration module 201, the connection packet received by the data sending end 2 is sent to the data sending end acceleration module 201, otherwise, the connection packet is directly sent to the data sending end kernel 20; in the process of accelerated data transmission, after the data sending end kernel 20 receives a data packet sent by the data sending end application layer, if the data sending end kernel 20 is provided with the data sending end acceleration module 201, the data sending end kernel 20 sends the data packet to the data sending end acceleration module 201, otherwise, the data packet is directly sent to the data receiving end 1.
As shown in fig. 14, the data receiving end 1 further includes an application layer acceleration determining module 11, configured to determine whether acceleration is needed according to an application self-acceleration policy, and if acceleration is not needed, directly send the connection packet to the data receiving end kernel, otherwise, call a data interface, set an interface value, and then send the connection packet to the data receiving end kernel 10.
The bilateral accelerated transmission method and the bilateral accelerated transmission system are realized by adopting a kernel module, are close to a system kernel layer, and have high performance and good stability; the method can provide a perfect application layer calling interface and a perfect global interface, and is convenient and simple to use; the system is seamlessly compatible with the traditional transmission control protocol/user datagram protocol, and when a transmission party does not have an installation module, transmission faults can not be caused; the transmission strategy is highly customizable and can adapt to different network environment requirements.
In each embodiment of the present invention, the data receiving end 1 may be a client such as a mobile phone, a computer, a tablet computer, or a smart watch, and the data sending end 2 may be a server.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the embodiments or some parts of the embodiments.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (15)

1. A bilateral acceleration transmission method is characterized by comprising the following steps:
setting a data transmitting terminal acceleration module in a data transmitting terminal kernel, and setting a data receiving terminal acceleration module in a data receiving terminal kernel;
the data receiving terminal acceleration module inserts an identifier into a link packet, and then sends the link packet to the data sending terminal acceleration module to establish connection;
after the connection is established, the data sending terminal acceleration module receives a data request sent by the data receiving terminal acceleration module, recodes a data packet, and carries out acceleration transmission to the data receiving terminal acceleration module according to a transmission strategy through the established connection;
wherein the transmission policy is: in the data packet transmission process, transmitting a data packet transmitted for the first time by using an original transmission protocol;
for the retransmitted data packet, the original transmission protocol is used for transmission, if the transmission fails, the data packet still needs to be retransmitted, and the second transmission protocol is used for transmission.
2. The method according to claim 1, wherein the specific steps of the data receiving side acceleration module inserting an identifier into a connection packet, and then sending the connection packet to the data sending side acceleration module to establish a connection include:
the data receiving terminal acceleration module inserts an identifier into a link packet, and then sends the link packet to the data sending terminal acceleration module;
the data sending terminal acceleration module receives the connection packet, marks the connection according to the identifier inserted in the connection packet, and then sends a response data packet to the data receiving terminal;
the data receiving end receives the response data packet, and the connection establishment is completed;
and the subsequent data packet transmission on the connection is finished through the data receiving end acceleration module and the data sending end acceleration module.
3. The bilateral acceleration transmission method of claim 2, wherein the specific steps of the data sending end acceleration module re-encoding the data packet after receiving the data request from the data receiving end acceleration module, and performing acceleration transmission to the data receiving end acceleration module according to the transmission policy through the established connection include:
the data receiving end sends a data request to the data sending end;
the data sending end generates a data packet after receiving the data request;
the data sending terminal acceleration module inserts the identifier into the data packet for recoding, and sends the data packet inserted with the identifier to the data receiving terminal acceleration module according to a transmission strategy;
the data receiving terminal acceleration module receives the data packet and judges whether the data packet needs to be decoded or not;
if the decoding is not needed, the data packet is directly sent to the inner core of the data receiving end;
and if the data packet needs to be decoded, decoding the data packet, and then sending the decoded data packet to the inner core of the data receiving terminal.
4. The method according to claim 3, wherein the step of inserting an identifier into the connection packet by the data receiving side acceleration module, and then sending the connection packet to the data sending side acceleration module comprises:
after receiving the connection packet sent by the data receiving end application layer, the data receiving end acceleration module judges whether acceleration is needed according to an interface value and global parameters set by the data receiving end application layer;
if the acceleration is not needed, the building package is directly sent to a data sending end;
if acceleration is needed, inserting an identifier into the connection packet, and then sending the connection packet to the data sending end;
the data sending end receives the connection packet and judges whether the kernel of the data sending end is provided with the data sending end acceleration module or not;
if the data sending terminal acceleration module is not installed, the connection packet is directly sent to the kernel of the data sending terminal;
and if the data sending end acceleration module is installed, sending the connection packet to the data sending end acceleration module.
5. The dual-edge acceleration transmission method according to claim 4, wherein the step of the data receiving-end acceleration module inserting an identifier into a connection packet and then sending the connection packet to the data sending-end acceleration module further comprises:
the data receiving end application layer establishes a connection packet, and judges whether acceleration is needed or not according to the self acceleration strategy of the data receiving end application layer;
if the acceleration is not needed, the connection packet is directly sent to the kernel of the data receiving end;
if acceleration is needed, calling a corresponding data interface, setting an interface value, and then sending the connection packet to the inner core of the data receiving end;
the kernel of the data receiving end receives the connection packet and judges whether the kernel of the data receiving end is provided with the acceleration module of the data receiving end or not;
if the data receiving terminal acceleration module is not installed, the connection packet is directly sent to the data sending terminal;
and if the data receiving end acceleration module is installed, the connection packet is sent to the data receiving end acceleration module.
6. The method according to claim 5, wherein the specific steps of the data sending-end acceleration module receiving the connection packet, marking the connection according to the identifier inserted in the connection packet, and then sending a response data packet to the data receiving end include:
the data sending terminal acceleration module receives the connection packet and judges whether the connection packet contains the identifier;
if the connection packet does not contain the identifier, the connection packet is directly sent to the data sending end kernel;
if the connection packet contains the identifier, the data sending terminal acceleration module marks the connection according to the identifier, decodes the connection packet, and sends the decoded connection packet to the data sending terminal kernel;
and after receiving the connection packet, the kernel of the data sending end sends a response data packet to the data receiving end.
7. The bilateral acceleration transmission method according to any one of claims 3 or 6, wherein the specific steps of the data sending-end acceleration module inserting the identifier into the data packet for re-encoding, and sending the data packet inserted with the identifier to the data receiving-end acceleration module for acceleration transmission according to the transmission policy include:
the data sending terminal acceleration module receives the data packet sent by the data sending terminal application layer, and judges whether the connection needs to be accelerated or not according to a connection mark;
if the acceleration is not needed, the data packet is directly sent to the data receiving end;
if acceleration is needed, the identifier is inserted into the data packet, the data packet is recoded, and then the data packet is sent to the data receiving end according to the transmission strategy;
the data receiving end receives the data packet and judges whether the data receiving end kernel is provided with the data receiving end acceleration module or not;
if the data receiving end acceleration module is not installed, the data packet is sent to the data receiving end kernel;
and if the data receiving end acceleration module is installed, sending the data packet to the data receiving end acceleration module.
8. The bilateral acceleration transmission method of claim 7, wherein the step of the data sending-end acceleration module inserting the identifier into the data packet for re-encoding, and sending the data packet inserted with the identifier to the data receiving-end acceleration module for acceleration transmission according to the transmission policy further comprises:
the data transmitting end application layer transmits a data packet to the data transmitting end kernel;
after receiving the data packet, the data sending end kernel judges whether the data sending end kernel is provided with the data sending end acceleration module or not;
if the data sending terminal acceleration module is not installed, the data packet is directly sent to the data receiving terminal;
and if the data transmitting terminal acceleration module is installed, transmitting the data packet to the data transmitting terminal acceleration module.
9. The dual-edge acceleration transmission method according to claim 8, wherein the identifier is a WIP identifier, and the connection packet header is inserted through the data receiving-end acceleration module or the data packet header is inserted through the data sending-end acceleration module.
10. A bilateral acceleration transmission system comprises a data sending end and a data receiving end, and is characterized in that,
the data receiving terminal is provided with a data receiving terminal acceleration module in a kernel, and the data receiving terminal acceleration module is used for inserting an identifier into a connection packet, sending the connection packet to the data sending terminal to establish connection and initiating a data request to the data sending terminal after the connection is established;
the data sending end is provided with a data sending end acceleration module in a kernel, and the data sending end is used for receiving the connection packet, establishing connection with the data receiving end, recoding the data packet after receiving the data request, and carrying out acceleration transmission on the data receiving end acceleration module according to a transmission strategy through the connection; wherein the transmission policy is: in the data packet transmission process, transmitting a data packet transmitted for the first time by using an original transmission protocol; for the retransmitted data packet, the original transmission protocol is used for transmission, if the transmission fails, the data packet still needs to be retransmitted, and the second transmission protocol is used for transmission.
11. The dual edge acceleration transfer system of claim 10,
the data receiving terminal acceleration module specifically includes:
the identification module is used for inserting an identifier into the connection packet and then sending the connection packet to the data sending terminal acceleration module;
the decoding module is used for judging whether the data packet received by the data receiving end needs to be decoded or not, directly sending the data packet which does not need to be decoded to a data receiving end kernel, decoding the data packet which needs to be decoded and then sending the data packet to the data receiving end kernel;
the data sending end acceleration module specifically includes:
a marking module, configured to determine whether the connection packet includes the identifier, directly send the connection packet that does not include the identifier to a data sending end kernel, decode the connection packet that includes the identifier, mark the connection according to the identifier inserted in the connection packet, and send the decoded connection packet to the data sending end kernel;
and the recoding module is used for inserting the identifier into the data packet for recoding, and sending the data packet inserted with the identifier to the data receiving terminal acceleration module according to a transmission strategy.
12. The dual edge acceleration transfer system of claim 11,
the data receiving terminal acceleration module further comprises: the first acceleration judging module is used for judging whether acceleration is needed or not according to the interface value of the application layer and the global parameter, if the acceleration is needed, the connection packet is sent to the identification module, otherwise, the connection packet is directly sent to the data sending end acceleration module;
the data sending terminal acceleration module further comprises: and the second acceleration judging module is used for judging whether the connection needs to be accelerated or not according to the connection mark, sending the data packet to the recoding module if the connection needs to be accelerated, and directly sending the data packet to the data receiving terminal acceleration module if the connection needs to be accelerated.
13. The dual-edge acceleration transmission system according to claim 12, wherein the data sender acceleration module further comprises:
and the retransmission module is used for firstly transmitting the retransmitted data packet by using an original transmission protocol, and if the data packet still needs to be retransmitted after transmission failure, transmitting the data packet by using a second transmission protocol.
14. The dual edge acceleration transfer system of claim 13,
the data receiving end kernel also comprises a data receiving end acceleration module judging module which is used for judging whether the data receiving end kernel is provided with the data receiving end acceleration module;
the data sending terminal kernel also comprises a data sending terminal acceleration module judging module which is used for judging whether the data sending terminal kernel is provided with the data sending terminal acceleration module.
15. The dual-edge acceleration transmission system according to claim 14, wherein the data receiving end further includes an application layer acceleration determining module, configured to determine whether acceleration is required according to an application self acceleration policy, and if acceleration is not required, directly send the connection packet to the data receiving end kernel, otherwise, invoke a data interface, set an interface value, and then send the connection packet to the data receiving end kernel.
CN201710413055.9A 2017-06-05 2017-06-05 Bilateral acceleration transmission method and system Active CN107172179B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710413055.9A CN107172179B (en) 2017-06-05 2017-06-05 Bilateral acceleration transmission method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710413055.9A CN107172179B (en) 2017-06-05 2017-06-05 Bilateral acceleration transmission method and system

Publications (2)

Publication Number Publication Date
CN107172179A CN107172179A (en) 2017-09-15
CN107172179B true CN107172179B (en) 2020-02-18

Family

ID=59825542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710413055.9A Active CN107172179B (en) 2017-06-05 2017-06-05 Bilateral acceleration transmission method and system

Country Status (1)

Country Link
CN (1) CN107172179B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786371B (en) * 2017-10-09 2021-06-29 咪咕视讯科技有限公司 Data acceleration method and device and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516122A (en) * 2015-12-03 2016-04-20 网宿科技股份有限公司 Method and system for accelerating network transmission of acceleration strategy with hierarchical configuration
CN106453356A (en) * 2016-10-25 2017-02-22 网宿科技股份有限公司 Wireless network bilateral accelerated transmission method and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680764B2 (en) * 2013-04-06 2017-06-13 Citrix Systems, Inc. Systems and methods for diameter load balancing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516122A (en) * 2015-12-03 2016-04-20 网宿科技股份有限公司 Method and system for accelerating network transmission of acceleration strategy with hierarchical configuration
CN106453356A (en) * 2016-10-25 2017-02-22 网宿科技股份有限公司 Wireless network bilateral accelerated transmission method and system

Also Published As

Publication number Publication date
CN107172179A (en) 2017-09-15

Similar Documents

Publication Publication Date Title
CA2611776C (en) Method and communication unit for communicating between communication apparatuses
US20080301799A1 (en) Method and apparatus for reliable, high speed data transfers in a high assurance multiple level secure environment
WO2012155994A1 (en) Anonymous signalling
US10044831B2 (en) Method and apparatus for transmitting messages to a dash client
CN114221909B (en) Data transmission method, device, terminal and storage medium
US10129163B2 (en) Methods and apparatus for preventing head of line blocking for RTP over TCP
CN110113298B (en) Data transmission method, device, signaling server and computer readable medium
AU2013262210B2 (en) Transmission method for media data stream and thin client
CN107172179B (en) Bilateral acceleration transmission method and system
US20030076813A1 (en) Method and packet switched communication network with enhanced session establishment
EP3573309B1 (en) Network telephone processing method and related network device
CN112994848B (en) MCS (modulation and coding scheme) adjusting method and device, storage medium and wireless node
CN111200562B (en) Flow guiding method, static father node, edge node and CDN (content delivery network)
CN104092703B (en) CTI signal processing systems and its method based on TSP services
US20160149855A1 (en) Service processing method, system, and relevant device
CN111585962A (en) RTP data packet processing method, system and storage medium
WO2013052060A1 (en) Communication over a wireless connection
CN112243160A (en) Data transmission method, device, terminal equipment and storage medium
CN109120578B (en) Method and device for realizing link connection processing
CN101616072A (en) Network address conversion device and method for processing packet thereof
JP2008199431A (en) Communication device
WO2023179019A1 (en) User plane configuration method and system for supporting low-latency service, and base station and medium
CN110602060B (en) Method, system, terminal and readable storage medium for obtaining gain value
CN112073673A (en) Video networking conference server and video networking terminal
CN109196870B (en) Method and apparatus for transmitting and receiving MMTP packets

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant