[發(fā)明專利]一種事務(wù)消息的處理方法和裝置有效
| 申請?zhí)枺?/td> | 201410571984.9 | 申請日: | 2014-10-23 |
| 公開(公告)號: | CN105592117B | 公開(公告)日: | 2019-01-25 |
| 發(fā)明(設(shè)計)人: | 蔣濤 | 申請(專利權(quán))人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F9/54;G06F16/25 |
| 代理公司: | 北京潤澤恒知識產(chǎn)權(quán)代理有限公司 11319 | 代理人: | 趙娟 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 事務(wù) 消息 處理 方法 裝置 | ||
本申請實施例提供了一種事務(wù)消息的處理方法和裝置,所述的方法包括:生成事務(wù)消息;針對所述事務(wù)消息添加指定的處理狀態(tài)標(biāo)識;將所述事務(wù)消息發(fā)送至消息服務(wù)器;所述消息服務(wù)器用于依據(jù)所述處理狀態(tài)標(biāo)識將所述事務(wù)消息進行投遞;若成功投遞所述事務(wù)消息,則所述消息服務(wù)器用于刪除所述事務(wù)消息。本申請實施例用以以較小的代價保證事務(wù)消息的發(fā)送結(jié)果和事務(wù)的業(yè)務(wù)處理邏輯的一致性。
技術(shù)領(lǐng)域
本申請涉及消息處理的技術(shù)領(lǐng)域,特別是涉及一種事務(wù)消息的處理方法和一種事務(wù)消息的處理裝置。
背景技術(shù)
在分布式的網(wǎng)絡(luò)環(huán)境下,業(yè)務(wù)系統(tǒng)之間需要進行消息的交互以完成關(guān)聯(lián)的業(yè)務(wù),為了降低業(yè)務(wù)系統(tǒng)之間的耦合性,通常采用異步可靠消息來進行消息的交互。異步可靠消息一般分為普通消息和事務(wù)消息。普通消息與發(fā)送結(jié)果不綁定。作為發(fā)送端的業(yè)務(wù)系統(tǒng),在執(zhí)行本地事務(wù)時,不依賴普通消息的發(fā)送結(jié)果,即使普通消息發(fā)送失敗,也可以按照本地事務(wù)的業(yè)務(wù)處理邏輯繼續(xù)執(zhí)行相應(yīng)的操作。由于不能保證普通消息的發(fā)送結(jié)果和本地事務(wù)的業(yè)務(wù)處理邏輯的一致性,因此,在對一致性要求嚴(yán)格的場景通常選用事務(wù)消息。事務(wù)消息與發(fā)送結(jié)果綁定。在執(zhí)行本地事務(wù)時,依賴事務(wù)消息的發(fā)送結(jié)果,即事務(wù)消息發(fā)送結(jié)果和本地事務(wù)的業(yè)務(wù)處理邏輯保持一致。
在具體實現(xiàn)中,如果發(fā)送端發(fā)事務(wù)消息失敗,則需要回滾本地事務(wù),此外,如果在發(fā)送端本地事務(wù)執(zhí)行失敗,也需要回滾事務(wù)消息,以保證發(fā)送結(jié)果和本地事務(wù)的業(yè)務(wù)處理邏輯的一致性。目前事務(wù)消息一般采用兩階段提交的方式,并將事務(wù)消息的狀態(tài)分為未決狀態(tài)和已提交狀態(tài)。事務(wù)消息兩階段提交的方式具體為:
第一階段,在發(fā)送端進行本地事務(wù)的處理時操作業(yè)務(wù)數(shù)據(jù)庫,并將本地事務(wù)于事務(wù)消息綁定,在本地事務(wù)執(zhí)行過程中發(fā)送未決狀態(tài)的事務(wù)消息到消息服務(wù)器,消息服務(wù)器將該事務(wù)消息持久化到消息數(shù)據(jù)庫;
第二階段,在發(fā)送端確定事務(wù)消息是提交或者回滾,此時會發(fā)送指示提交或回滾的消息到消息服務(wù)器,如果是指示回滾的消息,消息服務(wù)器會刪除先前持久化到消息數(shù)據(jù)庫的未決狀態(tài)消息,如果是指示提交的消息,消息服務(wù)器會將事務(wù)消息的狀態(tài)從未決狀態(tài)更新為已提交狀態(tài),然后再進行投遞。
如果在第二階段的事務(wù)消息發(fā)送失敗,消息服務(wù)器會回查發(fā)送端咨詢事務(wù)消息的狀態(tài),消息服務(wù)器咨詢該事務(wù)消息的狀態(tài)后,決定對事務(wù)消息是要提交還是回滾。
由此可知,事務(wù)消息的兩階段提交方式的缺點主要有:
1、消息量倍增。由于事務(wù)消息是兩階段提交,而每一個階段都需要發(fā)送一條事務(wù)消息,這意味著執(zhí)行本地事務(wù)過程中的一次事務(wù)消息的發(fā)送動實際上需要發(fā)送用兩次才能發(fā)送,從而使消息量增加了一倍,加重了網(wǎng)絡(luò)負載、消息服務(wù)器負擔(dān)以及消息數(shù)據(jù)庫的事務(wù)消息數(shù)。
2、需要實現(xiàn)回查邏輯。如果第二階段的事務(wù)消息未能成功發(fā)送到消息服務(wù)器,消息服務(wù)器需要回查發(fā)送端,以決定事務(wù)消息的提交或回滾。實現(xiàn)事務(wù)消息回查邏輯,實現(xiàn)較為復(fù)雜,且需要一定的代價。
因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是:提出一種事務(wù)消息的處理機制,用以以較小的代價保證事務(wù)消息的發(fā)送結(jié)果和事務(wù)的業(yè)務(wù)處理邏輯的一致性。
申請內(nèi)容
本申請實施例所要解決的技術(shù)問題是提供一種事務(wù)消息的處理方法,用以以較小的代價保證事務(wù)消息的發(fā)送結(jié)果和事務(wù)的業(yè)務(wù)處理邏輯的一致性。
相應(yīng)的,本申請實施例還提供了一種事務(wù)消息的處理裝置,用以保證上述方法的實現(xiàn)及應(yīng)用。
為了解決上述問題,本申請公開了一種事務(wù)消息的處理方法,所述的方法包括:
生成事務(wù)消息;
針對所述事務(wù)消息添加指定的處理狀態(tài)標(biāo)識;
將所述事務(wù)消息發(fā)送至消息服務(wù)器;所述消息服務(wù)器用于依據(jù)所述處理狀態(tài)標(biāo)識將所述事務(wù)消息進行投遞;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團控股有限公司,未經(jīng)阿里巴巴集團控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410571984.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種事務(wù)處理的方法和裝置
- 分布式事務(wù)處理方法與系統(tǒng)
- 一種融合原生事務(wù)和邏輯事務(wù)的方法
- 用于聚結(jié)內(nèi)存事務(wù)的方法和系統(tǒng)
- 事務(wù)處理方法、事務(wù)參與節(jié)點及事務(wù)協(xié)調(diào)節(jié)點
- 跨進程分布式事務(wù)控制方法及相關(guān)系統(tǒng)
- 一種分布式事務(wù)管理方法及系統(tǒng)
- 一種分布式事務(wù)處理的智能監(jiān)控方法及服務(wù)器
- 分布式事務(wù)處理方法及裝置
- 讀寫事務(wù)控制方法、系統(tǒng)、終端設(shè)備及存儲介質(zhì)





