[發明專利]處理異步消息的系統及其發送消息、監聽處理任務的方法無效
| 申請號: | 201210045065.9 | 申請日: | 2012-02-27 |
| 公開(公告)號: | CN102611642A | 公開(公告)日: | 2012-07-25 |
| 發明(設計)人: | 俞曉鴻 | 申請(專利權)人: | 杭州閃亮科技有限公司 |
| 主分類號: | H04L12/58 | 分類號: | H04L12/58;H04L12/26 |
| 代理公司: | 上海思微知識產權代理事務所(普通合伙) 31237 | 代理人: | 鄭瑋 |
| 地址: | 310053 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 處理 異步 消息 系統 及其 發送 監聽 任務 方法 | ||
技術領域
本發明涉及一種處理異步消息的系統及其發送消息、監聽處理任務的方法,特別是涉及一種利用分布式隊列處理異步消息的系統及其發送消息、監聽處理任務的方法。
背景技術
消息中間件是實現系統間數據集成的工具,通過建立系統間的消息發布和訂閱關系建立起系統間的連接。由消息源系統(Origin?System)將消息發送到消息中間件服務器,即消息服務器(Message?Server),服務器根據訂閱關系將消息傳遞到消息目標系統,消息目標系統接收到消息后根據內容完成相應的業務處理。
目前眾多消息中間件產片在實現中間件服務器轉發消息到消息目標系統的機制是:消息目標系統定時連接到消息服務器,查詢是否有屬于本系統的消息,如果有則將消息取過來,這是一種輪詢的處理方法。
然而,目前采用輪詢處理方法的中間件大多存在以下缺點:1、過于重量級,維護成本高,集群布署擴展繁鎖;2、效率低,開發人員學習成本高,監控管理代價高。
發明內容
為克服上述現有技術存在的不足,本發明的主要目的在于提供一種處理異步消息的系統及其發送消息、監聽處理任務的方法,其通過利用分布式異步隊列方式傳送異步消息,實現了高效、可靠的異步消息傳輸,同時本發明通過分布式集群結構,具有擴展性強、完備的容錯機制、使用方便,維護成本低、監控管理方便等優點。
為達到上述及其他目的,本發明提供一種處理異步消息的系統,利用分布式異步隊列處理異步消息,其至少包括:
多個集群端,每個集群端均包含應用服務器及多個客戶端,每個客戶端根據預設規則選擇隊列服務器,當發送消息時,每個集群端作為發送端擇相應的隊列服務器將消息采用分布式隊列方式進行異步傳送;當需處理任務時,每個集群端作為監聽端則創建監聽線程,設置監聽隊列和監聽隊列服務器,以異步方式處理任務;以及
隊列服務器端,包含多個隊列服務器,其用于接收每個集群端發送的異步消息及存儲需處理的任務。
進一步地,該多個集群端采用分布式部署。
進一步地,該預設規則為基于權重的輪詢調度算法。
進一步地,該隊列服務器端還利用日志文件記錄每個任務的相關信息。
為達到上述及其他目的,本發明提供一種處理異步消息的系統之發送消息的方法,包括如下步驟
創建套接字發送端;
接收客戶端發送的消息;
檢查套接字連接池是否存在;
若存在,則使用原有套接字連接池,否則,則創建新的套接字連接池;
根據基于權重的負載檢查連接的可用性,若不可用,則自動重新連接;
選擇一套接字連接池;
創建發送消息任務并將任務放入任務池中;以及
異步發送套接字消息。
進一步地,當連接斷掉、網絡異常或隊列服務器端異常時,該連接不可用。
進一步地,當于異步發送消息時發送端發生異常時,該發送端將該任務重新放入任務池中,重新發送。
進一步地,于發送過程中,若因網絡問題導致連接超時或服務器端處理任務超時或讀取響應信息超時,該發送端重新將該任務放入任務池中發送。
進一步地,該發送端連接池中的每個連接不與具體隊列綁定,在該發送端發送時會動態設置連接所使用的隊列名稱。
為達到上述及其他目的,本發明提供一種處理異步消息的系統之監聽處理任務的方法,包括如下步驟:
創建監聽線程,設置監聽隊列和監聽隊列服務器;
各監聽線程循環監聽隊列服務器;
于有任務處理時相應的客戶端接受任務;
刪除隊列服務器端的該任務;
客戶端處理該任務;
于處理成功后刪除任務文件。
進一步地,客戶端接受任務后還包括如下步驟:
判斷任務文件中是否有該任務存在;
若有,則刪除隊列服務器端的該任務,否則將該任務寫入任務文件。
進一步地,若該客戶端處理該任務失敗三次以上,則將該任務寫入失敗隊列,并啟動一定時器定時處理失敗隊列中的任務,同時刪除該任務文件。
進一步地,于處理成功后刪除任務文件后,還包括記錄日志到日志文件的步驟。
進一步地,對于每個隊列服務器端,采用單線程循環監聽多隊列的任務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州閃亮科技有限公司,未經杭州閃亮科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210045065.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:單缸插銷伸縮控制系統及工程機械
- 下一篇:高速列車自動排路方法及控制裝置





