一、传统文件系统
可以理解成两部分: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/