大数据深度学习|计算机毕设项目|计算机毕设答辩|基于SNMP+LLDP的企业网络设备管理系统

标题:基于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异常预测、多终端适配等功能,提升系统的智能化水平与适用性,为企业网络运维提供更全面的支撑。
更多推荐



所有评论(0)