CN105323272A - 一种管理剪切板的方法、终端和系统 - Google Patents

一种管理剪切板的方法、终端和系统 Download PDF

Info

Publication number
CN105323272A
CN105323272A CN201410293571.9A CN201410293571A CN105323272A CN 105323272 A CN105323272 A CN 105323272A CN 201410293571 A CN201410293571 A CN 201410293571A CN 105323272 A CN105323272 A CN 105323272A
Authority
CN
China
Prior art keywords
client
shear plate
message
server end
request
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.)
Withdrawn
Application number
CN201410293571.9A
Other languages
English (en)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201410293571.9A priority Critical patent/CN105323272A/zh
Priority to PCT/CN2015/070873 priority patent/WO2015196798A1/zh
Publication of CN105323272A publication Critical patent/CN105323272A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种管理剪切板的方法、终端和系统,方法应用于客户端和服务器端中的第一端,所述服务器端安装有用于实现虚拟桌面的虚拟机,所述管理剪切板的方法包括:当监听到所述第一端发生了复制事件时,发送第一复制消息到第二端;接收到来自第二端的第二粘贴请求时,将所述第一复制消息对应的第一内容发送到第二端,使得第二端能够将所述第一内容写入剪切板后进行粘贴处理。使第一端和第二端之间的应用程序能够方便的将复制粘贴的操作距离拉远,完成第一端和第二端之间对于剪切板上的内容的操作的同步,降低了第一端和第二端之间的耦合,提高了复制粘贴的效率,增强了用户体验。

Description

一种管理剪切板的方法、终端和系统
技术领域
本发明涉及计算机数据处理技术,特别是指一种管理剪切板的方法、终端和系统。
背景技术
虚拟桌面是将操作系统运行在服务器或者服务器的虚拟机中,并将虚拟机的桌面通过网络发送给远程的客户端的一种技术。
如图1所示,虚拟桌面主要是由虚拟桌面服务端和虚拟桌面客户端组成,虚拟桌面服务端将桌面的文字、图片和音视频信息等发送给虚拟桌面客户端,虚拟桌面客户端呈现这些信息,虚拟桌面客户端会将用户操作的鼠标键盘事件发送给虚拟桌面服务端。虚拟机桌面服务端和客户端通过虚拟桌面协议进行通信,虚拟桌面协议内部有多个逻辑通道,分别用于传送不同类型的信息,如屏幕显示信息、键盘信息和音频信息等。
如图1所示,虚拟桌面系统架构包括:运行操作系统的虚拟机101;终端102,可以是PC,也可以是移动终端,其上设置有虚拟桌面客户端;虚拟桌面服务端103,负责将操作系统的桌面信息发送给客户端进行显示,并将接收到客户端剪切板内容发送到操作系统模块104,像本地剪切板内容一样,或者将操作系统模块104的剪切板内容发送到客户端;操作系统模块104,负责将剪切板发送给剪切板管理模块,以便后者对剪切板管理;虚拟机代理单元105,通过虚拟驱动与虚拟硬件109通信,实现虚拟机和桌面服务端之间交互控制信息;剪切板106;操作系统应用程序107;消息通道模块108,负责传递逻辑信息、屏幕显示信息、键盘信息和音频信息等;虚拟硬件109,负责虚拟机桌面服务端与虚拟桌面内部交互。
剪切板是指操作系统提供的一个暂存数据,并且提供共享的一个模块。剪切板在内存里,是操作系统设置的一段存储区域。只要有文本输入的地方按CRTL+V或右键粘贴就出现了,新的内容送到剪切板后,将覆盖旧内容。
现有技术存在如下问题:用户在虚拟桌面客户端和虚拟机内部,想复制数据时的操作非常不方便,即使数据量很小也必须将虚拟桌面服务端与客户端之间的网络打通通过共享等方式才能同步数据。
发明内容
本发明要解决的技术问题是提供一种管理剪切板的方法、终端和系统,解决现有技术中,在客户端和虚拟机内部进行数据复制时的操作非常繁琐,必须通过虚拟桌面服务端与客户端之间的网络共享方式来实现数据同步的缺陷。
解决,虚拟桌面和客户端层面之间不用建立网络连接,在客户端和虚拟机内部之间提供复制粘贴功能。
为解决上述技术问题,本发明的实施例提供一种管理剪切板的方法,应用于客户端和服务器端中的第一端,所述服务器端安装有用于实现虚拟桌面的虚拟机,所述管理剪切板的方法包括:当监听到所述第一端发生了复制事件时,发送第一复制消息到第二端;接收到来自第二端的第二粘贴请求时,将所述第一复制消息对应的第一内容发送到第二端,使得第二端能够将所述第一内容写入剪切板后进行粘贴处理。
所述的方法中,当所述第一端是服务器端,第二端是客户端时,所述发送第一复制消息到第二端包括:调用应用函数接口生成所述第一复制消息,所述第一复制消息中记录所述虚拟机发生的复制事件具有对应的第一内容;将所述第一复制消息通过虚拟硬件发送给位于虚拟机上的虚拟桌面服务端;虚拟桌面服务端将所述第一复制消息通过与客户端之间的消息通道发送给所述客户端。
所述的方法中,当所述第一端是服务器端,第二端是客户端时,接收来自第二端的第二粘贴请求包括:服务器端上的虚拟桌面服务端通过与客户端之间的消息通道接收来自客户端的第二粘贴请求,调用应用函数接口对所述第二粘贴请求封装后,通过虚拟硬件发送到服务器端上的用于管理剪切板的单元。
所述的方法中,通过所述消息通道和虚拟硬件传输的第一复制消息和第二粘贴请求是遵循虚拟硬件驱动协议和虚拟硬件间交互协议的剪切板类型消息。
一种管理剪切板的服务器端,包括:服务器端消息单元,用于当监听到所述服务器端发生了复制事件时,发送第一复制消息到客户端;虚拟机代理单元,用于接收到来自客户端的第二粘贴请求时,将所述第一复制消息对应的第一内容发送到客户端,使得客户端能够将所述第一内容写入剪切板后进行粘贴处理。
所述的服务器端中,还包括:虚拟桌面服务端,用于通过与客户端之间的消息通道接收来自客户端的第二粘贴请求,调用应用函数接口对所述第二粘贴请求封装后,通过虚拟硬件发送到所述虚拟机代理单元;以及,通过与客户端之间的消息通道接收来自客户端的第二粘贴请求,调用应用函数接口对所述第二粘贴请求封装后,通过虚拟硬件发送到所述虚拟机代理单元。
一种管理剪切板的方法,应用于客户端和服务器端中的第二端,所述服务器端安装有用于实现虚拟桌面的虚拟机,所述管理剪切板的方法包括:接收到第一端在监听到针对第一内容的复制事件时发送的第一复制消息;记录所述第一复制消息;当监听到所述第二端发生了粘贴事件时,依据记录的所述第一复制消息发送一第二粘贴请求到所述第一端;接收所述第一端在接收到所述第二粘贴请求后返回的所述第一内容;将所述第一内容写入剪切板后进行粘贴处理。
所述的方法中,在接收到来自第一端的第一复制消息之后,还包括:开启剪切板的延迟提交功能,所述延迟提交功能创建一个指定数据格式的空剪贴板数据块,所述空剪贴板数据块初始为空,且用于在将所述第一内容写入剪切板时为所述剪切板提供内存空间。
所述的方法中,当所述第二端是服务器端,第一端是客户端时,接收到第一端在监听到针对第一内容的复制事件时发送的第一复制消息包括:服务器端上的虚拟桌面服务端通过与客户端之间的消息通道接收来自客户端的第一复制消息,调用应用函数接口对所述第一复制消息封装后,通过虚拟硬件发送到服务器端上的用于管理剪切板的单元。
所述的方法中,当所述第二端是服务器端,第一端是客户端时,依据记录的所述第一复制消息发送一第二粘贴请求到所述第一端包括:调用应用函数接口生成所述第二粘贴请求;将所述第二粘贴请求通过虚拟硬件发送给位于服务器端上的虚拟桌面服务端;虚拟桌面服务端将所述第二粘贴请求通过与客户端之间的消息通道发送给所述客户端。
一种管理剪切板的服务器端,包括:服务器端消息单元,用于接收到客户端在监听到针对第一内容的复制事件时发送的第一复制消息;记录所述第一复制消息;当监听到所述服务器端发生了粘贴事件时,依据记录的所述第一复制消息发送一第二粘贴请求到所述客户端;虚拟机代理单元,用于接收所述客户端在接收到所述第二粘贴请求后返回的所述第一内容;将所述第一内容写入剪切板后进行粘贴处理。
一种管理剪切板的系统,包括服务器端和客户端,所述服务器端安装有用于实现虚拟桌面的虚拟机;所述服务器端包括服务器端消息单元和虚拟机代理单元,所述客户端包括客户端剪切板控制单元;其中服务器端消息单元,用于当监听到所述服务器端发生了复制事件时,发送第一复制消息到客户端;虚拟机代理单元,用于接收到来自客户端的第二粘贴请求时,将所述第一内容发送到客户端,使得客户端能够将所述第一内容写入剪切板后进行粘贴处理;服务器端消息单元,还用于接收到客户端在监听到针对第一内容的复制事件时发送的第一复制消息;记录所述第一复制消息;当监听到所述服务器端发生了粘贴事件时,依据记录的所述第一复制消息发送一第二粘贴请求到所述客户端;虚拟机代理单元,还用于接收所述客户端在接收到所述第二粘贴请求后返回的所述第一内容;将所述第一内容写入剪切板后进行粘贴处理。
本发明的上述技术方案的有益效果如下:使第一端和第二端之间的应用程序能够方便的将复制粘贴的操作距离拉远,完成第一端和第二端之间对于剪切板上的内容的操作的同步,降低了第一端和第二端之间的耦合,提高了复制粘贴的效率,增强了用户体验。
附图说明
图1表示虚拟桌面系统架构示意图;
图2表示一种管理剪切板的系统结构图;
图3表示一种管理剪切板的方法流程图;
图4表示将虚拟桌面服务端的内容复制到客户端剪切板的原理示意图;
图5表示将客户端的内容复制到虚拟桌面服务端剪切板的原理示意图;
图6表示将虚拟桌面服务端的内容复制到客户端剪切板的流程图;
图7表示将客户端的内容复制到虚拟桌面服务端剪切板的流程图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图2所示,本发明实施例中为描述清楚,对不同端的名称进行了统一的规范,其中,服务器端安装有用于实现虚拟桌面的虚拟机,由于虚拟机中包括虚拟桌面服务端203、虚拟硬件209、操作系统204和服务器端应用程序207,因此也可以认为是在服务器端安装有虚拟桌面服务端203、虚拟硬件209、操作系统204和服务器端应用程序207。操作系统204包含有服务器端剪切板206和虚拟机代理单元205。
服务器端与客户端之间具有消息通道208。
客户端中包含有虚拟桌面客户端,所述虚拟桌面客户端中有客户端剪切板控制单元201。
本发明实施例涉及的剪切板技术包括:如图2所示,从虚拟机所在的服务器端向虚拟桌面客户端复制数据,以及,如图3所示,从虚拟桌面客户端向虚拟机所在的服务器端复制数据。这些过程中,在本端生成复制数据之后,通知远端已有复制数据;或者,远端要使用复制数据时发起请求,本端收到请求之后,向远端的剪切板中写入数据供远端的应用程序来使用。其中的复制操作泛指本技术领域当前所使用的拷贝以及剪切操作,因此复制数据包括了拷贝数据和剪切数据。
本发明实施例提供一种管理剪切板的方法,如图3所示,应用于客户端和服务器端中的第一端,所述服务器端安装有用于实现虚拟桌面的虚拟机,所述管理剪切板的方法包括:
步骤31,当监听到所述第一端发生了复制事件时,发送第一复制消息到第二端;
步骤32,接收到来自第二端的第二粘贴请求时,将所述第一复制消息对应的第一内容发送到第二端,使得第二端能够将所述第一内容写入剪切板后进行粘贴处理。
应用所提供的技术,使第一端和第二端之间的应用程序能够方便的将复制粘贴的操作距离拉远,完成第一端和第二端之间对于剪切板上的内容的操作的同步,降低了第一端和第二端之间的耦合,提高了复制粘贴的效率,增强了用户体验。
第一端可以是客户端或者是虚拟机。当第一端是虚拟机时,第二端则是客户端;当第一端是客户端时,第二端则是虚拟机。
在一个优选实施例中,当所述第一端是服务器端,第二端是客户端时,所述发送第一复制消息到第二端包括:
调用应用函数接口生成所述第一复制消息,所述第一复制消息中记录所述虚拟机发生的复制事件具有对应的第一内容;
将所述第一复制消息通过虚拟硬件209发送给位于虚拟机上的虚拟桌面服务端;
虚拟桌面服务端将所述第一复制消息通过与客户端之间的消息通道发送给所述客户端。
在一个优选实施例中,当所述第一端是服务器端,第二端是客户端时,接收来自第二端的第二粘贴请求包括:
服务器端上的虚拟桌面服务端通过与客户端之间的消息通道接收来自客户端的第二粘贴请求,调用应用函数接口对所述第二粘贴请求封装后,通过虚拟硬件209发送到服务器端上的用于管理剪切板的单元。
在一个优选实施例中,通过所述消息通道和虚拟硬件传输的第一复制消息和第二粘贴请求是遵循虚拟硬件驱动协议和虚拟硬件间交互协议的剪切板类型消息。
实施例所提供的技术表明,需要在原来的消息通道中新增剪切板消息类型,负责剪切板控制和剪切板数据传递。以及,在原来的虚拟硬件驱动消息中新增剪切板数据,负责虚拟桌面和虚拟桌面服务端之间数据传输。其中,剪切板数据即实施例中的第一内容,实施例中,来自第一端的剪切板数据称为第一内容,若是来自第二端的剪切板数据,则称为第二内容。
本发明实施例提供一种管理剪切板的服务器端,如图2所示,包括:
服务器端消息单元211,用于当监听到所述服务器端发生了复制事件时,发送第一复制消息到客户端;
虚拟机代理单元205,用于接收到来自客户端的第二粘贴请求时,将所述第一复制消息对应的第一内容发送到客户端,使得客户端能够将所述第一内容写入剪切板后进行粘贴处理。
在一个优选实施例中,还包括:
虚拟桌面服务端,用于通过与客户端之间的消息通道接收来自客户端的第二粘贴请求,调用应用函数接口对所述第二粘贴请求封装后,通过虚拟硬件发送到所述虚拟机代理单元205;
以及,
通过与客户端之间的消息通道接收来自客户端的第二粘贴请求,调用应用函数接口对所述第二粘贴请求封装后,通过虚拟硬件发送到所述虚拟机代理单元205。
在一个应用场景中,第一端是服务器端,第二端是客户端,如图4所示,服务器端的虚拟机发生了复制事件,客户端请求进行粘贴的过程包括:
服务器端,当服务器端消息单元211监听到发生了复制事件时,发送第一复制消息到客户端;
客户端,客户端剪切板控制单元210监控到客户端中的应用程序产生了粘贴事件,客户端剪切板控制单元210根据该粘贴事件产生了第二粘贴请求;
客户端剪切板控制单元210向服务器端发送第二粘贴请求。
服务器端,虚拟机代理单元205接收到来自第二端的第二粘贴请求时,将所述第一内容发送到客户端,使得客户端能够将所述第一内容写入剪切板后进行粘贴处理。
上述技术中,虚拟机代理单元205和服务器端消息单元211的功能可以在同一个单元模块中实现。
因此,若将虚拟机代理单元205和服务器端消息单元211的功能集合到同一个单元模块,则该单元模块负责虚拟机内部剪切板管理,其功能包括:
创建剪切板监听窗口,当虚拟桌面服务端应用程序发起复制动作时,发送消息到虚拟桌面;
接收客户端剪切板数据请求消息后,读取虚拟桌面剪切数据并将数据发送到客户端;
接收到客户端复制动作消息后开启虚拟桌面剪切板延迟提交功能;
监听系统应用剪切板粘贴事件后,向客户端发送剪切板数据请求消息,接收客户端剪切板数据重写剪切板,以供虚拟桌面内的应用程序进行粘贴处理。
本发明实施例提供一种管理剪切板的方法,应用于客户端和服务器端中的第二端,服务器端安装有用于实现虚拟桌面的虚拟机,所述管理剪切板的方法包括:
接收到第一端在监听到针对第一内容的复制事件时发送的第一复制消息;记录所述第一复制消息;
当监听到所述第二端发生了粘贴事件时,依据记录的所述第一复制消息发送一第二粘贴请求到所述第一端;
接收所述第一端在接收到所述第二粘贴请求后返回的所述第一内容;
将所述第一内容写入剪切板后进行粘贴处理。
第二端可以是客户端或者是虚拟机。当第二端是虚拟机时,第一端则是客户端;当第二端是客户端时,第一端则是虚拟机。
在一个优选实施例中,在接收到来自第一端的第一复制消息之后,还包括:
开启剪切板的延迟提交功能,所述延迟提交功能创建一个指定数据格式的空剪贴板数据块,所述空剪贴板数据块初始为空,且用于在将所述第一内容写入剪切板时为所述剪切板提供内存空间。
数据提供进程创建了剪贴板数据后,一直到有其他进程获取剪贴板数据前,这些数据都要占据内存空间,如在剪贴板放置的数据量过大,就会浪费内存空间,降低对资源的利用率。为避免这种浪费,可以采取延迟提交(Delayedrendering)技术,即由数据提供进程先创建一个指定数据格式的空(NULL)剪贴板数据块,直到有其他进程需要这些数据才真正提交数据。
在一个优选实施例中,当所述第二端是服务器端,第一端是客户端时,接收到第一端在监听到针对第一内容的复制事件时发送的第一复制消息包括:
服务器端上的虚拟桌面服务端通过与客户端之间的消息通道接收来自客户端的第一复制消息,调用应用函数接口对所述第一复制消息封装后,通过虚拟硬件发送到服务器端上的用于管理剪切板的单元。
在一个优选实施例中,当所述第二端是服务器端,第一端是客户端时,依据记录的所述第一复制消息发送一第二粘贴请求到所述第一端包括:
调用应用函数接口生成所述第二粘贴请求;
将所述第二粘贴请求通过虚拟硬件发送给位于服务器端上的虚拟桌面服务端;
虚拟桌面服务端将所述第二粘贴请求通过与客户端之间的消息通道发送给所述客户端。
本发明实施例提供一种管理剪切板的服务器端,包括:
服务器端消息单元211,用于接收到客户端在监听到针对第一内容的复制事件时发送的第一复制消息;记录所述第一复制消息;
当监听到所述服务器端发生了粘贴事件时,依据记录的所述第一复制消息发送一第二粘贴请求到所述客户端;
虚拟机代理单元205,用于接收所述客户端在接收到所述第二粘贴请求后返回的所述第一内容;将所述第一内容写入剪切板后进行粘贴处理。
虚拟机代理单元205和服务器端消息单元211的功能也可以在同一个单元模块中实现。
在一个应用场景中,第二端是服务器端,第一端是客户端,如图5所示,作为第一端的客户端发生了复制事件,服务器端的虚拟机请求进行粘贴的过程包括:
客户端,客户端剪切板控制单元210监控到客户端中的应用程序产生了复制事件,发送第一复制消息到服务器端的虚拟机;
服务器端,服务器端消息单元211,接收到客户端在监听到针对第一内容的复制事件时发送的第一复制消息;当监听到服务器端发生了粘贴事件时,依据记录的所述第一复制消息发送一第二粘贴请求到客户端;
客户端,客户端剪切板控制单元210接收到来自服务器端的第二粘贴请求时,将第一内容发送到服务器端的虚拟机,使得服务器端的虚拟机能够将第一内容写入剪切板后进行粘贴处理。
服务器端,虚拟机代理单元205,用于接收客户端在接收到所述第二粘贴请求后返回的所述第一内容;将所述第一内容写入剪切板后进行粘贴处理。
根据实施例所描述的技术方案,客户端剪切板控制单元210,用于管理客户端的剪切功能,包括:
创建剪切板监听窗口,当在客户端应用发起复制动作时,发送消息到虚拟桌面;
接收虚拟桌面剪切板数据请求消息后,读取客户端剪切/复制数据并将数据发送到虚拟机内部;
接收到虚拟桌面复制动作消息后开启客户端剪切板延迟提交功能;
监听系统应用剪切板粘贴事件后,向虚拟机内部发送剪切板数据请求消息,接收虚拟桌面剪切板数据重写剪切板,以供客户端应用程序进行粘贴处理。
本发明实施例提供一种管理剪切板的系统,包括服务器端和客户端,所述服务器端安装有用于实现虚拟桌面的虚拟机;
所述服务器端包括服务器端消息单元211和虚拟机代理单元205,所述客户端包括客户端剪切板控制单元;其中
服务器端消息单元211,用于当监听到所述服务器端发生了复制事件时,发送第一复制消息到客户端;
虚拟机代理单元205,用于接收到来自客户端的第二粘贴请求时,将所述第一内容发送到客户端,使得客户端能够将所述第一内容写入剪切板后进行粘贴处理;
服务器端消息单元211,还用于接收到客户端在监听到针对第一内容的复制事件时发送的第一复制消息;记录所述第一复制消息;
当监听到所述服务器端发生了粘贴事件时,依据记录的所述第一复制消息发送一第二粘贴请求到所述客户端;
虚拟机代理单元205,还用于接收所述客户端在接收到所述第二粘贴请求后返回的所述第一内容;将所述第一内容写入剪切板后进行粘贴处理。
在一个应用场景中,如图6所示,从客户端将复制数据同步到虚拟机的剪切板的流程中,虚拟机代理单元205和服务器端消息单元211可以由同一个单元模块实现,也可以分别实现各自的功能,流程包括:
步骤501,客户端创建剪切板监听窗口,当在客户端发起复制动作时,通过客户端窗口监听到该复制动作的复制事件。
步骤502,客户端发送复制消息给服务器端。
步骤503,虚拟桌面服务端接收到复制消息后,调用虚拟硬件接口将复制消息写入到虚拟硬件209。
步骤504,服务器端消息单元211调用虚拟硬件接口读取到复制消息。
步骤505,服务器端消息单元211接收到复制消息,开启剪切板延迟提交功能。
步骤506,服务器端消息单元211监控到虚拟机中的应用程序产生的粘贴请求。
步骤507,服务器端消息单元211将粘贴请求写入虚拟硬件209。
步骤508,虚拟桌面服务端读取到粘贴请求。
步骤509,虚拟桌面服务端将读取到的粘贴请求通知到客户端剪切板控制单元210。
步骤510,客户端收到粘贴请求之后,发起剪切板数据给虚拟桌面服务端。
步骤511,虚拟桌面服务端将收到的剪切板数据写入到虚拟硬件209。
步骤512,虚拟机代理单元205读取剪切板数据。
步骤513,虚拟机代理单元205用收到的剪切板数据重写剪切板。
在一个应用场景中,如图7所示,从虚拟机将剪切板数据同步到客户端的流程中,虚拟机代理单元205和服务器端消息单元211可以由同一个单元模块实现,也可以分别实现各自的功能,流程包括:
步骤601,虚拟机创建剪切板监听窗口,当在客户端发起复制动作时,虚拟机窗口监听到复制动作的该复制事件,产生复制消息。
步骤602,虚拟机将此复制消息写入虚拟硬件209。
步骤603,虚拟桌面服务端读取此复制消息。
步骤604,虚拟桌面服务端发送复制消息给客户端剪切板控制单元210。
步骤605,客户端剪切板控制单元210接收到复制消息,开启剪切板延迟提交功能。
步骤606,客户端剪切板控制单元210监控到客户端中的应用程序请求粘贴剪切板数据。
步骤607,客户端剪切板控制单元210向虚拟桌面服务端发起请求剪切板数据的粘贴消息。
步骤608,虚拟桌面服务端收到粘贴消息后写入虚拟硬件。
步骤609,服务器端消息单元211读取虚拟硬件信息。
步骤610,虚拟机代理单元205将剪切板数据发送给虚拟桌面服务端。
步骤611,虚拟桌面服务端读取剪切板数据。
步骤612,虚拟桌面服务端将剪切板数据转发给客户端。
步骤613,客户端的客户端剪切板控制单元210收到剪切板数据后,用收到的数据重写剪切板。
采用本方案之后的优势是:在虚拟桌面服务端的虚拟机代理单元205中新增剪切板控制功能,以及新增服务器端消息单元211的功能,在客户端中添加客户端剪切板控制单元210。当操作系统发生剪切板事件时,通知客户端有剪切数据,当客户端请求剪切板数据时,虚拟机代理单元205将操作系统中剪切板的数据发送到客户端。当监控到应用程序请求操作系统剪切板数据时,负责去客户端将客户端剪切板数据填充到服务器端的操作系统的剪切板,以完成客户端和操作系统间的剪切板同步,同时客户端剪切板控制单元210负责延迟提交功能。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种管理剪切板的方法,其特征在于,应用于客户端和服务器端中的第一端,所述服务器端安装有用于实现虚拟桌面的虚拟机,所述管理剪切板的方法包括:
当监听到所述第一端发生了复制事件时,发送第一复制消息到第二端;
接收到来自第二端的第二粘贴请求时,将所述第一复制消息对应的第一内容发送到第二端,使得第二端能够将所述第一内容写入剪切板后进行粘贴处理。
2.根据权利要求1所述的方法,其特征在于,当所述第一端是服务器端,第二端是客户端时,所述发送第一复制消息到第二端包括:
调用应用函数接口生成所述第一复制消息,所述第一复制消息中记录所述虚拟机发生的复制事件具有对应的第一内容;
将所述第一复制消息通过虚拟硬件发送给位于虚拟机上的虚拟桌面服务端;
虚拟桌面服务端将所述第一复制消息通过与客户端之间的消息通道发送给所述客户端。
3.根据权利要求1所述的方法,其特征在于,当所述第一端是服务器端,第二端是客户端时,接收来自第二端的第二粘贴请求包括:
服务器端上的虚拟桌面服务端通过与客户端之间的消息通道接收来自客户端的第二粘贴请求,调用应用函数接口对所述第二粘贴请求封装后,通过虚拟硬件发送到服务器端上的用于管理剪切板的单元。
4.根据权利要求1所述的方法,其特征在于,通过所述消息通道和虚拟硬件传输的第一复制消息和第二粘贴请求是遵循虚拟硬件驱动协议和虚拟硬件间交互协议的剪切板类型消息。
5.一种管理剪切板的服务器端,其特征在于,包括:
服务器端消息单元,用于当监听到所述服务器端发生了复制事件时,发送第一复制消息到客户端;
虚拟机代理单元,用于接收到来自客户端的第二粘贴请求时,将所述第一复制消息对应的第一内容发送到客户端,使得客户端能够将所述第一内容写入剪切板后进行粘贴处理。
6.根据权利要求5所述的服务器端,其特征在于,还包括:
虚拟桌面服务端,用于通过与客户端之间的消息通道接收来自客户端的第二粘贴请求,调用应用函数接口对所述第二粘贴请求封装后,通过虚拟硬件发送到所述虚拟机代理单元;
以及,
通过与客户端之间的消息通道接收来自客户端的第二粘贴请求,调用应用函数接口对所述第二粘贴请求封装后,通过虚拟硬件发送到所述虚拟机代理单元。
7.一种管理剪切板的方法,应用于客户端和服务器端中的第二端,所述服务器端安装有用于实现虚拟桌面的虚拟机,所述管理剪切板的方法包括:
接收到第一端在监听到针对第一内容的复制事件时发送的第一复制消息;记录所述第一复制消息;
当监听到所述第二端发生了粘贴事件时,依据记录的所述第一复制消息发送一第二粘贴请求到所述第一端;
接收所述第一端在接收到所述第二粘贴请求后返回的所述第一内容;将所述第一内容写入剪切板后进行粘贴处理。
8.根据权利要求7所述的方法,其特征在于,在接收到来自第一端的第一复制消息之后,还包括:
开启剪切板的延迟提交功能,所述延迟提交功能创建一个指定数据格式的空剪贴板数据块,所述空剪贴板数据块初始为空,且用于在将所述第一内容写入剪切板时为所述剪切板提供内存空间。
9.根据权利要求7所述的方法,其特征在于,当所述第二端是服务器端,第一端是客户端时,接收到第一端在监听到针对第一内容的复制事件时发送的第一复制消息包括:
服务器端上的虚拟桌面服务端通过与客户端之间的消息通道接收来自客户端的第一复制消息,调用应用函数接口对所述第一复制消息封装后,通过虚拟硬件发送到服务器端上的用于管理剪切板的单元。
10.根据权利要求7所述的方法,其特征在于,当所述第二端是服务器端,第一端是客户端时,依据记录的所述第一复制消息发送一第二粘贴请求到所述第一端包括:
调用应用函数接口生成所述第二粘贴请求;
将所述第二粘贴请求通过虚拟硬件发送给位于服务器端上的虚拟桌面服务端;
虚拟桌面服务端将所述第二粘贴请求通过与客户端之间的消息通道发送给所述客户端。
11.一种管理剪切板的服务器端,其特征在于,包括:
服务器端消息单元,用于接收到客户端在监听到针对第一内容的复制事件时发送的第一复制消息;记录所述第一复制消息;
当监听到所述服务器端发生了粘贴事件时,依据记录的所述第一复制消息发送一第二粘贴请求到所述客户端;
虚拟机代理单元,用于接收所述客户端在接收到所述第二粘贴请求后返回的所述第一内容;将所述第一内容写入剪切板后进行粘贴处理。
12.一种管理剪切板的系统,其特征在于,包括服务器端和客户端,所述服务器端安装有用于实现虚拟桌面的虚拟机;
所述服务器端包括服务器端消息单元和虚拟机代理单元,所述客户端包括客户端剪切板控制单元;其中
服务器端消息单元,用于当监听到所述服务器端发生了复制事件时,发送第一复制消息到客户端;
虚拟机代理单元,用于接收到来自客户端的第二粘贴请求时,将所述第一内容发送到客户端,使得客户端能够将所述第一内容写入剪切板后进行粘贴处理;
服务器端消息单元,还用于接收到客户端在监听到针对第一内容的复制事件时发送的第一复制消息;记录所述第一复制消息;
当监听到所述服务器端发生了粘贴事件时,依据记录的所述第一复制消息发送一第二粘贴请求到所述客户端;
虚拟机代理单元,还用于接收所述客户端在接收到所述第二粘贴请求后返回的所述第一内容;将所述第一内容写入剪切板后进行粘贴处理。
CN201410293571.9A 2014-06-25 2014-06-25 一种管理剪切板的方法、终端和系统 Withdrawn CN105323272A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410293571.9A CN105323272A (zh) 2014-06-25 2014-06-25 一种管理剪切板的方法、终端和系统
PCT/CN2015/070873 WO2015196798A1 (zh) 2014-06-25 2015-01-16 一种剪切板处理方法、终端和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410293571.9A CN105323272A (zh) 2014-06-25 2014-06-25 一种管理剪切板的方法、终端和系统

