CN113641306A - 车载ato与车载atp的数据交互方法及装置 - Google Patents
车载ato与车载atp的数据交互方法及装置 Download PDFInfo
- Publication number
- CN113641306A CN113641306A CN202110859806.6A CN202110859806A CN113641306A CN 113641306 A CN113641306 A CN 113641306A CN 202110859806 A CN202110859806 A CN 202110859806A CN 113641306 A CN113641306 A CN 113641306A
- Authority
- CN
- China
- Prior art keywords
- data
- thread
- atp
- ato
- vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 145
- 230000003993 interaction Effects 0.000 title claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 97
- 239000000872 buffer Substances 0.000 claims abstract description 89
- 238000013507 mapping Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 8
- 230000003139 buffering effect Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electric Propulsion And Braking For Vehicles (AREA)
Abstract
本发明提供一种车载ATO与车载ATP的数据交互方法及装置,该方法包括:创建ATO进程以及ATP进程;ATO进程包括第一线程和第二线程;通过读管道读取ATP数据,并将ATP数据存放至一级读缓冲区,再将一级读缓冲区的数据映射至第一数据;在第二线程完成目标业务后,通过读写锁读取第一数据,并存入二级读缓冲区;在第二线程的一级写缓冲区存有ATO数据,并将ATO数据映射至第二数据的情况下,基于所述第一线程通过读写锁读取第二数据,并存入二级写缓冲区;通过第一线程的写管道,将第二数据写入ATP进程。本发明提供的方法,可以实现车载ATO能够实时获取准确的列车速度信息和位置信息,对列车实现精准控制。
Description
技术领域
本发明涉及轨道交通技术领域,尤其涉及一种车载ATO与车载ATP的数据交互方法及装置。
背景技术
因车载ATP(即:列车自动防护子系统)、ATO(即:列车自动驾驶子系统)运行于不同的硬件架构,测速测距模块采集的脉冲信息经过车载ATP的应用层计算,得到列车速度信息和位置信息,再通过网络传输至车载ATO,数据传输的延时经常导致车载ATO不能获得实时的列车速度信息和位置信息,导致车载ATO出现站台停不准、控车出现级位跳变等问题。即使车载ATO设备单独通过硬线直接采集脉冲信息,独立计算测速测距,因CPU(即:中央处理器)运算能力不同、软件设计架构等的不一致,仍然会造成车载ATP与车载ATO所获取的速度信息和位置信息不一致,造成列车的控制出现时间上的偏差。
因此,现有的技术方案中,车载ATO获取的列车速度信息和位置信息并非实时的准确信息,导致列车的控制不准确。
发明内容
本发明提供一种车载ATO与车载ATP的数据交互方法及装置,用以解决现有技术中车载ATO获取的列车速度信息和位置信息并非实时的准确信息的缺陷,实现车载ATO能够实时获取准确的列车速度信息和位置信息,对列车实现精准控制。
本发明提供一种车载ATO与车载ATP的数据交互方法,包括:
创建ATO进程以及ATP进程;其中,所述ATO进程包括第一线程和第二线程;
通过所述第一线程的读管道从所述ATP进程读取ATP数据,并将所述ATP数据存放至一级读缓冲区,再将所述一级读缓冲区的数据映射至第一数据;
在所述第二线程完成目标业务后,通过读写锁读取所述第一数据,并在所述第二线程中将所述第一数据存入二级读缓冲区;
在所述第二线程的一级写缓冲区存有ATO数据,并将所述ATO数据映射至第二数据的情况下,基于所述第一线程通过所述读写锁读取所述第二数据,并将所述第二数据存入二级写缓冲区;
通过所述第一线程的写管道,将所述第二数据写入所述ATP进程。
根据本发明提供的车载ATO与车载ATP的数据交互方法,所述第一数据和所述第二数据均为全局变量。
根据本发明提供的车载ATO与车载ATP的数据交互方法,所述在所述第二线程完成目标业务后,通过读写锁读取所述第一数据,并在所述第二线程中将所述第一数据存入二级读缓冲区,包括:
在所述第二线程完成目标业务后,通过所述读写锁读取所述第一数据,并对所述第一数据进行校验;
在所述第一数据校验通过后,将所述第一数据写入所述二级读缓冲区。
根据本发明提供的车载ATO与车载ATP的数据交互方法,所述基于所述第一线程通过所述读写锁读取所述第二数据,并在所述第一线程中将所述第二数据存入二级写缓冲区,包括:
基于所述第一线程通过所述读写锁读取所述第二数据,并对所述第二数据进行校验;
在所述第二数据校验通过后,将所述第二数据写入所述二级写缓冲区。
根据本发明提供的车载ATO与车载ATP的数据交互方法,所述第一线程的读管道从所述ATP进程读取ATP数据,包括:
所述读管道联合select函数阻塞式从所述ATP进程读取所述ATP数据。
根据本发明提供的车载ATO与车载ATP的数据交互方法,还包括:
在所述读管道相邻两次,从所述ATP进程读取所述ATP数据的时间间隔大于目标时长的情况下,则发出ATO故障预警。
本发明还提供一种车载ATO与车载ATP的数据交互装置,包括:
创建模块,用于创建ATO进程以及ATP进程;其中,所述ATO进程包括第一线程和第二线程;
第一读取模块,用于通过所述第一线程的读管道从所述ATP进程读取ATP数据,并将所述ATP数据存放至一级读缓冲区,再将所述一级读缓冲区的数据映射至第一数据;
第二读取模块,用于在所述第二线程完成目标业务后,通过读写锁读取所述第一数据,并在所述第二线程中将所述第一数据存入二级读缓冲区;
第三读取模块,用于在所述第二线程的一级写缓冲区存有ATO数据,并将所述ATO数据映射至第二数据的情况下,基于所述第一线程通过所述读写锁读取所述第二数据,并将所述第二数据存入二级写缓冲区;
写入模块,用于通过所述第一线程的写管道,将所述第二数据写入所述ATP进程。
根据本发明提供的车载ATO与车载ATP的数据交互装置,所述第一数据和所述第二数据均为全局变量。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一项所述车载ATO与车载ATP的数据交互方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述车载ATO与车载ATP的数据交互方法的步骤。
本发明提供的车载ATO与车载ATP的数据交互方法及装置,在第一线程中,读管道从ATP进程读取了的ATP数据之后先做存入一级读缓冲区,做一级缓冲,并将ATP数据映射至第一数据,等到第二线程需要使用第一数据时才读取,并在读取之后,在第二线程中,将第一数据进行二级缓冲,即将第一数据存入二级读缓冲区。同理,写管道获取的第二数据,也是先将获取的ATO数据存入一级写缓冲区,再映射为第二数据,并将第二数据存入二级写缓冲区。第一线程与第二线程之间的数据交互采用一级缓冲和二级缓冲,也即是双缓冲,解决了车载ATO正在处理的数据,与车载ATP发送的新数据之间出现错位的问题,而且读写数据时,通过读写锁,保证使用数据过程中不会被改写,保证ATO进程接收和发送的数据都是实时完整的最新数据,进而实现车载ATO能够实时获取准确的列车速度信息和位置信息,对列车实现精准控制。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的车载ATO与车载ATP的数据交互方法的流程示意图之一;
图2是本发明提供的车载ATO与车载ATP的数据交互方法的创建第一线程和第二线程的流程示意图;
图3是本发明提供的车载ATO与车载ATP的数据交互方法的逻辑示意图;
图4是本发明提供的第一线程超时判断的示意图;
图5是本发明提供的第二线程超时判断的示意图;
图6是本发明提供的车载ATO与车载ATP的数据交互装置的原理框图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图7描述本发明的车载ATO与车载ATP的数据交互方法及装置。
如图1所示,本发明提供一种车载ATO(即:列车自动驾驶子系统)的数据交互方法,包括:
步骤110、创建ATO进程以及ATP进程;其中,ATO进程包括第一线程和第二线程。创建第一线程和第二线程的流程如图2所示。
可以理解的是,本发明中的车载指的是列车,尤其是轨道交通的列车。ATP(即:列车自动防护子系统)进程与ATO进程是两个不同的进程,ATP进程和ATO进程均是QNX操作系统的进程,车载ATO和车载ATP均采用基于QNX操作系统的硬件平台,需要说明的是,车载ATP与车载ATO均运行于同一硬件平台。
车载ATP与车载ATO可以调用QNX操作系统的平台层提供的相关io接口、网络接口进行数据收发,为保证车载ATO程序的异常尽量不影响车载ATP的程序,采用车载ATP和车载ATO各单独运行一个进程的方式。
需要说明的是,第一线程用于实现对车载ATP数据的收发处理,第一线程也称为ATP数据收发线程。
第二线程实现平台层io接口、TCMS(即:列车控制和管理系统)数据的收发以及ATO业务逻辑的处理,第二线程也称为业务逻辑处理线程。
步骤120、通过第一线程的读管道从ATP进程读取ATP数据,并将ATP数据存放至一级读缓冲区,再将一级读缓冲区的数据映射至第一数据,如图3所示。
可以理解的是,为使车载ATP与车载ATO进一步解耦,本发明不采用共享内存的方式实现车载ATP与车载ATO之间的数据交互。ATO进程中的第一线程采用QNX系统中命名管道的方式。ATO进程启动后,会创建2个管道,一个读管道,一个写管道。其中,读管道用于从ATP进程读取数据,写管道用于向ATP进程写入数据。
步骤130、在第二线程完成目标业务后,通过读写锁读取第一数据,并在第二线程中将所述第一数据存入二级读缓冲区。
可以理解的是,在第一线程中,读管道从ATP进程读取了的ATP数据之后先做一级缓冲,存入一级读缓冲区,等到第二线程需要使用第一数据时,就从一级读缓冲区中读取,并在读取之后,在第二线程中,将ATP数据存入二级读缓冲区。采用一级缓冲和二级缓冲,也即是双缓冲。
即使采用命名管道的方式,即命名读管道和写管道,仍然可能出现车载ATO正在向写管道时,写入数据过程中出现程序崩溃的情况,导致车载ATO发送至车载ATP的数据是错误的。
或者车载ATO正在利用读管道所读取的数据进行数据运算,此时车载ATP又发送了新的数据,导致数据出现“错位”。
为解决这些问题,且保证接收和发送为实时最新数据,建立双缓冲加读写锁的方法。
读取数据时,操作一级缓冲和二级缓冲,且在操作过程中,通过读写锁,保证使用数据过程中不会被改写。
步骤140、在第二线程的一级写缓冲区存有ATO数据,并将ATO数据映射至第二数据的情况下,基于第一线程通过读写锁读取第二数据,并将第二数据存入二级写缓冲区。
需要说明的是,在第二线程中,在将第一数据进行处理之后,才更新第二数据,再将第二数据进行一级缓冲。
步骤150、通过第一线程的写管道,将第二数据写入ATP进程。
可以理解的是,在从ATP进程读取数据和向ATP进程写入数据的过程,均会操作一级缓冲和二级缓冲,且在操作过程中,通过读写锁,保证使用数据过程中不会被改写。
在一些实施例中,第一数据和所述第二数据均为全局变量,即第一数据为第一全局变量,第二数据为第二全局变量。
可以理解的是,全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。第一全局变量和第二全局变量在ATO进程中作为全局变量可被第一线程和第二线程读写。
第一线程获取ATP数据后,立刻拷贝数据至第一全局变量,这样保证第二线程每次都能获取最新的实时数据。
第二线程完成业务逻辑运算后立刻更新第一全局变量,保证第一线程发送至车载ATP的数据也为最新数据。
若第二线程在发送第二数据的过程中异常退出,则第一线程在拷贝第二线程中的第二数据之前,crc数据将不会通过,这样写入ATP进程的数据仍为上周期数据,ATP进程检测到ATO心跳信息不变后,继续做相应处理即可。
在一些实施例中,在第二线程完成目标业务后,通过读写锁读取第一数据,并在第二线程中将第一数据存入二级读缓冲区,包括:
在第二线程完成目标业务后,通过读写锁读取第一数据,并对第一数据进行校验;
在第一数据校验通过后,将第一数据写入二级读缓冲区。
在一些实施例中,基于第一线程通过读写锁读取第二数据,并在第一线程中将第二数据存入二级写缓冲区,包括:
基于第一线程通过读写锁读取第二数据,并对第二数据进行校验;
在第二数据校验通过后,将第二数据写入二级写缓冲区。
需要说明的是,可以通过crc校验(即:循环冗余校验)方法,对第一数据和第二数据进行校验,以保证数据传输过程的正确性。
在一些实施例中,第一线程的读管道从ATP进程读取ATP数据,包括:
读管道联合select函数阻塞式从ATP进程读取ATP数据。
在一些实施例中,车载ATO与车载ATP的数据交互方法还包括:
在读管道相邻两次,从ATP进程读取ATP数据的时间间隔大于目标时长的情况下,则发出ATO故障预警。
可以理解的是,如图4所示,车载ATO通过读管道,联合select函数阻塞式读取ATP数据,若超时100ms(该值可以配置)未收到车载ATP的心跳信息,则车载ATO进入故障态,并通过写管道向车载ATP发送ATO状态数据,通知车载ATP,车载ATO已进入故障态。车载ATO接收完数据后,立刻通过写管道,向车载ATP发送数据。
第二线程为ATO进程的主应用逻辑线程,包含门控、区间控车、ATS(即:列车自动监控子系统)计划响应以及休眠唤醒等功能。如图5所示,第二线程通过select函数进行200ms(该值可以配置)超时判断,若第二线程超过200ms计算周期或出现阻塞至某一环节,则此时会调用平台接口,向平台报警,平台通过ATP接口通知车载ATO故障,进行下一步操作。
综上所述,本发明提供的车载ATO与车载ATP的数据交互方法,先创建ATO进程以及ATP进程;其中,ATO进程包括第一线程和第二线程;通过第一线程的读管道从ATP进程读取ATP数据,并将ATP数据存放至一级读缓冲区,再将一级读缓冲区的数据映射至第一数据;在第二线程完成目标业务后,通过读写锁读取第一数据,并在第二线程中将所述第一数据存入二级读缓冲区;在第二线程的一级写缓冲区存有ATO数据,并将ATO数据映射至第二数据的情况下,基于第一线程通过读写锁读取第二数据,并在第一线程中将第二数据存入二级写缓冲区;通过第一线程的写管道,将第二数据写入ATP进程。
本发明提供的方法,在第一线程中,读管道从ATP进程读取了的ATP数据之后先做存入一级读缓冲区,做一级缓冲,并将ATP数据映射至第一数据,等到第二线程需要使用第一数据时才读取,并在读取之后,在第二线程中,将第一数据进行二级缓冲,即将第一数据存入二级读缓冲区。同理,写管道获取的第二数据,也是先将获取的ATO数据存入一级写缓冲区,再映射为第二数据,并将第二数据存入二级写缓冲区。
第一线程与第二线程之间的数据交互采用一级缓冲和二级缓冲,也即是双缓冲,解决了车载ATO正在处理的数据,与车载ATP发送的新数据之间出现错位的问题,而且读写数据时,通过读写锁,保证使用数据过程中不会被改写,保证ATO进程接收和发送的数据都是实时最新数据,进而实现车载ATO能够实时获取准确的列车速度信息和位置信息,对列车实现精准控制。
本发明提供的方法可适用于ATP与ATO在同一硬件平台下的具有POSIX标准的操作系统的的移植,能够解决ATP与ATO不在同一平台下的通信延时等问题,可提高ATO控车时的站台停车精度、区间控车准确度。
虽然ATP与ATO处在同一硬件平台下的两个进程,但ATP与ATO具有较低的耦合性,ATP的运行不依赖于ATO,ATO故障的情况下也不会发送错误数据至ATP,保证数据的安全与ATP运行的独立性。下面对本发明提供的车载ATO与车载ATP的数据交互装置进行描述,下文描述的车载ATO与车载ATP的数据交互装置与上文描述的车载ATO与车载ATP的数据交互方法可相互对应参照。
如图6所示,本发明提供的车载ATO与车载ATP的数据交互装置600包括:创建模块610、第一读取模块620、第二读取模块630、第三读取模块640和写入模块650。
创建模块610用于创建ATO进程以及ATP进程;其中,ATO进程包括第一线程和第二线程。
第一读取模块620用于通过第一线程的读管道从ATP进程读取ATP数据,并将ATP数据存放至一级读缓冲区,再将一级读缓冲区的数据映射至第一数据。
第二读取模块630用于在第二线程完成目标业务后,通过读写锁读取第一数据,并在第二线程中将所述第一数据存入二级读缓冲区。
第三读取模块640用于在第二线程的一级写缓冲区存有ATO数据,并将ATO数据映射至第二数据的情况下,基于第一线程通过读写锁读取第二数据,并在第一线程中将第二数据存入二级写缓冲区。
写入模块650用于通过第一线程的写管道,将第二数据写入ATP进程。
在一些实施例中,第一数据和第二数据均为全局变量。
在一些实施例中,第二读取模块630包括:第一读取校验单元和第一缓冲单元。
第一读取校验单元用于在第二线程完成目标业务后,通过读写锁读取第一数据,并对第一数据进行校验。
第一缓冲单元用于在第一数据校验通过后,将第一数据写入二级读缓冲区。
在一些实施例中,第四读取单元包括:第二读取校验单元和第二缓冲单元。
第二读取校验单元用于基于第一线程通过读写锁读取第二数据,并对第二数据进行校验。
第二缓冲单元用于在第二数据校验通过后,将第二数据写入二级写缓冲区。
在一些实施例中,第一线程的读管道从ATP进程读取ATP数据,包括:
读管道联合select函数阻塞式从ATP进程读取ATP数据。
在一些实施例中,车载ATO与车载ATP的数据交互装置600还包括:预警模块。
预警模块用于在读管道相邻两次,从ATP进程读取ATP数据的时间间隔大于目标时长的情况下,则发出ATO故障预警。
下面对本发明提供的电子设备及存储介质进行描述,下文描述的电子设备及存储介质与上文描述的车载ATO与车载ATP的数据交互方法可相互对应参照。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行车载ATO与车载ATP的数据交互方法,该方法包括:
步骤110、创建ATO进程以及ATP进程;其中,ATO进程包括第一线程和第二线程;
步骤120、通过第一线程的读管道从ATP进程读取ATP数据,并将ATP数据存放至一级读缓冲区,再将一级读缓冲区的数据映射至第一数据;
步骤130、在第二线程完成目标业务后,通过读写锁读取第一数据,并在第二线程中将所述第一数据存入二级读缓冲区;
步骤140、在第二线程的一级写缓冲区存有ATO数据,并将ATO数据映射至第二数据的情况下,基于第一线程通过读写锁读取第二数据,并在第一线程中将第二数据存入二级写缓冲区;
步骤150、通过第一线程的写管道,将第二数据写入ATP进程。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的车载ATO与车载ATP的数据交互方法,该方法包括:
步骤110、创建ATO进程以及ATP进程;其中,ATO进程包括第一线程和第二线程;
步骤120、通过第一线程的读管道从ATP进程读取ATP数据,并将ATP数据存放至一级读缓冲区,再将一级读缓冲区的数据映射至第一数据;
步骤130、在第二线程完成目标业务后,通过读写锁读取第一数据,并在第二线程中将所述第一数据存入二级读缓冲区;
步骤140、在第二线程的一级写缓冲区存有ATO数据,并将ATO数据映射至第二数据的情况下,基于第一线程通过读写锁读取第二数据,并在第一线程中将第二数据存入二级写缓冲区;
步骤150、通过第一线程的写管道,将第二数据写入ATP进程。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的车载ATO与车载ATP的数据交互方法,该方法包括:
步骤110、创建ATO进程以及ATP进程;其中,ATO进程包括第一线程和第二线程;
步骤120、通过第一线程的读管道从ATP进程读取ATP数据,并将ATP数据存放至一级读缓冲区,再将一级读缓冲区的数据映射至第一数据;
步骤130、在第二线程完成目标业务后,通过读写锁读取第一数据,并在第二线程中将所述第一数据存入二级读缓冲区;
步骤140、在第二线程的一级写缓冲区存有ATO数据,并将ATO数据映射至第二数据的情况下,基于第一线程通过读写锁读取第二数据,并在第一线程中将第二数据存入二级写缓冲区;
步骤150、通过第一线程的写管道,将第二数据写入ATP进程。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种车载ATO与车载ATP的数据交互方法,其特征在于,包括:
创建ATO进程以及ATP进程;其中,所述ATO进程包括第一线程和第二线程;
通过所述第一线程的读管道从所述ATP进程读取ATP数据,并将所述ATP数据存放至一级读缓冲区,再将所述一级读缓冲区的数据映射至第一数据;
在所述第二线程完成目标业务后,通过读写锁读取所述第一数据,并在所述第二线程中将所述第一数据存入二级读缓冲区;
在所述第二线程的一级写缓冲区存有ATO数据,并将所述ATO数据映射至第二数据的情况下,基于所述第一线程通过所述读写锁读取所述第二数据,并在所述第一线程中将所述第二数据存入二级写缓冲区;
通过所述第一线程的写管道,将所述第二数据写入所述ATP进程。
2.根据权利要求1所述的车载ATO与车载ATP的数据交互方法,其特征在于,所述第一数据和所述第二数据均为全局变量。
3.根据权利要求1所述的车载ATO与车载ATP的数据交互方法,其特征在于,所述在所述第二线程完成目标业务后,通过读写锁读取所述第一数据,并在所述第二线程中将所述第一数据存入二级读缓冲区,包括:
在所述第二线程完成目标业务后,通过所述读写锁读取所述第一数据,并对所述第一数据进行校验;
在所述第一数据校验通过后,将所述第一数据写入所述二级读缓冲区。
4.根据权利要求1所述的车载ATO与车载ATP的数据交互方法,其特征在于,所述基于所述第一线程通过所述读写锁读取所述第二数据,并在所述第一线程中将所述第二数据存入二级写缓冲区,包括:
基于所述第一线程通过所述读写锁读取所述第二数据,并对所述第二数据进行校验;
在所述第二数据校验通过后,将所述第二数据写入所述二级写缓冲区。
5.根据权利要求1所述的车载ATO与车载ATP的数据交互方法,其特征在于,所述第一线程的读管道从所述ATP进程读取ATP数据,包括:
所述读管道联合select函数阻塞式从所述ATP进程读取所述ATP数据。
6.根据权利要求1-5任一项所述的车载ATO与车载ATP的数据交互方法,其特征在于,还包括:
在所述读管道相邻两次,从所述ATP进程读取所述ATP数据的时间间隔大于目标时长的情况下,则发出ATO故障预警。
7.一种车载ATO与车载ATP的数据交互装置,其特征在于,包括:
创建模块,用于创建ATO进程以及ATP进程;其中,所述ATO进程包括第一线程和第二线程;
第一读取模块,用于通过所述第一线程的读管道从所述ATP进程读取ATP数据,并将所述ATP数据存放至一级读缓冲区,再将所述一级读缓冲区的数据映射至第一数据;
第二读取模块,用于在所述第二线程完成目标业务后,通过读写锁读取所述第一数据,并在所述第二线程中将所述第一数据存入二级读缓冲区;
第三读取模块,用于在所述第二线程的一级写缓冲区存有ATO数据,并将所述ATO数据映射至第二数据的情况下,基于所述第一线程通过所述读写锁读取所述第二数据,并在所述第一线程中将所述第二数据存入二级写缓冲区;
写入模块,用于通过所述第一线程的写管道,将所述第二数据写入所述ATP进程。
8.根据权利要求7所述的车载ATO与车载ATP的数据交互装置,其特征在于,所述第一数据和所述第二数据均为全局变量。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述车载ATO与车载ATP的数据交互方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述车载ATO与车载ATP的数据交互方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859806.6A CN113641306A (zh) | 2021-07-28 | 2021-07-28 | 车载ato与车载atp的数据交互方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110859806.6A CN113641306A (zh) | 2021-07-28 | 2021-07-28 | 车载ato与车载atp的数据交互方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113641306A true CN113641306A (zh) | 2021-11-12 |
Family
ID=78418811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110859806.6A Pending CN113641306A (zh) | 2021-07-28 | 2021-07-28 | 车载ato与车载atp的数据交互方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641306A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122256A (zh) * | 2011-03-28 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 一种用于进程间通信的管道式通信方法及系统 |
US20130346647A1 (en) * | 2011-12-07 | 2013-12-26 | Jim Carrick | Data sharing in high-fidelity simulation and real-time multi-core execution |
CN103593148A (zh) * | 2013-11-08 | 2014-02-19 | 大唐移动通信设备有限公司 | 一种cdf侧离线话单数据快速存取的方法及装置 |
WO2018095696A1 (en) * | 2016-11-23 | 2018-05-31 | Siemens Rail Automation Holdings Limited | Input of data into an on-board computer of a train |
CN112172869A (zh) * | 2020-08-31 | 2021-01-05 | 通号城市轨道交通技术有限公司 | 车载信号系统及车载信号通信方法 |
CN112631957A (zh) * | 2020-12-14 | 2021-04-09 | 深兰人工智能(深圳)有限公司 | 数据采集方法、装置、电子设备及存储介质 |
-
2021
- 2021-07-28 CN CN202110859806.6A patent/CN113641306A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122256A (zh) * | 2011-03-28 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 一种用于进程间通信的管道式通信方法及系统 |
US20130346647A1 (en) * | 2011-12-07 | 2013-12-26 | Jim Carrick | Data sharing in high-fidelity simulation and real-time multi-core execution |
CN103593148A (zh) * | 2013-11-08 | 2014-02-19 | 大唐移动通信设备有限公司 | 一种cdf侧离线话单数据快速存取的方法及装置 |
WO2018095696A1 (en) * | 2016-11-23 | 2018-05-31 | Siemens Rail Automation Holdings Limited | Input of data into an on-board computer of a train |
CN112172869A (zh) * | 2020-08-31 | 2021-01-05 | 通号城市轨道交通技术有限公司 | 车载信号系统及车载信号通信方法 |
CN112631957A (zh) * | 2020-12-14 | 2021-04-09 | 深兰人工智能(深圳)有限公司 | 数据采集方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110758470B (zh) | 一种列车定位方法和装置 | |
WO2020238676A1 (zh) | 应答器仿真的方法及系统 | |
US20220212680A1 (en) | Remote safe driving methods and systems | |
US8374734B2 (en) | Method of controlling an aircraft, the method implementing a vote system | |
CN113734201B (zh) | 车辆冗余控制方法、装置、电子设备及介质 | |
KR20170120029A (ko) | 데이터 전송 조작을 방지하기 위한 방법 및 장치 | |
CN113771916A (zh) | 列车初始定位方法、装置、电子设备及存储介质 | |
CN110758471A (zh) | 一种列车完整性判断系统与方法 | |
CN113029129A (zh) | 车辆的定位信息的确定方法、装置、存储介质及程序产品 | |
CN113401178A (zh) | 基于编组列车的安全包络计算方法及装置 | |
KR101295770B1 (ko) | 안전 무결성 확보를 위한 열차제어 시스템 | |
CN113641306A (zh) | 车载ato与车载atp的数据交互方法及装置 | |
KR102420597B1 (ko) | 페일-세이프 기능을 갖는 자율 주행 시스템 및 이의 방법 | |
CN112082519A (zh) | 轨道交通中地面应答器位置校核方法及装置 | |
CN116737736A (zh) | 数据一致性检查及修复方法、装置、设备、介质及产品 | |
CN106970550B (zh) | 车辆子系统通信仲裁 | |
KR102261155B1 (ko) | 가상 센서 이중화를 통한 차량 제어 방법 및 그 장치 | |
CN113183988B (zh) | 一种车辆自动驾驶的监督方法、装置、设备及存储介质 | |
CN115129027A (zh) | 一种用于智能驾驶的自动化评估方法及装置 | |
CN111679298B (zh) | 导航系统的完好性监测方法、完好性监测装置及电子设备 | |
CN107985349B (zh) | 单硬件多软件的实现方法及装置、计算机存储介质 | |
CN114084200B (zh) | 一种列车定位同步方法、装置、设备及存储介质 | |
CN114323706B (zh) | 一种列车ato控车故障检测方法、装置、设备及介质 | |
CN113415319B (zh) | 速度传感器的状态检测方法及系统 | |
CN114872769B (zh) | 铁路静态限速检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |