繆燕,王和平
(北京許繼電氣有限公司,北京 100000)
分布式數(shù)據(jù)庫由多個獨立的數(shù)據(jù)存儲單元相互連接而成,實時數(shù)據(jù)庫由實時數(shù)據(jù)模型構成,因此分布式實時數(shù)據(jù)庫是在分布式數(shù)據(jù)庫的基礎上建立起來的,是一種用來解決數(shù)據(jù)模型與數(shù)據(jù)存儲單元之間關系的數(shù)據(jù)庫[1]。分布式實時數(shù)據(jù)庫在數(shù)據(jù)檢索、存儲、采集、訪問等方面具有實時、可靠、穩(wěn)定的特點,在對大容量數(shù)據(jù)進行分類時,首先需要對分布式實時數(shù)據(jù)庫進行分類。目前的分布式實時數(shù)據(jù)庫分類方法存在較多問題,如分類干擾多、數(shù)據(jù)處理不及時,以及在采用相關算法進行分類時,計算過程復雜、分類精度低、分類耗時長等。為了解決這些問題,國內的專家學者對此展開了研究。有學者提出基于改進粒子群算法的分布式數(shù)據(jù)庫分類方法,將分布式數(shù)據(jù)庫中的數(shù)據(jù)通過改進粒子群算法進行計算,計算完畢后將計算結果存儲在站點中,雖然該方法的計算過程較為簡單,但分類精度較低[2]。還有學者提出基于ISE 算法的分布式實時數(shù)據(jù)庫分類方法,建立分布式數(shù)據(jù)庫的自然模型,以數(shù)據(jù)庫自然模型為基礎,采用ISE 算法進行分類計算,該方法雖然能夠滿足分類精度的要求,但是整體計算過程耗時較長[3]。
為了解決以上問題,該文對基于訪問一體化算法的分布式實時數(shù)據(jù)庫進行了研究,最后通過實驗研究驗證了該文研究方法的性能。
分布式實時數(shù)據(jù)庫中含有大量的實時數(shù)據(jù)存儲單元,這些實時數(shù)據(jù)存儲單元較為分散,在對分布式數(shù)據(jù)庫進行分類時,會導致實時數(shù)據(jù)存儲單元的分散程度下降,進而造成分布式實時數(shù)據(jù)庫分類耗時過長[4-6]?;谶@樣的分類背景,在對分布式實時數(shù)據(jù)庫進行分類前,需要建立分布式數(shù)據(jù)庫模型,以提升實時數(shù)據(jù)存儲單元的分散程度。
分布式數(shù)據(jù)庫模型需要按照分布式實時數(shù)據(jù)庫的分類原理來構建,分類原理為將分布式實時數(shù)據(jù)庫中的工作站點設為變量,將實時數(shù)據(jù)存儲單元設定為潛在變量[7-10]。為了計算聯(lián)合分布概率,可以將數(shù)據(jù)庫的種類設定為N,工作站點的數(shù)量設定為K,分布式實時數(shù)據(jù)庫的分類參數(shù)設定為α,對于已知的分布式數(shù)據(jù)庫種類,可通過種類索引對其進行標記,而對于未知的數(shù)據(jù)庫種類,可將內部的實時數(shù)據(jù)存儲單元設定為θic,采用訪問一體化算法計算聯(lián)合分布概率為:
式中,θiyj表示分布式數(shù)據(jù)庫與工作站點的數(shù)量總和;Cik表示實時存儲單元分配至工作站點的估計量,p、E分別表示數(shù)據(jù)庫訪問工作站點的參數(shù)和分量。實時數(shù)據(jù)存儲單元中的數(shù)據(jù)流通過數(shù)據(jù)庫中的調度節(jié)點進行集合,在對數(shù)據(jù)流進行分發(fā)的過程中,需要對實時數(shù)據(jù)庫中的數(shù)據(jù)主節(jié)點和備份節(jié)點進行集中分類,通過分類結果獲得數(shù)據(jù)庫種類N的存儲單元分配估計量Cik,該值與數(shù)據(jù)流的調度集合值相同,根據(jù)式(1)可獲得分布式實時數(shù)據(jù)庫的模型為:
式中,yu表示分布式實時數(shù)據(jù)庫中數(shù)據(jù)流的調度數(shù)量。在實現(xiàn)分布式數(shù)據(jù)庫分類前,需將數(shù)據(jù)庫中的實時數(shù)據(jù)分配至工作站點的數(shù)據(jù)流中,圖1 為數(shù)據(jù)分配過程。
圖1 數(shù)據(jù)分配過程
實時數(shù)據(jù)分配至數(shù)據(jù)流的過程是實現(xiàn)分布式實時數(shù)據(jù)庫分類的基礎,在分配過程中,為實現(xiàn)實時數(shù)據(jù)的同步與轉發(fā),數(shù)據(jù)主節(jié)點將根據(jù)數(shù)據(jù)庫中元數(shù)據(jù)的種類進行轉發(fā),轉發(fā)完成后將數(shù)據(jù)存儲在備份節(jié)點中,這一轉發(fā)與存儲過程可實現(xiàn)未知數(shù)據(jù)庫的分類,并有效提升實時數(shù)據(jù)存儲單元的分散程度。分布式實時數(shù)據(jù)庫模型的建立,可縮短數(shù)據(jù)庫的分類耗時,根據(jù)以上建立分布式實時數(shù)據(jù)庫模型,結合數(shù)據(jù)流的轉發(fā)和存儲操作,可以實現(xiàn)分布式實時數(shù)據(jù)庫的分類,但當數(shù)據(jù)庫種類數(shù)量過多時,由于未考慮潛在變量,因此需要對分布式實時數(shù)據(jù)庫進行優(yōu)化[11-13]。
基于以上建立的分布式實時數(shù)據(jù)庫模型中,設定分布式實時數(shù)據(jù)庫中數(shù)據(jù)流與數(shù)據(jù)主節(jié)點的訪問控制信息,根據(jù)訪問控制信息實現(xiàn)對分布式實時數(shù)據(jù)庫的優(yōu)化,在優(yōu)化之前,需要對分布式實時數(shù)據(jù)庫的分布進行設計[14-16]。
設計過程中需要全面考慮數(shù)據(jù)庫中標簽點的調度特性,根據(jù)標簽點的調度特性來處理數(shù)據(jù)庫中的數(shù)據(jù)主節(jié)點和備份節(jié)點,以提升分布式實時數(shù)據(jù)庫的分類效率。
由于標簽點中的實時數(shù)據(jù)分布在工作站點內,而工作站點通常位于分布式實時數(shù)據(jù)庫的邊緣,因此為了使標簽點更加集中,需要將數(shù)據(jù)庫中的數(shù)據(jù)分配至數(shù)據(jù)源文件中。隨著分布式數(shù)據(jù)庫中數(shù)據(jù)節(jié)點的增加,數(shù)據(jù)庫中的元數(shù)據(jù)將表現(xiàn)出較強的擴容或縮容,并且元數(shù)據(jù)將呈現(xiàn)數(shù)據(jù)重分布的狀態(tài),這時元數(shù)據(jù)的數(shù)據(jù)均衡性會有所增強。而標簽點與元數(shù)據(jù)間存在一定的關聯(lián)性,需要通過增加數(shù)據(jù)節(jié)點的數(shù)量來控制元數(shù)據(jù)在數(shù)據(jù)庫中的分散程度。在極端情況下,數(shù)據(jù)節(jié)點中的所有實時數(shù)據(jù)將存放在備份名片中,并按照分布式實時數(shù)據(jù)庫的分類時間段來接入數(shù)據(jù)流,考慮到分布式實時數(shù)據(jù)庫的分類特點,元數(shù)據(jù)與數(shù)據(jù)節(jié)點的數(shù)量可能會發(fā)生波動,從而導致數(shù)據(jù)庫中的數(shù)據(jù)文件發(fā)生分布不均衡現(xiàn)象,所以需要把多余的數(shù)據(jù)節(jié)點和元數(shù)據(jù)分配至分布映射表內,這樣可以避免由于分類標準過高而出現(xiàn)標簽節(jié)點分配失敗的現(xiàn)象。圖2 為分布式實時數(shù)據(jù)庫中的數(shù)據(jù)節(jié)點分布圖。
圖2 數(shù)據(jù)節(jié)點分布圖
根據(jù)該數(shù)據(jù)節(jié)點分布結果對分布式實時數(shù)據(jù)庫進行優(yōu)化。
在實際的分布式實時數(shù)據(jù)庫中,元數(shù)據(jù)和數(shù)據(jù)節(jié)點在數(shù)據(jù)區(qū)間的分布函數(shù)未知,可通過伯努利分布確定元數(shù)據(jù)是否退化為實數(shù),如果成功退化為實數(shù),則設定數(shù)據(jù)節(jié)點的分布區(qū)間為表示分布式實時數(shù)據(jù)庫的分類參數(shù),分布式實時數(shù)據(jù)庫的優(yōu)化表達式為:
式中,h表示分布式實時數(shù)據(jù)庫的分類數(shù)量,n表示分布式實時數(shù)據(jù)庫中數(shù)據(jù)節(jié)點數(shù)量,fxi表示分布式實時數(shù)據(jù)庫分類的目標函數(shù),i=1,2,3,…,n。設定分布式數(shù)據(jù)庫優(yōu)化信息,觀察數(shù)據(jù)庫中插值點的概率分布,確定數(shù)據(jù)庫分類原理的可行性。
根據(jù)以上建立的分布式實時數(shù)據(jù)庫模型、數(shù)據(jù)庫分布特點以及數(shù)據(jù)庫的優(yōu)化模型,實現(xiàn)對分布式實時數(shù)據(jù)庫的優(yōu)化。
為了驗證該文提出的基于訪問一體化算法的分布式實時數(shù)據(jù)庫研究方法的實際使用效果,將所提方法與文獻[2]基于改進粒子群算法的數(shù)據(jù)庫研究方法進行對比。實驗過程中,采用仿真分布式數(shù)據(jù)庫與互聯(lián)網(wǎng)中的標準分布式數(shù)據(jù)庫進行實驗。
貢獻率將影響分布式實時數(shù)據(jù)庫的穩(wěn)定運行,通常情況下,貢獻率越低,對分布式實時數(shù)據(jù)庫運行穩(wěn)定性的影響越小,采用該文研究方法與基于改進粒子群算法的分布式數(shù)據(jù)庫分類方法針對貢獻率進行實驗,統(tǒng)計分布式實時數(shù)據(jù)庫貢獻率的變化,貢獻率實驗結果如圖3 所示。
圖3 貢獻率對比結果
實驗結果中,包括實驗時間和實驗方法,實驗時間的單位為ms,A 表示該文提出的研究方法,B 表示基于改進粒子群算法的方法。一般情況下,當分布式實時數(shù)據(jù)庫的貢獻率低于40%時,該方法對分布式實時數(shù)據(jù)庫的穩(wěn)定狀態(tài)不產(chǎn)生影響。由上述結果可知,該文提出的基于訪問一體化算法的分布式實時數(shù)據(jù)庫研究方法的貢獻率最高不超過36%,說明該文提出的基于訪問一體化算法的分布式實時數(shù)據(jù)庫研究方法不會對數(shù)據(jù)庫的穩(wěn)定運行產(chǎn)生影響;而基于改進粒子群算法的分布式數(shù)據(jù)庫分類方法的貢獻率遠高于40%,說明基于改進粒子群算法的分布式數(shù)據(jù)庫分類方法對數(shù)據(jù)庫的穩(wěn)定運行影響較大。
不同方法的分類耗時也會影響分布式實時數(shù)據(jù)庫的分類效率,因此,需要對該文提出的研究方法與基于改進粒子群算法的研究方法的分類耗時情況進行對比。對比實驗中,以8 次數(shù)據(jù)庫分布結果為1 組實驗,共統(tǒng)計6 組實驗結果,分類耗時實驗結果如圖4 所示。
圖4 分類耗時情況實驗結果
由實驗結果可知,S 表示該文提出的基于訪問一體化算法的分布式實時數(shù)據(jù)庫研究方法,R 表示基于改進粒子群算法的分布式數(shù)據(jù)庫分類方法。由實驗數(shù)據(jù)可知,該文提出的基于訪問一體化算法的分布式實時數(shù)據(jù)庫研究方法的分類耗時最短,說明該文提出的研究方法更容易實現(xiàn)數(shù)據(jù)庫的分類,訪問一體化算法的采用降低了數(shù)據(jù)庫分類的復雜度,從而降低了分類耗時。而基于改進粒子群算法的分布式數(shù)據(jù)庫的分類耗時較長,不能提高分布式實時數(shù)據(jù)庫分類的效率。
基于以上得出的貢獻率以及分類耗時結果,對文中提出的研究方法與基于改進粒子群算法的分布式數(shù)據(jù)庫分類方法的分類精度進行對比實驗。實驗中,需要采集20 個分布式實時數(shù)據(jù)庫,采用兩種方法對采集的分布式實時數(shù)據(jù)庫進行實驗,分類精度對比結果如圖5 所示。
圖5 分類精度實驗結果
由圖5 實驗結果可知,該文提出的基于訪問一體化算法的分布式實時數(shù)據(jù)庫研究方法的分類精度較高,最高可達90%以上,而基于改進粒子群算法的分布式數(shù)據(jù)庫分類方法的分類精度較低,最高只有70%,由此可知,該文方法的分類精度高于基于改進粒子群算法的分布式數(shù)據(jù)庫分類方法。
綜上所述,以上的對比實驗驗證了該文提出的基于訪問一體化算法的分布式實時數(shù)據(jù)庫研究方法優(yōu)于基于改進粒子群算法的分布式數(shù)據(jù)庫分類方法,該文方法的貢獻率較低,不會對數(shù)據(jù)庫的穩(wěn)定運行產(chǎn)生影響,并且該文方法的分類耗時較短、分類精度較高。
為了解決傳統(tǒng)分布式數(shù)據(jù)庫分類方法出現(xiàn)的數(shù)據(jù)庫貢獻率較高、分類耗時較長、分類精度較低等問題,該文提出基于訪問一體化算法的分布式實時數(shù)據(jù)庫研究方法。建立了分布式實時數(shù)據(jù)庫模型,并介紹了分布式實時數(shù)據(jù)庫分類原理以及數(shù)據(jù)流的分配過程,然后建立了優(yōu)化模型對分布式實時數(shù)據(jù)庫進行優(yōu)化。最后通過對比實驗,驗證了該文提出的基于訪問一體化算法的分布式實時數(shù)據(jù)庫研究方法優(yōu)于傳統(tǒng)方法,該文提出的研究方法具有較低的貢獻率,且分類耗時較短、分類精度較高,實現(xiàn)分布式數(shù)據(jù)庫的分類較為容易,具有一定的應用價值。