張潔 趙玉梅 張紅杰 史哲 張衛(wèi)華 段文曉
DOI:10.16644/j.cnki.cn33-1094/tp.2021.11.004
摘? 要: 隨著GeoEast軟件版本和計算機集群設備的不斷更新?lián)Q代,在地震勘探生產(chǎn)中經(jīng)常面臨著大規(guī)模的項目數(shù)據(jù)遷移,所涉及的數(shù)據(jù)量往往高達數(shù)百TB甚至PB級。而GeoEast傳統(tǒng)的交互式遷移方法用時長、效率低、占用磁盤空間大,對項目生產(chǎn)的影響較大,已不能滿足日趨頻繁的項目遷移需求。文章針對以上現(xiàn)狀,結合實際生產(chǎn)場景從GeoEast數(shù)據(jù)存放結構方式以及遷移手段改進等方面著手,實現(xiàn)不同應用場景下GeoEast項目安全、高效遷移。
關鍵詞: GeoEast; Oracle數(shù)據(jù)庫; 項目遷移; 備份策略
中圖分類號:TP311.5? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2021)11-13-03
Research and application of efficient migration technology for GeoEast project
Zhang Jie, Zhao Yumei, Zhang Hongjie, Shi Zhe, Zhang Weihua, Duan Wenxiao
(BGP, CNPC, Zhuozhou, Hebei 072750, China)
Abstract: With the continuous update of GeoEast software version and computer cluster equipment, large-scale project data migration is often faced in seismic exploration and production, the amount of data involved is often as high as hundreds of terabytes or even petabytes. However, the traditional interactive migration of GeoEast takes a long time, has low efficiency and takes up a large amount of disk space, which has a greater impact on project production, and can no longer meet the needs of increasingly frequent project migration. In view of the above current situation, this article starts with the improvement of GeoEast data storage structure and migration methods in combination with actual production scenarios, and realizes the safe and efficient migration of GeoEast projects in different application scenarios.
Key words: GeoEast; Oracle database; project migration; backup strategy
0 引言
GeoEast系統(tǒng)作為國內(nèi)首款由中國石油集團東方地球物理公司自主研發(fā)的大型地震資料處理解釋一體化軟件[1],從2004年v1.0版本對外發(fā)布以來,經(jīng)過十七年的發(fā)展目前已經(jīng)升級到v3.5版本。而在大規(guī)模地震資料處理實際生產(chǎn)使用過程中,常常會面臨高性能集群設備的更新?lián)Q代、操作系統(tǒng)及軟件的不斷升級與更新、單位設備的調整和調撥、項目更迭需要更換集群及存儲等情況。而隨著地震勘探精度不斷提高、野外勘探數(shù)據(jù)量不斷增大,GeoEast系統(tǒng)中單個處理項目的數(shù)據(jù)往往有幾百TB,大型項目數(shù)據(jù)量甚至達到PB級。而傳統(tǒng)的GeoEast遷移方式需要將整個項目數(shù)據(jù)打包遷移,單節(jié)點單任務交互式的遷移需要耗費大量的時間,一旦失敗就要重新開始,對項目生產(chǎn)的影響很大。為了提高GeoEast項目的遷移效率,需要結合生產(chǎn)現(xiàn)狀對GeoEast項目數(shù)據(jù)組成部分進行分析與研究,對數(shù)據(jù)遷移的方式進行優(yōu)化與改進,以滿足GeoEast海量項目數(shù)據(jù)高效遷移的需求。
1 存在的問題
目前GeoEast項目傳統(tǒng)的遷移方式主要有三種:①使用交互遷移工具DBcontrol;②使用GeoEast主控界面上的Backup/Restore工具;③將原項目數(shù)據(jù)導出成外部格式(如segy等),再在目標項目中導入數(shù)據(jù)。這些方式的核心都是將整個項目數(shù)據(jù)在原機柜進行打包備份,并導出到中間磁盤上,再解壓恢復到新機柜上(如圖1)。以上方法操作簡便、易于上手,有交互界面對用戶較為友好,但還存在著以下問題。
⑴ 效率低:地震數(shù)據(jù)占用空間往往很大,大量數(shù)據(jù)的備份恢復以及導入導出所用的時間是系統(tǒng)級拷貝時間的數(shù)倍,并且傳統(tǒng)的遷移方式只能在單節(jié)點上單進程操作,耗時長。
⑵ 失敗率高:項目數(shù)據(jù)的備份恢復、導入導出只能通過交互界面進行操作,無法中斷,否則遷移失敗只能重新開始,且當項目數(shù)據(jù)量大時成功率很低。
⑶ 浪費空間:項目數(shù)據(jù)備份或者導出需要額外占用一份磁盤空間,除原有項目占用的磁盤空間外,還需要兩倍以上的空間才能完成遷移。
2 高效遷移技術研究
2.1 GeoEast項目數(shù)據(jù)結構
在GeoEast系統(tǒng)中,用戶的項目數(shù)據(jù)一部分存放在數(shù)據(jù)庫中(一般為數(shù)據(jù)的信息部分),一部分存放在文件系統(tǒng)中(一般為數(shù)據(jù)實體文件)。數(shù)據(jù)的表現(xiàn)形式有兩種,一種是主控的數(shù)據(jù)樹,是以項目/工區(qū)/測線為結構的,反映了數(shù)據(jù)庫數(shù)據(jù)的應用邏輯結構。另一種是數(shù)據(jù)目錄結構(也以項目/工區(qū)/測線為結構),存儲的是數(shù)據(jù)實體、動態(tài)數(shù)據(jù)。創(chuàng)建一個新項目時,在數(shù)據(jù)庫中就記錄了該項目的信息,包括項目的用戶、創(chuàng)建時間、道數(shù)、采樣間隔等信息,同時在磁盤上創(chuàng)建了整個項目的目錄結構[2]。GeoEast主控界面上顯示的數(shù)據(jù)信息即為卷頭數(shù)據(jù)庫表中的信息,地震數(shù)據(jù)的道頭和數(shù)據(jù)體較大,分成若干二進制文件存儲在磁盤中,道頭和數(shù)據(jù)體的列表則是通過以“.header”和“.dat”為后綴的文本文件存放在項目主盤工區(qū)目錄下(如圖2)[3]。
由此可知,在GeoEast系統(tǒng)中,如果沒有數(shù)據(jù)庫中的數(shù)據(jù)標識信息,實體數(shù)據(jù)則不能被GeoEast系統(tǒng)所識別;如果沒有磁盤部分的實體數(shù)據(jù),那么這個項目僅僅在數(shù)據(jù)庫里存在一個標識,無法進行實際使用。因此,如果要實現(xiàn)項目完整遷移,必須同時遷移數(shù)據(jù)庫數(shù)據(jù)和磁盤數(shù)據(jù)。
2.2 遷移模式的改進
針對效率低、失敗率高的傳統(tǒng)遷移方法主要的痛點,我們對項目遷移的模式進行改進,創(chuàng)新了并行分層多任務的新方法(如圖3),改進的遷移方法主要有以下幾點思路:
⑴ 因項目數(shù)據(jù)庫文件占用空間小,而磁盤文件占用空間大,可將整個項目拆分為數(shù)據(jù)庫遷移和磁盤文件遷移兩個部分;
⑵ 僅針對操作較為復雜的數(shù)據(jù)庫部分進行交互式備份和恢復操作;
⑶ 占空間量很大的磁盤文件采用多節(jié)點多任務并行的方式進行遷移;
⑷ 編寫程序對數(shù)據(jù)完整性進行檢查,保證遷移數(shù)據(jù)正確、完整;
⑸ 編寫程序自動修改與數(shù)據(jù)庫相關的磁盤文件,確保數(shù)據(jù)庫與項目數(shù)據(jù)內(nèi)容一一對應。
該方法主要有以下優(yōu)點。
● 效率高 只將數(shù)據(jù)量非常小的項目數(shù)據(jù)庫信息做備份、恢復操作,數(shù)據(jù)量極大的磁盤數(shù)據(jù)采用多節(jié)點并行的方式遷移到目標機柜。
● 節(jié)省磁盤空間 由于磁盤數(shù)據(jù)直接遷移到目標機柜,節(jié)省了中間數(shù)據(jù)額外占用的一份磁盤空間。
● 成功率高 數(shù)據(jù)庫的備份可以使用后臺命令在集群上完成,磁盤數(shù)據(jù)遷移也是在集群上以命令行方式后臺執(zhí)行,一般不會被中斷。
2.3 地震數(shù)據(jù)遷移優(yōu)化
地震數(shù)據(jù)因占用磁盤空間大,遷移耗時長,單節(jié)點單任務串行的遷移方式會對遷移節(jié)點和存儲造成很大的壓力和負載。在遷移前應該對原磁盤的地震數(shù)據(jù)進行切分,再分成多節(jié)點多進程將切分后的數(shù)據(jù)同時進行遷移[4]。數(shù)據(jù)切分的并行遷移方式不僅緩解了單個節(jié)點遷移所導致的IO瓶頸,還有效地縮短了遷移時間,提高了遷移效率。在對大數(shù)據(jù)量地震數(shù)據(jù)遷移之前,要先對整個項目的地震數(shù)據(jù)總量進行估算,結合預計的遷移周期,根據(jù)真實遷移環(huán)境中的硬件情況:如節(jié)點數(shù)量、網(wǎng)絡帶寬、目標存儲性能等進行合理配置。整個流程分為以下幾步:
⑴ 遷移前估算并統(tǒng)計整個項目的地震數(shù)據(jù)量,并根據(jù)數(shù)據(jù)量分配遷移硬件環(huán)境;
⑵ 針對遷移地震數(shù)據(jù)量預估遷移所需時長,若超出預期值,則對地震數(shù)據(jù)進行切分;
⑶ 切分成功后多節(jié)點多線程并行遷移;
⑷ 遷移完成后自動校驗合并后的數(shù)據(jù)是否完整,目錄及文件的屬性是否完整;
⑸ 在GeoEast中加載遷移后的地震數(shù)據(jù),完成遷移。
多節(jié)點多進程并行遷移方法可有效地提高超大地震數(shù)據(jù)項目的遷移效率。在實際生產(chǎn)中多個項目遷移過程中,在滿足性能和成本的雙重條件下,還可以根據(jù)不同項目數(shù)據(jù)的訪問熱度設定規(guī)則,將訪問頻次和熱度較高的項目數(shù)據(jù)遷移至高速硬盤中,保證系統(tǒng)對熱點項目數(shù)據(jù)遷移的響應速度;將訪問頻次和熱度較低的數(shù)據(jù)自動遷移至低速硬盤中,減少這部分數(shù)據(jù)在高速硬盤中占用的空間,從而提升整個系統(tǒng)的遷移性能[5],最大化存儲的使用價值,高效、安全地完成大數(shù)據(jù)項目的遷移工作。
3 應用效果
并行分層多任務高效遷移技術,可以支持多種場景的項目遷移:①支持單個項目遷移場景;②支持整組機柜遷移至新機柜場景;③支持整組機柜遷移至已有項目機柜場景。對單個項目遷移情況進行測試,測試情況如表1,從對比結果可以看出,并行分層多任務遷移方式的用時幾乎是原遷移方法所需時間的1/5。對整組機柜項目遷移至全新機柜的情況進行測試,將八個項目總數(shù)據(jù)量為210TB的一組機柜進行遷移,分別采用原有的遷移方式以及創(chuàng)新的高效遷移方式進行對比測試,情況如表2,從對比結果可以看出,使用新遷移方法的效率較原有方法提高了七倍。
4 結束語
隨著地震資料采集野外原始數(shù)據(jù)量的不斷增大,GeoEast系統(tǒng)中運行的項目數(shù)據(jù)量也越來越大,海量數(shù)據(jù)的項目遷移一直是GeoEast系統(tǒng)運維工作的一個痛點。我們對實際生產(chǎn)中大規(guī)模地震數(shù)據(jù)遷移進行多次測試,摸索出了不同遷移場景下GeoEast項目安全、高效的遷移方法。通過高效遷移技術的應用,目前已完成數(shù)百個項目的數(shù)據(jù)遷移,所遷移的項目軟件版本從v2.6跨越到v3.5,涉及到的設備節(jié)點超過5000臺,遷移數(shù)據(jù)量達PB級。每次項目遷移在保證項目數(shù)據(jù)完整、有效的情況下均能高效完成,大大縮短了項目遷移花費的時間,提高了地震處理項目生產(chǎn)效率。該技術適用于目前所有的GeoEast項目遷移場景,具有良好的推廣應用前景。此外,針對未來GeoEast系統(tǒng)PostgreSQL數(shù)據(jù)庫環(huán)境下的項目遷移方面還有待于我們結合實際生產(chǎn)進一步探索與研究。
參考文獻(References):
[1] 徐少波,白雪蓮,曾強,林茂春,黃燕,潘煥革.GeoEast地震數(shù)據(jù)處理解釋一體化軟件系統(tǒng)[J].石油工業(yè)計算機應用,2016.3(24):6-11
[2] 張恩莉.基于GeoEast的解釋項目數(shù)據(jù)庫研究與設計[J].信息系統(tǒng)工程,2020.1.
[3] 東方地球物理物探技術研究中心.GeoEast v3.5系統(tǒng)管理手冊,2020.
[4] 劉宇.數(shù)據(jù)遷移部署系統(tǒng)設計與優(yōu)化研究[D].華南理工大學,2019.
[5] 周陽.云存儲中冷熱數(shù)據(jù)的混合冗余方法研究[J].移動通信,2018.8.