一种虚拟主机的输入输出重定向系统及其实现方法技术方案

技术编号:7494803 阅读:415 留言:0更新日期:2012-07-10 18:49
本发明专利技术涉及虚拟主机的输入输出重定向系统及其实现方法。该系统包括通讯模块、重定向连接模块;重定向连接模块包括重定向连接代理模块。重定向连接代理模块接收到远程终端的连接请求后,向虚拟主机软件获取虚拟主机实例信息列表,远程终端从虚拟主机实例信息列表中选择一个虚拟主机实例,若该虚拟主机实例处于开机状态,则重定向连接代理模块从虚拟主机软件获取该虚拟主机实例的虚拟输入输出设备的驱动配置,并创建一个重定向模块;远程终端利用重定向模块的数据编码模块、重定向输入模块、重定向输出模块以及各个虚拟设备驱动实例对虚拟主机实例进行操作。本发明专利技术很方便地支持各种操作系统的虚拟主机实例,并实现流畅的视、音频传输。

【技术实现步骤摘要】

本专利技术涉及基于云计算基础设施环境的虚拟主机技术,具体涉及虚拟主机的输入输出重定向系统及其实现方法
技术介绍
随着云计算技术的不断发展和普遍推广,使得原来运行Windows和Linux的PC物理主机不断虚拟化,实现用户可以通过网络和不同终端设备使用虚拟主机。使用虚拟主机的一般方式有两种一、如图1所示,在物理主机上安装虚拟主机软件(如VMWare、VirtualBox、XenServer 等),用虚拟主机软件创建出多个虚拟主机实例,如虚拟主机实例VMl,……,虚拟主机实例 VMnCn为大于0的自然数)。每一个虚拟主机实例都可以根据需求安装操作系统,如WINDOWS 或LINUX。每一个虚拟主机实例就如同一台物理主机一样,但其输入输出设备驱动都是虚拟化的(由于虚拟主机技术已十分成熟,就不在赘述了)。使用者可通过本地外围设备进行操作,在物理主机上的虚拟主机管理界面上进行登录使用,但一般只限于IT管理人员使用。二、如图2所示,用户通过PC或瘦客户机(ThinClient)与虚拟主机实例内部的远程桌面程序通讯,如RDP、ICA, PCoverPC, VNC等远程桌面程序,以虚拟主机实例的其中一个多用户身份使用虚拟主机实例。PC或瘦客户机可统称为远程终端。远程终端在远程操作时,由于不同虚拟主机实例的操作系统版本不同,远程虚拟桌面程序的处理能力和支持技术不同,以及需依赖第三方远程虚拟桌面程序去操作虚拟主机实例,造成了用户不能像使用本地物理主机一样流畅地、充分地使用虚拟主机实例的功能。
技术实现思路
为了克服现有技术的不足,本专利技术的目的在于提出,其是在虚拟主机软件的基础上增加的系统,其能改变现有的虚拟主机实例对于远程终端只能依赖虚拟主机实例内的远程虚拟桌面程序的控制方式,从而使远程终端完全、安全和灵活地使用和体验虚拟主机实例。为了达到上述目的,本专利技术所采用的技术方案如下一种虚拟主机的输入输出重定向系统,其包括通讯模块、重定向连接模块;重定向连接模块包括重定向连接代理模块;远程终端通过通讯模块向重定向连接代理模块发送连接请求;重定向连接代理模块接收到连接请求后,向虚拟主机软件获取虚拟主机实例信息列表,并把虚拟主机实例信息列表通过通讯模块反馈给远程终端;远程终端从虚拟主机实例信息列表中选择一个虚拟主机实例,并通过通讯模块向重定向连接代理模块对该虚拟主机实例提出控制请求;重定向连接代理模块接收到控制请求后,向虚拟主机软件查询该虚拟主机实例的运行状态,若该虚拟主机实例处于关机状态,则虚拟主机软件启动该虚拟主机实例,若该虚拟主机实例处于开机状态,则重定向连接代理模块从虚拟主机软件获取该虚拟主机实例的虚拟输入输出设备的驱动配置,并创建一个重定向模块;重定向模块包括数据编码模块、重定向输入模块、重定向输出模块以及各个虚拟设备驱动实例,各个虚拟设备驱动实例与该虚拟主机实例的虚拟输入输出设备的驱动相对应,数据编码模块用于分离或组合虚拟设备驱动实例的输入输出数据;虚拟输入输出设备的输出信息通过相应的虚拟设备驱动实例传输给重定向输出模块,重定向输出模块再把输出信息传输到数据编码模块,数据编码模块对输出信息进行编码后通过通讯模块传输给提出控制请求的远程终端; 远程终端的输入信息通过通讯模块传输给数据编码模块,数据编码模块对输入信息进行解码后发送给重定向输入模块,重定向输入模块再把已解码的输入信息通过相应的虚拟设备驱动实例传输给该虚拟主机实例。优选的,所述重定向模块还包括一重定向控制模块,当数据编码模块接收到的输入信息为虚拟主机实例状态控制指令时,数据编码模块通过重定向控制模块向虚拟主机软件发送虚拟主机实例状态控制指令;虚拟主机实例状态控制指令包括更改分辨率指令或关机指令或重启动指令或注销指令。更优选的,当虚拟主机软件接收到关机指令后,重定向连接代理模块关闭与该虚拟主机实例相应的重定向模块。优选的,所述重定向连接模块还包括认证授权模块;重定向连接代理模块接收到连接请求后,向虚拟主机软件获取虚拟主机实例信息列表,并把虚拟主机实例信息列表通过通讯模块反馈给远程终端的过程中重定向连接代理模块接收到连接请求后,要求远程终端输入认证信息,远程终端输入用户信息后,重定向代理向认证授权模块发送用户信息, 用户信息通过认证授权模块的认证后,重定向连接代理模块从虚拟主机软件获取虚拟主机实例信息列表,并把虚拟主机实例信息列表通过通讯模块反馈给远程终端。本专利技术还提出了一种实现上述虚拟主机的输入输出重定向系统的方法,其包括以下步骤A.远程终端与通讯模块建立数据连接;B.通讯模块向重定向连接代理模块报告一个连接请求;C.重定向连接代理模块接收到连接请求后,向虚拟主机软件获取虚拟主机实例信息列表,并把虚拟主机实例信息列表通过通讯模块反馈给远程终端;D.远程终端从虚拟主机实例信息列表中选择一个虚拟主机实例,并通过通讯模块向重定向连接代理模块对该虚拟主机实例提出控制请求;E.重定向连接代理模块接收到控制请求后,向虚拟主机软件查询该虚拟主机实例的运行状态若该虚拟主机实例处于关机状态,则虚拟主机软件启动该虚拟主机实例,使该虚拟主机实例进入开机状态;若该虚拟主机实例处于开机状态,则重定向连接代理模块从虚拟主机软件获取该虚拟主机实例的虚拟输入输出设备的驱动配置,并创建一个重定向模块; 所述重定向模块包括数据编码模块、重定向输入模块、重定向输出模块以及各个虚拟设备驱动实例,各个虚拟设备驱动实例与该虚拟主机实例的虚拟输入输出设备的驱动相对应, 数据编码模块用于分离或组合虚拟设备驱动实例的输入输出数据;5F.虚拟输入输出设备的输出信息通过相应的虚拟设备驱动实例传输给重定向输出模块,重定向输出模块再把输出信息传输到数据编码模块,数据编码模块对输出信息进行编码后通过通讯模块传输给提出控制请求的远程终端;G.远程终端向虚拟主机实例输入信息,远程终端的输入信息通过通讯模块传输给数据编码模块,数据编码模块对输入信息进行解码后发送给重定向输入模块,重定向输入模块再把已解码的输入信息通过相应的虚拟设备驱动实例传输给该虚拟主机实例。优选的,在步骤E中所述重定向模块还包括一重定向控制模块;在步骤G后还有步骤H:当数据编码模块接收到的输入信息为虚拟主机实例状态控制指令时,数据编码模块通过重定向控制模块向虚拟主机软件发送虚拟主机实例状态控制指令;虚拟主机实例状态控制指令包括更改分辨率指令或关机指令或重启动指令或注销指令。更优选的,在步骤H 中当虚拟主机软件接收到关机指令后,重定向连接代理模块关闭与该虚拟主机实例相应的重定向模块。优选的,步骤C具体为重定向连接代理模块接收到连接请求后,要求远程终端输入认证信息,远程终端输入用户信息后,重定向代理向认证授权模块发送用户信息,用户信息通过认证授权模块的认证后,重定向连接代理模块从虚拟主机软件获取虚拟主机实例信息列表,并把虚拟主机实例信息列表通过通讯模块反馈给远程终端。本专利技术具有如下有益效果(1)用户像在本地一样使用虚拟主机实例,那些不能在远程桌面上运行的程序,都可以在使用本方法实现的远程虚拟桌面上运行。(2)不用为虚拟主机实例里的操作系统准备不同的远程桌面程序,因为只是重定向了虚拟主机实例的输入输出接口,所以可以很方便地支持各种操作系统的虚拟主机实例,包本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:马毅巫超章国锋
申请(专利权)人:广州辉远电子技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术