数据共享方法、云终端、云桌面虚拟机及中转代理服务器与流程

文档序号:14254752阅读:494来源:国知局

本发明涉及通信技术领域,具体涉及一种数据共享方法、云终端、云桌面虚拟机及中转代理服务器。



背景技术:

云计算被中国“十二五”规划列为重点扶持的战略新兴产业,云桌面作为云计算产业中落地最早的项目之一,市场规模巨大。近年来,云桌面在国内蓬勃发展,包括众多学校、政府、企业等均陆续采用云桌面技术替代传统pc。云桌面是企业it架构的一次革命,带来移动计算体验的同时,满足了很多特定行业的需要。

对于云桌面,最常用的一个功能就是客户端与云桌面之间的数据共享与传递,即把客户端的数据共享到云桌面内部,或者把云桌面中的目录文件写入到客户端使用。对于用户的数据共享要求,可以有多种解决方案,如ftp(filetransferprotocol,文件传输协议)中转、云盘中转、即时通讯工具传输等,但这些方法都存在局限性,很难与云桌面系统完美集成,并且对用户的it(informationtechnology,互联网技术)技能要求较高,无法在云桌面中进行推广。目录共享是一种常见的共享方式,即用户在云桌面客户端设置了共享,在云桌面内部通过共享进行访问,是一种常规的共享方法,操作简单,符合用户使用习惯。

但是,当客户端与云桌面之间网络通讯受限时,如客户端在局域网内部,自身ip地址是小网地址,云桌面是大网ip,即使客户端发起数据共享,云桌面也无法通过小网ip访问到客户端的共享目录;又如两者之间的共享端口被防火墙做了限制,也无法顺利进行客户端和云桌面之间的数据共享。



技术实现要素:

本发明实施例要解决的主要技术问题是,提供一种数据共享方法、云终端、云桌面虚拟机及中转代理服务器,解决现有技术中由于客户端与云桌面之间网络通讯受限,造成的客户端和云桌面的共享业务受限的问题。

为解决上述技术问题,本发明实施例提供一种云终端,包括远程运行桌面的云桌面客户端模块,,还包括客户端接口模块;客户端接口模块用于在云终端与云桌面虚拟机之间网络互通受限时,建立与中转代理服务器中的终端侧接口模块之间的第一通信链路,并通过第一通信链路进行云桌面客户端模块和云桌面虚拟机中的云桌面代理模块之间的通讯交互。

为解决上述技术问题,本发明实施例还提供一种云桌面虚拟机,包括云桌面代理模块,,还包括:云代理接口模块;云代理接口模块用于在云终端与云桌面虚拟机网络互通受限时,建立与中转代理服务器中的虚机侧接口模块之间的第二通信链路,并通过第二通信链路进行云桌面代理模块和云终端中的云桌面客户端模块之间的通讯交互。

为解决上述技术问题,本发明实施例还提供一种中转代理服务器,包括:终端侧接口模块、虚机侧接口模块、处理模块;终端侧接口模块用于在云终端与云桌面虚拟机之间网络互通受限时,建立与云终端中的客户端接口模块之间的第一通信链路;虚机侧接口模块用于在云终端与云桌面虚拟机之间网络互通受限时,建立与云桌面虚拟机中的云代理接口模块之间的第二通信链路;处理模块用于利用第一通信链路和第二通信链路实现云桌面虚拟机中的云桌面代理模块和云终端中的云桌面客户端模块之间的通讯交互。

为解决上述技术问题,本发明实施例还提供一种数据共享方法,包括:

在云终端与云桌面虚拟机之间网络互通受限时,建立云终端的客户端接口模块与中转代理服务器的第一通信链路;

通过第一通信链路进行云终端的云桌面客户端模块和云桌面虚拟机中的云桌面代理模块之间的通讯交互。

为解决上述技术问题,本发明实施例还提供一种数据共享方法,包括:

在云终端与云桌面虚拟机之间网络互通受限时,建立云桌面虚拟机的云代理接口模块与中转代理服务器的第二通信链路;

通过第二通信链路进行云桌面虚拟机中的云桌面代理模块和云终端的云桌面客户端模块之间的通讯交互。

为解决上述技术问题,本发明实施例还提供一种数据共享方法,包括:

在云终端与云桌面虚拟机之间网络互通受限时,建立终端侧接口模块与云终端中的客户端接口模块之间的第一通信链路,建立虚机侧接口模块与云桌面虚拟机中的云代理接口模块之间的第二通信链路;

利用第一通信链路和第二通信链路实现云桌面虚拟机中的云桌面代理模块和云终端中的云桌面客户端模块之间的通讯交互。

本发明实施例公开了一种数据共享方法、云终端、云桌面虚拟机及中转代理服务器,在云终端与云桌面虚拟机之间网络互通受限时,云桌面虚拟机的终端侧接口模块可以建立与云终端中的客户端接口模块之间的第一通信链路;云桌面虚拟机的虚机侧接口模块可以建立与云桌面虚拟机中的云代理接口模块之间的第二通信链路;云桌面虚拟机的处理模块可以利用第一通信链路和第二通信链路实现云桌面虚拟机中的云桌面代理模块和云终端中的云桌面客户端模块之间的通讯交互,本发明实施例的云终端和云桌面虚拟机不受桌面传输协议限制,摆脱网络环境约束,使用本发明实施例无需新增服务器设备,不改变用户使用习惯,可以高效地完成云桌面的数据共享及迁移功能,使得用户进行数据共享的操作变得简单明了。同时,数据共享所涉及到的操作由系统自动判断完成,减少用户参与,降低对用户it技能的要求,提升用户体验。采用本发明实施例还可以满足用户多种数据共享的要求,用户可以进行整个磁盘或目录或文件的共享,可以控制共享权限,可以随机生成密码等。本发明实施例适用于多种客户端操作系统(如linux或windows)。

附图说明

图1为本发明实施例一提供的一种云桌面数据共享系统的结构图;

图2为本发明实施例二提供的一种数据共享方法的流程图;

图3为本发明实施例三提供的一种数据共享方法的流程图;

图4为本发明实施例四提供的一种数据共享方法的流程图;

图5为本发明实施例五提供的一种数据共享方法的流程图;

图6为本发明实施例五提供的云终端和云桌面虚拟机通过中转代理服务器进行数据共享的流程图。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。

实施例一:

参见图1,本实施例提出一种云桌面数据共享系统,包括云终端11,云桌面虚拟机12以及中转代理服务器13。在传统云桌面数据共享方式中,当用户在云终端上发起数据共享操作时,如果云终端与云桌面虚拟机之间直接互通,则由云桌面虚拟机通过系统api(applicationprogramminginterface,应用程序编程接口)方式向云终端进行建链,两者之间直接架设了数据共享通道,进行数据读取写入操作;如果云终端与云桌面虚拟机之间网络受限,此时云桌面虚拟机无法直接与云终端共享数据,鉴于此,本实施例对云终端和云桌面虚拟机都进行了改造,中转代理服务器13可以在云终端11和云桌面虚拟机12的直接通信受限的情况下,分别建立与云终端11和云桌面虚拟机12的通信链接,通过建立的两条通信链接,在云终端11和云桌面虚拟机12之间将任一方传输的数据转发给另一方,实现了在网络环境受限情况下云终端11和云桌面虚拟机12之间的数据共享,避免网络环境受限带来的数据传输中断等问题。

与传统的云终端11与云桌面虚拟机12直接通信的方式相比,本实施例中的云桌面数据共享系统不受云桌面传输协议的限制,如ica、rdp(remotedisplayprotocol,远程显示协议)、spice等桌面传输协议均可使用,摆脱了网络环境约束,可以高效地完成云桌面的数据共享及迁移功能。

参见图1,云终端11包括远程运行桌面的云桌面客户端模块111,还包括客户端接口模块112;客户端接口模块111用于在云终端与云桌面虚拟机12之间网络互通受限时,建立与中转代理服务器13中的终端侧接口模块之间的第一通信链路,并通过第一通信链路进行云桌面客户端模块111和云桌面虚拟机12中的云桌面代理模块之间的通讯交互。为了便于本实施例的系统的部署,上述的云桌面客户端模块111和客户端接口模块112可以设置为整体。

在本实施例中,云终端11为可以运行云桌面客户端的终端,包括但不限于台式电脑,平板电脑等设备。云终端11上的云桌面客户端模块111上运行着远程桌面,可以理解,该远程桌面与在云桌面虚拟机12上显示的桌面一般是相同的,在这个用户体验之上的时代,为了确保用户在云终端11上操作桌面时,不发生卡顿、时延等现象,需要对云终端11与云桌面虚拟机12的网络传输情况进行检测,以便在云终端11与云桌面虚拟机12之间的网络受限时,进行及时的应对。

一般在云终端11与云桌面虚拟机12开始网络连接时,用户需要通过云桌面客户端模块111提供的客户端登录页面登录云桌面,此时云终端11还用于向云桌面虚拟机21发送登录ip以及客户端ip信息。云桌面虚拟机12还可以用于接收云终端11发送的登录ip以及客户端ip信息,根据登录ip、客户端ip信息以及云桌面虚拟机自身ip信息,综合判断云终端11与云桌面虚拟机12之间的网络情况,例如在云桌面虚拟机多ip情况下云终端11与云桌面虚拟机12是否直通,是否有nat转换,是否有防火墙限制等,根据分析出的情况确定云终端11与云桌面虚拟机12的网络是否受限,本实施例中,云桌面虚拟机12还可以采用其他可行的方式分析网络是否受限,本实施例对此没有限定。

