论文部分内容阅读
随着Web技术的流行,越来越多的应用从原有C/S模式转变为B/S模式。用户对于Web应用系统的实时性的需求也越来越多,很多应用(例如,工业运行监控、Web在线通讯、即时报价系统等)都需要将后台发生的变化主动地、实时地传送到浏览器端,而不需要用户手动地刷新页面,发起Http请求。基于Web的实时信息推送技术就是在这样的需求下应运而生的。基于Web的实时信息推送技术是一种新的Web应用架构,基于这种架构开发的应用中,服务器端会主动地以异步的方式向浏览器端推送数据,而不需要浏览器端显式的发出Http请求。本文以电厂运行状态实时信息监测系统的开发为背景,概述了Web实时信息推送技术的原理,对其进行了分类。着重对无插件的服务器推送技术的四种传输方式进行了详细的分析、对比,并指出它们的特点和适用场合。选择了Pushlet开源框架作为主要的研究、二次开发对象,给出了Pushlet的总体架构和核心组件的描述,详细分析了Pushlet如何以Long-polling传输方式进行服务器主动推送消息,并指出了Pushlet所具有优势与不足。其中,Servlet线程占用问题是影响Pushlet并发吞吐性能的关键性原因。Servlet3.0的异步特性可以将耗时的操作异步委派给另一个线程来完成,Servlet线程则在不生成响应的情况下返回至Servlet线程容器,提高了并发处理速度,这一特性正好能解决Pushlet的Servlet线程占用问题。对如何利用Servlet3.0的异步特性对Pushlet框架进行优化进行了详细的说明,给出具体的优化方法,并通过实验来证明了优化的有效性。针对现有基于Web的监测系统浏览器端技术在实时性方面的不足,利用SVG和优化后的Pushlet技术设计了一种新型的基于Web实时信息推送技术的Web监测系统。该系统以JSON为数据传输的载体,利用Comet进行系统通信和数据传输,前端使用SVG技术实现图表的绘制,使监测系统具有良好的实时性和丰富的展现形式。