Publications (1)

Publication Number Publication Date
CN105323272A true CN105323272A (zh) 2016-02-10

Family

ID=54936689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410293571.9A Withdrawn CN105323272A (zh) 2014-06-25 2014-06-25 一种管理剪切板的方法、终端和系统

Country Status (2)

Country Link
CN (1) CN105323272A (zh)
WO (1) WO2015196798A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107783811A (zh) * 2017-11-15 2018-03-09 北京易讯通信息技术股份有限公司 一种虚拟桌面环境中的可控文件传输方法
CN109409098A (zh) * 2017-10-24 2019-03-01 浙江华途信息安全技术股份有限公司 防止剪切板数据泄露的方法和装置
CN109726028A (zh) * 2019-01-17 2019-05-07 江苏保旺达软件技术有限公司 一种中间存储方法
CN110442465A (zh) * 2019-08-07 2019-11-12 北京技德系统技术有限公司 一种多桌面环境剪切板共享架构及其方法
CN112445578A (zh) * 2020-12-11 2021-03-05 西安万像电子科技有限公司 零终端数据处理系统及其文件复制方法、装置
CN113656198A (zh) * 2021-08-17 2021-11-16 北京百度网讯科技有限公司 客户端到云手机的复制粘贴方法和装置
CN113722124A (zh) * 2021-09-03 2021-11-30 北京百度网讯科技有限公司 一种云手机的内容处理方法、装置、设备及存储介质
CN114296970A (zh) * 2022-03-09 2022-04-08 南京赛宁信息技术有限公司 网络靶场独立网络之间虚拟机共享剪贴板方法及系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928707A (zh) * 2019-10-31 2020-03-27 北京浪潮数据技术有限公司 一种宿主机和虚拟机的数据交换方法及相关装置
CN112306611B (zh) * 2020-11-03 2024-06-21 西安万像电子科技有限公司 文件复制方法、装置、存储介质和处理器
CN112306613A (zh) * 2020-11-03 2021-02-02 西安万像电子科技有限公司 文件复制方法、装置、存储介质和处理器
CN112306612A (zh) * 2020-11-03 2021-02-02 西安万像电子科技有限公司 文档内容复制方法、装置、存储介质和处理器
CN113656795B (zh) * 2021-08-25 2024-04-05 奇安信科技集团股份有限公司 窗口操作行为审计方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997900A (zh) * 2009-08-26 2011-03-30 中国移动通信集团公司 一种跨终端的拷贝粘贴系统、装置及方法
CN103475562A (zh) * 2013-09-26 2013-12-25 长沙裕邦软件开发有限公司 一种实现虚拟局域网数据安全的方法及系统
CN103618724A (zh) * 2013-12-03 2014-03-05 中标软件有限公司 终端机与虚拟机之间的通信方法与通信系统
US8726337B1 (en) * 2011-09-30 2014-05-13 Emc Corporation Computing with presentation layer for multiple virtual machines

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330106B2 (en) * 2012-02-15 2016-05-03 Citrix Systems, Inc. Selective synchronization of remotely stored content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997900A (zh) * 2009-08-26 2011-03-30 中国移动通信集团公司 一种跨终端的拷贝粘贴系统、装置及方法
US8726337B1 (en) * 2011-09-30 2014-05-13 Emc Corporation Computing with presentation layer for multiple virtual machines
CN103475562A (zh) * 2013-09-26 2013-12-25 长沙裕邦软件开发有限公司 一种实现虚拟局域网数据安全的方法及系统
CN103618724A (zh) * 2013-12-03 2014-03-05 中标软件有限公司 终端机与虚拟机之间的通信方法与通信系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409098A (zh) * 2017-10-24 2019-03-01 浙江华途信息安全技术股份有限公司 防止剪切板数据泄露的方法和装置
CN107783811A (zh) * 2017-11-15 2018-03-09 北京易讯通信息技术股份有限公司 一种虚拟桌面环境中的可控文件传输方法
CN109726028A (zh) * 2019-01-17 2019-05-07 江苏保旺达软件技术有限公司 一种中间存储方法
CN109726028B (zh) * 2019-01-17 2023-05-26 江苏保旺达软件技术有限公司 一种中间存储方法
CN110442465A (zh) * 2019-08-07 2019-11-12 北京技德系统技术有限公司 一种多桌面环境剪切板共享架构及其方法
CN110442465B (zh) * 2019-08-07 2024-01-09 北京技德系统技术有限公司 一种多桌面环境剪切板共享架构及其方法
CN112445578A (zh) * 2020-12-11 2021-03-05 西安万像电子科技有限公司 零终端数据处理系统及其文件复制方法、装置
CN112445578B (zh) * 2020-12-11 2023-06-16 西安万像电子科技有限公司 零终端数据处理系统及其文件复制方法、装置
CN113656198A (zh) * 2021-08-17 2021-11-16 北京百度网讯科技有限公司 客户端到云手机的复制粘贴方法和装置
CN113656198B (zh) * 2021-08-17 2023-01-17 北京百度网讯科技有限公司 客户端到云手机的复制粘贴方法和装置
CN113722124A (zh) * 2021-09-03 2021-11-30 北京百度网讯科技有限公司 一种云手机的内容处理方法、装置、设备及存储介质
CN114296970A (zh) * 2022-03-09 2022-04-08 南京赛宁信息技术有限公司 网络靶场独立网络之间虚拟机共享剪贴板方法及系统

Also Published As

Publication number Publication date
WO2015196798A1 (zh) 2015-12-30

Similar Documents

Publication Publication Date Title
CN105323272A (zh) 一种管理剪切板的方法、终端和系统
WO2021204141A1 (zh) 视频直播控制、桥接、流控、播控方法及客户端
CN109660584A (zh) 一种客户端与服务器建立长连接的方法及通信方法与通信系统
CN103177095A (zh) 一种嵌入式浏览器及其实现方法
CN105144673A (zh) 延迟减少的服务器干预式音频-视频通信
CN106295107A (zh) 一种实现医学影像同步会诊的方法及系统
CN102523207A (zh) 基于虚拟网络计算机的远程资源访问方法及代理设备
CN104079633A (zh) 终端采集数据同步保存到云端服务器的方法及系统
CN110473129B (zh) 一种基于安卓Android和云平台的监管场所警务专网应用管控系统
CN114285752A (zh) 通道带宽调整方法、装置、系统、电子设备及可读介质
TW202147834A (zh) 同步本地房間和遠端共享
CN113114688A (zh) 多媒体会议管理方法及装置、存储介质、电子设备
CN109684114A (zh) 基于iOS系统的消息分发方法、装置、终端和介质
CN103414885A (zh) 一种网络音视频监控系统的通信方法
CN103843323A (zh) 一种多媒体会议实现方法、相关设备及系统
US20100061276A1 (en) Dedicated Call User Interface (UI) for Organizing Collaborative Exchange During A Telephony or Softphone Call
CN102053811A (zh) 一种拼接墙系统共享资源显示处理方法及其装置
CN102857802B (zh) 网络电视内容同步方法和系统
CN111385593A (zh) 跨平台直播内容同步方法、装置、存储介质和服务器
CN114237473A (zh) 同屏交互方法、装置及系统、存储介质、电子装置
WO2024082882A1 (zh) 多媒体内容的传输方法、装置、设备及存储介质
CN102111604B (zh) 会议录制方法及会议录制系统
CN103533054A (zh) 多终端间实现协同处理的方法及多终端协同处理装置
CN104270255A (zh) 一种基于linx进程的节点间通信模块及方法
CN113055253B (zh) 一种家庭网关快速开通的方法、装置、设备以及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20160210