一种高效率、高稳定性的页面实时数据刷新方法

文档序号:9527698阅读:2775来源:国知局
一种高效率、高稳定性的页面实时数据刷新方法
【技术领域】
[0001]本发明属于实时系统中需要实时显示后台最新变化数据的应用领域,具体地说是一种高效率、高稳定性的页面实时数据刷新方法。
【背景技术】
[0002]目前基于WEB的实时变化数据显示的方法主要有以下几种:
HTTP拉取方式:主要包括传统的轮询方式和Ajax轮询。传统的轮询方式是利用HTML里面meta标签的刷新功能,在一定时间间隔后进行页面的转载,以此循环往复。它的最大缺点是页面刷时给人带来的体验很差,而且服务器的压力也会比较大。Ajax轮询方式是异步响应机制,虽然可以解决上述传统轮询方式带来的视觉体验,但它仍然是通过不间断的客户端Ajax请求,去发现服务端的数据变化,因此客户端显示数据的延时和服务器端负载压力大的缺点仍未解决。
[0003]套接字实现方式,如利用Flash的XMLSocket类或者Java的Applet来建立Socket连接,实现全双工的服务器推送,然后通过Flash或者Applet与JavaScript通信的接口来实现最终的数据推送。但是这种方式需要Flash或者JVM的支持,同样不太合适于终端用户。
[0004]另外实时应用系统大都呈现高并发、高吞吐量、大负载应用的特性,在各类消息的服务中,对请求的任务处理效率、数据发布效率以及稳定性等都有较高的要求。目前各类消息服务大都采用两层架构的方式进行,即请求方向服务提供方直接发送请求的方式进行,这类处理方法的缺点是当服务提供方在某一时刻崩溃重启后,当前消息服务处理方法无法使得数据或服务请求方及时获取数据或服务,且请求方必须重新提交请求任务后,才能重新获取数据或服务,增加了请求方以及服务提供方的负担;另外消息请求与服务采用两层架构的方式使得系统模块间耦合性增强,可扩展性差。因此传统的两层消息服务解决方法存在消息分发效率低、稳定性差、可扩展性差等问题。

【发明内容】

[0005]本发明的目的是克服现有技术中存在的不足,提供一种高效率、高稳定性的页面实时数据刷新方法。
[0006]本发明的技术方案是按以下方式实现的,其特点在于:
(1)、改进了传统的客户端拉取实时显示变化数据方式为当后台数据有变化时服务器端主动推送;消息推送采用基于Comet的“服务器推”技术,采用观察者模型:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话ID作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里;
采用开源框架pushlet ;
(2)、改进了传统的两层“请求一服务”架构模式为三层服务架构,即“请求一消息转发一服务”三层架构;消息转发中间件负责消息的网络传输,解决高并发、大吞吐量应用中消息堵塞、丢失等问题,支持分布式计算,具有消息缓存机制,保证消息传输的稳定性,提高消息推送质量;
消息分发中间主要包括:消息订阅、消息分发、消息发布等模块;
消息订阅构件主要负责订阅请求的注册、发送以及订阅数据的正确回返;
具体过程为:订阅请求任务发送后,订阅构件将服务请求任务进行注册登记,并将带有服务码以及过滤条件的请求信息发送给消息分发构件;消息服务订阅构件接收到消息分发构件回返的数据后,根据服务码以及注册信息,将回返数据返回给相应的请求者;
消息分发构件主要功能包括:消息解析、消息分发、订阅信息注册及取消订阅。
[0007]本发明的优点是:
(I)、解决了传统客户端定时发送请求到服务端获取最新变化数据带来的服务端负载增加、网络流量增加问题。
[0008](2)、降低了消息推送延迟,提高了消息推送质量。
[0009](3)、支持分布式计算,解决了高并发、高吞吐量应用中消息堵塞、消息分发丢失问题。
[0010](4)、采用了三层“请求一服务”构架模式,有效改进了传统的两层构架模式下当服务提供方在某一时刻崩溃重启后带来的消息丢失不稳定性问题。
[0011](5)、采用了三层“请求一消息转发一服务”构架模式,有效提高了系统的模块化程度,增强了系统的可扩展性。
【具体实施方式】
[0012]下面对本发明的一种高效率、高稳定性的页面实时数据刷新方法作以下详细说明。
[0013]本发明的一种高效率、高稳定性的页面实时数据刷新方法,其特点在于:
(I)改进了传统的客户端拉取实时显示变化数据方式为当后台数据有变化时服务器端主动推送。消息推送采用基于Comet的“服务器推”技术,采用观察者模型:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话ID作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。具体实现采用开源框架pushlet。
[0014]采用“服务器推”技术具有如下优点:
降低了客户端显示最新变化数据推送延迟。
[0015]客户端无需定时向发送请求获取最新变化数据,服务器端负载压力小。
[0016]客户端无须安装任何插件。
[0017](2)改进了传统的两层“请求一服务”架构模式为三层服务架构,即“请求一消息转发一服务”三层架构。消息转发中间件负责消息的网络传输,解决高并发、大吞吐量应用中消息堵塞、丢失等问题,支持分布式计算,具有消息缓存机制,保证消息传输的稳定性,提高消息推送质量。
[0018]消息分发中件间主要包括:消息订阅、消息分发、消息发布等模块。
[0019]消息订阅构件主要负责订阅请求的注册、发送以及订阅数据的正确回返。具体过程为:订阅请求任务发送后,订阅构件将服务请求任务进行注册登记,并将带有服务码以及过滤条件的请求信息发送给消息分发构件;消息服务订阅构件接收到消息分发构件回返的数据后,根据服务码以及注册信息,将回返数据返回给相应的请求者。
[0020]消息分发构件主要功能包括:消息解析、消息分发、订阅信息注册及取消订阅。
[0021]消息服务发布构件主要实现订阅请求的接收、解析以及订阅数据的回返。
[0022]采用单独模块消息分发中件件解决网络传输问题具有以下优点:
支持分布式处理。
[0023]具有消息缓存机制,可有效避免由于某一端崩溃带来的消息丢失问题。
[0024]支持高并发、高吞吐量。
[0025]可扩展性好。
[0026]本发明的一种高效率、高稳定性的页面实时数据刷新方法其加工制作非常简单方便,按照说明书所示即可加工。
[0027]除说明书所述的技术特征外,均为本专业技术人员的已知技术。
【主权项】
1.一种高效率、高稳定性的页面实时数据刷新方法,其特征在于: (1)、改进了传统的客户端拉取实时显示变化数据方式为当后台数据有变化时服务器端主动推送;消息推送采用基于Comet的“服务器推”技术,采用观察者模型:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话ID作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里; 采用开源框架pushlet ; (2)、改进了传统的两层“请求一服务”架构模式为三层服务架构,即“请求一消息转发一服务”三层架构;消息转发中间件负责消息的网络传输,解决高并发、大吞吐量应用中消息堵塞、丢失等问题,支持分布式计算,具有消息缓存机制,保证消息传输的稳定性,提高消息推送质量; 消息分发中间主要包括:消息订阅、消息分发、消息发布等模块; 消息订阅构件主要负责订阅请求的注册、发送以及订阅数据的正确回返; 具体过程为:订阅请求任务发送后,订阅构件将服务请求任务进行注册登记,并将带有服务码以及过滤条件的请求信息发送给消息分发构件;消息服务订阅构件接收到消息分发构件回返的数据后,根据服务码以及注册信息,将回返数据返回给相应的请求者; 消息分发构件主要功能包括:消息解析、消息分发、订阅信息注册及取消订阅。
【专利摘要】本发明提供一种高效率、高稳定性的页面实时数据刷新方法,改进了传统的客户端拉取实时显示变化数据方式为当后台数据有变化时服务器端主动推送;消息推送采用基于Comet的“服务器推”技术,采用观察者模型:改进了传统的两层“请求—服务”架构模式为三层服务架构;消息转发中间件负责消息的网络传输,解决高并发、大吞吐量应用中消息堵塞、丢失等问题,支持分布式计算;本发明的优点是:解决了传统客户端定时发送请求到服务端获取最新变化数据带来的服务端负载增加、网络流量增加问题;降低了消息推送延迟,提高了消息推送质量;支持分布式计算,解决了高并发、高吞吐量应用中消息堵塞、消息分发丢失问题。
【IPC分类】H04L29/08, H04L29/06
【公开号】CN105282227
【申请号】CN201510558524
【发明人】马骏, 李胜利, 吴瑞海, 闫学君, 郑超
【申请人】浪潮软件股份有限公司
【公开日】2016年1月27日
【申请日】2015年9月6日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1