Web实时系统

2024-06-01

Web实时系统(通用8篇)

Web实时系统 篇1

高中信息技术选修模块《多媒体技术应用》教学内容中, 涉及众多的软件教学。如有关章节中, 包括P h o t o s h o p、F l a s h、豪杰解霸、会声会影等软件的使用, 这类软件应用性较强, 技能点较多, 因此, 在课堂教学中, 教师会给学生经常布置一些随堂任务, 以巩固所学内容。这就涉及了学生上传作品, 教师整理并批阅的过程。按常规方式, 可借助第三方软件收作业, 进行整理批阅并及时反馈给学生, 但是在时间有限的课堂内, 这是不现实的。经过一段时间的摸索、实践, 我们成功搭建了一个小巧实用的作品实时显示系统, 该系统操作方便, 易于移植。

一、系统实现的原理和模式

本系统基于B/S模式设计, 考虑到建网成本、建网难度的大小等问题, 运行平台为w i n d o w 9 8/2 0 0 0/x p/2 0 0 3及以上版本。为了解决运行自测系统程序需要安装I I S (w i d o w 9 8为P W S) 和建站点的繁琐工作, 通过N E T B O X封装该系统程序并发布成一个绿色软件 (仅含一个文件的应用程序) , 从而方便随时随地移动该系统到另一台电脑上。虽然此架构安全性、性能等稍弱, 但能够满足我们的要求, 且具有使用方便, 成本较低, A c c e s s数据库较易于移植等优点。 (实现方案和涉及技术见图1) 。

二、系统功能和实现技术

1. 系统的主要功能

作品实时显示系统坚持简单、实用的原则, 主要功能包括:教师、学生账号的管理, 学生作品上传管理, 前台学生作品实时显示并自动评价。

2. Access数据库结构设置

本系统需要存贮处理的数据量不大, 故采用小巧实用的A c c e s s数据库。根据系统的主要功能, 需要在A c c e s s数据库里建两个表分别用于存放教师、学生登录账号信息 (如图2) , 学生上传作品信息 (如图3) 。

3. 系统程序的关键程序

在系统的后台管理部分, 有关教师、学生账号信息的编辑 (添加、删除、修改) 操作, 用a s p编程实现起来十分简单, 此处就不给出其程序源码。有关学生作品实时显示系统的编辑操作涉及学生上传目录的建立, 作品显示页面的建立, 评价及自评, 此处给出其实现的程序源码。具体管理页面及关键代码如下。

学生上传目录的建立:可通过F T P或共享目录来实现。具体的做法就是先建立一个z u o p i n文件夹, 通过s e r v-u指向此文件夹, 然后将“学生上传”栏目链接到F T P地址就可以了。简单一点的, 只要共享z u o p i n文件夹, 然后将“学生上传”栏目链接到此文件夹就可以了, 如:t e a c h e r z u o p i n。

在系统的学生用户界面, 学生点击“学生上传”栏目即可通过F T P或共享目录上传本小组完成作品 (按教师规定的文件名上传, 必须与z u o p i n表中的z u o p i n名相一致) , 供教师批改或其他组学生评价、投票。

作品显示页面的建立:建立一个z u o p i n.a s p页面, 首先在其页面左方可建立相应的小组栏目, 方法是直接加入语句, 显示z u o p i n表中的z h a n g h a o项数据即可 (如图4所示) , 语句举例如下:">;然后建立一个插件, 在其属性中将其与数据库中的z u o p i n表中的z u o p i n项数据建立对应关系, 语句举例如下:<%=r s l (“z v o p i n”) %>。

在系统的学生用户界面, 学生上传的作品将自动实时地显示在平台“作品评价”栏目中, 通过修改z u o p i n表中的z u o p i n项数据格式可支持图片、F l a s h、视频等格式。这些格式对于高中《多媒体技术应用》教学来说已经足够了。

至于评价和自我评价、投票等, 在a s p中实现甚为简单, 可自行加入模块, 在这里就不详细阐述了。

三、封装成可执行文件, 体现系统的“便携式”

至此, 系统已经完成程序部分, 在装有W e b服务器 (支持a s p运行) 的电脑上配置站点, 已经能正常运行。为了省去装W e b服务器及建站点的繁琐工作, 可使用n e t b o x软件对其进行封装发布。

该系统是一种基于教师课堂教学的辅助软件, 实现方法巧妙, 技术较为简单, 但十分实用, 且对运行环境要求不高, 易于移植。经过实践, 本系统运行良好、稳定, 为学生提供了很好的服务。稍做改动、完善, 即可移植到教学中的许多方面, 如学生作品演示平台等, 具有很好的使用价值和现实意义。

参考文献

[1]余胜泉, 吴娟编.信息技术与课程整合——网络时代的教学模式与方法[M].上海:上海教育出版社, 2004.1.

[2][美]Judith Haymore Sandholtz Cathy Ringstaff David C.Dwyer.Teaching with Teachnology:Creating Student-Centered Classrooms[M].北京:中国轻工业出版社, 2004.10.

Web3.0:实时宽网革命 篇2

经历r 2008年的危机和2009年的复苏,2010年的TMT市场将重新迎来一个辉煌的繁荣时代。2010年被许多投行、VC视为继2005年之后的又一轮上市高峰期。

Web3.0的新特性

TMT领域,尤其是互联网和移动互联网,仍是年轻的、技术驱动型的行业,要抓住重要机会一定要关注技术。以Google为例,2006年收购YouTube以来,看似其霸主地位无人撼动,但其实它最害怕的事情(新出现爆发性增长的信息,它去没办法搜索到)却正在发生,Twitter和Facebook为代表的实时信息的爆发就对只抓取静态网页信息的Google造成最大的威胁。眼下的这场革命可以称为实时宽网的革命,它才是继20以来Web最重要的变化,姑且可以称其为Web3.0。

Google公司CEO施密特在谈到s年后的互联网时,着重于两点:一个是基础设施的进步,一个是实时信息的爆发。他之所以这么说,是因为Google霸主地位的撼动者已经出现。基础设施的进步依然符合摩尔定律,但这为不少人所忽视。摩尔定律会促进基础设施的变化:计算能力达到现在的10倍,每秒100M以上的带宽,比现在廉价得多的存储……在这种趋势下,如今大力度投资于实时信息和视频信息,未来将会占据重要位置。实际上Youtube是2005年开始做的,Twitter是2007年开始做的,它们抓住了趋势,而雅虎放弃了搜索就把未来拱手相让。

很多正在发生的技术趋势都证明实时信息和视频信息会成为TMT未来的主流趋势。且不说Youtube的崛起借助了Flash技术,现今Web最底层的语言HTML已经顺应支持视频和实时信息的趋势。不了解互联网的用户也知道,HTML是最具扩展能力的语言,是最简单的web编码方式,甚至史蒂夫·乔布斯认为未来的手机上应该只有一种编码语言那就是HTML。HTML的第五代标准HTML5已经增加了视频的编辑,web可以直接播放视频,同时,HTML5的Server-sent events特性大大增强了Web的实时性,此外HTML5还能支持Web保存更多信息,为直接通过网页的更丰富的互动建立基础。

大公司纷纷支持HTML5,Google wave其实就是HTML5的一个范本,实时性的飞跃式进步也让人们看到HTML5所代表的趋势。真正重要的是,web特性的改变是更底层的平台级别的进化,无疑会为将来上层建筑的技术扩展降低成本。

水涨船高的新市场

2009年电子商务市场已经很火,除了几家在3c、服装、鞋子等领域卡位较好,占有了一席之地外,越来越多做传统零售业的公司和做生产制造的供应商企业都进入这一领域,比如中粮推出“我买网”,东方航空开始在淘宝直销。未来几年,随着经济转型,中国经济增长的引擎也势必从投资拉动切换到内需、扩大消费的引擎上。零售消费行业本身的增长,加之网络技术带来更多网民的消费量导入进来,无疑会让电子商务实现的零售额快速增长。

随着传统生产和零售企业加入电子商务,已经出现了一些为其定制化服务的电子商务建站解决方案提供商,专门满足他们的需求,比如五洲在线为面向终端消费者的品牌公司提供B2C解决方案。这个市场仍然很大,2010年依然看好。此外,随着游戏、教育、购物等直接付费在线服务提供商进一步发展,支付必然成为越来越不可忽视的一股力量,考虑到第三方支付牌照、小额信贷牌照等很可能放开或进一步扩大发放,通过在线支付发展为金融财团的公司可能出现。

2010年有望上市的“去哪儿”作为已经电子化的传统机票代理商的前端快速成长起来,也是电子商务市场的成功例子。值得注意的是,“去哪儿”就利用了搜索技术和实时信息这些互联网的优势功能和新特性,抓住刚刚电子化的机票代理公司需要更大前端用户流量的机会,这种机会无疑会在2010年随着全电子商务市场的扩大而增加。

京东、VANCL、卓越、当当等电子商务公司都在思考的是如何卖百货,淘宝开店者也在思考如何找到更多的新客源,互联网上做生意已经不像早期那么容易推广,传统的广告形式效果也逐渐降低,因为用户在屏蔽信息。而借助实时信息、视频等富媒体特性,才能汇聚网络的人气,再通过崛起的电子商务市场将流量转化为现金。随着电子商务市场复苏和快速增长,在其周边成长起一批只做信息的网站,比如乐啊网、翻动西网、淘乐网、网购疯魔、帮你淘等。能够为获取新用户方面提供价值。还包括一些数据公司、咨询公司,如果你能整合统计分析资源,并有良好的数据资源平台,对电子商务行业就非常有价值。

归根到底,考量这个领域机会和价值大小的是成本问题,谁能把获得新用户的成本、IT成本、物流成本有效地降下来,谁就有机会占有一席之地,甚至在某些市场中实现后来居上。

新秩序和信用体系

Facebook去年收入增长很快,它在2010年很可能实现盈利,而目前的数据显示,它的八成收入来源是开放平台上游戏收入的分账。这值得我们思考,这种分账收入本质上是游戏公司付给Facebook的游戏推广费用,那Facebook为什么能有这么大的推广能力呢,因为它掌握人际数据,他只需要促进极少数重度玩家给他的社交圈里的朋友发发Feed(Facebook上的朋友信息),就能快速推广一个游戏。

这场以人际为核心,实时信息为战场的大战已经开始打响。因为经过Web2.0的变化,人成为互联网信息来源的重要结点,用户已经不满足只看静态的信息,而也倾向于了解其他正在做什么,世界正在发生什么变化,这种需求大概占我们使用网络所要满足的需求的40%左右。这是一次媒体变革。实时信息搜索公司美国的OneRiot,已经达成了对Twitter、Digg、FriendFeed以及其他站点的更新贴提供索引服务的交易,可见,各家都开始重视人际数据和实时信息的管理。

无线互联网咨询专家王煜全分析中国移动的用户数据发现,人群中80%的用户每月联系人的数量少于50人,而每月联系人超过150人的用户只占总用户数的0.67%,但就是这0,67%的人影响不活跃的80%的人。利用技术手段可以找到这067%的结点人物,但如何发挥他们的天性,让这些社交狂人为商业所用,其实这就是为实时信息排序的一个重要维度,人的维度。

王煜全认为社区网站都应该给予0.67%的用户特别的信用认证标志,给活跃人物提供和其网络地位相匹配的传播的责、权、利。这相当于建立了—个以人际网络为核心的广告系统,只有细化管理,人人互动营销的时代才能真正到来。

Web实时系统 篇3

关键词:MVC,设计模式,视图层,控制层,模型层

实时信息数据Web系统提供的主要功能如图1所示。

实时信息主要是提供对当时在线信息进行实时查询, 并能自动显示最近收到的数据。

信息查询主要是对接收到的已经插入到数据的实时信息的历史信息进行查询。

系统设置主要提供系统用到各种字典的设置, 参数的设置, 无线传输终端的配置等。

下面介绍Web系统主要实现过程。

1 MVC模式

MVC的描述最早见于Xerox在19世纪80年代末发表的大量文章。使用MVC的关键在于将逻辑分离为3个不同的单元:模型 (Model) 、视图 (View) 和控制器 (Controller) 。在一个服务器应用中, 通常将应用划分为以下部分, 即业务逻辑、表示和请求处理。业务逻辑用于表示对应数据的处理, 如客户、产品和订单信息;表示是指应用数据如何显示给用户, 如, 位置、字体和大小;请求处理则是如何将业务逻辑和表示部分绑定在一起。采用MVC的说法, 模型对应为业务逻辑和数据, 视图对应为表示, 控制器则对应为请求处理。

1.1 系统中使用的MVC模式

在系统中使用的是Servlet和JSP组成的MVC模式。

Servlet与JSP结合, 这种应用很容易维护, 而且当出现新的需求时也很容易扩展。由于Servlet是一个常规Java类, 可以充分使用Java语言的强大功能来实现请求处理, 在此可以使用标准Java开发和调试工具。然后, 系统利用JSP最擅长的方面:通过包含由Servlet所收集或生成的信息来提供响应。

Servlet和JSP的常见结合方式是使用一个Servlet作为应用的控制器, 并用多个JSP页面作为视图。基于这种方法, 可以采用一种模块化的方式开发应用, Servlet相当于一个网关, 它将请求分派至特定的处理组件, 并且基于成功与否响应选择适当的JSP页面。

使用Servlet和JSP的MVC模式, 角色分配如图2所示。

所有请求都发送至相当于控制器的Servlet, 以提示需要做什么工作。此提示可以作为一个请求参数, 也可以作为URI路径的一部分。Java Bean用于表示模型。Servlet可以自行完成所请求的动作, 也可以将每个动作委托至相应的各个处理类。取决于处理的结果, 控制器Servlet会选择适当的JSP页面来为用户生成响应。

1.2 系统中MVC的实现

在系统中使用了一个类名为Web Manager的Servlet作为一个相当于网关的控制器, 它负责将各个请求URI分发至对应的处理类。

Web Manager Train Manager中的do Post方法和do Get方法都指向了自定义的process方法:

Web Manager中的process方法的作用是专门分发所都请求到各个处理类的。process方法首先分析URI, 并取出本次URI要跳转到的模块的URI路径:

当各个处理类返回response URI后, 判断是否是.jsp, 如果是, 则重定向到response URI所指定的JSP页面:

此外, 在Web Manager的init () 的函数中, 加入了需要启动的收发数据的线程和判断终端下线的任务线程, 从而使这两个线程随系统的启动而自动启动。

系统中自己定义了Web Manager作为MVC的控制器, 而没有采用开源的中间件, 主要出于以下几方面的考虑: (1) 开源的中间件一般功能强大, 同时实现较多功能, 而系统对于这部分的要求不高, 使用不到开源中间件提供的功能, 造成“浪费”; (2) 开源的中间件一般会使用大量其他程序组件, 系统引入这些程序组件会给系统造成潜在的冲突; (3) 开源软件可能存在未知的问题, 如果出现问题不利于系统调试。

2 实时信息的实现

实时信息应用主要显示在线机车列表, 动态更新在线机车列表, 根据在线机车查看机车的实时信息数据, 并能动态地增加显示该机车新收到的实时信息数据。客户查看机车信息实时信息的时序图如图3所示。

客户在浏览器上点击显示实时信息的链接, 该链接作为一个HTTP请求发送到服务器上, 服务器根据链接URL中的基础URI部分确定Web应用, 并将请求发送给Servlet处理。

请求首先发送到Servlet控制器, 控制器根据除了URI基础部分剩下的URI确定处理实时信息处理类, 并将Servlet控制器中的request对象和response对象传给该处理类。

处理类接到request对象和response对象后, 调用request的get Parameter () 方法取出请求参数, 在程序中取出机车上的终端号, 因为后台数据组织是按照终端号进行组织, 机车号作为显示信息;程序中再取出一些查询条件的参数。然后, 处理类调用实时信息工具Java Bean的方法进行数据库查询, 实时信息工具Java Bean的方法返回一个处理结果, 一般是一个List对象, 里面存放着描述实时信息的对象。处理类接到查询结果后, 调用request的set Attribute方法将查询结果放入request对象中, 并返回一个用于显示结果的JSP页面。

Servlet控制器接到处理类返回的JSP页面, 直接调用request的get Request Dispatcher方法, 将request对象和response对象转发到JSP页面上。

JSP页面调用request的get Attribute获取查询结果, 逐个遍历查询结果, 显示结果。

以上是在系统中一个从客户端访问数据库的基本流程。系统中其他模块, 如信息查询, 也是按这个流程处理, 只不过是查询数据库中终端的历史信息, 显示结果的JSP与实时信息不一样。

3 系统设置的实现

系统设置中, 很多模块也是从客户端获取参数和数据, 然后根据参数和数据对数据库进行相应地操作。与实时信息模块不同的是, 系统设置中的各个模块不只是对数据库进行查询操作, 还会对数据库进行添加数据 (insert) 操作、修改 (update) 操作、删除 (delete) 操作。因此, 对于系统设置中的各个模块页面请求时, 在请求串中加入了一个操作任务的字段。例如, 如果对数据进行添加操作, 则操作任务请求串写为“……&task=add&……”。在处理类中, 要提取出操作类型, 并根据相应的操作做不同的处理:

上面最后一个操作与第一个操作——displaydata不同, displaydata操作是查询数据库数据表中的某一条数据, 用于修改该条数据使用;而最后一个操作是查询数据库数据表中全部的数据, 显示给客户端, 用于客户端选择修改或删除数据。这部分主要有如下几个功能模块。

(1) 无线终端配属

主要是设置系统中已经安装和未安装的无线终端的终端号, 保存在数据库中的终端配属表。

(2) 远程设备配属

主要是设置系统中已经安装和未安装的无线终端的远程设备, 保存在数据库中的远程设备配属表。

(3) 远程设备终端配属

主要是根据系统中的无线终端配属和远程设备配属, 建立起终端与所安装在远程设备上的关系, 保存在数据库中的远程设备终端配属表。只有在这个表中的终端, 才会真正认为是正在使用中的终端, 并会在系统的内存中生成终端对象并保存在数据收发线程中。

(4) 字典表维护

主要是维护一些字典表, 如收到的数据中远程设备型号是数字代码, 在系统中就需要建立字典表翻译代码成为客户使用人员熟悉的文字以及其他一些相关的数据字典。

以上这些系统设置的主要功能模块主要是对数据库进行操作, 对相应的数据表进行添加, 修改和删除操作。但是, 对于远程设备终端配属相对复杂一些, 涉及到终端操作, 在建立配属关系时, 需要同时产生内存中的终端对象并放入数据收发线程中;在删除配属关系时, 需要从数据收发线程中删除该内存对象, 并释放掉。

4 结语

Web实时系统 篇4

随着Internet的普及, 基于WEB的网上教学模式打破了传统教学方式的时空界限, 使得以教师为中心的传统教学模式转变为以学生为中心的全新的教学模式, 由于其客户端易操作性, 使得WEB教学成为未来教育发展的趋势, 并将成为全民教育和终身教育的主渠道。

目前, 人们对基于WEB的网上教学系统进行了多方面的研究, 教学体系结构也趋于完善, 但也存在不足, 如教学模式以浏览式教学为主, 多媒体应用以流媒体播放为主, 交互性不强、直观性较差等。而基于WEB实时视频交互技术在网上教学系统得到具体应用与实践, 使得学生足不出户, 便可通过浏览器在网上与教师、同学进行实时视频交互, 释疑解惑, 交流学习心得, 为WEB教学注入新的活力。

2 网上教学系统介绍

目前, 网上教学处理多媒体教学资源主要有以下三种方式:一是基于WEB的流媒体服务器播放方式;二是安装特定的客户端工具提供实时视频服务;三是完全基于WEB方式提供实时视频交互的应用系统。采用第一种方式的教学系统随处可见, 第二种方式主要应用于卫星传输的网络教学中, 如网络学院的卫星教学软件。本项目拟采用的第三种方式最少, 就国内而言在网上教学中尚未有成熟的应用。

本系统拟在现有的网上教学体系结构基础上, 建立基于WEB的一对一、一对多的实时视、音频教学环境, 提供强交互的网上教学平台, 构建新型的师生关系。系统实现的基本核心是WEB视频的实时交互, 实现技术与方法主要有:

1) 采用P-S-P (point-s e rve r-point) 视频、数据流传输模式。

2) 从可行性、易用性考虑, 客户端视频流编码采用MPEG4。

3) 编写专门的IE插件实现客户端数据传输。

4) 编写专门的视频、数据流服务模块实现服务器端数据处理。

3 基于WEB的实时视频交互教学系统的研究

3.1 系统工作模型

基于WEB的实时视频交互系统是一种远程教学模式。但远程教学领域具有实时直播等视频传输功能的几种代表性系统平台, 都要求教师端拥有确定的公共IP地址。一般来说, 都把教师端当作视频服务器使用, 这就要求教师在指定的地点上网, 不便于教学。理想情况是教师与学生一样可以在任何位置利用ADSL、宽带等方式上网, 而在Intemet上设计有专用的服务器和Web服务器为网络教学提供服务, 其中服务器用于协调和管理教师和学生之间的通信活动以及学习过程, Web服务器则提供学习过程所需的全部教学资源, 形成一种实用的视频交互系统工作模型:教师端学生端←→服务器Internet←→服务器←→DB。

该模型主要由教师端、学生端和服务器等组成, 教师端和学生端的视频交互核心功能以Web控件的形式实现, 通过服务器中介和协调, 在教师与学生间实现视频交互。其中, 服务器拥有固定公共IP地址, 在通信中起中介作用, 负责接收教师端和学生端的连接入网参数记录他们的连接状态, 接收通信方对系统连接状况的查询。教师端一般采用ADSL或宽带上网, 只需要拥有动态分配的公共IP地址, 位置不必固定。它先向服务器报告自己的连接入网参数, 然后查看学生连接情况和工作状态, 获取联机学生端的当前IP地址及端口等通信参数, 以便与每一个上线学生建立直接的通信连接。在视频交互环境下, 教师端建立与学生端的连接后, 就可以进行视频传输。在这个过程中, 如果发现学生端断线, 则向服务器报告学生端的连接异常。学生端上网地点任意, 宽带要求更低。学生端也是先向服务器报告自己的连接入网参数, 然后查看所登录网上课堂里教师端的连接情况和工作状态, 获取教师端的IP地址及端口等通信参数。建立与教师端的连接后就可以接收视频, 可以发出交互请求, 以及收到传送命令后向教师端发送视频数据, 实现视频交互。

服务器应用程序驻留在服务器中, 按视频教室为参加网上教学的教师和学生提供通信中介服务, 包括与教师端及学生端的网络通信、参数传递、相关状态的管理等基本功能。由于服务器布置在公网上, 供通信使用的地址和端口号事先可以确定, 在Web网页中通过脚本程序可以传递到视频交互控件内部。利用Win Sock编程, 就能建立教师端与服务器及学生端与服务器的连接并进行数据传输。教师端或学生端建立与服务器的连接后, 首先要报告自己所要登录的网络教室编号、连网配置等重要参数, 服务器应用程序收到这些信息后把它们写入数据库中。

3.2 系统工作流程

在基于WEB实时视频交互系统中, 服务器所起的具体作用是在师生之间的视频交互过程中进行协调和调度, 它不直接参与视频交互数据传输, 但却是不可或缺的。借助服务器, 教师才能够知道当前在线的学生数目、分别使用什么网络数连网通信, 学生也才能够知道教师的连接状况和连网参数, 最终在教师和学生之间建立起通信连接、状态检测和进行视频数据的传输。教师端获取在线学生端的连接入网参数并与之建立起有效的通信连接后, 就可以向学生传送视频, 或接收学生的交互请求, 接收学生传输的视频数据。学生端在建立与教师端的通信连接后, 就可以接收教师端传送来的视频, 当自己提出的交互请求被允许后, 向教师端传送视频。为保证网上教学活动正常有序进行, 必须对学生的交互请求加以管理, 基于WEB实时视频交互系统将在线学生组织成一个逻辑环, 用来控制向教师的视频传输, 设置一个令牌在环上流动, 只有令牌到达后才允许提出传输要求, 从而达到有序视频。

3.3 IE插件的使用

基于Web视频交互系统中视频交互的相关功能通过视频控件实现, 而整个教学活动的组织、控制和管理则是在动态网页中设计相应的功能, 利用了IE插件, 以Browser/Server模式实现。这些教学管理功能主要有:根据学生事先的选课和批准情况决定其是否有权限使用视频交互系统, 对在线用户列表进行动态管理, 按照学习课程对教学活动进行管理等。在网页中调用视频控件可以通过嵌入对象的方法实现, 将控件作为HTML的Object元素对象加入进网页中。IE插件的使用, 使得完全基于WEB方式的实时视频交互得以实现。

4 结语

基于WEB实时视频交互技术与网上教学紧密结合起来, 对推动网上教学普及与发展, 利用现代信息技术、网络技术构建新型师生关系、构建大学文化均具有积极意义。基于WEB的实时视频交互教学系统同时也为视频会议、视频聊天室在WEB上的应用提供新的技术平台。

摘要:随着Internet的普及, 基于WEB的网上教学模式打破了传统教学方式的时空界限, 使得以教师为中心的传统教学模式转变为以学生为中心的全新的教学模式, 人们对基于WEB的网上教学系统进行了多方面的研究, 教学体系结构也趋于完善, 但也存在不足, 如教学模式以浏览式教学为主, 多媒体应用以流媒体播放为主, 交互性不强、直观性较差等。

关键词:P-S-P视频交互,教学系统,工作模型

参考文献

[1]何克抗.现代教育技术和优质网络课程的设计与开发[J].中国大学教学, 2005 (1) .

Web实时系统 篇5

水库水位库容关系曲线是水库调度、水资源优化的基础。而水库调度是实现水库综合利用的一个重要手段, 它可以对水库的运用具体决策, 以便定量地解决水库综合利用中的矛盾。水资源的开发利用程度愈高, 对径流调节和综合利用的要求愈高, 则水利计算与水库调度这一环节的作用也愈显著。因此, 本项目拟以水库水位库容关系为研究对象, 针对Web技术特点, 建设Web版水库水位库容实时计算、分析系统, 为水利防汛调度决策提供科学依据, 从而为保障人民群众生命财产安全和社会经济发展发挥作用。

本项目研究开发的目标是在整理分析现有资料的基础上, 通过计算机软件、水文预报、网络通讯、数据库等多种技术手段, 实现采集前端实时水雨情中遥测水库站的最新水位值并进行预警分析, 以及最新水位相应库容值的实时自动计算, 实现根据水库站水位库容间的曲线关系来快速计算水位区间内任一水位值的相应库容, 实现不同时段跨度间的水位曲线绘制的一套集水雨情预警、水雨情信息管理应用于一体的决策支持系统, 当发生洪水和严重干旱时, 能迅速地采集和传输水雨情信息, 并对其发展趋势做出预测和预报, 为正确分析和判断防汛抗旱形势、科学制订防汛抗旱调度方案提供辅助决策支持。

系统采用全新的软件系统构造技术——B/S结构、并以发达的通信与网络为依托, 系统开发时采用了如下技术。

(1) 预警分析。

本系统中实时水雨情数据是以表格的形式展现, 其中列表显示实现上下滚动, 默认的滚动速度为慢速 (滚动速度包括慢速、中速、快速、停止四种) , 且列表页面刷新时间为5min (即每五分钟页面会自动刷新一次, 将最新的数据读取显示在列表中) 。列表中有雨量和水位的警示显示, 在对这些数据进行实时监控的同时, 能根据《浙江省实时雨水情预警工作规定》, 当各水雨情站点满足预警条件时及时进行预警标识。

(2) 图表技术。

在本系统中不仅实现了水雨情数据以表格形式来展现, 而且也实现了所有的水雨情数据图形化, 更直观地展现出来。比如某个水库站的水位数据以曲线图形式表现, 可以让用户直接从曲线图上了解水库站的水位是否超过正常水位或梅控水位, 从而能及时解决问题。