当云终端虚拟机12分析得到自身与云终端11的网络受限时,需要第一时间告知终端11,以便云终端11即使做出调整,使得云终端11与云桌面虚拟机12的通信畅通。所以,本实施例中,云终端虚拟机12还用于在检测到自身与云终端11的网络受限时,向云终端11通知网络受限情况。云终端11根据云终端虚拟机12的通知可以确定网络受限发生。此外,本实施例中,云终端11还可以通过获取网络相关信息自己分析网络受限与否。

在云终端11确定与云桌面虚拟机12的网络受限后,利用中转代理服务器13作为桥梁间接和云桌面虚拟机12进行数据交互。为了建立与中转代理服务器13的通信,还需要先获知中转代理服务器13的网络通讯参数信息,以便确定中转代理服务器13的身份,以及正确建立连接。所以本实施例中,云终端11还用于获取中转代理服务器13的网络通讯参数信息。其中,为了降低云终端11获取中转代理服务器13的网络通讯参数信息的时间,减少建立中转连接的时间,可以预先设置网络受限时,云终端11可以利用的中转代理服务器13,并且将该中转代理服务器13的网络通讯参数信息预先存在云终端客户端模块111中。甚至,还可以以excel表格的形式,将云终端11与中转代理服务器以及中转代理服务器的网络通讯参数信息的对应关系保存在表格中。

云桌面客户端模块111还用于维护中转代理服务器的网络通讯参数信息;客户端接口模块111通过网络通讯参数信息建立第一通信链路。

考虑到实际网络系统中,不止一个中转代理服务器13,为了给云终端11更多的选择,云终端11可以利用的中转代理服务器13的数量可以设置为多个。所以云桌面客户端模块111可以维护多个中转代理服务器的网络通讯参数信息。当网络受限时,云桌面客户端模块111可以从多个中转代理服务器中选择一个建立第一通信链路。考虑到系统中负载平衡,当云桌面客户端模块111在选择中转代理服务器时,可以先询问多个中转代理服务器的链接数量,优先选择链接最少的中转代理服务器。

当然,云桌面客户端模块111还可以在确定云终端与云桌面虚拟机之间网络互通受限时,通过向预先存储有中转代理服务器的网络通讯参数信息的网元设备请求中转代理服务器的网络通讯参数信息的方式,获得中转代理服务器的网络通讯参数信息进行维护。其中,中转代理服务器的网络通讯参数信息包括但不限于中转代理服务器的ip地址。

云终端11建立与中转代理服务器13的终端侧接口模块之间的第一通信链路后,通过第一通信链路进行云桌面客户端模块111和云桌面虚拟机12中的云桌面代理模块之间的通讯交互,还需要云桌面虚拟机12建立与中转代理服务器的通信连接。

本实施例的云桌面虚拟机12,包括云桌面代理模块121和云代理接口模块122;云代理接口模块122用于在云终端11与云桌面虚拟机12网络互通受限时,建立与中转代理服务器13中的虚机侧接口模块之间的第二通信链路,并通过第二通信链路进行云桌面代理模块和云终端中的云桌面客户端模块之间的通讯交互。

本实施例的中转代理服务器13,包括:终端侧接口模块131、虚机侧接口模块132、处理模块133;终端侧接口模块131用于在云终端11与云桌面虚拟机12之间网络互通受限时,建立与云终端11中的客户端接口模块111之间的第一通信链路;虚机侧接口模块132用于在云终端与云桌面虚拟机之间网络互通受限时,建立与云桌面虚拟机12中的云代理接口模块122之间的第二通信链路;处理模块133用于利用第一通信链路和第二通信链路实现云桌面虚拟机12中的云桌面代理模块121和云终端11中的云桌面客户端模块111之间的通讯交互。

通过之前的描述可知本实施例的云桌面虚拟机12可以检测云终端11与云桌面虚拟机12之间网络互通受是否限,具体的,该检测由云桌面虚拟机12的云桌面代理模块121实现,即云桌面代理模块121可以用于检测云终端11与云桌面虚拟机12之间网络互通受是否限,并在检测结果为是时,将网络受限情况告知云终端11。

为了应对网络互通受限问题,云桌面虚拟机12需要利用上述的中转代理服务器13实现与云终端11的间接通信。当云桌面客户端模块111根据自身维护的中转代理服务器的网络通讯参数信息建立上述第一通信链路时,云桌面代理模块121需要建立与相同的中转代理服务器13中的虚机侧接口模块132的第二通信链路。

