基于Paxos的列车自主线路资源管理系统设计
2022-05-09陈嘉钰徐中伟
陈嘉钰,徐中伟,梅 萌
(同济大学 电子与信息工程学院,上海 201804)
0 引 言
近年来,城市轨道交通发展迅猛。轨道交通的快速建设也推动了其关键技术和设备的发展,进一步降低系统故障率和维护成本、提高设备智能化水平、提高运输能力是列车控制系统发展的方向。
随着多模通信、卫星定位、动态间隔控制和运能动态配置技术的飞速发展,以及5G、云计算和分布式等新兴技术的极大发展,为下一代轨道交通信号系统提供了更多方向。
基于车车通信的列车自主运行系统,即TACS(Train Autonomous Circumambulate System),是目前全球轨道交通重点攻关的下一代列控系统,是指列车基于运行计划和实时位置实现自主资源管理并进行主动间隔防护的列控系统,该系统以车地联锁和车车协同的方式使列车能以更高速度更大密度运行。
在TACS系统中,列车自主管理线路资源仍是亟待解决的热点问题[1]。该文就TACS系统,针对线路资源管理问题,提出一种以列车自主管理资源代替集中联锁的分布式架构,设计了新型线路资源管理子系统结构,基于Paxos算法提出一种切实可行的自主资源管理机制。
1 TACS系统下的线路资源管理问题
1.1 当前列控系统中的线路资源管理方法
当下国内的轨道交通网主要使用的列车控制系统[2]均以地面设备作为实现列车控制功能的核心设备,以“车—地—车”的闭环模式控车。
在当前的信号系统中,线路资源主要通过计算机联锁设备(CBI)以办理进路(运行路径)和开放进路的方式进行集中管理、集中分配。CBI通过确保进路上列车对轨道区段、道岔等实体或虚拟资源的独占性来保障安全。进路本身是一个粒度较大的资源,是轨道区段、道岔、屏蔽门等实体或虚拟资源的集合。
当列车进站时,需要提前向CBI申请进路办理,CBI判断进路条件符合时对进路资源锁闭,开放进路。进路开放后,列车驶入,同时逐段释放资源。在此过程中,进路中所有资源被一次性锁定;在列车运行过程中才逐段释放。这就导致线路资源的时空利用率低。此外,这种方式逻辑相对简单,但需要的地面设备多、维护成本高且灵活性低。随着轨道交通运营能力加强,传统的联锁设备已无法满足运行需求[3]。
1.2 列车自主线路资源管理
目前,学界也提出了许多新方案来实现灵活度更高、维护成本更低的线路资源管理。文献[4]以最小到达间隔为目标函数,建立进路分配模型。沿着“联锁列控一体化”这一思路,文献[5]提出了无ZC无CI的新型CBTC系统,将原本地面设备功能分散到车载设备中。文献[6]从资源自主调配的角度研究下一代联锁,通过建立双车动态规划模型给出资源分配策略,但场景较为简单,尚未考虑多车甚至车队间的资源调度策略。文献[7]提出以集中式OC进行进路资源分配,但这一做法仍旧保持了对地面设备的依赖,并且线路资源管理粒度过大。
TACS系统将极大地精简地面设备,且对线路资源管理的效率有着更高要求。
联锁论认为,不同资源状态间存在制约关系,也称为联锁关系。通过锁闭与被控对象有联锁关系的资源,来保证系统运行时的安全问题。从联锁论的角度,传统计算机联锁中的进路控制功能实现的是对线路资源的安全管理。在TACS系统中,仍存在通过联锁来保证安全的需求。
该文所研究的TACS系统如图1所示,主要设备包括控制中心(ATS)、车载设备以及轨旁的资源管理控制器(WRC),其中目标控制器(OC)是WRC的一部分。
图1 TACS系统示意图
提出一种以车载设备与地面设备的分布式协同替代计算机联锁集中管理的方案。列车通过自主资源管理来确保自身运行路径上一定范围内资源状态正确,空间无冲突(联锁关系正确);在已获得的资源范围内进行主动列车间隔防护。
这一改变意味着传统联锁设备中的进路控制功能在TACS系统下转变为资源管理和控制功能,舍弃进路这一概念,但沿用联锁理论。线路资源粒度精细化,按需申请、锁闭,按序释放。这一做法能够极大地提高资源管理的效率和可靠性,但也带来了新的挑战。
2 整体技术方案
基于精简地面设备、增强车载自主功能的原则,参考分布式存储系统的设计理念,在设备智能化水平提高和网络时延可忽略不计的前提下,沿用广义联锁理论对列车自主资源管理策略进行设计
2.1 自主资源管理功能需求分析
列控系统是典型的安全苛求系统,自主资源管理子系统应具有高可用性,满足故障-安全导向性。
列车行驶的场景分为区间行车和站内行车。区间场景较为简单,列车通过车间间隔防护即可保证行车安全和资源高效分配[8]。站内行车场景复杂,涉及线路资源种类多且复杂,同时存在多辆车抢占同一资源的情况。TACS系统在站内不再设有轨道电路和信号机,仅在设置轨旁资源控制器WRC完成线路资源状态采集和道岔驱动功能,列车将通过与轨旁设备及其余车辆交互信息来变更、同步线路资源的相关信息。
因此,自主资源管理系统实际上是一个分布式协同系统,需要保证资源状态的一致性并能保证仅在联锁关系正确的情况下对资源进行占用,并能及时释放资源。
2.2 列车自主资源管理子系统架构
2.2.1 信息交互分析
TACS系统极大精简地面设备的本质是对软件模块的极大整合,这也是联锁列控深度一体化的体现。整合后,分析各模块间的信息交互对明确各模块功能和设计列车自主资源管理子系统具有重要意义。
TACS系统的信息交互如图2所示,为方便线路资源关系子系统设计,本图以资源管理单元为核心,主要分析车载设备、调度中心以及轨旁设备之间的信息交互。其中,当列车在站内行车时,与站内其余车辆及WRC构建自组网进行通信。
图2 列车自主资源管理子系统信息交互图
(1)车载资源管理单元在车载设备内的信息交互。
在车载设备内部,资源管理单元主要与列控模块和电子地图进行交互。列控模块根据列车行车计划、临时限速、线路资源状态、站内列车位置、实时车速以及车辆位置等信息自主计算车辆的实时MA,并将需要申请的资源信息发给资源管理单元。资源管理单元将资源申请回执返回给列控模块,并将实时线路资源信息同步给电子地图。列控模块通过电子地图来获取实时线路信息。
(2)车载设备与调度中心的信息交互。
调度中心通过运能需求及列车信息[9]动态制定列车行车计划,通过多模通信网关和中心通信网关发送给车载设备。列控模块也基于行车计划进行行车规划,并实时将自己的运行状态信息发送给列车管理单元。
(3)车载资源管理单元与轨旁资源控制器的信息交互。
车载设备通过当前自组网内其余车载设备及轨旁资源控制器的信息交互进行资源申请和释放,当资源申请成功时,WRC对资源采取对应操作(如道岔反位),并将操作结果返回给车载设备。同时,WRC兼有信息采集的功能,当线路资源状态变更(如某段轨道故障占用)时,也需同步到网内其余设备。
(4)车载设备之间的信息交互。
车载设备间通过无线自组网,相互交换自己的运行状态信息及线路资源信息,从而使得每辆车能根据站内各车位置的分布及运行状态进行合理的线路规划;同时,也能解决车辆间的线路资源抢占问题,同时确保所有车辆存储的线路资源信息一致。
2.2.2 自主资源管理子系统各模块功能
在TACS系统架构下,列车的自主资源管理功能通过车车、车地之间的分布式协同完成。自主资源管理子系统在实际系统中的分布如图3所示。
图3 列车自主资源管理子系统结构图
相比于传统的列控系统,自主资源管理子系统功能分散在车载设备和轨旁资源控制器中。
车载设备中的资源管理单元主要根据列控模块传来的资源需要信息进行资源申请,并将资源申请结果同步给电子地图和列控模块。当资源申请失败时,列控模块会重新规划行车路线,并将新的资源需要信息发送给资源管理单元。
轨旁资源控制器中的资源管理单元除了和车载资源管理单元协同完成线路资源的申请与释放外,由于兼具线路资源状态采集功能,如在地震或异物侵限情况下,需要对线路资源状态进行变更。
这一设计较传统列控系统更加灵活。列车能够根据自身的运行状态和行车规划按需申请,而传统列控系统需要一次性锁闭大量线路资源。此外,当发生地震或异物侵限等危险情况时,车地直接通信也极大地优化了信息流传递环节。
2.3 自主资源管理机制设计
自主资源管理系统为线路资源分配服务,确保列车安全及时地申请、释放资源。站内行车时,自组网内参与者包括若干车辆和WRC,每个参与者都能申请变更线路资源状态,各自存储当前线路资源状态,系统中不再有一个协调者专门来管理线路资源状态。这正是TACS系统下的自主资源管理面临的新挑战:保证运行时系统中不同参与者能就线路资源状态达成一致。
这一问题本质上是分布式一致性问题。Paxos算法及其衍生算法[10-13]广泛使用于现今主流的分布式一致性解决方案中[14-15]。从Paxos算法出发,基于轨道交通应用场景对自主资源管理机制进行设计。
角色划分:
该文沿用基本Paxos算法对逻辑角色的划分,分为提案者、审核员以及记录者。在实现上每个处理节点可以有多个角色,这有助于减小网络时延。
两阶段约束:
本机制不仅沿用Paxos算法中的约束条件,也基于实际应用场景提出新的约束条件。
(1)审核员必须接受它接收到的第一个提议。
(2)超半数审核员允许了某个申请后,这个申请才算通过。
(3)审核员通过申请(编号n)的充要条件是申请内容合法且审核员没有批复过任何编号大于n的请求。
申请内容是否合法的判断条件如下:
(1)申请占用的资源若已被占用,则申请无效。
(2)只有原先申请占用资源者或WRC能释放资源。
图4 列车自主资源申请时序图
审核员收到同步申请时,若此申请不与其他处于通过未同步的申请存在联锁关系冲突,则响应同步;否则,只响应申请编号最大的同步申请,并拒绝其他存在冲突的申请。
两阶段协议:
第一轮交互:申请阶段。
申请:提案者选定一个申请编号n,加上申请资源的信息,向所有审核员广播。
审核:审核员收到提案者的申请,若满足申请通过条件则返回申请通过回执,反之则返回申请失败回执。
第二轮交互:同步阶段。
发起同步申请:当提案者收到超半数的允许申请回执后,提案者向所有审核员广播同步申请,带上申请编号n和申请资源信息。
响应同步申请:审核员收到同步申请后,若符合条件则响应,反之拒绝。
实现资源锁闭:若提案者收到了所有审核员的同步响应,则认为资源锁闭成功,同时广播给记录员。若在规定时间内没有收全,则认为申请失败。
根据上述机制,一次成功的资源申请流程如图4所示。
3 系统测试与分析
为了解列车自主资源管理机制的性能,对系统进行测试。
3.1 运行环境配置
运行环境配置见表1。
表1 运行环境配置
3.2 测试结果与分析
在三台机器上分别模拟了5个车载设备和2个WRC,使用go语言编程,使用docker托管。在每秒平均请求数为1 200次,读写比约为3.3∶1的情况下,使7个设备随机发出资源变更或同步申请,对系统进行测试,结果如图5所示。
图5 系统测试结果
当不断加大每秒平均请求数时,系统性能表现如图6所示。
图6 不同请求数下的系统测试结果
测试结果表明,随着系统每秒平均请求次数的增加请求完成的平均耗时也随之增大。但即使在系统每秒平均请求数为12 000次时,系统也能在合理时间范围内完成操作。
4 结束语
针对新型列控系统TACS下的列车自主线路资源管理问题进行研究,提出了以车地分布式协同代替集中联锁控制进路的方案。以线路资源管理单元为中心,分析了系统内各模块间的信息交互。基于Paxos算法,提出了切实可行的自主资源管理机制,对子系统进行设计。并基于典型场景对系统进行测试,证明系统能高效实现功能。
这一设计能极大简化设备,减少设备维护压力,提高线路资源利用率,能适应更高速更密集的轨道交通运行需要,该设计也将为其他新型列控系统的设计提供参考。列车自主资源管理子系统也将为列车移动授权计算带来巨大挑战,要使TACS系统真正发挥潜力还需要更多技术革新带来活力。