Skip to content

Commit 33c4435

Browse files
committedSep 16, 2020
resolve #4
1 parent 4b9498e commit 33c4435

File tree

2 files changed

+38
-3
lines changed

2 files changed

+38
-3
lines changed
 

‎README.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
TODO
22
--------
3+
34
V0.1.0 可用,但性能有问题
45
V0.2.0 Commits on Jan 8, 2016。未打Tag,可用,性能优化。
56
V0.3.0 计划把整个工程从QMake切换至CMake,完善可用性。未完成。
67

78
crsync
89
--------
9-
a C library of Client-side rsync over HTTP via curl
1010

11-
Guide
11+
A library and CLI tool of Client-side rsync over HTTP via curl, implemented by pure C.
12+
13+
[Guide](./doc/README.md)
1214
--------
15+
1316
基于rsync算法的客户端二进制增量差异更新组件。
1417

1518
1. 纯C语言实现, 使用libcurl HTTP通讯,跨平台兼容性良好。
@@ -18,7 +21,7 @@ Guide
1821
4. 目前已支持Android,Windows,理论上支持所有平台。
1922
5. 源码简单易懂,核心部分仅1000行,可随意扩展修改。
2023

21-
Workflow
24+
[Workflow](./doc/workflow.md)
2225
--------
2326

2427
+ 服务端生成新版本的摘要文件, 并部署到HTTP FileServer

‎doc/workflow.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Workflow
2+
----
3+
4+
```mermaid
5+
graph TD
6+
subgraph Server-Side
7+
Remote[PC/Server/Host] -->|Generate|File2[App/New File 2.0]
8+
File2 -->|crsync digest| Digest2(App/New Digest 2.0)
9+
end
10+
11+
subgraph CDN-Side
12+
File2CDN[App/New File 2.0]
13+
Digest2CDN[App/New Digest 2.0]
14+
end
15+
16+
subgraph Client-Side
17+
File1[PC/Client/Mobile App/Old File 1.0]
18+
19+
subgraph Crsync-Internal
20+
CrsyncMatch{crsync match} -->|Calculate|PatchIndex
21+
PatchIndex -->CrsyncPatch{crsync patch}
22+
end
23+
24+
CrsyncPatch -->|memcpy|File2Local[App/New File 2.0]
25+
end
26+
27+
File2 -->|Deploy|File2CDN
28+
Digest2 -->|Deploy|Digest2CDN
29+
File1 --> |Full File Content|CrsyncMatch
30+
Digest2CDN -->|curl download|CrsyncMatch
31+
File2CDN -->|curl http chunk|CrsyncPatch
32+
```

0 commit comments

Comments
 (0)