4003?1458378099

【任务】 对于数据迁移实验方案 正常


李立添加于 2016-12-09 00:21

对于数据迁移实验方案

目前采用方案:

目前采用的冷热区之间数据的迁移是通过fuse访问集群数据,复制文件夹,复制完成后为保证数据完整性,再做MD5校验。

缺点:

复制文件需要将文件读取一次,再写入一次,然而MD5校验也需要将文件读取一次,需要校验MD5则需要获得源文件和目的文件的MD5值,需要再读取一次源文件和目的文件,对于大数据文件时非常耗时间的。

同时,对于整个数据文件夹,一旦一个文件校验失败,整个文件夹则不可用,需要删除,所以,拷贝完成再次校验还有一个问题是,一旦出现拷贝失败的情况不能及时察觉。

 

改进方案:

         对于文件的复制和校验,可以并行进行。在复制文件读取的过程中,同时计算MD5值,与源文件Md5值进行比较,校验。一个文件复制完成就开始校验,避免复制整个文件夹后校验失败的时间消耗。测试与之前方案的性能改进。

改进方案优化:

         对于文件的读取,java可以设置缓存,然而对于不同的文件类型,不同的文件读取方式,缓存的选择等,都对文件的读取效率有一定的影响,可以通过实验,对比不同方式的影响,选择对应数据最佳的文件读取方式。

 

使用Glusterfs libapi改进:

         目前的方案都是基于fuse读取文件,相当于在glusterfs 外边再次包装一层,使用fuse会降低glusterfs 文件读取效率,所以从glusterfs 3.4就开始提供了libapi的数据访问方式,可以不经过fuse,提高文件访问效率。

         但是,libapi目前只有c语言的和最新版本提供了python的调用,没有java调用接口,实际应用可能需要用java 去调用clibapi接口,然后对比。

回复(2)
  • 5?1460204756
    尹刚 8年前

    两个方案都很有意义:

    1、对于fuse的方案,是一种轻量级实能实现,请尽快提供与原始方案的效果对比结果,争取提交到gfs社区

    2、对于libapi的方案,你可以考虑用python实现一个新的方案,争取提交到gfs社区

  • 4003?1458378099
0?1470885445
登录后可添加回复
  • 当前状态 新增
  • 选定优先级 正常
  • 指派给 尹刚
  • 里程碑 --
  • 开始日期 2016-12-09
  • 结束日期
  • 预计工时(H) 0.00 小时
  • 完成度 0%
  • 关联Commit

© Copyright 2007~2021 国防科技大学Trustie团队 & IntelliDE 湘ICP备 17009477号

问题和建议
还能输入50个字符 提交

加入QQ群

关注微信APP


×