CN114020396A - 应用程序的显示方法和应用程序的数据生成方法 - Google Patents

应用程序的显示方法和应用程序的数据生成方法 Download PDF

Info

Publication number
CN114020396A
CN114020396A CN202111371150.XA CN202111371150A CN114020396A CN 114020396 A CN114020396 A CN 114020396A CN 202111371150 A CN202111371150 A CN 202111371150A CN 114020396 A CN114020396 A CN 114020396A
Authority
CN
China
Prior art keywords
application program
server
window
server application
display content
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.)
Pending
Application number
CN202111371150.XA
Other languages
English (en)
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.)
Hunan Qilin Xin'an Technology Co ltd
Original Assignee
Hunan Qilin Xin'an Technology 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 Hunan Qilin Xin'an Technology Co ltd filed Critical Hunan Qilin Xin'an Technology Co ltd
Priority to CN202111371150.XA priority Critical patent/CN114020396A/zh
Publication of CN114020396A publication Critical patent/CN114020396A/zh
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

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

Abstract

本发明实施例公开了一种应用程序的显示方法和应用程序的数据生成方法,应用程序的显示方法包括:将用户触发的服务端应用程序的应用启动指令发送至服务端设备,以使服务端设备根据应用启动指令启动对应的服务端应用程序,当服务端设备中的服务端应用程序启动,服务端设备将服务端应用程序对应的显示数据发送至客户端设备,进而客户端设备根据显示数据显示服务端应用程序对应的独立窗口。由此,当用户切换使用本地应用程序和服务端应用程序时,可直接在本地应用对应的窗口与服务端应用程序对应的窗口之间切换,减少了用户切换应用窗口所需的步骤,实现了本地应用和服务端应用程序的无缝切换。

Description

应用程序的显示方法和应用程序的数据生成方法
技术领域
本发明涉及交互界面领域,尤其涉及一种应用程序的显示方法和应用程序的数据生成方法。
背景技术
相比于只预留了桌面云的瘦客户端,胖客户端中的桌面云仅为胖客户端搭载的众多应用程序中的其中一个,用户能任意地切换使用本地应用和桌面云中的服务端应用程序。
但是,当用户从本地应用切换使用服务端应用程序时,需先将本地应用的窗口切换为桌面云对应的窗口,再使桌面云对应的窗口中的服务端应用程序的子窗口显示,此种应用的切换过程相对繁琐,对用户的应用使用带来了一定影响。
发明内容
有鉴于此,本发明提供一种应用程序的显示方法和应用程序的数据生成方法,用于改善本地应用与服务端应用程序的切换过程相对繁琐的现状。
第一方面,本发明实施例提供一种应用程序的显示方法,应用于客户端设备,所述方法包括:
将用户触发的服务端应用程序的应用启动指令发送至服务端设备;
获取所述服务端设备中所述服务端应用程序的显示数据,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容;
根据所述显示数据,显示所述服务端应用程序对应的窗口。
可选的,在本发明实施例提供的一种实施方式中,所述根据所述显示数据,显示所述服务端应用程序对应的窗口,包括:
根据所述窗口大小和所述窗口位置生成所述服务端应用程序对应的窗口,并利用所述当前显示内容渲染所述窗口。
可选的,在本发明实施例提供的一种实施方式中,所述获取所述服务端设备中所述服务端应用程序的显示数据,包括:
接收服务端设备发送的封装数据并解析,得到所述服务端应用程序的窗口大小、所述服务端应用程序的窗口位置以及所述服务端设备的当前显示内容,其中,所述服务端设备的当前显示内容包括所述服务端应用程序的当前显示内容;
利用所述窗口大小、所述窗口位置,从所述服务端设备的当前显示内容中获取所述服务端应用程序的当前显示内容,得到所述服务端应用程序的显示数据。
第二方面,本发明实施例提供应用程序的数据生成方法,应用于服务端设备,所述方法包括:
接收用户在客户端设备触发的服务端应用程序的应用启动指令;
根据所述应用启动指令启动所述服务端应用程序,并显示所述服务端应用程序对应的窗口;
生成所述服务端应用程序的显示数据,以将所述显示数据发送至所述客户端设备,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容。
可选的,在本发明实施例提供的一种实施方式中,所述生成所述服务端应用程序的显示数据,包括:
根据预设的挂钩程序,抓取所述服务端应用程序的窗口大小和窗口位置;
利用预设的绘制程序,得到所述服务端应用程序的当前显示内容;
根据所述服务端应用程序的窗口大小、窗口位置以及当前显示内容,得到所述服务端应用程序的显示数据。
可选的,在本发明实施例提供的一种实施方式中,所述利用预设的绘制程序,得到所述服务端应用程序的当前显示内容,包括:
利用预设的绘制程序,得到所述服务端设备的当前显示内容,其中,所述服务端设备的当前显示内容包括所述服务端应用程序的当前显示内容;
根据所述窗口大小和所述窗口位置,从所述服务端设备的当前显示内容中得到所述服务端应用程序的当前显示内容。
第三方面,本发明实施例提供一种应用程序的显示装置,应用于客户端设备,所述装置包括:
发送模块,用于将用户触发的服务端应用程序的应用启动指令发送至服务端设备;
获取模块,用于获取所述服务端设备中所述服务端应用程序的显示数据,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容;
显示模块,用于根据所述显示数据,显示所述服务端应用程序对应的窗口。
第四方面,本发明实施例提供一种应用程序的数据生成装置,应用于服务端设备,所述装置包括:
接收模块,用于接收用户在客户端设备触发的服务端应用程序的应用启动指令;
启动模块,用于根据所述应用启动指令启动所述服务端应用程序,并显示所述服务端应用程序对应的窗口;
生成模块,用于生成所述服务端应用程序的显示数据,以将所述显示数据发送至所述客户端设备,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容。
第五方面,本发明实施例提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中任一种公开的应用程序的显示方法,或如第二方面中任一种公开的应用程序的数据生成方法。
第四方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中任一种公开的应用程序的显示方法,或如第二方面中任一种公开的应用程序的数据生成方法。
本发明实施例提供的应用于客户端设备的应用程序的显示方法,将用户在客户端设备中触发的服务端应用程序的应用启动指令发送至服务端设备,以使服务端设备根据应用启动指令启动对应的服务端应用程序,当服务端设备中的服务端应用程序启动,服务端设备将服务端应用程序对应的显示数据发送至客户端设备,进而客户端设备根据显示数据显示服务端应用程序对应的窗口。
由此,当用户切换使用本地应用程序和服务端应用程序时,可直接在本地应用对应的窗口与服务端应用程序对应的窗口之间切换,无需先调出云桌面应用对应的窗口后,再使服务端应用程序对应的窗口显示,减少了用户切换应用窗口所需的步骤,实现了本地应用和服务端应用程序的无缝切换。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明实施例提供的应用程序的显示方法的流程示意图;
图2示出了本发明实施例提供的应用程序的显示方法的第一种应用场景示意图;
图3示出了本发明实施例提供的应用程序的显示方法的第二种应用场景示意图;
图4示出了本发明实施例提供的应用程序的显示方法的第三种应用场景示意图;
图5示出了本发明实施例提供的应用程序的数据生成方法的流程示意图;
图6示出了本发明实施例提供的应用程序的显示装置的结构示意图;
图7示出了本发明实施例提供的应用程序的数据生成装置的结构示意图。
具体元件说明:
101-显示器,102-第一窗口,103-图标,104-第二窗口,105-第三窗口。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
参照图1,图1示出了本发明实施例提供的应用程序的显示方法的流程示意图,本发明实施例提供的应用程序的显示方法应用于客户端设备,所述方法包括:
S110,将用户触发的服务端应用程序的应用启动指令发送至服务端设备。
需说明的是,本发明实施例提供的应用程序的显示方法应用于C/S(Client/Server,客户端/服务端)结构中的客户端,即客户端设备。
进一步的,本发明实施例中的客户端设备可理解为胖客户端(Rich Client)设备,相比于瘦客户端(Thin Client)设备而言,胖客户端设备中的网络资料安装在本地,而非分布在线上网络中,进而用户可在本地对各个本地应用程序进行操作。
云桌面(Cloud Desktop)又称桌面虚拟化或云电脑,是替代传统电脑的一种新模式。在瘦客户端搭载了采用云桌面应用程序后,用户无需再购买电脑主机,主机所包含的CPU(Central Processing Unit,中央处理器)、内存、硬盘等组件全部在后端服务器,即在服务端设备中虚拟出来,进而完成与用户的交互。
而搭载了云桌面应用程序的胖客户端设备,允许用户使用通过本地应用程序和/或搭载在云桌面中的服务端应用程序来与计算机设备完成交互,并使一台计算机设备中同时兼容多个硬件平台和操作系统的应用程序,如用户可在本地使用客户端设备上安装Windows系统及配套应用程序,在云桌面应用对应的窗口中,使用服务端设备搭载的Linux系统和配套应用程序。
示范性的,参考图2,图2示出了本发明实施例提供的第一种应用程序的显示方法的应用场景示意图,包括客户端设备中的显示器101、云桌面应用程序对应的第一窗口102以及服务端应用程序对应的图标103。
进而,用户触发应用启动指令的过程可包括:用户通过客户端设备的输入设备,如鼠标,双击服务端应用程序对应的图标103后,客户端设备确定用户欲启动的服务端应用程序后,生成应用启动指令并将应用启动指令发送至服务端设备,以使服务端设备根据应用启动指令来启动服务端应用程序。
可以理解的是,基于图2而实现的应用启动指令触发,仅为一种可选的方式,本发明实施例并不限定用户只能在第一窗口102中触发应用启动指令,任意的能被客户端设备认定为用户欲操作服务端设备中的服务端应用程序的操作,均视作本发明实施例提及到的服务端应用程序的应用启动指令。因此,本发明实施例也不限定云桌面应用程序对应的第一窗口102需在客户端设备中显示。
常见的,服务端设备接收到应用启动指令后,启动应用启动指令对应的服务端应用程序,并发送相关数据至客户端设备,以更新云桌面应用程序对应的第一窗口102。示范性的,可参考图3,图3示出了本发明实施例提供的应用程序的显示方法的第二种应用场景示意图,用于表示客户端设备接收到服务端设备发送的相关数据后,将云桌面应用程序对应的第一窗口102更新后的情况,即云桌面应用程序对应的第一窗口102中显示了服务端应用程序对应的第二窗口104。
需说明的是,图3中的第一窗口102和第二窗口104可根据实际情况选择是否需加载和/或显示,图3中的第一窗口102和第二窗口104仅用于更好地说明本发明实施例提出的应用程序的显示方法。
S120,获取所述服务端设备中所述服务端应用程序的显示数据,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容。
在本发明实施例提供的应用程序的显示方法中,服务端设备发送给客户端设备的数据包括显示数据,即服务端应用程序对应的窗口的窗口大小、窗口位置以及当前显示内容。以图3为例,设云桌面应用程序对应的第一窗口102为一张图像,则服务端应用程序的当前显示内容可以理解为服务端应用程序对应的第二窗口104所在区域的图像。
S130,根据所述显示数据,显示所述服务端应用程序对应的窗口。
客户端设备得到显示数据后,根据显示数据在显示设备的对应位置,加载和渲染一个不属于云桌面应用程序对应的窗口的独立窗口,使用户可在服务端应用程序对应的窗口中完成对服务端应用程序的后续操作。示范性的,参考图4,图4示出了本发明实施例提供的应用程序的显示方法的第三种应用场景示意图,即客户端设备根据显示数据加载渲染了第三窗口105。
需理解的是,图4中的第一窗口102和第二窗口104可根据实际情况选择是否需加载和/或显示,本发明实施例仅要求图4中的第三窗口105需在客户端加载并显示。也即,本发明实施例仅要求客户端设备需根据显示数据显示服务端应用程序对应的窗口,并不要求其他的窗口,如云桌面应用对应的窗口在客户端设备中显示。
可选的,客户端设备显示服务端应用程序对应的窗口的具体过程,即S130包括:
根据所述窗口大小和所述窗口位置生成所述服务端应用程序对应的窗口,并利用所述当前显示内容渲染所述窗口。
也即,客户端设备先根据服务端应用程序的窗口大小和窗口位置,创建服务端应用程序对应的窗口,再将服务端应用程序的当前显示内容渲染至创建的窗口中,从而完成服务端应用程序对应的独立窗口的加载渲染。
需说明的是,图4中的第三窗口105和第二窗口104均属于服务端应用程序的窗口,两个窗口中的画面相同,但第二窗口104为服务端设备根据本地接口加载渲染而成的窗口,第三窗口105是客户端设备基于本地接口加载渲染而成的窗口,换言之,第三窗口105的样式与第二窗口104的样式可能不同,而第三窗口105与客户端设备本地应用程序的窗口样式一致。
基于此,当用户切换使用本地应用程序和服务端应用程序时,可直接在本地应用程序对应的窗口,与服务端应用程序对应的窗口之间切换,无需先调出云桌面应用程序对应的窗口后,再使服务端应用程序对应的窗口显示,减少了用户切换应用窗口所需的步骤,实现了本地应用和服务端应用程序的无缝切换。
不仅如此,由于服务端应用程序对应的窗口和本地应用程序对应的窗口均是根据本地接口来加载渲染的,即二者在样式上无差异,此时服务端应用程序亦可作为本地应用的窗口,进而用户使用服务端应用程序时,难以意识到服务端应用程序实际是运行在另一台计算机设备,或是运行在另一套操作系统中的应用程序,从而减少了用户在使用本地应用程序与服务端应用程序的差异感。
进一步的,在本发明实施例提供的一种实施方式中,客户端设备搭载的系统为Linux,客户端设备根据显示数据显示服务端应用程序的窗口的过程包括:
客户端设备中的云桌面应用程序对服务端设备传输来的数据进行解析,得到服务端应用程序的当前显示内容和窗口相关数据,即窗口大小和窗口位置,并根据Linux系统的Xlib接口实现窗口创建;再调用Xlib的接口将服务端应用程序的当前显示内容渲染至创建的窗口中。
可选的,为进一步提高服务端应用程序在本地加载渲染窗口的真实性,在本发明实施例提供的一种实施方式中,显示数据还包括服务端应用程序的图标。进而客户端设备还会将应用程序的图标一并显示在窗口框。需理解的是,显示数据包括的具体内容可根据实际情况调整/选择。
可选的,在本发明实施例提供的一种实施方式中,S120包括:
接收服务端设备发送的封装数据并解析,得到所述服务端应用程序的窗口大小、所述服务端应用程序的窗口位置以及所述服务端设备的当前显示内容,其中,所述服务端设备的当前显示内容包括所述服务端应用程序的当前显示内容;
利用所述窗口大小、所述窗口位置,从所述服务端设备的当前显示内容中获取所述服务端应用程序的当前显示内容,得到所述服务端应用程序的显示数据。
也即,在本发明实施例提供的此种实施方式中,服务端设备发送的显示数据是服务端设备的完整桌面图像,以图4为例,服务端设备的当前显示内容即代表客户端设备的显示器101显示的图像中,云桌面应用程序对应的第一窗口102所在区域的图像。
进而,服务端设备根据窗口大小和窗口位置,从服务端设备的当前显示内容中截取服务端应用程序的当前显示内容,即服务端应用程序对应的第二窗口104所在区域的图像,从而完成服务端应用程序的当前显示内容的获取。
可以理解的是,服务端设备发送封装数据至客户端设备,客户端设备根据封装数据得到显示数据的具体过程可根据实际情况设置。
示范性的,在一个可实现的方式中,服务端设备发送封装数据至客户端设备,客户端设备根据封装数据得到显示数据的具体过程包括:
服务端设备将服务端应用程序的窗口大小和窗口位置封装,得到第一封装数据,及将服务端设备的当前显示内容的封装,得到第二封装数据;服务端设备基于不同的传输通道,分别将第一封装数据和第二封装数据发送至客户端设备;当客户端设备接收到第一封装数据和第二封装数据时,即表示客户端设备接收到了服务端设备发送的包括服务端应用程序的窗口大小、服务端应用程序的窗口位置以及服务端设备的当前显示内容的封装数据;客户端设备解析封装数据中的第一封装数据,得到服务端应用程序的窗口大小、服务端应用程序的窗口位置后,解析封装数据中的第二封装数据,得到服务端设备的当前显示内容,并根据服务端应用程序的窗口大小、服务端应用程序的窗口位置,从服务端设备的当前显示内容中截取服务端应用程序的显示数据,从而完成显示数据的获取。
更进一步的,当客户端设备得到服务端设备的当前显示内容时,可将服务端设备的当前显示内容存储至预设的显示内容缓冲区。进而,客户端设备可根据服务端应用程序的窗口大小、服务端应用程序的窗口位置,从显示内容缓冲区中存储的服务端设备的当前显示内容截取服务端应用程序的显示数据。
需理解的是,若客户端设备同时显示多个服务端应用程序的窗口,则每次客户端设备需更新多个服务端应用程序的窗口时,服务端设备需获取多个服务端应用程序的当前显示内容并发送。此种方式将对服务端设备带来一定的负载,且处理性能较低。
因此,在本发明实施例提供的此种实施方式中,服务端设备将服务端应用程序的窗口大小、窗口位置及完整的当前显示内容发送至客户端设备,以使客户端设备根据窗口大小和窗口位置,从完整的当前显示内容中获取各个服务端应用程序的当前显示内容,从而实现各个服务端应用程序的窗口的加载、渲染及更新。
与本发明实施例提供的应用程序的显示方法相对应的,本发明实施例还提供一种应用程序的数据生成方法,参考图5,图5示出了本发明实施例提供的应用程序的数据生成方法的流程示意图,本发明实施例提供的应用程序的数据生成方法应用于服务端设备,所述方法包括:
S210,接收用户在客户端设备触发的服务端应用程序的应用启动指令。
可以理解的是,用户触发应用启动指令的具体过程可根据实际情况设置,如在一种可实现的方式中,用户触发应用启动指令的具体过程包括:用户在客户端设备的云桌面应用程序对应的窗口中,通过鼠标双击服务端应用程序的图标后,服务端设备确定用户欲启动云桌面应用程序中的服务端应用程序后,生成对应的应用启动指令,并发送给服务端设备。
S220,根据所述应用启动指令启动所述服务端应用程序,并显示所述服务端应用程序对应的窗口。
可以理解的是,客户端设备根据应用启动指令,将启动对应的服务端应用程序并使服务端应用程序的窗口显示,此时服务端设备的当前显示内容产生改变,因此客户端设备中的云桌面应用程序对应的窗口需发生同样的变化。由此,服务端设备需抓取相关数据以发送至客户端设备,使客户端设备显示的云桌面应用程序对应的窗口对应更新。
S230,生成所述服务端应用程序的显示数据,以将所述显示数据发送至所述客户端设备,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容。
需理解的是,本发明实施例中,服务端设备除发送相关数据以使客户端设备的云桌面应用程序对应的窗口更新外,还将生成并发送由服务端应用程序的窗口大小、服务端应用程序的窗口位置以及服务端应用程序的当前显示内容构成的显示数据,以使客户端设备加载和渲染服务端应用程序对应的窗口。
还需理解的是,服务端设备的当前显示内容包括服务端应用程序的当前显示内容,进而服务端设备可将服务端设备的当前显示内容、服务端应用程序的窗口大小、服务端应用程序的窗口位置组合以得到显示数据,进而客户端设备根据服务端应用程序的窗口大小、服务端应用程序的窗口位置,从服务端设备的当前显示内容中,获取服务端应用程序的当前显示内容,从而完成窗口加载。
不难理解的是,服务端设备发送的是服务端设备的当前显示内容,还是服务端应用程序的当前显示,具体可根据实际情况设置。
可选的,生成显示数据的具体过程,即S230可包括:
根据预设的挂钩程序,抓取所述服务端应用程序的窗口大小和窗口位置;
利用预设的绘制程序,得到所述服务端应用程序的当前显示内容;
根据所述服务端应用程序的窗口大小、窗口位置以及当前显示内容,得到所述服务端应用程序的显示数据。
具体而言,本发明实施例中的客户端设备根据hook(挂钩)程序来完成服务端应用程序的窗口大小和窗口位置的抓取。而服务端应用程序的当前显示内容则是通过虚拟显卡设备绘制形成RGB(Red Green Blue,红绿蓝)图形数据。
示范性的,当服务端设备搭载的系统为Windows系统,服务端设备与客户端设备通过SPICE(Simple Protocol for Independent Computing Environment,简单独立计算环境)协议交互时,生成显示数据的过程包括:服务端设备启动服务端应用程序时,调用Windows系统中的相关接口加载和渲染窗口,同时启动hook程序抓取服务端应用程序在Windows系统中的窗口数据,如窗口位置以及大小;而服务端应用程序的当前显示内容则通过虚拟显卡设备绘制得到;将窗口数据和当前显示内容传递到SPICE协议服务端模块进行对应封装,得到显示数据以发送至客户端设备。
基于此,本发明实施例中的客户端设备在服务端应用程序启动时获取显示数据,进而为客户端设备加载渲染独立的服务端应用程序对应的窗口提供了数据支撑,保证了独立的服务端应用程序对应的窗口的稳定加载。
可选的,本发明实施例中的hook程序除去在服务端应用程序启动时抓取窗口大小和窗口位置外,还用于持续监听服务端应用程序的窗口变化,即窗口大小的变化和窗口位置的变化,以得到窗口变化数据,用于在服务端设备中的服务端应用程序对应的窗口发送变化后,同步更新客户端设备中的服务端应用程序的独立窗口。
可选的,为进一步提高服务端应用程序在客户端设备加载渲染窗口的真实性,在本发明实施例提供的一种实施方式中,服务端设备还将抓取服务端应用程序的图标,并将服务端应用程序的图标合并至显示数据中,以使客户端设备将服务端应用程序的图标一并显示。
可选的,为降低客户端设备的负载,本发明实施例提供的一种实施方式中,所述利用预设的绘制程序,得到所述服务端应用程序的当前显示内容,包括:
利用预设的绘制程序,得到所述服务端设备的当前显示内容,其中,所述服务端设备的当前显示内容包括所述服务端应用程序的当前显示内容;
根据所述窗口大小和所述窗口位置,从所述服务端设备的当前显示内容中得到所述服务端应用程序的当前显示内容。
也即,本发明实施例中的服务端设备通过各个服务端应用程序的窗口大小和窗口位置,从完整的桌面图像中获取对应的各个服务端应用程序的当前显示内容,进以得到各个服务端应用程序的显示数据,进而客户端设备可直接根据显示数据完成服务端应用程序的窗口加载与渲染,降低了客户端设备的负载。
与本发明实施例提供的应用程序的显示方法相对应的,本发明实施例还提供一种应用程序的显示装置,参照图6,图6示出了本发明实施例提供的应用程序的显示装置的结构示意图,本发明实施例提供的应用程序的显示装置300,应用于客户端设备,包括:
发送模块310,用于将用户触发的服务端应用程序的应用启动指令发送至服务端设备;
获取模块320,用于获取所述服务端设备中所述服务端应用程序的显示数据,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容;
显示模块330,用于根据所述显示数据,显示所述服务端应用程序对应的窗口。
本申请实施例提供的应用程序的显示装置能够实现图1的方法实施例中应用程序的显示方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
与本发明实施例提供的应用程序的数据生成方法相对应的,本发明实施例还提供一种应用程序的数据生成装置,参照图7,图7示出了本发明实施例提供的应用程序的数据生成装置的结构示意图,本发明实施例提供的应用程序的数据生成装置应用于服务端设备400,所述装置包括:
接收模块410,用于接收用户在客户端设备触发的服务端应用程序的应用启动指令;
启动模块420,用于根据所述应用启动指令启动所述服务端应用程序,并显示所述服务端应用程序对应的窗口;
生成模块430,用于生成所述服务端应用程序的显示数据,以将所述显示数据发送至所述客户端设备,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容。
本申请实施例提供的应用程序的数据生成装置能够实现图5的方法实施例中应用程序的数据生成方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如图1的方法实施例中的应用程序的显示方法,或如图5的方法实施例中的应用程序的数据生成方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在处理器上运行时执行如图1的方法实施例中的应用程序的显示方法,或如图5的方法实施例中的应用程序的数据生成方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种应用程序的显示方法,其特征在于,应用于客户端设备,所述方法包括:
将用户触发的服务端应用程序的应用启动指令发送至服务端设备;
获取所述服务端设备中所述服务端应用程序的显示数据,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容;
根据所述显示数据,显示所述服务端应用程序对应的窗口。
2.根据权利要求1所述的方法,其特征在于,所述根据所述显示数据,显示所述服务端应用程序对应的窗口,包括:
根据所述窗口大小和所述窗口位置生成所述服务端应用程序对应的窗口,并利用所述当前显示内容渲染所述窗口。
3.根据权利要求1所述的方法,其特征在于,所述获取所述服务端设备中所述服务端应用程序的显示数据,包括:
接收服务端设备发送的封装数据并解析,得到所述服务端应用程序的窗口大小、所述服务端应用程序的窗口位置以及所述服务端设备的当前显示内容,其中,所述服务端设备的当前显示内容包括所述服务端应用程序的当前显示内容;
利用所述窗口大小、所述窗口位置,从所述服务端设备的当前显示内容中获取所述服务端应用程序的当前显示内容,得到所述服务端应用程序的显示数据。
4.一种应用程序的数据生成方法,其特征在于,应用于服务端设备,所述方法包括:
接收用户在客户端设备触发的服务端应用程序的应用启动指令;
根据所述应用启动指令启动所述服务端应用程序,并显示所述服务端应用程序对应的窗口;
生成所述服务端应用程序的显示数据,以将所述显示数据发送至所述客户端设备,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容。
5.根据权利要求4所述的方法,其特征在于,所述生成所述服务端应用程序的显示数据,包括:
根据预设的挂钩程序,抓取所述服务端应用程序的窗口大小和窗口位置;
利用预设的绘制程序,得到所述服务端应用程序的当前显示内容;
根据所述服务端应用程序的窗口大小、窗口位置以及当前显示内容,得到所述服务端应用程序的显示数据。
6.根据权利要求5所述的方法,其特征在于,所述利用预设的绘制程序,得到所述服务端应用程序的当前显示内容,包括:
利用预设的绘制程序,得到所述服务端设备的当前显示内容,其中,所述服务端设备的当前显示内容包括所述服务端应用程序的当前显示内容;
根据所述窗口大小和所述窗口位置,从所述服务端设备的当前显示内容中得到所述服务端应用程序的当前显示内容。
7.一种应用程序的显示装置,其特征在于,应用于客户端设备,所述装置包括:
发送模块,用于将用户触发的服务端应用程序的应用启动指令发送至服务端设备;
获取模块,用于获取所述服务端设备中所述服务端应用程序的显示数据,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容;
显示模块,用于根据所述显示数据,显示所述服务端应用程序对应的窗口。
8.一种应用程序的数据生成装置,其特征在于,应用于服务端设备,所述装置包括:
接收模块,用于接收用户在客户端设备触发的服务端应用程序的应用启动指令;
启动模块,用于根据所述应用启动指令启动所述服务端应用程序,并显示所述服务端应用程序对应的窗口;
生成模块,用于生成所述服务端应用程序的显示数据,以将所述显示数据发送至所述客户端设备,其中,所述显示数据包括窗口大小、窗口位置以及当前显示内容。
9.一种计算机设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行如权利要求1-3任一项所述的应用程序的显示方法,或执行如权利要求4-6任一项所述的应用程序的数据生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在处理器上运行时执行如权利要求1-3任一项所述的应用程序的显示方法,或执行如权利要求4-6任一项所述的应用程序的数据生成方法。
CN202111371150.XA 2021-11-18 2021-11-18 应用程序的显示方法和应用程序的数据生成方法 Pending CN114020396A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111371150.XA CN114020396A (zh) 2021-11-18 2021-11-18 应用程序的显示方法和应用程序的数据生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111371150.XA CN114020396A (zh) 2021-11-18 2021-11-18 应用程序的显示方法和应用程序的数据生成方法

