[發(fā)明專利]一種保障異步通訊中消息順序性消費的方法在審
| 申請?zhí)枺?/td> | 202111144387.4 | 申請日: | 2021-09-28 |
| 公開(公告)號: | CN113900835A | 公開(公告)日: | 2022-01-07 |
| 發(fā)明(設(shè)計)人: | 張鶴鳴 | 申請(專利權(quán))人: | 四川新網(wǎng)銀行股份有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 成都智言知識產(chǎn)權(quán)代理有限公司 51282 | 代理人: | 濮云杉 |
| 地址: | 610094 四川省成都高*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 保障 異步 通訊 消息 順序 消費 方法 | ||
本發(fā)明屬于通訊技術(shù)領(lǐng)域,具體涉及一種保障異步通訊中消息順序性消費的方法。包括以下步驟:步驟1:生產(chǎn)端準(zhǔn)備需要發(fā)送的消息內(nèi)容,并且定義該消息類型,將消息類型放入消息屬性中;發(fā)送給消費端;步驟2:消費端基于消息類型對消息直接處理或按照最新的消息進行處理,或者是按照消息的先后順序進行處理,保證了消費端按照該生產(chǎn)端的固定順序進行消費;防止發(fā)生嚴(yán)重的數(shù)據(jù)錯誤的問題。
技術(shù)領(lǐng)域
本發(fā)明屬于通訊技術(shù)領(lǐng)域,具體涉及一種保障異步通訊中消息順序性消費的方法。
背景技術(shù)
目前,大型互聯(lián)網(wǎng)公司較多的采用分布式系統(tǒng),分布式系統(tǒng)的特點是各個模塊單獨部署,實現(xiàn)復(fù)雜業(yè)務(wù)的解耦。通常來講,分布式系統(tǒng)更加靈活,但是往往也會存在其他的問題,其中,最為麻煩的問題之一就是不同的系統(tǒng)之間如何進行調(diào)用的問題。調(diào)用根據(jù)實時性的不同,分為同步調(diào)用和異步調(diào)用。
關(guān)于同步調(diào)用和異步調(diào)用的優(yōu)缺點也是顯而易見的,異步調(diào)用可以同事處理大量的請求,降低系統(tǒng)間流程的依賴性,避免系統(tǒng)阻塞情況的發(fā)生;正因為上述優(yōu)點,異步調(diào)用被大量應(yīng)用。但是異步調(diào)用也存在以下弊端,其中便有通訊的順序性,因異步調(diào)用的延時特性,發(fā)送者發(fā)送時按照固定的順序?qū)⑾l(fā)送到了消息隊列,但是因為分布式系統(tǒng)存在多個消費者,消費者內(nèi)部亦有多線程的情況,因此消費者未必會按照發(fā)送者的固定順序進行消費。在此場景下,極有可能因為消息消費的失序,導(dǎo)致嚴(yán)重的數(shù)據(jù)錯誤問題。
發(fā)明內(nèi)容
本發(fā)明公開了一種保障異步通訊中消息順序性消費的方法,擬解決背景技術(shù)中提到的消費者未按照發(fā)送者的固定順序進行消費,則可能因為消息消費的失序,導(dǎo)致嚴(yán)重的數(shù)據(jù)錯誤的問題。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下:
一種保障異步通訊中消息順序性消費的方法,包括以下步驟:
步驟1:生產(chǎn)端準(zhǔn)備需要發(fā)送的消息內(nèi)容,并且定義該消息類型,將消息類型放入消息屬性中;發(fā)送給消費端;
步驟2:消費端基于消息類型對消息進行處理。
本發(fā)明的生產(chǎn)端預(yù)先定義消息類型,消費端將生產(chǎn)端發(fā)送的數(shù)據(jù)包進行解析,得到消息類型,并基于消息類型進行處理消息,保證了消費端按照該生產(chǎn)端的固定順序進行消費;防止發(fā)生嚴(yán)重的數(shù)據(jù)錯誤的問題。
具體的,所述消息類型包括無順序要求的異步通訊場景類型、以最近發(fā)送的消息為準(zhǔn)的處理場景類型、按消息發(fā)送順序處理的場景類型。
優(yōu)選的,所述步驟1包括:
步驟1.1:生產(chǎn)端準(zhǔn)備需要發(fā)送的消息內(nèi)容、需要投遞的消息隊列以及當(dāng)前業(yè)務(wù)場景對應(yīng)的消息類型;
步驟1.2:生產(chǎn)端將步驟1.1中準(zhǔn)備的數(shù)據(jù)作為入?yún)ⅲ⒉襟E1.1中確定的消息類型放入消息內(nèi)容的消息屬性中;
步驟1.3:在消息發(fā)送方法內(nèi),首先對入?yún)?shù)據(jù)進行校驗,將步驟1.1準(zhǔn)備的消息內(nèi)容放入消息體中。
優(yōu)選的,當(dāng)步驟1.1中確定的消息類型為無順序要求的異步通訊場景類型時,所述步驟1還包括以下步驟用于續(xù)接步驟1.3:
步驟1.4:將消息體與消息屬性組裝為完整的消息并發(fā)送到隊列中;完成消息發(fā)送;
對應(yīng)的,所述步驟2包括以下步驟:
步驟2.1:多個消費端接收并消費隊列中的消息內(nèi)容;解析得到消息體、消息屬性;
步驟2.2:消費端基于消息屬性確定當(dāng)前消息類型為無順序要求的異步通訊場景類型,則無需管消息的順序問題,直接進行接下來的消費處理;消費端完成消息處理。
優(yōu)選的,當(dāng)步驟1.1中確定的消息類型為以最近發(fā)送的消息為準(zhǔn)的處理場景類型時,所述步驟1包括以下步驟用于續(xù)接步驟1.3:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于四川新網(wǎng)銀行股份有限公司,未經(jīng)四川新網(wǎng)銀行股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111144387.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:換流變壓器潛油泵更換裝置
- 下一篇:鋰電手持式套絲機及套絲方法





