实时Web功能

2024-10-04

实时Web功能(通用7篇)

实时Web功能 篇1

1 概述

在网站开发中经常需要实现实时Web功能,即当所连接的客户端变得可用时服务器代码可立即向其推送内容,而不是让服务器等待客户端请求新的数据。在以前的Web网站技术中,客户端要获取服务器数据需通过不停地发送请求来轮询服务端数据。这种发送Ajax请求给服务器的方式,在用户量很大的情况下给服务器带来很大的压力,而定时刷新很多时候满足不了对实时性要求较高的需求,比如聊天室应用,管制现场流控信息传递等,都要求实时更新。ASP.NET Signal R是这一问题比较好的解决方案。

2 Signal R概述

Signal R是微软对Web开发技术栈的扩充,是一种可用来简化交互式实时多用户Web应用程序开发的框架,利用Sig⁃nal R,可以真正实现了Web客户端和服务器之间双向通信。服务器可以将内容推送到已连接的客户端。

Signal R提供一个简单的API用于创建服务器端到客户端的远程过程调用,以便从服务器端.Net代码中调用客户端浏览器中的Java Script函数。Signal R还包括用于管理连接(例如连接和断开连接事件)和为连接分组的API。Signal R会自动管理连接,允许向所有连接的客户端同时发送消息,也可以向特定客户端发送消息。客户端和服务端的连接是持久性的,不像传统的HTTP连接——每次通信都需要重新建立一个连接。

Signal R是对一组在构建客户端和服务器之间的real-time功能所需要使用的传输技术的抽象。Signal R连接首先以HTTP发起请求,然后如果Web Socket可用的话,则升级到Web⁃Socket连接。Web Socket是Signal R的理想传输方式,因为它能够高效的使用服务器的内存、有最低的延迟,而且有最主要的功能(客户端和服务器之间的全双工通信),但它也有最严格的环境要求:Web Socket要求服务器是Windows Server2012或Win⁃dows8以及.NET Framework4.5。如果不满足这些要求,Signal R将尝试使用其他传输方式来建立连接。总之,Signal R以一种相对于开发者透明的方式确定服务器和客户端之间最佳的通信技术方案(长轮询、forever frame、Server-Sent Events、Web⁃Socket),然后使用这种技术创建一条底层的连接并保持该连接的永久开放,并对连接的断开和重连接进行自动管理,如图1所示:

Signal R在用来保持和服务器连接的传输层之上还存在着两个不同的抽象层,它们构成了使用所建立虚拟连接的两个API或两套规则。其中一个被称作持久连接(Persistent Connec⁃tion),这是一个较低的层,因此离真实的连接较近,提供了一个非常类似套接字编程的开发API。第二个抽象层基于一个称为Hub的组件,是一个建立于连接API的高级管道。基于Javas⁃cript的灵活性和C#的动态特性,Hub消弭了客户端和服务器这两个独立物理环境之间的界限,它使得客户端调用服务端的方法简单得犹如调用本地方法一样,反之亦然。使用Hub还可以将强类型参数传递给方法,并且可用绑定模型。这两个抽象层之间的关系如图2所示:

Signal R允许我们透明地在客户端和服务器之间直接进行方法调用,是如何做到的呢?这并没有什么神奇之处,为了实现这样的功能,Signal R将借助服务器Hub类在客户端自动创建代理对象,并在它们的方法中输入对它们实际方法的远程调用。相反,当服务器调用客户端某个方法时,它将被一个在服务端“打包”这些调用的动态类型的特殊协议所解析,并使用底层传输通过推送(push)将它们发送到其它端点。然后它们将到达客户端,并在这里进行解析和执行。过程如下图所示:

下面的关系图显示了Hub、持续性连接和用于传输的基础技术之间的关系:

大多数程序应该选择Hubs API。连接API可以在以下情形中使用:

•实际消息发送的格式需要被指定

•开发人员跟喜欢使用消息和调度模型

•一个已经存在的应用程序(它使用了消息模型)

3 应用实例

《管制中心现场运行管理系统》是采用Asp.Net开发的网站,其中管制现场的很多业务流转需要实时传递接收。比如流控传递,需立即在接收者页面看到相关的流控信息或者弹出提醒信息。以前对于这种需求一般是定时自动刷新或者用Ajax长轮询,都不是好的解决办法。现在利用Siganl R解决这一难题。

1)创建Hub

在项目里新建一个Hub,命名为Flow Hub,

相关的dll及jquery脚本文件自动加入项目。

2)客户端申明刷新数据的方法

3)调用客户端函数刷新数据

IHub Context flow=

Global Host.Connection Manager.Get Hub Context<Flow Hub>();

flow.Clients.All.refresh Flow(client Sector IDs);//这个refresh⁃Flow函数即上面客户端里那个刷新数据的函数。调用后则所有客户端需要更新数据的页面将实时更新。

4 结束语

