云存储系统和数据存储方法

文档序号:8433889阅读:563来源:国知局
云存储系统和数据存储方法
【技术领域】
[0001] 本发明涉及数据存储技术领域,具体而言,涉及一种云存储系统和一种数据存储 方法。
【背景技术】
[0002] 云存储系统与传统存储系统相比,具有如下不同;第一,从功能需求来看,云存储 系统面向多种类型的网络在线存储服务,而传统存储系统则面向如高性能计算,事务处理 等应用;第二,从性能需求来看,云存储系统首先要考虑的是数据的安全,可靠,效率等指 标,而且由于用户规模大,服务范围广,网络环境复杂多变等特点,实现高质量的云存储服 务必将面临很大的技术挑战;第H,从数据管理来看,云存储系统不仅要提供传统文件访 问,还要能够支持海量数据管理并提供公共服务支撑功能,W方便云存储系统后台数据维 护。
[0003] 因此,如何保证云存储系统数据的安全性,维护的便捷性,系统的简单化及可扩展 性成为目前亟待解决的技术问题。

【发明内容】

[0004] 本发明正是基于上述问题,提出了一种新的面向对象的云存储解决方案,使用标 准化服务器创建兀余,从而避免了单点故障引起的数据丢失,可提高云存储数据的安全性, 各个服务器在云存储系统中位置相等,维护方便,并且可方便的在系统中添加/删除存储 服务器,存储空间可扩展。
[0005] 有鉴于此,本发明提出了一种云存储系统,包括存储服务器节点,所述存储服务 器节点包括:对象获取单元,用于获取待存储对象;对象复制单元,用于复制所述待存储对 象,得到包含所述待存储对象在内的多个对象副本;存储处理单元,用于将所述多个对象副 本均匀地存储至所述云存储系统中的不同数据域。
[0006] 在该技术方案中,通过复制待存储对象,并将得到的多个对象副本均匀分布在存 储区域不同的数据域中,实现对象的兀余备份,使得存储服务器节点中的单个数据域发生 故障时,仍可通过其他数据域来提供服务,从而避免了单点故障引起的数据丢失,有助于提 高数据的安全性和云存储系统的稳定性。
[0007] 其中,获取待存储对象的过程可W是用户请求上传,也可W是对虚拟机镜像、照 片、电子邮件等数据的定期备份。同时,数据域的选取非常的灵活,可W是某个设备、服务 器、机架、甚至是数据中也,可W根据实际需求进行设置。
[0008] 根据本发明的另一方面,还提供了一种数据存储方法,用于云存储系统,所述数据 存储方法包括:获取待存储对象;复制所述待存储对象,得到包含所述待存储对象在内的 多个对象副本;将所述多个对象副本均匀地存储至所述云存储系统中的不同数据域。
[0009] 在该技术方案中,通过复制待存储对象,并将得到的多个对象副本均匀分布在存 储区域不同的数据域中,实现对象的兀余备份,使得存储服务器节点中的单个数据域发生 故障时,仍可通过其他数据域来提供服务,从而避免了单点故障引起的数据丢失,有助于提 高数据的安全性和云存储系统的稳定性。
[0010] 其中,获取待存储对象的过程可W是用户请求上传,也可W是对虚拟机镜像、照 片、电子邮件等数据的定期备份。同时,数据域的选取非常的灵活,可W是某个设备、服务 器、机架、甚至是数据中也,可W根据实际需求进行设置。
[0011] 通过W上技术方案,可W使用标准化服务器创建兀余,从而避免了单点故障引起 的数据丢失,可提高云存储数据的安全性,各个服务器在云存储系统中位置相等,维护方 便,并且可方便的在系统中添加/删除存储服务器,存储空间可扩展。
[0012] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产 品的形式。
[0013] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、W及流程图和/或方框图中的流程和/或方框的结合。可提供该些计算 机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器W产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。
[0014] 该些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备W特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0015] 该些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤W产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。
【附图说明】
[0016] 图1示出了根据本发明的一个实施例的云存储系统的示意框图;
[0017] 图2示出了根据本发明的一个实施例的云存储系统的结构示意图;
[0018] 图3示出了根据本发明的一个实施例的存储服务器节点的结构示意图;
[0019] 图4示出了根据本发明的一个实施例的哈希环空间的结构示意图;
[0020] 图5示出了根据本发明的一个实施例的一致性哈希算法的数据移动的示意图;
[0021] 图6示出了根据本发明的一个实施例的一致性哈希算法构造虚拟节点的示意图;
[0022] 图7示出了根据本发明的一个实施例的虚拟节点与存储服务器节点之间的对应 关系的7]^意图;
[0023] 图8示出了根据本发明的一个实施例的数据存储方法的示意流程图。
【具体实施方式】
[0024] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实 施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施 例及实施例中的特征可W相互组合。
[0025] 在下面的描述中阐述了很多具体细节W便于充分理解本发明,但是,本发明还可 W采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实 施例的限制。
[0026] 图1示出了根据本发明的一个实施例的云存储系统的框图。
[0027] 如图1所示,根据本发明的一个实施例的云存储系统100,包括存储服务器节点 102,所述存储服务器节点102包括;对象获取单元1022,用于获取待存储对象;对象复制单 元1024,用于复制所述待存储对象,得到包含所述待存储对象在内的多个对象副本;存储 处理单元1026,用于将所述多个对象副本均匀地存储至所述云存储系统100中的不同数据 域。
[0028] 在该技术方案中,通过复制待存储对象,并将得到的多个对象副本均匀分布在存 储区域不同的数据域中,实现对象的兀余备份,使得存储服务器节点102中的单个数据域 发生故障时,仍可通过其他数据域来提供服务,从而避免了单点故障引起的数据丢失,有助 于提高数据的安全性和云存储系统的稳定性。
[0029] 其中,获取待存储对象的过程可W是用户请求上传,也可W是对虚拟机镜像、照 片、电子邮件等数据的定期备份。
[0030] 作为一种较为优选地实施例,所述存储处理单元1026用于通过哈希算法对所述 多个对象副本执行存储操作。
[0031] 在该技术方案中,利用哈希算法的特性,能够实现对多个对象副本的均匀分布,从 而使得云存储系统中的各个数据域之间更为平衡,避免单点故障。进一步地,上述技术方案 优选一致性哈希算法,W解决如节点较少时,无法实现多个对象副本的均匀分布问题。
[0032] 作为一种较为优选地实施例,所述存储处理单元1026还用于:根据所述存储服务 器节点102中的每个存储节点的容量大小,配置每个存储节点的实际占用空间。
[0033] 在该技术方案中,实际上引入了 "权重"的概念,即W每个存储节点的容量大小占 总存储容量的比例来表示。由于云存储系统中的存储节点容量大小不尽相同,则通过为容 量大的存储服务器配置较大的权重,容量小的服务器配置较小的权重,从而系统在分配待 存储对象的存储区域时,应该分配更多的待存储对象至容量大的存储服务器,分配较少的 待存储对象至容量小的存储服务器,W实现性能上的均衡,有助于提升云存储系统的运行 性能和可靠性。
[0034] 在具体的实施例中,例如:现有A和B两台存储服务器的容量大小分别为80G和 20G,则总存储容量大小为100G,A服务器的权重为80% (80/100),B服务器的权重为20% (20/100),现若有用户上传40G的文件需要存储,则A服务器中应存储32G(40GX80%)的 文件,
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1