CN111200830A - Data transmission method and device and electronic equipment - Google Patents
Data transmission method and device and electronic equipment Download PDFInfo
- Publication number
- CN111200830A CN111200830A CN202010003075.0A CN202010003075A CN111200830A CN 111200830 A CN111200830 A CN 111200830A CN 202010003075 A CN202010003075 A CN 202010003075A CN 111200830 A CN111200830 A CN 111200830A
- Authority
- CN
- China
- Prior art keywords
- transmission
- data
- data packet
- request
- packet
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0083—Determination of parameters used for hand-off, e.g. generation or modification of neighbour cell lists
- H04W36/0085—Hand-off measurements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/14—Reselecting a network or an air interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/24—Reselection being triggered by specific parameters
- H04W36/30—Reselection being triggered by specific parameters by measured or perceived connection quality data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The present disclosure provides a data transmission method and apparatus, an electronic device, and a storage medium; relates to the technical field of network communication. The data transmission method comprises the following steps: receiving a request data packet sent by a service request party; if the request data packet is a non-redundant data packet, forwarding the request data packet to a service server; receiving a response data packet of the service server to the request data packet; determining transmission indexes of transmission channels between the service request party and the service request party, and determining a target transmission channel according to the transmission indexes of the transmission channels; and sending the response data packet to the service requester through the target transmission channel. The method and the device can solve the problem that single-channel data transmission is unreliable, and further improve the efficiency of data transmission.
Description
Technical Field
The present disclosure relates to the field of network communication technologies, and in particular, to a data transmission method, a data transmission apparatus, an electronic device, and a computer-readable medium.
Background
With the development of data communication technology, most terminal devices can support access to a network for data transmission in a data traffic and local area network manner. For example, a user may open a local area network connection at a mobile phone terminal, so as to access a web page through the local area network, or close the local area network connection, open a data traffic, and access the web page through the data traffic.
In the prior art, a user can only select one mode of a local area network or data traffic to access data at a time. In order to meet the requirement of the user on the transmission rate, it is usually preferred to transmit data by way of a local area network. However, the stability of the local area network is weak, and data access failure is easily caused in the case of weak network. When the local area network fails to access the data, the user needs to be reminded to switch the network connection, and the data can be accessed through the data flow only after the network connection is switched to the data flow, so that the data transmission rate is greatly influenced, and the data transmission rate is low.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
An object of the present disclosure is to provide a data transmission method, a data transmission apparatus, an electronic device, and a computer-readable medium, thereby overcoming, to some extent, the problem of a low data transmission rate due to the limitations and disadvantages of the related art.
According to an aspect of the present disclosure, there is provided a data transmission method including:
receiving a request data packet sent by a service request party;
if the request data packet is a non-redundant data packet, forwarding the request data packet to a service server;
receiving a response data packet of the service server to the request data packet;
determining transmission indexes of transmission channels between the service request party and the service request party, and determining a target transmission channel according to the transmission indexes of the transmission channels;
and sending the response data packet to the service requester through the target transmission channel.
In an exemplary embodiment of the present disclosure, if the request packet is a non-redundant packet, before forwarding the request packet to a service provider, the method further includes:
and acquiring the identification information of the request data packet to determine whether the request data packet is a non-redundant data packet according to the identification information.
In an exemplary embodiment of the disclosure, the determining whether the request packet is a non-redundant packet according to the identification information includes:
acquiring a unique identifier of the service requester according to the request data packet, and taking the unique identifier and a packet sequence number of the request data packet as the identifier information;
acquiring the received data packets except the request data packet;
in each data packet, if a data packet with the same identification information as the request data packet exists, determining that the request data packet is a redundant data packet;
and if the data packet with the same identification information as the request data packet does not exist, determining that the request data packet is a non-redundant data packet.
In an exemplary embodiment of the disclosure, the determining a transmission index of each transmission channel with the service requester includes:
and respectively binding the unique identifier of the service request party and each transmission channel of the service request party so as to determine the transmission index of each transmission channel between the service request party and the unique identifier.
In an exemplary embodiment of the disclosure, the determining a transmission index of each transmission channel with the service requester includes:
acquiring transmitted data corresponding to each transmission channel between the service request parties;
and calculating the transmission indexes of the transmission channels based on the transmitted data.
In an exemplary embodiment of the disclosure, the calculating the transmission index of each transmission channel based on the transmitted data includes:
and calculating the average time delay of each transmission channel according to the time stamp of the data packet in the transmitted data, and taking the average time delay as the transmission index.
In an exemplary embodiment of the disclosure, the calculating the transmission index of each transmission channel based on the transmitted data includes:
and calculating the packet loss rate of each transmission channel according to the number of the data packets in the transmitted data, and taking the packet loss rate as the transmission index.
In an exemplary embodiment of the disclosure, the calculating the transmission index of each transmission channel based on the transmitted data includes:
and calculating the time delay variance of each transmission channel according to the time stamp of the data packet in the transmitted data, and taking the time delay variance as the transmission index.
In an exemplary embodiment of the disclosure, the calculating the transmission index of each transmission channel based on the transmitted data includes:
for each transmission channel, calculating each index based on the transmitted data;
and respectively determining weights for the indexes to calculate the transmission indexes of the transmission channels based on the indexes and the weights of the indexes.
In an exemplary embodiment of the present disclosure, before calculating the transmission index of each transmission channel based on the transmitted data, the method further includes:
determining useless channels in each transmission channel between the service requester and the service requester based on the transmitted data;
and cleaning the useless channel.
In an exemplary embodiment of the present disclosure, the determining a target transmission channel according to the transmission index of each transmission channel includes:
determining the transmission channel with the transmission index meeting the preset condition as a target transmission channel in each transmission channel;
and if the transmission indexes of the transmission channels do not accord with the preset conditions, determining the transmission channels as target transmission channels.
According to an aspect of the present disclosure, there is also provided a data transmission apparatus for performing the data transmission method described above, the apparatus includes a data receiving module, a data forwarding module, a data responding module, a transmission channel determining module, and a data sending module, wherein:
the data receiving module is used for receiving a request data packet sent by a service request party;
the data forwarding module is used for forwarding the request data packet to a service server if the request data packet is a non-redundant data packet;
a data response module, configured to receive a response packet of the service server for the request packet;
a transmission channel determining module, configured to determine a transmission index of each transmission channel between the service requester and the service requester, and determine a target transmission channel according to the transmission index of each transmission channel;
and the data sending module is used for sending the response data packet to the service requester through the target transmission channel.
In an exemplary embodiment of the disclosure, the apparatus may further include a redundancy determining module, configured to obtain identification information of the request data packet, so as to determine whether the request data packet is a non-redundant data packet according to the identification information.
In an exemplary embodiment of the present disclosure, the redundancy determining module may specifically include an identifier obtaining module, a data packet obtaining module, a redundancy determining module, and a non-redundancy determining module, where:
and the identification acquisition module is used for acquiring the unique identification of the service requester according to the request data packet and taking the unique identification and the packet sequence number of the request data packet as the identification information.
And the data packet acquisition module is used for acquiring the received data packets except the request data packet.
And the redundancy determining module is used for determining the request data packet as a redundant data packet if the data packet with the same identification information as the request data packet exists in each data packet.
And the non-redundancy determining module is used for determining that the request data packet is a non-redundancy data packet if no data packet with the same identification information as the request data packet exists.
In an exemplary embodiment of the disclosure, the transmission channel determining module may determine the transmission index of each transmission channel with the service requester by: and respectively binding the unique identifier of the service request party and each transmission channel of the service request party so as to determine the transmission index of each transmission channel between the service request party and the unique identifier.
In an exemplary embodiment of the present disclosure, the transmission channel determining module may specifically include a transmission data obtaining module and an index determining module, where:
and the transmission data acquisition module is used for acquiring the transmitted data corresponding to each transmission channel between the service request parties.
And the index determining module is used for calculating the transmission indexes of the transmission channels based on the transmitted data.
In an exemplary embodiment of the disclosure, the index determination module may calculate the transmission index of each transmission channel based on the transmitted data by: and calculating the average time delay of each transmission channel according to the time stamp of the data packet in the transmitted data, and taking the average time delay as the transmission index.
In an exemplary embodiment of the disclosure, the index determination module may calculate the transmission index of each transmission channel based on the transmitted data by: and calculating the packet loss rate of each transmission channel according to the number of the data packets in the transmitted data, and taking the packet loss rate as the transmission index.
In an exemplary embodiment of the disclosure, the index determination module may calculate the transmission index of each transmission channel based on the transmitted data by: and calculating the time delay variance of each transmission channel according to the time stamp of the data packet in the transmitted data, and taking the time delay variance as the transmission index.
In an exemplary embodiment of the present disclosure, the index determination module may include a multi-index calculation module and a weight determination module, wherein:
and the multi-index calculation module is used for calculating each index based on the transmitted data for each transmission channel.
And the weight determining module is used for respectively determining weights for the indexes so as to calculate the transmission indexes of the transmission channels based on the indexes and the weights of the indexes.
In an exemplary embodiment of the disclosure, the apparatus further comprises a garbage channel determination module and a channel cleaning module, wherein:
and the useless channel determining module is used for determining useless channels in all transmission channels between the business requesting party and the business requesting party based on the transmitted data.
And the channel cleaning module is used for cleaning the useless channel.
In an exemplary embodiment of the present disclosure, the transmission channel determining module may include a single channel determining module and a multi-channel determining module, wherein:
and the single channel determining module is used for determining the transmission channel with the transmission index meeting the preset condition as a target transmission channel in each transmission channel.
And the multi-channel determining module is used for determining each transmission channel as a target transmission channel if the transmission indexes of the transmission channels do not accord with the preset conditions.
According to another aspect of the present disclosure, there is provided a data transmission method including:
determining each transmission channel between the service provider and the service provider, and determining a target transmission channel according to the transmission index of each transmission channel;
receiving a request data packet of a service request party;
sending the request data packet to the service party through the target transmission channel;
receiving a response data packet of the service server to the request data packet;
and if the response data packet is a non-redundant data packet, forwarding the response data packet to the service request party.
In an exemplary embodiment of the disclosure, the sending the request packet to the service server through the target transmission channel includes:
determining a routing address corresponding to the service requester;
and sending the request data packet to the routing address through the target transmission channel so as to forward the request data packet to the service party by using the routing address.
According to an aspect of the present disclosure, there is also provided a data transmission apparatus for performing the data transmission method described above, the apparatus including a transmission channel determining module, a data receiving module, a data sending module, a data responding module, and a data filtering module, wherein:
the transmission channel determining module is used for determining each transmission channel between the service server and the transmission channel determining module and determining a target transmission channel according to the transmission indexes of each transmission channel;
the data packet receiving module is used for receiving a request data packet of a service request party;
a data packet sending module, configured to send the request data packet to the service server through the target transmission channel;
a data response module, configured to receive a response packet of the service server for the request packet;
and the data packet filtering module is used for forwarding the response data packet to the service request party if the response data packet is a non-redundant data packet.
In an exemplary embodiment of the present disclosure, the data sending module may include a routing module and a forwarding module, wherein:
and the routing module is used for determining a routing address corresponding to the service request party.
And the forwarding module is used for sending the request data packet to the routing address through the target transmission channel so as to forward the request data packet to the service server by using the routing address.
According to an aspect of the present disclosure, there is provided an electronic device including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the method of any one of the above via execution of the executable instructions.
According to an aspect of the present disclosure, there is provided a computer readable medium having stored thereon a computer program which, when executed by a processor, implements the method of any one of the above.
Exemplary embodiments of the present disclosure may have some or all of the following benefits:
in the data transmission method provided in an exemplary embodiment of the present disclosure, on one hand, the data packet can be ensured to be reachable by sending the response data packet to the service requester through the multiple target transmission channels between the service requester and the service requester, and the problem of data packet loss is avoided, so that the reliability of data transmission can be improved. On the other hand, if the plurality of transmission channels all receive the request data packet sent by the service request party, only the non-redundant data packet is forwarded to the service party, so that the data forwarding times can be reduced, and the excessive occupation of resources is avoided, thereby reducing the power consumption of the equipment, reducing the problem of equipment heating, and prolonging the service life of the equipment. On the other hand, when a response data packet is sent to the service request party each time, a transmission channel with faster transmission can be selected according to the transmission indexes of the transmission channels, so that the data transmission rate can be greatly improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
Fig. 1 is a schematic diagram illustrating an exemplary system architecture to which a data transmission method and apparatus according to an embodiment of the present disclosure may be applied;
FIG. 2 illustrates a schematic structural diagram of a computer system suitable for use with the electronic device used to implement embodiments of the present disclosure;
fig. 3 schematically shows a flow chart of a data transmission method according to an embodiment of the present disclosure;
FIG. 4 schematically shows a flow chart of the steps of determining whether a request packet is a non-redundant packet in accordance with an embodiment of the present disclosure;
FIG. 5 schematically shows a flow chart of the steps of determining a transmission index according to an embodiment of the present disclosure;
FIG. 6 schematically shows a flow chart of the steps of determining a target transmission channel in one embodiment according to the present disclosure;
FIG. 7 schematically illustrates a flow chart of a method of data transmission in one embodiment according to the present disclosure;
FIG. 8 schematically illustrates a data interaction diagram of a data transmission method in an embodiment in accordance with the present disclosure;
FIG. 9 schematically shows a flow chart of a data transmission method in an embodiment according to the present disclosure;
FIG. 10 schematically illustrates an interface display effect diagram in one embodiment according to the present disclosure;
FIG. 11 schematically illustrates an interface display effect diagram in another embodiment according to the present disclosure;
FIG. 12 schematically illustrates a block diagram of a data transmission device in one embodiment according to the present disclosure;
fig. 13 schematically illustrates a block diagram of a data transmission apparatus according to another embodiment of the present disclosure;
fig. 14 schematically shows an application scenario diagram of the data transmission method according to an embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and the like. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
Fig. 1 is a schematic diagram illustrating an exemplary system architecture to which a data transmission method and apparatus according to an embodiment of the present disclosure may be applied.
As shown in fig. 1, the system architecture 100 may include one or more of terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few. The terminal devices 101, 102, 103 may be various electronic devices having a display screen, including but not limited to desktop computers, portable computers, smart phones, tablet computers, and the like. It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation. For example, the server 105 may be a server cluster formed by a plurality of servers, or may be a proxy server cluster corresponding to the server, etc.
The data transmission method provided by the embodiment of the present disclosure may be executed by the server 105, and accordingly, the data transmission device is generally disposed in the server 105. However, it is easily understood by those skilled in the art that the data transmission method provided in the embodiments of the present disclosure may also be executed by the terminal devices 101, 102, and 103, and accordingly, the data transmission apparatus may also be disposed in the terminal devices 101, 102, and 103; alternatively, the data transmission method may be executed by a virtual server or a proxy server between the terminal device and the server, and correspondingly, the data transmission apparatus may also be disposed in the virtual server or the proxy server; this is not particularly limited in the present exemplary embodiment. For example, in an exemplary embodiment, the server 105 receives a request packet sent by a service requester, determines that the request packet is a non-redundant packet, forwards the request packet to the service requester, then receives a response packet from the service requester, determines a target transmission channel with the service requester, and forwards the response packet to the service requester through the target transmission channel.
FIG. 2 illustrates a schematic structural diagram of a computer system suitable for use in implementing the electronic device of an embodiment of the present disclosure.
It should be noted that the computer system 200 of the electronic device shown in fig. 2 is only an example, and should not bring any limitation to the functions and the scope of the application of the embodiments of the present disclosure.
As shown in fig. 2, the computer system 200 includes a Central Processing Unit (CPU)201 that can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)202 or a program loaded from a storage section 208 into a Random Access Memory (RAM) 203. In the RAM 203, various programs and data necessary for system operation are also stored. The CPU201, ROM 202, and RAM 203 are connected to each other via a bus 204. An input/output (I/O) interface 205 is also connected to bus 204.
The following components are connected to the I/O interface 205: an input portion 206 including a keyboard, a mouse, and the like; an output section 207 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 208 including a hard disk and the like; and a communication section 209 including a network interface card such as a LAN card, a modem, or the like. The communication section 209 performs communication processing via a network such as the internet. A drive 210 is also connected to the I/O interface 205 as needed. A removable medium 211 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 210 as necessary, so that a computer program read out therefrom is mounted into the storage section 208 as necessary.
In particular, the processes described below with reference to the flowcharts may be implemented as computer software programs, according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 209 and/or installed from the removable medium 211. The computer program, when executed by a Central Processing Unit (CPU)201, performs various functions defined in the methods and apparatus of the present application.
It should be noted that the computer readable media shown in the present disclosure may be computer readable signal media or computer readable storage media or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer-readable signal medium may include a propagated data signal with computer-readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software, or may be implemented by hardware, and the described units may also be disposed in a processor. Wherein the names of the elements do not in some way constitute a limitation on the elements themselves.
As another aspect, the present application also provides a computer-readable medium, which may be contained in the electronic device described in the above embodiments; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by an electronic device, cause the electronic device to implement the method as described in the embodiments below. For example, the electronic device may implement the steps shown in fig. 3 to 9, and the like.
The technical solution of the embodiment of the present disclosure is explained in detail below:
Wi-Fi is currently the most widely used local area network technology, and has a small coverage area and a high transmission rate, while mobile traffic has a larger coverage area than Wi-Fi. However, the same device cannot access the server to obtain data through the Wi-Fi transmission channel and the mobile traffic transmission channel at the same time, and only the user can manually switch from the Wi-Fi transmission channel to the mobile traffic transmission channel or from the mobile traffic transmission channel to the Wi-Fi transmission channel, which results in that the data transmission rate between the devices cannot be further optimized.
The inventor tries to keep the Wi-Fi transmission channel and the traffic transmission channel on the terminal equipment at the same time, and accesses the server to acquire data through the two channels, so that the data transmission rate can be guaranteed to be maintained at a high level. However, the data transmission through the two transmission channels causes data redundancy, thereby causing high power consumption, causing serious heating of the device, and even possibly causing a problem that a service error is unavailable due to redundant data.
In view of one or more of the above problems, the present example embodiment provides a data transmission method. The data transmission method may be applied to the server 105, and may also be applied to a proxy server corresponding to the server 105, which is not particularly limited in this exemplary embodiment. Referring to fig. 3, the data transmission method may include the following steps S310 to S340:
step S310, a request data packet sent by a service request party is received.
Step S320, if the request data packet is a non-redundant data packet, forwarding the request data packet to a service party.
And S330, receiving a response data packet of the service server to the request data packet.
Step S340, determining the transmission indexes of each transmission channel between the service request party and the service request party, and determining a target transmission channel according to the transmission indexes of each transmission channel.
And S350, sending a response data packet to the service request party through the target transmission channel.
In the data transmission method provided in this exemplary embodiment, on one hand, sending response data packets to the service requester through the multiple target transmission channels between the service requester and the response data packets can ensure that the data packets are reachable, thereby avoiding the problem of data packet loss, and improving the reliability of data transmission. On the other hand, if the plurality of transmission channels all receive the request data packet sent by the service request party, only the non-redundant data packet is forwarded to the service party, so that the data forwarding times can be reduced, and the excessive occupation of resources is avoided, thereby reducing the power consumption of the equipment, reducing the problem of equipment heating, and prolonging the service life of the equipment. On the other hand, when a response data packet is sent to the service request party each time, a transmission channel with faster transmission can be selected according to the transmission indexes of the transmission channels, so that the data transmission rate can be greatly improved.
The above steps of the present exemplary embodiment will be described in more detail below.
In step S310, a request packet sent by a service requester is received.
The service requesting party and the service serving party can interact with each other, so that a service function is realized, and a service application program is improved for a user. The application program can be installed in a terminal device or a server, the application program requesting data can be used as a service requester, the application program providing data can be used as a service server, and data transmission can be performed between the application programs at the two ends through a network. For example, the service requester may be an application installed in the terminal device, and the service server may be an application installed in the server; or, the service requesting party may also be an application program in the server, and the service serving party is an application program in the terminal device; in addition, the service requester and the service server may also be applications in two terminal devices, or applications in two servers; this embodiment is not particularly limited to this.
The request packet may include identification information of the service requester itself. The identification information may include a network address of a device where the service requester is located, such as an IP address and a mac address, or may also include a network socket (socket), or other information, such as a custom identifier of the service requester, which is not limited in this embodiment. The request packet may also include identification information of the corresponding service provider, such as an IP address of the service provider, or identification information of the request packet itself, such as a packet sequence number. Of course, the request packet may further include information of data to be acquired, for example, a storage address of the data, a data type, and the like, which is not particularly limited in this embodiment.
In this exemplary embodiment, when the service requester needs to obtain data, the service requester may send a request data packet to the service server, and the device or the server to which the service server belongs may receive the request data packet, or may be a proxy server corresponding to the service server. The proxy server refers to an intermediate program that can be used to forward the request of the service requester to the service server actually corresponding to the service requester. Data transmission and reception between the service requester and the service server need to be performed through a transmission channel formed by network connection.
A transmission channel refers to a network connection between a service requester and a service server. The transmission channel may be formed by a socket of the service requester and a socket of the corresponding service server, that is, the transmission channel may include a pair of sockets. In this embodiment, the transmission channel may include multiple types, the network channel established by the Wi-Fi signal may be a Wi-Fi channel, and the network channel established by the operator base station may be a Long Term Evolution (LTE) channel. Alternatively, the network connection may be established in other manners, for example, establishing a hot spot channel through a hot spot, which is not limited in this embodiment.
When the transmission channel is established, the authority acquisition request can be sent to the service requester, so that the network connection authority of the service requester is acquired. The authority acquiring request can comprise the authorities of all transmission channels, so that the transmission channels are respectively established with the service requesting party in various ways after the authorities are acquired; permission for a particular one or more transmission channels may also be included, for example, permission for Wi-Fi connections and LTE connections, such that after obtaining the permission, a particular transmission channel is established.
Take a proxy server of a business service side as an example. The proxy server may provide a plurality of ports to establish a transmission channel with the service requester, and perform data transmission through the transmission channel, thereby receiving the request packet. Specifically, the service requester may send a connection request to the service provider according to the IP address of the service provider, where the connection request may include a socket (socket), and the socket is a combination of an IP address and a port number. And when the proxy server receives the request, the proxy server can verify the identity of the service requester, and after the verification is passed, the socket can be bound with the socket of the service requester to determine a transmission channel with the service requester, so that the request data packet of the service requester is received through the transmission channel. For example, the proxy server may receive the request packet through a Wi-Fi channel, or may receive the request packet through a data traffic channel.
In step S320, if the request packet is a non-redundant packet, the request packet is forwarded to the service provider.
Here, a non-redundant packet refers to a packet that is not duplicated with other packets. After the proxy server of the service provider receives the request packet, if the request packet is not duplicated with any packet, the request packet is a non-redundant packet, and the non-redundant packet needs to be forwarded to the service provider. If the request data packet is repeated with other data packets, the request data packet is a redundant data packet, and the redundant data packet does not need to be forwarded to a service side, so that the redundant data packet can be deleted, and the redundant data packet can also be identified, so that the identified redundant data packet is skipped when data is forwarded. By comparing the request data packet with each received data packet one by one, whether the request data packet is repeated with other received data packets can be determined, if the request data packet is repeated with other data packets, the request data packet is a redundant data packet, and if the request data packet is not repeated with other data packets, the request data packet is a non-redundant data packet.
The proxy server of the service server can be used as a server in the proxy server cluster, so that all request data packets of the service request end can be forwarded to the same proxy server through a gateway of the proxy server cluster, so that the data packets are uniformly converged to the proxy server, and whether the data packets are non-redundant data packets or not is determined on the proxy server, and the redundant data packets are deleted or identified so as to not forward the identified redundant data packets when the data packets are forwarded to the service server.
In this exemplary embodiment, the identification information of the request packet may be obtained, so as to determine whether the request packet is a non-redundant packet according to the identification information. The identification information refers to information capable of uniquely identifying a data packet, and the identification information may be information carried by the data packet itself, such as addresses of a sending end and a receiving end of the requested data packet, that is, addresses of a service requester and a service server, and the identification information may further include attribute information of the data packet, such as a size and a type of the data packet, and the embodiment is not limited thereto. The identification information may be parsed from the request packet, or the identification information may be generated by the proxy server for the request packet, for example, when the request packet is received, a serial number may be generated as the identification information through a combination of numbers and letters. If the identification information of the request data packet is the same as that of other data packets, the request data packet can be determined to be a redundant data packet, and if the identification information of the request data packet is not the same as that of any data packet, the request data packet is a non-redundant data packet.
In the present exemplary embodiment, as shown with reference to fig. 4, it may be determined whether the request packet is a non-redundant packet through the following steps S410 to S440. Wherein:
in step S410, a unique identifier of a service requester is obtained according to a request packet, and the unique identifier and a packet sequence number of the request packet are used as identifier information of the request packet. The unique identifier refers to information capable of uniquely identifying a service requester who sends the request data packet. The unique identifier can be sent to the proxy server by the service requester when the service requester establishes a connection with the proxy server, so that the proxy server can identify different service requesters through the unique identifier. Determining a generation rule of the unique identifier according to actual requirements, for example, the unique identifier may include numbers, letters, symbols, or a combination thereof; a binary code string having a certain length, for example, a 128-bit binary character string, may also be included, and this embodiment is not particularly limited thereto. The packet sequence number is the value of the seq field in the packet header of the packet, and the values of the seq fields of the packets in the same connection are different, so the value of the seq field can indicate the sequence of the packets in the same connection. When receiving the request data packet, the proxy server can obtain the data of the packet head of the request data packet, so as to extract the unique identifier and the packet sequence number, and the unique identifier and the packet sequence are used as the identifier information of the request data packet.
In step S420, each packet other than the request packet that has been received is acquired. The proxy server can receive a plurality of data packets from the service requester, and store and process the received data packets, so that all the stored data packets can be acquired. Alternatively, the proxy server may record the received data packet, generate a record information, for example, record the identification information, socket information, and the like of each data packet, thereby obtaining the record information, and determine each data packet through the record information, or obtain the data packet in other manners, for example, obtain the received data packet recorded by the service provider.
In step S430, in each data packet, if there is a data packet having the same identification information as the request data packet, it is determined that the request data packet is a redundant data packet. The request data packet is a data packet which needs to be processed currently, and each data packet can be a data packet which is processed before the request data packet, so that each data packet except the current request data packet has identification information, and if the data packets with the same identification information exist, the existence of repeated data packets can be determined. After the identification information of the request data packet is determined, whether the identification information contained in each data packet is the same as the identification information of the request data packet or not can be judged, that is, whether the unique identification and the packet sequence number of each data table are the same as the identification information of the request data packet or not is judged, and if the unique identification and the packet sequence number are the same as the identification information of the request data packet, the request data packet can be determined to be a redundant data packet.
In step S440, if there is no data packet having the same identification information as the request data packet, the request data packet is a non-redundant data packet. If the identification information of the request data packet does not exist in all the received data packets, the request data packet can be determined to be unique and is a non-redundant data packet. In this embodiment, a plurality of transmission channels may be established between the service requester and the service server, for example, a Wi-Fi channel and a data traffic channel are established, so that, if the service requester needs to send a request packet, the request packet may be sent from the two transmission channels, and thus the proxy server may receive two identical request packets, and if the two identical request packets are both forwarded to the service server, not only the transmission channels are occupied too much, which results in low efficiency of data transmission and large power consumption. In the embodiment, only the non-redundant request data packets are forwarded by judging the request data packets, so that the transmission speed and the transmission efficiency can be effectively improved and the power consumption can be reduced under the condition of a large number of data packets.
In step S330, a response packet of the service provider to the request packet is received.
After receiving the request data packet, the service requester may parse the request data packet to obtain a data entity in the request data packet, where the data entity may include information of data requested by the service requester, such as a request type, a name, and the like, and the service server generates a response data packet according to the data entity and a source address and a destination address in the request data packet, and sends the response data packet through a transmission channel, and the proxy server may receive the response data packet.
In step S340, the transmission indexes of the transmission channels with the service requester are determined, and the target transmission channel is determined according to the transmission indexes of the transmission channels.
The proxy server and the service requester may establish a plurality of transmission channels through different communication technologies, for example, a Wi-Fi channel and a data traffic channel are established through a wireless communication technology, and then, for example, a wired transmission channel is established through a network cable, which is not particularly limited in this embodiment. The transmission index is data that measures the capability of the transmission channel to transmit data, and may specifically include a transmission rate, a time delay, a packet loss rate, and the like, and may also include other indexes, such as throughput, bandwidth, and the like, which is not particularly limited in this embodiment. The transmission index of the transmission channel can be calculated by using the data packet sent on the transmission channel. For example, when a data packet is sent to a service requester through a transmission channel, the size of data sent per second by the transmission channel may be calculated, so as to determine the transmission rate of the transmission channel; or when the transmission channel receives a data packet sent by a service request party, determining the receiving time of the data packet, and then determining the time delay of the transmission channel according to the sending time and the receiving time recorded in the data packet.
There may be several service request parties that need to interact with the service party, and different service request parties may establish transmission channels with the proxy server, respectively. In order to distinguish the transmission channels of different service requesters, so as to determine the transmission indexes of the transmission channels between the service requesters, in this embodiment, the unique identifier of the service requester and each transmission channel of the service requester may be respectively bound, so as to determine the transmission indexes of the transmission channels between the service requester and the service requester through the unique identifier. Specifically, the unique identifier may determine a unique service requester, i.e., a sender of the data packet. When the proxy server receives a request data packet from a certain data channel for the first time, a unique identifier can be determined from the request data packet, so that the data channel is bound with the unique identifier, and the data channel is determined to be a service requester for sending the request data packet. Then, when a data packet is received on the proxy server, whether a transmission channel receiving the data packet has a corresponding service request party or not can be judged through the unique identifier of the data packet, if so, the data packet is recorded, and if not, the transmission channel is bound with the unique identifier. Therefore, when the transmission index between the data packet and a service request party is calculated, the transmission channel between the data packet and the service request party can be determined through the unique identification of the service request party, and the transmission index is calculated through the data packet sent or received by the transmission channel.
Referring to fig. 5, in the present exemplary embodiment, each transmission index with the service requester may be determined through the following steps S510 and S520, where:
in step S510, transmitted data corresponding to each transmission channel between the service requesters is acquired. The transmitted data may represent information for a plurality of data packets transmitted by a transmission channel, and the transmitted data may be generated by recording data packets received from the transmission channel and data packets sent from the transmission channel. For example, a transmission channel may generate a record for each received data packet, record the receiving condition of the data packet, such as whether the receiving is successful, the size of the data packet, and the receiving time, and record the socket information, the current channel type, the packet sequence number of the data packet, the timestamp, and the receiving time of each received data packet. The time stamp of the data packet is the time when the sender sends the data packet, and the channel type is the channel receiving the data packet. Each transmission channel may maintain a transmitted data so that the transmitted data for each transmission channel may be obtained. Or, the transmitted data may be maintained on the proxy server in a unified manner, information of the data packets received and sent on each transmission channel is recorded in the transmitted data, and in order to distinguish data of each transmission channel, each data packet may be identified by an identifier of each transmission channel, or five-tuple information of each data packet is recorded. In addition, the embodiment may also obtain the transmitted data in other manners, for example, the service requester and the proxy server or the service server respectively record the transmitted data packets, so as to respectively obtain records from the service requester, the service server and the proxy server and summarize the records, thereby obtaining the transmitted data.
In step S520, a transmission index for each transmission channel is calculated based on the transmitted data. The transmission indexes can be determined according to actual conditions, the number of the transmission indexes can be one or more, and the transmission indexes of the transmission channels can be respectively calculated through the transmitted data of the transmission channels. For example, the bandwidth, throughput, etc. of the transmission channel may be determined by the number of received packets and the number of transmitted packets in the transmitted data. In this exemplary embodiment, the transmission index may be determined in a plurality of ways, specifically:
the average time delay of each transmission channel can be calculated according to the time stamp of the data packet in the transmitted data, and the average time delay is used as a transmission index. The time stamp is the time recorded when the data packet is received or the time recorded when the data packet is transmitted by the transmitter included in the data packet. If the transmitted data includes information of all transmitted data packets recorded by the service requester and information of received data packets recorded by the service server or the proxy server, for the same data packet, the transmission time delay of the data packet can be calculated by using the transmission time and the reception time of the data packet, so as to calculate the average time delay of all data packets. If the average time delay is used as a transmission index to select a target transmission channel, the data can be transmitted as fast as possible, so that the data transmission speed is improved.
The packet loss rate of each transmission channel can be calculated according to the number of data packets in the transmitted data, and the packet loss rate is used as a transmission index. For each transmission channel, counting the number of all data packets sent from the transmission channel by a service requester in transmitted data, and counting the number of all data packets received from the transmission channel by a service server, so as to determine the packet loss rate of the transmission channel by using the total sending number and the total receiving number. If the target transmission channel is selected by taking the packet loss rate as the transmission index, the problem of packet loss of the data packet in the transmission process can be reduced, so that the reliability of data transmission is improved.
And calculating the time delay variance of each transmission channel according to the time stamp of the data packet in the transmitted data, and taking the time delay variance as a transmission index. For each transmission channel, the transmission delay of each data packet can be calculated, and then the delay variance of all data packets can be calculated by using the transmission delay of each data packet. The delay variance can be used for measuring the stability of the transmission channel, if the delay variance is used as a transmission index to select a target transmission channel, the stability of data transmission can be improved, and the data transmission rate can be improved under the condition of a large amount of data.
In the exemplary embodiment, for each transmission channel, a plurality of indexes are calculated according to the transmitted data of the transmission channel, and a weight is determined for each index, so that the transmission index of the transmission channel is calculated based on each index and the weight of each index. For example, three indexes of the average time delay, the time delay variance and the packet loss rate of each transmission channel can be calculated through the transmitted data of each transmission channel, and then a weight is determined for each index, so that the indexes are weighted and summed to obtain the final transmission index. The weight may be determined according to actual requirements, for example, if the requirement on the delay is higher than the packet loss rate, the weight of the average delay may be higher than the weight of the packet loss rate, and if the requirement on the stability is higher, the weight of the delay variance may be higher than the weights of other indicators. In addition, in the process of actual data transmission, the weight can be continuously adjusted, so that the requirements of different scenes are met.
In other embodiments of the present disclosure, the transmission index may also be determined in other manners, for example, a processing rate of the transmission channel is calculated by using a time when the transmission channel receives the data packet and a time when the data packet is forwarded out, the processing rate is used as the transmission index, the transmission index is calculated by a self-defined algorithm, and the like, which all belong to the protection scope of the present disclosure. If the transmission index is a single index, the transmission index can be quickly calculated by using less calculation resources. Different from a single index, the mode of calculating the transmission indexes by adopting a plurality of indexes can more accurately determine the data transmission capacity of the transmission channel although more calculation resources are needed, so that a target transmission channel with higher data transmission capacity is selected, the reliability of data transmission can be guaranteed, and the stability and the transmission rate of data transmission can be improved.
In the exemplary embodiment, after the transmission index of each transmission channel is calculated according to the actual situation, the transmission channel with the transmission index meeting the requirement can be selected as the target transmission channel. For example, the transmission channel with the minimum average delay may be selected as the target transmission channel; the transmission channel with the smallest packet loss rate may also be selected as the target transmission channel, or the transmission channel with the smallest delay variance may be selected as the target transmission channel. Referring to fig. 6, the target transmission channel may be determined through step S610 and step S620, specifically:
in step S610, among the transmission channels, a transmission channel whose transmission index meets a preset condition is determined as a target transmission channel. The preset condition may refer to a value requirement for the transmission index, and specifically may include that the transmission index is not greater than a threshold, or the transmission index is greater than a threshold, for example, the average time delay is less than 0.1, the packet loss rate is less than 0.01, and the like, which is not particularly limited in this embodiment. And selecting a target transmission channel from a plurality of transmission channels between the target transmission channel and the service requester according to a preset condition, and if a plurality of transmission channels meet the preset condition, determining all the transmission channels as the target transmission channels or selecting one transmission channel with the maximum or minimum transmission index as the target transmission channel.
In step S620, if the transmission indexes of the transmission channels do not meet the preset condition, the transmission channels are determined as target transmission channels. And respectively judging the transmission indexes of each transmission channel, and if no transmission channel meets the preset condition, determining each transmission channel of the service request party as a target transmission channel. That is, if there is a transmission index meeting the preset condition, one transmission channel with the maximum or minimum transmission index may be selected, the maximum transmission effect may be obtained by sending a response data packet from the transmission channel, if there is no transmission channel meeting the preset condition with the service requester, the data packet may be transmitted from each transmission channel, and the data packet may also reach the service requester at the fastest transmission rate, thereby ensuring that the data transmission effect is currently optimized. In other embodiments of the present disclosure, a certain number of transmission channels with the service requester may be randomly selected as target transmission channels, for example, two transmission channels are selected as target transmission channels, three transmission channels are selected as target transmission channels, and the like, or a specific transmission channel is selected as a target transmission channel by default, which all belong to the protection scope of the present disclosure.
Before determining and calculating the transmission indexes of the transmission channels, whether the transmission channels are normally opened or not can be detected, and therefore the transmission channels are filtered. Exemplarily, based on the transmitted data of each transmission channel, a useless channel in each transmission channel between the service requester and the service requester can be determined; further, the useless channel is cleaned. The useless channel refers to a transmission channel which is closed, or a transmission channel which has not received or sent a data packet for a period of time. Specifically, the time of last sending or receiving data packet of the transmission channel can be determined according to the transmitted data, so as to calculate the time difference between the time and the current time, and if the difference exceeds the preset time limit, the transmission channel can be determined as a useless transmission channel; the preset time period may be 1 minute, 2 minutes, or 5 minutes, or may be other values, for example, 90 seconds or 150 seconds, and this embodiment is not particularly limited thereto; or, acquiring a state parameter of the transmission channel, and if the value of the state parameter is off, determining that the transmission channel is a useless transmission channel. In addition, the useless transmission channel may also be determined in other manners, for example, a test packet is sent to the service requester through the transmission channel, and if the sending fails, the transmission channel is determined to be the useless transmission channel, and the like. After the useless transmission channel is determined, the transmission channel can be cleaned, and the data packet or other data stored in the transmission channel can be cleaned, so that the IP address and the port number bound by the transmission channel can be used by other service requesters, resources are prevented from being occupied inefficiently, and the use efficiency of the channel is improved.
In step S350, a response packet is sent to the service requester through the target transmission channel.
The target transmission channel is a transmission channel with better transmission indexes in a plurality of transmission channels between the service server and the service requester, so that the response data packet is sent from the target transmission channel, and the response data packet can reach the service requester more quickly. And after the response data packet is sent, adding the record of the response data packet in the transmitted data of the target transmission channel, so as to update the transmission index of the target transmission channel by using the information of the response data packet, so that when the data packet is sent to the service requester next time, a new target transmission channel is determined according to the updated transmission index.
In this embodiment, a transmission channel may be established between the proxy server of the service provider and the service provider, and then the proxy server receives the request data packet sent by the service provider, and sends a response data packet corresponding to the request data packet back to the service provider from the target transmission channel, so that a transmission channel with better transmission performance may be selected according to the data transmission condition of the transmission channel, thereby optimizing the data transmission rate to the greatest extent and improving the availability of the service. However, it can be understood by those skilled in the art that, in the present embodiment, the data packet between the service requester and the service provider can also be transmitted by establishing a transmission channel between the proxy server of the service requester and the service provider, or establishing a transmission channel between the proxy server of the service requester and the proxy server of the service provider. Therefore, the data transmission method provided by the present exemplary embodiment may also be executed on a server or a terminal device to which the service requester belongs, or on a proxy server of the service requester. As shown in fig. 7, taking a proxy server of a service requester as an example, the data transmission method may include the following steps:
and S710, determining each transmission channel between the service provider and the service provider, and determining a target transmission channel according to the transmission index of each transmission channel.
Step S720, receiving a request data packet of a service request party.
And S730, sending the request data packet of the service request party to the service party through the target transmission channel.
And step S740, receiving a response data packet of the service party to the request data packet.
And S750, if the response data packet is a non-redundant data packet, forwarding the response data packet to the service request party.
In this embodiment, the proxy server of the service requester needs to establish a plurality of transmission channels with the proxy server of the service provider, and then may send some test data packets through each transmission channel, so as to determine the transmission index of each transmission channel through the test data packet, then determine the target transmission channel that meets the preset condition, and send out the request data packet through the target transmission channel. If the transmission channels meeting the conditions do not exist, the data packets can be respectively sent from the plurality of transmission channels, the proxy server of the service server can take the data packet which arrives fastest as the request data packet and filter the redundant data packet, so that the data packet can be ensured to be reachable, the transmission rate of the data packet can be improved, each transmission channel can be fully utilized, and the data transmission performance is greatly optimized.
Since the service server may be a server in a server cluster, and the server may have a plurality of gateways, when data transmission is performed with the service server, a gateway may be selected first through a routing service. Illustratively, a routing address corresponding to the service requester can be determined; and then the request data packet is sent to the routing address through a transmission channel between the routing address and the request data packet, so that the request data packet is forwarded to the service party through the routing address. Specifically, the proxy server of the service requester may send a connection request to connect with the service server. The connection request may be sent to a routing server connected to the service provider, and when the routing server receives the connection request, the area where the service provider is located may be determined according to the IP address of the service provider included in the connection request, so as to select a target gateway closest to the area, and return the IP address of the target gateway to the service provider. After receiving the IP address of the target gateway, the service server may send a request packet to the target gateway, and similarly, the request packet may be forwarded to the corresponding routing address by the proxy server of the service requester, so that the request packet of the service requester is forwarded to the corresponding target gateway through the routing address and is forwarded to the corresponding target server through the target gateway. The server corresponding to the gateway or the proxy server of the server may be preset in advance, so that a plurality of gateways are set to forward the data packets to the same proxy server, so that the data packets are aggregated on the proxy server, data filtering is performed on the proxy server, and redundant data packets are discarded.
Illustratively, fig. 8 shows a data interaction process between a proxy server of a service server and a proxy server of a service requester. As shown in fig. 8, the client 81 may be a service requester, such as a game client, a browser, etc., and the server 88 may be a service server, such as a game client, a web server, etc. The client 81 can establish a data connection with the server agents 86, 87 through the routing service, thereby forming a transmission channel for data, and transmit data between the server 88 and the client 81 through the transmission channel. In the present embodiment, Wi-Fi channel and LTE channel are taken as examples. The server agents 86 and 87 may be proxy servers of the server 88, the client agent 82 may be a proxy server of the client, and the client may use the server agent as the server, that is, the client and the server cannot perceive the existence of the other agent. Alternatively, the identification information of the proxy may be added to the data packet, so that the client or the server can specify that the data packet is forwarded by the proxy service.
Specifically, in step S801, the client transmits a packet requesting an IP address and a port number. The data packet may be received by the client agent 82. If the client needs to establish a connection with the server or the server proxy, an IP address and a port number of the server need to be applied, and the routing service 83 connected to the client can select the server gateway 84, 85 corresponding to the client. In step S802, the client agent 82 forwards the packet requesting the IP address and port number to the routing service 83. In the routing service 83, a server gateway corresponding to the client may be selected according to an area where the IP address of the client is located and an area of the IP address of the requested server, and the server gateways corresponding to different transmission channels may be different, for example, the server gateway of the LTE channel may be 84, and the server gateway of the Wi-Fi channel may be 85. In step S804, the routing service 83 may send the packet back to the proxy server 82. The IP address and port number of the server agent 86 may be included in the loopback packet. In step S804, the client agent 82 may forward the packet back to the client 81. In step S805, the client 81 sends a message a to the server 88. The message a is sent out in a data packet and received by the client agent 82. If the target transmission channel can be determined in the Wi-Fi channel and the LTE channel, the message A is sent only through the target transmission channel, and if the target transmission channel cannot be determined, the message A is sent through the two channels. In step S806, the client agent 82 transmits the message a through the LTE channel. And, in step S807, the client agent 82 transmits the message a through the Wi-Fi channel. Different transmission channels may correspond to different gateways, and a target server proxy for gateway forwarding may be preset, so that different gateways may forward a message to the same target server proxy, for example, the target server proxy is 86, and thus, a message a sent from a Wi-Fi channel or an LTE channel may be forwarded to the same server proxy 86 by the corresponding server gateway 84 or 85. In step S808, the server agent 86 filters the received message a and sends the non-redundant message a to the server 88; after receiving the received message a, the server agent 86 may determine whether the message a has been forwarded, determine whether the unique identifier of the transmission channel and the message a has been bound if the message a has not been forwarded, and if the unique identifier of the message a has been bound, may store information of the message a, for example, socket information, a current transmission channel type, a packet sequence number, a timestamp, and a five-tuple of receiving time corresponding to the message a, and then forward the message a according to protocol header information; and the transmission index of the current transmission channel can be updated by using the message a so as to determine the target transmission channel. In step S809, if the target channel is an LTE channel, the service agent 86 receives the packet of the message a from the service, and then sends the packet through the LTE channel. In step S810, if the target channel is a Wi-Fi channel, the server agent 86 sends the packet back of message A over the Wi-Fi channel. The server agent 86 may determine the unique identifier of the client according to the message a, and determine the corresponding socket through the unique identifier, so as to send the packet of the message a to the client through the socket. In step S811, after receiving the return packets of the message a respectively sent from the Wi-Fi channel and the LTE channel, the server agent 82 filters the return packets and forwards the non-redundant return packets to the client 81; the packet sequence number can be extracted from the packet header of the loopback packet, whether the loopback packet is the first packet or the redundant packet can be judged through the packet sequence number, if the loopback packet is the first packet, the loopback packet is forwarded to the client, if the loopback packet is the redundant packet, the loopback packet is ignored or deleted, and the transmission index of the current channel is updated by using the loopback packet so as to be convenient for selecting a target transmission channel next time.
Fig. 9 shows a data processing flow on the server agent 86 according to the present embodiment. As shown in fig. 9, in step S901, a packet of a transmission channel is received by receiving an event; e.g., by epoll thread for receipt of data packets. In step S902, the useless channel is cleared. In step S903, it is determined whether there is a reception event trigger, and if so, step S904 is executed. In step S904, a data packet in the received event is obtained and the current socket is recorded; the socket is a socket of a sender sending the data packet, that is, a socket of the client agent. In step S905, whether the data packet is complete is determined; if not, the current channel cannot normally receive the data packet, and the current channel can be identified as a useless channel so as to be convenient for cleaning the current channel; if so, step S906 is performed. In step S906, it is determined whether the data packet is sent by the client; if the client sends the message, step S908 is executed; if the transmission is not the client transmission, the transmission is the server transmission, and step S907 is executed. In step S907, the packet is forwarded to the client. In step S908, the data packet is parsed; parsing the packet may result in information contained in the packet, such as five-tuple information of the packet. In step S909, it is determined whether a transmission channel is established with the client, and if yes, step S910 is performed, and if no, step S911 is performed. In step S910, the quintuple information of the packet is saved and the transmission index is updated. In step S911, the transmission channel is updated; if no transmission channel is established between the client and the transmission channel, binding the transmission channel requested to be connected by the client and the unique identifier of the client so as to store the transmission channel, namely, storing the socket of the client and the current socket of the server agent receiving the data packet, and binding the socket of the server agent, the socket of the client and the unique identifier of the client. In step S912, it is determined whether the packet is a redundant packet according to the unique identifier and the packet sequence number; if yes, go to step S913, discard the redundant packet; if not, step S914 is performed. In step S914, the packet is added to the forwarding queue. In step S915, the data packet in the forwarding queue is forwarded to the server through the asynchronous thread. In step S916, whether the current channel is successfully transmitted is determined; if yes, the transmission is completed; if not, step S917 is performed. In step S917, the socket of the current channel is closed; when the current socket cannot send a data packet, the socket can be closed, so that the problem that the next data packet is sent from the channel again to cause failure in sending is avoided, and the current channel can contain a plurality of sockets, for example, the socket of a server agent and the socket of a client agent can be closed. In step S918, the current channel is identified as a useless channel. And then, processing the next data packet, and finishing the current data interaction between the server and the client after all the data packets are processed.
In an exemplary embodiment, a client user interface is also included, which may include a plurality of visualization components to enable interaction with a user. For example, when a user plays a game, surfs the internet, chats a video and broadcasts directly through application software on a mobile phone, the permission of an application can be opened through the user interface, so that the data transmission method is triggered, a Wi-Fi channel and an LTE channel between the application client and the server are opened, data are transmitted through the two channels, data interaction is accelerated, and the user experiences the accelerated data transmission effect. For example, as shown in fig. 10, when a user needs to accelerate an application, the user may click an authority switch 1001 corresponding to the application, so as to start dual-channel data transmission between a client of the application and a corresponding server, for example, the user may select to start an authority of the application a, the application a may establish a Wi-Fi channel and an LTE channel with the server of the application a, and when the application a sends a packet to the server or the server of the application a sends a packet to the application a, one transmission channel may be selected from the Wi-Fi channel and the LTE channel to send the packet, or both transmission channels may be sent simultaneously.
Taking application A as an example, after the two-channel acceleration is started, the transmission index of data transmission between the application A and the corresponding server can be determined, and the transmission index is displayed to the user through the user interface, so that the user can definitely feel the improvement of the transmission effect compared with the transmission effect of a single transmission channel, and the user can visually experience the acceleration effect for the application A. As shown in fig. 11, the user may click on a display page entering the application a, and the current network speed, network latency, and network stability of the application a may be displayed in the display page. In addition, other controls, such as a "stop acceleration" control 1101, may also be added to the display page, and after the user clicks the control 1101, the acceleration may be stopped, so that the state between the application a and its server is restored to a state in which data is transmitted only through a single transmission channel.
It should be noted that although the various steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that these steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.
Further, in this example embodiment, a data transmission apparatus is also provided. The data transmission device can be applied to a server or terminal equipment of a business service party. Referring to fig. 12, the data transmission apparatus 1200 may include a data receiving module 1210, a data forwarding module 1220, a data responding module 1230, a transmission channel determining module 1240, and a data transmitting module 1250. Wherein:
the data receiving module 1210 is configured to receive a request data packet sent by a service requester.
The data forwarding module 1220 is configured to forward the request packet to the service provider if the request packet is a non-redundant packet.
A data response module 1230, configured to receive a response packet of the service provider to the request packet.
The transmission channel determining module 1240 is configured to determine a transmission index of each transmission channel with the service requester, and determine a target transmission channel according to the transmission index of each transmission channel.
A data sending module 1250, configured to send the response data packet to the service requester through the target transmission channel.
In an exemplary embodiment of the disclosure, the apparatus may further include a redundancy determining module, configured to obtain identification information of the request data packet, so as to determine whether the request data packet is a non-redundant data packet according to the identification information.
In an exemplary embodiment of the present disclosure, the redundancy determining module may specifically include an identifier obtaining module, a data packet obtaining module, a redundancy determining module, and a non-redundancy determining module, where:
and the identification acquisition module is used for acquiring the unique identification of the service requester according to the request data packet and taking the unique identification and the packet sequence number of the request data packet as identification information.
And the data packet acquisition module is used for acquiring the received data packets except the request data packet.
And the redundancy determining module is used for determining that the request data packet is a redundant data packet if the data packet with the same identification information as the request data packet exists in each data packet.
And the non-redundancy determining module is used for determining that the request data packet is a non-redundancy data packet if the data packet which has the same identification information with the request data packet does not exist.
In an exemplary embodiment of the present disclosure, the transmission channel determining module 1240 may determine the transmission index of each transmission channel with the service requester by: and respectively binding the unique identifier of the service request party and each transmission channel of the service request party so as to determine the transmission index of each transmission channel between the service request party and the service request party through the unique identifier.
In an exemplary embodiment of the present disclosure, the transmission channel determining module 1240 may specifically include a transmission data obtaining module and an index determining module, where:
and the transmission data acquisition module is used for acquiring the transmitted data corresponding to each transmission channel between the service request parties.
And the index determining module is used for calculating the transmission index of each transmission channel based on the transmitted data.
In an exemplary embodiment of the present disclosure, the index determination module may calculate the transmission index of each transmission channel based on the transmitted data by: and calculating the average time delay of each transmission channel according to the time stamp of the data packet in the transmitted data, and taking the average time delay as a transmission index.
In an exemplary embodiment of the present disclosure, the index determination module may calculate the transmission index of each transmission channel based on the transmitted data by: and calculating the packet loss rate of each transmission channel according to the number of the data packets in the transmitted data, and taking the packet loss rate as a transmission index.
In an exemplary embodiment of the present disclosure, the index determination module may calculate the transmission index of each transmission channel based on the transmitted data by: and calculating the time delay variance of each transmission channel according to the time stamp of the data packet in the transmitted data, and taking the time delay variance as a transmission index.
In an exemplary embodiment of the present disclosure, the index determination module may include a multi-index calculation module and a weight determination module, wherein:
and the multi-index calculation module is used for calculating each index based on the transmitted data for each transmission channel.
And the weight determining module is used for determining weights of the indexes respectively so as to calculate the transmission indexes of the transmission channels based on the indexes and the weights of the indexes.
In an exemplary embodiment of the disclosure, the apparatus further comprises a garbage channel determination module and a channel cleaning module, wherein:
and the useless channel determining module is used for determining useless channels in all transmission channels between the business requesting party and the business requesting party based on the transmitted data.
And the channel cleaning module is used for cleaning the useless channels.
In an exemplary embodiment of the present disclosure, the transmission channel determining module 1240 may include a single channel determining module and a multi-channel determining module, wherein:
and the single-channel determining module is used for determining the transmission channel with the transmission index meeting the preset condition as the target transmission channel in each transmission channel.
And the multi-channel determining module is used for determining each transmission channel as a target transmission channel if the transmission indexes of the transmission channels do not accord with the preset conditions.
Further, this embodiment also provides a data transmission apparatus, as shown in fig. 13, the data transmission apparatus 1300 may be used in a server or a terminal device of a service requester. The data transmission apparatus 1300 may include a transmission channel determining module 1310, a data receiving module 1320, a data transmitting module 1330, a data responding module 1340, and a data filtering module 1350, wherein:
the transmission channel determining module 1310 is configured to determine each transmission channel with the service provider, and determine a target transmission channel according to a transmission index of each transmission channel.
A data packet receiving module 1320, configured to receive a request data packet of a service requester.
A data packet sending module 1330, configured to send the request data packet to the service provider through the target transmission channel.
The data response module 1340 is configured to receive a response packet of the service provider to the request packet.
The packet filtering module 1350 is configured to forward the response packet to the service requester if the response packet is a non-redundant packet.
In an exemplary embodiment of the present disclosure, the data sending module 1330 may include a routing module and a forwarding module, wherein:
and the routing module is used for determining a routing address corresponding to the service request party.
And the forwarding module is used for sending the request data packet to the routing address through the target transmission channel so as to forward the request data packet to the service party by utilizing the routing address.
The specific details of each module or unit in the data transmission device have been described in detail in the corresponding data transmission method, and therefore are not described herein again.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Referring to fig. 14, a schematic view of a scenario of a data transmission method and a data transmission apparatus provided in an exemplary embodiment of the present disclosure is shown, where the data transmission apparatus may be specifically integrated in a terminal 1410 having a computing capability and having a storage unit and a microprocessor installed therein, such as a tablet computer, a mobile phone, a notebook computer, or a desktop computer, and the terminal 1410 may be configured to perform data interaction with a server 1440 according to an interaction operation of a user on a client user interface. For example, the terminal 1410 first needs to establish a dual channel 1420 with the service broker 1430, for example, send a connection request, where the connection request includes an IP address and a port number of the terminal (socket1) and an IP address and a port number of a requesting proxy server (socket2), the proxy gateway cluster 1431 may forward the connection request to a service proxy in the proxy service cluster 1432 after receiving the connection request, and the service proxy may bind and store the socket1 of the terminal and the requesting socket2 after receiving the connection request, so as to assign the socket2 to the terminal 1410, and obtain a data transmission channel formed by the socket1 and the corresponding socket 2. Correspondingly, the proxy service cluster 1432 may also establish a data transmission channel between the real server gateway 1441 and a service end in the server cluster 1442, so as to form a complete transmission channel from the terminal to the proxy service end and from the proxy service end to the service end, so that the terminal performs data transmission with the service end through the data transmission channel. For example, the terminal 1410 may send a game data obtaining request to the server cluster 1442 through the target transmission channel 1421 or 1422, and receive a response data packet returned by the server cluster based on the target transmission channel 1421 or 1422, thereby implementing data interaction.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims (15)
1. A method of data transmission, comprising:
receiving a request data packet sent by a service request party;
if the request data packet is a non-redundant data packet, forwarding the request data packet to a service server;
receiving a response data packet of the service server to the request data packet;
determining transmission indexes of transmission channels between the service request party and the service request party, and determining a target transmission channel according to the transmission indexes of the transmission channels;
and sending the response data packet to the service requester through the target transmission channel.
2. The data transmission method according to claim 1, wherein if the request packet is a non-redundant packet, before forwarding the request packet to a service provider, further comprising:
and acquiring the identification information of the request data packet to determine whether the request data packet is a non-redundant data packet according to the identification information.
3. The data transmission method according to claim 2, wherein the determining whether the request packet is a non-redundant packet according to the identification information comprises:
acquiring a unique identifier of the service requester according to the request data packet, and taking the unique identifier and a packet sequence number of the request data packet as the identifier information;
acquiring the received data packets except the request data packet;
in each data packet, if a data packet with the same identification information as the request data packet exists, determining that the request data packet is a redundant data packet;
and if the data packet with the same identification information as the request data packet does not exist, determining that the request data packet is a non-redundant data packet.
4. The data transmission method according to claim 3, wherein the determining the transmission index of each transmission channel with the service requester comprises:
and respectively binding the unique identifier of the service request party and each transmission channel of the service request party so as to determine the transmission index of each transmission channel between the service request party and the unique identifier.
5. The data transmission method according to claim 1, wherein the determining the transmission index of each transmission channel with the service requester comprises:
acquiring transmitted data corresponding to each transmission channel between the service request parties;
and calculating the transmission indexes of the transmission channels based on the transmitted data.
6. The data transmission method according to claim 5, wherein the calculating the transmission index of each transmission channel based on the transmitted data comprises:
and calculating the average time delay of each transmission channel according to the time stamp of the data packet in the transmitted data, and taking the average time delay as the transmission index.
7. The data transmission method according to claim 5, wherein the calculating the transmission index of each transmission channel based on the transmitted data comprises:
and calculating the packet loss rate of each transmission channel according to the number of the data packets in the transmitted data, and taking the packet loss rate as the transmission index.
8. The data transmission method according to claim 5, wherein the calculating the transmission index of each transmission channel based on the transmitted data comprises:
and calculating the time delay variance of each transmission channel according to the time stamp of the data packet in the transmitted data, and taking the time delay variance as the transmission index.
9. The data transmission method according to claim 5, wherein the calculating the transmission index of each transmission channel based on the transmitted data comprises:
for each transmission channel, calculating each index based on the transmitted data;
and respectively determining weights for the indexes to calculate the transmission indexes of the transmission channels based on the indexes and the weights of the indexes.
10. The data transmission method according to claim 5, wherein before calculating the transmission index of each transmission channel based on the transmitted data, the method further comprises:
determining useless channels in each transmission channel between the service requester and the service requester based on the transmitted data;
and cleaning the useless channel.
11. The data transmission method according to claim 1, wherein the determining a target transmission channel according to the transmission index of each transmission channel comprises:
determining the transmission channel with the transmission index meeting the preset condition as a target transmission channel in each transmission channel;
and if the transmission indexes of the transmission channels do not accord with the preset conditions, determining the transmission channels as target transmission channels.
12. A method of data transmission, comprising:
determining each transmission channel between the service provider and the service provider, and determining a target transmission channel according to the transmission index of each transmission channel;
receiving a request data packet of a service request party;
sending the request data packet to the service party through the target transmission channel;
receiving a response data packet of the service server to the request data packet;
and if the response data packet is a non-redundant data packet, forwarding the response data packet to the service request party.
13. The data transmission method according to claim 12, wherein the sending the request packet to the service provider through the target transmission channel comprises:
determining a routing address corresponding to the service requester;
and sending the request data packet to the routing address through the target transmission channel so as to forward the request data packet to the service party by using the routing address.
14. A data transmission apparatus, comprising:
the data receiving module is used for receiving a request data packet sent by a service request party;
the data forwarding module is used for forwarding the request data packet to a service server if the request data packet is a non-redundant data packet;
a data response module, configured to receive a response packet of the service server for the request packet;
a transmission channel determining module, configured to determine a transmission index of each transmission channel between the service requester and the service requester, and determine a target transmission channel according to the transmission index of each transmission channel;
and the data sending module is used for sending the response data packet to the service requester through the target transmission channel.
15. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of any of claims 1-13 via execution of the executable instructions.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010003075.0A CN111200830B (en) | 2020-01-02 | 2020-01-02 | Data transmission method and device and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010003075.0A CN111200830B (en) | 2020-01-02 | 2020-01-02 | Data transmission method and device and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111200830A true CN111200830A (en) | 2020-05-26 |
CN111200830B CN111200830B (en) | 2022-04-26 |
Family
ID=70746665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010003075.0A Active CN111200830B (en) | 2020-01-02 | 2020-01-02 | Data transmission method and device and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111200830B (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098800A (en) * | 2021-02-24 | 2021-07-09 | 北京瀚诺半导体科技有限公司 | Data forwarding method and device, electronic equipment and medium |
CN113556618A (en) * | 2021-07-20 | 2021-10-26 | 北京奇艺世纪科技有限公司 | Data transmission method and device |
CN114520687A (en) * | 2022-02-17 | 2022-05-20 | 深圳震有科技股份有限公司 | Audio data processing method, device and equipment applied to satellite system |
CN115378454A (en) * | 2022-08-04 | 2022-11-22 | 成都索骥科技有限公司 | Multichannel data link communication system |
CN115396529A (en) * | 2022-08-25 | 2022-11-25 | 深圳市元征科技股份有限公司 | Multichannel communication method, device, terminal equipment and storage medium |
CN115499318A (en) * | 2022-11-18 | 2022-12-20 | 湖南致力工程科技有限公司 | Tunnel monitoring data communication management and control method, system and terminal equipment |
CN116155920A (en) * | 2023-02-16 | 2023-05-23 | 北京万里开源软件有限公司 | Remote transmission method and system for MySQL protocol database data |
CN116319573A (en) * | 2023-05-11 | 2023-06-23 | 石家庄科林电气股份有限公司 | Communication method and device of dual-mode module electric energy meter in power grid and electric energy meter |
CN116471002A (en) * | 2023-03-17 | 2023-07-21 | 周宝坤 | Industrial Internet data transmission method and system |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2704342A2 (en) * | 2011-04-26 | 2014-03-05 | LG Electronics Inc. | Method for transmitting channel state information in wireless access system and terminal therefor |
CN104717259A (en) * | 2013-12-16 | 2015-06-17 | 中国科学院声学研究所 | Multi-path data transmission system and method assisted by distributed transit server network |
CN105379208A (en) * | 2013-06-27 | 2016-03-02 | 徐正焕 | Multi-connection system and method for service using internet protocol |
US20170339684A1 (en) * | 2010-04-30 | 2017-11-23 | Golden Valley Holdings Limited | System and method for sharing a control channel for carrier aggregation |
CN107431691A (en) * | 2015-08-25 | 2017-12-01 | 华为技术有限公司 | A kind of data pack transmission method, device, node device and system |
CN107979592A (en) * | 2013-09-30 | 2018-05-01 | 腾讯科技(深圳)有限公司 | A kind of method and device for sending business request information |
CN108206732A (en) * | 2016-12-19 | 2018-06-26 | 维沃移动通信有限公司 | Data transmission method, the acquisition methods of resource indication information, terminal and base station |
US20180254966A1 (en) * | 2014-11-07 | 2018-09-06 | Speedy Packets, Inc. | Packet coding based network communication |
CN108777664A (en) * | 2018-05-31 | 2018-11-09 | 深圳市腾讯网络信息技术有限公司 | A kind of data package processing method and its equipment, system, storage medium |
CN109379432A (en) * | 2018-10-31 | 2019-02-22 | 腾讯科技(深圳)有限公司 | Data processing method, device, server and computer readable storage medium |
US20190075378A1 (en) * | 2017-09-05 | 2019-03-07 | Fujitsu Limited | Intra data center optical switching |
CN109525458A (en) * | 2018-11-20 | 2019-03-26 | 网易(杭州)网络有限公司 | Data transmission method, device, medium and electronic equipment |
US20190149365A1 (en) * | 2018-01-12 | 2019-05-16 | Intel Corporation | Time domain resource allocation for mobile communication |
CN109815256A (en) * | 2018-12-21 | 2019-05-28 | 聚好看科技股份有限公司 | A kind of data processing method, device, electronic equipment and storage medium |
CN110071977A (en) * | 2019-04-25 | 2019-07-30 | 北京风行极客科技有限公司 | A kind of data transmission method and device |
CN110086578A (en) * | 2018-01-25 | 2019-08-02 | 华为技术有限公司 | Data transmission method, device and system |
CN110099403A (en) * | 2019-05-17 | 2019-08-06 | 腾讯科技(深圳)有限公司 | A kind of data transmission method, device, equipment and storage medium |
CN110167084A (en) * | 2018-08-15 | 2019-08-23 | 腾讯科技(深圳)有限公司 | Multi-channel data transmission method and device |
CN110267348A (en) * | 2019-05-27 | 2019-09-20 | 中国联合网络通信集团有限公司 | A kind of data transmission method and equipment |
-
2020
- 2020-01-02 CN CN202010003075.0A patent/CN111200830B/en active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170339684A1 (en) * | 2010-04-30 | 2017-11-23 | Golden Valley Holdings Limited | System and method for sharing a control channel for carrier aggregation |
EP2704342A2 (en) * | 2011-04-26 | 2014-03-05 | LG Electronics Inc. | Method for transmitting channel state information in wireless access system and terminal therefor |
CN105379208A (en) * | 2013-06-27 | 2016-03-02 | 徐正焕 | Multi-connection system and method for service using internet protocol |
CN107979592A (en) * | 2013-09-30 | 2018-05-01 | 腾讯科技(深圳)有限公司 | A kind of method and device for sending business request information |
CN104717259A (en) * | 2013-12-16 | 2015-06-17 | 中国科学院声学研究所 | Multi-path data transmission system and method assisted by distributed transit server network |
US20180254966A1 (en) * | 2014-11-07 | 2018-09-06 | Speedy Packets, Inc. | Packet coding based network communication |
CN107431691A (en) * | 2015-08-25 | 2017-12-01 | 华为技术有限公司 | A kind of data pack transmission method, device, node device and system |
CN108206732A (en) * | 2016-12-19 | 2018-06-26 | 维沃移动通信有限公司 | Data transmission method, the acquisition methods of resource indication information, terminal and base station |
US20190075378A1 (en) * | 2017-09-05 | 2019-03-07 | Fujitsu Limited | Intra data center optical switching |
US20190149365A1 (en) * | 2018-01-12 | 2019-05-16 | Intel Corporation | Time domain resource allocation for mobile communication |
CN110086578A (en) * | 2018-01-25 | 2019-08-02 | 华为技术有限公司 | Data transmission method, device and system |
CN108777664A (en) * | 2018-05-31 | 2018-11-09 | 深圳市腾讯网络信息技术有限公司 | A kind of data package processing method and its equipment, system, storage medium |
CN110167084A (en) * | 2018-08-15 | 2019-08-23 | 腾讯科技(深圳)有限公司 | Multi-channel data transmission method and device |
CN109379432A (en) * | 2018-10-31 | 2019-02-22 | 腾讯科技(深圳)有限公司 | Data processing method, device, server and computer readable storage medium |
CN109525458A (en) * | 2018-11-20 | 2019-03-26 | 网易(杭州)网络有限公司 | Data transmission method, device, medium and electronic equipment |
CN109815256A (en) * | 2018-12-21 | 2019-05-28 | 聚好看科技股份有限公司 | A kind of data processing method, device, electronic equipment and storage medium |
CN110071977A (en) * | 2019-04-25 | 2019-07-30 | 北京风行极客科技有限公司 | A kind of data transmission method and device |
CN110099403A (en) * | 2019-05-17 | 2019-08-06 | 腾讯科技(深圳)有限公司 | A kind of data transmission method, device, equipment and storage medium |
CN110267348A (en) * | 2019-05-27 | 2019-09-20 | 中国联合网络通信集团有限公司 | A kind of data transmission method and equipment |
Non-Patent Citations (5)
Title |
---|
HUAWEI等: "R1-142836 "D2D data communication channel design"", 《3GPP TSG_RAN\WG1_RL1》 * |
INTEL CORPORATION: "R1-160701 "Design aspects of control signaling for V2V communication"", 《3GPP TSG_RAN\WG1_RL1》 * |
M. YE. ILCHENKO等: "Current tendencies of developing of digital teraherz radiosystems", 《2010 20TH INTERNATIONAL CRIMEAN CONFERENCE "MICROWAVE & TELECOMMUNICATION TECHNOLOGY"》 * |
吴国凤等: "多速率ad hoc网络的信道忙感知路由协议", 《合肥工业大学学报(自然科学版)》 * |
康宗绪等: "间歇性连通网络数据传输与路由技术研究", 《通信技术》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098800B (en) * | 2021-02-24 | 2023-04-07 | 北京瀚诺半导体科技有限公司 | Data forwarding method and device, electronic equipment and medium |
CN113098800A (en) * | 2021-02-24 | 2021-07-09 | 北京瀚诺半导体科技有限公司 | Data forwarding method and device, electronic equipment and medium |
CN113556618A (en) * | 2021-07-20 | 2021-10-26 | 北京奇艺世纪科技有限公司 | Data transmission method and device |
CN114520687A (en) * | 2022-02-17 | 2022-05-20 | 深圳震有科技股份有限公司 | Audio data processing method, device and equipment applied to satellite system |
CN114520687B (en) * | 2022-02-17 | 2023-11-03 | 深圳震有科技股份有限公司 | Audio data processing method, device and equipment applied to satellite system |
CN115378454A (en) * | 2022-08-04 | 2022-11-22 | 成都索骥科技有限公司 | Multichannel data link communication system |
CN115378454B (en) * | 2022-08-04 | 2024-07-16 | 成都索骥科技有限公司 | Multichannel data link communication system |
CN115396529A (en) * | 2022-08-25 | 2022-11-25 | 深圳市元征科技股份有限公司 | Multichannel communication method, device, terminal equipment and storage medium |
CN115499318A (en) * | 2022-11-18 | 2022-12-20 | 湖南致力工程科技有限公司 | Tunnel monitoring data communication management and control method, system and terminal equipment |
CN116155920A (en) * | 2023-02-16 | 2023-05-23 | 北京万里开源软件有限公司 | Remote transmission method and system for MySQL protocol database data |
CN116155920B (en) * | 2023-02-16 | 2023-10-03 | 北京万里开源软件有限公司 | Remote transmission method and system for MySQL protocol database data |
CN116471002A (en) * | 2023-03-17 | 2023-07-21 | 周宝坤 | Industrial Internet data transmission method and system |
CN116471002B (en) * | 2023-03-17 | 2024-01-12 | 西安天智数字信息科技有限公司 | Industrial Internet data transmission method and system |
CN116319573A (en) * | 2023-05-11 | 2023-06-23 | 石家庄科林电气股份有限公司 | Communication method and device of dual-mode module electric energy meter in power grid and electric energy meter |
Also Published As
Publication number | Publication date |
---|---|
CN111200830B (en) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111200830B (en) | Data transmission method and device and electronic equipment | |
US10587544B2 (en) | Message processing method, processing server, terminal, and storage medium | |
US8953479B2 (en) | System and method for license enforcement for data center monitoring applications | |
CN113067882A (en) | Message processing method and device, electronic equipment and medium | |
WO2014144837A1 (en) | Processing data packets using a policy based network path | |
CN103051497B (en) | Business Stream mirror method and mirroring device | |
US10897421B2 (en) | Method of processing a data packet relating to a service | |
CN112383600A (en) | Information processing method and device, computer readable medium and electronic equipment | |
CN112039796A (en) | Data packet transmission method and device, storage medium and electronic equipment | |
CN110996372B (en) | Message routing method, device and system and electronic equipment | |
EP3229413A1 (en) | Cross-domain cooperative method, cooperative device and control device for network as a service business | |
CN114500633A (en) | Data forwarding method, related device, program product and data transmission system | |
CN110445723B (en) | Network data scheduling method and edge node | |
CN111803925B (en) | Scheduling method and device of forwarding server of cloud game and readable storage medium | |
CN110545230B (en) | Method and device for forwarding VXLAN message | |
CN110913011B (en) | Session holding method, session holding device, readable storage medium and electronic device | |
CN104580084A (en) | Method, terminals and system for sharing multimedia file | |
US20240259475A1 (en) | Service scheduling method and apparatus, device, and computer-readable storage medium | |
CN112398754B (en) | Data transmission method, device, medium, electronic equipment and network access equipment | |
CN108259576B (en) | Software and hardware real-time information transmission system and method | |
WO2023226478A1 (en) | Method and apparatus used for data transmission, router and internet of things device | |
CN109995603B (en) | Method and device for measuring packet loss under Tag model and electronic equipment | |
CN109951316B (en) | Application program management method and device, computer readable medium and electronic equipment | |
CN113411228A (en) | Network condition determining method and server | |
CN108449252B (en) | Dump method and device for access log |
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 |