公开/公告号CN106899493A
专利类型发明专利
公开/公告日2017-06-27
原文格式PDF
申请/专利权人 广东网金控股股份有限公司;
申请/专利号CN201710096638.3
申请日2017-02-22
分类号H04L12/58;H04L29/08;H04L29/06;
代理机构广州市越秀区哲力专利商标事务所(普通合伙);
代理人李健富
地址 510000 广东省广州市天河区珠江东路28号越秀金融大厦19层、20层
入库时间 2023-06-19 02:41:27
法律状态公告日
法律状态信息
法律状态
2020-04-24
授权
授权
2017-07-21
实质审查的生效 IPC(主分类):H04L12/58 申请日:20170222
实质审查的生效
2017-06-27
公开
公开
技术领域
本发明涉及基于UDP与Https实现的消息推送方法及其装置。
背景技术
金融交易类App用户经常需要接收服务端推送的业务消息,例如:支付提示、融资提醒、还款提醒、资金变动消息、版本更新消息、营销广告消息等。在应用时,有大量APP应用同时发送请求到服务端获得消息,每一个APP应用相当于一个请求,如果10w手机用户安装了某个APP应用,则相当于10w个APP需要实现消息推送,某些系统在1000条并发请求的情况下可以很好地运行,但到达1w高并发的情况下,就会产生性能问题,严重导致服务器宕机。从金融业务情景分析,实现这种APP消息推送功能,需要解决由于高并发导致服务器宕机的技术问题。
发明内容
为了克服现有技术的不足,本发明的目的在于提供基于UDP与Https实现的消息推送方法及其装置,其能解决由于高并发导致的服务器宕机的技术问题。
本发明的目的之一采用以下技术方案实现:
基于UDP与Https实现的消息推送方法,应用于移动APP消息推送系统,消息推送系统包括请求端、服务器、第一数据库、第二数据库和消息查询接口;
该方法包括如下步骤:
S1、请求端通过UDP发送用户账号标识至服务器,以使服务器根据该用户账号标识,判断第一数据库中是否存在和该用户账号标识相同的消息账号标识,如果是发送反馈信息至请求端;
S2、请求端根据接收到的反馈信息通过Https发送用户账号标识至消息查询接口,以使消息查询接口根据用户账号标识从第二数据库中获取与该用户账号标识对应的消息数据,并将消息数据发送至请求端。
作为优选,S2中消息查询接口将消息数据发送至请求端后,还将第二数据库中与该用户账号标识对应的消息数据删除,以及将第一数据库中对应的消息账号标识删除。
作为优选,S1之后还包括如下步骤:
S11、请求端判断是否在第一预设时间内接收到服务器发送来的反馈信息,如果是则执行S2,否则执行S12;
S12、经过第二预设时间后,返回S11。
作为优选,S2之后还包括如下步骤:
S3、请求端将接收到的消息数据进行显示,经过第三预设时间后,返回S1。
本发明的目的之二采用以下技术方案实现:
基于UDP与Https实现的消息推送装置,包括:
第一发送模块、用于通过UDP发送用户账号标识至服务器,以使服务器根据该用户账号标识,判断第一数据库中是否存在和该用户账号标识相同的消息账号标识,如果是发送反馈信息至请求端;
第二发送模块,用于根据接收到的反馈信息通过Https发送用户账号标识至消息查询接口,以使消息查询接口根据用户账号标识从第二数据库中获取与该用户账号标识对应的消息数据,并将消息数据发送至请求端。
作为优选,第二发送模块中消息查询接口将消息数据发送至请求端后,还将第二数据库中与该用户账号标识对应的消息数据删除,以及将第一数据库中对应的消息账号标识删除。
作为优选,推送装置还包括:
第一判断模块,用于判断是否在第一预设时间内接收到服务器发送来的反馈信息,如果是则执行第二发送模块,否则执行返回模块;
返回模块,用于经过第二预设时间后,返回第一判断模块。
作为优选,推送装置还包括:
显示模块,用于将接收到的消息数据进行显示,经过第三预设时间后,返回第一发送模块。
相比现有技术,本发明的有益效果在于:通过UDP读取第一数据库中相同的用户账号标识而发送反馈信息至请求端,以使请求端根据反馈信息去获取对应的消息数据,有效降低网络传输流量,降低并发量;以及通过Https读取第二数据库的消息数据,确保消息的通讯安全,不被网络截获。
附图说明
图1为本发明的消息推送系统的模块连接图;
图2为本发明的消息推送系统的逻辑框架图;
图3为本发明的消息推送方法的流程图;
图4为本发明的消息推送方法的业务流程图;
图5为本发明的消息推送装置的模块连接图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
基于UDP与Https实现的消息推送方法及其装置,应用于移动APP消息推送系统,如图1至图2所示,消息推送系统包括请求端和后台系统,后台系统包括服务器、第一数据库、第二数据库、消息查询接口和后台输入端。请求端可以是但不限于智能终端中的APP应用。
基于UDP与Https实现的消息推送方法,如图3至图4所示,包括如下步骤:
步骤100、后台输入端将待推送的数据包中的消息账号标识写入第一数据库,将待推送的数据包中的消息数据写入第二数据库。
步骤101、请求端发送用户账号标识至服务器,以使服务器根据该用户账号标识,判断第一数据库中是否存在和该用户账号标识相同的消息账号标识,如果是发送反馈信息沿路返回至请求端,否则不做任何操作。
具体地,请求端通过UDP发送用户账号标识至服务器。该反馈信息可以是任意字符。
其中,每个请求端都有其对应的用户账号标识;第一数据库中预存有多个消息账号标识,由后台输入端录入。
步骤102、请求端启动Scoket服务端,监听发送用户账号标识的端口,判断该端口是否在第一预设时间内接收到服务器发送来的反馈信息,如果是则接收服务器发送来的反馈信息,关闭Scoket服务端,并执行步骤104,否则执行步骤103。
scoket服务端,是由请求端自身应用Socket技术以其发送用户账号标识的端口的IP地址作为地址,启动的一个网络服务端,以等待接收服务器发送来的反馈信息。
步骤103、请求端关闭Scoket服务端,经过第二预设时间后,返回步骤102。第一预设时间为若干秒,第二预设时间为若干分钟。
步骤104、请求端将用户账号标识发送至消息查询接口,以使消息查询接口根据用户账号标识从第二数据库中获取到与该用户账号标识对应的消息数据,并将消息数据发送至请求端;以及,消息查询接口将第二数据库中与该用户账号标识对应的消息数据删除,将第一数据库中对应的消息账号标识删除。
具体地,请求端通过Https发送用户账号标识至消息查询接口;
其中,第二数据库中预存有多个消息数据,该多个消息数据与第一数据库中多个消息账号标识一一对应,由后台输入端录入;用户账号标志在第一数据库中有相同的消息账号标志,则意味着在第二数据库中存在和该用户账号标识对应的消息数据。
步骤105、请求端将接收到的消息数据进行显示,经过第三预设时间后,返回步骤101。第三预设时间为若干分钟。
UDP(User Datagram Protocol)是用户数据报协议,是OSI(Open SystemInterconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
UDP传输比常用的TCP性能高大概6、7倍,UDP没有多次握手的过程;同时本方法通过UDP获取的不是具体消息数据,而只是和消息数据对应的一个用户账号标识,可能是一个字符”true”或者一个数字1,视具体业务而定,因此网络传输流量相当小;而且并不是每个APP用户都同时存在未读的消息数据。举个例子,10w个APP用户,某一时刻可能只有5000个APP用户有未读的消息数据,因此没必要开启10w个请求获取消息,只需要使这5000个APP用户获取消息就可以,因此,本发明大量地减少了并发量。
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道。当APP应用端获取到存在未读的消息数据对应的用户账号标识时,由APP应用启动Https方式请求“消息查询接口”,读取未读的消息数据的具体内容,而Https自身拥有验签和加密一系列的安全措施,使用Https通讯解决通讯安全问题的。
本方法中,后台系统不需要使用任何机制(例如心跳机制)保存APP应用的通讯IP;以及,因为应用了Https通讯,无须自定义一套加密通讯方式;以及,本方法中由于APP应用定时循环发送UDP请求,如果链接中断或丢失,则会在下一次请求流程中重新获取消息,故涉及的任何一条链接由于任何原因中断,或数据在传输过程中丢失,都不影响消息的推送。实现兼顾了系统稳定性、降低开发成本和维护成本。
基于UDP与Https实现的消息推送装置,如图5所示,包括:
第一发送模块、用于通过UDP发送用户账号标识至服务器,以使服务器根据该用户账号标识,判断第一数据库中是否存在和该用户账号标识相同的消息账号标识,如果是发送反馈信息至请求端,否则无返回。
第一判断模块,用于判断是否在第一预设时间内接收到服务器发送来的反馈信息,如果是则执行第二发送模块,否则执行返回模块。
返回模块,用于经过第二预设时间后,返回第一判断模块。
第二发送模块,用于根据接收到的反馈信息通过Https发送用户账号标识至消息查询接口,以使消息查询接口根据用户账号标识从第二数据库中获取与该用户账号标识对应的消息数据,并将消息数据发送至请求端。
显示模块,用于将接收到的消息数据进行显示,经过第三预设时间后,返回第一发送模块。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
机译: 使用基于HTTP协议的UDP交换网络管理消息的方法
机译: 使用基于HTTP协议的UDP交换网络管理消息的方法
机译: 实现基于Web应用程序HTTP请求的Web应用程序设置信息的基于Web应用程序设置信息的可回收和设置的方法,基于MVC模式的控制器