业务推送系统及方法

文档序号:7933373阅读:127来源:国知局
专利名称:业务推送系统及方法
技术领域
本发明涉及移动通信及数据传输领域,尤其涉及一种业务推送系统及方法。
背景技术
随着无线宽带接入技术的发展,移动网络数据接入带宽不断提升,促进了移动互联网业务的蓬勃发展。推送(PUSH)业务是网络向用户主动提供内容及服务的一种方式,可用于电子邮件、新闻广播、应用下载、广告发布等。
目前一种常用的推送业务使用点到点方式实现,当应用服务器需要向一个用户推送数据时,通知该用户的客户端取数据。为了更高效的利用移动通信网络资源,推送业务可以与网络忙闲状态、用户位置、用户业务状态等信息相结合,由应用服务器向网络中的PUSH 引擎查询是否能向一个用户推送数据业务,当PUSH引擎确认该用户适合进行推送时,通知用户客户端与应用服务器联系完成数据推送。
对于如新闻、娱乐视频、微博等内容来说,订阅该内容的群组用户的用户数量可能很多,如果应用服务器对该群组用户中的每个用户逐一向PUSH引擎查询是否能对用户进行推送,会导致PUSH引擎和应用服务器之间信令交互频繁、时延较长、查询效率低下的问题。因此需要提高对群组用户进行数据推送的效率。发明内容
本发明的目的是提出一种业务推送系统及方法,能够减少应用户服务器和推送引擎之间的信令交互,提高推送效率。
为实现上述目的,本发明提供了一种业务推送系统,包括
应用服务器,用于发出包括推送群组中所有成员用户的标识信息的推送群组建立请求,以及发出包括待推送的群组标识的群组推送业务请求,并通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送;
群组推送引擎,用于响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给请求方,以及响应于接收到的所述群组推送业务请求,根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户,然后向所述符合推送条件的成员用户对应的客户端发送推送通知。
进一步的,所述应用服务器具体包括
群组创建请求单元,用于向所述群组推送引擎发出所述推送群组建立请求,所述推送群组建立请求包括所述推送群组中所有成员用户的标识信息;
业务推送请求单元,用于向所述群组推送引擎发出所述群组推送业务请求,所述群组推送业务请求包括待推送的群组标识;
数据推送单元,用于通过移动承载网络与所述推送群组中的成员用户对应的客户端进行交互,完成向所述推送群组中的成员用户对应的客户端的数据推送。
进一步的,所述群组推送引擎具体包括
建立请求接收单元,用于接收所述应用服务器发出的所述推送群组建立请求;
推送群组创建单元,用于创建所述推送群组,为所述推送群组分配对应的群组标识,在所述推送群组中记录所有成员用户的标识信息;
群组标识通知单元,用于将所述群组标识返回给所述应用服务器;
业务请求接收单元,用于接收所述应用服务器发出的所述群组推送业务请求;
推送群组确定单元,用于根据所述群组推送业务请求中的待推送的群组标识确定推送群组;
推送成员确定单元,用于确定所述推送群组中符合推送条件的成员用户;
推送通知单元,用于向所述符合推送条件的成员用户对应的客户端发送推送通知。
进一步的,所述推送群组建立请求还包括推送业务的信息;所述群组推送引擎还包括
策略控制触发单元,用于将从所述应用服务器接收到的所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。
进一步的,所述群组推送引擎还包括
推送触发单元,用于按照预设周期或者响应于外部事件,触发所述推送成员确定单元来判断待推送的成员用户中符合推送条件的成员用户。
为实现上述目的,本发明提供了一种基于前述业务推送系统的业务推送方法,包括
应用服务器向群组推送引擎发出推送群组建立请求,所述推送群组建立请求包括推送群组中所有成员用户的标识信息;
所述群组推送引擎响 应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给所述应用服务器;
所述应用服务器向所述群组推送引擎发出群组推送业务请求,所述群组推送业务请求包括待推送的群组标识;
所述群组推送引擎响应于接收到的所述群组推送业务请求,根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户
所述群组推送引擎向所述符合推送条件的成员用户对应的客户端发送推送通知;
所述应用服务器通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送。
进一步的,所述应用服务器向群组推送引擎发出的推送群组建立请求还包括推送业务的信息;
所述群组推送引擎将所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。
进一步的,还包括所述群组推送引擎判断所述推送群组中是否存在未推送的成员用户,如果存在,则继续确定所述未推送的成员用户符合推送条件的成员用户,并向所述符合推送条件的成员用户对应的客户端发送推送通知。
进一步的,还包括所述群组推送引擎按照预设周期或者响应于外部事件,判断待推送的成员用户中是否存在符合推送条件的成员用户,并向所述符合推送条件的成员用户对应的客户端发送推送通知。
为实现上述目的,本发明还提供了一种业务推送系统,包括
应用服务器,用于发出包括推送群组中所有成员用户的标识信息的推送群组建立请求,以及发出包括待推送的群组标识的群组推送业务请求和待推送的业务数据;
群组推送引擎,用于响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给请求方,以及响应于接收到的所述群组推送业务请求和待推送的业务数据,缓存所述待推送的业务数据,根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户,然后向所述符合推送条件的成员用户对应的客户端发送推送通知,并通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送。
进一步的,所述应用服务器具体包括
群组创建请求单元,用于向所述群组推送引擎发出所述推送群组建立请求,所述推送群组建立请求包括所述推送群组中所有成员用户的标识信息;
业务推送请求单元,用于向所述群组推送引擎发出所述群组推送业务请求,所述群组推送业务请求包括待推送的群组标识;
数据传送单元,用于在发送所述群组推送业务请求的同时,向所述群组推送引擎发送待推送的业务数据。
进一步的,所述群组推送引擎具体包括
建立请求接收单元,用于接收所述应用服务器发出的所述推送群组建立请求;
推送群组创建单元,用于创建所述推送群组,为所述推送群组分配对应的群组标识,在所述推送群组中记录所有成员用户的标识信息;
群组标识通知单元,用于将所述群组标识返回给所述应用服务器;
业务请求接收单元,用于接收所述应用服务器发出的所述群组推送业务请求;
业务数据缓存单元,用于缓存所述应用服务器发送的待推送的业务数据;
推送群组确定单元,用于根据所述群组推送业务请求中的待推送的群组标识确定推送群组;
推送成员确定单元,用于确定所述推送群组中符合推送条件的成员用户;
推送通知单元,用于向所述符合推送条件的成员用户对应的客户端发送推送通知;
数据推送单元,用于通过所述移动承载网络向所述推送群组中的成员用户对应的客户端推送缓存的业务数据。
进一步的,所述推送群组建立请求还包括推送业务的信息;所述群组推送引擎还包括
策略控制触发单元,用于将从所述应用服务器接收到的所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。
进一步的,所述群组推送引擎还包括推送触发单元,用于按照预设周期或者响应于外部事件,触发所述推送成员确定单元来判断待推送的成员用户中符合推送条件的成员用户。
为实现上述目的,本发明还提供了一种基于前述的业务推送系统的业务推送方法,包括
应用服务器向群组推送引擎发出推送群组建立请求,所述推送群组建立请求包括推送群组中所有成员用户的标识信息;
所述群组推送引擎响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给所述应用服务器;
所述应用服务器向所述群组推送引擎发出群组推送业务请求和待推送的业务数据,所述群组推送业务请求包括待推送的群组标识;
所述群组推送引擎响应于接收到的所述群组推送业务请求和待推送的业务数据, 缓存所述待推送的业务数据,根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户;
所述群组推送引擎向所述符合推送条件的成员用户对应的客户端发送推送通知, 并通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送。
进一步的,所述应用服务器向群组推送引擎发出的推送群组建立请求还包括推送业务的信息;
所述群组推送引擎将所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。
进一步的,还包括所述群组推送引擎判断所述推送群组中是否存在未推送的成员用户,如果存在,则继续确定所述未推送的成员用户符合推送条件的成员用户,并向所述符合推送条件的成员用户对应的客户端发送推送通知。
进一步的,还包括所述群组推送引擎按照预设周期或者响应于外部事件,判断待推送的成员用户中是否存在符合推送条件的成员用户,并向所述符合推送条件的成员用户对应的客户端发送推送通知。
基于上述技术方案,本发明利用群组推送引擎建立推送群组,并基于推送群组进行业务推送,相比于现有技术,可以极大的减少应用服务器与推送引擎之间的交互次数,通过一次交互完成多个用户的推送业务,显著的提高推送系统的处理能力及效率。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中
图1为本发明业务推送系统实施例的一种架构示意图。
图2为本发明业务推送系统实施例的另一种架构示意图。
图3为图1架构下的业务推送系统实施例的具体结构示意图。
图4为基于图1架构下的业务推送系统的一种业务推送方法实施例的流程示意图。
图5为基于图1架构下的业务推送系统的业务推送流程的信令示意图。
图6为图2架构下的业务推送系统实施例的具体结构示意图。
图7为基于图2架构下的业务推送系统的一种业务推送方法实施例的流程示意图。
图8为基于图2架构下的业务推送系统的业务推送流程的信令示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,为本发明业务推送系统实施例的一种架构示意图。在图1中,业务推送系统包括群组推送引擎10和应用服务器20,其中群组推送引擎10负责响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给请求方,以及响应于接收到的所述群组推送业务请求,根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户,然后向所述符合推送条件的成员用户对应的客户端发送推送通知。
应用服务器20负责发出包括推送群组中所有成员用户的标识信息的推送群组建立请求,还负责发出包括待推送的群组标识的群组推送业务请求,以及通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送。
在本实施例的系统架构中,群组推送引擎10与应用服务器20均通过移动承载网络30与用户终端40进行通信,在群组推送引擎10与应用服务器20之间进行信令交互,但在这两者并不进行推送数据的交互,而实际的推送业务的数据则由应用服务器20通过移动承载网络30传递给用户终端40,而无需经过群组推送引擎10。这种架构中应用服务器需要给每个用户发送待推送的业务数据,应用服务器的负荷较高,但对群组推送引擎的存储容量要求较低。
在本发明中还提供了另一种业务推送系统的系统架构,如图2所示,为本发明业务推送系统实施例的另一种架构示意图。在图2中业务推送系统包括群组推送引擎50和应用服务器60。其中,群组推送引擎50负责响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给请求方,以及响应于接收到的所述群组推送业务请求和待推送的业务数据,缓存所述待推送的业务数据, 根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户,然后向所述符合推送条件的成员用户对应的客户端发送推送通知,并通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送。
应用服务器60负责发出包括推送群组中所有成员用户的标识信息的推送群组建立请求,以及发出包括待推送的群组标识的群组推送业务请求和待推送的业务数据。
在本实施例的系统架构中,群组推送引擎50通过移动承载网络30与用户终端40 进行通信,应用服务器60并不直接通过以东城在网络30与用户终端40进行通信,在群组推送引擎10与应用服务器20之间不仅进行信令交互,在这两者还进行推送数据的交互,而实际的推送 业务的数据则由应用服务器20发送给群组推送引擎10进行缓存,再由群组推送引擎10通过移动承载网络30传递给用户终端40。
这种架构对群组推送引擎的要求较高,但应用服务器只需给群组推送引擎发送一次业务数据,后续由群组推送引擎向每个用户发送待推送的业务数据,从而减小应用服务器一方的处理负荷。
下面针对于图1和图2的系统架构分别对业务推送系统和业务推送方法的各个实施例进行详细说明。
如图3所示,为图1架构下的业务推送系统实施例的具体结构示意图。在本实施例中,应用服务器20可以具体包括群组创建请求单元21、业务推送请求单元22和数据推送单元23。其中,群组创建请求单元21负责向群组推送引擎10发出推送群组建立请求,所述推送群组建立请求包括所述推送群组中所有成员用户的标识信息。这里的用户标识信息可以为客户端ID、手机号码或IMSI等。
业务推送请求单元22负责向所述群组推送引擎10发出所述群组推送业务请求, 所述群组推送业务请求包括待推送的群组标识。数据推送单元23负责通过移动承载网络 30与所述推送群组中的成员用户对应的客户端40进行交互,完成向所述推送群组中的成员用户对应的客户端40的数据推送。
群组推送引擎10可以具体包括建立请求接收单元11、推送群组创建单元12、群组标识通知单元13、业务请求接收单元14、推送群组确定单元15、推送成员确定单元16和推送通知单元17。其中,建立请求接收单元11负责接收所述应用服务器20发出的所述推送群组建立请求。推送群组创建单元12负责创建所述推送群组,为所述推送群组分配对应的群组标识,在所述推送群组中记录所有成员用户的标识信息。群组标识通知单元13负责将所述群组标识返回给所述应用服务器20。
业务请求接收单元14负责接收所述应用服务器20发出的所述群组推送业务请求。推送群组确定单元15负责根据所述群组推送业务请求中的待推送的群组标识确定推送群组。推送成员确定单元16负责确定所述推送群组中符合推送条件的成员用户。这里的推送条件可以与用户位置、网络忙闲情况或用户目前正使用的业务等相关。例如网络忙闲情况可通过分析网络配置和用户业务使用数据获得某一时刻用户所在的网络负荷情况、 当前业务使用速率信息等。推送通知单元17负责向所述符合推送条件的成员用户对应的客户端发送推送通知。
在上述实施例中,应用服务器发送给群组推送引擎的推送群组建立请求中还可以包括推送业务的信息,这里的推送业务的信息可以至少包括业务名称、业务QoS要求、服务器地址及端口号等信息中的部分或全部。群组推送引擎对于接收到的推送业务的信息,可以通过设置的策略控制触发单元进行处理,该策略控制触发单元负责将从所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量 QoS和计费策略。
每次推送通知均由群组推送引擎来确定要通知的成员用户,在完成一部分成员用户的数据推送后,群组推送引擎可以继续判断推送群组中是否还有没有进行推送的成员用户,如果有,则可以对这些未推送的成员用户加入到待推送成员列表,以便进行补充推送。 通过这种方式可以控制推送过程分批次来 完成,这样对于处于网络资源紧张地区的用户, 可以推迟到网络空闲时再进行推送,从而分批次的完成所有成员用户的推送工作。
另外,在移动网络中,用户可能处于移动状态,例如用户从一个较忙的小区移动到一个较闲的小区,或者用户未移动,但因为其他业务的业务状况使得该用户所在小区由闲到忙了,网络会检测到这种变化,并通过事件的方式通知给群组推送引擎,群组推送引擎就可以自身设置的推送触发单元进行处理,即响应于外部事件,触发推送成员确定单元来判断待推送的成员用户中符合推送条件的成员用户,通过确定的待推送用户向相应的客户端进行推送通知。推送触发单元除了可以响应外部事件,也可以按照一定的预设周期进行循环式的触发,或者预设周期和外部事件响应方式并用来触发推送成员确定单元。
如图4所示,为基于图1架构下的业务推送系统的一种业务推送方法实施例的流程示意图。在本实施例中,业务推送流程包括
步骤101、应用服务器向群组推送引擎发出推送群组建立请求,所述推送群组建立请求包括推送群组中所有成员用户的标识信息;
步骤102、所述群组推送引擎响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给所述应用服务器;
步骤103、所述应用服务器向所述群组推送引擎发出群组推送业务请求,所述群组推送业务请求包括待推送的群组标识;
步骤104、所述群组推送引擎响应于接收到的所述群组推送业务请求,根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户;
步骤105、所述群组推送引擎向所述符合推送条件的成员用户对应的客户端发送推送通知;
步骤106、所述应用服务器通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送。
在本实施例中,应用服务器向群组推送引擎提供建立推送群组的用户信息,相应的也可以将推送业务的信息也提供给群组推送引擎,这个推送群组通常是与某个或某些推送业务的应用相关,也可以与推送业务不直接相关,例如按照某种分类方式而确定的具有某种相同或相关属性的用户群体,群组推送引擎可以这些用户群体创建推送群组,并为创建的推送群组分配一个可唯一标识的群组标识,这个群组标识将会被返回给应用服务器。
应用服务器可以根据需要预先向群组推送引擎请求建立多个推送群组,可依据各种分类方式或一些业务使用情况进行建立,各群组间的成员用户存在重复也是允许的。
当应用服务器需要向某个推送群组推送业务数据时,可以向群组推送引擎发送群组推送业务请求,在该请求中需要包含可以直接或间接表示待推送群组的群组标识,这个群组标识是之前群组推送引擎在建立推送群组后提供给应用服务器的。由于在群组推送引擎一侧也记录有群组标识与推送群组内的成员用户信息的映射关系,因此群组推送引擎可以根据群组标识确定推送群组,并进而确定推送群组中有哪些成员用户符合推送条件。
推送条件的设定可以与用户位置、网络忙闲状况、用户正在进行的业务等部分或全部因素相关,但并不仅限于这几种因素,也可以包括其他可能的因素。群组推送引擎可以获取这些因素,并根据预设的规则判断某个成员用户是否适合在本次推送,例如某个成员用户的 位置正处于小区边缘,或者用户所在小区的网络目前较忙,或者用户正进行语音通话等,这些情况均可能不适合在当前推送,因此可考虑在下一个周期进行推送,或者待用户的位置/网络/业务有所改善时再进行推送。
群组推送引擎在完成本周期的推送通知后,可以判断所述推送群组中是否存在未推送的成员用户,如果存在,则继续确定所述未推送的成员用户符合推送条件的成员用户, 并在下一周期向所述符合推送条件的成员用户对应的客户端发送推送通知。
另外,群组推送引擎还可以按照预设周期或者响应于外部事件,判断待推送的成员用户中是否存在符合推送条件的成员用户,并向所述符合推送条件的成员用户对应的客户端发送推送通知。这里的外部事件可以是用户位置的变化、网络忙闲状态的变化或用户使用的业务的变化等,这些变化中的一种或多种通过外部事件方式提供给群组推送引擎后,群组推送引擎会判断待推送的成员用户中是否存在符合推送条件的成员用户,继而继续对符合推送条件的成员用户对应的客户端发送推送通知。
前面提到,应用服务器可能向群组推送引擎发出的推送群组建立请求还包括推送业务的信息,此时群组推送引擎可以将所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。
如图5所示,为基于图1架构下的业务推送系统的业务推送流程的信令示意图。在该业务推送流程中的各个步骤参见图中文字及箭头所表达的信息流向以及前文业务推送方法实施例中各步骤所示,这里就不再一一详述了。在图5中,群组推送引擎在第一次接收到群组推送请求时,确定了用户I客户端作为本次的推送通知对象,并由应用服务器与用户I客户端进行数据交互,以便完成业务数据的推送。在群组推送引擎在第二次确定了用户2客户端作为该次的推送通知对象,并由应用服务器与用户2客户端进行数据交互,以便完成业务数据的推送。当完成推送群组内所有成员用户的数据推送后,群组推送引擎最终向应用服务器发送群组推送确认消息,在该消息中包括群组标识。
如图6所示,为图2架构下的业务推送系统实施例的具体结构示意图。在本实施例中,业务推送系统中的应用服务器60可以具体包括群组创建请求单元61、业务推送请求单元62和数据传送单元63。其中,群组创建请求单元61负责向所述群组推送引擎50发出所述推送群组建立请求,所述推送群组建立请求包括所述推送群组中所有成员用户的标识信息。业务推送请求单元62负责向所述群组推送引擎50发出所述群组推送业务请求, 所述群组推送业务请求包括待推送的群组标识。数据传送单元63负责在发送所述群组推送业务请求的同时,向所述群组推送引擎50发送待推送的业务数据。
在图6中,所述群组推送引擎50可以具体包括建立请求接收单元51、推送群组创建单元52、群组标识通知单元53、业务请求接收单元54、业务数据缓存单元55、推送群组确定单元56、推送成员确定单元57、推送通知单元58和数据推送单元59。其中,建立请求接收单元51负责接收所述应用服务器60发出的所述推送群组建立请求。推送群组创建单元52负责创建所述推送群组,为所述推送群组分配对应的群组标识,在所述推送群组中记录所有成员用户的标识信息。群组标识通知单元53负责将所述群组标识返回给所述应用服务器60。
业务请求接收单元54负责接收所述应用服务器60发出的所述群组推送业务请求。业务数据缓存单元55负责缓存所述应用服务器60发送的待 推送的业务数据。推送群组确定单元56负责根据所述群组推送业务请求中的待推送的群组标识确定推送群组。推送成员确定单元57负责确定所述推送群组中符合推送条件的成员用户。推送通知单元58 负责向所述符合推送条件的成员用户对应的客户端发送推送通知。数据推送单元59负责通过所述移动承载网络30向所述推送群组中的成员用户对应的客户端40推送缓存的业务数据。
在上述实施例中,推送群组建立请求中还可以包括推送业务的信息,群组推送引擎还可以进一步设置策略控制触发单元,该单元负责将从所述应用服务器接收到的所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。这里的推送业务的信息可以至少包括业务名称、业务QoS要求、 服务器地址及端口号等信息中的部分或全部。
每次推送通知均由群组推送引擎来确定要通知的成员用户,在完成一部分成员用户的数据推送后,群组推送引擎可以继续判断推送群组中是否还有没有进行推送的成员用户,如果有,则可以对这些未推送的成员用户加入到待推送成员列表,以便进行补充推送。 通过这种方式可以控制推送过程分批次来完成,这样对于处于网络资源紧张地区的用户, 可以推迟到网络空闲时再进行推送,从而分批次的完成所有成员用户的推送工作。
另外,在移动网络中,用户可能处于移动状态,例如用户从一个较忙的小区移动到一个较闲的小区,或者用户未移动,但因为其他业务的业务状况使得该用户所在小区由闲到忙了,网络会检测到这种变化,并通过事件的方式通知给群组推送引擎,群组推送引擎就可以自身设置的推送触发单元进行处理,即响应于外部事件,触发推送成员确定单元来判断待推送的成员用户中符合推送条件的成员用户,通过确定的待推送用户向相应的客户端进行推送通知。推送触发单元除了可以响应外部事件,也可以按照一定的预设周期进行循环式的触发,或者预设周期和外部事件响应方式并用来触发推送成员确定单元。
如图7所示,为基于图2架构下的业务推送系统的一种业务推送方法实施例的流程示意图。在本实施例中,业务推送流程包括
步骤201、应用服务器向群组推送引擎发出推送群组建立请求,所述推送群组建立请求包括推送群组中所有成员用户的标识信息;
步骤202、所述群组推送引擎响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给所述应用服务器;
步骤203、所述应用服务器向所述群组推送引擎发出群组推送业务请求和待推送的业务数据,所述群组推送业务请求包括待推送的群组标识;
步骤204、所述群组推送引擎响应于接收到的所述群组推送业务请求和待推送的业务数据,缓存所述待推送的业务数据;
步骤205、所述群组推送引擎根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户;
步骤206、所述群组推送引擎向所述符合推送条件的成员用户对应的客户端发送推送通知;
步骤207、所述群组推送引擎通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送。
在本实施例中,应用服务器向群组推送引擎提供建立推送群组的用户信息,相应的也可以将推送业务的信息也提供给群组推送引擎,这个推 送群组通常是与某个或某些推送业务的应用相关,也可以与推送业务不直接相关,例如按照某种分类方式而确定的具有某种相同或相关属性的用户群体,群组推送引擎可以这些用户群体创建推送群组,并为创建的推送群组分配一个可唯一标识的群组标识,这个群组标识将会被返回给应用服务器。
应用服务器可以根据需要预先向群组推送引擎请求建立多个推送群组,可依据各种分类方式或一些业务使用情况进行建立,各群组间的成员用户存在重复也是允许的。
当应用服务器需要向某个推送群组推送业务数据时,可以向群组推送引擎发送群组推送业务请求,在该请求中需要包含可以直接或间接表示待推送群组的群组标识,这个群组标识是之前群组推送引擎在建立推送群组后提供给应用服务器的。由于在群组推送引擎一侧也记录有群组标识与推送群组内的成员用户信息的映射关系,因此群组推送引擎可以根据群组标识确定推送群组,并进而确定推送群组中有哪些成员用户符合推送条件。
推送条件的设定可以与用户位置、网络忙闲状况、用户正在进行的业务等部分或全部因素相关,但并不仅限于这几种因素,也可以包括其他可能的因素。群组推送引擎可以获取这些因素,并根据预设的规则判断某个成员用户是否适合在本次推送,例如某个成员用户的位置正处于小区边缘,或者用户所在小区的网络目前较忙,或者用户正进行语音通话等,这些情况均可能不适合在当前推送,因此可考虑在下一个周期进行推送,或者待用户的位置/网络/业务有所改善时再进行推送。
群组推送引擎在完成本周期的推送通知后,可以判断所述推送群组中是否存在未推送的成员用户,如果存在,则继续确定所述未推送的成员用户符合推送条件的成员用户, 并在下一周期向所述符合推送条件的成员用户对应的客户端发送推送通知。
另外,群组推送引擎还可以按照预设周期或者响应于外部事件,判断待推送的成员用户中是否存在符合推送条件的成员用户,并向所述符合推送条件的成员用户对应的客户端发送推送通知。这里的外部事件可以是用户位置的变化、网络忙闲状态的变化或用户使用的业务的变化等,这些变化中的一种或多种通过外部事件方式提供给群组推送引擎后,群组推送引擎会判断待推送的成员用户中是否存在符合推送条件的成员用户,继而继续对符合推送条件的成员用户对应的客户端发送推送通知。
前面提到,应用服务器可能向群组推送引擎发出的推送群组建立请求还包括推送业务的信息,此时群组推送引擎可以将所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。
如图8所示,为基于图2架构下的业务推送系统的业务推送流程的信令示意图。在该业务推送流程中的各个步骤参见图中文字及箭头所表达的信息·流向以及前文业务推送方法实施例中各步骤所示,这里就不再一一详述了。在图8中,群组推送引擎在第一次接收到群组推送请求时,确定了用户I客户端作为本次的推送通知对象,并由群组推送引擎与用户I客户端进行数据交互,以便完成业务数据的推送。在群组推送引擎在第二次确定了用户2客户端作为该次的推送通知对象,并由群组推送引擎与用户2客户端进行数据交互, 以便完成业务数据的推送。当完成推送群组内所有成员用户的数据推送后,群组推送引擎最终向应用服务器发送群组推送确认消息,在该消息中包括群组标识。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备的可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。·
权利要求
1.一种业务推送系统,包括 应用服务器,用于发出包括推送群组中所有成员用户的标识信息的推送群组建立请求,以及发出包括待推送的群组标识的群组推送业务请求,并通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送; 群组推送引擎,用于响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给请求方,以及响应于接收到的所述群组推送业务请求,根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户,然后向所述符合推送条件的成员用户对应的客户端发送推送通知。
2.根据权利要求1所述的业务推送系统,其中,所述应用服务器具体包括 群组创建请求单元,用于向所述群组推送引擎发出所述推送群组建立请求,所述推送群组建立请求包括所述推送群组中所有成员用户的标识信息; 业务推送请求单元,用于向所述群组推送引擎发出所述群组推送业务请求,所述群组推送业务请求包括待推送的群组标识; 数据推送单元,用于通过移动承载网络与所述推送群组中的成员用户对应的客户端进行交互,完成向所述推送群组中的成员用户对应的客户端的数据推送。
3.根据权利要求2所述的业务推送系统,其中,所述群组推送引擎具体包括 建立请求接收单元,用于接收所述应用服务器发出的所述推送群组建立请求; 推送群组创建单元,用于创建所述推送群组,为所述推送群组分配对应的群组标识,在所述推送群组中记录所有成员用户的标识信息; 群组标识通知单元,用于将所述群组标识返回给所述应用服务器; 业务请求接收单元,用于接收所述应用服务器发出的所述群组推送业务请求; 推送群组确定单元,用于根据所述群组推送业务请求中的待推送的群组标识确定推送群组; 推送成员确定单元,用于确定所述推送群组中符合推送条件的成员用户; 推送通知单元,用于向所述符合推送条件的成员用户对应的客户端发送推送通知。
4.根据权利要求3所述的业务推送系统,其中,所述推送群组建立请求还包括推送业务的信息;所述群组推送引擎还包括 策略控制触发单元,用于将从所述应用服务器接收到的所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。
5.根据权利要求3所述的业务推送系统,其中,所述群组推送引擎还包括 推送触发单元,用于按照预设周期或者响应于外部事件,触发所述推送成员确定单元来判断待推送的成员用户中符合推送条件的成员用户。
6.一种基于权利要求1 5任一所述的业务推送系统的业务推送方法,包括 应用服务器向群组推送引擎发出推送群组建立请求,所述推送群组建立请求包括推送群组中所有成员用户的标识信息; 所述群组推送引擎响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给所述应用服务器;所述应用服务器向所述群组推送引擎发出群组推送业务请求,所述群组推送业务请求包括待推送的群组标识;所述群组推送引擎响应于接收到的所述群组推送业务请求,根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户所述群组推送引擎向所述符合推送条件的成员用户对应的客户端发送推送通知;所述应用服务器通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送。
7.根据权利要求6所述的业务推送方法,其中,所述应用服务器向群组推送引擎发出的推送群组建立请求还包括推送业务的信息; 所述群组推送引擎将所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。
8.根据权利要求6所述的业务推送方法,其中,还包括 所述群组推送引擎判断所述推送群组中是否存在未推送的成员用户,如果存在,则继续确定所述未推送的成员用户符合推送条件的成员用户,并向所述符合推送条件的成员用户对应的客户端发送推送通知。
9.根据权利要求6或8所述的业务推送方法,其中,还包括 所述群组推送引擎按照预设周期或者响应于外部事件,判断待推送的成员用户中是否存在符合推送条件的成员用户,并向所述符合推送条件的成员用户对应的客户端发送推送通知。
10.一种业务推送系统,包括 应用服务器,用于发出包括推送群组中所有成员用户的标识信息的推送群组建立请求,以及发出包括待推送的群组标识的群组推送业务请求和待推送的业务数据; 群组推送引擎,用于响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给请求方,以及响应于接收到的所述群组推送业务请求和待推送的业务数据,缓存所述待推送的业务数据,根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户,然后向所述符合推送条件的成员用户对应的客户端发送推送通知,并通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送。
11.根据权利要求10所述的业务推送系统,其中,所述应用服务器具体包括 群组创建请求单元,用于向所述群组推送引擎发出所述推送群组建立请求,所述推送群组建立请求包括所述推送群组中所有成员用户的标识信息; 业务推送请求单元,用于向所述群组推送引擎发出所述群组推送业务请求,所述群组推送业务请求包括待推送的群组标识; 数据传送单元,用于在发送所述群组推送业务请求的同时,向所述群组推送引擎发送待推送的业务数据。
12.根据权利要求11所述的业务推送系统,其中,所述群组推送引擎具体包括 建立请求接收单元,用于接收所述应用服务器发出的所述推送群组建立请求; 推送群组创建单元,用于创建所述推送群组,为所述推送群组分配对应的群组标识,在所述推送群组中记录所有成员用户的标识信息;群组标识通知单元,用于将所述群组标识返回给所述应用服务器; 业务请求接收单元,用于接收所述应用服务器发出的所述群组推送业务请求; 业务数据缓存单元,用于缓存所述应用服务器发送的待推送的业务数据; 推送群组确定单元,用于根据所述群组推送业务请求中的待推送的群组标识确定推送群组; 推送成员确定单元,用于确定所述推送群组中符合推送条件的成员用户; 推送通知单元,用于向所述符合推送条件的成员用户对应的客户端发送推送通知;数据推送单元,用于通过所述移动承载网络向所述推送群组中的成员用户对应的客户端推送缓存的业务数据。
13.根据权利要求12所述的业务推送系统,其中,所述推送群组建立请求还包括推送业务的信息;所述群组推送引擎还包括 策略控制触发单元,用于将从所述应用服务器接收到的所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。
14.根据权利要求12所述的业务推送系统,其中,所述群组推送引擎还包括 推送触发单元,用于按照预设周期或者响应于外部事件,触发所述推送成员确定单元来判断待推送的成员用户中符合推送条件的成员用户。
15.—种基于权利要求10-14任一所述的业务推送系统的业务推送方法,包括 应用服务器向群组推送引擎发出推送群组建立请求,所述推送群组建立请求包括推送群组中所有成员用户的标识信息; 所述群组推送引擎响应于接收到的所述推送群组建立请求,创建推送群组,为所述推送群组分配对应的群组标识,并将所述群组标识返回给所述应用服务器; 所述应用服务器向所述群组推送引擎发出群组推送业务请求和待推送的业务数据,所述群组推送业务请求包括待推送的群组标识; 所述群组推送引擎响应于接收到的所述群组推送业务请求和待推送的业务数据,缓存所述待推送的业务数据,根据所述群组推送业务请求中的待推送的群组标识确定推送群组,并确定所述推送群组中符合推送条件的成员用户; 所述群组推送引擎向所述符合推送条件的成员用户对应的客户端发送推送通知,并通过移动承载网络向所述推送群组中的成员用户对应的客户端进行数据推送。
16.根据权利要求15所述的业务推送方法,其中,所述应用服务器向群组推送引擎发出的推送群组建立请求还包括推送业务的信息; 所述群组推送引擎将所述推送业务的信息发送给策略控制实体,以便所述策略控制实体针对所述推送业务制定相应的服务质量QoS和计费策略。
17.根据权利要求15所述的业务推送方法,其中,还包括 所述群组推送引擎判断所述推送群组中是否存在未推送的成员用户,如果存在,则继续确定所述未推送的成员用户符合推送条件的成员用户,并向所述符合推送条件的成员用户对应的客户端发送推送通知。
18.根据权利要求15或17所述的业务推送方法,其中,还包括 所述群组推送引擎按照预设周期或者响应于外部事件,判断待推送的成员用户中是否存 在符合推送条件的成员用户,并向所述符合推送条件的成员用户对应的客户端发送推送通知。
全文摘要
本发明涉及一种业务推送系统,包括应用服务器,用于发出包括成员用户的标识信息的推送群组建立请求,以及发出群组推送业务请求,并通过移动承载网络向推送群组中的成员用户对应的客户端进行数据推送;群组推送引擎,用于创建推送群组,为推送群组分配对应的群组标识,并将群组标识返回给请求方,以及根据群组推送业务请求中的待推送的群组标识确定推送群组,并确定推送群组中符合推送条件的成员用户,然后向符合推送条件的成员用户对应的客户端发送推送通知。本发明还涉及一种业务推送方法。本发明可以极大的减少应用服务器与推送引擎之间的交互次数,通过一次交互完成多个用户的推送业务,显著的提高推送系统的处理能力及效率。
文档编号H04L29/08GK103036926SQ20111030443
公开日2013年4月10日 申请日期2011年9月29日 优先权日2011年9月29日
发明者王海宁, 毕奇, 杨峰义 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1