一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法,包括:獲取用于數(shù)據(jù)處理的節(jié)點(diǎn);依據(jù)數(shù)據(jù)處理需求連接所述節(jié)點(diǎn),設(shè)置所述節(jié)點(diǎn)參數(shù),形成工作流;觸發(fā)執(zhí)行引擎運(yùn)行所述工作流,輸出處理結(jié)果。本發(fā)明將傳統(tǒng)數(shù)據(jù)分析過程進(jìn)行封裝,使用可視化的可拖拽編輯的工作流進(jìn)行數(shù)據(jù)處理和挖掘工作,將計(jì)算過程和結(jié)果放置在內(nèi)存中,為用戶提供了更敏捷、易用的使用體驗(yàn)。本發(fā)明還公開了一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理系統(tǒng)。
【專利說明】
一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)的浪潮下,金融行業(yè)也進(jìn)入大數(shù)據(jù)時(shí)代。面對迅速增長的數(shù)據(jù)量,如何從積累的數(shù)據(jù)中發(fā)掘有用的信息,進(jìn)而利用其進(jìn)行進(jìn)一步的輔助經(jīng)營、客戶營銷、欺詐檢測、降低成本等成為金融行業(yè)面臨的挑戰(zhàn)和問題。
[0003]目前,在對數(shù)據(jù)進(jìn)行處理的過程中,用戶需要編寫程序代碼進(jìn)行處理和分析數(shù)據(jù)的操作,對用戶要求門檻較高,且人工編寫程序容易出錯,時(shí)間成本較高,程序很難復(fù)用,對于程序或者參數(shù)進(jìn)行調(diào)整后,需要在整個原始數(shù)據(jù)上執(zhí)行,不能對一些可復(fù)用的中間數(shù)據(jù)結(jié)果進(jìn)行復(fù)用。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供了一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法,將傳統(tǒng)數(shù)據(jù)分析過程進(jìn)行封裝,使用可視化的可拖拽編輯的工作流進(jìn)行數(shù)據(jù)處理和挖掘工作,將計(jì)算過程和結(jié)果放置在內(nèi)存中,為用戶提供了更敏捷、易用的使用體驗(yàn)。
[0005]本發(fā)明提供了一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法,包括:
[0006]獲取用于數(shù)據(jù)處理的節(jié)點(diǎn);
[0007]依據(jù)數(shù)據(jù)處理需求連接所述節(jié)點(diǎn),設(shè)置所述節(jié)點(diǎn)參數(shù),形成工作流;
[0008]觸發(fā)執(zhí)行弓I擎運(yùn)行所述工作流,輸出處理結(jié)果。
[0009]優(yōu)選地,所述獲取用于數(shù)據(jù)處理的節(jié)點(diǎn)具體為:
[0010]添加和/或刪除用于數(shù)據(jù)處理的節(jié)點(diǎn)。
[0011]優(yōu)選地,所述依據(jù)數(shù)據(jù)處理需求連接節(jié)點(diǎn)包括:
[0012]獲取觸發(fā)第一節(jié)點(diǎn)至第二節(jié)點(diǎn)的運(yùn)行軌跡;
[0013]依據(jù)所述運(yùn)行軌跡生成所述第一節(jié)點(diǎn)至所述第二節(jié)點(diǎn)的單向箭頭。
[0014]優(yōu)選地,所述設(shè)置所述節(jié)點(diǎn)參數(shù)包括:
[0015]設(shè)置節(jié)點(diǎn)形狀的描述參數(shù)、顏色參數(shù)、位置參數(shù)、路徑參數(shù)、元信息參數(shù)和數(shù)據(jù)挖掘算法參數(shù)。
[0016]優(yōu)選地,所述觸發(fā)執(zhí)行引擎運(yùn)行所述工作流,輸出處理結(jié)果包括:
[0017]解析所述工作流,根據(jù)節(jié)點(diǎn)的連接順序定義節(jié)點(diǎn)間相互依賴關(guān)系;
[0018]依據(jù)所述節(jié)點(diǎn)依賴關(guān)系、節(jié)點(diǎn)元信息和節(jié)點(diǎn)參數(shù)生成內(nèi)存計(jì)算框架可執(zhí)行的代碼;
[0019]將所述代碼分發(fā)到內(nèi)存計(jì)算集群中進(jìn)行執(zhí)行,輸出執(zhí)行結(jié)果。
[0020]—種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理系統(tǒng),包括:
[0021 ]第一獲取單元,用于獲取用于數(shù)據(jù)處理的節(jié)點(diǎn);
[0022]形成單元,用于依據(jù)數(shù)據(jù)處理需求連接所述節(jié)點(diǎn),設(shè)置所述節(jié)點(diǎn)參數(shù),形成工作流;
[0023]觸發(fā)單元,用于觸發(fā)執(zhí)行引擎運(yùn)行所述工作流,輸出處理結(jié)果。
[0024]優(yōu)選地,所述第一獲取單元具體用于添加和/或刪除用于數(shù)據(jù)處理的節(jié)點(diǎn)。
[0025]優(yōu)選地,所述形成單元包括:
[0026]第二獲取單元,用于獲取觸發(fā)第一節(jié)點(diǎn)至第二節(jié)點(diǎn)的運(yùn)行軌跡;
[0027]第一生成單元,依據(jù)所述運(yùn)行軌跡生成所述第一節(jié)點(diǎn)至所述第二節(jié)點(diǎn)的單向箭頭。
[0028]優(yōu)選地,所述形成單元還包括:
[0029]設(shè)置單元,用于設(shè)置節(jié)點(diǎn)形狀的描述參數(shù)、顏色參數(shù)、位置參數(shù)、路徑參數(shù)、元信息參數(shù)和數(shù)據(jù)挖掘算法參數(shù)。
[0030]優(yōu)選地,所述觸發(fā)單元包括:
[0031]解析單元,用于解析所述工作流,根據(jù)節(jié)點(diǎn)的連接順序定義節(jié)點(diǎn)間相互依賴關(guān)系;
[0032]第二生成單元,用于依據(jù)所述節(jié)點(diǎn)依賴關(guān)系、節(jié)點(diǎn)元信息和節(jié)點(diǎn)參數(shù)生成內(nèi)存計(jì)算框架可執(zhí)行的代碼;
[0033]執(zhí)行單元,用于將所述代碼分發(fā)到內(nèi)存計(jì)算集群中進(jìn)行執(zhí)行,輸出執(zhí)行結(jié)果。
[0034]由上述方案可知,本發(fā)明提供的一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法,通過獲取用于數(shù)據(jù)處理的節(jié)點(diǎn),并根據(jù)數(shù)據(jù)處理的需求連接節(jié)點(diǎn),設(shè)置節(jié)點(diǎn)參數(shù),生成工作流,然后觸發(fā)執(zhí)行引擎運(yùn)行生成的工作流,輸出數(shù)據(jù)處理結(jié)果,使用可視化的可拖拽編輯的工作流進(jìn)行數(shù)據(jù)處理和挖掘工作,通過執(zhí)行引擎將計(jì)算過程和結(jié)果放置在內(nèi)存中,為用戶提供了更敏捷、易用的使用體驗(yàn)。
【附圖說明】
[0035]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0036]圖1為本發(fā)明實(shí)施例一公開的一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法的流程圖;
[0037]圖2為本發(fā)明實(shí)施例二公開的一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法的流程圖;
[0038]圖3為本發(fā)明實(shí)施例一公開的一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理系統(tǒng)的結(jié)構(gòu)示意圖;
[0039]圖4為本發(fā)明實(shí)施例二公開的一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0040]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0041]如圖1所示,為本發(fā)明實(shí)施例一公開的一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法,包括:
[0042]SlOl、獲取用于數(shù)據(jù)處理的節(jié)點(diǎn);
[0043]當(dāng)需要對大數(shù)據(jù)進(jìn)行數(shù)據(jù)處理時(shí),根據(jù)數(shù)據(jù)處理的需求選擇相應(yīng)的節(jié)點(diǎn),獲取的每個節(jié)點(diǎn)都承擔(dān)著數(shù)據(jù)處理任務(wù),每個節(jié)點(diǎn)都存儲著其對應(yīng)的輸出數(shù)據(jù)集的元信息。元信息保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和類型,包括每條記錄的每類的名字,每列的角色,以及每列的數(shù)據(jù)類型。節(jié)點(diǎn)保存著一個標(biāo)志位,標(biāo)志其所對應(yīng)的數(shù)據(jù)集是否為最新和有效的。
[0044 ]節(jié)點(diǎn)按功能可分為輸入輸出節(jié)點(diǎn)、基本處理節(jié)點(diǎn)和數(shù)據(jù)挖掘節(jié)點(diǎn)。其中:輸入輸出節(jié)點(diǎn)定義數(shù)據(jù)的來源以及要導(dǎo)出的位置,支持多種存儲編碼、格式和方式。
[0045]基本處理節(jié)點(diǎn)包括Filter節(jié)點(diǎn)、Un1n節(jié)點(diǎn)、Map節(jié)點(diǎn)、FlapMap節(jié)點(diǎn)、ReduceByKey節(jié)點(diǎn)、Jo in節(jié)點(diǎn)、Samp I e節(jié)點(diǎn)。
[0046]Filter節(jié)點(diǎn)實(shí)現(xiàn)按照用戶定義的條件進(jìn)行過濾,結(jié)果為滿足特定條件的數(shù)據(jù)集。
[0047]Un1n節(jié)點(diǎn)對兩個結(jié)構(gòu)一致的數(shù)據(jù)集進(jìn)行聯(lián)合操作,結(jié)果為兩個輸入數(shù)據(jù)集的合集。
[0048]Map節(jié)點(diǎn)對輸入數(shù)據(jù)集中的每個元素都執(zhí)行一個特定的函數(shù)來產(chǎn)生一個新的數(shù)據(jù)集。任何原數(shù)據(jù)集中的元素在新數(shù)據(jù)集中都有且只有一個元素與之對應(yīng)。
[0049]FlatMap節(jié)點(diǎn)與Map節(jié)點(diǎn)類似,輸入數(shù)據(jù)集中的一個元素經(jīng)FlatMap處理后可生成多個元素來構(gòu)建新的數(shù)據(jù)集,可用于寬表拆分等操作。
[0050]ReduceByKey節(jié)點(diǎn)對應(yīng)一個二元操作,對由(鍵,值)對形式的元素組成的數(shù)據(jù)集進(jìn)行操作,將鍵相同的元素的值傳入輸入函數(shù),同時(shí)產(chǎn)生一個新的值,新產(chǎn)生的值與數(shù)據(jù)集中下一個元素再進(jìn)行相同操作,直到一個鍵只有一個值為止。
[0051 ] Join節(jié)點(diǎn)提供兩個數(shù)據(jù)集的自然連接操作。
[0052]Sample節(jié)點(diǎn)按照用戶設(shè)定的采用比例,進(jìn)行有放回的或無放回的隨機(jī)采樣,輸出為采用的結(jié)果數(shù)據(jù)集。
[0053]數(shù)據(jù)挖掘節(jié)點(diǎn)包括K-Means、Naive Bayes等實(shí)現(xiàn)數(shù)據(jù)挖掘算法的節(jié)點(diǎn)。
[0054]S102、依據(jù)數(shù)據(jù)處理需求連接節(jié)點(diǎn),設(shè)置節(jié)點(diǎn)參數(shù),形成工作流;
[0055]獲取到用于數(shù)據(jù)處理的節(jié)點(diǎn)后,依據(jù)數(shù)據(jù)處理的需求對節(jié)點(diǎn)進(jìn)行連接,不同的節(jié)點(diǎn)連接表示不同的數(shù)據(jù)處理過程,同時(shí)對獲取的節(jié)點(diǎn)依據(jù)節(jié)點(diǎn)的屬性進(jìn)行相應(yīng)的參數(shù)設(shè)置,形成工作流。工作流是一個有向無環(huán)圖,由節(jié)點(diǎn)和帶箭頭的連線組成,每條連線連接著兩個不同的節(jié)點(diǎn)。
[0056]S103、觸發(fā)執(zhí)行引擎運(yùn)行工作流,輸出處理結(jié)果。
[0057]形成工作流后,基于內(nèi)存計(jì)算觸發(fā)執(zhí)行引擎對工作流進(jìn)行運(yùn)行,最終輸出數(shù)據(jù)處理結(jié)果。
[0058]綜上所述,在上述實(shí)施例中,通過獲取用于數(shù)據(jù)處理的節(jié)點(diǎn),并根據(jù)數(shù)據(jù)處理的需求連接節(jié)點(diǎn),設(shè)置節(jié)點(diǎn)參數(shù),生成工作流,然后觸發(fā)執(zhí)行引擎運(yùn)行生成的工作流,輸出數(shù)據(jù)處理結(jié)果,使用可視化的可拖拽編輯的工作流進(jìn)行數(shù)據(jù)處理和挖掘工作,通過執(zhí)行引擎將計(jì)算過程和結(jié)果放置在內(nèi)存中,為用戶提供了更敏捷、易用的使用體驗(yàn)。
[0059]如圖2所示,為本發(fā)明實(shí)施例二公開的一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法,包括:
[0060]S201、添加和/或刪除用于數(shù)據(jù)處理的節(jié)點(diǎn);
[0061]當(dāng)需要對大數(shù)據(jù)進(jìn)行數(shù)據(jù)處理時(shí),根據(jù)數(shù)據(jù)處理的需求,通過添加和/或刪除的方式選擇相應(yīng)的節(jié)點(diǎn)。獲取的每個節(jié)點(diǎn)都承擔(dān)著數(shù)據(jù)處理任務(wù),每個節(jié)點(diǎn)都存儲著其對應(yīng)的輸出數(shù)據(jù)集的元信息。元信息保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和類型,包括每條記錄的每類的名字,每列的角色,以及每列的數(shù)據(jù)類型。節(jié)點(diǎn)保存著一個標(biāo)志位,標(biāo)志其所對應(yīng)的數(shù)據(jù)集是否為最新和有效的。
[0062 ]節(jié)點(diǎn)按功能可分為輸入輸出節(jié)點(diǎn)、基本處理節(jié)點(diǎn)和數(shù)據(jù)挖掘節(jié)點(diǎn)。其中:輸入輸出節(jié)點(diǎn)定義數(shù)據(jù)的來源以及要導(dǎo)出的位置,支持多種存儲編碼、格式和方式。
[0063]基本處理節(jié)點(diǎn)包括Filter節(jié)點(diǎn)、Un1n節(jié)點(diǎn)、Map節(jié)點(diǎn)、FlapMap節(jié)點(diǎn)、ReduceByKey節(jié)點(diǎn)、Jo in節(jié)點(diǎn)、Samp I e節(jié)點(diǎn)。
[0064]Filter節(jié)點(diǎn)實(shí)現(xiàn)按照用戶定義的條件進(jìn)行過濾,結(jié)果為滿足特定條件的數(shù)據(jù)集。
[0065]Un1n節(jié)點(diǎn)對兩個結(jié)構(gòu)一致的數(shù)據(jù)集進(jìn)行聯(lián)合操作,結(jié)果為兩個輸入數(shù)據(jù)集的合集。
[0066]Map節(jié)點(diǎn)對輸入數(shù)據(jù)集中的每個元素都執(zhí)行一個特定的函數(shù)來產(chǎn)生一個新的數(shù)據(jù)集。任何原數(shù)據(jù)集中的元素在新數(shù)據(jù)集中都有且只有一個元素與之對應(yīng)。
[0067]FlatMap節(jié)點(diǎn)與Map節(jié)點(diǎn)類似,輸入數(shù)據(jù)集中的一個元素經(jīng)FlatMap處理后可生成多個元素來構(gòu)建新的數(shù)據(jù)集,可用于寬表拆分等操作。
[0068]ReduceByKey節(jié)點(diǎn)對應(yīng)一個二元操作,對由(鍵,值)對形式的元素組成的數(shù)據(jù)集進(jìn)行操作,將鍵相同的元素的值傳入輸入函數(shù),同時(shí)產(chǎn)生一個新的值,新產(chǎn)生的值與數(shù)據(jù)集中下一個元素再進(jìn)行相同操作,直到一個鍵只有一個值為止。
[0069]Join節(jié)點(diǎn)提供兩個數(shù)據(jù)集的自然連接操作。
[0070]Sample節(jié)點(diǎn)按照用戶設(shè)定的采用比例,進(jìn)行有放回的或無放回的隨機(jī)采樣,輸出為采用的結(jié)果數(shù)據(jù)集。
[0071 ] 數(shù)據(jù)挖掘節(jié)點(diǎn)包括K-Means、Naive Bayes等實(shí)現(xiàn)數(shù)據(jù)挖掘算法的節(jié)點(diǎn)。
[0072]S202、獲取觸發(fā)第一節(jié)點(diǎn)至第二節(jié)點(diǎn)的運(yùn)行軌跡;
[0073]獲取到用于數(shù)據(jù)處理的節(jié)點(diǎn)后,用戶根據(jù)數(shù)據(jù)處理的需求,通過托拽的可視化的編輯界面定義節(jié)點(diǎn)之間的連線,即獲取觸發(fā)第一節(jié)點(diǎn)至第二節(jié)點(diǎn)的運(yùn)行軌跡。
[0074]S203、依據(jù)運(yùn)行軌跡生成第一節(jié)點(diǎn)至所述第二節(jié)點(diǎn)的單向箭頭;
[0075]依據(jù)用戶托拽的運(yùn)行軌跡生成第一節(jié)點(diǎn)至第二節(jié)點(diǎn)的單向箭頭。
[0076]S204、設(shè)置節(jié)點(diǎn)形狀的描述參數(shù)、顏色參數(shù)、位置參數(shù)、路徑參數(shù)、元信息參數(shù)和數(shù)據(jù)挖掘算法參數(shù),形成工作流;
[0077]然后對每個節(jié)點(diǎn)的形狀的描述、顏色、位置、路徑、元信息和數(shù)據(jù)挖掘算法進(jìn)行參數(shù)設(shè)置,形成數(shù)據(jù)處理的工作流。在實(shí)現(xiàn)中,工作流是JSON格式的數(shù)據(jù),每個節(jié)點(diǎn)和帶箭頭的連線都有一個id,連線中記錄著所連接的兩個節(jié)點(diǎn)的id。
[0078]S205、解析工作流,根據(jù)節(jié)點(diǎn)的連接順序定義節(jié)點(diǎn)間相互依賴關(guān)系;
[0079]形成工作流后,執(zhí)行引擎第一步完成從工作流的邏輯模型到可執(zhí)行代碼的轉(zhuǎn)換。首先對工作流進(jìn)行解析,根據(jù)節(jié)點(diǎn)的連接順序定義節(jié)點(diǎn)間的相互依賴關(guān)系。
[0080]S206、依據(jù)節(jié)點(diǎn)依賴關(guān)系、節(jié)點(diǎn)元信息和節(jié)點(diǎn)參數(shù)生成內(nèi)存計(jì)算框架可執(zhí)行的代碼;
[0081]然后根據(jù)節(jié)點(diǎn)的依賴關(guān)系、節(jié)點(diǎn)的元信息和用戶定義的節(jié)點(diǎn)參數(shù),生成內(nèi)存計(jì)算框架可執(zhí)行的代碼。
[0082]S207、將代碼分發(fā)到內(nèi)存計(jì)算集群中進(jìn)行執(zhí)行,輸出執(zhí)行結(jié)果。
[0083]執(zhí)行引擎第二步將之前生成的代碼分發(fā)到內(nèi)存計(jì)算集群中進(jìn)行實(shí)際執(zhí)行,每個節(jié)點(diǎn)對于的臨時(shí)結(jié)果作為整個執(zhí)行流程的中間結(jié)果,會根據(jù)需要或者用戶設(shè)置存儲在內(nèi)存中,以便加速下次處理。
[0084]在實(shí)際的數(shù)據(jù)處理過程中,用戶可通過對工作流進(jìn)行修改,實(shí)現(xiàn)快速調(diào)整數(shù)據(jù)處理和分析流程,具體可通過添加、刪除節(jié)點(diǎn)或改變節(jié)點(diǎn)連接,來改變工作流的拓?fù)浣Y(jié)構(gòu),或修改節(jié)點(diǎn)參數(shù),或修改輸入數(shù)據(jù),標(biāo)志節(jié)點(diǎn)有效性的標(biāo)志位同時(shí)改變,執(zhí)行引擎執(zhí)行時(shí),根據(jù)內(nèi)存中中間臨時(shí)結(jié)果的有效性,選擇性的執(zhí)行和更新中間臨時(shí)結(jié)果,對于沒有受到修改工作流影響的節(jié)點(diǎn),執(zhí)行引擎直接引用之前結(jié)果而不會再次執(zhí)行。
[0085]綜上所述,在上述實(shí)施例中,以瀏覽器作為用戶操作的載體,不需要額外安裝客戶端軟件,易于在用戶間推廣。將編寫代碼處理數(shù)據(jù)方式進(jìn)行了抽象和提升,提供可視化的、通過拖拽形成工作流的方式,極大提升了易用性,降低數(shù)據(jù)分析的門檻?;趦?nèi)存計(jì)算,每個節(jié)點(diǎn)對應(yīng)的中間數(shù)據(jù)結(jié)果都緩存在內(nèi)存中,對分析過程調(diào)整時(shí)可迅速得到結(jié)果。可對工作流節(jié)點(diǎn)進(jìn)行擴(kuò)充,支持更多的數(shù)據(jù)操作和算法,順應(yīng)大數(shù)據(jù)處理和互聯(lián)網(wǎng)金融的趨勢。
[0086]如圖3所示,為本發(fā)明實(shí)施例一公開的一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理系統(tǒng),包括:
[0087]第一獲取單元301,用于獲取用于數(shù)據(jù)處理的節(jié)點(diǎn);
[0088]當(dāng)需要對大數(shù)據(jù)進(jìn)行數(shù)據(jù)處理時(shí),根據(jù)數(shù)據(jù)處理的需求選擇相應(yīng)的節(jié)點(diǎn),獲取的每個節(jié)點(diǎn)都承擔(dān)著數(shù)據(jù)處理任務(wù),每個節(jié)點(diǎn)都存儲著其對應(yīng)的輸出數(shù)據(jù)集的元信息。元信息保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和類型,包括每條記錄的每類的名字,每列的角色,以及每列的數(shù)據(jù)類型。節(jié)點(diǎn)保存著一個標(biāo)志位,標(biāo)志其所對應(yīng)的數(shù)據(jù)集是否為最新和有效的。
[0089 ]節(jié)點(diǎn)按功能可分為輸入輸出節(jié)點(diǎn)、基本處理節(jié)點(diǎn)和數(shù)據(jù)挖掘節(jié)點(diǎn)。其中,輸入輸出節(jié)點(diǎn)定義數(shù)據(jù)的來源以及要導(dǎo)出的位置,支持多種存儲編碼、格式和方式。
[0090]基本處理節(jié)點(diǎn)包括Filter節(jié)點(diǎn)、Un1n節(jié)點(diǎn)、Map節(jié)點(diǎn)、FlapMap節(jié)點(diǎn)、ReduceByKey節(jié)點(diǎn)、Jo in節(jié)點(diǎn)、Samp I e節(jié)點(diǎn)。
[0091]Filter節(jié)點(diǎn)實(shí)現(xiàn)按照用戶定義的條件進(jìn)行過濾,結(jié)果為滿足特定條件的數(shù)據(jù)集。
[0092]Un1n節(jié)點(diǎn)對兩個結(jié)構(gòu)一致的數(shù)據(jù)集進(jìn)行聯(lián)合操作,結(jié)果為兩個輸入數(shù)據(jù)集的合集。
[0093]Map節(jié)點(diǎn)對輸入數(shù)據(jù)集中的每個元素都執(zhí)行一個特定的函數(shù)來產(chǎn)生一個新的數(shù)據(jù)集。任何原數(shù)據(jù)集中的元素在新數(shù)據(jù)集中都有且只有一個元素與之對應(yīng)。
[0094]FlatMap節(jié)點(diǎn)與Map節(jié)點(diǎn)類似,輸入數(shù)據(jù)集中的一個元素經(jīng)FlatMap處理后可生成多個元素來構(gòu)建新的數(shù)據(jù)集,可用于寬表拆分等操作。
[0095]ReduceByKey節(jié)點(diǎn)對應(yīng)一個二元操作,對由(鍵,值)對形式的元素組成的數(shù)據(jù)集進(jìn)行操作,將鍵相同的元素的值傳入輸入函數(shù),同時(shí)產(chǎn)生一個新的值,新產(chǎn)生的值與數(shù)據(jù)集中下一個元素再進(jìn)行相同操作,直到一個鍵只有一個值為止。
[0096]Join節(jié)點(diǎn)提供兩個數(shù)據(jù)集的自然連接操作。
[0097]Sample節(jié)點(diǎn)按照用戶設(shè)定的采用比例,進(jìn)行有放回的或無放回的隨機(jī)采樣,輸出為采用的結(jié)果數(shù)據(jù)集。
[0098]數(shù)據(jù)挖掘節(jié)點(diǎn)包括K-Means、Naive Bayes等實(shí)現(xiàn)數(shù)據(jù)挖掘算法的節(jié)點(diǎn)。
[0099]形成單元302,用于依據(jù)數(shù)據(jù)處理需求連接節(jié)點(diǎn),設(shè)置節(jié)點(diǎn)參數(shù),形成工作流;
[0100]獲取到用于數(shù)據(jù)處理的節(jié)點(diǎn)后,依據(jù)數(shù)據(jù)處理的需求對節(jié)點(diǎn)進(jìn)行連接,不同的節(jié)點(diǎn)連接表示不同的數(shù)據(jù)處理過程,同時(shí)對獲取的節(jié)點(diǎn)依據(jù)節(jié)點(diǎn)的屬性進(jìn)行相應(yīng)的參數(shù)設(shè)置,形成工作流。工作流是一個有向無環(huán)圖,由節(jié)點(diǎn)和帶箭頭的連線組成,每條連線連接著兩個不同的節(jié)點(diǎn)。
[0101]觸發(fā)單元303,用于觸發(fā)執(zhí)行引擎運(yùn)行工作流,輸出處理結(jié)果。
[0102]形成工作流后,基于內(nèi)存計(jì)算觸發(fā)執(zhí)行引擎對工作流進(jìn)行運(yùn)行,最終輸出數(shù)據(jù)處理結(jié)果。
[0103]綜上所述,在上述實(shí)施例中,通過獲取用于數(shù)據(jù)處理的節(jié)點(diǎn),并根據(jù)數(shù)據(jù)處理的需求連接節(jié)點(diǎn),設(shè)置節(jié)點(diǎn)參數(shù),生成工作流,然后觸發(fā)執(zhí)行引擎運(yùn)行生成的工作流,輸出數(shù)據(jù)處理結(jié)果,使用可視化的可拖拽編輯的工作流進(jìn)行數(shù)據(jù)處理和挖掘工作,通過執(zhí)行引擎將計(jì)算過程和結(jié)果放置在內(nèi)存中,為用戶提供了更敏捷、易用的使用體驗(yàn)。
[0104]如圖4所示,為本發(fā)明實(shí)施例二公開的一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理系統(tǒng),包括:
[0105]第一獲取單元401,用于添加和/或刪除用于數(shù)據(jù)處理的節(jié)點(diǎn);
[0106]當(dāng)需要對大數(shù)據(jù)進(jìn)行數(shù)據(jù)處理時(shí),根據(jù)數(shù)據(jù)處理的需求,通過添加和/或刪除的方式選擇相應(yīng)的節(jié)點(diǎn)。獲取的每個節(jié)點(diǎn)都承擔(dān)著數(shù)據(jù)處理任務(wù),每個節(jié)點(diǎn)都存儲著其對應(yīng)的輸出數(shù)據(jù)集的元信息。元信息保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和類型,包括每條記錄的每類的名字,每列的角色,以及每列的數(shù)據(jù)類型。節(jié)點(diǎn)保存著一個標(biāo)志位,標(biāo)志其所對應(yīng)的數(shù)據(jù)集是否為最新和有效的。
[0107]節(jié)點(diǎn)按功能可分為輸入輸出節(jié)點(diǎn)、基本處理節(jié)點(diǎn)和數(shù)據(jù)挖掘節(jié)點(diǎn)。其中,輸入輸出節(jié)點(diǎn)定義數(shù)據(jù)的來源以及要導(dǎo)出的位置,支持多種存儲編碼、格式和方式。
[0108]基本處理節(jié)點(diǎn)包括Filter節(jié)點(diǎn)、Un1n節(jié)點(diǎn)、Map節(jié)點(diǎn)、FlapMap節(jié)點(diǎn)、ReduceByKey節(jié)點(diǎn)、Jo in節(jié)點(diǎn)、Samp I e節(jié)點(diǎn)。
[0109]Filter節(jié)點(diǎn)實(shí)現(xiàn)按照用戶定義的條件進(jìn)行過濾,結(jié)果為滿足特定條件的數(shù)據(jù)集。
[0110]Un1n節(jié)點(diǎn)對兩個結(jié)構(gòu)一致的數(shù)據(jù)集進(jìn)行聯(lián)合操作,結(jié)果為兩個輸入數(shù)據(jù)集的合集。
[0111 ] Map節(jié)點(diǎn)對輸入數(shù)據(jù)集中的每個元素都執(zhí)行一個特定的函數(shù)來產(chǎn)生一個新的數(shù)據(jù)集。任何原數(shù)據(jù)集中的元素在新數(shù)據(jù)集中都有且只有一個元素與之對應(yīng)。
[0112]FlatMap節(jié)點(diǎn)與Map節(jié)點(diǎn)類似,輸入數(shù)據(jù)集中的一個元素經(jīng)FlatMap處理后可生成多個元素來構(gòu)建新的數(shù)據(jù)集,可用于寬表拆分等操作。
[0113]ReduceByKey節(jié)點(diǎn)對應(yīng)一個二元操作,對由(鍵,值)對形式的元素組成的數(shù)據(jù)集進(jìn)行操作,將鍵相同的元素的值傳入輸入函數(shù),同時(shí)產(chǎn)生一個新的值,新產(chǎn)生的值與數(shù)據(jù)集中下一個元素再進(jìn)行相同操作,直到一個鍵只有一個值為止。
[0114]Join節(jié)點(diǎn)提供兩個數(shù)據(jù)集的自然連接操作。
[0115]Sample節(jié)點(diǎn)按照用戶設(shè)定的采用比例,進(jìn)行有放回的或無放回的隨機(jī)采樣,輸出為采用的結(jié)果數(shù)據(jù)集。
[0?16] 數(shù)據(jù)挖掘節(jié)點(diǎn)包括K-Means、Naive Bayes等實(shí)現(xiàn)數(shù)據(jù)挖掘算法的節(jié)點(diǎn)。
[0117]第二獲取單元402,用于獲取觸發(fā)第一節(jié)點(diǎn)至第二節(jié)點(diǎn)的運(yùn)行軌跡;
[0118]獲取到用于數(shù)據(jù)處理的節(jié)點(diǎn)后,用戶根據(jù)數(shù)據(jù)處理的需求,通過托拽的可視化的編輯界面定義節(jié)點(diǎn)之間的連線,即獲取觸發(fā)第一節(jié)點(diǎn)至第二節(jié)點(diǎn)的運(yùn)行軌跡。
[0119]第一生成單元403,用于依據(jù)所述運(yùn)行軌跡生成所述第一節(jié)點(diǎn)至所述第二節(jié)點(diǎn)的單向箭頭;
[0120]依據(jù)用戶托拽的運(yùn)行軌跡生成第一節(jié)點(diǎn)至第二節(jié)點(diǎn)的單向箭頭。
[0121 ]設(shè)置單元404,用于設(shè)置節(jié)點(diǎn)形狀的描述參數(shù)、顏色參數(shù)、位置參數(shù)、路徑參數(shù)、元信息參數(shù)和數(shù)據(jù)挖掘算法參數(shù),形成工作流;
[0122]然后對每個節(jié)點(diǎn)的形狀的描述、顏色、位置、路徑、元信息和數(shù)據(jù)挖掘算法進(jìn)行參數(shù)設(shè)置,形成數(shù)據(jù)處理的工作流。在實(shí)現(xiàn)中,工作流是JSON格式的數(shù)據(jù),每個節(jié)點(diǎn)和帶箭頭的連線都有一個id,連線中記錄著所連接的兩個節(jié)點(diǎn)的id。
[0123]解析單元405,用于解析所述工作流,根據(jù)節(jié)點(diǎn)的連接順序定義節(jié)點(diǎn)間相互依賴關(guān)系;
[0124]形成工作流后,執(zhí)行引擎第一步完成從工作流的邏輯模型到可執(zhí)行代碼的轉(zhuǎn)換。首先對工作流進(jìn)行解析,根據(jù)節(jié)點(diǎn)的連接順序定義節(jié)點(diǎn)間的相互依賴關(guān)系。
[0125]第二生成單元406,用于依據(jù)所述節(jié)點(diǎn)依賴關(guān)系、節(jié)點(diǎn)元信息和節(jié)點(diǎn)參數(shù)生成內(nèi)存計(jì)算框架可執(zhí)行的代碼;
[0126]然后根據(jù)節(jié)點(diǎn)的依賴關(guān)系、節(jié)點(diǎn)的元信息和用戶定義的節(jié)點(diǎn)參數(shù),生成內(nèi)存計(jì)算框架可執(zhí)行的代碼。
[0127]執(zhí)行單元407,用于將所述代碼分發(fā)到內(nèi)存計(jì)算集群中進(jìn)行執(zhí)行,輸出執(zhí)行結(jié)果。
[0128]執(zhí)行引擎第二步將之前生成的代碼分發(fā)到內(nèi)存計(jì)算集群中進(jìn)行實(shí)際執(zhí)行,每個節(jié)點(diǎn)對于的臨時(shí)結(jié)果作為整個執(zhí)行流程的中間結(jié)果,會根據(jù)需要或者用戶設(shè)置存儲在內(nèi)存中,以便加速下次處理。
[0129]在實(shí)際的數(shù)據(jù)處理過程中,用戶可通過對工作流進(jìn)行修改,實(shí)現(xiàn)快速調(diào)整數(shù)據(jù)處理和分析流程,具體可通過添加、刪除節(jié)點(diǎn)或改變節(jié)點(diǎn)連接,來改變工作流的拓?fù)浣Y(jié)構(gòu),或修改節(jié)點(diǎn)參數(shù),或修改輸入數(shù)據(jù),標(biāo)志節(jié)點(diǎn)有效性的標(biāo)志位同時(shí)改變,執(zhí)行引擎執(zhí)行時(shí),根據(jù)內(nèi)存中中間臨時(shí)結(jié)果的有效性,選擇性的執(zhí)行和更新中間臨時(shí)結(jié)果,對于沒有受到修改工作流影響的節(jié)點(diǎn),執(zhí)行引擎直接引用之前結(jié)果而不會再次執(zhí)行。
[0130]綜上所述,在上述實(shí)施例中,以瀏覽器作為用戶操作的載體,不需要額外安裝客戶端軟件,易于在用戶間推廣。將編寫代碼處理數(shù)據(jù)方式進(jìn)行了抽象和提升,提供可視化的、通過拖拽形成工作流的方式,極大提升了易用性,降低數(shù)據(jù)分析的門檻?;趦?nèi)存計(jì)算,每個節(jié)點(diǎn)對應(yīng)的中間數(shù)據(jù)結(jié)果都緩存在內(nèi)存中,對分析過程調(diào)整時(shí)可迅速得到結(jié)果??蓪ぷ髁鞴?jié)點(diǎn)進(jìn)行擴(kuò)充,支持更多的數(shù)據(jù)操作和算法,順應(yīng)大數(shù)據(jù)處理和互聯(lián)網(wǎng)金融的趨勢。
[0131]本實(shí)施例方法所述的功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個計(jì)算設(shè)備可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實(shí)施例對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,移動計(jì)算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0132]本說明書中各個實(shí)施例采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個實(shí)施例之間相同或相似部分互相參見即可。
[0133]對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
【主權(quán)項(xiàng)】
1.一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理方法,其特征在于,包括: 獲取用于數(shù)據(jù)處理的節(jié)點(diǎn); 依據(jù)數(shù)據(jù)處理需求連接所述節(jié)點(diǎn),設(shè)置所述節(jié)點(diǎn)參數(shù),形成工作流; 觸發(fā)執(zhí)行弓I擎運(yùn)行所述工作流,輸出處理結(jié)果。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取用于數(shù)據(jù)處理的節(jié)點(diǎn)具體為: 添加和/或刪除用于數(shù)據(jù)處理的節(jié)點(diǎn)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述依據(jù)數(shù)據(jù)處理需求連接節(jié)點(diǎn)包括: 獲取觸發(fā)第一節(jié)點(diǎn)至第二節(jié)點(diǎn)的運(yùn)行軌跡; 依據(jù)所述運(yùn)行軌跡生成所述第一節(jié)點(diǎn)至所述第二節(jié)點(diǎn)的單向箭頭。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述設(shè)置所述節(jié)點(diǎn)參數(shù)包括: 設(shè)置節(jié)點(diǎn)形狀的描述參數(shù)、顏色參數(shù)、位置參數(shù)、路徑參數(shù)、元信息參數(shù)和數(shù)據(jù)挖掘算法參數(shù)。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述觸發(fā)執(zhí)行引擎運(yùn)行所述工作流,輸出處理結(jié)果包括: 解析所述工作流,根據(jù)節(jié)點(diǎn)的連接順序定義節(jié)點(diǎn)間相互依賴關(guān)系; 依據(jù)所述節(jié)點(diǎn)依賴關(guān)系、節(jié)點(diǎn)元信息和節(jié)點(diǎn)參數(shù)生成內(nèi)存計(jì)算框架可執(zhí)行的代碼; 將所述代碼分發(fā)到內(nèi)存計(jì)算集群中進(jìn)行執(zhí)行,輸出執(zhí)行結(jié)果。6.一種基于內(nèi)存計(jì)算的大數(shù)據(jù)可視化處理系統(tǒng),其特征在于,包括: 第一獲取單元,用于獲取用于數(shù)據(jù)處理的節(jié)點(diǎn); 形成單元,用于依據(jù)數(shù)據(jù)處理需求連接所述節(jié)點(diǎn),設(shè)置所述節(jié)點(diǎn)參數(shù),形成工作流; 觸發(fā)單元,用于觸發(fā)執(zhí)行引擎運(yùn)行所述工作流,輸出處理結(jié)果。7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述第一獲取單元具體用于添加和/或刪除用于數(shù)據(jù)處理的節(jié)點(diǎn)。8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述形成單元包括: 第二獲取單元,用于獲取觸發(fā)第一節(jié)點(diǎn)至第二節(jié)點(diǎn)的運(yùn)行軌跡; 第一生成單元,用于依據(jù)所述運(yùn)行軌跡生成所述第一節(jié)點(diǎn)至所述第二節(jié)點(diǎn)的單向箭頭。9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述形成單元還包括: 設(shè)置單元,用于設(shè)置節(jié)點(diǎn)形狀的描述參數(shù)、顏色參數(shù)、位置參數(shù)、路徑參數(shù)、元信息參數(shù)和數(shù)據(jù)挖掘算法參數(shù)。10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述觸發(fā)單元包括: 解析單元,用于解析所述工作流,根據(jù)節(jié)點(diǎn)的連接順序定義節(jié)點(diǎn)間相互依賴關(guān)系;第二生成單元,用于依據(jù)所述節(jié)點(diǎn)依賴關(guān)系、節(jié)點(diǎn)元信息和節(jié)點(diǎn)參數(shù)生成內(nèi)存計(jì)算框架可執(zhí)行的代碼; 執(zhí)行單元,用于將所述代碼分發(fā)到內(nèi)存計(jì)算集群中進(jìn)行執(zhí)行,輸出執(zhí)行結(jié)果。
【文檔編號】G06F17/30GK105912588SQ201610203223
【公開日】2016年8月31日
【申請日】2016年3月31日
【發(fā)明人】趙維平, 劉龍, 王鑫毅, 鐘新斌, 于雪龍
【申請人】中國農(nóng)業(yè)銀行股份有限公司