专利名称:基于索引的异地云数据同步方法
技术领域:
本发明涉及云存储系统中数据同步策略,尤其涉及基于索引的异地云数据同步方法,属于云计算领域中的数据存储和管理技术领域。
背景技术:
随着Internet的高速发展,网络应用越来越多,进入Internet后就可以利用其中各个网络和各种计算机上无穷无尽的资源。如果资源服务器连接到Internet,那么在世界范围内的任何地点的用户都可以利用相关协议下载该服务器上的资源。然而当用户离资源服务器距离很远吋,网络上的传送耗时就会非常长。云存储是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作。这种新型的云状结构的存储系统由多个存储设备组成,通过集群功能、分布式文件系统或类似网格计算等功能联合起来协同工作,并通过一定的应用软件或应用接ロ,对用户提供一定类型的存储服务和访问服务。云存储的分布式文件系统有多个云存储服务器组成,在其中一部分服务器上存放云数据的备份,这样用户便可以通过云存储系统应用接ロ从离自己最近的节点上下载资源,这样就可以让世界各地的用户更快、更便捷地下载异地云数据。如图I所示,云存储系统,假设该云存储系统有三台云存储服务器,即第一云存储服务器I、第二云存储服务器2和第三云存储服务器3,实现数据共享的步骤主要有以下三步1)管理员A上传数据至第二云存储服务器2 ;2)云存储系统同步数据至第一云存储服务器I以及第三云存储服务器3 ;3)用户B向云存储系统发送数据下载请求,离用户最近的第一云存储服务器I相应请求与用户建立连接,用户开始下载数据。在上述模型中第一云存储服务器I附近的用户要想能快捷地下载资源的前提条件是该服务器上存储着资源的备份,期望达到全世界各地的用户最高效地访问云存储系统井下载数据,就需要在云存储系统的多个节点上储存着的资源的备份。这样的系统架构有缺点即系统的资源分布式存储不够合理,例如云数据I在第一云存储服务器I和第二云存储服务器2上存储着备份,云数据2在第二云存储服务器2和第三云存储服务器3上存储着备份,如果第一云存储服务器I附近的用户需要下载云数据2就需要到第二云存储服务器2或第三云存储服务器3上下载,同样第二云存储服务器2附近的用户需要下载云数据I时,就需要到第一云存储服务器I或者第二云存储服务器2上下载。该系统资源利用率低下,没有达到用户群最大的下载效率
发明内容
本发明的目的是针对云存储系统中资源利用率、用户下载效率低下的问题,提供ー种更高效的基于索引的异地云数据同步方法。本发明的目的通过以下技术方案来实现基于索引的异地云数据同步方法,特点是占用空间比较大数据随机存放在云系统中的少数服务器上,所有数据的概述信息的索引则在每台服务器上都有相应的备份,用户通过检索索引来判断是否系统存储有用户感兴趣的云数据概述信息,当用户需要下载云存储系统中的资源时,与用户连接的服务器首先到云系统中存储着该资源的服务器上发送同步请求,同步完成后,用户再从该服务器下载资源。
进ー步地,上述的基于索引的异地云数据同步方法,其中,占用空间比较大的数据包括图片文件、视频文件以及文本文件。更进一歩地,上述的基于索引的异地云数据同步方法,其中,当用户需要下载云存储系统中的资源存在干与用户连接的服务器时,用户直接从该服务器下载资源。本发明技术方案突出的实质性特点和显著的进步主要体现在
本发明全新的云数据同步方法,基于索引即用户根据索引的检索结果信息来决定是否下载该云数据;其次,云数据在异地之间根据下载需要进行同歩。该方法实现各个地方的用户更快捷的下载云存储系统中的云数据,同时也避免了云存储系统盲目地进行资源同歩,大量減少云存储中服务器的数量,从而降低系统建设成本,減少系统中由服务器造成单点故障和性能瓶颈,减少数据传输环节,提高系统性能和效率,保证整个系统的高效稳定运行。
下面结合附图对本发明技术方案作进ー步说明
图I :z 存储系统不意 图2 :云存储系统资源上传与索引同步示意 图3 :云存储系统基于索引的异地云数据下载示意图。
具体实施例方式如图2、图3所示,构建云存储系统,假设系统拥有三台云存储服务器第一云存储服务器I、第二云存储服务器2和第三云存储服务器3。管理员A上传云数据至某台云服务器(第二云存储服务器2)的同时,需要将该云数据的概述信息的索引一并上传至第二云存储服务器2,由于索引信息的同步的开销并不大,所以可以同步到云存储系统中的所有服务器(第一云存储服务器I、第三云存储服务器3)上,这样无论用户来自哪里,都可以从最近的云存储服务器上查询获得云数据的相关概述信息。当第一云存储服务器I附近的用户B根据概述信息的索引检索到感兴趣的资源时,如果第一云存储服务器I没有该云数据,第一云存储服务器I就向第二云存储服务器2发送同步该云数据的请求,第二云存储服务器2响应第一云存储服务器I的请求,开始同步该云数据;当同步完成时,用户开始从第一云存储服务器I上下载该云数据。如果第一云存储服务器I已经存在该云数据,用户直接下载该数据。用户通过检索索引来判断是否系统存储着用户感兴趣的云数据概述信息。当用户需要下载云存储器中的资源时,与用户连接的服务器首先去云系统中存储着该资源的服务器上发送同步请求,同步完成后,用户就可以开始从该服务器下载资源。基于索引的异地云数据同步方法在第一次下载不在第一云存储服务器I上的云数据这种情况时,效率并没有比直接从第二云存储服务器2上下载高,但是当第一云存储服务器I附近的用户再次下载的时候,效率将明显提升。这是ー种全新的云数据同步方法,该方法首先是基于索引的,即用户根据索引的检索结果信息来决定是否下载该云数据。其次,云数据在异地之间根据下载需要进行同歩。该方法可实现各个地方的用户更快捷的下载云存储系统中的云数据,同时也避免了云存储系统盲目地进行资源同步,大量減少云存储中服务器的数量,从而降低系统建设成本, 減少系统中由服务器造成单点故障和性能瓶颈,减少数据传输环节,提高系统性能和效率,保证整个系统的高效稳定运行。基于本发明方法开发的OfficeTen SOC (安全操作中心)为例。系统用于监控人员从云存储系统中检索和查看用户的相关上网行为信息,以及下载邮件中、即时通讯中用户发送的附件。OfficeTen SOC使用分布式系统Hadoop的分布式文件系统HDFS来架构云存储系统。Hadoop有许多兀素构成。其最底部是Hadoop Distributed File System (HDFS),存储Hadoop集群中所有存储节点上的文件。HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上。而且提供高传输率来访问应用程序的数据,适合那些有着超大数据集的应用程序。OfficeTen SOC中的HDFS模块一般情况下由一个NameNode以及数十个DataNode组成。NameNode在単独机器上运行,负责管理文件系统名称空间和控制外部客户机的访问,NameNode决定是否将文件映射到DataNode上的复制块上,DataNode也是一个在HDFS中的単独机器上运行的软件,通常以机架的形式组织,机架通过ー个交换机将所有系统连接起来,DataNode响应来自HDFS客户机的读写请求,还响应创建、删除和复制来自NameNode的块的命令,NameNode依赖来自甸个DataNode的定期心跳(heartbeat)消息。每条消息都包含ー个块报告,NameNode可以根据这个报告验证块映射和其他文件系统元数据,如果DataNode不能发送心跳消息,NameNode将采取修复措施,重新复制在该节点上丢失的块。OfficeTen SOC使用最常见的3个复制块方式,即第一个复制块存储在同一机架的不同节点上,最后ー个复制块存储在不同机架的某个节点上,当大量数据上传到OfficeTen SOC的HDFS时,占用空间比较大的数据,如各种附件,只存储在满足上述要求的随机的三台DataNode节点上,而这些数据的索引信息则定期同步至所有的DataNode节点上。当OfficeTen SOC全国各地的操作员通过检索,发现需要下载某ー附件数据时,客户端Client向系统发送下载数据请求,SOC判断客户端所在的位置匹配出与其交互通讯代价最小的DataNode,如果数据在该节点上存在备份,则该DataNode主动与Client发起连接,并通知Client可以开始下载数据。如果该DataNode上没有用户期望的数据,则NameNode通知存在该数据的三个节点之一同步内容到该DataNode节点上。同步完成后Client就可以就近下载附件数据。这样实现了基于索引的异地云数据同步,也就是按下载需要同步异地的数据。需要理解到的是以上所述仅是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.基于索引的异地云数据同步方法,其特征在干占用空间比较大数据随机存放在云系统中的少数服务器上,所有数据的概述信息的索引则在每台服务器上都有相应的备份,用户通过检索索引来判断是否系统存储有用户感兴趣的云数据概述信息,当用户需要下载云存储系统中的资源时,与用户连接的服务器首先到云系统中存储着该资源的服务器上发送同步请求,同步完成后,用户再从该服务器下载资源。
2.根据权利要求I所述的基于索引的异地云数据同步方法,其特征在于所述占用空间比较大的数据包括图片文件、视频文件以及文本文件。
3.根据权利要求I所述的基于索引的异地云数据同步方法,其特征在于当用户需要下载云存储系统中的资源存在干与用户连接的服务器时,用户直接从该服务器下载资源。
全文摘要
本发明涉及基于索引的异地云数据同步方法,占用空间比较大数据随机存放在云系统中的少数服务器上,所有数据的概述信息的索引则在每台服务器上都有相应的备份,用户通过检索索引来判断是否系统存储有用户感兴趣的云数据概述信息,当用户需要下载云存储系统中的资源时,与用户连接的服务器首先到云系统中存储着该资源的服务器上发送同步请求,同步完成后,用户再从该服务器下载资源。实现各个地方的用户更快捷的下载云存储系统中的云数据,避免云存储系统盲目地进行资源同步,大量减少云存储中服务器的数量,降低系统建设成本,减少系统中由服务器造成单点故障和性能瓶颈,减少数据传输环节,提高系统性能和效率,保证整个系统高效稳定运行。
文档编号H04L29/08GK102624932SQ201210119138
公开日2012年8月1日 申请日期2012年4月23日 优先权日2012年4月23日
发明者刘继明, 周磊, 孙朝晖, 林恩峰, 董正凯, 谢炜 申请人:网经科技(苏州)有限公司