Qt/C++项目积累: 2.主机监控器 - 2.2 历史功能实现

修订历史:

20240711:初始表设计,采用sqlite

正文:

关于历史数据存储,考虑的是用数据库来完成,目前考虑使用Sqlite和mysql,先用sqlite来实现,设计表过程如下:

机器总览表:

|-----|------|---------|
| ID号 | IP | 主机名 |
| 1 | 0.11 | Ubuntu1 |
| 2 | 0.15 | Debian1 |

机器关注程序表:

|-----|------|--------|-----|-----------|-----------|-------|
| ID号 | IP | 程序名 | 进程号 | 开始记录时间 | 结束记录时间 | 是否已结束 |
| 1 | 0.11 | System | 123 | 170000000 | 180000001 | 1 |
| 2 | 0.11 | System | 234 | 190000001 | | 0 |
| 3 | 0.15 | Sshd | 11 | 160000000 | 180000001 | 1 |
| 4 | 0.15 | Sshd | 12 | 180000002 | | 0 |

机器1的详细运行情况(CPU,内存,硬盘):

|-----|------|-----------|----------|----------|-----------|
| ID号 | IP | CPU占用率(%) | 内存占用率(%) | 硬盘占用率(%) | 记录时间 |
| 1 | 0.11 | 1.0 | 2.0 | 3.0 | 180000001 |
| 2 | 0.11 | 1.0 | 2.0 | 3.0 | 180000002 |

机器2的详细运行情况(CPU,内存,硬盘):

|-----|------|-----------|----------|----------|-----------|
| ID号 | IP | CPU占用率(%) | 内存占用率(%) | 硬盘占用率(%) | 记录时间 |
| 1 | 0.15 | 1.0 | 2.0 | 3.0 | 180000001 |
| 2 | 0.15 | 1.0 | 2.0 | 3.0 | 180000002 |

机器1中程序1的运行情况:

|-----|------|--------|-----|-----------|----------|-----------|
| ID号 | IP | 程序名 | 进程号 | CPU占用率(%) | 内存占用率(%) | 记录时间 |
| 1 | 0.11 | System | 123 | 1.0 | 2.0 | 180000001 |
| 2 | 0.11 | System | 123 | 1.0 | 2.0 | 180000002 |

机器1中程序2的运行情况:

|-----|------|-----|-----|-----------|----------|-----------|
| ID号 | IP | 程序名 | 进程号 | CPU占用率(%) | 内存占用率(%) | 记录时间 |
| 1 | 0.11 | Kde | 123 | 1.0 | 2.0 | 180000001 |
| 2 | 0.11 | Kde | 123 | 1.0 | 2.0 | 180000002 |

机器2中程序1的运行情况:

|-----|------|------|-----|-----------|----------|-----------|
| ID号 | IP | 程序名 | 进程号 | CPU占用率(%) | 内存占用率(%) | 记录时间 |
| 1 | 0.11 | Sshd | 123 | 1.0 | 2.0 | 180000001 |
| 2 | 0.11 | Sshd | 123 | 1.0 | 2.0 | 180000002 |

机器2中程序1的运行情况:

|-----|------|------|-----|-----------|----------|-----------|
| ID号 | IP | 程序名 | 进程号 | CPU占用率(%) | 内存占用率(%) | 记录时间 |
| 1 | 0.11 | Sshd | 124 | 1.0 | 2.0 | 180000001 |
| 2 | 0.11 | Sshd | 124 | 1.0 | 2.0 | 180000002 |

机器2中程序2的运行情况:

|-----|------|-----|-----|-----------|----------|-----------|
| ID号 | IP | 程序名 | 进程号 | CPU占用率(%) | 内存占用率(%) | 记录时间 |
| 1 | 0.11 | Kde | 123 | 1.0 | 2.0 | 180000001 |
| 2 | 0.11 | Kde | 123 | 1.0 | 2.0 | 180000002 |

按多db设计:

按单db设计:

考虑项目数据量情况,决定采用单db方案;在客户端应用,临时编辑生成最终效果:

相关推荐
初阳78511 小时前
【基于Qt5仿音乐播放器(六)】——细节打磨与总结
qt·1024程序员节
小鱼仙官21 小时前
使用Qt封装C/C++ 动态库 用于第三方调用
c语言·c++·qt
扶尔魔ocy1 天前
【QT OpenGL】知识点编目及传送门
qt·opengl·osg
qq_401700411 天前
Qt Modbus 源码剖析:从 QModbusClient 到工业级通信框架
开发语言·qt·系统架构
GreenHandBruce1 天前
基于Qt 6.12.0 + FFmpeg 9.0.2的4k视频播放器
qt·ffmpeg·音视频
千里马学框架1 天前
Service服务绑定对进程adj影响及常见绑定错误
android·智能手机·性能优化·程序员·framework·性能·安卓失业
誰能久伴不乏1 天前
桌面客户端的运行日志系统:SQLite 分块 + 独立写线程 + 文本降级
数据库·c++·qt·架构·sqlite
沫璃染墨2 天前
《Qt从零入门系列(十五):Qt线程安全与锁机制详解——从QMutex到RAII与读写锁实战》
开发语言·c++·qt·安全·交互·线程·qt6.3
小豆庄2 天前
视频脱敏引擎的追踪难题:转场误判定、ID撞号和淡入窗口
qt·算法·目标检测·音视频·视频·敏捷流程
_YouziTech_2 天前
【STM32+MAX98357】MP3转PCM存入Flash并控制音频输出
stm32·单片机·音视频·内存·pcm·i2s·wav