宮護(hù)震
(1.西安理工大學(xué) 計算機科學(xué)與工程學(xué)院,陜西 西安 710048;2.陜西國防工業(yè)職業(yè)技術(shù)學(xué)院 計算機與軟件學(xué)院,陜西 西安 710302)
實時數(shù)據(jù)庫是自動化系統(tǒng)的核心,也是新一代系統(tǒng)標(biāo)準(zhǔn)化和組件化的關(guān)鍵技術(shù)之一[1],其基礎(chǔ)功能包括數(shù)據(jù)儲存、數(shù)據(jù)查詢和訪問控制[2]。
目前,國內(nèi)的有關(guān)學(xué)者應(yīng)用實時數(shù)字仿真系統(tǒng)(real time digital simulation system,RTDS)與ADSC機制相結(jié)合的方式設(shè)計了實時數(shù)據(jù)庫的分布式存儲方法[3],將主動機制加到實時數(shù)據(jù)庫中,在實時數(shù)據(jù)庫中有規(guī)律性地對實時數(shù)據(jù)進(jìn)行分布式存儲,并利用PLC的選擇性控制儲存過程。文獻(xiàn)[4]設(shè)計了一種應(yīng)用遺傳算法和實時數(shù)據(jù)庫規(guī)則結(jié)合的數(shù)據(jù)庫查詢優(yōu)化方案,在分析嵌入式實時數(shù)據(jù)系統(tǒng)的基礎(chǔ)上,建立實時數(shù)據(jù)查詢處理系統(tǒng),并基于內(nèi)存數(shù)據(jù)庫建立RTQP關(guān)系系統(tǒng)實現(xiàn)查詢處理。文獻(xiàn)[5]基于量化行為的實時數(shù)據(jù)庫備份系統(tǒng)訪問控制模型則引入了量化屬性及信任度的概念,使用量化函數(shù)動態(tài)量化數(shù)據(jù)屬性,并為訪問行為分配相應(yīng)的信任度,從而判斷是否將特定權(quán)限授權(quán)給該訪問行為。
隨著數(shù)據(jù)儲存、數(shù)據(jù)查詢和訪問控制技術(shù)的革新,實時數(shù)據(jù)庫的儲存和管理能力也在不斷增強,一種應(yīng)用組態(tài)軟件的實時數(shù)據(jù)庫得以廣泛應(yīng)用。組態(tài)軟件是一種能夠?qū)?shù)據(jù)進(jìn)行監(jiān)測、控制與處理的系統(tǒng)開發(fā)工具,用戶在應(yīng)用過程中需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行快速提取與識別,提升系統(tǒng)的運行效率[6]。由于組態(tài)軟件的數(shù)據(jù)體系較為龐大,用戶在應(yīng)用的過程中僅僅依靠組態(tài)軟件的本身運行能力已經(jīng)難以滿足對數(shù)據(jù)的提取需求。因此,相關(guān)的數(shù)據(jù)定位算法應(yīng)運而生。
文獻(xiàn)[7]在極大似然估計的基礎(chǔ)上,將主動探測與被動截獲協(xié)同過程相結(jié)合,對數(shù)據(jù)展開融合定位。文獻(xiàn)[8]首先計算初始錨點與定位目標(biāo)數(shù)據(jù)的距離,然后利用加速度計和陀螺儀解算姿態(tài)陣和位置,結(jié)合無跡卡爾曼濾波器實現(xiàn)數(shù)據(jù)融合定位。然而上述算法主要通過周期性的操作對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行定位,需借助判斷控制才能實現(xiàn)定位,導(dǎo)致最終的數(shù)據(jù)定位效果差。文獻(xiàn)[9]基于數(shù)據(jù)庫隱蔽數(shù)據(jù)密度分析結(jié)果,利用增量子空間數(shù)據(jù)挖掘算法計算數(shù)據(jù)流之間的相關(guān)度,從而獲取待定位的數(shù)據(jù),再采用融合異構(gòu)異質(zhì)定位方法將數(shù)據(jù)信息轉(zhuǎn)換到相同的區(qū)域內(nèi)實現(xiàn)信息融合,再結(jié)合蜂窩融合定位算法實現(xiàn)數(shù)據(jù)高效定位。然而在該算法的實現(xiàn)過程中,各步驟難以獨立運行,導(dǎo)致該算法在運行過程中需要耗費大量的空間資源。
為此,本文基于Web設(shè)計了新的組態(tài)軟件實時數(shù)據(jù)庫快速數(shù)據(jù)定位算法,旨在改善傳統(tǒng)定位算法中存在的定位效果差、運行空間不足的問題。
若想實現(xiàn)組態(tài)軟件實時數(shù)據(jù)庫快速數(shù)據(jù)定位,首先要解決數(shù)據(jù)的采集問題。只有具備一定量的數(shù)據(jù)儲存才能夠?qū)崿F(xiàn)快速數(shù)據(jù)定位的功能。
數(shù)據(jù)采集指標(biāo)主要根據(jù)組態(tài)軟件實時數(shù)據(jù)庫的吞吐量和數(shù)據(jù)傳輸?shù)钠胶庑阅茉O(shè)定,2個影響因素與數(shù)據(jù)傳輸協(xié)議之間存在著密切關(guān)聯(lián)性。因此,在數(shù)據(jù)快速采集網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的基礎(chǔ)上,為了提升數(shù)據(jù)采集指標(biāo)的精準(zhǔn)度與快捷性,應(yīng)用S-XNQ2數(shù)據(jù)采集協(xié)議對數(shù)據(jù)進(jìn)行分配和采集。S-XNQ2數(shù)據(jù)采集協(xié)議能夠快速將數(shù)據(jù)中的信息劃分為多幀的形式,在便于數(shù)據(jù)傳輸?shù)耐瑫r,還能夠以周期性的形式間接從數(shù)據(jù)庫中提取數(shù)據(jù),從而減少數(shù)據(jù)采集的能耗和對系統(tǒng)空間資源的占用率[10]。然后將多幀數(shù)據(jù)打包分配給傳輸平臺,再將數(shù)據(jù)資源以最小量的形式分配給不同的網(wǎng)絡(luò)鏈路,避免因鏈路擁塞而降低數(shù)據(jù)采集的速度。
在Web環(huán)境下,組態(tài)軟件實時數(shù)據(jù)庫數(shù)據(jù)采集過程常出現(xiàn)吞吐量不平衡的現(xiàn)象[11-12]。為解決這一問題,本文利用MKL-30算法降低數(shù)據(jù)采集過程的不平衡程度。MKL-30算法在實時數(shù)據(jù)庫中建立通信協(xié)議,應(yīng)用通信協(xié)議向數(shù)據(jù)包傳達(dá)數(shù)據(jù)調(diào)度指令,使數(shù)據(jù)有更多的機會接觸到不同采集途徑,并隨著網(wǎng)絡(luò)節(jié)點的移動而改變快速數(shù)據(jù)的儲存地點,進(jìn)而有效平衡了數(shù)據(jù)在實時數(shù)據(jù)庫中的儲存位置。疏散密度較高的儲存位置后,可使實時數(shù)據(jù)庫中的數(shù)據(jù)吞吐量逐漸恢復(fù)至平衡狀態(tài)。MKL-30算法主要通過建立網(wǎng)絡(luò)節(jié)點的效用函數(shù)來實現(xiàn),并引入拉格朗日變換原理計算數(shù)據(jù)在組態(tài)軟件實時數(shù)據(jù)庫中的平衡采集規(guī)律。效用函數(shù)F可表示為
F=?vL/n
(1)
式中:L為網(wǎng)絡(luò)中數(shù)據(jù)幀的長度;?為效用函數(shù)在不同快速數(shù)據(jù)采集鏈路中的參數(shù),且?∈(0,1];v為不同鏈路中數(shù)據(jù)傳輸?shù)钠骄俾剩籲為數(shù)據(jù)采集鏈路數(shù)量,且n=1,2,…,i。在此基礎(chǔ)上,利用效用函數(shù)得到組態(tài)軟件實時數(shù)據(jù)庫中的數(shù)據(jù)采集結(jié)果X,可表示為
(2)
式中:s為網(wǎng)絡(luò)節(jié)點數(shù)量;Xn為鏈路中待采集的數(shù)據(jù)。根據(jù)式(2)可以計算出網(wǎng)絡(luò)鏈路中數(shù)據(jù)采集的效用函數(shù),據(jù)此實現(xiàn)數(shù)據(jù)采集,可有效節(jié)省數(shù)據(jù)采集過程的運行空間,減小對系統(tǒng)資源的占用率。
組態(tài)軟件實時數(shù)據(jù)庫能夠為用戶提供數(shù)據(jù)采集、數(shù)據(jù)提取、數(shù)據(jù)儲存等服務(wù),以Web形式向?qū)崟r數(shù)據(jù)庫中發(fā)送的數(shù)據(jù)可表現(xiàn)為圖片、文字、音頻等多種格式。同時,組態(tài)軟件實時數(shù)據(jù)庫還為用戶提供數(shù)據(jù)訪問端口等服務(wù),支持實時數(shù)據(jù)庫數(shù)據(jù)的恢復(fù)、備份等操作,滿足各行業(yè)對數(shù)據(jù)高容量的需求[13-14]。
在Web環(huán)境下,組態(tài)軟件實時數(shù)據(jù)庫必須具備數(shù)據(jù)部署靈活、數(shù)據(jù)層次清晰等功能。為了對實時數(shù)據(jù)庫中的數(shù)據(jù)展開快速定位,必須要分析數(shù)據(jù)特征及其運行流程[15-17]。首先,采用TCP協(xié)議實時壓縮并傳輸數(shù)據(jù),節(jié)省數(shù)據(jù)提取的過程中所占用的網(wǎng)絡(luò)內(nèi)存,最后,應(yīng)用網(wǎng)絡(luò)數(shù)據(jù)訪問端口初步分析實時數(shù)據(jù)庫中現(xiàn)存的數(shù)據(jù)類型,根據(jù)數(shù)據(jù)的不同類型選擇相應(yīng)的數(shù)據(jù)壓縮方式與傳輸途徑。
組態(tài)軟件實時數(shù)據(jù)庫中數(shù)據(jù)共包括4種特征類型,分別為Int32(形式為儲存符號,幀長為1 B)、Int64(其中不含符號,幀長為6 B)、Bolb(形式為字符格式,幀長為8 B)、Strting(用于數(shù)據(jù)儲存,幀長為500 B)。在確定數(shù)據(jù)的類型后可以實現(xiàn)對數(shù)據(jù)的精準(zhǔn)查找與統(tǒng)計,用戶可以查詢的形式向組態(tài)軟件發(fā)送查詢請求,實時數(shù)據(jù)庫做出相關(guān)反應(yīng)并對查詢信息進(jìn)行同步備份,并保存查詢記錄。為有效實現(xiàn)數(shù)據(jù)備份,應(yīng)用專業(yè)的備份軟件Veritas,根據(jù)實時數(shù)據(jù)庫資源基礎(chǔ)制定相應(yīng)的備份流程。Veritas備份軟件工作原理簡單、運行穩(wěn)定性高,還能夠?qū)崿F(xiàn)數(shù)據(jù)逆方向備份,將目標(biāo)數(shù)據(jù)直接儲存到實時數(shù)據(jù)庫中并完成格式轉(zhuǎn)換。
在Web環(huán)境下,為實現(xiàn)對組態(tài)軟件實時數(shù)據(jù)庫中數(shù)據(jù)的快速定位,本文設(shè)計鏈路測距定位算法來降低節(jié)點之間的鏈路距離,通過坐標(biāo)的變化來簡化傳統(tǒng)的距離測量算法,構(gòu)造新型的距離測量矩陣與序列[18-19],再通過減小測量距離的誤差來提高定位精確度,使得數(shù)據(jù)通過最短鏈路從而實現(xiàn)數(shù)據(jù)定位。
假設(shè)基于Web的組態(tài)軟件中具有A個網(wǎng)絡(luò)節(jié)點,分別為A1,A2,A3,…,AI,…,AN,網(wǎng)絡(luò)節(jié)點均位于三維空間坐標(biāo)中,節(jié)點中數(shù)據(jù)的標(biāo)識可以被其他系統(tǒng)的硬件設(shè)備快速檢測到,能夠存在于所有具備坐標(biāo)矩陣的數(shù)據(jù)檢測器序列中。數(shù)據(jù)檢測器測得的節(jié)點距離即為節(jié)點自身位置與檢測器位置間的距離。三維空間中的矩陣能夠從不同的角度獲取同一節(jié)點到另一節(jié)點之間的距離,通過獲取其平均值來縮小單獨測量距離的誤差[20-21]。對數(shù)據(jù)的精準(zhǔn)定位需要提取節(jié)點中的信息,并集中到下一個網(wǎng)絡(luò)節(jié)點,在這個集合了大量數(shù)據(jù)的節(jié)點中實現(xiàn)快速數(shù)據(jù)定位。在三維空間中將所有的節(jié)點平移,假設(shè)坐標(biāo)系中的坐標(biāo)原點為x0,快速數(shù)據(jù)檢測器的數(shù)量為M,則網(wǎng)絡(luò)節(jié)點中數(shù)據(jù)之間的評價距離D可表示為
D=[(dAN-AN-1+dAN-1-AN-2+…+dA3-A2+
dA2-A1-x0)N]/M
(3)
由于測量距離結(jié)果存在誤差,因此需要在三維坐標(biāo)系中快速將數(shù)據(jù)中的相關(guān)性向高維空間擴展,方便融入大量的實時數(shù)據(jù)。為此,取不同類型的數(shù)據(jù)特征值進(jìn)行特征向量對比,從而確定數(shù)據(jù)在高維坐標(biāo)系中的相對位置[22],為最終的數(shù)據(jù)定位奠定基礎(chǔ)。
綜上,得到數(shù)據(jù)定位流程如下:將數(shù)據(jù)資源分配到數(shù)據(jù)采集網(wǎng)絡(luò)鏈路、測量數(shù)據(jù)距離、獲取平均誤差、高維空間擴展、特征對比、確定數(shù)據(jù)相對位置。
實驗過程中,需判斷節(jié)點測距技術(shù)接收到的信號強弱程度,利用信號的強弱程度改變節(jié)點測距的測量范圍。本文基于Matlab平臺完成實驗,并采用26 GHz射頻數(shù)據(jù)處理芯片。設(shè)定組態(tài)軟件實時數(shù)據(jù)庫的運行電流損耗為32 mA,數(shù)據(jù)提取的過程中電流損耗為30 mA。在實驗過程中,網(wǎng)絡(luò)節(jié)點的距離平均值會隨著實時數(shù)據(jù)庫中信道傳輸質(zhì)量的改變而改變,如圖1所示為節(jié)點距離與信道質(zhì)量的關(guān)系(信道質(zhì)量可通過信號強度來表示)。
圖1 節(jié)點距離與信道質(zhì)量的關(guān)系圖Fig.1 Relationship between node distance and channel quality
一般來說,隨著節(jié)點間距離的增加,信號強度會有所減弱,信道質(zhì)量也會隨之減弱。從圖1可以看出,本次實驗中,節(jié)點距離與信道質(zhì)量的關(guān)系接近于理想值,可保證實驗結(jié)果的有效性。
實驗過程中的網(wǎng)絡(luò)節(jié)點與三維空間中的檢測器存在著脈動波動信號,檢測器與范圍內(nèi)的節(jié)點距離越遠(yuǎn),則兩者信道之間產(chǎn)生的脈沖信號越弱。該實驗在以節(jié)點為中心的1 m2、2 m2、3 m2范圍內(nèi)的信號強度進(jìn)行測量,周期性地識別檢測器內(nèi)部信號格式的變化情況。如圖2所示為不同范圍內(nèi)的節(jié)點脈沖信號隨時間的變化而發(fā)生的波動。
(a)1 m2范圍內(nèi)波動圖
(b)2 m2范圍內(nèi)波動圖
(c)3 m2范圍內(nèi)波動圖圖 2 節(jié)點脈沖信號隨時間變化的波動圖Fig.2 The fluctuation diagram of the node pulse signal changing with time
根據(jù)圖2可知,不同范圍內(nèi)的節(jié)點脈沖信號隨時間的變化而發(fā)生的波動較為平穩(wěn),信號強度基本維持在25 dBm左右,可保證實驗結(jié)果的有效性。
在上述環(huán)境設(shè)定及檢驗的基礎(chǔ)上,設(shè)組態(tài)軟件實時數(shù)據(jù)庫的整體范圍在20 m×20 m區(qū)域內(nèi),在數(shù)據(jù)庫輻射區(qū)域內(nèi)隨機標(biāo)記20個待定位數(shù)據(jù)節(jié)點,利用本文算法對其展開快速定位。
為避免實驗結(jié)果的單一性,將傳統(tǒng)的基于主動探測與被動截獲協(xié)同的數(shù)據(jù)融合定位算法和基于無跡卡爾曼濾波的數(shù)據(jù)融合定位算法作為對比算法,與本文算法共同完成性能驗證,得到相同時間內(nèi),不同算法對標(biāo)記數(shù)據(jù)的定位結(jié)構(gòu)如圖3所示。圖3中,紅色圓圈代表有效定位的數(shù)據(jù),綠色圓圈代表未能準(zhǔn)確定位的數(shù)據(jù)。
(a)本文算法
(b)基于主動探測與被動截獲協(xié)同的算法
(c)基于無跡卡爾曼濾波的算法圖 3 不同算法的數(shù)據(jù)有效定位數(shù)量比較Fig.3 Comparison of effective location quantity of data under different algorithms
從圖3可以看出,在相同的運行時間內(nèi),本文算法能夠有效定位標(biāo)記18個數(shù)據(jù)節(jié)點,而基于主動探測與被動截獲協(xié)同的算法和基于無跡卡爾曼濾波的算法分別標(biāo)記了12、10個數(shù)據(jù)節(jié)點。這是因為本文算法應(yīng)用了專業(yè)的數(shù)據(jù)檢測技術(shù),并通過坐標(biāo)的變化來簡化傳統(tǒng)的距離測量算法,通過減小測量距離的誤差來提高定位準(zhǔn)確度,增強定位效果。
在此基礎(chǔ)上,以定位過程空間資源占用率為檢驗指標(biāo),對不同算法的性能加以驗證,經(jīng)實驗測試可知,隨著測試時間的增加,不同算法定位過程空間資源占用率也在不斷變化。本文算法的定位過程空間資源占用率介于6.0%~8.5%,而基于主動探測與被動截獲協(xié)同的數(shù)據(jù)融合定位算法的空間資源占用率介于10.0%~12.0%,基于無跡卡爾曼濾波的數(shù)據(jù)融合定位算法的空間資源占用率介于13.0%~15.0%。這是因為本文算法應(yīng)用S-XNQ2數(shù)據(jù)采集協(xié)議對數(shù)據(jù)進(jìn)行采集,在方便數(shù)據(jù)對外傳輸?shù)耐瑫r還能夠以周期性的形式從數(shù)據(jù)庫間接提取數(shù)據(jù),從而減少了數(shù)據(jù)采集的能耗和對系統(tǒng)空間資源的占用率。
數(shù)據(jù)定位技術(shù)已經(jīng)逐漸地從軍事領(lǐng)域拓展到民用環(huán)境中,但是這種技術(shù)的實現(xiàn)對網(wǎng)絡(luò)環(huán)境的要求較高,且需要能夠具有高效性的算法來匹配相應(yīng)的數(shù)據(jù)處理過程。為此,本文基于Web環(huán)境設(shè)計了組態(tài)軟件實時數(shù)據(jù)庫快速數(shù)據(jù)定位算法,實現(xiàn)了實時數(shù)據(jù)的高效、快速采集,并對具有特征的數(shù)據(jù)進(jìn)行分析,最終實現(xiàn)數(shù)據(jù)準(zhǔn)確定位。在研究中發(fā)現(xiàn),應(yīng)用S-XNQ2數(shù)據(jù)采集協(xié)議能夠在方便數(shù)據(jù)對外傳輸?shù)耐瑫r,周期性地從數(shù)據(jù)庫間接提取數(shù)據(jù),從而有效減少了數(shù)據(jù)采集能耗,還緩解了對空間資源的占用情況。在接下來的研究中,將考慮提高算法定位過程的時效性,從而實現(xiàn)對算法的進(jìn)一步優(yōu)化。