自适应的历史数据压缩方法.pdf

上传人:000****221 文档编号:1043964 上传时间:2018-03-28 格式:PDF 页数:14 大小:617.79KB
返回 下载 相关 举报
摘要
申请专利号:

CN02120383.0

申请日:

2002.05.24

公开号:

CN1459743A

公开日:

2003.12.03

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 17/00申请日:20020524授权公告日:20051019终止日期:20140524|||授权|||实质审查的生效|||公开|||实质审查的生效

IPC分类号:

G06F17/00

主分类号:

G06F17/00

申请人:

中国科学院软件研究所;

发明人:

王宏安; 金宏; 王强; 戴国忠

地址:

100080北京市海淀区中关村南四街4号

优先权:

专利代理机构:

中科专利商标代理有限责任公司

代理人:

朱进桂

PDF下载: PDF下载
内容摘要

对数据库中的历史数据压缩处理的自适应数据压缩方法,包括步骤:压缩时间判断:对当前测量值,判断测量时间是否在给定的压缩时间区间内,在当前测量值的时差太小时,不执行后面的步骤,继续考察下一测量数据;在当前测量值的时差太大时,存储当前值的前一值,作为下一轮数据压缩测试的起点和新的上一存储点;斜率的计算:计算当前值斜率及当前最大斜率和最小斜率;对不同时刻的测量数据,根据当前最大/最小斜率,自适应地动态计算压缩偏差参数;用新计算的压缩偏差参数,计算当前值斜率的上界和下界;压缩测试判断:当前值通过压缩测试,存储当前值的前一个值,作为下一轮数据压缩测试的起点和新的上一存储点,否则继续测试下一个新的数据点。

权利要求书

1: 在当前测量时间差太大时,系统将当前值的前一个值存储到历史 数据缓冲池,并作为下一轮数据压缩测试的起点和新的上一存储点; 斜率的计算:除了计算当前值斜率外,还计算当前最大斜率和当前 最小斜率等; 压缩偏差参数的计算:对不同时刻的测量数据,根据当前最大/最小 斜率,自适应地动态计算压缩偏差参数; 斜率上界和下界的计算:利用新计算的压缩偏差参数,计算当前值 斜率的上界和下界; 压缩测试判断:当前值通过压缩测试,系统将当前值的前一个值存储 到历史数据缓冲池,并作为下一轮数据压缩测试的起点和新的上一存储 点,否则继续测试下一个新的数据点; 历史数据缓冲:利用历史数据缓冲池对关键的历史数据进行存储。
2: 根据权利要求1所述的自适应数据压缩方法,其特征在于在压缩 时间判断步骤中还包括用于对线性型变化趋势的数据进行预处理的数据 压缩预处理步骤,其中包括对采集灵敏度测试和二阶差分上界测试步骤。
3: 根据权利要求1或2所述自适应数据压缩方法,其特征在于还包 括数据平滑处理步骤,其中采用滤波平滑技术,对测量数据进行平滑处理。
4: 根据权利要求2所述的自适应数据压缩方法,其特征在于所述当 前二阶差分的绝对值表达式为: | ( τ i - 1 y i - ( τ i - 1 + τ i ) y i - 1 + τ i y i - 2 ) / ( τ i - 1 2 τ i ) | ]]> 其中,y i 为当前测量值,τ i 为当前测量值的测量时间与上一测量值的 测量时间之差。
5: 根据权利要求3所述的自适应数据压缩方法,其特征在于所述滤 波平滑技术可采用的数据平滑公式为:                X i =ax i-1 +by i +(1-a-b)y i-1 其中,x i 为当前时刻的平滑处理后的结果,x i-1 为前一时刻的平滑值,y i 为当前时刻的测量数据,y i-1 为前一时刻的测量数据,a和b为大于零的 加权因子,且满足a+b<1。

说明书


