一种电磁能系统业务时序数据压缩方法、非暂态可读记录媒体及数据处理装置

文档序号:25481524发布日期:2021-06-15 21:40阅读:132来源:国知局
一种电磁能系统业务时序数据压缩方法、非暂态可读记录媒体及数据处理装置

本发明属于电磁能技术领域,具体公开了一种电磁能系统业务时序数据压缩方法、非暂态可读记录媒体及数据处理装置。



背景技术:

电磁能系统即为电磁能信息物理系统简称,主要指多电磁发射装置和综合电力系统。其中,多种电磁发射装置中技术较为成熟的主要有电磁弹射、电磁轨道炮、电磁阻拦等;而综合电力系统主要指舰船中压直流综合电力系统,能够实现舰船中相互独立的动力和电力两大系统合二为一,被誉为舰船动力新革命。

当前,随着工业数字化、信息化及智能化发展趋势,电磁能系统传感器数量及精度急剧增长,产生的数据量爆发式增长。时间序列数据,即时序数据,是工业数据主要类型,通常由设备传感器按照特定频率产生,且后续均无需修改,多用于特定时间尺度下分析性查询。电磁能时序数据作为电磁能系统大数据场景中主体数据资源,是实现数据驱动的电磁能系统信息业务智能化的重要基础支撑。所以,在保障电磁能系统业务时效性前提下,将海量电磁能时序数据进行高效压缩并实现快速持久化,是积累电磁能时序大数据资源有效技术途径。

目前,不少工业时序数据压缩处理基于旋转门压缩算法(spinningdoortransformation,sdt)实现。其中,旋转门算法的压缩偏差δe作为唯一的可控参数,决定了两扇门达到平行时所能容纳的精度范围,对于算法的压缩性能影响较大。由于电磁能系统各型系统的数据特性各异,不同业务的数据处理时效性需求区别明显,从而数据压缩过程中所需要设置不同的δe。然而,sdt算法数据压缩过程需要提前预设δe值,而具体业务相适配的δe值给定通常依赖长时间的调优和长期经验积累;同时,sdt算法在提供高压缩比时削弱了数据精度对于数据压缩的影响权重,会在不同程度造成数据解压缩之后的数据精度损失;此外,其他数据存储技术中很多运用通用数据压缩算法通常并不考虑业务应用特性,难以直接适用电磁能时序数据高效压缩处理。从而,在电磁能实时数据高效压缩及快速持久化存储过程中,压缩算法在保证数据压缩精度前提下,根据业务时效性等性能需求对压缩偏差δe进行动态调整是目前亟需解决的问题。



技术实现要素:

为了解决已有旋转门sdt算法在电磁能时序数据压缩处理中的不足,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种电磁能系统业务时序数据压缩方法,能够在不同业务时效性需求下提高时序数据压缩效率或降低数据精度损失。

一方面本发明提供了一种电磁能系统业务时序数据压缩方法,包括以下步骤:

s1,按电磁能系统现场设备测点集获取周期性上传的原始量测数据,原始量测数据包括每型设备所属分系统或装置区域及编号、数据帧或数据包编号、量测时间戳与量测数据值;

s2,将全空间原始量测数据按每类设备测点集划分为动态量测数据部分和静态标签属性数据部分,分别申请内存空间,根据时间戳生成测点量测值时间序列,并构建相对应的时序元数据;

s3,读取内存缓存中测点时序数据(仅动态数据部分),结合实际电磁能系统业务场景预设的时效性阈值,在常规时序数据压缩中运用的旋转门算法上,利用误差反馈对压缩偏差δe进行动态调整,完成对需要持久化存储的时序数据压缩处理;

s4,将压缩后的时序数据进行持久化存储,生成电磁能系统业务历史数据,该持久化存储的数据能通过解压方式恢复。

优选的,步骤s2包括:

将所述原始量测数据进行解析划分为动态量测数据部分和静态标签属性数据部分,并作为内存缓存原始数据输入;

在内存键值数据库分别给原始量测数据动态和静态数据申请内存空间,根据时间戳生成测点量测值时间序列缓存,并构建相对应的时序元数据缓存;

将所述内存键值数据库提供的各类型程序编程接口与电磁能系统业务软件开发平台进行封装适配。

优选的,步骤s3包括:

预定义待压缩数据为y_1~y_n,经过数据压缩之后数据的个数为m(m≤n,其中n为完整时序数据个数),解压缩重构后的数据为y_1~y_n,算法压缩偏差的调整参数为f_adj,数据解压缩实际误差与期望误差之间偏差的调整参数为α,压缩参数的上下限阈值为e_max和e_min,实施数据压缩处理步骤可具体细化为:

①在对当前周期的测点量测时序y_1~y_n进行数据压缩之前,首先进行压缩参数的初始化,压缩偏差的上下限阈值e_max和e_min,以及控制系统模型参数f_adj和α可以依据电磁能系统业务运维长期经验预先设定,可针对其他具体业务场景进行重新调优预设。

②定义t为压缩算法的所允许的最大时间间隔,从待压缩中取出一点y_i(1≤i≤n),若该点与上一存储点的时间间隔大于等于t,则将前一个数据点y_(i-1)直接存储,不需要再进行旋转门分析,并将y_(i-1)作为新的数据压缩起点,否则进行下一步骤的旋转门压缩。

③计算数据点y_i(1≤i≤n)处旋转门两扇门的斜率k_up和k_down,其中k_up为上斜率的最大值,k_down为下斜率的最小值。如果两扇门之间已经平行,或者说k_up≥k_down,则将前一数据点y_(i-1)进行存储,并将其作为新的压缩起始点,否则该数据点y_i被舍弃。

④检验待压缩数据是否压缩完毕,若压缩完毕进行下一步操作,否则返回第②步,对下一数据点y_(i+1)进行相同压缩操作。

⑤待压缩数据压缩完毕后,通过解压缩算法对数据进行恢复重构,解压缩之后的数据为y_1~y_n,由此可以计算出数据真实值与解压缩值之间的平均绝对误差mae,与期望误差δ作差,得到两者之间的差值ε。

⑥根据差值ε情况,对压缩偏差δe做出动态调整:

当0≤ε<δ·α时,说明数据偏差ε在可容许的误差范围内,δe选取比较合适,不需要做出调整;

当ε≥δ·α时,说明数据偏差ε偏大,所计算获得的平均压缩误差mae偏小,δe偏小,存储了较多原始数据,应在压缩偏差上限阈值e_max范围内适当扩大δe,

δe=min{δe+|ε/(δ·α)|·f_adj,e_max}

当-δ·α<ε<0时,说明数据偏差ε偏小,所计算获得的平均压缩误差mae偏大,δe偏大,舍弃了较多的原始数据,影响了压缩数据的精确度应在压缩偏差下限阈值e_min范围内适当减小δe,

δe=max{δe-|ε/(δ·α)|·f_adj,e_min}

当ε不属于以上情况时,说明解压缩之后的数据已经严重失真,应直接返回第①步,对初始参数进行重新设置,再进行数据压缩处理。

⑦对压缩偏差δe进行动态调整后,返回第②步用新的δe进行数据压缩处理,通过不断迭代直至偏差ε在误差容许内,完成数据压缩。

进一步的,步骤s3细分步骤②中旋转门压缩包括:

定义y_0为第一个压缩段的第一个数据,在距离y_0为δe(压缩偏差)的坐标处各有两个支点,上面的支点与数据点y_0连线构成上斜率k_up,下面的支点与数据点y_0连线构成下斜率k_down;

当只有一个数据点时,上下支点与数据点y_0在一条直线上,表示旋转门关闭;

随着数据点的增多,门会逐渐打开,门的长度可以延伸,k_up、k_down也在发生变化,保持k_up为最大斜率,k_down为最小斜率;

门一旦打开就不能关闭,只要两扇门的内角和不超过180°,即k_up≠k_down时,旋转操作就可以继续;

当两扇门内角和大于或等于180°时,就停止操作,存储前一数据点,并将该点作为下一段旋转门数据压缩操作的起始点。

优选的,步骤s4包括:

将压缩后的时序数据写回内存键值数据库形成待持久化触发的内存历史时序数据缓存,并将内存历史时序数据在新创建键值数据库实例中缓存;

这样,当内存键值数据库预设持久化策略触发器触发时能进行内存历史时序数据持久化存储,生成电磁能系统业务历史数据;

通过所述时序元数据缓存按给定时间尺度能查询电磁能系统业务历史数据;

可基于线性插值方法进行数据解压缩恢复,并利用所述内存键值数据库快速重构为历史时序数据内存缓存。

本发明的另一方案在于提供一种非暂态可读记录媒体,用以存储包含多个指令的一个或多个程序,当执行指令时,将致使处理电路执行所述一种电磁能系统业务时序数据压缩方法之s1-s4步骤。

本发明的又一方案在于提供一种数据处理装置,包括处理电路及与其电性耦接的存储器,其特征在于,所述存储器配置储存至少一程序,所述程序包含多个指令,所述处理电路运行所述程序,能执行所述一种电磁能系统业务时序数据压缩方法之s1-s4步骤。

相对于现有技术,本发明具有以下有益效果:

本发明提供的一种电磁能系统业务时序数据压缩方法在旋转门压缩算法基础上,通过负反馈对压缩偏差δe进行动态调整,有效降低压缩偏差δe设置难度,无需依赖长时间调优和长期经验积累,能够在不同业务时效性需求下提高时序数据压缩效率或降低数据精度损失,在保持数据精度的同时平衡高压缩比,在通用数据压缩算法基础上进一步结合电磁能系统业务应用特性,可满足电磁能时序数据高效压缩处理,适用于业务应用时效性需求较高,而算力、存储等计算资源相对受限的电磁能装置信息系统终端生产环境。当然,将该方法编制成程序并拷贝至非暂态可读记录媒体或数据处理装置中投入使用,也能获得等同的有益效果。

附图说明

图1为本发明实施例中一种电磁能系统业务时序数据压缩方法的流程图;

图2为本发明实施例中基于偏差反馈的旋转门压缩算法流程图;

图3为本发明实施例中旋转门压缩算法原理示意图;

图4为本发明实施例提供的一种电磁能系统业务时序数据压缩系统的结构框图。

具体实施方式

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

图1为本发明实施例提供的一种电磁能系统业务时序数据压缩方法的流程图,如图1所示,所述方法包括:s1,按电磁能系统现场设备测点集获取周期性上传的原始量测数据,原始量测数据包括每型设备所属分系统或装置区域及编号、数据帧或数据包编号、量测时间戳与量测数据值;s2,将全空间原始量测数据按每类设备测点集划分为动态量测数据部分和静态标签属性数据部分,分别申请内存空间,根据时间戳生成测点量测值时间序列,并构建相对应的时序元数据;s3,读取内存缓存中测点时序数据中动态数据部分,结合实际电磁能系统业务场景预设的时效性阈值,在常规时序数据压缩中运用的旋转门算法上,利用误差反馈对压缩偏差δe进行动态调整,完成对需要持久化存储的时序数据压缩处理;s4,将压缩后的时序数据进行持久化存储,生成电磁能系统业务历史数据,并能在历史数据分析等应用场景中采用线性插值方法进行数据解压缩恢复。

在步骤s1中,所述原始量测数据主要为从电磁能系统各型设备中传感器周期性采集并通过现场总线can、eip等传输到电磁能装置信息系统上位机的实时数据。所述周期性采集指以频率范围为1-10hz较低频率采集原始量测数据。

在步骤s3中,内存缓存基于内存键值数据库redis构建,且进行分布式远多系统实例部署,可按实际电磁能系统业务测点集需求,即某型系统全测点集命名空间特定子集(含全集),从内存键值数据库中获取该业务当前周期量测值键值对序列。

在步骤s4中,数据解压缩采用的线性插值方法,通常由存储的数据点之间的两点连线来表示两点之间任意时刻的解压值。若设y_0、y_k为连续存储的两个数据点,t_0、t_k为其所对应的时间,则它们之间的任意时刻t_i所对应的解压缩值y_i都可以用〖y_i=y〗_0+(y_k-y_0)/(t_k-t_0)·(t_i-t_0)来表示。

本发明实施例提供的一种电磁能系统业务时序数据压缩方法,在旋转门压缩算法基础上,通过负反馈对压缩偏差δe进行动态调整,有效降低压缩偏差δe设置难度,无需依赖长时间调优和长期经验积累,能够在不同业务时效性需求下提高时序数据压缩效率或降低数据精度损失,在保持数据精度的同时平衡高压缩比,在通用数据压缩算法基础上进一步结合电磁能系统业务应用特性,可满足电磁能时序数据高效压缩处理,适用于业务应用时效性需求较高,而算力、存储等计算资源相对受限的电磁能装置信息系统终端生产环境。

基于上述实施例,步骤s2具体包括:

将所述原始量测数据进行解析划分为动态量测数据部分和静态标签属性数据部分,并作为内存缓存原始数据输入;

在内存键值数据库redis分别给原始量测数据动态和静态数据申请内存空间,根据时间戳生成测点量测值时间序列缓存,并构建相对应的时序元数据缓存;

将所述内存键值数据库提供的c/c++、python及java等程序编程接口与电磁能系统业务软件开发平台进行封装适配,实现与基于消息中间件的业务软件通用数据总线统一集成对接。

基于上述实施例,步骤s3具体包括:

预定义待压缩数据为y_1~y_n,经过数据压缩之后数据的个数为m(m≤n,其中n为完整时序数据个数),解压缩重构后的数据为y_1~y_n,算法压缩偏差的调整参数为f_adj,数据解压缩实际误差与期望误差之间偏差的调整参数为α,压缩参数的上下限阈值为e_max和e_min。

图2为本发明实施例中基于偏差反馈的旋转门压缩算法流程,实施数据压缩处理步骤具体包括:

①在对当前周期的测点量测时序y_1~y_n进行数据压缩之前,首先进行压缩参数的初始化,压缩偏差的上下限阈值e_max和e_min,以及控制系统模型参数f_adj和α可以依据电磁能系统业务运维长期经验预先设定,可预设e_max和e_min分别为0.6和0.1,δe=(e_max+e_min)/2,f_adj=(e_max-e_min)/10,α=0.2,可针对其他具体业务场景进行重新调优预设。

②定义t为压缩算法的所允许的最大时间间隔,从待压缩中取出一点y_i(1≤i≤n),若该点与上一存储点的时间间隔大于等于t,则将前一个数据点y_(i-1)直接存储,不需要再进行旋转门分析,并将y_(i-1)作为新的数据压缩起点,否则进行下一步骤的旋转门压缩。

具体地,如图3所示,本发明实施例中旋转门压缩算法流程具体包括:

定义y_0为第一个压缩段的第一个数据,在距离y_0为δe(压缩偏差)的坐标处各有两个支点,上面的支点与数据点y_0连线构成上斜率k_up,下面的支点与数据点y_0连线构成下斜率k_down;

当只有一个数据点时,上下支点与数据点y_0在一条直线上,表示旋转门关闭;

随着数据点的增多,门会逐渐打开,门的长度可以延伸,k_up、k_down也在发生变化,保持k_up为最大斜率,k_down为最小斜率;

门一旦打开就不能关闭,只要两扇门的内角和不超过180°,即k_up≠k_down时,旋转操作就可以继续;

当两扇门内角和大于或等于180°时,就停止操作,存储前一数据点,并将该点作为下一段旋转门数据压缩操作的起始点。

③计算数据点y_i(1≤i≤n)处旋转门两扇门的斜率k_up和k_down,其中k_up为上斜率的最大值,k_down为下斜率的最小值。如果两扇门之间已经平行,或者说k_up≥k_down,则将前一数据点y_(i-1)进行存储,并将其作为新的压缩起始点,否则该数据点y_i被舍弃。

④检验待压缩数据是否压缩完毕,若压缩完毕进行下一步操作,否则返回第②步,对下一数据点y_(i+1)进行相同压缩操作。

⑤待压缩数据压缩完毕后,通过解压缩算法对数据进行恢复重构,解压缩之后的数据为y_1~y_n,由此可以计算出数据真实值与解压缩值之间的平均绝对误差mae,与期望误差δ作差,得到两者之间的差值ε。

⑥根据差值ε情况,对压缩偏差δe做出动态调整:

当0≤ε<δ·α时,说明数据偏差ε在可容许的误差范围内,δe选取比较合适,不需要做出调整;

当ε≥δ·α时,说明数据偏差ε偏大,所计算获得的平均压缩误差mae偏小,δe偏小,存储了较多原始数据,应在压缩偏差上限阈值e_max范围内适当扩大δe,

δe=min{δe+|ε/(δ·α)|·f_adj,e_max}

当-δ·α<ε<0时,说明数据偏差ε偏小,所计算获得的平均压缩误差mae偏大,δe偏大,舍弃了较多的原始数据,影响了压缩数据的精确度应在压缩偏差下限阈值e_min范围内适当减小δe,

δe=max{δe-|ε/(δ·α)|·f_adj,e_min}

当ε不属于以上情况时,说明解压缩之后的数据已经严重失真,应直接返回第①步,对初始参数进行重新设置,再进行数据压缩处理。

⑦对压缩偏差δe进行动态调整后,返回第②步用新的δe进行数据压缩处理,通过不断迭代直至偏差ε在误差容许内,完成数据压缩。

本发明提供的一种包括处理电路及与其电性耦接有存储器的数据处理装置,可以是如图4所示的一种结合电磁能系统业务时效性的内存时序数据压缩系统,所述系统包括:输入模块1,缓存模块2、压缩模块3和解压模块4。其中:

输入模块1,用于获取现场设备原始量测数据,并将所述原始量测数据按每类设备测点集划分为动态量测数据部分和静态标签属性数据部分;其中,所述设备测点集为电磁能系统实时监测、状态估计、故障诊断及能量调度等业务需求的系统电气量、现场环境等输入参数,且数据源包括实时仿真、演示验证及工程初正样等形式搭建的电磁能系统产生的传感数据。

缓存模块2,用于利用内存键值数据库分别给原始量测数据动态和静态数据申请内存空间,根据时间戳生成测点量测值时间序列缓存,并构建相对应的时序元数据缓存;其中,所述内存键值数据库提供电磁能系统业务各类型程序编程接口,可对内存键值数据库中时序缓存进行读写访问。

压缩模块3,用于利用所述内存缓存读取到的量测值时序数据,在常规旋转门压缩处理流程上,利用所述误差反馈对压缩偏差δe进行动态调整方式,完成与电磁能系统业务时效性与数据精度损失相适应的数据压缩处理。

解压模块4,用于利用所述时序元数据缓存按给定时间尺度查询电磁能系统业务历史数据,基于线性插值方法进行数据解压缩恢复,并利用所述内存键值数据库快速重构为历史时序数据内存缓存。

本发明提供的一种包括处理电路及与其电性耦接有存储器的数据处理装置,也可以是一种配置有计算机程序的产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机能够执行上述各方法实施例所提供的方法,例如包括:按电磁能系统现场设备测点集获取周期性上传的原始量测数据,原始量测数据包括每型设备所属分系统或装置区域及编号、数据帧或数据包编号、量测时间戳与量测数据值;将全空间原始量测数据按每类设备测点集划分为动态量测数据部分和静态标签属性数据部分,分别申请内存空间,根据时间戳生成测点量测值时间序列,并构建相对应的时序元数据;读取内存缓存中测点时序数据中动态数据部分,结合实际电磁能系统业务场景预设的时效性阈值,在常规时序数据压缩中运用的旋转门算法上,利用误差反馈对压缩偏差δe进行动态调整,完成对需要持久化存储的时序数据压缩处理;将压缩后的时序数据进行持久化存储,生成电磁能系统业务历史数据,并在历史数据分析等应用场景中采用线性插值方法进行数据解压缩恢复。

本发明还可以是一种非暂态计算机可读记录媒体,所述非暂态计算机可读记录媒体存储计算机指令,所述计算机指令使所述计算机能够执行上述各方法实施例所提供的方法,例如包括:按电磁能系统现场设备测点集获取周期性上传的原始量测数据,原始量测数据包括每型设备所属分系统或装置区域及编号、数据帧或数据包编号、量测时间戳与量测数据值;将全空间原始量测数据按每类设备测点集划分为动态量测数据部分和静态标签属性数据部分,分别申请内存空间,根据时间戳生成测点量测值时间序列,并构建相对应的时序元数据;读取内存缓存中测点时序数据中动态数据部分,结合实际电磁能系统业务场景预设的时效性阈值,在常规时序数据压缩中运用的旋转门算法上,利用误差反馈对压缩偏差δe进行动态调整,完成对需要持久化存储的时序数据压缩处理;将压缩后的时序数据进行持久化存储,生成电磁能系统业务历史数据,并在历史数据分析等应用场景中采用线性插值方法进行数据解压缩恢复。

本领域技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算设备可读存储介质中,该程序在执行时,运行包括上述方法实施例的步骤。

通过以上实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可通过软件编程加上通用计算机硬件设备方式来实现,也可以全部通过硬件实现。基于该理解,上述技术方案对现有技术贡献的内容可以通过软件产品的形式实现,改软件产品可以存储在计算设备可读介质中,例如硬盘、光盘等,包含若干指令用来让一台计算设备执行实施例或其中部分方法。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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