当前位置: 首页 > news >正文

服务器管理平台开发(2)- 设计数据库表

数据库表设计

本篇文章主要对数据管理平台数据库表设计进行介绍,包括单库多表设计、SQL语句、视图构造等

1、整体设计

  • 设备品牌、序列号、型号等使用业务主表进行记录,逻辑磁盘、PCI设备可能出现1对N的情况,分别使用PCI设备表、Mac地址表、逻辑磁盘表、应用程序表、登录日志表进行记录

  • 构建虚拟视图统一查询,多表联合,使用业务IP+SN序列号作为设备唯一标识

  • 增加历史记录表,对所有表数据的更新删除操作进行记录,方便回溯

2、库表设计

涉及数据库表较多,此处仅展示部分表结构设计

2.1、业务主表

字段名称字段类型解释
Id字段类型解释
BusinessIpint业务Ip地址
SNstring序列号
Brandstring品牌
Modelstring型号
CPUtimestampCPU
Memorytimestamp内存
PlatformTypestring平台类型
UseForstring用途
CreatedAttimestamp创建时间
UpdatedAttimestamp修改时间

2.2、PCI设备表

字段名称字段类型解释
Idint自增ID
BusinessIpstring业务Ip地址
SNstring序列号
PCIDevicestringPCI设备表
CreatedAttimestamp创建时间
UpdatedAttimestamp修改时间

2.3、MAC地址表

字段名称字段类型解释
Idint自增ID
BusinessIpstring业务Ip地址
SNstring序列号
MacAddressstringMAC地址
CreatedAttimestamp创建时间
UpdatedAttimestamp修改时间

3、SQL设计

涉及数据库表较多,此处仅展示部分建表SQL,作为参考

3.1、历史记录表

CREATE TABLE `es_history` (`Id` int NOT NULL AUTO_INCREMENT COMMENT '自增ID',`Object` varchar(255) NOT NULL COMMENT '索引',`PK` varchar(255) NOT NULL COMMENT 'BOM前缀',`Key` varchar(255) NOT NULL COMMENT '索引',`OpKind` varchar(255) NOT NULL COMMENT 'BOM前缀',`PrevModify` varchar(255) NOT NULL COMMENT '索引',`NextModify` varchar(255) NOT NULL COMMENT 'BOM前缀',`Version` int NOT NULL COMMENT '索引',`Operator` varchar(64) NOT NULL COMMENT 'BOM前缀',`CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

3.2、系统信息表

CREATE TABLE `es_meta_info` (`Id` int NOT NULL AUTO_INCREMENT COMMENT '自增ID',`BusinessIp` varchar(255) NOT NULL COMMENT '业务IP',`SN` varchar(255) NOT NULL COMMENT '序列号',`Brand` varchar(255) NOT NULL COMMENT '品牌',`Model` varchar(255) NOT NULL COMMENT '型号',`CpuModel` varchar(255) NOT NULL COMMENT 'CPU型号',`CpuNumber` varchar(255) NOT NULL COMMENT 'CPU数量',`Memory` varchar(255) NOT NULL COMMENT '内存',`PlatformType` varchar(255) NOT NULL COMMENT '平台类型',`UseFor` varchar(255) NOT NULL COMMENT '用途',`MacAddress` varchar(255) NOT NULL COMMENT 'MAC地址',`LogicDisk` varchar(255) NOT NULL COMMENT '逻辑磁盘',`PCIDevices` varchar(255) NOT NULL COMMENT 'PCI设备',`Program` varchar(255) NOT NULL COMMENT '应用程序',`LoginInfo` varchar(255) NOT NULL COMMENT '登录日志',`CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`Id`),UNIQUE KEY `business` (`BusinessIp`,`SN`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

3.3、逻辑磁盘表

CREATE TABLE `es_logicaldisk` (`Id` int NOT NULL AUTO_INCREMENT COMMENT '自增ID',`BusinessIp` varchar(255) NOT NULL COMMENT '业务IP',`SN` varchar(255) NOT NULL COMMENT '序列号',`Filesystem` varchar(255) NOT NULL COMMENT '系统盘',`Size` varchar(255) NOT NULL COMMENT '大小',`Used` varchar(255) NOT NULL COMMENT '已使用',`Avail` varchar(255) NOT NULL COMMENT '可使用',`UsePercent` varchar(255) NOT NULL COMMENT '使用百分比',`Mounted` varchar(255) NOT NULL COMMENT '挂载点',`CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

3.4、视图表

CREATE VIEW es_meatinfoview AS SELECTes_meta_info.BusinessIp,es_meta_info.SN,es_meta_info.Brand,es_meta_info.Model,es_meta_info.CPUModel,es_meta_info.CPUNumber,es_meta_info.Memory,es_meta_info.PlatformType,es_meta_info.UseFor,CONCAT_WS('---',es_logicaldisk.Filesystem, es_logicaldisk.Size, es_logicaldisk.UsePercent, es_logicaldisk.Mounted) as FileSystem,es_macaddress.MacAddress,es_pcidevice.PCIDevice,es_product.Program,es_product.PORT,es_meta_info.CreatedAtFROMes_meta_infoLEFT JOIN es_logicaldisk ON es_logicaldisk.BusinessIp = es_meta_info.BusinessIpAND es_logicaldisk.SN = es_meta_info.SNLEFT JOIN es_macaddress ON es_macaddress.BusinessIp = es_meta_info.BusinessIpAND es_macaddress.SN = es_meta_info.SNLEFT JOIN es_pcidevice ON es_pcidevice.BusinessIp = es_meta_info.BusinessIpAND es_pcidevice.SN = es_meta_info.SNLEFT JOIN es_product ON es_product.BusinessIp = es_meta_info.BusinessIpAND es_product.SN = es_meta_info.SNWHEREes_logicaldisk.Filesystem NOT LIKE '%tmpfs%'

4、数据展示

涉及数据库表较多,此处仅展示部分表数据,作为参考,数据IP为之前腾讯云测试公网IP,现已弃用,请勿访问!

4.1、PCI设备信息

4.2、逻辑磁盘信息

4.3、历史记录信息

End

公众号平台更改了推送规则,如果不想错过内容,请点击 “在看” 和 “赞”,感谢支持!

相关文章:

服务器管理平台开发(2)- 设计数据库表

数据库表设计 本篇文章主要对数据管理平台数据库表设计进行介绍,包括单库多表设计、SQL语句、视图构造等 1、整体设计 设备品牌、序列号、型号等使用业务主表进行记录,逻辑磁盘、PCI设备可能出现1对N的情况,分别使用PCI设备表、Mac地址表、逻…...

Python基础知识:整理13 利用pyecharts生成折线图

首先需要安装第三方包pyecharts 1 基础折线图 # 导包,导入Line功能构建折线图对象 from pyecharts.charts import Line # 折线图 from pyecharts.options import TitleOpts # 标题 from pyecharts.options import LegendOpts # 图例 from pyecharts.options im…...

java项目之家政服务中介网(ssm)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的家政服务中介网。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 管理员:首页、个人中…...

Spark的内核调度

目录 概述 RDD的依赖 DAG和Stage DAG执行流程图形成和Stage划分 Stage内部流程 Spark Shuffle Spark中shuffle的发展历程 优化前的Hash shuffle 经过优化后的Hash shuffle Sort shuffle Sort shuffle的普通机制 Job调度流程 Spark RDD并行度 概述 Spark内核调度任务: 1…...

C++代码重用:继承与组合的比较

目录 一、简介 继承 组合 二、继承 三、组合 四、案例说明 4.1一个电子商务系统 4.1.1继承方式 在上述代码中,Order类继承自User类。通过继承,Order类获得了User类的成员函数和成员变量,并且可以添加自己的特性。我们重写了displayI…...

暴打小苹果

欢迎来到程序小院 暴打小苹果 玩法:鼠标左键点击任意区域可发招暴打,在苹果到达圆圈时点击更容易击中, 30秒挑战暴打小苹果,打中一次20分,快去暴打小苹果吧^^。开始游戏https://www.ormcc.com/play/gameStart/247 htm…...

【BetterBench】2024年都有哪些数学建模竞赛和大数据竞赛?

2024年每个月有哪些竞赛? 2024年32个数学建模和数据挖掘竞赛重磅来袭!!! 2024年数学建模和数学挖掘竞赛时间目录汇总 一月 (1)2024年第二届“华数杯”国际大学生数学建模竞赛 报名时间:即日起…...

Vue-9、Vue事件修饰符

1、prevent 阻止默认事件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>事件修饰符</title><!--引入vue--><script type"text/javascript" src"https://cdn.jsdeliv…...

前端面试题集合六(高频)

1、vue实现双向数据绑定原理是什么&#xff1f; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>…...

使用Pygame库创建了一个窗口,并在窗口中加载了一个名为“ball.png“的图片,通过不断改变物体的位置,实现了一个简单的动画效果

import pygame import sys# 初始化Pygame pygame.init()# 创建窗口 screen pygame.display.set_mode((640, 480))# 加载图片 image pygame.image.load("ball.png")# 将物体初始位置设为屏幕左上角 x 0 y 0# 游戏循环 while True:# 处理事件for event in pygame.e…...

常见的AdX程序化广告交易模式有哪些?媒体如何选择恰当的交易模式?

程序化广告的核心目的是&#xff1a;让需求方能自由地选择流量与出价&#xff0c;程序化广告在数字广告投放中的主导地位日益巩固。 程序化广告“交易模式”有哪些&#xff1f;以下是详细解读&#xff0c;帮助媒体选择恰当的交易方式&#xff0c;从而实现广告价值的最大化。 …...

VCG 网格平滑之Laplacian平滑

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 由于物理采样过程固有的局限性,三维扫描仪获得的网格通常是有噪声的。为了消除这种噪声,所谓的平滑算法被开发出来。这类方法有很多,VCG主要为我们提供了一种是较为经典的Laplace平滑算法,这个方法很多库都有实…...

Jupyter Markdown格式

穿插在程序中&#xff0c;太复杂了喧宾夺主&#xff0c;太简单了不如注释。这样就刚刚好&#xff1a; Headers # header 1 ## header 2 ### header 3 #### header 4Output: header 1 header 2 header 3 header 4 2. Horizontal Line Use any of three to draw a horizon…...

Vue3 实时显示时间

记录一下代码&#xff0c;方便以后使用 参考的文章链接 做了以下修改 修改了formateDate方法中传入参数这个不合理的地方给定时器增加了间隔时间增加了取消定时器的方法 <!-- template中的代码 --> <span>当前时间&#xff1a;{{ nowTime }}</span>// sc…...

详解Java多线程之循环栅栏技术CyclicBarrier

第1章&#xff1a;引言 大家好&#xff0c;我是小黑&#xff0c;工作中&#xff0c;咱们经常会遇到需要多个线程协同工作的情况。CyclicBarrier&#xff0c;直译过来就是“循环屏障”。它是Java中用于管理一组线程&#xff0c;并让它们在某个点上同步的工具。简单来说&#xf…...

ebpf学习

学习ebpf相关知识 参考资料: awesome-ebpf 文章目录 初识准备ebpf.io介绍cilium的介绍内核文档Brendan Greggs Blog 的介绍书籍Learning eBPFWhat is eBPF? 交互式环境视频 基础知识学习学习环境搭建书籍阅读 项目落地流程整理环境搭建内核编译bcc环境变量zliblibelflibbpflib…...

【Linux】Linux系统编程——ls命令

【Linux】Linux 系统编程——ls 命令 1.命令概述 ls 命令是 Linux 和其他类 Unix 操作系统中最常用的命令之一。ls 命令是英文单词 list 的缩写&#xff0c;正如 list 的意思&#xff0c;ls 命令用于列出文件系统中的文件和目录。使用此命令&#xff0c;用户可以查看目录中的…...

QA面试题

1、质量保证(QA)是什么&#xff1f; QA代表质量保证。QA 是一组活动&#xff0c;旨在确保开发的软件满足 SRS 文档中提到的所有规范或要求。QA 遵循 PDCA 循环&#xff1a; 计划/Plan - 计划是质量保证的一个阶段&#xff0c;组织在此阶段确定构建高质量软件产品所需的过程。做…...

【国产mcu填坑篇】华大单片机(小华半导体)一、SPI的DMA应用(发送主机)HC32L136

最近需要用华大的hc32l136的硬件SPIDMA传输&#xff0c;瞎写很久没调好&#xff0c;看参考手册&#xff0c;瞎碰一天搞通了。。。 先说下我之前犯的错误&#xff0c;也是最宝贵的经验&#xff0c;供参考 没多看参考手册直接写&#xff08;即使有点烂仍然提供了最高的参考价值。…...

【前后端的那些事】treeSelect树形结构数据展示

文章目录 tree-selector1. 新增表单组件2. 在父组件中引用3. 父组件添加新增按钮4. 树形组件4.1 前端代码4.2 后端代码 前言&#xff1a;最近写项目&#xff0c;发现了一些很有意思的功能&#xff0c;想写文章&#xff0c;录视频把这些内容记录下。但这些功能太零碎&#xff0c…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...