用于2乘2平台的智能化应用切机方法及系统的制作方法
【技术领域】
[0001] 本发明涉及一种应用切机方法及系统,尤其是涉及一种用于2乘2平台的智能化 应用切机方法及系统。
【背景技术】
[0002] 2乘2取2安全平台由于其维护方便和便于脱机调试的优点,其在国内外铁路和 城市轨道交通领域广泛使用。2乘2结构通常包括一个主系和一个备系,主备切机模块是2 乘2平台的核心技术之一。随着平台应用的多样化,一些应用需要平台提供一个接口,通过 这个接口应用告知平台应用的一些状态,在平台的本身切机条件下如果满足应用定义的状 态组合切机条件,平台需要作出预期的切机反应。
[0003] 目前,在2乘2应用切机接口的设计上,一般根据应用切机的具体需求来设计和实 现具体切机策略,为了兼容不同应用的不同切机策略(可能有的应用没有应用切机需求), 需要根据不同应用具体的一些状态来实现多套切机策略,并使用配置来适配不同的应用。 采用这种多套确定性的切机策略,直接使用应用的一些状态组合作为平台的切机条件,平 台和应用的耦合性增加,当应用有新的切机需求,或者老的需求在某个特定场景下发生改 变,或者平台支持新的应用产生新的切机需求,这种策略下需要改变原来的切机实现或者 增加新的切机实现,平台的可扩展性和自适应性比较差。因此需要针对应用切机接口设计 出智能化的切机策略来满足应用切机的各种变化的需求。
【发明内容】
[0004] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种用于2乘2平台 的智能化应用切机方法及系统,采用健康状态位图来描述各种应用切机状态组合,并使用 自定义的字串表达式来描述位图等级,并通过位图索引表将位图转化为有大小次序的应用 切机条件码来实现应用切机。
[0005] 本发明的目的可以通过以下技术方案来实现:
[0006] -种用于2乘2平台的智能化应用切机方法,其特征在于,包括以下步骤:
[0007] 1)初始化阶段根据应用的健康状态及切机矩阵定义生成健康位图索引表,该表包 括健康位图以及对应的切机条件码;
[0008] 2)主周期阶段根据应用的当前健康位图查找索引表产生切机条件码,交互之后根 据切机条件码执行统一的切机逻辑。
[0009] 2.根据权利要求1所述的一种用于2乘2平台的智能化应用切机方法,其特征在 于,所述的步骤1)具体为:
[0010] 101)应用列出跟切机相关的健康状态信息;
[0011] 102)将健康状态信息组合,并按照健康位图等级字串表达式进行描述;
[0012] 103)将描述后的字串通过初始化健康状态接口 InitHealthState传给系统;
[0013] 104)系统通过位图索引表管理模块,调用字串解析接口,生成健康位图索引表。
[0014] 所述的InitHealthState接口将字串表达式转换为健康位图索引表。
[0015] 所述的步骤2)具体为:
[0016] 201)应用通过设置健康状态接口 SetHealthState设置当前周期的健康状态位 图;
[0017] 202)系统调用位图索引表管理模块,通过当前周期的健康状态位图查找索引表, 生成应用切机条件码;
[0018] 203)系统的主备系交换应用切机条件码;
[0019] 204)根据应用切机条件码执行切机逻辑。
[0020] 所述的根据应用切机码执行切机逻辑具体为:
[0021] 对主系,仅当本系的应用切机条件码小于备系的应用切机条件码且备系是备机状 态时,主机状态降为离线;
[0022] 对备系,仅当本系上周期为备机且本系的应用切机条件码大于备系的应用切机条 件码时,备机升主。
[0023] -种用于2乘2平台的智能化应用切机系统,其特征在于,包括主系和备系,其中 王系和备系均包括:
[0024] 应用接口模块,用于为应用提供初始化健康状态位图和设置健康位图接口;
[0025] 字串解析模块,用于初始化阶段解析健康位图等级定义字串表达式,产生健康位 图索引表;
[0026] 切机条件交换模块,用于主周期运行阶段,主备系交换切机条件码;
[0027] 位图索引表管理模块,分别与应用接口模块、字串解析模块和切机条件交换模块 连接,用于初始化阶段通过健康位图序列生成健康位图索引表;主周期运行阶段根据位图 生成切机条件码;
[0028] 平台切机模块,用于主周期运行阶段,根据主备系交换切机条件码执行切机动作。
[0029] 与现有技术相比,本发明具有以下优点:
[0030] 1)采用健康位图索引表,将应用切机状态转化为切机条件码,降低了平台和应用 之间的耦合性;
[0031] 2)使用切机条件码切机简化和统一了切机逻辑,执行效率和可扩展性更高;
[0032] 3)使用健康位图等级字串表达式来描述切机优先次序,切机逻辑的扩展性及自适 应性更强。
【附图说明】
[0033] 图1为本发明的软件功能模块图;
[0034] 图2为本发明初始化阶段流程图;
[0035] 图3为本发明InitHealthState功能示意图;
[0036] 图4为本发明主周期运行阶段逻辑流程图;
[0037] 图5为本发明SetHealthState功能示意图。
【具体实施方式】
[0038] 下面结合附图和具体实施例对本发明进行详细说明。
[0039] 实施例
[0040] 应用切机一般具有以下两个特点:1)应用切机状态决定应用切机的相关元素,它 是一个集合,包含多个与切机相关的应用的状态;2)应用切机状态的各种情况构成了应用 切机逻辑,我们称之为切机条件矩阵。本发明基于以上两个特点提供了一种智能化应用切 机策略,采用健康状态位图来描述各种应用切机状态组合,并使用自定义的字串表达式来 描述位图等级,并通过位图索引表将位图转化为有大小次序的应用切机条件码来实现应用 切机。
[0041] 本发明提出了智能化应用切机技术,是针对应用切机,因此不考虑平台本身的切 机情况,其主要的工作原理如下:
[0042] 平台提供一种智能化的描述方法,将应用健康状态按比特位来描述(一般情况下 一个比特位,也可使用多个比特位,具体看健康状态类型是布尔还多值类型),并通过位图 字串表达式描述健康状态组合等级优先次序(〈> 表示优先次序,[]表示等价次序)。应 用按照此方法将自身的切机需求(健康状态和切机条件矩阵)转化为字串表达式。初始化 阶段平台通过字串表达式生成健康状态位图索引表。主周期运行阶段,应用通过接口设置 当前健康位图,平台获知后查找索引表之后获取切机条件码,通过切机条件码进行应用切 机操作。对主系,仅当本系的应用切机条件码小于备系的应用切机码且备系是备机状态时, 主机状态降为离线;对备系,仅当本系上周期为备机且本系的应用切机条件码大于备系的 应用切机码时,备机升主。
[0043] 本发明包含由字串解析模块,位图索引表管理模块,切机条件交换模块,平台切机 模块组成,各部分说明如下:
[0044] 1)应用接口模块:为应用提供初始化健康状态位图和设置健康位图接口;
[0045] 2)字串解析模块:初始化阶段解析健康位图等级定义字串表达式,