您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關FastDFS怎么做到無文件索引,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
FastDFS不需要保存文件索引信息,是因為其精巧的文件ID設計。
上傳文件時,文件ID由storage server生成并返回給調用方(client),返回的文件ID中包含了組名和文件名,調用方將文件ID保存到數據庫中作為訪問該文件的憑據。文件上傳流程示意圖如下:
client拿著文件ID訪問文件時,會先詢問tracker server,tracker server根據組名返回該組可用的storage server,然后client帶著文件ID直接向該storage server發送請求,storage server可以根據該文件ID直接定位到文件。文件下載流程示意圖如下:
FastDFS生成的一個文件ID示例:
磁盤部分M后面的兩位數字,表示基于0的磁盤序號。
文件名(不含后綴名)采用Base64編碼,包含如下5個字段(每個字段均為4字節整數):
* 源storage server ID或IP地址
* 文件創建時間戳
* 文件大小
* 文件內容CRC32校驗碼
* 隨機數
引入隨機數的目的是防止生成重名文件。
如果采用了合并存儲,生成的文件ID將變長,文件名后面多了16個字節。
這部分同樣采用Base64編碼,包含如下3個字段(每個字段均為4字節整數):
* 存放到的trunk file ID
* 文件偏移量(offset)
* 占用的空間大小
根據前兩個字段,可以知道文件存放的trunk file及偏移位置。
FastDFS不需要文件索引,省掉了傳統的name server角色,使得FastDFS更加簡潔高效。
以上就是FastDFS怎么做到無文件索引,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。