论文部分内容阅读
服务器推送(Server Push)是最近Web技术中最热门的一个流行术语,又被称为Comet,最初的是在2006年由Alex Russell(Dojo Toolkit的项目领导人)在他的文章中提出来的概念。它是一种基于HTTP长连接、无须在浏览器端安装插件而实现Web服务器主动向浏览器客户端发送消息的技术。其工作模式是浏览器和服务器建立连接之后,服务器发送一批数据,浏览器显示这些数据,同时保证与服务器的连接。当服务器需要再次发送一批数据时,浏览器仍然可以显示数据并保持连接。服务器推送技术一个优点是其显而易见的高效性,它消除了浏览器等待与轮询的时间消耗,减少了建立或关闭新的HTTP连接的时间开销,客户端不会像使用轮询那样生成大量无用的通信量,并且服务器端在事件发生后可立即发布给客户端。事件流处理(Event Stream Processing,ESP)技术是以近实时的方式对大量数据流进行复杂分析的技术。使用该技术可以高速吸收大量事件数据流,对事件进行历史和实时的分析,当特定事件发生时触发某些行动。事件流处理引擎类似于数据库,只不过是把数据库反过来,语句是固定的,而数据进进出出。事件流处理是软件行业的一个发展趋势,常有的应用例子包括高级监测系统、金融行业的自动交易(算法交易)、RFID等等。将服务器推送技术和事件流处理技术相结合,能够很好的实现事件流驱动的实时Web系统,这种系统能够迅速处理大量的复杂的数据量,并且能够以近实时的方式将更新的数据推送到浏览器。论文中将详细地介绍服务器推送和事件流处理这两种技术,并以实现一个外汇交易监测系统为例,具体阐述如何将两种技术相结合应用到实际项目中,实现一个基于Web的实时监测系统。同时,论文也为其他基于事件流驱动的实时Web系统用提供一个可参考的系统框架。