通知消息推送方法、装置及电子设备转让专利

申请号 : CN201810829118.3

文献号 : CN109067864B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘劲宇

申请人 : 网易(杭州)网络有限公司

摘要 :

本发明实施例提供一种通知消息推送方法、装置及电子设备,该方法包括:获取推送消息,根据上述推送消息确定对应的接收端信息,根据上述接收端信息筛选出待发送的推送消息,根据上述待发送的推送消息的摘要与上述接收端信息生成待发送的通知消息,按照预设规则将上述待发送的通知消息写入发送队列。实现了通过筛选减少要发送的通知消息,节省传输资源,可以更好地保证有效接收端及时收到通知消息。

权利要求 :

1.一种通知消息推送方法,其特征在于,包括:

获取推送消息,根据所述推送消息确定对应的接收端信息;

根据所述接收端信息筛选出待发送的推送消息;

根据所述待发送的推送消息的摘要与所述接收端信息生成待发送的通知消息,所述待发送的推送消息的摘要为所述待发送的推送消息的关键信息或者所述待发送的推送消息最靠前的预设个数字符;

按照预设规则将所述待发送的通知消息写入发送队列;

所述根据所述接收端信息筛选出待发送的推送消息,包括:根据所述接收端信息筛选出符合预设条件的有效接收端,所述预设条件至少包括:接收端已安装、接收端开启通知功能、接收端当前为非活跃状态;

将所述有效接收端对应的推送消息确定为待发送的推送消息。

2.根据权利要求1所述的方法,其特征在于,所述按照预设规则将所述待发送的通知消息写入发送队列,包括:根据所述接收端信息将同一所述有效接收端对应的多条待发送通知消息进行合并后写入发送队列。

3.根据权利要求1所述的方法,其特征在于,所述按照预设规则将所述待发送的通知消息写入发送队列,包括:根据所述接收端信息对所述通知消息划分组别,分别写入各组别对应的队列。

4.根据权利要求1或2或3所述的方法,其特征在于,所述每个发送队列对应一发送池,所述发送池包含多个用于存储所述通知消息的分块;所述按照预设规则将所述待发送的通知消息写入发送队列之后,还包括:从所述发送队列中获取所述通知消息;

判断所述发送队列对应的发送池的当前分块是否存在可存储空间;

如果所述当前分块存在可存储空间,将所述通知消息写入所述当前分块;

如果所述当前分块不存在可存储空间,将所述通知消息写入所述当前分块的下一分块。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:从所述发送池中按顺序依次获取所述通知消息,将所述通知消息发送至系统服务器。

6.根据权利要求1所述的方法,其特征在于,所述根据所述待发送的推送消息的摘要与所述接收端信息生成待发送的通知消息之后,还包括:在生成第一接收端待发送的通知消息的频次大于预设阈值后,停止将所述第一接收端待发送的通知消息写入发送队列。

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:若生成第一接收端待发送的通知消息的频次降低至所述预设阈值以内,则恢复将所述第一接收端待发送的通知消息写入发送队列。

8.一种通知消息推送装置,其特征在于,包括:

确定模块,用于获取推送消息,根据所述推送消息确定对应的接收端信息;

选择模块,用于根据所述接收端信息筛选出待发送的推送消息;

生成模块,用于根据所述待发送的推送消息的摘要与所述接收端信息生成待发送的通知消息,所述待发送的推送消息的摘要为所述待发送的推送消息的关键信息或者所述待发送的推送消息最靠前的预设个数字符;

写入模块,用于按照预设规则将所述待发送的通知消息写入发送队列;

其中,所述选择模块,具体用于根据所述接收端信息筛选出符合预设条件的有效接收端,所述预设条件至少包括:接收端已安装、接收端开启通知功能、接收端当前为非活跃状态;将所述有效接收端对应的推送消息确定为待发送的推送消息。

9.根据权利要求8所述的装置,其特征在于,所述写入模块,具体用于根据所述接收端信息将同一所述有效接收端对应的多条待发送通知消息进行合并后写入发送队列。

10.根据权利要求8所述的装置,其特征在于,所述写入模块,具体用于根据所述接收端信息对所述通知消息划分组别,分别写入各组别对应的队列。

11.根据权利要求8或9或10所述的装置,其特征在于,所述每个发送队列对应一发送池,所述发送池包含多个用于存储所述通知消息的分块;所述装置还包括:获取模块和判断模块;

