消息处理方法、装置与系统制造方法及图纸

技术编号:28383575 阅读:14 留言:0更新日期:2021-05-08 00:12
本发明专利技术提供一种消息处理方法、装置与系统,涉及通信技术领域,用于提高查找执行消息推送任务的WebSocket服务器的速度,其中,该方法包括:代理服务器接收用于请求向第一客户端推送消息的消息推送请求,然后向服务器集群广播携带有消息推送请求的广播消息;服务器集群中的WebSocket服务器在根据广播消息中携带的消息推送请求确定存储有第一客户端的连接信息时,向第一客户端推送消息推送请求对应的WebSocket消息。本发明专利技术提供的技术方案用于处理WebSocket消息。

【技术实现步骤摘要】
消息处理方法、装置与系统
本专利技术涉及通信
,尤其涉及一种消息处理方法、装置与系统。
技术介绍
随着互联网的发展,传统的超文本传输协议(HyperTextTransferProtocol,HTTP)已经很难满足网页(Web)应用日益复杂的需求。近年来,随着超文本标记语言(HyperTextMarkupLanguage,HTML)5.0的诞生,网页端口(WebSocket)协议被提出,它可以实现浏览器与服务器的全双工通信,扩展浏览器与服务端的通信功能,使服务端也能主动向客户端推送数据,因而被越来越广泛的应用到各领域中。由于单台WebSocket服务器的承载能力有限,当客户端数量庞大时,单台WebSocket服务器将很难支撑推送任务。因此为了服务更多的客户,越来越多的消息推送系统通过部署服务器集群的方式来扩展系统的推送能力,其中,服务器集群由多台WebSocket服务器组成,客户端与服务器集群之间可以通过代理服务器进行消息传递。目前的消息推送系统在实现消息推送时,一般是通过共享存储系统存储客户端与服务器之间的连接关系,当有消息推送任务时,通过查询共享存储系统中存储的连接关系,找到执行消息推送任务的WebSocket服务器,然后通知该服务器推送消息。然而,上述这种通过共享存储系统查找执行消息推送任务的WebSocket服务器的方式,查找速度较慢。
技术实现思路
有鉴于此,本专利技术提供一种消息处理方法、装置与系统,用于提高查找执行消息推送任务的WebSocket服务器的速度。r>为了实现上述目的,第一方面,本专利技术实施例提供一种消息处理方法,应用于代理服务器,包括:接收用于请求向第一客户端推送消息的消息推送请求;向服务器集群广播携带有所述消息推送请求的广播消息,所述广播消息用于指示所述服务器集群中的网页端口WebSocket服务器在根据所述广播消息中携带的消息推送请求确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息。作为本专利技术实施例一种可选的实施方式,所述向服务器集群广播携带有所述消息推送请求的广播消息,包括:指示执行服务器通知消息中间件向服务器集群广播携带有所述消息推送请求的广播消息。作为本专利技术实施例一种可选的实施方式,所述消息中间件为Redis信息发布端。作为本专利技术实施例一种可选的实施方式,所述方法还包括:当接收到第二客户端发起的连接请求时,从注册中心中获取服务器列表,其中,所述注册中心中包括所述服务器集群中处于在线状态的WebSocket服务器的注册信息,所述服务器列表是根据所述注册信息形成的;根据所述服务器列表确定目标服务器;将所述连接请求转发给目标服务器,以指示目标服务器根据所述连接请求与所述第二客户端建立连接。作为本专利技术实施例一种可选的实施方式,所述注册中心为Eureka注册中心。作为本专利技术实施例一种可选的实施方式,所述WebSocket服务器为Node.js服务器。第二方面,本专利技术实施例提供一种消息处理方法,应用于服务器集群中的网页端口WebSocket服务器,包括:接收广播消息,所述广播消息中携带有用于请求向第一客户端推送消息的消息推送请求;当根据所述消息推送请求确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息。作为本专利技术实施例一种可选的实施方式,所述消息推送请求中携带有所述第一客户端的身份信息,所述当根据所述消息推送请求确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息,包括:当根据所述第一客户端的身份信息确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息。作为本专利技术实施例一种可选的实施方式,所述接收广播消息包括:接收消息中间件广播的广播消息。作为本专利技术实施例一种可选的实施方式,所述方法还包括:在启动时向注册中心进行注册。作为本专利技术实施例一种可选的实施方式,所述方法还包括:接收代理服务器转发的连接请求,所述连接请求是第二客户端发起的;根据所述连接请求与所述第二客户端建立连接,并存储所述第二客户端的连接信息。作为本专利技术实施例一种可选的实施方式,所述方法还包括:当与所述第二客户端之间的连接断开时,删除所述第二客户端的连接信息。作为本专利技术实施例一种可选的实施方式,所述WebSocket服务器为Node.js服务器。第三方面,本专利技术实施例提供一种消息处理装置,应用于代理服务器,包括:接收模块,用于接收用于请求向第一客户端推送消息的消息推送请求;处理模块,用于向服务器集群广播携带有所述消息推送请求的广播消息,所述广播消息用于指示所述服务器集群中的网页端口WebSocket服务器在根据所述广播消息中携带的消息推送请求确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息。作为本专利技术实施例一种可选的实施方式,所述处理模块具体用于:指示执行服务器通知消息中间件向服务器集群广播携带有所述消息推送请求的广播消息。作为本专利技术实施例一种可选的实施方式,所述消息中间件为Redis信息发布端。作为本专利技术实施例一种可选的实施方式,所述装置还包括:获取模块,用于当接收模块接收到第二客户端发起的连接请求时,从注册中心中获取服务器列表,其中,所述注册中心中包括所述服务器集群中处于在线状态的WebSocket服务器的注册信息,所述服务器列表是根据所述注册信息形成的;确定模块,用于根据所述服务器列表确定目标服务器;发送模块,用于将所述连接请求转发给目标服务器,以指示目标服务器根据所述连接请求与所述第二客户端建立连接。作为本专利技术实施例一种可选的实施方式,所述注册中心为Eureka注册中心。作为本专利技术实施例一种可选的实施方式,所述WebSocket服务器为Node.js服务器。第四方面,本专利技术实施例提供一种消息处理装置,应用于服务器集群中的网页端口WebSocket服务器,包括:接收模块,用于接收广播消息,所述广播消息中携带有用于请求向第一客户端推送消息的消息推送请求;推送模块,用于当根据所述消息推送请求确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息。作为本专利技术实施例一种可选的实施方式,所述消息推送请求中携带有所述第一客户端的身份信息,所述推送模块具体用于:当根据所述第一客户端的身份信息确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息。作为本专利技术实施例一种可选的实施方式,所述接收模块具体用于:接收消息中间件广播的广播消息。...

【技术保护点】
1.一种消息处理方法,应用于代理服务器,其特征在于,包括:/n接收用于请求向第一客户端推送消息的消息推送请求;/n向服务器集群广播携带有所述消息推送请求的广播消息,所述广播消息用于指示所述服务器集群中的网页端口WebSocket服务器在根据所述广播消息中携带的消息推送请求确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息。/n

【技术特征摘要】
1.一种消息处理方法,应用于代理服务器,其特征在于,包括:
接收用于请求向第一客户端推送消息的消息推送请求;
向服务器集群广播携带有所述消息推送请求的广播消息,所述广播消息用于指示所述服务器集群中的网页端口WebSocket服务器在根据所述广播消息中携带的消息推送请求确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息。


2.根据权利要求1所述的方法,其特征在于,所述向服务器集群广播携带有所述消息推送请求的广播消息,包括:
指示执行服务器通知消息中间件向服务器集群广播携带有所述消息推送请求的广播消息。


3.根据权利要求2所述的方法,其特征在于,所述消息中间件为Redis信息发布端。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到第二客户端发起的连接请求时,从注册中心中获取服务器列表,其中,所述注册中心中包括所述服务器集群中处于在线状态的WebSocket服务器的注册信息,所述服务器列表是根据所述注册信息形成的;
根据所述服务器列表确定目标服务器;
将所述连接请求转发给目标服务器,以指示目标服务器根据所述连接请求与所述第二客户端建立连接。


5.根据权利要求4所述的方法,其特征在于,所述注册中心为Eureka注册中心。


6.根据权利要求1-5任一项所述的方法,其特征在于,所述WebSocket服务器为Node.js服务器。


7.一种消息处理方法,应用于服务器集群中的网页端口WebSocket服务器,其特征在于,包括:
接收广播消息,所述广播消息中携带有用于请求向第一客户端推送消息的消息推送请求;
当根据所述消息推送请求确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息。


8.根据权利要求7所述的方法,其特征在于,所述消息推送请求中携带有所述第一客户端的身份信息,所述当根据所述消息推送请求确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息,包括:
当根据所述第一客户端的身份信息确定存储有所述第一客户端的连接信息时,向所述第一客户端推送所述消息推送请求对应的WebSocket消息。


9.根据权利要求7所述的方法,其特征在于,所述接收广播消息包括:
接收消息中间件广播的广播消息。


10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在启动时向注册中心进行注册。


11.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收代理服务器转发的连接请求,所...

【专利技术属性】
技术研发人员:李宁
申请(专利权)人:北京车和家信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1