任靜思
(中國(guó)石油西南油氣田公司勘探與生產(chǎn)數(shù)據(jù)中心)
生產(chǎn)數(shù)據(jù)校驗(yàn)加載方法研究與實(shí)踐
任靜思
(中國(guó)石油西南油氣田公司勘探與生產(chǎn)數(shù)據(jù)中心)
對(duì)于海量生產(chǎn)數(shù)據(jù)的校驗(yàn)與加載,由于數(shù)據(jù)量龐大和獲取數(shù)據(jù)的途徑不同,其內(nèi)容、格式、質(zhì)量參差不齊,經(jīng)常會(huì)遇到數(shù)據(jù)格式不能轉(zhuǎn)換或格式轉(zhuǎn)換后信息丟失等棘手問(wèn)題,并且數(shù)據(jù)質(zhì)量難以控制,人工校驗(yàn)費(fèi)時(shí)、費(fèi)力且準(zhǔn)確率低。故以西南油氣田A2系統(tǒng)歷史數(shù)據(jù)加載為實(shí)例,研討數(shù)據(jù)校驗(yàn)加載流程,闡述如何開(kāi)發(fā)數(shù)據(jù)質(zhì)控平臺(tái),并利用該平臺(tái)和數(shù)據(jù)內(nèi)在的邏輯規(guī)則,對(duì)生產(chǎn)數(shù)據(jù)進(jìn)行高效準(zhǔn)確的校驗(yàn)和加載。圖12表3參2
數(shù)據(jù)校驗(yàn) 數(shù)據(jù)加載 質(zhì)控平臺(tái) SSIS遷移工具 MSChart圖形控件
油氣水井生產(chǎn)數(shù)據(jù)管理系統(tǒng)(簡(jiǎn)稱(chēng)A2系統(tǒng)),是中石油信息技術(shù)總體規(guī)劃中的一個(gè)重要項(xiàng)目,主要以油氣生產(chǎn)動(dòng)態(tài)和管理數(shù)據(jù)為核心,集開(kāi)發(fā)生產(chǎn)管理信息采集、傳輸、存儲(chǔ)、處理、分析、發(fā)布、管理和應(yīng)用于一體的油田生產(chǎn)管理信息應(yīng)用系統(tǒng)。
自A2系統(tǒng)2007年在西南油氣田正式上線(xiàn)運(yùn)行以來(lái),2000年后的油氣生產(chǎn)數(shù)據(jù)都已經(jīng)實(shí)現(xiàn)完整納入A2系統(tǒng)管理,新增數(shù)據(jù)也都實(shí)現(xiàn)動(dòng)態(tài)正常化入庫(kù)管理,但是2000年前的歷史數(shù)據(jù)未能加載入庫(kù),嚴(yán)重阻礙了數(shù)據(jù)庫(kù)的應(yīng)用深度和使用范圍,尤其是近年來(lái)大力開(kāi)展老氣田穩(wěn)產(chǎn)和挖潛等綜合研究工作,更是需要使用完整的生產(chǎn)數(shù)據(jù)進(jìn)行產(chǎn)量綜合遞減分析、開(kāi)發(fā)調(diào)整方案編制。因此,在A2數(shù)據(jù)庫(kù)中加載西南油氣田公司2000年前的所有油氣生產(chǎn)數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的完整化管理十分重要。
對(duì)石油行業(yè)而言,衡量生產(chǎn)數(shù)據(jù)正確性的重要指標(biāo)包括:數(shù)據(jù)的唯一性、完整性、連續(xù)性、繼承性和準(zhǔn)確性。對(duì)于海量數(shù)據(jù)加載而言,由于數(shù)據(jù)量龐大和獲取數(shù)據(jù)的途徑不同,數(shù)據(jù)質(zhì)量參差不齊,經(jīng)常會(huì)遇到數(shù)據(jù)格式不能轉(zhuǎn)換或格式轉(zhuǎn)換后信息丟失等棘手問(wèn)題,且人工校驗(yàn)費(fèi)時(shí)、費(fèi)力、準(zhǔn)確率低。因此加載前數(shù)據(jù)校驗(yàn)的方法和步驟是數(shù)據(jù)加載的重點(diǎn)和難點(diǎn)。
1.1 開(kāi)發(fā)數(shù)據(jù)質(zhì)控平臺(tái)
為高效準(zhǔn)確地校驗(yàn)加載生產(chǎn)數(shù)據(jù),可將開(kāi)發(fā)數(shù)據(jù)質(zhì)控平臺(tái)作為數(shù)據(jù)校驗(yàn)加載的輔助工具。數(shù)據(jù)質(zhì)控平臺(tái)具有兩大功能:數(shù)據(jù)遷移功能和數(shù)據(jù)圖形展示功能。
(1)數(shù)據(jù)質(zhì)控平臺(tái)數(shù)據(jù)遷移功能的開(kāi)發(fā)
根據(jù)實(shí)際業(yè)務(wù)和數(shù)據(jù)情況,采用了Microsoft公司的SSIS作為數(shù)據(jù)遷移工具,并利用.Net開(kāi)發(fā)程序進(jìn)行整合,實(shí)現(xiàn)數(shù)據(jù)質(zhì)量控制。SSIS是Microsoft公司推出的一個(gè)流程化、可視化的ETL工具,可以和Studio開(kāi)發(fā)程序完全融合,最大化滿(mǎn)足各類(lèi)系統(tǒng)的資源整合與服務(wù)重用的需求(圖1、圖2)。
圖1 數(shù)據(jù)遷移之?dāng)?shù)據(jù)加載流程圖
(2)數(shù)據(jù)質(zhì)控平臺(tái)數(shù)據(jù)圖形展示的開(kāi)發(fā)
采用微軟MS chart圖形控件開(kāi)發(fā)校驗(yàn)工具,直觀(guān)地對(duì)數(shù)據(jù)進(jìn)行圖形展示(圖3)。
1.2 設(shè)計(jì)數(shù)據(jù)校驗(yàn)加載總體架構(gòu)
利用質(zhì)控平臺(tái)對(duì)生產(chǎn)單位提交的數(shù)據(jù)進(jìn)行校驗(yàn)、校驗(yàn)完畢后加載到臨時(shí)應(yīng)用數(shù)據(jù)庫(kù)的臨時(shí)表中。通過(guò)對(duì)臨時(shí)應(yīng)用數(shù)據(jù)庫(kù)的基礎(chǔ)信息進(jìn)行校驗(yàn)、匯總,利用質(zhì)控平臺(tái)加載進(jìn)臨時(shí)應(yīng)用數(shù)據(jù)庫(kù)的正式表,數(shù)據(jù)準(zhǔn)確無(wú)誤后再統(tǒng)一加進(jìn)A2主庫(kù),通過(guò)TWS平臺(tái)進(jìn)行查詢(xún)、應(yīng)用(圖4)。
圖2 數(shù)據(jù)遷移之基本信息校驗(yàn)流程圖
圖3 數(shù)據(jù)圖形展示圖
圖4 數(shù)據(jù)校驗(yàn)加載總體架構(gòu)示意圖
雖然是同一套數(shù)據(jù),臨時(shí)數(shù)據(jù)庫(kù)中的臨時(shí)表與生產(chǎn)單位提交的數(shù)據(jù)結(jié)構(gòu)一致,而臨時(shí)數(shù)據(jù)庫(kù)的正式表與A2系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)是一致的。
1.3 制定數(shù)據(jù)校驗(yàn)加載流程
對(duì)產(chǎn)量數(shù)據(jù)而言,及時(shí)性、完整性、唯一性、連續(xù)性、繼承性、準(zhǔn)確性十分重要。在歷史數(shù)據(jù)的加載過(guò)程中,必須對(duì)數(shù)據(jù)的完整性、唯一性、連續(xù)性、繼承性、準(zhǔn)確性進(jìn)行校驗(yàn),才能確保數(shù)據(jù)的入庫(kù)質(zhì)量(圖5)。
圖5 數(shù)據(jù)校驗(yàn)加載流程圖
其中應(yīng)包括的校驗(yàn)工作有:
(1)基礎(chǔ)信息完整性校驗(yàn):井、氣藏、氣田的基本信息在A2系統(tǒng)中是否存在;
(2)數(shù)據(jù)完整性校驗(yàn):井號(hào)、氣藏、氣田、氣礦、生產(chǎn)年月是否填寫(xiě)完整;
(3)數(shù)據(jù)唯一性校驗(yàn):同一口井、同一個(gè)層位某月是否存在冗余數(shù)據(jù);
(4)數(shù)據(jù)連續(xù)性校驗(yàn):?jiǎn)尉纳a(chǎn)數(shù)據(jù)是否連續(xù);
(5)數(shù)據(jù)繼承性校驗(yàn):?jiǎn)尉硞€(gè)層位封閉報(bào)廢后產(chǎn)量是否繼承截至當(dāng)前;
(6)數(shù)據(jù)準(zhǔn)確性校驗(yàn):生產(chǎn)數(shù)據(jù)在邏輯上是有規(guī)則的,加載的數(shù)據(jù)是否符合規(guī)則。
1.4 設(shè)定加載校驗(yàn)步驟
(1)對(duì)接收數(shù)據(jù)進(jìn)行初步審核及數(shù)據(jù)格式規(guī)范化整理
在收集的數(shù)據(jù)中,最主要的數(shù)據(jù)問(wèn)題是年月項(xiàng)的不規(guī)范性,有些使用的是數(shù)值型,有些使用的是日期型,有些使用的是文本型,導(dǎo)致數(shù)據(jù)入庫(kù)后,部分年月項(xiàng)數(shù)據(jù)丟失。
此步驟主要是規(guī)范生產(chǎn)單位提交數(shù)據(jù)的年月數(shù)據(jù)項(xiàng)。采用Access、excel、UltraEdit與記事本相結(jié)合的方式對(duì)數(shù)據(jù)進(jìn)行手動(dòng)修改。
(2)利用質(zhì)控平臺(tái)對(duì)數(shù)據(jù)進(jìn)行高效自動(dòng)加載,并反復(fù)校驗(yàn)
將整理好的氣井歷史數(shù)據(jù)放在對(duì)應(yīng)文件路徑下,利用質(zhì)控平臺(tái)執(zhí)行圖6所示步驟,將原始數(shù)據(jù)加載進(jìn)臨時(shí)數(shù)據(jù)庫(kù)的臨時(shí)表,對(duì)重復(fù)數(shù)據(jù)以及不完整數(shù)據(jù)則返回?cái)?shù)據(jù)源單位進(jìn)行修改后再重新整理加載。
食品安全管理對(duì)企業(yè)食品管理工作的影響。在日常生活中,一些菜市場(chǎng)及超市的食品安全、衛(wèi)生問(wèn)題日益嚴(yán)峻,給企業(yè)的綜合競(jìng)爭(zhēng)力造成較大影響,同時(shí)還有可能影響企業(yè)的食品安全性,因此,應(yīng)該創(chuàng)建科學(xué)有效的食品安全管理系統(tǒng)和食品安全信用系統(tǒng),進(jìn)一步提升企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力,進(jìn)一步推動(dòng)我國(guó)食品監(jiān)管工作的革新。
(3)利用質(zhì)控平臺(tái)對(duì)基本信息進(jìn)行校驗(yàn),確保和A2系統(tǒng)保持一致
圖6 臨時(shí)表氣井原始數(shù)據(jù)加載校驗(yàn)流程圖
圖7 正式表氣井原始數(shù)據(jù)加載校驗(yàn)流程圖
圖8 不連續(xù)井的生產(chǎn)數(shù)據(jù)展示圖
原始數(shù)據(jù)加載進(jìn)臨時(shí)表后,執(zhí)行圖7所示步驟,將臨時(shí)表的數(shù)據(jù)與A2主庫(kù)里面的基礎(chǔ)信息進(jìn)行匹配并連接查詢(xún),基礎(chǔ)信息不為空的數(shù)據(jù)將加栽進(jìn)臨時(shí)數(shù)據(jù)庫(kù)的正式表里,此正式表的結(jié)構(gòu)與A2主庫(kù)里面的表結(jié)構(gòu)是一致的。對(duì)基礎(chǔ)信息為空的數(shù)據(jù)進(jìn)行相應(yīng)的修改后再重復(fù)執(zhí)行圖7的步驟。
1.5 利用質(zhì)控平臺(tái)對(duì)數(shù)據(jù)進(jìn)行連續(xù)性、繼承性校驗(yàn)
(1)數(shù)據(jù)連續(xù)性校驗(yàn)
通過(guò)函數(shù)MONTHS_BETWEEN統(tǒng)計(jì)出單井的理論連續(xù)月份條數(shù),和庫(kù)中存在的單井實(shí)際月份條數(shù)做對(duì)比。理論連續(xù)月份條數(shù)和實(shí)際月份條數(shù)有如下規(guī)則:
理論連續(xù)月份統(tǒng)計(jì)=實(shí)際月份統(tǒng)計(jì)
若實(shí)際月份條數(shù)小于理論連續(xù)月份條數(shù),說(shuō)明該井?dāng)?shù)據(jù)存在不連續(xù)的情況,將這口井的生產(chǎn)數(shù)據(jù)通過(guò)質(zhì)控平臺(tái)圖形展示出來(lái),把產(chǎn)量為0的月份提取出來(lái),反饋給數(shù)據(jù)源單位審核(表1、圖8)。表1理論連續(xù)月份條數(shù)和實(shí)際月份條數(shù)統(tǒng)計(jì)表
表1 理論連續(xù)月份條數(shù)和實(shí)際月份條數(shù)統(tǒng)計(jì)表
表2 查找單井最大月份
(2)數(shù)據(jù)繼承性校驗(yàn)
通過(guò)函數(shù)MAX查詢(xún)單井最大月份是否等于當(dāng)前月份。若未繼承到當(dāng)前,則通過(guò)人工手動(dòng)補(bǔ)齊(表2)。
1.6 利用數(shù)據(jù)邏輯規(guī)則對(duì)數(shù)據(jù)進(jìn)行準(zhǔn)確性校驗(yàn)
對(duì)接收數(shù)據(jù)進(jìn)行上述校驗(yàn)加載后,為了保證數(shù)據(jù)正確性,進(jìn)一步利用生產(chǎn)數(shù)據(jù)的邏輯規(guī)則對(duì)數(shù)據(jù)進(jìn)行準(zhǔn)確性校驗(yàn)。數(shù)據(jù)算法規(guī)則如下:
·當(dāng)月累產(chǎn)=上月累產(chǎn)+當(dāng)月月產(chǎn);
·一月年產(chǎn)=一月月產(chǎn);
·當(dāng)月年產(chǎn)=上月年產(chǎn)+當(dāng)月月產(chǎn)(一月除外)。
對(duì)不符合算法規(guī)則的異常數(shù)據(jù)利用質(zhì)控平臺(tái)展示出來(lái),并反饋給生產(chǎn)單位核查(圖9圖10)。
圖9 西南油氣田1980年01月至1999年12月總井?dāng)?shù)曲線(xiàn)
圖10 西南油氣田1970年01月至1999年12月累積產(chǎn)水量曲線(xiàn)
2.1 質(zhì)控平臺(tái)的開(kāi)發(fā)成果
(1)利用SSIS數(shù)據(jù)遷移工具,完成數(shù)據(jù)質(zhì)控平臺(tái)對(duì)氣井、氣藏、氣田、氣礦4級(jí)數(shù)據(jù)的加載及校驗(yàn)的開(kāi)發(fā)、測(cè)試;
(2)利用MSChart圖形控件,完成數(shù)據(jù)質(zhì)控平臺(tái)對(duì)圖形展示的開(kāi)發(fā)、測(cè)試。
2.2 生產(chǎn)數(shù)據(jù)校驗(yàn)加載效果
通過(guò)上述生產(chǎn)數(shù)據(jù)的校驗(yàn)加載方法,完成了A2系統(tǒng)生產(chǎn)數(shù)據(jù)的校驗(yàn)和加載,取得良好效果(表3):
對(duì)生產(chǎn)數(shù)據(jù)校驗(yàn)加載而言,制定一套行之有效的校驗(yàn)加載方法,并開(kāi)發(fā)數(shù)據(jù)質(zhì)控平臺(tái)顯得尤為重要。通過(guò)質(zhì)控平臺(tái)的使用,實(shí)現(xiàn)了數(shù)據(jù)校驗(yàn)、加載的可視化及流程化,極大地提高了數(shù)據(jù)校驗(yàn)、加載的效率,實(shí)現(xiàn)了數(shù)據(jù)快速、批量、準(zhǔn)確加載。
通過(guò)對(duì)A2系統(tǒng)生產(chǎn)數(shù)據(jù)校驗(yàn)加載的初步應(yīng)用實(shí)踐,取得了顯著成效,證明了利用生產(chǎn)數(shù)據(jù)校驗(yàn)加載方法和質(zhì)控平臺(tái)技術(shù)手段開(kāi)展數(shù)據(jù)加載工作,比人工校驗(yàn)更高效、準(zhǔn)確且更切實(shí)可行。推而廣之,這套數(shù)據(jù)校驗(yàn)加載方法和質(zhì)控工具將為今后類(lèi)似的數(shù)據(jù)加載工作提供技術(shù)保障。
表3 生產(chǎn)數(shù)據(jù)校驗(yàn)加載效果表
1 胡百敬.SQL Server 2008 SSIS整合服務(wù)[M].臺(tái)灣:悅知文化出版社,2008.
2 朱健.MSChart在氣象數(shù)據(jù)圖形化顯示中的應(yīng)用[J].浙江氣象,2009,(1):24-27.
(修改回稿日期 2013-07-18 編輯 陳玲)
任靜思,男,1981年出生,工程師;2004年畢業(yè)于成都信息工程學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè),近幾年主要致力于A2運(yùn)維工作。地址:(610041)四川省成都市天府大道北段12號(hào)石油科技大廈1409室。電話(huà):(028)86015102。E-mail:renjingsi@petrochina.com.cn