新四季網

一種基於消息鏈的輕量級數據處理框架的製作方法

2023-06-10 11:08:01

一種基於消息鏈的輕量級數據處理框架的製作方法
【專利摘要】本發明涉及分布式計算【技術領域】,特別是指一種基於消息鏈的輕量級數據處理框架。當消息被接收後進入消息處理鏈模塊;經過鏈上每個處理器上行處理邏輯的處理後,緩存到上行消息隊列中;上行消息隊列管理線程取出消息放入消息線程池;消息線程池將消息解析成對象或者結構體;消息觀察者根據類型決定是否接受消息,並對其進行特殊業務邏輯處理;另外,用戶請求或響應經過消息解析模塊轉化成消息緩存到下行消息隊列中;消息隊列把下行消息保存在待發送隊列中;按順序出列進入消息處理鏈,經過鏈上每個處理器下行處理邏輯處理後發送至消息通道。本發明解決了採用消息中間件所存在的問題,可用於實現基於本數據處理框架的第三方軟硬體的快速集成開發。
【專利說明】一種基於消息鏈的輕量級數據處理框架【技術領域】
[0001]本發明涉及分布式計算【技術領域】,特別是指一種基於消息鏈的輕量級數據處理框架。
【背景技術】
[0002]一個分布式系統需要處理不同類型的消息,消息的處理邏輯既有共同之處,也會根據消息類型的不同而需要特殊的處理邏輯。我們一般採用消息中間件來處理消息的共性問題,它的處理步驟是這樣的:
[0003]1、消息中間件中一般有三個角色:消息中間件、消費者、服務提供者;
[0004]2、消費者組裝數據請求報文發送給消息;
[0005]3、消息中間件將消費者請求報文轉發給各服務提供者監聽隊列,服務提供者接收請求業務報文;
[0006]4、服務提供者異步返回請求報文的響應報文;
[0007]5、消息中間件將消費者請求報文的響應報文返回到對應消費者應答隊列,消費者接收請求的響應報文,並做相應處理;
[0008]6、服務提供者生成消費者所需的數據,並發送報文給消息中間件;
[0009]7、消息中間件將通知報文轉發給各消費者監聽隊列,消費者接收到通知業務報文;
[0010]8、消費者異步返回通知報文的響應報文。
[0011]可是,消息中間件在消息量不大的分布式環境中也存在以下的問題:
[0012]1、消息中間件是一個獨立的消息引擎,會佔用一部分伺服器資源,對於消息量不大的分布式應用來說,沒有必要增加這樣的開銷,而且引入第三者的角色,消息(報文)在傳輸過程中經過多一層隊列的暫存,會減低消息的實時性.[0013]2、消息中間件對消息處理邏輯沒有設計靈活的處理機制,一旦消息處理邏輯變化,需要重新編碼實現.[0014]3、消息中間件沒有設計對消息的特殊處理邏輯機制,對特殊業務邏輯的開發不利。

【發明內容】

[0015]本發明解決的技術問題在於提供一種基於消息鏈的輕量級數據處理框架,解決目前通用消息中間件存在的消息處理不靈活、開發效率低、消息實時性低的問題;
[0016]本發明解決上述技術問題的技術方案是: [0017]包括步驟:
[0018]上行消息從消息通道中被接收後進入消息處理鏈模塊;
[0019]消息依次經過鏈上每個處理器上行處理邏輯的處理後,緩存到上行消息隊列中;
[0020]上行消息隊列管理線程從消息隊列中取出消息放入消息線程池;[0021]消息線程池將消息解析成對象或者結構體;
[0022]消息觀察者根據消息對象或結構體的類型決定是否接受消息,並對其進行特殊業務邏輯處理;
[0023]處理相應或者用戶請求經過消息解析模塊轉化成消息緩存到下行消息隊列中;
[0024]消息隊列把下行消息保存在待發送隊列中;
[0025]待發送隊列中消息按順序出列進入消息處理鏈,依次經過鏈上每個處理器下行處理邏輯處理後發送至消息通道。
[0026]所述消息分為上行消息和下行消息;上行消息是指系統從消息通道上接收到並需要進行相應命令操作的請求,下行消息則是指命令操作處理完後的響應或是用戶需要發送出去的請求。
[0027]所述消息處理鏈是消息處理工具的鏈式集合,包括上行消息處理鏈和下行消息處理鏈;上行消息處理鏈包括的消息處理工具有消息解包、消息解壓、消息解密及消息認證等;下行消息處理鏈包括的消息處理工具則相應的有消息認證、消息加密、消息壓縮和消息打包等;
[0028]所述的消息線程池是指各個消息處理線程的集合,具有將消息解析成各個對象或者結構體的功能;
[0029]所述的消息觀察者是指可以針對解析出來的消息對象進行各種不同處理的接口對象,包括日誌觀察者,審計觀察者,虛擬機觀察者,邏輯卷觀察者等;消息觀察者採用觀察者模式設計實現,同一個消息支持依次被多個觀察者接收處理;,觀察者模式是編程設計中一種編程實現方法。
[0030]所述的上下行消息處理鏈工具集支持動態可擴展。
[0031]所述上下行消息隊列支持內存形式和資料庫形式;
[0032]所述的內存形式消息隊列是指在內存中申請一定大小的空間作為消息緩衝,具有效率高的特性;
[0033]所述的資料庫形式是指將消息先保存到資料庫,等待消息處理線程的調度,具有持久化特性,支持服務故障恢復消息重新處理的特點。
[0034]所述的消息觀察者特殊業務邏輯處理是指類似於日誌觀察者進行日誌記錄,審計觀察者進行審計,虛擬機觀察者進行創建虛擬機、關閉虛擬機等業務邏輯處理。
[0035]本發明方案的有益效果如下:
[0036]1、本發明的框架是輕量級的,對系統額外增加的開銷較少,消息的實時性高。
[0037]2、本發明的框架是高度靈活的,消息處理鏈中的處理邏輯可以按需通過配置進行增減,無需重新編碼即可運行;要增加對消息的特殊處理邏輯也較容易。
[0038]3、本發明的方法能在短時間內開發分布式處理應用,在消息處理鏈中的處理器都是根據共性處理邏輯開發的通用組件,在實際使用過程中只需要進行配置或做少量編碼即可。
[0039]4、能提高分布式應用開發的質量,增加客戶滿意度。由於應用本架構可做到不編寫代碼或者只編寫極少量代碼,因此減少了開發過程中編碼產生的錯誤,提高了軟體質量。
【專利附圖】

