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

相关推荐
励志不掉头发的内向程序员4 小时前
【从零写一个CAD 03】三个 double 值得单独一个类吗:把视图变换抽成 View
开发语言·c++·qt·学习·系统架构
sycmancia16 小时前
Qml——第一个qml的程序
qt
实心儿儿18 小时前
Qt — Qt 多线程
开发语言·qt
沫璃染墨21 小时前
《Qt从零入门系列(十一):Qt事件机制详解——从QEvent到鼠标、键盘与定时器事件》
c++·qt·ui·硬件工程·交互·个人开发·qt5
实心儿儿21 小时前
Qt — Qt 窗口
开发语言·qt
Quz1 天前
QML 滚动条:自定义滚动样式与滚动逻辑
qt
Quz1 天前
QML 滚动视图:ScrollView、Flickable,以及 ScrollIndicator 用法
qt
小许同学记录成长1 天前
几何体编辑算法
qt·算法
时间的拾荒人1 天前
Qt 信号与槽机制详解(二):连接方式详解与面试指南
开发语言·qt·面试
做萤石二次开发的哈哈1 天前
视频解码器怎么对接?解码上墙、电视墙开窗与场景切换的ISAPI接入实战
人工智能·物联网·监控·视频编解码·大屏端·萤石开放平台·蓝海aiot一站式工作台