CN111818131A - 一种消息推送调度系统及方法 - Google Patents

一种消息推送调度系统及方法 Download PDF

Info

Publication number
CN111818131A
CN111818131A CN202010556713.1A CN202010556713A CN111818131A CN 111818131 A CN111818131 A CN 111818131A CN 202010556713 A CN202010556713 A CN 202010556713A CN 111818131 A CN111818131 A CN 111818131A
Authority
CN
China
Prior art keywords
message
service
server
scheduling
queue
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
Application number
CN202010556713.1A
Other languages
English (en)
Inventor
田磊
邹旭东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Yixiang Haoju Network Technology Co ltd
Original Assignee
Tianjin Yixiang Haoju Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Yixiang Haoju Network Technology Co ltd filed Critical Tianjin Yixiang Haoju Network Technology Co ltd
Priority to CN202010556713.1A priority Critical patent/CN111818131A/zh
Publication of CN111818131A publication Critical patent/CN111818131A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及互联网技术领域,公开了一种消息推送调度系统及方法,消息推送调度系统包括网关服务端、消息队列服务端、消息服务推送节点集群和第三方服务商调度服务端;本发明的技术效果在于,统一配置、动态配置、多点接入、发送轨迹可追溯,发送效率高。

Description

一种消息推送调度系统及方法
技术领域
本发明涉及互联网技术领域,具体而言,涉及一种消息推送调度系统及方法。
背景技术
消息推送指的是从服务器端向终端发送连接,传输一定的信息。推送功能在手机开发中应用的场景越来越多,比如手机上应用有短信、邮件、APP通知等消息推送需求,发送量大且内容变动频繁,消息推送系统是现在业务营销中不可缺少的一个中心服务,但目前存在的限制也还是比较多,消息推送需要依赖第三方服务商,运行的稳定性至关重要,消息内容审核也因不同服务商不尽相同。
现有的消息推送,如:"发短信"需要对接一家第三方服务商(如阿里云短信服务),研发人员对接、联调发送接口,为业务方配置短信模板,部署上线发送代码,每增加一种短信类型的发送,都要研发人员手动对接,占用大量研发人员时间,还可能因研发人员的低级错误导致消息发送失败等不可预料问题出现。
现有技术中存在的主要缺陷在于,目前服务器扩展性差、系统大量发送消息通知,导致系统延迟发送及不稳定。
发明内容
本发明的主要目的在于提供一种消息推送调度系统及方法,以解决目前服务器扩展性差、系统大量发送消息通知,导致系统延迟发送及不稳定的问题。
为了实现上述目的,本发明提供了如下技术:
一种消息推送调度系统及方法,消息推送调度系统包括网关服务端、消息队列服务端、消息服务推送节点集群和第三方服务商调度服务端;
网关服务端:用于接收用户端发送的消息请求,然后将接收的消息请求分发至消息队列服务端;
消息队列服务端:采用分布式消息服务,提供标准的HTTP RESTful接口;
消息服务推送节点集群:用于识别消息队列服务端的消息队列中的数据,对消息内容进行识别后,设定消息的发送顺序;
第三方服务商调度服务端:通过消息服务推送节点集群Worker程序中获取消息进行解析,根据消息类型获取接收者信息,并投递给其相应的第三方服务商接入点,检测历史消息送达率动态调整发送节点。
一种消息推送调度方法,包括步骤:
S1、首先用户端发送消息请求统一至网关服务端;
S2、网关服务通过分析请求标识,分发消息内容到消息队列服务端,同时会验证消息体签名确认消息请求合法性;
S3、通过消息服务推送节点集群中分布式部署的消息推送服务,消息队列服务端中的数据,对消息内容进行识别后,设定消息的发送顺序,调用第三方服务商调度服务依次发送消息;
S4、消息最终通过调度服务发送至第三方服务商从而到达用户侧,调度服务通过检测消息的到达结果来动态调整下一条消息的发送节点,达到保证消息发送负载均衡。
与现有技术相比较,本发明能够带来如下技术效果:
解决服务器扩展性差、系统大量发送法消息通知导致系统延迟发送及不稳定等问题,基于多个不同领域第三方服务商统一调度的分布式消息推送系统。
发送多种类型的消息无需研发人员重复操作完成对接、测试、联调工作,运行稳定性好,当大批量的用户同时使用时,不会产生大量的并发性原因,不会产生系统瘫痪,用户收到消息延迟时间过长的情况;实现了统一配置、动态配置、多点接入、发送轨迹可追溯、消息发送负载均衡,提高工作效率的效果。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,使得本发明的其它特征、目的和优点变得更明显。本发明的示意性实施例附图及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明一种消息推送调度系统的消息推送流程图;
图2是本发明一种消息推送调度方法的实施流程图;
图中:网关服务端101、消息队列服务端102、消息服务推送节点集群103、第三方服务商调度服务端104、系统监控模块105。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。
另外,术语“多个”的含义应为两个以及两个以上。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
实施例
消息标识:消息的配置标识,用于配置发送何种类型消息,关联模板等;消息模板:消息预置的文字内容,支持变量替换;消息通道:发送消息的第三方平台配置。
一种消息推送调度系统及方法,其特征在于,消息推送调度系统包括网关服务端101、消息队列服务端102、消息服务推送节点集群103和第三方服务商调度服务端104;
网关服务端101:用于接收用户端发送的消息请求,然后将接收的消息请求分发至消息队列服务端102;
消息队列服务端102:采用分布式消息服务,提供标准的HTTP RESTful接口;
消息服务推送节点集群103:用于识别消息队列服务端102的消息队列中的数据,对消息内容进行识别后,设定消息的发送顺序;
第三方服务商调度服务端104:通过消息服务推送节点集群103Worker程序中获取消息进行解析,根据消息类型获取接收者信息,并投递给其相应的第三方服务商接入点,检测历史消息送达率动态调整发送节点。
一种消息推送调度方法,包括步骤:
S1、首先用户端发送消息请求(携带请求标识、请求体)统一至网关服务端101;
S2、网关服务通过分析请求标识,分发消息内容到消息队列服务端102,同时会验证消息体签名确认消息请求合法性;
S3、通过消息服务推送节点集群103中分布式部署的消息推送服务,消息队列服务端102中的数据,对消息内容进行识别后,设定消息的发送顺序,调用第三方服务商调度服务依次发送消息,推送节点集群包括至少2个独立的服务节点;
S4、消息最终通过调度服务发送至第三方服务商从而到达用户侧,调度服务通过检测消息的到达结果来动态调整下一条消息的发送节点,达到保证消息发送负载均衡。
与现有技术相比较,本发明能够带来如下技术效果:
解决服务器扩展性差、系统大量发送法消息通知导致系统延迟发送及不稳定等问题,基于多个不同领域第三方服务商统一调度的分布式消息推送系统。
发送多种类型的消息无需研发人员重复操作完成对接、测试、联调工作,运行稳定性好,当大批量的用户同时使用时,不会产生大量的并发性原因,不会产生系统瘫痪,用户收到消息延迟时间过长的情况;实现了统一配置、动态配置、多点接入、发送轨迹可追溯、消息发送负载均衡,提高工作效率的效果。
进一步地,还包括系统监控模块105,用于收集获取系统中资源的监控指标或用户自定义的监控指标,探测服务可用性,以及针对指标设置警报。系统监控模块105:基于ELK技术的一套完整的日志解决方案,全面了解业务的运行状况和健康度,并及时收到异常报警做出反应,实现对系统故障的及时诊断和恢复,以确保服务的7*24小时正常运行,使运维监控变得更高效有序。
进一步地,网关服务端101收集所有的访问日志,进入系统监控模块105做进一步分析。服务除了内部相互之间调用和通信之外,最终要以某种方式暴露出去,才能让外界系统(例如客户的浏览器、移动设备等)访问到,这就涉及服务的前端路由,网关是连接内部和外部系统的一道门,但是外部系统从网关上看到的就像是一个统一的完整服务,网关屏蔽了后台服务的复杂性,同时也屏蔽了后台服务的升级和变化。另外网关服务收集所有的访问日志,进入系统监控模块105做进一步分析。
进一步地,网关服务端101基于PHP语言Swoole协程框架搭建http接口服务,其部署方式为web服务部署设置云主机上。便于快速水平扩展和垂直扩展,具有高性能高并发特性,限流和容错,在流量高峰期,网关可以限制流量,保护内部系统不被大流量冲垮,在内部系统出现故障时,网关可以集中做容错,保持外部良好的用户体验。
进一步地,消息队列服务端102,消息队列基于RocketMQ构建的低延迟、高并发、高可用、高可靠的分布式消息服务,RabbitMQ提供了集群服务,提供标准的HTTP RESTful接口,简单易用,对平台无依赖。队列提供的是一对多的共享消息消费模型,消息服务推送节点中的Worker节点采用客户端主动拉取(Pull)模式消费队列消息,满足海量消息推送需求。推送平台对消息可靠性极高,为此消息生产和消费采取了confirm+ack模式,队列部署采取持久化+HA模式。
进一步地,消息服务推送节点集群103,推送Worker节点基于PHP语言Swoole协程框架实现,对节点程序使用PM2方案,节点集群的搭建主要包括若干Worker服务和数据库服务器,处理各种业务逻辑与推送消息,数据库服务器基于Mysql构建,在本系统中主要负责识别消息内容,处理消息发送模板、消息发送顺序,使各个服务商调度服务间能够安全地共享数据。数据库服务器基于Mysql构建。
进一步地,第三方服务商调度服务端104,消息最终通过调度服务发送至第三方服务商从而到达用户侧,调度服务通过检测消息的到达结果来动态调整下一条消息的发送节点,达到保证消息发送负载均衡;负载均衡策略包括轮训、加权轮训、随机、加权随机、最小响应时间、加权最小响应时间和一致性哈希。通过消息推送节点Worker程序中获取消息进行解析,根据消息类型获取接收者信息,并投递给其相应的第三方服务商接入点,检测历史消息送达率动态调整发送节点,达到保证消息发送负载均衡与到达率高可用的效果。
进一步地,所述消息服务推送节点集群103包括至少2个独立的服务节点。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种消息推送调度系统及方法,其特征在于,消息推送调度系统包括网关服务端、消息队列服务端、消息服务推送节点集群和第三方服务商调度服务端;
网关服务端:用于接收用户端发送的消息请求,然后将接收的消息请求分发至消息队列服务端;
消息队列服务端:采用分布式消息服务,提供标准的HTTP RESTful接口;
消息服务推送节点集群:用于识别消息队列服务端的消息队列中的数据,对消息内容进行识别后,设定消息的发送顺序;
第三方服务商调度服务端:通过消息服务推送节点集群Worker程序中获取消息进行解析,根据消息类型获取接收者信息,并投递给其相应的第三方服务商接入点,检测历史消息送达率动态调整发送节点。
2.如权利要求1所述的一种消息推送调度系统,其特征在于,还包括系统监控模块,用于收集获取系统中资源的监控指标或用户自定义的监控指标,探测服务可用性,以及针对指标设置警报。
3.如权利要求1或2所述的一种消息推送调度系统,其特征在于,网关服务端收集所有的访问日志,进入系统监控模块做进一步分析。
4.如权利要求3所述的一种消息推送调度系统,其特征在于,网关服务端基于PHP语言Swoole协程框架搭建http接口服务,其部署方式为web服务部署设置云主机上。
5.如权利要求1或4所述的一种消息推送调度系统,其特征在于,消息队列服务端,消息队列基于RocketMQ构建的分布式消息服务,RabbitMQ提供了集群服务,队列提供的是一对多的共享消息消费模型,消息服务推送节点中的Worker节点采用客户端主动拉取(Pull)模式消费队列消息,消息生产和消费采取了confirm+ack模式,队列部署采取持久化+HA模式。
6.如权利要求5所述的一种消息推送调度系统,其特征在于,消息服务推送节点集群,推送Worker节点基于PHP语言Swoole协程框架实现,对节点程序使用PM2方案,节点集群的搭建主要包括若干Worker服务和数据库服务器,处理各种业务逻辑与推送消息,数据库服务器基于Mysql构建,在本系统中主要负责识别消息内容,处理消息发送模板、消息发送顺序,使各个服务商调度服务间能够安全地共享数据。
7.如权利要求1或6所述的一种消息推送调度系统,其特征在于,第三方服务商调度服务端,消息最终通过调度服务发送至第三方服务商从而到达用户侧,调度服务通过检测消息的到达结果来动态调整下一条消息的发送节点,达到保证消息发送负载均衡;负载均衡策略包括轮训、加权轮训、随机、加权随机、最小响应时间、加权最小响应时间和一致性哈希。
8.如权利要求1所述的一种消息推送调度系统,其特征在于,所述消息服务推送节点集群包括至少2个独立的服务节点。
9.如权利要求1所述的一种消息推送调度方法,其特征在于,包括步骤:
S1、首先用户端发送消息请求统一至网关服务端;
S2、网关服务通过分析请求标识,分发消息内容到消息队列服务端,同时会验证消息体签名确认消息请求合法性;
S3、通过消息服务推送节点集群中分布式部署的消息推送服务,消息队列服务端中的数据,对消息内容进行识别后,设定消息的发送顺序,调用第三方服务商调度服务依次发送消息;
S4、消息最终通过调度服务发送至第三方服务商从而到达用户侧,调度服务通过检测消息的到达结果来动态调整下一条消息的发送节点,达到保证消息发送负载均衡。
CN202010556713.1A 2020-06-17 2020-06-17 一种消息推送调度系统及方法 Pending CN111818131A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010556713.1A CN111818131A (zh) 2020-06-17 2020-06-17 一种消息推送调度系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010556713.1A CN111818131A (zh) 2020-06-17 2020-06-17 一种消息推送调度系统及方法

