数据存储方法和装置、数据读取方法和装置的制造方法

文档序号:9396815阅读:214来源:国知局
数据存储方法和装置、数据读取方法和装置的制造方法
【技术领域】
[0001] 本发明涉及数据存储技术领域,特别涉及一种数据存储方法和装置、数据读取方 法和装置。
【背景技术】
[0002] 随着地震勘探技术的发展和需要,工区越来越大,采集密度也越来越大,地震数据 量越来越大;另一方面,在地震数据处理与解释过程中,多工区、多用户、多个处理解释结果 的并存,使得计算机的存储空间总是供不应求。
[0003] 在地震数据处理解释的实际生产应用过程中,数据体存储格式通常是32位浮点 型,因为该格式提供了足够的数据精度。有时也会用到8位整型格式的数据体,虽然8位整 型格式的数据体精度有所损失,但是存储空间只有32位浮点型数据体的1/4,且大多数时 候,尤其是作为最终成果输出时,对于数据体的精度要求并不是很高的时候,8位体已经能 够满足要求。
[0004] 由此可见,8位整型格式的数据体和32位浮点型格式的数据体各自都存在一定的 缺陷,如何提供一种既能保证数据精度又能减少数据存储空间的数据存储和读取方法,目 前尚未提出有效的解决方案。

【发明内容】

[0005] 本发明实施例提供了一种数据存储方法,以达到在保证数据精度的情况下减少存 储空间的目的,该方法包括:
[0006] 获取一道32位数据体的数据;
[0007] 统计该道的所有数据,得到最大值和最小值;
[0008] 当所述最大值与所述最小值不相等时,采用极差变换公式对该道的所有数据进行 从32位数据体到8位数据体的压缩变换;
[0009] 当所述最大值与所述最小值相等时,将该道的所有数据赋值为0 ;
[0010] 将数据转换后的结果以道为单位进行存储,且将所述最大值和所述最小值记录在 该道的道头数据的预定字段中。
[0011] 在一个实施方式中,所述极差变换公式为:
[0013] 其中,Anin表示所述最小值,A _表示所述最大值,A表示变换前的32位数据体的 数据值,round表示四舍五入法取整函数,A'表示变换后的8位数据体的数据值。
[0014] 在一个实施方式中,在内存中进行所述压缩变换。
[0015] 本发明实施例还提供了一种数据读取方法,以达到在保证数据精度的情况下减少 存储空间的目的,该方法包括:
[0016] 确定待读取的8位数据体的数据道的道位置;
[0017] 从该数据道的道头数据的预定字段中读取该道原始32位数据体的数据的最大值 和最小值;
[0018] 当所述最大值与所述最小值不相等时,采用极差变换还原公式对该道的所有数据 进行从8位数据体到32位数据体的数据还原,将还原后的结果作为该道的数据值;
[0019] 当所述最大值与所述最小值相等时,将所述最大值作为该道的所有数据的取值。
[0020] 在一个实施方式中,所述极差变换还原公式为:
[0022] 其中,Anil^示所述最小值,Aniax表示所述最大值,A'表示还原前的8位数据体的 数据值,A"表示还原后的32位数据体的数据值。
[0023] 在一个实施方式中,在内存中进行所述数据还原。
[0024] 本发明实施例还提供了一种数据存储装置,以达到在保证数据精度的情况下减少 存储空间的目的,该装置包括:
[0025] 数据获取模块,用于获取一道32位数据体的数据;
[0026] 统计模块,用于统计该道的所有数据,得到最大值和最小值;
[0027] 压缩变换模块,用于在所述最大值与所述最小值不相等的情况下,采用极差变换 公式对该道的所有数据进行从32位数据体到8位数据体的压缩变换;
[0028] 数据赋值模块,用于在所述最大值与所述最小值相等的情况下,将该道的所有数 据赋值为〇 ;
[0029] 存储模块,用于将数据转换后的结果以道为单位进行存储,且将所述最大值和所 述最小值记录在该道的道头数据的预定字段中。
[0030] 在一个实施方式中,所述极差变换公式为:
[0032] 其中,Anin表示所述最小值,A _表示所述最大值,A表示变换前的32位数据体的 数据值,round表示四舍五入法取整函数,A'表示变换后的8位数据体的数据值。
[0033] 本发明实施例还提供了一种数据读取装置,以达到在保证数据精度的情况下减少 存储空间的目的,该装置包括:
[0034] 确定模块,用于确定待读取的8位数据体的数据道的道位置;
[0035] 读取模块,用于从该数据道的道头数据的预定字段中读取该道原始32位数据体 的数据的最大值和最小值;
[0036] 数据还原模块,用于在所述最大值与所述最小值不相等的情况下,采用极差变换 还原公式对该道的所有数据进行从8位数据体到32位数据体的数据还原,将还原后的结果 作为该道的数据值;
[0037] 取值模块,用于在所述最大值与所述最小值相等的情况下,将所述最大值作为该 道的所有数据的取值。
[0038] 在一个实施方式中,所述极差变换还原公式为:
[0040] 其中,Anil^示所述最小值,A_表示所述最大值,A'表示还原前的8位数据体的 数据值,A"表示还原后的32位数据体的数据值。
[0041] 在本发明实施例中,提出了一种数据存取方法,通过极差变换公式进行32位数据 体到8位数据体的压缩变换,并将数据道的最大值和最小值信息存储在道头数据的预定字 段中,然后在进行数据读取时,将8位数据体转换至32位数据体进行数据读取,从而解决了 现有技术中无法同时保证数据精度和减少存储空间的技术问题,达到了在保证数据精度的 同时有效减少存储空间,进一步的,相对于现有的32位到8位的数据转换方法,有更好的数 据适应性,能够恢复样点原本32位数值的量级,如果有量纲还可以恢复样点原本32位数值 的量纲,且最终得到的数据精度有很大的提高。
【附图说明】
[0042] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不 构成对本发明的限定。在附图中:
[0043] 图1是根据本发明实施例的数据存储和读取方法的方法流程图;
[0044] 图2是根据本发明是实施例的数据存取方法与现有的数据存取方法的数据精度 比较示意图;
[0045] 图3是根据本发明实施例的数据存取系统的结构框图。
【具体实施方式】
[0046] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对 本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并 不作为对本发明的限定。
[0047] 发明人考虑到,目前地震处理、解释算法输入输出的通常都是32位单精度浮点数 据,因此,可以将输出的32位浮点型数据体先转换为8位整型数据体,然后再进行存储,在 需要读取的时候,先将8位整型数据体转换为32位浮点型数据体再读取。
[0048] 目前有一种数据转换方式,主要是采用如下的线性比例变换公式进行转换:
[0050] 其中,A表示变换前的32位浮点型数据体的数据值,A'表示变换后的8位整型数 据体的数据值,round表示四舍五入法取整函数,|A|_表示数据体中所有数据统计得到的 最大绝对值。
[0051] 通过这种方式的优点是保持了原始数据的线性比例关系,即对原始数据进行了等 比例的压缩或拉伸,对于无量纲数据可在读出后可直接使用,但缺点是,在某些情况下得到 的8位数据分辨率较低,只有在数据体的最大、最小值正负对称时,转换后的8位数据才能 充满[-127,127]的空间,否则8位数据只能占据[-127,127]区间的一部分,不能充分利用 8位数据所能表示的最多255个值。例如:当某个数据体数值分布在[0. 997,1. 003]区间 时,采用上述公式变换后所有数值都变换成了 127,这显然是有问题的。
[0052] 而且,在对地震数据进行处理过程中,一般都是边计算边输出的,按照上述方式需 要统计全体结果数据的最大绝对值,在整个数据体计算完之前,这个
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1