所述获取模块,用于从所述发送队列中获取所述通知消息;

所述判断模块,用于判断所述发送队列对应的发送池的当前分块是否存在可存储空间;如果所述当前分块存在可存储空间,将所述通知消息写入所述当前分块;如果所述当前分块不存在可存储空间,将所述通知消息写入所述当前分块的下一分块。

12.根据权利要求11所述的装置,其特征在于,还包括:发送模块,用于从所述发送池中按顺序依次获取所述通知消息,将所述通知消息发送至系统服务器。

13.根据权利要求8所述的装置,其特征在于,所述写入模块,还用于在生成第一接收端待发送的通知消息的频次大于预设阈值后,停止将所述第一接收端待发送的通知消息写入发送队列。

14.根据权利要求13所述的装置,其特征在于,所述写入模块,还用于若生成第一接收端待发送的通知消息的频次降低至所述预设阈值以内,则恢复将所述第一接收端待发送的通知消息写入发送队列。

15.一种电子设备,其特征在于,包括:处理器和存储器;

所述存储器用于存储程序,所述处理器调用所述存储器存储的程序,以执行权利要求

1-7任一项所述的方法。

16.一种计算机存储介质,其特征在于,包括程序,该程序在被处理器执行时用于执行权利要求1-7任一项所述的方法。

说明书 :

通知消息推送方法、装置及电子设备

技术领域

[0001] 本发明涉及通信技术,尤其涉及一种通知消息推送方法、装置及电子设备。

背景技术

[0002] 随着智能终端的发展,智能终端的系统、以及各种应用程序也在不断发展。用户可以根据自己的需求在终端上安装各种不同的应用程序(APP),这些APP需要给用户推送消息,具体地,终端上的APP会通过后台服务器获取推送消息,但是应用服务器还需要给用户发送推送通知消息,例如在APP未打开时显示通知消息提示用户。这种情况下应用服务器就会将消息推送到终端的系统服务器,由系统服务器来向终端推送通知消息。
[0003] 现有技术中,在某个终端的APP需要接收大量通知消息时,会占用应用服务器往系统服务器的传输通知消息的通道,导致其他终端的APP不能及时收到通知消息。

发明内容

