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方案;在客户端应用,临时编辑生成最终效果:

相关推荐
神仙别闹2 小时前
基于QT(C++)实现学本科教务系统(URP系统)
数据库·c++·qt
谁动了我的代码?4 小时前
QT<34> 利用线程池处理耗时任务以及回调函数的使用
开发语言·qt
木心爱编程6 小时前
【Qt 5.14.2 新手实战】QTC++入门筑基——按钮与标签联动:QPushButton + QLabel 实现图片切换器
java·c++·qt
小新1107 小时前
vs2022+Qt插件初体验,创建带 UI 界面的 Qt 项目
开发语言·qt·ui
十五年专注C++开发7 小时前
Qt实现多语言原理和实践详解
开发语言·c++·qt·多语言
神仙别闹9 小时前
基于QT(C++)实现的翻金币游戏
c++·qt·游戏
月上林梢10 小时前
QT圆形加载进度条
数据库·c++·qt·进度条
A0_張張10 小时前
记录一个PDF盖章工具(PyQt5 + PyMuPDF)
开发语言·python·qt·pdf
淼淼76311 小时前
工厂方法模式
开发语言·c++·windows·qt·工厂方法模式
钱彬 (Qian Bin)11 小时前
项目实践11—全球证件智能识别系统(切换为PostgreSQL数据库)
人工智能·qt·fastapi