專利名稱:一種基于ip掩碼技術(shù)的屬性值聚集方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多分布式虛擬環(huán)境建立一個(gè)可以容納大量對(duì)象進(jìn)行動(dòng)態(tài)的快速準(zhǔn)確通訊的結(jié)構(gòu),解決分布式虛擬環(huán)境中的基本通訊問題,即一種基于IP掩碼技術(shù)的屬性值聚集方法。
背景技術(shù):
分布式虛擬環(huán)境(DVE)技術(shù)已經(jīng)成為目前計(jì)算機(jī)領(lǐng)域的一個(gè)熱門學(xué)科,在軍事、醫(yī)學(xué)、建筑、教育及娛樂等眾多領(lǐng)域中都得到了成功的應(yīng)用[1]Singh G,SerraL.Brick NetA Software Toolkit for Network Based Virtual Worlds(Brick Net分布式虛擬環(huán)境的軟件工具包),Presence,1994,3(1)pp.19-34。
網(wǎng)絡(luò)專家認(rèn)為,化身和全景式虛擬環(huán)境是互聯(lián)網(wǎng)發(fā)展的下一階段。據(jù)預(yù)測(cè),10年內(nèi)整個(gè)互聯(lián)網(wǎng)操作系統(tǒng)都將實(shí)現(xiàn)三維化。政府辦公、企業(yè)之間交易、電子購(gòu)物等將在虛擬空間進(jìn)行,其外觀和感受近似于真實(shí)的商場(chǎng);網(wǎng)上教育將在虛擬演講廳內(nèi)實(shí)現(xiàn),一切都與真實(shí)環(huán)境極為相似。人們已邁入Windows界面的桌面世界,用戶可以點(diǎn)擊二維標(biāo)志以執(zhí)行電腦任務(wù),而這些標(biāo)志完全取之于現(xiàn)實(shí)世界,比如圖標(biāo)、按鈕和菜單。人類體驗(yàn)和操縱電腦的方式將不可避免地走向三維網(wǎng)絡(luò)的構(gòu)想。
但是,分布式虛擬環(huán)境的發(fā)展必然有其需要解決的問題,其中最基本的問題就是建立一個(gè)可以容納大量對(duì)象進(jìn)行動(dòng)態(tài)的快速準(zhǔn)確的通訊結(jié)構(gòu),解決這個(gè)問題的基本思路是發(fā)布/訂購(gòu)模型和興趣管理,而隨著應(yīng)用需求的提高,采取屬性關(guān)系表達(dá)式作為興趣管理的表示模型成為分布式虛擬環(huán)境發(fā)展的一種趨勢(shì),而一個(gè)好的興趣表達(dá)式的聚集方法在這樣的系統(tǒng)中尤為重要。
本發(fā)明主要涉及發(fā)布/訂購(gòu)模型中興趣管理的興趣表達(dá)式的聚集方法,特別是針對(duì)目前還沒有比較好的聚集算法的值屬性的聚集進(jìn)行突破,從而進(jìn)一步降低系統(tǒng)的存儲(chǔ)量。
聚集的基本方法是按照某種原則將多個(gè)對(duì)象映射到一個(gè)整體對(duì)象,對(duì)整體對(duì)象的處理等同于對(duì)多個(gè)對(duì)象的處理,其目的是為了減少需要處理的信息量[2]A.Carzaniga and A.L.Wolf,Content-based NetworkingA New CommunicationInfrastructure(基于內(nèi)容的網(wǎng)絡(luò)一種新的通訊架構(gòu)).In NSF Workshop on an1nfrastructure for Mobile and Wireless System,Scottsdale,USA,Oct.2001.
雖然聚集的目標(biāo)是減少信息的存儲(chǔ)量,但同時(shí)必須保證聚集后的區(qū)域中多余區(qū)域最小化,否則冗余的通訊量將大為增加。
目前為止,分布式虛擬環(huán)境中訂購(gòu)區(qū)域用多個(gè)屬性的值域或值組成的結(jié)構(gòu)表示,稱為一個(gè)興趣表達(dá)式●值域表示——描述了高維空間范圍;●值表示——描述了空間中的離散點(diǎn)或集合。
其中每一個(gè)屬性是一個(gè)三元組,包括屬性值的類型、屬性名稱和屬性值/值域。同一個(gè)興趣表達(dá)式中多個(gè)屬性條件是邏輯與的關(guān)系,不同興趣表達(dá)式之間的是邏輯或的關(guān)系。
因此,聚集的算法也就可以大致分為兩類,對(duì)值域?qū)傩缘木奂惴ê蛯?duì)值屬性的聚集算法,但這兩類聚集方法存在本質(zhì)的不同。
對(duì)于第一類值域?qū)傩缘木奂?,目前的發(fā)布/定購(gòu)系統(tǒng)中已經(jīng)有很多方法[3]AntonRiabov,Zhen Liu,Joel L.Wolf,Philip S.Yu,Li Zhang,Clustering Algorithms forContent-Based Publication-Subscription Systems(基于內(nèi)容的發(fā)布/訂購(gòu)系統(tǒng)中的聚集算法).22nd Intemational Conference on distributed Computing Systems(ICDCS’02),July 02-05,2002 Vienna,Austria,P.133[4]S.Zabele,M.Dorsch,Z.Ge,P.Ji,M.Keaton,J.Kurose,J.Shapiro,and D.Towsley.SandsSpecialized activenetworking for distributed simulation(Sands面向分布式仿真的主動(dòng)網(wǎng)絡(luò)).InDARPA Active Networks Conference and Exposition(DANCE),San Francisco,Califomia,USA,May 2002。如Zabele就借鑒了[5]W.H.Equitz,A New VectorQuantization Clustering Algorithm(一種新的向量量子化的聚集算法),IEEE Trans.ASSP,Vol.37,No.10,October 1989.中的Fast Pair-wise Nearest Neighbor(FastPNN)算法,采用向量化的方法,給出了一種聚集值域?qū)傩缘目焖俜椒?,?fù)雜度是O(nlog2n),其中n是興趣表達(dá)式的個(gè)數(shù)。
但是對(duì)于第二類值屬性的聚集則比較困難,目前來(lái)說(shuō)并沒有比較有效優(yōu)秀的算法,很多發(fā)布/定購(gòu)系統(tǒng)只是簡(jiǎn)單的將屬性值作為離散值合并入一個(gè)集合,如Triantafillou在[6]Peter Triantafillou and Andreas Economides,SubscriptionSummaries for Scalability and Efficiency in Publish/Subscribe Systems(發(fā)布訂購(gòu)系統(tǒng)中高效可擴(kuò)展的訂購(gòu)概要),2001.中提出的一個(gè)算法,通過判斷發(fā)布消息中的元素(屬性值)是否屬于集合來(lái)決定是否轉(zhuǎn)發(fā),但此時(shí),集合中的元素個(gè)數(shù)仍然等于表達(dá)式的個(gè)數(shù),可以說(shuō)這種方法實(shí)際上并沒有達(dá)到聚集的目的。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)目前聚集算法主要集中在值域?qū)傩缘木奂矫妫袥]有針對(duì)值屬性的聚集的現(xiàn)狀,借鑒了TCP/IP網(wǎng)絡(luò)中的網(wǎng)絡(luò)地址和掩碼的計(jì)算的技巧,設(shè)計(jì)出的一種簡(jiǎn)單的值聚集的方法,從而減少系統(tǒng)需要處理的信息量,降低系統(tǒng)存儲(chǔ)量,提高整個(gè)系統(tǒng)的運(yùn)行效率。
針對(duì)目前聚集技術(shù)在值屬性聚集方面的空白,本發(fā)明借鑒IP協(xié)議中超網(wǎng)/子網(wǎng)的構(gòu)建方法,利用TCP/IP網(wǎng)絡(luò)中計(jì)算網(wǎng)絡(luò)地址和掩碼的方法,提出了一種值屬性的聚集方法。這個(gè)方法不僅實(shí)現(xiàn)了值屬性的聚集,還可以實(shí)現(xiàn)值屬性的超集/子集(集合)關(guān)系。
基于IP掩碼技術(shù)的屬性值聚集方法計(jì)算方法1.將值屬性通過散列函數(shù)映射為一個(gè)32位的位向量,即一個(gè)二進(jìn)制整數(shù)。不論屬性值是何種類型(如字符串或者整數(shù)),都可以進(jìn)行這樣的映射。對(duì)n個(gè)表達(dá)式中的相同屬性,假設(shè)它們分別被映射到位向量V1、V2、...、Vn。
2.計(jì)算TAG-ID=V1&V2&...&Vn,其中&表示“按位與”運(yùn)算。
“與”操作將n個(gè)初始位向量中不同的位置零,相同的位保持不變。因此TAG-ID表示n個(gè)位向量的相同部分,相當(dāng)于子網(wǎng)中的網(wǎng)絡(luò)地址。
3.計(jì)算V1|V2|...|Vn,其中|表示“按位或”運(yùn)算。
這個(gè)向量中值為1的位表示至少有一個(gè)初始位向量在該位置是1。也就是將n個(gè)初始位向量中不同的位都置1,而相同的位不變。
將這個(gè)向量與TAG-ID進(jìn)行邏輯異或運(yùn)算后得到一個(gè)掩碼MASK=~((V1&V2&...&Vn)^(V1|V2|...|Vn))其中“~”表示邏輯非運(yùn)算,“^”表示邏輯與運(yùn)算。
由此,興趣表達(dá)式中的值屬性可以用TAG-ID/MASK表示,從而不需再使用具體的數(shù)值或字符。
判斷方法有了TAG-ID/MASK就可以用來(lái)判斷一個(gè)向量是否(不)在集合{V1、V2、...Vn}中。判斷方法如下a.給定位向量P,如果(P&MASK)^TAG-ID?。?,那么P必定不在集合{V1、V2、...Vn}中。
b.反之,不能判斷P是否在上述集合中。
在(P&MASK)^TAG-ID=0的條件下,誤判的概率是(1-n/2k),其中k是MASK中0的個(gè)數(shù),也就是n個(gè)位向量中值不相同的位的個(gè)數(shù),這些不相同的位本可以表示2k個(gè)不同的位向量,這里只用來(lái)表示n個(gè)位向量,因此也就有(2k-n)個(gè)位向量雖然不在集合中,但滿足(P&MASK)^TAG-ID=0的條件。因此,冗余信息量的多少就跟誤判率有直接的關(guān)系。不過只要映射后的位向量中不同的位的個(gè)數(shù)k盡量小,也能達(dá)到足夠的局部性使得誤判率較小。
雖然上述方法將n個(gè)位向量聚集成一個(gè)位向量,但考慮到誤判率,為了進(jìn)一步減少冗余通訊量,在實(shí)際操作中,往往參考現(xiàn)有的一些值域?qū)傩缘木奂椒?,采用多個(gè)位向量表示聚集的結(jié)果。
一種改進(jìn)的值屬性聚集的方法是逐個(gè)將距離最近的位向量聚集,直到聚集后的位向量個(gè)數(shù)達(dá)到預(yù)定的值(PNN算法)。兩個(gè)位向量之間的距離可以定義為兩個(gè)向量中相同的位的個(gè)數(shù)或者個(gè)數(shù)的某種函數(shù)。
更好的方法是可以采用與值域?qū)傩灶愃频膶哟问骄奂椒ㄗ皂斚蛳碌臉?gòu)造層次樹。或者也可以在值域?qū)傩缘膶哟问骄奂?,按照聚集的結(jié)果將同一組興趣表達(dá)式中的屬性值合并在一個(gè)屬性值中,從而形成單個(gè)興趣表達(dá)式。
圖1為本發(fā)明的聚集示意2為本發(fā)明的實(shí)施例流程圖一個(gè)好的聚集算法必須保證聚集后的區(qū)域中多余區(qū)域(附圖1右圖中虛線框內(nèi)但又不屬于原來(lái)黑框的部分)最小化,否則冗余的通訊量將大為增加。
具體實(shí)施方法本發(fā)明的方法主要借鑒IP協(xié)議中超網(wǎng)/子網(wǎng)的構(gòu)建方式,利用TCP/IP網(wǎng)絡(luò)中計(jì)算網(wǎng)絡(luò)地址和掩碼的方法。超網(wǎng)(SuperNetting)和子網(wǎng)(SubNetting)是類似的概念超網(wǎng)技術(shù)是把一些小網(wǎng)絡(luò)組合成一個(gè)大網(wǎng)絡(luò)--超網(wǎng)。而子網(wǎng)把大網(wǎng)絡(luò)分成若干小網(wǎng)絡(luò),IP地址根據(jù)子網(wǎng)掩碼分為相對(duì)獨(dú)立的網(wǎng)絡(luò)地址和主機(jī)地址,子網(wǎng)使我們可以擁有新的規(guī)模的網(wǎng)絡(luò),包括很小的用于點(diǎn)到點(diǎn)連接的網(wǎng)絡(luò),子網(wǎng)掩碼實(shí)際上是一個(gè)32位地址,用于屏蔽IP地址的一部分以區(qū)別網(wǎng)絡(luò)標(biāo)識(shí)和主機(jī)標(biāo)識(shí),并說(shuō)明該IP地址是在局域網(wǎng)上,還是在遠(yuǎn)程網(wǎng)上。
本發(fā)明的方法與上述技術(shù)類似,可以應(yīng)用到多個(gè)領(lǐng)域。
實(shí)施例類似溫度、濕度等多類數(shù)據(jù)都可以通過上述的基于IP掩碼技術(shù)的屬性值聚集方法,經(jīng)過聚集、概括等操作后表現(xiàn)為較高的形式,從而便于進(jìn)一步的處理。
第一階段,將需要聚集的數(shù)據(jù)如溫度、濕度等通過散列函數(shù)映射為一個(gè)32位的位向量,即一個(gè)二進(jìn)制整數(shù)。不論屬性值是何種類型(如字符串或者整數(shù)),都可以進(jìn)行這樣的映射。假設(shè)有n個(gè)數(shù)據(jù),則它們分別被映射到位向量V1、V2、...、Vn。
第二階段,計(jì)算TAG-ID=V1&V2&...&Vn,其中“&”表示“按位與”運(yùn)算。
“與”操作將n個(gè)初始位向量中不同的位置零,相同的位保持不變。因此TAG-ID表示n個(gè)位向量的相同部分,相當(dāng)于子網(wǎng)中的網(wǎng)絡(luò)地址。
之后第三階段,計(jì)算V1|V2|...|Vn,其中|表示“按位或”運(yùn)算。
所得的向量中值為1的位表示至少有一個(gè)初始位向量在該位置是1。也就是將n個(gè)初始位向量中不同的位都置1,而相同的位不變。
將這個(gè)向量與第二階段計(jì)算所得的TAG-ID進(jìn)行邏輯異或運(yùn)算后將得到一個(gè)掩碼MASK=~((V1&V2&...&Vn)^(V1|V2|...|Vn))其中“~”表示邏輯非運(yùn)算,“^”表示邏輯與運(yùn)算。
由此,多個(gè)數(shù)據(jù)可以用一個(gè)向量TAG-ID/MASK來(lái)表示,從而不需再使用具體的數(shù)值或字符。
聚集完成后,可以使用下述判斷方法來(lái)判斷某個(gè)數(shù)據(jù)是否屬于之前的數(shù)據(jù)向量集合{V1、V2、...Vn}。判斷方法如下a.給定某個(gè)數(shù)據(jù)映射到的位向量P,如果(P&MASK)^TAG-ID!=0,那么這個(gè)數(shù)據(jù)向量必定不在集合{V1、V2、...Vn}中。
b.反之,不能判斷這個(gè)數(shù)據(jù)是否在上述集合中。
當(dāng)前,隨著Internet的廣泛使用及網(wǎng)絡(luò)條件的不斷改善,基于Internet的分布式虛擬環(huán)境應(yīng)用領(lǐng)域不斷擴(kuò)大,特別在軍事仿真、教育、娛樂及其他商業(yè)領(lǐng)域有著廣闊的發(fā)展前景,但作為一個(gè)比較大的研究領(lǐng)域,分布式虛擬環(huán)境涉及很多技術(shù),面臨不少的問題,最迫切需要的就是建立能容納大量的用戶進(jìn)行快速準(zhǔn)確的動(dòng)態(tài)通訊架構(gòu),因此,對(duì)于參與的用戶的興趣表示進(jìn)行聚集,是分布式虛擬環(huán)境領(lǐng)域發(fā)展的趨勢(shì),而本發(fā)明的算法可以說(shuō)正是適應(yīng)了這種需求,填補(bǔ)了現(xiàn)有聚集技術(shù)在值聚集方面的空白,不僅在分布式虛擬環(huán)境領(lǐng)域,同時(shí)其它現(xiàn)實(shí)生活中的應(yīng)用領(lǐng)域,例如郵政系統(tǒng)等,都可以運(yùn)用同樣的思想來(lái)解決擴(kuò)展性問題,因此有著良好的市場(chǎng)前景。
生產(chǎn)條件和成本本發(fā)明是提供該方法的實(shí)現(xiàn)思想和計(jì)算機(jī)程序,不需要特別的生產(chǎn)條件,一旦研究成功成本幾乎可忽略不計(jì)。
權(quán)利要求
1.基于IP掩碼技術(shù)的屬性值聚集方法其特征是包括計(jì)算方法和判斷方法,計(jì)算方法的過程如下1.)將值屬性通過散列函數(shù)映射為一個(gè)32位的位向量,即一個(gè)二進(jìn)制整數(shù)。不論屬性值是何種類型(如字符串或者整數(shù)),都可以進(jìn)行這樣的映射。對(duì)n個(gè)表達(dá)式中的相同屬性,假設(shè)它們分別被映射到位向量V1、V2、…、Vn。2.)計(jì)算TAG-ID=V1&V2&…&Vn,其中&表示“按位與”運(yùn)算?!芭c”操作將n個(gè)初始位向量中不同的位置零,相同的位保持不變。因此TAG-ID表示n個(gè)位向量的相同部分,相當(dāng)于子網(wǎng)中的網(wǎng)絡(luò)地址;3.)計(jì)算V1|V2|…|Vn,其中|表示“按位或”運(yùn)算,這個(gè)向量中值為1的位表示至少有一個(gè)初始位向量在該位置是1,也就是將n個(gè)初始位向量中不同的位都置1,而相同的位不變;將這個(gè)向量與TAG-ID進(jìn)行邏輯異或運(yùn)算后得到一個(gè)掩碼MASK=~((V1&V2&...&Vn)^(V1|V2|…|Vn))其中“~”表示邏輯非運(yùn)算,“^”表示邏輯與運(yùn)算。由此,興趣表達(dá)式中的值屬性可以用TAG-ID/MASK表示,從而不需再使用具體的數(shù)值或字符;判斷方法的過程如下有了TAG-ID/MASK就可以用來(lái)判斷一個(gè)向量是否(不)在集合{V1、V2、…Vn}中。判斷方法如下a.給定位向量P,如果(P&MASK)^TAG-ID?。?,那么P必定不在集合{V1、V2、…Vn}中;b.反之,不能判斷P是否在上述集合中;在(P&MASK)^TAG-ID=0的條件下,誤判的概率是(1-n/2k),其中k是MASK中0的個(gè)數(shù),也就是n個(gè)位向量中值不相同的位的個(gè)數(shù),這些不相同的位本可以表示2k個(gè)不同的位向量,這里只用來(lái)表示n個(gè)位向量,因此也就有(2k-n)個(gè)位向量雖然不在集合中,但滿足(P&MASK)^TAG-ID=0的條件。
全文摘要
基于IP掩碼技術(shù)的屬性值聚集方法包括計(jì)算方法和判斷方法,計(jì)算方法的過程如下1.將值屬性通過散列函數(shù)映射為一個(gè)32位的位向量,即一個(gè)二進(jìn)制整數(shù)。2.計(jì)算TAG-ID=V
文檔編號(hào)H04L12/24GK1697400SQ20051004061
公開日2005年11月16日 申請(qǐng)日期2005年6月20日 優(yōu)先權(quán)日2005年6月20日
發(fā)明者潘金貴, 貝佳, 翟磊, 曾定浩, 盧威 申請(qǐng)人:南京大學(xué)