著录项信息
专利名称 | 数据同步方法及数据同步装置 |
申请号 | CN201310012928.7 | 申请日期 | 2013-01-14 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-07-16 | 公开/公告号 | CN103929450A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 联想(北京)有限公司 | 申请人地址 | 北京市海淀区上地西路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 联想(北京)有限公司 | 当前权利人 | 联想(北京)有限公司 |
发明人 | 邓宁 |
代理机构 | 北京市柳沈律师事务所 | 代理人 | 安之斐;王娟 |
摘要
提供了一种用于终端设备和同步服务器的数据同步方法及数据同步装置。用于同步服务器的数据同步方法包括:保持所述同步服务器与至少一个云端服务器之间的TCP/IP长连接;利用所述TCP/IP长连接,保持所述同步服务器与所述至少一个云端服务器之间的数据同步;从终端设备接收同步请求;在所述终端设备和所述同步服务器之间进行数据同步。用于终端设备的数据同步方法包括:通过在所述终端设备上部署的第一文件系统接口向同步服务器发送数据同步请求,所述数据同步请求用于指示进行所述终端设备与同步服务器的数据同步,所述同步服务器与至少一个云端服务器之间保持TCP/IP长连接;通过所述第一文件系统接口在所述终端设备和所述同步服务器之间进行数据同步。
1.一种数据同步方法,应用于同步服务器中,所述方法包括:
保持所述同步服务器与至少一个云端服务器之间的TCP/IP长连接;
利用所述TCP/IP长连接,保持所述同步服务器与所述至少一个云端服务器之间的数据同步;
从终端设备接收同步请求;
在所述终端设备和所述同步服务器之间进行数据同步;
其中所述保持所述同步服务器与至少一个云端服务器之间的TCP/IP长连接包括:在所述同步服务器上,利用用户帐号登录到所述至少一个云端服务器,其中,每个云端服务器具有相应的用户帐号;针对每个云端服务器,基于相应的用户帐号,建立该云端服务器与所述同步服务器之间的TCP/IP长连接。
2.如权利要求1所述的数据同步方法,其特征在于,所述从终端设备接收同步请求包括:
通过在所述同步服务器上部署的第一文件系统接口从所述终端设备接收所述同步请求,所述同步请求指示了对所述至少一个云端服务器的数据同步请求;以及解析所述同步请求,在所述同步服务器中标识最近从所述至少一个云端服务器同步的数据。
3.如权利要求2所述的数据同步方法,其特征在于,所述在所述终端设备和所述同步服务器之间进行数据同步包括:
通过所述第一文件系统接口将所述终端设备的数据同步到所述同步服务器中最近从所述至少一个云端服务器同步的数据;或者
通过所述第一文件系统接口从所述终端设备接收要上传到所述至少一个云端服务器中的至少一部分的数据。
4.如权利要求2所述的数据同步方法,其特征在于,
所述第一文件系统接口是支持HTTP协议的接口。
5.一种数据同步方法,应用于终端设备,所述方法包括:
通过在所述终端设备上部署的第一文件系统接口向同步服务器发送数据同步请求,所述数据同步请求用于指示进行所述终端设备与同步服务器的数据同步,其中,所述同步服务器与至少一个云端服务器之间保持TCP/IP长连接;
通过所述第一文件系统接口在所述终端设备和所述同步服务器之间进行数据同步;
其中所述同步服务器与至少一个云端服务器之间保持TCP/IP长连接包括:在所述同步服务器上,利用用户帐号登录到所述至少一个云端服务器,其中,每个云端服务器具有相应的用户帐号;针对每个云端服务器,基于相应的用户帐号,建立该云端服务器与所述同步服务器之间的TCP/IP长连接。
6.如权利要求5所述的数据同步方法,其特征在于,所述通过所述第一文件系统接口在所述终端设备和所述同步服务器之间进行数据同步包括:
所述终端设备通过所述第一文件系统接口从所述同步服务器接收最近从所述至少一个云端服务器同步的数据;或者
所述终端设备通过所述第一文件系统接口向所述同步服务器发送要上传到所述至少一个云端服务器中的至少一部分的数据。
7.如权利要求5所述的数据同步方法,其特征在于,
所述第一文件系统接口是支持HTTP协议的接口。
8.一种数据同步装置,应用于同步服务器中,所述装置包括:
TCP/IP连接部件,用于保持所述同步服务器与至少一个云端服务器之间的TCP/IP长连接;
第一数据同步部件,用于利用所述TCP/IP长连接保持所述同步服务器与所述至少一个云端服务器之间的数据同步;
请求接收部件,用于从终端设备接收同步请求;
第二数据同步部件,用于在所述终端设备和所述同步服务器之间进行数据同步;
其中所述TCP/IP连接部件,利用用户帐号登录到所述至少一个云端服务器,其中,每个云端服务器具有相应的用户帐号;
针对每个云端服务器,所述TCP/IP连接部件基于相应的用户帐号建立与所述云端服务器之间的TCP/IP长连接。
9.如权利要求8所述的数据同步装置,其特征在于,所述同步请求指示对所述至少一个云端服务器的数据同步请求,
所述请求接收部件支持第一文件系统接口,解析所述同步请求,并标识最近从所述至少一个云端服务器同步的数据。
10.如权利要求9所述的数据同步装置,其特征在于,所述第二数据同步部件支持所述第一文件系统接口,并将所述终端设备的数据同步到所述同步服务器中最近从所述至少一个云端服务器同步的数据;或者从所述终端设备接收要上传到所述至少一个云端服务器中的至少一部分的数据。
11.如权利要求9所述的数据同步装置,其特征在于,
所述第一文件系统接口是支持HTTP协议的接口。
12.如权利要求8所述的数据同步装置,其特征在于,所述装置还包括:无线通信部件,用于依据无线通信协议与所述终端设备建立无线连接。
13.一种数据同步装置,应用于终端设备,所述装置包括:
同步请求发送部件,支持第一文件系统接口,且通过该第一文件系统接口向同步服务器发送数据同步请求,所述数据同步请求用于指示进行所述终端设备与同步服务器的数据同步,其中,所述同步服务器与至少一个云端服务器之间保持TCP/IP长连接;
数据同步部件,支持该第一文件系统接口,并且通过该第一文件系统接口在所述终端设备和所述同步服务器之间进行数据同步;
其中所述同步服务器与至少一个云端服务器之间保持TCP/IP长连接包括:在所述同步服务器上,利用用户帐号登录到所述至少一个云端服务器,其中,每个云端服务器具有相应的用户帐号;针对每个云端服务器,基于相应的用户帐号,建立该云端服务器与所述同步服务器之间的TCP/IP长连接。
14.如权利要求13所述的数据同步装置,其特征在于,所述装置还包括:
无线通信部件,用于依据无线通信协议与所述同步服务器建立无线连接。
15.如权利要求13所述的数据同步装置,其特征在于,
所述第一文件系统接口是支持HTTP协议的接口。
数据同步方法及数据同步装置\n技术领域\n[0001] 本发明涉及终端设备与云端服务器之间的数据同步,并且更具体地涉及一种用于终端设备的数据同步方法及数据同步装置、以及一种用于同步服务器的数据同步方法及数据同步装置。\n背景技术\n[0002] 尽管终端设备性能已经大幅提升,然而其依然受制于终端设备本身有限的存储空间和计算能力,无法将所有的数据和计算都部署在终端设备端。越来越多的终端设备性能依靠自身的无线互联模块(如2G/3G、WiFi等)与云端服务器进行交互,以便实现存储空间和计算资源的扩展,而这也被视为是终端设备拓展性能、降低系统功耗的有效途径。\n[0003] 另一方面,终端设备的电池使用时长是影响用户体验的重要因素,受制于目前终端设备端与云端服务器的同步方式,即:目前通过在终端设备端维护TCP/IP长连接的方式,来进行终端设备端与云端服务器之间的数据同步,这将带来很多无谓的能量开销,严重降低终端设备的电池使用时长。\n[0004] 因此,需要一种在终端设备端与云端服务器之间进行数据同步的方法及设备,其一般仅在同步服务器端维护TCP/IP长连接,只有当终端设备需要进行数据同步时才启动终端设备端与同步服务器端之间的数据同步。\n发明内容\n[0005] 考虑到上述问题而提出了本发明。本发明提供了一种数据同步方法及数据同步装置,其通过同步服务器维护与至少一个云端服务器之间的TCP/IP长连接,来保持所述同步服务器与所述至少一个云端服务器之间的数据同步,仅在终端设备需要进行数据同步时,才建立终端设备与同步服务器之间的数据同步。由此,在无需在所述终端设备上利用用户帐号登录到所述至少一个云端服务器的情况下,通过利用统一的应用程序接口建立所述终端设备与所述同步服务器之间的数据同步,所述同步服务器已经利用用户帐号登录到所述至少一个云端服务器并维护与至少一个云端服务器之间的TCP/IP长连接。\n[0006] 根据本发明一方面,提供了一种数据同步方法,应用于同步服务器中,所述方法包括:保持所述同步服务器与至少一个云端服务器之间的TCP/IP长连接;利用所述TCP/IP长连接,保持所述同步服务器与所述至少一个云端服务器之间的数据同步;从终端设备接收同步请求;在所述终端设备和所述同步服务器之间进行数据同步,实现所述终端设备与所述至少一个云端服务器之间的数据同步。\n[0007] 优选地,在所述数据同步方法中,所述从终端设备接收同步请求包括:通过在所述同步服务器上部署的第一文件系统接口从所述终端设备接收所述同步请求,所述同步请求指示了对所述至少一个云端服务器的数据同步请求;以及解析所述同步请求,在所述同步服务器中标识最近从所述至少一个云端服务器同步的数据。\n[0008] 优选地,在所述数据同步方法中,所述在所述终端设备和所述同步服务器之间进行数据同步包括:通过所述第一文件系统接口将所述终端设备的数据同步到所述同步服务器中最近从所述至少一个云端服务器同步的数据;或者通过所述第一文件系统接口从所述终端设备接收要上传到所述至少一个云端服务器中的至少一部分的数据。\n[0009] 优选地,在所述数据同步方法中,所述保持所述同步服务器与至少一个云端服务器之间的TCP/IP长连接包括:在所述同步服务器上,利用用户帐号登录到所述至少一个云端服务器,其中,每个云端服务器具有相应的用户帐号;针对每个云端服务器,基于相应的用户帐号,建立该云端服务器与所述同步服务器之间的TCP/IP长连接。\n[0010] 根据本发明另一方面,提供了一种数据同步方法,应用于终端设备,所述方法包括:通过在所述终端设备上部署的第一文件系统接口向同步服务器发送数据同步请求,所述数据同步请求用于指示进行所述终端设备与同步服务器的数据同步,其中,所述同步服务器与至少一个云端服务器之间保持TCP/IP长连接;通过所述第一文件系统接口在所述终端设备和所述同步服务器之间进行数据同步。\n[0011] 优选地,在所述数据同步方法中,所述通过所述第一文件系统接口在所述终端设备和所述同步服务器之间进行数据同步包括:所述终端设备通过所述第一文件系统接口从所述同步服务器接收最近从所述至少一个云端服务器同步的数据;或者所述终端设备通过所述第一文件系统接口向所述同步服务器发送要上传到所述至少一个云端服务器中的至少一部分的数据。\n[0012] 根据本发明又一方面,提供了一种数据同步装置,应用于同步服务器中,所述装置包括:TCP/IP连接部件,用于保持所述同步服务器与至少一个云端服务器之间的TCP/IP长连接;第一数据同步部件,用于利用所述TCP/IP长连接保持所述同步服务器与所述至少一个云端服务器之间的数据同步;请求接收部件,用于从终端设备接收同步请求;第二数据同步部件,用于在所述终端设备和所述同步服务器之间进行数据同步。\n[0013] 优选地,在所述数据同步装置中,所述同步请求指示对所述至少一个云端服务器的数据同步请求,所述请求接收部件支持第一文件系统接口,解析所述同步请求,并标识最近从所述至少一个云端服务器同步的数据。\n[0014] 优选地,在所述数据同步装置中,所述第二数据同步部件支持所述第一文件系统接口,并将所述终端设备的数据同步到所述同步服务器中最近从所述至少一个云端服务器同步的数据;或者从所述终端设备接收要上传到所述至少一个云端服务器中的至少一部分的数据。\n[0015] 优选地,在所述数据同步装置中,所述TCP/IP连接部件利用用户帐号登录到所述至少一个云端服务器,其中,每个云端服务器具有相应的用户帐号;针对每个云端服务器,所述TCP/IP连接部件基于相应的用户帐号建立与所述云端服务器之间的TCP/IP长连接。\n[0016] 优选地,所述数据同步装置还包括:无线通信部件,用于依据无线通信协议与所述终端设备建立无线连接。\n[0017] 根据本发明再一方面,提供了一种数据同步装置,应用于终端设备,所述装置包括:同步请求发送部件,支持第一文件系统接口,且通过该第一文件系统接口向同步服务器发送数据同步请求,所述数据同步请求用于指示进行所述终端设备与同步服务器的数据同步,其中,所述同步服务器与至少一个云端服务器之间保持TCP/IP长连接;数据同步部件,支持该第一文件系统接口,并且通过该第一文件系统接口在所述终端设备和所述同步服务器之间进行数据同步。\n[0018] 优选地,所述数据同步装置还包括:无线通信部件,用于依据无线通信协议与所述同步服务器建立无线连接。\n[0019] 根据本发明实施例的数据同步方法及数据同步装置,其通过同步服务器维护与至少一个云端服务器之间的TCP/IP长连接,来保持所述同步服务器与所述至少一个云端服务器之间的数据同步,仅在终端设备需要进行数据同步时,才建立终端设备与同步服务器之间的数据同步。\n附图说明\n[0020] 通过结合附图对本发明的实施例进行详细描述,本发明的上述和其它目的、特征、优点将会变得更加清楚,其中:\n[0021] 图1是示出现有通信方式中终端设备直接与云端服务器进行数据同步的示意图;\n[0022] 图2是示出根据本发明实施例的通过同步服务器与云端服务器进行数据同步的示意图;\n[0023] 图3是示出根据本发明实施例的用于同步服务器的数据同步方法的示意性流程图;\n[0024] 图4是示出根据本发明实施例的在同步服务器中执行的数据分配的示意图;\n[0025] 图5是示出根据本发明实施例的用于终端设备的数据同步方法的示意性流程图;\n[0026] 图6是示出根据本发明实施例的用于同步服务器的数据同步装置的示意性框图;\n以及\n[0027] 图7是示出根据本发明实施例的用于终端设备的数据同步装置的示意性框图。\n具体实施方式\n[0028] 如图1所示,在现有的通信方式中,终端设备经常同时接受多个云存储服务提供商所提供的服务,终端设备需保持与至少一个云端服务器之间的TCP/IP长连接,以进行终端设备与至少一个云端服务器之间的数据同步,这将降低终端设备的电池使用时长。\n[0029] 考虑到上述问题,本发明人提出了一种新型的同步方案,在终端设备和所述至少一个云端服务器之间布置同步服务器,将终端设备与所述至少一个云端服务器之间的数据同步划分为两个阶段:终端设备与同步服务器之间的数据同步、以及同步服务器与至少一个云端服务器之间的数据同步。该同步服务器保持与至少一个云端服务器之间的TCP/IP长连接,以便实时地与所述至少一个云端服务器进行数据同步。该终端设备仅在需要同步时才连接到该同步服务器以在该终端设备和该同步服务器之间进行同步。\n[0030] 如图2所示,示出了本发明提出的新型的同步方案,在同步服务器与至少一个云端服务器之间保持TCP/IP长连接,在终端设备与所述至少一个云端服务器之间不再保持TCP/IP长连接,该终端设备仅在需要同步时才连接到该同步服务器。\n[0031] 接下来,将参考图3-图7来描述根据本发明示例实施例的数据同步方法及数据同步装置。\n[0032] 图3是示出根据本发明实施例的用于同步服务器的数据同步方法300的示意性流程图。\n[0033] 如图3所示,根据本发明实施例的用于同步服务器的数据同步方法300在步骤S301开始。\n[0034] 在步骤S310中,同步服务器保持与至少一个云端服务器之间的TCP/IP长连接。\n[0035] 在步骤S320,利用所述TCP/IP长连接,保持所述同步服务器与所述至少一个云端服务器之间的数据同步。\n[0036] 在步骤S330,同步服务器从终端设备接收同步请求。\n[0037] 作为示例,所述同步服务器从终端设备接收同步请求可以通过以下来实现:通过在所述同步服务器上部署的第一文件系统接口从所述终端设备接收所述同步请求,所述同步请求指示了对所述至少一个云端服务器的数据同步请求;以及解析所述同步请求,在所述同步服务器中标识最近从所述至少一个云端服务器同步的数据。\n[0038] 在步骤S340,在终端设备和同步服务器之间进行数据同步,实现所述终端设备与所述至少一个云端服务器之间的数据同步。\n[0039] 最后,根据本发明实施例的用于同步服务器的数据同步方法300在步骤S399结束。\n[0040] 数据同步通常可以分为下载数据同步和上传数据同步。根据本发明实施例的用于同步服务器的数据同步方法300,既可以用于下载数据同步,也可以用于上传数据同步。\n[0041] 下面将针对下载数据同步和上传数据同步分别进行介绍。\n[0042] 在下载数据同步的情况下,在如上所述地执行了步骤S310-S330之后,具体地在步骤S340中,所述同步服务器可以确定需要向所述终端设备同步的数据,并且然后通过所述第一文件系统接口将所述终端设备的数据同步到所述同步服务器中最近从所述至少一个云端服务器同步的数据。\n[0043] 优选地,所述数据可以为文件,所述文件可以是各种格式的。\n[0044] 作为第一示例,所述同步服务器可以保存所述终端设备最后一次从所述同步服务器同步(下载)文件的所有文件数据(下面称为第一文件数据),而且在所述同步服务器与所述至少一个云端服务器同步之后,所述同步服务器中可以保存所述至少一个云端服务器中存储的与所述终端设备的用户相关联的所有文件数据(下面称为第二文件数据)。\n[0045] 在所述同步服务器从所述终端设备接收到同步请求之后,所述同步服务器将所述第一文件数据与所述第二文件数据进行比较,在所述第一文件数据与所述第二文件数据不同时,所述同步服务器可以将所述第二文件数据发送给所述终端设备,或者所述同步服务器可以计算所述第二文件数据与所述第一文件数据的差分数据,并将所述第二文件数据与所述第一文件数据的差分数据发送给所述终端设备,从而实现所述终端设备的下载数据同步。\n[0046] 可替换地,所述同步服务器可以保存所述终端设备最后一次从所述同步服务器同步(下载)文件的所有文件数据(下面称为第一文件数据)的哈希值。在所述同步服务器从所述终端设备接收到同步请求之后,所述同步服务器将所述第一文件数据的哈希值与所述第二文件数据的哈希值进行比较,在所述第一文件数据的哈希值与所述第二文件数据的哈希值不同时,所述同步服务器可以将所述第二文件数据发送给所述终端设备,或者所述同步服务器可以计算所述第二文件数据与所述第一文件数据的差分数据,并将所述第二文件数据与所述第一文件数据的差分数据发送给所述终端设备,从而实现所述终端设备的下载数据同步。\n[0047] 作为第二示例,所述同步服务器可以保存所述终端设备最后一次从所述同步服务器同步(下载)文件的所有文件数据(下面称为第一文件数据)的哈希值,而且在所述同步服务器与所述至少一个云端服务器同步之后,所述同步服务器中可以保存所述至少一个云端服务器中存储的与所述终端设备的用户相关联的所有文件数据(下面称为第二文件数据)的哈希值,而无需直接保存所述第二文件数据。\n[0048] 在所述同步服务器从所述终端设备接收到同步请求之后,所述同步服务器将所述第一文件数据的哈希值与所述第二文件数据的哈希值进行比较,在所述第一文件数据的哈希值与所述第二文件数据的哈希值不同时,所述同步服务器可以从所述至少一个云端服务器中的对应云端服务器下载所述第二文件数据,然后再将所下载的第二文件数据发送给所述终端设备。\n[0049] 可替换地,在所述同步服务器从所述终端设备接收到同步请求之后,所述同步服务器可以将所述第一文件数据的哈希值发送给所述至少一个云端服务器中的对应云端服务器,由所述对应云端服务器计算所述第二文件数据与所述第一文件数据的差分数据,而所述同步服务器仅从所述对应云端服务器接收所述第二文件数据与所述第一文件数据的差分数据,然后所述同步服务器可以将所述差分数据发送给所述终端设备,从而实现所述终端设备的下载数据同步。\n[0050] 尽管上面描述了所述同步服务器可以保存所述终端设备中的文件的哈希值、或者可以保存所述终端设备从所述同步服务器同步(下载)文件的历史数据,然而本发明不限于此,所述同步服务器可以以适当方式获知所述终端设备中的当前文件数据。换句话说,所述同步服务器可以知道所述终端设备中的文件的版本、大小等等。\n[0051] 在上传数据同步的情况下,在如上所述地执行了步骤S310-S330之后,具体地在步骤S340中,所述同步服务器可以确定需要向所述至少一个云端服务器同步的数据,并且然后通过所述第一文件系统接口从所述终端设备接收要上传到所述至少一个云端服务器中的至少一部分云端服务器的数据。\n[0052] 优选地,所述数据可以为文件,所述文件可以是各种格式的。\n[0053] 作为示例,在所述同步请求中包括了所述终端设备请求上传的所有文件数据(下面称为第三文件数据),所述同步服务器可以保存所述第三文件数据,而且在所述同步服务器与所述至少一个云端服务器同步之后,所述同步服务器中可以保存所述至少一个云端服务器中存储的与所述终端设备的用户相关联的所有文件数据(下面称为第四文件数据)。\n[0054] 然后,所述同步服务器将所述第三文件数据与所述第四文件数据进行比较,在所述第三文件数据与所述第四文件数据不同时,所述同步服务器可以将所述第三文件数据发送给所述至少一个云端服务器中的相应云端服务器,或者所述同步服务器可以计算所述第三文件数据与所述第四文件数据的差分数据,并将所述第三文件数据与所述第四文件数据的差分数据发送给所述相应云端服务器,从而实现所述终端设备的上传数据同步。\n[0055] 可替换地,在所述同步请求中包括了所述终端设备请求上传的所有文件数据(下面称为第三文件数据)的哈希值,所述同步服务器可以保存所述第三文件数据的哈希值,而且在所述同步服务器与所述至少一个云端服务器同步之后,所述同步服务器中可以保存所述至少一个云端服务器中存储的与所述终端设备的用户相关联的所有文件数据(下面称为第四文件数据)的哈希值。所述同步服务器将所述第三文件数据的哈希值与所述第四文件数据的哈希值进行比较,在所述第三文件数据的哈希值与所述第四文件数据的哈希值不同时,所述同步服务器可以从所述终端设备接收所述第三文件数据,并将所述第三文件数据上传到所述至少一个云端服务器中的相应云端服务器,或者可以基于所述第三数据文件、所述第三数据文件的哈希值、所述第四数据文件的哈希值来计算所述第三数据文件与所述第四数据文件的差分数据,并且将所述差分数据上传到所述至少一个云端服务器中的相应云端服务器。\n[0056] 可替换地,在所述同步服务器确定所述第三文件数据的哈希值与所述第四文件数据的哈希值不同时,所述同步服务器将所述第四文件数据的哈希值发送给所述终端文件,然后所述终端装置可以基于所述第三数据文件、所述第三数据文件的哈希值、所述第四数据文件的哈希值来计算所述第三数据文件与所述第四数据文件的差分数据并且将所述差分数据发送到所述同步服务器,然后所述同步服务器再将所述差分数据上传到至少一个云端服务器中的相应云端服务器。\n[0057] 优选地,所述第一文件系统接口是支持HTTP协议的接口。\n[0058] 如上所述,在一个用户同时使用了至少一个云端服务器的情况下,所述同步服务器需要保持与所述至少一个云端服务器之间的TCP/IP长连接。每个云端服务器具有其各自专属的登录验证机制,因此,所述用户需要使用每个云端服务器专属的用户帐号登录到相应的云端服务器。每个云端服务器的相应的用户帐号可以被用户设置为相同的账户名称,当然通常可以是不同的账户名称。\n[0059] 在所述同步服务器仅仅针对一个用户(其可以具有多个终端设备,例如至少一部智能手机、至少一个个人数字助理PDA、至少一个平板电脑等等)的情况下,所述同步服务器需要利用每个云端服务器的相应用户帐号登录到相应云端服务器,并且基于相应用户帐号维持与相应云端服务器之间的TCP/IP长连接。\n[0060] 属于该用户的多个终端设备可以以无线方式连接到所述同步服务器,并且通过所述同步服务器完成数据同步,而无需再依次登录到各个云端服务器来进行数据同步。由此,在终端设备端只需统一的单个应用程序接口,通过该单个应用程序接口与所述同步服务器之间完成数据同步,而且所述终端设备端可以通过该单个应用程序接口指定特定文件与相应云端服务器的对应关系,例如特定文件要被上传到哪个云端服务器。在所述同步服务器中进行云端差异性匹配,根据从终端设备接收的同步请求,向相应的云端服务器上传数据或者从相应的云端服务器下载数据。如图4所示,示出了三个示例的云端服务器:Cloud1、Cloud2以及Cloud3。\n[0061] 如图6所示,示出了根据本发明实施例的用于同步服务器的数据同步装置600的示意性框图。\n[0062] 根据本发明实施例的用于同步服务器的数据同步装置600包括TCP/IP连接部件\n610、第一数据同步部件620、请求接收部件630以及第二数据同步部件640。\n[0063] 所述TCP/IP连接部件610保持所述同步服务器与至少一个云端服务器之间的TCP/IP长连接。\n[0064] 所述第一数据同步部件620利用所述TCP/IP长连接保持所述同步服务器与所述至少一个云端服务器之间的数据同步。\n[0065] 所述请求接收部件630从终端设备接收同步请求;所述同步请求指示对所述至少一个云端服务器的数据同步请求;所述请求接收部件支持第一文件系统接口,解析所述同步请求,并标识最近从所述至少一个云端服务器同步的数据。\n[0066] 所述第二数据同步部件640在所述终端设备和所述同步服务器之间进行数据同步;所述第二数据同步部件640支持所述第一文件系统接口。\n[0067] 如前所述,在下载数据同步的情况下,所述第二数据同步部件640可以确定需要向所述终端设备同步的数据,并且然后通过所述第一文件系统接口将所述终端设备的数据同步到所述同步服务器中最近从所述至少一个云端服务器同步的数据。\n[0068] 优选地,所述数据可以为文件,所述文件可以是各种格式的。\n[0069] 在如上所述的第一示例的情况下,所述第二数据同步部件640可以保存所述终端设备的所述第一文件数据,而且在所述同步服务器与所述至少一个云端服务器同步之后,所述第一数据同步部件620中可以保存所述至少一个云端服务器的所述第二文件数据。\n[0070] 在所述请求接收部件630从所述终端设备接收到同步请求之后,所述第二数据同步部件640将所述第一文件数据与所述第二文件数据进行比较,在所述第一文件数据与所述第二文件数据不同时,可以将所述第二文件数据发送给所述终端设备,或者所述第二数据同步部件640可以计算所述第二文件数据与所述第一文件数据的差分数据,并将所述差分数据发送给所述终端设备。\n[0071] 可替换地,所述第二数据同步部件640可以保存所述第一文件数据的哈希值。在所述请求接收部件630从所述终端设备接收到同步请求之后,所述第二数据同步部件640将所述第一文件数据的哈希值与所述第二文件数据的哈希值进行比较,在所述第一文件数据的哈希值与所述第二文件数据的哈希值不同时,可以将所述第二文件数据发送给所述终端设备,或者所述第二数据同步部件640可以计算所述第二文件数据与所述第一文件数据的差分数据,并将所述差分数据发送给所述终端设备。\n[0072] 在如上所述的第二示例的情况下,所述第二数据同步部件640可以保存所述第一文件数据的哈希值,而且在所述同步服务器与所述至少一个云端服务器同步之后,所述第一数据同步部件620中可以保存所述第二文件数据的哈希值,而无需直接保存所述第二文件数据。\n[0073] 在所述请求接收部件630从所述终端设备接收到同步请求之后,所述第二数据同步部件640将所述第一文件数据的哈希值与所述第二文件数据的哈希值进行比较,在所述第一文件数据的哈希值与所述第二文件数据的哈希值不同时,所述第一数据同步部件620可以从所述至少一个云端服务器中的对应云端服务器下载所述第二文件数据,然后所述第二数据同步部件640将所下载的第二文件数据发送给所述终端设备。\n[0074] 可替换地,在所述请求接收部件630从所述终端设备接收到同步请求之后,所述第一数据同步部件620可以将所述第一文件数据的哈希值发送给所述至少一个云端服务器中的对应云端服务器,由所述对应云端服务器计算所述第二文件数据与所述第一文件数据的差分数据,而所述第一数据同步部件620仅从所述对应云端服务器接收所述差分数据,然后所述第二数据同步部件640可以将所述差分数据发送给所述终端设备。\n[0075] 如上所述,在上传数据同步的情况下,所述第二数据同步部件640可以确定需要向所述至少一个云端服务器同步的数据,并且然后通过所述第一文件系统接口从所述终端设备接收要上传到所述至少一个云端服务器中的至少一部分云端服务器的数据。\n[0076] 优选地,所述数据可以为文件,所述文件可以是各种格式的。\n[0077] 作为示例,在所述同步请求中包括了所述终端设备请求上传的所有文件数据(下面称为第三文件数据),所述同步服务器可以保存所述第三文件数据,而且在所述同步服务器与所述至少一个云端服务器同步之后,所述同步服务器中可以保存所述至少一个云端服务器中存储的与所述终端设备的用户相关联的所有文件数据(下面称为第四文件数据)。\n[0078] 然后,所述第一数据同步部件620将所述第三文件数据与所述第四文件数据进行比较,在所述第三文件数据与所述第四文件数据不同时,所述同步服务器可以将所述第三文件数据发送给所述至少一个云端服务器中的相应云端服务器,或者所述第一数据同步部件620可以计算所述第三文件数据与所述第四文件数据的差分数据,并将所述第三文件数据与所述第四文件数据的差分数据发送给所述相应云端服务器。\n[0079] 作为另一示例,在所述同步请求中包括了所述第三文件数据的哈希值,所述第二数据同步部件640可以保存所述第三文件数据的哈希值,而且在所述同步服务器与所述至少一个云端服务器同步之后,所述第一数据同步部件620可以保存所述第四文件数据的哈希值。所述第一数据同步部件620将所述第三文件数据的哈希值与所述第四文件数据的哈希值进行比较,在所述第三文件数据的哈希值与所述第四文件数据的哈希值不同时,所述第二数据同步部件640可以从所述终端设备接收所述第三文件数据,所述第一数据同步部件620将所述第三文件数据上传到所述至少一个云端服务器中的相应云端服务器,或者所述第一数据同步部件620可以基于所述第三数据文件、所述第三数据文件的哈希值、所述第四数据文件的哈希值来计算所述第三数据文件与所述第四数据文件的差分数据,并且将所述差分数据上传到所述至少一个云端服务器中的相应云端服务器。\n[0080] 可替换地,在所述第一数据同步部件620确定所述第三文件数据的哈希值与所述第四文件数据的哈希值不同时,所述第二数据同步部件640将所述第四文件数据的哈希值发送给所述终端文件,然后所述终端装置可以基于所述第三数据文件、所述第三数据文件的哈希值、所述第四数据文件的哈希值来计算所述第三数据文件与所述第四数据文件的差分数据并且将所述差分数据发送到所述第二数据同步部件640,然后所述第一数据同步部件620再将所述差分数据上传到至少一个云端服务器中的相应云端服务器。\n[0081] 优选地,所述第一文件系统接口是支持HTTP协议的接口。\n[0082] 如前所述,每个云端服务器具有其各自专属的登录验证机制,因此,用户需要使用每个云端服务器专属的用户帐号登录到相应的云端服务器。每个云端服务器的相应的用户帐号可以被用户设置为相同的账户名称,当然,通常可以是不同的账户名称。所述TCP/IP连接部件利用相应的用户帐号登录到所述至少一个云端服务器,并且,基于相应的用户帐号建立与相应的云端服务器之间的TCP/IP长连接。\n[0083] 优选地,所述数据同步装置600还包括无线通信部件650,其依据无线通信协议与所述终端设备建立无线连接。\n[0084] 所述同步服务器可以支持一个用户,该用户可以具有多个终端设备,例如至少一部智能手机、至少一个个人数字助理PDA、至少一个平板电脑等等。替换地,所述同步服务器可以支持多个用户,每个用户可以具有多个终端设备,例如至少一部智能手机、至少一个个人数字助理PDA、至少一个平板电脑等等。\n[0085] 对于每个用户,属于该用户的多个终端设备可以以无线方式连接到所述同步服务器,并且通过所述同步服务器完成数据同步,而无需再依次登录到各个云端服务器来进行数据同步。由此,在终端设备端只需统一的单个应用程序接口,通过该单个应用程序接口与所述同步服务器之间完成数据同步,而且所述终端设备端可以通过该单个应用程序接口指定特定文件与相应云端服务器的对应关系,例如特定文件要被上传到哪个云端服务器。在所述同步服务器中进行云端差异性匹配,根据从终端设备接收的同步请求,向相应的云端服务器上传数据或者从相应的云端服务器下载数据。\n[0086] 接下来,将参考图5和图7来描述根据本发明实施例的用于终端设备的数据同步方法及数据同步装置。\n[0087] 如图5所示,示出了根据本发明实施例的用于终端设备的数据同步方法500的流程图,在所述终端设备上部署了第一文件系统接口。\n[0088] 首先,根据本发明实施例的用于终端设备的数据同步方法在步骤S501开始。\n[0089] 在步骤S510,通过第一文件系统接口向同步服务器发送数据同步请求,所述数据同步请求用于指示进行所述终端设备与同步服务器的数据同步,其中,所述同步服务器与至少一个云端服务器之间保持TCP/IP长连接。\n[0090] 然后,在步骤S520,通过所述第一文件系统接口在所述终端设备和所述同步服务器之间进行数据同步。\n[0091] 例如,所述终端设备通过所述第一文件系统接口从所述同步服务器接收最近从所述至少一个云端服务器同步的数据;或者所述终端设备通过所述第一文件系统接口向所述同步服务器发送要上传到所述至少一个云端服务器中的至少一部分云端服务器的数据。\n[0092] 最后,根据本发明实施例的用于终端设备的数据同步方法在步骤S599结束。\n[0093] 仍以下载数据同步和上传数据同步来进行说明。\n[0094] 首先,针对下载数据同步的情况,如前所述,所述同步服务器可以保存所述终端设备最后一次从所述同步服务器同步(下载)文件的所有文件数据(下面称为第一文件数据),而且在所述同步服务器与所述至少一个云端服务器同步之后,所述同步服务器中可以保存所述至少一个云端服务器中存储的与所述终端设备的用户相关联的所有文件数据(下面称为第二文件数据)。\n[0095] 在所述第一文件数据与所述第二文件数据不同时,所述终端设备从所述同步服务器接收所述第二文件数据,或者从所述同步服务器接收所述第二文件数据与所述第一文件数据的差分数据。\n[0096] 可替换地,所述同步服务器可以保存所述第一文件数据的哈希值,并且可以保存所述第二文件数据。在所述第一文件数据的哈希值与所述第二文件数据的哈希值不同时,所述终端设备从所述同步服务器接收所述第二文件数据,或者从所述同步服务器接收所述第二文件数据与所述第一文件数据的差分数据。\n[0097] 可替换地,所述同步服务器可以保存所述第一文件数据的哈希值,而且在所述同步服务器中可以保存所述第二文件数据的哈希值,而无需直接保存所述第二文件数据。在所述第一文件数据的哈希值与所述第二文件数据的哈希值不同时,所述同步服务器可以从所述至少一个云端服务器中的对应云端服务器下载所述第二文件数据,所述终端设备从所述同步服务器接收所述第二文件数据,或者从所述同步服务器接收所述第二文件数据与所述第一文件数据的差分数据。\n[0098] 可替换地,在所述第一文件数据的哈希值与所述第二文件数据的哈希值不同时,所述同步服务器仅从所述对应云端服务器接收所述第二文件数据与所述第一文件数据的差分数据,并且所述终端设备也仅从所述同步服务器接收所述第二文件数据与所述第一文件数据的差分数据。\n[0099] 另一方面,在上传数据同步的情况下,如上所述,所述终端设备可以在所述同步请求中包括所述终端设备请求上传的所有文件数据(下面称为第三文件数据),所述同步服务器可以保存所述第三文件数据。然后,所述同步服务器利用所述第三文件数据来同步所述至少一个云端服务器中的相应云端服务器。\n[0100] 可替换地,所述终端设备可以在所述同步请求中包括所述终端设备请求上传的所有文件数据(下面称为第三文件数据)的哈希值,所述同步服务器可以保存所述第三文件数据的哈希值。而且,在所述同步服务器与所述至少一个云端服务器同步之后,所述同步服务器中可以保存所述至少一个云端服务器中存储的与所述终端设备的用户相关联的所有文件数据(下面称为第四文件数据)的哈希值。在所述第三文件数据的哈希值与所述第四文件数据的哈希值不同时,所述终端设备可以将所述第三文件数据发送给所述同步服务器。然后,所述同步服务器利用所述第三文件数据来同步所述至少一个云端服务器中的相应云端服务器。\n[0101] 可替换地,在所述同步服务器确定所述第三文件数据的哈希值与所述第四文件数据的哈希值不同时,所述同步服务器将所述第四文件数据的哈希值发送给所述终端文件,然后所述终端装置可以基于所述第三数据文件、所述第三数据文件的哈希值、所述第四数据文件的哈希值来计算所述第三数据文件与所述第四数据文件的差分数据并且将所述差分数据发送到所述同步服务器,然后所述同步服务器再将所述差分数据上传到至少一个云端服务器中的相应云端服务器。\n[0102] 在所述终端设备上只需统一的单个应用程序接口,通过该单个应用程序接口与所述同步服务器之间完成数据同步,而且所述终端设备端可以通过该单个应用程序接口指定特定文件与相应云端服务器的对应关系,例如特定文件要被上传到哪个云端服务器。相应地,在所述终端设备上无需利用所述用户帐号登录到所述至少一个云端服务器,也实现了所述终端设备与所述至少一个云端服务器之间的数据同步。\n[0103] 优选地,所述同步服务器通过无线方式与所述终端设备连接,所述第一文件系统接口是支持HTTP协议的接口。\n[0104] 如图7所示,示出了根据本发明实施例的用于终端设备的数据同步装置700的示意性框图。\n[0105] 根据本发明实施例的用于终端设备的数据同步装置700包括同步请求发送部件\n710以及数据同步部件720。\n[0106] 所述同步请求发送部件710支持第一文件系统接口,且通过该第一文件系统接口向同步服务器发送数据同步请求,所述数据同步请求用于指示进行所述终端设备与同步服务器的数据同步。所述同步服务器与至少一个云端服务器之间保持TCP/IP长连接。\n[0107] 所述数据同步部件720支持该第一文件系统接口,并且通过该第一文件系统接口在所述终端设备和所述同步服务器之间进行数据同步。\n[0108] 首先,针对下载数据同步的情况,如前所述,所述终端设备最后一次从所述同步服务器同步(下载)文件的所有文件数据被称为第一文件数据,而且所述至少一个云端服务器中存储的与所述终端设备的用户相关联的所有文件数据被称为第二文件数据。所述同步服务器可以保存所述第一文件数据和/或所述第一文件数据的哈希值,并且还可以保存所述第二文件数据和/或所述第二文件数据的哈希值。\n[0109] 所述同步请求发送部件710通过该第一文件系统接口向同步服务器发送数据同步请求,在所述同步服务器确定所述第一文件数据与所述第二文件数据、或者所述第一文件数据的哈希值与所述第二文件数据的哈希值不同时,所述数据同步部件720从所述同步服务器接收所述第二文件数据,或者从所述同步服务器接收所述第二文件数据与所述第一文件数据的差分数据。\n[0110] 另一方面,在上传数据同步的情况下,如上所述,所述终端设备请求上传的所有文件数据被称为第三文件数据,所述至少一个云端服务器中存储的与所述终端设备的用户相关联的所有文件数据被称为第四文件数据。\n[0111] 所述同步请求发送部件710通过该第一文件系统接口向同步服务器发送数据同步请求,该数据同步请求可以包含所述第三文件数据。可替换地,所述同步请求发送部件710通过该第一文件系统接口向同步服务器发送数据同步请求,并且同时所述数据同步部件\n720向所述同步服务器发送所述第三文件数据。\n[0112] 可替换地,所述同步请求发送部件710通过该第一文件系统接口向同步服务器发送数据同步请求,该数据同步请求可以包含所述第三文件数据的哈希值。在所述同步服务器确定所述第三文件数据的哈希值与所述第四文件数据的哈希值不同时,所述数据同步部件720可以从所述同步服务器接收该哈希值比较结果(即哈希值不同),所述数据同步部件\n720才向所述同步服务器发送所述第三文件数据。可替换地,在所述同步服务器确定所述第三文件数据的哈希值与所述第四文件数据的哈希值不同时,所述数据同步部件720可以从所述同步服务器接收所述第四文件数据的哈希值,所述数据同步部件720基于所述第三数据文件、所述第三数据文件的哈希值、所述第四数据文件的哈希值来计算所述第三数据文件与所述第四数据文件的差分数据并且将所述差分数据发送到所述同步服务器。\n[0113] 在所述终端设备上只需统一的单个应用程序接口,通过该单个应用程序接口与所述同步服务器之间完成数据同步,而且所述终端设备端可以通过该单个应用程序接口指定特定文件与相应云端服务器的对应关系,例如特定文件要被上传到哪个云端服务器。相应地,在所述终端设备上无需利用所述用户帐号登录到所述至少一个云端服务器,也实现了所述终端设备与所述至少一个云端服务器之间的数据同步。\n[0114] 优选地,所述终端设备通过无线方式与所述同步服务器连接,所述第一文件系统接口是支持HTTP协议的接口。\n[0115] 优选地,所述数据同步装置700还包括无线通信部件730,用于依据无线通信协议与所述同步服务器建立无线连接。\n[0116] 根据本发明实施例的数据同步方法和数据同步装置,通过同步服务器维护与至少一个云端服务器之间的TCP/IP长连接,来保持所述同步服务器与所述至少一个云端服务器之间的数据同步,仅在终端设备需要进行数据同步时,才建立终端设备与同步服务器之间的数据同步。由此,在无需在所述终端设备上利用用户帐号登录到所述至少一个云端服务器的情况下,通过利用统一的应用程序接口建立所述终端设备与所述同步服务器之间的数据同步。\n[0117] 尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
法律信息
- 2017-11-03
- 2014-08-13
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201310012928.7
申请日: 2013.01.14
- 2014-07-16
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-03-21
|
2010-09-02
| | |
2
| |
2012-11-28
|
2012-06-29
| | |
3
| |
2007-06-06
|
2006-12-15
| | |
4
| |
2012-03-07
|
2011-11-25
| | |
5
| | 暂无 |
2005-09-16
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |