网络故障测试仪中远程监控的功能及设计

文章作者 100test 发表时间 2007:08:03 12:23:55
来源 100Test.Com百考试题网


远程监控是指在网络中由一台设备(客户端)通过远程监控软件远距离监视与控制目标设备(服务器端)的技术。操作者可以监视被控端设备的屏幕显示,启动被控端设备应用程序,执行操作指令,获取结果。现代远程监控技术是实时在线的监控方式,借助于计算机、网络和通信技术,具有控制功能强、操作简便和可靠性高等特点。

  网络故障测试仪是基于Linux操作系统的嵌入式手持设备,主要用于测试网络故障现场、评估性能、提供专家解释。专家亲临故障现场需要耗费一定的时间和财力,远程监控软件可以帮助专家通过互联网络访问远端的测试设备,了解网络运行参数,给出解决方案,实现远程专家系统。远程监控软件将为便携式网络故障测试仪提供有效的远程操作、监控及远程技术支持能力。

  1、远程监控软件的功能和结构

  1.1 软件主要功能
  网络故障测试仪是一台便携式设备,通常接人需要测试的网络中。远程监控将为用户提供在个人电脑上直接观测网络状态的能力;同时当网络出现故障时,也能为远程专家了解网络故障,给出解决方案提供便利。因此,远程监控软件主要实现对异地测试仪的操作功能,显示设备返回的状态;通过在设备间建立起的数据交换通道,实现双向的数据通信。

  远程监控软件实现在监控时,获取客户端发出的控制命令,控制服务器根据应用层协议对命令解释后执行相应的动作,返回执行结果;同时设置服务器根据用户界面所需显示参数,定时执行操作返回结果数据刷新界面。

  1.2 软件体系结构

  软件功能分解到通信的两个端点上,即客户端和服务器端,采用Client/Server模式。这样能提高设计的灵活性,易于系统的扩展。服务器端集成在测试仪中,与设备的其他功能模块协调工作,为客户端提供执行共享资源的管理应用程序人口;客户端则提供交互界面及结果显示;数据交换通道的建立由双方的数据通信模块负责。从而实现点到点的直接控制监控,满足实时性要求。

  ① 客户端的主要功能模块为:消息输入/显示模块,通信管理模块。消息输入模块负责将用户界面的按钮事件传送到通信模块,通信模块将命令信息发送到受控端;受控端执行操作后返回的成功或失败信息交由客户端消息显示模块根据信息的格式进行显示。

  ② 服务器端的主要功能模块为:通信管理模块,命令解释模块,函数调用模块。服务器处于侦听状态, 一旦接收到合法的连接请求,则建立信号通路,通过通信管理模块接收客户端发来的命令信息,经解释模块解释后,调用函数执行相应的指令,并将结果返回到客户端。

  2、远程监控软件设计

  2.1 消息输入/显示模块实现

  客户端输入/显示模块的开发采用Visual C ,利用模块化、通用性强的特点,实现远程监控中用户界面的编写。用户显示界面保持与设备界面的一致,方便用户操作。

  2.2 通信模块实现

  (1) Socket编程

  数据通信模块中的数据通道建立采用Socket编程。Socket支持TCP/IP协议网络通信的基本操作;它屏蔽了网络底层的通信细节,使编程简单;它对通信端点进行了抽象,提供发送和接收数据机制及打开、计算和关闭会话的能力。本项目中,客户端运行在Windows操作平台下,采用WinSock来编程实现命令和数据信息的传输;而服务端运行在Linux操作平台下,通信直接使用Socket编程实现。

  (2) 通信建立

  服务器与客户端开始都必须调用socket()函数产生一个Socket套接字;然后服务器调用bind()函数,将套接字与本地网络地址捆扎在一起,在网络上标志该套接字;只有当服务器执行完accept()进入监听模式、阻塞状态后,才能接收客户端的connect()请求并决定是否接收数据;建立连接后,客户端与服务器之间便可以双向传输数据。服务器主要通信代码:

  listenfd=socket(AF—INET,SOCK—STREAM,0)

  bind(1istenfd,(SOCKADDR %)&.sockaddr—echo,sizeof(struct sockaddr_in))

  echofd=accept(1istenfd,(SOCKADDR %)(&.sockaddrcli),&.sizeof(SOCKADDR));

  while((read—n=read(echofd,revbuf,BUFLEN))0)

  {.一//指令解释与函数调用}

  if((write—n=write(echofd,okbuf,strlen(sendbuff)))0)

  {.一//将结果返回给客户端}

  其中,客户端与服务器间制定统一的数据通信协议,所有的数据和指令信息统一编码,编码格式为:命令代码:数据部分(各数据之间用#分隔)。在传输用户密码时,采用事先约定好的数据加密密匙,以防明文形式传输造成的信息泄漏。

  2.3 调用模块实现
  设备应用层中设计了Controller调用管理模块,负责调用现场设备测试线程,启动服务器线程,以及服务器与测试线程间指令和返回结果的传递。服务器收到客户端指令,交由解释模块解释后传送给Controller,等待Controller的结果参数返回给客户即可。Controller是设备的核心,负责管理设备中的所有进程。

  3、实验结果
  远程监控系统的工作过程如下:远程客户首先通过IE浏览器将客户端程序下载到本地,运行客户端程序,显示如图3所示,按照提示输入服务器IP地址和用户密码。待服务器接受连接,确认密码正确后,客户端出现功能选择界面;点击界面按钮就可以远程操作仪器,了解远程网络状态,例如图4为网络参数显示结果。如果服务器没有开放或是由于网络故障而导致网络不通,则会提示用户“服务器关闭或网络出错,稍后再试”。

  4、结束语
  本研究给出了一种基于互联网络的便携式设备远程监控的可行性方案,该方案无需改变原有设备的控制系统,通过添加数据接入方式,将原有设备接入远程监控平台,实现对远程设备的监控和专家支持。远程监控软件的编写采用成熟的套接字编程,实现了软件面向设备、面向功能量身定制。其模块化设计又方便了未来新功能的加入。

  基于互联网络远程监控的开发已成为目前国内外的研究热点之一。监控网络的Internet化是监控技术的一个发展趋势,随着Internet和监控技术的发展,这两个网络必将能够更好地结合,基于Internet网络的远程监控系统也必将会得到迅速发展。
src="/ncre/js/wxgg.js">

相关文章


易被忽略的布线测试环节 跳线测试简介
路由器经常掉线因ADSL电话线路受干扰
教你在局域网中怎样对网线进行全面测试
路由器和交换机为何不通?
网络故障测试仪中远程监控的功能及设计
轻松应对JSP连接MySQL数据库问题[2]
轻松应对JSP连接MySQL数据库问题[1]
SQLServer开发问题前十名[5]
数据仓库与数据挖掘视频教程简介
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