Signal R是实现实时通信功能的有效解决方案,利用Sig⁃nal R可以创建对消息实时性要求比较高的应用,如在线协作工具、多用户游戏、实时信息服务等。在Web应用方面,如果有通过刷新页面来查看数据或者是通过页面实现长轮询来检索数据等需求,那么就可以考虑使用Siganl R了。

摘要:传统Web网站中客户端获取服务器数据只能刷新页面或使用Ajax轮询才能实现实时显示数据,微软开发的SignalR服务端可主动向客户端推送数据,实现了客户端与服务器实时数据通信。该文介绍了SiganlR技术及在Web网站中的应用。

关键词:实时通信,实时Web功能,数据总线,SignalR

参考文献

[1]Patrick Fletcher.[EB/OL]http://www.asp.net/signalr/overview[EB/OL].

[2]张占岭.Signal R实现服务器与客户端的实时通信[Z].

巧用Web构建作品实时显示系统 篇2

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

本系统基于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.

实时Web功能 篇3

网络技术和Internet的发展, 人们越来越多地选择基于Web方式的系统作为业务信息交互平台。B/S结构具有开放性、灵活性和易用性的特点[1]。对于用户来说, 面对的是界面统一、易于操作并且与平台无关的浏览器, 不需要接受过多的操作培训, 也不需要经历烦琐复杂的配置过程, 在任何联网的地方都可以处理业务;对于开发者来说, 不需要开发专用的客户端软件, 客户端功能模块经过Web服务器就可以发布, 系统的升级和维护都变得简单化。

针对实时采集数据的远程监测, 目前面临的一个突出的问题就是, 对于企业的管理层来说, 需要能够方便的了解实时采集数据。而对于企业局域网系统, 外部是无法访问的。因此建立一个基于Web的实时数据采集监测系统, 管理层和操作人员可以不受时间和地点的限制, 能随时观察到实时采集的数据及变化趋势。且系统的后期维护相对容易, 可扩展性也明显增强。

2 现有WEB实现技术

2.1 ASP.NET技术:

开发工具采用Microsoft.net中的asp.net这种Web应用开发技术, 并使用Visual Basic.Net或者Visual C#.Net编写控制逻辑。

对于实时监测系统, 主要包含工艺流程图、棒图及实时曲线、数据列表和报警浏览等监测画面的显示, 要在web页面上展现这些画面, 其具体的实现都可采用相关的绘图工具, 如工艺流图采用Microsoft Visio、Photoshop, 设备的表示可在Asp.net环境中使用Label;棒图调用.net所提供的诸如Bitmap, Graphics等绘图类进行绘制;实时曲线和历史曲线的生成和棒图类似, 均采用Java Script和Vm I来画底图和曲线。

为保证显示的信息是最新的, 页面必须以一定的时间间隔向服务器请求一次数据, 这样本页面就会每隔20秒请求服务器一次。但是由于浏览器每次刷新的时候, 都会重新生成一次本页面, 所以就会出现“刷屏”的现象。为解决这个问题, 可使用“隐藏页面”, 即定义一个框架集, 让隐藏页面每隔一定的时间请求一次数据库服务器, 从数据库中获取设备的实时数据, 同时将显示页面中设备的信息更新。

这种方式最大的优势在于节省开发成本, 不需要为增加专有的组态软件而增加费用。但局限性在于画图和底层显示这部分, 需要为每个状态准备图片和相应的绘图程序, 比较复杂。

2.2 Ajax技术:

传统的监控软件, 都是以B/S的方式进行应用程序的下载、安装和升级。而Ajax技术则是对传统的B/S应用进行了改进, 交互能力强, 响应速度快, 比较适合监测软件WEB结构的应用。应用Ajax技术, 页面加载以后, 通过Ajax引擎在后台进行定时向服务器发送请求, 查看是否有新的信息。如果有就将新的数据下载, 并且在页面上进行动态的更新[2]。

使用Ajax技术, 通过调节与WEB服务器数据的异步交换, 取消了延迟, 达到操作桌面应用程序一样的效果。且用户通过WEB浏览器访问数据库, 不断获取实时信息流。不需要数据回传, 不必刷新页面, 在没有外部插件的情况下, 动态的画面实时变化。

Ajax的最大优势在于能够以友好直观的方式在WEB浏览器中, 在无外部插件的情况下, 提供实时监测数据。局限性:Ajax大量使用了Java Script和Ajax引擎, 而这个取决于浏览器的支持。所以使用Ajax的程序必须针对各个浏览器的兼容性测试。此外, 当实时监测信号量大时 (例如每秒取100路监测信号) , Ajax表现的效果并不好。

2.3 Active X组件技术

Active X组件技术是一种允许软件组件与网络环境中的另一个组件交互, 而不管创建组件所用语言的技术。使用Active X组件技术可以开发出能够嵌入到浏览器中运行的Active X插件。采用CBC的Active X控件封装了实现Active X控制的大部分细节, 开发者不需了解底层机制即可很快开发出能够被浏览器调入和执行的插件原型。

