CN110532612A - 船舶动力***的运行数据处理方法及装置 - Google Patents
船舶动力***的运行数据处理方法及装置 Download PDFInfo
- Publication number
- CN110532612A CN110532612A CN201910681803.0A CN201910681803A CN110532612A CN 110532612 A CN110532612 A CN 110532612A CN 201910681803 A CN201910681803 A CN 201910681803A CN 110532612 A CN110532612 A CN 110532612A
- Authority
- CN
- China
- Prior art keywords
- operation data
- power system
- ship
- file
- parsing
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000012545 processing Methods 0.000 title claims abstract description 18
- 238000004458 analytical method Methods 0.000 claims abstract description 29
- 238000012360 testing method Methods 0.000 claims abstract description 28
- 230000008676 import Effects 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 17
- 230000005855 radiation Effects 0.000 claims description 15
- 238000005183 dynamical system Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001052 transient effect Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 241000533950 Leucojum Species 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 238000007689 inspection Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000010276 construction 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
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000004153 renaturation Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种船舶动力***的运行数据处理方法及装置,所述方法包括:确定目标船舶动力***的船型,根据所述船型获取相应的运行数据解析模板;获取所述目标船舶动力***设备日志文件夹中的文件列表,针对所述文件列表中的任一文件,利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析;在所述文件解析完成后,对解析后的运行数据记录进行有效性校验和重复性检查,并将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储。本发明实施例实现了对船舶动力***的运行数据进行可靠地自动解析和自动导入数据库,可有效地提高对船舶动力***的运行数据进行分析的效率。
Description
技术领域
本发明涉及船舶动力***技术领域,更具体地,涉及一种船舶动力***的运行数据处理方法及装置。
背景技术
船舶动力***的运行数据主要来自船舶动力***运行参数存储装置(以下简称存储装置)的记录(通过二进制文件形式保存),小部分来自运行操作人员的人工记录。每台存储装置都对应一套动力装置,并自动记录其运行参数。数据采集仪采集动力、电力、辐射防护各***的运行数据,根据特定通讯协议的传输标准转换成标准数据包,将各个***的数据包拼合就形成一条完整的记录,并以二进制文件形式保存到存储装置中。
由于动力装置运行数据种类多(分为动力***、电力***、辐射防护***三部分),数据量大(每套动力装置有900多个运行参数,总计至少20套动力装置数据),现有数据文件形式的存储方式不便于统计分析。因此有必要对种类多、数据量大以及以二进制文件形式存储的运行数据进行自动化处理,对这些运行参数进行可靠的自动解析和存储,以便随时调用查看历史数据和在事故条件下对数据进行分析,追溯故障原因。
发明内容
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的船舶动力***的运行数据处理方法及装置。
第一方面,本发明实施例提供一种船舶动力***的运行数据处理方法,包括:
确定目标船舶动力***的船型,根据所述船型获取相应的运行数据解析模板;
获取所述目标船舶动力***设备日志文件夹中的文件列表,针对所述文件列表中的任一文件,利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析;
在所述文件解析完成后,对解析后的运行数据记录进行有效性校验和重复性检查,并将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储;
其中,所述运行数据解析模板包括:待解析字段的偏移量、字节数、类型、类别和解析方法。
第二方面,本发明实施例提供一种船舶动力***的运行数据处理装置,包括:
解析模板获取模块,用于确定目标船舶动力***的船型,根据所述船型获取相应的运行数据解析模板;
解析模块,用于获取所述目标船舶动力***设备日志文件夹中的文件列表,针对所述文件列表中的任一文件,利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析
存储模块,用于在所述文件解析完成后,对解析后的运行数据记录进行有效性校验和重复性检查,并将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储;
其中,所述运行数据解析模板包括:待解析字段的偏移量、字节数、类型、类别和解析方法。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的船舶动力***的运行数据处理方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的船舶动力***的运行数据处理方法的步骤。
本发明实施例提供的船舶动力***的运行数据处理方法及装置,实现了对船舶动力***的运行数据进行可靠地自动解析和自动导入数据库,可有效地提高对船舶动力***的运行数据进行分析的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的船舶动力***的运行数据处理方法的流程示意图;
图2为船舶动力***运行数据采集示意图;
图3为本发明实施例提供的工作线程的解析过程示意图;
图4为本发明实施例提供的CRC校验过程示意图;
图5为本发明实施例提供的数据校验的流程示意图;
图6为本发明实施例提供的查询事实表和维度表组成的雪花模式的示意图;
图7为本发明实施例提供的统计事实表和维度表组成的雪花模式的示意图;
图8为本发明实施例提供的船舶动力***的运行数据处理装置的结构示意图;
图9为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种船舶动力***的运行数据处理方法的流程示意图,包括:
步骤100、确定目标船舶动力***的船型,根据所述船型获取相应的运行数据解析模板;
具体地,如图2所示,数据采集仪采集动力、电力、辐射防护各***的运行数据,根据特定通讯协议的传输标准转换成标准数据包,将各个***的数据包拼合就形成一条完整的记录,并保存到存储装置中,一条完整记录的数据格式如表1所示。
存储装置记录中各***的数据包存储数据格式如表2至表4所示,电力***和辐射防护防护数据包都有开始和结束标志位,动力***作为运行记录的第一部分,在数据包尾有检验码,标识记录是否有效,每个***的数据包都有对应的日期时间,如果校验和检验无误,则记录的日期时间以动力***数据包中的日期时间为准。
表1记录的数据格式
表2动力***数据包存储格式
表3电力***数据包存储格式
表4辐射防护***数据包存储格式
考虑到存储装置中记录的特点,在进行数据解析时,是通过计算偏移量来分别解析各个字段值。偏移量初始化为0,每解析完一个字段值,就增加偏移量,增加的字节数取决于解析完的字段值所占的字节数。如果将所有字段(算上日期、时间、标志位等总计976个字段)在记录中的偏移量或字段所占的字节数作为解析算法的输入,依靠大量输入参数才能执行的数据解析算法则失去了数据处理自动化的意义,且如果***的数据包存储格式发生改变,例如:在备用部分中添加新的字段,或者修改已有字段的字节数,解析算法都要重新调整输入参数。
因此,本发明实施例通过分析不同船型的目标船舶动力***的运行数据的特点,定义了相应的运行数据解析模板。所述运行数据解析模板包括:待解析字段的偏移量、字节数、类型、类别和解析方法。模板的好处在于:1)可重复使用:只要解析的记录的存储格式不发生改变,那么只需要定义一次,便可一直重复使用;2)易于扩展:存储记录数据格式发生改变后,将模板复制后进行适当修改,便可重新使用;3)容易维护:用户修改字段属性后,由于所有字段连续存储,模板自身可以通过字段的偏移量、字节数等信息,自动更新其它字段的信息;4)自适应好:解析过程中可以根据模板中的字段信息:如字段类型和字段类别,选择字段对应的解析算法。由于耦合度降低,解析算法的添加和修改也十分方便。将定义好的模板保存到数据库中,每次解析数据时从数据库中读出对应的模板进行解析,可以在最大程度上,减少人为的干预,真正意义上实现数据处理的自动化。
步骤101、获取所述目标船舶动力***设备日志文件夹中的文件列表,针对所述文件列表中的任一文件,利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析;
具体地,多线程是指从软件或者硬件上实现多个线程并发执行的技术。由于每次导入数据量大(长达3个月的运行记录,每天就有86400条记录产生,总数据量近千万级),单线程执行导入任务存在速度慢、效率低的问题。因此,本发明实施例利用多线程处理提高数据导入任务的速度,将原始存储装置记录按文件划分,即获取船舶动力***设备日志文件夹中的文件列表,针对所述文件列表中的任一文件,将文件分配给若干个工作线程进行运行数据记录的解析,提高计算机资源使用率的同时也提高了工作效率。
为方便多线程实现,对86400条(即一天的运行记录)记录进行测试,每个文件最多存放1000条记录,总共87个文件。根据运行数据解析后的存储方式,测试了多线程的几种思路如下:
(1)最普通的方式——直接使用线程池。每个线程都对文件进行完整解析-入库处理;占用内存1.2G左右。线程池大小为20,用时490秒。相比单线程处理,时间上优化约200-300秒。但由于入库时为多线程,存在隐患。
(2)对文件进行多线程解析,入库采用单线程。具体分配如下:
10线程解析,用时601秒,优化约200秒左右,内存占用1.5G;
20线程解析,用时570秒,但内存占用达到1.95G;
全部线程解析,内存占用13G后,程序崩溃;
(3)多线程解析,但每次只处理一个文件,单线程入库。即先用多线程解析一个文件中的记录,再单一入库;用时500秒,占用内存190M左右。
3种测试方案的具体性能比较如表5所示。工作线程的工作流程如图3所示。由于测试数据是采用程序生成的模拟数据,为保证浮点数的精确,采用字符串分开成整数和小数两部分分别存储的策略,这直接导致计算量增大多线程解析较长。而实际情况下,是直接将运行数据按数值存储的,所以解析耗时将会数量级地减少;对于用多线程生成的模拟数据,耗时减少约40-50%;而解析耗时目前也能从800+秒降到500秒左右。
考虑到数据写入,本发明采用每次处理一个文件,多线程解析记录,单线程入库的方式。采用该方案对实际存储装置中的记录进行解析。500条记录耗时约1.4-1.8秒,按2秒计算,一天86400条记录约346秒。
表5测试方案性能比对
其中,所述利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析的步骤,具体为:
将所述文件分配给若干个工作线程,基于所述运行数据解析模板中待解析字段的偏移量和解析方法,采用所述若干个工作线程并行对所述文件中的运行数据记录按字段进行解析。
具体地,将一个文件分配给若干个工作线程,基于所述运行数据解析模板中待解析字段的偏移量和各个待解析字段对应的解析方法,采用所述若干个线程并对一个文件中的所有运行数据记录按字段进行解析。
步骤102、在所述文件解析完成后,对解析后的运行数据记录进行有效性校验和重复性检查,并将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储。
具体地,在一个文件中的所有运行数据记录解析完成后,针对每一条运行数据记录,检查每条记录的校验和,再计算Hash值以判断有无重复记录,若校验和正确且Hash值无重复则将获知该条记录可以写入数据库,否则记录错误原因,进行回退处理,并写入解析报告。
将一个文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储,实现了针对一个文件的单一入库方式。
本发明实施例提供的船舶动力***的运行数据处理方法,实现了对船舶动力***的运行数据进行可靠地自动解析和自动导入数据库,可有效地提高对船舶动力***的运行数据进行分析的效率。
基于上述实施例的内容,在所述确定目标船舶动力***的船型,根据所述船型确定运行数据解析模板的步骤之前,还包括:
根据不同船型的特点定义运行数据解析模板;
所述根据不同船型的特点定义运行数据解析模板的步骤,具体为:
定义舷号表和航次表;
定义基础数据部分。
具体地,针对数据导入时的需求,舷号对应不同的船型,航次对应船舶出海的时间段。不同的船型其动力***有着不同的设计与实现,体现在划分的子***不同、子***运行参数的个数不同、运行参数所属***不同,由于构成动力***的设备差异也会造成存储装置记录运行参数时,运行参数的数据类型不同(导致在记录中占有的长度不相同)以及运行参数的量程上下限、报警值等属性有所差异。所以首先定义船型,依据船型的特点制定对应的运行记录解析模板。表6和表7分别为舷号表和航次表的设计。
表6舷号表
表7航次表
其中,所述定义基础数据部分的步骤,具体为:
确定不同船型的船舶动力***各子***的各个运行参数的基本信息,所述基本信息包括:各个运行参数所属的船型、所属的子***、名称、类型、长度和在存储装置记录中的偏移量;
给每个子***的各个运行参数分配一个序号,并根据运行参数的类型和所属子***,输入各运行参数对应的其他相关信息。
具体地,基础数据部分是指构成字段的类型、字段所属类别、字段自身属性值等,例如字段类型有日期时间量、逻辑量、4字节的整型量、3字节的普通模拟量、2字节的采集模拟量和4字节模拟量(辐射防护***和电力***),这些字段类型直接决定在文件解析时所读取的数据偏移,影响数据解析的精确性。字段所属类别有属于动力***的字段、辐射防护***字段和电力***字段,每个字段都基于各自类别的偏移区段内进行解析。
考虑到***的灵活性、大数据量的均衡划分、以及查询效率的需要,以及针对后期扩展支持多船只、多航次等实际需要,需要在导入的时候创建物理表等操作,因此基础数据部分基于字段类型(fieldtype)、字段所属类别(fieldcat)、字段属性(field)三类分别进行维护,并基于此产生数据解析模板,相关表结构如表8至表10所示。
由于存储装置记录根据运行参数所属子***对运行参数进行分段,相同子***相同类型的参数在记录中连续存放。解析模板的定义需要确定不同船型的船舶动力***各子***的各个运行参数的基本信息,所述基本信息包括:各个运行参数所属的船型、所属的子***、名称、类型、长度和在存储装置记录中的偏移量;
然后,给每个子***中的参数分配一个序号,以便于以后通过序号检索运行参数,然后根据运行参数的类型和所属子***,输入运行参数对应的其他相关信息,如模拟量的量程上下限、报警值以及单位,逻辑量的默认状态以及01状态下的含义。
表8参字段类型表
常用字段有日期时间、逻辑量、设备行程值、普通模拟量(3字节),动力采集模拟量(2字节),辐射防护、电力***模拟量(4字节)。
表9字段类别表
表10字段模板表
基于上述实施例的内容,所述对解析后的运行数据记录进行有效性校验和重复性检查的步骤,具体为:
计算解析后每条运行数据记录的校验和以及Hash值,判断校验和是否正确,以及Hash值是否无重复,若校验和正确且Hash值无重复,则获知该条运行数据记录通过有效性校验和重复性检查。
具体地,原始存储装置中记录由不同***的数据包组成,为保证数据的可靠性,解析算法中提供了常用的几种数据包校验方法。最常使用的是循环冗余校验。
校验过程及解析过程:
首先,将存储装置生成的CRC码除以生成多项式对应的生成码,若余数为0,则CRC码正确,CRC校验过程如图4所示。
然后,获取实际运行参数数值。
因为生成码R=3,所以冗余码为后3位即011,实际信息码为1010。
解析后的数据记录最终将保存至数据库中,为了避免导入重复记录在校验和检查无误后,在一个实施例中,针对每条记录采用MD5算法生成哈希值,保证无重复记录导入数据库中。
基于MD5算法的数据检测的原理如下:
输入:记录日期时间、各***参数的解析值
输出:128位的Hash值
根据文献,要使MD5算法产生冲突,即输入两条不同的记录却输出同一个Hash值,大概要40亿条记录,公式(1)表示记录总数为n时,产生重复记录的概率。
式中,Prp表示产生冲突的概率;n表示记录的数量;r表示任选两个Hash值重复的概率,由于Hash值有128位,所以r=2E-128。
将n=1E7代入公式2-1,得到千万量级的记录产生Hash冲突的概率为Prp=1.47E-25。鉴于MD5算法发生Hash冲突的概率极低,可以确信数据导入过程中输入不同记录都将输出一个唯一的Hash值。
综上,数据校验的流程如图5所示,先从文件中读取记录,先检查每条记录的校验和,再计算Hash值以判断有无重复记录,若校验和正确且Hash值无重复则将记录写入数据库,否则记录错误原因,并写入解析报告。
基于上述实施例的内容,所述将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储的步骤,具体为:
将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录按照动力***、辐射防护***和电力***进行分表存储,生成日志基础信息表。
具体地,日志基础信息表主要存放完整的解析日志,即从文件中解析出的完整记录内容。针对已知信息,原始记录中字段数目已达995个以上,加上必要的控制字段,已超出市场上主流的关系型数据库对字段的限制,因此,此部分采用按动力***、辐射防护***和电力***进行分表存储;同时考虑到数据量大的问题,结合底层数据集群存储特性,采用按设备-按月分表存储,保证单表数据记录量在300万条以内(约3600*24*30=2,592,000),提高存储和检索效率。
考虑到动力***、辐射防护***和电力***三类表字段众多,且为兼容不同的船只、不同格式,人工维护或表结构模板,任务量巨大。因此,将表格创建任务交由存储过程控制自动生成,以下为创建的表结构示例,如表11至表13所示。
表11动力***表
表12辐射防护***表
表13电力***表
还有用户手工输入的运行参数表,建立示例结构如表14所示。
表14手动记录表
考虑到手动记录的运行记录存在种类多,频率低等特点,选择采用Excel表格的方式导入,表结构设计留有三个扩展字段备用,可用于存储上传文件位置、解析状态等等。
实际上,在日志基础信息表的基础上,还可以生成日志衍生信息表。主要目的为了提高数据查询与分析效率,主要包含数据汇总表、索引表、用户查询模板。
据目前的需要,存储***已设计部分数据统计汇总表,例如:按天、控周、按月统计设备情况,计算并存储该天的设备信息,计算各字段的算术均值、标准方差、最大值、最小值、离群点数、越界值等,方便快速查询及异常定位。
依据上述配置好模板后,根据一定算法,根据运行参数的属性,检查每个运行参数在记录中的字节偏移量和字段按位长度是否正确,当用户修改解析模板中的运行参数的属性时(如将int32位4字节模拟量改为int24位3字节模拟量),可自动检查并修正。
日期时间偏移量+日期时间所占字节数=动力***偏移量
动力***偏移量+每个动力***参数*参数所占字节数=辐射防护***偏移量
辐射防护***偏移量+每个辐射防护***参数*参数所占字节数=电力***偏移量。
动力***偏移量值即为动力***参数在一条运行记录中的起止位置,解析算法根据偏移量对不同***参数执行不同方式的解析。为保证数据导入过程精确可控,还可以生成数据解析模板和解析日志表,相关结构如表15和表16所示。
表15解析模板表
表16解析日志表
基于上述实施例的内容,所述生成日志基础信息表之后,还包括:利用联机分析处理OLAP技术,在所述日志基础信息表的基础上,构建事实表和维度表。
具体地,联机分析处理(Online Analytical Processing,OLAP技术)对要分析的问题进行抽象,将要分析的问题表现出来的各种属性视作维度。一种维度对应问题表现出的一种属性,还可以按照这种属性的特点将维度划分为多个层次。这样一来针对具体问题,就可以从问题的多个不同维度以及不同的层次,对问题进行全面考察,或是针对问题中某一密切关注的属性,进行细致分析。在定义了多个维度以后,也可以按照要分析的问题的特点将已定义好的不同的维度进行组合,形成以问题为导向的事实表。一般根据一个事实表和多个维表,就可以组成星型模型和雪花型模型这两种存储模型,这两种模型也正是对于抽象化后的问题的概括总结。
查询事实表和统计事实表是数据聚合后依据某个维度生成的结果表。查询事实表和维度表组成的雪花模式的示意图如图6所示,统计事实表和维度表组成的雪花模式的示意图如图7所示。其中,查询时间、筛选频率作为时间维度表,参数类别、参数类型作为参数维度表,查询模板、舷号、航次作为查询所用的条件。其中,统计参数为模拟量参数,统计运行参数在某一时间段的最大值、最小值、平均值,以及参数超限或引起报警的次数。
如图8所示,为本发明实施例提供的船舶动力***的运行数据处理装置的结构示意图,包括:解析模板获取模块801、解析模块802和存储模块803,其中,
解析模板获取模块801,用于确定目标船舶动力***的船型,根据所述船型获取相应的运行数据解析模板;
解析模块802,用于用于获取所述目标船舶动力***设备日志文件夹中的文件列表,针对所述文件列表中的任一文件,利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析
存储模块803,用于在所述文件解析完成后,对解析后的运行数据记录进行有效性校验和重复性检查,并将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储;
其中,所述运行数据解析模板包括:待解析字段的偏移量、字节数、类型、类别和解析方法。
船舶动力***的运行数据处理装置用于执行上述方法实施例中的区船舶动力***的运行数据处理方法。因此,在前述各实施例中的船舶动力***的运行数据处理方法中的描述和定义,可以用于本发明实施例中船舶动力***的运行数据处理装置的理解,在此不再赘述。
图9为本发明实施例提供的电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储在存储器930上并可在处理器910上运行的计算机程序,以执行上述各方法实施例所提供的船舶动力***的运行数据处理方法,例如包括:确定目标船舶动力***的船型,根据所述船型获取相应的运行数据解析模板;获取所述目标船舶动力***设备日志文件夹中的文件列表,针对所述文件列表中的任一文件,利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析;在所述文件解析完成后,对解析后的运行数据记录进行有效性校验和重复性检查,并将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储;其中,所述运行数据解析模板包括:待解析字段的偏移量、字节数、类型、类别和解析方法。
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例提供的船舶动力***的运行数据处理方法,例如包括:确定目标船舶动力***的船型,根据所述船型获取相应的运行数据解析模板;获取所述目标船舶动力***设备日志文件夹中的文件列表,针对所述文件列表中的任一文件,利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析;在所述文件解析完成后,对解析后的运行数据记录进行有效性校验和重复性检查,并将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储;其中,所述运行数据解析模板包括:待解析字段的偏移量、字节数、类型、类别和解析方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种船舶动力***的运行数据处理方法,其特征在于,包括:
确定目标船舶动力***的船型,根据所述船型获取相应的运行数据解析模板;
获取所述目标船舶动力***设备日志文件夹中的文件列表,针对所述文件列表中的任一文件,利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析;
在所述文件解析完成后,对解析后的运行数据记录进行有效性校验和重复性检查,并将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储;
其中,所述运行数据解析模板包括:待解析字段的偏移量、字节数、类型、类别和解析方法。
2.根据权利要求1所述的船舶动力***的运行数据处理方法,其特征在于,在所述确定目标船舶动力***的船型,根据所述船型确定运行数据解析模板的步骤之前,还包括:
根据不同船型的特点定义运行数据解析模板;
所述根据不同船型的特点定义运行数据解析模板的步骤,具体为:
定义舷号表和航次表;
定义基础数据部分。
3.根据权利要求2所述的船舶动力***的运行数据处理方法,其特征在于,所述定义基础数据部分的步骤,具体为:
确定不同船型的船舶动力***各子***的各个运行参数的基本信息,所述基本信息包括:各个运行参数所属的船型、所属的子***、名称、类型、长度和在存储装置记录中的偏移量;
给每个子***的各个运行参数分配一个序号,并根据运行参数的类型和所属子***,输入各运行参数对应的其他相关信息。
4.根据权利要求1所述的船舶动力***的运行数据处理方法,其特征在于,所述利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析的步骤,具体为:
将所述文件分配给若干个工作线程,基于所述运行数据解析模板中待解析字段的偏移量和解析方法,采用所述若干个工作线程并行对所述文件中的运行数据记录按字段进行解析。
5.根据权利要求1所述的船舶动力***的运行数据处理方法,其特征在于,所述对解析后的运行数据记录进行有效性校验和重复性检查的步骤,具体为:
计算解析后每条运行数据记录的校验和以及Hash值,判断校验和是否正确,以及Hash值是否无重复,若校验和正确且Hash值无重复,则获知该条运行数据记录通过有效性校验和重复性检查。
6.根据权利要求1所述的船舶动力***的运行数据处理方法,其特征在于,所述将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储的步骤,具体为:
将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录按照动力***、辐射防护***和电力***进行分表存储,生成日志基础信息表。
7.根据权利要求6所述的船舶动力***的运行数据处理方法,其特征在于,所述生成日志基础信息表之后,还包括:
利用联机分析处理OLAP技术,在所述日志基础信息表的基础上,构建事实表和维度表。
8.一种船舶动力***的运行数据处理装置,其特征在于,包括:
解析模板获取模块,用于确定目标船舶动力***的船型,根据所述船型获取相应的运行数据解析模板;
解析模块,用于获取所述目标船舶动力***设备日志文件夹中的文件列表,针对所述文件列表中的任一文件,利用所述运行数据解析模板采用多线程对所述文件中的运行数据记录进行解析
存储模块,用于在所述文件解析完成后,对解析后的运行数据记录进行有效性校验和重复性检查,并将所述文件对应的所有通过有效性校验和重复性检查的运行数据记录批量导入数据库中进行存储;
其中,所述运行数据解析模板包括:待解析字段的偏移量、字节数、类型、类别和解析方法。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述船舶动力***的运行数据处理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述船舶动力***的运行数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910681803.0A CN110532612A (zh) | 2019-07-26 | 2019-07-26 | 船舶动力***的运行数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910681803.0A CN110532612A (zh) | 2019-07-26 | 2019-07-26 | 船舶动力***的运行数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110532612A true CN110532612A (zh) | 2019-12-03 |
Family
ID=68661946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910681803.0A Pending CN110532612A (zh) | 2019-07-26 | 2019-07-26 | 船舶动力***的运行数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532612A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597195A (zh) * | 2020-05-07 | 2020-08-28 | 交通运输部水运科学研究所 | 一种船舶大气污染排放清单缺失信息处理方法及装置 |
CN113672569A (zh) * | 2021-09-01 | 2021-11-19 | 封�波 | 自动记录电子航海日志的方法和装置 |
CN114780497A (zh) * | 2022-04-22 | 2022-07-22 | 湖南长银五八消费金融股份有限公司 | 批量文件处理方法、装置、计算机设备、介质和程序产品 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458705A (zh) * | 2008-12-29 | 2009-06-17 | 阿里巴巴集团控股有限公司 | 一种不同应用***间的数据核对方法、装置及*** |
CN102567401A (zh) * | 2010-12-31 | 2012-07-11 | 中国科学院沈阳自动化研究所 | 一种载人潜水器数据分析*** |
CN103135515A (zh) * | 2011-12-05 | 2013-06-05 | 北京掌城科技有限公司 | 一种车辆状况的诊断方法 |
CN106156170A (zh) * | 2015-04-16 | 2016-11-23 | 北大方正集团有限公司 | 舆情分析方法及装置 |
CN107122434A (zh) * | 2017-04-18 | 2017-09-01 | 北京思特奇信息技术股份有限公司 | 一种将对账文件导入数据库的方法和*** |
CN107945090A (zh) * | 2017-11-30 | 2018-04-20 | 深圳市轱辘车联数据技术有限公司 | 基于区块链的车辆尾气数据分析方法、装置及服务器 |
US20180284737A1 (en) * | 2016-05-09 | 2018-10-04 | StrongForce IoT Portfolio 2016, LLC | Methods and systems for detection in an industrial internet of things data collection environment with large data sets |
CN108880867A (zh) * | 2018-05-31 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种网络设备数据采集方法及*** |
CN109711682A (zh) * | 2018-12-13 | 2019-05-03 | 中国船舶工业***工程研究院 | 一种数据驱动的船舶总体状态评估方法 |
-
2019
- 2019-07-26 CN CN201910681803.0A patent/CN110532612A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458705A (zh) * | 2008-12-29 | 2009-06-17 | 阿里巴巴集团控股有限公司 | 一种不同应用***间的数据核对方法、装置及*** |
CN102567401A (zh) * | 2010-12-31 | 2012-07-11 | 中国科学院沈阳自动化研究所 | 一种载人潜水器数据分析*** |
CN103135515A (zh) * | 2011-12-05 | 2013-06-05 | 北京掌城科技有限公司 | 一种车辆状况的诊断方法 |
CN106156170A (zh) * | 2015-04-16 | 2016-11-23 | 北大方正集团有限公司 | 舆情分析方法及装置 |
US20180284737A1 (en) * | 2016-05-09 | 2018-10-04 | StrongForce IoT Portfolio 2016, LLC | Methods and systems for detection in an industrial internet of things data collection environment with large data sets |
CN107122434A (zh) * | 2017-04-18 | 2017-09-01 | 北京思特奇信息技术股份有限公司 | 一种将对账文件导入数据库的方法和*** |
CN107945090A (zh) * | 2017-11-30 | 2018-04-20 | 深圳市轱辘车联数据技术有限公司 | 基于区块链的车辆尾气数据分析方法、装置及服务器 |
CN108880867A (zh) * | 2018-05-31 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种网络设备数据采集方法及*** |
CN109711682A (zh) * | 2018-12-13 | 2019-05-03 | 中国船舶工业***工程研究院 | 一种数据驱动的船舶总体状态评估方法 |
Non-Patent Citations (1)
Title |
---|
常杰: "复杂***的数据分析技术在动车组数字化调试线中的应用", 《计算机测量与控制》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597195A (zh) * | 2020-05-07 | 2020-08-28 | 交通运输部水运科学研究所 | 一种船舶大气污染排放清单缺失信息处理方法及装置 |
CN111597195B (zh) * | 2020-05-07 | 2023-03-14 | 交通运输部水运科学研究所 | 一种船舶大气污染排放清单缺失信息处理方法及装置 |
CN113672569A (zh) * | 2021-09-01 | 2021-11-19 | 封�波 | 自动记录电子航海日志的方法和装置 |
CN113672569B (zh) * | 2021-09-01 | 2024-05-07 | 上海太科舟智能科技有限公司 | 自动记录电子航海日志的方法和装置 |
CN114780497A (zh) * | 2022-04-22 | 2022-07-22 | 湖南长银五八消费金融股份有限公司 | 批量文件处理方法、装置、计算机设备、介质和程序产品 |
CN114780497B (zh) * | 2022-04-22 | 2023-02-24 | 湖南长银五八消费金融股份有限公司 | 批量文件处理方法、装置、计算机设备、介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4195112A1 (en) | Systems and methods for enriching modeling tools and infrastructure with semantics | |
CN110532612A (zh) | 船舶动力***的运行数据处理方法及装置 | |
CN111259040B (zh) | Sql语句审核方法和*** | |
US8775392B1 (en) | Revision control and configuration management | |
CN111562965B (zh) | 基于决策树的页面数据校验方法和装置 | |
US10394700B1 (en) | System and method for identifying a subset of total historical users of a data management system to represent a full set of test scenarios based on prehashing of code coverage information | |
CN108460068A (zh) | 报表导入导出的方法、装置、存储介质及终端 | |
CN112801315A (zh) | 电力二次设备的状态诊断方法、装置及终端 | |
CN111949540A (zh) | 一种代码变更风险估算审核方法及装置 | |
Jiang et al. | A Large-scale Benchmark for Log Parsing | |
Baresi et al. | Test oracles for simulink-like models | |
CN114926082B (zh) | 基于人工智能的数据波动预警方法及相关设备 | |
Jiang et al. | A Large-Scale Evaluation for Log Parsing Techniques: How Far Are We? | |
CN116860311A (zh) | 脚本分析方法、装置、计算机设备及存储介质 | |
Offutt et al. | An industrial study of applying input space partitioning to test financial calculation engines | |
CN114491044A (zh) | 日志的处理方法及装置 | |
CN113919609A (zh) | 一种配电网模型质量综合评估方法和*** | |
CN117829121B (zh) | 数据处理方法、装置、电子设备和介质 | |
CN110399298A (zh) | 一种测试方法及装置 | |
CN117076546B (zh) | 数据处理方法、终端设备及计算机可读存储介质 | |
CN111968022B (zh) | 一种基于json配置方式的业务编号生成***及方法 | |
CN110119406B (zh) | 实时任务记录的核对方法及装置 | |
Ye | An Evaluation on Using Coarse-grained Events in an Event Sourcing Context and its Effects Compared to Fine-grained Events | |
CN117829121A (zh) | 数据处理方法、装置、电子设备和介质 | |
CN116843219A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191203 |