进一步的,云桌面代理模块121还用于维护中转代理服务器13的网络通讯参数信息;云代理接口模块122通过网络通讯参数信息建立上述第二通信链路。

可以预见,建立第一通信链路与第二通信链路使用的网络通讯参数信息相同。

其中,当云终端与云桌面虚拟机在网络互通受限时,可以使用的中转代理服务器只有一个时,可以预见将中转代理服务器的网络通讯参数信息分别存入云桌面客户端模块111和云桌面代理模块121中,云桌面客户端模块111和云桌面代理模块121只需要在网络受限时分别取出该网络通讯参数信息使用即可。

当可以使用的中转代理服务器有多个时,云桌面客户端模块111用于从可利用的至少一个中转代理服务器中选择一个,从维护的至少一个网络通讯参数信息中提取对应的网络通讯参数信息使用,还可以用于在选择中转代理服务器后,将该中转代理服务器的网络通讯参数信息发送给云桌面代理模块121。云桌面代理模块121接收中转代理服务器的网络通讯参数信息,完成上述的第二通信链路的建立。

在另一实施例中,可以由云桌面代理模块121主动完成中转代理服务器的确定工作。其中,云桌面代理模块121,用于在云终端与云桌面虚拟机之间网络互通受限时,从可利用的至少一个中转代理服务器中选择一个中转代理服务器中选择一个,从维护的至少一个网络通讯参数信息中提取对应的网络通讯参数信息使用,还用于在选择中转代理服务器后,将该中转代理服务器的网络通讯参数信息发送给云桌面客户端模块111。

在上述的第一通信链路和第二通信链路建立成功后,云桌面客户端模块111和云桌面代理模块121之间可以进行通讯交互。考虑到中转代理服务器13上可能连接有多对云终端和云桌面虚拟机,为了使得对应的云桌面虚拟机12和云终端11正确通信。终端侧接口模块131用于接收云桌面客户端模块111通过第一通信链路发送的云终端数据,处理模块133用于对终端侧接口模块131接收的云终端数据进行数据包解析,根据云终端数据中携带的目的端的身份信息(包括但不限于ip地址)确定接收该云终端数据的云桌面虚拟机,虚机侧接口模块132将该云终端数据通过对应的通信链路(上述的第二通信链路)转发给该云桌面虚拟机。相应的,虚机侧接口模块132用于接收通过第二通信链路发送的虚机数据,处理模块133用于对虚机侧接口模块132接收的虚机数据进行数据包解析,根据虚机数据中携带的目的端的身份信息(包括但不限于ip地址)确定接收该虚机数据的云终端,终端侧接口模块131用于将该虚机数据通过对应的通信链路(上述的第一通信链路)转发给云终端的云桌面客户端模块。

在本实施例的系统中,用户是从远程桌面上共享虚拟机的数据,相对于用户直接操作终端的方式,本系统中,涉及到了云终端和云桌面虚拟机之间的数据的传输,为了确保数据共享的安全性,避免非法截取通信链路,造成用户数据泄露,本实施例中,需要保证通信双方的对应关系正确。

其中,本实施例的云桌面客户端模块111还用于维护云桌面虚拟机12的业务鉴权信息,并经由客户端接口模块112利用第一通信链路将业务鉴权信息发送给中转代理服务器。上述的云桌面虚拟机12的业务鉴权信息可以在云桌面虚拟机实现与云终端的共享业务时,便于中转代理服务器确定云桌面虚拟机与云终端的数据共享业务的合法性。该业务鉴权信息可以是云桌面虚拟机的ip地址信息。

对应的,云桌面代理模块121还用于将带有业务信息的鉴权请求经由云代理接口模块122,并利用第二通信链路发送给中转代理服务器23,以及接收中转代理服务器23反馈的鉴权反馈信息。

中转代理服务器13的终端侧接口模块131还用于利用第一通信链路接收云桌面虚拟机12的业务鉴权信息,并将其存储到中转代理服务器的存储模块中,一般在存储时,将业务鉴权信息和发送该信息的云终端的信息对应存储。中转代理服务器13的虚机侧接口模块131还用于接收云桌面虚拟机的云桌面代理模块121通过第二通信链路发送的鉴权请求,以及将处理模块的鉴权反馈信息通过第二通信链路发送到云桌面虚拟机。处理模块133还用于利用业务鉴权信息对云桌面虚拟机发送的带有业务信息的鉴权请求进行鉴权处理,并将鉴权反馈信息通过第二通信链路发送到云桌面虚拟机。

采用本实施例,通过云终端与中转代理服务器的第一通信链路以及云桌面虚拟机与中转代理服务器的第二通信链路,可以在云终端与云桌面虚拟机的互通受限时,实现云终端与云桌面虚拟机的数据共享业务,使得本实施例的云终端摆脱网络环境的制约,高效地满足用户对数据共享的要求,即使在云桌面虚拟机访问云终端网络受限的情况下,本方案也可以实现云终端与云桌面虚拟机的数据共享。此外,本实施例中,数据共享所涉及到的操作由系统自动判断完成,减少用户所需操作,用户的it技能不再是制约云桌面易用性的瓶颈,提升用户体验。

实施例二:

参见图2,本实施例示出一种数据共享方法,该数据共享方法为实施例一的云终端侧的数据共享方法,包括:

s201、在云终端与云桌面虚拟机之间网络互通受限时,建立云终端的客户端接口模块与中转代理服务器的第一通信链路;

s202、通过第一通信链路进行云终端的云桌面客户端模块和云桌面虚拟机中的云桌面代理模块之间的通讯交互。

本实施例的上述步骤可以由实施例一中的云终端实现,该云终端包括客户端接口模块和云桌面客户端模块。该客户端接口模块属于在现有的云终端上增设的模块,可以用来在云终端与云桌面虚拟机之间网络互通受限时,建立与中转代理服务器的第一通信链路。

在本实施例中,当云终端和云桌面虚拟机网络互通正常时,云终端和云桌面虚拟机的属于直接通信。此时,若当前网络为云终端分配的ip地址为a,用户在云终端的云桌面客户端模块上登录云桌面时,云桌面虚拟机上收到的云终端的登录ip为b,若a与b相同,则说明云终端与云桌面虚拟机网络直通,若a与b不同,则云终端与云桌面虚拟机之间的网络互通受限;此外,若云终端的云桌面客户端模块在局域网内部,自身ip是小网地址,对应的云桌面虚拟机使用的是大网ip,即使云终端发起数据共享,云终端的小网ip地址经过至少一个路由器的转换,最终登录云桌面虚拟机的ip地址也变成了大网ip地址,云桌面虚拟机根据登录的大网ip地址以及自身知道的云终端的实际小网ip地址,可以确定与云终端之间的连接经过了nat转换(networkaddresstranslation,网络地址转换),不属于直通,所以云桌面虚拟机也无法通过小网ip访问到云终端的共享目录,甚至,有时路由器会直接将云终端与云桌面虚拟机的连接截断;又如两者之间的共享端口被防火墙做了限制等。这些都是可能导致云终端和云桌面虚拟机网络互通受限的原因。

在本实施例中,判断云终端和云桌面虚拟机网络互通是否受限一般是由云桌面虚拟机实现,云终端虚拟机根据云终端实际的ip信息(云终端所属网络为其分配的ip地址)、云终端的登陆ip(云桌面虚拟机上云终端登录ip)、云桌面虚拟机自身ip等信息,综合判断云终端与云桌面虚拟机之间的网络情况,如云桌面虚拟机的网关多ip情况下是否直通,是否有nat转换,是否有防火墙限制等。

云终端接收云终端虚拟机发送的关于双方网络互通受限的通知后,可以开始建立第一通信链路。可以预见,云终端在建立第一通信链路前,需要确定中转代理服务器的网络通讯参数信息,例如ip地址等等。所以,在s201中,在建立云终端的客户端接口模块与中转代理服务器的第一通信链路前,还包括:利用云桌面客户端模块维护中转代理服务器的网络通讯参数信息;利用客户端接口模块通过中转代理服务器的网络通讯参数信息建立第一通信链路。

对于中转代理服务器的网络通讯参数信息的由来,在本实施例中,可以预先存储在云终端的云桌面客户端模块中,在云终端需要的时候提取使用。

其中,若云终端可使用的中转服务器的数量设置为一个,则云桌面客户端模块维护的中转代理服务器的网络通讯参数信息只有一个,建立第一通信链路时直接根据该中转代理服务器的网络通讯参数信息连接中转代理服务器即可。若云终端可使用的中转服务器的数量设置为多个,则云桌面客户端模块维护的网络参数信息为多个,建立第一通信链路时,需要从多个网络参数信息中选择一个。

进一步的,可以根据多个中转代理服务器上的负载情况决定连接的中转代理服务器,选择负载轻的中转代理服务器连接。

考虑到本实施例中的云终端可以和云桌面虚拟机进行通讯交互,可以预见,云桌面虚拟机和中转代理服务器之间必定也建立了通信链路。为了确保云终端和云桌面虚拟机之间的连接的中转代理服务器相同,云桌面虚拟机建立通信链路时使用的网络通讯参数信息需要与云终端使用的相同,本实施例中,在s201中,在建立云终端的客户端接口模块与中转代理服务器的第一通信链路前,还包括,将待连接的中转代理服务器的网络通讯参数信息发送给云桌面虚拟机。

