[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN102523207A - 基于虚拟网络计算机的远程资源访问方法及代理设备 - Google Patents

基于虚拟网络计算机的远程资源访问方法及代理设备 Download PDF

Info

Publication number
CN102523207A
CN102523207A CN2011104016043A CN201110401604A CN102523207A CN 102523207 A CN102523207 A CN 102523207A CN 2011104016043 A CN2011104016043 A CN 2011104016043A CN 201110401604 A CN201110401604 A CN 201110401604A CN 102523207 A CN102523207 A CN 102523207A
Authority
CN
China
Prior art keywords
vnc
server
client
resource access
image information
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.)
Pending
Application number
CN2011104016043A
Other languages
English (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN2011104016043A priority Critical patent/CN102523207A/zh
Publication of CN102523207A publication Critical patent/CN102523207A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种基于虚拟网络计算机的远程资源访问方法及代理设备。其中,方法包括:代理设备接收认证服务器发送的携带VNC服务器的IP地址的映射请求消息,将代理设备的IP地址和一个未被使用的端口组合成代理IP地址,并与VNC服务器建立连接;代理设备与VNC客户端建立连接;代理设备接收VNC客户端发送的软件资源访问操作,将软件资源访问操作发送给VNC服务器,并接收VNC服务器根据资源访问操作返回的操作结果屏幕图像信息,并将操作结果屏幕图像信息发送给VNC客户端。本发明技术方案通过在VNC服务器和VNC客户端之间设置代理设备,使得VNC服务器不再暴露在网络上,提高了其安全性。

Description

基于虚拟网络计算机的远程资源访问方法及代理设备
技术领域
本发明涉及虚拟化技术,尤其涉及一种基于虚拟网络计算机的远程资源访问方法及代理设备。
背景技术
软件服务化(Software-as-a-Service;简称为:SaaS)是一种新兴的软件应用模式,它与虚拟化结合,通过虚拟化技术把软件作为服务,使得软件执行过程中涉及到的各层更加松耦合。
虚拟网络计算机(Virtual Network Computing;简称为:VNC)是一种使用远程帧缓冲(Remote Frame Buffer;简称为:RFB)协议实现屏幕画面分享及远程显示的系统。该VNC系统通过网络,可传送键盘、鼠标的动作及即时的屏幕画面。VNC系统包括两部分组件:VNC服务器(server)和VNC客户端。
现有VNC系统中,VNC客户端直接与VNC服务器进行通信,VNC服务器暴露在公网上,安全性无法保证。
发明内容
本发明提供一种基于虚拟网络计算机的远程资源访问方法及代理设备,用以解决VNC服务器暴露在公网上安全性无法保证的问题,提高VNC服务器的安全性。
本发明一方面提供一种基于虚拟网络计算机VNC的远程资源访问方法,包括:
代理设备接收认证服务器发送的携带VNC服务器的网际协议IP地址的映射请求消息,将所述代理设备的IP地址和一个未被使用的端口组合成代理IP地址,并将所述代理IP地址发送给所述认证服务器,以使所述认证服务器将所述代理IP地址发送给VNC客户端,同时,所述代理设备根据所述VNC服务器的IP地址与所述VNC服务器建立连接;
所述代理设备接收所述VNC客户端根据所述代理IP地址发送的连接建立请求,并与所述VNC客户端建立连接;
所述代理设备接收所述VNC客户端发送的资源访问操作,将所述软件资源访问操作发送给所述VNC服务器,并接收所述VNC服务器根据所述资源访问操作返回的操作结果屏幕图像信息,并将所述操作结果屏幕图像信息发送给所述VNC客户端。
本发明另一方面提供一种代理设备,包括:
映射模块,用于接收认证服务器发送的携带虚拟网络计算机VNC服务器的网际协议IP地址的映射请求消息,将所述代理设备的IP地址和一个未被使用的端口组合成代理IP地址,并将所述代理IP地址发送给所述认证服务器,以使所述认证服务器将所述代理IP地址发送给VNC客户端;
第一连接建立模块,用于根据所述VNC服务器的IP地址与所述VNC服务器建立连接;
第二连接建立模块,用于接收所述VNC客户端根据所述代理IP地址发送的连接建立请求,并与所述VNC客户端建立连接;
客户端监听模块,用于接收所述VNC客户端发送的资源访问操作,将所述资源访问操作发送给所述VNC服务器;
服务器监听模块,用于接收所述VNC服务器根据所述资源访问操作返回的操作结果屏幕图像信息,并将所述操作结果屏幕图像信息发送给所述VNC客户端。
本发明一方面提供的基于VNC的远程资源访问方法,由代理设备将代理设备的IP地址和其上一个未使用的端口进行组合形成代理IP地址并发送给VNC客户端,代理设备分别与VNC客户端和VNC服务器建立连接,作为VNC客户端与VNC服务器之间的代理,实现VNC客户端与VNC服务器之间的通信,由于VNC客户端与代理设备直接建立连接,而不再直接与VNC服务器建立连接,暴露在公网上的是代理设备的端口而不再是VNC服务器的端口,解决了VNC直接暴露在公网上导致的不安全问题,提高了VNC服务器的安全性。
本发明另一方面提供的代理设备,将代理设备本身的IP地址和其上一个未使用的端口进行组合形成代理IP地址并发送给VNC客户端,代理设备分别与VNC客户端和VNC服务器建立连接,作为VNC客户端与VNC服务器之间的代理,实现VNC客户端与VNC服务器之间的通信,由于VNC客户端与代理设备直接建立连接,而不再直接与VNC服务器建立连接,暴露在公网上的是代理设备的端口而不再是VNC服务器的端口,解决了VNC直接暴露在公网上导致的不安全问题,提高了VNC服务器的安全性。
附图说明
图1为本发明各实施例所基于的VNC系统结构示意图;
图2为本发明一实施例提供的基于VNC的远程资源访问方法的流程图;
图3为本发明另一实施例提供的基于VNC的远程资源访问方法的流程图;
图4为本发明一实施例提供的代理设备的结构示意图;
图5为本发明另一实施例提供的代理设备的结构示意图。
具体实施方式
图1为本发明各实施例所基于的VNC系统结构示意图。如图1所示,该VNC系统包括:VNC服务器11、VNC客户端12、认证服务器13和代理设备14。
其中,VNC服务器11与代理设备14连接,代理设备14还与VNC客户端12和认证服务器13连接,认证服务器13还与VNC客户端12连接。
本实施例的VNC系统是一种使用RFB协议实现屏幕画面分享及远程显示的系统,能够通过网络将VNC客户端12的键盘、鼠标的动作及即时的屏幕画面传送到VNC服务器11,将VNC服务器11的即时屏幕画面传送到VNC客户端12,从而使VNC客户端12实现对VNC服务器11上各种软件的访问。
其中,VNC服务器11和VNC客户端12之间使用RFB协议进行通信。RFB协议是一个远程图形用户的简单协议,是一种真正的“瘦客户机”协议,而且该协议是无状态的。也就是说,如果VNC客户端与VNC服务器断开连接后,VNC客户端的状态会被保存,当该VNC客户端又重新与该VNC服务器连接时,则可以基于之前保存的VNC客户端的状态进行操作。甚至,当不同的VNC客户端连接到该VNC服务器时,也可以基于之前保存的前一VNC客户端的状态对新的VNC客户端进行操作。
举例说明:本实施例的VNC系统中的VNC服务器11可以是采用现有VNC服务器,也可以采用对现有VNC服务器进行修改后的服务器,例如Meta的服务器,但并不限于此。VNC客户端12可以是采用Android操作系统的智能终端,但并不限于此。认证设备13可以是入口(Portal)服务器,但并不限于此。
下面将通过具体实施例说明基于VNC系统实现的基于VNC的远程资源访问方法的流程。
图2为本发明一实施例提供的基于VNC的远程资源访问方法的流程图。如图2所示,本实施例的方法包括:
步骤201、代理设备接收认证服务器发送的携带VNC服务器的IP地址的映射请求消息,将代理设备的IP地址和一个未被使用的端口组合成代理IP地址,并将代理IP地址发送给认证服务器,以使认证服务器将代理IP地址发送给VNC客户端,同时,代理设备根据VNC服务器的IP地址与VNC服务器建立连接。
在VNC系统中,认证服务器负责向VNC客户端分配VNC服务器的IP地址。在现有技术中,认证服务器为VNC客户端分配好VNC服务器的IP地址后,直接将所分配的VNC服务器的IP地址发送给VNC客户端,这样VNC客户端就会通过VNC服务器的IP地址与VNC服务器建立连接,这样也会使得VNC服务器的端口暴露在公网上。
在本实施例中,认证服务器为VNC分配好VNC服务器的IP地址后,向代理设备发送映射请求消息,并通过映射请求消息将VNC服务器的IP地址提供给代理设备。代理设备接收到映射请求消息后,从中解析出VNC服务器的IP地址,然后为VNC客户端分配一个代理设备上未被使用的端口,并将代理设备自己的IP地址和所分配的未被使用的端口进行组合,形成一个新的IP地址,即代理IP地址,接着将代理IP地址发送给认证设备。认证设备接收到代理IP地址后,将代理IP地址发送给VNC客户端。对VNC客户端来说,将会认证该代理IP地址即为VNC服务器的IP地址。
其中,代理设备将代理设备自己的IP地址和所分配的未被使用的端口进行组合形成代理IP地址的过程为:代理设备将自己的IP地址和所分配的未使用的端口进行绑定,形成代理设备的IP地址+端口的信息。换句话说,代理设备同时将自己的IP地址和所分配的未被使用的端口一起发送给认证服务器,并由认证服务器发送给VNC客户端。
同时,代理设备会根据解析出的VNC服务器的IP地址,向VNC服务器发送连接建立请求,从而与VNC服务器建立连接。
其中,代理设备与VNC服务器之间使用RFB协议进行通信。
步骤202、代理设备接收VNC客户端根据代理IP地址发送的连接建立请求,并与VNC客户端建立连接。
对于VNC客户端来说,当获取到代理IP地址后,就会以代理IP地址为目的IP地址,向代理设备发送连接建立请求。对于代理设备来说,会获取分配给VNC客户端的未被使用的端口,并在该端口上进行监听,监听VNC客户端是否接入这个端口。具体的,代理设备会监听该端口上是否由VNC客户端发送的连接建立请求,当在该端口上监听到VNC客户端发送的连接建立请求时,代理设备先对VNC客户端进行认证,以确保VNC客户端身份的合法性,进而保证VNC服务器的安全。当VNC客户端通过认证后,代理设备与VNC客户端建立连接。
其中,代理设备与VNC客户端之间也是使用RFB协议进行通信。故代理设备对VNC客户端进行认证的过程也就是RFB协议中的信息认证过程,该认证过程主要包括三步:第一步是交互握手报文,目的是对协议版本和加密方式进行协商。第二步是协商安全认证方式。第三步是进行安全认证。之后,代理设备与VNC客户端之间进行初始化,然后进行正常协议信息的交互。
步骤203、代理设备接收VNC客户端发送的资源访问操作,将资源访问操作发送给VNC服务器,并接收VNC服务器根据资源访问操作返回的操作结果屏幕图像信息,并将操作结果屏幕图像信息发送给VNC客户端。
当代理设备与VNC服务器和VNC客户端均建立起连接后,VNC客户端和VNC服务器就可以通过代理设备进行信息交互了,也就是说,VNC客户端就可以通过代理设备向VNC服务器进行软件等资源访问了。
基于此,VNC客户端向代理设备发送资源访问操作。其中,资源访问操作可以是VNC客户端的鼠标、键盘等发出的操作信息,例如双击鼠标打开某个程序的操作信息。资源访问操作是由一个个符合RFB协议的数据包组成。具体的,VNC客户端向代理设备发送的符合RFB协议格式的数据包。代理设备接收到VNC客户端发送的数据包后,按照RFB协议格式对数据包进行解析、分类和再打包处理,然后将处理后的数据包发送给VNC服务器。
其中,由于代理设备与VNC客户端之间RFB协议的版本可能不同,经过上述解析、分类和再打包处理,代理设备可以形成符合自己的RFB协议版本的数据包。
对VNC服务器来说,当接收到代理设备转发的经过处理后的资源访问操作后,会执行相应操作,例如打开其上某个程序或文件等,并会通过RFB协议将执行相应操作后的操作结果屏幕图像信息发送给代理设备。其中,操作结果屏幕图像信息是由一个个符合RFB协议的数据包组成。
对于代理设备来说,当接收到符合RFB协议的数据包后,按照RFB协议对数据包进行解析、分类和再打包处理,然后将经过处理的数据包发送给VNC客户端。同理,代理设备通过解析、分类和再打包处理等形成符合自己的RFB协议版本的数据包。至此,完成了VNC客户端对VNC服务器上软件的访问。
在本实施例中,代理设备接收VNC客户端发送的资源访问操作,并对资源访问操作进行处理后发送给VNC服务器,使VNC服务器进行相应操作并返回操作结果屏幕图像信息,代理设备将操作结果屏幕图像信息提供给VNC客户端,实现了VNC客户端与VNC服务器之间的交互与通信,实现了VNC客户端对VNC服务器上各种资源的访问,而VNC客户端不再直接与VNC服务器连接,而是通过代理设备与VNC服务器连接,解决了VNC服务器暴露在网络上时所面临的安全问题,提高了VNC服务器的安全。
在VNC系统的实际应用中,VNC客户端经常会在不稳定的网络环境中运行。在这种网络环境中,VNC客户端就会出现频繁的断线再重新连接的情况,在现有技术中VNC客户端每次重新连接都需要重新下载服务器屏幕的第一帧信息,这就占用了大量的网络带宽,给用户带来了不好的用户体验。针对该问题,本发明以下实施例提供一种解决方案,该解决方案基于上述实施例实现。具体如下:
在本实施例中,代理设备包括两路消息队列,分别为从服务器到客户端的消息队列和从客户端到服务器的消息队列。消息队列用于在代理设备转发消息时,对消息进行缓存。
基于上述消息队列,当代理设备接收到VNC客户端的多个资源访问操作时,可以先将资源访问操作放入客户端到服务器的消息队列中进行缓存,然后按照先后顺序依次处理多个资源访问操作。
相应地,当代理设备对VNC服务器的操作结果屏幕图像信息进行解析、分类和再打包处理,并将处理后的操作结果屏幕图像信息发送给VNC客户端时,代理设备还会将处理后的操作结果屏幕图像信息放入服务器到客户端的消息队列中进行缓存。
其中,消息队列的性能直接影响到整个代理设备的工作效率和性能。在本实施例中,不限制所使用的消息队列的具体实现,但优选采用先进先出的存储结构来实现。本实施例以使用先进先出结构的消息队列为例,则在消息队列尚有存储空间时,当有新的消息(包括资源访问操作和处理后的操作结果屏幕图像信息)时,将新的消息放入消息队列的队尾;当消息队列没有空闲存储空间时,从消息队列的队首开始依次将所存储的消息删除,并将后续消息向队首移动,直到有足够存放新的消息的空间为止。
其中,由于VNC客户端进行远程资源访问过程中,数据流量较大,消息队列短时间内会存储很多消息,从而使得消息队列过长或没有存储空间,为了有效控制消息队列的长度,并提高消息队列中存储空间的利用率,代理设备在将消息存放到消息队列之前,可以对相邻、且类型相同的消息进行合并,然后再将合并后的消息放入消息队列中。换句话说,当代理设备将接收到的多个资源访问操作放入客户端到服务器的消息队列中进行缓存之前,根据资源访问操作的类型,将相邻且类型相同的资源访问操作进行合并;然后将合并后的资源访问操作放入消息队列中。另外,代理设备除了通过对资源访问操作进行合并来提高客户端到服务器的消息队列的利用率之外,还可以将合并后的资源访问操作一起发送给VNC服务器,例如将两个鼠标点击操作放在一个数据包中发送给VNC服务器,从而提高代理设备的转发效率。同理,当代理设备将处理后的操作结果屏幕图像信息放入服务器到客户端的消息队列中进行缓存之前,也会根据操作结果屏幕图像信息的类型,将相邻且类型相同的处理后的操作结果屏幕图像信息进行合并;然后,将合并后的操作结果屏幕图像信息放入消息队列中。通过这种合并处理,可以有效控制消息对列的长度,优化消息队列的性能。另外,代理设备还可以将合并后的操作结果屏幕图像信息放在一个数据包中发送给VNC客户端,从而提高向VNC客户端转发操作结果屏幕图像信息的效率。
基于上述,当VNC客户端通过代理设备实现的与VNC服务器之间的连接断开时,VNC客户端会感知到连接断开,此时VNC客户端将当前正在显示的操作结果屏幕图像(即当前操作结果屏幕图像信息)进行保存,以便于在重新连接后根据代理设备返回的残差信息重新构建操作结果屏幕图像。VNC客户端在感知到连接断开并将当前操作结果屏幕图像保存后,重新通过代理设备与VNC服务器建立连接。此时,VNC客户端会重新向代理设备发送连接建立请求,代理设备会重新与VNC客户端建立连接。接着,VNC客户端在重新建立连接(即VNC客户端通过代理设备又重新连接到了断开之前所连接的VNC服务器)后会重新发送资源访问操作,而代理设备接收到VNC客户端重新发送的资源访问操作后,如果不能立即响应,可以将其放入客户端到服务器的消息队列中进行缓存,并在该资源访问操作得到处理时,代理设备对其进行解析、分类和再打包处理,并将处理后的VNC客户端重新发送的资源访问操作发送给VNC服务器。同时,代理设备将处理后的VNC客户端重新发送的软件资源访问操作存储到客户端到服务器的消息队列中。
对于VNC服务器来说,当收到代理设备转发的VNC客户端重新发送的资源访问操作后,同样会执行相应操作并将操作结果屏幕图像信息返回给代理设备。
当代理设备接收到VNC服务器根据VNC客户端重新发送的资源访问操作返回的操作结果屏幕图像信息后,会对操作结果屏幕图像信息进行解析、分类和再打包处理,并将处理后的操作结果屏幕图像信息和服务器到客户端的消息队列中缓存的处理后的操作结果屏幕图像信息的残差信息发送给VNC客户端。例如:当VNC客户端通过鼠标或键盘打开某个文件时,VNC服务器就会返回打开文件后的屏幕图像信息,此时代理设备会将接收到的屏幕图像信息和服务器到客户端的消息队列中缓存的上一次的屏幕图像信息进行求差,将两个屏幕图像信息的差值发送给VNC客户端。VNC客户端接收到代理设备发送的残差信息后,根据之前保存的操作结果屏幕图像信息和残差信息,得到VNC服务器返回的操作结果屏幕图像信息。例如:VNC客户端可以将之前保存的操作结果屏幕图像信息作为基准,并结合收到的残差信息来绘制桌面,从而得到VNC服务器返回的操作结果屏幕图像信息。这就降低了代理设备在VNC客户端断开又重新连接时发送的信息量,节约了带宽资源,有利于提高VNC客户端得到应答的及时性,提高了用户体验性。
其中,由于在本实施例中,代理设备与VNC客户端和VNC服务器之间使用RFB协议进行通信,而RFB协议是一种无状态协议,故VNC客户端断开连接后对VNC服务器没有影响,使得代理设备上服务器到客户端的消息队列中缓存的信息与VNC服务器的当前信息是相同的,这为本发明上述实施例的实现提供了条件。
进一步,由于消息队列的缓存能力是有限的,其对消息的缓存时间是有限的,当VNC客户端与VNC服务器断开连接的时间超过消息队列对消息的缓存时间时,代理设备在接收到VNC客户端重新发送的资源访问操作后,就无法根据服务器到客户端的消息队列中缓存的操作结果屏幕图像信息生成残差信息,此时只能将VNC客户端重新发送的资源访问操作作为新的资源访问操作进行处理。
以下实施例在上述技术方案的基础上,提供了一种基于VNC的远程资源访问方法的流程。
图3为本发明另一实施例提供的基于VNC的远程资源访问方法的流程图。如图3所示,本实施例的方法包括:
步骤300、代理设备接收VNC客户端发送的连接建立请求。
其中个,如果VNC客户端是在连接断开后又重新发起连接建立请求,则在发现连接断开之后,重新发起连接建立请求之前,VNC客户端会将当前的操作结果屏幕图像进行保存。
步骤301、代理设备对VNC客户端进行认证,判断VNC客户端的身份是否合法;当判断结果为是时,执行步骤302;当判断结果为否时,执行步骤310,即结束操作。
步骤302、代理设备接收VNC客户端发送的资源访问操作。
步骤303、代理设备对VNC客户端本次发送的资源访问操作进行解析、分类和再打包处理,形成处理后的资源访问操作。
步骤304、代理设备将本次处理后的资源访问操作发送给VNC服务器。
步骤305、VNC服务器根据本次处理后的资源访问操作执行相应操作,并向代理设备返回操作结果屏幕图像信息。
步骤306、代理设备接收VNC服务器本次返回的操作结果屏幕图像信息,对VNC服务器本次返回的操作结果屏幕图像信息进行解析、分类和再打包处理,形成处理后的VNC服务器本次返回的操作结果屏幕图像信息。
步骤307、代理设备判断VNC客户端本次发送资源访问操作时距离上一次连接断开时的时间间隔是否小于消息队列的缓存时间;当判断结果为是时,执行步骤308;当判断结果为否时,执行步骤309。
该步骤用以判断是否向VNC客户端返回残差信息,而不是全部操作结果屏幕图像信息。
步骤308、代理设备将处理后的操作结果屏幕图像信息和服务器到客户端的消息队列中缓存的处理后的VNC服务器上次返回的操作结果屏幕图像信息进行求差运算,生成VNC服务器本次返回的操作结果屏幕图像信息的残差信息;代理设备将VNC服务器本次返回的操作结果屏幕图像信息的残差信息发送给VNC客户端,同时将处理后的VNC服务器本次返回的操作结果屏幕图像信息放入服务器到客户端的消息队列中进行缓存,并转去执行步骤310。
在该步骤中,VNC客户端接收到残差信息后,以之前保存的操作结果屏幕图像为基准,并结合残差信息绘制桌面,从而得到VNC服务器本次返回的操作结果屏幕图像信息。
步骤309、代理设备将处理后的VNC服务器本次返回的操作结果屏幕图像信息发送给VNC客户端,同时将处理后的VNC服务器本次返回的操作结果屏幕图像信息放入服务器到客户端的消息队列中进行缓存,并转去执行步骤310。
在该步骤中,VNC客户端接收到代理设备转发的VNC服务器本次返回的操作结果屏幕图像信息后,直接根据接收到的操作结果屏幕图像信息绘制桌面,这与现有技术相类似,不再详述。
步骤310、结束操作。
本实施例的基于VNC的远程资源访问方法,代理设备作为VNC客户端和VNC服务器之间的代理,使得VNC服务器不再暴露在公网上,解决了VNC服务器所面临的安全问题。另外,代理设备通过设置消息队列,用于对VNC客户端和VNC服务器之间的消息进行缓存,并通过使用无状态的通信协议(例如RFB协议)实现VNC断开又在一定时间内重新发起连接时,使VNC服务器可以仅传输VNC客户端所请求的部分信息,而不用传输全部信息,提高了传输效率,节约了传输带宽,提高了用户的体验性,实现了断线快速重连机制。
图4为本发明一实施例提供的代理设备的结构示意图。如图4所示,本实施例的代理设备包括:映射模块41、第一连接建立模块42、第二连接建立模块43、客户端监听模块44和服务器监听模块45。
其中,映射模块41,与认证服务器连接,用于接收认证服务器发送的携带VNC服务器的IP地址的映射请求消息,将代理设备的IP地址和一个未被使用的端口组合成代理IP地址,并将代理IP地址发送给认证服务器,以使认证服务器将代理IP地址发送给VNC客户端。第一连接建立模块42,与映射模块41和VNC服务器连接,用于根据映射模块41接收到的VNC服务器的IP地址与VNC服务器建立连接。第二连接建立模块43,与VNC客户端连接,用于接收VNC客户端根据代理IP地址发送的连接建立请求,并与VNC客户端建立连接。客户端监听模块44,与VNC客户端和VNC服务器连接,用于接收VNC客户端发送的资源访问操作,将资源访问操作发送给VNC服务器。服务器监听模块45,与VNC服务器和VNC客户端连接,用于接收VNC服务器根据资源访问操作返回的操作结果屏幕图像信息,并将操作结果屏幕图像信息发送给VNC客户端。
本实施例的代理设备的各功能模块可用于执行图2所示基于VNC的远程资源访问方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的代理设备,通过与VNC服务器建立连接,并通过将代理设备的IP地址和端口形成代理IP地址发送给VNC客户端,从而代替VNC服务器与VNC客户端建立连接,既实现了VNC客户端与VNC服务器之间的交互和通信,又使得VNC客户端不再直接与VNC服务器连接,使得VNC服务器不再暴露在公网上,解决了因VNC服务器直接暴露在公网上所面临的安全的问题,提高了VNC服务器的安全性。
图5为本发明另一实施例提供的代理设备的结构示意图。本实施例基于图4所示实施例实现,如图5所示,本实施例的第二连接建立模块43包括:监听单元431、认证单元432和建立单元433。
具体的,监听单元431,用于获取未被使用的端口,在端口上进行监听。认证单元432,与监听单元431连接,用于在监听单元431在端口上监听到VNC客户端根据代理IP地址发送的连接建立请求时,对VNC客户端进行认证。建立单元433,与认证单元432和VNC客户端连接,用于在认证单元432的认证结果为通过时,与VNC客户端建立连接。
上述功能单元可用于执行上述方法实施例中代理设备对VNC客户端进行认证的流程,其具体工作原理不再赘述,详见方法实施例的描述。
进一步,本实施例的客户端监听模块44包括:第一接收处理单元441和处理发送单元442。
第一接收处理单元441,与VNC客户端和VNC服务器连接,用于接收VNC客户端发送的资源访问操作。处理发送单元442,与第一接收处理单元441和VNC服务器连接,用于对资源访问操作进行解析、分类和再打包处理,然后将处理后的资源访问操作发送给VNC服务器。
相应地,服务器监听模块45包括:第二接收处理单元451和第一缓存单元452。
其中,第二接收处理单元451,与VNC客户端和VNC服务器连接,用于接收VNC服务器根据处理后的资源访问操作返回的操作结果屏幕图像信息,对操作结果屏幕图像信息进行解析、分类和再打包处理,然后将处理后的操作结果屏幕图像信息发送给VNC客户端。第一缓存单元452,与第二接收处理单元451连接,用于将处理后的操作结果屏幕图像信息放入服务器到客户端的消息队列中进行缓存。
进一步,客户端监听模块44还包括:第二缓存单元443。
第二缓存单元443,与第一接收处理单元441连接,用于将将资源访问操作放入客户端到服务器的消息对列中进行缓存。
相应地,服务器监听模块45还包括:合并单元453。
合并单元453,与第二接收处理单元451和第一缓存单元452连接,用于在第一缓存单元452将处理后的操作结果屏幕图像信息放入服务器到客户端的消息队列中进行缓存之前,根据操作结果屏幕图像信息的类型,将相邻且类型相同的处理后的操作结果屏幕图像信息进行合并,并提供给第一缓存单元452。
由上述可见,本实施例的代理设备设置有消息队列,分别为服务器到客户端的消息队列和客户端到服务器的消息队列。
上述各功能单元可用于执行上述方法实施例中提供的对消息进行缓存和合并处理的流程,为VNC客户端在断开又重新连接的条件下请求访问VNC服务器上的软件提供条件。
基于上述,本实施例的第二连接建立模块43还用于接收VNC客户端在感知到断线并将当前操作结果屏幕图像信息保存后重新发起的连接建立请求,并与VNC客户端重新建立连接。
相应地,客户端监听模块44还用于接收VNC客户端在重新建立连接后重新发送的资源访问操作,对VNC客户端重新发送的资源访问操作进行解析、分类和再打包处理,并将处理后的VNC客户端重新发送的资源访问操作客户端发送给VNC服务器。
服务器监听模块45还用于接收VNC服务器根据处理后的VNC客户端重新发送的资源访问操作返回的操作结果屏幕图像信息,并对VNC服务器根据处理后的VNC客户端重新发送的资源访问操作返回的操作结果屏幕图像信息进行解析、分类和再打包处理,并将处理后的操作结果屏幕图像信息和服务器到客户端的消息队列中缓存的处理后的操作结果屏幕图像信息的残差发送给VNC客户端,同时将处理后的操作结果屏幕图像信客户端放入服务器到客户端的消息队列中进行缓存。
上述第二连接建立模块、客户端监听模块和服务器监听模块具体用于执行VNC客户端在断开又重新连接条件下访问VNC服务器上的软件的流程,实现断线快速重连机制,其具体工作原理详见上述方法实施例的描述,在此不再赘述。
本实施例的代理设备,通过设置消息队列对VNC服务器和VNC客户端之间的交互消息进行缓存,使VNC服务器在VNC客户端在断开又重新连接请求软件访问时,能够仅向VNC客户端传输与上次的操作结果屏幕图像信息的差值,而不是传输全部操作结果屏幕图像信息,提高了传输速率,实现了断线后的快速重连,并且节约了传输带宽,提高了用户的体验性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种基于虚拟网络计算机VNC的远程资源访问方法,其特征在于,包括:
代理设备接收认证服务器发送的携带VNC服务器的网际协议IP地址的映射请求消息,将所述代理设备的IP地址和一个未被使用的端口组合成代理IP地址,并将所述代理IP地址发送给所述认证服务器,以使所述认证服务器将所述代理IP地址发送给VNC客户端,同时,所述代理设备根据所述VNC服务器的IP地址与所述VNC服务器建立连接;
所述代理设备接收所述VNC客户端根据所述代理IP地址发送的连接建立请求,并与所述VNC客户端建立连接;
所述代理设备接收所述VNC客户端发送的资源访问操作,将所述资源访问操作发送给所述VNC服务器,并接收所述VNC服务器根据所述资源访问操作返回的操作结果屏幕图像信息,并将所述操作结果屏幕图像信息发送给所述VNC客户端。
2.根据权利要求1所述的基于VNC的远程资源访问方法,其特征在于,所述代理设备接收所述VNC客户端根据所述代理IP地址发送的连接建立请求,并与所述VNC客户端建立连接包括:
所述代理设备获取所述未被使用的端口,在所述端口上进行监听;
当在所述端口上监听到所述VNC客户端根据所述代理IP地址发送的连接建立请求时,所述代理设备对所述VNC客户端进行认证;
当认证通过时,所述代理设备与所述VNC客户端建立连接。
3.根据权利要求1所述的基于VNC的远程资源访问方法,其特征在于,所述代理设备接收所述VNC客户端发送的资源访问操作,将所述资源访问操作发送给所述VNC服务器,并接收所述VNC服务器根据所述资源访问操作返回的操作结果屏幕图像信息,并将所述操作结果屏幕图像信息发送给所述VNC客户端包括:
所述代理设备接收所述VNC客户端发送的资源访问操作,对所述资源访问操作进行解析、分类和再打包处理,然后将处理后的资源访问操作发送给所述VNC服务器;
所述代理设备接收所述VNC服务器根据处理后的资源访问操作返回的操作结果屏幕图像信息,对所述操作结果屏幕图像信息进行解析、分类和再打包处理,然后将处理后的操作结果屏幕图像信息发送给所述VNC客户端,并将处理后的操作结果屏幕图像信息放入服务器到客户端的消息队列中进行缓存。
4.根据权利要求3所述的基于VNC的远程资源访问方法,其特征在于,所述代理设备在接收到所述资源访问操作之后,对所述资源访问操作进行解析、分类和再打包处理之前包括:
所述代理设备将所述资源访问操作放入客户端到服务器的消息队列中进行缓存;
所述代理设备将处理后的操作结果屏幕图像信息放入服务器到客户端的消息队列中进行缓存之前包括:
所述代理设备根据操作结果屏幕图像信息的类型,将相邻且类型相同的处理后的操作结果屏幕图像信息进行合并。
5.根据权利要求3或4所述的基于VNC的远程资源访问方法,其特征在于,还包括:
所述代理设备接收所述VNC客户端在感知到断线并将当前操作结果图像信息保存后重新发起的连接建立请求,并与所述VNC客户端重新建立连接;
所述代理设备接收所述VNC客户端在重新建立连接后重新发送的资源访问操作,对所述VNC客户端重新发送的资源访问操作进行解析、分类和再打包处理,并将处理后的所述VNC客户端重新发送的资源访问操作发送给所述VNC服务器;
所述代理设备接收所述VNC服务器根据处理后的所述VNC客户端重新发送的资源访问操作返回的操作结果屏幕图像信息,并对所述VNC服务器根据处理后的所述VNC客户端重新发送的资源访问操作返回的操作结果屏幕图像信息进行解析、分类和再打包处理,并将处理后的操作结果屏幕图像信息和所述服务器到客户端的消息队列中缓存的处理后的操作结果屏幕图像信息的残差信息发送给所述VNC客户端,同时将处理后的操作结果屏幕图像信息放入所述服务器到客户端的消息队列中进行缓存。
6.一种代理设备,其特征在于,包括:
映射模块,用于接收认证服务器发送的携带虚拟网络计算机VNC服务器的网际协议IP地址的映射请求消息,将所述代理设备的IP地址和一个未被使用的端口组合成代理IP地址,并将所述代理IP地址发送给所述认证服务器,以使所述认证服务器将所述代理IP地址发送给VNC客户端;
第一连接建立模块,用于根据所述VNC服务器的IP地址与所述VNC服务器建立连接;
第二连接建立模块,用于接收所述VNC客户端根据所述代理IP地址发送的连接建立请求,并与所述VNC客户端建立连接;
客户端监听模块,用于接收所述VNC客户端发送的资源访问操作,将所述资源访问操作发送给所述VNC服务器;
服务器监听模块,用于接收所述VNC服务器根据所述资源访问操作返回的操作结果屏幕图像信息,并将所述操作结果屏幕图像信息发送给所述VNC客户端。
7.根据权利要求6所述的代理设备,其特征在于,所述第二连接建立模块包括:
监听单元,用于获取所述未被使用的端口,在所述端口上进行监听;
认证单元,用于在所述监听单元在所述端口上监听到所述VNC客户端根据所述代理IP地址发送的连接建立请求时,对所述VNC客户端进行认证;
建立单元,用于在所述认证单元的认证结果为通过时,与所述VNC客户端建立连接。
8.根据权利要求6所述的代理设备,其特征在于,所述客户端监听模块包括:
第一接收处理单元,用于接收所述VNC客户端发送的资源访问操作;
处理发送单元,用于对所述资源访问操作进行解析、分类和再打包处理,然后将处理后的资源访问操作发送给所述VNC服务器;
所述服务器监听模块包括:
第二接收处理单元,用于接收所述VNC服务器根据处理后的资源访问操作返回的操作结果屏幕图像信息,对所述操作结果屏幕图像信息进行解析、分类和再打包处理,然后将处理后的操作结果屏幕图像信息发送给所述VNC客户端;
第一缓存单元,用于将处理后的操作结果屏幕图像信息放入服务器到客户端的消息队列中进行缓存。
9.根据权利要求8所述的代理设备,其特征在于,所述客户端监听模块还包括:
第二缓存单元,用于将将所述资源访问操作放入客户端到服务器的消息对列中进行缓存;
所述服务器监听模块还包括:
合并单元,用于在所述第一缓存单元将处理后的操作结果屏幕图像信息放入服务器到客户端的消息队列中进行缓存之前,根据操作结果屏幕图像信息的类型,将相邻且类型相同的处理后的操作结果屏幕图像信息进行合并。
10.根据权利要求8或9所述的代理设备,其特征在于,所述第二连接建立模块还用于接收所述VNC客户端在感知到断线并将当前操作结果屏幕图像信息保存后重新发起的连接建立请求,并与所述VNC客户端重新建立连接;
所述客户端监听模块还用于接收所述VNC客户端在重新建立连接后重新发送的资源访问操作,对所述VNC客户端重新发送的资源访问操作进行解析、分类和再打包处理,并将处理后的所述VNC客户端重新发送的资源访问操作客户端发送给所述VNC服务器;
所述服务器监听模块还用于接收所述VNC服务器根据处理后的所述VNC客户端重新发送的资源访问操作返回的操作结果屏幕图像信息,并对所述VNC服务器根据处理后的所述VNC客户端重新发送的资源访问操作返回的操作结果屏幕图像信息进行解析、分类和再打包处理,并将处理后的操作结果屏幕图像信息和所述服务器到客户端的消息队列中缓存的处理后的操作结果屏幕图像信息的残差发送给所述VNC客户端,同时将处理后的操作结果屏幕图像信息放入所述服务器到客户端的消息队列中进行缓存。
CN2011104016043A 2011-12-06 2011-12-06 基于虚拟网络计算机的远程资源访问方法及代理设备 Pending CN102523207A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104016043A CN102523207A (zh) 2011-12-06 2011-12-06 基于虚拟网络计算机的远程资源访问方法及代理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104016043A CN102523207A (zh) 2011-12-06 2011-12-06 基于虚拟网络计算机的远程资源访问方法及代理设备

Publications (1)

Publication Number Publication Date
CN102523207A true CN102523207A (zh) 2012-06-27

Family

ID=46293999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104016043A Pending CN102523207A (zh) 2011-12-06 2011-12-06 基于虚拟网络计算机的远程资源访问方法及代理设备

Country Status (1)

Country Link
CN (1) CN102523207A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103368956A (zh) * 2013-07-03 2013-10-23 北京华胜天成科技股份有限公司 一种服务端使用vnc的rfb协议安全通信方法及rfb代理服务器
CN103618784A (zh) * 2013-11-25 2014-03-05 广东威创视讯科技股份有限公司 Vnc多路交互方法
CN103618737A (zh) * 2013-12-10 2014-03-05 浪潮电子信息产业股份有限公司 一种云计算环境下的虚拟机vnc控制台优化方案
CN103677840A (zh) * 2013-12-18 2014-03-26 浪潮电子信息产业股份有限公司 一种在作业调度软件中查看及操作应用图形界面的方法
CN103812913A (zh) * 2012-11-14 2014-05-21 杭州华三通信技术有限公司 一种基于虚拟网络计算的远程访问方法和装置
CN105005716A (zh) * 2015-06-16 2015-10-28 中国科学院计算技术研究所 一种应用程序远程交付系统及远程交付方法
WO2016041453A1 (zh) * 2014-09-16 2016-03-24 华为技术有限公司 远程资源访问方法和交换设备
CN105446750A (zh) * 2014-05-30 2016-03-30 阿里巴巴集团控股有限公司 WebApp启动运行、生成镜像文件的方法和装置
CN106570352A (zh) * 2015-10-12 2017-04-19 中国石油化工股份有限公司 远程免密码使用软件资源的方法和装置
CN106685785A (zh) * 2016-12-27 2017-05-17 北京航空航天大学 一种基于IPsec VPN代理的Intranet接入系统
WO2018010146A1 (zh) * 2016-07-14 2018-01-18 华为技术有限公司 一种虚拟网络计算认证中应答的方法、装置、系统和代理服务器
CN110196769A (zh) * 2018-04-19 2019-09-03 财付通支付科技有限公司 一种信息处理方法、装置、服务器及存储介质
CN110708395A (zh) * 2019-10-24 2020-01-17 深圳前海环融联易信息科技服务有限公司 数据获取方法、装置、计算机设备及存储介质
CN111741091A (zh) * 2020-06-11 2020-10-02 无锡华云数据技术服务有限公司 一种隐藏noVNC服务器IP及端口号的方法、装置及电子设备
CN112689000A (zh) * 2020-12-18 2021-04-20 江苏云柜网络技术有限公司 一种基于vnc工具的远程桌面控制系统及方法
CN113176969A (zh) * 2021-04-23 2021-07-27 杭州迪普科技股份有限公司 服务提供方法、装置、设备及计算机可读存储介质
CN114726850A (zh) * 2022-04-02 2022-07-08 福达新创通讯科技(厦门)有限公司 一种vnc远程访问的方法、装置及存储介质
CN117850723A (zh) * 2023-12-29 2024-04-09 慧之安信息技术股份有限公司 一种基于远程控制桌面的分屏管理方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350833A (zh) * 2007-07-16 2009-01-21 国际商业机器公司 在代理服务器环境中管理远程主机可见性的方法和系统
CN101911052A (zh) * 2008-01-02 2010-12-08 三星电子株式会社 用于下载数据的方法和设备
CN101964798A (zh) * 2010-10-15 2011-02-02 德讯科技股份有限公司 基于远程桌面协议的多图形协议统一代理系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350833A (zh) * 2007-07-16 2009-01-21 国际商业机器公司 在代理服务器环境中管理远程主机可见性的方法和系统
CN101911052A (zh) * 2008-01-02 2010-12-08 三星电子株式会社 用于下载数据的方法和设备
CN101964798A (zh) * 2010-10-15 2011-02-02 德讯科技股份有限公司 基于远程桌面协议的多图形协议统一代理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谭造保: ""远程桌面访问的单点登录及其行为审计系统的设计与实现"", 《中国优秀硕士学位论文全文数据库》 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103812913B (zh) * 2012-11-14 2017-11-10 新华三技术有限公司 一种基于虚拟网络计算的远程访问方法和装置
CN103812913A (zh) * 2012-11-14 2014-05-21 杭州华三通信技术有限公司 一种基于虚拟网络计算的远程访问方法和装置
CN103368956A (zh) * 2013-07-03 2013-10-23 北京华胜天成科技股份有限公司 一种服务端使用vnc的rfb协议安全通信方法及rfb代理服务器
CN103618784A (zh) * 2013-11-25 2014-03-05 广东威创视讯科技股份有限公司 Vnc多路交互方法
CN103618784B (zh) * 2013-11-25 2017-02-15 广东威创视讯科技股份有限公司 Vnc多路交互方法
CN103618737A (zh) * 2013-12-10 2014-03-05 浪潮电子信息产业股份有限公司 一种云计算环境下的虚拟机vnc控制台优化方案
CN103677840A (zh) * 2013-12-18 2014-03-26 浪潮电子信息产业股份有限公司 一种在作业调度软件中查看及操作应用图形界面的方法
CN105446750B (zh) * 2014-05-30 2019-12-03 阿里巴巴集团控股有限公司 WebApp启动运行、生成镜像文件的方法和装置
CN105446750A (zh) * 2014-05-30 2016-03-30 阿里巴巴集团控股有限公司 WebApp启动运行、生成镜像文件的方法和装置
WO2016041453A1 (zh) * 2014-09-16 2016-03-24 华为技术有限公司 远程资源访问方法和交换设备
US10216664B2 (en) 2014-09-16 2019-02-26 Huawei Technologies Co., Ltd. Remote resource access method and switching device
CN105005716B (zh) * 2015-06-16 2018-01-09 中国科学院计算技术研究所 一种应用程序远程交付系统及远程交付方法
CN105005716A (zh) * 2015-06-16 2015-10-28 中国科学院计算技术研究所 一种应用程序远程交付系统及远程交付方法
CN106570352A (zh) * 2015-10-12 2017-04-19 中国石油化工股份有限公司 远程免密码使用软件资源的方法和装置
WO2018010146A1 (zh) * 2016-07-14 2018-01-18 华为技术有限公司 一种虚拟网络计算认证中应答的方法、装置、系统和代理服务器
US11140162B2 (en) 2016-07-14 2021-10-05 Huawei Technologies Co., Ltd. Response method and system in virtual network computing authentication, and proxy server
CN106685785B (zh) * 2016-12-27 2020-06-05 北京航空航天大学 一种基于IPsec VPN代理的Intranet接入系统
CN106685785A (zh) * 2016-12-27 2017-05-17 北京航空航天大学 一种基于IPsec VPN代理的Intranet接入系统
CN110196769A (zh) * 2018-04-19 2019-09-03 财付通支付科技有限公司 一种信息处理方法、装置、服务器及存储介质
CN110708395A (zh) * 2019-10-24 2020-01-17 深圳前海环融联易信息科技服务有限公司 数据获取方法、装置、计算机设备及存储介质
CN111741091A (zh) * 2020-06-11 2020-10-02 无锡华云数据技术服务有限公司 一种隐藏noVNC服务器IP及端口号的方法、装置及电子设备
CN112689000A (zh) * 2020-12-18 2021-04-20 江苏云柜网络技术有限公司 一种基于vnc工具的远程桌面控制系统及方法
CN113176969A (zh) * 2021-04-23 2021-07-27 杭州迪普科技股份有限公司 服务提供方法、装置、设备及计算机可读存储介质
CN114726850A (zh) * 2022-04-02 2022-07-08 福达新创通讯科技(厦门)有限公司 一种vnc远程访问的方法、装置及存储介质
CN114726850B (zh) * 2022-04-02 2024-01-05 福达新创通讯科技(厦门)有限公司 一种vnc远程访问的方法、装置及存储介质
CN117850723A (zh) * 2023-12-29 2024-04-09 慧之安信息技术股份有限公司 一种基于远程控制桌面的分屏管理方法和系统

Similar Documents

Publication Publication Date Title
CN102523207A (zh) 基于虚拟网络计算机的远程资源访问方法及代理设备
WO2023077952A1 (zh) 数据处理方法、系统、相关设备、存储介质及产品
CN105159753B (zh) 加速器虚拟化的方法、装置及集中资源管理器
CN107613020B (zh) 一种设备管理方法及装置
CN104753817B (zh) 一种云计算消息队列服务本地模拟方法和系统
WO2017020722A1 (zh) 基于虚拟机的数据传输方法、装置及系统
CN113940044A (zh) 用于经由中间装置管理分组流的系统和方法
WO2016177079A1 (zh) 云桌面资源的处理方法及装置
CN102638582B (zh) 数据通信方法及通信端
CN107483390A (zh) 一种云渲染网络部署子系统、系统及云渲染平台
WO2016202102A1 (zh) 消息传输方法及装置
CN102845123A (zh) 虚拟私云的连接方法及隧道代理服务器
US10587713B2 (en) Proxy for sharing remote desktop sessions
CN105190530B (zh) 传输硬件渲染的图形数据
CN112698838B (zh) 多云容器部署系统及其容器部署方法
CN106850770A (zh) 基于云计算服务的高效传输方法和装置
CN110430478B (zh) 组网通信方法、装置、终端设备及存储介质
CN105188087A (zh) 一种基于短信网关的业务通信方法和系统
CN103179102B (zh) 一种桌面虚拟化方法、设备及系统
CN109308288A (zh) 数据处理方法及装置
CN109302496A (zh) 一种新型实时信息流交互方法
CN103856387B (zh) 基于即时消息客户端的文件转发方法及系统
CN103051679B (zh) 数据传输方法及接口设备、云优化控制设备
CN106817426A (zh) 一种提示方法、数据传输方法及设备
CN114691364A (zh) 一种未来社区数字孪生引擎弹性部署系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120627