CN104735096A - 消息推送请求的发送方法和系统 - Google Patents
消息推送请求的发送方法和系统 Download PDFInfo
- Publication number
- CN104735096A CN104735096A CN201310700503.5A CN201310700503A CN104735096A CN 104735096 A CN104735096 A CN 104735096A CN 201310700503 A CN201310700503 A CN 201310700503A CN 104735096 A CN104735096 A CN 104735096A
- Authority
- CN
- China
- Prior art keywords
- message push
- message
- request
- push request
- service
- 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
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/4061—Push-to services, e.g. push-to-talk or push-to-video
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
Abstract
一种消息推送请求的发送方法,所述方法包括:接收消息推送请求;根据所述消息推送请求动态启动消息推送请求发送服务;通过所述消息推送请求发送服务将消息推送请求并行发送给消息推送服务器。由于消息推送请求发送服务是根据接收到的消息推送请求动态启动的,因此所启动的消息推送请求发送服务是与接收到的消息推送请求相适应的,消息推送请求发送服务将根据接收到的消息推送请求并行发送给消息推送服务器,实现了消息推送请求的及时发送,从而提高了消息推送请求的发送效率。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种消息推送请求的发送方法和系统。
背景技术
消息推送是当设备中的应用程序没有启动或不在前台运行时,告诉用户有新消息的一种途径。一般说来,当要显示消息或下载数据的时候,是由应用服务器(应用程序的提供者)发送消息推送请求至消息推送服务器,然后通过消息推送服务器将消息推送到设备的应用程序上。
目前,消息推送请求的发送方法是将应用服务器收集到的设备令牌(token)和要推送的消息一并打包发送给消息推送服务器。但是,在收集到的token数量很多的情况下,传统的消息推送请求的发送方法将出现消息推送请求发送效率低的缺陷。
发明内容
基于此,有必要针对消息推送请求的发送效率低的技术问题,提供一种提高发送效率的消息推送请求的发送方法。
此外,还有必要提供一种提高发送效率的消息推送请求的发送系统。
一种消息推送请求的发送方法,所述方法包括:
接收消息推送请求;
根据所述消息推送请求动态启动消息推送请求发送服务;
通过所述消息推送请求发送服务将消息推送请求并行发送给消息推送服务器。
在其中一个实施例中,所述接收消息推送请求的步骤之前,所述方法还包括:
获取设备令牌;
将所述设备令牌、目标应用编号和待推送的消息打包,以得到所述消息推送请求;
发送所述消息推送请求;
在其中一个实施例中,所述根据所述消息推送请求动态启动消息推送请求发送服务的方法包括:
监听消息推送请求的接收,并统计所述监听得到的接收的消息推送请求数量;
根据消息推送请求数量得到对应的消息推送请求发送服务数量,根据消息推送请求发送服务数量启动用于发送消息推送请求的消息推送请求发送服务;
根据负载均衡策略将所述接收的消息推送请求分配给所述消息推送请求发送服务。
在其中一个实施例中,所述通过所述消息推送请求发送服务将消息推送请求并行发送给消息推送服务器的步骤为:
解析所述消息推送请求得到设备令牌、目标应用编号和待推送的消息;
将所述解析得到的设备令牌、目标应用编号和待推送的消息封装成消息推送服务器指定格式的数据包;
将所述数据包并行发送给消息推送服务器。
在其中一个实施例中,所述通过所述消息推送请求发送服务将消息推送请求并行发送给消息推送服务器的步骤之后,所述方法还包括:
判断消息推送服务器推送消息是否成功,若否,
则接收所述消息推送服务器返回的推送失败原因信息,并断开与所述消息推送服务器的连接。
一种消息推送请求的发送系统,所述系统包括:
接收模块,用于接收消息推送请求;
服务启动模块,用于根据所述消息推送请求动态启动消息推送请求发送服务;
消息发送模块,用于通过所述消息推送请求发送服务将消息推送请求并行发送给消息推送服务器。
在其中一个实施例中,所述系统还包括:
令牌获取模块,用于获取设备令牌;
数据打包模块,用于将所述设备令牌、目标应用编号和待推送的消息打包,以得到所述消息推送请求;
发送模块,用于发送所述消息推送请求;
在其中一个实施例中,所述服务启动模块包括:
监听单元,用于监听消息推送请求的接收,并统计所述监听得到的接收的消息推送请求数量;
启动单元,用于根据消息推送请求数量得到对应的消息推送请求发送服务数量,根据消息推送请求发送服务数量启动用于发送消息推送请求的消息推送请求发送服务;
分配单元,用于根据负载均衡策略将所述接收的消息推送请求分配给所述消息推送请求发送服务。
在其中一个实施例中,所述消息发送模块包括:
解析单元,用于解析所述消息推送请求得到设备令牌、目标应用编号和待推送的消息;
数据封装单元,用于将所述解析得到的设备令牌、目标应用编号和待推送的消息封装成消息推送服务器指定格式的数据包;
数据发送单元,用于将所述数据包并行发送给消息推送服务器。
在其中一个实施例中,所述系统还包括:
异常处理模块,用于判断消息推送服务器推送消息是否成功,若否,则接收所述消息推送服务器返回的推送失败原因信息,并断开与所述消息推送服务器的连接。
上述消息推送请求的发送方法和系统,由于消息推送请求发送服务是根据接收到的消息推送请求动态启动的,因此所启动的消息推送请求发送服务是与接收到的消息推送请求相适应的,消息推送请求发送服务将根据接收到的消息推送请求并行发送给消息推送服务器,实现了消息推送请求的及时发送,从而提高了消息推送请求的发送效率。
附图说明
图1为一个实施例中消息推送请求的发送方法的流程图;
图2为另一个实施例中消息推送请求的发送方法的流程图;
图3为一个实施例中根据消息推送请求动态启动消息推送请求发送服务的方法的流程图;
图4为一个实施例中通过所述消息推送请求发送服务将消息推送请求并行发送给消息推送服务器的方法的流程图;
图5为另一个实施例中消息推送请求的发送方法的流程图;
图6为一个实施例中消息推送请求的发送系统的结构示意图;
图7为另一个实施例中消息推送请求的发送系统的结构示意图;
图8为一个实施例中启动服务模块的结构示意图;
图9为一个实施例中消息发送模块的结构示意图;
图10为另一个实施例中消息推送请求的发送系统的结构示意图。
具体实施方式
如图1所示,在一个实施例中,一种消息推送请求的发送方法。包括如下步骤:
步骤S110,接收消息推送请求。
本实施例中,消息推送请求中包括设备令牌、目标应用编号和待推送的消息。待推送的消息可能是信息、即将到期的日程或是在应用服务器中更新的数据;设备令牌(token)是指每个设备唯一的标识,相当于设备的身份证;目标应用编号是指目标应用程序的标识号。消息推送请求中包含了设备令牌、目标应用编号和待推送的消息等。
步骤S130,根据消息推送请求动态启动消息推送请求发送服务。
本实施例中,消息推送请求发送服务用于将消息推送请求发送给消息推送请求服务器。接收到消息推送请求后将启动消息推送请求发送服务,启动的消息推送请求发送服务的数量是根据接收到的消息推送请求数量的多少进行动态变化的,进而保证消息推送请求发送服务的数量与消息推送请求的数量相适应。具体的,当接收到的消息推送请求数量非常多的情况下,消息推送请求的发送服务启动的数量也将相应递增。通过动态启动消息推送请求发送服务保证消息推送请求能够及时的发送出去。
优先的,消息推送请求发送服务用C语言编写运行在Linux操作系统中,因为Linux本身是用C语言编写的,可以充分发挥和利用机器硬件性能,消息推送请求发送服务在内网使用UDP协议,由于使用UDP协议不会产生TCP的链接,因此减少了系统开销。
消息推送请求发送服务采用多进程单线程架构,易于部署在不同机器,单线程保证其架构设计的简易性。跟其它多线程程序相比,消息推送请求发送服务不会在资源竞争时频繁调用各种锁,降低系统开销和出错的可能性。利用多进程的特性能提高整个系统的并发量和吞吐量,从而加快了推送的速度。经过测试使用传统的消息推送请求发送方法,每分钟推送的消息是15925,使用本发明的消息推送请求发送方法,每分钟推送的消息是104749。
步骤S150,通过消息推送请求发送服务将消息推送请求并行发送给消息推送服务器。
本实施例中,消息推送请求发送服务通过SSL(Secure Sockets Layer)方式与消息推送服务器建立连接。使用SSL方式来建立安全的信道以保证消息推送请求发送的安全。建立连接后,所有开启的消息推送请求发送服务将同时向消息推送服务器发送消息推送请求,消息推送服务器根据收到的消息推送请求后将查找设备令牌相对应的设备,并将消息推送请求中待推送的消息发送给与设备令牌相对应的设备,该设备接收到待推送的消息后根据目标应用编号将待推送的消息推送给目标应用并弹出推送通知。多个消息推送服务并行发送消息推送请求给消息推送服务器提高了同一时间消息推送请求的发送量,从而加快了消息推送服务器推送消息的速度。
如图2所示,在一个实施例中,步骤S110之前,该方法还包括:
步骤S210,获取设备令牌。
本实施例中,目标应用在应用服务器中进行注册时,会将相关注册信息其中包括设备令牌信息发送给应用服务器。应用服务器将接收到的设备令牌和设备令牌与目标应用的编号的映射关系保存在数据库中,当给指定的目标应用发送消息时,根据设备令牌与目标应用的映射关系获取到设备令牌。进一步的,还可以通过设置筛选条件对设备令牌进行筛选。例如,通过设置筛选条件将最近三个月有在线使用目标应用对应的设备令牌筛选出来。
步骤S230,将设备令牌、目标应用编号和待推送的消息打包,以得到消息推送请求。
步骤S250,发送消息推送请求。
本实施例中,根据设备令牌跟目标应用的映射关系得到目标应用的编号。通过将待推送的消息和目标应用编号进行数据打包以得到消息推送请求。
具体的,消息推送请求的格式将采用“|”将目标应用编号、设备令牌和待推送的消息分格开,即,目标应用编号|设备令牌|待推送的消息。例如“100|45fce4bc64d337b7a626dc44b4ec2a9ce5a1b164c1de5a43a71850ad1bc3b793|快来玩游戏”,其中100为目标应用编号,45fce4bc64d337b7a626dc44b4ec2a9ce5a1b164c1de5a43a71850ad1bc3b793为设备令牌,“快来玩游戏”为待推送的消息。将上述待推送的消息、目标应用编号和设备令牌封装成数据包得到了消息推送请求,进而将上述得到消息推送请求发送出去。
由于消息推送请求的获取其业务属性比较强,比如需要根据某些条件筛选出相应的设备令牌,难免会修改代码,加上编码人员流动等原因,出现代码漏洞隐患的可能性增大。因此将消息推送请求的获取与消息推送请求的发送进行分开降低两者的耦合度,使得消息推送请求发送服务不会因为消息推送请求获取变化而产生变化,进一步提高了消息推送请求发送的稳定性。
如图3所示,在一个实施例中,步骤S130包括:
步骤S131,监听消息推送请求的接收,并统计监听得到的接收的消息推送请求数量。
本实施例中,通过开启监听端口来监听发送过来的消息推送请求,并将接收到的消息推送请求进行数据统计,根据统计消息推送请求的数量进一步获知当前消息推送请求发送的工作量。
步骤S133,根据消息推送请求数量得到对应的消息推送请求发送服务数量,根据消息推送请求发送服务数量启动用于发送消息推送请求的消息推送请求发送服务。
本实施例中,通过上述消息推送请求发送的工作量,确定需要启动多少个消息推送请求发送服务才能满足及时完成消息推送请求的发送任务。进一步的,启动与消息推送请求数量相适应的多个消息推送请求发送服务。例如,统计接收到的消息推送请求数量为3000个,确定需要启动3个消息推送请求发送服务才能满足及时将消息推送请求发送出去。启动消息推送请求发送服务的数量还跟消息推送服务器推送消息的工作效率有关。消息推送服务器推送消息的速率快相应的启动的消息推送请求发送服务数量也将相应增加。
步骤S135,根据负载均衡策略将接收的消息推送请求分配给消息推送请求发送服务。
本实施例中,负载均衡策略是指对发送消息推送请求的工作任务进行平衡,将消息推送请求分摊到多个消息推送请求发送服务上进行发送的工作任务分配方法。根据负载均衡策略分配工作任务可以最大可能的利用现有设备来提高发送消息推送请求的工作效率。例如,有3000个消息推送请求需要发送,而开启的消息推送请求发送服务的数量是3个,根据负载均衡策略将这3000个消息推送请求按顺序的分配给这3个消息推送请求发送服务,3个消息推送请求发送服务将同时发送消息推送请求,提高了发送效率。
如图4所示,在一个实施例中,步骤S150包括:
步骤S151,解析消息推送请求得到设备令牌、目标应用编号和待推送的消息。
步骤S153,将解析得到的设备令牌、目标应用编号和待推送的消息封装成消息推送服务器指定格式的数据包。
步骤S155,将数据包并行发送给消息推送服务器。
本实施例中,消息推送服务器完成消息推送任务需要将消息推送请求封装成消息推送服务器指定格式的数据包。指定格式是指消息推送服务器能够识别并能发送的数据包的数据格式。将接收到的消息推送请求进行解析得到设备令牌、目标应用编号和待推送的消息。对上述解析得到的设备令牌、目标应用编号和待推送的消息进行重新封装以得到消息推送服务器指定格式的数据包。消息推送请求发送服务将已经重新封装好的数据包并行发送给消息推送服务器,通过消息推送服务器完成推送消息的任务。
如图5所示,在一个实施例中,步骤S150之后,该方法还包括:
步骤S310,判断消息推送服务器推送消息是否成功,若否,则进入步骤S320,若是,则不做任何处理。
本实施例中,当消息推送请求完成发送之后,消息推送服务器将进一步判断消息推送请求是否符合消息推送服务器指定的数据格式,如果符合,则不会返回任何信息。如果不符合或是出现其他问题导致消息推送服务器推送消息不成功。则进入步骤S320。如果消息推送服务器推送消息成功,则不会返回任何信息。
步骤S320,接收消息推送服务器返回的推送失败原因信息,并断开与消息推送服务器的连接。
本实施例中,消息推送服务器根据消息推送请求推送消息出现失败,将会返回一个导致消息推送失败原因的消息。消息推送请求发送服务将接收导致消息推送失败原因的消息。同时消息推送请求发送服务将断开与消息推送服务器的连接,并记录上述消息推送服务器的信息。等到下一次有推送请求时,重新建立与未被记录的消息推送服务器的连接。
在一个实施例中,上述消息推送请求的发送方法运行于消息发送服务器中,该消息发送服务器将利用上述消息推送请求的发送方法启动消息推送请求发送服务将消息推送请求发送到消息推送服务器。消息推送服务器根据消息推送请求将待推送的消息推送到目标应用程序上,以完成消息推送任务。例如,苹果消息推送服务器(Apple Push Notification Service)通过消息发送服务器发送过来的消息推送请求将消息推送给苹果设备中的应用程序。
如图6所示,在一个实施例中,一种消息推送请求的发送系统,系统包括:接收模块110,服务启动模块120和消息发送模块130。
接收模块110,用于接收消息推送请求。
本实施例中,消息推送请求中包括设备令牌、目标应用编号和待推送的消息。待推送的消息可能是信息、即将到期的日程或是在应用服务器中更新的数据;设备令牌是指每个设备唯一的标识,相当于设备的身份证;目标应用编号是指目标应用程序的标识号。消息推送请求中包含了设备令牌、目标应用编号和待推送的消息等。
服务启动模块130,用于根据消息推送请求动态启动消息推送请求发送服务。
本实施例中,消息推送请求发送服务用于将消息推送请求发送给消息推送请求服务器。接收到消息推送请求后将启动消息推送请求发送服务,启动的消息推送请求发送服务的数量是根据接收到的消息推送请求数量的多少进行动态变化的,进而保证消息推送请求发送服务的数量与消息推送请求的数量相适应。
具体的,当接收到的消息推送请求数量非常多的情况下,消息推送请求的发送服务启动的数量也将相应递增。通过动态启动消息推送请求发送服务保证消息推送请求能够及时的发送出去。
优先的,消息推送请求发送服务用C语言编写运行在Linux操作系统中,因为Linux本身是用C语言编写的,可以充分发挥和利用机器硬件性能,消息推送请求发送服务在内网使用UDP协议,由于使用UDP协议不会产生TCP的链接,因此减少了系统开销。
消息推送请求发送服务采用多进程单线程架构,易于部署在不同机器,单线程保证其架构设计的简易性。跟其它多线程程序相比,消息推送请求发送服务不会在资源竞争时频繁调用各种锁,降低系统开销和出错的可能性。利用多进程的特性能提高整个系统的并发量和吞吐量,从而加快了推送的速度。经过测试使用传统的消息推送请求发送方法,每分钟推送的消息是15925,使用本发明的消息推送请求发送方法,每分钟推送的消息是104749。
消息发送模块150,用于通过消息推送请求发送服务将消息推送请求并行发送给消息推送服务器。
本实施例中,消息推送请求发送服务通过SSL方式与消息推送服务器建立连接。使用SSL方式来建立安全的信道以保证消息推送请求发送的安全。建立连接后,所有开启的消息推送请求发送服务将同时向消息推送服务器发送消息推送请求,消息推送服务器根据收到的消息推送请求后将查找设备令牌相对应的设备,并将消息推送请求中待推送的消息发送给与设备令牌相对应的设备,该设备接收到待推送的消息后根据目标应用编号将待推送的消息推送给目标应用并弹出推送通知。多个消息推送服务并行发送消息推送请求给消息推送服务器提高了同一时间消息推送请求的发送量,从而加快了消息推送服务器推送消息的速度。
如图7所示,在一个实施例中,该系统还包括:令牌获取模块210,数据打包模块230和发送模块230。
令牌获取模块210,用于获取设备令牌。
本实施例中,目标应用在应用服务器中进行注册时,会将相关注册信息其中包括设备令牌信息发送给应用服务器。应用服务器将接收到的设备令牌和设备令牌与目标应用的编号的映射关系保存在数据库中,当给指定的目标应用发送消息时,根据设备令牌与目标应用的映射关系获取到设备令牌。进一步的,还可以通过设置筛选条件对设备令牌进行筛选。例如,通过设置筛选条件将最近三个月有在线使用目标应用对应的设备令牌筛选出来。
数据打包模块230,用于将设备令牌、目标应用编号和待推送的消息打包,以得到消息推送请求。
发送模块230,用于发送消息推送请求。
本实施例中,根据设备令牌跟目标应用的映射关系得到目标应用的编号。通过将待推送的消息和目标应用编号进行数据打包以得到消息推送请求。
具体的,消息推送请求的格式将采用“|”将目标应用编号、设备令牌和待推送的消息分格开,即,目标应用编号|设备令牌|待推送的消息。例如“100|45fce4bc64d337b7a626dc44b4ec2a9ce5a1b164c1de5a43a71850ad1bc3b793|快来玩游戏”,其中100为目标应用编号,45fce4bc64d337b7a626dc44b4ec2a9ce5a1b164c1de5a43a71850ad1bc3b793为设备令牌,“快来玩游戏”为待推送的消息。将上述待推送的消息、目标应用编号和设备令牌封装成数据包得到了消息推送请求,进而将上述得到消息推送请求发送出去。
由于消息推送请求的获取其业务属性比较强,比如需要根据某些条件筛选出相应的设备令牌,难免会修改代码,加上编码人员流动等原因,出现代码漏洞隐患的可能性增大。因此将消息推送请求的获取与消息推送请求的发送进行分开降低两者的耦合度,使得消息推送请求发送服务不会因为消息推送请求获取变化而产生变化,进一步提高了消息推送请求发送的稳定性。
如图8所示,在一个实施例中,服务启动模块130包括:
监听单元131,用于监听消息推送请求的接收,并统计监听得到的接收的消息推送请求数量。
本实施例中,通过开启监听端口来监听发送过来的消息推送请求,并将接收到的消息推送请求进行数据统计,根据统计消息推送请求的数量进一步获知当前消息推送请求发送的工作量。
启动单元133,用于根据消息推送请求数量得到对应的消息推送请求发送服务数量,根据消息推送请求发送服务数量启动用于发送消息推送请求的消息推送请求发送服务。
本实施例中,通过上述消息推送请求发送的工作量,确定需要启动多少个消息推送请求发送服务才能满足及时完成消息推送请求的发送任务。进一步的,启动与消息推送请求数量相适应的多个消息推送请求发送服务。例如,统计接收到的消息推送请求数量为3000个,确定需要启动3个消息推送请求发送服务才能满足及时将消息推送请求发送出去。启动消息推送请求发送服务的数量还跟消息推送服务器推送消息的工作效率有关。消息推送服务器推送消息的速度快相应的启动的消息推送请求发送服务数量也将增多。
分配单元135,用于根据负载均衡策略将接收的消息推送请求分配给消息推送请求发送服务。
本实施例中,负载均衡策略是指对发送消息推送请求的工作任务进行平衡,将消息推送请求分摊到多个消息推送请求发送服务上进行发送的工作任务分配方法。根据负载均衡策略分配工作任务可以最大可能的利用现有设备来提高发送消息推送请求的工作效率。例如,有3000个消息推送请求需要发送,而开启的消息推送请求发送服务的数量是3个,根据负载均衡策略将这3000个消息推送请求按顺序的分配给这3个消息推送请求发送服务,3个消息推送请求发送服务将同时发送消息推送请求,提高了发送效率。
如图9所示,在一个实施例中,消息发送模块150包括:
解析单元151,用于解析消息推送请求得到设备令牌、目标应用编号和待推送的消息。
数据封装单元153,用于将解析得到的设备令牌、目标应用编号和待推送的消息封装成消息推送服务器指定格式的数据包。
数据发送单元155,用于将数据包并行发送给消息推送服务器。
本实施例中,消息推送服务器完成消息推送任务需要将消息推送请求封装成消息推送服务器指定格式的数据包。指定格式是指消息推送服务器能够识别并进行发送数据包的数据格式。将接收到的消息推送请求进行解析得到设备令牌、目标应用编号和待推送的消息。对上述解析得到的设备令牌、目标应用编号和待推送的消息进行重新封装以得到消息推送服务器指定格式的数据包。消息推送请求发送服务将已经重新封装好的数据包并行发送给消息推送服务器,通过消息推送服务器完成推送消息的任务。
如图10所示,在一个实施例中,该系统还包括:
异常处理模块170,用于判断消息推送服务器推送消息是否成功,若否,则接收消息推送服务器返回的推送失败原因信息,并断开与消息推送服务器的连接。
本实施例中,当消息推送请求完成发送之后,消息推送服务器将进一步判断消息推送请求是否符合消息推送服务器指定的数据格式,如果符合,则不会返回任何信息。如果不符合或是出现其他问题导致消息推送服务器推送消息不成功。将会返回一个导致消息推送失败原因的消息。消息推送请求发送服务将接收导致消息推送失败原因的消息。同时消息推送请求发送服务将断开与消息推送服务器的连接,并记录上述消息推送服务器的信息。等到下一次有推送请求时,重新建立与未被记录的消息推送服务器的连接。如果消息推送服务器推送消息成功,则不会返回任何信息。
在一个实施例中,上述消息推送请求的发送系统运行于消息发送服务器中,该消息发送服务器将利用上述消息推送请求的发送系统启动消息推送请求发送服务将消息推送请求发送到消息推送服务器。消息推送服务器根据消息推送请求将待推送的消息推送到目标应用程序上,以完成消息推送任务。例如,苹果消息推送服务器通过消息发送服务器发送过来的消息推送请求将消息推送给苹果设备中的应用程序。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种消息推送请求的发送方法,所述方法包括:
接收消息推送请求;
根据所述消息推送请求动态启动消息推送请求发送服务;
通过所述消息推送请求发送服务将消息推送请求并行发送给消息推送服务器。
2.根据权利要求1所述的方法,其特征在于,所述接收消息推送请求的步骤之前,所述方法还包括:
获取设备令牌;
将所述设备令牌、目标应用编号和待推送的消息打包,以得到所述消息推送请求;
发送所述消息推送请求。
3.根据权利要求1所述的方法,其特征在于,所述根据所述消息推送请求动态启动消息推送请求发送服务的方法包括:
监听消息推送请求的接收,并统计所述监听得到的接收的消息推送请求数量;
根据消息推送请求数量得到对应的消息推送请求发送服务数量,根据消息推送请求发送服务数量启动用于发送消息推送请求的消息推送请求发送服务;
根据负载均衡策略将所述接收的消息推送请求分配给所述消息推送请求发送服务。
4.根据权利要求1所述的方法,其特征在于,所述通过所述消息推送请求发送服务将消息推送请求并行发送给消息推送服务器的步骤为:
解析所述消息推送请求得到设备令牌、目标应用编号和待推送的消息;
将所述解析得到的设备令牌、目标应用编号和待推送的消息封装成消息推送服务器指定格式的数据包;
将所述数据包并行发送给消息推送服务器。
5.根据权利要求1所述的方法,其特征在于,所述通过所述消息推送请求发送服务将消息推送请求并行发送给消息推送服务器的步骤之后,所述方法还包括:
判断消息推送服务器推送消息是否成功,若否,
则接收所述消息推送服务器返回的推送失败原因信息,并断开与所述消息推送服务器的连接。
6.一种消息推送请求的发送系统,所述系统包括:
接收模块,用于接收消息推送请求;
服务启动模块,用于根据所述消息推送请求动态启动消息推送请求发送服务;
消息发送模块,用于通过所述消息推送请求发送服务将消息推送请求并行发送给消息推送服务器。
7.根据权利要求6所述的消息推送系统,其特征在于,所述系统还包括:
令牌获取模块,用于获取设备令牌;
数据打包模块,用于将所述设备令牌、目标应用编号和待推送的消息打包,以得到所述消息推送请求;
发送模块,用于发送所述消息推送请求。
8.根据权利要求6所述的消息推送系统,其特征在于,所述服务启动模块包括:
监听单元,用于监听消息推送请求的接收,并统计所述监听得到的接收的消息推送请求数量;
启动单元,用于根据消息推送请求数量得到对应的消息推送请求发送服务数量,根据消息推送请求发送服务数量启动用于发送消息推送请求的消息推送请求发送服务;
分配单元,用于根据负载均衡策略将所述接收的消息推送请求分配给所述消息推送请求发送服务。
9.根据权利要求6所述的消息推送系统,其特征在于,所述消息发送模块包括:
解析单元,用于解析所述消息推送请求得到设备令牌、目标应用编号和待推送的消息;
数据封装单元,用于将所述解析得到的设备令牌、目标应用编号和待推送的消息封装成消息推送服务器指定格式的数据包;
数据发送单元,用于将所述数据包并行发送给消息推送服务器。
10.根据权利要求1所述的消息推送系统,其特征在于,所述系统还包括:
异常处理模块,用于判断消息推送服务器推送消息是否成功,若否,则接收所述消息推送服务器返回的推送失败原因信息,并断开与所述消息推送服务器的连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310700503.5A CN104735096A (zh) | 2013-12-18 | 2013-12-18 | 消息推送请求的发送方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310700503.5A CN104735096A (zh) | 2013-12-18 | 2013-12-18 | 消息推送请求的发送方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104735096A true CN104735096A (zh) | 2015-06-24 |
Family
ID=53458530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310700503.5A Pending CN104735096A (zh) | 2013-12-18 | 2013-12-18 | 消息推送请求的发送方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104735096A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073638A (zh) * | 2016-11-18 | 2018-05-25 | 腾讯科技(北京)有限公司 | 数据诊断方法及装置 |
CN109660587A (zh) * | 2018-10-22 | 2019-04-19 | 平安科技(深圳)有限公司 | 基于随机数的数据推送方法、装置、存储介质及服务器 |
CN112272362A (zh) * | 2020-09-11 | 2021-01-26 | 安徽中科新辰技术有限公司 | 一种消息通知发送服务的实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905531A (zh) * | 2006-08-11 | 2007-01-31 | 白杰 | 待发送数据的处理方法以及数据发送方法、装置 |
CN101925028A (zh) * | 2009-06-16 | 2010-12-22 | 中兴通讯股份有限公司 | 一种短消息网关及其短消息异网互通处理方法 |
CN103259714A (zh) * | 2013-04-28 | 2013-08-21 | 深圳市深信服电子科技有限公司 | 即时信息通知方法及装置 |
-
2013
- 2013-12-18 CN CN201310700503.5A patent/CN104735096A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905531A (zh) * | 2006-08-11 | 2007-01-31 | 白杰 | 待发送数据的处理方法以及数据发送方法、装置 |
CN101925028A (zh) * | 2009-06-16 | 2010-12-22 | 中兴通讯股份有限公司 | 一种短消息网关及其短消息异网互通处理方法 |
CN103259714A (zh) * | 2013-04-28 | 2013-08-21 | 深圳市深信服电子科技有限公司 | 即时信息通知方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073638A (zh) * | 2016-11-18 | 2018-05-25 | 腾讯科技(北京)有限公司 | 数据诊断方法及装置 |
CN108073638B (zh) * | 2016-11-18 | 2020-05-15 | 腾讯科技(北京)有限公司 | 数据诊断方法及装置 |
CN109660587A (zh) * | 2018-10-22 | 2019-04-19 | 平安科技(深圳)有限公司 | 基于随机数的数据推送方法、装置、存储介质及服务器 |
CN109660587B (zh) * | 2018-10-22 | 2022-07-29 | 平安科技(深圳)有限公司 | 基于随机数的数据推送方法、装置、存储介质及服务器 |
CN112272362A (zh) * | 2020-09-11 | 2021-01-26 | 安徽中科新辰技术有限公司 | 一种消息通知发送服务的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110808874B (zh) | 一种跨机房服务监控方法、装置、存储介质及服务器 | |
CN111818136B (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN110995513B (zh) | 物联网系统中的数据发送、接收方法、物联网设备及平台 | |
US20170163478A1 (en) | Method,electronic device and system for updating client configuration in key-value pair database | |
CN109729602B (zh) | 一种链路数据处理方法、装置和计算机存储介质 | |
CN111294235B (zh) | 数据处理方法、装置、网关及可读存储介质 | |
CN104243623A (zh) | 乘客信息系统与ats系统间接口的数据处理系统及方法 | |
CN104735096A (zh) | 消息推送请求的发送方法和系统 | |
CN104683171B (zh) | 应用软件的实时监控方法及装置 | |
CN113364624A (zh) | 基于边缘计算的混合云流量采集方法和系统 | |
CN110365517B (zh) | 数据处理方法、装置、存储介质及计算机设备 | |
CN106341433A (zh) | 一种服务系统、信号服务器和对讲服务器 | |
CN112422564A (zh) | 协议的测试方法、装置、存储介质以及电子装置 | |
CN109271454B (zh) | 一种数据同步的方法及网络设备 | |
CN114338477B (zh) | 一种通信链路监控方法、装置、设备及存储介质 | |
CN105429795A (zh) | 一种告警监控系统及方法 | |
CN113783963B (zh) | 数据传输方法、服务器节点、网关设备、网络系统 | |
CN116260747A (zh) | 终端测试设备的监测方法、装置及电子设备 | |
CN114338347A (zh) | 基于Ampere平台的故障信息带外获取方法及装置 | |
CN114024822A (zh) | 基于区块链的物联网设备管理方法、设备、服务器及介质 | |
CN113114755A (zh) | 设备间平滑切换方法、装置、电子设备及存储介质 | |
CN112312376A (zh) | 一种远程交互管理多功能电表的方法及系统 | |
CN111240867A (zh) | 一种信息通讯系统及方法 | |
CN116074355B (zh) | 一种ats数据采集方法、装置、系统及存储介质 | |
CN105323098B (zh) | 一种告警消息处理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150624 |
|
RJ01 | Rejection of invention patent application after publication |