云终端与中转代理服务器建立第一通信链路后,为了确保云终端的云桌面客户端模块和云桌面虚拟机中的云桌面代理模块之间的通讯交互的安全性,进一步的,在建立第一通信链路后,还包括:利用云桌面客户端模块维护云桌面虚拟机的业务鉴权信息;利用客户端接口模块通过第一通信链路将业务鉴权信息发送给中转代理服务器。

上述的桌面虚拟机的业务鉴权信息包括但不限于云桌面虚拟机的身份识别信息例如ip地址信息等。中专代理服务器可以根据业务鉴权信息对云桌面虚拟机进行鉴权,保证云终端与云桌面虚拟机之间的数据共享业务的安全性。

采用本实施例,云终端可以建立与中转代理服务器的第一通信链路,可以在云终端与云桌面虚拟机的互通受限时,在作为桥梁的代理中转服务器的作用下,与云桌面虚拟机进行数据共享业务,实现云终端与云桌面虚拟机的数据共享业务,本实施例的云终端摆脱网络环境的制约,高效地满足用户对数据共享的要求,即使在云桌面虚拟机访问云终端网络受限的情况下,也可以实现与云桌面虚拟机的数据共享,在云终端上数据共享所涉及到的操作由云终端自动判断完成,减少用户所需操作,用户的it技能不再是制约云桌面易用性的瓶颈,提升用户体验。

实施例三:

参见图3,本实施例示出一种数据共享方法,该数据共享方法为实施例一的云桌面虚拟机侧的数据共享方法,包括:

s301、在云终端与云桌面虚拟机之间网络互通受限时,建立云桌面虚拟机的云代理接口模块与中转代理服务器的第二通信链路;

s302、通过第二通信链路进行云桌面虚拟机中的云桌面代理模块和云终端的云桌面客户端模块之间的通讯交互。

本实施例的上述步骤可以由实施例一中的云桌面虚拟机实现,该云桌面虚拟机包括云代理接口模块和云桌面代理模块。该客云代理接口模块属于在现有的云桌面虚拟机上增设的模块,可以用来在云终端与云桌面虚拟机之间网络互通受限时,建立与中转代理服务器的第二通信链路。

在本实施例中s301前,可以利用云桌面代理模块判断云终端和云桌面虚拟机网络互通是否受限,云桌面代理模块根据云终端实际的ip信息(云终端所属网络为其分配的ip地址)、云终端的登陆ip(云桌面虚拟机上云终端登录ip)、云桌面虚拟机自身ip等信息,综合判断云终端与云桌面虚拟机之间的网络情况,如云桌面虚拟机的网关多ip情况下是否直通,是否有nat转换,是否有防火墙限制等。具体如何判断可以参见实施例二的相关叙述。本实施例对此不再赘述。

云桌面代理模块判断出云终端与云桌面虚拟机之间的网络互通受限后,可以将判断结果发送给云终端。

建立上述的第二通信链路,云桌面虚拟机能确定待连接的中转代理服务器的网络通讯参数信息,所以在本实施例中,建立云桌面虚拟机的云代理接口模块与中转代理服务器的第二通信链路包括:利用云桌面代理模块维护中转代理服务器的网络通讯参数信息;利用云代理接口模块通过网络通讯参数信息建立第二通信链路。

在一实施例中,在云终端与云桌面虚拟机之间的网络互通受限后,可以由云终端确定自身和云桌面虚拟机待连接的中转代理服务器,云终端确定方式参数及实施例二的相关叙述。上述的利用云桌面代理模块维护中转代理服务器的网络通讯参数信息包括:云桌面代理模块接收云终端发送的待连接的中转代理服务器的网络通讯参数信息。

此外,若云终端和云桌面虚拟机可使用的中转代理服务器只设置为一个,可以预先将中转代理服务器的网络通讯参数信息分别存储到云终端的云桌面客户端模块以及云桌面虚拟机的云桌面代理模块中,则利用云桌面代理模块维护中转代理服务器的网络通讯参数信息包括:利用云桌面代理模块保存预先存储在中转代理服务器的网络通讯参数信息。

在另一实施例中,可以利用云桌面虚拟机的云桌面代理模块确定待连接的中转代理服务器的网络通讯参数信息,将确定的结果发送给云终端。其中云桌面代理模块确定中转代理服务器的网络通讯参数信息的方式可以参照云终端确定中转代理服务器的网络通讯参数信息的方式,本实施例中对此不再赘述。由此,可以确保云终端和云桌面虚拟机之间的连接的中转代理服务器相同,云桌面虚拟机建立通信链路时使用的网络通讯参数信息需要与云终端使用的相同。

