一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

云桌面的显示方法和系统与流程

2022-04-13 12:35:52 来源:中国专利 TAG:


1.本发明实施例涉及通信领域,具体而言,涉及一种云桌面的显示方法和系统。


背景技术:

2.随着云计算、虚拟等技术的发展,云桌面用户越来越多;云桌面的基本原理是通过虚拟化技术将计算机的桌面进行虚拟化,从而使任何设备,在任何地点,任何时间访问在网络上属于我们个人的桌面系统,远程终端设备与服务器通过远程桌面协议进行桌面图形传输。
3.在常见的云桌面系统(如vmware、思杰等)中,一般存在两个虚拟显卡,来满足不同场景的使用需求,目前常见的云桌面连接方式及使用场景包括以下几种:场景1:用户直接连接到桌面内部使用云桌面,场景2:用户通过虚拟化所在主机连接云桌面使用,场景3:直接连接云桌面出现异常,直连模式不能工作,要通过主机连接定位排除故障;其中一个显卡是用户直连云桌面时使用,完成桌面渲染并向远端用户提供桌面图像,另外一个显卡是在虚拟桌面出现故障时管理人员处理故障时使用或用户通过主机连接云桌面时使用,根据使用场景激活不同的显卡;使用两个虚拟显卡,处理不同的场景,存在显卡切换慢或显卡切换失败、占用系统资源多、增加系统复杂性及代码量大难维护的弊端。
4.针对相关技术中,多个虚拟显卡来实现云桌面的显示过程中,存在切换慢或显卡切换失败,且占用系统资源多的问题,尚未提出有效地解决方案。


技术实现要素:

5.本发明实施例提供了一种云桌面的显示方法和系统,以至少解决相关技术中多个虚拟显卡来实现云桌面的显示过程中,存在切换慢或显卡切换失败,且占用系统资源多的问题。
6.根据本发明的一个实施例,提供了一种云桌面的显示方法,该方法包括:
7.利用虚拟机平台为虚拟机创建一个虚拟显卡,其中,所述虚拟显卡通过所述虚拟机上的显示驱动程序进行驱动;
8.通过所述显示驱动程序获取客户端连接云桌面的连接方式,并根据所述连接方式驱动所述虚拟显卡根据所述连接方式对云桌面进行显示处理,以在客户端上显示处理后的云桌面,所述连接方式包括以下至少之一:所述客户端直接与云桌面连接的方式,所述客户端通过云桌面主机连接所述云桌面的连接方式。
9.在一个示例性实施例中,通过所述显示驱动程序获取客户端连接云桌面的连接方式,包括:在所述显示驱动程序接收到所述虚拟显卡的输入输出控制接口发送的指示信息的情况下,确定所述客户端采用的是直接与云桌面连接的连接方式;在所述显示驱动程序接收到所述云桌面主机发送的目标鼠标指令的情况下,确定所述客户端采用的是通过云桌面主机连接所述云桌面的连接方式。
10.在一个示例性实施例中,利用虚拟机平台为虚拟机创建一个虚拟显卡之后,所述
方法还包括:在所述客户端采用的是直接与云桌面连接的连接方式,且所述云桌面发生故障的情况下,检测是否存在目标对象通过所述云桌面主机与所述云桌面连接。
11.在一个示例性实施例中,利用虚拟机平台为虚拟机创建一个虚拟显卡之后,所述方法还包括:在检测到存在目标对象通过所述云桌面主机与所述云桌面连接的情况下,通过所述显示驱动程序驱动所述虚拟显卡对云桌面进行显示处理,以在客户端上显示处理后的云桌面,以及所述目标对象根据所述处理后的云桌面处理所述故障。
12.在一个示例性实施例中,根据所述连接方式驱动所述虚拟显卡根据所述连接方式对云桌面进行显示处理,包括:在所述客户端采用的是直接与云桌面连接的连接方式的情况下,驱动所述虚拟显卡对待显示的云桌面的图像进行渲染,并将渲染后的图像输出至所述虚拟机的内存中,以使所述虚拟机从所述内存中对所述渲染后的图像进行编码,将编码后的图像发送至所述客户端。
13.在一个示例性实施例中,根据所述连接方式驱动所述虚拟显卡根据所述连接方式对云桌面进行显示处理,包括:在所述客户端通过云桌面主机连接所述云桌面的情况下,驱动所述虚拟显卡对待显示的云桌面的图像进行渲染,并将渲染后的图像输出至所述虚拟机的内存中,以使所述云桌面主机从所述内存中对所述渲染后的图像进行编码,将编码后的图像发送至所述客户端。
14.根据本发明的另一个实施例,还提供了一种云桌面的显示系统,包括:
15.虚拟机平台,虚拟机,其中,
16.所述虚拟机平台,用于为所述虚拟机创建一个虚拟显卡,其中,所述虚拟显卡通过所述虚拟机上的显示驱动程序进行驱动;
17.所述虚拟机,还用于通过所述显示驱动程序获取客户端连接云桌面的连接方式,并根据所述连接方式驱动所述虚拟显卡根据所述连接方式对云桌面进行显示处理,以在客户端上显示处理后的云桌面,所述连接方式包括以下至少之一:所述客户端直接与云桌面连接的方式,所述客户端通过云桌面主机连接所述云桌面的连接方式。
18.在一个示例性实施例中,所述虚拟机,还用于在所述显示驱动程序接收到所述虚拟显卡的输入输出控制接口发送的指示信息的情况下,确定所述客户端采用的是直接与云桌面连接的连接方式;在所述显示驱动程序接收到所述云桌面主机发送的目标鼠标指令的情况下,确定所述客户端采用的是通过云桌面主机连接所述云桌面的连接方式。
19.根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
20.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
21.通过本发明,由于利用虚拟机平台为虚拟机创建一个虚拟显卡,且可以通过驱动该虚拟显卡的虚拟机上的显卡驱动获取客户端连接云桌面的连接方式,从而区分客户端直接与云桌面连接的方式,和客户端通过云桌面主机连接云桌面的连接方式,然后根据获取的连接方式驱动虚拟显卡根据连接方式对云桌面进行显示处理,实现在客户端上显示处理后的云桌面。因此,可以解决了相关技术中多个虚拟显卡来实现云桌面的显示过程中,存在
切换慢或显卡切换失败,且占用系统资源多的问题,达到在不增加系统资源占用和系统复杂性的前提下,避免显卡切换的问题,提高云桌面的显示处理速度的效果。
附图说明
22.图1是根据本发明实施例的云桌面的显示方法的流程图;
23.图2是根据本发明实施例的客户端直接与云桌面连接时显示方法的流程图;
24.图3是根据本发明实施例的客户端通过云桌面主机与云桌面连接时显示方法的流程图;
25.图4是根据本发明实施例的客户端直接与云桌面连接出现故障时处理方法的流程图;
26.图5是根据本发明实施例的虚拟显卡接收虚拟机平台发送的指令的工作流程图;
27.图6是根据本发明实施例的客户端直接与云桌面连接出现故障时虚拟显卡的工作流程图;
28.图7是根据本发明实施例的云桌面的显示系统的结构示意图;
29.图8是根据本发明实施例的云桌面的显示系统的结构框图。
具体实施方式
30.下文中将参考附图并结合实施例来详细说明本发明的实施例。
31.本发明实施例提供的方案涉及虚拟化云桌面领域中虚拟显卡技术。随着云计算、虚拟等技术的发展,云桌面(本发明所述云桌面以虚拟机方式运行,也可用虚拟机表示云桌面)用户越来越多,常用的云桌面连接方式及使用场景有:场景1:用户通过网络连接云桌面本身的ip地址使用云桌面;场景2:用户通过连接云桌面所在后台服务器(以下简称云桌面主机)ip地址连接云桌面使用;场景3:直接通过网络连接云桌面出现异常,直连模式不能工作,要通过云桌面主机连接定位排除故障。
32.本发明实施例可以运行于图7所示的网络架构上,如图7所示,该网络架构包括:虚拟机和虚拟机平台两部分,虚拟机用于通过虚拟驱动为显卡驱动程序创建一个虚拟显卡,其中,虚拟显卡通过所述虚拟机上的显示驱动程序进行驱动;还用于通过显示驱动程序获取客户端连接云桌面的连接方式,并根据所述连接方式驱动所述虚拟显卡根据所述连接方式对云桌面进行显示处理,以在客户端上显示处理后的云桌面。
33.本发明实施例提供了一种运行于上述虚拟机的云桌面的显示方法,使用一个虚拟显卡处理上文所述的不同使用场景;避免了多个虚拟显卡反复切换所引发的技术缺陷。
34.示例性的,本实施例通过虚拟化平台为虚拟机虚拟一个显卡,虚拟机内部的显卡驱动程序驱动此虚拟显卡同时为不同使用的场景提供桌面图像,云桌面的现实方法的流程图如图1所示,具体实现方法如下:
35.步骤s110:利用虚拟机平台为虚拟机创建一个虚拟显卡,其中,所述虚拟显卡通过所述虚拟机上的显示驱动程序进行驱动;
36.本步骤中,虚拟机平台可以为虚拟机创建一个虚拟显卡,通过虚拟机上的显示驱动程序进行驱动,将虚拟显卡的相关硬件信息提供给云桌面操作系统,使得云桌面操作系统接入能够将虚拟显卡识别为实体的显示适配器,这样,虚拟显卡可以利用计算机cpu或服
务器等实体硬件进行相应的图形处理工作,并将处理后的数据提供给云桌面操作系统,然后将处理后的数据存在虚拟显卡的显存或者虚拟机的主存等存储空间中,供云桌面操作系统或者其它接入的系统读取。
37.步骤s120:通过所述显示驱动程序获取客户端连接云桌面的连接方式,并根据所述连接方式驱动所述虚拟显卡根据所述连接方式对云桌面进行显示处理,以在客户端上显示处理后的云桌面,所述连接方式包括以下至少之一:所述客户端直接与云桌面连接的方式,所述客户端通过云桌面主机连接所述云桌面的连接方式。
38.通过上述步骤,由于利用虚拟机平台为虚拟机创建一个虚拟显卡,可以通过驱动该虚拟显卡的虚拟机上的显卡驱动获取客户端连接云桌面的连接方式,从而区分客户端直接与云桌面连接的方式,和客户端通过云桌面主机连接云桌面的连接方式,然后根据获取的连接方式驱动虚拟显卡根据连接方式对云桌面进行显示处理,实现在客户端上显示处理后的云桌面。因此,可以解决了相关技术中多个虚拟显卡来实现云桌面的显示过程中,存在切换慢或显卡切换失败,且占用系统资源多的问题,达到在不增加系统资源占用和系统复杂性的前提下,避免显卡切换的问题,提高云桌面的显示处理速度的效果。
39.在步骤s120中,虚拟机平台接收云桌面操作系统的云桌面请求,并将该请求转发至虚拟显卡,然后根据该虚拟显卡的输入输出控制接口识别客户端直接与云桌面操作系统连接,或者客户端通过云桌面主机连接所述云桌面,然后基于连接方式处理云桌面系统的图像信息并返回至客户端,由于只需要一个虚拟显卡,不存在显卡的切换问题,只是在需要时增加向主机输出图像的过程,也就没有切换显卡调整分辨率的过程,提高了云桌面操作系统的处理速度;一方面云桌面内核地址空间、中断等系统资源占用更少,降低了云桌面系统负荷,另一方面减少虚拟化平台内存资源消耗;
40.在一示例中,通过所述显示驱动程序获取客户端连接云桌面的连接方式,其中,所属连接方式可以包括:在所述显示驱动程序接收到所述虚拟显卡的输入输出控制接口发送的指示信息的情况下,确定所述客户端采用的是直接与云桌面连接的连接方式;在所述显示驱动程序接收到所述云桌面主机发送的目标鼠标指令的情况下,确定所述客户端采用的是通过云桌面主机连接所述云桌面的连接方式。
41.在本示例中,客户端直接与云桌面连接时,虚拟显卡通过输入输出控制接口识别客户端的连接方式为直接与云桌面连接的连接方式,虚拟显卡得知当前的连接方式后,不向主机侧输出桌面图像等信息,只为客户端提供图像,同时通知主机侧程序当前处于客户端直接与云桌面连接的连接方式,主机侧程序不工作。客户端采用的是通过云桌面主机连接所述云桌面的连接方式时,可以通过构造目标鼠标指令,然后发送至云桌面操作系统内的显卡驱动程序,在显示驱动程序接收到所述云桌面主机发送的目标鼠标指令的情况下,确定所述客户端采用的是通过云桌面主机连接所述云桌面的连接方式,此时主机侧程序会定时向云桌面请求云桌面的图像信息。
42.在一示例中,如图2所示,在所述客户端直接与云桌面连接的连接方式的情况下,包括以下步骤:
43.步骤s210:确定客户端采用的是直接与云桌面连接的连接方式;
44.步骤s220:通知虚拟显卡切换工作模式,切换后虚拟显卡的工作模式为客户端直接与云桌面连接对应的工作模式;
45.步骤s230:驱动所述虚拟显卡对待显示的云桌面的图像进行渲染;然后将渲染后的图像输出至所述虚拟机的内存中;
46.步骤s240:所述虚拟机从所述内存中对所述渲染后的图像进行编码;
47.步骤s250:将编码后的图像封装发送至所述客户端。
48.在本示例中,客户端直接与云桌面连接时,虚拟显卡每次完成渲染任务后,得到云桌面的图像的图像信息,图像信息包括图像和图像的变化区域等信息,然后将图像和图像的变化区域等信息输出到虚拟机的共享内存(相当于上述实施例的虚拟机的内存)中,然后由云桌面操作系统从共享内存中读取图像信息进行编码,编码完成后,将编码结果按照远程桌面协议封装起来发送到客户端(相当于上述实施例的客户端)供用户使用,重复步骤s210至步骤s250即可完成客户端直接与云桌面连接进行工作。
49.在一示例中,如图3所示,在所述客户端通过云桌面主机连接所述云桌面的情况下,包括以下步骤:
50.步骤s310:显卡驱动程序确定客户端采用的是通过云桌面主机与云桌面连接的连接方式;
51.步骤s320:云桌面主机通知虚拟显卡切换工作模式,切换后虚拟显卡的工作模式为客户端通过云桌面主机与云桌面连接对应的工作模式;
52.步骤s330:云桌面主机通知显卡驱动程序向云桌面主机输出云桌面的图像;
53.步骤s340:虚拟机驱动所述虚拟显卡对待显示的云桌面的图像进行渲染;然后将渲染后的图像输出至所述虚拟机的内存中;以及,云桌面主机从所述内存中读取所述渲染后的图像,即显卡驱动程序将渲染后的图像输出至云桌面主机;
54.步骤s350:云桌面主机内的主机协议程序对渲染后的图像进行编码;
55.步骤s360:将编码后的图像封装发送至所述客户端。
56.在本示例中,虚拟显卡每次完成渲染任务后,得到云桌面的图像的图像信息,图像信息包括图像和图像的变化区域等信息,然后将图像和图像的变化区域等信息输出到输出到显存中,主机会定时从虚拟显卡的显存中读取图像信息,即云桌面图像和图像的变化区域等信息,这里的时间基于预先设置的刷新率决定,并由主机侧进行编码;编码完成后将编码结果封装并发送到客户端,重复步骤s310至s330,即可完成客户端通过云桌面主机连接所述云桌面进行工作。
57.本实施例提供的一种云桌面的显示方法,还包括:
58.在客户端采用的是直接与云桌面连接的连接方式,且云桌面发生故障的情况下,检测是否存在目标对象通过云桌面主机与所述云桌面连接。
59.在一示例中,如图4所示,若客户端与云桌面连接时发生故障,可以包括以下处理步骤:
60.步骤s410:确定客户端采用的是直接与云桌面连接的连接方式;
61.步骤s420:在云桌面无法正常使用时,客户端进行上报;
62.步骤s430:客户端通过云桌面主机与云桌面连接;
63.步骤s440:显卡驱动程序确定客户端采用的是通过云桌面主机与云桌面连接的连接方式,云桌面主机通知虚拟显卡切换工作模式,切换后虚拟显卡的工作模式为客户端通过云桌面主机与云桌面连接对应的工作模式;
64.步骤s450:云桌面主机通知显卡驱动程序向云桌面主机输出云桌面的图像;虚拟机驱动所述虚拟显卡对待显示的云桌面的图像进行渲染;然后将渲染后的图像输出至所述虚拟机的内存中;以及,云桌面主机从所述内存中读取所述渲染后的图像,即显卡驱动程序将渲染后的图像输出至云桌面主机;
65.步骤s460:云桌面主机内的主机协议程序对渲染后的图像进行编码;
66.步骤s470:将编码后的图像封装发送至所述客户端。
67.在上述步骤中,若客户端与云桌面连接时发生故障,如黑屏、卡机等,导致用户无法正常使用云桌面操作系统,此时用户可以通过主机连接云桌面操作系统处理故障,即通过云桌面主机发送目标鼠标指令到云桌面操作系统;虚拟显卡的显卡驱动程序根据目标鼠标指令判断此时的使用场景需要切换工作模式,显卡驱动程序控制虚拟显卡完成渲染任务后将桌面图像和图像的变化区域拷贝到虚拟显卡的显存中;云桌面主机从虚拟显卡的显存中解析出桌面图像和图像的变化区域,然后发送至云桌面主机对解析出的图像信息进行编码,编码完成后将编码结果按照远程桌面协议封装起来发送给管理员,即可定位处理故障,此时显卡工作模式的切换过程不需要第三方参与,由显卡驱动自动完成。
68.本实施例提供的一种云桌面的显示方法,如图5所示,还包括虚拟显卡接收虚拟机平台发送的指令,并根据接收到的指令作出相应的动作,可以包括以下步骤:
69.步骤s510:虚拟显卡接收虚拟机平台发送的指令;
70.步骤s520:判断虚拟显卡接收的指令是否为鼠标位置指令,若接收鼠标位置指令,则将鼠标可见性、坐标等信息通过共享内存传递给云桌面内协议程序,并将鼠标信息同步传递给主机侧协议程序;否则,执行下一步。
71.步骤s530:判断虚拟显卡接收的指令是否为鼠标指针形状指令,若接收鼠标指针形状指令,则将鼠标形状的图像数据通过共享内存传递给云桌面内协议程序,并将鼠标形状信息同步传递给主机侧协议程序;否则,执行下一步。
72.步骤s540:判断虚拟显卡接收的指令是否为添加分辨率指令,若接收添加分辨率指令(虚拟显卡支持添加任意分辨率),则显示驱动程序内部添加指定分辨率并上报操作系统,使操作系统支持新添加的分辨率;否则,执行下一步。
73.步骤s550:判断虚拟显卡接收的指令是否为修改分辨率指令,若接收修改分辨率指令,则显示驱动程序将云桌面分辨率修改到指定值,并将当前分辨统率信息通过显存传递给主机侧程序;否则,执行下一步。
74.步骤s560:判断虚拟显卡接收的指令是否为绘图指令,若接收绘图指令,显示驱动程序内部完成绘图,并将绘制好的图像数据通过共享内存传递给云桌面内协议程序,同时将绘制好的图像数据通过显存传递给主机侧协议程序;否则,执行下一步。
75.步骤s570:回到步骤510。
76.需要说明的是,上述步骤s520至步骤s560之间的执行顺序可以根据实际工作场景任意切换,且若客户端直接与云桌面操作系统连接,主机侧不工作,云桌面操作系统不向主机侧发送任何数据。
77.可选地,如图6所示,当客户端直接与云桌面操作系统连接时,若发生故障,虚拟显卡的工作流程可以包括以下步骤:
78.步骤s610:虚拟显卡接收鼠标指令;
79.步骤s620:在鼠标指令中检测客户端是否通过云桌面主机连接;
80.步骤s630:若客户端通过云桌面主机与云桌面操作系统连接,则自动切换工作模式;
81.步骤s640:将图像信息输出至显存中供云桌面主机读取。
82.通过上述步骤,由于利用虚拟机平台为虚拟机创建一个虚拟显卡,且可以通过驱动该虚拟显卡的虚拟机上的显卡驱动获取客户端连接云桌面的连接方式,从而区分客户端直接与云桌面连接的方式,和客户端通过云桌面主机连接云桌面的连接方式,然后根据获取的连接方式驱动虚拟显卡根据连接方式对云桌面进行显示处理,实现在客户端上显示处理后的云桌面。因此,可以解决原有的云桌面系统中两个显卡之间切换慢或切换失败,且占用系统资源多,代码量大难维护的问题,具有如下有益效果:
83.1、只需要一个虚拟显卡进行云桌面显示处理,不存在显卡切换的问题,只是在需要时增加向云桌面主机输出图像的过程,也就没有切换显卡调整分辨率的过程,所以云桌面的显示速度更快,过程更友好;
84.2、虚拟机平台的内核地址空间、中断等系统资源占用更少,降低了虚拟机的负荷;
85.3、由于只存在一个虚拟显卡,减少了虚拟机平台的内存资源消耗;
86.4、使云桌面的显示系统更简单和易维护,对用户更友好;
87.5、方便故障处理,客户端与云桌面直接连接的情况下有时会遇到故障,如看不到桌面图像,此时需要管理员定位、处理故障,在原来多显卡场景下,需要云桌面内先完成显卡切换,管理员才可以通过云桌面主机连接看到云桌面图像,如果显卡切换失败或者切换模块异常,管理员则无法进入云桌面,只需要一个虚拟显卡进行云桌面显示处理后,故障场景下虚拟显卡可自动切换工作模式向云桌面主机输出云桌面图像,方便管理员处理故障;
88.6、单一的虚拟显卡也可以支持多显示屏显示。
89.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
90.在本实施例中还提供了一种云桌面的显示系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
91.如图7所示,该云桌面的显示系统包括虚拟机平台和虚拟机,其中,所述虚拟机平台,用于为所述虚拟机创建一个虚拟显卡,其中,所述虚拟显卡通过所述虚拟机上的显示驱动程序进行驱动;所述虚拟机,用于通过所述显示驱动程序获取客户端连接云桌面的连接方式,并根据所述连接方式驱动所述虚拟显卡根据所述连接方式对云桌面进行显示处理,以在客户端上显示处理后的云桌面,所述连接方式包括以下至少之一:所述客户端直接与云桌面连接的方式,所述客户端通过云桌面主机连接所述云桌面的连接方式。
92.需要说明的是,虚拟机平台可以为虚拟机创建一个虚拟显卡,通过虚拟机上的显
示驱动程序进行驱动,将虚拟显卡的相关硬件信息提供给云桌面操作系统,使得云桌面操作系统接入能够将虚拟显卡识别为实体的显示适配器,这样,虚拟显卡可以利用计算机cpu或服务器等实体硬件进行相应的图形处理工作,并将处理后的数据提供给云桌面操作系统,然后将处理后的数据存在虚拟显卡的显存或者虚拟机的主存等存储空间中,供云桌面操作系统或者其它接入的系统读取。
93.在一示例中,所述虚拟机还用于在所述显示驱动程序接收到所述虚拟显卡的输入输出控制接口发送的指示信息的情况下,确定所述客户端采用的是直接与云桌面连接的连接方式;在所述显示驱动程序接收到所述云桌面主机发送的目标鼠标指令的情况下,确定所述客户端采用的是通过云桌面主机连接所述云桌面的连接方式。
94.在本示例中,虚拟机通过显示驱动程序接收虚拟显卡的输入输出控制接口发送的指示信息或接受云桌面主机发送的目标鼠标指令,然后基于虚拟显卡的输入输出控制接口发送的指示信息或目标鼠标指令判断客户端与云桌面的连接方式,并基于获得的连接方式切换至客户端直接连接至云桌面或客户端通过云桌面主机连接云桌面两种工作场景对应的工作方式。
95.需要说明的是,在显示驱动程序接收到虚拟显卡的输入输出控制接口发送的指示信息时,确定客户端采用的是直接与云桌面连接的连接方式;虚拟显卡每次完成渲染任务后,得到云桌面的图像的图像信息,图像信息包括图像和图像的变化区域等信息,然后将图像和图像的变化区域等信息输出到虚拟机的共享内存(相当于上述实施例的虚拟机的内存)中,然后由云桌面操作系统从共享内存中读取图像信息进行编码,编码完成后,将编码结果按照远程桌面协议封装起来发送到客户端(相当于上述实施例的客户端)供用户使用;在显示驱动程序接收到云桌面主机发送的目标鼠标指令的情况下,确定客户端采用的是通过云桌面主机连接所述云桌面的连接方式;在虚拟显卡每次完成渲染任务后,得到云桌面的图像的图像信息,图像信息包括图像和图像的变化区域等信息,然后将图像和图像的变化区域等信息输出到输出到显存中,主机会定时从虚拟显卡的显存中读取图像信息,即云桌面图像和图像的变化区域等信息,这里的时间基于预先设置的刷新率决定,并由主机侧进行编码;编码完成后将编码结果封装并发送到客户端。
96.在一示例中,虚拟机还用于在所述客户端采用的是直接与云桌面连接的连接方式,且所述云桌面发生故障的情况下,检测是否存在目标对象通过所述云桌面主机与所述云桌面连接。
97.虚拟机在检测到存在目标对象通过所述云桌面主机与所述云桌面连接的情况下,通过所述显示驱动程序驱动所述虚拟显卡对云桌面进行显示处理,以在客户端上显示处理后的云桌面,以及所述目标对象根据所述处理后的云桌面处理所述故障。
98.在本实施例中,在客户端采用的是直接与云桌面连接的情况下,如果云桌面出现故障,导致客户端不能正常与云桌面连接,虚拟机会检测是否存在目标对象通过所述云桌面主机与所述云桌面连接,这里的目标对象可以是用户,也可以是云桌面的管理和维护人员;若虚拟机检测到存在目标对象通过所述云桌面主机与所述云桌面连接,即显示驱动程序接收到目标鼠标指令,则显示驱动程序驱动所述虚拟显卡对待显示的云桌面的图像进行渲染,并将渲染后的图像输出至所述虚拟机的内存中,以使所述云桌面主机从所述内存中对所述渲染后的图像进行编码,将编码后的图像发送至所述客户端。
99.其中,如图8所示,该云桌面的显示系统包括:
100.显卡驱动模块22,用于识别客户端与云桌面的连接方式,并驱动虚拟显卡完成云桌面内操作系统的渲染任务,然后输出图像信息至虚拟机的虚拟内存中;
101.具体地,显卡驱动模块22基于接收的目标鼠标指令,判定客户端通过云桌面主机与云桌面连接;或,显卡驱动模块22通过读取云桌面操作系统发送至虚拟显卡的输入信息,判定客户端直接与虚拟机连接。显卡驱动模块22得到用户的连接方式后,切换虚拟显卡至相应的工作模式,为远程客户端提供云桌面图像。
102.以及,信息收发模块24,用于接收客户端的输入信息,并将云桌面图像发送至客户端;或者,将图像信息发送至主机。
103.具体地,信息收发模块24还用于接收云桌面主机的数据请求信息,该数据请求信息包括云桌面主机向虚拟显卡显存请求的云桌面图像及其变化区域等信息。信息收发模块24负责网络消息的转发,包括将虚拟机编码结果发送至客户端,将客户端的请求发送至云桌面操作系统,将主机的数据请求发送至虚拟显卡的显卡驱动程序,以及,向云桌面主机发送虚拟显卡显存中的图像信息。
104.在一示例中,该云桌面的显示系统还包括:
105.云桌面编码模块,用于在客户端直接与云桌面连接时,每隔一定时间读取共享内存中的图像信息并进行编码,编码完成后发送至信息收发模块24。
106.输入模块,用于负责用户键盘鼠标消息的输入。
107.在一示例中,显卡驱动模块22基于接收的目标鼠标指令,判定客户端通过云桌面主机与云桌面连接时,驱动所述虚拟显卡对待显示的云桌面的图像进行渲染,并将渲染后的图像输出至所述虚拟机的内存中,以使所述云桌面主机从所述内存中对所述渲染后的图像进行编码,将编码后的图像发送至所述客户端。其中,云桌面主机包括显卡交互控制模块,用于通知显卡驱动模块22是否向虚拟显卡的显存输出桌面图像及变化区域等信息;还用于从虚拟显卡显存中解析出桌面图像及变化区域等信息,并发送到主机编码模块;主机编码模块用于对桌面图像及变化区域等信息用于进行压缩编码,并将编码结果送给网络模块;网络编码模块用于网络消息的转发,包括将编码结果发送到客户端和将客户端的输入进行转发,可选地,还包括主机输入模块,用于用户键盘鼠标消息的输入。
108.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
109.本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
110.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
111.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
112.s1,利用虚拟机平台为虚拟机创建一个虚拟显卡,其中,所述虚拟显卡通过所述虚
拟机上的显示驱动程序进行驱动;
113.s2,通过所述显示驱动程序获取客户端连接云桌面的连接方式,并根据所述连接方式驱动所述虚拟显卡根据所述连接方式对云桌面进行显示处理,以在客户端上显示处理后的云桌面,所述连接方式包括以下至少之一:所述客户端直接与云桌面连接的方式,所述客户端通过云桌面主机连接所述云桌面的连接方式。
114.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
115.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
116.s1,利用虚拟机平台为虚拟机创建一个虚拟显卡,其中,所述虚拟显卡通过所述虚拟机上的显示驱动程序进行驱动;
117.s2,通过所述显示驱动程序获取客户端连接云桌面的连接方式,并根据所述连接方式驱动所述虚拟显卡根据所述连接方式对云桌面进行显示处理,以在客户端上显示处理后的云桌面,所述连接方式包括以下至少之一:所述客户端直接与云桌面连接的方式,所述客户端通过云桌面主机连接所述云桌面的连接方式。
118.在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
119.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
120.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
121.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献