一种基于分布式弹性块存储的方法和系统的制作方法

文档序号:9436129阅读:497来源:国知局
一种基于分布式弹性块存储的方法和系统的制作方法
【技术领域】
[0001]本发明涉及云计算和网络领域,尤其涉及一种基于分布式弹性块存储的方法和系统。
【背景技术】
[0002]随着云时代的到来和信息化技术的不断发展,近年来诸如图片、视频、音乐和文档等静态数据不断激增,企业对存储容量的需求越来越大,当务之急是实现存储的不断扩容,并保证对数据的快速访问。
[0003]电信行业因其自身的发展历程和时间的延续,数据环境比较复杂,在不同时期的不同应用导致了多种存储方式并存的现象,规模较大的电信行业可能同时具有从DAS (Direct Attached Storage,即直连式存储)、NAS (Network Attached Storage,即网络接入存储)到SAN(Storage Area Network,即存储区域网络)的各种存储结构。
[0004]DAS是指将存储设备通过SCSI接口或光纤通道直接连接到一台计算机上,操作格式化成文件系统再提供给应用程序使用的本地存储架构。DAS是一种应用较早的存储技术,简单易用,但磁盘利用率很低,不易扩容。用通常用在单一网络环境下且数据交换量不大,性能要求不高的环境下。对大容量的数据存储以及共享并不适合。
[0005]SAN采用光纤通道(Fibre Channel,简称FC)技术,通过光纤通道交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN应用在对网络速度要求高、对数据的可靠性和安全性要求高、对数据共享的性能要求高的应用环境中,例如电信、银行的大数据量关键业务应用。它采用块存储结构通过在磁盘或FC级的数据访问提供高性能的随机1/0和数据吞吐率,它具有高带宽、低延迟的优势,但是SAN系统的价格较高,且可扩展性较差,已不能满足存储规模的不断扩大。
[0006]NAS即将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上。NAS是部件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。NAS是文件级存储,它以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。
[0007]综上所述,三种技术的不同优势使电信运营商在构建不同存储系统时可各取所长,但传统NAS和SAN存储阵列的复杂性和高成本都注定这些方案对于非结构化数据来说不是长久之计,需要对当前的存储结构加以改进。

【发明内容】

[0008]本发明所要解决的技术问题是提供一种基于分布式弹性块存储的方法和系统。
[0009]本发明解决上述技术问题的技术方案如下:一种基于分布式弹性块存储的方法,包括以下步骤:
[0010]步骤SI,将待操作文件根据预设映射算法一映射为目标对象;
[0011]步骤S2,将所述目标对象根据预设映射算法二映射到安置组中;
[0012]步骤S3,将所述安置组根据预设映射算法三映射到对象存储集群中。
[0013]在上述技术方案的基础上,本发明还可以做如下改进。
[0014]进一步地,步骤SI中所述预设映射算法一包括:预设所述目标对象的最大容量值,根据所述目标对象的最大容量值对所述待操作文件进行切分生成一个或多个所述目标对象。
[0015]进一步地,每一个切分后生成的所述目标对象有唯一的目标对象识别码,所述目标对象识别码的生成方法包括:设置待操作文件的待操作文件识别码,将所述目标文件进行编号使每个所述目标文件有唯一的序号,所述目标对象识别码由所述目标对象的序号连缀在所述待操作文件识别码之后得到。
[0016]进一步地,步骤S2中所述预设映射算法二包括以下步骤:
[0017]步骤S21,使用静态哈希函数计算所述目标对象识别码的哈希值,将所述目标对象识别码映射成为一个伪随机值;
[0018]步骤S22,将所述伪随机值和掩码按位相与,得到所述目标对象所要映射的安置组序号;所述掩码为所述安置组的总数减一。
[0019]进一步地,步骤S3中所述预设映射算法三包括:为每一个所述安置组配置多个所述对象存储集群,即该多个所述对象存储集群共同负责存储和维护一个安置组中的所有目标对象。
[0020]本发明解决上述技术问题的另一种技术方案如下:一种基于分布式弹性块存储的系统,包括第一映射模块、第二映射模块和第三映射模块;
[0021]第一映射模块用于将待操作文件根据预设映射算法一映射为目标对象;
[0022]第二映射模块用于将目标对象根据预设映射算法二映射到安置组中;
[0023]第三映射模块用于将安置组根据预设映射算法三映射到对象存储集群中。
[0024]在上述技术方案的基础上,本发明还可以做如下改进。
[0025]进一步地,第一映射模块包括预设映射算法一单元,其中所述预设映射算法一包括:预设所述目标对象的最大容量值,根据所述目标对象的最大容量值对所述待操作文件进行切分生成一个或多个所述目标对象。
[0026]进一步地,每一个切分后生成的所述目标对象有唯一的目标对象识别码,所述目标对象识别码的生成方法包括:设置待操作文件的待操作文件识别码,将所述目标文件进行编号使每个所述目标文件有唯一的序号,所述目标对象识别码由所述目标对象的序号连缀在所述待操作文件识别码之后得到。
[0027]进一步地,第二映射模块包括预设映射算法二单元,所述预设映射算法二单元包括哈希函数计算单元和按位相与计算单元;
[0028]哈希函数计算单元用于使用静态哈希函数计算所述目标对象识别码的哈希值,将所述目标对象识别码映射成为一个伪随机值;
[0029]按位相与计算单元用于将所述伪随机值和掩码按位相与,得到所述目标对象所要映射的安置组序号;所述掩码为所述安置组的总数减一。
[0030]进一步地,第三映射模块包括预设映射算法三单元,其中所述预设映射算法三包括:为每一个所述安置组配置多个所述对象存储集群,即该多个所述对象存储集群共同负责存储和维护一个安置组中的所有目标对象。
[0031]本发明的有益效果是:
[0032]1、解决单服务器瓶颈和故障点:使用分布式技术,可以轻松满足I/O密集型应用场景;弹性块存储使用多重副本技术,把数据实时复制到多台服务器上,即使我们无法避免硬盘故障,依然可以保证数据持久性。
[0033]2、采用普通服务器替代磁盘阵列:传统的磁盘阵列具有昂贵、不灵活的特点,弹性块存储不存在这个问题。存储容量可以通过添加存储节点轻松实现扩张。
[0034]3、提供更强大的高可用、错误检测和修复功能:磁盘阵列一旦坏两块硬盘数据就会丢失,弹性块的数据分布式在不同的服务器的不同硬盘上,可靠性更强。
[0035]4、所述弹性块存储系统的性能可随存储容量的扩展线性提升。
【附图说明】
[0036]图1为本发明所述基于分布式弹性块存储的方法总体流程图;
[0037]图2为本发明所述基于分布式弹性块存储的方法具体流程图;
[0038]图3为本发明所述基于分布式弹性块存储的方法数据写入流程图;
[0039]图4为本发明所述基于分布式弹性块存储的系统结构图;
[0040]图5为本发明所述基于分布式弹性块存储的结构构架图。
【具体实施方式】
[0041]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0042]图1为本发明所述基于分布式弹性块存储的方法总体流程图。
[0043]如图1所示,一种基于分布式弹性块存储的方法,包括以下步骤:
[0044]步骤SI,将待操作文件根据预设映射算法一映射为一个或多个目标对象;
[0045]步骤S2,将目标对象根据预设映射算法二映射到安置组中;
[0046]步骤S3,将安置组根据预设映射算法三映射到对象存储集群中。
[0047]图2为本发明所述基于分布式弹性块存储的方法具体流程图。
[0048]如图2所示,步骤SI是从File即待操作文件-object即目标对象的映射,这次映射的目的是将用户要操作的file,映射为可处理的object。
[0049]预设映射算法一包括:预设object的最大容量值,然后按照object的最大容量值对file进行切分,这一步骤相当于RAID中的条带化过程。步骤Sll的有益效果包括:首先可以让大小不限的file变成最大容量一致、便于高效管理的多个object ;其次是对单一file实施的串行处理变为对多个object实施的并行化处理。
[0050]每一个切分后产生的object将获得唯一的目标对象识别码(oid,即object id)。Oid的产生方式为线性映射。具体为:设置ino为待操作文件识别码,即为file的唯一识别码;将由file切分产生的object进行编号,假设ono是由file切分产生的某个object的序号,那么该object的oid就是将ono简单连缀在ino之后得到的。
[0051]步骤S2是从Object-安置组即PG(Placement Group)的映射;在file被映射为一个或多个object之后,将每个object独立地映射到一个PG中去。
[0052]预设映射算法二包括以下步骤:
[0053]步骤S21,使用静态哈希函数计算oid的哈希值,将oid映射成为一个近似均勾分布的伪随机值。
[0054]步骤S22,将伪随机值和mask按位相与,得到安置组序号即pgid。
[0055]上述步骤S21和步骤S22用计算公式表示即为:hash (oid)&mask_pgid ;其中PG的总数为m(m为2的整数幂),则mask的值为m_l。因此,哈希值计算和按位与操作的整体结果事实上是从所有m个PG中近似均勾地随机选择一个。基于这一机制,当有大量object和大量PG时,能够保证object和PG之间的近似均匀映射。并且因为object是由file切分而来,大部分object的size相同,因而,这一映射可以保证各个PG中存储的object的总数据量近似均匀分布。
[0056]步骤S3是从PG-0SD (object storage d
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1