一种实时数据库的结构类型数据的存储方法技术

技术编号:4042845 阅读:656 留言:0更新日期:2012-04-11 18:40
一种实时数据库数据的结构化存储方法,包括以下步骤:1)按字段分解;2)按字段存储;3)字段处理完成判断;4)数据处理完成判断。本发明专利技术采用了把结构类型的数据分解成为实时数据库的标签,并且一一对应,从而可以对结构类型的每个字段分离存储,从而降低单条数据的长度,减小单条记录对系统性能的影响;通过对浮点类型字段值进行阶码分解和替换后,可以通过实时数据库对数据的压缩产生较大的压缩效率,特别是使用排序线性拟合方法更可以获得非常高的压缩比,从而达到对结构化数据高效存储和压缩的目的,具有较高的实际应用价值。

【技术实现步骤摘要】

本专利技术属于数据存储
,涉及实时监控环境产生的数据的存储,特别是对 由结构组成的大批量实时数据的存储处理,为一种实时数据库的结构类型数据的存储方 法。
技术介绍
对于一些实时监控环境产生的数据,除具有数量巨大,采集频度高,持续时间长等 特点外,还需要对结构类型的数据进行存储。对这些大批量采样点的结构类型数据的处理, 特别是如何对采样点的结构类型实时数据进行即时存储,并且如何对这些存储的结构类型 历史数据进行快速高效的访问和分析,就成为实现实时数据库的结构类型数据存储技术的 重点和难点。实时数据库是通过设置标签的方式来对一个测点的数据进行存储,一般测点与标 签是一一对应的关系。每个标签在实时数据库中由一个唯一的标识ID来表示。每个测点 的存储字段通常由标签ID、时间戳、质量码和值组成。实时数据库为了提供存取数据的高效 率和压缩数据的高效率,对测点的值一般仅提供对简单类型数据的存储,比如单精度浮点 数类型,双精度浮点数类型,二进制数据块类型等。其中浮点类型的数据在计算机中的具体存储方式现在通常采用IEEE754标准。该 标准规定基数为2,阶码E用移码表示,尾数M用原码表示,根据原码的规格化方法,最高数 字位总是1,该标准将这个1缺省存储。对于单精度浮点型符号位lbit,阶码8bit,尾数 23bit,共32bit占4个字节;对于双精度浮点型符号位lbit,阶码libit,尾数52bit,共 64bit占8个字节。对于结构类型数据来说,其数据体本身是由多种简单类型数据按照一定规则构造 而成,实时数据库无法直接使用简单数据类型对结构类型数据进行存储。现在实时数据库 对于结构化类型数据的存储,一般的处理方法是把结构类型数据转换为二进制数据块,然 后再存储到数据库中,这种方法有两个比较大的缺点一是由二进制数据块构成的记录,单 条记录的长度可能会比较大,从而导致实时数据库存取效率降低;二是现有的实时数据库 的数据压缩方法对二进制数据块的压缩效率通常比较低,或者根本不提供对二进制数据块 的压缩方法,使得实时数据库的压缩效率降低。总体来说,实时数据库本身提供的存储和压 缩方式对于存储结构化数据来说,在存储和查询效率、磁盘存储空间占用方面都存在较大 的问题。
技术实现思路
本专利技术要解决的问题是对于实时监控环境产生的结构类型数据,需要进行即时 存储并且对存储的历史数据进行快速高效的访问和分析,要在有限的物理存储空间中存储 大量的历史数据,同时还需要考虑数据能够被快速的存储和访问,现有的实时数据存储方 法不能满足这些要求,易受数据长度和压缩效率影响,使得整体存储效率不够理想。本专利技术的技术方案为实时数据库中结构类型数据的存储方法,采集的结构类型 数据构成结构类型数据缓冲队列,从结构类型数据缓冲队列获取数据,进行以下步骤1)按字段分解把获取的结构类型数据的所有字段分解为实时数据库的标签,使 每个字段都对应实时数据库中的唯一一个标签ID ;2)按字段存储对结构类型数据各字段对应的标签ID,输入与该字段对应的历史 数据进行存储,包括以下步骤21)值分解把各字段的浮点值基于浮点数构成标准IEEE754按域分解为符号段 sign、阶码段exps和尾数段tail,具体为对单精度浮点类型的浮点值,共4字节32bit,将 高Ibit存储到符号段sign的低Ibit中,高2-9bit存储到阶码段exps中,低23bit存储 到尾数段tail的低23bit中,不足位的部分都以0填充,其中符号段sign和阶码段exps 为1字节,尾数段tail为4字节;对双精度浮点类型的浮点值,共8字节64bit,将高Ibit 存储到符号段sign的低Ibit中,高2-12bit存储到阶码段exps中,低52bit存储到尾数 段tail的低52bit中,不足位的部分都以0填充,其中符号段sign为1字节,阶码段exps 为2字节,尾数段tail为8字节;22)阶码替换对单精度浮点类型的浮点值,把尾数段tail的高9bit用整数127 替换;对双精度浮点类型的浮点值,把尾数段tail中的高12bit用整数1023替换;进行阶 码替换后的尾数段tail作为该字段的值;23)尾数段tail按值大小排序将阶码替换后获得的尾数段tail的值进行排序 处理,按照值的大小从小到大进行排序,排序后每个值对应一个位序;24)值域线性拟合对于排好顺序的值,以其位序为横坐标,值为纵坐标建立值 域,按照排序顺序对其依序进行线性拟合处理,线性拟合处理最终获得两个点,这两个点连 接的直线为拟合直线,通过拟合直线来拟合排序在这两个点之间的所有点,从而达到数据 压缩的目的;线性拟合处理中,各个点到已获得的拟合直线的距离偏差均在设定的压缩精 度范围内,如所处理的点到拟合直线的距离偏差在设定的压缩精度范围外,则以这一点为 起点开始新的线性拟合处理;25)按域组合根据线性拟合得到的数据,对字段进行域分隔,产生标识域、时间 域和数据值域三部分,标识域存储字段的标签ID,时间域为数据进行存储时的时间戳,数据 值域包括符号段sign、阶码段exps和线性拟合处理后的尾数段tai 1数据,把三个域的内容 顺序组合在一起构成数据块;26)哈弗曼压缩存储把按域组合得到的数据块进行哈弗曼编码压缩,并存储压 缩后的数据;3)字段处理完成判断检查结构类型数据的每个字段对应的标签ID是否都已处 理,如果完成则执行步骤4),没有完成则回到步骤2);4)数据处理完成判断检查获取的历史数据是否都已完成存储过程,如果完成则 获取新的历史数据,开始下一轮存储处理,没有完成则回到步骤1)。进一步的,从结构类型数据缓冲队列获取历史数据时,先进行缓冲数据量判断,设 定一次处理数据量的限值,对从历史数据缓冲队列获取的历史数据量与所述限值进行比 较,超过限值,则对获取的历史数据按字段分解,否则继续从历史数据缓冲队列获取历史数 据。本专利技术值域线性拟合具体为241)设置起点和待压点并保存起点对于排好顺序的历史数据的值,按照排序顺 序依序进行处理,按位序取出待处理的第一个点作为拟合起点(Xl,yi),下一点作为待压点 (xn,yn),如果本步骤是第一次执行则存储起点(Xpy1);242)求出待压点的门限点和门限点斜率范围设置压缩精度d%,求出待压点 (xn,yn)的两个门限点(xn,yn±|ynd% I),所述门限点是指点值按照压缩精度确定的可近似 范围边界,可近似范围为,然后分别求出从拟合起点O^y1)到 两个门限点所确定直线的斜率范围的最小值knmin和最大值knmax Xn 一 XiXn Xl通过确定本次拟合过程的斜率判断范围 = 243)数据量判断按位序检查待压点是否还存在下一点,如果没有下一点,则转 到步骤247)保存待压点;如果存在下一点,则转到步骤244);244)获得判断点并求出起点到判断点的斜率按位序取出待压点的下一点作为 判断点(Xn+1,yn+1),求出从拟合起点到判断点所确定直线的斜率kn+1 「 ^ k —Uk +\ ~ ~ " n+l 一 -*·1245)斜率范围判断检查kn+1是否在范围内,在此范围内表示待压点 可以被压缩,转到步骤246);不在此范围内,表示待压点不能被压缩,需要开始新的压缩过 程,本文档来自技高网
...

