CN114401114A - Data transmission method and device, electronic equipment and storage medium - Google Patents

Data transmission method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN114401114A
CN114401114A CN202111555208.6A CN202111555208A CN114401114A CN 114401114 A CN114401114 A CN 114401114A CN 202111555208 A CN202111555208 A CN 202111555208A CN 114401114 A CN114401114 A CN 114401114A
Authority
CN
China
Prior art keywords
data
service
client
server
data transmission
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
Application number
CN202111555208.6A
Other languages
Chinese (zh)
Other versions
CN114401114B (en
Inventor
唐华
郑亚帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Xuanxian Technology Co ltd
Original Assignee
Shanghai Xuanxian Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Xuanxian Technology Co ltd filed Critical Shanghai Xuanxian Technology Co ltd
Priority to CN202111555208.6A priority Critical patent/CN114401114B/en
Publication of CN114401114A publication Critical patent/CN114401114A/en
Application granted granted Critical
Publication of CN114401114B publication Critical patent/CN114401114B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Abstract

The present disclosure provides a data transmission method, an apparatus, an electronic device and a storage medium, wherein the method includes: sending an access request to a first server to enable the first server to verify the validity of the client according to the access request, receiving a returned address of the first server in response to passing the verification, sending a detection data packet to the first server according to the address of the first server to establish service communication connection with the first server, and sending a data transmission request to the first server, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing, so that the media service connection establishing time can be optimized, the encryption and decryption processes of the data are omitted under the condition of ensuring the data security, the data transmission delay can be effectively reduced, the packet loss phenomenon in the data transmission process is avoided, and the data transmission efficiency is improved.

Description

Data transmission method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of internet technologies, and in particular, to a data transmission method and apparatus, an electronic device, and a storage medium.
Background
In the application scenario of internet data transmission, data is transmitted between two communication nodes, and usually the data is directly forwarded through a single server, or the two communication nodes are directly connected to exchange data. In the related art, when the client establishes a communication connection with the server, an interactive Connectivity establishment ice (interactive Connectivity establishment) protocol is used, and each node in the transmission process of data performs data encryption and decryption.
In this way, when the data transmission range covers a large geographical area, for example, the data transmission range covers a plurality of provinces, a plurality of countries, or a plurality of continents, the data transmission efficiency cannot be ensured, which results in a large data transmission delay, a high data transmission cost, and a poor data transmission efficiency.
Disclosure of Invention
The present disclosure is directed to solving, at least to some extent, one of the technical problems in the related art.
Therefore, an object of the present disclosure is to provide a data transmission method, an apparatus, an electronic device, and a storage medium, which can optimize a media service connection establishing time, omit an encryption and decryption process of data under the condition that data security is guaranteed, effectively reduce data transmission delay, avoid a packet loss phenomenon in a data transmission process, and improve data transmission efficiency.
The data transmission method provided by the embodiment of the first aspect of the disclosure is applied to a client, and the method includes: sending an access request to a first service end so that the first service end verifies the validity of the client according to the access request;
receiving the returned address of the first service end in response to passing the verification;
sending a detection data packet to the first service end according to the address of the first service end so as to establish service communication connection with the first service end;
and sending a data transmission request to the first server, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
Optionally, the detection packet carries an internet protocol IP address and a communication port of the client, where the detection packet is used to instruct the first server to use the IP address and the communication port as a destination address and a port for performing communication transmission with the client, where the communication transmission is based on a user datagram protocol UDP.
Optionally, the access request includes: a username, password, and service token; the receiving the returned first service end address in response to the verification passing comprises:
receiving the returned first service end address in response to the user name and the password being correct or in response to the service token being valid.
Optionally, before the sending the access request to the first service end, the method further includes:
sending a candidate access request to at least one candidate server;
sending a service access request to a central server;
receiving a first service identifier of the first service end returned by the central server;
the first server is determined by the central server according to the candidate data detection information of the at least one candidate server.
Optionally, the candidate data probing information includes: at least one of load weight information, round trip delay information, and packet loss rate information.
The data transmission method provided by the embodiment of the first aspect of the present disclosure includes sending an access request to a first service end, so that the first service end verifies the validity of the client according to the access request, receives the returned address of the first service end in response to the verification passing, sending a detection data packet to the first service end according to the address of the first service end so as to establish service communication connection with the first service end and send a data transmission request to the first service end, the data transmission request comprises data to be transmitted, the data to be transmitted is data which is not subjected to encryption processing, the media service connection establishing time can be optimized, the encryption and decryption processes of the data are omitted under the condition of ensuring the data safety, the data transmission time delay can be effectively reduced, the packet loss phenomenon in the data transmission process is avoided, and the data transmission efficiency is improved.
The data transmission method provided by the embodiment of the second aspect of the present disclosure is applied to a first service end, and the method includes: receiving an access request sent by a client, and verifying the validity of the client according to the access request;
responding to the verification, and returning the address of the first service end to the client;
receiving a detection data packet sent by the client, and establishing service communication connection with the client according to the detection data packet;
and receiving a data transmission request sent by the client, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
Optionally, the detecting data packet carries an internet protocol IP address and a communication port of the client, and the establishing a service communication connection with the client according to the detecting data packet includes:
and taking the IP address and the communication port as a destination address and a port for communication transmission with the client, wherein the communication transmission is based on a User Datagram Protocol (UDP).
Optionally, the access request includes: a username, password, and service token; the returning the address of the first service end to the client end in response to the verification passing comprises:
and returning the address of the first service end to the client end in response to the fact that the user name and the password are correct or the fact that the service token is valid.
Optionally, the data transmission request further includes a target client identifier of a target client, and after receiving the data transmission request sent by the client, the method further includes:
determining a cascade routing relationship according to the first service identifier of the first server and the target client identifier, wherein the cascade routing relationship comprises: the first service identification, the second service identification and the routing relation among the target customer identifications;
and generating a data forwarding request according to the data to be transmitted and the target client identifier, and sending the data forwarding request to a second server to which the second service identifier belongs.
Optionally, the number of the second service identifiers is multiple, the multiple second service identifiers respectively identify multiple second service terminals, and the multiple second service terminals respectively have multiple forwarding orders.
Optionally, after determining the cascade routing relationship according to the first service identifier and the target client identifier, the method further includes:
determining a first forwarding order of the first server;
determining a second forwarding order corresponding to the first forwarding order, the second forwarding order being subsequent to and adjacent to the first forwarding order;
determining a target second service identifier from the plurality of second service identifiers according to the second forwarding order, wherein the target second service identifier belongs to the plurality of second service identifiers;
wherein, the sending the data forwarding request to the second server to which the second service identifier belongs includes:
and sending the data forwarding request to a target second service end to which the target second service identifier belongs, wherein the target second service end is a next hop service end of the first service end.
According to the data transmission method provided by the embodiment of the second aspect of the disclosure, by receiving an access request sent by a client, verifying the validity of the client according to the access request, responding to the verification, returning the address of the first service end to the client, receiving a detection data packet sent by the client, establishing a service communication connection with the client according to the detection data packet, and receiving a data transmission request sent by the client, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing, so that the media service connection establishing time can be optimized, the encryption and decryption processes of the data are omitted under the condition of ensuring the data security, the data transmission delay can be effectively reduced, the packet loss phenomenon in the data transmission process is avoided, and the data transmission efficiency is improved.
The data transmission device provided in the third aspect of the present disclosure is applied to a client, and the device includes:
the sending module is used for sending an access request to a first service terminal so that the first service terminal can verify the validity of the client terminal according to the access request;
the receiving module is used for responding to the passing of the verification and receiving the returned address of the first service end;
the detection module is used for sending a detection data packet to the first service end according to the address of the first service end so as to establish service communication connection with the first service end;
the data transmission module is used for sending a data transmission request to the first server, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
Optionally, the detection packet carries an internet protocol IP address and a communication port of the client, where the detection packet is used to instruct the first server to use the IP address and the communication port as a destination address and a port for performing communication transmission with the client, where the communication transmission is based on a user datagram protocol UDP.
Optionally, the access request includes: a username, password, and service token; the receiving module is specifically configured to:
receiving the returned first service end address in response to the user name and the password being correct or in response to the service token being valid.
Optionally, the apparatus further comprises:
the candidate module is used for sending a candidate access request to at least one candidate server;
the request module is used for sending a service access request to the central server;
the determining module is used for receiving a first service identifier of the first service end returned by the central server;
the first server is determined by the central server according to the candidate data detection information of the at least one candidate server.
Optionally, the candidate data probing information includes: at least one of load weight information, round trip delay information, and packet loss rate information.
The data transmission device provided by the embodiment of the third aspect of the disclosure sends an access request to the first service end, so that the first service end verifies the validity of the client according to the access request, receives a returned address of the first service end in response to the passing of the verification, sends a detection data packet to the first service end according to the address of the first service end, so as to establish a service communication connection with the first service end, and sends a data transmission request to the first service end, where the data transmission request includes data to be transmitted, and the data to be transmitted is data that is not subjected to encryption processing, so that the media service association time can be optimized, an encryption and decryption process of the data is omitted under the condition of ensuring data security, the data transmission delay can be effectively reduced, a packet loss phenomenon in the data transmission process is avoided, and the data transmission efficiency is improved.
The data transmission apparatus provided in the fourth aspect of the present disclosure is applied to a first service end, and the apparatus includes: the access module is used for receiving an access request sent by a client and verifying the validity of the client according to the access request;
the verification module is used for responding to the verification passing and returning the address of the first service end to the client;
the connection module is used for receiving a detection data packet sent by the client and establishing service communication connection with the client according to the detection data packet;
the first receiving module is used for receiving a data transmission request sent by the client, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
Optionally, the detection data packet carries an internet protocol IP address and a communication port of the client, and the connection module is specifically configured to:
and taking the IP address and the communication port as a destination address and a port for communication transmission with the client, wherein the communication transmission is based on a User Datagram Protocol (UDP).
Optionally, the access request includes: a username, password, and service token; the verification module is specifically configured to:
and returning the address of the first service end to the client end in response to the fact that the user name and the password are correct or the fact that the service token is valid.
Optionally, the data transmission request further includes a target client identifier of a target client, and the apparatus further includes:
a first determining module, configured to determine a cascade routing relationship according to the first service identifier of the first server and the target client identifier, where the cascade routing relationship includes: the first service identification, the second service identification and the routing relation among the target customer identifications;
and the first forwarding module is used for generating a data forwarding request according to the data to be transmitted and the target client identifier and sending the data forwarding request to a second server to which the second service identifier belongs.
Optionally, the number of the second service identifiers is multiple, the multiple second service identifiers respectively identify multiple second service terminals, and the multiple second service terminals respectively have multiple forwarding orders.
Optionally, the apparatus further comprises:
a second determining module, configured to determine a first forwarding order of the first server;
a third determining module for determining a second forwarding order corresponding to the first forwarding order, the second forwarding order being subsequent to the first forwarding order and adjacent to the first forwarding order;
a fourth determining module, configured to determine a target second service identifier from the plurality of second service identifiers according to the second forwarding order, where the target second service identifier belongs to the plurality of second service identifiers;
wherein, the first forwarding module is specifically configured to:
and sending the data forwarding request to a target second service end to which the target second service identifier belongs, wherein the target second service end is a next hop service end of the first service end.
According to the data transmission device provided by the embodiment of the fourth aspect of the disclosure, the access request sent by the client is received, the validity of the client is verified according to the access request, the address of the first server is returned to the client in response to the verification passing, the detection data packet sent by the client is received, the service communication connection with the client is established according to the detection data packet, and the data transmission request sent by the client is received.
An embodiment of a fifth aspect of the present disclosure provides a data transmission system, including a client and a first server, where the client performs the data transmission method provided in the embodiment of the first aspect of the present disclosure, and the first server performs the data transmission method provided in the embodiment of the second aspect of the present disclosure.
A sixth aspect of the present disclosure provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the data transmission method proposed in the first aspect of the present disclosure, or implements the data transmission method proposed in the second aspect of the present disclosure, when the processor executes the program.
A seventh aspect of the present disclosure provides a non-transitory computer-readable storage medium, on which a computer program is stored, where the program, when executed by a processor, implements a data transmission method as set forth in the first aspect of the present disclosure, or implements a data transmission method as set forth in the second aspect of the present disclosure.
An eighth aspect of the present disclosure provides a computer program product, which when executed by an instruction processor in the computer program product performs the data transmission method proposed in the first aspect of the present disclosure, or implements the data transmission method proposed in the second aspect of the present disclosure.
Additional aspects and advantages of the disclosure will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the disclosure.
Drawings
The foregoing and/or additional aspects and advantages of the present disclosure will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
fig. 1 is a schematic flow chart of a data transmission method according to an embodiment of the present disclosure;
fig. 2 is a schematic flow chart of a data transmission method according to another embodiment of the present disclosure;
fig. 3 is a schematic flowchart of a data transmission method according to an embodiment of the disclosure;
fig. 4 is a schematic flow chart of a data transmission method according to another embodiment of the present disclosure;
fig. 5 is a schematic diagram of a route determination process proposed in the embodiment of the present disclosure;
fig. 6 is a schematic diagram of a network transmission flow proposed by the embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the disclosure;
fig. 8 is a schematic structural diagram of a data transmission device according to another embodiment of the disclosure;
fig. 9 is a schematic structural diagram of a data transmission device according to another embodiment of the disclosure;
fig. 10 is a schematic structural diagram of a data transmission device according to another embodiment of the present disclosure;
FIG. 11 illustrates a block diagram of an exemplary electronic device suitable for use in implementing embodiments of the present disclosure.
Detailed Description
Reference will now be made in detail to the embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the drawings are exemplary only for the purpose of illustrating the present disclosure and should not be construed as limiting the same. On the contrary, the embodiments of the disclosure include all changes, modifications and equivalents coming within the spirit and terms of the claims appended hereto.
Fig. 1 is a schematic flow chart of a data transmission method according to an embodiment of the disclosure.
It should be noted that, an execution subject of the data transmission method of this embodiment is a client, as shown in fig. 1, the data transmission method includes:
s101: and sending an access request to the first service end so that the first service end verifies the legality of the client according to the access request.
The client sends an access request to the first server, and the first server verifies the legality of the client according to the access request so as to approve or reject the access of the client.
In some embodiments, the access request includes a user name, a password, an application identifier, and a service token of the client, and the first server may verify the validity of the client according to the user name, the password, the application identifier, and the service token carried in the access request.
In this embodiment of the disclosure, the first service end has a first service identifier, where a service end (the service end is an application node used for forwarding data in a network) used for forwarding data to be transmitted is referred to as the first service end, the first service identifier is used for uniquely identifying the first service end, the first service identifier may be an equipment number of the first service end or an identifier in any other form, when the first service end forwards data to be transmitted, the first service end may specifically forward the data to be transmitted to the service end serving as a transmission target, and the service end serving as the transmission target transmits the data to be transmitted to the target client, which is not limited herein.
In some embodiments, before sending an access request to a first server, a client sends a candidate access request to at least one candidate server, sends a service access request to a central server, and receives a first service identifier of the first server returned by the central server, where the first server is determined by the central server according to candidate data probe information of the at least one candidate server.
Optionally, the candidate data probing information includes: at least one of load weight information, round trip delay information, and packet loss rate information.
S102: and receiving the returned address of the first server in response to the verification passing.
In some embodiments, the client sends an access request carrying a user name, a password and a service token to the first service end, the first service end verifies the validity of the client after receiving the access request, and if the verification is passed, the address of the first service end is returned to the client.
The address of the first server is the address of the service to be accessed by the client.
As a possible implementation manner, in response to that the user name and the password in the access request are correct, the address returned by the first server is received after verification is passed.
As another possible implementation manner, in response to that the service token in the access request is valid, the address returned by the first server is received after the authentication is passed.
In some embodiments, if the verification fails, the server returns a request error message to the client, and denies the access of the client.
S103: and sending a detection data packet to the first service end according to the address of the first service end so as to establish service communication connection with the first service end.
And after receiving the returned address of the first service end, the client sends a detection data packet to the address so as to establish service communication connection with the first service end.
In some embodiments, the detection packet carries an internet protocol IP address and a communication port of the client.
Optionally, the detection packet is a STUN (Simple Traversal of User Data Protocol (UDP) Through Network Address Transmitters (NATs), Simple UDP transport over NAT) Protocol packet.
In general Network data transmission, in order to ensure the security of a private Network terminal, NAT (Network Address Translation) is provided, so that when a "home" Network of a private (reserved) Address transmits a packet through a NAT router by means of NAT during transmission, the private Address is translated into a legitimate IP Address.
When establishing a service communication connection, the NAT needs to be traversed to establish a communication connection between the client and the server.
In some embodiments, the client sends a STUN Protocol packet to the first server, and the first server, after receiving the STUN Protocol packet, takes an IP address and a communication port for sending the STUN Protocol packet as a destination address and a destination port for performing communication transmission with the client, where the communication transmission is based on a User Datagram Protocol (UDP).
S104: and sending a data transmission request to the first server, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
After establishing service communication connection with the first service end, the client sends a data transmission request to the first service end, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
Optionally, the data to be transmitted is data based on at least one of RTP (Real-time Transport Protocol), RTCP (Real-time Transport Protocol Control Protocol), HTTP (hypertext Transport Protocol), or FTP (File Transfer Protocol) without being encrypted.
It is understood that the data to be transmitted may be of different types depending on the service requested by the client. When a client requests a media service, data to be transmitted is generally data satisfying RTP. According to different application scenarios, the data to be transmitted may also select a transmission protocol suitable for the application scenario, such as a hypertext transfer protocol HTTP or a file transfer protocol FTP.
In the embodiment of the disclosure, when the first server requests access from the client, the authentication of the client is completed, the validity of the client is verified, the legal client is allowed to access the service, and the data to be transmitted is sent to the server. Therefore, the security of data transmission is ensured, the data to be transmitted does not need to be encrypted additionally, and each server end which is subjected to routing in the process of data transmission and forwarding does not need to encrypt or decrypt the data to be transmitted, so that the transmission efficiency is improved, and the transmission delay is effectively reduced.
In the data transmission method of this embodiment, an access request is sent to a first service end, so that the first service end verifies the validity of a client according to the access request, receives a returned address of the first service end in response to the passing of the verification, and sends a detection data packet to the first service end according to the address of the first service end, so as to establish a service communication connection with the first service end, and sends a data transmission request to the first service end, where the data transmission request includes data to be transmitted, and the data to be transmitted is data that is not subjected to encryption processing, so that media service association time can be optimized, an encryption and decryption process of the data is omitted under the condition that data security is guaranteed, data transmission delay can be effectively reduced, a packet loss phenomenon in the data transmission process is avoided, and data transmission efficiency is improved.
Fig. 2 is a flowchart illustrating a data transmission method according to an embodiment of the disclosure.
As shown in fig. 2, the data transmission method includes:
s201: and sending a service access request to the central server.
The central server is a logically central server, can master the network information of the global server, and is responsible for controlling various forwarding rules.
In some embodiments, the client may also send a candidate access request to at least one candidate server.
The candidate server is at least one client which can be accessed by the client.
The client sends a service access request to the central server, inquires about the service terminals which can be accessed by the central server, and the central server determines a first service terminal from at least one candidate service terminal according to the candidate detection information of at least one candidate service terminal.
Optionally, the candidate data probing information includes: at least one of load weight information, round trip delay information, and packet loss rate information.
The round-trip delay information and the packet loss rate information may be obtained by each candidate server according to a ouch candidate access request.
The central server selects an optimal first service end which is most suitable for the client to access from at least one candidate service end according to the link condition of each candidate service end and the like.
S202: and receiving a first service identifier of the first service end returned by the central server.
After determining the first service end according to the candidate detection information, the central server returns the first service identifier of the first service end to the client.
After the client sends a service access request to the central server, a first service identifier returned by the central server is received, and an optimal first service end which is calculated by the central server and is most suitable for the client to access is determined according to the first service identifier.
S203: and sending an access request to the first service end so that the first service end verifies the legality of the client according to the access request.
The client sends an access request to a first server to which a first service identifier returned by the central server belongs, and the first server verifies the validity of the client according to the access request so as to approve or reject the access of the client.
In some embodiments, the access request includes a user name, a password, an application identifier, and a service token of the client, and the first server may verify the validity of the client according to the user name, the password, the application identifier, and the service token carried in the access request.
S204: and receiving the returned address of the first server in response to the verification passing.
In some embodiments, the client sends an access request carrying a user name, a password, an application identifier and a service token to the first service, the first service verifies the validity of the client after receiving the access request, and if the verification is passed, the address of the first service is returned to the client.
The address of the first server is the address of the service to be accessed by the client.
As a possible implementation manner, in response to that the user name and the password in the access request are correct, the address returned by the first server is received after verification is passed.
Optionally, after receiving the access request, the first service end finds a corresponding user name and password according to the application identifier therein, verifies whether the user name and password in the access request are consistent, and if so, indicates that the user name and password are correct, and the verification is passed.
As another possible implementation manner, in response to that the service token in the access request is valid, the address returned by the first server is received after the authentication is passed.
Wherein the service token is a temporary pass. In the system interactive docking process, the service token is an authorization certificate of the client for accessing the service end, and can be acquired after the user name and the password are verified or the validity of the client is confirmed. The service token effectively shows that the authentication information of the client is valid and the client is legal.
In some embodiments, if the verification fails, the server returns a request error message to the client, and denies the access of the client.
S205: and sending a detection data packet to the first service end according to the address of the first service end so as to establish service communication connection with the first service end.
Optionally, the detection packet carries an IP address and a communication port of the client. And the first service end takes the IP address and the communication port as a destination address and a communication port for communication transmission with the client.
In some embodiments, the client sends a STUN protocol data packet to the first service end, and the first service end, after receiving the STUN protocol data packet, takes an IP address and a communication port for sending the STUN protocol data packet as a destination address and a destination port for communication transmission with the client, wherein the communication transmission is based on a user datagram protocol UDP.
The STUN protocol data is used as a detection data packet, so that multiple matching and bidirectional testing processes during establishing communication connection between the client and the server can be reduced, and the media service connection establishing time is effectively shortened.
S206: and sending a data transmission request to the first server, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
After establishing service communication connection with the first service end, the client sends a data transmission request to the first service end, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
Optionally, the data to be transmitted is at least one of RTP data, RTCP data, HTTP data, or FTP data that is not subjected to encryption processing.
It can be understood that the data to be transmitted may be different in data type and transmission protocol that is satisfied according to the difference between the service requested by the client and the application scenario, and different transmission protocols suitable for the application scenario may be selected.
In the embodiment of the disclosure, when the first server requests access from the client, the authentication of the client is completed, the validity of the client is verified, the legal client is allowed to access the service, and the data to be transmitted is sent to the server. Therefore, the security of data transmission is ensured, the data to be transmitted does not need to be encrypted additionally, and each server end which is subjected to routing in the process of data transmission and forwarding does not need to encrypt or decrypt the data to be transmitted, so that the transmission efficiency is improved, and the transmission delay is effectively reduced.
The data transmission method of this embodiment sends a service access request to a central server, receives a first service identifier of a first service end returned by the central server, sends the access request to the first service end, so that the first service end verifies the validity of a client according to the access request, receives a returned address of the first service end in response to passing the verification, sends a detection data packet to the first service end according to the address of the first service end to establish a service communication connection with the first service end, and sends a data transmission request to the first service end, where the data transmission request includes data to be transmitted, and the data to be transmitted is data that is not subjected to encryption processing, thereby optimizing a deployment architecture of the server, so that the client can select the nearest server for access, effectively shortening the media service connection time, and omitting the encryption and decryption processes of the data under the condition of guaranteeing data security, the data transmission delay can be effectively reduced, the phenomenon of packet loss in the data transmission process is avoided, and the data transmission efficiency is improved.
Fig. 3 is a flowchart illustrating a data transmission method according to an embodiment of the disclosure.
The execution main body of this embodiment is a first service end, where the first service end has a first service identifier, where a service end used for transmitting and forwarding data to be transmitted (the service end is an application node used for data forwarding in a network) may be referred to as a first service end, the first service identifier is used for uniquely identifying the first service end, and the first service identifier may be an equipment number of the first service end or an identifier in any other form. As shown in fig. 3, the data transmission method includes:
s301: and receiving an access request sent by a client, and verifying the validity of the client according to the access request.
And receiving an access request sent by the client, and verifying the legality of the client by the first server according to the access request so as to approve or reject the access of the client.
In some embodiments, the access request includes a user name, a password, an application identifier, and a service token of the client, and the first server may verify the validity of the client according to the user name, the password, the application identifier, and the service token carried in the access request.
S302: and responding to the verification passing, and returning the address of the first service end to the client.
In some embodiments, an access request sent by a client to a first server carries a user name, a password and a service token, the first server verifies the validity of the client according to the access request after receiving the access request, and if the verification is passed, the address of the first server is returned to the client.
The address of the first server is the address of the service to be accessed by the client.
As a possible implementation manner, in response to the fact that the user name and the password in the access request are correct, the address is returned to the client after the authentication is passed.
As another possible implementation, in response to the service token in the access request being valid, the address is returned to the client with the authentication being passed.
In some embodiments, if the verification fails, the server returns a request error message to the client, and denies the access of the client.
S303: and receiving a detection data packet sent by the client, and establishing service communication connection with the client according to the detection data packet.
And after receiving the returned address of the first service end, the client sends a detection data packet to the address so as to establish service communication connection with the first service end.
In some embodiments, the detection packet carries an internet protocol IP address and a communication port of the client.
Optionally, the detection packet is a STUN (Simple Traversal of User Data Protocol (UDP) Through Network Address Transmitters (NATs), Simple UDP transport over NAT) Protocol packet.
In general Network data transmission, in order to ensure the security of a private Network terminal, NAT (Network Address Translation) is provided, so that when a "home" Network of a private (reserved) Address transmits a packet through a NAT router by means of NAT during transmission, the private Address is translated into a legitimate IP Address.
When establishing a service communication connection, the NAT needs to be traversed to establish a communication connection between the client and the server.
In some embodiments, the client sends a STUN protocol data packet to the first service end, and the first service end, after receiving the STUN protocol data packet, takes an IP address and a communication port for sending the STUN protocol data packet as a destination address and a destination port for communication transmission with the client, wherein the communication transmission is based on a user datagram protocol UDP.
S304: and receiving a data transmission request sent by a client, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
After the service communication connection with the client is established, a data transmission request sent by the client is received, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
Optionally, the data to be transmitted is data based on at least one of a real-time transport protocol RTP, an RTP control protocol RTCP, a hypertext transport protocol HTTP, or a file transfer protocol FTP without being encrypted.
It is understood that the data to be transmitted may be of different types depending on the service requested by the client. When a client requests a media service, data to be transmitted is generally data satisfying RTP. According to different application scenarios, the data to be transmitted may also select a transmission protocol suitable for the application scenario, such as a hypertext transfer protocol HTTP or a file transfer protocol FTP.
In the embodiment of the disclosure, when the first server requests access from the client, the authentication of the client is completed, the validity of the client is verified, the legal client is allowed to access the service, and the data to be transmitted is sent to the server. Therefore, the security of data transmission is ensured, the data to be transmitted does not need to be encrypted additionally, and each server end which is subjected to routing in the process of data transmission and forwarding does not need to encrypt or decrypt the data to be transmitted, so that the transmission efficiency is improved, and the transmission delay is effectively reduced.
According to the data transmission method, the access request sent by the client is received, the legality of the client is verified according to the access request, the address of the first server is returned to the client in response to the verification passing, the detection data packet sent by the client is received, the service communication connection with the client is established according to the detection data packet, the data transmission request sent by the client is received, the data transmission request comprises to-be-transmitted data, the to-be-transmitted data are data which are not subjected to encryption processing, the media service connection establishing time can be optimized, the encryption and decryption processes of the data are omitted under the condition that the data safety is guaranteed, the data transmission delay can be effectively reduced, the packet loss phenomenon in the data transmission process is avoided, and the data transmission efficiency is improved.
Fig. 4 is a flowchart illustrating a data transmission method according to an embodiment of the disclosure.
The execution main body of this embodiment is the first service end, and for example, the description of the first service end may specifically refer to the above, and details are not described herein again. As shown in fig. 4, the data transmission method includes:
s401: and receiving an access request sent by a client, and verifying the validity of the client according to the access request.
S402: and responding to the verification passing, and returning the address of the first service end to the client.
In some embodiments, an access request sent by a client to a first server carries a user name, a password and a service token, the first server verifies the validity of the client according to the access request after receiving the access request, and if the verification is passed, the address of the first server is returned to the client.
The address of the first server is the address of the service to be accessed by the client.
As a possible implementation manner, in response to the fact that the user name and the password in the access request are correct, the address is returned to the client after the authentication is passed.
Optionally, after receiving the access request, the first service end finds a corresponding user name and password according to the application identifier therein, verifies whether the user name and password in the access request are consistent, and if so, indicates that the user name and password are correct, and the verification is passed.
As another possible implementation, in response to the service token in the access request being valid, the address is returned to the client with the authentication being passed.
Wherein the service token is a temporary pass. In the system interactive docking process, the service token is an authorization certificate of the client for accessing the service end, and can be acquired after the user name and the password are verified or the validity of the client is confirmed. The service token effectively shows that the authentication information of the client is valid and the client is legal.
In some embodiments, if the verification fails, the server returns a request error message to the client, and denies the access of the client.
S403: and receiving a detection data packet sent by the client, and taking the IP address and the communication port carried in the detection data packet as a destination address and a port for communication transmission with the client.
In some embodiments, the client sends a STUN protocol data packet to the first service end, and the first service end, after receiving the STUN protocol data packet, takes an IP address and a communication port for sending the STUN protocol data packet as a destination address and a destination port for communication transmission with the client, wherein the communication transmission is based on a user datagram protocol UDP.
The STUN protocol data is used as a detection data packet, so that multiple matching and bidirectional testing processes during establishing communication connection between the client and the server can be reduced, and the media service connection establishing time is effectively shortened.
S404: and receiving a data transmission request sent by the client, wherein the data transmission request comprises a target client identifier of a target client and data to be transmitted.
The data to be transmitted is data which is not subjected to encryption processing. The target client identifier of the target client refers to a client that is a transmission target (i.e., a client that needs to transmit data to be transmitted), and the target client identifier may be used to uniquely identify the target client, and may be a device number of the target client or an identifier in any other form, which is not limited to this.
Optionally, the data to be transmitted is at least one of RTP data, RTCP data, HTTP data, or FTP that is not subjected to encryption processing.
It can be understood that the data to be transmitted may be different in data type and transmission protocol that is satisfied according to the difference between the service requested by the client and the application scenario, and different transmission protocols suitable for the application scenario may be selected.
In some embodiments, after receiving the data transmission request, the first service end determines a cascade routing relationship according to the first service identifier and the target client identifier, where the cascade routing relationship includes: and the first service identifier, the second service identifier and the routing relation among the target customer identifiers generate a data forwarding request according to the data to be transmitted and the target customer identifiers, and send the data forwarding request to a second service terminal to which the second service identifiers belong.
That is, in some embodiments, after receiving the data transmission request, the first service end determines a cascade routing relationship according to the target client identifier in the data transmission request, where the cascade routing relationship refers to a path relationship of a route through which data is transmitted from the first service end to the target client, a service end that forwards the data to be transmitted in a path is the second service end, and the second service end has the second service identifier.
Optionally, the number of the second service terminals is multiple, and the multiple second service terminals correspond to multiple forwarding orders.
In the embodiment of the disclosure, a data transmission interface may be configured on a data transmission device configured in a client that sends data to be transmitted, a data transmission instruction input by a user is received via the data transmission interface, the data to be transmitted is obtained by parsing the data transmission instruction, then a target client identifier of a target client to which the data to be transmitted needs to be transmitted is determined, the data to be transmitted and the target client identifier are packaged into a data transmission request, the client that sends the data to be transmitted sends the data transmission request to a first server, the first server may dynamically monitor whether the data transmission request is received, if so, the target client identifier of the target client and the data to be transmitted may be obtained by directly parsing the data transmission request, and a subsequent data transmission processing logic is triggered.
S405: determining a cascade routing relationship according to a first service identifier and a target client identifier of a first service end, wherein the cascade routing relationship comprises: a routing relationship between the first service identification, the second service identification, and the target customer identification.
In the embodiment of the present disclosure, when the first service transmits and forwards the data to be transmitted, specifically, the data to be transmitted may be forwarded to a server serving as a transmission target, and the server serving as the transmission target transmits the data to be transmitted to a target client, where the server serving as the transmission target may be referred to as a second server, the second service identifier may be used to uniquely identify the second server, and the second service identifier may be an equipment number of the second server or an identifier in any other form, which is not limited to this.
In some embodiments, a second service directly communicatively connected to the target client, that is, a second service accessed by the target client, may be determined according to the target client identifier, and the cascade routing relationship may be determined according to a second service identifier of the second service and the first service identifier.
The routing relationship network may be configured to describe a routing relationship among a plurality of service terminals (the first service terminal and the second service terminal may belong to the plurality of service terminals) and a logical relationship between clients (the target client and the client sending the transmission data may also belong to the plurality of clients) for transmitting data forwarding routes, where the second service terminal may be a service terminal of a next hop of the first service terminal, and forwarding order corresponding to different service terminals may be referred to as forwarding order.
Optionally, the first service end may determine the cascade routing relationship through query of the central server. The central server is a logically central server, can master the network information of the global server, and is responsible for controlling various forwarding rules.
The cascade routing relationship in the embodiments of the present disclosure includes: the routing relationship among the first service identifier, the second service identifier, and the target client identifier, that is, the cascade routing relationship includes a logical relationship of forwarding routes among the first service, the second service, and the target client.
The cascade routing relationship may be obtained by identifying from the routing relationship network according to the first service identifier, the second service identifier, and the target customer identifier, or may be obtained by detecting each forwarding node service end in the routing relationship network according to the first service identifier and the target customer identifier, taking the service end whose detection performance meets the requirement as the second service end, and then determining the second service identifier of the second service end to assist the subsequent data transmission logic, without limitation.
Optionally, in some embodiments, the number of the second service identifiers may be multiple, the multiple second service identifiers correspond to the multiple second service ends respectively, and the multiple second service ends have multiple forwarding orders respectively, so that the cascade routing relationship between the first service end and the multiple second service ends can be determined by referring to the multiple forwarding orders respectively corresponding to the multiple second service ends, when data transmission is assisted by using the cascade routing relationship between the multiple first service ends and the multiple second service ends, resource occupation of a single service end can be effectively avoided, data transmission performance is effectively guaranteed, and data transmission efficiency is guaranteed.
For example, assuming that the second server includes a second server a, a second server B, and a second server C, it is determined that the target client forms a cascade routing relationship with the second server a, the second server B, and the second server C, the target client is transmitted to the second server a, the target client is transmitted to the second server B, and the target client is transmitted to the second server B.
The data forwarding order refers to an order of each server through which data passes in a network transmission process, where the forwarding order corresponding to the second server a may be, for example, a first hop in a cascade routing relationship, the forwarding order corresponding to the second server B may be, for example, a second hop in the cascade routing relationship, the forwarding order corresponding to the second server C may be, for example, a third hop in the cascade routing relationship, and so on, which is not limited herein.
S406: and generating a data forwarding request according to the data to be transmitted and the target client identifier, and sending the data forwarding request to a second service terminal to which the second service identifier belongs.
After the first server receives the data transmission request and determines the cascade routing relationship, the first server may generate a data forwarding request according to the data to be transmitted and the target client identifier, and send the data forwarding request to a second server to which the second service identifier belongs.
The data forwarding request may trigger the first server to transmit the data to be transmitted to a second server to which the second service identifier belongs, where the second server may be a server behind the first server in the cascade routing relationship, and after the first server sends the data forwarding request to the second server to which the second service identifier belongs, the second server may execute the data transmission method in this embodiment to transmit the data to be transmitted to the next hop server.
In some embodiments, after determining the cascade routing relationship, the first service determines a first forwarding order and a second forwarding order that is subsequent to the first forwarding order and adjacent to the first forwarding order, determines a target second service identifier from the plurality of second service identifiers according to the second forwarding order, and sends the data forwarding request to a target second service to which the target second service identifier belongs, where the target second service is a next-hop service of the first service.
The first forwarding order may be a path for forwarding the data to the second server via the first server. Similarly, the second forwarding order refers to an order in which data is transmitted to a next hop server after being forwarded to the second server, where the next hop server belongs to a plurality of second servers, and the second forwarding order is after the first forwarding order and is adjacent to the first forwarding order. For example, the first server a forwards to the server B and then to the server C, the forwarding order from the server a to the server B is the first forwarding order, and the forwarding order from the server B to the server C is the second forwarding order. The server B and the server C both belong to a plurality of second servers.
In the embodiment of the present disclosure, when determining the first forwarding order of the first service end, a metric routing algorithm may be used to determine a next hop service end corresponding to the first service end, and then determine the first forwarding order of the first service end according to a logical relationship between the forwarding routes of the first service end and the next hop service end, or a management distance routing algorithm and the like may be used to determine the next hop service end corresponding to the first service end, and then determine the first forwarding order of the first service end according to a logical relationship between the forwarding routes of the first service end and the next hop service end, which is not limited to this.
In this embodiment of the present disclosure, when determining the second forwarding order corresponding to the first forwarding order, the data probe request may be sent to the second server in the routing relation network, a target second server is determined from the second servers that receive the data probe response, and the second forwarding order is generated according to the second service identifier of the second server.
For example, as shown in fig. 5, fig. 5 is a schematic diagram of a route determination process in this embodiment, when data is transmitted in a Network, a real-time transport protocol RTP connection and an RTP control protocol RTCP connection are established between service terminals, a Software Defined Network (SDN) architecture may be used, when an SDN receives a cascade request (the cascade request may be a data detection request), an optimal routing path for transmitting data between a plurality of service terminals is calculated by using a routing calculation algorithm according to data detection information returned by a second service terminal, user datagram protocol UDP routing packet detection is initiated, the service terminal receiving a detection packet analyzes the detection packet to obtain an address of a next-hop service terminal, and continues to send the routing packet to the service terminal of the next hop, if the service terminal does not receive response information of the service terminal of the next hop, the routing detection packet is sent to the service terminal of the next hop again according to a retransmission protocol after a set time elapses, if the server still does not receive the response information of the server of the next hop and the set maximum retransmission times is exceeded, the server reports 500 errors to the SDN center, and if the server receives the response information of the server of the next hop, the server continues to detect the subsequent link until the server of the last hop receives a detection data packet, reports successful path detection to the SDN center, and the whole data route transmits the link successfully, so that the transmission of the data to be transmitted on the data link can be started.
Optionally, in some embodiments, the data probing information comprises: the data detection information can represent the performance condition of the data transmitted and forwarded by each server, so that a better route forwarding path can be determined according to diversified and multidimensional data detection information, the data transmission efficiency is improved, the accuracy of judging the forwarding performance of the servers can be effectively improved, the judging effect of the forwarding performance is improved, and the robustness of data transmission is guaranteed.
The load weight information refers to priority selection sequence information of different second service terminals for forwarding data, the load refers to the number of data forwarding tasks carried by the second service terminals, the weight refers to the priority selected by the second service terminals in the data transmission process, the weight of the service terminals can be adjusted according to the load size, when the load of the second service terminals increases, the weight of the second service terminals is reduced, when the weight of the second service terminals is reduced to a set value, the second service terminals do not continue to be allocated with the data forwarding tasks, and then the service terminals with the largest weight are selected for data forwarding.
The round-trip delay information indicates a total time elapsed from when a sending end (the sending end may be a first service end) sends data to be transmitted to when the sending end receives acknowledgement information from a receiving end (the receiving end may be a second service end).
The packet loss rate information refers to a loss condition to be transmitted in a data transmission process, and is returned to a server that forwards data by a server that is a transmission target, the data to be transmitted is transmitted in the form of a plurality of data packets in a network transmission process, a phenomenon that a data packet is lost due to some reasons in the network transmission process is called packet loss, and the loss reason may be, for example, caused by network congestion or caused by equipment such as a router switch, and the like, which is not limited to this.
In this embodiment of the disclosure, after the second server corresponding to the target data detection information is taken as the target second server, the second data detection request may be sent to the target second server, so as to trigger the target second server based on the second data detection request, and detect the next hop server corresponding to the target second server from among the plurality of second servers, thereby determining that the target second server performs data forwarding.
The second data detection request may be a request for obtaining load weight information of the second server, and the like, so that the obtained information is compared with the existing information, a better route forwarding path is judged, the corresponding next-hop server is determined, and the target second server is triggered to forward data.
In the data transmission method of this embodiment, an access request sent by a client is received, the legitimacy of the client is verified according to the access request, in response to the verification passing, an address of a first server is returned to the client, a detection data packet sent by the client is received, an IP address and a communication port carried in the detection data packet are used as a destination address and a port for performing communication transmission with the client, a data transmission request sent by the client is received, the data transmission request includes a target client identifier of the target client and data to be transmitted, a cascade routing relationship is determined according to the first service identifier of the first server and the target client identifier, and the cascade routing relationship includes: the first service identification, the second service identification and the routing relation among the target customer identifications are used for generating a data forwarding request according to the data to be transmitted and the target customer identifications, sending the data forwarding request to the second service end to which the second service identification belongs, optimizing the media service association establishing time, omitting the encryption and decryption process of the data under the condition of ensuring the data safety, simultaneously calculating the better cascade routing relation among a plurality of service ends, and forwarding the data based on the second service identification determined by the cascade routing relation, so that the data transmission delay can be effectively reduced, the packet loss phenomenon in the data transmission process can be avoided, and the data transmission efficiency can be improved.
For better understanding of the above embodiments, please refer to fig. 6, fig. 6 is a schematic diagram of a network transmission flow in this embodiment, which shows a process that clients (SDKs) belonging to different regions communicate through a server cascade, a left Hong Kong (HK) room cluster represents a server with a geographic location in Hong Kong, a right Washington (d.c., WDC) room cluster represents a server with a geographic location in Washington, a user in Hong Kong is a client sending data to be transmitted and has a close access to the server in Hong Kong, the server can be regarded as a server, the user in Washington has a close access to the server in Washington as a target client, an optimal data routing transmission path from the server in Hong Kong to the server is calculated through a cloud computing center (i.e. a central server, which may be an SDN controller), namely, the cascade routing relationship between the hong kong server and the washington server, and then the cascade routing relationship is sent to a Selective Forwarding Unit (SFU) for data Forwarding.
Corresponding to the data transmission method provided by the above embodiment, the present disclosure also provides a data transmission device, and since the data transmission device provided by the embodiment of the present disclosure corresponds to the data transmission method provided by the above embodiment, the implementation manner of the data transmission method is also applicable to the data transmission device provided by the embodiment of the present disclosure, and is not described in detail in the embodiment of the present disclosure.
Fig. 7 is a schematic structural diagram of a data transmission device according to an embodiment of the disclosure. The present embodiment is applied to a client, and as shown in fig. 7, the data transmission device 70 includes: a sending module 710, a receiving module 720, a detecting module 730 and a data transmitting module 740. Wherein the content of the first and second substances,
a sending module 710, configured to send an access request to a first server, so that the first server verifies the validity of the client according to the access request;
a receiving module 720, configured to receive, in response to the verification being passed, a returned address of the first service end;
a detecting module 730, configured to send a detection packet to the first service end according to the address of the first service end, so as to establish a service communication connection with the first service end;
the data transmission module 740 is configured to send a data transmission request to the first server, where the data transmission request includes data to be transmitted, and the data to be transmitted is data that is not subjected to encryption processing.
In some embodiments, the detection packet carries an internet protocol IP address and a communication port of the client, and the detection packet is used to instruct the first server to use the IP address and the communication port as a destination address and a port for performing communication transmission with the client, where the communication transmission is based on a user datagram protocol UDP.
In some embodiments, the access request comprises: a username, password, and service token; the receiving module 720 is specifically configured to: receiving the returned first service end address in response to the user name and the password being correct or in response to the service token being valid.
In some embodiments, as shown in fig. 8, the apparatus further comprises: a candidate module 750 configured to send a candidate access request to at least one candidate server;
a request module 760 for sending a service access request to the central server;
a determining module 770, configured to receive a first service identifier of the first service end returned by the central server; the first server is determined by the central server according to the candidate data detection information of the at least one candidate server.
In some embodiments, the data probe information comprises: load weight information, round trip delay information, and packet loss rate information.
The data transmission device of this embodiment, by sending an access request to the first service end, the first service end verifies the validity of the client according to the access request, and in response to the verification passing, receives a returned address of the first service end, and sends a detection data packet to the first service end according to the address of the first service end, so as to establish a service communication connection with the first service end, and sends a data transmission request to the first service end, where the data transmission request includes data to be transmitted, and the data to be transmitted is data that is not subjected to encryption processing, so that media service association time can be optimized, an encryption and decryption process of the data is omitted under the condition that data security is guaranteed, data transmission delay can be effectively reduced, a packet loss phenomenon in the data transmission process is avoided, and data transmission efficiency is improved.
Fig. 9 is a schematic structural diagram of a data transmission device according to another embodiment of the present disclosure. The present embodiment is applied to the first server, as shown in fig. 9, the processing device 90 includes: an access module 910, an authentication module 920, a connection module 930 and a first receiving module 940. Wherein the content of the first and second substances,
an access module 910, configured to receive an access request sent by a client, and verify validity of the client according to the access request;
a verification module 920, configured to return an address of the first service end to the client in response to verification passing;
a connection module 930, configured to receive a detection packet sent by the client, and establish a service communication connection with the client according to the detection packet;
the first receiving module 940 is configured to receive a data transmission request sent by the client, where the data transmission request includes data to be transmitted, and the data to be transmitted is data that is not subjected to encryption processing.
In some embodiments, the detection packet carries an internet protocol IP address and a communication port of the client, and the connection module 930 is specifically configured to: and taking the IP address and the communication port as a destination address and a port for communication transmission with the client, wherein the communication transmission is based on a User Datagram Protocol (UDP).
In some embodiments, the access request comprises: a username, password, and service token; the verification module 920 is specifically configured to: and returning the address of the first service end to the client end in response to the fact that the user name and the password are correct or the fact that the service token is valid.
In some embodiments, the data transmission request further includes a target client identifier of the target client, as shown in fig. 10, and the apparatus further includes:
a first determining module 950, configured to determine a cascade routing relationship according to the first service identifier of the first server and the target client identifier, where the cascade routing relationship includes: the first service identification, the second service identification and the routing relation among the target customer identifications;
the first forwarding module 960 is configured to generate a data forwarding request according to the to-be-transmitted data and the target client identifier, and send the data forwarding request to a second server to which the second service identifier belongs.
In some embodiments, the number of the second service identifiers is multiple, the multiple second service identifiers respectively identify multiple corresponding second service terminals, and the multiple second service terminals respectively have multiple corresponding forwarding orders.
In some embodiments, as shown in fig. 10, the apparatus further comprises:
a second determining module 970, configured to determine a first forwarding order of the first server;
a third determining module 980 for determining a second forwarding order corresponding to the first forwarding order, the second forwarding order being subsequent to and adjacent to the first forwarding order;
a fourth determining module 990, configured to determine, according to the second forwarding order, a target second service identifier from the plurality of second service identifiers, where the target second service identifier belongs to the plurality of second service identifiers;
the first forwarding module 960 is specifically configured to: and sending the data forwarding request to a target second service end to which the target second service identifier belongs, wherein the target second service end is a next hop service end of the first service end.
The data transmission device of the embodiment verifies the legality of the client according to the access request by receiving the access request sent by the client, responds to the verification and passes, returns the address of the first server to the client, receives the detection data packet sent by the client, establishes the service communication connection with the client according to the detection data packet, and receives the data transmission request sent by the client, wherein the data transmission request comprises data to be transmitted, the data to be transmitted is data which is not subjected to encryption processing, the media service association establishing time can be optimized, the encryption and decryption processes of the data are omitted under the condition that the data safety is guaranteed, the data transmission delay can be effectively reduced, the packet loss phenomenon in the data transmission process is avoided, and the data transmission efficiency is improved.
In order to implement the above embodiments, the present disclosure also provides an electronic device, including: the data transmission method comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, wherein when the processor executes the program, the data transmission method is realized according to the embodiment of the disclosure.
In order to achieve the above embodiments, the present disclosure also proposes a non-transitory computer-readable storage medium on which a computer program is stored, which when executed by a processor implements the data transmission method as proposed by the aforementioned embodiments of the present disclosure.
In order to implement the foregoing embodiments, the present disclosure also provides a computer program product, which when executed by an instruction processor in the computer program product, performs the data transmission method as set forth in the foregoing embodiments of the present disclosure.
FIG. 11 illustrates a block diagram of an exemplary electronic device suitable for use in implementing embodiments of the present disclosure. The electronic device 12 shown in fig. 11 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 11, electronic device 12 is embodied in the form of a general purpose computing device. The components of electronic device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 and the processing unit 16.
Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. These architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus, to name a few.
Electronic device 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by electronic device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
Memory 28 may include computer system readable media in the form of volatile Memory, such as Random Access Memory (RAM) 30 and/or cache Memory 32. Electronic device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 11, and commonly referred to as a "hard drive").
Although not shown in FIG. 11, a disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a Compact disk Read Only Memory (CD-ROM), a Digital versatile disk Read Only Memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to bus 18 by one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the disclosure.
A program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. Program modules 42 generally perform the functions and/or methodologies of the embodiments described in this disclosure.
Electronic device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), with one or more devices that enable a user to interact with electronic device 12, and/or with any devices (e.g., network card, modem, etc.) that enable electronic device 12 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 22. Also, the electronic device 12 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public Network such as the Internet) via the Network adapter 20. As shown, the network adapter 20 communicates with other modules of the electronic device 12 via the bus 18. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with electronic device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
The processing unit 16 executes various functional applications and data processing by executing programs stored in the system memory 28, for example, implementing the data transmission method mentioned in the foregoing embodiments.
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 disclosure 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.
It should be noted that, in the description of the present disclosure, the terms "first", "second", etc. are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. Further, in the description of the present disclosure, "a plurality" means two or more unless otherwise specified.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and the scope of the preferred embodiments of the present disclosure includes other implementations in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the embodiments of the present disclosure.
It should be understood that portions of the present disclosure may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
It will be understood by those skilled in the art that all or part of the steps carried by the method for implementing the above embodiments may be implemented by hardware related to instructions of a program, which may be stored in a computer readable storage medium, and when the program is executed, the program includes one or a combination of the steps of the method embodiments.
In addition, functional units in the embodiments of the present disclosure may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. The integrated module, if implemented in the form of a software functional module and sold or used as a stand-alone product, may also be stored in a computer readable storage medium.
The storage medium mentioned above may be a read-only memory, a magnetic or optical disk, etc.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present disclosure. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
Although embodiments of the present disclosure have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present disclosure, and that changes, modifications, substitutions and alterations may be made to the above embodiments by those of ordinary skill in the art within the scope of the present disclosure.

Claims (10)

1. A data transmission method is applied to a client, and the method comprises the following steps:
sending an access request to a first service end so that the first service end verifies the validity of the client according to the access request;
receiving the returned address of the first service end in response to passing the verification;
sending a detection data packet to the first service end according to the address of the first service end so as to establish service communication connection with the first service end;
and sending a data transmission request to the first server, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
2. The method of claim 1, wherein the detection packet carries an internet protocol IP address and a communication port of the client, and the detection packet is used to instruct the first server to use the IP address and the communication port as a destination address and a port for communication transmission with the client, where the communication transmission is based on a user datagram protocol UDP.
3. The method of claim 2, wherein the access request comprises: a username, password, and service token; the receiving the returned first service end address in response to the verification passing comprises:
receiving the returned first service end address in response to the user name and the password being correct or in response to the service token being valid.
4. The method of claim 1, wherein prior to said sending the access request to the first service, further comprising:
sending a candidate access request to at least one candidate server;
sending a service access request to a central server;
receiving a first service identifier of the first service end returned by the central server;
the first server is determined by the central server according to the candidate data detection information of the at least one candidate server.
5. The method of claim 4, wherein the candidate data sounding information comprises: at least one of load weight information, round trip delay information, and packet loss rate information.
6. A data transmission method applied to a first service end, the method comprising:
receiving an access request sent by a client, and verifying the validity of the client according to the access request;
responding to the verification, and returning the address of the first service end to the client;
receiving a detection data packet sent by the client, and establishing service communication connection with the client according to the detection data packet;
and receiving a data transmission request sent by the client, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
7. A data transmission apparatus, applied to a client, the apparatus comprising:
the sending module is used for sending an access request to a first service terminal so that the first service terminal can verify the validity of the client terminal according to the access request;
the receiving module is used for responding to the passing of the verification and receiving the returned address of the first service end;
the detection module is used for sending a detection data packet to the first service end according to the address of the first service end so as to establish service communication connection with the first service end;
the data transmission module is used for sending a data transmission request to the first server, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
8. A data transmission apparatus, applied to a first service end, the apparatus comprising:
the access module is used for receiving an access request sent by a client and verifying the validity of the client according to the access request;
the verification module is used for responding to the verification passing and returning the address of the first service end to the client;
the connection module is used for receiving a detection data packet sent by the client and establishing service communication connection with the client according to the detection data packet;
the first receiving module is used for receiving a data transmission request sent by the client, wherein the data transmission request comprises data to be transmitted, and the data to be transmitted is data which is not subjected to encryption processing.
9. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-5 or to perform the method of claim 6.
10. A non-transitory computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method of any one of claims 1-5 or to perform the method of claim 6.
CN202111555208.6A 2021-12-17 2021-12-17 Data transmission method, device, electronic equipment and storage medium Active CN114401114B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111555208.6A CN114401114B (en) 2021-12-17 2021-12-17 Data transmission method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111555208.6A CN114401114B (en) 2021-12-17 2021-12-17 Data transmission method, device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114401114A true CN114401114A (en) 2022-04-26
CN114401114B CN114401114B (en) 2023-08-11

Family

ID=81227316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111555208.6A Active CN114401114B (en) 2021-12-17 2021-12-17 Data transmission method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114401114B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016188256A1 (en) * 2016-01-25 2016-12-01 中兴通讯股份有限公司 Application access authentication method, system, apparatus and terminal
CN107888546A (en) * 2016-09-29 2018-04-06 腾讯科技(深圳)有限公司 network attack defence method, device and system
CN109062690A (en) * 2018-07-18 2018-12-21 郑州云海信息技术有限公司 A kind of request responding method, server, medium and system
CN109450923A (en) * 2018-11-30 2019-03-08 武汉烽火众智数字技术有限责任公司 A kind of Video transmission system and method
CN113382062A (en) * 2021-06-08 2021-09-10 北京天空卫士网络安全技术有限公司 Data transmission method, device and system
CN113448594A (en) * 2021-06-29 2021-09-28 京东科技控股股份有限公司 Service processing method and device, computer equipment and storage medium
CN113691516A (en) * 2021-08-16 2021-11-23 深圳市商汤科技有限公司 Streaming media data transmission method and device, electronic equipment and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016188256A1 (en) * 2016-01-25 2016-12-01 中兴通讯股份有限公司 Application access authentication method, system, apparatus and terminal
CN107888546A (en) * 2016-09-29 2018-04-06 腾讯科技(深圳)有限公司 network attack defence method, device and system
CN109062690A (en) * 2018-07-18 2018-12-21 郑州云海信息技术有限公司 A kind of request responding method, server, medium and system
CN109450923A (en) * 2018-11-30 2019-03-08 武汉烽火众智数字技术有限责任公司 A kind of Video transmission system and method
CN113382062A (en) * 2021-06-08 2021-09-10 北京天空卫士网络安全技术有限公司 Data transmission method, device and system
CN113448594A (en) * 2021-06-29 2021-09-28 京东科技控股股份有限公司 Service processing method and device, computer equipment and storage medium
CN113691516A (en) * 2021-08-16 2021-11-23 深圳市商汤科技有限公司 Streaming media data transmission method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN114401114B (en) 2023-08-11

Similar Documents

Publication Publication Date Title
US7958240B2 (en) Group judgment device
CN107113203B (en) Apparatus, system and method for debugging network connectivity
US9641430B2 (en) Verifying data plane paths based on a validated secure control plane
TW201631510A (en) Methods, apparatus, and systems for identity authentication
US20130054817A1 (en) Disaggregated server load balancing
US20230216788A1 (en) Systems and methods for securing network paths
US10326681B2 (en) System and method to analyze route information in a network
EP3948615A1 (en) Applying attestation to segment routing
US9049140B2 (en) Backbone network with policy driven routing
US11277264B2 (en) Applying attestation tokens to the intermediate system to intermediate system (ISIS) routing protocol
WO2018201367A1 (en) Node authentication method and node authentication system
CN114401114B (en) Data transmission method, device, electronic equipment and storage medium
CN113010314B (en) Load balancing method and device and electronic equipment
CN113890864A (en) Data packet processing method and device, electronic equipment and storage medium
US10637777B2 (en) Address converting device, information processing system, and method of providing service
CN114285791B (en) Data transmission method, device, computer equipment and storage medium
WO2020191095A1 (en) Network route optimization using excess private network capacity
CN114401318B (en) Data transmission method, device, computer equipment and storage medium
WO2020206201A1 (en) Applying attestation to the border gateway protocol (bgp)
US20230216938A1 (en) Application-based data transport apparatus and method
EP3948611B1 (en) Applying attestation tokens to the intermediate system to intermediate system (isis) routing protocol
US11689611B2 (en) Network optimization system using server latency measurements
CN113676540B (en) Connection establishment method and device
CN117938542B (en) Method, device, equipment and medium for determining direction of network traffic data
CN113676369B (en) Network quality analysis method, data receiving server and storage medium

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