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