一种web网管系统中显示实时数据的方法

文档序号:7614381阅读:265来源:国知局
专利名称:一种web网管系统中显示实时数据的方法
技术领域
本发明涉及一种在web网管系统中实时数据的显示方法,尤其涉及的是,一种实现在web网页上实时地显示网元设备上报数据的方法。
背景技术
web技术应用的基础是HTTP(HyperText Transfer Portocol超文本传输协议),HTTP是一种无连接协议,这意味着web浏览器与web服务器之间不建立持久的连接,而只是来回发送独立的消息。HTTP遵循请求/应答模型,即web浏览器向web服务器发送请求,web服务器处理请求并送回适当的应答数据,所有HTTP连接都被构造为一套请求和应答。
在web网管系统中,往往需要在网页实时地显示网元上报的实时数据,这就需要解决如何将网元上报的数据及时地显示在页面之上,使得页面能够动态刷新。通常,页面动态刷新有客户端拖曳(client pull)与服务器推送(server push)两种方式。
客户端拖曳方式是通过向web服务器定时发送请求,获取数据,来显示实时信息,这种方式本质上还是遵循请求/应答模式的,它通过在HTTP响应或文档头标记中插入指令,如让浏览器“在n秒间隔内重复装入数据<METAHTTP-EQUIV=”Refresh”CONTENT=n>”或“n秒间隔内重复前往某URL装入数据<META HTTP-EQUIV=”Refresh”CONTENT=”12;URL=http//www.zte.com.cn”>”。当指定的时间达到时,客户端就按照服务器的指示去做,或者刷新当前数据,或者调入新的数据,使页面间隔性的刷新,从而达到实时的效果。然而,这种方式的实时性较差,由于每次请求/应答过程需要耗费一定的资源,时间间隔不能设置的太小,否则会造成页面无法正常显示数据,或不停闪烁,而间隔大了就不能保证数据的实时性。对于实时性要求很强的web网管系统来讲这种方式显然不合适。
服务器推送技术的基础思想是将浏览器主动请求信息改为服务器主动发送信息。服务器发送一批数据,然后浏览器显示这些数据,同时维持与服务器的连接,以后,浏览器不发送请求,服务器仍然可以发送数据,浏览器继续显示数据,依次类推。通常采用动态HTML与持久http连接的方式来实现服务器推送技术,当客户端发起一个http请求后,维持这个http连接,将需要推送到客户端的信息,在服务器端构造脚本程序(如javascript,vbscript等)代码片断,并通过这个http连接发送到浏览器执行,直到推送完所有的数据。但这种方式的缺点是很难监控http连接,一旦连接中断就无法恢复,只能通过客户端再次发送请求重新建立连接。
因此,现有技术都存有缺陷,而有待于改进和发展。

发明内容
本发明的目的在于提供一种web网管系统中显示实时数据的方法,根据服务器推送原理,结合使用HTTP和socket(套接字)来实现web服务器主动推送数据到web浏览器,本发明方法采用在从web服务器下载一个客户端代理,并隐式地内嵌于web浏览器页面中,通过客户端代理与服务器端地web组件之间建立socket连接来实现浏览器与web服务器之间的持久连接,并通过客户端代理与web页面之间的信息交互,将服务器推送到客户端代理的数据显示到web页面,从而实现web网管系统中的实时数据显示。
本发明的技术方案如下一种web网管系统中显示实时数据的方法,所述方法包括以下步骤a)、由web服务器组件从消息服务器订阅实时数据,并建立消息服务器到所述web服务器之间的连接,web浏览器利用从所述web服务器下载到web页面的客户端代理与web服务器组件之间的socket连接,建立web浏览器与web服务器之间的持久连接;b)、利用所述客户端代理与web浏览器页面之间的信息交互实现页面本地更新,建立一条从消息服务器到web浏览器页面之间的消息通路,将网元上报的实时数据通过此通路实时的显示于web浏览器页面之上。
所述的方法,其中,所述web服务器组件包括web服务器推送组件,消息监听器,在线客户注册中心组件;以及所述方法还包括以下步骤a1)、所述web浏览器访问实时数据页面时,从web服务器下载客户端代理,并启动客户端代理,同时启动所述web服务器端推送组件,建立客户端代理与服务器推送组件之间的socket连接;a2)、所述web服务器推送组件将与之建立连接的客户端代理注册到在线客户注册中心;a3)、如果是第一个在线的客户端,则所述web服务器推送组件向消息服务器订阅消息,并设置所述消息监听器监听消息,之后的在线客户端不用再订阅;a4)、在web网管系统中,网元上报的实时数据由网元适配模块发布到所述消息服务器上;有实时数据上报时,由所述消息监听器接收并解析上报数据,并通过socket连接将解析后的数据向在线客户注册中心中的客户端代理发送。
a5)、所述客户端代理根据接收到的数据,调用修改页面状态的脚本函数进行页面的本地更新,在本地web浏览器上显示新收到的上报数据。
所述的方法,其中,所述消息监听器可以是web服务器推送组件本身,也可以是单独设置的消息监听器组件。
所述的方法,其中,所述步骤a2)还包括以下步骤a21)、所述web服务器推送组件将客户端代理封装成客户端对象,生成客户端对象的唯一标识,并向在线客户端注册中心注册此客户端对象;a22)、所述web服务器推送组件将客户端对象的该唯一标识通过socket连接发送到客户端代理,并将该唯一标识保存在客户端。
所述的方法,其中,所述方法还设置有一告警过滤器,并包括以下步骤a23)、在所述消息监听器解析收到的告警消息后,从所述在线客户注册中心获取所有在线客户的客户端对象;a24)、由所述告警过滤器过滤接收告警页面的位置与发生告警信息的发生位置,返回满足过滤条件的客户端集合,将告警信息发送该客户端集合所承载的客户端代理。
所述的方法,其特征在于,所述消息服务器使用独立的Java消息服务器。
本发明所提供的一种web网管系统中显示实时数据的方法,相对于现有的方法,本发明的方案采用socket连接可以很好的维持浏览器与web服务器之间的持久连接,并可以对其进行监控,提供断链重建的功能,保证了告警消息的可靠性,由于通过脚本程序对页面进行本地更新,收到消息后能够实时的更新页面,不用加载整个网页,实时数据的显示效果更佳。


图1是本发明方法中的实时数据显示构架示意图;图2是本发明方法的web网管系统中告警管理的实时告警构架示意图。
具体实施例方式
下面结合附图对本发明方法作详细的说明。
本发明的所述web网管系统中显示实时数据的方法,其核心过程是,由web服务器组件从消息服务器订阅实时数据建立消息服务器到web服务器之间的连接,利用从web服务器下载到web页面的客户端代理与web服务器组件之间的套接字socket连接建立浏览器与web服务器之间的持久连接,利用客户端代理与web页面之间的信息交互实现页面本地更新,建立一条从消息服务器到浏览器页面之间的消息通路,将网元上报的实时数据通过此通路实时的显示于浏览器页面之上。
如图1所示,网元实时上报数据显示的步骤如下1、Web浏览器访问实时数据页面时,从web服务器下载客户端代理,如可以实现为java小应用程序applet等,并启动客户端代理,同时启动web服务器端推送组件,建立客户端代理与服务器推送组件之间的socket连接。
2、web服务器推送组件将与之建立连接的客户端代理注册到在线客户注册中心。
3、如果是第一个在线的客户端,则web服务器推送组件向消息服务器订阅消息,并设置消息监听器监听消息,之后的在线客户端不用再订阅。消息监听器可以是web服务器推送组件本身,也可以是单独的监听器组件。
4、在web网管系统中,网元上报的实时数据由网元适配模块发布到所述消息服务器上。当有实时数据上报时,由消息监听器接收并解析上报数据,并通过socket连接将解析后的数据向在线客户注册中心中的客户端代理发送。
5、web浏览器的客户端代理根据接收到的数据,调用修改页面状态的脚本函数进行页面的本地更新,显示新收到的上报数据。
其中,图1中所示的web服务器组件包括web服务器推送组件,消息监听器,在线客户注册中心。
下面结合附图以web网管系统中告警管理的实时告警功能来对本发明方法作进一步详细的说明。
如图2所示,此实施例中,客户端代理使用java小应用程序applet,消息监听器作为独立的组件,消息服务器使用Java消息服务器,为了减少网络负担,设计了消息过滤器组件用来过滤消息。
所述实时告警功能分为下面一些模块
服务端推送模块负责创建服务器端socket,并接受applet建链请求;向客户端注册中心注册/注销在线的客户端信息;订阅/取消订阅告警消息;向applet发送实时告警消息。
客户端接收模块负责建立与web服务器的socket连接;接收实时告警消息并与负责显示的页面交互;实时显示接收的告警信息。
在线客户端注册中心负责保存在线客户端的信息,并提供注册、注销方法。
告警过滤器根据位置信息过滤告警消息。
下面具体说明网元上报的实时告警消息的接收流程。实时告警大致分为三个过程消息通路建立过程、消息接收过程及停止消息接收过程。
消息通路的建立过程如下1、启动服务器推送组件,创建服务器端socket对象,并等待客户端代理建链。
2、web浏览器页面下载并启动客户端代理,在本实施例中的实现为java小应用程序,命名为FmApplet,创建客户端socket对象与服务器推送组件建立socket连接。
3、服务器推送组件将客户端代理封装成客户端对象,生成客户端对象的唯一标识,并向在线客户端注册中心注册此客户端对象。
4、服务器推送组件将客户端对象的唯一标识通过socket连接发送到客户端代理FmApplet,FmApplet将唯一标识保存在客户端。
5、如果是第一个连接的客户端,则服务器推送组件向JMS消息服务器订阅告警消息,并创建消息监听器监听订阅的告警消息。
告警消息接收过程如下1、网元产生告警,通过网元适配模块向JMS消息服务器发布告警消息。
2、消息监听器解析收到的告警消息。
3、消息监听器从在线客户注册中心获取所有在线客户的客户端对象。
4、由告警过滤器过滤接收告警页面的位置与发生告警信息的发生位置,返回满足过滤条件的客户端集合。
5、将告警信息发送到第4步中的客户端集合所承载的客户端代理FmApplet。
6、客户端代理FmApplet调用web浏览器页面的脚本函数,在本实施例中实现为javascript脚本函数addFmInfo(info),在页面上添加一条告警信息。
停止接收告警消息过程1、 离开实时告警接收页面或关闭浏览器即可触发停止接收告警消息的请求,通过web浏览器页面卸载事件发送停止请求至服务器推送组件,同时将保存在客户端的唯一标识作为参数传送过去。
2、服务器推送组件调用在线客户端注册中心的注销方法,注销客户端对象。
3、如果在线客户端注册中心的在线客户端个数为零,则取消订阅JMS的告警消息。
综上所述,本发明web网管系统中显示实时数据的方法,利用客户端代理与web服务器组件的socket通信机制和客户端代理与web页面的交互机制,实现了实时数据的显示,并使得在web网管系统中网元上报的实时数据能够可靠、实时的呈现于web页面上。
应当理解的是,本发明的上述针对具体实施例的描述较为具体,并不能因此而理解为对本发明的专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。
权利要求
1.一种web网管系统中显示实时数据的方法,所述方法包括以下步骤a)、由web服务器组件从消息服务器订阅实时数据,并建立消息服务器到所述web服务器之间的连接,web浏览器利用从所述web服务器下载到web页面的客户端代理与web服务器组件之间的socket连接,建立web浏览器与web服务器之间的持久连接;b)、利用所述客户端代理与web浏览器页面之间的信息交互实现页面本地更新,建立一条从消息服务器到web浏览器页面之间的消息通路,将网元上报的实时数据通过此通路实时的显示于web浏览器页面之上。
2.根据权利要求1所述的方法,其特征在于,所述web服务器组件包括web服务器推送组件,消息监听器,在线客户注册中心组件;以及所述方法还包括以下步骤a1)、所述web浏览器访问实时数据页面时,从web服务器下载客户端代理,并启动客户端代理,同时启动所述web服务器端推送组件,建立客户端代理与服务器推送组件之间的socket连接;a2)、所述web服务器推送组件将与之建立连接的客户端代理注册到在线客户注册中心;a3)、如果是第一个接收某种实时数据在线的客户端,则所述web服务器推送组件向消息服务器订阅消息,并设置所述消息监听器监听消息,之后的接收相同种类实时数据的上线客户端不用再订阅;a4)、在web网管系统中,网元上报的实时数据由网元适配模块发布到所述消息服务器上;有实时数据上报时,由所述消息监听器接收并解析上报数据,并通过socket连接将解析后的数据向在线客户注册中心中的客户端代理发送,a5)、所述客户端代理根据接收到的数据,调用修改页面状态的脚本函数进行页面的本地更新,在本地web浏览器上显示新收到的上报数据。
3.根据权利要求2所述的方法,其特征在于,所述消息监听器可以是web服务器推送组件本身,也可以是单独设置的消息监听器组件。
4.根据权利要求2所述的方法,其特征在于,所述步骤a2)还包括以下步骤a21)、所述web服务器推送组件将客户端代理封装成客户端对象,生成客户端对象的唯一标识,并向在线客户端注册中心注册此客户端对象;a22)、所述web服务器推送组件将客户端对象的该唯一标识通过socket连接发送到客户端代理,并将该唯一标识保存在客户端。
5.根据权利要求4所述的方法,其特征在于,所述方法还设置有一告警过滤器,并包括以下步骤a23)、在所述消息监听器解析收到的告警消息后,从所述在线客户注册中心获取所有在线客户的客户端对象;a24)、由所述告警过滤器过滤接收告警页面的位置与发生告警信息的发生位置,返回满足过滤条件的客户端集合,将告警信息发送该客户端集合所承载的客户端代理。
6.根据权利要求4或5所述的方法,其特征在于,所述消息服务器使用独立的Java消息服务器。
全文摘要
一种web网管系统中显示实时数据的方法,包括以下步骤由web服务器组件从消息服务器订阅实时数据,并建立消息服务器到所述web服务器之间的连接,web浏览器利用从所述web服务器下载到web页面的客户端代理与web服务器组件之间的socket连接,建立web浏览器与web服务器之间的持久连接;利用所述客户端代理与web浏览器页面之间的信息交互实现页面本地更新,建立一条从消息服务器到web浏览器页面之间的消息通路,将网元上报的实时数据通过此通路实时的显示于web浏览器页面之上。本发明方法由于通过脚本程序对页面进行本地更新,收到消息后能够实时的更新页面,不用加载整个网页,实时数据的显示效果更佳。
文档编号H04L12/24GK1870508SQ200510034700
公开日2006年11月29日 申请日期2005年5月25日 优先权日2005年5月25日
发明者刘静, 曾钦宏, 杨恒 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1