数据表格图形化主要是采用了两种方法。一是Microsoft推出的IE中VML画笔工具, 通过它并结合脚本来实现所需画出的图形, 并且可以让图形产生动态的效果。VML是矢量可标记语言的缩写, 是用于将图形数据矢量化的标记语言。它相当于IE里面的画笔, 能实现你所想要的图形, 而且结合脚本, 可以让图形产生动态的效果。VML具有表示方法简单, 易于扩展等功能特点。VML支持广泛的矢量图形特征, 它们基于由相连接的直线和曲线描述路径。由于VML使用简单的文本来表示图像, 这样就可用很少的字节来表示比较复杂的图像。VML与HTML兼容, 通过在HTML中声明VML命名空间并声明处理函数, 就可以和其他HTML元素一样使用VML元素, 在客户端浏览器显示图像。

二是采用了amCharts组件方式。amCha rts是一个动画交互Flash图表, 它可以从简单的CSV或XML文件中提取数据, 也可以从动态数据中读取生成, 比如ASP、.NET等编程语言。

(3) 计算方法运用。

本系统中最大的亮点是实现对任一水库的水位与库容关系的直观查询, 并可进行水位库容间的插值计算, 在计算的水位值超过临界值时给予信息提示, 以及实现最新水位相应库容值的实时自动计算。在系统功能实现的过程中, 大量运用了数学的计算方法, 如采用了内插值法、数值比较法、绝对值的运用等。

系统采用了B/S结构, 其最大的优点就是真正实现了客户端零维护, 系统的扩展也非常容易。

针对现有的水库水位库容间的计算方式——由最早的纯手工计算到流行的C/S计算运用, 本系统的研究实现了由传统的C/S计算到B/S计算的转变, 提出了新的水位库容计算方式理念, 其设计思路清晰正确, 为今后其它水位计算实现非单机版的功能开发提供宝贵的经验。

同时, 该系统采用了预警分析、实时计算、图表技术等多种先进技术手段来实现系统功能模块的开发, 在数据库设计以及基础数据处理方面, 也采用了新的建设理论与方法, 为我省其它类似的水利系统开发提供了可借鉴的经验。

参考文献

[1]武鹏林, 霍德敏, 马存信, 等.水利计算与水库调度[M].北京:地震出版社, 2000.

[2]现代数值计算方法[M].北京:北京大学出版社, 2003.

Web实时系统 篇6

1 系统设计

1.1 网络设计

天然气计量远程实时管理系统的硬件系统纵向包括两个层次:现场天然气计量系统和管理层终端。为了能够远程监测天然气运行情况, 必须能够通过局域网访问天然气的相关服务器。这可以通过将天然气自动化的相关服务器连接到局域网实现, 但这样将带来巨大的安全隐患。而如果采用Internet思想和技术构建天然气计量远程实时管理网络系统, 既可以实现上述目标, 又能保证天然气系统的相对独立性和网络安全性。

1.2 Active X控件设计

为实现在浏览器端监测天然气运行态势和数据, 系统整体框架用Active X控件实现。。Active X控件首先必须能够做到在浏览器端读取服务器上的天然气运行态势图的图形文件, 因而需要进行Internet程序设计。另外, 基于Internet的天然气计量系统动态图形处理系统的主要功能就是根据Internet上下载的图形描述文件, 绘制天然气运行趋势图, 因此有必要对它的图形描述文件结构进行分析。在天然气计量系统中, 所有的运行图 (包括实时数据、实时数据表格等) 都组织在统一的数据结构—图形描述文件中, 该图形描述文件由工具DAMAP根据实时数据库、设备属性数据库、地理信息数据库生成, 它包含图形描述和数据及与各种数据库的联接信息。在天然气计量系统中, 图形是按层组织的, 每一幅图有一个包含该图所有图层信息的map文件, 每一幅图又可根据需要分为若干数目的图层。

在Active X控件中, 可以根据组合框中的选择, 在浏览器窗口显示天然气计量的生产技术参数、运行参数、运行趋势图等。而远程数据传送则由处于实时数据库服务器端的DCOM来完成, 实时数据库系统则使用原有系统, 避免重复开发和维护。

1.3 实时数据库

实时数据是监控系统最基本的资源, 而实时数据库则是作为整个监控组态环境数据处理和管理的核心。实时数据库与基于传统数据库技术的数据库在原理、实现技术、功能和系统性能方面有很大的不同。传统的数据库系统旨在处理永久、稳定的数据, 强调维护数据的完整性、一致性, 其性能目标是高的系统吞吐量和低的代价, 并不考虑有关数据及其处理的定时限制。

实时数据库, 其数据和事务都有显式定时限制, 系统的正确性不仅依赖于事务的逻辑结果, 而且依赖于该逻辑结果所产生的时间。但实时数据库并不是数据库技术和实时系统两者的简单结合, 它在概念、理论、技术、方法和机制方面具备自身特点。

监控组态软件的实时数据库, 吸取了DCS实时数据库设计思想, 支持并发处理, 具有分布式网络的功能, 并在实时数据、实时事务及内部缓存处理等方面有其自身特点。

1.4 数据采集

力控3.1运用I/O驱动程序从设备中读写数据, 每个I/O驱动程序支持特定硬件。力控3.1组态软件首先通过驱动程序软件接口从现场的过程硬件中获取数据, 存入力控3.1的内部数据库 (DB) , 应用软件 (如力控3.1的画面运行程序、报表生成程序等) 从力控3.1内部数据库中获取来自过程硬件的信息, 实现在画面上动态地显示现场各过程硬件的运行状态, 数据也可以按相反的顺序写回现场过程硬件, 执行控制操作。

如图2所示, I/O Server直接负责从设备采集实时数据并将操作命令下达给设备, I/O Server的可靠性将直接影响组态软件的性能。在大多数情况下, I/O Server是与设备相关的, 即针对某种设备的驱动程序不能驱动其它种类的设备。一般, 设备制造商会提供PC与设备间进行数字通讯的接口协议和物理接口标准。物理接口标准规定使用何种通讯介质、链路层的接口标准, 如RS232、RS485、以太网等;接口协议规定通讯双方约定的命令及数据响应格式、数据校验方式等。I/O Server主要是按照接口协议的规定向设备发送数据请求命令, 对返回收据进行拆包, 从中分离出所需数据 (即组态的数据连接项和设备状态数据) 。多数设备的通讯接口协议都有若干条读写命令, 分别用来读写设备上不同类别的数据, 而每一条命令又可以读写同类别的多条数据, 具体能读写几条是由接口协议规定的。使用组态软件做I/O数据连接的工程技术人员不必了解这些细节, 只需按照I/O Server的说明书组态数据库变量与设备数据项的对应关系即可。I/O Server首先要将组态的数据连接项按照接口协议的要求按照类别分好, 把通过一次读写操作能够处理的数据连接项存放在一起, 称做一个数据包。I/O Server主要以数据包为单位进行数据处理, 这样会大大提高通讯效率。

1.5 系统的web发布

根据实际生产需要, 天然气实时监测系统中用于web发布的主要画面有:数据显示、设置运行参数、历史趋势、web报表。

2 系统功能及特点

2.1 系统功能

