CN110320554A - 一种地震数据切分速度和合并速度的优化方法 - Google Patents
一种地震数据切分速度和合并速度的优化方法 Download PDFInfo
- Publication number
- CN110320554A CN110320554A CN201810296338.4A CN201810296338A CN110320554A CN 110320554 A CN110320554 A CN 110320554A CN 201810296338 A CN201810296338 A CN 201810296338A CN 110320554 A CN110320554 A CN 110320554A
- Authority
- CN
- China
- Prior art keywords
- file
- sub
- minimum unit
- data volume
- block
- 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.)
- Granted
Links
- 238000005520 cutting process Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000005457 optimization Methods 0.000 title claims abstract description 30
- 238000003860 storage Methods 0.000 claims description 15
- 230000014759 maintenance of location Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- VNWKTOKETHGBQD-UHFFFAOYSA-N methane Chemical compound C VNWKTOKETHGBQD-UHFFFAOYSA-N 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003345 natural gas Substances 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000007788 roughening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
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
-
- 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/36—Effecting static or dynamic corrections on records, e.g. correcting spread; Correlating seismic signals; Eliminating effects of unwanted energy
- G01V1/362—Effecting static or dynamic corrections; Stacking
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Geophysics And Detection Of Objects (AREA)
Abstract
本发明公开了一种地震数据切分速度和合并速度的优化方法。所述地震数据切分速度的优化方法包括根据配置的子块文件的长、宽和高,利用八叉树算法将源地震数据文件中的地震道数据体切分为若干最小单元数据体;在顺序遍历与各个存储节点一一对应的各个中间文件的过程中,对于每一个中间文件,将隶属于该中间文件的最小单元数据体写入该中间文件中;将各个中间文件分别上传到对应的各个存储节点;每个存储节点顺序读取其对应的中间文件中的各个最小单元数据体,将该最小单元数据体写入其所属的子块文件中相应的位置。本发明可减少本地端文件读写时间开销,提升地震数据切分与合并速度。
Description
技术领域
本发明涉及地震数据处理技术领域,尤其涉及一种地震数据切分速度和合并速度的优化方法。
背景技术
地震勘探所产生的数据量在大幅增长,海量数据的产生虽然很好地反映了社会对石油、天然气等资源的极大需求,但是大规模的数据的处理问题也给地震勘探行业带来严峻的挑战。为了解决访问方法优化开发的瓶颈和存储服务器更新代价两方面问题,使用地震数据分布式存储策略可以用来提高设备利用率。地震勘探产生的海量数据所带来的问题是多方面的,包括存储、读取、冗余、抽取等。在实际情况中,读取地震数据需要考虑用户的具体情况,满足用户的需求,这一般体现在读取数据的速度和效率方面,同时还需要考虑到地震数据本身的特点。
获取的地震资料的量级随着地震采集及电子扫描技术的发展快速增长。特别是,单个大文件I/O节点不仅因大量数据交换而变得很慢,还存在单点故障、容易造成集群瘫痪等实际问题。尽管用来处理数据的计算机性能在不断提高,但数据规模爆炸式的增长仍然超越了内存的发展速度。从存储、加载到显示,需要重新审视现有的主流文件存储格式,并配套研发相适应的渲染、大数据挖掘等一系列支持大数据体的核心技术。
在实际地震资料的处理时,影响数据处理效率的因素有很多,从整体上说,影响地震数据处理效率主要分为软件和硬件两个方面,也就是访问方法和访问环境的配置。但是由于访问方法的不断开发优化和服务器存储访问环境的更新需求造成了巨大的经费开销的同时访问方法的优化也越来越困难。
发明内容
针对上述技术问题,本发明提供了一种地震数据切分速度的优化方法,包括以下步骤:
根据配置的子块文件的长、宽和高,利用八叉树算法将源地震数据文件中的地震道数据体切分为若干最小单元数据体并确定每个最小单元数据体所属的子块文件的编号、该最小单元数据体在该子块文件中的位置以及每个最小单元数据体所隶属的中间文件;
在顺序遍历与各个存储节点一一对应的各个中间文件的过程中,对于每一个中间文件,将隶属于该中间文件的最小单元数据体、以及最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置写入该中间文件中;
将各个中间文件分别上传到对应的各个存储节点;
每个存储节点顺序读取其对应的中间文件中的各个最小单元数据体,根据该最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置将该最小单元数据体写入其所属的子块文件中相应的位置。
在一个实施例中,利用八叉树算法将所述地震道数据体在深度方向上以配置的所述子块文件的高为单位切分为若干最小单元数据体。
在一个实施例中,根据以下步骤确定每个最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置,以及每个最小单元数据体所隶属的中间文件:
根据每个最小单元数据体的主测线、联络线和深度确定该最小单元数据体在所述源地震数据文件中的空间位置;
基于确定的各个最小单元数据体在所述源地震数据文件中的空间位置,利用八叉树算法计算各个最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置;
将每个子块文件的编号与所述存储节点的数量相除,根据得到的余数确定该子块文件所属的存储节点,从而进一步确定隶属于该子块文件的各个最小单元数据体所属的存储节点和对应的中间文件。
在一个实施例中,若所述源地震数据文件中的地震道数据体为叠后数据体,根据以下步骤确定所述叠后数据体经切分得到的每个最小单元数据体在其所属的子块文件中的位置:
将所述叠后数据体经切分得到的每个最小单元数据体的主测线和联络线,分别与配置的子块文件的长和宽相除,得到的余数分别为该最小单元数据体在其所属的子块文件的长和宽方向上的位置;
其中,所述叠后数据体经切分得到的每个最小单元数据体在其所属的子块文件中按照长和宽方向排列。
在一个实施例中,若所述源地震数据文件中的地震道数据体为叠前数据体,根据以下步骤确定所述叠前数据体经切分得到的每个最小单元数据体在其所属的子块文件中的位置:
在切分各个所述地震道数据体之前读取其在源地震数据文件中的分布信息,并据此确定主测线和联络线所形成的每个测网位置下的地震道数据体的数量;
将所述叠前数据体经切分得到的每个最小单元数据体的主测线和联络线,分别与配置的子块文件的长和宽相除;
在将该测网位置下的各个最小单元数据体在长和宽方向上排序之前,将得到的余数分别与该测网位置下的地震道数据体的数量相加,得到该最小单元数据体在其所属的子块文件的长和宽方向上的位置;
其中,所述叠前数据体经切分得到的每个最小单元数据体在其所属的子块文件中按照长和宽方向排列。
在一个实施例中,还包括以下步骤:
配置所述子块文件的备份数量;
若所述子块文件的备份数量大于1,每个存储节点将其对应的子块文件发送到其他存储节点中。
在一个实施例中,利用哈希算法确定每个存储节点中对应的子块文件所要发送的其他存储节点。
本发明还提供了一种地震数据合并速度的优化方法,包括以下步骤:
根据源地震数据文件中地震道数据体的主测线号、联络线号和深度,按照配置的子块文件的长、宽和高,利用八叉树算法将目标文件切分为若干最小单元并确定每个最小单元所对应的子块文件的编号、子块文件中的位置以及存储节点和中间文件;其中各个存储节点与各个中间文件一一对应;
在顺序遍历各个最小单元的过程中,对于每个最小单元,顺序遍历每个存储节点对应的各个子块文件,从中找到该最小单元所对应的子块文件,从该子块文件中该最小单元所对应的位置处读取隶属于该最小单元的最小单元数据体,然后将该最小单元数据体写入与该子块文件所在的存储节点对应的中间文件中;
从各个存储节点依次下载各个中间文件;
在顺序遍历各个中间文件的过程中,对于每一个中间文件,将该中间文件中的最小单元数据体依次写入所述源地震数据文件中对应的最小单元中。
在一个实施例中,利用八叉树算法在深度方向上以所述子块文件的高为单位将所述源地震数据文件切分为若干最小单元。
在一个实施例中,若所述存储节点中备份有其他存储节点的子块文件,在其他存储节点掉线时,从所述存储节点中读取其他存储节点中的子块文件。
与现有技术相比,本发明的一个或多个实施例可以具有如下优点:
1)本发明实现了一种地震数据切分与合并速度的优化方法,减少本地端文件读写时间开销,提升了切分与合并速度。
2)本发明实现了文件的顺序读写,同时减少读写对象切换频率,将更多文件处理工作交由存储节点进行,减少了本地端负荷。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一的地震数据切分速度的优化方法的流程图;
图2为地震数据切分过程示意图;
图3为本发明实施例二的地震数据合并速度的优化方法的流程图;
图4为地震数据合并过程示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
目前在使用分布式架构存储地震数据的基础上,如何生成分布式地震数据文件,以及怎样提升生成速度是关键点,其需要考虑的因素是多方面的。首先需要解决的问题是文件读写速度如何做到最快,其次要考虑到带宽、存储空间等因素,最终实现一个快速分布式切分方案。本发明利用三维空间下八叉树结构与编码的快速空间定位机制,实现对三维大数据体的结构分块存储,同时根据硬盘数据访问特点及分布式环境特性,实现了对分布式切分速度的优化。
下面采用实施例一和实施例二来分别详细说明本发明提出的一种地震数据切分速度的优化方案和一种地震数据合并速度的优化方案。
实施例一
图1为本发明实施例一的地震数据切分速度的优化方法的流程图。如图1所示,主要包括以下步骤S110至S140。
在详细描述图1所示的地震数据切分速度的优化步骤之前,首先对八叉树进行具体说明。八叉树结构是三维数据处理技术中广泛采用的数据结构,即把一个立方体分割为八个小立方体,每个小立方体继续分割为八个小立方体,依次分割下去,直到分割到设定的层级数。
对于地震数据体,有主测线,联络线和深度三个方向的数据,可以看做包含长、宽和高三个维度的数据立方体,主测线和联络线组成的长宽平面称为测网。源地震数据以地震道数据体为单位,每个地震道数据体相当于源地震数据立方体高方向上的一整条。在进行八叉树切分时通常在高方向上进行切分。相比源地震数据体,使用八叉树结构在粗化显示和部分区域的属性计算上比较有优势。
其次,八叉树编码使用的是线性莫顿(Morton)编码。切分时每个子块数据体都会有其对应的莫顿码,从莫顿码也可以反推出子块数据体对应的空间范围。莫顿码的位数等于切分层级数,切分层级数越小,莫顿码越短,切分的粒度越粗;切分层级数越大,莫顿码越长,切分的粒度越细。八叉树节点体现了空间坐标信息,同时易于实现自然数的映射,即某一子块数据体的具体文件存储位置。莫顿码按照大小排序得到子块的自然数编码(TileID),进而映射到不同子块文件存储位置。
因此,利用三维空间下八叉树结构与编码的快速空间定位机制,可以实现对三维地震数据体的结构分块存储。
下面结合图3详细说明本实施例提出的地震数据切分速度的优化方法。
在步骤S110中,根据配置的子块文件的长、宽和高,利用八叉树算法将源地震数据文件中的地震道数据体切分为若干最小单元数据体并确定每个最小单元数据体所属的子块文件的编号、该最小单元数据体在该子块文件中的位置以及每个最小单元数据体所隶属的中间文件。
首先,用户可以根据网络带宽、存储空间等因素对子块文件的参数进行配置。子块文件需要配置的参数可以包括子块文件的长、宽和高,存储节点地址,每次读取的地震道数据体的数量,每次读取的中间文件的数量以及子块文件的备份数量。在本实施例中,每次读取若干个地震道数据体,默认读取的地震道数据体的数量为合起来超过100MB的最小的地震道数量。每次读取的地震道数据体的数量也可由用户根据自己的硬件配置和内存大小作出调整。
其次,每个地震道数据体包含该地震道数据体的主测线号和联络线号,据此可以得到其位于源数据立方体测网即长宽这一平面上的位置。利用八叉树算法将地震道数据体在深度方向上以配置的子块文件的高为单位切分成若干最小单元数据体。
再次,根据最小单元数据体的主测线号、联络线号以及深度得到其在源数据立方体中的空间位置,从而通过八叉树算法计算出此最小单元数据体所属的子块文件的编号以及其在子块文件中的位置,通过该子块文件的编号得到此最小单元数据体所属的存储节点和对应的中间文件。
具体地,首先,根据每个最小单元数据体的主测线、联络线和深度确定该最小单元数据体在所述源地震数据文件中的空间位置;其次,基于确定的各个最小单元数据体在所述源地震数据文件中的空间位置,利用八叉树算法计算各个最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置;最后,将每个子块文件的编号与存储节点的数量相除,根据得到的余数确定该子块文件所属的存储节点,从而进一步确定隶属于该子块文件的各个最小单元数据体所属的存储节点和对应的中间文件。优选地,采用哈希算法确定各个子块文件所属的存储节点。
每个子块文件中的各个最小单元数据体按照长宽来排列,子块文件高方向上的数据量即子块文件的高。叠前数据体和叠后数据体计算每个最小单元数据体在其所属的子块文件中的位置的方法不同,具体如下所述。
对于叠后数据体,每个测网位置下只有一个地震道,将叠后数据体经切分得到的每个最小单元数据体的主测线和联络线,分别与配置的子块文件的长和宽相除,得到的余数分别为该最小单元数据体在其所属的子块文件的长和宽方向上的位置。
对于叠前数据体,即相同测网位置下有多个地震道,那么子块文件中每个长宽位置下对应的数据量不是一条子块高度长度的地震道而是一组子块高度长度的地震道。此时每个最小单元数据体在子块文件中的位置计算方法有所不同。具体地,首先在切分各个所述地震道数据体之前读取其在源地震数据文件中的分布信息,并据此确定主测线和联络线所形成的每个测网位置下的地震道数据体的数量;其次,将所述叠前数据体经切分得到的每个最小单元数据体的主测线和联络线,分别与配置的子块文件的长和宽相除;最后,在将该测网位置下的各个最小单元数据体在长和宽方向上排序之前,将得到的余数分别与该测网位置下的地震道数据体的数量相加,得到该最小单元数据体在其所属的子块文件的长和宽方向上的位置。
在步骤S120中,在顺序遍历与各个存储节点一一对应的各个中间文件的过程中,对于每一个中间文件,将隶属于该中间文件的最小单元数据体、以及最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置写入该中间文件中。
下面以每次读取100MB地震道数据体为例说明如何做到源地震文件的顺序读和中间文件的顺序写。
为了做到顺序写,本步骤中不是遍历100MB数据去写中间文件而是遍历中间文件去从100MB中取属于此文件的数据。将100MB数据中属于当前中间文件的数据写入,再切换到下一个中间文件进行写入。每次写入的最小单元为最小单元数据体,写入格式为先写入两个整型数据,分别为子块文件的编号和此最小单元数据体在子块文件中的位置,然后写入最小单元数据体。此步骤实现了源文件的顺序读,中间文件的顺序写,且减少了写对象切换的频率。同时将子块文件生成操作交由存储节点实现,减少了本地的工作量。
待该步骤完成后,继续读取下一个100MB数据,直到读取完源地震文件中所有的地震道数据,生成最终的中间文件。
在步骤S130中,将各个中间文件分别上传到对应的各个存储节点。
具体地,每个存储节点对应的中间文件生成完毕后,将这些中间文件依次传输到各个存储节点。以顺序读源地震文件、顺序写中间文件的方式来最大限度地减少本地时间开销,将中间文件传输到存储节点后,本地工作就已经完成。
在步骤S140中,每个存储节点顺序读取其对应的中间文件中的各个最小单元数据体,根据该最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置将该最小单元数据体写入其所属的子块文件中相应的位置。
下面以存储节点每次读取中间文件中的100MB数据为例说明如何做到中间文件的顺序读。
具体地,在存储节点中,对接收到的中间文件,每次顺序读取100MB左右的数据,大小可配置,数据量具体大小为最小单元数据体加上两个整型数据的整数倍,将数据写入到各个子块中。如图2右半部分所示,遍历这100MB左右的数据,每次读取最小单元数据体所属的子块文件的编号和在子块文件中的位置,然后将最小单元数据体写入到对应的子块文件中。此步骤实现了中间文件的顺序读。
待该步骤完成后,每个存储节点继续读取下一个100MB数据,直到读取完所有中间文件,生成最终的子块文件。至此,地震数据的切分流程完毕。
在本实施例中,实现了地震数据切分速度的优化方法,减少本地端文件读写时间开销,提升了地震数据切分速度。而且还实现了文件的顺序读写,同时减少读写对象切换频率,将更多文件处理工作交由存储节点进行,减少了本地端负荷。
进一步地,在本实施例中还可以配置子块文件的备份数量;若所述子块文件的备份数量大于1,每个存储节点将其对应的子块文件发送到其他存储节点中。优选地,利用哈希算法确定每个存储节点中对应的子块文件所要发送的其他存储节点。
具体地,如果配置的备份数量大于1,即每个子块需要冗余存储到不同存储节点中,那么由现有的各个存储节点,将其自身已生成的子块数据体,发送到其他存储节点中,实现备份。发送的工作各个存储节点可以同时进行互不影响。每个子块需要冗余存储到哪些存储节点中,也由统一的哈希算法来确定,本方法中依旧采用简单的除余来保证数量上的平均。此步骤避免了从本地发送多个副本到各个存储节点,减少了本地的工作量。将备份副本然后发送到不同机器上进行存储,也即分布式存储到不同存储节点中。一方面减少本地存储空间占用,另一方面可以通过增加备份副本数量减少数据丢失概率。
实施例二
图3为本发明实施例二的地震数据合并速度的优化方法的流程图。如图3所示,主要包括以下步骤S310至S340。
具体地,对于分布式的地震数据体,可以再转换回本地的数据体。如图4所示,地震数据合并方法与地震数据切分方法相反。对于各个存储节点,将子块合并回中间文件,然后将中间文件下载到本地,本地再将这些中间文件合并为本地数据体。
下面结合图4详细说明本实施例的地震数据合并速度的优化方法。
在步骤S310中,根据源地震数据文件中地震道数据体的主测线号、联络线号和深度,按照配置的子块文件的长、宽和高,利用八叉树算法将目标文件切分为若干最小单元并确定每个最小单元所对应的子块文件的编号、子块文件中的位置以及存储节点和中间文件;其中各个存储节点与各个中间文件一一对应。
具体地,八叉树参数配置与实施例一中时相同。处理每个地震道时,按照子块文件的高度进行分割,得到各个最小单元。在本实施例中,利用八叉树算法在深度方向上以所述子块文件的高为单位将所述源地震数据文件切分为若干最小单元。
在步骤S320中,在顺序遍历各个最小单元的过程中,对于每个最小单元,顺序遍历每个存储节点对应的各个子块文件,从中找到该最小单元所对应的子块文件,从该子块文件中该最小单元所对应的位置处读取隶属于该最小单元的最小单元数据体,然后将该最小单元数据体写入与该子块文件所在的存储节点对应的中间文件中。
具体地,中间文件生成方法为在存储节点按照源地震数据体的主测线、联络线方向来进行遍历,最小单元对应的子块如果属于当前的存储节点,则从对应的子块中读取数据,存到中间文件中。需要注意的是,写入中间文件时省略掉子块文件的编号和在子块文件中的位置这两个整型数据。
在步骤S330中,从各个存储节点依次下载各个中间文件。
在步骤S340中,在顺序遍历各个中间文件的过程中,对于每一个中间文件,将该中间文件中的最小单元数据体依次写入所述源地震数据文件中对应的最小单元中。
下面以每次读取中间文件中的100MB数据为例来说明如何做到源地震文件的顺序写和中间文件的顺序读。
具体地,本地将这些中间文件依次下载,并按照主测线、联络线方向来进行遍历,生成各个地震道。每次要从中间文件默认读取总和100MB左右的数据,大小可以配置,具体大小为生成数据体地震道长度的整数倍。本地遍历和存储节点遍历的方式完全相同,所以合并时所需的数据顺序与中间文件中的数据顺序一致,只是这些数据需要从不同中间文件去获取。为了做到中间文件的顺序读,本步骤中遍历各个中间文件,对于每个中间文件,读取属于这批100MB的内容,再切换到下一个中间文件进行读取。每次读取的最小单元数据体为子块文件的高。此步骤实现了源文件的顺序写,中间文件的顺序读。
待该步骤完成后,本地继续读取下一个100MB数据,直到读取完所有中间文件,生成最终的源地震数据文件。至此,地震数据的合并流程完毕。
进一步地,若所述存储节点中备份有其他存储节点的子块文件,在其他存储节点掉线时,从所述存储节点中读取其他存储节点中的子块文件。
具体地,如果有多副本的情况,则只有子块第一次生成所在的存储节点才写这个子块的数据到中间文件,如果存在存储节点掉线的情况,则再从其他副本中获取数据。同时本地端记录下各个子块是从哪些存储节点中获取的,用以后面合并中间文件成为数据体时判断从哪个中间文件中取数据。此步骤做到了中间文件的顺序写,同时减少了本地的工作量。
在本实施例中,实现了地震数据合并速度的优化方法,减少本地端文件读写时间开销,提升了地震数据切分速度。而且还实现了文件的顺序读写,同时减少读写对象切换频率,将更多文件处理工作交由存储节点进行,减少了本地端负荷。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种地震数据切分速度的优化方法,其特征在于,包括以下步骤:
根据配置的子块文件的长、宽和高,利用八叉树算法将源地震数据文件中的地震道数据体切分为若干最小单元数据体并确定每个最小单元数据体所属的子块文件的编号、该最小单元数据体在该子块文件中的位置以及每个最小单元数据体所隶属的中间文件;
在顺序遍历与各个存储节点一一对应的各个中间文件的过程中,对于每一个中间文件,将隶属于该中间文件的最小单元数据体、以及最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置写入该中间文件中;
将各个中间文件分别上传到对应的各个存储节点;
每个存储节点顺序读取其对应的中间文件中的各个最小单元数据体,根据该最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置将该最小单元数据体写入其所属的子块文件中相应的位置。
2.根据权利要求1所述的优化方法,其特征在于,利用八叉树算法将所述地震道数据体在深度方向上以配置的所述子块文件的高为单位切分为若干最小单元数据体。
3.根据权利要求2所述的优化方法,其特征在于,根据以下步骤确定每个最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置,以及每个最小单元数据体所隶属的中间文件:
根据每个最小单元数据体的主测线、联络线和深度确定该最小单元数据体在所述源地震数据文件中的空间位置;
基于确定的各个最小单元数据体在所述源地震数据文件中的空间位置,利用八叉树算法计算各个最小单元数据体所属的子块文件的编号和该最小单元数据体在该子块文件中的位置;
将每个子块文件的编号与所述存储节点的数量相除,根据得到的余数确定该子块文件所属的存储节点,从而进一步确定隶属于该子块文件的各个最小单元数据体所属的存储节点和对应的中间文件。
4.根据权利要求3所述的优化方法,其特征在于,若所述源地震数据文件中的地震道数据体为叠后数据体,根据以下步骤确定所述叠后数据体经切分得到的每个最小单元数据体在其所属的子块文件中的位置:
将所述叠后数据体经切分得到的每个最小单元数据体的主测线和联络线,分别与配置的子块文件的长和宽相除,得到的余数分别为该最小单元数据体在其所属的子块文件的长和宽方向上的位置;
其中,所述叠后数据体经切分得到的每个最小单元数据体在其所属的子块文件中按照长和宽方向排列。
5.根据权利要求3所述的优化方法,其特征在于,若所述源地震数据文件中的地震道数据体为叠前数据体,根据以下步骤确定所述叠前数据体经切分得到的每个最小单元数据体在其所属的子块文件中的位置:
在切分各个所述地震道数据体之前读取其在源地震数据文件中的分布信息,并据此确定主测线和联络线所形成的每个测网位置下的地震道数据体的数量;
将所述叠前数据体经切分得到的每个最小单元数据体的主测线和联络线,分别与配置的子块文件的长和宽相除;
在将该测网位置下的各个最小单元数据体在长和宽方向上排序之前,将得到的余数分别与该测网位置下的地震道数据体的数量相加,得到该最小单元数据体在其所属的子块文件的长和宽方向上的位置;
其中,所述叠前数据体经切分得到的每个最小单元数据体在其所属的子块文件中按照长和宽方向排列。
6.根据权利要求1至5中任一项所述的优化方法,其特征在于,还包括以下步骤:
配置所述子块文件的备份数量;
若所述子块文件的备份数量大于1,每个存储节点将其对应的子块文件发送到其他存储节点中。
7.根据权利要求6所述的优化方法,其特征在于,利用哈希算法确定每个存储节点中对应的子块文件所要发送的其他存储节点。
8.一种地震数据合并速度的优化方法,其特征在于,包括以下步骤:
根据源地震数据文件中地震道数据体的主测线号、联络线号和深度,按照配置的子块文件的长、宽和高,利用八叉树算法将目标文件切分为若干最小单元并确定每个最小单元所对应的子块文件的编号、子块文件中的位置以及存储节点和中间文件;其中各个存储节点与各个中间文件一一对应;
在顺序遍历各个最小单元的过程中,对于每个最小单元,顺序遍历每个存储节点对应的各个子块文件,从中找到该最小单元所对应的子块文件,从该子块文件中该最小单元所对应的位置处读取隶属于该最小单元的最小单元数据体,然后将该最小单元数据体写入与该子块文件所在的存储节点对应的中间文件中;
从各个存储节点依次下载各个中间文件;
在顺序遍历各个中间文件的过程中,对于每一个中间文件,将该中间文件中的最小单元数据体依次写入所述源地震数据文件中对应的最小单元中。
9.根据权利要求8所述的优化方法,其特征在于,利用八叉树算法在深度方向上以所述子块文件的高为单位将所述源地震数据文件切分为若干最小单元。
10.根据权利要求8所述的优化方法,其特征在于,若所述存储节点中备份有其他存储节点的子块文件,在其他存储节点掉线时,从所述存储节点中读取其他存储节点中的子块文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810296338.4A CN110320554B (zh) | 2018-03-30 | 2018-03-30 | 一种地震数据切分速度和合并速度的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810296338.4A CN110320554B (zh) | 2018-03-30 | 2018-03-30 | 一种地震数据切分速度和合并速度的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110320554A true CN110320554A (zh) | 2019-10-11 |
CN110320554B CN110320554B (zh) | 2021-03-12 |
Family
ID=68112450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810296338.4A Active CN110320554B (zh) | 2018-03-30 | 2018-03-30 | 一种地震数据切分速度和合并速度的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110320554B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440350A (zh) * | 2013-09-22 | 2013-12-11 | 吉林大学 | 一种基于八叉树的三维数据检索方法及装置 |
CN104199096A (zh) * | 2014-09-12 | 2014-12-10 | 吉林大学 | 一种地震数据体层位面提取方法及装置 |
CN105677234A (zh) * | 2014-11-22 | 2016-06-15 | 重庆市上卓信息技术有限公司 | 数据切分与合并系统及其方法 |
CN106226817A (zh) * | 2016-09-12 | 2016-12-14 | 电子科技大学 | 基于连续平行坐标的多属性地震数据可视化方法 |
US20170329801A1 (en) * | 2012-06-05 | 2017-11-16 | Google Inc. | System and Method for Storing and Retrieving Geospatial Data |
CN107729138A (zh) * | 2017-09-14 | 2018-02-23 | 北京天耀宏图科技有限公司 | 一种高性能分布式矢量空间数据的分析方法和装置 |
-
2018
- 2018-03-30 CN CN201810296338.4A patent/CN110320554B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170329801A1 (en) * | 2012-06-05 | 2017-11-16 | Google Inc. | System and Method for Storing and Retrieving Geospatial Data |
CN103440350A (zh) * | 2013-09-22 | 2013-12-11 | 吉林大学 | 一种基于八叉树的三维数据检索方法及装置 |
CN104199096A (zh) * | 2014-09-12 | 2014-12-10 | 吉林大学 | 一种地震数据体层位面提取方法及装置 |
CN105677234A (zh) * | 2014-11-22 | 2016-06-15 | 重庆市上卓信息技术有限公司 | 数据切分与合并系统及其方法 |
CN106226817A (zh) * | 2016-09-12 | 2016-12-14 | 电子科技大学 | 基于连续平行坐标的多属性地震数据可视化方法 |
CN107729138A (zh) * | 2017-09-14 | 2018-02-23 | 北京天耀宏图科技有限公司 | 一种高性能分布式矢量空间数据的分析方法和装置 |
Non-Patent Citations (1)
Title |
---|
盛秀杰 等: ""PetroV分布式数据存储与分析框架设计"", 《石油地球物理勘探》 * |
Also Published As
Publication number | Publication date |
---|---|
CN110320554B (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nishimura et al. | MD-HBase: A scalable multi-dimensional data infrastructure for location aware services | |
CN110599490B (zh) | 一种遥感影像数据存储方法和系统 | |
CN103995861B (zh) | 一种基于空间关联的分布式数据装置、方法及系统 | |
CN108600321A (zh) | 一种基于分布式内存云的图数据存储方法和系统 | |
CN105786942B (zh) | 一种基于云平台的地理信息存储系统 | |
US9877031B2 (en) | System and method for multi-resolution raster data processing | |
US20080201335A1 (en) | Method and Apparatus for Storing Data in a Peer to Peer Network | |
CN104199986A (zh) | 基于hbase和geohash的矢量数据空间索引方法 | |
CN105205126A (zh) | 一种地图瓦片的存储方法及其存储系统 | |
CN111291016A (zh) | 一种海量遥感影像数据分层混合存储与索引方法 | |
CN102799679B (zh) | 基于Hadoop的海量空间数据索引更新系统及方法 | |
CN103425772A (zh) | 一种具有多维信息的海量数据查询方法 | |
CN106066896A (zh) | 一种应用感知的大数据重复删除存储系统及方法 | |
CN110058822A (zh) | 一种磁盘阵列横向拓展方法 | |
CN106682110B (zh) | 一种基于哈希格网索引的影像文件存储和管理系统及方法 | |
CN106682077A (zh) | 一种基于Hadoop技术的海量时序数据存储实现方法 | |
CN112380302B (zh) | 基于轨迹数据的热力图生成方法、装置、电子设备以及存储介质 | |
CN103167036A (zh) | 基于分布式多级缓存系统的栅格数据存取方法 | |
Jaiyeoba et al. | Graphtinker: A high performance data structure for dynamic graph processing | |
JP2023543004A (ja) | ヒルベルト曲線に基づくr木インデックスのマージ更新方法、装置及び媒体 | |
CN103559229A (zh) | 基于MapFile的小文件管理服务SFMS系统及其使用方法 | |
CN103593460A (zh) | 数据分级存储系统和数据分级存储方法 | |
CN105653694A (zh) | 一种北斗报文信息的存储与访问方法 | |
CN115114294A (zh) | 数据库存储模式的自适应方法、装置、计算机设备 | |
Nguyen et al. | B-EagleV: visualization of big point cloud datasets in civil engineering using a distributed computing solution |
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 |