【附圖說明】[0040]下面結合附圖對本發明進一步說明:
[0041]圖1為本發明流程圖;
[0042]圖2為本發明上行數據處理框架分解圖;
【具體實施方式】
[0043]如圖1所示,本發明基於消息鏈的輕量級數據處理方法包括如下步驟:
[0044]上行消息從消息通道中被接收後進入消息處理鏈模塊;
[0045]消息依次經過鏈上每個處理器上行處理邏輯的處理後,緩存到上行消息隊列中;
[0046]上行消息隊列管理線程從消息隊列中取出消息放入消息線程池;
[0047]消息線程池將消息解析成對象或者結構體;
[0048]消息觀察者根據消息對象或結構體的類型決定是否接受消息,並對其進行特殊業務邏輯處理;
[0049]處理相應或者用戶請求經過消息解析模塊轉化成消息緩存到下行消息隊列中;
[0050]消息隊列把下行消息保存在待發送隊列中;
[0051]待發送隊列中消息按順序出列進入消息處理鏈,依次經過鏈上每個處理器下行處理邏輯處理後發送至消息通道。
[0052]所述消息分為上行消息和下行消息;上行消息是指系統從消息通道上接收到並需要進行相應命令操作的請求,下行消息則是指命令操作處理完後的響應或是用戶需要發送出去的請求。
[0053]消息處理鏈是消息處理工具的鏈式集合,包括上行消息處理鏈和下行消息處理鏈;上行消息處理鏈包括的消息處理工具有消息解包、消息解壓、消息解密及消息認證等;下行消息處理鏈包括的消息處理工具則相應的有消息認證、消息加密、消息壓縮和消息打包等;
[0054]消息線程池是指各個消息處理線程的集合,具有將消息解析成各個對象或者結構體的功能;
[0055]消息觀察者是指可以針對解析出來的消息對象進行各種不同處理的接口對象,包括日誌觀察者,審計觀察者,虛擬機觀察者,邏輯卷觀察者等;消息觀察者採用觀察者模式設計實現,同一個消息支持依次被多個觀察者接收處理;,觀察者模式是編程設計中一種編程實現方法。
[0056]上下行消息處理鏈工具集支持動態可擴展。
[0057]上下行消息隊列支持內存形式和資料庫形式;內存形式消息隊列是指在內存中申請一定大小的空間作為消息緩衝,具有效率高的特性;資料庫形式是指將消息先保存到資料庫,等待消息處理線程的調度,具有持久化特性,支持服務故障恢復消息重新處理的特點。
[0058]消息觀察者特殊業務邏輯處理是指類似於日誌觀察者進行日誌記錄,審計觀察者進行審計,虛擬機觀察者進行創建虛擬機、關閉虛擬機等業務邏輯處理。
[0059]再結合圖2所示,數據處理框架中消息處理鏈處於文本消息進出的階段,包含解包、解壓、解密、認證等處理過程,每一個處理過程都是一個Handler,且每個Handler需繼承MsgHandler基類,MsgHandler基類設計如下:
[0060]
【權利要求】
1.一種基於消息鏈的輕量級數據處理框架,其特徵在於:包括步驟: 上行消息從消息通道中被接收後進入消息處理鏈模塊; 消息依次經過鏈上每個處理器上行處理邏輯的處理後,緩存到上行消息隊列中; 上行消息隊列管理線程從消息隊列中取出消息放入消息線程池; 消息線程池將消息解析成對象或者結構體; 消息觀察者根據消息對象或結構體的類型決定是否接受消息,並對其進行特殊業務邏輯處理; 處理相應或者用戶請求經過消息解析模塊轉化成消息緩存到下行消息隊列中; 消息隊列把下行消息保存在待發送隊列中; 待發送隊列中消息按順序出列進入消息處理鏈,依次經過鏈上每個處理器下行處理邏輯處理後發送至消息通道。
2.根據權利要求1所述的輕量級數據處理框架,其特徵在於:所述消息分為上行消息和下行消息;上行消息是指系統從消息通道上接收到並需要進行相應命令操作的請求,下行消息則是指命令操作處理完後的響應或是用戶需要發送出去的請求。
3.根據權利要求1所述的輕量級數據處理框架,其特徵在於:所述消息處理鏈是消息處理工具的鏈式集合,包括上行消息處理鏈和下行消息處理鏈;上行消息處理鏈包括的消息處理工具有消息解包、消息解壓、消息解密及消息認證等;下行消息處理鏈包括的消息處理工具則相應的有消息認證、消息加密、消息壓縮和消息打包等; 所述的消息線程池是指各個消息處理線程的集合,具有將消息解析成各個對象或者結構體的功能; 所述的消息觀察者是指可以針對解析出來的消息對象進行各種不同處理的接口對象,包括日誌觀察者,審計觀察者,虛擬機觀察者,邏輯卷觀察者等;消息觀察者採用觀察者模式設計實現,同一個消息支持依次被多個觀察者接收處理;,觀察者模式是編程設計中一種編程實現方法。
4.根據權利要求3所述的輕量級數據處理框架,其特徵在於:所述的上下行消息處理鏈工具集支持動態可擴展。
5.根據權利要求1至4任一項所述的輕量級數據處理框架,其特徵在於:所述上下行消息隊列支持內存形式和資料庫形式; 所述的內存形式消息隊列是指在內存中申請一定大小的空間作為消息緩衝,具有效率高的特性; 所述的資料庫形式是指將消息先保存到資料庫,等待消息處理線程的調度,具有持久化特性,支持服務故障恢復消息重新處理的特點。
6.根據權利要求1至4任一項所述的輕量級數據處理框架,其特徵在於:所述的消息觀察者特殊業務邏輯處理是指類似於日誌觀察者進行日誌記錄,審計觀察者進行審計,虛擬機觀察者進行創建虛擬機、關閉虛擬機等業務邏輯處理。
7.根據權利要求5所述的輕量級數據處理框架,其特徵在於:所述的消息觀察者特殊業務邏輯處理是指類似於日誌觀察者進行日誌記錄,審計觀察者進行審計,虛擬機觀察者進行創建虛擬機、關閉虛擬機等業務邏輯處理。
【文檔編號】G06F9/44GK103677844SQ201310714072
【公開日】2014年3月26日 申請日期:2013年12月20日 優先權日:2013年12月20日
【發明者】熊夢, 楊松, 莫展鵬, 季統凱 申請人:國雲科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