自适应的历史数据压缩方法

    【技术领域】

    本发明涉及在实时数据库中历史数据的压缩技术,尤其是一种自适应的历史数据压缩方法。背景技术

    对于一个实时数据库来说,由于数据量之巨大,数据档案的管理无疑是其最重要的部分之一,而关键的技术即在于能否高效地存储和访问数据。由于历史数据量大,如果不进行压缩而直接保存需要很大的物理存储介质,因此对历史数据的压缩就成为实时数据库中最重要的技术之一。

    在实时数据库系统中,历史数据压缩技术的使用在传统意义上是为了用于减少磁盘空间,针对不同的应用,数据压缩有多种方法,实时数据库系统不仅要求能够在有限的硬盘空间中存储大量历史数据,而且还要求这些数据能够快速地被访问。然而在使用压缩技术以后出现的主要问题是,在压缩数据库中处理查询变得很慢,这就需要对数据压缩方法提出了一定的限制要求,要根据过程数据的特点进行数据压缩。对于一个实时数据库来说,由于数据量之巨大,数据档案地管理无疑是其最重要的部分之一,而关键的技术即在于能否高效地存储和访问数据。由于历史数据量大,如果不进行压缩而直接保存需要很大的物理存储介质,因而对历史数据的压缩就成为实时数据库中最重要的技术之一。

    本申请人在石化应用软件典型示范工程中的生产信息管理与决策支持系统的研制与开发工作中,开发了一种集实时数据库技术、时态数据库技术为一体的实时数据库系统AGILOR,在此系统中,对历史数据的压缩、归档管理进行了重点研究。

    在历史数据压缩技术的研究开发过程中,借鉴了美国OSI公司开发的旋转门压缩算法。在旋转门算法中,压缩偏差参数取定为常数。实验数据表明,针对同样的压缩偏差参数,对一些测试的数据,旋转门算法有较高的压缩比;而对其它一些测试的数据,压缩比要小许多。

    通常,任何装置测量数据可分为三个部分,第一部分是相对变化部分,取决于测量参数的物理变化过程,第二部分为常值部分,是绝对的,可根据以往的历史数据进行预测,第三部分是传感器的测量噪声或称为测量误差,取决于传感器的测量精度。在这三部分中,常值部分对旋转门算法无影响,而起影响作用的是其它两部分。通常相对变化部分是连续变化的、有规律的,而测量误差是随机的、不确定的。当传感器测量精度高时,测量误差就小,这时数据压缩率主要取决于数据的相对变化部分。当传感器测量精度低时,测量误差大,且对数据压缩影响很大。当测量误差大到一定程度时,它覆盖了数据的相对变化部分,此时,要描述数据的相对变化部分已变得无意义。

    具体而言,旋转门算法存在如下两方面的主要不足:

    1).压缩偏差参数的大小对利用旋转门算法得到的数据压缩率影响比较大;

    2).对测量误差很敏感,当传感器的测量误差相对比较大时,利用旋转门算法得到的数据压缩率显著减小。发明内容

    本发明的目的是提供一种自适应历史数据压缩方法,它能够通过动态选取压缩偏差参数并利用数据平滑技术抑制测量噪声,从而减小传感器的测量误差对压缩算法的影响。

    本发明的自适应数据压缩方法包括步骤:

    压缩时间判断:对来自历史数据缓冲队列的当前测量值,判断其测量时间是否在相应压缩时间区域内;

    斜率的计算:除了计算当前值斜率外,还计算当前最大斜率和当前最小斜率等;

    压缩偏差参数的计算:对不同时刻的测量数据,根据当前最大/最小斜率,自适应地动态计算压缩偏差参数;

    斜率上界和下界的计算:利用新计算的压缩偏差参数,计算当前值斜率的上界和下界;

    压缩测试判断(其功能是判断当前值是否在其压缩范围内,以确定被测试点是否需要存储):当前值通过压缩测试,系统将当前值的前一个值存储到历史数据缓冲池,并作为下一轮数据压缩测试的起点和新的上一存储点,否则继续测试下一个新的数据点。

    在压缩时间判断步骤中还包括用于对线性型变化趋势的数据进行预处理的数据压缩预处理步骤(其功能是对一些具有典型特征的测量数据进行快速处理,减少相应的压缩处理时间),其中包括对采集灵敏度测试和二阶差分上界测试步骤。

    还包括数据平滑处理步骤(其功能是减弱测量噪声对测量数据的影响,提高数据的压缩比),其中采用滤波平滑技术,对测量数据进行平滑处理。

    其中当前二阶差分的绝对值表达式为:|(τi-1yi-(τi-1+τi)yi-1+τiyi-2)/(τi-12τi)|]]>

    其中,yi为当前测量值,τi为当前测量值的测量时间与上一测量值的测量时间之差。

    滤波平滑技术可采用的数据平滑公式之一为:

                  xi=axi-1+byi+(1-a-b)yi-1其中,xi为当前时刻的平滑处理后的结果,xi-1为前一时刻的平滑值,yi为当前时刻的测量数据,yi-1为前一时刻的测量数据,a和b为大于零的加权因子,且满足a+b<1。

    数据压缩预处理:对线性型变化趋势的数据进行预处理(其作用是省略进一步的压缩步骤,缩短对数据的压缩时间),其中包括对采集灵敏度测试和二阶差分上界测试步骤;

    数据平滑处理:采用滤波平滑等有关技术,对测量数据进行平滑处理;当传感器测量精度比较高时,数据的平滑过程可以省略,以节省压缩时间;

    斜率的计算:除了计算当前值斜率外,还计算当前最大斜率和当前最小斜率等;

    压缩偏差参数的计算:对不同时刻的测量数据,根据当前最大/最小斜率,自适应地动态计算压缩偏差参数;

    斜率上界和下界的计算:利用新计算的压缩偏差参数,计算当前值斜率的上界和下界;

    压缩测试判断:当前值通过压缩测试,系统将当前值的前一个值存储到历史数据缓冲池,并作为下一轮数据压缩测试的起点和新的上一存储点,否则继续测试下一个新的数据点。附图说明

    图1是根据本发明的自适应数据压缩方法的一个实施例的流程图;

    图2是根据本发明的自适应数据压缩方法所获得的存储点和由旋转门算法得到的存储点比较示意图;

    图3是由本发明实施例的自适应数据压缩方法的斜率变化区域示图;

    图4是已有技术的旋转门算法的斜率变化区域示图。

    图5是由旋转门算法获得的存储点的示意图;

    图6是由本发明自适应数据压缩方法获得的存储点的示意图。具体实施方案

    下面参照附图并结合实施例对本发明进行详细的描述:

    图1是根据本发明的自适应数据压缩方法的一个实施例的流程图。首先从历史数据缓冲队列获取当前测量值步骤1。然后,进行到压缩时间判断步骤2,对当前测量值,首先判断其测量时间与上一存储点的测量时间差是否小于最小压缩时间或大于最大压缩时间,此步骤在压缩处理前对数据进行简单判断,只有在当前测量时间差在某个给定的时间范围内,才对当前测量数据进行下一步的压缩处理。在当前测量时间差小于最小压缩时间时(即压缩时间判断步骤2中的N),则不继续执行下面的步骤,不存储数据(步骤23),直接返回,继续对下一个测量数据值进行判断;在当前测量时间差大于最大压缩时间时(即压缩时间判断步骤2中的Y),系统将当前值的前一个值存储到历史数据缓冲池(步骤21,22),并作为下一轮数据压缩测试的起点和新的上一存储点。并对当前最大和最小斜率、当前值斜率的当前下界(S1)和下界(S2)赋初值;在当前测量时间差介于最小压缩时间和最大压缩时间之间时,对当前测量数据进行下一步处理。

    在压缩时间判断步骤2中,可以包含对线性型变化趋势的数据进行压缩预处理步骤,其中在当前测量值与上一测量值之差的绝对值小于采集灵敏度(事件A),当前二阶差分的绝对值小于差分上界(事件B)时,判断事件A和事件B。当事件A和事件B同时成立时,当前的测量值不存贮,不执行下面的步骤,继续考察下一个测量数据。其中当前二阶差分的绝对值表达式之一是:|(τi-1yi-(τi-1+τi)yi-1+τiyi-2)/(τi-12τi)|,]]>其中,yi为当前测量值,τi为当前测量值的测量时间与上一测量值的测量时间之差。

    接下来,对经压缩时间判断之后获取的数据进行平滑处理判断步骤3,当测量传感器的测量精度很差时,需要对当前测量值进行数据平滑处理步骤31。数据平滑处理步骤31可以按下面的数据平滑公式进行:

                  xi=axi-1+byi+(1-a-b)yi-1其中,xi为当前时刻的平滑处理后的结果,xi-1为前一时刻的平滑值,yi为当前时刻的测量数据,yi-1为前一时刻的测量数据,a和b为大于零的加权因子,且满足a+b<1。数据平滑处理步骤31中也可以采用其它的数据平滑公式。

    接下来,对经平滑处理判断步骤3的测量数据执行斜率的计算步骤4,此步骤提供下一步计算压缩偏差参数的必要参数:

    当前值斜率(S)=(当前值-上一个存储点值)/时间差,

    当S大于当前最大斜率值时,用新值S来代替当前最大斜率,

    当S小于当前最小斜率值时,用新值S来代替当前最小斜率,这里的时间差是指当前值的测量时间与上一存储点值的测量时间之差。

    接下来,对来自斜率的计算步骤4的测量数据执行压缩偏差参数计算步骤5,此步骤根据数据的动态变化情况,计算相应的压缩偏差参数,提供下一步计算需要的自适应变化参数。下面给出一种计算当前压缩偏差参数的指数形式:

    当前压缩偏差参数=α·exp{-β(当前最大斜率-当前最小斜率)×时间差}其中,参数α和β为给定的正数,这里α称为当前压缩偏差参数的上界,β称为当前压缩偏差参数的变化参数,exp(.)为指数函数。α和β的选择可根据以往数据的统计值以及传感器的测量精度来确定。

    接下来,利用当前压缩偏差参数,计算当前值斜率的当前下界S1和当前上界S2(步骤6),此步骤为数据压缩所做的测试判断提供临界参数:

    S1=当前值斜率-当前压缩偏差参数/时间差

    S2=当前值斜率+当前压缩偏差参数/时间差

    对新算的S1,当大于原有的S1时取新值;对新算的S2,当小于原有的S2时取新值。

    接下来,执行压缩测试判断步骤7。其中,当前值斜率S小于更新后的S1(事件C),当前值斜率S大于更新后的S2(事件D),考察事件C和事件D。当事件C和事件D有一发生时,当前值通过压缩测试,系统将当前值的前一个值存储到历史数据缓冲池,并作为下一轮数据压缩测试的起点和新的上一存储点,并对当前最大/最小斜率、S1和S2赋初值;当事件C和事件D都不发生时,继续测试下一个新的数据点。

    执行完上述各步骤后,当新值到来时,重复以上过程。

    为了更好的对本发明的优势进行描述,下面用已有技术作为对比例子,与本发明的上述实施例进行比较。

    为简便起见,在下面的仿真中,未考虑最大压缩时间和最小压缩时间。此外,数据压缩率定义为(M-N)/M,其中M为总的测试数据个数,N为总的存贮数据个数,这样未存贮的(或称为被压缩的)数据总个数是M-N。

    在此比较中,参予仿真的点(包括初始点)共1001个(未含噪声,见图2中的实线),在旋转门算法中压缩偏差参数取为0.01;在本发明的自适应数据压缩方法中,压缩偏差参数初始值也取为0.01,计算当前压缩偏差参数的上界和其相应的变化参数分别取为0.05和0.5。通过仿真显示,用旋转门算法来压缩共需要存贮16个点(包括初始点和最后一个点),而用本发明的自适应数据压缩方法来压缩只需要存贮8个点(包括初始点和最后一个点),压缩率得到提高。图2中给出旋转门和本发明的方法的存贮点比较,图中标记为o的点为本发明的存贮点,而标记为*的点则为旋转门算法的存贮点。

    在图3和图4中分别给出通过本发明技术和旋转门算法得到的当前值斜率及其斜率变化区域。从图中看出,用旋转门算法来压缩需要将这1001个数据分为15段测试数据集,而本发明只需要分为7段测试数据集。图中的实线为各段中当前值斜率变化曲线,点线为各段斜率的上界变化曲线,点划线为各段斜率的下界变化曲线。仿真结果显示,通过自适应地调整当前压缩偏差参数,动态地放大了各段初始当前值斜率的变化范围,有效地提高了数据的压缩率。

    在上面仿真的数据中增加标准差为0.01的正态随机数,这时由旋转门算法得到的数据压缩率只有43.66%,而通过本发明得到的数据压缩率达到96.60%(见图5和图6)。图5中的曲线为由旋转门算法得到的存贮点连线(共564个数据点);而图6中的实线部分是由1001个实际测量值连成,图中标记为o的点为由本发明得到的存贮点(共34个数据点)。明显地,与旋转门相比,本发明的数据压缩率得到很大的提高,并在一定程度上起到了对测量噪声的抑制作用。

自适应的历史数据压缩方法.pdf_第1页
第1页 / 共14页
自适应的历史数据压缩方法.pdf_第2页
第2页 / 共14页
自适应的历史数据压缩方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《自适应的历史数据压缩方法.pdf》由会员分享,可在线阅读,更多相关《自适应的历史数据压缩方法.pdf(14页珍藏版)》请在专利查询网上搜索。

对数据库中的历史数据压缩处理的自适应数据压缩方法,包括步骤:压缩时间判断:对当前测量值,判断测量时间是否在给定的压缩时间区间内,在当前测量值的时差太小时,不执行后面的步骤,继续考察下一测量数据;在当前测量值的时差太大时,存储当前值的前一值,作为下一轮数据压缩测试的起点和新的上一存储点;斜率的计算:计算当前值斜率及当前最大斜率和最小斜率;对不同时刻的测量数据,根据当前最大/最小斜率,自适应地动态计算。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1