胡正華,孟令奎,張 文
(武漢大學遙感信息工程學院,湖北 武漢 430079)
Research on Subscribe/Publish Mechanism for Incremental Data in GIS
HU Zhenghua,MENG Lingkui,ZHANG Wen
?
面向GIS增量數(shù)據(jù)的訂閱與發(fā)布機制研究
胡正華,孟令奎,張文
(武漢大學遙感信息工程學院,湖北 武漢 430079)
Research on Subscribe/Publish Mechanism for Incremental Data in GIS
HU Zhenghua,MENG Lingkui,ZHANG Wen
摘要:在分析已有數(shù)據(jù)分發(fā)策略的基礎(chǔ)上,提出了一種基于“訂閱與發(fā)布”機制的GIS增量數(shù)據(jù)快速分發(fā)方法。該方法首先利用用戶的注冊信息記錄用戶感興趣的數(shù)據(jù)范圍或類型,當服務器接收到增量數(shù)據(jù)時,根據(jù)不同的用戶對增量數(shù)據(jù)進行篩選,并提出了一種基于聯(lián)想模式的數(shù)據(jù)關(guān)聯(lián)查詢策略,再將篩選出來的數(shù)據(jù)發(fā)送給相應的客戶端用戶。經(jīng)試驗論證,該方法能夠針對不同的用戶需求,將GIS增量數(shù)據(jù)快速準確地發(fā)送給客戶端用戶,有助于數(shù)據(jù)的有效利用和管理。
關(guān)鍵詞:數(shù)據(jù)分發(fā);訂閱與發(fā)布機制;增量數(shù)據(jù)更新
近年來,隨著遙感技術(shù)的高速發(fā)展和對地觀測技術(shù)的成熟,獲取地表環(huán)境信息的手段越來越多[1-3]。遙感數(shù)據(jù)因其具有多時相和快速獲取的特點,逐漸成為空間數(shù)據(jù)的重要數(shù)據(jù)來源;與此同時,獲取數(shù)據(jù)渠道的多元化和觀測成本的降低,使得數(shù)據(jù)生產(chǎn)部門獲取遙感影像的周期也越來越短,同一地區(qū)多時相、多波段的影像數(shù)據(jù)在不斷增加[3]。利用遙感和數(shù)字攝影測量技術(shù)獲取的遙感影像數(shù)據(jù)成為空間數(shù)據(jù)生產(chǎn)單位進行專題數(shù)據(jù)更新的基礎(chǔ)。GIS數(shù)據(jù)更新周期的大幅縮短,使得鄰近版本數(shù)據(jù)的相似度大大提高,數(shù)據(jù)的變化區(qū)域往往只是整幅數(shù)據(jù)的一小部分,再對新數(shù)據(jù)進行整體的入庫不僅會增加數(shù)據(jù)管理部門的維護成本,而且也會使數(shù)據(jù)庫中數(shù)據(jù)的冗余程度提高,浪費大量的存儲空間。許多數(shù)據(jù)生產(chǎn)部門已經(jīng)意識到利用增量更新的方式對新獲取的數(shù)據(jù)進行存儲和管理。對于客戶端的用戶來說,及時獲取服務器端的最新數(shù)據(jù),了解數(shù)據(jù)的變化和發(fā)展趨勢,為決策和分析提供必要的數(shù)據(jù)支撐,成為一個至關(guān)重要的問題[4]。
本文基于現(xiàn)有的分發(fā)技術(shù),將傳統(tǒng)的“推”模式與“拉”模式進行了合理的整合,提出一種智能、高效的數(shù)據(jù)分發(fā)策略,將數(shù)據(jù)庫產(chǎn)生的增量數(shù)據(jù)快速、準確地分發(fā)給客戶端用戶,保障用戶能夠動態(tài)掌握感興趣區(qū)域的更新情況。這不僅有利于數(shù)據(jù)的充分利用、有效管理,也為用戶提供了更可靠的決策支持和分析。
一、基于訂閱與發(fā)布模型的分發(fā)機制
與已有的數(shù)據(jù)分發(fā)模式(“推”模式和“拉”模式)不同,增量數(shù)據(jù)的快速分發(fā)技術(shù)對傳統(tǒng)的數(shù)據(jù)分發(fā)流程進行了適當?shù)恼{(diào)整。它會在第一時間將增量數(shù)據(jù)自動發(fā)送給訂閱了此類數(shù)據(jù)的用戶,減少了用戶各自單獨獲取此數(shù)據(jù)的通信開銷。數(shù)據(jù)訂閱方常常只對數(shù)據(jù)發(fā)布方所發(fā)布的某些特定的數(shù)據(jù)感興趣。有了訂閱信息,系統(tǒng)不需要將所有的增量數(shù)據(jù)發(fā)送給每個客戶端,只需要針對有需求的用戶發(fā)送相應的數(shù)據(jù),這在很大程度上減少了低速網(wǎng)絡的負載量;而且,如果用戶沒有在線,系統(tǒng)會一直保存增量信息直到該用戶登錄系統(tǒng)后,再將增量數(shù)據(jù)信息發(fā)送給客戶端,這樣就有效防止了客戶端用戶對服務器產(chǎn)生的增量數(shù)據(jù)遺漏接收的現(xiàn)象。
1. 基本流程
客戶端用戶在注冊系統(tǒng)賬號時,將訂閱的數(shù)據(jù)請求連同用戶的基本信息一起發(fā)送到服務器端,在數(shù)據(jù)庫中記錄其感興趣的數(shù)據(jù)類型或地理范圍以完成注冊[5-6];當服務器接收到新的數(shù)據(jù)時,通過增量更新的方法,生成增量數(shù)據(jù)文件并寫入增量信息表,將原始數(shù)據(jù)移入歷史庫;服務器利用每個登錄用戶在注冊時記錄的數(shù)據(jù)訂閱信息對增量數(shù)據(jù)進行篩選,再將篩選出來的數(shù)據(jù)發(fā)送給相應的客戶端用戶。客戶端在登錄系統(tǒng)后就會接收到增量數(shù)據(jù),此時客戶端用戶可以選擇對數(shù)據(jù)的瀏覽和下載,最后系統(tǒng)再將這些增量數(shù)據(jù)對相應的用戶標記為非增量數(shù)據(jù),這樣在用戶下一次登錄系統(tǒng)時就不會重復收到這些已經(jīng)被客戶端用戶處理過的數(shù)據(jù),其流程如圖1所示。

圖1 增量數(shù)據(jù)快速分發(fā)機制的流程
2. 核心機理
基于訂閱與發(fā)布機制的數(shù)據(jù)分發(fā)策略主要利用了元數(shù)據(jù)技術(shù)來實現(xiàn),用戶在進行系統(tǒng)注冊時訂閱自己感興趣的數(shù)據(jù)區(qū)域或數(shù)據(jù)類型,系統(tǒng)將這些信息錄入用戶元數(shù)據(jù)信息表以支持動態(tài)的數(shù)據(jù)分發(fā)機制。當有新的增量數(shù)據(jù)產(chǎn)生時,消息中心就會根據(jù)每個用戶所關(guān)心的數(shù)據(jù)范圍或類型對增量更新所產(chǎn)生的差分數(shù)據(jù)進行篩選和匹配,并自動將篩選出來的數(shù)據(jù)推送給對這些特定的內(nèi)容感興趣的用戶,用戶登錄后就收到系統(tǒng)的消息提醒[7]。用戶得到消息中心反饋過來的增量數(shù)據(jù)信息后可以選擇下載和預覽,從而保障了用戶能夠動態(tài)掌握感興趣區(qū)域的更新情況。
(1) 訂閱機制
用戶既是遙感影像數(shù)據(jù)的供應方也是數(shù)據(jù)的需求方。在用戶進行系統(tǒng)賬號注冊的同時,通過注冊自己感興趣的數(shù)據(jù),告訴消息中心自己愿意接受的數(shù)據(jù)類別或范圍,而不用考慮這些數(shù)據(jù)的來源,將這些信息連同用戶的基本信息一起存儲在數(shù)據(jù)庫中,完成用戶對數(shù)據(jù)的訂閱[8],這相當于一個“預拉”的過程。訂閱的含義可以被理解為一個簡單的過濾器。這個過濾器通過將發(fā)布的增量數(shù)據(jù)與用戶的訂閱條件進行匹配來決定是否將這些數(shù)據(jù)發(fā)給某一用戶[8]。本文在結(jié)合基于數(shù)據(jù)類型、地理范圍訂閱的基礎(chǔ)上提出一種基于聯(lián)想模式的數(shù)據(jù)訂閱方式。
過去,用戶常常因為需求表述不清楚,使得預計的搜索結(jié)果產(chǎn)生大量不相關(guān)的數(shù)據(jù)記錄,對大量的數(shù)據(jù)結(jié)果進行審查的耗時[9]給用戶快速獲取期望的數(shù)據(jù)帶來了各種困難。而實際上,數(shù)據(jù)的請求者總是希望通過一次服務請求后,一旦信息提供者有了新信息就主動發(fā)給信息請求者,而不需要信息請求者每隔一段時間去查詢一次[10]。
基于聯(lián)想模式的數(shù)據(jù)訂閱是指通過數(shù)據(jù)之間的相關(guān)性來猜測用戶可能感興趣的數(shù)據(jù)。隨著用戶對不同的查詢過程得到的結(jié)果數(shù)據(jù)進行下載,系統(tǒng)記錄了前后下載的數(shù)據(jù)之間的關(guān)聯(lián)次數(shù),即關(guān)聯(lián)因子,來表示這兩類數(shù)據(jù)的相關(guān)程度,從而對用戶的查詢意圖進行預測[11]。前一次下載的數(shù)據(jù)動態(tài)指定了后繼的數(shù)據(jù)篩選策略,并直接影響了其他用戶在下一次進行查詢時關(guān)聯(lián)得到的反饋數(shù)據(jù)[12]。不同用戶對不同數(shù)據(jù)的下載過程,動態(tài)調(diào)整了后繼的聯(lián)想策略和篩選機制。通過大量用戶對前后不同數(shù)據(jù)的下載就會對數(shù)據(jù)之間的相關(guān)程度進行修正,有效保證了數(shù)據(jù)之間的相關(guān)性,最終形成一個查詢意圖的知識庫。通過這種聯(lián)想模式的數(shù)據(jù)關(guān)聯(lián),使得對數(shù)據(jù)的查詢操作具有了聯(lián)想的能力,用戶可以省去多次查詢搜索的煩瑣過程,使系統(tǒng)能夠提供足夠多的相關(guān)數(shù)據(jù)供其使用,保證用戶能夠獲得更為全面的數(shù)據(jù)[13]。
(2) 消息中心
訂閱與發(fā)布機制的核心組成部分為消息中心。在基于訂閱/發(fā)布機制的分布式系統(tǒng)中,消息中心負責對增量數(shù)據(jù)信息的管理和維護,包括增量數(shù)據(jù)的數(shù)據(jù)類型、地理范圍、貢獻的用戶和更新的時間等元數(shù)據(jù)信息。消息中心負責把數(shù)據(jù)在各個客戶端之間傳遞,服務器端在接收到來自數(shù)據(jù)發(fā)布端的增量數(shù)據(jù)并完成對其的存儲后,就將增量信息寫入消息中心的增量數(shù)據(jù)表,當進行數(shù)據(jù)分發(fā)時,服務器會從該表篩選出用戶感興趣的數(shù)據(jù)推送到匹配的用戶所在的客戶端[8,14]。
這種形式的消息交互方式能夠確保增量數(shù)據(jù)及時準確地發(fā)送到正確的客戶端用戶,也確保了不同來源的異構(gòu)數(shù)據(jù)因客戶端的不同需求而被整合到了一起。特別是在應急響應的情況下,許多應用都需要能夠?qū)⒌乩砜臻g信息及時完整地發(fā)送給正確的系統(tǒng)用戶[8]。
(3) 分發(fā)機制
數(shù)據(jù)分發(fā)是整個分發(fā)系統(tǒng)中的推送步驟,負責向客戶端用戶提供安全、高效的數(shù)據(jù)分發(fā)服務[15]。當消息中心判斷出增量數(shù)據(jù)中有客戶端需要的數(shù)據(jù)時,就根據(jù)客戶端所在的網(wǎng)絡地址將消息發(fā)送過去。當客戶端成功接收消息后可以選擇對數(shù)據(jù)瀏覽和下載,同時將回執(zhí)返發(fā)給消息中心,告訴消息中心該客戶端已經(jīng)收到了增量數(shù)據(jù)。最后消息中心再將這些增量數(shù)據(jù)對相應的用戶標記為非更新數(shù)據(jù),這樣用戶在下一次登錄系統(tǒng)時就不會重復收到這些已經(jīng)被客戶端用戶處理過的數(shù)據(jù)了。
數(shù)據(jù)發(fā)布模塊還包含數(shù)據(jù)緩存機制,可以緩解對同一數(shù)據(jù)反復請求時給數(shù)據(jù)庫帶來的數(shù)據(jù)讀寫壓力,從而有效提高了數(shù)據(jù)分發(fā)的效率。若更新的數(shù)據(jù)已經(jīng)存在于服務器端的緩存中,則直接將緩存中的數(shù)據(jù)發(fā)送給客戶端,否則先從數(shù)據(jù)庫下載到服務器端的緩存后再發(fā)送給客戶端。
二、原型系統(tǒng)的設(shè)計與實現(xiàn)
借助網(wǎng)絡傳輸模塊和用戶訪問權(quán)限模塊,設(shè)計并實現(xiàn)了一個高度自動化、穩(wěn)定運轉(zhuǎn)的系統(tǒng)管理平臺,保證了數(shù)據(jù)快捷、順暢的傳輸,并具有統(tǒng)一的管理和監(jiān)控能力,客戶端節(jié)點動態(tài)地加入和退出都會告知中心服務器節(jié)點。
結(jié)合空間數(shù)據(jù)增量更新技術(shù),本文利用蘇州市某城區(qū)的航空遙感影像數(shù)據(jù)進行數(shù)據(jù)增量更新的試驗,完整地實現(xiàn)了數(shù)據(jù)的自動化增量更新和增量信息的用戶訂閱與發(fā)布流程。為了驗證系統(tǒng)基于訂閱與發(fā)布機制下的分發(fā)技術(shù)的有效性,系統(tǒng)分別注冊了兩個用戶,用戶1為testUser1,用戶2為testUser2,兩個用戶所注冊的感興趣地理范圍不同(以米為單位的大地坐標),如圖2所示。從用戶所注冊的感興趣地理范圍可以看出,testUser2感興趣的地理范圍與testUser1有重疊,但是其注冊范圍更大。

圖2 測試用戶注冊
在原始數(shù)據(jù)庫的基礎(chǔ)上,原始數(shù)據(jù)與更新數(shù)據(jù)的對比如圖3所示。可以看到,原始數(shù)據(jù)和更新數(shù)據(jù)包含了同一地理范圍的空間對象,但是更新數(shù)據(jù)相比較原始數(shù)據(jù),有部分房屋被拆遷改為綠化地帶,空間對象發(fā)生了較為顯著的變化。

圖3 原始影像數(shù)據(jù)與待更新的影像數(shù)據(jù)
當用戶1和用戶2分別登錄系統(tǒng)后,服務器分別向兩個用戶推送了不同的更新數(shù)據(jù)信息。用戶接收到的更新數(shù)據(jù)都與自己注冊的感興趣范圍有不同程度的相交,是用戶所需求的數(shù)據(jù)。因為用戶2比用戶1注冊的范圍更大,因此用戶2所接收到的數(shù)據(jù)塊比用戶1接收的數(shù)據(jù)塊多,如圖4所示,用戶可以根據(jù)需要瀏覽或下載更新后的數(shù)據(jù)。

圖4 不同用戶接收到的增量數(shù)據(jù)
為了測試空間增量數(shù)據(jù)在訂閱與發(fā)布機制下的執(zhí)行效率,在100 Mbps的局域網(wǎng)網(wǎng)絡帶寬下,調(diào)整所更新的影像數(shù)據(jù)量,反復進行多組試驗,獲取了在不同數(shù)據(jù)量下進行分發(fā)的執(zhí)行效率,并與“純推模式”和“純拉模式”進行了對比,見表1。

表1 訂閱與發(fā)布機制與傳統(tǒng)的推拉模式的數(shù)據(jù)分發(fā)效率比較
從表1可以看出,訂閱與發(fā)布分發(fā)模塊的執(zhí)行效率較高,不會隨著影像數(shù)量和數(shù)據(jù)量的增長而提高。隨著數(shù)據(jù)量的增加,其分發(fā)效率趨于穩(wěn)定增長,分發(fā)過程實現(xiàn)了完全自動化,是一種智能高效的數(shù)據(jù)分發(fā)機制。
同時,為了測試本文所提出的基于訂閱與發(fā)布機制的分發(fā)策略在局域網(wǎng)環(huán)境下的健壯性,在100 Mbps網(wǎng)絡帶寬的局域網(wǎng)環(huán)境下,取4幅3.6 MB的遙感影像作為試驗數(shù)據(jù),逐次增加其中客戶端用戶的數(shù)量,并對客戶端用戶感興趣的區(qū)域隨機分配。經(jīng)過多組反復試驗,獲取了在不同客戶端數(shù)量下數(shù)據(jù)分發(fā)的執(zhí)行效率,兩種分發(fā)策略所對應的分發(fā)時間見表2。

表2 傳統(tǒng)數(shù)據(jù)分發(fā)與訂閱/發(fā)布分發(fā)機制的耗時比較
從表2的數(shù)據(jù)可以看出,當客戶端的數(shù)量較少時,傳統(tǒng)的數(shù)據(jù)分發(fā)策略和本文提出的數(shù)據(jù)分發(fā)策略的執(zhí)行效率相差并不是非常大,但是隨著客戶端用戶的增加,傳統(tǒng)的數(shù)據(jù)分發(fā)策略因為需要將更新的數(shù)據(jù)全部發(fā)送給各個客戶端,網(wǎng)絡帶寬一直處于高負荷狀態(tài),耗時明顯增加;而本文所提出的增量式分發(fā)策略因為不需要將所有的數(shù)據(jù)發(fā)送給每個客戶端,有較高的執(zhí)行效率,所帶來的延時相對比較穩(wěn)定,不會隨著客戶端用戶的增加而明顯增長。試驗表明數(shù)據(jù)增量式分發(fā)策略的效率較高,針對不同的用戶需求,提供不同的數(shù)據(jù)更新信息,有助于數(shù)據(jù)的快速分發(fā)和有效利用。
三、結(jié)束語
本文主要討論了在C/S局域網(wǎng)環(huán)境下海量影像數(shù)據(jù)快速分發(fā)機制,在基于主動推送和客戶端請求這兩種傳統(tǒng)分發(fā)模式的基礎(chǔ)上,提出了一種訂閱與發(fā)布模式的增量數(shù)據(jù)快速分發(fā)策略,實現(xiàn)了將服務器端的增量數(shù)據(jù)快速、智能和高效地發(fā)送給有相應需求的客戶端用戶。試驗表明本文所提出的空間增量更新數(shù)據(jù)的快速分發(fā)方法具有面向用戶需求、自動化程度高等特點,非常適合在實際的數(shù)據(jù)生產(chǎn)中推廣和應用。
參考文獻:
[1]李賜健.基于小波變換的遙感圖像分割方法研究[D]. 南昌:南昌航空大學,2013.
[2]LIU Yu,CHEN Kexiong,ZHOU Maiyu,et al. Research and Implementation of Mass Remote Sensing Image Management and Web Publishing System[C]∥2010 International Conference on Computer and Information Application. Tianjin: [s.n.],2010.
[3]黃文嘉. 基于變化影像塊的遙感數(shù)據(jù)增量更新方法研究[D].長沙:中南大學,2011.
[4]JIAN Canliang,HUANG Menglong. Research on Geographic Information Database Incremental Updating Method[C]∥2010 International Conference on Audio,Language and Image Processing. Shanghai: [s.n.],2010.
[5]李新廣,范明虎,杜武.面向空間信息智能分發(fā)的動態(tài)化用戶偏好模型研究[J]. 測繪學報,2011,40(5): 646-654.
[6]吳天龍. 面向分布式異構(gòu)數(shù)據(jù)源的個性化推薦系統(tǒng)的研究與實現(xiàn)[D]. 哈爾濱:哈爾濱工業(yè)大學,2013.
[7]SRIVATSA M, LIU L, IYENGAR A. EventGuard: A System Architecture for Securing Publish-Subscribe Networks[J]. ACM Transactions on Computer Systems, 2011,29(4):398-402.
[8]KASSAB A, LIANG S, GAO Y.Real-time Notification and Improved Situational Awareness in Fire Emergencies Using Geospatial-based Publish-subscribe[J]. International Journal of Applied Earth Observation and Geoinformation, 2010,12(6): 431-438.
[9]ALAMDAR F, KEYVANPOUR M R. Effective Browsing of Image Search Results via Diversified Visual Summarization by Clustering and Refining Clusters[J]. Signal Image and Video Processing, 2014,8(4): 699-721.
[10]楊云青.面向服務的校園信息共享系統(tǒng)設(shè)計與實現(xiàn)[D].南京:南京理工大學,2013.
[11]BASHIR S.Combining Pre-retrieval Query Quality Predictors Using Genetic Programming[J]. Applied Intelligence, 2014,40(3): 525-535.
[12]文軍, 文貴華,丁月華. 面向查詢意圖的搜索引擎設(shè)計與實現(xiàn)[J].計算機應用研究, 2002,19(10): 131-133.
[13]周明建,高濟.知識管理中的聯(lián)想檢索[J]. 計算機應用, 2004,24(7): 25-27.
[14]YAGURA K,KATO Y,KITADA T. Implementation of Publish/Subscribe System on Wireless Mesh Networks Word-mouth Information Distribution Service[C]∥7th Asia-Pacific Symposium on Information and Telecommunication Technologies. [S.l.]:Inst. of Elec. and Elec. Eng. Computer Society, 2008.
[15]方聰.基于對等架構(gòu)的海量遙感數(shù)據(jù)分發(fā)系統(tǒng)的設(shè)計與實現(xiàn)[D].杭州:浙江大學,2013.
引文格式: 胡正華,孟令奎,張文. 面向GIS增量數(shù)據(jù)的訂閱與發(fā)布機制研究[J].測繪通報,2016(1):45-48.DOI:10.13474/j.cnki.11-2246.2016.0011.
作者簡介:胡正華(1986—),男,博士生,研究方向為空間數(shù)據(jù)管理和智能交通系統(tǒng)。E-mail: 927827190@qq.com
基金項目:高分辨率對地觀測系統(tǒng)重大專項(08-Y30B07-9001-13/15)
收稿日期:2014-10-12
中圖分類號:P208
文獻標識碼:B
文章編號:0494-0911(2016)01-0045-04