免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7184 | 回复: 3
打印 上一主题 下一主题

[FastDFS] FastDFS怎么实现文件软删除和恢复? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-03-16 09:27 |只看该作者 |倒序浏览
  @happy_fish:

        我们公司现在打算使用fastDFS来存储文件,其中有一个需求:实现文件的软删除(即不真正删除,只打上删除标记)、恢复操作(即去掉删除标记)。

        第一个思路:
        利用fastDFS提供的主从文件机制可以实现文件的软删除,比如:
        主文件ID为: group1/M00/00/00/wKgCx1ETdo2AFlXZAACCJ5iSa_k551.jpg
        通过上传从文件API:
          fastdfs_storage_upload_slave_by_filename1("1.jpg","group1/M00/00/00/wKgCx1ETdo2AFlXZAACCJ5iSa_k551.jpg","--del");
       其中 prefix_name = “--del”,这样就打上了删除标记,返回的从文件ID为:group1/M00/00/00/wKgCx1ETdo2AFlXZAACCJ5iSa_k551--del.jpg

       但现在问题是恢复操作没法实现,因为通过fastdfs_storage_upload_slave_by_filename1()函数没法去掉文件ID中的 “--del”,这个函数只能往文件ID加标记,不能去掉标记

       第二个思路: 通过修改文件ID中的扩展名来实现软删除和恢复。
       比如原文件为: group1/M00/00/00/wKgCx1ETdo2AFlXZAACCJ5iSa_k551.jpg
       删除文件为:    group1/M00/00/00/wKgCx1ETdo2AFlXZAACCJ5iSa_k551.del
       既要保证文件名相同,同时又要修改后面的扩展名,FastAPI能够接近实现这个需求还得借用从文件的机制:
        string fastdfs_storage_upload_slave_by_filebuff1(string file_buff, string master_file_id, string prefix_name,string file_ext_name)
      但这个函数有一个强制性要求,就是第三个参数prefix_name不能为空,是强制需要赋值的,这样不能保证文件名不变。

    结论:
    happy_fish:: 能不能修改一下fastdfs_storage_upload_slave_by_filebuff1()函数的参数为:如果参数file_ext_name设置的值和文件扩展名不一样的情况下,可以让参数prefix_name取值为空,是可选的,可以不赋值。因为通过扩展名不同,也可以区分主从文件。

   非常感谢你分享出来的FastDFS。

论坛徽章:
6
2015年迎新春徽章
日期:2015-03-04 09:48:00IT运维版块每日发帖之星
日期:2015-06-11 22:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00数据库技术版块每日发帖之星
日期:2015-10-24 06:20:00IT运维版块每日发帖之星
日期:2015-12-24 06:20:00IT运维版块每日发帖之星
日期:2016-04-15 06:20:00
2 [报告]
发表于 2013-03-18 08:55 |只看该作者
第二个思路有点问题:恢复时如何恢复扩展名?

论坛徽章:
0
3 [报告]
发表于 2013-03-18 09:25 |只看该作者
"第二个思路有点问题:恢复时如何恢复扩展名?"

扩展名会当图片的meta data存起来,恢复时先从meta data中获取图片扩展名,再修改。

我们现在的做法是图片都是统一为jpg,不管实际是png 还是gif。因为浏览器端也不是根据扩展名去判断图片格式的,你把gif格式的图片的扩展名设为jpg,也是可以看的。

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
4 [报告]
发表于 2013-09-12 19:03 |只看该作者
不错!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP