CN1459743A - 自适应的历史数据压缩方法 - Google Patents
自适应的历史数据压缩方法 Download PDFInfo
- Publication number
- CN1459743A CN1459743A CN 02120383 CN02120383A CN1459743A CN 1459743 A CN1459743 A CN 1459743A CN 02120383 CN02120383 CN 02120383 CN 02120383 A CN02120383 A CN 02120383A CN 1459743 A CN1459743 A CN 1459743A
- Authority
- CN
- China
- Prior art keywords
- data
- compression
- current
- slope
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
对数据库中的历史数据压缩处理的自适应数据压缩方法,包括步骤:压缩时间判断:对当前测量值,判断测量时间是否在给定的压缩时间区间内,在当前测量值的时差太小时,不执行后面的步骤,继续考察下一测量数据;在当前测量值的时差太大时,存储当前值的前一值,作为下一轮数据压缩测试的起点和新的上一存储点;斜率的计算:计算当前值斜率及当前最大斜率和最小斜率;对不同时刻的测量数据,根据当前最大/最小斜率,自适应地动态计算压缩偏差参数;用新计算的压缩偏差参数,计算当前值斜率的上界和下界;压缩测试判断:当前值通过压缩测试,存储当前值的前一个值,作为下一轮数据压缩测试的起点和新的上一存储点,否则继续测试下一个新的数据点。
Description
技术领域
本发明涉及在实时数据库中历史数据的压缩技术,尤其是一种自适应的历史数据压缩方法。
背景技术
对于一个实时数据库来说,由于数据量之巨大,数据档案的管理无疑是其最重要的部分之一,而关键的技术即在于能否高效地存储和访问数据。由于历史数据量大,如果不进行压缩而直接保存需要很大的物理存储介质,因此对历史数据的压缩就成为实时数据库中最重要的技术之一。
在实时数据库***中,历史数据压缩技术的使用在传统意义上是为了用于减少磁盘空间,针对不同的应用,数据压缩有多种方法,实时数据库***不仅要求能够在有限的硬盘空间中存储大量历史数据,而且还要求这些数据能够快速地被访问。然而在使用压缩技术以后出现的主要问题是,在压缩数据库中处理查询变得很慢,这就需要对数据压缩方法提出了一定的限制要求,要根据过程数据的特点进行数据压缩。对于一个实时数据库来说,由于数据量之巨大,数据档案的管理无疑是其最重要的部分之一,而关键的技术即在于能否高效地存储和访问数据。由于历史数据量大,如果不进行压缩而直接保存需要很大的物理存储介质,因而对历史数据的压缩就成为实时数据库中最重要的技术之一。
本申请人在石化应用软件典型示范工程中的生产信息管理与决策支持***的研制与开发工作中,开发了一种集实时数据库技术、时态数据库技术为一体的实时数据库***AGILOR,在此***中,对历史数据的压缩、归档管理进行了重点研究。
在历史数据压缩技术的研究开发过程中,借鉴了美国OSI公司开发的旋转门压缩算法。在旋转门算法中,压缩偏差参数取定为常数。实验数据表明,针对同样的压缩偏差参数,对一些测试的数据,旋转门算法有较高的压缩比;而对其它一些测试的数据,压缩比要小许多。
通常,任何装置测量数据可分为三个部分,第一部分是相对变化部分,取决于测量参数的物理变化过程,第二部分为常值部分,是绝对的,可根据以往的历史数据进行预测,第三部分是传感器的测量噪声或称为测量误差,取决于传感器的测量精度。在这三部分中,常值部分对旋转门算法无影响,而起影响作用的是其它两部分。通常相对变化部分是连续变化的、有规律的,而测量误差是随机的、不确定的。当传感器测量精度高时,测量误差就小,这时数据压缩率主要取决于数据的相对变化部分。当传感器测量精度低时,测量误差大,且对数据压缩影响很大。当测量误差大到一定程度时,它覆盖了数据的相对变化部分,此时,要描述数据的相对变化部分已变得无意义。
具体而言,旋转门算法存在如下两方面的主要不足:
1).压缩偏差参数的大小对利用旋转门算法得到的数据压缩率影响比较大;
2).对测量误差很敏感,当传感器的测量误差相对比较大时,利用旋转门算法得到的数据压缩率显著减小。
发明内容
本发明的目的是提供一种自适应历史数据压缩方法,它能够通过动态选取压缩偏差参数并利用数据平滑技术抑制测量噪声,从而减小传感器的测量误差对压缩算法的影响。
本发明的自适应数据压缩方法包括步骤:
压缩时间判断:对来自历史数据缓冲队列的当前测量值,判断其测量时间是否在相应压缩时间区域内;
斜率的计算:除了计算当前值斜率外,还计算当前最大斜率和当前最小斜率等;
压缩偏差参数的计算:对不同时刻的测量数据,根据当前最大/最小斜率,自适应地动态计算压缩偏差参数;
斜率上界和下界的计算:利用新计算的压缩偏差参数,计算当前值斜率的上界和下界;
压缩测试判断(其功能是判断当前值是否在其压缩范围内,以确定被测试点是否需要存储):当前值通过压缩测试,***将当前值的前一个值存储到历史数据缓冲池,并作为下一轮数据压缩测试的起点和新的上一存储点,否则继续测试下一个新的数据点。
在压缩时间判断步骤中还包括用于对线性型变化趋势的数据进行预处理的数据压缩预处理步骤(其功能是对一些具有典型特征的测量数据进行快速处理,减少相应的压缩处理时间),其中包括对采集灵敏度测试和二阶差分上界测试步骤。
还包括数据平滑处理步骤(其功能是减弱测量噪声对测量数据的影响,提高数据的压缩比),其中采用滤波平滑技术,对测量数据进行平滑处理。
其中当前二阶差分的绝对值表达式为:
其中,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同时成立时,当前的测量值不存贮,不执行下面的步骤,继续考察下一个测量数据。其中当前二阶差分的绝对值表达式之一是:
其中,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个数据点)。明显地,与旋转门相比,本发明的数据压缩率得到很大的提高,并在一定程度上起到了对测量噪声的抑制作用。
Claims (5)
1.在当前测量时间差太大时,***将当前值的前一个值存储到历史数据缓冲池,并作为下一轮数据压缩测试的起点和新的上一存储点;
斜率的计算:除了计算当前值斜率外,还计算当前最大斜率和当前最小斜率等;
压缩偏差参数的计算:对不同时刻的测量数据,根据当前最大/最小斜率,自适应地动态计算压缩偏差参数;
斜率上界和下界的计算:利用新计算的压缩偏差参数,计算当前值斜率的上界和下界;
压缩测试判断:当前值通过压缩测试,***将当前值的前一个值存储到历史数据缓冲池,并作为下一轮数据压缩测试的起点和新的上一存储点,否则继续测试下一个新的数据点;
历史数据缓冲:利用历史数据缓冲池对关键的历史数据进行存储。
2.根据权利要求1所述的自适应数据压缩方法,其特征在于在压缩时间判断步骤中还包括用于对线性型变化趋势的数据进行预处理的数据压缩预处理步骤,其中包括对采集灵敏度测试和二阶差分上界测试步骤。
3.根据权利要求1或2所述自适应数据压缩方法,其特征在于还包括数据平滑处理步骤,其中采用滤波平滑技术,对测量数据进行平滑处理。
4.根据权利要求2所述的自适应数据压缩方法,其特征在于所述当前二阶差分的绝对值表达式为:
其中,yi为当前测量值,τi为当前测量值的测量时间与上一测量值的测量时间之差。
5.根据权利要求3所述的自适应数据压缩方法,其特征在于所述滤波平滑技术可采用的数据平滑公式为:
Xi=axi-1+byi+(1-a-b)yi-1其中,xi为当前时刻的平滑处理后的结果,xi-1为前一时刻的平滑值,yi为当前时刻的测量数据,yi-1为前一时刻的测量数据,a和b为大于零的加权因子,且满足a+b<1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02120383 CN1223951C (zh) | 2002-05-24 | 2002-05-24 | 自适应的历史数据压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02120383 CN1223951C (zh) | 2002-05-24 | 2002-05-24 | 自适应的历史数据压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1459743A true CN1459743A (zh) | 2003-12-03 |
CN1223951C CN1223951C (zh) | 2005-10-19 |
Family
ID=29427022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02120383 Expired - Fee Related CN1223951C (zh) | 2002-05-24 | 2002-05-24 | 自适应的历史数据压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1223951C (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100412863C (zh) * | 2005-08-05 | 2008-08-20 | 北京人大金仓信息技术有限公司 | 一种海量数据紧缩存储方法及执行装置 |
CN100430943C (zh) * | 2006-01-09 | 2008-11-05 | 中国科学院自动化研究所 | 一种过程工业历史数据智能两级压缩方法 |
CN101069353B (zh) * | 2004-09-28 | 2011-05-04 | 通用电气公司 | 工业数据压缩***和方法 |
CN102622367A (zh) * | 2011-01-30 | 2012-08-01 | 上海振华重工(集团)股份有限公司 | 流程数据的过滤和压缩方法 |
CN101807925B (zh) * | 2010-02-08 | 2013-01-30 | 江苏瑞中数据股份有限公司 | 一种基于数值排序线性拟合的历史数据压缩方法 |
CN103646056A (zh) * | 2013-11-29 | 2014-03-19 | 北京广利核***工程有限公司 | 一种基于特征值存储的历史数据存储和抽取方法 |
CN106649026A (zh) * | 2016-09-26 | 2017-05-10 | 国家电网公司北京电力医院 | 适用于运维自动化***的监测数据压缩方法 |
CN109933568A (zh) * | 2019-03-13 | 2019-06-25 | 安徽海螺集团有限责任公司 | 一种工业大数据平台***及其查询方法 |
CN111551244A (zh) * | 2019-02-12 | 2020-08-18 | 计算***有限公司 | 压缩标量振动数据 |
CN112182034A (zh) * | 2019-07-03 | 2021-01-05 | 河南许继仪表有限公司 | 一种数据压缩方法与装置 |
CN113114265A (zh) * | 2021-04-26 | 2021-07-13 | 北京交通大学 | 一种基于外推法的同步相量实时数据压缩方法 |
CN117650791A (zh) * | 2024-01-30 | 2024-03-05 | 苏芯物联技术(南京)有限公司 | 一种融合焊接工艺机理的焊接历史气流数据压缩方法 |
-
2002
- 2002-05-24 CN CN 02120383 patent/CN1223951C/zh not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101069353B (zh) * | 2004-09-28 | 2011-05-04 | 通用电气公司 | 工业数据压缩***和方法 |
CN100412863C (zh) * | 2005-08-05 | 2008-08-20 | 北京人大金仓信息技术有限公司 | 一种海量数据紧缩存储方法及执行装置 |
CN100430943C (zh) * | 2006-01-09 | 2008-11-05 | 中国科学院自动化研究所 | 一种过程工业历史数据智能两级压缩方法 |
CN101807925B (zh) * | 2010-02-08 | 2013-01-30 | 江苏瑞中数据股份有限公司 | 一种基于数值排序线性拟合的历史数据压缩方法 |
CN102622367A (zh) * | 2011-01-30 | 2012-08-01 | 上海振华重工(集团)股份有限公司 | 流程数据的过滤和压缩方法 |
CN102622367B (zh) * | 2011-01-30 | 2014-08-20 | 上海振华重工(集团)股份有限公司 | 流程数据的过滤和压缩方法 |
CN103646056A (zh) * | 2013-11-29 | 2014-03-19 | 北京广利核***工程有限公司 | 一种基于特征值存储的历史数据存储和抽取方法 |
CN103646056B (zh) * | 2013-11-29 | 2017-02-01 | 北京广利核***工程有限公司 | 一种基于特征值存储的历史数据存储和抽取方法 |
CN106649026A (zh) * | 2016-09-26 | 2017-05-10 | 国家电网公司北京电力医院 | 适用于运维自动化***的监测数据压缩方法 |
CN111551244A (zh) * | 2019-02-12 | 2020-08-18 | 计算***有限公司 | 压缩标量振动数据 |
CN109933568A (zh) * | 2019-03-13 | 2019-06-25 | 安徽海螺集团有限责任公司 | 一种工业大数据平台***及其查询方法 |
CN112182034A (zh) * | 2019-07-03 | 2021-01-05 | 河南许继仪表有限公司 | 一种数据压缩方法与装置 |
CN113114265A (zh) * | 2021-04-26 | 2021-07-13 | 北京交通大学 | 一种基于外推法的同步相量实时数据压缩方法 |
CN113114265B (zh) * | 2021-04-26 | 2024-03-19 | 北京交通大学 | 一种基于外推法的同步相量实时数据压缩方法 |
CN117650791A (zh) * | 2024-01-30 | 2024-03-05 | 苏芯物联技术(南京)有限公司 | 一种融合焊接工艺机理的焊接历史气流数据压缩方法 |
CN117650791B (zh) * | 2024-01-30 | 2024-04-05 | 苏芯物联技术(南京)有限公司 | 一种融合焊接工艺机理的焊接历史气流数据压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1223951C (zh) | 2005-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1223951C (zh) | 自适应的历史数据压缩方法 | |
KR101779992B1 (ko) | 데이터 저장 디바이스들에 대한 액세스들의 공간적인 분포에 기초하는 캐싱 | |
US20030217113A1 (en) | Caching techniques for streaming media | |
Thiébaut et al. | Improving disk cache hit-ratios through cache partitioning | |
CN106649026B (zh) | 适用于运维自动化***的监测数据压缩方法 | |
CN110191159B (zh) | 一种资源服务器的负载调节方法及***、设备 | |
CN111782700B (zh) | 基于双层结构的数据流频次估计方法、***及介质 | |
CN104657286A (zh) | 一种分级存储方法及装置 | |
CN1968236A (zh) | 一种多普勒频偏估计方法 | |
CN111397705A (zh) | 称重传感器用于防抖的蠕变补偿方法、装置和存储介质 | |
Whittle et al. | Using multiple predictors to improve the accuracy of file access predictions | |
CN109491619A (zh) | 缓存数据处理方法、装置和*** | |
CN109828031A (zh) | 岩石脆性评价方法及装置 | |
CN116610469B (zh) | 一种固态硬盘的综合质量性能测试方法及*** | |
CN112733060A (zh) | 基于会话聚类预测的缓存替换方法、装置及计算机设备 | |
CN114153760B (zh) | 基于权重的健值存储缓存淘汰方法、***及存储介质 | |
Tsybanyov | Application of Modified Fatigue Curve for Evaluation of Fatigue Damage of Steels at Variable Stress Amplitudes. Part 1. Calculation Model and Initial Data at Constant Stress Amplitudes | |
CN117951921B (zh) | 一种边坡地震易损性评估方法 | |
CN116743764B (zh) | 工业互联网标识解析管理*** | |
CN117572503B (zh) | 一种岩石波速测试方法 | |
CN117312755A (zh) | 一种基于Copula函数的钻井参数优化方法 | |
CN109596813B (zh) | 获取页岩区块的页岩气富集程度的方法和装置 | |
CN1581295A (zh) | 预估语音信号的语调估测值的方法 | |
CN117827108A (zh) | 一种数据处理方法、***、设备以及存储介质 | |
CN118194516A (zh) | 一种退化设备剩余寿命估计方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20051019 Termination date: 20140524 |