1、基于 SNMP的智能视频监控卡口短信报警系统的设计与实现 摘要:近年来,为了解决城市化交通监管问题,安装大量的城市交通检查卡口,这些卡口本身具备拍照和录像的功能,并通过网络存储和传输信息,大大方便了管理者对其进行远程管理和维护。但是随着卡口数量的迅猛增长,在日常维护方面,如果仅仅靠人工模式对系统中的设备一台台的进行巡检,不但需要耗费大量的时间和人力,而且还可能造成故障的死角和遗漏。鉴于上述情况,本文引入基于 SNMP 的网络管理工具来构建智能卡口管理系统,利用 snmp 返回故障和报警信息并记录,通过飞信 API 开发工具及时发送相关记录给相关技术人员和值班人员。 下载 关键词:飞信 API;
2、智能视频监控; SNMP;短信报警; WinNet 网络编程 0 引言 近年来,国内外对视频监控的需求与应用不断扩大。首先国外方面,2001 年美国 “9.11” 事件,以及后来的后来西班牙马德里列车连环爆炸和伦敦地铁大爆炸等恐怖袭击等;其次国内方面, 2009 年新疆 “7.5” 事件,还有今年三月发生的昆明火车站暴恐案等等,使全世界范围内对视频监控系统需求空前高涨,各国部署的摄像头越来越密集,系统也日益庞大。面对复杂交错的视频监控网络系统,管理和维护难度越来越大,主要面临 如下问题: ( 1)管理成本高。城市卡口分布广,设备种类多样,系统结构越来越复杂,规模越来越大,而网络管理人员较为缺乏
3、。进而直接导致发现和排除网络故障的难度呈几何级增长。 ( 2)设备可用性要求非常高。基本要求设备全天 24 小时不间断工作。一旦某个节点出现故障,如不能及时发现和解决,不仅无法得到用户需要的卡口信息,还可能造成重大的安全隐患。 ( 3)设备故障发现和处理严重滞后。当成百上千的节点中某个出现故障时,管理监控人员往往不能第一时间发现。因此,如何及时发现问题,准确定位问题,并及 时告知管理人员变得尤为重要。 针对以上问题,本文引入基于 SNMP的网络管理工具来构建智能卡口管理系统,对卡口的故障信息自动识别和记录存档,并可通过短信等方式通知网络管理人员,从而帮助相关技术人员和值班人员及时有效的发现并解
4、决卡口监控设备在运行中出现的故障和告警等问题。 1 技术简介 1.1 SNMP 网络管理模型 SNMP 网络管理模型主要由四部分组成: 网络管理站、被管设备、管理信息库( MIB)和管理协议( SNMP) 。 (图 1) SNMP 管理模型具备典型的客 户 /服务器体系结构。网络管理站启动管理器进程,对网络设备发送各种查询报文,并接收来自被管设备的响应及陷阱( trap)报文,将结果显示出来,而被管设备上运行着代理进程,负责接收、处理来自网络管理站的请求报文,然后从设备上其他协议模块中取得管理变量的数值,形成响应报文,反送给管理站。在一些紧急情况下,如接口状态发生改变,呼叫成功等时候,主动通知
5、管理站(发送陷阱 TRAP 报文)。管理对象的信息存放在被管设备的 MIB 库中。管理器进程将各种操作维护命令组装成 SNMP 报文,发送到代理进程,代理进程通过操作 MIB 库完成这些 请求,并且把结果送回给管理器进程,从而完成管理功能。 MIB 即每个受管理的 SNMP 设备都维护包含统计信息和其它数据的数据库。网络管理活动是通过访问和操作 MIB中的管理对象实例来实现的,针对智能卡口主要是视频服务器设备( DVS)的配置管理。不同设备的功能、结构不一样,所以监视的参数内容、数据也不一样。 1.2 系统开发包及工具 1.2.1 网管开发包 SNMP+是为网络管理应用程序开发者提供的具有 S
6、NMP 服务的一套 C+类的集合。它具有基于面向对象模型建立的 SNMP 应 用程序接口,但 SNMP+并不是现有 SNMP 引擎的扩充和封装,为了效率和方便移植,它只用到了现有SNMP 库里面的一部分。 SNMP+的目的就是提供强大灵活的功能,把面向对象的优点带到了网络编程中。 1.2.2 开发工具 由于使用了 WinNet 网络编程,基于 Windows 平台,开发工具采用VC+6.0,同时利用飞信 API 工具实现免费故障短信信息发送等功能。与传统的短信报警平台相比,传统模式需要购置短信模块,发送报警短信需要运营商收费,而采用飞信 API工具无需增加硬件投资,发送短信免费, 具有很好的经
7、济实用性。 2 系统总体设计 2.1 系统角色建模 系统中存在以下 3 个角色。下面对各类角色的任务设计则可进行分别描述。 ( 1)普通用户:用户可以根据自己的账号登陆到系统中。在线查看监控卡口 SNMP 状态信息。可以对个人信息进行修改和维护等操作。 ( 2)维修工程师:系统通过 SNMP 状态检查返回故障信息,并发送短信给现场维修工程师。同时该角色继承普通用户的功能可以查看和修改个人信息,查询系统各个监控卡口 SNMP 状态故障信息。 ( 3)管理员:除 了继承普通用户的功能外,管理员还可以对系统进行维护,进行用户角色权限的分配工作。 系统角色建模如图 2 所示。通过对系统角色功能用例分析
8、,系统主要功能模块包括 6个,发送故障短信,个人信息管理,系统查询,确认故障处理,角色权限维护和系统维护功能。针对不同的用户角色,系统中存在不同的操作及权限。 2.2 系统架构建模 本文研发系统的技术架构采用包和子系统分层。系统架构建模如图 3 所示。系统架构的分层主要由用户界面层、业务服务层、业务对象层、系统层、中间件、 C+和基本复用层组成。业务服务 层包括发送故障短信、系统查询、权限修改、故障确认、系统维护,业务对象层包括个人信息表,设备信息表,还包括普通用户、管理员和工程师。系统层包括支持访问系统数据库的类。中间件层支持对面向对象的数据库系统访问。基本复用包括支持模式的类。 3 系统的
9、实现 本系统三个主要角色是普通用户、维修工程师和管理员,他们在各自职责范围内实现不同的功能。限于篇幅,本节主要介绍 SNMP 状态查询功能和故障短信发送 2 部分功能实现内容。 3.1 SNMP+开发状态信息查询系统功能实现 SNMP+是 以一套 C+类作为基石的。它包含了对象描述符( Oid)类、变量绑定( Vb)类、协议数据单元( Pdu)类、 Snmp 类。在利用 SNMP+开发实际应用时,首先应开启 Snmp类的 socket。然后,准备好 SNMP通信基本参数,如设置 SNMP 协议版本、通信端口、共同体名等,如果没有对这些基本参数进行设置,程序采用默认参数: SNMP 协议版本为
10、1,端口为 161,共同体名为 public。接着,根据网络管理目标,设置代理 IP 地址,要获取或设置的网络管理信息。创建一个 SNMP 会话。如果会话创建成功,开始 snmp 相关操作, 如 get操作、 set操作、 get_next操作。如果操作成功,则从变量绑定中获取相应的网络管理信息。最后,关闭 Snmp socket,释放资源。 SNMP 读取设备状态信息程序活动图如下: 3.2 故障短信报警开发实例 SNMP 与邮件系统、 GSM 短信猫、飞信 API 等系统结合实现报警功能。报警系统基于 SNMP 获取数据,首先配置监控属性如节点状态、接口状态、故障信息等;其次配置触发的动作
11、。通过以上配置,当设备节点出现异常时,可第一时间短信通知网管人员。对于上述配置,首先要将报警信息保 存为Log,然后通过邮件或短信方式发送报警信息。下面利用 C+编写基于WinInet网络访问飞信开发 HTTP协议 API接口,此接口支持 HTTPS,可避免在网络传输中泄露数据。飞信 API 类图如图 5 所示 。 可以看出通过调用 CFeiXin: FX_SendMessage( “飞信登录用户名 “, “飞信登录密码 “, “手机号 “, “短信内容 “)方法,可以很方便的发送短信信息到维护工程师用户的手机上。 3.3 与数据库系统结合 由 SNMP与数据库系统结合,将收集的数据存储于数据
12、库,再根据数据库系统的相关功能,如备份数据,恢复数据、定制视图、 SQL 语句定制查询等功能,比如车辆信息查询、卡口交通信息,车流信息,故障报警处理等。 3 结束语 随着网络技术的发展, SNMP 成为管理网络设备的简单而有效的方法。本系统采用面向对象设计方法,深入浅出。系统充分利用了 SNMP 实时检查设备故障信息,及时发送短消息给维护工程师,保证故障得及时有效的解决,同时由于采用飞信 API 的方式发送故障短信,发送消息免费,相比传统 SMS模块方式具有较好的经济使用价值。 参考文献 蒋馨 公安部 第一研究所,浅析国外智能视频监控技术的发展及应用 J.国际博览, 2011( 10): 10
13、5-108. HP 公司, SNMP+文档。 王朋武, WinSNMP API 规范 M,北京佳合通信技术公司, +, Connexions, The Interoperability Report, Volume 9, No. 3, March 1995. 刘雪飞,吴伯桥等 .基于 SNMP+网络管理软件的编程实现 J.信息安全与技术, 2013( 5): 63-65. 王金祥,浅析智能视 频监控技术 J.山东工业技术, 2014( 4): 45-46. 岑贤道,安常青 .网络管理协议及应用开发 M.清华大学出版社, 1998: 刘宝华 田亚丽 陈端迎等, 分布式网络管理系统中 SNMP 的
14、开发与实现J.软件, 2012( 6): 135-138. 李俊,熊文龙,宫浩然 .SNMP 原理及安全性分析 J.交通与计算机,2003( 1): 16-19. 梁家明 .大型局域网管理的探讨 J.广西大学学报:自然科学版, 2004( 2): 25-28. 赵健 .基于 SNMP网 络管理机制及其应用 J.中国民航学院学报, 2003( 2):94-98. A Simple Network Management Protocol ( SNMP) S/开发实例 http:/b4WinINet Reference https: /m c+利用飞信 API 免费发短信 http:/my.osch 软件分析建模与 PowerDesigner 实现 M.清华大学出版社,2010 年 8 月第一版 SYSTEM ANALYSIS AND DESIGN Fourth Edition , Alan Dennis, Barbara Ha 作者简介:张建河( 1974 年生),男,天津人,中国石油新疆油田公司准东采油厂高级工程师,硕士,研究方向:信息工程。通讯地址:新疆油田公司准东采油厂信息档案站;电话: 0994-3832431;邮编: 831511;Email: zhangjianhpetroch