油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺的建設(shè)
高彥卿
南陽理工學(xué)院
油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺(SSIS)所設(shè)計(jì)的電子數(shù)據(jù)庫(ETL)從形式上來講是一個(gè)個(gè)類似工作流的程序包,SSIS具有可視化的開發(fā)工具,它基于一種工作流的思想,主要分為控制流和數(shù)據(jù)流??刂屏髦饕亲稣麄€(gè)ETL過程的流程,而數(shù)據(jù)流則是對ETL業(yè)務(wù)也就是轉(zhuǎn)換的完成,是ETL處理的核心部分。油井設(shè)備機(jī)械化信息平臺的一個(gè)重要特點(diǎn)就是,它不是針對某一個(gè)類型的BI解決方案或者是某一個(gè)具體的項(xiàng)目,而是一種具有BI基本特性功能完善的ETL產(chǎn)品,只要通過一些配置改造,可以簡單地?cái)U(kuò)展到其他的BI系統(tǒng)上。
油井設(shè)備;機(jī)械化;數(shù)據(jù)信息;平臺設(shè)計(jì)
油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺平臺有幾個(gè)非常特別的優(yōu)點(diǎn)。
(1)SSIS與微軟的其他開發(fā)組件密切相關(guān),而且秉承了微軟軟件開發(fā)工具一貫的特點(diǎn),就是良好的可視化開發(fā)界面[1]。但其本質(zhì)還是XML文件,所以容量也非常小,容易安裝部署。
(2)改良腳本中分別有控制流和數(shù)據(jù)流的腳本,可以用C#編寫,可以訪問.NET Framework,并且還能通過腳本任務(wù)執(zhí)行更加復(fù)雜的動作。這是能夠讓電子數(shù)據(jù)庫完成復(fù)雜任務(wù)和利用已有的.NET資源的最佳途徑,它也是自己編寫部件代替系統(tǒng)的最佳途徑。
(3)對SSIS數(shù)據(jù)流緩沖器進(jìn)行了改良。附加異步數(shù)據(jù)流組件將會很方便地在SSIS運(yùn)行過程中提高性能,設(shè)計(jì)人員可以排除雜亂的性能設(shè)計(jì)。
由于SSIS有以上特點(diǎn),ETL系統(tǒng)的主要工作就是通過自己編寫C#腳本來設(shè)計(jì)數(shù)據(jù)處理部件,完成強(qiáng)大的功能[2]。這是建立在SSIS程序包,特別是數(shù)據(jù)流自身可以進(jìn)行非常好的線程安排和調(diào)用機(jī)制的基礎(chǔ)上才能完成的。
2.1SQL Server數(shù)據(jù)信息支撐平臺設(shè)計(jì)
這里所說的SQL Server是狹義的,特指SQL Server數(shù)據(jù)庫。本系統(tǒng)中用到的SQL Server,主要用作對油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺進(jìn)行搭建和維護(hù)。對于多維數(shù)據(jù)庫的設(shè)計(jì),也不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,除了要滿足多維數(shù)據(jù)庫基本的多維度的分析要求,更要和SSIS、SSAS(系統(tǒng)安全性分析系統(tǒng))合作,通過ETL將數(shù)據(jù)加載進(jìn)入SSIS,最終建立多維數(shù)據(jù)集,進(jìn)行多維分析。
SQL Server在商業(yè)智能(BI)解決方案中起著承上啟下的作用。本系統(tǒng)BI解決方案中,會用到油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺的建模方式,在SQL Server中建立多個(gè)事實(shí)表和維度表組成的多維油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺模型。另外,SQL Server的存儲過程也會在建立ETL過程中大量的使用,SSIS包本身也將包含在SQL Server的Job中運(yùn)行。這些過程其實(shí)是SQL Server的普通功能,只是在多維設(shè)計(jì)這個(gè)基礎(chǔ)之上。
儀器的流量分為工況流量和刻度流量,工況流量即設(shè)備在使用環(huán)境下的實(shí)際流量,刻度流量,即標(biāo)準(zhǔn)狀態(tài)下的流量,有些儀器的刻度狀態(tài)是(0 ℃,101.325kPa),有些設(shè)備的刻度狀態(tài)為(20 ℃,101.325kPa),也有些其他特殊的狀態(tài),具體以被檢設(shè)備為準(zhǔn)。在測量重復(fù)性和穩(wěn)定性時(shí)我們要讀取的數(shù)值為檢定點(diǎn)的工況流量,但在測量示值誤差時(shí)我們則需要讀取刻度狀態(tài)下的流量。采樣器的流量計(jì)上有些顯示的是工況流量,有些顯示的是刻度狀態(tài)下的流量,如果為工況流量,像安裝浮子流量計(jì)的采樣器,這時(shí)我們必須對流量示值加以換算,在氣路壓力為0kPa情況下測量的流量,具體過程按公式(1)進(jìn)行計(jì)算。
2.2 數(shù)據(jù)流信息LPC模型算法設(shè)計(jì)
時(shí)間維度箭頭是單向的,表示事實(shí)數(shù)據(jù)中只能引用這些維度,而不能反作用這些維度。時(shí)間維度信息比較固定,沒有經(jīng)常變動的主數(shù)據(jù)文件,比如一個(gè)企業(yè)的財(cái)年信息一般是不會變的。可以在系統(tǒng)建立初始化的時(shí)候加載到油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺中。如果事實(shí)數(shù)據(jù)匹配不到時(shí)間維度,就認(rèn)為主數(shù)據(jù)是有問題的[3]。特別是從信息系統(tǒng)抽取數(shù)據(jù)的時(shí)候,系統(tǒng)會用變量的方式傳遞抽取的時(shí)間,這個(gè)時(shí)間對設(shè)計(jì)是很重要的。用LPC分析參數(shù)實(shí)現(xiàn)波形最小均方誤差意義下的最佳估計(jì)。
機(jī)械化數(shù)據(jù)信息平臺在平穩(wěn)信息流下也能運(yùn)用,但是要疊代估計(jì)模型參數(shù);而強(qiáng)大信息流情況下誤差大,計(jì)算量也大。
2.3 機(jī)械化數(shù)據(jù)信息平臺維度設(shè)計(jì)
國家維度和零售類型維度是單向的,同時(shí)他們也會影響商品和油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺維度,也就是說,不同國家的油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺可能使用相同編號,這就組成了維度層次上的一個(gè)雪花型的關(guān)系。
商品和油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺維度是普通的維度,它們可以和事實(shí)數(shù)據(jù)相互影響。也就是說,當(dāng)事實(shí)數(shù)據(jù)加載的過程中,映射不到相對應(yīng)的維度信息,事實(shí)數(shù)據(jù)是可以去維度中自動生成初始化的主數(shù)據(jù),保證邏輯鍵的正確,然后再等待真正事實(shí)數(shù)據(jù)到了以后對初始化數(shù)據(jù)進(jìn)行更新[4]。對于這兩個(gè)維度,無論是主數(shù)據(jù)或者事實(shí)數(shù)據(jù),維度信息都在其數(shù)據(jù)列中。
維度設(shè)計(jì)中對主數(shù)據(jù)的操作包括以下幾步:
(1)主數(shù)據(jù)導(dǎo)入。運(yùn)行在中心機(jī)上,導(dǎo)入主數(shù)據(jù)(也就是一些所有用戶通用的數(shù)據(jù),在BI中也可以稱維度信息),并把導(dǎo)入的過程記錄到特定信息中,對數(shù)據(jù)進(jìn)行一些清理和排錯(cuò)。
(2)主數(shù)據(jù)計(jì)算。運(yùn)行在中心機(jī)上,將導(dǎo)入中心SSIS數(shù)據(jù)進(jìn)行一些計(jì)算和業(yè)務(wù)邏輯的處理,以便滿足用戶特定的要求。
(3)主數(shù)據(jù)同步。主數(shù)據(jù)運(yùn)行在中心機(jī)和擴(kuò)展機(jī)之間,根據(jù)安裝信息,利用同步技術(shù),將于擴(kuò)展機(jī)相關(guān)的數(shù)據(jù)分布同步到不同的擴(kuò)展機(jī)種。因?yàn)橹行臋C(jī)中存儲的是一個(gè)混合的主數(shù)據(jù),而每一個(gè)擴(kuò)展機(jī)制需要拿到自己的數(shù)據(jù)便可,所以這個(gè)同步是一個(gè)有選擇的同步。記錄好同步信息。
多維數(shù)據(jù)集建立在擴(kuò)展機(jī)上。也就是說,對于用戶而言,是不會知道中心機(jī)的存在,所以擴(kuò)展機(jī)也是一個(gè)用戶的導(dǎo)向。從技術(shù)上來講,無論是中心機(jī)或者擴(kuò)展機(jī),在真正的物理服務(wù)器上都是以油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺、多維數(shù)據(jù)集、電子數(shù)據(jù)庫程序等存在的。
依據(jù)油井機(jī)械設(shè)備用戶的需求,通常把一個(gè)擴(kuò)展機(jī)分配給一個(gè)單獨(dú)的供應(yīng)商和零售商的多維數(shù)據(jù)集,這樣的計(jì)算最純粹,沒有干擾。而中心機(jī)上往往存在著多個(gè)供應(yīng)商和多個(gè)零售商的主數(shù)據(jù)。通過ETL系統(tǒng)中的主數(shù)據(jù)同步功能,可以把中心機(jī)上對應(yīng)于特定擴(kuò)展機(jī)的主數(shù)據(jù)同步到擴(kuò)展機(jī)上。這說明了一個(gè)重要的概念:主數(shù)據(jù)的同步過程永遠(yuǎn)都在中心機(jī)上,同樣事實(shí)數(shù)據(jù)的同步過程永遠(yuǎn)都在擴(kuò)展機(jī)上,而擴(kuò)展機(jī)上所需要的主數(shù)據(jù)是通過主數(shù)據(jù)同步這個(gè)功能實(shí)現(xiàn)的[5]。這樣中心機(jī)和擴(kuò)展機(jī)及相互獨(dú)立,又相互配合,保證了中心機(jī)和擴(kuò)展機(jī)的獨(dú)立工作和相互配合。
正是通過這種中心機(jī)和擴(kuò)展機(jī)的相互配合,在邏輯上和物理上都形成了分布式的結(jié)構(gòu)。
油井設(shè)備機(jī)械化信息平臺的一個(gè)重要特點(diǎn)就是,它不是針對某一個(gè)類型的BI解決方案或者是某一個(gè)具體的項(xiàng)目,而是一種具有BI基本特性功能完善的ETL產(chǎn)品,只要通過一些配置改造,可以簡單地?cái)U(kuò)展到其他的BI系統(tǒng)上,此時(shí),配置文件就是控制ETL系統(tǒng)運(yùn)行的唯一接口。從長遠(yuǎn)來講,
配置文件系統(tǒng)也將變成用戶使用ETL的核心和高級控制的方法。這種配置文件驅(qū)動主程序的方法其實(shí)已經(jīng)將配置文件升華成為了一種元數(shù)據(jù)編程的工具,而不是簡單的只是為了程序做一些配置。本ETL系統(tǒng)所用的配置文件,基于XML,嚴(yán)格遵守XML的標(biāo)準(zhǔn),從文檔結(jié)構(gòu)上看,一個(gè)配置文件可以隨意擴(kuò)展。由于ETL系統(tǒng)本身不能識別平面文件的格式和合法性,更不知道平面文件中的哪一列是油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺鍵,每一列怎么跟油井設(shè)備機(jī)械化數(shù)據(jù)信息平臺中的列對應(yīng),這些都是由配置文件來處理的。
[1]吳勇軍.利用Winsock編程實(shí)現(xiàn)局域網(wǎng)上所有IP包的捕獲和分析[J].電腦編程技巧與維護(hù),2003(10):18-19.
[2]朱正強(qiáng),吳介一,孔競飛,等.基于VRML—Java的虛擬現(xiàn)實(shí)技術(shù)在可視化裝配中的應(yīng)用[J].東南大學(xué)學(xué)報(bào):自然科學(xué)版,2002(1):27-28.
[3]劉艷霞.JFreeChart在JSP開發(fā)中的應(yīng)用心得[J].工程地質(zhì)計(jì)算機(jī)應(yīng)用,2005(1):30-31.
[4]鄭嘯,魏仰蘇.一種新的面向協(xié)議測試的包捕獲結(jié)構(gòu)[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2004(7):36-37.
[5]李雪瑩,劉寶旭,許榕生.基于Win Pcap的網(wǎng)絡(luò)監(jiān)控系統(tǒng)性能優(yōu)化[J].計(jì)算機(jī)工程,2004(1):38-39.
(欄目主持 楊 軍)
10.3969/j.issn.1006-6896.2014.3.014