CN118233284A - 一种主备设备切换方法、业务数据处理系统和计算机设备 - Google Patents

一种主备设备切换方法、业务数据处理系统和计算机设备 Download PDF

Info

Publication number
CN118233284A
CN118233284A CN202311637498.8A CN202311637498A CN118233284A CN 118233284 A CN118233284 A CN 118233284A CN 202311637498 A CN202311637498 A CN 202311637498A CN 118233284 A CN118233284 A CN 118233284A
Authority
CN
China
Prior art keywords
service
control server
server
standby
main
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.)
Pending
Application number
CN202311637498.8A
Other languages
English (en)
Inventor
张圆
黄伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BYD Co Ltd
Original Assignee
BYD Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BYD Co Ltd filed Critical BYD Co Ltd
Priority to CN202311637498.8A priority Critical patent/CN118233284A/zh
Publication of CN118233284A publication Critical patent/CN118233284A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种主备设备切换方法、业务数据处理系统和计算机设备,该主备设备切换方法应用于业务数据处理系统,业务数据处理系统具体包括主业务服务器、备用业务服务器、主控制服务器、备用控制服务器以及至少一个数据采集模块。该方法包括:主控制服务器获取每一控制微服务的状态参数,状态参数用于表征控制微服务的连接状态或数据处理状态;根据各控制微服务的状态参数确定至少一个控制微服务的故障情况,基于故障情况切换主控制器为备用状态。通过本申请能够利用控制微服务向各主备设备(例如,主备控制服务器)转发业务数据,并利用控制微服务的状态参数确定主备设备的具体切换情况,从而提升主备设备的切换效率。

Description

一种主备设备切换方法、业务数据处理系统和计算机设备
技术领域
本申请涉及轨道交通领域,具体涉及一种主备设备切换方法、业务数据处理系统和计算机设备。
背景技术
自动列车监控(Automatic Train Supervision,简称ATS)系统作为轨道交通的自动化系统,可以利用其内部主备服务器实现列车的自动化运行和监控。
目前,可以基于硬件的方式对主备服务器的具体主备状态进行切换。但由于该种方式下,服务器内部负责主备状态切换的管理进程需要额外监控其余服务器进程,这就导致现有技术中主备服务器的切换方式仍过于复杂。
因此,主备服务器的切换效率仍处于较低水平。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种主备设备切换方法、业务数据处理系统和计算机设备,能够利用控制微服务向各主备设备(例如,主备控制服务器)转发业务数据,并利用控制微服务的状态参数确定主备设备的具体切换情况,从而提升主备设备的切换效率。
第一方面,本发明提供了一种主备设备切换方法,应用于业务数据处理系统,业务数据处理系统包括主业务服务器、备用业务服务器、主控制服务器、备用控制服务器以及至少一个数据采集模块,数据采集模块用于获取不同类型的业务数据,主控制服务器、备用控制服务器各自包括至少一个控制微服务,控制微服务用于转发相应车载微服务的业务数据,该方法包括:
主控制服务器获取每一控制微服务的状态参数,状态参数用于表征控制微服务的连接状态或数据处理状态;根据各控制微服务的状态参数确定至少一个控制微服务的故障情况,基于故障情况切换主控制服务器为备用状态。
第二方面,本发明提供了一种业务数据处理系统,该系统包括主业务服务器、备用业务服务器、主控制服务器、备用控制服务器以及集成设备,集成设备包括至少一个数据采集模块,主控制服务器、备用控制服务器各自包括至少一个控制微服务。
集成设备,用于调用不同的数据采集模块获取不同类型的业务数据,并调用相应的控制微服务上传业务数据;
主控制服务器,用于在主用状态下调用控制微服务向主业务服务器、备用业务服务器转发业务数据;
主业务服务器,用于接收业务数据,并根据业务数据生成执行指令,并通过主控制服务器的控制微服务向数据采集模块发送执行指令;
主控制服务器还用于,获取每一控制微服务的状态参数,状态参数用于表征控制微服务的连接状态或数据处理状态;根据各控制微服务的状态参数确定至少一个控制微服务的故障情况,基于故障情况切换主控制器为备用状态。
第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如第一方面所述的方法。
第四方面,提供了一种计算机程序产品,计算机程序产品中包含指令,其特征在于,指令被处理器运行时实现如上述第一方面提供的方法。
相较于现有技术中由主备状态切换管理进程根据所有服务器进程的具体情况对主备设备进行状态切换,本申请实施例提供的主备设备切换方法、业务数据处理系统和计算机设备,一方面,可以利用至少一个控制微服务模块负责相关业务数据及处理指令的转发与获取,从而降低了现有主备状态切换方式中进程监控的复杂程度;另一方面,本申请实施例中的主控制服务器可以根据各控制微服务模块的故障情况进行主备状态的切换,从而使得主备设备的具体状态可以实现无缝切换,以提升主备设备的切换效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例的系统架构示意图;
图2为本申请实施例提供的业务数据处理系统的示意图;
图3为本申请实施例提供的主备设备切换方法的流程示意图;
图4-图5为本申请实施例提供的将主控制服务器203切换为备用状态的示意图;
图6是本申请实施例提供的通过主业务服务器201和备用业务服务器202获取主控制服务器203的故障情况的示意图;
图7是本申请实施例提供的通过备用业务服务器202获取主控制服务器203的故障情况的示意图;
图8是本申请实施例提供的通过主业务服务器201获取主控制服务器203的故障情况的示意图;
图9是本申请实施例提供的备用控制服务器204无法获取主控制服务器203的故障情况的示意图;
图10是本申请实施例提供的另一种通过主业务服务器201获取主控制服务器203的故障情况的示意图;
图11是本申请实施例提供的另一种通过备用业务服务器202获取主控制服务器203的故障情况的示意图;
图12是本申请实施例提供的另一种通过主业务服务器201和备用业务服务器202获取主控制服务器203的故障情况的示意图;
图13-图19是本申请实施例提供的各服务器交叉发送心跳数据包的示意图;
图20是本申请实施例提供的将主控制服务器203切换为主用状态的示意图;
图21是本申请实施例提供的主控制服务器203切换为备用状态的示意图;
图22是本申请实施例提供的另一种业务数据处理系统的示意图;
图23为本申请实施例的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。
本申请实施例提供了一种业务数据处理系统,如图1所示,该系统包括主业务服务器101、备用业务服务器102、主控制服务器103、备用控制服务器104以及集成设备105。
其中,业务数据可以包括列车在运行时产生的车载数据以及其他数据;主业务服务器101与备用业务服务器102可以是用于运行和管理应用程序的应用服务器软件;主控制服务器103与备用控制服务器104可以是用于管理和监控其他服务器的中央控制服务器;集成设备105可以是用于获取列车相关业务数据的数据采集设备,例如可以是计算机联锁(Computer Interlocking,简称CI)、区域控制器(Zone Controller,简称ZC)、车载控制器(Vehicle On-board Controller,简称VOBC)。因此该数据采集设备的安装位置可以根据数据获取时的具体需求进行选择;本申请实施例对此不做限制。
需要说明的是,主控制服务器103与备用控制服务器104可以对其他服务器进行配置管理、性能监控、日志管理、安全管理以及负载均衡等。
具体实现中,集成设备105可以获取不同类型的业务数据,并将业务数据上传至主控制服务器103以及备用控制服务器104;主控制服务器103可以将接收到的业务数据转发至主业务服务器101以及备用业务服务器102;主业务服务器101可以根据接收到的业务数据生成执行指令,并将执行指令发送至主控制服务器103以及备用控制服务器104;再由主控制服务器103向车载设备105返回发送相关执行指令等。
但由于现有技术是基于硬件继电器的方式实现主备服务器之间主备状态的切换,该种切换方式具体是通过服务器内部的主备状态切换管理进程在额外监控其余服务器进程(例如,服务器的主业务进程、配置管理进程、看门狗进程等)的基础上实现的,这就导致现有技术中的切换方式的硬件成本较高,且具体配置过于复杂、主备切换的实时性也较差。因此主备服务器的切换效率仍处于较低水平。
基于此,本申请实施例提供了一种主备设备切换方法、业务数据处理系统和计算机设备,能够利用控制微服务向各主备设备(例如,主备控制服务器)转发业务数据,并利用控制微服务的状态参数确定主备设备的具体切换情况,从而提升主备设备的切换效率。
图2是本申请实施例提供的业务数据处理系统的示意图,如图2所示,业务数据处理系统具体包括主业务服务器201、备用业务服务器202、主控制服务器203、备用控制服务器204以及至少一个数据采集模块205;其中,数据采集模块205用于获取不同类型的业务数据,主控制服务器203、备用控制服务器204各自包括至少一个控制微服务206,控制微服务206用于转发相应数据采集模块205的业务数据。
需要说明的是,本申请实施例中的微服务均是在微服务架构Docker的基础上形成的各个服务单元模块。其次,主业务服务器201与备用业务服务器202以及主控制服务器203与备用控制服务器204均可以通过直连通道进行数据同步。
示例性的,上述数据采集模块205可以是安装在列车或轨道上的各类集成电子系统。例如可以是工控机数据采集系统,具体可以包括计算机联锁CI、区域控制器ZC、车载控制器VOBC。
示例性的,上述控制微服务206可以是负责处理不同业务数据的业务接口程序。其中,业务数据可以包括列车监控系统获取的相关车载数据以及其他业务类数据。
例如,当业务数据类型为CI数据时,控制微服务206可以是负责处理CI的业务接口程序Conn2ci;当业务数据类型为ZC数据时,控制微服务206可以是负责处理ZC的业务接口程序Conn2zc;当业务数据类型为VOBC数据时,控制微服务206可以是负责处理VOBC的业务接口程序Conn2vobc。
需要说明的是,数据采集模块205的数量可以与系统内部的业务数据量大小呈正相关;主控制服务器203与备用控制服务器204的控制微服务206的种类与数量保持一致。
图3为本申请实施例提供的一种主备设备切换方法的流程示意图。该主备设备切换方法应用于业务数据处理系统,如图3所示,该方法包括以下步骤:
步骤301,主控制服务器203获取每一控制微服务206的状态参数,状态参数用于表征控制微服务206的连接状态或数据处理状态;
相较于现有技术中的主备设备切换方法,本申请实施例可以利用上述数据采集模块205获取不同类型的业务数据、利用上述控制微服务206转发相应的业务数据,从而可以通过各个不同微服务模块的配合实现列车监控系统中的数据处理功能,提高了列车监控系统的数据处理效率。
一种可能的实现方式中,主控制服务器203可以获取每一控制微服务206的连接状态或数据处理状态。其中,主控制服务器203还可以包括处理微服务207。
示例性的,控制微服务206的连接状态可以是控制微服务206与数据采集模块205之间的连接状态,也可以是控制微服务206与处理微服务207之间的连接状态。
具体地,上述控制微服务206与处理微服务207之间可以通过传输控制协议(Transmission Control Protocol,简称TCP)建立连接。
示例性的,控制微服务206的数据处理状态可以是控制微服务206对业务数据包数据的处理能力。例如,控制微服务206的数据处理可以是对数据采集模块205上传的业务数据进行转发处理等。
步骤302,根据各控制微服务206的状态参数确定至少一个控制微服务206的故障情况,基于故障情况切换主控制服务器203为备用状态。
本申请实施例中,可以根据各控制微服务206的具体故障情况将主控制服务器203切换为备用状态,从而在主控制服务器203出现故障的情况下,快速实现服务器主备状态的无缝切换,从而提升了主备服务器的切换效率。
一种可能的实现方式中,可以根据主控制服务器203内部至少一个控制微服务206的故障情况判定主控制服务器203处于故障情况,并基于该故障情况将主控制服务器203切换至备用状态。
相较于现有技术中由主备状态切换管理进程根据所有服务器进程的具体情况对主备设备进行状态切换,本申请实施例提供的主备设备切换方法,一方面,可以利用至少一个控制微服务模块负责相关业务数据(车载数据与其他业务类数据)及处理指令的获取与转发,从而降低了现有主备状态切换方式中进程监控的复杂程度;另一方面,本申请实施例中的主控制服务器可以根据各控制微服务模块的故障情况进行主备状态的切换,从而使得主备设备的具体状态可以实现无缝切换,以提升主备设备的切换效率。
在本申请的另一实施例中,还提供了根据故障情况将主控制服务器203切换为备用状态的具体实施方式。示例性的,前文涉及的“基于故障情况切换主控制服务器203为备用状态”包括:若故障情况包括至少一个控制微服务206中存在出现故障的控制微服务,则切换主控制服务器203为备用状态;或者,若故障情况包括至少一个控制微服务206中存在故障的微服务数量大于备用控制服务器204中存在故障的微服务数量,则切换主控制服务器203为备用状态。
本申请实施例中,可以根据不同的故障情况快速将主控制服务器203切换为备用状态,从而避免了业务数据处理系统出现单点故障的情况。
示例性的,图4为本申请实施例提供的一种将主控制服务器203切换为备用状态的示意图,如图4所示,当主控制服务器203中的控制微服务Conn2vobc出现故障时,可以将主控制服务器203切换为备用状态。
示例性的,当主控制服务器203与备用控制服务器204内部的控制微服务206均存在故障情况,但主控制服务器203的故障微服务数量大于备用控制服务器204的故障微服务数量时,可以将主控制服务器203切换为备用状态。
需要说明的是,主控制服务器203与备用控制服务器204的故障微服务数量还可以包括上述处理微服务207的故障数量。
在本申请的另一实施例中,还提供了主控制服务器203获取状态参数的具体获取方式。示例性的,前文所述的“主控制服务器203获取每一控制微服务206的状态参数”包括:主控制服务器203获取控制微服务206与主控制服务器203的处理微服务207之间的连接状态;和/或,控制微服务206在预设周期内的数据转发量;和/或,控制微服务206在预设周期内的数据接收量。
需要说明的是,上述处理微模块207可以用于实现主备服务器的状态切换以及系统业务数据的透传转发,具体可以通过xproto软件方式实现上述功能。其次,备用控制服务器204、主业务服务器201以及备用业务服务器202内部均包括处理微模块207。
一种可能的实现方式中,主控制服务器203可以通过获取控制微服务206与主控制服务器203的处理微服务207之间的连接状态;和/或,控制微服务206在预设周期内的数据转发量;和/或,控制微服务206在预设周期内的数据接收量,以获取每一控制微服务206的状态参数。
示例性的,预设周期的周期长度可以根据列车监控系统中各业务数据的数据属性进行确定。
在本申请的另一实施例中,还提供了根据控制微服务206的状态参数确定控制微服务206的故障情况的具体确定方式。示例性的,根据各控制微服务206的状态参数确定至少一个控制微服务206是否存在故障的具体实施方式包括:若控制微服务206与主控制服务器203的处理微服务207之间断开连接,则确定控制微服务206存在故障;或者,控制微服务206在预设周期内未转发数据,则确定控制微服务206存在故障;或者,控制微服务206在预设周期内未接收数据,则确定控制微服务206存在故障。
一种可能的实现方式中,当主控制服务器203的控制微服务206与主控制服务器203的处理微服务207处于断连状态时,可以确定该控制微服务206处于故障情况;当主控制服务器203的控制微服务206在预设周期内的数据转发量和/或数据接收量为0(即,无业务数据)时,可以确定该控制微服务206处于故障情况。其中,预设周期可以是500毫秒。
示例性的,可以通过预设周期内处理微服务207的数据处理量确定主控制服务器203内控制微服务206与处理微服务207的连接状态。例如,当预设周期内处理微服务207的数据处理量为0时,可以确定主控制服务器203内部的控制微服务206与处理微服务207处于断连状态。
示例性的,图5为本申请实施例提供的另一种将主控制服务器203切换为备用状态的示意图,如图5所示,当主控制服务器203中的控制微服务Conn2vobc无业务数据时,可以将主控制服务器203切换为备用状态。
在本申请的另一实施例中,还提供了将备用控制服务器204切换为主用状态的具体实施方式。示例性的,方法还包括:主控制服务器203向备用控制服务器204发送故障情况;故障情况用于表征主控制服务器203的控制微服务206是否存在故障和/或存在故障的微服务数量,使得备用控制服务器204响应于故障信息切换为主用状态。
一种可能的实现方式中,主控制服务器203可以向备用控制服务器204发送自身内部控制微服务206是否存在故障以及存在故障的微服务数量,以使得备用控制服务器204能够在主控制服务器203出现故障而自身无故障的情况下将自身状态切换为主用状态;或者使得备用控制服务器204能够在主控制服务器203内部存在故障的微服务数量大于自身内部存在的微服务数量时,将自身状态切换为主用状态。
需要说明的是,主控制服务器203与备用控制服务器204内部出现故障的微服务可以是控制微服务206,也可以是处理微服务207。
在本申请的另一实施例中,还提供了主控制服务器203向备用控制服务器204发送故障情况的具体实施方式。示例性的,前文涉及的“主控制服务器203向备用控制服务器204发送故障情况”包括:主控制服务器203通过与备用控制服务器204之间的直连通道向备用控制服务器204发送故障情况;和/或,通过主业务服务器201向备用控制服务器204发送故障情况;和/或,通过备用业务服务器202向备用控制服务器204发送故障情况。
一种可能的实现方式中,主控制服务器203可以通过主控制服务器203与备用控制服务器204之间的直连通道向备用控制服务器204发送自身的故障情况。
示例性的,主控制服务器203可以利用自身处理微服务207的xproto软件,向备用控制服务器204的处理微服务207的xproto软件发送自身故障情况。
需要说明的是,主业务服务器201、备用业务服务器202、主控制服务器203、备用控制服务器204之间均可以通过自身处理微服务207的xproto软件交叉发送自身数据以及相关业务数据。
一种可能的实现方式中,主控制服务器203还可以将自身故障情况发送至主业务服务器201和/或备用业务服务器202,由主业务服务器201和/或备用业务服务器202将主控制服务器203的故障情况发送至备用控制服务器204。
示例性的,图6是本申请实施例提供的通过主业务服务器201和备用业务服务器202获取主控制服务器203的故障情况的示意图,如图6所示,当主控制服务器203与备用控制服务器204之间的直连通道以及主控制服务器203的处理微服务207出现故障时,可以通过主业务服务器201和备用业务服务器202发送的相关数据获取主控制服务器203的故障情况。具体地,由于主控制服务器203的处理微服务207出现故障,主业务服务器201和备用业务服务器202向备用控制服务器204发送的数据并不包含主控制服务器203的相关数据。
示例性的,图7是本申请实施例提供的通过备用业务服务器202获取主控制服务器203的故障情况的示意图,如图7所示,当主控制服务器203与备用控制服务器204之间的直连通道、主控制服务器203的处理微服务207以及主业务服务器201的处理微服务207出现故障时,可以通过备用业务服务器202发送的相关数据获取主控制服务器203的故障情况。具体地,由于主控制服务器203的处理微服务207出现故障,备用业务服务器202向备用控制服务器204发送的数据并不包含主控制服务器203的相关数据。
示例性的,图8是本申请实施例提供的通过主业务服务器201获取主控制服务器203的故障情况的示意图,如图8所示,当主控制服务器203与备用控制服务器204之间的直连通道、主控制服务器203的处理微服务207以及备用业务服务器202的处理微服务207出现故障时,可以通过主业务服务器201发送的相关数据获取主控制服务器203的故障情况。具体地,由于主控制服务器203的处理微服务207出现故障,主业务服务器201向备用控制服务器204发送的数据并不包含主控制服务器203的相关数据。
示例性的,图9是本申请实施例提供的备用控制服务器204无法获取主控制服务器203的故障情况的示意图,如图9所示,当主控制服务器203与备用控制服务器204之间的直连通道、主控制服务器203的处理微服务207、主业务服务器201的处理微服务207以及备用业务服务器202的处理微服务207均出现故障时,备用控制服务器204无法获取主控制服务器203的故障情况。此时备用控制服务器204维持原主备状态(即,主用状态)。
示例性的,图10是本申请实施例提供的另一种通过主业务服务器201获取主控制服务器203的故障情况的示意图,如图10所示,当主控制服务器203与备用控制服务器204之间的直连通道、主控制服务器203的处理微服务207以及备用业务服务器202的处理微服务207出现故障但主业务服务器201的处理微服务207恢复正常状态时,可以通过主业务服务器201发送的相关数据获取主控制服务器203的故障情况。此时备用控制服务器204维持原主备状态(即,主用状态)。
示例性的,图11是本申请实施例提供的另一种通过备用业务服务器202获取主控制服务器203的故障情况的示意图,如图11所示,当主控制服务器203与备用控制服务器204之间的直连通道、主控制服务器203的处理微服务207以及主业务服务器201的处理微服务207出现故障但备用业务服务器202的处理微服务207恢复正常状态时,可以通过备用业务服务器202发送的相关数据获取主控制服务器203的故障情况。此时备用控制服务器204维持原主备状态(即,主用状态)。
示例性的,图12是本申请实施例提供的另一种通过主业务服务器201和备用业务服务器202获取主控制服务器203的故障情况的示意图,如图12所示,当主控制服务器203与备用控制服务器204之间的直连通道、主控制服务器203的处理微服务207以及主业务服务器201的处理微服务207出现故障,但主业务服务器201和备用业务服务器202的处理微服务207恢复正常状态时,可以通过主业务服务器201和备用业务服务器202发送的相关数据获取主控制服务器203的故障情况。此时备用控制服务器204维持原主备状态(即,主用状态)。
在本申请的另一实施例中,还提供了故障情况的具体承载方式。示例性的,方法还包括:故障情况承载于心跳数据包中,心跳数据包还包括主控制服务器203的运行状态。
一种可能的实现方式中,主控制服务器203的故障情况可以承载于主控制服务器203向其余服务器发送的心跳数据包中,所述心跳数据包还包括主控制服务器203的运行状态。
需要说明的是,与主控制服务器203相似,主业务服务器201、备用业务服务器202以及备用控制服务器204也可以向其余服务器发送心跳数据包,所述心跳数据包可以是上一实施例中各服务器发送的自身数据以及相关业务数据,具体可以包括服务器自身的故障情况以及自身的运行状态。
示例性的,图13是本申请实施例提供的各服务器交叉发送心跳数据包的示意图。如图13所示,当主控制服务器203与备用控制服务器204之间的直连通道出现故障时,可以通过主业务服务器201、备用业务服务器202、主控制服务器203以及备用控制服务器204相互发送心跳数据包获取到各个服务器均处于正常状态,此时主控制服务器203与备用控制服务器204维持原主备状态(即,主控制服务器203处于主用状态,备用控制服务器204处于备用状态)。
示例性的,图14是本申请实施例提供的各服务器交叉发送心跳数据包的示意图。如图14所示,当主控制服务器203与备用控制服务器204之间的直连通道出现故障时,可以通过备用业务服务器202、主控制服务器203以及备用控制服务器204相互发送心跳数据包获取到主业务服务器201处于故障状态,此时主控制服务器203与备用控制服务器204维持原主备状态(即,主控制服务器203处于主用状态,备用控制服务器204处于备用状态)。
示例性的,图15是本申请实施例提供的各服务器交叉发送心跳数据包的另一示意图。如图15所示,当主控制服务器203与备用控制服务器204之间的直连通道出现故障时,可以通过主业务服务器201、主控制服务器203以及备用控制服务器204相互发送心跳数据包获取到备用业务服务器202处于故障状态,此时主控制服务器203与备用控制服务器204维持原主备状态(即,主控制服务器203处于主用状态,备用控制服务器204处于备用状态)。
示例性的,图16是本申请实施例提供的各服务器交叉发送心跳数据包的另一示意图。如图16所示,当主控制服务器203与备用控制服务器204之间的直连通道、主业务服务器201与备用业务服务器202的处理微服务207均出现故障时,主业务服务器201、备用业务服务器202、主控制服务器203以及备用控制服务器204均未发送心跳数据包,此时备用控制服务器204也切换为主用状态,系统出现双主脑裂现象。
示例性的,图17是本申请实施例提供的各服务器交叉发送心跳数据包的另一示意图。如图17所示,当主控制服务器203与备用控制服务器204之间的直连通道仍处于故障情况但主业务服务器201恢复正常情况时,可以通过主业务服务器201、主控制服务器203以及备用控制服务器204相互发送心跳数据包获取到备用业务服务器202仍处于故障状态,此时主控制服务器203与备用控制服务器204恢复原主备状态(即,主控制服务器203处于主用状态,备用控制服务器204处于备用状态)。
示例性的,图18是本申请实施例提供的各服务器交叉发送心跳数据包的另一示意图。如图18所示,当主控制服务器203与备用控制服务器204之间的直连通道仍处于故障情况但备用业务服务器202恢复正常情况时,可以通过备用业务服务器202、主控制服务器203以及备用控制服务器204相互发送心跳数据包获取到主业务服务器201仍处于故障状态,此时主控制服务器203与备用控制服务器204恢复原主备状态(即,主控制服务器203处于主用状态,备用控制服务器204处于备用状态)。
示例性的,图19是本申请实施例提供的各服务器交叉发送心跳数据包的另一示意图。如图19所示,当主控制服务器203与备用控制服务器204之间的直连通道仍处于故障情况但主业务服务器201与备用业务服务器202恢复正常情况时,可以通过主业务服务器201、备用业务服务器202、主控制服务器203以及备用控制服务器204相互发送心跳数据包获取到各个服务器均处于正常状态,此时主控制服务器203与备用控制服务器204识别到双主冲突,则恢复原主备状态(即,主控制服务器203处于主用状态,备用控制服务器204处于备用状态)。
示例性的,上述心跳数据包可以通过各服务器的xproto软件进行交叉发送。
在本申请的另一实施例中,还提供了将主控制服务器203由备用状态切换为主用状态的具体实施方式。示例性的,方法还包括:主控制服务器203获取备用控制服务器204的心跳数据包;心跳数据包包括备用控制服务器204的运行状态和/或备用控制服务器204的控制微服务206的故障情况;若心跳数据包中的运行状态和/或故障情况表征存在故障,则将主控制服务器203由备用状态切换为主用状态。
本申请实施例中,在主控制服务器203切换为备用状态之后,可以基于备用控制服务器204处于故障状态,将主控制服务器203的备用状态切换为主用状态,从而进一步避免了业务数据处理系统出现单点故障的情况。
一种可能的实现方式中,主控制服务器203可以通过直连通道获取备用控制服务器204的心跳数据包,以能够在心跳数据包中的运行状态和/或故障情况表征备用控制服务器204存在故障时,将自身的备用状态切换为主用状态。
可选地,图20是本申请实施例提供的将主控制服务器203切换为主用状态的示意图。如图20所示,当主控制服务器203以及主控制服务器203与备用控制服务器204之间的直连通道由故障状态恢复至正常状态时,主控制服务器203与备用控制服务器204通过直连通道的心跳数据包识别到双主用控制器情况,此时主控制服务器203由备用状态切换为主用状态。
在本申请的另一实施例中,还提供了将主控制服务器203切换为备用状态的另一种具体实施方式。示例性的,备用控制服务器204的心跳数据包还包括主业务服务器201、备用业务服务器202的状态参数,方法还包括:若备用控制服务器204的心跳数据包中的状态参数表征主业务服务器201、备用业务服务器202正常运行,且主控制服务器203未接收到主业务服务器201、备用业务服务器202发送的状态参数,则切换为备用状态。
一种可能的实现方式中,当主控制服务器203接收到的备用控制服务器204的心跳数据包中的状态参数可以表征主业务服务器201与备用业务服务器202处于正常运行状态,但主控制服务器203自身未接收到主业务服务器201与备用业务服务器202发送的状态参数时,主控制服务器203可以确定自身出现故障情况,此时由主用状态切换为备用状态。
示例性的,图21是本申请实施例提供的主控制服务器203切换为备用状态的示意图,如图21所示,当主控制服务器203接收到由备用控制服务器204发送的包含主业务服务器201以及备用业务服务器202状态参数的心跳数据包时,在主控制服务器203自身接收不到主业务服务器201与备用业务服务器202发送的状态参数的基础上,主控制服务器203由主用状态切换为备用状态。
在本申请的前文实施例中,提供了一种主备设备切换方法。而在本申请的另一实施例中,还提供了一种业务数据处理系统。
图22是本申请实施例提供的另一种业务数据处理系统的示意图,该业务数据处理系统包括主业务服务器2201、备用业务服务器2202、主控制服务器2203、备用控制服务器2204以及集成设备2205,集成设备2205包括至少一个数据采集模块2206,主控制服务器2203、备用控制服务器2204各自包括至少一个控制微服务2207。
具体地,集成设备2205用于调用不同的数据采集模块2206获取不同类型的业务数据,并调用相应的控制微服务2207上传业务数据;主控制服务器2203用于在主用状态下调用控制微服务2207向主业务服务器2201、备用业务服务器2202转发业务数据;主业务服务器2201用于接收业务数据,并根据业务数据生成执行指令,并通过主控制服务器2203的控制微服务2207向数据采集模块2206发送执行指令;主控制服务器2203还用于获取每一控制微服务2207的状态参数,状态参数用于表征控制微服务2207的连接状态或数据处理状态;根据各控制微服务2207的状态参数确定至少一个控制微服务2207的故障情况,基于故障情况切换主控制服务器2203为备用状态。
示例性的,主业务服务器2201可以根据接收到的业务数据生成执行指令,并将执行指令通过主控制服务器2203的控制微服务2207发送至数据采集模块2206。需要说明的是,备用业务服务器2202仅接收车载数据。
相较于现有技术中由主备状态切换管理进程根据所有服务器进程的具体情况对主备设备进行状态切换,本申请实施例提供的业务数据处理系统,一方面,可以利用至少一个控制微服务模块负责相关业务数据及处理指令的转发与获取,从而降低了现有主备状态切换方式中进程监控的复杂程度;另一方面,本申请实施例中的主控制服务器可以根据各控制微服务模块的故障情况进行主备状态的切换,从而使得主备设备的具体状态可以实现无缝切换,以提升主备设备的切换效率。
在本申请的另一实施例中,业务数据处理系统的主业务服务器2201、备用业务服务器2202、主控制服务器2203、备用控制服务器2204之间互相发送心跳数据包,主控制服务器2203发送的心跳数据包包括备用控制服务器2204的运行状态和/或备用控制服务器2204的控制微服务2207的故障情况、主控制服务器2203的运行状态以及业务服务器的状态参数。
下面参考图23,图23示出了适于用来实现本申请实施例的计算机设备的结构示意图,如图23所示,计算机系统2300包括中央处理单元(CPU)2301,其可以根据存储在只读存储器(ROM)2302中的程序或者从存储部分2308加载到随机访问存储器(RAM)2303中的程序而执行各种适当的动作和处理。在RAM2303中,还存储有系统的操作指令所需的各种程序和数据。CPU2301、ROM2302以及RAM2303通过总线2304彼此相连。输入/输出(I/O)接口2305也连接至总线2304。
以下部件连接至I/O接口2305;包括键盘、鼠标等的输入部分2306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分2307;包括硬盘等的存储部分2308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分2309。通信部分2309经由诸如因特网的网络执行通信处理。驱动器2310也根据需要连接至I/O接口2305。可拆卸介质236,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2310上,以便于从其上读出的计算机程序根据需要被安装入存储部分2308。
特别地,根据本申请的实施例,上文参考流程图图3描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2309从网络上被下载和安装,和/或从可拆卸介质2311被安装。在该计算机程序被中央处理单元(CPU)2301执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以为的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作指令。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个连接表示的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作指令的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括语义提取单元、权重分配单元以及确定单元。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的计算机设备中所包含的,也可以是单独存在,而未装配入该计算机设备中的。上述计算机可读存储介质存储有一个或多个程序,当上述程序被一个或者一个以上的处理器用来执行本申请所述的方法。例如,可以执行图3所示方法的各个步骤。
本申请实施例提供一种计算机程序产品,该计算机程序产品包括指令,当该指令被运行时,使得如本申请实施例描述的方法被执行。例如,可以执行图3所示方法的各个步骤。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其他技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (13)

