云處理裝置和方法
【專利說明】云處理裝置和方法
[0001]
技術領域
[0002]本發明涉及數據處理技術領域,具體地,涉及一種云處理裝置和一種云處理方法。
[0003]
【背景技術】
[0004]企業軟件服務端采用Mina框架進行構建原生業務處理服務,機制解決了對于資源(文件、視頻、音頻、圖片)的傳輸管理,網絡通訊集群處理總線的設計增強了基于Mina構建的支撐云體系的健壯性,同時也簡化了開發,降低了運營成本。數據處理方面通過實時波頻處理、動態流切換機制和連接集線分析三項機制,提升了集群環境下業務處理的并發高效性。
[0005]本模型使用Mina作為Java網絡通訊框架極大簡化了通過網絡構造應用的難度,機制主要面向支撐型云計算平臺領域,解決了資源處理和數據處理結合的應用場景,通過設計Mina集群總線和服務器心跳處理總線保障了集群環境下業務處理的高效性和穩定性。單臺Mina服務通過機制改造減少了數據轉換、傳輸、申請與銷毀的資源消耗開銷,同時增加了實時波頻狀態處理模塊解決了在云計算環境下業務訪問分布不均勻和資源使用不均勻的情況。
[0006]目前行業和領域內尚未出現一種基于Java高效處理網絡通訊的運營支撐云處理機制,主流處理方式傾向于C/C++的開源實現,或是通過GoLang、Erlang等并發模型進行實現,開發成本較高,在業務處理健壯性也沒有一套統一機制,同時上述方案還存在以下具體缺陷:
(I)Mina框架中對于Stream1Handler多線程傳輸資源場景下,效率低,支持客戶端連接數少,穩定性差(官方不推薦使用StreamloHandler)。
[0007](2)Mina并發環境下資源傳輸無法實現零拷貝模式,需要自己修改底層實現,目前沒有統一實現標準。
[0008](3)客戶端請求資源和業務處理速度的快慢,服務端無法實時感知,絕大多數支撐平臺缺少波頻處理模塊,當慢連接出現時,往往造成系統宕機或假死情況發生。
[0009](4)缺乏對字節流、字符流的統一管理機制,Mina自身不提供數據壓縮與解壓機制實現,同時缺乏通訊數據串行化處理。
[0010](5)缺乏一套統一有效的面向支撐云體系集群通訊與服務總線,企業內實現總線需要采用ESB做服務總線,性能損耗嚴重,缺少心跳處理總線。
[0011 ] (6)開發成本高,高效云支撐服務一般通過C/C++開源實現,很難與企業Java體系架構應用和平臺做集成,同時開發效率低。
[0012](7)缺乏對資源處理轉換、傳輸、申請與銷毀的控制,尚未形成一套統一機制和模型。
[0013](8)缺乏基于Mina構建的連接分析處理機制,無法動態處理單機粒度連接壓力和資源損耗。
[0014](9) Mina作為網絡通訊框架構建的服務無法將業務數據中公共數據進行提煉,例如連接元數據容器。
[0015](10)以Mina實現的支撐云缺少操作流程組裝、操作流程溯源分析,如希望高效實現分析過程,在網絡通訊場景復雜度高,尚沒有成功方案。
[0016](11) Mina在業務處理與資源處理混合處理的場景下,單機處理事務能力較差,平均只在1400/s上下(標準DELL R410 4核16G內存環境下)。
[0017](12)Mina在處理網絡請求時需實現動態負載均衡算法,目前主流負載均衡中間件無法滿足,需要結合流控數據和資源消耗做出判定。
[0018]現狀:目前行業內沒有一套成熟使用Mina框架作為網絡通訊框架應用在支撐運營云的處理機制。存在的方案大部分采用C/C++或一些函數式面向并發的腳本語言進行開發,無法實現兼容大部分企業級網絡通訊類型的技術需求。通過Mina進行構建的網絡平臺存在嚴重的機制問題,包括對于資源、并發、數據的控制,同時也缺少通訊的服務總線。
[0019]因此,需要一種新的云處理技術,可以在現有的云處理方式基礎上,充分利用單對象類型完成多對象類型元數據的云處理,建立多對象類型元數據參與的云處理的通用、統一處理思路。
[0020]
【發明內容】
[0021]本發明正是基于上述問題,提出了一種新的云處理技術,可以在現有的云處理方式基礎上,充分利用單對象類型完成多對象類型元數據的云處理,建立多對象類型元數據參與的云處理的通用、統一處理思路。
[0022]有鑒于此,本發明提出了一種云處理裝置,包括:Mina流程改造單元,用于對Mina本身流程進行改造;負載提高單元,用于基于對Mina本身流程的改造,通過業務流程的轉換和業務屬性的拆分,提高負載;Mina集群管理器,用于提供集群解決機制,進行集群維護。在該技術方案中,可以通過對Mina本身機制的改造和整體Mina集群環境下的通訊處理,有效解決對于資源數據處理、流控波頻處理、高負載高并發環境下的訪問處理等復雜邏輯問題。
[0023]在上述技術方案中,優選地,所述Mina流程改造單元,具體包括:Mina數據流程改進模塊,用于基于維護的集群,獲取客戶端連接句柄,傳遞到客戶端;客戶端連接注冊器,將客戶端連接句柄分發給主線程,由主線程獲取業務數據;將業務數據傳輸到數據托管服務層,進行數據分類和數據管理,完成字節流處理;Mina業務流改進模塊,用于基于處理后的字節流,通過字節流初始化處理,通過Mina的業務處理機制進行封裝。在該技術方案中,可以描述系統從監聽客戶端請求到加載與處理數據的整體流程;同時標識出處理不同類型客戶端請求的處理方式,對于字節流和字符流提供了不同機制進行處理。
[0024]在上述技術方案中,優選地,所述負載提高單元,具體包括:智能波頻調度模塊,用于實時記錄客戶端流量,定時回寫一次客戶端描述元數據信息,根據波頻調度策略實時改變客戶端句柄處理的優先級;波頻淘汰策略處理模塊,用于調度波頻淘汰策略,對負載狀態及壓力進行控制;Mina本地資源分析處理模塊,用于對本地資源進行監控,定時將當前服務器資源情況匯總到集群服務中做校正;根據Mina服務本地匯總的數據進行合并分析,對服務器中連接句柄進行調度分類。在該技術方案中,可以描述Mina內部對于壓力和流控的處理方式,主要集中在波頻調度引擎和本地監控分析引擎、同時也描述了與集群管理之間的關系。
[0025]在上述技術方案中,優選地,所述Mina數據流程改進模塊由主線程獲取業務數據的操作,進一步包括:管理客戶端信息,并提供客戶端對象容器、同時僅只有主線程可以訪問數據庫,當需要客戶端需要訪問數據庫時,主線程負責推送處理好的數據給客戶端句柄;和/或,所述Mina數據流程改進模塊進行數據分類和數據管理的操作,進一步包括:根據數據類型判定數據傳輸方式,將資源類數據傳輸剝離出Mina處理框架,通過資源傳輸流處理引擎處理,通過Mina框架剝離器匯總到數據托管服務層,形成循環操作;業務類數據通過Mina自身的業務封裝進行處理,對封裝進行局部改進;所述數據類型,包括資源類和業務類;和/或,所述Mina業務流改進模塊通過字節流初始化處理的操作,進一步包括:在自接力處理引擎中完成翻譯,劃分出業務實例,將業務實例傳輸到Preworker線程池內進行處理,線程池內所有子線程都均兼容前攝器處理機制、反應堆處理機制、阻塞器處理機制;和/或,所述智能波頻調度模塊根據波頻調度策略實時改變客戶端句柄處理的優先級的操作,進一步包括:當出現低于本服務處理閥值的句柄時,強行將句柄蟲數據托管服務層中剝離,并傳遞給集群中慢連接傳輸接口,由集群根據句柄屬性進行句柄再傳遞;和/或,所述Mina本地資源分析處理模塊監控的本地資源,包括CPU、內存和網絡。
[0026]在上述技術方案中,優選地,所述Mina集群管理器,具體包括:慢連接處理引擎提供模塊,用于負責接收Mina服務器提交的不符合當前服務器處理訴求的客戶端連接句柄,在集群中維護一張句柄容器表,通過探測初始化句柄的地域特性,將句柄傳遞給負責處理條件的Mina服務器中;集群處理服務總線提供模塊,用于與Mina服務中的通知引擎交互,收集和判定當前MINA服務的處理能力,進行系統評級,處理能力強的服務器優先選擇快速句柄進行連接;動態調整服務器的評級,在集群內設置一定的步