一种数据分享方法及装置与流程

文档序号:27943012发布日期:2021-12-11 13:25阅读:69来源:国知局
一种数据分享方法及装置与流程

1.本公开涉及数据传输技术领域,尤其涉及一种数据分享方法及装置。


背景技术:

2.现有云办公系统的基本结构,如图1所示,云办公系统基于万像图像无损传输协议(vanxum gprs tunnelling protocol,简称vgtp),主要包括零终端(内置vgtp

r端,简称r端)和云端服务器端(内置vgtp

s端,简称s端)。其中,r端用于接收来自云端桌面图像,同时将本地鼠标和键盘信息反向传输到云端,由云端注入当前r端所对应的云端桌面中。其中,云端桌面是由云端服务器为当前零终端所分配的虚拟机(vm)生成的;s端是运行在云端虚拟操作系统(operating system,简称os)中的图像采集和编码模块,同时负责进行用户输入数据的注入功能。云端服务器一般基于基础设施即服务(infrastructure as a service,简称iaas)架构,是具有很强虚拟主机的服务器,其可以通过虚拟机监视器hypervisor提供多个虚拟机的管理功能,为虚拟机提供运行的硬件环境。
3.现有技术中,用户可以通过一个零终端连接多个虚拟机并进行操作,在这种情况下,用户很可能需要在多个虚拟机之间传输相同的文件。面对这一需要,现有解决方式只能借助于共享盘和闪存盘,而这些方式对用户来说都比较繁琐。


技术实现要素:

