研究Dropbox Server端文件系统

一、传统文件系统

可以理解成两部分:1、真正的storage区,被分割成n个扇区;2、文件系统,其实就是一个FAT表。

二、Dropbox的文件系统

例如,一个modeo.mov的文件,大小为15M。它的做法是,将其切割,每块的大小<=4M。则切割成b1,b2,b3,b4这四块,然后用SHA-256分别对它们进行hash,产生h1,h2,h3,h4。

Dropbox文件系统中几个重要的field:

USID:userspace id,及每个用户id

Path:和传统文件系统一样,文件路径

Blocklist:一个文件被分割成n块后的hash value list

JID

三、上传和下载这两个UseCase,阐述client与server交互情况

1、角色

Client: UL Client(上传的Client), DL Client(下载的Client)

Dropbox Server: MetadataServer(管理文件的metadata信息,及所属用户),BlockServer(管理文件内容)

2、Upload UseCase

detail see: https://tech.dropbox.com/2014/07/streaming-file-synchronization/

3、Download UseCase

detail see: https://tech.dropbox.com/2014/07/streaming-file-synchronization/

上一篇:【风雪之隅】写在PHP7发布之际一些话 2015-12-02


下一篇:Sql Server 常用的查询