消息推送方法及装置的制造方法

文档序号:10626715阅读:336来源:国知局
消息推送方法及装置的制造方法
【专利摘要】本申请提供一种消息推送方法及装置,该方法可以包括:当检测到待推送消息时,提取待推送消息中的用户信息和应用信息;获取对应于用户信息和应用信息的链路信息;根据用户信息、应用信息和链路信息,确定对应于同一用户账号的已注册设备以及对应于每一已注册设备的已注册应用;当存在对应于同一已注册设备的多个已注册应用时,将所述多个已注册应用的标识信息均添加至所述同一已注册设备对应的待推送消息中,以使得所述同一已注册设备在接收到所述待推送消息之后,提取所述待推送消息中包含的标识信息和消息内容,并将所述消息内容分别发送至对应于所述标识信息的每一已注册应用。通过本申请的技术方案,可以减少消息推送的数据量,降低终端功耗。
【专利说明】
消息推送方法及装置
技术领域
[0001]本申请涉及消息推送技术领域,尤其涉及消息推送方法及装置。
【背景技术】
[0002]随着通信技术的不断发展,消息推送技术已经应用于诸多场景。比如在移动客户端应用中,可以从后台主动将数据推送给移动设备,而在JavaEE企业应用中,可以从一个应用系统主动推送数据给另一个应用系统。

【发明内容】

