refactored

This commit is contained in:
2024-05-01 04:12:05 +00:00
parent 6c20530cc8
commit ec920f7255
37 changed files with 79 additions and 57 deletions

View File

@ -1,5 +1,5 @@
# 规划的Bonus实现方式
- 缓存LRU
- 缓存LRU-K
- 空间回收
- 快照贯通于数据库系统和火车票系统整体以文件为单位夹打快照类似于git在火车票系统后端处于非活动状态时操作比对stage区和版本库中的最后一次commit然后打一个新的commit进去额外消耗空间为 当前文件实际大小 + 压缩后的 当前文件实际大小+变化量使用zstd算法压缩。交互方式`./core-cli snapshot [options]`。而stage功能内置于DiskManager当收到信号后会把工作文件夹的变化打进stage区。
- 并发:内置于数据库系统,基于`std::shared_mutex`的简单并发,可以真正意义上支持读操作的并发,但写操作会独占数据库的控制权。(但火车票系统会直接在整个业务层面上加读写锁,因此不会直接使用数据库系统的并发安全)。