远程数据的显示方法、装置、设备及机器可读存储介质与流程

文档序号:26003286发布日期:2021-07-23 21:20阅读:56来源:国知局
远程数据的显示方法、装置、设备及机器可读存储介质与流程

本申请涉及互联网技术领域,尤其是涉及一种远程数据的显示方法、装置、设备及机器可读存储介质。



背景技术:

随着计算机技术以及网络技术的快速发展,远程桌面技术的应用也越来越广泛,远程桌面技术的工作原理是指:将一台设备屏幕显示的内容(即桌面数据),通过网络发送到另一端的设备进行显示。云桌面技术是远程桌面技术的一种具体应用,基于在云端部署的物理机(如物理服务器),云桌面是指将运行在物理机的虚拟机的桌面数据呈现在终端,即在终端进行显示。但是,如何在单台物理机上稳定运行更多的云桌面,目前并没有合理的实现方式。



技术实现要素:

本申请提供一种远程数据的显示方法,所述方法应用于物理机,所述物理机包括虚拟机,处理器和编码卡,所述方法包括:

所述虚拟机采集自身运行过程中产生的桌面数据,并

将所述桌面数据发送给所述处理器;

所述处理器接收所述桌面数据,并将所述桌面数据发送给所述编码卡;

所述编码卡对接收到的所述桌面数据进行编码,并将已编码桌面数据发送给所述处理器;

所述处理器将接收到的所述已编码桌面数据发送给终端设备,以使终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

本申请提供一种远程数据的显示方法,应用于物理机,包括:

获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;其中,所述虚拟机部署在所述物理机;

将所述桌面数据发送给编码卡,以使所述编码卡对所述桌面数据进行编码;其中,所述编码卡部署在所述物理机;

从所述编码卡获取已编码桌面数据,将所述已编码桌面数据发送给终端设备,以使终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

本申请提供一种远程数据的显示方法,应用于物理机,包括:

获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;其中,所述虚拟机部署在所述物理机;

对所述桌面数据进行编码,并将已编码桌面数据发送给终端设备,以使所述终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

本申请提供一种远程数据的显示方法,应用于编码卡,包括:

通过物理机获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;其中,所述虚拟机部署在物理机;

对所述桌面数据进行编码,并通过所述物理机将已编码桌面数据发送给终端设备,以使所述终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

本申请提供一种物理机,包括虚拟机,处理器和编码卡,其中:

所述虚拟机,用于采集所述虚拟机运行过程中产生的桌面数据,并将所述桌面数据发送给所述处理器;

所述处理器,用于接收所述桌面数据,将所述桌面数据发送给所述编码卡;

所述编码卡,用于对接收到的所述桌面数据进行编码,并将已编码桌面数据发送给所述处理器;

所述处理器,还用于将接收到的所述已编码桌面数据发送给终端设备,以使终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

本申请提供一种远程数据的显示装置,应用于物理机,包括:

获取模块,用于获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;其中,所述虚拟机部署在所述物理机;

发送模块,用于将所述桌面数据发送给编码卡,以使所述编码卡对所述桌面数据进行编码;其中,所述编码卡部署在所述物理机;

接收模块,用于从所述编码卡获取已编码桌面数据;

所述发送模块,还用于将所述已编码桌面数据发送给终端设备,以使所述终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

本申请提供一种远程数据的显示装置,应用于编码卡,包括:

获取模块,用于通过物理机获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;所述虚拟机部署在物理机;

编码模块,用于对所述桌面数据进行编码;

发送模块,用于通过所述物理机将已编码桌面数据发送给终端设备,以使所述终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

本申请提供一种物理机,包括:

处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:

获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;其中,所述虚拟机部署在所述物理机;

将所述桌面数据发送给编码卡,以使所述编码卡对所述桌面数据进行编码;其中,所述编码卡部署在所述物理机;

从所述编码卡获取已编码桌面数据,将所述已编码桌面数据发送给终端设备,以使终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

本申请提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:

获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;其中,所述虚拟机部署在所述物理机;

将所述桌面数据发送给编码卡,以使所述编码卡对所述桌面数据进行编码;其中,所述编码卡部署在所述物理机;

