【技术实现步骤摘要】
一种用于对象存储的分布式迁移方法
本专利技术涉及云计算与对象存储迁移
,特别涉及一种用于对象存储的分布式迁移方法。
技术介绍
对象存储是一种可以原生支持HTTP/HTTPS协议的分布式存储产品,只要连接上互联网,就可以直接使用对象存储的服务。随着对象存储的发展与成熟,越来越多的互联网网站、APP开始将一些静态资源存储到对象存储服务中,既减轻了服务器的压力,又可以降低成本。现在有很多家不同的对象存储服务提供商,当用户有想要更换对象存储服务商,或者想在多个对象存储服务商处做安全冗余时,就会产生对象存储迁移的需求。但是而现有的迁移工具效率较低且往往是单机部署,无法通过建立集群来达到提升速度的目的。为了高效并安全地将对象从一个对象存储系统内迁移到另外一个对象存储系统内,本专利技术提出了一种用于对象存储的分布式迁移方法。
技术实现思路
本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的用于对象存储的分布式迁移方法。本专利技术是通过如下技术方案实现的:一种用于对象存储的分布式迁移方法,其特征在于:部署一个分布式集群,包括一个主节点与数个副节点,通过对象名、存储类型、存储权限、对象大小或创建时间段对各个节点进行筛选,只对符合要求的节点进行迁移;当在迁移过程中发现迁移对象中出现坏节点时,将坏掉节点的任务分配给迁移对象中其余的存活节点即可。包括以下步骤:S1.原对象存储服务的准备在原对象存储服务的待迁移的桶中创建一个迁移专用的文件夹,并在其下 ...
【技术保护点】
1.一种用于对象存储的分布式迁移方法,其特征在于:部署一个分布式集群,包括一个主节点与数个副节点,通过对象名、存储类型、存储权限、对象大小或创建时间段对各个节点进行筛选,只对符合要求的节点进行迁移;/n当在迁移过程中发现迁移对象中出现坏节点时,将坏掉节点的任务分配给迁移对象中其余的存活节点即可。/n
【技术特征摘要】
1.一种用于对象存储的分布式迁移方法,其特征在于:部署一个分布式集群,包括一个主节点与数个副节点,通过对象名、存储类型、存储权限、对象大小或创建时间段对各个节点进行筛选,只对符合要求的节点进行迁移;
当在迁移过程中发现迁移对象中出现坏节点时,将坏掉节点的任务分配给迁移对象中其余的存活节点即可。
2.根据权利要求1所述的用于对象存储的分布式迁移方法,其特征在于,包括以下步骤:
S1.原对象存储服务的准备
在原对象存储服务的待迁移的桶中创建一个迁移专用的文件夹,并在其下面创建一个迁移信息文件,用于存储目标对象存储桶信息和迁移对象筛选规则;
迁移开始后至迁移结束前,原对象存储桶内的对象可以增加,但不能删除,且增加的对象不会被迁移过去;
S2.迁移节点的准备与启动
迁移节点在启动前设置启动参数;
分布式集群的所有节点在连接上原对象存储桶后先在迁移文件夹中查询是否有名为master的文件,以确定主节点和副节点;副节点读取master文件内容,根据master文件里记载的host与ip信息向主节点发送注册请求;主节点在初始化结束后,也给自己发送注册请求,开启自己节点的迁移任务;
主节点收到注册请求后,在迁移文件夹中创建出来一个以注册节点host为名的任务文件和以该节点的host.log为名的日志文件;所述任务文件负责保存被分配的任务以及副节点的ip,所述日志文件负责保存该节点已经执行的进度;
S3.新节点加入与迁移任务的执行
迁移任务以Etag前缀的形式存放于桶内该节点host命名的文件中;当有新节点注册加入分布式集群时,主节点从已存在节点中取出适当的Etag前缀,放入新节点的任务文件中,并在文件中标识出任务来自哪个节点,然后将取出的Etag前缀已存在节点的任务文件中删除;
当主节点创建新节点的日志文件时,将各个从老节点拿来的Etag前缀的最新日志加入到新节点的日志文件中,新节点根据日志文件中的Etag前缀继续任务;
新节点从总已取出的对象个数最少的任务开始,若该任务某次取出的对象列表中包含有其他任务的结束标记,则启动结束标记对应的其他任务,与该任务并行迁移,以此类推,直至新节点分配到的所有任务都一起进行;
在节点执行迁移任务时,每次从原对象存储桶中取一批对象列表出来,然后查看自己的任务列表,得到自己最新的任务前缀,然后根据迁移对象筛选规则与Etag前缀,并将被筛选出的迁移对象传到新对象存储桶中;该批对象传完后,将已取出的对象列表的结束标记,总已取出的对象个数以及此次筛选的Etag前缀记录下来;
S4.节点自管理
主节点和副节点都对外提供有健康检查接口;
主节点定时检查副节点的健康状况,当发现副节点挂掉时,立即将挂掉的副节点的任务平均分配给其他存活的副节点;
副节点也定时检查主节点的健康状况...
【专利技术属性】
技术研发人员:王方,王大帅,李超,高传集,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。