李 強(qiáng)
(鄭州航空工業(yè)管理學(xué)院,鄭州 450046)
由于信息時(shí)代的快速發(fā)展,信息空間中產(chǎn)生的數(shù)據(jù)劇增,且不同行業(yè)、不同科目的數(shù)據(jù)之間有著千絲萬(wàn)縷的關(guān)系,在做出決策時(shí)要綜合各個(gè)方面的信息,因此需要訪問大量不同類型的數(shù)據(jù)。由于不同類型的數(shù)據(jù)按照不同的結(jié)構(gòu)存儲(chǔ)在數(shù)據(jù)庫(kù)中,也就形成了網(wǎng)絡(luò)環(huán)境中的異構(gòu)數(shù)據(jù)。異構(gòu)數(shù)據(jù)的共享能夠大大減少數(shù)據(jù)庫(kù)的重復(fù)開發(fā),方便用戶快速獲得更加全面的相關(guān)信息,因此國(guó)內(nèi)外相繼提出了信息空間異構(gòu)數(shù)據(jù)共享機(jī)制。
異構(gòu)數(shù)據(jù)共享就是整合不同位置、不同設(shè)備上傳的信息,并支持用戶在讀取他人數(shù)據(jù)的同時(shí)進(jìn)行各種操作、運(yùn)算和分析,通過共享機(jī)制的設(shè)計(jì)與應(yīng)用,為用戶提供了一個(gè)統(tǒng)一和透明的界面,從而達(dá)到信息資源共享的目的。然而現(xiàn)階段對(duì)于共享機(jī)制的研究主要側(cè)重于對(duì)異構(gòu)數(shù)據(jù)庫(kù)的共享,典型的共享方式包括基于元數(shù)據(jù)目錄服務(wù)的數(shù)據(jù)共享機(jī)制、基于空間數(shù)據(jù)網(wǎng)格的共享機(jī)制以及基于網(wǎng)關(guān)數(shù)據(jù)傳送機(jī)制的共享機(jī)制。在傳統(tǒng)的共享機(jī)制中,為了保證共享數(shù)據(jù)的安全性,會(huì)在共享之前對(duì)異構(gòu)數(shù)據(jù)進(jìn)行加密處理,這也就導(dǎo)致共享的透明性降低,在實(shí)際的應(yīng)用過程中存在共享數(shù)據(jù)查詢速度慢、查詢受限等問題。
為了解決上述傳統(tǒng)共享機(jī)制存在的問題,引入自動(dòng)化G/S模式,實(shí)現(xiàn)對(duì)信息空間異構(gòu)數(shù)據(jù)的可視化共享,即在保證數(shù)據(jù)安全的前提下,最大程度的提高共享的透明度。自動(dòng)化G/S模式也就是地學(xué)瀏覽器/空間信息服務(wù)器模式,可以存儲(chǔ)和交互不同種類、不同規(guī)模的數(shù)據(jù)。與傳統(tǒng)的C/S共享模式相比,解決了無(wú)法處理音頻、視頻等類型數(shù)據(jù)的缺陷,并簡(jiǎn)化了數(shù)據(jù)查詢和調(diào)度的工作流程。通過自動(dòng)化G/S模式的應(yīng)用,對(duì)共享機(jī)制進(jìn)行優(yōu)化設(shè)計(jì),以期提高異構(gòu)數(shù)據(jù)的共享功能,間接的提升數(shù)據(jù)資源利用率。
在信息空間環(huán)境下,利用關(guān)聯(lián)規(guī)則挖掘技術(shù)挖掘異構(gòu)數(shù)據(jù),在關(guān)聯(lián)規(guī)則的約束下對(duì)比數(shù)據(jù),并將符合規(guī)則的數(shù)據(jù)提出,得出異構(gòu)數(shù)據(jù)的挖掘結(jié)果。定義初始信息空間的異構(gòu)數(shù)據(jù)中包含N個(gè)事務(wù)數(shù)據(jù),最小支持?jǐn)?shù)為mincount,則在數(shù)據(jù)挖掘過程中最小支持度可以表示為:
并以式(1)的計(jì)算結(jié)果作為挖掘的最小支持?jǐn)?shù)要求,在此基礎(chǔ)上對(duì)異構(gòu)數(shù)據(jù)庫(kù)進(jìn)行第一次掃描,得出其中包含每個(gè)項(xiàng)目的出現(xiàn)次數(shù),并生成候選項(xiàng)集C1。根據(jù)mincount要求得出集合L1,并執(zhí)行L1L2操作,生成候選集C2,掃描異構(gòu)數(shù)據(jù)庫(kù)對(duì)C2中的項(xiàng)目進(jìn)行計(jì)數(shù)。同理可以得出L2、Cn和Ln。比對(duì)Cn和Cn-1中的項(xiàng)集內(nèi)容,并將重復(fù)的剔除,直到Cn集合為空。經(jīng)過對(duì)信息空間異構(gòu)數(shù)據(jù)的連續(xù)迭代,得到信息空間異構(gòu)數(shù)據(jù)的挖掘結(jié)果,并以此作為可視化共享數(shù)據(jù)。
多元異構(gòu)空間數(shù)據(jù)轉(zhuǎn)換的目的是將數(shù)據(jù)轉(zhuǎn)換成相同形式,消除數(shù)據(jù)的異構(gòu)性。數(shù)據(jù)轉(zhuǎn)換處理可以分為兩個(gè)部分,一個(gè)是異構(gòu)空間數(shù)據(jù)向XML文檔轉(zhuǎn)換,另一個(gè)是XML文檔數(shù)據(jù)與信息空間數(shù)據(jù)庫(kù)服務(wù)器的相互轉(zhuǎn)換。該封裝器用于實(shí)現(xiàn)異構(gòu)空間數(shù)據(jù)到XML文檔的轉(zhuǎn)換,該封裝器由幾個(gè)相互獨(dú)立的封裝器組成,每個(gè)封裝器對(duì)應(yīng)一個(gè)數(shù)據(jù)源,如圖1所示。
圖1 數(shù)據(jù)轉(zhuǎn)換封裝器結(jié)構(gòu)圖
從圖1中可以看出,文件解析組件用于解釋SHAPE文件,提取集合數(shù)據(jù),解釋DBF文件,提取文檔對(duì)象樹屬性數(shù)據(jù)。將空間數(shù)據(jù)庫(kù)服務(wù)器中存儲(chǔ)的關(guān)系數(shù)據(jù)映射成XML文檔,并進(jìn)一步轉(zhuǎn)換為SVG格式,實(shí)現(xiàn)空間數(shù)據(jù)在客戶端的可視化。圖2中顯示了具體的映射過程。
圖2 文檔數(shù)據(jù)與數(shù)據(jù)庫(kù)服務(wù)器的映射轉(zhuǎn)換關(guān)系圖
將轉(zhuǎn)換完成的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)端,服務(wù)器利用遠(yuǎn)程技術(shù)訪問數(shù)據(jù)端的XML數(shù)據(jù),并將數(shù)據(jù)映射到數(shù)據(jù)庫(kù)服務(wù)器中,通過分析和查詢操作,最終將操作結(jié)果上傳給客戶端。需要考慮的是在數(shù)據(jù)集成的過程中,信息空間還會(huì)產(chǎn)生新的異構(gòu)共享數(shù)據(jù),因此當(dāng)多個(gè)異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)發(fā)生變化時(shí),需要立即更新集成數(shù)據(jù),保證異構(gòu)數(shù)據(jù)與共享數(shù)據(jù)的同步性。
自動(dòng)化G/S模式由G端和S端兩部分組成,其中G端為任意終端,也就是共享機(jī)制中的用戶,在G端安裝通用的地學(xué)瀏覽器裝置,為了保證與服務(wù)器之間的有效交互,確定統(tǒng)一的地理標(biāo)記語(yǔ)言為HGML,地理標(biāo)記標(biāo)準(zhǔn)語(yǔ)言的基本數(shù)據(jù)類型如表1所示。
表1 HGML基本數(shù)據(jù)類型
G/S模式中的S端也就是信息空間分析的服務(wù)平臺(tái),該部分由數(shù)據(jù)注冊(cè)中心、存儲(chǔ)云以及分布式文件管理模塊組成。在HGML數(shù)據(jù)傳輸共享標(biāo)準(zhǔn)的約束下,完成共享信息交互、解譯客戶端請(qǐng)求以及共享任務(wù)調(diào)度的功能。在自動(dòng)化G/S模式下構(gòu)建共享瀏覽器緩存模型,G端為了支持多類型數(shù)據(jù)存儲(chǔ),HGML對(duì)緩存的異構(gòu)數(shù)據(jù)進(jìn)行描述管理,設(shè)置數(shù)據(jù)的存儲(chǔ)位置、更新替換等功能。G端緩存模型的設(shè)計(jì)結(jié)果如圖3所示。
圖3 自動(dòng)G/S模式下G端緩存模型
通用瀏覽器的緩存機(jī)制主要基于緩存查詢和自適應(yīng)緩存替換策略。在實(shí)際的運(yùn)行過程中,G端接收一個(gè)服務(wù)器傳輸來(lái)的異構(gòu)數(shù)據(jù),并產(chǎn)生一個(gè)Key值。通過數(shù)據(jù)對(duì)象的Key值判斷緩存模型中是否存在該數(shù)據(jù),若查詢結(jié)果顯示該數(shù)據(jù)已經(jīng)存儲(chǔ)過,則新接收的數(shù)據(jù)進(jìn)入緩存替換模塊,否則進(jìn)入數(shù)據(jù)存儲(chǔ)模塊。通過建立多個(gè)緩存集合用來(lái)存儲(chǔ)不同類型的異構(gòu)數(shù)據(jù),根據(jù)異構(gòu)數(shù)據(jù)對(duì)象的類型檢索對(duì)應(yīng)的緩存位置,并對(duì)當(dāng)前緩存模塊的運(yùn)行狀態(tài)進(jìn)行判斷。一般來(lái)講,緩存模塊的運(yùn)行狀態(tài)可以分為正常存儲(chǔ)和存儲(chǔ)故障兩種狀態(tài),若緩存模塊處于正常存儲(chǔ)狀態(tài),且異構(gòu)數(shù)據(jù)的存儲(chǔ)量小于緩存模塊的空間剩余量,則將該數(shù)據(jù)直接寫入對(duì)應(yīng)的存儲(chǔ)位置上,否則進(jìn)入緩存替換模塊。接收的所有數(shù)據(jù)完成緩存任務(wù)后,對(duì)G端的數(shù)據(jù)索引表進(jìn)行更新。在共享數(shù)據(jù)的調(diào)用過程中,可以通過調(diào)取數(shù)據(jù)對(duì)象的Key和類型,執(zhí)行讀取、刪除、存儲(chǔ)等操作,緩存命中完成后,返回請(qǐng)求數(shù)據(jù),降低數(shù)據(jù)緩存沖突的發(fā)生概率,同時(shí)也提升存儲(chǔ)空間的利用合理性。
在構(gòu)建的共享瀏覽器緩存模型中,除了共享異構(gòu)數(shù)據(jù)外,還將異構(gòu)數(shù)據(jù)對(duì)應(yīng)信息空間不同側(cè)面的數(shù)據(jù)視圖以SVG文檔形式存儲(chǔ),這些視圖是實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下數(shù)據(jù)可視化的基礎(chǔ)。SVG文檔中定義了點(diǎn)、線、面等基本形狀,并通過調(diào)整文檔中數(shù)據(jù)的style屬性指定視圖元素樣式。當(dāng)客戶端發(fā)出共享申請(qǐng)且通過后,自動(dòng)化G/S模式調(diào)用相應(yīng)的共享數(shù)據(jù),抽取相應(yīng)視圖進(jìn)行合并重組,建立用戶可視化輸出的二維數(shù)據(jù)視圖。假設(shè)共享數(shù)據(jù)抽取了n個(gè)異構(gòu)數(shù)據(jù),且每個(gè)異構(gòu)數(shù)據(jù)有m個(gè)數(shù)據(jù)側(cè)面,則可視化數(shù)據(jù)視圖集合可以表示為:
式中DBn為信息空間異構(gòu)數(shù)據(jù),的表達(dá)式為:
其中Ii和Pi分別對(duì)應(yīng)的是DBn的指標(biāo)集和側(cè)面數(shù)據(jù)項(xiàng)。那么在異構(gòu)數(shù)據(jù)可視化輸出過程中,提取共享數(shù)據(jù)對(duì)應(yīng)的視圖,并按照共享數(shù)據(jù)的排列順序連接視圖,實(shí)現(xiàn)異構(gòu)數(shù)據(jù)的可視化發(fā)布。
為了保證信息空間異構(gòu)數(shù)據(jù)共享的安全性,需要借助一個(gè)數(shù)據(jù)共享紐帶,也就是特定行業(yè)標(biāo)記語(yǔ)言XXML。數(shù)據(jù)共享紐帶的建立過程如圖4所示。
圖4 共享紐帶建立流程圖
在共享紐帶中嵌入一個(gè)數(shù)據(jù)解析程序,數(shù)據(jù)解析的目的是對(duì)加密的異構(gòu)數(shù)據(jù)進(jìn)行解碼處理,提升數(shù)據(jù)資源的查詢、調(diào)用效率。若多個(gè)用戶同時(shí)提交共享申請(qǐng),為了避免中心服務(wù)器可能會(huì)出現(xiàn)提交負(fù)載不及時(shí)的問題,需要對(duì)網(wǎng)絡(luò)負(fù)載進(jìn)行均衡調(diào)度。定義異構(gòu)數(shù)據(jù)共享線程中,節(jié)點(diǎn)的處理時(shí)間和速度分別為ti和vi,則存在如下關(guān)系式:
考察共享平臺(tái)中的第一個(gè)數(shù)據(jù)節(jié)點(diǎn),并對(duì)公式4進(jìn)行調(diào)整。假設(shè)共享平臺(tái)中剩余的數(shù)據(jù)節(jié)點(diǎn)均按照內(nèi)部最佳調(diào)度策略進(jìn)行處理,則剩余節(jié)點(diǎn)序列Nj中負(fù)載最大節(jié)點(diǎn)所消耗的調(diào)度處理時(shí)間為:
式中p1為共享負(fù)載最大節(jié)點(diǎn)。要保證共享過程中各個(gè)節(jié)點(diǎn)的負(fù)載均衡,提高共享任務(wù)的并行處理能力,則要求式(6)中的條件成立。
那么在自動(dòng)化G/S模式下為每一個(gè)數(shù)據(jù)節(jié)點(diǎn)建立一個(gè)臨時(shí)變量,設(shè)置臨時(shí)變量的初始值為0,分別記錄可視化共享的起止時(shí)間,得到各個(gè)節(jié)點(diǎn)的任務(wù)耗時(shí)。根據(jù)任務(wù)耗時(shí)的統(tǒng)計(jì)結(jié)果,按照由小到大的順序排列節(jié)點(diǎn)序列,并按照序列順序分配與提交共享任務(wù)。根據(jù)實(shí)時(shí)節(jié)點(diǎn)的處理進(jìn)度,對(duì)共享任務(wù)順序進(jìn)行調(diào)整,直到所有節(jié)點(diǎn)完成異構(gòu)數(shù)據(jù)可視化共享進(jìn)程。
為檢驗(yàn)設(shè)計(jì)的基于自動(dòng)化G/S模式的信息空間異構(gòu)數(shù)據(jù)可視化共享機(jī)制的可行性,設(shè)計(jì)性能測(cè)試實(shí)驗(yàn)。實(shí)驗(yàn)的核心目標(biāo)任務(wù)包括:設(shè)計(jì)機(jī)制是否能完成異構(gòu)數(shù)據(jù)注冊(cè)、傳輸、可視化和共享任務(wù),是否具備數(shù)據(jù)共享和交互操作能力。
為了保證實(shí)驗(yàn)變量的唯一性,實(shí)驗(yàn)選擇地質(zhì)異構(gòu)數(shù)據(jù)作為實(shí)驗(yàn)的研究數(shù)據(jù)對(duì)象,并以地質(zhì)數(shù)據(jù)共享平臺(tái)作為實(shí)驗(yàn)的主要運(yùn)行環(huán)境。在實(shí)驗(yàn)環(huán)境中安裝計(jì)算機(jī)、服務(wù)器和數(shù)據(jù)傳輸網(wǎng)絡(luò)設(shè)備,并在主測(cè)計(jì)算機(jī)上安裝共享平臺(tái)軟件程序,得到平臺(tái)的運(yùn)行主界面。計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)器選擇的操作系統(tǒng)分別為Windows XP和MicrosoftIIS6.0。由于設(shè)計(jì)的異構(gòu)數(shù)據(jù)可視化共享機(jī)制應(yīng)用了自動(dòng)化G/S模式,因此需要在實(shí)驗(yàn)環(huán)境中配置相應(yīng)結(jié)果,保證該模式的正常運(yùn)行。除了主測(cè)計(jì)算機(jī)外,搭建主機(jī)主測(cè)中心和數(shù)據(jù)存儲(chǔ)環(huán)境,并模擬多個(gè)虛擬用戶主機(jī),用戶主機(jī)在測(cè)試S端接口時(shí)可以使用瀏覽器直接訪問,而在測(cè)試G接口功能時(shí),需要利用客戶端程序進(jìn)行具體測(cè)試。實(shí)驗(yàn)環(huán)境中的網(wǎng)絡(luò)運(yùn)行服務(wù)器上均安裝TomCat 6.0.18,并分別在兩個(gè)服務(wù)器設(shè)備上部署S端數(shù)據(jù)注冊(cè)程序和G端檢索服務(wù)程序。
為了給共享性能測(cè)試實(shí)驗(yàn)提供大量的數(shù)據(jù)支持,在實(shí)驗(yàn)環(huán)境下分別構(gòu)建ArcIMS和GeoBeans WebGIS兩個(gè)信息空間,且每個(gè)信息空間帶有不同數(shù)量的異構(gòu)數(shù)據(jù)。準(zhǔn)備的實(shí)驗(yàn)信息空間和異構(gòu)數(shù)據(jù)均存儲(chǔ)在實(shí)驗(yàn)數(shù)據(jù)庫(kù)中,方便數(shù)據(jù)調(diào)用。實(shí)驗(yàn)數(shù)據(jù)共享樣本的準(zhǔn)備情況,如圖5所示。
圖5 信息空間異構(gòu)數(shù)據(jù)共享樣本
另外異構(gòu)數(shù)據(jù)的共享需要一定的權(quán)限,因此需要在共享平臺(tái)上對(duì)導(dǎo)入的數(shù)據(jù)樣本進(jìn)行注冊(cè),保證樣本數(shù)據(jù)的可讀性。
實(shí)驗(yàn)分別從共享性能和應(yīng)用性能兩個(gè)方面進(jìn)行具體測(cè)試,其中共享性能的測(cè)試指標(biāo)為共享信息的讀寫傳輸速度,該指標(biāo)就是讀取共享信息讀取/寫入任務(wù)的輸入時(shí)間到讀取/寫入結(jié)果的輸出時(shí)間,讀寫越快,證明共享效率越高,共享性能越優(yōu)。另外應(yīng)用性能的測(cè)試,主要就是將設(shè)計(jì)的共享機(jī)制應(yīng)用到共享平臺(tái)中,觀察平臺(tái)節(jié)點(diǎn)負(fù)載的變化情況和共享數(shù)據(jù)丟失情況,統(tǒng)計(jì)輸入異構(gòu)數(shù)據(jù)樣本與共享接收數(shù)據(jù)樣本之間的數(shù)據(jù)量大小,通過兩個(gè)數(shù)據(jù)的相減計(jì)算,便可以得出量化的數(shù)據(jù)丟失結(jié)果。
為了形成實(shí)驗(yàn)對(duì)比,除了設(shè)計(jì)的異構(gòu)數(shù)據(jù)可視化共享機(jī)制外,還設(shè)置了傳統(tǒng)數(shù)據(jù)共享機(jī)制和基于元數(shù)據(jù)的共享機(jī)制作為實(shí)驗(yàn)的兩個(gè)對(duì)比項(xiàng),具體的共享運(yùn)行方案如表2所示。
表2 共享機(jī)制運(yùn)行方案
將共享機(jī)制與準(zhǔn)備的共享數(shù)據(jù)樣本存儲(chǔ)空間之間形成連接,并在共享平臺(tái)的驅(qū)動(dòng)運(yùn)行下,得出共享輸出結(jié)果,其中設(shè)計(jì)共享機(jī)制的可視化輸出結(jié)果如圖6所示。
圖6 信息空間異構(gòu)數(shù)據(jù)可視化共享輸出界面
分別設(shè)置異構(gòu)數(shù)據(jù)讀取、寫入、查詢等任務(wù),調(diào)取共享平臺(tái)的后臺(tái)運(yùn)行數(shù)據(jù),并記錄相關(guān)的測(cè)試數(shù)據(jù),其中共享數(shù)據(jù)查詢輸出結(jié)果,如圖7所示。
圖7 異構(gòu)數(shù)據(jù)共享數(shù)據(jù)查詢界面
為了保證實(shí)驗(yàn)結(jié)果的可信度,采用多次實(shí)驗(yàn)取平均值的方式得出測(cè)試結(jié)果,其中共享性能的測(cè)試結(jié)果,如表3所示。
從表3中可以看出,三種共享機(jī)制的平均讀寫耗時(shí)分別為1.35s、0.75s和0.44s,即設(shè)計(jì)可視化共享機(jī)制的共享傳輸速度更快,共享性能更高。同理可以得出三種共享機(jī)制在共享平臺(tái)下的應(yīng)用測(cè)試結(jié)果,如表4所示。
表3 共享性能測(cè)試結(jié)果
從表4中可以直觀的看出,兩種對(duì)比共享機(jī)制均存在不同程度的節(jié)點(diǎn)荷載分布不均的情況,而應(yīng)用設(shè)計(jì)共享機(jī)制,節(jié)點(diǎn)負(fù)載均控制在區(qū)間[22,25]之內(nèi)。從共享數(shù)據(jù)丟失情況來(lái)看,應(yīng)用三種共享機(jī)制對(duì)應(yīng)的數(shù)據(jù)丟失量分別為2.24MB、1.53MB和1.03MB。
表4 共享機(jī)制應(yīng)用性能測(cè)試結(jié)果
綜上所述,通過自動(dòng)化G/S模式的應(yīng)用能夠有效的提升共享機(jī)制的運(yùn)行性能和應(yīng)用性能,對(duì)于信息空間而言具有較高的應(yīng)用價(jià)值。然而在共享性能測(cè)試實(shí)驗(yàn)中,未考慮到共享平臺(tái)多并發(fā)數(shù)的情況,針對(duì)這一問題還需要在今后的研究中進(jìn)行補(bǔ)充。