[go: up one dir, main page]

CN114726850A - VNC remote access method, device and storage medium - Google Patents

VNC remote access method, device and storage medium Download PDF

Info

Publication number
CN114726850A
CN114726850A CN202210340991.2A CN202210340991A CN114726850A CN 114726850 A CN114726850 A CN 114726850A CN 202210340991 A CN202210340991 A CN 202210340991A CN 114726850 A CN114726850 A CN 114726850A
Authority
CN
China
Prior art keywords
vnc
server
mesh
target
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210340991.2A
Other languages
Chinese (zh)
Other versions
CN114726850B (en
Inventor
余逢旺
赵斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DELTA NETWORKS (XIAMEN) Ltd
Original Assignee
DELTA NETWORKS (XIAMEN) Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DELTA NETWORKS (XIAMEN) Ltd filed Critical DELTA NETWORKS (XIAMEN) Ltd
Priority to CN202210340991.2A priority Critical patent/CN114726850B/en
Publication of CN114726850A publication Critical patent/CN114726850A/en
Application granted granted Critical
Publication of CN114726850B publication Critical patent/CN114726850B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention relates to the technical field of network communication, and discloses a VNC remote access method, which is applied to a system comprising VNC servers, VNC agents, VNCMesh servers and VNC clients, wherein a plurality of VNC servers construct a VNCMesh network, a plurality of VNC agents are registered in the VNCMesh network, and a plurality of VNC servers are connected to a plurality of VNC agents, and the method comprises the following steps: the first VNCMesh server receives a VNC remote access connection request sent by a VNC client; the first VNCMesh server determines a target VNCMesh server for VNC remote access; and the target VNCMesh server responds to the connection request, establishes connection with the VNC client, determines a target VNC server for VNC remote access, is connected to the target VNC server through a VNC agent, and establishes a VNC remote access link. The method and the device provided by the invention can select the optimal link according to the indexes of load size, bandwidth, time delay and the like of the VNCMesh server, thereby ensuring the stability and bandwidth of VNC connection.

Description

VNC remote access method, device and storage medium
Technical Field
The present invention relates to the field of network communication technologies, and in particular, to a VNC remote access method, apparatus, and storage medium.
Background
In a conventional VNC (Virtual Network Computing) remote desktop system, one IP address and port of a VNC client can only be connected to one VNC server, and when a user wants to connect multiple VNC servers, only multiple IP addresses and ports can be used, which results in that each VNC server needs to be configured, which is extremely cumbersome.
Fig. 1 is a schematic diagram of a conventional VNC remote desktop management, which shows a topology diagram of the conventional VNC remote desktop management. It can be seen from fig. 1 that a VNC client (e.g. a PC) of an external network is almost impossible if it wants to directly access a VNC server of a private address in the router internal network, especially if the router has no public network IP address, only a VNC client (e.g. a PC) in the same local area network as the router.
The pit insurance manufacturing proposes a method for establishing connection between a VNC client and a VNC server through an intermediate proxy server (design and implementation of a single sign-on and behavior audit system of remote desktop access, pit insurance manufacturing, a full-text database of a Chinese excellent Master academic paper, 1139-. Although the problem that the VNC client of the external network is connected to the VNC server of the internal network is solved by using the intermediate proxy server, the following problem still exists in the conventional VNC proxy server using the intermediate proxy server.
1. When a certain proxy server is abnormal, a traditional VNC proxy server may directly cause unavailability of VNC services, and if line switching is performed, the VNC proxy server may cause disconnection of a VNC connection;
2. traditional VNC proxy servers may use load balancing, but load balancing cannot solve the problem of network connection quality, and when one proxy server is far away from a target VNC server, such as cross-intercontinental or cross-operator, the connection effect is usually not good due to line restrictions;
3. when a conventional VNC proxy server performs high-definition dynamic video transmission, an existing one-way VNC protocol cannot generally guarantee high-resolution, high-image-quality, and high-frame-rate video transmission.
Disclosure of Invention
In order to overcome the technical problems, the present invention provides a VNC remote access method, which is applied to a system including a VNC server, a VNC agent, a VNC Mesh server, and a VNC client, wherein a plurality of VNC Mesh servers construct a VNC Mesh network, a plurality of VNC agents are registered to the VNC Mesh network, and a plurality of VNC servers are connected to the plurality of VNC agents, and the technical scheme of the method is as follows:
s1, a first VNC Mesh server matched with the position of the VNC client in the VNC Mesh network receives a VNC remote access connection request sent by the VNC client;
s2, the first VNC Mesh server determines a target VNC Mesh server for VNC remote access according to the current working state of each VNC Mesh server in the VNC Mesh network;
s3, the target VNC Mesh server responding to the connection request, establishing a connection with the VNC client, and determining, by the target VNC Mesh server, a target VNC server for VNC remote access from the VNC agent registered in the VNC Mesh network according to registration information generated when the VNC agent is registered in the VNC Mesh network, where the target VNC Mesh server is connected to the target VNC server through the VNC agent, and establishing a link for the VNC client to remotely access the target VNC server.
Further, the VNC Mesh network is constructed by:
initializing configuration information of each VNC Mesh server, wherein the configuration information comprises line state information between each VNC Mesh server in the VNC Mesh network, and the line state information comprises operator, bandwidth, load, delay and packet loss rate information;
when the VNC Mesh network is newly added to a VNC Mesh server, the newly added VNC Mesh server acquires the configuration information from the existing VNC Mesh server in the VNC Mesh network connection, tests the connection speed between the newly added VNC Mesh server and each existing VNC Mesh server, and updates the test connection speed result into the configuration information of the newly added VNC Mesh server;
and the newly-added VNC Mesh server broadcasts the updated configuration information to the VNC Mesh network, and each VNC Mesh server in the VNC Mesh network responds to the broadcast to update the configuration information of the VNC Mesh server.
Further, the plurality of VNC servers being connected to the plurality of VNC agents comprises: one said VNC agent establishing a connection with at least one said VNC server and one said VNC server establishing a connection with at least one said VNC agent; wherein the VNC agent establishes a connection with the VNC server via a remote frame buffer protocol; the VNC agent is deployed in: a router, a desktop computer, and/or a VNC server.
Further, the registration of the VNC agent with the VNC Mesh network comprises:
the VNC proxy sends a pre-registration request to the VNC Mesh server of the VNC Mesh network, and the VNC Mesh server returns VNC Mesh server list information allowing connection in response to the pre-registration request;
the VNC agent determines a second VNC Mesh server of which the information of an operator, bandwidth, load, delay and/or packet loss rate meets a first preset condition according to the returned VNC Mesh server list information;
the VNC proxy sends a registration request to the second VNC Mesh server, the second VNC Mesh server generates registration information in response to the registration request, establishes a connection with the VNC proxy, the second VNC Mesh server broadcasts the registration information to the VNC Mesh network, the VNC Mesh server in the VNC Mesh network generates the registration information for the VNC proxy in response to the broadcast, the registration information including a network protocol IP address and bandwidth requirements of the VNC proxy.
Further, the step S3 of the target VNC Mesh server connecting to the target VNC server through the VNC agent includes:
determining a third VNC Mesh server connected with the VNC proxy, and when the third VNC Mesh server is not the same server as the target VNC Mesh server, establishing a communication channel between the target VNC Mesh server and the third VNC Mesh server in the VNC Mesh network, and establishing connection with the VNC proxy through the communication channel.
Further, the target VNC Mesh server is connected to the target VNC server through the VNC agent in step S3, and establishing the link for the VNC client to remotely access the target VNC server includes: when there are a plurality of the VNC agents connected to the target VNC server, the target VNC Mesh server establishes connections with the plurality of VNC agents, and establishes a plurality of connection links from the target VNC Mesh server to the target VNC server.
Further, the target VNC Mesh server obtains different video frame data in the display buffer of the VNC server from the plurality of connection links, respectively, merges the obtained different video frame data to obtain video data corresponding to the display buffer of the VNC server, and sends the video data to the VNC client.
Further, determining a connection link, as a first connection link, from the plurality of connection links, for which bandwidth, load, delay and/or packet loss rate information satisfies a second preset condition, and when the first connection link is disconnected, determining a second connection link, from remaining links of the plurality of connection links, for which bandwidth, load, delay and/or packet loss rate information satisfies a third preset condition; wherein the second preset condition is different from the third preset condition.
The present invention also provides a VNC remote access apparatus, which includes a memory and a processor, where the memory stores at least one program, and the at least one program is executed by the processor to implement the method for VNC remote access as described above.
The present invention also provides a computer-readable storage medium, in which at least one program is stored, and when the at least one program runs, the VNC remote access method is executed.
The technical scheme provided by the invention has the beneficial effects that:
according to the VNC remote access method and device, the VNC Mesh network can select the optimal link according to indexes such as load size, bandwidth and delay of the VNC Mesh server, and stability and bandwidth of VNC connection are guaranteed. In a further scheme of the invention, links of multiple VNC agents can be aggregated through a VNC Mesh network, network delay is reduced, network bandwidth is improved, frame rate of transmitted VNC server videos is increased in multiples during multi-link uploading, and when one link is abnormal, the link can be automatically switched to other effective links, so that VNC connection disconnection and reconnection cannot be caused.
Drawings
FIG. 1 is a diagram of a conventional VNC remote desktop management;
FIG. 2 is a flow chart of a method of remote access of a VNC according to an embodiment of the present invention;
FIG. 3 is a diagram illustrating a VNC remote access network architecture, in accordance with an embodiment of the present invention;
figure 4 is a schematic diagram of VNC link optimization according to an embodiment of the present invention;
figure 5 is a schematic diagram of VNC link aggregation according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of a VNC remote access device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The first embodiment is as follows:
fig. 2 is a flowchart of a VNC remote access method according to an embodiment of the present invention, where the method is applied to a system including a VNC server, a VNC agent, a VNC Mesh server, and a VNC client, where a plurality of VNC Mesh servers construct a VNC Mesh network, a plurality of VNC agents are registered in the VNC Mesh network, and a plurality of VNC servers are connected to a plurality of VNC agents, and the method includes:
s1, a first VNC Mesh server matched with the position of a VNC client in the VNC Mesh network receives a VNC remote access connection request sent by the VNC client;
s2, the first VNC Mesh server determines a target VNC Mesh server for VNC remote access according to the current working state of each VNC Mesh server in the VNC Mesh network;
s3, the target VNC Mesh server responds to the connection request, and establishes a connection with the VNC client, and the target VNC Mesh server determines, from the VNC agents registered in the VNC Mesh network, the target VNC server for VNC remote access according to registration information generated when the VNC agents are registered in the VNC Mesh network, and the target VNC Mesh server is connected to the target VNC server through the VNC agents, and establishes a link for the VNC client to remotely access the target VNC server.
Specifically, a VNC Mesh network is constructed by the following steps:
initializing configuration information of each VNC Mesh server, wherein the configuration information comprises line state information among the VNC Mesh servers in the VNC Mesh network, and the line state information comprises operator, bandwidth, load, time delay and packet loss rate information;
when a VNC Mesh network is newly added to a VNC Mesh server, the newly added VNC Mesh server acquires configuration information from the existing VNC Mesh server in VNC Mesh network connection, tests the connection speed between the newly added VNC Mesh server and each existing VNC Mesh server, and updates the test connection speed result to the configuration information of the newly added VNC Mesh server;
and broadcasting the updated configuration information to the VNC Mesh network by the newly-added VNC Mesh server, and responding to the broadcast by each VNC Mesh server in the VNC Mesh network to update the configuration information of the VNC Mesh server.
Specifically, the connecting of the plurality of VNC servers to the plurality of VNC agents includes: one VNC agent establishing a connection with at least one VNC server and one VNC server establishing a connection with at least one VNC agent; the VNC agent establishes connection with the VNC server through a remote frame buffer protocol; the VNC agent is deployed in the following devices: a router, a desktop computer, and/or a VNC server.
Specifically, the registration of the VNC agent to the VNC Mesh network includes:
the VNC agent sends a pre-registration request to a VNC Mesh server of the VNC Mesh network, and the VNC Mesh server responds to the pre-registration request and returns VNC Mesh server list information allowing connection;
the VNC agent determines a second VNC Mesh server of which the operator, bandwidth, load, delay and/or packet loss rate information meet first preset conditions according to the returned VNC Mesh server list information;
the VNC agent sends a registration request to a second VNC Mesh server, the second VNC Mesh server responds to the registration request to generate registration information, connection with the VNC agent is established, the second VNC Mesh server broadcasts the registration information to a VNC Mesh network, the VNC Mesh server in the VNC Mesh network responds to the broadcast to generate the registration information of the VNC agent, and the registration information comprises a network protocol IP address and bandwidth requirements of the VNC agent.
Specifically, the step S3 in which the target VNC Mesh server is connected to the target VNC server through the VNC proxy includes:
and determining a third VNC Mesh server connected with the VNC proxy, and when the third VNC Mesh server and the target VNC Mesh server are not the same server, establishing a communication channel between the target VNC Mesh server and the third VNC Mesh server in the VNC Mesh network, and establishing connection with the VNC proxy through the communication channel.
Specifically, in step S3, the target VNC Mesh server is connected to the target VNC server through the VNC agent, and establishing the link for the VNC client to remotely access the target VNC server includes: when a plurality of VNC agents are connected to the target VNC server, the target VNC Mesh server establishes connection with the plurality of VNC agents, and a plurality of connection links from the target VNC Mesh server to the target VNC server are established.
Specifically, the target VNC Mesh server obtains different video frame data in the display buffer of the VNC server from the multiple connection links, respectively, merges the obtained different video frame data to obtain video data corresponding to the display buffer of the VNC server, and sends the video data to the VNC client.
Specifically, a connection link, of which bandwidth, load, delay and/or packet loss rate information satisfy a second preset condition, is determined from the multiple connection links as a first connection link, and when the first connection link is disconnected, a second connection link, of which bandwidth, load, delay and/or packet loss rate information satisfy a third preset condition, is determined from remaining links of the multiple connection links; wherein the second predetermined condition is different from the third predetermined condition.
Example two:
fig. 3 is a schematic diagram of a network structure for VNC remote access according to an embodiment of the present invention, which illustrates a network composed of a VNC server, a VNC proxy, a VNC Mesh server, and a VNC client.
In this embodiment, a network structure for VNC remote access includes an internal network formed by a plurality of VNC servers and a plurality of VNC agents, a VNC Mesh network formed by a plurality of VNC Mesh servers, and a plurality of VNC clients. The VNC client side sends a VNC connection request to the VNC Mesh network to achieve remote access to the VNC server.
For example, the internal network of this embodiment includes 2 VNC servers and 3 VNC agents. The VNC servers are respectively a VNC server a and a VNC server B in fig. 3, and the VNC agents are respectively a router VNC Proxy a, a router VNC Proxy B, and a PC/VNC Proxy a in fig. 3. The VNC agent, as a software service, may be deployed in a device such as a router, a PC, and a VNC server, and establish a connection with the VNC server through a router connection, a PC connection, a TCP connection, or the like, and the VNC agent may also establish an indirect connection with the VNC server through another VNC agent in the internal network. One VNC agent can be connected to multiple VNC servers, and one VNC server can also be connected to multiple VNC agents. As in fig. 3, router VNC Proxy a is connected to VNC server a and VNC server B, router VNC Proxy B is connected to PC/VNC Proxy a, and PC/VNC Proxy a is connected to VNC server a and VNC server B. The router VNC Proxy B is indirectly connected to VNC server a and VNC server B through PC/VNC Proxy a.
For example, the VNC Mesh network of the present embodiment includes 4 VNC Mesh servers, which are the VNC Mesh server a, the VNC Mesh server B, the VNC Mesh server C, and the VNC Mesh server D in fig. 3 respectively. By building a plurality of VNC Mesh servers into a VNC Mesh network, interconnection and intercommunication among the VNC Mesh servers are realized, and indexes such as whether each VNC Mesh server in the VNC Mesh network is on-line, load size, bandwidth, delay and the like can be obtained, so that an optimal data transmission link can be selected among the VNC Mesh servers.
Illustratively, the VNC client of the present embodiment is the VNC client/browser in fig. 3. It should be noted that the VNC client refers to a software service that can implement remote access to the VNC, and also includes a device that can implement remote access to the VNC. The VNC clients include a noVNC client in addition to VNC client software that traditionally needs to be downloaded for installation. The NoVNC client is not a client in the traditional sense, is a HyperText Markup Language fifth edition (HTML 5) VNC client, runs in a web browser, and is realized by adopting a duplex communication channel WebSockets, a tag definition graph Canvas and an transliteration script Language JavaScript in the HTML5, and the NoVNC is generally used in control panels of various cloud computing and virtual machines.
The VNC agent in the internal network is connected to the VNC Mesh network by a TCP connection, and sends registration information to the VNC Mesh network, where the registration information includes information such as a network protocol IP address, a port, a bandwidth, and a geographical location of the VNC agent. As shown in fig. 3, the router VNC Proxy a and the router VNC Proxy B are connected to the VNC Mesh network by TCP connection, and submit information including the connected registration information to the VNC Mesh network.
And the VNC client sends a VNC connection request to the VNC Mesh network through HTTP, HTTPS, WebSocket or RFB protocol. After receiving the VNC connection request, the VNC Mesh network establishes connection with a VNC agent which is registered in the VNC Mesh network in advance, and after receiving response information sent by the VNC agent, establishes a link of a VNC client for remote access of a VNC server.
The VNC Mesh network construction process in this embodiment specifically includes:
the method comprises the steps of constructing a VNC Mesh network by using a plurality of VNC Mesh servers, initializing configuration information of the VNC Mesh servers, wherein the configuration information comprises line state information between the VNC Mesh servers and other VNC Mesh servers in the VNC Mesh network, and the line state information comprises information of operators, line bandwidth, server load, packet loss rate and the like.
When a new VNC Mesh server is accessed to a VNC Mesh network, the new VNC Mesh server establishes connection with one VNC Mesh server in the VNC Mesh network and obtains configuration information, the configuration information is used for measuring speed with other VNC Mesh servers in the VNC Mesh network, the obtained configuration information is updated according to the speed measurement result to generate current configuration information, meanwhile, the current configuration information is broadcasted to other VNC Mesh servers in the VNC Mesh network, and the VNC Mesh servers in the VNC Mesh network respond to the broadcast information to update the configuration information of the VNC Mesh server.
In this embodiment, a VNC agent, that is, a VNC Proxy, establishes a connection with a VNC server in a conventional VNC connection manner, when one VNC agent establishes a one-to-one connection with one VNC server, a port with a port number of 5001 may be used to establish the connection, and when one VNC agent establishes a one-to-many connection with a plurality of VNC servers or when a plurality of VNC agents establish a many-to-one connection with one VNC server, a plurality of port numbers are used to establish the connection.
In this embodiment, a process of registering a VNC Proxy, that is, a VNC Proxy, to a VNC Mesh network includes:
1) the VNC Proxy is connected to the VNC Mesh network by using a domain name or an IP, and establishes connection with one VNC Mesh server in the VNC Mesh network;
2) the VNC Proxy sends a pre-registration request to the VNC Mesh server, and the VNC Mesh server responds to the pre-registration request and returns to an available VNC Mesh server list in the VNC Mesh network;
3) the VNC Proxy screens the returned available VNC Mesh server list, and VNC Mesh servers which do not meet preset conditions such as large load or far lines are excluded;
4) the VNC Proxy performs a connection speed test according to the screened VNC Mesh server list to obtain a target VNC Mesh server with the connection speed and stability meeting preset conditions;
5) the VNC Proxy sends a registration request to a target VNC Mesh server, formal connection is established with a VNC Mesh network, the target VNC Mesh server responds to the registration request to generate registration information of the VNC Proxy, and meanwhile, the registration information is broadcasted to other VNC Mesh servers in the VNC Mesh network, wherein the registration information comprises information such as a network protocol IP address, a port, bandwidth and geographic position of the VNC Proxy.
Example three:
as shown in fig. 4, which is a schematic diagram of VNC link optimization according to an embodiment of the present invention, when a network where a VNC client and a VNC server are located is far away, such as across countries, across operators, across oceans, and the like, a load balancing network of a conventional VNC proxy server can only balance loads, but cannot match optimal links.
In a simple case of this embodiment, when both the VNC client and the VNC proxy are connected to the same VNC Mesh server at the same time, the network latency is minimal and the data communication of the VNC connection is the most stable. In a data relay situation of this embodiment, when a network where a VNC client and a VNC agent are located is relatively far away, such as across countries, operators, and oceans, an optimal VNC Mesh server where the VNC client and the VNC agent are respectively connected in a VNC Mesh network is not the same VNC Mesh server, and at this time, the VNC Mesh network will establish an optimal matching link for 2 VNC Mesh servers, which includes:
1) assuming that a VNC client (i.e., a VNC client/browser in fig. 4) is in a mobile network, the VNC client sends a connection request with a VNC proxy to a VNC Mesh network, and the VNC Mesh network matches a closest optimal VNC Mesh server when analyzing the connection request sent by the VNC client, which is shown as a VNC Mesh server D in a mobile computer room in fig. 4;
2) the VNC agent connects to the nearest best VNC Mesh server in a similar manner as described in 1), shown in fig. 4 as VNC Mesh server a located in a foreign machine room;
when a VNC client establishes a VNC connection with a VNC server B, the VNC Mesh servers in the VNC Mesh network are connected by a dedicated line to implement interconnection and interworking, and a delay and a bandwidth from each VNC Mesh server to a VNC Mesh server D can be determined. When the VNC Mesh server D is directly connected to the VNC Mesh server a, and the connection delay is large or the packet loss rate is high, data transfer can be performed through the VNC Mesh server C across the country, so that stability of data communication is ensured, and optimization of the VNC link is achieved.
Example four:
as shown in fig. 5, which is a schematic diagram of VNC link aggregation according to an embodiment of the present invention, the VNC Proxy introduced in this embodiment is used to implement link aggregation of multiple VNC proxies, and video data generated by a VNC server from a display buffer area is efficiently transmitted through multiple links. Wherein, the VNC Proxy is the VNC agent of the present invention.
1) When two VNC Proxy of the internal network, which are the router VNC Proxy a and the router VNC Proxy B in fig. 5, are both registered to the VNC Mesh network, all VNC Mesh servers in the VNC Mesh network can know that they have a multi-path reachable VNC server a or VNC server B at the same time;
2) when there is only one VNC Proxy in the internal network, such as the router VNC Proxy a in fig. 5, the VNC server B can only provide data to the outside through the router VNC Proxy a, and the link at this time is VNC client/browser- > VNC Mesh server C- > VNC Mesh server a- > router VNC Proxy a- > VNC server B;
3) when there are 2 or more VNC Proxy in the internal network, such as the router VNC Proxy a and the router VNC Proxy B in fig. 5, one or more links connected to the VNC server B may be established on the user side, and the multiple links generated at this time may include, in addition to the link of 2), a VNC client/browser- > VNC Mesh server C- > VNC Mesh server B- > router VNC Proxy B- > PC/VNC Proxy a- > VNC server B.
The VNC Mesh server C collects the display buffer of the VNC server B through different VNC Proxy, for example: the VNC Proxy A of the router collects odd frames, the VNC Proxy B of the router collects even frames, and if more links exist, VNC proxies of different links can continue to subdivide. For example, in this embodiment, an original video with a frame rate of 60 frames may now be respectively provided with 30 frames of video data by 2 VNC Proxy, and after these video data are transferred to the VNC Mesh server C through the VNC Mesh server a and the VNC Mesh server B, the original video is restored to an original video and is integrated into common RFB data or html5 data, and the original video is transmitted to the VNC client/browser. Thereby achieving a frame rate that a single network direct connection may not reach.
In addition, the stability of the VNC connection can be improved through link aggregation, when one of the VNC Proxy is overtime due to some reason, and when the VNC Mesh server C detects that the current VNC Proxy is already unavailable, the VNC Mesh server C automatically degenerates to the single link condition without interrupting the service, and can continue to provide the VNC service.
Example five:
fig. 5 is a schematic diagram of VNC link aggregation according to an embodiment of the present invention, where the VNC Proxy introduced in this embodiment is used to implement link aggregation of multiple VNC proxies, so as to implement redundant backup of a VNC connection link. Wherein, the VNC Proxy is the VNC agent of the present invention.
1) When two VNC Proxy of the internal network, which are the router VNC Proxy a and the router VNC Proxy B in fig. 5, are both registered to the VNC Mesh network, all VNC Mesh servers in the VNC Mesh network can know that they have a multi-path reachable VNC server a or VNC server B at the same time;
2) when there is only one VNC Proxy in the internal network, such as the router VNC Proxy a in fig. 5, the VNC server B can only provide data to the outside through the router VNC Proxy a, and the link at this time is VNC client/browser- > VNC Mesh server C- > VNC Mesh server a- > router VNC Proxy a- > VNC server B;
3) when there are 2 or more VNC Proxy in the internal network, such as the router VNC Proxy a and the router VNC Proxy B in fig. 5, one or more links connected to the VNC server B may be established on the user side, and the multiple links generated at this time may include, in addition to the link of 2), a VNC client/browser- > VNC Mesh server C- > VNC Mesh server B- > router VNC Proxy B- > PC/VNC Proxy a- > VNC server B.
When one of the VNC Proxy is over time due to some reason, the VNC Mesh server C automatically degenerates to the single link condition when detecting that the current VNC Proxy is already unavailable, and the service is not interrupted, and the VNC service can be continuously provided.
When a certain VNC Mesh server in the VNC Mesh network is abnormal, the VNC Mesh network may select a VNC Mesh server that normally operates from normal network nodes to connect. The following are exemplary:
1) a current user is connected to a VNC Mesh server A through a VNC client/browser, and is connected with a router VNC Proxy A through the VNC Mesh server A to establish connection with a VNC server B;
2) when the VNC Mesh server A is abnormal and VNC connection cannot be maintained, the VNC Mesh network detects the abnormality of the VNC Mesh server A and starts to try to backup and link to a VNC Mesh server B;
3) when the VNC Mesh server B works normally, the VNC Mesh network switches the VNC connection from the VNC Mesh server A to the VNC Mesh server B, and the VNC connection is guaranteed to be kept continuously.
Example six:
the present invention also provides a VNC remote access apparatus, as shown in fig. 6, the apparatus includes a processor 601, a memory 602, a bus 603, and a computer program stored in the memory 602 and executable on the processor 601, the processor 601 includes one or more processing cores, the memory 602 is connected to the processor 601 through the bus 603, the memory 602 is used for storing program instructions, and the steps in the above-described method embodiments of the present invention are implemented when the processor executes the computer program.
Further, as an executable solution, the VNC remote access device may be a desktop computer, a notebook, a palm computer, a cloud server, and other computing devices. The system/electronic device may include, but is not limited to, a processor, a memory. It will be understood by those skilled in the art that the above-described constituent structures of the system/electronic device are only examples of the system/electronic device, and do not constitute a limitation on the system/electronic device, and may include more or less components than those described above, or some components in combination, or different components. For example, the system/electronic device may further include an input/output device, a network access device, a bus, and the like, which is not limited in this embodiment of the present invention.
Further, as an executable solution, the Processor may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, a discrete hardware component, and the like. The general purpose processor may be a microprocessor or the processor may be any conventional processor or the like, the processor being the control center for the system/electronic device, various interfaces and lines connecting the various parts of the overall system/electronic device.
The memory may be used to store computer programs and/or modules that the processor implements by running or executing the computer programs and/or modules stored in the memory and invoking data stored in the memory, various functions of the system/electronic device. The memory can mainly comprise a program storage area and a data storage area, wherein the program storage area can store an operating system and an application program required by at least one function; the storage data area may store data created according to the use of the mobile phone, and the like. In addition, the memory may include high speed random access memory, and may also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), at least one magnetic disk storage device, a Flash memory device, or other volatile solid state storage device.
Example seven:
the present invention also provides a computer-readable storage medium, in which a computer program is stored, and the computer program, when executed by a processor, implements the steps of the above-mentioned method according to the embodiment of the present invention.
The system/electronic device integrated modules/units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the flow in the method according to the embodiments of the present invention may also be implemented by a computer program, which may be stored in a computer-readable storage medium and used for instructing relevant hardware, and when the computer program is executed by a processor, the steps of the above-described embodiments of the method may be implemented. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying computer program code, recording medium, U-disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), software distribution medium, and the like. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in the jurisdiction.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (10)

1. A VNC remote access method applied to a system including a VNC server, a VNC agent, a VNC Mesh server, and a VNC client, wherein a plurality of the VNC Mesh servers are constructed as a VNC Mesh network, a plurality of the VNC agents are registered to the VNC Mesh network, and a plurality of the VNC servers are connected to the plurality of VNC agents, the method comprising the steps of:
s1, a first VNC Mesh server matched with the position of the VNC client in the VNC Mesh network receives a VNC remote access connection request sent by the VNC client;
s2, the first VNC Mesh server determines a target VNC Mesh server for VNC remote access according to the current working state of each VNC Mesh server in the VNC Mesh network;
s3, the target VNC Mesh server responding to the connection request, establishing a connection with the VNC client, and determining, by the target VNC Mesh server, a target VNC server for VNC remote access from the VNC agent registered in the VNC Mesh network according to registration information generated when the VNC agent is registered in the VNC Mesh network, where the target VNC Mesh server is connected to the target VNC server through the VNC agent, and establishing a link for the VNC client to remotely access the target VNC server.
2. The method of claim 1, wherein the VNC Mesh network is constructed by:
initializing configuration information of each VNC Mesh server, wherein the configuration information comprises line state information between each VNC Mesh server in the VNC Mesh network, and the line state information comprises operator, bandwidth, load, delay and packet loss rate information;
when the VNC Mesh network is newly added to a VNC Mesh server, the newly added VNC Mesh server acquires the configuration information from the existing VNC Mesh server in the VNC Mesh network connection, tests the connection speed between the newly added VNC Mesh server and each existing VNC Mesh server, and updates the test connection speed result into the configuration information of the newly added VNC Mesh server;
and the newly-added VNC Mesh server broadcasts the updated configuration information to the VNC Mesh network, and each VNC Mesh server in the VNC Mesh network responds to the broadcast to update the configuration information of the VNC Mesh server.
3. The method of claim 1, wherein connecting a plurality of the VNC servers to a plurality of the VNC agents comprises: one said VNC agent establishing a connection with at least one said VNC server and one said VNC server establishing a connection with at least one said VNC agent; wherein the VNC agent establishes a connection with the VNC server via a remote frame buffer protocol; the VNC agent is deployed in: a router, a desktop computer, and/or a VNC server.
4. The method of claim 1, wherein registering the VNC agent with the VNC Mesh network comprises:
the VNC proxy sends a pre-registration request to the VNC Mesh server of the VNC Mesh network, and the VNC Mesh server returns VNC Mesh server list information allowing connection in response to the pre-registration request;
the VNC proxy determines a second VNC Mesh server of which the information of an operator, bandwidth, load, delay and/or packet loss rate meets a first preset condition according to the returned VNC Mesh server list information;
the VNC proxy sends a registration request to the second VNC Mesh server, the second VNC Mesh server generates registration information in response to the registration request, establishes a connection with the VNC proxy, the second VNC Mesh server broadcasts the registration information to the VNC Mesh network, the VNC Mesh server in the VNC Mesh network generates the registration information for the VNC proxy in response to the broadcast, the registration information including a network protocol IP address and bandwidth requirements of the VNC proxy.
5. The method according to claim 1, wherein the step S3 of connecting the target VNC Mesh server to the target VNC server through the VNC proxy comprises:
determining a third VNC Mesh server connected with the VNC proxy, and when the third VNC Mesh server is not the same server as the target VNC Mesh server, establishing a communication channel between the target VNC Mesh server and the third VNC Mesh server in the VNC Mesh network, and establishing connection with the VNC proxy through the communication channel.
6. The method according to claim 3, wherein the target VNC Mesh server is connected to the target VNC server through the VNC proxy in the step S3, and wherein establishing the link for the VNC client to remotely access the target VNC server comprises: when there are a plurality of the VNC agents connected to the target VNC server, the target VNC Mesh server establishes connections with the plurality of VNC agents, and establishes a plurality of connection links from the target VNC Mesh server to the target VNC server.
7. The method according to claim 6, wherein the target VNC Mesh server obtains different video frame data in a display buffer of the VNC server from the plurality of connection links, respectively, combines the obtained different video frame data to obtain video data corresponding to the display buffer of the VNC server, and sends the video data to the VNC client.
8. The method according to claim 6, wherein a connection link with bandwidth, load, delay and/or packet loss rate information meeting a second preset condition is determined from the plurality of connection links as a first connection link, and when the first connection link is disconnected, a second connection link with bandwidth, load, delay and/or packet loss rate information meeting a third preset condition is determined from the remaining links of the plurality of connection links; wherein the second preset condition is different from the third preset condition.
9. An apparatus for VNC remote access, comprising a memory and a processor, the memory storing at least one program, the at least one program being executable by the processor to implement a method for VNC remote access according to any one of claims 1 to 8.
10. A computer-readable storage medium, wherein at least one program is stored in the storage medium, and wherein the at least one program when executed performs the method of VNC remote access of any one of claims 1 to 8.
CN202210340991.2A 2022-04-02 2022-04-02 Method, device and storage medium for remote access of VNC Active CN114726850B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210340991.2A CN114726850B (en) 2022-04-02 2022-04-02 Method, device and storage medium for remote access of VNC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210340991.2A CN114726850B (en) 2022-04-02 2022-04-02 Method, device and storage medium for remote access of VNC

