一种油位曲线数据处理方法及装置与流程

文档序号:19418582发布日期:2019-12-14 01:11阅读:461来源:国知局
一种油位曲线数据处理方法及装置与流程

本发明涉及数据处理技术领域,具体涉及一种油位曲线数据处理方法及装置。



背景技术:

油位传感器是一种测量油位的压力传感器。基于所测液体静压与该液体的高度成比例的原理。将静压转换为电信号,再经过温度补偿和线性修正,转化成标准电信号。油位传感器采集上报的液位数据因为电磁干扰和运动行驶干扰,会产生小范围的波动。而这种波动一般是在真实液位的合理的区间内上下浮动,因此很难分辨。

当前大部分油位传感器出于经济成本考虑,并没有额外的数据存储空间保存和处理上下文油位数据,只是简单处理和上报了当前采集到的模拟信号,并没有依照时间序列计算油位数据的合理性,甚至没有对一些明显异常的数值进行过滤。

油位传感器上报的油位数据除了记录油箱存油量的历史数据之外,还需要进一步做加油、抽油和耗油检测。因此识别出接近实际情况的油位曲线,有利于进一步识别和分析加油、抽油和耗油过程。



技术实现要素:

为解决现有技术中的问题,本发明实施例提供一种油位曲线数据处理方法及装置。

第一方面,本发明实施例提供一种油位曲线数据处理方法,包括:读取当前统计周期的原始油位数据,对所述原始油位数据进行预处理后,得到第一油位数据;获取基础油位数据,并按照时间顺序将所述基础油位数据与所述第一油位数据合并,得到第二油位数据;其中,所述基础油位数据是上一统计周期末尾预设范围的数据;去除和/或修正所述第二油位数据中的异常数据,得到第三油位数据;基于预设长度的滑动窗口,按照时间顺序,对连续所述预设长度个数的所述第三油位数据计算调和平均值,对应得到油位调和平均值数据点,由所述油位调和平均值数据点构成第四油位数据。

进一步地,所述对所述原始油位数据进行预处理,具体包括:过滤所述原始油位数据中的时间重复数据;若判断获知所述原始油位数据为目标类型油位传感器所采集的数据,则加载对应油箱的油位标定,并根据所述油位标定对所述原始油位数据的格式进行转换。

进一步地,所述方法还包括:基于所述第四油位数据,计算相邻两个所述油位调和平均值数据点的差值,对应得到油位调和平均值差值数据点,由所述油位调和平均值差值数据点构成第五油位数据。

进一步地,所述油位调和平均值数据点对应的起始时间是相应所述滑动窗口中第一个所述第三油位数据的数据时间;所述油位调和平均值数据点对应的终止时间是相应所述滑动窗口中最后一个所述第三油位数据的数据时间。

进一步地,所述方法还包括加油事件的获取,所述加油事件的获取具体包括:连续油位上升区间的获取,具体包括:累计所述油位调和平均值差值数据点连续大于预设第一数值的次数,从而对应得到连续油位上升区间;确定加油过程的获取,具体包括:若判断获知同时满足第一条件、第二条件和第三条件,则获知从第一油位调和平均值数据点至第二油位调和平均值数据点为确定加油过程;其中:所述第一条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点大于或等于预设第一距离;根据油位传感器类型的不同,所述第二条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应的所述调和平均值的差值大于预设第一数值;所述第三条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应的所述起始时间的差值或所述终止时间的差值大于预设第一时间。

进一步地,所述方法还包括抽油事件的获取,所述抽油事件的获取具体包括:连续油位下降区间的获取,具体包括:累计所述油位调和平均值差值数据点连续小于预设第二数值的次数,从而对应得到连续油位下降区间;确定抽油过程的获取,具体包括:若判断获知同时满足第四条件、第五条件和第六条件,则获知从第三油位调和平均值数据点至第四油位调和平均值数据点为确定抽油过程;其中:所述第四条件为所述第四油位调和平均值数据点和所述第三油位调和平均值数据点大于或等于预设第二距离;根据油位传感器类型的不同,所述第五条件为所述第三油位调和平均值数据点和所述第四油位调和平均值数据点对应的所述调和平均值的差值大于预设第二数值;所述第六条件为所述第四油位调和平均值数据点和所述第三油位调和平均值数据点对应的所述起始时间的差值或所述终止时间的差值大于预设第二时间。

进一步地,所述方法还包括:若最后一个所述油位调和平均值数据点处于所述确定加油过程,则获取相应所述确定加油过程对应的所述第一油位数据,作为第一基础油位数据;并获取相应所述确定加油过程之前预设个数的所述第一油位数据,作为第二基础油位数据;由所述第一基础油位数据和所述第二基础油位数据组成下一所述统计周期的所述基础油位数据;若最后一个所述油位调和平均值数据点处于所述确定抽油过程,则获取相应所述确定抽油过程对应的所述第一油位数据,作为第三基础油位数据;并获取相应所述确定抽油过程之前所述预设个数的所述第一油位数据,作为第四基础油位数据;由所述第三基础油位数据和所述第四基础油位数据组成下一所述统计周期的所述基础油位数据;若最后一个所述油位调和平均值数据点不处于所述确定加油过程且不处于所述确定抽油过程,则保存从所述最后一个所述油位调和平均值数据点开始往前所述预设个数的第一油位数据作为下一所述统计周期的所述基础油位数据。

第二方面,本发明实施例提供一种油位曲线数据处理装置,包括:第一油位数据获取模块,用于:读取当前统计周期的原始油位数据,对所述原始油位数据进行预处理后,得到第一油位数据;第二油位数据获取模块,用于:获取基础油位数据,并按照时间顺序将所述基础油位数据与所述第一油位数据合并,得到第二油位数据;其中,所述基础油位数据是上一统计周期末尾预设范围的数据;第三油位数据获取模块,用于:去除和/或修正所述第二油位数据中的异常数据,得到第三油位数据;第四油位数据获取模块,用于:基于预设长度的滑动窗口,按照时间顺序,对连续所述预设长度个数的所述第三油位数据计算调和平均值,对应得到油位调和平均值数据点,由所述油位调和平均值数据点构成第四油位数据。

第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。

本发明实施例提供的油位曲线数据处理方法及装置,通过对预处理后的原始油位数据增加基础油位数据后,再经过数值范围的清洗处理及基于均值算法和滑动窗口的清洗处理,使得生成的油位曲线更平滑,减小了个别异常数值对生成曲线的影响,此外便于进行二次分析,更加有利于识别加油、抽油和耗油等特征过程。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的油位曲线数据处理方法流程图;

图2是本发明另一实施例提供的油位曲线数据处理方法的流程图;

图3是本发明实施例提供的油位曲线数据处理方法中原始油位数据的曲线示意图;

图4是本发明实施例提供的油位曲线数据处理方法中第四油位数据的曲线示意图;

图5是本发明实施例提供的油位曲线数据处理装置的结构示意图;

图6是本发明实施例提供的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例提供的油位曲线数据处理方法流程图。如图1所示,所述方法包括:

步骤101、读取当前统计周期的原始油位数据,对所述原始油位数据进行预处理后,得到第一油位数据;

本发明实施例提供的油位曲线数据处理方法可以实现于云服务器,或其他类型的服务器、主机等。

油位曲线数据处理装置根据预设的统计周期,读取相应时间范围内的原始油位数据。所述统计周期是指统计多长时间范围内的数据。比如,一般设置统计整天的数据,则读取每日从0点至24点的原始油位数据。统计完某天的数据之后,根据时间顺序,继续统计下一天的数据。本文以按天统计为例进行介绍。

对所述原始油位数据进行何种预处理可以预先设定。如对所述原始油位数据进行去除噪声、去除重复数据等预处理后,得到第一油位数据,从而更加利于分析处理。

步骤102、获取基础油位数据,并按照时间顺序将所述基础油位数据与所述第一油位数据合并,得到第二油位数据;其中,所述基础油位数据是上一统计周期末尾预设范围的数据;

获取基础油位数据,并按照时间顺序将所述基础油位数据与所述第一油位数据合并,即将所述基础油位数据添加到所述第一油位数据的前面,得到第二油位数据。所述基础油位数据是上一统计周期末尾预设范围的数据。也即,所述基础油位数据是属于上一统计周期的,且处于两个统计周期临界范围的数据。

添加基础油位数据的目的是使得油位数据能体现前后两个统计周期的关联。从而可以反映两个统计周期临界时间的油位变化情况。油位传感器在车辆熄火、设备关机后将不再采集数据,车载终端也不会上传数据。如果此时的油位发生变化,则油位曲线数据处理装置将无法获取信息。如果对第二天的数据重新进行统计,而不考虑第一天结束时的数据,二者不建立的关联的话,则头一天最后的油量变化将无法获知,也即无法获得整体的信息。因此,需要加入所述基础油位数据进行统计。由于所述基础油位数据的数据时间位于所述原始油位数据之前,因此,将所述基础油位数据添加到所述第一油位数据的前面。

另外,可以根据预设时间设定规则设定所述基础油位数据的数据时间。所添加的所述基础油位数据的时间和所述原始油位数据的时间可能会相差很大,因为二者实际并不是同一天的数据。比如,所述基础油位数据的最后一个数据的时间为22:00,所述原始油位数据的时间为08:00。因此,所述基础油位数据的数据时间可以另外设定。由于后期的处理中会涉及如对于加油事件、抽油时间等的统计,而加油和抽油是需要一定的时间的,所以会将时间信息加入到加油事件和抽油事件的判断中。因此,设定所述基础油位数据的时间时需要考虑加油事件和抽油事件的时间信息,需要满足加油事件和抽油事件中关于时间条件的要求。

由所添加的基础油位数据和原始油位数据共同组成第二油位数据。

步骤103、去除和/或修正所述第二油位数据中的异常数据,得到第三油位数据;

通过所述第二油位数据中各个数据的值,可以判断出异常数据。比如,油感上报的数据均是大于20l的,则若某个数据小于20l,则认为是异常数据,应去除。

并且,由于油量的变化不能是急剧变化的,因此,可以根据预设差值阈值修正异常数据。比如,若某一数据与前后数据的差值均大于35l,则说明此数据为异常数据,可以去除,也可以用前值或后值代替。

去除和/或修正所述第二油位数据中的异常数据,得到第三油位数据。本步骤实际是从数值范围的角度清洗数据。

步骤104、基于预设长度的滑动窗口,按照时间顺序,对连续所述预设长度个数的所述第三油位数据计算调和平均值,对应得到油位调和平均值数据点,由所述油位调和平均值数据点构成第四油位数据。

本步骤基于滑动窗口和均值算法进一步清洗数据,以得到便于二次加工及分析处理的油位数据。

所述滑动窗口的长度是指计算调和平均值时所处理的连续数据的个数。所述滑动窗口的个数可以预先设定。基于预设长度的滑动窗口,按照时间顺序,对连续所述预设长度个数的所述第三油位数据计算调和平均值,所述调和平均值可以为简单调和平均值或加权调和平均值。

本发明实施例将第三油位数据按照时间顺序进行排序,然后建立一个滑动窗口按照时间顺序滑动,对数据进行分箱处理。分好箱后,可以求每一个箱的平均值,中位数、或者使用极值来绘制折线图。一般来说,分箱的宽度越大(滑动窗口的长度越大),光滑程度也就越明显,去除噪音的效果也就越明显,但是局部数据的特征也会被削弱。为了体现油位数据随着时间变化的趋势(油位升高和降低的变化),除了选择合适的滑动窗口的长度外,还可以选择一种适合的均值算法。例如:加权调和平均数,通过调整窗口内的数据权重,来强化这种油位数据随着时间增长快速变化的趋势。也可以采用简单调和平均数,这样计算的结果更有平均性和代表性。

所述预设长度可以为10,也可以设置为其他长度。本文以滑动窗口的长度为10进行介绍。即按照时间顺序,滑动窗口以单个数据为步长向前滑动,依次对连续10个所述第三油位数据计算调和平均值,对应得到油位调和平均值数据点,由所述油位调和平均值数据点构成第四油位数据。

比如,若所述第三油位数据表示如下:

p1、p2、p3、p4、p5、p6、p7、p8、p9、p10、p11、p12、p13、p14、p15、p16、p17、p18;

则对应得到的油位调和平均值数据点分为为:

t1、t2、t3、t4、t5、t6、t7、t8、t9;

从而构成第四油位数据。

其中,t1为p1、p2、p3、p4、p5、p6、p7、p8、p9、p10的调和平均值,t2为p2、p3、p4、p5、p6、p7、p8、p9、p10、p11的调和平均值,以此类推。

所述油位调和平均值数据点对应的起始时间是相应所述滑动窗口中第一个所述第三油位数据的数据时间;所述油位调和平均值数据点对应的终止时间是相应所述滑动窗口中最后一个所述第三油位数据的数据时间。比如,t1的起始时间为p1的数据时间,t1的终止时间为p10的数据时间。

本发明实施例通过对预处理后的原始油位数据增加基础油位数据后,再经过数值范围的清洗处理及基于均值算法和滑动窗口的清洗处理,使得生成的油位曲线更平滑,减小了个别异常数值对生成曲线的影响;便于进行二次分析,更加有利于识别加油、抽油和耗油等特征过程。

进一步地,基于上述实施例,所述对所述原始油位数据进行预处理,具体包括:过滤所述原始油位数据中的时间重复数据;若判断获知所述原始油位数据为目标类型油位传感器所采集的数据,则加载对应油箱的油位标定,并根据所述油位标定对所述原始油位数据的格式进行转换。

对所述原始油位数据进行预处理中,可以过滤所述原始油位数据中的时间重复数据,从而利于统计。并且,对于某些高精度油位传感器所采集的数据,数据上报上来后的格式并不是油位的数值(比如,并不是以升为单位),而是一个百分数。但是这类油位传感器是进行了油位标定的,基于上报上来的百分数,通过查询油位标定可以获取到油位数值。因此,通过查询数据库中的油感(油位传感器)类型和油箱类型数据,加载对应油箱的油位标定,并转化标定,即根据所述油位标定对所述原始油位数据的格式进行转换。

在上述实施例的基础上,本发明实施例通过进行去除时间重复数据,去除了冗余数据;通过根据油位标定转换数据格式,统一了数据的单位,从而便于利用同一方法处理各种油位数据。

进一步地,基于上述实施例,所述方法还包括:基于所述第四油位数据,计算相邻两个所述油位调和平均值数据点的差值,对应得到油位调和平均值差值数据点,由所述油位调和平均值差值数据点构成第五油位数据。

得到由所述油位调和平均值数据点构成的第四油位数据后,进一步,计算相邻两个所述油位调和平均值数据点的差值,对应得到油位调和平均值差值数据点,由所述油位调和平均值差值数据点构成第五油位数据。油位调和平均值数据点的差值用于反映相邻两个油位调和平均值数据点的油位变化。

比如,若第四油位数据表示为:

t1、t2、t3、t4、t5、t6、t7、t8、t9;

则可得到油位调和平均值数据点的差值的集合,即所述第五油位数据为:

c1、c2、c3、c4、c5、c6、c7、c8;

其中,c1=t2–t1,如此类推ci=ti+1–ti。(i表示序号)

在上述实施例的基础上,本发明实施例通过计算相邻两个所述油位调和平均值数据点的差值,对应得到油位调和平均值差值数据点,便于分析相邻数据的油位变化情况。

进一步地,基于上述实施例,所述方法还包括加油事件的获取,所述加油事件的获取具体包括:连续油位上升区间的获取,具体包括:累计所述油位调和平均值差值数据点连续大于预设第一数值的次数,从而对应得到连续油位上升区间;确定加油过程的获取,具体包括:若判断获知同时满足第一条件、第二条件和第三条件,则获知从第一油位调和平均值数据点至第二油位调和平均值数据点为确定加油过程;其中:所述第一条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点大于或等于预设第一距离;根据油位传感器类型的不同,所述第二条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应的所述调和平均值的差值大于预设第一数值;所述第三条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应的所述起始时间的差值或所述终止时间的差值大于预设第一时间。

所述方法还包括获取加油事件,所述获取加油事件包括连续油位上升区间的获取以及确定加油过程的获取。

其中,所述连续油位上升区间的获取具体包括:累计所述油位调和平均值差值数据点连续大于预设第一数值的次数,从而对应得到连续油位上升区间。比如,通常油位以升为单位,且最小精确度为1l,则若两个数据不同,则至少差别为1l。因此,可以累计所述油位调和平均值差值数据点连续大于1的次数,从而对应得到连续油位上升区间。

所述确定加油过程的获取具体包括:若判断获知同时满足第一条件、第二条件和第三条件,则获知从第一油位调和平均值数据点至第二油位调和平均值数据点为确定加油过程;其中:

所述第一条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点大于或等于预设第一距离;因为加油需要一定的时间,数据的上传也需要一定的时间,因此,根据通常加油的耗时以及加油过程中上传的数据的数量可以设定所述预设第一距离,由于数据按时间顺序排列,因此,所述预设第一距离体现第一油位调和平均值数据点和第二油位调和平均值数据点位置的远近,也体现二者间隔数据的多少。比如,所述预设第一距离可以设置为10,即所述第二油位调和平均值数据点和所述第一油位调和平均值数据点的距离至少为10。也即,二者的序号之差大于等于10。

根据油位传感器类型的不同,所述第二条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应的所述调和平均值的差值大于预设第一数值;由于加油的过程必然会体现出油量的增长,因此,所述第二条件为表示所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应油量的差值的条件。所述第二条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应的所述调和平均值的差值大于预设第一数值。由于不同的油位传感器的精度不同,因此,根据油位传感器类型的不同,设置不同的所述第二条件。比如,对于高精度油位传感器,所述预设第一数值为20升,对于低精度油位传感器,所述预设第一数值为40升。

所述第三条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应的所述起始时间的差值或所述终止时间的差值大于预设第一时间;由于加油过程和油位数据采集上报同步,因此,加油的过程还可体现在数据时间上。因此,设置第三条件来进一步识别加油事件。油位调和平均值数据点的时间可以用其起始时间或终止时间进行表示。所述第三条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应的所述起始时间的差值或所述终止时间的差值大于预设第一时间。所述预设第一时间比如可以为200秒。

在上述实施例的基础上,本发明实施例通过根据设定的规则识别连续油位上升区间及确定加油过程,有效地实现了加油事件的获取。

进一步地,基于上述实施例,所述方法还包括抽油事件的获取,所述抽油事件的获取具体包括:连续油位下降区间的获取,具体包括:累计所述油位调和平均值差值数据点连续小于预设第二数值的次数,从而对应得到连续油位下降区间;确定抽油过程的获取,具体包括:若判断获知同时满足第四条件、第五条件和第六条件,则获知从第三油位调和平均值数据点至第四油位调和平均值数据点为确定抽油过程;其中:所述第四条件为所述第四油位调和平均值数据点和所述第三油位调和平均值数据点大于或等于预设第二距离;根据油位传感器类型的不同,所述第五条件为所述第三油位调和平均值数据点和所述第四油位调和平均值数据点对应的所述调和平均值的差值大于预设第二数值;所述第六条件为所述第四油位调和平均值数据点和所述第三油位调和平均值数据点对应的所述起始时间的差值或所述终止时间的差值大于预设第二时间。

所述方法还包括获取抽油事件,因为车辆可能发生盗油情况,可以由抽油事件体现。所述获取抽油事件包括连续油位下降区间的获取以及确定抽油过程的获取。

其中,所述连续油位下降区间的获取具体包括:累计所述油位调和平均值差值数据点连续小于预设第二数值的次数,从而对应得到连续油位下降区间。比如,通常油位以升为单位,且最小精确度为1l,则若两个数据不同,则至少差别为1l。因此,可以累计所述油位调和平均值差值数据点连续小于-1的次数,从而对应得到连续油位下降区间。

所述确定抽油过程的获取具体包括:若判断获知同时满足第四条件、第五条件和第六条件,则获知从第三油位调和平均值数据点至第四油位调和平均值数据点为确定抽油过程;其中:

所述第四条件为所述第四油位调和平均值数据点和所述第三油位调和平均值数据点大于或等于预设第二距离;因为抽油需要一定的时间,数据的上传也需要一定的时间,因此,根据通常抽油的耗时以及抽油过程中上传的数据的数量可以设定所述预设第二距离,由于数据按时间顺序排列,因此,所述预设第二距离体现第四油位调和平均值数据点和第三油位调和平均值数据点位置的远近,也体现二者间隔数据的多少。比如,所述预设第二距离可以设置为10,即所述第四油位调和平均值数据点和所述第三油位调和平均值数据点的距离至少为10。也即,二者的序号之差大于等于10。

根据油位传感器类型的不同,所述第五条件为所述第三油位调和平均值数据点和所述第四油位调和平均值数据点对应的所述调和平均值的差值大于预设第二数值;由于抽油的过程必然会体现出油量的下降,因此,所述第五条件为表示所述第三油位调和平均值数据点和所述第四油位调和平均值数据点对应油量的差值的条件。所述第五条件为所述第三油位调和平均值数据点和所述第四油位调和平均值数据点对应的所述调和平均值的差值大于预设第二数值。由于不同的油位传感器的精度不同,因此,根据油位传感器类型的不同,设置不同的所述第五条件。比如,对于高精度油位传感器,所述预设第二数值为20升,对于低精度油位传感器,所述预设第二数值为40升。

所述第六条件为所述第四油位调和平均值数据点和所述第三油位调和平均值数据点对应的所述起始时间的差值或所述终止时间的差值大于预设第二时间;由于抽油过程和油位数据采集上报同步,因此,抽油的过程还可体现在数据时间上。因此,设置第六条件来进一步识别抽油事件。油位调和平均值数据点的时间可以用其起始时间或终止时间进行表示。所述第六条件为所述第四油位调和平均值数据点和所述第三油位调和平均值数据点对应的所述起始时间的差值或所述终止时间的差值大于预设第二时间。由于抽油过程较慢,所述预设第一时间比如可以为600秒。

在上述实施例的基础上,本发明实施例通过根据设定的规则识别连续油位下降区间及确定抽油过程,有效地实现了抽油事件的获取。

进一步地,基于上述实施例,所述方法还包括:基于所述连续油位上升区间、所述确定加油过程、所述连续油位下降区间及所述确定抽油过程获取任意时间段的耗油情况。

根据任意时间段开始时刻的油量及结束时刻的油量,以及此时间段的加油事件和抽油事件,可以确定此时间段的耗油情况。其中,加油事件可以由连续油位上升区间和确定加油过程体现,抽油时间可以由连续油位下降区间和确定抽油过程体现。

本发明实施例通过基于加油事件和抽油事件获取任意时间段的耗油情况,进一步完善了油位数据的分析处理。

进一步地,基于上述实施例,所述方法还包括:若最后一个所述油位调和平均值数据点处于所述确定加油过程,则获取相应所述确定加油过程对应的所述第一油位数据,作为第一基础油位数据;并获取相应所述确定加油过程之前预设个数的所述第一油位数据,作为第二基础油位数据;由所述第一基础油位数据和所述第二基础油位数据组成下一所述统计周期的所述基础油位数据;若最后一个所述油位调和平均值数据点处于所述确定抽油过程,则获取相应所述确定抽油过程对应的所述第一油位数据,作为第三基础油位数据;并获取相应所述确定抽油过程之前所述预设个数的所述第一油位数据,作为第四基础油位数据;由所述第三基础油位数据和所述第四基础油位数据组成下一所述统计周期的所述基础油位数据;若最后一个所述油位调和平均值数据点不处于所述确定加油过程且不处于所述确定抽油过程,则保存从所述最后一个所述油位调和平均值数据点开始往前所述预设个数的第一油位数据作为下一所述统计周期的所述基础油位数据。

如前所述,在油位数据的处理中,具有添加基础油位数据的过程。所添加的油位数据实际上是上一统计周期的数据。那么,本发明实施例将给出所述基础油位数据的生成方法,获取所述油位数据后,进行保存,以用于下一统计周期的数据处理。

若最后一个所述油位调和平均值数据点处于所述确定加油过程,则获取相应所述确定加油过程对应的所述第一油位数据,作为第一基础油位数据;并获取相应所述确定加油过程之前预设个数的所述第一油位数据,作为第二基础油位数据;由所述第一基础油位数据和所述第二基础油位数据组成下一所述统计周期的所述基础油位数据。

若最后一个所述油位调和平均值数据点处于所述确定加油过程,表示最后一个所述油位调和平均值数据点是确定加油过程的油位调和平均值数据点。则获取所述最后一个所述油位调和平均值数据点所处的确定加油过程所对应的所述第一油位数据,作为第一基础油位数据。所述第一基础油位数据可以体现所述确定加油过程。另外,还需要获取相应所述确定加油过程之前预设个数的所述第一油位数据,作为第二基础油位数据。所述第二基础油位数据用于体现所述最后一个所述油位调和平均值数据点所处的所述确定加油过程之前的油位数据变化情况,所述预设个数应满足数据统计的需求,所述预设个数可以为所述滑动窗口的长度的预设倍数。比如,所述预设个数可以设置为所述滑动窗口的所述预设长度的2倍。由所述第一基础油位数据和所述第二基础油位数据组成下一所述统计周期的所述基础油位数据,以用于联合分析处理。

若最后一个所述油位调和平均值数据点处于所述确定抽油过程,则获取相应所述确定抽油过程对应的所述第一油位数据,作为第三基础油位数据;并获取相应所述确定抽油过程之前所述预设个数的所述第一油位数据,作为第四基础油位数据;由所述第三基础油位数据和所述第四基础油位数据组成下一所述统计周期的所述基础油位数据。

若最后一个所述油位调和平均值数据点处于所述确定抽油过程,表示最后一个所述油位调和平均值数据点是确定抽油过程的油位调和平均值数据点。则获取所述最后一个所述油位调和平均值数据点所处的确定抽油过程所对应的所述第一油位数据,作为第三基础油位数据。所述第三基础油位数据可以体现所述确定抽油过程。另外,还需要获取相应所述确定抽油过程之前预设个数的所述第一油位数据,作为第四基础油位数据。所述第四基础油位数据用于体现所述最后一个所述油位调和平均值数据点所处的所述确定抽油过程之前的油位数据变化情况,所述预设个数应满足数据统计的需求,所述预设个数可以为所述滑动窗口的长度的预设倍数。比如,所述预设个数可以设置为所述滑动窗口的所述预设长度的2倍。由所述第三基础油位数据和所述第四基础油位数据组成下一所述统计周期的所述基础油位数据,以用于联合分析处理。

由于最后一个所述油位调和平均值数据点处于所述确定加油过程,则不会处于所述确定抽油过程,因此,最后一个所述油位调和平均值数据点处于所述确定加油过程及最后一个所述油位调和平均值数据点处于所述确定抽油过程不会同时出现。

若最后一个所述油位调和平均值数据点不处于所述确定加油过程且不处于所述确定抽油过程,则保存从所述最后一个所述油位调和平均值数据点开始往前所述预设个数的第一油位数据作为下一所述统计周期的所述基础油位数据。

若最后一个所述油位调和平均值数据点既不处于所述确定加油过程也不处于所述确定抽油过程,则保存从所述最后一个所述油位调和平均值数据点开始往前所述预设个数的第一油位数据作为下一所述统计周期的所述基础油位数据。所述预设个数可以为所述滑动窗口的长度的预设倍数。比如,所述预设个数可以设置为所述滑动窗口的所述预设长度的2倍。

可以理解的,所述预设倍数还可以设置为其他倍数。

在上述实施例的基础上,本发明实施例通过结合最后一个油位调和平均值数据点的所处的油位变化情况确定基础油位数据,提高了基础油位数据的可靠性和实用性。

本发明实施例所提供的油位曲线数据处理方法,所获取的油位数据可以配合同一时刻的车速和转速等数据进行关联性验证。比如,车辆正常行驶中,油量不会发生急剧变化,可以根据车速和油量的变化来关联验证二者数据的正确性及可靠性。并且,本发明实施例与通过终端实时检测上报加油、抽油和油耗方案不冲突,二者可以进行融合运算。

下面通过一具体实例进一步说明本发明实施例提供的油位曲线数据处理方法。

1、加载油位数据,过滤重复时间

从云存储读取原始油位数据,过滤时间重复的油位数据。

2、高精度油感转换

查询数据库中的油感类型和油箱类型数据,如果是高精度油感,则加载对应油箱的油位标定,转化标定。

更新油位数据集合,得到第一油位数据,如:

o21、o22、o23、……、on。

3、加载原始油位数据上下文

查询本次查询开始时间之前的最后的20条原始油位数据,并且加入当前原始油位数据列表的前面,前端加入的原始油位数据的数据时间以当日第一条原始油位数据的数据时间向前递推300+m*30秒(m表示序号,比如,若o20为300秒,o19为330秒)。获得合并后油位数据集合,即第二油位数据,如:

(o1、o2、o3、……、o20)&(o21、o22、o23、……、on)=o1、o2、o3、……、on。

4、第一轮循环,数值范围清洗

i代表油位序号,当i≥2时,如果oi<20或者oi-oi-1<-35,则令oi=oi-1。

注释:如果某个油位数据低于20或者前后差值大于35,则后值用前值代替。

从而得到油位数据集合,即第三油位数据,如:

p1、p2、p3、……、pn。

5、第二轮循环,计算调和平均值

对连续10个油位数据计算调和平均值,作为第一点的油位平均值数据点,时间标记为第一点油位数据的时间。如果有n个油位数据点,则会产生n-9个油位调和平均值数据点,即第四油位数据,如:

t1、t2、t3、……、tn-9;

举例说明如下:

p1、p2、p3、p4、p5、p6、p7、p8、p9、p10、p11、p12、p13、p14t1、t2、t3、t4、t5

这里ti是由pi到pi+9共10个点计算出的调和平均数,ti有两个时间戳属性字段,分别是开始时间timeheadi和终止时间timetaili,timeheadi对应pi的数据时间戳,timetaili对应pi+9的数据时间戳。举例,调和平均值t1对应的时间timehead1是终端上报的油位数据p1的时间,调和平均值t1对应的终止时间timetail1是终端上报的油位数据p10的时间,如此类推。

6、第三轮循环,计算调和平均值的差值

计算相邻两个油位调和平均值的差值,如果有n-9个油位平均值数据点,则会产生n-10个油位平均值差值数据点,得到油位平均值差值数据集合,即第五油位数据,如:

c1、c2....cn-10;

t1、t2、t3、t4、t5、t6、t7、t8、t9…

c1、c2、c3、c4、c5、c6、c7、c8...

其中,c1=t2–t1,如此类推ci=ti+1–ti。

7、第四轮循环,计算加油事件

累计油位调和平均值差值ci连续大于1.0的次数,当油位调和平均值差值小于1.0时,累计清零,重新开始累计。注释:1.0是判断油位递增的系数,如果相邻两点油位差值大于1.0,则判断该相邻两点油位变化趋势为递增。

令i<j,如果存在ci>1.0而cj+1<1.0,且ci至cj之间的数值是连续大于1.0,而ci-1和cj+1是小于或等于1.0的,则认为从ci到cj是一个连续油位上升的过程。

如果该连续油位上升的过程同时满足以下三个条件:

1)j-i>=10;

2)tj-ti的差值在高精度油感情况下大于或等于20升,低精度油感情况下大于或等于40升;

3)ti和tj对应的timetaili时间差大于200秒或者ti和tj对应的timeheadi时间差大于200秒。

则认为ti到tj是一个确定加油过程,加油的时间是ti的timeheadi即对应pi的数据时间戳,加油量△o1=tj-ti。

8、第五轮循环,计算抽油事件

累计油位调和平均值差值ci连续小于-1.0的次数,当油位调和平均值差值大于等于-1.0时,累计清零,重新开始累计。注释:-1.0是判断油位递减的系数,如果相邻两点油位差值小于-1.0,则判断该相邻两点油位变化趋势为递减。

令i<j,如果存在ci<-1.0而cj+1>-1.0且ci至cj之间的数值是连续小于-1.0,ci-1和cj+1是大于或等于-1.0的,则认为从ci到cj是一个连续油位下降的过程。

如果该连续油位下降的过程同时满足以下三个条件:

1)j-i>=10;

2)ti-tj的差值在高精度油感情况下大于或等于20升,低精度油感情况下大于或等于40升;

4)ti到tj对应的timetaili时间差大于600秒或者ti到tj对应的timeheadi时间差大于600秒;则认为ti到tj是一个确定抽油过程,抽油的时间是ti的timeheadi即对应pi的数据时间戳,抽油量△o2=ti-tj。

9、保存当日未完成加油和抽油数据的上下文会话(生成用于下一统计周期的基础油位数据)

在第四轮循环计算加油记录时候,计算最后一轮ti到tj的数据,tj是算术平均值序列t的最后一条记录。当末端结果不满足加油判定的三个条件,则判断为非合理的连续油位上升的过程,则需要保存tj的timetaili开始往前的至多20个油位数据;如果末端满足加油判定的三个条件,而无后续算术平均值数据判定该单调趋势是否停止,需要保存从ti-10到tj的油位数据,得到集合a。

在第五轮循环计算偷油记录时候,计算最后一轮ti到tj的数据,tj是算术平均值序列t的最后一条记录。当末端结果不满足抽油判定的三个条件,则判断为非合理的连续油位上升的过程,则需要保存tj的timetaili开始往前的至多20个油位数据;如果末端满足抽油判定的三个条件,而无后续算术平均值数据判定该单调趋势是否停止,需要保存从ti-10到tj的油位数据,得到集合b。

集合a和集合b不会同时存在,若任一不为空,则选取相应的集合作为当日结束原始油位数据保存到数据库。如果集合a和集合b均不存在,则取最后20条原始油位数据作为集合c。保存集合c作为当日结束原始油位数据保存到数据库。所述当日结束原始油位数据即用于下一周期的所述基础油位数据。

其中,ti表示第i个油位调和平均值数据点的值,tj表示第j个油位调和平均值数据点的值。

图2是本发明另一实施例提供的油位曲线数据处理方法的流程图。如图2所示,所述方法包括:分析需求、获取数据、数据清洗、特征工程、算法模型、得出结果、调试调优、得出最终结果、反复迭代及代码上线的整个过程。其中,特征工程即进行加油事件、抽油事件的分析等。

图3是本发明实施例提供的油位曲线数据处理方法中原始油位数据的曲线示意图。图4是本发明实施例提供的油位曲线数据处理方法中第四油位数据的曲线示意图。如图3、图4所示,由于图4中的数据进行了数值范围的清洗,以及基于滑动窗口和均值算法的清洗,使得整个曲线更加光滑,更利于进一步统计分析。

图5是本发明实施例提供的油位曲线数据处理装置的结构示意图。如图5所示,所述装置包括第一油位数据获取模块10、第二油位数据获取模块20、第三油位数据获取模块30及第四油位数据获取模块40,其中:第一油位数据获取模块10用于:读取当前统计周期的原始油位数据,对所述原始油位数据进行预处理后,得到第一油位数据;第二油位数据获取模块20用于:获取基础油位数据,并按照时间顺序将所述基础油位数据与所述第一油位数据合并,得到第二油位数据;其中,所述基础油位数据是上一统计周期末尾预设范围的数据;第三油位数据获取模块30用于:去除和/或修正所述第二油位数据中的异常数据,得到第三油位数据;第四油位数据获取模块40用于:基于预设长度的滑动窗口,按照时间顺序,对连续所述预设长度个数的所述第三油位数据计算调和平均值,对应得到油位调和平均值数据点,由所述油位调和平均值数据点构成第四油位数据。

本发明实施例通过对预处理后的原始油位数据增加基础油位数据后,再经过数值范围的清洗处理及基于均值算法和滑动窗口的清洗处理,使得生成的油位曲线更平滑,减小了个别异常数值对生成曲线的影响;便于进行二次分析,更加有利于识别加油、抽油和耗油等特征过程。

进一步地,基于上述实施例,第一油位数据获取模块10在用于对所述原始油位数据进行预处理时,具体用于:过滤所述原始油位数据中的时间重复数据;若判断获知所述原始油位数据为目标类型油位传感器所采集的数据,则加载对应油箱的油位标定,并根据所述油位标定对所述原始油位数据的格式进行转换。

在上述实施例的基础上,本发明实施例通过进行去除时间重复数据,去除了冗余数据;通过根据油位标定转换数据格式,统一了数据的单位,从而便于利用同一方法处理各种油位数据。

进一步地,基于上述实施例,所述装置还包括第五油位数据获取模块,具体用于:基于所述第四油位数据,计算相邻两个所述油位调和平均值数据点的差值,对应得到油位调和平均值差值数据点,由所述油位调和平均值差值数据点构成第五油位数据。

在上述实施例的基础上,本发明实施例通过计算相邻两个所述油位调和平均值数据点的差值,对应得到油位调和平均值差值数据点,便于分析相邻数据的油位变化情况。

进一步地,基于上述实施例,所述油位调和平均值数据点对应的起始时间是相应所述滑动窗口中第一个所述第三油位数据的数据时间;所述油位调和平均值数据点对应的终止时间是相应所述滑动窗口中最后一个所述第三油位数据的数据时间。

在上述实施例的基础上,本发明实施例通过合理设置油位调和平均值数据点对应的起始时间和终止时间,提高了分析可靠性。

进一步地,基于上述实施例,所述装置还包括加油事件获取模块,所述加油事件获取模块包括连续油位上升区间获取模块和确定加油过程获取模块,其中,所述连续油位上升区间获取模块具体用于:累计所述油位调和平均值差值数据点连续大于预设第一数值的次数,从而对应得到连续油位上升区间。所述确定加油过程获取模块具体用于:若判断获知同时满足第一条件、第二条件和第三条件,则获知从第一油位调和平均值数据点至第二油位调和平均值数据点为确定加油过程;其中:所述第一条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点大于或等于预设第一距离;根据油位传感器类型的不同,所述第二条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应的所述调和平均值的差值大于预设第一数值;所述第三条件为所述第二油位调和平均值数据点和所述第一油位调和平均值数据点对应的所述起始时间的差值或所述终止时间的差值大于预设第一时间。

在上述实施例的基础上,本发明实施例通过根据设定的规则识别连续油位上升区间及确定加油过程,有效地实现了加油事件的获取。

进一步地,基于上述实施例,所述装置还包括抽油事件获取模块,所述抽油事件获取模块包括连续油位下降区间获取模块和确定抽油过程获取模块,其中,所述连续油位下降区间获取模块具体用于:累计所述油位调和平均值差值数据点连续小于预设第二数值的次数,从而对应得到连续油位下降区间。所述确定抽油过程获取模块具体用于:若判断获知同时满足第四条件、第五条件和第六条件,则获知从第三油位调和平均值数据点至第四油位调和平均值数据点为确定抽油过程;其中:所述第四条件为所述第四油位调和平均值数据点和所述第三油位调和平均值数据点大于或等于预设第二距离;根据油位传感器类型的不同,所述第五条件为所述第三油位调和平均值数据点和所述第四油位调和平均值数据点对应的所述调和平均值的差值大于预设第二数值;所述第六条件为所述第四油位调和平均值数据点和所述第三油位调和平均值数据点对应的所述起始时间的差值或所述终止时间的差值大于预设第二时间。

在上述实施例的基础上,本发明实施例通过根据设定的规则识别连续油位下降区间及确定抽油过程,有效地实现了抽油事件的获取。

进一步地,基于上述实施例,所述装置还包括基础油位数据生成模块,具体用于:若最后一个所述油位调和平均值数据点处于所述确定加油过程,则获取相应所述确定加油过程对应的所述第一油位数据,作为第一基础油位数据;并获取相应所述确定加油过程之前预设个数的所述第一油位数据,作为第二基础油位数据;由所述第一基础油位数据和所述第二基础油位数据组成下一所述统计周期的所述基础油位数据;若最后一个所述油位调和平均值数据点处于所述确定抽油过程,则获取相应所述确定抽油过程对应的所述第一油位数据,作为第三基础油位数据;并获取相应所述确定抽油过程之前所述预设个数的所述第一油位数据,作为第四基础油位数据;由所述第三基础油位数据和所述第四基础油位数据组成下一所述统计周期的所述基础油位数据;若最后一个所述油位调和平均值数据点不处于所述确定加油过程且不处于所述确定抽油过程,则保存从所述最后一个所述油位调和平均值数据点开始往前所述预设个数的第一油位数据作为下一所述统计周期的所述基础油位数据。

在上述实施例的基础上,本发明实施例通过结合最后一个油位调和平均值数据点的所处的油位变化情况确定基础油位数据,提高了基础油位数据的可靠性和实用性。

本发明实施例提供的设备是用于上述方法的,具体功能可参照上述方法流程,此处不再赘述。

可以理解的,本发明实施例提供的油位曲线数据处理方法及装置,并不局限于对于油位曲线数据的处理,还可适用于其他液体数据的处理。

图6是本发明实施例提供的电子设备的实体结构示意图。如图6所示,该电子设备可以包括:处理器(processor)810、通信接口(communicationsinterface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:读取当前统计周期的原始油位数据,对所述原始油位数据进行预处理后,得到第一油位数据;获取基础油位数据,并按照时间顺序将所述基础油位数据与所述第一油位数据合并,得到第二油位数据;其中,所述基础油位数据是上一统计周期末尾预设范围的数据;去除和/或修正所述第二油位数据中的异常数据,得到第三油位数据;基于预设长度的滑动窗口,按照时间顺序,对连续所述预设长度个数的所述第三油位数据计算调和平均值,对应得到油位调和平均值数据点,由所述油位调和平均值数据点构成第四油位数据。

此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:读取当前统计周期的原始油位数据,对所述原始油位数据进行预处理后,得到第一油位数据;获取基础油位数据,并按照时间顺序将所述基础油位数据与所述第一油位数据合并,得到第二油位数据;其中,所述基础油位数据是上一统计周期末尾预设范围的数据;去除和/或修正所述第二油位数据中的异常数据,得到第三油位数据;基于预设长度的滑动窗口,按照时间顺序,对连续所述预设长度个数的所述第三油位数据计算调和平均值,对应得到油位调和平均值数据点,由所述油位调和平均值数据点构成第四油位数据。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1