大數(shù)據(jù)流程建模分析引擎的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于大數(shù)據(jù)快速分析領(lǐng)域,具體涉及一種大數(shù)據(jù)流程建模分析引擎。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中的大數(shù)據(jù)分析工具軟件,基本都是基于本地化處理,將數(shù)據(jù)存在本地硬盤中,采用關(guān)系型數(shù)據(jù)庫對于少量的數(shù)據(jù)進行處理分析,但對于海量數(shù)據(jù),則無法進行有效的處理分析。
[0003]并且現(xiàn)有技術(shù)中的數(shù)據(jù)分析工具的前端頁面展示過于繁瑣,需要很專業(yè)的數(shù)據(jù)管理員才能操作,普通用戶則望塵莫及,所以針對的用戶群體比較狹隘,另外現(xiàn)在的數(shù)據(jù)處理分析采用關(guān)系型數(shù)據(jù)進行海量數(shù)據(jù)處理時效率低下,難以滿足應(yīng)用需求。
【發(fā)明內(nèi)容】
[0004]發(fā)明目的:針對現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種可高效、快速處理大量數(shù)據(jù)的大數(shù)據(jù)流程建模分析引擎。
[0005]技術(shù)方案:一種大數(shù)據(jù)流程建模分析引擎,包括界面層、任務(wù)調(diào)度層和平臺層;
所述平臺層完成資源調(diào)度、分配工作;
所述任務(wù)調(diào)度層包括校驗?zāi)K、解析模塊、任務(wù)調(diào)度模塊和算法包;其中,所述校驗?zāi)K提供數(shù)據(jù)分析流程是否符合流程設(shè)計規(guī)則的校驗功能,符合校驗規(guī)則的部分,可以進入解析模塊;所述解析模塊提供將界面層生成的數(shù)據(jù)分析流程的轉(zhuǎn)換為可執(zhí)行的數(shù)據(jù)分析流程任務(wù)的解析功能;所述任務(wù)調(diào)度模塊根據(jù)解析模塊生成的完整的數(shù)據(jù)分析流程,調(diào)度所述算法包中的各類數(shù)據(jù)分析算法接口,組成完整的可運行的分析流程任務(wù)程序,并調(diào)度底層資源進行數(shù)據(jù)分析程序的執(zhí)行;
所述界面層:提供數(shù)據(jù)分析建模操作的平臺界面,每一個數(shù)據(jù)分析的算法包均在界面上以唯一標識的可拖拽式組件存在,用戶通過界面操作各算法組件,并以有向線條連接,表示數(shù)據(jù)分析流程方向和步驟,組合成完整的業(yè)務(wù)數(shù)據(jù)分析算法模型,通過界面的啟動功能運行后臺任務(wù)調(diào)度模塊和算法包,調(diào)度資源完成數(shù)據(jù)的快速分析和處理。
[0006]具體地,所述的數(shù)據(jù)分析流程建模均通過web頁面的建模操作臺進行,通過可拖拽的算法包與又向連接線的組合形成有向無環(huán)的數(shù)據(jù)分析模型。
[0007]具體地,所述解析模塊將整個界面層生產(chǎn)的數(shù)據(jù)分析流程模型轉(zhuǎn)化為一個DAG有向無環(huán)圖,由解析模塊解析這個DAG圖,生成完整的spark數(shù)據(jù)分析流程。
[0008]具體地,所述解析模塊讀入整個前臺頁面生成的xml文檔,構(gòu)建一個駐留內(nèi)存的樹結(jié)構(gòu),使用DOM接口來操作這個樹結(jié)構(gòu)。
[0009]具體地,所述解析驗證是根據(jù)xml,將各步驟解析成有向無環(huán)圖,end表示終結(jié)流程。
[0010]具體地,所述任務(wù)調(diào)度時使用深度優(yōu)先搜索算法,其步驟如下:
(I)獲取任務(wù)隊列; (2)遞歸拿到任務(wù)動作節(jié)點;
(3)調(diào)用ETL工廠類執(zhí)行任務(wù)節(jié)點,返回為RDD,直到執(zhí)行到end動作,表示節(jié)點運行成功。
[0011]具體地,所述平臺層以Hadoop平臺為主;所述底層資源包括Hadoop平臺中的spark、yarn和hdfs0
[0012]具體地,所述解析模塊中采用dom4j解析文件。
[0013]解釋說明:1、spark設(shè)計理念是基于內(nèi)存,多次計算,盡量避免文件輸出到硬盤,以達到減少頻繁1操作的問題。
[0014]2、深度優(yōu)先搜索是一種在開發(fā)爬蟲早期使用較多的方法,它的目的是要達到被搜索結(jié)構(gòu)的葉結(jié)點(即那些不包含任何超鏈的HTML文件),在一個HTML文件中,當一個超鏈被選擇后,被鏈接的HTML文件將執(zhí)行深度優(yōu)先搜索,即在搜索其余的超鏈結(jié)果之前必須先完整地搜索單獨的一條鏈;深度優(yōu)先搜索沿著HTML文件上的超鏈走到不能再深入為止,然后返回到某一個HTML文件,再繼續(xù)選擇該HTM的其他超鏈接;當不再有其他超鏈接,表示節(jié)點結(jié)束。
[0015]有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:基于spark的設(shè)計理念,在用戶進行流程化數(shù)據(jù)建模分析操作,來解析用戶的數(shù)據(jù)分析操作步驟及流程,最終通過流程調(diào)用spark,將用戶的數(shù)據(jù)分析操作步驟全部進行內(nèi)存處理后,最終輸出結(jié)果,從而達到高效的一體化流程。
【附圖說明】
[0016]圖1是本發(fā)明的系統(tǒng)圖;
圖2是本發(fā)明的流程解析校驗圖;
圖3是本發(fā)明的解析樹示意圖;
圖4是單流程示意圖;
圖5是分支流程示意圖;
圖6是單輸出流程示意圖;
圖7是流程映射不意圖。
【具體實施方式】
[0017]下面結(jié)合附圖和【具體實施方式】,進一步闡明本發(fā)明。
[0018]如圖1所示,一種大數(shù)據(jù)流程建模分析引擎,包括界面層、任務(wù)調(diào)度層、平臺層; 平臺層:主要以Hadoop平臺為主,本發(fā)明主要用到Hadoop平臺中的yarn、spark和hdf s
作為發(fā)明的基礎(chǔ)功能支撐;每一個基于本發(fā)明的數(shù)據(jù)分析流程任務(wù)的運行均需三者配合完成資源調(diào)度、分配等工作,yarn是一種通用的資源管理系統(tǒng),可提供統(tǒng)一的資源管理和調(diào)度,spark是一個通用的并行計算框架,hdfs是一個高度容錯性的系統(tǒng);hdfs非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用,實現(xiàn)流式讀取文件系統(tǒng)數(shù)據(jù)的目的。
[0019]任務(wù)調(diào)度層:為本發(fā)明的主體部分,包好校驗?zāi)K、解析模塊、任務(wù)調(diào)度模塊和算法包;其中,校驗?zāi)K提供數(shù)據(jù)分析流程的是否符合流程設(shè)計規(guī)則的校驗功能,符合校驗規(guī)則的部分,可以進入解析模塊;解析模塊提供將界面層生成的數(shù)據(jù)分析流程的轉(zhuǎn)換為可執(zhí)行的數(shù)據(jù)分析流程任務(wù)的解析功能,將整個界面層生產(chǎn)的數(shù)據(jù)分析流程模型轉(zhuǎn)化為一個DAG有向無環(huán)圖,由解析模塊解析這個DAG圖,生成完整的spark數(shù)據(jù)分析流程,解析模塊讀入整個前臺頁面生成的xml文檔,構(gòu)建一個駐留內(nèi)存的樹結(jié)構(gòu),使用DOM接口來操作這個樹結(jié)構(gòu);解析驗證是根據(jù)xml,將各步驟解析成有向無環(huán)圖,end表示終結(jié)流程,解析模塊中采用dom4j解析文件;任務(wù)調(diào)度模塊根據(jù)解析模塊生成的完整的spark數(shù)據(jù)分析流程,調(diào)度算法包中的各類數(shù)據(jù)分析算法接口,組成完整的可運行的spark分析流程任務(wù)程序,并調(diào)度底層spar