Publications (2)

Publication Number Publication Date
CN114726850A true CN114726850A (en) 2022-07-08
CN114726850B CN114726850B (en) 2024-01-05

Family

ID=82242276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210340991.2A Active CN114726850B (en) 2022-04-02 2022-04-02 Method, device and storage medium for remote access of VNC

Country Status (1)

Country Link
CN (1) CN114726850B (en)

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007140671A1 (en) * 2006-05-30 2007-12-13 Haisheng Ni A internet access server for isolating the internal network from the external network and a process method thereof
US20100312851A1 (en) * 2009-06-03 2010-12-09 Jackson Bruce K Systems and methods for creating virtual universal plug-and-play systems
US20100332605A1 (en) * 2009-06-26 2010-12-30 Digi International Inc. Mesh network bridge routing
CN102523207A (en) * 2011-12-06 2012-06-27 北京航空航天大学 VNC (Virtual Network Computer)-based remote resource access method and proxy device
CN103812913A (en) * 2012-11-14 2014-05-21 杭州华三通信技术有限公司 Remote access method and device based on VNC (virtual network computing)
CN104219330A (en) * 2014-09-29 2014-12-17 北京神州绿盟信息安全科技股份有限公司 Method and system for auditing screen record based on WEB proxy
US20150304384A1 (en) * 2012-10-25 2015-10-22 Samsung Electronics Co., Ltd. Apparatus and method for accessing web in network system
US20160087933A1 (en) * 2006-09-25 2016-03-24 Weaved, Inc. Techniques for the deployment and management of network connected devices
CN105933415A (en) * 2016-04-21 2016-09-07 国家计算机网络与信息安全管理中心 Virtual machine online screen record method in cloud computing environment based on VNC agent and virtual machine online screen record system thereof
US20170063972A1 (en) * 2015-08-28 2017-03-02 SoftNAS, LLC System and method for avoiding proxy connection latency
CN106921699A (en) * 2015-12-25 2017-07-04 北京奇虎科技有限公司 A kind of Network Access Method, device and system
CN107124450A (en) * 2017-04-18 2017-09-01 恒泰艾普(北京)云技术有限公司 A kind of remote desktop based on HTML5 accesses system and remote desktop access method
CN108075987A (en) * 2016-11-17 2018-05-25 华为技术有限公司 A multi-path data transmission method and device
US20190209921A1 (en) * 2017-01-24 2019-07-11 Tencent Technology (Shenzhen) Company Limited Game server switching method, apparatus, and system
CN110650089A (en) * 2019-10-24 2020-01-03 北京大学 Intermediate device supporting multi-path aggregation communication
CN111770140A (en) * 2020-06-09 2020-10-13 成都中云天下科技有限公司 Communication method, user equipment and proxy server cluster
CN111865710A (en) * 2020-06-18 2020-10-30 王晓 Remote equipment debugging system based on public network environment
US10938691B1 (en) * 2019-08-28 2021-03-02 Red Hat, Inc. Detection and cleanup of unused microservices
CN113163002A (en) * 2021-04-09 2021-07-23 深圳市腾讯网络信息技术有限公司 Server switching method and device and storage medium
CN114221955A (en) * 2020-09-03 2022-03-22 浙江宇视科技有限公司 Device cross-region access method and device, electronic device and storage medium

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007140671A1 (en) * 2006-05-30 2007-12-13 Haisheng Ni A internet access server for isolating the internal network from the external network and a process method thereof
US20160087933A1 (en) * 2006-09-25 2016-03-24 Weaved, Inc. Techniques for the deployment and management of network connected devices
US20100312851A1 (en) * 2009-06-03 2010-12-09 Jackson Bruce K Systems and methods for creating virtual universal plug-and-play systems
US20100332605A1 (en) * 2009-06-26 2010-12-30 Digi International Inc. Mesh network bridge routing
CN102523207A (en) * 2011-12-06 2012-06-27 北京航空航天大学 VNC (Virtual Network Computer)-based remote resource access method and proxy device
US20150304384A1 (en) * 2012-10-25 2015-10-22 Samsung Electronics Co., Ltd. Apparatus and method for accessing web in network system
CN103812913A (en) * 2012-11-14 2014-05-21 杭州华三通信技术有限公司 Remote access method and device based on VNC (virtual network computing)
US20150293773A1 (en) * 2012-11-14 2015-10-15 Hangzhou H3C Technologies Co., Ltd. Virtual machines
CN104219330A (en) * 2014-09-29 2014-12-17 北京神州绿盟信息安全科技股份有限公司 Method and system for auditing screen record based on WEB proxy
US20170063972A1 (en) * 2015-08-28 2017-03-02 SoftNAS, LLC System and method for avoiding proxy connection latency
CN106921699A (en) * 2015-12-25 2017-07-04 北京奇虎科技有限公司 A kind of Network Access Method, device and system
CN105933415A (en) * 2016-04-21 2016-09-07 国家计算机网络与信息安全管理中心 Virtual machine online screen record method in cloud computing environment based on VNC agent and virtual machine online screen record system thereof
CN108075987A (en) * 2016-11-17 2018-05-25 华为技术有限公司 A multi-path data transmission method and device
US20190209921A1 (en) * 2017-01-24 2019-07-11 Tencent Technology (Shenzhen) Company Limited Game server switching method, apparatus, and system
CN107124450A (en) * 2017-04-18 2017-09-01 恒泰艾普(北京)云技术有限公司 A kind of remote desktop based on HTML5 accesses system and remote desktop access method
US10938691B1 (en) * 2019-08-28 2021-03-02 Red Hat, Inc. Detection and cleanup of unused microservices
CN110650089A (en) * 2019-10-24 2020-01-03 北京大学 Intermediate device supporting multi-path aggregation communication
CN111770140A (en) * 2020-06-09 2020-10-13 成都中云天下科技有限公司 Communication method, user equipment and proxy server cluster
CN111865710A (en) * 2020-06-18 2020-10-30 王晓 Remote equipment debugging system based on public network environment
CN114221955A (en) * 2020-09-03 2022-03-22 浙江宇视科技有限公司 Device cross-region access method and device, electronic device and storage medium
CN113163002A (en) * 2021-04-09 2021-07-23 深圳市腾讯网络信息技术有限公司 Server switching method and device and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈敏;陈磊;兰小鹏;: "中心实验室检验仪器远程监控管理系统的构建", 医疗卫生装备, no. 12 *

