祖利輝
摘要:嵌入式數(shù)據(jù)庫應用范圍比較廣泛,文章對嵌入式數(shù)據(jù)庫的環(huán)境開發(fā)進行分析,同時介紹其主要的構(gòu)成模塊,并對各模塊的作用進行分析。與此同時,從技術(shù)優(yōu)勢、任務功能執(zhí)行、其他功能三個角度入手,對嵌入式數(shù)據(jù)庫在工業(yè)控制系統(tǒng)中的應用進行探討。
關(guān)鍵詞:工業(yè)控制系統(tǒng);嵌入式數(shù)據(jù)庫;編程語言
0 引言
嵌入式技術(shù)發(fā)展速度比較快,為嵌入式數(shù)據(jù)庫的應用創(chuàng)造良好條件,與將其運用到工業(yè)控制系統(tǒng)中,可提高工業(yè)生產(chǎn)控制效果。與My SQL通用數(shù)據(jù)庫不同,不僅能夠在嵌入式硬件上運行,同時也可在多種移動設備上運行。從目前實際應用層面看,依托于SQLite的嵌入式數(shù)據(jù)庫,能夠?qū)崿F(xiàn)系統(tǒng)數(shù)據(jù)的收集、查詢及存儲等功能,不僅能夠發(fā)揮組織內(nèi)部數(shù)據(jù)的功能,還能進一步確保數(shù)據(jù)的使用效率,提高數(shù)據(jù)通信有效性。與此同時,通過嵌入式數(shù)據(jù)庫的運用,還能為工業(yè)控制系統(tǒng)多種功能的拓展提供一定便利,進而實現(xiàn)數(shù)據(jù)共享。
1 環(huán)境開發(fā)
對于嵌入式系統(tǒng),其主要采用的編程語言包括Visual C++、C語言等,硬件設備則包括 微處理器、I/O通信板卡、ARM 單片機等,是集成化程度比較高的資源共享系統(tǒng),對數(shù)據(jù)進行多種處理,如采集、保存、運輸?shù)?。將上述硬件設備應用到嵌入式系統(tǒng)中,同時配合使用數(shù)據(jù)庫信息管理技術(shù),能夠為開發(fā)出基于數(shù)據(jù)管理的算法控制指令以及程序功能,從而保證通信設備結(jié)構(gòu)、外部網(wǎng)絡傳感器之間的互聯(lián)互通,從而更好的響應用戶需求[1]。通過上述分析認為,在進行嵌入式系統(tǒng)開發(fā)過程中,要關(guān)注數(shù)據(jù)庫信息管理模塊的運行環(huán)境,從而及時掌握整個控制系統(tǒng)計算機、網(wǎng)絡、通信設備之間是否正確連接,分析連接狀態(tài),從而使其更加滿足工業(yè)控制系統(tǒng)的要求,在特定環(huán)境中發(fā)揮重要作用,該系統(tǒng)運行環(huán)境特征主要包括:
(1)移動設備連接環(huán)境:要想充分保證嵌入式數(shù)據(jù)庫系統(tǒng)發(fā)揮自身作用,需要“信息管理模塊”的支持,并且將其與移動設備、計算機等進行連接。為此在開發(fā)設計時要構(gòu)建設備連接環(huán)境,從使用情況看,移動設備連接環(huán)境不占有太多空間,僅通過API 函數(shù)以及HTTP接口就可以實現(xiàn),一定程度上簡化了連接條件,為系統(tǒng)提供信息服務支撐[2]。
(2)網(wǎng)絡通信環(huán)境:基于嵌入式數(shù)據(jù)庫的工業(yè)控制系統(tǒng),其對于網(wǎng)絡通信環(huán)境的要求主要為提供對稱性通信環(huán)境,這是因為嵌入式數(shù)據(jù)庫要想最終的數(shù)據(jù)共享,需要保證數(shù)據(jù)組織、傳輸?shù)膶崟r性,因此在開發(fā)信息管理模塊運行環(huán)境時,要關(guān)注后臺數(shù)據(jù)庫和網(wǎng)絡服務器與用戶端的連接。對稱的網(wǎng)絡通信環(huán)境設計,能夠確保嵌入式數(shù)據(jù)庫上行和下行通信載體為同一個寬帶,并對網(wǎng)絡服務器與移動設備之間的網(wǎng)絡延遲情況加以規(guī)范和控制,使數(shù)據(jù)共享功能更加完善,提高數(shù)據(jù)處理速度,實現(xiàn)安全存儲。
2 組成模塊
嵌入式數(shù)據(jù)庫系統(tǒng)組成比較復雜,主要包括嵌入式數(shù)據(jù)庫、主數(shù)據(jù)庫管理系統(tǒng)、同步服務器、 數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫應用程序、連接網(wǎng)絡等。
(1)嵌入式數(shù)據(jù)庫系統(tǒng):嵌入式數(shù)據(jù)庫系統(tǒng)與主數(shù)據(jù)庫管理系統(tǒng)、同步服務器之間一般是獨立的模塊,各組成模塊正確連接后,即可對數(shù)據(jù)進行集中管理,不僅能夠提高數(shù)據(jù)收集的效率,還能對數(shù)據(jù)進行篩選,然后傳輸,確保數(shù)據(jù)安全儲存,實現(xiàn)數(shù)據(jù)的共享等。同時,利用同步服務器連接主數(shù)據(jù)庫管理系統(tǒng),接收主數(shù)據(jù)庫所下達的操作指令,并予以相應,從而實現(xiàn)信息的同步[3]。
(2)同步服務器:其主要作用在于發(fā)揮“樞紐”作用,保證其他模塊的連接,同時也能夠確保數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)(結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù))的實時同步。不僅如此,通過同步服務器,還能實現(xiàn)數(shù)據(jù)遷移和歸檔,保證數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)和信息的一致性。
(3)主數(shù)據(jù)庫管理系統(tǒng):設置該系統(tǒng)的主要目的在于利用數(shù)據(jù)服務器自身所具備的功能模塊,對數(shù)據(jù)進行相應的處理,如數(shù)據(jù)存取、信息驗證、數(shù)據(jù)歸檔等。My SQL、Sybase以及Oracle等均是比較典型的主數(shù)據(jù)庫管理系統(tǒng)。
(4)通信網(wǎng)絡:嵌入式數(shù)據(jù)庫系統(tǒng)中各組成部分通常采用過一定的網(wǎng)絡連接裝置,通過通信網(wǎng)絡,實現(xiàn)計算機、移動設備與服務器的連接[4]。一般來說,嵌入式數(shù)據(jù)庫通信網(wǎng)絡需要借助無線局域網(wǎng)、紅外裝置以及通用串行總線等發(fā)揮功能。
3 嵌入式數(shù)據(jù)庫在工業(yè)控制系統(tǒng)中的應用
3.1技術(shù)優(yōu)勢
基于嵌入式數(shù)據(jù)庫的信息管理模塊,在實際應用過程中,其技術(shù)優(yōu)勢主要體現(xiàn)在保證數(shù)據(jù)傳輸?shù)母咝院鸵恢滦砸约疤岣邤?shù)據(jù)安全。
(1)數(shù)據(jù)傳輸一致性:在嵌入式數(shù)據(jù)庫中,用于同步服務器和移動終端的連接,需要保持高度的一致性,才能確保數(shù)據(jù)的正確傳輸。為確保數(shù)據(jù)通信環(huán)境的安全和高效創(chuàng)建,需要分布式數(shù)據(jù)共享的支持,同時利用特定算法,使其具有高帶寬、低延遲的特點。用戶在此基礎上訪問數(shù)據(jù)庫系統(tǒng)中的相應服務器,對數(shù)據(jù)進行查詢。在這個過程中,主要是利用協(xié)調(diào)傳輸協(xié)議來確保數(shù)據(jù)傳輸?shù)囊恢滦浴?/p>
(2)數(shù)據(jù)處理更高效:在進行數(shù)據(jù)處理或信息事務請求時,如果采用嵌入式數(shù)據(jù)庫,會顯著提升事務處理效率,這是因為嵌入式數(shù)據(jù)庫能夠結(jié)合數(shù)據(jù)傳送、接收的實時順序,確定好數(shù)據(jù)信息事務請求信息的優(yōu)先級。例如,對于信息事務(小范圍空間),采用嵌入式數(shù)據(jù)庫,系統(tǒng)會優(yōu)先處理網(wǎng)絡響應速度更快的請求,根據(jù)實際需要,智能化決定是否進行數(shù)據(jù)遷移、存儲等[5]。除此之外,嵌入式數(shù)據(jù)庫還能根據(jù)系統(tǒng)內(nèi)部數(shù)據(jù)傳輸量確定如何操作,如上載及下載操作,并且記錄整個過程,根據(jù)記錄結(jié)果,最后用日志文件形式加以存儲。
(3)提高數(shù)據(jù)安全性:手機、網(wǎng)絡計算機等均屬于嵌入式設備,其使用過程中往往存在小范圍移動性,也就是非固定的工作環(huán)境,一定程度上會增加潛在的運行風險。SQLite嵌入式數(shù)據(jù)庫是實現(xiàn)系統(tǒng)中不同種類數(shù)據(jù)資源管理的關(guān)鍵,不僅對外部用戶系統(tǒng)訪問權(quán)限進行嚴格控制,同時限制數(shù)據(jù)信息存取。對于移動用戶終端,SQLite數(shù)據(jù)庫能夠及時認證訪問權(quán)限、加密數(shù)據(jù)等,防止數(shù)據(jù)被篡改,也避免數(shù)據(jù)丟失,最大程度上保證數(shù)據(jù)的安全性。
3.2任務功能執(zhí)行
基于SQLite技術(shù)的嵌入式數(shù)據(jù)庫系統(tǒng),可提高系統(tǒng)運行效率,該系統(tǒng)在執(zhí)行任務時,主要分為兩個方面,一是對前端任務響應準確分析,二是對后端程序的調(diào)用。
(1)前端任務相應分析:系統(tǒng)在對前端任務的響應情況進行分析時,需要配合預處理器的使用,兩者協(xié)同完成“SQL語句”的收集,并對“SQLite命令”代碼進行識別,然后對數(shù)據(jù)進行轉(zhuǎn)化,為后端應用提供方便。在此過程中,要利用“HTMLPasser”來對“SQL語句”字節(jié)進行獲取,以“字符串”形式予以標記,最終生成編碼字節(jié),執(zhí)行虛擬機任務。
(2)后端程序調(diào)用:嵌入式數(shù)據(jù)庫主要是通過數(shù)據(jù)處理任務的執(zhí)行來實現(xiàn)后端程序調(diào)用的,包括數(shù)據(jù)收集、數(shù)據(jù)組織、數(shù)據(jù)傳輸?shù)冗^程。在對后端程序進行調(diào)用時,利用SQLite技術(shù),數(shù)據(jù)庫會形成“B/B+樹”數(shù)據(jù)存儲模塊。也就是說,對數(shù)據(jù)元組集進行科學排列,構(gòu)建樹狀結(jié)構(gòu),將數(shù)據(jù)信息、索引等相關(guān)內(nèi)容存儲在結(jié)構(gòu)域中。與此同時,嵌入式數(shù)據(jù)庫磁盤中,基于SQLite關(guān)系的系統(tǒng),具有頁面調(diào)度功能,能夠及時調(diào)用樹形結(jié)構(gòu)中的數(shù)據(jù)、信息、資料、文件。針對某個移動端的訪問進行及時響應,突出不同數(shù)據(jù)的屬性[6]。此外,后端程度調(diào)用功能還能提供相對統(tǒng)一的接口,實現(xiàn)不同數(shù)據(jù)庫之間的數(shù)據(jù)共享。
3.3其他功能執(zhí)行
移動客戶端(外部)在進行數(shù)據(jù)訪問時,可實現(xiàn)平行讀取,這是因為嵌入式數(shù)據(jù)庫具有多進程特征,同時兼顧多線程特點。經(jīng)過上述處理后,數(shù)據(jù)讀取的效率會明顯提高,為工業(yè)控制系統(tǒng)自由讀取數(shù)據(jù)提供有力支持。
結(jié)束語
綜上所述,現(xiàn)階段嵌入式數(shù)據(jù)庫大量運用,更具 SQLite 嵌入式數(shù)據(jù)庫技術(shù)被廣泛應用在工業(yè)控制系統(tǒng)中,對于SQLite 嵌入式數(shù)據(jù)庫而言,其使用優(yōu)勢比較多,不僅能夠?qū)崿F(xiàn)跨平臺,還具有易移植性,能夠?qū)崟r進行交互,從而滿足用戶動態(tài)管理需要。文章結(jié)合實踐工作經(jīng)驗,提出嵌入式數(shù)據(jù)庫在工業(yè)控制系統(tǒng)設計中的應用,并且基于SQLite技術(shù)對系統(tǒng)進行改進,從而進一步對工業(yè)控制系統(tǒng)進行完善。在具體實踐中,不僅要滿足用戶對自動控制系統(tǒng)的實際需要,也要對嵌入式數(shù)據(jù)庫程序的響應時間加以關(guān)注,不斷提升運行效率,并且對成本進行控制,為工業(yè)控制系統(tǒng)穩(wěn)定運行發(fā)揮更多實際作用。
參考文獻
[1]徐海燕.艦船導航系統(tǒng)嵌入式數(shù)據(jù)庫信息可視化調(diào)度方法[J].艦船科學技術(shù),2021,43(24):82-84.
[2]張春坡.黑岱溝露天煤礦工業(yè)控制網(wǎng)絡安全防護技術(shù)研究與應用[J].煤炭工程,2021,53(S1):144-148.
[3]景子奇,鄒兆年.嵌入式數(shù)據(jù)庫SQLite上多版本并發(fā)控制的設計與實現(xiàn)[J].計算機應用,2022,42(01):140-147.
[4]王國飛,李質(zhì)建.基于Web Service嵌入式數(shù)據(jù)庫同步更新解決方案[J].電腦知識與技術(shù),2020,16(20):51-52.
[5]張東晨,李文新.BM3803的嵌入式數(shù)據(jù)庫系統(tǒng)移植和應用研究[J].單片機與嵌入式系統(tǒng)應用,2019,19(01):45-49.
[6]肖賀,薛鳴方,行鴻彥.嵌入式數(shù)據(jù)庫在自動氣象站中的應用研究[J].電子測量與儀器學報,2018,32(10):197-202.