Chinaunix

标题: 问一下FastDFS文件名中trunk信息的解析 [打印本页]

作者: wangshuaiatwork    时间: 2014-08-27 19:17
标题: 问一下FastDFS文件名中trunk信息的解析
余大,我现在在用fastdfs的trunk结构,看ppt里说fastdfs的文件名中包含trunk的一些信息,但默认提供的工具fdfs_file_info里不会显示trunk信息,所以我想解析fastdfs的文件名,原因是担心万一设备出现了问题,可以把图片从trunk中恢复出来。ppt里说文件名是用Base64编码,所以encode的文件名字符数理论上应该是4的倍数,但源码里写file_name_base64_length是27,这个明显不是4的倍数,想问下怎么解析包含trunk信息的文件名?
作者: wangshuaiatwork    时间: 2014-08-28 16:22
余大能不能介绍下fastdfs/storage/data/trunk/binlog里面信息的格式是什么啊?
作者: wangshuaiatwork    时间: 2014-09-01 16:19
自己回复一下,fastdfs文件名就是完全的base64编码,只是把+/=换成了-_.,应该是考虑到url的原因。编码后的文件名前27位是基本文件信息,包括源storage ip,创建时间,文件大小和crc码,这个27应该是20字节*4/3算出来的。trunk信息是在这27位之后的16位,包括trunk 文件 id,偏移量和占用空间,这个16是12字节*4/3算出来的。

trunk目录下的binlog格式是操作时间,操作类型(Add space/Delete space),store path,high sub path, low sub path,trunk 文件 id,offset和占用空间。这个占用空间与文件名里面解析出的相比会多24字节,这个是trunk file的header size。
作者: yxiaoyxiao    时间: 2014-09-11 15:27

余大能不能介绍下fastdfs/storage/data/trunk/binlog里面信息的格式是什么啊?
作者: yxiaoyxiao    时间: 2014-09-11 15:27

余大能不能介绍下fastdfs/storage/data/trunk/binlog里面信息的格式是什么啊?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2