CN105681385B - 信息推送方法及装置 - Google Patents
信息推送方法及装置 Download PDFInfo
- Publication number
- CN105681385B CN105681385B CN201510267980.6A CN201510267980A CN105681385B CN 105681385 B CN105681385 B CN 105681385B CN 201510267980 A CN201510267980 A CN 201510267980A CN 105681385 B CN105681385 B CN 105681385B
- Authority
- CN
- China
- Prior art keywords
- server
- information
- client
- default
- address information
- 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.)
- Active
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/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/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种信息推送方法,该方法包括:当服务器接收到客户端发送的连接请求时,服务器建立与客户端之间的长连接;服务器获取客户端的地址信息,将获取的地址信息记录在预设数据库中;当服务器侦测到信息推送指令时,在预设数据库的索引中查找并获取目标客户端对应的目标地址信息;服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。本发明还公开了一种信息推送装置。本发明避免服务器占用大量内存来保存该服务器与客户端连接的会话记录;同时,在服务器与成千上万个客户端保持长连接时,服务器仅需在预设数据库的索引中查找并获取目标客户端的目标地址信息,大大提高了服务器查找获取客户端地址信息的速度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种信息推送方法及装置。
背景技术
目前,服务器实现向客户端推送信息,一般通过长连接的方式来实现,即服务器与客户端之间保持一个数据连接,该数据连接的保持使得服务器在有信息需要推送至客户端时,可以立即通过此数据连接实现。现有的服务器与客户端建立长连接,要求服务器必须装有用于网络服务的操作***(如Linux、Unix等),通过操作***建立占用内存的会话记录来维护服务器与客户端的连接信息(例如基于TCP协议的会话信息),在服务器向目标客户端推送信息时,轮询所有建立的会话记录,但是,当服务器与成千上万个客户端保持长连接时,操作***需要占用大量内存来支持会话记录,且在服务器向目标客户端推送信息时,需花费大量时间来轮询会话记录以获取目标客户端的地址信息,服务器难以保证向客户端及时推送信息。
发明内容
本发明的主要目的在于提供一种信息推送方法及装置,旨在解决服务器占用内存多、向客户端推送信息不及时的技术问题。
为实现上述目的,本发明实施例提供一种信息推送方法,所述信息推送方法包括:
当服务器接收到客户端发送的连接请求时,所述服务器建立与所述客户端之间的长连接;
服务器获取所述客户端的地址信息,并将获取的所述地址信息记录在预设数据库中并形成所述地址信息对应的索引;
当服务器侦测到信息推送指令时,在所述预设数据库的索引中查找并获取目标客户端对应的目标地址信息;
服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
优选地,所述地址信息包括IP地址、端口地址及/或MAC地址。
优选地,所述当服务器接收到客户端发送的连接请求时,所述服务器建立与所述客户端之间的长连接的步骤包括:
当服务器接收到客户端发送的连接请求时,所述服务器基于TCP/IP协议与所述客户端进行握手操作并建立连接;
在服务器接收到所述客户端定时发送的心跳消息时,所述服务器基于所述心跳消息向所述客户端反馈心跳响应,以保持与所述客户端之间的连接。
优选地,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息的步骤包括:
当服务器的网络负载大于等于预设负载阈值时,所述服务器将所述目标地址信息共享至外接的预设推送服务器,以供所述预设推送服务器向获取的目标地址信息对应的目标客户端推送预设推送信息;
当服务器的网络负载小于预设负载阈值时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
优选地,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息的步骤包括:
当预设推送信息的文件大小大于等于预设文件大小时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息的获取地址;
当预设推送信息的文件大小小于预设文件大小时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
此外,为实现上述目的,本发明还提供一种信息推送装置,所述信息推送装置包括:
连接模块,用于当包含所述连接模块的服务器接收到客户端发送的连接请求时,建立与所述客户端之间的长连接;
获取记录模块,用于获取所述客户端的地址信息,并将获取的所述地址信息记录在预设数据库中并形成所述地址信息对应的索引;
索引模块,用于在侦测到信息推送指令时,在所述预设数据库的索引中查找并获取目标客户端对应的目标地址信息;
推送模块,用于向获取的目标地址信息对应的目标客户端推送预设推送信息。
优选地,所述地址信息包括IP地址、端口地址及/或MAC地址。
优选地,所述连接模块包括:
建立连接单元,当包含所述连接模块的服务器接收到客户端发送的连接请求时,基于TCP/IP协议与所述客户端进行握手操作并建立连接;
心跳响应单元,用于在收到所述客户端定时发送的心跳消息时,基于所述心跳消息向所述客户端反馈心跳响应,以保持与所述客户端之间的连接。
优选地,所述推送模块包括:
间接推送单元,用于当服务器的网络负载大于等于预设负载阈值时,将所述目标地址信息共享至外接的预设推送服务器,以供所述预设推送服务器向获取的目标地址信息对应的目标客户端推送预设推送信息;
直接推送单元,用于当服务器的网络负载小于预设负载阈值时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
优选地,所述推送模块包括:
地址推送单元,用于当预设推送信息的文件大小大于等于预设文件大小时,向获取的目标地址信息对应的目标客户端推送预设推送信息的获取地址;
信息推送单元,用于当预设推送信息的文件大小小于预设文件大小时,向获取的目标地址信息对应的目标客户端推送预设推送信息。
本发明通过在服务器接收到客户端发送的连接请求时,服务器建立与客户端之间的长连接,服务器获取客户端的地址信息,将该地址信息记录在预设数据库中并形成所述地址信息对应的索引,当侦测到信息推送指令时,在预设数据库的索引中查找并获取目标客户端对应的目标地址信息,然后服务器向获取的目标地址信息对应的目标客户端推送预设推送信息,从而服务器无需装有操作***建立占用内存的会话记录来维护服务器与客户端的连接信息,从而避免服务器占用大量内存来保存该服务器与客户端连接的会话记录,保证了服务器运行的稳定性;同时,在服务器与成千上万个客户端保持长连接时,服务器无需轮询数以万计的会话记录来查找目标客户端的目标地址信息,仅需在预设数据库的索引中查找并获取目标客户端的目标地址信息,由于在数据库的索引中查找并获取客户端的地址信息远远快于在操作***中轮寻会话记录获取客户端的地址信息的速度,因而大大提高了服务器查找获取客户端地址信息的速度。
附图说明
图1为本发明信息推送方法第一实施例的流程示意图;
图2为图1中当服务器接收到客户端发送的连接请求时,服务器建立与客户端之间的长连接的细化流程示意图;
图3为本发明信息推送方法第二实施例的流程示意图;
图4为本发明信息推送方法第三实施例的流程示意图;
图5为本发明信息推送装置第一实施例的功能模块示意图;
图6为图5中连接模块的细化功能模块示意图;
图7为本发明信息推送装置第二实施例的功能模块示意图;
图8为本发明信息推送装置第二实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种信息推送方法,参照图1,在本发明信息推送方法第一实施例中,该信息推送方法包括:
步骤S10,当服务器接收到客户端发送的连接请求时,服务器建立与客户端之间的长连接;
服务器与客户端(此处客户端可以是智能手机、智能穿戴设备等终端设备)第一次连接时,客户端向服务器发起连接请求(此连接请求中可以包含该客户端的地址信息,地址信息包括IP地址、端口地址及/或MAC地址等),当服务器接收到客户端发送的连接请求时,服务器根据地址信息建立并保持与客户端之间的长连接。
优选地,参照图2,步骤S10包括:
步骤S11,当服务器接收到客户端发送的连接请求时,服务器基于TCP/IP协议与客户端进行握手操作并建立连接;
当服务器接收到客户端发送的连接请求时,服务器基于TCP/IP协议与客户端进行三次握手,以建立服务器与客户端之间的连接,在服务器和客户端完成三次握手之后,服务器开始向客户端传输数据。
步骤S12,在服务器接收到客户端定时发送的心跳消息时,服务器基于心跳消息向客户端反馈心跳响应,以保持与客户端之间的连接。
服务器与客户端建立连接之后,为了防止网络防火墙断开长时间无信息交互的端口,客户端需要定时(即每间隔预设间隔时长)向服务器发送心跳消息(心跳消息(Heartbeat Message)是一种发送源发送到接收方的消息,这种消息可以让接收方确定发送源是否以及何时出现故障或终止),服务器在接收到客户发送的心跳消息时,回应客户端与心跳消息对应的心跳响应,以保持服务器与客户端之间的长连接。
步骤S20,服务器获取客户端的地址信息,并将获取的地址信息记录在预设数据库中并形成所述地址信息对应的索引;
服务器可在验证客户端的身份后,直接从客户端发送的连接请求中获取该客户端的地址信息,或者再次向客户端索取该客户端的地址信息(此处客户端可为多个,服务器保存多个客户端的地址信息),地址信息包括IP地址、端口地址和MAC地址,然后将获取的地址信息记录在预设数据库(例如SQL Server)中并形成地址信息对应的索引,该预设数据库可以安装在服务器中,也可以安装在服务器以外的设备中且与服务器保持网络连接,服务器可以从预设数据库中获取地址信息。
步骤S30,当服务器侦测到信息推送指令时,在预设数据库的索引中查找并获取目标客户端对应的目标地址信息;
当服务器检测到目标客户端触发或者服务器自行产生的信息推送指令时(即目标客户端向服务器请求推送预设推送信息时,服务器触发产生信息推送指令),无需如现有技术中,在服务器的操作***中轮寻成千上万个用于维护TCP连接的会话记录以获得客户端的地址信息,只需从预设数据库的索引中查找并获取目标客户端对应的目标地址信息,由于在数据库索引中查找客户端的地址信息的速度远远大于在服务器的操作***中轮寻会话记录查找客户端的地址信息,大大提高了查找并获取目标地址信息的速度,其中预设数据库的索引中可以保存客户端地址信息的关键字,也可以保存客户端地址信息的标识编码,无论是关键字还是标识编码,只要与客户端的地址信息对应即可。。
步骤S40,服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
服务器根据目标地址信息获取客户端的IP地址、端口地址和MAC地址,根据IP地址、端口地址及/或MAC地址填充IP数据包信息、TCP数据包信息和MAC数据包信息,以形成带有目标地址信息的数据报,再将预设推送信息打包至该数据报中,然后服务器就将该数据报投放至网络中,最终该数据报传输至目标客户端。
在本实施例中,通过在服务器接收到客户端发送的连接请求时,服务器建立与客户端之间的长连接,服务器获取客户端的地址信息,并将该地址信息记录在预设数据库中,当服务器检测到目标客户端触发的推送指令时,在预设数据库的索引中查找并获取目标客户端对应的目标地址信息,然后服务器向获取的目标地址信息对应的目标客户端推送预设推送信息,从而服务器无需装有操作***建立占用内存的会话记录来维护服务器与客户端的连接信息,从而避免服务器占用大量内存来保存该服务器与客户端连接的会话记录,保证了服务器运行的稳定性;同时,在服务器与成千上万个客户端保持长连接时,服务器无需轮询数以万计的会话记录来查找目标客户端的目标地址信息,仅需在预设数据库的索引中查找并获取目标客户端的目标地址信息,由于在数据库的索引中查找并获取客户端的地址信息远远快于在操作***中轮寻会话记录获取客户端的地址信息的速度,因而大大提高了服务器查找获取客户端地址信息的速度。此外,服务器无需安装服务器级的操作***也能实现向客户端推送信息,降低了对服务器硬件配置的要求和服务器维护的技术难度(服务器级的操作***,如Linux,维护的技术要求很高)。
进一步地,参照图3,本发明还提供一种基于第一实施例提出本发明信息推送方法第二实施例,步骤S40包括:
步骤S41,当服务器的网络负载大于等于预设负载阈值时,服务器将目标地址信息共享至外接的预设推送服务器,以供所述预设推送服务器向获取的目标地址信息对应的目标客户端推送预设推送信息;
在服务器的网络负载(网络负载是指与服务器连接的链路的网络拥塞程度)大于等于负载阈值时,即在服务器很难及时向目标地址信息对应的目标客户端推送预设推送信息时,服务器A仅保持与客户端C的连接,且服务器A将目标地址信息(客户端C的地址信息)共享至外接的预设推送服务器B,以供预设推送服务器B实现向客户端C推送预设推送信息,实现网络负载均衡。
步骤S42,当服务器的网络负载小于预设负载阈值时,服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
在服务器的网络负载小于负载阈值时,即在服务器可以及时向目标地址信息对应的目标客户端推送预设推送信息时,服务器A可直接将预设推送信息推送至目标客户端C,无需通过预设推送服务器B向客户端C推送预设推送信息。
在本实施例中,在服务器向目标客户端推送预设推送信息前,先对服务器的网络负载进行检测,在服务器的网络负载大于等于负载阈值时,服务器仅保持与客户端的连接,提示预设推送服务器实现向目标客户端推送预设推送信息;在服务器的网络负载小于负载阈值时,服务器直接将预设推送信息推送至目标客户端,从而实现服务器的网络负载均衡。
进一步地,参照图4,本发明还提供一种基于第一实施例提出本发明信息推送方法第三实施例,步骤S40包括:
步骤S43,当预设推送信息的文件大小大于等于预设文件大小时,服务器向获取的目标地址信息对应的目标客户端推送预设推送信息的获取地址;
在服务器A向目标地址信息对应的目标客户端推送预设推送信息之前,先检测预设推送信息的文件大小,当预设推送信息的文件大小大于等于预设文件大小时,即预设推送文件可能为视频、音频等大信息时,不方便直接推送源文件,则服务器A向目标地址信息对应的目标客户端C推送预设推送信息的获取地址,该获取地址可以为下载网站地址、邮箱地址、IP地址和端口地址等。
步骤S44,当预设推送信息的文件大小小于预设文件大小时,服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
当预设推送信息的文件大小小于预设文件大小时,即预设推送文件可能为指令、消息等小信息时,服务器A直接向目标地址信息对应的客户端C推送预设推送信息。
在本实施例中,在服务器向目标地址信息对应的目标客户端推送预设推送信息之前,先检测预设推送信息的文件大小,在预设推送信息的文件大小大于等于预设文件大小时,服务器将预设推送文件的获取地址推送至对应客户端;在预设推送信息的文件大小小于预设文件大小时,服务器将预设推送文件推送至对应客户端,从而进一步优化了服务器的网络负载均衡。
此外,本发明信息推送方法第三实施例可以与第二实施例相结合,即步骤S41包括:
步骤S411,当服务器的网络负载大于等于预设负载阈值时,服务器将目标地址信息共享至外接的预设推送服务器;
步骤S412,当预设推送信息的文件大小大于等于预设文件大小时,服务器提示预设推送服务器向目标地址信息对应的目标客户端推送预设推送信息的获取地址;
步骤S413,当预设推送信息的文件大小小于预设文件大小时,服务器提示控制预设推送服务器向目标地址信息对应的客户端推送预设推送信息。
步骤S42包括:
步骤S421,当服务器的网络负载小于预设负载阈值时,判断预设推送信息是否大于等于预设文件大小;
步骤S422,当预设推送信息的文件大小大于等于预设文件大小时,服务器向目标地址信息对应的目标客户端推送预设推送信息的获取地址;
步骤S423,当预设推送信息的文件大小小于预设文件大小时,服务器向目标地址信息对应的目标客户端推送预设推送信息。
当然,在步骤S40中,也可先将预设推送信息的文件大小与预设文件大小进行比较,根据与预设文件大小的比较结果确定推送内容是预设推送信息的获取地址还是预设推送信息本身;然后再将服务器的网络负载与预设负载阈值进行比较,根据与预设负载阈值的比较结果来确定服务器直接推送还是预设推送服务器间接推送。
本发明还提供一种信息推送装置,参照图5,在本发明信息推送装置第一实施例中,该信息推送装置包括:
连接模块10,用于当包含连接模块的服务器接收到客户端发送的连接请求时,建立与客户端之间的长连接;
服务器与客户端(此处客户端可以是智能手机、智能穿戴设备等终端设备)第一次连接时,客户端向服务器发起连接请求(此连接请求中可以包含该客户端的地址信息,地址信息包括IP地址、端口地址及/或MAC地址等),当服务器接收到客户端发送的连接请求时,连接模块10根据地址信息建立并保持与客户端之间的长连接。
优选地,参照图6,连接模块10包括:
建立连接单元11,当包含连接模块的服务器接收到客户端发送的连接请求时,基于TCP/IP协议与客户端进行握手操作并建立连接;
当服务器接收到客户端发送的连接请求时,建立连接单元11基于TCP/IP协议与客户端进行三次握手,以建立服务器与客户端之间的连接,在服务器和客户端完成三次握手之后,服务器开始向客户端传输数据。
心跳响应单元12,用于在收到客户端定时发送的心跳消息时,基于心跳消息向客户端反馈心跳响应,以保持与客户端之间的连接。
服务器与客户端建立长连接之后,为了防止网络防火墙断开长时间无信息交互的端口,客户端需要定时(即每间隔预设间隔时长)向服务器发送心跳消息(心跳消息(Heartbeat Message)是一种发送源发送到接收方的消息,这种消息可以让接收方确定发送源是否以及何时出现故障或终止),心跳响应单元12在接收到客户发送的心跳消息时,回应客户端与心跳消息对应的心跳响应,以保持服务器与客户端之间的长连接。
获取记录模块20,用于获取客户端的地址信息,并将获取的地址信息记录在预设数据库中并形成所述地址信息对应的索引;
获取记录模块20可在验证客户端的身份后,直接从客户端发送的连接请求中获取该客户端的地址信息,或者再次向客户端索取该客户端的地址信息(此处客户端可为多个,服务器保存多个客户端的地址信息),地址信息包括IP地址、端口地址和MAC地址,然后将获取的地址信息记录在预设数据库(例如SQL Server)中并形成所述地址信息对应的索引,该预设数据库可以安装在服务器中,也可以安装在服务器以外的设备中且与服务器保持网络连接,服务器可以从预设数据库中获取地址信息。
索引模块30,用于在侦测到信息推送指令时,在预设数据库的索引中查找并获取目标客户端对应的目标地址信息;
当索引模块30检测到目标客户端触发或者服务器自行产生的信息推送指令时(即目标客户端向服务器请求推送预设推送信息时,服务器触发产生信息推送指令),无需如现有技术中,在服务器的操作***中轮寻成千上万个用于维护TCP连接的会话记录以获得客户端的地址信息,只需从预设数据库的索引中查找并获取目标客户端对应的目标地址信息,由于在数据库的索引中查找客户端的地址信息的速度远远大于在服务器的操作***中轮寻会话记录查找客户端的地址信息,大大提高了查找并获取目标地址信息的速度,其中预设数据库的索引中可以保存客户端地址信息的关键字,也可以保存客户端地址信息的标识编码,无论是关键字还是标识编码,只要与客户端的地址信息对应即可。
推送模块40,用于向获取的目标地址信息对应的目标客户端推送预设推送信息。
推送模块40根据目标地址信息获取客户端的IP地址、端口地址和MAC地址,根据IP地址、端口地址及/或MAC地址填充IP数据包信息、TCP数据包信息和MAC数据包信息,以形成带有目标地址信息的数据报,再将预设推送信息打包至该数据报中,然后服务器就将该数据报投放至网络中,最终该数据报传输至目标客户端。
在本实施例中,通过在服务器接收到客户端发送的连接请求时,连接模块10建立与客户端之间的长连接,获取记录模块20获取客户端的地址信息,并将该地址信息记录在预设数据库中,当服务器检测到目标客户端触发的推送指令时,索引模块30在预设数据库的索引中查找并获取目标客户端对应的目标地址信息,然后推送模块40向获取的目标地址信息对应的目标客户端推送预设推送信息,从而服务器无需装有操作***建立占用内存的会话记录来维护服务器与客户端的连接信息,从而避免服务器占用大量内存来保存该服务器与客户端连接的会话记录,保证了服务器运行的稳定性;同时,在服务器与成千上万个客户端保持长连接时,服务器无需轮询数以万计的会话记录来查找目标客户端的目标地址信息,仅需在预设数据库的索引中查找并获取目标客户端的目标地址信息,由于在数据库的索引中查找并获取客户端的地址信息远远快于在操作***中轮寻会话记录获取客户端的地址信息的速度,因而大大提高了服务器查找获取客户端地址信息的速度。此外,服务器无需安装服务器级的操作***也能实现向客户端推送信息,降低了对服务器硬件配置的要求和服务器维护的技术难度(服务器级的操作***,如Linux,维护的技术要求很高)。
进一步地,参照图7,本发明还提供一种基于第一实施例提出本发明信息推送装置第二实施例,推送模块40包括:
间接推送单元41,用于当服务器的网络负载大于等于预设负载阈值时,将目标地址信息共享至外接的预设推送服务器,以供所述预设推送服务器向获取的目标地址信息对应的目标客户端推送预设推送信息;
在服务器的网络负载(网络负载是指与服务器连接的链路的网络拥塞程度)大于等于负载阈值时,即在服务器很难及时向目标地址信息对应的客户端推送预设推送信息时,服务器A仅保持与客户端C的连接,且间接推送单元41将目标地址信息(客户端C的目标地址信息)共享至外接的预设推送服务器B,以供预设推送服务器B实现向客户端C推送预设推送信息,实现网络负载均衡。
直接推送单元42,用于当服务器的网络负载小于预设负载阈值时,向获取的目标地址信息对应的目标客户端推送预设推送信息。
在服务器的网络负载小于负载阈值时,即在服务器可以及时向目标地址信息对应的目标客户端推送预设推送信息时,直接推送单元42可直接将预设推送信息推送至目标客户端C,无需通过预设推送服务器向客户端C推送预设推送信息。
在本实施例中,在服务器向目标客户端推送预设推送信息前,先对服务器的网络负载进行检测,在服务器的网络负载大于等于负载阈值时,间接推送单元41仅保持与客户端的连接,且间接推送单元41提示预设推送服务器实现向目标客户端推送预设推送信息;在服务器的网络负载小于负载阈值时,直接推送单元42直接将预设推送信息推送至目标客户端,从而实现服务器的网络负载均衡。
进一步地,参照图8,本发明还提供一种基于第一实施例提出本发明信息推送装置第三实施例,推送模块40包括:
地址推送单元43,用于当预设推送信息的文件大小大于等于预设文件大小时,向获取的目标地址信息对应的目标客户端推送预设推送信息的获取地址;
在推送模块40向目标地址信息对应的目标客户端推送预设推送信息之前,先检测预设推送信息的文件大小,当预设推送信息的文件大小大于等于预设文件大小时,即预设推送文件可能为视频、音频等大信息时,不方便直接推送源文件,则地址推送单元43向目标地址信息对应的目标客户端C推送预设推送信息的获取地址,该获取地址可以为下载网站地址、邮箱地址、IP地址和端口地址等。
信息推送单元44,用于当预设推送信息的文件大小小于预设文件大小时,向获取的目标地址信息对应的目标客户端推送预设推送信息。
当预设推送信息的文件大小小于预设文件大小时,即预设推送文件可能为指令、消息等小信息时,信息推送单元44直接向目标地址信息对应的客户端C推送预设推送信息。
在本实施例中,在服务器向目标地址信息对应的目标客户端推送预设推送信息之前,先检测预设推送信息的文件大小,在预设推送信息的文件大小大于等于预设文件大小时,地址推送单元43将预设推送文件的获取地址推送至对应客户端;在预设推送信息的文件大小小于预设文件大小时,信息推送单元44将预设推送文件推送至对应客户端,从而进一步优化了服务器的网络负载均衡。
此外,本发明信息推送装置第三实施例可以与第二实施例相结合,即间接推送单元41用于:
当服务器的网络负载大于等于预设负载阈值时,将目标地址信息共享至外接的预设推送服务器;
当预设推送信息的文件大小大于等于预设文件大小时,提示预设推送服务器向目标地址信息对应的目标客户端推送预设推送信息的获取地址;
当预设推送信息的文件大小小于预设文件大小时,提示控制预设推送服务器向目标地址信息对应的客户端推送预设推送信息。
直接推送单元42用于:
当服务器的网络负载小于预设负载阈值时,判断预设推送信息是否大于等于预设文件大小;
当预设推送信息的文件大小大于等于预设文件大小时,向目标地址信息对应的目标客户端推送预设推送信息的获取地址;
当预设推送信息的文件大小小于预设文件大小时,向目标地址信息对应的目标客户端推送预设推送信息。
当然,推送模块40也可先将预设推送信息的文件大小与预设文件大小进行比较,根据与预设文件大小的比较结果确定推送内容是预设推送信息的获取地址还是预设推送信息本身;然后再将服务器的网络负载与预设负载阈值进行比较,根据与预设负载阈值的比较结果来确定服务器直接推送还是预设推送服务器间接推送。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种信息推送方法,其特征在于,所述信息推送方法包括:
当服务器接收到客户端发送的连接请求时,所述服务器建立与所述客户端之间的长连接;
服务器获取所述客户端的地址信息,并将获取的所述地址信息记录在预设数据库中并形成所述地址信息对应的索引;
当服务器侦测到信息推送指令时,在所述预设数据库的索引中查找并获取目标客户端对应的目标地址信息;
服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
2.如权利要求1所述的信息推送方法,其特征在于,所述地址信息包括IP地址、端口地址及/或MAC地址。
3.如权利要求1所述的信息推送方法,其特征在于,所述当服务器接收到客户端发送的连接请求时,所述服务器建立与所述客户端之间的长连接的步骤包括:
当服务器接收到客户端发送的连接请求时,所述服务器基于TCP/IP协议与所述客户端进行握手操作并建立连接;
在服务器接收到所述客户端定时发送的心跳消息时,所述服务器基于所述心跳消息向所述客户端反馈心跳响应,以保持与所述客户端之间的连接。
4.如权利要求1所述的信息推送方法,其特征在于,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息的步骤包括:
当服务器的网络负载大于等于预设负载阈值时,所述服务器将所述目标地址信息共享至预设推送服务器,以供所述预设推送服务器向获取的目标地址信息对应的目标客户端推送预设推送信息;
当服务器的网络负载小于预设负载阈值时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
5.如权利要求1所述的信息推送方法,其特征在于,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息的步骤包括:
当预设推送信息的文件大小大于等于预设文件大小时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息的获取地址;
当预设推送信息的文件大小小于预设文件大小时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
6.一种信息推送装置,其特征在于,所述信息推送装置包括:
连接模块,用于当包含所述连接模块的服务器接收到客户端发送的连接请求时,建立与所述客户端之间的长连接;
获取记录模块,用于获取所述客户端的地址信息,并将获取的所述地址信息记录在预设数据库中并形成所述地址信息对应的索引;
索引模块,用于在侦测到信息推送指令时,在所述预设数据库的索引中查找并获取目标客户端对应的目标地址信息;
推送模块,用于向获取的目标地址信息对应的目标客户端推送预设推送信息。
7.如权利要求6所述的信息推送装置,其特征在于,所述地址信息包括IP地址、端口地址及/或MAC地址。
8.如权利要求6所述的信息推送装置,其特征在于,所述连接模块包括:
建立连接单元,当包含所述连接模块的服务器接收到客户端发送的连接请求时,基于TCP/IP协议与所述客户端进行握手操作并建立连接;
心跳响应单元,用于在收到所述客户端定时发送的心跳消息时,基于所述心跳消息向所述客户端反馈心跳响应,以保持与所述客户端之间的连接。
9.如权利要求6所述的信息推送装置,其特征在于,所述推送模块包括:
间接推送单元,用于当服务器的网络负载大于等于预设负载阈值时,将所述目标地址信息共享至外接的预设推送服务器,以供所述预设推送服务器向获取的目标地址信息对应的目标客户端推送预设推送信息;
直接推送单元,用于当服务器的网络负载小于预设负载阈值时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
10.如权利要求6所述的信息推送装置,其特征在于,所述推送模块包括:
地址推送单元,用于当预设推送信息的文件大小大于等于预设文件大小时,向获取的目标地址信息对应的目标客户端推送预设推送信息的获取地址;
信息推送单元,用于当预设推送信息的文件大小小于预设文件大小时,向获取的目标地址信息对应的目标客户端推送预设推送信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510267980.6A CN105681385B (zh) | 2015-05-22 | 2015-05-22 | 信息推送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510267980.6A CN105681385B (zh) | 2015-05-22 | 2015-05-22 | 信息推送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105681385A CN105681385A (zh) | 2016-06-15 |
CN105681385B true CN105681385B (zh) | 2019-01-01 |
Family
ID=56946823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510267980.6A Active CN105681385B (zh) | 2015-05-22 | 2015-05-22 | 信息推送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681385B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107317850A (zh) * | 2017-06-19 | 2017-11-03 | 南京农业大学 | 消息推送服务器的改进方法 |
CN109525620B (zh) * | 2017-09-20 | 2021-11-16 | 中移(杭州)信息技术有限公司 | 一种消息推送***、方法及装置 |
CN109547511B (zh) * | 2017-09-22 | 2022-02-22 | ***通信集团浙江有限公司 | 一种web消息实时推送方法、服务器、客户端及*** |
CN108959476A (zh) * | 2018-06-20 | 2018-12-07 | 何中 | 客户端角标、数据实时更新的方法 |
CN109088799B (zh) * | 2018-09-28 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种客户端接入方法、装置、终端以及存储介质 |
CN110290555B (zh) * | 2019-07-23 | 2022-08-12 | 许昌学院 | 一种无线移动网络中基于标签追踪的资源共享方法 |
CN112115339A (zh) * | 2020-09-21 | 2020-12-22 | 佛山市霖罕崞信息科技有限公司 | 一种基于终端显示装置的实时显示商品信息的方法及装置 |
CN113726731A (zh) * | 2021-07-15 | 2021-11-30 | 浪潮软件股份有限公司 | 基于tcp实现终端app与服务器实时通讯的方法与*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780927A (zh) * | 2013-05-02 | 2014-05-07 | 乐视网信息技术(北京)股份有限公司 | 一种视频推送的方法及*** |
US20140148205A1 (en) * | 2012-11-27 | 2014-05-29 | Alcatel-Lucent Canada Inc. | Push service without persistent tcp connection in a mobile network |
CN103944979A (zh) * | 2014-04-09 | 2014-07-23 | Tcl集团股份有限公司 | 一种消息推送方法、装置及*** |
CN104052897A (zh) * | 2013-03-15 | 2014-09-17 | 兄弟工业株式会社 | 中继装置、图像处理装置和通信*** |
-
2015
- 2015-05-22 CN CN201510267980.6A patent/CN105681385B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140148205A1 (en) * | 2012-11-27 | 2014-05-29 | Alcatel-Lucent Canada Inc. | Push service without persistent tcp connection in a mobile network |
CN104052897A (zh) * | 2013-03-15 | 2014-09-17 | 兄弟工业株式会社 | 中继装置、图像处理装置和通信*** |
CN103780927A (zh) * | 2013-05-02 | 2014-05-07 | 乐视网信息技术(北京)股份有限公司 | 一种视频推送的方法及*** |
CN103944979A (zh) * | 2014-04-09 | 2014-07-23 | Tcl集团股份有限公司 | 一种消息推送方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN105681385A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105681385B (zh) | 信息推送方法及装置 | |
CN105610836B (zh) | 一种数据传输的方法及*** | |
US9137313B2 (en) | Data transmission system and method using relay server | |
US8976938B2 (en) | Deluxe emergency notification | |
CN104144098B (zh) | 消息推送方法、***及推送服务器设备 | |
US9002334B2 (en) | Systems and methods for delivering multimedia information to mobile devices | |
CN105515847A (zh) | 终端故障处理方法、装置及*** | |
EP1782608A1 (fr) | Procede et systeme de localisation d'utilisateurs pour les services bases sur les protocoles sip ou h.323 avec attribution d'adresse ip dynamique. | |
EP1435721A3 (en) | Automatic and dynamic service information delivery to data terminals in an access network | |
US9801049B2 (en) | Method and system for continuously forwarding monitored information of machine-to-machine devices by a subscriber's registered terminals to a designated user terminal | |
CN105119877A (zh) | 语音验证方法、装置以及*** | |
WO2012155994A1 (en) | Anonymous signalling | |
CN105933393A (zh) | 一种局域网内数据同步方法及其装置、用户终端 | |
CN105099858A (zh) | 网络即时通信会话方法和*** | |
CN104053132B (zh) | 一种信息号码识别的方法及装置 | |
CN112492109A (zh) | 一种通信方法、装置和*** | |
US20180242180A1 (en) | Identifying volte to different technology types | |
CN106534046A (zh) | 一种拟态数据传输服务器及数据传输方法 | |
JP2021513231A (ja) | ネットワークのリダイレクト方法、端末、アクセスネットワークデバイス及び移動管理デバイス | |
CN110781034B (zh) | 分布式监管方法和*** | |
CN108768969B (zh) | 一种网络穿透*** | |
KR100900695B1 (ko) | 감청 방법 및 감청 시스템 | |
EP2922338A1 (en) | Method and apparatus for providing content according to type of communication network | |
CN104994116A (zh) | 多屏统一通信的方法、装置和*** | |
CN115052003B (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 |