一种实现多云存储容错转换机制的方法

文档序号:10597239阅读:328来源:国知局
一种实现多云存储容错转换机制的方法
【专利摘要】本发明公开了一种实现多云存储容错转换机制的方法,包括:根据数据热度的变化,拟对热数据采用双副本冗余机制进行存储,对冷数据采用RAID5机制进行冗余存储。伴随时间的推移,数据会从热数据转变为冷数据,即容错转换过程。通过在容错转换过程中引入中间节点计算的方法,使用计算资源来换取带宽资源,减少容错转换成本。从多副本到RAID5机制的转换可采用多种路径,从众多路径中选择成本较低的路径进行转换,在一定程度上减少容错转换成本。本发明能在一定程度上提高存储效率、降低用户成本。
【专利说明】
一种实现多云存储容错转换机制的方法
技术领域
[0001]本发明属于多云存储系统领域,更具体地,涉及一种实现多云存储容错转换机制的方法。【背景技术】
[0002]随着云存储技术的发展,公有云服务受到企业、政府部门及个人的广泛关注和欢迎。用户不需自己构建部署存储硬件,通过购买云服务提供商所提供的各项服务就可满足自身需求,节省了大量的成本。随着云服务商的大量出现,各个云服务商的费用之间存在着差异,为了应对单云中服务商垄断、云存储系统可靠性等问题,则采用多云存储架构来为用户提供所需服务。
[0003] 多云存储是指将各种类型(public、private、hybrid clouds)和品牌(Azure、 Amazon、Rackspace、Aliyun等)的云存储产品部署在一起,为用户提供可靠安全的存储和数据访问服务。在多云环境下,不会因某个云服务的瘫痪或中断,而影响用户的正常数据请求;当某个云服务商提供的服务出现价格或服务质量波动等情况时,如需迀移数据到另一个云平台,那么只需迀移部分数据,而不是全部数据,这样则可在很大程度上减少数据迀出费用,极大地降低了用户成本。
[0004]多云存储容错是指当前云服务提供商所提供的存储服务可能无法保证其真正承诺的数据可用性,采用容错机制保证在某个云存储服务中的数据不可靠时,其他云存储服务仍然能提供对该数据的正常访问。
[0005]容错转换是指各个云存储平台都支持着各自不同的应用,而不同的应用包含不同热度的数据,随着时间的推移,数据的热度也处于不停地变化当中。当数据热度发生变化时,出于对存储效率及性能的考虑,则需要对数据进行容错转换。例如当前比较常见的冗余机制:对热数据采用多副本存储冗余机制存储,对冷数据则采用冗余度较低的冗余机制存储(如RAID5),当数据从热变冷时,则需从双副本冗余机制转换到RAID5冗余机制,这个过程称为容错转换。
[0006]现有的多云存储研究均未考虑和涉及不同应用的不同容错方案之间容错转换成本问题。
【发明内容】

