Method and device for accessing a server in a private network

By establishing multiple public network connections between the proxy server node and the proxy client node, and dynamically selecting and setting connections according to the service type, the problem of access traffic interference of cross-network agents in multi-cloud environments is solved, and network efficiency and resource utilization are improved .

CN115834655BActive Publication Date: 2025-01-03ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211317069.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-26
Publication Date
2025-01-03
Estimated Expiration
2042-10-26

AI Technical Summary

Technical Problem

In a multi-cloud environment, cross-net proxy based on private network penetration technology has the problem of mutual interference between access traffic of different types of services, affecting network performance and efficiency.

Method used

By establishing multiple public network connections between the proxy server node and the proxy client node, different public network connections are dynamically selected and set up according to the service type, avoiding the mutual interference of access traffic of different service types, and pre-establishing before the access is initiated Connect to reduce settling time.

Benefits of technology

It effectively avoids access traffic interference from different business types, saves public network connection resources, shortens cross-network connection establishment time, improves access efficiency, and adapts to the dynamic changes of business needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115834655B_ABST
    Figure CN115834655B_ABST
Patent Text Reader

Abstract

The embodiments of this specification relate to the field of network communication technology, and provide a method and device for accessing a server in a private network. The method includes: a proxy server node receives a cross-network connection request for this access from a client through a first connection; the cross-network connection request is used for the client in the external network to access the server in the private network; the proxy server node selects a public network connection corresponding to the service type of this access from at least two public network connections between the proxy client node; different service types correspond to different public network connections; the proxy server node sends the cross-network connection request to the proxy client node through the selected public network connection; the proxy server node uses the first connection and the selected public network connection to transmit the information of this access between the client and the server. The embodiments of this specification can avoid traffic interference between different service types.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] One or more embodiments of the present specification relate to network communication technology, and more particularly, to a method and apparatus for accessing a server in a private network. Background Art

[0002] With the popularity of cloud computing, multi-cloud architectures that deploy applications on multiple public clouds or multiple private clouds are becoming more common. In this multi-cloud environment, there are a large number of scenarios that require cross-cloud and cross-network access to applications in the private network. Applications in the private network become the accessed servers, thereby sharing data and services in different clouds and networks.

[0003] For network security and to protect user privacy data, private networks usually use firewalls and other technologies to prevent external networks from accessing internal servers, which leads to network isolation between public and private networks, making it difficult to access servers in private networks across clouds and networks. In order to solve the above problems, cross-network proxies based on private network penetration technology have emerged and become one of the main solutions for connecting private networks in multi-cloud scenarios.

[0004] However, the cross-network proxy currently implemented based on private network penetration technology has the problem of mutual interference of access traffic of different business types. Summary of the invention

[0005] One or more embodiments of the present specification describe a method and apparatus for accessing a server in a private network, which can avoid mutual interference between access traffic of different service types.

[0006] According to a first aspect, a method for accessing a server in a private network is provided, comprising:

[0007] The proxy server node receives a cross-network connection request for this access sent by the client through the first connection; the cross-network connection request is used for the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server;

[0008] The proxy server node determines the service type of this access;

[0009] The proxy server node selects a public network connection corresponding to the service type of the current visit from at least two public network connections between the proxy server node and the proxy client node; wherein different service types correspond to different public network connections;

[0010] The proxy server node sends the cross-network connection request to the proxy client node through the selected public network connection;

[0011] After receiving the connection success message returned by the proxy client node, the proxy server node returns the connection success message to the client;

[0012] The proxy server node uses the first connection and the selected public network connection to transmit the information of the current visit between the client and the server.

[0013] Among them, the first connection is a connection based on the socks5 protocol initiated by the client to the proxy server node; and / or the cross-network connection request carries the business type information of this visit; accordingly, the proxy server node determines the business type of this visit including: the proxy server node determines the business type of this visit by parsing the cross-network connection request.

[0014] Before the access is made, the method further includes: the proxy server node and the proxy client node establish the at least two public network connections.

[0015] The proxy server node and the proxy client node establish the at least two public network connections, including: after the proxy client node is started, the proxy server node and the proxy client node establish an initial channel connection; the proxy server node dynamically updates the information of each currently required service type to the proxy client node through the initial channel connection; and the proxy server node and the proxy client node dynamically set a corresponding public network connection for each currently required service type according to the dynamically updated service type information.

[0016] At least two accesses of the same service type reuse the same public network connection of the at least two public network connections; wherein the at least two accesses are: access initiated by at least one client connected to the same proxy server node to at least one server connected to the same proxy client node in the private network.

[0017] After the proxy server node receives the cross-network connection request and before the proxy server node sends the cross-network connection request to the proxy client node through the selected public network connection, the method further includes: the proxy server node assigns a cross-network connection ID to the access;

[0018] The method further comprises:

[0019] The proxy server node binds the cross-network connection ID to the first connection;

[0020] The proxy server node adds the cross-network connection ID to all first information of this visit sent to the proxy client node;

[0021] The proxy server node parses the cross-network connection ID from the second information sent by the proxy client node, deletes the cross-network connection ID in the second information, and then sends the second information to the client through the first connection bound to the parsed cross-network connection ID; wherein the information includes signaling and data.

[0022] The method further comprises: for each of the at least two public network connections, setting a dedicated sending queue and a dedicated working thread for the public network connection in the proxy server node;

[0023] The proxy server node uses the first connection and the selected public network connection to transmit information between the client and the server, including: the proxy server node receives information sent by the client through the first connection; the proxy server node uses the working thread dedicated to the selected public network connection to put the received information into the sending queue dedicated to the selected public network connection; the proxy server node uses the working thread dedicated to the selected public network connection to take out information from the sending queue dedicated to the public network connection in sequence, and sends the taken out information to the proxy client node through the selected public network connection.

[0024] According to a second aspect, a method for accessing a server in a private network is provided, wherein at least two public network connections are established between a proxy client node in the private network and a proxy server node outside the private network, wherein different service types correspond to different public network connections; the method comprises:

[0025] The proxy client node receives a cross-network connection request for this access from one of the at least two public network connections; the cross-network connection request carries a private network address of a server in the private network;

[0026] The proxy client node establishes a second connection with the server according to the private network address carried in the cross-network connection request;

[0027] After the second connection is successfully established, the proxy client node returns a connection success message to the proxy server node through the public network connection received from the cross-network connection request;

[0028] The proxy client node transmits the information of the current visit between the client and the server by using the second connection and the public network connection that receives the cross-network connection request.

[0029] The cross-network connection request received by the proxy client node carries a cross-network connection ID;

[0030] After establishing the second connection, the method further comprises:

[0031] The proxy client node binds the cross-network connection ID to the second connection;

[0032] The proxy client node adds the cross-network connection ID to all second information of this visit sent to the proxy server node; the proxy client node sends all first information to the server through the second connection bound to the cross-network connection ID based on the cross-network connection ID carried in all first information sent by the proxy server node; wherein the information includes signaling and data.

[0033] The method further comprises: for each of the at least two public network connections, setting a dedicated sending queue and a dedicated working thread for the public network connection in the proxy client node;

[0034] The proxy client node uses the second connection and the public network connection that receives the cross-network connection request to transmit the information of this visit between the client and the server, including: the proxy client node receives the information sent by the server through the second connection; the proxy client node uses the dedicated work thread of the public network connection that receives the cross-network connection request to put the received information into the dedicated sending queue of the public network connection; the proxy server node uses the dedicated work thread to take out information from the dedicated sending queue in sequence, and sends the taken out information to the proxy server node through the public network connection.

[0035] According to a third aspect, a method for accessing a server in a private network is provided, which includes:

[0036] The client establishes a first connection with the proxy server node; the client sends a cross-network connection request for this access to the proxy server node through the first connection; wherein the cross-network connection request is used for the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server.

[0037] According to a fourth aspect, a device for accessing a server in a private network is provided, which is applied to a proxy server node, and includes:

[0038] A proxy server module, configured to establish a first connection with a client;

[0039] The cross-network server module is configured to establish at least two public network connections with the proxy client node, wherein different service types correspond to different public network connections;

[0040] The processing module is configured to receive a cross-network connection request for this visit sent by the client through the first connection established by the proxy server module; the cross-network connection request is used by the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server; determine the service type of this visit; select a public network connection corresponding to the service type of this visit from at least two public network connections established by the cross-network server module, and send the cross-network connection request to the proxy client node through the selected public network connection; after receiving a connection success message returned by the proxy client node, send a connection success message to the client through the first connection established by the proxy server module; transmit the information of this visit between the client and the server through the first connection established by the proxy server module and the public network connection established by the cross-network server module.

[0041] According to a fifth aspect, a device for accessing a server in a private network is provided, which is applied to a proxy client node, and the device includes:

[0042] The cross-network server unit is configured to establish at least two public network connections with the proxy server node outside the private network, wherein different service types correspond to different public network connections;

[0043] The control unit is configured to receive a cross-network connection request for this visit from one of the at least two public network connections, parse out the private network address of the server in the private network carried in the cross-network connection request; after the second connection is successfully established, return a connection success message to the proxy server node through the public network connection that receives the cross-network connection request; and transmit the information of this visit between the client and the server by using the public network connection established by the cross-network server unit and the second connection established by the proxy client unit;

[0044] The proxy client unit is configured to establish a second connection with the server according to the private network address carried in the cross-network connection request.

[0045] According to a sixth aspect, a device for accessing a server in a private network is provided, which is applied to a client, and the device includes:

[0046] A connection establishing module, configured to establish a first connection with the proxy server node;

[0047] The information processing module is configured to send a cross-network connection request for this access to the proxy server node through a first connection; wherein the cross-network connection request is used by the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server.

[0048] According to a seventh aspect, a computing device is provided, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method described in any embodiment of the present specification is implemented.

[0049] The methods and devices for accessing a server in a private network provided in various embodiments of this specification have at least the following beneficial effects:

[0050] 1. At least two public network connections will be established between the same proxy server node and the same proxy client node. Different business types correspond to different public network connections, which means that the access traffic of different business types will be transmitted through different public network connections. In this way, the problem of data interference between different business types is avoided.

[0051] 2. Because the access of the same service type has the same requirements for network bandwidth and response time, in one embodiment of the present specification, each access of the same service type can reuse a public network connection between the proxy server node and the proxy client node, thus saving public network connection resources.

[0052] 3. In the prior art, after the access is initiated, the proxy server node sends an instruction to establish a new public network connection to the proxy client node. After receiving the instruction, the proxy client node initiates the establishment of a new public network connection to the proxy server node. This will cause additional time for sending instructions and establishing a new public network connection. This additional time can reach hundreds of milliseconds or even seconds in multi-cloud data transmission scenarios across regions and countries, seriously affecting the efficiency of establishing cross-network connections. In the embodiments of this specification, a public network connection between the proxy server node and the proxy client node can be established in advance before the access is initiated. In this way, after the access is initiated, there will be no additional time for sending instructions and establishing a new public network connection in the prior art. Therefore, the time to establish a cross-network connection from the client to the server can be shortened, and the efficiency of access to the server in the private network can be improved.

[0053] 4. In one embodiment of the present specification, at least two public network connections between the proxy server node and the proxy client node are established dynamically. That is, instead of pre-setting a fixed number of public network connections, at least two public network connections can be dynamically set according to various types of services that need to be used within a period of time. Therefore, it can adapt to the dynamically changing needs of the business and avoid wasting public network connection resources.

[0054] 5. In one embodiment of the present specification, a dedicated work thread and a dedicated sending queue can be set for each public network connection in the proxy client node and the proxy server node, so that the resources occupied by the work thread and the sending queue can be dynamically adjusted according to the resource demand of the business type corresponding to each public network connection, so as to better meet the business needs. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0056] Figure 1 This is a schematic diagram of the system architecture for accessing a server in a private network based on private network penetration technology.

[0057] Figure 2 It is a schematic diagram of a system architecture used in an embodiment of this specification.

[0058] Figure 3 It is a flowchart of a method for a proxy server node to access a server in a private network in one embodiment of the present specification.

[0059] Figure 4 It is a flow chart of a method for a proxy client node to access a server in a private network in one embodiment of the present specification.

[0060] Figure 5 It is a flowchart of a method for a client to access a server in a private network in one embodiment of the present specification.

[0061] Figure 6 It is a schematic diagram of accessing a server in a private network implemented by cooperation among a client, a proxy server node, a proxy client node and a server in one embodiment of the present specification.

