欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于流言協(xié)議的廣域網(wǎng)中消息的發(fā)布、訂閱方法和系統(tǒng)的制作方法

文檔序號(hào):7856092閱讀:161來(lái)源:國(guó)知局
專利名稱:基于流言協(xié)議的廣域網(wǎng)中消息的發(fā)布、訂閱方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及消息發(fā)布方法和系統(tǒng),尤其涉及ー種基于流言協(xié)議的廣域網(wǎng)中消息的發(fā)布、訂閱方法和系統(tǒng)。所述流言協(xié)議是一種以類似于人群中傳播閑話的方式對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行同步的協(xié)議。
背景技術(shù)
發(fā)布-訂閱技術(shù)是消息傳遞的ー種模式。一般來(lái)說,消息傳遞最基本的模式是,發(fā)送者將消息直接傳遞給接收者。而發(fā)布-訂閱技術(shù)則不是將消息直接傳遞給接收者,而是將消息分為若干類別(這些類別也稱為主題),接收者可以通過訂閱自己感興趣的類別來(lái)獲得這個(gè)類別對(duì)應(yīng)的消息。將消息分類的ー種典型方式是,發(fā)送者將消息發(fā)布到不同的主題,接收者則訂閱感興趣的主題來(lái)獲得消息。在互聯(lián)網(wǎng)上應(yīng)用發(fā)布-訂閱技術(shù)的ー個(gè)典型場(chǎng)景是,一個(gè)客戶端按先后順序把消息發(fā)布到ー個(gè)IDC (Internet Data Center,互聯(lián)網(wǎng)數(shù)據(jù)中心)的主題,而其他的客戶端需要從其他的IDC按順序讀取這個(gè)主題的消息。這里要解決的問題是,如何把客戶端發(fā)布到最初IDC的消息,按順序復(fù)制到其他IDC?,F(xiàn)有復(fù)制技術(shù)主要是基于日志復(fù)制的主從復(fù)制模型(常用于數(shù)據(jù)庫(kù)管理系統(tǒng)中數(shù)據(jù)的復(fù)制)。其中,一個(gè)節(jié)點(diǎn)(一臺(tái)服務(wù)器)作為主節(jié)點(diǎn),其他若干節(jié)點(diǎn)作為從節(jié)點(diǎn)(即,這種復(fù)制模型是由ー個(gè)主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn)組成),主節(jié)點(diǎn)接收和處理所有的寫請(qǐng)求,而從節(jié)點(diǎn)則接收和處理所有的讀請(qǐng)求,寫到主節(jié)點(diǎn)的數(shù)據(jù)以日志的形式被復(fù)制到各個(gè)從節(jié)點(diǎn)。這種模型的優(yōu)點(diǎn)是簡(jiǎn)單易行,成熟穩(wěn)定。 然而,由于基于這種模型的系統(tǒng)只包含一個(gè)主節(jié)點(diǎn),而從節(jié)點(diǎn)又無(wú)法處理寫請(qǐng)求,因此存在以下問題一旦主節(jié)點(diǎn)發(fā)生故障,就會(huì)出現(xiàn)單點(diǎn)故障問題,可靠性不高;當(dāng)這種主從復(fù)制要跨越多個(gè)IDC (即主節(jié)點(diǎn)在ー個(gè)IDC,從節(jié)點(diǎn)在其他IDC)吋,由于只能有ー個(gè)主節(jié)點(diǎn),因此系統(tǒng)的整體寫入效率會(huì)非常低,可擴(kuò)展性較差。

發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了一種基于流言協(xié)議的廣域網(wǎng)中消息的發(fā)布、訂閱方法和系統(tǒng),可提高廣域網(wǎng)內(nèi)消息的發(fā)布效率及系統(tǒng)的穩(wěn)定性。本發(fā)明的實(shí)施例提供了一種基于流言協(xié)議的廣域網(wǎng)中消息的發(fā)布方法,所述方法包括步驟接收客戶端發(fā)布到主題中的消息,并將消息同步到其他訂閱該主題的通訊站;在訂閱所述主題的通訊站中對(duì)主題中消息進(jìn)行同步,在同步過程中,滿足如下條件對(duì)于發(fā)布到本地通訊站的第一消息和從遠(yuǎn)端通訊站同步到本地通訊站的第二消息,第一消息和第二消息的排列順序與消息上傳到通訊站的時(shí)間順序一致。所述同步包括摘要同步步驟,所述摘要同步步驟包括本地通訊站隨機(jī)讀取任一遠(yuǎn)端通訊站關(guān)于主題的同步表;比較本地通訊站與該遠(yuǎn)端通訊站的同步表中每個(gè)通訊站相對(duì)應(yīng)的可獲得消息實(shí)體數(shù)量,如果本地通訊站同步表中通訊站的可獲得消息實(shí)體數(shù)量比遠(yuǎn)端通訊站同步表中同一通訊站的可獲得消息實(shí)體數(shù)量小,使用遠(yuǎn)端通訊站同步表中該通訊站的可獲得消息實(shí)體數(shù)量更新本地通訊站同步表中該通訊站的可獲得消息實(shí)體數(shù)量;如果本地通訊站同步表中通訊站的可獲得消息實(shí)體數(shù)量比遠(yuǎn)端通訊站同步表中同一通訊站的可獲得消息實(shí)體數(shù)量大,將本地通訊站同步表中該通訊站的可獲得消息實(shí)體數(shù)量添加到新建的空摘要中;比較本地通訊站與該遠(yuǎn)端通訊站的同步表中每個(gè)通訊站相對(duì)應(yīng)的消息實(shí)體最大數(shù)量,如果本地通訊站同步表中通訊站的消息實(shí)體最大數(shù)量比遠(yuǎn)端通訊站同步表中同一通訊站的消息實(shí)體最大數(shù)量小,使用遠(yuǎn)端通訊站同步表中該通訊站的消息實(shí)體最大數(shù)量更新本地通訊站同步表中該通訊站的消息實(shí)體最大數(shù)量;如果本地通訊站同步表中通訊站的消息實(shí)體最大數(shù)量比遠(yuǎn)端通訊站同步表中同一通訊站的消息實(shí)體最大數(shù)量大,將本地通訊站同步表中該通訊站的消息實(shí)體最大數(shù)量添加到新建的空摘要中;將空摘要發(fā)送至所述遠(yuǎn)端通訊站。所述同步還包括數(shù)據(jù)復(fù)制步驟,所述數(shù)據(jù)復(fù)制步驟包括 比較本地通訊站的同步表中每個(gè)通訊站相對(duì)應(yīng)的可獲得消息實(shí)體數(shù)量,如果本地通訊站的可獲得消息實(shí)體數(shù)量小于任ー遠(yuǎn)端通訊站的可獲得消息實(shí)體數(shù)量,則從該遠(yuǎn)端通訊站獲取自身沒有的消息。本發(fā)明還提供了一種基于流言協(xié)議的廣域網(wǎng)中消息的發(fā)布系統(tǒng),包括主體部分和客戶端,其中所述主體部分包括通訊站,該通訊站包括主節(jié)點(diǎn),所述主節(jié)點(diǎn)用于接收客戶端發(fā)布到主題中的消息,并將消息同步到其他訂閱該主題的通訊站;對(duì)主題中消息進(jìn)行同步,在同步過程中,滿足如下條件對(duì)于發(fā)布到本地通訊站的第一消息和從遠(yuǎn)端通訊站同步到本地通訊站的第二消息,第一消息和第二消息的排列順序與消息上傳到通訊站的時(shí)間順序一致;所述客戶端,用于將消息發(fā)布到本地通訊站的主題中。所述系統(tǒng)還包括管理部分,其用于存儲(chǔ)和維護(hù)元數(shù)據(jù),所述元數(shù)據(jù)包括主節(jié)點(diǎn)與通訊站的成員關(guān)系、主題與通訊站的訂閱關(guān)系、主節(jié)點(diǎn)的地址信息,井向主體部分提供所述元數(shù)據(jù)。所述管理部分,還用于向客戶端提供所述元數(shù)據(jù);或者,所述系統(tǒng)還包括緩存部分,所述緩存部分用于從管理部分獲得元數(shù)據(jù),并存儲(chǔ)元數(shù)據(jù),向?qū)?yīng)的客戶端提供元數(shù)據(jù)。所述通訊站還包括從節(jié)點(diǎn),所述系統(tǒng)還包括復(fù)制選舉器,其用于當(dāng)主節(jié)點(diǎn)發(fā)生故障時(shí),將ー個(gè)從節(jié)點(diǎn)選舉為新的主節(jié)點(diǎn),并在主節(jié)點(diǎn)和從節(jié)點(diǎn)之間復(fù)制消息。所述通訊站還包括從節(jié)點(diǎn),所述系統(tǒng)還包括選舉器和復(fù)制器,所述選舉器用于當(dāng)主節(jié)點(diǎn)發(fā)生故障時(shí)選舉一個(gè)從節(jié)點(diǎn)選舉為新的主節(jié)點(diǎn),所述復(fù)制器用于在主節(jié)點(diǎn)和從節(jié)點(diǎn)之間復(fù)制消息。本發(fā)明還提供了一種基于流言協(xié)議的廣域網(wǎng)中消息的訂閱方法,其基于上述的發(fā)布方法,所述訂閱方法包括步驟對(duì)預(yù)定主題進(jìn)行訂閱;從通訊站中獲得訂閱的主題,并從該主題中獲得消息。本發(fā)明還提供了一種基于流言協(xié)議的廣域網(wǎng)中消息的訂閱系統(tǒng),其基于上述的發(fā)布系統(tǒng),包括主體部分和客戶端,其中所述主體部分包括通訊站,該通訊站包括從節(jié)點(diǎn),從節(jié)點(diǎn)用于向客戶端發(fā)布訂閱的主題;所述客戶端用于訂閱該主題,并通過該主題從主體部分的通訊站的從節(jié)點(diǎn)中獲得關(guān)于所述主題的消息。本發(fā)明的實(shí)施例通過將消息發(fā)布到主題,客戶端通過訂閱主題來(lái)獲得消息,消息在訂閱主題的通訊站之間同步,這時(shí),當(dāng)其中一個(gè)通訊站出現(xiàn)故障時(shí),客戶端可通過其它通訊站獲得其訂閱主題的消息,從而不會(huì)妨礙對(duì)該消息的獲得,消除了單點(diǎn)故障問題,并提高了系統(tǒng)的整體寫入效率,及提高了可擴(kuò)展性。


圖I示出了本發(fā)明實(shí)施例的廣域網(wǎng)消息的發(fā)布方法;圖2示出了本發(fā)明實(shí)施例的廣域網(wǎng)消息的發(fā)布系統(tǒng);圖3示出了本發(fā)明另一實(shí)施例的廣域網(wǎng)消息的發(fā)布系統(tǒng)。
具體實(shí)施例方式為了便于本領(lǐng)域一般技術(shù)人員理解和實(shí)現(xiàn)本發(fā)明,現(xiàn)結(jié)合附圖描繪本發(fā)明的實(shí)施例。在描述系統(tǒng)架構(gòu)以及組成前,首先闡明如下幾個(gè)概念主題(Topic):消息的聚合體,在一個(gè)主題內(nèi)消息按照入隊(duì)先后排列;應(yīng)用(Application):姆ー個(gè)主題都是屬于ー個(gè)應(yīng)用,也就是在創(chuàng)建任何主題前都要先創(chuàng)建ー個(gè)應(yīng)用,一個(gè)應(yīng)用下可以創(chuàng)建多個(gè)主題;通訊站(Station):—個(gè)通訊站包含ー組服務(wù)節(jié)點(diǎn),一般地,不同的通訊站位于不同的IDC ;本地通訊站客戶端程序?qū)⑾l(fā)布到的通訊站。實(shí)施例一如圖I所示,本實(shí)施例提供了一種基于流言協(xié)議的廣域網(wǎng)消息的發(fā)布方法,所述方法包括步驟步驟11、接收客戶端發(fā)布到主題中的消息;步驟12、將消息同步到其他訂閱該主題的通訊站;步驟13、在訂閱所述主題的通訊站中對(duì)主題中消息進(jìn)行同步,在同步過程中,滿足如下條件對(duì)于發(fā)布到本地通訊站的第一消息和從遠(yuǎn)端通訊站同步到本地通訊站的第二消息,第一消息和第二消息的排列順序與消息上傳到通訊站的時(shí)間順序一致。首先描述下面要用到的符號(hào)定義。定義消息為ML,其中P表示消息對(duì)應(yīng)的主題,d是消息發(fā)布到的通訊站,i是d為其分配的id (按消息在d接收的先后順序,時(shí)間越靠后id越大)。設(shè)c是ー個(gè)通訊站,7^,是Mii上傳到c的時(shí)刻,Y是c收到的所有關(guān)于主題P
的消息的集合,那么定義上反自反全序關(guān)系ベ 如下
ベ={(Mpa Mij)\ (α =ガAi</)v(a式々λΓ的;<r, )}設(shè)有兩個(gè)通訊站分別為E和F,它們都對(duì)某ー個(gè)主題Q感興趣,那么E獲取的Q的消息序列中的消息的順序應(yīng)當(dāng)滿足I、在E待發(fā)布的所有消息的排列順序,與這些消息從客戶端發(fā)布到E時(shí)的時(shí)間順序一致;2、從F復(fù)制過來(lái)的所有消息的排列順序,與這些消息從客戶端發(fā)布到F時(shí)的時(shí)間順序一致;3、對(duì)于在E待發(fā)布的某一條消息Aff.,和從F同步到E的某一條消息這兩條消息的排序,按照ろ&和的大小排列,即,按照這些消息上傳到通訊站的時(shí)間順序進(jìn)行排列??傮w上來(lái)說,對(duì)于在本地通訊站待發(fā)布的消息和從任ー遠(yuǎn)端通訊站同步過來(lái)的消息,這些消息的排列順序與其上傳到通訊站 的時(shí)間順序一致。這三個(gè)條件規(guī)定了消息分發(fā)的有序性。條件1、2規(guī)定了局部有序性,即消息在客戶端A發(fā)布的順序和最終交付到客戶端B的順序是一致的。條件3規(guī)定了全局有序性,即來(lái)自于廣域網(wǎng)的全局消息保持服務(wù)器時(shí)間軸有序。顯然關(guān)系滿足這兩個(gè)條件的要求,因此消息發(fā)布系統(tǒng)將滿足ベ<關(guān)系的消息序列交付給客戶端。在本實(shí)施例中,通訊站之間消息的復(fù)制是基于運(yùn)行在各個(gè)通訊站主節(jié)點(diǎn)上的流言協(xié)議實(shí)現(xiàn)的,流言協(xié)議保證了復(fù)制的連續(xù)性和順序性。因此,為實(shí)現(xiàn)通訊站之間數(shù)據(jù)復(fù)制,需要有兩個(gè)過程,ー個(gè)過程是消息狀態(tài)的同步,一個(gè)過程則是消息實(shí)體的復(fù)制。而消息狀態(tài)的同步就是通過流言協(xié)議實(shí)現(xiàn)的。流言協(xié)議主要有兩種方式,ー種是反熵法(anti-entropy),一種是謠言傳播法(rumor-mongering)。反熵法的策略是,姆個(gè)節(jié)點(diǎn)周期性地隨機(jī)選擇ー個(gè)對(duì)等節(jié)點(diǎn),對(duì)比本節(jié)點(diǎn)和對(duì)等節(jié)點(diǎn)之間數(shù)據(jù)的指紋或版本,如果有差異則說明數(shù)據(jù)已經(jīng)被更新過,需要通過交換使得擁有較舊數(shù)據(jù)的節(jié)點(diǎn)獲得較新的數(shù)據(jù)。謠言傳播法的策略是,當(dāng)節(jié)點(diǎn)產(chǎn)生ー個(gè)更新時(shí),這個(gè)更新就進(jìn)入到“熱點(diǎn)”狀態(tài),節(jié)點(diǎn)會(huì)周期性地向隨機(jī)選擇的對(duì)等節(jié)點(diǎn)傳播這個(gè)更新,直到它認(rèn)為這個(gè)更新不再是“熱點(diǎn)”(此時(shí)有它認(rèn)為的足夠多的節(jié)點(diǎn)已經(jīng)收到了這個(gè)更新)后,就會(huì)停止對(duì)這個(gè)更新的傳播。本實(shí)施例中,消息復(fù)制狀態(tài)的同步采用是反熵法,主要原因是反熵法更為可靠,更有助于實(shí)現(xiàn)最終一致性。在謠言傳播法中,因?yàn)楫?dāng)節(jié)點(diǎn)認(rèn)為ー個(gè)處于“熱點(diǎn)”狀態(tài)的更新已經(jīng)被足夠多的節(jié)點(diǎn)收到時(shí)就會(huì)停止傳播,所以可能有的節(jié)點(diǎn)還沒有收到更新時(shí),傳播就已經(jīng)停止了,盡管這種情況的概率很低。而反熵法則是通過指紋或版本來(lái)對(duì)比兩個(gè)節(jié)點(diǎn)間的整體數(shù)據(jù),不一致時(shí)就會(huì)更新,因此可以保證所有節(jié)點(diǎn)的數(shù)據(jù)都能達(dá)到最終一致,因而比謠言傳播法更為可靠。而且,各節(jié)點(diǎn)間交換的不是整體數(shù)據(jù),而是將消息隊(duì)列補(bǔ)全,因此反熵法不會(huì)比謠言傳播法耗費(fèi)更大的帶寬。本實(shí)施例中,與以往流言協(xié)議所解決的同步問題的不同之處在于,系統(tǒng)要同步的對(duì)象不是ー個(gè)普通的值或狀態(tài),而是ー個(gè)消息序列。這個(gè)序列不但包含一系列的消息,而且這些消息是有序的。采用反熵策略,可以將當(dāng)前消息的最大id(設(shè)為max_id)作為消息序列的版本號(hào)。max_id從I開始編號(hào)。姆進(jìn)入一條新消息,max_id就會(huì)增加,也就是消息序列的版本更新。設(shè)更新前的max_id為m,更新后的max_id為m',于是得出要同步的消息% m+1, m+2,. . . , m/ 共 m' -m 條。前面提到,為實(shí)現(xiàn)通訊站之間數(shù)據(jù)復(fù)制,需要有兩個(gè)過程,ー個(gè)過程是消息復(fù)制狀態(tài)的同步,一個(gè)過程則是消息實(shí)體的復(fù)制。我們將消息復(fù)制狀態(tài)的同步稱之為摘要同步(digest reconciliation),消息實(shí)體的復(fù)制稱之為數(shù)據(jù)復(fù)制(data replication)。為了進(jìn)行摘要同步,每個(gè)通訊站都將需要同步的各個(gè)通訊站的max_id組織到一個(gè)名為同步表的數(shù)據(jù)結(jié)構(gòu)中。同步表包含了一個(gè)通訊站感興趣的全部主題,把每一個(gè)主題及其對(duì)應(yīng)的狀態(tài)(如該主題所包含的消息數(shù)量)稱為ー個(gè)摘要(digest)。因此ー個(gè)同步表是由若干個(gè)摘要組成的,摘要和主題是一一對(duì)應(yīng)的關(guān)系。為了說明ー個(gè)摘要中包含哪些狀態(tài),給出摘要的形式化描述。設(shè)摘要的主題是P,通訊站包括Stl, S1,, Slri共η個(gè)通訊站,Dk是Sk維護(hù)的關(guān)于P的摘要(其中k e
,Dk [S1]Dk[Sn_J。每一個(gè)DkIiSi](其中i e [O, η))包含一個(gè)max_id以及η個(gè)available_max_id,分別記為DkIiSi]. max_id 和 DkIiSi] [S」·]· avl_max_id(其中 j e [O, η)) max_id 是目前 Sk 已知的 Si接收到的消息的最大id。Sk目前同步到的消息可能沒有這么多,但作為“目標(biāo)”,Sk知道Si又發(fā)布了新的消息(max_id實(shí)際上是各個(gè)通訊站在本地成功發(fā)布消息后更新的,因此Sk實(shí) 際收到的消息不可能多于DjSj. max_id條)。available_max_id記錄的就是實(shí)際同步到的可獲得消息實(shí)體數(shù)量。DjSi] [Sj]. avl_max_id的含義是Sk已知的Sj實(shí)際從Si同步到的消息實(shí)體最大數(shù)量。當(dāng)Sk發(fā)現(xiàn)DjSi] [Sk]. avl_max_id小于DkIiSi]. max_id時(shí),就認(rèn)為有新消息需要同步,于是找出所有滿足DjSi] [Sj]. avl_max_id=Dk[Si]. max_id的SjG
j e
[Sk]. avl_max_id,還要記錄所有通訊站的available_max_id,這是因?yàn)椋M管Sk從Si —定可以獲取到新消息,但如果所有通訊站都從Si讀取可能會(huì)増加Si的壓力。而且一旦Si發(fā)生故障,則不知道從其他哪些通訊站還可以獲取到新消息而出現(xiàn)單點(diǎn)故障問題??梢杂镁仃囈约岸x在矩陣上的ニ元運(yùn)算來(lái)精確描述摘要同步過程。設(shè)V是η個(gè)通訊站的id的集合(不妨設(shè)V=
. avl_max_id, /wf相當(dāng)于 DjSi] · max_id。在nX (n+1)矩陣上定義兩種ニ元運(yùn)算φ和 ΘDr := ((max(く.,ri.(max(/ ))こ)Da DT :=
ηχ(η+ ),其中 <和分別定義為
權(quán)利要求
1.一種基于流言協(xié)議的廣域網(wǎng)中消息的發(fā)布方法,其特征在于,所述方法包括步驟 接收客戶端發(fā)布到主題中的消息,并將消息同步到其他訂閱該主題的通訊站; 在訂閱所述主題的通訊站中對(duì)主題中消息進(jìn)行同步,在同步過程中,滿足如下條件 對(duì)于發(fā)布到本地通訊站的第一消息和從遠(yuǎn)端通訊站同步到本地通訊站的第二消息,第一消息和第二消息的排列順序與消息上傳到通訊站的時(shí)間順序一致。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述同步包括摘要同步步驟,所述摘要同步步驟包括 本地通訊站隨機(jī)讀取任一遠(yuǎn)端通訊站關(guān)于主題的同步表; 比較本地通訊站與該遠(yuǎn)端通訊站的同步表中每個(gè)通訊站相對(duì)應(yīng)的可獲得消息實(shí)體數(shù)量,如果本地通訊站同步表中通訊站的可獲得消息實(shí)體數(shù)量比遠(yuǎn)端通訊站同步表中同一通訊站的可獲得消息實(shí)體數(shù)量小,使用遠(yuǎn)端通訊站同步表中該通訊站的可獲得消息實(shí)體數(shù)量更新本地通訊站同步表中該通訊站的可獲得消息實(shí)體數(shù)量;如果本地通訊站同步表中通訊站的可獲得消息實(shí)體數(shù)量比遠(yuǎn)端通訊站同步表中同一通訊站的可獲得消息實(shí)體數(shù)量大,將本地通訊站同步表中該通訊站的可獲得消息實(shí)體數(shù)量添加到新建的空摘要中; 比較本地通訊站與該遠(yuǎn)端通訊站的同步表中每個(gè)通訊站相對(duì)應(yīng)的消息實(shí)體最大數(shù)量,如果本地通訊站同步表中通訊站的消息實(shí)體最大數(shù)量比遠(yuǎn)端通訊站同步表中同一通訊站的消息實(shí)體最大數(shù)量小,使用遠(yuǎn)端通訊站同步表中該通訊站的消息實(shí)體最大數(shù)量更新本地通訊站同步表中該通訊站的消息實(shí)體最大數(shù)量;如果本地通訊站同步表中通訊站的消息實(shí)體最大數(shù)量比遠(yuǎn)端通訊站同步表中同一通訊站的消息實(shí)體最大數(shù)量大,將本地通訊站同步表中該通訊站的消息實(shí)體最大數(shù)量添加到新建的空摘要中; 將空摘要發(fā)送至所述遠(yuǎn)端通訊站。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述同步還包括數(shù)據(jù)復(fù)制步驟,所述數(shù)據(jù)復(fù)制步驟包括 比較本地通訊站的同步表中每個(gè)通訊站相對(duì)應(yīng)的可獲得消息實(shí)體數(shù)量,如果本地通訊站的可獲得消息實(shí)體數(shù)量小于任ー遠(yuǎn)端通訊站的可獲得消息實(shí)體數(shù)量,則從該遠(yuǎn)端通訊站獲取自身沒有的消息。
4.一種基于流言協(xié)議的廣域網(wǎng)中消息的發(fā)布系統(tǒng),其特征在于,包括主體部分和客戶端,其中 所述主體部分包括通訊站,該通訊站包括主節(jié)點(diǎn),所述主節(jié)點(diǎn)用于接收客戶端發(fā)布到主題中的消息,并將消息同步到其他訂閱該主題的通訊站;對(duì)主題中消息進(jìn)行同步,在同步過程中,滿足如下條件對(duì)于發(fā)布到本地通訊站的第一消息和從遠(yuǎn)端通訊站同步到本地通訊站的第二消息,第一消息和第二消息的排列順序與消息上傳到通訊站的時(shí)間順序一致; 所述客戶端,用于將消息發(fā)布到本地通訊站的主題中。
5.根據(jù)權(quán)利要求4所述的發(fā)布系統(tǒng),其特征在于,所述系統(tǒng)還包括管理部分,其用于存儲(chǔ)和維護(hù)元數(shù)據(jù),所述元數(shù)據(jù)包括主節(jié)點(diǎn)與通訊站的成員關(guān)系、主題與通訊站的訂閱關(guān)系、主節(jié)點(diǎn)的地址信息,井向主體部分提供所述元數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的發(fā)布系統(tǒng),其特征在干, 所述管理部分,還用于向客戶端提供所述元數(shù)據(jù); 或者,所述系統(tǒng)還包括緩存部分,所述緩存部分用于從管理部分獲得元數(shù)據(jù),并存儲(chǔ)元數(shù)據(jù),向?qū)?yīng)的客戶端提供元數(shù)據(jù)。
7.根據(jù)權(quán)利要求4所述的發(fā)布系統(tǒng),其特征在于,所述通訊站還包括從節(jié)點(diǎn),所述系統(tǒng)還包括復(fù)制選舉器,其用于當(dāng)主節(jié)點(diǎn)發(fā)生故障時(shí),將ー個(gè)從節(jié)點(diǎn)選舉為新的主節(jié)點(diǎn),并在主節(jié)點(diǎn)和從節(jié)點(diǎn)之間復(fù)制消息。
8.根據(jù)權(quán)利要求4所述的發(fā)布系統(tǒng),其特征在于,所述通訊站還包括從節(jié)點(diǎn),所述系統(tǒng)還包括選舉器和復(fù)制器,所述選舉器用于當(dāng)主節(jié)點(diǎn)發(fā)生故障時(shí)選舉一個(gè)從節(jié)點(diǎn)選舉為新的主節(jié)點(diǎn),所述復(fù)制器用于在主節(jié)點(diǎn)和從節(jié)點(diǎn)之間復(fù)制消息。
9.一種基于流言協(xié)議的廣域網(wǎng)中消息的訂閱方法,其基于權(quán)利要求I所述的發(fā)布方法,其特征在于,所述方法包括步驟 對(duì)預(yù)定主題進(jìn)行訂閱; 從通訊站中獲得訂閱的主題,并從該主題中獲得消息。
10.一種基于流言協(xié)議的廣域網(wǎng)中消息的訂閱系統(tǒng),其基于權(quán)利要求4所述的發(fā)布系統(tǒng),其特征在于,包括主體部分和客戶端,其中 所述主體部分包括通訊站,該通訊站包括從節(jié)點(diǎn),從節(jié)點(diǎn)用于向客戶端發(fā)布訂閱的主題; 所述客戶端用于訂閱該主題,并通過該主題從主體部分的通訊站的從節(jié)點(diǎn)中獲得關(guān)于所述主題的消息。
全文摘要
本發(fā)明的實(shí)施例提供了一種基于流言協(xié)議的廣域網(wǎng)中消息的發(fā)布、訂閱方法和系統(tǒng),可提高廣域網(wǎng)內(nèi)消息的發(fā)布效率及系統(tǒng)的穩(wěn)定性。所述發(fā)布方法包括步驟接收客戶端發(fā)布到主題中的消息,并將消息同步到其他訂閱該主題的通訊站;在訂閱所述主題的通訊站中對(duì)主題中消息進(jìn)行同步。本發(fā)明的實(shí)施例通過將消息發(fā)布到主題,客戶端通過訂閱主題來(lái)獲得消息,消息在訂閱主題的通訊站之間同步,這時(shí),當(dāng)其中一個(gè)通訊站出現(xiàn)故障時(shí),客戶端可通過其它通訊站獲得其訂閱主題的消息,從而不會(huì)妨礙對(duì)該消息的獲得,消除了單點(diǎn)故障問題,并提高了系統(tǒng)的整體寫入效率,及提高了可擴(kuò)展性。
文檔編號(hào)H04L29/08GK102843310SQ20121024704
公開日2012年12月26日 申請(qǐng)日期2012年7月17日 優(yōu)先權(quán)日2012年7月17日
發(fā)明者王聃, 曹愷, 朱鑫 申請(qǐng)人:新浪網(wǎng)技術(shù)(中國(guó))有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
油尖旺区| 永胜县| 柯坪县| 奎屯市| 井陉县| 沐川县| 会同县| 全椒县| 渝中区| 闸北区| 五大连池市| 莆田市| 无棣县| 兰溪市| 长宁县| 通许县| 延安市| 昌乐县| 遵义县| 延长县| 扬州市| 凤翔县| 会昌县| 西华县| 平陆县| 兴宁市| 岳普湖县| 黄大仙区| 丰顺县| 洪雅县| 淳安县| 新晃| 唐河县| 邓州市| 金湖县| 石景山区| 蓝田县| 贺州市| 武胜县| 康保县| 绥芬河市|