一种实现消息推送的方法和系统技术方案

技术编号:9841022 阅读:118 留言:0更新日期:2014-04-02 04:10
本发明专利技术公开了一种实现消息推送的方法和系统,所述方法包括:代理服务器在通过共享点服务器接收到客户端的休眠请求后,将客户端的状态更新为休眠状态并通过共享点服务器向客户端回复休眠成功响应,将从核心应用服务器接收的所述客户端的消息进行保存,并从所述消息中提取信息生成推送通知,通过共享点服务器将推送推知转发给推送服务器进行推送;代理服务器在通过共享点服务器接收到客户端的取消休眠请求后,将客户端的状态更新为非休眠状态并通过共享点服务器向客户端回复取消成功响应,取出保存的所述客户端的消息,通过共享点服务器将所述消息发送给客户端。本发明专利技术能够解决客户端在取消休眠重新连接时,无法获取推送通知的详细内容的问题。

【技术实现步骤摘要】
一种实现消息推送的方法和系统
本专利技术涉及通信领域,特别涉及一种实现消息推送的方法和系统。
技术介绍
在即时通讯应用中,可以使用HTML5技术使客户端应用于终端,例如在IPAD设备上运行。在此种应用场景下,客户端可以在后台工作,例如按下IPAD的HOME键。此时,需要应用推送服务器,例如APNS(ApplePushNotificationService,苹果推送通知服务),向终端用户推送通知消息。现有技术中,对于简易客户端使用代理服务器,例如IMAS(InstantMessageAgentService,即时消息代理服务),来支持客户端与核心应用服务器间交互。因此,需要代理服务器能够支持推送推送通知的功能。现有技术中,代理服务器会将从核心应用服务器接收的消息发送给共享点服务器,例如WSS(WindowsShareService,共享点服务),共享服务器通过推送服务器进行推送,终端接收推送通知。但是,当客户端在取消休眠重新连接时,客户端却无法获取推送通知的详细内容,导致客户端消息数据丢失。
技术实现思路
本专利技术提供了一种实现消息推送的方法和系统,以解决客户端在取消休眠重新连接时,无法获取推送通知的详细内容的问题。本专利技术公开了一种实现消息推送的方法,所述方法包括:代理服务器在通过共享点服务器接收到客户端的休眠请求后,将客户端的状态更新为休眠状态并通过共享点服务器向客户端回复休眠成功响应,将从核心应用服务器接收的所述客户端的消息进行保存,并从所述消息中提取信息生成推送通知,通过共享点服务器将推送推知转发给推送服务器进行推送;代理服务器在通过共享点服务器接收到客户端的取消休眠请求后,将客户端的状态更新为非休眠状态并通过共享点服务器向客户端回复取消成功响应,取出保存的所述客户端的消息,通过共享点服务器将所述消息发送给客户端。较佳的,所述代理服务器将从核心应用服务器接收的所述客户端的消息进行保存具体包括:代理服务器将所述消息封装为消息类型MessageType后,保存封装后的消息。较佳的,所述代理服务器取出保存的所述客户端的消息,通过共享点服务器将所述消息发送给客户端具体包括:代理服务器取出保存的客户端的MessageType类型消息,将该消息通过数据包发送给共享点服务器;共享点服务器解析出接收的数据包的类型为MessageType类型后,确定所述数据包为消息,将所述消息发送给客户端。较佳的,所述代理服务器从所述消息中提取信息生成推送通知具体包括:代理服务器从所述消息中提取信息,按与共享点服务器约定的消息推送类型MessagePushType封装提取的信息,生成推送通知。较佳的,所述代理服务器通过共享点服务器和推送服务器推送所述推送通知具体包括:代理服务器将推送通知通过数据包发送给共享点服务器;共享点服务器解析出接收的数据包的类型为MessagePushType类型后,确定所述数据包为推送通知;共享点服务器将推送通知发送给推送服务器,由推送服务器推送所述推送通知。较佳的,提取的所述信息至少包括:消息ID、接收消息的用户、消息来源和发送时间。本专利技术还公开了一种实现消息推送的系统,所述系统包括:客户端、代理服务器、核心应用服务器、共享点服务器和推送服务器;所述代理服务器,用于在在通过共享点服务器接收到客户端的休眠请求后,将客户端的状态更新为休眠状态并通过共享点服务器向客户端回复休眠成功响应,将从核心应用服务器接收的所述客户端的消息进行保存,并从所述消息中提取信息生成推送通知,通过共享点服务器将推送推知转发给推送服务器进行推送,并在通过共享点服务器接收到客户端的取消休眠请求后,将客户端的状态更新为非休眠状态并通过共享点服务器向客户端回复取消成功响应,取出保存的所述客户端的消息,通过共享点服务器将所述消息发送给客户端;所述共享点服务器,用于向代理服务器转发客户端的休眠请求、取消休眠请求,向客户端转发代理服务器回复的休眠成功响应、取消成功响应,在客户端的状态更新为非休眠状态后将从代理服务器接收的消息转发给客户端,以及在客户端的状态为休眠状态时将从代理服务器接收的推送通知转发给推送服务器进行推送;所述推送服务器,用于向客户端推送从共享点服务器接收的推送通知。较佳的,所述代理服务器在取出保存的所述客户端的消息,通过共享点服务器将所述消息发送给客户端后,还用于释放保存所述消息的存储空间。较佳的,提取的所述信息至少包括:消息ID、接收消息的用户、消息来源和发送时间。本专利技术的有益效果是:通过代理服务器获知客户端进入休眠状态后,将从核心应用服务器接收的所述客户端的消息保存,并根据消息生成推送通知,通过共享点服务器和推送服务器推送所述推送通知,以及代理服务器获知客户端取消休眠状态后,取出保存的所述客户端的消息,通过共享点服务器将所述消息发送给客户端;能够在客户端休眠期间实现消息推送的同时,保证客户端在取消休眠重新连接时,获取推送通知的详细内容,避免客户端消息数据的丢失。附图说明图1为本专利技术实现消息推送的方法的流程图。图2为本专利技术一实施例中代理服务器对接收的客户端消息进行处理的流程图。图3为本专利技术一实施例中实现消息推送的方法的流程图。图4为本专利技术实现消息推送的系统的结构图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。参见图1,为本专利技术提供的实现消息推送的方法。所述方法包括如下步骤。步骤S100,代理服务器在通过共享点服务器接收到客户端的休眠请求后,将客户端的状态更新为休眠状态并通过共享点服务器向客户端回复休眠成功响应,将从核心应用服务器接收的所述客户端的消息进行保存,并从所述消息中提取信息生成推送通知,通过共享点服务器将推送推知转发给推送服务器进行推送。步骤S200,代理服务器在通过共享点服务器接收到客户端的取消休眠请求后,将客户端的状态更新为非休眠状态并通过共享点服务器向客户端回复取消成功响应,取出保存的所述客户端的消息,通过共享点服务器将所述消息发送给客户端。举例而言,代理服务器可以提供一个休眠接口供共享点服务器调用。通过此接口可以进行休眠及取消休眠的操作。代理服务器内部维护该用户的休眠状态。如:客户端登录后,代理服务器将客户端状态设置为非休眠状态。采用本实施例中方法,客户端每次状态变化时向代理服务器发送请求,收到回复后完成状态变化,能够保证代理服务器中客户端状态与客户端的实际状态相一致。上述方法中代理服务器、核心应用服务器、共享点服务器和推送服务器可以应用硬件实现,也可以通过功能模块实现,而且上述装置可以分布在各自独立的物理设备上,也可以位于同一物理设备,彼此通过接口进行交互,在此不做特别限制。通过上述方法,能够在客户端休眠期间进行消息推送的同时,保证客户端在取消休眠重新连接时,获取推送通知的详细内容,避免客户端消息数据的丢失。在一实施例中,为将客户端取消休眠状态和休眠状态下的消息数据区分,在客户端取消休眠状态后,代理服务器传送给共享点服务器的数据包的类型为消息类型MessageType。客户端为休眠状态时,代理服务器传送给共享点服务器的数据包的类型为消息推送类型MessagePushType。本申请中客户端的休眠状态,指的是客户端转入后台运行的状态,例如按下IPA本文档来自技高网...
一种实现消息推送的方法和系统

【技术保护点】
一种实现消息推送的方法,其特征在于,所述方法包括:代理服务器在通过共享点服务器接收到客户端的休眠请求后,将客户端的状态更新为休眠状态并通过共享点服务器向客户端回复休眠成功响应,将从核心应用服务器接收的所述客户端的消息进行保存,并从所述消息中提取信息生成推送通知,通过共享点服务器将推送推知转发给推送服务器进行推送;代理服务器在通过共享点服务器接收到客户端的取消休眠请求后,将客户端的状态更新为非休眠状态并通过共享点服务器向客户端回复取消成功响应,取出保存的所述客户端的消息,通过共享点服务器将所述消息发送给客户端。

【技术特征摘要】
1.一种实现消息推送的方法,其特征在于,所述方法包括:代理服务器在通过共享点服务器接收到客户端的休眠请求后,将客户端的状态更新为休眠状态并通过共享点服务器向客户端回复休眠成功响应,将从核心应用服务器接收的所述客户端的消息进行保存,并从所述消息中提取信息生成推送通知,通过共享点服务器将推送通知转发给推送服务器进行推送;代理服务器在通过共享点服务器接收到客户端的取消休眠请求后,将客户端的状态更新为非休眠状态并通过共享点服务器向客户端回复取消成功响应,取出保存的所述客户端的消息,通过共享点服务器将所述消息发送给客户端,其中客户端取消休眠状态和休眠状态下的消息数据类型不同;所述代理服务器将从核心应用服务器接收的所述客户端的消息进行保存具体包括:代理服务器将所述消息封装为消息类型MessageType后,保存封装后的消息。2.根据权利要求1所述的方法,其特征在于,所述代理服务器取出保存的所述客户端的消息,通过共享点服务器将所述消息发送给客户端具体包括:代理服务器取出保存的客户端的MessageType类型消息,将该消息通过数据包发送给共享点服务器;共享点服务器解析出接收的数据包的类型为MessageType类型后,确定所述数据包为消息,将所述消息发送给客户端。3.根据权利要求1所述的方法,其特征在于,所述代理服务器从所述消息中提取信息生成推送通知具体包括:代理服务器从所述消息中提取信息,按与共享点服务器约定的消息推送类型MessagePushType封装提取的信息,生成推送通知。4.根据权利要求3所述的方法,其特征在于,所述代理服务器通过共享点服务器将推送通知转发给推送服务器进行推送具体包括:代理服务器将推送通知通过数据包发送给共享点服务器;共享点服务器解析出接收的数据包的类型为MessagePushType类型后,确定所述数据包为推送通知;共享点服务器将推送通知发送给推送服务器,由推送服务器推送所述推送通知。...

【专利技术属性】
技术研发人员:嵇澄宇
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1