finish overall design
This commit is contained in:
@ -7,7 +7,7 @@
|
|||||||
- 前端:一个使用正经框架写的简洁美观的UI,无响应式设计。
|
- 前端:一个使用正经框架写的简洁美观的UI,无响应式设计。
|
||||||
|
|
||||||
## 快照系统
|
## 快照系统
|
||||||
一个仿照git的直接针对文件的快照库,有Work Tree、Stage、Commit等概念。虽然快照系统直接集成于数据库系统,但对用户开放的操作是以整个火车票系统为单位的。火车票系统会每隔数秒或数千比交易执行一次暂存,此时数据库系统会把缓存写回磁盘,记录数据操作日志,以及在快照系统中执行Stash;打快照时,会依次把缓存写回磁盘、记录日志(以单笔业务为最小单位)、stage工作目录、创建commit。
|
一个仿照git的直接针对文件的快照库,有Work Tree、Stage、Commit等概念。虽然快照系统作用于数据库系统,但何时触发操作由火车票系统决定,数据库系统会拿到一个用于暂存自己下辖文件的handler,但对用户开放的操作是以整个火车票系统为单位的。火车票系统会每隔数秒或数千比交易执行一次暂存,此时数据库系统会把缓存写回磁盘,记录数据操作日志,以及在快照系统中执行Stash;打快照时,会依次把缓存写回磁盘、记录日志(以单笔业务为最小单位)、stage工作目录、创建commit。暂存可以在运行时执行,但创建快照、还原快照、删除快照、从暂存区复原工作目录等功能无法在火车票系统运行时执行。
|
||||||
|
|
||||||
因为详细的数据库相关知识没学,所以正经并发和更细粒度的容错就不打算自己瞎搓了。
|
因为详细的数据库相关知识没学,所以正经并发和更细粒度的容错就不打算自己瞎搓了。
|
||||||
|
|
||||||
|
13
src/main.cpp
13
src/main.cpp
@ -63,10 +63,15 @@ int main(int argc, char *argv[]) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (log_enabled) {
|
if (log_enabled) {
|
||||||
if (log_file_name == "")
|
try {
|
||||||
logger_ptr = spdlog::stderr_color_mt("stderr_logger");
|
if (log_file_name == "")
|
||||||
else
|
logger_ptr = spdlog::stderr_color_mt("stderr_logger");
|
||||||
logger_ptr = spdlog::basic_logger_mt<spdlog::async_factory>("file_logger", log_file_name);
|
else
|
||||||
|
logger_ptr = spdlog::basic_logger_mt<spdlog::async_factory>("file_logger", log_file_name);
|
||||||
|
} catch (const spdlog::spdlog_ex &ex) {
|
||||||
|
std::cerr << "Log initialization failed: " << ex.what() << std::endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
LOG->info("Starting backend");
|
LOG->info("Starting backend");
|
||||||
LOG->info("Compile optimization enabled: {}", optimize_enabled);
|
LOG->info("Compile optimization enabled: {}", optimize_enabled);
|
||||||
|
Reference in New Issue
Block a user