CN111416763A - 消息推送方法 - Google Patents
消息推送方法 Download PDFInfo
- Publication number
- CN111416763A CN111416763A CN202010105759.1A CN202010105759A CN111416763A CN 111416763 A CN111416763 A CN 111416763A CN 202010105759 A CN202010105759 A CN 202010105759A CN 111416763 A CN111416763 A CN 111416763A
- Authority
- CN
- China
- Prior art keywords
- push
- data
- data structure
- message
- sending
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请涉及消息推送方法。具体来说,本申请公开了一种消息推送方法,其包括:处理推送数据结构并发送推送请求至推送服务器;基于所述推送数据结构通过所述推送服务器的数据校验,将所述推送数据结构发送至分发控制服务器;基于一个或多个推送类型,所述分发控制服务器将所述推送数据写入对应于所述一个或多个推送类型的一个或多个推送队列;从所述一个或多个推送队列中取出所述推送数据并将其发送至分发线程池;以及基于操作系统的类型,调用相应的推送接口来推送所述推送数据。
Description
技术领域
本申请涉及计算机网络技术,具体来说,涉及一种消息推送方法。
背景技术
随着手机通讯技术的发展,手机软件推送信息呈几何级数增长。各种资源信息在给人们的生活带来便利的同时,也对获取信息的速度和及时性提出了更高的要求。推送技术是一种主动的信息推送方式,通过对用户画像的分析,为用户定制推送服务。目前手机平台主要有两个:苹果操作系统(iPhone Operating System,IOS)和安卓(Android)平台。
IOS平台主要依靠苹果公司提供的苹果推送通知服务,设备接收到数据信息给对应的应用(Application,APP),并按照设定弹出推送信息。安卓平台主要通过消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)来实现手机推送服务,可以基于用户设备、标签等维度来推送服务,该方案需要部署多台开源消息代理软件,例如:Mosquitto软件,手机端保持长时间连接,接收手机推送消息。
然而,这些推送通知的速度和准确性并不高,延迟高而且不稳定。例如:IOS平台建立连接会有超时的情况,大量推送消息并不能及时的到达用户设备,推送的维度也比较单一;Android平台各厂家的推送服务多样化,没有标准的推送协议,无法满足统一的推送服务,服务器部署的成本较高,不够成熟,实现起来复杂,服务端不开源。
因此,需要一种消息推送方法来解决这些问题。
发明内容
本申请的一个实施例公开了一种消息推送方法,其包括:处理推送数据结构并发送推送请求至推送服务器;基于所述推送数据结构通过所述推送服务器的数据校验,将所述推送数据结构发送至分发控制服务器;基于一个或多个推送类型,所述分发控制服务器将所述推送数据写入对应于所述一个或多个推送类型的一个或多个推送队列;从所述一个或多个推送队列中取出所述推送数据并将其发送至分发线程池;以及基于操作系统的类型,调用相应的推送接口来推送所述推送数据。
附图说明
图1展示了根据本申请的消息推送方法。
具体实施方式
为了解决上述技术问题,本申请提出了一种消息推送方法。本申请的方法基于大数据的个性推送服务,提供基于各业务维度的推送,在实现高效、准确、实时的移动推送的同时,降低了开发成本。推送服务支持全量推送,设备推送,标签推送,精准灵活的到达用户手机端。目前推送系统基于业务全流量推送,可发送消息量达到百万级别,保证了消息高可用,消息能够实时展示,包括按照时间统计报表、业务线统计查询等。
图1展示了根据本申请的消息推送方法。
在步骤101中,构建推送数据结构。推送数据结构包含推送用户和文章的对照关系,第三方调用服务通过约定好的用户设备和文章的筛选关系,写入远程字典服务(RemoteDictionary Server,Redis)中。通过大数据技术来筛选用户画像,来绑定用户和分发消息的对应关系。由于用户量比较大,在步骤102中,本申请通过哈希(hash)分片技术,来产生15个Redis的缓存列表数据,保证用户数据可横向扩展,数据切片提高数据的存储容量。
接着,在数据处理完之后,在步骤103中,将推送请求发送至推送服务器。推送服务器接收到推送请求后,对数据进行合法化参数的校验。例如,对IP地址以及推送基础信息等等参数的校验。在推送请求校验成功后,构建消息推送对象,线程异步处理分发,采用多线程分片、延迟推送方案,降低瞬间系统压力的效果。在电商大促期间等APP全量推送的时间节点,会出现“由推送导致的首页feed流负载过高”的问题,用户访问量级过大,通过多线程模式下,累计达到一定数据量级的多台设备,分片延迟推送方案,达到更长时间段推送现有的消息,降低瞬间系统压力的效果。
在步骤104中,利用多线程模式推送消息至分发控制服务器。在步骤105中分发控制服务器通过业务筛选特定的推送类型,例如:标签推送、设备推送和全量推送类型等等,将推送消息异步写入到不同类型的队列中,准备分发。
在步骤106中,将经过筛选的封装好的推送数据进入分发线程池中,按照不同的操作系统类型,例如安卓系统、小米优化的安卓系统、华为优化的安卓系统、苹果操作系统等等,调用推送接口开始推送。
在步骤107中,判断推送数据量是否达到瓶颈,例如:达到一个预设的阈值,如果已经大于该阈值,在步骤108中,对推送数据实施多线程分片延迟推送方案,例如,将数据的推送延迟5s,或是10s,等等,然后在步骤109中,推送不同平台的设备消息。
如果步骤107中判断推送数据量没有大于阈值,则不需要将数据的推送延迟,直接推送不同平台的设备消息。
本申请的方法中,定时任务异步处理推送消息,写入到Redis中,通过调用推送任务接口,采集推送数据,可以展示实时、每天、每月以及每年的数据统计报表,包含发送率、到达率以及打开率等,可以根据统计数据,进行及时的反馈。
本申请利用高可用架构,提供了手机推送通道,消息发送量可达每日百万量级,提高了用户的活跃度,支持全量推送、设备推送和组播推送。
在多线程模式下,在数据量达到预设的阈值的情况下,通过分片延迟推送消息,瞬间降低系统压力,保证系统的安全稳定运行。
本申请通过利用关系型数据库管理系统(mysql)、Redis和java程序语言相结合,提高了推送分发的速度,准确、及时有效的到达用户手机端,集成了多平台的推送接口,可扩展性高,满足了多业务线的推送需求。
本申请后台使用bootstrap框架和Jquery框架搭建,提高了程序浏览器的兼容性,并提高了程序功能开发和升级的效率,减少了开发成本。
虽然本文中描述的实施例可具有各种修改及替代形式,但是特定实施例已在图式中通过实例展示且已在本文中予以详细描述。本发明并不限于所揭示的特定形式。本发明涵盖落于如由权利要求书定义的本发明的精神及范围内的所有修改、等效物及替代。
Claims (7)
1.一种消息推送方法,其包括:
处理推送数据结构并发送推送请求至推送服务器;
基于所述推送数据结构通过所述推送服务器的数据校验,将所述推送数据结构发送至分发控制服务器;
基于一个或多个推送类型,所述分发控制服务器将所述推送数据写入对应于所述一个或多个推送类型的一个或多个推送队列;
从所述一个或多个推送队列中取出所述推送数据并将其发送至分发线程池;以及
基于操作系统的类型,调用相应的推送接口来推送所述推送数据。
2.根据权利要求1所述的方法,其进一步包括:
当推送数据量到达阈值时,采用多线程分片延迟推送方案。
3.根据权利要求1所述的方法,其中所述推送数据结构包括推送用户和文章的关系。
4.根据权利要求1所述的方法,其中所述一个或多个推送类型包括标签推送、设备推送以及全量推送。
5.根据权利要求1所述的方法,其中处理推送数据结构包括通过大数据技术筛选用户画像以及绑定用户和分发消息的对应关系。
6.根据权利要求5所述的方法,其进一步包括采用哈希分片技术产生15个远程字典服务(Redis)的缓存列表数据。
7.根据权利要求1所述的方法,其进一步包括:
定时任务异步处理消息,采集推送数据,并展示实时的推送数据统计报表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010105759.1A CN111416763A (zh) | 2020-02-21 | 2020-02-21 | 消息推送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010105759.1A CN111416763A (zh) | 2020-02-21 | 2020-02-21 | 消息推送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111416763A true CN111416763A (zh) | 2020-07-14 |
Family
ID=71494132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010105759.1A Pending CN111416763A (zh) | 2020-02-21 | 2020-02-21 | 消息推送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111416763A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113395321A (zh) * | 2021-05-08 | 2021-09-14 | 中山亿联智能科技有限公司 | 一种支持多系统格式推送调用项目系统 |
CN113824973A (zh) * | 2021-08-04 | 2021-12-21 | 杭州星犀科技有限公司 | 多平台直推推流的方法、系统、电子装置和存储介质 |
WO2022088804A1 (zh) * | 2020-10-30 | 2022-05-05 | 深圳壹账通智能科技有限公司 | 消息推送方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105825409A (zh) * | 2015-01-07 | 2016-08-03 | 航天信息股份有限公司 | 一种电子发票消息推送系统及方法 |
CN106126351A (zh) * | 2016-06-17 | 2016-11-16 | 浪潮软件股份有限公司 | 一种基于消息队列的数据资源共享管理系统 |
CN106547798A (zh) * | 2015-09-23 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 信息推送方法及装置 |
CN108540565A (zh) * | 2018-04-17 | 2018-09-14 | 中山市华南理工大学现代产业技术研究院 | 一种基于mqtt协议的移动端推送和统计的方法 |
CN108874908A (zh) * | 2018-05-28 | 2018-11-23 | 苏州玩友时代科技股份有限公司 | 一种实时游戏业务告警方法 |
CN110149392A (zh) * | 2019-05-17 | 2019-08-20 | 优信拍(北京)信息科技有限公司 | 一种推送消息的管理方法及装置 |
CN110233883A (zh) * | 2019-05-24 | 2019-09-13 | 中国平安人寿保险股份有限公司 | 推送消息的处理方法、装置、服务器和存储介质 |
-
2020
- 2020-02-21 CN CN202010105759.1A patent/CN111416763A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105825409A (zh) * | 2015-01-07 | 2016-08-03 | 航天信息股份有限公司 | 一种电子发票消息推送系统及方法 |
CN106547798A (zh) * | 2015-09-23 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 信息推送方法及装置 |
CN106126351A (zh) * | 2016-06-17 | 2016-11-16 | 浪潮软件股份有限公司 | 一种基于消息队列的数据资源共享管理系统 |
CN108540565A (zh) * | 2018-04-17 | 2018-09-14 | 中山市华南理工大学现代产业技术研究院 | 一种基于mqtt协议的移动端推送和统计的方法 |
CN108874908A (zh) * | 2018-05-28 | 2018-11-23 | 苏州玩友时代科技股份有限公司 | 一种实时游戏业务告警方法 |
CN110149392A (zh) * | 2019-05-17 | 2019-08-20 | 优信拍(北京)信息科技有限公司 | 一种推送消息的管理方法及装置 |
CN110233883A (zh) * | 2019-05-24 | 2019-09-13 | 中国平安人寿保险股份有限公司 | 推送消息的处理方法、装置、服务器和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022088804A1 (zh) * | 2020-10-30 | 2022-05-05 | 深圳壹账通智能科技有限公司 | 消息推送方法、装置、电子设备及存储介质 |
CN113395321A (zh) * | 2021-05-08 | 2021-09-14 | 中山亿联智能科技有限公司 | 一种支持多系统格式推送调用项目系统 |
CN113824973A (zh) * | 2021-08-04 | 2021-12-21 | 杭州星犀科技有限公司 | 多平台直推推流的方法、系统、电子装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111416763A (zh) | 消息推送方法 | |
CN110909063B (zh) | 一种用户行为的分析方法、装置、应用服务器及存储介质 | |
CN101291195B (zh) | 实现断点续传的文件下载的方法、系统及终端 | |
CN109039817B (zh) | 一种用于流量监控的信息处理方法、装置、设备及介质 | |
CN111045806A (zh) | 延迟消息队列实现方法以及系统 | |
CN112559476B (zh) | 一种用于提高目标系统性能的日志存储方法及其相关设备 | |
US10445828B2 (en) | Method and system for generating stock price alerts based on real-time market data | |
US20200242645A1 (en) | System and method for minimizing latency in data consumption system | |
CN111651595A (zh) | 一种异常日志处理方法及装置 | |
CN114500638B (zh) | 一种基于自动化跨平台的医疗数据流推送系统及方法 | |
CN112631806A (zh) | 异步消息排列及调度方法、装置、电子设备及存储介质 | |
CN115955557A (zh) | 卡顿分析方法及其装置 | |
CN114661433A (zh) | 事件任务的调度方法及装置、存储介质、电子设备 | |
CN112181678A (zh) | 业务数据的处理方法、装置和系统、存储介质、电子装置 | |
CN116627333A (zh) | 日志缓存方法、装置、电子设备及计算机可读存储介质 | |
CN111782431A (zh) | 一种异常的处理方法、装置、终端及存储介质 | |
CN113127225A (zh) | 一种数据处理任务的调度方法、装置和系统 | |
CN108694609B (zh) | 一种广告网盟平台 | |
CN110188258B (zh) | 使用爬虫获取外部数据的方法及装置 | |
CN109600250B (zh) | 业务系统故障通知方法、装置、电子装置及存储介质 | |
WO2022206054A1 (zh) | 一种物料增量处理方法、装置、电子设备和计算机存储介质 | |
CN113055493B (zh) | 数据包处理方法、装置、系统、调度设备和存储介质 | |
CN112818166B (zh) | 一种视频信息查询方法、装置、电子设备和存储介质 | |
TW201541387A (zh) | 大量資料之動態分級傳輸方法 | |
CN114553959A (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: 20200714 |
|
RJ01 | Rejection of invention patent application after publication |