列车管理系统中车厢序列信息更新、生成方法及装置与流程
2021-02-04 02:02:55|266|起点商标网
[0001]
本发明实施例涉及列车通信网络技术领域,尤其涉及一种列车管理系统中车厢序列信息更新、生成方法及装置。
背景技术:
[0002]
列车由多个编组构成,每个编组又由一个或多个车厢组成,列车组成结构的可以如图1a所示。列车控制管理系统(tcms)可以作为列车的“大脑”,承担着列车指令传输、设备状态监测、故障诊断、信息管理以及事件记录等功能,实现了列车分布式控制,提高了列车运营可靠性。
[0003]
列车的拓扑发现协议是列车控制管理系统中的协议,列车编组的车厢可以通过以太骨干网(etb)发送通信信息,列车控制管理系统通过拓扑发现协议可以得到列车的编组信息;列车控制管理系统通过接收列车车厢发送的报文信息可以得到各个编组的车厢信息,从而得到列车运行车厢序列。但是当车厢拓扑变化时,若列车通过以太骨干网(etb)不能发送通信信息以及报文时,列车控制管理系统则不可以得到这些车厢的信息,导致不能更新车厢信息,需要列车司机在对比已经得到的列车运行车厢序列后,发送插入指令实现车厢的更新。
[0004]
国际电工委员会定义的标准iec61375-2-3协议是列车控制管理系统中的协议,该协议定义列车车厢(vehicle gap)插入指令的格式,插入指令允许被插入的策略,但是没有定义如何进行策略符合性检查。
技术实现要素:
[0005]
本发明实施例提供了一种列车管理系统中车厢序列信息更新、生成方法及装置,可以提高快速高效进行策略符合性检查,提高检查效率,可以大幅提高列车运行车厢序列计算过程的速度和效率,使整个计算算法流程大幅简化。
[0006]
第一方面,本发明实施例提供了一种列车管理系统中车厢序列信息更新方法,包括:
[0007]
确定插入指令中的插入车厢列表;
[0008]
根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记;
[0009]
根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略;
[0010]
若是,根据所述插入车厢列表更新所述当前列车运行车厢列表,形成新的列车运行车厢列表。
[0011]
第二方面,本发明实施例还提供了一种列车管理系统中车厢序列信息生成方法,包括:
[0012]
确定列车的运行方向,并确定按照参考方向进行物理连接的第一列车编组序列以及各个编组的属性信息;其中,所述属性信息包括编组的方向以及编组内的车厢序列信息;
[0013]
基于所述参考方向和所述运行方向,将所述第一列车编组序列中的各个编组按照列车的运行方向依次排列,得到第二列车编组序列,并将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中;
[0014]
从所述编组数据结构中依次提取车厢信息,生成列车运行车厢序列,并作为当前列车运行车厢列表。
[0015]
第三方面,本发明实施例还提供了一种列车管理系统中车厢序列信息更新方法,包括:
[0016]
确定列车的运行方向,并确定按照参考方向进行物理连接的第一列车编组序列以及各个编组的属性信息;其中,所述属性信息包括编组的方向以及编组内的车厢序列信息;
[0017]
基于所述参考方向和所述运行方向,将所述第一列车编组序列中的各个编组按照列车的运行方向依次排列,得到第二列车编组序列,并将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中;
[0018]
从所述编组数据结构中依次提取车厢信息,生成列车运行车厢序列,并形成列车运行车厢列表;
[0019]
确定插入指令中的插入车厢列表;
[0020]
根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记;
[0021]
根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略;
[0022]
若是,根据所述插入车厢列表更新所述列车运行车厢列表,形成新的列车运行车厢列表。
[0023]
第五方面,本发明实施例还提供了一种设备,包括:
[0024]
一个或多个处理器;
[0025]
存储装置,用于存储一个或多个程序,
[0026]
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的一种列车管理系统中车厢序列信息更新方法,或者本发明实施例提供的一种列车管理系统中车厢序列信息生成方法。
[0027]
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的一种列车管理系统中车厢序列信息更新方法,或者本发明实施例提供的一种列车管理系统中车厢序列信息生成方法。
[0028]
本发明实施例提供的技术方案,通过当前列车运行车厢列表对插入车厢列表中的车厢进行标记,根据标记的结果确定插入车厢列表是否符合设定插入策略,可以快速高效进行策略符合性检查,提高检查效率。本发明实施例通过将编组信息整合到编组数据结构中,其中,整合的编组信息是按照列车的运行方向依次排序的编组信息,并在数据结构中的编组信息的基础上计算出列车运行车厢序列,形成当前列车运行车厢列表,即先整合出有序排列的编组信息作为过渡数据,然后在有序排列的编组信息基础上计算出列车运行车厢序列,形成当前列车运行车厢列表,可以大幅提高计算过程的速度与效率,使整个算法流程大幅简化。
附图说明
[0029]
图1a为列车组成结构示意图;
[0030]
图1b是本发明实施例提供的一种列车管理系统中车厢序列信息更新方法流程图;
[0031]
图2a是本发明实施例提供的一种列车管理系统中车厢序列信息更新方法流程图;
[0032]
图2b是本发明实施例提供的一种将插入车厢列表中的车厢进行标记的方法流程图;
[0033]
图2c是本发明实施例提供的一种插入车厢列表是否符合设定插入策略的方法流程图;
[0034]
图3a是本发明实施例提供的一种列车管理系统中车厢序列信息生成方法流程图;
[0035]
图3b是本发明实施例提供的train directory的示意图;
[0036]
图3c是本发明实施例提供的编组信息的示意图;
[0037]
图3d是本发明实施例提供的编组数据结构示意图;
[0038]
图4a是本发明实施例提供的一种列车管理系统中车厢序列信息更新方法流程图;
[0039]
图4b是本发明实施例提供的一种列车管理系统中车厢、编组序列信息更新方法流程图;
[0040]
图5是本发明实施例提供的一种列车管理系统中车厢序列信息更新装置结构框图;
[0041]
图6是本发明实施例提供的一种列车管理系统中车厢序列信息生成装置结构框图
[0042]
图7是本发明实施例提供的一种列车管理系统中车厢序列信息更新装置结构框图;
[0043]
图8是本发明实施例提供的一种设备结构示意图。
具体实施方式
[0044]
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0045]
图1b是本发明实施例提供的一种列车管理系统中车厢序列信息更新方法流程图,所述装置可以由列车管理系统中车厢序列信息更新装置来执行,所述装置可以由软件和/或硬件来实现,所述装置可以配置在列车控制管理系统(tcms)中,所述列车控制管理系统可以配置在列车的每节车厢中,所述方法应用于计算可变编组的车厢序列的场景中。
[0046]
如图1b所示,本发明实施例提供的技术方案包括:
[0047]
s110:确定插入指令中的插入车厢列表。
[0048]
在本发明实施例中,插入指令可以由列车司机控制触发,列车司机可以根据列车初运行车厢列表以及列车的实际车厢确定插入车厢列表,并触发插入指令,插入指令中包含插入车厢列表。其中,列车初运行车厢列表可以是当前列车上一次运行得到的列车运行车厢列表,也可以理解为当前列车运行车厢列表的上一个列车运行车厢列表。当前列车运行车厢列表可以理解为列车重运行后得到的列车运行车厢列表。其中,插入车厢列表中包括id分别为车厢标识以及设定插入标识符的车厢。其中,设定插入标识符可以是
“-”
。
[0049]
s120:根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记。
[0050]
在本发明实施例中,当前列车运行车厢列表可以从数据库中获取。其中,数据库可以是列车拓扑数据库,列车拓扑数据库作为列车控制管理系统的一个重要部分,定义了构成列车的编组、车厢、设备及其这些组成部分间的交互接口。数据库中的当前列车运行车厢列表可以通过如下的方法进行确定:通过拓扑发现协议确定列车的编组序列,其中,通过拓扑发现协议(ttdp)可以确定列车各个编组的连接顺序。其中,列车的每个编组可以发出报文,报文中携带每个编组的车厢信息、编组的方向等。列车控制管理系统可以根据列车的运行方向以及参考方向将编组序列按照列车运行方向进行依次排列,并将各个编组方向以及编组内车厢序列信息整合到编组数据结构中,从编组数据结构中依次提取车厢信息,可以生成列车运行车厢序列,形成当前列车运行车厢列表,存储到数据库中。
[0051]
在本发明实施例中,可以将插入车厢列表中与当前列车运行车厢列表id相同的车厢进行标记,并将当前列车运行车厢列表中与插入车厢列表id相同的车厢所在的编组标识,作为插入车厢列表中对应车厢的编组标识。其中,当前列车运行车厢列表是当列车中有新发现的车厢或者存在车厢消失时,形成的车厢列表。
[0052]
在本发明实施例中,可以确定当前列车运行车厢列表中新发现的车厢,将插入车厢列表中与新发现车厢对应的id为设定标识符的车厢进行标记,并将新发现车厢所在的编组标识赋值给插入车厢列表中对应的车厢。即将插入车厢列表中与新发现车厢位置相同,且id为设定标识符的车厢进行标记,并将新发现车厢所在的编组标识赋值给插入车厢列表中与新发现车厢位置相同的车厢。
[0053]
s130:根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略。
[0054]
在本发明实施例中,根据插入车厢列表的标记结果可以判断插入车厢列表中插入的车厢是否在列车的编组之间,还可以判断列车重运行后(列车当前运行),插入车厢列表中车厢间隙gap的数量是否与对应的新发现的车厢数量相同,其中,插入车厢列表中未被标记的车厢作为gap。例如,插入车厢列表中有两个id为车厢标识的车厢之间有三个id为设定标识符的车厢,也就是说插入车厢列表该id为车厢标识的车厢之间gap的数量为三个,则当前列车运行车厢列表中对应的新发现的车厢数量也是三个。
[0055]
在本发明实施例中,还可以根据标记结果还可以判断当前列车运行相对于上一次运行消失的车厢是否是一个完整的编组,可以理解为列车重运行后消失的车厢是否是一个完整的编组,即可以判断当前列车运行车厢列表相对于上一个列车运行车厢列表,消失的车厢是否是一个完整的编组。具体的判断可以详见下述实施例的介绍。
[0056]
在本发明实施例中,当通过插入车厢列表的标记结果判断插入车厢列表中插入的车厢在编组之间,且新发现的车厢与插入车厢列表中gap的数量相同,以及当前列车运行(重运行)相对上一次运行消失的车厢是一个完整的编组,判断插入车厢列表符合设定插入策略。
[0057]
s140:若是,根据所述插入车厢列表更新所述当前列车运行车厢列表,形成新的列车运行车厢列表。
[0058]
在本发明实施例中,可以将插入车厢列表中的车厢信息更新到当前列车运行车厢列表中,形成新的列车运行车厢列表。具体可以是在插入车厢列表中查找与当前列车运行车厢列表中id相同的车厢,将插入车厢列表中与当前列车运行车厢列表中的id不相同的车
厢更新到当前列车运行车厢列表的对应位置,形成新的列车运行车厢列表。
[0059]
本发明实施例提供的技术方案,通过当前列车运行车厢列表对插入车厢列表中的车厢进行标记,根据标记的结果确定插入车厢列表是否符合设定插入策略,可以快速高效进行策略符合性检查,提高检查效率。
[0060]
图2a是本发明实施例提供的一种列车管理系统中车厢序列信息更新方法流程图,本实施例可以与上述一个或者多个实施例中的可选方案结合。在本实施例中,可选的,
[0061]
所述根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记,包括:
[0062]
将所述插入车厢列表中与所述当前列车运行车厢列表身份标识id相同的车厢进行标记;其中,所述插入车厢列表中包括id分别为车厢标识以及设定插入标识符的车厢;
[0063]
将所述当前列车运行车厢列表中与所述插入车厢列表id相同的车厢所在的编组标识,作为所述插入车厢列表中对应车厢的编组标识;
[0064]
确定所述当前列车运行车厢列表中与上一个列车运行车厢列表中id不相同的车厢,并作为新发现的车厢;
[0065]
将所述插入车厢列表中与所述新发现的车厢对应的id为设定标识符的车厢进行标记,并将所述新发现的车厢所在的编组标识,作为所述插入车厢列表中对应的id为设定插入标识符的车厢所在的编组标识。
[0066]
可选的,所述根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略,包括:
[0067]
从所述插入指令列表中依次获取每个车厢,将id为所述设定插入标识符的车厢作为车厢间隙gap;
[0068]
若所述插入车厢列表中的车厢满足以下条件,则确定所述插入车厢列表符合设定插入策略:
[0069]
当所述插入车厢列表中的目标车厢被标记,且在所述目标车厢之前具有n个连续的gap时,所述目标车厢的编组标识与所述目标车厢的上一个被标记的非gap车厢的编组标识不相同;
[0070]
当所述插入车厢列表中的目标车厢的id是设定插入标识符,且所述目标车厢被标记时,则所述目标车厢之后连续排列的车厢的id是设定插入标识符,且所述连续排列的车厢被标记;
[0071]
当所述插入车厢列表中的目标车厢的id不是设定插入标识符,且所述目标车厢未被标记时,则所述目标车厢之后连续排列的编组标识相同的车厢没有被标记。
[0072]
如图2a所示,本发明实施例提供的技术方案包括:
[0073]
s210:确定插入指令中的插入车厢列表。
[0074]
s220:将所述插入车厢列表中与所述当前列车运行车厢列表身份标识id相同的车厢进行标记;其中,所述插入车厢列表中包括id分别为车厢标识以及设定插入标识符的车厢。
[0075]
在本发明实施例中,插入车厢列表中包括id分别为车厢标识以及设定插入标识符的车厢,其中,设定插入标识符可以是
“-”
,或者还可以是其他插入标识符。例如,插入车厢列表可以示意为“a
--
d-e”,其中,a、d和e分别是实际的车厢标识,
“-”
是设定插入标识符。
[0076]
在本发明实施例中,具体可以是从数据库中获取当前列车运行车厢列表,依次遍
历列车运行车厢列表,从插入车厢列表中查找与当前列车运行车厢列表中id相同的车厢,并在插入车厢列表中,将与当前列车运行车厢列表id相同的车厢进行标记。
[0077]
s230:将所述当前列车运行车厢列表中与所述插入车厢列表id相同的车厢所在的编组标识,作为所述插入车厢列表中对应车厢的编组标识。
[0078]
在本发明实施例中,在插入车厢列表中,将与当前列车运行车厢列表中id相同的车厢标记之后,将当前列车运行车厢列表中的每个车厢所在编组标识分别赋值给插入车厢列表中与其id相同的车厢。例如,插入车厢列表可以示意“a
--
d
–
e,当前列车运行车厢列表可以示意为“a b c d e”,其中,当前列车运行车厢列表和插入车厢列表中id相同的车厢分别是“a”、“d”和“e”。则将当前列车运行车厢列表中“a d e”分别所在的编组标识,依次赋值给插入车厢列表中的“a d e”。
[0079]
s240:根据上一个列车运行车厢列表确定所述当前列车运行车厢列表中与上一个列车运行车厢列表中id不相同的车厢,并作为新发现的车厢。
[0080]
在本发明实施例中,可以从数据库中获取列车上一次运行时对应的列车运行车厢列表,即为上一个列车运行车厢列表,将上一个列车运行车厢列表与当前列车运行车厢列表进行比较,确定id不相同的车厢,作为新发现的车厢。例如,当前列车运行车厢列表可以示意为“a b c d e”,上一个列车运行车厢列表可以示意为“a d e”,则“b”和“c”是当前列车运行车厢列表中新发现的车厢。
[0081]
s250:将所述插入车厢列表中与所述特定车厢对应的id为设定标识符的车厢进行标记,并将所述新发现车厢所在的编组标识,作为所述插入车厢列表中对应的id为设定插入标识符的车厢的编组标识。
[0082]
在本发明实施例中,当前列车运行车厢列表中有新发现的车厢时,则在插入车厢列表中与新发现车厢对应的车厢是:id为设定插入标识符的车厢。其中,新发现车厢与插入车厢列表中对应的车厢是:插入车厢列表中与新发现车厢位置相同的车厢,并将新发现车厢的编组标识作为插入车厢列表中位置相同,且id为设定插入标识符的车厢的编组标识。例如,若插入车厢列表可以示意是“a
--
d
–
e,当前列车运行车厢列表可以示意是“a b c d e”,上一个列车运行车厢列表可以示意为“a d e”,则“b”和“c”是当前列车运行车厢列表中新发现的车厢。将“b”和“c”所在编组标识分别作为插入车厢列表中a和d之间,且id为
“-”
车厢的编组标识。
[0083]
在本发明实施例中,可选的,具体将车厢进行标记的流程可以参考图2b。其中,可选的,当设定插入标识符可以是
“-”
时,将插入车厢列表中的车厢进行标记的具体过程可以是:
[0084]
步骤一:取出数据库中当前列车运行车厢列表中的第一个车厢。其中,当前列车运行车厢列表中每个车厢的id以及所在的编组号已知。插入指令中插入车厢列表中各个车厢的编组号未知,插入车厢列表中车厢的id包括车厢标识(车厢实际id)以及设定插入标识符
“-”
。
[0085]
步骤二:在插入车厢列表中查找到与从当前列车运行车厢列表中取出的车厢的id相同的车厢,若找到,将插入车厢列表中与取出的上述车厢的id相同的车厢进行标记,并记录插入车厢列表中当前车厢的位置。
[0086]
步骤三:如果在上述步骤二中,没有查找到与取出的上述车厢的id相同的车厢,从
上次记录的车厢的位置处开始查找到第一个id为
“-”
,且未被标记的车厢,将从当前列车运行车厢列表中取出的车厢所在的编组号赋值给插入车厢列表中第一个id为
“-”
,且未被标记的车厢,从而可以将新发现的车厢与插入指令中插入车厢列表中的gap进行对应。
[0087]
步骤四:如果上述步骤二和步骤三不能确定车厢在插入车厢列表中的位置,则插入指令中的插入车厢列表不符合设定插入策略,拒绝插入指令,结束处理。
[0088]
步骤五:取出数据库中当前列车运行车厢列表中的下一个车厢,重复步骤二、步骤三和步骤四,直至处理完数据库中当前列车运行车厢列表中的每个车厢,结束处理。
[0089]
由此,通过上述的方法对插入指令列表中的车厢进行标记,可以准确、快速实现对车厢的标记。
[0090]
s260:从所述插入指令列表中依次获取每个车厢,将未被标记的车厢作为车厢间隙gap。
[0091]
s270:若所述插入车厢列表中的车厢满足以下条件,则确定所述插入车厢列表符合设定插入策略:
[0092]
当所述插入车厢列表中的目标车厢被标记,且在所述目标车厢之前具有n个连续的gap时,所述目标车厢的编组标识与所述目标车厢的上一个被标记的非gap车厢的编组标识不相同;
[0093]
当所述插入车厢列表中的目标车厢的id是设定插入标识符,且所述目标车厢被标记时,所述目标车厢之后连续排列的车厢的id是设定插入标识符,且所述连续排列的车厢被标记;
[0094]
当所述插入车厢列表中的目标车厢的id不是设定插入标识符,且所述目标车厢未被标记时,则所述目标车厢之后连续排列的编组标识相同的车厢没有被标记。
[0095]
在本发明实施例中,当插入车厢列表中的目标车厢被标记,且在目标车厢之前具有n个连续的gap时,目标车厢的编组标识与目标车厢的上一个被标记非gap车厢的编组标识不相同,则表明插入车厢列表中待插入的车厢(id为设定插入标识符的车厢)插入在两个不同的编组之间。例如,若插入车厢列表示意是“a
--
d
–
e,插入车厢列表中的“d”被标记,且在“d”之前具有2个连续的gap,d的上一个被标记的非gap车厢是a,若d和a所在的编组标识不相同,则表明待插入的车厢插入在两个不同的编组之间。
[0096]
在本发明实施例中,当插入车厢列表中的目标车厢的id是设定插入标识符,且目标车厢被标记时,目标车厢之后连续排列的车厢的id是设定插入标识符,且连续排列的车厢被标记。其中,若目标车厢的id是设定插入标识符,且目标车厢被标记,则表明该目标车厢与新发现的车厢对应;若目标车厢之后连续排列的车厢的id是设定插入标识符,且被标记,则表明插入车厢列表中目标车厢的数量与新发现的车厢数量相同,即插入车厢列表中gap数量与gap对应的新发现的车厢数量相同。
[0097]
在本发明实施例中,当插入车厢列表中的目标车厢的id不是设定插入标识符,且目标车厢未被标记时,则表明当前列车运行车厢列表中没有与目标车厢对应的车厢,也表明该目标车厢正是当前列车运行车厢列表中消失的车厢。当目标车厢之后连续排列的编组标识相同的车厢没有被标记,则表明当前列车运行车厢列表中消失的车厢是一个完整的编组。
[0098]
具体插入车厢列表是否符合设定插入策略的方法流程也可以参考图2c,具体可以
是划分两部分:
[0099]
其中,第一部分流程可以是如下流程:
[0100]
步骤一、hasgap设置为0;precstno和curcstno的值都设置成0,取出插入车厢列表中的车厢。
[0101]
步骤二、如果目标车厢被标记,并且将该车厢的编组号记录到curcstno中,将该车厢的上一个被标记的非gap车厢的编组号记录到precstno中。如果已经设置hasgap标记为1(该车厢的之前有n个gap车厢),且precstno和curcstno值相同,则表明在相同编组内部插入车厢,不符合规定策略,退出,流程结束。如果precstno和curcstno值不同,则符合规定策略,流程继续运行。hasgap(这里有gap)标记设置为0。
[0102]
步骤三、如果目标车厢没有被标记,hasgap(这里有gap)标记设置为1。
[0103]
步骤四、取出插入车厢列表中的下一个车厢,从步骤1开始做相同处理。
[0104]
通过上述的流程,需要判断每一个gap的前后车厢的编组号是否相同。如果相同,则在编组内部插入新的车厢,不符合规定策略。
[0105]
其中,第二部分流程可以是如下流程:
[0106]
步骤一:取出标记后的插入车厢列表中的每个车厢。
[0107]
步骤二:如果目标车厢id是
“-”
,且被标记,从该目标车厢处依次检查后面的连续排列的id是
“-”
的车厢。如果有id是
“-”
的车厢,但未被标记,检查失败,不符合设定插入策略。
[0108]
步骤三;如果该目标车厢的id不是
“-”
,且被标记,从该目标车厢处依次检查后面的连续排列编组号相同的车厢。如果存在被标记的车厢,则检查失败,不符合设定插入策略。
[0109]
由此,通过在标记后的插入车厢列表的基础上进行检查,如果存在车厢消失,则整个编组内的车厢均消失。如果在两个非gap车厢之间存在gap车厢被发现了,则在两个非gap车厢之间的插入的所有gap车厢均被发现。否则,不符合设定插入策略。
[0110]
在本发明实施例中,还可以包括:当上一次的列车运行车厢列表中的头车厢与所述当前列车运行车厢列表中的头车厢相同,且上一次列车运行车厢列表中的尾车厢与所述当前列车运行车厢列表中尾车厢相同时,则判断所述插入车厢列表符合所述设定插入策略。即当插入车厢列表中的车厢满足s270中所述的三个条件,且“上一次的列车运行车厢列表中的头车厢与所述当前列车运行车厢列表中的头车厢相同,且上一次列车运行车厢列表中的尾车厢与所述当前列车运行车厢列表中尾车厢相同时,则判断所述插入车厢列表符合所述设定插入策略”时,判断插入车厢列表满足设定插入策略。
[0111]
s280:根据所述插入车厢列表更新所述列车重运行列表,形成新的列车运行车厢列表。
[0112]
由此,通过对插入车厢列表中的车厢进行标记,通过标记结果判断插入车厢列表是否符合设定插入策略,可以快速高效、稳定、可靠地进行策略符合性检查,是对iec61375-2-3列车拓扑数据库协议的一个重要补充与细化。
[0113]
在上述实施例的基础上,还可以包括根据新的列车运行车厢列表更新列车运行编组序列。其中,新的列车运行车厢列表中每个车厢均存在编组标识,新的列车运行车厢列表中新插入的车厢可以具有单独的编组,确定新的列车运行车厢列表中每个车厢的所在编组
标识,对列车运行编组序列进行更新,形成新的列车运行编组序列。
[0114]
图3a是本发明实施例提供的一种列车管理系统中车厢序列信息生成方法流程图,所述装置可以由列车管理系统中车厢序列信息生成装置来执行,所述装置可以由软件和/或硬件来实现,所述装置可以配置在列车控制管理系统中,所述列车控制管理系统可以配置在列车的每个车厢中。
[0115]
如图3a所示,本发明实施例提供的技术方案包括:
[0116]
s310:确定列车的运行方向,并确定按照参考方向进行物理连接的第一列车编组序列以及各个编组的属性信息;其中,所述属性信息包括编组的方向以及编组内的车厢序列信息。
[0117]
在本发明实施例中,通过拓扑发现协议(ttdp)可以确定列车各个编组的连接顺序。其中,列车的每个编组可以发出报文,报文中携带每个编组的车厢信息、编组的方向等。
[0118]
在本发明实施例中,按照iec61375-2-3协议标准,通过列车控制管理系统中的列车目标计算状态机(train directory computation state machine)可以得到列车编组目录(train directory)和编组信息(consist information)。其中,train directory是按照参考方向进行物理连接的列车编组序列,作为第一列车编组序列。其中,参考方向可以根据设定规则进行确定,或者还可以需要进行确定。其中,train directory可以通过列车目标计算状态机根据接收到的每个编组的报文进行确定。train directory包含列车内各个编组的属性信息,属性信息包括编组的方向以及编组内的车厢序列信息。其中,train directory的示意图可以如图3b,consist information的示意图可以参考图3c。
[0119]
在本发明实施例中,列车运行方向是列车司机通过发送lead指令进行指定,列车运行方向可能与列车参考方向相同,也可能相反。
[0120]
s320:基于所述参考方向和所述运行方向,将所述第一列车编组序列中的各个编组按照列车运行方向依次排列,得到第二列车编组序列,并将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中。
[0121]
在本发明实施例中,若列车的参考方向和运行方向相同,则第一列车编组序列与第二列车编组序列中各个编组的排列顺序相同,若列车的参考方向和运行方向相反,则第一列车编组序列和第二列车编组序列中各个编组的排列顺序相反。
[0122]
在本发明实施例中,举例说明,若参考方向和运行方向相反,则第二编组序列和第一编组序列中各个编组排列顺序相反。当将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中,编组数据结构包括各个编组以及各个编组内的车厢序列信息,还可以包括编组的方向。例如,参考方向和运行方向相反,将s310中图3b和图3c的中的各个编组方向以及编组的车厢序列信息整合到编组数据结构的示意图如图3d所示。
[0123]
s330:从所述编组数据结构中依次提取车厢信息,生成列车运行车厢序列,并作为当前列车运行车厢列表。
[0124]
在本发明实施例中,从提取的车厢信息可以包括依次提取的车厢的id信息,还可以包括其他信息,并根据依次提取的顺序对各个车厢信息进行排序,生成列车运行车厢序列,并作为当前列车运行车厢列表。例如,从图3d所示的编组数据结构中提取的车厢信息,生成的当前列车运行车厢序列可以是表1所示的序列。
[0125]
表1
[0126][0127][0128]
本发明实施例提供的技术方案,通过将编组信息整合到编组数据结构中,其中,编组信息是按照运行方向依次排序的编组信息,并在数据结构中的编组信息的基础上计算出列车运行车厢序列,形成当前列车运行车厢列表,即先整合出有序排列的编组信息作为过渡数据,然后在有序排列的编组信息基础上计算出列车运行车厢序列,形成当前列车运行车厢列表,可以大幅提高计算过程的速度与效率,使整个算法流程大幅简化。
[0129]
在上述实施例的基础上,本发明实施例提供的方法还可以包括:从所述编组数据结构中依次提取编组信息,生成列车运行编组序列,并形成当前列车运行编组列表。其中,编组信息可以包括编组标识,还可以包括其他编组信息。例如,从图3d所示的编组数据结构中提取编组信息,生成列表运行编组序列可以如图表2所示。
[0130]
表2
[0131]
indexconsist uuidopcstnoopcstorienttrncstno010151正4110122正3210133反2310114正1
[0132]
其中,opcstno(operational consist number in train)为列车运行编组号;opcstorient(consist orientation为编组方向;trncstno(sequence number of consist in train)为列车编组的序列号。
[0133]
需要说明的是,列车运行车厢序列也可以是称为列车运行目录车厢序列,列车运行编组序列也可以称为列车运行目录编组序列。其中,列车运行目录(operational train directory)计算是把司机输入的插入指令应用到train directory和consist information内容之上,将内容信息综合,计算出列车运行目录。列车运行目录主要包含按
列车运行方向排列的列车运行目录车厢序列和列车运行目录编组序列。
[0134]
图4a是本发明实施例提供的一种列车管理系统中车厢序列信息更新方法流程图,所述装置可以由列车管理系统中车厢序列信息更新装置来执行,所述装置可以由软件和/或硬件来实现,所述装置可以配置在列车控制管理系统(tcms)中,所述列车控制管理系统可以配置在列车的每节车厢中,所述方法应用于计算可变编组的车厢序列的场景中。
[0135]
如图4a所示,本发明实施例提供的技术方案包括:
[0136]
s410:确定列车的运行方向,并确定按照参考方向进行物理连接的第一列车编组序列以及各个编组的属性信息;其中,所述属性信息包括编组的方向以及编组内的车厢序列信息。
[0137]
s420:基于所述参考方向和所述运行方向,将所述第一列车编组序列中的各个编组按照列车运行方向依次排列,得到第二列车编组序列,并将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中。
[0138]
s430:从所述编组数据结构中依次提取车厢信息,生成列车运行车厢序列,并形成列车运行车厢列表。
[0139]
s440:确定插入指令中的插入车厢列表。
[0140]
s450:根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记。
[0141]
s460:根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略。
[0142]
s470:若是,根据所述插入车厢列表更新所述列车运行车厢列表,形成新的列车运行车厢列表。
[0143]
并且本发明实施例提供的方法还可以包括:根据新的列车运行车厢列表更新列车运行编组序列,形成新的列车运行编组序列。
[0144]
其中,s410-s470的介绍可以参考上述实施例的介绍,不再累述。
[0145]
举例说明,若在图3b和图3c所示的编组1015和编组1013后面各插入一个车厢,得到的新的列车运行编组序列如表3所示,得到新的列车运行车厢列表如表4所示。
[0146]
表3
[0147]
indexconsist uuidopcstnoopcstorienttrncstno010151正41-2
--
210123正3310134反24-5
--
510116反1
[0148]
表4
[0149]
indexvehidopvehnoisleadleaddirtrnvehnovehorientownopcstno034271是正8正11-2否无关0-2
234243否无关7正3334254否无关6正3434265否无关5正4534226否无关4反4634207否无关3正47-8否无关0-5834239否无关2正69342110否无关1正6
[0150]
其中,本发明实施例提供的方法也可以参考图4b。
[0151]
本发明实施例提供的技术方案,通过当前列车运行车厢列表对插入车厢列表中的车厢进行标记,根据标记的结果确定插入车厢列表是否符合设定插入策略,可以快速高效进行策略符合性检查,提高检查效率。本发明实施例通过将编组信息整合到编组数据结构中,其中,整合的编组信息是按照列车的运行方向依次排序的编组信息,并在数据结构中的编组信息的基础上计算出列车运行车厢序列,形成当前列车运行车厢列表,即先整合出有序排列的编组信息作为过渡数据,然后在有序排列的编组信息基础上计算出列车运行车厢序列,形成当前列车运行车厢列表,可以大幅提高计算过程的速度与效率,使整个算法流程大幅简化。
[0152]
图5是本发明实施例提供的一种列车管理系统中车厢序列信息更新装置结构框图,如图5所示,本发明实施例提供的装置包括第一确定模块510、标记模块520、第二确定模块530和更新模块540。
[0153]
第一确定模块510,用于确定插入指令中的插入车厢列表;
[0154]
标记模块520,用于根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记;
[0155]
第二确定模块530,用于根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略;
[0156]
更新模块540,用于若是,根据所述插入车厢列表更新所述当前列车运行车厢列表,形成新的列车运行车厢列表。
[0157]
可选的,标记模块520,用于:
[0158]
将所述插入车厢列表中与所述当前列车运行车厢列表身份标识id相同的车厢进行标记;其中,所述插入车厢列表中包括id分别为车厢标识以及设定插入标识符的车厢;
[0159]
将所述当前列车运行车厢列表中与所述插入车厢列表id相同的车厢所在的编组标识,作为所述插入车厢列表中对应车厢的编组标识;
[0160]
确定所述当前列车运行车厢列表中与上一个列车运行车厢列表中id不相同的车厢,并作为新发现的车厢;
[0161]
将所述插入车厢列表中与所述新发现的车厢对应的id为设定标识符的车厢进行标记,并将所述新发现的车厢所在的编组标识,作为所述插入车厢列表中对应的id为设定插入标识符的车厢所在的编组标识。
[0162]
可选的,第二确定模块530,用于:
[0163]
从所述插入指令列表中依次获取每个车厢,将id为所述设定插入标识符的车厢作
为车厢间隙gap;
[0164]
若所述插入车厢列表中的车厢满足以下条件,则确定所述插入车厢列表符合设定插入策略:
[0165]
当所述插入车厢列表中的目标车厢被标记,且在所述目标车厢之前具有n个连续的gap时,所述目标车厢的编组标识与所述目标车厢的上一个被标记的非gap车厢的编组标识不相同;
[0166]
当所述插入车厢列表中的目标车厢的id是设定插入标识符,且所述目标车厢被标记时,则所述目标车厢之后连续排列的车厢的id是设定插入标识符,且所述连续排列的车厢被标记;
[0167]
当所述插入车厢列表中的目标车厢的id不是设定插入标识符,且所述目标车厢未被标记时,则所述目标车厢之后连续排列的编组标识相同的车厢没有被标记。
[0168]
可选的,第二确定模块530,还用于:
[0169]
当上一次的列车运行车厢列表中的头车厢与所述当前列车运行车厢列表中的头车厢相同,且上一次列车运行车厢列表中的尾车厢与所述当前列车运行车厢列表中尾车厢相同时,则确定所述插入车厢列表符合所述设定插入策略。
[0170]
更新模块540,还用于根据新的列车运行车厢列表更新列车运行编组序列。
[0171]
上述装置可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
[0172]
图6是本发明实施例提供的一种列车管理系统中车厢序列信息生成装置结构框图,如图6所示,本发明实施例提供的装置,包括:确定模块610、整合模块620和生成模块630。
[0173]
确定模块610,用于确定列车的运行方向,并确定按照参考方向进行物理连接的第一列车编组序列以及各个编组的属性信息;其中,所述属性信息包括编组的方向以及编组内的车厢序列信息;
[0174]
整合模块620,用于基于所述参考方向和所述运行方向,将所述第一列车编组序列中的各个编组按照列车的运行方向依次排列,得到第二列车编组序列,并将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中;
[0175]
生成模块630,用于从所述编组数据结构中依次提取车厢信息,生成列车运行车厢序列,并作为当前列车运行车厢列表。
[0176]
可选的,生成模块630,还用于:
[0177]
从所述编组数据结构中依次提取编组信息,生成列车运行编组序列,并形成当前列车运行编组列表。
[0178]
上述装置可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
[0179]
图7是本发明实施例提供的一种列车管理系统中车厢序列信息更新装置结构框图,如图7所示,本发明实施例提供的装置包括:确定模块710、整合模块720、生成模块730、第一确定模块740、标记模块750、第二确定模块760和更新模块770。
[0180]
确定模块710,用于确定列车的运行方向,并确定按照参考方向进行物理连接的第一列车编组序列以及各个编组的属性信息;其中,所述属性信息包括编组的方向以及编组
内的车厢序列信息;
[0181]
整合模块720,用于基于所述参考方向和所述运行方向,将所述第一列车编组序列中的各个编组按照列车的运行方向依次排列,得到第二列车编组序列,并将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中;
[0182]
生成模块730,用于从所述编组数据结构中依次提取车厢信息,生成列车运行车厢序列,并形成列车运行车厢列表;
[0183]
第一确定模块740,用于确定插入指令中的插入车厢列表;
[0184]
标记模块750,用于根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记;
[0185]
第二确定模块760,用于根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略;
[0186]
更新模块770,用于若是,根据所述插入车厢列表更新所述列车运行车厢列表,形成新的列车运行车厢列表。
[0187]
上述装置可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
[0188]
图8是本发明实施例提供的一种设备结构示意图,如图8所示,该设备可以是列车,可以包括:
[0189]
一个或多个处理器810,图8中以一个处理器810为例;
[0190]
存储器820;
[0191]
所述设备还可以包括:输入装置830和输出装置840。
[0192]
所述设备中的处理器810、存储器820、输入装置830和输出装置840可以通过总线或者其他方式连接,图8中以通过总线连接为例。
[0193]
存储器820作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种列车管理系统中车厢序列信息更新方法对应的程序指令/模块(例如,附图5所示的第一确定模块510、标记模块520、第二确定模块530和更新模块540,或者图7所示的确定模块710、整合模块720、生成模块730、第一确定模块740、标记模块750、第二确定模块760和更新模块770),或者如本发明实施例中一种列车管理系统中车厢序列信息生成方法对应的程序指令/模块(图6所示的确定模块610、整合模块620和生成模块630)。处理器810通过运行存储在存储器820中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的一种列车管理系统中车厢序列信息更新方法,即:
[0194]
确定插入指令中的插入车厢列表;
[0195]
根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记;
[0196]
根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略;
[0197]
若是,根据所述插入车厢列表更新所述当前列车运行车厢列表,形成新的列车运行车厢列表。
[0198]
或者实现上述方法实施例的一种列车管理系统中车厢序列信息生成方法:
[0199]
确定列车的运行方向,并确定按照参考方向进行物理连接的第一列车编组序列以
及各个编组的属性信息;其中,所述属性信息包括编组的方向以及编组内的车厢序列信息;
[0200]
基于所述参考方向和所述运行方向,将所述第一列车编组序列中的各个编组按照列车的运行方向依次排列,得到第二列车编组序列,并将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中;
[0201]
从所述编组数据结构中依次提取车厢信息,生成列车运行车厢序列,并作为当前列车运行车厢列表。
[0202]
或者实现上述方法实施例的一种列车管理系统中车厢序列信息更新方法:
[0203]
确定列车的运行方向,并确定按照参考方向进行物理连接的第一列车编组序列以及各个编组的属性信息;其中,所述属性信息包括编组的方向以及编组内的车厢序列信息;
[0204]
基于所述参考方向和所述运行方向,将所述第一列车编组序列中的各个编组按照列车的运行方向依次排列,得到第二列车编组序列,并将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中;
[0205]
从所述编组数据结构中依次提取车厢信息,生成列车运行车厢序列,并形成列车运行车厢列表;
[0206]
确定插入指令中的插入车厢列表;
[0207]
根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记;
[0208]
根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略;
[0209]
若是,根据所述插入车厢列表更新所述列车运行车厢列表,形成新的列车运行车厢列表。
[0210]
存储器820可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器820可选包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0211]
输入装置830可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置840可包括显示屏等显示设备。
[0212]
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的一种列车管理系统中车厢序列信息更新方法:
[0213]
确定插入指令中的插入车厢列表;
[0214]
根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记;
[0215]
根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略;
[0216]
若是,根据所述插入车厢列表更新所述当前列车运行车厢列表,形成新的列车运行车厢列表。
[0217]
或者实现上述方法实施例的一种列车管理系统中车厢序列信息生成方法:
[0218]
确定列车的运行方向,并确定按照参考方向进行物理连接的第一列车编组序列以
及各个编组的属性信息;其中,所述属性信息包括编组的方向以及编组内的车厢序列信息;
[0219]
基于所述参考方向和所述运行方向,将所述第一列车编组序列中的各个编组按照列车的运行方向依次排列,得到第二列车编组序列,并将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中;
[0220]
从所述编组数据结构中依次提取车厢信息,生成列车运行车厢序列,并作为当前列车运行车厢列表。
[0221]
或者实现上述方法实施例的一种列车管理系统中车厢序列信息更新方法:
[0222]
确定列车的运行方向,并确定按照参考方向进行物理连接的第一列车编组序列以及各个编组的属性信息;其中,所述属性信息包括编组的方向以及编组内的车厢序列信息;
[0223]
基于所述参考方向和所述运行方向,将所述第一列车编组序列中的各个编组按照列车的运行方向依次排列,得到第二列车编组序列,并将第二列车编组序列中各个编组的方向以及编组内的车厢序列信息整合到编组数据结构中;
[0224]
从所述编组数据结构中依次提取车厢信息,生成列车运行车厢序列,并形成列车运行车厢列表;
[0225]
确定插入指令中的插入车厢列表;
[0226]
根据当前列车运行车厢列表对所述插入车厢列表中的车厢进行标记;
[0227]
根据所述插入车厢列表的标记结果确定所述插入车厢列表是否符合设定插入策略;
[0228]
若是,根据所述插入车厢列表更新所述列车运行车厢列表,形成新的列车运行车厢列表。
[0229]
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0230]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0231]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0232]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部
分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0233]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
相关标签:
热门咨询
tips