CN110224933A - 一种消息分发系统 - Google Patents
一种消息分发系统 Download PDFInfo
- Publication number
- CN110224933A CN110224933A CN201910529186.2A CN201910529186A CN110224933A CN 110224933 A CN110224933 A CN 110224933A CN 201910529186 A CN201910529186 A CN 201910529186A CN 110224933 A CN110224933 A CN 110224933A
- Authority
- CN
- China
- Prior art keywords
- message
- server
- target
- client
- interchanger
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种消息分发系统,包括:服务器,交换机,消息队列,客户端;所述服务器用于发布目标消息,所述目标消息中包括所述客户端的客户标识;所述交换机用于将所述目标消息按照预定路由规则传输至相应的所述消息队列;所述消息队列用于接收由所述交换机传输的所述目标消息,并根据所述客户标识,将所述目标消息传输至相应的客户端。本发明提供的技术方案,能够提高消息的分发速度和准确性,提高用户体验。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种消息分发系统。
背景技术
随着移动终端各种应用程序的兴起,对消息进行有效地分发具有重要意义。
由于目前移动终端app的用户量逐渐增大,现有的消息分发系统在对消息的分发速度、分发准确性方面并不能满足用户需求。
发明内容
本发明旨在提供一种消息分发系统,能够提高消息的分发速度和准确性,提高用户体验。
为达到上述目的,本发明采用的技术方案如下:
一种消息分发系统,包括:服务器,交换机,消息队列,客户端;
所述服务器用于发布目标消息,所述目标消息中包括所述客户端的客户标识;所述交换机用于将所述目标消息按照预定路由规则传输至相应的所述消息队列;所述消息队列用于接收由所述交换机传输的所述目标消息,并根据所述客户标识,将所述目标消息传输至相应的客户端。
进一步地,还包括:消息数据库;所述服务器还用于将发布的目标消息发送给所述消息数据库;所述消息数据库用于存储所述目标消息。
进一步地,所述预定路由规则为预先设置的路由关键字。
进一步地,所述服务器中还设有至少一个虚拟主机,用于对不同客户端进行权限分离。
优选地,所述服务器的通信协议包括http协议。
本发明实施例提供的消息分发系统,能够提高消息的分发速度和准确性,提高用户体验。
附图说明
图1为本发明实施例的系统结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。
图1为本发明实施例的系统结构图,包括:服务器,交换机,消息队列,客户端;所述服务器用于发布目标消息,所述目标消息中包括所述客户端的客户标识;所述交换机用于将所述目标消息按照预定路由规则传输至相应的所述消息队列;所述消息队列用于接收由所述交换机传输的所述目标消息,并根据所述客户标识,将所述目标消息传输至相应的客户端。
本实施例中,每个目标消息都会被投入到一个或多个消息队列。交换机和消息队列之间会按照预定路由规则绑定起来。在客户端的每一个网络连接中,可以建立多个消息通道,每个消息通道代表一个会话任务。
本系统在使用过程中,客户端连接到消息队列,打开一个消息通道;服务器声明一个交换机,并设置相关属性;服务器声明一个消息队列,并设置相关属性;服务器使用预定路由规则,在交换机和消息队列之间建立好绑定关系;服务器投递消息到交换机;交换机接收到消息后,就根据上述路由规则和绑定关系,进行消息路由,将消息投递到一个或多个队列里。
本实施例中,还包括:消息数据库;所述服务器还用于将发布的目标消息发送给所述消息数据库;所述消息数据库用于存储所述目标消息。
本实施例中,所述预定路由规则为预先设置的路由关键字。
本实施例中,所述服务器中还设有至少一个虚拟主机,用于对不同客户端进行权限分离。
本实施例中的服务器的通信协议包括自定义fjsonN协议和http协议。fjsonN协议是基于开源协议json为主要载体,在此机构上面,加上f头和字节大小组成,能实现快速的tcp通讯,结构清晰,通用性强。http协议(Hyper Text Transfer Protocol,超文本传输协议)是用于从万维网服务器传输超文本到本地浏览器的传送协议。HTTP基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。
在消息订阅模式中,服务器称为消息发布者,消息数据库称为消息主题,客户端称为订阅者。多个消息发布者将消息发送到消息主题中,系统将这些消息传递给多个订阅者。
发布订阅模式的特点是每个消息可以有多个订阅者,消息发布者和订阅者之间有时间上的依赖性。针对某个消息主题的订阅者,必须创建一个订阅者之后,才能消费发布者的消息。为了消费消息,订阅者必须保持运行的状态。
本系统的开发过程如下:
1、接入订阅接口;
2、生成客户端的客户标识;
3、服务器发布消息给客户端;
4、客户端接收消息;
5、客户端push消息给服务器。
PHP在服务端WEB服务开发中有着广泛的应用基础,语言灵活,部署方便,开发效率高;Redis是流行的内存存储服务程序,这里用Redis来提供Cache功能;MySql作为优秀的开源关系型数据库,成本低廉,使用方便,这里用它来做数据的持久化存储。
上述开发过程需要完成以下关键任务:
1、在客户端和服务器端建立连接。
2、服务器(消息生产者)的消息发送目标或者说客户端(消息消费者)的消息来源。
3、操作消息的接口。可以通过session函数来创建生产者、消费者、消息等。Session提供了事务的功能。当需要使用session发送/接收多个消息时,可以将这些发送/接收动作放到一个事务中。
4、消息生产者。消息生产者由Session创建,并用于将消息发送到相应的目标。
5、消息消费者。消息消费者由Session创建,用于接收被发送到相应目标的消息。
6、消息监听器。如果注册了消息监听器,一旦消息到达,能立即监听到消息。
7、连接工厂。创建客户端和服务器端连接对象的工厂,针对不同的消息模型,采用不同的连接方式。
本发明实施例提供的消息分发系统,通过对移动终端等平台分发消息,并调度所有平台上报的信息,根据信息运算,再分发给对应平台,能够提高消息的分发速度和准确性,提高用户体验。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种消息分发系统,其特征在于,包括:服务器,交换机,消息队列,客户端;
所述服务器用于发布目标消息,所述目标消息中包括所述客户端的客户标识;
所述交换机用于将所述目标消息按照预定路由规则传输至相应的所述消息队列;
所述消息队列用于接收由所述交换机传输的所述目标消息,并根据所述客户标识,将所述目标消息传输至相应的客户端。
2.根据权利要求1所述的消息分发系统,其特征在于,还包括:消息数据库;所述服务器还用于将发布的目标消息发送给所述消息数据库;所述消息数据库用于存储所述目标消息。
3.根据权利要求1所述的消息分发系统,其特征在于,所述预定路由规则为预先设置的路由关键字。
4.根据权利要求1所述的消息分发系统,其特征在于,所述服务器中还设有至少一个虚拟主机,用于对不同客户端进行权限分离。
5.根据权利要求1所述的消息分发系统,其特征在于,所述服务器的通信协议包括http协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910529186.2A CN110224933A (zh) | 2019-06-18 | 2019-06-18 | 一种消息分发系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910529186.2A CN110224933A (zh) | 2019-06-18 | 2019-06-18 | 一种消息分发系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110224933A true CN110224933A (zh) | 2019-09-10 |
Family
ID=67817771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910529186.2A Pending CN110224933A (zh) | 2019-06-18 | 2019-06-18 | 一种消息分发系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110224933A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061804A (zh) * | 2019-10-30 | 2020-04-24 | 平安科技(深圳)有限公司 | 基于大数据的异步数据处理方法、装置、设备和存储介质 |
CN111580993A (zh) * | 2020-05-11 | 2020-08-25 | 广州虎牙信息科技有限公司 | 数据处理方法和装置、电子设备及存储介质 |
CN113254839A (zh) * | 2021-06-18 | 2021-08-13 | 每日互动股份有限公司 | 一种逐层式的消息分发方法、电子客户端及介质 |
CN114844847A (zh) * | 2021-12-14 | 2022-08-02 | 合肥哈工轩辕智能科技有限公司 | 一种高可靠性的实时消息分发方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890631A (zh) * | 2012-09-13 | 2013-01-23 | 新浪网技术(中国)有限公司 | 基于持久化消息队列传输消息的方法及消息传输装置 |
US20130144967A1 (en) * | 2011-12-05 | 2013-06-06 | International Business Machines Corporation | Scalable Queuing System |
CN105282245A (zh) * | 2015-09-29 | 2016-01-27 | 努比亚技术有限公司 | 跨服务器消息推送系统及方法 |
CN106250249A (zh) * | 2016-08-09 | 2016-12-21 | 广州唯品会信息科技有限公司 | 消息队列的控制方法及装置 |
CN106330994A (zh) * | 2015-06-18 | 2017-01-11 | 天脉聚源(北京)科技有限公司 | 一种用户消息发布方法及系统 |
CN107332787A (zh) * | 2017-06-29 | 2017-11-07 | 北京奇艺世纪科技有限公司 | 一种消息分发方法和装置 |
CN107508787A (zh) * | 2016-06-14 | 2017-12-22 | 腾讯科技(深圳)有限公司 | 一种任务执行方法、装置及系统 |
CN107888499A (zh) * | 2017-11-17 | 2018-04-06 | 北京邮电大学 | 一种基于sdn的发布订阅系统及消息转发方法 |
CN108494815A (zh) * | 2018-02-06 | 2018-09-04 | 北京极智感科技有限公司 | 一种传输消息的方法和系统 |
US20180278551A1 (en) * | 2017-03-27 | 2018-09-27 | Dell Products, L.P. | Advanced message queuing protocol (amqp) message broker and messaging client interactions via dynamic programming commands using message properties |
-
2019
- 2019-06-18 CN CN201910529186.2A patent/CN110224933A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130144967A1 (en) * | 2011-12-05 | 2013-06-06 | International Business Machines Corporation | Scalable Queuing System |
CN102890631A (zh) * | 2012-09-13 | 2013-01-23 | 新浪网技术(中国)有限公司 | 基于持久化消息队列传输消息的方法及消息传输装置 |
CN106330994A (zh) * | 2015-06-18 | 2017-01-11 | 天脉聚源(北京)科技有限公司 | 一种用户消息发布方法及系统 |
CN105282245A (zh) * | 2015-09-29 | 2016-01-27 | 努比亚技术有限公司 | 跨服务器消息推送系统及方法 |
CN107508787A (zh) * | 2016-06-14 | 2017-12-22 | 腾讯科技(深圳)有限公司 | 一种任务执行方法、装置及系统 |
CN106250249A (zh) * | 2016-08-09 | 2016-12-21 | 广州唯品会信息科技有限公司 | 消息队列的控制方法及装置 |
US20180278551A1 (en) * | 2017-03-27 | 2018-09-27 | Dell Products, L.P. | Advanced message queuing protocol (amqp) message broker and messaging client interactions via dynamic programming commands using message properties |
CN107332787A (zh) * | 2017-06-29 | 2017-11-07 | 北京奇艺世纪科技有限公司 | 一种消息分发方法和装置 |
CN107888499A (zh) * | 2017-11-17 | 2018-04-06 | 北京邮电大学 | 一种基于sdn的发布订阅系统及消息转发方法 |
CN108494815A (zh) * | 2018-02-06 | 2018-09-04 | 北京极智感科技有限公司 | 一种传输消息的方法和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061804A (zh) * | 2019-10-30 | 2020-04-24 | 平安科技(深圳)有限公司 | 基于大数据的异步数据处理方法、装置、设备和存储介质 |
CN111061804B (zh) * | 2019-10-30 | 2023-09-29 | 平安科技(深圳)有限公司 | 基于大数据的异步数据处理方法、装置、设备和存储介质 |
CN111580993A (zh) * | 2020-05-11 | 2020-08-25 | 广州虎牙信息科技有限公司 | 数据处理方法和装置、电子设备及存储介质 |
CN111580993B (zh) * | 2020-05-11 | 2024-05-17 | 广州虎牙信息科技有限公司 | 数据处理方法和装置、电子设备及存储介质 |
CN113254839A (zh) * | 2021-06-18 | 2021-08-13 | 每日互动股份有限公司 | 一种逐层式的消息分发方法、电子客户端及介质 |
CN114844847A (zh) * | 2021-12-14 | 2022-08-02 | 合肥哈工轩辕智能科技有限公司 | 一种高可靠性的实时消息分发方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110224933A (zh) | 一种消息分发系统 | |
US8452833B2 (en) | Cached message distribution via HTTP redirects | |
JP5535067B2 (ja) | 3aベースの多様なアプリケーションの状態を提供するユビキタスプレゼンスサービス方法およびシステム | |
US8032609B2 (en) | Dynamic endpoint aggregator for web services | |
US8788618B2 (en) | Leveraging presence service system and method for distributed web service delivery and deployment | |
WO2007095800A1 (fr) | Dispositif d'interface pour services de présence, système de services de présence et procédé de publication et d'obtention d'informations de présence | |
CN104022945B (zh) | 在客户端中实现即时通讯的方法和装置 | |
KR20180022921A (ko) | 개선된 푸시 메시징 | |
KR101834837B1 (ko) | MQTT와 KAFKA를 이용한 IoT 센서 시뮬레이터 시스템 | |
KR20040053165A (ko) | 발행/구독 시스템을 이용한 무선 메시징 서비스 방법 및시스템 | |
CN103098433A (zh) | 用于xmpp协议的servlet api和方法 | |
US20110264777A1 (en) | Communications device and method | |
CN107231290A (zh) | 一种即时通信方法和系统 | |
KR101525795B1 (ko) | 통합 메시징 서비스 시스템 | |
CN101895520A (zh) | 微技系统的数据共享方法、服务器以及数据共享系统 | |
CN104660547B (zh) | 一种实现远距离通信的服务平台 | |
CN101938492B (zh) | 一种服务代理方法及自助服务智能代理平台 | |
US20100241716A1 (en) | System for interconnecting manifold entities across a real-time Meshed Information Exchange network | |
CN102469042A (zh) | 聊天会话发送输出消息和获取输出消息的方法及系统 | |
CN102150151A (zh) | web应用程序的异步队列的消息收发 | |
CN101309458A (zh) | 多企业间的短信实现方法、系统和设备 | |
KR20160000544A (ko) | 데이터 분산 서비스에서 서비스 품질 프로파일 결정 방법 및 장치 | |
Yunisa | Push notification system to mobile game player using distributed event-based system approach | |
CN101690114A (zh) | 实时服务组合 | |
Narayana Srirama | MWSMF: A mediation framework for mobile hosts and enterprise on cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190910 |