Publications (1)

Publication Number Publication Date
CN111818131A true CN111818131A (zh) 2020-10-23

Family

ID=72845088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010556713.1A Pending CN111818131A (zh) 2020-06-17 2020-06-17 一种消息推送调度系统及方法

Country Status (1)

Country Link
CN (1) CN111818131A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112689018A (zh) * 2020-12-29 2021-04-20 中通服公众信息产业股份有限公司 一种消息快速推送方法
CN113098758A (zh) * 2021-03-29 2021-07-09 河北白沙烟草有限责任公司 一种基于企业微信的企业消息推送安全网关系统
CN113259476A (zh) * 2021-06-10 2021-08-13 深圳市腾讯信息技术有限公司 消息推送方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523177A (zh) * 2011-12-19 2012-06-27 北京新媒传信科技有限公司 一种消息推送服务的实现方法与系统
US8572263B1 (en) * 2011-06-14 2013-10-29 Urban Airship, Inc. Push gateway systems and methods
WO2014180407A1 (zh) * 2013-12-06 2014-11-13 中兴通讯股份有限公司 推送方法及装置
CN105681426A (zh) * 2016-01-22 2016-06-15 上海携程商务有限公司 异构系统
CN109257434A (zh) * 2018-10-19 2019-01-22 成都品果科技有限公司 一种实时消息推送方法及系统
CN110300050A (zh) * 2019-05-23 2019-10-01 中国平安人寿保险股份有限公司 消息推送方法、装置、计算机设备及存储介质
CN110365772A (zh) * 2019-07-16 2019-10-22 中国农业银行股份有限公司 消息推送方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572263B1 (en) * 2011-06-14 2013-10-29 Urban Airship, Inc. Push gateway systems and methods
CN102523177A (zh) * 2011-12-19 2012-06-27 北京新媒传信科技有限公司 一种消息推送服务的实现方法与系统
WO2014180407A1 (zh) * 2013-12-06 2014-11-13 中兴通讯股份有限公司 推送方法及装置
CN105681426A (zh) * 2016-01-22 2016-06-15 上海携程商务有限公司 异构系统
CN109257434A (zh) * 2018-10-19 2019-01-22 成都品果科技有限公司 一种实时消息推送方法及系统
CN110300050A (zh) * 2019-05-23 2019-10-01 中国平安人寿保险股份有限公司 消息推送方法、装置、计算机设备及存储介质
CN110365772A (zh) * 2019-07-16 2019-10-22 中国农业银行股份有限公司 消息推送方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112689018A (zh) * 2020-12-29 2021-04-20 中通服公众信息产业股份有限公司 一种消息快速推送方法
CN112689018B (zh) * 2020-12-29 2023-03-10 中通服公众信息产业股份有限公司 一种消息快速推送方法
CN113098758A (zh) * 2021-03-29 2021-07-09 河北白沙烟草有限责任公司 一种基于企业微信的企业消息推送安全网关系统
CN113259476A (zh) * 2021-06-10 2021-08-13 深圳市腾讯信息技术有限公司 消息推送方法及系统
CN113259476B (zh) * 2021-06-10 2022-09-30 深圳市腾讯信息技术有限公司 消息推送方法及系统

