The application embodiment discloses a main standby switching method, device and system of a message server. One specific embodiment of the method includes: receiving a heartbeat message sent by the primary message server and the standby message server; determining the current state of the primary message server based on the heartbeat message in response to receiving a current message interaction request sent externally; and, if the current state of the primary message server is unavailable, determining the current state of the primary message server based on the heartbeat message; and The heartbeat message identifies the target standby message server from the standby message server and forwards the currently determined target standby message server as the current master message server to the current master message server. The implementation can effectively reduce the risk of server response interruption or timeout when the client requests the server.
【技术实现步骤摘要】
消息服务器的主备切换方法、装置和消息服务系统
本申请实施例涉及通信
,具体涉及消息传输领域,尤其涉及消息服务器的主备切换方法、装置和消息服务系统。
技术介绍
在很多需要进行多端通信交互的系统中,服务端通常都会扮演着任务执行者的角色。服务端接收客户端的数据处理请求,并且向客户端反馈数据处理的结果。在自动驾驶汽车这一系统中,各终端在运行过程中将会产生大量的运行时数据,这些数据例如包括:车辆驾驶状态信息、周边环境采集信息及各算法模块(例如,预处理、感知、定位、地图等)输入输出I/O信息。在车辆运行的过程中,这些数据被都会被统一数据接入平台采集,再发布给外部各个监控中心或存入数据库。数据平台作为自动驾驶系统的统一接入入口,时刻处理着大量的数据和高频的请求。目前数据平台中的消息服务器使用的是简单逻辑实现,没有相关的风险规避和错误处理。
技术实现思路
本申请实施例提出了消息服务器的主备切换方法、装置和消息服务系统。第一方面,本申请实施例提供了一种消息服务器的主备切换方法,包括:接收主消息服务器和备用消息服务器发送的心跳消息;响应于接收到外部发送的当前消息交互请求,基于心跳消息确定主消息服务器的当前状态;若主消息服务器的当前状态为不可用状态,基于心跳消息,从备用消息服务器中确定出目标备用消息服务器;将所确定出的目标备用消息服务器作为当前主消息服务器以将当前消息交互请求向当前主消息服务器转发。在一些实施例中,不可用状态包括网络连接中断状态;基于心跳消息确定主消息服务器的当前状态,包括:响应于在预设时段内未接收到主消息服务器发送的心跳消息,确定主消息服务器的当前状态为网络 ...
【技术保护点】
1.一种消息服务器的主备切换方法,包括:接收主消息服务器和备用消息服务器发送的心跳消息;响应于接收到外部发送的当前消息交互请求,基于所述心跳消息确定所述主消息服务器的当前状态;若所述主消息服务器的当前状态为不可用状态,基于所述心跳消息,从备用消息服务器中确定出目标备用消息服务器;将所确定出的目标备用消息服务器作为当前主消息服务器以将所述当前消息交互请求向所述当前主消息服务器转发。
【技术特征摘要】
1.一种消息服务器的主备切换方法,包括:接收主消息服务器和备用消息服务器发送的心跳消息;响应于接收到外部发送的当前消息交互请求,基于所述心跳消息确定所述主消息服务器的当前状态;若所述主消息服务器的当前状态为不可用状态,基于所述心跳消息,从备用消息服务器中确定出目标备用消息服务器;将所确定出的目标备用消息服务器作为当前主消息服务器以将所述当前消息交互请求向所述当前主消息服务器转发。2.根据权利要求1所述的方法,其中,所述不可用状态包括网络连接中断状态;所述基于所述心跳消息确定所述主消息服务器的当前状态,包括:响应于在预设时段内未接收到所述主消息服务器发送的心跳消息,确定所述主消息服务器的当前状态为网络连接中断状态。3.根据权利要求1所述的方法,其中,所述心跳消息包括待处理消息队列的当前状态;所述基于所述心跳消息确定所述主消息服务器的当前状态,包括:响应于所述主消息服务器的待处理消息队列的当前状态为溢出状态,确定所述主消息服务器的当前状态为满载状态,其中,所述满载状态属于可用状态;所述方法还包括:响应于确定所述主消息服务器的当前状态为满载状态,将所述当前消息交互请求转发至负载率最低的备用消息服务器。4.根据权利要求1-3之一所述的方法,其中,所述方法还包括:向目的端发送所述当前消息交互请求的消息处理结果。5.根据权利要求4所述的方法,所述方法还包括:若所述主消息服务器的当前状态为可用状态,基于接收到历史消息交互请求的时刻和向目的端发送所述历史消息交互请求的消息处理结果的时刻之差,确定当前主消息服务器的消息处理及时度;以及响应于当前主消息服务器的消息处理及时度低于预设的及时度阈值,将负载率最小的备用消息服务器作为当前主消息服务器,以将所述当前消息交互请求向所述当前主消息服务器转发。6.一种消息服务器的主备切换装置,包括:接收单元,被配置成接收主消息服务器和备用消息服务器发送的心跳消息;状态确定单元,被配置成响应于接收到外部发送的当前消息交互请求,基于所述心跳消息确定所述主消息服务器的当前状态;目标确定单元,被配置成若所述主消息服务器的当前状态为不可用状态,基于所述心跳...
【专利技术属性】
技术研发人员:冯靖超,夏黎明,陈卓,
申请(专利权)人:百度在线网络技术北京有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。