[发明专利]一种基于Web的实时消息定向推送方法有效
申请号: | 201510685502.7 | 申请日: | 2015-10-20 |
公开(公告)号: | CN105357286B | 公开(公告)日: | 2019-02-05 |
发明(设计)人: | 崔越;白正;周一航;步红;钟原;蒋春娟 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/58 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 胡建华 |
地址: | 210007 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 web 实时 消息 定向 推送 方法 | ||
本发明公开了一种基于Web的实时消息定向推送方法,包括步骤如下:步骤1,在服务器端建立一套消息注册订阅机制。主要包含消息接收模块、消息分发模块以及消息处理模块。步骤2,浏览器端发送请求到服务器端注册并订阅所需要的消息类型。步骤3,服务器端定向推送消息至浏览器端。本发明采用基于Web的实时消息定向推送方法,不仅能够满足多用户并发场景下的实时数据定向推送需求,而且能够有效地提高服务器、网络带宽等资源的利用率。在浏览器端做到无刷新,不闪屏的良好用户体验。具有部署简便、支持多用户场景、用户体验好等优点。
技术领域
本发明涉及属于一种B/S(Browser/Server浏览器/服务器)架构中的实时消息定向推送方法,特别是应用于船舶交通管理系统的船舶实时动态监控的一种基于Web的实时消息定向推送方法。
背景技术
在船舶交通领域,关注的重点永远是船舶本身,尤其是当前在港船舶的相关信息,如船舶当前状态,船舶实时方位,船舶实时载重吃水等船舶本身信息以及航行计划,靠泊计划等相关信息,这些信息都属于动态信息,随时会发生变化,因此需要一种可以实时推送消息的机制。
目前国内海事局所用VTS系统中对于实时数据的处理与展现都是基于传统的C/S(Client/Server客户端/服务器)架构,存在着适用面窄、维护成本高、平台依赖等不足。而B/S架构由于其本身的局限性,服务器端只能被动接受浏览器端发出的请求并反馈相应内容。换而言之,服务器端无法主动地向浏览器端推送消息。而现有的模拟服务器端推送的方法主要有轮询、Stream方式以及基于HTML5的Web Socket。
轮询实现方式为浏览器端定时向服务器端请求最新的数据,存在资源浪费、服务器压力大的缺点;Stream方式则是在浏览器的HTML页面里面嵌入一个隐藏的的Iframe,并设置它的SRC属性为Streaming模式,通过这个Iframe进行请求连接。服务器在收到请求后一直保持该连接,在执行过程中不关闭次连接。但是这种方式将会长时间占用服务器链接、大量长时间占用服务器资源,并且浏览器端一直处于加载状态,影响用户体验;Web Socket方式则存在浏览器支持问题,现在并不是所有的主流浏览器都支持HTML5的。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于Web的实时消息定向推送方法。
为了解决上述技术问题,本发明公开了一种基于Web的实时消息定向推送方法,包括步骤如下:
步骤1,在服务器端建立一套消息注册订阅机制。主要包含消息接收模块、消息分发模块以及消息处理模块。
步骤2,浏览器端发送请求到服务器端注册并订阅所需要的消息类型。
步骤3,服务器端定向推送消息至浏览器端。
本发明中,所述消息接收模块,包括一张静态哈希表,用于储存消息ID与消息类的映射;消息接收模块接收从服务器发送来的二进制消息,根据消息ID以及Java反射机制将二进制流转换成Java消息对象并调用消息分发模块;
所述消息分发模块,包括静态哈希表T1和静态哈希表T2,静态哈希表T1用于存储线程ID与其对应公共缓存区、线程锁等数据的映射,静态哈希表T2存储了消息类型与订阅此类消息的线程ID的映射;消息分发模块将接收到的消息根据类型的不同,从静态哈希表2获取到订阅此消息的所有线程ID,再根据线程ID从静态哈希表T1获取线程消息缓存,将消息存入到所有订阅此类消息的线程公共缓存区内,并通过线程锁唤醒线程来接收并处理公共缓存区中的消息;
所述消息处理模块用于将消息对象进行二次缓存用以消息的优化处理并调用消息。
本发明中,步骤2包括:
步骤21,浏览器端发送Ajax请求至服务器端,请求线程开始等待。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510685502.7/2.html,转载请声明来源钻瓜专利网。