一种数据共享的方法、系统及服务器端的制作方法

文档序号:9649083阅读:572来源:国知局
一种数据共享的方法、系统及服务器端的制作方法
【技术领域】
[0001]本发明属于网络技术领域,尤其涉及一种数据共享的方法、系统及服务器端。
【背景技术】
[0002]随着网络技术的不断发展,越来越多的个人已经组建了自己的家庭局域网,将家人的照片、视频及重要文件存放其中,可以方便访问。而一旦自己出门在外,想要访问这些资源,该怎么办呢?比较通用的办法是,先将这些资源上传至云服务器,当需要的时候,再从客户端进行访问。这种办法的缺点是:一、对个人而言,免费的云存储空间是有限的;二、云服务器是公用的,不适宜存放私密文件;三、这种方式不能做到实时共享。

【发明内容】

[0003]本发明实施例提供了一种数据共享的方法、系统及服务器端,旨在解决现有技术提供的数据共享的方法,需要将数据上传至云服务器上通过云服务器进行中转,不能实现客户端之间数据的实时共享的问题。
[0004]—方面,提供一种数据共享的方法,所述方法包括:
[0005]服务器端接收第一客户端发送的与第二客户端建立连接的连接请求;
[0006]服务器端根据所述连接请求为第一客户端与第二客户端之间建立一个点对点的通道;
[0007]服务器端接收第一客户端发送的获取共享文件或者共享本地文件的请求,所述共享文件存储在第二客户端中,所述本地文件存储在第一客户端中;
[0008]在服务器端的控制下,第一客户端和第二客户端之间通过所述点对点的通道传输所述共享文件或者所述本地文件。
[0009]进一步地,服务器端配置有信令服务器和防火墙打洞服务器,服务器端通过信令服务器和防火墙打洞服务器为第一客户端和第二客户端之间建立一个点对点的通道。
[0010]进一步地,服务器端配置有web服务器,所述web服务器对客户端的身份进行认证,认证通过后,客户端将文件转换成DataURL,再将其分成多个碎片,并通过RTCDataChannel在第一客户端和第二客户端之间进行传输,所述RTCDataChannel建立在所述点对点的通道上。
[0011]进一步地,服务器端配置有同步服务器,服务器端接收到客户端发送的获取同步文件的请求时,通过同步服务器完成对客户端数据的同步。
[0012]进一步地,服务器端接收到客户端要求更新同步文件的请求时,完成对同步服务器上数据的同步。
[0013]另一方面,提供一种服务器端,所述服务器端包括:
[0014]第一请求接收单元,用于接收第一客户端发送的与第二客户端建立连接的连接请求;
[0015]通道建立单元,用于根据所述连接请求为第一客户端与第二客户端之间建立一个点对点的通道;
[0016]第二请求接收单元,用于接收第一客户端发送的获取共享文件或者共享本地文件的请求,所述共享文件存储在第二客户端中,所述本地文件存储在第一客户端中;
[0017]文件传输控制单元,用于控制通信的发起和结束,第一客户端和第二客户端之间通过所述点对点的通道传输所述共享文件或者所述本地文件。
[0018]进一步地,服务器端配置有信令服务器和防火墙打洞服务器,所述通道建立单元通过信令服务器和防火墙打洞服务器为第一客户端和第二客户端之间建立一个点对点的通道。
[0019]进一步地,服务器端配置有web服务器,通过所述web服务器对客户端的身份进行认证,认证通过后,客户端将文件转换成DataURL,再将其分成多个碎片,并通过RTCDataChannel在第一客户端和第二客户端之间进行传输,所述RTCDataChannel建立在所述点对点的通道上。
[0020]进一步地,服务器端配置有同步服务器,服务器端还包括:
[0021]客户端同步单元,用于接收到客户端发送的获取同步文件的请求时,通过同步服务器完成对客户端数据的同步。
[0022]进一步地,服务器端还包括:
[0023]服务器同步单元,用于接收到客户端要求更新同步文件的请求时,完成对同步服务器上数据的同步。
[0024]又一方面,提供一种数据共享的系统,所述系统包括至少两个客户端,所述系统还包括如上所述的服务器端。
[0025]在本发明实施例,第一客户端与第二客户端之间建立点对点的通道后,第一客户端与第二客户端之间可以通过所述点对点的通道传输共享文件或者本地文件至对方,使得客户端之间需要共享数据时,不再需要将数据上传至云服务器上通过云服务器进行中转,可以实现客户端之间数据的实时共享。
【附图说明】
[0026]图1是本发明实施例一提供的数据共享的方法的实现流程图;
[0027]图2是本发明实施例一提供的数据共享的方法中,两个客户端之间建立点对点的通道的示意图;
[0028]图3是本发明实施例一提供的数据共享的方法中,两个客户端之间使用ICE框架进行NAT穿越的示意图;
[0029]图4是本发明实施例一提供的数据共享的方法中,两个客户端之间进行数据传输的不意图;
[0030]图5是本发明实施例一提供的数据共享的方法中,同步服务器对客户端数据进行同步的时序图;
[0031]图6是本发明实施例一提供的数据共享的方法中,客户端对同步服务器进行数据更新同步的时序图;
[0032]图7是本发明实施例二提供的服务器端的结构框图;
[0033]图8是本发明实施例三提供的数据共享的系统的整体架构示意图。
【具体实施方式】
[0034]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0035]在本发明实施例中,服务器端接收到第一客户端发送的与第二客户端建立连接的连接请求后,根据所述连接请求为第一客户端与第二客户端之间建立一个点对点的通道,在接收第一客户端发送的获取共享文件或者共享本地文件的请求后,在服务器端的控制下,第一客户端和第二客户端之间通过所述点对点的通道传输所述共享文件或者所述本地文件。
[0036]以下结合具体实施例对本发明的实现进行详细描述:
[0037]实施例一
[0038]图1示出了本发明实施例一提供的数据共享的方法的实现流程,,详述如下:
[0039]在步骤S101中,服务器端接收第一客户端发送的与第二客户端建立连接的连接请求。
[0040]在本发明实施例中,服务器端可以部署在一台电脑PC上。服务器端安装并配置有Web服务器,通过所述web服务器对客户端的身份进行认证。服务器端还可以配置同步服务器、信令服务器和防火墙打洞服务器。安装并配置好各个服务器后,可以打开相应的服务,再通过浏览器登陆Web服务器的网络地址,输入用户名和密码之后,进入管理界面,管理界面上将显示各个服务器可以提供的所有服务的服务状态、网络中的所有的客户端、共享文件和同步文件。服务器端可以接收客户端发送的登录请求,当接收到客户端发送的登录请求时,服务器端验证客户端的身份,身份验证通过后,才能接收客户端发送的连接请求。
[0041]为了描述简单,将发送连接请求的客户端称为第一客户端,将第一客户端请求与之建立连接的客户端称为第二客户端。
[0042]客户端安装有跨平台的客户端软件,具体的,客户端可以是手机、平板电脑和PC等多种计算机设备。
[0043]用户打开客户端软件后,输入Web服务器的网络地址,用户名和密码之后,进入应用界面,应用界面中可以显示网络中所有的客户端、共享文件和同步文件。
[0044]当第一客户端需要与第二客户端建立点对点的连接时,可以选择要连接的第二客户端,发送一个与第二客户端建立连接的连接请求至服务器端。
[0045]在步骤S102中,服务器端根据所述连接请求建立第一客户端与第二客户端之间的点对点的通道。
[0046]在本发明实施例中,服务器端接收到第一客户端发送的与第二客户端建立连接的连接请求后,根据该连接请求在第一客户端与第二客户端之间建立一个点对点的通道。
[0047]具体的,服务器端配置有信令服务器,服务器端接收到第一客户端发送的连接请求后,可以通过信令服务器在客户端之间传递信令,从而为两个客户端之间建立点对点的通道,信令中包含的信息有cess1n信息、网络配置信息及媒体适配信息。其中,两个客户端之间建立点对点的通道的过程示意图如图2所示,其中,信令服务器和客户端之间传递的信令是offer信令和answer信令,建立通道的过程,在此不再赘述。
[0048]优选地,在连接互联网时,由于用户大多都处于防火墙后面或者配置私有子网的家庭路由器后面,这时建立点对点的通道时,就需要使用网络地址转换(Network AddressTranslat1n,NAT)穿越技术。服务器端配置有防火墙打洞服务器,可以通过防火墙打洞服务器建立客户端之间的点对点的通道。WebRTC使用RTCPeerConnect1n在浏览器之间传递流数据,在RTCPeerConnect1n中,使用ICE框架来保证RTCPeerConnect1n能够实现NAT穿越。两个客户端之间使用ICE框架进行NAT穿越的示意图如图3所示,进行NAT穿越的过程,在此不再赘述。
[0049]在步骤S103中,服务器端接收第一客户端发送的获取共享文件或者共享本地文件的请求,所述共享文件存储在第二客户端中,所述本地文件存储在第一客户端中。
[0050]在本发明实施例中,第一客户端用户选择要连接的第二客户端,与第二客户端建立点对点的通道后,还可以选择从第二客户端获取某个共享文件,比如,存储在第二客户端中的某个音乐文件。
[0051]另外,第一客户端用户选择要连接的第二客户端,与第二客户端建立点对点的通道后,还可以获取某个本地文件,比如,存储在第一客户端中的某个音乐文件,传输所述音乐文件至第二客户端。
[0052]在步骤S104中,在服务器端的控制下,第一客户端和第二客户端之间通过所述点对点的通道传输所述共享文件或者所述本地文件。
[0053]在本发明实施例中,接收到第一客户端用户选定的共享文件或者第一客户端用户选定的本地文件后
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1