數(shù)據(jù)轉(zhuǎn)發(fā)方法及裝置制造方法
【專利摘要】提供了一種在服務(wù)器中分配轉(zhuǎn)發(fā)信息的方法和裝置以及一種在服務(wù)器中轉(zhuǎn)發(fā)數(shù)據(jù)的方法和裝置,所述在主服務(wù)器中分配轉(zhuǎn)發(fā)信息的方法包括:獲取任意一條訂閱數(shù)據(jù)的訂閱量;確定轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)節(jié)點的扇出量;根據(jù)獲取的訂閱量及確定的扇出量,構(gòu)建該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系;將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點。采用本發(fā)明所述方法和裝置,本發(fā)明不僅能夠?qū)崿F(xiàn)大規(guī)模訂閱數(shù)據(jù)的轉(zhuǎn)發(fā),而且能夠在數(shù)據(jù)轉(zhuǎn)發(fā)同時,有效克服因為帶寬不足導(dǎo)致的數(shù)據(jù)訂閱的延遲。
【專利說明】數(shù)據(jù)轉(zhuǎn)發(fā)方法及裝置
【技術(shù)領(lǐng)域】
[0001]本申請涉及一種訂閱數(shù)據(jù)轉(zhuǎn)發(fā)方法及裝置,尤其涉及一種根據(jù)下游訂閱需求構(gòu)建級聯(lián)轉(zhuǎn)發(fā)結(jié)構(gòu)的技術(shù)。
【背景技術(shù)】
[0002]目前Bigpipe(大管道技術(shù))是網(wǎng)絡(luò)服務(wù)中普遍采用的一種分布式消息傳輸系統(tǒng),主要采用的是P/s (Primary/Slave的簡寫,主/從)集群實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),由于這種p/s集群的出口帶寬是固定的,因此限制了能夠同時發(fā)起的訂閱量,當(dāng)下游訂閱量突然變大時,很容易導(dǎo)致每個下游分配到的帶寬不足,從而造成數(shù)據(jù)訂閱的不斷延遲。
[0003]為滿足下游的大量訂閱需求,現(xiàn)有技術(shù)也提供了一些解決方案,例如在Bigpipe的p/s下面下掛多層common broker (代理服務(wù)器)來實現(xiàn)大規(guī)模數(shù)據(jù)的轉(zhuǎn)發(fā),但是,由于下游的訂閱需求是隨時變化的,而這種數(shù)據(jù)轉(zhuǎn)發(fā)結(jié)構(gòu)是固定的,不能隨著訂閱需求的改變進(jìn)行相應(yīng)的調(diào)整,因此,這種數(shù)據(jù)轉(zhuǎn)發(fā)策略不能實現(xiàn)common broker資源的合理分配,反而會造成大量的common broker處于閑置狀態(tài),造成機(jī)器資源的浪費(fèi)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種數(shù)據(jù)轉(zhuǎn)發(fā)的方法和裝置,本發(fā)明不僅能夠?qū)崿F(xiàn)大規(guī)模訂閱數(shù)據(jù)的轉(zhuǎn)發(fā),而且能夠在數(shù)據(jù)轉(zhuǎn)發(fā)同時,有效克服因為帶寬不足導(dǎo)致的數(shù)據(jù)訂閱的延遲。
[0005]根據(jù)本發(fā)明的一方面,提供一種在服務(wù)器中分配轉(zhuǎn)發(fā)信息的方法,所述方法包括:獲取任意一條訂閱數(shù)據(jù)的訂閱量;確定轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)節(jié)點的扇出量;根據(jù)獲取的訂閱量及確定的扇出量,構(gòu)建該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系;將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點,以便所述轉(zhuǎn)發(fā)節(jié)點按照該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)。
[0006]優(yōu)選地,在將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點以前,所述方法還包括:監(jiān)測該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中是否存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點;如果該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點,則將發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點更換為該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之外的另一正常的轉(zhuǎn)發(fā)節(jié)點,以更新該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0007]優(yōu)選地,所述異常為以下情況之一:宕機(jī)、下架、假死、網(wǎng)絡(luò)故障、掛機(jī)及停機(jī)。
[0008]優(yōu)選地,所述將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點的具體步驟包括:將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息存儲至預(yù)置的元信息映射表中,所述元信息映射表用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息;或者,將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息發(fā)送至公共服務(wù)器,所述公共服務(wù)器用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0009]根據(jù)本發(fā)明的另一方面,提供一種在服務(wù)器中分配轉(zhuǎn)發(fā)信息的裝置,所述裝置包括:訂閱量獲取單元,用于獲取任意一條訂閱數(shù)據(jù)的訂閱量;扇出量獲取單元,用于確定轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)節(jié)點的扇出量;級聯(lián)信息構(gòu)建單元,用于根據(jù)獲取的訂閱量及確定的扇出量,構(gòu)建該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系;級聯(lián)信息分配單元,用于將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點,以便所述轉(zhuǎn)發(fā)節(jié)點按照該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)。
[0010]優(yōu)選地,所述方法還包括:級聯(lián)信息更新單元,用于在將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點以前,監(jiān)測該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中是否存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點;如果該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點,則將發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點更換為該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之外的另一正常的轉(zhuǎn)發(fā)節(jié)點,以更新該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0011]優(yōu)選地,所述異常為以下情況之一:宕機(jī)、下架、假死、網(wǎng)絡(luò)故障、掛機(jī)及停機(jī)。
[0012]根據(jù)本發(fā)明的另一方面,提供一種在服務(wù)器中轉(zhuǎn)發(fā)數(shù)據(jù)的方法,所述方法包括:從服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系;向接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的上游組的轉(zhuǎn)發(fā)節(jié)點發(fā)送訂閱請求,所述訂閱請求包含有接收的訂閱數(shù)據(jù)的指示信息;從該上游轉(zhuǎn)發(fā)節(jié)點接收訂閱數(shù)據(jù)。
[0013]優(yōu)選地,所述方法還包括:響應(yīng)于所述接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的下游組的轉(zhuǎn)發(fā)節(jié)點的訂閱請求,以便將接收的訂閱數(shù)據(jù)發(fā)送給該下游轉(zhuǎn)發(fā)節(jié)點。
[0014]優(yōu)選地,所述從主服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息的具體步驟包括:按照預(yù)設(shè)的時間間隔,從主服務(wù)器周期性地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息;或者,從主服務(wù)器實時地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0015]根據(jù)本發(fā)明的另一方面,提供一種在服務(wù)器中轉(zhuǎn)發(fā)數(shù)據(jù)的裝置,所述裝置包括:級聯(lián)信息接收單元,用于從服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系;訂閱請求單元,用于向接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的上游組的轉(zhuǎn)發(fā)節(jié)點發(fā)送訂閱請求,所述訂閱請求包含有接收的訂閱數(shù)據(jù)的指示信息;數(shù)據(jù)接收單元,用于從該上游轉(zhuǎn)發(fā)節(jié)點接收訂閱數(shù)據(jù)。[0016]優(yōu)選地,所述裝置還包括:訂閱響應(yīng)單元,用于響應(yīng)于所述接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的下游組的轉(zhuǎn)發(fā)節(jié)點的訂閱請求,以便將接收的訂閱數(shù)據(jù)發(fā)送給該下游轉(zhuǎn)發(fā)節(jié)點。
[0017]優(yōu)選地,所述級聯(lián)信息接收單元按照預(yù)設(shè)的時間間隔,從主服務(wù)器周期性地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息;或者,從主服務(wù)器實時地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0018]優(yōu)選地,所述級聯(lián)信息分配單元將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息存儲至預(yù)置的元信息映射表中,所述元信息映射表用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息;或者,將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息發(fā)送至公共服務(wù)器,所述公共服務(wù)器用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0019]有益效果
[0020]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
[0021]本發(fā)明不僅能夠?qū)崿F(xiàn)大規(guī)模訂閱數(shù)據(jù)的轉(zhuǎn)發(fā),而且能夠在數(shù)據(jù)轉(zhuǎn)發(fā)同時,有效克服因為帶寬不足導(dǎo)致的數(shù)據(jù)訂閱的延遲。此外,本發(fā)明還能夠隨著下游訂閱需求的變化選擇數(shù)量合理的設(shè)備實現(xiàn)大量訂閱數(shù)據(jù)的轉(zhuǎn)發(fā),這使得機(jī)器資源的利用得到了合理的分配,進(jìn)而有效避免了機(jī)器資源的浪費(fèi)。
【專利附圖】
【附圖說明】
[0022]通過下面結(jié)合附圖進(jìn)行的描述,本發(fā)明的上述和其他目的和特點將會變得更加清楚,其中:
[0023]圖1是示出根據(jù)本發(fā)明的示例性實施例的在服務(wù)器中分配轉(zhuǎn)發(fā)信息的方法的流程圖;
[0024]圖2是示出根據(jù)本發(fā)明的示例性實施例的在服務(wù)器中轉(zhuǎn)發(fā)數(shù)據(jù)的方法的流程圖;
[0025]圖3是示出根據(jù)本發(fā)明的示例性實施例的在服務(wù)器中分配轉(zhuǎn)發(fā)信息的裝置的結(jié)構(gòu)框圖;
[0026]圖4是示出根據(jù)本發(fā)明的示例性實施例的在服務(wù)器中轉(zhuǎn)發(fā)數(shù)據(jù)的裝置的結(jié)構(gòu)框圖;
[0027]圖5是示出根據(jù)本發(fā)明的示例性實施例的在Bigpipe分布式傳輸系統(tǒng)中實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)的示意圖。
【具體實施方式】
[0028]以下,將參照附圖來詳細(xì)說明本發(fā)明的實施例。
[0029]圖1示出了本發(fā)明一種在服務(wù)器中分配轉(zhuǎn)發(fā)信息的方法的優(yōu)選實施例的流程圖。圖3示出的一種在服務(wù)器中分配轉(zhuǎn)發(fā)信息的裝置可用于實現(xiàn)圖1中所述的方法。
[0030]參照圖1,在110中,所述裝置獲取任意一條訂閱數(shù)據(jù)的訂閱量。[0031]在120中,所述裝置確定轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)節(jié)點的扇出量。
[0032]其中,轉(zhuǎn)發(fā)節(jié)點即各個代理服務(wù)器,轉(zhuǎn)發(fā)節(jié)點的扇出量為一份數(shù)據(jù)能夠被該轉(zhuǎn)發(fā)節(jié)點同時向下轉(zhuǎn)發(fā)的份數(shù)(即代理服務(wù)器的訂閱量和發(fā)布量之比)。
[0033]在130中,所述裝置根據(jù)獲取的訂閱量及確定的扇出量,構(gòu)建該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系。
[0034]在一個具體的實施例中,假設(shè)所述裝置需要將I份訂閱數(shù)據(jù)轉(zhuǎn)發(fā)給1000個訂閱端,則該訂閱數(shù)據(jù)的訂閱量為1000份,由于I個轉(zhuǎn)發(fā)節(jié)點只能扇出10份訂閱數(shù)據(jù),為實現(xiàn)這1000份訂閱數(shù)據(jù)的轉(zhuǎn)發(fā),可將若干個轉(zhuǎn)發(fā)節(jié)點級聯(lián)在一起擴(kuò)大數(shù)據(jù)扇出能力。由于根據(jù)如下公式可以確定轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)所需的轉(zhuǎn)發(fā)節(jié)點個數(shù):
[0035]轉(zhuǎn)發(fā)節(jié)點個數(shù)=訂閱量/轉(zhuǎn)發(fā)節(jié)點的扇出量
[0036]可以推知,所述裝置至少需要100個轉(zhuǎn)發(fā)節(jié)點才能實現(xiàn)1000份訂閱數(shù)據(jù)的轉(zhuǎn)發(fā);又由于這100個轉(zhuǎn)發(fā)節(jié)點需要扇入100份訂閱數(shù)據(jù),因此所述裝置至少還需要10個上游轉(zhuǎn)發(fā)節(jié)點才能實現(xiàn)100份訂閱數(shù)據(jù)的扇入;又由于這10個轉(zhuǎn)發(fā)節(jié)點需要扇入10份訂閱數(shù)據(jù),因此所述裝置至少還需要I個轉(zhuǎn)發(fā)節(jié)點才能實現(xiàn)10份訂閱數(shù)據(jù)的扇入??梢钥闯?,所述裝置為轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)需要構(gòu)建一個如下所示級聯(lián)結(jié)構(gòu)信息:
[0037]L1:1個轉(zhuǎn)發(fā)節(jié)點
[0038]L2:10個轉(zhuǎn)發(fā)節(jié)點
[0039]L3:100個轉(zhuǎn)發(fā)節(jié)點
[0040]其中,LI為級聯(lián)轉(zhuǎn)發(fā)控制信息的第一組轉(zhuǎn)發(fā)節(jié)點,L2為級聯(lián)轉(zhuǎn)發(fā)控制信息的第二組轉(zhuǎn)發(fā)節(jié)點,L3為級聯(lián)轉(zhuǎn)發(fā)控制信息的第三組轉(zhuǎn)發(fā)節(jié)點,其中,LI是與L2相鄰的上游轉(zhuǎn)發(fā)節(jié)點,L2是與LI相鄰的下游轉(zhuǎn)發(fā)節(jié)點,L2是與L3相鄰的上游轉(zhuǎn)發(fā)節(jié)點,L3是與L2相鄰的上游轉(zhuǎn)發(fā)節(jié)點,也就是說,相鄰的兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系,其中,任意一組轉(zhuǎn)發(fā)節(jié)點可以向相鄰的上游轉(zhuǎn)發(fā)節(jié)點發(fā)送訂閱請求,以便從上游轉(zhuǎn)發(fā)節(jié)點中接收訂閱數(shù)據(jù);同時,該組轉(zhuǎn)發(fā)節(jié)點還負(fù)責(zé)響應(yīng)相鄰的下游轉(zhuǎn)發(fā)節(jié)點的訂閱請求,以便向其發(fā)送從上游節(jié)點接收到的訂閱數(shù)據(jù)。
[0041]在另一個具體的實施例中,為避免構(gòu)建的級聯(lián)轉(zhuǎn)發(fā)控制信息中的轉(zhuǎn)發(fā)節(jié)點出現(xiàn)負(fù)載過于集中的現(xiàn)象,所述裝置可在第一組轉(zhuǎn)發(fā)節(jié)點LI中增加2個冗余節(jié)點,以分擔(dān)LI中I個轉(zhuǎn)發(fā)節(jié)點的負(fù)載量,相應(yīng)地,該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息調(diào)整如下:
[0042]LI:3個轉(zhuǎn)發(fā)節(jié)點
[0043]L2:10個轉(zhuǎn)發(fā)節(jié)點
[0044]L3:100個轉(zhuǎn)發(fā)節(jié)點
[0045]除了可以在第一組轉(zhuǎn)發(fā)節(jié)點LI中增加冗余節(jié)點,所述裝置還可以根據(jù)需要在各組轉(zhuǎn)發(fā)節(jié)點中都增加一些冗余節(jié)點,以此提高級聯(lián)轉(zhuǎn)發(fā)控制信息中各個級聯(lián)層級的負(fù)載能力。
[0046]從上述實施例中可以看出,無論怎樣變換級聯(lián)轉(zhuǎn)發(fā)控制信息,級聯(lián)轉(zhuǎn)發(fā)控制信息必須包括至少一組轉(zhuǎn)發(fā)節(jié)點,相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系。
[0047]同時還應(yīng)該看出,所述裝置通過構(gòu)建級聯(lián)轉(zhuǎn)發(fā)控制信息,不僅可以實現(xiàn)大規(guī)模訂閱數(shù)據(jù)的轉(zhuǎn)發(fā),而且還可以根據(jù)不同的訂閱需求選擇合理數(shù)量的轉(zhuǎn)發(fā)機(jī)器進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),這也使得機(jī)器資源利用率得到了進(jìn)一步的提高。
[0048]在前面所述的實施例中,所述裝置采用的是推算的方法構(gòu)建該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,由于這種方法不便于對數(shù)據(jù)進(jìn)行實時維護(hù)和更新,因此,為進(jìn)一步實現(xiàn)級聯(lián)轉(zhuǎn)發(fā)控制信息的自動構(gòu)建,降低運(yùn)維成本,根據(jù)本發(fā)明的一個示例性實施例,所述裝置構(gòu)建該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息的具體步驟為:所述裝置根據(jù)獲取的訂閱量及確定的扇出量,確定所述級聯(lián)轉(zhuǎn)發(fā)控制信息的級聯(lián)的組數(shù)以及級聯(lián)的各個組對應(yīng)的轉(zhuǎn)發(fā)節(jié)點個數(shù);按照確定的級聯(lián)的組數(shù)以及級聯(lián)的各個組對應(yīng)的轉(zhuǎn)發(fā)節(jié)點個數(shù),確定所述級聯(lián)轉(zhuǎn)發(fā)控制信息的級聯(lián)的各個組對應(yīng)的轉(zhuǎn)發(fā)節(jié)點;根據(jù)確定的級聯(lián)的各個組對應(yīng)的轉(zhuǎn)發(fā)節(jié)點,構(gòu)建該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0049]具體地,根據(jù)本發(fā)明的一個示例性實施例,所述裝置確定所述級聯(lián)轉(zhuǎn)發(fā)控制信息的級聯(lián)的組數(shù)的具體步驟為:所述裝置通過以下公式確定所述級聯(lián)轉(zhuǎn)發(fā)控制信息的級聯(lián)的組數(shù):
[0050]L=logEateCapacity
[0051]其中,L為所述級聯(lián)轉(zhuǎn)發(fā)控制信息的級聯(lián)的組數(shù),Capacity為該訂閱數(shù)據(jù)的訂閱量,Rate為轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)節(jié)點的扇出量。
[0052]相應(yīng)地,所述裝置確定所述級聯(lián)轉(zhuǎn)發(fā)控制信息的級聯(lián)的各個組對應(yīng)的轉(zhuǎn)發(fā)節(jié)點個數(shù)的具體步驟為:所述裝置通過以下公式確定所述級聯(lián)轉(zhuǎn)發(fā)控制信息的各個對應(yīng)的轉(zhuǎn)發(fā)節(jié)點個數(shù):
[0053]Num(N)=Capacity/(RateLK))N= e [1, L]
[0054]其中,Num(N)為第N組對應(yīng)的轉(zhuǎn)發(fā)節(jié)點個數(shù)。
[0055]例如,當(dāng)該訂閱數(shù)據(jù)的訂閱量為27份時,轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)的所有的轉(zhuǎn)發(fā)節(jié)點的扇出量為3份時,按照前面所述的方法,所述裝置構(gòu)建的級聯(lián)轉(zhuǎn)發(fā)控制信息如下:
[0056]級聯(lián)的組數(shù):L=3
[0057]各個組對應(yīng)的轉(zhuǎn)發(fā)節(jié)點個數(shù)為:
[0058]L3:Num (3) =9
[0059]L2:Num (2) =3
[0060]LI:Num (1) =1
[0061]具體實施時,考慮到第一組轉(zhuǎn)發(fā)節(jié)點L1中1個轉(zhuǎn)發(fā)節(jié)點會導(dǎo)致負(fù)載過于集中,為確保數(shù)據(jù)轉(zhuǎn)發(fā)的順利進(jìn)行,所述裝置可在第一組轉(zhuǎn)發(fā)節(jié)點L1中增加2個冗余節(jié)點,以分擔(dān)L1中1個轉(zhuǎn)發(fā)節(jié)點的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)。
[0062]類似地,當(dāng)該訂閱數(shù)據(jù)的訂閱量為20份時,按照前面所述的方法,所述裝置確定的級聯(lián)轉(zhuǎn)發(fā)控制信息如下:
[0063]級聯(lián)的組數(shù):L=2
[0064]各個組對應(yīng)的轉(zhuǎn)發(fā)節(jié)點個數(shù)為:
[0065]L2:Num (2) =8
[0066]LI:Num (1) =3
[0067]應(yīng)該理解,上述級聯(lián)轉(zhuǎn)發(fā)控制信息的構(gòu)建方法僅僅只是示例性的,本發(fā)明并不受限于此,只要構(gòu)建的方法有助于級聯(lián)轉(zhuǎn)發(fā)控制信息的自動構(gòu)建,降低所述裝置的運(yùn)維成本,則均可應(yīng)用于本發(fā)明。[0068]另外,考慮到負(fù)載均衡等各個方面的因素,在為級聯(lián)轉(zhuǎn)發(fā)控制信息的各個組分配具體的轉(zhuǎn)發(fā)節(jié)點時,根據(jù)本發(fā)明的一個示例性實施例,所述裝置確定所述級聯(lián)轉(zhuǎn)發(fā)控制信息的各個組對應(yīng)的轉(zhuǎn)發(fā)節(jié)點的具體步驟為:所述裝置按照確定的級聯(lián)的組數(shù)以及級聯(lián)的各個組對應(yīng)的轉(zhuǎn)發(fā)節(jié)點個數(shù),將預(yù)置資源池中負(fù)載最低的轉(zhuǎn)發(fā)節(jié)點確定為所述級聯(lián)轉(zhuǎn)發(fā)控制信息的任意一組的轉(zhuǎn)發(fā)節(jié)點,所述預(yù)置資源池中包含有多個轉(zhuǎn)發(fā)節(jié)點。
[0069]由于級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個轉(zhuǎn)發(fā)節(jié)點在數(shù)據(jù)傳輸過程中會都有可能受到異常情況的干擾,因此可能會影響到訂閱數(shù)據(jù)順利轉(zhuǎn)發(fā)。為解決這一問題,根據(jù)本發(fā)明的一個示例性實施例,在圖1所述的實施例中,所述方法還包括:所述裝置監(jiān)測該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中是否存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點;如果該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點,則將發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點更換為該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之外的另一正常的轉(zhuǎn)發(fā)節(jié)點,以更新該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0070]其中,所述異??梢允清礄C(jī)、下架、假死、網(wǎng)絡(luò)故障、掛機(jī)、停機(jī)等各種導(dǎo)致機(jī)器出現(xiàn)故障或不能運(yùn)行的情況。
[0071]在140中,所述裝置將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點,以便所述轉(zhuǎn)發(fā)節(jié)點按照該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)。
[0072]該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個轉(zhuǎn)發(fā)節(jié)點從主服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系;該轉(zhuǎn)發(fā)節(jié)點向接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與該轉(zhuǎn)發(fā)節(jié)點所在的組相鄰的上游組的轉(zhuǎn)發(fā)節(jié)點發(fā)送訂閱請求,所述訂閱請求包含有接收的訂閱數(shù)據(jù)的指示信息;從該上游轉(zhuǎn)發(fā)節(jié)點接收訂閱數(shù)據(jù);同時,該轉(zhuǎn)發(fā)節(jié)點對應(yīng)的服務(wù)器還響應(yīng)于所述接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與該轉(zhuǎn)發(fā)節(jié)點所在的組相鄰的下游組的轉(zhuǎn)發(fā)節(jié)點的訂閱請求,以便將接收的訂閱數(shù)據(jù)發(fā)送給該下游轉(zhuǎn)發(fā)節(jié)點。
[0073]根據(jù)本發(fā)明的一個示例性實施例,所述裝置將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點的具體步驟為:所述裝置將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息存儲至預(yù)置的元信息映射表中,所述元信息映射表用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0074]為進(jìn)一步提高所述裝置的計算能力,減輕所述裝置所在主服務(wù)器的數(shù)據(jù)存儲的負(fù)擔(dān),級聯(lián)轉(zhuǎn)發(fā)控制信息的計算和級聯(lián)轉(zhuǎn)發(fā)控制信息的存儲可在不同的服務(wù)器設(shè)備上實現(xiàn),根據(jù)本發(fā)明的另一示例性實施例,所述裝置將構(gòu)建的級聯(lián)轉(zhuǎn)發(fā)控制信息提供給構(gòu)建的級聯(lián)轉(zhuǎn)發(fā)控制信息所指示的轉(zhuǎn)發(fā)節(jié)點的具體步驟為:所述裝置將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息發(fā)送至公共服務(wù)器,所述公共服務(wù)器用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0075]應(yīng)該理解,上述級聯(lián)轉(zhuǎn)發(fā)控制信息的存儲和分配方法僅僅只是示例性的,本發(fā)明并不受限于此,只要存儲和分配的方法有助于各個轉(zhuǎn)發(fā)節(jié)點及時獲取到被分配的訂閱數(shù)據(jù),均可應(yīng)用于本發(fā)明。
[0076]具體實施時,所述裝置可采用如下數(shù)據(jù)結(jié)構(gòu)記錄構(gòu)建的級聯(lián)轉(zhuǎn)發(fā)控制信息:
[0077]StripeA
[0078]{
[0079]Forward_capacity:1000
[0080]Cascade_info:
[0081]{
[0082]{brokerl, broker2, broker3}
[0083]{broker4, broker5,…,brokerl3},
[0084]{broker 14, broker 15,...,brokerl 13}
[0085]}
[0086]}
[0087]其中,StripeA為任意一條訂閱數(shù)據(jù)的指示信息,F(xiàn)orward_capacity: 1000為StripeA的訂閱量是1000份,Cascade_info為StripeA的級聯(lián)轉(zhuǎn)發(fā)控制信息,{brokerl, broker2, broker3}為StripeA的級聯(lián)轉(zhuǎn)發(fā)控制信息的第一組轉(zhuǎn)發(fā)節(jié)點,{broker4, broker5,…,brokerl3}為StripeA的級聯(lián)轉(zhuǎn)發(fā)控制信息的第二組轉(zhuǎn)發(fā)節(jié)點,{brokerl4, brokerl5,…,brokerl 13}為StripeA級聯(lián)轉(zhuǎn)發(fā)控制信息的第三組轉(zhuǎn)發(fā)節(jié)點。
[0088]為保證構(gòu)建的級聯(lián)轉(zhuǎn)發(fā)控制信息所指示的各個轉(zhuǎn)發(fā)節(jié)點能夠及時獲取到被分配的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),所述裝置還在數(shù)據(jù)庫或者公共節(jié)點中存儲有各個轉(zhuǎn)發(fā)節(jié)點被分配的訂閱數(shù)據(jù)的指示信息以及各個訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。具體實施時,所述裝置可采用如下數(shù)據(jù)結(jié)構(gòu)使得各個轉(zhuǎn)發(fā)節(jié)點獲得被分配到的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù):
[0089]CommonGroupl
[0090]{
[0091 ] Forward_rate:10
[0092]Brokers:
[0093]{
[0094]{brokerName:brokerl, Stripes: {StripeA, StripeC,...}
[0095]{brokerName:broker2, Stripes: {StripeB, StripeF,...}
[0096]{brokerName:broker3, Stripes: {StripeA, StripeD,...}
[0097]…
[0098]}
[0099]}
[0100]其中,CommonGroupl為一個預(yù)先設(shè)定的集群或資源池的標(biāo)識,該集群負(fù)責(zé)管理若干個轉(zhuǎn)發(fā)節(jié)點的元信息(及承擔(dān)的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)),F(xiàn)orward_rate: 10為該集群中各個轉(zhuǎn)發(fā)節(jié)點的扇出量,{broker Name:brokerl, Stripes: {StripeA, StripeC,...}表明轉(zhuǎn)發(fā)節(jié)點brokerl除了承擔(dān)了 StripeA的訂閱數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),同時還承擔(dān)有StripeC等其他訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)任務(wù)。
[0101]集群或資源池中的各個轉(zhuǎn)發(fā)節(jié)點通過訪問元信息,以確認(rèn)自己是否在新的訂閱數(shù)據(jù)中承擔(dān)了數(shù)據(jù)發(fā)送任務(wù),如果有,則查找該級聯(lián)轉(zhuǎn)發(fā)控制信息中上游的轉(zhuǎn)發(fā)節(jié)點,并主動連接上游的訂閱數(shù)據(jù),以便將上游的訂閱數(shù)據(jù)發(fā)送至下游的轉(zhuǎn)發(fā)節(jié)點(或者最終的訂閱端)。
[0102]需要說明的是,所述裝置除了可以單獨(dú)實現(xiàn)對訂閱數(shù)據(jù)的轉(zhuǎn)發(fā),還可以作為現(xiàn)有數(shù)據(jù)傳輸系統(tǒng)中的數(shù)據(jù)(或消息)轉(zhuǎn)發(fā)中間件實現(xiàn)對訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)。
[0103]以下結(jié)合具體的例子,對本發(fā)明作進(jìn)一步的說明。
[0104]圖5是示出了本發(fā)明在Bigpipe分布式傳輸系統(tǒng)中實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)的示意圖。圖中所示的5A為Bigpipe分布式傳輸系統(tǒng)的P/S集群,所示的5B為預(yù)置資源池,用于存儲和管理多個轉(zhuǎn)發(fā)節(jié)點,預(yù)置資源池5B中所包括的任意一個轉(zhuǎn)發(fā)節(jié)點都可以充當(dāng)任意一個訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)節(jié)點。例如,圖中所示實線箭頭指示的是stripel數(shù)據(jù)流的轉(zhuǎn)發(fā)控制信息,則根據(jù)實線箭頭指向,stripel的第二組轉(zhuǎn)發(fā)節(jié)點為:500、501,stripel的第二組轉(zhuǎn)發(fā)節(jié)點為:510、511、512、502,stripel的第三組轉(zhuǎn)發(fā)節(jié)點為:520、521、515、505。圖中所示虛線箭頭指示的是stripe2數(shù)據(jù)流的轉(zhuǎn)發(fā)控制信息,則根據(jù)虛線箭頭指向,stripe2的第一組轉(zhuǎn)發(fā)節(jié)點為:502、505,stripe2的第二組轉(zhuǎn)發(fā)節(jié)點為:511、512、515、514。從圖中可以看出,同一個轉(zhuǎn)發(fā)節(jié)點(如圖中所示的502、511、512等)不僅負(fù)責(zé)多個數(shù)據(jù)轉(zhuǎn)發(fā),而且在不同轉(zhuǎn)發(fā)數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息中的位置都可能不一樣。
[0105]從上述實施過程中可以看出,當(dāng)訂閱數(shù)據(jù)的訂閱量越大時,所述裝置構(gòu)建的級聯(lián)轉(zhuǎn)發(fā)控制的轉(zhuǎn)發(fā)能力也就越大,這樣自適應(yīng)能力不僅能夠?qū)崿F(xiàn)大規(guī)模訂閱數(shù)據(jù)的轉(zhuǎn)發(fā),而且能夠根據(jù)下游訂閱需求的變化隨時調(diào)整級聯(lián)轉(zhuǎn)發(fā)的控制結(jié)構(gòu),這使得機(jī)器資源的利用得到了合理的分配,避免了機(jī)器資源的浪費(fèi)。
[0106]圖2示出了本發(fā)明一種在服務(wù)器中轉(zhuǎn)發(fā)數(shù)據(jù)的方法的優(yōu)選實施例的流程圖。圖4示出的一種在服務(wù)器中轉(zhuǎn)發(fā)數(shù)據(jù)的裝置可用于實現(xiàn)圖2中所述的方法。
[0107]參照圖2,在210中,所述裝置從主服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系。
[0108]為了使得轉(zhuǎn)發(fā)節(jié)點及時獲取到被分配的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),根據(jù)本發(fā)明的一個示例性實施例,所述裝置從主服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息的具體步驟為:所述裝置根據(jù)本發(fā)明的按照預(yù)設(shè)的時間間隔,從主服務(wù)器周期性地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。例如,所述裝置可以每隔I秒(或2秒)從主服務(wù)器獲取所述服務(wù)器對應(yīng)的待轉(zhuǎn)發(fā)訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0109]由于主服務(wù)器隨時都在生成訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,根據(jù)本發(fā)明的另一示例性實施例,所述裝置從主服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息的具體步驟為:所述裝置從主服務(wù)器實時地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0110]應(yīng)該理解,除了上述獲取級聯(lián)轉(zhuǎn)發(fā)控制信息的方式外,本發(fā)明并不受限于此,還可以采用其他各種現(xiàn)有技術(shù)獲得該信息。
[0111]在220中,所述裝置向接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的上游組的轉(zhuǎn)發(fā)節(jié)點發(fā)送訂閱請求,所述訂閱請求包含有接收的訂閱數(shù)據(jù)的指示信息。
[0112]在230中,所述裝置從該上游轉(zhuǎn)發(fā)節(jié)點接收訂閱數(shù)據(jù)。
[0113]為訂閱數(shù)據(jù)達(dá)到最終的訂閱端,根據(jù)本發(fā)明的一個優(yōu)選實施例,在圖2所示的實施例中,所述方法還包括:所述裝置響應(yīng)于所述接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的下游組的轉(zhuǎn)發(fā)節(jié)點的訂閱請求,以便將接收的訂閱數(shù)據(jù)發(fā)送給該下游轉(zhuǎn)發(fā)節(jié)點。
[0114]以下結(jié)合具體的例子,對本發(fā)明中各個轉(zhuǎn)發(fā)節(jié)點的數(shù)據(jù)轉(zhuǎn)發(fā)過程作進(jìn)一步的說明。
[0115]在如下級聯(lián)轉(zhuǎn)發(fā)控制信息中,級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點如下所示:
[0116]LI: {brokerl, broker2, broker3}
[0117]L2: {broker4, broker5,…,brokerl3},
[0118]L3: {broker 14,broker 15,...,brokerl 13}
[0119]其中,broker4可以向任意一個與broker4相鄰的上游轉(zhuǎn)發(fā)節(jié)點發(fā)送訂閱請求以獲取訂閱數(shù)據(jù),與broker4相鄰的上游轉(zhuǎn)發(fā)節(jié)點為:brokerl, broker2, broker3 ;同時還負(fù)責(zé)響應(yīng)任意一個與broker4相鄰的下游轉(zhuǎn)發(fā)節(jié)點的訂閱請求以轉(zhuǎn)發(fā)從上游節(jié)點獲得的訂閱數(shù)據(jù),任意一個與broker4相鄰的下游轉(zhuǎn)發(fā)節(jié)點為:brokerl4, brokerl5,…,brokerl 13?
[0120]brokerl4可以向任意一個與brokerl4相鄰的上游轉(zhuǎn)發(fā)節(jié)點發(fā)送訂閱請求以獲取訂閱數(shù)據(jù),與brokerl4相鄰的上游轉(zhuǎn)發(fā)節(jié)點為:broker4, broker5,…,brokerl3 ;同時還負(fù)責(zé)響應(yīng)任意一個與broker 14對應(yīng)的任意一個訂閱端的訂閱請求以轉(zhuǎn)發(fā)從上游節(jié)點獲得的訂閱數(shù)據(jù)。
[0121]brokerl可以向任意一個與brokerl相鄰的任意一個發(fā)布端發(fā)送訂閱請求以獲取訂閱數(shù)據(jù);同時還負(fù)責(zé)響應(yīng)任意一個與brokerl相鄰的下游轉(zhuǎn)發(fā)節(jié)點的訂閱請求以轉(zhuǎn)發(fā)從上游節(jié)點獲得的訂閱數(shù)據(jù),與brokerl相鄰的下游轉(zhuǎn)發(fā)節(jié)點為:broker4, broker5,…,brokerl3。
[0122]圖3示出了本發(fā)明一種在主服務(wù)器中分配轉(zhuǎn)發(fā)信息的裝置的優(yōu)選實施例結(jié)構(gòu)框圖。
[0123]參照圖3,所述裝置至少包括訂閱量獲取單元301、扇出量獲取單元302、級聯(lián)信息構(gòu)建單元303以及級聯(lián)信息分配單元304。
[0124]其中,訂閱量獲取單元301,用于獲取任意一條訂閱數(shù)據(jù)的訂閱量。
[0125]扇出量獲取單元302,用于確定轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)節(jié)點的扇出量。
[0126]級聯(lián)信息構(gòu)建單元303,用于根據(jù)獲取的訂閱量及確定的扇出量,構(gòu)建該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系。
[0127]級聯(lián)信息分配單元304,用于將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點,以便所述轉(zhuǎn)發(fā)節(jié)點按照該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)。
[0128]由于級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個轉(zhuǎn)發(fā)節(jié)點在數(shù)據(jù)傳輸過程中會都有可能受到異常情況的干擾,因此可能會影響到訂閱數(shù)據(jù)順利轉(zhuǎn)發(fā)。為解決這一問題,根據(jù)本發(fā)明的一個示例性實施例,在圖3所述的實施例中,所述裝置還包括:級聯(lián)信息更新單元(圖中未示出),用于在將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點以前,監(jiān)測該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中是否存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點;如果該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點,則將發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點更換為該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之外的另一正常的轉(zhuǎn)發(fā)節(jié)點,以更新該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0129]其中,所述異??梢允清礄C(jī)、下架、假死、網(wǎng)絡(luò)故障、掛機(jī)、停機(jī)等各種導(dǎo)致機(jī)器出現(xiàn)故障或不能運(yùn)行的情況。
[0130]根據(jù)本發(fā)明的一個示例性實施例,所述級聯(lián)信息分配單元304將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息存儲至預(yù)置的元信息映射表中,所述元信息映射表用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0131]為進(jìn)一步提高所述裝置的計算能力,減輕所述裝置所在主服務(wù)器的數(shù)據(jù)存儲的負(fù)擔(dān),級聯(lián)轉(zhuǎn)發(fā)控制信息的計算和級聯(lián)轉(zhuǎn)發(fā)控制信息的存儲可在不同的服務(wù)器設(shè)備上實現(xiàn),根據(jù)本發(fā)明的另一示例性實施例,所述級聯(lián)信息分配單元304將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息發(fā)送至公共服務(wù)器,所述公共服務(wù)器用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0132]應(yīng)該理解,上述級聯(lián)轉(zhuǎn)發(fā)控制信息的存儲和分配方法僅僅只是示例性的,本發(fā)明并不受限于此,只要存儲和分配的方法有助于各個轉(zhuǎn)發(fā)節(jié)點及時獲取到被分配的訂閱數(shù)據(jù),均可應(yīng)用于本發(fā)明。
[0133]圖4示出了本發(fā)明一種在服務(wù)器中轉(zhuǎn)發(fā)數(shù)據(jù)的裝置的優(yōu)選實施例結(jié)構(gòu)框圖。
[0134]參照圖4,所述裝置至少包括級聯(lián)信息接收單元401、訂閱請求單元402以及數(shù)據(jù)接收單元403。
[0135]其中,級聯(lián)信息接收單元401,用于從主服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系。
[0136]訂閱請求單元402,用于向接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的上游組的轉(zhuǎn)發(fā)節(jié)點發(fā)送訂閱請求,所述訂閱請求包含有接收的訂閱數(shù)據(jù)的指示信息。
[0137]數(shù)據(jù)接收單元403,用于從該上游轉(zhuǎn)發(fā)節(jié)點接收訂閱數(shù)據(jù)。
[0138]為訂閱數(shù)據(jù)達(dá)到最終的訂閱端,根據(jù)本發(fā)明的一個優(yōu)選實施例,在圖2所示的實施例中,所述裝置還包括:訂閱響應(yīng)單元(圖中未示出),用于響應(yīng)于所述接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的下游組的轉(zhuǎn)發(fā)節(jié)點的訂閱請求,以便將接收的訂閱數(shù)據(jù)發(fā)送給該下游轉(zhuǎn)發(fā)節(jié)點。
[0139]為了使得轉(zhuǎn)發(fā)節(jié)點及時獲取到被分配的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù),根據(jù)本發(fā)明的一個示例性實施例,所述級聯(lián)信息接收單元401按照預(yù)設(shè)的時間間隔,從主服務(wù)器周期性地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0140]由于主服務(wù)器隨時都在生成訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,根據(jù)本發(fā)明的另一示例性實施例,所述級聯(lián)信息接收單元401從主服務(wù)器實時地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
[0141]應(yīng)該理解,除了上述獲取級聯(lián)轉(zhuǎn)發(fā)控制信息的方式外,本發(fā)明并不受限于此,還可以采用其他各種現(xiàn)有技術(shù)獲得該信息。
[0142]由此可見,與現(xiàn)有技術(shù)相比,本發(fā)明不僅有效解決了在大規(guī)模訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)情況下,因為機(jī)器帶寬有限而引起的數(shù)據(jù)訂閱的延遲現(xiàn)象,而且能夠隨著下游訂閱需求的變化隨時調(diào)整級聯(lián)轉(zhuǎn)發(fā)的結(jié)構(gòu),進(jìn)而使得機(jī)器資源的利用也得到了合理的分配,避免了機(jī)器資源的浪費(fèi)。
[0143]需要指出,根據(jù)實施的需要,可將本申請中描述的各個步驟拆分為更多步驟,也可將兩個或多個步驟或者步驟的部分操作組合成新的步驟,以實現(xiàn)本發(fā)明的目的。
[0144]上述根據(jù)本發(fā)明的方法可在硬件、固件中實現(xiàn),或者被實現(xiàn)為可存儲在記錄介質(zhì)(諸如CD R0M、RAM、軟盤、硬盤或磁光盤)中的軟件或計算機(jī)代碼,或者被實現(xiàn)通過網(wǎng)絡(luò)下載的原始存儲在遠(yuǎn)程記錄介質(zhì)或非暫時機(jī)器可讀介質(zhì)中并將被存儲在本地記錄介質(zhì)中的計算機(jī)代碼,從而在此描述的方法可被存儲在使用通用計算機(jī)、專用處理器或者可編程或?qū)S糜布?諸如ASIC或FPGA)的記錄介質(zhì)上的這樣的軟件處理??梢岳斫猓嬎銠C(jī)、處理器、微處理器控制器或可編程硬件包括可存儲或接收軟件或計算機(jī)代碼的存儲組件(例如,RAM、ROM、閃存等),當(dāng)所述軟件或計算機(jī)代碼被計算機(jī)、處理器或硬件訪問且執(zhí)行時,實現(xiàn)在此描述的處理方法。此外,當(dāng)通用計算機(jī)訪問用于實現(xiàn)在此示出的處理的代碼時,代碼的執(zhí)行將通用計算機(jī)轉(zhuǎn)換為用于執(zhí)行在此示出的處理的專用計算機(jī)。
[0145]盡管已參照優(yōu)選實施例為和描述了本發(fā)明,但本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離由權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,可以對這些實施例進(jìn)行各種修改和變換。
【權(quán)利要求】
1.一種在服務(wù)器中分配轉(zhuǎn)發(fā)信息的方法,包括: 獲取任意一條訂閱數(shù)據(jù)的訂閱量; 確定轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)節(jié)點的扇出量; 根據(jù)獲取的訂閱量及確定的扇出量,構(gòu)建該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系; 將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點,以便所述轉(zhuǎn)發(fā)節(jié)點按照該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,在將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點以前,還包括: 監(jiān)測該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中是否存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點; 如果該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點,則將發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點更換為該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之外的另一正常的轉(zhuǎn)發(fā)節(jié)點,以更新該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
3.如權(quán)利要求2所述的方法,其特征在于,所述異常為以下情況之一:宕機(jī)、下架、假死、網(wǎng)絡(luò)故障、掛機(jī)及停機(jī)。
4.如權(quán)利要求1所述的方法,其特征在于,所述將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點,包括: 將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息存儲至預(yù)置的元信息映射表中,所述元信息映射表用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息;或者, 將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息發(fā)送至公共服務(wù)器,所述公共服務(wù)器用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信肩、O
5.一種在服務(wù)器中 分配轉(zhuǎn)發(fā)信息的裝置,包括: 訂閱量獲取單元,用于獲取任意一條訂閱數(shù)據(jù)的訂閱量; 扇出量獲取單元,用于確定轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)的轉(zhuǎn)發(fā)節(jié)點的扇出量; 級聯(lián)信息構(gòu)建單元,用于根據(jù)獲取的訂閱量及確定的扇出量,構(gòu)建該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系; 級聯(lián)信息分配單元,用于將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點,以便所述轉(zhuǎn)發(fā)節(jié)點按照該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息轉(zhuǎn)發(fā)該訂閱數(shù)據(jù)。
6.如權(quán)利要求5所述的裝置,其特征在于,還包括: 級聯(lián)信息更新單元,用于在將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息分配給該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點以前,監(jiān)測該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中是否存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點;如果該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之中存在發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點,則將發(fā)生異常的轉(zhuǎn)發(fā)節(jié)點更換為該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的轉(zhuǎn)發(fā)節(jié)點之外的另一正常的轉(zhuǎn)發(fā)節(jié)點,以更新該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
7.如權(quán)利要求6所述的裝置,其特征在于,所述異常為以下情況之一:宕機(jī)、下架、假死、網(wǎng)絡(luò)故障、掛機(jī)及停機(jī)。
8.如權(quán)利要求5所述的裝置,其特征在于,所述級聯(lián)信息分配單元將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息存儲至預(yù)置的元信息映射表中,所述元信息映射表用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息;或者,將該訂閱數(shù)據(jù)的指示信息及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息發(fā)送至公共服務(wù)器,所述公共服務(wù)器用于存儲轉(zhuǎn)發(fā)節(jié)點對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,以便轉(zhuǎn)發(fā)節(jié)點獲取對應(yīng)的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
9.一種在服務(wù)器中轉(zhuǎn)發(fā)數(shù)據(jù)的方法,其特征在于,包括:從服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā) 控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系;向接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的上游組的轉(zhuǎn)發(fā)節(jié)點發(fā)送訂閱請求,所述訂閱請求包含有接收的訂閱數(shù)據(jù)的指示信息;從該上游轉(zhuǎn)發(fā)節(jié)點接收訂閱數(shù)據(jù)。
10.如權(quán)利要求9所述的方法,其特征在于,還包括:響應(yīng)于所述接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的下游組的轉(zhuǎn)發(fā)節(jié)點的訂閱請求,以便將接收的訂閱數(shù)據(jù)發(fā)送給該下游轉(zhuǎn)發(fā)節(jié)點。
11.如權(quán)利要求9或10所述的方法,其特征在于,所述從主服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,包括:按照預(yù)設(shè)的時間間隔,從主服務(wù)器周期性地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息;或者,從主服務(wù)器實時地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息。
12.—種在服務(wù)器中轉(zhuǎn)發(fā)數(shù)據(jù)的裝置,其特征在于,包括:級聯(lián)信息接收單元,用于從服務(wù)器接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息,所述級聯(lián)轉(zhuǎn)發(fā)控制信息包括至少一組轉(zhuǎn)發(fā)節(jié)點,并且相鄰兩組轉(zhuǎn)發(fā)節(jié)點之間為上下游級聯(lián)關(guān)系;訂閱請求單元,用于向接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的上游組的轉(zhuǎn)發(fā)節(jié)點發(fā)送訂閱請求,所述訂閱請求包含有接收的訂閱數(shù)據(jù)的指示信息;數(shù)據(jù)接收單元,用于從該上游轉(zhuǎn)發(fā)節(jié)點接收訂閱數(shù)據(jù)。
13.如權(quán)利要求12所述的裝置,其特征在于,還包括: 訂閱響應(yīng)單元,用于響應(yīng)于所述接收的級聯(lián)轉(zhuǎn)發(fā)控制信息所包括的任意一個與所述服務(wù)器所在的組相鄰的下游組的轉(zhuǎn)發(fā)節(jié)點的訂閱請求,以便將接收的訂閱數(shù)據(jù)發(fā)送給該下游轉(zhuǎn)發(fā)節(jié)點。
14.如權(quán)利要求12或13所述的裝置,其特征在于,所述級聯(lián)信息接收單元按照預(yù)設(shè)的時間間隔,從主服務(wù)器周期性地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)發(fā)控制信息;或者,從主服務(wù)器實時地接收分配給所述服務(wù)器的訂閱數(shù)據(jù)的指示信息以及該訂閱數(shù)據(jù)的級聯(lián)轉(zhuǎn)`發(fā)控制`信息。
【文檔編號】H04L29/08GK103701938SQ201410016446
【公開日】2014年4月2日 申請日期:2014年1月14日 優(yōu)先權(quán)日:2014年1月14日
【發(fā)明者】徐寅斐, 陳鵬 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司