IP21實時數(shù)據(jù)庫統(tǒng)一接口設(shè)計與實現(xiàn)_第1頁
IP21實時數(shù)據(jù)庫統(tǒng)一接口設(shè)計與實現(xiàn)_第2頁
IP21實時數(shù)據(jù)庫統(tǒng)一接口設(shè)計與實現(xiàn)_第3頁
IP21實時數(shù)據(jù)庫統(tǒng)一接口設(shè)計與實現(xiàn)_第4頁
IP21實時數(shù)據(jù)庫統(tǒng)一接口設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

IP21實時數(shù)據(jù)庫統(tǒng)一接口設(shè)計與實現(xiàn)作者:陳晟來源:《軟件導(dǎo)刊》2015年第07期摘要:在煉油、化工等行業(yè)存在大量的實時數(shù)據(jù),這些實時數(shù)據(jù)大多通過實時數(shù)據(jù)庫進(jìn)行存儲和管理。實時數(shù)據(jù)庫通常位于最底層,為ERP、MES等系統(tǒng)提供數(shù)據(jù)支持。過多信息系統(tǒng)接入會對實時數(shù)據(jù)造成較大壓力,封裝實時數(shù)據(jù)庫訪問層可提高其它信息系統(tǒng)訪問效率,并提高實時數(shù)據(jù)庫可靠性?;诖耍接慖P21實時數(shù)據(jù)庫統(tǒng)一訪問接口的設(shè)計與實現(xiàn)。關(guān)鍵詞:實時數(shù)據(jù)庫;InfoPlus.21API;.net4.5;Webservice;企業(yè)信息化DOIDOI:10.11907/rjdk.151626中圖分類號:TP391文獻(xiàn)標(biāo)識碼:A文章編號:1672-7800(2015)007-0161-020引言在生產(chǎn)流程型企業(yè)中,主要使用實時數(shù)據(jù)庫系統(tǒng)進(jìn)行控制系統(tǒng)監(jiān)控,實現(xiàn)系統(tǒng)先進(jìn)控制和優(yōu)化控制,為企業(yè)生產(chǎn)管理和調(diào)度、數(shù)據(jù)分析、決策支持及遠(yuǎn)程在線瀏覽提供實時數(shù)據(jù)管理和服務(wù)支撐。實時數(shù)據(jù)庫已經(jīng)成為企業(yè)信息化建設(shè)的基礎(chǔ)數(shù)據(jù)平臺,可直接實時采集、獲取企業(yè)運(yùn)行過程中的各種數(shù)據(jù),滿足企業(yè)生產(chǎn)管理對實時信息完整性、一致性以及安全共享的需求,在企業(yè)自動化系統(tǒng)與管理信息系統(tǒng)之間建立起信息溝通橋梁[1]。此外,幫助企業(yè)各專業(yè)管理部門利用這些關(guān)鍵實時信息提高生產(chǎn)銷售營運(yùn)效率。實時數(shù)據(jù)庫系統(tǒng)是生產(chǎn)流程型企業(yè)的底層數(shù)據(jù)平臺。隨著企業(yè)信息化的發(fā)展,企業(yè)中越來越多的上層應(yīng)用系統(tǒng)需要使用實時數(shù)據(jù)。多個信息系統(tǒng)需要從實時數(shù)據(jù)庫系統(tǒng)獲取基礎(chǔ)數(shù)據(jù)[2]。如何快速、高效、安全地為這些信息系統(tǒng)提供數(shù)據(jù),同時不被某些不恰當(dāng)?shù)臄?shù)據(jù)訪問請求所阻塞,已成為企業(yè)信息化建設(shè)過程中普遍關(guān)注的問題。1實時數(shù)據(jù)庫應(yīng)用現(xiàn)狀生產(chǎn)流程型企業(yè)主要使用實時數(shù)據(jù)進(jìn)行生產(chǎn)管理、調(diào)度和數(shù)據(jù)分析。不同類型企業(yè)對實時數(shù)據(jù)的要求不盡相同,如冶煉企業(yè)主要關(guān)注模擬量數(shù)據(jù),對溫度、壓力、流量信號數(shù)據(jù)的準(zhǔn)確性要求較高;電力企業(yè)更加關(guān)注開關(guān)量數(shù)據(jù),對電網(wǎng)調(diào)度開關(guān)信號的響應(yīng)速度要求較高;石化企業(yè)則對模擬數(shù)據(jù)和開關(guān)數(shù)據(jù)的實時性有較高要求[3]。當(dāng)前,廣泛使用的實時數(shù)據(jù)庫主要有以下幾種:①美國OSI公司的PI(PlantInformationSystem),是由美國OSISoftware公司開發(fā)的一套基于Client/Server結(jié)構(gòu)的商品化軟件應(yīng)用平臺;②美國HONEYWELL公司的PHD(ProcessHistoryDatabase),目前PHDHONEYWELL占據(jù)了DCS大部分市場份額,PHD內(nèi)部使用Oracle關(guān)系數(shù)據(jù)庫,所以算不上完全意義上的實時數(shù)據(jù)庫;③美國AspenTech公司的IP21(InfoPlus.21),是Aspen公司的實時數(shù)據(jù)庫軟件,是一個用于集成生產(chǎn)過程信息(如各種工藝參數(shù))與上層應(yīng)用程序(如先進(jìn)控制、優(yōu)化、過程管理)的基礎(chǔ)數(shù)據(jù)平臺;④工業(yè)實時歷史數(shù)據(jù)庫pSpace,力控(三維力控)企業(yè)級實時數(shù)據(jù)庫pSpace是一個高性能、高吞吐能力、可靠性強(qiáng)、跨平臺的實時/歷史數(shù)據(jù)庫系統(tǒng),可用于采集、壓縮、存儲、加工、分析任何帶有時間特性的生產(chǎn)信息,pSpace提供全系列的工業(yè)通訊接口及ERP業(yè)務(wù)接口,實現(xiàn)從生產(chǎn)監(jiān)控到調(diào)度管理的完美整合。此外,還有幾款國產(chǎn)實時數(shù)據(jù)庫,筆者實際工作中接觸到上述幾種數(shù)據(jù)庫,總體感覺國產(chǎn)實時數(shù)據(jù)庫在性能和穩(wěn)定性上并不不輸國外同類產(chǎn)品。2IP21實時數(shù)據(jù)庫統(tǒng)一接口設(shè)計IP21實時數(shù)據(jù)庫系統(tǒng)總體架構(gòu)分為數(shù)據(jù)采集層、數(shù)據(jù)存儲層、數(shù)據(jù)應(yīng)用層。數(shù)據(jù)采集層通過OPC接口進(jìn)行生產(chǎn)裝置的數(shù)據(jù)采集并傳入IP21實時數(shù)據(jù)庫;數(shù)據(jù)存儲層主要將采集的實時數(shù)據(jù)存儲到IP21的歷史庫中;數(shù)據(jù)應(yīng)用層主要對采集的實時數(shù)據(jù)和保存的歷史數(shù)據(jù)進(jìn)行基本應(yīng)用。統(tǒng)一接口設(shè)計思路為在數(shù)據(jù)應(yīng)用層進(jìn)行擴(kuò)充。在IP21提供的多種訪問接口中選定一種,對系統(tǒng)提供的訪問函數(shù)進(jìn)行優(yōu)化和封裝,對外統(tǒng)一發(fā)布,并提供賬戶驗證和日志等高級功2.1IP21實時數(shù)據(jù)庫接口類型IP21實時數(shù)據(jù)庫提供以下3種接口方式,可選擇一種合適的接口作為統(tǒng)一接口的底層接口。(1)API方式。InfoPlus.21API是Aspen官方提供的編程接口,利用API可以實現(xiàn)更多功能,使數(shù)據(jù)交換方式更自由。這種方式效率最高,需要AspenInfoPlus.21庫文件,開發(fā)人員需熟悉C++開發(fā)dll庫調(diào)用[4]。(2)ODBC方式。IP21實時數(shù)據(jù)庫提供了標(biāo)準(zhǔn)的ODBC接口,也提供SQL查詢語言,用戶可以將實時數(shù)據(jù)庫當(dāng)作一個標(biāo)準(zhǔn)的數(shù)據(jù)庫來使用。但這種方法速度較慢,適合于對關(guān)系數(shù)據(jù)庫比較熟練的用戶。使用時需要安裝Infoplus21的ODBC驅(qū)動。(3)OPC方式。因為大多數(shù)據(jù)庫和DCS使用API方式存取數(shù)據(jù),無法做到算法通用,為此工業(yè)監(jiān)控領(lǐng)域提出了一個標(biāo)準(zhǔn)的存取接口,即OPC。目前,已有超過200家廠商加入到OPC組織中。OPC存取接口中使用了COM/DCOM,這讓OPC只能在Windows下使用,效率不高。IP21也提供OPC接口供應(yīng)用程序調(diào)用,但并不適用于統(tǒng)一接口,通常用于多個IP21服務(wù)器之間的連接。2.2統(tǒng)一接口發(fā)布根據(jù)IP21在實際生產(chǎn)應(yīng)用中的需求,統(tǒng)一接口可發(fā)布兩種類型:一種為DLL動態(tài)鏈接庫文件,另一種是WebService服務(wù)。兩種接口的最佳應(yīng)用場景稍有不同,前者主要用在實時性要求很高、數(shù)據(jù)量很大的應(yīng)用中;后者則適應(yīng)于大部分應(yīng)用場景,并可跨平臺調(diào)用。2.3系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)圖1所示。通過建設(shè)實時數(shù)據(jù)庫統(tǒng)一接口,可實現(xiàn)上層應(yīng)用系統(tǒng)有序安全訪問實時數(shù)據(jù),為挖掘利用底層數(shù)據(jù)提供更好的支撐。圖1系統(tǒng)結(jié)構(gòu)3IP21實時數(shù)據(jù)庫統(tǒng)一接口實現(xiàn)按照統(tǒng)一接口設(shè)計思路,采用IP21API作為底層開發(fā)接口,封裝DLL和webservice兩級對外發(fā)布接口。就調(diào)用接口的應(yīng)用系統(tǒng)而言,實時性要求較高的可調(diào)用DLL封裝接口,其它情況可使用WebService接口。具體實現(xiàn)方法如下:3.1IP21API函數(shù)封裝IP21實時數(shù)據(jù)庫提供了一組數(shù)據(jù)訪問的API函數(shù),利用這些函數(shù)可以完成數(shù)據(jù)讀取等操作,但這些函數(shù)有的功能單一,有的調(diào)用參數(shù)過多,使用起來不方便。所以對API函數(shù)進(jìn)行了二次封裝,并發(fā)布到WebService上,以便其它系統(tǒng)可以更方便地訪問。IP21API是非托管代碼開發(fā)的DLL,在.net平臺下調(diào)用這些API需要知道該函數(shù)的名稱以及DLL名稱,然后為DLL的非托管函數(shù)編寫托管定義。主要有以下二次函數(shù),用于批量讀取歷史數(shù)據(jù)等功能,受篇幅限制只提供函數(shù)定義。publicstaticfloatReadActualsHistoryData(stringtag,DateTimetimeStamp,inttimeSpan)〃讀取某個位號某個時間點的歷史數(shù)據(jù)真實值publicstaticfloatReadHistoryData(stringtag,DateTimetimeStamp)〃讀取某個位號某個時間點的歷史數(shù)據(jù)估算值publicstaticfloatReadHistoryDataStoE(stringtag,DateTimetimeStamp,DateTimetimeStamp2)〃讀取某個位號某個時間段內(nèi)數(shù)據(jù)值,保存在數(shù)組中publicstaticfloatReadNowData(stringtag)〃讀取某個位號當(dāng)前值通過VisualStudio編譯類庫功能將這些函數(shù)編譯為DLL,在webservice對外發(fā)布中引用該DLL,調(diào)用其中方法[4]。以后其它程序需要訪問實時數(shù)據(jù)庫時可方便地調(diào)用。3.2Webservice對外發(fā)布采用WebService技術(shù)使運(yùn)行在不同機(jī)器上的不同應(yīng)用無需借助附加的、專門的第三方軟件或硬件就可相互交換數(shù)據(jù)或集成。.net平臺內(nèi)建立對WebService的支持,使用.net平臺開發(fā)WebService,并部署在IIS服務(wù)器上[5]。在WebService上部署以下函數(shù):publicfloatgetAnaLogTagValue(stringtagname,DateTimedt)〃讀取某個位號某個時間點的模擬數(shù)據(jù)publicfloatgetAnaLogTagValueList(stringtagname,DateTimedt,DateTimedt2,intperiod)〃讀取某個位號某個時間段內(nèi)規(guī)定時間間隔的模擬數(shù)據(jù)列表publicstringgetTextTagValue(stringtagname,DateTimedt)〃讀取某個位號某個時間點的文本數(shù)據(jù)publicstringgetTextTagValueList(stringtagname,DateTimedt,DateTimedt2)〃讀取某個位號某個時間段內(nèi)的文本數(shù)據(jù)列表。前兩個函數(shù)分別用來讀取模擬位號數(shù)據(jù)和批量讀取模擬位號數(shù)據(jù),后兩個函數(shù)用在讀取開關(guān)量文本數(shù)據(jù)和批量讀取開關(guān)量文本數(shù)據(jù)。3.3數(shù)據(jù)安全WebService發(fā)布在內(nèi)網(wǎng)中,供需訪問的應(yīng)用系統(tǒng)訪問。為保證發(fā)布到內(nèi)網(wǎng)的WebServices不被非法使用,在調(diào)用WebServices前需要進(jìn)行安全驗證。主要從以下幾個方面提高信息安全性:通過生產(chǎn)網(wǎng)防火墻上配置策略,只允許受信任的應(yīng)用服務(wù)器訪問生產(chǎn)控制網(wǎng)。禁用匿名訪問,啟用Windows集成驗證,在內(nèi)部活動目錄中為各應(yīng)用系統(tǒng)開通專用的通訊賬號,各個應(yīng)用使用賬號驗證訪問WebService。調(diào)用方式如下[6]:localhost.WebServiceip21ws=newlocalhost.WebService();CredentialCachecredentialCache=newCredentialCache();NetworkCredentialcredentials=newNetworkCredential("windows登錄用戶名”,”登錄密碼”);credentialCache.Add(newUri(ip21ws.Url),"NTLM”,credentials);ip21ws.Credentials=credentialCache(3)啟用IIS中的“IP地址和域名限制”功能,只對受信任的應(yīng)用服務(wù)器開放。(4)啟用IIS日志功能,并自定義目錄文件到非系統(tǒng)目錄下。(5)在webservice對外發(fā)布的方法中,增加訪問日志功能,記錄調(diào)用方法的AD賬號、IP地址、調(diào)用時間等信息。4結(jié)語采用WebService方式獲取IP21的數(shù)據(jù),開發(fā)成本較低,部署一臺服務(wù)器提供IP21取數(shù)服務(wù),就可實現(xiàn)整個網(wǎng)絡(luò)內(nèi)各應(yīng)用系統(tǒng)對IP21的數(shù)據(jù)集成。IP21統(tǒng)一訪問接口投用后,多個信息系統(tǒng)實現(xiàn)統(tǒng)一接入,實時數(shù)據(jù)庫訪問壓力減小,數(shù)據(jù)安全性和數(shù)據(jù)訪問效率得到提高。并且系統(tǒng)日志對每次訪問留有痕跡,出現(xiàn)問題后可以快速定位有問題的應(yīng)用系統(tǒng)。實時數(shù)據(jù)庫統(tǒng)一接口實現(xiàn)了上層應(yīng)用系統(tǒng)有序安全訪問實時數(shù)據(jù),為挖掘利用底層數(shù)據(jù)提供了支撐。參考文獻(xiàn):劉云生,李國徽實時數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)[J].計算機(jī)研究與發(fā)展,2004,42(2):30-36.王成光.流程工業(yè)實時數(shù)據(jù)庫數(shù)據(jù)管理模型設(shè)計[J].浙江大學(xué)學(xué)報,2013,37(2):135-136.張志檁.實時數(shù)據(jù)庫原理及應(yīng)用[M].北京.中國石化出版社,2001.劉云生.實時數(shù)據(jù)庫系統(tǒng)[M].北京:科學(xué)出版社,20

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論