docs: modified according to recent improments
This commit is contained in:
@ -11,7 +11,7 @@
|
||||
- 快照
|
||||
- 文件系统修复
|
||||
|
||||
系统结构图:
|
||||
系统结构图:
|
||||
|
||||
|
||||
# 功能设计(模块划分)、数据库设计
|
||||
@ -27,7 +27,7 @@
|
||||
- 当使用不同的文件描述符时,并发调用读取函数时不会自动相互阻塞,如果并发读取的区域重叠,会有安全性问题
|
||||
|
||||

|
||||
一次IO的固定开销差不多相当于1e5条CPU指令或1e4次基本操作,以及相当于读入一块100KB~1MB的连续空间,可以考虑把分块链表的块级索引集中到开头的一个大块里。
|
||||
如果是图中的数据,一次IO的固定开销差不多相当于1e5条CPU指令或1e4次基本操作。但是在OJ上的实测结果为 IOPS 约等于 4e5,写入速率 1GB/s, 读取速率 5GB/s
|
||||
|
||||
~~因此我不太打算碰文件系统~~
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
数据库的一条记录有主键(应当是唯一的)、副键和数据构成,从主键到数据建立multimap,从副键到主键建立multimap,一个数据库实例拥有恰好两个文件,一个数据库可以有多个Sheet,用于逻辑上存储不同的表。
|
||||
|
||||
##### 文件访问与缓存
|
||||
memoryriver类维护一个缓存,简单地缓存高频访问和连续访问;键值数据库根据逻辑缓存最近访问和高频访问;数据库层不设缓存。
|
||||
memoryriver类维护一个缓存,简单地缓存高频访问和连续访问;键值数据库缓存散列表。
|
||||
|
||||
##### 并发安全
|
||||
实际的文件操作只由一个线程负责,万级的IOPS足够应付需求;内存中的资源,
|
||||
|
@ -1,8 +1,8 @@
|
||||
# 大致预设场景
|
||||
一个中小规模的书店,后台运行一个服务端,使得用户、店员、店主可以方便地在电脑端或移动端上完成相关业务操作
|
||||
|
||||
业务流程图:
|
||||
数据流图:
|
||||
业务流程图:
|
||||
数据流图:
|
||||
|
||||
## 功能需求
|
||||
### 游客
|
||||
|
Reference in New Issue
Block a user