云桌面系统与云桌面显示方法、终端设备及存储介质与流程

文档序号:33503795发布日期:2023-03-17 22:54阅读:44来源:国知局
云桌面系统与云桌面显示方法、终端设备及存储介质与流程

1.本技术涉及云计算技术领域,尤其涉及一种云桌面系统与云桌面显示方法、终端设备及存储介质。


背景技术:

2.云桌面又称桌面虚拟化、云电脑,是替代传统电脑的一种新模式。云桌面的逻辑就是传统电脑桌面的数据和计算主要在云服务器上进行,采用云桌面后,用户无需再购买电脑主机,主机所需的cpu、内存、硬盘等组件全部由云服务器虚拟得到,用户可以通过个人电脑、瘦客户机等多种终端使用自己的云桌面,达到与传统电脑一致的体验效果。
3.在云桌面系统中,本地终端上安装云桌面客户端,通过特定的通信协议与云服务器进行交互,以获取云服务器提供的云桌面数据,进而借助于gpu的图形渲染能力对云桌面数据进行渲染,并对渲染出的云桌面进行显示。云桌面最终在终端侧进行显示,显示延迟越小,用户的体验越好,因此有必要对现有云桌面的渲染过程进行优化,以减小云桌面的显示延迟,提高用户体验。


技术实现要素:

4.本技术的多个方面提供一种云桌面系统与云桌面显示方法、终端设备及存储介质,用以优化云桌面的渲染过程,减小云桌面的显示延迟,提高用户体验。
5.本技术实施例提供一种云桌面系统,包括:用于提供云桌面所需的第一部分图层数据的云端服务器,以及用于提供云桌面所需的第二部分图层数据并展示所述云桌面的终端设备,所述终端设备至少包括多个硬件图层,所述多个硬件图层包括图层和至少一个叠加图层;所述云端服务器,用于根据云桌面的动态显示需求,向所述终端设备发送所述第一部分图层数据;所述终端设备,用于对所述云端服务器发送的所述第一部分图层数据进行解码以得到第一中间图层数据,将所述第一中间图层数据送至所述至少一个叠加图层中的第一叠加图层;以及加载所述第二部分图层数据,调用图形处理器gpu对所述第二部分图层数据进行渲染以得到第二中间图层数据,将所述第二中间图层数据送显至所述主要图层;对所述第一中间图层数据和所述第二中间图层数据进行硬件合成以得到第一待显示图层数据,对所述第一待显示图层数据进行显示以得到所述云桌面。
6.本技术实施例还提供一种终端设备,所述终端设备用于提供云桌面所需的第二部分图层数据并展示所述云桌面,所述终端设备包括:计算机处理器、存储器、图形处理器gpu、多个硬件图层和显示控制器,所述多个硬件图层包括主要图层和至少一个叠加图层;所述存储器,用于存储云桌面客户端对应的计算机程序,所述计算处理器与所述存储耦合,用于执行所述计算机程序,以用于:接收云端服务器根据云桌面的动态显示需求发送的所述云桌面所需的第一部分图层数据;对所述第一部分图层数据进行解码以得到第一中间图层数据,将所述第一中间图层数据送显至所述至少一个叠加图层中的第一叠加图层;以及加载所述第二部分图层数据,调用gpu对所述第二部分图层数据进行渲染以得到第二中间
图层数据,将所述第二中间图层数据送显至所述主要图层;所述显示器,用于对所述第一叠加图层中的第一中间图层数据和所述主要图层中的第二中间图层数据进行硬件合成以得到第一待显示图层数据,对所述第一待显示图层数据进行显示以得到所述云桌面。
7.本技术实施例还提供一种云桌面显示方法,应用于终端设备,所述终端设备用于提供云桌面所需的第二部分图层数据并展示所述云桌面,所述方法包括:接收云端服务器根据云桌面的动态显示需求发送的所述云桌面所需的第一部分图层数据;对所述第一部分图层数据进行解码以得到第一中间图层数据,将所述第一中间图层数据送显至所述终端设备包含的至少一个叠加图层中的第一叠加图层;加载所述第二部分图层数据,调用gpu对所述第二部分图层数据进行渲染以得到第二中间图层数据,将所述第二中间图层数据送显至所述终端设备包含的主要图层;对所述第一中间图层数据和所述第二中间图层数据进行硬件合成以得到第一待显示图层数据,对所述第一待显示图层数据进行显示以得到所述云桌面。
8.本技术实施例还提供一种云桌面显示装置,应用于终端设备,所述终端设备用于提供云桌面所需的第二部分图层数据并展示所述云桌面,所述装置包括:接收模块,用于接收云端服务器根据云桌面的动态显示需求发送的所述云桌面所需的第一部分图层数据;解码模块,用于对所述第一部分图层数据进行解码以得到第一中间图层数据;第一送显模块,用于将所述第一中间图层数据送显至所述终端设备包含的至少一个叠加图层中的第一叠加图层;加载模块,用于加载所述第二部分图层数据;渲染模块,用于调用gpu对所述第二部分图层数据进行渲染以得到第二中间图层数据;第二送显模块,用于将所述第二中间图层数据送显至所述终端设备包含的主要图层;显示控制模块,用于对所述第一中间图层数据和所述第二中间图层数据进行硬件合成以得到第一待显示图层数据,对所述第一待显示图层数据进行显示以得到所述云桌面。
9.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器能够实现本技术实施例提供的云桌面显示方法中的步骤。
10.在本技术实施例中,将云桌面需要的图层数据分为两部分,一部分由云端服务器提供,一部分由终端本地提供,进一步,结合终端支持主要图层和叠加图层的优势,对于云端服务器提供的图层数据,终端只需进行解码后直接送显至叠加图层,省去经gpu对这部分图层数据进行渲染的环节,减少gpu渲染环节引起的不同进程间通信的延迟开销,还可以减少gpu渲染导致的耗时开销,降低云桌面的显示延迟,提高显示效率;另外,仅对本地提供的部分图层数据使用gpu进行渲染,对于云端服务器提供的图层数据不再使用gpu进行渲染,还可以降低终端的功耗,进而降低终端设备的温升。
附图说明
11.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
12.图1为本技术实施例提供的一种云桌面系统的结构示意图;
13.图2为本技术实施例提供的一种终端设备的结构示意图;
14.图3a为本技术实施例提供的终端设备进行云桌面显示的一种软件框架示意图;
15.图3b为本技术实施例提供的终端设备进行云桌面显示的另一种软件框架示意图;
16.图4a为本技术实施例提供的终端设备进行云桌面显示的又一种软件框架示意图;
17.图4b为本技术实施例提供的终端设备进行云桌面显示的又一种软件框架示意图;
18.图5a为本技术实施例提供的一种云桌面显示方法的流程示意图;
19.图5b为本技术实施例提供的另一种云桌面显示方法的流程示意图;
20.图6为本技术实施例提供的一种云桌面显示装置的结构示意图。
具体实施方式
21.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.针对现有延迟的技术问题,在本技术一些实施例中,将云桌面需要的图层数据分为两部分,一部分由云端服务器提供,一部分由终端本地提供,进一步,结合终端支持主要图层和叠加图层的优势,对于云端服务器提供的图层数据,终端只需进行解码后直接送显至叠加图层,省去经gpu对这部分图层数据进行渲染的环节,减少gpu渲染环节引起的不同进程间通信的延迟开销,还可以减少gpu渲染导致的耗时开销,降低云桌面的显示延迟,提高显示效率;另外,仅对本地提供的部分图层数据使用gpu进行渲染,对于云端服务器提供的图层数据不再使用gpu进行渲染,还可以降低终端的功耗,进而降低终端设备的温升。
23.以下结合附图,详细说明本技术各实施例提供的技术方案。
24.图1为本技术实施例提供的一种云桌面系统的结构示意图。如图1所示,该系统100包括:云端服务器10和终端设备20。云端服务器10与终端设备20之间通信连接,所述通信连接的方式可以是有线连接方式或无线连接方式,所述无线连接方式包括但不限于:基于移动通信网络的无线连接方式,wifi、蓝牙、红外等。本实施例不限定移动通信网络的制式,例如可以是4g网络、5g网络、6g网络以及未来可能出现的其它制式的网络等。
25.在本实施例中,并不限定终端设备的实现形态,可以是笔记本电脑、台式电脑、平板电脑、智能手机、穿戴设备等各种带有显示器并具有通信能力和一定计算能力的终端设备。同理,本技术实施例也不限定云端服务器的实现形态,可以是传统的云服务器,也可以是部署于云端的服务器集群、虚拟机、容器等各种形态的云端产品。
26.在本实施例中,云端服务器和终端设备相互配合实现云桌面系统。在本实施例中,云桌面系统可提供云桌面,本实施例中的云桌面需要两部分图层数据,即第一部分图层数据和第二部分图层数据;其中,第一部分图层数据由云端服务器负责提供,第二部分图层数据由终端设备本地提供,终端设备除了提供云桌面所需的第二部分图层数据之外还用于获取源端服务器提供的第一部分图层数据,根据第一部分图层数据和第二部分图层数据在本地展示云桌面。其中,第一部分图层数据和第二部分图层数据是不同的图层数据。另外,本实施例中的终端设备20至少包括多个硬件图层,所述多个硬件图层包括主要图层(primary plane)和至少一个叠加图层(overlay plane)。本实施例中的主要图层和至少一个叠加图层都属于硬件图层模块,属于硬件层面。在本实施例中,主要图层通常支持rgb格式的简单图层,叠加图层通常支持一种或多种格式的图层,例如包括但不限于yuv格式的图层。
27.在本实施例中,云端服务器10主要负责云桌面系统的相关计算,例如第一部分图层数据的存储、渲染、流化等处理,还用于获取云桌面的动态显示需求,并根据云桌面的动态显示需求,向终端设备20发送第一部分图层数据。其中,第一部分图层数据可以是云桌面所需且内容变化较为频繁的一些图层数据,例如可以是云桌面中播放的视频流数据,和/或,云桌面中一些带有交互性的图文数据、更新频率较高的图文数据或容易发生变化的图文数据等。其中,将这些变化较为频繁的图层数据交由云端服务器10负责处理,可充分利用云端资源丰富、灵活的优势,减轻终端设备20的资源消耗和处理负担。相应地,第二部分图层数据可以是云桌面所需的且内容变化频率较低或者基本不变的一些图层数据,例如可以是云桌面所需的隐藏菜单的ui图层数据,还可以是一些数据量较小的图层数据等,这些图层数据的处理较为简单,对终端资源的消耗也较少,可以放置在终端侧进行处理,可降低对终端设备带宽资源的消耗。
28.在一些应用场景中,云桌面中会播放视频画面,例如云桌面中显示各个应用软件的图标,用户选择打开视频播放软件,此时,云桌面上会播放视频画面。在云桌面中播放视频画面的情况下,云桌面的动态显示需求与云桌面中播放的视频画面的播放进度有关,云桌面的显示需求会随着视频画面的播放进度的变化而动态变化。云端服务器10可以监测云桌面中视频画面的播放进度,根据视频画面的播放进度确定云桌面的动态显示需求,该动态显示需求可以反映云桌面当前需要展示的视频画面内容,视频画面内容即为云端服务器10提供的第一部分图层数据的示例。
29.在另一些应用场景中,云端桌面窗口除了可以播放视频画面之外,还可以展示一些页面,例如web页面,在这些页面上包括一些交互控件,例如点赞控件、关注控件、收藏控件、评论控件、刷新控件以及一些可以跳转至其它页面的链接控件等,用户通过这些控件可以与云桌面进行交互。在云桌面支持用户交互的情况下,终端设备20在展示云桌面的情况下,还可以响应用户通过云桌面(例如云桌面上的交互控件)发起的交互操作,例如刷新页面、分享页面、收藏页面或者点赞、关注、评论等交互操作,向云端服务器10发送云桌面的数据获取请求,该数据获取请求反映云桌面当前需要显示的内容,云端服务器10根据该数据获取请求可以确定云桌面的动态显示需求,进而根据该动态显示需求向终端设备20返回云桌面所需的最新图文数据(包括图片、文字或新的页面数据等),这些图文数据是云端服务器10提供的第一部分图层数据的示例。
30.当然,在另外一些应用场景中,云桌面可以同时播放视频画面和展示相关的图文数据,例如云桌面可以实现为一个视频播放界面(例如web页面),该视频播放界面包括视频播放区域和图文展示区域,用户可以在观看视频画面的同时,还可以发起与该视频画面相关的交互操作,例如控制视频画面的播放进度,更换视频画面的播放剧集,发表评论,显示弹幕等等。
31.在云端服务器10发送第一部分图层数据的情况下,终端设备20可以接收云端服务器10发送的第一部分图层数据,并对云端服务器10发送的第一部分图层数据进行解码以得到第一中间图层数据,将第一中间图层数据送显至至少一个叠加图层中的第一叠加图层。在本实施例中,并不限定对第一部分图层数据的解码方式,具体可视云端服务器10采用的编码方式而定,例如h264,h265,jpeg,mpeg等等。需要说明的是,终端设备20展示云端桌面窗口,依赖于云端桌面窗口所需的全部图层数据,所以终端设备20还会加载第二部分图层
数据,调用图形处理器(gpu)对第二部分图层数据进行渲染以得到第二中间图层数据,将第二中间图层数据送显至主要图层;最后,对第一中间图层数据和第二中间图层数据进行硬件合成以得到第一待显示图层数据,对第一待显示图层数据进行显示以得到云桌面。其中,对第一待显示图层数据进行显示是指将第一待显示图层数据发送给终端设备的显示器进行显示的过程。
32.在此说明,第一待显示图层数据是由第一中间图层数据和第二中间图层数据合成得到的图层数据,之所以冠以“第一”是为了便于与其它合成的图层数据进行区分,这里的“第一”并没有数量和先后顺序的限定。同理,关于中间图层数据前面的“第一”、“第二”也是为了便于区分不同中间图层数据,“第一”、“第二”并没有数量和先后顺序的限定。关于得到第一中间图层数据和第二中间图层数据的先后顺序不做限定,两个步骤可以按照任意先后顺序执行,也可以并行执行。
33.在本实施例中,对于云端服务器提供的第一部分图层数据,终端设备只需进行解码后不再经gpu渲染而是直接送显至第一叠加图层,省去经gpu对这部分图层数据进行渲染的环节,减少gpu渲染环节引起的不同进程间通信的延迟开销,还可以减少gpu渲染导致的耗时开销,降低云桌面的显示延迟,提高显示效率;另外,在本实施例中,仅对本地提供的第二部分图层数据使用gpu进行渲染,对于云端服务器提供的图层数据不再使用gpu进行渲染,还可以降低终端的功耗,进而降低终端设备的温升。
34.当然,之所以能够省去gpu对第一部分图层数据进行渲染的环节,是终端设备采用了多个硬件图层,借助于终端设备支持叠加图层的优势,通过两个硬件图层对这两部分图层数据进行硬件合成,不再采用gpu对两部分图层数据进行渲染合成,有利于减少延迟,节约gpu资源,降低功耗等。
35.在本技术实施例中,如图2所示,终端设备20包括但不限于以下部件:计算机处理器201、存储器202、图形处理器gpu203、多个硬件图层204、显示控制器205以及显示器206,所述多个硬件图层包括主要图层和至少一个叠加图层。其中,计算处理器201可以是cpu。显示控制器205是硬件模块。在一可选实施例中,计算机处理器201、存储器202、图形处理器gpu203、多个硬件图层204和显示控制器205等可集成在一个硬件芯片上实现,也可以分布在不同硬件芯片上实现,但彼此之间可以相互通信。下面将结合终端设备20的实现结构,对终端设备20与云端服务器10配合进行云桌面展示的过程进行说明。
36.其中,终端设备20上安装有云桌面客户端,通过运行云桌面客户端可以与云端服务器10进行交互,其中,云桌面客户端与云端服务器可通过云桌面传输协议进行交互。本技术实施例对所使用的云桌面传输协议不做限定,例如可以是一些通用的云传输协议,也可以是自定义的传输协议。可选地,云桌面客户端可以采用但不限于自适应流协议(adaptive stream protocol,asp)与云端服务器10进行通信,用于获取云端服务器10提供的第一部分图层数据,并根据第一部分图层数据和第二部分图层数据完成云桌面的展示。具体地,存储器202中存储有云桌面客户端对应的计算机程序,计算处理器201与存储器202耦合,用于执行云客户端对应的计算机程序,以用于:接收云端服务器10根据云桌面的动态显示需求发送的云桌面所需的第一部分图层数据;对第一部分图层数据进行解码以得到第一中间图层数据,将第一中间图层数据送显至至少一个叠加图层中的第一叠加图层;以及加载第二部分图层数据至cpu缓存中,调用gpu对第二部分图层数据进行渲染以得到第二中间图层数
据,将第二中间图层数据送显至主要图层。
37.其中,显示控制器205,用于从第一叠加图层中获取第一中间图层数据,并从主要图层中获取第二中间图层数据,然后,对第一中间图层数据和第二中间图层数据进行硬件合成以得到第一待显示图层数据,对第一待显示图层数据进行显示以得到云桌面。其中,对第一待显示图层数据进行显示是指将第一待显示图层数据发送给终端设备的显示器206进行显示的过程。
38.在一可选实施例中,云桌面所需的图层数据包括多种类型,例如三种或三种以上。其中,第一部分图层数据包括至少两种类型的图层数据,第二部分图层数据包括至少一种类型的图层数据。为了便于区分和描述,将第一部分图层数据中的图层数据称为云端图层数据,将第二部分图层数据中的图层数据称为本地图层数据,云端图层数据存在至少两种,本地图层数据存在至少一种。对于不同类型的云端图层数据来说,同一时刻云端服务器10只会向终端设备20提供其中一种类型的云端图层数据。对云端服务器10来说,可以根据云桌面的动态显示需求,每次从至少两种类型的云端图层数据中确定当前与该动态显示需求适配的目标云端图层数据,向终端设备发送目标云端图层数据,目标云端图层数据是至少两种类型的云端图层数据中的一种。
39.相应地,计算处理器201具体用于:每次接收云端服务器10发送的与该动态显示需求适配的目标云端图层数据;对目标云端图层数据进行解码以得到第一中间图层数据,将第一中间图层数据送显至第一叠加图层。其中,在第一部分图层数据包括至少两种类型的云端图层数据的情况下,第一叠加图层是至少一个叠加图层中同时支持至少两种类型的云端图层数据的叠加图层。也就是说,至少两种类型的云端图层数据可以分时共用同一叠加图层,该叠加图层同时支持至少两种类型的数据格式。另外,在第二部分图层数据包括至少一种类型的本地图层数据的情况下,计算处理器201具体用于:同时加载至少一种类型的本地图层数据,调用gpu同时对至少一种类型的本地图层数据进行渲染以得到第二中间图层数据,并将第二中间图层数据送显至主要图层。
40.在一种云桌面应用场景中,云桌面包括三种图层数据,记为第一初始图层数据、第三初始图层数据和第四初始图层数据。其中,初始图层数据是相对于中间图层数据和待显示图层数据而言的,其本质也是一种图层数据,且这里的“第一”、“第三”、“第四”也是为了便于区分,并没有数量和先后顺序的限定。其中,第一初始图层数据属于本地图层数据,是指云桌面所需的窗口菜单内容数据,可简称为隐藏菜单ui图层数据;第三初始图层数据属于云端图层数据,是指云桌面所需的视频流数据;第四初始图层数据属于云端图层数据,是指云桌面所需的图文数据。
41.其中,第一初始图层数据,即隐藏菜单ui图层数据,是终端设备本地通过图形库绘制的,各种图形库均适用于本技术实施例,例如,qt是一种可选的图形库,qt是一个跨平台的c++图形用户界面应用程序框架,提供给应用程序开发者建立艺术级的图形用户界面所需的各种功能和api。第三初始图层数据,即视频流数据,是通过云桌面播放视频时使用的一种数据,它的格式可以是但不限于yuv420,yuv420是一种图形像素格式,可简称为stream图层数据,该图层数据是云端服务器10下发的。第四初始图层数据,即图文数据,它承载的是云桌面中比如浏览网页时部分文字区域或图片区域变化后的数据,可选地,它的格式可以是但不限于qxl,qxl是一种图形传输格式,可简称为qxl图层数据,该图层数据是云端服
务器10下发的,在送到终端设备后将以bgra格式进行显示。视频流数据通常是全屏数据,当然,对于全屏数据可以仅包含视频流数据,也可以同时包含视频流数据和图文数据。图文数据可以是全屏数据,也可以是区域流数据或命令流数据。其中,全屏数据是指对应整个硬件图层的数据,而区域流数据或命令流数据是指对应硬件图层中部分区域的数据。
42.在图层顺序上,云桌面的隐藏菜单ui图层数据置于云桌面最顶层,而视频流数据(即stream图层数据)在中间,图文数据(即qxl图层数据)在最下面。对于用户来说,在云桌面包含的三种图层数据中,视频流数据和图文数据的变化是最有体感的部分,因此需要以尽可能小的时间延迟呈现到显示器上。
43.针对上述场景,如图3a所示为终端设备进行云桌面显示的一种软件框架。在该软件框架中,计算处理器201一方面接收云端服务器10下发的第三初始图层数据(即视频流数据)或第四初始图层数据(即图文数据),对第三初始图层数据(即视频流数据)或第四初始图层数据(即图文数据)进行解码得到第一中间图层数据,不经gpu渲染直接将第一中间图层数据写入直接存储器访问(dma)的缓存中,通过dma将第一中间图层数据提供给第一叠加图层。其中,通过dma将第一中间图层数据提供给第一叠加图层的过程包括:通过调用第一叠加图层的显示驱动接口将第一中间图层数据在dma缓存中的缓存id发送给第一叠加图层,第一叠加图层根据该缓存id从dma缓存中读取第一中间图层数据,该缓存id表示第一中间图层数据在dma缓存中的存储位置。在图3a所示的软件框架中,计算处理器201在云桌面客户端这层直接调用操作系统提供的显示驱动接口去设置第一叠加图层。
44.需要说明的是,各叠加图层的显示驱动接口可由操作系统中的显示驱动框架提供。根据终端设备所使用的操作系统的不同,显示驱动框架也会有所不同。在本实施例中,以linux等操作系统为例,直接渲染管理器(direct rendering manager,drm)是linux内核层的显示驱动框架,它把显示功能封装成open/close/ioctl等标准接口,用户空间的程序(例如云桌面客户端)调用这些接口可以驱动显示相关的设备(例如叠加图层或主要图层)进行数据显示。drm提供的这些标准接口被封装成了显示驱动库,例如libdrm库,这样用户可以更加方便的进行显示控制,在图3a所示软件框架中,通过调用显示驱动库(如libdrm库)中的显示驱动接口将第一中间图层数据送显至第一叠加图层中。
45.另一方面,如图3a所示,计算处理器201还用于加载第一初始图层数据(即隐藏菜单ui图层数据),并初始化第一初始图层数据的渲染状态,将第一初始图层数据与其渲染状态封装成第一数据包;然后,调用gpu对第一数据包进行渲染,以得到第三中间图层数据;进一步,调用gpu对窗口管理器提供的第二初始图层数据和第三中间图层数据进行渲染合成,得到第二中间图层数据,第二初始图层数据是指云桌面所需的窗口菜单样式数据。其中,渲染状态包括物理贴图、材质属性和被编译为二进制文件的着色器。随着渲染状态一起被传递到gpu的还有光照和照相机相关的信息。
46.需要说明的是,根据终端设备所使用的操作系统的不同,上述渲染得到第二中间图层数据的具体实施过程也会有所不同。在一些操作系统的架构中,例如linux、ubuntu、kubuntu等,当需要操作系统提供界面的时候,操作系统就会建立一个或者数个图形接口服务器(例如linux系统中的x-server/wayland),通过视窗传输协议(例如linux系统中的x-protocol/wayland protocol)与窗口管理器交互,由独立于操作系统的应用程序来产生窗口、状态栏和按钮之类的交互界面。其中,该应用程序被称为是图形接口客户端(例如linux
系统中的x-client),是终端设备上用于显示图形的应用程序,在本技术实施例中是指云桌面客户端。
47.如图3a所示,在图形接口客户端与图形接口服务器的架构中,图形接口客户端负责初始化第一初始图层数据的渲染状态,将第一初始图层数据与其渲染状态封装成第一数据包;然后,通过opengl调用gpu对第一数据包进行渲染,以得到第三中间图层数据,然后调用客户端接口库中的接口函数,将第三中间图层数据发送给图形接口服务器。opengl是一组调用gpu功能的api规范,它定义了用来操作图形和图片的一系列函数的api,通过该规范定义的api可以调用gpu。以linux系统为例,客户端接口库是xlib,xlib是一个用c语言编写的x窗口系统(x window system)协议下用于图形接口客户端的接口库,它包含有与图形接口服务器(例如linux系统中的x-server/wayland)进行通信的函数。进一步,如图3a所示,图形接口服务器负责获取窗口管理器提供的第二初始图层数据,调用gpu对窗口管理器提供的第二初始图层数据和第三中间图层数据进行渲染合成,得到第二中间图层数据,然后调用显示驱动库提供的显示驱动接口将第二中间图层数据送显至主要图层。最后,由显示控制器205从第一叠加图层中获取第一中间图层数据,并从主要图层中获取第二中间图层数据,然后,对第一中间图层数据和第二中间图层数据进行硬件合成以得到第一待显示图层数据,对第一待显示图层数据进行显示以得到云桌面。
48.进一步,在一可选实施例中,第三初始图层数据或第四初始图层数据可能是命令流或区域流,针对这些命令流或区域流,窗口管理器还可以提供第一中间图层数据(或者是第三初始图层数据或第四初始图层数据)在云桌面中的位置信息,基于此,计算机处理器201还可以根据窗口管理器提供的第一中间图层数据在云桌面中的位置信息,调用图形接口服务器将第一中间图层数据送显至第一叠加图层中对应位置上。进一步,如图3b所示,为终端设备进行云桌面显示的另一种软件框架,在该软件框架中,仍以图形接口客户端与图形接口服务器的交互为例,关于窗口菜单ui图层数据(即第一原始图层数据)的处理过程与图3a所示相同,在此不再赘述。在图3b中,计算处理器201还会接收云端服务器10下发的第三初始图层数据(即视频流数据)或第四初始图层数据(即图文数据),对第三初始图层数据(即视频流数据)或第四初始图层数据(即图文数据)进行解码得到第一中间图层数据,不经gpu渲染直接将第一中间图层数据写入直接存储器访问(dma)的缓存中,与图3a所示实施例不同的是,在图3b所示实施例中并未直接调用显示驱动接口将第一中间图层数据送显至第一叠加图层中,而是通过客户端接口库中的接口函数将第一中间图层数据发送给图形接口服务器,图形接口服务器根据窗口管理器提供的第一中间图层数据(或者是第三初始图层数据或第四初始图层数据)在云桌面中的位置信息,通过调用显示驱动接口将第一中间图层数据送显至第一叠加图层中;最后,由显示控制器205从第一叠加图层中获取第一中间图层数据,并从主要图层中获取第二中间图层数据,然后,对第一中间图层数据和第二中间图层数据进行硬件合成以得到第一待显示图层数据,对第一待显示图层数据进行显示以得到云桌面。
49.进一步,在本技术各实施例中,在将第一中间图层数据送显至第一叠加图层之前,计算处理器201还用于:根据至少一个叠加图层的能力信息,从至少一个叠加图层中选择同时支持至少两种类型的云端图层数据的叠加图层作为第一叠加图层,每个叠加图层的能力信息包括该叠加图层所支持的数据格式,例如是仅支持yuv格式,还是仅支持rgb格式,还是
同时支持yuv格式和rgb格式等。
50.需要说明的是,在实际应用中,不同终端设备包含的叠加图层的数量以及叠加图层的能力信息是不一样的。计算处理器201能否从至少一个叠加图层中选择出第一叠加图层需要根据终端设备所包含的叠加图层的能力信息而定。在一些应用场景中,终端设备包含的叠加图层中可能不存在同时支持至少两种类型的云端图层数据的叠加图层,计算处理器201将无法从中选择出第一叠加图层。针对该情况,在本实施例中,计算机处理器201还用于:在无法从至少一个叠加图层中选择出第一叠加图层的情况下,从至少一个叠加图层中获取至少一个第二叠加图层,每个第二叠加图层是支持一种类型的云端图层数据。其中,第二叠加图层的数量可以是一个或多个,可以与云端图层数据的数量相同,也可以少于云端图层数据的数量。当第二叠加图层的数量与云端图层数据的数量相同时,意味着每个云端图层数据可以被送显至一个独立的第二叠加图层中;当第二叠加图层的数量少于云端图层数据的数量时,意味着有一部分云端图层数据无法直接被送显至第二叠加图层,对于这部分云端图层数据需要调用gpu进行渲染。
51.基于上述,在未能从至少一个叠加图层中选择出第一叠加图层,但选择出至少一个第二叠加图层的情况下,计算机处理器201每次接收到云端服务器提供的目标云端图层数据时,根据目标云端图层数据的类型,判断是否存在与目标云端图层数据对应的第二叠加图层;若存在与目标云端图层数据对应的第二叠加图层,对目标云端图层数据进行解码得到第四中间图层数据,不经gpu渲染直接将第四中间图层数据送显至对应的第二叠加图层;另一方面,计算机处理器201还会加载至少一种类型的本地图层数据,调用gpu对至少一种类型的本地图层数据进行渲染以得到第五中间图层数据,将第五图层数据送显至主要图层。相应地,显示控制器205还用于:从第二叠加图层中获取第四中间图层数据,从主要图层中获取第五中间图层数据;根据第四中间图层数据和第五中间图层数据进行硬件合成以得到第二待显示图层数据,对第二待显示图层数据进行显示以得到云桌面。需要说明的是,在该实施例中,云端服务器向终端设备提供目标云端图层数据的过程与前述实施例相同,另外,关于调用gpu对至少一种类型的本地图层数据进行渲染以得到第五中间图层数据的过程与得到第二中间图层数据的过程相同,在此不再赘述。
52.进一步可选地,若不存在与目标云端图层数据对应的第二叠加图层,计算机处理器还用于对目标云端图层数据进行解码得到第八中间图层数据,调用gpu对第八中间图层数据和至少一种类型的本地图层数据进行渲染合成,得到第六中间图层数据;将第六中间图层数据作为第三待显示图层数据送入主要图层;相应地,显示器还用于:从主要图层中获取第三待显示图层数据,对第三待显示图层数据进行显示以得到云桌面。
53.接续于上述实施例,以云桌面包括第一初始图层数据(例如隐藏菜单ui图层数据)、第三初始图层数据(如stream图层数据)和第四初始图层数据(如qxl图层数据)为例,则一种终端设备进行云桌面显示的软件框架如图4a所示,在该软件框架中,终端设备包括两个第二叠加图层和主要图层,两个第二叠加图层所支持的数据格式不同;其中,主要图层与第一初始图层数据(例如隐藏菜单ui图层数据)对应,用于显示由第一初始图层数据渲染得到的第五中间图层数据;一个第二叠加图层与第三初始图层数据对应,支持第三初始图层数据的数据格式,用于显示第三初始图层数据(如stream图层数据)解码得到的第四中间图层数据;另一个第二叠加图层与第四初始图层数据对应,支持第四初始图层数据的数据
格式,用于显示第四初始图层数据(如qxl图层数据)解码得到的第四中间图层数据。
54.接续于上述实施例,以云桌面包括第一初始图层数据(例如隐藏菜单ui图层数据)、第三初始图层数据(如stream图层数据)和第四初始图层数据(如qxl图层数据)为例,如图4b所示,为一种终端设备进行云桌面显示的又一种软件框架,在该软件框架中,终端设备包括一个第二叠加图层和主要图层;其中,第二叠加图层与第三初始图层数据对应,用于显示第三初始图层数据(如stream图层数据)解码得到的第四中间图层数据;关于第四初始图层数据,需要将其解码得到第八中间图层数据,调用gpu对第八中间图层数据和第一初始图层进行渲染合成,得到第六中间图层数据,也就是说,主要图层与第一初始图层数据和第四初始图层数据对应,用于显示由第一初始图层数据和第四初始图层数据渲染合成得到的第六中间图层数据。
55.更进一步的,计算机处理器还用于:在无法从至少一个叠加图层中选择出第一叠加图层和任何第二叠加图层的情况下,每次接收到云端服务器提供的目标云端图层数据时,将目标云端数据进行解码得到第九中间图层数据,调用gpu对第九中间图层数据和至少一种类型的本地图层数据进行渲染合成,得到第七中间图层数据;将第七中间图层数据作为第四待显示图层数据送入主要图层,对第四待显示图层数据进行显示以得到云桌面。计算机处理器加载本地图层数据(例如隐藏菜单ui图层数据),以及接收云端服务器发送的目标云端图层数据(例如stream图层数据/qxl图层数据)的情况下,会初始化这些图层数据的渲染状态,将各图层数据与其渲染状态打包后调用gpu进行渲染,得到底第七中间图层;将第七中间图层数据作为第四待显示图层数据送入主要图层,对第四待显示图层数据进行显示以得到云桌面。需要说明的是,在图4a-图4b中仍旧以图形接口客户端与图形接口服务器交互的架构为例进行图示,相关实现逻辑可参见前述实施例,在此不再赘述。
56.需要说明的是,图2中仅示出了终端设备的部分组件,可选地,该终端设备还可以包括:通信组件、显示器、电源组件、音频组件等其它组件。
57.图5a为本技术实施例提供的一种云桌面显示方法的流程示意图。该方法应用于终端设备,所述终端设备用于提供云桌面所需的第二部分图层数据并展示所述云桌面,关于终端设备的实现结构参见前述实施例,在此不再赘述。如图5a所示,该方法包括:
58.51a、接收云端服务器根据云桌面的动态显示需求发送的云桌面所需的第一部分图层数据;
59.52a、对第一部分图层数据进行解码以得到第一中间图层数据,将第一中间图层数据送显至终端设备包含的至少一个叠加图层中的第一叠加图层;
60.53a、加载第二部分图层数据,调用gpu对第二部分图层数据进行渲染以得到第二中间图层数据,将第二中间图层数据送显至终端设备包含的主要图层;
61.54a、对第一中间图层数据和第二中间图层数据进行硬件合成以得到第一待显示图层数据,对第一待显示图层数据进行显示以得到云桌面。
62.在一可选实施例中,将第一中间图层数据送显至终端设备包含的至少一个叠加图层中的第一叠加图层,包括:不经gpu渲染直接将第一中间图层数据送显至第一叠加图层。
63.在一可选实施例中,第一部分图层数据包括至少两种类型的云端图层数据,第一叠加图层是至少一个叠加图层中同时支持至少两种类型的云端图层数据的叠加图层。相应地,上述接收云端服务器根据云桌面的动态显示需求发送的云桌面所需的第一部分图层数
据,包括:每次接收云端服务器发送的与动态显示需求适配的目标云端图层数据,目标云端图层数据是至少两种类型的云端图层数据中的一种;对第一部分图层数据进行解码以得到第一中间图层数据,包括:对目标云端图层数据进行解码以得到第一中间图层数据。
64.在一可选实施例中,上述将第一中间图层数据送显至终端设备包含的至少一个叠加图层中的第一叠加图层,包括:不经gpu渲染直接将第一中间图层写入dma的缓存中,通过dma将第一中间图层数据提供给第一叠加图层。
65.在一可选实施例中,第二部分图层数据包括至少一种类型的本地图层数据;上述加载第二部分图层数据,调用gpu对第二部分图层数据进行渲染以得到第二中间图层数据,包括:同时加载至少一种类型的本地图层数据,调用gpu同时对至少一种类型的本地图层数据进行渲染以得到第二中间图层数据。
66.在一可选实施例中,至少一种类型的本地图层数据包括第一初始图层数据,第一初始图层数据是指云桌面所需的窗口菜单内容数据。相应地,上述调用gpu同时对至少一种类型的本地图层数据进行渲染以得到第二中间图层数据,包括:初始化第一初始图层数据的渲染状态,将第一初始图层数据与其渲染状态封装成第一数据包,调用gpu对第一数据包进行渲染,以得到第三中间图层数据;调用gpu对窗口管理器提供的第二初始图层数据和第三中间图层数据进行渲染合成,得到第二中间图层数据,第二初始图层数据是指云桌面所需的窗口菜单样式数据。
67.在一可选实施例中,至少两种类型的云端图层数据包括第三初始图层数据和第四初始图层数据,第三初始图层数据是指云桌面所需的视频流数据,第四初始图层数据是指云桌面所需的图文数据。上述将第一中间图层数据送显至终端设备包含的至少一个叠加图层中的第一叠加图层,包括:根据窗口管理器提供的第一中间图层数据在云桌面中的位置信息,调用图形接口服务器将第一中间图层数据送显至第一叠加图层对应位置上。
68.在一可选实施例中,本实施例的方法还包括:根据至少一个叠加涂层的能力信息,从至少一个叠加图层中选择同时支持至少两种类型的云端图层数据的叠加图层作为第一叠加图层,叠加图层的能力信息包括叠加图层所支持的数据格式。
69.在一可选实施例中,本实施例的方法还包括:在无法从至少一个叠加图层中选择出第一叠加图层的情况下,从至少一个叠加图层中获取到至少一个第二叠加图层,每个第二叠加图层是支持一种类型的云端图层数据。
70.基于上述,本技术实施例还提供了另一种云桌面显示方法,其中,图5b为本技术实施例提供的另一种云桌面显示方法的流程示意图。该方法应用于终端设备,如图5b,该方法包括:
71.51b、每次接收到云端服务器提供的目标云端图层数据时,根据目标云端图层数据的类型,判断是否存在与目标云端图层数据对应的第二叠加图层;
72.52b、若存在与目标云端图层数据对应的第二叠加图层,对目标云端图层数据进行解码得到第四中间图层数据,不经gpu渲染直接将第四中间图层数据送显至对应的第二叠加图层;
73.53b、加载至少一种类型的本地图层数据,并调用gpu对至少一种类型的本地图层数据进行渲染以得到第五中间图层数据,将第五图层数据送显至主要图层;
74.54b、对第四中间图层数据和第五中间图层数据进行硬件合成以得到第二待显示
图层数据,对第二待显示图层数据进行显示以得到云桌面。
75.进一步可选地,本实施例的方法还包括:若不存在与所属目标云端图层数据对应的第二叠加图层,对所述目标云端图层数据进行解码得到第八中间图层数据,调用gpu对所述第八中间图层数据和所述至少一种类型的本地图层数据进行渲染合成,得到第六中间图层数据;将第六中间图层数据作为第三待显示图层数据送入主要图层;对第三待显示图层数据进行显示以得到云桌面。
76.进一步可选地,本实施例的方法还包括:在无法从至少一个叠加图层中选择出第一叠加图层和任何第二叠加图层的情况下,每次接收到云端服务器提供的目标云端图层数据时,对所述目标云端图层数据进行解码得到第九中间图层数据,调用gpu对所述第九中间图层数据和和至少一种类型的本地图层数据进行渲染合成,得到第七中间图层数据;将第七中间图层数据作为第四待显示图层数据送入主要图层,对第四待显示图层数据进行显示以得到云桌面。
77.需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤51a至步骤51d的执行主体可以为设备a;又比如,步骤51a和51b的执行主体可以为设备a,步骤53c的执行主体可以为设备b;等等。
78.另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如51a、52a等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
79.图6为本技术实施例提供的一种云桌面显示装置的结构示意图。该装置可应用于终端设备,终端设备用于提供云桌面所需的第二部分图层数据并展示云桌面,如图6所示,该装置包括:接收模块61、解码模块62、第一送显模块63、加载模块64、渲染模块65、第二送显模块66和显示控制模块67。
80.接收模块61,用于接收云端服务器根据云桌面的动态显示需求发送的云桌面所需的第一部分图层数据。
81.解码模块62,用于对第一部分图层数据进行解码以得到第一中间图层数据。
82.第一送显模块63,用于将第一中间图层数据送显至终端设备包含的至少一个叠加图层中的第一叠加图层。
83.加载模块64,用于加载第二部分图层数据。
84.渲染模块65,用于调用gpu对第二部分图层数据进行渲染以得到第二中间图层数据。
85.第二送显模块66,用于将第二中间图层数据送显至终端设备包含的主要图层。
86.显示控制模块67,用于对第一中间图层数据和第二中间图层数据进行硬件合成以得到第一待显示图层数据,对第一待显示图层数据进行显示以得到云桌面。
87.在一可选实施例中,第一送显模块63具体用于:不经gpu渲染直接将所述第一中间图层数据送显至所述第一叠加图层。
88.在一可选实施例中,第一部分图层数据包括至少两种类型的云端图层数据,第一
叠加图层是至少一个叠加图层中同时支持至少两种类型的云端图层数据的叠加图层。相应地,接收模块61具体用于:每次接收云端服务器发送的与动态显示需求适配的目标云端图层数据,目标云端图层数据是至少两种类型的云端图层数据中的一种;对第一部分图层数据进行解码以得到第一中间图层数据,包括:对目标云端图层数据进行解码以得到第一中间图层数据。
89.在一可选实施例中,第一送显模块63具体用于:不经gpu渲染直接将第一中间图层写入dma的缓存中,通过dma将第一中间图层数据提供给第一叠加图层。
90.在一可选实施例中,第二部分图层数据包括至少一种类型的本地图层数据;加载模块64具体用于:同时加载至少一种类型的本地图层数据,调用gpu同时对至少一种类型的本地图层数据进行渲染以得到第二中间图层数据。
91.在一可选实施例中,至少一种类型的本地图层数据包括第一初始图层数据,第一初始图层数据是指云桌面所需的窗口菜单内容数据。相应地,渲染模块65具体用于:初始化第一初始图层数据的渲染状态,将第一初始图层数据与其渲染状态封装成第一数据包,调用gpu对第一数据包进行渲染,以得到第三中间图层数据;调用gpu对窗口管理器提供的第二初始图层数据和第三中间图层数据进行渲染合成,得到第二中间图层数据,第二初始图层数据是指云桌面所需的窗口菜单样式数据。
92.在一可选实施例中,至少两种类型的云端图层数据包括第三初始图层数据和第四初始图层数据,第三初始图层数据是指云桌面所需的视频流数据,第四初始图层数据是指云桌面所需的图文数据。第一送显模块63具体用于:根据窗口管理器提供的第一中间图层数据在云桌面中的位置信息,调用图形接口服务器将第一中间图层数据送显至第一叠加图层对应位置上。
93.在一可选实施例中,本实施例的装置还包括:选择模块,用于根据至少一个叠加涂层的能力信息,从至少一个叠加图层中选择同时支持至少两种类型的云端图层数据的叠加图层作为第一叠加图层,叠加图层的能力信息包括叠加图层所支持的数据格式。
94.在一可选实施例中,选择模块还用于:在无法从至少一个叠加图层中选择出第一叠加图层的情况下,从至少一个叠加图层中获取到至少一个第二叠加图层,每个第二叠加图层是支持一种类型的云端图层数据。
95.基于上述,本实施例的装置还包括:判断模块,用于每次接收到云端服务器提供的目标云端图层数据时,根据目标云端图层数据的类型,判断是否存在与目标云端图层数据对应的第二叠加图层。解码模块62还用于在判断模块判断出存在与目标云端图层数据对应的第二叠加图层的情况下,对目标云端图层数据进行解码得到第四中间图层数据;第一送显模块63还用于不经gpu渲染直接将第四中间图层数据送显至对应的第二叠加图层。相应地,加载模块64还用于:加载至少一种类型的本地图层数据,渲染模块65还用于:调用gpu对至少一种类型的本地图层数据进行渲染以得到第五中间图层数据,第二送显模块66还用于:将第五图层数据送显至主要图层。显示控制模块67还用于对第四中间图层数据和第五中间图层数据进行硬件合成以得到第二待显示图层数据,对第二待显示图层数据进行显示以得到云桌面。
96.本实施例提供的装置可用于执行上述方法实施例中的各步骤,关于各功能模块的详细功能实现可参见前述方法实施例或系统实施例中的详细描述,在此不再赘述。
97.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时,致使处理器能够实现上述方法实施例中可由终端设备执行的各步骤。
98.上述实施例中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g/lte、5g等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
99.上述实施例中的显示器包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
100.上述实施例中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
101.上述实施例中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
102.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
103.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
104.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
105.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
106.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
107.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
108.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
109.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
110.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1