4.本公开实施例提供一种数据分享方法及装置,能够解决现有技术中零终端连接的多个虚拟机之间传输文件比较繁琐的问题。所述技术方案如下:
5.根据本公开实施例的第一方面,提供一种数据分享方法,应用于零终端,该方法包括:
6.建立与至少两个虚拟机之间的连接;
7.在用户操作从第一虚拟机切换至第二虚拟机时,获取所述第一虚拟机内剪切板的扫描结果;
8.在所述扫描结果显示为有数据时,复制所述第一虚拟机内剪切板的目标数据,并将所述目标数据写入所述第二虚拟机。
9.本公开实施例提供的数据分享方法,首先建立与至少两个虚拟机之间的连接;然后在用户操作从第一虚拟机切换至第二虚拟机时,获取第一虚拟机内剪切板的扫描结果;最后在扫描结果显示为有数据时,复制第一虚拟机内剪切板的目标数据,并将目标数据写入第二虚拟机。本公开提供的数据分享方法,用户能够通过数据拷贝的方式方便、快捷的实现多个虚拟机之间的数据传输。
10.在一个实施例中,在所述获取所述第一虚拟机内剪切板的扫描结果之前,上述方法还包括:
11.接收用户设置的共享拷贝指令,所述共享拷贝指令用于指示所述零终端开启对连接的所述至少两个虚拟机的剪切板进行共享拷贝。
12.在一个实施例中,所述在用户操作从第一虚拟机切换至第二虚拟机时,获取所述第一虚拟机内剪切板的扫描结果之前,上述方法还包括:
13.接收用户设置的对所述第一虚拟机的拷贝操作。
14.在一个实施例中,在所述获取所述第一虚拟机内剪切板的扫描结果之前,上述方法还包括:
15.将所述第一虚拟机的剪切板分为第一存储区和第二存储区,所述第一存储区用于存储本地拷贝数据,所述第二存储区用于存储所述目标数据;
16.相对应的,所述获取所述第一虚拟机内剪切板的扫描结果包括:
17.获取所述第一虚拟机内所述第二存储区的扫描结果。
18.在一个实施例中,所述将所述目标数据写入所述第二虚拟机包括:
19.在所述目标数据为文本、图片或excel数据时,将所述目标数据复制至所述第二虚拟机的剪切板,以使所述第二虚拟机将所述目标数据粘贴在所述第二虚拟机上;
20.在所述目标数据为文件时,将所述目标数据复制至所述第二虚拟机的剪切板,发送复制通知给所述第一虚拟机,以使所述第一虚拟机查找并复制所述目标数据;接收所述第一虚拟机发送的所述目标数据,并将所述目标数据发送给所述第二虚拟机进行存储。
21.在一个实施例中,所述将所述目标数据写入所述第二虚拟机包括:
22.对所述目标数据进行加密,并将所述加密后的目标数据写入所述第二虚拟机。
23.根据本公开实施例的第二方面,提供一种数据分享装置,包括:连接模块、获取模块和处理模块;
24.所述连接模块,用于建立与至少两个虚拟机之间的连接;
25.所述获取模块,用于在用户操作从第一虚拟机切换至第二虚拟机时,获取所述第一虚拟机内剪切板的扫描结果;
26.所述处理模块,用于在所述扫描结果显示为有数据时,复制所述第一虚拟机内剪切板的目标数据,并将所述目标数据写入所述第二虚拟机。
27.本公开实施例提供的装置,包括连接模块、获取模块和处理模块;连接模块用于建立与至少两个虚拟机之间的连接;获取模块用于在用户操作从第一虚拟机切换至第二虚拟机时,获取第一虚拟机内剪切板的扫描结果;处理模块用于在扫描结果显示为有数据时,复制第一虚拟机内剪切板的目标数据,并将目标数据写入第二虚拟机。本公开提供的数据分享装置,用户能够通过数据拷贝的方式方便、快捷的实现多个虚拟机之间的数据传输。
28.在一个实施例中,上述装置还包括接收模块,用于接收用户设置的共享拷贝指令,所述共享拷贝指令用于指示所述零终端开启对连接的所述至少两个虚拟机的剪切板进行共享拷贝。
29.在一个实施例中,上述装置还包括分区模块,用于将所述第一虚拟机的剪切板分为第一存储区和第二存储区,所述第一存储区用于存储本地拷贝数据,所述第二存储区用于存储所述目标数据;
30.所述获取模块,还用于获取所述第一虚拟机内所述第二存储区的扫描结果。
31.在一个实施例中,所述处理模块,用于在所述目标数据为文本、图片或excel数据时,将所述目标数据复制至所述第二虚拟机的剪切板,以使所述第二虚拟机将所述目标数据粘贴在所述第二虚拟机上;在所述目标数据为文件时,将所述目标数据复制至所述第二
虚拟机的剪切板,发送复制通知给所述第一虚拟机,以使所述第一虚拟机查找并复制所述目标数据;接收所述第一虚拟机发送的所述目标数据,并将所述目标数据发送给所述第二虚拟机进行存储。
32.根据本公开实施例的第三方面,提供一种数据分享设备,所述数据分享设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现上述任一项所述的数据分享方法中所执行的步骤。
33.根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现上述任一项所述的数据分享方法中所执行的步骤。
34.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
35.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
36.图1是现有的云办公系统的结构示意图;
37.图2是本公开实施例提供的云办公系统的结构示意图;
38.图3是本公开实施例提供的一种数据分享方法的流程图;
39.图4是本公开实施例提供的一种数据分享方法的流程图;
40.图5本公开实施例提供的一种数据分享装置的结构示意图。
具体实施方式
41.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
42.本公开提供的云办公系统的结构示意图如图2所示,包括零终端和云端服务器。其中,云端服务器包括n个虚拟机vm,其中n≥2,且至少两个虚拟机与零终端连接。基于此,本公开实施例提供一种数据分享方法,如图3所示,应用于零终端,该数据分享方法包括以下步骤:
43.步骤101、建立与至少两个虚拟机之间的连接;
44.具体的,用户通过来自客户端设备(零终端)的客户计算协议与虚拟桌面(通常是指虚拟机)进行连接,通过零终端访问他们的桌面就像是访问传统的本地安装桌面一样,只要有网络,用户就可以在任何时间任何地点连接到自己想要连接的桌面,管理人员可以更易于管理桌面用户和数据,因为所有数据都在服务商,客户的数据更安全。从而获取桌面图像,并通过反向控制方式对获取的其虚拟桌面进行控制。
45.当一个零终端同时连接多个虚拟机时,零终端同时控制多路连接,连接画面通过分屏、双屏或者单屏的切换显示,并通过用户控制,由零终端来管理虚拟机的状态。
46.本公开实施例中,在零终端设备连接多个虚拟机时,通过反向控制来操作相应虚
拟机,且各个虚拟机之间的操作是独立的。比如,当用户操作第一虚拟机对应的桌面图像时,用户的反向控制操作将发送给第一虚拟机,而不会发送给第二虚拟机;同理,当用户操作第二虚拟机对应的桌面图像时,用户的反向控制操作将发送给第二虚拟机,而不会发送给第一虚拟机。
47.步骤102、在用户操作从第一虚拟机切换至第二虚拟机时,获取第一虚拟机内剪切板的扫描结果;
48.在一个实施例中,在获取第一虚拟机内剪切板的扫描结果之前,上述方法还包括:
49.接收用户设置的共享拷贝指令,共享拷贝指令用于指示零终端开启对连接的至少两个虚拟机的剪切板进行共享拷贝。
50.具体的,用户可以通过特定方式开启共享拷贝功能,比如快捷键或者相应配置项的设置方式,也可以通过特定方式关闭共享拷贝功能。
51.在一个实施例中,在用户操作从第一虚拟机切换至第二虚拟机时,获取第一虚拟机内剪切板的扫描结果之前,上述方法还包括:
52.接收用户设置的对第一虚拟机的拷贝操作。
53.实际使用中,当客户从第一虚拟机切换到第二虚拟机时,第二虚拟机开始接收零终端反向控制操作,同时零终端中的clipbrd剪贴板查看应用程序获取第一虚拟机的剪切板内存扫描结果,如果该内存中存在数据,就将该数据复制并同步到第二虚拟机剪切板内存中。
54.具体的,由于零终端不能直接去虚拟机中获取数据,因此必须是云端服务器给零终端同步;为了进行传输,需要建立一个传输隧道,两个虚拟机和零终端都必须运行对应程序,比如clipbrd程序;虚拟机上的这个程序做两个事情,一个是扫描自身剪切板内存中的数据,第二个是和零终端通信;当客户建立两路连接时,虚拟机的剪切板相关程序和零终端对于的程序对接,然后两路虚拟机通过零终端程序建立数据传输隧道;当用户从第一虚拟机切换到第二虚拟机时,剪切板数据做一次同步,同时数据传输隧道不断开,保留状态(预备随时拷贝文件以及后续使用);当有一路连接断开时,数据传输隧道中断,保持连接的一路虚拟机和零终端之间的剪切板连接继续连接,等待下一路虚拟机连入再建立数据隧道。
55.在一个实施例中,在获取第一虚拟机内剪切板的扫描结果之前,上述方法还包括:
56.将第一虚拟机的剪切板分为第一存储区和第二存储区,第一存储区用于存储本地拷贝数据,第二存储区用于存储目标数据;
57.相对应的,获取第一虚拟机内剪切板的扫描结果包括:
58.获取第一虚拟机内第二存储区的扫描结果。
59.实际使用中,为了对用户拷贝数据进行区分,可以预先对剪切板划分两个区域,一个区域用于存储本地拷贝数据,另一个区域用于存储共享拷贝数据,这一部分是需要进行共享的拷贝数据;因此,clipbrd程序检测共享拷贝数据的存储区域中是否有数据,如果有,说明当前有需要共享的数据,则将这一部分数据同步给第二虚拟机。
60.步骤103、在扫描结果显示为有数据时,复制第一虚拟机内剪切板的目标数据,并将目标数据写入第二虚拟机。
61.在一个实施例中,将目标数据写入第二虚拟机包括:
62.在目标数据为文本、图片或excel数据时,将目标数据复制至第二虚拟机的剪切
板,以使第二虚拟机将目标数据粘贴在第二虚拟机上;
63.在目标数据为文件时,将目标数据复制至第二虚拟机的剪切板,发送复制通知给第一虚拟机,以使第一虚拟机查找并复制目标数据;接收第一虚拟机发送的目标数据,并将目标数据发送给第二虚拟机进行存储。
64.具体的,当客户在第二虚拟机中执行粘贴操作时,此处分为两种场景:(1)当第二虚拟机剪切板内存中的数据(第一虚拟机剪切板内存中同步过来的数据)为文本、图片、excel等数据时,剪切板中存放的是源数据本身,所以直接粘贴即可;(2)当第二虚拟机剪切板内存中的数据(第一虚拟机剪切板内存中同步过来的数据)为文件时,需要将第一虚拟机中的文件复制到第二虚拟机上,先将数据复制通知给第一虚拟机,然后由第一虚拟机查找并复制数据,并将数据通过文件传输协议,通过零终端clipbrd程序(零终端就相当于一个中转,不处理和保留数据,只给虚拟机之间搭个桥)传输给第二虚拟机,第二虚拟机接收数据后存放于粘贴位置即可。
65.在一个实施例中,将目标数据写入第二虚拟机包括:
66.对目标数据进行加密,并将加密后的目标数据写入第二虚拟机,具体的,加密可以使用安全文件传送协议(secure file transfer protocol,简称sftp协议)。
67.本公开中零终端不保留和处理数据,所以不需要考虑数据内存结构(也是因为这个原因,两个虚拟机必须是相同的操作系统)。
68.本公开实施例提供的数据分享方法,首先建立与至少两个虚拟机之间的连接;然后在用户操作从第一虚拟机切换至第二虚拟机时,获取第一虚拟机内剪切板的扫描结果;最后在扫描结果显示为有数据时,复制第一虚拟机内剪切板的目标数据,并将目标数据写入第二虚拟机。本公开提供的数据分享方法,用户能够通过数据拷贝的方式方便、快捷的实现多个虚拟机之间的数据传输。
69.基于上述图3对应的实施例提供的数据分享方法,本公开另一实施例提供一种数据分享方法,如图4所示。
70.步骤201、r端设备(零终端)连接多路虚拟机画面;
71.比如同时连接虚拟机a,虚拟机b;此时用户可以通过特定方式开启共享拷贝功能;
72.具体的,用户可以通过比如快捷键或者相应配置项的设置方式来开启共享拷贝功能。
73.当然用户也可以通过特定方式关闭共享拷贝功能。
74.当用户开启共享拷贝功能之后,数据共享处理平台会在本地进行记录当前可进行数据共享的多个虚拟机的信息,并建立关联。具体的,可进行数据的共享的多个虚拟机是指与同一个零终端建立联机的多个虚拟机。数据共享处理平台可以向用户连接处理平台来获取相关信息,具体的,数据共享处理平台确定当前发起共享拷贝功能的虚拟机所连接的零终端的信息,然后依据该零终端信息向用户连接处理平台获取与该零终端连接的所有虚拟机的信息。
75.步骤202、当用户正在使用虚拟机a时,客户通过反向控制操作虚拟机a,虚拟机b是不接收r端反向控制指令;
76.r端设备连接多个虚拟机时,通过反向控制来操作相应虚拟机,且各个虚拟机之间的操作是独立的。比如,当用户操作虚拟机a对应的桌面图像时,用户的反向控制操作将发
送给虚拟机a,而不会发送给虚拟机b;同理,当用户操作虚拟机b对应的桌面图像时,用户的反向控制操作将发送给虚拟机b,而不会发送给虚拟机a。
77.步骤203、用户在使用虚拟机a时执行了拷贝操作;
78.步骤204、当客户从虚拟机a切换到虚拟机b时,虚拟机b开始接收r端反向控制操作,同时r端中的clipbrd程序获取虚拟机a的剪切板内存扫描结果,如果该内存中存在数据,就将该数据复制并同步到虚拟机b剪切板内存中;
79.具体的,由于r端不能直接去虚拟机中获取数据,因此必须是s端给r端同步;为了进行传输,需要建立一个传输隧道,具体的,两个vm和r端都必须运行对应程序,比如clipbrd程序;vm上的这个程序做两个事情,一个是扫描自身剪切板内存中的数据,第二个是和r端通信;当客户建立两路连接时,vm的剪切板相关程序和r端对于的程序对接,然后两路vm通过r端程序建立数据传输隧道;当用户从vm1切换到vm2时,剪切板数据做一次同步,同时数据传输隧道不断开,保留状态(预备随时拷贝文件以及后续使用);当有一路连接断开时,数据传输隧道中断,保持连接的一路vm和r端之间的剪切板连接继续连接,等待下一路vm连入再建立数据隧道。
80.在本公开的一种可选方案中,为了对用户拷贝数据进行区分,可以预先对剪切板划分两个区域,一个区域用于存储本地拷贝数据,另一个区域用于存储共享拷贝数据,这一部分是需要进行共享的拷贝数据;因此,该步骤修改成,clipbrd检测共享拷贝数据的存储区域中是否有数据,如果有,说明当前有需要共享的数据,则将这一部分数据同步给虚拟机b。
81.步骤205、将虚拟机b剪切板内存中的数据粘贴至虚拟机b上。
82.具体的,当客户在虚拟机b中执行粘贴操作时,此处分为两种场景:(1)当虚拟机b剪切板内存中的数据(虚拟机a剪切板内存中同步过来的数据)为文本、图片、excel等数据时,剪切板中存放的是源数据本身,所以直接粘贴即可;(2)当虚拟机b剪切板内存中的数据(虚拟机a剪切板内存中同步过来的数据)为文件时,需要将虚拟机a中的文件复制到虚拟机b上,先将数据复制通知给虚拟机a,然后由虚拟机a查找并复制数据,并将数据通过文件传输协议,通过r端clipbrd程序(r端就相当于一个中转,不处理和保留数据,只给虚拟机之间搭个桥)传输给虚拟机b,虚拟机b接收数据后存放于粘贴位置即可。
83.本公开实施例提供的数据分享方法,首先建立与至少两个虚拟机之间的连接;然后在用户操作从第一虚拟机切换至第二虚拟机时,获取第一虚拟机内剪切板的扫描结果;最后在扫描结果显示为有数据时,复制第一虚拟机内剪切板的目标数据,并将目标数据写入第二虚拟机。本公开提供的数据分享方法,用户能够通过数据拷贝的方式方便、快捷的实现多个虚拟机之间的数据传输。
84.基于上述图3和图4对应的实施例中所描述的数据分享方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
85.本公开实施例提供一种数据分享装置,如图5所示,该装置包括连接模块301、获取模块302和处理模块303;
86.连接模块301,用于建立与至少两个虚拟机之间的连接;
87.获取模块302,用于在用户操作从第一虚拟机切换至第二虚拟机时,获取第一虚拟机内剪切板的扫描结果;
88.处理模块303,用于在扫描结果显示为有数据时,复制第一虚拟机内剪切板的目标数据,并将目标数据写入第二虚拟机。
89.本公开实施例提供的装置,包括连接模块301、获取模块302和处理模块303;连接模块301,用于建立与至少两个虚拟机之间的连接;获取模块302,用于在用户操作从第一虚拟机切换至第二虚拟机时,获取第一虚拟机内剪切板的扫描结果;处理模块303,用于在扫描结果显示为有数据时,复制第一虚拟机内剪切板的目标数据,并将目标数据写入第二虚拟机。本公开提供的数据分享装置,用户能够通过数据拷贝的方式方便、快捷的实现多个虚拟机之间的数据传输。
90.在一个实施例中,上述装置还包括接收模块304,用于接收用户设置的共享拷贝指令,共享拷贝指令用于指示零终端开启对连接的至少两个虚拟机的剪切板进行共享拷贝。
91.在一个实施例中,上述装置还包括分区模块305,用于将第一虚拟机的剪切板分为第一存储区和第二存储区,第一存储区用于存储本地拷贝数据,第二存储区用于存储目标数据;
92.获取模块302,还用于获取第一虚拟机内第二存储区的扫描结果。
93.在一个实施例中,处理模块303,用于在目标数据为文本、图片或excel数据时,将目标数据复制至第二虚拟机的剪切板,以使第二虚拟机将目标数据粘贴在第二虚拟机上;在目标数据为文件时,将目标数据复制至第二虚拟机的剪切板,发送复制通知给第一虚拟机,以使第一虚拟机查找并复制目标数据;接收第一虚拟机发送的目标数据,并将目标数据发送给第二虚拟机进行存储。
94.基于上述图3和图4对应的实施例中描述的数据分享方法,本公开另一实施例还提供一种数据分享设备,该数据分享设备包括处理器和存储器,存储器中存储有至少一条计算机指令,该指令由处理器加载并执行以实现上述图3和图4对应的实施例中所描述的数据分享方法。
95.基于上述图3和图4对应的实施例中所描述的数据分享方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:read only memory,rom)、随机存取存储器(英文:random access memory,ram)、cd

rom、磁带、软盘和光数据存储装置等。该存储介质上存储有至少一条计算机指令,用于执行上述图3和图4对应的实施例中所描述的数据分享方法,此处不再赘述。
96.本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
97.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1