一种分布式文件系统数据迁移的方法

文档序号:6535062阅读:120来源:国知局
一种分布式文件系统数据迁移的方法
【专利摘要】本发明公开了一种分布式文件系统数据迁移的方法,该方法包括:数据迁移时,迁移的源文件选择为经常修改或写入的文件,对于正在迁移的文件,将对其修改或新写入的数据直接写入到待迁移的目的节点上,在原有数据上建立新数据的索引,而未修改的数据再迁移。本发明相对于传统的冷数据迁移可以大大减少负载均衡的时间,并且节省大量的网络io和磁盘io,达到各节点数据负载的快速均衡。
【专利说明】一种分布式文件系统数据迁移的方法
【技术领域】
[0001]本发明涉及计算机领域,具体涉及一种分布式文件系统数据迁移的方法。
【背景技术】
[0002]分布式文件系统一般包含客户端,元数据服务器和数据服务器,客户端负责文件数据的访问接口制定,元数据服务器处理文件的布局及基本属性,数据服务器存储文件的数据内容。
[0003]各个数据服务节点间的负载,容量均衡常常对整个系统的性能和稳定性有很大的影响,而在线扩容,也即添加新节点又是一个分布式文件系统必备的特征,而新节点的添加必然导致整个分布式文件系统新老节点在容量和负载上的不均衡,而数据迁移是解决该问题的常用方法。
[0004]传统的数据迁移,选择的源文件为不经常访问的文件,以期达到正常写入和迁移的互相干扰,但这种方法均衡起来比较慢,且对正在迁移的文件进行修改或写入操作会导致迁移失败,从而导致之前已迁移数据占用了无效的网络带宽和磁盘io。

【发明内容】

[0005]针对现有技术的不足,本发明的目的是提供一种分布式文件系统数据迁移的方法,本发明提出了选择经常访问的文件为源文件,可以达到快速的均衡,且不会导致网络带宽和磁盘io的浪费。
[0006]本发明的目的是采用下述技术方案实现的:
[0007]本发明提供一种分布式文件系统数据迁移的方法,其改进之处在于,所述方法包括:分布式文件系统数据迁移时,迁移的源文件选择为经常修改或写入的分布式文件,对于正在迁移的分布式文件,将对其修改或新写入的数据直接写入到待迁移的目的节点上,在原有数据上建立新数据的索引,未修改的数据再迁移;
[0008]所述方法包括下述步骤:
[0009](I)通过对分布式文件的修改或写入访问次数统计,确定访问频次高的分布式文件为迁移的源文件;
[0010](2)当有数据写入源文件时,客户端向元数据服务器获取布局信息后,发送到指定的源节点(源文件的布局位置所在的节点为源节点,一个源文件可对应多个源节点);
[0011](3)源节点在迁移的目的节点上创建索引节点,然后将数据转发到索引节点上;
[0012](4)索引节点完成数据写入后返回给源节点,源节点修改索引记录;
[0013](5)源节点返回给客户端,完成写入,并且相当于完成该块数据的迁移工作;
[0014](6)后台控制器对没有写入过的内容做迁移,即从源节点复制出数据写到目的节点上,并记录写入的索引记录;
[0015](7)当源节点上的内容均迁移到索引节点后,通知元数据服务器修改文件布局信息,删除本地对象(本地对象为源节点上对应的文件数据内容,可将本地对象均替换为源节点对应的文件数据内容),至此分布式文件数据迁移完毕。
[0016]进一步地,所述修改或新写入的数据直接写入到待迁移的目的节点上包括下述方式:
[0017]方式1:数据到达源节点时,由源节点直接转发到待迁移的目的节点上;
[0018]方式2:写入时由客户端直接写到待迁移的目的节点上,然后通知源节点的对象。
[0019]进一步地,所述原有数据上建立新数据的索引包括:通过位图文件bitmap、数组或树结构建立源节点和目的节点的索引关系;
[0020]按客户端的最小操作单位4K对应Ibit记录源节点和目的节点的关系,即每写入一次,将对应偏移处的位图文件bitmap、数组或树结构置为I。
[0021]进一步地,所述步骤(3)中,源节点查看读取的内容是否在索引节点上,若是则读取索引节点上的内容;若否,则直接读取本地内容返回。
[0022]与现有技术比,本发明达到的有益效果是:
[0023]本发明提供的分布式文件系统数据迁移的方法,该方法选择经常访问的文件为源文件,可以达到快速的均衡,且不会导致网络带宽和磁盘io的浪费。数据迁移时,迁移的源文件选择为经常修改或写入的文件,对于正在迁移的文件,将对其修改或新写入的数据直接写入到待迁移的目的节点上,在原有数据上建立新数据的索引,而未修改的数据再迁移。
【专利附图】

【附图说明】
[0024]图1是本发明提供的数据迁移写入的流程图。
【具体实施方式】
[0025]下面结合附图对本发明的【具体实施方式】作进一步的详细说明。
[0026]本发明提供一种分布式文件系统数据迁移的方法,所述方法包括:分布式文件系统数据迁移时,迁移的源文件选择为经常修改或写入的分布式文件,对于正在迁移的分布式文件,将对其修改或新写入的数据直接写入到待迁移的目的节点上,在原有数据上建立新数据的索引,未修改的数据再迁移;
[0027]数据迁移写入的流程图如图1所示,包括下述步骤:
[0028](I)通过对分布式文件的修改或写入访问次数统计,确定访问频次高的分布式文件为迁移的源文件;
[0029](2)当有数据写入源文件时,客户端向元数据服务器获取布局信息后,发送到指定的源节点(源文件和源节点两者是什么关系);
[0030](3)源节点在迁移的目的节点上创建索引节点,然后将数据转发到索引节点上;
[0031](4)索引节点完成数据写入后返回给源节点,源节点修改索引记录;
[0032](5)源节点返回给客户端,完成写入,并且相当于完成该块数据的迁移工作;
[0033](6)后台控制器对没有写入过的内容做迁移,即从源节点复制出数据写到目的节点上,并记录写入的索引记录;
[0034](7)当源节点上的内容均迁移到索引节点后,通知元数据服务器修改文件布局信息,删除本地对象(本地对象指的是什么?),至此分布式文件数据迁移完毕。
[0035]修改或新写入的数据直接写入到待迁移的目的节点上包括下述方式:[0036]方式1:数据到达源节点时,由源节点直接转发到待迁移的目的节点上;
[0037]方式2:写入时由客户端直接写到待迁移的目的节点上,然后通知源节点的对象。
[0038]原有数据上建立新数据的索引包括:通过位图文件bitmap、数组或树结构建立源节点和目的节点的索引关系。
[0039]A.数据索引的记录方法:
[0040]可以通过位图文件bitmap的形式记录,按客户端的最小操作单位4K对应Ibit记录源对象和目的对象的关系,即每写入一次,将对应偏移处的bitmap置为1.[0041]B.下面阐述在迁移过程中数据是如何被客户端正常访问到的:
[0042]<1>当客户端需要读取文件时,向元数据服务器获取布局之后,发送到指定的源节点
[0043]〈2>源节点查看读取的内容是否在索引对象上,若是则读取索引对象上的内容,若否,则直接读取本地内容返回。
[0044]本发明相对于传统的冷数据迁移可以大大减少负载均衡的时间,并且节省大量的网络io和磁盘io,达到各节点数据负载的快速均衡。
[0045]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的【具体实施方式】进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
【权利要求】
1.一种分布式文件系统数据迁移的方法,其特征在于,所述方法包括:分布式文件系统数据迁移时,迁移的源文件选择为经常修改或写入的分布式文件,对于正在迁移的分布式文件,将对其修改或新写入的数据直接写入到待迁移的目的节点上,在原有数据上建立新数据的索引,未修改的数据再迁移; 所述方法包括下述步骤: (1)通过对分布式文件的修改或写入访问次数统计,确定访问频次高的分布式文件为迁移的源文件; (2)当有数据写入源文件时,客户端向元数据服务器获取布局信息后,发送到指定的源节点; (3)源节点在迁移的目的节点上创建索引节点,然后将数据转发到索引节点上; (4)索引节点完成数据写入后返回给源节点,源节点修改索引记录; (5)源节点返回给客户端,完成写入,并且相当于完成该块数据的迁移工作; (6)后台控制器对没有写入过的内容做迁移,即从源节点复制出数据写到目的节点上,并记录写入的索引记录; (7)当源节点上的内容均迁移到索引节点后,通知元数据服务器修改文件布局信息,删除本地对象,至此分布式文件数据迁移完毕。
2.如权利要求1所述的方法,其特征在于,所述修改或新写入的数据直接写入到待迁移的目的节点上包括下述方式: 方式1:数据到达源节点时,由源节点直接转发到待迁移的目的节点上; 方式2:写入时由客户端直接写到待迁移的目的节点上,然后通知源节点的对象。
3.如权利要求1所述的方法,其特征在于,所述原有数据上建立新数据的索引包括:通过位图文件bitmap、数组或树结构建立源节点和目的节点的索引关系; 按客户端的最小操作单位4K对应Ibit记录源节点和目的节点的关系,即每写入一次,将对应偏移处的位图文件bitmap、数组或树结构置为I。
4.如权利要求1所述的方法,其特征在于,所述步骤(3)中,源节点查看读取的内容是否在索引节点上,若是则读取索引节点上的内容;若否,则直接读取本地内容返回。
【文档编号】G06F17/30GK103793475SQ201410005142
【公开日】2014年5月14日 申请日期:2014年1月6日 优先权日:2014年1月6日
【发明者】郭照斌, 季旻, 姜国梁, 马振杰, 杨鹏 申请人:无锡城市云计算中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1