Publications (1)

Publication Number Publication Date
CN114020396A true CN114020396A (zh) 2022-02-08

Family

ID=80065171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111371150.XA Pending CN114020396A (zh) 2021-11-18 2021-11-18 应用程序的显示方法和应用程序的数据生成方法

Country Status (1)

Country Link
CN (1) CN114020396A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884914A (zh) * 2022-04-27 2022-08-09 青岛希望鸟科技有限公司 一种应用程序同屏交流方法、系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897596A (zh) * 2018-07-05 2018-11-27 北京景行锐创软件有限公司 一种图形界面传输方法及装置
CN111045620A (zh) * 2019-05-21 2020-04-21 北京仁光科技有限公司 多信号源场景上屏显示方法及多信号源场景上屏显示系统
CN112000401A (zh) * 2020-06-05 2020-11-27 联思智云(北京)科技有限公司 一种云桌面部署方法及云桌面系统
CN113448662A (zh) * 2020-03-27 2021-09-28 海信电子科技(武汉)有限公司 窗口图像显示方法、设备及存储介质
CN113608812A (zh) * 2021-08-10 2021-11-05 湖北亿咖通科技有限公司 远程控制方法、装置、系统及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897596A (zh) * 2018-07-05 2018-11-27 北京景行锐创软件有限公司 一种图形界面传输方法及装置
CN111045620A (zh) * 2019-05-21 2020-04-21 北京仁光科技有限公司 多信号源场景上屏显示方法及多信号源场景上屏显示系统
CN113448662A (zh) * 2020-03-27 2021-09-28 海信电子科技(武汉)有限公司 窗口图像显示方法、设备及存储介质
CN112000401A (zh) * 2020-06-05 2020-11-27 联思智云(北京)科技有限公司 一种云桌面部署方法及云桌面系统
CN113608812A (zh) * 2021-08-10 2021-11-05 湖北亿咖通科技有限公司 远程控制方法、装置、系统及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884914A (zh) * 2022-04-27 2022-08-09 青岛希望鸟科技有限公司 一种应用程序同屏交流方法、系统
CN114884914B (zh) * 2022-04-27 2024-04-02 青岛希望鸟科技有限公司 一种应用程序同屏交流方法、系统

