标题:基于SNMP+LLDP的企业网络设备管理系统

文档介绍:

第一章 绪论

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两种格式选择,支持手动触发与定时导出,导出完成后推送站内通知。

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

第五章 系统详细实现

5.1 系统环境配置实现

系统环境配置基于前后端分离架构,分别完成前端、后端与数据库环境的搭建与配置,确保各环境兼容适配,保障系统稳定运行。后端环境选用Python 3.9版本,搭建FastAPI框架运行环境,通过pip工具安装SQLAlchemy 2.0、APScheduler、openpyxl等依赖包,配置环境变量与数据库连接信息,设置SNMP采集周期、LLDP报文解析参数,完成后端服务的启动配置。前端环境选用Node.js 16版本,基于Vue3+TypeScript搭建开发环境,安装Vue Router、Pinia、ECharts等依赖,通过Vite工具配置项目打包参数,实现前端页面的本地运行与调试。数据库选用关系型数据库,创建数据库实例,配置字符编码与连接池参数,执行SQL脚本创建各功能数据表,建立数据表关联关系。环境配置完成后,进行联调测试,确保前后端接口通信正常、数据读写顺畅,系统可正常启动运行。系统环境配置界面图如图所示。

图5-1 系统环境配置界面图

5.2 登录模块功能实现

登录模块实现用户身份认证与权限校验功能,基于RBAC模型与JWT令牌机制开发,保障系统操作安全。前端页面设计登录表单,包含用户名、密码输入框与登录按钮,添加表单验证逻辑,校验输入内容的完整性与格式正确性,提交表单时对密码进行加密处理后发送至后端接口。后端接口接收登录参数,查询用户权限表验证用户名与密码的有效性,验证通过后生成包含用户信息、角色权限的JWT令牌,返回给前端;验证失败则返回错误提示信息。前端接收令牌后存储于本地,后续请求接口时携带令牌,后端对令牌进行有效性校验,校验通过则根据用户角色返回对应操作权限,校验失败则跳转至登录页面。同时实现登录异常处理,对密码错误、令牌过期等场景进行提示,确保登录功能安全可靠。登录模块界面图如图所示。

图5-2 登录模块界面图

5.3 总览模块功能实现

总览模块作为系统首页,实现系统核心数据的集中可视化展示,为运维人员提供全局视角。前端基于ECharts工具设计总览页面,布局包含设备状态统计、告警统计、流量趋势、拓扑缩略图四个核心区域。后端接口整合设备资产表、监控指标表、告警表数据,统计在线设备数量、异常设备数量、未处理告警数量,查询近24小时核心监控指标趋势数据,提取拓扑链路核心信息。前端接收后端数据后,通过仪表盘展示设备在线率、告警处理率,通过折线图展示流量变化趋势,通过缩略图展示网络拓扑概览,点击各区域可跳转至对应功能模块。模块支持数据实时刷新,设置刷新周期与手动刷新按钮,确保展示数据与系统实际状态一致,便于运维人员快速掌握系统整体运行情况。总览模块界面图如图所示。

图5-3 总览模块界面图

5.4 设备模块功能实现

设备模块实现网络设备的全面管理,涵盖设备查询、状态监控、接口管理等核心功能。前端设计设备列表页面,支持按设备型号、IP地址、所属站点等多条件筛选,展示设备ID、型号、IP地址、资产状态、CPU利用率等核心信息,支持分页查询与详情查看。点击设备详情可跳转至设备详情页面,展示设备接口信息、实时监控指标、关联链路与历史告警记录。后端接口实现设备数据的查询、筛选功能,基于SNMP协议周期性采集设备运行指标,更新设备状态,提供接口详情查询与指标历史趋势查询接口。模块支持设备状态手动刷新,当设备出现异常时,页面实时标注提醒,关联告警信息,便于运维人员快速定位设备问题,实现设备全生命周期的动态管理。设备模块界面图如图所示。

图5-4 设备模块界面图

5.5 资产模块功能实现

资产模块实现设备资产的规范化管理,覆盖资产查询、状态变更、历史记录追溯等功能。前端设计资产列表页面,展示设备资产的完整信息,支持多条件筛选、排序与分页操作,提供资产状态变更按钮,可将设备状态修改为正常、异常、停用。设计资产变更历史页面,展示资产状态变更记录、操作人、操作时间等信息,支持历史记录查询与筛选。后端接口实现资产数据的查询、更新功能,修改资产状态时同步记录变更历史,存入审计日志表,确保资产变更可追溯。模块支持资产批量操作,可批量修改资产状态、批量导出资产信息,同时添加资产数据校验逻辑,防止无效数据录入,确保资产台账的准确性与规范性,满足企业资产管控需求。资产模块界面图如图所示。

图5-5 资产模块界面图

5.6 报表模块功能实现

报表模块实现资产汇总、异常汇总等报表的自动生成与导出功能,满足运维人员数据统计与汇报需求。前端设计报表生成页面,提供报表类型选择、时间范围筛选功能,支持手动触发报表生成,展示报表生成状态与历史报表列表。后端接口根据选择的报表类型,从数据库中提取对应数据,进行汇总、计算与格式化处理,生成标准化报表数据,通过openpyxl、reportlab库将报表数据转化为Excel、PDF格式。报表生成完成后,前端提供下载链接,支持在线预览与本地保存,同时推送站内通知提醒用户。模块支持报表定时生成配置,可设置生成周期,自动生成并保存报表,历史报表支持查询、筛选与重新导出,确保报表数据的完整性与可追溯性。报表模块界面图如图所示。

图5-6 报表模块界面图

5.7 数据导入模块功能实现

数据导入模块实现多源数据的标准化入库,支持离线样例数据加载、CSV模板批量导入与多源数据同步,降低数据录入难度。前端设计数据导入页面,提供CSV模板下载入口、离线数据上传按钮,展示导入进度与校验结果,支持单次导入与批量导入。后端接口接收导入的数据文件或数据参数,按照数据校验规则对导入数据进行格式、内容校验,筛选出无效数据并提示错误原因,有效数据按标准化格式处理后,存入对应数据表。模块支持多源数据适配,兼容NetBox、SWITCH等数据源的数据格式,实现数据同步更新,导入完成后生成导入报告,展示导入成功数量、失败数量及失败原因,便于用户修正数据,确保导入数据的准确性与完整性。数据导入模块界面图如图所示。

图5-7 数据导入模块界面图

第六章 系统测试与应用验证

6.1 测试环境与测试用例设计

为确保系统功能完整性、性能稳定性,搭建标准化测试环境,设计全面的测试用例,覆盖系统所有核心功能与非功能性需求,确保测试结果真实有效,为系统优化与应用部署提供依据。测试环境采用前后端分离部署模式,与实际应用环境保持一致,具体测试环境配置如下表所示:

表6-1 系统测试环境配置表

环境类型

硬件配置

软件配置

备注

后端服务器

CPU:Intel Core i5-12400,内存:16GB,硬盘:512GB SSD

操作系统:Windows 10 Professional,Python 3.9,FastAPI 0.103.1

部署后端服务与数据采集模块

前端测试机

CPU:Intel Core i5-10400,内存:8GB,硬盘:256GB SSD

操作系统:Windows 10 Professional,Node.js 16,Chrome 120.0

运行前端项目,模拟用户操作

数据库服务器

CPU:Intel Core i5-12400,内存:16GB,硬盘:1TB SSD

操作系统:Windows Server 2019,关系型数据库,SQLAlchemy 2.0

存储测试数据,支撑前后端数据交互

测试设备

交换机2台、路由器1台、防火墙1台

支持SNMP、LLDP协议,模拟企业实际网络设备

用于数据采集、拓扑生成测试

测试用例设计遵循全面性、针对性原则,分为功能测试用例与性能测试用例,覆盖第五章实现的所有功能模块及非功能性需求。功能测试用例聚焦各模块核心功能,明确测试目的、测试步骤、预期结果;性能测试用例针对系统响应速度、并发处理能力等指标设计,具体核心测试用例如下表所示:

表6-2 系统核心测试用例表

测试类型

测试模块

测试目的

测试步骤

预期结果

功能测试

登录模块

验证登录功能与权限校验有效性

1. 输入正确用户名密码;2. 输入错误密码;3. 令牌过期后访问接口

1. 登录成功,跳转首页;2. 提示密码错误;3. 跳转登录页面

功能测试

设备模块

验证设备查询、监控功能有效性

1. 多条件筛选设备;2. 查看设备详情;3. 手动刷新设备状态

1. 筛选结果准确;2. 详情完整;3. 状态实时更新

功能测试

报表模块

验证报表生成与导出功能

1. 选择报表类型与时间范围;2. 生成报表;3. 导出Excel/PDF格式

报表生成成功,导出文件格式规范、数据准确

性能测试

整体系统

验证系统响应速度与并发能力

1. 50台设备同时接入;2. 10用户并发操作;3. 导出大型报表

响应时间≤10秒,无卡顿、无数据丢失

6.2 功能测试与性能测试结果

按照设计的测试用例,在测试环境中开展功能测试与性能测试,采用手动测试与自动化测试结合的方式,确保测试结果准确可靠。功能测试覆盖登录、总览、设备、资产、报表、数据导入6个核心模块,共设计测试用例42条,测试结果如下表所示:

表6-3 系统功能测试结果表

测试模块

测试用例数

通过数

失败数

通过率

失败原因

登录模块

6

6

0

100%

总览模块

7

7

0

100%

设备模块

8

7

1

87.5%

部分接口详情显示延迟

资产模块

7

7

0

100%

报表模块

7

6

1

85.7%

PDF报表部分格式错乱

数据导入模块

7

7

0

100%

合计

42

40

2

95.2%

2处细节问题,不影响核心功能

性能测试聚焦系统响应速度、并发处理能力、数据采集效率3个核心指标,模拟企业实际应用场景开展测试,测试结果如下表所示:

表6-4 系统性能测试结果表

性能指标

测试标准

测试结果

是否达标

SNMP指标采集周期

≤30秒

25秒

拓扑生成响应时间

≤10秒

8秒

报表导出时间(大型报表)

≤60秒

52秒

并发用户数

≥10人

15人并发无卡顿

设备接入上限

≥50台

60台设备正常运行

测试结果显示,系统功能测试通过率达95.2%,核心功能均能正常实现,2处失败问题为细节格式与显示延迟,不影响核心运维需求,后续可通过优化代码修复;性能测试各项指标均达到预设标准,能够满足企业50台以上设备的管理需求,系统响应流畅、运行稳定。

6.3 总结

本章通过搭建标准化测试环境,设计全面的测试用例,开展功能测试与性能测试,验证了系统的功能完整性与运行稳定性。功能测试覆盖所有核心模块,通过率达95.2%,核心功能如用户登录、设备监控、资产管控、报表生成、数据导入均能正常实现,仅存在2处细节问题,经优化后可完全达标;性能测试结果表明,系统响应速度、并发处理能力、设备接入上限均满足预设需求,能够适配企业实际网络运维场景。

同时,通过模拟企业实际应用场景开展应用验证,系统能够有效实现网络设备的自动化管理,基于SNMP与LLDP协议完成数据采集与拓扑生成,简化了运维流程,降低了人工运维成本,提升了设备管理效率与准确性。测试与应用验证结果表明,本系统设计合理、功能完善、性能稳定,能够满足企业网络设备管理的核心需求,达到了研究预期目标。

后续可针对测试中发现的细节问题进行优化,进一步提升系统响应速度与界面交互体验;同时可拓展系统功能,增加AI异常预测、多终端适配等功能,提升系统的智能化水平与适用性,为企业网络运维提供更全面的支撑。

更多推荐