A method for data transmission and related devices
By obtaining the public network address of the peer network node and forwarding data packets using the proxy server, the problems of forwarding communication complexity and delay in the TURN standard protocol are solved, and the timeliness of data transmission are improved.
Patent Information
- Application Number
- CN202011041004.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-28
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2040-09-28
AI Technical Summary
The relay forwarding communication process based on the TURN standard protocol is complicated, and may cause delays when forwarding multiple nodes, affecting the timeliness of data transmission.
By obtaining the public network address of the peer network node and sending the target data packet to the peer proxy server based on the address, the proxy server forwards the data packet to the peer network node, realizing the data transmission process based on the proxy server.
This method avoids data forwarding interference between proxy servers, reduces delays, and improves the timeliness of data transmission during relay forwarding communication.
Smart Images

Figure CN112153154B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular, to a method for data transmission and related devices. Background Art
[0002] With the rapid development of Internet technology, the requirements for the communication quality between network devices are getting higher and higher. For example, in application scenarios such as peer-to-peer (P2P) transmission or real-time communication, when two nodes (peers) cannot be directly connected, if both parties are symmetric, a forwarding server must be used to forward the communication to each other.
[0003] Generally, the process of forwarding communication is implemented through the TURN (Traversal Using Relays around NAT) standard protocol, that is, the client uses the same relay address to communicate with multiple different peers.
[0004] However, the service process based on the TURN standard protocol is complex, and the process of communicating with multiple different peers is buffered and forwarded through the Transmission Control Protocol (TCP). When there are many network nodes that need to forward data, delays may occur, affecting the timeliness of data transmission during the relay forwarding communication process. Summary of the Invention
[0005] In view of this, this application provides a method for data transmission, which can effectively improve the timeliness of data transmission during the relay forwarding communication process.
[0006] The first aspect of this application provides a method for data transmission, which can be applied to a system or program with a data transmission function in a terminal device, and specifically includes:
[0007] Obtain the public network address of the peer network node;
[0008] Send a target data packet to the peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node, and the peer proxy server has a corresponding relationship with the peer network node;
[0009] Receive the data response sent by the peer network node based on the target data packet.
[0010] The second aspect of this application provides a data transmission device, including: an obtaining unit, configured to obtain the public network address of the peer network node;
[0011] A sending unit, configured to send a target data packet to a peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node, where the peer proxy server and the peer network node have a corresponding relationship;
[0012] A receiving unit, configured to receive a data response sent by the peer network node based on the target data packet.
[0013] Optionally, in some possible implementation manners of the present application, the sending unit is specifically configured to obtain a target protocol corresponding to the data transmission process with the peer network node;
[0014] The sending unit is specifically configured to generate data structure information based on the target protocol, the identifier of the local network node, and the public network address of the peer network node;
[0015] The sending unit is specifically configured to generate the target data packet according to the data structure information and data payload information;
[0016] The sending unit is specifically configured to send the target data packet to the peer proxy server, so that the peer proxy server forwards the target data packet to the peer network node.
[0017] Optionally, in some possible implementation manners of the present application, the sending unit is specifically configured to send the target data packet to the peer proxy server, so that the peer proxy server parses the data payload information according to the data structure information and forwards it to the peer network node, and the peer proxy server deletes the public network address of the peer network node when forwarding the data payload information to the peer network node.
[0018] Optionally, in some possible implementation manners of the present application, the receiving unit is specifically configured to receive a first data feedback sent by the local proxy server, where the first data feedback is obtained by the local proxy server based on the data response sent by the peer network node, and the data response is obtained by the peer network node based on the target data packet.
[0019] Optionally, in some possible implementation manners of the present application, the receiving unit is specifically configured to receive a second data feedback sent by the peer proxy server, where the second data feedback is obtained by the peer proxy server based on the data response sent by the peer network node, and the data response is obtained by the peer network node based on the target data packet.
[0020] Optionally, in some possible implementation manners of the present application, the obtaining unit is specifically configured to obtain a feedback interval threshold;
[0021] The obtaining unit is specifically configured to send the second data feedback based on the feedback interval threshold.
[0022] Optionally, in some possible implementation manners of this application, the obtaining unit is specifically configured to detect connection information between the peer network node and the local network node;
[0023] The obtaining unit is specifically configured to obtain the public network address of the peer network node if the connection information indicates an abnormal connection.
[0024] Optionally, in some possible implementation manners of this application, the obtaining unit is specifically configured to determine the local proxy server in response to a configuration instruction;
[0025] The obtaining unit is specifically configured to match with the local proxy server to generate the public network address of the local network node in the local proxy server;
[0026] The obtaining unit is specifically configured to record the correspondence between the public network address of the local network node and the local network node.
[0027] Optionally, in some possible implementation manners of this application, the obtaining unit is specifically configured to broadcast a connection request to a proxy server cluster in response to the configuration instruction to receive a broadcast feedback;
[0028] The obtaining unit is specifically configured to determine the local proxy server based on the broadcast feedback.
[0029] Optionally, in some possible implementation manners of this application, the obtaining unit is specifically configured to send a heartbeat instruction to the local proxy server at a preset interval to receive a heartbeat feedback;
[0030] The obtaining unit is specifically configured to update the correspondence between the public network address of the local network node and the local network node based on the heartbeat feedback.
[0031] Optionally, in some possible implementation manners of this application, the obtaining unit is specifically configured to obtain data interaction information based on the local address between the local network node and the peer network node;
[0032] The obtaining unit is specifically configured to send the data interaction information to the local proxy server to verify the data interaction information.
[0033] A third aspect of this application provides a computer device, including: a memory, a processor, and a bus system; the memory is used to store program code; the processor is used to execute the data transmission method described in the first aspect or any item of the first aspect according to the instructions in the program code.
[0034] In the fourth aspect of the present application, a computer-readable storage medium is provided. Instructions are stored in the computer-readable storage medium. When the instructions run on a computer, the computer is caused to execute the data transmission method described in the first aspect or any item of the first aspect above.
[0035] According to an aspect of the present application, a computer program product or a computer program is provided. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, causing the computer device to execute the data transmission method provided in the first aspect or various alternative implementations of the first aspect above.
[0036] As can be seen from the above technical solutions, the embodiments of the present application have the following advantages:
[0037] By obtaining the public network address of the peer network node; then sending a target data packet to the peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node, and the peer proxy server has a corresponding relationship with the peer network node; and then receiving a data response sent by the peer network node based on the target data packet. Thus, a data transmission process based on a proxy server is realized. Since each network node corresponds to its own proxy server, and the public network address of the network node is indicated in the proxy server, the data forwarding processes between the proxy servers do not interfere with each other, avoiding the generation of delays, and thus improving the timeliness of data transmission in the relay forwarding process. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained according to the provided drawings without creative efforts.
[0039] Figure 1 It is a network architecture diagram for the operation of the data transmission system;
[0040] Figure 2 It is a process architecture diagram for data transmission provided by the embodiments of the present application;
[0041] Figure 3 It is a flowchart of a data transmission method provided by the embodiments of the present application;
[0042] Figure 4Scenario schematic diagram of a data transmission method provided by an embodiment of this application;
[0043] Figure 5 Timing diagram of a data transmission method provided by an embodiment of this application;
[0044] Figure 6 Another process architecture diagram of a data transmission provided by an embodiment of this application;
[0045] Figure 7 Another timing diagram of a data transmission method provided by an embodiment of this application;
[0046] Figure 8 Another flowchart of a data transmission method provided by an embodiment of this application;
[0047] Figure 9 Structural schematic diagram of a data transmission device provided by an embodiment of this application;
[0048] Figure 10 Structural schematic diagram of a terminal device provided by an embodiment of this application;
[0049] Figure 11 Structural schematic diagram of a server provided by an embodiment of this application. Detailed implementation manners
[0050] An embodiment of this application provides a data transmission method and related devices, which can be applied to a system or program with a data transmission function in a terminal device. By obtaining the public network address of the peer network node; then sending a target data packet to the peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node, and there is a corresponding relationship between the peer proxy server and the peer network node; and then receiving a data response sent by the peer network node based on the target data packet. Thus, a data transmission process based on a proxy server is realized. Since each network node corresponds to its own proxy server, and there is an indication of the public network address of the network node in the proxy server, the data forwarding process between proxy servers will not interfere with each other, avoiding the generation of delays, and thus improving the timeliness of data transmission in the relay forwarding process.
[0051] In the description, claims and the above drawings of this application, terms such as "first", "second", "third", "fourth", etc. (if any) are used to distinguish similar objects and do not necessarily describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of this application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "comprising" and "corresponding to" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units does not necessarily limit to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0052] First, some terms that may appear in the embodiments of this application are explained.
[0053] User Datagram Protocol (UDP): A simple datagram-oriented transport layer protocol. It provides an unreliable data stream transmission without connection orientation. UDP does not provide reliability, nor does it provide functions such as message arrival confirmation, sorting, and flow control. It simply sends the datagrams passed by the application layer to the IP layer, but it cannot guarantee that they can reach the destination. Therefore, messages may be lost, repeated, or out of order. However, since UDP does not need to establish a connection between the client and the server before transmitting datagrams and does not have mechanisms such as timeout retransmission, the transmission speed is very fast.
[0054] Proxy server (Agent): The public network proxy when a network node after network address translation communicates with other network nodes. For example, when direct communication between network nodes is not possible, network data is forwarded through the proxy server to achieve relay communication between network nodes, which is equivalent to the TURN Server (relay service) in the standard protocol.
[0055] TURN: A relay server forwarding mode adopted when direct hole punching between nodes fails. It is a standard protocol.
[0056] Network node (Peer): Refers to the terminal in the local area network under network address translation.
[0057] STUN server: Enables the client terminal to know their public address, the type of network address translation blocking them, and the network ports connected to specific local ports through the network address translation.
[0058] It should be understood that the data transmission method provided by this application can be applied to a system or program with data transmission functions in a terminal device. Specifically, the data transmission method provided by this application is applied toFigure 1 The network architecture shown Figure 1 is a network architecture diagram for the system operation of data transmission. This network architecture may include: a sending-end network node and a receiving-end network node. As an example, the data transmission solution provided in the embodiments of the present application can be applied to scenarios where data interactions such as videos, pictures, files, etc. are performed between network nodes.
[0059] For example, it can be applied in the live video P2P transmission scenario to provide a stable and reliable transmission channel for video data transmission. For this scenario, the sending-end network node can be a server, and the receiving-end network node can be a terminal.
[0060] In a possible implementation manner, the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto.
[0061] Among them, the terminal and the server can be directly or indirectly connected through wired or wireless communication methods, and the present application does not make any restrictions here. In addition, the data transmission between the sending-end network node and the receiving-end network node can be two-way, that is, their identities can be interchanged.
[0062] It can be understood that the terminal device can be a computer device. In actual scenarios, more or fewer types of terminal devices can participate in the data transmission process. The specific quantity and types depend on the actual scenario and are not limited here. In addition, Figure 1 three network nodes are shown in it, but in actual scenarios, multiple servers can also participate, and the specific number of network nodes depends on the actual scenario.
[0063] With the rapid development of Internet technology, the requirements for the communication quality between network devices are getting higher and higher. For example, in scenarios such as P2P applications or real-time communication applications, when two nodes cannot be directly connected, if both parties are symmetric, a forwarding server must be used to forward the communication to each other.
[0064] Generally, the process of forwarding communication is implemented through the TURN standard protocol, that is, the client uses the same relay address to communicate with multiple different Peers.
[0065] However, the service process based on the TURN standard protocol is complex, and the process of communicating with multiple different nodes is buffered and forwarded through the Transmission Control Protocol. When there are many network nodes that need to forward data, delays may occur, affecting the timeliness of data transmission during the forwarding communication process.
[0066] To solve the above problems, the present application proposes a data transmission method, which is applied to Figure 2 the process framework of data transmission shown in Figure 2 As shown in
[0067] FIG. X, which is a flowchart of a data transmission process provided by an embodiment of the present application. That is, at least one proxy server is set for each network node to ensure that the network node can communicate with other network nodes completely regardless of the network. This proxy server is called the proxy of the network node. The main function of this proxy server is that if you want to send data to this network node for communication, you can directly send the data to the proxy server of this network node, and the proxy server will forward it to this network node on behalf of it.
[0068] It can be understood that the proxy server is integrated with the STUN server. Taking advantage of the characteristic that the network node must communicate with the STUN server to detect its public network address, the network node has been connected to the proxy server at the beginning and can communicate with each other.
[0069] Combined with the above process architecture, the data transmission method in the present application will be introduced below. Please refer to Figure 3 , Figure 3 FIG. X, which is a flowchart of a data transmission method provided by an embodiment of the present application. This management method can be executed by a network node. The embodiment of the present application at least includes the following steps:
[0070] 301. Obtain the public network address of the peer network node. It should be noted that the reference figures in the original text (such as ,
[0066] , etc.) are not translated as they seem to be specific figure references without clear text equivalents. If there are specific figure names or descriptions associated with these references in the original context, they should be provided for more accurate translation. Also, the "FIG. X" in the translation is a placeholder for the actual figure number or name that should be filled in according to the original content.
[0071] In this embodiment, it can be initiated by the local network node. Here, the local network node is the data sender, and the peer network node is the data receiver. Therefore, the local network node and the peer network node are relative concepts. For any network node, it is determined as the local or peer based on its data sending or receiving situation.
[0072] It can be understood that the process of obtaining the public network address of the peer network node can be carried out in the P2P scenario when the connection between network nodes has not been established or a failure occurs. For this scenario, the connection information between the peer network node and the local network node can be detected first. If the connection information indicates an abnormal connection, the public network address of the peer network node is obtained. Thus, the continuity of data transmission between network nodes is ensured.
[0073] 302. Send a target data packet to the peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node.
[0074] In this embodiment, the peer proxy server and the peer network node have a corresponding relationship, and both the peer network node and the local network node have their associated proxy servers. The public network address of the network node is stored in the associated proxy server, and the corresponding network node can be connected through this public network address. Specifically, each proxy server can serve one network node or multiple network nodes. When in use, the network node can be judged according to the public network address. And each network node can correspond to one proxy server or multiple proxy servers. When in use, the proxy server can be judged according to the delay between the network node and the proxy server. The specific quantity depends on the actual scenario.
[0075] Specifically, during the transmission of the target data packet, the structure of the target data packet can be constructed based on the public network address. That is, first obtain the target protocol corresponding to the data transmission process between the local network node and the peer network node, such as the UDP protocol. Then generate data structure information based on the target protocol, the identifier of the local network node, and the public network address of the peer network node. And generate the target data packet according to the data structure information and the data payload information. Thus, send the target data packet to the peer proxy server, so that the peer proxy server forwards the target data packet to the peer network node, thereby ensuring the accuracy of data transmission.
[0076] In a possible scenario, the target data packet can refer to Figure 4 the structural form shown. Figure 4Schematic diagram of a data transmission method provided by an embodiment of the present application; that is, the data structure information part of the target data packet includes a protocol number, a sender identifier (local network node identifier), and a target public network address (peer public network address), while the data payload information part is the data payload, that is, the specific data form. During the sending process, the data packet structure only needs to locate the additional protocol number and the target public network address to perform the sending; correspondingly, based on the form of the target data packet, the behavior of the proxy server is also relatively simple, that is, after receiving the data packet, it parses the target address (peer public network address) in the data packet, and then sends the data packet to the target address, which greatly improves the information transmission efficiency compared with the caching and forwarding process in the TURN protocol and is easy to execute.
[0077] Optionally, in order to simulate the process of direct communication between the peer network node and the local network node, the peer public network address can also be deleted after determining the sending target (peer public network address); specifically, that is, when the peer proxy server forwards the data, in order to achieve information transparency and let the peer network node parse that it is directly sent by the local network node, it will remove the peer public network address in the target data packet and then send it to the peer network node, thus ensuring the visibility of the source during the information transmission process.
[0078] It can be understood that the above structure form of the target data packet only includes a protocol number (also called a command word), a sender identifier, and a target public network address. The size occupied by the data structure information is about 17 bytes, which is lighter than the 36-byte data structure information of the standard TURN protocol, easy to parse and has a small space occupancy.
[0079] 303. Receive a data response sent by the peer network node based on the target data packet.
[0080] In this embodiment, the data response of the peer network node can be an answer response generated based on the target data packet, such as a voice answer; it can also be an identification response. For example, in a children's smart watch, the local network node (parent) requests the location information of the peer network node (child), and this data response is the real-time location information; it can also be a simple received reply. For example, in a live broadcast scenario, the local network node (anchor) pushes a video stream to the peer network node (audience), and the peer network node can give a real-time feedback playback reply mark to enable the normal push of the video stream; it can also be a simple additional path construction. For example, in a live XP2P product, it lays a foundation for the signaling interaction between P2P before successful hole punching, that is, responds to receive data; the specific response form depends on the actual scenario, and the actual scenarios include but are not limited to video live broadcast, Internet of Things device interaction, real-time monitoring, real-time call, etc.
[0081] Specifically, before obtaining the peer network node in this embodiment, there is an association setting process for the network node and the proxy server, as well as an exchange process for the public network addresses between the network nodes. Taking the configuration process of the local server as an example, for the determination of the local proxy server, it can be to determine the local proxy server in response to a configuration instruction; then match it with the local proxy server to generate the public network address of the local network node in the local proxy server; next, record the correspondence between the public network address of the local network node and the local network node for path checking. Among them, the configuration instruction can be initiated by the user or automatically configured by the network node according to the historical record, and the specific method depends on the actual scenario.
[0082] Optionally, for the configuration of the proxy server, it can also be obtained by screening multiple proxy servers, that is, first broadcast a connection request to the proxy server cluster in response to a configuration instruction to receive a broadcast feedback, where the proxy server cluster is a set of multiple proxy servers preset at the network edge; then determine the local proxy server based on the broadcast feedback, that is, select the proxy server with a smaller delay for association, thus ensuring the accuracy of data transmission.
[0083] Optionally, after the network node is matched with the proxy server, a heartbeat keep-alive process can also be performed, that is, to determine the availability of the network path between the network node and the proxy server. Specifically, a heartbeat instruction can be sent to the local proxy server at a preset interval to receive a heartbeat feedback; then update the correspondence between the public network address of the local network node and the local network node based on the heartbeat feedback. In a possible scenario, the way for the network node to implement long connection keep-alive can be to use application layer heartbeat and perform a reconnection operation through the timeout of the heartbeat packet and other conditions (network switching). The application layer heartbeat can be that the network node sends a custom instruction to the peer at regular intervals to determine whether both parties are alive, and the specific instruction form depends on the actual scenario.
[0084] Combined with the above embodiments, by obtaining the public network address of the peer network node; then sending a target data packet to the peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node, and the peer proxy server has a corresponding relationship with the peer network node; and then receiving the data response sent by the peer network node based on the target data packet. Thus, the data transmission process based on the proxy server is realized. Since each network node corresponds to its own proxy server and there is an indication of the public network address of the network node in the proxy server, the data forwarding processes between the proxy servers will not interfere with each other, avoiding the generation of delays, and thus improving the timeliness of data transmission in the relay forwarding process.
[0085] The above embodiments introduce the process of data transmission in the local network node during the relay service. Next, in combination with Figure 2 the architecture shown, the execution operations of each part in the architecture will be described. For example, Figure 5 as shown, Figure 5 is a timing diagram of a data transmission method provided by an embodiment of the present application. This embodiment at least includes the following steps:
[0086] 501. The local network node maps the public network address to the local proxy server.
[0087] In this embodiment, corresponding to Figure 2 the architecture shown, the local network node is Network Node 1, the local proxy server is Proxy Server 1, the peer network node is Network Node 2, and the peer proxy server is Proxy Server 2.
[0088] 502. The peer network node maps the public network address to the peer proxy server.
[0089] In this embodiment, the processes of step 501 and step 502 are the processes of determining the association relationship between the network node and its respective proxy server, and this association relationship is reflected by the mapping of the public network address.
[0090] 503. The local network node sends the target data packet to the peer proxy server.
[0091] In this embodiment, the local network node determines the sending target by parsing the target address (peer public network address) indicated in the target data packet header, and thus sends the target data packet to the corresponding peer proxy server.
[0092] 504. The peer proxy server parses the target data packet to obtain the public network address of the peer network node.
[0093] In this embodiment, the peer proxy server parses the target data packet to obtain the public network address of the peer network node, so the target data packet can be immediately sent to the network node corresponding to this public network address.
[0094] 505. The peer proxy server sends the target data packet to the peer network node.
[0095] In this embodiment, before the peer proxy server sends the target data packet to the peer network node, it can delete the part indicating the public network address of the peer network node in the data structure information of the target data packet, so as to simulate the scenario where the local network node directly communicates with the peer network node.
[0096] 506. The peer network node responds to the target data packet.
[0097] In this embodiment, the response method of the peer network node depends on the actual scenario, and the specific scenarios include but are not limited to live software, real-time monitoring of consumer cameras, real-time call assistance for children's smart watches, etc.
[0098] 507. The peer network node sends a data response to the local proxy server.
[0099] In this embodiment, since the public network address of the local network node is recorded in the local proxy server, the data response can be performed through the local proxy server.
[0100] 508. The local proxy server forwards the data response.
[0101] In this embodiment, the peer network node sending a data response to the local proxy server can be the first data feedback, and the first data feedback is obtained by the local proxy server based on the data response sent by the peer network node, that is, the first data feedback adds the response path identifier on the basis of the data response, thereby improving the visibility of the communication process.
[0102] 509. The local proxy server sends a data response to the local network node.
[0103] As can be seen from the above embodiments, the above process is implemented by benchmarking the TURN standard, which greatly simplifies the relay forwarding process and effectively solves the communication method when the P2P hole punching fails. Moreover, the proxy server can be easily deployed because each proxy server has no any correlation and can be horizontally scaled by deploying randomly. In addition, since the proxy server has less behavior, its performance is high, that is, its performance is better than that of the TURN server implemented by the standard protocol.
[0104] In a possible scenario, since the local network node has actively connected to the peer proxy server, it is also feasible to forward it to the local network node through the peer proxy service. The following describes this scenario. For example Figure 6 as shown Figure 6 FIG. is another flow architecture diagram of data transmission provided by the embodiment of the present application, that is, the network node 2 (peer network node) sends a data feedback to the proxy server 2 (peer proxy server) for forwarding to the network node 1 (local network node).
[0105] The specific steps are as Figure 7 , Figure 7 FIG. is a timing diagram of another data transmission method provided by the embodiment of the present application; this embodiment includes at least the following steps:
[0106] 701. The local network node maps the public network address to the local proxy server.
[0107] 702. The peer network node maps the public network address to the peer proxy server.
[0108] 703. The local network node sends a target data packet to the peer proxy server.
[0109] 704. The peer proxy server parses the target data packet to obtain the public network address of the peer network node.
[0110] 705. The peer proxy server sends the target data packet to the peer network node.
[0111] 706. The peer network node responds to the target data packet.
[0112] In this embodiment, steps 701-706 are similar to steps 501-506 of the Figure 5 illustrated embodiment. For the description of related features, reference can be made, and details are not elaborated here.
[0113] 707. The peer network node sends a data response to the peer proxy server.
[0114] In this embodiment, since the local network node has actively connected to the peer proxy server, it can be forwarded to the local network node through the peer proxy service.
[0115] 708. The peer proxy server forwards the data response.
[0116] Optionally, during the process of the peer proxy server forwarding the data response, it needs to be executed as soon as possible to avoid packet loss due to the possible lack of a keep-alive mechanism between the local network node and the peer proxy server. Therefore, the feedback interval threshold can be obtained first; then the second data feedback is sent based on the feedback interval threshold. In a possible scenario, forwarding the data response can be executed immediately, thus avoiding the occurrence of packet loss.
[0117] 709. The peer proxy server sends the data response to the local network node.
[0118] In this scenario, the local network node receives the second data feedback sent by the peer proxy server. The second data feedback is obtained by the peer proxy server based on the data response sent by the peer network node, and the data response is obtained by the peer network node based on the target data packet. The second data feedback can be the same as the data response, or a path identifier can be added to the data response, thereby improving the visibility of the data transmission process.
[0119] As can be seen from the above embodiments, based on the UDP protocol between network nodes, without involving redundant relay addresses, the proxy server does not need to maintain any data structures. It only needs to use the public network address of each node as the proxy address of the node, and then only the public network address of the other party needs to be carried in the data packet, and the load of the data packet header is low. And there is no queuing cache involved in forwarding, so the delay is hardly increased. Compared with the TURN standard protocol, the execution process of the TURN standard protocol is greatly simplified, and the information transmission process can be efficiently executed.
[0120] In a possible scenario, the data transmission method of the present application can also be used as an auxiliary communication in the normal P2P communication process. The following describes this scenario. Please refer to Figure 8 , Figure 8 which is a flowchart of another data transmission method provided by the embodiments of the present application. The embodiments of the present application at least include the following steps:
[0121] 801. Interact with the peer device based on the local address to obtain local interaction information.
[0122] In this embodiment, the local interaction information is the interaction information of direct connection between network nodes. Therefore, the data interaction information between the local network node and the peer network node based on the local address can be obtained first; then the data interaction information is sent to the local proxy server to verify the data interaction information.
[0123] In a possible scenario, in the case where reliable transmission protocols between network nodes are already supported, relay forwarding through their respective proxy servers will not affect the reliable transmission between network nodes. Since the proxy server is transparent, even if the network nodes have reliable transmission protocol support, the data transmission method of the present application can also be used. For example, during a video live broadcast, even if there is already a reliable transmission algorithm between the network nodes themselves, a proxy server can also be set.
[0124] 802. Interact with the peer device based on the public network address to obtain public network interaction information.
[0125] In this embodiment, the determination process of the public network interaction information refers to the Figure 3 embodiment shown, which will not be elaborated here.
[0126] 803. Compare the local interaction information with the public network interaction information to obtain a comparison result.
[0127] In this embodiment, the comparison process is to compare the differences in the transmitted data, such as data integrity, accuracy of the target address, etc., so as to determine whether there is a network anomaly in the local interaction process to ensure the high-speed and efficient progress of the P2P communication process.
[0128] To better implement the above solutions of the embodiments of the present application, the following also provides related devices for implementing the above solutions. Please refer to Figure 9 , Figure 9 which is a schematic structural diagram of a data transmission device provided by an embodiment of the present application. The data transmission device 900 includes:
[0129] An obtaining unit 901, configured to obtain the public network address of the peer network node;
[0130] A sending unit 902, configured to send a target data packet to the peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node, and the peer proxy server has a corresponding relationship with the peer network node;
[0131] A receiving unit 903, configured to receive the data response sent by the peer network node based on the target data packet.
[0132] Optionally, in some possible implementation manners of the present application, the sending unit 902 is specifically configured to obtain a target protocol corresponding to the data transmission process with the peer network node;
[0133] The sending unit 902 is specifically configured to generate data structure information based on the target protocol, the identifier of the local network node, and the public network address of the peer network node;
[0134] The sending unit 902 is specifically configured to generate the target data packet according to the data structure information and the data payload information;
[0135] The sending unit 902 is specifically configured to send the target data packet to the peer proxy server, so that the peer proxy server forwards the target data packet to the peer network node.
[0136] Optionally, in some possible implementation manners of the present application, the sending unit 902 is specifically configured to send the target data packet to the peer proxy server, so that the peer proxy server parses the data payload information according to the data structure information and forwards it to the peer network node, and the peer proxy server deletes the public network address of the peer network node when forwarding the data payload information to the peer network node.
[0137] Optionally, in some possible implementation manners of the present application, the receiving unit 903 is specifically configured to receive a first data feedback sent by the local proxy server, where the first data feedback is obtained by the local proxy server based on the data response sent by the peer network node, and the data response is obtained by the peer network node based on the target data packet.
[0138] Optionally, in some possible implementation manners of the present application, the receiving unit 903 is specifically configured to receive a second data feedback sent by the peer proxy server, where the second data feedback is obtained by the peer proxy server based on the data response sent by the peer network node, and the data response is obtained by the peer network node based on the target data packet.
[0139] Optionally, in some possible implementation manners of the present application, the obtaining unit 901 is specifically configured to obtain a feedback interval threshold;
[0140] The obtaining unit 901 is specifically configured to send the second data feedback based on the feedback interval threshold.
[0141] Optionally, in some possible implementation manners of the present application, the obtaining unit 901 is specifically configured to detect connection information between the peer network node and the local network node;
[0142] The obtaining unit 901 is specifically configured to obtain the public network address of the peer network node if the connection information indicates an abnormal connection.
[0143] Optionally, in some possible implementation manners of the present application, the obtaining unit 901 is specifically configured to determine the local proxy server in response to a configuration instruction;
[0144] The obtaining unit 901 is specifically configured to match with the local proxy server to generate the public network address of the local network node in the local proxy server;
[0145] The obtaining unit 901 is specifically configured to record the correspondence between the public network address of the local network node and the local network node.
[0146] Optionally, in some possible implementation manners of the present application, the obtaining unit 901 is specifically configured to broadcast a connection request to a proxy server cluster in response to the configuration instruction to receive a broadcast feedback;
[0147] The obtaining unit 901 is specifically configured to determine the local proxy server based on the broadcast feedback.
[0148] Optionally, in some possible implementation manners of the present application, the obtaining unit 901 is specifically configured to send a heartbeat instruction to the local proxy server at a preset interval to receive a heartbeat feedback;
[0149] The obtaining unit 901 is specifically configured to update the correspondence between the public network address of the local network node and the local network node based on the heartbeat feedback.
[0150] Optionally, in some possible implementation manners of this application, the obtaining unit 901 is specifically configured to obtain data interaction information between the local network node and the peer network node based on the local address;
[0151] The obtaining unit 901 is specifically configured to send the data interaction information to the local proxy server to verify the data interaction information.
[0152] By obtaining the public network address of the peer network node; then sending a target data packet to the peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node, and there is a corresponding relationship between the peer proxy server and the peer network node; and then receiving a data response sent by the peer network node based on the target data packet. Thus, a data transmission process based on the proxy server is realized. Since each network node corresponds to its own proxy server, and there is an indication of the public network address of the network node in the proxy server, the data forwarding process between the proxy servers will not interfere with each other, avoiding the generation of delays, and thus improving the timeliness of data transmission in the relay forwarding process.
[0153] An embodiment of this application further provides a terminal device, as Figure 10 shown, which is a schematic structural diagram of another terminal device provided by an embodiment of this application. For ease of description, only parts related to the embodiment of this application are shown. For specific technical details not disclosed, please refer to the method part of the embodiment of this application. This terminal can be any terminal device including a mobile phone, a tablet computer, a personal digital assistant (PDA), a point of sales (POS), an in-vehicle computer, etc. Taking the terminal as a mobile phone as an example:
[0154] Figure 10 Shown is a block diagram of a part of the structure of a mobile phone related to the terminal provided by an embodiment of this application. Referring to Figure 10 , the mobile phone includes: a radio frequency (RF) circuit 1010, a memory 1020, an input unit 1030, a display unit 1040, a sensor 1050, an audio circuit 1060, a wireless fidelity (WiFi) module 1070, a processor 1080, and a power supply 1090 and other components. Those skilled in the art can understand that Figure 10 the structure of the mobile phone shown in
[0155] does not constitute a limitation on the mobile phone, and may include more or fewer components than shown in the figure, or combine some components, or arrange different components. Figure 10 The following specifically introduces each component of the mobile phone:
[0156] The RF circuit 1010 can be used for receiving and transmitting information or signals during a call. Specifically, after receiving the downlink information from the base station, it is sent to the processor 1080 for processing. Additionally, the uplink data designed is sent to the base station. Generally, the RF circuit 1010 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF circuit 1010 can also communicate with the network and other devices via wireless communication. The above wireless communication can use any communication standard or protocol, including but not limited to the Global System of Mobile Communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.
[0157] The memory 1020 can be used to store software programs and modules. The processor 1080 executes various functional applications and data processing of the mobile phone by running the software programs and modules stored in the memory 1020. The memory 1020 mainly includes a program storage area and a data storage area. Among them, the program storage area can store an operating system, application programs required for at least one function (such as a sound playback function, an image playback function, etc.); the data storage area can store data created according to the use of the mobile phone (such as audio data, phone book, etc.). In addition, the memory 1020 can include a high-speed random access memory and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.
[0158] The input unit 1030 can be used to receive input digital or character information and generate key signal inputs related to the user settings and function controls of the mobile phone. Specifically, the input unit 1030 may include a touch panel 1031 and other input devices 1032. The touch panel 1031, also known as a touch screen, can collect touch operations of the user on or near it (such as operations of the user using any suitable object or accessory such as a finger, a stylus, etc. on or near the touch panel 1031, and air touch operations within a certain range on the touch panel 1031), and drive corresponding connection devices according to a preset program. Optionally, the touch panel 1031 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the touch orientation of the user, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into touch point coordinates, and then sends it to the processor 1080, and can receive and execute commands sent by the processor 1080. In addition, various types such as resistive, capacitive, infrared, and surface acoustic wave can be used to implement the touch panel 1031. In addition to the touch panel 1031, the input unit 1030 may further include other input devices 1032. Specifically, the other input devices 1032 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power on / off keys, etc.), a trackball, a mouse, a joystick, etc.
[0159] The display unit 1040 can be used to display information input by the user or information provided to the user and various menus of the mobile phone. The display unit 1040 may include a display panel 1041. Optionally, the display panel 1041 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc. Further, the touch panel 1031 can cover the display panel 1041. When the touch panel 1031 detects a touch operation on or near it, it transmits it to the processor 1080 to determine the type of touch event. Subsequently, the processor 1080 provides a corresponding visual output on the display panel 1041 according to the type of touch event. Although in Figure 10 the touch panel 1031 and the display panel 1041 are implemented as two independent components to realize the input and input functions of the mobile phone, in some embodiments, the touch panel 1031 and the display panel 1041 can be integrated to realize the input and output functions of the mobile phone.
[0160] The mobile phone may further include at least one sensor 1050, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor. Among them, the ambient light sensor can adjust the brightness of the display panel 1041 according to the brightness of the ambient light, and the proximity sensor can turn off the display panel 1041 and / or the backlight when the mobile phone is moved to the ear. As a kind of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary, and can be used in applications for identifying the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors that the mobile phone can also be configured with, they will not be elaborated here.
[0161] The audio circuit 1060, the speaker 1061, and the microphone 1062 can provide an audio interface between the user and the mobile phone. The audio circuit 1060 can transmit the electrical signal converted from the received audio data to the speaker 1061, and the speaker 1061 converts it into a sound signal for output; on the other hand, the microphone 1062 converts the collected sound signal into an electrical signal, which is received by the audio circuit 1060 and converted into audio data, and then the audio data is output to the processor 1080 for processing, and then sent to another mobile phone through the RF circuit 1010, for example, or the audio data is output to the memory 1020 for further processing.
[0162] WiFi belongs to short - range wireless transmission technology. The mobile phone can help users send and receive emails, browse the web, and access streaming media through the WiFi module 1070, which provides users with wireless broadband Internet access. Although Figure 10 the WiFi module 1070 is shown, it can be understood that it does not belong to an essential component of the mobile phone and can be omitted entirely within the scope of not changing the essence of the invention according to needs.
[0163] The processor 1080 is the control center of the mobile phone, connecting various parts of the entire mobile phone through various interfaces and circuits. By running or executing software programs and / or modules stored in the memory 1020, and by calling the data stored in the memory 1020, it executes various functions of the mobile phone and processes data. Optionally, the processor 1080 may include one or more processing units; optionally, the processor 1080 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, and application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the above - mentioned modem processor may not be integrated into the processor 1080 either.
[0164] The mobile phone further includes a power source 1090 (such as a battery) for supplying power to each component. Optionally, the power source can be logically connected to the processor 1080 through a power management system, so as to implement functions such as management of charging, discharging, and power consumption management through the power management system.
[0165] Although not shown, the mobile phone may further include a camera, a Bluetooth module, etc., which will not be elaborated herein.
[0166] In the embodiment of the present application, the processor 1080 included in the terminal further has the function of executing each step of the above-mentioned page processing method.
[0167] The embodiment of the present application further provides a server. Please refer to Figure 11 , Figure 11 FIG. is a schematic structural diagram of a server provided by the embodiment of the present application. The server 1100 may vary greatly due to different configurations or performances, and may include one or more central processing units (CPUs) 1122 (for example, one or more processors) and a memory 1132, and one or more storage media 1130 (for example, one or more mass storage devices) for storing application programs 1142 or data 1144. Among them, the memory 1132 and the storage media 1130 may be transient storage or persistent storage. The program stored in the storage media 1130 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Further, the central processor 1122 may be configured to communicate with the storage media 1130 and execute a series of instruction operations in the storage media 1130 on the server 1100.
[0168] The server 1100 may further include one or more power sources 1126, one or more wired or wireless network interfaces 1150, one or more input / output interfaces 1158, and / or one or more operating systems 1141, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.
[0169] The steps performed by the management device in the above embodiment may be based on the Figure 11 shown server structure.
[0170] The embodiment of the present application further provides a computer-readable storage medium, in which instructions for data transmission are stored. When it runs on a computer, it enables the computer to execute the steps performed by the data transmission device in the method described in the foregoing Figures 2 to 8 shown embodiment.
[0171] In an embodiment of the present application, there is also provided a computer program product including an instruction for data transmission. When it runs on a computer, it causes the computer to execute the steps performed by the data transmission device in the method described in the foregoing Figures 2 to 8 embodiment shown.
[0172] In an embodiment of the present application, there is also provided a data transmission system. The data transmission system may include Figure 9 the data transmission device in the described embodiment, or Figure 10 the terminal device in the described embodiment, or Figure 11 the server described.
[0173] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described systems, devices, and units can refer to the corresponding processes in the foregoing method embodiments, and will not be described herein again.
[0174] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, indirect couplings or communication connections of devices or units, and can be in electrical, mechanical or other forms.
[0175] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0176] In addition, in each embodiment of the present application, the functional units can be integrated in a processing unit, or each unit exists physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0177] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a data transmission device, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs.
[0178] As described above, the above embodiments are only used to illustrate the technical solutions of this application, rather than to limit them; although this application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of various embodiments of this application.
Claims
1. A method for data transmission, characterized in that, Including: Obtain the public network address of the peer network node; Send a target data packet to the peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node, and the peer proxy server has a corresponding relationship with the peer network node; Receive the data response sent by the peer network node based on the target data packet; Wherein, the peer proxy server forwarding the target data packet to the peer network node includes: the peer proxy server parses the data payload information and the public network address of the peer network node from the target data packet, deletes the public network address of the peer network node in the target data packet, and sends the data payload information to the public network address of the peer network node.
2. The method according to claim 1, wherein The sending the target data packet to the peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node, includes: Obtain the target protocol corresponding during the data transmission process with the peer network node; Generate data structure information based on the target protocol, the identifier of the local network node, and the public network address of the peer network node; Generate the target data packet according to the data structure information and the data payload information; Send the target data packet to the peer proxy server, so that the peer proxy server forwards the target data packet to the peer network node.
3. The method according to claim 2, wherein The peer proxy server parsing the data payload information from the target data packet includes: The peer proxy server parses the data payload information according to the data structure information.
4. The method according to claim 1, characterized in that, The receiving the data response sent by the peer network node based on the target data packet includes: Receive the first data feedback sent by the local proxy server, where the first data feedback is obtained by the local proxy server based on the data response sent by the peer network node, and the data response is obtained by the peer network node based on the target data packet.
5. The method according to claim 1, wherein The receiving the data response sent by the peer network node based on the target data packet includes: Receive the second data feedback sent by the peer proxy server, where the second data feedback is obtained by the peer proxy server based on the data response sent by the peer network node, and the data response is obtained by the peer network node based on the target data packet.
6. The method according to claim 5, characterized in that, The method further includes: Obtain a feedback interval threshold; Send the second data feedback based on the feedback interval threshold.
7. The method according to claim 1, characterized in that, The obtaining the public network address of the peer network node includes: Detect the connection information between the peer network node and the local network node; If the connection information indicates an abnormal connection, obtain the public network address of the peer network node.
8. The method according to any one of claims 1-7, characterized in that, The method further includes: Determine the local proxy server in response to a configuration instruction; Match with the local proxy server to generate the public network address of the local network node in the local proxy server; Record the corresponding relationship between the public network address of the local network node and the local network node.
9. The method according to claim 8, wherein The determining the local proxy server in response to a configuration instruction includes: Broadcast a connection request to the proxy server cluster in response to the configuration instruction to receive broadcast feedback; Determine the local proxy server based on the broadcast feedback.
10. The method according to claim 8, characterized in that, The method further includes: Send a heartbeat instruction to the local proxy server at a preset interval to receive heartbeat feedback; Update the correspondence between the public network address of the local network node and the local network node based on the heartbeat feedback.
11. According to the method described in claim 8, wherein The method further includes: Obtain the data interaction information for data interaction between the local network node and the peer network node based on the local address; Send the data interaction information to the local proxy server to verify the data interaction information.
12. The method according to claim 1, characterized in that, The data transmission method is applied to an application of peer-to-peer transmission, and the peer network node interacts with the local network node based on the User Datagram Protocol.
13. A data transmission device, characterized in that, It includes: An obtaining unit for obtaining the public network address of the peer network node; A sending unit for sending a target data packet to the peer proxy server based on the public network address of the peer network node, so that the peer proxy server forwards the target data packet to the peer network node, and the peer proxy server has a corresponding relationship with the peer network node; A receiving unit for receiving the data response sent by the peer network node based on the target data packet; Wherein, the peer proxy server forwarding the target data packet to the peer network node includes: the peer proxy server parses the data payload information and the public network address of the peer network node from the target data packet, deletes the public network address of the peer network node in the target data packet, and sends the data payload information to the public network address of the peer network node.
14. The device according to claim 13, characterized in that, The sending unit is specifically used for: Obtain the target protocol corresponding to the data transmission process with the peer network node; Generate data structure information based on the target protocol, the identifier of the local network node, and the public network address of the peer network node; Generate the target data packet according to the data structure information and the data payload information; Send the target data packet to the peer proxy server, so that the peer proxy server forwards the target data packet to the peer network node.
15. The device according to claim 14, characterized in that, The peer proxy server parsing the data payload information from the target data packet includes: the peer proxy server parsing the data payload information according to the data structure information.
16. The device according to claim 13, characterized in that, The receiving unit is specifically used for receiving the first data feedback sent by the local proxy server, where the first data feedback is obtained by the local proxy server based on the data response sent by the peer network node, and the data response is obtained by the peer network node based on the target data packet.
17. The device according to claim 13, characterized in that, The receiving unit is specifically used for receiving the second data feedback sent by the peer proxy server, where the second data feedback is obtained by the peer proxy server based on the data response sent by the peer network node, and the data response is obtained by the peer network node based on the target data packet.
18. The device according to claim 17, wherein, The obtaining unit is further used for: Obtain a feedback interval threshold; Send the second data feedback based on the feedback interval threshold.
19. The device according to claim 13, characterized in that, The obtaining unit is specifically configured to: Detect the connection information between the peer network node and the local network node; If the connection information indicates an abnormal connection, obtain the public network address of the peer network node.
20. The device according to any one of claims 13-19, characterized in that The obtaining unit is further configured to: Determine the local proxy server in response to a configuration instruction; Match with the local proxy server to generate the public network address of the local network node in the local proxy server; Record the correspondence between the public network address of the local network node and the local network node.
21. The device according to claim 20, wherein The obtaining unit is specifically configured to: Broadcast a connection request to the proxy server cluster in response to the configuration instruction to receive a broadcast feedback; Determine the local proxy server based on the broadcast feedback.
22. The device according to claim 20, wherein The obtaining unit is further configured to: Send a heartbeat instruction to the local proxy server at a preset interval to receive a heartbeat feedback; Update the correspondence between the public network address of the local network node and the local network node based on the heartbeat feedback.
23. The device according to claim 20, characterized in that, The obtaining unit is further configured to: Obtain the data interaction information for data interaction between the local network node and the peer network node based on the local address; Send the data interaction information to the local proxy server to verify the data interaction information.
24. A computer device, characterized in that, The computer device includes a processor and a memory: The memory is used to store program codes; the processor is used to execute the data transmission method according to any one of claims 1 to 12 based on the instructions in the program codes.
25. A computer-readable storage medium, in which instructions are stored, and when the instructions run on a computer, the computer is caused to execute the data transmission method according to any one of claims 1 to 12 above.
26. A computer program product, characterized in that, The computer program product includes computer instructions, and the computer instructions are stored in a computer-readable storage medium; the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the data transmission method according to any one of claims 1 to 12 above.
Citation Information
Patent Citations
System, method, and device of realizing network interconnection
CN107278360A
Method and device for realizing distributed computing, proxy server and terminal equipment
CN109729115A
Network proxy method and system
CN111147562A