CN110300050A - 消息推送方法、装置、计算机设备及存储介质 - Google Patents
消息推送方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110300050A CN110300050A CN201910432723.1A CN201910432723A CN110300050A CN 110300050 A CN110300050 A CN 110300050A CN 201910432723 A CN201910432723 A CN 201910432723A CN 110300050 A CN110300050 A CN 110300050A
- Authority
- CN
- China
- Prior art keywords
- push
- client
- server
- message
- target
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- 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/14—Session management
-
- 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/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种消息推送方法、装置、计算机设备及存储介质,所述方法包括:通过具有数据存储功能的预设消息队列接收客户端发送的连接请求,并建立客户端与推送服务器之间的长连接;获取客户端和推送服务器的属性信息,并将属性信息存储到预设消息队列中;从第三方消息提供平台发送的推送请求中确定消息推送的目标客户端;根据目标客户端的属性信息中包含的标识信息,从预设消息队列中选取执行消息推送的目标推送服务器;根据目标推送服务器的标识信息,通知目标推送服务器通过预设消息队列将推送消息发送到目标客户端。本发明解决了在保持服务器数量不变的情况下,当数据交互中出现高并发量时,推送的消息有丢失的问题。
Description
技术领域
本发明涉及信息处理领域,尤其涉及消息推送方法、装置、计算机设备及存储介质。
背景技术
随着大数据及相关技术的飞速发展,信息推送技术已变得越来越重要。信息推送技术是一种通过一定的技术标准或协议,在互联网上通过定期传送用户需要的信息来减少信息过载的一项新技术。信息推送技术通过自动传送信息给用户,以减少用户用于搜索的时间,并且它能根据用户的兴趣来搜索、过滤信息,帮助用户高效率地发掘有价值的信息。
在实际应用中,信息推送的实现方式大多采用基于B/S(浏览器/服务端)架构的消息推送系统来实现。其中,服务端作为消息推送的中心,承载着来自众多浏览器的数据交互需求。然而,随着业务需求量的增加,与浏览器建立起的数量庞大的数据连接将使得服务器的负载过高。当数据交互中出现高并发量时,推送的消息有丢失的风险;同时,若仅通过增加服务器的数量来解决问题,将大幅增加经济成本。
发明内容
本发明实施例提供一种消息推送方法、装置、计算机设备及存储介质,以解决在保持服务器数量不变的情况下,当数据交互中出现高并发量时,推送的消息有丢失的问题。
一种消息推送方法,包括:
接收客户端根据预设消息队列发送的连接请求,并根据所述连接请求建立所述客户端与服务器集群中的推送服务器之间的长连接,其中,所述预设消息队列具有数据存储功能;
获取所述客户端的属性信息和所述推送服务器的属性信息,并将所述客户端的属性信息和所述推送服务器的属性信息关联存储到所述预设消息队列中;
接收第三方消息提供平台发送的推送请求,并根据所述推送请求从所述客户端中确定消息推送的目标客户端;
根据所述目标客户端的属性信息中包含的标识信息,从所述预设消息队列中获取与所述目标客户端相对应的目标推送服务器的标识信息;
将所述推送请求中的推送消息发送到与所述目标推送服务器的标识信息标识的所述目标推送服务器;
根据所述目标推送服务器的标识信息,通知所述目标推送服务器通过所述预设消息队列将所述推送消息发送到所述目标客户端。
一种消息推送装置,包括:
长连接建立模块,用于接收客户端根据预设消息队列发送的连接请求,并根据所述连接请求建立所述客户端与服务器集群中的推送服务器之间的长连接,其中,所述预设消息队列具有数据存储功能;
属性获取模块,用于获取所述客户端的属性信息和所述推送服务器的属性信息,并将所述客户端的属性信息和所述推送服务器的属性信息关联存储到所述预设消息队列中;
推送目标确定模块,用于接收第三方消息提供平台发送的推送请求,并根据所述推送请求从所述客户端中确定消息推送的目标客户端;
目标推送服务器确定模块,用于根据所述目标客户端的属性信息中包含的标识信息,从所述预设消息队列中获取与所述目标客户端相对应的目标推送服务器的标识信息;
信息转发模块,用于将所述推送请求中的推送消息发送到与所述目标推送服务器的标识信息标识的所述目标推送服务器;
推送模块,用于根据所述目标推送服务器的标识信息,通知所述目标推送服务器通过所述预设消息队列将所述推送消息发送到所述目标客户端。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述消息推送方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述消息推送方法。
上述消息推送方法、装置、计算机设备及存储介质,接收客户端根据预设消息队列发送的连接请求,并根据连接请求建立客户端与服务器集群中的推送服务器之间的长连接,其中,预设消息队列具有数据存储功能;获取客户端的属性信息和推送服务器的属性信息,并将客户端的属性信息和推送服务器的属性信息关联存储到预设消息队列中;即,通过建立长连接,使得客户端与推送服务器之间保持长时间的连接,便于数据推送,减少由于频繁建立连接而产生的开销;当有推送消息需要发送时,根据预设消息队列中存储的推送服务器的属性信息,找到执行推送功能的推送服务器,并通知推送服务器通过预设消息队列将推送消息发送到目标客户端,即,利用具有数据存储功能的消息队列接收客户端的连接请求,以及发送推送消息到目标客户端,使得在保持服务器投入数量不变的情况下,连接请求和推送消息均能有序的被服务端处理,避免了在客户端与服务端之间、以及服务端与第三方消息提供平台之间进行数据交换时出现推送的消息丢失的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中消息推送方法的一应用环境示意图;
图2是本发明一实施例中消息推送方法的流程图;
图3是本发明一实施例中消息推送方法中步骤S1的流程图;
图4是本发明一实施例中消息推送方法中步骤S3的流程图;
图5是本发明一实施例中消息推送方法中步骤S5的流程图;
图6是本发明一实施例中消息推送方法中调整推送服务器工作负载的流程图;
图7是本发明一实施例中消息推送装置的示意图;
图8是本发明一实施例中计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的消息推送方法,可应用在如图1的应用环境中,其中,客户端是接收推送消息的计算机终端设备,包括但不限于PC机、智能手机、平板电脑等,或者虚拟终端,如浏览器,或手机APP等;第三方消息提供平台,是提供免费或收费推送消息内容的服务商,具体可以是服务器或服务器集群,推送的内容包括但不限于天气预报,热点资讯,待办事项等;服务端是提供信息推送服务的服务器集群;服务端与客户端之间,服务端与第三方消息提供平台之间均通过网络连接,网络可以是有线网络或无线网络;服务端接收第三方消息提供平台的推送请求,并转发至客户端;本发明实施例提供的消息推送方法应用于服务端。
在一实施例中,如图2所示,提供了一种消息推送方法,其具体实现流程包括如下步骤:
S1:接收客户端根据预设消息队列发送的连接请求,并根据连接请求建立客户端与服务器集群中的推送服务器之间的长连接,其中,预设消息队列具有数据存储功能。
客户端,即接收推送消息的计算机终端设备或虚拟终端。
具体地,当用户通过浏览器访问了提供Web页面服务的服务器,即客户端向服务端发起了连接请求,此时,服务端从服务器集群中随机选取处于空闲状态的推送服务器进行响应,并建立起客户端与推送服务器之间的长连接。
其中,服务端由服务器集群组成;推送服务器,即服务器集群中与客户端建立长连接,且执行消息推送任务的服务器。
长连接,是指建立连接的两端始终保持连接状态,实现点对点的通讯。与长连接相对的是短连接,短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。由于长连接不需要频繁建立和销毁套接字(socket),因此,对于实时消息推送的服务,使用长连接更加节省资源,效率更高。
具体地,若客户端上部署有SockJS,服务端可以通过对socket的轮询实现长连接。其中,SockJS是一个浏览器JavaScript库,它提供了一个连贯的、跨浏览器的JavascriptAPI(Application Programming Interface,应用程序编程接口),使得浏览器和服务器之间创建了一个低延迟、全双工、跨域通信通道。SockJS通过心跳机制维持浏览器与服务器之间的长连接,即根据心跳机制的要求,服务器需要隔一段时间就发送心跳消息到浏览器,以阻止浏览器结束当前连接。
预设消息队列,即在服务端上部署的、在消息的传输过程中保存消息的容器。其中,消息队列,即Message Queue,是一种信息交换技术,用于不同的组件或应用程序之间的数据交换。使用消息队列,可以让不同组件或应用程序之间数据交换变得简单,从而不再需要互相调用API才能交换信息。
具体地,服务端上可以部署RabbitMQ。RabbitMQ是一个开源的消息队列,它使用erlang语言开发。RabbitMQ是高级消息队列协议的标准实现,适合于企业级的开发。
优选地,服务端上部署Redis作为预设消息队列。Redis是一个开源的,使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、键值对(Key-Value)数据库;同时,Redis具有消息队列功能。所以,Redis可作为具有数据存储功能的轻量级的消息队列服务来使用。
S2:获取客户端的属性信息和推送服务器的属性信息,并将客户端的属性信息和推送服务器的属性信息关联存储到预设消息队列中。
服务端将建立了长连接的双方信息保存到预设消息队列中。
其中,客户端的属性信息,包括但不限于客户端的IP地址、MAC地址、主机名称、操作系统的类型和版本、浏览器的类型或版本,客户端与推送服务器建立起长连接的时间、长连接的状态、会话(session)id,等;推送服务器的属性信息,包括但不限于推送服务器的IP地址、MAC地址、主机名称、在服务器集群中的编号、操作系统的类型和版本、浏览器的类型或版本,等;此外,当客户端和推送服务器建立起长连接后,进行长连接通讯的socket的身份标识信息(identification,id)号作为长连接id也将一同保存。
具体地,服务端可以在预设Web页面中部署JavaScript脚本,当客户端访问预设Web页面时,客户端的浏览器运行JavaScript脚本,并将客户端的属性信息发送到服务端;同时,服务端以长连接id为索引,将与客户端建立长连接的推送服务器的属性信息与客户端的属性信息关联存储到到Redis中,即每条记录对应一个长连接id,记录中同时保存有客户端和推送服务器的属性信息。
S3:接收第三方消息提供平台发送的推送请求,并根据推送请求从客户端中确定消息推送的目标客户端。
推送请求是第三方消息提供平台向服务端发送的网络数据请求,即,第三方消息提供平台通过推送请求,将消息最终推送到目标用户所在的客户端。其中,网络数据请求,具体可以是HTTP或HTTPS请求,或socket请求。
目标客户端,即目标用户所使用的客户端。目标客户端可以是单个客户端或一定范围内的客户端,例如,有的消息是点对点推送给特定目标客户端;有的消息是以广播方式推送给一群目标客户端。
推送请求中包括但不限于目标客户端的IP地址范围、操作系统的类型、目标客户端的主机名称等。例如,若第三方消息提供平台欲推送广告给一定区域内的内网用户,可以将该部分内网用户的主机名称添加到推送请求中。
具体地,服务端可以根据与第三方消息提供平台之间约定的通信协议,从推送请求中获取要推送的目标客户端的主机名。其中,约定的通信协议可以是开放式系统互连(Open Systems Interconnection reference,OSI)模型中应用层的协议,例如,HTTP协议、FTP协议等,或者,基于网络层的TCP/UDP协议的自定义协议。
S4:根据目标客户端的属性信息中包含的标识信息,从预设消息队列中获取与目标客户端相对应的目标推送服务器的标识信息。
目标客户端的属性信息中包含的标识信息,即用于唯一标识一个客户端的数据。由于客户端与推送服务器之间是一对一,或者多对一的关系,因此,目标客户端的标识信息,具体可以是客户端的主机名称、IP地址、操作系统版本、或长连接id等属性信息组成的字符串,以区分于其他客户端。
与目标客户端的标识信息类似,目标推送服务器的标识信息用于在服务器集群中,唯一标识一个执行推送任务的服务器的数据。目标推送服务器的标识信息具体可以是服务器的主机名、在服务器集群中的编号、长连接id、IP地址等属性信息组成的字符串。
具体地,服务端可以以目标客户端的标识信息作为搜索条件,从Redis中查找到与目标客户端相对应的目标推送服务器的标识信息。
S5:将推送请求中的推送消息发送到与目标推送服务器的标识信息标识的目标推送服务器。
推送消息是包含推送内容的数据表示。例如,若推送内容为一条文字信息,则推送消息可以为包含条文字信息的字符类型的数组。
具体地,服务端上部署有记载服务器集群中各服务器地址与服务器标识信息之间的映射关系的预设配置文件。因此,服务端可以根据目标推送服务器的标识信息,从配置文件中搜索到与之相对应的目标推送服务器的地址;然后,将推送消息通过socket发送到目标推送服务器。
S6:根据目标推送服务器的标识信息,通知目标推送服务器通过预设消息队列将推送消息发送到目标客户端。
具体地,服务端可以通过发送socket信息给目标推送服务器,通知目标推送服务器通过预设消息队列将推送消息发送到目标客户端。其中,目标推送服务器在长连接id对应的socket上执行写操作,即可将推送消息发送到目标客户端。
在本实施例中,接收客户端根据预设消息队列发送的连接请求,并根据连接请求建立客户端与服务器集群中的推送服务器之间的长连接,其中,预设消息队列具有数据存储功能;获取客户端的属性信息和推送服务器的属性信息,并将客户端的属性信息和推送服务器的属性信息关联存储到预设消息队列中;即,通过建立长连接,使得客户端与推送服务器之间保持长时间的连接,便于数据推送,减少由于频繁建立连接而产生的开销;当有推送消息需要发送时,根据预设消息队列中存储的推送服务器的属性信息,找到执行推送功能的推送服务器,并通知推送服务器通过预设消息队列将推送消息发送到目标客户端,即,利用具有数据存储功能的消息队列接收客户端的连接请求,以及发送推送消息到目标客户端,使得在保持服务器投入数量不变的情况下,连接请求和推送消息均能有序的被服务端处理,避免了在客户端与服务端之间、以及服务端与第三方消息提供平台之间进行数据交换时出现推送的消息丢失的问题。
进一步地,在一实施例中,如图3所示,针对步骤S1,即通过预设消息队列接收客户端发送的连接请求,并根据连接请求建立客户端与服务器集群中的推送服务器之间的长连接,具体包括如下步骤:
S11:建立监听服务,其中,监听服务用于检测来自预设消息队列转发的连接请求。
具体地,服务端通过套接字建立一个监听服务,用于监听来自预设消息队列转发的连接请求。其中,监听端口为本地的空闲端口。例如,若服务端拟使用本地的空闲端口8080作为监听端口,则服务端可以调用listen()函数对8080端口进行监听。
S12:通过监听服务获取客户端的连接请求,并调用基于事件响应的、可实时和双向通信的预设数据交互库,建立客户端与推送服务器之间的长连接。
基于事件响应的、可实时和双向通信的预设数据交互库,是建立客户端与推送服务器之间长连接时采用的基础软件库。数据交互库部署在服务端上,通过数据交互库可以使得保持长连接时的资源消耗更小。
优选地,数据交互库为socket.io。socket.io是使用原生态协议构建的、基于Node.js的通信基础模块,是一个用于浏览器和服务器之间进行实时、双向、以及基于事件响应的数据交互的库。其中,Node.js是一个Javascript运行环境(runtime environment),Node.js部署在服务端上,它是让JavaScript运行在服务端的开发平台。
具体地,当服务端监听到有客户端的套接字连接请求到达时,则服务端通过socket.io的内置on()函数接收客户端的连接请求,建立起客户端与推送服务器之间的socket连接,并以此socket连接作为与客户端之间的长连接。
在本实施例中,服务端通过建立监听服务检测来自预设消息队列转发的连接请求;并且调用基于事件响应的、可实时和双向通信的预设数据交互库建立客户端与推送服务器之间的长连接,由于与SockJS通过心跳机制相比,使用原生态的协议的socket.io以事件驱动机制为基础,使得建立长连接后,维持长连接的资源消耗更小。
进一步地,在一实施例中,如图4所示,针对步骤S3,即接收第三方消息提供平台发送的推送请求,并根据推送请求从客户端中确定消息推送的目标客户端,具体包括如下步骤:
S31:对推送请求进行解析,得到目标特征信息。
目标特征信息是对目标客户端特征的描述,是与推送目标相关的数据。目标特征信息包括但不限于目标客户端的设备类型、操作系统信息、浏览器信息、具体型号等。目标特征信息可以根据推送的需要只包括以上信息中的一种或几种。
举例来说,推送请求可以分别针对iOS用户和Android用户,则目标特征信息即为智能终端所使用的系统类型。
具体地,服务端可以根据与第三方消息提供平台之间约定的通讯协议,对推送请求进行字符提取,得到目标特征信息。
例如,若服务端与第三方消息提供平台之间通信是采用的基于TCP的自定义的通讯协议,则服务的可以与第三方消息提供平台约定TCP数据包中代表数据内容的前4个字节为目标特征信息,目标特征信息之后的字节为推送消息的内容,等。
可以理解地,服务端在对推送请求进行解析时,可以根据约定的TCP数据包中代表数据内容的字节的排列顺序,提取TCP数据包中前4个字节中的数据。例如,若目标特征信息表示为字符串“iOS 12.1Safari”,则代表推送的目标设备为苹果iOS操作系统的设备,版本号为“12.1”,适用的浏览器类型为“Safari”;若目标特征信息表示为字符串“Android”,则代表推送的目标设备为所有支持Android操作系统的设备。
S32:根据预设消息队列中保存的客户端的属性信息中包含的特征信息,选取具有目标特征信息的客户端,作为目标客户端。
建立起长连接的客户端,其属性信息均保存在预设消息队列中。因此,服务端可以将客户端的属性信息中包含的特征信息与目标特征信息进行比较,从而根据比较结果选取具有目标特征信息的客户端,作为目标客户端。
具体地,服务端可以以目标特征信息作为检索条件,从Redis中进行搜索匹配,得到目标客户端。例如,若目标特征信息为字符串“Android”,即代表推送的目标设备为所有Android操作系统的设备,服务端可以调用Redis的KEYS命令进行数据库内的搜索,即可以通过命令“KEYS Android”或“KEYS android”进行搜索,得到包含字符串“Android”或“android”的目标客户端的数据记录。
在本实施例中,服务端根据与第三方消息提供平台之间预先约定的通讯协议,对推送请求进行解析,得到目标特征信息;然后以目标特征信息为搜索条件从预设消息队列中获取目标客户端,使得服务端可以根据客户端的属性信息中包含的特征信息灵活选择目标客户端,有利于将推送消息精准的推送到目标用户。
进一步地,在一实施例中,如图5所示,针对步骤S5,即将推送请求中的推送消息发送到与目标推送服务器的标识信息标识的目标推送服务器,具体包括如下步骤:
S51:获取本地标识信息,并将本地标识信息与目标推送服务器的标识信息进行比较。
本地标识信息,即服务端的标识信息。服务端与推送服务器均为服务器集群中的服务器,服务端与推送服务器一样,也可以执行消息推送的任务。
具体地,服务端可以从记载服务器集群中各服务器地址与服务器标识信息之间的映射关系的预设配置文件中获取本地标识信息,然后将本地标识信息与与目标推送服务器的标识信息进行一致性比较。
S52:若本地标识信息与目标推送服务器的标识信息一致,则保存推送消息。
具体地,若本地标识信息与目标推送服务器的标识信息一致,则代表推送消息将通过本地发送,因此,服务端可以将推送消息保存到本地缓存,等待发送。
S53:若本地标识信息与目标推送服务器的标识信息不一致,则通过预设公共发布接口,将推送消息发送到目标推送服务器的标识信息标识的目标推送服务器,其中,预设公共发布接口部署在预设消息队列中。
预设公共发布接口,是Netty和Redis进行整合后得到API。其中,Netty是由JBOSS提供的一个Java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,可以快速开发出高性能、高可靠性的网络服务器和客户端程序。由Netty和Redis进行整合后得到的公共发布接口,可以在服务器集群内对推送消息进行转发,进一步避免了在高并发的情况下,消息存在丢失情况。
预设公共发布接口部署在预设消息队列中,即在预设消息队列的基础上增加公共发布接口。具体地,在Redis上使用Netty做二次开发,增加公共发布接口,实现服务器集群内的转发功能。
具体地,当本地标识信息与目标推送服务器的标识信息不一致,则代表需要由服务器集群中的其他推送服务器执行推送任务。服务端使用预设公共发布接口,根据目标推送服务器的标识信息在服务器集群内进行寻址,从而找到与目标推送服务器的标识信息对应的目标推送服务器。
举例来说,若本地标识信息为“local”,目标推送服务器的标识信息为“Target”,两者的标识信息不一致,则代表需要从服务器集群中找到标识信息为“Target”的目标推送服务器进行推送。
在本实施例中,服务端使用由Netty和Redis整合得到的API实现了服务器集群内的消息转发,由于Netty本身是Java自带的解决高并发的技术,因此,使用公共发布接口在能提高并发性能的同时,进一步避免了推送消息丢失的问题。
进一步地,在一实施例中,如图6所示,在步骤S5之后,并且在步骤S6之前,即在将推送请求中的推送消息发送到与目标推送服务器的标识信息标识的目标推送服务器的步骤之后,并且在根据目标推送服务器的标识信息,通知目标推送服务器通过预设消息队列将推送消息发送到目标客户端的步骤之前,具体包括如下步骤:
S7:根据目标客户端的数量,得到每个目标推送服务器的工作负载。
由于目标推送服务器的CPU、内存资源,以及端口数量都是有限的,因此,每个目标推送服务器能维持的长连接数量也是有限的。服务端可以根据目标客户端的数量,确定每个推送服务器的工作负载。
具体地,一个推送服务器的端口最大数量为65535个,除去1024个保留端口和其他占用端口,以每个socket占用内存20K为例,一个内存为32G的推送服务器可承载的socket数量为其可支配内存除以20K;同时,若预设每个目标客户端只能有10个socket连接,则服务端可以根据目标客户端的数量,计算得到目标推送服务器的工作负载。
S8:若工作负载超过预设阈值,则调用预设负载均衡接口调整每个目标推送服务器的工作负载,其中,预设负载均衡接口部署在预设消息队列中。
预设阈值是判断推送服务器是否过载的临界值。
预设负载均衡接口,用于调整每个目标推送服务器的工作负载,即,将工作负载超过预设阈值的目标推送服务器的推送任务转发给工作负载未超过预设阈值的目标推送服务器。
具体地,预设负载均衡接口可以是基于Netty的API,并部署在Redis上。当服务端检测到有目标推送服务器的工作负载超过预设阈值,则预设负载均衡接口将超出部分的长连接id、目标推送服务器的端口信息转发到其他目标推送服务器。由于预设负载均衡接口部署在Redis上,使得调整工作负载的过程是对目标客户端透明的。
在本实施例中,服务端根据目标客户端的数量,确定每个目标推送服务器的工作负载,并通过预设负载均衡接口对目标推送服务器的工作负载进行调整,从而降低目标推送服务器的工作负荷,保证推送消息能被稳定的发送,同时,调整过程对目标客户端透明,不影响目标客户端的使用体验。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种消息推送装置,该消息推送装置与上述实施例中消息推送方法一一对应。如图7所示,该消息推送装置包括长连接建立模块71、属性获取模块72、推送目标确定模块73、目标推送服务器确定模块74、信息转发模块75和推送模块76。各功能模块详细说明如下:
长连接建立模块71,用于接收客户端根据预设消息队列发送的连接请求,并根据连接请求建立客户端与服务器集群中的推送服务器之间的长连接,其中,预设消息队列具有数据存储功能;
属性获取模块72,用于获取客户端的属性信息和推送服务器的属性信息,并将客户端的属性信息和推送服务器的属性信息关联存储到预设消息队列中;
推送目标确定模块73,用于接收第三方消息提供平台发送的推送请求,并根据推送请求从客户端中确定消息推送的目标客户端;
目标推送服务器确定模块74,用于根据目标客户端的属性信息中包含的标识信息,从预设消息队列中获取与目标客户端相对应的目标推送服务器的标识信息;
信息转发模块75,用于将推送请求中的推送消息发送到与目标推送服务器的标识信息标识的目标推送服务器;
推送模块76,用于根据目标推送服务器的标识信息,通知目标推送服务器通过预设消息队列将推送消息发送到目标客户端。
进一步地,长连接建立模块71,包括:
监听服务建立子模块711,用于建立监听服务,其中,监听服务用于检测来自预设消息队列转发的连接请求;
连接建立子模块712,用于通过监听服务获取客户端的连接请求,并调用基于事件响应的、可实时和双向通信的预设数据交互库,建立客户端与推送服务器之间的长连接。
进一步地,推送目标确定模块73,包括:
解析子模块731,用于对推送请求进行解析,得到目标特征信息;
推送目标选取子模块732,用于根据预设消息队列中保存的客户端的属性信息中包含的特征信息,选取具有目标特征信息的客户端,作为目标客户端。
进一步地,信息转发模块75,包括:
标识比较子模块751,用于获取本地标识信息,并将本地标识信息与目标推送服务器的标识信息进行比较;
消息保存子模块752,用于若本地标识信息与目标推送服务器的标识信息一致,则保存推送消息;
消息转发子模块753,用于若本地标识信息与目标推送服务器的标识信息不一致,则通过预设公共发布接口,将推送消息发送到目标推送服务器的标识信息标识的目标推送服务器,其中,预设公共发布接口部署在预设消息队列中。
进一步地,消息推送装置,还包括:
负载检测模块77,用于根据目标客户端的数量,得到每个目标推送服务器的工作负载;
负载调整模块78,用于若工作负载超过预设阈值,则调用预设负载均衡接口调整每个目标推送服务器的工作负载,其中,预设负载均衡接口部署在预设消息队列中。
关于消息推送装置的具体限定可以参见上文中对于消息推送方法的限定,在此不再赘述。上述消息推送装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种消息推送方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中消息推送方法的步骤,例如图2所示的步骤S1至步骤S6。或者,处理器执行计算机程序时实现上述实施例中消息推送装置的各模块/单元的功能,例如图7所示模块71至模块76的功能。为避免重复,这里不再赘述。
在一实施例中,提供一计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中消息推送方法,或者,该计算机程序被处理器执行时实现上述装置实施例中消息推送装置中各模块/单元的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种消息推送方法,其特征在于,所述消息推送方法包括:
接收客户端根据预设消息队列发送的连接请求,并根据所述连接请求建立所述客户端与服务器集群中的推送服务器之间的长连接,其中,所述预设消息队列具有数据存储功能;
获取所述客户端的属性信息和所述推送服务器的属性信息,并将所述客户端的属性信息和所述推送服务器的属性信息关联存储到所述预设消息队列中;
接收第三方消息提供平台发送的推送请求,并根据所述推送请求从所述客户端中确定消息推送的目标客户端;
根据所述目标客户端的属性信息中包含的标识信息,从所述预设消息队列中获取与所述目标客户端相对应的目标推送服务器的标识信息;
将所述推送请求中的推送消息发送到与所述目标推送服务器的标识信息标识的所述目标推送服务器;
根据所述目标推送服务器的标识信息,通知所述目标推送服务器通过所述预设消息队列将所述推送消息发送到所述目标客户端。
2.如权利要求1所述的消息推送方法,其特征在于,所述接收客户端根据预设消息队列发送的连接请求,并根据所述连接请求建立所述客户端与服务器集群中的推送服务器之间的长连接,包括:
建立监听服务,其中,所述监听服务用于检测来自所述预设消息队列转发的连接请求;
通过所述监听服务获取所述客户端的连接请求,并调用基于事件响应的、可实时和双向通信的预设数据交互库,建立所述客户端与所述推送服务器之间的长连接。
3.如权利要求1所述的消息推送方法,其特征在于,所述接收第三方消息提供平台发送的推送请求,并根据所述推送请求从所述客户端中确定消息推送的目标客户端,包括:
对所述推送请求进行解析,得到目标特征信息;
根据所述预设消息队列中保存的所述客户端的属性信息中包含的特征信息,选取具有所述目标特征信息的所述客户端,作为所述目标客户端。
4.如权利要求1所述的消息推送方法,其特征在于,所述将所述推送请求中的推送消息发送到与所述目标推送服务器的标识信息标识的所述目标推送服务器,包括:
获取本地标识信息,并将所述本地标识信息与所述目标推送服务器的标识信息进行比较;
若所述本地标识信息与所述目标推送服务器的标识信息一致,则保存所述推送消息;
若所述本地标识信息与所述目标推送服务器的标识信息不一致,则通过预设公共发布接口,将所述推送消息发送到所述目标推送服务器的标识信息对应的所述目标推送服务器,其中,所述预设公共发布接口部署在所述预设消息队列中。
5.如权利要求1所述的消息推送方法,其特征在于,在所述将所述推送请求中的推送消息发送到与所述目标推送服务器的标识信息标识的所述目标推送服务器之后,并且在所述根据所述目标推送服务器的标识信息,通知所述目标推送服务器通过所述预设消息队列将所述推送消息发送到所述目标客户端之前,所述消息推送方法,还包括:
根据所述目标客户端的数量,得到每个所述目标推送服务器的工作负载;
若所述工作负载超过预设阈值,则调用预设负载均衡接口调整每个所述目标推送服务器的工作负载,其中,所述预设负载均衡接口部署在所述预设消息队列中。
6.一种消息推送装置,其特征在于,所述消息推送装置,包括:
长连接建立模块,用于接收客户端根据预设消息队列发送的连接请求,并根据所述连接请求建立所述客户端与服务器集群中的推送服务器之间的长连接,其中,所述预设消息队列具有数据存储功能;
属性获取模块,用于获取所述客户端的属性信息和所述推送服务器的属性信息,并将所述客户端的属性信息和所述推送服务器的属性信息关联存储到所述预设消息队列中;
推送目标确定模块,用于接收第三方消息提供平台发送的推送请求,并根据所述推送请求从所述客户端中确定消息推送的目标客户端;
目标推送服务器确定模块,用于根据所述目标客户端的属性信息中包含的标识信息,从所述预设消息队列中获取与所述目标客户端相对应的目标推送服务器的标识信息;
信息转发模块,用于将所述推送请求中的推送消息发送到与所述目标推送服务器的标识信息标识的所述目标推送服务器;
推送模块,用于根据所述目标推送服务器的标识信息,通知所述目标推送服务器通过所述预设消息队列将所述推送消息发送到所述目标客户端。
7.如权利要求6所述的消息推送装置,其特征在于,所述长连接建立模块,包括:
监听服务建立子模块,用于建立监听服务,其中,所述监听服务用于检测来自所述预设消息队列转发的连接请求;
连接建立子模块,用于通过所述监听服务获取所述客户端的连接请求,并调用基于事件响应的、可实时和双向通信的预设数据交互库,建立所述客户端与所述推送服务器之间的长连接。
8.如权利要求6所述的消息推送装置,其特征在于,所述推送目标确定模块,包括:
解析子模块,用于对所述推送请求进行解析,得到目标特征信息;
推送目标选取子模块,用于根据所述预设消息队列中保存的所述客户端的属性信息中包含的特征信息,选取具有所述目标特征信息的所述客户端,作为所述目标客户端。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述消息推送方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述消息推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910432723.1A CN110300050B (zh) | 2019-05-23 | 2019-05-23 | 消息推送方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910432723.1A CN110300050B (zh) | 2019-05-23 | 2019-05-23 | 消息推送方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110300050A true CN110300050A (zh) | 2019-10-01 |
CN110300050B CN110300050B (zh) | 2023-02-07 |
Family
ID=68027062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910432723.1A Active CN110300050B (zh) | 2019-05-23 | 2019-05-23 | 消息推送方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110300050B (zh) |
Cited By (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110753096A (zh) * | 2019-10-12 | 2020-02-04 | 北京达佳互联信息技术有限公司 | 一种消息推送方法、系统及电子设备 |
CN110958240A (zh) * | 2019-11-27 | 2020-04-03 | 北京数知科技股份有限公司 | 消息订阅系统及方法 |
CN111031058A (zh) * | 2019-12-23 | 2020-04-17 | 集奥聚合(北京)人工智能科技有限公司 | 基于WebSocket的分布式服务器集群交互方法及装置 |
CN111083193A (zh) * | 2019-11-11 | 2020-04-28 | 厦门网宿有限公司 | 长连接消息发送方法、服务器及存储介质 |
CN111241135A (zh) * | 2019-12-31 | 2020-06-05 | 广州酷旅旅行社有限公司 | 一种商品搜索方法、装置、计算机设备和存储介质 |
CN111259246A (zh) * | 2020-01-17 | 2020-06-09 | 北京达佳互联信息技术有限公司 | 信息推送方法、装置、电子设备及存储介质 |
CN111258902A (zh) * | 2020-01-17 | 2020-06-09 | 平安医疗健康管理股份有限公司 | 基于SockJS服务器的性能测试方法和性能测试系统 |
CN111258978A (zh) * | 2020-01-17 | 2020-06-09 | 广东小天才科技有限公司 | 一种数据存储的方法 |
CN111314433A (zh) * | 2020-01-20 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 消息传输方法、装置及电子设备 |
CN111314313A (zh) * | 2020-01-19 | 2020-06-19 | 成都康赛信息技术有限公司 | 一种基于消息的云推送方法 |
CN111314465A (zh) * | 2020-02-17 | 2020-06-19 | 天津卓朗科技发展有限公司 | 弱网环境通讯方法、装置和电子设备 |
CN111343236A (zh) * | 2020-02-07 | 2020-06-26 | 广州极晟网络技术有限公司 | 服务端与客户端进行通讯的方法、装置、通讯系统 |
CN111371832A (zh) * | 2019-12-11 | 2020-07-03 | 添可智能科技有限公司 | 一种数据存储、检测方法及设备 |
CN111447185A (zh) * | 2020-03-10 | 2020-07-24 | 平安科技(深圳)有限公司 | 一种推送信息的处理方法及相关设备 |
CN111464618A (zh) * | 2020-03-30 | 2020-07-28 | 广州市百果园信息技术有限公司 | 一种消息推送方法、装置、设备和存储介质 |
CN111555955A (zh) * | 2020-03-26 | 2020-08-18 | 福州慧校通教育信息技术有限公司 | 一种消息中心实现方法、装置、设备和介质 |
CN111580993A (zh) * | 2020-05-11 | 2020-08-25 | 广州虎牙信息科技有限公司 | 数据处理方法和装置、电子设备及存储介质 |
CN111667336A (zh) * | 2020-04-28 | 2020-09-15 | 中国平安财产保险股份有限公司 | 产品信息配置和推送方法、装置、设备及存储介质 |
CN111711697A (zh) * | 2020-06-17 | 2020-09-25 | 北京同邦卓益科技有限公司 | 消息推送方法、装置、设备及存储介质 |
CN111711675A (zh) * | 2020-06-08 | 2020-09-25 | 广东赛博威信息科技有限公司 | 一种针对局域网内并发消息传递的解决方法 |
CN111737029A (zh) * | 2020-06-23 | 2020-10-02 | 中国建设银行股份有限公司 | 一种服务端、数据推送方法、数据推送系统 |
CN111741060A (zh) * | 2020-05-08 | 2020-10-02 | 广州三七互娱科技有限公司 | 消息推送方法、装置、计算机设备和存储介质 |
CN111756811A (zh) * | 2020-05-29 | 2020-10-09 | 苏州浪潮智能科技有限公司 | 一种分布式系统的主动推送的方法、系统、设备及介质 |
CN111818131A (zh) * | 2020-06-17 | 2020-10-23 | 天津异乡好居网络科技有限公司 | 一种消息推送调度系统及方法 |
CN111901437A (zh) * | 2020-08-04 | 2020-11-06 | 北京一起教育信息咨询有限责任公司 | 一种消息传输方法、装置和系统 |
CN112019625A (zh) * | 2020-08-31 | 2020-12-01 | 重庆紫光华山智安科技有限公司 | 基于websocket消息推送方法、系统、设备及介质 |
CN112039993A (zh) * | 2020-09-02 | 2020-12-04 | 中国银行股份有限公司 | 一种长连接地址处理方法和装置 |
CN112153146A (zh) * | 2020-09-25 | 2020-12-29 | 北京金山云网络技术有限公司 | 操作通知方法和装置、存储介质和电子装置 |
CN112311597A (zh) * | 2020-10-28 | 2021-02-02 | 南京尚网网络科技有限公司 | 消息推送方法和装置 |
CN112367333A (zh) * | 2020-11-19 | 2021-02-12 | 国网汇通金财(北京)信息科技有限公司 | 一种异步消息场景下的数据处理方法及系统 |
CN112398726A (zh) * | 2020-11-05 | 2021-02-23 | 深圳市和讯华谷信息技术有限公司 | 推送消息的回执信息处理方法、系统及存储介质 |
CN112398752A (zh) * | 2020-11-16 | 2021-02-23 | 广州华多网络科技有限公司 | 消息推送控制方法及其装置、设备、介质 |
CN112468573A (zh) * | 2020-11-24 | 2021-03-09 | 新天科技股份有限公司 | 数据推送方法、装置、设备及存储介质 |
CN112633862A (zh) * | 2020-12-25 | 2021-04-09 | 江苏银承网络科技股份有限公司 | 票据管理平台及方法 |
CN112689018A (zh) * | 2020-12-29 | 2021-04-20 | 中通服公众信息产业股份有限公司 | 一种消息快速推送方法 |
CN112685196A (zh) * | 2020-12-24 | 2021-04-20 | 平安普惠企业管理有限公司 | 适用于分布式技术的线程池管理方法、装置、设备及介质 |
CN112887420A (zh) * | 2021-02-09 | 2021-06-01 | 网银在线(北京)科技有限公司 | 消息推送方法和装置、计算机可读存储介质、电子设备 |
CN113037834A (zh) * | 2021-03-05 | 2021-06-25 | 中国工商银行股份有限公司 | 基于分布式即时推送的Web页面状态更新方法及装置 |
CN113098936A (zh) * | 2021-03-25 | 2021-07-09 | 山东浪潮通软信息科技有限公司 | 一种向移动端推送消息的方法、装置及设备 |
CN113138868A (zh) * | 2021-04-28 | 2021-07-20 | 北京沃东天骏信息技术有限公司 | 一种消息处理方法和装置 |
CN113190778A (zh) * | 2021-04-30 | 2021-07-30 | 深圳壹账通创配科技有限公司 | 业务数据推送方法、系统、计算机设备及计算机存储介质 |
CN113194150A (zh) * | 2021-05-12 | 2021-07-30 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种长连接推送服务处理系统 |
CN113204440A (zh) * | 2021-04-29 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 消息发送方法、装置、电子设备及存储介质 |
CN113285994A (zh) * | 2021-05-17 | 2021-08-20 | 深圳市欧瑞博科技股份有限公司 | 消息发送方法、装置、服务器及存储介质 |
CN113347257A (zh) * | 2021-06-03 | 2021-09-03 | 中国联合网络通信集团有限公司 | 通信方法、装置、服务器及存储介质 |
CN113411250A (zh) * | 2021-06-03 | 2021-09-17 | 重庆锐云科技有限公司 | 一种实时消息处理方法、系统、设备及存储介质 |
CN113452728A (zh) * | 2020-03-24 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 请求消息的处理方法及设备 |
CN113452765A (zh) * | 2021-06-21 | 2021-09-28 | 北京达佳互联信息技术有限公司 | 一种长连接通信方法、系统、设备、存储介质及程序产品 |
CN113645294A (zh) * | 2021-08-06 | 2021-11-12 | 腾讯科技(深圳)有限公司 | 消息获取方法、装置、计算机设备和消息传输系统 |
CN113765774A (zh) * | 2020-11-16 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 消息实时同步方法、装置、电子设备及介质 |
CN113810264A (zh) * | 2021-01-15 | 2021-12-17 | 北京京东拓先科技有限公司 | 信息传输方法、装置、电子设备和存储介质 |
CN113839983A (zh) * | 2020-06-24 | 2021-12-24 | 优信数享(北京)信息技术有限公司 | 一种sem推送方法、系统及装置 |
CN113992460A (zh) * | 2021-10-22 | 2022-01-28 | 北京达佳互联信息技术有限公司 | 消息发送方法、装置、电子设备、存储介质 |
CN114006938A (zh) * | 2021-09-24 | 2022-02-01 | 深圳市佳创视讯技术股份有限公司 | 分布式集群的消息路由下发方法、装置、设备及存储介质 |
CN114143334A (zh) * | 2021-12-03 | 2022-03-04 | 爱信诺征信有限公司 | 一种终端控制方法及装置 |
CN114268667A (zh) * | 2021-12-20 | 2022-04-01 | 中国平安财产保险股份有限公司 | 数据转发方法、装置、计算机设备及存储介质 |
CN114286293A (zh) * | 2021-12-22 | 2022-04-05 | 广东悦伍纪网络技术有限公司 | 消息推送管理方法、装置、系统、计算机设备和存储介质 |
CN114401315A (zh) * | 2021-12-31 | 2022-04-26 | 广东国腾量子科技有限公司 | 一种基于动态决策模型的消息推送服务系统及方法 |
CN114500630A (zh) * | 2020-10-27 | 2022-05-13 | 航天信息股份有限公司 | 消息推送的方法、装置、系统、存储介质和电子设备 |
CN114760348A (zh) * | 2022-04-28 | 2022-07-15 | 青岛海尔科技有限公司 | 一种业务处理方法、装置、存储介质及电子装置 |
CN115225703A (zh) * | 2022-04-02 | 2022-10-21 | 广州汽车集团股份有限公司 | 消息通信方法、装置、交通工具以及存储介质 |
CN115756875A (zh) * | 2023-01-06 | 2023-03-07 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 面向流式数据的机器学习模型在线服务部署方法及系统 |
CN115834658A (zh) * | 2022-11-24 | 2023-03-21 | 明度智云(浙江)科技有限公司 | 一种消息通知方法、装置、电子设备及存储介质 |
CN114760348B (zh) * | 2022-04-28 | 2024-06-25 | 青岛海尔科技有限公司 | 一种业务处理方法、装置、存储介质及电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170272504A1 (en) * | 2016-03-17 | 2017-09-21 | Webtext Holdings Limited | Message transfer system, method of transferring messages and software product |
CN108377247A (zh) * | 2018-03-08 | 2018-08-07 | 北京车和家信息技术有限公司 | 一种消息推送方法和装置 |
CN108833521A (zh) * | 2018-06-06 | 2018-11-16 | 广州视源电子科技股份有限公司 | 消息推送方法、装置、系统、计算机设备和存储介质 |
CN109547511A (zh) * | 2017-09-22 | 2019-03-29 | 中国移动通信集团浙江有限公司 | 一种web消息实时推送方法、服务器、客户端及系统 |
CN109698799A (zh) * | 2019-01-14 | 2019-04-30 | 广州荔支网络技术有限公司 | 一种消息推送方法、装置和移动终端 |
-
2019
- 2019-05-23 CN CN201910432723.1A patent/CN110300050B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170272504A1 (en) * | 2016-03-17 | 2017-09-21 | Webtext Holdings Limited | Message transfer system, method of transferring messages and software product |
CN109547511A (zh) * | 2017-09-22 | 2019-03-29 | 中国移动通信集团浙江有限公司 | 一种web消息实时推送方法、服务器、客户端及系统 |
CN108377247A (zh) * | 2018-03-08 | 2018-08-07 | 北京车和家信息技术有限公司 | 一种消息推送方法和装置 |
CN108833521A (zh) * | 2018-06-06 | 2018-11-16 | 广州视源电子科技股份有限公司 | 消息推送方法、装置、系统、计算机设备和存储介质 |
CN109698799A (zh) * | 2019-01-14 | 2019-04-30 | 广州荔支网络技术有限公司 | 一种消息推送方法、装置和移动终端 |
Cited By (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110753096A (zh) * | 2019-10-12 | 2020-02-04 | 北京达佳互联信息技术有限公司 | 一种消息推送方法、系统及电子设备 |
CN111083193A (zh) * | 2019-11-11 | 2020-04-28 | 厦门网宿有限公司 | 长连接消息发送方法、服务器及存储介质 |
CN110958240A (zh) * | 2019-11-27 | 2020-04-03 | 北京数知科技股份有限公司 | 消息订阅系统及方法 |
CN111371832A (zh) * | 2019-12-11 | 2020-07-03 | 添可智能科技有限公司 | 一种数据存储、检测方法及设备 |
CN111031058A (zh) * | 2019-12-23 | 2020-04-17 | 集奥聚合(北京)人工智能科技有限公司 | 基于WebSocket的分布式服务器集群交互方法及装置 |
CN111241135A (zh) * | 2019-12-31 | 2020-06-05 | 广州酷旅旅行社有限公司 | 一种商品搜索方法、装置、计算机设备和存储介质 |
CN111241135B (zh) * | 2019-12-31 | 2024-04-09 | 广州酷旅旅行社有限公司 | 一种商品搜索方法、装置、计算机设备和存储介质 |
CN111258902A (zh) * | 2020-01-17 | 2020-06-09 | 平安医疗健康管理股份有限公司 | 基于SockJS服务器的性能测试方法和性能测试系统 |
CN111258978A (zh) * | 2020-01-17 | 2020-06-09 | 广东小天才科技有限公司 | 一种数据存储的方法 |
CN111259246A (zh) * | 2020-01-17 | 2020-06-09 | 北京达佳互联信息技术有限公司 | 信息推送方法、装置、电子设备及存储介质 |
CN111258978B (zh) * | 2020-01-17 | 2024-04-19 | 广东小天才科技有限公司 | 一种数据存储的方法 |
CN111314313A (zh) * | 2020-01-19 | 2020-06-19 | 成都康赛信息技术有限公司 | 一种基于消息的云推送方法 |
CN111314433A (zh) * | 2020-01-20 | 2020-06-19 | 北京字节跳动网络技术有限公司 | 消息传输方法、装置及电子设备 |
CN111314433B (zh) * | 2020-01-20 | 2022-08-05 | 北京字节跳动网络技术有限公司 | 消息传输方法、装置及电子设备 |
CN111343236A (zh) * | 2020-02-07 | 2020-06-26 | 广州极晟网络技术有限公司 | 服务端与客户端进行通讯的方法、装置、通讯系统 |
CN111314465A (zh) * | 2020-02-17 | 2020-06-19 | 天津卓朗科技发展有限公司 | 弱网环境通讯方法、装置和电子设备 |
CN111314465B (zh) * | 2020-02-17 | 2023-04-07 | 天津卓朗科技发展有限公司 | 弱网环境通讯方法、装置和电子设备 |
CN111447185B (zh) * | 2020-03-10 | 2023-07-28 | 平安科技(深圳)有限公司 | 一种推送信息的处理方法及相关设备 |
CN111447185A (zh) * | 2020-03-10 | 2020-07-24 | 平安科技(深圳)有限公司 | 一种推送信息的处理方法及相关设备 |
CN113452728A (zh) * | 2020-03-24 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 请求消息的处理方法及设备 |
CN111555955A (zh) * | 2020-03-26 | 2020-08-18 | 福州慧校通教育信息技术有限公司 | 一种消息中心实现方法、装置、设备和介质 |
CN111555955B (zh) * | 2020-03-26 | 2022-08-05 | 福州慧校通教育信息技术有限公司 | 一种消息中心实现方法、装置、设备和介质 |
CN111464618A (zh) * | 2020-03-30 | 2020-07-28 | 广州市百果园信息技术有限公司 | 一种消息推送方法、装置、设备和存储介质 |
CN111464618B (zh) * | 2020-03-30 | 2023-07-04 | 广州市百果园信息技术有限公司 | 一种消息推送方法、装置、设备和存储介质 |
CN111667336A (zh) * | 2020-04-28 | 2020-09-15 | 中国平安财产保险股份有限公司 | 产品信息配置和推送方法、装置、设备及存储介质 |
CN111741060A (zh) * | 2020-05-08 | 2020-10-02 | 广州三七互娱科技有限公司 | 消息推送方法、装置、计算机设备和存储介质 |
CN111741060B (zh) * | 2020-05-08 | 2023-12-12 | 广州三七互娱科技有限公司 | 消息推送方法、装置、计算机设备和存储介质 |
CN111580993B (zh) * | 2020-05-11 | 2024-05-17 | 广州虎牙信息科技有限公司 | 数据处理方法和装置、电子设备及存储介质 |
CN111580993A (zh) * | 2020-05-11 | 2020-08-25 | 广州虎牙信息科技有限公司 | 数据处理方法和装置、电子设备及存储介质 |
CN111756811A (zh) * | 2020-05-29 | 2020-10-09 | 苏州浪潮智能科技有限公司 | 一种分布式系统的主动推送的方法、系统、设备及介质 |
CN111756811B (zh) * | 2020-05-29 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种分布式系统的主动推送的方法、系统、设备及介质 |
CN111711675B (zh) * | 2020-06-08 | 2023-04-07 | 广东赛博威信息科技有限公司 | 一种针对局域网内并发消息传递的解决方法 |
CN111711675A (zh) * | 2020-06-08 | 2020-09-25 | 广东赛博威信息科技有限公司 | 一种针对局域网内并发消息传递的解决方法 |
CN111818131A (zh) * | 2020-06-17 | 2020-10-23 | 天津异乡好居网络科技有限公司 | 一种消息推送调度系统及方法 |
CN111711697A (zh) * | 2020-06-17 | 2020-09-25 | 北京同邦卓益科技有限公司 | 消息推送方法、装置、设备及存储介质 |
CN111737029A (zh) * | 2020-06-23 | 2020-10-02 | 中国建设银行股份有限公司 | 一种服务端、数据推送方法、数据推送系统 |
CN113839983A (zh) * | 2020-06-24 | 2021-12-24 | 优信数享(北京)信息技术有限公司 | 一种sem推送方法、系统及装置 |
CN111901437A (zh) * | 2020-08-04 | 2020-11-06 | 北京一起教育信息咨询有限责任公司 | 一种消息传输方法、装置和系统 |
CN111901437B (zh) * | 2020-08-04 | 2022-12-20 | 北京一起教育信息咨询有限责任公司 | 一种消息传输方法、装置和系统 |
CN112019625A (zh) * | 2020-08-31 | 2020-12-01 | 重庆紫光华山智安科技有限公司 | 基于websocket消息推送方法、系统、设备及介质 |
CN112039993B (zh) * | 2020-09-02 | 2022-10-18 | 中国银行股份有限公司 | 一种长连接地址处理方法和装置 |
CN112039993A (zh) * | 2020-09-02 | 2020-12-04 | 中国银行股份有限公司 | 一种长连接地址处理方法和装置 |
CN112153146B (zh) * | 2020-09-25 | 2022-08-16 | 北京金山云网络技术有限公司 | 操作通知方法和装置、存储介质和电子装置 |
CN112153146A (zh) * | 2020-09-25 | 2020-12-29 | 北京金山云网络技术有限公司 | 操作通知方法和装置、存储介质和电子装置 |
CN114500630A (zh) * | 2020-10-27 | 2022-05-13 | 航天信息股份有限公司 | 消息推送的方法、装置、系统、存储介质和电子设备 |
CN112311597A (zh) * | 2020-10-28 | 2021-02-02 | 南京尚网网络科技有限公司 | 消息推送方法和装置 |
CN112398726B (zh) * | 2020-11-05 | 2022-05-27 | 深圳市和讯华谷信息技术有限公司 | 推送消息的回执信息处理方法、系统及存储介质 |
CN112398726A (zh) * | 2020-11-05 | 2021-02-23 | 深圳市和讯华谷信息技术有限公司 | 推送消息的回执信息处理方法、系统及存储介质 |
CN113765774A (zh) * | 2020-11-16 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 消息实时同步方法、装置、电子设备及介质 |
CN112398752A (zh) * | 2020-11-16 | 2021-02-23 | 广州华多网络科技有限公司 | 消息推送控制方法及其装置、设备、介质 |
CN112398752B (zh) * | 2020-11-16 | 2022-04-26 | 广州华多网络科技有限公司 | 消息推送控制方法及其装置、设备、介质 |
CN112367333A (zh) * | 2020-11-19 | 2021-02-12 | 国网汇通金财(北京)信息科技有限公司 | 一种异步消息场景下的数据处理方法及系统 |
CN112468573B (zh) * | 2020-11-24 | 2023-05-23 | 新天科技股份有限公司 | 基于分布式部署的数据推送方法、装置、设备及存储介质 |
CN112468573A (zh) * | 2020-11-24 | 2021-03-09 | 新天科技股份有限公司 | 数据推送方法、装置、设备及存储介质 |
CN112685196A (zh) * | 2020-12-24 | 2021-04-20 | 平安普惠企业管理有限公司 | 适用于分布式技术的线程池管理方法、装置、设备及介质 |
CN112685196B (zh) * | 2020-12-24 | 2023-12-08 | 湖北华中电力科技开发有限责任公司 | 适用于分布式技术的线程池管理方法、装置、设备及介质 |
CN112633862A (zh) * | 2020-12-25 | 2021-04-09 | 江苏银承网络科技股份有限公司 | 票据管理平台及方法 |
CN112689018B (zh) * | 2020-12-29 | 2023-03-10 | 中通服公众信息产业股份有限公司 | 一种消息快速推送方法 |
CN112689018A (zh) * | 2020-12-29 | 2021-04-20 | 中通服公众信息产业股份有限公司 | 一种消息快速推送方法 |
CN113810264A (zh) * | 2021-01-15 | 2021-12-17 | 北京京东拓先科技有限公司 | 信息传输方法、装置、电子设备和存储介质 |
CN113810264B (zh) * | 2021-01-15 | 2023-09-05 | 北京京东拓先科技有限公司 | 信息传输方法、装置、电子设备和存储介质 |
CN112887420A (zh) * | 2021-02-09 | 2021-06-01 | 网银在线(北京)科技有限公司 | 消息推送方法和装置、计算机可读存储介质、电子设备 |
CN113037834A (zh) * | 2021-03-05 | 2021-06-25 | 中国工商银行股份有限公司 | 基于分布式即时推送的Web页面状态更新方法及装置 |
CN113098936A (zh) * | 2021-03-25 | 2021-07-09 | 山东浪潮通软信息科技有限公司 | 一种向移动端推送消息的方法、装置及设备 |
CN113138868B (zh) * | 2021-04-28 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | 一种消息处理方法和装置 |
CN113138868A (zh) * | 2021-04-28 | 2021-07-20 | 北京沃东天骏信息技术有限公司 | 一种消息处理方法和装置 |
CN113204440A (zh) * | 2021-04-29 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 消息发送方法、装置、电子设备及存储介质 |
CN113190778A (zh) * | 2021-04-30 | 2021-07-30 | 深圳壹账通创配科技有限公司 | 业务数据推送方法、系统、计算机设备及计算机存储介质 |
CN113194150B (zh) * | 2021-05-12 | 2023-04-07 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种长连接推送服务处理系统 |
CN113194150A (zh) * | 2021-05-12 | 2021-07-30 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种长连接推送服务处理系统 |
CN113285994A (zh) * | 2021-05-17 | 2021-08-20 | 深圳市欧瑞博科技股份有限公司 | 消息发送方法、装置、服务器及存储介质 |
CN113411250A (zh) * | 2021-06-03 | 2021-09-17 | 重庆锐云科技有限公司 | 一种实时消息处理方法、系统、设备及存储介质 |
CN113347257A (zh) * | 2021-06-03 | 2021-09-03 | 中国联合网络通信集团有限公司 | 通信方法、装置、服务器及存储介质 |
CN113452765B (zh) * | 2021-06-21 | 2023-02-17 | 北京达佳互联信息技术有限公司 | 一种长连接通信方法、系统、设备、存储介质及程序产品 |
CN113452765A (zh) * | 2021-06-21 | 2021-09-28 | 北京达佳互联信息技术有限公司 | 一种长连接通信方法、系统、设备、存储介质及程序产品 |
CN113645294A (zh) * | 2021-08-06 | 2021-11-12 | 腾讯科技(深圳)有限公司 | 消息获取方法、装置、计算机设备和消息传输系统 |
CN113645294B (zh) * | 2021-08-06 | 2022-08-26 | 腾讯科技(深圳)有限公司 | 消息获取方法、装置、计算机设备和消息传输系统 |
CN114006938A (zh) * | 2021-09-24 | 2022-02-01 | 深圳市佳创视讯技术股份有限公司 | 分布式集群的消息路由下发方法、装置、设备及存储介质 |
CN113992460A (zh) * | 2021-10-22 | 2022-01-28 | 北京达佳互联信息技术有限公司 | 消息发送方法、装置、电子设备、存储介质 |
CN114143334B (zh) * | 2021-12-03 | 2024-04-09 | 爱信诺征信有限公司 | 一种终端控制方法及装置 |
CN114143334A (zh) * | 2021-12-03 | 2022-03-04 | 爱信诺征信有限公司 | 一种终端控制方法及装置 |
CN114268667B (zh) * | 2021-12-20 | 2024-05-07 | 中国平安财产保险股份有限公司 | 数据转发方法、装置、计算机设备及存储介质 |
CN114268667A (zh) * | 2021-12-20 | 2022-04-01 | 中国平安财产保险股份有限公司 | 数据转发方法、装置、计算机设备及存储介质 |
CN114286293A (zh) * | 2021-12-22 | 2022-04-05 | 广东悦伍纪网络技术有限公司 | 消息推送管理方法、装置、系统、计算机设备和存储介质 |
CN114286293B (zh) * | 2021-12-22 | 2023-03-14 | 广东悦伍纪网络技术有限公司 | 消息推送管理方法、装置、系统、计算机设备和存储介质 |
CN114401315B (zh) * | 2021-12-31 | 2023-09-12 | 广东国腾量子科技有限公司 | 一种基于动态决策模型的消息推送服务系统及方法 |
CN114401315A (zh) * | 2021-12-31 | 2022-04-26 | 广东国腾量子科技有限公司 | 一种基于动态决策模型的消息推送服务系统及方法 |
CN115225703B (zh) * | 2022-04-02 | 2023-12-22 | 广州汽车集团股份有限公司 | 消息通信方法、装置、交通工具以及存储介质 |
CN115225703A (zh) * | 2022-04-02 | 2022-10-21 | 广州汽车集团股份有限公司 | 消息通信方法、装置、交通工具以及存储介质 |
CN114760348A (zh) * | 2022-04-28 | 2022-07-15 | 青岛海尔科技有限公司 | 一种业务处理方法、装置、存储介质及电子装置 |
CN114760348B (zh) * | 2022-04-28 | 2024-06-25 | 青岛海尔科技有限公司 | 一种业务处理方法、装置、存储介质及电子装置 |
CN115834658A (zh) * | 2022-11-24 | 2023-03-21 | 明度智云(浙江)科技有限公司 | 一种消息通知方法、装置、电子设备及存储介质 |
CN115756875A (zh) * | 2023-01-06 | 2023-03-07 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 面向流式数据的机器学习模型在线服务部署方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110300050B (zh) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110300050A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN102546794B (zh) | 浏览器客户端与后端服务器直通的方法、网关和通信系统 | |
RU2498520C2 (ru) | Способ обеспечения одноранговой связи на веб-странице | |
EP3275162B1 (en) | Systems and techniques for web communication | |
CN102845123B (zh) | 虚拟私云的连接方法及隧道代理服务器 | |
CN102904959B (zh) | 网络加速方法和网关 | |
CN102469124B (zh) | 基于aog的移动互联网业务的实现方法、网关、代理及系统 | |
CN104702627B (zh) | 一种基于报文分类的同步并发通信方法及系统 | |
CN107222561A (zh) | 一种传输层反向代理方法 | |
CN104468852A (zh) | 客户端选择ip链接地址的方法、装置及系统 | |
US20150127837A1 (en) | Relay apparatus and data transfer method | |
WO2016011885A1 (zh) | 一种信息传输方法及装置 | |
CN102594886B (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
CN104243610A (zh) | 一种分布式文件传输服务方法 | |
US10225358B2 (en) | Page push method, device, server and system | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN105100158A (zh) | 消息推送、获取方法及装置 | |
CN109005250B (zh) | 用于访问服务端的方法和装置 | |
CN109120742B (zh) | 一种基于udp的配电网终端数据采集方法和装置 | |
CN111262779A (zh) | 即时通讯中数据的获取方法、装置、服务器及系统 | |
CN113422739B (zh) | 数据传输方法、发送端及数据传输系统 | |
US20230008728A1 (en) | Method and Network Node for Communication with a Non-IP Device | |
US20160149855A1 (en) | Service processing method, system, and relevant device | |
CN113079055A (zh) | 一种agv运行数据的动态采集方法和装置 | |
CN112492044B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |