一种列车运营场景通用仿真方法、系统、设备及介质与流程

未命名 07-02 阅读:137 评论:0


1.本发明涉及列车信号控制系统,尤其是涉及一种列车运营场景通用仿真方法、系统、设备及介质。


背景技术:

2.在现代轨道交通建设发展的背景下,列车的运营运行越来越趋向自动化和智能化,所涉及的系统运来越多。伴随运行系统越来越庞大、设计越来越复杂,每个故障的处置,每个场景的处置都涉及多专业的联动,整个仿真系统需要部署复杂的网络环境和频繁的消息交互才能完成。以现有的技术实现,会开发远程通讯模块或者采用消息队列产品,然后和数据库同时部署。这样的软件结构,和让系统变得越来越臃肿。遇到开发语言差异的子系统或者网络访问的限制,会让整个仿真环境的部署和运行变得非常困难,遇到问题也很难去排查故障点。另外,仿真系统的场景设计需要能够快速调整,这样引发的软件设计的变动经常导致大量的开发和测试压力。传统的sql数据库在数据结构对象化方面存在薄弱之处,对于存储复杂设备的多重状态时显得力不从心。另外,列车仿真的数据大量布尔值,传统的数据库存储数据空间需求非常大,实验室的搭建成本也随之高涨。另外列车仿真系统的典型特点就是数据读取速度非常快,实时性要求高,而传统sql数据库无法满足这些要求。
3.因此如何来能够实现复杂的场景模拟,满足当前日益增加的轨道交通系统仿真需求,但是又能保证系统不能过于庞大的仿真技术,成为需要解决的技术问题。


技术实现要素:

4.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种列车运营场景通用仿真方法、系统、设备及介质。
5.本发明的目的可以通过以下技术方案来实现:
6.根据本发明的第一方面,提供了一种列车运营场景通用仿真方法,该方法借助redis轻量级消息发布订阅机制和内存数据库高性能,将数据库存储访问和消息通信功能合二为一,仿真列车运行状态的同时,对各个仿真场景的执进行实时同步,实现列车运营仿真系统的快速搭建。
7.作为优选的技术方案,该方法具体包括以下步骤:
8.步骤1、仿真软件启动后,分别创建列车运营场景仿真系统的三个通道:订阅通道,指令通道和执行返回通道;
9.步骤2、各个节点作为列车仿真系统客户端,分别连接redis服务器,分配一个唯一的标识码,同时订阅需要的通道;
10.步骤3、仿真软件的仿真数据模块开始周期产生数据,模拟实际运行状态;
11.步骤4、仿真软件的场景驱动模块开始工作,发布第一组指令到指令通道;
12.步骤5、各个节点通过订阅的指令通道获得该指令信息后,分析自身节点是否为该指令的接收方,如果是该指令的接收方,则解析该指令并执行;如果不是该指令的接收方,
则忽略该指令;
13.步骤6、作为指令接收方的节点,在执行完指令后,将执行结果发布到执行结果通道;
14.步骤7、仿真软件的场景流程驱动模块订阅执行结果通道,当收到执行结果后,首先遍历仿真流程的定义,判断当前的执行分支,选择下一个指令或者操作,发布到指令订阅通道;
15.步骤8、仿真系统再次执行步骤5和步骤6;
16.步骤9,场景流程驱动模块收到执行结果后,判断整个场景是否执行完成,如果是,则结束当前场景的执行。
17.作为优选的技术方案,所述指令通道具体为:
18.指令通道发布的信息为场景流程里面的具体某个节点要完成的动作。比如操作广播播送一段语音,该指令的具体操作可以定义命令操作符来定义,具体的操作符代表一个可以被识别的具体操作。
19.作为优选的技术方案,所述结果返回通道具体为:
20.结果返回通道发布的消息为指令的执行结果,指令的返回结果不限于完成或者失败,可定义具体返回码来代表不同的执行结果,该结果可被收到消息的场景流程控制模块识别。
21.作为优选的技术方案,所述订阅通道具体为:
22.订阅通道发布的信息为redis的存储的数据变化;按照具体的列车来划分数据变化的范围。比如列车1的数据变化就按照【列车.1】这样的模式发布,如果某个节点需要订阅所有的列车的数据变化,那么需要用模式【列车.*】订阅。
23.作为优选的技术方案,所述步骤2中的标识码的格式具体为:
24.节点的组号:节点的设备号。
25.作为优选的技术方案,所述步骤4中的指令格式具体为:
26.接收者标识码,指令个数,指令执行模式,指令1,指令2,指令3


27.作为优选的技术方案,所述指令执行模式具体为:
28.单次执行,多次执行,循环执行。
29.作为优选的技术方案,所述步骤6中的执行结果格式具体为::
30.执行者标识码,返回结果数,指令1,结果1,指令2,结果2


31.根据本发明的第二方面,提供了一种用于所述的列车运营场景通用仿真方法的系统,包括:
32.仿真数据驱动模块,用于实时模拟真实场景,能够生成随机或者预设的模拟数据;
33.数据订阅模块,用于将数据变化发布到订阅通道,订阅该通道的客户端将实时获取仿真设备的状态变化;
34.场景流程驱动模块,用于按照场景的预设步骤,发布最新的指令给其他节点,同时接收执行结果来驱动下一步的执行动作。
35.根据本发明的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现所述的方法。
36.根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程
序,所述程序被处理器执行时实现所述的方法。
37.与现有技术相比,本发明具有以下优点:
38.1)简化了系统结构,保证了数据的一致性和高速访问,优化了网络通信效率,实现应用(系统)之间的解耦合,同时也避免了网络的隔离和开发语言的不一致导致的系统复杂性,提升了仿真系统部署的简便性和运行的稳定性。
39.2)本发明实现了发布订阅机制和内存数据库访问的整合。如果以现有的技术来实现,一般会开发远程通讯模块或者采用消息队列产品,然后和数据库同时部署。这样的软件结构,和让系统变得越来越臃肿。本发明可以极大的缩小仿真系统规模,实现异构应用(系统)之间的解耦合。各个子系统可以用不同的语言开发,只要调用redis轻量化发布订阅机制就可以完成消息的交互,各个子系统不需要直接通信,降低了开发和调试系统的复杂性。数据的产生和消息的发送解耦合,数据的产生对应的是存储在redis的业务数据模型,而消息的发送则可以定制。
40.3)本发明实现了网络部署的高效性。由于各个子系统的部署要求各个节点都要特定的网络规划,各个子系统之间的网络一般需要隔离,但是只要能够访问公共的redis服务,那么各个子系统可以实现消息互联。这种对于仿真系统,可以大大降低网络规划的复杂性,能够快速灵活的部署仿真系统。
41.4)本发明利用了redis轻量级发布订阅机制的高效性和可靠性,可以现实快速的消息传递。redis订阅发布简单,轻量级,延迟比较低,能够保证业务的快速整合。消息的发布者只要向通道中推送消息,客户端就能在第一时间从通道中获取消息。
42.5)本发明利用了redis内存数据存储的特点,实现了数据结构的高度对象化和高性能。redis支持丰富的数据类型,可以满足存储各种数据结构体的需要,特别是哈希槽(hash)类型的数据,可以高度整合某个复杂设备的多重状态。redis也具有数据存储空间的优势,位图类(bitmap)的使用极大地节省存储空间。整个数据库统统加载在内存中,能够提供磁盘数据库无法提供的数据访问速度。
附图说明
43.图1为本发明列车运营场景通用仿真结构示意图;
44.图2为本发明列车运营场景通用仿真方法的流程图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
46.本发明一种基于内存数据库的更加可靠高效,简单易用的轻量化列车仿真系统的方法,它能够实现复杂的场景模拟,满足当前日益增加的轨道交通系统仿真需求,但是又能保证系统不能过于庞大。它能实现各个子系统的解耦合,保证仿真系统的开发,测试,部署和维护都能高效完成。
47.本发明一种列车运营场景仿真方法,该方法借助redis轻量级消息发布订阅机制
和内存数据库性能的仿真方法,将数据库和网络通信功能合二为一,实现运营场景仿真系统便捷化和轻量化。本发明简化了系统结构,利用键值(key-value)内存数据库的高性能,保证了数据的一致性和高速访问,可以建立列车信息的对象结构化的数据模型,实时仿真列车的数据变化来模拟列车的运行状态。通过redis服务器中转,将消息快速可靠的发送至相关的节点。优化了网络通信效率,实现应用(系统)之间的解耦合,同时也避免了网络的隔离和开发语言的不一致导致的系统复杂性,提升了仿真系统部署的简便性和运行的稳定性。
48.如图1和图2所示,一种城市轨道交通列车运营场景通用仿真方法,包括以下步骤:
49.步骤1、仿真软件启动后,分别创建列车运营场景仿真系统的三种通道:订阅通道,指令通道和执行返回通道。每个通道的规模和设定按照实际的业务可以灵活定制,可以采用模式订阅,比如按照各个列车设备的子系统来划分(【列车1.业务1】,【列车1.业务2】等等);
50.步骤2、各个节点作为列车运营场景仿真系统客户端,分别连接redis服务器,分配一个独一无二的标识码,同时订阅需要的通道(客户端可以订阅多个通道,数量不限。其中订阅通道,以使用模式订阅,以实现多个列车信息的隔离)。一般节点标识符使用【组号.节点号】来唯一标识;
51.步骤3、仿真软件的仿真数据开始周期产生数据,模拟实际运行状态。产生数据的策略可以提供随机,定时和场景,比如仿真列车在正线运行的时候的场景,到达一个站台后,先开门后关门。这样的场景仿真更加接近真实的运营情况;
52.步骤4、仿真软件的场景驱动模块开始工作,发布第一组指令到指令通道。具体的指令和场景设计相关,以流程图的形式定义场景流程将更加直观;
53.步骤5、各个节点通过订阅的指令通道获得该指令信息后,分析自身节点是否该指令的接收方。如果是该指令的接收方,则解析该指令并执行;如果不是该指令的接收方,则忽略该指令;
54.步骤6、作为指令接收方的节点,在执行完指令后,将执行结果发布到执行结果的。如果再特定情况下,执行结果没有写回消息通道,那么场景流程模块会按照超时的规则处理;
55.步骤7、仿真软件的场景流程驱动模块订阅执行结果通道。当收到执行结果后,它首先遍历仿真流程的定义,判断当前的执行分支,选择下一个指令或者操作,发布到指令订阅通道。场景的判断需要场景驱动模块记录场景的执行状态,以及当前设备的仿真状态来决定。
56.步骤8、仿真系统再次执行步骤5和步骤6;
57.步骤9,场景流程驱动模块收到执行结果后,判断场景流程已经完整,则结束当前场景的执行。
58.以上是关于方法实施例的介绍,以下通过系统实施例,对本发明所述方案进行进一步说明。
59.如图1所示,本发明系统包括仿真数据驱动模块,数据订阅模块和场景流程驱动模块,其中仿真数据驱动模块实时模拟真实场景,能够生成随机或者预设的模拟数据。数据订阅模块将数据变化发布到订阅通道,订阅该通道的客户端将实时获取仿真设备的状态变
化。场景流程驱动模块则按照场景的预设步骤,发布最新的指令给其他节点,同时接收执行结果来驱动下一步的执行动作。与现有技术相比,本发明简化了系统结构,保证了数据的一致性和高速访问,优化了网络通信效率,实现应用(系统)之间的解耦合,同时也避免了网络的隔离和开发语言的不一致导致的系统复杂性,提升了仿真系统部署的简便性和运行的稳定性。
60.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
61.本发明电子设备包括中央处理单元(cpu),其可以根据存储在只读存储器(rom)中的计算机程序指令或者从存储单元加载到随机访问存储器(ram)中的计算机程序指令,来执行各种适当的动作和处理。在ram中,还可以存储设备操作所需的各种程序和数据。cpu、rom以及ram通过总线彼此相连。输入/输出(i/o)接口也连接至总线。
62.设备中的多个部件连接至i/o接口,包括:输入单元,例如键盘、鼠标等;输出单元,例如各种类型的显示器、扬声器等;存储单元,例如磁盘、光盘等;以及通信单元,例如网卡、调制解调器、无线通信收发机等。通信单元允许设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
63.处理单元执行上文所描述的各个方法和处理,例如本发明方法。例如,在一些实施例中,本发明方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由rom和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到ram并由cpu执行时,可以执行上文描述的本发明方法的一个或多个步骤。备选地,在其他实施例中,cpu可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本发明方法。
64.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
65.用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
66.在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
67.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种列车运营场景通用仿真方法,其特征在于,该方法借助redis轻量级消息发布订阅机制和内存数据库高性能,将数据库存储访问和消息通信功能合二为一,仿真列车运行状态的同时,对各个仿真场景的执进行实时同步,实现列车运营仿真系统的快速搭建。2.根据权利要求1所述的一种列车运营场景通用仿真方法,其特征在于,该方法具体包括以下步骤:步骤1、仿真软件启动后,分别创建列车运营场景仿真系统的三个通道:订阅通道,指令通道和执行返回通道;步骤2、各个节点作为列车仿真系统客户端,分别连接redis服务器,分配一个唯一的标识码,同时订阅需要的通道;步骤3、仿真软件的仿真数据模块开始周期产生数据,模拟实际运行状态;步骤4、仿真软件的场景驱动模块开始工作,发布第一组指令到指令通道;步骤5、各个节点通过订阅的指令通道获得该指令信息后,分析自身节点是否为该指令的接收方,如果是该指令的接收方,则解析该指令并执行;如果不是该指令的接收方,则忽略该指令;步骤6、作为指令接收方的节点,在执行完指令后,将执行结果发布到执行结果通道;步骤7、仿真软件的场景流程驱动模块订阅执行结果通道,当收到执行结果后,首先遍历仿真流程的定义,判断当前的执行分支,选择下一个指令或者操作,发布到指令订阅通道;步骤8、仿真系统再次执行步骤5和步骤6;步骤9,场景流程驱动模块收到执行结果后,判断整个场景是否执行完成,如果是,则结束当前场景的执行。3.根据权利要求2所述的一种列车运营场景通用仿真方法,其特征在于,所述指令通道具体为:指令通道发布的信息为场景流程里面的具体某个节点要完成的动作。4.根据权利要求2所述的一种列车运营场景通用仿真方法,其特征在于,所述结果返回通道具体为:结果返回通道发布的消息为指令的执行结果,指令的返回结果不限于完成或者失败,可定义具体返回码来代表不同的执行结果,该结果可被收到消息的场景流程控制模块识别。5.根据权利要求2所述的一种列车运营场景通用仿真方法,其特征在于,所述订阅通道具体为:订阅通道发布的信息为redis的存储的数据变化;按照具体的列车来划分数据变化的范围。6.根据权利要求2所述的一种列车运营场景通用仿真方法,其特征在于,所述步骤2中的标识码的格式具体为:节点的组号:节点的设备号。7.根据权利要求2所述的一种列车运营场景通用仿真方法,其特征在于,所述步骤4中的指令格式具体为:接收者标识码,指令个数,指令执行模式,指令1,指令2,指令3


8.根据权利要求7所述的一种列车运营场景通用仿真方法,其特征在于,所述指令执行模式具体为:单次执行,多次执行,循环执行。9.根据权利要求2所述的一种列车运营场景通用仿真方法,其特征在于,所述步骤6中的执行结果格式具体为::执行者标识码,返回结果数,指令1,结果1,指令2,结果2

。10.一种用于权利要求1所述的列车运营场景通用仿真方法的系统,其特征在于,包括:仿真数据驱动模块,用于实时模拟真实场景,能够生成随机或者预设的模拟数据;数据订阅模块,用于将数据变化发布到订阅通道,订阅该通道的客户端将实时获取仿真设备的状态变化;场景流程驱动模块,用于按照场景的预设步骤,发布最新的指令给其他节点,同时接收执行结果来驱动下一步的执行动作。11.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~9中任一项所述的方法。12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~9中任一项所述的方法。

技术总结
本发明涉及一种列车运营场景通用仿真方法、系统、设备及介质,该方法借助Redis轻量级消息发布订阅机制和内存数据库高性能,将数据库存储访问和消息通信功能合二为一,仿真列车运行状态的同时,对各个仿真场景的执进行实时同步,实现列车运营仿真系统的快速搭建。与现有技术相比,本发明具有简化了系统结构,保证了数据的一致性和高速访问,优化了网络通信效率,实现应用(系统)之间的解耦合,同时也避免了网络的隔离和开发语言的不一致导致的系统复杂性,提升了仿真系统部署的简便性和运行的稳定性。稳定性。稳定性。


技术研发人员:张炳锋 裴加富 林立 张兵建 郭佳峰 刘琅 包亮强 习海涛
受保护的技术使用者:卡斯柯信号有限公司
技术研发日:2022.12.27
技术公布日:2023/5/16
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