CN112787906A - 一种基于云桌面平台的消息推送系统 - Google Patents
一种基于云桌面平台的消息推送系统 Download PDFInfo
- Publication number
- CN112787906A CN112787906A CN201911084847.1A CN201911084847A CN112787906A CN 112787906 A CN112787906 A CN 112787906A CN 201911084847 A CN201911084847 A CN 201911084847A CN 112787906 A CN112787906 A CN 112787906A
- Authority
- CN
- China
- Prior art keywords
- message
- server
- message pushing
- client
- cloud desktop
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
-
- 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
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于云桌面平台的消息推送系统,属于计算机领域,包括应用服务器、负载均衡服务器、消息推送系统服务器集群、客户端和数据库。本发明能够为云桌面平台的管理者和使用者提供了很好的消息交互方式,且使用此消息推送系统能够整合企业现有业务系统中的消息通知功能,在用户使用云桌面系统的时候,及时有效地将消息主动推送给用户,提供更好的用户体验。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于云桌面平台的消息推送系统。
背景技术
伴随企业信息化建设步伐,其I T基础设施投入比重也逐渐加大。传统的 I T基础设施建设过程中易出现诸如配置部署复杂、软硬件升级成本高、机密数据分散、数据安全保障机制不完善等一系列问题,不便于数据的集中管理与维护,云桌面平台为其提供了一种有效的解决方案。
然而目前市场上的云桌面平台中并没有集成内置的消息推送系统,这样对云桌面平台管理者和使用者都带来了极大的不便。针对管理者而言,由于云桌面平台规模庞大,涉及的用户体量很大。在维护过程中,针对一些必要的运维工作,需要临时中断瘦终端用户的日常工作的时候,就急需要通知用户。针对使用者而言,由于目前云桌面的新型使用模式,在给用户带来便利的同时,也存在一些操作习惯或者其它问题,需要能及时反馈给管理员。同时,云桌面系统管理着客户方上百套软件系统,从云桌面平台集中管理的角度,也希望能够整合业务系统的共性。因此,多个业务系统中的消息通知,就可以借助云桌面统一接入,在用户使用云桌面的时候,就一次呈现。
申请号为CN201710053257.7的中国专利公开了一种基于MQTT和MYSQL的消息推送系统,系统包括服务端和客户端,服务器端包括MQTT服务器、服务器业务处理单元和服务器MYSQL数据库,客户端包括MQTT客户端、客户端业务处理单元和客户端MYSQL数据库,服务器MYSQL数据库和客户端MYSQL数据库分别用于存储数据,服务器业务处理单元和客户端业务处理单元分别用于业务指令和数据处理。本发明 采用MQTT来维护服务端和客户端之间的连接映射,实现多个客户端通过一条TCP长连接与服务端相连,使得客户端和服务端连接映射更加简化。通过服务端的重复确认机制和客户端的重复拉取机制,保证了消息的可靠推送。
上述专利中使用MYSQL数据库进行数据的读取,但是对于消息发送频繁且数量较多时,有可能造成消息丢失,同时发送数据时需要重复对数据库进行操作,对数据库频繁进行操作会降低消息推送的效率。
发明内容
针对上述存在的技术不足,本发明的目的是提供一种基于云桌面平台的消息推送系统,旨在解决目前云桌面平台没有内置的消息推送系统的问题,以及背景技术中提到的专利中对于消息发送频繁且数量较多时,有可能造成消息丢失,同时发送数据时需要重复对数据库进行操作,对数据库频繁进行操作会降低消息推送的效率的问题。
为解决上述技术问题,本发明采用如下技术方案:
本发明提供一种基于云桌面平台的消息推送系统,包括应用服务器、负载均衡服务器、消息推送系统服务器集群、客户端和数据库;所述消息推送系统服务器集群连接所述负载均衡服务器,所述负载均衡服务器又通过MQTT协议与所述客户端通信连接,用于将消息主动推送给所述客户端;所述消息推送系统服务器集群还和所述应用服务器连接,用于接收所述应用服务器发出的消息;所述消息推送服务器集群与所述数据库通信连接,用于调取所述数据库存储的数据。
优选地,所述负载均衡服务器用于使所述客户端连接到所述消息推送服务器集群中的任一节点。
优选的,本系统具有低耦合的分层架构,具体为:
应用层:主要是面向系统管理员的Web管理界面,系统管理员在此可以进行一些业务操作,如主题管理、手动推送消息、消息管理、消息统计、终端反馈等
业务逻辑层:是本系统的核心,消息推送系统能够完成主动推送消息的功能,主要是依赖于此层的处理,这一层主要有以下几个功能:
1)连接管理:客户端申请连接时,消息系统服务端会对用户输入的账号和密码进行验证,只有经过权限验证的客户端才会被允许接入消息系统,否则会对整个消息推送系统甚至整个云桌面平台造成严重的安全威胁。
2)主题管理:消息推送系统中存在哪些主题是可以供用户进行订阅/退订的,当有新的主题申请时,如何将主题添加到合适的位置进行保存;当主题不再需要时,如何删除等等,都需要进行正确的操作。根据MQTT 协议的特点,本文消息系统采用多级分层主题设计方式,如“/新闻”这个主题之下,可以有/“/新闻/政治”主题,同时也可以“/新闻/生活”主题,使用“/新闻/#”可以同时匹配“/新闻”主题下的所有下层主题。
3)用户的订阅管理:负责处理与主题订阅相关的逻辑。用户可以对感兴趣的主题进行订阅,对不感兴趣的主题进行退订,每一个主题下的订阅者可能都是经常变化的。订阅者对主题的订阅/退订,都需要消息系统返回确认消息才会成功发生,消息推送系统根据接受的订阅/退订请求维护每个主题的订阅者列表。
4)消息管理:当消息推送系统接收到消息之后,如何确定消息需要转发给哪些用户,如何确保消息可靠地送达给用户,都需要严格地按照一定的规则进行处理。
5)存储管理:进行消息持久化,可以帮助系统管理员对一段时间内发送的消息进行掌握,查看各个主题下消息的发送情况。同时对于发送过程中,用户离线或者消息发送失败时,通过消息持久化,可以采用一定的机制保证消息可靠地送达。存储模块使用Red i s和Mysq l两种不同的数据库,通过两种数据库的结合,提供更加完善的消息存储机制。使用Mysq l 数据库存储频繁且实时性要求低的数据;Red i s作为缓存层,则用来存储实时性要求高的数据。Red i s作为缓存,可以当作是Mysq l的补充。
接入层:所述客户端(包括消息发送者、消息订阅者)接入所述消息推送系统服务器集群的入口,所述客户端通过MQTT协议与所述消息推送系统服务器集群进行长连接,以便及时地接收到所述消息推送系统服务器集群推送的消息。
本发明的有益效果在于:与现有技术相比,本发明提出的一种基于云桌面平台的消息推送系统,能够为云桌面平台的管理者和使用者提供了很好的消息交互方式,且使用此消息推送系统能够整合企业现有业务系统中的消息通知功能,在用户使用云桌面系统的时候,及时有效地将消息主动推送给用户,提供更好的用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于云桌面平台的消息推送系统的结构框图;
图2为本发明提供的一种基于云桌面平台的消息推送系统的分层架构图;
图3为本发明实施例提供的一种基于云桌面平台的消息推送系统的实施流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种基于云桌面平台的消息推送系统,包括应用服务器、负载均衡服务器、消息推送系统服务器集群、客户端和数据库;消息推送系统服务器集群连接负载均衡服务器,负载均衡服务器又通过MQTT协议与客户端通信连接,用于将消息主动推送给客户端;消息推送系统服务器集群还和应用服务器连接,用于接收应用服务器发出的消息;消息推送服务器集群与数据库通信连接,用于调取数据库存储的数据。
进一步的,负载均衡服务器用于使客户端连接到消息推送服务器集群中的任一节点。
进一步的,如图2所示,本系统具有低耦合的分层架构,具体为:
应用层:主要是面向系统管理员的Web管理界面,系统管理员在此可以进行一些业务操作,如主题管理、手动推送消息、消息管理、消息统计、终端反馈等
业务逻辑层:是本系统的核心,消息推送系统能够完成主动推送消息的功能,主要是依赖于此层的处理,这一层主要有以下几个功能:
6)连接管理:客户端申请连接时,消息系统服务端会对用户输入的账号和密码进行验证,只有经过权限验证的客户端才会被允许接入消息系统,否则会对整个消息推送系统甚至整个云桌面平台造成严重的安全威胁。
7)主题管理:消息推送系统中存在哪些主题是可以供用户进行订阅/退订的,当有新的主题申请时,如何将主题添加到合适的位置进行保存;当主题不再需要时,如何删除等等,都需要进行正确的操作。根据MQTT 协议的特点,本文消息系统采用多级分层主题设计方式,如“/新闻”这个主题之下,可以有/“/新闻/政治”主题,同时也可以“/新闻/生活”主题,使用“/新闻/#”可以同时匹配“/新闻”主题下的所有下层主题。
8)用户的订阅管理:负责处理与主题订阅相关的逻辑。用户可以对感兴趣的主题进行订阅,对不感兴趣的主题进行退订,每一个主题下的订阅者可能都是经常变化的。订阅者对主题的订阅/退订,都需要消息系统返回确认消息才会成功发生,消息推送系统根据接受的订阅/退订请求维护每个主题的订阅者列表。
9)消息管理:当消息推送系统接收到消息之后,如何确定消息需要转发给哪些用户,如何确保消息可靠地送达给用户,都需要严格地按照一定的规则进行处理。
10)存储管理:进行消息持久化,可以帮助系统管理员对一段时间内发送的消息进行掌握,查看各个主题下消息的发送情况。同时对于发送过程中,用户离线或者消息发送失败时,通过消息持久化,可以采用一定的机制保证消息可靠地送达。存储模块使用Red i s和Mysq l两种不同的数据库,通过两种数据库的结合,提供更加完善的消息存储机制。使用Mysq l数据库存储频繁且实时性要求低的数据;Red i s作为缓存层,则用来存储实时性要求高的数据。Red i s作为缓存,可以当作是Mysq l的补充。
接入层:客户端(包括消息发送者、消息订阅者)接入消息系统的入口。客户端通过MQTT协议与消息系统进行长连接,以便及时地接收到消息推送系统推送的消息。
如图3所示,一种基于云桌面平台的消息推送系统的实施流程,具体包括以下步骤:
步骤一:应用服务器将消息发布给消息推送系统服务器集群;
步骤二:消息推送系统服务器集群收到消息之后,首先调用消息解析模块,将消息转换成符合通信协议的格式;
步骤三:消息推送系统服务器集群将解析之后的消息持久化到数据库,以便支持离线用户和对历史发送消息的管理;
步骤四:将消息保存到数据库之后,根据数据库中记录的主题订阅情况,查询该消息主题下的订阅用户;
步骤五:如果订阅用户在线,则转到步骤六;如果订阅用户离线,则更新数据库中离线用户消息记录表,等用户登录后,服务端首先检测离线用户消息记录表中是否有消息,有则将消息推送给用户;
步骤六:将消息复制到每一个在线用户的待推送队列中,调用消息推送模块依次向目标终端推送消息;
步骤七:目标终端接收到消息之后,需要向应用服务器发送一个消息确认 ACK,当应用服务器接收到ACK之后,则认为消息推送成功,将消息从推送队列中删除;如果推送失败,或者因为网络故障等原因未接收到ACK确认,则按照一定的规则进行消息重发。
综上所述,本发明提出的一种基于云桌面平台的消息推送系统,能够为云桌面平台的管理者和使用者提供了很好的消息交互方式,且使用此消息推送系统能够整合企业现有业务系统中的消息通知功能,在用户使用云桌面系统的时候,及时有效地将消息主动推送给用户,提供更好的用户体验。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (3)
1.一种基于云桌面平台的消息推送系统,其特征在于,包括应用服务器、负载均衡服务器、消息推送系统服务器集群、客户端和数据库;所述消息推送系统服务器集群连接所述负载均衡服务器,所述负载均衡服务器又通过MQTT协议与所述客户端通信连接,用于将消息主动推送给所述客户端;所述消息推送系统服务器集群还和所述应用服务器连接,用于接收所述应用服务器发出的消息;所述消息推送服务器集群与所述数据库通信连接,用于调取所述数据库存储的数据。
2.如权利要求1所述的一种基于云桌面平台的消息推送系统,其特征在于,所述负载均衡服务器用于使所述客户端连接到所述消息推送服务器集群中的任一节点。
3.如权利要求1所述的一种基于云桌面平台的消息推送系统,其特征在于,具备低耦合的分层架构,具体包括:
应用层,即面向系统管理员的Web管理界面,包括主题管理单元、手动推送消息操作单元、消息管理单元、消息统计单元和终端反馈单元;
业务逻辑层,包括连接管理单元、主题管理单元、用户订阅管理单元、消息管理单元、存储单元;
接入层:及供所述客户端接入系统的入口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911084847.1A CN112787906A (zh) | 2019-11-08 | 2019-11-08 | 一种基于云桌面平台的消息推送系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911084847.1A CN112787906A (zh) | 2019-11-08 | 2019-11-08 | 一种基于云桌面平台的消息推送系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112787906A true CN112787906A (zh) | 2021-05-11 |
Family
ID=75748107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911084847.1A Pending CN112787906A (zh) | 2019-11-08 | 2019-11-08 | 一种基于云桌面平台的消息推送系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112787906A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468430A (zh) * | 2021-07-21 | 2021-10-01 | 深圳市亿诺德科技有限公司 | 基于工业应用的多系统统一消息传送与互动方法和装置 |
CN115514731A (zh) * | 2022-09-22 | 2022-12-23 | 中国农业银行股份有限公司 | 一种消息推送方法、装置、介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935674A (zh) * | 2015-07-08 | 2015-09-23 | 成都梦工厂网络信息有限公司 | 云端推送系统 |
CN106713124A (zh) * | 2017-01-24 | 2017-05-24 | 深圳市启仑智能科技有限公司 | 一种基于mqtt和mysql的消息推送方法和系统 |
CN206413026U (zh) * | 2017-01-24 | 2017-08-15 | 深圳市启仑智能科技有限公司 | 一种基于mqtt和mysql的消息推送系统 |
CN108509507A (zh) * | 2018-02-11 | 2018-09-07 | 北京原点时空信息技术有限公司 | 统一入口的账户管理系统及其实现方法 |
-
2019
- 2019-11-08 CN CN201911084847.1A patent/CN112787906A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935674A (zh) * | 2015-07-08 | 2015-09-23 | 成都梦工厂网络信息有限公司 | 云端推送系统 |
CN106713124A (zh) * | 2017-01-24 | 2017-05-24 | 深圳市启仑智能科技有限公司 | 一种基于mqtt和mysql的消息推送方法和系统 |
CN206413026U (zh) * | 2017-01-24 | 2017-08-15 | 深圳市启仑智能科技有限公司 | 一种基于mqtt和mysql的消息推送系统 |
CN108509507A (zh) * | 2018-02-11 | 2018-09-07 | 北京原点时空信息技术有限公司 | 统一入口的账户管理系统及其实现方法 |
Non-Patent Citations (1)
Title |
---|
童俊领: "云平台中消息系统的设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468430A (zh) * | 2021-07-21 | 2021-10-01 | 深圳市亿诺德科技有限公司 | 基于工业应用的多系统统一消息传送与互动方法和装置 |
CN115514731A (zh) * | 2022-09-22 | 2022-12-23 | 中国农业银行股份有限公司 | 一种消息推送方法、装置、介质及电子设备 |
CN115514731B (zh) * | 2022-09-22 | 2024-09-17 | 中国农业银行股份有限公司 | 一种消息推送方法、装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9615223B2 (en) | Electronic messaging technology | |
US7941495B2 (en) | Management capabilities for real-time messaging networks | |
US8051057B2 (en) | Processing of network content and services for mobile or fixed devices | |
US8060562B2 (en) | Real time update notification | |
EP3734913A1 (en) | Communication method and communication apparatus | |
US9634966B2 (en) | Integrated two-way communications between database client users and administrators | |
US20030061365A1 (en) | Service-to-service communication for network services | |
US7328247B2 (en) | Self-contained instant messaging appliance | |
CN103916296B (zh) | 一种融合局域网的通信系统 | |
CA2707536A1 (en) | Processing of network content and services for mobile or fixed devices | |
CN101426726B (zh) | 用于优化域间事件服务的系统和方法 | |
CN101297312A (zh) | 移动与计算设备之间的语音即时消息通信 | |
CN102484617A (zh) | 减少网络内呈现状态事件数目的方法和系统 | |
CN113254050A (zh) | 一种微前端系统 | |
CN101296194A (zh) | 即时消息互通方法、即时消息网关及即时消息服务器 | |
CN101292478A (zh) | 不同服务提供商之间的即时消息传递互操作性 | |
US20030172077A1 (en) | Device-independent notification system | |
CN112787906A (zh) | 一种基于云桌面平台的消息推送系统 | |
US20020138605A1 (en) | Message tracking system and method | |
CN108932182B (zh) | 一种消息总线性能测试方法及系统 | |
CN116405547A (zh) | 消息推送方法、装置及处理器、电子设备、存储介质 | |
CN105245621B (zh) | 基于mqtt的企业消息推送系统及消息推送方法 | |
CN114629866A (zh) | 一种多个系统之间随机在线客服建立实时通讯的方法 | |
KR100702704B1 (ko) | 메신저를 이용한 알림 시스템 및 방법 | |
US20180041460A1 (en) | Aggregation in a Communication System or Service |
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: 20210511 |