CN101552735A - 基于订阅模式的可插拔消息总线装置及其实现方法 - Google Patents
基于订阅模式的可插拔消息总线装置及其实现方法 Download PDFInfo
- Publication number
- CN101552735A CN101552735A CNA2008100432033A CN200810043203A CN101552735A CN 101552735 A CN101552735 A CN 101552735A CN A2008100432033 A CNA2008100432033 A CN A2008100432033A CN 200810043203 A CN200810043203 A CN 200810043203A CN 101552735 A CN101552735 A CN 101552735A
- Authority
- CN
- China
- Prior art keywords
- message
- application program
- information
- center
- device based
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于订阅模式的可插拔消息总线装置及其实现方法,包括用于接收应用程序的注册、订阅消息并发送消息给应用程序的消息中心;所述消息中心不但发送消息,还接收应用程序发来的消息;用于发送注册信息、发送消息给消息中心并接受消息的应用程序。使用本发明提供的消息中心技术以后大大减少了应用系统使用中网络上的消息数量和信道数量,减轻了信道维护工作量,同时也使得系统的扩展性大大增强。消息中转站技术扩展和复用非常简单,可以方便的在解决方案中运用和实现,达到解决应用程序之间复杂的消息传递的目的。
Description
技术领域
本发明涉及一种多个进程需要进行实时消息交互的装置及其实现方法。
背景技术
在一个整体的解决方案中,有许多的有特定功能的应用程序需要进行相互的实时消息交互,那如何解决这些应用程序间错综复杂的消息传递,是一个很常见但是也很困扰的问题,尤其是在应用程序数量比较多,同时消息频率也很大的时候。通常一般的解决方案会采取点对点直接订阅方式,这种方式的复杂度会使开发者让而却步,且消息密集度都将导致消息传输的延迟而不能正确传递。而另一种广播的方式,实现比较简单但是处理效率低下且网络上的消息数量会非常的巨大,增大网络负担,从而降低了消息传递的准确性。因此,我们需要研究出一种新的消息传递机制来解决实时消息交互的问题。
如图1所示的点对点订阅方式,这种方案是每个应用程序都向特定的应用程序订阅其所能提供的某些消息。这种方式有以下几个不足之处:第一扩展性差。每当有新的应用程序加入时候,其他的应用程序都需要进行修改。第二实现复杂。每个应用程序都需要和许许多多的其他应用程序维护消息通道。
如图2所示的广播方式,这种方式下,每个应用程序都以广播方式向外发布消息。这种方式实现比较简单,但是有两个不足之处,第一就是每个应用程序都会收到很多不必要的消息,每个应用程序需要对每个消息进行判别,从而降低了处理效率。第二就是网络上的消息数量会非常的巨大,增大网络负担,从而降低消息传递的准确性。当应用程序增多时,所需处理的消息数量将呈几何数量增长。
发明内容
本发明所要解决的技术问题是提供一种多个进程需要进行实时消息交互的装置及其实现方法。它可以大大减少应用系统使用中网络上的消息数量和信道数量,减轻了信道维护工作量的装置及方法,
为了解决以上技术问题,本发明提供了一种基于订阅模式的可插拔消息总线装置,包括用于接收应用程序注册进程、订阅消息并发送消息给应用程序的消息中心;所述消息中心不但发送消息,还接收应用程序发来的消息;用于发送注册消息进程、消息给消息中心并接受消息的应用程序。
本发明的有益效果在于:使用本发明提供的消息中心技术以后大大减少了应用系统使用中网络上的消息数量和信道数量,减轻了信道维护工作量,同时也使得系统的扩展性大大增强。消息中转站技术扩展和复用非常简单,可以方便的在解决方案中运用和实现,达到解决应用程序之间复杂的消息传递的目的。
优选的,前述消息中心设置有缓存区间。
优选的,前述注册进程发生在消息中心一端。
优选的,前述应用程序与消息中心之间基于WCF技术连接通信。
本发明还包括可插拔消息总线装置的实现方法,包括以下步骤:
步骤一,应用程序向消息中心进行注册;
步骤二,应用程序向消息中心订阅消息;
步骤三,应用程序将消息发布给消息中心;
步骤四,消息中心根据所有应用程序的订阅情况,将相应的消息发送给订阅该消息的应用程序。
优选的还可以包括以下步骤:
步骤一,检测应用程序是否在线;
步骤二,如果应用程序不在线,将其订阅的消息存储在位于消息中心的缓存区间;
步骤三,如果应用程序在线,则消息中心将位于缓存区间内的消息发送给应用程序。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1是背景技术点对点模式的示意图;
图2是背景技术广播模式的示意图。
图3是本发明基于订阅模式的可插拔消息总线装置的示意图;
图4是本发明基于订阅模式的可插拔消息总线装置实现方法的逻辑流程图。
具体实施方式
如图3所示,本实施例是一种使用WCF技术的基于订阅模式的可插拔消息总线装置。WCF是使用托管代码建立和运行面向服务(ServiceOriented)应用程序的统一框架。消息中心用于接收应用程序注册进程,接收应用程序的订阅消息并发送应用程序所订阅的消息给相应的应用程序;
应用程序端发送注册消息进程给消息中心,并且发送消息给消息中心,应用程序还接受消息中心发送来的消息。
本方案的消息中心封装成了自动启动的Windows服务,随着Windows系统启动而自动启动,为这个消息总线中其他的应用程序提供了可信赖的运行环境。
系统使用WCF技术,运行于Windows操作系统上,可实现同一计算机上多个进程或者多个计算机上的多个进程间的消息传递,通过配置,可支持TCP/IP、WebServies等多种底层通讯技术。
所有消息均由消息中心转发,由参与通讯的应用程序订阅消息标题,经过消息中心过滤,相应的应用程序只能收到其所订阅的消息,大大降低网络负荷。
采用基于消息中心的技术,参与到消息通讯的应用程序只与消息中心交互,彼此不关心其他应用程序的行为与存在,实现通讯应用程序的在线可插拔。
如图4所示,本实施例的应用方式包括以下步骤:应用程序向消息中心进行注册;应用程序向消息中心订阅消息;应用程序将消息发布给消息中心;消息中心根据所有应用程序的订阅情况,将相应的消息发送给订阅该消息的应用程序。
在消息中心可以设置有缓存区间,当某一应用程序不在线时,缓存区间存储要发送给该程序的消息,当该程序上线时,消息中心从缓存区间中读取相应的消息再发送给该应用程序,这种方式可以有效的防止发送时的丢包现象,同时实现消息传输的可靠性。当热插拔应用程序时,也不影响其他程序的运行,同时相应的信息还不会丢失。
下表为采用新消息总线技术前后通信对比情况(假设有4个应用程序,每个应用程序1秒发送5个包,订阅1个消息)
通过上表可以看出,本发明有效的减少了通信所占用的信道数量和减少消息包的数量,大大节省了系统资源。
Claims (6)
1、一种基于订阅模式的可插拔消息总线装置;其特征在于,包括用于接收应用程序的注册、订阅消息并发送消息给应用程序的消息中心;所述消息中心不但发送消息,还接收应用程序发来的消息;用于发送注册信息、发送消息给消息中心并接受消息的应用程序。
2、如权利要求1所述的基于订阅模式的可插拔消息总线装置,其特征在于,所述消息中心设置有缓存区间。
3、如权利要求2所述的基于订阅模式的可插拔消息总线装置,其特征在于,所述注册发生在消息中心一端。
4、如权利要求3所述的基于订阅模式的可插拔消息总线装置,其特征在于,所述应用程序与消息中心之间基于WCF技术连接通信。
5、如权利要求1所述的基于订阅模式的可插拔消息总线装置的实现方法,其特征在于,包括以下步骤:
步骤一,应用程序向消息中心进行注册;
步骤二,应用程序向消息中心订阅消息;
步骤三,应用程序将消息发布给消息中心;
步骤四,消息中心根据所有应用程序的订阅情况,将相应的消息发送给订阅该消息的应用程序。
6、如权利要求5所述的基于订阅模式的可插拔消息总线装置的实现方法,其特征在于,还包括以下步骤:
步骤一,检测应用程序是否在线;
步骤二,如果应用程序不在线,将其订阅的消息存储在位于消息中心的缓存区间;
步骤三,如果应用程序在线,则消息中心将位于缓存区间内的消息发送给应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100432033A CN101552735A (zh) | 2008-03-31 | 2008-03-31 | 基于订阅模式的可插拔消息总线装置及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100432033A CN101552735A (zh) | 2008-03-31 | 2008-03-31 | 基于订阅模式的可插拔消息总线装置及其实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101552735A true CN101552735A (zh) | 2009-10-07 |
Family
ID=41156736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100432033A Pending CN101552735A (zh) | 2008-03-31 | 2008-03-31 | 基于订阅模式的可插拔消息总线装置及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101552735A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103916442A (zh) * | 2013-01-07 | 2014-07-09 | 阿里巴巴集团控股有限公司 | 消息推送实现方法、移动终端及消息推送系统 |
CN105117213A (zh) * | 2015-07-30 | 2015-12-02 | 青岛海尔智能家电科技有限公司 | 一种基于发布-订阅模式的预处理方法及装置 |
CN107038076A (zh) * | 2016-10-25 | 2017-08-11 | 努比亚技术有限公司 | 组件系统及组件交互方法 |
CN109257257A (zh) * | 2018-09-25 | 2019-01-22 | 中国电力科学研究院有限公司 | 一种主子站广域消息传输方法和系统 |
CN109710432A (zh) * | 2018-12-29 | 2019-05-03 | 苏州思必驰信息科技有限公司 | 用于应用程序开发中的多节点通信方法及系统 |
-
2008
- 2008-03-31 CN CNA2008100432033A patent/CN101552735A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103916442A (zh) * | 2013-01-07 | 2014-07-09 | 阿里巴巴集团控股有限公司 | 消息推送实现方法、移动终端及消息推送系统 |
CN105117213A (zh) * | 2015-07-30 | 2015-12-02 | 青岛海尔智能家电科技有限公司 | 一种基于发布-订阅模式的预处理方法及装置 |
CN105117213B (zh) * | 2015-07-30 | 2021-10-19 | 青岛海尔智能家电科技有限公司 | 一种基于发布-订阅模式的预处理方法及装置 |
CN107038076A (zh) * | 2016-10-25 | 2017-08-11 | 努比亚技术有限公司 | 组件系统及组件交互方法 |
CN109257257A (zh) * | 2018-09-25 | 2019-01-22 | 中国电力科学研究院有限公司 | 一种主子站广域消息传输方法和系统 |
CN109710432A (zh) * | 2018-12-29 | 2019-05-03 | 苏州思必驰信息科技有限公司 | 用于应用程序开发中的多节点通信方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107800621B (zh) | 一种支持多种接入协议的新型智能家居网关 | |
CN102790776B (zh) | 心跳连接归一处理方法、终端、服务器及通信系统 | |
CN102769603A (zh) | 一种数据传输的方法、系统及设备 | |
WO2014180407A1 (zh) | 推送方法及装置 | |
CN110677432A (zh) | 一种网络协议内部代理转发方法、装置、介质及终端设备 | |
CN101552735A (zh) | 基于订阅模式的可插拔消息总线装置及其实现方法 | |
CN105991481B (zh) | 一种报文转发方法及装置 | |
CN112565341A (zh) | 诊断路由的方法、装置、系统、设备和存储介质 | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN102238493B (zh) | 基于m2m平台的有序收发消息的方法及装置 | |
CN103248679A (zh) | 一种网络消息传递方法 | |
CN103533001A (zh) | 基于http多重代理的通信方法和系统、中间代理服务器 | |
CN104243412A (zh) | 网络数据处理终端及在其中处理网络数据的方法 | |
CN102970191A (zh) | 一种分布式系统中检测协议的实现方法和装置 | |
CN105306350A (zh) | 一种消息交互的方法、装置及系统 | |
US8902795B2 (en) | System and method for improving service subscription or unsubscription speed for Wireless Application Protocol (WAP) roaming users | |
CN105656716B (zh) | 一种协议模块性能测试方法及系统 | |
CN113141580B (zh) | 一种多播广播业务业务兴趣上报及确定的方法、设备与介质 | |
CN108377205A (zh) | 优化nfv数据转发性能的系统及其方法 | |
CN108989467B (zh) | 集中式寻址方法 | |
CN114157726A (zh) | 工业设备互联方法、系统、电子装置和存储介质 | |
CN106101189A (zh) | 数据传输方法及系统 | |
CN102857504B (zh) | 网络优化方法及装置 | |
CN112291322A (zh) | 一种基于ims的应用管理方法及系统 | |
CN112512131A (zh) | 一种数据传输的省电方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091007 |