1 引言
基于 web 的网络管理是web 功能和网管技术的结合。对用户来说,因为只要能上网就可以通过浏览器接入网络管理软件,同时网页的界面组件和网页的基本操作都为用户所熟悉所以深受用户欢迎。对开发和部署人员来说因为只需要维护部署服务器端,这样就可以集中开发维护和升级。所以基于web 的网络管理成为一大发展趋势。但是由于web 网络管理系统中,浏览器客户端与服务器之间的采用http 协议这样同步的请求/应答通信方式,一次请求应答之后浏览器与服务之间就失去的连接,浏览器只能取得请求时刻服务器的数据状态,不能满足实时告警、实时性能数据监控这样的需求。
针对这个问题最简单的解决方式就是设置页面的refresh 属性,设定刷性周期之后自动的由浏览器自定重新请求整个页面,这种方式虽然每次都重新请求整个页面而大部分情况实时更改了很小的一个界面元素,效率低下。而且真实的网络情况不确定,这个刷新周期也不好确定,设置的太短浪费带宽,设置的太长又缺乏实时性。在网页中嵌入applet 方式[1]中applet不能与网页中其他的元素有效的互动同时需要在客户机中安装JAVA 运行环境,Flex[2]方式具有丰富的界面元素但是需要在浏览器安装插件,有可能存在安全隐患。而且上述两种方式都采用了http 以外的协议收到防火墙的限制。
本文采用 AJAX 与Servlet 设计的push 模式,运用浏览器内置支持的异步请求对象和脚本处理引擎来处理与服务器的通信,不需要安装任何插件,采用纯http 协议能顺利穿越防火墙。只在服务采集到数据时才向浏览器发送数据,并且只针对需要更新的网页组件发送少量的数据具有很高的效率。
2 Web push 技术介绍
Web Push 技术又称comet 技术是为了解决浏览器与服务器的一次请求应答结束后,浏览器与服务器失去了的联系不能保持连接的问题而发展起来的一种技术。是对浏览器端JavaScript、文档模型DOM、CSS、内置异步请求对象XmlHttpRequest 对象或者隐藏帧IFrame的综合应用,并且需要相应的服务器技术的配合。因为服务器只需要把用户感兴趣的事件发送到浏览器端,所以采用的是订阅/发布的通信方式。采用这种技术之后在浏览器与服务器之间建立了一条数据传输通道,服务器可以及时的将信息推送到浏览器端,并通过JavaScript函数操作浏览器文档模型,更改文档CSS 显示属性动态更改界面,及时反映服务器数据的变化。
2.1 两种push 机制
Push 机制有两种具体的实现方式,一种是基于AJAX 的长轮询,一种是基于IFrame 的长连接[3].
2.1.1 基于AJAX 的长轮询
AJAX 即"Asynchronous JavaScript and XML"(异步JavaScript 和XML)是指一种创建交互式网页应用的技术。基于AJAX 的push 本质上是通过XMLHttpRequest 对象将信息从服务器端拉回来因为不需要人的参与所以表现为服务器主动推送的效果。
XMLHttpRequest 发出异步请求后,服务器会阻塞请求直到有数据传递或超时才返回。
客户端 JavaScript 响应处理函数处理信息更改显示界面,再次发出请求形成一个数据循环来建立通道。
2.1.2 基于IFrame 的长连接
IFrame 是很早就存在的一种 HTML 标记, 通过在 HTML 页面里嵌入一个隐
发表评论
-
转 java字符串与二进制的相互转化
2012-07-06 09:52 1399public class StrBinaryTurn { ... -
字符串(正则表达式)
2012-07-06 09:45 7861 http://acm.hdu.edu.cn/showp ... -
正则表达式匹配排列
2012-07-06 09:37 557前几天有位同事问 ... -
史上最强劲之android模拟器命令详解
2012-07-06 09:30 614转http://www.eoeandroid.com/th ... -
js签名
2012-07-05 20:45 446var CsdnScriptPlugin999 = { / ... -
【WP7进阶】
2012-07-03 13:43 503编写Asp.net的同学, ... -
flex4 设置 圆角
2012-07-02 10:53 543width="100%" height ... -
flex 中Scroller的使用
2012-07-02 10:53 663width="100%" height ... -
Event propagation事件传播
2012-07-02 10:52 620当事件被触发时,F ... -
List虚拟布局
2012-07-02 10:52 671flex/spark" xmlns:local= ... -
ExtJS 4 Grid组件
2012-07-01 00:32 590我们正 ... -
主流地图API比较
2012-07-01 00:31 533最近因为工作关系,对市面上主流的地图API都进行了一遍了解 ... -
广州工作2个月!差人的公司可以call我
2012-07-01 00:31 598网名:夜梦惊魂/夜枫设计 姓名:胡军 博客:http ... -
实战 OpenLaszlo 与 db4o
2012-07-01 00:31 579本文于去年年底完 ...
相关推荐
一个基于push技术的web实时网络管理框架,彭斌武,,基于web的网络管理因为只要有浏览器就可以接入的便捷性,以及只需要管理服务器端的可维护性成为了网络管理应用的一大发展方向。但
订阅和通知管理器。 PushServer.API.BackgroundTasks (可伸缩)。 负责通知的传递。 PushServer.PNS.ApplePush 。 APN和PushPackage生成器的推送客户端。 PushServer.PNS.WebPush 。 适用于Google Chrome和Fire...
移动通信是当今发展最快、最前沿的通信领域,从手机短信、彩信、GPRS、CDMA 无 线上网到企业无线和移动应用解决方案,无线...信息收发的实时性特征,程序设计上还运用了基于MVC 的应用程序框架,增加了程序的可 读性
Fu-PusH Statement Finder是使用AngularJS框架以HTML,CSS和Javascript编写的Web前端。 要求 安装节点 在OSX上安装并键入brew install node 在Windows上安装 上的更多技巧 以管理员身份打开命令提示符 输入choco ...
第1章 Struts 2:现代Web框架 2 1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 1.2.1 什么是框架 7 1.2.2 为什么使用框架 8 1.3 Struts 2框架...
6.3.3 基于annotation方式的事务管理配置 400 6.4 “桃园三结义”——ssh 2组合开发框架始成 404 6.4.1 spring 2.5集成orm中间件hibernate 3.2 404 6.4.2 spring 2.5集成mvc框架struts 2 411 6.4.3 ssh 2组合...
它提供了基于TLS的自动,免费和安全的HTTP / 2(通过获得的证书),有用的CMS和框架以生成内容编辑器,以及用于在其上构建现代应用程序的快速HTTP API。 Ponzu是根据BSD-3-Clause许可发行的(请参阅LICENSE)。 ...
调度器 – 由控制器管理以实现一套 push/pull 调度算法。控制器向调度器发送一项实例,而调度器则在各对应集群计算节点当中找到 “最合适” 的节点; 启动器 – 负责对工作负载的启动细节进行抽象,无论其属于容器...
分叉项目创建您的Feature分支( git checkout -b feature/AmazingFeature ) 提交更改( git commit -m 'Add some AmazingFeature' ) 推送到分支( git push origin feature/AmazingFeature ) 打开拉取请求 执照...
调度器 – 由控制器管理以实现一套push/pull调度算法。控制器向调度器发送一项实例,而调度器则在各对应集群计算节点当中找到“最合适”的节点;启动器 – 负责对工作负载的启动细节进行抽象,无论其属于容器、...
作为队列管理器 担任推销经理 入门 在开始之前,有必要注册一个或多个应用程序,有一个命令行工具可以简化此过程,但有关详细信息,请参阅文档: ruby register_app.rb --help 启动Redis, redis-server 启动Web...
其Server 组件:基于IOCP / EPOLL通信模型,并结合缓存池、私有堆等技术实现高效内存管理,支持超大规模、高并发通信场景。 应用程序能够根据不同的容量要求、通信规模和资源状况等现实场景调整 HP-Socket 的各项...
框架学习 以下是我在学习计算机相关知识的过程中整理的一些资料,部分参考了网上一些大神的文章。我把它们都放置Markdown的文章供各位同学参考,其中一部分我也以XMind的方式来进行梳理总结。 为了良好的阅读体验,...
Budi Kurniawan,世界知名的Java专家和资深JavaEE高级架构师,自己创建了软件咨询和技术出版公司Brainy Software。他还撰写了深入揭示Tomcat工作机理和设计理念的名著How Tomcat Works,并在多种权威出版物上发表过...
� MVC 和 Web APP 架构 Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的...
康复电台客户端概述使用标准的 rehabstudio 实践和框架。 主干、下划线、jquery、把手浏览器化吞咽新产品管理设置设置开发所需的包: $ npm install这将安装所有依赖项和开发依赖项。 该应用程序当前部署到 Heroku,...
4、基于插件的架构 5、移动,网络和台式机的分析功能 6、iOS和Android的崩溃报告以及Javascript的错误报告 7、适用于iOS和Android的丰富且交互式的推送通知 8、电子邮件报告 Countly特点: 1、实时移动分析,Web分析...