4.如權(quán)利要求Al至A3中的任一項(xiàng)所述的方法,其中第二機(jī)房、第三機(jī)房位于不同的位置。
[0090]A5.如權(quán)利要求Al至A3中的任一項(xiàng)所述的方法,其中所述第二機(jī)房與所述第三機(jī)房進(jìn)行遠(yuǎn)程通?目。
[0091]Α6.如權(quán)利要求Al至A3中的任一項(xiàng)所述的方法,其中在所述分布式消息系統(tǒng)中,所述發(fā)布方是Producer,所述第一存儲(chǔ)方和第二存儲(chǔ)方是Broker,所述訂閱方是Consumer0
[0092]B7.一種進(jìn)行跨機(jī)房數(shù)據(jù)同步的方法,應(yīng)用于分布式消息系統(tǒng),包括:
[0093]位于第二機(jī)房的一個(gè)或多個(gè)第一存儲(chǔ)方從位于第一機(jī)房的一個(gè)或多個(gè)發(fā)布方接收一份或多份數(shù)據(jù)并存儲(chǔ)在第二機(jī)房本地;
[0094]所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地;以及
[0095]位于第三機(jī)房的一個(gè)或多個(gè)訂閱方從所述一個(gè)或多個(gè)第二存儲(chǔ)方獲取所述一份或多份數(shù)據(jù)。
[0096]B8.如權(quán)利要求B7所述的方法,其中在所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地的步驟之后,所述方法還包括:
[0097]所述一個(gè)或多個(gè)第二存儲(chǔ)方將存儲(chǔ)在第三機(jī)房本地超過預(yù)先定義的第一時(shí)間閾值的一份或多份數(shù)據(jù)刪除。
[0098]B9.如權(quán)利要求B7所述的方法,其中在所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地的步驟之后,所述方法還包括:
[0099]在存儲(chǔ)在第三機(jī)房本地的所述一份或多份數(shù)據(jù)超過預(yù)先定義的大小的情況下,所述一個(gè)或多個(gè)第二存儲(chǔ)方將存儲(chǔ)在第三機(jī)房本地的一份或多份數(shù)據(jù)中存儲(chǔ)時(shí)間最長的、超出所述預(yù)先定義的大小的一份或多份數(shù)據(jù)刪除。
[0100]B10、如權(quán)利要求B7至B9中的任一項(xiàng)所述的方法,還包括:
[0101]位于所述第一機(jī)房的所述一個(gè)或多個(gè)發(fā)布方將一份或多份數(shù)據(jù)發(fā)送到位于第二機(jī)房的一個(gè)或多個(gè)第一存儲(chǔ)方。
[0102]Bll.如權(quán)利要求B7至B9中的任一項(xiàng)所述的方法,其中在所述分布式消息系統(tǒng)中,所述發(fā)布方是Producer,所述第一存儲(chǔ)方和第二存儲(chǔ)方是Broker,所述訂閱方是Consumer0
[0103]C12.一種進(jìn)行跨機(jī)房數(shù)據(jù)同步的裝置,應(yīng)用于分布式消息系統(tǒng),包括:
[0104]接收和存儲(chǔ)模塊,用于通過位于第二機(jī)房的一個(gè)或多個(gè)第一存儲(chǔ)方從位于第一機(jī)房的一個(gè)或多個(gè)發(fā)布方接收一份或多份數(shù)據(jù)并存儲(chǔ)在第二機(jī)房本地;以及
[0105]同步模塊,用于通過所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地以供位于第三機(jī)房的一個(gè)或多個(gè)訂閱方調(diào)用。
[0106]C13.如權(quán)利要求C12所述的裝置,其中所述同步模塊通過所述一個(gè)或多個(gè)第一存儲(chǔ)方采用有序輪詢的方式將所述一份或多份數(shù)據(jù)同步到所述一個(gè)或多個(gè)第二存儲(chǔ)方。
[0107]C14.如權(quán)利要求C12所述的裝置,其中所述同步模塊對(duì)于其中每一份數(shù)據(jù),通過所述一個(gè)或多個(gè)第一存儲(chǔ)方采用有序輪詢的方式將所述一份數(shù)據(jù)的一個(gè)或多個(gè)部分同步到所述一個(gè)第二存儲(chǔ)方并作為一個(gè)或多個(gè)部分存儲(chǔ)。
[0108]C15.如權(quán)利要求C12至C14中的任一項(xiàng)所述的裝置,其中第二機(jī)房、第三機(jī)房位于不同的位置。
[0109]C16.如權(quán)利要求C12至C14中的任一項(xiàng)所述的裝置,其中所述第二機(jī)房與所述第二機(jī)房進(jìn)行遠(yuǎn)程通?目。
[0110]C17.如權(quán)利要求C12至C14中的任一項(xiàng)所述的裝置,其中在所述分布式消息系統(tǒng)中,所述發(fā)布方是Producer,所述第一存儲(chǔ)方和第二存儲(chǔ)方是Broker,所述訂閱方是Consumer0
[0111]D18.一種進(jìn)行跨機(jī)房數(shù)據(jù)同步的裝置,應(yīng)用于分布式消息系統(tǒng),包括:
[0112]接收和存儲(chǔ)模塊,用于通過位于第二機(jī)房的一個(gè)或多個(gè)第一存儲(chǔ)方從位于第一機(jī)房的一個(gè)或多個(gè)發(fā)布方接收一份或多份數(shù)據(jù)并存儲(chǔ)在第二機(jī)房本地;
[0113]同步模塊,用于通過所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地;以及
[0114]獲取模塊,用于通過位于第三機(jī)房的一個(gè)或多個(gè)訂閱方從所述一個(gè)或多個(gè)第二存儲(chǔ)方獲取所述一份或多份數(shù)據(jù)。
[0115]D19.如權(quán)利要求D18所述的裝置,還包括第一刪除模塊,用于在所述同步模塊通過所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地之后,通過所述一個(gè)或多個(gè)第二存儲(chǔ)方將存儲(chǔ)在第三機(jī)房本地超過預(yù)先定義的第一時(shí)間閾值的一份或多份數(shù)據(jù)刪除。
[0116]D20.如權(quán)利要求D18所述的裝置,還包括第二刪除模塊,用于在所述同步模塊通過所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地之后,在存儲(chǔ)在第三機(jī)房本地的所述一份或多份數(shù)據(jù)超過預(yù)先定義的大小的情況下,通過所述一個(gè)或多個(gè)第二存儲(chǔ)方將存儲(chǔ)在第三機(jī)房本地的一份或多份數(shù)據(jù)中存儲(chǔ)時(shí)間最長的、超出所述預(yù)先定義的大小的一份或多份數(shù)據(jù)刪除。
[0117]D21、如權(quán)利要求D18至D20中的任一項(xiàng)所述的裝置,還包括發(fā)送模塊,用于通過位于所述第一機(jī)房的所述一個(gè)或多個(gè)發(fā)布方將一份或多份數(shù)據(jù)發(fā)送到位于第二機(jī)房的一個(gè)或多個(gè)第一存儲(chǔ)方。
[0118]D22.如權(quán)利要求D18至D20中的任一項(xiàng)所述的裝置,其中在所述分布式消息系統(tǒng)中,所述發(fā)布方是Producer,所述第一存儲(chǔ)方和第二存儲(chǔ)方是Broker,所述訂閱方是Consumer0
【主權(quán)項(xiàng)】
1.一種進(jìn)行跨機(jī)房數(shù)據(jù)同步的方法,應(yīng)用于分布式消息系統(tǒng),包括: 位于第二機(jī)房的一個(gè)或多個(gè)第一存儲(chǔ)方從位于第一機(jī)房的一個(gè)或多個(gè)發(fā)布方接收一份或多份數(shù)據(jù)并存儲(chǔ)在第二機(jī)房本地;以及 所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地以供位于第三機(jī)房的一個(gè)或多個(gè)訂閱方調(diào)用。
2.如權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方的步驟進(jìn)一步包括:所述一個(gè)或多個(gè)第一存儲(chǔ)方采用有序輪詢的方式將所述一份或多份數(shù)據(jù)同步到所述一個(gè)或多個(gè)第二存儲(chǔ)方。
3.如權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方的步驟進(jìn)一步包括: 對(duì)于其中每一份數(shù)據(jù),所述一個(gè)或多個(gè)第一存儲(chǔ)方采用有序輪詢的方式將所述一份數(shù)據(jù)的一個(gè)或多個(gè)部分同步到所述一個(gè)第二存儲(chǔ)方并作為一個(gè)或多個(gè)部分存儲(chǔ)。
4.如權(quán)利要求1至3中的任一項(xiàng)所述的方法,其中第二機(jī)房、第三機(jī)房位于不同的位置。
5.如權(quán)利要求1至3中的任一項(xiàng)所述的方法,其中所述第二機(jī)房與所述第三機(jī)房進(jìn)行遠(yuǎn)程通信。
6.如權(quán)利要求1至3中的任一項(xiàng)所述的方法,其中在所述分布式消息系統(tǒng)中,所述發(fā)布方是Producer,所述第一存儲(chǔ)方和第二存儲(chǔ)方是Broker,所述訂閱方是Consumer。
7.一種進(jìn)行跨機(jī)房數(shù)據(jù)同步的方法,應(yīng)用于分布式消息系統(tǒng),包括: 位于第二機(jī)房的一個(gè)或多個(gè)第一存儲(chǔ)方從位于第一機(jī)房的一個(gè)或多個(gè)發(fā)布方接收一份或多份數(shù)據(jù)并存儲(chǔ)在第二機(jī)房本地; 所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地;以及 位于第三機(jī)房的一個(gè)或多個(gè)訂閱方從所述一個(gè)或多個(gè)第二存儲(chǔ)方獲取所述一份或多份數(shù)據(jù)。
8.如權(quán)利要求7所述的方法,其中在所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地的步驟之后,所述方法還包括: 所述一個(gè)或多個(gè)第二存儲(chǔ)方將存儲(chǔ)在第三機(jī)房本地超過預(yù)先定義的第一時(shí)間閾值的一份或多份數(shù)據(jù)刪除。
9.一種進(jìn)行跨機(jī)房數(shù)據(jù)同步的裝置,應(yīng)用于分布式消息系統(tǒng),包括: 接收和存儲(chǔ)模塊,用于通過位于第二機(jī)房的一個(gè)或多個(gè)第一存儲(chǔ)方從位于第一機(jī)房的一個(gè)或多個(gè)發(fā)布方接收一份或多份數(shù)據(jù)并存儲(chǔ)在第二機(jī)房本地;以及 同步模塊,用于通過所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地以供位于第三機(jī)房的一個(gè)或多個(gè)訂閱方調(diào)用。
10.一種進(jìn)行跨機(jī)房數(shù)據(jù)同步的裝置,應(yīng)用于分布式消息系統(tǒng),包括: 接收和存儲(chǔ)模塊,用于通過位于第二機(jī)房的一個(gè)或多個(gè)第一存儲(chǔ)方從位于第一機(jī)房的一個(gè)或多個(gè)發(fā)布方接收一份或多份數(shù)據(jù)并存儲(chǔ)在第二機(jī)房本地; 同步模塊,用于通過所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地;以及 獲取模塊,用于通過位于第三機(jī)房的一個(gè)或多個(gè)訂閱方從所述一個(gè)或多個(gè)第二存儲(chǔ)方獲取所述一份或多份數(shù)據(jù)。
【專利摘要】本發(fā)明公開了一種進(jìn)行跨機(jī)房數(shù)據(jù)同步的方法和裝置,應(yīng)用于分布式消息系統(tǒng),所述方法包括:位于第二機(jī)房的一個(gè)或多個(gè)第一存儲(chǔ)方從位于第一機(jī)房的一個(gè)或多個(gè)發(fā)布方接收一份或多份數(shù)據(jù)并存儲(chǔ)在第二機(jī)房本地;以及所述一個(gè)或多個(gè)第一存儲(chǔ)方將所述一份或多份數(shù)據(jù)同步到位于第三機(jī)房的一個(gè)或多個(gè)第二存儲(chǔ)方,以存儲(chǔ)在第三機(jī)房本地以供位于第三機(jī)房的一個(gè)或多個(gè)訂閱方調(diào)用。上述方法和裝置避免了反復(fù)在第二機(jī)房的第一存儲(chǔ)方與第三機(jī)房的訂閱方之間傳輸數(shù)據(jù),很大程度地減少了網(wǎng)絡(luò)延遲。
【IPC分類】H04L29-08, H04L12-58
【公開號(hào)】CN104618219
【申請(qǐng)?zhí)枴緾N201410844631
【發(fā)明人】陳飛, 喬俊龍
【申請(qǐng)人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
【公開日】2015年5月13日
【申請(qǐng)日】2014年12月30日