CN109343117B - 双缓存双线程地震数据显示方法 - Google Patents
双缓存双线程地震数据显示方法 Download PDFInfo
- Publication number
- CN109343117B CN109343117B CN201811335346.1A CN201811335346A CN109343117B CN 109343117 B CN109343117 B CN 109343117B CN 201811335346 A CN201811335346 A CN 201811335346A CN 109343117 B CN109343117 B CN 109343117B
- Authority
- CN
- China
- Prior art keywords
- display
- data
- seismic
- thread
- seismic data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000005070 sampling Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 6
- 238000000605 extraction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V1/00—Seismology; Seismic or acoustic prospecting or detecting
- G01V1/28—Processing seismic data, e.g. for interpretation or for event detection
- G01V1/34—Displaying seismic recordings or visualisation of seismic data or attributes
- G01V1/345—Visualisation of seismic data or attributes, e.g. in 3D cubes
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Acoustics & Sound (AREA)
- Environmental & Geological Engineering (AREA)
- Geology (AREA)
- General Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Geophysics (AREA)
- Geophysics And Detection Of Objects (AREA)
Abstract
本发明公开了一种双缓存双线程地震数据显示方法,它涉及地震数据处理技术领域。该方法主要内容包括:根据视图显示宽度首先计算出显示道数,线性抽稀并计算出显示道集的道顺序号,第一个缓存用于存取显示的道数据;另一个缓存用于存取当前要显示道集的完整数据;一个线程用于读取适合窗口显示的道数据;另一个线程用于读取当前道集的完整数据,对应当前采集的海量地震数据(炮集超万道),数据处理软件的数据加载和数据显示效率尤为关键,采用本方法能极大提高数据显示的效率。本发明以海量地震数据的快速显示为目标,以高效实用的道集抽取方法为保障,实现海量地震数据的高效显示。
Description
技术领域
本发明涉及的是地震数据处理技术领域,具体涉及一种双缓存双线程地震数据显示方法。
背景技术
随着地震采集硬件设备的不断发展,地震勘探采集更多的采用高密度的采集施工方案。单炮道集超过万道,一个三维工区的地震数据量超过10TB。随着数据量的海量增长,给地震资料处理工作效率带来了新的课题,虽然现有的集群设备的计算速度、网络速度都比之前的设备有较大的提升,但是数据量大了以后,读写数据对I/O带来了极大的压力,文件指针的来回寻址导致读取数据的效率大大降低,如何快速读写地震数据,快速显示地震数据,是目前地震资料数据处理工作面临的现实问题,国内外的同行都在这方面做了大量的工作,普通的单进程顺序读取地震数据,等读取完当前道集再显示的方式,已经无法适应现在科研/生产的需要,也无法发挥目前大内存、多核的硬件设备的效率。
综上所述,本发明设计了一种双缓存双线程地震数据显示方法。
发明内容
针对现有技术上存在的不足,本发明目的是在于提供一种双缓存双线程地震数据显示方法,该方法适应性强,将读取数据分成2个步骤,既能保证显示速度,也不会损伤显示效果,通过后台2个进程的设计,保证了数据读取速度,通过2个缓存的设计保证了显示效果。
为了实现上述目的,本发明是通过如下的技术方案来实现:双缓存双线程地震数据显示方法,是适应不同显示窗口的地震数据(SEGY格式)快速抽取,快速显示,后台准备数据的方法,包括以下步骤:
1、设置地震数据文件、道集类型(炮集、CDP道集、共偏移距道集)、道集号,读取地震数据,从道头字中获得样点数(sample),统计获取单个道集的最大道数(maxTraceNo),建立道头索引文件;
2、获取显示窗口的显示范围,显示宽度(wide)/高度(height),根据宽度和最大道数,计算抽稀系数x= maxTraceNo/wide;
3、开启一个线程,根据道集号,从道头字索引文件里面读取对应道的偏移量,从地震数据文件抽取相应的地震道,顺序号的计算方法1+(n*x);n为读取文件的次数(从0开始),将读取的地震道存放在缓存1中;
4、开启第二个线程,根据道集号,从道头字索引文件里面读取对应道的偏移量,从地震数据文件抽取相应的地震道,本线程读取当前道集的所有地震道;将读取的地震道存放在缓存2中;
5、当第一个线程完成后,获取地震数据的最大值(maxTraceValue),开始绘制地震道,根据显示窗口的宽度和高度计算横向单个地震道的显示宽度xTraceWide=wide/maxTraceNo,纵向采样点的显示系数y=height/sample,横向最大振幅设置为2个地震道宽度;
6、绘制地震数据,获得每个采样点的浮点值(fTraceValue),根据横向和纵向的显示宽度和系数,计算每个采样点的绘图位置xPos= (fTraceValue/maxTraceValue)*2*xTraceWide + i*xTraceWide,i为显示道的顺序号,yPos=j*y,j为纵向地震采样点的顺序号(从0开始),每道地震数据连线显示,完成波形显示,如果要变面积显示,在当前地震道显示的中心位置与右边的显示点连线;
7、当第二个线程没有完成之前,对显示窗口的放大缩小、上下、左右的交互操作,从缓存1里面,获得数据,重新进行横向、纵向的系数计算,完成相应的地震数据的显示操作;
8、当第二个线程完成后,对显示窗口的放大缩小、上下、左右的交互操作,从缓存2里面,获得数据,重新进行横向、纵向的系数计算,完成相应的显示操作。
作为优选,所述的步骤1中在读取地址数据文件的过程中,将对应的道头字写入到道头字索引文件中。
作为优选,所述的步骤2中根据显示范围和道集的最大地震道数,确定抽稀系数,在保证显示效果不受损失的情况下,减少地震数据的读取数量,保证数据显示无延迟。
作为优选,所述的步骤3中根据步骤2计算的系数,开启第一个线程读取相应的数据到缓存1中。
作为优选,所述的步骤4开启第二个线程读取相应的数据到缓存2中。
作为优选,所述的步骤6中将缓存1中的地震数据,通过与显示区域的参数计算,确定每个地震采样点的横向和纵向坐标,实现地震数据的绘制显示。
作为优选,所述的步骤7在第二个线程没有结束前,所有的放大、缩小、上下、左右的交互操作从缓存1中获取数据。
所述的步骤8第二个线程结束后,数据的缩放、滑动显示从缓存2中读取地震数据。
本发明具有以下有益效果:
1、提高在地震资料处理过程中的数据显示速度,该方法实现主要针对目前单个道集道数多,数据量大的情况下,采用传统的单线程单缓存方式顺序读取地震数据的方法,数据显示有明显的延迟滞后的现象,采用本方法能明显提升读取速度,数据显示无延迟现象,在提高效率的同时,保证了用户操作的流畅性;
2、由于屏幕显示区域的限制,当地震道数大于横向的显示宽度时,实际显示地震道,只能显示一部分道集;因此,当硬件资源有限时,全部读入数据再抽稀显示是对资源的浪费;
3、该方法主要是针对室内地震资料处理,现在资料处理的硬件设备配置都很高,采用本方法能充分发挥高配置的优势,数据量越大,显示效果的优势越明显。
附图说明
下面结合附图和具体实施方式来详细说明本发明;
图1为本发明的读取地震数据流程图;
图2为本发明的流程图;
图3为本发明的道头索引建立示意图;
图4为本发明双线程读取数据示意图;
图5为本发明双缓存数据显示示意图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
实施例1:如图1所示,海量地震数据的双缓存双线程地震数据显示方法主要目的是实现地震数据的快速显示,该方法实现通过双线程+双缓存的方式,达到普通PC快速显示海量地震数据。在数据读取过程中,首先通过一个线程1读取部分道数据,并将线程1的道数据保存到缓存1中,然后快速显示,同时,线程2读取所有道数据,并将线程2的道数据保存到缓存2中,当线程2数据读取完成后,显示数据将使用缓存2中的数据,缓存2中的数据能够进行缩放、全屏等多种显示方式操作。
读取地震数据S01
在地震数据显示前,需要读取地震数据并建立道头索引文件。在数据读取前,设置地震数据文件、道集类型(炮集、CDP道集、共偏移距道集)、道集号,读取地震数据,从道头字中获得样点数(sample),通过遍历道头数据,获取单个道集的最大道数(maxTraceNo)、总道数等属性,然后根据关键字生产生产HASH索引信息,并建立道头索引文件。
如图3所示,在显示道集数据时,根据关键字值,通过HASH索引获得道索引在道头索引文件的位置,读取道头索引文件,获得道在地震数据中位置,根据位置信息读取地震数据。
S02计算显示参数
获得显示窗口的宽度(wide)(单位:像素)和高度(height),根据显示的最道数据,计算抽抽稀系数x= maxTraceNo/wide。
S03线程1读取数据
开启一个线程,根据道集号,从道头字索引文件里面读取对应道的偏移量,从地震数据文件抽取相应的地震道,顺序号的计算方法1+(n*x);n为读取文件的次数(从0开始),将读取的地震道存放在缓存1中。
S04线程2读取数据
开启第二个线程,根据道集号,从道头字索引文件里面读取对应道的偏移量,从地震数据文件抽取相应的地震道,本线程读取当前道集的所有地震道;将读取的地震道存放在缓存2中。
如图4为线程1和线程2读取地震道集数据示意图,线程1根据道集关键字值和索引文件,读取部分道数据,然后将数据保存到缓存1中;线程2根据道集关键字值和索引文件,读取道集全部道数据,然后将数据保存到缓存2中。
S05计算显示系统
当第一个线程完成后,获取地震数据的最大值(maxTraceValue),开始绘制地震道,根据显示窗口的宽度和高度计算横向单个地震道的显示宽度xTraceWide=wide/maxTraceNo,纵向采样点的显示系数y=height/sample,横向最大振幅设置为2个地震道宽度。
S06绘制地震数据
绘制地震数据,获得每个采样点的浮点值(fTraceValue),根据横向和纵向的显示宽度和系数,计算每个采样点的绘图位置xPos= (fTraceValue/maxTraceValue)*2*xTraceWide + i*xTraceWide,i为显示道的顺序号,yPos=j*y,j为纵向地震采样点的顺序号(从0开始),每道地震数据连线显示,完成波形显示,如果要变面积显示,在当前地震道显示的中心位置与右边的显示点连线。
S07显示部分道数据
当第二个线程没有完成之前,对显示窗口的放大缩小、上下、左右的交互操作,从缓存1里面,获得数据,重新进行横向、纵向的系数计算,完成相应的地震数据的显示操作。
S08显示全部数据
第二个线程完成后,对显示窗口的放大缩小、上下、左右的交互操作,从缓存2里面,获得数据,重新进行横向、纵向的系数计算,完成相应的显示操作。
如图5所示,在线程2没有读取完成道集数据之前,窗口获取缓存1中的数据进行显示,当线程2读取道集数据完成后,窗口获取缓存2中的数据进行显示。
该方法实现通过双线程+双缓存的方式,充分利用CPU多核和内存缓存I/O高效的特性,达到普通PC快速显示海量地震数据。在数据读取过程中,首先通过一个线程1读取部分道数据,并将线程1的道数据保存到缓存1中,然后快速显示,同时,线程2读取所有道数据,并将线程2的道数据保存到缓存2中,当线程2数据读取完成后,显示数据将使用缓存2中的数据,缓存2中的数据能够进行缩放、全屏等多种显示方式操作。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (5)
1.双缓存双线程地震数据显示方法,其特征在于,包括以下步骤:
(1)、设置地震数据文件、道集类型、道集号,读取地震数据,从道头字中获得样点数sample,统计获取单个道集的最大道数maxTraceNo,建立道头索引文件;
(2)、获取显示窗口的显示范围,显示宽度wide/高度height,根据宽度和最大道数,计算抽稀系数x= maxTraceNo/wide;
(3)、开启一个线程,根据道集号,从道头字索引文件里面读取对应道的偏移量,从地震数据文件抽取相应的地震道,顺序号的计算方法1+(n*x);n为读取文件的次数,将读取的地震道存放在缓存1中;
(4)、开启第二个线程,根据道集号,从道头字索引文件里面读取对应道的偏移量,从地震数据文件抽取相应的地震道,本线程读取当前道集的所有地震道;将读取的地震道存放在缓存2中;
(5)、当第一个线程完成后,获取地震数据的最大值maxTraceValue,开始绘制地震道,根据显示窗口的宽度和高度计算横向单个地震道的显示宽度xTraceWide=wide/maxTraceNo,纵向采样点的显示系数y=height/sample,横向最大振幅设置为2个地震道宽度;
(6)、绘制地震数据,获得每个采样点的浮点值fTraceValue,根据横向和纵向的显示宽度和系数,计算每个采样点的绘图位置xPos= (fTraceValue/maxTraceValue)*2*xTraceWide + i*xTraceWide,i为显示道的顺序号,yPos=j*y,j为纵向地震采样点的顺序号,每道地震数据连线显示,完成波形显示,如果要变面积显示,在当前地震道显示的中心位置与右边的显示点连线;
(7)、当第二个线程没有完成之前,对显示窗口的放大缩小、上下、左右的交互操作,从缓存1里面,获得数据,重新进行横向、纵向的系数计算,完成相应的地震数据的显示操作;
(8)、当第二个线程完成后,对显示窗口的放大缩小、上下、左右的交互操作,从缓存2里面,获得数据,重新进行横向、纵向的系数计算,完成相应的显示操作。
2.根据权利要求1所述的双缓存双线程地震数据显示方法,其特征在于,所述的步骤(1)中在读取地址数据文件的过程中,将对应的道头字写入到道头字索引文件中。
3.根据权利要求1所述的双缓存双线程地震数据显示方法,其特征在于,所述的步骤(2)中根据显示范围和道集的最大地震道数,确定抽稀系数,在保证显示效果不受损失的情况下,减少地震数据的读取数量,保证数据显示无延迟。
4.根据权利要求1所述的双缓存双线程地震数据显示方法,其特征在于,所述的步骤(6)中将缓存1中的地震数据,通过与显示区域的参数计算,确定每个地震采样点的横向和纵向坐标,实现地震数据的绘制显示。
5.根据权利要求1所述的双缓存双线程地震数据显示方法,其特征在于,所述的步骤(8)第二个线程结束后,数据的缩放、滑动显示从缓存2中读取地震数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811335346.1A CN109343117B (zh) | 2018-11-10 | 2018-11-10 | 双缓存双线程地震数据显示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811335346.1A CN109343117B (zh) | 2018-11-10 | 2018-11-10 | 双缓存双线程地震数据显示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109343117A CN109343117A (zh) | 2019-02-15 |
CN109343117B true CN109343117B (zh) | 2020-05-01 |
Family
ID=65314660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811335346.1A Active CN109343117B (zh) | 2018-11-10 | 2018-11-10 | 双缓存双线程地震数据显示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109343117B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860734B (zh) * | 2019-11-27 | 2024-08-27 | 中国石油天然气集团有限公司 | 地震数据多维度范围查询方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5313567A (en) * | 1991-06-13 | 1994-05-17 | At&T Bell Laboratories | Arrangement for determining and displaying volumetric data in an imaging system |
US6226596B1 (en) * | 1999-10-27 | 2001-05-01 | Marathon Oil Company | Method for analyzing and classifying three dimensional seismic information |
CN102231155A (zh) * | 2011-06-03 | 2011-11-02 | 中国石油集团川庆钻探工程有限公司地球物理勘探公司 | 三维地震数据管理及组织方法 |
CN104597498B (zh) * | 2013-10-31 | 2017-09-29 | 中国石油天然气集团公司 | 一种地震数据成图方法及装置 |
CN105093283B (zh) * | 2014-05-16 | 2017-12-01 | 中国石油化工股份有限公司 | 一种三维观测系统面元属性多线程快速显示方法 |
CN104570063B (zh) * | 2015-02-11 | 2017-10-10 | 合肥艾锐存储技术有限公司 | 一种地震数据的地震道集并行抽取方法 |
CN106802924A (zh) * | 2016-12-19 | 2017-06-06 | 北京科胜永昌软件有限公司 | 基于多线程并行的海量观测系统炮检点数据绘制显示方法 |
-
2018
- 2018-11-10 CN CN201811335346.1A patent/CN109343117B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109343117A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102147356B1 (ko) | 캐시 메모리 시스템 및 그 동작방법 | |
CN107196956A (zh) | 笔迹数据同步的方法和装置、存储介质以及终端设备 | |
CN112199010B (zh) | 一种全存储深度测量方法及数字示波器、存储介质 | |
CN109343117B (zh) | 双缓存双线程地震数据显示方法 | |
CN106570049B (zh) | 一种地质勘探中大数据量的曲线快速绘图方法及其系统 | |
CN110672072A (zh) | 一种用于裂隙岩体结构的信息多元解译与表征方法 | |
CN108269587A (zh) | 光缆敲击信号显示方法及系统 | |
CN105550978B (zh) | 一种面向统一染色架构的gpu 3d引擎片上存储层次结构 | |
CN109298450A (zh) | 地震采集观测系统属性分析方法及装置 | |
CN107329929B (zh) | 一种基于SoC FPGA的数据传输系统及数据传输方法 | |
CN104834478B (zh) | 一种基于异构混合存储设备的数据写入及读取方法 | |
CN104239231B (zh) | 一种加速二级缓存预热的方法及装置 | |
CN105093283B (zh) | 一种三维观测系统面元属性多线程快速显示方法 | |
CN103714192A (zh) | 基于自适应r-树的大数据量铁路三维设计模型渲染方法 | |
CN112734897B (zh) | 一种图元光栅化触发的图形处理器深度数据预取方法 | |
CN103176753B (zh) | 存储设备及其数据管理方法 | |
CN103117748B (zh) | 一种bwt实现方法中对后缀进行排序的方法及系统 | |
CN109671127B (zh) | 一种实现波形绘制的方法及装置 | |
CN108198232B (zh) | 一种轨迹框绘制的方法及设备 | |
CN109710547B (zh) | 一种工业物联网中的缓冲内存管理设计与实现方法 | |
CN108543307B (zh) | 使用Physx物理引擎模拟流程的整合优化方法及装置 | |
CN110675490B (zh) | 一种三维超声渲染成像方法及装置 | |
CN103440186B (zh) | 测试缓存加速的方法及其系统 | |
CN103969484A (zh) | 高刷新率波形合成器和高刷新率示波器 | |
CN107221018B (zh) | 一种智能画板画面合成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |