一種基於服務的消息接入層框架及其實現方法
2023-11-01 22:30:52
一種基於服務的消息接入層框架及其實現方法
【專利摘要】本發明涉及軟體【技術領域】,特別是一種基於服務的消息接入層框架及其實現方法。本發明系統啟動後,控制器解析配置文件、啟動資料庫訪問服務並初始化、啟動各個組件;應用前端發送請求以後,接收器負責接收前端的請求並轉換成一致格式的數據向後面的處理模塊輸送;帳號口令檢查器和會話處理器是框架主體的消息處理模塊,負責對客戶請求進行各種處理,處理結束後交給轉發器。轉發器負責把處理後的具有一致格式的數據轉換為應用後端接受的數據格式,然後發送給應用後端,進行雲端的數據處理。本發明解決了雲計算應用前端到後端接入的安全、訪問速度及技術開發工作量大等問題;可應用於前端到後端的接入服務。
【專利說明】—種基於服務的消息接入層框架及其實現方法
【技術領域】
[0001]本發明涉及軟體【技術領域】,特別是一種基於服務的消息接入層框架及其實現方法。
【背景技術】
[0002]隨著雲計算應用規模的不斷擴大,針對不同類型的用戶,需要把不同類型的前端接入到後端。前端根據不同的需要,會採用不同的協議進行通信;常用的Http協議,針對行動裝置通信的經過壓縮的Http協議,各種在線視頻通信協議,傳統的SOAP協議及RPC協議,甚至是專門定製的通信協議。所有的前端連接到後端時都需要進行登錄管理、權限管理、行為審計的處理。可以把這些處理統稱為接入層。目前,雲計算應用都需要獨立開發自己的接入層,這種做法有如下的缺點:
[0003]1、每個前端都獨立連接後端,無法平衡各個前端的訪問頻度,某個前端的偶發性的高訪問量會給後端帶來過大的壓力,影響其他前端的訪問速度。
[0004]2、每個前端需要進行獨立的帳號認證,都連接到相同的認證資料庫,對資料庫造成較大的安全威脅。
[0005]3、每個前端都開發接入層,大部分都是重複性的工作,加大開發人員的工作量。
【發明內容】
[0006]本發明解決的技術問題之一在於提供一種基於服務的消息接入層框架解決目前應用前端協議不同,安全性低,開發工作量大的問題。
[0007]本發明解決的技術問題之二在於提供一種基於服務的消息接入層框架的實現方法,解決目前應用前端協議不同,安全性低,開發工作量大的問題。
[0008]本發明解決上述技術問題之一的技術方案是:
[0009]所述框架由控制器、接收器、帳號口令檢查器、回話處理器和轉發器五個組件構成;其中,
[0010]所述的控制器,包括配置文件解析器和資料庫訪問服務;用於啟動、初始化各個組件,協調各個組件的工作;
[0011]所述的接收器,用於以各種形式接收應用前端的請求;接收到不同格式的數據後,將其轉換成一致格式的數據向後面的會話處理器輸送;
[0012]所述的帳號口令檢查器,用於對前端的請求進行的訪問控制驗證。處理結束後交給轉發器;
[0013]所述的會話處理器,作為整個框架的主體處理模塊,用於對請求進行登錄管理、權限管理、行為審計、日誌、單點登錄、公開接口等各種處理;
[0014]所述的轉發器,用於將處理後的具有一致格式的數據轉換為後端接受的數據格式,然後發送給後端,進行雲端的處理。
[0015]所述的應用前端的請求來自web前端或自一個自定義應用層協議的客戶端。
[0016]本發明解決上述技術問題之二的技術方案是:
[0017]包括步驟:
[0018]步驟1:系統啟動後,控制器解析配置文件、啟動資料庫訪問服務並初始化、啟動框架的各個組件;
[0019]步驟2:應用前端發送請求以後,接收器負責接收前端的請求並轉換成一致格式的數據向後面的會話處理器輸送;
[0020]步驟3:帳號口令檢查器和會話處理器作為框架主體的消息處理模塊,負責對客戶請求進行各種處理,處理結束後交給轉發器;
[0021]步驟4:轉發器負責將處理後的具有一致格式的數據轉換為應用後端接受的數據格式,然後發送給應用後端,進行雲端的數據處理。
[0022]所述控制器的工作流程如下:
[0023]首先讀入配置文件並解析,根據配置文件啟動接收器,不同的接收器和不同的應用前端有關,取決於前端使用的通信協議;
[0024]然後啟動轉發器;不同的轉發器和不同的後端有關,取決於後端用什麼通信方式;
[0025]然後啟動資料庫訪問服務,並使用其提供的連接啟動帳號口令檢查器,從資料庫中獲取帳號的驗證信息;
[0026]最後啟動一個初始沒有會話的會話處理器;
[0027]所述控制器的處理邏輯如下:
[0028]由配置文件指定的策略決定請求經過哪些模塊的處理,如何處理;如果處理出現問題,處理鏈終止,提前返回給控制器;控制器根據返回的異常信息,提前通過接收器返迴響應給客戶請求,完成一次請求響應。
[0029]所述接收器作為一個服務端不斷輪詢接受應用前端的請求,接收後,給每個請求賦予一個唯一的ID。
[0030]所述會話處理器中包含來自不同應用前端的連接信息,稱之為會話;
[0031]每個會話以唯一的標識sess1nld來區分,每個應用前端首次連接到接入層框架並通過帳號口令檢查器的檢查後,都會被分配一個sess1nld,此前端後續所有的連接都必須將sess1nld包含在請求中。
[0032]請求處理的完整流程如下:
[0033]會話處理器在每個請求中提取會話ID,並檢查會話ID是否已經存在;
[0034]如果存在說明會話已經存在,往轉發器傳送;
[0035]如果不存在說明是個新會話,先交由帳號口令檢查器進行認證;
[0036]如果認證不通過,不往下傳送,直接返回錯誤碼到應用前端;
[0037]如果認證通過,進行會話登記,向應用前端返回成功認證信息;
[0038]在發送響應信息後,接收器會銷毀對應的一些連接信息,接收器就只負責接收和返回請求,每個請求相互獨立,請求處理完畢即清除相關信息,繼續等待下一個請求。
[0039]本發明方案的有益效果如下:
[0040]1、能平衡不同應用前端之間的負載,減輕後端的壓力;
[0041]2、作為各個應用的一個惟一的訪問入口,可以提高安全性,集中管理和接入相關的工作,隔離前臺和後臺,同時使得前臺和後臺的程序的邏輯更簡單純粹;
[0042]3、實現成框架可以實現代碼重用,減少開發接入層的工作量。
【專利附圖】
【附圖說明】
[0043]下面結合附圖對本發明進一步說明:
[0044]圖1為本發明方法流程圖。
【具體實施方式】
[0045]系統啟動後,控制器調用配置文件加載初始化信息,本發明使用xml文件描述初始化信息:
[0046]
【權利要求】
1.一種基於服務的消息接入層框架,其特徵在於:所述框架由控制器、接收器、帳號口令檢查器、回話處理器和轉發器五個組件構成;其中, 所述的控制器,包括配置文件解析器和資料庫訪問服務;用於啟動、初始化各個組件,協調各個組件的工作; 所述的接收器,用於以各種形式接收應用前端的請求;接收到不同格式的數據後,將其轉換成一致格式的數據向後面的會話處理器輸送; 所述的帳號口令檢查器,用於對前端的請求進行的訪問控制驗證,處理結束後交給轉發器; 所述的會話處理器,作為整個框架的主體處理模塊,用於對請求進行登錄管理、權限管理、行為審計、日誌、單點登錄、公開接口等各種處理; 所述的轉發器,用於將處理後的具有一致格式的數據轉換為後端接受的數據格式,然後發送給後端,進行雲端的處理。
2.根據權利要求1所述的消息接入層框架,其特徵在於:所述的應用前端的請求來自web前端或自一個自定義應用層協議的客戶端。
3.一種基於服務的消息接入層框架實現方法,其特徵在於:包括步驟: 步驟1:系統啟動後,控制器解析配置文件、啟動資料庫訪問服務並初始化、啟動框架的各個組件; 步驟2:應用前端發送請求以後,接收器負責接收前端的請求並轉換成一致格式的數據向後面的會話處理器輸送; 步驟3:帳號口令檢查器和會話處理器作為框架主體的消息處理模塊,負責對客戶請求進行各種處理,處理結束後交給轉發器; 步驟4:轉發器負責將處理後的具有一致格式的數據轉換為應用後端接受的數據格式,然後發送給應用後端,進行雲端的數據處理。
4.根據權利要求3所述的方法,其特徵在於:所述控制器的工作流程如下: 首先讀入配置文件並解析,根據配置文件啟動接收器,不同的接收器和不同的應用前端有關,取決於前端使用的通信協議; 然後啟動轉發器;不同的轉發器和不同的後端有關,取決於後端用什麼通信方式; 然後啟動資料庫訪問服務,並使用其提供的連接啟動帳號口令檢查器,從資料庫中獲取帳號的驗證信息; 最後啟動一個初始沒有會話的會話處理器; 所述控制器的處理邏輯如下: 由配置文件指定的策略決定請求經過哪些模塊的處理,如何處理;如果處理出現問題,處理鏈終止,提前返回給控制器;控制器根據返回的異常信息,提前通過接收器返迴響應給客戶請求,完成一次請求響應。
5.根據權利要求3所述的方法,其特徵在於:所述接收器作為一個服務端不斷輪詢接受應用前端的請求,接收後,給每個請求賦予一個唯一的ID。
6.根據權利要求4所述的方法,其特徵在於:所述接收器作為一個服務端不斷輪詢接受應用前端的請求,接收後,給每個請求賦予一個唯一的ID。
7.根據權利要求3至6任一項所述的方法,其特徵在於:所述會話處理器中包含來自不同應用前端的連接信息,稱之為會話; 每個會話以唯一的標識sess1nld來區分,每個應用前端首次連接到接入層框架並通過帳號口令檢查器的檢查後,都會被分配一個sess1nld,此前端後續所有的連接都必須將sess1nld包含在請求中。
8.根據權利要求3至6任一項所述的方法,其特徵在於:請求處理的完整流程如下: 會話處理器在每個請求中提取會話ID,並檢查會話ID是否已經存在; 如果存在說明會話已經存在,往轉發器傳送; 如果不存在說明是個新會話,先交由帳號口令檢查器進行認證; 如果認證不通過,不往下傳送,直接返回錯誤碼到應用前端; 如果認證通過,進行會話登記,向應用前端返回成功認證信息; 在發送響應信息後,接收器會銷毀對應的一些連接信息,接收器就只負責接收和返回請求,每個請求相互獨立,請求處理完畢即清除相關信息,繼續等待下一個請求。
9.根據權利要求7所述的方法,其特徵在於:請求處理的完整流程如下: 會話處理器在每個請求中提取會話ID,並檢查會話ID是否已經存在; 如果存在說明會話已經存在,往轉發器傳送; 如果不存在說明是個新會話,先交由帳號口令檢查器進行認證; 如果認證不通過,不往下傳送,直接返回錯誤碼到應用前端; 如果認證通過,進行會話登記,向應用前端返回成功認證信息; 在發送響應信息後,接收器會銷毀對應的一些連接信息,接收器就只負責接收和返回請求,每個請求相互獨立,請求處理完畢即清除相關信息,繼續等待下一個請求。
【文檔編號】H04L29/08GK104079624SQ201410195515
【公開日】2014年10月1日 申請日期:2014年5月9日 優先權日:2014年5月9日
【發明者】莫展鵬, 楊松, 季統凱 申請人:國雲科技股份有限公司