Similar Documents

Publication Publication Date Title
CN111818131A (zh) 一种消息推送调度系统及方法
CN108062243B (zh) 执行计划的生成方法、任务执行方法及装置
CN110851278A (zh) 一种基于微服务架构的配网自动化主站移动应用服务管理方法和系统
CN106657099B (zh) 一种Spark数据分析服务发布系统
CN110493065A (zh) 一种云中心运维的告警关联度分析方法及系统
CN105260842B (zh) 异构erp系统之间的通信方法和系统
CN103259684A (zh) 互联网业务监控方法和系统
CN104933465A (zh) 酒店管理平台的数据对接方法和系统
CN109446204B (zh) 一种即时通信的数据存储方法、装置、电子设备和介质
CN108924228B (zh) 基于边缘计算的工业互联网优化系统
CN106790454A (zh) 离线消息推送方法与装置
CN103067486A (zh) 基于PaaS平台的大数据处理方法
CN107070744A (zh) 服务器监控方法
CN104506893A (zh) 一种信息更新方法、云端服务器及crm服务器
CN113806177A (zh) 集群监控的方法、装置、电子设备及存储介质
CN201985898U (zh) 通讯服务负载平衡系统
CN113342503B (zh) 实时进度反馈方法、装置、设备及存储介质
CN108737543B (zh) 一种分布式物联网中间件及工作方法
CN108259605B (zh) 一种基于多数据中心的数据调用系统及方法
CN111711675B (zh) 一种针对局域网内并发消息传递的解决方法
CN104052723B (zh) 信息处理方法、服务器和系统
CN105721553A (zh) 一种自适应集群消息分发器
CN102882910A (zh) 应用于影像监控平台的分布式运算系统
CN107145427A (zh) 一种自动分类监控应用服务日志的方法及系统
CN109361560A (zh) 一种集群节点通讯处理方法、系统、存储介质及服务器

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

Application publication date: 20201023