首页> 中国专利> 一种基于第三态的双机热备系统的实现方法

一种基于第三态的双机热备系统的实现方法

摘要

本发明公开了一种基于第三态的双机热备系统的实现方法,从用户级引入除主、备以外的第三种工作状态,即“中间态”,充分利用双机通道,实现备机服务器对某个或某几个独立用户的数据代理,在网络资源发生多点故障情况时,以最大可能保证了所有用户的数据传输,不影响CTC/TDCS系统的业务数据传输,极大的提高了系统应对多点故障的能力。

著录项

说明书

技术领域

本发明涉及轨道交通技术领域,尤其涉及一种基于第三态的双机热备系统的实现方法。

背景技术

CTC/TDCS系统(调度集中控制系统/列车调度指挥系统)是现代轨道交通的重要组成部分,主要用于监督和控制列车的运行,是调度人员管理全线列车的重要依托工具,对提高运输效率和保障运行安全有不言而喻的意义。其中,通信类服务器作为数据处理及中转中心,其稳定、可靠地运行,是整个系统正常运转的前提。

目前将服务器类程序部署为双机,可以为系统稳定运行提供双重保障。以运行安全为第一要义,从源头上保证数据输出的一致性,选择双机主备的工作方式。但若双机同时参与数据的处理及收发,则可能因网络环境的差异,导致数据接收终端收到两份不一致的数据,从而可能会影响到自动排路、车次追踪等重要功能,这对于铁路调度系统是极其危险的。

CTC/TDCS系统中,承载通信功能的服务器类子系统多数为双机主备的工作方式,如中心应用服务器、通信前置机、分机、站机通信服务及各接口类服务器等。如图1所示,展示了各服务器的连接示意图。

服务器程序根据配置文件运行为A机和B机,分别部署到两台硬件设备,通过网络连接建立通信。当双机间通信正常时,同时只能有一台服务器运行为主机,另一台服务器则运行为备机。主机负责业务数据的接收、处理和发送;备机只接收主机的同步业务数据,与主机以外的其它设备无任何业务数据上的交互。

不同层级的服务器间只能通过“主-主”通道传输数据,“主-备”、“备-主”、“备-备”等通道均不进行数据收发。而其中接口类服务器(如分机、TSRS接口等)需先确保与上层服务器的“主-主”通道正常,才与外部设备(如联锁、列控、TSRS等)进行数据传输。如TSRS(临时限速服务器)接口A与应用服务器“主-主”通道连接正常时,才与TSRS建立安全连接并传输数据。

现有方案过于依赖于“主-主”通道的正常连接,当服务器与上层服务器“主-主”通道断开时,被迫降为备机,而此时双机对端与各用户的连接情况可能并不如本端。此外,双机同时只能有一个参与数据传输,大大地限制了双机的高可用性。当遇到单点故障,尚可通过切换双机的主备状态来保证系统的正常运转,但当遇到多点故障时,却只能放弃一些用户的数据传输。例如,如图2所示,当分机A与用户1(联锁)断开,分机B与用户2(列控)断开,无论分机的A机、B机哪个为主机,都只能保证其中一个用户的数据传输。

发明内容

本发明的目的是提供一种基于第三态的双机热备系统的实现方法,从用户级引入除主、备以外的第三种工作状态,充分利用双机通道,实现备机服务器对某个或某几个独立用户的数据代理,在网络资源发生多点故障情况时,不影响CTC/TDCS系统的业务数据传输。

本发明的目的是通过以下技术方案实现的:

一种基于第三态的双机热备系统的实现方法,包括:

双机服务器,各自通过自身工作状态以及自身服务器内各用户的连接状态、或者再结合第一通道获得的对端服务器的状态及对端服务器内各用户的连接状态,来判定自身服务器内各用户的工作状态;当主机服务器内用户断开连接,备机服务器内对应的用户连接正常时,主机与备机服务器中的相应的两个用户的工作状态为中间态;

主机服务器通过第二通道向备机服务器发送实时数据信息,并且主机与备机服务器还通过第二通道相互传输中间态用户的业务数据信息。

由上述本发明提供的技术方案可以看出,从用户级引入了主、备以外的第三种工作状态,即“中间态”;在此状态下,主备机服务器相应的某个用户同时处于激活状态,实现了主备机服务器的协同工作,以最大可能保证了所有用户的数据传输,从而在不影响系统功能的前提下,极大的提高了系统应对多点故障的能力。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明背景技术提供的CTC/TDCS系统中各服务器的连接示意图

图2为本发明背景技术提供的单点故障示意图;

图3为本发明实施例提供的一种基于第三态的双机热备系统的实现方法的流程图;

图4为本发明实施例提供的服务器单机-主机运行的示意图;

图5为本发明实施例提供的服务器单机-备机运行的示意图;

图6为本发明实施例提供的服务器双机-双备运行的示意图;

图7为本发明实施例提供的服务器双机-主备运行的示意图;

图8为本发明实施例提供的双机之间的通信通道示意图;

图9为本发明实施例提供的双机之间的通道及数据传输路径示意图;

图10为本发明实施例提供的发生多点故障时的数据传输路径示意图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明实施例提供一种基于第三态的双机热备系统的实现方法,如图3所示,该方法主要包括:

双机服务器,各自通过自身工作状态以及自身服务器内各用户的连接状态、或者再结合第一通道获得的对端服务器的状态及对端服务器内各用户的连接状态,来判定自身服务器内各用户的工作状态;当主机服务器内用户断开连接,备机服务器内对应的用户连接正常时,主机与备机服务器中的相应的两个用户的工作状态为中间态;

主机服务器通过第二通道向备机服务器发送实时数据信息,并且主机与备机服务器还通过第二通道相互传输中间态用户的业务数据信息。

该方法从用户级引入了主、备以外的第三种工作状态,即“中间态”;在此状态下,主备机相应的某个用户同时处于激活状态,实现了主备机的协同工作,以最大可能保证了所有用户的数据传输,从而在不影响系统功能的前提下,极大的提高了系统应对多点故障的能力。

为了便于理解,下面针对上述方法主要原理做详细的介绍。

一、系统级状态和用户级状态的划分。

本发明实施例中,系统级状态,是指服务器自身的工作状态,即主机状态或备机状态。服务器单机运行时,状态可能是“主机状态”,也可能是“备机状态”;双机运行时,其状态组合有“一主一备”和“双备”,但不可能是“双主”(禁止双主)。

本发明实施例中,用户级状态,是指服务器所连接的用户的状态,而其又细分为连接状态(即TCP连接)和工作状态。连接状态包含“连通状态”和“断开状态”,工作状态则包含“主状态”、“备状态”以及“中间态”。本发明实施例中,连接到服务器的每一个设备都可以理解为一个用户,设备可以是联锁设备、列控设备等。

二、系统级状态的判断逻辑。

本发明实施例中,主要考虑双机服务器的情况,第一服务器记为A机,第二服务器记为B机。A机、B机要先判断自身的主备状态,再判断所连用户的工作状态,然后才会根据不同的用户工作状态决定如何传输数据。鉴于CTC/TDCS系统使用需要,要先保证对内传输通道正常,才与外部设备建立数据通信。因此为A/B机能否升主设定一个前提条件:与上层服务器连接正常。这与现有方案的不同之处在于,现有方案要求与上层服务器的主机连接,而本方案对上层服务器的主备无要求,只要有连接即可。只有满足这一条件时,才具有主备切换的可能,否则只能维持备机状态不变。

本发明实施例中,双机服务器主备状态的切换,主要包括:由备机状态切换为主机状态、以及由主机状态切换为备机状态。

1、由备机状态切换为主机状态。

双机服务器初始启动时,默认自身均为备机,若本端服务器与对端服务器持续不能建立连接(即超出设定时间都无法建立连接),则本端服务器升为主机状态;此情况下可以通过常规计算来避免出现双主的情况。

或者,双机服务器同时启动时,第一服务器,即A机为主机状态;第二服务器,即B机为备机状态;

或者,备机服务器通过第一通道收到主机服务器发送的倒机控制信息后,升为主机状态;

或者,备机服务器在规定时间内无法收到对端服务器的工作状态,则升为主机状态。

2、由主机状态切换为备机状态。

主机服务器与上层服务器连接断开,则降为备机状态;

或者,主机主动向备机服务器发送倒机控制信息后,降为备机状态。

只有在上述情况下才会发生主备切换,其余情况下均维持当前状态不变。

三、用户级工作状态的判断逻辑

本发明实施例中,引入了一个新的工作状态,也即“中间态”。用户级工作状态的判断条件是根据当前的系统中双机服务器通信通道的连通状态,结合如下多个状态的组合来实现:本端系统级状态、本端用户连接状态、对端系统级状态、对端用户连接状态。

1、如果当前服务器为主机,且无法通过第一通道获取对端服务器的工作状态以及对端服务器内各用户的连接状态,如图4所示,此时双机之间的通道断开,本端服务器无法获得对端服务器的状态以及对端服务器内用户连接状态,此情况可以理解为服务器单机-主机运行。

此情况下:若当前服务器内用户连接正常,则工作状态为主状态;若连接断开,则处于非工作状态。

2、如果当前服务器为备机,且无法通过第一通道获取对端服务器的工作状态以及对端服务器内各用户的连接状态,如图5所示,此时双机之间的通道断开,本端服务器无法获得对端服务器的状态以及对端服务器内用户连接状态,此情况可以理解为服务器单机-备机运行。

此情况下:若当前服务器内用户连接正常,则工作状态为备状态;若连接断开,则处于非工作状态。

3、如果双机服务器均处于备机状态,如图6所示,此时双机通道连接正常,双机均为备机状态。

此情况下:如果双机服务器均处于备机状态,则服务器内用户连接正常时,工作状态为备状态;连接断开时,处于非工作状态。

4、如果双机服务器均处于主备机状态,如图7所示,此时双机通道连接正常,一服务器为主机状态,另一服务器为备机状态。

此情况下:

1)对于主机服务器:主机服务器的用户连接正常,则用户状态为主状态;主机服务器用户以及备机服务器内对应用户连接断开,相应的两个用户则处于非工作状态;若主机服务器用户断开连接,备机服务器内对应的用户连接正常时,主机与备机服务器中的相应的两个用户的工作状态为中间态。

2)对于备机服务器:主机与备机服务器内相应的两个用户均连接正常,则备机服务器内对应用户状态为备状态;备机服务器内用户连接断开,用户则处于非工作状态;备机服务器内用户连接正常,主机服务器内对应用户连接断开,主机与备机服务器中的相应的两个用户的工作状态为中间态。

四、双机通道。

本发明实施例中,双机服务器中建立了双方通信的通道,也即前文所述的双机通道。

双机之间交互的信息有两种:握手信息和业务数据信息。握手信息用于双机之间的连接维持和状态判断,业务数据信息则是在双机通道可用的情况下,要从双机通道传输的数据信息。

根据两种信息的不同用途,在双机之间建立2条独立的逻辑通道:第一通道与第二通道。

如图8所示,所述第一通道为倒机通道,用于双机服务器之间定时发送握手信息;所述握手信息包括:服务器自身状态以及服务器内各用户的连接状态。如前文所述,A机B机根据本端状态和对端状态来判断各自用户的工作状态。此外,双机主备状态切换时,主机通过倒机通道向对端发送倒机控制信息,通知对端升主。

所述第二通道为同步通道(又称双机同步通道),用于传输业务数据信息,包括:正常工作情况下,主机服务器向备机服务器发送的实时数据信息(保证倒机时数据不会丢失,备机不向主机发送数据),以及主机与备机服务器中出现中间态用户时,主机与备机服务器相互传输中间态用户的业务数据信息(能够在发生单点/多点故障情况时,不影响CTC/TDCS系统的业务数据传输)。

五、不同用户在不同工作状态下关联的通道及相应的数据传输路径。

本发明实施例中,主机服务器与备机服务器内的用户均为一对一的关系,即主机服务器内任一用户在备机服务器存在相对应的用户;每一服务器中每一用户均设有与外部设备通信的用户连接通道;这一原理在前文提供的图4~图7中均有体现。

如图9所示,每一服务器中每一用户在不同工作状态下关联的通道及相应的数据传输路径包括:

1)主机服务器中,主状态用户关联其用户连接通道。

2)主机服务器中,中间态用户关联第二通道,即同步通道。

3)主机服务器中,主状态用户以及中间态用户的业务数据信息,通过用户关联的通道进行业务数据信息的收发。具体来说,主状态用户可以利用其管理的用户连接通道进行数据收发;中间态用户利用其关联的第二通道与备机服务器中对应用户之间进行数据收发。

4)备机服务器中,备状态用户关联其用户连接通道。

5)备机服务器中,中间态用户关联第二通道与自身的用户连接通道。

6)备机服务器中,备状态用户不通过其关联的用户连接通道进行数据收发(更不会处理数据)。

7)备机服务器中,中间态用户通过其用户连接通道接收数据,并通过第二通道向主机服务器中对应用户发送数据,以及通过第二通道接收数据后,通过的用户连接通道向外发送数据。

8)主机服务器通过与上层服务器主机之间的主-主通道,和/或与上层服务器备机之间的主-备通道,上传业务数据信息。此时的“和/或”关系主要考虑主机服务器与上层服务器主机、上层服务器备机的连接通道状态;若主-主通道与主-备通道均连接正常,则利用两个通道同时上传业务数据信息,图9给出的该情况下的示例;如果主-主通道或者主-备存在断开的情况,则利用正常连接的通道上传业务数据信息。

本发明实施例中,通过在用户级引入第三种工作状态,充分发挥双机通道连接正常的条件,为类似图2所示的问题提出了解决方案,同时加强了系统应对多点故障的能力。基于上述原理,当出现如图10所示的多点故障时,可以将原本与主机服务器(即分机A)连接断开的用户(用户1)的业务数据信息,通过备机服务器中转至主机服务器(即备机服务器中的用户1→双机同步通道→主机服务器中的用户1),再由主机服务器通过“主-主”通道或“主-备”通道发送至上层服务器(图10以分机A与前置机B之间的主-备通道为例),之后,前置机B通过与前置机A之间的双机同步通道进行数据交互,这样同时保证了数据传输的一致性和完整性。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号