消息推送方法及装置、存储介质和电子设备与流程

文档序号:18028165发布日期:2019-06-28 22:21阅读:138来源:国知局
消息推送方法及装置、存储介质和电子设备与流程

本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及消息推送方法及装置,存储介质和电子设备。



背景技术:

本部分旨在为权利要求中陈述的本发明的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。

各商家为了加强用户粘性,以及使用于拥有更好的体验,会通过多种方式向用户发送营销信息或业务信息,以吸引用户参加营销活动或者通知用户相应的业务信息。一般来说,需要发送信息的业务包括:运营促销活动、市场活动,以及订单支付信息、订单物流信息等繁杂多样的业务场景。对应的,可采用的信息发送方式包括:短信、小程序服务通知、apppush消息、微信公众号推送、邮件等等。



技术实现要素:

但是,在一些技术中,一方面,各商家或业务方直接对接信息推送的基础服务,各项功能由各自实现,导致技术方案参差不齐,大多数功能并不完善,并且存在重复开发的情况;另一方面,没有考虑到用户实际需求,容易导致信息发送方式、发送时间等参数设置不合理,影响用户体验;另一方面,还容易导致数据或资源的浪费。

因此,在现有技术中,不能实现对商家信息发送的标准化操作,这是非常令人烦恼的。

为此,非常需要一种改进的消息推送方法及装置、存储介质和电子设备,以实现信息的标准化发送。

在本上下文中,本发明的实施方式期望提供一种消息推送方法和装置、存储介质和电子设备。

根据本公开的一个方面,提供一种消息推送方法,包括:

响应于业务侧的数据推送请求,提取所述数据推送请求中的待推送数据;其中,所述待推送数据包括待推送消息,及对应的标记字段、信息接收人;

根据所述标记字段向数据库中读取对应的所述待推送消息的发送状态;

在所述待推送消息的发送状态为未发送时,调用所述应用业务侧对应的信息发送路径以发送所述待推送消息。

在本公开的一种示例性实施例中,在读取所述待推送消息的发送状态为未发送时,所述方法还包括:

将所述待推送消息写入所述数据库,并在写入成功时根据所述标记字段建立索引。

在本公开的一种示例性实施例中,所述将所述待推送消息写入所述数据库时,所述方法还包括:

在所述待推送消息写入失败时,生成提示信息并发送至预设对象。

在本公开的一种示例性实施例中,所述待推送数据还包括所述待推送消息对应的推送时间;

在读取所述待推送消息的发送状态为未发送时,所述方法还包括:

读取当前时间以判断是否满足所述推送时间,以用于在满足所述推送时间时执行对所述待推送消息的发送。

在本公开的一种示例性实施例中,所述待推送数据还包括:信息传输方式;

所述调用所述业务侧对应的信息发送路径以发送所述待推送消息包括:

在所述信息发送路径中以所述信息传输方式将所述待推送消息发送至所述信息接收人。

在本公开的一种示例性实施例中,所述调用所述业务侧对应的信息发送路径以发送所述待推送消息包括:

读取所述信息发送路径对应的预设信息发送方式,并根据该预设信息发送方式发送所述待推送消息。

在本公开的一种示例性实施例中,所述预设信息发送方式包括组合发送模式;

所述根据该预设信息发送方式发送所述待推送消息包括:

利用所述组合发送模式中的各信息发送方式分别发送所述待推送消息。

在本公开的一种示例性实施例中,所述预设信息发送方式包括所述信息发送路径对应的信息发送方式的优先级数据;

所述根据该预设信息发送方式发送所述待推送消息包括:

提取所述信息接收人对应的可用信息发送方式;

根据所述优先级数据,将所述可用信息发送方式中优先级最高的信息发送方式配置为该待推送消息的信息发送方式。

在本公开的一种示例性实施例中,所述信息发送方式包括:邮件、短信、app推送、公众号推送、小程序服务通知以及信息接收人关联社交账号推送中的任意一种或任意多种的组合。

在本公开的一种示例性实施例中,在发送所述待推送消息后,所述方法还包括:

读取所述待推送数据在所述信息发送路径中的发送结果,以便于在发送失败时调用候选发送方式进行传输。

在本公开的一种示例性实施例中,所述方法还包括:

读取所述信息发送路径中发送失败的待推送消息,并在发送失败的所述待推送消息数量大于预设阈值时,生成报警信息并发送至预设对象。

在本公开的一种示例性实施例中,响应于所述业务侧的注册请求,以对所述业务侧分配信息发送路径。

根据本公开的一个方面,提供一种消息推送装置,包括:

请求接收模块,用于响应于业务侧的数据推送请求,提取所述数据推送请求中的待推送数据;其中,所述待推送数据包括待推送消息,及对应的标记字段;

消息状态读取模块,用于根据所述标记字段向数据库中读取对应的所述待推送消息的发送状态;

发送执行模块,用于在发送状态为未发送时,调用所述应用业务侧对应的发送路径以发送所述待推送消息。

在本公开的一种示例性实施例中,所述装置还包括:

索引建立模块,用于在读取所述待推送消息的发送状态为未发送时,将所述待推送消息写入所述数据库,并在写入成功时根据所述标记字段建立索引。

在本公开的一种示例性实施例中,所述装置还包括:

提示信息生成模块,用于在所述待推送消息写入失败时,生成提示信息并发送至预设对象。

在本公开的一种示例性实施例中,所述待推送数据还包括所述待推送消息对应的推送时间;所述装置还包括:

推送时间识别模块,用于在读取所述待推送消息的发送状态为未发送时,读取当前时间以判断是否满足所述推送时间,以用于在满足所述推送时间时执行对所述待推送消息的发送。

在本公开的一种示例性实施例中,所述待推送数据还包括:信息传输方式;所述发送执行模块包括:

传输方式选择模块,用于在所述信息发送路径中以所述信息传输方式将所述待推送消息发送至所述信息接收人。

在本公开的一种示例性实施例中,所述发送执行模块包括:

传输方式读取模块,用于读取所述信息发送路径对应的预设信息发送方式,并根据该预设信息发送方式发送所述待推送消息。

在本公开的一种示例性实施例中,所述预设信息发送方式包括组合发送模式;所述传输方式读取模块包括:

组合模式传输模块,用于利用所述组合发送模式中的各信息发送方式分别发送所述待推送消息。

在本公开的一种示例性实施例中,所述预设信息发送方式包括所述信息发送路径对应的信息发送方式的优先级数据;所述传输方式读取模块包括:

优先级模式传输模块,用于提取所述信息接收人对应的可用信息发送方式,并根据所述优先级数据,将所述可用信息发送方式中优先级最高的信息发送方式配置为该待推送消息的信息发送方式。

在本公开的一种示例性实施例中,所述信息发送方式包括:邮件、短信、app推送、公众号推送、小程序服务通知以及信息接收人关联社交账号推送中的任意一种或任意多种的组合。

在本公开的一种示例性实施例中,所述装置还包括:

传输结果识别模块,用于在发送所述待推送消息后,读取所述待推送数据在所述信息发送路径中的发送结果,以便于在发送失败时调用候选发送方式进行传输。

在本公开的一种示例性实施例中,所述装置还包括:

报警模块,用于读取所述信息发送路径中发送失败的待推送消息,并在发送失败的所述待推送消息数量大于预设阈值时,生成报警信息并发送至预设对象。

在本公开的一种示例性实施例中,所述装置还包括:

注册模块,用于响应于所述业务侧的注册请求,以对所述业务侧分配信息发送路径。

根据本公开的一个方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时上述的消息推送方法。

根据本公开的一个方面,提供一种电子设备,包括:

处理器;以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的消息推送方法。

根据本发明实施方式的消息推送方法,能够响应不同业务侧的数据推送请求,从而为业务侧提供标准化的消息推送接口,使不同业务的接入更加方便、简洁。各业务侧仅需要预先确定待发送消息的消息内容及对应的接收人等参数,避免各业务平台之间对基础服务的重复开发工作。此外,通过在待推送数据中添加标记字段,并根据该标记字段向数据库中验证发送状态,可以准确的判断各待推送消息的发送状态,避免消息的重复发送或漏发。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示意性地示出了根据本发明实施方式的消息推送方法的流程图;

图2示意性地示出了根据本发明实施方式的消息推送方法的流程图;

图3示意性地示出了根据本发明实施方式的待推送消息写入数据库的方法的流程图;

图4示意性地示出了根据本发明实施方式的待推送数据中不包含信息发送方式的处理方法的流程图;

图5示意性地示出了根据本发明实施方式的待推送数据中包含信息发送方式的处理方法的流程图;

图6示意性地示出了根据本发明实施方式的消息推送装置的方框图;

图7示出了根据本发明实施方式的存储介质的示意图;以及

图8示意性示出了根据发明实施方式的电子设备的方框图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提供一种消息推送方法、消息推送装置、存储介质和电子设备。

在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐述本发明的原理和精神。

发明概述

本发明人发现,现有技术中,各上层业务,例如各电商平台、购物网站以及社交网站等均需要向用户推送服务信息或促销信息等消息。各个业务方需要直接对接消息推送的基础服务,但由于各业务方的技术方案各不相同,技术方案的水平参差不齐,容易导致消息推送不及时,消息不能准确送达,或者推送方式不合适导致用户体验较差,以及对消息推送的异常情况不能及时的发现和处理等情况。另外,由于各业务需要各自开发消息推送的基础服务,产生重复开发的情况。

鉴于上述内容,本发明的基本思想在于:根据本发明实施方式的消息推送方法和消息推送装置,通过响应不同业务侧的数据推送请求,从而为业务侧提供标准化的消息推送接口,使不同业务的接入更加方便、简洁。各业务侧仅需要预先确定待发送消息的消息内容及对应的接收人等参数,避免各业务平台之间对基础服务的重复开发工作。进而提供一消息推送平台,可以适应不同的业务场景,并提供标准化的信息推送服务。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

示例性方法

下面结合图1来描述根据本发明示例性实施方式的消息推送方法。

参考图1,所述消息推送方法可以包括以下步骤:

s1、响应于业务侧的数据推送请求,提取所述数据推送请求中的待推送数据;其中,所述待推送数据包括待推送消息,及对应的标记字段、信息接收人;

s2、根据所述标记字段向数据库中读取对应的所述待推送消息的发送状态;

s3、在所述待推送消息的发送状态为未发送时,调用所述应用业务侧对应的信息发送路径以发送所述待推送消息。

在本发明实施方式的消息推送方法中,通过响应不同业务侧的数据推送请求,从而为业务侧提供标准化的消息推送接口,使不同业务的接入更加方便、简洁。各业务侧仅需要预先确定待发送消息的消息内容及对应的接收人等参数,避免各业务平台之间对基础服务的重复开发工作。此外,通过在待推送数据中添加标记字段,并根据该标记字段向数据库中验证发送状态,可以准确的判断各待推送消息的发送状态,避免消息的重复发送或漏发,最大程度的保证消息能够被送达用户。

在步骤s0中,响应于所述业务侧的注册请求,以对所述业务侧分配信息发送路径。

在本公开的示例性实施方式中,参考图2所示,各业务实体,例如电商网站、购物平台、社交网站等,可以首先在消息推送平台进行注册。举例来说,注册内容可以包括各业务端的业务名称、业务内容描述等参数。消息推送平台在接收到业务侧的注册请求后,便可以为各业务侧预先分配信息发送路径。进一步的,还可以配置各信息发送路径对应的信息发送方式,各信息发送路径对应的可以具有一种或多种信息发送方式。从而避免在为各业务侧推送消息时,由于信息发送路径被占用,或者信息发送路径通信不稳定以及系统异常等情况导致待推送消息不能及时发送,或发送错误的情况。举例来说,某购物网站在消息推送平台的注册可以包括:业务名:商品砍价免费拿;业务描述:用户通过分享商品给好友进行商品砍价,当商品砍成0元时按指定的信息发送方式将消息推送至用户。

在步骤s1中,响应于业务侧的数据推送请求,提取所述数据推送请求中的待推送数据;其中,所述待推送数据包括待推送消息,及对应的标记字段、信息接收人。

在本公开的示例性实施方式中,各业务侧可以向消息推送平台发送数据推送请求。在该数据推送请求中包括待推送数据,待推送数据至少可以包括待推送消息的具体消息内容、对应的信息接收人,以及待推送消息的标记字段。消息推送平台在接收到业务侧的数据推送请求后,可以对请求中的各项参数进行提取,并验证。

举例来说,业务侧可以根据待发送的内容,以及其他实际需求确定待推送数据的具体参数。例如,在待推送消息的具体内容为促销广告、营销活动或者网站活动时,对应的信息接收人可以是指定的一批用户,例如用户等级为普通用户或钻石用户,或者全体用户等。在待推送消息为物流配送消息、快递签收信息或其他指定信息接收人的消息时,对应的信息接收人可以是指定的某一个用户,或者相互关联的多个用户等。

