您现在的位置:机电论文网>> 机床加工>> 正文内容

分布式监测系统应用服务器设计

作者: 来源: 发布时间:2018/2/11 16:12:47  点击数:526
周强1,2,闫大顺1,张永平1
(1中国矿业大学,江苏徐州221008;2清华大学,北京100084)
浏览器/服务器计算模式的出现,给系统维护、信息及软件的发布等等带来了极大的灵活性;cgi、asp、jsp等动态数据库访问技术,给企业管理人员提供了方便地远程访问动态数据信息的方法;java、activex等技术使得远程动态发布的数据可视化显示成为可能。结合实际工作需要,提出了一个通用网络实时监测系统。通过internet/intranet,在线发布工控系统实时信息,借助可视化javabean组件在浏览器上动态显示数据效果,实现远程监测设备运行情况和生产运转状态。文中详细介绍了监测系统的核心部分——应用服务器的设计与实现。本应用服务器采用多线程机制,提供并发服务。系统统一管理数据对象,采用页面服务和数据服务两级体系结构,提供完善的监测页面、客户和数据服务管理功能,具有结构灵活、维护性强、安装方便等特点。
1分布式监测系统
分布式监测系统采用多层浏览器/服务器模式结构,由监测页面浏览器、web服务器、应用服务器、可视化生成器、数据管理器、工控网络、远程数据源等部分组成,其系统结构见图1—1。


在分布式监测系统中,浏览器从web服务器下载客户所需的动态监测页面;启动嵌入在html页面中的javaapplet小程序,与应用服务器建立连接,获取监测页面所需的工控系统实时数据,以文本、图形、图象、音频、视频等形式表达监测信息。应用服务器接收浏览器页面应用程序的页面服务请求,通过工控网络系统,从数据服务器采集所需的实时数据,按照自定义的jddtp(java data direct transaction portol)格式,将实时数据发送到客户端。
1.1实时监测页面(html pages)
分布式监测系统的监测页面动态显示工艺流程图、设备动态图、历史趋势图、实时数据表、动态棒形图、动态xy曲线图、报警信号等图素,图素的显示采用javaapplet实现。监测页面中的javaapplet由控制模块和显示控件两部分组成。其中控制模块是核心,负责创建tcp和udp端口连接应用服务器,发出请求页面服务信息,向应用服务器提供客户端运行状态,接收服务器发送来的实时数据;同时,页面控制模块组件还负责显示控件所显示数据的收集和分发管理。在可视化生成器制作监测javaapplet时,同时生成显示控件注册信息,说明页面需求的数据。在接收应用服务器的数据后,页面控制模块解析数据包,根据程序中实现的联系把数据分发给相应的显示控件,使其按照设定的格式以文本、图形、图像、声音、动画等等形式显示出来,反映被监测对象的状态。
1.2可视化生成器(visual generator)
系统提供通用历史趋势图、实时数据表、动态棒形图、动态x-y曲线图、报警信号等可视化组件库,用户可以根据需要定制行业特色的可视化组件。通过可视化生成器可以灵活地使用专用的可视化组件和通用可视化组件,构造工艺流程图、设备动态图监测页面中的javaapplet。在制作过程中,可以修改可视化组件的属性,设置组件显示信息的数据源、显示周期等属性。可视化生成器生成的javaapplet嵌入到网页中,形成监测页面。本文中所说的监测页面,其本质是个javaapplet。在本系统中,是以一个监测页面为基本单位。
1.3数据管理器(date manager)
根据工控系统配置情况,系统管理员通过数据管理器定义需要通过分布式监测系统发布的实时数据属性信息,确定监测系统、子系统、分站、测点等配置参数信息,以及测点数据对象的服务例程。系统提供通用和专门的测点数据服务例程,按定义的周期从工控网络(control net)的实时信息源获取数据,按标准接口,发送给数据服务模块。
2应用服务器系统结构
应用服务器是分布式监测系统的核心,采用c++语言开发的并发中间件,实现工控网络实时数据环境和监测页面联接,其系统结构如图2—1所示。应用服务器按照监测页面包含数据对象的需求,从工控网络获取实时数据。


2.1守护程序
守护进程是监测页面请求进入应用服务器的入口,负责侦听约定服务端口。当有监测页面服务请求到来时,启动服务接收线程接收服务请求,将请求放入请求缓冲池中,供页面服务管理器处理缓冲池中的页面服务请求。
2.2页面服务管理器
应用服务器的监测页面服务由页面服务管理器和页面注册表负责管理。其中页面服务管理器提供以下功能:
·与浏览器中监测页面建立socket连接;
·页面服务管理:完成页面服务注册、注销、确认等工作;
·页面服务例程管理:启动、挂起、监督页面服务例程;
·客户服务管理:完成客户服务注册、注销、确认、长时间确认等工作;
·合法性检查:完成页面(客户)请求的合法性认证,确保页面服务的信息安全;
·拒绝服务管理:对不合法的认证、不合法的请求包等非法情况拒绝服务,对在一定时间内,因页面服务资源不足、数据服务系统资源不足等原因得不到服务的页面请求拒绝服务,确保系统运行效率。
2.3页面服务例程池
为了提高运行效率,应用服务器采用固定数量页面请求服务管理方式,页面服务管理器启动一定数量的页面服务线程放在页面服务例程池中,在缺省状态这些页面服务线程处于空闲状态。当有空闲线程时,页面服务管理器从请求缓冲池中取出等待服务的页面请求,提供服务。这种方式能够有效地减少频繁产生和释放线程的系统开销,使系统保持稳定的性能。页面服务例程池的服务线程由页面服务管理器管理,页面服务管理器采用多进程方式运行,在启动时,系统启动一定数量的页面服务管理器进程,每个进程管理一定数量的服务线程。
页面服务线程具有以下功能:
·数据服务请求:按照页面描述库中定义的页面包含的数据对象,向数据服务管理器发出数据服务请求;
·实时数据接收:监视数据消息队列,读取发送给本页服务线程的实时数据;
·实时数据发送:将接收到的实时数据,以jddtp协议格式打包,按照页面服务的客户信息定点广播发送给客户浏览器。
2.4数据服务管理
数据服务管理器接收页面服务模块的数据请求,注册登记数据服务请求,按照数据定义库中指定的服务配置,启动响应的数据服务例程。数据服务管理器提供以下功能:
·数据服务管理:完成数据服务的注册、注销、确认工作;
·数据服务例程管理:创建、撤消数据服务例程;
·数据服务质量管理:跟踪、监督数据服务质量,对由于网络等原因不能准时提供服务的数据服务项目,提出服务警告,提请系统管理员注意,并进一步监视服务进展。对确实不能保证服务质量的数据服务,自动注销其服务;
·系统资源管理:系统在创建数据服务例程时,要监测系统资源使用,当系统资源不足时,数据服务管理器拒绝新的数据请求服务。或者根据负载平衡策略转至另一台应用服务器实现新请求的服务。
2.5数据服务例程池
数据服务例程池中的服务例程按照定义的采集周期,定时从工控网络数据源采集实时数据。工控网络系统的数据源有多种形式,常用的有数据服务器、实时文件、通讯接口、网络广播等数据提供方式,不同的工控系统提供数据的方式,以及数据的格式也不相同。为了保证系统的通用,客户机和应用服务器的内部采用统一的数据格式,数据服务例程在采集数据的同时,要完成数据格式的转换,按系统规定的数据格式,通过数据消息队列,发送给页面服务模块。
3页面服务与客户管理
在分布式监测系统中,监测页面提供生产运转状态、设备运行情况的动态显示功能,不同的监测页面有不同的监测目的,为不同的工作人员使用。实时监测系统的主要特点是监测数据的实时传送,传统的监测系统实现实时传送功能有定时采集和主动发送两种方式。数据需求方定时采集方式是一种常用的方式,数据需求方(如:监视系统界面、控制程序等)采用巡回采集或定时器触发方式,向数据源发出采集申请,收集实时数据。这种方式主动权在数据需求方,需求方可以控制数据采集周期,保证在需求数据的时候得到数据。
数据源主动发送方式是一种数据处理效率较高的数据传送方式,数据的采样周期控制在数据源,当数据源有新数据产生时,数据源主动地将产生的新数据发送到需要数据的地方,这种方式保证了数据的产生就能得到相应的处理或服务。主动发送存在固定目标和不固定目标两种方式,固定目标方式是需求数据目的地是固定的,如控制工作站、实时数据库等,这种方法存在需求方不能准确收到数据的可能,解决的办法是采用“一圈半确认”的方法确保数据的准确传输,但是这样会损失一定的实时性。最常见的不固定目标方式是广播方式,由数据发生源定时通过网络广播发送数据,需求方只要监听网络,即可获取所需的实时数据信息。这种方法数据源无法确定数据是否到达需求方,但这种方法又是解决“一对多”和目的地不确定问题的非常有效方法,折中的办法是固定目标广播方式。采用何种方式,要根据具体的情况来设定。
通过internet/intranet发布实时信息本身存在着传输时间不确定问题,而且传输时间的长短与网络的服务质量有很大的关系。在分布式监测系统中,如果采用在浏览器方设置定时装置,在页面动态图素需要实时刷新时,发出请求信息,主动获取实时数据方式,将增加实时数据的获取时间。同时,大量的实时数据请求信息在网上传送,增加了网络的负载,加大了网络的阻塞。为了提高系统实时数据传送效率,远程监测系统采用“请求服务,主动传送”的方式,由客户端浏览器发出页面数据服务请求,告之应用服务器,在何地需要何页面的服务。应用服务器在接到服务请求后,按照页面中数据定义的周期,定时采集实时数据,主动地发送给远程的浏览器。
在这种方式中,应用服务器系统采用页面为单位向远程客户提供信息服务。系统为每一个页面请求提供一个页面服务线程为其服务,页面服务线程定时采集页面所需的实时数据,按照客户方位置信息,主动发送实时数据到客户端。
分布式监测系统是一个开放型系统,系统中同一个监测页面可能有多个用户同时浏览,这样应用服务器可以采用一个页面对象线程为所有需要同一页面的客户提供在线数据服务。极大地节省了系统资源开销。
为了确保客户和应用服务器的在线连接,系统规定在一定的时间间隔,客户端要发送请求服务信息,确认客户端需要应用服务器继续提供服务。页面服务管理器定时检查页面线程中客户确认信息时间,当某一页面没有客户服务请求时,页面服务管理器将注销该页面服务,同时释放该页面服务线程资源,将页面服务线程置为空闲状态,等待其它页面服务请求。
同时,监测页面也要管理和应用服务器的连接,如果在规定的时间间隔内收不到服务器的数据,页面要提示用户,服务器不能提供服务或网络出现问题。由用户决定如何处理。如果在规定时间内收到数据,说明和服务器在线连接。
4数据对象与数据服务管理
对一个企业来说,监测数据资源是共享的,同一数据信息可能在不同的页面中出现,为不同的用户使用。为节省应用服务器的资源,提高服务器的性能,系统采用数据对象的方式,对实时数据进行管理。对相同的数据对象请求服务,共用一个数据服务例程,数据服务例程按照数据对象的属性设置,通过工控网络,从数据源获取实时数据,送给各个页面服务线程。
目前,计算机技术、传感器技术、控制技术处在一个飞速发展阶段,企业的控制系统也在不断变化,测点的布局、精度、采样周期等在随着传感器精确化、智能化而变化。为了与控制系统保持一致,分布式监测系统对数据对象实行统一管理、统一使用,数据管理器统一管理实时数据,定义实时数据类型、精度、位置、采用周期、采样例程等属性。数据应用服务器负责获取、打包、发布实时数据,web服务器和可视化生成器则要在页面中使用数据定义。当数据在数据管理器中定义以后,根据数据的属性,在应用服务器中配备有相应的数据采样服务例程。系统管理员可以动态地定义、装配数据服务例程,当工控系统或网络系统发生变化时,管理员只需修改相应的数据服务例程。
系统的数据服务例程由数据服务管理器动态启动,数据服务管理器配备有数据服务注册表,当有数据服务请求时,管理器将检查注册表,若不存在该数据服务时,管理器将启动该数据对应的数据服务例程;否则,只需将页面服务线程编号注册到相应的数据服务例程服务表中即可,数据服务例程按服务表中的编号信息提供服务。
5接口设计
监测页面在javaapplet初始化后,向应用服务器发送请求信息,监测页面javaapplet发送给应用服务器的信息包括:
·初始化信息:页面信息(页面编号),客户端信息(ip地址,端口号等);
·状态确认信息:时间,页面信息,客户端信息等;
·页面控制信息:数据重置,历史追忆,报警追踪等页面控制命令。
监测页面和应用服务器建立连接后,应用服务器向监测页面发送数据,提供数据服务。监测页面和应用服务器之间的数据传输,因为监测的需要,要求很高的实时性。java的网络通信有3种方式:javarmi,corba和直接应用套接字。对照osi的7层协议,javarmi和corba属应用层,套接字是传输层。相对而言,javarmi和corba数据传递的效率较低,实时传输效果不好。套接字数据传输方式直接通过传输层传输数据,传输效率高,但需要制定传输规则。在实时发布系统中,客户端与应用服务器之间的通信数据有限而且较为简单,在套接字上的编程容易。为了提高数据传输的速度,采用套接字方式,制定了java数据直接传输协议jddtp(java data direct transaction portol),实时地在监测页面和应用服务器之间传输数据。
6结语
本文介绍了基于页面服务和数据服务的多线程应用服务器的设计与实现方案,该应用服务器是基于可视化javabean组件技术web页面与工业控制系统数据源之间的桥梁,实现了工业控制信息的安全、实时、动态、可视化的发布,实现了工业控制系统与管理信息系统的联接,该分布式监测系统与管理信息发布系统和办公自动化系统一起构成了现代企业办公系统。
[参考文献]

[1]曹袖,林海,张胜基于java的实时系统互联及应用[j].计算机工程与应用,2000.2:135-138
[2]廖双龙,王凌峰基于internet的分布式实时在线监测软件的设计与实现[j].现代科学仪器,19995:16-19
[3]jalal feghhi,怎样用java beans开发web[m].北京:机械工业出版社,1998
[4]王炜java beans组件程序设计[m].北京:清华大学出版社,1999.1

更多
字体:【】-【】-【】【关闭此页

上一篇:机器人视觉伺服系统控制结构的研究'   下一篇:一种新型的快速无超调预测控制器及其应'


特别声明:机电之家(http://www.jdzj.com )所共享的机电类资料,机电论文、机电类文章、机电企业类管理制度、机电类软件都来自网上收集,其版权归作者本人所有,如果有任何侵犯您权益的地方,请联系我们,我们将马上进行处理。购买的论文都出自原创,保证作者的原创的版权的转让,任何纠纷由法律解决。