CN105915612A - 推送消息获取、消息推送方法及装置 - Google Patents

推送消息获取、消息推送方法及装置 Download PDF

Info

Publication number
CN105915612A
CN105915612A CN201610245239.4A CN201610245239A CN105915612A CN 105915612 A CN105915612 A CN 105915612A CN 201610245239 A CN201610245239 A CN 201610245239A CN 105915612 A CN105915612 A CN 105915612A
Authority
CN
China
Prior art keywords
request
message
client
push message
push
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610245239.4A
Other languages
English (en)
Inventor
周杨
张科峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201610245239.4A priority Critical patent/CN105915612A/zh
Publication of CN105915612A publication Critical patent/CN105915612A/zh
Priority to PCT/CN2016/111303 priority patent/WO2017181709A1/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供的推送消息获取、消息推送方法及装置,可以向目标服务器发送针对待推送消息的版本的第一请求;接收目标服务器根据第一请求反馈的请求结果;在根据请求结果确认目标服务器中存在待推送消息的新版本时,向目标服务器发送获取新版本的待推送消息的第二请求;接收目标服务器根据第二请求推送的新版本的待推送消息。由于目标服务器并不依赖于自身是否保存有客户端的registerID数据,而是在接收到客户端发送的获取新版本的待推送消息的第二请求后,便向客户端推送消息,因此,应用本发明实施例提供的方案,客户端成功获取目标服务器推送的消息的概率高,服务器向客户端成功推送消息的概率也高。

Description

推送消息获取、消息推送方法及装置
技术领域
本发明涉及消息推送技术领域,特别是涉及推送消息获取、消息推送方法及装置。
背景技术
客户端开发商为了提高其客户端的活跃度,引起用户关注,激发用户对其客户端的使用欲望,同时唤醒沉睡用户,增加用户粘性,使客户端获得长久的生命力和更强大的市场竞争力,不可避免地要从服务器向客户端推送消息。
以基于安卓操作系统的客户端为例,现有技术中一般是通过Google提供的GCM(Google Cloud Messaging)服务来实现消息推送的,具体过程如下:
客户端向其对应的开发商服务器发送消息推送请求后,服务器从其本地存储的registerID(注册标识)数据库中获得上述客户端的registerID,并确定要推送的消息,然后对所获得的registerID和上述要推送的消息进行数据封装处理,并将封装后的数据发送至GCM服务器,由GCM服务器根据上述封装后的数据向客户端推送上述待推送消息。
其中,registerID是客户端请求GCM服务器生成的,客户端获得GCM服务器反馈的registerID后,将其发送至上述开发商服务器,上述开发商服务器将该registerID存储至本地的registerID数据库中,以备后续消息推送。
客户端一般能够应用上述方式获得推送消息,但是由于通过GCM服务器向客户端推送消息时,上述封装后的数据中必须包含客户端的registerID,GCM服务器才能成功进行消息推送,所以,只有上述registerID数据库中存储有该客户端的registerID的情况下才能应用上述方式实现消息推送。而实际应用中由于客户端未及时请求GCM服务器为其生成registerID或者由于GCM服务器自身因素无法及时为客户端生成registerID等原因,上述registerID数据库无法保证能够存储有所有客户端的registerID,进而应用上述方式成功获取推送消息的概率偏低。
发明内容
本发明实施例的目的在于提供推送消息获取、消息推送方法及装置,以解决客户端成功获取推送消息的概率偏低的技术问题。
为了实现上述目的,本发明实施例公开了一种推送消息获取方法,应用于客户端,所述方法包括:
向目标服务器发送针对待推送消息的版本的第一请求;
接收所述目标服务器根据所述第一请求反馈的请求结果;
在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求;
接收所述目标服务器根据所述第二请求推送的新版本的所述待推送消息。
优选的,所述请求结果中携带所述待推送消息的版本信息;
所述在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求包括:
判断所述请求结果中携带的版本信息是否高于本地存储的所述待推送消息的版本信息;
若为是,判定所述目标服务器中存在所述待推送消息的新版本;
向所述目标服务器发送获取新版本的所述待推送消息的第二请求。
优选的,所述方法还包括:
接收第三方服务器推送的第一消息;
根据所述第一消息携带的消息标识,判断是否已接收过所述第一消息;
如果是,将所述第一消息丢弃;
否则,展示所述第一消息。
优选的,所述方法还包括:
接收第三方服务器发送的获取待推送的第二消息的第一指令;
根据所述第一指令,向所述目标服务器发送获取所述第二消息的第三请求;
接收所述目标服务器根据所述第三请求推送的所述第二消息;
根据所述第二消息携带的消息标识,判断是否已接收过所述第二消息;
如果是,将所述第二消息丢弃;
否则,展示所述第二消息。
优选的,所述方法还包括:
接收第三方服务器发送的获取待推送的第三消息的第二指令,其中,所述第二指令携带有所述第三消息的消息标识;
根据所述第三消息的消息标识,判断是否已接收过所述第三消息;
如果否,根据所述第二指令,向所述目标服务器发送获取所述第三消息的第四请求;
接收所述目标服务器根据所述第四请求推送的所述第三消息。
优选的,所述向目标服务器发送针对待推送消息的版本的第一请求包括:
按照预设的时间间隔向目标服务器发送针对待推送消息的版本的第一请求,其中,所述预设的时间间隔为:根据用户的使用习惯确定的时间间隔。
优选的,所述方法还包括:
检测自身的基本信息是否发生变化;
如果是,向所述目标服务器发送获取所述待推送消息的第五请求;
接收所述目标服务器根据所述第五请求推送的所述待推送消息。
为了实现上述目的,本发明实施例公开了一种消息推送方法,应用于服务器,所述方法包括:
接收客户端发送的针对待推送消息的版本的第一请求;
根据所述第一请求获得所述待推送消息的版本的信息,生成请求结果,并向所述客户端发送所述请求结果;
接收所述客户端发送的获取新版本的所述待推送消息的第二请求,其中,所述第二请求为:所述客户端根据所述请求结果确认所述服务器中存在所述待推送消息的新版本时发送的;
根据所述第二请求向所述客户端推送新版本的所述待推送消息。
优选的,所述第一请求携带所述客户端存储的所述待推送消息的第一版本信息;
所述根据所述第一请求获得所述待推送消息的版本的信息,生成请求结果,包括:
获得本地存储的所述待推送消息的第二版本信息;
根据所述第一版本信息和所述第二版本信息,判断本地是否存在所述待推送消息的新版本;
根据判断结果生成请求结果。
优选的,所述获得本地存储的所述待推送消息的第二版本信息,包括:
根据所述客户端的基本信息中的至少一种获得本地存储的所述待推送消息的第二版本信息;所述基本信息包括:所述客户端使用的语言信息、所述客户端所处地理位置、所述客户端所在终端的操作系统的版本信息和所述客户端的版本信息。
优选的,所述根据所述第二请求向所述客户端推送新版本的所述待推送消息,包括:
根据所述客户端的基本信息中的至少一种以及所述第二请求,获得所述待推送消息的新版本,并向所述客户端推送所获得的新版本的所述待推送消息;所述基本信息包括:所述客户端使用的语言信息、所述客户端所处地理位置、所述客户端所在终端的操作系统的版本信息和所述客户端的版本信息。
为了实现上述目的,本发明实施例还公开了一种推送消息获取装置,应用于客户端,所述装置包括:第一请求发送模块、第一接收模块、第二请求发送模块和第一待推送消息接收模块;
所述第一请求发送模块,用于向目标服务器发送针对待推送消息的版本的第一请求;
所述第一接收模块,用于接收所述目标服务器根据所述第一请求反馈的请求结果;
所述第二请求发送模块,用于在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求;
所述第一待推送消息接收模块,用于接收所述目标服务器根据所述第二请求推送的新版本的所述待推送消息。
优选的,所述第一接收模块接收的所述请求结果中携带所述待推送消息的版本信息;
所述第二请求发送模块包括:第一判断子模块、判定结果确定子模块和第二请求发送子模块,
所述第一判断子模块,用于判断所述请求结果中携带的版本信息是否高于本地存储的所述待推送消息的版本信息;
所述判定结果确定子模块,用于在所述第一判断子模块获得的判断结果为是时,判定所述目标服务器中存在所述待推送消息的新版本;
所述第二请求发送子模块,用于向所述目标服务器发送获取新版本的所述待推送消息的第二请求。
优选的,所述装置还包括:
第一消息接收模块,用于接收第三方服务器推送的第一消息;
第一判断模块,用于根据所述第一消息携带的消息标识,判断是否已接收过所述第一消息;
第一丢弃模块,用于在所述第一判断模块获得的判断结果为是时,将所述第一消息丢弃;
第一展示模块,用于在所述第一判断模块获得的判断结果为否时,展示所述第一消息。
优选的,所述装置还包括:
第一指令接收模块,用于接收第三方服务器发送的获取待推送的第二消息的第一指令;
第三请求发送模块,用于根据所述第一指令,向所述目标服务器发送获取所述第二消息的第三请求;
第二消息接收模块,用于接收所述目标服务器根据所述第三请求推送的所述第二消息;
第二判断模块,用于根据所述第二消息携带的消息标识,判断是否已接收过所述第二消息;
第二丢弃模块,用于在所述第二判断模块获得的判断结果为是时,将所述第二消息丢弃;
第二展示模块,用于在所述第二判断模块获得的判断结果为否时,展示所述第二消息。
优选的,所述装置还包括:
第二指令接收模块,用于接收第三方服务器发送的获取待推送的第三消息的第二指令,其中,所述第二指令携带有所述第三消息的消息标识;
第三判断模块,用于根据所述第三消息的消息标识,判断是否已接收过所述第三消息;
第四请求发送模块,用于在所述第三判断模块获得的判断结果为否时,根据所述第二指令,向所述目标服务器发送获取所述第三消息的第四请求;
第三消息接收模块,用于接收所述目标服务器根据所述第四请求推送的所述第三消息。
优选的,所述第一请求发送模块,具体用于按照预设的时间间隔向目标服务器发送针对待推送消息的版本的第一请求,其中,所述预设的时间间隔为:根据用户的使用习惯确定的时间间隔。
优选的,所述装置还包括:
基本信息检测模块,用于检测自身的基本信息是否发生变化;
第五请求发送模块,用于在所述基本信息检测模块获得的检测结果为是时,向所述目标服务器发送获取所述待推送消息的第五请求;
第二待推送消息接收模块,用于接收所述目标服务器根据所述第五请求推送的所述待推送消息。
为了实现上述目的,本发明实施例还公开了一种消息推送装置,应用于服务器,所述装置包括:第一请求接收模块、请求结果发送模块、第二请求接收模块和推送模块;
所述第一请求接收模块,用于接收客户端发送的针对待推送消息的版本的第一请求;
所述请求结果发送模块,用于根据所述第一请求获得所述待推送消息的版本的信息,生成请求结果,并向所述客户端发送所述请求结果;
所述第二请求接收模块,用于接收所述客户端发送的获取新版本的所述待推送消息的第二请求,其中,所述第二请求为:所述客户端根据所述请求结果确认所述服务器中存在所述待推送消息的新版本时发送的;
所述推送模块,用于根据所述第二请求向所述客户端推送新版本的所述待推送消息。
优选的,所述第一请求携带所述客户端存储的所述待推送消息的第一版本信息;
所述请求结果发送模块包括:第二版本获取子模块、判断子模块和请求结果生成子模块,
所述第二版本获取子模块,用于获得本地存储的所述待推送消息的第二版本信息;
所述判断子模块,用于根据所述第一版本信息和所述第二版本信息,判断本地是否存在所述待推送消息的新版本;
所述请求结果生成子模块,用于根据所述判断子模块获得的判断结果生成请求结果。
优选的,所述所述第二版本获取子模块,具体用于根据所述客户端的基本信息中的至少一种获得本地存储的所述待推送消息的第二版本信息;所述基本信息包括:所述客户端使用的语言信息、所述客户端所处地理位置、所述客户端所在终端的操作系统的版本信息和所述客户端的版本信息。
优选的,所述推送模块,具体用于根据所述客户端的基本信息中的至少一种以及所述第二请求,获得所述待推送消息的新版本,并向所述客户端推送所获得的新版本的所述待推送消息;所述基本信息包括:所述客户端使用的语言信息、所述客户端所处地理位置、所述客户端所在终端的操作系统的版本信息和所述客户端的版本信息。
本发明实施例提供的推送消息获取、消息推送方法及装置,可以向目标服务器发送针对待推送消息的版本的第一请求;接收所述目标服务器根据所述第一请求反馈的请求结果;在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求;接收所述目标服务器根据所述第二请求推送的新版本的所述待推送消息。由于目标服务器并不依赖于自身是否保存有客户端的registerID数据,而是在接收到客户端发送的获取新版本的所述待推送消息的第二请求后,便向客户端推送消息,因此,应用本发明实施例提供获取推送消息的方案,客户端成功获取目标服务器推送的消息的概率高;应用本发明实施例提供的消息推送方案,服务器向客户端成功推送消息的概率也高。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种推送消息获取方法的流程图;
图2为本发明实施例提供的另一种推送消息获取方法的流程图;
图3为本发明实施例提供的另一种推送消息获取方法的流程图;
图4为本发明实施例提供的另一种推送消息获取方法的流程图;
图5为本发明实施例提供的一种推送消息获取装置的结构图;
图6为本发明实施例提供的另一种推送消息获取装置的结构图;
图7为本发明实施例提供的另一种推送消息获取装置的结构图;
图8为本发明实施例提供的另一种推送消息获取装置的结构图;
图9为本发明实施例提供的一种消息推送方法流程图;
图10为本发明实施例提供的一种消息推送装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种推送消息获取方法及装置,应用于客户端;相应的,本发明实施例还提供了一种消息推送方法及装置,应用于服务器。下面分别进行说明。
首先对应用于客户端的一种推送消息获取方法及装置进行说明
如图1所示,本发明实施例提供了一种推送消息获取方法,应用于客户端,该方法包括:
S101、向目标服务器发送针对待推送消息的版本的第一请求;
其中,目标服务器可以仅仅是客户端开发商提供的消息版本控制服务器,也可以为客户端开发商提供的具有待推送消息的版本管理功能的其它服务器。
待推送消息,可以是客户端开发商想要推送给客户端的广告、客户端版本升级信息、时事新闻、新产品发布等消息。
待推送消息的版本,可以是待推送消息的时间版本,并由客户端开发商配置在目标服务器上。
第一请求可以仅携带客户端的标识,使目标服务器根据客户端的标识以及目标服务器上存储的针对该客户端消息版本控制记录确认目标服务器上是否存在待推送消息的新版本;
第一请求也可以携带客户端存储的待推送消息的第一版本信息,以使目标服务器根据本地存储的待推送消息的第二版本信息和第一请求中携带的待推送消息的第一版本信息,判断目标服务器中是否存在待推送消息的新版本。其中,第一版本信息可以是客户端已经接收的待推送消息的最新版本,第二版本信息可以是客户端开发商新配置的待推送消息的版本信息。
具体的,客户端可以周期性地向目标服务器发送针对待推送消息的版本的第一请求;但是,当周期性地向目标服务器发送第一请求时,如果发送周期设置的较长,则达不到客户端开发商向客户端及时推送消息的目的;如果发送周期设置的较短,则不可避免的会在用户的休息时间频繁地向用户推送消息,给用户造成打扰。
因此,优选的,客户端还可以按照预设的时间间隔向目标服务器发送针对待推送消息的版本的第一请求;其中,预设的时间间隔可以为:根据用户的使用习惯确定的时间间隔。例如,用户在上午6至上午8点、中午11点至下午2点、晚上6点至晚上10点使用客户端的频率较高,上午8点至上午11点、下午2点至下午5点使用客户端的频率较低,晚上10点至次日上午6点几乎不使用客户端,则根据用户使用该客户端的频率,可以将上午6至上午8点、中午11点至下午2点、晚上6点至晚上10点对应的上述时间间隔设置为较小的值,如:10分钟,可以将上午8点至上午11点、下午2点至下午5点对应的上述时间间隔设置为较大的值,如:1小时,可以将晚上10点至次日上午6点对应的上述时间间隔可设置为更大的值,如:6小时。
当然,较佳的,还可以由使用该客户端的用户自定义该预设的时间间隔,以进一步提高用户的体验效果。
S102、接收所述目标服务器根据所述第一请求反馈的请求结果;
目标服务器反馈的请求结果可以只是确认结果,即确认目标服务器上存在待推送消息的新版本,或者确认目标服务器上不存在待推送消息的新版本;
目标服务器反馈的请求结果也可以是目标服务器上存储的待发送消息的版本信息。
S103、在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求;
当目标服务器反馈的请求结果只是确认结果时,客户端可以在确认结果为是时,判定目标服务器中存在待推送消息的新版本;然后向目标服务器发送获取新版本的待推送消息的第二请求。
当目标服务器反馈的请求结果中携带待推送消息的版本信息时,客户端可以通过判断所述请求结果中携带的版本信息是否高于本地存储的所述待推送消息的版本信息;在获得的判断结果为是时,判定所述目标服务器中存在所述待推送消息的新版本;然后向所述目标服务器发送获取新版本的所述待推送消息的第二请求。
其中,第二请求中携带有客户端的一些基本信息,基本信息可以包括:所述客户端使用的语言信息、所述客户端所处地理位置、所述客户端所在终端的操作系统的版本信息和所述客户端的版本信息中的至少一种,当然,基本信息并不仅限于上述几种。
此时,目标服务器可以是客户端开发商提供的单独的待推送消息内容服务器,也可以是客户端开发商提供的同时具有待推送版本管理功能和待推送消息内容管理的服务器,也即,在实际应用中,消息版本控制服务器和消息内容服务器可以为同一服务器,也可以为不同服务器,但均可以将它们统称为目标服务器。
S104、接收所述目标服务器根据所述第二请求推送的新版本的所述待推送消息。
可以理解的是,待推送消息可以是客户端接收的消息的总称,即客户端接收的待推送消息可以是一条以上。
由于在本发明图1所示的实施例提供的一种推送消息获取方法中,目标服务器推送消息时,并不依赖于自身是否保存有客户端的registerID数据,而是在接收到客户端发送的消息推送请求后即向客户端推送消息。因此客户端成功获取目标服务器推送的消息的概率较高。发明人通过大量实验证明,应用本发明图1所示的实施例提供的推送消息获取方法,客户端成功获取推送消息的概率在94%以上。
另外,现有技术中的轮询检测方式为:用户通过客户端直接向目标服务器发送获取新消息的请求,当服务器中存在新消息时,便向客户端推送相应的消息,当服务器中不存在新消息时,则等待客户端发送的下一个获取新消息的请求。由于现有技术中,需要客户端频繁地直接向服务器发送获取新消息的请求,而获取新消息的请求中通常携带有客户端的一些参数,如客户端使用的语言、客户端所在的国家、客户端所使用的操作系统的版本等,这使得客户端每次发送的获取新消息的请求需要占用较多的网络资源。因此,现有技术中的轮询检测方式需要开销用户较多的流量,不够经济实用。
而本发明实施例提供的一种推送消息获取方法中所采用的轮询检测方式,客户端每次只需要将占用网络资源较少的,针对目标服务器上的待推送消息的版本的第一请求发送给目标服务器,并且,仅在目标服务器上存在针对该客户端的新版本的待推送消息时,才向目标服务器发送获取待推送消息的第二请求,以获取针对该客户端的待推送消息。因此,更能节省用户的流量。
为了进一步提高客户端成功获取推送消息的概率,较佳的,如图2所示,在图1所示的实施例的基础上,本发明实施例还提供了另一种推送消息获取方法,该方法还可以包括:
S201、接收第三方服务器推送的第一消息;
具体的,该第三方服务器可以为GCM(Google Cloud Messaging)服务器,当然,还可以是其他第三方服务器,本发明并不对此进行限定,但第三方服务器上存储的第一消息也由客户端开发商配置。
S202、根据所述第一消息携带的消息标识,判断是否已接收过所述第二消息,如果是,执行S203;否则,执行S204;
在使用目标服务器和第三方服务器同时向客户端推送消息时,可能会存在同一消息被两个服务器重复推送的问题,这会给用户造成打扰,因此,客户端可以增设消息合并机制以对重复推送的消息进行处理。
具体的,可以使目标服务器推送的每一消息和第三方服务器推送的每一消息,均携带有标识该消息的唯一标识,该标识可以记为pushID。合并机制具体为:当客户端接收到第三方服务器推送的第一消息时,可以对包括第一消息在内的已接收到的消息按pushID进行排重处理,当在已接收的消息中找到与第一消息的pushID相同的消息时,即认为客户端已接收过与第一消息相同的消息。
S203、将所述第一消息丢弃;
S204、展示所述第一消息。
当第一消息已接收过时,则将第一消息丢弃,否则将第一消息作为一个新的消息进行处理。
图2所示的实施例作为本发明图1所示的实施例的补充技术方案,可以在采用图1所示的实施例提供的获取推送消息的方法的同时,使用第三方服务器向客户端推送消息,进一步提高了客户端成功获取推送消息的概率。发明人经过大量实验发现,应用图2所示实施例提供的方案获取推送消息时,客户端成功获取推送消息的概率在97%以上。
优选的,在图2所示的实施例中,客户端可以将通过第三方提供的第三方服务器获取待推送消息作为主要的待推送消息获取方式,而将通过客户端开发商提供的目标服务器获取待推送消息作为补充的待推送消息获取方式。这样,可以适当延长步骤S101中所述的预设的时间间隔,例如使客户端以第一固定时间间隔(例如6小时)向目标服务器发送第一请求,降低客户端询问目标服务器的频率,以在提高客户端成功获取推送消息的概率的同时,尽可能多地为用户节省流量和电量。
进一步,在保证客户端具有较高的成功获取待推送消息的概率的基础上,为了提高目标服务器推送消息的安全性,如图3所示,在图1所示的实施例的基础上,本发明实施例还提供了另一种推送消息获取方法,该方法还可以包括:
S301、接收第三方服务器发送的获取待推送的第二消息的第一指令;
与本发明图2所示的实施例一样,第三方服务器可以为GCM服务器,还可以为其他第三方提供的服务器,第三方服务器上存储的待推送的第二消息也由客户端开发商配置。
S302、根据所述第一指令,向所述目标服务器发送获取所述第二消息的第三请求;
可见,在本发明图3所示的实施例中,第三方服务器并不直接向客户端推送第二消息本身,而是向客户端推送以使客户端获取待推送的第二消息的第一指令,以使客户端根据该第一指令去目标服务器上获取待推送的第二消息。
这样,当目标服务器为客户端开发商提供的服务器时,客户端开发商虽然通过第三方服务器实现了第二消息的推送,但是并没有将第二消息的具体内容透露给第三方服务器,从而保证了客户端开发商向客户端推送的消息的安全性。
同样的,客户端可以向目标服务器发送携带客户端基本信息的第三请求,以获取目标服务器上存储的待推送的第二消息。
S303、接收所述目标服务器根据所述第三请求推送的所述第二消息;
S304、根据所述第二消息携带的消息标识,判断是否已接收过所述第二消息,如果是,执行S305,否则,执行S306;
与本发明图2所示的实施例一样,本发明图3所示的实施例中也可能存在同一消息被重复接收的问题,这会给用户造成打扰,因此,同样的,客户端可以增设消息合并机制以对重复接收的消息进行处理,具体的处理重复推送的消息的过程与图2所示的实施例中的步骤S202中一致,此处不再赘述。
S305、将所述第二消息丢弃;
S306:展示所述第二消息。
应用本发明图3所示的实施例提供的一种推送消息获取方法,当预设的时间间隔与图2所示的实施例中一致时,客户端成功获取推送消息的概率与图2所示的实施例一样,也在97%以上,但是本发明图3所示的实施例进一步取得了获取的待推送消息安全性高的良好效果。
优选的,在图3所示的实施例中,客户端可以将通过客户端开发商提供的目标服务器直接获取待推送消息作为主要的待推送消息获取方式,而将通过第三方提供的第三方服务器获取待推送消息的指令作为补充的待推送消息获取方式。这样,同样可以适当延长步骤S101中所述的预设的时间间隔,例如使客户端以第二固定时间间隔(例如6小时)向目标服务器发送第一请求,降低客户端询问目标服务器的频率,以在提高客户端成功获取待推送消息的概率、保证待推送消息的安全性的同时,尽可能多地为用户节省流量和电量。
如图4所示,在图1的基础上,本发明实施例还提供了另一种推送消息获取方法,该方法可以认为是对本发明图3所示的实施例提供的方法的进一步优化,该方法还可以包括:
S401、接接收第三方服务器发送的获取待推送的第三消息的第二指令,其中,所述第二指令携带有所述第三消息的消息标识;
具体的,第二指令携带的待推送的第三消息的消息标识也可以为pushID。
S402、根据所述第三消息的消息标识,判断是否已接收过所述第三消息;如果否,执行S403;
具体的,客户端可以在已接收到的消息中查找是否存在与第三消息的标识相同的消息,如果是,则说明客户端已接收过第三消息,否则,未接收过。
S403、根据所述第二指令,向所述目标服务器发送获取所述第三消息的第四请求;
同样的,客户端可以向目标服务器发送携带客户端基本信息的第四请求。
S404、接收所述目标服务器根据所述第四请求推送的所述第三消息。
与本发明是图3所示的是实施例相比,本发明是图4所示的实施例提供的一种推送消息获取方法,是在收到第三方服务器发送的获取待推送的第三消息的第二指令时,就对是否已接收过第三消息进行判断,而不是在获取第三消息后进行,省去了对重复接收的消息的处理过程,减少了客户端计算工作量,降低了客户端的资源消耗。
另外,在图1所示的实施例的基础上,本发明实施例还提供了另一种推送消息获取方法,该方法还可以包括:
步骤一、检测自身的基本信息是否发生变化;如果是,执行步骤二;
基本信息可以包括:所述客户端使用的语言信息、所述客户端所处地理位置、所述客户端所在终端的操作系统的版本信息和所述客户端的版本信息等等,本申请并不限定上述基本信息所包含的内容。
步骤二、向所述目标服务器发送获取所述待推送消息的第五请求;
步骤三、接收所述目标服务器根据所述第五请求推送的所述待推送消息。
提供这一实施例的目的在于从另一方面为客户端节省流量和电量。由于当客户端的基本信息发生变化后,说明客户端所处的环境发生了变化,针对客户端所处的新环境,客户端开发商想要推送给客户端的待推送消息的版本极有可能就是新版本。因此,客户端也没有必要再向目标服务器发送第一请求以确认目标服务器上存储的待推送消息的版本是否为新版本,而是直接向目标服务器发送获取待推送消息的第五请求即可,进而为客户端节省了流量和电量。例如客户端所处的地理位置由北京变为上海,客户端开发商想要推送客户端的消息如果为天气信息时,客户端没有必要在获取这个消息之前,徒劳地去确认该消息是否是一个新版本的消息。
本发明实施例提供的一种推送消息获取方法,可以向目标服务器发送针对待推送消息的版本的第一请求;接收所述目标服务器根据所述第一请求反馈的请求结果;在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求;接收所述目标服务器根据所述第二请求推送的新版本的所述待推送消息。由于目标服务器并不依赖于自身是否保存有客户端的registerID数据,而是在接收到客户端发送的获取新版本的所述待推送消息的第二请求后,便向客户端推送消息,因此,应用本发明实施例提供获取推送消息的方案,客户端成功获取目标服务器推送的消息的概率高。
相应于图1所示的方法实施例,如图5所示,本发明还提供了一种推送消息获取装置,该装置包括:第一请求发送模块501、第一接收模块502、第二请求发送模块503和第一待推送消息接收模块504,
第一请求发送模块501,用于向目标服务器发送针对待推送消息的版本的第一请求;
其中,目标服务器可以仅仅是客户端开发商提供的消息版本控制服务器,也可以为客户端开发商提供的具有待推送消息的版本管理功能的其它服务器。
待推送消息,可以是客户端开发商想要推送给客户端的广告、客户端版本升级信息、时事新闻、天气信息、新产品发布等消息。
待推送消息的版本,可以是待推送消息的时间版本,并由客户端开发商配置在目标服务器上。
第一请求可以仅携带客户端的标识,使目标服务器根据客户端的标识以及目标服务器上存储的针对该客户端消息版本控制记录确认目标服务器上是否存在待推送消息的新版本;
第一请求也可以携带客户端存储的待推送消息的第一版本信息,以使目标服务器根据本地存储的待推送消息的第二版本信息和第一请求中携带的待推送消息的第一版本信息,判断目标服务器中是否存在待推送消息的新版本。其中,第一版本信息可以是客户端已经接收的待推送消息的最新版本,第二版本信息可以是客户端开发商新配置的待推送消息的版本信息。
优选的,第一请求发送模块501,可以按照预设的时间间隔向目标服务器发送针对待推送消息的版本的第一请求;其中,所述预设的时间间隔为:根据用户的使用习惯确定的时间间隔。具体的,预设的时间间隔与图1所示的方法实施例中所述的预设的时间间隔一致,此处不再赘述。当然,较佳的,还可以由使用该客户端的用户自定义该预设的时间间隔,以进一步提高用户的体验效果。
第一接收模块502,用于接收所述目标服务器根据所述第一请求反馈的请求结果;
目标服务器反馈的请求结果可以只是确认结果,即确认目标服务器上存在待推送消息的新版本,或者确认目标服务器上不存在待推送消息的新版本;
目标服务器反馈的请求结果也可以是目标服务器上存储的待发送消息的版本信息。
第二请求发送模块503,用于在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求;
目标服务器可以是客户端开发商提供的单独的待推送消息内容服务器,也可以是客户端开发商提供的同时具有待推送版本管理功能和待推送消息内容管理的服务器,也即,在实际应用中,消息版本控制服务器和消息内容服务器可以为同一服务器,也可以为不同服务器,但均可以将它们统称为目标服务器。
第二请求发送模块503包括:第一判断子模块、判定结果确定子模块和第二请求发送子模块,
第一判断子模块,用于在携带待推送消息的版本信息时,判断所述请求结果中携带的版本信息是否高于本地存储的所述待推送消息的版本信息;或者,用于判断第一接收模块502接收的请求结果是否为是;
判定结果确定子模块,用于在所述第一判断子模块获得的判断结果为是时,判定所述目标服务器中存在所述待推送消息的新版本;
第二请求发送子模块,用于向所述目标服务器发送获取新版本的所述待推送消息的第二请求;
第二请求中携带有客户端的一些基本信息,基本信息可以包括:所述客户端使用的语言信息、所述客户端所处地理位置、所述客户端所在终端的操作系统的版本信息和所述客户端的版本信息中的至少一种,当然,基本信息并不仅限于上述几种。
第一待推送消息接收模块504,用于接收所述目标服务器根据所述第二请求推送的新版本的所述待推送消息。
可以理解的是,待推送消息可以是客户端接收的消息的总称,即客户端接收的待推送消息可以是一条以上。
由于在本发明图5所示的实施例提供的一种推送消息获取装置,目标服务器推送消息时,并不依赖于自身是否保存有客户端发送的该客户端的registerID数据,而是在接收到客户端发送的消息推送请求后即向客户端推送消息。因此客户端成功获取目标服务器推送的消息的概率较高。实验证明,应用本发明图5所示的实施例提供的推送消息获取装置,客户端成功获取推送消息的概率在94%以上。
另外,由于现有技术中的轮询检测方式,需要客户端频繁地直接向服务器发送获取新消息的请求,而获取新消息的请求中通常携带有客户端的一些参数,如客户端使用的语言、客户端所在的国家、客户端所使用的操作系统的版本等,这使得客户端每次发送的获取新消息的请求需要占用较多的网络资源。因此,现有技术中的轮询检测方式需要开销用户较多的流量,不够经济实用。关于现有技术中的轮询检测的具体方式与图1所示的方法实施例中一致,此处不再赘述。
而本发明实施例提供的一种推送消息获取装置中所采用的轮询检测方式,客户端每次只需要将占用网络资源较少的,针对目标服务器上的待推送消息的版本的第一请求发送给目标服务器,并且,仅在目标服务器上存在针对该客户端的新版本的待推送消息时,才向目标服务器发送获取待推送消息的第二请求,以获取针对该客户端的待推送消息。因此,更能节省用户的流量。
为了进一步提高客户端成功获取推送消息的概率,较佳的,如图6所示,在图5所示的实施例的基础上,本发明实施例还提供了另一种推送消息获取装置,该装置还可以包括:第一消息接收模块601、第一判断模块602、第一丢弃模块603和第一展示模块604;
第一消息接收模块601,用于接收第三方服务器推送的第一消息;
具体的,该第三方服务器可以为GCM(Google Cloud Messaging)服务器,当然,还可以是其他第三方服务器,本发明并不对此进行限定,但第三方服务器上存储的第一消息也由客户端开发商配置。
第一判断模块602,用于根据所述第一消息携带的消息标识,判断是否已接收过所述第一消息;
在使用目标服务器和第三方服务器同时向客户端推送消息时,可能会存在同一消息被两个服务器重复推送的问题,这会给用户造成打扰,因此,客户端可以增设消息合并机制以对重复推送的消息进行处理。
消息合并机制的具体处理过程与图2所示的方法实施例中描述的一致,此处不再赘述。
第一丢弃模块603,用于在所述第一判断模块602获得的判断结果为是时,将所述第一消息丢弃;
第一展示模块604,用于在所述第一判断模块602获得的判断结果为否时,展示所述第一消息。
图6所示的实施例作为本发明图5所示的实施例的补充技术方案,可以在采用图5所示的实施例提供的获取推送消息的装置的同时,使用第三方服务器向客户端推送消息,进一步提高了客户端成功获取推送消息的概率。发明人经过大量实验发现,应用图6所示实施例提供的装置获取推送消息时,客户端成功获取推送消息的概率在97%以上。
优选的,在图2所示的实施例中,客户端可以将通过第三方提供的第三方服务器获取待推送消息作为主要的待推送消息获取方式,而将通过客户端开发商提供的目标服务器获取待推送消息作为补充的待推送消息获取方式。这样,可以适当延长第一请求发送模块501中的预设的时间间隔,例如使客户端以第一固定时间间隔(例如6小时)向目标服务器发送第一请求,降低客户端询问目标服务器的频率,以在提高客户端成功获取推送消息的概率的同时,尽可能多地为用户节省流量和电量。
进一步,在保证客户端具有较高的成功获取待推送消息的概率的基础上,为了提高目标服务器推送消息的安全性,如图7所示,在图1所示的实施例的基础上,本发明实施例还提供了另一种推送消息获取装置,该装置还可以包括:第一指令接收模块701、第三请求发送模块702、第二消息接收模块703、第二判断模块704、第二丢弃模块705和第二展示模块706;
第一指令接收模块701,用于接收第三方服务器发送的获取待推送的第二消息的第一指令;
第三方服务器的定义及其中保存的待推送消息的来源与图6所示的装置实施例中相同,此处不作重复叙述。
第三请求发送模块702,用于根据所述第一指令,向所述目标服务器发送获取所述第二消息的第三请求;
可见,在本发明图7所示的实施例中,第三方服务器并不直接向客户端推送第二消息本身,而是向客户端推送以使客户端获取待推送的第二消息的第一指令,以使客户端根据该第一指令去目标服务器上获取待推送的第二消息。
这样,当目标服务器为客户端开发商提供的服务器时,客户端开发商虽然通过第三方服务器实现了第二消息的推送,但是并没有将第二消息的具体内容透露给第三方服务器,从而保证了客户端开发商向客户端推送的消息的安全性。
同样的,第三请求发送模块702可以向目标服务器发送携带客户端基本信息的第三请求,以获取目标服务器上存储的待推送的第二消息。
第二消息接收模块703,用于接收所述目标服务器根据所述第三请求推送的所述第二消息;
第二判断模块704,用于根据所述第二消息携带的消息标识,判断是否已接收过所述第二消息;
与本发明图6所示的实施例一样,本发明图7所示的实施例中也可能存在同一消息被重复接收的问题,这会给用户造成打扰,因此,同样的,客户端可以增设消息合并机制以对重复接收的消息进行处理,具体的处理重复推送的消息的过程与图6所示的实施例中一致,此处不再赘述。
第二丢弃模块705,用于在所述第二判断模块704获得的判断结果为是时,将所述第二消息丢弃;
第二展示模块706,用于在所述第二判断模块704获得的判断结果为否时,展示所述第二消息。
应用本发明图7所示的实施例提供的一种推送消息获取装置,当预设的时间间隔与图6所示的实施例中一致时,客户端成功获取推送消息的概率也在97%以上,但是本发明图7所示的实施例进一步取得了获取的待推送消息安全性高的良好效果。
优选的,在图7所示的实施例中,客户端可以将通过客户端开发商提供的目标服务器直接获取待推送消息作为主要的待推送消息获取方式,而将通过第三方提供的第三方服务器获取待推送消息的指令作为补充的待推送消息获取方式。这样,同样可以适当延长第一请求发送模块501中所述的预设的时间间隔,降低客户端询问目标服务器的频率,以在提高客户端成功获取待推送消息的概率、保证待推送消息的安全性的同时,尽可能多地为用户节省流量和电量。
如图8所示,在图6的基础上,本发明实施例还提供了另一种推送消息获取装置,该装置可以认为是对本发明图7所示的实施例提供的装置的进一步优化,该装置还可以包括:第二指令接收模块801、第三判断模块802、第四请求发送模块803和第三消息接收模块804,
第二指令接收模块801,用于接收第三方服务器发送的获取待推送的第三消息的第二指令,其中,所述第二指令携带有所述第三消息的消息标识;
具体的,第二指令携带的待推送的第三消息的消息标识也可以为pushID。
第三判断模块802,用于根据所述第三消息的消息标识,判断是否已接收过所述第三消息;
具体的,处理重复接收的消息的方法与图7所示的实施例中相同,此处不再赘述。
第四请求发送模块803,用于在所述第三判断模块802获得的判断结果为否时,根据所述第二指令,向所述目标服务器发送获取所述第三消息的第四请求;
同样的,客户端可以向目标服务器发送携带客户端基本信息的第四请求。
第三消息接收模块804,用于接收所述目标服务器根据所述第四请求推送的所述第三消息。
与本发明是图7所示的是实施例相比,本发明是图4所示的实施例提供的一种推送消息获取装置,是在收到第三方服务器发送的获取待推送的第三消息的第二指令时,就对是否已接收过第三消息进行判断,而不是在获取第三消息后进行,省去了对重复接收的消息的处理过程,减少了客户端计算工作量,降低了客户端的资源消耗。
另外,在图1所示的实施例的基础上,本发明实施例还提供了另一种推送消息获取装置,该装置还可以包括:基本信息检测模块、第五请求发送模块和第二待推送消息接收模块;
基本信息检测模块,用于检测自身的基本信息是否发生变化;
其中,基本信息可以包括:所述客户端使用的语言信息、所述客户端所处地理位置、所述客户端所在终端的操作系统的版本信息和所述客户端的版本信息等等,本申请并不限定上述基本信息所包含的内容。
第五请求发送模块,用于在所述基本信息检测模块获得的检测结果为是时,向所述目标服务器发送获取所述待推送消息的第五请求;
第二待推送消息接收模块,用于接收所述目标服务器根据所述第五请求推送的所述待推送消息。
提供这一实施例的目的在于从另一方面为客户端节省流量和电量。由于当客户端的基本信息发生变化后,说明客户端所处的环境发生了变化,针对客户端所处的新环境,客户端开发商想要推送给客户端的待推送消息的版本极有可能就是新版本。因此,客户端也没有必要再向目标服务器发送第一请求以确认目标服务器上存储的待推送消息的版本是否为新版本,而是直接向目标服务器发送获取待推送消息的第五请求即可,进而为客户端节省了流量和电量。
本发明实施例提供的一种推送消息获取装置,可以向目标服务器发送针对待推送消息的版本的第一请求;接收所述目标服务器根据所述第一请求反馈的请求结果;在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求;接收所述目标服务器根据所述第二请求推送的新版本的所述待推送消息。由于目标服务器并不依赖于自身是否保存有客户端的registerID数据,而是在接收到客户端发送的获取新版本的所述待推送消息的第二请求后,便向客户端推送消息,因此,应用本发明实施例提供获取推送消息的方案,客户端成功获取目标服务器推送的消息的概率高。
下面对应用于服务器的一种消息推送方法及装置进行说明。
如图9所示,本发明实施例提供了一种消息推送方法,应用于服务器,该方法可以包括:
S901、接收客户端发送的针对待推送消息的版本的第一请求;
第一请求可以仅携带客户端的标识;第一请求还可以携带客户端存储的待推送消息的第一版本信息;其中,第一版本信息可以是客户端已经接收的待推送消息的最新版本。
S902、根据所述第一请求获得所述待推送消息的版本的信息,生成请求结果,并向所述客户端发送所述请求结果;
在第一请求仅携带客户端的标识的情况下,服务器上可以维护一个针对每一客户端的待推送消息版本控制记录,并根据客户端的标识以及待推送消息版本控制记录确认服务器上是否存在待推送消息的新版本,进而生成请求结果;
在第一请求携带客户端存储的待推送消息的第一版本信息的情况下,服务器可以通过下述步骤生成请求结果:
步骤一、获得本地存储的所述待推送消息的第二版本信息;
第二版本信息可以是客户端开发商新配置的待推送消息的版本信息。
具体的,服务器可以根据所述客户端的基本信息中的至少一种获得本地存储的所述待推送消息的第二版本信息,也就是根据客户端的基本信息找到服务地本地存储的针对该客户端的待推送消息的版本;其中,所述基本信息包括:所述客户端使用的语言信息、所述客户端所处地理位置、所述客户端所在终端的操作系统的版本信息和所述客户端的版本信息。
步骤二、根据所述第一版本信息和所述第二版本信息,判断本地是否存在所述待推送消息的新版本;
具体的,当第二版本信息中的版本高于第一版本信息中的版本时,判断本地是否存在所述待推送消息的新版本。
步骤三、根据判断结果生成请求结果。
请求结果可以只是确认结果,即确认目标服务器上存在待推送消息的新版本,或者确认目标服务器上不存在待推送消息的新版本;
请求结果也可以是目标服务器上存储的待发送消息的版本信息。
S903、接收所述客户端发送的获取新版本的所述待推送消息的第二请求,其中,所述第二请求为:所述客户端根据所述请求结果确认所述服务器中存在所述待推送消息的新版本时发送的;
第二请求可以携带客户端的基本信息。
S904、根据所述第二请求向所述客户端推送新版本的所述待推送消息。
根据所述客户端的基本信息中的至少一种以及所述第二请求,获得所述待推送消息的新版本,并向所述客户端推送所获得的新版本的所述待推送消息;待推送消息可以由客户端开发商配置在该服务器上,并由该服务器推送给客户端。
需要说明的是,进行待推送消息版本控制的服务器和待推送消息推送的服务器可以是同一服务器,也可以是不同服务器。
本发明实施例提供的一种消息推送方法,可以接收客户端发送的针对待推送消息的版本的第一请求;根据所述第一请求获得所述待推送消息的版本的信息,生成请求结果,并向所述客户端发送所述请求结果;接收所述客户端发送的获取新版本的所述待推送消息的第二请求,其中,所述第二请求为:所述客户端根据所述请求结果确认所述服务器中存在所述待推送消息的新版本时发送的;根据所述第二请求向所述客户端推送新版本的所述待推送消息。由于服务器并不依赖于自身是否保存有客户端的registerID数据,而是在接收到客户端发送的获取新版本的所述待推送消息的第二请求后,便向客户端推送消息,因此,应用本发明实施例提供的消息推送方案,服务器向客户端成功推送消息的概率高。
相应于图9所示的方法实施例,如图10所示本发明实施例还提供了一种消息推送装置,该装置可以包括:第一请求接收模块1001、请求结果发送模块1002、第二请求接收模块1003和推送模块1004;
第一请求接收模块1001,用于接收客户端发送的针对待推送消息的版本的第一请求;
第一请求可以仅携带客户端的标识;第一请求还可以携带客户端存储的待推送消息的第一版本信息;其中,第一版本信息可以是客户端已经接收的待推送消息的最新版本。
请求结果发送模块1002,用于根据所述第一请求获得所述待推送消息的版本的信息,生成请求结果,并向所述客户端发送所述请求结果;
在第一请求仅携带客户端的标识的情况下,服务器上可以维护一个针对每一客户端的待推送消息版本控制记录,请求结果发送模块1002可以根据客户端的标识以及待推送消息版本控制记录,确认服务器上是否存在待推送消息的新版本,进而生成请求结果;
或者,请求结果发送模块1002可以包括:第二版本获取子模块、判断子模块和请求结果生成子模块,
第二版本获取子模块,用于在第一请求携带客户端存储的待推送消息的第一版本信息的情况下,获得本地存储的所述待推送消息的第二版本信息;
第二版本信息可以是客户端开发商新配置的待推送消息的版本信息。
具体的,第二版本获取子模块可以用于根据所述客户端的基本信息中的至少一种获得本地存储的所述待推送消息的第二版本信息,也就是根据客户端的基本信息找到服务地本地存储的针对该客户端的待推送消息的版本;其中,基本信息包括:所述客户端使用的语言信息、所述客户端所处地理位置、所述客户端所在终端的操作系统的版本信息和所述客户端的版本信息。
所述判断子模块,用于根据所述第一版本信息和所述第二版本信息,判断本地是否存在所述待推送消息的新版本;
具体的,当第二版本信息中的版本高于第一版本信息中的版本时,判断本地是否存在所述待推送消息的新版本。
所述请求结果生成子模块,用于根据所述判断子模块获得的判断结果生成请求结果。
请求结果可以只是确认结果,即确认目标服务器上存在待推送消息的新版本,或者确认目标服务器上不存在待推送消息的新版本;
请求结果也可以是目标服务器上存储的待发送消息的版本信息。
第二请求接收模块1003,用于接收所述客户端发送的获取新版本的所述待推送消息的第二请求,其中,所述第二请求为:所述客户端根据所述请求结果确认所述服务器中存在所述待推送消息的新版本时发送的;
第二请求可以携带客户端的基本信息。
推送模块1004,用于根据所述第二请求向所述客户端推送新版本的所述待推送消息。
具体的,推送模块1004可以用于根据所述客户端的基本信息中的至少一种以及所述第二请求,获得所述待推送消息的新版本,并向所述客户端推送所获得的新版本的所述待推送消息;其中,待推送消息可以由客户端开发商配置在该服务器上,并由该服务器推送给客户端。
本发明实施例提供的一种消息推送装置,可以接收客户端发送的针对待推送消息的版本的第一请求;根据所述第一请求获得所述待推送消息的版本的信息,生成请求结果,并向所述客户端发送所述请求结果;接收所述客户端发送的获取新版本的所述待推送消息的第二请求,其中,所述第二请求为:所述客户端根据所述请求结果确认所述服务器中存在所述待推送消息的新版本时发送的;根据所述第二请求向所述客户端推送新版本的所述待推送消息。由于服务器并不依赖于自身是否保存有客户端的registerID数据,而是在接收到客户端发送的获取新版本的所述待推送消息的第二请求后,便向客户端推送消息,因此,应用本发明实施例提供的消息推送方案,服务器向客户端成功推送消息的概率高。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种推送消息获取方法,其特征在于,应用于客户端,所述方法包括:
向目标服务器发送针对待推送消息的版本的第一请求;
接收所述目标服务器根据所述第一请求反馈的请求结果;
在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求;
接收所述目标服务器根据所述第二请求推送的新版本的所述待推送消息。
2.根据权利要求1所述的方法,其特征在于,
所述请求结果中携带所述待推送消息的版本信息;
所述在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求包括:
判断所述请求结果中携带的版本信息是否高于本地存储的所述待推送消息的版本信息;
若为是,判定所述目标服务器中存在所述待推送消息的新版本;
向所述目标服务器发送获取新版本的所述待推送消息的第二请求。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收第三方服务器推送的第一消息;
根据所述第一消息携带的消息标识,判断是否已接收过所述第一消息;
如果是,将所述第一消息丢弃;
否则,展示所述第一消息。
4.一种消息推送方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的针对待推送消息的版本的第一请求;
根据所述第一请求获得所述待推送消息的版本的信息,生成请求结果,并向所述客户端发送所述请求结果;
接收所述客户端发送的获取新版本的所述待推送消息的第二请求,其中,所述第二请求为:所述客户端根据所述请求结果确认所述服务器中存在所述待推送消息的新版本时发送的;
根据所述第二请求向所述客户端推送新版本的所述待推送消息。
5.根据权利要求4所述的方法,其特征在于,
所述第一请求携带所述客户端存储的所述待推送消息的第一版本信息;
所述根据所述第一请求获得所述待推送消息的版本的信息,生成请求结果,包括:
获得本地存储的所述待推送消息的第二版本信息;
根据所述第一版本信息和所述第二版本信息,判断本地是否存在所述待推送消息的新版本;
根据判断结果生成请求结果。
6.一种推送消息获取装置,其特征在于,应用于客户端,所述装置包括:第一请求发送模块、第一接收模块、第二请求发送模块和第一待推送消息接收模块;
所述第一请求发送模块,用于向目标服务器发送针对待推送消息的版本的第一请求;
所述第一接收模块,用于接收所述目标服务器根据所述第一请求反馈的请求结果;
所述第二请求发送模块,用于在根据所述请求结果确认所述目标服务器中存在所述待推送消息的新版本时,向所述目标服务器发送获取新版本的所述待推送消息的第二请求;
所述第一待推送消息接收模块,用于接收所述目标服务器根据所述第二请求推送的新版本的所述待推送消息。
7.根据权利要求6所述的装置,其特征在于,所述请求结果中携带所述待推送消息的版本信息;
所述第二请求发送模块包括:第一判断子模块、判定结果确定子模块和第二请求发送子模块,
所述第一判断子模块,用于判断所述请求结果中携带的版本信息是否高于本地存储的所述待推送消息的版本信息;
所述判定结果确定子模块,用于在所述第一判断子模块获得的判断结果为是时,判定所述目标服务器中存在所述待推送消息的新版本;
所述第二请求发送子模块,用于向所述目标服务器发送获取新版本的所述待推送消息的第二请求。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一消息接收模块,用于接收第三方服务器推送的第一消息;
第一判断模块,用于根据所述第一消息携带的消息标识,判断是否已接收过所述第一消息;
第一丢弃模块,用于在所述第一判断模块获得的判断结果为是时,将所述第一消息丢弃;
第一展示模块,用于在所述第一判断模块获得的判断结果为否时,展示所述第一消息。
9.一种消息推送装置,其特征在于,应用于服务器,所述装置包括:第一请求接收模块、请求结果发送模块、第二请求接收模块和推送模块;
所述第一请求接收模块,用于接收客户端发送的针对待推送消息的版本的第一请求;
所述请求结果发送模块,用于根据所述第一请求获得所述待推送消息的版本的信息,生成请求结果,并向所述客户端发送所述请求结果;
所述第二请求接收模块,用于接收所述客户端发送的获取新版本的所述待推送消息的第二请求,其中,所述第二请求为:所述客户端根据所述请求结果确认所述服务器中存在所述待推送消息的新版本时发送的;
所述推送模块,用于根据所述第二请求向所述客户端推送新版本的所述待推送消息。
10.根据权利要求9所述的装置,其特征在于,
所述第一请求携带所述客户端存储的所述待推送消息的第一版本信息;
所述请求结果发送模块包括:第二版本获取子模块、判断子模块和请求结果生成子模块,
所述第二版本获取子模块,用于获得本地存储的所述待推送消息的第二版本信息;
所述判断子模块,用于根据所述第一版本信息和所述第二版本信息,判断本地是否存在所述待推送消息的新版本;
所述请求结果生成子模块,用于根据所述判断子模块获得的判断结果生成请求结果。
CN201610245239.4A 2016-04-19 2016-04-19 推送消息获取、消息推送方法及装置 Pending CN105915612A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610245239.4A CN105915612A (zh) 2016-04-19 2016-04-19 推送消息获取、消息推送方法及装置
PCT/CN2016/111303 WO2017181709A1 (zh) 2016-04-19 2016-12-21 推送消息获取、消息推送方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610245239.4A CN105915612A (zh) 2016-04-19 2016-04-19 推送消息获取、消息推送方法及装置

Publications (1)

Publication Number Publication Date
CN105915612A true CN105915612A (zh) 2016-08-31

Family

ID=56746540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610245239.4A Pending CN105915612A (zh) 2016-04-19 2016-04-19 推送消息获取、消息推送方法及装置

Country Status (2)

Country Link
CN (1) CN105915612A (zh)
WO (1) WO2017181709A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017181709A1 (zh) * 2016-04-19 2017-10-26 北京金山安全软件有限公司 推送消息获取、消息推送方法及装置
CN107566465A (zh) * 2017-08-23 2018-01-09 广东欧珀移动通信有限公司 一种信息推送的方法、装置、存储介质及移动终端
CN107704491A (zh) * 2017-08-22 2018-02-16 腾讯科技(深圳)有限公司 消息处理方法和装置
CN108009247A (zh) * 2017-11-30 2018-05-08 广州酷狗计算机科技有限公司 信息推送方法及装置
CN108833584A (zh) * 2018-06-29 2018-11-16 掌阅科技股份有限公司 消息推送方法、终端、服务器及计算机存储介质
CN110071864A (zh) * 2019-04-29 2019-07-30 秒针信息技术有限公司 一种消息发送方法及装置
WO2019210585A1 (zh) * 2018-05-03 2019-11-07 平安科技(深圳)有限公司 消息推送方法、计算机可读存储介质、终端设备及装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901366B (zh) * 2019-05-06 2023-08-29 广州市百果园信息技术有限公司 一种数据推送方法、装置、设备和存储介质
CN112231612B (zh) * 2019-07-15 2023-08-25 腾讯科技(深圳)有限公司 配置信息的传输方法及装置、存储介质、电子装置
CN112583694B (zh) * 2019-09-27 2023-06-02 广州艾美网络科技有限公司 消息推送方法、装置、存储介质及控制终端
CN115004673B (zh) * 2020-05-26 2024-04-16 深圳市欢太科技有限公司 消息推送方法、装置、电子设备及计算机可读介质
CN112579093B (zh) * 2020-12-11 2022-08-12 杭州安恒信息技术股份有限公司 一种信息推送方法、装置及相关设备
CN113094002B (zh) * 2021-05-12 2023-07-18 抖音视界有限公司 消息处理方法、装置、电子设备和计算机介质
CN114339286A (zh) * 2021-12-29 2022-04-12 杭州米络星科技(集团)有限公司 一种广播消息的多语言化展示系统及方法
CN114553947B (zh) * 2022-01-29 2024-01-19 北京金堤科技有限公司 一种对消息进行处理的方法及装置
CN115242870B (zh) * 2022-06-23 2023-10-27 宁波三星医疗电气股份有限公司 用电数据推送方法、装置、服务器和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576828A (zh) * 2009-06-01 2009-11-11 中兴通讯股份有限公司 软件版本升级方法及装置、服务器
CN103237060A (zh) * 2013-04-08 2013-08-07 北京小米科技有限责任公司 一种数据对象获取方法、装置及系统
CN103634695A (zh) * 2013-11-06 2014-03-12 康佳集团股份有限公司 一种智能电视接收Google GCM推送消息的方法及系统
CN105245560A (zh) * 2014-07-11 2016-01-13 阿里巴巴集团控股有限公司 一种实现分布式缓存的方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150087988A (ko) * 2014-01-23 2015-07-31 한국전자통신연구원 단말용 응용 프로그램 관리 시스템 및 방법
CN105915612A (zh) * 2016-04-19 2016-08-31 北京金山安全软件有限公司 推送消息获取、消息推送方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576828A (zh) * 2009-06-01 2009-11-11 中兴通讯股份有限公司 软件版本升级方法及装置、服务器
CN103237060A (zh) * 2013-04-08 2013-08-07 北京小米科技有限责任公司 一种数据对象获取方法、装置及系统
CN103634695A (zh) * 2013-11-06 2014-03-12 康佳集团股份有限公司 一种智能电视接收Google GCM推送消息的方法及系统
CN105245560A (zh) * 2014-07-11 2016-01-13 阿里巴巴集团控股有限公司 一种实现分布式缓存的方法、装置及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017181709A1 (zh) * 2016-04-19 2017-10-26 北京金山安全软件有限公司 推送消息获取、消息推送方法及装置
CN107704491A (zh) * 2017-08-22 2018-02-16 腾讯科技(深圳)有限公司 消息处理方法和装置
CN107704491B (zh) * 2017-08-22 2022-01-04 腾讯科技(深圳)有限公司 消息处理方法和装置
CN107566465A (zh) * 2017-08-23 2018-01-09 广东欧珀移动通信有限公司 一种信息推送的方法、装置、存储介质及移动终端
CN108009247A (zh) * 2017-11-30 2018-05-08 广州酷狗计算机科技有限公司 信息推送方法及装置
WO2019210585A1 (zh) * 2018-05-03 2019-11-07 平安科技(深圳)有限公司 消息推送方法、计算机可读存储介质、终端设备及装置
CN108833584A (zh) * 2018-06-29 2018-11-16 掌阅科技股份有限公司 消息推送方法、终端、服务器及计算机存储介质
CN110071864A (zh) * 2019-04-29 2019-07-30 秒针信息技术有限公司 一种消息发送方法及装置