[0003]有鉴于此,本申请提供一种消息推送方法及装置,可以解决相关技术中的不足。
[0004]为实现上述目的,本申请提供技术方案如下:
[0005]根据本申请的第一方面,提出了一种消息推送方法,包括:
[0006]当检测到待推送消息时,提取所述待推送消息中的用户信息和应用信息;
[0007]获取对应于所述用户信息和所述应用信息的链路信息;
[0008]根据所述用户信息、所述应用信息和所述链路信息,确定对应于同一用户账号的已注册设备以及对应于每一已注册设备的已注册应用;
[0009]当存在对应于同一已注册设备的多个已注册应用时,将所述多个已注册应用的标识信息均添加至所述同一已注册设备对应的待推送消息中,以使得所述同一已注册设备在接收到所述待推送消息之后,提取所述待推送消息中包含的标识信息和消息内容,并将所述消息内容分别发送至对应于所述标识信息的每一已注册应用。
[0010]根据本申请的第二方面,提出了一种消息推送方法,包括:
[0011]接收推送消息;
[0012]提取所述推送消息中包含的消息内容和所有标识信息;
[0013]分别确定每一标识信息对应的目标应用,并将所述消息内容发送至相应的目标应用。
[0014]根据本申请的第三方面,提出了一种消息推送装置,包括:
[0015]提取单元,当检测到待推送消息时,提取所述待推送消息中的用户信息和应用信息;
[0016]获取单元,获取对应于所述用户信息和所述应用信息的链路信息;
[0017]确定单元,根据所述用户信息、所述应用信息和所述链路信息,确定对应于同一用户账号的已注册设备以及对应于每一已注册设备的已注册应用;
[0018]添加单元,当存在对应于同一已注册设备的多个已注册应用时,将所述多个已注册应用的标识信息均添加至所述同一已注册设备对应的待推送消息中,以使得所述同一已注册设备在接收到所述待推送消息之后,提取所述待推送消息中包含的标识信息和消息内容,并将所述消息内容分别发送至对应于所述标识信息的每一已注册应用。
[0019]根据本申请的第四方面,提出了一种消息推送装置,包括:
[0020]接收单元,接收推送消息;
[0021]提取单元,提取所述推送消息中包含的消息内容和所有标识信息;
[0022]发送单元,分别确定每一标识信息对应的目标应用,并将所述消息内容发送至相应的目标应用。
[0023]由以上技术方案可见,本申请通过在检测到待推送消息时,获取其中的用户信息、应用信息和相应的链路信息,可以准确了解同一用户账号的实时登录状况;同时,通过将对应于同一已注册设备的多个已注册应用的标识信息均添加至相应的待推送消息,使得只需要向该同一已注册设备发送一条待推送消息,即可使多个已注册应用均能够接收到相应的消息内容,有助于减少消息推送的数据量,降低该同一已注册设备的运行功耗。
【附图说明】
[0024]图1示出了实时消息平台的结构示意图;
[0025]图2示出了本申请一示例性实施例的一种消息推送方法的流程图;
[0026]图3示出了本申请一示例性实施例的另一种消息推送方法的流程图;
[0027]图4示出了本申请一示例性实施例的客户端注册的处理流程图;
[0028]图5示出了本申请一示例性实施例的客户端注销的处理流程图;
[0029]图6示出了本申请一示例性实施例的客户端异常断开的处理流程图;
[0030]图7示出了本申请一示例性实施例的另一种消息推送方法的流程图;
[0031]图8示出了本申请一示例性实施例的归并处理的示意图;
[0032]图9示出了本申请一示例性实施例的分组处理的示意图;
[0033]图10示出了本申请一示例性实施例的一种电子设备的结构示意图;
[0034]图11示出了本申请一示例性实施例的一种消息推送装置的框图;
[0035]图12示出了本申请一示例性实施例的另一种电子设备的结构示意图;
[0036]图13示出了本申请一示例性实施例的另一种消息推送装置的框图。
【具体实施方式】
[0037]图1示出了实时消息平台的结构示意图,如图1所示,由实时消息平台对来自业务服务器的业务消息进行处理后,推送至客户端。图2示出了本申请一示例性实施例的一种消息推送方法的流程图,该方法应用于图1所示的消息中心(MSCenter),可以包括以下步骤:
[0038]步骤202,当检测到待推送消息时,提取所述待推送消息中的用户信息和应用信息。
[0039]步骤204,获取对应于所述用户信息和所述应用信息的链路信息。
[0040]在本实施例中,用户在设备上完成账号登录后,该设备会与客户端接入服务器(MSNode)建立链接,并基于该链接发起注册请求;其中,注册请求中包含用户信息和应用信息,而MSNode还可以从链路中读取链路信息;然后,MSNode将链路信息、应用信息和用户信息发送至客户端链路管理中心(CMCenter)进行关联存储。
[0041]其中,用户信息是用于表示用户身份的信息,比如登录的用户账号信息等;应用信息是用于表示其在设备中对应的应用程序的信息,比如应用ID等;链路信息对应于与MSNode建立的链路的信息、对应于该链路的设备的信息,比如链路ID、设备ID等,且每台设备可能与MSNode建立多条链路。
[0042]步骤206,根据所述用户信息、所述应用信息和所述链路信息,确定对应于同一用户账号的已注册设备以及对应于每一已注册设备的已注册应用。
[0043]在本实施例中,MSCenter从每条待推送消息中可能获取一个或多个用户的用户信息,以及每条用户信息对应的一个或多条应用信息,从而构成一组或多组“用户信息-应用信息”对。同时,结合CMCenter处获取的链路信息,即可确定用户账号的实时登录状态:
[0044]在一示例性实施方式中,若MSCenter根据一组“用户信息-应用信息”对,从CMCenter处获取对应的一条链路信息或多条相同的链路信息,则说明用户在一台设备上的一个应用程序上登录了用户账号。
[0045]在另一示例性实施方式中,若MSCenter根据一组“用户信息-应用信息”对,从CMCenter处获取对应的多条不同的链路信息,则说明用户在多台设备上的相同应用程序上登录了同一用户账号。
[0046]在又一示例性实施方式中,若MSCenter根据同一用户账号对应的多组“用户信息-应用信息”对,从CMCenter处获取对应的一条链路信息或多条相同的链路信息,则说明用户在一台设备上的多个应用程序上登录了同一用户账号。
[0047]步骤208,当存在对应于同一已注册设备的多个已注册应用时,将所述多个已注册应用的标识信息均添加至所述同一已注册设备对应的待推送消息中,以使得所述同一已注册设备在接收到所述待推送消息之后,提取所述待推送消息中包含的标识信息和消息内容,并将所述消息内容分别发送至对应于所述标识信息的每一已注册应用。
[0048]在本实施例中,已注册应用的标识信息包含于对应的应用信息中,比如可以为上述的应用ID或其他类型的标识,以区分该多个已注册应用。通过将多个已注册应用的标识信息均添加至待推送消息中,使得仅需要向设备推送一条消息,即可使得多个已注册应用均接收到相应的消息内容,有助于减少消息推送的数据量,并且降低设备的运行功耗。
[0049]对应于上述的MSCenter的处理过程,上述的“同一已注册设备”可以通过如图3所示的处理流程,对接收到的推送消息进行处理,以确保多个已注册应用均能够接收到消息内容。其中,图3示出了本申请一示例性实施例的另一种消息推送方法的流程图,如图3所示,该方法应用于终端或设备,可以包括以下步骤:
[0050]步骤302,接收推送消息。
[0051]在本实施例中,推送消息即图2所示的“待推送消息”。
[0052]步骤304,提取所述推送消息中包含的消息内容和所有标识信息。
[0053]步骤306,分别确定每一标识信息对应的目标应用,并将所述消息内容发送至相应的目标应用。
[0054]由上述实施例可知,本申请通过在检测到待推送消息时,获取其中的用户信息、应用信息和相应的链路信息,可以准确了解同一用户账号的实时登录状况;同时,通过将对应于同一已注册设备的多个已注册应用的标识信息均添加至相应的待推送消息,使得只需要向该同一已注册设备发送一条待推送消息,即可使多个已注册应用均能够接收到相应的消息内容,有助于减少消息推送的数据量,降低该同一已注册设备的运行功耗。
[0055]除了上述针对单台设备的处理方式,本申请还进一步提出了对多台设备的处理方案:当存在多个对应于所述同一用户账号的已注册设备时,将所述待推送消息分别推送至每一已注册设备。
[0056]具体地,MSCenter对所述待推送消息进行复制,得到与多个已注册设备一一对应的多条待推送消息;然后,分别获取每一已注册设备对应的客户端接入服务器节点ID,并将所述节点ID添加至相应的待推送消息中;最后,将包含所述节点ID的待推送消息添加至消息推送队列,最终由MSNode对消息推送队列中的待推送消息进行推送处理。
[0057]在本实施例中,假定用户分别通过多台设备的应用实现了账号登录,则多台设备均可以接收到相应的推送消息,从而确保用户能够通过任一台设备实现推送消息的查看。
[0058]以下结合图4-6,具体描述客户端向MSNode进行注册以生成上述的“链路元数据信息”的过程,以及相应的注销处理、对异常断开的处理等。
[0059]1、注册处理
[0060]图4示出了本申请一示例性实施例的客户端注册的处理流程图,如图4所示,该处理过程可以包括以下步骤:
[0061]步骤402,客户端向当前MSNode节点发起注册请求。
[0062]步骤404,当前MSNode节点对注册请求进行协议解析。
[0063]步骤406,基于协议解析结果,当前MSNode节点对发起注册请求的用户账号进行身份认证、授权等。
[0064]步骤408,对处理注册请求的当前MSNode节点进行连接数控制。
[0065]在本实施例中,MSNode通常为包含多个节点的服务器集群,则每个MSNode节点配置有预设连接数量,若当前MSNode节点检测到自身已建立的连接数量超出预设连接数量时,可以将当前注册请求分配至其他空闲的MSNode节点。
[0066]其中,当前MSNode节点可以向客户端返回路由指令,从而将客户端弓I导并重新连接至其他空闲MSNode节点。
[0067]步骤410,当前MSNode节点从注册请求中,提取用户信息、应用信息等;从已建立连接的链路中,提取链路信息。
[0068]步骤412A,当前MSNode节点将用户信息、应用信息和链路信息发送至CMCenter。
[0069]步骤414A,若CMCenter中存在关于该用户账号的客户端注册信息,则根据接收到的用户信息、应用信息和链路信息进行数据更新;若不存在,则注册为新的客户端注册信息。
[0070]步骤416A,CMCenter将客户端注册信息持久化至链路管理数据库或分布式缓存系统中。
[0071]步骤412B,当前MSNode节点将用户信息和应用信息发送至MSCenter。
[0072]步骤414B,当前MSCenter节点根据用户信息和应用信息,获取对应的离线数据。
[0073]步骤416B,当前MSCenter节点对离线数据进行清洗等处理。
[0074]步骤418,当前MSCenter节点将处理后的离线数据生成为待推送消息,并添加至消息推送队列。
[0075]步骤420,当前MSNode节点从消息推送队列中获取待推送消息,并推送至客户端。
[0076]2、注销处理
[0077]图5示出了本申请一示例性实施例的客户端注销的处理流程图,如图5所示,该处理流程可以包括以下步骤:
[0078]步骤502,客户端向当前MSNode节点发起注销请求。
[0079]步骤504,当前MSNode节点对接收到的注销请求进行协议解析。
[0080]步骤506,当前MSNode节点针对协议解析结果,对客户端进行身份认证、授权。
[0081]步骤508,当前MSNode节点获取注销请求中包含的用户信息和应用信息,并将该客户端与当前MSNode节点之间建立的所有链路从链路管理器中删除。
[0082]步骤510,当前MSNode节点向CMCenter发送链路注销命令。
[0083]步骤512,CMCenter删除当前MSNode节点与该客户端(即安装该客户端程序的设备)之间建立的连接信息,包括从数据库或分布式缓存中删除相应的链路信息。
[0084]3、异常断开处理
[0085]图6示出了本申请一示例性实施例的客户端异常断开的处理流程图,如图6所示,该处理流程可以包括以下步骤:
[0086]步骤602,客户端与MSNode节点之间的连接异常断开。
[0087]步骤604,当前MSNode节点捕获到异常断开信息,并发送客户端链路断开事件。
[0088]步骤606,响应于客户端链路断开事件,在当前MSNode节点的链路管理器中获取该客户端与当前MSNode节点注册的所有链路信息,并删除这些链路信息。
[0089]步骤608,当前MSNode节点向CMCenter发送链路注销命令。
[0090]步骤610,CMCenter删除当前MSNode节点与该客户端之间建立的连接信息,包括从数据库或分布式缓存中删除相应的链路信息。
[0091]基于上述图4-6的处理流程,CMCenter可以对用户信息、应用信息和链路信息作为客户端注册信息进行记录,则MSCenter可以针对记录的客户端注册信息,对待推送消息进行准确推送,下面结合图7对消息推送过程进行详细描述。其中,图7示出了本申请一示例性实施例的另一种消息推送方法的流程图,如图7所示,采用图1所示的实时消息平台执行消息推送时,可以包括以下步骤:
[0092]步骤702,消息代理中心(MSAgent)接收业务服务器投递的业务应用消息,并根据该消息的消息头信息,对消息进行处理、重组、丰满。
[0093]步骤704,MSAgent将处理、重组、丰满后的消息生成待调度消息,并添加至消息调度队列中。
[0094]步骤706,消息中心(MSCenter)监测到调度队列中是否存在可消费的消息。
[0095]步骤708,若调度队列中存在可消费的待调度消息,则MSCenter获取相应的消息。
[0096]步骤710,MSCenter对消息进行清洗。
[0097]步骤712,MSCenter提取消息的消息头中的用户信息和应用信息。
[0098]步骤714,MSCenter根据获取的用户信息和应用信息,从客户端链路管理中心(CMCenter)处获取对应的链路信息。
[0099]在本实施例中,链路信息包含于图4-6所示实施例中,CMCenter持久化于数据库或分布式缓存中的客户端注册信息。
[0100]步骤716,MSCenter根据用户信息、应用信息和链路信息,对消息进行归并或分组处理。
[0101]在本实施例中,“归并”处理和“分组”处理分别应用于不同场景,下面分别对两者进行描述。
[0102]I)归并处理
[0103]针对用户在同一设备上的多个应用分别登录了同一用户账号的场景下,可以对消息进行归并处理,使得仅需要向该设备推送一条消息,即可使得多个应用均可获取相应的消息内容,从而减少了推送数据量,且降低了设备的运行功耗,尤其是对于移动终端设备,有助于减少数据流量消耗、延长待机时间。
[0104]图8示出了本申请一示例性实施例的归并处理的示意图,如图8所示,假定用户采用同一用户账号,分别通过设备I中的应用A、应用B和应用C进行登录。那么,MSCenter从消息调度队列中检测到待推送消息后,通过提取该消息的消息头中的用户信息(比如用户ID= 111)和应用信息(比如应用IDl =A、应用ID2 = B、应用ID3 = C),并从CMCenter处获取相应的链路信息(比如设备ID = 1,或者设备IDl =设备ID2 =……=1),从而确定同一用户账号对应于设备I以及设备I中的应用A、用户B和应用C,即多个应用对应于同一设备的场景。
[0105]因此,MSCenter从链路元数据信息中提取出应用A、应用B和应用C的ID,比如分别为应用ID1、应用ID2和应用ID3,并将这些ID信息均添加至同一条消息中,并添加至推送消息队列中。然后,MSNode从推送消息队列中获取该消息后,直接发送给设备I。
[0106]相应地,设备I在接收到推送消息后,通过解析接收到的推送消息,获取其中包含的ID信息(即应用ID1、应用ID2和应用ID3)和消息内容,并将该消息内容分别发送至应用IDl、应用ID2和应用ID3对应的应用A、应用B和应用C。
[0107]可见,基于上述的归并处理过程,虽然设备I中的应用A、应用B和应用C均登录了用户账号,但仅需要推送一份消息,即可使得所有应用均得到相应的消息内容,可以有效减少推送的数据量,尤其是设备I为移动设备时,一方面可以减少数据流量的消耗,另一方面可以仅与MSNode节点直接通过一条链路执行推送,可以降低设备I的运行功耗、节省电源电量。
[0108]2)分组处理
[0109]针对用户在多台设备上的同一应用分别登录了同一用户账号的场景下,可以对消息进行分组处理,使得每一设备均会接收到相同的推送消息,则用户通过其中的任一设备均可以查看到相应的推送消息,避免消息遗漏。
[0110]图9示出了本申请一示例性实施例的分组处理的示意图,如图9所示,假定用户采用同一用户账号,分别通过设备1、设备2和设备3中的应用A进行登录。那么,MSCenter从消息调度队列中检测到待推送消息后,通过提取该消息的消息头中的用户信息(比如用户ID = 111)和应用信息(比如应用ID = A),并从CMCenter处获取相应的链路信息(比如设备IDl = 1、设备ID2 = 2、设备ID3 = 3),从而确定同一用户账号对应于设备1、设备2和设备3中的应用A,即多个设备对应于同一应用的场景。
[0111]因此,MSCenter将每台设备作为一个组,将一条待推送消息拆分为与多个设备一一对应的多条消息,然后通过MSNode实现消息推送。其中,MSCenter可以根据链路信息,确定每一设备对应的MSNode节点,比如图9所示,假定设备I对应于MSNode节点1、设备2对应于MSNode节点2、设备3对应于MSNode节点3,则将MSNode节点I的ID、MSNode节点2的ID和MSNode节点3的ID分别添加至相应的待推送消息中,然后将该待推送消息加入推送消息队列。然后,各MSNode节点根据自身的ID,从推送消息队列中选取对应的待推送消息并执行推送操作,比如由MSNode节点2推送至设备2、由MSNode节点3推送至设备3。
[0112]步骤718,MSCenter根据链路信息,在消息中添加消息选择器路径,即用于推送该消息的客户端接入服务器(MSNode)的节点ID。
[0113]步骤720,MSCenter将消息添加至待推送队列中。
[0114]步骤722,MSNode监测待推送队列中是否存在可消费的消息,若存在,则从待推送队列中提取相应的消息。其中,MSNode通常包含多个节点,每个节点存在对应的唯一 ID,则通过检测待推送队列中的每一消息包含的节点ID,即可由对应的节点对消息进行提取和处理。
[0115]步骤724,MSNode从提取的消息中,获取链路信息,并从本地的链路管理器中读取对应于该链路信息的链路连接实例。
[0116]步骤726,MSNode将链路连接实例和消息中的消息内容封装为推送事件并广播。
[0117]步骤728,MSNode本地的推送事件监听器接收到广播的推送事件后,使用对应的链路连接实例将消息内容推送至客户端。
[0118]步骤730,客户端在接收到推送的消息内容后,返回应答ACK。
[0119]步骤732,MSNode根据ACK的接收情况进行处理。
[0120]具体地,如果MSNode在指定的一段时间内,未收到客户端的ACK,那么会对消息进行重发操作;当重发操作达到一定次数后,会将消息投递至失败处理队列中,失败消息处理器会根据失败队列的类型,对消息进行分级处理。例如,Front类型队列会对消息尝试重发;Backend队列的消息可以通过人工方式恢复到Front队列中,或直接人工触发重发;DLQ对列中的消息只能通过人工触发重发。
[0121]图10示出了根据本申请的一示例性实施例的对应于MSCenter的电子设备的示意结构图。请参考图10,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成消息推送装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0122]请参考图11,在软件实施方式中,该消息推送装置可以包括提取单元、获取单元、确定单元和推送单元。其中:
[0123]提取单元,当检测到待推送消息时,,提取所述待推送消息中的用户信息和应用信息;
[0124]获取单元,获取对应于所述用户信息和所述应用信息的链路信息;
[0125]确定单元,根据所述用户信息、所述应用信息和所述链路信息,确定对应于同一用户账号的已注册设备以及对应于每一已注册设备的已注册应用;
[0126]添加单元,当存在对应于同一已注册设备的多个已注册应用时,将所述多个已注册应用的标识信息均添加至所述同一已注册设备对应的待推送消息中,以使得所述同一已注册设备在接收到所述待推送消息之后,提取所述待推送消息中包含的标识信息和消息内容,并将所述消息内容分别发送至对应于所述标识信息的每一已注册应用。
[0127]可选的,还包括:
[0128]推送单元,当存在多个对应于所述任一用户账号的已注册设备时,将所述待推送消息分别推送至每一已注册设备。
[0129]可选的,所述推送单元具体用于:
[0130]对所述待推送消息进行复制,得到与多个已注册设备一一对应的多条待推送消息;
[0131]分别获取每一已注册设备对应的客户端接入服务器节点ID,并将所述节点ID添加至相应的待推送消息中;
[0132]将包含所述节点ID的待推送消息添加至消息推送队列。
[0133]可选的,所述获取单元具体用于:
[0134]从客户端链路管理中心获取对应于所述用户信息和所述应用信息的链路信息,所述链路信息由客户端接入服务器在为设备执行注册时,从与该设备建立连接的链路中获取。
[0135]图12示出了根据本申请的一示例性实施例的对应于客户端的电子设备的示意结构图。请参考图12,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成消息推送装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0136]请参考图13,在软件实施方式中,该消息推送装置可以包括接收单元、提取单元和发送单元。其中:
[0137]接收单元,接收推送消息;
[0138]提取单元,提取所述推送消息中包含的消息内容和所有标识信息;
[0139]发送单元,分别确定每一标识信息对应的目标应用,并将所述消息内容发送至相应的目标应用。
[0140]在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0141]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0142]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0143]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0144]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1.一种消息推送方法,其特征在于,包括:当检测到待推送消息时,提取所述待推送消息中的用户信息和应用信息;获取对应于所述用户信息和所述应用信息的链路信息;根据所述用户信息、所述应用信息和所述链路信息,确定对应于同一用户账号的已注 册设备以及对应于每一已注册设备的已注册应用;当存在对应于同一已注册设备的多个已注册应用时,将所述多个已注册应用的标识信 息均添加至所述同一已注册设备对应的待推送消息中,以使得所述同一已注册设备在接收 到所述待推送消息之后,提取所述待推送消息中包含的标识信息和消息内容,并将所述消 息内容分别发送至对应于所述标识信息的每一已注册应用。2.根据权利要求1所述的方法,其特征在于,还包括:当存在多个对应于所述同一用户账号的已注册设备时,将所述待推送消息分别推送至 每一已注册设备。3.根据权利要求2所述的方法,其特征在于,所述当存在多个对应于所述同一用户账 号的已注册设备时,将所述待推送消息分别推送至每一已注册设备,包括:对所述待推送消息进行复制,得到与多个已注册设备一一对应的多条待推送消息; 分别获取每一已注册设备对应的客户端接入服务器节点ID,并将所述节点ID添加至 相应的待推送消息中;将包含所述节点ID的待推送消息添加至消息推送队列。4.根据权利要求1所述的方法,其特征在于,所述获取对应于所述用户信息和所述应 用信息的链路信息,包括:从客户端链路管理中心获取对应于所述用户信息和所述应用信息的链路信息,所述链 路信息由客户端接入服务器在为设备执行注册时,从与该设备建立连接的链路中获取。5.—种消息推送方法,其特征在于,包括:接收推送消息;提取所述推送消息中包含的消息内容和所有标识信息;分别确定每一标识信息对应的目标应用,并将所述消息内容发送至相应的目标应用。6.—种消息推送装置,其特征在于,包括:提取单元,当检测到待推送消息时,提取所述待推送消息中的用户信息和应用信息; 获取单元,获取对应于所述用户信息和所述应用信息的链路信息;确定单元,根据所述用户信息、所述应用信息和所述链路信息,确定对应于同一用户账 号的已注册设备以及对应于每一已注册设备的已注册应用;添加单元,当存在对应于同一已注册设备的多个已注册应用时,将所述多个已注册应 用的标识信息均添加至所述同一已注册设备对应的待推送消息中,以使得所述同一已注册 设备在接收到所述待推送消息之后,提取所述待推送消息中包含的标识信息和消息内容, 并将所述消息内容分别发送至对应于所述标识信息的每一已注册应用。7.根据权利要求6所述的装置,其特征在于,还包括:推送单元,当存在多个对应于所述同一用户账号的已注册设备时,将所述待推送消息 分别推送至每一已注册设备。8.根据权利要求7所述的装置,其特征在于,所述推送单元具体用于: 对所述待推送消息进行复制,得到与多个已注册设备一一对应的多条待推送消息;分别获取每一已注册设备对应的客户端接入服务器节点ID,并将所述节点ID添加至相应的待推送消息中; 将包含所述节点ID的待推送消息添加至消息推送队列。9.根据权利要求6所述的装置,其特征在于,所述获取单元具体用于: 从客户端链路管理中心获取对应于所述用户信息和所述应用信息的链路信息,所述链路信息由客户端接入服务器在为设备执行注册时,从与该设备建立连接的链路中获取。10.一种消息推送装置,其特征在于,包括: 接收单元,接收推送消息; 提取单元,提取所述推送消息中包含的消息内容和所有标识信息; 发送单元,分别确定每一标识信息对应的目标应用,并将所述消息内容发送至相应的目标应用。
【文档编号】H04L12/58GK105991412SQ201510076896
【公开日】2016年10月5日
【申请日】2015年2月12日
【发明人】王俊翔
【申请人】阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1