统一消息分发系统的制作方法

文档序号:12908582阅读:637来源:国知局
统一消息分发系统的制作方法与工艺

本发明涉及消息聚合技术领域,特别是涉及一种统一消息分发系统。



背景技术:

随着智能终端技术的发展以及第三代移动通信技术的进步,人们对于随时随地获取信息的需求变得越来越强烈,对信息的需求在内容和获取方式上也出现了变化,不再满足于使用固定终端连接到互联网络上,而是希望以一种稳定和可靠的方式,从internet上移动地获取信息。

当前android平台上的消息系统主要通过rss(reallysimplesyndication,简易信息聚合)技术实现,其特点为信息发布的时效性强、成本低廉,用户可以根据自己的兴趣以不同的主题对新闻进行订阅。但是目前rss技术并不支持用户消息推送,用户只能被动地接收来源于rss服务器的消息,缺乏灵活性与互动性。rss依托于http技术,缺乏对异构网络的支持,用户的接入方式受到一定限制。



技术实现要素:

本发明主要解决的技术问题是提供一种统一消息分发系统,能够屏蔽网络底层结构的差异性。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种统一消息分发系统,包括客户端、消息网关和消息服务器,所述客户端包括数据库、操作模块和发布订阅模块,所述操作模块包括消息显示单元、发布驱动单元、订阅驱动单元和数据库驱动单元,所述发布订阅模块包括发布单元、订阅单元和线程管理单元;所述消息显示单元用于提供用户界面,并获取用户在所述用户界面中输入的消息发布请求、消息订阅请求或消息查询请求;所述发布驱动单元用于根据所述消息发布请求向所述线程管理单元发送发布指令;所述订阅驱动单元用于根据所述消息订阅请求向所述线程管理单元发送订阅指令;所述线程管理单元用于根据所述发布指令控制所述发布单元启动发布线程,或者根据所述订阅指令控制所述订阅单元启动订阅线程;所述发布单元用于执行所述发布线程向所述消息网关和数据库驱动单元转发消息完整内容;所述订阅单元用于由所述消息网关链接到所述消息服务器,通过所述订阅线程从所述消息服务器获取消息完整内容,并在获取到消息完整内容时,将所述消息完整内容通过订阅驱动单元发送给数据库驱动单元;所述消息网关用于将所述发布单元转发的消息完整内容发送至消息服务器,或者将消息服务器中的消息完整内容发送至订阅单元;所述数据库驱动单元用于驱动所述数据库存储所述发布驱动单元或订阅驱动单元发送的消息完整内容,或者根据所述消息查询请求在所述数据库中进行查询,并将查询结果返回给消息显示单元在所述用户界面上显示。

其中,所述客户端与消息网关之间通过gsm、internet、email或者wlan通信方式进行通信。

本发明的有益效果是:区别于现有技术的情况,本发明在客户端与消息服务器之间加入消息网关,与传统的rss技术相比,消息的传播不再是单向的,而是为用户提供了完全的消息共享权限,所有用户都可以对自己感兴趣的话题进行异步的推送与拉取,从而能够屏蔽网络底层结构的差异性,具有很好的异构网络兼容性,支持多种接入方式,便于灵活部署。

附图说明

图1是本发明实施例的统一消息分发系统的架构示意图。

图2是本发明实施例的统一消息分发系统进行消息发布时的流程图。

图3是本发明实施例的统一消息分发系统进行消息订阅时的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参阅图1,是本发明实施例的统一消息分发系统的架构示意图。本发明实施例的统一消息分发系统包括客户端1、消息网关2和消息服务器3,客户端1包括数据库11、操作模块12和发布订阅模块13,操作模块12包括消息显示单元121、发布驱动单元122、订阅驱动单元123和数据库驱动单元124,发布订阅模块13包括发布单元131、订阅单元132和线程管理单元133。

消息显示单元121用于提供用户界面,并获取用户在用户界面中输入的消息发布请求、消息订阅请求或消息查询请求。其中,消息显示单元121可以提供快速按主题浏览消息标题的功能。如果用户在用户界面输入消息查询请求,消息显示单元121还将消息查询请求解析出查询关键字和查询条件后发送给数据库驱动单元124。

发布驱动单元122用于根据消息发布请求向线程管理单元133发送发布指令。其中,发布指令用于启动发布线程。

订阅驱动单元123用于根据消息订阅请求向线程管理单元133发送订阅指令。其中,订阅指令用于启动订阅线程。

线程管理单元133用于根据发布指令控制发布单元131启动发布线程,或者根据所述订阅指令控制订阅单元132启动订阅线程。

发布单元131用于执行发布线程向消息网关2和数据库驱动单元124转发消息完整内容。

订阅单元132用于由消息网关2链接到消息服务器3,通过订阅线程从消息服务器3获取消息完整内容,并在获取到消息完整内容时,将消息完整内容通过订阅驱动单元123发送给数据库驱动单元124。

消息网关2用于将发布单元131转发的消息完整内容发送至消息服务器3,或者将消息服务器3中的消息完整内容发送至订阅单元132;

数据库驱动单元124用于驱动数据库11存储发布驱动单元122或订阅驱动单元123发送的消息完整内容,或者根据消息查询请求在数据库11中进行查询,并将查询结果返回给消息显示单元121在用户界面上显示。其中,数据库驱动单元124对常用的数据库操作进行了封装,可以实现插入、删除、修改以及查询等功能,而且数据库驱动单元124在查询时既可以支持主题查询又可以支持复合条件查询。

在本实施例中,客户端1与消息网关2之间通过gsm、internet、email或者wlan通信方式进行通信。也就是说,消息网关2可以按照客户端1的通信规则进行消息的转发。

下面将结合附图分别对消息发布流程和消息订阅流程进行详细说明。

1.消息发布流程

如图2所示,是本发明实施例的统一消息分发系统进行消息发布时的流程图。首先,用户在消息显示单元121提供的用户界面中填写待发布的消息完整内容并点击发布选项生成消息发布请求。发布驱动单元122向线程管理单元133发送发布指令,线程管理单元133控制发布单元131启动发布线程,发布线程启动后,数据库驱动模块124也会被激活,将消息完整内容插入到数据库11中,整个发布流程结束。

消息的发布可以通过一个实现了runnable接口的类pubtopic来实现,每次进行发布的时候会新建一个pubtopic的实例并随后启动一个新的线程,在线程的run方法中执行标准的jms发布流程,此时用户可以继续使用其他功能,而完全不受到影响,并且在发布结束后发布线程会自动关闭,不需要用户进行额外操作,实现了发布过程对用户的不透明性。

2.消息订阅流程

如图3所示,是本发明实施例的统一消息分发系统进行消息订阅时的流程图。首先,用户在消息显示单元121提供的用户界面中填写待订阅的主题并点击订阅选项生成消息订阅请求,订阅驱动单元123向线程管理单元133发送订阅指令,线程管理单元133控制订阅单元132启动订阅线程,订阅线程启动后将激活一个消息监听器来捕获从消息服务器3处得到的消息完整内容,此时订阅线程进入等待状态,由于订阅的消息都是以将标题和内容捆绑在一起的消息体的方式存在,所以当消息监听器收到新消息后必须重建这个消息,之后数据库驱动模块124也会被激活,将消息完整内容存储到数据库11中。当用户发出取消订阅的命令时,线程管理单元133控制订阅单元132关闭订阅线程。本实施例可以启动多条订阅线程,既可以实现多主题的同时订阅又不影响客户端1继续处理其他的任务。

通过上述方式,本发明的统一消息分发系统在客户端与消息服务器之间加入消息网关,与传统的rss技术相比,消息的传播不再是单向的,而是为用户提供了完全的消息共享权限,所有用户都可以对自己感兴趣的话题进行异步的推送与拉取,从而能够屏蔽网络底层结构的差异性,具有很好的异构网络兼容性,支持多种接入方式,便于灵活部署。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1