信息推送方法及装置的制造方法

文档序号:9914506阅读:218来源:国知局
信息推送方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种信息推送方法及装置。
【背景技术】
[0002]目前,服务器实现向客户端推送信息,一般通过长连接的方式来实现,S卩服务器与客户端之间保持一个数据连接,该数据连接的保持使得服务器在有信息需要推送至客户端时,可以立即通过此数据连接实现。现有的服务器与客户端建立长连接,要求服务器必须装有用于网络服务的操作系统(如LinUX、UniX等),通过操作系统建立占用内存的会话记录来维护服务器与客户端的连接信息(例如基于TCP协议的会话信息),在服务器向目标客户端推送信息时,轮询所有建立的会话记录,但是,当服务器与成千上万个客户端保持长连接时,操作系统需要占用大量内存来支持会话记录,且在服务器向目标客户端推送信息时,需花费大量时间来轮询会话记录以获取目标客户端的地址信息,服务器难以保证向客户端及时推送信息。

【发明内容】

[0003]本发明的主要目的在于提供一种信息推送方法及装置,旨在解决服务器占用内存多、向客户端推送信息不及时的技术问题。
[0004]为实现上述目的,本发明实施例提供一种信息推送方法,所述信息推送方法包括:
[0005]当服务器接收到客户端发送的连接请求时,所述服务器建立与所述客户端之间的长连接;
[0006]服务器获取所述客户端的地址信息,并将获取的所述地址信息记录在预设数据库中并形成所述地址信息对应的索引;
[0007]当服务器侦测到信息推送指令时,在所述预设数据库的索引中查找并获取所述目标客户端对应的目标地址信息;
[0008]服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
[0009]优选地,所述地址信息包括IP地址、端口地址及/或MAC地址。
[0010]优选地,所述当服务器接收到客户端发送的连接请求时,所述服务器建立与所述客户端之间的长连接的步骤包括:
[0011]当服务器接收到客户端发送的连接请求时,所述服务器基于TCP/IP协议与所述客户端进行握手操作并建立连接;
[0012]在服务器接收到所述客户端定时发送的心跳消息时,所述服务器基于所述心跳消息向所述客户端反馈心跳响应,以保持与所述客户端之间的连接。
[0013]优选地,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息的步骤包括:
[0014]当服务器的网络负载大于等于预设负载阈值时,所述服务器将所述目标地址信息共享至外接的预设推送服务器,以供所述预设推送服务器向获取的目标地址信息对应的目标客户端推送预设推送信息;
[0015]当服务器的网络负载小于预设负载阈值时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
[0016]优选地,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息的步骤包括:
[0017]当预设推送信息的文件大小大于等于预设文件大小时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息的获取地址;
[0018]当预设推送信息的文件大小小于预设文件大小时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
[0019]此外,为实现上述目的,本发明还提供一种信息推送装置,所述信息推送装置包括:
[0020]连接模块,用于当包含所述连接模块的服务器接收到客户端发送的连接请求时,建立与所述客户端之间的长连接;
[0021]获取记录模块,用于获取所述客户端的地址信息,并将获取的所述地址信息记录在预设数据库中并形成所述地址信息对应的索引;
[0022]索引模块,用于在侦测到信息推送指令时,在所述预设数据库的索引中查找并获取所述目标客户端对应的目标地址信息;
[0023]推送模块,用于向获取的目标地址信息对应的目标客户端推送预设推送信息。
[0024]优选地,所述地址信息包括IP地址、端口地址及/或MAC地址。
[0025]优选地,所述连接模块包括:
[0026]建立连接单元,当包含所述连接模块的服务器接收到客户端发送的连接请求时,基于TCP/IP协议与所述客户端进行握手操作并建立连接;
[0027]心跳响应单元,用于在收到所述客户端定时发送的心跳消息时,基于所述心跳消息向所述客户端反馈心跳响应,以保持与所述客户端之间的连接。
[0028]优选地,所述推送模块包括:
[0029]间接推送单元,用于当服务器的网络负载大于等于预设负载阈值时,将所述目标地址信息共享至外接的预设推送服务器,以供所述预设推送服务器向获取的目标地址信息对应的目标客户端推送预设推送信息;
[0030]直接推送单元,用于当服务器的网络负载小于预设负载阈值时,所述服务器向获取的目标地址信息对应的目标客户端推送预设推送信息。
[0031 ] 优选地,所述推送模块包括:
[0032]地址推送单元,用于当预设推送信息的文件大小大于等于预设文件大小时,向获取的目标地址信息对应的目标客户端推送预设推送信息的获取地址;
[0033]信息推送单元,用于当预设推送信息的文件大小小于预设文件大小时,向获取的目标地址信息对应的目标客户端推送预设推送信息。
[0034]本发明通过在服务器接收到客户端发送的连接请求时,服务器建立与客户端之间的长连接,服务器获取客户端的地址信息,将该地址信息记录在预设数据库中并形成所述地址信息对应的索引,当侦测到信息推送指令时,在预设数据库的索引中查找并获取目标客户端对应的目标地址信息,然后服务器向获取的目标地址信息对应的目标客户端推送预设推送信息,从而服务器无需装有操作系统建立占用内存的会话记录来维护服务器与客户端的连接信息,从而避免服务器占用大量内存来保存该服务器与客户端连接的会话记录,保证了服务器运行的稳定性;同时,在服务器与成千上万个客户端保持长连接时,服务器无需轮询数以万计的会话记录来查找目标客户端的目标地址信息,仅需在预设数据库的索引中查找并获取目标客户端的目标地址信息,由于在数据库的索引中查找并获取客户端的地址信息远远快于在操作系统中轮寻会话记录获取客户端的地址信息的速度,因而大大提高了服务器查找获取客户端地址信息的速度。
【附图说明】
[0035]图1为本发明信息推送方法第一实施例的流程示意图;
[0036]图2为图1中当服务器接收到客户端发送的连接请求时,服务器建立与客户端之间的长连接的细化流程示意图;
[0037]图3为本发明信息推送方法第二实施例的流程示意图;
[0038]图4为本发明信息推送方法第三实施例的流程示意图;
[0039]图5为本发明信息推送装置第一实施例的功能模块示意图;
[0040]图6为图5中连接模块的细化功能模块示意图;
[0041]图7为本发明信息推送装置第二实施例的功能模块示意图;
[0042]图8为本发明信息推送装置第二实施例的功能模块示意图。
[0043]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0044]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0045]本发明提供一种信息推送方法,参照图1,在本发明信息推送方法第一实施例中,该信息推送方法包括:
[0046]步骤S10,当服务器接收到客户端发送的连接请求时,服务器建立与客户端之间的长连接;
[0047]服务器与客户端(此处客户端可以是智能手机、智能穿戴设备等终端设备)第一次连接时,客户端向服务器发起连接请求(此连接请求中可以包含该客户端的地址信息,地址信息包括IP地址、端口地址及/或MAC地址等),当服务器接收到客户端发送的连接请求时,服务器根据地址信息建立并保持与客
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1