李 真, 彭運(yùn)星, 吳彬彬
(1.武漢理工大學(xué)資源與環(huán)境工程學(xué)院, 湖北 武漢 430000;2.深圳鵬銳信息技術(shù)股份有限公司, 湖北 武漢 430000)
在油田勘探開發(fā)作業(yè)現(xiàn)代化、信息化的過程中,各種數(shù)據(jù)與日俱增,怎樣更高效地對(duì)這些數(shù)據(jù)進(jìn)行管理、應(yīng)用,并且以這些數(shù)據(jù)為依托構(gòu)建有應(yīng)用價(jià)值的參考模型,更好地服務(wù)于企業(yè)決策、產(chǎn)能分析以及故障診斷,是目前石油勘探開發(fā)云平臺(tái)建設(shè)的緊迫任務(wù)。具體來說,油田的勘探開發(fā)過程中,所積累的數(shù)據(jù)信息包括各種圖件、辦公文檔、方案文檔以及地震等數(shù)據(jù)。怎樣更好地存儲(chǔ)和管理這些數(shù)據(jù),以及高效地進(jìn)行應(yīng)用,對(duì)油田企業(yè)的可持續(xù)發(fā)展意義重大。
該系統(tǒng)起到系統(tǒng)與用戶聯(lián)系的作用。能夠向用戶提供良好的界面、圖形,用戶既可以借助登錄合理定制各種細(xì)粒度業(yè)務(wù),也可以對(duì)更多輸出結(jié)果進(jìn)行查看或者保存。包括如下模塊功能:第一,該模塊為用戶管理功能,對(duì)用戶身份進(jìn)行識(shí)別,并進(jìn)行權(quán)限的設(shè)置,同時(shí)管理用戶登錄以及注銷等常規(guī)業(yè)務(wù);第二,業(yè)務(wù)展示模塊:針對(duì)用戶提交的各種業(yè)務(wù),進(jìn)行結(jié)果查看、保存和分析,向用戶交付系統(tǒng)返回的結(jié)果。
該模塊可以實(shí)現(xiàn)諸多業(yè)務(wù)邏輯以及控制和調(diào)度不同的業(yè)務(wù)流程。具體的模塊功能包括以下兩個(gè)層面。第一,用戶界面:用戶利用并不復(fù)雜的操作工具,處理和儲(chǔ)存大量的數(shù)據(jù)。第二,業(yè)務(wù)響應(yīng)模塊:利用相應(yīng)的上層業(yè)務(wù)模塊,有效調(diào)用、管理實(shí)現(xiàn)業(yè)務(wù)需要的子業(yè)務(wù),業(yè)務(wù)的完全可以調(diào)用底層模塊。
在應(yīng)用層的數(shù)據(jù)挖掘階段,業(yè)務(wù)流需要不同的模塊,數(shù)據(jù)處理層可以進(jìn)行較細(xì)粒度模塊的提供。該層面是全部系統(tǒng)的核心,可以進(jìn)行各種任務(wù)實(shí)現(xiàn)工程中算法的并行化,并向Hadoop 分布計(jì)算層提交任務(wù)并進(jìn)行計(jì)算,然后將運(yùn)算結(jié)果返回業(yè)務(wù)應(yīng)用層。該層面包括以下的模塊。第一,系統(tǒng)管理模塊:可以分布式管理系統(tǒng);管理內(nèi)容涵蓋系統(tǒng)遠(yuǎn)程部署、負(fù)載平衡、對(duì)象實(shí)務(wù)、系統(tǒng)日志等。第二,數(shù)據(jù)加載模塊:注冊(cè)挖掘需要的數(shù)據(jù),并在HDFS 文件系統(tǒng)內(nèi)儲(chǔ)存。第三,數(shù)據(jù)存儲(chǔ)模塊:可以并行加載、處理和存儲(chǔ)大量的數(shù)據(jù);在HDFS 系統(tǒng)導(dǎo)入其他外設(shè)的數(shù)據(jù);而并行ETL 模塊能夠處理HDFS 中的原始數(shù)據(jù);將處理后的數(shù)據(jù)存儲(chǔ)到并行存儲(chǔ)模塊。第四,并行查詢模塊:并行查詢海量數(shù)據(jù)以及處理用戶的自定義事務(wù)等。第五,備份恢復(fù)模塊:可以有效備份系統(tǒng)存儲(chǔ)的數(shù)據(jù)。第六,模式評(píng)估模塊:Hadoop 系統(tǒng)本身提供了HDFS,包括自動(dòng)管理、運(yùn)算環(huán)境以及MapReduce 運(yùn)行模式。
集群的存儲(chǔ)和計(jì)算都是靠Hadoop 框架來實(shí)現(xiàn)。Hadoop 同時(shí)涵蓋并行運(yùn)行模式和分布式文件系統(tǒng),并有效管理分布式系統(tǒng)。任務(wù)提交的Server 在此基礎(chǔ)之上實(shí)現(xiàn)[1]。
云服務(wù)WMCS 是在Hadoop 基礎(chǔ)上形成的新一代數(shù)據(jù)分析和挖掘平臺(tái),是諸多Hadoop 的數(shù)據(jù)挖掘算法的集成,可以為諸多行業(yè)領(lǐng)域進(jìn)行數(shù)據(jù)挖掘,尤其是在石油企業(yè)勘探開發(fā)中的應(yīng)用效果尤為顯著。從本質(zhì)上講,Hadoop 實(shí)際就是能夠開展可靠且穩(wěn)定的接口及數(shù)據(jù)服務(wù)有效平臺(tái),能夠進(jìn)行MAP/Reduce 運(yùn)算,同時(shí)可以將文本分割成諸多單元,且是能夠重復(fù)執(zhí)行的單元。在平臺(tái)的結(jié)構(gòu)中,分布式存儲(chǔ)數(shù)據(jù)庫HBase、分布式文件系統(tǒng)HDFS 以及MAP/Reduce 算法,一直貫穿其中。通過這些數(shù)據(jù)結(jié)構(gòu)和算法,平臺(tái)海量數(shù)據(jù)的訪問實(shí)現(xiàn)了高傳輸率,并且可以利用分流的形式訪問文本數(shù)據(jù)。
通過分析云計(jì)算的存儲(chǔ)技術(shù)、并行計(jì)算、分布式計(jì)算、虛擬技術(shù)等,充分考慮到油田勘探開發(fā)的數(shù)據(jù)存儲(chǔ)業(yè)務(wù)特點(diǎn),本文構(gòu)建海量數(shù)據(jù)存儲(chǔ)模式以Hadoop 為基礎(chǔ),如圖1 所示。
圖1 基于Hadoop 的油田勘探開發(fā)海量數(shù)據(jù)存儲(chǔ)模型
在該模型中,HDFS 的工作是借助NameNode 和DataNodes 協(xié)同實(shí)現(xiàn)的,Master 的構(gòu)成包括JobTracker和NameNode.MapReduce 的工作借助TaskTrackers 和JobTracker 協(xié)同實(shí)現(xiàn)。其作業(yè)流程為:服務(wù)控制集群SCC 接收用戶的應(yīng)用請(qǐng)求,并對(duì)用戶的請(qǐng)求進(jìn)行應(yīng)答;存儲(chǔ)節(jié)點(diǎn)集群SNC 則是數(shù)據(jù)資源存取的相關(guān)處理;其他計(jì)算機(jī)上的TaskTracker 的管理和調(diào)度由JobTracke 完成[3]。
針對(duì)油田勘探開發(fā)中會(huì)產(chǎn)生大量的數(shù)據(jù)的特征,本設(shè)計(jì)以Hadoop 框架為基礎(chǔ),編程模式為MapReduce,讓油田數(shù)據(jù)存儲(chǔ)模型的設(shè)計(jì)和應(yīng)用變成現(xiàn)實(shí)。
3.2.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
該系統(tǒng)是由油田系統(tǒng)管理層、用戶層、油田數(shù)據(jù)存儲(chǔ)層、油田基礎(chǔ)設(shè)施層構(gòu)成。用戶層可以按照本身的業(yè)務(wù)特點(diǎn),通過客戶端在線向云儲(chǔ)存系統(tǒng)發(fā)送請(qǐng)求,系統(tǒng)會(huì)根據(jù)平臺(tái)的資源狀況和客戶的請(qǐng)求,利用相應(yīng)的任務(wù)進(jìn)行算法調(diào)度,向用戶客戶端反饋資源配置結(jié)果。系統(tǒng)管理層本質(zhì)就是應(yīng)用協(xié)同層,主要是進(jìn)行底層數(shù)據(jù)與應(yīng)用程序的連接,對(duì)用戶的申請(qǐng)進(jìn)行在線采集,同時(shí)把用戶需要的結(jié)果數(shù)據(jù)傳送到客戶端。具體管理的內(nèi)容包括目錄管理、資源管理和用戶管理等。Hadoo 集群的工作層等同于數(shù)據(jù)存儲(chǔ)層,進(jìn)行數(shù)據(jù)管理和資源任務(wù)的分配,以及合理應(yīng)用虛擬計(jì)算、分布式計(jì)算等的有效指定數(shù)據(jù)額的物理位置以及數(shù)據(jù)存儲(chǔ),具體的技術(shù)成分有MapReduce 和HDFS。物理基礎(chǔ)硬件是基礎(chǔ)設(shè)施的核心部位,主要包括內(nèi)存、交換機(jī)、服務(wù)器、磁盤、磁鼓、負(fù)載均衡、網(wǎng)關(guān)等全部的存儲(chǔ)系統(tǒng)必不可少的硬件。
3.2.2 系統(tǒng)功能設(shè)計(jì)
油田勘探開發(fā)是眾多業(yè)務(wù)和生產(chǎn)部門組成,不同部門使用的數(shù)據(jù)也不同。通過三大模塊構(gòu)成的系統(tǒng)為:平臺(tái)管理、管理員管理、用戶管理。該設(shè)計(jì)的優(yōu)勢(shì)是更利于資源和人員的管理。用戶功能主要包括用戶登錄驗(yàn)證、地質(zhì)文件、用戶密碼修改、查看文件目錄、子用戶的創(chuàng)建和控制、上傳、下載和刪除自己的油藏?cái)?shù)據(jù)文件和地質(zhì)文件等。管理員功能涵蓋用戶的刪除和修改、目錄文件的瀏覽、普通用戶創(chuàng)建等。平臺(tái)管理功能主要是管理和維護(hù)整個(gè)云計(jì)算平臺(tái),具體包括故障監(jiān)控和預(yù)警、數(shù)據(jù)的備災(zāi)管理、服務(wù)器資源配置管理等。
3.3.1 布置環(huán)境
Hadoop 系統(tǒng)可以不限版本地實(shí)施應(yīng)用,PC 機(jī)的數(shù)量是7 臺(tái),具體的工作角色為:集群的主節(jié)點(diǎn)(Master):171.118.1.1master。從節(jié)點(diǎn)(NameNodeSlave6):171.118.1.2-7slave。
3.3.2 集群部署步驟
第一步,將SSH 利用集群進(jìn)行配置,以此可以無密碼進(jìn)行機(jī)器間的登錄。第二步,在每臺(tái)機(jī)器上安置JDK,以此配置Java 環(huán)境變量。第三步,進(jìn)行Hadoop的配置安裝。文件配置主要是hadoop env.sh 文件,有效設(shè)計(jì)JBAVA 與Hadoop-Home 的變量;配置mapred site.xml、hdfs site.xm、core site.xml 文件;配置slaves 以及masters 文件。第四步,將hadoop 的服務(wù)打開。第五步,通過eclipse6.0 軟件搭建需要的開發(fā)環(huán)境。
3.3.3 主要模塊的技術(shù)應(yīng)用實(shí)現(xiàn)
該系統(tǒng)功能得以實(shí)現(xiàn)的主要模塊:數(shù)據(jù)上傳、數(shù)據(jù)下載和數(shù)據(jù)刪除。最終的系統(tǒng)功能實(shí)現(xiàn)主要是利用調(diào)用Hadoop 的API 接口[4]。
利用統(tǒng)一的賬號(hào),技術(shù)人員實(shí)施登錄后在云平臺(tái)上調(diào)用專業(yè)的軟件完成系統(tǒng)工作,利用接入的云端的方式可以隨處訪問,工作人員不再受機(jī)房和專業(yè)工作站的限制,可以隨時(shí)隨地進(jìn)行日常操作和階段匯報(bào)。通過大數(shù)據(jù)的應(yīng)用,本研究有效打破了不同數(shù)據(jù)庫間的數(shù)據(jù)孤島現(xiàn)象,解決了低效率的數(shù)據(jù)查詢、分析等問題。以6 個(gè)月內(nèi)多口注入井產(chǎn)生的數(shù)據(jù)記載的分析為依據(jù),從原有的5 min 數(shù)據(jù)查詢時(shí)間縮短為3 s,真正實(shí)現(xiàn)了監(jiān)測(cè)與分析的按日、月、季度、年進(jìn)行,對(duì)應(yīng)用狀況和相關(guān)問題進(jìn)行詳細(xì)掌握。對(duì)日注液、自然遞減?日注氣、綜合遞減等指標(biāo)進(jìn)行分析,并合理預(yù)判生產(chǎn)趨勢(shì),以此可以對(duì)生產(chǎn)異常進(jìn)行早發(fā)現(xiàn)早處理,如表1 所示。
表1 生產(chǎn)趨勢(shì)預(yù)判分析
本文依托Hadoop 的云平臺(tái),構(gòu)建了油田勘探開發(fā)數(shù)據(jù)存儲(chǔ)模型,通過海量數(shù)據(jù)的高效處理,充分滿足了油田企業(yè)在勘探開發(fā)中分析、處理、應(yīng)用海量數(shù)據(jù)的需求,數(shù)據(jù)包括油藏建模的數(shù)據(jù)、地質(zhì)建模數(shù)據(jù)以及地質(zhì)開發(fā)數(shù)據(jù),該模型的應(yīng)用表現(xiàn)出三大優(yōu)勢(shì)。第一,極高的安全可靠性。系統(tǒng)可以在不同的服務(wù)器中保存多個(gè)副本形式的文件,確保了數(shù)據(jù)的完整性和安全性。第二,極快的數(shù)據(jù)處理速度。傳輸量不大,又具備MabReduce 的計(jì)算模式,大幅度提升了數(shù)據(jù)處理速度。第三,良好的拓展性。應(yīng)用的并行計(jì)算模式,可以按照生產(chǎn)需要和用戶的需求,進(jìn)行集群模式和存儲(chǔ)容量的及時(shí)擴(kuò)展。