一種疊前多次波逆時(shí)偏移地震數(shù)據(jù)處理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種疊前多次波逆時(shí)偏移地震數(shù)據(jù)處理方法及系統(tǒng),屬于地球物理勘探領(lǐng)域。
【背景技術(shù)】
[0002]逆時(shí)偏移成像通過雙程波波動(dòng)方程在時(shí)間上對(duì)地震資料進(jìn)行反方向外推并結(jié)合成像條件實(shí)現(xiàn)偏移成像,它避免了上下行波分離,且不受傾角限制,能夠?qū)θ我鈨A斜構(gòu)造進(jìn)行成像。基于波動(dòng)方程的多次波逆時(shí)偏移方法,它有著不需要做多次波預(yù)測(cè)、能夠提供比常規(guī)一次波偏移更大成像范圍等優(yōu)點(diǎn)(Tu and Herrmann,2012;Fleury,2013; Wang et al.,2014 ; Hu et al., 2015 ;ffong et al., 2015 ;Zheng et al.,2015;鄭憶康 et al.,2015)。在計(jì)算方面,疊前多次波逆時(shí)偏移是典型的大計(jì)算量、大吞吐量的地震數(shù)據(jù)處理方法,需采用并行計(jì)算的策略才能達(dá)到實(shí)際應(yīng)用要求;
[0003]CPU/CPU協(xié)同并行計(jì)算就是將GPU和CPU兩種不同架構(gòu)的處理器結(jié)合在一起,組成硬件上的協(xié)同并行模式,同時(shí)在應(yīng)用程序上實(shí)現(xiàn)GHJ和CPU軟件協(xié)同的并行計(jì)算。CPU主要負(fù)責(zé)GPU的控制、數(shù)據(jù)的準(zhǔn)備、數(shù)據(jù)在節(jié)點(diǎn)間的發(fā)送和接受等,即進(jìn)行并行控制;GPU主要進(jìn)行多次波逆時(shí)偏移最耗時(shí)的波場(chǎng)外推計(jì)算,即進(jìn)行并行計(jì)算。目前工業(yè)界普遍采用的基于有限差分方法的波場(chǎng)外推是最典型的單指令多數(shù)據(jù)計(jì)算模式,非常適合GPU處理,例如TeslaK40有2880個(gè)核心,可以同時(shí)處理2880個(gè)數(shù)據(jù)樣本。此外,多次波逆時(shí)偏移算法一般采用單精度進(jìn)行計(jì)算,具有較高的處理效率。
[0004]Mapreduce是一種編程模型,采用分布式文件系統(tǒng)(HDFS)將數(shù)據(jù)存儲(chǔ)和部署到各計(jì)算節(jié)點(diǎn)上,具有高容錯(cuò)性,且能自動(dòng)處理失敗節(jié)點(diǎn),性能穩(wěn)定,非常適合大規(guī)模數(shù)據(jù)集(大于1TB)管理和并行運(yùn)算。Mapreduce的主要思想,是從函數(shù)式編程語言借鑒而來,它極大地方便了編程人員在不了解分布式并行編程的情況下,將自己的程序運(yùn)行在分布式系統(tǒng)上。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是,針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于Mapreduce框架及GPU加速的大規(guī)模疊前多次波逆時(shí)偏移地震數(shù)據(jù)處理方法及系統(tǒng)。
[0006]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種疊前多次波逆時(shí)偏移地震數(shù)據(jù)處理方法,具體包括以下步驟:
[0007]步驟1:獲取地震數(shù)據(jù);
[0008]步驟2:在集群上啟動(dòng)多個(gè)hadoop數(shù)據(jù)節(jié)點(diǎn),將地震數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)塊,分別將每個(gè)數(shù)據(jù)塊發(fā)給集群上的一個(gè)數(shù)據(jù)節(jié)點(diǎn);
[0009]步驟3:對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)上的地震數(shù)據(jù)進(jìn)行疊前多次波逆時(shí)偏移計(jì)算,得到臨時(shí)成像結(jié)果,將臨時(shí)成像結(jié)果存入分布式文件系統(tǒng)中;
[0010]步驟4:將分布式文件系統(tǒng)中的臨時(shí)成像結(jié)果進(jìn)行合并,得到共成像點(diǎn)道集作為成像結(jié)果;[0011 ]步驟5:將成像結(jié)果輸出,生成成像剖面。
[0012]本發(fā)明的有益效果是:通過采用Mapreduce框架和GPU加速實(shí)現(xiàn)了地震數(shù)據(jù)的疊前多次波逆時(shí)偏移計(jì)算,該方法不僅方便處理大規(guī)模、超大規(guī)模地震數(shù)據(jù),而且還可以提高偏移處理的效率。該方法在Mapreduce框架下通過GPU加速來實(shí)現(xiàn)地震資料的疊前多次波逆時(shí)偏移計(jì)算,相對(duì)傳統(tǒng)基于CHJ集群的疊前偏移方法,大幅度提高了地震資料疊前多次波逆時(shí)偏移的計(jì)算效率,縮短了地震資料處理的時(shí)間。同時(shí),由于采用了 GPU計(jì)算,處理相同規(guī)模的地震數(shù)據(jù),所消耗的電能相對(duì)于(PU設(shè)備,將大大減少,節(jié)約了資源和成本。
[0013]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0014]進(jìn)一步,所述步驟4與步驟5之間還包括處理步驟:將臨時(shí)成像結(jié)果合并后得到的共成像點(diǎn)道集進(jìn)行切除和疊加處理,得到成像結(jié)果,所述切除和疊加處理一般是對(duì)成像結(jié)果進(jìn)行進(jìn)一步分析,切除一些噪音很強(qiáng)的部分。
[0015]采用上述進(jìn)一步方案的有益效果是,經(jīng)過切除和疊加處理后的成像結(jié)果,能夠輸出更準(zhǔn)確的成像剖面。
[0016]進(jìn)一步,所述步驟I具體包括:將野外采集的原始地震數(shù)據(jù)進(jìn)行預(yù)處理,得到高信噪比共炮點(diǎn)道集(CSG道集)數(shù)據(jù)和對(duì)應(yīng)的介質(zhì)速度模型共同構(gòu)成地震數(shù)據(jù)。
[0017]采用上述進(jìn)一步方案的有益效果是,對(duì)原始地震數(shù)據(jù)進(jìn)行預(yù)處理,可以得到高信噪比的地震數(shù)據(jù),地震數(shù)據(jù)中包括共炮點(diǎn)道集數(shù)據(jù)和對(duì)應(yīng)的介質(zhì)速度模型。
[0018]進(jìn)一步,所述預(yù)處理包括靜校正、反褶積和去噪中的至少一種。
[0019]進(jìn)一步,所述步驟2中所述地震數(shù)據(jù)劃分成數(shù)據(jù)塊的數(shù)量與啟動(dòng)的數(shù)據(jù)節(jié)點(diǎn)的數(shù)量相適配。
[0020]采用上述進(jìn)一步方案的有益效果是,使每個(gè)數(shù)據(jù)節(jié)點(diǎn)處理一個(gè)數(shù)據(jù)塊,加快處理速度,提高處理效率。
[0021]進(jìn)一步,所述步驟2中將每個(gè)數(shù)據(jù)塊發(fā)給集群上的一個(gè)數(shù)據(jù)節(jié)點(diǎn)的同時(shí),獲取每個(gè)數(shù)據(jù)節(jié)點(diǎn)所處理數(shù)據(jù)的對(duì)應(yīng)偏移參數(shù),截取偏移孔徑內(nèi)的地震數(shù)據(jù)。
[0022]采用上述進(jìn)一步方案的有益效果是,所述偏移參數(shù)由已知的參數(shù)文件表中讀取。
[0023]進(jìn)一步,所述步驟3具體包括以下步驟:
[0024]步驟3.1:對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)上的地震數(shù)據(jù)進(jìn)行疊前多次波逆時(shí)偏移計(jì)算,得到臨時(shí)成像結(jié)果,將臨時(shí)成像結(jié)果累加到本地臨時(shí)文件中;
[0025]步驟3.2:將本地臨時(shí)文件中的臨時(shí)成像結(jié)果拷貝到分布式文件系統(tǒng)中,刪除本地臨時(shí)文件。
[0026]采用上述進(jìn)一步方案的有益效果是,將本地臨時(shí)文件作為臨時(shí)緩存,更大的利用虛擬空間,可保證同時(shí)處理多個(gè)數(shù)據(jù)節(jié)點(diǎn)的地震數(shù)據(jù),加快了計(jì)算速度;并且在本地臨時(shí)文件清空時(shí),刪除本地臨時(shí)文件,實(shí)時(shí)釋放空間,不占用空間。
[0027]進(jìn)一步,所述疊前多次波逆時(shí)偏移計(jì)算是基于CPU/GPU異構(gòu)集群疊前多次波逆時(shí)偏移并行實(shí)現(xiàn)的,具體計(jì)算過程包括以下步驟:
[0028]將每個(gè)數(shù)據(jù)節(jié)點(diǎn)中的地震數(shù)據(jù)從CPU拷貝到GPU中;
[0029]在GPU中進(jìn)行炮集多次波逆時(shí)偏移計(jì)算,得到計(jì)算結(jié)果;
[0030]將計(jì)算結(jié)果傳輸?shù)紺PU中并構(gòu)成臨時(shí)成像結(jié)果。
[0031]采用上述進(jìn)一步方案的有益效果是,由于采用了GPU計(jì)算,處理相同規(guī)模的地震數(shù)據(jù),所消耗的電能相對(duì)于CPU設(shè)備,將大大減少,節(jié)約了資源和成本。
[0032]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種疊前多次波逆時(shí)偏移地震數(shù)據(jù)處理系統(tǒng),包括數(shù)據(jù)獲取模塊、數(shù)據(jù)管理和訪問模塊、數(shù)據(jù)偏移模塊、數(shù)據(jù)匯總模塊和輸出模塊;
[0033]所述數(shù)據(jù)獲取模塊用于獲取地震數(shù)據(jù);
[0034]所述數(shù)據(jù)管理和訪問模塊用于在集群上啟動(dòng)多個(gè)hadoop數(shù)據(jù)節(jié)點(diǎn),將地震數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)塊,分別將每個(gè)數(shù)據(jù)塊發(fā)給集群上的一個(gè)數(shù)據(jù)節(jié)點(diǎn);
[0035]所述數(shù)據(jù)偏移模塊用于對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)上的地震數(shù)據(jù)進(jìn)行疊前多次波逆時(shí)偏移計(jì)算,得到臨時(shí)成像結(jié)果,將臨時(shí)成像結(jié)果存入分布式文件系統(tǒng)中;
[0036]所述數(shù)據(jù)匯總模塊用于將分布式文件系統(tǒng)中的臨時(shí)成像結(jié)果進(jìn)行合并,得到共成像點(diǎn)道集作為成像結(jié)果;
[0037]所述輸出模塊將成像結(jié)果輸出,生成成像剖面。
[0038]本發(fā)明的有益效果是:通過采用Mapreduce框架和GPU加速實(shí)現(xiàn)了地震數(shù)據(jù)的疊前多次波逆時(shí)偏移計(jì)算,該方法不僅方便處理大規(guī)模、超大規(guī)模地震數(shù)據(jù),而且還可以提高偏移處理的效率。該方法在Mapreduce框架下通過GPU加速來實(shí)現(xiàn)地震資料的疊前多次波逆時(shí)偏移計(jì)算,相對(duì)傳統(tǒng)基于CHJ集群的疊前偏移方法,大幅度提高了地震資料疊前多次波逆時(shí)偏移的計(jì)算效率,縮短了地震資料處理的時(shí)間。同時(shí),由于采用了 GPU計(jì)算,處理相同規(guī)模的地震數(shù)據(jù),所消耗的電能相對(duì)于(PU設(shè)備,將大大減少,節(jié)約了資源和成本。
[0039]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0040]進(jìn)一步,還包括處理模塊;
[0041]所述處理模塊用于將臨時(shí)成像結(jié)果合并后得到的共成像點(diǎn)道集進(jìn)行切除和疊加處理。
【附圖說明】
[0042]圖1為本發(fā)明具體實(shí)施例1所述的一種疊前多次波逆時(shí)偏移地震數(shù)據(jù)處理方法流程圖;
[0043]圖2為本發(fā)明具體實(shí)施例2所述的一種疊前多次波逆時(shí)偏移地震數(shù)據(jù)處理系統(tǒng)結(jié)構(gòu)框圖;
[0044]圖3為本發(fā)明所述的疊前多次波逆時(shí)偏移地震數(shù)據(jù)處理過程圖;
[0045]圖4為本發(fā)明所述的疊前多次波逆時(shí)偏移計(jì)算流程圖;
[0046]圖5為本發(fā)明具體示例獲得的疊前多次波逆時(shí)偏移結(jié)果。
[0047]附圖中,各標(biāo)號(hào)所代表的部件列表如下:
[0048]1、數(shù)據(jù)獲取模塊,2、數(shù)據(jù)管理和訪問模塊,3、數(shù)據(jù)偏移模塊,4、數(shù)據(jù)匯總模塊,5、輸出模塊,6、處理模塊。
【具體實(shí)施方式】
[0049]以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0050]如圖1所示,為本發(fā)明具體實(shí)施例1所述的一種疊前多次波逆時(shí)偏移地震數(shù)據(jù)處理方法,具體包括以下步驟:
[0051]步驟1:獲取地震數(shù)據(jù);
[0052]步驟2:在集群上啟動(dòng)多個(gè)hadoop數(shù)據(jù)節(jié)點(diǎn),將地震數(shù)據(jù)劃分成多個(gè)數(shù)據(jù)塊,分別將每個(gè)數(shù)據(jù)塊發(fā)給集群上的一個(gè)數(shù)據(jù)節(jié)點(diǎn);
[0053]步驟3:對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)上的地震數(shù)據(jù)進(jìn)行疊前多次波逆時(shí)偏移計(jì)算,得到臨時(shí)成像結(jié)果,將臨時(shí)成像結(jié)果存入分布式文件系統(tǒng)中;
[0054]步驟4:將分布式文件系統(tǒng)中的臨時(shí)成像結(jié)果進(jìn)行合并,得到共成像點(diǎn)道集作為成像結(jié)果;
[0055]步驟5:將成像結(jié)果輸出,生成成像剖面。
[0056]本發(fā)明具體實(shí)施例2