(1) 建立分布式实时数据库, 存储实时采集的天然气生产数据; (2) 实时显示和查询天然气计量的生产技术参数, 为技术人员科学管理天然气提供科学依据; (3) 实时浏览天然气日报表, 确保历史资料的准确性; (4) 在局域网 (LAN) 上动态显示天然气实时计量监测系统运行状况。

2.2 系统特点

(1) 客户共享服务器端软件, 节约软硬件费用; (2) 多客户并发, 即多个客户可以同时与服务器连接; (3) 方便维护, 维护只需在服务器端进行, 节约了维护费用; (4) 操作简单, 普通的浏览器操作即可。

3 结束语

天然气实时监测系统基于web来实现信息交互、综合与共享, 实现统一的人机界面和跨平台的数据库访问, 真正做到局域和远程信息的实时监控, 数据资源的综合共享, 以及全局事件快速的处理和一体化的科学管理。使得油田生产管理人员足不出户就可以对整个油田天然气计量实现监视、实时控制和适当的维护。

摘要:外输天然气计量远程实时管理系统基于web来实现信息交互、综合与共享, 实现统一的人机界面和跨平台的数据库访问, 真正做到局域和远程信息的实时监控, 数据资源的综合共享, 以及全局事件快速的处理和一体化的科学管理。使得油田生产管理人员足不出户就可以对整个油田天然气计量实现监视、实时控制和适当的维护。

关键词:web,天然气计量,管理系统

参考文献

[1]杨竞, 基于Internet/Intranet的分布式动态Web应用系统开发技术[C], 微电脑世界周刊, 2000.5

Web实时系统 篇7

在实时Web应用中,存在着像股票交易、银行汇率等基于事件流驱动的大型实时Web系统,它们同时具有信息推送和对事件流处理的两个特点,即服务器可以主动及时向浏览器发送信息,并实时处理大量复杂的数据[1,2]。要实现这类的Web应用需解决两个问题,一是要实现服务器端实时主动地推送消息或更新的数据到客户端;二是要实现实时过滤、分析、更新和处理所监测的数据,这些需实时处理的大批量数据不是采用传统数据库系统能保证的[2]。目前,大型企业具有上述特征的实时Web应用多是基于EJB的重量级框架和Ajax技术实现,因为EJB框架强调高可伸缩性,能很好地处理事务机制、安全访问权限以及分布式运算等问题[3,4],如网上证券交易系统、网上外汇交易等都属于重量级的实时Web应用。但采用EJB框架是以牺牲性能和简单性等方面为前提的,是一种复杂的、重量级的Web应用解决方案[5],这些重量级实时应用为解决性能问题,一般都部署了高性能的服务器群、多台Weblogic服务器、多个EJB组件并使用硬件负载均衡来实现高性能服务[6]。

为使一般的轻量级[3]Web应用也能实现类似于上述重量级的实时系统功能(即实现轻量级的实时Web应用),本文提出了一种基于Pushlet与Esper开源框架的解决方案,使得轻量级实时Web系统能在普通服务器上得到较好的部署运行。使用Pushlet技术,不仅可以解决服务器端响应用户的请求,还可以实时地向客户端发送数据[7]。使用Esper技术,可以满足实时处理数据的需求,大幅度提高系统处理实时事件的能力。集成使用这两种技术,不仅可以满足事件流驱动的轻量级实时Web应用系统的基本需求,还能整体提高轻量级实时Web应用系统的数据处理能力与系统响应实时性,且在实施中易于部署,为开发轻量级实时Web应用提供了一种参考设计方案。

1基于Pushlet与Esper的Web系统架构设计

1.1 轻量级实时Web系统架构设计

为提高轻量级实时Web系统的实时数据处理能力和实时响应能力,在轻量级实时Web系统架构设计中嵌入Esper引擎和Pushlet框架,分别作为系统的事件流处理引擎和服务器推送框架,系统架构设计如图1所示。

在图1中,轻量级实时Web系统利用Esper引擎对数据流进行分析和处理,将处理完毕的数据通过Pushlet框架推送到浏览器端,这是本文构建轻量级实时Web系统架构的基本思想。Esper是一个用于解决事件流处理(ESP)与复杂事件处理(CEP)的开源、轻量级和可扩展的引擎。它提供了一套通用的事件流查询语言,以SQL语言为基础,扩展了流操作符、窗口操作符以及视图操作符等[8]。Pushlet是一个Server端的轻量级框架,它使服务器端在Servlet机制下,通过编写的数据推送类和HTTP流连接,将数据从Server端的Java对象直接推送到动态网页上[9],无需任何插件的帮助,这种机制也是轻量级的。

1.2 基于Pushlet的服务器推送架构设计

目前成熟的服务器推送技术方案一般有基于Ajax的轮询、基于Ajax的长轮询和基于iframe的流三种方式[10]。在轻量级实时Web系统架构设计中采用的Pushlet框架是基于iframe的流方式进行的,其架构设计如图2所示。

在图2中,服务器端Pushlet的主要机制就是将服务器端的变化数据转换成一定格式的JavaScript代码,使用HTTP流的长连接方式将JavaScript代码不断实时地推送到客户端。在客户端DHTML页面的主框架(Frame)中设计一个隐藏的控制层框架(Frame1)和一个表现层框架(Frame2),并使服务器端Pushlet与Frame1保持着长连接,接收服务器端Pushlet实时推送过来的JavaScript代码。Frame1利用浏览器的JavaScript引擎执行来自服务器端JavaScript代码,将变化数据通过document对象的Writeln方法不断地写到Frame2中,从而完成了将服务器中变化的数据实时更新到客户端页面的任务。

1.3 基于Esper的事件流处理架构设计

对比事件流处理与数据库的管理,可以发现它们在处理方式上刚好相反,在数据库系统中采用的是静态信息并在数据中执行查询的方式,而在采用事件流处理Esper引擎的系统中,采用的是查询保持静态,数据却不断变化的方式,或者说查询语句是固定的,而数据是不断地流进与流出。基于事件流Esper引擎处理模式的系统,某些行动被特定事件发生时触发,可以实时监测事件流[11]。其架构设计如图3所示。

在图3中,大批量的实时数据流流入输入适配器后,通过输入适配器转换成实时事件流,并以Object、Map和Node形式的事件发送到Esper引擎中,在Esper引擎中事先使用EQL语言创建系统需要的各种查询(Statements),且在Esper引擎中注册这些查询,当事件流流经所有预先定义的EQL,检查并计算这些事件流是否与EQL相匹配,如果匹配,则产生相应的输出数据POJO(Plain Old Java Objects),输出数据POJO通过输出适配器转换成实时数据流流出引擎。实时Web系统采用Esper引擎后,能对事件流进行连续查询,同时能执行正在发生的事件流,并可实时地输出结果。

2基于Pushlet与Esper的Web系统架构实现

2.1 轻量级实时Web系统架构实现

为验证上述设计的可行性,实现了一个轻量级简易股票实时查询Web系统,系统中嵌入了Esper和Pushlet两个开源框架。实施时只需下载Esper和Pushlet的相关文件放置于工程项目的对应目录中,修改系统配置文件及相关引用文件即可,这体现了设计的易实施性。股票数据采用sina实时股票数据接口从sinajs服务器上获取[12]。

简易股票实时查询Web系统架构实现示意图如图4所示。

在图4中,系统启动后,由客户端发起查询请求,服务器响应请求,通过定义的sinajs获取器从sinajs服务器将实时股票数据不间断地获取到系统中作为实时数据流,实时数据流中含大量复杂的数据(股票文本数据、分时走势图、日K线图、周K线图等),再由sinajs获取器将数据流传送给输入适配器, JMS Listener监听输入适配器有数据流到达后立即通知Esper引擎进行处理,然后Esper引擎按1.3节中设计的处理方式进行处理,Espe引擎处理完毕输出数据流后立即由Pushlet监听到,并按1.2节中的设计完成推送处理。

2.2 系统Esper引擎的实现

为使简易股票实时查询Web系统能正常使用Esper引擎进行事件流处理,实现1.3节中图3的设计架构,首先需在配置文件service_message.xml中声明Java消息服务JMS的接口和实现。Esper的配置文件是用来声明一个事件处理程序的事件流对象的文件,使用Esper的EQL语言创建系统需要的查询(statement)和使用Esper引擎注册这些查询,并为statement创建相应的listener,全部的listener都是继承自UpdateListener接口,且实现了Update()方法,当有符合statement所定义的事件发生时listener将被触发。

当系统启动时,读取配置文件并初始化JMS连接服务,然后定义一个用来监听相应的JMS Topic和创建JMS连接的类。最后定义一个实现将监听的JMS消息的消息体发送到系统Esper引擎中的MessageListener类。这样就可在系统中实现Esper引擎来实时处理事件流。

2.3 系统Pushlet框架的实现

在简易股票实时查询Web系统中的Pushlet框架采用发布/订阅的方式进行处理,客户端订阅服务器端的主题,服务器端接收订阅,然后将服务器端订阅的主题在其数据发生变化时推送数据到客户端[13]。实现Pushlet框架过程中需要分别在服务器端和客户端进行组建。

服务器端的组建主要由Pushlet的Java类构成,其UML类图如图5所示。

在图5中,Pushlet类作为一个Servlet用来接收客户端的请求和创建一个订阅者,调用初始化方法订阅主题,再由订阅者保持请求并返回内容;PushletSubscriber类根据请求建立客户端适配器ClientAdapter,并注册自己为一个特定的Publisher,然后使用HTTP连接将自身阻塞到事件队列中去;ClientAdapter接口从PushletSubscriber获取事件转换为Javascript格式,再推送到客户端浏览器;Publisher类提供静态接口供其它类订阅/发布消息,事件到来时,通过比较订阅者的主题和事件的主题,将事件放入事件队列,唤醒所有在此事件队列上等待的订阅者;PostLet类是一个Servlet,用于客户端主动向服务器发送消息。

在客户端组建主要是设计消息的接收者,接受消息的格式有JavaScript、XML和Java序列化对象三种,接收者需要明确消息格式和订阅的消息Topic[14]。

客户端是通过HTTP请求调用Pushlet这个servlet完成订阅事件并接收事件[9],其中事件订阅的时序图如图6所示。

图6表达了BrowserClient通过Publisher订阅Event的过程。Pushlet作为servlet本身不能作为订阅者,它只派发所有的订阅,在调用doGet()时,新建PushletSubscriber对象并使之运行直至eventLoop结束。PushletSubscriber作为实现Subscriber接口的对象,通过join()方法向Publisher类以注册的方式将自身添加到Publisher列表。对于支持Multipart MIME的浏览器还将建立BrowserPushletAdapter对象,最后的deQueue()方法挂起当前线程直到PushletSubscriber的队列中存入有效的Event。

3 测试分析

系统采用J2EE平台进行开发,开发环境为Eclipse+JDK1.6 +struts2+Spring+Hibernate,数据库为MySql,应用服务器为Apache Tomcat 6。系统运行后的查看股票界面如图7所示。

为验证上述设计的优越性,对简易股票实时查询Web系统进行了性能测试、压力测试和对比测试。测试的环境为服务器端Intel CPU 2.4GHz,4GB RAM,Linux操作系统,应用服务器Apache Tomcat 6, MySql数据库;客户端Intel双核CPU2.0GHz,2GB RAM,浏览器IE 8.0。具体测试如下。

3.1 性能测试

采用Webserver Stress Tool 7.2工具对简易股票实时查询Web系统的实时数据处理能力与实时响应能力进行测试,测试时间为5m,用户随机访问系统的时间间隔为0s~10s,模拟100个用户在设定的条件下随机查询股票实时行情,测试结果如图8和图9所示。

从图8的测试结果可以看出系统平均响应时间为159ms,这个结果说明了系统具有明显的实时特性;从图9的测试结果可以看出请求响应与数据处理的实时情况。以上测试结果表明,轻量级实时Web系统在使用Pushlet框架和Esper引擎后具有明显的实时性优势,实际上对事件的即时处理和数据的实时推送就是这两种技术的核心能力,在一般情况下,推送消息的时间小于500ms,用户是体验不到这个延时的。

3.2 压力测试

为测试简易股票实时查询Web系统在不同用户数量压力条件下的性能,在Webserver Stress Tool 7.2测试工具中采用逐步增加模拟用户数量使用系统,来观察系统的性能,并分别记录测试中的模拟用户数、有效点击数、数据总流量、平均响应请求时间及返回错误请求次数,每次设置测试时间为5m,用户随机访问系统的时间间隔为0s~10s。测试结果如表1所示。

从表1中可以看出,在访问用户数不断增加的压力下,系统被点击的数量也在急速增加,但平均响应时间增速不大。当用户数量接近300及以上时,测试服务器因用户请求的数量超出负荷,开始出现大量的错误响应,且响应时间变长。可看出基于Pushlet框架与Esper引擎的轻量级实时Web系统能满足大多数在同一时刻访问量不是很高的实时应用需求。

3.3 对比测试

为对比简易股票实时查询Web系统在采用Pushlet框架与Esper引擎设计前后的性能差异,设计一个对比测试。在测试中把采用Pushlet框架与Esper引擎的股票查询系统称为System1,未采用的系统称为System2。测试采用负载测试工具Grinder,以检验结果是否达到设计预期。Grinder工具可以模拟任意数量的用户访问系统,还能获取平均响应时间等重要的分析数据。测试在相同的测试环境下进行,测试脚本通过Jython编写,取样间隔设为1000ms,模拟同时在线人数分别为50用户、100用户和150用户。测试结果如图10所示。

从测试结果来看,System1的平均响应时间总体上要比System2快,且随着访问用户数的增加其平均响应时间增速比System2要低。经过对比测试,检验了基于Pushlet与Esper架构设计的实时系统达到了设计预期,满足了实时Web应用的要求,保证了数据的实时处理能力。

从以上所有的测试可以发现,系统在采用了Pushlet框架与Esper引擎的设计后,系统的性能得到显著提高,特别是在实时数据处理能力和系统响应实时性上具有很大的优势。

3.4 存在问题分析

Pushlet框架因长期使连接处于打开状态,Servlet就会存在一个持久请求而独占一个线程,这样就会消耗服务器资源,使Servlet引擎的可伸缩性受到服务器推送的限制,并很快会让服务器栈能有效处理的线程数量被客户机数量超过。根据压力测试结果说明,一般的服务器性能只能承载用户数量在200-300之间的服务器推送系统便处于饱和,如果要承载更大的用户数量,服务器便需要维护更多的并发长连接,那就需要考虑使用集群技术和负载均衡的方法或为长连接作一些改进。

对于Esper一般是作为事件流处理引擎来进行事件流处理,该引擎可接收事件流的输入,其特点是需在预定的事件条件达到后才能触发相应的动作,具有快速处理大量事件和较轻松实现对复杂事件的条件判断的优势。事实上,这个引擎不需全以事件流处理作为整个系统的运行基础,像一些可以用传统开发技术来实现的逻辑,不需要采用事件流处理技术来实现。因此,软件系统的设计既要考虑使用成熟的系统框架来实现各种非功能性需求,又要考虑利用事件流处理技术解决事件流的处理,这样就可以让事件流处理引擎来处理系统中需要处理大量且复杂的事件流,又能让系统在成熟的企业应用框架下实现。

4 结 语

采用Pushlet框架实现了传统Web系统无法由服务器发起消息传递的这一功能,通过http长连接让浏览器实时接收自服务器端主动发送过来的最新数据或变更数据。Esper事件流处理引擎可以将事件查询语句进行存储索引,来处理传统数据库不能实时处理的大量且复杂的事件,这种让事件流经过查询语句触发动作的方法大幅度的提高了事件的实时处理。

基于Pushlet和Esper两个开源框架,有效地实现了一个轻量级的简易股票实时查询Web系统,在该系统中,将Esper处理后的输出数据传递给Pushlet框架,再由Pushlet框架实现将服务器处理的数据实时地传送给浏览器。根据简易股票实时查询Web系统的实践,证实了基于Pushlet和Esper框架的轻量级Web应用,在实时数据处理能力和系统响应实时性上具有很大的优势,并使设计开发此类Web系统的工作变得更加容易实现和部署。

Web实时系统 篇8

随着计算机和通信技术的迅速发展, 网络成为当今社会发展的一个主题, 网络的开放性、互联性、共享性程度的扩大, 也使得黑客针对网站的攻击和篡改事件时有发生。因此, 严格地说, 所有的Web网站都需要进行文件系统保护, 防止非授权人员随意篡改内容。对于更新快、容量大、受众多、权威性强的政府电子政务网站尤显重要。政府电子政务网站因公众访问而暴露于因特网上, 更易成为被攻击目标。虽然目前已有防火墙、入侵检测等安全防范手段, 但现代操作系统的复杂性和多样性导致系统漏洞层出不穷、防不胜防, 黑客入侵和篡改事件急剧增加。

本系统基于保证网站文件的真实性与完整性, 通过采用服务器核心内嵌技术, 利用脆弱水印技术, 在公众访问网站文件时, 进行实时文件内容与脆弱水印值对比计算, 同时, 通过内核驱动防篡改技术在操作系统底层, 监视识别和阻止对文件非法篡改, 并能对恶意篡改意图进行审计, 为追踪攻击者的进程和来源提供支持。当网站文件遭篡改或攻击时, 系统按照事件触发指令启动报警, 同时实时自动恢复, 并通过监测日志实现对文件更新的全程记载, 确保政府电子政务以及各类商务网站的安全运营。

◆项目进展状况

自2008年12月底, 由山西翰达科技有限公司组成的“基于Web的实时网站防篡改系统”项目开发组正式运行。

2009年1月—2月项目开发组对目前网站被篡改的各类情况进行了深入细致地分析, 并提出了较为详细的系统架构设计。

2009年3月—6月, 项目开发组已经对系统的其中一个模块 (实时检测功能) 进行了设计开发, 并进入模块测试阶段。

◆项目进展中存在的问题

由于项目开发周期长, 必然会遇到开发人员的调整问题, 影响项目的进展。所以, 我们在开发前期与项目开发小组的人员进行了深入交谈, 尽可能地减少人员的变动, 并且要求开发人员做好注释和文档记载工作。就项目涉及的功能模块设计开发进度来看, 总体顺利, 基本上按照预期进度完成了部分开发任务, 系统涉及的其他3个功能模块的开发工作也在有序进行。

据有关数据显示, 2008年1月到5月, 国有3万多个网站遭到“黑客”入侵。由于缺乏专业的防护能力, 中小型政府网站、企业网站已成为“黑客”入侵的最大受害者。为此, 我们组织专家进行论证, 提出3点避免攻击的建议。

1 构建安全服务器环境

构建安全服务器环境, 构筑黑客攻击第一链条。构建安全的服务器环境来抵御“黑客”攻击, 其涉及面相当广, 就中小型网站而言, 大致可从3个方面进行。

1) 技术层面。采用软硬件防火墙、杀毒软件、页面防篡改系统来建立一个结构上较完善的Web服务器环境。

2) 服务方面。进行网络拓扑分析、建立中心机房管理制度、操作系统以及防病毒软件定期升级机制, 对重要服务器的访问日志进行备份, 通过这些服务, 增强网络的抗干扰性。

3) 支持方面。要求服务商提供故障排除服务, 以提高网络的可靠性。

2 重视网站系统安全

根据2007年OWASP组织发布的Web应用程序脆弱性10大排名的统计结果表明:跨站脚本、注入漏洞、跨站请求伪造、信息泄露等方面的问题仍然是目前黑客流行的攻击方式, 尤以SQL注入攻击和跨站脚本攻击为重。SQL注入攻击就是利用程序员在编写代码时没有对用户输入数据的合法性进行判断, 导致入侵者可以通过插入并执行恶意SQL命令, 获得数据读取和修改的权限;而跨站脚本攻击则是通过在网页中加入恶意代码, 当访问者浏览网页时, 恶意代码会被执行或者通过给管理员发信息的方式诱使管理员浏览, 从而获得 (下转第38页) 管理员权限, 控制整个网站。

1) 对于SQL注入攻击。采用对SQL查询语句中的查询参数进行过滤, 使用类型安全的SQL参数化查询方式, 从根本上解决SQL注入的问题;URL参数类型、数量、范围限制功能, 解决恶意用户通过地址栏恶意攻击的问题等, 这些手段是控制SQL注入的, 还包括其他的一些过滤处理和对用户输入数据的验证来防止SQL注入攻击。

2) 对于跨站脚本攻击。在对于不支持HTML的内容直接实行编码处理的办法来从根本上解决跨站问题。而对于支持HTML的内容, 有专门的过滤函数对数据进行安全处理

3 呼吁站长和政府关注网站安全

2008年4月29日, 国务院办公厅发布了《关于施行中华人民共和国政府信息公开条例若干问题的意见》 (国办发[2008]36号) , 充分体现了政务公开的决心, 而政务公开的主要信息渠道是传统的纸质媒体和政府网站, 但据CNCERT/CC监测, 中国内地被篡改网站总数累计达61 228个, 比2008年增加了1.5倍。中国政府网站被篡改数量达3 407个。而2007年中国政府网站被篡改累计达4 234个。

上一篇:学案德育教学学习探讨下一篇:出版情况