999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于八叉樹的地震數據分布式存儲方法研究

2024-06-01 05:59:06景妍彭成
電腦知識與技術 2024年10期

景妍 彭成

摘要:針對現有地震數據存取效率不足的問題,在參考谷歌文件系統設計理念并吸收其關鍵分布式處理技術的基礎上,利用三維空間下八叉樹結構與編碼的快速空間定位機制,實現對三維大數據體的結構分塊存儲。這一方法減少了單機存儲空間開銷,并通過備份降低了數據丟失的風險。同時,采用八叉樹結構的分塊存儲,對于相近區域的屬性計算和三維渲染在文件訪問速度上具有優勢。

關鍵詞:分布式;八叉樹;地震數據;子塊切分;哈希編碼

中圖分類號:P311.5, TP311.1 文獻標識碼:A

文章編號:1009-3044(2024)10-0081-03

0 引言

如果能夠充分利用最新的信息科學技術方便地調取上游板塊基礎資料,例如地震數據,并無縫地融合于油氣資源評價參數獲取與勘探部署決策過程中,對實現油氣高效勘探具有重要的現實意義[1]。考慮到以SEGY格式存儲的三維地震數據,一個文件就可以達到幾百GB甚至TB級別,在業內不斷應用計算機存儲新技術的情況下,設計、調整并形成了一系列網絡文件存儲技術與部署方案[2]。例如,以直連式存儲、網絡附加存儲、存儲區域網為代表的網絡存儲技術,配套高性能計算集群來提高單位時間內執行的任務數,體現出大吞吐量、低延遲數據讀取的特點[3-4]。由于采用的是直接存儲整個大數據文件的方式,面向集群的大文件存取存在對存儲和執行環境要求高、網絡互聯設備昂貴、地理上連接距離有限、需要配備專業人員維護、訪問速度瓶頸等問題[5-6]。特別是,單個大文件I/O節點不僅因大量數據交換而變得很慢,還存在單點故障、容易造成集群癱瘓等實際問題[7]。

隨著地震采集及電子掃描技術的發展,獲取地震資料的量級快速增長。盡管用來處理數據的計算機性能在不斷提高,但數據規模爆炸式的增長仍然超越了內存的發展速度[8]。從存儲、加載到顯示,需要重新審視現有的主流文件存儲格式,并配套研發相適應的渲染、大數據挖掘等一系列支持大數據體的核心技術[9]。隨著三維地震數據采集、油氣田開發等系列新技術帶來的快速數據更新,大數據背景下三維數據體的高效存儲與處理分析變得越來越復雜[10]。在參考谷歌文件系統設計理念和消化其關鍵分布式處理技術的基礎上,本方法利用三維空間下八叉樹結構與編碼的快速空間定位機制,實現對三維大數據體的結構分塊存儲。

1 分布式存儲節點及八叉樹切分參數配置

地震數據八叉樹分布式存儲是指對地震數據通過八叉樹結構進行切分,切分成多個子塊文件后傳輸到不同存儲節點中進行存儲,實現分布式存儲。分布式存儲的結構包括本地、服務器、存儲節點三個類型的對象,其中本地存放了待切分的源地震數據,服務器中存放切分和存儲節點的參數配置,以及各個子塊的編碼及存儲位置信息,存儲節點中存放切分生成的子塊以及索引文件。

分布式存儲節點的配置包括服務器的地址以及存儲節點的地址配置。在進行八叉樹切分時,服務器及存儲節點會運行數據存取服務程序,其可以實現不同計算機之間的數據發送和接收功能,此服務程序基于RCF的開源代碼實現。在配置服務器地址時,輸入服務器的網絡地址和網絡端口號進行連接,服務器會返回當前已經存在的分布式地震數據對象列表,用戶新建一個分布式地震數據名表示切分后的地震數據對象,然后輸入各個存儲節點的網絡地址和網絡端口號,之后的地震切塊會發送到這些存儲節點中。

八叉樹切分參數的配置是基于八叉樹結構。源地震數據可以看作一個三維的數據立方體,長寬高分別對應主測線、聯絡線和深度。用戶配置時會指定小立方體的長寬高方向上的數據量,通過小立方體的長寬高和源地震數據的長寬高比較,得到源地震數據在三個方向上與小立方體三個方向上長度的比值,取比值最大的一個方向并計算滿足大于此比值的最小的2 的次冪,這個次冪數即為八叉樹切分的層級數。

