当前位置: 首页 > 范文大全 > 公文范文 >

高校机房实时监控管理系统的设计与实现

时间:2022-03-21 08:12:12  浏览次数:

zoޛ)j首教育的不断普及和学生人数的逐年递增,每个高校都建设了大量的机房,为了保障日常教学工作的顺利进行,设备的维护管理工作成为了重中之重。传统的维护工作带来了一些问题:对损坏设备的维修工作不够及时,设备的使用率统计不够精确等等。因此,建立一个机房设备的实时监控系统就显得很有必要了。通过对机房实时监控管理系统的技术可行性和经济可行性进行分析,而且也进行了必要的需求分析后,最终确定了开发本系统。本系统采用了QT+windows API技术进行实现。QT在界面设计上的友好性高,而且QT是基于C++的,所以在学习过程中比较容易上手。系统由服务端与客户端两个部分组成,管理员只需要在服务端就可以分析到从客户端监测到的数据。

关键词:实时监控 Qt windows API

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2015)04-0146-02

如今机房在学习的普及越来越大,这也带来了一个问题,就是管理人员人数相对较少,上课时间内管理员不能对设备进行实时的监管。管理者要管理和维护数量比较大的机房也是一个辛苦的工作,而且机房的满负荷运行是常有的事,自然也就加快了计算机的损耗,对于设备的损坏能不能及时发现并且及时处理,成为了一个比较棘手的问题。

传统管理模式下,机房设备的使用情况记录都是采用任课老师手工登记方式的,这种方式对于记录信息的真实性与及时性来说都会带来一些影响,同时对于设备维护信息的查询与统计分析都有不便之处。而作为主管来说,对于每个维护人员的维护工作量也很难做到较客观的考量,有时也会带来设备维护工作的滞后性。因此这些问题迫切需要有一个信息系统来辅助解决,以提高日常管理的速度和效率。通过机房设备维护管理系统这样一个平台,可以对发生的机器故障及维护工作及时记录,也可通过系统来对设备维护情况进行分析与统计,从而更大程度上提高管理的水平和效率。

机房实时监控管理系统组要分为客户端与服务端。客户端(学生机)一般都安装有还原卡,因此客户端不能进行信息的存储,否则客户端一旦重启信息就会丢失,鉴于该情况,则需要将信息上传到服务端(教师机),服务端进行保存信息与处理,便于对监控数据的统一管理。

客户端启动后,会先向网络广播寻找服务器信息,此时也开始扫描键盘与鼠标的数量,并启动计时器。广播使用UDP报文,因为一开始并不知道服务器的地址,而且服务器有可能会变动IP地址,如何使用配置文件进行配置服务器IP,那么需要在多台电脑上进行配置。因此不打算使用配置文件的方式,改用广播的方式来寻找服务器,这样就更为方便使用。计时器的作用主要用于调整客户端使用时间,因为如果直接上传客户端的当前时间有可能因为客户端时间不正确而影响统计,加上服务器有可能未启动而客户端就开始工作,那样就不能获取到客户端在服务端没有启动的情况下使用了多少时间,因此在客户端使用计时器进行统计使用时间是比较合适的。当有服务器UDP报文发送过来则使用TCP/IP协议与服务器进行连接,连接上后将计时器的数据、键盘鼠标的数量、客户端的IP地址传输到服务端。之所以要传送客户端的IP地址是用于验证信息,防止服务器信息出错,也便于管理员在发现异常数据的时候能够第一时间定位到机器的位置。客户端具体的工作流程图1所示:

服务端启动后先广播服务器的IP地址,这样做的目的是因为有的客户端可能在服务端启动前就已经启动了;然后开始监听UDP端口,因为另一种情况则是服务端先启动,客户端启动后就广播寻找服务器IP信息,当服务端接收到来自客户端的寻找服务端IP地址的UDP时就发送包含了服务器的IP地址与端口。当有客户端连接后为该客户端创建一个对象,用来处理该客户端上传过来的信息。处理信息的时候首先会读取原有的信息,要是原来存储信息的不存在,则新建一份,否则读取原有信息进行处理,处理的结果将会保存回文本。这样就可以随时查看每台计算机的使用情况。服务端具体的工作流程图2所示:

在实现的过程中,采用了C++GUIQt技术,该编程语言具有比较强大的类库,而且容易上手。QUdpSocket中writeDatagram则是对网络进行广播信息。QTcpServer主要是用于建立服务器,对该类进行重载则可以实现一些需要的扩展功能。QTcpSocket类中,使用connectToHost连接到服务器然后使用write函数即可将需要的信息发送到客户端或者服务器。devguid.h头文件主要是包含了硬件的guid值,计算机给每个硬件都分配了不同的guid值。setupapi.h中首先使用SetupDiGetClassDevs函数,如果运行成功,返回设备信息结构的句柄,该结构包含与指定参数匹配的所有已安装设备。如果失败,则返回INVALID_HANDLE_VALUE,再次使用SetupDiEnum

DeviceInfo枚举指定设备信息集合的成员,并将数据放PSP_DEVIN

FO_DATA中,SetupDiGetDeviceRegistryProperty函数则是从注册表中读取PnP设备的属性最后将信息进行处理并保存,这样就能够获取到系统设备信息。

本系统经过测试已能够实现预期的所有功能,监控数据的实时性得到了很好的体现,成为高校机房管理工作中一个很好的辅助管理平台,节约了管理成本,体现了管理的高效性。但仍存在部分功能需要完善,在对客户端信息进行查看的时候,没有加入按条件查询的功能,这样在信息多的时候查看是比较麻烦的,在最初功能设计的时候考虑的是在每次监测过程中,只需要监测到最新的设备损坏的异常数据后,在进行了设备的维护后就可以丢弃该异常信息,因此没有加入此功能。对于该软件能够在任务管理器里终止的问题,最初在功能设计的时候并没有加入禁止任务管理器的功能,因为该软件只是对客户端的一些数据进行统计,所以认为一般不会有人去终止它。以上这些不足之处,都是今后进一步改进的方向,不断完善才能更加适应机房管理的要求,为高校的信息化建设奠定基础。

推荐访问: 管理系统 机房 实时监控 高校 设计
[高校机房实时监控管理系统的设计与实现]相关文章