finish overall design

This commit is contained in:
2024-04-15 14:31:13 +00:00
parent 48e064a72d
commit 0bfa87b654
2 changed files with 10 additions and 5 deletions

View File

@ -7,7 +7,7 @@
- 前端一个使用正经框架写的简洁美观的UI无响应式设计。 - 前端一个使用正经框架写的简洁美观的UI无响应式设计。
## 快照系统 ## 快照系统
一个仿照git的直接针对文件的快照库有Work Tree、Stage、Commit等概念。虽然快照系统直接集成于数据库系统但对用户开放的操作是以整个火车票系统为单位的。火车票系统会每隔数秒或数千比交易执行一次暂存此时数据库系统会把缓存写回磁盘记录数据操作日志以及在快照系统中执行Stash打快照时会依次把缓存写回磁盘、记录日志以单笔业务为最小单位、stage工作目录、创建commit。 一个仿照git的直接针对文件的快照库有Work Tree、Stage、Commit等概念。虽然快照系统作用于数据库系统,但何时触发操作由火车票系统决定数据库系统会拿到一个用于暂存自己下辖文件的handler对用户开放的操作是以整个火车票系统为单位的。火车票系统会每隔数秒或数千比交易执行一次暂存此时数据库系统会把缓存写回磁盘记录数据操作日志以及在快照系统中执行Stash打快照时会依次把缓存写回磁盘、记录日志以单笔业务为最小单位、stage工作目录、创建commit。暂存可以在运行时执行,但创建快照、还原快照、删除快照、从暂存区复原工作目录等功能无法在火车票系统运行时执行。
因为详细的数据库相关知识没学,所以正经并发和更细粒度的容错就不打算自己瞎搓了。 因为详细的数据库相关知识没学,所以正经并发和更细粒度的容错就不打算自己瞎搓了。

View File

@ -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);