在本公开的示例性实施方式中,对于待推送消息的标记字段来说,可以使用幂等标记字段对待推送消息进行标记。并可以预先配置幂等标记字段的结构。举例来说,字段结构可以包括订单id+幂等标记位+状态位,或者订单id+业务id;等格式。当然,在本公开的其他示例性实施方式中,还可以为字段结构设置验证位、时间位等结构,本公开对此不做特殊限定。

在本公开的一些示例性实施例中,上述的待推送数据中还可以包括所述待推送消息对应的推送时间。举例来说,业务侧可以预先设定待推送消息的推送时间段,例如设置9:00-17:00,或者12:00-14:00;或者,也可以设置在某一时刻进行推送,例如设置推送时间为10:00或者19:00等等;或者,也可以设置消息为即时发送,例如对于物流信息、订单状态信息等。具体的推送时间可以根据实际业务场景或消息内容来确定。

此外,在本公开的一些示例性实施例中,待推送数据也可以不设置推送时间,由消息推送平台在提取各待推送消息的具体内容后进行分类,再按照预先设定的推送时间规则进行发送。例如,根据分类结果,确定待推送消息是即时消息、促销信息或者服务信息等等,推送时间规则可以包括对于即时消息即时发送,促销信息10:00-12:00发送,服务信息11:00-14:00发送等等。

在本公开的一些示例性实施例中,进一步的,业务侧发送的数据推送请求中,还可以包括一个或多个信息传输方式,用于预先确定待推送消息通过何种方式发送至信息接收人。举例来说,信息传输方式可以是:邮件、短信、app推送、公众号推送、小程序服务通知以及信息接收人关联社交账号推送中的任意一种或任意多种的组合。

对于业务侧来说,可以预先为待推送消息仅配置一种信息传输方式,例如,对于订单物流信息配置app推送,对于推广信息设置公众号推送等等。或者,也可以设置多种发送方式组合方式的模式,例如,对于退款信息可以配置短信、app推送和小程序服务通知的组合模式;对于促销广告设置app推送、公众号推送、小程序服务通知以及邮件的组合推送方式等等。具体的消息推送方式可以根据待推送消息的内容,或者信息接收人等属性或参数来确定。本公开对此不做特殊限定。

或者,在本公开的其他示例性实施方式中,业务侧也可以仅预先配置各种信息推送服务的优先级,再由消息推送平台根据该优先级顺序确定具体的信息发送方式。例如,可以预先配置优先级由高到低依次为:app推送、短信、小程序服务通知、公众号推送、邮件社交账号推送等。具体的优先级顺序可以根据待发送消息的相关内容,以及发送时间确定,本公开对此不做特殊限定。

在步骤s2中,根据所述标记字段向数据库中读取对应的所述待推送消息的发送状态。

在本公开的示例性实施方式中,消息推送平台在提取待推送数据的各项具体参数后,可以首先利用标记字段向数据库提取对应的待推送消息的发送状态,实现对发送状态的验证。具体来说,可以根据幂等标记字段的内容向预设数据库,例如mysql数据库或者云存储单元,查询数据库中是否包含该幂等字段的数据。若存在相同的幂等字段,则表示该待推送消息已经发送过,则其状态为已发送。若经查询后数据库中没有相同的幂等字段,则表示该待推送消息没有发送过,则其状态为未发送。

在待推送消息的发送状态为未发送时,参考图3所示,上述的步骤s2还可以包括:

步骤s210,将所述待推送消息写入所述数据库,并在写入成功时根据所述标记字段建立索引。

在本公开的示例性实施方式中,在确定待推送消息为发送时,可以先将其写入数据库中,并在写入成功时,在数据中根据幂等标记字段建立唯一索引,以确保待发送消息在并发的情况下,多条幂等字段相同的数据写入数据库时只能成功写入一条数据,避免用户接收到多条内容重复的消息数据。

步骤s220,在所述待推送消息写入失败时,生成提示信息并发送至预设对象。

基于上述内容,本公开的示例性实施方式中,若待推送消息写入失败,便可以生成对应的提示信息,发送至管理员或者业务侧的指定用户或地址,便于尝试重新写入该待推送消息,避免消息的漏发。

在步骤s3中,在所述待推送消息的发送状态为未发送时,调用所述应用业务侧对应的信息发送路径以发送所述待推送消息。

在本公开的示例性实施方式中,在确定待发送消息未发送时,便可以对其执行发送操作。具体来说,参考图4所示,可以包括:

步骤s310,读取当前时间以判断是否满足所述推送时间,以用于在满足所述推送时间时执行对所述待推送消息的发送。

在对待发送消息执行发送操作前,可以首先对推送时间及当前时间进行读取,判断该待推送消息是否超出了预设的推送时间,若没有超过推送时间便可以执行对应的发送操作。若超过预设的推送时间,则不发送该待推送消息。通过设置消息的发送时间,实现对待推送消息的限制发送和准时发送,并能够避免由于发送时间不恰当导致对用户造成的打扰。

步骤s320,在所述信息发送路径中以所述信息传输方式将所述待推送消息发送至所述信息接收人。

在本公开的示例性实施方式中,参考图4所示,在待推送数据中可以不包含信息发送方式,而使用各业务侧的信息发送路径预先关联的信息发送方式对待发送消息进行发送。则消息推送平台在确定待推送消息未超过预设的推送时间后,便可以在预先配置的信息发送路径,利用已关联的信息传输方式对待发送消息执行发送。

具体来说,各业务可以具有一个或多个信息发送路径,各发送路径可以对应一种预先指定的信息传输方式。例如,在业务端仅具有一个信息发送路径时,便可以使用在该信息发送路径利用预先配置的信息传输方式向用户推送消息。或者,业务m对应的信息发送路径包括路径a,对应的信息传输方式为app推送;路径b,对应的信息传输方式为邮件推送。在判断未超出推送时间时,便可以对业务m的促销信息在路径b以邮件的方式向用户推送相关的促销消息。或者,将订单数据在路径a以app消息的方式发送至用户。

或者,信息发送路径对应的信息传输方式也可以是预先指定的多种信息传输方式组合的模式,适用于对信息触达率较高的业务或应用场景。例如,业务n对应的信息发送路径c,对应的信息传输方式包括:app推送、公众号推送以及邮件推送的组合模式。消息推送平台在判断未超出推送时间时,便可以分别通过app推送、公众号推送以及邮件推送的方式同时向用户发送消息。从而确保用户能够接收到对应的消息,避免遗漏。

此外,信息发送路径对应的信息传输模式也可以是预先确定的多种信息传输方式的优先级顺序。例如,业务p对应的信息发送路径d,对应的信息传输方式的优先级顺序由高到低包括:短信、邮件、app推送、公众号推送、小程序服务通知、邮件社交账号推送。则消息推送平台在判断未超出推送时间时,便可以提取各信息接收人的可用信息发送方式,再根据预先设定的优先级顺序,选择各信息接收人的可用信息发送方式中优先级最高的信息发送方式进行发送。例如,若读取到信息接收人1的可用信息发送方式包括公众号推送、小程序服务通知,则根据优先级顺序该信息接收人1的信息传输方式为公众号推送;若读取到信息接收人2的可用信息发送方式包括邮件、短信、app推送,则根据优先级顺序该信息接收人2的信息传输方式为短信推送。

或者,也可以根据业务场景划定各信息传输方式的优先级顺序。例如,例如用户参与小程序上的商品砍价活动,业务侧期望优先通过小程序服务通知触达用户,当小程序服务通知因formid(表单标识)耗尽无法触达时,通过短信的方式触达用户,若没有用户的手机号码则通过公众号向用户推送,确保用户能知晓最新砍价活动进展,但也不会因为消息过多骚扰用户。那么该业务实例对应的优先级顺序可以设置为小程序服务通知、短信、公众号推送。

此外,在本公开的一些示例性实施例中,参考图5所示,上述的方法还可以包括:

步骤s330,读取所述信息发送路径对应的预设信息发送方式,并根据该预设信息发送方式发送所述待推送消息。

在本公开的示例性实施方式中,参考图5所示,待推送数据中也可以包含待推送消息指定的信息传输方式。在消息推送平台判断未超出推送时间时,便可以根据指定的信息传输方式调用对应的信息发送路径,从而以指定的信息传输方式向用户发送推送消息。

举例来说,待推送数据中指定的信息传输方式可以是根据不同的信息接收人配置的不同信息传输方式,也可以是根据不同的消息内容配置的不同的信息传输方式。例如,在指定的信息传输方式为短信时,则待推送数据中则应当包含信息接收人的电话号码;若指定的信息传输方式为邮件时,则推送数据中应当包含信息接收人的邮箱地址。当然,在本公开的其他示例性实施例中,待推送数据中也可以仅包含信息传输方式,消息推送平台在读取各待推送消息对应的指定的信息传输方式后,再向预设的用户数据库中提取对应的数据,例如ip地址、电话号码或邮箱地址等。