[0004] 本发明提供一种通知消息推送方法及装置,用于保证通知消息传输的时间以及时序。
[0005] 本发明第一方面提供一种通知消息推送方法,包括:
[0006] 获取推送消息,根据所述推送消息确定对应的接收端信息;
[0007] 根据所述接收端信息筛选出待发送的推送消息;
[0008] 根据所述待发送的推送消息的摘要与所述接收端信息生成待发送的通知消息;
[0009] 按照预设规则将所述待发送的通知消息写入发送队列。
[0010] 一种可能的设计中,所述根据所述接收端信息筛选出待发送的推送消息,包括:
[0011] 根据所述接收端信息筛选出符合预设条件的有效接收端,所述预设条件至少包括:接收端已安装、接收端开启通知功能、接收端当前为非活跃状态;
[0012] 将所述有效接收端对应的推送消息确定为待发送的推送消息。
[0013] 一种可能的设计中,所述按照预设规则将所述待发送的通知消息写入发送队列,包括:
[0014] 根据所述接收端信息将同一所述有效接收端对应的多条待发送通知消息进行合并后写入发送队列。
[0015] 一种可能的设计中,所述按照预设规则将所述待发送的通知消息写入发送队列,包括:
[0016] 根据所述接收端信息对所述通知消息划分组别,分别写入各组别对应的队列。
[0017] 一种可能的设计中,所述每个发送队列对应一发送池,所述发送池包含多个用于存储所述通知消息的分块;所述按照预设规则将所述待发送的通知消息写入发送队列之后,还包括:
[0018] 从所述发送队列中获取所述通知消息;
[0019] 判断所述发送队列对应的发送池的当前分块是否存在可存储空间;
[0020] 如果所述当前分块存在可存储空间,将所述通知消息写入所述当前分块;
[0021] 如果所述当前分块不存在可存储空间,将所述通知消息写入所述当前分块的下一分块。
[0022] 一种可能的设计中,所述方法还包括:
[0023] 从所述发送池中按顺序依次获取所述通知消息,将所述通知消息发送至系统服务器。
[0024] 一种可能的设计中,所述根据所述待发送的推送消息的摘要与所述接收端信息生成待发送的通知消息之后,还包括:
[0025] 在生成第一接收端待发送的通知消息的频次大于预设阈值后,停止将所述第一接收端待发送的通知消息写入发送队列。
[0026] 一种可能的设计中,所述方法还包括:
[0027] 若生成第一接收端待发送的通知消息的频次降低至所述预设阈值以内,则恢复将所述第一接收端待发送的通知消息写入发送队列。
[0028] 本发明第二方面提供一种通知消息推送装置,包括:
[0029] 确定模块,用于获取推送消息,根据所述推送消息确定对应的接收端信息;
[0030] 选择模块,用于根据所述接收端信息筛选出待发送的推送消息;
[0031] 生成模块,用于根据所述待发送的推送消息的摘要与所述接收端信息生成待发送的通知消息;
[0032] 写入模块,用于按照预设规则将所述待发送的通知消息写入发送队列。
[0033] 一种可能的设计中,所述选择模块,具体用于根据所述接收端信息筛选出符合预设条件的有效接收端,所述预设条件至少包括:接收端已安装、接收端开启通知功能、接收端当前为非活跃状态;将所述有效接收端对应的推送消息确定为待发送的推送消息。
[0034] 一种可能的设计中,所述写入模块,具体用于根据所述接收端信息将同一所述有效接收端对应的多条待发送通知消息进行合并后写入发送队列。
[0035] 一种可能的设计中,所述写入模块,具体用于根据所述接收端信息对所述通知消息划分组别,分别写入各组别对应的队列。
[0036] 一种可能的设计中,所述每个发送队列对应一发送池,所述发送池包含多个用于存储所述通知消息的分块;所述装置还包括:获取模块和判断模块;
[0037] 所述获取模块,用于从所述发送队列中获取所述通知消息;
[0038] 所述判断模块,用于判断所述发送队列对应的发送池的当前分块是否存在可存储空间;如果所述当前分块存在可存储空间,将所述通知消息写入所述当前分块;如果所述当前分块不存在可存储空间,将所述通知消息写入所述当前分块的下一分块。
[0039] 一种可能的设计中,所述装置还包括:
[0040] 发送模块,用于从所述发送池中按顺序依次获取所述通知消息,将所述通知消息发送至系统服务器。
[0041] 一种可能的设计中,所述写入模块,还用于在生成第一接收端待发送的通知消息的频次大于预设阈值后,停止将所述第一接收端待发送的通知消息写入发送队列。
[0042] 一种可能的设计中,所述写入模块,还用于若生成第一接收端待发送的通知消息的频次降低至所述预设阈值以内,则恢复将所述第一接收端待发送的通知消息写入发送队列。
[0043] 本发明第三方面提供一种电子设备,包括:处理器和存储器;
[0044] 存储器用于存储程序,处理器调用存储器存储的程序,以执行本发明第一方面提供的方法。
[0045] 本发明第四方面提供一种电子设备,包括用于执行以上第一方面的方法的至少一个处理元件(或芯片)。
[0046] 本发明第五方面提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行以上第一方面的方法。
[0047] 本发明实施例提供的通知消息推送方法及装置中,获取推送消息,根据上述推送消息确定对应的接收端信息,根据上述接收端信息筛选出待发送的推送消息,根据上述待发送的推送消息的摘要与上述接收端信息生成待发送的通知消息,按照预设规则将上述待发送的通知消息写入发送队列。实现了通过筛选减少要发送的通知消息,节省传输资源,可以更好地保证有效接收端及时收到通知消息。

附图说明

[0048] 图1为一种通信系统示意图;
[0049] 图2为本发明一实施例提供的通知消息推送方法流程示意图;
[0050] 图3为本发明另一实施例提供的通知消息推送方法流程示意图;
[0051] 图4为本发明一实施例提供的通知消息推送装置结构示意图;
[0052] 图5为本发明另一实施例提供的通知消息推送装置结构示意图;
[0053] 图6为本发明另一实施例提供的通知消息推送装置结构示意图;
[0054] 图7为本发明一实施例提供的电子设备结构示意图。

具体实施方式

[0055] 图1为一种通信系统示意图,该系统包括:系统服务器01、应用服务器02、终端03。
[0056] 终端03上可以安装一个或多个APP,APP通过网络与后台的应用服务器02通信,不同APP由不同的应用服务器02提供服务。
[0057] 系统服务器01是终端所运行系统的后台服务器,例如苹果手机的后台服务器是ISO服务器,还有安卓服务器、小米服务器等,在此不做限制。
[0058] 应用服务器02需要给终端上某个APP发送通知消息时,会把通知消息传输到系统服务器01,由系统服务器01给终端发送通知消息,例如在锁屏上显示通知消息、响铃或震动等。
[0059] 图2为本发明一实施例提供的通知消息推送方法流程示意图,该方法的执行主体可以是服务器,例如应用服务器。如图2所示,该方法包括:
[0060] S201、获取推送消息,根据上述推送消息确定对应的接收端信息。
[0061] 其中,接收端为APP,即以终端上的APP为标识进行区分。上述接收端信息可以包括下述一项或多项:接收端的用户身份证明(UID)、接收端标识(例如苹果系统对应的token)等。
[0062] 这里推送消息可以是即时聊天信息,也可以是应用服务器主动推送的一些消息等。获取到新的推送消息后,可以获知推送消息本身以及要推送的接收端。
[0063] S202、根据上述接收端信息筛选出待发送的推送消息。
[0064] 确定了不同推送消息的接收端信息,就可以知道哪些推送消息需要发送,哪些不需要发送,即进一步筛选推送消息,以减少需要发送的通知消息。
[0065] S203、根据上述待发送的推送消息的摘要与上述接收端信息生成待发送的通知消息。
[0066] 根据获取的推送消息生成推送消息摘要,推送消息摘要一般可以是推送消息的关键信息、或者是推送消息最靠前的预设个数字符等。进而按照通知消息的预设格式,生成待发送的通知消息。
[0067] 以苹果的ISO系统为例,通知消息的格式是苹果推送通知服务(Apple  Push Notification service,简称APNs)消息格式。
[0068] 需要说明的是,本申请中,推送消息是实际要推送的消息,而通知消息则是为了向用户通知有推送消息的消息。
[0069] S204、按照预设规则将上述待发送的通知消息写入发送队列。
[0070] 进而发送队列会按照顺序将待发送的通知消息进行发送。
[0071] 本实施例中,获取推送消息,根据上述推送消息确定对应的接收端信息,根据上述接收端信息筛选出待发送的推送消息,根据上述待发送的推送消息的摘要与上述接收端信息生成待发送的通知消息,按照预设规则将上述待发送的通知消息写入发送队列。实现了通过筛选减少要发送的通知消息,节省传输资源,可以更好地保证有效接收端及时收到通知消息。
[0072] 可选地,上述根据接收端信息筛选出待发送的推送消息,可以是:根据上述接收端信息筛选出符合预设条件的有效接收端。进而将有效接收端对应的推送消息确定为待发送的推送消息。
[0073] 预设条件至少包括:接收端已安装、接收端开启通知功能、接收端当前为非活跃状态。
[0074] 收到推送消息后,根据接收端信息对终端上接收推送消息的APP进行判断,首先确定APP已经安装、并且根据设置已经开启了通知功能、当前APP处于非活跃状态,那么APP属于有效接收端。如果其中一项不符合,就不需要发送通知消息。
[0075] 非活跃状态一般指用户当前没有启动APP或者没有使用该APP,那么需要通知消息来通知用户有新的推送消息了。
[0076] 本实施例通过有效接收端的过滤,可以减少需要发送的通知消息数量,节省发送资源,从而保证通知消息的实效性。
[0077] 可选地,上述按照预设规则将所述待发送的通知消息写入发送队列,可以是按照收到推送消息的时间顺序将对应的待发送的通知消息写入发送队列。
[0078] 另外,一种可选实施方式中,上述按照预设规则将所述待发送的通知消息写入发送队列,也可以是根据接收端信息对上述通知消息划分组别,分别写入各组对应的队列。即本实施方式中,可以有多个队列,以提升传输效率。
[0079] 举例说明,可以按照接收端信息中标识(token)的尾号、首号或其他预设的标识进行分组,写入不同的发送队列。
[0080] 或者,也可以按照接收端UID的尾号、首号或其他预设的标识进行分组,写入不同的发送队列。
[0081] 一种实施方式中,上述按照预设规则将上述待发送的通知消息写入发送队列,包括:根据上述接收端信息将同一所述有效接收端对应的多条待发送通知消息进行合并后写入发送队列,以提升发送效率。
[0082] 在上述实施例的基础上,每个发送队列对应一发送池,发送池包含多个用于存储上述通知消息的分块。
[0083] 需要说明的是,发送池是一个有序的分块存储结构,每块是一个固定存储空间的并发哈希映射(Concurrent Hash Map),即一种线程安全的存储结构,多个线程可并发读写,按键值(key-value)形式存储。其中,键(key)为接收端标识(token),值(value)为该接收端的待发送通知消息数组(按时间顺序排列)。
[0084] 相应地,在按照预设规则将上述待发送的通知消息写入发送队列之后,还可以从发送队列中获取上述通知消息,判断该发送队列对应的发送池的当前分块是否存在可存储空间,如果当前分块存在可存储空间,就将通知消息写入当前分块;或者,如果所述当前分块不存在可存储空间,将所述通知消息写入所述当前分块的下一分块。
[0085] 具体发送过程中,服务器从发送池中按顺序一次获取上述通知消息,将通知消息发送至系统服务器。
[0086] 具体实现过程中,一个块中每个接收端标识下的value中存储的通知消息不超过预设数量,一个块中同一个接收端标识下超过预设数量的待发送的通知消息可以丢弃。且一个块存储满以后再存储下一个块,所有块都满时候等待清空待发送通知消息。
[0087] 每个发送池可以启用n个线程,按块顺序读取发送池分块中的通知消息,进而按接收端标识读取待发送通知消息发送到系统服务器,由系统服务器向终端发送该通知消息。待发送通知消息发送完毕后应用服务器清空该key-value。
[0088] 具体地,应用服务器将一个块的通知消息发送完后发送下一个块的通知消息,所有块的通知消息都是空的时候等待写入新的待发送的通知消息。
[0089] 上述将同一所述有效接收端对应的多条待发送通知消息进行合并后写入发送队列,可以是将多条待发送通知消息写入发送队列的一个发送池下的某个块中。
[0090] 另外,在根据所述待发送的推送消息的摘要与所述接收端信息生成待发送的通知消息之后,还可以再生成第一接收端待发送的通知消息的频次大于预设阈值后,停止将第一接收端待发送的通知消息写入发送队列。
[0091] 停止之后,若生成第一接收端待发送的通知消息的频次降低至所述预设阈值以内,则恢复将所述第一接收端待发送的通知消息写入发送队列。
[0092] 即同一个接收端的通知消息频次大于预设阈值的新通知消息时,将被过滤不写入发送队列,当频次降低后再次写入接收端对应的发送队列。
[0093] 举例说明,预设阈值可以是1分钟60条待发送通知消息。
[0094] 本实施例中,将频次太大的通知消息进行过滤,可以保证一个接收端对应的大量通知消息不会长时间占用发送资源,保证其他接收端可以及时收到通知消息。
[0095] 图3为本发明另一实施例提供的通知消息推送方法流程示意图,如图3所示,举例说明上述方法的一种完整流程包括:
[0096] S301、获取新的推送消息,根据推送消息确定对应的接收端信息。
[0097] 可能会产生大量的推送消息。
[0098] S302、根据上述接收端信息筛选出符合预设条件的有效接收端,将有效接收端对应的推送消息确定为待发送的推送消息。
[0099] 确定APP已经安装、并且根据设置已经开启了通知功能、当前APP处于非活跃状态,那么APP属于有效接收端。如果其中一项不符合,就不需要发送通知消息。
[0100] S303、生成待发送的推送消息的摘要。
[0101] S304、根据上述待发送的推送消息的摘要、和该推送消息对应的接收端信息,生成待发送的通知消息。
[0102] S305、将待发送通知消息写入对应接收端的发送队列中。
[0103] S306、读取每个发送队列中的待发送通知消息写入发送池的块中。
[0104] 具体写入时按照块的顺序依次写入,第一个块写满再写第二个块。每个块中的消息不超过预设数量。另外,也要按照待发送通知消息的时间顺序写入,先写入时间靠前的待发送通知消息。
[0105] 需要说明的是,写入发送池的速度一般大于通知消息的发送速度。
[0106] S307、按照块的顺序读取块内的待发送通知消息发送到系统服务器。
[0107] 系统服务器将收到的待发送通知消息发送到终端,终端会根据用户的设置显示上述待发送通知消息。例如将待发送通知消息显示在锁屏通知栏等,在此不作限制。
[0108] 图4为本发明一实施例提供的通知消息推送装置结构示意图,如图4所示,该装置包括:确定模块401、选择模块402、生成模块403以及写入模块404,其中:
[0109] 确定模块401,用于获取推送消息,根据所述推送消息确定对应的接收端信息。
[0110] 选择模块402,用于根据所述接收端信息筛选出待发送的推送消息。
[0111] 生成模块403,用于根据所述待发送的推送消息的摘要与所述接收端信息生成待发送的通知消息。
[0112] 写入模块404,用于按照预设规则将所述待发送的通知消息写入发送队列。
[0113] 本实施例中,获取推送消息,根据上述推送消息确定对应的接收端信息,根据上述接收端信息筛选出待发送的推送消息,根据上述待发送的推送消息的摘要与上述接收端信息生成待发送的通知消息,按照预设规则将上述待发送的通知消息写入发送队列。实现了通过筛选减少要发送的通知消息,节省传输资源,可以更好地保证有效接收端及时收到通知消息。
[0114] 可选地,选择模块402,具体用于根据所述接收端信息筛选出符合预设条件的有效接收端,所述预设条件至少包括:接收端已安装、接收端开启通知功能、接收端当前为非活跃状态;将所述有效接收端对应的推送消息确定为待发送的推送消息。
[0115] 可选地,写入模块404,具体用于根据所述接收端信息将同一所述有效接收端对应的多条待发送通知消息进行合并后写入发送队列。
[0116] 或者,写入模块404,具体用于根据所述接收端信息对所述通知消息划分组别,分别写入各组别对应的队列。
[0117] 图5为本发明另一实施例提供的通知消息推送装置结构示意图,如图5所示,在图4的基础上,一种可选的实施方式中,该装置还可以包括:获取模块501和判断模块502。
[0118] 所述每个发送队列对应一发送池,所述发送池包含多个用于存储所述通知消息的分块。
[0119] 获取模块501,用于从所述发送队列中获取所述通知消息。
[0120] 判断模块502,用于判断所述发送队列对应的发送池的当前分块是否存在可存储空间;如果所述当前分块存在可存储空间,将所述通知消息写入所述当前分块;如果所述当前分块不存在可存储空间,将所述通知消息写入所述当前分块的下一分块。
[0121] 图6为本发明另一实施例提供的通知消息推送装置结构示意图,如图6所示,在图4的基础上,该装置还可以包括:发送模块601,用于从所述发送池中按顺序依次获取所述通知消息,将所述通知消息发送至系统服务器。
[0122] 进一步地,上述写入模块404,还用于在生成第一接收端待发送的通知消息的频次大于预设阈值后,停止将所述第一接收端待发送的通知消息写入发送队列。
[0123] 进一步地,上述写入模块404,若生成第一接收端待发送的通知消息的频次降低至所述预设阈值以内,则恢复将所述第一接收端待发送的通知消息写入发送队列。
[0124] 上述装置可用于执行上述方法实施例提供的方法,具体实现方式和技术效果类似,这里不再赘述。
[0125] 以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
[0126] 图7为本发明一实施例提供的电子设备结构示意图,如图7所示,该装置包括:处理器701和存储器702,其中:
[0127] 存储器702用于存储程序,处理器701调用存储器702存储的程序,以执行上述方法实施例。
[0128] 具体地,处理器701,用于根据推送消息的接收端信息,筛选有效接收端;根据上述有效接收端、有效接收端对应的推送消息摘要,生成待发送通知消息;按照推送消息的时间顺序,将待发送通知消息写入各有效接收端对应的发送队列。
[0129] 可选地,处理器701,具体用于将同一所述有效接收端对应的多条待发送通知消息合并为一条推送消息,写入各所述有效接收端对应的发送队列。
[0130] 进一步地,处理器701,具体用于根据推送消息的接收端信息,将符合预设条件的接收端确定为有效接收端,所述预设条件包括:接收端已安装、接收端开启通知功能、接收端当前为非活跃状态。
[0131] 一种实现方式中,处理器701,用于在生成第一接收端的待发送通知消息的频次大于预设阈值后,停止将所述第一接收端的待发送通知消息写入发送队列。
[0132] 相应地,处理器701,在生成第一接收端的待发送通知消息的频次降低至所述预设阈值以内后,恢复将所述第一接收端的待发送通知消息写入发送队列。
[0133] 可选地,本发明还提供一种电子设备,包括用于执行以上方法的至少一个处理元件(或芯片)。
[0134] 可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
[0135] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0136] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0137] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0138] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。