本發(fā)明涉及石油行業(yè)鉆完井現(xiàn)場數(shù)據(jù)信息集成技術(shù),尤其是一種用于鉆完井現(xiàn)場鉆完井現(xiàn)場同時集成WITS數(shù)據(jù)和WITSML數(shù)據(jù)的方法。
背景技術(shù):
鉆完井現(xiàn)場數(shù)據(jù)實時集成是一種采用計算機技術(shù)將不同鉆井服務(wù)商的數(shù)據(jù)進行實時采集、存儲和傳輸?shù)募夹g(shù),解決井場數(shù)據(jù)無法遠(yuǎn)程無縫共享問題。
出于技術(shù)保密或其他商業(yè)原因,不同鉆井服務(wù)商向第三方提供的數(shù)據(jù)格式一般都是不一致的,比如有的支持WITS(井場信息傳輸標(biāo)準(zhǔn)Wellsite Information Transfer Standard)格式數(shù)據(jù),有的支持WITSML(井場信息傳輸標(biāo)準(zhǔn)標(biāo)記語言Wellsite Information Transfer Standard Markup Languages)格式數(shù)據(jù)。國內(nèi)一些主流軟件只能集成WITS數(shù)據(jù)或者WITSML數(shù)據(jù)的其中一種類型數(shù)據(jù),不能同時實現(xiàn)集成兩種標(biāo)準(zhǔn)的數(shù)據(jù),造成鉆完井實時數(shù)據(jù)系統(tǒng)存在不同標(biāo)準(zhǔn)的數(shù)據(jù)格式,影響數(shù)據(jù)無縫流轉(zhuǎn)的效率,甚至形成數(shù)據(jù)孤島。通常情況下,鉆完井現(xiàn)場都在偏遠(yuǎn)地區(qū),基地與現(xiàn)場間的網(wǎng)絡(luò)環(huán)境較差,支持不同格式的數(shù)據(jù)傳輸軟件系統(tǒng)同時向基地大量的回傳數(shù)據(jù),會擠占網(wǎng)絡(luò)帶寬,造成網(wǎng)絡(luò)擁堵,不便于高效利用衛(wèi)星網(wǎng)絡(luò)帶寬,數(shù)據(jù)也會出現(xiàn)不同程度的延遲,無法為基地專家提供高效的實時數(shù)據(jù)支持。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是減少井場數(shù)據(jù)的流轉(zhuǎn)環(huán)節(jié),去除不同格式數(shù)據(jù)共享壁壘,提供了一種用于鉆完井現(xiàn)場同時集成WITS數(shù)據(jù)和WITSML數(shù)據(jù)的方法,以統(tǒng)一的格式進行存儲和傳輸,節(jié)約了網(wǎng)絡(luò)帶寬,提高了數(shù)據(jù)流轉(zhuǎn)效率。
本發(fā)明提供的技術(shù)方案為:
一種用于鉆完井現(xiàn)場同時集成WITS數(shù)據(jù)和WITSML數(shù)據(jù)的方法,包括:
步驟一、采用socket通訊或串口通訊方式,采集WITS數(shù)據(jù)源;采用SOAP協(xié)議以XML流的方式采集WITSML數(shù)據(jù)源;
步驟二、存儲WITSML標(biāo)準(zhǔn)數(shù)據(jù)的表,按照WITSML標(biāo)準(zhǔn)的各種對象為主表,對象節(jié)點為字段,對象的子節(jié)點遞歸建立子表,以樹形結(jié)構(gòu)建立數(shù)據(jù)庫表存儲數(shù)據(jù);WITSML中Log對象表每增加一個數(shù)據(jù)表名稱字段,都對應(yīng)WITS數(shù)據(jù)表名稱,并且Log對象子節(jié)點表LogCurveinfo表增加一個對應(yīng)本Log對象數(shù)據(jù)表的字段名稱,使WITS和WITSML建立對應(yīng)關(guān)系;
步驟三、將井場數(shù)據(jù)庫中數(shù)據(jù)按照WITSML對象組織成WITSML數(shù)據(jù)流,以統(tǒng)一的WTISML標(biāo)準(zhǔn)格式將井場數(shù)據(jù)庫的數(shù)據(jù)同步到基地服務(wù)器,并同時分享到各服務(wù)商和/或用戶。
優(yōu)選的是,步驟一中,WITS數(shù)據(jù)采集步驟包括:
采用socket或者串口通訊與數(shù)據(jù)源建立通訊連接;
獲取會話采集的數(shù)據(jù)集A1;
讀取到開始標(biāo)志&&和結(jié)束標(biāo)志!!界定數(shù)據(jù)范圍;
將數(shù)據(jù)內(nèi)容以回車換行<CR><LF>拆分為各數(shù)據(jù)項;
將各數(shù)據(jù)項拆分為標(biāo)識符和值;
將數(shù)據(jù)組織完成后推送給數(shù)據(jù)存儲層存入到數(shù)據(jù)庫。
優(yōu)選的是,步驟一中,WITSML數(shù)據(jù)采集步驟包括:
采用SOAP協(xié)議與WITSML數(shù)據(jù)源建立連接,通過數(shù)據(jù)源服務(wù)器認(rèn)證;
獲取有權(quán)限并需要傳輸?shù)木甒1和井眼WB1信息;
獲取W1和WB1下所有Log對象列表信息,并選擇需要獲取的Log對象L1;
將W1、WB1和L1推送給數(shù)據(jù)存儲層存入到數(shù)據(jù)庫。
優(yōu)選的是,步驟二中,數(shù)據(jù)存儲的過程為:
a、檢查數(shù)據(jù)庫中有無公共數(shù)據(jù)庫,沒有公共數(shù)據(jù)庫就創(chuàng)建公共數(shù)據(jù)庫,建立井基本信息表以存儲井?dāng)?shù)據(jù)庫的庫名稱、井名稱和井眼名稱;
b、建立井?dāng)?shù)據(jù)庫,存儲WITS數(shù)據(jù)表結(jié)構(gòu),并且以WITS標(biāo)準(zhǔn)定義的表結(jié)構(gòu)來定義;存儲WITSML數(shù)據(jù)表結(jié)構(gòu),并且以WITSML標(biāo)準(zhǔn)定義的對象為主表,設(shè)置與WITS標(biāo)準(zhǔn)定義的表名相同的Log對象數(shù)據(jù),并在Log對象數(shù)據(jù)表中增加一個WITS數(shù)據(jù)表名稱的字段,存儲WITS表名稱,使其Log對象和WITS數(shù)據(jù)表建立關(guān)聯(lián);
c、接收來自采集層的數(shù)據(jù)。
優(yōu)選的是,接收來自采集層的數(shù)據(jù)包括以下步驟:
如果是WITS數(shù)據(jù),根據(jù)其字段標(biāo)識和數(shù)據(jù)存儲在相應(yīng)的WITS數(shù)據(jù)表中;
當(dāng)接收到WITS標(biāo)準(zhǔn)的測斜數(shù)據(jù)時,實時將測斜數(shù)據(jù)轉(zhuǎn)換為Trajectory對象;
如果是WITSML對象數(shù)據(jù),將對象中字段和節(jié)點名對應(yīng)Well表中的字段,將對象的字段值和節(jié)點值存儲到數(shù)據(jù)庫中。
優(yōu)選的是,步驟三中,將井場數(shù)據(jù)庫的數(shù)據(jù)同步到基地服務(wù)器的步驟包括:
a、通訊模塊建立與基地傳輸?shù)耐ǖ溃ㄟ^其認(rèn)證;
b、將WITSML對象信息組織成XML文檔,將XML文檔以標(biāo)準(zhǔn)的ZIP模式壓縮,DES加密后傳輸給基地服務(wù)接口;
當(dāng)傳輸Log對象時,根據(jù)Log表中定義的數(shù)據(jù)表字段值確定對應(yīng)的Log數(shù)據(jù)表,并以其子對象LogCurveinfo定義為標(biāo)識字段查詢數(shù)據(jù)表中的數(shù)據(jù),以LogCuveinfo定義的順序,以逗號分割組織成Logdata數(shù)據(jù)集,合并成Log對象的XML文檔,實現(xiàn)統(tǒng)一對外傳輸WITSML接口向基地發(fā)送數(shù)據(jù)。
優(yōu)選的是,步驟一中,采用如下公式對采集的數(shù)據(jù)進行濾波:
Y(k)=αX(k)+(1-α)Y(k-1)
其中,
X(k)為第k個采樣周期的原始數(shù)據(jù),Y(k)為濾波后第k個采樣周期的數(shù)據(jù),ω為采樣頻率,為原始數(shù)據(jù)平均值,n為原始數(shù)據(jù)數(shù)量。
本發(fā)明的有益效果是:本發(fā)明提供的用于鉆完井現(xiàn)場同時集成WITS數(shù)據(jù)和WITSML數(shù)據(jù)的方法,為鉆完井現(xiàn)場數(shù)據(jù)信息集成提供了一整套的數(shù)據(jù)采集、存儲、傳輸方法,使數(shù)據(jù)在不同服務(wù)商和用戶之間能形成無縫流轉(zhuǎn)和共享。應(yīng)用本發(fā)明可減少井場數(shù)據(jù)的流轉(zhuǎn)環(huán)節(jié),去除不同格式數(shù)據(jù)共享壁壘,提高井場數(shù)據(jù)流轉(zhuǎn)效率,降低井場不同服務(wù)商之間的數(shù)據(jù)集成成本,最終實現(xiàn)鉆完井井場數(shù)據(jù)共享,為鉆井工程風(fēng)險實時決策、勘探開發(fā)實時決策提供實時數(shù)據(jù)支撐。
附圖說明
圖1為本發(fā)明所述的用于鉆完井現(xiàn)場同時集成WITS數(shù)據(jù)和WITSML數(shù)據(jù)的方法流程圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明做進一步的詳細(xì)說明,以令本領(lǐng)域技術(shù)人員參照說明書文字能夠據(jù)以實施。
如圖1所示,本發(fā)明提供了一種用于鉆完井現(xiàn)場同時集成WITS數(shù)據(jù)和WITSML數(shù)據(jù)的方法,以現(xiàn)有WITS標(biāo)準(zhǔn)和WITSML標(biāo)準(zhǔn)為依據(jù),通過特定的數(shù)據(jù)集成算法和數(shù)據(jù)庫結(jié)構(gòu),將兩種不同標(biāo)準(zhǔn)的數(shù)據(jù)整合在一起,以統(tǒng)一的格式進行存儲和傳輸,最終達(dá)到節(jié)約網(wǎng)絡(luò)帶寬,提高數(shù)據(jù)流轉(zhuǎn)效率的目的。
鉆完井現(xiàn)場數(shù)據(jù)集成分為數(shù)據(jù)采集,數(shù)據(jù)存儲和數(shù)據(jù)傳輸三部分,本發(fā)明將從三個部分描述技術(shù)方案,具體如下:
步驟一S110、數(shù)據(jù)采集
數(shù)據(jù)采集的數(shù)據(jù)源分為WITS數(shù)據(jù)源和WITSML數(shù)據(jù)源,這兩種數(shù)據(jù)源采用的數(shù)據(jù)標(biāo)準(zhǔn)和協(xié)議不同,我們將這兩種數(shù)據(jù)分開來采集。WITS數(shù)據(jù)源采集采用socket通訊和串口通訊兩種方式,WITSML數(shù)據(jù)源采用SOAP協(xié)議以XML流的方式進行數(shù)據(jù)采集。
a、WITS數(shù)據(jù)采集步驟:
采用socket或者串口通訊與數(shù)據(jù)源建立通訊連接;
獲取會話采集的數(shù)據(jù)集A1;
讀取到開始標(biāo)志&&和結(jié)束標(biāo)志??!界定數(shù)據(jù)范圍;
將數(shù)據(jù)內(nèi)容以回車換行<CR><LF>拆分為各數(shù)據(jù)項,如08133561.35;
將各數(shù)據(jù)項拆分為標(biāo)識符和值,如0813標(biāo)識符,表示W(wǎng)ITS_8表的13通道,3561.35表示值;
將數(shù)據(jù)組織完成后推送給數(shù)據(jù)存儲層存入到數(shù)據(jù)庫。
b、WITSML數(shù)據(jù)采集步驟:
采用SOAP協(xié)議與WITSML數(shù)據(jù)源建立連接,通過數(shù)據(jù)源服務(wù)器認(rèn)證;
獲取有權(quán)限并需要傳輸?shù)木?Well)W1和井眼(Wellbore)WB1(對象信息;
獲取W1和WB1下所有Log對象列表信息,并選擇需要獲取的Log對象L1;
將W1、WB1和L1推送給數(shù)據(jù)存儲層存入到數(shù)據(jù)庫。
步驟二S120、數(shù)據(jù)存儲
數(shù)據(jù)庫分為公共數(shù)據(jù)庫和井?dāng)?shù)據(jù)庫,公共數(shù)據(jù)庫存放所有井的基本信息,井?dāng)?shù)據(jù)庫存放鉆完井實時數(shù)據(jù)信息,每口井對應(yīng)各自單獨的井?dāng)?shù)據(jù)庫。井?dāng)?shù)據(jù)庫中存儲WITS標(biāo)準(zhǔn)數(shù)據(jù)的表按照WITS標(biāo)準(zhǔn)定義的結(jié)構(gòu)來建立,增加格林尼治時間標(biāo)簽字段,并預(yù)留多個備用字段進行系統(tǒng)擴展。存儲WITSML標(biāo)準(zhǔn)數(shù)據(jù)的表按照WITSML標(biāo)準(zhǔn)的各種對象為主表,對象節(jié)點為字段,對象的子節(jié)點遞歸建立子表,以樹形結(jié)構(gòu)建立數(shù)據(jù)庫表存儲數(shù)據(jù)。WITSML中Log對象表增加一個數(shù)據(jù)表名稱字段,對應(yīng)WITS數(shù)據(jù)表名稱,Log對象子節(jié)點表LogCurveinfo表增加一個對應(yīng)本Log對象數(shù)據(jù)表的字段名稱,使WITS和WITSML建立對應(yīng)關(guān)系。
a、檢查數(shù)據(jù)庫中有無公共數(shù)據(jù)庫,沒有公共數(shù)據(jù)庫就創(chuàng)建公共數(shù)據(jù)庫,建立井基本信息表以存儲井?dāng)?shù)據(jù)庫的庫名稱,井名稱,井眼名稱等配置信息。
b、建立井?dāng)?shù)據(jù)庫,存儲WITS數(shù)據(jù)表結(jié)構(gòu)以WITS標(biāo)準(zhǔn)定義的表結(jié)構(gòu)來定義,比如WITS_8標(biāo)準(zhǔn)(見附錄b)中定義的是ShortMnemonic來作為字段名,字段類型為標(biāo)準(zhǔn)定義的類型,并增加15個備用字段作為系統(tǒng)擴展使用。存儲WITSML數(shù)據(jù)表結(jié)構(gòu)以WITSML標(biāo)準(zhǔn)定義的對象為主表,比如附錄Well井W1,Well為表名,對象中的字段和節(jié)點名為Well表中的字段,如uid,name等,字段類型為Well對象定義的字段類型,當(dāng)有多級別字節(jié)點時創(chuàng)建子表,比如其中的Welllocation節(jié)點,則創(chuàng)建Welllocation表,并增加父對象名稱字段和父對象的標(biāo)識字段建立它們的主從關(guān)聯(lián)。系統(tǒng)內(nèi)置與WITS標(biāo)準(zhǔn)定義的表名相同的Log對象數(shù)據(jù),并在Log對象數(shù)據(jù)表中增加一個WITS數(shù)據(jù)表名稱的字段,存儲WITS表名稱,使其Log對象和WITS數(shù)據(jù)表建立關(guān)聯(lián)。Log對象子節(jié)點表LogCurveinfo表增加一個對應(yīng)本Log對象對應(yīng)數(shù)據(jù)表的字段名稱,使WITS和WITSMLLog對象參數(shù)建立對應(yīng)關(guān)系。
c、接收來自采集層的數(shù)據(jù):
如果是WITS數(shù)據(jù),根據(jù)其字段標(biāo)識和數(shù)據(jù)存儲在相應(yīng)的WITS數(shù)據(jù)表中。深度基準(zhǔn)表無效數(shù)據(jù)校驗方法:如果其深度小于深度基準(zhǔn)表的深度數(shù)據(jù),則屬于無效數(shù)據(jù),將這些數(shù)據(jù)寫入日志文件,不寫入數(shù)據(jù)庫。氣測表無效數(shù)據(jù)校驗方法:如果其深度大于深度基準(zhǔn)表的深度數(shù)據(jù),則屬于無效數(shù)據(jù),將這些數(shù)據(jù)寫入日志文件,不寫入數(shù)據(jù)庫。WITS表增加特定格林尼治時間字段,存儲時間標(biāo)識的格林尼治時間格式為年(4位)月(2位)日(2位)+當(dāng)天秒數(shù)(5位),總共位數(shù)為13位,例如2016年1月1日0點0分0秒表示為2016010100000;
當(dāng)接收到WITS標(biāo)準(zhǔn)的測斜數(shù)據(jù)時,根據(jù)其配置參數(shù),實時將測斜數(shù)據(jù)轉(zhuǎn)換為Trajectory對象;
如果是WITSML對象數(shù)據(jù)如附錄W1,將對象中字段和節(jié)點名對應(yīng)Well表中的字段,將對象的字段值和節(jié)點值存儲到數(shù)據(jù)庫中;
接收Log對象時首先按照Log對象定義的標(biāo)識為數(shù)據(jù)表名,定義的曲線集的標(biāo)識名為字段名,浮點為數(shù)據(jù)類型建立Log對象數(shù)據(jù)表。解析Log對象到數(shù)據(jù)集Logdata時將每個data數(shù)據(jù)按照逗號分割,按照定義的曲線順序,存儲到Log對象數(shù)據(jù)表中。
步驟三S130、數(shù)據(jù)傳輸
將井?dāng)?shù)據(jù)庫中數(shù)據(jù)按照WITSML對象組織成WITSML數(shù)據(jù)流,以統(tǒng)一的WTISML標(biāo)準(zhǔn)格式將井場數(shù)據(jù)庫的數(shù)據(jù)無縫同步到基地服務(wù)器,并可同時分享到各服務(wù)商和用戶。
a、通訊模塊建立與基地傳輸?shù)耐ǖ?,通過其認(rèn)證。
b、選擇需要傳輸?shù)腤ITSML對象信息。
c、將WITSML對象信息組織成XML文檔,比如Well對象,按照標(biāo)準(zhǔn)定義的格式信息組織數(shù)據(jù),將井?dāng)?shù)據(jù)庫中Well表中的字段和Well對象的字段和節(jié)點名對應(yīng),得到Well對象的值信息,填充到Well對象中,形成Well對象XML文檔,將XML文檔以標(biāo)準(zhǔn)的ZIP模式壓縮,DES加密后傳輸給基地服務(wù)接口。當(dāng)傳輸Log對象時,根據(jù)Log表中定義的數(shù)據(jù)表字段值確定對應(yīng)的Log數(shù)據(jù)表,并以其子對象LogCurveinfo定義的曲線參數(shù)數(shù)據(jù)字段為標(biāo)識字段查詢數(shù)據(jù)表中的數(shù)據(jù),以LogCuveinfo定義的順序,以逗號分割組織成Logdata數(shù)據(jù)集,合并成Log對象的XML文檔,實現(xiàn)統(tǒng)一對外傳輸WITSML接口向基地發(fā)送數(shù)據(jù)。
本發(fā)明為鉆完井現(xiàn)場數(shù)據(jù)信息集成提供了一整套的數(shù)據(jù)采集、存儲、傳輸方法,使數(shù)據(jù)在不同服務(wù)商和用戶之間能形成無縫流轉(zhuǎn)和共享。應(yīng)用本發(fā)明可減少井場數(shù)據(jù)的流轉(zhuǎn)環(huán)節(jié),去除不同格式數(shù)據(jù)共享壁壘,提高井場數(shù)據(jù)流轉(zhuǎn)效率,降低井場不同服務(wù)商之間的數(shù)據(jù)集成成本,最終實現(xiàn)鉆完井井場數(shù)據(jù)共享,為鉆井工程風(fēng)險實時決策、勘探開發(fā)實時決策提供實時數(shù)據(jù)支撐。
盡管本發(fā)明的實施方案已公開如上,但其并不僅僅限于說明書和實施方式中所列運用,它完全可以被適用于各種適合本發(fā)明的領(lǐng)域,對于熟悉本領(lǐng)域的人員而言,可容易地實現(xiàn)另外的修改,因此在不背離權(quán)利要求及等同范圍所限定的一般概念下,本發(fā)明并不限于特定的細(xì)節(jié)和這里示出與描述的圖例。