]圖2所示為本發(fā)明方法一實施例的執(zhí)行過程。現(xiàn)有一資源本體,如圖2 (a)所示,當(dāng)前ce為I位五進制碼,則rce = 4,設(shè)置LENGTH = 5,編碼空間為[00000,44444]。當(dāng)有新資源時,通過實例與類匹配將其映射至了本體類B ;然后對新資源進行編碼,因此資源的編碼為02144與10044 ;然后在節(jié)點02134與節(jié)點10144處進行注冊。當(dāng)有新請求時,先將其映射至本體類,如類C ;然后進行編碼,請求的編碼為10,并生成可滿足請求的資源集合Q={q I 10000 ^ q ( 10444};最后開始在覆蓋網(wǎng)絡(luò)中查詢資源,如圖2(b)所示。請求轉(zhuǎn)發(fā)至與其有最長相同前綴的節(jié)點;然后查詢本地資源,并繼續(xù)轉(zhuǎn)發(fā)至Q與L交集中的節(jié)點,重復(fù)執(zhí)行本步,直至交集為空。所有存在合適、可用資源的節(jié)點,將資源信息返回給用戶。
[0025]另一方面,上述的編碼模塊所執(zhí)行的編碼包括資源編碼與請求編碼,其中資源編碼的執(zhí)行流程為:首先,為所有Superclass-Subclass關(guān)系賦予一個ce,滿足以下規(guī)則:同一個父類與其子類之間的所有Superclass-Subclass關(guān)系上的ce —定各不相同。然后,采用貝葉斯網(wǎng)絡(luò)法將資源映射至相應(yīng)的本體葉子類。最后,組合從根類到對應(yīng)類路徑上的所有ce,生成資源編碼;當(dāng)有多條路徑存在時,生成所有資源編碼;同時,對于長度不足LENGTH的部分采用rce補全。其中,符號定義如下:LENGTH:資源編碼規(guī)定長度,其值要略大于對應(yīng)本體的高度;ce:碼元,一個長度較短的數(shù)字串,可根據(jù)需要設(shè)定其數(shù)制、長度等屬性,最大值一定大于本體最大子類數(shù);rce:占位符,rce = max (CE),rce將作為系統(tǒng)保留值,不在初始化本體中使用。
[0026]請求編碼的執(zhí)行流程與資源編碼大體相同。但請求可以被映射至所有本體類,而非僅葉子類;同時請求編碼僅由從根類到相應(yīng)類路徑上的ce組成,長度任意,無需rce補齊。通過編碼,針對于多個〈屬性,值 > 對的復(fù)雜查詢轉(zhuǎn)化為針對于單個確定資源的查詢,而且所得到的請求編碼可以生成,包含所有滿足用戶請求資源的編碼集合Q。
[0027]覆蓋網(wǎng)絡(luò)構(gòu)建規(guī)則為:新加入節(jié)點隨機地從資源編碼空間中選擇一個未被其他節(jié)點占用的編碼,作為節(jié)點的編碼。編碼確定后,節(jié)點采用慢加入方式加入覆蓋網(wǎng)絡(luò)。覆蓋網(wǎng)絡(luò)按照FreePastry方式進行構(gòu)建,節(jié)點將組織為一個一維環(huán)。
[0028]資源信息存儲規(guī)則為:資源信息存儲在系統(tǒng)相應(yīng)節(jié)點中。在整個覆蓋網(wǎng)絡(luò)中,節(jié)點的編碼與其所存儲資源的編碼擁有最長共同前綴;
資源注冊的方式為:資源需要在與其編碼擁有最長共同前綴的節(jié)點處注冊,并將該資源信息傳輸至合適位置。如果資源擁有多個編碼,則該資源信息需要存儲在所對應(yīng)的所有位置。資源信息的更新采用了軟狀態(tài)(Soft State)策略。當(dāng)完成注冊后,源節(jié)點會周期性地更新資源信息,存儲該信息的節(jié)點會為這部分信息設(shè)置一個時鐘。如果時鐘超時前有更新信息到達,則更新對應(yīng)項,并向源節(jié)點發(fā)送回復(fù)消息,初始化時鐘。
[0029]資源查詢的執(zhí)行步驟為在基于本體編碼執(zhí)行流程的基礎(chǔ)上,擴展了 FreePastry資源查詢算法。具體的步驟如下:
步驟1:將用戶請求轉(zhuǎn)發(fā)至目的節(jié)點,并轉(zhuǎn)步驟2 ;
步驟2:目的節(jié)點查看是否存儲有滿足該請求的資源的信息,若沒有則返回空,并轉(zhuǎn)步驟4,否則將合適資源信息加入結(jié)果集,并轉(zhuǎn)步驟3 ;
步驟3:目的節(jié)點檢測本地葉子集L與請求的資源編碼集Q是否有交集,如果沒有,則轉(zhuǎn)步驟4,否則將請求發(fā)送給交集中的所有節(jié)點,并轉(zhuǎn)步驟2 ;
步驟4:查詢結(jié)束。
[0030]需要說明的是,針對基于結(jié)構(gòu)化P2P的資源發(fā)現(xiàn)協(xié)議無法有效支持復(fù)雜查詢與資源查詢效果差的問題,研宄者提出了一種基于本體的資源發(fā)現(xiàn)協(xié)議,即上述的系統(tǒng)與方法。該協(xié)議利用本體類的層次結(jié)構(gòu),實現(xiàn)了基于本體的編碼算法,并在此基礎(chǔ)上擴展了FreePastry協(xié)議。采用基于本體的編碼算法,< 屬性,值 > 對的描述轉(zhuǎn)化為確定的本體類,從而解決了復(fù)雜查詢問題。通過編碼,本體中類型相近的資源的信息存儲在編碼相鄰的節(jié)點中,請求編碼則包含所有合適資源的編碼,使得擴展后的FreePastry協(xié)議可以充分查詢所有的合適資源。與現(xiàn)有協(xié)議相比,該協(xié)議僅需維護一個編碼空間,而且編碼空間擁有良好的靈活性與擴展性,系統(tǒng)開銷低。仿真實驗實驗表明,該協(xié)議可以在保證FreePastry效率的前提下,解決復(fù)雜查詢問題,并提高查全率與查準率。
[0031]除上述以外,還需要說明的是在本說明書中所談到的“一個實施例”、“另一個實施例”、“實施例”等,指的是結(jié)合該實施例描述的具體特征、結(jié)構(gòu)或者特點包括在本申請概括性描述的至少一個實施例中。在說明書中多個地方出現(xiàn)同種表述不是一定指的是同一個實施例。進一步來說,結(jié)合任一實施例描述一個具體特征、結(jié)構(gòu)或者特點時,所要主張的是結(jié)合其他實施例來實現(xiàn)這種特征、結(jié)構(gòu)或者特點也落在本發(fā)明的范圍內(nèi)。
[0032]盡管這里參照本發(fā)明的多個解釋性實施例對本發(fā)明進行了描述,但是,應(yīng)該理解,本領(lǐng)域技術(shù)人員可以設(shè)計出很多其他的修改和實施方式,這些修改和實施方式將落在本申請公開的原則范圍和精神之內(nèi)。更具體地說,在本申請公開、附圖和權(quán)利要求的范圍內(nèi),可以對主題組合布局的組成部件和/或布局進行多種變型和改進。除了對組成部件和/或布局進行的變型和改進外,對于本領(lǐng)域技術(shù)人員來說,其他的用途也將是明顯的。
【主權(quán)項】
1.一種基于本體的資源發(fā)現(xiàn)系統(tǒng),其特征在于所述的系統(tǒng)包括: 實例與類匹配模塊,用于將資源或/和請求映射至本體類; 編碼模塊,用于對資源或/和請求進行分別編碼; 資源注冊模塊,用于將資源在與其編碼擁有最長共同前綴的節(jié)點處注冊,并將該資源信息傳輸至合適位置,且提供并維護資源信息; 資源查詢模塊,用于按照請求編碼生成的集合,在覆蓋網(wǎng)絡(luò)中查詢合適的、可用的資源; 覆蓋網(wǎng)絡(luò),用于組織節(jié)點,負責(zé)新節(jié)點加入的相關(guān)動作,當(dāng)有新節(jié)點出現(xiàn)時,節(jié)點按照慢加入方式進入覆蓋網(wǎng)絡(luò)。
2.根據(jù)權(quán)利要求1所述的基于本體的資源發(fā)現(xiàn)系統(tǒng),其特征在于:所述編碼模塊用于為本體類中所有Superclass-Subclass關(guān)系賦予一個ce,再采用貝葉斯網(wǎng)絡(luò)法將資源映射至相應(yīng)的本體葉子類,最后,組合從根類到對應(yīng)類路徑上的所有ce,生成資源編碼。
3.根據(jù)權(quán)利要求2所述的基于本體的資源發(fā)現(xiàn)系統(tǒng),其特征在于:所述編碼模塊為本體類中所有Superclass-Subclass關(guān)系賦予一個ce時,同一個父類與其子類之間的所有Superclass-Subclass關(guān)系上的ce各不相同。
4.根據(jù)權(quán)利要求1至3任意一項所述的基于本體的資源發(fā)現(xiàn)系統(tǒng),其特征在于:所述編碼模塊用于為本體類中所有Superclass-Subclass關(guān)系賦予一個ce,再采用貝葉斯網(wǎng)絡(luò)法將請求映射至所有本體類,最后,組合從根類到對應(yīng)類路徑上的所有ce,生成請求編碼。
5.一種基于本體的資源發(fā)現(xiàn)的實現(xiàn)方法,其特征在于所述的方法包括如下步驟: 實例與類匹配模塊將資源或/和請求映射至本體類; 編碼模塊對資源或/和請求進行分別編碼; 資源注冊模塊將資源在與其編碼擁有最長共同前綴的節(jié)點處注冊,并將該資源信息傳輸至合適位置,且提供并維護資源信息; 資源查詢模塊按照請求編碼生成的集合,在覆蓋網(wǎng)絡(luò)中查詢合適的、可用的資源。
6.根據(jù)權(quán)利要求5所述的基于本體的資源發(fā)現(xiàn)的實現(xiàn)方法,其特征在于所述的方法還包括:覆蓋網(wǎng)絡(luò)組織節(jié)點,負責(zé)新節(jié)點加入的相關(guān)動作,當(dāng)有新節(jié)點出現(xiàn)時,節(jié)點按照慢加入方式進入覆蓋網(wǎng)絡(luò)。
7.根據(jù)權(quán)利要求5或6所述的基于本體的資源發(fā)現(xiàn)的實現(xiàn)方法,其特征在于所述資源查詢模塊在覆蓋網(wǎng)絡(luò)中查詢資源的步驟為: 步驟A:將用戶請求轉(zhuǎn)發(fā)至目的節(jié)點,并轉(zhuǎn)步驟B ; 步驟B:目的節(jié)點查看是否存儲有滿足該請求的資源的信息,若沒有則返回空,并轉(zhuǎn)步驟D,否則將合適資源信息加入結(jié)果集,并轉(zhuǎn)步驟C ; 步驟C:目的節(jié)點檢測本地葉子集與請求的資源編碼集是否有交集,如果沒有,則轉(zhuǎn)步驟D,否則將請求發(fā)送給交集中的所有節(jié)點,并轉(zhuǎn)步驟B; 步驟D:查詢結(jié)束。
8.根據(jù)權(quán)利要求7所述的基于本體的資源發(fā)現(xiàn)的實現(xiàn)方法,其特征在于:所述編碼模塊進行資源編碼的方式為將本體類中所有Superclass-Subclass關(guān)系賦予一個ce,再采用貝葉斯網(wǎng)絡(luò)法將資源映射至相應(yīng)的本體葉子類,最后,組合從根類到對應(yīng)類路徑上的所有ce,生成資源編碼。
9.根據(jù)權(quán)利要求8所述的基于本體的資源發(fā)現(xiàn)的實現(xiàn)方法,其特征在于:所述編碼模塊為本體類中所有Superclass-Subclass關(guān)系賦予一個ce時,同一個父類與其子類之間的所有Superclass-Subclass關(guān)系上的ce各不相同。
10.根據(jù)權(quán)利要求8所述的基于本體的資源發(fā)現(xiàn)的實現(xiàn)方法,其特征在于:所述編碼模塊進行資源編碼的方式為將本體類中所有Superclass-Subclass關(guān)系賦予一個ce,再采用貝葉斯網(wǎng)絡(luò)法將請求映射至所有本體類,最后,組合從根類到對應(yīng)類路徑上的所有ce,生成請求編碼。
【專利摘要】本發(fā)明公開了一種基于本體的資源發(fā)現(xiàn)系統(tǒng)及方法,所述的系統(tǒng)包括:實例與類匹配模塊,用于將資源或/和請求映射至本體類(指資源本體);編碼模塊,用于對資源或/和請求進行分別編碼;資源注冊模塊,用于將資源在與其編碼擁有最長共同前綴的節(jié)點處注冊,并將該資源信息傳輸至合適位置,且提供并維護資源信息;資源查詢模塊,用于按照請求編碼生成的集合,在覆蓋網(wǎng)絡(luò)中查詢合適的、可用的資源等;本發(fā)明以本體層次結(jié)構(gòu)為基礎(chǔ),實現(xiàn)了資源與請求編碼算法;在此基礎(chǔ)上,進一步實現(xiàn)了資源注冊與資源查詢算法。使基于結(jié)構(gòu)化P2P的資源發(fā)現(xiàn)協(xié)議可以有效支持復(fù)雜查詢,并提高了查全率與查準率。
【IPC分類】G06F17-30
【公開號】CN104731930
【申請?zhí)枴緾N201510142958
【發(fā)明人】苗壯, 李陽, 喬艷玲, 徐偉光, 王家寶, 陸建江, 張千千
【申請人】中國人民解放軍理工大學(xué)
【公開日】2015年6月24日
【申請日】2015年3月30日