Similar Documents

Publication Publication Date Title
US11412292B2 (en) Video processing method, video processing device, and storage medium
CN111433743B (zh) 一种app远程控制方法及相关设备
US10715577B2 (en) Virtual desktop encoding based on user input behavior
US20080238929A1 (en) Local Themeing Of Remote Applications
CN110989878B (zh) 小程序中的动画展示方法、装置、电子设备及存储介质
US9842091B2 (en) Switching to and from native web applications
CN107168616B (zh) 游戏交互界面显示方法、装置、电子设备及存储介质
JP2015529878A (ja) ウェブクライアントを介したリモートアプリケーションへのアクセスの提供
CN113368492B (zh) 渲染的方法、装置
US11314391B2 (en) Navigation bar controlling method and terminal
CN111467791B (zh) 目标对象的控制方法及装置、系统
WO2018120992A1 (zh) 一种窗口渲染方法及终端
CN111258693B (zh) 远程显示方法及装置
CN108335342B (zh) 在web浏览器上进行多人绘画的方法、设备和计算机程序产品
CN115546410A (zh) 窗口展示方法、装置、电子设备及存储介质
CN110337035B (zh) 一种检测视频播放质量的方法及装置
CN114020396A (zh) 应用程序的显示方法和应用程序的数据生成方法
CN112799801B (zh) 一种模拟鼠标指针绘制方法、装置、设备和介质
CN113952740A (zh) 游戏中的虚拟道具分享方法、装置、存储介质及电子设备
US20170109113A1 (en) Remote Image Projection Method, Sever And Client Device
CN108415746B (zh) 应用界面的显示方法、装置、存储介质及电子设备
CN110941408A (zh) 一种kvm虚拟机图形界面输出方法及装置
CN114510308B (zh) 移动终端存储应用页面的方法、装置、设备和介质
CN111708533B (zh) 在应用瘦客户端中设置鼠标显示状态的方法及装置
CN111913711B (zh) 视频渲染方法和装置

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