云桌面虚拟机与中转代理服务器建立第二通信链路后,为了确保云终端的云桌面客户端模块和云桌面虚拟机中的云桌面代理模块之间的通讯交互的安全性,进一步的,在建立第二通信链路后,还包括:利用云桌面代理模块维护云桌面虚拟机的业务鉴权信息;利用云代理接口模块通过第二通信链路将带有业务信息的鉴权请求发送给中转代理服务器;利用云代理接口模块通过第二通信链路接收中转代理服务器反馈的鉴权反馈信息。

其中,上述的业务信息中可以包括云桌面代理服务器自身的ip地址。中专代理服务器可以根据云终端发送的业务鉴权信息以及上述的云代理接口模块发送的业务信息,对云桌面虚拟机进行鉴权,保证云终端与云桌面虚拟机之间的数据共享业务的安全性。

其中,若本实施例中的云桌面虚拟机有多网关,使用多ip地址,为了鉴权的正确,本实施例中,云桌面虚拟机可以在确定了网络互通受限后,将自身与云终端建立连接使用的ip地址发送给云终端,以便云终端将该ip地址作为业务鉴权信息发送给中转代理服务器。

此外,在本实施例中,若采用的是云终端虚拟机的ip地址对有终端虚拟机进行鉴权,本实施例的鉴权过程与第二通信链路的建立过程可以同时实现。此时,云桌面虚拟机的云代理接口模块向中转代理服务器发起第二通信链路的连接时,直接将携带自身ip地址的业务鉴权请求一起发送。中转代理服务器可以根据云终端发送的业务鉴权中云桌面虚拟机的ip地址对云桌面虚拟机进行业务鉴权,鉴权通过,第二通信链路建立,否则,拒绝建立第二通信链路。

采用本实施例,在云终端与云桌面虚拟机的互通受限时,云桌面虚拟机可以建立与中转代理服务器的第二通信链路,在作为桥梁的代理中转服务器的作用下,与云终端进行数据共享业务,实现云终端与云桌面虚拟机的数据共享业务,本实施例的云桌面虚拟机摆脱网络环境的制约,高效地满足用户对数据共享的要求,即使在云桌面虚拟机访问云终端网络受限的情况下,也可以实现与云桌面虚拟机的数据共享,数据共享所涉及到的操作由云终端和云桌面虚拟机自动判断完成,减少用户所需操作,降低了对用户的it技能需求,提升用户体验,有利于云桌面的推广。

实施例四:

参见图4,本实施例示出一种数据共享方法,该数据共享方法为实施例一的云桌面虚拟机侧的数据共享方法,包括:

s401、在云终端与云桌面虚拟机之间网络互通受限时,建立中转代理服务器的终端侧接口模块与云终端中的客户端接口模块之间的第一通信链路,建立中转代理服务器的虚机侧接口模块与云桌面虚拟机中的云代理接口模块之间的第二通信链路;

s402、利用第一通信链路和第二通信链路实现云桌面虚拟机中的云桌面代理模块和云终端中的云桌面客户端模块之间的通讯交互。

其中,建立中转代理服务器的终端侧接口模块与云终端中的客户端接口模块之间的第一通信链路,以及建立中转代理服务器的虚机侧接口模块与云桌面虚拟机中的云代理接口模块之间的第二通信链路,可以参见实施例二和实施例三的相关叙述。在本实施例中,中转代理服务器接受云终端根据自身的网络通讯参数信息发起的通信连接请求,响应请求后与云终端建立第一通信链路。参见实施例一中云终端使用的中转代理服务器的网络通讯参数的确定过程,本实施例对此不再赘述。

在第一通信链路建立后,考虑到中转代理服务器上可能会连接多个云桌面虚拟机,为了使得云终端与对应的云桌面虚拟机可以通过中转代理服务器正确通信,也为了确保与云终端通信的一方的身份合法,本实施例中,中转代理服务器中的终端侧接口模块可以通过第一通信链路接收云桌面虚拟机的业务鉴权信息,并且,利用虚机侧接口模块接收云桌面代理模块通过云代理接口模块利用第二通信链路发送的业务信息的鉴权请求,然后,利用中转代理服务器的处理模块对业务信息的鉴权请求,得到鉴权结果,并且利用虚机侧接口模块通过第二通信链路将鉴权反馈信息发送给云桌面虚拟机,该鉴权反馈信息中包括鉴权结果。

采用本实施例,在云终端与云桌面虚拟机的互通受限时,可以建立云终端与中转代理服务器的第一通信链路,以及建立云桌面虚拟机与中转代理服务器的第二通信链路,本实施例的中转代理服务器通过第一通信链路和第二通信链路可以实现云终端与云桌面虚拟机的数据共享业务,由此,云终端和云桌面虚拟机摆脱网络环境的制约,高效地满足用户对数据共享的要求,即使在云桌面虚拟机访问云终端网络受限的情况下,也可以利用本实施例的中转代理服务器实现云终端与云桌面虚拟机的数据共享,由于数据共享所涉及到的操作由系统自动判断完成,用户的it技能不再是制约云桌面易用性的瓶颈,本实施例对云桌面起到了积极的作用。

实施例五:

参见图5,本实施例示出一种数据共享方法,适用于实施例一的云桌面数据共享系统,可以在云终端与云桌面虚拟机而网络互通受限时,通过云终端与中转代理服务器机那里第一通信链路以及云桌面与中转代理服务器建立第二通信链路,将云终端与云桌面虚拟机的网络直通变为通过第一通信链路、中转代理服务器、第二通信链路间接通信的模式。假设本实施例中的云终端与云桌面虚拟机最初可以正常通信。

本实施例的数据共享方法包括:

s501、用户通过云终端的云桌面客户端登陆云桌面。

其中,在登录云桌面后,云终端与远程的云桌面虚拟机建立了通信连接,云桌面代理进程可以获得云终端登录的登录ip。

s502、云桌面客户端与云桌面代理进程通讯,告知云终端系统ip等信息。云终端系统ip可以理解为云终端所处的网络为其分配的ip地址。

s503、云桌面代理进程根据云终端系统ip信息、云终端的登陆ip、云桌面虚拟机自身ip等信息,综合判断云终端与云桌面虚拟机之间的网络互通是否受限,如是,进入s504,否则,进入s511。

其中,网络受限的情况包括:在虚拟机多ip情况下不能直通,云终端和云桌面虚拟机需要nat转换,以及受到防火墙限制等。

s504、云桌面代理进程向云终端通知两者网络受限情况。

s505、用户在云终端发起数据共享操作,云终端创建待共享的磁盘及目录,创建特定的共享用户名密码,将共享用户名密码、共享路径以及选择的待连接的中转代理服务器的网络通讯参数信息等通知云桌面虚拟机。

s506、云桌面代理进程根据中转代理服务器信息及自身网络路由信息,选择正确的路由ip地址,将与云终端连接使用的ip地址通知云终端。

在云桌面虚拟机的网关为多网关的情况下,s506可以进一步保证云终端与云桌面虚拟机的通信的正确性和安全性。

s507、云终端的云终端客户端进程与中转代理服务器创建第一通信链路,并通知中转代理程序缓存云桌面虚拟机的ip地址等信息,接收中转代理服务器返回的响应。

s508、云桌面虚拟机上的云桌面代理进程根据接收的中转代理服务器的网络通讯参数信息,向中转代理服务器发起四二通信链路的建链请求,并携带自身业务信息如自身的ip地址,以及需要通信的云终端的信息。

s509、中转代理服务器根据云桌面虚拟机发送的云终端的信息,确定该云终端之前发送的ip地址,与云桌面虚拟机自身发送的ip地址是否相同,是,则接受建链,进入s510,否则拒绝建链。

s510、中转代理服务器向云桌面虚拟机返回鉴权通过的消息,建立与云桌面虚拟机的第二通信链路。

至此,云终端与云桌面虚拟机之间通过中转代理服务器达到互通的效果。

s511、用户在云终端发起数据共享操作。

s512、云终端创建待共享的磁盘及目录,创建特定的共享用户名密码,并将这些信息告知云桌面虚拟机的云桌面代理进程。

s513、云桌面代理进程接收上述信息后,调用系统api(applicationprogramminginterface,应用程序编程接口)或者指令完成数据共享操作的业务逻辑处理,完成最终的共享操作。

参见图6,为s510之后,云终端和云桌面虚拟机通过中转代理服务器进行数据共享的流程,包括:

s601、云桌面代理进程向云终端共享写入数据,先经过云桌面代理进程与中转代理服务器的第二通信链路,把数据发送至中转代理服务器。

s602、中转代理服务器进行数据转发,转发至中转代理服务器与云终端的第一通信链路中。

s603、云终端接收数据,将数据写入共享目录中,完成数据写入流程。

s604、云桌面虚拟机从客户端读取数据,数据经过云终端与中转代理服务器的第一通信链路,发送至中转代理服务器。

s605、中转代理服务器进行数据转发,转发至中转代理与云桌面虚拟机的第二通信链路中。

s606、云桌面虚拟机通过第二通信链路接收数据,完成数据读取流程。

采用本实施例的方法,可以在云终端与云桌面虚拟机网络互通受限时,自动解决受限问题,为用户的数据共享提供另一种完成方式,高效地满足用户对数据共享的要求,并且,用户无需进行手动操作完成第一通信链路和第二通信链路的连接,降低对客户it技能的要求,提升用户使用体验。对基于云桌面的推广具有良好的示范意义。

显然,本领域的技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储介质(rom/ram、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1