Also Published As

Publication number Publication date
CN114726850B (en) 2024-01-05

Similar Documents

Publication Publication Date Title
CN108173976B (en) Domain name resolution method and device
US10749780B2 (en) Systems and methods for management of cloud exchanges
WO2020093500A1 (en) Intelligent scheduling method, terminal device, edge node cluster and intelligent scheduling system
WO2020253266A1 (en) Method for providing edge service, apparatus and device
US11553058B1 (en) Sticky sessions in a proxy infrastructure
DE112019005826T5 (en) Load-balanced access to distributed endpoints using global network addresses
US9762405B2 (en) Hierarchical publish/subscribe system
CN109729190A (en) Network access method, system, device, and computer-readable storage medium
CN109379450B (en) Network interface interaction management method and device, computer equipment and storage medium
US9569753B2 (en) Hierarchical publish/subscribe system performed by multiple central relays
CN101217508A (en) A network agent system and the corresponding realizing methods based on instant communication platform
TW202103475A (en) Method for terminal device management, server and terminal device
CN110392066A (en) A kind of method and apparatus of access service
CN115102854B (en) Remote procedure call route management control method, system and equipment for micro-service
CN115442287B (en) Weight-based private line gateway method and device
US20130226984A1 (en) Method and apparatus of providing optimized web browser communications
JP4683345B2 (en) Network load balancing apparatus, network load balancing method, and program
CN114726850B (en) Method, device and storage medium for remote access of VNC
US7738401B2 (en) System and method for overlaying a hierarchical network design on a full mesh network
DE102021109509A1 (en) SYSTEM AND PROCEDURE FOR RECONFIGURATION OF A NETWORK USING NETWORK TRAFFIC COMPARISONS
US20260005911A1 (en) System and method for multi-tier network repository function
US9331863B2 (en) Home network, method for sharing device information among home networks and home network system
CN116233085A (en) Multi-terminal streaming media transmission method, system and streaming media server cluster
EP3022658B1 (en) Failover handling in a content node of a content delivery network
CN110138675B (en) Data traffic forwarding method and device, network board and distributed equipment

Legal Events

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