对于小程序服务通知来说,用户在使用小程序的过程中会产生对应的信息资源,例如登陆操作、将商品加入购物车、提交订单、付款以及查询等操作,均可以产生信息资源。该信息资源与用户一一对应并与用户相互绑定,且该信息资源具有一定的生命周期。可以利用该些信息资源建立资源池,并标记各信息资源的剩余生命周期,以及生成该资源信息对应的用户行为。在指定的信息传输方式为小程序服务通知时,便可以在资源池中选择生命周期较短的用户优先进行发送,例如选择生命周期小于3天的用户;或者,也可以选择存在指定操作行为的用户优先进行发送,例如选择登陆用户或者付款用户。并在向该些用户发送消息后在资源池删除对应的信息资源。从而保证在使用小程序服务通知时,可以最大程度的利用信息资源,并保证待推送消息可以准确的发送至各用户。

或者,在本公开的其他示例性实施例中,待推送数据中指定的信息传输方式也可以是以上述实施例中的指定的多种信息传输方式的组合模式,例如邮件、社交账号推送的组合,或者邮件、短信、小程序服务通知组合的方式,等等。在读取指定的多种信息传输方式的组合后,调用对应的信息发送路径,并利用各信息传输方式进行发送。

或者,待推送数据中指定的信息传输方式也可以是信息发送方式的优先级数据,从而使得消息推送平台在读取该优先级数据后,向预设数据库中提取各信息接收人的可用信息发送方式,并选择优先级最高的信息发送方式,并调用对应的信息发送路径,利用该信息发送方式向用户推送消息。从而最大程度的保证待推送消息能够送达用户,且不会过多的向用户发送相同的信息,减少资源的浪费,并避免骚扰用户。

基于上述内容,在本公开的一些示例性实施例中,参考图2所示,上述的方法还可以包括:

在步骤s4中,读取所述待推送数据在所述信息发送路径中的发送结果,以便于在发送失败时调用候选发送方式进行传输。

在本公开的示例性实施方式中,在通过信息发送路径发送待推送消息后,还可以对发送结果进行读取,判断待发送消息是否发送成功。若消息发送成功,则可以对其不进行操作;若消息发送失败,则可以使用备用的信息发送方式或者调用备用的信息发送路径以重新发送该消息。

此外,在本公开的一些示例性实施例中,参考图2所示,上述方法还可以包括:

在步骤s5中,读取所述信息发送路径中发送失败的待推送消息,并在发送失败的所述待推送消息数量大于预设阈值时,生成报警信息并发送至预设对象。

在本公开的示例性实施方式中,对于各信息发送路径来说,可以实时的统计发送失败的待推送消息的数量,并提取对应的相关参数。并在发送失败的消息数量达到预设阈值时,生成报警信息。并可以将报警信息以及对应待推送消息的相关参数发送至消息推送平台的管理员或者业务侧的指定对象。便于及时处理系统中的异常,并对发送失败的消息进行原因分析。发送方式可以是邮件、短信等。

综上所述,本公开提供的方法可以在各业务侧注册时分配对应的信息发送路径,能够对接多个不同的上层业务,并为其提供标准的信息推送接口,使不同的业务侧可以仅提供待发送的消息内容、信息接收人,以及发送时间和/或发送方式,便可以通过本消息推送平台向将消息推送至对应的用户。减轻业务侧的数据处理压力,并能够有效的提升用户体验。通过在待推送数据中添加标记字段,可以在数据库中准确的判断对应的待发送消息的发送状态,避免重复发送。由于在待推送数据中添加推送时间,可以使待推送消息在指定的时间发送至用户,避免发送时间不合适导致对用户的打扰。此外,通过设置不同的信息传输方式,可以满足上层业务多种业务消息场景的需求,并使得消息能够准确发送、且最大程度的保证可以发送至用户。

示例性装置

在介绍了本发明示例性实施方式的消息推送方法之后,接下来,参考图6对本发明示例性实施方式的消息推送装置进行描述。

参考图6所示,本发明示例性实施方式的消息推送装置10可以包括:请求接收模块101,消息状态读取模块102以及发送执行模块103,其中:

