專利名稱:一種基于動(dòng)態(tài)集群的新聞服務(wù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于動(dòng)態(tài)集群的新聞服務(wù)方法,屬于分布式技術(shù)在互聯(lián)網(wǎng)環(huán)境中的應(yīng) 用。動(dòng)態(tài)集群技術(shù)是一種基于動(dòng)態(tài)變化的互聯(lián)網(wǎng)計(jì)算環(huán)境,其中主要涉及分布式資源組織1、數(shù)據(jù)廣播2、 一致性維護(hù)3、事件驅(qū)動(dòng)機(jī)制4和數(shù)據(jù)備份5等多種 互聯(lián)網(wǎng)基本技術(shù),屬于互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)領(lǐng)域。
背景技術(shù):
新聞系統(tǒng)是互聯(lián)網(wǎng)多項(xiàng)基本應(yīng)用之一。作為一種對(duì)時(shí)間敏感的數(shù)據(jù)資源,和其相關(guān)的 應(yīng)用系統(tǒng)必須具備即時(shí)、時(shí)效、快速排序、個(gè)性化、大規(guī)模甚至交互等特征。當(dāng)前互聯(lián)網(wǎng) 新聞系統(tǒng)由于其本身基本結(jié)構(gòu)的限制,還不能達(dá)到上述要求。
新聞首先要求即時(shí)性?;诋?dāng)前互聯(lián)網(wǎng)基本技術(shù)6的新聞系統(tǒng)在即時(shí)性上的實(shí)現(xiàn) 在技術(shù)上是不完善。即時(shí)性首先要求互聯(lián)網(wǎng)服務(wù)器7, 8和其對(duì)應(yīng)的客戶端之間存在一 個(gè)事件驅(qū)動(dòng)機(jī)制。在當(dāng)前的互聯(lián)網(wǎng)系統(tǒng)中,這個(gè)事件驅(qū)動(dòng)機(jī)制是不存在的,必須通過(guò)投票 機(jī)制9來(lái)模擬。但是,當(dāng)系統(tǒng)規(guī)模增大時(shí),這種投票機(jī)制就會(huì)對(duì)系統(tǒng)造成過(guò)度壓力。 所以,在當(dāng)前互聯(lián)網(wǎng)新聞系統(tǒng)中只有有限的網(wǎng)頁(yè)中采用了投票機(jī)制以增強(qiáng)該頁(yè)面的即時(shí) 性。然而,大部分相關(guān)新聞發(fā)布頁(yè)面中不提供即時(shí)性特征,以免浪費(fèi)大量計(jì)算資源。解決 這個(gè)問(wèn)題,需要一個(gè)有效的事件驅(qū)動(dòng)機(jī)制來(lái)支持。
對(duì)新聞時(shí)效性的把握不夠。任何新聞數(shù)據(jù)都具備時(shí)效性。但這個(gè)時(shí)效性的把握是通過(guò) 對(duì)新聞生命周期的判斷來(lái)得出的。新聞的時(shí)效性大致可以分為長(zhǎng)期有效、特定有效以及即 時(shí)有效。長(zhǎng)期有效指的是一些新聞數(shù)據(jù)具有高價(jià)值,并能夠在長(zhǎng)期的時(shí)段內(nèi)保持。特定有 效指的是一些新聞數(shù)據(jù)只在特定時(shí)間段內(nèi)具有價(jià)值,超出此時(shí)間段其價(jià)值會(huì)便會(huì)逐漸失 去。即時(shí)有效指的是新聞在發(fā)布后短暫時(shí)間內(nèi)的有效性;幾乎所有新聞數(shù)據(jù)都具備即時(shí)有 效性。這種對(duì)新聞數(shù)據(jù)時(shí)效性的全面把握需要大量計(jì)算資源支持,這成為了當(dāng)前新聞系統(tǒng) 獲得時(shí)效性的瓶頸。當(dāng)前新聞系統(tǒng)的時(shí)效性基本依賴有限人工參與來(lái)解決。
快速排序?qū)π侣勏到y(tǒng)也具有重要意義。新聞雖然具備即時(shí)性,但在一個(gè)時(shí)段內(nèi),會(huì)出 現(xiàn)多個(gè)新聞數(shù)據(jù)。在滿足新聞即時(shí)性同時(shí),隨著時(shí)間推移,應(yīng)該對(duì)新聞本身價(jià)值做出迅速 判斷,把更重要的數(shù)據(jù)排列出來(lái)以避免重要數(shù)據(jù)被大量新聞數(shù)據(jù)所淹沒(méi)。當(dāng)前新聞系統(tǒng)都不提供排序服務(wù),重要新聞完全通過(guò)人工干預(yù)的方式來(lái)使其出現(xiàn)在頁(yè)面的顯著位置。人工 干預(yù)不利于對(duì)新聞數(shù)據(jù)的變化做出及時(shí)調(diào)整;由于新聞數(shù)據(jù)的龐雜,對(duì)人工的需求過(guò)大; 最后,人工排序也無(wú)法避免對(duì)新聞數(shù)據(jù)的客觀評(píng)估。制約當(dāng)期新聞系統(tǒng)采用排序策略的主 要問(wèn)題在于沒(méi)有適當(dāng)?shù)呐判驑?biāo)準(zhǔn)。當(dāng)前互聯(lián)網(wǎng)數(shù)據(jù)中最有效的排序標(biāo)準(zhǔn)是網(wǎng)頁(yè)鏈接重用度10。但是這個(gè)重用度的獲得需要相關(guān)數(shù)據(jù)在互聯(lián)網(wǎng)上有足夠的存在時(shí)間,只有這樣相 關(guān)新聞數(shù)據(jù)才有可能被重用。但是這個(gè)策略恰好與新聞數(shù)據(jù)的特質(zhì)相矛盾。有一種方法也 可以采用,即根據(jù)新聞被閱讀的次數(shù)來(lái)評(píng)估其價(jià)值。這種排序方法有效的前提是在新聞出 現(xiàn)的有限時(shí)間內(nèi),有足夠多的用戶看到這個(gè)新聞。這種情況下閱讀次數(shù)才有意義。但由于 當(dāng)前新聞系統(tǒng)缺乏即時(shí)性,同一時(shí)刻不能保證足夠多的用戶看到最新數(shù)據(jù),造成數(shù)據(jù)采集 的誤差。其次,高并發(fā)地看到最新數(shù)據(jù),也會(huì)引起新聞系統(tǒng)本身承受過(guò)大壓力。最后,當(dāng) 前新聞系統(tǒng)對(duì)時(shí)效性把握的不足也造成仍然有價(jià)值的新聞被系統(tǒng)忽視,使得用戶不得看到 相關(guān)新聞,這也造成了排序上的缺陷。
新聞系統(tǒng)的規(guī)模要求足夠大。這也是當(dāng)前新聞系統(tǒng)的一個(gè)重大不足。為了應(yīng)付可能的 潛在用戶,當(dāng)前新聞系統(tǒng)不得不增加計(jì)算資源的投入;同時(shí),還必須以降低了服務(wù)質(zhì)量為 代價(jià),如新聞系統(tǒng)以輕量級(jí)數(shù)據(jù)為主。這些方式都導(dǎo)致系統(tǒng)的性價(jià)比下降。
最后,對(duì)于新聞服務(wù)來(lái)說(shuō),良好的交互能力也是必須的。但是在計(jì)算資源受到限制的 情況下,新聞系統(tǒng)大多以服務(wù)提供者發(fā)布數(shù)據(jù)為主,而不為用戶提供交互服務(wù)。
發(fā)明內(nèi)容
本發(fā)明的目的在于通過(guò)動(dòng)態(tài)集群技術(shù)的應(yīng)用使互聯(lián)網(wǎng)新聞系統(tǒng)達(dá)到即時(shí)、時(shí)效、快速 排序、個(gè)性化、大規(guī)模以及強(qiáng)交互的目標(biāo)。
'種基于動(dòng)態(tài)集群的新聞服務(wù)方法,其步驟為
1) 在計(jì)算節(jié)點(diǎn)上建立數(shù)據(jù)接收和請(qǐng)求機(jī)制;
2) 在任何兩個(gè)節(jié)點(diǎn)之間建立直接交互;
3) 節(jié)點(diǎn)尋找與其計(jì)算任務(wù)潛在可配合節(jié)點(diǎn)并建立連接;
4) 新聞系統(tǒng)根據(jù)流網(wǎng)協(xié)議建立動(dòng)態(tài)集群;
5) 根據(jù)新聞服務(wù)的需要新聞系統(tǒng)對(duì)動(dòng)態(tài)集群內(nèi)的數(shù)據(jù)進(jìn)行相應(yīng)處理。
進(jìn)一步的,所述方法中通過(guò)TCP/IP編程實(shí)現(xiàn)所述在計(jì)算節(jié)點(diǎn)上建立數(shù)據(jù)接收和請(qǐng)求 機(jī)制。
進(jìn)一步的,所述方法中通過(guò)NAT穿越技術(shù)對(duì)NAT穿越實(shí)現(xiàn)所述節(jié)點(diǎn)之間建立直接交
5互。
進(jìn)一步的,所述方法中通過(guò)在所述節(jié)點(diǎn)上采用有效線程池技術(shù)實(shí)現(xiàn)對(duì)每個(gè)節(jié)點(diǎn)計(jì)算資 源的最大利用。
進(jìn)一步的,所述方法中采用基于社會(huì)網(wǎng)絡(luò)的路由技術(shù)實(shí)現(xiàn)所述節(jié)點(diǎn)尋找與其計(jì)算任務(wù) 潛在可配合節(jié)點(diǎn)并建立連接。
進(jìn)一步的,所述動(dòng)態(tài)集群為運(yùn)行狀態(tài)下,基于共同計(jì)算目的計(jì)算節(jié)點(diǎn)形成的計(jì)算資源 共享集合,其特征包括周期性生命、共同目的、自由組合、高度動(dòng)態(tài)、網(wǎng)狀拓?fù)?、高?異質(zhì)。
進(jìn)一步的,所述新聞系統(tǒng)根據(jù)流網(wǎng)協(xié)議建立動(dòng)態(tài)集群的方法為
1) 采用基于社會(huì)網(wǎng)絡(luò)的路由算法尋找計(jì)算資源;
2) 根據(jù)節(jié)點(diǎn)間傳輸?shù)臄?shù)據(jù)特征采用相關(guān)協(xié)議進(jìn)行數(shù)據(jù)傳輸;所述數(shù)據(jù)特征包括輕量級(jí) 數(shù)據(jù)、與時(shí)序相關(guān)的輕量級(jí)數(shù)據(jù)、與時(shí)序相關(guān)重量級(jí)數(shù)據(jù)、與時(shí)序無(wú)關(guān)的重量級(jí)數(shù) 據(jù);對(duì)于所述輕量級(jí)數(shù)據(jù)采取基于消息的可靠多播算法進(jìn)行傳輸;對(duì)于所述與時(shí)序 相關(guān)重量級(jí)數(shù)據(jù),將數(shù)據(jù)分為時(shí)序已經(jīng)迫近的數(shù)據(jù)和時(shí)序要求不緊迫到的數(shù)據(jù)進(jìn)行 傳輸,對(duì)于所述時(shí)序已經(jīng)迫近的數(shù)據(jù)采取同步或異步傳輸方法進(jìn)行傳輸。
進(jìn)一步的,所述方法中對(duì)于所述時(shí)序要求不緊迫的數(shù)據(jù)和與時(shí)序無(wú)關(guān)的重量級(jí)數(shù)據(jù)采 取的方法為
1) 計(jì)算節(jié)點(diǎn)與多個(gè)潛在節(jié)點(diǎn)異步并發(fā)交互;
2) 計(jì)算節(jié)點(diǎn)同時(shí)尋找其它潛在節(jié)點(diǎn)作為候選節(jié)點(diǎn),當(dāng)候選節(jié)點(diǎn)潛在能力高于當(dāng)前交互 的某個(gè)潛在節(jié)點(diǎn)時(shí),主動(dòng)把性能差或者貢獻(xiàn)少的節(jié)點(diǎn)主動(dòng)替換掉;
3) 每個(gè)節(jié)點(diǎn)在交互過(guò)程中對(duì)正在聯(lián)系的節(jié)點(diǎn)進(jìn)行監(jiān)測(cè)以評(píng)估節(jié)點(diǎn)在集群中的行為,獎(jiǎng) 勵(lì)貢獻(xiàn)者、懲罰只作索取的節(jié)點(diǎn)以及在節(jié)點(diǎn)貢獻(xiàn)和索取之間建立正比關(guān)系;
4) 系統(tǒng)中通過(guò)布置中心服務(wù)器主動(dòng)與計(jì)算節(jié)點(diǎn)聯(lián)系的方法保證公平性。 進(jìn)一步的,所述方法中對(duì)于所述數(shù)據(jù)為多種異質(zhì)數(shù)據(jù)時(shí),采取輕量級(jí)數(shù)據(jù)優(yōu)先、與時(shí)
序相關(guān)的重量級(jí)數(shù)據(jù)次之以及與時(shí)序無(wú)關(guān)的重量級(jí)數(shù)據(jù)最后的原則進(jìn)行傳輸。
進(jìn)一步的,所述根據(jù)新聞服務(wù)的需要新聞系統(tǒng)對(duì)動(dòng)態(tài)集群內(nèi)的數(shù)據(jù)進(jìn)行相應(yīng)處理,其 包括
1) 新聞價(jià)值評(píng)估;其方法為根據(jù)用戶行為以及動(dòng)態(tài)集群規(guī)模對(duì)新聞數(shù)據(jù)排序,所述 用戶行為包括對(duì)請(qǐng)求接收的新聞數(shù)據(jù)選擇閱讀、忽略、拒絕接收或者刪除;
2) 新聞時(shí)效評(píng)估;其方法為通過(guò)監(jiān)測(cè)動(dòng)態(tài)集群生命周期評(píng)估新聞數(shù)據(jù)的時(shí)效性,所述時(shí)效性包括長(zhǎng)期時(shí)段、特定時(shí)段以及即時(shí)時(shí)段;
3)增強(qiáng)系統(tǒng)能力;通過(guò)充分利用計(jì)算資源確保新聞數(shù)據(jù)發(fā)布系統(tǒng)的強(qiáng)伸縮性,其方 法為動(dòng)態(tài)集群中每個(gè)節(jié)點(diǎn)按照流網(wǎng)協(xié)議在獲得計(jì)算資源的同時(shí)貢獻(xiàn)自身計(jì)算資源。
本發(fā)明的主要內(nèi)容如下
(1) 建立即時(shí)互聯(lián)網(wǎng)新聞系統(tǒng)。本發(fā)明的互聯(lián)網(wǎng)新聞服務(wù)方法首先具備即時(shí)特征。 任何新聞的發(fā)布將會(huì)以即時(shí)的方式傳輸給用戶。傳統(tǒng)的新聞系統(tǒng)只能在互聯(lián)網(wǎng)服務(wù)器上存 貯數(shù)據(jù),直到用戶訪問(wèn)時(shí)才能獲得相關(guān)數(shù)據(jù)。新聞數(shù)據(jù)的任何變化或者最新數(shù)據(jù)的產(chǎn)生都 只能依靠用戶的訪問(wèn)即時(shí)性完全決定于用戶訪問(wèn)頻度。本發(fā)明無(wú)論是新數(shù)據(jù)發(fā)布還是舊 數(shù)據(jù)更新都做到了即時(shí)性,和用戶訪問(wèn)頻度沒(méi)有任何關(guān)系。
(2) 建立具備時(shí)效性的互聯(lián)網(wǎng)新聞系統(tǒng)。本發(fā)明的互聯(lián)網(wǎng)新聞服務(wù)方法還具備時(shí)效 性??梢酝ㄟ^(guò)對(duì)所有新聞數(shù)據(jù)的管理達(dá)到對(duì)其生命周期予以監(jiān)測(cè)的目的,從而有效發(fā)揮新 聞本身的價(jià)值。當(dāng)前互聯(lián)網(wǎng)新聞系統(tǒng)對(duì)新聞數(shù)據(jù)時(shí)效性把握主要通過(guò)人工來(lái)完成,這主要 是沒(méi)有恰當(dāng)衡量新聞數(shù)據(jù)生命周期的標(biāo)準(zhǔn)或者獲得相關(guān)指標(biāo)消耗的計(jì)算資源過(guò)大。本發(fā)明 能夠有效解決這些問(wèn)題,把新聞數(shù)據(jù)的時(shí)效性以長(zhǎng)期、任意特定時(shí)間段和即時(shí)三種情況分 別予以處理,達(dá)到對(duì)新聞數(shù)據(jù)有效性的可靠維護(hù)的目的。
(3) 建立有效排序的互聯(lián)網(wǎng)新聞系統(tǒng)。新聞排序是體現(xiàn)新聞價(jià)值的必要算法。由于 新聞數(shù)據(jù)的排序無(wú)法借助于普通互聯(lián)網(wǎng)數(shù)據(jù)超鏈接復(fù)用的方法,導(dǎo)致當(dāng)前互聯(lián)網(wǎng)排序問(wèn)題 不易解決。另外,新聞數(shù)據(jù)的非即時(shí)性也導(dǎo)致在收集閱讀次數(shù)時(shí)出現(xiàn)的偏差。本發(fā)明依靠 系統(tǒng)即時(shí)能力的支持、對(duì)用戶閱讀次數(shù)以及相關(guān)行為的可靠收集并結(jié)合適當(dāng)?shù)恼故痉椒ǎ?達(dá)到了對(duì)新聞數(shù)據(jù)有效排序的目的。
(4) 建立合理的展示方式。對(duì)互聯(lián)網(wǎng)新聞系統(tǒng)來(lái)說(shuō),展示方式對(duì)用戶閱讀新聞、把 握用戶狀態(tài)以及采集用戶閱讀次數(shù)都具有重要作用。 一個(gè)合理的新聞?wù)故痉绞綉?yīng)該體現(xiàn)在 對(duì)新聞時(shí)效性的反映、對(duì)數(shù)據(jù)公平展示的考慮以及對(duì)數(shù)據(jù)閱讀評(píng)價(jià)系統(tǒng)的輔助上。當(dāng)前互 聯(lián)網(wǎng)新聞系統(tǒng)由于沒(méi)有對(duì)新聞數(shù)據(jù)時(shí)效性的把握能力,直接導(dǎo)致在數(shù)據(jù)展示上無(wú)法向用戶 提供新聞的時(shí)效性數(shù)據(jù)。公平展示指的是所有新聞數(shù)據(jù)在新聞生命周期起始時(shí)都有機(jī)會(huì)被 用戶閱讀或收到,這是新聞數(shù)據(jù)所必需做到的。但由于當(dāng)前互聯(lián)網(wǎng)展示技術(shù)嚴(yán)重受制于互 聯(lián)網(wǎng)服務(wù)器的計(jì)算能力,致使展示界面狹小而靜止,只能對(duì)有限數(shù)據(jù)進(jìn)行展示,削弱了新 聞數(shù)據(jù)被觀測(cè)的公平性。展示上的問(wèn)題直接會(huì)影響到對(duì)新聞數(shù)據(jù)質(zhì)量的評(píng)價(jià)。在評(píng)價(jià)新聞 質(zhì)量過(guò)程中,用戶的行為(新聞服務(wù)中主要體現(xiàn)為閱讀)也會(huì)受到影響,無(wú)法有效根據(jù)用
7戶行為對(duì)數(shù)據(jù)作出恰當(dāng)評(píng)判。本發(fā)明在上述三點(diǎn)上都做了根本性的改變,達(dá)到了既能為用 戶提供友好展示效果,又能為所有新一聞數(shù)據(jù)提供公平機(jī)會(huì)并直接貢獻(xiàn)于對(duì)新聞數(shù)據(jù)的評(píng) 估。在本發(fā)明的展示當(dāng)中,新聞會(huì)以時(shí)效性的不同分別列出,并且所有數(shù)據(jù)以動(dòng)態(tài)滾動(dòng)方 式做更新,保證在其生命周期內(nèi)有基本平等的機(jī)會(huì)展示給用戶。
(5) 建立大規(guī)模的互聯(lián)網(wǎng)新聞系統(tǒng)。高質(zhì)量的互聯(lián)網(wǎng)新聞系統(tǒng)必然是大規(guī)模的。但 當(dāng)前互聯(lián)網(wǎng)新聞系統(tǒng)實(shí)現(xiàn)大規(guī)模的方式是訴諸于計(jì)算資源的增加。這種方法本身投入大, 并且仍然需要在縮減服務(wù)質(zhì)量的前提下才能完成。本發(fā)明的互聯(lián)網(wǎng)新聞服務(wù)方法可以保證 系統(tǒng)在無(wú)限制的規(guī)模下提供服務(wù)。
(6) 建立強(qiáng)交互的互聯(lián)網(wǎng)新聞系統(tǒng)。強(qiáng)交互也是新聞系統(tǒng)應(yīng)該具備的特征。本發(fā)明 的互聯(lián)網(wǎng)新聞服務(wù)方法中,用戶除了可以獲得相關(guān)新聞服務(wù)外,還可以對(duì)新聞進(jìn)行即時(shí)大 規(guī)模評(píng)論,即所謂交互。這對(duì)新聞本身價(jià)值的理解以及擴(kuò)大其效應(yīng)帶來(lái)的便利。
本發(fā)明的積極效果為
通過(guò)本發(fā)明的新聞服務(wù)方法,可以及時(shí)準(zhǔn)確的把握新聞的變化,對(duì)新聞進(jìn)行有效的排 序,同時(shí)提供交互功能,從而保證新聞的時(shí)效性、體現(xiàn)重要新聞的價(jià)值。
圖1. 一個(gè)動(dòng)態(tài)集群的即刻拓?fù)浣Y(jié)構(gòu); 圖2.本發(fā)明的方法流程圖。
具體實(shí)施例方式
本發(fā)明的流程如圖2所示,現(xiàn)結(jié)合具體實(shí)施方式
詳細(xì)描述本發(fā)明
第一步,建立動(dòng)態(tài)集群的計(jì)算基礎(chǔ)。要建立動(dòng)態(tài)集群計(jì)算基礎(chǔ),首先需要使得各個(gè)節(jié) 點(diǎn)在擁有請(qǐng)求數(shù)據(jù)和服務(wù)能力的同時(shí),也具備響應(yīng)其他節(jié)點(diǎn)請(qǐng)求的能力。實(shí)現(xiàn)這個(gè)目的并 不困難,利用基本網(wǎng)絡(luò)技術(shù)11就可以做到。困難在于突破互聯(lián)網(wǎng)上存在的NAT障礙, 可以采用NAT穿越技術(shù)來(lái)解決,其方法可以參考12。這個(gè)問(wèn)題的解決,可以使得互 聯(lián)網(wǎng)任何兩個(gè)節(jié)點(diǎn)之間可以相互直接交互。這是產(chǎn)生大規(guī)模互聯(lián)網(wǎng)計(jì)算的前提。其次,這 樣的節(jié)點(diǎn)除了可以請(qǐng)求并且響應(yīng)以外,還需要提高其吞吐量,即在節(jié)點(diǎn)計(jì)算資源的允許條 件下,可以并發(fā)地和多個(gè)節(jié)點(diǎn)建立通信連接,并可以在這樣的連接上持續(xù)傳輸數(shù)據(jù)。這里 的重要技術(shù)就是線程池的實(shí)現(xiàn)13。最后,在實(shí)現(xiàn)上述目標(biāo)后,還有一個(gè)重要工作就是 賦予節(jié)點(diǎn)以尋找合作節(jié)點(diǎn)的能力14。在一個(gè)大規(guī)模互聯(lián)網(wǎng)系統(tǒng)中,任何一個(gè)節(jié)點(diǎn)只能和有限節(jié)點(diǎn)進(jìn)行連接并配合計(jì)算。應(yīng)該在互聯(lián)網(wǎng)上眾多計(jì)算節(jié)點(diǎn)中為一個(gè)節(jié)點(diǎn)尋找到最適 合的節(jié)點(diǎn),從而實(shí)現(xiàn)計(jì)算資源最大限度的利用。動(dòng)態(tài)集群指的是一個(gè)在運(yùn)行狀態(tài)下,由各 種可能連接在互聯(lián)網(wǎng)上的計(jì)算設(shè)備基于共同計(jì)算目的,形成的計(jì)算資源共享集合。這個(gè)集 合具有以下特征。
(1) 生命周期。動(dòng)態(tài)集群是具有生命周期的。 一個(gè)普通的動(dòng)態(tài)集群都要經(jīng)過(guò)產(chǎn)生、 發(fā)展、成熟、平穩(wěn)、蕭條以及衰敗多個(gè)階段。但并不是所有的動(dòng)態(tài)集群都要經(jīng)過(guò)這些完整 的過(guò)程。有些集群在產(chǎn)生后會(huì)跨越某些階段而直接衰敗或則會(huì)長(zhǎng)期處于出產(chǎn)生和衰敗之外 的某個(gè)階段。動(dòng)態(tài)集群的產(chǎn)生是通過(guò)一個(gè)計(jì)算節(jié)點(diǎn)發(fā)起一個(gè)計(jì)算,導(dǎo)致其他節(jié)點(diǎn)的響應(yīng), 從而形成集群;當(dāng)響應(yīng)節(jié)點(diǎn)增多時(shí),集群就處于發(fā)展階段;發(fā)展階段會(huì)到達(dá)一個(gè)極限,這 就是成熟階段;成熟期過(guò)后,集群規(guī)模會(huì)逐漸趨于平衡,規(guī)模不再擴(kuò)大,也沒(méi)有明顯縮小, 即平穩(wěn)階段;隨著多數(shù)節(jié)點(diǎn)完成計(jì)算并離開(kāi)這個(gè)集群,集群中的節(jié)點(diǎn)逐漸減少,從而引發(fā) 蕭條階段的形成;當(dāng)集群中所有計(jì)算節(jié)點(diǎn)都離開(kāi)后,集群消亡,進(jìn)入衰敗階段。
(2) 共同目的。動(dòng)態(tài)集群形成以及維持的基礎(chǔ)是共同計(jì)算任務(wù)。計(jì)算任務(wù)指的是提 供數(shù)據(jù)或者服務(wù)過(guò)程中發(fā)生的傳輸、交互以及運(yùn)算活動(dòng)。 一個(gè)動(dòng)態(tài)集群包含多個(gè)節(jié)點(diǎn);這 些節(jié)點(diǎn)都圍繞著一個(gè)或多個(gè)相關(guān)計(jì)算任務(wù)進(jìn)行相關(guān)計(jì)算。它們既是相關(guān)數(shù)據(jù)和服務(wù)的享受 者,也是相關(guān)數(shù)據(jù)和服務(wù)的間接提供者。
(3) 自由組合。動(dòng)態(tài)集群中的節(jié)點(diǎn)具有自由組合的特征。無(wú)論集群規(guī)模大小如何變 化,集群中的節(jié)點(diǎn)都是在對(duì)相關(guān)計(jì)算任務(wù)感興趣的條件下加入的。當(dāng)節(jié)點(diǎn)享受了相關(guān)數(shù)據(jù) 或者服務(wù)后,或者失去相關(guān)計(jì)算提供的數(shù)據(jù)或服務(wù)后,則可以隨時(shí)離開(kāi)系統(tǒng)而不受任何限 制。
(4) 高度動(dòng)態(tài)。動(dòng)態(tài)集群的主要特征就是這個(gè)集群總是處于不斷變化當(dāng)中。這種變 化既體現(xiàn)在集群本身具有生命周期,也體現(xiàn)在節(jié)點(diǎn)不斷地加入或者離開(kāi),甚至體現(xiàn)在集群 所具有的拓?fù)浣Y(jié)構(gòu)上的變化。這些動(dòng)態(tài)特征反映出集群即刻的狀態(tài);對(duì)這些狀態(tài)的把握能 夠?yàn)榻⒂谶@樣集群之上的系統(tǒng)起到重要支持作用。
(5) 網(wǎng)狀拓?fù)?。作為分布式技術(shù)的一種應(yīng)用形式,任何集群都會(huì)以一種拓?fù)浣Y(jié)構(gòu)的 形式表現(xiàn)出來(lái)。對(duì)拓?fù)浣Y(jié)構(gòu)的了解,也會(huì)對(duì)集群的特征把握得恰當(dāng)。本發(fā)明中的動(dòng)態(tài)集群 表現(xiàn)為網(wǎng)狀結(jié)構(gòu)。但這個(gè)描述過(guò)于粗略。對(duì)這個(gè)結(jié)構(gòu)的認(rèn)識(shí)可以參考相關(guān)文章15。之 所以形成網(wǎng)狀結(jié)構(gòu)而非其他拓?fù)浣Y(jié)構(gòu),是因?yàn)檫@樣的結(jié)構(gòu)可以使得各個(gè)節(jié)點(diǎn)之間能夠最大 限度地分享各自的計(jì)算資源,從而在高動(dòng)態(tài)的情況下實(shí)現(xiàn)計(jì)算性能的最大化。圖l表示了 動(dòng)態(tài)集群的即刻拓?fù)浣Y(jié)構(gòu)。(6)高度異質(zhì)。雖然各個(gè)節(jié)點(diǎn)是基于共同任務(wù)組織成集群的,但這個(gè)集群中仍然存 在諸多不同。所謂高度異質(zhì)是由以下幾個(gè)特點(diǎn)表現(xiàn)出來(lái)的。第一,節(jié)點(diǎn)資源的異質(zhì)性。各 個(gè)節(jié)點(diǎn)之間通常表現(xiàn)出所擁有計(jì)算資源的差異;而擁有不同計(jì)算資源的節(jié)點(diǎn)對(duì)系統(tǒng)的潛在 貢獻(xiàn)是不同的。應(yīng)該采取適當(dāng)算法14, 16既保證整個(gè)集群的正常運(yùn)行,也能使得每個(gè) 節(jié)點(diǎn)能夠得到最大化利用其自身資源基礎(chǔ)上的服務(wù)。第二,數(shù)據(jù)或服務(wù)的異質(zhì)性。數(shù)據(jù)和 服務(wù)是維系動(dòng)態(tài)集群生命周期處于穩(wěn)定狀態(tài)的根本。在高性能集群當(dāng)中,這樣的數(shù)據(jù)或服 務(wù)可以表現(xiàn)出復(fù)雜的形態(tài),如各種格式的數(shù)據(jù)。數(shù)據(jù)格式的差異導(dǎo)致節(jié)點(diǎn)間交互和配合時(shí) 會(huì)以不同的方式14, 16處理不同性質(zhì)的數(shù)據(jù),達(dá)到計(jì)算資源的合理使用。第三,節(jié)點(diǎn) 物理位置的異質(zhì)性。由于動(dòng)態(tài)集群的形成完全決定于數(shù)據(jù)和服務(wù)質(zhì)量,而非人為事先的定 義穩(wěn)定系統(tǒng),這導(dǎo)致集群中可能包括來(lái)自物理位置差異大的節(jié)點(diǎn)。適當(dāng)?shù)穆酚煞绞?b>17, 18可以既整個(gè)集群的高效率,同時(shí)也能保證不同物理位置上節(jié)點(diǎn)得到公平服務(wù)。第四, 節(jié)點(diǎn)行為的異質(zhì)性。節(jié)點(diǎn)在動(dòng)態(tài)集群中的行為也有區(qū)別。有些節(jié)點(diǎn)會(huì)以計(jì)算資源貢獻(xiàn)者的 形式出現(xiàn),有些則是索取和貢獻(xiàn)兼?zhèn)洌€有些只是單純索取19。動(dòng)態(tài)集群算法必須考 慮到這些特征,以保證集群的高效率。
第二步,建立動(dòng)態(tài)集群。在擁有了動(dòng)態(tài)集群所需要的基礎(chǔ)以及對(duì)大規(guī)?;ヂ?lián)網(wǎng)中動(dòng)態(tài) 集群有了認(rèn)識(shí)后,就可以把相關(guān)節(jié)點(diǎn)組織起來(lái)以形成動(dòng)態(tài)集群?;谏鲜鰟?dòng)態(tài)集群的特征, 建立動(dòng)態(tài)集群的方法和在穩(wěn)定環(huán)境下的集群完全不同。流網(wǎng)協(xié)議是其中重要解決方案。流 網(wǎng)協(xié)議可以簡(jiǎn)單地歸納如下。
(1)建立基于社會(huì)網(wǎng)絡(luò)15的路由算法。前面簡(jiǎn)單解釋了對(duì)路由技術(shù)的基本要求。 這個(gè)路由方案是建立在社會(huì)網(wǎng)絡(luò)或者復(fù)雜網(wǎng)絡(luò)15基礎(chǔ)上的資源尋找算法。由于社會(huì)網(wǎng) 絡(luò)本質(zhì)上是計(jì)算節(jié)點(diǎn)通過(guò)互聯(lián)網(wǎng)上用戶社會(huì)屬性而建立起來(lái)的符合互聯(lián)網(wǎng)資源分配規(guī)律 的拓?fù)浣Y(jié)構(gòu),恰當(dāng)?shù)乩眠@個(gè)網(wǎng)絡(luò)就能夠完成對(duì)計(jì)算資源的有效尋找。在利用社會(huì)網(wǎng)絡(luò)進(jìn) 行路由搜索時(shí),主要涉及結(jié)構(gòu)化和非結(jié)構(gòu)化路由技術(shù)的結(jié)合問(wèn)題。結(jié)構(gòu)化路由技術(shù)的突出 特點(diǎn)是能夠?qū)θ魏钨Y源(稀缺或者流行)在確定有限時(shí)間內(nèi)獲得路由結(jié)果,但是這樣的結(jié) 果是建立在嚴(yán)格約束條件下。而這個(gè)條件當(dāng)前互聯(lián)網(wǎng)環(huán)境難以得到保證。非結(jié)構(gòu)化路由技 術(shù)建立在互聯(lián)網(wǎng)自然形成的拓?fù)浣Y(jié)構(gòu)(即社會(huì)網(wǎng)絡(luò))之上,并沒(méi)有對(duì)存在的互聯(lián)網(wǎng)環(huán)境有 任何強(qiáng)制要求。在這樣的基礎(chǔ)上要保證快速獲得搜索結(jié)果,必須要求對(duì)具體的應(yīng)用以及相 應(yīng)的拓?fù)浣Y(jié)構(gòu)有深入認(rèn)識(shí)才可達(dá)到。但即使如此,非結(jié)構(gòu)化搜索在路由公平性的保證仍然 不足,同時(shí)對(duì)路由壓力的分擔(dān)也困難。鑒于上述原因,可以把上述二者恰當(dāng)結(jié)合。由于社 會(huì)網(wǎng)絡(luò)中存在群落,群落代表著相對(duì)穩(wěn)定的計(jì)算環(huán)境,接近于結(jié)構(gòu)化路由所要求的條件。這樣,可以采取在整個(gè)互聯(lián)網(wǎng)中進(jìn)行非結(jié)構(gòu)化路由,而在群落中進(jìn)行結(jié)構(gòu)化路由。通過(guò)上 述方法,路由算法就做到了有效尋找流行資源以及保證對(duì)稀缺資源的路由公平。
(2) 建立輕量級(jí)數(shù)據(jù)傳輸方案。輕量級(jí)數(shù)據(jù)定義為只需有限數(shù)據(jù)包即可發(fā)送完畢的
數(shù)據(jù)。通常輕量級(jí)數(shù)據(jù)全部數(shù)據(jù)量遠(yuǎn)小于計(jì)算節(jié)點(diǎn)帶寬單位時(shí)間內(nèi)所能允許的大小。具體 大小可以根據(jù)實(shí)際帶寬以及運(yùn)行時(shí)節(jié)點(diǎn)的具體狀態(tài)來(lái)決定??傊?,這樣的數(shù)據(jù)對(duì)計(jì)算節(jié)點(diǎn)、 帶寬以及相關(guān)節(jié)點(diǎn)造成的壓力很小。盡管如此,當(dāng)一個(gè)節(jié)點(diǎn)要向多個(gè)節(jié)點(diǎn)發(fā)送這種數(shù)據(jù)時(shí), 如果潛在接收節(jié)點(diǎn)過(guò)多,也會(huì)導(dǎo)致源節(jié)點(diǎn)壓力過(guò)大。這時(shí)候可以利用基于消息的可靠多播
算法2來(lái)解決這個(gè)問(wèn)題。由于這種數(shù)據(jù)發(fā)送快,對(duì)拓?fù)浣Y(jié)構(gòu)的合理性要求并不高,只 要達(dá)到分擔(dān)源節(jié)點(diǎn)負(fù)擔(dān)的目的即可。當(dāng)系統(tǒng)中有重量級(jí)和輕量級(jí)數(shù)據(jù)混合傳輸時(shí),還可以 考慮利用重量級(jí)數(shù)據(jù)多播形成的拓?fù)浣Y(jié)構(gòu)來(lái)實(shí)現(xiàn)輕量級(jí)數(shù)據(jù)傳輸;這方法可參考基于BT 協(xié)議14的輕量級(jí)數(shù)據(jù)多播機(jī)制。這個(gè)機(jī)制的原理是利用重量級(jí)數(shù)據(jù)多播形成的穩(wěn)定高 效拓?fù)浣Y(jié)構(gòu)來(lái)降低網(wǎng)絡(luò)壓力和延遲,從而達(dá)到輕量級(jí)數(shù)據(jù)的大規(guī)模多播。
(3) 建立與時(shí)序無(wú)關(guān)重量級(jí)數(shù)據(jù)傳輸方案。與輕量級(jí)數(shù)據(jù)相反,重量級(jí)數(shù)據(jù)需要發(fā) 送多個(gè)數(shù)據(jù)包才能完成數(shù)據(jù)發(fā)送,其發(fā)送個(gè)數(shù)要遠(yuǎn)遠(yuǎn)大于輕量級(jí)數(shù)據(jù)。因此,對(duì)發(fā)送節(jié)點(diǎn) 和接受節(jié)點(diǎn)以及相關(guān)網(wǎng)絡(luò)都造成高得多的壓力。這個(gè)壓力主要體現(xiàn)在發(fā)送持續(xù)時(shí)間長(zhǎng)、占 用資源多。根據(jù)動(dòng)態(tài)集群的特征,要實(shí)現(xiàn)長(zhǎng)時(shí)間大規(guī)模重量級(jí)數(shù)據(jù)傳輸,其協(xié)議必須保證 使計(jì)算節(jié)點(diǎn)運(yùn)行在相對(duì)穩(wěn)定的高動(dòng)態(tài)環(huán)境下。要達(dá)到上述目標(biāo), 一個(gè)計(jì)算節(jié)點(diǎn)在參與這樣 的傳輸時(shí),首先要形成與多個(gè)潛在節(jié)點(diǎn)異步并發(fā)交互,以彌補(bǔ)任意兩個(gè)節(jié)點(diǎn)之間帶寬利用 率低的問(wèn)題,潛在節(jié)點(diǎn)的獲得可以通過(guò)在系統(tǒng)中設(shè)置中心服務(wù)器,即所有參與重量級(jí)數(shù)據(jù) 傳輸?shù)墓?jié)點(diǎn)都要到中心服務(wù)器注冊(cè)并把狀態(tài)變化周期性地通知服務(wù)器,這個(gè)中心服務(wù)器的 最大特點(diǎn)是能夠主動(dòng)與系統(tǒng)中計(jì)算節(jié)點(diǎn)聯(lián)系,而不是總是處于被動(dòng)等待計(jì)算節(jié)點(diǎn)匯報(bào)自身 狀態(tài)的地位。同時(shí)與多個(gè)節(jié)點(diǎn)進(jìn)行交互來(lái)傳輸重量級(jí)數(shù)據(jù),也可以降低網(wǎng)絡(luò)動(dòng)態(tài)性對(duì)這個(gè) 節(jié)點(diǎn)的影響;這是通過(guò)復(fù)制技術(shù)20提高系統(tǒng)性能和容錯(cuò)能力的方法。其次,在這個(gè)過(guò) 程中,還要求任何節(jié)點(diǎn)不斷去尋找其他可能候選節(jié)點(diǎn);當(dāng)候選節(jié)點(diǎn)其潛在能力高于當(dāng)前交 互的某個(gè)節(jié)點(diǎn)時(shí),應(yīng)該可以主動(dòng)把性能差或者貢獻(xiàn)少的節(jié)點(diǎn)主動(dòng)替換掉,由于任何一個(gè)候 選節(jié)點(diǎn)都要和當(dāng)前節(jié)點(diǎn)進(jìn)行足夠長(zhǎng)時(shí)間的交互,在這個(gè)交互過(guò)程中當(dāng)前節(jié)點(diǎn)通過(guò)對(duì)數(shù)據(jù)傳 輸量比較就可以評(píng)價(jià)節(jié)點(diǎn)相對(duì)能力。再次,對(duì)于集群中不同行為節(jié)點(diǎn),要采取不同的策略, 如獎(jiǎng)勵(lì)貢獻(xiàn)者、懲罰只作索取的節(jié)點(diǎn)以及在節(jié)點(diǎn)貢獻(xiàn)和索取之間建立正比關(guān)系等;要達(dá)到 上述目標(biāo),每個(gè)節(jié)點(diǎn)在交互過(guò)程中還需要對(duì)正在聯(lián)系的節(jié)點(diǎn)進(jìn)行監(jiān)測(cè),以準(zhǔn)確評(píng)估節(jié)點(diǎn)在 集群中的行為。最后,系統(tǒng)中維護(hù)多貢獻(xiàn)節(jié)點(diǎn)利益的同時(shí),也要考慮公平性;這是由于不是所有動(dòng)態(tài)集群都能達(dá)到重量級(jí)數(shù)據(jù)的傳輸要求。由于系統(tǒng)中布置了計(jì)算資源豐富的中心 服務(wù)器,中心服務(wù)器以主動(dòng)的方式保證弱集群得到計(jì)算資源上的幫助。需要補(bǔ)充說(shuō)明的是, 上述原則對(duì)于與時(shí)序無(wú)關(guān)重量級(jí)數(shù)據(jù)是有效的;原因是這樣的數(shù)據(jù)可以任意拆分和組合, 能夠相對(duì)容易地實(shí)現(xiàn)異步和并發(fā)。
(4) 建立與時(shí)序相關(guān)重量級(jí)數(shù)據(jù)傳輸方案。對(duì)于與時(shí)序相關(guān)重量級(jí)數(shù)據(jù)來(lái)說(shuō),上述 方式就需要做相應(yīng)修改。與時(shí)序相關(guān)重量級(jí)數(shù)據(jù)除了具備一般重量級(jí)數(shù)據(jù)的特征以外,還 有一個(gè)時(shí)序特征,即數(shù)據(jù)必須以有序并且不低于某一速度的方式傳輸。這樣數(shù)據(jù)的每個(gè)數(shù) 據(jù)包之間是有順序的,并且當(dāng)數(shù)據(jù)包傳輸速率過(guò)低時(shí),即使傳送到目的地,也沒(méi)有價(jià)值。 一些要求數(shù)據(jù)傳輸和數(shù)據(jù)使用同時(shí)進(jìn)行的數(shù)據(jù)會(huì)具有上述特征,如音頻和視頻數(shù)據(jù)。這種 數(shù)據(jù)對(duì)集群的穩(wěn)定性以及集群中每個(gè)節(jié)點(diǎn)擁有的計(jì)算資源都有更高要求。與時(shí)序無(wú)關(guān)重量 級(jí)數(shù)據(jù)傳輸相比,因?yàn)闊o(wú)法將數(shù)據(jù)任意拆分和組合,主要區(qū)別在于異步或者并發(fā)的難度增 加。但是,如果沒(méi)有異步或者并發(fā),集群存在就沒(méi)有意義,節(jié)點(diǎn)之間就不會(huì)互相協(xié)作共享 計(jì)算資源,導(dǎo)致整體性能無(wú)法提高。 一般的做法是把這種數(shù)據(jù)劃分成兩部分, 一部分是時(shí) 序已經(jīng)迫近的數(shù)據(jù)(時(shí)序緊迫數(shù)據(jù)), 一部分是時(shí)序要求還不夠緊迫的數(shù)據(jù)(非時(shí)序緊迫 數(shù)據(jù))。對(duì)于己經(jīng)生成的數(shù)據(jù)來(lái)說(shuō),前者占整個(gè)數(shù)據(jù)中的比例相對(duì)小,后者占整個(gè)數(shù)據(jù)中 的比例要大得多。而對(duì)于即時(shí)生成的數(shù)據(jù),也可以通過(guò)緩沖的辦法把其分為類似的兩部分。 對(duì)于時(shí)序緊迫數(shù)據(jù)可以采取純粹的同步傳輸方法16,也可以采取異步方式16,二 者都可以輔以貢獻(xiàn)型資源的幫助。對(duì)于非時(shí)序緊迫數(shù)據(jù),可以完全按照與時(shí)序無(wú)關(guān)重量級(jí) 數(shù)據(jù)傳輸方式對(duì)待。由于非時(shí)序緊迫數(shù)據(jù)最終會(huì)演化成時(shí)序緊迫數(shù)據(jù),后者的傳輸會(huì)大大 減輕前者的壓力。當(dāng)然,在有限帶寬資源的條件下,前者必須有更高的優(yōu)先級(jí)獲得計(jì)算資 源。
(5) 實(shí)現(xiàn)對(duì)多種異質(zhì)數(shù)據(jù)構(gòu)成實(shí)體的傳輸。在實(shí)際應(yīng)用中,多種異質(zhì)數(shù)據(jù)會(huì)組成對(duì)
用戶有意義的實(shí)體。這個(gè)實(shí)體中的數(shù)據(jù)共同組合在一起才有意義,而分拆后就失去了或者 偏離原意。更復(fù)雜的情況是多個(gè)實(shí)體按照固定的次序被布置在一起表達(dá)出特定意義。這樣 就會(huì)形成如下格局,即在一個(gè)實(shí)體內(nèi)部不同性質(zhì)的數(shù)據(jù)要求以各自的特征傳輸,而在實(shí)體 之間也存在時(shí)序性。這種情況下的數(shù)據(jù)傳輸就需要恰當(dāng)應(yīng)用上述三種對(duì)不同數(shù)據(jù)的傳輸方 法,在保證資源最大化利用的前提下,保證數(shù)據(jù)之間固有的時(shí)序性。這就是流網(wǎng)協(xié)議主要
解決的問(wèn)題。其基本策略首先是各個(gè)實(shí)體中的輕量級(jí)數(shù)據(jù)優(yōu)先;原因是這些輕量級(jí)數(shù)據(jù)多 為文本數(shù)據(jù),即使全部實(shí)體中的輕量級(jí)數(shù)據(jù)量之和與重量級(jí)數(shù)據(jù)相比也極小;同時(shí)這些輕 量級(jí)數(shù)據(jù)本身還包括對(duì)實(shí)體的描述信息,優(yōu)先傳輸這種數(shù)據(jù)有利于接收節(jié)點(diǎn)對(duì)實(shí)體以及他們之間的關(guān)系有全面了解,從而更適當(dāng)?shù)卣{(diào)度資源,完成所有實(shí)體數(shù)據(jù)的傳輸。其次,在 所有輕量級(jí)數(shù)據(jù)傳送完畢后,再對(duì)排在第一位實(shí)體中與時(shí)序相關(guān)的重量級(jí)數(shù)據(jù)進(jìn)行傳輸; 與此同時(shí),為排列第一的實(shí)體中與時(shí)序無(wú)關(guān)的重量級(jí)數(shù)據(jù)提供適當(dāng)下載幾率;如果帶寬資 源仍有剩余,可以考慮依次為其余實(shí)體中的重量級(jí)數(shù)據(jù)分配下載幾率。最后,當(dāng)?shù)谝粋€(gè)實(shí) 體中與時(shí)序相關(guān)的重量級(jí)數(shù)據(jù)傳輸完畢后,如果其本身與時(shí)序無(wú)關(guān)的重量級(jí)數(shù)據(jù)還沒(méi)有傳 輸完畢,則直接傳輸?shù)诙€(gè)實(shí)體中與時(shí)序相關(guān)的重量級(jí)數(shù)據(jù),并只為第一個(gè)實(shí)體中與時(shí)序 無(wú)關(guān)的重量級(jí)數(shù)據(jù)提供適當(dāng)下載幾率。依此類推,完成所有實(shí)體的傳輸。這個(gè)策略可總結(jié) 為輕量級(jí)數(shù)據(jù)最優(yōu)先、與時(shí)序相關(guān)的重量級(jí)數(shù)據(jù)次之以及與時(shí)序無(wú)關(guān)的重量級(jí)數(shù)據(jù)放在最 后考慮。這與現(xiàn)實(shí)應(yīng)用場(chǎng)景的一般規(guī)律相吻合 一個(gè)有含義實(shí)體中通常包括文本(輕量級(jí) 數(shù)據(jù))、圖片(輕量級(jí)數(shù)據(jù))、音頻(與時(shí)序相關(guān)的輕量級(jí)數(shù)據(jù))和視頻(與時(shí)序相關(guān)重 量級(jí)數(shù)據(jù))等,很少會(huì)出現(xiàn)與時(shí)序無(wú)關(guān)的重量級(jí)數(shù)據(jù)。
第三步,建立動(dòng)態(tài)集群中的事件驅(qū)動(dòng)機(jī)制。動(dòng)態(tài)集群形成的基礎(chǔ)之一就是相互之間交 互是以事件驅(qū)動(dòng)為前提的。無(wú)論是一個(gè)節(jié)點(diǎn)請(qǐng)求建立連接、發(fā)起數(shù)據(jù)傳輸以及關(guān)閉連接等 等基本行為都是通過(guò)事件驅(qū)動(dòng)機(jī)制來(lái)完成的。這與傳統(tǒng)互聯(lián)網(wǎng)以投票為主的方式截然不 同。而當(dāng)建立起動(dòng)態(tài)集群的基礎(chǔ)之后,這個(gè)事件驅(qū)動(dòng)機(jī)制就形成了基本框架。再結(jié)合高效 的輕量級(jí)多播機(jī)制,就可以形成一個(gè)基于消息的事件驅(qū)動(dòng)機(jī)制。這個(gè)機(jī)制能夠適應(yīng)互聯(lián)網(wǎng) 動(dòng)態(tài)變化的特征,保證事件驅(qū)動(dòng)機(jī)制在高效穩(wěn)定可靠大規(guī)模環(huán)境下工作。這個(gè)機(jī)制的實(shí)現(xiàn) 提高了互聯(lián)網(wǎng)計(jì)算節(jié)點(diǎn)之間的交互效率,避免了投票機(jī)制給系統(tǒng)增加的壓力以及對(duì)系統(tǒng)變 化遲鈍反應(yīng)。事件驅(qū)動(dòng)保證了關(guān)注者能夠在事件發(fā)生前不用付出額外代價(jià)進(jìn)行投票;同時(shí), 在事件發(fā)生后,能夠即刻作出反應(yīng)?;ヂ?lián)網(wǎng)環(huán)境下遠(yuǎn)程事件驅(qū)動(dòng)機(jī)制成為了反映互聯(lián)網(wǎng)變 化的基礎(chǔ)。互聯(lián)網(wǎng)本質(zhì)上是一個(gè)不斷變化的系統(tǒng),但這種變化在沒(méi)有遠(yuǎn)程事件驅(qū)動(dòng)機(jī)制的 支持下,是無(wú)法即時(shí)反映到相關(guān)計(jì)算節(jié)點(diǎn)的。為了降低計(jì)算負(fù)擔(dān),當(dāng)前互聯(lián)網(wǎng)主要應(yīng)用中 甚至拒絕對(duì)這些變化予以跟蹤。本發(fā)明有效地解決了這個(gè)問(wèn)題。
第四步,根據(jù)用戶行為以及動(dòng)態(tài)集群規(guī)模對(duì)新聞數(shù)據(jù)排序。對(duì)新聞數(shù)據(jù)價(jià)值評(píng)估是當(dāng) 前互聯(lián)網(wǎng)新聞服務(wù)的難題之一,這個(gè)問(wèn)題在前面已經(jīng)闡述過(guò)了。本發(fā)明的新聞服務(wù)方法中, 新聞數(shù)據(jù)在被發(fā)布后,將會(huì)以事件驅(qū)動(dòng)的方式傳送到潛在的計(jì)算節(jié)點(diǎn),而不是在互聯(lián)網(wǎng)服 務(wù)器上被動(dòng)等待。用戶在自身控制的計(jì)算節(jié)點(diǎn)上可以根據(jù)自身的喜好對(duì)獲得的數(shù)據(jù)進(jìn)行選 擇閱讀、忽略、拒絕接收或者刪除等行為。這些行為的累計(jì)效果就形成了對(duì)新聞數(shù)據(jù)價(jià)值 的評(píng)估。當(dāng)新聞數(shù)據(jù)中包含重量級(jí)數(shù)據(jù)時(shí),新聞數(shù)據(jù)的發(fā)布過(guò)程會(huì)持續(xù)更長(zhǎng)時(shí)間,這時(shí)可 以通過(guò)相應(yīng)動(dòng)態(tài)集群規(guī)模的大小來(lái)衡量新聞價(jià)值。這個(gè)價(jià)值的衡量由于系統(tǒng)具備即時(shí)的事
13件驅(qū)動(dòng)機(jī)制,能夠以接近實(shí)時(shí)的速度來(lái)完成。當(dāng)前互聯(lián)網(wǎng)非即時(shí)性使得一致性維護(hù)困難, 更進(jìn)一步導(dǎo)致通過(guò)閱讀次數(shù)來(lái)排序緩慢而且誤差大。本發(fā)明的做法避免了上述問(wèn)題。
第五步,通過(guò)監(jiān)測(cè)動(dòng)態(tài)集群生命周期評(píng)估新聞數(shù)據(jù)的時(shí)效性。新聞數(shù)據(jù)具有強(qiáng)時(shí)效性 是無(wú)可爭(zhēng)議的。但時(shí)效性的評(píng)估是建立在即時(shí)性基礎(chǔ)上。本發(fā)明的新聞服務(wù)方法能夠即時(shí) 獲得最新數(shù)據(jù)的產(chǎn)生、變更、復(fù)制以及刪除等動(dòng)態(tài)變化的數(shù)據(jù),這為把握新聞的時(shí)效性建 立了基礎(chǔ)。新聞時(shí)效性的把握實(shí)際是對(duì)新聞生命周期和新聞排序的結(jié)合應(yīng)用。本發(fā)明可以 利用計(jì)算能力強(qiáng)的服務(wù)器監(jiān)測(cè)新聞的狀態(tài);這個(gè)狀態(tài)監(jiān)測(cè)實(shí)際上是對(duì)新聞數(shù)據(jù)在一段時(shí)間 內(nèi)引發(fā)動(dòng)態(tài)集群的統(tǒng)計(jì)。當(dāng)一個(gè)新聞在特定時(shí)間內(nèi)不斷引發(fā)集群,或者集群一直沒(méi)有衰敗, 可以延長(zhǎng)監(jiān)測(cè)時(shí)間;同時(shí)根據(jù)集群規(guī)模衡量新聞的價(jià)值;當(dāng)一個(gè)新聞數(shù)據(jù)在足夠長(zhǎng)的時(shí)間 內(nèi)無(wú)法引發(fā)動(dòng)態(tài)集群時(shí),可以認(rèn)為該新聞生命周期已經(jīng)結(jié)束?;诳煽康谋O(jiān)測(cè)機(jī)制,新聞 的時(shí)效性在長(zhǎng)期時(shí)段、特定時(shí)段以及即時(shí)時(shí)段都能夠得到有效保證。補(bǔ)充說(shuō)明的是,對(duì)于 動(dòng)態(tài)集群的監(jiān)測(cè)是動(dòng)態(tài)集群維護(hù)中的主要任務(wù)之一;只有這樣系統(tǒng)才可以對(duì)計(jì)算能力弱的 集群予以計(jì)算資源上的輔助,并利用計(jì)算能力強(qiáng)的集群中富余的計(jì)算資源。在這個(gè)基礎(chǔ)之 上進(jìn)行對(duì)新聞數(shù)據(jù)動(dòng)態(tài)集群的監(jiān)測(cè),其工作性質(zhì)是一樣的,并不需要消耗額外資源。
第六步,通過(guò)充分利用計(jì)算資源確保新聞數(shù)據(jù)發(fā)布系統(tǒng)的強(qiáng)伸縮性。所謂強(qiáng)伸縮性是 形成大規(guī)模系統(tǒng)能力的代名詞。在動(dòng)態(tài)集群的基礎(chǔ)平臺(tái)上,當(dāng)計(jì)算節(jié)點(diǎn)自由加入后將以動(dòng) 態(tài)集群的方式運(yùn)行,在這樣的集群中每個(gè)節(jié)點(diǎn)都會(huì)按照流網(wǎng)協(xié)議在獲得計(jì)算資源的同時(shí)貢 獻(xiàn)自身計(jì)算資源。當(dāng)然,要獲得強(qiáng)伸縮性不僅僅決定于計(jì)算資源的總量和相應(yīng)組織方式, 還決定于具體計(jì)算對(duì)資源的需求。對(duì)于新聞服務(wù)來(lái)說(shuō),新聞數(shù)據(jù)在傳輸時(shí)所消耗的計(jì)算資 源最大,其展示對(duì)于當(dāng)前計(jì)算節(jié)點(diǎn)來(lái)說(shuō)都可以應(yīng)付;由于傳輸新聞數(shù)據(jù)所需資源總量與潛 在計(jì)算節(jié)點(diǎn)總的計(jì)算資源相比所占比例小,再輔以動(dòng)態(tài)集群這樣的有效資源組織方式,實(shí) 現(xiàn)無(wú)限規(guī)模的強(qiáng)伸縮性新聞服務(wù)來(lái)說(shuō)就容易做到了。
第七步,建立基于動(dòng)態(tài)集群的交互方法。動(dòng)態(tài)集群除了作為新聞系統(tǒng)的一個(gè)良好平臺(tái) 外,還可以用以進(jìn)行強(qiáng)伸縮性的交互。在進(jìn)行基于消息機(jī)制的交互時(shí),由于消息本身屬于 輕量級(jí)數(shù)據(jù),在動(dòng)態(tài)集群內(nèi)完成這樣的任務(wù)可以達(dá)到接近無(wú)限大規(guī)模。當(dāng)新聞?dòng)脩糁g需 要進(jìn)行基于重量級(jí)數(shù)據(jù)交互時(shí),必須對(duì)這樣的交互做適當(dāng)調(diào)度。這種調(diào)度是在當(dāng)過(guò)高比例 用戶需要以高并發(fā)方式進(jìn)行基于重量級(jí)數(shù)據(jù)交互時(shí)才需要的。這個(gè)時(shí)候,計(jì)算資源即使在 流網(wǎng)協(xié)議的支持下也會(huì)出現(xiàn)不足。幸運(yùn)的是,這種情況在實(shí)際應(yīng)用當(dāng)中并不常見(jiàn)。這是由 于動(dòng)態(tài)集群是運(yùn)行于社會(huì)網(wǎng)絡(luò)環(huán)境中;網(wǎng)絡(luò)的社會(huì)屬性導(dǎo)致只有少數(shù)節(jié)點(diǎn)在系統(tǒng)其主導(dǎo)作 用。在本應(yīng)用中,意味著少數(shù)節(jié)點(diǎn)主動(dòng)發(fā)布和交互,大部分節(jié)點(diǎn)處于被動(dòng)接收狀態(tài)??傊趧?dòng)態(tài)集群技術(shù)的新聞系統(tǒng)可以提供比當(dāng)前新聞系統(tǒng)強(qiáng)大得多的交互方式。 參考文獻(xiàn)
1Ian Foster, Carl Kesselman; The Grid — Blueprint for a New Computing Infrastructure; Second Edition, Elsevier Inc., ISBN 7-111-16054-1, 2002
Obraczka, K..; Multicast Transport Protocols: a Survey and Taxonomy; Communication Magazine, IEEE, Volume 36, Issue 1, Jan. 1998 Page(s): 94-103Hadzilacos V., Toueg S.; A Modular Approach to Fault-tolerant Broadcasts and Related Problems; Technical report, Dept of Computer Science, University of Toronto, 1994Jean Bacon, John Bates, Richard Hayton, Ken Moody; Using Events to Build Distributed Applications, Services in Distributed and Networked Environments; 1995, Second International Workshop on, 5-6 June 1995 Page(s): 148-155Wiesmann M., et al; Understanding Replication in Databases and Distributed Systems; in Proceedings 20th International Conference on Distributed Computing Systems (ICDCS 2000), Taipei, Republic of China, IEEE
6Mah B.A.; An Empirical Model of HTTP Network Traffic; INFOCOM ,97, Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies, Proceedings IEEE, Volume 2, 7-11 April 1997 Page(s): 592-600
7Callaghan B.; WebNFS Client Specification; Internet RFC 2054, October 1998Callaghan B.; WebNFS Server Specification; Internet RFC 2055, October 1999Satyanarayanan M.; Distributed File Systems; iiiMullender S., Distributed Systems, an Advanced Course, 2nd Edition, Wokingham: ACM Press/Addison-Wesley, 1989, Page(s): 353-3810Brin S, Page L.; The Anatomy of a Large-Scale Hypertextual Web Search Engine; WWW7, Computer Networks 30(1-7), 1998, Page(s): 107-1111Vinton Cerf; Specification of Internet Transmission Control Program; RFC 675, December 19712Rosenberg J" et al; STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs); RFC 3489, March 20013Ananth Grama, et al; Introduction to Parallel Computing; Second Edition, Benjamin/Cummings Publishing Company Inc, 1994, ISBN: 0-201-64865-14Cohen B.; Incentives Build Robustness in BitTorrent; in Workshop on Economics ofPeer-to-Peer Systems, Berkeley USA, May 20015Newman M E J.; The Structure and Function of Complex Networks; SIAM Review, 2003, 45, Page(s): 167-2516Vlavianos Aggelos, et al; BiToS: Enhancing BitTorrent for Supporting Streaming Applications; INFOCOM 2006, 25th 正EE International Conference on Computer Communications Proceedings, April 2006, Page(s): 1-17Rowstron A., Druschel P.; Pastry: Scalable, Decentralized Object Location and Routing for Large-Scale Peer-to-Peer Systems; in Proceedings of the 2001 ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM,Ol), San Diego, CA, August 2001, page(s): 247-2518Gribble S.D.; Measuring and Analyzing the Characteristic of Napster and Gnutella Hosts; Multimedia Systems Journal, 9(2), August 2003, page(s): 170-1819Adar E., Huberman B.A.; Free Riding on Gnutella; First Monday, Internet Journal, Oct. 2000, Available at http:〃www.firstmonday.dk/issues/issue5—10/adar/index.html
20Gifford D.K.; Weighted Voting for Replicated Data; in Proceeding 7th Symposium on Operating Systems Principles, ACM, page(s): 150-162 。
1權(quán)利要求
1.一種基于動(dòng)態(tài)集群的新聞服務(wù)方法,其步驟為1)在計(jì)算節(jié)點(diǎn)上建立數(shù)據(jù)接收和請(qǐng)求機(jī)制;2)在任何兩個(gè)節(jié)點(diǎn)之間建立直接交互;3)節(jié)點(diǎn)尋找與其計(jì)算任務(wù)潛在可配合節(jié)點(diǎn)并建立連接;4)新聞系統(tǒng)根據(jù)流網(wǎng)協(xié)議建立動(dòng)態(tài)集群;5)根據(jù)新聞服務(wù)的需要新聞系統(tǒng)對(duì)動(dòng)態(tài)集群內(nèi)的數(shù)據(jù)進(jìn)行相應(yīng)處理。
2. 如權(quán)利要求l所述的方法,其特征在于通過(guò)TCP/IP編程實(shí)現(xiàn)所述在計(jì)算節(jié)點(diǎn)上建立數(shù) 據(jù)接收和請(qǐng)求機(jī)制。
3. 如權(quán)利要求l所述的方法,其特征在于通過(guò)NAT穿越技術(shù)對(duì)NAT穿越,實(shí)現(xiàn)所述節(jié) 點(diǎn)之間建立直接交互。
4. 如權(quán)利要求3所述的方法,其特征在于在所述節(jié)點(diǎn)上采用有效線程池技術(shù)實(shí)現(xiàn)對(duì)每個(gè) 節(jié)點(diǎn)計(jì)算資源的最大利用。
5. 如權(quán)利要求1所述的方法,其特征在于采用基于社會(huì)網(wǎng)絡(luò)的路由技術(shù)實(shí)現(xiàn)所述節(jié)點(diǎn)尋 找與其計(jì)算任務(wù)潛在可配合節(jié)點(diǎn)并建立連接。
6. 如權(quán)利要求1所述的方法,其特征在于所述動(dòng)態(tài)集群為運(yùn)行狀態(tài)下,基于共同計(jì)算目 的計(jì)算節(jié)點(diǎn)形成的計(jì)算資源共享集合,其特征包括周期性生命、共同目的、自由組 合、高度動(dòng)態(tài)、網(wǎng)狀拓?fù)?、高度異質(zhì)。
7. 如權(quán)利要求1所述的方法,其特征在于所述新聞系統(tǒng)根據(jù)流網(wǎng)協(xié)議建立動(dòng)態(tài)集群的方 法為1) 采用基于社會(huì)網(wǎng)絡(luò)的路由算法尋找計(jì)算資源;2) 根據(jù)節(jié)點(diǎn)間傳輸?shù)臄?shù)據(jù)特征采用相關(guān)協(xié)議進(jìn)行數(shù)據(jù)傳輸;所述數(shù)據(jù)特征包括輕量級(jí) 數(shù)據(jù)、與時(shí)序相關(guān)的輕量級(jí)數(shù)據(jù)、與時(shí)序相關(guān)重量級(jí)數(shù)據(jù)、與時(shí)序無(wú)關(guān)的重量級(jí)數(shù) 據(jù);對(duì)于所述輕量級(jí)數(shù)據(jù)采取基于消息的可靠多播算法進(jìn)行傳輸;對(duì)于所述與時(shí)序 相關(guān)重量級(jí)數(shù)據(jù),將數(shù)據(jù)分為時(shí)序已經(jīng)迫近的數(shù)據(jù)和時(shí)序要求不緊迫到的數(shù)據(jù)進(jìn)行 傳輸,對(duì)于所述時(shí)序已經(jīng)迫近的數(shù)據(jù)采取同步或異步傳輸方法進(jìn)行傳輸。
8. 如權(quán)利要求7所述的方法,其特征在于對(duì)于所述時(shí)序要求不緊迫的數(shù)據(jù)和與時(shí)序無(wú)關(guān) 的重量級(jí)數(shù)據(jù)采取的方法為1) 計(jì)算節(jié)點(diǎn)與多個(gè)潛在節(jié)點(diǎn)異步并發(fā)交互;2) 計(jì)算節(jié)點(diǎn)同時(shí)尋找其它潛在節(jié)點(diǎn)作為候選節(jié)點(diǎn),當(dāng)候選節(jié)點(diǎn)潛在能力高于當(dāng)前交互 的某個(gè)潛在節(jié)點(diǎn)時(shí),主動(dòng)把性能差或者貢獻(xiàn)少的節(jié)點(diǎn)主動(dòng)替換掉;3) 每個(gè)節(jié)點(diǎn)在交互過(guò)程中對(duì)正在聯(lián)系的節(jié)點(diǎn)進(jìn)行監(jiān)測(cè)以評(píng)估節(jié)點(diǎn)在集群中的行為,獎(jiǎng) 勵(lì)貢獻(xiàn)者、懲罰只作索取的節(jié)點(diǎn)以及在節(jié)點(diǎn)貢獻(xiàn)和索取之間建立正比關(guān)系;4) 系統(tǒng)中通過(guò)布置中心服務(wù)器主動(dòng)與計(jì)算節(jié)點(diǎn)聯(lián)系的方法保證公平性。
9.如權(quán)利要求7或8所述的方法,其特征在于對(duì)于所述數(shù)據(jù)為多種異質(zhì)數(shù)據(jù)時(shí),采取輕 量級(jí)數(shù)據(jù)優(yōu)先、與時(shí)序相關(guān)的重量級(jí)數(shù)據(jù)次之以及與時(shí)序無(wú)關(guān)的重量級(jí)數(shù)據(jù)最后的原 則進(jìn)行傳輸。
10.如權(quán)利要求1所述的方法,其特征在于所述根據(jù)新聞服務(wù)的需要新聞系統(tǒng)對(duì)動(dòng)態(tài)集群 內(nèi)的數(shù)據(jù)進(jìn)行相應(yīng)處理,其包括1) 新聞價(jià)值評(píng)估;其方法為根據(jù)用戶行為以及動(dòng)態(tài)集群規(guī)模對(duì)新聞數(shù)據(jù)排序,所述用 戶行為包括對(duì)請(qǐng)求接收的新聞數(shù)據(jù)選擇閱讀、忽略、拒絕接收或者刪除;2) 新聞時(shí)效評(píng)估;其方法為通過(guò)監(jiān)測(cè)動(dòng)態(tài)集群生命周期評(píng)估新聞數(shù)據(jù)的時(shí)效性,所述 時(shí)效性包括長(zhǎng)期時(shí)段、特定時(shí)段以及即時(shí)時(shí)段;3) 增強(qiáng)系統(tǒng)能力;通過(guò)充分利用計(jì)算資源確保新聞數(shù)據(jù)發(fā)布系統(tǒng)的強(qiáng)伸縮性,其方法 為動(dòng)態(tài)集群中每個(gè)節(jié)點(diǎn)按照流網(wǎng)協(xié)議在獲得計(jì)算資源的同時(shí)貢獻(xiàn)自身計(jì)算資源。
全文摘要
本發(fā)明公開(kāi)了一種基于動(dòng)態(tài)集群的新聞服務(wù)方法,屬于互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)領(lǐng)域。本發(fā)明首先在計(jì)算節(jié)點(diǎn)上建立數(shù)據(jù)接收和請(qǐng)求機(jī)制,然后在任何兩個(gè)節(jié)點(diǎn)之間建立直接交互,之后節(jié)點(diǎn)可以尋找與其計(jì)算任務(wù)潛在可配合節(jié)點(diǎn)并建立連接,然后根據(jù)流網(wǎng)協(xié)議建立動(dòng)態(tài)集群,根據(jù)新聞服務(wù)的需要新聞系統(tǒng)對(duì)動(dòng)態(tài)集群內(nèi)的數(shù)據(jù)進(jìn)行相應(yīng)處理。本發(fā)明的新聞服務(wù)方法,可以及時(shí)準(zhǔn)確的把握新聞的變化,從而及時(shí)有效的提供各種新聞服務(wù),比如對(duì)新聞進(jìn)行有效的排序、提供交互功能等。
文檔編號(hào)H04L29/08GK101645911SQ20081011782
公開(kāi)日2010年2月10日 申請(qǐng)日期2008年8月5日 優(yōu)先權(quán)日2008年8月5日
發(fā)明者冰 李 申請(qǐng)人:北京大學(xué)