从所述编码卡获取已编码桌面数据,将所述已编码桌面数据发送给终端设备,以使终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

基于上述技术方案,本申请实施例中,通过虚拟机采集自身运行过程中产生的桌面数据,从而在虚拟机内部采集桌面数据,能够捕获到桌面的细节数据,并利用这些细节数据进行处理,改善云桌面的画面质量,保证云桌面的画面质量。通过编码卡(额外部署的硬件编码卡)对桌面数据进行编码,降低处理器的计算量,避免处理器对桌面数据进行编码,避免处理器的资源被大量占用,物理机上云桌面的数目较多时,也能稳定运行更多的云桌面,提高云桌面数量。

附图说明

为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。

图1是本申请一种实施方式中的远程数据的显示方法的流程示意图;

图2是本申请另一种实施方式中的远程数据的显示方法的流程示意图;

图3是本申请另一种实施方式中的远程数据的显示方法的流程示意图;

图4是本申请另一种实施方式中的远程数据的显示方法的流程示意图;

图5是本申请一种实施方式中的应用场景示意图;

图6是本申请另一种实施方式中的远程数据的显示方法的流程示意图;

图7是本申请另一种实施方式中的远程数据的显示方法的流程示意图;

图8a是本申请一种实施方式中的远程数据的显示装置的结构示意图;

图8b是本申请一种实施方式中的远程数据的显示装置的结构示意图;

图9a是本申请一种实施方式中的物理机的结构示意图;

图9b是本申请一种实施方式中的物理机的结构示意图。

具体实施方式

在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

基于在云端部署的物理机(如物理服务器)可以实现云桌面,云桌面是指将运行在物理机的虚拟机的桌面呈现在终端,即在终端进行显示。主要工作原理是,不断抓捕虚拟机中的屏幕画面声音等桌面数据,并进行编码压缩,然后通过网络将编码压缩后的数据传递到终端,终端进行解码并最终展现给用户。

在一种可能的实施方式中,开发运行在虚拟机的程序,该程序在虚拟机内部进行抓屏,然后在虚拟机内部进行编码。由于程序在虚拟机内部,能够捕获到桌面细节,包含文本信息,窗口变化区域,鼠标运动等细节,编码时参考这些细节,动态选择有损压缩或无损压缩,能够极大改善云桌面的画面质量。

在另一种可能的实施方式中,开发运行在物理机(即虚拟机所在的宿主机)的程序,该程序在物理机上读取虚拟机的虚拟显卡数据,基于该虚拟显卡数据来捕获虚拟机的桌面数据。此外,在物理机上插入编码卡,利用编码卡对虚拟机的桌面数据进行编码。由于使用编码卡对桌面数据进行编码,能够大幅降低物理机的处理器的计算量,在云桌面数目较多时,不会产生明显影响。

在另一种可能的实施方式中,开发运行在虚拟机的程序,该程序在虚拟机内部进行抓屏,由于程序在虚拟机内部,能够捕获到桌面细节,编码时可以参考这些细节,动态选择有损压缩或无损压缩,能够极大改善云桌面的画面质量。虚拟机能够将桌面数据传递到物理机,在物理机上插入编码卡,物理机可以将桌面数据提供给编码卡,利用编码卡对虚拟机的桌面数据进行编码。由于使用编码卡对桌面数据进行编码,能够大幅降低物理机的处理器的计算量,在云桌面数目较多时,不会产生明显影响,从而能够增大单物理机的云桌面数量。

以下结合具体实施例,对上述云桌面的第三种实现方式进行说明。

实施例1:本申请实施例中提出一种远程数据的显示方法,该方法可以应用于物理机(即物理服务器,这个物理机作为虚拟机的宿主机),该物理机可以包括但不限于虚拟机,处理器和编码卡(即额外部署的硬件编码卡),参见图1所示,为该远程数据的显示方法的流程示意图,该方法可以包括:

步骤101,虚拟机采集自身运行过程中产生的桌面数据。

步骤102,虚拟机将该桌面数据发送给处理器。

步骤103,处理器接收该桌面数据,并将该桌面数据发送给编码卡。

步骤104,编码卡对接收到的该桌面数据进行编码,并将已编码桌面数据发送给处理器。例如,编码卡对该桌面数据进行编码后,可以得到已编码桌面数据,并将该已编码桌面数据发送给处理器。

示例性的,为了对该桌面数据进行编码,编码卡可以确定与该桌面数据对应的编码方式,并根据该编码方式对该桌面数据进行编码。

在一种可能的实施方式中,桌面数据可以包括数据显示模式,编码卡可以根据该数据显示模式确定与该桌面数据对应的编码方式。例如,若数据显示模式表示虚拟机的桌面显示的是视频图像,编码卡确定与桌面数据对应的编码方式为有损压缩编码,或,仅对差异区域压缩编码。若数据显示模式表示虚拟机的桌面显示的是文本,编码卡确定与桌面数据对应的编码方式为无损压缩编码。

在另一种可能的实施方式中,桌面数据可以包括数据显示模式,处理器可以根据该数据显示模式确定与该桌面数据对应的编码方式。例如,若数据显示模式表示虚拟机的桌面显示的是视频图像,处理器确定与桌面数据对应的编码方式为有损压缩编码,或,仅对差异区域压缩编码。若数据显示模式表示虚拟机的桌面显示的是文本,处理器确定与桌面数据对应的编码方式为无损压缩编码。然后,处理器将与桌面数据对应的编码方式发送给编码卡,编码卡可以从处理器接收与桌面数据对应的编码方式,继而获知与桌面数据对应的编码方式。

步骤105,处理器将接收到的该已编码桌面数据发送给终端设备,以使终端设备根据该已编码桌面数据在本地桌面进行数据显示。

在上述实施例中,物理机可以包括但不限于部署在云端的物理机,虚拟机运行过程中产生的桌面数据可以包括但不限于云桌面数据。

在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。

基于上述技术方案,本申请实施例中,通过虚拟机采集自身运行过程中产生的桌面数据,从而在虚拟机内部采集桌面数据,能够捕获到桌面的细节数据,并利用这些细节数据进行处理,改善云桌面的画面质量,保证云桌面的画面质量。通过编码卡(额外部署的硬件编码卡)对桌面数据进行编码,降低处理器的计算量,避免处理器对桌面数据进行编码,避免处理器的资源被大量占用,物理机上云桌面的数目较多时,也能稳定运行更多的云桌面,提高云桌面数量。

实施例2:本申请实施例中提出一种远程数据的显示方法,该方法可以应用于物理机,该物理机可以包括虚拟机和编码卡(即额外部署的硬件编码卡),参见图2所示,为远程数据的显示方法的流程示意图,该方法可以包括:

步骤201,获取虚拟机运行过程中产生的桌面数据,该桌面数据是虚拟机在自身运行过程中采集的;其中,虚拟机是部署在物理机上的虚拟机。

步骤202,将该桌面数据发送给编码卡,以使编码卡对该桌面数据进行编码;其中,编码卡是部署在物理机上的硬件编码卡。

示例性的,该桌面数据可以包括数据显示模式,还可以根据该数据显示模式确定与该桌面数据对应的编码方式,并将该编码方式发送给编码卡,以使编码卡根据该编码方式对该桌面数据进行编码。

例如,为了确定与该桌面数据对应的编码方式,则:若数据显示模式表示虚拟机的桌面显示的是视频图像,则确定与桌面数据对应的编码方式为有损压缩编码,或,仅对差异区域压缩编码。若数据显示模式表示虚拟机的桌面显示的是文本,则确定与桌面数据对应的编码方式为无损压缩编码。

步骤203,从编码卡获取已编码桌面数据,将该已编码桌面数据发送给终端设备,以使终端设备根据该已编码桌面数据在本地桌面进行数据显示。

基于上述技术方案,本申请实施例中,通过虚拟机采集自身运行过程中产生的桌面数据,从而在虚拟机内部采集桌面数据,能够捕获到桌面的细节数据,并利用这些细节数据进行处理,改善云桌面的画面质量,保证云桌面的画面质量。通过编码卡(额外部署的硬件编码卡)对桌面数据进行编码,降低处理器的计算量,避免处理器对桌面数据进行编码,避免处理器的资源被大量占用,物理机上云桌面的数目较多时,也能稳定运行更多的云桌面,提高云桌面数量。

实施例3:本申请实施例中提出一种远程数据的显示方法,该方法可以应用于物理机,参见图3所示,为该方法的流程示意图,该方法可以包括:

步骤301,获取虚拟机运行过程中产生的桌面数据,该桌面数据是虚拟机在自身运行过程中采集的;其中,虚拟机是部署在物理机上的虚拟机。

步骤302,对该桌面数据进行编码,并将已编码桌面数据发送给终端设备,以使终端设备根据该已编码桌面数据在本地桌面进行数据显示。

示例性的,该桌面数据可以包括数据显示模式,还可以根据该数据显示模式确定与该桌面数据对应的编码方式,并根据该编码方式对该桌面数据进行编码。例如,若该数据显示模式表示虚拟机的桌面显示的是视频图像,则可以确定与桌面数据对应的编码方式为有损压缩编码,或,仅对差异区域压缩编码。若该数据显示模式表示虚拟机的桌面显示的是文本,则可以确定与桌面数据对应的编码方式为无损压缩编码。

基于上述技术方案,本申请实施例中,通过虚拟机采集自身运行过程中产生的桌面数据,在虚拟机内部采集桌面数据,能够捕获到桌面的细节数据,并利用这些细节数据进行处理,改善云桌面的画面质量,保证云桌面的画面质量。

实施例4:本申请实施例提出一种远程数据的显示方法,可以应用于部署在物理机的编码卡,参见图4所示,为该方法的流程示意图,该方法包括:

步骤401,通过物理机获取虚拟机运行过程中产生的桌面数据,该桌面数据是虚拟机在自身运行过程中采集的;其中,虚拟机是部署在物理机上的虚拟机。

步骤402,对该桌面数据进行编码,并通过物理机将已编码桌面数据发送给终端设备,以使终端设备根据该已编码桌面数据在本地桌面进行数据显示。

示例性的,该桌面数据可以包括数据显示模式,还可以根据该数据显示模式确定与该桌面数据对应的编码方式,并根据该编码方式对该桌面数据进行编码。例如,若该数据显示模式表示虚拟机的桌面显示的是视频图像,则可以确定与桌面数据对应的编码方式为有损压缩编码,或,仅对差异区域压缩编码。若该数据显示模式表示虚拟机的桌面显示的是文本,则可以确定与桌面数据对应的编码方式为无损压缩编码。

基于上述技术方案,本申请实施例中,通过虚拟机采集自身运行过程中产生的桌面数据,从而在虚拟机内部采集桌面数据,能够捕获到桌面的细节数据,并利用这些细节数据进行处理,改善云桌面的画面质量,保证云桌面的画面质量。通过编码卡(额外部署的硬件编码卡)对桌面数据进行编码,降低处理器的计算量,避免处理器对桌面数据进行编码,避免处理器的资源被大量占用,物理机上云桌面的数目较多时,也能稳定运行更多的云桌面,提高云桌面数量。

以下结合具体应用场景,对上述远程数据的显示方法进行说明。

参见图5所示,为本申请实施例的应用场景示意图,物理机51通过网络与终端设备52连接,云桌面是指将运行在物理机51的虚拟机的桌面呈现在终端设备52,即在终端设备52显示虚拟机的桌面,从而实现云桌面。

参见图5所示,物理机51可以包括多个虚拟机511,每个虚拟机511均可以实现云桌面,为了方便描述,后续以一个虚拟机511的处理过程为例。示例性的,可以在虚拟机511内部署用于采集桌面数据的程序,该程序在虚拟机内部进行抓屏,从而实时采集虚拟机511运行过程中产生的桌面数据。

参见图5所示,物理机51可以包括处理器512,处理器512可以包括但不限于cpu(centralprocessingunit,中央处理器)。示例性的,可以在处理器512内部署服务进程,处理器512可以通过该服务进程实现桌面数据的管理。

参见图5所示,物理机51可以包括编码卡513(即额外部署的硬件编码卡),编码卡513用于实现桌面数据的编码。示例性的,编码卡513可以包括但不限于gpu(graphicsprocessingunit,图形处理器)、fpga(fieldprogrammablegatearray,现场可编程逻辑门阵列)、asic(applicationspecificintegratedcircuit,专用集成电路)、cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)等,对此编码卡513的类型不做限制,只要是额外部署的硬件即可。

实施例5:基于上述应用场景,本申请实施例中提出一种远程数据的显示方法,参见图6所示,为远程数据的显示方法的流程示意图,该方法可以包括:

步骤601,虚拟机511采集自身运行过程中产生的桌面数据。

具体的,可以在虚拟机511内部署用于采集桌面数据的程序,该程序在虚拟机511内部进行抓屏,从而实时采集虚拟机511运行过程中产生的桌面数据。当然,还可以采用其它方式采集虚拟机511运行过程中产生的桌面数据,对此不做限制,只要能够采集虚拟机511运行过程中产生的桌面数据即可。

示例性的,该桌面数据可以包括但不限于以下之一或者任意组合:文本信息,窗口变化区域,鼠标运动状态,桌面图像,桌面窗口的主要文本区域,数据显示模式等等。当然,上述只是桌面数据的几个示例,对此桌面数据的内容不做限制,所有与虚拟机的桌面有关的数据均在本申请的保护范围之内。

示例性的,由于程序在虚拟机511内部,能够捕获到上述多种类型的桌面数据(即桌面的详细信息),尤其是能够捕获到数据显示模式,在编码时可以参考这些桌面数据动态选择编码方式,能够极大改善云桌面的画面质量。

步骤602,虚拟机511将该桌面数据发送给处理器512。

示例性的,虚拟机511与处理器512之间可以具有连接通道,并通过该连接通道交互信息。基于此,虚拟机511可以通过该连接通道将桌面数据发送给处理器512。例如,连接通道可以为半虚拟化通道或者全虚拟化通道,因此,虚拟机511可以通过半虚拟化通道或者全虚拟化通道将该桌面数据发送给处理器512。当然,虚拟机511还可以采用其它方式将该桌面数据发送给处理器512,或者,处理器可以主动从虚拟机511获取该桌面数据,对此不做限制。

步骤603,处理器512根据数据显示模式确定与该桌面数据对应的编码方式。

示例性的,由于能够采集到虚拟机511运行过程中产生的数据显示模式(表示虚拟机511的桌面显示的是视频图像或者文本),因此,可以根据数据显示模式确定与该桌面数据对应的编码方式,即动态选择损压缩编码,或无损压缩编码,或仅对差异区域压缩编码,从而能够极大的改善云桌面的画面质量。

在一种可能的实施方式中,桌面数据可以包括数据显示模式,若数据显示模式表示虚拟机511的桌面显示的是视频图像,则处理器512确定与桌面数据对应的编码方式为有损压缩编码,即允许对视频图像进行有损压缩编码。

在另一种可能的实施方式中,桌面数据可以包括数据显示模式,若数据显示模式表示虚拟机511的桌面显示的是视频图像,则处理器512确定与桌面数据对应的编码方式为仅对差异区域压缩编码。例如,若上一次向终端设备传输桌面数据时,桌面数据包括的是视频图像a(即虚拟机的桌面显示的是视频图像a),本次向终端设备传输桌面数据时,桌面数据包括的是视频图像b(即虚拟机的桌面显示的是视频图像b),则可以确定视频图像a与视频图像b之间的差异区域c。在此基础上,处理器512确定与桌面数据对应的编码方式为仅对差异区域c进行压缩编码,而不是对视频图像b的整体进行压缩编码。

当然,若数据显示模式表示虚拟机511的桌面显示的是视频图像,有损压缩编码和仅对差异区域压缩编码只是示例,对此编码方式不做限制。例如,即使数据显示模式表示虚拟机511的桌面显示的是视频图像,也可以确定与桌面数据对应的编码方式为无损压缩编码,或者,其它压缩编码类型。

在另一种可能的实施方式中,桌面数据可以包括数据显示模式,若数据显示模式表示虚拟机511的桌面显示的是文本,则处理器512确定与桌面数据对应的编码方式为无损压缩编码,即需要对文本进行无损压缩编码。

当然,若数据显示模式表示虚拟机511的桌面显示的文本,无损压缩编码只是示例,对此编码方式不做限制。例如,即使数据显示模式表示虚拟机511的桌面显示的是文本,也可以确定与桌面数据对应的编码方式为有损压缩编码,或者,仅对差异区域压缩编码,或者,其它压缩编码类型。

步骤604,处理器512将该桌面数据和该编码方式发送给编码卡513。

示例性的,处理器512内部署有服务进程,处理器512可以通过该服务进程实现桌面数据的管理。基于此,在步骤602-步骤604中,虚拟机511将桌面数据发送给处理器512的服务进程,该服务进程根据数据显示模式确定与该桌面数据对应的编码方式,并将该桌面数据和该编码方式发送给编码卡513。

步骤605,编码卡513接收该桌面数据和该编码方式,并根据该编码方式对该桌面数据进行编码,得到已编码桌面数据,即编码后的桌面数据。

例如,若该编码方式为有损压缩编码,则编码卡513采用有损压缩编码方式对该桌面数据进行编码,对此有损压缩编码的编码方式不做限制。

又例如,若该编码方式为无损压缩编码,则编码卡513采用无损压缩编码方式对该桌面数据进行编码,对此无损压缩编码的编码方式不做限制。

又例如,若该编码方式为仅对差异区域压缩编码,则编码卡513采用仅对差异区域压缩编码方式对该桌面数据进行编码,也就是说,确定连续两次需要传输的视频图像的差异区域,对该差异区域进行编码,对此编码过程不做限制。

当然,上述有损压缩编码、无损压缩编码、仅对差异区域压缩编码,只是编码方式的几个示例,还可以采用其它编码方式,对此编码方式不做限制。

步骤606,编码卡513将该已编码桌面数据发送给处理器512。

步骤607,处理器512将该已编码桌面数据发送给终端设备52。

在步骤606-步骤607中,编码卡513可以将该已编码桌面数据发送给处理器512的服务进程,该服务进程将该已编码桌面数据发送给终端设备52。

步骤608,终端设备52对已编码桌面数据进行解码,得到解码后的桌面数据,并根据解码后的桌面数据在本地桌面进行数据显示。

示例性的,终端设备52对已编码桌面数据进行解码的过程,是上述编码卡513对桌面数据进行编码的逆过程,对此解码过程不做限制。

在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。

基于上述技术方案,本申请实施例中,通过虚拟机采集自身运行过程中产生的桌面数据,从而在虚拟机内部采集桌面数据,能够捕获到桌面的细节数据,并利用这些细节数据进行处理,改善云桌面的画面质量,保证云桌面的画面质量。通过编码卡(额外部署的硬件编码卡)对桌面数据进行编码,降低处理器的计算量,避免处理器对桌面数据进行编码,避免处理器的资源被大量占用,物理机上云桌面的数目较多时,也能稳定运行更多的云桌面,提高云桌面数量。

实施例6:基于上述应用场景,本申请实施例中提出一种远程数据的显示方法,参见图7所示,为远程数据的显示方法的流程示意图,该方法可以包括:

步骤701,虚拟机511采集自身运行过程中产生的桌面数据。

步骤702,虚拟机511将该桌面数据发送给处理器512。

步骤703,处理器512将该桌面数据发送给编码卡513。

步骤704,编码卡513接收该桌面数据,并根据数据显示模式确定与该桌面数据对应的编码方式,具体确定方式参见上述实施例,在此不再赘述。

步骤705,编码卡513根据该编码方式对该桌面数据进行编码,得到已编码桌面数据。

步骤706,编码卡513将该已编码桌面数据发送给处理器512。

步骤707,处理器512将该已编码桌面数据发送给终端设备52。

步骤708,终端设备52对已编码桌面数据进行解码,得到解码后的桌面数据,并根据解码后的桌面数据在本地桌面进行数据显示。

实施例7:基于与上述方法同样的申请构思,本申请实施例还提供一种远程数据的显示装置,应用于物理机,如图8a所示,为所述装置的结构图,包括:

获取模块811,用于获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;其中,所述虚拟机部署在所述物理机;

发送模块812,用于将所述桌面数据发送给编码卡,以使所述编码卡对所述桌面数据进行编码;其中,所述编码卡部署在所述物理机;

接收模块813,用于从所述编码卡获取已编码桌面数据;

所述发送模块812,还用于将所述已编码桌面数据发送给终端设备,以使所述终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

所述桌面数据包括数据显示模式,所述装置还包括(在图中未示出):确定模块,用于根据所述数据显示模式确定与所述桌面数据对应的编码方式;

所述发送模块812还用于:将所述编码方式发送给编码卡,以使所述编码卡根据所述编码方式对所述桌面数据进行编码。

所述确定模块具体用于:若所述数据显示模式表示所述虚拟机的桌面显示的是视频图像,则确定与所述桌面数据对应的编码方式为有损压缩编码,或,仅对差异区域压缩编码;或者,若所述数据显示模式表示所述虚拟机的桌面显示的是文本,则确定与所述桌面数据对应的编码方式为无损压缩编码。

实施例8:基于与上述方法同样的申请构思,本申请实施例还提供一种远程数据的显示装置,应用于编码卡,如图8b所示,为所述装置的结构图,包括:

获取模块821,用于通过物理机获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;所述虚拟机部署在物理机;

编码模块822,用于对所述桌面数据进行编码;

发送模块823,用于通过所述物理机将已编码桌面数据发送给终端设备,以使所述终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

示例性的,所述桌面数据包括数据显示模式,所述编码模块822具体用于:根据所述数据显示模式确定与所述桌面数据对应的编码方式;根据所述编码方式对所述桌面数据进行编码。进一步的,所述编码模块822具体用于:若所述数据显示模式表示所述虚拟机的桌面显示的是视频图像,则确定与所述桌面数据对应的编码方式为有损压缩编码,或,仅对差异区域压缩编码;或者,若所述数据显示模式表示所述虚拟机的桌面显示的是文本,则确定与所述桌面数据对应的编码方式为无损压缩编码。

实施例9:基于与上述方法同样的申请构思,本申请实施例中还提供一种物理机,如图9a所示,为所述物理机的结构图,所述物理机包括虚拟机911,处理器912和编码卡913,所述虚拟机911,用于采集所述虚拟机911运行过程中产生的桌面数据,并将所述桌面数据发送给所述处理器912;所述处理器912,用于接收所述桌面数据,将所述桌面数据发送给所述编码卡913;所述编码卡913,用于用于对接收到的所述桌面数据进行编码,并将已编码桌面数据发送给所述处理器912;所述处理器912,还用于将接收到的所述已编码桌面数据发送给终端设备,以使终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

基于与上述方法同样的申请构思,本申请实施例还提供一种物理机,所述物理机包括:处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:

获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;其中,所述虚拟机部署在所述物理机;

将所述桌面数据发送给编码卡,以使所述编码卡对所述桌面数据进行编码;其中,所述编码卡部署在所述物理机;

从所述编码卡获取已编码桌面数据,将所述已编码桌面数据发送给终端设备,以使终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:

获取虚拟机运行过程中产生的桌面数据,所述桌面数据是所述虚拟机在自身运行过程中采集的;其中,所述虚拟机部署在所述物理机;

将所述桌面数据发送给编码卡,以使所述编码卡对所述桌面数据进行编码;其中,所述编码卡部署在所述物理机;

从所述编码卡获取已编码桌面数据,将所述已编码桌面数据发送给终端设备,以使终端设备根据所述已编码桌面数据在本地桌面进行数据显示。

参见图9b所示,为本申请实施例中提出的物理机的结构图,所述物理机可以包括:处理器921,网络接口922,总线923,存储器924。存储器924可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据等等。例如,存储器924可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等)。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1