CN104506416B - 一种实现消息稳定推送的方法、装置及系统 - Google Patents
一种实现消息稳定推送的方法、装置及系统 Download PDFInfo
- Publication number
- CN104506416B CN104506416B CN201410788109.6A CN201410788109A CN104506416B CN 104506416 B CN104506416 B CN 104506416B CN 201410788109 A CN201410788109 A CN 201410788109A CN 104506416 B CN104506416 B CN 104506416B
- Authority
- CN
- China
- Prior art keywords
- message
- push
- state
- network connection
- terminal
- 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.)
- Expired - Fee Related
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种实现消息稳定推送的方法、装置及系统,用于提高消息推送的稳定性,该方法包括:获取待推送消息后,将待推送消息进行缓存,并记录待推送消息的消息发送状态;检测终端的网络连接状态,并记录网络连接状态;根据消息发送状态以及网络连接状态,判断是否进行消息推送;如果判断进行消息推送,则向终端发送唤醒信号,在接收到终端回复的唤醒信号的响应信号后,将缓存的待推送消息推送至终端,并根据终端反馈的消息获取状态更新消息发送状态。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种实现消息稳定推送的方法、装置及系统。
背景技术
随着通讯技术的进步,使得企业移动办公突破了传统的限制,获得的巨大的发展空间。当前的移动应用几乎都提供消息推送功能,在现有技术中这些消息推送都是没有状态标志的,例如使用APNS(Apple Push Notification Service,苹果推送通知服务)或者GCM(Google Cloud Messaging for Android,谷歌云消息)进行应用消息推送时,只要消息发出即认为消息推送成功。
但是,消息通过公网环境进行传输,由于公网环境不稳定状态时常出现,存在消息推送后丢失的情况。因此,这种现有技术的消息推送方式无法保证消息成功推送到客户端,由于无法保证消息能够稳定成功推送,尤其在企业移动应用上存在很大的安全隐患,例如在企业进行移动端管控时,推送的命令如果丢失可能会导致办公流程中断或其他安全问题的出现。
发明内容
有鉴于此,本发明提供一种实现消息稳定推送的方法、装置及系统,以解决现有技术中无法保证消息成功推送到客户端的技术问题。
为解决上述问题,本发明提供的技术方案如下:
一种实现消息稳定推送的方法,所述方法包括:
获取待推送消息后,将所述待推送消息进行缓存,并记录所述待推送消息的消息发送状态;
检测终端的网络连接状态,并记录所述网络连接状态;
根据所述消息发送状态以及所述网络连接状态,判断是否进行消息推送;
如果判断进行消息推送,则向所述终端发送唤醒信号,在接收到所述终端回复的所述唤醒信号的响应信号后,将缓存的所述待推送消息推送至所述终端,并根据所述终端反馈的消息获取状态更新所述消息发送状态。
相应的,所述消息发送状态的初始状态为消息未发送,所述根据所述终端反馈的消息获取状态更新消息发送状态,包括:
当所述终端反馈的消息获取状态为消息获取成功,则将消息发送状态由消息未发送更新为消息推送成功;
当所述终端反馈的消息获取状态为消息获取失败,则将消息发送状态由消息未发送更新为消息推送失败。
相应的,所述根据所述消息发送状态以及所述网络连接状态,判断是否进行消息推送,包括:
当所述消息发送状态为消息未发送或消息推送失败时,则读取所述网络连接状态;
当根据所述网络连接状态确定连接稳定时,则判断进行消息推送;
当根据所述网络连接状态确定连接不稳定时,则通过所述网络连接状态获取所述终端的信号强度以及安全等级,由所述信号强度以及所述安全等级确定消息传输成功率,当所述消息传输成功率大于阈值时,则判断进行消息推送。
相应的,所述方法还包括:
如果没有判断进行消息推送,则将所述消息发送状态保持为当前状态,并在预设时间后重复执行根据所述消息发送状态以及所述网络连接状态,判断是否进行消息推送;
判断所述待推送消息是否超过保存期限,如果是,则删除所述待推送消息以及对应的消息发送状态。
一种实现消息稳定推送的方法,所述方法包括:
检测网络连接状态,并向消息推送服务器上报所述网络连接状态,以使所述消息推送服务器根据消息发送状态以及所述网络连接状态判断是否进行消息推送;
在所述消息推送服务器判断进行消息推送时,接收消息推送服务器发送的唤醒信号,并向所述消息推送服务器回复所述唤醒信号的响应信号;
接收所述消息推送服务器推送的待推送信息;
对接收的所述待推送信息进行校验,根据校验结果向所述消息推送服务器反馈消息获取状态。
一种实现消息稳定推送的装置,所述装置包括:
缓存单元,用于获取待推送消息后,将所述待推送消息进行缓存;
第一记录单元,用于记录所述待推送消息的消息发送状态;
检测单元,用于检测终端的网络连接状态;
第二记录单元,用于记录所述网络连接状态;
第一判断单元,用于根据所述消息发送状态以及所述网络连接状态,判断是否进行消息推送;
发送单元,用于如果判断进行消息推送,则向所述终端发送唤醒信号;
消息推送单元,用于在接收到所述终端回复的所述唤醒信号的响应信号后,将所述缓存单元缓存的所述待推送消息推送至所述终端;
更新单元,用于根据所述终端反馈的消息获取状态更新所述第一记录单元中记录的所述消息发送状态。
相应的,所述消息发送状态的初始状态为消息未发送,所述更新单元具体用于:
当所述终端反馈的消息获取状态为消息获取成功,则将消息发送状态由消息未发送更新为消息推送成功;
当所述终端反馈的消息获取状态为消息获取失败,则将消息发送状态由消息未发送更新为消息推送失败;
所述第一判断单元包括:
读取子单元,用于当所述消息发送状态为消息未发送或消息推送失败时,则读取所述网络连接状态;
第一判断子单元,用于当根据所述网络连接状态确定连接稳定时,则判断进行消息推送;
第二判断子单元,用于当根据所述网络连接状态确定连接不稳定时,则通过所述网络连接状态获取所述终端的信号强度以及安全等级,由所述信号强度以及所述安全等级确定消息传输成功率,当所述消息传输成功率大于阈值时,则判断进行消息推送。
相应的,所述装置还包括:
保持单元,用于如果没有判断进行消息推送,则将所述消息发送状态保持为当前状态,并在预设时间后返回所述第一判断单元执行根据所述消息发送状态以及所述网络连接状态,判断是否进行消息推送;
第二判断单元,用于判断所述待推送消息是否超过保存期限;
删除单元,用于如果所述第二判断单元的判断结果为是,则删除所述待推送消息以及对应的消息发送状态。
一种实现消息稳定推送的装置,所述装置包括:
检测单元,用于检测网络连接状态;
上报单元,用于向消息推送服务器上报所述网络连接状态,以使所述消息推送服务器根据消息发送状态以及所述网络连接状态判断是否进行消息推送;
第一接收单元,在所述消息推送服务器判断进行消息推送时,接收消息推送服务器发送的唤醒信号;
发送单元,用于向所述消息推送服务器回复所述唤醒信号的响应信号;
第二接收单元,用于接收所述消息推送服务器推送的待推送信息;
反馈单元,用于对接收的所述待推送信息进行校验,根据校验结果向所述消息推送服务器反馈消息获取状态。
一种实现消息稳定推送的系统,所述系统包括:
消息推送服务器以及终端;
所述消息推送服务器,是上述第一种实现消息稳定推送的装置;
所述终端,是上述第二种实现消息稳定推送的装置。
由此可见,本发明实施例具有如下有益效果:
本发明实施例中消息推送服务器将消息进行缓存并记录消息的发送状态,根据当前网络连接状态以及消息发送状态判断是否可以进行消息推送,在网络环境良好且消息未发送到终端的情况下再进行推送,可以提供消息推送的成功率,且在消息推送的过程中,先唤醒终端在终端响应唤醒信号后再推送消息,即终端主动获取消息,并且终端可以反馈消息推送是否成功,进一步提高了消息推送的成功率,实现了消息推送的可靠传输,尤其在企业移动应用中减少了由于消息推送产生的安全隐患。
附图说明
图1为本发明实施例中提供的实现消息稳定推送的方法实施例一的流程图;
图2为本发明实施例中多维Fuzzy推理模型的示意图;
图3为本发明实施例中提供的实现消息稳定推送的方法实施例二的流程图;
图4为本发明实施例中提供的实现消息稳定推送的方法实施例三的流程图;
图5为本发明实施例中提供的实现消息稳定推送的装置实施例一的示意图;
图6为本发明实施例中提供的实现消息稳定推送的装置实施例二的示意图;
图7为本发明实施例中提供的实现消息稳定推送的系统实施例一的示意图;
图8为本发明实施例中提供的实现消息稳定推送的系统实施例二的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
在现有技术中移动推送服务通常使用轮询方式(即客户端定时向服务器发送获取消息请求)或长连接方式(即服务器向终端主动发送消息)。大多数现有产品采用消息推送服务器与企业移动终端设备保持长连接的方式,以保证消息推送的实效性,但是,缺少数据保障机制,无法保证消息可以成功推送。本发明实施例中提出的实现消息稳定推送的方法、装置及系统,以长连接技术为基础,对消息进行缓存设计,通过服务器向终端客户端推送“存有消息”的提示,终端再主动获取,并进行多次握手验证,实现消息推送的稳定送达,极大程度提高了消息推送的成功率与稳定性。
基于上述思想,参见图1所示,是本发明实施例中提供的实现消息稳定推送的方法实施例一,本实施例将从实现消息稳定推送的装置角度进行描述,该实现消息稳定推送的装置具体可以装载在消息推送服务器中,本实施例可以包括以下步骤:
步骤101:获取待推送消息后,将待推送消息进行缓存,并记录待推送消息的消息发送状态。
消息推送服务器首先接收移动应用后台服务需要向终端推送的消息,即接收待推送消息,将待推送消息进行解析并缓存,确保消息在传输出现问题或未送达终端时能够进行再次推送,同时也为后期审计工作提供数据源。对待推送消息进行解析可以获得消息类型,所对应发送的终端标识等内容,待推送消息可以为文本消息或通知、系统命令、文件等不同消息类型。同时可以记录待推送消息的消息发送状态,消息发送状态的初始状态为消息未发送,消息发送状态还可以包括消息推送失败、消息推送成功等,消息发送状态为判断是否向终端进行消息推送的一个判断因素。
步骤102:检测终端的网络连接状态,并记录网络连接状态。
消息推送服务器可以主动向终端发送网络连接检测请求,例如可以向终端定时发送心跳信号,再接收终端回复的心跳信号的响应信号以检测终端的网络连接状态;也可以接收终端主动上报的网络连接状态,即消息推送服务器接收终端定时主动上报的网络连接状态。网络连接状态可以包括消息推送服务器与终端之间的是否连接稳定、终端的信号强度以及安全等级等方面内容,网络连接状态为判断是否向终端进行消息推送的另一个判断因素。
步骤103:根据消息发送状态以及网络连接状态,判断是否进行消息推送。
在本发明的一些实施例中,本步骤的具体实现可以包括:当消息发送状态为消息未发送或消息推送失败时,则读取网络连接状态;
当根据网络连接状态确定连接稳定时,则判断进行消息推送;
当根据网络连接状态确定连接不稳定时,则通过网络连接状态获取终端的信号强度以及安全等级,由信号强度以及安全等级确定消息传输成功率,当消息传输成功率大于阈值时,则判断进行消息推送。
在本实施例中,判断是否进行消息推送可以使用Fuzzy(模糊)推理模型。在当前网络连接稳定时,可以采用简单Fuzzy推理模型,简单Fuzzy推理模型只受理小前提A与大前提A->B的前提条件A完全一致时推出B,否则拒绝受理。对应到本实施例中的场景,即当前消息需要发送(即发送状态为消息未发送或消息推送失败)则直接判断进行消息推送,需要向终端发送唤醒信号。
而当前网络连接不稳定时,可以采用多维Fuzzy推理模型,参见图2所示,即每个论域按简单Fuzzy推理模型计算,再将每个论域的结果取交集,合并为一个最终的结果,其中A1->B至An->B可以为获取的经验数据。对应到本实施例中的场景,例如当A1=网络信号强度为0.8时,B=消息传输成功率为90%;当A1=网络信号强度为0.6时,B=消息传输成功率为80%;当A1=网络信号强度为0.5时,B=消息传输成功率为50%等等,由当前网络信号强度可以获取对应的消息传输成功率,同理可以获得A2=安全等级的论域的B值,即由当前安全等级可以获取对应的消息传输成功率,再将不同论域的结果进行并联处理,得到最终的消息传输成功率。最后根据可靠性需求,例如消息传输成功率需要大于阈值70%,得到是否进行消息推送的结果。在本实施例中,包括了信号强度以及安全等级两种论域,同时还可以根据不同的稳定性需要进行维度的增减。
步骤104:如果判断进行消息推送,则向终端发送唤醒信号,在接收到终端回复的唤醒信号的响应信号后,将缓存的待推送消息推送至终端,并根据终端反馈的消息获取状态更新消息发送状态。
在判断需要进行消息推送时,首先唤醒终端,即向终端发送唤醒信号,终端在被唤醒后回复唤醒信息的响应信号,代表终端做好了接收消息的准备,这样终端不再是被动接收推送的消息,而是相当于通过向消息推送服务器回复响应消息主动获取待推送消息,终端在接收消息后进行消息校验,向消息推送服务器反馈消息获取状态,消息获取状态包括消息获取成功或消息获取失败。在本发明的一些实施例中,根据终端反馈的消息获取状态更新消息发送状态的具体实现可以包括:当终端反馈的消息获取状态为消息获取成功,则将消息发送状态由消息未发送更新为消息推送成功;当终端反馈的消息获取状态为消息获取失败,则将消息发送状态由消息未发送更新为消息推送失败。
另外,在本发明的一些实施例中,还可以包括:如果没有判断进行消息推送,则将消息发送状态保持为当前状态,并在预设时间后重复执行根据消息发送状态以及网络连接状态,判断是否进行消息推送。
在本发明的一些实施例中,还可以包括:判断待推送消息是否超过保存期限,如果是,则删除待推送消息以及对应的消息发送状态。
基于上述实施例,参见图3所示,是本发明实施例中提供的实现消息稳定推送的方法实施例二,本实施例可以包括以下步骤:
步骤301:获取待推送消息,将待推送消息进行缓存。
步骤302:记录待推送消息的消息发送状态。可以理解的是,获取待推送消息后,待推送消息的消息发送状态为初始状态:消息未发送。
步骤303:根据消息发送状态判断消息是否需要发送,如果是,则执行步骤304,如果否,则执行步骤307。
当消息发送状态为消息未发送或消息推送失败时,则消息需要发送,而当消息发送状态为消息推送成功时,则消息不需要发送。
步骤304:根据网络连接状态判断网络状态是否可以进行推送,如果是,则执行步骤305,如果否,返回步骤302。
当由消息发送状态确定连接稳定,则可以进行推送,而当由消息发送状态确定连接不稳定,则根据上述实施例中说明的判断方式,通过网络连接状态获取终端的信号强度以及安全等级,由信号强度以及安全等级确定消息传输成功率,当消息传输成功率大于阈值时,则可以进行推送,当消息传输成功率小于阈值时,则不可以进行推送。
在不可以进行推送时,返回步骤302保持当前发送状态,继续保持消息未发送或消息推送失败状态。
步骤305:向终端发送唤醒信号,在接收到终端回复的唤醒信号的响应信号后,将缓存的待推送消息推送至终端。
步骤306:接收终端反馈的消息获取状态。当终端反馈的消息获取状态为消息获取成功,则返回步骤302将消息发送状态由消息未发送更新为消息推送成功;当终端反馈的消息获取状态为消息获取失败,则返回步骤302将消息发送状态由消息未发送更新为消息推送失败;当终端反馈的消息获取状态为传输中断,则返回步骤304。
步骤307:判断待推送消息是否超过保存期限,如果是,执行步骤308,如果否,返回步骤302。
返回步骤302保持当前发送状态,继续保持消息推送成功状态。
步骤308:删除待推送消息以及对应的消息发送状态。
这样,本发明实施例中消息推送服务器将消息进行缓存并记录消息的发送状态,根据当前网络连接状态以及消息发送状态判断是否可以进行消息推送,在网络环境良好且消息未发送到终端的情况下再进行推送,可以提供消息推送的成功率,且在消息推送的过程中,先唤醒终端在终端响应唤醒信号后再推送消息,即终端主动获取消息,并且终端可以反馈消息推送是否成功,进一步提高了消息推送的成功率,实现了消息推送的可靠传输,尤其在企业移动应用中减少了由于消息推送产生的安全隐患。
参见图4所示,是本发明实施例中提供的实现消息稳定推送的方法实施例三,本实施例将从实现消息稳定推送的装置角度进行描述,该实现消息稳定推送的装置具体可以集成在客户端中,该客户端可以装载在终端中,该终端具体可以为智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、膝上型便携计算机和台式计算机等等,本实施例可以包括以下步骤:
步骤401:检测网络连接状态,并向消息推送服务器上报网络连接状态,以使消息推送服务器根据消息发送状态以及网络连接状态判断是否进行消息推送。
终端可以主动上报网络连接状态,即向消息推送服务器定时主动上报的网络连接状态;也可以对消息推送服务器发送的心跳信号进行响应,以使消息推送服务器检测终端的网络连接状态,根据待推送消息的消息发送状态以及网络连接状态,判断是否进行消息推送。
步骤402:在消息推送服务器判断进行消息推送时,接收消息推送服务器发送的唤醒信号,并向消息推送服务器回复唤醒信号的响应信号。
接收到消息推送服务器发送的唤醒信号,即可以被唤醒并向消息推送服务器回复唤醒信号的响应信号,进入等待接收消息推送的状态,以保证终端接收消息推送的成功率。
步骤403:接收消息推送服务器推送的待推送信息。
步骤404:对接收的待推送信息进行校验,根据校验结果向消息推送服务器反馈消息获取状态。
终端对接收到的消息可以采用消息验证算法进行消息数据准确性校验,消息获取状态可以为消息获取成功、消息获取失败或传输中断。
这样,本发明实施例中消息推送服务器将消息进行缓存并记录消息的发送状态,根据当前网络连接状态以及消息发送状态判断是否可以进行消息推送,在网络环境良好且消息未发送到终端的情况下再进行推送,可以提供消息推送的成功率,且在消息推送的过程中,先唤醒终端在终端响应唤醒信号后再推送消息,即终端主动获取消息,并且终端可以反馈消息推送是否成功,进一步提高了消息推送的成功率,实现了消息推送的可靠传输,尤其在企业移动应用中减少了由于消息推送产生的安全隐患。
参见图5所示,是本发明实施例中提供的实现消息稳定推送的装置实施例一,本实施例实现消息稳定推送的装置具体可以装载在消息推送服务器中,可以包括:
缓存单元501,用于获取待推送消息后,将待推送消息进行缓存。
第一记录单元502,用于记录待推送消息的消息发送状态。
检测单元503,用于检测终端的网络连接状态。
第二记录单元504,用于记录网络连接状态。
第一判断单元505,用于根据消息发送状态以及网络连接状态,判断是否进行消息推送。
发送单元506,用于如果判断进行消息推送,则向终端发送唤醒信号。
消息推送单元507,用于在接收到终端回复的唤醒信号的响应信号后,将缓存单元缓存的待推送消息推送至终端。
更新单元508,用于根据终端反馈的消息获取状态更新第一记录单元中记录的消息发送状态。
在本发明的一些实施例中,消息发送状态的初始状态可以为消息未发送,则更新单元可以具体用于:
当终端反馈的消息获取状态为消息获取成功,则将消息发送状态由消息未发送更新为消息推送成功;
当终端反馈的消息获取状态为消息获取失败,则将消息发送状态由消息未发送更新为消息推送失败。
在本发明的一些实施例中,第一判断单元可以包括:
读取子单元,用于当消息发送状态为消息未发送或消息推送失败时,则读取网络连接状态;
第一判断子单元,用于当根据网络连接状态确定连接稳定时,则判断进行消息推送;
第二判断子单元,用于当根据网络连接状态确定连接不稳定时,则通过网络连接状态获取终端的信号强度以及安全等级,由信号强度以及安全等级确定消息传输成功率,当消息传输成功率大于阈值时,则判断进行消息推送。
在本发明的一些实施例中,还可以包括:
保持单元,用于如果没有判断进行消息推送,则将消息发送状态保持为当前状态,并在预设时间后返回第一判断单元执行根据消息发送状态以及网络连接状态,判断是否进行消息推送。
在本发明的一些实施例中,还可以包括:
第二判断单元,用于判断待推送消息是否超过保存期限;
删除单元,用于如果第二判断单元的判断结果为是,则删除待推送消息以及对应的消息发送状态。
这样,本发明实施例中消息推送服务器将消息进行缓存并记录消息的发送状态,根据当前网络连接状态以及消息发送状态判断是否可以进行消息推送,在网络环境良好且消息未发送到终端的情况下再进行推送,可以提供消息推送的成功率,且在消息推送的过程中,先唤醒终端在终端响应唤醒信号后再推送消息,即终端主动获取消息,并且终端可以反馈消息推送是否成功,进一步提高了消息推送的成功率,实现了消息推送的可靠传输,尤其在企业移动应用中减少了由于消息推送产生的安全隐患。
参见图6所示,是本发明实施例中提供的实现消息稳定推送的装置实施例二,本实施例实现消息稳定推送的装置具体可以装载在终端中,可以包括:
检测单元601,用于检测网络连接状态。
上报单元602,用于向消息推送服务器上报网络连接状态,以使消息推送服务器根据消息发送状态以及网络连接状态判断是否进行消息推送。
第一接收单元603,在消息推送服务器判断进行消息推送时,接收消息推送服务器发送的唤醒信号。
发送单元604,用于向消息推送服务器回复唤醒信号的响应信号。
第二接收单元605,用于接收消息推送服务器推送的待推送信息。
反馈单元606,用于对接收的待推送信息进行校验,根据校验结果向消息推送服务器反馈消息获取状态。
这样,本发明实施例中消息推送服务器将消息进行缓存并记录消息的发送状态,根据当前网络连接状态以及消息发送状态判断是否可以进行消息推送,在网络环境良好且消息未发送到终端的情况下再进行推送,可以提供消息推送的成功率,且在消息推送的过程中,先唤醒终端在终端响应唤醒信号后再推送消息,即终端主动获取消息,并且终端可以反馈消息推送是否成功,进一步提高了消息推送的成功率,实现了消息推送的可靠传输,尤其在企业移动应用中减少了由于消息推送产生的安全隐患。
参见图7所示,是本发明实施例中提供的实现消息稳定推送的系统实施例一,可以包括:
消息推送服务器701以及终端702。
消息推送服务器,可以是上述实施例中实现消息稳定推送的装置实施例一;终端,可以是上述实施例中实现消息稳定推送的装置实施例二。
参见图8所示,是本发明实施例中提供的实现消息稳定推送的系统实施例二,为了实现本发明实施例中提供的实现消息稳定推送的方法,在实际应用中,终端702可以包括消息库、消息验证器、消息获取器、消息通知接收器、状态同步器以及状态监测器。消息推送服务器701可以包括消息接收器、消息缓存库、消息状态库、终端连接状态库、心跳连接器、状态分析器、消息唤醒器以及消息传送器。结合图8对是本发明实施例中提供的实现消息稳定推送的系统实施例的工作原理进行说明,其中实线流程代表消息推送之前的过程,虚线流程代表消息推送的过程。
在该结构中,终端中的状态同步器,用于与消息推送服务器进行定时通讯,上报终端的网络状态(信号强度)、安全等级状态及连接状态等网络连接状态,并且根据当前状态动态调节上报状态的策略,例如在网络状态良好,移动客户端处于安全的情况下半小时上报一次,网络不太好就十分钟上报一次。或者消息推送服务器的心跳信号,返回上述的网络连接状态。
状态监测器,用于接受状态同步器指令进行终端设备安全等级检查,网络状况检查。
消息通知接收器,用于接收推送服务器发出的唤醒信号。
消息获取器,用于当接收到消息推送服务器发送的有消息的唤醒信号后发送唤醒信号的响应信号,接收到消息推送服务器推送的消息内容。
消息库,用于存储接收到的消息,并通知给各个应用app。
消息验证器,用于根据固定消息验证算法对接收到的消息进行消息数据准确性校验,如果推送的消息是文档类型还能记录推送的进度,以便支持断点续传等。
在该结构中,消息推送服务器中的消息接收器,用于负责接收移动应用后台服务准备向终端发送的消息,即接收待推送消息。
消息缓存库,用于将待推送消息进行缓存,确保消息在传输出错或者未送达时能够进行二次推送,同时为后期审计工作提供数据源。
消息状态库,用于记录待推送消息的消息发送状态,包括是否推送,是否推送成功,消息是否失效等,帮助状态分析器判断是否向终端客户端发送唤醒信号。
终端连接状态库,用于记录网络连接状态,标记终端设备是否与消息推送服务器保持连接状态,记录终端信号强度情况和安全等级情况,为状态分析器提供数据源,以便判断是否向终端客户端发送唤醒信号。
心跳连接器,用于定期检测、维护与终端最新的连接状态,保障与终端连接状态库的实时连接。
状态分析器,用于根据终端的网络连接状态、待推送消息的消息发送状态进行综合判定分析,是否唤醒终端并进行消息推送,同时自身内置知识库,记录终端在不同的连接状态、网络状态(信号强度)和安全等级下,发出唤醒信号后,客户端获取消息的成功率,并依此进行消息推送策略的调整,例如可以包括消息立即推送,延时推送还是回复正常状态再推送。
消息唤醒器,用于根据状态分析器的结果向终端发送唤醒信号。
消息传送器,用于当终端向消息推送服务器获取消息内容时给予响应,从消息库中将待推送消息传给终端设备。
这样,本发明实施例中消息推送服务器将消息进行缓存并记录消息的发送状态,根据当前网络连接状态以及消息发送状态判断是否可以进行消息推送,在网络环境良好且消息未发送到终端的情况下再进行推送,可以提供消息推送的成功率,且在消息推送的过程中,先唤醒终端在终端响应唤醒信号后再推送消息,即终端主动获取消息,并且终端可以反馈消息推送是否成功,进一步提高了消息推送的成功率,实现了消息推送的可靠传输,尤其在企业移动应用中减少了由于消息推送产生的安全隐患。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种实现消息稳定推送的方法,其特征在于,所述方法包括:
获取待推送消息后,将所述待推送消息进行缓存,并记录所述待推送消息的消息发送状态;
检测终端的网络连接状态,并记录所述网络连接状态;
根据所述消息发送状态以及所述网络连接状态,判断是否进行消息推送;
如果判断进行消息推送,则向所述终端发送唤醒信号,在接收到所述终端回复的所述唤醒信号的响应信号后,将缓存的所述待推送消息推送至所述终端,并根据所述终端反馈的消息获取状态更新所述消息发送状态;
所述根据所述消息发送状态以及所述网络连接状态,判断是否进行消息推送包括:
当所述消息发送状态为消息未发送或消息推送失败时,则读取所述网络连接状态;当根据所述网络连接状态确定连接稳定时,则判断进行消息推送;当根据所述网络连接状态确定连接不稳定时,则通过所述网络连接状态获取所述终端的信号强度以及安全等级,由所述信号强度以及所述安全等级确定消息传输成功率,当所述消息传输成功率大于阈值时,则判断进行消息推送。
2.根据权利要求1所述的方法,其特征在于,所述消息发送状态的初始状态为消息未发送,所述根据所述终端反馈的消息获取状态更新消息发送状态,包括:
当所述终端反馈的消息获取状态为消息获取成功,则将消息发送状态由消息未发送更新为消息推送成功;
当所述终端反馈的消息获取状态为消息获取失败,则将消息发送状态由消息未发送更新为消息推送失败。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
如果没有判断进行消息推送,则将所述消息发送状态保持为当前状态,并在预设时间后重复执行根据所述消息发送状态以及所述网络连接状态,判断是否进行消息推送;
判断所述待推送消息是否超过保存期限,如果是,则删除所述待推送消息以及对应的消息发送状态。
4.一种实现消息稳定推送的方法,其特征在于,所述方法包括:
检测网络连接状态,并向消息推送服务器上报所述网络连接状态,以使所述消息推送服务器根据消息发送状态以及所述网络连接状态判断是否进行消息推送;所述消息推送服务器根据消息发送状态以及所述网络连接状态判断是否进行消息推送包括:当所述消息发送状态为消息未发送或消息推送失败时,则读取所述网络连接状态;当根据所述网络连接状态确定连接稳定时,则判断进行消息推送;当根据所述网络连接状态确定连接不稳定时,则通过所述网络连接状态获取终端的信号强度以及安全等级,由所述信号强度以及所述安全等级确定消息传输成功率,当所述消息传输成功率大于阈值时,则判断进行消息推送;
在所述消息推送服务器判断进行消息推送时,接收消息推送服务器发送的唤醒信号,并向所述消息推送服务器回复所述唤醒信号的响应信号;
接收所述消息推送服务器推送的待推送信息;
对接收的所述待推送信息进行校验,根据校验结果向所述消息推送服务器反馈消息获取状态。
5.一种实现消息稳定推送的装置,其特征在于,所述装置包括:
缓存单元,用于获取待推送消息后,将所述待推送消息进行缓存;
第一记录单元,用于记录所述待推送消息的消息发送状态;
检测单元,用于检测终端的网络连接状态;
第二记录单元,用于记录所述网络连接状态;
第一判断单元,用于根据所述消息发送状态以及所述网络连接状态,判断是否进行消息推送;
发送单元,用于如果判断进行消息推送,则向所述终端发送唤醒信号;
消息推送单元,用于在接收到所述终端回复的所述唤醒信号的响应信号后,将所述缓存单元缓存的所述待推送消息推送至所述终端;
更新单元,用于根据所述终端反馈的消息获取状态更新所述第一记录单元中记录的所述消息发送状态;
所述第一判断单元包括:
读取子单元,用于当所述消息发送状态为消息未发送或消息推送失败时,则读取所述网络连接状态;
第一判断子单元,用于当根据所述网络连接状态确定连接稳定时,则判断进行消息推送;
第二判断子单元,用于当根据所述网络连接状态确定连接不稳定时,则通过所述网络连接状态获取所述终端的信号强度以及安全等级,由所述信号强度以及所述安全等级确定消息传输成功率,当所述消息传输成功率大于阈值时,则判断进行消息推送。
6.根据权利要求5所述的装置,其特征在于,所述消息发送状态的初始状态为消息未发送,所述更新单元具体用于:
当所述终端反馈的消息获取状态为消息获取成功,则将消息发送状态由消息未发送更新为消息推送成功;
当所述终端反馈的消息获取状态为消息获取失败,则将消息发送状态由消息未发送更新为消息推送失败。
7.根据权利要求5-6任一项所述的装置,其特征在于,所述装置还包括:
保持单元,用于如果没有判断进行消息推送,则将所述消息发送状态保持为当前状态,并在预设时间后返回所述第一判断单元执行根据所述消息发送状态以及所述网络连接状态,判断是否进行消息推送;
第二判断单元,用于判断所述待推送消息是否超过保存期限;
删除单元,用于如果所述第二判断单元的判断结果为是,则删除所述待推送消息以及对应的消息发送状态。
8.一种实现消息稳定推送的装置,其特征在于,所述装置包括:
检测单元,用于检测网络连接状态;
上报单元,用于向消息推送服务器上报所述网络连接状态,以使所述消息推送服务器根据消息发送状态以及所述网络连接状态判断是否进行消息推送;所述消息推送服务器根据消息发送状态以及所述网络连接状态判断是否进行消息推送包括:当所述消息发送状态为消息未发送或消息推送失败时,则读取所述网络连接状态;当根据所述网络连接状态确定连接稳定时,则判断进行消息推送;当根据所述网络连接状态确定连接不稳定时,则通过所述网络连接状态获取终端的信号强度以及安全等级,由所述信号强度以及所述安全等级确定消息传输成功率,当所述消息传输成功率大于阈值时,则判断进行消息推送;
第一接收单元,在所述消息推送服务器判断进行消息推送时,接收消息推送服务器发送的唤醒信号;
发送单元,用于向所述消息推送服务器回复所述唤醒信号的响应信号;
第二接收单元,用于接收所述消息推送服务器推送的待推送信息;
反馈单元,用于对接收的所述待推送信息进行校验,根据校验结果向所述消息推送服务器反馈消息获取状态。
9.一种实现消息稳定推送的系统,其特征在于,所述系统包括:
消息推送服务器以及终端;
所述消息推送服务器,是权利要求5-7任一项所述的实现消息稳定推送的装置;
所述终端,是权利要求8所述的实现消息稳定推送的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410788109.6A CN104506416B (zh) | 2014-12-17 | 2014-12-17 | 一种实现消息稳定推送的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410788109.6A CN104506416B (zh) | 2014-12-17 | 2014-12-17 | 一种实现消息稳定推送的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104506416A CN104506416A (zh) | 2015-04-08 |
CN104506416B true CN104506416B (zh) | 2017-11-28 |
Family
ID=52948131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410788109.6A Expired - Fee Related CN104506416B (zh) | 2014-12-17 | 2014-12-17 | 一种实现消息稳定推送的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506416B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100062A (zh) * | 2015-06-25 | 2015-11-25 | 走遍世界(北京)信息技术有限公司 | 信息推送方法、装置及系统 |
CN105072181A (zh) * | 2015-08-07 | 2015-11-18 | 北京思特奇信息技术股份有限公司 | 一种基于通知调度中心的消息数据分发系统及其方法 |
CN106470144A (zh) * | 2015-08-14 | 2017-03-01 | 中兴通讯股份有限公司 | 一种消息处理方法和装置 |
CN106899645B (zh) * | 2015-12-21 | 2019-10-18 | 北方信息控制集团有限公司 | 一种不稳定网络环境下的dds数据交互方法 |
CN105933369B (zh) * | 2015-12-24 | 2019-05-10 | 中国银联股份有限公司 | 一种消息转发方法及设备 |
CN105657000A (zh) * | 2015-12-25 | 2016-06-08 | 北京奇虎科技有限公司 | 消息传送方法及装置 |
CN105933130A (zh) * | 2016-04-25 | 2016-09-07 | 四川联友电讯技术有限公司 | 碎片化异步会议系统的语音信息推送方法 |
CN106331058A (zh) * | 2016-08-12 | 2017-01-11 | 东软集团股份有限公司 | 消息传输方法和装置 |
CN106302119A (zh) * | 2016-08-15 | 2017-01-04 | 深圳市轱辘车联数据技术有限公司 | 一种推送信息的方法和装置 |
CN106060959B (zh) * | 2016-08-18 | 2020-04-17 | Tcl集团股份有限公司 | 一种防止网络连接消息重发的方法、装置及android系统 |
CN107341062B (zh) * | 2017-06-28 | 2021-01-08 | 百度在线网络技术(北京)有限公司 | 一种数据推送方法、装置、设备以及存储介质 |
CN107809494B (zh) * | 2017-12-14 | 2021-01-26 | 深圳市斑点猫信息技术有限公司 | 消息延迟推送方法及其系统 |
CN110324384B (zh) * | 2018-03-30 | 2024-04-09 | 北京京东尚科信息技术有限公司 | 数据推送的方法和装置 |
CN109255653A (zh) | 2018-08-27 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 一种动销方法、装置及电子设备 |
CN109600301B (zh) * | 2018-11-23 | 2021-12-31 | 腾讯音乐娱乐科技(深圳)有限公司 | 消息处理方法及装置 |
CN110365749B (zh) * | 2019-06-25 | 2021-11-30 | 上海非码网络科技有限公司 | 消息推送方法、消息推送系统和一种存储介质 |
CN112291044B (zh) * | 2019-07-25 | 2022-04-12 | 大唐移动通信设备有限公司 | 一种侦听节能信号的方法和装置 |
CN110740195B (zh) * | 2019-11-20 | 2022-05-20 | 山东鲁能软件技术有限公司 | 一种基于消息引擎的分布式系统数据同步方法及系统 |
CN113204378B (zh) * | 2021-04-21 | 2024-07-19 | 深圳市广和通无线股份有限公司 | 配置文件状态同步方法、装置、终端、服务器和存储介质 |
CN113326154B (zh) * | 2021-06-28 | 2023-07-14 | 深信服科技股份有限公司 | 连接管理方法、装置、电子设备和存储介质 |
CN114286430B (zh) * | 2021-11-19 | 2024-06-21 | 北京博大光通物联科技股份有限公司 | 一种应用于电子纸拉手环的无线唤醒机制和图像投放方法 |
CN113902132B (zh) * | 2021-12-09 | 2022-05-24 | 北京达佳互联信息技术有限公司 | 负反馈行为预测模型训练方法、消息推送方法及设备 |
CN115118773B (zh) * | 2022-06-29 | 2023-08-18 | 宁波三星智能电气有限公司 | 数据文件推送方法、服务器和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567859A (zh) * | 2008-04-24 | 2009-10-28 | 鸿富锦精密工业(深圳)有限公司 | 消息发送系统及方法 |
CN102413436A (zh) * | 2011-09-14 | 2012-04-11 | 华为技术有限公司 | 信息传送方法和系统、以及移动终端上的浏览器 |
CN102892193A (zh) * | 2012-09-20 | 2013-01-23 | 华为技术有限公司 | 数据传输方法和设备 |
CN103327039A (zh) * | 2012-03-20 | 2013-09-25 | 腾讯科技(深圳)有限公司 | 一种消息推送方法及装置、系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5285203A (en) * | 1990-06-05 | 1994-02-08 | Matsuhita Electric Industrial Co., Ltd. | Message transmission device, and a message transmission system and a message transmission status advising system using the message transmission device |
-
2014
- 2014-12-17 CN CN201410788109.6A patent/CN104506416B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567859A (zh) * | 2008-04-24 | 2009-10-28 | 鸿富锦精密工业(深圳)有限公司 | 消息发送系统及方法 |
CN102413436A (zh) * | 2011-09-14 | 2012-04-11 | 华为技术有限公司 | 信息传送方法和系统、以及移动终端上的浏览器 |
CN103327039A (zh) * | 2012-03-20 | 2013-09-25 | 腾讯科技(深圳)有限公司 | 一种消息推送方法及装置、系统 |
CN102892193A (zh) * | 2012-09-20 | 2013-01-23 | 华为技术有限公司 | 数据传输方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104506416A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104506416B (zh) | 一种实现消息稳定推送的方法、装置及系统 | |
CN105024986A (zh) | 帐号登录的方法、装置和系统 | |
CN106201783B (zh) | 一种数据恢复方法和装置 | |
US20210036907A1 (en) | Methods and apparatuses for pushing a message | |
US20170026388A1 (en) | Phishing Training Tool | |
US11425571B2 (en) | Device configuration method, apparatus and system | |
CN103905495B (zh) | 一种应用的同步方法及后台服务器 | |
US10110623B2 (en) | Delaying phishing communication | |
US20110060800A1 (en) | Method of guaranteeing the deliverability of emails and other messages | |
CN102231716A (zh) | 一种即时通讯业务的登录方法 | |
CN103490978A (zh) | 终端、服务器和消息监视方法 | |
CN107742067A (zh) | 一种身份验证方法、装置和系统 | |
CN109729100A (zh) | 一种网页数据劫持监控方法、装置及计算机可读存储介质 | |
CN108875373A (zh) | 移动存储介质文件管控方法、装置、系统及电子设备 | |
US9749359B2 (en) | Phishing campaign ranker | |
CN106034126B (zh) | 验证码的校验方法及装置 | |
CN104376122A (zh) | 浏览器客户端获得静态文件的方法及服务器 | |
EP1669915A4 (en) | METHOD FOR ACQUIRING ATTRIBUTE DATA | |
CN110225109A (zh) | 一种多队列的数据传输方法 | |
CN110166529A (zh) | 保持登录态方法、装置、设备及存储介质 | |
CN109525949A (zh) | 注册方法及装置、存储介质、服务器、用户终端 | |
CN107707529A (zh) | 一种实现限制验证码发送次数的客户端验证方法 | |
CN102279952A (zh) | 基于rfid与gprs的智能安全资产管理系统及方法 | |
CN103327036A (zh) | 互联网浏览设备的标识方法以及Cookie服务器 | |
CN110602111A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171128 Termination date: 20211217 |