CN108717375A - 分辨率同步方法及装置 - Google Patents
分辨率同步方法及装置 Download PDFInfo
- Publication number
- CN108717375A CN108717375A CN201810437196.9A CN201810437196A CN108717375A CN 108717375 A CN108717375 A CN 108717375A CN 201810437196 A CN201810437196 A CN 201810437196A CN 108717375 A CN108717375 A CN 108717375A
- Authority
- CN
- China
- Prior art keywords
- resolution
- virtual machine
- client
- resolution ratio
- virtual
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及虚拟桌面技术领域,提供一种分辨率同步方法及装置,应用于虚拟机的方法包括:响应分辨率设置请求将虚拟机的分辨率设置为第一分辨率;获取第一分辨率并按照预设的虚拟桌面协议将第一分辨率同步至客户端,以使客户端按照第一分辨率进行分辨率设置。应用于客户端的方法包括:建立与虚拟机之间的虚拟桌面连接时,获取并保存客户端的第二分辨率;按照预设的虚拟桌面协议将第二分辨率同步至虚拟机,以使虚拟机按照第二分辨率进行分辨率设置;当与虚拟机之间的虚拟桌面连接断开时,按照第二分辨率对客户端进行分辨率恢复。本发明通过自动调节客户端或虚拟机的分辨率使二者保持一致,实现调节的准确性和及时性,提升了用户的体验。
Description
技术领域
本发明涉及虚拟桌面技术领域,具体而言,涉及一种分辨率同步方法及装置。
背景技术
在云计算技术日异月新的大背景下,云桌面的应用场景越来越广泛,比如日常办公、学校教学等都能应用云桌面解决方案,合理分配计算机资源,简化了计算机管理,降低了功耗,提高办公效率。云桌面方案平台基于虚拟桌面基础架构(Virtual DesktopInfrastructure,VDI),能够将用户的桌面环境以虚拟机的形式托管至高性能服务器上,给用户提供与物理计算机几乎相同的用户体验,为了达到较好的用户体验,需要虚拟机的分辨率与客户端保持一致。当用户手动修改了客户端的分辨率,或者用户要求在虚拟机里自由调整分辨率,或者在虚拟机里使用了某类软件(比如金山打字通游戏),意外地修改了虚拟机的分辨率,此时,由于虚拟机和客户端的分辨率不一致,从而导致虚拟机显示效果不佳,影响虚拟机用户的使用体验,而手动地去调节客户端或者虚拟机的分辨率使二者保持一致,不能很好地保证调节的准确性和及时性,同样也影响用户的使用体验。
发明内容
本发明的目的在于提供一种分辨率同步方法及装置,用以当虚拟机或者客户端的分辨率被修改后,由于虚拟机和客户端的分辨率不一致导致的虚拟机显示效果不佳时,通过在虚拟机和客户端之间自动同步分辨率,从而实现了客户端或者虚拟机的分辨率调节的准确性和及时性,提升了用户的体验。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种分辨率同步方法,应用于虚拟机,所述虚拟机与客户端虚拟桌面连接,所述方法包括:响应分辨率设置请求将虚拟机的分辨率设置为第一分辨率;获取第一分辨率并按照预设的虚拟桌面协议将第一分辨率同步至客户端,以使客户端按照第一分辨率进行分辨率设置。
第二方面,本发明实施例还提供了一种分辨率同步方法,应用于客户端,所述客户端与虚拟机通信连接,所述方法包括:建立与虚拟机之间的虚拟桌面连接时,获取并保存客户端的第二分辨率;按照预设的虚拟桌面协议将第二分辨率同步至虚拟机,以使虚拟机按照第二分辨率进行分辨率设置;当与虚拟机之间的虚拟桌面连接断开时,按照第二分辨率对客户端进行分辨率恢复。
第三方面,本发明实施例还提供了一种分辨率同步装置,应用于虚拟机,所述虚拟机与客户端虚拟桌面连接,所述装置包括响应模块和获取模块。其中,响应模块用于响应分辨率设置请求将虚拟机的分辨率设置为第一分辨率;获取模块,用于获取第一分辨率并按照预设的虚拟桌面协议将第一分辨率同步至客户端,以使客户端按照第一分辨率进行分辨率设置。
第四方面,本发明实施例还提供了一种分辨率同步装置,应用于客户端,所述客户端与虚拟机通信连接,所述装置包括连接模块、同步模块和恢复模块。其中,连接模块,用于建立与虚拟机之间的虚拟桌面连接时,获取并保存客户端的第二分辨率;同步模块,用于按照预设的虚拟桌面协议将第二分辨率同步至虚拟机,以使虚拟机按照第二分辨率进行分辨率设置;恢复模块,用于当与虚拟机之间的虚拟桌面连接断开时,按照第二分辨率对客户端进行分辨率恢复。
相对现有技术,本发明提供的一种分辨率同步方法及装置,一方面,当用户手动设置虚拟机的分辨率、或者虚拟机收到客户端发送的同步设置分辨率请求、或者虚拟机上运行的应用程序发起设置分辨率请求时,虚拟机首先响应该分辨率设置请求将虚拟机的分辨率设置为第一分辨率,然后再获取第一分辨率并按照预设的虚拟桌面协议将第一分辨率同步至客户端,以使客户端按照第一分辨率进行分辨率设置。另一方面,当客户端与虚拟机建立远程连接时,首先获取并保存客户端的第二分辨率,然后按照预设的虚拟桌面协议将第二分辨率同步至虚拟机,以使虚拟机按照第二分辨率进行分辨率设置,最后,当与虚拟机之间的虚拟桌面连接断开时,按照第二分辨率对客户端进行分辨率恢复。与现有技术相比,本发明实施例通过在虚拟机和客户端之间自动同步分辨率,从而实现了客户端或者虚拟机的分辨率调节的准确性和及时性,提升了用户的体验。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的应用场景的方框示意图。
图2示出了本发明实施例提供的虚拟机的方框示意图。
图3示出了本发明实施例提供的客户端的方框示意图。
图4示出了本发明实施例提供的第一分辨率同步方法的流程图。
图5为图4示出的步骤S101的子步骤流程图。
图6为图4示出的步骤S102的子步骤流程图。
图7示出了本发明实施例提供的第二分辨率同步方法的流程图。
图8为图7示出的步骤S202的子步骤流程图。
图9示出了本发明实施例提供的第一分辨率同步装置的方框示意图。
图10示出了本发明实施例提供的第二分辨率同步装置的方框示意图。
图标:100-虚拟机;101-第一存储器;102-第一存储控制器;103-第一处理器;200-客户端;201-第二存储器;202-第二存储控制器;203-第二处理器;300-第一分辨率同步装置;301-响应模块;302-获取模块;400-第二分辨率同步装置;401-连接模块;402-同步模块;403-恢复模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1示出了本发明实施例提供的应用场景的方框示意图,虚拟机100与客户端200虚拟桌面连接,该虚拟桌面连接指虚拟机100与客户端200之间通过虚拟桌面协议(Virtual Desktop Protocol,VDP)建立的通信连接,其中,该虚拟桌面协议是用于在虚拟机100与客户端200之间传输图形、音频、视频等数据信息、以实现通过客户端200以虚拟化的形式访问虚拟机100桌面的通信协议。虚拟桌面可以是云桌面,虚拟桌面连接可以是远程桌面连接,例如,在云平台的应用场景下,将虚拟化后的虚拟机100的桌面称为云桌面,客户端200为了远程访问云桌面而建立的虚拟桌面连接称为远程桌面连接。第一分辨率同步装置300应用于虚拟机100,用于获取虚拟机100的第一分辨率并将该第一分辨率同步至客户端200,以使该客户端200按照该第一分辨率进行分辨率设置。第二分辨率同步装置400应用于客户端200,用于获取并保存客户端200的第二分辨率并在客户端200与虚拟机100建立虚拟桌面连接时将该第二分辨率同步至虚拟机100,以使虚拟机100按照该第二分辨率进行分辨率设置,在客户端200与虚拟机100的虚拟桌面连接断开时,按照该第二分辨率对客户端200进行分辨率恢复。
请参照图2,图2示出了本发明实施例提供的虚拟机100的方框示意图。虚拟机100可以是,但不限于云平台提供的虚拟机。虚拟机100的操作系统可以是,但不限于,安卓(Android)系统、IOS(iPhone operating system)系统、Windows phone系统、Windows系统、Linux系统等。所述虚拟机100包括第一分辨率同步装置300、第一存储器101、第一存储控制器102及第一处理器103。
第一存储器101、第一存储控制器102及第一处理器103各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第一分辨率同步装置300包括至少一个可以软件或固件(firmware)的形式存储于第一存储器101中或固化在所述虚拟机100的操作系统(operating system,OS)中的软件功能模块。第一处理器103用于执行第一存储器101中存储的可执行模块,例如第一分辨率同步装置300所包括的软件功能模块及计算机程序等。
其中,第一存储器101可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,第一存储器101用于存储程序,所述第一处理器103在接收到执行指令后,执行所述程序。
第一处理器103可以是一种集成电路芯片,具有信号处理能力。上述的第一处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者也可以是任何常规的处理器等。
请参照图3,图3示出了本发明实施例提供的客户端200的方框示意图。客户端200可以是,但不限于智能手机、平板电脑、个人电脑(personal computer,PC)、瘦客户机、服务器等等。客户端200的操作系统可以是,但不限于,安卓(Android)系统、IOS(iPhoneoperating system)系统、Windows phone系统、Windows系统等。所述客户端200包括第二分辨率同步装置400、第二存储器201、第二存储控制器202及第二处理器203。
第二存储器201、第二存储控制器202及第二处理器203各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第二分辨率同步装置400包括至少一个可以软件或固件(firmware)的形式存储于第二存储器201中或固化在所述客户端200的操作系统(operating system,OS)中的软件功能模块。第二处理器203用于执行第二存储器201中存储的可执行模块,例如第二分辨率同步装置400所包括的软件功能模块及计算机程序等。
其中,第二存储器201可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,第二存储器201用于存储程序,所述第二处理器203在接收到执行指令后,执行所述程序。
第二处理器203可以是一种集成电路芯片,具有信号处理能力。上述的第二处理器203可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者也可以是任何常规的处理器等。
第一实施例
请参照图4,图4示出了本发明实施例提供的第一分辨率同步方法的流程图,该处理方法包括以下步骤:
步骤S101,响应分辨率设置请求将虚拟机的分辨率设置为第一分辨率。
在本发明实施例中,分辨率设置请求可以由虚拟机100的用户根据需要主动发起的,也可以是虚拟机100收到的客户端200发送的分辨率同步请求,还可以是由虚拟机100上运行的应用程序发起的。
请参照图5,步骤S101还可以包括以下子步骤:
步骤S1011,依据分辨率设置请求生成对应的分辨率设置指令。
在本发明实施例中,不同类型的操作系统或者相同类型的不同版本的操作系统,提供的设置分辨率的接口函数或者设置命令可以不相同,例如,Windows操作系统提供的设置分辨率的API接口函数为ChangeDisplaySettingsEx,Linux操作系统提供的设置分辨率的命令为xrandr-s,其中,-s是该命令的参数,可以指定需要设置的分辨率的大小。因此,虚拟机100的操作系统的类型或者版本不同,则依据分辨率设置请求生成的对应的分辨率设置指令也不同。
步骤S1012,按照预设周期重复执行分辨率设置指令,直至将虚拟机的分辨率设置为第一分辨率。
在本发明实施例中,虚拟机100是通过软件模拟出的具有完成硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,通常情况下,虚拟机100的可靠性不是特别高,因此,虚拟机100设置分辨率的时候,容易出现设置失败的情况。另外,在某些特定版本的操作系统的环境中设置分辨率也会出现设置失败的情况,例如,在Windows10操作系统的环境中设置分辨率的时候,会出现设置失败的情况,该情况是Windows10操作系统这个软件本身固有的问题导致的。为了使虚拟机100能够成功地设置分辨率,按照预设周期重复执行分辨率设置指令,当执行分辨率设置指令失败时,经过一个预设周期后再次执行分辨率设置指令,直至执行分辨率设置指令成功,此时虚拟机100设置分辨率成功。第一分辨率是指虚拟机100执行分辨率设置指令成功后的分辨率,其中该分辨率设置指令是步骤S1011中依据分辨率设置请求生成的,例如,虚拟机100的分辨率为1366×768,虚拟机100收到了客户端200发送的分辨率同步请求,该请求要求将虚拟机100的分辨率设置为1920×1080,预设周期为1秒,虚拟机100在11:01:01时执行分辨率设置指令,结果指令执行失败,则虚拟机100会在11:01:02时再次执行分辨率设置指令,结果执行成功,此时,虚拟机100的分辨率为1920×1080,则1920×1080为第一分辨率。
需要说明的是,如果分辨率设置请求是虚拟机100收到的客户端200发送的分辨率同步请求,则不需要继续执行步骤S102及其子步骤S1021及子步骤S1022。
步骤S102,获取第一分辨率并按照预设的虚拟桌面协议将第一分辨率同步至客户端,以使客户端按照第一分辨率进行分辨率设置。
在本发明实施例中,虚拟桌面协议(Virtual Desktop Protocol,VDP)是用于实现客户端200与虚拟机100之间虚拟桌面连接的通信协议,虚拟桌面协议可以,但不限于是PCoIP(PC over IP)协议、独立计算架构(Independent Computing Architecture,ICA)协议、远程桌面/显示协议(Remote Desktop/Display Protocol,RDP)、独立计算环境简单协议(Simple Protocol for Independent Computing Environment,SPICE)等。此处的预设的虚拟桌面协议指在该虚拟桌面协议中增加了一种传输分辨率的消息类型,用于在虚拟机100与客户端200之间进行分辨率同步,当需要将第一分辨率从虚拟机100同步至客户端200时,首先将第一分辨率按照虚拟桌面协议中增加的传输分辨率的消息类型封装成第一分辨率同步消息,然后将该第一分辨率同步消息发送至客户端200,以使客户端200按照该第一分辨率进行分辨率设置。
请参照图6,步骤S102还可以包括以下子步骤:
步骤S1021,获取第一分辨率并按照预设的虚拟桌面协议生成第一分辨率同步消息。
在本发明实施例中,虚拟机100获取第一分辨率是通过调用虚拟机100的操作系统提供的接口函数或者命令来实现的,不同类型的操作系统或者相同类型的不同版本的操作系统,提供的获取分辨率的接口函数或者设置命令可以不相同,例如,Windows操作系统提供的获取分辨率的API接口函数为GetSystemMetrix(SM_CXSCREEN),Linux操作系统提供的获取分辨率的命令为xrandr。在本发明实施例中,第一分辨率同步消息是将第一分辨率按照虚拟桌面协议中增加的传输分辨率的消息类型进行封装而成。
步骤S1022,发送第一分辨率同步消息至客户端,以使客户端依据第一分辨率同步消息进行分辨率设置。
在本发明实施例中,客户端200接收到第一分辨率同步消息后,首先将该第一分辨率同步消息转换成第一分辨率设置指令,然后执行该第一分辨率设置指令将客户端200的分辨率设置为第一分辨率。例如,虚拟机100和客户端200的分辨率均为1366×768,用户手动将虚拟机100的分辨率设置为1920×1080,则1920×1080为第一分辨率,虚拟机100将该第一分辨率同步至客户端200,客户端200将自身的分辨率设置为1920×1080,此时,虚拟机100和客户端200的分辨率均为1920×1080。
请参照图7,图7示出了本发明实施例提供的应用于客户端的分辨率同步方法的流程图,该处理方法包括以下步骤:
步骤S201,建立与虚拟机之间的虚拟桌面连接时,获取并保存客户端的第二分辨率。
在本发明实施例中,获取客户端200第二分辨率是通过客户端200的操作系统提供的接口函数或者命令来实现的,不同类型的操作系统或者相同类型的不同版本的操作系统,提供的获取分辨率的接口函数或者设置命令可以不相同,获取客户端200的第二分辨率的时机是当客户端200与虚拟机100之间的虚拟桌面连接成功时,也就是说,如果客户端200与虚拟机100之间的虚拟桌面连接失败,则不需要继续获取并保存客户端200的第二分辨率。
步骤S202,按照预设的虚拟桌面协议将第二分辨率同步至虚拟机,以使虚拟机按照第二分辨率进行分辨率设置。
在本发明实施例中,此处的预设的虚拟桌面协议已经在步骤S102中做了详细说明,当需要将第二分辨率同步至虚拟机100时,首先将该第二分辨率按照虚拟桌面协议中增加的传输分辨率的消息类型封装成第二分辨率同步消息,然后将该第二分辨率同步消息发送至虚拟机100,以使虚拟机100按照第二分辨率进行分辨率设置。例如,客户端200与虚拟机100建立虚拟桌面连接时,客户端200的分辨率为1366×768,虚拟机100的分辨率为1920×1080,1366×768为第二分辨率,客户端200将第二分辨率发送至虚拟机100,虚拟机100收到该第二分辨率后将自身的分辨率设置为1366×768,此时,客户端200与虚拟机100的分辨率均为1366×768。
请参照图8,步骤S202还可以包括以下子步骤:
子步骤S2021,按照预设的虚拟桌面协议将第二分辨率生成第二分辨率同步消息。
子步骤S2022,将第二分辨率同步消息发送至所述虚拟机。
步骤S203,当与虚拟机之间的虚拟桌面连接断开时,按照第二分辨率对客户端进行分辨率恢复。
在本发明实施例中,客户端200将第二分辨率同步至虚拟机100、虚拟机100按照第二分辨率进行设置之后,此时,虚拟机100的分辨率与客户端200的分辨率一致。当用户根据需要主动修改虚拟机100的分辨率,或者虚拟机100上运行的应用程序修改了虚拟机100的分辨率后,此时,虚拟机100的分辨率不再与客户端200的分辨率保持一致,虚拟机100会将修改后的第一分辨率同步至客户端200,客户端200会按照第一分辨率进行分辨率设置,此时,客户端200的分辨率为第一分辨率,当客户端200与虚拟机100之间的虚拟桌面连接断开时,客户端200按照之前保存的第二分辨率进行设置,恢复到虚拟桌面连接时的第二分辨率。例如,客户端200与虚拟机100建立虚拟桌面连接时,客户端200与虚拟机100的分辨率均为1366×768,虚拟机100上启动了金山打字通游戏,该游戏将虚拟机100的分辨率设置为1920×1080,则1920×1080为第一分辨率,虚拟机100将该第一分辨率发送至客户端200,客户端200根据第一分辨率将自身的分辨率设置为1920×1080,此时,客户端200与虚拟机100的分辨率均为1920×1080,当客户端200与虚拟机100之间的虚拟桌面连接断开时,客户端200将自身的分辨率设置为虚拟桌面连接前的1366×768。
在本发明实施例中,客户端200与虚拟机100之间的虚拟桌面连接的断开可以是用户主动退出虚拟机100触发的,也可以是用户登录虚拟机100后,在预设的时间内都没有访问虚拟机100的动作触发的,还可以是通信连接发生异常、或者客户端200发生异常、或者虚拟机100发生异常触发的,此处的异常可以是硬件故障、通信链路断开等。
与现有技术相比,在本发明实施例具有以下有益效果:
首先,用户主动发起分辨率设置请求、或者虚拟机100收到客户端200发送的分辨率同步请求、或者虚拟机100上运行的应用程序发起分辨率设置请求时,虚拟机100立即响应分辨率设置请求并将分辨率设置为第一分辨率,保证了分辨率设置的及时性,另外,考虑到虚拟机100的可靠性及虚拟机100上运行的操作系统的版本的特点,按照预定周期对虚拟机100的分辨率进行重复设置,直至将虚拟机100的分辨率成功设置为第一分辨率,确保在不同运行环境下都能成功设置分辨率,改善了用户体验。
其次,虚拟机100获取第一分辨率并按照预设的虚拟桌面协议将第一分辨率同步至客户端200,以使客户端200按照第一分辨率进行分辨率设置,其中,同步第一分辨率至客户端200,以及客户端200按照第一分辨率进行分辨率设置都是在极短时间内自动完成的,且不会影响虚拟机100上的当前业务,而且,不管虚拟机100的分辨率如何变化,虚拟机100都会将变化后分辨率同步客户端200,以使客户端200的分辨率与虚拟机100的分辨率及时地保持一致,用户完全感觉不到变化的过程,可以获得较好的使用体验。
第三,在客户端200建立与虚拟机100之间的虚拟桌面连接时,将虚拟机100的分辨率与客户端200的分辨率保持一致,在客户端200与虚拟机100之间的虚拟桌面连接断开时,将客户端200的分辨率恢复至虚拟桌面连接之前,这样,即使客户端200的分辨率由于虚拟机100的分辨率发生变化而发生了变化,也不会在虚拟桌面连接断开后,影响客户端200的本地使用,以及下一次通过客户端200对虚拟机100的远程桌面访问。
第二实施例
请参照图9,图9示出了本发明实施例提供的第一分辨率同步装置300的方框示意图。第一分辨率同步装置300应用于虚拟机100,其包括响应模块301及获取模块302。
响应模块301,用于响应分辨率设置请求将虚拟机的分辨率设置为第一分辨率。
在本发明实施例中,响应模块301可以用于执行步骤S101及其子步骤S1011-S1012。
获取模块302,用于获取第一分辨率并按照预设的虚拟桌面协议将第一分辨率同步至客户端,以使客户端按照第一分辨率进行分辨率设置。
本发明实施例中,获取模块302,可以用于执行步骤S102及其子步骤S1021-S1022。
请参照图10,图10示出了本发明实施例提供的第二分辨率同步装置400的方框示意图。第二分辨率同步装置400应用于客户端200,其包括连接模块401、同步模块402及恢复模块403。
连接模块401,用于建立与虚拟机之间的虚拟桌面连接时,获取并保存客户端的第二分辨率。
在本发明实施例中,连接模块401可以用于执行步骤S201。
同步模块402,用于按照预设的虚拟桌面协议将第二分辨率同步至虚拟机,以使虚拟机按照第二分辨率进行分辨率设置。
本发明实施例中,同步模块402可以用于执行步骤S202及其子步骤S2021-S2022。
恢复模块403,用于当与虚拟机之间的虚拟桌面连接断开时,按照第二分辨率对客户端进行分辨率恢复。
本发明实施例中,恢复模块403可以用于执行步骤S203。
综上所述,本发明提供的一种分辨率同步方法及装置,应用于虚拟机的所述方法包括:响应分辨率设置请求将虚拟机的分辨率设置为第一分辨率;获取第一分辨率并按照预设的虚拟桌面协议将第一分辨率同步至客户端,以使客户端按照第一分辨率进行分辨率设置。应用于客户端的所述方法包括:建立与虚拟机之间的虚拟桌面连接时,获取并保存客户端的第二分辨率;按照预设的虚拟桌面协议将第二分辨率同步至虚拟机,以使虚拟机按照第二分辨率进行分辨率设置;当与虚拟机之间的虚拟桌面连接断开时,按照第二分辨率对客户端进行分辨率恢复。与现有技术相比,本发明实施例通过在虚拟机和客户端之间自动同步分辨率,从而实现了客户端或者虚拟机的分辨率调节的准确性和及时性,提升了用户的体验。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种分辨率同步方法,其特征在于,应用于虚拟机,所述虚拟机与客户端虚拟桌面连接,所述方法包括:
响应分辨率设置请求将所述虚拟机的分辨率设置为第一分辨率;
获取所述第一分辨率并按照预设的虚拟桌面协议将所述第一分辨率同步至所述客户端,以使所述客户端按照所述第一分辨率进行分辨率设置。
2.如权利要求1所述的方法,其特征在于,所述响应分辨率设置请求将所述虚拟机的分辨率设置为第一分辨率的步骤,包括:
依据所述分辨率设置请求生成对应的分辨率设置指令;
按照预设周期重复执行所述分辨率设置指令,直至将所述虚拟机的分辨率设置为第一分辨率。
3.如权利要求1所述的方法,其特征在于,所述获取所述第一分辨率并按照预设的虚拟桌面协议将所述第一分辨率同步至所述客户端的步骤,包括:
获取所述第一分辨率并按照所述预设的虚拟桌面协议生成第一分辨率同步消息;
发送所述第一分辨率同步消息至所述客户端,以使所述客户端依据所述第一分辨率同步消息进行分辨率设置。
4.一种分辨率同步方法,其特征在于,应用于客户端,所述客户端与虚拟机通信连接,所述方法包括:
建立与所述虚拟机之间的虚拟桌面连接时,获取并保存所述客户端的第二分辨率;
按照预设的虚拟桌面协议将所述第二分辨率同步至所述虚拟机,以使所述虚拟机按照所述第二分辨率进行分辨率设置;
当与所述虚拟机之间的虚拟桌面连接断开时,按照所述第二分辨率对所述客户端进行分辨率恢复。
5.如权利要求4所述的方法,其特征在于,所述按照预设的虚拟桌面协议将所述第二分辨率同步至所述虚拟机的步骤,包括:
按照预设的虚拟桌面协议将所述第二分辨率生成第二分辨率同步消息;
将所述第二分辨率同步消息发送至所述虚拟机。
6.一种分辨率同步装置,其特征在于,应用于虚拟机,所述虚拟机与客户端虚拟桌面连接,所述装置包括:
响应模块,用于响应分辨率设置请求将所述虚拟机的分辨率设置为第一分辨率;
获取模块,用于获取所述第一分辨率并按照预设的虚拟桌面协议将所述第一分辨率同步至所述客户端,以使所述客户端按照所述第一分辨率进行分辨率设置。
7.如权利要求6所述的装置,其特征在于,所述响应模块具体用于:
依据所述分辨率设置请求生成对应的分辨率设置指令;
按照预设周期重复执行所述分辨率设置指令,直至将所述虚拟机的分辨率设置为第一分辨率。
8.如权利要求6所述的装置,其特征在于,所述获取模块具体用于:
获取所述第一分辨率并按照所述预设的虚拟桌面协议生成第一分辨率同步消息;
发送所述第一分辨率同步消息至所述客户端,以使所述客户端依据所述第一分辨率同步消息进行分辨率设置。
9.一种分辨率同步装置,其特征在于,应用于客户端,所述客户端与虚拟机通信连接,所述装置包括:
连接模块,用于建立与所述虚拟机之间的虚拟桌面连接时,获取并保存所述客户端的第二分辨率;
同步模块,用于按照预设的虚拟桌面协议将所述第二分辨率同步至所述虚拟机,以使所述虚拟机按照所述第二分辨率进行分辨率设置;
恢复模块,用于当与所述虚拟机之间的虚拟桌面连接断开时,按照所述第二分辨率对所述客户端进行分辨率恢复。
10.如权利要求9所述的装置,其特征在于,所述同步模块具体用于:
按照预设的虚拟桌面协议将所述第二分辨率生成第二分辨率同步消息;
将所述第二分辨率同步消息发送至所述虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810437196.9A CN108717375A (zh) | 2018-05-09 | 2018-05-09 | 分辨率同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810437196.9A CN108717375A (zh) | 2018-05-09 | 2018-05-09 | 分辨率同步方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108717375A true CN108717375A (zh) | 2018-10-30 |
Family
ID=63899589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810437196.9A Pending CN108717375A (zh) | 2018-05-09 | 2018-05-09 | 分辨率同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108717375A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010245A (zh) * | 2021-02-24 | 2021-06-22 | 杭州雾联科技有限公司 | 一种创建虚拟显示器的方法、装置、电子设备和存储介质 |
CN113778600A (zh) * | 2021-09-08 | 2021-12-10 | 北京百度网讯科技有限公司 | 分辨率设置方法、装置、设备、存储介质及程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103327051A (zh) * | 2012-03-22 | 2013-09-25 | 鸿富锦精密工业(深圳)有限公司 | 远程桌面管理系统及方法 |
US20140130042A1 (en) * | 2012-11-06 | 2014-05-08 | Red Hat Israel, Ltd. | Mechanism for Single Virtual Machine Monitor Display Split Using Multiple Client Devices in a Virtualization System |
CN105072190A (zh) * | 2015-08-21 | 2015-11-18 | 刘昌平 | 一种实时性桌面云的实现方法及系统 |
CN105577617A (zh) * | 2014-10-15 | 2016-05-11 | 中国电信股份有限公司 | 一种客户端、终端设备、宿主机、文件传输系统及方法 |
CN105847332A (zh) * | 2016-03-17 | 2016-08-10 | 汉柏科技有限公司 | 桌面虚拟化方法、客户端设备和服务端设备 |
CN107256153A (zh) * | 2017-06-01 | 2017-10-17 | 浙江大学 | 一种虚拟机rfb协议桌面分辨率自适应实现系统和方法 |
US20180041386A1 (en) * | 2016-08-08 | 2018-02-08 | American Megatrends, Inc. | System and method for accessing real sensors for virtual service processor stack |
-
2018
- 2018-05-09 CN CN201810437196.9A patent/CN108717375A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103327051A (zh) * | 2012-03-22 | 2013-09-25 | 鸿富锦精密工业(深圳)有限公司 | 远程桌面管理系统及方法 |
US20140130042A1 (en) * | 2012-11-06 | 2014-05-08 | Red Hat Israel, Ltd. | Mechanism for Single Virtual Machine Monitor Display Split Using Multiple Client Devices in a Virtualization System |
CN105577617A (zh) * | 2014-10-15 | 2016-05-11 | 中国电信股份有限公司 | 一种客户端、终端设备、宿主机、文件传输系统及方法 |
CN105072190A (zh) * | 2015-08-21 | 2015-11-18 | 刘昌平 | 一种实时性桌面云的实现方法及系统 |
CN105847332A (zh) * | 2016-03-17 | 2016-08-10 | 汉柏科技有限公司 | 桌面虚拟化方法、客户端设备和服务端设备 |
US20180041386A1 (en) * | 2016-08-08 | 2018-02-08 | American Megatrends, Inc. | System and method for accessing real sensors for virtual service processor stack |
CN107256153A (zh) * | 2017-06-01 | 2017-10-17 | 浙江大学 | 一种虚拟机rfb协议桌面分辨率自适应实现系统和方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010245A (zh) * | 2021-02-24 | 2021-06-22 | 杭州雾联科技有限公司 | 一种创建虚拟显示器的方法、装置、电子设备和存储介质 |
CN113010245B (zh) * | 2021-02-24 | 2023-03-14 | 杭州雾联科技有限公司 | 一种创建虚拟显示器的方法、装置、电子设备和存储介质 |
CN113778600A (zh) * | 2021-09-08 | 2021-12-10 | 北京百度网讯科技有限公司 | 分辨率设置方法、装置、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020221190A1 (zh) | 小程序状态同步方法、设备和计算机存储介质 | |
CN107205057A (zh) | 一种游戏资源更新方法、装置及客户端 | |
US9614931B2 (en) | Identifying a resource set require for a requested application and launching the resource set in a container for execution in a host operating system | |
CN114244717B (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
US9801146B2 (en) | Terminal and synchronization control method among terminals | |
CN107580011B (zh) | 一种数据共享方法及桌面云服务端 | |
CN105786606A (zh) | 一种用于智能终端间的数据转移的方法和系统 | |
CN110046036A (zh) | 一种操作请求分配方法、装置及设备 | |
CN108234551B (zh) | 一种数据处理方法及装置 | |
CN111124617B (zh) | 区块链系统的创建方法和装置、存储介质及电子装置 | |
CN109379548B (zh) | 多媒体录制方法、装置、终端及存储介质 | |
CN112953908A (zh) | 网络隔离配置方法、装置及系统 | |
CN112286904A (zh) | 集群迁移方法、装置及存储介质 | |
CN108717375A (zh) | 分辨率同步方法及装置 | |
CN102752407A (zh) | 数字文化社区系统 | |
CN112231106A (zh) | Redis集群的访问数据处理方法及装置 | |
CN112243033A (zh) | 获取内存信息的方法、装置、设备及计算机可读存储介质 | |
CN104079610A (zh) | 云端服务器、应用软件的云同步方法和系统 | |
CN107179943A (zh) | 一种资源配置装置及资源配置方法 | |
CN103108046A (zh) | 云终端的虚拟机登录方法、装置和系统 | |
CN110166955B (zh) | 一种进行日程提醒的方法与设备 | |
CN114115912A (zh) | 基于云手机的应用安装方法、云平台及相关设备 | |
CA2878759C (en) | Methods and systems for providing software applications | |
CN110874264A (zh) | 实例热迁移方法及装置、存储介质、处理器 | |
CN114095758A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181030 |