Also Published As

Publication number Publication date
WO2017181709A1 (zh) 2017-10-26

Similar Documents

Publication Publication Date Title
CN105915612A (zh) 推送消息获取、消息推送方法及装置
US20200366661A1 (en) Using credentials stored in different directories to access a common endpoint
US10965772B2 (en) Interface invocation method and apparatus for hybrid cloud
CN103037312B (zh) 消息推送方法及装置
CN106209948B (zh) 一种数据推送方法及装置
US9935934B1 (en) Token management
US8838679B2 (en) Providing state service for online application users
EP3170091B1 (en) Method and server of remote information query
CN102710419B (zh) 一种用户认证的方法及装置
US20140025723A1 (en) Cloud storage system and data storage and sharing method based on the system
CN106251202A (zh) 恶意订单识别方法及装置
CN101442558A (zh) 一种为p2sp网络提供索引服务的方法和系统
CN104346345A (zh) 数据的存储方法及装置
CN109214613A (zh) 一种自动分配任务的方法、装置、电子设备以及存储介质
CN104618388A (zh) 快速注册登录方法及对应的重置服务器、信息服务器
CN105224541A (zh) 数据的唯一性控制方法、信息存储方法及装置
US20210037090A1 (en) Systems and Methods for Server Failover and Load Balancing
CN104468549A (zh) 客户端操作请求响应方法、装置和服务器
CN103069741A (zh) 凭据认证方法及单点登录服务器
US20150215229A1 (en) Resource affinity in a dynamic resource pool
CN103428171A (zh) 一种session的处理方法、应用服务器及系统
CN106936643B (zh) 一种设备联动方法以及终端设备
EP3293924B1 (en) Message processing method and device
CN105791350B (zh) 项目数据处理方法和系统
CN105099873A (zh) 名片交换方法、设备及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160831

RJ01 Rejection of invention patent application after publication