CN103812913B - 一种基于虚拟网络计算的远程访问方法和装置 - Google Patents
一种基于虚拟网络计算的远程访问方法和装置 Download PDFInfo
- Publication number
- CN103812913B CN103812913B CN201210458838.6A CN201210458838A CN103812913B CN 103812913 B CN103812913 B CN 103812913B CN 201210458838 A CN201210458838 A CN 201210458838A CN 103812913 B CN103812913 B CN 103812913B
- Authority
- CN
- China
- Prior art keywords
- vnc
- location information
- virtual machine
- management platform
- current location
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种基于VNC的远程访问的方法,该方法包括:在VNC代理感知到与VM的连接断开时,从虚拟机管理平台获取该VM当前的位置信息,使用获取的位置信息与该VM建立连接,使所述VNC客户端能够通过虚拟桌面继续远程访问该VM。基于同样的发明构思,本申请还公开了一种装置,能够实现VNC客户端侧虚拟桌面的不间断访问。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种基于虚拟网络计算的远程访问方法和装置。
背景技术
随着硬件速度的不断提高,服务器性能大大提升,数据中心中的部分服务器的使用率有所下降,为了提高服务器硬件利用率,降低数据中心的运维成本,近年来,虚拟化技术得到了很大的发展。
通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,我们可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。从用户的角度看,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作。
虚拟网络计算(Virtual Network Computing,VNC),是一款优秀的远程控制工具软件。虚拟机迁移是指把源物理主机上的虚拟机迁移到目的物理主机,并且能够在目的物理主机上正常运行,通过虚拟机迁移,可以简化系统的维护与管理,实现系统的负载均衡,增强系统的容错能力,优化系统电源管理,节约能源。目前,虚拟机迁移可以实现其上运行的业务不间断。
VNC代理在VNC客户端和VNC服务端之间转发消息。VNC代理在VNC客户端和VNC服务端之间起到屏蔽作用,避免了客户端和服务器端的直接接触,提高安全性。由于所有消息通过代理进行转发,可以在代理上对消息进行审计,增加必要的密钥、密码或加密等措施,提高安全性。
在VNC客户端通过虚拟桌面连接的VM迁移后,之前虚拟桌面的连接会断开,VM的当前位置信息,即该VM当前在哪个VNC服务器上、以及在该新的VNC服务器上的vnc-server端口号是多少,VNC代理并不知道,因此,老的连接必将由于无数据超时而关闭,VNC客户端通过vnc-viewer必须重新建立到迁移后的host主机上的该VM的连接,才可以通过虚拟桌面再次访问该VM。
发明内容
有鉴于此,本申请提供一种基于VNC的远程访问方法和装置,能够实现虚拟桌面的不间断访问。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种基于虚拟网络计算VNC的远程访问方法,该方法应用于包含VNC客户端、VNC服务器、VNC代理和虚拟机管理平台的系统中,其中,所述VNC服务器上创建了多个VM,所述方法包括:
该VNC代理通过与所述VNC服务器上的VM以及所述VNC客户端分别建立连接,使所述VNC客户端能够远程访问所述VM;
该VNC代理当感知到与所述VNC服务器上的所述VM的连接断开时,从所述虚拟机管理平台获取该VM的当前位置信息,若获取该VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM;否则,断开与所述VNC客户端的连接。
一种装置,可应用于包含VNC客户端、VNC服务器、VNC代理和虚拟机管理平台的系统中的VNC代理上,其中,所述VNC服务器上创建了多个VM,该装置包括:建立连接单元、感知单元、获取单元和处理单元;
所述建立连接单元,用于通过与所述VNC服务器上的VM以及所述VNC客户端分别建立连接,使所述VNC客户端能够远程访问所述VM;若所述获取单元从所述虚拟机管理平台获取该VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM;
所述感知单元,用于感知本设备与所述VM的连接是否断开;
所述获取单元,用于当所述感知单元感知到本设备与所述VM的连接断开时,从所述虚拟机管理平台获取该VM当前的位置信息;
所述处理单元,用于若所述获取单元未从所述虚拟机管理平台获取该VM当前的位置信息,断开与所述VNC客户端的连接。
综上所述,本申请通过在VNC代理感知到与VM的连接断开时,从虚拟机管理平台获取该VM当前的位置信息,使用获取的位置信息与该VM建立连接,使所述VNC客户端能够通过虚拟桌面继续远程访问该VM,能够实现VNC客户端侧虚拟桌面的不间断访问。
附图说明
图1为本发明实施例中基于VNC的远程访问方法流程图;
图2为本发明具体实施例中VNC代理获取VM的位置信息的流程示意图
图3为本发明具体实施例中虚拟机迁移时远程访问不间断的VNC代理系统的结构示意图;
图4为本发明具体实施例中基于上述技术的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种基于VNC的远程访问方法,该方法应用于包含VNC客户端、VNC服务器、VNC代理和虚拟机管理平台的系统中,其中,所述VNC服务器上创建了多个VM,能够实现VNC客户端侧虚拟桌面的不间断访问。
参见图1,图1为本发明实施例中基于VNC的远程访问方法流程图。具体步骤为:
步骤101,VNC代理通过与所述VNC服务器上的VM以及所述VNC客户端分别建立连接,使所述VNC客户端能够远程访问所述VM。
VNC代理与虚拟机管理平台交互,当接收到虚拟机管理平台发送的虚拟机所在VNC服务器的IP地址和端口、密码等信息时,确定某一VNC客户端需要远程访问该VM时,VNC代理根据虚拟机管理平台指定的服务器的IP地址以及目的VM在VNC服务器上的端口信息向VNC服务器发起连接建立到该VM的连接,并在本地启动监听,将监听的端口和密码等信息返回给虚拟机管理平台,该虚拟机管理平台使VNC客户端通过所述监听的端口和连接密码向该VNC代理建立连接,当该VNC客户端认证通过时,建立了与VNC代理与VNC客户端的连接,这样整个连接的虚拟桌面即建立成功,VNC客户端能够远程访问所述VM。虚拟机VM的桌面将在VNC客户端侧显示,用户可以方便使用VM,如同使用本地某台物理主机的显示终端一样。
步骤102,该VNC代理当感知到与所述VNC服务器上的所述VM的连接断开时,从所述虚拟机管理平台获取该VM的当前位置信息,若获取该VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM;否则,断开与所述VNC客户端的连接。
当所述VM迁移或关机时,该VNC代理都会感知到与所述VNC服务器上的所述VM的连接断开。当所述VM迁移时,所述VNC代理获取该VM当前的位置信息,即虚拟机管理平台会获知该VM当前的位置信息,VNC代理会从虚拟机管理平台获取该VM当前的位置信息当所述VM关机时;当该VM关机时,所述VNC代理不能获取该VM当前的位置信息,即虚拟机管理平台会获知该VM当前的状态为关机状态,虚拟机管理平台获知该VM关机,该VM位置信息并未变化,则VNC代理不会从虚拟机管理平台获知该VM当前位置信息,这时会断开与VNC客户端的连接,因此本发明实施例中,在VM迁移时,VNC客户端能够不间断的远程访问VNC服务器上的VM,在VM关机时断开与VNC客户端的连接,使VNC客户端及时获知VM的工作状态。
步骤102中,当所述VNC代理感知到与所述VNC服务器上的所述VM的连接断开时,若接收到所述VNC客户端发送给所述VM的数据时,将接收到的数据缓存;当使用获得的位置信息与所述VM建立连接时,若确定本地缓存了所述VNC客户端发送给所述VM的数据时,将所述缓存的数据顺序发送给所述VM。
这样当VNC代理及时与该VM连接上时,不会发生数据丢失现象。当然在具体实现时,还可以设置一个缓存区的上限,当数据缓存达到该上限时,将后续接收到的数据丢弃,这样是为了在VNC代理能够承受的存储能力下进行基本的保护。当使用获得的位置信息与所述VM建立连接时,优先将所述缓存的数据顺序发送给所述VM,这样更好的实现了远程访问的不间断。
在VNC代理感知到与所述VM的连接断开时,由于该VM迁移或关机的原因,是否能够获得该VM当前的位置信息时,有两种方式,具体如下:
第一种为被动获取的方式,具体为:
当VNC代理感知到与所述VNC服务器上的所述VM的连接断开时,若该VNC代理在第一预设时间内接收到所述虚拟机管理平台获取并发送的携带该VM的当前位置信息的消息时,获取所述VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM;
若在第一预设时间内接收到所述虚拟机管理平台发送的该VM关机的消息,或在第一预设时间内未接收到所述虚拟机管理平台获取并发送的携带该VM的当前位置信息的消息时,断开与所述客户端的连接。
由上可见,在被动获取方式中,VNC代理感知到与所述VNC服务器上的所述VM的连接断开时,等待虚拟机管理平台发送该VM的位置信息,或状态信息即该VM关闭状态,第一预设时间内接收到虚拟机管理平台发送的消息时,根据接收消息处理,如果超出第一预设时间还未接收到任何消息,这样可以直接与所述VNC客户端断开,做错误处理,如记录日志等。具体实现为,在VNC代理上启动HTTP服务,对虚拟机管理平台提供ReSTful接口,虚拟机管理平台将VM当前的位置信息通过HTTP消息推给VNC代理。
第二种为主动获取方式,具体为:
当VNC代理感知到与所述VNC服务器上的所述VM的连接断开时,该VNC代理向所述虚拟机管理平台发送查询所述VM当前位置信息的请求。
该VNC代理在第二预设时间内接收所述虚拟机管理平台的发送的携带所述VM当前的位置信息的应答消息时,获取所述VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM。
该VNC代理在第二预设时间内接收到所述虚拟机管理平台发送的该VM关机的消息时,断开与所述客户端的连接。
该VNC代理在第二预设时间内既未接收到所述虚拟机管理平台发送的携带所述VM当前的位置信息的应答消息,也未接收到该VM关机的消息时,再次向所述虚拟机管理平台发送查询所述VM当前位置信息的请求,直到达到预设次数还未接收到所述虚拟机管理平台发送的携带所述VM当前的位置信息的应答消息,或该VM关机的消息时,记录错误日志,并断开与所述VNC客户端的连接。具体实现为,在虚拟机管理平台上启动虚拟机位置信息查询服务,对VNC代理提供ReSTful接口。
参见图2,图2为本发明具体实施例中VNC代理获取VM的位置信息的流程示意图。具体步骤为:
步骤201,VNC代理向所述虚拟机管理平台发送查询所述VM当前位置信息的请求。
步骤202,VNC代理在第二预设时间内是否接收到虚拟机管理平台发送的信息,如果是,执行步骤203;否则,执行步骤206。
步骤203,VNC代理确定接收到的信息,是否携带该VM当前的位置信息,如果是,执行步骤204;否则,执行步骤205。
步骤204,VNC代理获取所述VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM,结束本流程。
步骤205,VNC代理断开与所述VNC客户端的连接,结束本流程。
步骤206,VNC代理确定发送请求次数是否达到预设次数,如果是,执行步骤207;否则,执行步骤201。
步骤207,VNC代理记录错误日志,并断开与所述VNC客户端的连接。
下面结合附图,以同客户端建立和VNC服务器上的VM分别建立连接后,VM迁移为例,详细描述VNC代理如何实现远程访问的。
参见图3,图3为本发明具体实施例中虚拟机迁移时远程访问不间断的VNC代理系统的结构示意图。
图3中,各客户端、各服务器和VNC代理上都部署了VNC。
以客户端1需要远程访问服务器1上的VM1连接为例。
通过VNC客户端在IE等浏览器上登录虚拟机管理平台,执行登录“远程桌面”命令,虚拟机管理平台同VNC代理交互,将VM1所在的服务器1的IP,在vnc-server1上的端口port和密码password等信息告知VNC代理,在创建虚拟机时,通过qemu-kvm指定该创建的虚拟机在vnc-server1上的端口。
VNC代理向指定的IP上的vnc-server1的指定端口port,使用密码password建立到虚拟机VM的桌面的连接。
VNC代理启动vnc-viewer1侧的监听,并将监听端口listen_port和连接密码password返回给虚拟机管理平台。
虚拟机管理平台在用户侧的浏览器上通过java Web Star启动VNC客户端1上的vnc-viewer1。
VNC客户端1通过vnc-viewer1依据指定的listen_port向VNC代理建立连接,并使用password认证通过,这样从VNC客户端1到VNC代理到VM1的整个连接的虚拟桌面即建立成功,VM1的桌面将在VNC客户端侧显示,用户可以方便的使用VM1,如同使用本地的某台物理主机的显示终端一样。
上述为VNC建立同VM1和VNC客户端的连接,具体实现同现有实现,这里不再进行更详细的描述。
管理员或虚拟机管理平台基于LB负载均衡或业务上的需要,将虚拟机VM1从服务器1迁移到服务器2上。
VNC代理感知到同VM1的连接断开,主动向虚拟机管理平台发送查询VM1的位置信息的请求,包括服务器2的IP地址以及vnc-server2的端口号等。
VNC代理接收到虚拟及管理平台发送的携带VM1的位置信息的应答信息时,获取VM1当前的位置信息,即服务器2的IP地址以及vnc-server2的端口号。VNC代理使用服务器2的IP地址和vnc-server2的端口号等与VNC服务器2上的VM1建立连接,实现了VNC虚拟桌面在虚拟机迁移过程中的不间断运行,改善了客户使用虚拟桌面的体验。
本发明具体实施例中基于同样的发明构思,还提出一种装置,可应用于包含VNC客户端、VNC服务器、VNC代理和虚拟机管理平台的系统中的VNC代理上,其中,所述VNC服务器上创建了VM。参见图4,图4为本发明具体实施例中基于上述技术的装置的结构示意图。该装置包括:建立连接单元401、感知单元402、获取单元403和处理单元404。
建立连接单元401,用于通过与所述VNC服务器上的VM以及所述VNC客户端分别建立连接,使所述VNC客户端能够远程访问所述VM;若获取单元403从所述虚拟机管理平台获取该VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM。
感知单元402,用于感知本设备与所述VM的连接是否断开。
获取单元403,用于当感知单元402感知到本设备与所述VM的连接断开时,从所述虚拟机管理平台获取该VM当前的位置信息。
处理单元404,用于若获取单元403未从所述虚拟机管理平台获取该VM当前的位置信息,断开与所述VNC客户端的连接。
较佳地,
当所述VM迁移或关机时,感知单元402感知到与所述VNC服务器上的所述VM的连接断开,其中,当所述VM迁移时,获取单元403获取该VM当前的位置信息;当VM关机时,获取单元403未能获取该VM当前的位置信息。
较佳地,该装置进一步包括:接收单元405、缓存单元406和发送单元407。
接收单元405,用于接收所述VNC客户端发送给所述VM的数据。
缓存单元406,用于当接收单元405接收所述VNC客户端发送给所述VM的数据时,将接收到的数据缓存。
发送单元407,用于当建立连接单元401使用获得的位置信息与所述VM建立连接时,若缓存单元406中缓存了所述VNC客户端发送给所述VM的数据,将所述缓存的数据顺序发送给所述VM。
较佳地,
接收单元405,进一步用于接收所述虚拟机管理平台获取并发送的携带该VM的当前位置信息的消息;接收所述虚拟机管理平台发送的该VM关机的消息;
获取单元403,用于当接收单元405在第一预设时间内接收到所述虚拟机管理平台获取并发送的携带该VM的当前位置信息的消息。
处理单元404,用于当接收单元405在第一预设时间内接收到所述虚拟机管理平台发送的该VM关机的消息,或在第一预设时间内未接收到所述虚拟机管理平台获取并发送的携带该VM的当前位置信息的消息时,断开与所述客户端的连接。
较佳地,
发送单元407,进一步用于向所述虚拟机管理平台发送查询所述VM当前位置信息的请求;用于当接收单元405在第二预设时间内既未接收到所述虚拟机管理平台发送的携带所述VM当前的位置信息的应答消息,也未接收到该VM关机的消息时,再次向所述虚拟机管理平台发送查询所述VM当前位置信息的请求。
接收单元405,进一步用于接收所述虚拟机管理平台发送的携带所述VM当前的位置信息的应答消息;接收所述虚拟机管理平台发送的该VM关机的消息。
获取单元403,用于接收单元405接收到所述虚拟机管理平台的发送的携带所述VM当前的位置信息的应答消息时,获取所述VM当前的位置信息。
处理单元404,进一步用于当接收单元405接收到所述虚拟机管理平台发送的该VM关机的消息时,断开与所述客户端的连接;用于当发送单元407向所述虚拟机管理平台发送查询所述VM当前位置信息的请求的次数达到预设次数,接收单元405还未接收到所述虚拟机管理平台发送的携带所述VM当前的位置信息的应答消息,或该VM关机的消息时,记录错误日志,并断开与所述VNC客户端的连接。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中在VNC代理感知到与VM的连接断开时,从虚拟机管理平台获取该VM当前的位置信息,使用获取的位置信息与该VM建立连接,使所述VNC客户端能够通过虚拟桌面继续远程访问该VM,能够实现虚拟桌面的不间断访问。
VM的关机和迁移都会使VNC代理感知到与VM的连接断开,当VM迁移时,会获得该VM迁移后的位置信息,根据该位置信息与该VM建立连接,使VNC客户端侧能够通过虚拟桌面远程不间断访问该VM;当VM关机时,不会多次尝试连接,及时断开与VNC客户端的连接,使客户端侧及时获知该VM关机,提高了虚拟桌面的使用体验。
在VNC代理同迁移前的VNC服务器上的VM的连接断开后,VNC代理缓存所有从VNC客户端发送过来的数据。在VNC代理同迁移后的VM建立连接之后,将这些缓存数据发给该VM,这样在重新建立连接的过程中,临时缓存数据,更好的实现了客户侧的虚拟桌面的不间断。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于虚拟网络计算VNC的远程访问方法,该方法应用于包含VNC客户端、VNC服务器、VNC代理和虚拟机管理平台的系统中,其中,所述VNC服务器上创建了多个虚拟机VM,其特征在于,所述方法包括:
该VNC代理通过与所述VNC服务器上的VM以及所述VNC客户端分别建立连接,使所述VNC客户端能够远程访问所述VM;
该VNC代理当感知到与所述VNC服务器上的所述VM的连接断开时,从所述虚拟机管理平台获取该VM的当前位置信息,若获取该VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM;否则,断开与所述VNC客户端的连接;
当所述VNC代理感知到与所述VNC服务器上的所述VM的连接断开时,所述方法进一步包括:若接收到所述VNC客户端发送给所述VM的数据时,将接收到的数据缓存;
当使用获得的位置信息与所述VM建立连接时,所述方法进一步包括:若确定本地缓存了所述VNC客户端发送给所述VM的数据时,将所述缓存的数据顺序发送给所述VM。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
当所述VM迁移或关机时,该VNC代理感知到与所述VNC服务器上的所述VM的连接断开;
当所述VM迁移时,所述VNC代理获取该VM当前的位置信息;当所述VM关机时,所述VNC代理未能获取该VM当前的位置信息。
3.根据权利要求1-2任意一项所述的方法,其特征在于,所述从所述虚拟机管理平台获取该VM的当前位置信息,若获取该VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM;否则,断开与所述VNC客户端的连接,包括:
若该VNC代理在第一预设时间内接收到所述虚拟机管理平台获取并发送的携带该VM的当前位置信息的消息时,获取所述VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM;
若在第一预设时间内接收到所述虚拟机管理平台发送的该VM关机的消息,或在第一预设时间内未接收到所述虚拟机管理平台获取并发送的携带该VM的当前位置信息的消息时,断开与所述客户端的连接。
4.根据权利要求1-2任意一项所述的方法,其特征在于,所述从所述虚拟机管理平台获取该VM的当前位置信息,若获取该VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM;否则,断开与所述VNC客户端的连接,包括:
该VNC代理向所述虚拟机管理平台发送查询所述VM当前位置信息的请求;
在第二预设时间内接收所述虚拟机管理平台的发送的携带所述VM当前的位置信息的应答消息时,获取所述VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM;
在第二预设时间内接收到所述虚拟机管理平台发送的该VM关机的消息时,断开与所述客户端的连接;
在第二预设时间内既未接收到所述虚拟机管理平台发送的携带所述VM当前的位置信息的应答消息,也未接收到该VM关机的消息时,再次向所述虚拟机管理平台发送查询所述VM当前位置信息的请求,直到达到预设次数还未接收到所述虚拟机管理平台发送的携带所述VM当前的位置信息的应答消息,或该VM关机的消息时,记录错误日志,并断开与所述VNC客户端的连接。
5.一种基于虚拟网络计算VNC的远程访问装置,可应用于包含虚拟网络计算VNC客户端、VNC服务器、VNC代理和虚拟机管理平台的系统中的VNC代理上,其中,所述VNC服务器上创建了多个虚拟机VM,其特征在于,该装置包括:建立连接单元、感知单元、获取单元和处理单元;
所述建立连接单元,用于通过与所述VNC服务器上的VM以及所述VNC客户端分别建立连接,使所述VNC客户端能够远程访问所述VM;若所述获取单元从所述虚拟机管理平台获取该VM当前的位置信息,使用获得的位置信息与所述VM建立连接,使所述VNC客户端能够继续远程访问该VM;
所述感知单元,用于感知本设备与所述VM的连接是否断开;
所述获取单元,用于当所述感知单元感知到本设备与所述VM的连接断开时,从所述虚拟机管理平台获取该VM当前的位置信息;
所述处理单元,用于若所述获取单元未从所述虚拟机管理平台获取该VM当前的位置信息,断开与所述VNC客户端的连接;
所述装置进一步包括:接收单元、缓存单元和发送单元;
所述接收单元,用于接收所述VNC客户端发送给所述VM的数据;
所述缓存单元,用于当所述接收单元接收所述VNC客户端发送给所述VM的数据时,将接收到的数据缓存;
所述发送单元,用于当所述建立连接单元使用获得的位置信息与所述VM建立连接时,若所述缓存单元中缓存了所述VNC客户端发送给所述VM的数据,将所述缓存的数据顺序发送给所述VM。
6.根据权利要求5所述的装置,其特征在于,
当所述VM迁移或关机时,所述感知单元感知到与所述VNC服务器上的所述VM的连接断开,其中,当所述VM迁移时,所述获取单元获取该VM当前的位置信息;当所述VM关机时,所述获取单元未能获取该VM当前的位置信息。
7.根据权利要求5-6任意一项所述的装置,其特征在于,
所述接收单元,进一步用于接收所述虚拟机管理平台获取并发送的携带该VM的当前位置信息的消息;接收所述虚拟机管理平台发送的该VM关机的消息;
所述获取单元,用于当所述接收单元在第一预设时间内接收到所述虚拟机管理平台获取并发送的携带该VM的当前位置信息的消息;
所述处理单元,用于当所述接收单元在第一预设时间内接收到所述虚拟机管理平台发送的该VM关机的消息,或在第一预设时间内未接收到所述虚拟机管理平台获取并发送的携带该VM的当前位置信息的消息时,断开与所述客户端的连接。
8.根据权利要求5-6任意一项所述的装置,其特征在于,
所述发送单元,进一步用于向所述虚拟机管理平台发送查询所述VM当前位置信息的请求;用于当所述接收单元在第二预设时间内既未接收到所述虚拟机管理平台发送的携带所述VM当前的位置信息的应答消息,也未接收到该VM关机的消息时,再次向所述虚拟机管理平台发送查询所述VM当前位置信息的请求;
所述接收单元,进一步用于接收所述虚拟机管理平台发送的携带所述VM当前的位置信息的应答消息;接收所述虚拟机管理平台发送的该VM关机的消息;
所述获取单元,用于所述接收单元接收到所述虚拟机管理平台的发送的携带所述VM当前的位置信息的应答消息时,获取所述VM当前的位置信息;
所述处理单元,进一步用于当所述接收单元接收到所述虚拟机管理平台发送的该VM关机的消息时,断开与所述客户端的连接;用于当所述发送单元向所述虚拟机管理平台发送查询所述VM当前位置信息的请求的次数达到预设次数,所述接收单元还未接收到所述虚拟机管理平台发送的携带所述VM当前的位置信息的应答消息,或该VM关机的消息时,记录错误日志,并断开与所述VNC客户端的连接。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201210458838.6A CN103812913B (zh) | 2012-11-14 | 2012-11-14 | 一种基于虚拟网络计算的远程访问方法和装置 |
| PCT/CN2013/086046 WO2014075547A1 (en) | 2012-11-14 | 2013-10-28 | Virtual machines |
| US14/440,838 US20150293773A1 (en) | 2012-11-14 | 2013-10-28 | Virtual machines |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201210458838.6A CN103812913B (zh) | 2012-11-14 | 2012-11-14 | 一种基于虚拟网络计算的远程访问方法和装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN103812913A CN103812913A (zh) | 2014-05-21 |
| CN103812913B true CN103812913B (zh) | 2017-11-10 |
Family
ID=50709111
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201210458838.6A Active CN103812913B (zh) | 2012-11-14 | 2012-11-14 | 一种基于虚拟网络计算的远程访问方法和装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20150293773A1 (zh) |
| CN (1) | CN103812913B (zh) |
| WO (1) | WO2014075547A1 (zh) |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150134725A1 (en) * | 2013-11-13 | 2015-05-14 | Adrian Cesena, Jr. | Computer-implemented methods, computer readable medium and systems for virtual application execution |
| US20160150027A1 (en) * | 2014-11-25 | 2016-05-26 | Futurewei Technologies, Inc. | Method Of Handling Notification Channel Disconnection |
| CN106330986B (zh) * | 2015-06-15 | 2020-11-20 | 中兴通讯股份有限公司 | 消息传输方法及装置 |
| CN105389198A (zh) * | 2015-10-16 | 2016-03-09 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机控制台自动重连方法及装置 |
| CN105933415A (zh) * | 2016-04-21 | 2016-09-07 | 国家计算机网络与信息安全管理中心 | 一种基于vnc代理的云计算环境中虚拟机在线录屏方法与系统 |
| CN105979000A (zh) * | 2016-06-25 | 2016-09-28 | 国云科技股份有限公司 | 一种vnc协议远程桌面的方法 |
| US10565008B2 (en) * | 2016-07-28 | 2020-02-18 | International Business Machines Corporation | Reducing service downtime during service migration |
| JP6822180B2 (ja) * | 2017-02-02 | 2021-01-27 | セイコーエプソン株式会社 | 印刷装置、印刷装置の制御方法、及び、通信システム |
| US11048536B2 (en) * | 2017-11-28 | 2021-06-29 | Microsoft Technology Licensing, Llc | High availability cloud service provision |
| CN109062665A (zh) * | 2018-07-26 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种虚拟机桌面环境配置方法、装置及系统 |
| CN110427245A (zh) * | 2019-06-28 | 2019-11-08 | 苏州浪潮智能科技有限公司 | 管理虚拟机方法和装置 |
| US11850750B1 (en) * | 2019-09-30 | 2023-12-26 | NTT DATA Services, LLC | Portability framework for robotic process automation |
| CN110995705B (zh) * | 2019-12-03 | 2022-07-05 | 广州西麦科技股份有限公司 | 一种远程安全访问虚拟机的方法 |
| CN111857952B (zh) * | 2020-07-16 | 2022-05-31 | 苏州浪潮智能科技有限公司 | 一种实现虚拟化平台虚拟机负载均衡的方法及系统 |
| CN113051039A (zh) * | 2021-04-21 | 2021-06-29 | 的卢技术有限公司 | 一种基于云计算的虚拟云办公系统登录方法及系统 |
| US20220400123A1 (en) * | 2021-06-11 | 2022-12-15 | Mellanox Technologies Ltd. | Secure network access device |
| WO2023081473A1 (en) * | 2021-11-08 | 2023-05-11 | Smashcut, Inc. | Virtualization-based collaborative activity framework with predictive preloading of virtual machines |
| CN114726850B (zh) * | 2022-04-02 | 2024-01-05 | 福达新创通讯科技(厦门)有限公司 | 一种vnc远程访问的方法、装置及存储介质 |
| CN115567588A (zh) * | 2022-10-28 | 2023-01-03 | 深圳市瑞云科技股份有限公司 | 一种基于空间站的云桌面配置方法 |
| CN117640747B (zh) * | 2023-12-12 | 2024-07-09 | 北京志凌海纳科技股份有限公司 | 一种基于代理服务的vhost-user重连方法和系统 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102523207A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 基于虚拟网络计算机的远程资源访问方法及代理设备 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6216101B1 (en) * | 1996-04-01 | 2001-04-10 | Openconnect Systems Incorporated | Server and terminal emulator for persistent connection to a legacy host system with client token authentication |
| US20020138427A1 (en) * | 2001-03-20 | 2002-09-26 | Trivedi Prakash A. | Systems and methods for communicating from an integration platform to a billing unit |
| US8176186B2 (en) * | 2002-10-30 | 2012-05-08 | Riverbed Technology, Inc. | Transaction accelerator for client-server communications systems |
| US20050188068A1 (en) * | 2003-12-30 | 2005-08-25 | Frank Kilian | System and method for monitoring and controlling server nodes contained within a clustered environment |
| US7467293B2 (en) * | 2004-11-12 | 2008-12-16 | Tsinghua University | Method and computing system for transparence computing on the computer network |
| US8732182B2 (en) * | 2004-12-02 | 2014-05-20 | Desktopsites Inc. | System and method for launching a resource in a network |
| US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
| US8631217B2 (en) * | 2008-02-26 | 2014-01-14 | International Business Machines Corporation | Apparatus, system, and method for virtual machine backup |
| CN101631110B (zh) * | 2008-07-15 | 2013-01-02 | 国际商业机器公司 | 基于相对位置动态确定连接建立机制的装置和方法 |
| US8180902B1 (en) * | 2009-03-05 | 2012-05-15 | Riverbed Technology, Inc. | Establishing network connections between transparent network devices |
| US8150971B2 (en) * | 2009-05-31 | 2012-04-03 | Red Hat Israel, Ltd. | Mechanism for migration of client-side virtual machine system resources |
| JP5499688B2 (ja) * | 2009-12-23 | 2014-05-21 | 富士通株式会社 | 計算機システム、情報処理装置、仮想計算機運用方法及びプログラム |
| CN102110197B (zh) * | 2009-12-25 | 2013-04-03 | 中国科学院计算技术研究所 | 多核处理器的计算环境中实现tpm的方法及其系统 |
| US20120066681A1 (en) * | 2010-09-12 | 2012-03-15 | Levy Tomer | System and method for management of a virtual machine environment |
| CN102446119B (zh) * | 2010-10-13 | 2013-04-24 | 中标软件有限公司 | 基于Passthrough I/O的虚拟机动态迁移方法 |
| JP5729063B2 (ja) * | 2011-03-22 | 2015-06-03 | 富士通株式会社 | 通信設定方法、通信設定サーバ、中継装置および通信設定プログラム |
| CN102387205B (zh) * | 2011-10-21 | 2013-12-25 | 杭州华三通信技术有限公司 | 一种虚拟机位置定位方法和装置 |
| US8782008B1 (en) * | 2012-03-30 | 2014-07-15 | Emc Corporation | Dynamic proxy server assignment for virtual machine backup |
-
2012
- 2012-11-14 CN CN201210458838.6A patent/CN103812913B/zh active Active
-
2013
- 2013-10-28 WO PCT/CN2013/086046 patent/WO2014075547A1/en not_active Ceased
- 2013-10-28 US US14/440,838 patent/US20150293773A1/en not_active Abandoned
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102523207A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 基于虚拟网络计算机的远程资源访问方法及代理设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150293773A1 (en) | 2015-10-15 |
| WO2014075547A1 (en) | 2014-05-22 |
| CN103812913A (zh) | 2014-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103812913B (zh) | 一种基于虚拟网络计算的远程访问方法和装置 | |
| US11206253B2 (en) | Domain pass-through authentication in a hybrid cloud environment | |
| JP6506827B2 (ja) | トラフィックディレクタ環境におけるトラフィックのアクティブ−パッシブルーティングおよび制御のためのシステムおよび方法 | |
| US11388261B2 (en) | Cross-domain brokering protocol cloud proxy | |
| US20180210752A1 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
| US7970913B2 (en) | Virtualizing sockets to enable the migration of a system environment | |
| CN104168304B (zh) | Vdi环境下的单点登录系统及方法 | |
| TW201007574A (en) | Internet server system and method of constructing and starting a virtual machine | |
| WO2009005966A2 (en) | Virtual desktop integration with terminal services | |
| US20220030055A1 (en) | Bidirectional Communication Clusters | |
| US11044322B2 (en) | Method for managing sessions using web sockets | |
| CN101656718A (zh) | 网络服务器系统与其虚拟机器的建立与开启的方法 | |
| CN103501295B (zh) | 一种基于虚拟机迁移的远程访问方法和设备 | |
| US10721719B2 (en) | Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node | |
| US12224998B2 (en) | Selection of gateways for reconnection upon detection of reachability issues with backend resources | |
| CN102571733A (zh) | Boss系统的访问方法及系统、云计算平台 | |
| CN107707665A (zh) | 一种网络存储方法、装置、系统及计算机可读存储介质 | |
| JP5736346B2 (ja) | 仮想化装置、仮想化制御方法、仮想化装置制御プログラム | |
| JP2017215630A (ja) | アプリケーション利用システム | |
| CN105162577B (zh) | 虚拟环境下的加密解密方法和物理服务器 | |
| CN117376341A (zh) | 一种将文件上传至虚拟机的方法、装置、设备及介质 | |
| US12124893B2 (en) | Clipboard data redirection between virtual desktops |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Applicant before: Huasan Communication Technology Co., Ltd. |
|
| CB02 | Change of applicant information | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |