CN116861488A - 数据文件的写入方法及装置、电子设备及存储介质 - Google Patents

数据文件的写入方法及装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116861488A
CN116861488A CN202311116955.9A CN202311116955A CN116861488A CN 116861488 A CN116861488 A CN 116861488A CN 202311116955 A CN202311116955 A CN 202311116955A CN 116861488 A CN116861488 A CN 116861488A
Authority
CN
China
Prior art keywords
writing
data
cpu
state
file
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.)
Granted
Application number
CN202311116955.9A
Other languages
English (en)
Other versions
CN116861488B (zh
Inventor
吴正中
张辉
马泉华
邓能文
姜子旺
武涛
王晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Urban Construction Intelligent Control Technology Co ltd
Original Assignee
Beijing Urban Construction Intelligent Control Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Urban Construction Intelligent Control Technology Co ltd filed Critical Beijing Urban Construction Intelligent Control Technology Co ltd
Priority to CN202311116955.9A priority Critical patent/CN116861488B/zh
Publication of CN116861488A publication Critical patent/CN116861488A/zh
Application granted granted Critical
Publication of CN116861488B publication Critical patent/CN116861488B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种数据文件的写入方法及装置、电子设备及存储介质。其中,该方法包括:响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,所述CBTC信号系统基于二乘二取二安全平台;通过所述写入接口接收待写入的目标数据;在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作;读取所述二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据所述主系校验结果和所述备系校验结果生成所述目标数据的写入结果。通过本发明,解决了相关技术不能在CBTC信号系统中安全写入数据的技术问题,提高系统的安全性和可靠性。

Description

数据文件的写入方法及装置、电子设备及存储介质
技术领域
本发明涉及室内导航领域,具体而言,涉及一种数据文件的写入方法及装置、电子设备及存储介质。
背景技术
相关技术中,设备冗余技术是为了保障重要系统设备不停止运转而采取的重要技术措施,随着冗余技术的发展,信号系统从双机热备发展到三取二制式和二乘二取二制式。尤其是二乘二取二制式冗余结构,由于其具有安全性高、可靠性好、造价低等优点,在铁路信号设备、计算机设备等领域被广泛的使用。
相关技术中,CBTC(基于通信的列车控制,Communication Based Train Control )信号系统里,例如列车自动防护ATP系统、联锁CI系统、区域控制器ZC系统都是二乘二取二制式冗余设计方案为例,基于二乘二取二安全平台中,对每系的两个CPU每周期都有严格的周期控制。并且每周期的主逻辑处理计算的结果是一样的,最终才能对外输出,如果出现不一致,出现结果进行安全侧导向,系统控制当前设备宕机或者不对外通信处理。
相关技术的缺点有以下几点:主流的ATP系统、CI系统、ZC系统基本上都无数据文件写入系统,以此来保证系统的稳定性和可用性。因数据写入的过程中,数据较大,写入步骤繁琐,导致存在当前周期内无法完成情况,这对于安全产品的信号系统对严格的周期控制是一个严重的挑战,导致最终因为每系的两个CPU周期内运行不同步,导致系统进行安全导向,严重威胁到系统的可用性。因为系统没有数据文件写入的功能,导致需要进行数据文件写入的功能无法集成到当前系统中,从而专门需要一个独立的设备进行此功能,例如临时限速服务器(TSRS),如出现写入临时限速数据文件不同步导致不对外输出或者宕机,也会影响整个CBTC系统的安全运行。
针对相关技术中存在的上述问题,暂未发现有效的解决方案。
发明内容
本发明提供了一种数据文件的写入方法及装置、电子设备及存储介质。
根据本申请实施例的一个方面,提供了一种数据文件的写入方法,所述方法包括:响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,所述CBTC信号系统基于二乘二取二安全平台;通过所述写入接口接收待写入的目标数据;在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作;读取所述二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据所述主系校验结果和所述备系校验结果生成所述目标数据的写入结果。
进一步,通过所述写入接口接收待写入的目标数据,其中,所述目标数据包括文件名称、数据内容或数据长度中的至少一项。
进一步,在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作包括:在所述二乘二取二安全平台的主系和备系中分别执行以下写入操作:将第一CPU和第二CPU的写入数据状态配置为启动写入状态;控制所述第一CPU和所述第二CPU按照预设顺序定时写入所述目标数据,分别定时查询所述第一CPU和所述第二CPU的第一输出执行状态和第二输出执行状态;对所述第一输出执行状态和所述第二输出执行状态进行校验,输出校验结果。
进一步,控制所述第一CPU和所述第二CPU按照预设顺序定时写入所述目标数据包括:控制所述第一CPU和所述第二CPU分别执行以下写入操作:判断是否存在写入文件;若存在写入文件,删除历史写入文件后再创建新的写入文件;若不存在写入文件,创建新的写入文件;在所述新的写入文件中周期写入所述目标数据;在所述目标数据全部写入成功,或,写入失败之后,结束写入流程。
进一步,在所述新的写入文件中周期写入所述目标数据包括:将所述目标数据定量拆分为若干份固定字节长度的子数据;判断当前周期的写入状态为启动写入状态或继续写入状态;若当前周期的写入状态为启动写入状态,按照流程写入待写入的子数据;若当前周期的写入状态为继续写入状态,查询上周期的写入状态,若上周期为启动写入状态,按照流程继续写入待写入的子数据,若上周期不为启动写入状态,反馈写入失败。
进一步,对所述第一输出执行状态和所述第二输出执行状态进行校验,输出校验结果包括:确定所述第一输出执行状态和所述第二输出执行状态的状态类型,其中,所述状态类型包括:成功、失败、进行中;若第一CPU与第二CPU的写入状态都为成功,清除写入文件过程的相关状态和数据,返回写入成功的校验结果;若第一CPU与第二CPU的写入状态都为进行中,保存当前的写入文件过程的相关状态和剩余未写入数据,继续执行写入流程,当前周期不返回校验结果;若第一CPU或第二CPU的写入状态为失败,清除写入文件过程的相关状态和数据,同时清除已完成文件写入的相关数据,返回写入失败的校验结果;若第一CPU和第二CPU的写入状态分别为成功和进行中,控制所述第一CPU进入等待状态,所述第二CPU继续执行写入流程,保存当前的写入文件过程的相关状态和剩余未写入数据,继续执行写入流程,当前周期不返回校验结果。
进一步,根据所述主系校验结果和所述备系校验结果生成所述目标数据的写入结果包括:确定主系校验结果和所述备系校验结果的结果类型,其中,所述结果类型包括:写入成功、写入失败;若主系校验结果和备系校验结果均为写入成功,生成所述目标数据的写入流程成功的写入结果;若主系校验结果为写入成功,且备系校验结果写入失败,生成所述目标数据的写入流程成功的写入结果;若主系校验结果为写入失败,且备系校验结果写入失败,根据系统自定义处理原则生成所述目标数据的写入结果;若主系校验结果为写入失败,且备系校验结果写入成功,根据系统自定义处理原则生成所述目标数据的写入结果,同时控制主系通知备系删除所述目标数据,并同步主系的数据。
根据本申请实施例的另一个方面,还提供了一种数据文件的写入装置,包括:调用模块,用于响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,所述CBTC信号系统基于二乘二取二安全平台;接收模块,用于通过所述写入接口接收待写入的目标数据;写入模块,用于在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作;生成模块,用于读取所述二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据所述主系校验结果和所述备系校验结果生成所述目标数据的写入结果。
进一步,所述接收模块包括:接收单元,用于通过所述写入接口接收待写入的目标数据,其中,所述目标数据包括文件名称、数据内容或数据长度中的至少一项。
进一步,所述写入模块包括:写入单元,用于在所述二乘二取二安全平台的主系和备系中分别执行以下写入操作:将第一CPU和第二CPU的写入数据状态配置为启动写入状态;控制所述第一CPU和所述第二CPU按照预设顺序定时写入所述目标数据,分别定时查询所述第一CPU和所述第二CPU的第一输出执行状态和第二输出执行状态;对所述第一输出执行状态和所述第二输出执行状态进行校验,输出校验结果。
进一步,所述写入单元包括:控制子单元,用于控制所述第一CPU和所述第二CPU分别执行以下写入操作:判断是否存在写入文件;若存在写入文件,删除历史写入文件后再创建新的写入文件;若不存在写入文件,创建新的写入文件;在所述新的写入文件中周期写入所述目标数据;在所述目标数据全部写入成功,或,写入失败之后,结束写入流程。
进一步,所述控制子单元还用于:将所述目标数据定量拆分为若干份固定字节长度的子数据;判断当前周期的写入状态为启动写入状态或继续写入状态;若当前周期的写入状态为启动写入状态,按照流程写入待写入的子数据;若当前周期的写入状态为继续写入状态,查询上周期的写入状态,若上周期为启动写入状态,按照流程继续写入待写入的子数据,若上周期不为启动写入状态,反馈写入失败。
进一步,所述写入单元包括:确定子单元,用于确定所述第一输出执行状态和所述第二输出执行状态的状态类型,其中,所述状态类型包括:成功、失败、进行中;返回子单元,用于若第一CPU与第二CPU的写入状态都为成功,清除写入文件过程的相关状态和数据,返回写入成功的校验结果;若第一CPU与第二CPU的写入状态都为进行中,保存当前的写入文件过程的相关状态和剩余未写入数据,继续执行写入流程,当前周期不返回校验结果;若第一CPU或第二CPU的写入状态为失败,清除写入文件过程的相关状态和数据,同时清除已完成文件写入的相关数据,返回写入失败的校验结果;若第一CPU和第二CPU的写入状态分别为成功和进行中,控制所述第一CPU进入等待状态,所述第二CPU继续执行写入流程,保存当前的写入文件过程的相关状态和剩余未写入数据,继续执行写入流程,当前周期不返回校验结果。
进一步,所述生成模块包括:确定单元,用于确定主系校验结果和所述备系校验结果的结果类型,其中,所述结果类型包括:写入成功、写入失败;生成单元,用于若主系校验结果和备系校验结果均为写入成功,生成所述目标数据的写入流程成功的写入结果;若主系校验结果为写入成功,且备系校验结果写入失败,生成所述目标数据的写入流程成功的写入结果;若主系校验结果为写入失败,且备系校验结果写入失败,根据系统自定义处理原则生成所述目标数据的写入结果;若主系校验结果为写入失败,且备系校验结果写入成功,根据系统自定义处理原则生成所述目标数据的写入结果,同时控制主系通知备系删除所述目标数据,并同步主系的数据。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本申请实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
通过本发明,响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,CBTC信号系统基于二乘二取二安全平台,通过写入接口接收待写入的目标数据,在二乘二取二安全平台按照周期执行目标数据的写入操作,读取二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据主系校验结果和备系校验结果生成目标数据的写入结果,通过在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作,并根据两系的校验结果输出最后的写入结果,实现了一种在CBTC信号系统中的数据写入功能,保证主逻辑处理每周期的结果相同,避免因写入流程处理结果不一致导致不对外输出或者宕机,影响线路的列车运营和减少因系统宕机而导致的安全事故,解决了相关技术不能在CBTC信号系统中安全写入数据的技术问题,提高系统的安全性和可靠性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种轨道车辆的硬件结构框图;
图2是根据本发明实施例的一种数据文件的写入方法的流程图;
图3是本发明实施例周期数据文件写入流程图;
图4是本发明实施例中同系内2个CPU系统的数据文件写入梳理流程;
图5是本发明实施例整体的数据文件写入计算和处理流程图;
图6是根据本发明实施例的一种数据文件的写入装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在控制器、轨道车辆(列车、地铁、货车、高铁等)、服务器、计算机、平板或者类似的运算装置中执行。以运行在轨道车辆上为例,图1是本发明实施例的一种轨道车辆的硬件结构框图。如图1所示,轨道车辆可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述轨道车辆还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述轨道车辆的结构造成限定。例如,轨道车辆还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储轨道车辆程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种数据文件的写入方法对应的轨道车辆程序,处理器102通过运行存储在存储器104内的轨道车辆程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至轨道车辆。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括轨道车辆的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据文件的写入方法,图2是根据本发明实施例的一种数据文件的写入方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,CBTC信号系统基于二乘二取二安全平台;
本实施例的 CBTC系统通过不依赖轨旁列车占用检测设备的列车主动定位技术、连续车一地双向数据通信技术以及能够执行安全功能的车载和地面处理器而构建的连续式列车自动控制系统。
本实施例的二乘二取二安全平台包括二系(主系和备系),每系包括两个CPU(第一CPU和第二CPU),平台有3个二,第一个二,为主备系,也就是热备两系;第二个二,为每系两个CPU;最后一个二为结果输出取二比较。
步骤S204,通过写入接口接收待写入的目标数据;
在本实施例中,通过写入接口接收待写入的目标数据包括:通过写入接口接收待写入的目标数据,其中,目标数据包括文件名称、数据内容或数据长度中的至少一项。
步骤S206,在二乘二取二安全平台按照周期执行目标数据的写入操作;
步骤S208,读取二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据主系校验结果和备系校验结果生成目标数据的写入结果。
通过上述步骤,响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,CBTC信号系统基于二乘二取二安全平台,通过写入接口接收待写入的目标数据,在二乘二取二安全平台按照周期执行目标数据的写入操作,读取二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据主系校验结果和备系校验结果生成目标数据的写入结果,通过在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作,并根据两系的校验结果输出最后的写入结果,实现了一种在CBTC信号系统中的数据写入功能,保证主逻辑处理每周期的结果相同,避免因写入流程处理结果不一致导致不对外输出或者宕机,影响线路的列车运营和减少因系统宕机而导致的安全事故,解决了相关技术不能在CBTC信号系统中安全写入数据的技术问题,提高系统的安全性和可靠性。
在本实施例的一个实施方式中,在二乘二取二安全平台按照周期执行目标数据的写入操作包括:在二乘二取二安全平台的主系和备系中分别执行以下写入操作:将第一CPU和第二CPU的写入数据状态配置为启动写入状态;控制第一CPU和第二CPU按照预设顺序定时写入目标数据,分别定时查询第一CPU和第二CPU的第一输出执行状态和第二输出执行状态;对第一输出执行状态和第二输出执行状态进行校验,输出校验结果。
在一个示例中,控制第一CPU和第二CPU按照预设顺序定时写入目标数据包括:控制第一CPU和第二CPU分别执行以下写入操作:判断是否存在写入文件;若存在写入文件,删除历史写入文件后再创建新的写入文件;若不存在写入文件,创建新的写入文件;在新的写入文件中周期写入目标数据;在目标数据全部写入成功,或,写入失败之后,结束写入流程。
本实施例提供统一的数据文件写入接口,对外进行封装,对内将数据文件写入进行流程分解,进行跨周期的数据文件写入,包括:
步骤1:设计数据文件写入接口,输入要求有:写入文件名称,写入数据,写入数据长度,写入数据状态(1:启动写入数据流程;2:继续执行写入数据流程);返回输出执行状态(0x55:数据写入成功;0xaa:数据写入失败;0xcc:数据写入进行中)。
图3是本发明实施例周期数据文件写入流程图,当系统需要进行数据文件写入时,调用此接口,输入当前的文件名称,写入数据的信息,写入数据的长度,并且写入数据状态为1。等待数据文件写入的输出执行状态的反馈,如反馈是成功或者失败,结束此文件的写入流程,系统根据反馈结果处理;如反馈是进行中,则下周期继续调用此接口,并且将写入数据状态设置成2,继续等待执行状态反馈;如不是这两种状态,则数据文件写入失败。
步骤2:将数据文件写入的流程进行拆分,分为删除、创建、写入、关闭、查询、等待,校验。同时对数据文件写入进行定时操作(如10ms),并且当完成定时操作后,每系的两个CUP的数据文件写入状态进行查询并进行校验,共同输出相同的结果。
当需要检查写入的文件已经存在时,需要删除该文件,在进行文件的创建,如果该文件不存在时,则直接进行创建。
当写入文件完成整个顺序的4个步骤的删除、创建、写入,关闭,当执行到关闭成功完成时,则认为当前的写入文件状态为成功;如正在进行这4个步骤的任何一个步骤时,则认为当前的写入文件状态为进行中;如在执行这4个步骤中,任何步骤出现错误,则认为当前的写入文件状态为失败。
在数据文件写入定时结束时,通过与同系另外一个CUP系统进行查询,等待,校验的结果,为最终的数据文件写入的结果,并且将此结果输出反馈给系统,系统进行下一步的处理。
在一个示例中,对第一输出执行状态和第二输出执行状态进行校验,输出校验结果包括:确定第一输出执行状态和第二输出执行状态的状态类型,其中,状态类型包括:成功、失败、进行中;若第一CPU与第二CPU的写入状态都为成功,清除写入文件过程的相关状态和数据,返回写入成功的校验结果;若第一CPU与第二CPU的写入状态都为进行中,保存当前的写入文件过程的相关状态和剩余未写入数据,继续执行写入流程,当前周期不返回校验结果;若第一CPU或第二CPU的写入状态为失败,清除写入文件过程的相关状态和数据,同时清除已完成文件写入的相关数据,返回写入失败的校验结果;若第一CPU和第二CPU的写入状态分别为成功和进行中,控制第一CPU进入等待状态,第二CPU继续执行写入流程,保存当前的写入文件过程的相关状态和剩余未写入数据,继续执行写入流程,当前周期不返回校验结果。
在数据文件写入定时结束时,进行同系的2个CPU系统内的写入状态查询,查询当前对方CPU系统的写入状态,并且与自身的写入状态进行校验,并将最终结果反馈给系统。以第一CPU为自身CPU系统,第二CPU为对方CPU系统为例,校验的原则如下:
自身与对方的CPU系统的写入状态都为成功,即写入状态为成功。此时整个数据文件写入完成,清除写入文件过程的相关状态和数据,返回输出成功。
自身与对方的CPU系统的写入状态都为进行中,即写入状态为进行中。则保存当前的写入文件过程的相关状态和剩余未写入数据,下周期继续写入流程。
自身与对方的CPU系统的写入状态存在失败,即写入状态为失败。此时整个数据文件写入完成,清除写入文件过程的相关状态和数据,同时清除已完成文件写入的相关数据,返回输出失败。
自身与对方的CPU系统的写入状态存在一方为成功,另外一方为进行中,即写入状态为进行中。则写入状态成功的一方进入等待状态,写入状态进行中的则继续间写入流程,保存当前的写入文件过程的相关状态和剩余未写入数据,下周期继续写入流程。
可选的,在新的写入文件中周期写入目标数据包括:将目标数据定量拆分为若干份固定字节长度的子数据;判断当前周期的写入状态为启动写入状态或继续写入状态;若当前周期的写入状态为启动写入状态,按照流程写入待写入的子数据;若当前周期的写入状态为继续写入状态,查询上周期的写入状态,若上周期为启动写入状态,按照流程继续写入待写入的子数据,若上周期不为启动写入状态,反馈写入失败。
每系内的两个CPU系统,分别根据分解的写入步骤进行操作,同时互相校验,保证每系内的两个CPU系统的在规定的时间内,操作步骤一致,共同完成数据文件的写入流程。如图4所示,图4是本发明实施例中同系内2个CPU系统的数据文件写入梳理流程,可以是主系或者备系的两个CPU(CPU-A和CPU-B)。
当系统调用数据文件写入接口时,进行以下步骤共同完成文件写入流程:
步骤1:当调用数据文件写入接口,需要进行写入状态的判断,如果是1启动写入数据流程则进行步骤2的开始写入流程,如果是2继续执行写入数据流程,则进行步骤3。
步骤2:当输入写入状态为1时,启动数据文件写入进行定时,同时规定的时间内进行文件的删除、创建、写入流程。因考虑数据文件写入时跨周期进行写入,因此需要对数据进行定量写入,根据数据长度进行拆分,每次写入4个字节,进行循环的写入,最后不满足4个字节的进行按照剩余字节写入。
在数据文件写入定时结束时,进行同系的2个CPU系统内的写入状态查询,查询当前对方CPU系统的写入状态,并且与自身的写入状态进行校验,并将最终结果反馈给系统。
步骤3:当输入写入状态为2时,查询保存上周期写入状态,如上周期未开始启动写入流程,则直接反馈失败;如上周期已经启动写入流程,并且是正在进行中,则启动数据文件写入进行定时,继续进行文件写入流程。
在数据文件写入定时结束时,同样进行同系的2个CPU系统内的写入状态查询,查询当前对方CPU系统的写入状态,并且与自身的写入状态进行校验,并将最终结果反馈给系统,具体校验原则如上述步骤2一样。
特殊的当同系中的两个CUP系统中存在一方为成功,另外一方为进行中,则需进一步判断,如果一方成功,此时需要进行周期定时判断,如果对方超过3个周期还是进行中,则此时因结束写入流程,判断数据文件写入失败,同时清除写入文件过程的相关状态和数据,同时清除已完成文件写入的相关数据,最终反馈输出为失败。
在本实施例的一个实施方式中,根据主系校验结果和备系校验结果生成目标数据的写入结果包括:确定主系校验结果和备系校验结果的结果类型,其中,结果类型包括:写入成功、写入失败;若主系校验结果和备系校验结果均为写入成功,生成目标数据的写入流程成功的写入结果;若主系校验结果为写入成功,且备系校验结果写入失败,生成目标数据的写入流程成功的写入结果;若主系校验结果为写入失败,且备系校验结果写入失败,根据系统自定义处理原则生成目标数据的写入结果;若主系校验结果为写入失败,且备系校验结果写入成功,根据系统自定义处理原则生成目标数据的写入结果,同时控制主系通知备系删除目标数据,并同步主系的数据。
在本实施例的二乘二取二安全平台中的主备系中,每一系都是按照相同的数据文件写入计算和处理原则进行,同时系统根据主备系的数据文件写入结果进行处理。当主系的数据文件写入成功时,备系的数据文件写入成功,则此次的数据文件写入流程成功。主系的数据文件写入成功时,备系的数据文件写入失败,因备系不对外输出,则此次的数据文件写入流程成功,同时备系则再次进行数据文件写入,如果此时成功,这同步主系数据继续运行,如此时失败,则备系进行宕机处理。当主系的数据文件写入失败时,备系的数据文件写入失败,根据系统自定义处理原则。当主系的数据文件写入失败时,备系的数据文件写入成功,根据系统自定义处理原则,同时主系通知备系删除该数据文件,同时同步主系的数据。
基于二乘二取二安全数据文件跨周期写入方法,在写入的过程中,保证主逻辑处理每周期的结果相同,避免因写入流程处理结果不一致导致不对外输出或者宕机,影响线路的列车运营和减少因系统宕机而导致的安全事故。
为了解决现有技术中存在的技术问题,本发明提出了一种基于二乘二取二安全平台数据文件写入的方法和流程,主要为了解决系统具备数据写入功能,同时基于二乘二取二安全平台,处理因数据文件写入导致发生跨周期,导致系统宕机问题,从而对系统的功能进行集成,并且提高系统的可用性和节省设备成本。图5是本发明实施例整体的数据文件写入计算和处理流程图,提供统一的数据文件写入接口,对外进行封装,对内将数据文件写入进行步骤分解,进行跨周期的数据文件写入。每系内的两个CPU系统,分别根据分解的写入步骤进行操作,同时互相校验,保证每系内的两个CPU系统的在规定的时间内,操作步骤一致,共同完成数据文件的写入流程。在二乘二取二安全平台中的主备系中,每一系都是按照相同的数据文件写入计算和处理原则进行,同时系统根据主备系的数据文件写入结果进行处理。
采用本实施例提出的一种基于二乘二取二安全平台数据文件写入的方法和流程,解决在于二乘二取二安全数据写入的过程中,数据较大,需要跨周期进行时,保证主逻辑处理每周期的结果相同,避免因处理结果不一致导致不对外输出或者宕机,影响线路的列车运营和减少因系统宕机而导致的安全事故。可以进行系统功能的集合,减少多余的设备,减少设备之间的各种接口和处理逻辑,从而减少建设成本,提高系统的优势和可靠性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种数据文件的写入装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的一种数据文件的写入装置的结构框图,如图6所示,该装置包括:
调用模块60,用于响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,所述CBTC信号系统基于二乘二取二安全平台;
接收模块62,用于通过所述写入接口接收待写入的目标数据;
写入模块64,用于在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作;
生成模块66,用于读取所述二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据所述主系校验结果和所述备系校验结果生成所述目标数据的写入结果。
可选的,所述接收模块包括:接收单元,用于通过所述写入接口接收待写入的目标数据,其中,所述目标数据包括文件名称、数据内容或数据长度中的至少一项。
可选的,所述写入模块包括:写入单元,用于在所述二乘二取二安全平台的主系和备系中分别执行以下写入操作:将第一CPU和第二CPU的写入数据状态配置为启动写入状态;控制所述第一CPU和所述第二CPU按照预设顺序定时写入所述目标数据,分别定时查询所述第一CPU和所述第二CPU的第一输出执行状态和第二输出执行状态;对所述第一输出执行状态和所述第二输出执行状态进行校验,输出校验结果。
可选的,所述写入单元包括:控制子单元,用于控制所述第一CPU和所述第二CPU分别执行以下写入操作:判断是否存在写入文件;若存在写入文件,删除历史写入文件后再创建新的写入文件;若不存在写入文件,创建新的写入文件;在所述新的写入文件中周期写入所述目标数据;在所述目标数据全部写入成功,或,写入失败之后,结束写入流程。
可选的,所述控制子单元还用于:将所述目标数据定量拆分为若干份固定字节长度的子数据;判断当前周期的写入状态为启动写入状态或继续写入状态;若当前周期的写入状态为启动写入状态,按照流程写入待写入的子数据;若当前周期的写入状态为继续写入状态,查询上周期的写入状态,若上周期为启动写入状态,按照流程继续写入待写入的子数据,若上周期不为启动写入状态,反馈写入失败。
可选的,所述写入单元包括:确定子单元,用于确定所述第一输出执行状态和所述第二输出执行状态的状态类型,其中,所述状态类型包括:成功、失败、进行中;返回子单元,用于若第一CPU与第二CPU的写入状态都为成功,清除写入文件过程的相关状态和数据,返回写入成功的校验结果;若第一CPU与第二CPU的写入状态都为进行中,保存当前的写入文件过程的相关状态和剩余未写入数据,继续执行写入流程,当前周期不返回校验结果;若第一CPU或第二CPU的写入状态为失败,清除写入文件过程的相关状态和数据,同时清除已完成文件写入的相关数据,返回写入失败的校验结果;若第一CPU和第二CPU的写入状态分别为成功和进行中,控制所述第一CPU进入等待状态,所述第二CPU继续执行写入流程,保存当前的写入文件过程的相关状态和剩余未写入数据,继续执行写入流程,当前周期不返回校验结果。
可选的,所述生成模块包括:确定单元,用于确定主系校验结果和所述备系校验结果的结果类型,其中,所述结果类型包括:写入成功、写入失败;生成单元,用于若主系校验结果和备系校验结果均为写入成功,生成所述目标数据的写入流程成功的写入结果;若主系校验结果为写入成功,且备系校验结果写入失败,生成所述目标数据的写入流程成功的写入结果;若主系校验结果为写入失败,且备系校验结果写入失败,根据系统自定义处理原则生成所述目标数据的写入结果;若主系校验结果为写入失败,且备系校验结果写入成功,根据系统自定义处理原则生成所述目标数据的写入结果,同时控制主系通知备系删除所述目标数据,并同步主系的数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,所述CBTC信号系统基于二乘二取二安全平台;
S2,通过所述写入接口接收待写入的目标数据;
S3,在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作;
S4,读取所述二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据所述主系校验结果和所述备系校验结果生成所述目标数据的写入结果。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,所述CBTC信号系统基于二乘二取二安全平台;
S2,通过所述写入接口接收待写入的目标数据;
S3,在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作;
S4,读取所述二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据所述主系校验结果和所述备系校验结果生成所述目标数据的写入结果。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种数据文件的写入方法,其特征在于,所述方法包括:
响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,所述CBTC信号系统基于二乘二取二安全平台;
通过所述写入接口接收待写入的目标数据;
在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作;
读取所述二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据所述主系校验结果和所述备系校验结果生成所述目标数据的写入结果。
2.根据权利要求1所述的方法,其特征在于,通过所述写入接口接收待写入的目标数据包括:
通过所述写入接口接收待写入的目标数据,其中,所述目标数据包括文件名称、数据内容或数据长度中的至少一项。
3.根据权利要求1所述的方法,其特征在于,在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作包括:
在所述二乘二取二安全平台的主系和备系中分别执行以下写入操作:将第一CPU和第二CPU的写入数据状态配置为启动写入状态;控制所述第一CPU和所述第二CPU按照预设顺序定时写入所述目标数据,分别定时查询所述第一CPU和所述第二CPU的第一输出执行状态和第二输出执行状态;对所述第一输出执行状态和所述第二输出执行状态进行校验,输出校验结果。
4.根据权利要求3所述的方法,其特征在于,控制所述第一CPU和所述第二CPU按照预设顺序定时写入所述目标数据包括:
控制所述第一CPU和所述第二CPU分别执行以下写入操作:判断是否存在写入文件;若存在写入文件,删除历史写入文件后再创建新的写入文件;若不存在写入文件,创建新的写入文件;在所述新的写入文件中周期写入所述目标数据;在所述目标数据全部写入成功,或,写入失败之后,结束写入流程。
5.根据权利要求4所述的方法,其特征在于,在所述新的写入文件中周期写入所述目标数据包括:
将所述目标数据定量拆分为若干份固定字节长度的子数据;
判断当前周期的写入状态为启动写入状态或继续写入状态;
若当前周期的写入状态为启动写入状态,按照流程写入待写入的子数据;若当前周期的写入状态为继续写入状态,查询上周期的写入状态,若上周期为启动写入状态,按照流程继续写入待写入的子数据,若上周期不为启动写入状态,反馈写入失败。
6.根据权利要求3所述的方法,其特征在于,对所述第一输出执行状态和所述第二输出执行状态进行校验,输出校验结果包括:
确定所述第一输出执行状态和所述第二输出执行状态的状态类型,其中,所述状态类型包括:成功、失败、进行中;
若第一CPU与第二CPU的写入状态都为成功,清除写入文件过程的相关状态和数据,返回写入成功的校验结果;若第一CPU与第二CPU的写入状态都为进行中,保存当前的写入文件过程的相关状态和剩余未写入数据,继续执行写入流程,当前周期不返回校验结果;若第一CPU或第二CPU的写入状态为失败,清除写入文件过程的相关状态和数据,同时清除已完成文件写入的相关数据,返回写入失败的校验结果;若第一CPU和第二CPU的写入状态分别为成功和进行中,控制所述第一CPU进入等待状态,所述第二CPU继续执行写入流程,保存当前的写入文件过程的相关状态和剩余未写入数据,继续执行写入流程,当前周期不返回校验结果。
7.根据权利要求1所述的方法,其特征在于,根据所述主系校验结果和所述备系校验结果生成所述目标数据的写入结果包括:
确定主系校验结果和所述备系校验结果的结果类型,其中,所述结果类型包括:写入成功、写入失败;
若主系校验结果和备系校验结果均为写入成功,生成所述目标数据的写入流程成功的写入结果;若主系校验结果为写入成功,且备系校验结果写入失败,生成所述目标数据的写入流程成功的写入结果;若主系校验结果为写入失败,且备系校验结果写入失败,根据系统自定义处理原则生成所述目标数据的写入结果;若主系校验结果为写入失败,且备系校验结果写入成功,根据系统自定义处理原则生成所述目标数据的写入结果,同时控制主系通知备系删除所述目标数据,并同步主系的数据。
8.一种数据文件的写入装置,其特征在于,包括:
调用模块,用于响应数据文件的写入请求,调用基于通信的列车控制CBTC信号系统的写入接口,其中,所述CBTC信号系统基于二乘二取二安全平台;
接收模块,用于通过所述写入接口接收待写入的目标数据;
写入模块,用于在所述二乘二取二安全平台按照周期执行所述目标数据的写入操作;
生成模块,用于读取所述二乘二取二安全平台的主备系分别输出的主系校验结果和备系校验结果,根据所述主系校验结果和所述备系校验结果生成所述目标数据的写入结果。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1至7中任一项所述的方法的步骤。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法的步骤。
CN202311116955.9A 2023-09-01 2023-09-01 数据文件的写入方法及装置、电子设备及存储介质 Active CN116861488B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311116955.9A CN116861488B (zh) 2023-09-01 2023-09-01 数据文件的写入方法及装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311116955.9A CN116861488B (zh) 2023-09-01 2023-09-01 数据文件的写入方法及装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116861488A true CN116861488A (zh) 2023-10-10
CN116861488B CN116861488B (zh) 2024-01-12

Family

ID=88228917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311116955.9A Active CN116861488B (zh) 2023-09-01 2023-09-01 数据文件的写入方法及装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116861488B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694588A (zh) * 2009-10-14 2010-04-14 北京全路通信信号研究设计院 一种二乘二取二主备控制切换系统和方法
CN110095978A (zh) * 2019-05-06 2019-08-06 杭州耘新科技有限公司 一种2乘2取2系统及其安全诊断方法
WO2022052407A1 (zh) * 2020-09-11 2022-03-17 苏州浪潮智能科技有限公司 一种设备控制方法、系统、电子设备及存储介质
CN114528242A (zh) * 2022-02-21 2022-05-24 新誉轨道交通科技有限公司 一种计算机平台双系同步方法、装置、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694588A (zh) * 2009-10-14 2010-04-14 北京全路通信信号研究设计院 一种二乘二取二主备控制切换系统和方法
CN110095978A (zh) * 2019-05-06 2019-08-06 杭州耘新科技有限公司 一种2乘2取2系统及其安全诊断方法
WO2022052407A1 (zh) * 2020-09-11 2022-03-17 苏州浪潮智能科技有限公司 一种设备控制方法、系统、电子设备及存储介质
CN114528242A (zh) * 2022-02-21 2022-05-24 新誉轨道交通科技有限公司 一种计算机平台双系同步方法、装置、设备及介质

Also Published As

Publication number Publication date
CN116861488B (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
CN103634150B (zh) 一种冗余的高安全性can总线通信方法
CN108259227B (zh) 一种双机热备联锁系统的数据同步方法
CN109032837A (zh) 数据备份的方法和装置
CN112714173B (zh) 一种站台门控制器云平台系统及控制方法
EP4044509A1 (en) Pbft algorithm-based improved method for active recovery of single node from anomaly
CN102709888B (zh) 保信子站在线定值操作的方法和系统
CN114274981A (zh) 一种编组列车管理方法、装置、设备及介质
CN116861488B (zh) 数据文件的写入方法及装置、电子设备及存储介质
CN114237990B (zh) 一种基于fpga芯片的二乘冗余切换方法及装置
CN103577760A (zh) 计算机、通信单元和提高计算机中的数据可靠性的方法
CN114866404A (zh) 智能网关灾难恢复方法、装置、电子设备以及存储介质
CN110457321A (zh) 基于区块链的数据存储方法及相关产品
CN113830134A (zh) 车载atp双系切换方法和车载atp的逻辑单元
CN103389924B (zh) 应用于随机存储器的ecc存储系统
CN110515664A (zh) 系统的启动方法及装置
CN113411198B (zh) 基于双通道和rssp-i的通信方法、装置、电子设备及存储介质
CN116244255A (zh) Rsmc芯片、芯片多阶段启动方法以及北斗通信导航设备
CN112398711B (zh) 一种用于安全计算机的can总线通信方法
CN105323093A (zh) 故障信息收集方法、装置及系统
CN113626405A (zh) Hdfs网络数据传输优化方法、系统、终端及存储介质
CN113612574A (zh) 数据传输方法与装置
CN100357905C (zh) 一种地址总线的故障检测方法
CN213634460U (zh) 一种多核芯片的程序更新装置
CN116257859B (zh) 一种系统中不同安全级的软件模块的安全隔离方法和系统
CN114488897B (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
GR01 Patent grant
GR01 Patent grant