英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料
2010第八届IEEE国际会议
控制与自动化
中国厦门,6月9-11日,2010
基于Ajax的实时过程控制与监测系统的B / S结构研究
摘要——在传统的B/S结构中,客户端和服务器之间的日期交互是基于HTTP模型的请求响应机制协议,这样的运行效率和实时的B / S的监控系统大大限制了现代工业生产和控制系统的基本设施。由于存在这样的问题,一种基于Ajax技术的新的B / S模式被设计出来,旨在提高实时性和安全性。在与铁和钢相结合的行业生产体系中,对该模式的关键技术进行了相关讨论。
Ⅰ.介绍
实时的生产过程监控系统是一个计算机为基础的生产过程控制和调度自动化系统,它控制和监视着在现场运行,具有数据采集,设备控制,测量,参数调节以及各种信号报警功能的设备。该实时监控系统的软件平台结构通常分为C/S(客户端/服务器)和B/S(浏览器/服务器)模式。在C/S模式中,其定位于客户端的功能模块与那些它定位在服务器端的功能模块建立沟通渠道,各种监控业务可以通过该通信信道来实现,比如监测数据流和实时的数据收敛和释放,控制数据流的触发和制约,广播异常事件,历史数据备份,安全通信等。C/S模式是目前最成熟,最常用于实时监控系统的软件体系结构,但C/S模式被证明在维护,可扩展性,跨平台等方面具有更大的限制。
随着网络技术和互联网的快速发展,基于B/S结构模式的系统已经被企业选择作为其信息交流平台。在这种结构中,用户界面完全应用WWW浏览器,除了业务逻辑的一部分在前端实现,其它主要事务逻辑的实现都是在服务器端。作为结果,该软件开发具有在客户端“零部署”的优势,升级和维护的重点主要在服务器端,这大大降低了系统的维护成本·,并提高了用户界面的友善性和一致性,增大了系统的可扩展性和远程访问的能力。这就造就了一种把实时监控系统建在B/S模型上面的一种趋势[1]。
随着企业的兼并,收购和整合,企业规模逐渐变大,地域分布更加广泛。虽然基于传统的B/S模式的生产过程控制系统不存在地理范围上的限制,但是由于HTTP协议的特点,传统的B/S结构还是具有一定的局限性,传统的网站提交表单时,会等待几秒钟,进行页面重绘,然后再次启动整个循环。这是因为不管是最小的服务器交互,还是最微小的显示屏变化,都需要与服务器进行呼叫联系,然后再完成一次完整页面的刷新,数据通信的实时性差,带宽消耗大,这一切都表明,传统的Web技术已经不适合用于处理实时数据频繁变动的服务,这已经成了在工业监控中使用B/S结构软件的瓶颈。
Ajax是一种在最近几年出现的用来创建交互式Web应用的新技术[2]。与传统的Web应用对比,Ajax应用程序具有如下特征。首先,Ajax网络的互动应用是平滑和连续的,它并不需要切换或刷新整个页面,大多数页面在与其相互作用的服务器内完成。用户动作如鼠标点击和打字可以通过JavaScript的处理,所以互动操作变得更加丰富,而不仅仅只是填写表格与点击提交。所有这些增强的功能使Ajax相互作用下降得更快以及变得更连续。第二,与服务器的通信使用异步方法,不中断用户的操作。一个Ajax应用总是显示最新的消息,还有谁是在线的信息,或者从一端发送消息到另一端的详细细节,这些内容都是“活的”。Ajax的这些功能可极大地提高B/S软件架构的实时性。在本文中,与产学研相结构的钢铁企业联合,一个基于Ajax技术的网络实时监控系统已经建立,然后,本文在对该系统的实时和安全方面的改进进行了讨论。
Ⅱ.Ajax技术
- Ajax技术的组成
2005年2月18日,杰西-詹姆斯 加特勒在网上发表了一篇题为“Ajax:Web应用程序的新路子”。该网站变得更丰富,反应也更敏捷,缩小了与台式机的差距。Ajax不是一个插件,也不是一种专有技术。从技术上讲,Ajax是一种异步JavaScript和XML的结合体,特指一种JavaScript和XMLHttpRequest对象,这种对象让浏览器发起传统页面请求之外的HTTP请求,这就类似于一种建筑风格,一种高层次的设计模式,由JavaScript,CSS,DOM,XMLHttpRequest等许多相关的组成技术和理念相结合,这就使得Ajax应用程序建立在标准的Web技术之上,并且提供了丰富的,反应灵敏的用户体验。下面的一个快速纲要将反映出参与了Ajax的各种技术。
- JavaScript:JavaScript是一种协调浏览器活动的客户端编程语言,Web应用程序可以和很多内置函数进行沟通,之后JavaScript解释器嵌入在Web浏览器中。
- CSS:CSS丰富了显示器和样式表,并且从款式细节上调整了文件结构。作为结果,基于CSS,网站将有一个更整洁和更灵活的布局。这一切中最伟大的事是,CSS可以轻松地使用JavaScript来进行操作,仅仅只用一条代码,就可以使物体消失,移动它周围的页面,或者改变其外观。
- DOM:DOM对象是一个用来表示可以读取和操作DOM结构的XML文档和JavaScript层次的数据结构,当前网页就是一个特别重要的XML文档,因为HTML是一种松散的XML的方言,作为一种XML文档,当前网页被暴露在DOM对象浏览器,并通过操纵它,你可以影响当前网页,最重要的是可以有效重绘页面的一部分。
- XMLHttpRequest:XMLHttpRequest对象是Ajax的心脏,此对象发出的请求到服务器,并且处理来自它的响应。这是由你来决定你需要什么,你如何处理在服务器端的请求,并返回到客户端的内容。该数据的格式通常是XML,但也可以是一个很好的支持基于文本的数据格式。
在这四项技术中,JavaScript作为胶与其它各部分结合在一起,定义应用程序的工作流程和业务逻辑;DOM,由JavaScript操纵,改变或刷新用户界面,不断重绘和重新组织显示给用户的数据,并处理用户鼠标和键盘的交互;CSS提供了一个统一的外观应用程序并提供了强大的以编程方式操作DOM;XMLHttpRequest的对象是负责与异步通信的服务器在提交用户请求和获取最新的数据上建立联系。这四个关键技术的协调如图1所示。
图1 Ajax的四个组成部分之间的相互作用
- Ajax技术的运行机制
经典的Web应用程序使用HTTP协议来请求并接收来自服务器的响应。这个过程需要时间,并刷新了用户的整个屏幕,比如旋转地球仪,一个微调,或者进度条显示该浏览器加载用户。但是,现在我们已经转移到一个基于JavaScript的范例,它调用一个Ajax引擎发送异步HTTP请求到服务器(图2a)。
Ajax的假想通过更新网页提高网络的有效性,而不是整个网页的一部分。它无缝交换在浏览器客户端和服务器之间小批量的数据。由于刷新网页不需要更新页面时,页面变得更互动。这导致了更高的响应速度和功能。
Ajax是一种客户端技术。在Ajax网络的应用模式中,在发送从HTTP请求客户到服务器之前,浏览器的用户界面客户端会发送一个JavaScript调用Ajax引擎,然后,Ajax引擎将发送一个异步HTTP请求到Web或XML服务器。从服务器侧到客户端,服务器的XML数据发送到Ajax引擎,Ajax引擎发送HTML和CSS数据到客户端用户界面,这与经典的Web应用程序相比,降低了带宽使用,Ajax也获得了来自JavaScript的优势,其中开发人员只需要编写一次代码,他们的代码可以在不同的平台上工作,这使得Ajax具有更强大适应性(图2b)。
(a) (b)
图2 Web应用经典模式和Ajax模式比较
Ⅲ.基于Ajax技术的工业监控系统设计
A.实时监控系统的架构
在钢铁企业,炼钢过程包括这些主要步骤:转炉炼钢过程中,用氩气合金在炉外精炼,方坯连铸,铸坯,第一次切割连铸板坯,第二次板坯切割,在较低地网络计算机与PLC连接时,上层网络计算机与中等计算机进行沟通,上层网络利用高速以太网。系统提供人机交互功能,包括:(1)显示工艺参数。Ajax的应用程序可通过编程来呈现每个模块的状态以及实时数据,比如温度,压力,进料流量,电流,释放速度,晶体振荡器频率和其它参数。(2)显示数据报告,包括实时数据表,历史数据表,报警记录。(3)显示历史潮流趋势图,各种工艺参数的曲线。
在本文中,实时监测系统采用的是典型Ajax架构(图3)
图3 Ajax的典型建筑
在这种架构中,背层的具体服务是由通常所说的Ajax脚本中的外层所提供。再往下,即是定位和发挥业务逻辑作用的中间层,通过与HTTP前端层和背面层来交换数据业务,使用多种格式来传递参数和返回值。前提是有运行JavaScript代码的客户端。接收和处理数据时,后面层(客户端)使用HTML和JavaScript构建图形用户界面。
利用微软的Visual Studio.NET和Visual C#,其运行环境是Windows Server 2003和IIS 6.0,后端数据库为Microsoft SQL Server2000,用这些环境进行实时监控系统开发。Ajax客户端的开发组件利用微软提供的Ajax控件工具包。基本上,网络应用程序实现的视觉效果类似于传统桌面应用程序。
实时监测系统的数据交互处理如图4所示(图4)。
图4 Ajax实时数据交互
从图4可以看出,四个核心流程已经被创建,包括创建XMLHttpRequest对象,发送Ajax请求,处理服务器响应和加入CSS样式。考虑到论文的长度,这篇文章没有进行更多的叙述,读者可参阅相关文献。该数据格式使用JSON对象客户端的进行交互。
JSON,简称JavaScript对象符号,是一个是基于JavaScript本身编码的数据格式。 JSON数据报可以像使用eval(函数一样,因此,需要在几乎没有处理客户端中进行解码。这意味着在客户端,则不需要从事解析XML文档,这可以节省你编程时间和一些CPU在客户机上的周期。在比较JSON,XML时,更适合使用标记文档,但是JSON更适用于数据交换处理。 JSON编码显然要比XML更容易,在解码区域,XML解析可向子节点给予考虑,父节点这些都是令人目不暇接,但难度解析JSON几乎为零。假设包括一个用户的数据:用户名,口令,部门,性别,年龄。使用JSON表示为如下:
{
“name”:”zhangshan”,
“password”:”123456”,
“department”:” Technology “,
“sex”:”male”,
“old”:”28”
}
与XML相比,JSON是显著更紧凑。
图5是使用Ajax技术实现的实时监测到板坯的接口在MES网络实时生产连续铸造方法的项目。
图5 实时监控板坯生产的连铸工艺与Ajax技术实现
Ⅳ.关键技术分析
- 实时
延迟是基于B / S架构在工业监控的关键因素。它是很难完全做到实时监控,因为有一定的响应时间,这是由下式定义:
其中Tr:响应时间
Tp:服务和现场设备控制数据交换时间
Ds:发送的数据量
Dr:数据接收量
Vr:网络速度
Tc:通信的初始化时间
从上面的公式,明智的做法是,以减少响应时间Tp,Ds,Dr,Tc或增加Vr。Vr由硬件决定,Tc决定协议[5]决定。
为了提高系统的实时性,基于Ajax和B / S架构的工业监测系统已经从以下几个方面进行了改进:
- JavaScript运行在浏览进程内,并直接操纵图形显示。你不必从服务器,以隐藏方式发送一个全新的页面元素或重新安排页,这样仅仅只传输实时数据流,使得网络流量大大降低并且网络的性能得到了提高。这样实时性要求如刷新页面,数据传输和发送的命令得以保证[6]。服务器相互作用同样可以通过JavaScript同样处理,所以,您可以上传用户命令和下载没有任何页面刷新的新信息。
- 缓存是广泛用于计算机存储的技术,通过保持经常访问的或者在内存中比较重要的数据来提高性能。在Web应用程序的上下文中,缓存是用来保留HTTP请求页面或数据,并重新使用它们,而无需创建他们。在这篇文章中,MES网络直播项目创建的数据库在客户端利用JSON对象进行.NET缓存和缓存此类信息机构,而不是依赖于重复数据库调用,这样的好处是Web服务器和数据库对服务器的系统资源需求减少以及增加了Web应用程序的扩展性。由于.NET数据缓存,我们可以缓存整个页面(输出缓存)或服务器控件的部分(片段缓存),并用API数据缓存与下级进行缓存。
- 在互联网/内联网中,以信息包的方式发送信息。不像其它的信息流,为了保护令人不安的其它突发事件而进行单独调度,以及调度策略是最短延时路径算法。
总体而言,实时取决于硬件的程度和带宽的进步,以及浏览器的能力和利用的服务器软件。
- 安全性
-
B / S架构的安全性问题:在B/S架构中,客户端脚本可以通过网
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[146264],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。