1.一种主备设备切换方法,其特征在于,应用于业务数据处理系统,所述业务数据处理系统包括主业务服务器、备用业务服务器、主控制服务器、备用控制服务器以及至少一个数据采集模块,所述数据采集模块用于获取不同类型的业务数据;所述主控制服务器、所述备用控制服务器各自包括至少一个控制微服务,所述控制微服务用于转发相应数据采集模块的业务数据,所述方法包括:
所述主控制服务器获取每一所述控制微服务的状态参数,所述状态参数用于表征所述控制微服务的连接状态或数据处理状态;
根据各所述控制微服务的状态参数确定所述至少一个控制微服务的故障情况,基于所述故障情况切换所述主控制服务器为备用状态。
2.根据权利要求1所述的方法,其特征在于,所述基于所述故障情况切换所述主控制服务器为备用状态,包括:
若所述故障情况包括所述至少一个控制微服务中存在出现故障的控制微服务,则切换所述主控制服务器为备用状态;或者,若所述故障情况包括所述至少一个控制微服务中存在故障的微服务数量大于所述备用控制服务器中存在故障的微服务数量,则切换所述主控制服务器为备用状态。
3.根据权利要求1所述的方法,其特征在于,所述主控制服务器获取每一所述控制微服务的状态参数,包括:
所述主控制服务器获取所述控制微服务与所述主控制服务器的处理微服务之间的连接状态;和/或,
所述控制微服务在预设周期内的数据转发量;和/或,
所述控制微服务在预设周期内的数据接收量。
4.根据权利要求3所述的方法,其特征在于,根据各所述控制微服务的状态参数确定所述至少一个控制微服务是否存在故障,包括:
若所述控制微服务与所述主控制服务器的处理微服务之间断开连接,则确定所述控制微服务存在故障;或者,
所述控制微服务在预设周期内未转发数据,则确定所述控制微服务存在故障;或者,
所述控制微服务在预设周期内未接收数据,则确定所述控制微服务存在故障。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述主控制服务器向所述备用控制服务器发送故障情况;所述故障情况用于表征所述主控制服务器的控制微服务是否存在故障和/或存在故障的微服务数量,使得所述备用控制服务器响应于所述故障信息切换为主用状态。
6.根据权利要求5所述的方法,其特征在于,所述主控制服务器向所述备用控制服务器发送故障情况,包括:
所述主控制服务器通过与所述备用控制服务器之间的直连通道向所述备用控制服务器发送所述故障情况;和/或,
通过所述主业务服务器向所述备用控制服务器发送所述故障情况;和/或,
通过所述备用业务服务器向所述备用控制服务器发送所述故障情况。
7.根据权利要求5或6任一项所述的方法,其特征在于,所述故障情况承载于心跳数据包中,所述心跳数据包还包括所述主控制服务器的运行状态。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述主控制服务器获取所述备用控制服务器的心跳数据包;所述心跳数据包包括所述备用控制服务器的运行状态和/或所述备用控制服务器的控制微服务的故障情况;
若所述心跳数据包中的运行状态和/或故障情况表征存在故障,则将所述主控制服务器由备用状态切换为主用状态。
9.根据权利要求8所述的方法,所述备用控制服务器的心跳数据包还包括主业务服务器、备用业务服务器的状态参数;所述方法还包括:
若所述备用控制服务器的心跳数据包中的状态参数表征所述主业务服务器、备用业务服务器正常运行,且所述主控制服务器未接收到所述主业务服务器、备用业务服务器发送的状态参数,则切换为备用状态。
10.一种业务数据处理系统,其特征在于,包括主业务服务器、备用业务服务器、主控制服务器、备用控制服务器以及集成设备,所述集成设备包括至少一个数据采集模块,所述主控制服务器、所述备用控制服务器各自包括至少一个控制微服务,
所述集成设备,用于调用不同的数据采集模块获取不同类型的业务数据,并调用相应的控制微服务上传所述业务数据;
主控制服务器,用于在主用状态下调用所述控制微服务向所述主业务服务器、所述备用业务服务器转发所述业务数据;
所述主业务服务器,用于接收所述业务数据,并根据所述业务数据生成执行指令,并通过所述主控制服务器的控制微服务向所述数据采集模块发送所述执行指令;
所述主控制服务器还用于,获取每一所述控制微服务的状态参数,所述状态参数用于表征所述控制微服务的连接状态或数据处理状态;根据各所述控制微服务的状态参数确定所述至少一个控制微服务的故障情况,基于所述故障情况切换所述主控制服务器为备用状态。
11.根据权利要求10所述的业务数据处理系统,其特征在于,所述主业务服务器、所述备用业务服务器、所述主控制服务器、所述备用控制服务器之间互相发送心跳数据包,所述主控制服务器发送的心跳数据包包括所述备用控制服务器的运行状态和/或所述备用控制服务器的控制微服务的故障情况、所述主控制服务器的运行状态以及所述业务服务器的状态参数。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如权利要求1-9任一项所述的方法。
13.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器运行时实现如权利要求1-9中任一项所述的方法。
CN202311637498.8A 2023-11-30 2023-11-30 一种主备设备切换方法、业务数据处理系统和计算机设备 Pending CN118233284A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311637498.8A CN118233284A (zh) 2023-11-30 2023-11-30 一种主备设备切换方法、业务数据处理系统和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311637498.8A CN118233284A (zh) 2023-11-30 2023-11-30 一种主备设备切换方法、业务数据处理系统和计算机设备

Publications (1)

Publication Number Publication Date
CN118233284A true CN118233284A (zh) 2024-06-21

Family

ID=91496904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311637498.8A Pending CN118233284A (zh) 2023-11-30 2023-11-30 一种主备设备切换方法、业务数据处理系统和计算机设备

Country Status (1)

Country Link
CN (1) CN118233284A (zh)

Similar Documents

Publication Publication Date Title
US9141491B2 (en) Highly available server system based on cloud computing
CN104369748A (zh) 一种轨道车运行控制设备的远程维护监控系统
CN102882704B (zh) 一种issu的软重启升级过程中的链路保护方法和设备
CN112272291B (zh) 视频存储方法、装置、管理设备及可读存储介质
CN110457176A (zh) 用于分布式系统的监控方法、装置、存储介质及电子设备
US10491504B2 (en) System for support in the event of intermittent connectivity, a corresponding local device and a corresponding cloud computing platform
CN103414916A (zh) 一种故障诊断系统及方法
CN107948063B (zh) 一种建立聚合链路的方法和接入设备
CN105577414A (zh) 虚拟机vm资源弹性伸缩处理方法、装置及系统
CN113726573B (zh) 冗余网络通信方法、装置、电子设备及存储介质
CN110768840A (zh) 通信设备的控制方法、装置、设备及存储介质
CN110104033A (zh) 基于云平台的轨道交通监控方法及系统
CN113382056A (zh) 数据上报方法、装置、设备、存储介质及系统
CN110224872B (zh) 一种通信方法、装置及存储介质
CN112799795B (zh) 业务实现方法、进程管理方法、装置、设备及存储介质
WO2024082471A1 (zh) 节点间链路状态监测方法和装置
CN118233284A (zh) 一种主备设备切换方法、业务数据处理系统和计算机设备
CN110928299A (zh) 一种无人车的控制方法及无人车
CN113850033B (zh) 一种余度系统、余度管理方法及可读存储介质
JP3777809B2 (ja) 二重化通信システムの回線異常検出方法
CN110087333A (zh) 一种防止业务中断的方法、装置、设备及存储介质
CN110955210B (zh) Agv调度方法、装置和系统
CN111169510A (zh) 一种列车通信系统
CN118233283A (zh) 业务处理方法、系统、设备、介质和计算机程序
CN112134773B (zh) Mvb总线冗余通信方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination