基于表格结构的测井数据文件存储方法

文档序号:5325274阅读:140来源:国知局
专利名称:基于表格结构的测井数据文件存储方法
技术领域
本发明属于数据存储领域,特别是石油工程中数控测井、数字处理领域,具体是应用于测井数控设备数据采集系统和资料处理系统的基于表格结构的测井数据文件存储方 法。
背景技术
测井行业是石油工程中的源头行业,肩负着地层资料采集工作,数据的种类繁多, 包括
1、单井基础信息;
2、野外测井施工基本数据(包括裸眼井测井施工数据、套管井测井施工数据、井壁取心 施工基本数据等);
3、下井仪器及原始测井曲线描述数据;
4、原始测井曲线数据,包括连续深度测量数据(如一维、二维、三维甚至多维测井曲线 或图像数据)、点测测量数据(如点测井斜数据、重复式电缆地层测试数据、点测流量数据 等);
5、实验数据,如岩心分析、化验结果等离散数据;
6、测井资料数字处理基本数据(解释参数等);
7、测井处理成果曲线数据(包括一维、二维、三维甚至多维测井曲线或图像数据);
8、分层解释数据表(包括完井地质参数解释结果数据表、产液剖面解释成果数据、注入 剖面解释成果、固井质量解释成果等);
9、点测解释结果数据表(如电缆地层测试解释结果数据)
10、测井描述信息(如技术说明等)。长期以来如何实现这些信息的统一存储、并被快速存取问题,一直没有得到有效 的解决,以至于测井行业中数据格式没有统一的标准,数据文件杂乱。这种状况为测井资料 的后期应用、开发综合处理系统、行业间的交流带来了极大的不便。

发明内容
本发明的目的是为石油测井行业中提供在数控测井系统和数据处理系统中通用 的基于表格结构的测井数据文件存储方法数据存储方法,以存储测井行业中全部测井信 息。
为实现上述目的,本发明的测井数据文件存储方法是测井数据集中存储在同一个 数据单元中,该方法包括以下步骤
在数据单元的头部设立井信息区,将井的基本信息、测井信息、文件本身信息存储于 井信息区中,所述井的基本信息至少包括井名称、所属单位、大地坐标,所述测井信息至少 包括测井单位、测井时间,所述文件本身信息包括文件大小、已存储表个数、预留最大表个 数;在数据单元中井信息区的后部按照测井对象的顺序建立测井对象基本信息,在测井 对象基本信息区依次存放各测井对象的基本信息,该测井对象的基本信息包括测井对象的 名称、数据来源、表格存储位置、数据体存储位置、记录数;
以链表的方式建立与各测井对象基本信息区相对应的测井对象数据区,在测井对象数 据区中依次存储各测井对象数据,将各测井对象数据用表格的形式表示,所述表格横向代 表测井对象的维信息,纵向代表记录信息,横、纵向的交叉点代表数据体,该表格由字段信 息和字段数据体两部分构成。进一步的,所述测井对象基本信息区中数据体存储位置、记录数有多组,用于该测 井对象深度扩展时在测井对象基本信息区尾部快速建立数据存储区。进一步的,所述测井对象基本信息区中测井对象的各维的数据体采用横向顺序排 列方式存储,对于等间隔采样的数据体简化为起止信息和等间距量,省略其数据体,并将该 信息存储于维信息中;对于非等间距采样的数据按记录逐条存储;对于数据体的定位是依 据记录号、对象维数、数据类型等信息确定。进一步的,所述测井对象基本信息区中数据体可不连续存放,一个表的数据体数 最大不超过10块,若超过10次则需整理、合并数据体一次。进一步的,所述测井对象基本信息区中测井对象的基本信息还包括修改历史信息 描述结构变量数组,当数据被修改时,可记录修改的历史信息,当超过最大记录时自动循环覆盖。进一步的,对每个测井对象,需要修改数据时,自动创建一个新的数据体,其最原 始的表体数据被保留,以后的修改只在新生成的数据体上进行。进一步的,所述测井对象数据区中测井对象字段信息用来定义各字段的数据体存 放方式,字段数据体按各字段描述所定义的存储方式,连续存放的字段不存储具体数据。本发明为石油测井行业中提供一种能够存储测井行业数控测井系统和数据处理 系统能够直接使用的数据存储方法,既适应于目前已有的数据信息,又能适用于未来可能 的数据信息,并解决众多测井信息的综合应用问题,为开发综合处理系统平台提供技术支 持。


图1是本发明SLF文件结构图2是本发明的SLF文件物理存储结构图3是本发明的测井对象数据存储物理结构图4是本发明的数据体被扩展后的数据存储物理结构图。
具体实施例方式本发明的测井数据文件(简称SLF)存储方法是测井数据文件存储方法是测井数据集中存储在同一个数据单元中,该方法步骤如下
在数据单元的头部设立井信息区,将井的基本信息、测井信息、文件本身信息存储于 井信息区中,所述井的基本信息至少包括井名称、所属单位、大地坐标,所述测井信息至少 包括测井单位、测井时间,所述文件本身信息包括文件大小、已存储表个数、预留最大表个数;
在数据单元中井信息区的后部按照测井对象的顺序建立测井对象基本信息,在测井 对象基本信息区依次存放各测井对象的基本信息,该测井对象的基本信息包括测井对象的 名称、数据来源、表格存储位置、数据体存储位置、记录数;
以链表的方式建立与各测井对象基本信息区相对应的测井对象数据区,在测井对象数 据区中依次存储各测井对象数据,将各测井对象数据用表格的形式表示,所述表格横向代 表测井对象的维信息,纵向代表记录信息,横、纵向的交叉点代表数据体,该表格由字段信 息和字段数据体两部分构成。
具体实施例如下 第一步建立井信息区 1、建立井信息结构
井信息(也称为文件头信息)结构包括文件本身信息、井基本信息和测井信息,字节长 度512字节。具体信息如表1所示 表1文件头信息描述
2、表1信息说明
(1)Version版本号;
(2)BinaryType 二进制数据标准类型 0_Intelx86、l-PowerPC、2_SPARC ;
(3)TableNumber 已存储表个数;
(4)MaxTableNumber 预留最大表个数;
(5)FileSize 文件大小;
(6)TableMessageLength 设定表基本信息长度,用于控制记录表被修改的情况信息;
(7)TimeCreate 文件产生日期、时间;
(8)AreaName 油田名称;
从(8)- (23)部分,用于描述当前文件所含井的基本信息,该部分也可以被存储在该文 件内部的井基本信息表格中;(24) Reserved 备用信息。3、文件中物理存储位置
测井数据文件集中存储在同一个物理数据单元中,井信息区位于物理数据单元的 头部,即最顶部,占用512字节。第二步建立测井对象基本信息区
1、建立测井对象基本信息结构
测井对象基本信息结构由一系列的信息描述组成,用于表格信息索引、定位,该结构 的字节数由井信息区中的TableMessageLength项确定。测井对象基本信息结构如表2所 示
表2表基本信息描述
2、表2信息说明 (1) Name 表名称;(2)HzName 表别名(可以是中文名称);
(3)SerialID:所属测井系列,O-声波,侧向,2-倾角等;
(4)Type:表类型,O-表格、1-曲线、2_波列、3-fmt、4_TDT、5-阵列数据6-包数据、7其
它;
(5)DataSource 数据来源;
(B)Status 表删除标志,O-正常状态,可以进行正常的读写操作;1-删除状态,用户可 以恢复,当执行文件整理时,清除出该表;
(7)FieldNum 表包含的字段数,各字段信息在表数据的字段信息描述中定义
(8)Position表字段存储位置;
(9)OldDataPosition 原始表体数据存储位置;
(10)OldDataRecordNum 原始表体数据记录数;
(11)DataPositionl至DataPositionlO数据体存储位置指针,相对于文件头的偏移
量,采用字节数表示;
(12)DataRecordNuml M DataRecordNumlO X^t jS T DataPositionl M DataPositionlO0是数据块中所含的数据个数;
(13)IsSave:原始数据是否被保留,隐含为TRUE,表示系统执行自动备份;
(14)ChangeNum 表被修改的次数;
(15)SLF_TABLE_History 各次修改的历史信息描述,长度为78字节,其结构见表3。第一组信息为原始记录信息。可存储的最大历史记录数为(TableMessageLength-256) /78,即 当 TableMessageLength=512 时,(512-256) /78=3 次
=1024 时,(1024-256) /78=10 次 当超过最大记录时自动循环覆盖。表3表修改历史信息描述结构SLF_TABLE_History信息
表3信息说明
(a)UserName 被修改的表数据的修改者
ChangeNum=I时,为表创建者,如果是解编得来的,记录原始数据文件名,若是应用程序 处理生成的,记录运行程序名;
(b)StartRecord被修改的表数据起始记录;
(c)EndRecord被修改的表数据终止记录;
(d)time 表数据被修改的时间、日期。3、测井对象基本信息存储
测井对象基本信息存储于井信息的后面,各测井对象基本信息采用表2结构存储,所有表测井对象基本信息按顺序一个一个存储,如下表4格式所示 表4 表5表数据存放结构
I记录1:字段1数据字段2数据…··字段η数据I I记录2:字段1数据字段2数据…··芊段η数据j j记录3:字段1数据字段2数据…··孕段η数据j
I记录m:字段1数据字段2 ft据…··孕段η数据j
其中n、m分别为表基本信息描述结构中所定义的字段数和记录数。1、建立测井对象数据字段信息结构 1)测井对象数据字段信息结构
表字段信息结构用来定义各字段的数据体存放方式,长度256字节。每个字段信息所 描述的内容见表6:
表6字段信息描述内容
2)测井对象数据字段信息描述说明
(1)Name字段名称;
(2)HZName 字段别名;
(3)Unit 字段单位;
(4)HZUnit 字段别单位;
(5)RepCode 字段数据类型代码,SLF文件支持表7中所列出的11种数据类型;
(B)CodeLength 字段数据长度,由字段数据类型决定,见表7,其中第5、第6项是相互
关联的;
表7SLF文件所支持的数据类型及数据长度
1为纵向连续,如常规曲线、波列曲线的深度字段、数据列表的序号字段等。负数为横向连续控制,如时间序列等,其绝对值表示与其关联的字段号(字段号 从1开始)。当横向连续时,必有另一个字段与其关联。当该参数为连续时,字段数值可省略,具体数值由Start、记录序号和Rlev计算; 缺省值为O ;
(8)Start 字段起始值(起始深度、起始时间或起始序号);
(9)Rlev 字段采样间隔(深度间隔、时间间隔等);
(10)SamplePoint一个阵列的横向采样样本点数(如常规曲线为1,波列曲线为一个 阵列的横向采样点数),缺省值为1 ;
(11)ArrayNum 阵列数,如阵列感应、交叉偶极子声波等波列曲线的阵列数,缺省值为 1 ;该字段所记录的数值个数为=SamplePoint _ Narray ;
(12)Vmin:字段最大值;
(13)Vmax:字段最小值;
(14)Reserved 备用区。3)测井对象数据字段描述信息实例
(1)一维索引连续曲线,如GR、AC等常规曲线,采用2个字段描述 FieldDescriptionfield[2];
Field
是深度字段Sequence=l,SamplePoint=I, Narray=I Field[l]是数据信息字段Sequence=0,SamplePoint=I, Narray=I
(2)二维索引连续曲线(波列曲线,如WF),釆用3个字段描述 FieldDescriptionfield[3];
Field
是深度字段Sequence=l,SamplePoint=I, Narray=I
Field[l]是数据信息字段Sequence=0,SamplePoint=波数(如 512)Field[2]是时间字段Sequence=-2,SamplePoint=横向釆样点数(如512),
Narray=I
(3)三维索引连续曲线,如阵列数据,如阵列感应、偶极声波,采用3个字段描述 FieldDescriptionfield[3];
Field
是深度字段Sequence=l,SamplePoint=I
Field[l]是数据信息字段Sequence=0,SamplePoint=—个阵列的横向采样点数(如 512),Narray=n (如8),该字段的数据个数为512*8
Field[2]是时间字段Sequence=_2,SamplePoint=—个阵列的横向采样点数(如 512),Narray=8
(4)一维索引不连续曲线(离散数据,如实验、取心数据等),采用2个字段描述 FieldDescriptionfield[2];
Field
是深度字段Sequence=0,SamplePoint=I Field[1]是数据信息字段:Sequence=0, SamplePoint=I
(5)二维索引深度不连续时间横向连续曲线,如FMT数据,采用3个字段描述 FieldDescriptionfield[3];
Field
是深度字段Sequence=0,SamplePoint=I
Field[l]是数据信息字段Sequence=0,SamplePoint=横向采样点数(如128) Field[2]是时间字段Sequence=-2,SamplePoint=横向采样点数(如 128) (6 ) 二维深度不连续时间(横向)也不连续曲线,如TDT数据,采用3个字段描述 FieldDescriptionfield[3]; Field
是深度字段Sequence=0,SamplePoint=I
Field[l]是数据信息字段Sequence=0,SamplePoint=横向采样点数(如128)Field[2]是时间字段Sequence=0,SamplePoint=横向采样点数(如 128),Start 表示 测点时间起始时间
(7)包数据
FieldDescriptionfield[1];
Field
是数据字段:RepCode=6, CodeLength=I, SamplePoint=数据字节数
(8)表格数据,有多少字段使用多少字段 每一个字段 Sequence=O, SamplePoint=I 2、建立表数据体存储结构
1)表数据体存储结构
表数据体按表各个字段描述所定义的存储方式,连续存放的字段不存储具体数值,如连续深度不存储深度字段数值(如二维、三维连续曲线),连续时间不存储时间字段数值(如 全波列、阵列数据)。 第1记录字段1数据(Pl*m)字段2数据(P2*N2)…字段η数据(Ρη*Νη) 第2记录字段1数据(Pl*m)字段2数据(Ρ2*Ν2)…字段η数据(Ρη*Νη) 第3记录字段1数据(Ρ1_1)字段2数据(Ρ2*Ν2)…字段η数据(Ρη*Νη)第m记录字段1数据(P1*N)字段2数据(P1*N),。。,字段η数据(Pn^Nn)其中Ρ为横向采样点数SamplePoint,N为阵列数Narray 2)表数据体存放实例
(1)深度连续、时间连续
(深度1省略)数值1,数值2,…,数值S卿IePoint * Narray (深度2省略)数值1,数值2,…,数值S卿IePoint * Narray (深度3省略)数值1,数值2,…,数值S卿IePoint * Narray
(深度m省略)数值1,数值2,…,数值SamplePoint * Narray
(2)深度连续、时间不连续
(深度1省略)数值1,数值2,…,数值P,时间1,时间2,…,时间P (深度2省略)数值1,数值2,…,数值P,时间1,时间2,…,时间P (深度3省略)数值1,数值2,…,数值P,时间1,时间2,…,时间P
(深度m省略)数值1,数值2,…,数值P,时间1,时间2,…,时间P
(3)深度不连续、时间连续
深度1,数值1,数值2,…,数值P时间1 深度2,数值1,数值2,…,数值P时间1 深度3,数值1,数值2,…,数值P时间1
深度m,数值1,数值2,…,数值P时间1
注此时的时间字段的数据记录的是测点时间,如TDT、FMT的测点时间
(4)深度不连续、时间不连续
深度1,数值1,数值2,…,数值P,时间1,时间2,…,时间P 深度2,数值1,数值2,…,数值P,时间1,时间2,…,时间P, 深度3,数值1,数值2,…,数值P,时间1,时间2,…,时间P
深度m,数值1,数值2,…,数值P,时间1,时间2,…,时间P
(5)表格数据
字段1数值1,字段2数值2,…,字段P数值P 字段2数值1,字段2数值2,…,字段P数值P
字段η数值1,字段2数值2,…,字段P数值P
(6)任意不确定数据 数据按字节顺序连续存储。
3、测井对象数据存储物理结构 当系统创建一张表时,该表的每一个字段顺序,字段长度为256字节,全部字段信息在 前,数据体紧邻字段信息。如图3所示。当数据体被扩展后,数据体被扩展成了多块,数据体不再连续存放,具体位置依据 表基本信息的树具体位置信息来确定。其可能情况如图4所示。
权利要求
一种测井数据文件存储方法,其特征在于,测井数据集中存储在同一个数据单元中,该方法包括以下步骤在数据单元的头部设立井信息区,将井的基本信息、测井信息、文件本身信息存储于井信息区中,所述井的基本信息至少包括井名称、所属单位、大地坐标,所述测井信息至少包括测井单位、测井时间,所述文件本身信息包括文件大小、已存储表个数、预留最大表个数;在数据单元中井信息区的后部按照测井对象的顺序建立测井对象基本信息,在测井对象基本信息区依次存放各测井对象的基本信息,该测井对象的基本信息包括测井对象的名称、数据来源、表格存储位置、数据体存储位置、记录数;以链表的方式建立与各测井对象基本信息区相对应的测井对象数据区,在测井对象数据区中依次存储各测井对象数据,将各测井对象数据用表格的形式表示,所述表格横向代表测井对象的维信息,纵向代表记录信息,横、纵向的交叉点代表数据体,该表格由字段信息和字段数据体两部分构成。
2.根据权利要求1所述的测井数据文件存储方法,其特征在于所述测井对象基本信 息区中数据体存储位置、记录数有多组,用于该测井对象深度扩展时在测井对象基本信息 区尾部快速建立数据存储区。
3.根据权利要求2所述的测井数据文件存储方法,其特征在于所述测井对象基本信 息区中测井对象的各维的数据体采用横向顺序排列方式存储,对于等间隔采样的数据体简 化为起止信息和等间距量,省略其数据体,并将该信息存储于维信息中;对于非等间距采样 的数据按记录逐条存储;对于数据体的定位是依据记录号、对象维数、数据类型等信息确 定。
4.根据权利要求3所述的测井数据文件存储方法,其特征在于所述测井对象基本信 息区中数据体可不连续存放,一个表的数据体数最大不超过10块,若超过10次则需整理、 合并数据体一次。
5.根据权利要求4所述的测井数据文件存储方法,其特征在于所述测井对象基本信 息区中测井对象的基本信息还包括修改历史信息描述结构变量数组,当数据被修改时,可 记录修改的历史信息,当超过最大记录时自动循环覆盖。
6.根据权利要求5所述的测井数据文件存储方法,其特征在于对每个测井对象,需要 修改数据时,自动创建一个新的数据体,其最原始的表体数据被保留,以后的修改只在新生 成的数据体上进行。
7.根据权利要求6所述的测井数据文件存储方法,其特征在于所述测井对象数据区 中测井对象字段信息用来定义各字段的数据体存放方式,字段数据体按各字段描述所定义 的存储方式,连续存放的字段不存储具体数据。
全文摘要
本发明涉及基于表格结构的测井数据文件存储方法,该方法首先在数据单元的头部设立井信息区,将井的基本信息、测井信息、文件本身信息存储于井信息区中,在数据单元中井信息区的后部按照测井对象的顺序建立测井对象基本信息区,以链表的方式建立与各测井对象基本信息区相对应的测井对象数据区,将各测井对象数据用表格的形式表示;本发明既适应于目前已有的数据信息,又能适用于未来可能的数据信息,并解决众多测井信息的综合应用问题,为开发综合处理系统平台提供技术支持。
文档编号E21B47/00GK101840436SQ20101017721
公开日2010年9月22日 申请日期2010年5月20日 优先权日2010年5月20日
发明者刘正锋, 吕和军, 李光军, 李志煜, 李晓华, 满丽, 王卫, 王慧萍, 郭树兵, 顾玉君, 马平生 申请人:中国石油化工集团公司;中国石化集团河南石油勘探局地球物理测井公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1