首页> 中国专利> 空管自动化系统多机主备切换方法及冗余服务系统

空管自动化系统多机主备切换方法及冗余服务系统

摘要

本发明实施例公开了一种空管自动化系统多机主备切换方法及空管自动化冗余服务系统。方法包括:若处于主用状态或缓冲状态,当前计算机定时向外发送第一主用消息,同时接收其他计算机发送的第二主用消息;根据第一主用消息和第二主用消息的优先级进行主备切换;若当前计算机处于备用状态,当前计算机接收其他计算机发送的第二主用消息,并记录接收时间,根据接收时间进行状态切换。本发明能适用于两个及两个以上计算机组成的空管自动化系统的主备切换,可避免出现多个主用计算机同时工作的情况,稳定实现计算机的主备切换,提高了多源数据输入的空管自动化系统数据输入的正确性。

著录项

说明书

技术领域

本发明涉及空中交通管制技术领域,具体涉及一种空管自动化系统多机主备切换方法及空管自动化冗余服务系统。

背景技术

空中交通管制自动化系统(Air Traffic Control System以下简称ATC系统)是供空中交通管制员实时掌握空中飞行态势、实施空中交通管制的最重要技术工具。

管制员通过与ATC系统的交互实现对空中交通的指挥。系统后台数据处理由多个服务器来实现,为了保证系统的稳定性,各服务器实现双机主备工作的方式,由其中一个服务器工作于主用(master)状态,主要进行各种数据的处理和输出,另外一个服务器工作于备用(standby)状态,当主用服务器工作于异常状态时,由备份的服务器切换为主用状态,继续进行数据的处理和输出。同时在多个区位进行集成工作时,还会出现多机主备的工作方式。

飞行数据由一种或者多种数据源合成而产生,因此如果出现多个数据服务器同时工作于主用(master)状态时,产生的数据源会成倍增加,给进行数据合成的模块增加压力,同时也会造成数据的重叠以至于数据错乱。

传统技术:

目前已有很多国内外学者在计算机主备切换算法方面做了很多研究,但绝大部分都是针对双机主备切换,普通的应用场景中双机主备已经能够提高系统的稳定性,但在多源数据的空管自动化系统中,多机主备是切换数据源的重要技术支持。

传统的主备切换算法如下:

1.被动通知法:由作为主备组成的计算机分别接收对方计算机的工作状态,每个计算机单独判断此时系统中应该存在的主备状态。再将该结果发送给主备组成的其他计算机。

2.主动切换法:工作于master状态的计算机向其他工作于standby状态的计算机发送心跳消息,各standby计算机接收该心跳消息,当在一定时间内(参数,一般小于1秒)未能收到来自master的心跳消息时,则本计算机切换为master状态。

传统技术具备以下缺点:

1)传统的被动通知法中,存在计算机在master与standby状态之间发生跳变的情况,尤其是在多机主备的情况下发生的概率增大。

2)传统的主动切换法中,存在多个计算机同时为master状态的情况,当组成主备计算机的数量大于2个时,该情况产生的概率更大。

导致缺点的原因:

1)在传统的被动通知法中由于各计算机状态的互相同步存在时间差,在各个主备组成计算机判断主备状态时存在判断结果差异,从而导致主备状态发生跳变。

2)传统的主动切换法中,主备计算机同时启动或者从连接断开到恢复时,各处于standby状态的计算机判断切换为master的条件一致,各计算机同时满足切换master的条件,从而出现多个master状态计算机。

3)传统的主动切换法中,当组成主备的计算机超过2个时,同时工作于standby状态的计算机数量超过1个,当master计算机失效或者异常的时候,多个备用计算机会同时满足切换master的条件,从而出现多个master状态计算机。

发明内容

本发明实施例的目的在于提供一种新型的空管自动化系统多机主备切换方法及空管自动化冗余服务系统,以稳定实现计算机主备的切换。

为实现上述目的,第一方面,本发明实施例提供了一种空管自动化系统多机主备切换方法,所述空管自动化系统包括至少两个计算机,每一所述计算机包括主用状态、备用状态或缓冲状态,所述多机主备切换方法包括:

若当前计算机处于主用状态或缓冲状态,所述当前计算机定时向外发送第一主用消息,同时接收其他计算机发送的第二主用消息;

根据所述第一主用消息和第二主用消息的优先级进行主备切换;

若当前计算机处于备用状态,所述当前计算机接收其他计算机发送的第二主用消息,并记录接收时间,根据所述接收时间进行状态切换。

其中,所述第一主用消息及第二主用消息均包括手动设置消息、主用状态消息或缓冲状态消息,且所述手动设置消息的优先级高于主用状态消息,所述主用状态消息的优先级高于所述缓冲状态消息。

在本申请某些具体实施方式中,根据所述第一主用消息和第二主用消息的优先级进行主备切换,具体包括:

若所述第一主用消息的优先级高于所述第二主用消息,则保持所述当前计算机处于主用状态;

若所述第一主用消息的优先级低于所述第二主用消息,则将切换所述当前计算机至备用状态;

若所述第一主用消息的优先级与所述第二主用消息相同,则根据所述当前计算机和其他计算机的节点状况进行主备切换。

进一步地,根据所述当前计算机和其他计算机的节点状况进行主备切换,具体包括:

获取所述当前计算机和其他计算机的节点程序异常情况,将节点状态良好的当前计算机或其他计算机保持在主用状态,将节点状态异常的当前计算机或其他计算机切换为备用状态;

若所述当前计算机和其他计算机的节点程序异常情况相同,则将节点号较小的当前计算机或其他计算机作为主用状态。

在本申请某些具体实施方式中,根据接收时间进行状态切换,具体包括:

从所述接收时间算起,若所述当前计算机在预设时间内未收到其他计算机发送的主用消息,则将所述当前计算机切换为缓冲状态。

第二方面,本发明实施例还提供了一种空管自动化冗余服务系统,包括至少两个计算机,每一所述计算机包括主用状态、备用状态或缓冲状态;

若当前计算机处于主用状态或缓冲状态,所述当前计算机定时向外发送第一主用消息,同时接其他用计算机发送的第二主用消息;

所述当前计算机根据所述第一主用消息和第二主用消息的优先级进行主备切换;

若当前计算机处于备用状态,所述当前计算机接收其他计算机发送的第二主用消息,并记录接收时间,根据所述接收时间进行状态切换。

本发明实施例提供的空管自动化系统多机主备切换方法,能适用于两个及两个以上计算机组成的空管自动化系统的主备切换,可避免出现多个主用计算机同时工作的情况(即多个计算机处于master状态),稳定实现计算机的主备切换,提高了多源数据输入的空管自动化系统数据输入的正确性。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1是主备切换状态图;

图2是本发明实施例提供的空管自动化系统多机主备切换方法;

图3是主用消息发送流程图。

具体实施方式

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

传统的主备切换算法中,各组成计算机工作状态有主用状态和备用状态两种工作状态,使用本申请的新型方法进行主备切换时,计算机的工作状态在原有的两种状态中抽象出第三种状态为缓冲状态,各个状态的说明如下:

(1)主用状态时,计算机工作在主用状态,主用状态计算机向其他备用状态的计算机定时250ms发送主用消息,同时也接收其他备用节点的主用消息用以判断主机工作状态;

(2)备用状态时,计算机工作在备用状态,该计算机接收其他主用计算机发送的主用消息用以判断主机工作状态;

(3)缓冲状态时,计算机工作在备用状态,该计算机向其他备用计算机定时50ms发送主用消息,同时也接收其他备用计算机发送的主用消息用以判断主机工作状态。

其中,各个状态之间的转换如图1所示。

需要说明的是,本发明的空管自动化系统多机主备切换方法,适用于包括2个及2个以上计算机组成的空管自动化系统的主备切换,该空管自动化系统是一主一备或者一主多备。且,每一计算机均有主用状态、备用状态和缓冲状态三种。

请参考图2,本发明提供的空管自动化系统多机主备切换方法包括:

S101,若当前计算机处于主用状态或缓冲状态,所述当前计算机定时向外发送第一主用消息,同时接收其他计算机发送的第二主用消息。

S102,根据所述第一主用消息和第二主用消息的优先级进行主备切换。

S103,若当前计算机处于备用状态,所述当前计算机接收其他计算机发送的第二主用消息,并记录接收时间,根据所述接收时间进行状态切换。

其中,所述第一主用消息及第二主用消息均包括手动设置消息、主用状态消息或缓冲状态消息,且所述手动设置消息的优先级高于主用状态消息,所述主用状态消息的优先级高于所述缓冲状态消息。

在本实施例中,根据所述第一主用消息和第二主用消息的优先级进行主备切换,具体包括:

若所述第一主用消息的优先级高于所述第二主用消息,则保持所述当前计算机处于主用状态;

若所述第一主用消息的优先级低于所述第二主用消息,则将切换所述当前计算机至备用状态;

若所述第一主用消息的优先级与所述第二主用消息相同,则根据所述当前计算机和其他计算机的节点状况进行主备切换。

在本实施例中,根据所述当前计算机和其他计算机的节点状况进行主备切换,具体包括:

获取所述当前计算机和其他计算机的节点程序异常情况,将节点状态良好的当前计算机或其他计算机保持在主用状态,将节点状态异常的当前计算机或其他计算机切换为备用状态;

若所述当前计算机和其他计算机的节点程序异常情况相同,则将节点号较小的当前计算机或其他计算机作为主用状态。

在本实施例中,根据所述接收时间进行状态切换,具体包括:

从所述接收时间算起,若所述当前计算机在预设时间内未收到其他计算机发送的主用消息,则将所述当前计算机切换为缓冲状态。

结合前述对计算机三种状态的说明及图1可知,处于任一状态(主用状态、备用状态或缓冲窗台)的计算机均可向其他计算发送/接收主用消息,方法流程中的第一和第二主用消息仅是为了区分不同计算机而已,实际上都是主用消息。

进一步地,在本实施例中,处于主用状态和缓冲状态计算机分别以周期250ms和50ms执行发送主用消息处理流程向其他备用计算机发送主用消息,计算机处于缓冲状态持续保持150ms则进入主用状态。如图3所示,主用消息的发送流程为:

判断计算机当前是否为缓冲状态,若是,继续判断缓冲状态次数是否大于3次,若大于3次,则将当前计算机切换为主用状态,清空缓冲状态计数。若不大于3次,则设置发送消息参数为:缓冲状态,间隔时间50ms,缓冲计数递增。

若当前计算机不是缓冲状态,则计算判断其是否为主用状态。若为主用状态,则手动设置主用状态标识是否大于0。若大于0,则设置发送消息参数为:手动设置为主用状态,间隔时间50ms,手动设置主用标识递减。若小于0,则设置发送消息参数为:主用状态,间隔时间250ms。

在完成发送消息参数设置后,判断当前时间是否达到了间隔时间,若是,则向外发送主用消息,并记录发送时间,若否,则结束。

对应地,处于主用状态、备用状态和缓冲状态的计算机均接收其他计算机发送的主用消息,各状态下处理主用消息的流程为:

(1)处于主用状态和缓冲状态的计算机接收到其他计算机节点的主用消息,首先根据消息优先级判定自身需要保持的主备状态,优先级高的节点保持主用状态,优先级低的节点切换到备用状态,各状态消息的优先级的定义为:手动设置消息>主用状态消息>缓冲状态消息。相同优先级的消息判断计算机节点程序异常情况,节点状态良好的主机节点保持主用状态,节点状态更加异常的计算机节点切换为备用状态,如果节点异常情况一致,则采用节点号较小的主机作为主用状态。

(2)处于备用状态的计算机接收到其他计算机节点的主用消息,记录接收时间。如果500ms未收到任何节点的主用消息,则该计算机节点切换为缓冲状态。

从以上描述可以得知,本发明实施例提供的空管自动化系统多机主备切换方法,能适用于两个及两个以上计算机组成的空管自动化系统的主备切换,可避免出现多个主用计算机同时工作的情况(即多个计算机处于master状态),稳定实现计算机的主备切换,提高了多源数据输入的空管自动化系统数据输入的正确性。

基于相同的发明构思,本发明实施例提供了一种空管自动化系统,包括至少两个计算机,每一所述计算机包括主用状态、备用状态或缓冲状态;

若当前计算机处于主用状态或缓冲状态,所述当前计算机定时向外发送第一主用消息,同时接其他用计算机发送的第二主用消息;

所述当前计算机根据所述第一主用消息和第二主用消息的优先级进行主备切换;

若当前计算机处于备用状态,所述当前计算机接收其他计算机发送的第二主用消息,并记录接收时间,根据所述接收时间进行状态切换。

进一步地,根据所述第一主用消息和第二主用消息的优先级进行主备切换,具体包括:

若所述第一主用消息的优先级高于所述第二主用消息,则保持所述当前计算机处于主用状态;

若所述第一主用消息的优先级低于所述第二主用消息,则将切换所述当前计算机至备用状态;

若所述第一主用消息的优先级与所述第二主用消息相同,则根据所述当前计算机和其他计算机的节点状况进行主备切换。

进一步地,根据所述当前计算机和其他计算机的节点状况进行主备切换,具体包括:

获取所述当前计算机和其他计算机的节点程序异常情况,将节点状态良好的当前计算机或其他计算机保持在主用状态,将节点状态异常的当前计算机或其他计算机切换为备用状态;

若所述当前计算机和其他计算机的节点程序异常情况相同,则将节点号较小的当前计算机或其他计算机作为主用状态。

进一步地,根据所述接收时间进行状态切换,具体包括:

从所述接收时间算起,若所述当前计算机在预设时间内未收到其他计算机发送的主用消息,则将所述当前计算机切换为缓冲状态。

需要说明的是,关于空管自动化系统更为详细的流程,请参考前述方法实施例部分,在此不再赘述。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号