[發明專利]一種基于云平臺的分布式流程處理解決方法及系統有效
| 申請號: | 202110588986.9 | 申請日: | 2021-05-28 |
| 公開(公告)號: | CN113204575B | 公開(公告)日: | 2023-08-01 |
| 發明(設計)人: | 胡建德 | 申請(專利權)人: | 西藏寧算科技集團有限公司 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455;G06F16/23 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 851414 西藏自*** | 國省代碼: | 西藏;54 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 平臺 分布式 流程 處理 解決方法 系統 | ||
本發明公開了一種基于云平臺的分布式流程處理解決方法及系統,本發明將一個復雜java實現的業務功能代碼,逐一拆分成多個Step,每個Step記錄當前執行狀態的信息,存于MQ中保持唯一性,每個Step在不同服務器有相同的子任務副本,通過判斷Step當前狀態,在集群環境中共同執行,本發明利用了MQ對異步、高并發的支持來實現多服務之間的協同處理,最終達到資源利用率最高的場景,提高了數據處理能力以及數據處理效率。
技術領域
本發明涉及分布式領域以及java應用領域,特別涉及一種基于云平臺的分布式流程處理解決方法及系統。
背景技術
在現今的java企業級應用環境,越來越多的需求以及越來越復雜功能場景逐漸增多并且還伴隨著高并發,低延遲的強業務需求,目前的行業沒有太多的場景框架,更多的傾向于服務間的負載方案,現有SpringBatch等批處理框架是單節點多線程處理方式,定時任務處理只能單節點,無法利用微服務集群的優勢,發揮服務器性能。本發明保留服務負載均衡,繼續對業務流程進行拆分,進一步提高服務容錯以及提高響應速度。
發明內容
發明目的:本發明的目的是提供一種基于云平臺的分布式流程處理解決方法及系統,解決復雜業務功能場景下分任務模式以及多節點共同執行的問題,創造一個分布式流程任務管理平臺。
技術方案:本發明所述的一種基于云平臺的分布式流程處理解決方法,包括以下步驟:
S1:程序啟動時啟動主流程入口,具體包括以下步驟:
S1.1:程序從數據庫中查詢數據,查詢條件為業務條件;
S1.2:數據查詢完畢后,開始組裝Step需要的數據格式;
S1.3:數據組裝完畢后,發送至MQ;
S2:將java的業務功能分為Step1、Step2、...、StepN,其中N為大于1的正整數,多個Step監聽同一個MQ;
S3:在需要處理的業務數據來臨時,多個Step同時監聽到該條數據,但該條數據僅會被全局中的一個Step所處理;
S4:Step處理業務數據,具體包括以下步驟:
S4.1:Step判斷業務數據的Step是否為當前態,若不是當前態則將數據重新發回MQ,若是當前態進入下一步;
S4.2:連接redis,對業務數據中唯一性ID進行加鎖,若加鎖成功,則處理當前業務,若加鎖失敗,結束當前任務;
S4.3:業務數據處理完畢后,將業務數據的當前狀態更新為下一個Step所需要的狀態,更新完畢后將業務數據推送至MQ,當前任務結束;
S4.4:若出現異常情況,將不同異常情況推送至補償隊列中,特殊處理。
作為優選,所述Step為多服務多副本模塊。
作為優選,所述MQ為集群環境。
作為優選,所述S2中的每個Step在集群環境中,每有一個服務對應有一個Step副本。
作為優選,所述業務數據在被處理一次后必定會被消費。
作為優選,所述S4.2中對業務數據唯一性ID進行加鎖采用的是分布式鎖redisson。
有益效果:本發明利用了MQ對異步、高并發的支持來實現多服務之間的協同處理,最終達到資源利用率最高的場景,提高了數據處理能力以及數據處理效率。
附圖說明
圖1是本發明的流程示意圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西藏寧算科技集團有限公司,未經西藏寧算科技集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110588986.9/2.html,轉載請聲明來源鉆瓜專利網。