以Socket技术为基础, 服务器接收数据采集端发送来的数据, 通过与Active X业务插件之间的TCP/IP通信, 将监测数据分发至作为通用客户端的浏览器, 这样就可以构造一种基于B/S结构的新型的远程监测系统[6]。

Active X组件技术的优势在于采用Socket控件实现了现有数据和历史数据的分离, 避免了通信拥挤。其缺陷是同样需要界面的支持, 除了数据传送能很好的实现之外, 在显示端必须有良好的用户操作界面, 必须采取其他方式来实现。

3 组态方式

通过实际工程项目实践, 认为任何一种WEB发布方式都必须采取以C/S体系结构和B/S体系结构相结合的方式来实现, 即在C/S结构下实现现场数据的采集管理, 方便管理者对原始数据进行管理, 以便为下一步基于B/S体系结构的WEB发布提供原始数据, 故在不改变原有系统软件结构和用户操作习惯的情况下, 选择以组态方式能够便捷的实现现场工业, 且能实现WEB发布, 不仅满足了用户的需求, 而且是相对其他几种技术更便捷的实现方式[3]。

本监测系统采用了以组态方式实现实时数据的Web发布, 组态软件采用悉雅特的Citect SCADA6.1, Citect集成的IDC (Internet Display Client) 是实现基于B/S结构的工业监控系统的一种简捷、实用的方法[4]。但是客户端需要安装Citect集成的IDC, 服务器端也需要支持internet的加密狗, 故本系统采用组态软件Citect V6.1集成的WEB发布功能, 用Citect SCADA Web Client进行WEB配置, 以IE为配置环境, 实现了实时数据的WEB发布, 如图1示:

组态软件Citect V6.1在版本不断更新之后, 实现了监测画面的WEB发布, 利用灵活的Active X扩展功能加入Active X容器技术, Citect SCADA的用户可以通过将一些诸如文件, 录影和分析应用模块的“对象”直接嵌入Citect SCA-DA的方式扩展系统的功能。本系统使用了Active X控件, 客户端首次运行的时候需要下载本控件, 当控件进行升级时, 主要版本号比客户端上的高, 客户端就会重新下载该工具, 实现控件的自动升级下载。本控件的运行需要其他文件的支持, 打包工具把这些需要用到的动态库打包在CAB包里面, 在本系统里控件打包时都是指明包含在CAB包里的。控件打好包后, 生成一个CAB文件, 在配置WEB发布的时候引导到指定工程路径即可, 客户端浏览本网页时候就会自动下载该CAB文件, 安装相应的Active X控件。

4 结论

论述了几种实现实时数据WEB发布的技术, 并提出了以组态方式实现实时数据WEB发布的方法, 该系统在昆明市煤气计量站得到了很好的应用, 具有很好的适应性。系统面向远程用户的界面为IE浏览界面, 具有使用简单的特点, 用户不需要经过特别的学习就可以掌握系统得使用。综合运用基于客户/服务器模式和浏览器/服务器模式的开发模式, 实现了企业监测信息实时发布, 企业的信息资源实现了更有效的共享。

摘要:通过比较几种实现实时数据WEB发布的技术, 指出其优势和缺点, 提出一种以组态方式实现实时数据网上发布方法。

关键词:实时,WEB,组态

参考文献

[1]王志鹏, 张海盛.基于Web的综合查询系统的设计与实现, 1999, 19 (10) :27-29.

[2]吴国谱, 李志蜀.基于Browser/Server模式的管理信息系统的开发[J].四川大学学报, 1999, 1 (1) :43-48.

[3]龚运新, 方立友.工业组态软件实用技术[M].北京:清华大学出版社, 2005, 9.

[4]Ci Technologies Pty.Limited, Citect User's Guide:Version5, July, 2001.

[5]许南山, 刘长华.基于B/S结构的实时监测系统在.net平台下的设计与实现[J].计算机系统应用, 2004, 9.

实时Web功能 篇4

关键词: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功能 篇5

随着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功能 篇6

水库水位库容关系曲线是水库调度、水资源优化的基础。而水库调度是实现水库综合利用的一个重要手段, 它可以对水库的运用具体决策, 以便定量地解决水库综合利用中的矛盾。水资源的开发利用程度愈高, 对径流调节和综合利用的要求愈高, 则水利计算与水库调度这一环节的作用也愈显著。因此, 本项目拟以水库水位库容关系为研究对象, 针对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功能 篇7

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功能】推荐阅读:

实时Web应用05-22

Web实时系统06-01

实时仿真10-16

实时处理10-20

实时计划05-10

实时检测05-21

实时跟踪05-24

实时联网05-28

实时诊断05-30

实时获取06-03

上一篇:酒店管理方法的创新下一篇:烟叶基地