在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法与流程

文档序号:24406029发布日期:2021-03-26 17:09阅读:82来源:国知局
在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法与流程

1.本发明属于云应用技术领域,具体涉及一种在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法。


背景技术:

2.随着云计算、云桌面技术的日新月异,人们的使用场景已经从办公桌面上云开始进一步向应用上云进行深入发展。通过云应用的部署,用户可以像使用微信小程序一样使用已有的电脑软件,他们不需要在自己的电脑上安装繁冗的各种软件,可以通过应用软件商店直接双击打开传统的office、3d设计甚至自己开发的软件应用,从而避免了各种个人电脑空间不足、软件的系统兼容性、电脑故障运维麻烦、软件许可证太少、文档保密性等等各种问题,这就是云应用带来的最明显的好处。
3.在云应用技术面对的各种需求细节中,有一项很关键的剪切板技术,由于同一个用户同时打开使用的各种软件实际上可能运行在不同的远程操作系统上,他在两个软件之间进行拷贝粘贴的时候,就会面临数据怎么传输的问题。例如word窗口实际运行在云主机a上,而excel窗口运行在云主机b上,在用户的眼里都像是在使用本地应用程序一样同时用着word和excel,当他在word窗口中拷贝了一段文字,想要粘贴到excel中时,这些文字数据将如何从云主机a的内存中传递到云主机b的内存中,并且只能被当前用户看到,不能被别的用户拿到,这个急需解决。传统的技术是通过远程桌面的剪切板重定向通道,先让被拷贝的数据从云主机a到达用户自己的本地电脑上,再从用户自己的本地电脑传递到云主机b上,如图1所示,但是这样做的缺点是:传输速度慢,容易造成数据泄露。
4.目前,业界有很多称作“云剪切板”的互联网产品,实质为他们是在自己的网站上开账号,需要用户把剪切板数据上传到他们的服务器上,然后在另外一台电脑或手机上用同一个账号登录,拿到此前上传的剪切板数据进行粘贴,但这样就变成了数据共享网盘,失去剪切板的意义,而且它跟云应用也没有任何关系,是两台客户端电脑之间的共享,本专利是针对同一台电脑上使用两个来源不同的应用窗口之间的剪切板共享。


技术实现要素:

5.本发明的目的在于提供一种在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法,解决现有云应用技术中用户在多个跨云主机会话的应用程序间进行拷贝粘贴时,通过远程桌面的剪切板重定向通道,先让被拷贝的数据从一个云主机到达用户自己的本地电脑上,再从用户自己的本地电脑传递到另一个云主机上,导致传输速度慢,且容易造成数据泄露的技术问题。
6.为了解决上述技术问题,本发明采用技术方案实现:
7.在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法,包括如下步骤:
8.s1:和用户连接的每台云服务器主机上分别设置一个剪切板代理程序,在用户当前登录的每台云服务器主机上的用户会话上下文中均自动启动该剪切板代理程序;
9.s2:通过消息服务器的订阅机制,当用户连接到每台云服务器主机,并打开云应用窗口时,在消息列队服务器上创建一个订阅队列;队列的数量和用户会话的云服务器主机数量相同,所有队列使用相同的主题关键字形成广播组,任一列队列通过消息服务器对外广播本节点的信息时,同一广播组中的其它队列均可接收到;
10.s3:当用户在会话a的上下文执行拷贝操作时,会话a中的剪切板代理程序会将此次拷贝的格式名称的列表进行广播,则当前用户连接的其它云服务器主机上的剪切板代理程序将利用声明的剪切板格式列表去设置各自的系统剪切板,并与会话a中的切板代理程序建立tcp网络连接;
11.s4:当用户会话b上执行粘贴操作时,会话b中的剪切板代理程序利用事先建立的tcp连接向会话a中的剪切板代理程序发起剪切板数据请求,最后将拿到的剪切板数据放到本台云服务器主机的系统剪切板中,供发起粘贴行为的窗口获取。
12.剪切板分组共享技术可以让同一个用户同时连接到多个云端服务器主机上,并发打开使用运行在多个远程主机上的云应用窗口,实现窗口之间的剪切板云端共享,支持包括文字、图像在内的剪切板数据格式全集,从而实现在跨云服务器主机的云应用窗口上进行用户级的剪切板拷贝粘贴操作,使用云应用的用户可以像日常办公一样,在两台云服务器主机的应用窗口之间进行高速、安全的拷贝粘贴操作,其中的数据传输不用经过客户端本地电脑,而是在云服务器主机之间直接传输,通常都是万兆光纤网络,性能远高于远程接入的用户带宽,与客户端本地的剪切板做到完全隔离,防止机密数据泄露。
13.进一步优化,所述步骤s2中,列队通过消息服务器对外广播的本节点信息包括云服务器主机名称、tcp和udp端口号;
14.所述广播组为一个剪切板共享组,位于同一共享组的所有剪切板代理程序分享彼此监听的tcp和udp端口号;tcp层适合大量数据传输,用于剪切板数据传输;udp层适合简短消息传输,主要用于剪切板格式声明。
15.进一步优化,所述步骤s3的具体方法:用户在会话a中进行拷贝操作时,会话a的剪切板代理程序监听到了剪切板拷贝动作,然后将拷贝出来的剪切板格式列表通过udp发出声明,其它云服务器主机上的剪切板代理程序将利用声明的剪切板格式列表去设置各自的系统剪切板;会话a的剪切板代理程序只是声明了剪切板数据来源的所有权,没有将剪切数据给传递给其它云服务器主机上的剪切板代理程序。
16.windows操作系统底层的剪切板机制采用了延时加载技术,当在某个应用程序窗口中进行拷贝行为时,应用程序可以选择到系统剪切板内存空间中临时登记被剪切下来的数据,并不进行真正的内存数据拷贝行为,直到用户进行实际粘贴行为的时候,操作系统才会通知提供数据的应用程序,让它将数据存放到剪切板空间。利用这个延迟加载的时间空隙,将系统的剪切行为监控并接管,把剪切下来的数据格式广播到用户会话的其它所有云服务器主机上,当用户在其它主机上进行粘贴行为的时候,再将需要传输的数据进行通过位于云端的高带宽的网络通道进行跨云服务器主机拷贝,从而为跨云服务器主机工作的用户提供高性能的云剪切板体验。在打开两个运行在不同云服务器主机上的应用时,能够像日常操作一样,进行高速、安全的数据拷贝粘贴操作。
17.进一步优化,所述步骤s4的具体方法:当用户在会话b中的某个窗口上进行了粘贴操作时,会话b的剪切板代理程序收到了对应某个剪切板格式的数据渲染请求,并通过tcp连接向本次剪切板数据的声明方会话a发起了剪切板真实数据请求;会话a中的剪切板代理程序调用系统api获取系统剪切板数据,并答复给会话b,会话b将收到的某个格式的真实剪切板数据渲染到系统剪切板中,让用户看到粘贴的结果。
18.进一步优化,所述步骤s2中,队列使用的关键字为用户名。
19.本发明技术方案的有益效果:
20.本发明中,剪切板分组共享技术可以让同一个用户同时连接到多个云端服务器主机上,并发打开使用运行在多个远程主机上的云应用窗口,实现窗口之间的剪切板云端共享,支持包括文字、图像在内的剪切板数据格式全集,从而实现在跨云服务器主机的云应用窗口上进行用户级的剪切板拷贝粘贴操作,使用云应用的用户可以像日常办公一样,在两台云服务器主机的应用窗口之间进行高速、安全的拷贝粘贴操作,其中的数据传输不用经过客户端本地电脑,而是在云服务器主机之间直接传输,通常都是万兆光纤网络,性能远高于远程接入的用户带宽,与客户端本地的剪切板做到完全隔离,防止机密数据泄露。
附图说明
21.图1为现有技术中“云剪切板”的示意图。
22.图2为本发明在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法的路程图。
23.图3为用户连接到每台云服务器主机后在消息列队服务器上创建消息队列的示意图。
24.图4为在两个跨云服务器主机会话的云应用程序间进行拷贝粘贴过程的流程框图。
具体实施方式
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
26.在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法,包括如下步骤,如图2所示:
27.s1:和用户连接的每台云服务器主机上分别设置一个剪切板代理程序,在用户当前登录的每台云服务器主机上的用户会话上下文中均自动启动该剪切板代理程序。
28.s2:通过消息服务器的订阅机制,当用户连接到每台云服务器主机,并打开云应用窗口时,在消息列队服务器上创建一个订阅队列;消息队列的数量和用户会话的云服务器主机数量相同,所有队列使用相同的主题关键字形成广播组,关键字为用户名,因此只要是该用户名下的会话,都会通过这样的机制加入同一个剪切板共享组,位于同一共享组的剪切板代理程序首先分享彼此监听的tcp和udp端口号。tcp层适合大量数据传输,所以用于剪切板数据传输,udp层适合简短消息传输,所以主要用于剪切板格式声明。如图3所示,包括用户1和用户2,用户1和用户2均与云服务器主机1和云服务器主机2会话,则用户1与云服务器主机1和云服务器主机2之间形成两个消息队列,这两个消息队列使用“用户1”作为主题
关键字形成一个剪切板共享组,则用户2与云服务器主机1和云服务器主机2之间形成两个消息队,这两个消息队列使用“用户2”作为主题关键字形成一个剪切板共享组。
29.s3:当用户在会话a的上下文执行拷贝操作时,会话a中的剪切板代理程序会将此次拷贝的格式名称的列表进行广播,则当前用户连接的其它云服务器主机上的剪切板代理程序将利用声明的剪切板格式列表去设置各自的系统剪切板,并与会话a中的切板代理程序建立tcp网络连接。
30.s4:当用户在会话b上执行粘贴操作时,会话b中的剪切板代理程序利用事先建立的tcp连接向会话a中的剪切板代理程序发起剪切板数据请求,最后将拿到的剪切板数据放到本台云服务器主机的系统剪切板中,供发起粘贴行为的窗口获取。
31.本发明中,剪切板分组共享技术可以让同一个用户同时连接到多个云端服务器主机上,并发打开使用运行在多个远程主机上的云应用窗口,实现窗口之间的剪切板云端共享,支持包括文字、图像在内的剪切板数据格式全集,从而实现在跨云服务器主机的云应用窗口上进行用户级的剪切板拷贝粘贴操作,整个过程中,无论是发起拷贝行为的会话a中的工作窗口,还是执行粘贴行为的会话b中的工作窗口,都看不到上述流程的存在,以为是在本地电脑内部执行常规的拷贝粘贴操作。由于整个过程中的数据传输都发生在虚拟机之间,跟本地连接的客户端没有任何关系,所以当前用户无论是用哪种远程连接协议登录进来,甚至是web控制台连接,都可以使用共享剪切板功能,而且传输速度不受客户端位置影响,可以充分利用服务端的高速网络,做到高速和保密。
32.windows操作系统底层的剪切板机制采用了延时加载技术,当在某个应用程序窗口中进行拷贝行为时,应用程序可以选择到系统剪切板内存空间中临时登记被剪切下来的数据,并不进行真正的内存数据拷贝行为,直到用户进行实际粘贴行为的时候,操作系统才会通知提供数据的应用程序,让它将数据存放到剪切板空间。利用这个延迟加载的时间空隙,将系统的剪切行为监控并接管,把剪切下来的数据格式广播到用户会话的其它所有云服务器主机上,当用户在其它主机上进行粘贴行为的时候,再将需要传输的数据进行通过位于云端的高带宽的网络通道进行跨云服务器主机拷贝,从而为跨云服务器主机工作的用户提供高性能的云剪切板体验。在打开两个运行在不同云服务器主机上的应用时,能够像日常操作一样,进行高速、安全的数据拷贝粘贴操作。
33.上述用户在多个跨云服务器主机会话的云应用程序间进行拷贝粘过程的关键步骤如下,如图4所示,图4中的数字标号与如下的步骤相对应:
34.1.某用户与云服务器主机建立了会话a,通过消息服务器对外广播本节点的信息,包括主机名,tcp/udp端口号;
35.2.会话b中的剪切板代理程序收到来自会话a的广播,将会话a加入剪切板共享组;
36.3.用户在会话a中进行拷贝操作,会话a中的剪切板代理程序监听到剪切板拷贝动作;
37.4.该剪切板代理程序将拷贝出来的剪切板格式列表通过udp发出声明,送给会话b;
38.5.会话b中的剪切板代理程序将会话a声明的剪切板格式列表设置到系统剪切板,但实际的剪切数据为null;
39.6.用户在会话b中的某个窗口上进行粘贴操作,会话b中的代理进程收到了对应某
个剪切板格式的数据渲染请求;
40.7.会话b中的代理进程通过tcp连接向本次剪切板数据的声明方会话a发起了剪切板真实数据请求;
41.8.会话a中的代理进程调用系统api获取系统剪切板数据,并答复给会话b;
42.9.会话b将收到的某个格式的真实剪切板数据渲染到系统剪切板中,让用户看到了粘贴的结果。
43.上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1