CN107086954A - 消息推送方法及装置 - Google Patents
消息推送方法及装置 Download PDFInfo
- Publication number
- CN107086954A CN107086954A CN201710370569.0A CN201710370569A CN107086954A CN 107086954 A CN107086954 A CN 107086954A CN 201710370569 A CN201710370569 A CN 201710370569A CN 107086954 A CN107086954 A CN 107086954A
- Authority
- CN
- China
- Prior art keywords
- message
- push
- client
- pushed
- destination client
- 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
-
- 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/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- 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/06—Message adaptation to terminal or network requirements
-
- 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/52—Network services specially adapted for the location of the user terminal
-
- 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)
Abstract
本发明提供了一种消息推送方法及装置。所述方法包括:配置消息推送参数,根据所述消息推送参数创建对应的消息推送任务,所述消息推送参数包括客户端筛选条件、消息内容中的至少一项;从包括海量客户端信息的预设数据库中筛选出符合所述筛选条件的客户端,作为所述消息推送任务对应的目标客户端;确定用于向所述目标客户端推送消息的推送端的系统版本;根据预设的系统版本和消息推送方式之间的对应关系,确定出所述系统版本对应的消息推送方式,并将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端。该技术方案使得不同的系统版本能够使用统一的推送后台和推送机制向客户端推送消息,实现了不同系统版本在推送消息上的整合。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种消息推送方法及装置。
背景技术
现有技术中,安卓系统和IOS系统各自使用不同的推送后台和推送机制 向用户推送一些消息,例如新闻类、广告类等。无论是安卓系统还是IOS系 统,在推送消息方面都存在一些不足。首先,底层推送集群尚不够稳定,需 要在调用相关接口时增加流程控制和错误处理;其次,不同系统目前采用分 片策略,部署较为分散,推送过程中需测试人员多次执行手动操作,缺乏自 动化;再次,目前的推送机制通信效率低下,且缺乏任务监控机制,因此容 易导致消息重复发送、消息发送成功率低、任务状态混乱等情况。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分 地解决上述问题的消息推送方法及装置。
依据本发明的一个方面,提供了一种消息推送方法,包括:
配置消息推送参数,根据所述消息推送参数创建对应的消息推送任务, 所述消息推送参数包括客户端筛选条件、消息内容中的至少一项;
从包括海量客户端信息的预设数据库中筛选出符合所述筛选条件的客户 端,作为所述消息推送任务对应的目标客户端;
确定用于向所述目标客户端推送消息的推送端的系统版本;
根据预设的系统版本和消息推送方式之间的对应关系,确定出所述系统 版本对应的消息推送方式,并将所述消息内容按照所述确定的消息推送方式 推送至所述目标客户端。
可选地,所述筛选条件包括所述客户端的活跃度、位置信息、数量期望 值、所述系统版本中的至少一项。
可选地,所述系统版本为安卓系统;将所述消息内容按照所述确定的消 息推送方式推送至所述目标客户端,包括:
将所述消息内容直接推送至所述目标客户端。
可选地,所述系统版本为IOS系统;将所述消息内容按照所述确定的消 息推送方式推送至所述目标客户端,包括:
获取用于标识所述推送端对应的系统版本为所述IOS系统的设备令牌;
将所述消息内容以及所述设备令牌发送至所述IOS系统的指定中间设 备,由所述指定中间设备对所述设备令牌进行验证,并在验证通过时将所述 消息内容转发至所述目标客户端。
可选地,所述指定中间设备为苹果推送通知服务APNS。
可选地,所述推送端与所述目标客户端之间采用长连接方式建立连接;
当所述目标客户端包括多个时,将所述消息内容按照所述确定的消息推 送方式推送至所述目标客户端,包括:
获取针对所述消息推送任务的预设推送规则,所述预设推送规则包括推 送顺序、每次推送所述消息内容的数量中的至少一项;
基于所述推送端与所述目标客户端之间的长连接,将所述消息内容按照 所述预设推送规则依次推送至各目标客户端。
可选地,所述方法还包括:
在将所述消息内容按照预设规则依次推送至各目标客户端的过程中,检 测将所述消息内容推送至当前目标客户端的推送状态;
当所述推送状态为推送成功时,继续将所述消息内容推送至下一个目标 客户端;
当所述推送状态为推送失败时,将所述消息内容重新推送至所述当前目 标客户端。
可选地,所述消息推送参数还包括推送位置;将所述消息内容按照所述 确定的消息推送方式推送至所述目标客户端,包括:
将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端的 推送位置。
依据本发明的另一个方面,提供了一种消息推送装置,包括:
创建模块,适于配置消息推送参数,根据所述消息推送参数创建对应的 消息推送任务,所述消息推送参数包括客户端筛选条件、消息内容中的至少 一项;
筛选模块,适于从包括海量客户端信息的预设数据库中筛选出符合所述 筛选条件的客户端,作为所述消息推送任务对应的目标客户端;
确定模块,适于确定用于向所述目标客户端推送消息的推送端的系统版 本;
第一推送模块,适于根据预设的系统版本和消息推送方式之间的对应关 系,确定出所述系统版本对应的消息推送方式,并将所述消息内容按照所述 确定的消息推送方式推送至所述目标客户端。
可选地,所述筛选条件包括所述客户端的活跃度、位置信息、数量期望 值、所述系统版本中的至少一项。
可选地,所述系统版本为安卓系统;所述第一推送模块还适于:
将所述消息内容直接推送至所述目标客户端。
可选地,所述系统版本为IOS系统;所述第一推送模块还适于:
获取用于标识所述推送端对应的系统版本为所述IOS系统的设备令牌;
将所述消息内容以及所述设备令牌发送至所述IOS系统的指定中间设 备,由所述指定中间设备对所述设备令牌进行验证,并在验证通过时将所述 消息内容转发至所述目标客户端。
可选地,所述指定中间设备为苹果推送通知服务APNS。
可选地,所述推送端与所述目标客户端之间采用长连接方式建立连接; 所述第一推送模块还适于:
当所述目标客户端包括多个时,获取针对所述消息推送任务的预设推送 规则,所述预设推送规则包括推送顺序、每次推送所述消息内容的数量中的 至少一项;
基于所述推送端与所述目标客户端之间的长连接,将所述消息内容按照 所述预设推送规则依次推送至各目标客户端。
可选地,所述装置还包括:
检测模块,适于在将所述消息内容按照预设规则依次推送至各目标客户 端的过程中,检测将所述消息内容推送至当前目标客户端的推送状态;
第二推送模块,适于当所述推送状态为推送成功时,继续将所述消息内 容推送至下一个目标客户端;
第三推送模块,适于当所述推送状态为推送失败时,将所述消息内容重 新推送至所述当前目标客户端。
可选地,所述消息推送参数还包括推送位置;所述第一推送模块还适 于:
将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端的 推送位置。
采用本发明实施例提供的技术方案,通过配置消息推送参数,根据消息 推送参数创建对应的消息推送任务,进而从包括海量客户端信息的预设数据 库中筛选出符合筛选条件的客户端作为消息推送任务对应的目标客户端,并 确定推送端对应的系统版本,最后根据所确定的系统版本对应的消息推送方 式将消息内容推送至目标客户端。由此可知,该技术方案能够根据推送端对 应的系统版本有针对性地将消息内容推送至目标客户端,即无论推送端的系 统版本是何种类型(例如安卓系统、IOS系统等),均可利用本方案来达到消 息推送的目的,因此使得不同的系统版本能够使用统一的推送后台和推送机 制向客户端推送消息,实现了不同系统版本在推送消息上的整合。此外,该 技术方案在向目标客户端推送消息的过程中无需人工手动操作,只需预先配 置好消息推送参数即可,因此实现了消息推送的自动化。
进一步地,该技术方案中,推送端和目标客户端之间采用长连接方式建 立连接,使得推送端向目标客户端推送消息时,能够基于二者之间的长连接 不间断地向多个目标客户端发送消息,实现了消息推送的高并发性。
进一步地,该技术方案能够在将消息内容依次推送至各目标客户端的过 程中,检测将消息内容推送至当前目标客户端的推送状态,当该推送状态为 推送成功时,继续将消息内容推送至下一个目标客户端,当该推送状态为推 送失败时,将消息内容重新推送至当前目标客户端。可见,该技术方案实现 了对消息推送过程的监控,从而能够监控到推送过程中的任务状态,进而根 据任务状态作出相应的调整对策,避免消息重复发送或发送失败后停止发送 的情况,极大地提高了消息推送的成功率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技 术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它 目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将 会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本 领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的, 而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示 相同的部件。在附图中:
图1是根据本发明一个实施例的一种消息推送方法的示意性流程图;
图2是根据本发明一个实施例的一种消息推送装置的示意性框图;
图3是根据本发明一个实施例的另一种消息推送装置的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示 了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不 应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地 理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是根据本发明一个实施例的一种消息推送方法的示意性流程图。如 图1所示,该方法一般性地可包括以下步骤S101-S104:
步骤S101,配置消息推送参数,根据消息推送参数创建对应的消息推送 任务,消息推送参数包括客户端筛选条件、消息内容中的至少一项。
步骤S102,从包括海量客户端信息的预设数据库中筛选出符合筛选条件 的客户端,作为消息推送任务对应的目标客户端。
步骤S103,确定用于向目标客户端推送消息的推送端的系统版本。
步骤S104,根据预设的系统版本和消息推送方式之间的对应关系,确定 出系统版本对应的消息推送方式,并将消息内容按照确定的消息推送方式推 送至目标客户端。
在一个实施例中,上述技术方案采用HTTP2协议,以确保该技术方案能 够适用于多种不同的系统版本。
采用本发明实施例提供的技术方案,通过配置消息推送参数,根据消息 推送参数创建对应的消息推送任务,进而从包括海量客户端信息的预设数据 库中筛选出符合筛选条件的客户端作为消息推送任务对应的目标客户端,并 确定推送端对应的系统版本,最后根据所确定的系统版本对应的消息推送方 式将消息内容推送至目标客户端。由此可知,该技术方案能够根据推送端对 应的系统版本有针对性地将消息内容推送至目标客户端,即无论推送端的系 统版本是何种类型(例如安卓系统、IOS系统等),均可利用本方案来达到消 息推送的目的,因此使得不同的系统版本能够使用统一的推送后台和推送机 制向客户端推送消息,实现了不同系统版本在推送消息上的整合。此外,该 技术方案在向目标客户端推送消息的过程中无需人工手动操作,只需预先配 置好消息推送参数即可,因此实现了消息推送的自动化。
以下详细说明步骤S101-S104的实施方式。
首先执行步骤S101,即配置消息推送参数,根据该消息推送参数创建对 应的消息推送任务,其中,消息推送参数包括客户端筛选条件、消息内容中 的至少一项。客户端筛选条件用于使推送端从包括海量客户端信息的预设数 据库中筛选消息推送任务对应的目标客户端,该目标客户端符合所述筛选条 件。此外,消息推送参数还可包括消息推送任务的数目、描述信息、标题信 息、发生跳转的链接、创建者信息(如创建者所使用的设备信息、创建者账 号等)中的至少一项。配置好消息推送参数之后,可将消息推送参数存储至 指定数据库中,如存储至关系型数据库管理系统MySQL中,以供后续筛选 目标客户端时从指定数据库中获取筛选条件。
创建好消息推送任务之后,执行步骤S102,即从包括海量客户端信息的 预设数据库中筛选出符合筛选条件的客户端,作为消息推送任务对应的目标 客户端。其中,客户端信息可包括客户端用户的活跃度、位置信息、客户端 的系统版本信息、设备信息等,筛选条件可包括客户端的活跃度、位置信 息、数量期望值、系统版本中的至少一项。例如,配置客户端的数量期望值 为800万,推送端可根据该数量期望值从包括海量客户端信息的预设数据库 中筛选符合筛选条件的目标客户端。
在一个实施例中,客户端的活跃度可根据客户端用户每天的活跃时长、 活跃时间段、活跃频率等信息统计得到。具体的,可将活跃度划分为几个不 同的等级,不同的等级代表不同的活动度。例如,将活跃度划分为A、B、C 三个等级,其中,A等级代表活跃度最高,B等级仅次于A等级,C等级对 应的活跃度最低。当然,A、B、C三个等级仅仅是一种示例性的划分方式, 本实施例还可将活跃度以其他形式进行划分,例如划分为一等级、二等级、 三等级……,等等。
举例而言,配置的筛选条件包括:客户端的活跃度为A等级、连续活跃 天数不低于10天、数量期望值为800万,那么,推送端可从包括海量客户端 信息的预设数据库中筛选出800万个活跃度为A等级、且连续活跃天数不低 于10天的目标客户端。
从预设数据库中筛选出目标客户端,可将目标客户端的相关信息(如目 标客户端的用户身份标识、设备标识等)与消息内容结合起来存储在预设存 储系统(如key-value存储系统)中,以供推送端从该预设存储系统中获取消 息内容及其对应的目标客户端信息。当目标客户端包括多个时,可将多个目 标客户端与其各自对应的消息内容以队列形式存储在预设存储系统中。这种 情况下,推送端获取消息内容及其对应的目标客户端信息时,可按照一定的 规则依次获取,例如每次获取一个消息内容及其对应的目标客户端信息,并将该消息内容推送至其对应的目标客户端,然后再获取下一个消息内容及其 对应的目标客户端信息;或者,还可每次获取一组(包括多个)消息内容及 其对应的目标客户端信息,并依序将该组消息内容分别推送至各自对应的目 标客户端,然后再获取下一组消息内容及其对应的目标客户端信息。
筛选出目标客户端之后,继续执行步骤S103,即确定用于向目标客户端 推送消息的推送端的系统版本。其中,推送端的系统版本包括安卓系统、 IOS系统中的至少一项。。
确定推送端对应的系统版本之后,继续执行步骤S104,即根据预设的系 统版本和消息推送方式之间的对应关系,确定出推送端的系统版本对应的消 息推送方式,并将消息内容按照确定的消息推送方式推送至目标客户端。该 步骤中,推送端对应的系统版本不同,其对应的消息推送方式也有所不同。 以下分别针对安卓系统和IOS系统这两种方式说明消息推送方式。
在一个实施例中,推送端对应的系统版本为安卓系统。该实施例中,由 于推送端和每个安卓系统的客户端保持连接,因此可将消息内容直接推送至 目标客户端。
在另一个实施例中,推送端对应的系统版本为IOS系统。该实施例中, 由于IOS系统不允许将消息直接发送至安卓系统的客户端,而是通过其 APNS(苹果推送通知服务)网关将消息转发至安卓系统的客户端,因此,执 行步骤S104时,需通过以下步骤推送消息内容:
首先,获取用于标识推送端对应的系统版本为IOS系统的设备令牌。其 中,设备令牌包括IOS系统的token参数。
其次,将消息内容以及设备令牌发送至IOS系统的指定中间设备,由该 指定中间设备对设备令牌进行验证,并在验证通过时将消息内容转发至目标 客户端。其中,指定中间设备包括苹果推送通知服务APNS。
举例而言,推送端获取目标客户端的token参数,并将消息内容与目标 客户端的token参数一同发送至APNS,APNS对接收到的token参数进行验 证,例如验证token参数是否过期,若没有过期,则说明验证通过,此时 APNS将消息内容转发至目标客户端。
在一个实施例中,推送端与目标客户端之间采用长连接方式建立连接, 目标客户端包括多个。该实施例中,可按照如下方式将消息内容推送至目标 客户端:首先,获取针对消息推送任务的预设推送规则,该预设推送规则包 括推送顺序、每次推送消息内容的数量中的至少一项;其次,基于推送端与 目标客户端之间的长连接,将消息内容按照预设推送规则依次推送至各目标 客户端。例如,预设推送规则为:每次推送消息内容的数量为100万,推送 顺序为依照预设存储系统(如key-value存储系统,该存储系统中存储多个消 息内容及其对应的目标客户端信息)中的消息队列顺序。那么,推送端在推 送消息时,可按照消息队列顺序每次从预设存储系统中获取100万个消息内 容及其对应的目标客户端信息,并依次将这100万个消息内容发送至各自分 别对应的目标客户端,直至将所有的消息内容均发送至各自对应的目标客户 端。
该实施例中,推送端和目标客户端之间采用长连接方式建立连接,使得 推送端向目标客户端推送消息时,能够基于二者之间的长连接不间断地向多 个目标客户端发送消息,实现了消息推送的高并发性。
在一个实施例中,上述方法还包括以下步骤:在将消息内容按照预设规 则依次推送至各目标客户端的过程中,检测将消息内容推送至当前目标客户 端的推送状态;当推送状态为推送成功时,继续将消息内容推送至下一个目 标客户端;当推送状态为推送失败时,将消息内容重新推送至当前目标客户 端。
此外,推送状态为推送失败的情况下,将消息内容重新推送至当前目标 客户端之后,检测重新推送的推送状态,若重新推送成功,则推送端继续将 消息内容推送至下一个目标客户端。也就是说,即使并发性地推送大量消息 内容,也不会导致其中任一消息推送失败后导致任务停止、或者重新推送所 有消息的情况,而是仅重新发送当前发送失败的消息,对其它已经发送成功 的消息并无影响。
该实施例中,能够在将消息内容依次推送至各目标客户端的过程中,检 测将消息内容推送至当前目标客户端的推送状态,当该推送状态为推送成功 时,继续将消息内容推送至下一个目标客户端,当该推送状态为推送失败 时,将消息内容重新推送至当前目标客户端。可见,该技术方案实现了对消 息推送过程的监控,从而能够监控到推送过程中的任务状态,进而根据任务 状态作出相应的调整对策,避免消息重复发送或发送失败后停止发送的情 况,极大地提高了消息推送的成功率。
在一个实施例中,消息推送参数还包括推送位置。因此,在将消息内容 推送至目标客户端时,还可将消息内容推送至目标客户端的推送位置。其 中,推送位置例如:目标客户端的通知栏、短信、微信等等。
图2是根据本发明一个实施例的一种消息推送装置的示意性框图。如图 2所示,该装置包括:
创建模块210,适于配置消息推送参数,根据消息推送参数创建对应的 消息推送任务,消息推送参数包括客户端筛选条件、消息内容中的至少一 项;
筛选模块220,与创建模块210相耦合,适于从包括海量客户端信息的 预设数据库中筛选出符合筛选条件的客户端,作为消息推送任务对应的目标 客户端;
确定模块230,与筛选模块220相耦合,适于确定用于向目标客户端推 送消息的推送端的系统版本;
第一推送模块240,与确定模块230相耦合,适于根据预设的系统版本 和消息推送方式之间的对应关系,确定出系统版本对应的消息推送方式,并 将消息内容按照确定的消息推送方式推送至目标客户端。
可选地,筛选条件包括客户端的活跃度、位置信息、数量期望值、系统 版本中的至少一项。
可选地,系统版本为安卓系统;第一推送模块240还适于:
将消息内容直接推送至目标客户端。
可选地,系统版本为IOS系统;第一推送模块240还适于:
获取用于标识推送端对应的系统版本为IOS系统的设备令牌;
将消息内容以及设备令牌发送至IOS系统的指定中间设备,由指定中间 设备对设备令牌进行验证,并在验证通过时将消息内容转发至目标客户端。
可选地,指定中间设备为苹果推送通知服务APNS。
可选地,推送端与目标客户端之间采用长连接方式建立连接;第一推送 模块240还适于:
当目标客户端包括多个时,获取针对消息推送任务的预设推送规则,预 设推送规则包括推送顺序、每次推送消息内容的数量中的至少一项;
基于推送端与目标客户端之间的长连接,将消息内容按照预设推送规则 依次推送至各目标客户端。
可选地,如图3所示,上述装置还包括:
检测模块250,与第一推送模块240相耦合,适于在将消息内容按照预 设规则依次推送至各目标客户端的过程中,检测将消息内容推送至当前目标 客户端的推送状态;
第二推送模块260,与检测模块250相耦合,适于当推送状态为推送成 功时,继续将消息内容推送至下一个目标客户端;
第三推送模块270,与第二推送模块260相耦合,适于当推送状态为推 送失败时,将消息内容重新推送至当前目标客户端。
可选地,消息推送参数还包括推送位置;第一推送模块240还适于:
将消息内容按照确定的消息推送方式推送至目标客户端的推送位置。
采用本发明实施例提供的技术方案,通过配置消息推送参数,根据消息 推送参数创建对应的消息推送任务,进而从包括海量客户端信息的预设数据 库中筛选出符合筛选条件的客户端作为消息推送任务对应的目标客户端,并 确定推送端对应的系统版本,最后根据所确定的系统版本对应的消息推送方 式将消息内容推送至目标客户端。由此可知,该技术方案能够根据推送端对 应的系统版本有针对性地将消息内容推送至目标客户端,即无论推送端的系 统版本是何种类型(例如安卓系统、IOS系统等),均可利用本方案来达到消 息推送的目的,因此使得不同的系统版本能够使用统一的推送后台和推送机 制向客户端推送消息,实现了不同系统版本在推送消息上的整合。此外,该 技术方案在向目标客户端推送消息的过程中无需人工手动操作,只需预先配 置好消息推送参数即可,因此实现了消息推送的自动化。
本领域的技术人员应可理解,图2至图3中的消息推送装置能够用来实 现前文所述的消息推送方案,其中的细节描述应与前文方法部分描述类似, 为避免繁琐,此处不另赘述。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本 发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未 详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个 或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时 被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开 的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求 中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映 的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循 具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自 适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以 把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可 以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者 单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴 随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或 者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴 随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相 似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其 它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组 合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求 书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理 器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当 理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据 本发明实施例的消息推送装置中的一些或者全部部件的一些或者全部功能。 本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或 者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程 序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。 这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以 任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制, 并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实 施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要 求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于 元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以 借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在 列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。 可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明 的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根 据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修 改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修 改。
本发明实施例公开了A1、一种消息推送方法,包括:
配置消息推送参数,根据所述消息推送参数创建对应的消息推送任务, 所述消息推送参数包括客户端筛选条件、消息内容中的至少一项;
从包括海量客户端信息的预设数据库中筛选出符合所述筛选条件的客户 端,作为所述消息推送任务对应的目标客户端;
确定用于向所述目标客户端推送消息的推送端的系统版本;
根据预设的系统版本和消息推送方式之间的对应关系,确定出所述系统 版本对应的消息推送方式,并将所述消息内容按照所述确定的消息推送方式 推送至所述目标客户端。
A2、根据A1所述的方法,其中,所述筛选条件包括所述客户端的活跃 度、位置信息、数量期望值、所述系统版本中的至少一项。
A3、根据A1或A2所述的方法,其中,所述系统版本为安卓系统;将 所述消息内容按照所述确定的消息推送方式推送至所述目标客户端,包括:
将所述消息内容直接推送至所述目标客户端。
A4、根据A1-A3中任一项所述的方法,其中,所述系统版本为IOS系 统;将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端, 包括:
获取用于标识所述推送端对应的系统版本为所述IOS系统的设备令牌;
将所述消息内容以及所述设备令牌发送至所述IOS系统的指定中间设 备,由所述指定中间设备对所述设备令牌进行验证,并在验证通过时将所述 消息内容转发至所述目标客户端。
A5、根据A4所述的方法,其中,所述指定中间设备为苹果推送通知服 务APNS。
A6、根据A1-A5中任一项所述的方法,其中,所述推送端与所述目标客 户端之间采用长连接方式建立连接;
当所述目标客户端包括多个时,将所述消息内容按照所述确定的消息推 送方式推送至所述目标客户端,包括:
获取针对所述消息推送任务的预设推送规则,所述预设推送规则包括推 送顺序、每次推送所述消息内容的数量中的至少一项;
基于所述推送端与所述目标客户端之间的长连接,将所述消息内容按照 所述预设推送规则依次推送至各目标客户端。
A7、根据A6所述的方法,其中,所述方法还包括:
在将所述消息内容按照预设规则依次推送至各目标客户端的过程中,检 测将所述消息内容推送至当前目标客户端的推送状态;
当所述推送状态为推送成功时,继续将所述消息内容推送至下一个目标 客户端;
当所述推送状态为推送失败时,将所述消息内容重新推送至所述当前目 标客户端。
A8、根据A1-A7中任一项所述的方法,其中,所述消息推送参数还包括 推送位置;将所述消息内容按照所述确定的消息推送方式推送至所述目标客 户端,包括:
将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端的 推送位置。
本发明实施例还公开了B9、一种消息推送装置,包括:
创建模块,适于配置消息推送参数,根据所述消息推送参数创建对应的 消息推送任务,所述消息推送参数包括客户端筛选条件、消息内容中的至少 一项;
筛选模块,适于从包括海量客户端信息的预设数据库中筛选出符合所述 筛选条件的客户端,作为所述消息推送任务对应的目标客户端;
确定模块,适于确定用于向所述目标客户端推送消息的推送端的系统版 本;
第一推送模块,适于根据预设的系统版本和消息推送方式之间的对应关 系,确定出所述系统版本对应的消息推送方式,并将所述消息内容按照所述 确定的消息推送方式推送至所述目标客户端。
B10、根据B9所述的装置,其中,所述筛选条件包括所述客户端的活跃 度、位置信息、数量期望值、所述系统版本中的至少一项。
B11、根据B9或B10所述的装置,其中,所述系统版本为安卓系统;所 述第一推送模块还适于:
将所述消息内容直接推送至所述目标客户端。
B12、根据B9-B11中任一项所述的装置,其中,所述系统版本为IOS系 统;所述第一推送模块还适于:
获取用于标识所述推送端对应的系统版本为所述IOS系统的设备令牌;
将所述消息内容以及所述设备令牌发送至所述IOS系统的指定中间设 备,由所述指定中间设备对所述设备令牌进行验证,并在验证通过时将所述 消息内容转发至所述目标客户端。
B13、根据B12所述的装置,其中,所述指定中间设备为苹果推送通知 服务APNS。
B14、根据B9-B13中任一项所述的装置,其中,所述推送端与所述目标 客户端之间采用长连接方式建立连接;所述第一推送模块还适于:
当所述目标客户端包括多个时,获取针对所述消息推送任务的预设推送 规则,所述预设推送规则包括推送顺序、每次推送所述消息内容的数量中的 至少一项;
基于所述推送端与所述目标客户端之间的长连接,将所述消息内容按照 所述预设推送规则依次推送至各目标客户端。
B15、根据B14所述的装置,其中,所述装置还包括:
检测模块,适于在将所述消息内容按照预设规则依次推送至各目标客户 端的过程中,检测将所述消息内容推送至当前目标客户端的推送状态;
第二推送模块,适于当所述推送状态为推送成功时,继续将所述消息内 容推送至下一个目标客户端;
第三推送模块,适于当所述推送状态为推送失败时,将所述消息内容重 新推送至所述当前目标客户端。
B16、根据B9-B15中任一项所述的装置,其中,所述消息推送参数还包 括推送位置;所述第一推送模块还适于:
将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端的 推送位置。
Claims (10)
1.一种消息推送方法,包括:
配置消息推送参数,根据所述消息推送参数创建对应的消息推送任务,所述消息推送参数包括客户端筛选条件、消息内容中的至少一项;
从包括海量客户端信息的预设数据库中筛选出符合所述筛选条件的客户端,作为所述消息推送任务对应的目标客户端;
确定用于向所述目标客户端推送消息的推送端的系统版本;
根据预设的系统版本和消息推送方式之间的对应关系,确定出所述系统版本对应的消息推送方式,并将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端。
2.根据权利要求1所述的方法,其中,所述筛选条件包括所述客户端的活跃度、位置信息、数量期望值、所述系统版本中的至少一项。
3.根据权利要求1或2所述的方法,其中,所述系统版本为安卓系统;将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端,包括:
将所述消息内容直接推送至所述目标客户端。
4.根据权利要求1-3中任一项所述的方法,其中,所述系统版本为IOS系统;将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端,包括:
获取用于标识所述推送端对应的系统版本为所述IOS系统的设备令牌;
将所述消息内容以及所述设备令牌发送至所述IOS系统的指定中间设备,由所述指定中间设备对所述设备令牌进行验证,并在验证通过时将所述消息内容转发至所述目标客户端。
5.根据权利要求4所述的方法,其中,所述指定中间设备为苹果推送通知服务APNS。
6.根据权利要求1-5中任一项所述的方法,其中,所述推送端与所述目标客户端之间采用长连接方式建立连接;
当所述目标客户端包括多个时,将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端,包括:
获取针对所述消息推送任务的预设推送规则,所述预设推送规则包括推送顺序、每次推送所述消息内容的数量中的至少一项;
基于所述推送端与所述目标客户端之间的长连接,将所述消息内容按照所述预设推送规则依次推送至各目标客户端。
7.根据权利要求6所述的方法,其中,所述方法还包括:
在将所述消息内容按照预设规则依次推送至各目标客户端的过程中,检测将所述消息内容推送至当前目标客户端的推送状态;
当所述推送状态为推送成功时,继续将所述消息内容推送至下一个目标客户端;
当所述推送状态为推送失败时,将所述消息内容重新推送至所述当前目标客户端。
8.根据权利要求1-7中任一项所述的方法,其中,所述消息推送参数还包括推送位置;将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端,包括:
将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端的推送位置。
9.一种消息推送装置,包括:
创建模块,适于配置消息推送参数,根据所述消息推送参数创建对应的消息推送任务,所述消息推送参数包括客户端筛选条件、消息内容中的至少一项;
筛选模块,适于从包括海量客户端信息的预设数据库中筛选出符合所述筛选条件的客户端,作为所述消息推送任务对应的目标客户端;
确定模块,适于确定用于向所述目标客户端推送消息的推送端的系统版本;
第一推送模块,适于根据预设的系统版本和消息推送方式之间的对应关系,确定出所述系统版本对应的消息推送方式,并将所述消息内容按照所述确定的消息推送方式推送至所述目标客户端。
10.根据权利要求9所述的装置,其中,所述筛选条件包括所述客户端的活跃度、位置信息、数量期望值、所述系统版本中的至少一项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710370569.0A CN107086954A (zh) | 2017-05-23 | 2017-05-23 | 消息推送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710370569.0A CN107086954A (zh) | 2017-05-23 | 2017-05-23 | 消息推送方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107086954A true CN107086954A (zh) | 2017-08-22 |
Family
ID=59608207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710370569.0A Pending CN107086954A (zh) | 2017-05-23 | 2017-05-23 | 消息推送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107086954A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395767A (zh) * | 2017-08-31 | 2017-11-24 | 北京奇虎科技有限公司 | 基于长连接的消息推送系统及方法 |
CN107395777A (zh) * | 2017-09-14 | 2017-11-24 | 广州华多网络科技有限公司 | 一种信息推送的方法、服务器 |
CN107580046A (zh) * | 2017-08-31 | 2018-01-12 | 北京奇虎科技有限公司 | 长连接服务系统及方法 |
CN109889584A (zh) * | 2019-01-31 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 运营方案推送方法、装置、系统和服务器 |
CN110288443A (zh) * | 2019-06-27 | 2019-09-27 | 北京金山安全软件有限公司 | 信息推送方法、装置、电子设备及计算机可读存储介质 |
CN110381100A (zh) * | 2018-04-13 | 2019-10-25 | 佛山市顺德区美的电热电器制造有限公司 | 一种消息推送方法、服务器及计算机可读存储介质 |
CN110691146A (zh) * | 2019-11-15 | 2020-01-14 | 深圳市乐唯科技开发有限公司 | 快速大批量推送的方法 |
CN113242282A (zh) * | 2021-04-27 | 2021-08-10 | 上海淇玥信息技术有限公司 | 一种用于目标人群的连续信息推送方法、装置和电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102917057A (zh) * | 2012-10-19 | 2013-02-06 | 北京奇虎科技有限公司 | 个性化应用推送系统及方法 |
CN102917060A (zh) * | 2012-10-19 | 2013-02-06 | 北京奇虎科技有限公司 | 应用匹配消息发送服务器、应用推送系统及方法 |
CN103460674A (zh) * | 2011-02-11 | 2013-12-18 | 良好科技公司 | 用于供应推送通知会话的方法、装置与系统 |
CN103874032A (zh) * | 2014-03-24 | 2014-06-18 | 北京奇虎科技有限公司 | 基于移动终端的信息推送方法及装置 |
CN104243271A (zh) * | 2013-06-09 | 2014-12-24 | 深圳中兴网信科技有限公司 | 一种通过xmpp实现离线消息推送的方法及系统 |
CN104753900A (zh) * | 2013-12-31 | 2015-07-01 | 北京新媒传信科技有限公司 | 一种实现 ios 设备接入sip 网络的方法和网关 |
CN105491539A (zh) * | 2014-09-18 | 2016-04-13 | 博雅网络游戏开发(深圳)有限公司 | 消息推送管理方法和装置 |
-
2017
- 2017-05-23 CN CN201710370569.0A patent/CN107086954A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103460674A (zh) * | 2011-02-11 | 2013-12-18 | 良好科技公司 | 用于供应推送通知会话的方法、装置与系统 |
CN102917057A (zh) * | 2012-10-19 | 2013-02-06 | 北京奇虎科技有限公司 | 个性化应用推送系统及方法 |
CN102917060A (zh) * | 2012-10-19 | 2013-02-06 | 北京奇虎科技有限公司 | 应用匹配消息发送服务器、应用推送系统及方法 |
CN104243271A (zh) * | 2013-06-09 | 2014-12-24 | 深圳中兴网信科技有限公司 | 一种通过xmpp实现离线消息推送的方法及系统 |
CN104753900A (zh) * | 2013-12-31 | 2015-07-01 | 北京新媒传信科技有限公司 | 一种实现 ios 设备接入sip 网络的方法和网关 |
CN103874032A (zh) * | 2014-03-24 | 2014-06-18 | 北京奇虎科技有限公司 | 基于移动终端的信息推送方法及装置 |
CN105491539A (zh) * | 2014-09-18 | 2016-04-13 | 博雅网络游戏开发(深圳)有限公司 | 消息推送管理方法和装置 |
Non-Patent Citations (1)
Title |
---|
刘虹: "《多操作系统推送平台的设计与实现》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395767A (zh) * | 2017-08-31 | 2017-11-24 | 北京奇虎科技有限公司 | 基于长连接的消息推送系统及方法 |
CN107580046A (zh) * | 2017-08-31 | 2018-01-12 | 北京奇虎科技有限公司 | 长连接服务系统及方法 |
CN107395767B (zh) * | 2017-08-31 | 2021-02-05 | 北京奇元科技有限公司 | 基于长连接的消息推送系统及方法 |
CN107395777A (zh) * | 2017-09-14 | 2017-11-24 | 广州华多网络科技有限公司 | 一种信息推送的方法、服务器 |
CN107395777B (zh) * | 2017-09-14 | 2020-10-23 | 广州华多网络科技有限公司 | 一种信息推送的方法、服务器 |
CN110381100A (zh) * | 2018-04-13 | 2019-10-25 | 佛山市顺德区美的电热电器制造有限公司 | 一种消息推送方法、服务器及计算机可读存储介质 |
CN110381100B (zh) * | 2018-04-13 | 2022-03-29 | 佛山市顺德区美的电热电器制造有限公司 | 一种消息推送方法、服务器及计算机可读存储介质 |
CN109889584A (zh) * | 2019-01-31 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 运营方案推送方法、装置、系统和服务器 |
CN110288443A (zh) * | 2019-06-27 | 2019-09-27 | 北京金山安全软件有限公司 | 信息推送方法、装置、电子设备及计算机可读存储介质 |
CN110691146A (zh) * | 2019-11-15 | 2020-01-14 | 深圳市乐唯科技开发有限公司 | 快速大批量推送的方法 |
CN110691146B (zh) * | 2019-11-15 | 2022-09-06 | 深圳市乐唯科技开发有限公司 | 快速大批量推送的方法 |
CN113242282A (zh) * | 2021-04-27 | 2021-08-10 | 上海淇玥信息技术有限公司 | 一种用于目标人群的连续信息推送方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107086954A (zh) | 消息推送方法及装置 | |
DE102014019749B3 (de) | Aktualisierungsmanagement | |
US6205408B1 (en) | Continuous monitoring system | |
CN105373428B (zh) | 一种任务调度方法和系统 | |
EP2533494A1 (en) | System and method of bed data aggregation, normalization and communication to third parties | |
CN103761178B (zh) | 一种实现应用卸载调查的方法 | |
CN101977128B (zh) | 用于通讯设备的接口检测方法和装置 | |
CN104468288B (zh) | 终端网络数据测试方法及装置 | |
CN110365536A (zh) | 一种物联网设备的故障提示方法及相关装置 | |
CN105095749B (zh) | 状态栏通知的接管方法及装置 | |
CN106502888A (zh) | 软件的测试方法和装置 | |
CN109117172A (zh) | 一种目标终端的终端版本号识别的方法及装置 | |
CN104618162B (zh) | 一种系统对接的管理方法、装置和系统 | |
DE102014110581A1 (de) | Steuerungsanlage für ein Beleuchtungssystem sowie Verfahren zur Konfiguration und Inbetriebnahme derselben | |
CN105915657A (zh) | 数据的同步方法、装置及客户端 | |
CN109670949A (zh) | 交易清算方法、装置、设备及存储介质 | |
CN109800571A (zh) | 事件处理方法和装置、以及存储介质和电子装置 | |
CN107249182A (zh) | 一种短信发送方法及其装置、终端设备 | |
EP3391713B1 (de) | Dezentrale protokollierung von betriebszuständen von gebäudetechnikkomponenten | |
CN109785097A (zh) | 通过自动注册使增值税系统生成授权文件以及获取授权文件的方法和系统 | |
CN104199438B (zh) | 车辆远程诊断方法及设备 | |
CN110334896A (zh) | 政务活动管理方法、装置、设备和计算机存储介质 | |
CN109939940A (zh) | 一种异常包裹分拣调度方法、装置及电子设备 | |
CN105187490B (zh) | 一种物联网数据的中转处理方法 | |
CN108173671A (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: 20170822 |
|
RJ01 | Rejection of invention patent application after publication |