Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
9910b551
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
9910b551
编写于
5月 10, 2017
作者:
G
gongweibao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify by comments
上级
d1014269
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
2 addition
and
3 deletion
+2
-3
doc/design/file_mananger/README.md
doc/design/file_mananger/README.md
+2
-3
未找到文件。
doc/design/file_mananger/README.md
浏览文件 @
9910b551
...
@@ -40,9 +40,9 @@
...
@@ -40,9 +40,9 @@
### FileServer
### FileServer
FileServer是一个用GoRPC写的HTTPServer,提供
[
RESTful API
](
./RESTAPI.md
)
接口,接收处理PFSClient端的文件管理请求,并且把结果返回PFSClient端。
FileServer是一个用GoRPC写的HTTPServer,提供
[
RESTful API
](
./RESTAPI.md
)
接口,接收处理PFSClient端的文件管理请求,并且把结果返回PFSClient端。
##
大
文件传输优化
## 文件传输优化
### 分块文件
上传
### 分块文件
传输
用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient在传输完毕最后一个Chunk的时候检查desttination文件的MD5值是否和source文件一致。
用户文件可能是比较大的,上传到Cloud或者下载到本地的时间可能比较长,而且在传输的过程中也可能出现网络不稳定的情况。为了应对以上的问题,我们提出了Chunk的概念,一个Chunk由所在的文件偏移、数据、数据长度及校验值组成。文件数据内容的上传和下载都是都过Chunk的操作来实现的。由于Chunk比较小(默认256K),完成一个传输动作完成的时间也比较短,不容易出错。PFSClient在传输完毕最后一个Chunk的时候检查desttination文件的MD5值是否和source文件一致。
一个典型的Chunk如下所示:
一个典型的Chunk如下所示:
...
@@ -62,7 +62,6 @@ type Chunk struct {
...
@@ -62,7 +62,6 @@ type Chunk struct {
### 覆盖不一致的部分
### 覆盖不一致的部分
文件传输的的关键在于需要PFSClient端对比source和destination的文件Chunks的checksum是否保持一致,不一致的由PFSClient下载或者传输Chunk完成。这样已经传输成功的部分就不用重新传输了。
文件传输的的关键在于需要PFSClient端对比source和destination的文件Chunks的checksum是否保持一致,不一致的由PFSClient下载或者传输Chunk完成。这样已经传输成功的部分就不用重新传输了。
## 框架生成
## 框架生成
用
[
swagger-api
](
https://github.com/swagger-api/swagger-codegen
)
生成Client和FileServer的框架部分,以便我们可以把更多的精力放到逻辑本身上。
用
[
swagger-api
](
https://github.com/swagger-api/swagger-codegen
)
生成Client和FileServer的框架部分,以便我们可以把更多的精力放到逻辑本身上。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录