索引文件中會記錄源地震數據三個方向上的數據量以及八叉樹的切分方式。通過這兩個參數可以推導出地震數據和八叉樹子塊在空間位置上的對應關系,通過對應關系可以從空間位置得到子塊的編號,也可以通過子塊編號得到其對應的空間范圍。對于源地震數據三個方向上與2的次冪不整除的情況,在計算生成某個子塊時,這個子塊所在的空間位置可能沒有對應的地震數據或者只有一部分地震數據,那么不生成此子塊或者只生成有數據部分的子塊即可。

2 切塊編碼及存儲節點的分配

八叉樹空間結構的三維空間編碼通常采用線性莫頓編碼,如圖1所示,每一位八進制數位可以看成3 位二進制數,由所在節點的空間位置編碼而來(其中,n 表示子體數據塊所處的空間結構位置):Morton =[(x0,y0,z0),(x1,y1,z1),...,(xn-1,yn-1,zn-1)]。切分時的每個子塊都會有其對應的莫頓碼,從莫頓碼也可以反推出子塊對應的空間范圍。

八叉樹節點體現了空間坐標信息,同時易于實現自然數的映射,即某一體數據塊的具體文件存儲位置。莫頓碼按照大小排序得到子塊的自然數編碼(Tile ID) ,進而映射到不同體數據塊文件存儲位置。讀取子塊數據時,當給出三維空間數據獲取范圍時,通過計算八叉樹中所在的空間位置得到莫頓碼,進而以Tile ID為索引定位數據在文件中的存儲位置;同樣,給出數據存儲位置,也可以計算 Tile ID,得到它在體數據或八叉樹中的空間位置。Tile ID從零開始,對應最終層級中莫頓碼最小的子塊,依次類推。

為了使分布式存儲節點在存儲多個不同地震數據體子塊時,文件名稱不相重復,需要對地震數據體的子塊命名獨有的文件名,本文采用生成隨機64位無符號整型數來表示子塊的哈希編碼(UUID) ,每個子塊文件命名為“XXX(UUID).afs”。

子塊有莫頓碼、Tile ID、UUID三種碼,與子塊一一對應,從莫頓碼和子塊長寬高范圍也可以推導出其所在的空間位置,從而實現編碼和位置信息的關聯。

在分配存儲節點時,要確定一個子塊需要傳輸到哪些存儲節點中,采用的是一致性哈希算法,如圖2所示,整數0到2^64-1構成一個圓環,每個存儲節點生成一個隨機64位無符號整型數據表示存儲節點的哈希值,根據哈希值在圓環中所處的位置,將存儲節點放在相應位置上,如圖中ABCD四個節點。每個子塊也有一個UUID,根據UUID落在圓環中的位置,例如在AB之間那么這個子塊就分配給A,在BC之間就分配給B,在CD之間就分配給C,在DA之間就分配給D。對于多副本的情況,只需在圓環上順時針往后面找相應數量的存儲節點進行分配,例如有兩個副本,那么一個子塊分配給A,則再順時針往下找到B,最后子塊會傳輸到A和B兩個存儲節點實現多副本。

本地將存儲節點配置和子塊切分參數配置傳給服務器,服務器端完成每個子塊生成UUID以及計算其對應的存儲節點的工作,并將分布式地震數據名、子塊與UUID的對應列表、子塊與存儲節點的對應列表保存。

3 切分地震數據生成子塊

切分地震數據生成子塊的流程如圖3所示:

1) 初始化網絡環境,啟動RCF中用來連接服務端的接口,分別啟動連接服務器的接口以及連接存儲節點的接口。

2) 本地根據子塊切分參數配置生成各個子塊的莫頓編碼和總的子塊個數。

3) 打開源地震數據文件,準備讀取數據。

4) 將存儲節點配置和子塊切分參數配置傳給服務器,服務器端完成每個子塊生成UUID以及計算其對應的存儲節點的工作,并將每個子塊的文件名返回給本地。

5) 初始化當前切分狀態信息,包括切分時的當前子塊,帶寬,數據傳輸量,上傳的最長最短用時等。

6) 切分源地震數據體生成子塊,具體生成一個子塊的步驟為:首先根據當前子塊的Tile ID得到其莫頓編碼,再通過莫頓編碼轉換為具體的空間范圍,對于三維地震數據體,空間范圍即主測線、聯絡線、深度三個方向上的范圍,然后循環遍歷主測線和聯絡線,一對主測線號和聯絡線號確定的平面上的位置稱作CDP點,這個CDP點對應一個地震道,按照深度方向的范圍從源地震文件中讀取這個地震道,然后將數據寫入到子塊中。

源地震數據的組織方式是按照地震道來排列的,每個地震道的長度相同,在地震道道頭中有其主測線號和聯絡線號,本地首先讀取所有地震道頭,建立CDP點位置與對應地震道在文件中位置的對應關系(gridpos_filepos) ,有些地震數據里面地震道并不是按照主測線和聯絡線順序排列的,可能順序是亂的。所以在從源地震數據讀取地震道時,需要利用grid?pos_filepos來找到其正確的位置。

對于疊前地震數據,每個CDP點對應一組地震道而不是一條地震道,此時需要讀取一組地震道在子塊深度范圍內的數據,也是利用gridpos_filepos,此時這個對應關系是一對多的,將所有相同CDP點號的地震道數據讀出,然后順序地寫入子塊中。gridpos_filepos 會在后續步驟寫入索引文件傳到存儲節點。子塊的數據排列方式如圖4所示,平面上兩個方向分別為切分后的主測線和聯絡線部分,每個CDP點號對應一個道集,為相同CDP號的一組地震道在子塊深度區間范圍內的數據。

4 傳輸子塊及索引到存儲節點

對于生成的子塊文件,傳輸到對應的存儲節點中。首先向服務器發送子塊的Tile ID,服務器通過自身存儲的子塊與存儲節點的對應列表,將需要上傳的存儲節點返回給本地,本地通過與存儲節點的數據傳輸接口,將子塊上傳到存儲節點中。在前面配置參數的步驟中,配置存儲節點時需要配置文件存放的具體路徑,表示子塊在存儲節點計算機中存放的位置。存儲節點根據當前切分地震數據體的分布式文件名稱,對其名稱進行MD5哈希得到一個無符號整型數字,在文件存放路徑下建立名為此數字的子文件夾,所有當前切分地震數據體的子塊都存放在這個子文件夾中,之后子塊獲取也是根據MD5哈希找到正確的目錄去加載。

索引文件內容包括源地震數據主測線和聯絡線組成的測網形狀信息,八叉樹參數(層數、子塊等方向的大小),子塊數量,各子塊文件名,gridpos_filepos,源地震數據體深度范圍及測網范圍。最后,將索引傳輸到每個存儲節點中。

5 加載并使用分布式地震數據

用戶指定要加載的分布式地震數據名稱,選擇后從存儲節點中下載索引文件并加載到本地,完成分布式文件的加載。在使用分布式地震數據時,例如想查看某一條主測線的地震道剖面,則根據剖面的主測線號、聯絡線號、深度范圍以及八叉樹切分參數,得到對應的子塊編號。然后將下載子塊的編號發送給服務器端,服務器端根據子塊與存儲節點的對應關系以及子塊編號與子塊文件名對應關系,找到子塊對應的存儲節點及文件路徑返回給本地,本地再從相應的存儲節點下載子塊。子塊下載完成后,從子塊中對應的位置讀取地震數據并形成地震剖面。

一個具體的地震剖面查詢流程如圖5所示。

1) 通過輸入的主測線號或者聯絡線號,生成一組CDP點位置及起止時間。

2) 對于每一個CDP點位置以及起止時間,首先從緩存中查詢,如果緩存中有,則直接返回數據,如果沒有,則將CDP點位置轉換為在數據立方體長寬平面上的偏移量,將起止時間轉換為數據立方體在高方向上的偏移量。

3) 根據偏移量,得到具體的空間坐標范圍。

4) 根據空間坐標范圍及八叉樹切分配置,得到對應的一組莫頓編碼。

5) 對于每個莫頓編碼,獲取對應的Tile ID。

6) 根據Tile ID,在緩存中查詢,如果緩存中有,則直接返回數據,如果沒有則獲取對應的UUID及子塊文件名。

7) 如果本地有對應的子塊文件,則讀取數據并返回,如果沒有則向服務器詢問子塊所在存儲節點,服務器根據子塊與存儲節點的對應列表返回子塊所在存儲節點,本地再向存儲節點下載子塊,存儲節點根據當前地震數據體的分布式文件名稱及子塊文件名,找到對應的存儲路徑,將文件傳回本地。

6 結論

本文設計了一種地震數據八叉樹分布式存儲方法,通過分布式哈希方法對地震子塊分配,支持疊前地震數據的子塊切分存儲,同時提供冗余存儲降低數據丟失風險。基于八叉樹的分布式存儲減少了單機存儲空間開銷,并且對于相近區域的屬性計算和三維渲染在文件訪問速度上具有優勢。

