一種大數(shù)據(jù)系統(tǒng)的制作方法
【專利摘要】提出一種大數(shù)據(jù)系統(tǒng),所述系統(tǒng)包括大數(shù)據(jù)基礎(chǔ)平臺(tái)、共享資源庫(kù)、可視化編輯與展示子系統(tǒng)、以及流程調(diào)度子系統(tǒng)。所述系統(tǒng)綜合現(xiàn)有各種大數(shù)據(jù)處理系統(tǒng),基于用戶編輯生成的數(shù)據(jù)處理流程調(diào)度程序資源和數(shù)據(jù)資源提交特定的大數(shù)據(jù)處理系統(tǒng)執(zhí)行數(shù)據(jù)處理,極大降低了大數(shù)據(jù)系統(tǒng)的使用門(mén)檻,并且使組織內(nèi)部大數(shù)據(jù)相關(guān)資源能方便共享,數(shù)據(jù)處理流程可復(fù)用可繼承。
【專利說(shuō)明】一種大數(shù)據(jù)系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)信息存儲(chǔ)與處理【技術(shù)領(lǐng)域】,具體涉及一種大數(shù)據(jù)系統(tǒng)。
【背景技術(shù)】
[0002]信息科技經(jīng)過(guò)60多年的發(fā)展,已滲透到各行業(yè)的方方面面。政治、經(jīng)濟(jì)活動(dòng)中很大一部分的活動(dòng)都與數(shù)據(jù)的創(chuàng)造、采集、傳輸和使用相關(guān),隨著網(wǎng)絡(luò)應(yīng)用日益深化,大數(shù)據(jù)應(yīng)用的影響日益擴(kuò)大。根據(jù)機(jī)構(gòu)測(cè)算,全世界數(shù)據(jù)總量以每?jī)赡攴环乃俣冗f增。換句話說(shuō),最近兩年產(chǎn)生的數(shù)據(jù)總量相當(dāng)于人類有史以來(lái)所有數(shù)據(jù)量的總和。在這個(gè)背景下,從公司戰(zhàn)略到產(chǎn)業(yè)生態(tài),從學(xué)術(shù)研究到生產(chǎn)實(shí)踐,從城鎮(zhèn)管理乃至國(guó)家治理,都將發(fā)生本質(zhì)的變化。
[0003]大數(shù)據(jù)指的是大小超出常規(guī)的數(shù)據(jù)工具獲取、存儲(chǔ)、管理和分析能力的數(shù)據(jù)集,并不是說(shuō)一定要超過(guò)特定TB值得數(shù)據(jù)集才能算是大數(shù)據(jù)。國(guó)際數(shù)據(jù)公司(IDC)從四個(gè)特征定義大數(shù)據(jù),即海量的數(shù)據(jù)規(guī)模(Volume)、快速的數(shù)據(jù)流轉(zhuǎn)和動(dòng)態(tài)的數(shù)據(jù)體系(Velocity)、多樣的數(shù)據(jù)類型(Variety)和巨大的數(shù)據(jù)價(jià)值(Value)。大數(shù)據(jù)幾乎滲透到國(guó)民經(jīng)濟(jì)的所有部門(mén),應(yīng)用領(lǐng)域涉及信息服務(wù)、智慧城市、金融、制造業(yè)、國(guó)家安全和科學(xué)研究等。但目前這些行業(yè)處理大數(shù)據(jù)時(shí),至少會(huì)面臨如下的問(wèn)題:
[0004]1.數(shù)據(jù)存儲(chǔ)與管理
[0005]大數(shù)據(jù)給存儲(chǔ)系統(tǒng)帶來(lái)了 3個(gè)方面的挑戰(zhàn):存儲(chǔ)規(guī)模大,通常達(dá)到PB (1,000ΤΒ)甚至EB(1,000PB)量級(jí);存儲(chǔ)管理復(fù)雜,需要兼顧結(jié)構(gòu)化、非結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù);上層應(yīng)用對(duì)存儲(chǔ)系統(tǒng)的性能、可靠性等指標(biāo)有不同的要求,而數(shù)據(jù)的大規(guī)模和高復(fù)雜度放大了達(dá)到這些指標(biāo)的技術(shù)難度。
[0006]3.數(shù)據(jù)分析處理
[0007]傳統(tǒng)的并行計(jì)算方法主要從體系結(jié)構(gòu)和編程語(yǔ)言的層面定義了一些較為底層的并行計(jì)算抽象和模型,但由于大數(shù)據(jù)處理問(wèn)題具有很有高層的數(shù)據(jù)特征和計(jì)算特征,因此大數(shù)據(jù)處理需要更多地結(jié)合這些高層特征考慮更為高層的計(jì)算模式。大數(shù)據(jù)處理包括以下典型的特征和維度:
[0008]?數(shù)據(jù)結(jié)構(gòu)特征
[0009]可分為結(jié)構(gòu)化數(shù)據(jù)處理、半結(jié)構(gòu)化數(shù)據(jù)處理與非結(jié)構(gòu)化數(shù)據(jù)處理。
[0010]?數(shù)據(jù)獲取處理方式
[0011]按照數(shù)據(jù)獲取方式,大數(shù)據(jù)可分為批處理與流式計(jì)算方式。
[0012]?數(shù)據(jù)處理類型
[0013]從數(shù)據(jù)處理類型來(lái)看,大數(shù)據(jù)處理可分為傳統(tǒng)的查詢分析計(jì)算和復(fù)雜的數(shù)據(jù)挖掘分析計(jì)算。
[0014]?實(shí)時(shí)性
[0015]從數(shù)據(jù)計(jì)算響應(yīng)性能角度看,大數(shù)據(jù)處理可分為實(shí)時(shí)/準(zhǔn)實(shí)時(shí)與非實(shí)時(shí)計(jì)算,或者是聯(lián)機(jī)計(jì)算與離線計(jì)算。
[0016]籲并行計(jì)算體系結(jié)構(gòu)
[0017]由于需要支持大規(guī)模數(shù)據(jù)的存儲(chǔ)計(jì)算,大數(shù)據(jù)處理通常需要使用基于集群的分布式存儲(chǔ)與并行計(jì)算體系結(jié)構(gòu)和硬件平臺(tái)。
[0018]針對(duì)如上問(wèn)題,開(kāi)源社區(qū)和國(guó)內(nèi)外廠商都在進(jìn)行相應(yīng)的嘗試和努力。大數(shù)據(jù)查詢分析的典型系統(tǒng)包括Hadoop下的HBase和Hive, Facebook開(kāi)發(fā)的Cassandra, Google公司的Dremel, Cloudera公司的Impala ;此外為了實(shí)現(xiàn)更高性能的數(shù)據(jù)查詢分析,還出現(xiàn)了不少基于內(nèi)存的分布式數(shù)據(jù)存儲(chǔ)管理和查詢系統(tǒng),如UC Berkeley AMPLab的基于內(nèi)存計(jì)算引擎 Spark 的數(shù)據(jù)倉(cāng)庫(kù) Shark。還有 MPP (massively parallel processing)數(shù)據(jù)庫(kù),比如EMC 的 GreenPlum, HP 的 Vertica0
[0019]最適合于大數(shù)據(jù)批處理的計(jì)算模式是MapReduce。MapReduce是一個(gè)單輸入、兩階段(Map和Reduce)的數(shù)據(jù)處理過(guò)程。MapReduce的簡(jiǎn)單易用性使其成為目前大數(shù)據(jù)處理最為成功、最廣為接受使用的主流并行計(jì)算模式。在開(kāi)源社區(qū)的努力下,Hadoop系統(tǒng)目前已發(fā)展成為較為成熟的大數(shù)據(jù)處理平臺(tái),并已發(fā)展成一個(gè)包含眾多數(shù)據(jù)處理工具和環(huán)境的完整的生態(tài)系統(tǒng)。Spark也是一個(gè)批處理系統(tǒng),在性能方面比Hadoop MapReduce有很大提升,但是其易用性及穩(wěn)定性方面目前仍不如Hadoop MapReduce。
[0020]流式計(jì)算是一種高實(shí)時(shí)性的計(jì)算模式,需要對(duì)一定時(shí)間窗口內(nèi)產(chǎn)生的新數(shù)據(jù)完成實(shí)時(shí)的計(jì)算處理,避免造成數(shù)據(jù)堆積和丟失。Facebook的Scribe和Apache的Flume都提供了機(jī)制來(lái)構(gòu)建日志數(shù)據(jù)處理流圖。通用的流式計(jì)算系統(tǒng)是Twitter公司的Storm、Yahoo公司的 S4、以及 UC Berkeley AMPLab 的 Spark Streaming。
[0021]上述這種基礎(chǔ)平臺(tái)級(jí)的系統(tǒng)會(huì)不斷增多,每個(gè)都有自己?jiǎn)为?dú)的任務(wù)提交與管理方式,而且在系統(tǒng)使用方面不友好,需要有一定的Iinux操作和編程經(jīng)驗(yàn)。上述平臺(tái)都側(cè)重于解決一種應(yīng)用場(chǎng)景,而現(xiàn)實(shí)中大數(shù)據(jù)分析及應(yīng)用一般都是混合型場(chǎng)景,比如既包含批處理又包含查詢分析,這就造成組織內(nèi)部往往會(huì)部署多種大數(shù)據(jù)平臺(tái),而且每個(gè)平臺(tái)都沒(méi)有完善的任務(wù)和數(shù)據(jù)共享的機(jī)制。這至少會(huì)帶來(lái)如下的問(wèn)題:
[0022]第一,大數(shù)據(jù)平臺(tái)使用門(mén)檻較高,擅長(zhǎng)大數(shù)據(jù)分析的人往往很難掌握操作方法,阻礙了大數(shù)據(jù)平臺(tái)的普及。
[0023]第二,組織內(nèi)大數(shù)據(jù)分析及處理的相關(guān)代碼、腳本和數(shù)據(jù)沒(méi)有一種共享機(jī)制,每個(gè)任務(wù)都需要從頭做起,知識(shí)無(wú)法積累,不具有持續(xù)性;
[0024]第三,目前基于上述大數(shù)據(jù)平臺(tái)的數(shù)據(jù)處理需要編寫(xiě)相關(guān)程序或者腳本,在描述復(fù)雜數(shù)據(jù)處理流程時(shí)極為不便,這也為后續(xù)的維護(hù)及修改造成很大困難。
【發(fā)明內(nèi)容】
[0025]為了解決上述現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明提出了一種大數(shù)據(jù)系統(tǒng),降低了大數(shù)據(jù)基礎(chǔ)平臺(tái)的使用門(mén)檻,使組織內(nèi)部大數(shù)據(jù)相關(guān)資源能方便共享,數(shù)據(jù)處理流程可復(fù)用可繼承,且能夠?yàn)橛脩籼峁┮环N可視化的編輯和展示方式。
[0026]所述系統(tǒng)包括:大數(shù)據(jù)基礎(chǔ)平臺(tái)、共享資源庫(kù)、可視化編輯與展示子系統(tǒng)、以及流程調(diào)度子系統(tǒng);
[0027]所述大數(shù)據(jù)基礎(chǔ)平臺(tái),用于從所述流程調(diào)度子系統(tǒng)接收程序資源,并執(zhí)行處理;
[0028]所述共享資源庫(kù),用于存儲(chǔ)所有用戶共享的數(shù)據(jù)資源、程序資源、以及由數(shù)據(jù)資源和程序資源組成的數(shù)據(jù)處理流程;
[0029]所述可視化編輯與展示子系統(tǒng),用于以圖形化的方式向用戶展示所述數(shù)據(jù)處理流程,以及為用戶提供編輯所述數(shù)據(jù)處理流程的用戶接口 ;
[0030]所述流程調(diào)度子系統(tǒng),用于調(diào)度所述數(shù)據(jù)處理流程,將所述程序資源提交所述大數(shù)據(jù)基礎(chǔ)平臺(tái)執(zhí)行。
[0031]特別地:
[0032]所述共享資源庫(kù)只存儲(chǔ)所述數(shù)據(jù)資源的存儲(chǔ)路徑信息,所述數(shù)據(jù)資源存儲(chǔ)在所述大數(shù)據(jù)基礎(chǔ)平臺(tái)中。
[0033]特別地:
[0034]所述數(shù)據(jù)處理流程是由所述數(shù)據(jù)資源和程序資源連接而成的有向無(wú)環(huán)圖;
[0035]所述編輯所述數(shù)據(jù)處理流程具體為:用戶根據(jù)需要組合所述數(shù)據(jù)資源和程序資源,構(gòu)成新的數(shù)據(jù)處理流程。
[0036]特別地:
[0037]所述大數(shù)據(jù)基礎(chǔ)平臺(tái)包括Hbase、Cassandra、Dremel、Impala、基于內(nèi)存計(jì)算引擎Spark的數(shù)據(jù)倉(cāng)庫(kù)Shark、GreenPlum、Vertica中的一種或者多種的組合。
[0038]本發(fā)明的有益效果是:本大數(shù)據(jù)系統(tǒng)極大降低了大數(shù)據(jù)系統(tǒng)的使用門(mén)檻,并且使組織內(nèi)部大數(shù)據(jù)相關(guān)資源能方便共享,數(shù)據(jù)處理流程可復(fù)用可繼承,是一套可持續(xù)的可累積的大數(shù)據(jù)系統(tǒng)。
【專利附圖】
【附圖說(shuō)明】
[0039]附圖1為本發(fā)明提出的大數(shù)據(jù)系統(tǒng)架構(gòu)圖。
[0040]附圖2為本發(fā)明提出的大數(shù)據(jù)系統(tǒng)中數(shù)據(jù)處理流程示意圖。
[0041]附圖3為本發(fā)明提出的大數(shù)據(jù)系統(tǒng)中數(shù)據(jù)處理流程的樹(shù)狀結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0042]下面將結(jié)合附圖,詳細(xì)說(shuō)明本發(fā)明提出的方案。
[0043]參見(jiàn)附圖2,其示出了本發(fā)明提出的一種大數(shù)據(jù)系統(tǒng),該系統(tǒng)包含四個(gè)部分:(1)大數(shù)據(jù)基礎(chǔ)平臺(tái);(2)共享資源庫(kù);(3)可視化編輯與展示子系統(tǒng);(4)流程調(diào)度子系統(tǒng)。
[0044]1.大數(shù)據(jù)基礎(chǔ)平臺(tái)
[0045]大數(shù)據(jù)平臺(tái)及計(jì)算模式,參考技術(shù)背景部分的介紹。組織可根據(jù)實(shí)際業(yè)務(wù)需求,選擇上述內(nèi)容中介紹的一種或多種平臺(tái)。
[0046]2.共享資源庫(kù)
[0047]共享資源庫(kù)包含所有用戶共享的資源,資源主要分為如下兩種:
[0048]?數(shù)據(jù)資源
[0049]指的是存儲(chǔ)在大數(shù)據(jù)基礎(chǔ)平臺(tái)中的數(shù)據(jù),比如存在于HDFS分布式文件系統(tǒng)中的一個(gè)文件或HBase分布式數(shù)據(jù)庫(kù)中的一張數(shù)據(jù)表。
[0050]?程序資源
[0051]指的是用戶編寫(xiě)的處理數(shù)據(jù)資源的程序、腳本及配置文件。
[0052]還包括,數(shù)據(jù)處理流程資源
[0053]由數(shù)據(jù)資源和程序資源組成,每個(gè)數(shù)據(jù)處理流程是由前述二者連接而成的有向無(wú)環(huán)圖,如圖2所示。
[0054]特別地,共享資源庫(kù)只存儲(chǔ)上述資源的描述,而不存儲(chǔ)具體的信息。比如,一個(gè)對(duì)應(yīng)HDFS文件的數(shù)據(jù)資源,共享資源庫(kù)中記錄的只是這個(gè)文件的路徑。資源共享機(jī)制和共享資源庫(kù)使得組織內(nèi)部大數(shù)據(jù)相關(guān)的數(shù)據(jù)和程序資源可累積。
[0055]3.可視化編輯與展示子系統(tǒng)
[0056]以圖形化的方式展示與編輯數(shù)據(jù)處理流程,每個(gè)數(shù)據(jù)處理流程是由數(shù)據(jù)資源和程序資源組成的有向無(wú)環(huán)圖。用戶可以基于已有的數(shù)據(jù)處理流程資源進(jìn)行修改,構(gòu)造新的有向無(wú)環(huán)圖,從而形成新的數(shù)據(jù)處理流程。這類似于面向?qū)ο缶幊讨械念惱^承,基于父數(shù)據(jù)處理流程(父類),添加或修改功能夠成子數(shù)據(jù)處理流程(子類),而子數(shù)據(jù)處理流程又可以派生新的數(shù)據(jù)處理流程,從而構(gòu)成數(shù)據(jù)處理流程的樹(shù)狀結(jié)構(gòu),如圖3所示。這實(shí)現(xiàn)了數(shù)據(jù)處理的可復(fù)用、可繼承和可持續(xù)。
[0057]4.流程調(diào)度子系統(tǒng)
[0058]用戶完成編寫(xiě)相應(yīng)的數(shù)據(jù)處理流程后,由流程調(diào)度子系統(tǒng)調(diào)度執(zhí)行。把流程中所包含的程序資源對(duì)應(yīng)有向無(wú)環(huán)圖中的節(jié)點(diǎn),當(dāng)節(jié)點(diǎn)的所有依賴節(jié)點(diǎn)都執(zhí)行完畢,也就是所有的輸入都生成時(shí),調(diào)用當(dāng)前節(jié)點(diǎn)的執(zhí)行。把節(jié)點(diǎn)對(duì)應(yīng)的程序資源提交給相應(yīng)的大數(shù)據(jù)基礎(chǔ)平臺(tái),并監(jiān)控節(jié)點(diǎn)的運(yùn)行,記錄運(yùn)行狀態(tài)。
[0059]當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種大數(shù)據(jù)系統(tǒng),其特征在于,包括:大數(shù)據(jù)基礎(chǔ)平臺(tái)、共享資源庫(kù)、可視化編輯與展示子系統(tǒng)、以及流程調(diào)度子系統(tǒng); 所述大數(shù)據(jù)基礎(chǔ)平臺(tái),用于從所述流程調(diào)度子系統(tǒng)接收程序資源,并執(zhí)行處理; 所述共享資源庫(kù),用于存儲(chǔ)所有用戶共享的數(shù)據(jù)資源、程序資源、以及由數(shù)據(jù)資源和程序資源組成的數(shù)據(jù)處理流程; 所述可視化編輯與展示子系統(tǒng),用于以圖形化的方式向用戶展示所述數(shù)據(jù)處理流程,以及為用戶提供編輯所述數(shù)據(jù)處理流程的用戶接口; 所述流程調(diào)度子系統(tǒng),用于調(diào)度所述數(shù)據(jù)處理流程,將所述程序資源提交所述大數(shù)據(jù)基礎(chǔ)平臺(tái)執(zhí)行。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于: 所述共享資源庫(kù)只存儲(chǔ)所述數(shù)據(jù)資源的存儲(chǔ)路徑信息。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于: 所述數(shù)據(jù)處理流程是由所述數(shù)據(jù)資源和程序資源連接而成的有向無(wú)環(huán)圖; 所述編輯所述數(shù)據(jù)處理流程具體為:用戶根據(jù)需要組合所述數(shù)據(jù)資源和程序資源,構(gòu)成新的數(shù)據(jù)處理流程。
4.如權(quán)利要求1至3任一項(xiàng)所述的系統(tǒng),其特征在于: 所述大數(shù)據(jù)基礎(chǔ)平臺(tái)包括Hbase、Cassandra、Dremel> Impala、基于內(nèi)存計(jì)算引擎Spark的數(shù)據(jù)倉(cāng)庫(kù)Shark、GreenPlum、Vertica中的一種或者多種的組合。
【文檔編號(hào)】G06F17/30GK104361091SQ201410658038
【公開(kāi)日】2015年2月18日 申請(qǐng)日期:2014年11月18日 優(yōu)先權(quán)日:2014年11月18日
【發(fā)明者】辛國(guó)茂, 張東, 亓開(kāi)元, 趙仁明, 房體盈, 曹連超, 盧軍佐, 金洪殿, 劉偉, 楊勇, 李占強(qiáng), 范榮盛 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司