[發明專利]基于微服務架構的數據一致性方法以及裝置有效
| 申請號: | 201711421347.3 | 申請日: | 2017-12-25 |
| 公開(公告)號: | CN108153598B | 公開(公告)日: | 2021-06-25 |
| 發明(設計)人: | 孫浩;張延鳳;張庚昕;劉志鵬 | 申請(專利權)人: | 東軟集團股份有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/46 |
| 代理公司: | 北京清亦華知識產權代理事務所(普通合伙) 11201 | 代理人: | 張潤 |
| 地址: | 110179 遼*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 微服 架構 數據一致性 方法 以及 裝置 | ||
本發明提出一種基于微服務架構的數據一致性方法以及裝置,其中方法包括:通過接收上游應用在執行上游業務前發送的待確認消息,保存待確認消息,并向上游應用返回待確認消息對應的響應消息;若在第一時間范圍內接收到確認消息,則確定上游業務執行完畢,將待確認消息傳遞至活動日志,以便下游業務監聽并執行;確認消息為上游應用根據響應消息執行上游業務后的確認消息;若在第一時間范圍內未接收到確認消息,則查詢上游應用的上游業務是否已執行,并根據查詢結果確定刪除待確認消息還是將待確認消息傳遞至活動日志,從而保證上游應用與活動管理器之間數據的一致性,進而確保上游應用與下游應用之間數據的一致性。
技術領域
本發明涉及微服務技術領域,尤其涉及一種基于微服務架構的數據一致性方法以及裝置。
背景技術
目前,在基于微服務架構的業務平臺,例如電商平臺上,當用戶下單并支付后,電商平臺需要修改訂單的狀態并且增加用戶積分。由于電商平臺采用的是微服務架構,分離出了支付服務、訂單服務和積分服務,每個服務都有獨立數據庫做數據存儲。當用戶支付成功后,若訂單服務未修改訂單狀態或者積分服務未修改積分,則導致支付服務、訂單服務和積分服務之間數據的不一致。
發明內容
本發明旨在至少在一定程度上解決相關技術中的技術問題之一。
為此,本發明的第一個目的在于提出一種基于微服務架構的數據一致性方法,用于解決現有技術中難以保證各服務之間數據一致性的問題。
本發明的第二個目的在于提出一種基于微服務架構的數據一致性裝置。
本發明的第三個目的在于提出另一種基于微服務架構的數據一致性裝置。
本發明的第四個目的在于提出一種非臨時性計算機可讀存儲介質。
本發明的第五個目的在于提出一種計算機程序產品。
為達上述目的,本發明第一方面實施例提出了一種基于微服務架構的數據一致性方法,包括:
接收上游應用在執行上游業務前發送的待確認消息,保存所述待確認消息,并向所述上游應用返回所述待確認消息對應的響應消息;
判斷是否在第一時間范圍內接收到所述上游應用發送的確認消息,所述確認消息為所述上游應用根據所述響應消息執行上游業務后的確認消息;
在第一時間范圍內未接收到所述確認消息時,向上游應用發送查詢請求;
在接收到上游應用的上游業務已執行的消息時,將待確認消息的待確認狀態修改為發送狀態,并將修改為發送狀態的消息傳遞至活動日志,以使下游應用監聽所述活動日志中的消息,根據所述消息確定是否執行下游業務;
在接收到上游應用的上游業務未執行的消息時,刪除所述待確認消息。
進一步的,所述的方法還包括:
在第一時間范圍內接收到所述確認消息時,根據所述確認消息,將所述待確認消息的待確認狀態修改為發送狀態,并將修改為發送狀態的消息傳遞至活動日志,以使下游應用監聽所述活動日志中的消息,根據所述消息確定是否執行下游業務。
進一步的,所述的方法還包括:
接收下游應用的消息獲取請求,所述消息獲取請求為下游應用對所述活動日志進行監聽,確定所述活動日志中包括待獲取消息時發送的請求;
根據所述消息獲取請求,將所述待獲取消息發送至下游應用;
判斷是否在第二時間范圍內接收到下游應用的執行成功消息,所述執行成功消息為下游應用根據所述待獲取消息執行下游業務成功后的消息;
在第二時間范圍內未接收到所述執行成功消息時,將所述待獲取消息重新投遞至活動日志中,以供下游應用監聽。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東軟集團股份有限公司,未經東軟集團股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711421347.3/2.html,轉載請聲明來源鉆瓜專利網。





