一种风机不对称故障恢复过程响应曲线库实现方法与流程

文档序号:18619063发布日期:2019-09-06 22:18阅读:152来源:国知局
一种风机不对称故障恢复过程响应曲线库实现方法与流程

本发明属于电力电网领域,尤其涉及一种风机不对称故障恢复过程响应曲线库实现方法。



背景技术:

风机等分布式电源出力具有较强的间歇性、周期性和随机性的特点,由于我国分布式电源具有大规模集中开发的特点,而其故障特性也与常规电网系统截然不同,当前对大规模风机电源接入电力系统后故障特性及其恢复过程的仿真研究工作已经展开,然而大量仿真工作产生的数据也具有数据量海量,数据分析对数据提取速率要求高等特点,而我国目前现有的电力系统分析软件中,其数据库规模有限,分析手段较为单一,难以应对风机不对称故障仿真生成的海量数据分析处理的需求。因此,亟需一种新的风机不对称故障恢复过程响应曲线库实现方法,本发明通过数据预处理、数据压缩、数据索引查询术,实现面向海量数据的快速检索仿真曲线库,使其能够保证数据库海量存储数据的同时,能大大提高内存数据库高速检索数据的能力,可以满足风机不对称故障恢复过程响应仿真曲线结果数据的存储要求。



技术实现要素:

为了解决现有技术中的上述问题,本发明提出了一种风机不对称故障恢复过程响应曲线库实现方法,该方法包括:

步骤s1:数据预处理;具体的:获取采样点,并对采样点获取的采样数据进行预处理;

步骤2进行各类数据的数据压缩;具体的:进行时间标签、数值的压缩;

步骤3进行数据查询;具体为:支持点查询、范围查询、聚集查询和/或相似查询。

进一步的,所述步骤s3中的所述查询为基于采样时间索引和采样数据索引的查询。

进一步的,所述点查询,具体为:查询采样数据的值为特定值时对应的采样时间;所述点查询包含如下步骤:

步骤a.利用折半查找在子序列区间词典内找到包含采样数据v′的采样时间区间ri;

步骤b.求采样时间区间ri的单调子序列数组anch(i)内单调子序列与直线v=v′的交点;对于anch(i)内的一个单调子序列cj,利用折半查找求出与cj直线v=v′的交点,得到采样时间t。

进一步的,所述范围查询,具体为:根据采样时间查询压缩文件以获取其对应的采样数据范围。

进一步的,所述根据采样时间查询压缩文件以获取其对应的采样数据范围,具体为:查询采样时间t在哪些时间段内时,采样数据的值v大于v′,或小于v′,或在v′与v″之间;其中:v′与v″为查询边界。

进一步的,查询v>v′时步骤,包括:

步骤a:利用点查询求时间序列与直线v=v′的交点,求得时间点t为t1′,t2′,…,tk′;

步骤b:当k为偶数时。若t=t1′时时间序列递增,则v>v′的时间段为[t1′,t2′],[t3′,t4′],…,[tk-1′,tk′];若t=t1′时时间序列递减,v>v′的时间段为[tmin′,t1′],[t2′,t3′],[t4′,t5′],…,[tk-2′,tk-1′],[tk′,tmax′],其中tmin′为时间序列起始状态的时间,tmax′为最后状态的时间。

进一步的,所述聚集查询,具体为:查询采样数据达到最大值或最小值等关键数值时对应的采样时间或者采样时间范围。

进一步的,聚集查询主要包括t在何时时间序列达到最大值或最小值。

进一步的,求时间序列达到最大值的时间t的实现步骤,包括;

步骤a:在子序列区间词典内找到v值最大的区间rm,rm的上界vmax就是时间序列的最大值;

步骤b:利用点查询的方法,求rm内的单调子序列与直线v=vmax的交点,这些交点的t值即为所求。

进一步的,所述相似查询,具体为:查询采样数据相同的采样时间或者时间范围序列;所述相似查询主要是针对某待查曲线,或者提出某几条约束条件后,在仿真曲线库中搜索到所有满足条件的曲线,并输出结果。

本发明的有益效果包括:通过数据预处理、数据压缩、数据索引查询术,实现面向海量数据的快速检索仿真曲线库,使其能够保证数据库海量存储数据的同时,能大大提高内存数据库高速检索数据的能力,可以满足风机不对称故障恢复过程响应仿真曲线结果数据的存储要求。

【附图说明】

此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:

图1是本发明的时间标签的压缩方法的示意图。

图2是本发明的数值压缩方法的步骤示意图。

图3是本发明的模拟量中浮点值和累积量的数值压缩示意图。

图4是本发明的一种风机不对称故障恢复过程响应曲线库实现方法示意图。

【具体实施方式】

下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。

如图1所示,对本发明所应用的一种风机不对称故障恢复过程响应曲线库实现方法进行详细说明,通过针对曲线库数据的特点进行数据预处理、数据压缩、数据查询,使得在风机不对称故障恢复过程中产生的各种类型的仿真数据结果得到高效的存储和快速的查询;

所述方法包括如下步骤:

步骤s1:数据预处理;具体的:获取采样点,并对采样点获取的采样数据进行预处理;

步骤s11:针对采样数据的缺失值的预处理;具体为:基于采样数据构造出变化曲线,然后利用该曲线计算出缺失值;具体为:选择三个采样点处x0,x1,x2的采样值y0,y1,y2,设置三个插值基函数:基于变化曲线l2(x)=y0l0(x)+y1l1(x)+y2l2(x)计算填充值;其中x为采样时间;所述x与x0,x1,x2之差取相对应的采样点的采样时间之差;采用所述填充值来填充缺失值;

优选的:采样时间间隔相同的方式选择采样点;

优选的:基于填充历史进行采样点的选择;

所述风机不对称故障恢复过程中产生的各种类型的仿真数据结果包括采样点(采样时间)和采样数据(采样数据值)之间的对应关系;

优选的:插值基函数进行约分后没有单位,只有倍数关系。

优选的:设置饱和限制,所述饱和限制为缺失时间点的前一采样时间点的采样数据和后一采样时间点的采样数据之差的限制;其中:所述采样数据保存在数据库中;如果缺失值与前一采样时间点的采样数据之差的绝对值大于所述饱和限制,则将用前一采样时间的采样数据加上或者减去饱和限得到的数值来填充所述缺失值;

步骤s12:针对高维数据进行预处理;具体的:基于主成分分析处理数据高维数据;

所述基于主成分分析处理数据高维数据,具体为:如果针对采样数据x,如果采样数据x是n*m的数据矩阵,其中:n是样本个数,m为变量个数;则将采样数据x分解为m个向量的外积之和,设置m=2,则其中:ti∈rn为得分向量,称为主元,pi∈rm为负荷向量;设置主元贡献率如果前k个主元的累积贡献率超过主成分阈值就认为前k个主元反映了主要信息,设置所述

优选的:所述得分向量为预设值;主成分阈值等于85%;

步骤2进行各类数据的数据压缩;具体的:进行时间标签、数值的压缩;

步骤s21:进行时间标签的压缩,具体的:存储时间标签的基准值,将相邻的两个时间标签值相减;判断前后两个差值是否相等,如相等,则将相等次数增加一,继续读入下一个时间标签,否则,该时间标签数据的压缩结束,输出该段时间标签数据中的差值相等次数和所述相等次数对应的差值;考虑到在风机不对称故障恢复过程的仿真数据结果中,时间标签是按时间周期呈等差数列的,时间标签的差值冗余度是极高的;因此,可以针对该时间标签的特点进行压缩;

步骤s22:进行数值的压缩,具体的:所述数值包括开关量的数值、模拟量的数值和累积量的数值;

优选的:所述数值为风机不对称故障恢复过程响应曲线数值;

步骤s221:开关量的压缩;具体为:开关量的值只有两种,或为0或为1,将开关量用1个字节来,若开关量为0,则向开关量存储区写入一位0;若开关量为1,则向压缩文件写入一位1;

优选的:所述开关量存储于压缩文件中;

步骤s222:模拟量中百分量的压缩;具体为:当百分量差值的绝对值小于256时,采用lzw压缩算法进行压缩,当百分量差值的绝对值大于256的差值时,将其加入字典中,并输出标识符,标识该数据是采用lz78算法进行压缩的;

优选的:为了在解压缩时候能够还原数据,需要开辟一片空间用来记录差值的正负,在这里,将该空间设在数组的最开头,若差值为正,则写入1位0,若差值为负,则写入1位1;

如附图2所示,所述百分量的压缩方法包含步骤如下:

步骤2221:初始化压缩用系统字典,读入字符;其中:字典是指lzw算法所需的定长字符串表,用途是将输入的字符映射成定长的8位编码,即字典的索引;字符指本次处理输入的字符;

步骤2222:判断字符长度是否大于256,若字符长度不大于256则转入步骤2223,否则转入步骤2224;

步骤2223:将字符接在当前字符串之后,当前字符串是指由已处理的字符组成的字符串;

步骤2224:判断字符是否已在字典中,若不在字典中则转入步骤2225,否则转入步骤2226;

步骤2225:将字符及其标示符写入压缩文件,然后将字符加入字典并将字典的索引作为当前字符串。字符的标示符由lz78算法生成;

步骤2226:取出字符在字典中的索引,并将其接在当前字符串后;

步骤2227:搜索当前字符串是否在字典中,若不在则转入步骤2228,否则转入步骤2229;

步骤2228:将当前字符串的前缀字符串写入文件,并将当前字符串的最后一个字符作为当前字符串。前缀字符串指在加入字符前的当前字符串;

步骤2229:将当前字符串的字典索引作为当前字符串;

步骤22210:读入新的字符,并返回步骤2222;如果没有新的字符,则结束;

优选的:所述步骤222还包括步骤223:进行模拟量中浮点值和累积量的数值压缩;

如附图3所示,进行模拟量中浮点值和累积量的数值压缩,包括如下步骤:

步骤2231:初始化字典;其中,字典是指lzw算法所需的定长字符串表,用途是将输入的字符映射成定长的8位编码,即字典的索引;

步骤2232:读入数值,并对其作相应的预处理;在数据预处理环节中,由于浮点值与累积量的数值的数据特征不同,采用的预处理方法也不同;累积量的数值是将模拟量的数值按照一定的时间周期累加得到的,因此采用差值法对累积量的数值进行预处理,即用当前累积量的数值减去前一个累积量的数值,对得到的差值进行压缩。浮点值的数据具有较好的连续性,相邻两数据间的小幅波动比较常见,大幅波动较少,对其相邻数据取差值,这个差值通常是相近的,因此采用将浮点值转化为其在量程范围内的百分数,再对转化后的浮点值取差值的方法来进行预处理;

步骤2233:按字节读入预处理后的数值并转化为字符串;

步骤2234:将读入的字符串添加到当前字符串中;当前字符串是指由已处理的字符组成的字符串;

步骤2235:搜索当前字符串是否在字典中,没有在则转入步骤2236,否则转入步骤2237;

步骤2236:输出当前最大匹配串的字典索引。最大匹配串指与当前字符串中最长连续字符序列相匹配的字典中的字符串;

步骤2237:将当前字符串加入字典,将字符串作为当前字符串;

步骤2238:判断数值是否压缩完毕,没有压缩完毕则返回步骤2233,否则返回步骤2232;

步骤3进行数据查询;具体为:支持点查询、范围查询、聚集查询和/或相似查询;所述查询为基于采样时间索引和采样数据索引的查询;

所述点查询,具体为:查询采样数据的值为特定值时对应的采样时间;例如:查询某一电压值何时达到242kv。所述点查询包含如下步骤:

步骤a.利用折半查找在子序列区间词典内找到包含采样数据v′的采样时间区间ri;

步骤b.求采样时间区间ri的单调子序列数组anch(i)内单调子序列与直线v=v′的交点;对于anch(i)内的一个单调子序列cj,利用折半查找求出与cj直线v=v′的交点,得到采样时间t;

所述范围查询,具体为:根据采样时间查询压缩文件以获取其对应的采样数据范围;

所述根据采样时间查询压缩文件以获取其对应的采样数据范围,具体为:查询采样时间t在哪些时间段内时,采样数据的值v大于v′,或小于v′,或在v′与v″之间;其中:v′与v″为查询边界;例如,某一电压哪些时间其值超过242kv,或在220kv到242kv之间;由于整个时间序列是连续的子序列,只要求出时间序列与直线v=v′的交点,就可以输出满足条件的时间段;下面给出查询v>v′时步骤,其它查询类似;

步骤a:利用点查询求时间序列与直线v=v′的交点,求得时间点t为t1′,t2′,…,tk;

步骤b:当k为偶数时。若t=t1′时时间序列递增,则v>v′的时间段为[t1′,t2′],[t3′,t4′],…,[tk-1′,tk′];若t=t1′时时间序列递减,v>v′的时间段为[tmin′,t1′],[t2′,t3′],[t4′,t5′],…,[tk-2′,tk-1′],[tk′,tmax′],其中tmin′为时间序列起始状态的时间,tmax′为最后状态的时间。当k为奇数时方法类似;

所述聚集查询,具体为:查询采样数据达到最大值或最小值等关键数值时对应的采样时间或者采样时间范围;聚集查询主要包括t在何时时间序列达到最大值或最小值等,例如某一处电压值2005年7月16日何时值达到最高;

下面以求时间序列达到最大值的时间t为例,说明实现步骤,其它查询步骤类似;

步骤a:在子序列区间词典内找到v值最大的区间rm,rm的上界vmax就是时间序列的最大值;

步骤b:利用点查询的方法,求rm内的单调子序列与直线vmax的交点,这些交点的t值即为所求;

所述相似查询,具体为:查询采样数据相同的采样时间或者时间范围序列;所述相似查询主要是针对某待查曲线,或者提出某几条约束条件后,在仿真曲线库中搜索到所有满足条件的曲线,并输出结果;包括如下步骤:

步骤a:针对待查曲线,或者提出的约束条件,求取其权重较高的关键子序列区间(其权重之和超过85%即可认为这些关键子序列区间反映了所需要的曲线的主体信息),并根据权重排序;

步骤b:选取权值最高的关键子序列区间在子序列区间词典中进二元查找,找到该子序列区间后通过指向频率的指针找到所有符合条件的曲线,然后选择权值次高的关键区间在结果中继续进行查找;

步骤c:循环进行步骤b,直到将所有选出的关键子序列区间查找完毕,则剩下的曲线即为所求;

考虑到风机不对称故障恢复过程响应仿真结果数据分析中,其对于数据检索的主要需求就在于快速查找到满足搜索条件的若干条监视曲线,并将这些曲线快速提取出来。因此倒排索引值查询的方式的引入,可以用来将搜索条件分解为点查询、范围查询和聚集查询的组合,从而快速从实时内存数据库中提取出缓存的曲线数据,进而到历史文件数据库中查找到该曲线的更多信息以供程序进一步分析;

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和终端,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

另外,在不发生矛盾的情况下,上述几个实施例中的技术方案可以相互组合和替换。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个模块或装置也可以由一个模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

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