CN105335384B - 用于监测数据的存储方法和复现方法及其装置 - Google Patents
用于监测数据的存储方法和复现方法及其装置 Download PDFInfo
- Publication number
- CN105335384B CN105335384B CN201410307148.XA CN201410307148A CN105335384B CN 105335384 B CN105335384 B CN 105335384B CN 201410307148 A CN201410307148 A CN 201410307148A CN 105335384 B CN105335384 B CN 105335384B
- Authority
- CN
- China
- Prior art keywords
- data
- event
- data item
- slot
- record
- 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.)
- Active
Links
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种用于监测数据的存储方法。该存储方法包括:确定每一数据项xi的处理周期Ti;以及对每一数据项xi周期性地进行转存处理,其中每一次转存处理进一步包括:基于与数据项xi相关的各事件Y事件j的各记录开始时刻tfj‑trfji‑和各记录结束时刻tfj+trfji+来对本次处理所要转存的操作对象进行分段;为需要转存的各数据片段关联指示该数据片段的故障特性的至少一个故障标签;以所需存储频率将需要转存的各数据片段存储至所述非易失性存储器,并且相关联地保存各数据片段的相应故障标签。本发明还提供了用于监测数据的复现方法以及相应的存储装置和复现装置。
Description
技术领域
本发明涉及航空发动机监测领域,尤其涉及用于监测数据的存储方法和复现方法及其装置。
背景技术
航空发动机健康管理(Engine Health Management,EHM)的目的是采集、记录和处理在飞行和地面试验中的数据,以辅助发动机设计、管理、安全使用、维修和后勤保障。健康管理系统是发动机健康管理的重要组成部分,其设计目标是采集并存储发动机气路、燃/滑油、振动、控制系统工作参数,为工程师故障诊断和排故提供大量可分析数据,验证并逐步完善状态检测、故障诊断、趋势预测、寿命管理算法。航空发动机监视数据的存储和复现方法和相应装置是实现上述功能的基础。
传统的监视数据存储和复现装置分为机载和地面两部分。机载部分采集航空发动机的气路、燃/滑油、振动和控制系统工作参数等监测数据。在发动机正常工作状态下,对采集数据进行低频率的慢速存储,以节约存储空间;在发动机异常和故障状态下,对故障点前后的相关数据进行高频率的快速存储,以提高相关数据存储的精度。在飞机降落后,地面部分采集本次飞行循环的数据,用于地面工作人员的进一步分析。
传统的监测数据的存储方法的缺点在于监测数据的存储存在冗余。一方面,正常状态下的数据存储和故障状态下的数据存储存在数据冗余。另一方面,若多故障同时发生或发生时刻接近可能会造成潜在的数据冗余。
数据冗余浪费了宝贵的机载非易失存储器空间。机载非易失存储器价格远高于民用存储介质的价格。相对高的非易失存储器空间需求潜在地增加了产品的成本。而且,若存储数据冗余度较高,例如发生某一部件损坏导致多个故障,进而导致大量重复数据存储的情况,这会极大的占用存储的数据带宽,可能在极端情况下导致数据阻塞而无法存储。
现有技术也提出过一些压缩方案以试图解决上述问题。例如,专利申请号200510115119.4的专利申请提出了一种基于LZW算法的过程数据压缩法。该算法虽然为无损压缩算法,但存在如下缺点。首先,算法本身较为复杂,在数据量大的情况下,会对机载嵌入式系统造成很大的计算压力,虽然降低了对存储空间的需求,但增加了对机载嵌入式系统运算能力的要求。同时,复杂的随算会极大提高机载软件适航取证过程中的软件验证成本。另外,该算法只能对同一个连续数据进行压缩,无法对同一部件损坏造成的多路冗余数据进行压缩。而且,地面数据还原速度较慢,针对对某一时间段数据的观测需求时,需要遍历大量数据文件,数据还原速度慢。
因此,本领域需要一种改善的监测数据的存储和复现方案。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
根据本发明的一方面,提供了一种用于监测数据的存储方法,该监测数据包括多个数据项xi,每个数据项xi与至少一个事件Y事件j相关,响应于与每一数据项xi相关的每一事件Y事件j的发生,触发以与该事件相关联的存储频率Fji记录该事件发生时刻tfj前后从tfj-trfji-至tfj+trfji+时间段内的该数据项,trfji-和trfji+分别表示在事件Y事件j前后应记录的数据时长,该方法包括:
确定每一数据项xi的处理周期Ti,每一数据项xi的缓存深度等于该处理周期的两倍,该数据项xi的缓存数据从易失性存储器至非易失性存储器的转存处理每处理周期进行一次,其中在第n个处理周期结束时刻转存的操作对象为数据项xi在第n-1个处理周期内缓存的数据xi*(n-1),其中n>1;
对每一数据项xi周期性地进行转存处理,其中每一次转存处理进一步包括:
基于与数据项xi相关的各事件Y事件j的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+来对本次处理所要转存的操作对象进行分段;
为需要转存的各数据片段关联指示该数据片段的故障特性的至少一个故障标签;
以所需存储频率将需要转存的各数据片段存储至该非易失性存储器,并且相关联地保存各数据片段的相应故障标签。
在一实例中,该基于与数据项xi相关的各事件Y事件j的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+来对本次处理所要转存的操作对象进行分段进一步包括:对该操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+按照事件顺序进行排序;以该操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+为分割点将当前操作对象分割为至少一个数据片段;判断在每一个数据片段里记录开始时刻的数目是否大于记录结束时刻的数目,若是,则将该数据片段判断为需要转存的数据片段,否则,丢弃该数据片段。
在一实例中,该至少一个故障标签中的每一个故障标签对应于一特定的事件Y事件j,与特定的事件Y事件j对应的故障标签包括以下字段:数据名称xi、与该事件Y事件j相关联的故障名称Y故障j、该事件Y事件j的发生时刻tfj、该事件Y事件j所要求的记录数据项xi的时间范围、该事件Y事件j所要求的记录数据项xi的存储频率Fji。
在一实例中,需要转存的各数据片段还包括用于描述该数据片段的描述字段,该描述字段包括该数据片段的数据名称xi、该数据片段的时间范围、该数据片段的实际存储频率。
在一实例中,该以所需存储频率将需要转存的各数据片段存储至非易失性存储器进一步包括:对于需要转存的各数据片段中的每一数据片段,以在该数据片段的时间范围内存在的各事件Y事件j的触发存储所要求的存储频率Fji中的最高存储频率来将该数据片段存储至该非易失性存储器。
在一实例中,该确定每一数据项xi的处理周期Ti进一步包括:遍历与该数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;以及将遍历的所有数据时长trfji-中的最大值设为该数据项xi的处理周期Ti。
在一实例中,该确定每一数据项xi的处理周期Ti进一步包括:遍历与该数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;将遍历的所有数据时长trfji-中的最大值设为该数据项xi的临时处理周期Tci;将所有数据项xi分组,其中临时处理周期Tci之间相差较小的数据项xi被分在一组中,并以该组中的数据项xi的最大临时处理周期Tci作为该组中所有数据项xi公共的处理周期Ti。
在一实例中,该将所有数据项xi分组进一步包括:a):将所有数据项xi按其临时处理周期Tci的大小按从小到大排序;b):以从小到大的次序对前两个数据项xi的临时处理周期Tci开始求方差,若求得的方差不大于一阈值,则对递增一个数据项xi的临时处理周期Tci求方差,直至求得的方差大于该阈值为止;c):将方差不大于该阈值的这多个数据项xi分在一组;以及d):对剩余的数据项xi重复b)和c)。
在一实例中,该方法还包括:确定需要在该易失性存储器中为该监测数据开辟的缓存总量。
在一实例中,该确定需要在该易失性存储器中为该监测数据开辟的缓存量进一步包括:遍历与该数据项xi相关的每一事件Y事件j所要求的存储频率Fji并取所遍历的所有存储频率Fji中的最大值max(Fji);计算每一个数据项xi的缓存量Bufi=2×Ti×max(Fji)×Mi,Mi为数据项xi的存储字节数;累加该监测数据的所有数据项的缓存量作为该缓存总量。
根据本发明的另一方面,提供了一种用于监测数据的复现方法,该监测数据包括多个数据项,每个数据项以多个数据片段的形式存储在非易失性存储器中,每个数据片段关联有至指示该数据片段的故障特性的至少一个故障标签,该复现方法包括:
从所有故障标签当中筛选出与所要复现的监测数据的数据特征相关的目标故障标签;
检索与所筛选出的该目标故障标签相关联的各数据片段;以及
根据时间顺序将检索到的各数据片段进行重组以获得所要复现的监测数据。
在一实例中,该至少一个故障标签中的每一个故障标签对应于一事件,与该事件对应的故障标签包括以下字段:数据名称、与该事件相关联的故障名称、该事件的发生时刻、该事件所要求的记录数据的时间范围、该事件所要求的记录数据的存储频率。
在一实例中,每个数据片段包括用于描述该数据片段的描述字段,该描述字段包括该数据片段的数据名称、该数据片段的时间范围、该数据片段的实际存储频率。
在一实例中,该根据时间顺序将检索到的各数据片段进行重组以获得所要复现的监测数据进一步包括:根据检索到的各数据片段中描述该数据片段的时间范围的时间信息对各数据片段进行重组;以及丢弃各数据片段中的描述字段以获得所要复现的监测数据。
在一实例中,该根据时间顺序将检索到的各数据片段进行重组以获得所要复现的监测数据进一步包括:若检索出的各数据片段中的任一数据片段的实际存储频率高于该目标故障标签中指示的存储频率,则将该数据片段降频至与该目标故障标签中指示的存储频率一致,然后执行重组。
根据本发明的再一方面,提供了一种用于监测数据的存储装置,该监测数据包括多个数据项xi,每个数据项xi与至少一个事件Y事件j相关,响应于与每一数据项xi相关的每一事件Y事件j的发生,触发以与该事件相关联的存储频率Fji记录该事件发生时刻tfj前后从tfj-trfji-至tfj+trfji+时间段内的该数据项,trfji-和trfji+分别表示在事件Y事件j前后应记录的数据时长,该装置包括:
周期确定模块,用于确定每一数据项xi的处理周期Ti,每一数据项xi的缓存深度等于该处理周期的两倍,该数据项xi的缓存数据从易失性存储器至非易失性存储器的转存处理每处理周期进行一次,其中在第n个处理周期结束时刻转存的操作对象为数据项xi在第n-1个处理周期内缓存的数据xi*(n-1),其中n>1;
转存模块,用于对每一数据项xi周期性地进行转存处理,该转存模块进一步包括用于执行每一次转存处理的以下模块:
分段模块,用于基于与数据项xi相关的各事件Y事件j的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+来对本次处理所要转存的操作对象进行分段;
标签模块,用于为需要转存的各数据片段关联指示该数据片段的故障特性的至少一个故障标签;
存储模块,用于以所需存储频率将需要转存的各数据片段存储至该非易失性存储器,并且相关联地保存各数据片段的相应故障标签。
在一实例中,该分段模块进一步包括:排序模块,用于对该操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+按照事件顺序进行排序;分割模块,用于以该操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+为分割点将当前操作对象分割为至少一个数据片段;转存判断模块,用于判断在每一个数据片段里记录开始时刻的数目是否大于记录结束时刻的数目,若是,则将该数据片段判断为需要转存的数据片段,否则,丢弃该数据片段。
在一实例中,该至少一个故障标签中的每一个故障标签对应于一特定的事件Y事件j,与特定的事件Y事件j对应的故障标签包括以下字段:数据名称xi、与该事件Y事件j相关联的故障名称Y故障j、该事件Y事件j的发生时刻tfj、该事件Y事件j所要求的记录数据项xi的时间范围、该事件Y事件j所要求的记录数据项xi的存储频率Fji。
在一实例中,需要转存的各数据片段还包括用于描述该数据片段的描述字段,该描述字段包括该数据片段的数据名称xi、该数据片段的时间范围、该数据片段的实际存储频率。
在一实例中,对于需要转存的各数据片段中的每一数据片段,该存储模块以在该数据片段的时间范围内存在的各事件Y事件j的触发存储所要求的存储频率Fji中的最高存储频率来将该数据片段存储至该非易失性存储器。
在一实例中,该周期确定模块遍历与该数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;以及将遍历的所有数据时长trfji-中的最大值设为该数据项xi的处理周期Ti。
在一实例中,该周期确定模块遍历与该数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;将遍历的所有数据时长trfji-中的最大值设为该数据项xi的临时处理周期Tci;以及将所有数据项xi分组,其中临时处理周期Tci之间相差较小的数据项xi被分在一组中,并以该组中的数据项xi的最大临时处理周期Tci作为该组中所有数据项xi公共的处理周期Ti。
在一实例中,该周期确定模块将所有数据项xi按其临时处理周期Tci的大小按从小到大排序;以从小到大的次序对前两个数据项xi的临时处理周期Tci开始求方差,若求得的方差不大于一阈值,则对递增一个数据项xi的临时处理周期Tci求方差,直至求得的方差大于该阈值为止;将方差不大于该阈值的这多个数据项xi分在一组;以及对剩余的数据项xi重复求方差和分组的操作。
在一实例中,该装置还包括:缓存确定模块,用于确定需要在该易失性存储器中为该监测数据开辟的缓存总量。
在一实例中,该缓存确定模块遍历与该数据项xi相关的每一事件Y事件j所要求的存储频率Fji并取所遍历的所有存储频率Fji中的最大值max(Fji);计算每一个数据项xi的缓存量Bufi=2×Ti×max(Fji)×Mi,Mi为数据项xi的存储字节数;以及累加该监测数据的所有数据项的缓存量作为该缓存总量。
根据本发明的又一方面,提供了一种用于监测数据的复现装置,该监测数据包括多个数据项,每个数据项以多个数据片段的形式存储在非易失性存储器中,每个数据片段关联有至指示该数据片段的故障特性的至少一个故障标签,该复现装置包括:
筛选模块,用于从所有故障标签当中筛选出与所要复现的监测数据的数据特征相关的目标故障标签;
检索模块,用于检索与所筛选出的该目标故障标签相关联的各数据片段;以及
重组模块,用于根据时间顺序将检索到的各数据片段进行重组以获得所要复现的监测数据。
在一实例中,该至少一个故障标签中的每一个故障标签对应于一事件,与该事件对应的故障标签包括以下字段:数据名称、与该事件相关联的故障名称、该事件的发生时刻、该事件所要求的记录数据的时间范围、该事件所要求的记录数据的存储频率。
在一实例中,每个数据片段包括用于描述该数据片段的描述字段,该描述字段包括该数据片段的数据名称、该数据片段的时间范围、该数据片段的实际存储频率。
在一实例中,该重组模块根据检索到的各数据片段中描述该数据片段的时间范围的时间信息对各数据片段进行重组;以及丢弃各数据片段中的描述字段以获得所要复现的监测数据。
在一实例中,该重组模块进一步包括:降频模块,用于若检索出的各数据片段中的任一数据片段的实际存储频率高于该目标故障标签中指示的存储频率,则将该数据片段降频至与该目标故障标签中指示的存储频率一致,其中该重组模块在该降频模块执行降频之后执行重组。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了传统监测数据存储方法的数据存储冗余;
图2是示出了根据本发明的一方面的监测数据的存储方法的流程图;
图3是示出了根据本发明的一实施例的确定处理周期的方法的流程图;
图4是示出了根据本发明的另一实施例的确定处理周期的方法的流程图;
图5是示出了图4的确定处理周期的过程中的数据项分组的过程的流程图;
图6是示出了根据本发明的一实施例的确定缓存总量的方法的流程图;
图7是示出了图2的分段过程的流程图;
图8a至图8g基于时间线图形地示出了根据本发明的一方面的转存过程;
图9是示出了根据本发明的一方面的监测数据的复现方法的流程图;
图10是示出了根据本发明的一方面的用于监测数据的存储装置的框图;
图11是示出了图10的分段模块的结构的框图;以及
图12是示出了根据本发明的一方面的用于监测数据的复现装置的框图。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
出于航空发动机健康管理目的,需要对航空发动机的一系列参数进行监测,例如采集、记录和后续分析,这些需要监测的参数信息可被称为监测数据。监测数据的存储一般由事件触发导致。伴随某个事件的发生,往往要求以某个的频率存储在该事件发生前后的一段时间范围内、与该事件相关的参数集合,其中不同参数可能要求存储的频率、时间范围不尽相同。不同事件触发的监测数据之间可能有重合。例如事件1的发生需要存储的参数集合1与事件2的发生需要存储的参数集合2之间存在交集。在这种情况下,如果这两个事件同时发生、或者发生的时间较为接近,则可能导致对同相同参数的冗余存储。图1以图形的方式示出了这种数据冗余存储。如图所示,A部件的损坏可能导致A1故障事件和A2故障事件。与A1故障事件相关的存储参数集合A1和与A2故障事件相关的存储参数集合A2之间存在交集。而且,A1故障事件和A2故障事件同时发生,这两者的发生分别导致对参数集合A1和参数集合A2的独立存储,进而导致了数据冗余。
具体而言,假设在发动机运行10s时刻存在顶事件为P1超限的存储触发,与该顶事件P1相关的参数(即需要记录的监测数据)及其记录要求如下:
a)记录T1传感器信号值,记录频率为50Hz,时间范围为顶事件P1开始时刻前后各1.5s
b)记录T1传感器信号状态,记录频率为200Hz,时间范围为顶事件P1开始时刻前后各1.5s
c)记录P1传感器裸数据,记录频率为1Hz,时间范围为顶事件P1开始时刻前后各1.5s
响应于在发动机运行10s时刻顶事件P1超限的触发,导致以下监测数据的存储:
表1
假设在发动机运行10s时刻存在顶事件为P1超限存储触发的前提下,在发动机运行10.5s时刻还存在顶事件为T2传感器故障的存储触发,与该顶事件T2相关的参数及其记录要求如下:
a)记录T1传感器信号值,记录频率为50Hz,时间范围为顶事件T2开始时刻前后各1.5s;
b)记录T2传感器信号值,记录频率为50Hz,时间范围为顶事件T2开始时刻前后各1.5s。
响应于在发动机运行10.5s时刻顶事件T2的触发,导致以下监测数据的存储:
表2
上述两个事件的监测数据的参数(在本文称之为数据项)之间存在交集,即T1传感器信号值。在两个事件发生时间相同或相近的情况下,容易导致T1传感器信号值的冗余存储。以上述两个事件为例,根据传统监测数据的存储方案,对T1传感器信号值的故障数据在事件P1的触发下存储了(8.5s,11.5s)的数据,另外在T2的触发下存储了(9s,12s)的数据。显然,对于T1传感器信号值在(9s,11.5s)时间范围内发生了冗余存储。
鉴于此,本发明提出来一种监测数据的存储方案以及相对应的复现方案。如上所述,对于特定的数据项(例如,例如上述的参数T1传感器信号值),若由多个事件触发该特定数据项的存储,其存储时间范围之间存在交集,则将该数据项进行分段,以数据片段的形式进行存储,并且对每个数据片段打上故障标签,以指示该数据片段的故障特性,例如故障名称、发生时刻、要求记录的频率等等。以此方式,同样的数据项在多个事件触发下,在时间范围有交集的部分,仅仅存储一次,节省了存储空间。同时,在复现监测数据时,可根据故障标签来寻找相关数据片段,并将相关的数据片段重组以得到所希望复现的监测数据。
仍以上述P1和T2故障事件为例,根据本发明的方案,存储以下监测数据即可:
表3
为了方便描述,将事件记为Y事件j,j为大于等于1的整数,用于对事件的索引。对于任一事件Y事件j的发生,可能要求相关监测数据的记录,即要求将监测数据存储至非易失性存储器中。与事件Y事件j相关的监测数据可能包括多个数据项xi(i是大于等于1的整数,用于对数据项的索引),并且对于每个数据项xi具有独立的记录要求,例如记录频率Fji、记录的时间范围等等。记录的时间范围可用(tfj-trfji-,tfj+trfji+)来表示,其中tfj表示事件发生的时刻,trfji-和trfji+分别表示在Y事件j发生前后应记录的数据时长。
注意,尽管本文中用j对事件进行索引,但是由于事件本身发生的时刻也是事件的重要属性,而且也影响与该事件相关的数据项的存储,因此,同一数值的j所索引的事件如果发生在不同的时刻,则也可被广义地认为是不同的事件。
作为示例,假设有3个事件,即j=3;监测数据包括5个数据项,即i=3。对于Y事件1,有如下数据项需要记录,并且记录要求如下:
表4
对于Y事件2,有如下数据项需要记录,并且记录要求如下:
表5
对于Y事件3,有如下数据项需要记录,并且记录要求如下:
表6
下文结合附图来描述本发明的方案。
图2是示出了根据本发明的一方面的监测数据的存储方法200的流程图。如图2所示,方法200包括:
步骤201:确定每一数据项xi的处理周期Ti。
在监测过程中,所有监测数据首先在缓存器中缓存一段时间,如果没有相关事件的发生,则监测数据从缓存器中被丢弃。这里的缓存器是易失性存储器,例如机载的随机存取存储器,诸如SRAM/SDRAM。若发生了与某个数据项有关的事件,则触发对该数据项的存储。这里的存储是指将数据存储在非易失性存储器中。这里的非易失性存储器例如有Flash存储器等。数据项从缓存器转移至非易失性存储器的过程可被称为转存。缓存深度可以时间长度来计,即缓存了多长时间的数据。
根据本发明的一方面,每一数据项xi的缓存深度等于其处理周期Ti的两倍。数据项xi的缓存数据从易失性存储器至非易失性存储器的转存处理周期性地进行,即每个处理周期Ti进行一次,其中在第n个处理周期结束时刻转存的操作对象为数据项xi在第n-1个处理周期内缓存的数据xi*(n-1),其中n>1。
简言之,根据本发明的一方面,对缓存的数据内容进行周期性地转存,并且每次转存的对象局限于当前缓存深度的前一半的缓存数据。例如,数据初始化后先在RAM中缓冲第1个Ti和第2个Ti的数据,记为xi*1、xi*2,在第二个Ti结束时进行一次转存处理,处理对象为数据xi*1。
此举的目的是为了防止对已存入Flash的数据进行再次读取、处理和写入,从而浪费Flash带宽。极端情况下,这会导致数据“拥堵”,超出RAM的容量,就会遗漏数据,这是机载设备不允许的。根据本发明的方案,对要存入Flash存储器的数据进行了分段处理,当前需要转存至Flash存储器的数据有可能因为后续事件的发生而需要被重新分段。因此,需要考虑正在转存的数据不能因为后续的事件触发而被打断,换言之,需要选择比可能被干扰的数据段更早的数据。
图3是示出了根据本发明的一实施例的确定处理周期的方法300的流程图。如图3所示,方法300包括步骤:
步骤302:遍历与数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;以及
步骤304:将遍历的所有数据时长trfji-中的最大值设为该数据项xi的处理周期Ti。
在此实施例中,计算xi所对应的max(trfji-),其中j=1,2…。换言之,遍历与xi有关的所有事件的trfji-,然后取一个需要存储最长历史数据的值作为处理周期Ti。
以上述表4-6记载的事件触发为例,对于数据项x1,其与Y事件1、Y事件2相关,Y事件1所要求的事件发生前应记录的数据时长为1.3s,Y事件2所要求的事件发生前应记录的数据时长为1.2s。因此,将1.3s设为x1的处理周期T1。
对于数据项x2,其与Y事件1、Y事件2、Y事件3相关,Y事件1所要求的事件发生前应记录的数据时长为1.2s,Y事件2所要求的事件发生前应记录的数据时长为1s,Y事件3所要求的事件发生前应记录的数据时长为1s,。因此,将1.2s设为x2的处理周期T2。
类似地,对于数据项x3,其与Y事件1、Y事件3相关,Y事件1所要求的事件发生前应记录的数据时长为1s,Y事件3所要求的事件发生前应记录的数据时长为3s。因此,将3s设为x3的处理周期T3。
图4是示出了根据本发明的另一实施例的确定处理周期的方法400的流程图。如图4所示,方法400包括步骤:
步骤402:遍历与数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;
步骤404:将遍历的所有数据时长trfji-中的最大值设为该数据项xi的临时处理周期Tci;
仍以上述表4-6记载的事件触发为例,对于数据项x1,其与Y事件1、Y事件2相关,Y事件1所要求的事件发生前应记录的数据时长为1.3s,Y事件2所要求的事件发生前应记录的数据时长为1.2s。因此,将1.3s设为x1的临时处理周期Tc1。
对于数据项x2,其与Y事件1、Y事件2、Y事件3相关,Y事件1所要求的事件发生前应记录的数据时长为1.2s,Y事件2所要求的事件发生前应记录的数据时长为1s,Y事件3所要求的事件发生前应记录的数据时长为1s,。因此,将1.2s设为x2的临时处理周期Tc2。
类似地,对于数据项x3,其与Y事件1、Y事件3相关,Y事件1所要求的事件发生前应记录的数据时长为1s,Y事件3所要求的事件发生前应记录的数据时长为3s。因此,将3s设为x3的临时处理周期Tc3。
步骤406:将所有数据项xi分组,其中临时处理周期Tci之间相差较小的数据项xi被分在一组中,并以该组中的数据项xi的最大临时处理周期Tci作为该组中所有数据项xi公共的处理周期Ti。
此举,如果需要处理的数据量比较庞大,数据处理周期也可能都不相同,对于实时操作系统,较多且没有倍数关系的不同处理周期会导致底层操作系统开辟的任务数量增加,占用CPU资源的上升和操作系统本身实时性的降低,因此,需要对差异较小的处理周期进行合并。目的是降低操作系统需要开辟的任务数量。
图5是示出了图4的确定处理周期的方法中的数据项分组的方法500的流程图。如图5所示,方法500包括:
步骤502:将所有数据项xi按其临时处理周期Tci的大小按从小到大排序;
步骤504:以从小到大的次序对前两个数据项xi的临时处理周期Tci开始求方差,若求得的方差不大于一阈值,则对递增一个数据项xi的临时处理周期Tci求方差,直至求得的方差大于该阈值为止;
步骤506:将方差不大于该阈值的这多个数据项xi分在一组,再重复上述步骤504和步骤506直至遍历了所有数据项。
仍以上述表4-6记载的事件触发为例,x1、x2、x3的临时处理周期分别为1.3、1.2、和3s。按临时处理周期的大小排序为x2、x1、x3。假设用于比较的阈值为1。对前两个数据项x2、x1的临时处理周期求方差为var(1.2s,1.3s)=0.005<1。因此,继续对前三个x2、x1、x3的临时处理周期求方差为var(1.2s,1.3s,3s)=1.023>1。因此,将x2和x1分为一组,并将该组中最大的临时处理周期1.3s作为该组中所有数据项将x2和x1的处理周期,换言之,数据项x2的处理周期T2也设为1.3s。
上述处理周期的设置,进而依据该周期对缓存的数据内容进行周期性地转存,并且每次转存的对象局限于当前缓存深度的前一半的缓存数据,有效地防止了对已经存入Flash的数据进行再次读取、处理和写入。以x1为例,数据初始化后先在RAM中缓冲第1个T1(即,1.3s)和第2个T1的数据,即缓存深度为2.6s。在第二个T1结束时(即,第2.6s时)对第一个T1(即前1.3s)的缓存数据进行转存。以这种方式,即使第2.6s后发生另一事件触发对x1的存储,但是至多也只是需要存储该另一事件发生前1.3s内的数据,而更早的数据,即,第一个T1的数据,换言之前1.3s的数据不被涉及。因此,该第一个T1内(即缓存深度的前一半)的缓存数据不会被再次分段,从而可以被转存至Flash。
回到方法200,在一实例中,方法200任选地可包括:
步骤204:确定需要在易失性存储器中为监测数据开辟的缓存总量。
在机载设备上,所携带的易失性存储器(例如RAM)一般都比较小,例如只有64MB。因此,可以计算监测数据所需要开辟的缓存总量,以节约RAM空间。
图6是示出了根据本发明的一实施例的确定缓存总量的方法600的流程图。如图6所示,方法600包括:
步骤602:遍历与数据项xi相关的每一事件Y事件j所要求的存储频率Fji并取所遍历的所有存储频率Fji中的最大值max(Fji);
以上述表4-6记载的事件触发为例,数据项包括x1、x2、x3,分别计算它们对应的max(Fji)。对于x1,max(Fj1)=max(100Hz,200Hz)=200Hz。对于x2,max(Fj2)=max(200Hz,100Hz,100Hz)=200Hz。对于x3,max(Fj3)=max(300Hz,200Hz)=300Hz。
步骤604:计算每一个数据项xi的缓存量Bufi=2×Ti×max(Fji)×Mi,Mi为数据项xi的存储字节数;
分别计算x1、x2、x3对应的Bufi。在直接以与数据项xi相关的每一事件所要求的事件发生前应记录的数据时长中的最大值为其处理周期的实例中:
对于x1,Buf1=2×1.3s×200Hz×2字节=1040字节;
对于x2,Buf2=2×1.2s×200Hz×2字节=960字节;以及
对于x3,Buf3=2×3s×300Hz×2字节=3600字节。
在对数据项进行分组并以分组中的最大临时处理周期作为该组中所有数据项的处理周期的实例中:
对于x1,Buf1=2×1.3s×200Hz×2字节=1040字节;
对于x2,Buf2=2×1.3s×200Hz×2字节=1040字节;以及
对于x3,Buf3=2×3s×300Hz×2字节=3600字节。
步骤606:累加监测数据的所有数据项的缓存量作为缓存总量。
计算Bufi=1040+960+3600=5600字节,作为在机载RAM中需要开辟的缓存总量,或者Bufi=1040+1040+3600=5680字节作为在机载RAM中需要开辟的缓存总量。
回到方法200,方法200还包括:
步骤206:对每一数据项xi周期性地进行转存处理。
步骤206进一步包括:
子步骤2061:基于与数据项xi相关的各事件Y事件j的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+来对本次处理所要转存的操作对象进行分段;
在初始化开始后接收不同事件对数据项xi的存储触发指令,当接收到一存储触发指令时,记录该事件名称Y事件j和事件发生时间tfj,由此根据该事件Y事件j要求的事件发生前后应记录的数据时长trfji-和trfji+,获得该事件触发存储的记录开始时刻tfj-trfji-和记录记录结束时刻tfj+trfji+。因为对于特定的数据项xi,可能与多个事件(包括相同的事件名称但是发生时刻不同的情形)有关,即由多个事件触发存储,所以可能存在不止一个的记录开始时刻tfj-trfji-和记录记录结束时刻tfj+trfji+。
对于本次处理要处理的操作对象,例如在第n(n>1)个处理周期结束时刻,对第n-1个处理周期内缓存的数据xi*(n-1)基于这些记录开始时刻和记录结束时刻进行分段。
图7是示出了图2中分段过程,即步骤2061的方法700的流程图。如图7所示,方法700包括:
步骤702:对操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+按照事件顺序进行排序;
步骤704:以该操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+为分割点将当前操作对象分割为至少一个数据片段;
如前所述,在初始化开始后接收不同事件对数据项xi的存储触发指令,当接收到一存储触发指令时,记录该事件名称Y事件j和事件发生时间tfj,由此根据该事件Y事件j要求的事件发生前后应记录的数据时长trfji-和trfji+,获得该事件触发存储的记录开始时刻tfj-trfji-和记录记录结束时刻tfj+trfji+。为了描述方便,将对应一事件的记录开始时刻tfj-trfji-记为tji↑,初始化后tji↑的数量记为Ni↑,将对应一事件的记录记录结束时刻tfj+trfji+记为tji↓,初始化后tji↓的数量记为Ni↓,因为对于特定的数据项xi,可能与多个事件(包括相同的事件名称但是发生时刻不同的情形)有关,即由多个事件触发存储,所以tji↑和tji↓的数量往往不止一个。
对该操作对象的时间段内,例如在第n(n>1)个处理周期结束时刻,对第n-1个处理周期内的所有tji↑和tji↓按照事件顺序进行排序,并以此作为时间分割点将当前的操作对象(即,xi*(n-1))分割为至少一个数据片段。
步骤706:判断在每一个数据片段里记录开始时刻的数目是否大于记录结束时刻的数目,若是,则将该数据片段判断为需要转存的数据片段,否则,丢弃该数据片段。
对于每个数据片段,若在该数据片段里,Ni↑>Ni↓,则该数据片段需要转存,从而被保留;反之若Ni↑<Ni↓,则丢弃该数据片段。
由此,可以得到多个数据片段,确切地,需要转存的数据片段。
回到方法200,步骤206进一步包括:
子步骤2062:为需要转存的各数据片段关联指示该数据片段的故障特性的至少一个故障标签;
每一个故障标签对应于一特定的事件Y事件j,与特定的事件Y事件j对应的故障标签包括以下字段:数据名称xi、与该事件Y事件j相关联的故障名称Y故障j、该事件Y事件j的发生时刻tfj、该事件Y事件j所要求的记录数据项xi的时间范围、该事件Y事件j所要求的记录数据项xi的存储频率Fji等等。如前所述,广义地而言,发生在不同时刻的特定事件Y事件j也可被认为是不同的事件,因此也可具有相应的故障标签,此时,它们的故障标签字段的区别仅在于事件的发生时刻这一项。如本领域技术人员理解的,可以采用任何合适的方式将故障标签与一数据片段进行关联。例如,可将故障标签映射至响应的数据片段,伴随故障标签存储其相关的数据片段的存储地址等等,或者可采用映射表等其他手段。
子步骤2063:以所需存储频率将需要转存的各数据片段存储至非易失性存储器,并且相关联地保存各数据片段的相应故障标签。
对于需要转存的各数据片段中的每一数据片段,以在该数据片段的时间范围内存在的各事件Y事件j的触发存储所要求的存储频率Fji中的最高存储频率来将该数据片段存储至该非易失性存储器。假设一数据片段的存储与Y事件1和Y事件2的触发有关,则以这两个事件所要求的存储频率中的较高频率来存储该数据片段,以确保满足所有事件的存储要求。
所保存的每个数据片段还包括用于描述该数据片段的描述字段,例如,包括该数据片段的数据名称xi、该数据片段的时间范围、该数据片段的实际存储频率等等。
最后,还要相关联地保存各数据片段的相应故障标签。即,保存故障标签与各数据片段之间的对应关系,如本领域技术人员常用的,可在保存故障标签时同时保存其与数据片段之间的映射关系,如指向数据片段的指针等等。
对于特定的一数据项,上述过程随时间推进周期性地进行,并发地可对所有数据项并行地进行上述过程,直至收到监测终止指令。例如,飞机降落且高低压转子转速均小于设计转速则停止监测。
图8a-图8g基于时间线图形地示出了根据本发明的一方面的转存过程。
图8a-图8g模拟了一种故障情况,即发动机监测装置启动后2秒钟发生事件Y2三次,每次间隔0.2s;在此之后3.6秒,发生事件Y3一次,0.9秒后发生事件Y1一次。这些事件的描述见上文表1-表3。图8a-图8g以数据项x2为例示出其转存过程。
对于数据项x2,如上所述,它可与x1分为一组,并以1.3s为自己的处理周期T2,缓存深度为2倍的处理周期即2.6s,图中用包括交叉线和划线两种阴影线示出。图8a示出了在2T2(2.6s)时的转存处理,该转存处理的操作对象为缓存深度的前一半缓存数据,即第一个T2里的缓存数据,处理数据用交叉线示出。划线示出的缓存数据在2.6s处不进行转存处理。
在此操作对象的时间段里,存在两个记录开始时刻,分别在1s和1.2s处,以此为时间分割点,将该时间段里的x2分为数据片段(1s,1.2s)、数据片段(1.2s,1.3s)两个数据片段,而且在数据片段(1s,1.2s)里N2↑=1,N2↓=0,所以此数据片段保留;在数据片段(1.2s,1.3s)里N2↑=2,N2↓=0,数据片段(1.2s,1.3s)也应保留。
此外,为它们关联故障标签,例如为数据片段(1s,1.2s)关联的故障标签指示:(数据:x2;故障名称:F2;事件发生时刻:2s;存储范围:1s-4s;存储频率100Hz)。数据片段(1.2s,1.3s)与两个事件(发生在2s的Y2和发生在2.2s的Y2)有关,因此关联有如图所示的两个标签。故障标签和数据片段之间的对应关系用箭头线在图中示出。
数据片段还有描述字段,例如描述其数据名称、时间范围和实际存储频率。以数据片段(1s,1.2s)为例,其描述字段指示该数据片段为x2,存储的时间范围为1s-1.2s,实际存储频率为100Hz。数据片段(1s,1.2s)和(1.2s,1.3s)以事件Y2所要求的存储频率100Hz被存储。
图8b示出了在3T2(3.9s)时的转存处理,该转存处理的操作对象为第二个处理周期即1.3s-2.6s里的数据。在此时间段里,存在一个位于1.4s的记录开始时刻,因此将该时间段里的x2分为数据片段(1.3s,1.4s)、数据片段(1.4s,2.6s)两个数据片段,而且在数据片段(1.3s,1.4s)里N2↑=2,N2↓=0,所以此数据片段保留;同样地,在数据片段(1.4s,2.6s)里N2↑=3,N2↓=0,数据片段(1.4,2.6)也应保留。
此外,为它们关联故障标签,特别地,对于数据片段(1.4s,2.6s),它与三个事件(发生在2s的Y2、发生在2.2s的Y2、和发生在2.4s的Y2)有关,因此关联有如图所示的三个标签。
数据片段(1.3s,1.4s)和数据片段(1.4s,2.6s)以事件Y2所要求的存储频率100Hz被存储。
图8c示出了在4T2(5.2s)时的转存处理,该转存处理的操作对象为第三个处理周期即2.6s-3.9s里的数据。在此时间段里,没有记录开始时刻,所以该时间段里的数据本身即为一个数据片段(2.6s,3.9s)。类似地,为数据片段(2.6s,3.9s)关联故障标签,其存储频率也为100Hz。
图8d示出了在5T2(6.5s)时的转存处理,该转存处理的操作对象为第四个处理周期即3.9s-5.2s里的数据。在此时间段里,存在三个记录结束时刻,分别位于4s、4.2s、4.4s,以及一个记录开始时刻,位于5s。以此为时间分割点,将该时间段里的x2分为(3.9s,4s)、(4s、4.2s)、(4.2s、4.4s)、(4.4s、5s)、以及(5s、5.2s)五个数据片段。
对于前三个数据片段,N2↑=3,N2↓分别等于0、1、和2,N2↑都大于N2↓,所以这三个数据片段保留,并关联相应的故障标签。
对于数据片段(4.4s、5s),N2↑=3,N2↓=3,N2↑=N2↓,因此,丢弃该数据片段,不予转存。
对于数据片段(5s、5.2s),N2↑=4,N2↓=3,因此,该数据片段予以保留,并关联相应的故障标签。
保存的四个数据片段都是以100Hz频率进行存储。
图8e示出了在6T2(7.8s)时的转存处理,该转存处理的操作对象为第五个处理周期即5.2s-6.5s里的数据。在此时间段里,存在一个位于5.7s的记录开始时刻,因此将此时间段里的x2分为数据片段(5.2s,5.7s)、(5.7s,6.5s)两个数据片段。
对于数据片段(5.2s,5.7s),N2↑=4,N2↓=3,因此,该数据片段予以保留,并关联相应的故障标签。
对于数据片段(5.7s,6.5s),N2↑=5,N2↓=3,因此,该数据片段予以保留,并关联相应的故障标签。特别地是,该数据片段与事件Y1和Y3相关,而事件Y1要求记录的存储频率为200Hz,高于Y3要求的100Hz存储频率。在此情形下,选择最高的存储频率200Hz存储该数据片段。相应地,该数据片段包括的描述字段指示其实际存储频率为200Hz。
图8f和图8g分别示出了在6T2(7.8s)和7T2(9.1s)时的转存处理,过程与前文类似,不再赘述。
图9是示出了根据本发明的一方面的监测数据的复现方法900的流程图。如图9所示,方法900可包括:
步骤902:从所有故障标签当中筛选出与所要复现的监测数据的数据特征相关的目标故障标签;
步骤904:检索与所筛选出的该目标故障标签相关联的各数据片段;以及
步骤906:根据时间顺序将检索到的各数据片段进行重组以获得所要复现的监测数据。
每一个故障标签对应于一事件,与该事件对应的故障标签包括以下字段:数据名称、与该事件相关联的故障名称、该事件的发生时刻、该事件所要求的记录数据的时间范围、该事件所要求的记录数据的存储频率。正如上文提到的,特定事件发生的时刻不同,也可被认为是不同的事件,从而对应不同的故障标签,即,具体地,是故障标签里的事件发生时刻这一项目不同。
数据特征是用户希望观测(即,需要复现)的数据的特征,例如数据名称、发生时段、触发该数据的事件或故障名称等等。例如,用户希望复现的是在5s-7s时间段内、由事件Y3触发的、数据x2。针对这些数据特征,筛选出的目标故障标签为图8d中的第4个标签,该标签关联有6个数据片段,分别为(5s,5.2s)、(5.2,5.7)、(5.7s,6.5s)、(6.5s,7.8s)、(7.8s,7.9s)和(7.9s,9.0s),如图8d-图8g所示。
具体地,可根据检索到的各数据片段中描述该数据片段的时间范围的时间信息对各数据片段进行重组,再丢弃各数据片段中的描述字段以获得所要复现的监测数据。检索出的各数据片段中的任一数据片段的实际存储频率高于该目标故障标签中指示的存储频率,则将该数据片段降频至与该目标故障标签中指示的存储频率一致,然后执行重组。
例如,上述6个数据片段中的数据片段(5.7s,6.5s)、(6.5s,7.8s)、(7.8s,7.9s)是以200Hz频率记录的,高于目标故障标签中所记录的100Hz,因此,对这三个片段的数据降频至100Hz,例如通过2:1的抽值过程,即每两个点抽一个点。
然后,将这6个数据片段按照各自的描述字段所指示的该数据片段的时间范围,按时间顺序重组起来,就可得到所希望复现的监测数据。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
图10是示出了根据本发明的一方面的用于监测数据的存储装置1000的框图。
存储装置1000可包括周期确定模块1010,用于确定每一数据项xi的处理周期Ti,每一数据项xi的缓存深度等于处理周期的两倍,该数据项xi的缓存数据从易失性存储器至非易失性存储器的转存处理每处理周期进行一次,其中在第n个处理周期结束时刻转存的操作对象为数据项xi在第n-1个处理周期内缓存的数据xi*(n-1),其中n>1。
在一实例中,周期确定模块1010可遍历与该数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;以及将遍历的所有数据时长trfji-中的最大值设为该数据项xi的处理周期Ti。
在另一实例中,周期确定模块1010可遍历与该数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;将遍历的所有数据时长trfji-中的最大值设为该数据项xi的临时处理周期Tci;以及将所有数据项xi分组,其中临时处理周期Tci之间相差较小的数据项xi被分在一组中,并以该组中的数据项xi的最大临时处理周期Tci作为该组中所有数据项xi公共的处理周期Ti。
在一实例中,周期确定模块1010可将所有数据项xi按其临时处理周期Tci的大小按从小到大排序;以从小到大的次序对前两个数据项xi的临时处理周期Tci开始求方差,若求得的方差不大于一阈值,则对递增一个数据项xi的临时处理周期Tci求方差,直至求得的方差大于该阈值为止;将方差不大于该阈值的这多个数据项xi分在一组;以及对剩余的数据项xi重复求方差和分组的操作。
存储装置1000任选地可包括缓存确定模块1020,用于确定需要在该易失性存储器中为该监测数据开辟的缓存总量。在一实例中,缓存确定模块遍历与该数据项xi相关的每一事件Y事件j所要求的存储频率Fji并取所遍历的所有存储频率Fji中的最大值max(Fji);计算每一个数据项xi的缓存量Bufi=2×Ti×max(Fji)×Mi,Mi为数据项xi的存储字节数;以及累加监测数据的所有数据项的缓存量作为缓存总量。
存储装置1000可包括转存模块1030以用于对每一数据项xi周期性地进行转存处理。
转存模块1030进一步可包括分段模块1032以用于基于与数据项xi相关的各事件Y事件j的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+来对本次处理所要转存的操作对象进行分段。转存模块1030还可包括标签模块1034以用于为需要转存的各数据片段关联指示该数据片段的故障特性的至少一个故障标签。转存模块1030还可包括存储模块1036以用于以所需存储频率将需要转存的各数据片段存储至该非易失性存储器,并且相关联地保存各数据片段的相应故障标签。对于需要转存的各数据片段中的每一数据片段,存储模块1036以在该数据片段的时间范围内存在的各事件Y事件j的触发存储所要求的存储频率Fji中的最高存储频率来将该数据片段存储至非易失性存储器。
图11是示出了分段模块1100的结构的框图。该分段模块1100可以是图10中的分段模块1032。如图11所示,分段模块1100可包括排序模块1102以用于对操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+按照事件顺序进行排序,分割模块1104以用于以该操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+为分割点将当前操作对象分割为至少一个数据片段,以及转存判断模块1106以用于判断在每一个数据片段里记录开始时刻的数目是否大于记录结束时刻的数目,若是,则将该数据片段判断为需要转存的数据片段,否则,丢弃该数据片段。
图12是示出了根据本发明的一方面的用于监测数据的复现装置1200的框图。如图12所示,复现装置1200可包括筛选模块1210以用于从所有故障标签当中筛选出与所要复现的监测数据的数据特征相关的目标故障标签。复现装置1200还可包括检索模块1220以用于检索与所筛选出的该目标故障标签相关联的各数据片段。复现装置1200还可包括重组模块1230以用于根据时间顺序将检索到的各数据片段进行重组以获得所要复现的监测数据。
重组模块1230可根据检索到的各数据片段中描述该数据片段的时间范围的时间信息对各数据片段进行重组,以及丢弃各数据片段中的描述字段以获得所要复现的监测数据。
在一实例中,重组模块1230可包括降频模块1232以用于若检索出的各数据片段中的任一数据片段的实际存储频率高于目标故障标签中指示的存储频率,则将该数据片段降频至与目标故障标签中指示的存储频率一致。
领域技术人员将可理解,信息和信号可使用各种不同技术和技艺中的任何技术和技艺来表示。例如,以上描述通篇引述的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光学粒子、或其任何组合来表示。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (26)
1.一种用于监测数据的存储方法,所述监测数据包括多个数据项xi,每个数据项xi与至少一个事件Y事件j相关,响应于与每一数据项xi相关的每一事件Y事件j的发生,触发以与该事件相关联的存储频率Fji记录该事件发生时刻tfj前后从tfj-trfji-至tfj+trfji+时间段内的该数据项,trfji-和trfji+分别表示在事件Y事件j前后应记录的数据时长,所述方法包括:
确定每一数据项xi的处理周期Ti,每一数据项xi的缓存深度等于所述处理周期的两倍,该数据项xi的缓存数据从易失性存储器至非易失性存储器的转存处理每处理周期进行一次,其中在第n个处理周期结束时刻转存的操作对象为数据项xi在第n-1个处理周期内缓存的数据xi*(n-1),其中n>1;以及
对每一数据项xi周期性地进行转存处理,其中每一次转存处理进一步包括:
基于与数据项xi相关的各事件Y事件j的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+来对本次处理所要转存的操作对象进行分段,包括:
对该操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+按照事件顺序进行排序;
以该操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+为分割点将当前操作对象分割为至少一个数据片段;以及
判断在每一个数据片段里记录开始时刻的数目是否大于记录结束时刻的数目,若是,则将该数据片段判断为需要转存的数据片段,否则,丢弃该数据片段;
为需要转存的各数据片段关联指示该数据片段的故障特性的至少一个故障标签;
以所需存储频率将需要转存的各数据片段存储至所述非易失性存储器,并且相关联地保存各数据片段的相应故障标签,其中对于需要转存的各数据片段中的每一数据片段,以在该数据片段的时间范围内存在的各事件Y事件j的触发存储所要求的存储频率Fji中的最高存储频率来将该数据片段存储至所述非易失性存储器。
2.如权利要求1所述的存储方法,其特征在于,所述至少一个故障标签中的每一个故障标签对应于一特定的事件Y事件j,与特定的事件Y事件j对应的故障标签包括以下字段:数据名称xi、与该事件Y事件j相关联的故障名称Y故障j、该事件Y事件j的发生时刻tfj、该事件Y事件j所要求的记录数据项xi的时间范围、该事件Y事件j所要求的记录数据项xi的存储频率Fji。
3.如权利要求1所述的存储方法,其特征在于,需要转存的各数据片段还包括用于描述该数据片段的描述字段,所述描述字段包括该数据片段的数据名称xi、该数据片段的时间范围、该数据片段的实际存储频率。
4.如权利要求1所述的存储方法,其特征在于,所述确定每一数据项xi的处理周期Ti进一步包括:
遍历与该数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;以及
将遍历的所有数据时长trfji-中的最大值设为该数据项xi的处理周期Ti。
5.如权利要求1所述的存储方法,其特征在于,所述确定每一数据项xi的处理周期Ti进一步包括:
遍历与该数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;
将遍历的所有数据时长trfji-中的最大值设为该数据项xi的临时处理周期Tci;
将所有数据项xi分组,其中临时处理周期Tci之间相差较小的数据项xi被分在一组中,并以该组中的数据项xi的最大临时处理周期Tci作为该组中所有数据项xi公共的处理周期Ti。
6.如权利要求5所述的存储方法,其特征在于,所述将所有数据项xi分组进一步包括:
a):将所有数据项xi按其临时处理周期Tci的大小按从小到大排序;
b):以从小到大的次序对前两个数据项xi的临时处理周期Tci开始求方差,若求得的方差不大于一阈值,则对递增一个数据项xi的临时处理周期Tci求方差,直至求得的方差大于所述阈值为止;
c):将方差不大于所述阈值的这多个数据项xi分在一组;以及
d):对剩余的数据项xi重复b)和c)。
7.如权利要求1所述的存储方法,其特征在于,还包括:
确定需要在所述易失性存储器中为所述监测数据开辟的缓存总量。
8.如权利要求7所述的存储方法,其特征在于,所述确定需要在所述易失性存储器中为所述监测数据开辟的缓存量进一步包括:
遍历与该数据项xi相关的每一事件Y事件j所要求的存储频率Fji并取所遍历的所有存储频率Fji中的最大值max(Fji);
计算每一个数据项xi的缓存量Bufi=2×Ti×max(Fji)×Mi,Mi为数据项xi的存储字节数;
累加所述监测数据的所有数据项的缓存量作为所述缓存总量。
9.一种用于监测数据的复现方法,所述监测数据包括多个数据项,每个数据项以多个数据片段的形式存储在非易失性存储器中,每个数据片段关联有至指示该数据片段的故障特性的至少一个故障标签,所述复现方法包括:
从所有故障标签当中筛选出与所要复现的监测数据的数据特征相关的目标故障标签;
检索与所筛选出的该目标故障标签相关联的各数据片段;以及
根据时间顺序将检索到的各数据片段进行重组以获得所要复现的监测数据。
10.如权利要求9所述的复现方法,其特征在于,所述至少一个故障标签中的每一个故障标签对应于一事件,与该事件对应的故障标签包括以下字段:数据名称、与该事件相关联的故障名称、该事件的发生时刻、该事件所要求的记录数据的时间范围、该事件所要求的记录数据的存储频率。
11.如权利要求9所述的复现方法,其特征在于,每个数据片段包括用于描述该数据片段的描述字段,所述描述字段包括该数据片段的数据名称、该数据片段的时间范围、该数据片段的实际存储频率。
12.如权利要求11所述的复现方法,其特征在于,所述根据时间顺序将检索到的各数据片段进行重组以获得所要复现的监测数据进一步包括:
根据检索到的各数据片段中描述该数据片段的时间范围的时间信息对各数据片段进行重组;以及
丢弃各数据片段中的描述字段以获得所要复现的监测数据。
13.如权利要求11所述的复现方法,其特征在于,所述根据时间顺序将检索到的各数据片段进行重组以获得所要复现的监测数据进一步包括:
若检索出的各数据片段中的任一数据片段的实际存储频率高于所述目标故障标签中指示的存储频率,则将该数据片段降频至与所述目标故障标签中指示的存储频率一致,然后执行重组。
14.一种用于监测数据的存储装置,所述监测数据包括多个数据项xi,每个数据项xi与至少一个事件Y事件j相关,响应于与每一数据项xi相关的每一事件Y事件j的发生,触发以与该事件相关联的存储频率Fji记录该事件发生时刻tfj前后从tfj-trfji-至tfj+trfji+时间段内的该数据项,trfji-和trfji+分别表示在事件Y事件j前后应记录的数据时长,所述装置包括:
周期确定模块,用于确定每一数据项xi的处理周期Ti,每一数据项xi的缓存深度等于所述处理周期的两倍,该数据项xi的缓存数据从易失性存储器至非易失性存储器的转存处理每处理周期进行一次,其中在第n个处理周期结束时刻转存的操作对象为数据项xi在第n-1个处理周期内缓存的数据xi*(n-1),其中n>1;以及
转存模块,用于对每一数据项xi周期性地进行转存处理,所述转存模块进一步包括用于执行每一次转存处理的以下模块:
分段模块,用于基于与数据项xi相关的各事件Y事件j的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+来对本次处理所要转存的操作对象进行分段,所述分段模块进一步包括:
排序模块,用于对该操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+按照事件顺序进行排序;
分割模块,用于以该操作对象的时间段内存在的各记录开始时刻tfj-trfji-和各记录结束时刻tfj+trfji+为分割点将当前操作对象分割为至少一个数据片段;以及
转存判断模块,用于判断在每一个数据片段里记录开始时刻的数目是否大于记录结束时刻的数目,若是,则将该数据片段判断为需要转存的数据片段,否则,丢弃该数据片段;
标签模块,用于为需要转存的各数据片段关联指示该数据片段的故障特性的至少一个故障标签;
存储模块,用于以所需存储频率将需要转存的各数据片段存储至所述非易失性存储器,并且相关联地保存各数据片段的相应故障标签,对于需要转存的各数据片段中的每一数据片段,所述存储模块以在该数据片段的时间范围内存在的各事件Y事件j的触发存储所要求的存储频率Fji中的最高存储频率来将该数据片段存储至所述非易失性存储器。
15.如权利要求14所述的存储装置,其特征在于,所述至少一个故障标签中的每一个故障标签对应于一特定的事件Y事件j,与特定的事件Y事件j对应的故障标签包括以下字段:数据名称xi、与该事件Y事件j相关联的故障名称Y故障j、该事件Y事件j的发生时刻tfj、该事件Y事件j所要求的记录数据项xi的时间范围、该事件Y事件j所要求的记录数据项xi的存储频率Fji。
16.如权利要求14所述的存储装置,其特征在于,需要转存的各数据片段还包括用于描述该数据片段的描述字段,所述描述字段包括该数据片段的数据名称xi、该数据片段的时间范围、该数据片段的实际存储频率。
17.如权利要求14所述的存储装置,其特征在于,所述周期确定模块遍历与该数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;以及将遍历的所有数据时长trfji-中的最大值设为该数据项xi的处理周期Ti。
18.如权利要求14所述的存储装置,其特征在于,所述周期确定模块遍历与该数据项xi相关的每一事件Y事件j所要求的事件发生前应记录的数据时长trfji-;将遍历的所有数据时长trfji-中的最大值设为该数据项xi的临时处理周期Tci;以及将所有数据项xi分组,其中临时处理周期Tci之间相差较小的数据项xi被分在一组中,并以该组中的数据项xi的最大临时处理周期Tci作为该组中所有数据项xi公共的处理周期Ti。
19.如权利要求18所述的存储装置,其特征在于,所述周期确定模块将所有数据项xi按其临时处理周期Tci的大小按从小到大排序;以从小到大的次序对前两个数据项xi的临时处理周期Tci开始求方差,若求得的方差不大于一阈值,则对递增一个数据项xi的临时处理周期Tci求方差,直至求得的方差大于所述阈值为止;将方差不大于所述阈值的这多个数据项xi分在一组;以及对剩余的数据项xi重复求方差和分组的操作。
20.如权利要求14所述的存储装置,其特征在于,还包括:
缓存确定模块,用于确定需要在所述易失性存储器中为所述监测数据开辟的缓存总量。
21.如权利要求20所述的存储装置,其特征在于,所述缓存确定模块遍历与该数据项xi相关的每一事件Y事件j所要求的存储频率Fji并取所遍历的所有存储频率Fji中的最大值max(Fji);计算每一个数据项xi的缓存量Bufi=2×Ti×max(Fji)×Mi,Mi为数据项xi的存储字节数;以及累加所述监测数据的所有数据项的缓存量作为所述缓存总量。
22.一种用于监测数据的复现装置,所述监测数据包括多个数据项,每个数据项以多个数据片段的形式存储在非易失性存储器中,每个数据片段关联有至指示该数据片段的故障特性的至少一个故障标签,所述复现装置包括:
筛选模块,用于从所有故障标签当中筛选出与所要复现的监测数据的数据特征相关的目标故障标签;
检索模块,用于检索与所筛选出的该目标故障标签相关联的各数据片段;以及
重组模块,用于根据时间顺序将检索到的各数据片段进行重组以获得所要复现的监测数据。
23.如权利要求22所述的复现装置,其特征在于,所述至少一个故障标签中的每一个故障标签对应于一事件,与该事件对应的故障标签包括以下字段:数据名称、与该事件相关联的故障名称、该事件的发生时刻、该事件所要求的记录数据的时间范围、该事件所要求的记录数据的存储频率。
24.如权利要求22所述的复现装置,其特征在于,每个数据片段包括用于描述该数据片段的描述字段,所述描述字段包括该数据片段的数据名称、该数据片段的时间范围、该数据片段的实际存储频率。
25.如权利要求24所述的复现装置,其特征在于,所述重组模块根据检索到的各数据片段中描述该数据片段的时间范围的时间信息对各数据片段进行重组;以及丢弃各数据片段中的描述字段以获得所要复现的监测数据。
26.如权利要求24所述的复现装置,其特征在于,所述重组模块进一步包括:
降频模块,用于若检索出的各数据片段中的任一数据片段的实际存储频率高于所述目标故障标签中指示的存储频率,则将该数据片段降频至与所述目标故障标签中指示的存储频率一致,其中所述重组模块在所述降频模块执行降频之后执行重组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410307148.XA CN105335384B (zh) | 2014-06-30 | 2014-06-30 | 用于监测数据的存储方法和复现方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410307148.XA CN105335384B (zh) | 2014-06-30 | 2014-06-30 | 用于监测数据的存储方法和复现方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105335384A CN105335384A (zh) | 2016-02-17 |
CN105335384B true CN105335384B (zh) | 2019-06-18 |
Family
ID=55285923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410307148.XA Active CN105335384B (zh) | 2014-06-30 | 2014-06-30 | 用于监测数据的存储方法和复现方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105335384B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776952B (zh) * | 2016-12-02 | 2019-03-22 | 中科星图股份有限公司 | 一种分布式系统中数据存储方法 |
US10970169B2 (en) * | 2019-06-27 | 2021-04-06 | General Electric Company | Data configuration management system for an engine |
TWI778329B (zh) * | 2020-02-21 | 2022-09-21 | 香港商希瑞科技股份有限公司 | 記錄信息量方法及其系統 |
CN113706738B (zh) * | 2021-09-01 | 2023-06-06 | 陕西航空电气有限责任公司 | 一种航空交流起动控制器数据记录方法及系统 |
CN115964347B (zh) * | 2023-03-16 | 2023-05-16 | 菏泽市产品检验检测研究院 | 一种市场监管监测中心数据的智能存储方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516407B2 (en) * | 2004-06-01 | 2009-04-07 | General Electric Company | Timeline random access for multi-format time-based file recording and playback |
CN101236525A (zh) * | 2008-01-24 | 2008-08-06 | 创新科存储技术(深圳)有限公司 | 文件存储、读取、删除及复制方法及其相关系统 |
BR112012002795B1 (pt) * | 2009-08-11 | 2021-04-06 | Aeromechanical Services Ltd. | Sistema automatizado de gestão e entrega de dados de vôo de aeronave com modo de demanda |
-
2014
- 2014-06-30 CN CN201410307148.XA patent/CN105335384B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105335384A (zh) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105335384B (zh) | 用于监测数据的存储方法和复现方法及其装置 | |
US8683592B1 (en) | Associating network and storage activities for forensic analysis | |
CN105488610B (zh) | 一种电力应用系统故障实时分析诊断方法 | |
US9256272B2 (en) | Method and system for file relocation | |
CN107145403A (zh) | 面向Web开发环境的关系型数据库数据回溯方法 | |
CN107832196A (zh) | 一种用于实时日志异常内容的监测装置及监测方法 | |
CN106662981A (zh) | 存储设备、程序和信息处理方法 | |
CN103744617B (zh) | 一种键-值存储系统中数据文件的合并压缩方法及装置 | |
CN102567445B (zh) | 一种分布式文件系统中保证元数据一致性的方法 | |
CN107291615A (zh) | 一种web前端日志输出方法与装置 | |
JP2005122702A5 (zh) | ||
CN104504116B (zh) | 一种实时数据库的存储方法 | |
CN106445908B (zh) | 文本识别方法和装置 | |
CN108154289A (zh) | 一种产品质量因素信息自动分析系统与自动分析方法 | |
CN103902434B (zh) | 一种报警日志管理方法及系统 | |
CN107766219A (zh) | 自动化测试日志收集方法、系统、设备及计算机存储设备 | |
CN109634790B (zh) | 一种基于循环神经网络的磁盘故障预测方法 | |
CN107608860A (zh) | 一种错误日志分类存储的方法、装置、设备 | |
CN105607985B (zh) | 基于Qt图形界面软件的操作日志记录方法及系统 | |
CN104483902A (zh) | 一种数控机床故障前运行状态数据录像及回放方法 | |
CN109508267A (zh) | 一种服务器硬件配置检测方法、装置、设备以及存储介质 | |
CN111061581B (zh) | 一种故障检测方法、装置及设备 | |
CN109271361A (zh) | 海量小文件的分布式存储方法和系统 | |
WO2008104899A1 (en) | High speed data historian | |
CN109189721A (zh) | 一种实时性数据存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 200241 Minhang District Lianhua Road, Shanghai, No. 3998 Applicant after: China Hangfa commercial aviation engine limited liability company Address before: 200241 Minhang District Lianhua Road, Shanghai, No. 3998 Applicant before: AVIC Commercial Aircraft Engine Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |