消息服务器的主备切换方法、装置和消息服务系统制造方法及图纸

技术编号:19186018 阅读:29 留言:0更新日期:2018-10-17 02:10
本申请实施例公开了消息服务器的主备切换方法、装置和系统。该方法的一具体实施方式包括:接收主消息服务器和备用消息服务器发送的心跳消息;响应于接收到外部发送的当前消息交互请求,基于心跳消息确定主消息服务器的当前状态;若主消息服务器的当前状态为不可用状态,基于心跳消息,从备用消息服务器中确定出目标备用消息服务器;将所确定出的目标备用消息服务器作为当前主消息服务器以将当前消息交互请求向当前主消息服务器转发。该实施方式可以有效地降低客户端请求服务器时,服务器响应中断或超时的风险。

Main standby switching method, device and message service system of message server

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是本申请一个实施例的消息服务器的主备切换方法可以应用于其中的示例性系统架构图;图2是根据本申请的消息服务器的主备切换方法的一个实施例的流程图;图3是根据本申请的消息服务器的主备切换方法的一个应用场景的示意图;图4是根据本申请的消息服务器的主备切换方法的又一个实施例的流程图;图5是根据本申请的消息服务器的主备切换装置的一个实施例的结构示意图;图6是适于用来实现本申请实施例的消息服务器的主备切换方法的电子设备的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的消息服务器的主备切换方法或消息服务器的主备切换装置的实施例的示例性系统架构100。如图1所示,系统架构100可以包括消息服务系统110和多个客户端120。其中,消息服务系统110可以包括主消息服务器111、至少一个备用消息服务器112以及状态驱动器113。消息服务系统110与客户端120、消息服务系统110中的主消息服务器111、至少一个备用消息服务器112以及状态驱动器113之间均通过网络通信连接。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。消息服务系统110可以响应于客户端120的请求,为客户端120提供其期望获得的各种服务。相应地,客户端120也可以是任本文档来自技高网...

【技术保护点】
1.一种消息服务器的主备切换方法,包括:接收主消息服务器和备用消息服务器发送的心跳消息;响应于接收到外部发送的当前消息交互请求,基于所述心跳消息确定所述主消息服务器的当前状态;若所述主消息服务器的当前状态为不可用状态,基于所述心跳消息,从备用消息服务器中确定出目标备用消息服务器;将所确定出的目标备用消息服务器作为当前主消息服务器以将所述当前消息交互请求向所述当前主消息服务器转发。

【技术特征摘要】
1.一种消息服务器的主备切换方法,包括:接收主消息服务器和备用消息服务器发送的心跳消息;响应于接收到外部发送的当前消息交互请求,基于所述心跳消息确定所述主消息服务器的当前状态;若所述主消息服务器的当前状态为不可用状态,基于所述心跳消息,从备用消息服务器中确定出目标备用消息服务器;将所确定出的目标备用消息服务器作为当前主消息服务器以将所述当前消息交互请求向所述当前主消息服务器转发。2.根据权利要求1所述的方法,其中,所述不可用状态包括网络连接中断状态;所述基于所述心跳消息确定所述主消息服务器的当前状态,包括:响应于在预设时段内未接收到所述主消息服务器发送的心跳消息,确定所述主消息服务器的当前状态为网络连接中断状态。3.根据权利要求1所述的方法,其中,所述心跳消息包括待处理消息队列的当前状态;所述基于所述心跳消息确定所述主消息服务器的当前状态,包括:响应于所述主消息服务器的待处理消息队列的当前状态为溢出状态,确定所述主消息服务器的当前状态为满载状态,其中,所述满载状态属于可用状态;所述方法还包括:响应于确定所述主消息服务器的当前状态为满载状态,将所述当前消息交互请求转发至负载率最低的备用消息服务器。4.根据权利要求1-3之一所述的方法,其中,所述方法还包括:向目的端发送所述当前消息交互请求的消息处理结果。5.根据权利要求4所述的方法,所述方法还包括:若所述主消息服务器的当前状态为可用状态,基于接收到历史消息交互请求的时刻和向目的端发送所述历史消息交互请求的消息处理结果的时刻之差,确定当前主消息服务器的消息处理及时度;以及响应于当前主消息服务器的消息处理及时度低于预设的及时度阈值,将负载率最小的备用消息服务器作为当前主消息服务器,以将所述当前消息交互请求向所述当前主消息服务器转发。6.一种消息服务器的主备切换装置,包括:接收单元,被配置成接收主消息服务器和备用消息服务器发送的心跳消息;状态确定单元,被配置成响应于接收到外部发送的当前消息交互请求,基于所述心跳消息确定所述主消息服务器的当前状态;目标确定单元,被配置成若所述主消息服务器的当前状态为不可用状态,基于所述心跳...

【专利技术属性】
技术研发人员:冯靖超夏黎明陈卓
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1