[0007]针对现有技术的以上缺陷或改进需求,本发明提供了一种实现多云存储容错转换机制的方法,其目的在于在多云存储架构中提高数据存储效率,降低容错转换成本等问题, 由此解决降低不同应用的不同容错方案转换成本的技术问题。
[0008]为实现上述目的,本发明提供了一种实现多云存储容错转换机制的方法,包括:
[0009](1)当用户上传文件至多云架构时,首先在控制端主机上对文件进行分割处理;[〇〇1〇](2)在文件的元数据信息中添加转换阈值属性,以备后期进行容错转换时使用;[〇〇11](3)对每个分割后的数据块进行hash(key),key为数据块名称,然后通过hash计算结果确定数据块的放置位置,依次采用双副本冗余机制上传至多云存储架构中,并将所有元数据信息保存在控制端主机中;
[0012](4)定期对多云存储架构中文件的转换阈值进行检查,对于达到阈值的文件,则采用双副本到RAID5的容错转换机制进行转换。
[0013]可选地,所述步骤(1)具体包括如下子步骤:[〇〇14](1.1)当客户端上传文件至多云架构时,首先会将请求发送至控制端主机;[〇〇15](1.2)控制端主机根据多云架构中包含的云服务数目来确定文件分割数据块的数目,其中数据块的数目比云服务器的数目少一;
[0016](1.3)根据分割的数据块数目,对文件进行分割并通过随机函数产生随机数的方法对数据块进行命名。
[0017]可选地,所述步骤(3)具体包括如下子步骤:
[0018](3.1)控制端主机对文件的各个数据块进行hash(key)运算,key为数据块名称, hash算法为对数据块名称进行取模运算;[〇〇19](3.2)通过hash算法确定好数据块放置位置后,根据设定的云服务顺序来确定数据块在多云架构中的放置和分布情况,然后采用双副本机制上传文件所包含的数据块;
[0020](3.3)将文件以及分割后的数据块元数据信息保存在控制端主机中,以备后期进行文件获取和容错转换时使用;每个文件的元数据信息包含:文件名、包含的数据块、每个数据块在多云架构中的存放位置以及转换阈值。[0021 ] 可选地,所述步骤(4)具体包括如下子步骤:[〇〇22](4.1)通过提前设置的转换阈值来确定需要容错转换的文件,定期对元数据信息进行检查,如有文件达到阈值,则进行容错转换;
[0023](4.2)根据(4.1)中获取到需要转换的文件后,根据文件名称查找该文件的元数据信息,通过元数据信息来确定具体的容错转换方案;
[0024](4.3)容错转换方案中包含校验云的选择、条带布局的选择、冗余块删除步骤。
[0025]本发明实施例中,当文件包含的数据块被随机以双副本机制上传至多云存储平台时,数据的分布会出现两种情况:不均匀和均匀。通过分析得知,当数据分布均匀时,相对于不均匀的情况会较少数据块的传输,因此本发明拟采用一致性hash算法来保证数据块尽可能地在多云架构中分布均匀,以减少数据块传输,最终减少容错转换开销和成本。
[0026]本发明实施例中,通过对各云服务提供商存储和计算成本的调研,带宽成本是计算成本的2-14倍,因此为了节约成本,我们应尽可能使用计算资源进行编码,尽量减少数据传输带来的带宽成本,从而提出引入中间节点计算的思想。
[0027]总体而言,通过本发明所构思的以上技术方案与现有技术相比,由于通过数据分布均匀减少容错转换过程中数据块传输,引入计算资源来替换带宽资源,能够取得减少容错转换开销和成本的有益效果。【附图说明】
[0028]图1是本发明实施例中多云存储容错转换架构图;
[0029]图2是本发明实施例中多云存储中无容错与容错对比图;[〇〇3〇]图3是本发明实施例中多云存储中未引入计算与引入计算对比图;
[0031]图4是本发明实施例中多云存储中引入计算与引入计算对比图;
[0032]图5是本发明实施例中多云存储容错转换流程图。【具体实施方式】[〇〇33]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0034]如图1所示,本发明中多云存储容错转换系统架构图详细描述如下:[〇〇35] 该系统中包含多个云存储服务(421^6、411^2011、1^^^。306、41171111等),用于数据存储,控制端主机(Control Host)用于对用户上传的文件进行分割、合并,数据块布局的确定以及容错转换的控制。[0〇36]当Client端将请求发送至多云存储容错转换系统时,由控制端主机对Client端请求进行处理。如Client端需要上传文件,则通过分割模块对文件进行分割,并通过数据块放置模块对数据块布局进行确定,然后采用双副本机制依次将文件包含的数据块上传至多云存储架构中。当文件达到转换阈值时,则通过容错转换模块对该文件进行容错转换控制,完成从双副本到RAID5冗余机制的转换。当用户获取文件时,控制端主机首先通过查找文件元数据信息,从对应的云存储服务中下载所包含的数据块,然后通过文件分割合并模块,对数据块进行合并操作,最终将完整的文件返回给用户。[〇〇37]如图2所示,本发明中多云存储中无容错与容错对比图详细描述如下:[〇〇38]该图解释了多云存储中容错的必要性。当用户将数据上传至多云存储架构中时, 如未采用任何容错机制,则当某个云存储服务中的数据丢失或不可用时,则无法进行恢复, 会彻底丢失数据,对用户产生不可估量的经济损失。当采用容错机制时,某个云存储服务中的数据发生丢失或不可用时,可通过冗余机制进行快速恢复,从而避免不必要的经济损失。
[0039]如图3和图4所示,本发明中多云存储中未引入计算与引入计算容错转换过程详细描述如下:[〇〇4〇]图3为未引入计算容错转换过程,图4为引入计算容错转换过程。
[0041]两张图介绍了容错转换所包含的大致过程:校验云的选择、条带布局的选择、冗余块删除步骤。在从双副本冗余机制转换到RAID5冗余机制时,需要选择在某个云上进行校验块的生成(RAID5中的校验块P),然后选择最终RAID5中的数据块布局,根据以上选择的校验云及数据块布局进行相应的数据块迀移及冗余块删除操作,最终完成容错转换过程。[〇〇42]从两张图的对比可以明显看出,采用中间节点计算会减少数据块的传输。通过调研得知,带宽成本是计算成本的2-14倍,因此为了节约成本,我们应尽可能使用计算资源进行编码,尽量减少数据传输带来的带宽成本。[〇〇43]如图5所示,本发明中多云存储容错转换流程图详细描述如下:[〇〇44]当Client发送文件上传请求时,首先由控制端主机对该请求进行处理,通过控制端主机中的文件分割合并模块对文件进行分割,并通过数据块放置模块对数据块布局进行确定,然后采用双副本机制将分割后的数据块依次上传至多云存储架构,并将元数据信息保存在控制端主机中,以备文件获取或容错转换过程使用。定期对元数据信息中的文件进行转换阈值检查,对达到转换阈值的文件,则通过控制端主机中的容错转换模块对容错转换过程进行控制,最终完成从双副本到RAID5冗余机制的容错转换。[〇〇45]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种实现多云存储容错转换机制的方法,其特征在于,包括如下步骤:(1)当用户上传文件至多云架构时,首先在控制端主机上对文件进行分割处理;(2)在文件的元数据信息中添加转换阈值属性,以备后期进行容错转换时使用;(3)对每个分割后的数据块进行hash(key),key为数据块名称,然后通过hash计算结果 确定数据块的放置位置,依次采用双副本冗余机制上传至多云存储架构中,并将所有元数 据信息保存在控制端主机中;(4)定期对多云存储架构中文件的转换阈值进行检查,对于达到阈值的文件,则采用双 副本到RAID5的容错转换机制进行转换。2.如权利要求1所述的一种实现多云存储容错转换机制的方法,其特征在于,所述步骤 (1)具体包括如下子步骤:(1.1)当客户端上传文件至多云架构时,首先会将请求发送至控制端主机;(1.2)控制端主机根据多云架构中包含的云服务数目来确定文件分割数据块的数目, 其中数据块的数目比云服务器的数目少一;(1.3)根据分割的数据块数目,对文件进行分割并通过随机函数产生随机数的方法对 数据块进行命名。3.如权利要求1或2所述的一种实现多云存储容错转换机制的方法,其特征在于,所述 步骤(3)具体包括如下子步骤:(3.1)控制端主机对文件的各个数据块进行hash(key)运算,key为数据块名称,hash算 法为对数据块名称进行取模运算;(3.2)通过hash算法确定好数据块放置位置后,根据设定的云服务顺序来确定数据块 在多云架构中的放置和分布情况,然后采用双副本机制上传文件所包含的数据块;(3.3)将文件以及分割后的数据块元数据信息保存在控制端主机中,以备后期进行文 件获取和容错转换时使用;每个文件的元数据信息包含:文件名、包含的数据块、每个数据 块在多云架构中的存放位置以及转换阈值。4.如权利要求1或2所述的一种实现多云存储容错转换机制的方法,其特征在于,所述 步骤(4)具体包括如下子步骤:(4.1)通过提前设置的转换阈值来确定需要容错转换的文件,定期对元数据信息进行 检查,如有文件达到阈值,则进行容错转换;(4.2)根据(4.1)中获取到需要转换的文件后,根据文件名称查找该文件的元数据信 息,通过元数据信息来确定具体的容错转换方案;(4.3)容错转换方案中包含校验云的选择、条带布局的选择、冗余块删除步骤。
【文档编号】H04L29/08GK105959356SQ201610262243
【公开日】2016年9月21日
【申请日】2016年4月26日
【发明人】冯丹, 王阿孟, 胡燏翀, 常拴霞, 吴锋, 肖仁智, 张晓阳, 文可
【申请人】华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1