張盛,張明華,任偉,楊燕
(中國地質調查局發(fā)展研究中心,北京 100037)
重磁勘探方法廣泛應用于礦產(chǎn)資源勘探、氣候環(huán)境變化、大地構造研究等方面[1]。為了從重磁數(shù)據(jù)資料中獲得研究區(qū)的地質解釋結果,必須利用專業(yè)軟件系統(tǒng)對重磁數(shù)據(jù)進行專業(yè)化數(shù)據(jù)處理和分析[2-5]?,F(xiàn)有重磁數(shù)據(jù)處理軟件以單機桌面應用程序為主,這些軟件在使用過程中往往存在以下限制:① 在使用便捷性方面,軟件在Windows、Linux等平臺之間無法自由切換使用,并且這些軟件通常授權給單一終端,很難實現(xiàn)多用戶跨平臺協(xié)同工作;② 在軟件的更新維護方面,軟件開發(fā)商在完成更新包之后,單機軟件用戶需要去主動更新應用終端程序,這往往需要經(jīng)過獲取更新軟件包、卸載已有程序、安裝新程序、重新授權等一系列繁瑣的操作步驟,在這一過程中還可能遇到諸如動態(tài)庫缺失、版本不兼容等問題;③ 在計算性能方面,隨著航空物探、物聯(lián)網(wǎng)技術的應用,現(xiàn)代物探方法獲取了海量數(shù)據(jù),這些數(shù)據(jù)的存儲計算對軟件計算性能提出新要求,單機應用程序往往受限于宿主計算機硬件性能,將會越來越難以滿足海量數(shù)據(jù)即時處理計算需求[6-7]。
隨著信息技術的發(fā)展,云計算這一種新的計算模式成為當今信息技術發(fā)展主流,該計算模型的典型特征是將計算、存儲和網(wǎng)絡資源作為在線服務提供給用戶,用戶可以通過瘦終端與Web瀏覽器一起按需訪問[8-10]。云計算有3種典型服務模型:IaaS(基礎架構即服務),PaaS(平臺即服務)和SaaS(軟件即服務)。在云計算中,應用程序或軟件運行在云基礎設施之上,而無需本地軟件安裝和維護,這能夠有效提高多用戶軟件和硬件基礎設施利用率,大大降低了用戶本地計算資源的成本。此外,由于軟件應用程序是云托管的,并且沒有明顯的平臺限制,因此服務提供商可以輕松升級維護它們。所有用戶都使用相同版本的軟件,這使得用戶之間的協(xié)作更容易,因此軟件版本不匹配等問題也可以得到快速修復。由于上述云計算帶來的優(yōu)點,在地學領域已經(jīng)開發(fā)了許多在線數(shù)據(jù)處理程序。例如,中石化開發(fā)了π-Frame地震數(shù)據(jù)處理平臺,這是一個用于地球物理數(shù)據(jù)處理和解釋的云平臺[11]。北京桔燈勘探公司提供全套專業(yè)軟件遠程桌面服務,而Plotly科學繪圖軟件提供在線數(shù)據(jù)處理和繪圖服務等[12]。
網(wǎng)格數(shù)據(jù)廣泛應用于重磁數(shù)據(jù)處理、分析和解釋各個環(huán)節(jié),是最為常用的物探數(shù)據(jù)格式之一。為探索云計算技術在地球物理軟件中的應用方法、技術和效果。筆者研發(fā)了一個網(wǎng)格數(shù)據(jù)在線處理系統(tǒng),通過對比分析驗證了該系統(tǒng)的正確性和使用的便捷性,為云計算技術在地球物理軟件應用方面提供技術儲備。
網(wǎng)格數(shù)據(jù)處理算法是軟件的核心基礎之一,因此有必要對該系統(tǒng)所采用的數(shù)據(jù)處理算法進行簡要描述。本系統(tǒng)主要集成了常用的滑動平均濾波、方向導數(shù)計算、頻率域濾波、位場解析延拓功能。
滑動平均濾波方法對周期性干擾有良好的抑制作用,平滑度高,適用于濾除高頻干擾和隨機噪聲。缺點是靈敏度較低,對偶然出現(xiàn)的脈沖性干擾的抑制作用較差。其計算方法為:對M×N個采樣值的網(wǎng)格數(shù)據(jù),任意網(wǎng)格節(jié)點濾波結果為計算點周圍半徑為w方形區(qū)域內數(shù)據(jù)點的算術平均值,按照如下公式進行計算:
(1)
其中:ss(i,j)為濾波結果,w為濾波窗口半徑,s(ii,jj)為原網(wǎng)格數(shù)據(jù)。
重磁異常的方向導數(shù)通常指異常場沿某一特定方向的空間變化,常用于突出異常梯級帶,區(qū)分不同構造走向的疊加重磁異常,進而劃分特定地質構造界線。筆者采用空間域差分算法替代微分近似估算重磁場的方向導數(shù),網(wǎng)格數(shù)據(jù)x方向、y方向導數(shù)及總水平導數(shù)模計算公式如下:
(2)
其中:dxi,j為x方向導數(shù);dyi,j為y方向導數(shù);dti,j為總水平導數(shù)。
為了獲得與地質相關的異常信息,需要對網(wǎng)格數(shù)據(jù)進行濾波處理。頻率域濾波主要采用如下計算步驟進行:
1) 將網(wǎng)格數(shù)據(jù)進行二維FFT變換,獲得頻率域網(wǎng)格數(shù)據(jù);
2) 按照給定截斷頻率和窗函數(shù)(本系統(tǒng)中采用矩形窗),對頻率域網(wǎng)格數(shù)據(jù)進行濾波,得到頻率域濾波結果;
3) 對頻率域濾波結果進行FFT逆變換即可得到空間域濾波結果。
將地面實測異常換算到不同高度來劃分場源深度不同的疊加異常,這種方法叫做重磁異常的解析延拓,實際工作中常用于壓制噪聲干擾,突出有用異常,重磁異常解析延拓通常有向上延拓和向下延拓兩類。在本研究中主要采用頻率域向上延拓算法[1]和迭代向下延拓算法[13]。頻率域延拓計算可以看作是一種頻率域濾波算法,計算公式如下:
F(u,v,h+Δh)=F(u,v,h)*H(Δh)
(3)
其中:Δh為延拓高度。
在線軟件系統(tǒng)通常采用分層架構進行設計,分層架構實現(xiàn)了各個邏輯功能的解耦,規(guī)范化了各層間的調用關系,降低各層之間的依賴關系,利于各層邏輯重用與更新。我們采用典型的3層架構實現(xiàn)該在線網(wǎng)格數(shù)據(jù)處理系統(tǒng),這3層架構分別是展現(xiàn)層、計算服務層和邏輯控制層。
展現(xiàn)層又稱為表現(xiàn)層,運行于客戶端瀏覽器,用于提供用戶交互操作界面,接受用戶輸入數(shù)據(jù)和數(shù)據(jù)可視化表達。該層利用Html5+CSS3+JavaScript等web2.0前端技術進行實現(xiàn)。系統(tǒng)主界面如圖1所示,該軟件界面上部為系統(tǒng)標題,左側為功能菜單,主要包括網(wǎng)格數(shù)據(jù)輸入輸出、繪圖參數(shù)設置及數(shù)據(jù)處理等操作按鈕,界面右側為數(shù)據(jù)展示區(qū),采用“Plotly.js”函數(shù)庫進行數(shù)據(jù)可視化,提供等值線、熱度圖以及三維表面圖3種數(shù)據(jù)展示方式。為兼容已有數(shù)據(jù)處理軟件,輸入、輸出數(shù)據(jù)文件采用Surfer 6 明碼及二進制格式的grd文件。
圖1 用戶界面Fig.1 Software user interface
計算服務層運行在服務器端,用于接收用戶數(shù)據(jù)處理請求并返回數(shù)據(jù)處理計算結果,圖2為該層典型的數(shù)據(jù)處理過程。
圖2 典型的數(shù)據(jù)處理過程Fig.2 Typical data processing
由于歷史原因,核心數(shù)據(jù)處理程序由C、C++和Fortran等多語言混合開發(fā)完成,很難直接作為網(wǎng)絡應用程序直接使用,為此我們將各個數(shù)據(jù)處理程序生成外部可以直接調用的獨立數(shù)據(jù)處理模塊。此外,由于每種數(shù)據(jù)處理算法的輸入輸出數(shù)據(jù)內容各不相同,在數(shù)據(jù)處理web API接口必須進行一定規(guī)范化處理,因此我們采用PHP語言開發(fā)了一個中間件,用于統(tǒng)一接收用戶數(shù)據(jù)計算請求并解析數(shù)據(jù)處理算法參數(shù),根據(jù)參數(shù)內容啟動特定數(shù)據(jù)處理算法模塊處理請求參數(shù)中的數(shù)據(jù)處理任務,待處理程序完成之后,收集數(shù)據(jù)處理結果并JSON序列化后返回。
邏輯控制層連接展現(xiàn)層與計算服務層,運行于客戶端瀏覽器,采用JavaScript語言開發(fā)。該層主要實現(xiàn)如下邏輯控制過程:① 接收用戶在界面提交的數(shù)據(jù)處理請求,對界面參數(shù)進行JSON格式化封裝;② 采用POST方法調用計算服務層統(tǒng)一數(shù)據(jù)處理接口API,接收數(shù)據(jù)處理結果序列化數(shù)據(jù),為了提高數(shù)據(jù)傳輸效率,兼容大規(guī)模數(shù)據(jù)處理請求,本研究采用JSON格式進行數(shù)據(jù)傳輸;③ 根據(jù)數(shù)據(jù)處理結果,調用展現(xiàn)層對應模塊進行數(shù)據(jù)可視化。該層實現(xiàn)的邏輯過程如圖3所示。
圖3 邏輯控制層Fig.3 The logical layer
我們的部署環(huán)境是阿里云ECS服務器,采用CentOS 7.5 X64操作系統(tǒng),用 Apache服務器作為中間件,服務器配置為4核CPU,主頻2.5 GHz,內存8 GB,互聯(lián)網(wǎng)帶寬5 MB,測試端采用谷歌瀏覽器。
我們利用RGIS軟件對本工具數(shù)據(jù)處理結果進行對比試驗。試驗數(shù)據(jù)采用了磁偏角45°,磁傾角45°,球體磁異常正演數(shù)據(jù),為驗證數(shù)據(jù)處理效果,在正演數(shù)據(jù)中加入隨機干擾作為噪聲。該數(shù)據(jù)網(wǎng)格大小為101×101。
利用本系統(tǒng)滑動平均濾波、方向導數(shù)計算及向上延拓功能計算結果和RGIS軟件計算結果進行了對比,結果如圖4所示,其中藍色等值線為RGIS[7]軟件處理結果,紅色虛線等值線為本工具數(shù)據(jù)處理結果??梢钥闯鏊惴ㄅc現(xiàn)有權威專業(yè)軟件處理結果一致,數(shù)據(jù)處理結果正確可靠。
a—含噪聲球體模型磁異常;b—5×5窗口滑動平均濾波;c—y方向一階導數(shù);d—向上延拓10 m磁異常a—magnetic anomaly of a sphere model with white noise;b—5×5window moving average filtering;c—first derivative in y direction;d—upward continuation magnetic anomaly for 10 m
對于在線應用程序而言,用戶體驗在很大程度上取決于系統(tǒng)響應時間,這包括數(shù)據(jù)上傳時間、計算時間、結果下載時間和數(shù)據(jù)圖形繪制時間。在實際環(huán)境中測試,系統(tǒng)處理101×101規(guī)模數(shù)據(jù)時,總響應時間不超過1 s;由于瀏覽器本身性能限制,經(jīng)測試,目前系統(tǒng)支持處理最大900×400規(guī)模網(wǎng)格數(shù)據(jù),滿足常規(guī)數(shù)據(jù)處理性能需求。
我們使用手機、pad、筆記本電腦在Windows、Linux、安卓等多個平臺進行數(shù)據(jù)處理測試。結果顯示該工具均能正確運行數(shù)據(jù)導入、處理和結果導出功能,該工具具有較好跨平臺應用性能,如圖5為安卓移動終端應用效果圖。
圖5 移動終端應用效果Fig.5 Mobile terminal application effect
本研究采用云計算技術,在通用網(wǎng)格數(shù)據(jù)處理算法基礎上,設計并實現(xiàn)了一個在線網(wǎng)格數(shù)據(jù)處理系統(tǒng),該系統(tǒng)具有對網(wǎng)格數(shù)據(jù)進行滑動平均濾波、方向導數(shù)計算、頻率域濾波以及解析延拓等常見功能。通過對比實驗驗證了該系統(tǒng)的正確性,通過不同平臺應用測試,驗證了該工具的跨平臺適用性。該研究為在線物化探數(shù)據(jù)處理系統(tǒng)的設計開發(fā)提供了技術解決方案。目前系統(tǒng)尚處在原型系統(tǒng)開發(fā)階段,在投入實用化之前,建議在以下方面進一步研究,例如地球物理數(shù)據(jù)處理算法通常耗時較長,如何發(fā)揮云計算優(yōu)勢高效處理多用戶并發(fā)請求有待進一步研究解決;如何有效提高大規(guī)模網(wǎng)格數(shù)據(jù)Web端實時渲染可視化急需進一步研究。