法律状态公告日
法律状态信息
法律状态
2019-04-12
授权
授权
2016-11-09
实质审查的生效 IPC(主分类):H04L29/08 申请日:20160523
实质审查的生效
2016-10-12
公开
公开
技术领域
本发明属于云存储领域,更具体地,涉及一种基于RAID4的多云存储系统扩展方法。
背景技术
云存储是在云计算的基础上发展出来的一种新兴网络存储技术。然而由于单云存储会引发诸如单点故障和服务商垄断等问题,因此将数据分割并存储在多个云上。多云将各种类型的云存储服务部署在一起,更好地满足企业和个人的应用需求。
多云存储的数据分布于多个云存储平台,但又整合在一个多云存储架构中,因此具有较高的系统复杂度。由于多云存储能够有效地解决单点故障和服务商垄断的问题,因此能带来更低的成本和更高的价值。
将数据在多云平台上以RAID4方式存储,通过保证多云系统存储数据的冗余度来保证容错性,并节约了存储空间。RAID4方式存储可使多云存储系统容“1”错,即当其中任意一个云发生故障时,其丢失的数据可以通过其他云中的数据来恢复;另外,由于有校验云的存在,不需要将原始数据块存储两个备份,大大节约了存储空间。
多云的扩展需要将一部分原始数据块发送到新的云上,由于云个数的增加,校验云上每个校验块所携带的数据块信息也要增多,因此需要将迁移的数据块再次发送到校验云上进行计算从而生成新的校验块。这样扩展所需要的迁移数据量就是迁移数据块的两倍,严重耗费带宽资源,延长了扩展时间。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于RAID4的多云存储系统扩展方法,其目的在于保证一定的数据冗余度,使系统可容“1”错,又大大节约数据存储空间,通过利用校验云上的计算资源来换取带宽资源,使扩展时需要向校验云传输的数据量大大减少,由此解决扩展时如何减少传输数据量的技术问题。
为实现上述目的,本发明提供了一种基于RAID4的多云存储系统扩展方法,包括:
(1)云用户将原始文件分成若干个相同大小的数据块,并将其以RAID4方式存储在M+1个云上,其中M≥2;
(2)云用户存储的总数据量不变时,将数据从M+1个云扩展到N+1个云上,保持数据在N+1个云上仍然以RAID4方式存储;
(3)申请校验云中与存储区域在同一数据中心的弹性计算服务的服务器实例来实现校验云内部的数据计算;
(4)在原来的M+1个云上删除无用的数据块;
(5)根据各个数据块的元数据信息合成原始文件。
优选的,在步骤(1)中,第1至M个云存储原始数据块,第M+1个云存储校验数据块,所用云存储服务是各个云对应的对象存储服务。
优选的,在步骤(2)中,M<N。
优选的,所述步骤(2)包括如下子步骤:
(2.1)找到一个合数p,这个合数是两个不同因子M和N的最小公倍数;
(2.2)若原始数据块的个数为p,则将这p个数据块以RAID0方式平均分配到M个云上,每个云上存储N个数据块,第M+1个云为校验云,存储相应的校验块,每个校验块含M个数据块的信息;
(2.3)将这p个数据块扩展到N+1个云上时,每个云上存储M个数据块,校验云上的每个校验块含N个数据块的信息;
(2.4)在上述扩展情境下,总的原始数据块的个数大于p时,以每p个数据块为一组划分区域,在每个区域内进行相似的扩展,最后一个区域的数据块个数少于p时,不扩展该区域。
优选的,在子步骤(2.3)中,在一个区域内,向校验云传输的数据块的个数占需要迁移到新的云的数据块总个数的比例为:
由于存在M和N不互质的情况,故上式不一定为最简分式;即从M+1个云扩展到N+1个云时,一个区域内需要向校验云传输的数据块个数至少为上述分式化简后的最简分式的分子。
优选的,在步骤(3)中,所述各个云的弹性计算服务的服务器实例所申请的地区与这个云的对象存储服务的数据存储区域是一样的,即在同一个数据中心,由于同一数据中心内的数据传输不收费,故可节约扩展成本。
优选的,所述步骤(3)包括如下子步骤:
(3.1)申请校验云中与存储区域在同一数据中心的弹性计算服务的服务器实例;
(3.2)下载校验云的对象存储服务中的原始校验块和接收的原始数据块到服务器实例的存储空间,并进行相应的计算,得出新的校验块;
(3.3)将新的校验块上传到与服务器实例同一区域的对象存储服务,并删除服务器实例存储空间下载的数据块和计算过程中产生的其他数据块。
优选的,在步骤(4)中,需要删除迁移数据块和校验云中无用的数据块,其特征在于,
对于存储原始数据块的第1至M个云,当需要传输的数据块传输完成时,自动删除这个云已经迁移的数据块;
对于存储校验数据块的第M+1个云,当服务器实例下载对象存储服务的原始校验块和接收的原始数据块到服务器实例的存储空间后,即删除这些已经下载的数据块。
优选的,本发明的一个实施例中,所述步骤(1)中的M+1取值为3,所述步骤(2)中的N+1取值为4。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,由于利用数据冗余技术、RAID4技术以及编码技术,能够取得下列有益效果:
1、本发明利用数据冗余技术,提高多云存储系统的数据存储可靠性;
2、本发明利用RAID4技术在多云存储系统中存储数据,可以对由于单个云故障等原因发生的数据丢失和损坏进行快速恢复,提高了数据存储的安全性和可靠性;
3、本发明利用编码技术,在云内部通过更多的计算来减少原始数据块到校验云的传输量,大大节约了带宽,提高了扩展速度。
附图说明
图1是本发明的基于RAID4的多云存储及扩展示意图;
图2是本发明的基于RAID4的多云存储及扩展流程;
图3是本发明实施例中一个区域内的基于RAID4的多云存储扩展过程。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的基于RAID4的多云存储系统扩展完全在云上实现。
如图1所示,本发明的基于RAID4的多云存储及扩展示意图描述如下:
云用户从本地上传文件数据到已注册并购买服务的各个云的对象存储服务,数据块在各个云之间以RAID4方式存储。当用户由于某些原因需要将已有云中的数据迁移一部分到新的云中,并保持云之间的数据仍以RAID4方式存储时,从存储原始数据的云中选择一部分数据迁移到新的云中,并将一部分迁移的数据发送到校验云中,运用校验云的计算资源计算得出新的校验块,保证新的多云存储系统仍然保持RAID4方式存储。
如图2所示,本发明的基于RAID4的多云存储及扩展流程详细描述如下:
首先,云用户将需要上传的文件分割成大小相等的数据块;然后,将这些原始数据块均匀上传到第1至M个云上,并将相应的校验块上传到第M+1个云(校验云)上,以RAID4方式存储;在总数据量不变的情况下,将数据从M+1个云扩展到N+1个云时,从M个存储原始数据块的云中选择一部分原始块迁移到N-M个新的云上,并将其中一部分块传输到校验云上;在校验云上申请与对象存储服务同一区域的服务器实例,计算得到新的校验块,将其上传到对象存储服务;在原来的M+1个云上删除无用的数据块;根据元数据信息合成原始文件。
如图3所示,本发明实施例的基于RAID4的多云存储扩展过程详细描述如下:
本实施例以从3个云到4个云的扩展过程为例简单介绍其基于RAID4的多云存储扩展方法,本实施例描述的是3个云扩展为4个云的一个区域内的扩展过程,其他区域内的扩展过程与之类似,一个区域内的数据块个数少于(2×3=)6时,不扩展该区域。
Amazon S3(Simple Storage Service,简单存储服务)上存储原始数据块0、2、4,Rackspace Cloud Files上存储原始数据块1、3、5,Aliyun OSS(Object Storage Service,对象存储服务)作为校验云存储校验块0+1、2+3、4+5。
扩展时,从Amazon S3中选择原始数据块4,从Rackspace Cloud Files中选择原始数据块5;将数据块4和5迁移到Windows Azure Blob中,将数据块5传输到校验云中;此时删除Amazon S3中的数据块4和Rackspace Cloud Files中的数据块5;在Aliyun ECS(Elastic Compute Service,弹性计算服务)中申请服务器实例,将原有校验块0+1、2+3、4+5和接收的原始块5下载到服务器实例的存储空间,并删除对象存储服务上的这些数据块;通过计算(4+5)+5=4得出原始数据块4,然后再利用原有校验块0+1和2+3,计算出新的校验块0+1+4和2+3+5;将新的校验块0+1+4和2+3+5上传到Aliyun OSS,删除服务器实例中下载的数据块和计算过程中产生的数据块。
根据每个数据块的元数据信息来合并原始文件。
图3中,本发明通过耗费校验云中的计算资源来减少需要向校验云传输的原始数据块的数量,节约了带宽资源,减少了扩展时间。扩展后仍然保持RAID4方式存储,保证了多云扩展后数据存储的安全性和可靠性。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
机译: 一种基于联想词的关键词广告扩展方法
机译: 一种基于联想词的关键词广告扩展方法
机译: 基于云的存储系统提供一种或多种纠正措施