版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章网络监控系统,8.1系统总体分析和规划8.2网络监控系统关键技术实现,当今覆盖世界范围的INTERNET与测试技术相结合,形成了一种具有强大生命力和广阔应用前景的开放式的远程测试体系结构,能够实现多专家和多系统的协同测试与诊断,成为当今测试技术中的热门研究课题,本章主要是对网络监控系统的组建、特点、工作原理、运行状况和基于INTERNET的远程数据采集等关键技术进行了深入介绍。,8.1系统总体分析和规划,8.1.1基本原则“先总体、后局部,由上而下,由简到繁”。,首先,讨论初步调查,从总体上对设计过程进行步骤化,其次是实现设计步骤的注意事项及划分设计文档。其目的是在进行总体规划的基础上,
2、考虑设计过程中每个步骤的细节问题,按部就班以做到无遗漏、无错失。如果网络的基本构架已经存在,则可充分利用资源,使用移植、重新安装、改造升级等手段,在不对现行系统产生影响的前提下,进行完善、进一步提高性能,是设计系统考虑的出发点和立足点。,8.1.2设计步骤(1)进行初步调查,明确基本任务、主要功能(2)对现有环境进行分析(3)制定初步计划(4)确立详细设计(5)执行实施(6)整理文档,8.1.3网络概念国际标准化组织(latematioaalStandardsOrganization,ISO)于19771984年之间所发展的通信架构。OSI把网络通信系统分为7层:l物理层、2数据链路层、3网络
3、层、4传输层、5会话层、6表示层、7应用层。(1)物理层物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。,(2)链路层数据链路可以粗略地理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其连接。每次通信都要经过建立通信联络和拆除通信联络两过程,这种建立起来的数据收发关系就叫做数据链路。数据链路的建立、拆除、数据的检错/纠错是数据链路层的基本任务。(3)网络层主要提供路由功能。具体为:路由选择和中继,建立终端网络连接,采取分时复用技术在一条数据链路上复用多条网络连接,差错检测与恢复、流量控制,
4、网络管理等。,(4)传输层传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。现在各种通信子网在性能上存在着很大差异,例如电话交换网、分组交换网、公用数据交换网、局域网等通信子网都可互连,但它们提供时吞吐量、传输速率、数据延迟、通信费用各不相同。对于上一层的会话层来说,却要求有一性能稳定的界面,传输层就承担了这一功能,它采用分流合流,复用解复用技术来调节上述通信子网的差异,使会话层感受不到。,(5)会话层会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。会话层、表示
5、层、应用层构成开放系统的高3层,面对应用进程提供分布处理,对话管理、信息表示、恢复最后的差错等。(6)表示层其作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。,(7)应用层应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成了系列业务处理所需的服务。这些将涉及到虚拟终端、作业传送与操作、文件传送及访问管理、远程数据库访问、开放系统互连管理等等。,TCPIP是1974年定义的参考模型。它被称为传输控制协议互联网协议(TCPIP),它把网络由上至下分为5层:应用层
6、、传输层、互联网层、数据链路层、物理层。最下两层实质上只指出应使用某种协议域网络连接,解决分组IP传送,没有实质描述。所以TCPIP实际上充其量算是四层,这种简化加上传输层支持;两种用户可选择的模式,给简单的请求。应答协议带来方便,因此应用广泛。,8.1.4网络监控系统基本功能主要功能:设备信息的采集;设备信息的传送;设备信息的分析与处理;专家意见的汇总;分析结论的返回。,各个功能之间的关系及配合:设备信息的采集功能是指系统按不同的测试目的,选择最佳能表征工作状态的信号,由于安装在工作现场的检测系统通过传感器采集并储存;通过设备信息传送功能将检测系统采集到的设备信号由INTERNET发送到远程
7、测试分析中心的测试分析系统;设备状态信息分析与处理是指测试分析中心将收到的设备信息,进行分析处理(如FFT、倒频谱分析等),提取故障特征信号,与系统数据库中的故障档案进行对比,并在发现设备后,根据数据库中的资料提出解决方案;当测试分析系统无法分析某些信息或需要专家的人工干预时,启动专家意见的汇总功能,向相关专家发出请求,专家通过测试分析中心的系统查询设备信息并提出分析意见,最后再将专家意见进行融合;诊断结束后启动结果返回功能,将结论通过INTERNET通知设备使用者。,除满足以上功能要求外,在考虑基于INTERNET的远程测试分析系统的开放性和柔性后,对系统提出以下一些要求:检测系统的测量装置
8、可重定义;检测系统对常用的数据采集硬件兼容;测试分析系统的信号处理过程可重定义。,8.1.5网络化设备体系结构总体框架,图8.1基于因特网的远程测试系统结构图,为了满足以上要求,基于INTERNET网络监控系统由两个主要部分组成,即安装于工作现场的检测系统和测试分析中心的测试分析系统。,检测系统主要完成的功能:设备状态的采集和设备状态的传送。测试分析系统主要完成的功能:设备信息的分析与处理、专家意见的汇总以及分析结论的返回。两个部分通过INTERNET联结在一起,专家和外部用户可通过INTERNET连接到测试分析系统,参与到整个系统的运作过程中。在软件结构中,系统的每一个主要功能均软件中的某一
9、个模块,由以上分析可知,系统软件应包括以下多个模块:安装在检测系统上的信号采集模块、采集控制模块和状态显示模块;安装在测试分析系统上的数据库存取模块、信号分析模块和分析控制模块;网页服务器上的专家意见交互模块和网页生成模块;安装在数据库服务器上的分析诊断信息数据库;以及各部分通信的网络通讯模块等。,8.2网络监控系统关键技术实现,8.2.1软硬件平台的选择(1)硬件平台的选择网页服务器主要是为系统外部用户提供各种网页和相关的网络接口服务,为加快系统响应速度,网页服务器应该配置大容量内存和较高速的硬盘系统。一般可以考虑配置128M或更大容量的内存、及SCSI接口的硬盘。数据库服务器主要是用于存储
10、各检测系统传输来的设备状态信息及历史数据、分析诊断所需的故障诊断特征数据信息和分析诊断形成的结果信息。因此数据库服务器应具有大容量的硬盘系统,最好配置CDR等数据备份设备。测试分析系统所在的服务器主要是根据设备状态信息,运算各种数学分析算法和工具进行分析和诊断,这些运算对CPU的要求较高,同时必须需要大量的内存,所以诊断系统服务器应该配置较高档次的CPU和较大容量的内存,一般可以考虑采用奔腾600或以上CPU和128M以上内存。,连接系统各部分的网络应具有较大的带宽,有利于加快数据交换的速度。同时,基于速度和安生性的考虑,检测系统与测试分析系统的网络连接采用了100M内部以太网。若采用公共通信
11、线路则选用高速的因特网接入方式(如ISDN、ADSL等)。网页服务器对外的连接带宽根据实际的并发客户数目确定。专家诊断浏览器和用户浏览器的计算机硬件要求较低,能接入INTERNET即可。对于运行检测系统的计算机硬件配置要求也不高,例如奔腾300CPU、64M内存即可满足一般要求。选择的重点是根据该检测系统实际测试任务选择各种符合测试要求的数据采集卡和接口卡,如多路AD卡、GPIB接口卡和现场总线接口卡等等。,(2)软件平台的选择选择软件平台首先是选择各部分的操作系统。目前在PC上运行的主流操作系统主要有:Windows9X、windowsNT、Linux/UNIX和Windows2000。Wi
12、ndows9X是当前PC机上最常用的操作系统,是一个多用户、多线程的操作系统,并且直接支持常见网络,拥有丰富的开发资源。Windows2000是Windows9X的升级版;WindowsNT是一个专门设计用于工作站和服务器的操作系统,他的稳定性、安全性和网络性能比Windows9X具有大幅度的提高,而且对多用户和多任务方面的支持也比较强大,适合在windowsNT上运行的服务器软件功能强大,开发工具众多;Linux是UNIX操作系统家族中的一员,他的源代码全部公开,非常适合根据用户的需要定制不同的系统,但目前各种资源相对较少,而且开发工具种类较少,易用性较差,开发应用系统的工作量相当大。综合以
13、上各操作系统的特点,选择WindowsNT作为服务器的操作系统;选择Windows9X或Windows2000作为检测系统的操作系统。,考虑微软的IIS4和WindowsNT具有良好的集成性,能充分利用WindowsNT所提供的安全性能,支持ASP技术,能非常方便地编写动态网页。本系统的网页服务器采用IIS4作为网页服务器软件平台。数据库服务器上主要运行的数据库平台。目前主流的大型数据库软件有:MSSQLServer7、Oracle8和Sysbase等等,这些软件在功能上各具特色,而MSSQLServer7与微软系列软件集成性和兼容性较好,具有丰富的参考资料,所以数据服务器采用MSSQLSer
14、ver7作为数据库平台。在选择开发本系统的软件开发平台上应该考虑的因素:开发速度和效率、对整个操作系统的控制能力、完成后系统运行的效率和开销以及相关开发资料等,目前在WindowsNT上的开发工具很多,主要有微软公司VisualC+、VisualBasic,Inprise公司的Delphi、C+Builder等。VisualC+是一种以C语言为基础的可视化开发工具,用他开发出的大型应用软件效率较高,具有相当的灵活性;VisualBasic是一种以Basic语言为基础的可视化开发工具,非常适合初学者开发中小型的应用程序,若使用功能合适的控件将会使开发过程事半功倍,因此是否拥有合适的控件成为开发过
15、程的关键,其开发的软件效率和性能都不如VisualC+;Delphi和C+Builder也是可视化的开发工具,他们分别以面向对象的Pascal语言和C+语言为基础,特点与VisualBasic比较类似,但功能较VisualBasic强。考虑到系统的复杂程度和网络编程方面的灵活性与性能要求,在系统开发中,建议选择微软VisualC+作为主要开发工具。在网页服务器上常用的开发工具有CGI、ISAPI和ASP、CGI历史较长,主要应用在UNIX服务器上。对于Windows环境下,利用ASP开发网页服务器上应用软件可以直接和网页制作结合,非常简便和直观,与数据库的接口也很方便使用,为此,在网页服务器上
16、建议选择ASP作为开发工具。,8.2.2基于INTERNET的通信技术网络监控中检测子系统与服务器、服务器之间的数据交换和消息传递都是通过INTERNET完成的,基于INTERNET的通信技术是实现远程测试系统的关键技术之一。TCP/IP协议是当今因特网是最成熟、应用最广泛的通讯协议,这一套总体结构和协议标准是构成因特网的基石,按照TCP/IP协议而建立的因特网已经成为当今社会最大的信息网络。TCP/IP协议其实可分为IP和TCP两大议族,其中IP协议的主要功能包括无连接数据包传送、数据包寻址以及差错处理三部分,而TCP协议是通过IP协议提供的数据包来传送数据段的协议。,Socket是TCP/
17、IP网络的API,也就是说Socket定义了许多TCP/IP协议通信函数和例程,人们可以利用他们来开发TCP/IP网络上的程序。当使用Socket对网络通信编程时,Socket就是网络通信过程中端点的抽象表示,对网络的通信就可以采用类似对文件读写的概念和方法。图8.2说明了因特网上互相通信应用程序间的关系。,图8.2基于因特网通信的应用程序关系图,使用VisualC+进行开发时,可以利用MFC提供的CAsynSocket类和CSocket类,使用这两个不同的类进行开发的区别如表8.1所示。,该系统通过从CAsynSocket类继承定义一个新类CSplSocket,并重写CSplSocket中的
18、OnReceive()函数,识别和处理各种接收到的数据。系统启动时在主线程内建立一个CSplSocket类的实例Serversocket,对检测子系统的连接请求进行监听,同时为每个已连接的传感器在其各自处理线程内建立一个CSplSocket类的实例Serversocket,分别负责各自的通信工作。网络通讯的具体动作步骤和程序段如下:(1)运行Serversocket的OnReceive子程序其核心程序段为:CsplSockStmp;Server,Accept(Stmp);/接收连接请求SOCKETs=Stmp.Detach();/将连接请求暂存,等待创建新的线程Recv.Attach(s,FD
19、_READ);/在新创建线程内的Recvscoket取得暂存的连接,(2)发送数据Recv.Send(strData,nData_len,0),其中strData是需要发送的数据,为了便于处理本系统中的有发送的数据都转换成字符串型数据;nData_len是发送字符串的长度;最后一个0中函数默认的常量,系统中多处都使用类似的命令发送数据。(3)接收数据当Recvscoket接收到数据时,WindowsNT系统会产生一条相应的消息使系统自动调用OnReceive()函数,在该函数内只需给出接收到的信息的存放缓冲区别即可,最后向系统发送一条消息,说明需要处理已接收的数据,通知该线程内专门处理WM_A
20、NALYSE消息的子程序进行处理。RecvLen=Receive(CmainWnd*)pMainWnd)-pBuffer,nMAX_FREQ*nMAX_SECOND*2+5,0);:PostMessage(pMainWnd-m_hWnd,WM_ANALYSE,(WPARAM)RecvLen,0);,8.2.3系统动态重构技术任何一个系统都必须根据实际需求不断改进和升级,最好的解决方案是将各种分析诊断方法制作成一定的模块,系统能根据不同用户的情况把这些模块动态重构全盛制作成新的模块,通过系统动态重构在无需改变系统框架的前提下实现系统动态升级。Windows系统本身的DLL文件就提供了一个调用模块
21、的很好的解决方案。DLL称为动态链接库,其中可以包含一系列用户自定义的函数,系统只有在需要调用DLL中的函数时才由Windows系统加载DLL,然后调用函数进行运算。加载DLL有隐式和显式两种方式。隐式加载是DLL最常用的加载方式,只需在应用程序生成时加以一定的说明即可;而显式加载则可以在应用程序运行时动态决定调用所需要的DLL。在所开发的系统根据数据库各分析诊断模块所在的DLL文件名,可采用显式加载的方式加载DLL。新添加的分析诊断模块必须按照一定的数据接口规范编写,再添加到系统数据库中即可。,加载DLL文件并调用其中某个函数的步骤:向系统申明需要调用的函数返回值的类型和每个输入参数的类型;
22、调用WIN32函数LoadLibrary()函数,取得系统加载的DLL文件所对应的句柄;利用上一步取得的句柄,调用WIN32函数GetProcAddress(),取得DLL文件中需要调用的函数的指针;利用上一步取得的函数指针即可象平常调用函数一样调用DLL中的函数。,具体程序段和注释如下:typedefint(_cdecl*LPFNDLLFUNC1)(int,float*,float,int*,float*,float*,float*);/向系统申明(此处为其他处理代码,省略)charfn20;/DLL文件名HINSTANCEhDLL;/DLL文件对应句柄LPFNDLLFUNC1lpf;/所调
23、用函数的指针(此处为其他处理代码,省略)hDLL=LoadLibrary(fn);/取得DLL文件的句柄lpf=(LPFNDLLFUNC1)GetProcAddress(hDLL,”func”);/取得函数指针lpf(srcnum,srcval,(float)(1)/freq,/实际调用lpf指向的函数。,在实际应用中还应注意,所有通过本方法加载的DLL文件,应该存放在本系统可执行文件所在目录或Windows的系统目录(如:c:WindowsNTsystem32),否则将不能加载DLL文件。另外,编写本系统的DLL文件时必须包含一个func()函数作为该模块的入口函数供系统调用,同时应该在调用
24、该函数时完成系统与该模块的数据交换。,网络服务器提供给外部用户一个观察本系统所连接的设备状态的接口,他是通过用户使用浏览器观看网页服务器上的网页实现的。由于设备状态的数据、分析结果的图表会随着设备状态的变化而变化,因此用户观看到的网页必须在用户观看时动态生成。动态生成网页主要使用ASP结合数据库进行开发,主要使用ASP的几个内置对象:Request对象、Response对象、ADO接口的RecordSet对象。Request对象代表由客户浏览器发往网页服务器的请求报文,获得HTML表单中某个变量值的语句为:Request(“var_name”)其中var_name代表需要获得的HTML表单中变
25、量的变量名。,Response对象用于向客户端发送数据。用户可以使用该对象将服务器端的动态数据按HTML格式发送到用户端的浏览器。Response对象中主要使用Write方法将数据发送到用户端的浏览器,格式如下:Response.Writevar_contentvar_content是需要输出的数据所在的变量,其中的内容可以是一般文字和数据,也可以是HTML语言中的标记(如、等等)。ADO接口的RecordSet对象通过一定SQL语句可以直接查询、修改、增加和删除数据库中的数据,操作结果的形式是一个符合该次操作条件的数据集合。,8.2.5多线程编程技术一个成熟的检测系统必须具备同时检测多个参数
26、的能力,而且在基于INTERNET的远程测试环境中,客户端检测系统还必须同时与服务器端进行通信,这就对检测系统提出了具有多任务要求。多线程技术是Windows系统提供给用户的一个极好的多任务机制。在Windows环境中,每个运行的应用程序都建立一个进程,而每一个进程可以由一个或多个执行线程组成。这样,实现同时检测的多任务安排工作都可以交给操作系统来统筹和完成,开发人员只需专注于具体检测任务程序的开发,这样既减轻开发人员的负担,又减少了系统由于安排不当而引起错误的概率。,Windows内部的抢先调度机制在活动的线程之间分配CPU占用时间,因此这些线程在表面上看起来就象是同时执行一样。Visual
27、C+所用的MFC类库区分了两种不同类型的线程:用户界面(UI)线程和工作者线程(WorkerThread)。两者的区别是UI线程能创建窗口和处理发送给这些窗口的消息;工作者线程用于执行后台任务,这些后台任务不直接接受用户的输入,不需要窗口和消息循环。不同线程可以具有不同优先级,优先级高的线程有较高的运行权限;优先级低的线程只有在优先级高的线程空闲或优先级高的线程放弃控制权时才能运行;而优先级高的线程却可中断优先级低的线程来运行自身线程。因此,可按不同线程处理事件的重要程度,赋予不同线程以不同的优先级。,在系统设计中同时具有多个采样通道,每个通道负责检测一个设备参量,在程序实现上每个通道对应一个
28、线程,这些线程每个都需要定时采样并与服务器端系统交换信息,根据以上分析,这些线程必须进行消息处理,因此采用UI线程。划分线程的基本原则:将几个需要串行执行的或相互依赖的任务模块划分为一个线程,而相互之间依赖性不强的任务模块则划分为不同的线程。实时性强的任务模块所在线程(如数据采样线程)的优先级设定为高优先级,而实时性要求不高的线程(如人机交互线程)的优先级则设定为低优先级,这样就可以保证优先处理数据采样的实时性任务,同时又可以提高系统中其他模块的处理速度。需要发送消息的线程只要采用Windows的PostMessage函数将自定义的消息发送到指定的线程即可;而接收到消息的线程只需要Windows系统传递来的消息的内容和发送者信息即可作出相应的处理。,8.2.6高速数据采样技术Windows系统是一个多任务系统,表现为多个线程在操作系统的统筹安排下分时共享CPU时同,操作系统本身的一些系统任务的优先级是最高的,他会中断用户正在运行任务,这对于实时性要求高的数据采样非常不利。,VxD用来支持硬件设备的管理,是以DLL的形式链入Windows操作系统的核心层(ring0),VxD主要解决不能被应用层(ring3)处理的一系列问题。利用VxD驱动硬件的过程的说明。,图8.3VxD驱动硬件的过程,VxD是运行在Windows系统的ring0层上,而
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 岳池县2026年社会工作服务岗人员招募的考前冲刺密卷(夺分金卷)附答案详解
- 成都市新都区升庵中学关于2026年面向社会公开考试招聘编外聘用教师的考前冲刺密卷【各地真题】附答案详解
- 招聘15人!2026年大柴旦行委专业工作人员公开招聘考前冲刺密卷附答案详解【综合卷】
- 遂宁市船山区信访局关于招募2026年社会工作服务岗位(第二批)的(6人)考前冲刺密卷含完整答案详解(各地真题)
- 闽台(永安)文化创意产业园服务中心关于招聘编外聘用驾驶员的模拟试卷附完整答案详解(全优)
- 雅安市雨城区2026年第二批公开考试招募医务社会工作服务岗位人员的(2人)备考题库含完整答案详解(名师系列)
- 智能机器人项目运营管理制度
- 养猪场规划设计方案
- 污水厂污泥处理工程投标文件
- 项目管理变更控制手册
- 四川水电集团招聘岗位综合能力测试客观题题库
- 2026年光伏产业集团财务总监面试题及答案解析
- 煤矿职业病危害培训课件
- 智能叉车安全管理与预警系统
- GB/T 19839-2025工业燃油燃气燃烧器通用技术条件
- 国网35条严重违章解读培训课件
- 张家口市自来水管理办法
- 2024-2025学年度人教版八年级数学下册暑假作业(共21天含答案)
- BS EN 13411-7-2021 钢丝绳的端接 安全 第7部分:对称楔形插座
- 兵团建筑施工安全生产标准化手册与安全生产措施
- LY/T 2005-2024国家级森林公园总体规划规范
评论
0/150
提交评论