一种出力数据的压缩方法、系统和解压缩方法、系统与流程

文档序号:16319200发布日期:2018-12-19 05:36阅读:172来源:国知局
一种出力数据的压缩方法、系统和解压缩方法、系统与流程

本发明属于新能源发电运行与控制技术领域,尤其涉及一种出力数据的压缩方法、系统和解压缩方法、系统。

背景技术

随着传统化石能源日渐枯竭,全球气候变化和环境污染问题日益严重,为了满足人类社会日益增长的能源需求,减轻环境负担,亟待开发清洁、低碳、可持续的绿色能源,同时实现电能替代,降低对化石能源的消耗。太阳能储量丰富,是理想的替代能源,可通过太阳能光伏发电的方式加以开发,具有不易受地域局限、转化效率高和有利于资源充分利用等优势,并能提高能源供应可靠性。

光伏电站的出力数据包括光伏逆变器、发电单元、汇集线、并网点等电力设备的发电有功功率数据。电力设备的出力数据可以为光伏电站及电网调度运行提供参考,也是进行光伏发电系统状态评价的重要依据。随着时间推移,逆变器会有大量出力数据产生,当传输逆变器的出力数据时,需要人工利用压缩工具对出力数据进行压缩,当想获取压缩的出力数据中的出力数据时,需要人工利用相应的解压缩工具对压缩的出力数据进行解压缩。

因此,现有技术中通过人工压缩或解压缩出力数据的方式存在压缩效率低以及人工成本高的问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种出力数据的压缩方法、系统和解压缩方法、系统,以解决现有技术中通过人工压缩或解压缩出力数据的方式存在压缩效率低以及人工成本高的问题

本发明实施例的第一方面提供了一种出力数据的压缩方法,包括:

获取电力设备的出力数据,生成目标矩阵;

读取所述目标矩阵中的全部数据,若读取的数据在正常范围,则将所述数据的原始值保存至预设队列中;若读取的数据在异常范围,则保存第一预设数值至预设队列中;

若所述预设队列中存在连续多个数据均符合第一预设条件,则对所述预设队列中的连续多个数据进行压缩处理,生成压缩队列。

本发明实施例的第二方面提供了一种出力数据的压缩系统,包括:

目标矩阵生成模块,用于目标矩阵获取电力设备的出力数据,生成目标矩阵;

队列数据保存模块,用于读取所述目标矩阵中的全部数据,若读取的数据在正常范围,则将所述数据的原始值保存至预设队列中;若读取的数据在异常范围,则保存第一预设数值至预设队列中;

压缩队列生成模块,用于若所述预设队列中存在连续多个数据均符合第一预设条件,则对所述预设队列中的连续多个数据进行压缩处理,生成压缩队列。

本发明实施例的第三方面提供了一种出力数据的解压缩方法,包括:

获取压缩队列;

若所述压缩队列中存在数据的绝对值大于第二预设数值,则根据所述数据得到解压数据,将所述解压数据替换所述数据,得到解压队列;

获取行列数目,并根据所述行列数目,将所述压缩队列重新排列为目标矩阵;

获取均值数据,并根据所述均值数据,将所述目标矩阵进行还原,得到电力设备的出力数据。

本发明实施例的第四方面提供了一种出力数据的解压缩系统,包括:

压缩队列获取模块,用于获取压缩队列;

解压队列获取模块,用于若所述压缩队列中存在数据的绝对值大于第二预设数值,则根据所述数据得到解压数据,将所述解压数据替换所述数据,得到解压队列;

目标矩阵获取模块,用于获取行列数目,并根据所述行列数目,将所述压缩队列重新排列为目标矩阵;

出力数据获取模块,用于获取均值数据,并根据所述均值数据,将所述目标矩阵进行还原,得到电力设备的出力数据。

本发明实施例的第五方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述出力数据的压缩方法或出力数据的解压缩方法的步骤。

本发明实施例的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述出力数据的压缩方法或出力数据的解压缩方法的步骤。

本发明实施例与现有技术相比存在的有益效果是:本实施例通过根据出力数据生成相应的目标矩阵,并判断目标矩阵的中数据是否在正常范围,并根据判断结果,将相应的值保存在预设队列中,若预设队列中存在连续多个数据均符合第一预设条件,则对连续多个数据自动进行压缩处理,得到压缩队列,从而实现了出力数据的自动压缩。当需要对压缩队列进行解压缩,得到出力数据时,需要判断压缩队列中的数据的绝对值是否大于第二预设数值,若大于第二预设数值,则根据该数据得到解压数据,并将该解压数据替换该数据,得到解压队列,并将解压队列重新排列成目标矩阵,按照相关数据,还原目标矩阵,得到出力数据,实现了出力数据自动解压缩,无需人工进行解压缩或压缩,提高了压缩效率和解压缩效率以及降低了由人工带来的成本。

附图说明

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

图1是本发明一个实施例提供的出力数据的压缩方法的实现流程图;

图2是本发明一个实施例提供的出力数据的压缩系统的结构示意图;

图3是本发明一个实施例提供的出力数据的解压缩方法的实现流程图;

图4是本发明一个实施例提供的出力数据的解压缩系统的结构示意图;

图5是本发明一个实施例提供的终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

本发明的说明书和权利要求书及上述附图中的术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含一系列步骤或单元的过程、方法或系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1示出了本发明的一个实施例提供的出力数据的压缩方法的实现流程,其过程详述如下:

在步骤s101中,获取电力设备的出力数据,生成目标矩阵。

可选地,步骤s101包括:

1)获取电力设备的出力数据以及行列数目。

2)根据出力数据和行列数目生成第一矩阵。

3)查找第一矩阵中的每列数据中的最大值。

4)分别将第一矩阵中的数据除以其所在列的最大值,得到第二矩阵。

5)计算第二矩阵中的每行数据对应的平均值。

6)分别将第二矩阵中的数据减去其所在行的平均值,得到目标矩阵。

在本实施例中,电力设备可以为逆变器、发电单元、汇集线、并网点等。

在本实施例中,出力数据包括电压数据、电流数据,三相及各相功率。

在本实施例中,获取m台逆变器的出力数据,每台逆变器的出力数据的条数为n条,且每条出力数据为逆变器一个检测点的出力数据,其中,n和m均为正整数。

在本实施例中,行列数目分别为n和m。

在本实施例中,第一矩阵为n×m型矩阵,第一矩阵每行表示所有电力设备的同一个检测点的出力数据,第一矩阵的每列表示一个电力设备的所有检测点的出力数据,由于矩阵每列中的数据为不同检测点对应的出力数据,因此,有可能每个检测点对应量纲存在不同,最终导致出力数据的量纲不同。

在本实施例中,分别将第一矩阵中的数据除以其所在列的最大值,得到第二矩阵,第二矩阵中的所有数据均在0到1之间,后续传播更加方便快速以及除去了量纲。

在本实施例中,计算第二矩阵中的每行数据的平均值,并分别将第二矩阵中的数据减去其所在行的平均值,从而为后续判断每个数据与所在行的平均值的相似性奠定基础。

在步骤s102中,读取目标矩阵中的全部数据,若读取的数据在正常范围,则将数据的原始值保存至预设队列中。若读取的数据在异常范围,则保存第一预设数值至预设队列中。

在本实施例中,若读取的数据在正常范围,则表示第二矩阵中的数据与其所在行的平均值,并不相似,因此,读取的数据,即第二矩阵中的数据与其所在行的平均值相差较大,则直接保留目标矩阵中的数据。

在本实施例中,若读取的数据在异常范围,则表示第二矩阵中的数据与其所在行的平均值相似,因此,读取的数据,即第二矩阵中的数据与其所在行的平均值相差较小,则直接保留预设数值至预设队列中,第一预设数值为0,因为第二矩阵中的数据与其所在行的平均值相差较小,第二矩阵中的数据减去其所在行的平均值与0较为接近,因此,直接保存0。

其中,异常范围可以为-0.1至0.1之间,正常范围可以为小于或等于-0.1或大于或等于0.1。

在步骤s103中,若预设队列中存在连续多个数据均符合第一预设条件,则对预设队列中的连续多个数据进行压缩处理,生成压缩队列。

可选地,步骤s103包括:

若预设队列中存在连续多个相同的数据,则根据连续多个相同的数据的数量和具体数值生成压缩数据,并采用压缩数据替换连续多个相同的数据。

可选地,所述根据连续多个相同的数据的数量和具体数值生成压缩数据,包括:

1)若具体数值大于或等于0,则计算具体数值与数量的和,作为压缩数据。

2)若具体数值小于0,则计算具体数值与数量的差,作为压缩数据。

在本实施例中,若预设队列中存在连续多个相同的数据,多个表示大于等于2,则用压缩数据替换该连续多个相同的数据。

在本实施例中,获取连续多个相同的数据的数量,若该连续相同的数据中的一个数据的值大于或等于0,则计算该数据的具体数值与该连续多个相同的数据的数量的和,得到压缩数据,将压缩数据替换该连续多个相同的数据。。

以一个具体应用场景为例,连续多个相同的数据的数量为5,连续相同的数据中的一个数据的具体数值值为0,则计算具体数据与数量的和为5.0,将5.0作为压缩数据,替换该5个连续相同的数据,即替换5个0,实现了数据的压缩。

在本实施例中,若该连续多个相同的数据中的数据的具体值小于0,则将该具体数值减去该连续多个相同的数据的数量,得到压缩数据。

以一个具体应用场景为例,连续相同的数据的个数为5,连续相同的数据中的数据的具体数值为-0.1,则,将该具体数值减去该连续多个相同的数据的数量,得到压缩数据为-5.1。

可选地,获取连续多个相同数据的数量和连续多个数据中的数据的具体数值,并按照预设格式生成压缩数据。

其中,预设格式可以为连续多个相同的数据的数量+连续多个相同的数据中的数据的具体数值、或,连续多个相同的数据中的数据的具体数值+连续多个相同的数据的数量、[连续多个相同的数据的数量,连续多个相同的数据中的数据的具体数值或者,[连续多个相同的数据中的数据的具体数值,连续多个相同的数据的数量]等等。

可选地,在得到压缩队列后,还可以利用压缩工具对压缩队列进行解压缩。

可选地,将压缩队列传输至目标终端。

在本实施例中,通过根据出力数据生成相应的目标矩阵,并判断目标矩阵的中数据是否在正常范围,并根据判断结果,将相应的值保存在预设队列中,若预设队列中存在连续多个数据均符合第一预设条件,则对连续多个数据自动进行压缩处理,得到压缩队列,从而实现了出力数据的自动压缩,提高了压缩效率以及降低了由人工带来的成本。

如图2所示,本发明的一个实施例提供出力数据的压缩系统100,用于执行图1所对应的实施例中的方法步骤,其包括:

目标矩阵生成模块110,用于目标矩阵获取电力设备的出力数据,生成目标矩阵。

队列数据保存模块120,用于读取目标矩阵中的全部数据,若读取的数据在正常范围,则将数据的原始值保存至预设队列中。若读取的数据在异常范围,则保存第一预设数值至预设队列中。

压缩队列生成模块130,用于若预设队列中存在连续多个数据均符合第一预设条件,则对预设队列中的连续多个数据进行压缩处理,生成压缩队列。

可选地,目标矩阵生成模块110包括:

数据获取子模块,用于获取电力设备的出力数据以及行列数目。

第一矩阵生成子模块,用于根据出力数据和行列数目生成第一矩阵。

最大值查找子模块,用于查找第一矩阵中的每列数据中的最大值。

第二矩阵生成子模块,用于分别将第一矩阵中的数据除以其所在列的最大值,得到第二矩阵。

平均值计算单元子模块,用于计算第二矩阵中的每行数据对应的平均值。

目标矩阵生成子模块,用于分别将第二矩阵中的数据减去其所在行的平均值,得到目标矩阵。

可选地,压缩队列生成模块130还包括:

压缩数据生成子模块,用于若预设队列中存在连续多个相同的数据,则根据连续多个相同的数据的数量和具体数值生成压缩数据,并采用压缩数据替换连续多个相同的数据。

可选地,压缩数据生成子模块包括:

第一压缩数据生成单元,用于若具体数值大于或等于0,则计算具体数值与数量的和,作为压缩数据。

第二压缩数据生成单元,用于若具体数值小于0,则计算具体数值与数量的差,作为压缩数据。

在一个实施例中,出力数据的压缩系统100还包括其他功能模块/单元,用于实现上述处理数据的压缩方法步骤。

图3示出了本发明的一个实施例提供的出力数据的解压缩方法的实现流程,其过程详述如下:

在步骤s201中,获取压缩队列。

在本实施例中,获取压缩队列,其可以为生成压缩队列的终端发送的。

在步骤s202中,若压缩队列中存在数据的绝对值大于第二预设数值,则根据数据得到解压数据,将解压数据替换数据,得到解压队列。

可选地,步骤s202包括:

1)获取数据的整数部分。

2)对整数部分取绝对值,得到第一数量。

3)将数据的值减去整数部分,得到第三数值。

4)将第一数量的第三数值依次排列,得到解压数据。

在本实施例中,若压缩队列中存在数据的绝对值大于第二预设数值,则表示存在删除数据,则获取绝对值大于第二预设数值的数据的整数部分。

其中,第二预设数值为1。

在本实施例中,整数部分的绝对值表示连续多个相同的数据的数量。

在本实施例中,第三数值表示第二矩阵中的数据与其所在行的平均值的差,即目标矩阵中的数据。

在实施例中,通过插入第一数量的数据,恢复了在压缩过程中被替换的数据。

以一个具体应用场景为例,压缩队列的中存在一个数据为-5.1,第二预设数值为1,其绝对值大于1,取-5.1的整数部分为-5,第一数量为5,将-5.1减去-5,得到-0.1即为第三数值,将5个-0.1替换掉-5.1,即,-5.1的位置变成-0.1,-0.1,-0.1,-0.1和-0.1。

可选地,若压缩队列中存在包含预设格式的数据,则从包含预设格式的数据中提取出来第一数量和第三数值。

以一个具体应用场景为例,预设格式为[连续多个相同的数据的数量,连续多个相同数据中的数据的具体数值],若检测压缩队列中包含预设格式的数据,其为[5,-0.1],则从[5,-0.1]提取出来第一数量为5,第三数值为-0.1。

在步骤s203中,获取行列数目,并根据行列数目,将压缩队列重新排列为目标矩阵。

在本实施例中,获取矩阵的行列数目,按照行列数据将压缩队列重新排列成目标矩阵,例如,将压缩队列中的第1个到第m个数据作为目标矩阵的第一行,将压缩队列中的第m+1个到第2m个数据作为目标矩阵的第二行,并以此类推至第n行。

在步骤s204中,获取均值数据,并根据均值数据,将目标矩阵进行还原,得到电力设备的出力数据。

在本实施例中,获取矩阵数据,并根据均值数据,将目标矩阵还原为第二矩阵,获取最大值数据,并根据最大值数据,将第二矩阵还原为第一矩阵,第一矩阵中包含的数据均为电力设备的出力数据。

在本实施例中,均值数据包括矩阵每行对应的平均值,例如,第一行对应的平均值,分别将目标矩阵中的每行数据加上其所在行对应的平均值,得到第二矩阵。

其中,均值数据实际为在压缩出力数据的过程中的第二矩阵中的每行数据对应的平均值。

在本实施例中,最大值数据包括矩阵每列数据对应最大值,例如,第一列数据对应最大值,分别将第二矩阵中的每列数据乘以其所在列对应的最大值,得到第一矩阵。

其中,最大值数据实际为在压缩出力数据的过程中的第一矩阵中的每列数据中的最大值。

在本实施例中,当需要对压缩队列进行解压缩,得到出力数据时,需要判断压缩队列中的数据的绝对值是否大于第二预设数值,若大于第二预设数值,则根据该数据得到解压数据,并将解压数据替换该数据,得到解压队列,并将解压队列重新排列成目标矩阵,按照相关数据,还原目标矩阵,得到出力数据,实现了出力数据自动解压缩,无需人工进行解压缩,提高了解压缩的效率,并降低了由人工带来的人工成本。

如图4所示,本发明的一个实施例提供的出力数据的解压缩系统200,用于执行图3所对应的实施例中的方法步骤,其包括:

压缩队列获取模块210,用于获取压缩队列。

解压队列获取模块220,用于若压缩队列中存在数据的绝对值大于第二预设数值,则根据数据得到解压数据,将解压数据替换数据,得到解压队列。

目标矩阵获取模块230,用于获取行列数目,并根据行列数目,将压缩队列重新排列为目标矩阵。

出力数据获取模块240,用于获取均值数据,并根据均值数据,将目标矩阵进行还原,得到电力设备的出力数据。

可选地,解压队列获取模块220包括:

整数部分获取子模块,用于获取数据的整数部分。

第一数量获取子模块,用于对整数部分取绝对值,得到第一数量。

第三数值获取子模块,用于将数据的值减去整数部分,得到第三数值。

解压数据获取子模块,用于将第一数量的第三数值依次排列,得到解压数据。

在一个实施例中,出力数据的解压缩系统200还包括其他功能模块/单元,用于实现上述出力数据的解压缩方法步骤。

如图5所示,本发明实施例还提供了一种终端设备5,包括处理器50、存储器51以及存储在存储器51中并可在处理器50上运行的计算机程序52,所述处理器50执行所述计算机程序时实现如实施例1中所述的各实施例中的步骤和实施例3中所述的各实施例中的步骤,例如图1所示的步骤s101至步骤s103或图3所示的步骤s201至步骤s204。或者,所述处理器50执行所述计算机程序时实现如实施例2中所述的各装置实施例中的各模块的功能和实施例4中所述的各装置实施例中的各模块的功能,例如图2所示的模块110至130的功能和图4所示的模块210至240的功能。

终端设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备5可包括,但不仅限于,处理器50、存储器51。例如所述终端设备5还可以包括输入输出设备、网络接入设备、总线等。

所称处理器50可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器51可以是所述终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51也可以是所述终端设备5的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器51还可以既包括终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述终端设备5所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如实施例1中所述的各实施例中的步骤和实施例3中所述的各实施例中的步骤,例如图1所示的步骤s101至步骤s103和图3所示的步骤s201至步骤s204。或者,所述计算机程序被处理器执行时实现如实施例2中所述的各装置实施例中的各模块的功能和实施例4中所述的各装置实施例中的各模块的功能,例如图2所示的模块110至150的功能和图4所示的模块210至240的功能。

所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本发明实施例系统中的模块或单元可以根据实际需要进行合并、划分和删减。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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