【技术保护点】
实时数据库中结构类型数据的存储方法,其特征是采集的结构类型数据构成结构类型数据缓冲队列,从结构类型数据缓冲队列获取数据,进行以下步骤:1)按字段分解:把获取的结构类型数据的所有字段分解为实时数据库的标签,使每个字段都对应实时数据库中的唯一一个标签ID;2)按字段存储:对结构类型数据各字段对应的标签ID,输入与该字段对应的历史数据进行存储,包括以下步骤:21)值分解:把各字段的浮点值基于浮点数构成标准IEEE754按域分解为符号段sign、阶码段exps和尾数段tail,具体为成则回到步骤1)。:对单精度浮点类型的浮点值,共4字节32bit,将高1bit存储到符号段sign的低1bit中,高2-9bit存储到阶码段exps中,低23bit存储到尾数段tail的低23bit中,不足位的部分都以0填充,其中符号段sign和阶码段exps为1字节,尾数段tail为4字节;对双精度浮点类型的浮点值,共8字节64bit,将高1bit存储到符号段sign的低1bit中,高2-12bit存储到阶码段exps中,低52bit存储到尾数段tail的低52bit中,不足位的部分都以0填充,其中符号段sign为1字节,阶码段exps为2字节,尾数段tail为8字节;22)阶码替换:对单精度浮点类型的浮点值,把尾数段tail的高9bit用整数127替换;对双精度浮点类型的浮点值,把尾数段tail中的高12bit用整数1023替换;进行阶码替换后的尾数段tail作为该字段的值;23)尾数段tail按值大小排序:将阶码替换后获得的尾数段tail的值进行排序处理,按照值的大小从小到大进行排序,排序后每个值对应一个位序;24)值域线性拟合:对于排好顺序的值,以其位序为横坐标,值为纵坐标建立值域,按照排序顺序对其依序进行线性拟合处理,线性拟合处理最终获得两个点,这两个点连接的直线为拟合直线,通过拟合直线来拟合排序在这两个点之间的所有点,从而达到数据压缩的目的;线性拟合处理中,各个点到已获得的拟合直线的距离偏差均在设定的压缩精度范围内,如所处理的点到拟合直线的距离偏差在设定的压缩精度范围外,则以这一点为起点开始新的线性拟合处理;25)按域组合:根据线性拟合得到的数据,对字段进行域分隔,产生标识域、时间域和数据值域三部分,标识域存储字段的标签ID,时间域为数据进行存储时的时间戳,数据值域包括符号段sign、阶码段exps和线性拟合处理后的尾数段tai...

【技术特征摘要】

【专利技术属性】
技术研发人员:武爱斌魏小庆季胜鹏乐蔚芸张云鹏
申请(专利权)人:南京朗坤软件有限公司
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1