梁爽 任杰 四川工程職業技術學院
嵌入式數據庫Sqlite在油田監控系統中的應用
梁爽 任杰 四川工程職業技術學院
基于嵌入式數據庫Sqlite的油田監控系統以B/S結構為基礎,以ASP.Net技術進行開發。該系統可以有效監督管理并儲存現場產生的各種數據,不同需求的用戶只需通過Web瀏覽器就可清晰地看到由遠程攝像頭拍攝的石油作業現場的各種視頻,并及時調控各項監控設備。在油田生產作業過程中,監控系統主要借助遠程攝像頭采集各種視頻數據,同時可以對數據進行及時的遠程訪問,使其快速在以太網中輸送,并可壓縮采集到的視頻數據,進而減少數據冗余。
嵌入式數據庫;油田監控系統;Sqlite;流程
基于嵌入式數據庫Sqlite的油田監控系統以B/S結構為基礎,以ASP.Net技術進行開發。該系統可以有效監督管理并儲存現場產生的各種數據,不同需求的用戶只需通過Web瀏覽器就可清晰地看到由遠程攝像頭拍攝的石油作業現場的各種視頻,并及時調控各項監控設備。
Sqlite作為一種易于管理、使用、維護及配置的嵌入式數據庫,不需實施安裝、管理,該數據庫儲存于單一文件系統中,可以支持多種計算機語言,并支持MaxOS,Linux,Windows,Unix等各種操作系統[1]。它的數據庫系統是免費的,可以在任何一款商業化產品中廣泛使用,沒有嚴格的版權約束。當不同需求的用戶在Sqlite官方網站上下載數據庫程序后,編譯包含應用程序接口的dll文件,其支持多數編程語言綁定運用,支持很多個系統平臺。
將Sqlite數據庫和目前常見的SQLServer與Or-acle數據庫進行對比發現,這種類型的數據庫不需獨自運行數據庫的驅動系統,可以靈活調用不同類型的API數據存取流程。它的數據庫較小,但數據存儲性能佳,存取速度快,是Mysql的1~2倍,能夠存儲大量數據,并支持2TB數據存儲。可作為ASP.Net的服務器端口數據儲存方案,也可用于嵌入式移動設備或者桌面應用程序上的數據存儲。Sqlite的體積小、操作簡單、運行穩定,與復雜的商業數據引擎相比,其更易于維護管理。
在油田生產作業流程中,監控系統主要借助遠程攝像頭采集各種視頻數據,同時可以對數據進行及時的遠程訪問,使其快速在以太網中輸送,并可壓縮采集到的視頻數據,進而減少數據冗余。
用型號為ARM9下位機控制攝像頭來收集各種視頻數據,然后對于采集到的不同數據實施一定程度的壓縮編碼,通過以太網將不同種類的數據輸入油田監控中心系統。在這個系統中快速地顯示出不同解碼,最后將監控系統中的數據輸入Sqlite數據庫進行儲存[2-3]。若遠程用戶必須利用Web訪問從而控制整個流程,那么各個服務器的端口則需要參照不同瀏覽器提交的相關信息,檢索出符合用戶要求的各種類型數據信息,再通過TCP/IP協議將信息輸入客戶端的瀏覽器內部。下位機包括一個以ARM9芯片為中心的微型數據處理器,而不同的下位機所對應的端口、IP不同,在遠程系統中由IP地址、端口控制下位機上面的資源。除此之外,油田監控系統還包括IIS服務器,不同用戶終端瀏覽器,采集視頻的端攝像頭等。
3.1 組建Sqlite數據庫
這種類型的數據庫系統內部只帶有一個命令類型工具,結構簡單,采用Sqlite3版本系統。借助Sqlite3版本可以手工輸入Sqlite數據庫所需數據,然后操控SOL命令。可按照以下2種方法組建Sqlite數據庫:①登錄互聯網,在Sqlite官方網站中下載Sqlite最新發行的版本,通過解壓構建數據庫系統;②打開互聯網cmd窗口,按照網絡提示要求轉移至Sqlite3.exe目錄體系中,按照Sqlite3版本系統的各種不同命令指示符號,輸入abc.db3并回車構建以此為名稱的數據庫。創建數據表主要借助createtable命令進行。
3.2 將Sqlite數據庫應用于油田監控系統
在油田監控系統中,通常用2008版本的VisualC#作為整套編程程序的開發工具。借助Sqlite官方系統提出的版本適合C語言及C++語言所用的動態鏈接庫,在具體開發過程中添加相關引用,動態鏈接庫中封裝函數以此為工具調試。
用已經開發好的VisualC#.Net網站系統把數據庫和IIS服務器對接,然后將不同類型的虛擬目錄設計的網站名稱加入其中,對于配置完好的網站需將其放入相關服務器的物理路徑系統中,確保安全訪問。對MIME類型進行定義,并重新啟動IIS服務器,用戶直接通過瀏覽器就能訪問網站。
采集數據流程主要包括數據采集、處理模塊,數據保存模塊,LCD模塊以及鍵盤模塊。其中數據采集模塊主要依照用戶事先設定的控制參數采集外部信號,然后將其送至處理模塊。數據處理模塊對采集到的所有數據實施數字濾波,并將濾波后的數據儲存到公共數據緩沖區域。LCD模塊將公共數據緩沖區域的各種數據遵照用戶所需格式顯示出來,最后由保存模塊負責將緩沖區域的數據存放至Sqlite數據庫里。鍵盤模塊能夠便于不同類型的用戶在現場控制設備,且合理設計采集到的各種參數。
網絡服務流程主要由WebServer與CGI程序兩部分組成,其中前者在后臺運行過程中守護整個流程,并及時監聽來源于網絡系統的客戶需求。用戶利用IE瀏覽器向所在地系統發出相關請求,然后啟動CGI流程,將相關請求轉變成服務器可以識別的形式,處理Sqlite數據庫中的各種數據,利用Http應答消息輸送至客戶端,實現客戶端和本次系統的相互操作。
將嵌入式數據庫Sqlite應用于油田監控系統中,解決了以往商業數據庫系統開發存在較大難度、維護困難及價格貴的問題。因為Sqlite數據庫用起來十分簡單,不需專業化數據庫對引擎實施管理,并且整體性能平穩,運行速度快,能夠滿足油田監控體系對各種數據管理的需求。
[1]李原.嵌入式數據庫Sqlite在油田監控系統中的應用[J].武漢工業學院學報,2011,8(12):168-170.
[2]陳曉東,曹奇英.嵌入式數據庫Sqlite的遠程可視化維護管理工具的設計與實現[J].計算機應用與軟件,2011,3(8):116-118.
[3]周洪義.油氣田地面工程事故控制體系的模糊綜合評價[J].油氣田地面工程,2013,32(8):7-8.
(欄目主持 楊軍)
10.3969/j.issn.1006-6896.2014.11.014