[發(fā)明專(zhuān)利]一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法在審
申請(qǐng)?zhí)枺?/td> | 202010161079.1 | 申請(qǐng)日: | 2020-03-10 |
公開(kāi)(公告)號(hào): | CN111404643A | 公開(kāi)(公告)日: | 2020-07-10 |
發(fā)明(設(shè)計(jì))人: | 高文峰;魏金雷;楊繼偉;徐士強(qiáng) | 申請(qǐng)(專(zhuān)利權(quán))人: | 山東匯貿(mào)電子口岸有限公司 |
主分類(lèi)號(hào): | H04L1/16 | 分類(lèi)號(hào): | H04L1/16;H04L12/863;H04L29/08 |
代理公司: | 濟(jì)南信達(dá)專(zhuān)利事務(wù)所有限公司 37100 | 代理人: | 孫晶偉 |
地址: | 250100 山東省濟(jì)南市*** | 國(guó)省代碼: | 山東;37 |
權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
摘要: | |||
搜索關(guān)鍵詞: | 一種 基于 消息 隊(duì)列 數(shù)據(jù) 收發(fā) 處理 方法 | ||
本發(fā)明公開(kāi)一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法,涉及信息技術(shù)領(lǐng)域;消息生產(chǎn)者定義消息狀態(tài),消息本身以及消息隊(duì)列與消息消費(fèi)者之間的狀態(tài),消息生產(chǎn)者接收消息隊(duì)列和消息消費(fèi)者的ACK消息及上一次消息狀態(tài)時(shí),更新數(shù)據(jù),并判斷消息是否需要重發(fā),消息隊(duì)列收到消息消費(fèi)者的ACK消息及上一次消息狀態(tài)時(shí),更新數(shù)據(jù),并更改消息狀態(tài),查看是否存在需要發(fā)送到消息消費(fèi)者的消息,消息消費(fèi)者收到消息,更改消息狀態(tài),返回ACK消息及消息狀態(tài),利用本發(fā)明方法達(dá)到消息發(fā)送的精確性,原子性,一致性,保證三者的消息同步一致,不會(huì)造成某一條消息的漏發(fā)或者重發(fā)。
技術(shù)領(lǐng)域
本發(fā)明公開(kāi)一種數(shù)據(jù)收發(fā)處理方法,涉及信息技術(shù)領(lǐng)域,具體地說(shuō)是一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法。
背景技術(shù)
最初互聯(lián)網(wǎng)發(fā)展,消息都是同步發(fā)送的,發(fā)送方將消息發(fā)送到接口方,無(wú)需中間服務(wù)商,你來(lái)我往方便快捷。但是當(dāng)網(wǎng)絡(luò)飛速發(fā)展,信息交互繁忙的時(shí)候,數(shù)以萬(wàn)計(jì)的消息不再適合簡(jiǎn)單同步直接發(fā)送。隨之,出現(xiàn)了RPC同步技術(shù),雖然效率有所提升,但是依舊無(wú)法解決信息爆炸的現(xiàn)狀。于是出現(xiàn)了消息的異步處理機(jī)制,發(fā)送方將消息發(fā)送到消息服務(wù)器,消息服務(wù)器發(fā)送到接收方,消息可以正常的接收和發(fā)送,但是成百上千條數(shù)據(jù)信息同時(shí)涌入消息服務(wù)器,分發(fā)信息對(duì)應(yīng)不同的消費(fèi)者,勢(shì)必會(huì)出現(xiàn)發(fā)送的信息一致性問(wèn)題,其次,發(fā)送消息失敗或是接收不到,重復(fù)的發(fā)送消息導(dǎo)致生成重復(fù)的訂單,容易在消息發(fā)送鏈路產(chǎn)生的巨大負(fù)載壓力。
發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有技術(shù)的問(wèn)題,提供一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法,解決MQ異步處理機(jī)制產(chǎn)生的消息不一致的問(wèn)題,保證了信息發(fā)送的穩(wěn)定性和安全性以及產(chǎn)品的高可用。
本發(fā)明提出的具體方案是:
一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法:消息生產(chǎn)者定義消息狀態(tài),消息本身以及消息隊(duì)列與消息消費(fèi)者之間的狀態(tài),
消息發(fā)送過(guò)程中,消息生產(chǎn)者接收消息隊(duì)列和消息消費(fèi)者的ACK消息及上一次消息狀態(tài)時(shí),更新數(shù)據(jù),并判斷消息是否需要重發(fā),
消息隊(duì)列收到消息消費(fèi)者的ACK消息及上一次消息狀態(tài)時(shí),更新數(shù)據(jù),并更改消息狀態(tài),查看是否存在需要發(fā)送到消息消費(fèi)者的消息,
消息消費(fèi)者收到消息,更改消息狀態(tài),返回ACK消息及消息狀態(tài)。
所述的一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法中消息生產(chǎn)者定期查詢(xún)消息的消息狀態(tài),根據(jù)消息預(yù)設(shè)的發(fā)送次數(shù),判斷消息是否需要重發(fā)。
所述的一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法中消息隊(duì)列定期查詢(xún)消息的消息狀態(tài),根據(jù)消息狀態(tài)查看是否存在需要發(fā)送到消息消費(fèi)者的消息或是否需要?jiǎng)h除消息。
所述的一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法中消息狀態(tài)包括待發(fā)送、發(fā)送成功及發(fā)送失敗。
所述的一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法中超過(guò)預(yù)設(shè)的發(fā)送次數(shù),消息的消息狀態(tài)為發(fā)送失敗,并利用統(tǒng)一的標(biāo)記進(jìn)行設(shè)置。
所述的一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法中針對(duì)消息狀態(tài)為發(fā)送失敗的消息,進(jìn)行告警。
所述的一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理方法中消息生產(chǎn)者利用數(shù)據(jù)庫(kù)表存儲(chǔ)消息狀態(tài),消息本身以及消息隊(duì)列與消息消費(fèi)者之間的狀態(tài)。
一種基于消息隊(duì)列的數(shù)據(jù)收發(fā)處理系統(tǒng),包括消息生產(chǎn)者、消息隊(duì)列及消息消費(fèi)者,
消息生成者定義消息狀態(tài),消息本身以及消息隊(duì)列與消息消費(fèi)者之間的狀態(tài),
消息發(fā)送過(guò)程中,消息生產(chǎn)者接收消息隊(duì)列和消息消費(fèi)者的ACK消息及上一次消息狀態(tài)時(shí),更新數(shù)據(jù),并判斷消息是否需要重發(fā),
消息隊(duì)列收到消息消費(fèi)者的ACK消息及上一次消息狀態(tài)時(shí),更新數(shù)據(jù),并更改消息狀態(tài),查看是否存在需要發(fā)送到消息消費(fèi)者的消息,
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于山東匯貿(mào)電子口岸有限公司,未經(jīng)山東匯貿(mào)電子口岸有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010161079.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 隊(duì)列調(diào)度系統(tǒng)及方法
- 一種從多隊(duì)列節(jié)點(diǎn)獲取消息的方法及系統(tǒng)
- 隊(duì)列請(qǐng)求處理方法和裝置
- 一種隊(duì)列清空方法以及相關(guān)設(shè)備
- 一種基于Linux通用塊層多隊(duì)列的優(yōu)化系統(tǒng)及方法
- 一種分離存儲(chǔ)的隊(duì)列實(shí)現(xiàn)方法及裝置
- 一種數(shù)據(jù)處理方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種接口擁塞時(shí)延的計(jì)算方法及裝置
- 一種報(bào)文調(diào)度方法及裝置
- RDMA網(wǎng)絡(luò)下的網(wǎng)卡隊(duì)列創(chuàng)建方法以及裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置