[發(fā)明專(zhuān)利]一種消息分發(fā)的方法和裝置在審
| 申請(qǐng)?zhí)枺?/td> | 201610068734.2 | 申請(qǐng)日: | 2016-02-01 |
| 公開(kāi)(公告)號(hào): | CN105677494A | 公開(kāi)(公告)日: | 2016-06-15 |
| 發(fā)明(設(shè)計(jì))人: | 許文靖 | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司 |
| 主分類(lèi)號(hào): | G06F9/54 | 分類(lèi)號(hào): | G06F9/54 |
| 代理公司: | 中原信達(dá)知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11219 | 代理人: | 張一軍;姜?jiǎng)?/td> |
| 地址: | 100080 北京市海淀區(qū)杏石口路6*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 消息 分發(fā) 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)及其軟件技術(shù)領(lǐng)域,特別地涉及一種消息分發(fā) 的方法和裝置。
背景技術(shù)
消息系統(tǒng)在計(jì)算機(jī)應(yīng)用系統(tǒng)中應(yīng)用非常廣泛,在隔離系統(tǒng)變化, 減少系統(tǒng)耦合,提高處理效率具有不可替代的作用。消息系統(tǒng)主要包 括消息生產(chǎn)者、消息消費(fèi)者以及傳遞消息的傳輸系統(tǒng)三部分,其中, 消息生產(chǎn)者負(fù)責(zé)生成消息,并通過(guò)傳輸系統(tǒng)發(fā)送給消息消費(fèi)者;消息 消費(fèi)者負(fù)責(zé)從傳輸系統(tǒng)讀取消息并進(jìn)行業(yè)務(wù)處理;傳輸系統(tǒng)負(fù)責(zé)從消 息生產(chǎn)者讀取消息,并把消息發(fā)送給消息消費(fèi)者。
評(píng)估傳輸系統(tǒng)的優(yōu)劣通常采用三個(gè)技術(shù)標(biāo)準(zhǔn),即:傳輸時(shí)效、傳 輸可靠性以及傳輸性能。傳輸時(shí)效是指從消息生產(chǎn)者發(fā)出消息到消息 消費(fèi)者收到消息之間的時(shí)間間隔,用于評(píng)價(jià)傳輸系統(tǒng)的及時(shí)性;傳輸 可靠性用于評(píng)價(jià)傳輸系統(tǒng)傳遞消息的準(zhǔn)確程度,即消息消費(fèi)者端收到 的消息和消息生產(chǎn)者發(fā)出的消息的順序和內(nèi)容是否一致,是否有消息 丟失,消息重復(fù)或消息報(bào)文損壞等;傳輸性能是指在指定資源條件下 的最大消息吞吐量,用于評(píng)價(jià)傳輸系統(tǒng)的消息傳遞能力。
傳統(tǒng)IT系統(tǒng)消息規(guī)模較小,而且系統(tǒng)與系統(tǒng)之間通常是在內(nèi)網(wǎng)環(huán) 境,網(wǎng)絡(luò)延遲較小,因此設(shè)計(jì)的傳輸系統(tǒng)側(cè)重于高可靠和低延時(shí)的傳 輸系統(tǒng)。
其中,高可靠的消息分發(fā)系統(tǒng)如圖1所示,其主要通過(guò)消息生產(chǎn) 端重發(fā),傳輸系統(tǒng)端消息持久化以及消息消費(fèi)端消息重發(fā)三個(gè)控制環(huán) 節(jié)保障信息的高可靠性。其消息分發(fā)的高可靠性具體體現(xiàn)在:
消息生產(chǎn)端重發(fā):消息生產(chǎn)者發(fā)送消息Msg_N給傳輸系統(tǒng),傳輸 系統(tǒng)寫(xiě)入消息日志,返回Ack_P消息給消息生產(chǎn)者,表明消息已經(jīng)可 靠投遞到傳輸系統(tǒng)。如果客戶端在預(yù)定時(shí)間內(nèi)沒(méi)有收到Ack_P消息, 則認(rèn)為該消息沒(méi)有發(fā)送成功,消息生產(chǎn)者會(huì)重發(fā)該消息,直到收到發(fā) 送成功的Ack_P消息;
消息持久化:傳輸系統(tǒng)收到消息Msg_N以后,把Msg_N寫(xiě)入日志 系統(tǒng),并返回Ack_P消息給消息生產(chǎn)者。然后轉(zhuǎn)發(fā)該消息給消息消費(fèi) 者,等收到消息消費(fèi)者的Ack_R消息以后,在日志系統(tǒng)中把Msg_N置 為“發(fā)送成功”;
消息消費(fèi)端重發(fā):當(dāng)傳輸系統(tǒng)發(fā)送Msg_N失敗,或沒(méi)有收到消息 消費(fèi)端發(fā)來(lái)的Ack_R消息時(shí),傳輸系統(tǒng)會(huì)重發(fā)Msg_N,直到成功收到消 息消費(fèi)端發(fā)來(lái)的Ack_R消息。
低延時(shí)的消息分發(fā)系統(tǒng)如圖2所示,其不同于高可靠的消息分發(fā) 系統(tǒng),其不是把消息通過(guò)傳輸系統(tǒng)中轉(zhuǎn),而是直接把消息發(fā)送給消息 消費(fèi)者,傳輸系統(tǒng)的作用更多是作為一個(gè)注冊(cè)中心,用于記錄消息生 產(chǎn)者的服務(wù)地址。低延時(shí)的消息分發(fā)系統(tǒng)的消息處理步驟主要包括:
消息生產(chǎn)者注冊(cè)消息服務(wù)地址SM_ADDR到傳輸系統(tǒng);
消息消費(fèi)者通過(guò)傳輸系統(tǒng)查詢消息服務(wù)地址SM_ADDR;
消息消費(fèi)者根據(jù)SM_ADDR,創(chuàng)建和消息生產(chǎn)者之間的傳輸通道;
消息生產(chǎn)者通過(guò)傳輸通道發(fā)送Msg_N給消息消費(fèi)者,消息消費(fèi)者 反饋Ack消息給消息生產(chǎn)者;
如果消息生產(chǎn)者發(fā)送失敗或者等待Ack消息超時(shí),則消息生產(chǎn)者 會(huì)快速顯示失敗,提示發(fā)送不成功。
上述高可靠的消息分發(fā)系統(tǒng)和低延時(shí)的消息分發(fā)系統(tǒng)在進(jìn)行消息 分發(fā)時(shí)都存在各自的缺點(diǎn),主要表現(xiàn)在:高可靠的消息分發(fā)系統(tǒng)增加 了消息中轉(zhuǎn)和持久化日志環(huán)節(jié),處理環(huán)節(jié)多;而且整體的處理能力受 限于傳輸系統(tǒng)的容量,效率較低;而低延時(shí)的消息分發(fā)系統(tǒng)雖然不受 限于傳輸系統(tǒng)的容量,但每個(gè)消息都要發(fā)送一次,對(duì)于要發(fā)送大量短 消息(例如小于1518byte,一個(gè)以太網(wǎng)幀最大長(zhǎng)度)的場(chǎng)景,增加了不 必要的網(wǎng)絡(luò)開(kāi)銷(xiāo)。
可見(jiàn),現(xiàn)有的消息分發(fā)系統(tǒng)在處理性能和消息吞吐量上都存在一 定缺陷,而隨著互聯(lián)網(wǎng)應(yīng)用中消息規(guī)模的迅猛增長(zhǎng),系統(tǒng)所依賴的組 網(wǎng)技術(shù)越來(lái)越復(fù)雜,網(wǎng)絡(luò)質(zhì)量難以預(yù)測(cè),信息異構(gòu)日趨多元,對(duì)信息 的可靠性要求有所降低。為了滿足這類(lèi)場(chǎng)景的應(yīng)用,本發(fā)明提出一種 消息分發(fā)系統(tǒng),其能實(shí)現(xiàn)海量信息的高效傳輸,既不受限于傳輸系統(tǒng) 的容量,又可避免不必要的網(wǎng)絡(luò)開(kāi)銷(xiāo)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種消息分發(fā)的方法和裝置,能夠優(yōu)先保 障傳輸性能,在有限的網(wǎng)絡(luò)帶寬約束下適當(dāng)權(quán)衡可靠性和時(shí)效性,保 障最大信息吞吐量,提供海量信息下最大限度的傳輸效率,滿足高負(fù) 荷場(chǎng)景下的消息分發(fā)需求。
為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種消息分發(fā) 的方法。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610068734.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 電子數(shù)據(jù)分發(fā)系統(tǒng)
- 分發(fā)系統(tǒng)、分發(fā)控制設(shè)備和分發(fā)控制方法
- 分發(fā)方法和分發(fā)系統(tǒng)
- 廣播TS分發(fā)系統(tǒng)、分發(fā)裝置及分發(fā)方法
- 分發(fā)裝置、分發(fā)系統(tǒng)以及分發(fā)方法
- 分發(fā)系統(tǒng)以及分發(fā)方法
- 影像分發(fā)裝置、影像分發(fā)系統(tǒng)、影像分發(fā)方法及存儲(chǔ)介質(zhì)
- 分發(fā)梳齒以及分發(fā)梳
- 向用戶分發(fā)問(wèn)題的方法及裝置
- 數(shù)據(jù)分發(fā)系統(tǒng)及數(shù)據(jù)分發(fā)方法
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





