CN111694989B - Ae300航空发动机数据日志文件解析方法及设备 - Google Patents
Ae300航空发动机数据日志文件解析方法及设备 Download PDFInfo
- Publication number
- CN111694989B CN111694989B CN202010516297.2A CN202010516297A CN111694989B CN 111694989 B CN111694989 B CN 111694989B CN 202010516297 A CN202010516297 A CN 202010516297A CN 111694989 B CN111694989 B CN 111694989B
- Authority
- CN
- China
- Prior art keywords
- sector
- byte
- byte array
- index
- bytes
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种AE300航空发动机数据日志文件解析方法及设备。所述方法包括:获取数据日志文件中xmlns属性的第一电控单元状态节点或第二电控单元状态节点;获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引;从所述更新后的第一字节数组的第二索引向前搜索,若发现符连续二十五字节长度为零;标记每一对LeadInX和LeadOutX,对于索引LeadInX+1至LeadOutX‑32的字节等步骤。本发明实施例提供的AE300航空发动机数据日志文件解析方法及设备,可以实现对AE300航空发动机数据日志的完整解析。
Description
技术领域
本发明实施例涉及数据分析技术领域,尤其涉及一种AE300航空发动机数据日志文件解析方法及设备。
背景技术
AE300系列发动机是Austro Engine公司生产的航空用活塞式航空发动机。其采用电子式高压共轨技术,四缸直列压燃式,经济省油,动力充足,整个发动机的运转和控制靠EECU(发动机电子控制单元)完成,EECU在控制发动机过程中会实时记录发动机的运转数据,共记录了包括螺旋桨转速、进气压力、进气温度、发动机功率、共轨压力、低压燃油压力等16种信号数据,对发动机故障诊断和健康管理至关重要。Austro Engine公司虽然提供了自家的AE300 Wizard软件来供用户查看DataLog文件,但经过长期使用发现其存在解析数据不完整的问题,往往是头部或者尾部数据未被解析,这样可能会漏掉部分重要数据。因此,开发一种AE300航空发动机数据日志文件解析方法,可以有效克服上述相关技术中的缺陷,就成为业界亟待解决的技术问题。
发明内容
针对现有技术存在的上述问题,本发明实施例提供了一种AE300航空发动机数据日志文件解析方法及设备。
第一方面,本发明的实施例提供了一种AE300航空发动机数据日志文件解析方法,包括:获取数据日志文件中xmlns属性的第一电控单元状态节点或第二电控单元状态节点,若所述第一电控单元状态节点或第二电控单元状态节点的全部属性不为零,则获取xmlns属性的第一扇区节点集或第二扇区节点集,依次读取所述第一扇区节点集或第二扇区节点集中的全部扇区子节点,将扇区ID在预定区间内且为预定扇区类型的扇区子节点依照扇区ID从小到大的次序存入第一字节数组中;获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,清空所述第一字节数组,并将当前第二字节数组中的内容拷贝至清空后的第一字节数组中,得到更新后的第一字节数组;从所述更新后的第一字节数组的第二索引向前搜索,若发现符连续二十五字节长度为零,且自第二十六字节至三十二字节相加后低八位为0xFF,则标记该连续三十二字节中最末一字节在所述更新后的第一字节数组中索引为LeadOut1,继续向前搜索上一个LeadOut2,若LeadOut2+1至LeadOut2+32之和的最低八位为0xFF,则标记LeadOut2+32为LEADIn1,重复搜索所述更新后的第一字节数组中所有LeadOut与LeadIn,直至所述更新后的第一字节数组索引为零;标记每一对LeadInX和LeadOutX,对于索引LeadInX+1至LeadOutX-32的字节,每三十二个字节为1个分组,设定每个分组的首字节索引为X0,若X0+1整除65532的结果,与X0+36和LeadOutX-32较小者整除65532的结果不相等,则以X0+36与LeadOutX-32较小者整除65532的结果为索引X1,重新以32字节为单位划分分组,每分组中连续16位有符号整数为一个信号值,每个信号值所代表的信号种类以在LeadInX中搜寻的信号序列为准,解析数据日志文件中所有LeadInX与LeadOutX之间的数据,直至数据日志文件所有内容解析完毕;其中,LeadInX为索引LeadIn1至LeadIn32中的任意一项索引;LeadOutX为索引LeadOut1至LeadOut32中的任意一项索引。
在上述方法实施例内容的基础上,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述第一电控单元状态节点为发动机电控单元中的ECU A的数据组状态,所述第二电控单元状态节点为发动机电控单元中的ECU B的数据组状态。
在上述方法实施例内容的基础上,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述全部属性包括:ENTRY_CNT属性、ACTIVE_EVREC属性和ACTIVE_DATLOG属性。
在上述方法实施例内容的基础上,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述第一扇区节点集为发动机电控单元中的ECU A的扇区子节点集,所述第二扇区节点集为发动机电控单元中的ECU B的扇区子节点集。
在上述方法实施例内容的基础上,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述预定区间为[16,139],所述预定扇区类型为Locked类型、Active类型或Unknown类型扇区中第2个字节至第65533字节。
在上述方法实施例内容的基础上,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,包括:记录Active类型扇区有效载荷首字节在所述第一字节数组中的索引为所述第一索引。
在上述方法实施例内容的基础上,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,包括:若所述第一字节数组的总长度为m,则所述第一字节数组中索引从Tx+63352至m-1范围内的字节依次拷贝至第二字节数组,数组索引范围为0至m-Tx–65532-1的字节中,将第一字节数组中索引从0至Tx+65532–1的字节依次拷贝至所述第二字节数组中索引范围为m–Tx–65532至m-1的字节中;其中,所述Tx为所述第一索引。
第二方面,本发明的实施例提供了一种AE300航空发动机数据日志文件解析装置,包括:
扇区子节点存储模块,用于获取数据日志文件中xmlns属性的第一电控单元状态节点或第二电控单元状态节点,若所述第一电控单元状态节点或第二电控单元状态节点的全部属性不为零,则获取xmlns属性的第一扇区节点集或第二扇区节点集,依次读取所述第一扇区节点集或第二扇区节点集中的全部扇区子节点,将扇区ID在预定区间内且为预定扇区类型的扇区子节点依照扇区ID从小到大的次序存入第一字节数组中;
字节数组更新模块,用于获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,清空所述第一字节数组,并将当前第二字节数组中的内容拷贝至清空后的第一字节数组中,得到更新后的第一字节数组;
标记模块,用于从所述更新后的第一字节数组的第二索引向前搜索,若发现符连续二十五字节长度为零,且自第二十六字节至三十二字节相加后低八位为0xFF,则标记该连续三十二字节中最末一字节在所述更新后的第一字节数组中索引为LeadOut1,继续向前搜索上一个LeadOut2,若LeadOut2+1至LeadOut2+32之和的最低八位为0xFF,则标记LeadOut2+32为LEADIn1,重复搜索所述更新后的第一字节数组中所有LeadOut与LeadIn,直至所述更新后的第一字节数组索引为零;
解析模块,用于标记每一对LeadInX和LeadOutX,对于索引LeadInX+1至LeadOutX-32的字节,每三十二个字节为1个分组,设定每个分组的首字节索引为X0,若X0+1整除65532的结果,与X0+36和LeadOutX-32较小者整除65532的结果不相等,则以X0+36与LeadOutX-32较小者整除65532的结果为索引X1,重新以32字节为单位划分分组,每分组中连续16位有符号整数为一个信号值,每个信号值所代表的信号种类以在LeadInX中搜寻的信号序列为准,解析数据日志文件中所有LeadInX与LeadOutX之间的数据,直至数据日志文件所有内容解析完毕;
其中,LeadInX为索引LeadIn1至LeadIn32中的任意一项索引;LeadOutX为索引LeadOut1至LeadOut32中的任意一项索引。
第三方面,本发明的实施例提供了一种电子设备,包括:
至少一个处理器;以及
与处理器通信连接的至少一个存储器,其中:
存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的AE300航空发动机数据日志文件解析方法。
第四方面,本发明的实施例提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的AE300航空发动机数据日志文件解析方法。
本发明实施例提供的AE300航空发动机数据日志文件解析方法及设备,通过获取扇区子节点并将Active类型扇区的索引后的字节内容进行拷贝重组,并对重组后的索引进行重新标记,以重新标记后的索引为依据,对数据日志文件进行整体解析,可以实现对AE300航空发动机数据日志的完整解析。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的AE300航空发动机数据日志文件解析方法流程图;
图2为本发明实施例提供的AE300航空发动机数据日志文件解析装置结构示意图;
图3为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明实施例提供了一种AE300航空发动机数据日志文件解析方法,参见图1,该方法包括:
101、获取数据日志文件中xmlns属性的第一电控单元状态节点或第二电控单元状态节点,若所述第一电控单元状态节点或第二电控单元状态节点的全部属性不为零,则获取xmlns属性的第一扇区节点集或第二扇区节点集,依次读取所述第一扇区节点集或第二扇区节点集中的全部扇区子节点,将扇区ID在预定区间内且为预定扇区类型的扇区子节点依照扇区ID从小到大的次序存入第一字节数组中;
102、获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,清空所述第一字节数组,并将当前第二字节数组中的内容拷贝至清空后的第一字节数组中,得到更新后的第一字节数组;
103、从所述更新后的第一字节数组的第二索引向前搜索,若发现符连续二十五字节长度为零,且自第二十六字节至三十二字节相加后低八位为0xFF,则标记该连续三十二字节中最末一字节在所述更新后的第一字节数组中索引为LeadOut1,继续向前搜索上一个LeadOut2,若LeadOut2+1至LeadOut2+32之和的最低八位为0xFF,则标记LeadOut2+32为LEADIn1,重复搜索所述更新后的第一字节数组中所有LeadOut与LeadIn,直至所述更新后的第一字节数组索引为零;
104、标记每一对LeadInX和LeadOutX,对于索引LeadInX+1至LeadOutX-32的字节,每三十二个字节为1个分组,设定每个分组的首字节索引为X0,若X0+1整除65532的结果,与X0+36和LeadOutX-32较小者整除65532的结果不相等,则以X0+36与LeadOutX-32较小者整除65532的结果为索引X1,重新以32字节为单位划分分组,每分组中连续16位有符号整数为一个信号值,每个信号值所代表的信号种类以在LeadInX中搜寻的信号序列为准,解析数据日志文件中所有LeadInX与LeadOutX之间的数据,直至数据日志文件所有内容解析完毕;
其中,LeadInX为索引LeadIn1至LeadIn32中的任意一项索引;LeadOutX为索引LeadOut1至LeadOut32中的任意一项索引。
基于上述方法实施例的内容,作为一种可选的实施例,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述第一电控单元状态节点为发动机电控单元中的ECU A的数据组状态,所述第二电控单元状态节点为发动机电控单元中的ECU B的数据组状态。
基于上述方法实施例的内容,作为一种可选的实施例,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述全部属性包括:ENTRY_CNT属性、ACTIVE_EVREC属性和ACTIVE_DATLOG属性。
基于上述方法实施例的内容,作为一种可选的实施例,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述第一扇区节点集为发动机电控单元中的ECUA的扇区子节点集,所述第二扇区节点集为发动机电控单元中的ECU B的扇区子节点集。
具体地,读取DataLog文件(即数据日志文件)xmlns为A或B的STATUS节点,A和B分别代表EECU中ECU A与ECU B的数据组状态,其ENTRY_CNT属性、ACTIVE_EVREC属性、ACTIVE_DATLOG属性只要有一项不为0,则继续解析,否则认为本DataLog文件内没有发动机运行数据,解析结束;分别读取xmlns属性为A或B的SECTORS节点(即第一扇区节点集或第二扇区节点集),A和B分别代表EECU中ECU A与ECU B,依次读取其各个SECTOR子节点(即扇区子节点),SECTOR子节点的ID子节点的内容为扇区ID,SECTOR节点的DATA子节点为扇区数据,每扇区65538个字节,每个扇区起始两个字节为固定,分别为0x61与0xF6,其最末尾4个字节为扇区类型,共6种类型,其含义及是否需要解析见表1。
表1
基于上述方法实施例的内容,作为一种可选的实施例,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述预定区间为[16,139],所述预定扇区类型为Locked类型、Active类型或Unknown类型扇区中第2个字节至第65533字节。具体地,将扇区ID在[16,139]区间内,且其扇区类型为Locked、Active、Unknown的扇区中第2个字节(首个字节索引定义为0)至第65533个字节(定义为扇区有效载荷),按照扇区ID从小到大依次存入字节数组D1中,则各扇区有效载荷首字节在字节数组D1(即第一字节数组)中的存放索引分别为T0、T1、T2…Tn。则对于n>=1,有(Tn)-(Tn-1)=65532。
基于上述方法实施例的内容,作为一种可选的实施例,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,包括:记录Active类型扇区有效载荷首字节在所述第一字节数组中的索引为所述第一索引。
基于上述方法实施例的内容,作为一种可选的实施例,本发明实施例中提供的AE300航空发动机数据日志文件解析方法,所述并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,包括:若所述第一字节数组的总长度为m,则所述第一字节数组中索引从Tx+63352至m-1范围内的字节依次拷贝至第二字节数组,数组索引范围为0至m-Tx–65532-1的字节中,将第一字节数组中索引从0至Tx+65532–1的字节依次拷贝至所述第二字节数组中索引范围为m–Tx–65532至m-1的字节中;其中,所述Tx为所述第一索引。
具体地,若扇区类型为Active的扇区,则记录其扇区有效载荷首字节在字节数组D1中的索引为Tx,D1数组的总长度为m,则D1数组中索引从Tx+63352至m-1范围内的字节依次拷贝至字节数组D2(即第二字节数组),数组索引范围为0至m–Tx–65532-1的字节中,将D1数组中索引从0至Tx+65532–1的字节依次拷贝至D2数组中索引范围为m–Tx–65532至m-1的字节中。清空D1数组,完整拷贝D2数组至D1数组中。从D1数组索引m-1开始,向前搜索,若发现符连续25字节为0,自第26字节至32字节相加后低8位为0xFF,则标记该连续32字节中最末一字节所在D1数组中索引为LeadOut1,继续从D1数组索引LeadOut1-32开始向前搜索上一个LeadOut2,则校验LeadOut2+1至LeadOut2+32之和的最低8位为0xFF,若校验通过,则标记LeadOut2+32为LeadIn1。按此规律搜索D1数组中所有LeadOut与LeadIn,直至D1数组索引为0。对于搜索到的每一对LeadInX与LeadOutX。标记索引LeadInX所在字节的BCD码加2000为LeadInX时间的“年”,标记索引LeadInX+1所在字节的BCD码为LeadInX时间的“月”,标记索引LeadInX+2所在字节的BCD码为LeadInX时间的“日”,标记索引LeadInX+3所在字节的BCD码为LeadInX时间的“时”,标记索引LeadInX+4所在字节的BCD码为LeadInX时间的“分”,标记索引LeadInX+5所在字节的BCD码为LeadInX时间的“秒”。对于LeadInX+6至LeadInX+29的连续24个字节,从每字节最高位至最低位,连续12位为一组,每12位的无符号数值为一个信号代码。表示索引LeadInX+1与LeadOutX-32之间每连续32字节(连续两个字节为1组)的发动机数据每组数据所代表的信号种类。其信号代码与种类的对应关系见表2。
表2
对于D1数组索引LeadOutX+25至LeadOutX+31的6个字节,标记索引LeadOutX+25所在字节的BCD码加2000为LeadOutX时间的“年”,标记索引LeadOutX+26所在字节的BCD码为LeadOutX时间的“月”,标记索引LeadOutX+27所在字节的BCD码为LeadOutX时间的“日”,标记索引LeadOutX+28所在字节的BCD码为LeadOutX时间的“时”,标记索引LeadOutX+29所在字节的BCD码为LeadOutX时间的“分”,标记索引LeadOutX+30所在字节的BCD码为LeadOutX时间的“秒”。
对于索引LeadInX+1至LeadOutX-32的字节,每32字节分为1个分组,对于每个分组的首字节索引为X0,若存在X0+1整除65532的结果不等于X0+36与LeadOutX-32两者中较小者整除65532的结果,则自X0+36与LeadOutX-32两者中较小者整除65532的结果X1为索引开始,重新以32字节为单位划分分组。每分组中连续16位有符号整数T为一个信号值,每个信号值所代表的信号种类以第5步中在LeadInX中搜寻的信号序列为准,具体的信号值最终值计算结果为:T*信号factor+信号offset。继续按照本规律解析DataLog文件中所有LeadInX与LeadOutX之间的数据,直至DataLog文件所有内容被解析完毕
本发明实施例提供的AE300航空发动机数据日志文件解析方法,通过获取扇区子节点并将Active类型扇区的索引后的字节内容进行拷贝重组,并对重组后的索引进行重新标记,以重新标记后的索引为依据,对数据日志文件进行整体解析,可以实现对AE300航空发动机数据日志的完整解析。
本发明各个实施例的实现基础是通过具有处理器功能的设备进行程序化的处理实现的。因此在工程实际中,可以将本发明各个实施例的技术方案及其功能封装成各种模块。基于这种现实情况,在上述各实施例的基础上,本发明的实施例提供了一种AE300航空发动机数据日志文件解析装置,该装置用于执行上述方法实施例中的AE300航空发动机数据日志文件解析方法。参见图2,该装置包括:
扇区子节点存储模块201,用于获取数据日志文件中xmlns属性的第一电控单元状态节点或第二电控单元状态节点,若所述第一电控单元状态节点或第二电控单元状态节点的全部属性不为零,则获取xmlns属性的第一扇区节点集或第二扇区节点集,依次读取所述第一扇区节点集或第二扇区节点集中的全部扇区子节点,将扇区ID在预定区间内且为预定扇区类型的扇区子节点依照扇区ID从小到大的次序存入第一字节数组中;
字节数组更新模块202,用于获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,清空所述第一字节数组,并将当前第二字节数组中的内容拷贝至清空后的第一字节数组中,得到更新后的第一字节数组;
标记模块203,用于从所述更新后的第一字节数组的第二索引向前搜索,若发现符连续二十五字节长度为零,且自第二十六字节至三十二字节相加后低八位为0xFF,则标记该连续三十二字节中最末一字节在所述更新后的第一字节数组中索引为LeadOut1,继续向前搜索上一个LeadOut2,若LeadOut2+1至LeadOut2+32之和的最低八位为0xFF,则标记LeadOut2+32为LEADIn1,重复搜索所述更新后的第一字节数组中所有LeadOut与LeadIn,直至所述更新后的第一字节数组索引为零;
解析模块204,用于标记每一对LeadInX和LeadOutX,对于索引LeadInX+1至LeadOutX-32的字节,每三十二个字节为1个分组,设定每个分组的首字节索引为X0,若X0+1整除65532的结果,与X0+36和LeadOutX-32较小者整除65532的结果不相等,则以X0+36与LeadOutX-32较小者整除65532的结果为索引X1,重新以32字节为单位划分分组,每分组中连续16位有符号整数为一个信号值,每个信号值所代表的信号种类以在LeadInX中搜寻的信号序列为准,解析数据日志文件中所有LeadInX与LeadOutX之间的数据,直至数据日志文件所有内容解析完毕;
其中,LeadInX为索引LeadIn1至LeadIn32中的任意一项索引;LeadOutX为索引LeadOut1至LeadOut32中的任意一项索引。
本发明实施例提供的AE300航空发动机数据日志文件解析装置,采用扇区子节点存储模块、字节数组更新模块、标记模块和解析模块,通过获取扇区子节点并将Active类型扇区的索引进行拷贝重组,并对重组后的索引进行重新标记,以重新标记后的索引为依据,对数据日志文件进行整体解析,可以实现对AE300航空发动机数据日志的完整解析。
需要说明的是,本发明提供的装置实施例中的装置,除了可以用于实现上述方法实施例中的方法外,还可以用于实现本发明提供的其他方法实施例中的方法,区别仅仅在于设置相应的功能模块,其原理与本发明提供的上述装置实施例的原理基本相同,只要本领域技术人员在上述装置实施例的基础上,参考其他方法实施例中的具体技术方案,通过组合技术特征获得相应的技术手段,以及由这些技术手段构成的技术方案,在保证技术方案具备实用性的前提下,就可以对上述装置实施例中的装置进行改进,从而得到相应的装置类实施例,用于实现其他方法类实施例中的方法。例如:
基于上述装置实施例的内容,作为一种可选的实施例,本发明实施例中提供的AE300航空发动机数据日志文件解析装置,还包括:字节拷贝模块,用于若所述第一字节数组的总长度为m,则所述第一字节数组中索引从Tx+63352至m-1范围内的字节依次拷贝至第二字节数组,数组索引范围为0至m-Tx–65532-1的字节中,将第一字节数组中索引从0至Tx+65532–1的字节依次拷贝至所述第二字节数组中索引范围为m–Tx–65532至m-1的字节中;其中,所述Tx为所述第一索引。
本发明实施例的方法是依托电子设备实现的,因此对相关的电子设备有必要做一下介绍。基于此目的,本发明的实施例提供了一种电子设备,如图3所示,该电子设备包括:至少一个处理器(processor)301、通信接口(Communications Interface)304、至少一个存储器(memory)302和通信总线303,其中,至少一个处理器301,通信接口304,至少一个存储器302通过通信总线303完成相互间的通信。至少一个处理器301可以调用至少一个存储器302中的逻辑指令,以执行如下方法:获取数据日志文件中xmlns属性的第一电控单元状态节点或第二电控单元状态节点,若所述第一电控单元状态节点或第二电控单元状态节点的全部属性不为零,则获取xmlns属性的第一扇区节点集或第二扇区节点集,依次读取所述第一扇区节点集或第二扇区节点集中的全部扇区子节点,将扇区ID在预定区间内且为预定扇区类型的扇区子节点依照扇区ID从小到大的次序存入第一字节数组中;获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,清空所述第一字节数组,并将当前第二字节数组中的内容拷贝至清空后的第一字节数组中,得到更新后的第一字节数组;从所述更新后的第一字节数组的第二索引向前搜索,若发现符连续二十五字节长度为零,且自第二十六字节至三十二字节相加后低八位为0xFF,则标记该连续三十二字节中最末一字节在所述更新后的第一字节数组中索引为LeadOut1,继续向前搜索上一个LeadOut2,若LeadOut2+1至LeadOut2+32之和的最低八位为0xFF,则标记LeadOut2+32为LEADIn1,重复搜索所述更新后的第一字节数组中所有LeadOut与LeadIn,直至所述更新后的第一字节数组索引为零;标记每一对LeadInX和LeadOutX,对于索引LeadInX+1至LeadOutX-32的字节,每三十二个字节为1个分组,设定每个分组的首字节索引为X0,若X0+1整除65532的结果,与X0+36和LeadOutX-32较小者整除65532的结果不相等,则以X0+36与LeadOutX-32较小者整除65532的结果为索引X1,重新以32字节为单位划分分组,每分组中连续16位有符号整数为一个信号值,每个信号值所代表的信号种类以在LeadInX中搜寻的信号序列为准,解析数据日志文件中所有LeadInX与LeadOutX之间的数据,直至数据日志文件所有内容解析完毕;其中,LeadInX为索引LeadIn1至LeadIn32中的任意一项索引;LeadOutX为索引LeadOut1至LeadOut32中的任意一项索引。
此外,上述的至少一个存储器302中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。例如包括:获取数据日志文件中xmlns属性的第一电控单元状态节点或第二电控单元状态节点,若所述第一电控单元状态节点或第二电控单元状态节点的全部属性不为零,则获取xmlns属性的第一扇区节点集或第二扇区节点集,依次读取所述第一扇区节点集或第二扇区节点集中的全部扇区子节点,将扇区ID在预定区间内且为预定扇区类型的扇区子节点依照扇区ID从小到大的次序存入第一字节数组中;
获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,清空所述第一字节数组,并将当前第二字节数组中的内容拷贝至清空后的第一字节数组中,得到更新后的第一字节数组;从所述更新后的第一字节数组的第二索引向前搜索,若发现符连续二十五字节长度为零,且自第二十六字节至三十二字节相加后低八位为0xFF,则标记该连续三十二字节中最末一字节在所述更新后的第一字节数组中索引为LeadOut1,继续向前搜索上一个LeadOut2,若LeadOut2+1至LeadOut2+32之和的最低八位为0xFF,则标记LeadOut2+32为LEADIn1,重复搜索所述更新后的第一字节数组中所有LeadOut与LeadIn,直至所述更新后的第一字节数组索引为零;标记每一对LeadInX和LeadOutX,对于索引LeadInX+1至LeadOutX-32的字节,每三十二个字节为1个分组,设定每个分组的首字节索引为X0,若X0+1整除65532的结果,与X0+36和LeadOutX-32较小者整除65532的结果不相等,则以X0+36与LeadOutX-32较小者整除65532的结果为索引X1,重新以32字节为单位划分分组,每分组中连续16位有符号整数为一个信号值,每个信号值所代表的信号种类以在LeadInX中搜寻的信号序列为准,解析数据日志文件中所有LeadInX与LeadOutX之间的数据,直至数据日志文件所有内容解析完毕;其中,LeadInX为索引LeadIn1至LeadIn32中的任意一项索引;LeadOutX为索引LeadOut1至LeadOut32中的任意一项索引。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。基于这种认识,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本专利中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种AE300航空发动机数据日志文件解析方法,其特征在于,包括:
获取数据日志文件中xmlns属性的第一电控单元状态节点或第二电控单元状态节点,若所述第一电控单元状态节点或第二电控单元状态节点的全部属性不为零,则获取xmlns属性的第一扇区节点集或第二扇区节点集,依次读取所述第一扇区节点集或第二扇区节点集中的全部扇区子节点,将扇区ID在预定区间内且为预定扇区类型的扇区子节点依照扇区ID从小到大的次序存入第一字节数组中;
获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,清空所述第一字节数组,并将当前第二字节数组中的内容拷贝至清空后的第一字节数组中,得到更新后的第一字节数组;
从所述更新后的第一字节数组的第二索引向前搜索,若发现符连续二十五字节长度为零,且自第二十六字节至三十二字节相加后低八位为0xFF,则标记该连续三十二字节中最末一字节在所述更新后的第一字节数组中索引为LeadOut1,继续向前搜索上一个LeadOut2,若LeadOut2+1至LeadOut2+32之和的最低八位为0xFF,则标记LeadOut2+32为LEADIn1,重复搜索所述更新后的第一字节数组中所有LeadOut与LeadIn,直至所述更新后的第一字节数组索引为零;
标记每一对LeadInX和LeadOutX,对于索引LeadInX+1至LeadOutX-32的字节,每三十二个字节为1个分组,设定每个分组的首字节索引为X0,若X0+1整除65532的结果,与X0+36和LeadOutX-32较小者整除65532的结果不相等,则以X0+36与LeadOutX-32较小者整除65532的结果为索引X1,重新以32字节为单位划分分组,每分组中连续16位有符号整数为一个信号值,每个信号值所代表的信号种类以在LeadInX中搜寻的信号序列为准,解析数据日志文件中所有LeadInX与LeadOutX之间的数据,直至数据日志文件所有内容解析完毕;
其中,LeadInX为索引LeadIn1至LeadIn32中的任意一项索引;LeadOutX为索引LeadOut1至LeadOut32中的任意一项索引;
所述第一电控单元状态节点为发动机电控单元中的ECUA的数据组状态,所述第二电控单元状态节点为发动机电控单元中的ECUB的数据组状态。
2.根据权利要求1所述的AE300航空发动机数据日志文件解析方法,其特征在于,所述全部属性包括:ENTRY_CNT属性、ACTIVE_EVREC属性和ACTIVE_DATLOG属性。
3.根据权利要求1所述的AE300航空发动机数据日志文件解析方法,其特征在于,所述第一扇区节点集为发动机电控单元中的ECUA的扇区子节点集,所述第二扇区节点集为发动机电控单元中的ECUB的扇区子节点集。
4.根据权利要求1所述的AE300航空发动机数据日志文件解析方法,其特征在于,所述预定区间为[16,139],所述预定扇区类型为Locked类型、Active类型或Unknown类型扇区中第2个字节至第65533字节。
5.根据权利要求4所述的AE300航空发动机数据日志文件解析方法,其特征在于,所述获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,包括:记录Active类型扇区有效载荷首字节在所述第一字节数组中的索引为所述第一索引。
6.根据权利要求5所述的AE300航空发动机数据日志文件解析方法,其特征在于,所述并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,包括:若所述第一字节数组的总长度为m,则所述第一字节数组中索引从Tx+63352至m-1范围内的字节依次拷贝至第二字节数组,数组索引范围为0至m-Tx–65532-1的字节中,将第一字节数组中索引从0至Tx+65532–1的字节依次拷贝至所述第二字节数组中索引范围为m–Tx–65532至m-1的字节中;其中,所述Tx为所述第一索引。
7.一种AE300航空发动机数据日志文件解析装置,其特征在于,包括:
扇区子节点存储模块,用于获取数据日志文件中xmlns属性的第一电控单元状态节点或第二电控单元状态节点,若所述第一电控单元状态节点或第二电控单元状态节点的全部属性不为零,则获取xmlns属性的第一扇区节点集或第二扇区节点集,依次读取所述第一扇区节点集或第二扇区节点集中的全部扇区子节点,将扇区ID在预定区间内且为预定扇区类型的扇区子节点依照扇区ID从小到大的次序存入第一字节数组中;
字节数组更新模块,用于获取所述预定扇区类型中的Active类型扇区在所述第一字节数组中的第一索引,并根据所述第一索引将所述第一字节数组中的第一预定范围的字节,拷贝至第二字节数组中的第二预定范围的字节中,将所述第一字节数组中的第三预定范围的字节,拷贝至第二字节数组中的第四预定范围的字节中,清空所述第一字节数组,并将当前第二字节数组中的内容拷贝至清空后的第一字节数组中,得到更新后的第一字节数组;
标记模块,用于从所述更新后的第一字节数组的第二索引向前搜索,若发现符连续二十五字节长度为零,且自第二十六字节至三十二字节相加后低八位为0xFF,则标记该连续三十二字节中最末一字节在所述更新后的第一字节数组中索引为LeadOut1,继续向前搜索上一个LeadOut2,若LeadOut2+1至LeadOut2+32之和的最低八位为0xFF,则标记LeadOut2+32为LEADIn1,重复搜索所述更新后的第一字节数组中所有LeadOut与LeadIn,直至所述更新后的第一字节数组索引为零;
解析模块,用于标记每一对LeadInX和LeadOutX,对于索引LeadInX+1至LeadOutX-32的字节,每三十二个字节为1个分组,设定每个分组的首字节索引为X0,若X0+1整除65532的结果,与X0+36和LeadOutX-32较小者整除65532的结果不相等,则以X0+36与LeadOutX-32较小者整除65532的结果为索引X1,重新以32字节为单位划分分组,每分组中连续16位有符号整数为一个信号值,每个信号值所代表的信号种类以在LeadInX中搜寻的信号序列为准,解析数据日志文件中所有LeadInX与LeadOutX之间的数据,直至数据日志文件所有内容解析完毕;
其中,LeadInX为索引LeadIn1至LeadIn32中的任意一项索引;LeadOutX为索引LeadOut1至LeadOut32中的任意一项索引;
所述第一电控单元状态节点为发动机电控单元中的ECUA的数据组状态,所述第二电控单元状态节点为发动机电控单元中的ECUB的数据组状态。
8.一种电子设备,其特征在于,包括:
至少一个处理器、至少一个存储器和通信接口;其中,
所述处理器、存储器和通信接口相互间进行通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以执行权利要求1至6中任一项权利要求所述的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行权利要求1至6中任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010516297.2A CN111694989B (zh) | 2020-06-09 | 2020-06-09 | Ae300航空发动机数据日志文件解析方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010516297.2A CN111694989B (zh) | 2020-06-09 | 2020-06-09 | Ae300航空发动机数据日志文件解析方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694989A CN111694989A (zh) | 2020-09-22 |
CN111694989B true CN111694989B (zh) | 2023-03-10 |
Family
ID=72479812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010516297.2A Active CN111694989B (zh) | 2020-06-09 | 2020-06-09 | Ae300航空发动机数据日志文件解析方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694989B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729262A (zh) * | 2012-10-12 | 2014-04-16 | 武汉海康威视系统技术有限公司 | 操作系统热备份方法、装置及文件系统重构方法 |
CN110659162A (zh) * | 2019-09-27 | 2020-01-07 | 厦门市美亚柏科信息股份有限公司 | 一种tpsfs文件系统的数据恢复方法、装置、系统及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7831624B2 (en) * | 2005-06-24 | 2010-11-09 | Seagate Technology Llc | Skip list with address related table structure |
US9760549B2 (en) * | 2012-07-18 | 2017-09-12 | Software Ag Usa, Inc. | Systems and/or methods for performing atomic updates on large XML information sets |
US10372684B2 (en) * | 2015-01-09 | 2019-08-06 | Quantum Corporation | Metadata peering with improved inodes |
-
2020
- 2020-06-09 CN CN202010516297.2A patent/CN111694989B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729262A (zh) * | 2012-10-12 | 2014-04-16 | 武汉海康威视系统技术有限公司 | 操作系统热备份方法、装置及文件系统重构方法 |
CN110659162A (zh) * | 2019-09-27 | 2020-01-07 | 厦门市美亚柏科信息股份有限公司 | 一种tpsfs文件系统的数据恢复方法、装置、系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于Winhex的HFS+文件系统结构研究;苏神保等;《通信与信息技术 》(第6期);60-63页 * |
机务维修中常见NTFS底层文件处理仿真;李光耀等;《无线互联科技》(第16期);50-60页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111694989A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9129007B2 (en) | Indexing and querying hash sequence matrices | |
CN111241389B (zh) | 一种基于矩阵的敏感词过滤方法、装置、电子设备、存储介质 | |
CN109684290B (zh) | 日志存储方法、装置、设备及计算机可读存储介质 | |
CN109194739B (zh) | 一种文件上传方法、存储介质和服务器 | |
CN109388523B (zh) | 一种基于二进制日志文件恢复MySQL数据库的方法 | |
US20060053169A1 (en) | System and method for management of data repositories | |
CN113468199B (zh) | 索引更新方法及系统 | |
EP3251298A1 (en) | Data extraction | |
CN111125298A (zh) | 重建ntfs文件目录树的方法、设备及存储介质 | |
CN114625809A (zh) | 一种基于Binlog日志的数据同步方法、装置以及存储介质和电子设备 | |
US5822746A (en) | Method for mapping a file specification to a sequence of actions | |
CN112307318A (zh) | 一种内容发布方法、系统及装置 | |
CN111694989B (zh) | Ae300航空发动机数据日志文件解析方法及设备 | |
CN112069305A (zh) | 数据筛选方法、装置及电子设备 | |
CN111190896B (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
CN111694988B (zh) | Ae300航空发动机事件记录文件解析方法及设备 | |
WO2018080560A1 (en) | Encoding edges in graph databases | |
CN116628215A (zh) | 数据资产管理方法、控制装置及可读存储介质 | |
CN114491184B (zh) | 一种数据处理方法及装置、存储介质及电子设备 | |
CN115796146A (zh) | 一种文件对比方法及装置 | |
CN115718879A (zh) | 数据治理方法、装置以及存储介质 | |
CN110196793B (zh) | 针对插件数据库的日志分析方法及设备 | |
US10853177B2 (en) | Performant process for salvaging renderable content from digital data sources | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN111444194A (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 |