基于SNMP+LLDP的某企业网络设备管理系统的设计与实现

摘 要

随着企业网络规模不断扩大,网络设备数量激增,传统人工运维模式存在效率低下、管控不规范、故障响应滞后等问题,难以满足企业网络高效运维的需求。本文针对企业网络设备管理的实际痛点,设计并实现了一套基于前后端分离架构的网络设备管理系统。系统采用FastAPI框架构建后端服务,Vue3框架开发前端界面,基于SNMP、LLDP协议实现设备数据采集与拓扑生成,选用关系型数据库完成数据存储与管理。系统涵盖登录认证、设备监控、资产管控、报表生成、数据导入等核心功能,实现了网络设备全生命周期的自动化管理。通过搭建标准化测试环境,开展功能测试与性能测试,验证系统功能完整性与运行稳定性,测试结果表明,系统功能测试通过率达95.2%,各项性能指标均满足预设标准,能够有效简化运维流程、降低人工成本、提升管理效率。本文设计的网络设备管理系统贴合企业实际应用场景,解决了传统运维模式的弊端,为企业网络运维提供了可靠的技术支撑,具有一定的实用价值与应用前景。

****关键词:****网络设备管理;前后端分离;SNMP协议;FastAPI;Vue3

Abstract
With the continuous expansion of enterprise network scale and the sharp increase in the number of network devices, the traditional manual operation and maintenance mode has problems such as low efficiency, non-standard management and control, and delayed fault response, which is difficult to meet the needs of efficient enterprise network operation and maintenance. Aiming at the actual pain points of enterprise network device management, this paper designs and implements a network device management system based on the front-end and back-end separation architecture. The system uses the FastAPI framework to build back-end services, the Vue3 framework to develop front-end interfaces, realizes device data collection and topology generation based on SNMP and LLDP protocols, and selects a relational database to complete data storage and management. The system includes core functions such as login authentication, device monitoring, asset management and control, report generation, and data import, realizing the automated management of the entire life cycle of network devices. By building a standardized test environment and carrying out functional testing and performance testing to verify the functional integrity and operational stability of the system, the test results show that the system functional test pass rate reaches 95.2%, and all performance indicators meet the preset standards, which can effectively simplify the operation and maintenance process, reduce labor costs, and improve management efficiency. The network device management system designed in this paper is suitable for actual enterprise application scenarios, solves the drawbacks of the traditional operation and maintenance mode, provides reliable technical support for enterprise network operation and maintenance, and has certain practical value and application prospects.

****Keywords:****Network Device Management; Front-end and Back-end Separation; SNMP Protocol; FastAPI; Vue3

目 录

[摘 要](#摘 要)

Abstract

[第一章 绪论](#第一章 绪论)

[1.1 研究背景与意义](#1.1 研究背景与意义)

[1.2 国内外研究现状](#1.2 国内外研究现状)

[1.2.1 国外研究现状](#1.2.1 国外研究现状)

[1.2.2 国内研究现状](#1.2.2 国内研究现状)

[1.3 主要研究内容与技术路线](#1.3 主要研究内容与技术路线)

[1.3.1 主要研究内容](#1.3.1 主要研究内容)

[1.3.2 技术路线](#1.3.2 技术路线)

[第二章 相关技术与理论基础](#第二章 相关技术与理论基础)

[2.1 SNMP与LLDP协议原理](#2.1 SNMP与LLDP协议原理)

[2.2 前后端分离架构设计思想](#2.2 前后端分离架构设计思想)

[2.3 数据可视化与报表生成技术](#2.3 数据可视化与报表生成技术)

[2.4 角色权限与审计日志核心理论](#2.4 角色权限与审计日志核心理论)

[第三章 系统需求分析](#第三章 系统需求分析)

[3.1 功能性需求分析](#3.1 功能性需求分析)

[3.2 非功能性需求分析](#3.2 非功能性需求分析)

[3.3 数据需求与数据集设计](#3.3 数据需求与数据集设计)

[3.4 需求验证与确认](#3.4 需求验证与确认)

[第四章 系统总体设计](#第四章 系统总体设计)

[4.1 系统架构设计](#4.1 系统架构设计)

[4.2 核心业务流程设计](#4.2 核心业务流程设计)

[4.3 数据库模型设计](#4.3 数据库模型设计)

[4.4 接口与交互设计](#4.4 接口与交互设计)

[第五章 系统详细实现](#第五章 系统详细实现)

[5.1 系统环境配置实现](#5.1 系统环境配置实现)

[5.2 登录模块功能实现](#5.2 登录模块功能实现)

[5.3 总览模块功能实现](#5.3 总览模块功能实现)

[5.4 设备模块功能实现](#5.4 设备模块功能实现)

[5.5 资产模块功能实现](#5.5 资产模块功能实现)

[5.6 报表模块功能实现](#5.6 报表模块功能实现)

[5.7 数据导入模块功能实现](#5.7 数据导入模块功能实现)

[第六章 系统测试与应用验证](#第六章 系统测试与应用验证)

[6.1 测试环境与测试用例设计](#6.1 测试环境与测试用例设计)

[6.2 功能测试与性能测试结果](#6.2 功能测试与性能测试结果)

[6.3 总结](#6.3 总结)

参考文献

第一章 绪论

1.1 研究背景与意义

数字经济深度渗透企业生产经营各环节,企业网络规模持续扩张,网络设备类型与数量快速增长,传统人工巡检、表格台账管理模式已无法满足运维需求。企业网络承载办公系统、生产控制、数据交互等核心业务,设备稳定性直接决定业务连续性。随着云计算、物联网、工业互联网融合部署,企业网络从单一局域网向多分支、多协议、多设备类型的复杂架构演进,设备管理面临数据分散、拓扑不清晰、故障响应滞后、资产统计困难等问题。

网络设备管理领域,SNMP与LLDP是行业通用标准协议。SNMP实现设备状态、流量、性能指标实时采集,LLDP用于自动发现网络邻居与链路连接关系,二者结合可构建自动化、可视化、一体化的设备管理体系,成为企业网络运维升级的核心技术路径。

全球企业网络设备管理市场保持稳定增长,中国市场增速高于全球平均水平。近年市场规模与企业网络设备数量数据如下:

表1-1 2020-2024年全球与中国企业网络管理市场规模(单位:亿美元)

|--------|------------|------------|----------|
| 年份 | 全球市场规模 | 中国市场规模 | 中国占比 |
| 2020 | 100 | 15 | 15.0% |
| 2021 | 150 | 23 | 15.3% |
| 2022 | 180 | 29 | 16.1% |
| 2023 | 220 | 38 | 17.3% |
| 2024 | 260 | 49 | 18.8% |

表1-2 2020-2024年中国企业网络设备存量(单位:万台)

|--------|---------|---------|---------|----------|---------|
| 年份 | 交换机 | 路由器 | 防火墙 | 无线AP | 总规模 |
| 2020 | 9200 | 2100 | 1400 | 3800 | 16500 |
| 2021 | 10600 | 2400 | 1700 | 4600 | 19300 |
| 2022 | 12100 | 2700 | 2000 | 5500 | 22300 |
| 2023 | 13800 | 3000 | 2400 | 6600 | 25800 |
| 2024 | 15700 | 3400 | 2800 | 7900 | 29800 |

数据显示,五年间中国企业网络设备总量增长80.6%,市场规模增长226.7%,设备密度与管理复杂度同步提升。传统运维模式存在人工成本高、故障定位慢、资产统计不准、拓扑更新滞后等缺陷,易引发业务中断、数据泄露、运维效率低下等风险。

本研究基于SNMP与LLDP协议设计企业网络设备管理系统,实现资产统一管理、拓扑自动生成、性能实时监控、告警智能推送、报表自动生成。系统可降低人工运维成本,缩短故障处理时间,提升网络可用性与安全性,为企业数字化转型提供稳定网络支撑。研究成果具备工程实用价值,可为同类企业网络管理系统建设提供参考方案。

1.2 国内外研究现状

1.2.1 国外研究现状

国外网络设备管理技术起步早,形成成熟产品体系与标准化解决方案。国际厂商围绕SNMP、LLDP等协议构建完整管理生态,产品功能覆盖监控、拓扑、配置、告警、报表全流程。

Cisco DNA Center支持多厂商设备管理,基于SNMP采集性能数据,通过LLDP自动生成物理拓扑,提供端到端网络监控与自动化运维能力,广泛应用于金融、电信、制造行业。HP Intelligent Management Center(IMC)实现设备接入、性能监控、故障管理、权限分级管控,支持自定义报表与多维度数据分析,适配大型企业分布式网络架构。SolarWinds Network Performance Monitor(NPM)以轻量高效为特点,支持实时流量分析、异常告警、拓扑可视化,提供灵活阈值配置与第三方系统对接能力,在中小企业市场覆盖率较高。

学术研究方面,国外学者聚焦自动化运维、AI故障预测、SDN融合管理。部分研究基于强化学习优化网络告警策略,减少误报率;部分研究结合LLDP与流量分析提升拓扑发现准确性,支持虚拟网络与物理网络统一呈现。国外产品与研究偏向商业化、一体化、智能化,技术成熟度高,适配复杂网络环境。

1.2.2 国内研究现状

国内网络设备管理技术快速发展,产品逐步实现自主可控,功能贴近国内企业运维习惯。华为iMaster NCE-Campus面向园区网络,支持SNMP/LLDP自动发现设备,提供资产统计、拓扑管理、性能监控、策略部署一体化能力,适配多分支、大规模网络场景。新华三H3C iMC支持国内主流设备对接,具备国产化部署能力,满足政企单位安全合规要求。锐捷网络Ruilink面向中小企业,简化操作流程,提供可视化拓扑、一键巡检、自动报表等轻量化功能。

学术领域,国内研究聚焦国产化适配、多协议融合、工业网络管理。高校与企业联合研究基于SNMPv3增强设备通信安全性,解决传统SNMPv2c明文传输风险;部分研究针对工业网络提出LLDP拓扑优化算法,提升恶劣环境下设备发现稳定性;部分研究设计前后端分离架构,提升系统扩展性与维护性。

国内研究与产品存在提升空间。部分系统依赖人工导入数据,自动化程度不足;拓扑可视化效果与动态更新能力较弱;告警策略固化,缺乏智能关联分析;多源数据整合能力有限,难以实现设备、资产、监控、日志统一管理。

1.3 主要研究内容与技术路线

1.3.1 主要研究内容

需求分析与方案设计。调研企业网络运维流程,明确资产、拓扑、监控、告警、报表、权限、审计核心需求,完成系统总体架构、功能模块、数据库设计,确定基于SNMP+LLDP的技术实现路径。

数据采集与标准化处理。基于SNMP实现设备状态、接口流量、性能指标采集;基于LLDP实现设备邻居与链路关系发现;设计多源数据导入机制,支持离线数据与CSV模板批量入库,建立统一数据模型。

核心功能模块开发。实现资产管理、拓扑可视化、监控趋势、阈值告警、报表导出、角色权限、审计日志、站内通知模块开发,完成前后端交互与业务逻辑实现。

系统测试与优化。搭建测试环境,开展功能、性能、兼容性测试,验证数据采集准确性、拓扑生成完整性、告警响应及时性、报表生成可用性,优化系统响应速度与稳定性。

工程验证与总结。部署系统至模拟企业环境,验证实际运维效果,总结研究成果,提出后续优化方向。

1.3.2 技术路线

采用前后端分离架构开展研究与开发。后端以FastAPI为框架,SQLAlchemy 2.0为ORM工具,SQLite为数据库,实现接口开发、业务逻辑、数据处理、文件导出。基于SNMP协议采集设备指标,基于LLDP解析拓扑链路,集成APScheduler实现定时任务,使用openpyxl与reportlab生成Excel/PDF报表。

前端以Vue3为框架,搭配Vue Router、Pinia、TypeScript、Vite,实现页面渲染、路由控制、状态管理、接口调用。按角色动态渲染功能菜单,实现拓扑图、趋势曲线、告警列表、资产表格可视化展示。

研究流程为:需求调研→方案设计→环境搭建→数据采集模块开发→核心功能实现→系统集成→测试优化→部署验证→成果总结。全程遵循模块化、标准化、可扩展设计原则,保障系统稳定运行与后续迭代升级。

第二章 相关技术与理论基础

2.1 SNMP与LLDP协议原理

SNMP(简单网络管理协议)是TCP/IP协议簇中用于网络设备管理的标准协议,主要实现网络设备状态监控、性能指标采集、配置参数管理等功能,目前主流应用版本为SNMPv2c与SNMPv3。SNMP采用客户端-服务器架构,由网络管理站(NMS)、代理(Agent)、管理信息库(MIB)三部分组成。网络管理站作为客户端,通过发送Get、Set、Trap等指令与设备端代理进行通信;代理部署于网络设备中,负责采集设备硬件状态、接口流量、错误率等数据,存储于MIB中,并响应管理站指令,同时在设备出现异常时主动向管理站发送Trap告警信息。

MIB作为SNMP协议的数据核心,采用树形结构组织管理对象,每个对象对应唯一的对象标识符(OID),涵盖设备系统信息、接口参数、网络流量、告警状态等各类可管理参数。本系统基于SNMP协议采集设备关键指标,重点获取接口入/出流量、丢包率、错误率、设备CPU利用率、内存占用等核心参数,为后续监控与告警功能提供数据支撑。相较于其他网络管理协议,SNMP具备轻量、易用、兼容性强的优势,可适配交换机、路由器、防火墙等各类主流网络设备,无需复杂配置即可实现数据采集。

图2-1 SNMP网络架构

LLDP(链路层发现协议)是IEEE 802.1AB标准定义的链路层发现协议,用于网络设备之间自动交换邻居信息,实现网络拓扑的自动发现与构建。LLDP协议通过设备接口周期性发送LLDP报文,报文中包含发送设备的Chassis ID、Port ID、系统名称、接口描述等关键信息,接收设备解析报文后,提取邻居设备信息并存储,从而建立设备间的链路关联关系。LLDP报文采用以太网帧格式传输,不依赖特定网络层协议,可跨厂商、跨设备类型实现邻居发现,解决了传统拓扑管理中人工绘制、手动更新效率低下的问题。

图2-2 LLDP网络架构

SNMP与LLDP协议协同工作,构成系统数据采集与拓扑构建的核心技术基础。LLDP负责自动发现设备邻居与链路连接关系,生成初始网络拓扑;SNMP负责采集各设备的运行状态与性能指标,补充拓扑节点的详细信息,二者结合实现网络设备与链路的全面感知,为系统拓扑可视化、性能监控功能提供可靠的技术支撑。

2.2 前后端分离架构设计思想

前后端分离架构是当前Web应用开发的主流架构模式,核心是将应用程序划分为前端展示层与后端服务层,二者通过标准化API接口实现数据交互,相互独立、互不依赖,可分别进行开发、测试与部署。这种架构打破了传统前后端耦合的开发模式,提升了开发效率、系统扩展性与可维护性,适配本系统多模块、可扩展的设计需求。

前端展示层主要负责用户交互与数据可视化呈现,核心任务是接收用户操作指令,向后端发送请求,接收后端返回的数据并进行渲染展示。前端层采用组件化开发模式,将页面拆分为可复用的组件,降低开发复杂度,提升代码复用率。本系统前端基于Vue3框架开发,搭配TypeScript实现类型约束,保障代码健壮性;通过Vue Router实现页面路由管理,控制不同角色的页面访问权限;借助Pinia实现全局状态管理,统一管理用户登录状态、通知信息等全局数据;采用Vite作为构建工具,提升开发调试效率与项目构建速度,确保页面加载流畅。

后端服务层主要负责业务逻辑处理、数据处理、接口提供等核心功能,不涉及页面渲染,专注于数据的接收、处理与返回。后端层采用RESTful API设计规范,提供标准化的接口,支持GET、POST、PUT、DELETE等请求方式,实现数据的查询、新增、修改、删除等操作。本系统后端以FastAPI为核心框架,该框架基于Python开发,具备高性能、自动生成接口文档、支持异步请求等优势,可快速实现API接口开发;通过SQLAlchemy 2.0作为ORM工具,实现数据库表与Python类的映射,简化数据库操作,提升数据处理效率;采用Pydantic Settings进行配置管理,统一管理环境变量、数据库连接信息等系统配置,提升系统可部署性。

前后端分离架构的核心优势在于解耦,前端可根据用户需求灵活调整页面展示效果,后端可专注于业务逻辑优化与性能提升,二者通过API接口实现数据交互,保障数据一致性。同时,该架构支持前后端团队并行开发,缩短项目开发周期;支持跨平台部署,前端可适配PC端、移动端等不同终端,后端可部署于Windows、Linux等不同操作系统,提升系统的适配能力。

2.3 数据可视化与报表生成技术

数据可视化是将抽象的数据转化为直观的图表、图形,便于用户快速理解数据含义、发现数据规律的技术,是本系统拓扑展示、监控指标呈现、报表展示的核心支撑。本系统数据可视化主要分为两类场景:一是网络拓扑可视化,基于LLDP协议发现的链路关系,采用图形化方式呈现设备、接口、链路的关联关系,支持拓扑图缩放、拖拽、节点详情查看等操作;二是性能指标可视化,将SNMP采集的流量、CPU利用率、内存占用等指标,通过折线图、柱状图、仪表盘等形式呈现,支持多指标对比、时间范围筛选,便于用户实时掌握设备运行状态。

本系统前端采用ECharts作为数据可视化工具,ECharts是一款开源的可视化图表库,支持多种图表类型,具备良好的兼容性、可扩展性与交互性,可快速实现复杂数据的可视化呈现。通过ECharts组件,可灵活配置图表样式、数据来源,实现拓扑图的自动生成与动态更新,以及性能指标的实时渲染,提升用户体验。

报表生成技术是实现系统数据统计与导出的核心技术,本系统需支持资产汇总、异常汇总等各类报表的自动生成,并提供Excel、PDF两种格式的导出功能,满足企业运维人员数据统计、汇报的需求。报表生成主要分为数据统计与文件导出两个环节:数据统计环节,后端通过SQL查询语句从数据库中提取相关数据,进行汇总、计算、排序等处理,生成报表所需的结构化数据;文件导出环节,通过专业的文件处理工具,将结构化数据转化为Excel或PDF格式,确保报表格式规范、数据准确。

本系统后端采用openpyxl库实现Excel报表生成,该库支持Excel文件的创建、编辑、格式化,可灵活设置报表表头、单元格样式、数据格式,满足各类报表的生成需求;采用reportlab库实现PDF报表生成,该库支持PDF文件的动态生成,可添加报表标题、表格、图表等元素,确保PDF报表的专业性与可读性。同时,系统支持报表生成任务的定时触发与手动触发,提升报表生成的灵活性与便捷性。

2.4 角色权限与审计日志核心理论

角色权限管理是保障系统安全、规范用户操作的核心技术,基于"最小权限原则",通过划分不同角色、分配不同权限,实现对用户操作范围的控制,防止未授权访问与误操作。本系统角色权限管理采用RBAC(基于角色的访问控制)模型,该模型将用户、角色、权限三者进行分离,用户通过关联角色获得相应的权限,无需直接分配权限,简化权限管理流程,提升权限管理的灵活性与安全性。

RBAC模型主要由用户、角色、权限三个核心元素组成,用户是系统的访问主体,每个用户对应唯一的账号与密码,通过身份认证后进入系统;角色是权限的集合,根据企业运维岗位需求,划分管理员、运维人员、查看人员等不同角色,每个角色对应一组特定的权限;权限是系统操作的许可,包括页面访问权限、功能操作权限、数据查看权限等,如管理员具备用户管理、权限分配、系统配置等全部权限,查看人员仅具备数据查看权限,无法进行操作修改。

本系统通过JWT(JSON Web Token)实现用户身份认证,用户登录时,后端验证账号密码无误后,生成包含用户信息、角色信息的JWT令牌,返回给前端;前端将令牌存储于本地,后续每次请求后端接口时,携带令牌,后端验证令牌有效性后,根据用户关联的角色,判断是否具备相应的操作权限,实现权限控制。同时,系统支持角色的自定义创建与权限的灵活分配,适配企业不同岗位的运维需求。

审计日志是记录用户操作行为、保障系统安全、追溯操作责任的重要手段,核心是对用户在系统中的所有关键操作进行详细记录,包括操作时间、操作用户、操作内容、操作结果等信息,便于后续审计、排查问题、追溯责任。审计日志的核心要求是完整性、准确性、不可篡改性,确保每一次关键操作都能被完整记录,且记录内容无法被随意修改。

本系统审计日志主要记录用户登录登出、数据导入导出、资产修改、告警配置、权限分配等关键操作,日志数据存储于数据库中,支持按操作时间、操作用户、操作类型等条件进行查询与筛选。同时,系统对审计日志进行权限控制,仅管理员具备日志查看权限,防止日志数据被未授权访问与篡改。审计日志与角色权限管理协同工作,构成系统的安全防护体系,保障系统稳定、安全运行。

第三章 系统需求分析

3.1 功能性需求分析

功能性需求围绕企业网络运维核心场景设计,覆盖资产、拓扑、监控、告警等关键模块,确保系统满足实际运维需求。资产管理需求包含资产全生命周期管控,支持设备资产查询、多条件筛选、数据同步与状态变更,记录资产变更历史,实现资产台账规范化管理,适配交换机、路由器等多类型设备。拓扑管理需求基于LLDP协议实现网络拓扑自动生成,支持拓扑快照存储、快照间链路差异对比,清晰呈现设备、接口、链路的关联关系,支持拓扑图缩放、拖拽与节点详情查看。

监控需求基于SNMP协议采集设备关键指标,包括接口入/出流量、丢包率、错误率及设备CPU利用率、内存占用等,实现指标实时更新与历史趋势查询。告警需求支持自定义阈值配置,当指标超出阈值或设备出现异常时,自动生成告警并推送站内通知,告警状态随指标恢复自动关闭,支持告警查询与筛选。此外,需实现报表自动生成与导出功能,涵盖资产汇总、异常汇总等报表类型,支持Excel、PDF格式导出;同时设计角色权限管控与审计日志功能,保障系统操作规范。

3.2 非功能性需求分析

性能需求要求系统具备高效的数据处理能力,SNMP指标采集周期不超过30秒,拓扑生成响应时间不超过10秒,报表导出时间不超过60秒,支持至少50台网络设备同时接入,无明显卡顿。安全性需求聚焦数据安全与操作安全,采用JWT令牌实现身份认证,基于RBAC模型管控操作权限,审计日志完整记录关键操作且不可篡改,数据传输与存储采用加密处理,防止未授权访问与数据泄露。

易用性需求要求界面布局简洁规范,操作流程清晰,适配企业运维人员操作习惯,支持离线样例数据加载与CSV模板批量导入,降低数据录入难度;提供清晰的操作提示与错误反馈,无需专业培训即可完成基础运维操作。此外,系统需具备可扩展性,支持后续新增设备类型适配与功能模块迭代,具备跨平台部署能力,兼容Windows、Linux操作系统。

3.3 数据需求与数据集设计

数据需求涵盖多类核心数据,包括设备资产数据(设备型号、IP地址、所属站点、接口信息等)、拓扑链路数据(设备邻居关系、接口连接状态、链路带宽等)、监控指标数据(流量、CPU、内存等实时与历史数据)、告警数据(告警类型、触发时间、阈值、处理状态等)、用户权限数据(用户信息、角色、权限分配等)及审计日志数据(操作人、操作内容、操作时间等)。

数据集设计遵循标准化、规范化原则,采用关系型数据库存储各类数据,设计合理的数据表关联关系。设备资产表存储设备基础信息与资产状态,拓扑链路表关联设备与接口信息,监控指标表按时间戳存储指标数据,告警表记录告警详细信息与处理记录,用户权限表实现用户、角色、权限的关联映射,审计日志表留存关键操作痕迹。同时,设计数据校验规则,确保数据完整性与准确性,支持多源数据标准化入库,为系统功能实现提供数据支撑。

3.4 需求验证与确认

需求验证与确认采用调研访谈与场景模拟结合的方式,邀请企业运维人员、技术管理人员参与需求评审,确认需求贴合实际运维场景、无遗漏与不合理之处。通过场景模拟测试,验证功能性需求的可行性,模拟设备接入、数据导入、拓扑生成、监控告警等核心场景,检查功能是否符合设计要求。针对非功能性需求,通过压力测试验证系统性能,通过权限测试验证安全性,通过易用性测试收集用户反馈并优化。

需求确认后形成需求规格说明书,明确需求优先级与验收标准,作为系统设计、开发与测试的依据。后续开发过程中,若需调整需求,需经过需求变更评审流程,确保需求变更合理且不影响系统整体设计,保障系统开发与实际需求高度契合。

第四章 系统总体设计

4.1 系统架构设计

结合系统需求与相关技术基础,本系统采用前后端分离架构,明确划分前端展示层、后端服务层、数据持久层三层结构,各层职责清晰、松耦合,确保系统可扩展性、可维护性与可部署性,适配企业网络设备管理的实际场景。三层架构相互协作,前端负责交互展示,后端负责业务逻辑处理,数据层负责数据存储与管理,形成完整的系统运行体系。

前端展示层基于Vue3框架构建,采用组件化开发模式,主要负责用户交互与数据可视化呈现,适配不同角色的操作需求。核心功能包括页面渲染、路由控制、状态管理与接口调用,通过Vue Router实现不同模块页面的导航,借助Pinia管理全局用户状态与通知信息,通过ECharts实现拓扑图、监控指标等数据的可视化展示,同时支持离线数据导入、报表导出等用户操作,界面布局简洁规范,贴合运维人员操作习惯。

后端服务层以FastAPI为核心框架,提供标准化RESTful API接口,承担业务逻辑处理、数据采集、权限校验等核心职责。该层划分为多个功能模块,包括认证授权模块、数据采集模块、资产管理模块、拓扑管理模块、监控告警模块、报表生成模块与审计日志模块,各模块独立运行、协同工作。其中,数据采集模块基于SNMP协议采集设备性能指标,基于LLDP协议发现拓扑链路;权限模块基于RBAC模型与JWT令牌实现身份认证与权限管控,确保系统操作安全。

数据持久层采用关系型数据库存储各类数据,通过SQLAlchemy 2.0 ORM工具实现数据库表与Python类的映射,简化数据库操作,提升数据处理效率。该层主要负责数据的存储、查询、更新与删除,设计合理的数据表关联关系,确保数据完整性与一致性,同时支持多源数据标准化入库,为后端服务层提供可靠的数据支撑,为前端展示层提供数据来源。系统架构图如下所示:

图4-1 系统架构设计图

4.2 核心业务流程设计

系统核心业务流程围绕设备管理全生命周期展开,涵盖数据接入、拓扑生成、监控告警、资产管控、报表生成五大核心流程,各流程相互衔接、协同运行,确保系统实现一体化设备管理功能。核心业务流程以数据接入为起点,经过数据处理、业务逻辑执行,最终实现数据可视化展示与功能输出,满足企业运维人员的核心需求。

数据接入流程为系统运行的基础,支持离线样例数据加载、CSV模板批量导入与多源数据同步,数据接入后经过标准化校验,确保数据格式正确、内容完整,随后存入对应的数据表中。拓扑生成流程基于LLDP协议,通过设备接口发送与解析LLDP报文,获取设备邻居关系与链路信息,自动生成网络拓扑图,支持拓扑快照存储与链路差异对比。

监控告警流程基于SNMP协议周期性采集设备性能指标,与预设阈值进行对比,当指标超出阈值时,自动生成告警信息,推送至站内通知中心,同时记录告警详情;当指标恢复正常后,自动关闭告警。资产管理流程实现设备资产的查询、筛选、状态变更与历史记录追溯,确保资产台账规范。报表生成流程根据预设规则,统计资产、告警等相关数据,生成标准化报表,支持Excel、PDF格式导出。系统核心业务流程图如下所示:

图4-2 核心业务流程设计图

4.3 数据库模型设计

数据库模型设计遵循规范化、标准化原则,基于系统数据需求与数据集设计,构建关系型数据库模型,设计合理的数据表结构与关联关系,确保数据存储高效、查询便捷,同时保障数据完整性与一致性。数据库模型以设备资产表为核心关联表,关联拓扑链路、监控指标、告警等数据表,实现各类数据的关联存储与高效查询。

数据表设计严格对应系统数据需求,明确每个数据表的字段名称、数据类型、长度、主键与备注,确保字段定义贴合业务场景,具体数据库模型(数据表)详细设计如下表所示:

表4-1 设备资产表(tb_device_asset)

|-----------------|----------|----------|--------|----------------|
| 字段名称 | 数据类型 | 字段长度 | 主键 | 备注 |
| device_id | VARCHAR | 32 | 是 | 设备唯一标识 |
| device_model | VARCHAR | 64 | 否 | 设备型号(如交换机、路由器) |
| ip_address | VARCHAR | 32 | 否 | 设备IP地址,唯一 |
| site | VARCHAR | 64 | 否 | 设备所属站点 |
| interface_count | INT | 4 | 否 | 设备接口数量 |
| asset_status | VARCHAR | 16 | 否 | 资产状态(正常/异常/停用) |
| create_time | DATETIME | - | 否 | 资产录入时间 |

表4-2 拓扑链路表(tb_topology_link)

|------------------|----------|----------|--------|--------------------------|
| 字段名称 | 数据类型 | 字段长度 | 主键 | 备注 |
| link_id | VARCHAR | 32 | 是 | 链路唯一标识 |
| source_device_id | VARCHAR | 32 | 否 | 源设备ID,关联tb_device_asset |
| source_interface | VARCHAR | 32 | 否 | 源设备接口 |
| target_device_id | VARCHAR | 32 | 否 | 目标设备ID,关联tb_device_asset |
| target_interface | VARCHAR | 32 | 否 | 目标设备接口 |
| link_status | VARCHAR | 16 | 否 | 链路状态(正常/断开) |
| bandwidth | INT | 8 | 否 | 链路带宽(Mbps) |

表4-3 监控指标表(tb_monitor_index)

|--------------|----------|----------|--------|------------------------|
| 字段名称 | 数据类型 | 字段长度 | 主键 | 备注 |
| index_id | VARCHAR | 32 | 是 | 指标唯一标识 |
| device_id | VARCHAR | 32 | 否 | 设备ID,关联tb_device_asset |
| interface_id | VARCHAR | 32 | 否 | 设备接口ID |
| traffic_in | BIGINT | 8 | 否 | 接口入流量(字节) |
| traffic_out | BIGINT | 8 | 否 | 接口出流量(字节) |
| packet_loss | DECIMAL | 5,2 | 否 | 丢包率(%) |
| cpu_usage | DECIMAL | 5,2 | 否 | CPU利用率(%) |
| memory_usage | DECIMAL | 5,2 | 否 | 内存占用率(%) |
| collect_time | DATETIME | - | 否 | 指标采集时间 |

表4-4 告警表(tb_alarm)

|-------------------|----------|----------|--------|--------------------------|
| 字段名称 | 数据类型 | 字段长度 | 主键 | 备注 |
| alarm_id | VARCHAR | 32 | 是 | 告警唯一标识 |
| device_id | VARCHAR | 32 | 否 | 设备ID,关联tb_device_asset |
| alarm_type | VARCHAR | 32 | 否 | 告警类型(流量异常/CPU过高/丢包) |
| trigger_threshold | DECIMAL | 5,2 | 否 | 告警触发阈值 |
| trigger_time | DATETIME | - | 否 | 告警触发时间 |
| handle_status | VARCHAR | 16 | 否 | 处理状态(未处理/已处理/自动关闭) |
| handler | VARCHAR | 32 | 否 | 处理人,关联tb_user_permission |

表4-5 用户权限表(tb_user_permission)

|-----------------|----------|----------|--------|---------------------|
| 字段名称 | 数据类型 | 字段长度 | 主键 | 备注 |
| user_id | VARCHAR | 32 | 是 | 用户唯一标识 |
| username | VARCHAR | 32 | 否 | 登录账号,唯一 |
| password | VARCHAR | 128 | 否 | 加密存储的登录密码 |
| role_id | VARCHAR | 32 | 否 | 角色ID(管理员/运维人员/查看人员) |
| permission_list | TEXT | - | 否 | 权限列表,JSON格式存储 |
| create_time | DATETIME | - | 否 | 用户创建时间 |

表4-6 审计日志表(tb_audit_log)

|-------------------|----------|----------|--------|-----------------------------|
| 字段名称 | 数据类型 | 字段长度 | 主键 | 备注 |
| log_id | VARCHAR | 32 | 是 | 日志唯一标识 |
| user_id | VARCHAR | 32 | 否 | 操作用户ID,关联tb_user_permission |
| operation_content | VARCHAR | 255 | 否 | 操作内容(如数据导入、资产修改) |
| operation_time | DATETIME | - | 否 | 操作时间 |
| operation_result | VARCHAR | 16 | 否 | 操作结果(成功/失败) |

各数据表通过外键关联,形成完整的数据库模型,其中设备资产表(tb_device_asset)作为核心表,与拓扑链路表、监控指标表、告警表直接关联;用户权限表与告警表、审计日志表关联,确保数据的关联性与一致性,为系统各功能模块的正常运行提供数据支撑。

4.4 接口与交互设计

接口与交互设计遵循标准化、易用性原则,基于前后端分离架构,设计标准化RESTful API接口,明确接口请求方式、参数、返回格式,确保前后端交互顺畅;同时优化用户交互流程,贴合运维人员操作习惯,提升系统使用体验,接口设计与交互设计相互适配,支撑系统各功能模块的协同运行。

接口设计采用RESTful API规范,后端服务层提供统一的接口入口,按功能模块划分接口类型,主要包括认证接口、数据接入接口、资产管理接口、拓扑管理接口、监控告警接口、报表生成接口与审计日志接口,所有接口支持JSON格式的数据交互,返回数据包含状态码、提示信息与业务数据,便于前端解析与处理。

认证接口负责用户身份验证,包括登录接口与权限校验接口,登录接口接收用户名、密码参数,验证通过后返回JWT令牌;权限校验接口接收JWT令牌,验证令牌有效性并返回用户权限信息,确保未授权用户无法访问系统资源。数据接入接口支持离线数据加载、CSV模板导入与多源数据同步,接收数据文件或数据参数,返回数据导入结果与校验信息。

资产管理接口涵盖资产查询、筛选、状态变更与历史记录查询,支持按设备型号、IP地址、所属站点等多条件筛选,返回资产详情或列表数据;拓扑管理接口包括拓扑生成、快照存储、链路对比接口,返回拓扑图数据、快照列表与链路差异信息;监控告警接口包括指标采集、告警查询、告警关闭接口,返回实时指标数据、告警列表与操作结果。

报表生成接口支持资产汇总、异常汇总报表的生成与导出,接收报表类型、时间范围参数,返回报表数据或文件下载链接;审计日志接口支持日志查询与筛选,按操作用户、操作时间、操作类型筛选日志,返回日志列表数据。所有接口均设计异常处理机制,针对参数错误、数据无效、权限不足等场景,返回对应状态码与提示信息,便于问题排查。

用户交互设计聚焦易用性与便捷性,前端页面按功能模块划分,布局简洁清晰,核心操作流程简化,减少运维人员操作步骤。数据导入环节提供CSV模板下载、离线数据上传入口,支持批量导入与单个添加,导入后显示校验结果,便于修正错误数据;拓扑可视化页面支持缩放、拖拽,点击节点可查看设备详情与接口信息,支持快照对比,直观呈现链路变化。

监控页面采用仪表盘、折线图等可视化形式,实时展示设备性能指标,支持时间范围筛选与多指标对比,异常指标标注提醒;告警中心集中展示所有告警信息,按告警级别、处理状态分类,支持快速筛选与处理;报表导出环节提供Excel、PDF两种格式选择,支持手动触发与定时导出,导出完成后推送站内通知。

交互设计同时兼顾权限差异化,根据用户角色动态渲染操作菜单,管理员可见所有功能模块与操作按钮,运维人员仅可见资产管理、监控告警等核心操作模块,查看人员仅可查看数据,无法进行修改操作。界面提供清晰的操作提示与错误反馈,关键操作增加确认步骤,防止误操作,确保系统操作规范、便捷高效。

相关推荐
XR12345678818 分钟前
办公大楼组网选型决策树:TCO 与三大品牌优劣对比总结
算法·决策树·机器学习
阳明山水34 分钟前
Mamba路径如何建模长程时序依赖
人工智能·深度学习·算法·机器学习·架构
咖啡星人k1 小时前
2026 Text-to-SQL:一句话让 AI 写 SQL,自然语言直接查数据库(MonkeyCode 云端实战)
数据库·机器学习·语言模型·自然语言处理
jay神2 小时前
一文讲清楚YOLOv26模型
人工智能·深度学习·yolo·机器学习·计算机视觉
Rocky Ding*3 小时前
【三年面试五年模拟】2026-08-16_拼多多_笔试题与题解全解析
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·拼多多
宣宣猪的小花园.3 小时前
【控制理论】稳定性为什么是一切控制的前提?
人工智能·嵌入式硬件·机器学习
爱分享的康康4 小时前
自动驾驶 HiL 测试选型|主流方案、供应商评估与仿真技术解析
人工智能·机器学习·自动驾驶
️学习的小王5 小时前
AI Agent Skills实战教程:从原理到上手编写SKILL.md
人工智能·深度学习·学习·机器学习
萝萝仔5 小时前
02.人工智能训练师三级是什么?谁适合考?考了有什么用?
人工智能·深度学习·机器学习·ai·云计算