首页> 中国专利> 基于Windows系统和网络传输的应用虚拟化实现方法及系统

基于Windows系统和网络传输的应用虚拟化实现方法及系统

摘要

本发明公开了基于Windows系统和网络传输的应用虚拟化实现方法及系统,该系统包括通过网络进行通信的应用接收模块和应用采集模块,所述应用接收模块包括彼此双向通信的应用终端和虚拟应用调度服务器,所述应用采集模块包括彼此双向通信的存储服务器和应用运行服务器。本发明公开的方法实现了应用列表的交互、应用启动与展示的交互和用户输入事件的交互。本发明摆脱了Windows系统会话的依赖和限制,完全采用独立自主的技术框架和通讯协议,降低了额外的系统资源消耗,提高了应用处理的效率,增强了虚拟应用交付的体验效果。

著录项

  • 公开/公告号CN103209209A

    专利类型发明专利

  • 公开/公告日2013-07-17

    原文格式PDF

  • 申请/专利权人 山东乾云启创信息科技有限公司;

    申请/专利号CN201310056186.8

  • 发明设计人 王进;石磊;刘春;程栋;刘毅枫;

    申请日2013-02-21

  • 分类号H04L29/08(20060101);G06F9/445(20060101);

  • 代理机构37221 济南圣达知识产权代理有限公司;

  • 代理人张勇

  • 地址 250101 山东省济南市高新区银荷大厦C座401

  • 入库时间 2024-02-19 19:11:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-06

    专利权质押合同登记的注销 IPC(主分类):H04L29/08 授权公告日:20160330 登记号:2017370000029 出质人:山东乾云启创信息科技股份有限公司 质权人:齐鲁银行股份有限公司济南金牛支行 解除日:20181015 申请日:20130221

    专利权质押合同登记的生效、变更及注销

  • 2017-04-12

    专利权质押合同登记的生效 IPC(主分类):H04L29/08 登记号:2017370000029 登记生效日:20170316 出质人:山东乾云启创信息科技股份有限公司 质权人:齐鲁银行股份有限公司济南金牛支行 发明名称:基于Windows系统和网络传输的应用虚拟化实现方法及系统 授权公告日:20160330 申请日:20130221

    专利权质押合同登记的生效、变更及注销

  • 2016-12-14

    专利权的转移 IPC(主分类):H04L29/08 登记生效日:20161122 变更前: 变更后: 申请日:20130221

    专利申请权、专利权的转移

  • 2016-03-30

    授权

    授权

  • 2015-09-16

    专利申请权的转移 IPC(主分类):H04L29/08 变更前: 变更后: 登记生效日:20150825 申请日:20130221

    专利申请权、专利权的转移

  • 2015-09-09

    著录事项变更 IPC(主分类):H04L29/08 变更前: 变更后: 申请日:20130221

    著录事项变更

  • 2013-08-14

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20130221

    实质审查的生效

  • 2013-07-17

    公开

    公开

查看全部

说明书

技术领域

本发明涉及信息化应用虚拟化技术领域,尤其涉及基于Windows系统和网络传输的应用 虚拟化实现方法及系统。

背景技术

应用虚拟化技术是将应用程序的人机交互逻辑与计算逻辑隔离开来。当用户访问应用 时,应用的展示和交互存在于终端设备上,而应用的部署和运行则集中在数据中心。这样做 的好处包括:应用终端不存储数据解决了安全问题,应用终端低配置要求降低了设备成本, 应用终端的无差别性和应用的集中部署与管理降低了维护成本并提高了维护效率。

当前应用虚拟化实现主要有两大公司的技术和产品,一是微软(Microsoft)公司的RDP协 议实现,二是思杰(Citrix)公司的HDX(ICA)协议实现。基于RDP协议的实现,目前存在以 下几个方面的主要问题,一是数据传输量大,网络带宽要求高,二是无法正常播放高清视频, 三是基于会话机制的实现,增加了额外的资源消耗和复杂性。基于HDX(ICA)协议的实现, 在网络带宽要求和高清视频播放方面有了全面的改善,但HDX(ICA)与RDP同样基于会话机制 实现,一方面消耗了额外的内存和CPU资源,一方面其复杂性限制了功能扩展。

发明内容

本发明的目的就是为了解决上述问题,提供基于Windows系统和网络传输的应用虚拟化 实现方法及系统,该方法通过应用采集程序,将运行在Windows系统中的应用程序信息(主 要是图像信息,还包括音频信息)采集、压缩、组包,并发送给远端的应用接收程序。应用 接收程序接收应用程序信息,解压后还原成图像并展示出来(音频信息通过声卡输出)。同时, 人与应用的交互输入由应用接收程序捕获,并发送给应用采集程序,由应用采集程序将输入 作用于应用程序。本发明实现了应用程序运行与应用程序展现及交互的隔离。

为了实现上述目的,本发明采用如下技术方案:

基于Windows系统和网络传输的应用虚拟化实现方法,主要包括以下步骤:

步骤(1):应用采集模块从虚拟现实设备的对应区域获取应用图像信息,并将应用图像 信息压缩打包后,通过网络传送给应用接收模块;

步骤(2):应用接收模块向应用采集模块索取应用列表;应用采集模块提取应用列表; 应用采集模块向应用接收模块返回应用列表;应用接收模块展示应用列表;

步骤(3):用户发出启动应用程序的请求,应用接收模块将启动应用程序的请求发送给 应用采集模块,应用采集模块接收启动应用程序的请求并分配虚拟显示资源启动应用程序;

步骤(4):应用采集模块采集应用图像,并向应用接收模块返回应用信息,应用接收模 块展示应用图像;

步骤(5):应用接收模块接收用户交互输入,并向应用采集模块发送输入事件,应用采 集模块重现输入事件,返回步骤(4)。

基于Windows系统和网络传输的应用虚拟化实现方法,详细步骤如下:

步骤1):将应用程序安装在应用运行服务器的Windows操作系统中,并在该Windows操 作系统中安装应用采集模块,启动应用采集模块;应用采集模块虚拟一个超大显示设备;

步骤2):在应用终端上,安装应用接收模块,应用接收模块启动后,自动与应用采集模 块通讯,索取已经安装的应用列表,并显示出来;

应用采集模块中,当接收到应用接收模块的“索取应用列表”的请求后,会给应用接收 模块返回应用列表;

步骤3):用户从应用接收模块展示的应用列表中选择所需要的应用,并选择启动应用程 序,应用接收模块将相应的“请求启动应用”的请求发送给应用采集模块;

步骤4):应用采集模块接收“请求启动应用”的请求后,首先在虚拟的显示设备中,申 请一块合适的显示区域,然后基于该显示区域启动应用程序,应用程序启动后,应用采集模 块从虚拟显示设备的特定区域采集应用程序运行图像,压缩打包处理后将“应用运行信息” 发送给请求该应用的应用终端,同时返回的应用运行信息还包括一个应用ID,该应用ID在 应用运行服务器上是唯一的;

步骤5):应用接收模块接收“应用运行信息”,解压还原后,创建本地窗口并展示应用 运行图像,同时保存对应的应用ID,此时用户看到应用的运行结果;

步骤6):用户输入信息,同时应用接收模块会捕获到相应的事件,主要是鼠标事件和键 盘事件,该事件连通应用ID通过网络发送到应用采集模块;

步骤7):应用采集模块接收到用户输入事件后,基于应用ID识别应用的显示区域,基 于显示区域的坐标,以Windows事件的方式对输入事件进行回放,作用于相应的应用程序, 同时应用程序的反馈显示以图像形式发送给应用接收模块并展示,从而完成用户与应用程序 的交互。

用户能够根据需要,同时打开多个应用。

所述应用接收模块的具体工作步骤如下:

步骤(1-1):启动应用接收端;

步骤(1-2):基于配置连接应用调度服务器获取服务器信息;

步骤(1-3):与分配的服务器通讯索取应用程序列表;

步骤(1-4):接收应用程序列表并展示;

步骤(1-5):判断是否需要刷新应用;如果是就返回步骤(1-3);如果否,进入步骤(1-6);

步骤(1-6):判断是否启动应用;如果是,进入步骤(1-7);如果否,返回步骤(1-5);

步骤(1-7):发送启动应用请求,进入步骤(1-8);

步骤(1-8):接收应用运行信息并展示程序图像;如果需要停止应用就进入步骤(1-9); 如果存在输入就进入步骤(1-10);

步骤(1-9):判断是否停止应用,如果是就进入步骤(1-11);如果否,重复步骤(1-5);

步骤(1-10):判断是否存在输入,如果是就进入步骤(1-12);如果否,重复步骤(1-5);

步骤(1-11):通知应用采集程序关闭当前应用程序;结束;

步骤(1-12):捕获输入事件并发送采集端;返回步骤(1-8)。

所述应用采集模块的具体工作步骤如下:

步骤(2-1):启动应用采集端;如果需要判断是否索取应用就进入步骤(2-2);如果需 要判断是否启动应用就进入步骤(2-4);

步骤(2-2):判断是否索取应用;如果是就进入步骤(2-3);如果否就进入步骤(2-4);

步骤(2-3):提取本地安装应用程序并发送应用程序列表,返回步骤(2-2);

步骤(2-4):判断是否启动应用;如果是就进入步骤(2-5);如果否就返回步骤(2-2);

步骤(2-5):启动本地应用;进入步骤(2-6);

步骤(2-6):获取应用运行信息;进入步骤(2-7);

步骤(2-7):将应用运行信息发送给接收程序;如果需要判断是否停止应用就进入步骤 (2-8);如果需要判断是否存在输入就进入步骤(2-9);

步骤(2-8):判断是否停止应用;如果是就进入步骤(2-10);如果否就进入步骤(2-4);

步骤(2-9):判断是否存在输入;如果是就进入步骤(2-11);如果否就进入步骤(2-4);

步骤(2-10):停止应用程序,结束;

步骤(2-11):模拟输入事件,返回步骤(2-6)。

基于Windows系统和网络传输的应用虚拟化实现系统,包括通过网络进行通信的应用接 收模块和应用采集模块,所述应用接收模块包括彼此双向通信的应用终端和虚拟应用调度服 务器,所述应用采集模块包括彼此双向通信的存储服务器和应用运行服务器。

所述存储服务器用来集中存储所有用户的个人数据(以各种磁盘文件格式存在的内容), 在用户操作应用的时候从存储服务器获取个人数据。

所述应用运行服务器安装Windows操作系统,以及用户用到的应用程序,当用户需要使 用应用程序时,应用程序会在此服务器上运行;所述应用运行服务器同时安装运行应用采集 程序,实现应用的远程呈现。

所述虚拟应用调度服务器的功能包括两个方面,一是对用户的身份鉴定,以保证合法用 户使用系统,二是为多用户协调分配应用程序运行的环境,均衡系统负载。

所述应用终端虚拟应用的交互场所,通过应用接收程序实现应用程序运行图像的接收展 示和用户交互输入的捕获传送。所述应用终端包括普通PC、笔记本、智能终端、移动终端或 掌上电脑设备,所述应用终端不需要有强大的运算能力,只要求具备网络通讯、图像展示、 输入能力。

所述应用接收模块安装部署在应用终端上;所述应用接收模块的配置,至少包括指定虚 拟应用调度服务器的通讯地址(比如IP地址),以便在用户登录时,知道将用户的登录信息 发送到虚拟应用调度服务器进行用户验证。

所述应用采集模块安装部署在用户应用程序运行的Windows操作系统的应用运行服务器 上,并以系统服务形态启动;应用采集模块在初始化阶段会虚拟一个适当大小的显示设备, 以便将以后运行的应用程序输出到该显示设备上;在运行过程中,应用采集程序会根据分配 到本服务器上的用户,动态映射并访问共享存储服务器上对应的用户个人数据。

本发明的有益效果:

1该方法在采集模块启动和采集应用的过程中,不再基于Windows系统的会话机制区分 应用,而是基于虚拟显示设备的划分来实现,从而避免了在批量应用交付过程中由会话管理 产生的内存和CPU消耗。

2该方法在采集模块中,基于虚拟显示设备,在驱动级实现图像变化增量检测与压缩处 理,从而提高了视频处理效率,增强了高清视频流畅播放的效果。

3该方法中应用的启动与会话无关,使得应用启动过程中不再需要进行系统登录认证, 从而缩短了应用启动时间。

附图说明

图1应用交互示意图;

图2系统通讯结构示意图;

图3应用接收流程示意图;

图4应用采集流程示意图;

图5系统整体架构示意图;

图6虚拟显示设备映射示意图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

如图1所示,基于Windows系统和网络传输的应用虚拟化实现方法,主要包括以下步骤:

步骤(1):应用采集模块从虚拟现实设备的对应区域获取应用图像信息,并将应用图像 信息压缩打包后,通过网络传送给应用接收模块;

步骤(2):应用接收模块向应用采集模块索取应用列表;应用采集模块提取应用列表; 应用采集模块向应用接收模块返回应用列表;应用接收模块展示应用列表;

步骤(3):用户发出启动应用程序的请求,应用接收模块将启动应用程序的请求发送给 应用采集模块,应用采集模块接收启动应用程序的请求并分配虚拟显示资源启动应用程序;

步骤(4):应用采集模块采集应用图像,并向应用接收模块返回应用信息,应用接收模 块展示应用图像;

步骤(5):应用接收模块接收用户交互输入,并向应用采集模块发送输入事件,应用采 集模块重现输入事件,返回步骤(4)。

如图2所示,基于Windows系统和网络传输的应用虚拟化实现方法,详细步骤如下:

步骤1):将应用程序安装在应用运行服务器的Windows操作系统中,并在该Windows操 作系统中安装应用采集模块,启动应用采集模块;应用采集模块虚拟一个超大显示设备;

步骤2):在应用终端上,安装应用接收模块,应用接收模块启动后,自动与应用采集模 块通讯,索取已经安装的应用列表,并显示出来;

应用采集模块中,当接收到应用接收模块的“索取应用列表”的请求后,会给应用接收 模块返回应用列表;

步骤3):用户从应用接收模块展示的应用列表中选择所需要的应用,并选择启动应用程 序,应用接收模块将相应的“请求启动应用”的请求发送给应用采集模块;

步骤4):应用采集模块接收“请求启动应用”的请求后,(如图6所示)首先在虚拟的 显示设备中,申请一块合适的显示区域,然后基于该显示区域启动应用程序,应用程序启动 后,应用采集模块从虚拟显示设备的特定区域采集应用程序运行图像,压缩打包处理后将“应 用运行信息”发送给请求该应用的应用终端,同时返回的应用运行信息还包括一个应用ID, 该应用ID在应用运行服务器上是唯一的;

步骤5):应用接收模块接收“应用运行信息”,解压还原后,创建本地窗口并展示应用 运行图像,同时保存对应的应用ID,此时用户看到应用的运行结果;

步骤6):用户输入信息,同时应用接收模块会捕获到相应的事件,主要是鼠标事件和键 盘事件,该事件连通应用ID通过网络发送到应用采集模块;

步骤7):应用采集模块接收到用户输入事件后,基于应用ID识别应用的显示区域,基 于显示区域的坐标,以Windows事件的方式对输入事件进行回放,作用于相应的应用程序, 同时应用程序的反馈显示以图像形式发送给应用接收模块并展示,从而完成用户与应用程序 的交互。

用户可以根据需要,同时打开多个应用。

如图3所示,所述应用接收模块的具体工作步骤如下:

步骤(1-1):启动应用接收端;

步骤(1-2):基于配置连接应用调度服务器获取服务器信息;

步骤(1-3):与分配的服务器通讯索取应用程序列表;

步骤(1-4):接收应用程序列表并展示;

步骤(1-5):判断是否需要刷新应用;如果是就返回步骤(1-3);如果否,进入步骤(1-6);

步骤(1-6):判断是否启动应用;如果是,进入步骤(1-7);如果否,返回步骤(1-5);

步骤(1-7):发送启动应用请求,进入步骤(1-8);

步骤(1-8):接收应用运行信息并展示程序图像;如果需要停止应用就进入步骤(1-9); 如果存在输入就进入步骤(1-10);

步骤(1-9):判断是否停止应用,如果是就进入步骤(1-11);如果否,重复步骤(1-5);

步骤(1-10):判断是否存在输入,如果是就进入步骤(1-12);如果否,重复步骤(1-5);

步骤(1-11):通知应用采集程序关闭当前应用程序;结束;

步骤(1-12):捕获输入事件并发送采集端;返回步骤(1-8)。

如图4所示,所述应用采集模块的具体工作步骤如下:

步骤(2-1):启动应用采集端;如果需要判断是否索取应用就进入步骤(2-2);如果需 要判断是否启动应用就进入步骤(2-4);

步骤(2-2):判断是否索取应用;如果是就进入步骤(2-3);如果否就进入步骤(2-4);

步骤(2-3):提取本地安装应用程序并发送应用程序列表,返回步骤(2-2);

步骤(2-4):判断是否启动应用;如果是就进入步骤(2-5);如果否就返回步骤(2-2);

步骤(2-5):启动本地应用;进入步骤(2-6);

步骤(2-6):获取应用运行信息;进入步骤(2-7);

步骤(2-7):将应用运行信息发送给接收程序;如果需要判断是否停止应用就进入步骤 (2-8);如果需要判断是否存在输入就进入步骤(2-9);

步骤(2-8):判断是否停止应用;如果是就进入步骤(2-10);如果否就进入步骤(2-4);

步骤(2-9):判断是否存在输入;如果是就进入步骤(2-11);如果否就进入步骤(2-4);

步骤(2-10):停止应用程序,结束;

步骤(2-11):模拟输入事件,返回步骤(2-6)。

如图5所示,基于Windows系统和网络传输的应用虚拟化实现系统,包括通过网络进行 通信的应用接收模块和应用采集模块,所述应用接收模块包括彼此双向通信的应用终端和虚 拟应用调度服务器,所述应用采集模块包括彼此双向通信的存储服务器和应用运行服务器。

所述存储服务器用来集中存储所有用户的个人数据(以各种磁盘文件格式存在的内容), 在用户操作应用的时候从存储服务器获取个人数据。

所述应用运行服务器安装Windows操作系统,以及用户可能用到的应用程序,当用户需 要使用应用程序时,应用程序会在此服务器上运行;所述应用运行服务器同时安装运行应用 采集程序,实现应用的远程呈现。

所述虚拟应用调度服务器的功能包括两个方面,一是对用户的身份鉴定,以保证合法用 户使用系统,二是为多用户协调分配应用程序运行的环境,均衡系统负载。

所述应用终端虚拟应用的交互场所,通过应用接收程序实现应用程序运行图像的接收展 示和用户交互输入的捕获传送。所述应用终端包括普通PC、笔记本、智能终端、移动终端或 掌上电脑设备,所述应用终端不需要有强大的运算能力,只要求具备网络通讯、图像展示、 输入能力。

所述应用接收模块安装部署在应用终端上;所述应用接收模块的配置,至少包括指定虚 拟应用调度服务器的通讯地址(比如IP地址),以便在用户登录时,知道将用户的登录信息 发送到虚拟应用调度服务器进行用户验证。

所述应用采集模块安装部署在用户应用程序运行的Windows操作系统的应用运行服务器 上,并以系统服务形态启动;应用采集模块在初始化阶段会虚拟一个适当大小的显示设备, 以便将以后运行的应用程序输出到该显示设备上;在运行过程中,应用采集程序会根据分配 到本服务器上的用户,动态映射并访问共享存储服务器上对应的用户个人数据。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限 制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付 出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号