[0062] Figure 7 It is a schematic diagram of the structure of a proxy server node in one embodiment of this specification.

[0063] Figure 8 It is a schematic diagram of the structure of a proxy client node in one embodiment of this specification.

[0064] Fig. 9 It is a schematic diagram of the structure of a client in one embodiment of this specification. DETAILED DESCRIPTION

[0065] First, some proper nouns involved in the embodiments of this specification are explained.

[0066] Server: software that provides a certain service or the hardware device that hosts the software.

[0067] Private network: A private network environment that is isolated from other network environments, such as a virtual private cloud (VPC), local area network, etc.

[0068] Private network penetration: A network technology that can access the server in the private network from the external network. This technology first establishes a network channel from the private network to the public network, and then uses the channel to initiate a network request from the external network to the server in the private network. This type of technology does not require the server in the private network to directly expose the port to the public network, which can ensure the privacy of the private network environment.

[0069] See also Figure 1 The method of using private network penetration technology to access a server in a private network includes: setting a proxy server node (which can be called a proxy server) for a client in a public network, and setting a proxy client node (which can be called a proxy agent) for a server in a private network environment; when a client needs to access a server in a private network environment, a connection from the client to the proxy server node, a public network connection from the proxy server node to the proxy client node, and a private network connection from the proxy client node to the server are established, thereby realizing a cross-network connection from an external network client to a server in a private network, so as to realize the access of an external network client to a server in a private network.

[0070] See also Figure 1, there are m clients, and there are s servers in the private network environment V, where m and s are both positive integers greater than 1. For example, s is greater than m. When multiple clients, such as m clients, access m servers in the private network environment V at the same time, in the prior art, the public network connection from the proxy server node to the proxy client node will be reused. In other words, only one public network connection will be established between the same proxy server node and the same proxy client node, and the data of the m clients accessing the m servers in the private network environment V will be transmitted through the same public network connection. Therefore, it will cause the problem of traffic interference between different types of access. For example, when sharing the public network connection to transmit data for m accesses, it may be necessary to simultaneously transmit the HTTP-based file download request corresponding to access 1 and the heartbeat message corresponding to access 2. The characteristics of the file download request are large data transmission volume and insensitivity to delay, while the heartbeat message has a small data volume and is sensitive to delay. Because the public network connection between the proxy server node and the proxy client node is shared, the file download request for access 1 will occupy a large amount of network resources for data transmission, resulting in the heartbeat message of access 2 being unable to be delivered in time, and ultimately causing timeouts and other exceptions on the user side.

[0071] The solution provided in this specification is described below in conjunction with the accompanying drawings.

[0072] First of all, it should be noted that the terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments, and are not intended to limit the present invention. The singular forms "a", "the" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms, unless the context clearly indicates otherwise.

[0073] In order to facilitate the understanding of this specification, the system architecture used in this specification is first described. Figure 2 As shown in , the system architecture mainly includes: at least one client connected to the same proxy server node, a proxy server node located in the public network (can be called a proxy server), a proxy client node located in a private network environment V (can be called a proxy agent), and at least one server located in the private network environment V and connected to the proxy client node. Figure 2 As shown, n public network connections are established between the proxy server node and the proxy client node, where n is a positive integer greater than 1, and different public network connections correspond to different service types.

[0074] It should be understood that Figure 2 The number m of clients, the number s of servers, and the number n of public network connections are only illustrative. Any number can be selected and deployed according to implementation needs.

[0075] In the embodiments of this specification, the processing of the proxy server node (which may be called a proxy server), the proxy client node (which may be called a proxy agent), the client and the server is involved, and the following describes them respectively through different embodiments.

[0076] Figure 3 This is a flow chart of a method for a proxy server node to access a server in a private network in one embodiment of this specification. It can be understood that the method can also be executed by any device, equipment, platform, or device cluster with computing and processing capabilities. Figure 2 , Figure 3 , the method comprising:

[0077] Step 301: The proxy server node receives a cross-network connection request for this access sent by the client through a first connection; the cross-network connection request is used for the client in the external network to access the server in the private network, and carries the private network address of the server.

[0078] Step 303: The proxy server node determines the service type of this access.

[0079] Step 305: The proxy server node selects a public network connection corresponding to the service type of the current visit from at least two public network connections between the proxy server node and the proxy client node; different service types correspond to different public network connections.

[0080] Step 307: The proxy server node sends the cross-network connection request to the proxy client node through the selected public network connection.

[0081] Step 309: After receiving the connection success message returned by the proxy client node, the proxy server node returns a connection success message to the client.

[0082] Step 311: The proxy server node transmits the information of the current visit between the client and the server using the first connection and the selected public network connection.

[0083] From the above Figure 3 It can be seen from the process shown that in the embodiment of the present specification, at least two public network connections will be established between the same proxy server node and the same proxy client node, and different business types correspond to different public network connections. In this way, various disadvantages caused by the m clients accessing the m servers in the private network environment V in the prior art are avoided, which is caused by the transmission of the data through the same public network connection. In the embodiment of the present specification, the traffic of different business types will be transmitted through different public network connections, so they will not interfere with each other.

[0084] Figure 4This is a flow chart of a method for a proxy client node to access a server in a private network in one embodiment of this specification. It can be understood that the method can also be executed by any device, equipment, platform, or device cluster with computing and processing capabilities. Figure 2 , Figure 3 , Figure 4 At least two public network connections are established between a proxy client node in a private network and a proxy server node outside the private network, wherein different service types correspond to different public network connections; the method comprises:

[0085] Step 401: The proxy client node receives a cross-network connection request for this access from one of at least two public network connections; the cross-network connection request carries the private network address of the server in the private network.

[0086] Step 403: The proxy client node establishes a second connection with the corresponding server according to the private network address carried in the cross-network connection request.

[0087] Step 405: After the second connection is successfully established, the proxy client node returns a connection success message to the proxy server node via the public network connection that receives the cross-network connection request.

[0088] Step 407: The proxy client node transmits the information of the current visit between the client and the server by using the second connection and the public network connection that receives the cross-network connection request.

[0089] Figure 5 This is a flow chart of a method for a client to access a server in a private network in one embodiment of this specification. It can be understood that the method can also be executed by any device, equipment, platform, or device cluster with computing and processing capabilities. Figure 2 , Figure 3 , Figure 4 and Figure 5 , the method comprising:

