CN112379963B - 远程应用窗口控制方法、装置及计算机设备 - Google Patents

远程应用窗口控制方法、装置及计算机设备 Download PDF

Info

Publication number
CN112379963B
CN112379963B CN202011375744.3A CN202011375744A CN112379963B CN 112379963 B CN112379963 B CN 112379963B CN 202011375744 A CN202011375744 A CN 202011375744A CN 112379963 B CN112379963 B CN 112379963B
Authority
CN
China
Prior art keywords
application
virtual display
target
virtual
application window
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
CN202011375744.3A
Other languages
English (en)
Other versions
CN112379963A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202011375744.3A priority Critical patent/CN112379963B/zh
Publication of CN112379963A publication Critical patent/CN112379963A/zh
Application granted granted Critical
Publication of CN112379963B publication Critical patent/CN112379963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提出了一种远程应用窗口控制方法、装置及计算机设备,对于计算机设备的任一虚拟机中的虚拟操作系统所安装注册的应用程序,在启动任一应用程序的情况下,可以确定与所启动的应用程序对应的目标虚拟显示画布,以将该应用程序的注册窗口信息调度至目标虚拟显示画布中,得到该应用程序的远程应用窗口图像,而不再调度至各应用程序共享的一个虚拟显示画布中,之后,可以按照不同终端、不同应用程序以及不同虚拟显示画布之间的对应关系,直接将远程应用窗口图像发送至对应的目标终端进行展示,这样,对于不同应用程序的应用窗口,本申请能够通过不同终端进行展示,从而避免了相互之间的遮挡干扰。

Description

远程应用窗口控制方法、装置及计算机设备
技术领域
本申请主要涉及虚拟化技术领域,更具体地说是涉及一种远程应用窗口控制方法、装置及计算机设备。
背景技术
系统虚拟化是指在一台物理计算机系统上虚拟出一台或多台虚拟计算机系统,能够充分利用该物理计算机能力,减少购买物理计算机的成本。虚拟化原理简言之,就是使多台虚拟计算机(Virtual Machine,VM,下文简称虚拟机)运行在虚拟机监控器(VirtualMachine Monitor,简称VMM,俗称系统管理程序Hypervisor)上,而虚拟机监控器又能直接运行在物理计算机系统上。
随着虚拟化技术的发展,推出了如虚拟桌面(virtual desktop infrastructure,VDI)技术,即支持企业级实现桌面系统的远程动态访问与数据中心统一托管的技术。在这种虚拟桌面技术的应用中,虚拟机监控器可以将虚拟机运行的应用程序的应用窗口信息,通过网络发送至各瘦终端进行展示。
但在虚拟机监控器的虚拟机安装有一个或多个操作系统,以运行不同的应用程序的情况下,各终端同时显示某一运行应用程序的应用窗口信息期间,若另一运行应用程序出现异常,虚拟机监控器将会生成相应异常提示窗口信息,对各终端所正常显示的应用窗口信息造成遮挡干扰。对此,现有技术中通常是通过登录异常显示的远程虚拟桌面,用户手动调整应用窗口显示位置,或关闭异常提示窗口,非常麻烦。
发明内容
有鉴于此,为了解决上述技术问题,本申请提供了以下技术方案:
一方面,本申请提出了一种远程应用窗口控制方法,所述方法包括:
针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布;
将所述应用程序的注册窗口信息调度至所述目标虚拟显示画布中,得到所述应用程序的远程应用窗口图像;
按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示。
可选的,所述针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布,包括以下任一实现方式:
检测到虚拟操作系统针对任一应用程序的启动指令,创建与所述应用程序对应的目标虚拟显示画布,并记录所述应用程序与所述目标虚拟显示画布之间的对应关系;
检测到虚拟操作系统针对任一应用程序的启动指令,从预先创建的多个虚拟显示画布中,选择任一虚拟显示画布确定为所述应用程序对应的目标虚拟显示画布;
检测到虚拟操作系统针对多个应用程序各自的启动指令,依据所述多个应用程序各自的应用属性信息,确定所述多个应用程序各自所属的应用类别,针对属于同一所述应用类别的至少一个所述应用程序,创建或调用一个目标虚拟显示画布。
可选的,所述按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示,包括:
响应针对不同终端的应用配置请求,得到所述不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系;
按照所述对应关系,将启动运行的应用程序的所述远程应用窗口图像,发送至对应的目标终端进行展示。
可选的,所述按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示,包括:
接收第一终端发送的应用访问请求,所述应用访问请求携带有所述第一终端的设备标识,以及请求访问的应用程序的应用标识;
响应所述应用访问请求,获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,将所述目标远程应用窗口图像反馈至所述第一终端进行展示。
可选的,所述获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,包括:
确定与所述设备标识对应的至少一个虚拟显示画布;
从确定的所述至少一个虚拟显示画布对应的远程应用窗口图像中,获得与所述应用标识对应的目标远程应用窗口图像。
可选的,所述获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,包括:
确定与所述设备标识和所述应用标识对应的虚拟显示画布;
若所确定的所述虚拟显示画布的数量为多个,对该多个虚拟显示画布各自对应的远程应用窗口图像进行合并处理,得到在一个虚拟显示画布上呈现且包含所述应用标识对应的多个远程应用窗口图像的目标远程应用窗口图像;或者,
按照该多个虚拟显示画布各自对应的远程应用窗口图像的应用优先级,确定多个所述远程应用窗口图像的展示顺序,并将所述多个远程应用窗口图像确定为目标远程应用窗口图像;
所述将所述目标远程应用窗口图像反馈至所述第一终端进行展示具体为:
将多个所述目标远程应用窗口图像及所述展示顺序反馈至所述第一终端,由所述第一终端按照所述展示顺序,顺次展示所述多个目标远程应用窗口图像。
可选的,若接收到多个所述应用访问请求,所述响应所述应用访问请求,包括:
依据多个所述应用访问请求各自携带的设备标识和应用标识,确定所述多个应用访问请求的响应优先级;
按照所述响应优先级,顺次响应相应的所述应用访问请求。
可选的,所述应用属性信息包括相应应用程序的访问频率和/或应用窗口尺寸,所述方法还包括:
依据最新获取的所述应用属性信息,更新所述多个应用程序各自所属的应用类别;
按照更新后的应用类别,调整相应应用程序与虚拟显示画布之间的对应关系。
又一方面,本申请还提出了一种远程应用窗口控制装置,所示装置包括:
虚拟显示画布确定模块,用于针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布;
远程应用窗口图像得到模块,用于将所述应用程序的注册窗口信息调度至所述目标虚拟显示画布中,得到所述应用程序的远程应用窗口图像;
远程应用窗口图像传输模块,用于按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示。
又一方面,本申请还提出了一种计算机设备,所述计算机设备包括:
虚拟机监视器;
能够在所述虚拟机监视器运行的虚拟机,所述虚拟机中安装有一个虚拟操作系统,所述虚拟操作系统能够运行不同的应用程序,且能够创建不同的虚拟显示画布;
部署在虚拟机监视器中的虚拟机显示与监控调度组件;
部署在所述虚拟机中能够执行所述虚拟机显示与监控调度组件下发的控制指令的执行元件;
其中,所述虚拟机显示与监控调度组件,用于实现以下远程应用窗口控制方法:
针对虚拟操作系统所启动的应用程序,确定所述虚拟机中对应的目标虚拟显示画布;
控制所述执行元件将所述应用程序的注册窗口信息调度至所述目标虚拟显示画布中,得到所述应用程序的远程应用窗口图像;
按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示。
由此可见,本申请提供了一种远程应用窗口控制方法、装置及计算机设备,对于计算机设备的任一虚拟机中的虚拟操作系统所安装注册的应用程序,在启动任一应用程序的情况下,可以确定与所启动的应用程序对应的目标虚拟显示画布,以将该应用程序的注册窗口信息调度至目标虚拟显示画布中,得到该应用程序的远程应用窗口图像,而不再调度至各应用程序共享的一个虚拟显示画布中,之后,可以按照不同终端、不同应用程序以及不同虚拟显示画布之间的对应关系,直接将远程应用窗口图像发送至对应的目标终端进行展示,这样,对于不同应用程序的应用窗口,本申请能够通过不同终端进行展示,从而避免了相互之间的遮挡干扰。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为适用于本申请提出的远程应用窗口控制方法和装置的一可选应用环境的结构示意图;
图2为本申请提出的远程应用窗口控制方法的一可选示例的流程示意图;
图3为本申请提出的远程应用窗口控制方法的又一可选示例的流程示意图;
图4为本申请提出的远程应用窗口控制方法的又一可选示例的流程示意图;
图5为本申请提出的远程应用窗口控制方法的又一可选示例的流程示意图;
图6为本申请提出的远程应用窗口控制方法的又一可选示例的流程示意图;
图7为本申请提出的远程应用窗口控制装置的一可选示例的结构示意图;
图8为本申请提出的远程应用窗口控制装置的又一可选示例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
应当理解,本申请中使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。以下术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
另外,本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
针对背景技术描述的技术问题,本申请提出对特定监控应用程序的应用窗口,配置独立的虚拟显示画布,即将其与操作系统运行的其他应用程序的应用窗口的虚拟显示画布分开,从而使该特定监控应用程序的应用窗口,与其他应用程序的应用窗口的显示区分开,即实现通过远程的不同终端(如瘦终端),对不同应用程序的应用窗口的独立显示,即实现了多种不同应用程序的应用窗口并行远程显示,而且,即便某一应用程序异常报错,所生成的异常提示窗口也不会对其他终端显示的应用窗口造成遮挡干扰,也就不需要用户手动关闭该异常提示窗口来解决遮挡干扰问题。
参照图1,为适用于本申请提出的远程应用窗口控制方法和装置的一可选应用环境的结构示意图,如图1所示,该应用环境可以包括:终端11和计算机设备12,其中:
终端11可以是具有图像显示功能的各种电子设备,如智能手机、平板电脑、可穿戴设备、个人计算机(personalcomputer,PC)、上网本、车载设备、显示设备、台式计算机等,本申请对该电子设备的产品类型及其组成结果不做限制。
在一些实施例中,终端11可以包括显示装置、通信模块、存储器及处理器,该存储器可以存储该终端支持实现的各服务功能的程序,由该处理器执行该程序,来实现相应的服务功能,如控制显示装置输出通信模块接收到的视频流媒体等,本申请对终端11具体硬件结构不做限制,可依据该终端产品类型及其所具有的功能等确定,本申请实施例在此不做一一详述。
在如虚拟桌面等远程监控应用场景下,终端11作为远程显示终端,可以接收作为远程监控设备的计算机设备12发送的视频流媒体并输出,以使该终端11处的用户能够观看视频流媒体的视频内容,关于视频流媒体的传输及显示控制过程本申请不做详述。
而且,用户可以通过任何终端,在任何地点、任何时间,远程访问计算机设备(其也可以称为物理机)上虚拟机的邮件系统、网盘、桌面系统等,非常方便,且大大减少了计算机系统的硬件投入成本。
计算机设备12可以是对上述终端提供远程监控服务的虚拟化服务的服务器,或具有一定数据处理能力的电子设备。本申请实施例中,该计算机设备12可以执行本申请实施例提出的远程应用窗口控制方法和装置,具体实现过程可以参照下文相应实施例的描述。
示例性的,在如机场、地铁站、大型生产车间等占地面积较大的场所,通常在不同位区域配置相应的显示设备,由计算机设备12实现对各显示设备的远程监控,结合上文对本申请技术构思的描述,计算机设备12可以向不同的显示设备发送相同或不同应用程序的应用窗口,以使各显示设备展示相同或不同的视频,供相应区域的用户观看,得知所需信息内容,关于不同显示设备输出不同应用程序的应用窗口的具体实现过程,可以参照但并不局限于下文相应实施例的描述,本实施例在此不做详述。
结合上文描述,如图1所示的计算机设备的一可选结构,该计算机设备12可以包括:虚拟机监视器121;部署在虚拟机监视器121中的虚拟机显示与监控调度组件122;能够在虚拟机监视器121中运行的虚拟机(即虚拟计算机系统)123,以及部署在虚拟机中能够执行该虚拟机显示与监控调度组件122下发的控制指令的执行元件124,其中:
虚拟机监视器121(Hypervisor)可以是安装在物理硬件上的软件层,可以将物理机(即计算机设备)通过虚拟化分为许多虚拟机,虚拟机中的虚拟操作系统可以在一个物理硬件上同时运行。在实际应用中,可以将有虚拟机监视器运行的硬件称为主机,通过虚拟机监视器实现对各虚拟机的调度管理、控制等,具体实现过程本申请在此不做详述。
在实际应用中,各终端发起的应用访问请求通常是直接发送至虚拟机监视器,由该组件依据请求内容,控制相应虚拟机按照各自的通信机制,执行该请求内容。在本申请实施例中,如图1所示,为了执行本申请实施例提出的远程应用窗口控制方法和装置,在该虚拟机监视器中部署了虚拟机显示与监控调度组件122,如一种流媒体服务器等,以使该流媒体服务器作为服务端,依据终端发起的应用访问请求或应用监控请求,实现对相应虚拟机的控制。
其中,虚拟机123是指使用虚拟化技术运行在一个隔离环境中的具有完整硬件功能的逻辑计算机系统,可以包括操作系统(即虚拟操作系统,也可以称为实例)和应用程序。一台虚拟机中可以安装一个操作系统,如windows系统等,这个操作系统能够运行不同的应用程序等,本申请对虚拟机的软件层面的系统结构不做详述。
在本申请实施例中,计算机设备中可以构建一个或多个虚拟机,该虚拟机可以在上述虚拟机监视器121中运行,具体可以由虚拟机监视器121中的虚拟机显示与监控调度组件122控制虚拟机,实现虚拟机所配置有的各种功能。
对于虚拟,123来说,其可以配置有一个或多个虚拟操作系统,各虚拟操作系统可以安装有一个或多个应用程序,以及能够执行虚拟机显示与监控调度组件122下发的控制命令的执行元件124,也就是说,虚拟机显示与监控调度组件122按照本申请提出的远程应用窗口控制方法,控制在相应虚拟机构建与应用程序对应的虚拟显示画布,以得到相应的远程应用窗口图像的过程中,虚拟机显示与监控调度组件122可以生成相应的控制指令发送至虚拟机,以使该虚拟机相应虚拟操作系统对应的执行元件124响应该控制指令,执行实现上述功能的程序代码,得到需要远程可视化展示的远程应用窗口图像,具体实现过程本申请不做详述。
参照图1所示的虚拟机组成结构,但并不局限于图1所示的虚拟机组成结构,本申请仅以图1所示的一个虚拟机组成结构为例进行说明,如图1所示,虚拟机有虚拟操作系统1和虚拟操作系统2,虚拟操作系统1中安装有应用程序1和应用程序2,虚拟操作系统2中安装有应用程序1和应用程序2,当然,也可以安装其他应用程序,本申请对各虚拟机操作系统数量及类型,以及每一个虚拟操作系统所安装的应用程序的数量及类别不做限制,可视情况而定,且图1仅示出了计算机设备应用的一可选示例,并不对计算机设备的组成结构构成任何限制。
基于上图1所示的计算机设备结构,在实际应用中,在启动某虚拟机操作系统中所安装的应用程序的情况下,可以确定与该应用程序对应的虚拟显示画布,即在计算机设备所具有的原虚拟显示画布基础上,扩展得到新的虚拟显示画布,具体如图1所示,可以针对虚拟操作系统1中的应用程序1,创建对应的虚拟显示画布1,为应用程序2创建对应的虚拟显示画布2,且该虚拟显示画布2区别于虚拟显示画布1,从而使得在虚拟显示画布2输出的应用程序2的应用窗口图像2,与虚拟显示画布1输出的应用程序1的应用窗口图像1之间不会相互遮挡干扰,虚拟操作系统2中针对不同应用程序,创建对应的虚拟显示画布的实现过程类似,本实施例不做详述。
在实际应用中,由于虚拟操作系统安装的应用程序,会在虚拟机显示与监控调度组件122中完成窗口信息的注册,所以,在获取各应用窗口图像过程中,虚拟机显示与监控调度组件122可以通过虚拟机中安装的执行元件124将所启动的应用程序对应的注册窗口信息,调度至对应虚拟机中所确定的目标虚拟显示画布中,具体实现过程不做详述。
由此可见,本申请上述虚拟机显示与监控调度组件122可以作为虚拟机中虚拟操作系统,与远程的各终端之间的数据交互的中间设备,同时也存在于各虚拟机的虚拟操作系统的虚拟监视器端,按照本申请提出的远程应用窗口控制方法,实现对虚拟机的控制,使得一个或多个虚拟操作系统可以并行执行多种任务,并将得到的不同远程应用窗口图像反馈至对应的不同终端输出,解决了同一终端输出不同应用窗口而造成的遮挡干扰的技术问题,具体实现过程可以参照下文实施例相应部分的描述,在本申请在此不做详述。
本申请实施例中,对于上述计算机设备12,可以利用移动边缘计算(Multi-accessEdge Computing,MEC)平台实现上述功能,该MEC能够将无线网络和互联网两者技术有效融合在一起,并在无线网络侧增加计算、存储、处理等功能,构建开放式平台以植入应用,并通过无线API开放无线网络与应用服务器之间的信息交互,降低如计算机设备与各终端11之间的数据传输延迟等,加速网络中各项内容、服务及应用的快速下载,让用户享有不间断的高质量网络体验。关于该MEC技术的具体工作原理本申请不做详述。
应该理解的是,图1所示的计算机设备的结构并不构成对本申请实施例中计算机设备的限定,在实际应用中,计算机设备可以包括比图1所示的更多或更少的部件,或者组合某些部件,本申请在此不做一一列举。
参照图2,为本申请提出的远程应用窗口控制方法的一可选示例的流程示意图,该方法可以适用于如上述计算机设备,该计算机设备的产品类型可以依据具体应用场景的需求确定,本申请对此不做限制,如图2所示,本实施例提出的远程应用窗口控制方法可以包括:
步骤S11,针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布;
结合上文描述,在监控或访问远程可视化的虚拟机应用中,可以将需要远程可视化监控或访问的应用程序,安装到计算机设备的虚拟机的操作系统中,并在计算机设备的虚拟机显示与监控调度组件中注册相应应用信息,保证该应用程序能够在虚拟机操作系统中正常运行,关于应用程序在虚拟机操作系统安装及注册过程,本申请不作详述。
在完成应用程序的安装及注册后,就可以选择启动该应用程序运行,以通过远程的终端显示屏输出该应用程序的各应用窗口,在该过程中,为了实现该应用程序的应用窗口的独立显示,避免其他应用程序的应用窗口的遮挡干扰,本申请提出针对所启动运行的应用程序,创建对应的目标虚拟显示画布,以向虚拟表面提供即时模式2D渲染,而不是直接使用默认所有应用程序共享的虚拟显示画布,保证远程终端能够独立显示该目标虚拟显示画布上的图像。
其中,对于虚拟机所启动的应用程序,可以由虚拟机监视器中的虚拟机显示与监控调度组件响应终端发送的访问请求,或监控指令等,来确定虚拟机的操作系统所安装的相应应用程序启动运行,从而触发虚拟机确定与该应用程序相对应的目标虚拟显示画布,具体实现过程不做详述。
对于上述目标虚拟显示画布,可以是在确定虚拟操作系统启动某应用程序后,针对所启动的应用程序,计算机设备控制虚拟机在线扩展得到的,或者是从预先创建的虚拟显示画布中所调用等,本申请对步骤S11中,确定所启动的应用程序对应的目标虚拟显示画布的具体实现方法不做限制,可视情况而定。
步骤S12,将该应用程序的注册窗口信息调度至目标虚拟显示画布中,得到应用程序的远程应用窗口图像;
本申请实施例中,在确定本次启动的应用程序的应用窗口在哪个虚拟显示画布输出后,为了输出该应用程序的虚拟桌面,可以将该应用程序所注册的窗口信息调度至目标虚拟显示画布中,从而得到相应的远程应用窗口图像,即使得用户在终端上直接观看到的窗口图像,本申请对如何将注册窗口信息调度至虚拟显示画布中的实现过程不做详述。
如上文对目标虚拟显示画布的相关描述,由于该目标虚拟显示画布是针对所启动的应用程序所确定的,可以是独立的虚拟显示画布,即不与其他应用程序共享,或者是不与其他使用频繁或重要的应用程序共享,以避免不同应用程序的应用窗口图像输出的相互干扰。所以,在本实施例同步启动多个应用程序的场景下,确定各应用程序对应的目标虚拟显示画布后,可以分别将各应用程序对应的注册窗口信息调度至各自的目标虚拟显示画布中,得到各自的远程应用窗口图像,该调度过程不互干扰,可以同步执行,本申请对多个远程应用窗口图像的获取过程不做详述。
示例性的,在如上图1所示的应用环境结构示意图中,由于该应用环境中的各终端是直接与计算机设备中的虚拟机监视器中的虚拟机显示与监控调度组件,如流媒体服务器进行数据交互,由该虚拟机显示与监控调度组件按照预设的监控机制,执行本申请提出的远程应用窗口控制方法,控制各虚拟机实现针对其操作系统所启动的应用程序,扩展或创建或调度对应的目标虚拟显示画布,之后,虚拟机显示与监控调度组件可以将该应用程序的注册窗口信息发送至相应虚拟机中的执行元件,以使该执行元件将该注册窗口信息调度至所确定的目标虚拟显示画布,得到所需的远程应用窗口图像。
可以理解,在一些实施例中,可能存在两个或更多个应用程序共享一个虚拟显示画布的情况,但此时这多个应用程序往往会有一定的执行优先级,实际应用中,可以按照该执行优先级顺序,依次获取相应的远程应用窗口图像,也就是说,在某一时间,可以将某一应用程序的注册窗口信息调度至对应的目标虚拟显示画布,得到该应用程序对应的远程应用窗口图像,并发送至远程终端输出;但完成该应用程序的应用窗口展示后,可以按照这种处理方式继续对下一执行优先级的应用程序进行处理,以使该终端输出该下一执行优先级的应用程序的远程应用窗口图像,具体实现过程本实施例不做详述。
步骤S13,按照不同终端、不同应用程序以及不同虚拟显示画布之间的对应关系,将该远程应用窗口图像发送至对应的目标终端进行展示。
继上文描述,对于如图1中的各终端来说,在不同应用场景下,需要其输出的应用窗口图像内容可能不同,因此,各终端向计算机设备发起的应用访问请求,可能请求访问不同的应用程序,以满足不同用户对计算机设备安装的各应用程序的使用需求。本申请可以依据但并不局限于该应用场景的使用情况,来确定不同终端与不同应用程序之间的对应关系。
而且,结合上文分析,对于不同应用程序来说,可以通过统计其所具有的访问频率、应用窗口尺寸等信息,对计算机设备所安装的多个应用程序进行分类,确定各应用程序的执行优先级或重要排序,进而据此确定哪一个或多个应用程序,可以具有独立的虚拟显示画布,哪些应用程序可以共享一个虚拟显示画布等,以使计算机设备可以据此确定出不同应用程序与已有的各虚拟显示画布之间的对应关系。
此外,本申请还可以依据特定应用场景的要求,来为不同终端配置其输出哪个虚拟显示画布中的内容,这样,无论该虚拟显示画布对应哪个应用程序,得到相应的远程应用窗口图像,都有对应的终端进行展示,具体配置过程本申请不做详述。可见,本申请还可以确定不同终端与不同虚拟显示画布之间的对应关系,需要说明,本申请对上述各对应关系的获取方式及其表示方式均不作限制,可视情况而定。
在一种可能的实现方式中,对于上述不同的终端,可以利用设备唯一标识符、设备注册序列号等设备标识进行表示,并在其输出的如应用访问请求等信息中,携带该设备标识,以使接收到该信息的计算机设备,能够据此确定相对应的请求信息;同理,对于上述不同应用程序,也可以由如应用名称、应用标识号、应用注册号等应用标识来区分;对于不同的虚拟显示画布,可以依据其与其他虚拟显示画布之间的位置关系,或针对所扩展创建的虚拟显示画布,在整个虚拟内存中的位置信息等进行区别,本申请对不同终端、不同应用程序以及不同虚拟显示画布各自之间的识别依据不做限制,包括但并不局限于上文列举的标识信息。
对于上述各对应关系,可以随着远程监控或访问应用程序的终端更新、计算机设备的虚拟机操作系统所安装注册的应用程序的更新,以及所创建的各虚拟显示画布的更新等进行动态更新,以便后续能够按照最新的对应关系,将各远程应用窗口图像发送至对应的目标终端进行展示,保证终端可靠且准确展示所需显示的远程应用窗口图像,满足用户远程访问或监控需求。
示例性的,若终端A访问应用程序1的应用窗口信息,终端A可以向计算机设备发送相应的应用访问请求,该应用访问请求可以携带有终端A的设备标识以及应用程序1的应用标识等信息,由于终端无法直接访问计算机设备的虚拟机操作系统,因此,终端A可以将该应用访问请求发送至计算机设备的虚拟机显示与监控调度组件,由该组件解析该应用访问请求,确定发起本次请求是哪个终端,要访问哪个应用程序,具体解析过程不做详述。
之后,虚拟机显示与监控调度组件可以按照预先确定的不同终端、不同应用程序以及不同虚拟显示画布之间的对应关系,将接收到的应用访问请求,或基于该应用访问请求得到的访问指令发送至相应的虚拟机,由该虚拟机得知该终端A所访问的应用程序1,以及该应用程序对应的目标虚拟显示画布,通过虚拟机中的执行元件将该应用程序1的注册窗口信息调度至该目标虚拟显示画布,得到相应的远程应用窗口图像,通过虚拟机显示与监控调度组件和虚拟机监视器反馈至终端A,以使终端A输出应用程序1的应用窗口,满足用户对应用程序1的访问需求。
可以理解,在需要远程监控某应用程序的场景下,也可以按照上述方式,由计算机设备将该应用程序的注册窗口信息扩展到对应的目标虚拟显示画布中,将得到的远程应用窗口图像发送至对应的终端进行展示,以使用户在终端侧监控该应用程序的运行情况,具体实现过程本申请不做详述。
综上所述,在本申请实施例中,对于计算机设备的任一虚拟机中的虚拟操作系统所安装注册的应用程序,在启动任一应用程序的情况下,可以确定与所启动的应用程序对应的目标虚拟显示画布,以将该应用程序的注册窗口信息调度至目标虚拟显示画布中,得到该应用程序的远程应用窗口图像,而不再调度至各应用程序共享的一个虚拟显示画布中,之后,可以按照不同终端、不同应用程序以及不同虚拟显示画布之间的对应关系,直接将远程应用窗口图像发送至对应的目标终端进行展示,这样,对于不同应用程序的应用窗口,本申请能够通过不同终端进行展示,从而避免了相互之间的遮挡干扰。
参照图3,为本申请提出的远程应用窗口控制方法的又一可选示例的流程示意图,本实施例可以是对上述实施例提出的远程应用窗口控制方法的一可选细化实现方式,但并不局限于本实施例描述的这种细化实现方法,如图3所示,该方法可以包括:
步骤S21,检测到虚拟操作系统针对任一应用程序的启动指令,创建与该应用程序对应的目标虚拟显示画布;
在本申请实施例中,启动指令可以依据终端发起的应用访问请求、应用监控请求、应用配置请求等生成的,本申请对该启动指令的具体生成方式及其包含的内容不做限制,可视情况而定。
如步骤S21描述,本申请实施例选择在线创建虚拟显示画布的方式,来确定与所启动的应用程序对应的目标虚拟显示画布,本申请对虚拟显示画布的在线创建扩展过程不做限制。
示例性的,本申请可以在原监控显示器的基础上,创建扩展监控显示器,以将对应应用窗口在该扩展监控显示器进行独立显示,在此期间,虚拟操作系统中的其他应用窗口,仍可以在计算机设备具有的原监控显示器中进行正常显示,实现了扩展监控显示器与原监控显示器之间的互补干扰。
其中,上述每一个监控显示器可以对应一个虚拟显示画布,创建扩展监控显示器,即在计算机设备所具有的原虚拟显示画布基础上,创建扩展虚拟显示画布,由该扩展虚拟显示画布,生成对应应用程序的应用窗口图像,关于虚拟显示画布的具体扩展实现过程不做详述。
步骤S22,记录该应用程序与目标虚拟显示画布之间的对应关系;
在实际应用中,由于计算机设备通常会具有多个虚拟机,并在各虚拟操作系统中安装各种应用程序,对于虚拟机中每一个应用程序来说,其均可以按照上述方式,创建对应的目标虚拟显示画布,从而创建多个扩展监控显示器,为了方便后续终端访问或监控这些应用程序,查询相应的扩展监控显示器所输出的远程应用窗口图像,本申请可以记录每个所启动的应用程序,与针对该应用程序所创建的目标虚拟显示画布之间的对应关系。
需要说明,本申请对各应用程序与各虚拟显示画布之间的对应关系的表示方式及存储方式不做限制。可选的,本申请可以依据各虚拟显示画布之间的相对位置关系,得到各虚拟显示画布的位置信息,从而将其作为该虚拟显示画布对应的应用程序的窗口位置信息,以便计算机设备响应终端发送的应用访问请求或应用监控请求时,可以依据该窗口位置信息获取相应虚拟现实画布中的远程应用窗口图像,具体实现过程不做详述。
步骤S23,获取该应用程序的注册窗口信息,将该注册窗口信息调度至该目标虚拟显示画布中,得到该应用程序的远程应用窗口图像;
关于步骤S23的具体实现过程,可以参照上文实施例相应部分的描述,本实施例在此不做赘述。
步骤S24,响应针对不同终端的应用配置请求,得到不同终端、不同应用程序以及不同虚拟显示画布之间的对应关系;
步骤S25,按照该对应关系,将启动运行的该应用程序的远程应用窗口图像,发送至对应的目标终端进行展示。
在本申请实施例中,用户可以依据应用场景的需求,来确定各终端所要输出的应用程序内容,即确定终端与各应用程序之间的对应关系,并在相应的配置界面中进行配置,生成针对不同终端的应用配置请求,发送至计算机设备,以使该计算机设备按照该应用配置请求所包含的,不同终端与不同应用程序之间的对应关系,以及预先记录的不同应用程序与不同虚拟显示画布之间的对应关系,来确定不同终端、不同应用程序以及不同虚拟显示画布之间的对应关系。
之后,当需要各终端输出应用程序内容的情况下,可以直接按照所确定的不同终端、不同应用程序以及不同虚拟显示画布之间的对应关系,将各虚拟显示画布当前所对应的远程应用窗口图像,发送至对应的目标终端输出,如终端A输出虚拟显示画布1对应的应用程序1的应用窗口图像;终端B输出虚拟显示画布2对应的应用程序3的应用窗口图像;终端C输出虚拟显示画布3对应的应用程序2的应用窗口图像等,但并不局限于本实施例列举的这几种远程监控输出方式,可以理解,对于远程多个终端,可以存在两个或多个终端输出同一应用窗口图像的情况,这可以依据上述应用配置请求所包含的内容确定,本申请在此不做一一列举。
需要说明,关于本申请上述虚拟显示画布的扩展创建触发条件,并不局限于上文描述的内容,因此,上述应用配置请求的获取步骤及虚拟显示画布的创建步骤,并不局限于本实施例描述的执行顺序,也可以在获取应用配置请求后,由此触发虚拟操作系统中的相应应用程序启动,创建对应的目标虚拟显示画布,实现过程类似本申请不做一一详述。
综上,在本申请实施例中,对于远程可视化监控的虚拟操作系统中的应用程序,检测针对该应用程序的启动指令,本申请将直接创建与该应用程序对应的目标虚拟显示画布,而不是使用计算机设备原虚拟显示画布,这样,将该应用程序的注册窗口信息调度至该目标虚拟显示画布,能够得到相对独立的远程应用窗口图像,不会对虚拟操作系统中的其他应用程序的注册窗口信息在原虚拟显示画布中的调度操作,且计算机设备还能够结合应用配置请求所包含的内容,确定不同终端、不同应用程序以及不同虚拟显示画布之间的对应关系,从而据此将不同应用程序的远程应用窗口图像,分发至对应的终端,以使得各终端能够输出不同应用程序的应用窗口,不再局限于各终端输出相同的应用窗口,这样,当某一应用程序异常,异常提示窗口仅会在对应的终端中输出,不会干扰其他虚拟现实画布的输出,即不会干扰其他终端输出的应用窗口。
在本申请提出的又一些实施例中,对于上述实施例中,针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布的实现过程,并不局限于上文给出的在线创建扩展虚拟显示画布的实现方式,本申请也可以预先创建空白的虚拟显示画布,这样,在确定所启动的应用程序后,可以从中直接调用任一虚拟显示画布,作为该应用程序的目标虚拟显示画布。
基于此,上述步骤S11具体可以包括:检测到虚拟操作系统针对任一应用程序的启动指令,从预先创建的多个虚拟显示画布中,选择任一虚拟显示画布确定为该应用程序对应的目标虚拟显示画布。关于空白的虚拟显示画布的创建过程,可以参照上文实施例相应部分的描述,本实施例在此不做详述。
需要说明,随着计算机设备虚拟机所安装注册的应用程序的增加,可以创建新的虚拟显示画布,以满足各应用程序的应用窗口显示需求;若虚拟机卸载若干应用程序,剩余注册的应用程序数量小于已创建的虚拟显示画布的数量,本申请也可以删除部分虚拟显示画布;当然,预先创建的虚拟显示画布数量不够,可以按照上述方式在线创建新的虚拟显示画布等,具体可视情况而定,本申请在此不做一一详述。
在本申请提出的又一些实施例中,本申请还可以针对虚拟机成功安装的应用程序,预先创建对应的目标虚拟显示画布,在确定某一应用程序被启动运行时,可以按照该对应关系,调用对应的目标虚拟显示画布等。本申请对步骤S11中,确定所启动的应用程序对应的目标虚拟显示画布的具体实现方法不做限制,可视情况而定。
基于上文各实施例的描述,在本申请提出的又一些实施例中,对于计算机设备的虚拟操作系统所安装的各应用程序,通常是不同类别的应用程序,在不同应用场景下,对各应用程序的访问频率、各应用程序所输出的应用窗口的尺寸大小、该应用场景对各应用程序的重要级别要求等信息往往不同,这就会导致对各应用程序的远程应用窗口展示要求不同,如某些应用程序的应用窗口必须处于前端,不能被其他应用程序遮挡;某些应用程序的应用窗口通常情况下可以不用展示,只在特定条件下再发送至终端进行展示等。
因此,本申请可以将上述如应用程序的访问频率和/或应用窗口尺寸等信息,确定为该应用程序的应用属性信息,之后,可以按照该应用属性信息,对各应用程序进行分类,得到多个不同的应用类别。其中,不同应用类别对其所属应用程序是否要有一一对应的虚拟显示画布的要求可以不同,如属于应用类别1的各应用程序,要求具有一一对应的虚拟显示画布;属于应用类别2的各应用程序,可以共享一个虚拟显示画布等;属于应用类别3的各应用程序,可以若干个应用程序共享一个虚拟显示画布等等,本申请对不同应用类别的各应用程序,与虚拟显示画布之间的对应关系(如一一对应关系、一对多的对应关系等)的要求不做一一详述,可视情况而定。
而且,随着时间推进,各应用程序的应用属性信息可能会发生变化,这种情况,本申请可以依据最新获取的应用属性信息,更新多个应用程序各自所属的应用类别,从而按照更新后的应用类别,调整相应应用程序与虚拟显示画布之间的对应关系,具体实现过程本申请不做详述。
基于上述分析,上述步骤S11的具体实现过程可以包括:检测到虚拟操作系统针对多个应用程序各自的启动指令,依据多个应用程序各自的应用属性信息,确定多个应用程序各自所属的应用类别,之后,可以针对属于同一应用类别的至少一个应用程序,创建或调用一个目标虚拟显示画布。关于目标虚拟显示画布的创建和调用过程,可以参照上文相应细化实施例的描述,本实施例在此不做赘述。
参照图4,为本申请提出的远程应用窗口控制方法的又一可选示例的流程示意图,本实施例可以是对上述实施例提出的远程应用窗口控制方法的又一可选细化实现方式,如图4所示,该方法可以包括:
步骤S31,接收第一终端发送的应用访问请求;
本实施例中,应用访问请求可以携带有第一终端的设备标识,以及请求访问的应用程序的应用标识等信息,结合上文实施例相应部分的描述,第一终端可以是远程的任一终端,其发送的应用访问请求通常是发送至计算机设备的虚拟机显示与监控调度组件,由其对该应用访问请求进行解析,得到请求访问的应用程序,以及该第一终端的设备标识,具体实现过程不做详述。
步骤S32,响应该应用访问请求,控制虚拟操作系统启动所请求访问的应用程序;
在本申请实施例中,若第一终端请求访问的应用程序还未被启动,计算机设备的虚拟机显示与监控调度组件响应该应用访问请求,确定所请求访问的应用程序,即得到携带的应用标识后,可以依据该应用标识,启动相应虚拟操作系统安装的具有该应用标识的应用程序。
在又一种可能的实现方式中,虚拟机显示与监控调度组件也可以依据各应用程序的注册信息,确定具有该应用标识的应用程序所安装的目标虚拟机的目标虚拟操作系统,进而向该目标虚拟机发送针对该应用程序的启动指令,以启动该目标虚拟机的目标操作系统所安装的该应用程序等,本申请对启动虚拟操作系统所安装的请求访问的应用程序的实现过程不做详述。
步骤S33,针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布;
步骤S34,将该应用程序的注册窗口信息调度至目标虚拟显示画布中,得到该应用程序的远程应用窗口图像;
步骤S35,将该目标远程应用窗口图像反馈至第一终端进行展示。
关于步骤S33~步骤S35的具体实现过程,可以参照上述实施例相应部分的描述,本实施例在此不做赘述。
由此可见,在本实施例中,在任一终端发起虚拟操作系统安装的应用程序的应用访问请求后,计算机设备响应该应用访问请求,启动该应用程序后,将确定与该应用程序对应的目标虚拟显示画布,以将该应用程序的注册窗口信息扩展该目标虚拟显示画布中,而不再选择默认的原虚拟显示画布,实现注册窗口信息的扩展,从而避免了其他使用该原虚拟显示画布的应用程序产生的应用窗口的干扰。
参照图5,为本申请提出的远程应用窗口控制方法的又一可选示例的流程示意图,本实施例可以是对上述实施例提出的远程应用窗口控制方法的又一可选细化实现方式,如图5所示,该方法可以包括:
步骤S41,针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布;
步骤S42,将该应用程序的注册窗口信息调度至目标虚拟显示画布中,得到应用程序的远程应用窗口图像;
步骤S43,接收第一终端发送的应用访问请求;
其中,该应用访问请求可以携带有第一终端的设备标识,以及请求访问的应用程序的应用标识等信息。
步骤S44,响应该应用访问请求,确定与该应用访问请求携带的设备标识对应的至少一个虚拟显示画布;
步骤S45,从确定的至少一个虚拟显示画布对应的远程应用窗口图像中,获得与该应用访问请求所携带的应用标识对应的目标远程应用窗口图像;
步骤S46,将该目标远程应用窗口图像反馈至第一终端进行展示。
结合上文实施例的相关描述,本申请可以预先确定不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,在该对应关系中,可能一个终端对应有至少一个虚拟显示画布,一个虚拟显示画布对应有至少一个应用程序、至少一个终端,一个应用程序对应至少一个终端等,基于此,计算机设备对接收到的应用访问请求进行解析,得到第一终端的设备标识及其所请求访问的应用程序的应用标识后,可以按照预先确定的对应关系,确定与该设备标识、应用标识对应的虚拟显示画布所输出的远程应用窗口图像,反馈至第一终端进行展示,可见,本申请能够实时获取不同应用窗口的监控信息,并通过不同终端进行展示,避免了不同应用程序的应用窗口在同一终端展示所造成的相互干扰情况的发生。
参照图6,为本申请提出的远程应用窗口控制方法的又一可选示例的流程示意图,本实施例可以是对上述实施例提出的远程应用窗口控制方法的又一可选细化实现方式,区别于上述实施例响应应用访问请求,获得与设备标识和应用标识对应的目标远程应用窗口图像的实现过程,本实施例提出了又一种获得目标远程应用窗口图像的实现方法,但并不局限于此,且关于目标虚拟画布及其对应的远程应用窗口图像的获取过程,可以参照上述实施例相应部分的描述,本实施例不做赘述。如图6所示,该方法可以包括:
步骤S51,接收第一终端发送的应用访问请求;
其中,该应用访问请求可以携带有第一终端的设备标识,以及请求访问的应用程序的应用标识等信息。
步骤S52,响应该应用访问请求,确定与该应用访问请求携带的设备标识和应用标识对应的虚拟显示画布;
步骤S53,若所确定的虚拟显示画布的数量为多个,对该多个虚拟显示画布各自对应的远程应用窗口图像进行合并处理,得到在一个虚拟显示画布上呈现且包含该应用标识对应的多个远程应用窗口图像的目标远程应用窗口图像;
结合上文对应用程序与虚拟显示画布之间的对应关系的获取过程的相关描述,若该应用访问请求提出对多个应用程序进行访问,即应用访问请求携带有多个应用标识,若这多个应用程序分别对应不同的虚拟显示画布,就会确定与该应用访问请求对应的多个虚拟显示画布,且每一个虚拟现实画布对应有应用窗口图像,这种情况下,为了保证这多个应用窗口图像都能够输出,满足用户访问需求,本申请提出对这多个虚拟显示画布各自对应的远程应用窗口图像进行合并处理,得到在一个虚拟显示画布上呈现且包含该应用标识对应的多个远程应用窗口图像的目标远程应用窗口图像,具体合并处理过程本申请不做详述。
步骤S54,将该目标远程应用窗口图像反馈至第一终端进行展示。
可见,在本申请实施例中,用户通过第一终端请求访问多个应用程序,计算机设备接收到相应的应用访问请求后,若这多个应用程序对应的多个虚拟显示画布,可以将这多个虚拟显示画布各自对应的远程应用窗口图像进行合并处理,从而使这多个远程应用窗口图像在同一虚拟显示画布中进行展示,相对于是在同一虚拟显示画布的不同区域展示不同的应用窗口内容,满足用户同时访问多个不同应用程序的需求。
在本申请提出的又一些实施例中,结合上文相应部分的描述,若本申请预先未生成多个应用程序各自的远程应用窗口图像,可以将这多个应用程序各自对应的虚拟显示画布合并处理后,将多个应用程序各自的注册窗口信息依次调度至合并后的虚拟显示画布,得到相应的远程应用窗口图像,再依次反馈至第一终端展示,具体实现过程不做详述。
在本申请提出的又一些实施例中,若上述确定的虚拟显示画布的数量为多个,计算机设备还可以按照该多个虚拟显示画布各自对应的远程应用窗口图像的应用优先级,确定多个远程应用窗口图像的展示顺序,并将多个远程应用窗口图像确定为目标远程应用窗口图像后,将多个目标远程应用窗口图像及其展示顺序反馈至第一终端,由第一终端按照该展示顺序,顺次展示多个目标远程应用窗口图像。本申请对一个终端请求访问多个应用程序的场景下,如何展示这多个应用程序各自的应用窗口的实现方法不做限制,包括但并不局限于本申请上文描述的实现方式。
基于上述分析,在计算机设备同一时间接收到多个应用访问请求的情况下,上述实施例响应应用访问请求的实现过程中,具体可以依据多个应用访问请求各自携带的设备标识和应用标识,确定多个应用访问请求的响应优先级,从而按照该响应优先级,顺次响应相应的应用访问请求,关于每一个应用访问请求的响应过程可以参照但并不局限于上文实施例相应部分的描述,本实施例不做赘述。
参照图7,为本申请提出的远程应用窗口控制装置的一可选示例的结构示意图,该装置可以适用于计算机设备,如图7所示,该装置可以包括:
虚拟显示画布确定模块21,用于针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布;
在一些实施例中,上述虚拟显示画布确定模块21可以包括但并不局限于以下确定单元:
第一确定单元,用于检测到虚拟操作系统针对任一应用程序的启动指令,创建与所述应用程序对应的目标虚拟显示画布,并记录所述应用程序与所述目标虚拟显示画布之间的对应关系;
第二确定单元,用于检测到虚拟操作系统针对任一应用程序的启动指令,从预先创建的多个虚拟显示画布中,选择任一虚拟显示画布确定为所述应用程序对应的目标虚拟显示画布;
第三确定单元,用于检测到虚拟操作系统针对多个应用程序各自的启动指令,依据所述多个应用程序各自的应用属性信息,确定所述多个应用程序各自所属的应用类别,针对属于同一所述应用类别的至少一个所述应用程序,创建或调用一个目标虚拟显示画布。
可选的,若应用属性信息包括相应应用程序的访问频率和/或应用窗口尺寸,上述装置还可以包括:
应用类别更新模块,用于依据最新获取的所述应用属性信息,更新所述多个应用程序各自所属的应用类别;
对应关系调整模块,用于按照更新后的应用类别,调整相应应用程序与虚拟显示画布之间的对应关系。
远程应用窗口图像得到模块22,用于将所述应用程序的注册窗口信息调度至所述目标虚拟显示画布中,得到所述应用程序的远程应用窗口图像;
远程应用窗口图像传输模块23,用于按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示。
在本申请提出的一些实施例中,上述远程应用窗口图像传输模块23可以包括:
对应关系第一得到单元,用于响应针对不同终端的应用配置请求,得到所述不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系;
第一数据发送单元,用于按照所述对应关系,将启动运行的应用程序的所述远程应用窗口图像,发送至对应的目标终端进行展示。
在本申请提出的一些实施例中,如图8所示,上述远程应用窗口图像传输模块23也可以包括:
应用访问请求接收单元231,用于接收第一终端发送的应用访问请求,所述应用访问请求携带有所述第一终端的设备标识,以及请求访问的应用程序的应用标识;
应用窗口图像获得单元232,用于响应所述应用访问请求,获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像;
应用窗口图像发送单元233,用于将所述目标远程应用窗口图像反馈至所述第一终端进行展示。
在一种可能的实现方式中,应用窗口图像获得单元232可以包括:
虚拟现实画布第一确定子单元,用于确定与所述设备标识对应的至少一个虚拟显示画布;
应用窗口图像获得子单元,用于从确定的所述至少一个虚拟显示画布对应的远程应用窗口图像中,获得与所述应用标识对应的目标远程应用窗口图像。
在又一种可能的实现方式中,应用窗口图像获得单元232也可以包括:
虚拟现实画布第二确定子单元,用于确定与所述设备标识和所述应用标识对应的虚拟显示画布;
合并处理子单元,用于在所确定的所述虚拟显示画布的数量为多个的情况下,对该多个虚拟显示画布各自对应的远程应用窗口图像进行合并处理,得到在一个虚拟显示画布上呈现且包含所述应用标识对应的多个远程应用窗口图像的目标远程应用窗口图像;或者,
展示顺序确定子单元,用于按照该多个虚拟显示画布各自对应的远程应用窗口图像的应用优先级,确定多个所述远程应用窗口图像的展示顺序,并将所述多个远程应用窗口图像确定为目标远程应用窗口图像;
相应地,上述应用窗口图像发送单元233可以包括:
数据发送子单元,用于将多个所述目标远程应用窗口图像及所述展示顺序反馈至所述第一终端,由所述第一终端按照所述展示顺序,顺次展示所述多个目标远程应用窗口图像。
在本申请提出的又一些实施例中,若接收到多个所述应用访问请求,上述应用窗口图像获得单元232可以包括:
响应优先级确定子单元,用于依据多个所述应用访问请求各自携带的设备标识和应用标识,确定所述多个应用访问请求的响应优先级;
请求响应子单元,用于按照所述响应优先级,顺次响应相应的所述应用访问请求。
需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。
本申请还提供了一种存储介质,其上可以存储计算机程序,该计算机程序可以被处理器调用并加载,以实现上述实施例描述的远程应用窗口控制方法的各个步骤。
最后,需要说明的是,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、计算机设备而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种远程应用窗口控制方法,所述方法包括:
针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布;
将所述应用程序的注册窗口信息调度至所述目标虚拟显示画布中,得到所述应用程序的远程应用窗口图像;
按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示;
所述按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示,包括:
接收第一终端发送的应用访问请求,所述应用访问请求携带有所述第一终端的设备标识,以及请求访问的应用程序的应用标识;
响应所述应用访问请求,获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,将所述目标远程应用窗口图像反馈至所述第一终端进行展示;
其中,所述获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,包括:
确定与所述设备标识对应的至少一个虚拟显示画布;
从确定的所述至少一个虚拟显示画布对应的远程应用窗口图像中,获得与所述应用标识对应的目标远程应用窗口图像;
或,
所述获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,包括:
确定与所述设备标识和所述应用标识对应的虚拟显示画布;
若所确定的所述虚拟显示画布的数量为多个,对该多个虚拟显示画布各自对应的远程应用窗口图像进行合并处理,得到在一个虚拟显示画布上呈现且包含所述应用标识对应的多个远程应用窗口图像的目标远程应用窗口图像;或者,按照该多个虚拟显示画布各自对应的远程应用窗口图像的应用优先级,确定多个所述远程应用窗口图像的展示顺序,并将所述多个远程应用窗口图像确定为目标远程应用窗口图像;
所述将所述目标远程应用窗口图像反馈至所述第一终端进行展示具体为:
将多个所述目标远程应用窗口图像及所述展示顺序反馈至所述第一终端,由所述第一终端按照所述展示顺序,顺次展示所述多个目标远程应用窗口图像。
2.根据权利要求1所述的方法,所述针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布,包括以下任一实现方式:
检测到虚拟操作系统针对任一应用程序的启动指令,创建与所述应用程序对应的目标虚拟显示画布,并记录所述应用程序与所述目标虚拟显示画布之间的对应关系;
检测到虚拟操作系统针对任一应用程序的启动指令,从预先创建的多个虚拟显示画布中,选择任一虚拟显示画布确定为所述应用程序对应的目标虚拟显示画布;
检测到虚拟操作系统针对多个应用程序各自的启动指令,依据所述多个应用程序各自的应用属性信息,确定所述多个应用程序各自所属的应用类别,针对属于同一所述应用类别的至少一个所述应用程序,创建或调用一个目标虚拟显示画布。
3.根据权利要求1或2所述的方法,所述按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示,包括:
响应针对不同终端的应用配置请求,得到所述不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系;
按照所述对应关系,将启动运行的应用程序的所述远程应用窗口图像,发送至对应的目标终端进行展示。
4.根据权利要求1所述的方法,若接收到多个所述应用访问请求,所述响应所述应用访问请求,包括:
依据多个所述应用访问请求各自携带的设备标识和应用标识,确定所述多个应用访问请求的响应优先级;
按照所述响应优先级,顺次响应相应的所述应用访问请求。
5.根据权利要求2所述的方法,所述应用属性信息包括相应应用程序的访问频率和/或应用窗口尺寸,所述方法还包括:
依据最新获取的所述应用属性信息,更新所述多个应用程序各自所属的应用类别;
按照更新后的应用类别,调整相应应用程序与虚拟显示画布之间的对应关系。
6.一种远程应用窗口控制装置,所示装置包括:
虚拟显示画布确定模块,用于针对虚拟操作系统所启动的应用程序,确定对应的目标虚拟显示画布;
远程应用窗口图像得到模块,用于将所述应用程序的注册窗口信息调度至所述目标虚拟显示画布中,得到所述应用程序的远程应用窗口图像;
远程应用窗口图像传输模块,用于按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示;
所述按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示,包括:
接收第一终端发送的应用访问请求,所述应用访问请求携带有所述第一终端的设备标识,以及请求访问的应用程序的应用标识;
响应所述应用访问请求,获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,将所述目标远程应用窗口图像反馈至所述第一终端进行展示;
其中,所述获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,包括:
确定与所述设备标识对应的至少一个虚拟显示画布;
从确定的所述至少一个虚拟显示画布对应的远程应用窗口图像中,获得与所述应用标识对应的目标远程应用窗口图像;
或,
所述获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,包括:
确定与所述设备标识和所述应用标识对应的虚拟显示画布;
若所确定的所述虚拟显示画布的数量为多个,对该多个虚拟显示画布各自对应的远程应用窗口图像进行合并处理,得到在一个虚拟显示画布上呈现且包含所述应用标识对应的多个远程应用窗口图像的目标远程应用窗口图像;或者,按照该多个虚拟显示画布各自对应的远程应用窗口图像的应用优先级,确定多个所述远程应用窗口图像的展示顺序,并将所述多个远程应用窗口图像确定为目标远程应用窗口图像;
所述将所述目标远程应用窗口图像反馈至所述第一终端进行展示具体为:
将多个所述目标远程应用窗口图像及所述展示顺序反馈至所述第一终端,由所述第一终端按照所述展示顺序,顺次展示所述多个目标远程应用窗口图像。
7.一种计算机设备,所述计算机设备包括:
虚拟机监视器;
能够在所述虚拟机监视器运行的虚拟机,所述虚拟机中安装有一个虚拟操作系统,所述虚拟操作系统能够运行不同的应用程序,且能够创建不同的虚拟显示画布;
部署在虚拟机监视器中的虚拟机显示与监控调度组件;
部署在所述虚拟机中能够执行所述虚拟机显示与监控调度组件下发的控制指令的执行元件;
其中,所述虚拟机显示与监控调度组件,用于实现以下远程应用窗口控制方法:
针对虚拟操作系统所启动的应用程序,确定所述虚拟机中对应的目标虚拟显示画布;
控制所述执行元件将所述应用程序的注册窗口信息调度至所述目标虚拟显示画布中,得到所述应用程序的远程应用窗口图像;
按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示;
所述按照不同终端、不同所述应用程序以及不同所述虚拟显示画布之间的对应关系,将所述远程应用窗口图像发送至对应的目标终端进行展示,包括:
接收第一终端发送的应用访问请求,所述应用访问请求携带有所述第一终端的设备标识,以及请求访问的应用程序的应用标识;
响应所述应用访问请求,获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,将所述目标远程应用窗口图像反馈至所述第一终端进行展示;
其中,所述获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,包括:
确定与所述设备标识对应的至少一个虚拟显示画布;
从确定的所述至少一个虚拟显示画布对应的远程应用窗口图像中,获得与所述应用标识对应的目标远程应用窗口图像;
或,
所述获得与所述设备标识和所述应用标识对应的目标远程应用窗口图像,包括:
确定与所述设备标识和所述应用标识对应的虚拟显示画布;
若所确定的所述虚拟显示画布的数量为多个,对该多个虚拟显示画布各自对应的远程应用窗口图像进行合并处理,得到在一个虚拟显示画布上呈现且包含所述应用标识对应的多个远程应用窗口图像的目标远程应用窗口图像;或者,按照该多个虚拟显示画布各自对应的远程应用窗口图像的应用优先级,确定多个所述远程应用窗口图像的展示顺序,并将所述多个远程应用窗口图像确定为目标远程应用窗口图像;
所述将所述目标远程应用窗口图像反馈至所述第一终端进行展示具体为:
将多个所述目标远程应用窗口图像及所述展示顺序反馈至所述第一终端,由所述第一终端按照所述展示顺序,顺次展示所述多个目标远程应用窗口图像。
CN202011375744.3A 2020-11-30 2020-11-30 远程应用窗口控制方法、装置及计算机设备 Active CN112379963B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011375744.3A CN112379963B (zh) 2020-11-30 2020-11-30 远程应用窗口控制方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011375744.3A CN112379963B (zh) 2020-11-30 2020-11-30 远程应用窗口控制方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN112379963A CN112379963A (zh) 2021-02-19
CN112379963B true CN112379963B (zh) 2022-08-19

Family

ID=74589252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011375744.3A Active CN112379963B (zh) 2020-11-30 2020-11-30 远程应用窗口控制方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN112379963B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461158B (zh) * 2021-12-29 2024-02-09 沈阳中科创达软件有限公司 一种应用投屏方法、装置、车载终端及可读存储介质
CN114528058B (zh) * 2022-01-21 2024-05-28 京东方科技集团股份有限公司 应用分组显示方法、装置及显示设备
CN114625487B (zh) * 2022-05-16 2022-09-09 浙江毫微米科技有限公司 在元宇宙中运行应用程序的方法、系统、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735108A (zh) * 2013-12-20 2015-06-24 中国移动通信集团公司 一种使用云桌面的方法、装置和云桌面系统
CN105656749A (zh) * 2016-01-19 2016-06-08 成都电科致远网络科技有限公司 分布式无线多屏虚拟pc服务系统
CN108021425A (zh) * 2017-12-28 2018-05-11 南开大学 一种集成多个应用图形窗口的虚拟桌面系统及运行方法
CN110806911A (zh) * 2018-08-06 2020-02-18 中兴通讯股份有限公司 一种云桌面管控方法、装置及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2625646B1 (en) * 2010-10-06 2022-06-22 Citrix Systems Inc. Mediating resource access based on a physical location of a mobile device
CN104850463B (zh) * 2015-06-08 2019-11-15 三星电子(中国)研发中心 应用程序共享方法及装置
JP2017215800A (ja) * 2016-05-31 2017-12-07 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US10592417B2 (en) * 2017-06-03 2020-03-17 Vmware, Inc. Video redirection in virtual desktop environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735108A (zh) * 2013-12-20 2015-06-24 中国移动通信集团公司 一种使用云桌面的方法、装置和云桌面系统
CN105656749A (zh) * 2016-01-19 2016-06-08 成都电科致远网络科技有限公司 分布式无线多屏虚拟pc服务系统
CN108021425A (zh) * 2017-12-28 2018-05-11 南开大学 一种集成多个应用图形窗口的虚拟桌面系统及运行方法
CN110806911A (zh) * 2018-08-06 2020-02-18 中兴通讯股份有限公司 一种云桌面管控方法、装置及系统

Also Published As

Publication number Publication date
CN112379963A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN112379963B (zh) 远程应用窗口控制方法、装置及计算机设备
KR102389235B1 (ko) 리소스 배치 방법, 장치, 단말기 및 저장 매체
US11301232B2 (en) Update management service for enterprise computing environments
US11711670B2 (en) Method for activating service based on user scenario perception, terminal device, and system
CN110515572B (zh) 投屏方法、装置、存储介质和计算机设备
CN106489251B (zh) 应用拓扑关系发现的方法、装置和系统
US8578285B2 (en) Methods, apparatus and systems for providing secure information via multiple authorized channels to authenticated users and user devices
CN106572139B (zh) 多终端控制方法、终端、服务器和系统
WO2016037479A1 (zh) 虚拟化网络功能vnf优化方法、装置及系统
US20140032699A1 (en) Remote user interface in a terminal server environment
US10404568B2 (en) Agent manager for distributed transaction monitoring system
US10642662B2 (en) Method for application action synchronization, terminal device, and storage medium
CN111416756A (zh) 协议测试方法、装置、计算机设备及存储介质
CN111694604A (zh) 一种驱动批量安装方法、装置、设备及机器可读存储介质
CN115454637A (zh) 图像渲染方法、装置、设备和介质
CN114042310A (zh) 游戏操作数据收集方法、装置、计算机设备及存储介质
US10432490B2 (en) Monitoring single content page application transitions
EP4390852A1 (en) Scene rendering method and apparatus, device and system
US20240184414A1 (en) Display Control Method and Apparatus for Pointer in Window, Device, and Storage Medium
CN114489892A (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
CN104468505A (zh) 一种安全审计日志播放方法及装置
CN114265655A (zh) 云应用数据处理方法及装置、系统和存储介质
CN107390981B (zh) 一种全局菜单的控制方法、装置、设备和存储介质
US9942361B2 (en) Reporting page composition data
CN113835846B (zh) k8s集群的创建方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant