CN109240677A - 一种图层处理方法及装置 - Google Patents

一种图层处理方法及装置 Download PDF

Info

Publication number
CN109240677A
CN109240677A CN201710551288.5A CN201710551288A CN109240677A CN 109240677 A CN109240677 A CN 109240677A CN 201710551288 A CN201710551288 A CN 201710551288A CN 109240677 A CN109240677 A CN 109240677A
Authority
CN
China
Prior art keywords
layer object
graph
client
sub
service end
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.)
Granted
Application number
CN201710551288.5A
Other languages
English (en)
Other versions
CN109240677B (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.)
Banma Zhixing Network Hongkong Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710551288.5A priority Critical patent/CN109240677B/zh
Priority to PCT/CN2018/092625 priority patent/WO2019007216A1/zh
Publication of CN109240677A publication Critical patent/CN109240677A/zh
Priority to US16/714,074 priority patent/US11164280B2/en
Application granted granted Critical
Publication of CN109240677B publication Critical patent/CN109240677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

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

Abstract

本申请公开了一种图层处理方法及装置。本申请中,图形合成器获取第一图形合成请求,所述第一图形合成请求对应于第二子系统中的第二服务端图层对象,根据所述第一图形合成请求所对应的第二服务端图层对象,获取所述第二服务端图层对象所关联的第一子系统中的第一服务端图层对象,其中,所述第一服务端图层对象和所述第二服务端图层对象是针对第一应用的子图层对象创建的;图形合成器获取所述第二服务端图层对象所对应的缓存,并根据所述缓存中存储的与所述子图层对象对应的图形界面内容数据,响应第一图形合成请求。采用本申请可针对在一种操作系统框架内,基于不同操作系统的应用或服务如何在图形合成层面融合。

Description

一种图层处理方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种图层处理方法及装置。
背景技术
云操作系统又称云OS,是以云计算、云存储技术作为支撑的操作系统。云操作系统因其能够整合海量的计算能力并能够提供强大的资源调配能力,未来将得到更广泛的应用。
云操作系统既可以用于传统的桌面系统设备(如PC)又适用于移动设备。基于云操作系统的应用或服务,以及基于传统操作系统的应用或服务,将会在云操作系统框架内运行,这就要求云操作系统框架能够将基于不同操作系统的应用或服务进行融合。
目前,针对在一种操作系统框架内,基于不同操作系统的应用或服务如何在图形合成层面融合,目前尚未有相应的解决方案。
发明内容
本申请实施例公开了一种图层处理方法及装置。
第一方面,提供一种图层处理方法,包括:
图形合成器获取第一图形合成请求,所述第一图形合成请求对应于第二子系统中的第二服务端图层对象;
所述图形合成器根据所述第一图形合成请求所对应的第二服务端图层对象,获取所述第二服务端图层对象所关联的第一子系统中的第一服务端图层对象;其中,所述第一服务端图层对象和所述第二服务端图层对象是针对第一应用的子图层对象创建的;
所述图形合成器获取所述第二服务端图层对象所对应的缓存,基于所述第一服务端图层对象并使用所述缓存中存储的与所述第一应用的子图层对象对应的图形界面内容数据,响应所述第一图形合成请求。
可选地,所述获取所述第二服务端图层对象所关联的第一服务端图层对象,包括:所述图形合成器根据所述第二服务端图层对象对应的子图层对象的名称,获取对应于相同子图层对象名称的第一服务端图层对象。
可选地,所述第一图形合成请求由第二客户端基于第二客户端图层对象对所述第一应用的图形界面渲染完成后生成,所述第二客户端图层对象与所述第二服务端图层对象对应;其中,所述第二客户端为所述第一应用在第二子系统中的客户端。
可选地,还包括:所述图形合成器获取第二图形合成请求,所述第二图形合成请求对应于所述第一服务端图层对象;所述图形合成器根据所述第一服务端图层对象所对应的子图层对象,获取该子图层对象对应的第一应用图形界面窗口状态数据;所述图形合成器基于所述第一服务端图层对象,并根据所述第一应用图形界面窗口状态数据,响应所述第二图形合成请求。
可选地,所述第二图形合成请求由第一客户端基于第一客户端图层对象对所述第一应用的图形界面的窗口状态进行更新的操作生成,所述第一客户端图层对象与所述第一服务端图层对象对应;其中,所述第一客户端为所述第一应用在第一子系统中的客户端。
可选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
第二方面,提供一种图层处理方法,包括:
第一客户端指示图形合成器针对第一应用的子图层对象创建第一服务端图层对象,并向第二客户端发送通知;其中,所述第一客户端为所述第一应用在第一子系统中的客户端,所述第二客户端为所述第一应用在第二子系统中的客户端;
所述第二客户端根据所述通知,指示所述图形合成器针对所述第一应用的子图层对象创建第二服务端图层对象,并建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系。
可选地,建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系,包括:将所述第二服务端图层对象对应的子图层对象的名称,设置为与所述第一服务端图层对象对应的子图层对象的名称相同。
可选地,还包括:所述第一客户端获得所述第一服务端图层对象对应的子图层对象的名称,并将所述名称携带于所述通知中。
可选地,所述第一客户端获得所述第一服务端图层对象对应的子图层对象的名称,包括:所述第一客户端接收所述图形合成器在创建完成所述第一服务端图层对象后返回的所述子图层对象的名称;或者,所述第一客户端通过注册的回调函数获得所述子图层对象的名称,所述回调函数用于在所述图形合成器创建完成所述第一服务端图层对象后将所述第一服务端图层对象对应的子图层对象的名称通知给所述第一客户端。
可选地,第一客户端指示图形合成器创建第一服务端图层对象,包括:所述第一客户端通过调用用于创建图层对象的第一库函数模块,为第一应用的图形界面创建第一客户端图层对象,所述第一库函数模块被调用后通知所述图形合成器创建所述第一服务端图层对象。
可选地,所述第二客户端根据所述通知,指示所述图形合成器创建第二服务端图层对象,包括:所述第二客户端根据所述通知,通过调用用于创建图层对象的第二库函数模块,为所述图形界面创建第二客户端图层对象,所述第二库函数模块被调用后通知所述图形合成器创建所述第二服务端图层对象。
可选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
第三方面,提供一种图层处理方法,包括:
图形合成器根据第一客户端的指示,针对第一应用的子图层对象创建第一服务端图层对象;其中,所述第一客户端为所述第一应用在第一子系统中的客户端;
所述图形合成器根据第二客户端的指示,针对所述第一应用的子图层对象创建第二服务端图层对象;其中,所述指示是所述第二客户端根据所述第一客户端发送的通知向所述图形合成器发送的;其中,所述第二客户端为所述第一应用在第二子系统中的客户端;
所述图形合成器建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系。
可选地,所述图形合成器建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系,包括:所述图形合成器将所述第二服务端图层对象对应的子图层对象的名称,设置为与所述第一服务端图层对象对应的子图层对象的名称相同。
可选地,还包括:所述图形合成器从所述第二客户端获得所述第一服务端图层对象对应的子图层对象的名称;其中,所述子图层对象的名称是所述第一客户端携带于通知中发送给所述第二客户端的。
可选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
第四方面,提供一种图形合成器,其特征在于,所述图形合成器为操作系统中的第一子系统和第二子系统共享使用的图形合成器,所述图形合成器包括:
请求获取模块,用于获取第一图形合成请求,所述第一图形合成请求对应于第二子系统中的第二服务端图层对象;
关联对象获取模块,用于根据所述第一图形合成请求所对应的第二服务端图层对象,获取所述第二服务端图层对象所关联的第一子系统中的第一服务端图层对象;其中,所述第一服务端图层对象和所述第二服务端图层对象是针对第一应用的子图层对象创建的;
合成模块,用于获取所述第二服务端图层对象所对应的缓存,基于所述第一服务端图层对象并使用所述缓存中存储的与所述第一应用的子图层对象对应的图形界面内容数据,响应所述第一图形合成请求。
可选地,所述关联对象获取模块具体用于:根据所述第二服务端图层对象对应的子图层对象的名称,获取对应于相同子图层对象名称的第一服务端图层对象。
可选地,所述第一图形合成请求由第二客户端基于第二客户端图层对象对所述第一应用的图形界面渲染完成后生成,所述第二客户端图层对象与所述第二服务端图层对象对应;其中,所述第二客户端为所述第一应用在第二子系统中的客户端。
可选地,所述请求获取模块还用于:获取第二图形合成请求,所述第二图形合成请求对应于所述第一服务端图层对象;所述合成模块还用于:根据所述第一服务端图层对象所对应的子图层对象,获取该子图层对象对应的第一应用图形界面窗口状态数据;基于所述第一服务端图层对象,并根据所述第一应用图形界面窗口状态数据,响应所述第二图形合成请求。
可选地,所述第二图形合成请求由第一客户端基于第一客户端图层对象对所述第一应用的图形界面的窗口状态进行更新的操作生成,所述第一客户端图层对象与所述第一服务端图层对象对应;其中,所述第一客户端为所述第一应用在第一子系统中的客户端。
第五方面,提供一种装置,包括:
第一客户端,用于指示图形合成器针对第一应用的子图层对象创建第一服务端图层对象,并向第二客户端发送通知;其中,所述第一客户端为所述第一应用在第一子系统中的客户端,所述第二客户端为所述第一应用在第二子系统中的客户端;
第二客户端,用于根据所述通知,指示所述图形合成器针对所述第一应用的子图层对象创建第二服务端图层对象,并建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系。
可选地,所述第二客户端具体用于:将所述第二服务端图层对象对应的子图层对象的名称,设置为与所述第一服务端图层对象对应的子图层对象的名称相同。
可选地,所述第一客户端还用于:获得所述第一服务端图层对象对应的子图层对象的名称,并将所述名称携带于所述通知中。
可选地,所述第一客户端具体用于获得所述第一服务端图层对象对应的子图层对象的名称,包括:接收所述图形合成器在创建完成所述第一服务端图层对象后返回的所述子图层对象的名称;或者,通过注册的回调函数获得所述子图层对象的名称,所述回调函数用于在所述图形合成器创建完成所述第一服务端图层对象后将所述第一服务端图层对象对应的子图层对象的名称通知给所述第一客户端。
可选地,第一客户端具体用于:通过调用用于创建图层对象的第一库函数模块,为第一应用的图形界面创建第一客户端图层对象,所述第一库函数模块被调用后通知所述图形合成器创建所述第一服务端图层对象。
可选地,所述第二客户端具体用于:根据所述通知,通过调用用于创建图层对象的第二库函数模块,为所述图形界面创建第二客户端图层对象,所述第二库函数模块被调用后通知所述图形合成器创建所述第二服务端图层对象。
第六方面,提供一种图形合成器,所述图形合成器为操作系统中的第一子系统和第二子系统共享使用的图形合成器,所述图形合成器包括:
第一图层对象创建模块,用于根据第一客户端的指示,针对第一应用的子图层对象创建第一服务端图层对象;以及,根据第二客户端的指示,针对所述第一应用的子图层对象创建第二服务端图层对象,所述指示是所述第二客户端根据所述第一客户端发送的通知向所述图形合成器发送的;其中,所述第一客户端为所述第一应用在第一子系统中的客户端,所述第二客户端为所述第一应用在第二子系统中的客户端;
关联模块,用于建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系。
可选地,所述关联模块具体用于:将所述第二服务端图层对象对应的子图层对象的名称,设置为与所述第一服务端图层对象对应的子图层对象的名称相同。
可选地,所述关联模块还用于:从所述第二客户端获得所述第一服务端图层对象对应的子图层对象的名称;其中,所述子图层对象的名称是所述第一客户端携带于通知中发送给所述第二客户端的。
第七方面,提供一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行上述第一方面中任一项所述的方法。
第八方面,提供一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行上述第二方面中任一项所述的方法。
第九方面,提供一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行上述第三方面中任一项所述的方法。
第十方面,提供一种装置,包括:一个或多个处理器;以及,一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述第一方面中任一项所述的方法。
第十一方面,提供一种装置,包括:一个或多个处理器;以及,一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述第二方面中任一项所述的方法。
第十二方面,提供一种装置,包括:一个或多个处理器;以及,一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述第三方面中任一项所述的方法。
本申请的上述实施例中,图形合成器获取到第一图形合成请求,由于所述第一图形合成请求对应于第二子系统中的第二服务端图层对象,因此,图形合成器可根据所述第一图形合成请求所对应的第二服务端图层对象,获取所述第二服务端图层对象所关联的第一子系统中的第一服务端图层对象;所述图形合成器获取所述第二服务端图层对象所对应的缓存,并根据所述缓存中存储的与所述子图层对象对应的图形界面内容数据,响应所述第一图形合成请求。其中,由于所述第一服务端图层对象和所述第二服务端图层对象是针对第一应用的子图层对象创建的,因此图形合成器通过上述方式响应第一图形合成请求,从而使用第一应用的子图层对象对应的图形界面内容数据进行图形合成,实现了在一种操作系统框架内,基于不同操作系统的应用或服务在图形合成层面的融合。
附图说明
本申请的实施例通过示例而非限制的方式示出在所附附图中,类似的附图标记表示类似的元素。
图1示例性地示出了本申请实施例所使用的系统架构示意图;
图2示例性地示出了本申请实施例中图层对象的Z-order顺序示意图;
图3示例性地示出了本申请实施例提供的图层对象的创建流程示意图;
图4示例性地示出了本申请实施例创建得到的图层对象的示意图;
图5示例性地示出了本申请实施例提供的图形合成的流程示意图;
图6示例性地示出了本申请另外的实施例提供的图形合成的流程示意图;
图7示例性地示出了本申请实施例中Host_client_appA和Guest_client_appA创建与图形合成相关的对象的过程;
图8示例性地示出了本申请实施例提供的图形合成器的结构示意图;
图9示例性地示出了本申请另外的实施例提供的图形合成器结构示意图;
图10示例性地示出了本申请实施例提供的通信装置的结构示意图。
具体实施方式
虽然本申请的概念易于进行各种修改和替代形式,但是其具体实施例已经通过附图中的示例示出并且将在本文中详细描述。然而,应当理解,没有意图将本申请的概念限制为所公开的特定形式,而是相反,意图是覆盖与本申请以及所附权利要求一致的所有修改、等同物和替代物。
说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用,指示所描述的实施例可包括特定特征、结构或特性,但是每个实施例可以或可以不必包括特定特征、结构或特性。此外,这样的短语不一定指的是相同的实施例。进一步地,认为在本领域技术人员的知识范围内,当结合实施例描述特定特征、结构或特性时,结合无论是否明确描述的其它实施例影响这样的特征,结构或特性。另外,应当理解,以“A,B和C中的至少一个”的形式包括在列表中的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A,B和C)。类似地,以“A,B或C中的至少一个”的形式列出的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C)或(A,B和C)。
在一些情况下,所公开的实施例可以在硬件、固件、软件或其任何组合中实现。所公开的实施例还可以被实现为由一个或多个暂时性或非暂时性机器可读(例如,计算机可读)存储介质携带或存储的指令,其可以由一个或多个处理器读取和执行。机器可读存储介质可以体现为用于以机器可读形式(例如,易失性或非易失性存储器、介质盘或其他介质)存储或传输信息的任何存储设备,机制或其他物理结构的设备)。
在附图中,一些结构或方法特征可以以特定布置和/或顺序示出。然而,应当理解,可能不需要这样的具体布置和/或排序。相反,在一些实施例中,这些特征可以以与说明性附图中所示不同的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示这种特征在所有实施例中都是需要的,并且在一些实施例中可以不包括或可以与其他特征组合。
为了在一种操作系统框架内更好地兼容另一种操作系统,为用户提供更好的用户体验,本申请实施例提供了在一种操作系统框架内针对不同操作系统在图形合成层面上的融合和统一处理操作,为用户提供无缝的双系统用户体验。
本申请实施例可适用于操作系统框架内包含第一子系统和第二子系统,且第一子系统和第二子系统共享第一子系统的图形合成器的场景。其中,第一子系统可以是主系统或称Host子系统,第二子系统可以是辅系统或称Guest子系统。具体地,第一子系统可以是云操作系统,第二子系统可以是传统的操作系统。更具体地,第一子系统可以是YunOS,第二子系统可以是Android。
下面结合附图对本申请实施例进行详细描述。
图1示例性地示出了本申请实施例使用的一种包括多个子系统的操作系统框架示意图。以YunOS作为第一子系统,Android为第二子系统为例,图1示出了在操作系统框架内的双系统兼容架构。
如图1所示,操作系统框架中包括Host子系统与Guest子系统,其中,YunOS即为Host子系统,Android即为Guest子系统,两个子系统通过容器(container)技术隔离。该框架内的硬件抽象层(Hardware Abstraction Layer,简称HAL)提供了图形显示等方面的接口和驱动服务。
Host子系统中的Glibc,即C运行库,是linux中最底层的应用程序编程接口(Application Programming Interface,简称API)。Libhybris为兼容层,能够使基于Glibc的操作系统重用现有的Android的驱动(driver)服务。Gralloc模块位于硬件抽象层中,封装了对帧缓冲区的所有访问操作。Compositor是Host子系统的图形合成器,该图形合成器为Host子系统和Guest子系统共享使用。
需要说明的是,上述系统架构仅以YunOS和Andriod为例进行说明,对于其他类型的操作系统,也可基于上述原理实现双系统在图形合成层面的兼容以及有效融合。
为了理解本申请实施例,下面首先描述与图形合成相关的技术术语。
一个应用程序可包含一个或多个图形界面(或称窗口),一个图形界面可至少对应一个图层对象,称为surface。每个图形界面在屏幕上有它的位置、大小,以及需要显示的内容。一个图形界面对应的图层对象(surface)可被理解为该图形界面对应的一个容器,用来存储该图形界面的控制信息(比如该图形界面在屏幕上的大小、位置等信息)和/或图形界面的数据(即图形界面需要显示的内容)。图层对象(surface)可由应用程序在图形合成器(compositor)中的客户端(client)创建。
多个图层对象(surface)之间可能有重叠,图层对象(surface)之间的层叠关系可用Z-order描述。在屏幕平面的垂直方向存在一个Z轴,所有的图层对象(surface)根据在Z轴上的坐标来确定前后顺序,即描述各个图层对象(surface)之间的上下覆盖关系。这个在Z轴上的顺序,可称为Z-order。
图2示例性地示出了多个图层对象(surface)在Z轴上的顺序。其中,按照在屏幕上显示时从顶至底的顺序,屏幕上包括surface0、surface1和surface2。surface0部分覆盖surface1,surface1部分覆盖surface2。surface0、surface1和surface2的Z-order分别表示为:1,2,3。
一个图层对象(surface)对应Z轴上的一个层对象,称为layer。一个层对象(layer)提供了对该layer所对应的图层对象(surface)的控制信息的操作,以及对该surface的内容的处理。
图形合成器(compositor)主要用于对图形合成过程进行管理,即对不同图层对象(surface)的融合进行控制,比如,计算两个图层对象(surface)重叠的区域,而图层对象(surface)需要显示的内容则可在layer中进行。
在包含第一子系统和第二子系统的操作系统框架内,针对一些应用程序的图形界面创建有主图层对象(即主surface)和子图层对象(即子surface)。对于子surface,其所对应的图形界面窗口状态数据保存在第一子系统中,其所对应的图形界面内容数据保存在第二子系统中。对于上述应用,当其图形界面的内容发生改变时,需要在图形合成层面由第一子系统和第二子系统共用的图形合成器基于子surface对应的窗口状态数据和图形界面内容数据进行图形合成。
其中,窗口状态数据可在窗口状态更新事件发生时生成或更新。所述窗口状态更新事件可包括但不限于:基于窗口移动生成的事件、基于窗口缩放生成的事件、基于窗口旋转生成的事件。所述窗口状态数据可包括但不限于:用于描述窗口位置和/或方向的数据。
为了实现此目的,本申请实施例中,针对应用程序的图形界面(更具体地,针对该图形界面的子surface)在第一子系统中创建第一服务端图层对象,针对该图形界面(更具体地,针对该图形界面的子surface)在第二子系统中创建第二服务端图层对象以及对应的缓存(该缓存用于存储该图形界面的内容数据),并建立第一服务端图层对象和第二服务端图层对象间的关联。这样,第一服务端图层对象和第二服务端图层对象均关联于该子surface。当该应用程序的图形界面的内容发生变化时,该应用程序在第二子系统中的客户端基于上述关联关系确定出该图形界面在第一子系统中对应的第一服务端图层对象,并基于第一服务端图层对象使用该子Surface对应的缓存中的图形界面内容数据进行图形合成。进一步地,当该应用程序的图形界面的窗口状态发生变化时,该应用程序在第一子系统中的客户端基于第一服务端图层对象使用子surface对应的图形界面窗口状态数据进行图形合成。
由此可见,本申请的上述实施例中,通过不同子系统中的服务端图层对象之间的关联关系,使得第二子系统相关的图形合成事件发生时,第一子系统中的第一服务端图层对象可基于第二子系统中的第二服务端图层对象对应的缓存进行图形合成,实现了不同子系统在图形合成层面的融合。
下面结合图3和图4对本申请实施例提供的图层对象(surface)创建过程进行描述,结合图5和图6对本申请实施例提供的图形合成过程进行描述。
本申请实施例中,对于包含有两个子系统(第一子系统和第二子系统)的操作系统架构来说,针对基于第二子系统的应用,可创建两个客户端:一个是该应用在第一子系统中的客户端,本申请实施例中称为第一客户端,另一个是该应用在第二子系统中的客户端,本申请实施例中称为第二客户端。其中,该应用的两个客户端可对应于该应用在操作系统中的两个不同的进程,每个进程拥有各自的内存区域。具体实施时,可在应用程序启动时创建上述应用客户端。
基于第二子系统的应用,其在第一子系统中的客户端和在第二子系统的客户端,可分别创建服务端图层对象(surface),并建立相互的关联关系。
图3示例性地示出了本申请实施例提供的图层对象(surface)的创建流程。该流程可在应用程序被启动时执行,也可在打开新的图形界面(窗口)时执行,或者在其他情况下执行。以下流程以第一应用为例进行描述,其中,该应用在第一子系统(如主系统)中的客户端称为第一客户端,该应用在第二子系统(如辅系统)中的客户端称为第二客户端。第一客户端可创建子图层对象(以下简称子surface)。
如图所示,该流程可包括:
S301:第一客户端指示图形合成器为第一应用的图形界面创建第一服务端图层对象。
可选地,第一客户端可通过调用用于创建图层对象的第一库函数模块,为第一应用的图形界面创建第一客户端图层对象,该第一库函数模块被调用后通知图形合成器创建与第一客户端图层对象对应的第一服务端图层对象。其中,第一库函数模块可以是第一子系统中的函数库,其中可包含多种函数,这些函数中包括用于创建图层对象的函数。该函数库可将函数接口(比如应用程序编程接口(Application Programming Interface,简称API))提供给应用层使用。第一客户端可基于用于创建图层对象的函数的接口,调用相应函数创建图层对象。
可选地,第一客户端可基于第一应用程序的子surface创建第一服务端图层对象,使得第一服务端图层对象与该子surface对应或与该子surface关联。比如,第一服务端图层对象中可包括第一应用程序的子surface的名称,从而使第一服务端图层对象与该子surface关联。
S302:第一客户端向第二客户端发送通知。该通知用于指示为该第一应用的图形界面创建第二服务端图层对象。
可选地,S302中,第一客户端可采用进程间通信(Inter-Process Communication,简称IPC)协议,向第二客户端发送通知消息。进一步地,该通知消息中可包括该子surface的名称,该子surface为第一服务端图层对象所对应的子surface。
可选地,第一客户端可采用以下方式获得第一服务端图层对象所对应的子surface的名称:
方式1:第一客户端接收图形合成器在创建完成该第一服务端图层对象后返回的该第一服务端图层对象所对应的子surface的名称;
方式2:第一客户端可预先注册回调函数,当图形合成器创建完成第一服务端图层对象后,该回调函数可将该第一服务端图层对象所对应的子surface的名称通知给第一客户端。
S303:第二客户端根据该通知,指示图形合成器为该第一应用的图形界面创建第二服务端图层对象,并建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系。
可选地,第二客户端可基于第一客户端所通知的子surface的名称,基于该子surface指示图形合成器为第一应用的图形界面创建第二服务端图层对象,使得创建得到的第二服务端图层对象与该子surface对应或关联。
可选地,第二客户端可通过调用用于创建图层对象的第二库函数模块,为第一应用的图形界面创建第二客户端图层对象,该第二库函数模块被调用后通知图形合成器创建与第二客户端图层对象对应的第二服务端图层对象。其中,第二库函数模块可以是第二子系统中的函数库,其中可包含多种函数,这些函数中包括用于创建图层对象的函数。该函数库可将函数接口(比如应用程序编程接口(API)提供给应用层使用。第二客户端可基于用于创建图层对象的函数的接口,调用相应函数创建图层对象。
在S303中,图形合成器可采用多种方式建立第一服务端图层对象和第二服务端图层对象之间的关联关系。比如,可将第二服务端图层对象所对应的图层对象的名称(即子surface的名称),设置为与第一服务端图层对象所对应的图层对象的名称(即子surface的名称)相同,这样,第一服务端图形对象和第二服务端图形对象对应于相同名称的子surface,即关联与同一子surface。再比如,将第一服务端图层对象的标识和第二服务端图层对象的标识以标识对的形式存储。
进一步地,第二客户端还可为第一应用的图形界面创建缓存,该缓存与第一应用的图形界面的子surface对应。由于该子surface与第二服务端图层对象和/或第二客户端图层对象相对应,因此该缓存也与第二服务端图层对象和/或第二客户端图层对象相对应。通过该缓存可获取到该图形界面的内容数据,所述内容数据可以是指图形界面渲染处理后的数据。该缓存用于存储该图形界面的内容数据更新事件对应的内容数据。所述事件可包括图形界面渲染事件,比如在对图形界面渲染完成后可生成该事件。
上述路程的步骤顺序没有严格要求,比如,S301和S302的先后顺序可以调换。
基于上述流程,图4示例性地示出了针对第一应用的图形界面创建得到的图层对象。如图所示,第一客户端图层对象和第一服务端图层对象是第一应用在第一子系统中的第一客户端创建的图层对象,第二客户端图层对象和第二服务端图层对象是第一应用在第二子系统中的第二客户端创建的图层对象。其中,在第一子系统中,首先创建第一客户端图层对象,并以第一客户端图层对象作为父对象创建子对象——第一服务端图层对象;在第二子系统中,首先创建第二客户端图层对象,并以第二客户端图层对象作为父对象创建子对象——第二服务端图层对象。具体创建过程可参见前述实施例。第一服务端图层对象和第二服务端图层对象之间关联,并均关联于第一应用程序的图形界面的子surface。第二客户端图层对象与用于存储第一应用的图形界面内容数据的缓存相对应。
上述基于第二子系统的第一应用程序,其在运行过程中可响应用户操作,根据用户的操作更新该应用程序的图形界面,也可以根据设定周期刷新该应用程序的图形界面。图形界面更新可包括两个方面:
(1)图形界面的内容更新,该过程即为图形渲染过程。当图形渲染过程完成后(即得到图形界面内容数据后),图形合成器进行图形合成。
(2)图形界面的窗口状态更新。当图形界面的窗口状态更新后,图形合成器进行图形合成。
上述两个方面可能同时发生,也可能仅发生其中一个方面描述的更新过程。
图5示例性地示出了本申请实施例提供的图形合成的流程示意图。该流程描述了第一应用的图形界面渲染完成后,图形合成器进行图形合成。其中,第一应用在第二子系统中的第二客户端基于第二客户端图层对象,对相应图形界面进行渲染,渲染后的图形界面内容数据存储于第二子系统中该第一应用的子surface所对应的缓存中。渲染完成后,可触发以下流程:
S501:图形合成器获取第一图形合成请求,该第一图形合成请求对应于第二服务端图层对象。
该步骤可基于异步事件机制实现,也可基于同步事件机制实现。在采用异步事件机制的情况下,第二客户端基于第二服务端图层对象完成图形界面渲染后生成第一图形合成请求(或称事件),并将该请求存储于事件队列,图形合成器基于异步事件机制从事件队列中获取第一图形合成请求进行响应。在采用同步事件机制的情况下,第二客户端基于第二服务端图层对象完成图形界面渲染后,向图形合成器发送请求,以请求图形合成器立即响应该请求进行图形合成。
其中,在具体实施时,第二客户端可调用第二客户端图层对象,再由第二客户端图层对象调用第二服务端图层对象进行图形渲染。
S502:图形合成器根据该请求所对应的第二服务端图层对象,获取该第二服务端图层对象关联的第一服务端图层对象。
在具体实施时,第一服务端图层对象所对应的子surface的名称,与第二服务端图层对象所对应的子surface的名称相同,相应地,图形合成器可根据第二服务端图层对象对应的子surface的名称,获取对应于相同子surface名称的第一服务端图层对象。
S503:图形合成器获取第二服务端图层对象所对应的缓存,基于S502中获取的第一服务端图层对象并使用缓存中存储的与第一应用的子图层对象对应的图形界面内容数据,响应该第一图形合成请求。
该步骤中,图形合成器可根据第一服务端图层对象,获取第一服务端图层对象关联的第二服务端图层对象所对应的缓存,该缓存中存储有第二服务端图层对象所对应的子surface的图形界面内容数据。图形合成器基于获取到的第一服务端图层对象,并根据该缓存中存储的图形界面内容数据,响应第一图形合成请求。在图形合成器响应该图形合成请求时,进一步地可根据相应子surface(即该第一服务端图层对象所对应的子surface)的窗口状态数据以及各图层对象的Z-order等控制信息进行图形合成。
图6示例性地示出了本申请另外的实施例提供的图形合成的流程示意图。该流程描述了第一应用的图形界面的窗口状态发生变化后,图形合成器进行图形合成。其中,第一应用在第一子系统中的第一客户端更新图形界面的窗口状态。窗口状态更新完成后,可触发以下流程:
S601:图形合成器获取第二图形合成请求,该第二图形合成请求根据第一应用程序的图形界面窗口状态更新事件生成。
该步骤可基于异步事件机制实现,也可基于同步事件机制实现。在采用异步事件机制的情况下,第一客户端基于第一服务端图层对象完成图形界面的窗口状态更新后生成第二图形合成请求(或称事件),并将该请求存储于事件队列,图形合成器基于异步事件机制从事件队列中获取第二图形合成请求进行响应。在采用同步事件机制的情况下,第一客户端基于第一服务端图层对象完成图形界面的窗口状态更新后,向图形合成器发送请求,以请求图形合成器立即响应该请求进行图形合成。
其中,在具体实施时,第一客户端可调用第一客户端图层对象,再由第一客户端图层对象调用第一服务端图层对象进行窗口状态更新。
S602:图形合成器根据该第一服务端图层对象响应该第二图形合成请求。
该步骤中,图形合成器可根据第一服务端图层对象,获取第一服务端图层对象对应的子surface,基于该子surface对应的图形界面的窗口状态数据,响应第二图形合成请求。
为了更清楚地理解本申请实施例,下面结合具体场景对本申请实施例进行描述。
智能手机使用的操作系统的框架中包括Host子系统(对应于云操作系统)和Guest子系统(对应于Android系统),这两个子系统共享使用一个图形合成器(Compositorserver)。该智能手机上安装了应用程序A,应用程序A是基于Andorid系统的应用程序窗口小部件(Widget)应用。
当用户点击操作系统的主界面中应用程序A的图标,该操作被操作系统捕获,生成应用程序A的启动事件,应用程序A的启动事件被发送给Host子系统和Guest子系统。在Host子系统中,Host子系统根据应用程序A的启动事件为应用程序A在Host子系统中创建一个客户端(client),为描述方便,此处将该客户端称为Host_client_appA,Host_client_appA创建应用程序A的子surface,该子surface的名称为“N”。在Guest子系统中,Guest子系统根据应用程序A的启动事件为应用程序A在Guest子系统中创建一个客户端(client),为描述方便,此处将该客户端称为Guest_client_appA。Host_client_appA与Guest_client_appA之间可基于IPC机制进行通信。
Host_client_appA和Guest_client_appA创建完成后,可创建与图形合成相关的对象。图7示例性地示出了Host_client_appA和Guest_client_appA创建与图形合成相关的对象的过程。
在图7的S701中,Host_client_appA调用Host子系统中的图形化用户界面库模块(libgui模块)为应用程序A创建Host子系统中客户端的surface对象,这里将该surface对象称为Host Client Surface,简称为HC_surface对象,HC_surface对象与应用程序A的子surface对应,是针对应用程序A的子surface创建的。其中,libgui模块中封装有native层针对surface对象的相关函数,可用于创建surface对象。libgui模块被调用时通知图形合成器(Compositor server)为应用程序A创建Host子系统中服务端的surface对象,这里将该surface对象称为Host Server Surface,简称为HS_surface对象,HS_surface对象与应用程序A的子surface对应,是针对应用程序A的子surface创建的。HS_surface对象创建完成后,Host_client_appA注册的回调函数将HS_surface所对应的子surface名字“N”通知给Host_client_appA。
在图7的S702中,Host_client_appA向Guest_client_appA发送请求,其中携带HS_surface对象所对应的子surface名字“N”,以请求为应用程序A创建Guest子系统中的相应surface对象。
在图7的S703中,Guest_client_appA接收到Host_client_appA发送的请求后,调用Guest子系统中的函数库模块为应用程序A创建layer对象,根据该请求消息中的HS_surface对象对应的子surface名字“N”为应用程序A创建Guest子系统中客户端的surface对象,这里将该surface对象称为Guest Client Surface,简称为GC_surface对象,GC_surface对象与应用程序A的子surface对应,是针对应用程序A的子surface创建的。该函数库模块被调用时通知图形合成器(Compositor server)根据GC_surface对象所对应的子surface名字为应用程序A创建Guest子系统中的服务端surface对象,这里将该surface对象称为Guest Client Surface,简称为GS_surface对象,该GS_surface对象所对应的子surface名称为“N”。
Guest_client_appA还创建该子surface对应的buffer,该buffer用于存储应用程序A的图形界面内容数据。由于GC_surface对象和GS_surface对象是基于该子surface创建的,因此,该buffer也与GC_surface对象和GS_surface对象相对应。
应用程序A运行过程中,Guest_client_appA进行图形界面渲染,渲染后的图形界面内容数据存储于应用程序A在Guest子系统中的GC_surface对象所对应的buffer中。
当该buffer中的图形界面内容数据已渲染完成或者是达到其他进行图形界面合成的条件时,Guest_client_appA通过GC_surface对象获取GS_surface对象,基于GS_surface对象并采用IPC通信机制向compositor发送第一图形合成请求;compositor根据GS_surface对象获取关联的HS_surface对象,并基于该HS_surface对象,利用GS_surface对象所对应的buffer中的图形界面内容数据以及Host子系统中保存的相应子surface的图形界面窗口状态数据,并结合Z-order等信息进行图形合成。
应用程序A运行过程中,图形界面的位置发生变化,Host_client_appA通过IPC通信机制通知compositor针对位置更新后的图形界面进行图形合成,compositor基于HS_surface对象获取相应子surface所对应的图形界面窗口状态数据,并结合Z-order等信息进行图形合成。
本申请的上述实施例中,图形合成器获取到第一图形合成请求,由于所述第一图形合成请求对应于第二子系统中的第二服务端图层对象,因此,图形合成器可根据所述第一图形合成请求所对应的第二服务端图层对象,获取所述第二服务端图层对象所关联的第一子系统中的第一服务端图层对象;所述图形合成器获取所述第二服务端图层对象所对应的缓存,并根据所述缓存中存储的与所述子图层对象对应的图形界面内容数据,响应所述第一图形合成请求。其中,由于所述第一服务端图层对象和所述第二服务端图层对象是针对第一应用的子图层对象创建的,因此图形合成器通过上述方式响应第一图形合成请求,从而使用第一应用的子图层对象对应的图形界面内容数据进行图形合成,实现了在一种操作系统框架内,基于不同操作系统的应用或服务在图形合成层面的融合。
基于相同的技术构思,本申请实施例还提供了一种能够实现上述实施例描述的方法的装置。
参见图8,为本申请实施例提供的图形合成器的结构示意图,如图所示,所述图形合成器为操作系统中的第一子系统和第二子系统共享使用的图形合成器,所述图形合成器包括:请求获取模块801、关联对象获取模块802、合成模块803,其中:
请求获取模块801用于获取第一图形合成请求,所述第一图形合成请求对应于第二子系统中的第二服务端图层对象;
关联对象获取模块502用于根据所述第一图形合成请求所对应的第二服务端图层对象,获取所述第二服务端图层对象所关联的第一子系统中的第一服务端图层对象;其中,所述第一服务端图层对象和所述第二服务端图层对象是针对第一应用的子图层对象创建的;
合成模块803用于获取所述第二服务端图层对象所对应的缓存,基于所述第一服务端图层对象并使用所述缓存中存储的与所述第一应用的子图层对象对应的图形界面内容数据,响应所述第一图形合成请求。
可选地,关联对象获取模块802具体用于:根据所述第二服务端图层对象对应的子图层对象的名称,获取对应于相同子图层对象名称的第一服务端图层对象。
可选地,所述第一图形合成请求由第二客户端基于第二客户端图层对象对所述第一应用的图形界面渲染完成后生成,所述第二客户端图层对象与所述第二服务端图层对象对应;其中,所述第二客户端为所述第一应用在第二子系统中的客户端。
可选地,请求获取模块801还用于:获取第二图形合成请求,所述第二图形合成请求对应于所述第一服务端图层对象;所述合成模块还用于:根据所述第一服务端图层对象所对应的子图层对象,获取该子图层对象对应的第一应用图形界面窗口状态数据;基于所述第一服务端图层对象,并根据所述第一应用图形界面窗口状态数据,响应所述第二图形合成请求。
可选地,所述第二图形合成请求由第一客户端基于第一客户端图层对象对所述第一应用的图形界面的窗口状态进行更新的操作生成,所述第一客户端图层对象与所述第一服务端图层对象对应;其中,所述第一客户端为所述第一应用在第一子系统中的客户端。
基于相同的技术构思,本申请实施例还提供了一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行前述实施例描述的图形界面处理方法。
基于相同的技术构思,本申请实施例还提供了一种能够实现上述实施例描述的方法的装置。
基于相同的技术构思,本申请实施例还提供了一种能够实现上述实施例描述的方法的装置。
参见图9,为本申请实施例提供的图形合成器的结构示意图,如图所示,所述图形合成器为操作系统中的第一子系统和第二子系统共享使用的图形合成器,所述图形合成器包括:第一图层对象创建模块901、关联模块902,其中:
第一图层对象创建模块901用于根据第一客户端的指示,针对第一应用的子图层对象创建第一服务端图层对象;以及,根据第二客户端的指示,针对所述第一应用的子图层对象创建第二服务端图层对象,所述指示是所述第二客户端根据所述第一客户端发送的通知向所述图形合成器发送的;其中,所述第一客户端为所述第一应用在第一子系统中的客户端,所述第二客户端为所述第一应用在第二子系统中的客户端;
关联模块902用于建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系。
可选地,关联模块902具体用于:将第二服务端图层对象对应的子图层对象的名称,设置为与所述第一服务端图层对象对应的子图层对象的名称相同。
可选地,关联模块902还用于:从所述第二客户端获得所述第一服务端图层对象对应的子图层对象的名称;其中,所述子图层对象的名称是所述第一客户端携带于通知中发送给所述第二客户端的。
基于相同的技术构思,本申请实施例还提供了一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行前述实施例描述的图形界面处理方法。
基于相同的技术构思,本申请实施例还提供了一种装置,该装置中包括第一客户端和第二客户端。所述第一客户端和所述第二客户端的功能可如前述实施例所述,在此不再重复。
基于相同的技术构思,本申请实施例还提供了一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行前述实施例描述的图形界面处理方法。
基于相同的技术构思,本申请实施例还提供了一种装置1000,该装置1000可实现前述实施例中服务器侧的流程。
图10示例性地示出了根据各种实施例的示例装置1000,装置1000可包括一个或多个处理器1002,系统控制逻辑1001耦合于至少一个处理器1002,非易失性存储器(non-volatile memory,NMV)/存储器1004耦合于系统控制逻辑1001,网络接口1006耦合于系统控制逻辑1001。
处理器1002可包括一个或多个单核处理器或多核处理器。处理器1002可包括任何一般用途处理器或专用处理器(如图像处理器、应用处理器基带处理器等)的组合。
一个实施例中的系统控制逻辑1001,可包括任何适当的接口控制器,以提供到处理器1002中的至少一个的任何合适的接口,和/或提供到与系统控制逻辑1001通信的任何合适的设备或组件的任何合适的接口。
一个实施例中的系统控制逻辑1001,可包括一个或多个内存控制器,以提供到系统内存1003的接口。系统内存1003用来加载以及存储数据和/或指令。例如,对应装置1000,在一个实施例中,系统内存1003可包括任何合适的易失性存储器。
NVM/存储器1004可包括一个或多个有形的非暂时的计算机可读介质,用于存储数据和/或指令。例如,NVM/存储器1004可包括任何合适的非易失性存储装置,如一个或多个硬盘(hard disk device,HDD),一个或多个光盘(compact disk,CD),和/或一个或多个数字通用盘(digital versatile disk,DVD)。
NVM/存储器1004可包括存储资源,该存储资源物理上是该系统所安装的或者可以被访问的设备的一部分,但不一定是设备的一部分。例如,NVM/存储器1004可经由网络接口1006被网络访问。
系统内存1003以及NVM/存储器1004可分别包括临时的或持久的指令1010的副本。指令1010可包括当由处理器1002中的至少一个执行时导致装置1000实现图4至图6描述的方法之一或组合的指令。各实施例中,指令1010或硬件、固件,和/或软件组件可另外地/可替换地被置于系统控制逻辑1001,网络接口1006和/或处理器1002。
网络接口1006可包括一个接收器来为装置1000提供无线接口来与一个或多个网络和/或任何合适的设备进行通信。网络接口1006可包括任何合适的硬件和/或固件。网络接口1006可包括多个天线来提供多输入多输出无线接口。在一个实施例中,网络接口1006可包括一个网络适配器、一个无线网络适配器、一个电话调制解调器,和/或无线调制解调器。
在一个实施例中,处理器1002中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑一起封装。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑一起封装以形成系统级封装。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑集成在相同的管芯上。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑集成在相同的管芯上以形成系统芯片。
装置1000可进一步包括输入/输出装置1005。输入/输出装置1005可包括用户接口旨在使用户与装置1000进行交互,可包括外围组件接口,其被设计为使得外围组件能够与系统交互,和/或,可包括传感器,旨在确定环境条件和/或有关装置1000的位置信息。

Claims (37)

1.一种图层处理方法,其特征在于,包括:
图形合成器获取第一图形合成请求,所述第一图形合成请求对应于第二子系统中的第二服务端图层对象;
所述图形合成器根据所述第一图形合成请求所对应的第二服务端图层对象,获取所述第二服务端图层对象所关联的第一子系统中的第一服务端图层对象;其中,所述第一服务端图层对象和所述第二服务端图层对象是针对第一应用的子图层对象创建的;
所述图形合成器获取所述第二服务端图层对象所对应的缓存,基于所述第一服务端图层对象并使用所述缓存中存储的与所述第一应用的子图层对象对应的图形界面内容数据,响应所述第一图形合成请求。
2.如权利要求1所述的方法,其特征在于,所述获取所述第二服务端图层对象所关联的第一服务端图层对象,包括:
所述图形合成器根据所述第二服务端图层对象对应的子图层对象的名称,获取对应于相同子图层对象名称的第一服务端图层对象。
3.如权利要求1或2所述的方法,其特征在于,所述第一图形合成请求由第二客户端基于第二客户端图层对象对所述第一应用的图形界面渲染完成后生成,所述第二客户端图层对象与所述第二服务端图层对象对应;其中,所述第二客户端为所述第一应用在第二子系统中的客户端。
4.如权利要求1或2所述的方法,其特征在于,还包括:
所述图形合成器获取第二图形合成请求,所述第二图形合成请求对应于所述第一服务端图层对象;
所述图形合成器根据所述第一服务端图层对象所对应的子图层对象,获取该子图层对象对应的第一应用图形界面窗口状态数据;
所述图形合成器基于所述第一服务端图层对象,并根据所述第一应用图形界面窗口状态数据,响应所述第二图形合成请求。
5.如权利要求4所述的方法,其特征在于,所述第二图形合成请求由第一客户端基于第一客户端图层对象对所述第一应用的图形界面的窗口状态进行更新的操作生成,所述第一客户端图层对象与所述第一服务端图层对象对应;其中,所述第一客户端为所述第一应用在第一子系统中的客户端。
6.如权利要求1中任一项所述的方法,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
7.一种图层处理方法,其特征在于,包括:
第一客户端指示图形合成器针对第一应用的子图层对象创建第一服务端图层对象,并向第二客户端发送通知;其中,所述第一客户端为所述第一应用在第一子系统中的客户端,所述第二客户端为所述第一应用在第二子系统中的客户端;
所述第二客户端根据所述通知,指示所述图形合成器针对所述第一应用的子图层对象创建第二服务端图层对象,并建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系。
8.如权利要求7所述的方法,其特征在于,建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系,包括:
将所述第二服务端图层对象对应的子图层对象的名称,设置为与所述第一服务端图层对象对应的子图层对象的名称相同。
9.如权利要求7所述的方法,其特征在于,还包括:
所述第一客户端获得所述第一服务端图层对象对应的子图层对象的名称,并将所述名称携带于所述通知中。
10.如权利要求9所述的方法,其特征在于,所述第一客户端获得所述第一服务端图层对象对应的子图层对象的名称,包括:
所述第一客户端接收所述图形合成器在创建完成所述第一服务端图层对象后返回的所述子图层对象的名称;或者,
所述第一客户端通过注册的回调函数获得所述子图层对象的名称,所述回调函数用于在所述图形合成器创建完成所述第一服务端图层对象后将所述第一服务端图层对象对应的子图层对象的名称通知给所述第一客户端。
11.如权利要求7至10中任一项所述的方法,其特征在于,第一客户端指示图形合成器创建第一服务端图层对象,包括:
所述第一客户端通过调用用于创建图层对象的第一库函数模块,为第一应用的图形界面创建第一客户端图层对象,所述第一库函数模块被调用后通知所述图形合成器创建所述第一服务端图层对象。
12.如权利要求7至10中任一项所述的方法,其特征在于,所述第二客户端根据所述通知,指示所述图形合成器创建第二服务端图层对象,包括:
所述第二客户端根据所述通知,通过调用用于创建图层对象的第二库函数模块,为所述图形界面创建第二客户端图层对象,所述第二库函数模块被调用后通知所述图形合成器创建所述第二服务端图层对象。
13.如权利要求7所述的方法,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
14.一种图层处理方法,其特征在于,包括:
图形合成器根据第一客户端的指示,针对第一应用的子图层对象创建第一服务端图层对象;其中,所述第一客户端为所述第一应用在第一子系统中的客户端;
所述图形合成器根据第二客户端的指示,针对所述第一应用的子图层对象创建第二服务端图层对象;其中,所述指示是所述第二客户端根据所述第一客户端发送的通知向所述图形合成器发送的;其中,所述第二客户端为所述第一应用在第二子系统中的客户端;
所述图形合成器建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系。
15.如权利要求14所述的方法,其特征在于,所述图形合成器建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系,包括:
所述图形合成器将所述第二服务端图层对象对应的子图层对象的名称,设置为与所述第一服务端图层对象对应的子图层对象的名称相同。
16.如权利要求14或15所述的方法,其特征在于,还包括:
所述图形合成器从所述第二客户端获得所述第一服务端图层对象对应的子图层对象的名称;其中,所述子图层对象的名称是所述第一客户端携带于通知中发送给所述第二客户端的。
17.如权利要求14或15所述的方法,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。
18.一种图形合成器,其特征在于,所述图形合成器为操作系统中的第一子系统和第二子系统共享使用的图形合成器,所述图形合成器包括:
请求获取模块,用于获取第一图形合成请求,所述第一图形合成请求对应于第二子系统中的第二服务端图层对象;
关联对象获取模块,用于根据所述第一图形合成请求所对应的第二服务端图层对象,获取所述第二服务端图层对象所关联的第一子系统中的第一服务端图层对象;其中,所述第一服务端图层对象和所述第二服务端图层对象是针对第一应用的子图层对象创建的;
合成模块,用于获取所述第二服务端图层对象所对应的缓存,基于所述第一服务端图层对象并使用所述缓存中存储的与所述第一应用的子图层对象对应的图形界面内容数据,响应所述第一图形合成请求。
19.如权利要求18所述的图形合成器,其特征在于,所述关联对象获取模块具体用于:
根据所述第二服务端图层对象对应的子图层对象的名称,获取对应于相同子图层对象名称的第一服务端图层对象。
20.如权利要求18或19所述的装置,其特征在于,所述第一图形合成请求由第二客户端基于第二客户端图层对象对所述第一应用的图形界面渲染完成后生成,所述第二客户端图层对象与所述第二服务端图层对象对应;其中,所述第二客户端为所述第一应用在第二子系统中的客户端。
21.如权利要求18或19所述的装置,其特征在于,
所述请求获取模块还用于:获取第二图形合成请求,所述第二图形合成请求对应于所述第一服务端图层对象;
所述合成模块还用于:根据所述第一服务端图层对象所对应的子图层对象,获取该子图层对象对应的第一应用图形界面窗口状态数据;基于所述第一服务端图层对象,并根据所述第一应用图形界面窗口状态数据,响应所述第二图形合成请求。
22.如权利要求21所述的装置,其特征在于,所述第二图形合成请求由第一客户端基于第一客户端图层对象对所述第一应用的图形界面的窗口状态进行更新的操作生成,所述第一客户端图层对象与所述第一服务端图层对象对应;其中,所述第一客户端为所述第一应用在第一子系统中的客户端。
23.一种装置,其特征在于,包括:
第一客户端,用于指示图形合成器针对第一应用的子图层对象创建第一服务端图层对象,并向第二客户端发送通知;其中,所述第一客户端为所述第一应用在第一子系统中的客户端,所述第二客户端为所述第一应用在第二子系统中的客户端;
第二客户端,用于根据所述通知,指示所述图形合成器针对所述第一应用的子图层对象创建第二服务端图层对象,并建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系。
24.如权利要求23所述的装置,其特征在于,所述第二客户端具体用于:
将所述第二服务端图层对象对应的子图层对象的名称,设置为与所述第一服务端图层对象对应的子图层对象的名称相同。
25.如权利要求23所述的装置,其特征在于,所述第一客户端还用于:
获得所述第一服务端图层对象对应的子图层对象的名称,并将所述名称携带于所述通知中。
26.如权利要求25所述的装置,其特征在于,所述第一客户端具体用于获得所述第一服务端图层对象对应的子图层对象的名称,包括:
接收所述图形合成器在创建完成所述第一服务端图层对象后返回的所述子图层对象的名称;或者,
通过注册的回调函数获得所述子图层对象的名称,所述回调函数用于在所述图形合成器创建完成所述第一服务端图层对象后将所述第一服务端图层对象对应的子图层对象的名称通知给所述第一客户端。
27.如权利要求23至26中任一项所述的装置,其特征在于,第一客户端具体用于:通过调用用于创建图层对象的第一库函数模块,为第一应用的图形界面创建第一客户端图层对象,所述第一库函数模块被调用后通知所述图形合成器创建所述第一服务端图层对象。
28.如权利要求23至26中任一项所述的装置,其特征在于,所述第二客户端具体用于:
根据所述通知,通过调用用于创建图层对象的第二库函数模块,为所述图形界面创建第二客户端图层对象,所述第二库函数模块被调用后通知所述图形合成器创建所述第二服务端图层对象。
29.一种图形合成器,其特征在于,所述图形合成器为操作系统中的第一子系统和第二子系统共享使用的图形合成器,所述图形合成器包括:
第一图层对象创建模块,用于根据第一客户端的指示,针对第一应用的子图层对象创建第一服务端图层对象;以及,根据第二客户端的指示,针对所述第一应用的子图层对象创建第二服务端图层对象,所述指示是所述第二客户端根据所述第一客户端发送的通知向所述图形合成器发送的;其中,所述第一客户端为所述第一应用在第一子系统中的客户端,所述第二客户端为所述第一应用在第二子系统中的客户端;
关联模块,用于建立所述第二服务端图层对象与所述第一服务端图层对象间的关联关系。
30.如权利要求29所述的图形合成器,其特征在于,所述关联模块具体用于:
将所述第二服务端图层对象对应的子图层对象的名称,设置为与所述第一服务端图层对象对应的子图层对象的名称相同。
31.如权利要求29或30所述的图形合成器,其特征在于,所述关联模块还用于:从所述第二客户端获得所述第一服务端图层对象对应的子图层对象的名称;其中,所述子图层对象的名称是所述第一客户端携带于通知中发送给所述第二客户端的。
32.一个或多个计算机可读介质,其特征在于,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行如权利要求1-6中任一项所述的方法。
33.一个或多个计算机可读介质,其特征在于,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行如权利要求7-13中任一项所述的方法。
34.一个或多个计算机可读介质,其特征在于,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行如权利要求14-17中任一项所述的方法。
35.一种装置,其特征在于,包括:
一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行如权利要求1-6中任一项所述的方法。
36.一种装置,其特征在于,包括:
一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行如权利要求7-13中任一项所述的方法。
37.一种装置,其特征在于,包括:
一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行如权利要求14-17中任一项所述的方法。
CN201710551288.5A 2017-07-07 2017-07-07 一种图层处理方法及装置 Active CN109240677B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710551288.5A CN109240677B (zh) 2017-07-07 2017-07-07 一种图层处理方法及装置
PCT/CN2018/092625 WO2019007216A1 (zh) 2017-07-07 2018-06-25 一种图层处理方法及装置
US16/714,074 US11164280B2 (en) 2017-07-07 2019-12-13 Graphics layer processing in a multiple operating systems framework

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710551288.5A CN109240677B (zh) 2017-07-07 2017-07-07 一种图层处理方法及装置

Publications (2)

Publication Number Publication Date
CN109240677A true CN109240677A (zh) 2019-01-18
CN109240677B CN109240677B (zh) 2020-10-16

Family

ID=64949714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710551288.5A Active CN109240677B (zh) 2017-07-07 2017-07-07 一种图层处理方法及装置

Country Status (3)

Country Link
US (1) US11164280B2 (zh)
CN (1) CN109240677B (zh)
WO (1) WO2019007216A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114035851A (zh) * 2021-11-08 2022-02-11 北京鲸鲮信息系统技术有限公司 多系统的图形数据处理方法及装置、电子设备和存储介质

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606859B2 (en) 2014-11-24 2020-03-31 Asana, Inc. Client side system and method for search backed calendar user interface
WO2018119713A1 (zh) * 2016-12-27 2018-07-05 深圳前海达闼云端智能科技有限公司 用于多操作系统的显示方法、装置和电子设备
US10977434B2 (en) 2017-07-11 2021-04-13 Asana, Inc. Database model which provides management of custom fields and methods and apparatus therfor
US10623359B1 (en) 2018-02-28 2020-04-14 Asana, Inc. Systems and methods for generating tasks based on chat sessions between users of a collaboration environment
US11138021B1 (en) 2018-04-02 2021-10-05 Asana, Inc. Systems and methods to facilitate task-specific workspaces for a collaboration work management platform
US10613735B1 (en) 2018-04-04 2020-04-07 Asana, Inc. Systems and methods for preloading an amount of content based on user scrolling
US10785046B1 (en) 2018-06-08 2020-09-22 Asana, Inc. Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users
US10616151B1 (en) 2018-10-17 2020-04-07 Asana, Inc. Systems and methods for generating and presenting graphical user interfaces
US10956845B1 (en) 2018-12-06 2021-03-23 Asana, Inc. Systems and methods for generating prioritization models and predicting workflow prioritizations
US11568366B1 (en) 2018-12-18 2023-01-31 Asana, Inc. Systems and methods for generating status requests for units of work
US11113667B1 (en) 2018-12-18 2021-09-07 Asana, Inc. Systems and methods for providing a dashboard for a collaboration work management platform
US11782737B2 (en) 2019-01-08 2023-10-10 Asana, Inc. Systems and methods for determining and presenting a graphical user interface including template metrics
US11204683B1 (en) 2019-01-09 2021-12-21 Asana, Inc. Systems and methods for generating and tracking hardcoded communications in a collaboration management platform
US11341445B1 (en) 2019-11-14 2022-05-24 Asana, Inc. Systems and methods to measure and visualize threshold of user workload
US11783253B1 (en) 2020-02-11 2023-10-10 Asana, Inc. Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment
US11599855B1 (en) 2020-02-14 2023-03-07 Asana, Inc. Systems and methods to attribute automated actions within a collaboration environment
US11763259B1 (en) 2020-02-20 2023-09-19 Asana, Inc. Systems and methods to generate units of work in a collaboration environment
US11900323B1 (en) 2020-06-29 2024-02-13 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on video dictation
US11455601B1 (en) 2020-06-29 2022-09-27 Asana, Inc. Systems and methods to measure and visualize workload for completing individual units of work
US11449836B1 (en) 2020-07-21 2022-09-20 Asana, Inc. Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment
US11568339B2 (en) 2020-08-18 2023-01-31 Asana, Inc. Systems and methods to characterize units of work based on business objectives
US11769115B1 (en) 2020-11-23 2023-09-26 Asana, Inc. Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment
US11405435B1 (en) 2020-12-02 2022-08-02 Asana, Inc. Systems and methods to present views of records in chat sessions between users of a collaboration environment
US11694162B1 (en) 2021-04-01 2023-07-04 Asana, Inc. Systems and methods to recommend templates for project-level graphical user interfaces within a collaboration environment
US11676107B1 (en) 2021-04-14 2023-06-13 Asana, Inc. Systems and methods to facilitate interaction with a collaboration environment based on assignment of project-level roles
US11553045B1 (en) 2021-04-29 2023-01-10 Asana, Inc. Systems and methods to automatically update status of projects within a collaboration environment
US11803814B1 (en) 2021-05-07 2023-10-31 Asana, Inc. Systems and methods to facilitate nesting of portfolios within a collaboration environment
US11792028B1 (en) 2021-05-13 2023-10-17 Asana, Inc. Systems and methods to link meetings with units of work of a collaboration environment
US11809222B1 (en) 2021-05-24 2023-11-07 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on selection of text
US12093859B1 (en) 2021-06-02 2024-09-17 Asana, Inc. Systems and methods to measure and visualize workload for individual users
US11756000B2 (en) 2021-09-08 2023-09-12 Asana, Inc. Systems and methods to effectuate sets of automated actions within a collaboration environment including embedded third-party content based on trigger events
US11635884B1 (en) 2021-10-11 2023-04-25 Asana, Inc. Systems and methods to provide personalized graphical user interfaces within a collaboration environment
US12093896B1 (en) 2022-01-10 2024-09-17 Asana, Inc. Systems and methods to prioritize resources of projects within a collaboration environment
US20230237719A1 (en) * 2022-01-27 2023-07-27 Adobe Inc. Content linting in graphic design documents
US12033251B2 (en) * 2022-01-27 2024-07-09 Adobe Inc. Automatically generating semantic layers in a graphic design document
CN114610424A (zh) * 2022-02-11 2022-06-10 阿里巴巴(中国)有限公司 数据处理方法、云端应用的窗口显示方法和存储介质
US11997425B1 (en) 2022-02-17 2024-05-28 Asana, Inc. Systems and methods to generate correspondences between portions of recorded audio content and records of a collaboration environment
US11836681B1 (en) 2022-02-17 2023-12-05 Asana, Inc. Systems and methods to generate records within a collaboration environment
US12051045B1 (en) 2022-04-28 2024-07-30 Asana, Inc. Systems and methods to characterize work unit records of a collaboration environment based on stages within a workflow
US11863601B1 (en) 2022-11-18 2024-01-02 Asana, Inc. Systems and methods to execute branching automation schemes in a collaboration environment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090088883A1 (en) * 2007-09-27 2009-04-02 Rockwell Automation Technologies, Inc. Surface-based computing in an industrial automation environment
US20090225093A1 (en) * 2008-03-04 2009-09-10 John Harper Buffers for display acceleration
CN101820524A (zh) * 2010-03-22 2010-09-01 中兴通讯股份有限公司 用于电视会议的视频播放方法
CN103927222A (zh) * 2013-12-31 2014-07-16 瑞达信息安全产业股份有限公司 一种用于客户端与服务端的图形协同处理方法和系统
CN106001398A (zh) * 2016-07-07 2016-10-12 天津市航宇嘉瑞科技股份有限公司 一种模具砂芯用激冷涂料及其使用方法
CN106201398A (zh) * 2016-06-30 2016-12-07 乐视控股(北京)有限公司 一种显示方法及电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7839419B2 (en) 2003-10-23 2010-11-23 Microsoft Corporation Compositing desktop window manager
US7996785B2 (en) 2004-06-30 2011-08-09 Microsoft Corporation Systems and methods for integrating application windows in a virtual machine environment
US8274518B2 (en) 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US8065687B2 (en) 2007-01-05 2011-11-22 Moka5, Inc. Bypass virtualization
US8724696B2 (en) 2010-09-23 2014-05-13 Vmware, Inc. System and method for transmitting video and user interface elements
US8924970B2 (en) * 2011-08-05 2014-12-30 Vmware, Inc. Sharing work environment information sources with personal environment applications
EP3198406B1 (en) 2014-09-26 2022-02-23 Intel Corporation Facilitation of guest application display from host operating system
KR102282365B1 (ko) * 2015-02-06 2021-07-27 삼성전자주식회사 Os들의 화면을 통합하여 표시하는 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090088883A1 (en) * 2007-09-27 2009-04-02 Rockwell Automation Technologies, Inc. Surface-based computing in an industrial automation environment
US20090225093A1 (en) * 2008-03-04 2009-09-10 John Harper Buffers for display acceleration
CN101820524A (zh) * 2010-03-22 2010-09-01 中兴通讯股份有限公司 用于电视会议的视频播放方法
CN103927222A (zh) * 2013-12-31 2014-07-16 瑞达信息安全产业股份有限公司 一种用于客户端与服务端的图形协同处理方法和系统
CN106201398A (zh) * 2016-06-30 2016-12-07 乐视控股(北京)有限公司 一种显示方法及电子设备
CN106001398A (zh) * 2016-07-07 2016-10-12 天津市航宇嘉瑞科技股份有限公司 一种模具砂芯用激冷涂料及其使用方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114035851A (zh) * 2021-11-08 2022-02-11 北京鲸鲮信息系统技术有限公司 多系统的图形数据处理方法及装置、电子设备和存储介质
CN114035851B (zh) * 2021-11-08 2023-10-03 北京字节跳动网络技术有限公司 多系统的图形数据处理方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN109240677B (zh) 2020-10-16
US20200193556A1 (en) 2020-06-18
US11164280B2 (en) 2021-11-02
WO2019007216A1 (zh) 2019-01-10

Similar Documents

Publication Publication Date Title
CN109240677B (zh) 一种图层处理方法及装置
US10976981B2 (en) Remote desktop exporting
CN107292807B (zh) 一种图形合成方法、窗口设置方法及系统
US20140143305A1 (en) Apparatus and system for providing software service using software virtualization and method thereof
WO2017167126A1 (zh) 一种窗口显示方法、信息交互方法及系统
KR102545642B1 (ko) 효율적인 병렬 광학 흐름 알고리즘 및 gpu 구현
US11283866B2 (en) Providing remote access to applications through interface hooks
CN111049935B (zh) 远程控制电子设备的系统及其电子设备
EP2500818A1 (en) Method and device for displaying application image
WO2016007181A1 (en) Peer to peer remote application discovery
TW201706834A (zh) 應用程式與虛擬機器通訊連接的系統與方法
CN103701807A (zh) 一种vdi环境下的数据发送方法和装置
AU2017435234B2 (en) Image processing method and device
JP2014135013A (ja) 画像転送方法、サーバ機器及びプログラム
CN113900754A (zh) 共享桌面方法、装置、计算机设备和存储介质
KR20140027741A (ko) 응용 서비스 제공 시스템 및 방법, 응용 서비스를 위한 서버 장치 및 클라이언트 장치
CN114820272B (zh) 数据交互的方法、装置、存储介质及电子设备
KR101705197B1 (ko) 로컬 서버 장치 및 그의 데이터 중계 방법
CN107102792B (zh) 图像处理装置、其控制方法以及计算机可读存储介质
CN110178111A (zh) 一种终端的图像处理方法及装置
EP2924563A1 (en) Methods and systems for communications between apps and virtual machines
US20150113424A1 (en) Monitoring multiple remote desktops on a wireless device
CN113961156A (zh) 多屏显示方法、装置、系统、电子设备及计算机介质
CN115629809A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
US9674307B1 (en) Running mobile applications in a distributed client-server model using selective delegation of hardware and software contexts to the client

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201211

Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China

Patentee after: Zebra smart travel network (Hong Kong) Limited

Address before: Cayman Islands Grand Cayman capital building, a four storey No. 847 mailbox

Patentee before: Alibaba Group Holding Ltd.