參考文獻:

[1] 陳通,韓雪君,馬延路.時序數據庫在海量地震波形數據分布式存儲與處理中的應用初探[J].中國地震,2022,38(4):799-809.

[2] 龐銳,許自龍,朱海偉,等.面向地震數據交互分析場景的高效分布式緩存框架[J].石油物探,2022,61(6):1090-1098,1114.

[3] 李彩華,滕云田,周健超,等.分布式地震數據采集器的高精度時間同步系統研制[J].地震學報,2022,44(6):1111-1120.

[4] 吳崢,王方建,董翔,等.地震觀測數據融合存儲技術研究[J]. 地震地磁觀測與研究,2023,44(1):115-119.

[5] 周勃,劉萬偉.基于HDF5的地震解釋成果數據存儲技術研究[J].信息系統工程,2022(5):132-135,140.

[6] 朱少華,魏緒云,胡旭輝.從模擬時期到數字時代地震業務數據檔案存儲研究[J].山東檔案,2023(2):79-80.

[7] 楊河山,張世明,曹小朋,等.基于Hadoop分布式文件系統的地震勘探大數據樣本采集及存儲優化[J].油氣地質與采收率,2022,29(1):121-127.

[8] 蔣治剛.StorNext并行存儲技術在遼河油田地震資料處理中的應用[J].信息系統工程,2021(9):35-37.

[9] 呂作勇,黃文輝,康英,等.海量多源異構地震監測數據存儲和共享服務系統[J].華南地震,2021,41(2):13-18.

[10] 趙輝.地震監測數據的Hadoop存儲解決方案[J].華南地震,2020,40(3):70-75.

【通聯編輯:梁書】

主站蜘蛛池模板: 国产精品视频第一专区| 国产真实乱人视频| 亚洲欧美日韩另类在线一| 99久久精品国产自免费| 波多野吉衣一区二区三区av| 久久国产精品麻豆系列| 人妻丰满熟妇av五码区| 国产免费观看av大片的网站| 亚洲欧洲日产无码AV| 国产成人久久综合777777麻豆| 在线国产91| 日韩精品无码一级毛片免费| 毛片免费试看| 亚洲成a人片| 熟妇丰满人妻| 91精品免费高清在线| 国产精品私拍在线爆乳| 亚洲免费三区| 日韩国产亚洲一区二区在线观看 | 国产真实乱子伦精品视手机观看| 国产老女人精品免费视频| 亚洲无码精品在线播放 | 四虎在线高清无码| 国产精品偷伦在线观看| 日韩视频免费| 毛片免费高清免费| 国产成人禁片在线观看| 欧美三级视频网站| 激情亚洲天堂| 亚洲一区二区日韩欧美gif| 9丨情侣偷在线精品国产| 日本伊人色综合网| 久久久91人妻无码精品蜜桃HD| 日韩视频福利| 亚洲欧美成人网| 欧美亚洲日韩中文| 97成人在线视频| 成年免费在线观看| 国产一二视频| 欧美激情视频一区二区三区免费| 亚洲人成在线精品| 久久精品无码一区二区国产区| 国产午夜精品一区二区三| 99免费在线观看视频| 免费人成在线观看成人片 | 人妻丰满熟妇啪啪| 久久永久免费人妻精品| 国产成人精品无码一区二 | 国产无遮挡裸体免费视频| 久久人午夜亚洲精品无码区| 成人午夜视频网站| 欧美亚洲国产精品第一页| 无码'专区第一页| 91精品国产麻豆国产自产在线 | 国产jizzjizz视频| 亚洲视频影院| 色哟哟精品无码网站在线播放视频| 国产高清无码第一十页在线观看| 99这里只有精品6| 日韩在线欧美在线| 97在线观看视频免费| 美女无遮挡拍拍拍免费视频| 青草视频在线观看国产| 久久精品丝袜| 一本色道久久88| 成年人久久黄色网站| 欧洲亚洲一区| 激情六月丁香婷婷四房播| 免费A∨中文乱码专区| 成人午夜福利视频| 国产成人综合在线观看| 欧美a级在线| 精品国产电影久久九九| 亚洲成人播放| 高清色本在线www| 四虎永久免费地址| 国产91小视频| 亚洲欧美另类久久久精品播放的| 一级成人a毛片免费播放| 伊人成色综合网| 亚洲女同一区二区| 亚洲美女一区|