基于語義p2p網(wǎng)絡(luò)技術(shù)的樹形群組即時消息通訊方法
【專利說明】基于語義P2P網(wǎng)絡(luò)技術(shù)的樹形群組即時消息通訊方法
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及計算機網(wǎng)絡(luò)數(shù)據(jù)通信領(lǐng)域,具體涉及基于語義P2P網(wǎng)絡(luò)技術(shù)的樹形群組即時消息通訊方法。
【背景技術(shù)】
[0003]傳統(tǒng)的即時通訊系統(tǒng)用戶可以與其他用戶通訊,也可以在群組內(nèi)與群內(nèi)所有用戶通訊。騰訊是國內(nèi)外比較成功的企業(yè),它的產(chǎn)品QQ是世界上用戶最多的即時通訊系統(tǒng)。然而,目前的即時通訊系統(tǒng)存在不能為多個相關(guān)群組(例如企業(yè)中上下級部門)同時發(fā)消息的問題。傳統(tǒng)的即時通訊系統(tǒng)采用客戶機/服務(wù)器結(jié)構(gòu)。當(dāng)向千萬級用戶同時發(fā)送消息時,會遇到網(wǎng)路阻塞的問題。本方法采用語義P2P網(wǎng)絡(luò)技術(shù)(一種基于P2P的查找有關(guān)節(jié)點子集合的方法,專利號:200910096247;—種建立基于P2P的大規(guī)模分布式文件系統(tǒng)的方法,專利號:200910097651;—種構(gòu)建具有語義的P2P網(wǎng)絡(luò)的方法,專利號:200910100682; —種構(gòu)建垂直虛擬組的P2P網(wǎng)絡(luò)的方法,專利號:200910100926)構(gòu)建即時通訊系統(tǒng)能很好的解決以上問題。
【發(fā)明內(nèi)容】
[0004]一種基于語義P2P網(wǎng)絡(luò)技術(shù)的樹形群組即時消息通訊方法,其特征在于:1)建立必須有且僅有一個根目錄虛擬組的樹形分類網(wǎng)站;2 )用戶根據(jù)興趣加入或退出到相關(guān)的虛擬組;3)節(jié)點向群組內(nèi)用戶(其中上級群組包含所有下級群組的用戶節(jié)點)發(fā)送即時消息。
[0005]根據(jù)權(quán)利要求1所述的建立必須有且僅有一個根目錄虛擬組的樹形分類網(wǎng)站,其中分類方法根據(jù)機構(gòu)、組織的特點按分類方法分為各種垂直的樹形組織,分類可以按權(quán)限進行修改。
[0006]根據(jù)權(quán)利要求2所述的用戶根據(jù)興趣加入或退出到相關(guān)的虛擬組,其中用戶加入相關(guān)的虛擬組(可以加入多個虛擬組),系統(tǒng)記錄其為此虛擬組的節(jié)點,用戶退出相關(guān)的虛擬組,系統(tǒng)刪除記其為此虛擬組的節(jié)點的記錄。
[0007]根據(jù)權(quán)利要求3所述的節(jié)點向群組內(nèi)用戶(其中上級群組包含所有下級群組的用戶節(jié)點)發(fā)送即時消息,其中消息格式:發(fā)送“消息”群組ID;群組ID按DNS域名規(guī)則編碼;發(fā)送消息到葉節(jié)點群組(沒有子群組的群組),消息發(fā)送到此葉節(jié)點群組所有用戶;發(fā)送消息到節(jié)點群組(含子群組的群組),消息發(fā)送到所有下屬群組的所有用戶。
[0008]根據(jù)權(quán)利要求3所述的節(jié)點向群組內(nèi)用戶(其中上級群組包含所有下級群組的用戶節(jié)點)發(fā)送即時消息,其中3 a)用戶根據(jù)自己加入的虛擬組構(gòu)建虛擬組樹,此虛擬組涵蓋所有用戶加入的虛擬組;3 b)用戶向自己群組的用戶節(jié)點發(fā)送消息;3c)如果還有需要發(fā)送的群組,則通過中間節(jié)點查找其路由表,轉(zhuǎn)發(fā)即時消息到更接近目標(biāo)虛擬組域名的鄰近節(jié)點作為下一跳節(jié)點,重復(fù)步驟3 c )到達最終葉虛擬組,然后發(fā)送到所有的葉虛擬組成員;3d)目標(biāo)用戶接受即時消息。
[0009]構(gòu)建垂直樹形虛擬組語義P 2 P網(wǎng)絡(luò)的步驟:
機構(gòu)、組織、行業(yè)等實體單位根據(jù)特定分類方法(可以由專家制定,也可以由用戶投票決定)進行分類,形成樹形分類目錄;分類目錄的表示方法跟DNS類似。例如,公司.1T.杭州域竹科技有限公司為杭州域竹科技有限公司,屬于IT類公司。建立網(wǎng)站發(fā)布這些分類目錄。目錄具有唯一總根,沒有子目錄的目錄稱為葉目錄。網(wǎng)站賦予一定級別的用戶增加、修改和刪除目錄的能力。
[0010]用戶根據(jù)興趣加入或退出到相關(guān)的虛擬組的步驟:
用戶加入相關(guān)的虛擬組(可以加入多個虛擬組),系統(tǒng)記錄其為此虛擬組的節(jié)點;用戶退出相關(guān)的虛擬組,系統(tǒng)刪除記其為此虛擬組的節(jié)點的記錄;也可賦予用戶能否加入虛擬組的權(quán)限。用戶加入相關(guān)虛擬組,則此虛擬組的所有成員都被此用戶感知。也可以相互發(fā)送消息。在網(wǎng)絡(luò)上是可達的。
[0011]節(jié)點向群組內(nèi)用戶發(fā)送即時消息的步驟:
用戶根據(jù)自己加入的虛擬組構(gòu)建虛擬組樹,此虛擬組涵蓋所有用戶加入的虛擬組。如用戶加入娛樂.音樂.流行音樂.劉歡、娛樂.音樂.流行音樂.阿黛爾群組以及公司.1T.杭州域竹科技有限公司,則用戶將構(gòu)建虛擬樹如下:
娛樂
Vr.ΓΤ.曰爾
流行音樂劉歡.阿黛爾
公司IT
杭州域竹科技有限公司
同時,知道劉歡、阿黛爾以及杭州域竹科技有限公司的所有加入成員。根據(jù)“一種基于P2P的查找有關(guān)節(jié)點子集合的方法,專利號:200910096247”的方法整個系統(tǒng)將構(gòu)建系統(tǒng)的虛擬組樹,如劉歡群組內(nèi)成員A同時是娛樂.音樂.流行音樂.劉歡虛擬組、娛樂.音樂.流行音樂虛擬組以及娛樂.音樂虛擬組的成員等等。
[0012]消息格式可以為發(fā)送(send) ‘消息’虛擬組ID。虛擬組ID為標(biāo)示虛擬組類似DNS的名稱(如公司.1T.杭州域竹科技有限公司)。如果發(fā)送的虛擬組ID是葉虛擬組,則發(fā)送消息到此虛擬組的所有成員,則結(jié)束。如果發(fā)送的虛擬組ID不是葉虛擬組,包括其他子虛擬組,則通過中間節(jié)點查找其路由表,轉(zhuǎn)發(fā)即時消息到更接近目標(biāo)虛擬組域名的鄰近節(jié)點作為下一跳節(jié)點,重復(fù)此步驟到達最終用戶葉虛擬組,然后發(fā)送到所有的葉虛擬組成員。
[0013]假設(shè)有三個虛擬組:大學(xué)課程.操作系統(tǒng).全英班、大學(xué)課程.操作系統(tǒng).雙語班以及大學(xué)課程.C語言.普通班;大學(xué)課程.操作系統(tǒng).全英班成員為41^2^3^4^5;大學(xué)課程.操作系統(tǒng).雙語班成員為BI,B2, B3, B4, B5 ;大學(xué)課程.C語言.普通班成員為Cl、C2、C3、C4、C5、C6。其中A2、A3、B1、B4是大學(xué)課程.操作系統(tǒng)虛擬組的成員,而A3、B1也是大學(xué)課程的虛擬成員。C5、C6則是大學(xué)課程.C語言的虛擬成員,而C6則是大學(xué)課程的虛擬成員。當(dāng)Al發(fā)送消息到操作系統(tǒng),則由于Al在大學(xué)課程.操作系統(tǒng).全英班,Al發(fā)送消息到所有的大學(xué)課程.操作系統(tǒng).全英班的成員,也就是A1,A2,A3,A4,A5。由于還要發(fā)送大學(xué)課程.操作系統(tǒng).雙語班,由于A2、A3是大學(xué)課程.操作系統(tǒng)虛擬組的成員,A2或A3發(fā)送消息給同是大學(xué)課程.操作系統(tǒng)的B1、B4; BI或B4發(fā)送消息到大學(xué)課程.操作系統(tǒng).雙語班的所有成員B1、B2、B3、B4、B5。假設(shè)Al要發(fā)送消息到大學(xué)課程,則由于Al在大學(xué)課程.操作系統(tǒng).全英班,Al發(fā)送消息到所有的大學(xué)課程.操作系統(tǒng).全英班的成員,也就是A1,A2,A3,A4,A5。由于還要發(fā)送大學(xué)課程.操作系統(tǒng).雙語班,由于A2、A3是大學(xué)課程.操作系統(tǒng)虛擬組的成員,A2或A3發(fā)送消息給同是大學(xué)課程.操作系統(tǒng)的B1、B4; BI或B4發(fā)送消息到大學(xué)課程.操作系統(tǒng).雙語班的所有成員B1、B2、B3、B4、B5。BI或A3發(fā)送消息到大學(xué)課程所有成員,也就是發(fā)送消息到C6,C6發(fā)送消息到所有大學(xué)課程.C語言.普通班的成員,也就是(:1、02、03、04、05、〇6。
[0014]本案實施方案1:
假設(shè)我們同時教兩個班級(全英文班、雙語班)的操作系統(tǒng)課。我們先設(shè)定領(lǐng)域分類:大學(xué)課程.操作系統(tǒng).全英班和大學(xué)課程.操作系統(tǒng).雙語班。在網(wǎng)站上設(shè)立大學(xué)課程.操作系統(tǒng).全英班和大學(xué)課程.操作系統(tǒng).雙語班目錄。如下所示:
總根大學(xué)課程操作系統(tǒng).全英班雙語班.全英班的同學(xué)以及老師通過網(wǎng)站加入全英班虛擬組;.雙語班的同學(xué)以及老師通過網(wǎng)站加入雙語班虛擬組。本案成員可以向全英班和雙