一种文件迁移的方法和装置制造方法及图纸

技术编号:13674599 阅读:94 留言:0更新日期:2016-09-07 23:56
本发明专利技术提供一种文件迁移的方法和装置,该方法包括:从所有待迁移文件中选择出优先级最高的第一文件;利用全局数据集合中的每个节点的权重选择第一节点;所述全局数据集合中记录了分布式存储系统中的每个节点与权重的对应关系;通过第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷。通过本发明专利技术的技术方案,可以让源分布式子卷包含的所有节点参与文件迁移,可以提高文件迁移速度,避免出现某个节点压力过大的情况,不影响各节点的处理性能,让节点的压力负载达到均衡,同时确保在文件迁移前后的数据一致性。

【技术实现步骤摘要】

本专利技术涉及存储
,尤其涉及一种文件迁移的方法和装置
技术介绍
对于分布式存储系统来说,数据可靠性和空间利用率很难兼备,当保证了比较高的数据可靠性时,则会导致空间利用率较低。DHT(Distributed Hash Table,分布式哈希表)是一种空间利用率较高的分布式存储系统,为了保证数据可靠性以及容错性,还可以在DHT中采用EC(Erasure Coding,纠删码)算法。如图1所示,为分布式存储系统的组网示意图。在需要写入文件A时,先通过DHT算法得到写入的位置,如分布式子卷D1。然后通过EC算法,将文件A写入到分布式子卷D1的各个节点上。例如,将文件A分成3份,得到3份数据,并将这3份数据分别写入到分布式子卷D1的节点1、节点2、节点3上,此外,还可以将文件A对应的冗余数据写入到分布式子卷D1的节点4上。但是,在通过DHT算法得到写入位置时,会出现如下情况:分布式子卷D1内写入的文件较多,而分布式子卷D2内写入的文件较少,从而出现不平衡的情况,影响DHT的性能发挥。为解决上述问题,可以采用数据平衡(Rebalance)算法,在各个分布式子卷内迁移文件,以使每个分布式子卷内的文件数量接近,确保DHT的性能。例如,将分布式子卷D1内的文件A和文件B迁移到分布式子卷D2,以保证分布式子卷D1和分布式子卷D2内的文件数量大体平衡。在目前的文件迁移过程中,通常由节点1迁移所有文件,如节点1将分布式子卷D1内的文件A和文件B迁移到分布式子卷D2,当需要迁移的文件数量较多时,节点1的工作压力很大,迁移速度较慢,影响节点1的处理性能。
技术实现思路
本专利技术提供一种文件迁移的方法,所述方法包括以下步骤:从所有待迁移文件中选择出优先级最高的第一文件;利用全局数据集合中的每个节点的权重选择第一节点;其中,所述全局数据集合中记录了分布式存储系统中的每个节点与权重的对应关系;通过第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷;在所述全局数据集合中增加所述第一节点的权重,设置所述第一文件不是待迁移文件,如果当前还存在待迁移文件,则返回执行从所有待迁移文件中选择出优先级最高的第一文件的过程。所述利用全局数据集合中的每个节点的权重选择第一节点的过程,具体包括:通过查询所述第一文件所在的源分布式子卷对应的局部集合,得到所述源分布式子卷包含的各节点;从所述全局数据集合中查询到所述源分布式子卷包含的各节点的权重,并选择权重最小的节点为所述第一节点;或者,从全局数据集合中选择权重最小的节点,并判断当前选择的节点是否位于所述第一文件所在的源分布式子卷对应的局部集合中;如果是,将当前选择的节点确定为所述第一节点;如果否,从所述全局数据集合中选择权重第二小的节点,并继续执行判断当前选择的节点是否位于所述局部集合的过程,一直到当前选择的节点位于所述局部集合,并将当前选择的节点确定为所述第一节点;其中,所述局部集合中记录了所述源分布式子卷包含的各节点。所述通过第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷后,所述方法还包括:在所述第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷完成之后,则在所述全局数据集合中降低所述第一节点的权重。在所述第一文件从源分布式子卷到目标分布式子卷的迁移过程中,所述方法进一步包括:获取所述第一文件对应的第一文件属性信息,所述第一文件属性信息包括文件正在迁移的标记、所述目标分布式子卷的信息;根据所述第一文件属性信息,确定所述第一文件正在迁移过程中,并将所
述第一文件的更新数据发送到所述源分布式子卷和所述目标分布式子卷。在所述第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷完成之后,所述方法进一步包括:获取所述第一文件对应的第二文件属性信息,所述第二文件属性信息包括文件已经完成迁移的标记或者不包括文件正在迁移的标记;根据所述第二文件属性信息,确定所述第一文件已经完成迁移,并将所述第一文件的更新数据发送到所述目标分布式子卷。本专利技术提供一种文件迁移的装置,所述装置具体包括:第一选择模块,用于从所有待迁移文件中选择出优先级最高的第一文件;第二选择模块,用于利用全局数据集合中的每个节点的权重选择第一节点;所述全局数据集合中记录了分布式存储系统中的每个节点与权重的对应关系;迁移模块,用于通过第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷;处理模块,用于在所述全局数据集合中增加所述第一节点的权重,设置所述第一文件不是待迁移文件,如果当前还存在待迁移文件,则由所述第一选择模块执行从所有待迁移文件中选择出优先级最高的第一文件的过程。所述第二选择模块,具体用于在利用全局数据集合中的每个节点的权重选择第一节点的过程中,通过查询所述第一文件所在的源分布式子卷对应的局部集合,得到所述源分布式子卷包含的各节点;从所述全局数据集合中查询到所述源分布式子卷包含的各节点的权重,并选择权重最小的节点为所述第一节点;或者,从全局数据集合中选择权重最小的节点,并判断当前选择的节点是否位于所述第一文件所在的源分布式子卷对应的局部集合中;如果是,将当前选择的节点确定为所述第一节点;如果否,从所述全局数据集合中选择权重第二小的节点,并继续执行判断当前选择的节点是否位于所述局部集合的过程,一直到当前选择的节点位于所述局部集合,并将当前选择的节点确定为所述第一节点;其中,所述局部集合中记录了所述源分布式子卷包含的各节点。所述处理模块,还用于在通过第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷之后,在所述第一节点将所述第一文件从源分布式子卷迁
移到目标分布式子卷完成后,在所述全局数据集合中降低所述第一节点的权重。所述装置还包括:获取模块,用于在所述第一文件从源分布式子卷到目标分布式子卷的迁移过程中,获取所述第一文件对应的第一文件属性信息,所述第一文件属性信息包括文件正在迁移的标记、所述目标分布式子卷的信息;发送模块,用于根据所述第一文件属性信息,确定所述第一文件正在迁移过程中,并将所述第一文件的更新数据发送到所述源分布式子卷和所述目标分布式子卷。所述获取模块,还用于在将所述第一文件从源分布式子卷迁移到目标分布式子卷完成之后,获取所述第一文件对应的第二文件属性信息,所述第二文件属性信息包括文件已经完成迁移的标记或者不包括文件正在迁移的标记;所述发送模块,还用于根据所述第二文件属性信息,确定所述第一文件已经完成迁移,并将所述第一文件的更新数据发送到所述目标分布式子卷。基于上述技术方案,本专利技术实施例中,在需要迁移文件时,可以动态选择用于进行文件迁移的节点,可以让源分布式子卷包含的所有节点都参与文件迁移,当需要迁移的文件数量较多时,由多个节点共同完成文件迁移,可以提高文件迁移速度,避免出现某个节点压力过大的情况,不影响各节点的处理性能,让节点的压力负载达到均衡,同时确保在文件迁移前后的数据一致性。附图说明为了更加清楚地说明本专利技术实施例或者现有技术中的技术方案,下面将对本专利技术实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是分布式存储系统的组网示意图;图2本文档来自技高网
...

【技术保护点】
一种文件迁移的方法,其特征在于,所述方法包括以下步骤:从所有待迁移文件中选择出优先级最高的第一文件;利用全局数据集合中的每个节点的权重选择第一节点;其中,所述全局数据集合中记录了分布式存储系统中的每个节点与权重的对应关系;通过第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷;在所述全局数据集合中增加所述第一节点的权重,设置所述第一文件不是待迁移文件,如果当前还存在待迁移文件,则返回执行从所有待迁移文件中选择出优先级最高的第一文件的过程。

【技术特征摘要】
1.一种文件迁移的方法,其特征在于,所述方法包括以下步骤:从所有待迁移文件中选择出优先级最高的第一文件;利用全局数据集合中的每个节点的权重选择第一节点;其中,所述全局数据集合中记录了分布式存储系统中的每个节点与权重的对应关系;通过第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷;在所述全局数据集合中增加所述第一节点的权重,设置所述第一文件不是待迁移文件,如果当前还存在待迁移文件,则返回执行从所有待迁移文件中选择出优先级最高的第一文件的过程。2.根据权利要求1所述的方法,其特征在于,所述利用全局数据集合中的每个节点的权重选择第一节点的过程,具体包括:通过查询所述第一文件所在的源分布式子卷对应的局部集合,得到所述源分布式子卷包含的各节点;从所述全局数据集合中查询到所述源分布式子卷包含的各节点的权重,并选择权重最小的节点为所述第一节点;或者,从全局数据集合中选择权重最小的节点,并判断当前选择的节点是否位于所述第一文件所在的源分布式子卷对应的局部集合中;如果是,将当前选择的节点确定为所述第一节点;如果否,从所述全局数据集合中选择权重第二小的节点,并继续执行判断当前选择的节点是否位于所述局部集合的过程,一直到当前选择的节点位于所述局部集合,并将当前选择的节点确定为所述第一节点;其中,所述局部集合中记录了所述源分布式子卷包含的各节点。3.根据权利要求1所述的方法,其特征在于,所述通过第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷之后,所述方法还包括:在所述第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷完成之后,则在所述全局数据集合中降低所述第一节点的权重。4.根据权利要求1-3任一项所述的方法,其特征在于,在所述第一文件从源分布式子卷到目标分布式子卷的迁移过程中,所述方法进一步包括:获取所述第一文件对应的第一文件属性信息,所述第一文件属性信息包括文件正在迁移的标记、所述目标分布式子卷的信息;根据所述第一文件属性信息,确定所述第一文件正在迁移过程中,并将所述第一文件的更新数据发送到所述源分布式子卷和所述目标分布式子卷。5.根据权利要求4所述的方法,其特征在于,在所述第一节点将所述第一文件从源分布式子卷迁移到目标分布式子卷完成之后,所述方法进一步包括:获取所述第一文件对应的第二文件属性信息,所述第二文件属性信息包括文件已经完成迁移的标记或者不包括文件正在迁移的标记;根据所述第二文件属性信息,确定所述第一文件已经完成迁移,并将所述第一文件的更新数据发送到所述目标分布式子卷。6.一种文件迁移的装置,其特征在于,所述装置具体包括:第一选择模...

【专利技术属性】
技术研发人员:江萍于相洋
申请(专利权)人:浙江宇视科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1