本發(fā)明涉及油氣勘探開發(fā)的鉆井實(shí)時(shí)數(shù)據(jù)存儲(chǔ)領(lǐng)域,確切地說涉及一種鉆井實(shí)時(shí)數(shù)據(jù)快速存儲(chǔ)與發(fā)布方法。
背景技術(shù):
鉆井是石油勘探開發(fā)業(yè)務(wù)流程中的重要環(huán)節(jié)之一。而在鉆井過程中對(duì)產(chǎn)生的各類信息進(jìn)行采集及分析處理,是掌握鉆井狀態(tài)、摸清地下情況,從而及時(shí)調(diào)整鉆井作業(yè),保證鉆井目實(shí)現(xiàn)的重要手段,其中又以鉆井實(shí)時(shí)數(shù)據(jù)的采集處理最為重要。鉆井實(shí)時(shí)數(shù)據(jù)由鉆井現(xiàn)場的各類傳感器實(shí)時(shí)采集,主要分為三類,一類是與鉆井工程機(jī)械有關(guān)的工程數(shù)據(jù),如鉆壓、大鉤負(fù)荷、井深、立壓、泵速、轉(zhuǎn)盤轉(zhuǎn)速、轉(zhuǎn)盤扭矩等數(shù)據(jù),一類是與鉆井有關(guān)的鉆井液數(shù)據(jù),如鉆井液溫度、密度、電導(dǎo)率、體積流量等數(shù)據(jù),一類是由一類是與天然氣濃度及其成分有關(guān)的氣測數(shù)據(jù),如全烴、烴組分、cq2、h2、h2s等,近年來,隨著隨鉆測井、導(dǎo)向技術(shù)的發(fā)展,新增采集了隨鉆井斜、巖性等隨鉆實(shí)時(shí)數(shù)據(jù)。鉆井實(shí)時(shí)數(shù)據(jù)作為鉆井現(xiàn)場的第一手資料,是監(jiān)控鉆井狀態(tài)、及時(shí)發(fā)現(xiàn)和預(yù)測工程異常所必需的重要過程數(shù)據(jù),也是優(yōu)化鉆井方案與進(jìn)行鉆井地質(zhì)研究的重要成果參考。所以80年代以來國內(nèi)外石油鉆井企業(yè)都大力發(fā)展鉆井實(shí)時(shí)數(shù)據(jù)采集發(fā)布系統(tǒng),通過為現(xiàn)場施工人員與后端管理及科研人員提供及時(shí)準(zhǔn)確的現(xiàn)場鉆井實(shí)時(shí)數(shù)據(jù),用以保障鉆井設(shè)計(jì)與施工任務(wù)的順利完成。
鉆井實(shí)時(shí)數(shù)據(jù)采集發(fā)布系統(tǒng)對(duì)鉆井實(shí)時(shí)數(shù)據(jù)的存儲(chǔ)發(fā)布的時(shí)效性與一致性有較高的要求,如鉆井實(shí)時(shí)數(shù)據(jù)采集存儲(chǔ)頻率都是1-3秒間隔連續(xù)存儲(chǔ),而鉆井實(shí)時(shí)數(shù)據(jù)遠(yuǎn)程監(jiān)控應(yīng)用要求鉆井實(shí)時(shí)數(shù)據(jù)發(fā)布時(shí)間不晚于現(xiàn)場數(shù)據(jù)采集時(shí)間2秒,數(shù)據(jù)吻合度必須達(dá)到100%。要在規(guī)定時(shí)間內(nèi)完成海量連續(xù)鉆井實(shí)時(shí)數(shù)據(jù)存儲(chǔ)與處理工作,傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)庫存在諸多瓶頸。所以鉆井實(shí)時(shí)數(shù)據(jù)采集發(fā)布系統(tǒng)的基地端中心數(shù)據(jù)庫主要采用工業(yè)實(shí)時(shí)數(shù)據(jù)庫進(jìn)行鉆井實(shí)時(shí)數(shù)據(jù)的遠(yuǎn)程存儲(chǔ)與發(fā)布服務(wù)(見圖1)。工業(yè)實(shí)時(shí)數(shù)據(jù)庫在傳統(tǒng)關(guān)系數(shù)據(jù)庫的基礎(chǔ)上,可以與鉆井實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)進(jìn)行對(duì)接,具有高效的數(shù)據(jù)壓縮與存儲(chǔ)效能,支持實(shí)時(shí)數(shù)據(jù)秒級(jí)連續(xù)存儲(chǔ)、實(shí)時(shí)發(fā)布及歷史查詢,是構(gòu)建工業(yè)生產(chǎn)調(diào)度監(jiān)控系統(tǒng)、指揮系統(tǒng),生產(chǎn)實(shí)時(shí)歷史數(shù)據(jù)中心的不可缺少的基礎(chǔ)軟件。現(xiàn)場國內(nèi)常用的實(shí)時(shí)數(shù)據(jù)庫有g(shù)e、infoplus、pi、uniformance、onspec等。相比傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,工業(yè)實(shí)時(shí)數(shù)據(jù)庫對(duì)實(shí)時(shí)數(shù)據(jù)的存儲(chǔ)與發(fā)布效率更高。
隨著鉆井實(shí)時(shí)數(shù)據(jù)的深化應(yīng)用,工業(yè)實(shí)時(shí)數(shù)據(jù)庫業(yè)暴露出一些問題和不足:第一,隨著近年遠(yuǎn)程鉆井支持工作與生產(chǎn)科研一體化工作的開展,對(duì)鉆井實(shí)時(shí)數(shù)據(jù)的歷史查詢發(fā)布需求與年俱增,但工業(yè)實(shí)時(shí)數(shù)據(jù)庫強(qiáng)調(diào)數(shù)據(jù)的高效壓縮與海量存儲(chǔ),實(shí)時(shí)數(shù)據(jù)的歷史查詢功能不足,對(duì)指定的單口井某一區(qū)間數(shù)據(jù)查詢需要1分鐘甚至更長的時(shí)間,無法滿足新的鉆井實(shí)時(shí)數(shù)據(jù)應(yīng)用需求。第二,工業(yè)實(shí)時(shí)數(shù)據(jù)庫雖然有較好的實(shí)時(shí)存儲(chǔ)效能,但是工業(yè)實(shí)時(shí)數(shù)據(jù)庫與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫由于數(shù)據(jù)組織與訪問方式不同,使得采用實(shí)時(shí)數(shù)據(jù)庫的鉆井實(shí)時(shí)監(jiān)測系統(tǒng)與采用關(guān)系型數(shù)據(jù)庫的鉆井地質(zhì)分析類系統(tǒng)軟件無法直接對(duì)接,使得鉆井實(shí)時(shí)數(shù)據(jù)共享發(fā)布困難,影響了鉆井實(shí)時(shí)數(shù)據(jù)應(yīng)用效果。第三,工業(yè)實(shí)時(shí)數(shù)據(jù)庫費(fèi)用較關(guān)系型數(shù)據(jù)高,實(shí)時(shí)數(shù)據(jù)庫安裝維護(hù)也較繁瑣,對(duì)人員技術(shù)要求較高。導(dǎo)致工業(yè)實(shí)時(shí)數(shù)據(jù)庫的購買和維護(hù)成本也較傳統(tǒng)數(shù)據(jù)庫高,一般中小企業(yè)較難負(fù)擔(dān)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在針對(duì)上述現(xiàn)有技術(shù)所存在的缺陷和不足,提供一種鉆井實(shí)時(shí)數(shù)據(jù)快速存儲(chǔ)與發(fā)布方法,采用本方法,在保證鉆井實(shí)時(shí)數(shù)據(jù)快速存儲(chǔ)與實(shí)時(shí)發(fā)布的效率同時(shí),能解決工業(yè)實(shí)時(shí)數(shù)據(jù)庫歷史數(shù)據(jù)查詢效率低下與使用維護(hù)成本較高的問題。
本發(fā)明是通過采用下述技術(shù)方案實(shí)現(xiàn)的:
一種鉆井實(shí)時(shí)數(shù)據(jù)快速存儲(chǔ)與發(fā)布方法,其特征在于:包括多線程同步存儲(chǔ)模塊、實(shí)時(shí)存儲(chǔ)模塊、歷史存儲(chǔ)模塊、實(shí)時(shí)發(fā)布模塊和歷史查詢模塊,其中:多線程同步存儲(chǔ)模塊將采集到的鉆井實(shí)時(shí)數(shù)據(jù)分別同步至實(shí)時(shí)存儲(chǔ)模塊與歷史存儲(chǔ)模塊;實(shí)時(shí)存儲(chǔ)模塊只對(duì)最近一段時(shí)間的實(shí)時(shí)數(shù)據(jù)進(jìn)行存儲(chǔ)管理;歷史存儲(chǔ)模塊存儲(chǔ)所有的鉆井實(shí)時(shí)數(shù)據(jù);實(shí)時(shí)發(fā)布模塊從實(shí)時(shí)存儲(chǔ)模塊中調(diào)用實(shí)時(shí)數(shù)據(jù)進(jìn)行實(shí)時(shí)發(fā)布;歷史查詢模塊查詢調(diào)用歷史存儲(chǔ)模塊中存儲(chǔ)的鉆井實(shí)時(shí)數(shù)據(jù)。
所述的多線程同步模塊,將采集到的鉆井實(shí)時(shí)數(shù)據(jù)同步存儲(chǔ)至指定的多個(gè)數(shù)據(jù)庫中,各數(shù)據(jù)庫數(shù)據(jù)入庫時(shí)間及完整性保持一致。
所述的實(shí)時(shí)存儲(chǔ)模塊,利用kv數(shù)據(jù)庫進(jìn)行鉆井實(shí)時(shí)數(shù)據(jù)實(shí)時(shí)存儲(chǔ),支持秒級(jí)的實(shí)時(shí)數(shù)據(jù)存儲(chǔ)與處理任務(wù),實(shí)時(shí)數(shù)據(jù)存儲(chǔ)有效期一般設(shè)置為2小時(shí)左右,存儲(chǔ)超過2小時(shí)的實(shí)時(shí)數(shù)據(jù)自動(dòng)清除。
所述的歷史存儲(chǔ)模塊利用關(guān)系型數(shù)據(jù)庫存儲(chǔ)所有的實(shí)時(shí)數(shù)據(jù),可以按照業(yè)務(wù)關(guān)系如單井分布存儲(chǔ)鉆井實(shí)時(shí)數(shù)據(jù),提供結(jié)構(gòu)化查詢服務(wù)。
所述的多線程同步存儲(chǔ)模塊、實(shí)時(shí)存儲(chǔ)模塊與歷史存儲(chǔ)模塊,是本發(fā)明的創(chuàng)新所在,其原理如下:將傳統(tǒng)單一工業(yè)實(shí)時(shí)數(shù)據(jù)庫存儲(chǔ)方式改變?yōu)榉顷P(guān)系型數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)庫組合存儲(chǔ)方式。按照應(yīng)用分別進(jìn)行實(shí)時(shí)存儲(chǔ)與歷史存儲(chǔ),單獨(dú)提供實(shí)時(shí)發(fā)布與歷史查詢服務(wù)。
與現(xiàn)有技術(shù)相比,本發(fā)明所達(dá)到的有益效果如下:
第一,提高了鉆井實(shí)時(shí)數(shù)據(jù)歷史查詢效率,傳統(tǒng)的工業(yè)實(shí)時(shí)數(shù)據(jù)庫歷史數(shù)據(jù)查詢以1口井1天歷史數(shù)據(jù)查詢?yōu)槔?,一般需?-5分鐘時(shí)間,采用的單獨(dú)的結(jié)構(gòu)化數(shù)據(jù)庫進(jìn)行歷史數(shù)據(jù)存儲(chǔ)發(fā)布,1口井1天歷史數(shù)據(jù)查詢時(shí)間縮短至10秒以內(nèi)。
第二,提高了鉆井實(shí)時(shí)數(shù)據(jù)實(shí)時(shí)存儲(chǔ)與發(fā)布效率,由于實(shí)時(shí)存儲(chǔ)模塊只負(fù)責(zé)為實(shí)時(shí)發(fā)布提供數(shù)據(jù)服務(wù),不需要承擔(dān)歷史存儲(chǔ)任務(wù),只需要存儲(chǔ)最近一段時(shí)間(2-12小時(shí))的實(shí)時(shí)數(shù)據(jù),避免海量實(shí)時(shí)數(shù)據(jù)進(jìn)行存儲(chǔ)的時(shí)出現(xiàn)的排隊(duì)延遲問題,資源占用量也更小,實(shí)時(shí)發(fā)布效率更高。
第三,分布式的數(shù)據(jù)存儲(chǔ)方式,可避免傳統(tǒng)單一數(shù)據(jù)庫存儲(chǔ)發(fā)布時(shí)多個(gè)用戶同時(shí)向請(qǐng)求實(shí)時(shí)及歷史數(shù)據(jù)發(fā)布時(shí)導(dǎo)致宕機(jī)的問題,提高了整個(gè)實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)的穩(wěn)定性,又兼顧了實(shí)時(shí)快速發(fā)布與歷史快速查詢發(fā)布兩項(xiàng)功能。
第四,非關(guān)系型數(shù)據(jù)可進(jìn)行快速實(shí)時(shí)存儲(chǔ),保證鉆井實(shí)時(shí)數(shù)據(jù)存儲(chǔ)的及時(shí)性,同時(shí)采用關(guān)系型數(shù)據(jù)庫單獨(dú)進(jìn)行歷史存儲(chǔ),可支持更復(fù)雜的數(shù)據(jù)查詢和應(yīng)用,可更加快捷的為其他用戶或系統(tǒng)提供數(shù)據(jù)接口服務(wù)。
第五,采用開源的非關(guān)關(guān)系型數(shù)據(jù)與關(guān)系型數(shù)據(jù)庫如相比工業(yè)實(shí)時(shí)數(shù)據(jù)庫,其軟件成本更低,普及度也更高,技術(shù)人員對(duì)熟悉度也更高,對(duì)技術(shù)人員要求相對(duì)較低,便于數(shù)據(jù)庫維護(hù)與數(shù)據(jù)應(yīng)用開發(fā),適合一般中小企業(yè)應(yīng)用。
附圖說明
下面將結(jié)合說明書附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明,其中:
圖1為工業(yè)實(shí)時(shí)數(shù)據(jù)庫數(shù)據(jù)存儲(chǔ)發(fā)布模式圖;
圖2為本發(fā)明的邏輯構(gòu)成圖。
具體實(shí)施方式
實(shí)施例1
作為本發(fā)明的一較佳實(shí)施方式,在原有的鉆井實(shí)時(shí)數(shù)據(jù)采集發(fā)布系統(tǒng)(圖1)基礎(chǔ)上,新增數(shù)據(jù)多線程同布存儲(chǔ)模塊,歷史存儲(chǔ)模塊,將實(shí)時(shí)數(shù)據(jù)存儲(chǔ)方式變?yōu)閷?shí)時(shí)存儲(chǔ)與歷史存儲(chǔ)兩個(gè)部分,獨(dú)立提供實(shí)時(shí)發(fā)布與歷史查詢服務(wù)。整個(gè)方法由5個(gè)技術(shù)模塊構(gòu)成。
多線程同步存儲(chǔ)模塊,將接收到的鉆井實(shí)時(shí)數(shù)據(jù)通過多線程分別存儲(chǔ)至實(shí)時(shí)存儲(chǔ)模塊(非關(guān)系型數(shù)據(jù)庫)與歷史存儲(chǔ)模塊(關(guān)系型數(shù)據(jù)庫)。
實(shí)時(shí)存儲(chǔ)模塊,利用非關(guān)系型的kv數(shù)據(jù)庫代替?zhèn)鹘y(tǒng)工業(yè)實(shí)時(shí)數(shù)據(jù)庫進(jìn)行實(shí)時(shí)快速存儲(chǔ)與發(fā)布,將數(shù)據(jù)直接存儲(chǔ)在內(nèi)存塊中進(jìn)行發(fā)布。
歷史存儲(chǔ)模塊,利用關(guān)系型數(shù)據(jù)庫對(duì)鉆井實(shí)時(shí)數(shù)據(jù)進(jìn)行存儲(chǔ),按照井關(guān)系對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化存儲(chǔ)。
實(shí)時(shí)發(fā)布模塊,讀取存儲(chǔ)在內(nèi)存kv數(shù)據(jù)庫中的實(shí)時(shí)數(shù)據(jù),通過socket或者webservice方式進(jìn)行發(fā)布,支持實(shí)時(shí)數(shù)據(jù)連續(xù)可視化應(yīng)用。
歷史查詢模塊,提供通用性的sql查詢服務(wù),用戶可對(duì)鉆井實(shí)時(shí)數(shù)據(jù)進(jìn)行區(qū)間與精確查詢。
本發(fā)明的創(chuàng)新點(diǎn)在于:非關(guān)系型數(shù)據(jù)庫+關(guān)系型數(shù)據(jù)庫組合方式實(shí)現(xiàn)鉆井實(shí)時(shí)數(shù)據(jù)快速存儲(chǔ)與發(fā)布。其原理如下:
將傳統(tǒng)單一工業(yè)實(shí)時(shí)數(shù)據(jù)庫存儲(chǔ)方式改變?yōu)榉顷P(guān)系型數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)庫組合存儲(chǔ)方式。
按照應(yīng)用分別進(jìn)行實(shí)時(shí)存儲(chǔ)與歷史存儲(chǔ),單獨(dú)提供實(shí)時(shí)發(fā)布與歷史查詢服務(wù)。
實(shí)施例2
作為本發(fā)明的最佳實(shí)施方式,如圖2所示,先將采集傳輸回來的鉆井實(shí)時(shí)數(shù)據(jù)從數(shù)據(jù)傳輸隊(duì)列取出后,同步存儲(chǔ)(采用多線程處理)至kv數(shù)據(jù)庫及sqlite數(shù)據(jù)庫。kv實(shí)時(shí)數(shù)據(jù)庫進(jìn)行快速實(shí)時(shí)存儲(chǔ),只存儲(chǔ)最近2小時(shí)以內(nèi)的鉆井實(shí)時(shí)數(shù)據(jù),超過2小時(shí)的數(shù)據(jù)自動(dòng)清除。sqlite數(shù)據(jù)庫進(jìn)行歷史存儲(chǔ),存儲(chǔ)所有的鉆井實(shí)時(shí)數(shù)據(jù)。通過實(shí)時(shí)發(fā)布模塊(實(shí)時(shí)socket)與歷史查詢模塊(歷史socket)分別滿足用戶的實(shí)時(shí)發(fā)布與歷史查詢需求。實(shí)時(shí)發(fā)布模塊對(duì)kv數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行實(shí)時(shí)發(fā)布,生成實(shí)時(shí)數(shù)據(jù)列表與曲線。歷史查詢模塊通過sql查詢調(diào)用sqlite數(shù)據(jù)庫中的數(shù)據(jù),可按時(shí)間段發(fā)布鉆井實(shí)時(shí)數(shù)據(jù),并提供數(shù)據(jù)下載和遷移服務(wù)。