CN107734076A - 消息推送方法、装置及存储介质 - Google Patents
消息推送方法、装置及存储介质 Download PDFInfo
- Publication number
- CN107734076A CN107734076A CN201711245768.5A CN201711245768A CN107734076A CN 107734076 A CN107734076 A CN 107734076A CN 201711245768 A CN201711245768 A CN 201711245768A CN 107734076 A CN107734076 A CN 107734076A
- Authority
- CN
- China
- Prior art keywords
- push
- message
- client
- user mark
- destination client
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种消息推送方法、装置及存储介质,所述方法包括:服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;将所述第一用户标识和所述第二用户标识进行匹配;将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。由于服务器在客户端发送的第一用户标识和业务系统发送的第二用户标识匹配一致时,将第二用户标识对应的推送消息推送至第一用户标识对应的客户端,简单快捷地查找到各推送消息将推送的客户端,能够准确地完成消息推送。
Description
技术领域
本发明涉及推送技术领域,尤其涉及一种消息推送方法、装置及存储介质。
背景技术
消息推送是针对Web应用开发领域的技术,指服务端以主动方式将信息送达至客户端,主要用于提升用户体验,避免用户刷新页面从服务端拉取数据。例如Web邮件中自动出现刚收到的邮件项,Web即时通讯自动提示新到消息等应用场景。
目前,消息推送一般采用HTTP请求轮询的方式进行推送,包括简单轮询:客户端一般以定时方式发起请求,服务端处理后返回响应;长轮询:客户端发起请求后服务端将该请求挂起,不返回响应,直到超时、异常或需要处理响应才返回,客户端收到响应后再次请求服务端,并处理响应;HTTP流轮询:客户端发起请求后服务器端处理请求,并通过HTTP流一直向客户端写入数据,直到超时或异常才返回响应,连接断开后客户端再次请求服务端。然而,在有众多消息待推送,众多客户端待接收消息的情况下,难以较快较准确地确定各推送消息对应的目标客户端。
发明内容
本发明的主要目的在于提供一种消息推送方法、装置及存储介质,旨在解决现有技术中难以较快较准确地确定各推送消息对应的目标客户端的技术问题。
为实现上述目的,本发明提供一种消息推送方法,所述方法包括以下步骤:
服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;
将所述第一用户标识和所述第二用户标识进行匹配;
将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。
优选地,所述将所述第一用户标识和所述第二用户标识进行匹配之前,所述方法还包括:
根据消息类型对所述推送消息进行分类存储,生成若干消息队列,其中,所述推送消息和对应的第二用户标识关联存储,依次获取所述消息队列中的推送消息和对应的第二用户标识。
优选地,所述服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识,具体包括:
接收所述客户端发送的心跳服务,获取所述客户端的所述第一用户标识及所述IP地址;
接收所述业务系统发送的消息推送请求,从所述消息推送请求中提取所述推送消息和所述第二用户标识。
优选地,所述接收所述客户端发送的心跳服务,获取所述客户端的所述第一用户标识及所述IP地址之后,所述方法还包括:
根据所述第一用户标识对所述客户端进行黑名单校验、频率校验和权限校验中的至少一项。
优选地,所述接收所述业务系统发送的消息推送请求,从所述消息推送请求中提取所述推送消息和所述第二用户标识之后,所述方法还包括:
判断所述推送消息是否满足预设条件。
优选地,所述根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端,具体包括:
判断所述目标客户端是否属于预设类型,并将所述目标客户端的IP地址作为目标IP地址;
当所述目标客户端属于所述预设类型时,根据所述目标IP地址将所述推送消息推送至所述目标客户端;
当所述目标客户端不属于所述预设类型时,根据所述目标IP地址调用预设插件将所述推送消息推送至所述目标客户端。
优选地,所述根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端之后,所述方法还包括:
接收所述目标客户端反馈的消息推送成功标识,将所述推送消息保存至推送成功列表中。
优选地,所述向所述客户端推送所述推送消息之后,所述方法还包括:
接收所述目标客户端反馈的消息推送失败标识,将所述推送消息保存至重发表中;
根据所述目标IP地址将所述重发表中的推送消息推送至所述目标客户端。
此外,为实现上述目的,本发明还提供一种消息推送装置,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的消息推送程序,所述消息推送程序被所述处理器执行时实现所述消息推送方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有消息推送程序,所述消息推送程序被处理器执行时实现所述消息推送方法的步骤。
在本发明中,通过服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;将所述第一用户标识和所述第二用户标识进行匹配;将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。由于服务器在客户端发送的第一用户标识和业务系统发送的第二用户标识匹配一致时,将第二用户标识对应的推送消息推送至第一用户标识对应的客户端,简单快捷地查找到各推送消息将推送的客户端,能够准确地完成消息推送。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的消息推送装置结构示意图;
图2为本发明消息推送方法第一实施例的流程示意图;
图3为本发明消息推送方法第二实施例的流程示意图;
图4为本发明消息推送方法第三实施例的流程示意图;
图5为本发明消息推送方法第四实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的解决方案主要是:服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;将所述第一用户标识和所述第二用户标识进行匹配;将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。客户端发送的第一用户标识和业务系统发送的第二用户标识匹配成功,说明上述用户标识相同,其对应的客户端相同,第二用户标识对应的推送消息待发送的客户端即为该第一用户标识对应的客户端。将第二用户标识对应的推送消息推送至第一用户标识对应的客户端,简单快捷地查找到各推送消息将推送的客户端,能够准确地完成消息推送。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的消息推送装置结构示意图。
如图1所示,所述消息推送装置可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储服务器。
所述消息推送装置可为服务器或其他与网络连接的物理设备。
本领域技术人员可以理解,图1中示出的结构并不构成对所述消息推送装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及消息推送程序。
在图1所示的结构中,网络接口1004主要用于连接业务系统,与所述业务系统进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;所述服务器通过处理器1001调用存储器1005中存储的消息推送程序,并执行以下操作:
服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;
将所述第一用户标识和所述第二用户标识进行匹配;
将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。
进一步地,处理器1001可以调用存储器1005中存储的消息推送程序,还执行以下操作:
根据消息类型对所述推送消息进行分类存储,生成若干消息队列,其中,所述推送消息和对应的第二用户标识关联存储,依次获取所述消息队列中的推送消息和对应的第二用户标识。
进一步地,处理器1001可以调用存储器1005中存储的消息推送程序,还执行以下操作:
接收所述客户端发送的心跳服务,获取所述客户端的所述第一用户标识及所述IP地址;
接收所述业务系统发送的消息推送请求,从所述消息推送请求中提取所述推送消息和所述第二用户标识。
进一步地,处理器1001可以调用存储器1005中存储的消息推送程序,还执行以下操作:
根据所述第一用户标识对所述客户端进行黑名单校验、频率校验和权限校验中的至少一项。
进一步地,处理器1001可以调用存储器1005中存储的消息推送程序,还执行以下操作:
判断所述推送消息是否满足预设条件。
进一步地,处理器1001可以调用存储器1005中存储的消息推送程序,还执行以下操作:
判断所述目标客户端是否属于预设类型,并将所述目标客户端的IP地址作为目标IP地址;
当所述目标客户端属于所述预设类型时,根据所述目标IP地址将所述推送消息推送至所述目标客户端;
当所述目标客户端不属于所述预设类型时,根据所述目标IP地址调用预设插件将所述推送消息推送至所述目标客户端。
进一步地,处理器1001可以调用存储器1005中存储的消息推送程序,还执行以下操作:
接收所述目标客户端反馈的消息推送成功标识,将所述推送消息保存至推送成功列表中。
进一步地,处理器1001可以调用存储器1005中存储的消息推送程序,还执行以下操作:
接收所述目标客户端反馈的消息推送失败标识,将所述推送消息保存至重发表中;
根据所述目标IP地址将所述重发表中的推送消息推送至所述目标客户端。
在本实施例中,通过服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;将所述第一用户标识和所述第二用户标识进行匹配;将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。由于服务器在客户端发送的第一用户标识和业务系统发送的第二用户标识匹配一致时,将第二用户标识对应的推送消息推送至第一用户标识对应的客户端,简单快捷地查找到各推送消息将推送的客户端,能够准确地完成消息推送。
基于上述硬件结构,提出本发明消息推送方法的实施例。
参照图2,图2为本发明消息推送方法第一实施例的流程示意图。
在第一实施例中,所述消息推送方法包括以下步骤:
步骤S10:服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;
需要说明的是,所述服务器为本实施例的方法的执行主体,所述服务器用于组织客户端和业务系统,将所述业务系统生成的推送消息推送至对应的客户端。所述客户端是指为用户提供本地服务的程序,一般安装在用户的终端设备上,需要与所述服务器建立特定的通信连接,相互配合运行,所述客户端包括万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,或者即时通讯的客户端软件,本实施例对此不加以限制。所述业务系统可以是企业的各个部门的应用服务器,也可以是各个应用程序的服务器,本实施例对此不加以限制。
当然,在执行该步骤之前,需要通过客户端注册用户账户,即需要先完成注册步骤;所述注册步骤为,当用户使用客户端时,向客户端发送注册请求,在客户端上编辑新的用户名和密码以实现用户账户的注册,注册的用户账户被客户端赋予一个唯一的用户标识,用来确定用户身份,该用户标识被客户端、服务器和业务系统所共享,用户标识是识别用户身份的唯一标识,可以是一组系统分配的唯一无序序列号,一组二进制数值,也可以是用户在注册账户阶段时使用的邮箱地址,不重复的用户名等,本实施例对此不加以限制。
可以理解的是,所述IP地址为所述客户端的IP地址,所述客户端向所述服务器发送第一用户标识和所述IP地址,所述第一用户标识用于服务器识别所述客户端,所述IP地址用于所述服务器根据所述IP地址向所述客户端推送消息。所述推送消息由所述业务系统生成,并发送给服务器,各个业务系统生成大量不同的推送消息,每条推送消息将由服务器推送至特定的客户端,业务系统向所述服务器发送推送消息时,随着每条推送消息发送一个所述第二用户标识,用于指定所述推送消息将要推送的客户端。
步骤S20:将所述第一用户标识和所述第二用户标识进行匹配;
需要说明的是,所述第一用户标识为所述客户端的用户标识,所述第二用户标识为推送消息对应的客户端的用户标识,将第一用户标识和第二用户标识进行匹配,判断所述第一用户标识与所述第二用户标识是否一致,根据匹配结果即可判断所述第二用户标识对应的客户端是否为第一用户标识对应的客户端。当匹配成功时,说明所述第二用户标识对应的客户端为第一用户标识对应的客户端,可进行推送,当匹配不成功时,说明所述第二用户标识对应的客户端不是第一用户标识对应的客户端,不可进行推送。
步骤S30:将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。
可以理解的是,当匹配成功时,第一用户标识与第二用户标识一致,说明第二用户标识对应的客户端与第一用户标识对应的客户端是同一个客户端,将匹配成功的第一用户标识对应的确定要接收消息的客户端作为目标客户端,同时获取所述目标客户端的IP地址,将匹配成功的第二用户标识对应的推送消息推送至对应的目标客户端。
在本实施例中,通过服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;将所述第一用户标识和所述第二用户标识进行匹配;将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。由于服务器在客户端发送的第一用户标识和业务系统发送的第二用户标识匹配一致时,将第二用户标识对应的推送消息推送至第一用户标识对应的客户端,简单快捷地查找到各推送消息将推送的客户端,能够准确地完成消息推送。
参照图3,图3为本发明消息推送方法第二实施例的流程示意图,基于上述图2所示的实施例,提出本发明消息推送方法的第二实施例。
在第二实施例中,所述步骤S20之前,所述方法还包括:
步骤S200:根据消息类型对所述推送消息进行分类存储,生成若干消息队列,其中,所述推送消息和对应的第二用户标识关联存储,依次获取所述消息队列中的推送消息和对应的第二用户标识。
需要说明的是,所述消息类型包括:离岸消息、订阅消息及其它类型。服务器对从业务系统接收到的推送消息按各消息类型进行分类,每一类推送消息生成一个消息队列,即离岸消息作为一个消息队列,订阅消息作为一个队列,其它类型的消息分别作为若干个消息队列,并将所述消息队列存储在预设存储区域。在对所述推送消息进行分类地同时,将各推送消息与其对应的第二用户标识进行关联存储,因此,在所述消息队列中包含各类别的推送消息及其将要推送的客户端的用户标识。
可以理解的是,为了提高第一用户标识与第二用户标识的匹配效率,将按照消息类型依次提取第二用户标识,例如先依次提取订阅消息队列中的推送消息及其对应的第二用户标识,将提取出的第二用户标识依次与第一用户标识进行匹配,再依次提取离岸消息队列中的推送消息及其对应的第二用户标识,将提取出的第二用户标识依次与第一用户标识进行匹配。
进一步地,所述步骤S30,具体包括:
步骤S301:判断所述目标客户端是否属于预设类型,并将所述目标客户端的IP地址作为目标IP地址;
步骤S302:当所述目标客户端属于所述预设类型时,根据所述目标IP地址将所述推送消息推送至所述目标客户端;
步骤S303:当所述目标客户端不属于所述预设类型时,根据所述目标IP地址调用预设插件将所述推送消息推送至所述目标客户端。
应当理解的是,服务器接收了大量客户端发送的IP地址,将匹配成功的客户端作为目标客户端,所述目标客户端的IP地址作为目标IP地址,将根据该目标IP地址进行推送。所述预设类型包括Android客户端和iOS客户端,该两种客户端分别采用不同的推送机制。针对Android客户端,服务器根据所述目标IP地址将所述推送消息推送至所述目标客户端;针对iOS客户端,服务器将调用所述预设插件进行推送,服务器将推送消息和对应的目标IP地址发送至所述预设插件,所述预设插件将根据所述目标IP地址将所述推送消息推送至所述目标客户端。
在本实施例中,通过根据消息类型对所述推送消息进行分类存储,生成若干消息队列,其中,所述推送消息和对应的第二用户标识关联存储,依次获取所述消息队列中的推送消息和对应的第二用户标识。判断所述目标客户端是否属于预设类型,并将所述目标客户端的IP地址作为目标IP地址;当所述目标客户端属于所述预设类型时,根据所述目标IP地址将所述推送消息推送至所述目标客户端;当所述目标客户端不属于所述预设类型时,根据所述目标IP地址调用预设插件将所述推送消息推送至所述目标客户端。由于将推送消息进行分类,便于对推送消息的管理,提高了匹配过程的效率;判断出客户端的类型,以选用合适的推送方式进行推送,提高了推送的成功率。
参照图4,图4为本发明消息推送方法第三实施例的流程示意图,基于上述图3所示的实施例,提出本发明消息推送方法的第三实施例。
在本实施例中,所述步骤S10,具体包括:
步骤S101:接收所述客户端发送的心跳服务,获取所述客户端的所述第一用户标识及所述IP地址;
需要说明的是,获取客户端的第一用户标识和IP地址之前,服务器将接收客户端发送的心跳服务,所述心跳服务用于确定服务器是否能与客户端进行数据通信,当服务器接收到客户端发送的心跳服务,说明服务器可与客户端进行数据通信,当服务器未接收到客户端发送的心跳服务,说明服务器不可与客户端进行数据通信。所述心跳服务的频率由发起该心跳服务的客户端的网络状况决定,网络状况越优,频率越快。例如,当所述客户端连上WiFi时,该客户端向服务器发送心跳服务器的频率为3分钟一次,当所述客户端连上2G网时,该客户端向服务器发送心跳服务的频率为10分钟一次。当然,服务器在接收到客户端发送的心跳服务后,确定可与该客户端通信,将获取该客户端的第一用户标识和IP地址。
步骤S103:接收所述业务系统发送的消息推送请求,从所述消息推送请求中提取所述推送消息和所述第二用户标识。
可以理解的是,所述业务系统可以是企业的各个部门的应用服务器,也可以是各个应用程序的服务器,本实施例对此不加以限制。所述消息推送请求中包含关联的推送消息及其对应的第二用户标识。
进一步地,所述步骤S101之后,所述方法还包括:
步骤S102:根据所述第一用户标识对所述客户端进行黑名单校验、频率校验和权限校验中的至少一项。
需要说明的是,对于建立心跳连接的客户端,将对该客户端进行校验,以保证推送过程的安全,对客户端的校验包括黑名单校验、频率校验和权限校验中的至少一项。具体地,可以通过对客户端进行黑名单校验,黑名单校验是指判断客户端是否在预设黑名单内,如果在预设黑名单内说明通过所述客户端已经超过可推送的用户范围,该客户端对应的用户为恶意调用推送消息,对在黑名单中的客户端进行拦截,不予推送消息。可以对客户端进行频率校验,频率校验是指校验向服务器发送心跳服务的频率是否在预设频率范围内,如果该频率在预设频率范围内说明该客户端具有一定的安全性,如果该频率超出了预设频率范围,说明该客户端缺乏安全性,对该客户端进行拦截,不予推送消息。例如,预设频率范围为3分钟/次-20分钟/次,而某一客户端发送心跳服务的频率为1分钟/次,则该客户端较大可能性为恶意调用推送服务,对该客户端不予推送。也可以对客户端进行权限校验,所述权限校验是指校验所述客户端的接收权限,即所述客户端是否设置为接收消息状态,如果客户端设置为接收消息状态,则可对该客户端进行推送,如果客户端设置为不接受消息状态,则不可对该客户端进行推送。
进一步地,所述步骤S103之后,所述方法还包括:
步骤S104:判断所述推送消息是否满足预设条件。
应当理解的是,不仅需要对客户端进行校验,对于从业务系统接收的推送消息,也需校验所述推送消息是否具有合法性,以保证推送全过程的安全。通过判断所述推送消息是否满足预设条件,来判断所述推送消息是否具有合法性,认定满足预设条件的推送消息具有合法性,予以推送;认定不满足预设条件的推送消息不具有合法性,不予推送。所述预设条件包括:所述推送消息中不含有攻击性代码,所述推送消息大小在预设范围内,等等,本实施例对此不加以限制。
在本实施例中,接收所述客户端发送的心跳服务,获取所述客户端的所述第一用户标识及所述IP地址;接收所述业务系统发送的消息推送请求,从所述消息推送请求中提取所述推送消息和所述第二用户标识。根据所述第一用户标识对所述客户端进行黑名单校验、频率校验和权限校验中的至少一项。判断所述推送消息是否满足预设条件。由于对将要推送的推送消息和将要接收推送消息的客户端进行了校验,将通过校验的推送消息推送至相应的通过校验的客户端,保证了推送过程的安全性。
参照图5,图5为本发明消息推送方法第四实施例的流程示意图,基于上述图4所示的实施例,提出本发明消息推送方法的第四实施例。
在本实施例中,所述步骤S30之后,所述方法还包括:
步骤S401:接收所述目标客户端反馈的消息推送成功标识,将所述推送消息保存至推送成功列表中。
可以理解的是,所述消息推送成功标识由服务器预先定义,代表服务器将推送消息成功地推送给目标客户端,在目标客户端接收到推送消息时由目标客户端反馈至服务器,当然,为了便于所述服务器确定哪些消息发送成功,所述消息推送成功标识附带原推送消息,一同反馈至服务器。所述推送成功列表,用于保存推送成功的推送消息,服务器在接收到所述消息推送成功标识之后,将该消息推送成功标识附带的推送消息保存至所述推送成功列表。
步骤S402:接收所述目标客户端反馈的消息推送失败标识,将所述推送消息保存至重发表中;
应当理解的是,所述消息推送失败标识由服务器预先定义,代表服务器未将推送消息成功的推送至目标客户端,在推送后的预设时段内,目标客户端未接收到推送消息时由目标客户端反馈至所述服务器。当然,为了便于所述服务器确定哪些消息发送失败,以实现对失败消息的重发,所述消息推送失败标识附带原推送消息及其对应的目标IP地址,一同反馈至服务器。所述重发表,用于保存推送失败的推送消息,服务器在接收到所述消息推送失败标识之后,将该消息推送失败标识附带的推送消息保存至所述重发表中。
步骤S403:根据所述目标IP地址将所述重发表中的推送消息推送至所述目标客户端。
需要说明的是,为了及时地向接收失败的目标客户端重新推送消息,从所述重发表中获取推送消息,根据所述推送消息对应的目标IP地址再次推送该推送消息至对应的目标客户端。当然,重发过程与第一次推送过程采用的推送平台一致,使用所述服务器推送的消息仍采用服务器进行重发,采用所述预设插件进行推送的消息仍采用该预设插件进行重发。
在本实施例中,通过接收所述目标客户端反馈的消息推送成功标识,将所述推送消息保存至推送成功列表中;接收所述目标客户端反馈的消息推送失败标识,将所述推送消息保存至重发表中;根据所述目标IP地址将所述重发表中的推送消息推送至所述目标客户端。由于接收到消息推送成功标识或者消息推送失败标识,能确定消息推送的结果,并根据该结果采取保存或者重发的后续操作,提高了消息推送的处理效率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有消息推送程序,所述消息推送程序被处理器执行时实现如下操作:
服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;
将所述第一用户标识和所述第二用户标识进行匹配;
将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。
进一步地,所述消息推送程序被处理器执行时还实现如下操作:
根据消息类型对所述推送消息进行分类存储,生成若干消息队列,其中,所述推送消息和对应的第二用户标识关联存储,依次获取所述消息队列中的推送消息和对应的第二用户标识。
进一步地,所述消息推送程序被处理器执行时还实现如下操作:
接收所述客户端发送的心跳服务,获取所述客户端的所述第一用户标识及所述IP地址;
接收所述业务系统发送的消息推送请求,从所述消息推送请求中提取所述推送消息和所述第二用户标识。
进一步地,所述消息推送程序被处理器执行时还实现如下操作:
根据所述第一用户标识对所述客户端进行黑名单校验、频率校验和权限校验中的至少一项。
进一步地,所述消息推送程序被处理器执行时还实现如下操作:
判断所述推送消息是否满足预设条件。
进一步地,所述消息推送程序被处理器执行时还实现如下操作:
判断所述目标客户端是否属于预设类型,并将所述目标客户端的IP地址作为目标IP地址;
当所述目标客户端属于所述预设类型时,根据所述目标IP地址将所述推送消息推送至所述目标客户端;
当所述目标客户端不属于所述预设类型时,根据所述目标IP地址调用预设插件将所述推送消息推送至所述目标客户端。
进一步地,所述消息推送程序被处理器执行时还实现如下操作:
接收所述目标客户端反馈的消息推送成功标识,将所述推送消息保存至推送成功列表中。
进一步地,所述消息推送程序被处理器执行时还实现如下操作:
接收所述目标客户端反馈的消息推送失败标识,将所述推送消息保存至重发表中;
根据所述目标IP地址将所述重发表中的推送消息推送至所述目标客户端。
在本实施例中,通过服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;将所述第一用户标识和所述第二用户标识进行匹配;将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。由于服务器在客户端发送的第一用户标识和业务系统发送的第二用户标识匹配一致时,将第二用户标识对应的推送消息推送至第一用户标识对应的客户端,简单快捷地查找到各推送消息将推送的客户端,能够准确地完成消息推送。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
单词第一、第二、以及第三等的使用不表示任何顺序,可将这些单词解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种消息推送方法,其特征在于,所述方法包括以下步骤:
服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识;
将所述第一用户标识和所述第二用户标识进行匹配;
将匹配成功的第一用户标识对应的客户端作为目标客户端,根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端。
2.如权利要求1所述的方法,其特征在于,所述将所述第一用户标识和所述第二用户标识进行匹配之前,所述方法还包括:
根据消息类型对所述推送消息进行分类存储,生成若干消息队列,其中,所述推送消息和对应的第二用户标识关联存储,依次获取所述消息队列中的推送消息和对应的第二用户标识。
3.如权利要求1所述的方法,其特征在于,所述服务器接收客户端发送的第一用户标识及IP地址,并接收业务系统发送的推送消息和第二用户标识,具体包括:
接收所述客户端发送的心跳服务,获取所述客户端的所述第一用户标识及所述IP地址;
接收所述业务系统发送的消息推送请求,从所述消息推送请求中提取所述推送消息和所述第二用户标识。
4.如权利要求3所述的方法,其特征在于,所述接收所述客户端发送的心跳服务,获取所述客户端的所述第一用户标识及所述IP地址之后,所述方法还包括:
根据所述第一用户标识对所述客户端进行黑名单校验、频率校验和权限校验中的至少一项。
5.如权利要求4所述的方法,其特征在于,所述接收所述业务系统发送的消息推送请求,从所述消息推送请求中提取所述推送消息和所述第二用户标识之后,所述方法还包括:
判断所述推送消息是否满足预设条件。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端,具体包括:
判断所述目标客户端是否属于预设类型,并将所述目标客户端的IP地址作为目标IP地址;
当所述目标客户端属于所述预设类型时,根据所述目标IP地址将所述推送消息推送至所述目标客户端;
当所述目标客户端不属于所述预设类型时,根据所述目标IP地址调用预设插件将所述推送消息推送至所述目标客户端。
7.如权利要求1-5中任一项所述的方法,其特征在于,所述根据所述目标客户端的IP地址将所述推送消息推送至所述目标客户端之后,所述方法还包括:
接收所述目标客户端反馈的消息推送成功标识,将所述推送消息保存至推送成功列表中。
8.如权利要求7所述的方法,其特征在于,所述向所述客户端推送所述推送消息之后,所述方法还包括:
接收所述目标客户端反馈的消息推送失败标识,将所述推送消息保存至重发表中;
根据所述目标IP地址将所述重发表中的推送消息推送至所述目标客户端。
9.一种消息推送装置,其特征在于,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的消息推送程序,所述消息推送程序被所述处理器执行时实现如权利要求1至8所述的消息推送方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有消息推送程序,所述消息推送程序被处理器执行时实现如权利要求1至8所述的消息推送方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711245768.5A CN107734076A (zh) | 2017-11-29 | 2017-11-29 | 消息推送方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711245768.5A CN107734076A (zh) | 2017-11-29 | 2017-11-29 | 消息推送方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107734076A true CN107734076A (zh) | 2018-02-23 |
Family
ID=61220749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711245768.5A Pending CN107734076A (zh) | 2017-11-29 | 2017-11-29 | 消息推送方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107734076A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833521A (zh) * | 2018-06-06 | 2018-11-16 | 广州视源电子科技股份有限公司 | 消息推送方法、装置、系统、计算机设备和存储介质 |
CN110611719A (zh) * | 2019-10-16 | 2019-12-24 | 四川虹美智能科技有限公司 | 一种消息推送方法、服务器和系统 |
CN111901352A (zh) * | 2020-07-30 | 2020-11-06 | 彩讯科技股份有限公司 | 消息分发处理的方法、装置、服务器及存储介质 |
CN112532681A (zh) * | 2020-10-16 | 2021-03-19 | 深圳市科漫达智能管理科技有限公司 | 一种停车场软件数据异常处理方法及装置 |
CN113569147A (zh) * | 2021-07-27 | 2021-10-29 | 北京百度网讯科技有限公司 | 信息推送方法、装置、电子设备和存储介质 |
CN113595870A (zh) * | 2021-06-29 | 2021-11-02 | 北京百度网讯科技有限公司 | 推送消息的处理方法、装置、电子设备及存储介质 |
CN114124862A (zh) * | 2020-08-31 | 2022-03-01 | 上海云鱼智能科技有限公司 | 依据超短id获取用户信息的方法、装置、服务器、客户端、终端及存储介质 |
CN114173291A (zh) * | 2021-11-29 | 2022-03-11 | 维沃移动通信有限公司 | 数据处理方法和装置 |
CN114531484A (zh) * | 2021-02-04 | 2022-05-24 | 深圳思为科技有限公司 | 一种消息的推送方法、装置以及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340454A (zh) * | 2008-08-14 | 2009-01-07 | 青岛海信移动通信技术股份有限公司 | 一种推送消息的接收方法及移动通信设备 |
CN103327039A (zh) * | 2012-03-20 | 2013-09-25 | 腾讯科技(深圳)有限公司 | 一种消息推送方法及装置、系统 |
CN103501486A (zh) * | 2013-09-29 | 2014-01-08 | 华为软件技术有限公司 | 一种消息推送方法及推送服务器 |
CN104137520A (zh) * | 2014-01-10 | 2014-11-05 | 华为技术有限公司 | 一种消息推送方法及装置 |
CN104301203A (zh) * | 2014-09-10 | 2015-01-21 | 腾讯科技(深圳)有限公司 | 一种消息推送方法和设备 |
CN104539514A (zh) * | 2014-12-17 | 2015-04-22 | 广州酷狗计算机科技有限公司 | 消息过滤方法和装置 |
-
2017
- 2017-11-29 CN CN201711245768.5A patent/CN107734076A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340454A (zh) * | 2008-08-14 | 2009-01-07 | 青岛海信移动通信技术股份有限公司 | 一种推送消息的接收方法及移动通信设备 |
CN103327039A (zh) * | 2012-03-20 | 2013-09-25 | 腾讯科技(深圳)有限公司 | 一种消息推送方法及装置、系统 |
CN103501486A (zh) * | 2013-09-29 | 2014-01-08 | 华为软件技术有限公司 | 一种消息推送方法及推送服务器 |
CN104137520A (zh) * | 2014-01-10 | 2014-11-05 | 华为技术有限公司 | 一种消息推送方法及装置 |
CN104301203A (zh) * | 2014-09-10 | 2015-01-21 | 腾讯科技(深圳)有限公司 | 一种消息推送方法和设备 |
CN104539514A (zh) * | 2014-12-17 | 2015-04-22 | 广州酷狗计算机科技有限公司 | 消息过滤方法和装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833521B (zh) * | 2018-06-06 | 2021-01-08 | 广州视源电子科技股份有限公司 | 消息推送方法、装置、系统、计算机设备和存储介质 |
CN108833521A (zh) * | 2018-06-06 | 2018-11-16 | 广州视源电子科技股份有限公司 | 消息推送方法、装置、系统、计算机设备和存储介质 |
CN110611719B (zh) * | 2019-10-16 | 2022-04-19 | 四川虹美智能科技有限公司 | 一种消息推送方法、服务器和系统 |
CN110611719A (zh) * | 2019-10-16 | 2019-12-24 | 四川虹美智能科技有限公司 | 一种消息推送方法、服务器和系统 |
CN111901352A (zh) * | 2020-07-30 | 2020-11-06 | 彩讯科技股份有限公司 | 消息分发处理的方法、装置、服务器及存储介质 |
CN111901352B (zh) * | 2020-07-30 | 2023-08-25 | 彩讯科技股份有限公司 | 消息分发处理的方法、装置、服务器及存储介质 |
CN114124862A (zh) * | 2020-08-31 | 2022-03-01 | 上海云鱼智能科技有限公司 | 依据超短id获取用户信息的方法、装置、服务器、客户端、终端及存储介质 |
CN114124862B (zh) * | 2020-08-31 | 2023-07-04 | 上海云鱼智能科技有限公司 | 依据超短id获取用户信息的方法、装置、服务器、客户端、终端及存储介质 |
CN112532681A (zh) * | 2020-10-16 | 2021-03-19 | 深圳市科漫达智能管理科技有限公司 | 一种停车场软件数据异常处理方法及装置 |
CN114531484A (zh) * | 2021-02-04 | 2022-05-24 | 深圳思为科技有限公司 | 一种消息的推送方法、装置以及系统 |
CN114531484B (zh) * | 2021-02-04 | 2024-05-28 | 深圳思为科技有限公司 | 一种消息的推送方法、装置以及系统 |
CN113595870A (zh) * | 2021-06-29 | 2021-11-02 | 北京百度网讯科技有限公司 | 推送消息的处理方法、装置、电子设备及存储介质 |
CN113569147A (zh) * | 2021-07-27 | 2021-10-29 | 北京百度网讯科技有限公司 | 信息推送方法、装置、电子设备和存储介质 |
CN113569147B (zh) * | 2021-07-27 | 2023-09-26 | 北京百度网讯科技有限公司 | 信息推送方法、装置、电子设备和存储介质 |
CN114173291A (zh) * | 2021-11-29 | 2022-03-11 | 维沃移动通信有限公司 | 数据处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107734076A (zh) | 消息推送方法、装置及存储介质 | |
US10834031B2 (en) | Information exchange method, client, and apparatus | |
US20140025780A1 (en) | Across-Application Network Communication Method And Device | |
CN102546914A (zh) | 一种基于智能手机的自动登录系统及控制方法 | |
CN107347054B (zh) | 一种身份验证方法和装置 | |
CN103890808A (zh) | 用于提供接收确认的对话型短讯服务运作方法 | |
RU2407232C2 (ru) | Способ, мобильный терминал, система и компьютерный программный продукт для атрибуции контента в реальном времени | |
CN105825409B (zh) | 一种电子发票消息推送系统及方法 | |
CN103259714A (zh) | 即时信息通知方法及装置 | |
CN106878527B (zh) | 通话控制方法及装置 | |
CN105991412A (zh) | 消息推送方法及装置 | |
CN106411694B (zh) | 用于使用xmpp将内容广播到接收方装置的系统和方法 | |
CN103714444A (zh) | 一种物流人员快速开启智能快件箱的方法和系统 | |
CN105336013B (zh) | 一种通过信标广播实现点名的方法和系统 | |
CN114979984B (zh) | 消息的传输方法及装置 | |
CN104901865B (zh) | 一种基于全局单调序列号的移动端即时通讯信号同步方法 | |
CN107707529A (zh) | 一种实现限制验证码发送次数的客户端验证方法 | |
CN106888149B (zh) | 订阅邮件退订方法及装置 | |
CN106385516B (zh) | 一种设置业务转移的方法、装置及终端 | |
CN107230029A (zh) | 一种快递签收方法及快递签收设备 | |
CN105472577A (zh) | 以号码传递方式而建立的通讯方法及通讯系统 | |
CN104869571A (zh) | 一种Portal快速认证的方法和设备 | |
CN104850932A (zh) | 基于手机号自动匹配的投递方法和系统 | |
CN105812138A (zh) | 登录的处理方法、装置、用户终端及登录系统 | |
CN109218162A (zh) | 邮件投递方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180223 |