[go: up one dir, main page]

CN103812913B - 一种基于虚拟网络计算的远程访问方法和装置 - Google Patents

一种基于虚拟网络计算的远程访问方法和装置 Download PDF

Info

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
Application number
CN201210458838.6A
Other languages
English (en)
Other versions
CN103812913A (zh
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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201210458838.6A priority Critical patent/CN103812913B/zh
Priority to PCT/CN2013/086046 priority patent/WO2014075547A1/en
Priority to US14/440,838 priority patent/US20150293773A1/en
Publication of CN103812913A publication Critical patent/CN103812913A/zh
Application granted granted Critical
Publication of CN103812913B publication Critical patent/CN103812913B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network 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客户端的连接。
CN201210458838.6A 2012-11-14 2012-11-14 一种基于虚拟网络计算的远程访问方法和装置 Active CN103812913B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523207A (zh) * 2011-12-06 2012-06-27 北京航空航天大学 基于虚拟网络计算机的远程资源访问方法及代理设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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