所述请求接收模块101可以用于响应于业务侧的数据推送请求,提取所述数据推送请求中的待推送数据;其中,所述待推送数据包括待推送消息,及对应的标记字段

所述消息状态读取模块102可以用于根据所述标记字段向数据库中读取对应的所述待推送消息的发送状态。

所述发送执行模块103可以用于在发送状态为未发送时,调用所述应用业务侧对应的发送路径以发送所述待推送消息。

根据本公开的示例性实施例,所述装置还包括:索引建立模块(图中未示出)。

所述索引建立模块可以用于在读取所述待推送消息的发送状态为未发送时,将所述待推送消息写入所述数据库,并在写入成功时根据所述标记字段建立索引。

根据本公开的示例性实施例,所述装置还包括:提示信息生成模块(图中未示出)。

所述提示信息生成模块可以用于在所述待推送消息写入失败时,生成提示信息并发送至预设对象。

根据本公开的示例性实施例,所述待推送数据还包括所述待推送消息对应的推送时间;所述装置还包括:推送时间识别模块(图中未示出)。

所述推送时间识别模块可以用于在读取所述待推送消息的发送状态为未发送时,读取当前时间以判断是否满足所述推送时间,以用于在满足所述推送时间时执行对所述待推送消息的发送。

根据本公开的示例性实施例,所述待推送数据还包括:信息传输方式;所述发送执行模块包括:传输方式选择模块(图中未示出)。

所述传输方式选择模块可以用于在所述信息发送路径中以所述信息传输方式将所述待推送消息发送至所述信息接收人。

根据本公开的示例性实施例,所述发送执行模块包括:传输方式读取模块(图中未示出)。

所述传输方式读取模块可以用于读取所述信息发送路径对应的预设信息发送方式,并根据该预设信息发送方式发送所述待推送消息。

根据本公开的示例性实施例,所述预设信息发送方式包括组合发送模式;所述传输方式读取模块包括:组合模式传输模块(图中未示出)。

所述组合模式传输模块可以用于利用所述组合发送模式中的各信息发送方式分别发送所述待推送消息。

根据本公开的示例性实施例,所述预设信息发送方式包括所述信息发送路径对应的信息发送方式的优先级数据;所述传输方式读取模块包括:

优先级模式传输模块,用于提取所述信息接收人对应的可用信息发送方式,并根据所述优先级数据,将所述可用信息发送方式中优先级最高的信息发送方式配置为该待推送消息的信息发送方式。

根据本公开的示例性实施例,所述信息发送方式包括:邮件、短信、app推送、公众号推送、小程序服务通知以及信息接收人关联社交账号推送中的任意一种或任意多种的组合。

根据本公开的示例性实施例,所述装置还包括:传输结果识别模块(图中未示出)。

所述传输结果识别模块可以用于在发送所述待推送消息后,读取所述待推送数据在所述信息发送路径中的发送结果,以便于在发送失败时调用候选发送方式进行传输。

根据本公开的示例性实施例,所述装置还包括:报警模块(图中未示出)。

所述报警模块可以用于读取所述信息发送路径中发送失败的待推送消息,并在发送失败的所述待推送消息数量大于预设阈值时,生成报警信息并发送至预设对象。

根据本公开的示例性实施例,所述装置还包括:注册模块(图中未示出)。

所述注册模块可以用于响应于所述业务侧的注册请求,以对所述业务侧分配信息发送路径。

由于本发明实施方式的消息推送装置的各个功能模块与上述消息推送方法发明实施方式中相同,因此在此不再赘述。

示例性存储介质

在介绍了本发明示例性实施方式的音频播放方法和装置、音频分享方法和装置之后,接下来,参考图7对本发明示例性实施方式的存储介质进行说明。

参考图7所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如java、c++等,还包括常规的过程式程序设计语言-诸如"c"语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

示例性电子设备

在介绍了本发明示例性实施方式的存储介质之后,接下来,参考图8对本发明示例性实施方式的电子设备进行说明。

图8显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述"示例性方法"部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图1中所示的步骤s1至步骤s3,或者所述处理单元810可以执行如图2中所示的步骤s0至步骤s5。

存储单元820可以包括易失性存储单元,例如随机存取存储单元(ram)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(rom)8203。

存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线830可以包括数据总线、地址总线和控制总线。

电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(i/o)接口850进行。电子设备800还包括显示单元840,其连接到输入/输出(i/o)接口850,用于进行显示。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了音频播放装置和音频分享装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1