seafile是分块存储,每块在1MB左右,什么时候进行这种分块操作呢?有人说在创建文件时就分好块了,是在客户端创建文件时就分好块了吗?文件不是存储在服务器端么?在服务器端怎么进行分块存储呢?
猜测:在上传文件的时候,客户端就开始对文件分块(例如,你放一个很大的文件夹到客户端那边,客户端会历遍所有的文件,然后开始传输,卡在0%很久,这时候你用资源管理器看看,seafile 在读取写入都很大,这时候是因为在分块)。
如果是全部由服务器分块的话,服务器的 CPU 估计撑不住。
以上。
1 个赞
这样的话我有个疑问,文件最终存储在seafile服务器端,如果是在客户端就分好块的话,那么服务器端怎么知道分块情况?服务器端怎么将数据存储到具体的块中?还是说客户端会将分块信息也发送给服务器端?
seafile官方博客上说“文件在服务器上通过分块存储,以支持大文件的断点续传和增量同步”,意思是在服务器端进行分块的吗?
不知道呢,开源的,读读代码去呗
正在读代码呢,有些问题弄不明白,就来问问:grin:
传到服务端分块
客户端同步下来的组文件
通过客户端上传的是在客户端分块的,通过浏览器上传的在服务器分块。
1 个赞
这样的话我有个疑问,文件最终存储在seafile服务器端,如果是在客户端就分好块的话,那么服务器端怎么知道分块情况?服务器端怎么将数据存储到具体的块中?