发明名称 一种实时数据库的结构类型数据的存储方法
摘要 一种实时数据库数据的结构化存储方法,包括以下步骤:1)按字段分解;2)按字段存储;3)字段处理完成判断;4)数据处理完成判断。本发明采用了把结构类型的数据分解成为实时数据库的标签,并且一一对应,从而可以对结构类型的每个字段分离存储,从而降低单条数据的长度,减小单条记录对系统性能的影响;通过对浮点类型字段值进行阶码分解和替换后,可以通过实时数据库对数据的压缩产生较大的压缩效率,特别是使用排序线性拟合方法更可以获得非常高的压缩比,从而达到对结构化数据高效存储和压缩的目的,具有较高的实际应用价值。
申请公布号 CN101923569A 申请公布日期 2010.12.22
申请号 CN201010223091.7 申请日期 2010.07.09
申请人 南京朗坤软件有限公司 发明人 武爱斌;魏小庆;季胜鹏;乐蔚芸;张云鹏
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 南京天翼专利代理有限责任公司 32112 代理人 黄明哲
主权项 实时数据库中结构类型数据的存储方法,其特征是采集的结构类型数据构成结构类型数据缓冲队列,从结构类型数据缓冲队列获取数据,进行以下步骤:1)按字段分解:把获取的结构类型数据的所有字段分解为实时数据库的标签,使每个字段都对应实时数据库中的唯一一个标签ID;2)按字段存储:对结构类型数据各字段对应的标签ID,输入与该字段对应的历史数据进行存储,包括以下步骤:21)值分解:把各字段的浮点值基于浮点数构成标准IEEE754按域分解为符号段sign、阶码段exps和尾数段tail,具体为:对单精度浮点类型的浮点值,共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和线性拟合处理后的尾数段tail数据,把三个域的内容顺序组合在一起构成数据块;26)哈弗曼压缩存储:把按域组合得到的数据块进行哈弗曼编码压缩,并存储压缩后的数据;3)字段处理完成判断:检查结构类型数据的每个字段对应的标签ID是否都已处理,如果完成则执行步骤4),没有完成则回到步骤2);4)数据处理完成判断:检查获取的历史数据是否都已完成存储过程,如果完成则获取新的历史数据,开始下一轮存储处理,没有完成则回到步骤1)。
地址 210013 江苏省南京市鼓楼区定淮门12号世界之窗科技软件园