[0090] Step 501: The client establishes a first connection with a proxy server node.

[0091] Step 503: The client sends a cross-network connection request for this access to the proxy server node through the first connection; wherein the cross-network connection request is used by the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server.

[0092] The following is a specific embodiment and Figure 2 , Figure 6 , to the above Figures 3 to 5Each step in the process shown is described separately. The process of accessing the server in the private network implemented by the client, the proxy server node, the proxy client node and the server includes:

[0093] First, step 501 is performed: the client establishes a first connection with the proxy server node.

[0094] See also Figure 2 , Figure 6 In the embodiment of this specification, the server is located in a private network environment V, and the client can be located in another private network environment or in a public network.

[0095] When a client (for ease of description, denoted as client 1) needs to use the service provided by the server (for ease of description, denoted as server 1), it will initiate access to server 1 and request to establish a first connection with the proxy server node. For example, server 1 is a database located in a private network environment. When client 1 needs to access the database to obtain the corresponding data stored in the database, it can initiate the establishment of a first connection, such as Figure 6 The connection corresponding to access 1 of business type A shown in FIG.

[0096] Here, the first connection may be a connection initiated and established by the client 1 to the proxy server node and based on the socks5 protocol.

[0097] like Figure 6 As shown in , the proxy server node may specifically include two interfaces: one is called the proxy server, and the other is called the cross-network server. The proxy client node may also specifically include two interfaces: one is called the proxy client, and the other is also called the cross-network server. Among them, the proxy server is used to connect with the client and exchange information, the cross-network server in the proxy server node is used to connect with the cross-network server in the proxy client node and exchange information; the proxy client is used to connect with the server and exchange information. Therefore, in this step 501, the client may establish a first connection with the proxy server.

[0098] Next, step 503 is executed: the client sends a cross-network connection request for this access to the proxy server node through the first connection; wherein the cross-network connection request is used by the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server.

[0099] The cross-network connection request sent by the client may further carry the service type information of this visit, and / or further carry the identifier of the private network where the server is located. Therefore, it can be obtained that, in one embodiment of the present specification, the client 1 can carry the following information in the destination address of the cross-network connection request through the socks5 protocol: the service type information of this visit, the identifier of the private network where the server 1 is located, and the private network address of the server 1.

[0100] Next, step 301 is executed: the proxy server node receives a cross-network connection request for this access sent by the client through the first connection; the cross-network connection request is used for the client in the external network to access the server in the private network, and carries the private network address of the server.

[0101] like Figure 6 As shown in , in step 503, the client may send the cross-network connection request to the proxy server. Then, in this step 301, the proxy server in the proxy server node receives the cross-network connection request.

[0102] Next, step 303 is executed: the proxy server node determines the service type of the current access.

[0103] As mentioned above, the cross-network connection request sent by the client may further carry information about the service type of this visit. Therefore, an implementation process of step 303 includes: the proxy server node determines the service type of this visit by parsing the cross-network connection request.

[0104] In another embodiment of the present specification, another implementation process of step 303 includes: the proxy server node determines the service type of the current visit according to the received instruction of the administrator.

[0105] In the embodiments of this specification, the business type of an access refers to the type of service required for the access, for example, the business type is browsing web pages of a certain website, or the business type is downloading a certain file from a database, or the business type is a certain capability test performed by a server in a private network on a client.

[0106] Next, step 305 is executed: the proxy server node selects a public network connection corresponding to the service type of the current visit from at least two public network connections between the proxy server node and the proxy client node; different service types correspond to different public network connections.

[0107] Different types of services have different requirements for network bandwidth and response speed. In the embodiments of this specification, not all types of service access share a public network connection between the proxy server node and the proxy client node. Instead, different types of services correspond to different public network connections. That is, the access information of different types of services (including signaling and data) will be transmitted through different public network connections, thus avoiding mutual interference. For example, see Figure 6 , when multiple clients, for example m clients, where m is a positive integer greater than 1, simultaneously access m servers in the private network environment V, the traffic of the m accesses is not transmitted through a public network connection between the proxy server node and the proxy client node, but is split according to the business type. In other words, see Figure 6 For access 1 corresponding to business type A (for example, a file download request based on the HTTP protocol) and access 2 corresponding to business type B (for example, sending a heartbeat message), according to the processing of this step 305, for the cross-network connection request of access 1, the public network connection corresponding to business type A will be selected, and for the cross-network connection request of access 2, the public network connection corresponding to business type B will be selected. Subsequently, the information corresponding to access 1 (including signaling and data) will be transmitted from the public network connection corresponding to business type A, and the information corresponding to access 2 (including signaling and data) will be transmitted from the public network connection corresponding to business type B.

[0108] As described above, at least two public network connections are established between the proxy server node and the proxy client node. The method for establishing the at least two public network connections is described below.

[0109] First, the timing of establishing the at least two public network connections.

[0110] Opportunity 1: Establish after a new service type of access is initiated. For example, in step 303, after the proxy server node determines the service type of the current access, if there is no public network connection corresponding to the service type, it notifies the proxy client node to establish.

[0111] Opportunity 2: Establish in advance before the access occurs.

[0112] When using timing 2, there will be no additional time spent on sending instructions and establishing a new public network connection after the client initiates a new access. This additional time can reach seconds in multi-cloud data transmission scenarios across regions and countries, seriously affecting the efficiency of establishing cross-network connections. When using timing 2, when the client initiates an access, the public network connection between the proxy server node and the proxy client node that can transmit the access traffic already exists. Therefore, it can shorten the time to establish a cross-network connection from the client to the server, and improve the efficiency of access to the server in the private network. When using timing 2, it can be that after the proxy client node is started, it can immediately initiate the establishment of at least two public network connections with the proxy server node.

[0113] Second, a method of establishing the at least two public network connections: dynamically establishing.

[0114] In actual business implementation, business needs change dynamically. For example, in a certain time period, each client needs to access the services of business type A and business type B provided by each server in the private network; and in another time period, each client needs to access the services of business type C and business type D provided by each server in the private network. Therefore, in one embodiment of the present specification, when the above-mentioned opportunity 2 is adopted, that is, when at least two public network connections are established between the proxy server node and the proxy client node before the access occurs, the public network connection corresponding to each business type is dynamically established, and the specific implementation process includes:

[0115] Step S1: After the proxy client node is started, the proxy server node establishes an initial channel connection with the proxy client node.

[0116] The initial channel connection is also a public network connection, such as a TCP connection.

[0117] Step S3: The proxy server node dynamically updates the information of each service type currently required to the proxy client node through the initial channel connection.

[0118] Step S5: The proxy server node and the proxy client node dynamically set a corresponding public network connection for each currently required service type according to the dynamically updated service type information.

[0119] In one embodiment of the present specification, in step S3, the proxy server node periodically sends information of all service types required to be used in this cycle to the proxy client node through the initial channel connection, and in step S5, the proxy client node establishes a corresponding cross-network channel, i.e., a public network connection, to the proxy server node for each service type in this cycle based on the received information. It can be understood that the service types required to be accessed may be different in different cycles, and therefore, the number of public network connections set and the service types corresponding to the public network connections may also change dynamically in different cycles.

[0120] Third, the method of using at least two public network connections between the proxy server node and the proxy client node: reusable.

[0121] In one embodiment of the present specification, at least two accesses of the same service type reuse the same public network connection of the at least two public network connections; wherein the at least two accesses are: accesses initiated by at least one client connected to the same proxy server node to at least one server connected to the same proxy client node in the private network. For example, see Figure 6 Among several clients, client 1 initiates access 1 corresponding to service type A, client 2 initiates access 2 corresponding to service type B, and client 3 initiates access 3 corresponding to service type A. Client 1, client 2, and client 3 are all connected to the same proxy server node. In this way, because the service types corresponding to access 1 and access 3 are the same, both are service type A, the information of access 1 and access 3 (including signaling and data) are transmitted through the same public network connection (i.e., the public network connection corresponding to service type A). The service type corresponding to access 2 is different from the service types corresponding to access 1 and access 3. Therefore, the information of access 2 is transmitted through another public network connection (i.e., the public network connection corresponding to service type B).

[0122] Therefore, in an embodiment of the present specification, at least two public network connections between the proxy client node and the proxy server node can be dynamically established in advance before access occurs, and information of different business types can be transmitted using different public network connections, and information of the same business type can be transmitted using the same public network connection.

[0123] It should be noted that when various accesses of the same service type are multiplexed over the same public network connection for transmission, in order to further distinguish the information of different accesses transmitted in the same public network connection, after the proxy server node receives the cross-network connection request in step 301, and before the proxy server node sends the cross-network connection request to the proxy client node through the selected public network connection in step 307, the proxy server node further includes: the proxy server node assigns a cross-network connection ID to the access;

[0124] Accordingly, the method of the embodiment of this specification further includes:

[0125] The proxy server node binds the cross-network connection ID to the first connection;

[0126] In one transmission direction, the proxy server node adds the cross-network connection ID to all information (recorded as first information) of this access sent to the proxy client node, such as the cross-network connection request, so that the proxy client node can distinguish each access according to the cross-network connection ID;

[0127] In another transmission direction, the proxy server node parses the cross-network connection ID from the information sent by the proxy client node (recorded as the second information), deletes the cross-network connection ID carried in the second information, and then sends the second information to the correct client through the first connection bound to the parsed cross-network connection ID.

[0128] Next, step 307 is executed: the proxy server node sends the cross-network connection request to the proxy client node through the selected public network connection.

[0129] For example, for the cross-network connection request sent by client 1, the proxy server node sends the cross-network connection request to the proxy client node through the public network connection corresponding to service type A.

[0130] If various accesses of the same service type reuse the same public network connection, then in order to distinguish various accesses of the same service type transmitted through the same public network, in this step 307, the proxy server node will first add the cross-network connection ID assigned to this access in the cross-network connection request, and then send it to the proxy client node.

[0131] See also Figure 6 In this step 307, the cross-network server in the proxy server node may send the cross-network connection request to the cross-network server in the proxy client node.

[0132] Next, step 401 is executed: the proxy client node receives a cross-network connection request for this access from one of the at least two public network connections; the cross-network connection request carries the private network address of the server in the private network.

[0133] As mentioned above, the cross-network connection request may further carry the cross-network connection ID corresponding to the current access.

[0134] Next, step 403 is executed: the proxy client node establishes a second connection with the server according to the private network address of the server carried in the cross-network connection request.

[0135] Here, the private network address of the server is usually the intranet IP address of the server in the private network environment.

[0136] As mentioned above, the cross-network connection request may further carry the cross-network connection ID corresponding to the current access. Therefore, in step 403, the proxy client node may further bind the cross-network connection ID carried in the cross-network connection request to the second connection to indicate which access the second connection corresponds to.

[0137] See also Figure 6 In this step 403, the proxy client in the proxy client node may establish a second connection with the server in the private network.

[0138] Next, step 405 is executed: after the second connection is successfully established, the proxy client node returns a connection success message to the proxy server node through the public network connection received from the cross-network connection request.

[0139] For example, for a cross-network connection request sent by client 1, the proxy client node sends a connection success message to the proxy server node through a public network connection corresponding to service type A.

[0140] Next, step 309 is executed: after receiving the connection success message returned by the proxy client node, the proxy server node returns the connection success message to the client accessing this time.

[0141] At this point, the cross-network connection from the client to the server is successfully established. The client and the server can transmit the relevant data of this visit.

[0142] Next, step 311 is executed: the proxy server node transmits the information of the current visit between the client and the server using the first connection and the selected public network connection.

[0143] In the embodiments of this specification, information includes various signaling, messages, and data.

[0144] Because different service types correspond to different public network connections, in order to further improve processing efficiency, in one embodiment of the present specification, for each of the at least two public network connections between the proxy client node and the proxy server node, a dedicated sending queue and working thread for the public network connection are set in the proxy server node;

[0145] Thus, see Figure 6 The implementation process of this step 311 includes:

[0146] The proxy server node receives the information of the current visit 1 sent by the client 1 through the first connection;

[0147] The proxy server node uses the selected dedicated work thread for the public network connection, such as dedicated work thread 1 for the public network connection of service type A, to put the received information into the dedicated sending queue for the public network connection corresponding to service type A, recorded as sending queue 1;

[0148] The proxy server node uses the work thread 1 to sequentially retrieve information from the sending queue 1, and sends the retrieved information to the proxy client node through the public network connection corresponding to the service type A.

[0149] It can be seen that each public network connection has an independent sending queue and working thread. The data of a high-traffic business type will only be cached in the sending queue dedicated to the public network connection corresponding to its own business type. In this way, for example, more processing resources can be allocated to the high-traffic business type, and then wait for the work thread dedicated to the public network connection of its own business type to send, thereby effectively isolating the traffic of cross-network connections of different business types and reducing the interference between cross-network connections with different traffic characteristics. Figure 7 As shown in , if access 1 and access 3 are both file download connections, and the business type is file download, the transmitted file data will only be cached in the sending queue 1 corresponding to business type A, and wait for worker thread 1 to send it, while the data of access 2 of business type B will be cached in the sending queue 2 corresponding to business type B, and wait for worker thread 2 to send it. It can be seen that the data transmission of access 2 is not affected by the data transmission of access 1 and access 3.

[0150] Next, step 407 is executed: the proxy client node transmits the information of the current visit between the client and the server by using the second connection and the public network connection that receives the cross-network connection request.

[0151] As mentioned above, the proxy client node will bind the cross-network connection ID with the second connection. Therefore, the process of this step 407 may include: in one transmission direction, the proxy client node adds the cross-network connection ID to all second information of this visit sent to the proxy server node; in another transmission direction, the proxy client node parses the cross-network connection ID from the first information sent by the proxy server node, deletes the cross-network connection ID in the first information, and then sends the first information to the server through the second connection bound to the parsed cross-network connection ID; wherein, the information includes signaling and data.

[0152] Because different service types correspond to different public network connections, in order to further improve processing efficiency, in one embodiment of the present specification, for each of the at least two public network connections between the proxy client node and the proxy server node, a dedicated sending queue and a dedicated working thread for the public network connection are set in the proxy client node;

[0153] Thus, see Figure 6 The implementation process of step 407 includes:

[0154] The proxy client node receives information sent by the server, such as server 1, through the second connection;

[0155] The proxy client node uses a dedicated work thread of a public network connection that receives a cross-network connection request, such as a public network connection corresponding to service type A, to put the received information into a sending queue dedicated to the public network connection;

[0156] The proxy server node uses the dedicated work thread to sequentially retrieve information from the dedicated sending queue, and sends the retrieved information to the proxy server node through the public network connection.

[0157] In one embodiment of the present specification, a device for accessing a server in a private network is provided, and the device is applied in a proxy server node, see Figure 7 , the device comprises:

[0158] The proxy server module 701 is configured to establish a first connection with the client;

[0159] The cross-network server module 702 is configured to establish at least two public network connections with the proxy client node, wherein different service types correspond to different public network connections;

[0160] The processing module 703 is configured to receive a cross-network connection request for this visit sent by the client through the first connection established by the proxy server module 701; the cross-network connection request is used by the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server; determine the business type of this visit; select a public network connection corresponding to the business type of this visit from at least two public network connections established by the cross-network server module 702, and send the cross-network connection request to the proxy client node through the selected public network connection; after receiving the connection success message returned by the proxy client node, send a connection success message to the client through the first connection established by the proxy server module 701; transmit the information of this visit between the client and the server through the first connection established by the proxy server module 701 and the public network connection established by the cross-network server module 702.

[0161] exist Figure 7 In one embodiment of the device of the present specification shown, the first connection is a connection initiated by the client to the proxy server node and is based on the socks5 protocol.

[0162] exist Figure 7In one embodiment of the device of this specification shown, the cross-network connection request carries the service type information of this visit; accordingly, the processing module 703 is configured to execute: determining the service type of this visit by parsing the cross-network connection request.

[0163] exist Figure 7 In one embodiment of the device of this specification shown, before the access occurs, the cross-network service-end module 702 establishes the above-mentioned at least two public network connections with the proxy client node.

[0164] exist Figure 7 In one embodiment of the device of this specification shown, the cross-network service module 702 is configured to execute:

[0165] After the proxy client node is started, an initial channel connection is established with the proxy client node;

[0166] Dynamically updating the information of each service type currently required to the proxy client node through the initial channel connection; and

[0167] The proxy client node dynamically sets a corresponding public network connection for each currently required service type according to the dynamically updated service type information.

[0168] exist Figure 7 In one embodiment of the device of this specification shown in FIG. 1 , the processing module 703 is configured to:

[0169] The same public network connection among at least two public network connections established by the cross-network server module 702 is reused for at least two accesses of the same service type; wherein the at least two accesses are: access initiated by at least a client connected to the same proxy server node to at least one server connected to the same proxy client node in the private network.

[0170] exist Figure 7 In one embodiment of the device of this specification shown in FIG. 1 , the processing module 703 is configured to:

[0171] After receiving the inter-network connection request and before sending the inter-network connection request to the proxy client node through the selected public network connection, assigning an inter-network connection ID for the access;

[0172] Binding the cross-network connection ID to the first connection;

[0173] Adding the cross-network connection ID to all first information of this visit sent to the proxy client node;

[0174] According to the cross-network connection ID carried in all the second information sent by the proxy client node, all the second information is sent to the client through the first connection bound to the cross-network connection ID; wherein the information includes signaling and data.

[0175] exist Figure 7 In one embodiment of the device of this specification shown in FIG. 1 , for each of the at least two public network connections, a dedicated sending queue and a dedicated working thread for the public network connection are set in the processing module 703;

[0176] The processing module 703 is configured to execute:

[0177] Receive information sent by the client through the first connection;

[0178] Using the selected dedicated work thread for the public network connection, the received information is placed in the selected dedicated send queue for the public network connection;

[0179] The selected working thread dedicated to the public network connection is used to sequentially retrieve information from the sending queue dedicated to the public network connection, and the retrieved information is sent to the proxy client node through the selected public network connection.

[0180] In one embodiment of the present specification, a device for accessing a server in a private network is also provided, which is applied to a proxy client node, see Figure 8 , the device comprises:

[0181] The inter-network server unit 801 is configured to establish at least two public network connections with the proxy server node outside the private network, wherein different service types correspond to different public network connections;

[0182] The control unit 802 is configured to receive a cross-network connection request for this access from one of the at least two public network connections, and parse out the private network address of the server in the private network carried in the cross-network connection request; after the second connection is successfully established, return a connection success message to the proxy server node through the public network connection that receives the cross-network connection request; and use the public network connection established by the cross-network server unit 801 and the second connection established by the proxy client unit 803 to transmit the information of this access between the client and the server;

[0183] The proxy client unit 803 is configured to establish a second connection with the server according to the private network address carried in the cross-network connection request.

[0184] exist Figure 8 In one embodiment of the device of this specification, the cross-network server unit 801 is configured to initiate the establishment of at least two public network connections with the proxy server node before the access occurs.

[0185] exist Figure 8 In one embodiment of the device of this specification shown in FIG. 1 , the cross-network service end unit 801 is configured to execute:

[0186] After the proxy client node is started, it initiates the establishment of an initial channel connection with the proxy server node;

[0187] Receive information of each business type currently required dynamically updated by the proxy server node through the initial channel connection; and

[0188] According to the dynamically updated service type information, the proxy server node dynamically sets a corresponding public network connection for each service type currently required.

[0189] exist Figure 8 In one embodiment of the device of this specification shown, the control unit 802 is configured to execute:

[0190] The same public network connection of at least two public network connections is reused for at least two accesses of the same service type; wherein the at least two accesses are: access initiated by at least a client connected to the same said proxy server node to at least one server connected to the same said proxy client node in the private network.

[0191] exist Figure 8 In one embodiment of the device of this specification shown, the inter-network connection request received by the control unit 802 carries an inter-network connection ID;

[0192] The control unit 802 is further configured to perform:

[0193] After establishing the second connection, binding the cross-network connection ID to the second connection;

[0194] Adding the cross-network connection ID to all second information of this visit sent to the proxy server node through the public network connection established by the cross-network server unit 801;

[0195] According to the inter-network connection ID carried in all the first information sent by the proxy server node, all the first information is sent to the server through the second connection bound to the inter-network connection ID; wherein the information includes signaling and data.

[0196] exist Figure 8 In one embodiment of the device of this specification shown in the control unit 802, for each of the at least two public network connections, a dedicated sending queue and a dedicated working thread for the public network connection are provided;

[0197] The control unit 802 is configured to perform:

[0198] Receive information sent by the server through the second connection;

[0199] Using a dedicated work thread for a public network connection that receives a cross-network connection request, the received information is placed in a dedicated sending queue for the public network connection;

[0200] The dedicated work thread is used to sequentially retrieve information from the dedicated sending queue, and the retrieved information is sent to the proxy server node via the public network connection.

[0201] In one embodiment of the present specification, a device for accessing a server in a private network is proposed, which is applied to a client. Fig. 9 , the device comprises:

[0202] A connection establishing module 901 is configured to establish a first connection with a proxy server node;

[0203] The information processing module 902 is configured to send a cross-network connection request for this access to the proxy server node through a first connection; wherein the cross-network connection request is used by the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server.

[0204] exist Fig. 9 In one embodiment of the device of this specification shown in FIG. 1 , the cross-network connection request further carries the service type information of the current access and / or the identifier of the private network.

[0205] and / or,

[0206] exist Fig. 9 In one embodiment of the device of this specification shown, the first connection is a connection based on the socks5 protocol initiated by the connection establishment module 901 to the proxy server node.

[0207] One embodiment of the present specification provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed in a computer, the computer is caused to execute a method in any one of the embodiments of the present specification.

[0208] An embodiment of the present specification provides a computing device, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method in any embodiment of the specification is implemented.

[0209] It is to be understood that the structures illustrated in the embodiments of this specification do not constitute specific limitations on the devices of the embodiments of this specification. In other embodiments of the specification, the above-mentioned device may include more or fewer components than those shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0210] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0211] Those skilled in the art should be aware that in one or more of the above examples, the functions described in the present invention can be implemented by hardware, software, widgets, or any combination thereof. When implemented by software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium.

[0212] The specific implementation methods described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific implementation method of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solution of the present invention should be included in the scope of protection of the present invention.

Claims

1. Methods for accessing the server in the private network, where: include: The proxy server node receives the cross-network connection request for this access sent by the client through the first connection; The cross-network connection request is used by the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server; The proxy server node determines the service type of this access; The proxy server node selects a public network connection corresponding to the service type of the current visit from at least two public network connections between the proxy server node and the proxy client node; wherein different service types correspond to different public network connections; The proxy server node sends the cross-network connection request to the proxy client node through the selected public network connection; After receiving the connection success message returned by the proxy client node, the proxy server node returns a connection success message to the client; The proxy server node uses the first connection and the selected public network connection to transmit the information of the current visit between the client and the server.

2. The method according to claim 1, wherein: The first connection is a connection initiated by the client to the proxy server node based on the socks5 protocol; and / or, The cross-network connection request carries the service type information of the current visit; accordingly, the proxy server node determines the service type of the current visit, including: the proxy server node determines the service type of the current visit by parsing the cross-network connection request.

3. The method according to claim 1, wherein: Before generating the visit, the method further includes: The proxy server node establishes the at least two public network connections with the proxy client node.

4. The method according to claim 3, wherein: The proxy server node and the proxy client node establish the at least two public network connections, including: After the proxy client node is started, the proxy server node establishes an initial channel connection with the proxy client node; The proxy server node dynamically updates the information of each service type currently required to the proxy client node through the initial channel connection; and The proxy server node and the proxy client node dynamically set a corresponding public network connection for each currently required service type according to the dynamically updated service type information.

5. The method according to claim 1, At least two access points of the same service type reuse the same public network connection of the at least two public network connections; wherein, The at least two accesses are: access initiated by at least one client connected to the same proxy server node to at least one server connected to the same proxy client node in the private network.

6. The method according to claim 5, wherein: After the proxy server node receives the cross-network connection request and before the proxy server node sends the cross-network connection request to the proxy client node through the selected public network connection, the method further includes: the proxy server node assigns a cross-network connection ID to the access; The method further comprises: The proxy server node binds the cross-network connection ID to the first connection; The proxy server node adds the cross-network connection ID to all first information of this visit sent to the proxy client node; The proxy server node parses the cross-network connection ID from the second information sent by the proxy client node, deletes the cross-network connection ID in the second information, and then sends the second information to the client through the first connection bound to the parsed cross-network connection ID; The first information includes signaling and data; the second information includes signaling and data.

7. The method according to claim 1, wherein: The method further comprises: for each of the at least two public network connections, setting a dedicated sending queue and a dedicated working thread for the public network connection in the proxy server node; The proxy server node transmits information between the client and the server using the first connection and the selected public network connection, including: The proxy server node receives information sent by the client through the first connection; The proxy server node uses the selected working thread dedicated to the public network connection to put the received information into the sending queue dedicated to the selected public network connection; The proxy server node uses the selected dedicated work thread for the public network connection to sequentially retrieve information from the dedicated sending queue for the public network connection, and sends the retrieved information to the proxy client node through the selected public network connection.

8. Methods for accessing the server in the private network, including: At least two public network connections are established between a proxy client node in a private network and a proxy server node outside the private network, wherein different service types correspond to different public network connections; the method comprises: The proxy client node receives a cross-network connection request for this access from one of the at least two public network connections; the cross-network connection request carries a private network address of a server in the private network; The proxy client node establishes a second connection with the server according to the private network address carried in the cross-network connection request; After the second connection is successfully established, the proxy client node returns a connection success message to the proxy server node through the public network connection received from the cross-network connection request; The proxy client node transmits the information of the current visit between the client and the server by using the second connection and the public network connection that receives the cross-network connection request.

9. The method according to claim 8, wherein: Before generating the visit, the method further includes: The proxy client node initiates establishment of the at least two public network connections with the proxy server node.

10. The method according to claim 9, wherein: The proxy client node initiating establishment of the at least two public network connections with the proxy server node includes: After the proxy client node is started, initiating establishment of an initial channel connection with the proxy server node; The proxy client node receives information of each currently required service type dynamically updated by the proxy server node through the initial channel connection; and The proxy client node and the proxy server node dynamically set a corresponding public network connection for each currently required service type according to the dynamically updated service type information.

11. The method according to claim 8, At least two access points of the same service type reuse the same public network connection of the at least two public network connections; wherein, The at least two accesses are: access initiated by at least one client connected to the same proxy server node to at least one server connected to the same proxy client node in the private network.

12. The method according to claim 11, wherein: The cross-network connection request received by the proxy client node carries a cross-network connection ID; After establishing the second connection, the method further comprises: The proxy client node binds the inter-network connection ID carried in the inter-network connection request to the second connection; The proxy client node adds the cross-network connection ID to all second information of this visit sent to the proxy server node; The proxy client node parses the cross-network connection ID from the first information sent by the proxy server node, deletes the cross-network connection ID in the first information, and then sends the first information to the server through a second connection bound to the parsed cross-network connection ID; The first information includes signaling and data; the second information includes signaling and data.

13. The method according to claim 8, wherein: The method further comprises: for each of the at least two public network connections, setting a dedicated sending queue and a dedicated working thread for the public network connection in the proxy client node; The proxy client node transmits information about the current visit between the client and the server by using the second connection and the public network connection that receives the cross-network connection request, including: The proxy client node receives information sent by the server through the second connection; The proxy client node uses the dedicated work thread for the public network connection that receives the cross-network connection request to put the received information into the dedicated sending queue for the public network connection; The proxy server node uses the dedicated work thread to sequentially retrieve information from the dedicated sending queue, and sends the retrieved information to the proxy server node via the public network connection.

14. Methods for accessing the server in the private network, where: include: The client establishes a first connection with the proxy server node; The client sends a cross-network connection request for this access to the proxy server node through the first connection; wherein the cross-network connection request is used by the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server; The proxy server node determines the service type of this access; The proxy server node selects a public network connection corresponding to the service type of the current visit from at least two public network connections between the proxy server node and the proxy client node; wherein different service types correspond to different public network connections; The proxy server node sends the cross-network connection request to the proxy client node through the selected public network connection; After receiving the connection success message returned by the proxy client node, the proxy server node returns a connection success message to the client; The proxy server node uses the first connection and the selected public network connection to transmit the information of the current visit between the client and the server.

15. The method according to claim 14, wherein: The cross-network connection request further carries the service type information of this access and / or the identifier of the private network; and / or, The first connection is a connection initiated by the client to the proxy server node and is based on the socks5 protocol.

16. A device for accessing a server in a private network, applied to a proxy server node, comprising: A proxy server module, configured to establish a first connection with a client; The cross-network server module is configured to establish at least two public network connections with the proxy client node, wherein different service types correspond to different public network connections; The processing module is configured to receive a cross-network connection request for this visit sent by the client through the first connection established by the proxy server module; the cross-network connection request is used by the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server; determine the service type of this visit; select a public network connection corresponding to the service type of this visit from at least two public network connections established by the cross-network server module, and send the cross-network connection request to the proxy client node through the selected public network connection; after receiving a connection success message returned by the proxy client node, send a connection success message to the client through the first connection established by the proxy server module; transmit the information of this visit between the client and the server through the first connection established by the proxy server module and the public network connection established by the cross-network server module.

17. A device for accessing a server in a private network, applied to a proxy client node, comprising: The cross-network server unit is configured to establish at least two public network connections with the proxy server node outside the private network, wherein different service types correspond to different public network connections; The control unit is configured to receive a cross-network connection request for this visit from one of the at least two public network connections, parse out the private network address of the server in the private network carried in the cross-network connection request; after the second connection is successfully established, return a connection success message to the proxy server node through the public network connection that receives the cross-network connection request; and transmit the information of this visit between the client and the server by using the public network connection established by the cross-network server unit and the second connection established by the proxy client unit; The proxy client unit is configured to establish a second connection with the server according to the private network address carried in the cross-network connection request.

18. A device for accessing a server in a private network, applied to a client, comprising: A connection establishing module, configured to establish a first connection with the proxy server node; The information processing module is configured to send the cross-network connection request for the current access to the proxy server node through the first connection, so that the proxy server node performs the following operations: The proxy server node determines the service type of this access; The proxy server node selects a public network connection corresponding to the service type of the current visit from at least two public network connections between the proxy server node and the proxy client node; wherein different service types correspond to different public network connections; The proxy server node sends the cross-network connection request to the proxy client node through the selected public network connection; After receiving the connection success message returned by the proxy client node, the proxy server node returns a connection success message to the client; The proxy server node transmits the information of the current visit between the client and the server by using the first connection and the selected public network connection; The cross-network connection request is used for the client in the external network to access the server in the private network, and the cross-network connection request carries the private network address of the server.

19. A computing device comprising a memory and a processor, wherein the memory stores executable codes, and when the processor executes the executable codes, the method according to any one of claims 1 to 15 is implemented.