1.本发明属于轨道交通技术领域,尤其涉及一种列车进路办理方法、装置、设备及存储介质。
背景技术:2.现有技术中进路选择是难点,需要生成进路的有向图,通过图的搜索生成相应路径,有向图搜索算法复杂且极易出错,由其对于环路搜索路径存在局限性。
技术实现要素:3.本发明的目的在于提供一种列车进路办理方法、装置、设备及存储介质,旨在解决由于现有技术中通过有向图搜索算法选择进路导致的复杂度高、安全系数低的问题。
4.一方面,本发明提供一种列车进路办理方法,所述方法包括下述步骤:
5.从自动进路消息队列中获取进路触发请求消息,根据所述进路触发请求消息获取列车车组号;
6.根据所述列车车组号获取列车控制模式,判断所述列车控制模式是否为自动控制模式;
7.若所述控制模式为自动控制模式,则根据所述列车车组号获取列车信息,所述列车信息包括列车类型;
8.若所述列车类型为头码车,则通过第一进路配置信息获取第一进路列表,若所述列车类型为计划车,则通过交路配置信息获取所述第一进路列表;
9.根据所述第一进路列表触发进路。
10.另一方面,本发明还提供了一种列车进路办理装置,所述装置包括:
11.消息获取单元,用于从自动进路消息队列中获取进路触发请求消息,根据所述进路触发请求消息获取列车车组号;
12.控制模式判断单元,用于根据所述列车车组号获取列车控制模式,判断所述列车控制模式是否为自动控制模式;
13.列车信息获取单元,用于若所述控制模式为自动控制模式,则根据所述列车车组号获取列车信息,所述列车信息包括列车类型;
14.进路列表获取单元,用于若所述列车类型为头码车,则通过第一进路配置信息获取第一进路列表,若所述列车类型为计划车,则通过交路配置信息获取所述第一进路列表;以及
15.进路触发单元,用于根据所述第一进路列表触发进路。
16.另一方面,本发明还提供了一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
17.另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质
存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
18.本发明通过从自动进路消息队列中获取进路触发请求消息,根据进路触发请求消息获取列车车组号,根据列车车组号获取列车控制模式,判断列车控制模式是否为自动控制模式,若控制模式为自动控制模式,则根据列车车组号获取列车信息,该列车信息包括列车类型,若列车类型为头码车,则通过第一进路配置信息获取第一进路列表,若列车类型为计划车,则通过交路配置信息获取第一进路列表,并根据第一进路列表触发进路,以避免直接通过有向图搜索带来的不确定因素,从而提高了进路的稳定性和安全性。
附图说明
19.图1是本发明实施例一提供的列车进路办理方法的实现流程图;
20.图2是本发明实施例二提供的通过第一进路配置信息获取第一进路列表的流程示例图;
21.图3是本发明实施例三提供的通过交路配置信息获取第一进路列表的流程示例图;
22.图4是本发明实施例四提供的根据第一进路列表触发进路的流程示例图;
23.图5是本发明实施例五提供的部分进路的有向图的结构示例图;
24.图6是本发明实施例六提供的列车进路办理装置的结构示意图;以及
25.图7是本发明实施例七提供的计算设备的结构示意图。
具体实施方式
26.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
27.以下结合具体实施例对本发明的具体实现进行详细描述:
28.实施例一:
29.图1示出了本发明实施例一提供的列车进路办理方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
30.在步骤s101中,从自动进路消息队列中获取进路触发请求消息,根据进路触发请求消息获取列车车组号。
31.本发明实施例适用于ats(automatic train supervision,列车自动监控) 系统中的自动进路办理,特别适用于ats系统中线路路径较为简单的场景下(例如,有轨电车)的自动进路办理。现有技术中通常是多车多进程同时请求自动进路,在本发明实施例中,通过采用消息队列的处理机制对进路触发请求消息进行处理。具体实现中,将接收到的进路触发请求消息,按照时间顺序依次放入到自动进路消息队列中,在处理进路触发请求时,按照自动进路消息队列中各进路触发请求消息的先后顺序依次进行处理。
32.在步骤s102中,根据列车车组号获取列车控制模式,判断列车控制模式是否为自动控制模式。
33.在步骤s103中,若列车控制模式为自动控制模式,则根据列车车组号获取列车信息。
34.在本发明实施例中,该列车控制模式包括手动控制模式和自动控制模式,若列车控制模式为手动控制模式,则流程结束,使用手动方式控制列车进路,若列车控制模式为自动控制模式,则根据列车车组号获取列车信息,该列车信息包括列车类型、列车当前位置、列车工作模式和列车运行方向等信息。其中,该列车类型包括头码车和计划车,若列车类型为头码车,则该列车信息还包括目的地码,若列车类型为计划车,则该列车信息还包括交路号,该列车工作模式包括cbtc(communication based train control,基于通信的列车自动控制) 模式和降级模式。
35.在步骤s104中,若列车类型为头码车,则通过第一进路配置信息获取第一进路列表。
36.在本发明实施例中,考虑到头码车的目的地码数量有限,因此,在通过第一进路配置信息办理进路之前,优选地,对进路信息进行配置,生成第一进路配置信息,该第一进路配置信息为静态数据,由此,可以提高头码车进路的安全性和稳定性。具体地,对进路信息进行配置,生成第一进路配置信息时,可以根据所有进路的有向图生成第二进路配置信息,以供用户进行人工校验和修改,接收用户对第二进路配置信息的修改,得到上述第一进路配置信息,从而在节省人力成本的同时,提高了第一进路配置信息的准确性。其中,该第一进路配置信息中包含每条进路对应的信息,该可达目的地码信息包含有该进路对应的所有的可达目的地码。
37.在根据所有进路的有向图生成第二进路配置信息时,可根据有向图中的进路、进路之间的连接方向以及每个进路对应的目的地码等信息生成第二进路配置信息,生成的第一进路配置信息可参考实施例五中关于部分第一进路配置信息的示例性说明。
38.在生成第二进路配置信息之后,接收用户对第二进路配置信息的修改,特别是对第二进路配置信息中对应的一些特殊位置的修改,生成第一进路配置信息,例如,在道岔位置由用户对道岔正位方向进路和道岔反位方向进路设置不同的目的地码,又如,在环路位置由用户对同一目的地设置不同的进路,从而提高了第一进路配置信息的准确性,进而提高了头码车在该特殊位置办理进路时的稳定性和安全性。
39.通过第一进路配置信息获取第一进路列表的具体实施方式可参考实施例二中的描述,在此不再赘述。
40.在步骤s105中,若列车类型为计划车,则通过交路配置信息获取第一进路列表。
41.在本发明实施例中,考虑到计划车的交路数量有限且固定,在通过交路配置信息办理进路之前,优选地,对计划车的交路信息进行配置,生成交路配置信息,交路配置信息包括所有的交路号、与每个交路号对应的列车运行方向及进路列表,由于交路配置信息同样为静态数据,因此,可以提高计划车的进路的安全性和稳定性。当然,交路配置信息还可以包含有上述以外的信息,例如是否环路等信息,在此不作限定。在生成交路配置信息之后,当计划车加载计划时,会同时加载该交路配置信息,从而通过该交路配置信息办理进路。生成的交路配置信息可参考实施例五中关于部分交路配置信息的示例性说明。
42.通过交路配置获取第一进路列表的具体实施方式可参考实施例三的描述,在此不再赘述。
43.在步骤s106中,根据第一进路列表触发进路。
44.在本发明实施例中,第一进路列表中有可能不只一条进路,因此,可依据列车运行
方向对触发进路列表进行排序,以保证靠近列车的进路先触发,远离列车的进路后触发,然后根据排序从排序后的第一进路列表中获取一条进路作为当前进路,判断当前进路是否满足预设的触发条件,若满足,则下发办理当前进路的命令,并将当前进路的信息和命令的下发信息保存至进路触发记录列表中,当接收到与执行该命令对应的反馈信息时,采用注册回调机制从反馈信息中获取当前进路的办理状态,并将办理状态保存至进路触发记录列表中,判断当前进路是否为排序后的第一进路列表中的最后一条进路,若是,则确定进路触发完成,若否,则跳转至从排序后的第一进路列表中获取一条进路作为当前进路的步骤,以便于后续自动进路逻辑判断。其中,预设的触发条件可以包括进路未触发、进路的上一进路已锁闭、进路的始端信号机为自动触发模式且进路的始端信号机处于非锁闭及未开放状态。该下发信息和办理状态均包含有时间信息,从而及时、准确获得进路命令下发信息和进路办理反馈信息。采用注册回调机制从反馈信息中获取当前进路的办理状态的具体实施方式可以为,在下发进路命令时加入当前时间,同时注册回调函数,当接收到连锁系统(ci, computer interlocking)发送的与执行该命令对应的反馈信息时,自动调用回调函数,解析反馈信息并将解析出的进路办理情况保存至进路触发记录列表中,以即时、准确地获得进路办理状态,并方便后续自动进路逻辑判断,从而通过命令下发和注册回调机制,实现了异步反馈进路办理状态。
45.在本发明实施例中,通过从自动进路消息队列中获取进路触发请求消息,根据进路触发请求消息获取列车车组号,根据列车车组号获取列车控制模式,判断列车控制模式是否为自动控制模式,若控制模式为自动控制模式,则根据列车车组号获取列车信息,列车信息包括列车类型,若列车类型为头码车,则通过第一进路配置信息办理进路,若列车类型为头码车,则通过第一进路配置信息获取第一进路列表,若列车类型为计划车,则通过交路配置信息获取第一进路列表,并根据第一进路列表触发进路,以避免直接通过有向图搜索带来的不确定因素,从而提高了进路的稳定性和安全性。
46.实施例二:
47.图2示出了本发明实施例二提供的通过第一进路配置信息获取第一进路列表的流程示例图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
48.在步骤s201中,根据列车当前位置和列车工作模式确定触发区段。
49.在本发明实施例中,该触发区段是指列车在当前位置及当前列车工作模式下可以触发的区段,该触发区段对应一条或者多条进路,当列车工作模式为 cbtc模式时,该触发区段对应逻辑区段,当列车工作模式为降级模式时,该触发区段对应物理区段,其中,物理区段是指在物理上划分轨道的最小单位,逻辑区段在逻辑上划分一个物理区段的最小单位。
50.在步骤s202中,判断目的地码对应的目的地是否达到或者目的地进路是否触发,若目的地已达到或者目的地进路已触发,则流程结束,若目的地未达到且目的地进路未触发,则执行步骤s203。
51.在步骤s203中,判断与列车车组号对应的进路触发记录列表是否存在,若存在,执行步骤s205,若不存在,则执行步骤s204;
52.在本发明实施例中,该进路触发记录列表用于标识进路触发状态,该进路触发记录列表中保存有进路触发和反馈记录,进路触发和反馈记录中还可以包含有时间标识等。
53.在步骤s204中,建立与列车车组号对应的进路触发记录列表。
54.在本发明实施例中,若不存在与列车车组号对应的进路触发记录列表,则建立对应的进路触发记录列表,从而根据判断结果自动建立进路触发记录列表。
55.在步骤s205中,获取与列车车组号对应的进路触发记录列表。
56.在步骤s206中,根据目的地码、列车运行方向、触发区段以及进路触发记录列表,从第一进路配置信息中筛选出第一进路列表。
57.在本发明实施例中,第一进路配置信息的每条进路均配置有可达目的地码信息,可达目的地码信息中包含了该进路对应的所有可达目的地码,在根据目的地码、列车运行方向、触发区段以及进路触发记录列表从第一进路配置信息中筛选出第一进路列表时,优选地,根据列车运行方向、触发区段以及进路触发记录列表,从第一进路配置信息中获取一条或者多条可触发的进路,以及每条可触发的进路对应的可达目的地码信息,判断可达目的地码信息中是否包含头码车的目的地码,若包含头码车的目的地码,表示该条可触发的进路可以到达目的地,则判定该可达的目的地码信息对应的可触发的进路属于第一进路列表,若不包含目的地码,表示该条可触发的进路不可到达目的地,则判定可达目的地码信息对应的可触发的进路不属于第一进路列表,从而通过第一进路配置信息中的可达目的地码信息实现自动进路,避免了直接通过有向图搜索带来的不确定因素,从而提高了头码车进路的安全性和稳定性。
58.在本发明实施例中,根据列车当前位置和列车工作模式确定触发区段,判断目的地码对应的目的地是否达到或者目的地进路是否触发,若目的地未达到且目的地进路未触发,则获取与列车车组号对应的进路触发记录列表,根据目的地码、列车运行方向、触发区段以及进路触发记录列表,从第一进路配置信息中筛选出第一进路列表,从而通过第一进路配置信息中的可达目的地码信息获取第一进路列表,提高了头码车进路的安全性和稳定性。
59.实施例三:
60.图3示出了本发明实施例三提供的通过交路配置信息获取第一进路列表的流程示例图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
61.在步骤s301中,根据列车当前位置和列车工作模式确定触发区段。
62.在本发明实施例中,步骤s301的具体实施方式可参考实施例二中步骤s201 的描述,在此不再赘述。
63.在步骤s302中,从交路配置信息中查找与获取到的交路号对应的第二进路列表。
64.在本发明实施例中,在计划车加载计划信息时,会同时加载交路配置信息,交路配置信息包含有所有的交路号、与每个交路号对应的列车运行方向和进路列表,根据获取到的交路号从交路配置信息中查找出与获取到的交路号对应的第二进路列表。
65.在步骤s303中,判断第二进路列表中的最后一条进路是否触发,若已触发,则该流程结束,若未触发,则执行步骤s304。
66.在步骤s304中,判断与列车车组号对应的进路触发记录列表是否存在,若存在,执行步骤s306,若不存在则执行步骤s305。
67.在步骤s305中,建立与列车车组号对应的进路触发记录列表。
68.在步骤s306中,获取与列车车组号对应的进路触发记录列表。
69.在本发明实施例中,步骤s304-s306的具体实施方式可参考实施例二中步骤s203-s205的描述,在此不再赘述。
70.在步骤s307中,根据列车运行方向、触发区段以及进路触发记录列表,从第二进路列表中筛选出第一进路列表。
71.在本发明实施例中,根据列车当前位置和列车工作模式确定触发区段,从交路配置信息中查找与获取到的交路号对应的第二进路列表,判断第二进路列表中的最后一条进路是否触发,若未触发,则获取与列车车组号对应的进路触发记录列表,根据列车运行方向、触发区段以及进路触发记录列表,从第二进路列表中筛选出第一进路列表,从而通过交路配置信息获取第一进路列表,提高了计划车进路的安全性和稳定性。
72.实施例四:
73.图4示出了本发明实施例四提供的根据第一进路列表触发进路的流程示例图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
74.在步骤s401中,根据列车运行方向对第一进路列表进行排序。
75.在本发明实施例中,第一进路列表中有可能不只一条进路,因此,可依据列车运行方向对触发进路列表进行排序,以保证靠近列车的进路先触发,远离列车的进路后触发。
76.在步骤s402中,从排序后的第一进路列表中获取一条进路作为当前进路。
77.在步骤s403中,判断当前进路是否已触发,若未触发,则执行步骤s404,若已触发,则跳转至步骤s402。
78.在步骤s404中,判断当前进路是否存在上一进路,若存在,则执行步骤 s405,若不存在,则执行步骤s406。
79.在步骤s405中,判断当前进路的上一进路是否锁闭,若未锁闭,则跳转至步骤s402,若已锁闭,则执行步骤s406。
80.在步骤s406中,判断当前进路始端信号机是否为自动触发模式且当前进路的始端信号机是否处于非锁闭及未开放状态,若是,则执行步骤s407,若否,则执行步骤s411。
81.在步骤s407中,下发办理当前进路的命令,并将当前进路的信息和该命令的下发信息保存至进路触发记录列表中。
82.在步骤s408中,当接收到与执行该命令对应的反馈信息时,采用注册回调机制从反馈信息中获取当前进路的办理状态,并将办理状态保存至进路触发记录列表中。
83.在步骤s409中,判断当前进路是否为排序后的第一进路列表中的最后一条进路,若是,则说明进路办理完成,流程结束,若否,则跳转至步骤s402。
84.在步骤s410中,触发报警并记录报警信息,然后跳转至步骤s402。
85.在本发明实施例中,从排序后的第一进路列表中获取一条进路作为当前进路,若当前进路未触发、当前进路的上一进路已锁闭、当前进路始端信号机为自动触发模式且当前进路的始端信号机处于非锁闭及未开放状态,则下发办理当前进路的命令,并将当前进路的信息和该命令的下发信息保存至进路触发记录列表中,否则触发报警,以便于用户根据报警信息及时进行处理,当接收到与执行该命令对应的反馈信息时,采用注册回调机制从反馈信息中获取当前进路的办理状态,并将办理状态保存至进路触发记录列表中,从而通过命令下发和注册回调机制,实现了异步反馈进路办理状态。
86.实施例五:
87.图5示出了本发明实施例五提供的部分进路的有向图的结构示例图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
88.如图5所示的进路的有向图示例图,图5中节点表示进路,箭头表示两条进路连接方向,节点内数字为该进路id(进路编号),节点处标记为该进路的目的地码,26-19-23-24-35-25-33为一条环线,26和27的保护区段为道岔处的两条不同方向进路,26和27的目的地码同为yh2,33和46为道岔处的两条不同方向进路,46和33的目的地码同为wh2。
89.与图5对应的部分第一进路配置信息如下:
[0090][0091]
该第一进路配置信息展示了图5中进路编号为26、27、33、46的四条进路的可达目的地码信息。其中,编号27进路,可以到达的目的地码为yh2、byd2,编号26进路,可以到达的目的地码为yh2、eh2、sh2、th2、f404,若列车的目的地码为byd2,则会选择触发编号27进路,若列车的目的地码为f404,则会选择触发编号26进路。另外,编号26进路的目的地码没有wh2,说明不允许通过环路(26-19-23-24-35-25-33)到达wh2处。虽然在有向图上是可以的,但是结合工程实际,列车在编号26进路必然从编号46进路驶来,显然刚刚已经到达目的地(wh2)了,没有必要再通过环路回到该目的地(wh2)。
[0092]
与图5对应的部分交路配置信息如下:
[0093]
《path
[0094]
id="6"
[0095]
start-platform-id="2"
[0096]
start-station-id="1"
[0097]
end-platform-id="2"
[0098]
end-station-id="1"
[0099]
dir="up"
[0100]
path="2-13-10-8-6-2"
[0101]
route-path="35-25-33-26-19-23-24"
[0102]
type="long|circle"
[0103]
loopflag="1"
[0104]
description="四号站始发的内环线"/》
[0105]
该交路配置信息展示了图5中环线的交路配置信息,交路id(交路号)为 6,交路方向为up(上行),交路的环线flag为1(环线),该交路号对应的进路列表为35-25-33-26-19-23-24,且该进路列表按照进路触发先后顺序排列。计划车安排计划时会按照交路配置信息进行安排,当获取到计划车的交路信息时,通过读取该配置文件即可获得第一进路列表,无需再通过有向图动态搜索进路。
[0106]
实施例六:
[0107]
图6示出了本发明实施例六提供的列车进路办理装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
[0108]
消息获取单元61,用于从自动进路消息队列中获取进路触发请求消息,根据进路触发请求消息获取列车车组号;
[0109]
控制模式判断单元62,用于根据列车车组号获取列车控制模式,判断列车控制模式是否为自动控制模式;
[0110]
列车信息获取单元63,用于若控制模式为自动控制模式,则根据列车车组号获取列车信息,该列车信息包括列车类型,该列车类型包括头码车和计划车;
[0111]
进路列表获取单元64,用于若列车类型为头码车,则通过第一进路配置信息获取第一进路列表,若列车类型为计划车,则通过交路配置信息获取第一进路列表;以及
[0112]
进路触发单元65,用于根据第一进路列表触发进路。
[0113]
在本发明实施例中,列车进路办理装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。列车进路办理装置的各单元的具体实施方式可参考前述方法实施例的描述,在此不再赘述。
[0114]
实施例七:
[0115]
图7示出了本发明实施例七提供的计算设备的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。
[0116]
本发明实施例的计算设备7包括处理器70、存储器71以及存储在存储器 71中并可在处理器70上运行的计算机程序72。处理器70执行计算机程序72 时实现上述各方法实施例中的步骤,例如图1所示的步骤s101至s106。或者,处理器70执行计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示单元61至65的功能。
[0117]
在本发明实施例中,通过从自动进路消息队列中获取进路触发请求消息,根据进路触发请求消息获取列车车组号,根据列车车组号获取列车控制模式,判断列车控制模式是否为自动控制模式,若控制模式为自动控制模式,则根据列车车组号获取列车信息,列车信息包括列车类型,若列车类型为头码车,则通过第一进路配置信息获取第一进路列表,若列车类型为计划车,则通过交路配置信息获取第一进路列表,并根据第一进路列表触发进路,以避免直接通过有向图搜索带来的不确定因素,从而提高了进路的稳定性和安全性。
[0118]
实施例八:
[0119]
在本发明实施例中,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图1所
示的步骤s101至s106。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图6所示单元61至65的功能。
[0120]
在本发明实施例中,通过从自动进路消息队列中获取进路触发请求消息,根据进路触发请求消息获取列车车组号,根据列车车组号获取列车控制模式,判断列车控制模式是否为自动控制模式,若控制模式为自动控制模式,则根据列车车组号获取列车信息,列车信息包括列车类型,若列车类型为头码车,则通过第一进路配置信息获取第一进路列表,若列车类型为计划车,则通过交路配置信息获取第一进路列表,并根据第一进路列表触发进路,以避免直接通过有向图搜索带来的不确定因素,从而提高了进路的稳定性和安全性。
[0121]
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,rom/ram、磁盘、光盘、闪存等存储器。
[0122]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。