一個并行計算軟件框架:EasyMR

jopen 11年前發布 | 38K 次閱讀 EasyMR .NET開發

EasyMR并行架構技術

EasyMR簡介

  • 一個并行計算軟件框架

基于此框架的軟件可以運行在多臺計算機組成的計算集群上,并且每個計算機的計算任務也是多線程方式并行進行的,對于處理復雜的業務和巨量數據時非常用于。

  • 有著MapReduce血統的任務調度監控中心

EasyMR的作業會由Mgr平臺根據Key集切分成若干個數據集,通過RTP通信協議分配到計算Cell上,Mgr同時負責監控Cell上運行情況。

  • 任務腳本管理運行管理平臺

支持基于C#語言的任務執行腳本,所有腳本會基于TaskBase類,會在Key集之前發送到Cell計算單元,編譯并等待執行,整個過程簡單方便,尤其適合基于數據庫技術的企業類大數據處理任務

EasyMR框架特點

簡單易用:

  • 部署實施簡單

整個框架是基于.NET Framework2.0開發,綠色不需要任何安裝和復雜配置,相對與Hadoop簡直可以用輕松來形容,可以讓任何一個程序員或者IT短時間內快速搭建起屬于自己的并行計算框架。

  • 開發簡單

整個框架沒有使用特有的腳本語言,普通程序員不需要再去學習相對陌生的語法或者函數,現在使用C#,未來會擴展到JAVA語言,不需要了解復雜的MR算法,只要知道Key集切分規則和原理,并行計算特點和一些注意事項就可以。

  • 與現有系統集成簡單

本系統既可以以獨立程序方式調度運行,也提供類庫方式直接集成到現有的業務系統中,現有系統幾乎不需要什么大的改動就可以完成巨量數據或復雜業務處理

實用而不晦澀:

  • 基于數據庫處理

現有的并行框架基本是基于文件系統,對于一個開發團隊的首要任務是處理海量的數據庫數據,EasyMR不需要對于存儲的復雜理解,程序員既可以使用 數據庫的同步復制來分擔數據庫讀寫壓力,也可以一次讀完,計算機集群計算完成后再同步或一次性寫入數據庫,程序只要知道完成情況并讀取計算結果,同時未來 也支持實時返回計算結果。

  • 計算單元邏輯清晰

整個框架的設計是基于企業應用,例如統計報表,數據計算處理,其中統計邏輯和計算處理邏輯剝離出來就是計算單元的處理邏輯,只要簡單業務分析可以完成此項工作。

  • 可以編寫靈活實用腳本

雖然框架也提供了數據傳輸功能,但主要負責的是業務邏輯計算部分,在計算過程中可以靈活使用數據庫和結果來更好的計算業務邏輯,甚至是原有系統中計算邏輯可以直接經過簡單處理就可以變為計算腳本

優化并行處理架構:

  • 計算單元優化

計算機處理集群里的每臺計算機的計算CPU不同而配置不同的并行任務處理數量,也可以根據CPU使用率動態管理計算單元并行處理數量。

  • 采用RTP通信協議

RTP協議是實時傳輸控制協議簡稱,在大數據傳輸,實時傳輸控制和管理上優勢明顯,可以最大程度降低通信開銷,提高系統穩定性。

設計:

  • 工作流程

一個并行計算軟件框架:EasyMR

  • 框架設計

一個并行計算軟件框架:EasyMR

  • 推薦部署方案 


一個并行計算軟件框架:EasyMR

項目主頁:http://www.baiduhome.net/lib/view/home/1408527044147

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!