王建民,王晨,劉英博,劉璘
1. 清華大學軟件學院,北京 100084
2. 大數(shù)據(jù)系統(tǒng)軟件國家工程實驗室,北京 100084
大數(shù)據(jù)系統(tǒng)軟件連接大數(shù)據(jù)計算平臺與大數(shù)據(jù)應(yīng)用軟件,是大數(shù)據(jù)系統(tǒng)的基礎(chǔ)。大數(shù)據(jù)系統(tǒng)軟件對分布式硬件平臺資源進行統(tǒng)一抽象,為大數(shù)據(jù)處理提供一體化存儲管理、分析框架、全生命周期數(shù)據(jù)工程、安全保障等基礎(chǔ)共性功能,為大數(shù)據(jù)應(yīng)用提供開發(fā)運行環(huán)境,是大數(shù)據(jù)產(chǎn)業(yè)的“核心驅(qū)動程序”。
國際大數(shù)據(jù)系統(tǒng)軟件的發(fā)展以開源軟件為主導方式,逐漸形成了以Hadoop、Spark、Tensor Flow生態(tài)為代表的、支持大數(shù)據(jù)應(yīng)用開發(fā)的共性基礎(chǔ)軟件與工具平臺。例如 以國際開源軟件基金會(Apache)等社區(qū)為平臺,實現(xiàn)了技術(shù)的快速演進,IBM等公司也以開源軟件為基礎(chǔ),包裝了各自的商業(yè)化發(fā)行版本。Hadoop 是大數(shù)據(jù)領(lǐng)域非常重要的開源框架,基于簡單的編程模型,對大型數(shù)據(jù)集進行分布式處理。Spark是面向大規(guī)模數(shù)據(jù)處理的通用引擎,現(xiàn)已形成包括批處理、流式處理、統(tǒng)計分析、圖計算等在內(nèi)的數(shù)據(jù)分析軟件棧。TensorFlow是將復(fù)雜的數(shù)據(jù)結(jié)構(gòu)傳輸至人工智能神經(jīng)網(wǎng)進行分析和處理的開源軟件平臺,用于語音識別或圖像識別等機器學習和深度學習任務(wù)。相比于成熟的關(guān)系型數(shù)據(jù)庫技術(shù),大數(shù)據(jù)時代的數(shù)據(jù)處理技術(shù)與系統(tǒng)更多被認為是“負載優(yōu)化系統(tǒng)”。以谷歌公司為例,針對其網(wǎng)頁搜索服務(wù)的需求設(shè)計了 分布式存儲文件系統(tǒng)(GFS)、基于列族的無模式(schema-less)存儲與鍵值索引、基于任意數(shù)據(jù)切分(Map Reduce)的高容錯分布式計算框架。
順應(yīng)大數(shù)據(jù)系統(tǒng)軟件開源實踐,聚焦領(lǐng)域化與生態(tài)化創(chuàng)新,是大數(shù)據(jù)系統(tǒng)軟件的發(fā)展方向。大數(shù)據(jù)領(lǐng)域國家工程實驗室作為一個公共的平臺,通過大數(shù)據(jù)系統(tǒng)軟件關(guān)鍵技術(shù)的創(chuàng)新和突破,促進大數(shù)據(jù)與各行業(yè)應(yīng)用的深度融合,以應(yīng)用帶動大數(shù)據(jù)系統(tǒng)軟件技術(shù)和產(chǎn)品研發(fā),形成一批代表性示范應(yīng)用案例。
在“互聯(lián)網(wǎng)+”時代,大數(shù)據(jù)應(yīng)用正在從消費互聯(lián)網(wǎng)發(fā)展到產(chǎn)業(yè)互聯(lián)網(wǎng),領(lǐng)域大數(shù)據(jù)應(yīng)用與消費互聯(lián)網(wǎng)應(yīng)用有顯著區(qū)別,數(shù)據(jù)類型以時序數(shù)據(jù)、科學數(shù)據(jù)、過程數(shù)據(jù)以及非結(jié)構(gòu)化工程數(shù)據(jù)等數(shù)據(jù)類型為主,其使用者也從互聯(lián)網(wǎng)公司的高級技術(shù)人員轉(zhuǎn)變?yōu)閭鹘y(tǒng)領(lǐng)域的技術(shù)與業(yè)務(wù)人員。這對當前主要基于開源項目的大數(shù)據(jù)系統(tǒng)軟件技術(shù)和產(chǎn)品在領(lǐng)域數(shù)據(jù)特征、多源知識融合、數(shù)據(jù)處理過程、應(yīng)用開發(fā)效率、安全可控保障等方面提出了新的挑戰(zhàn)。大數(shù)據(jù)系統(tǒng)軟件關(guān)鍵技術(shù)的研發(fā)需求主要包括以下幾個方面。
(1)針對領(lǐng)域數(shù)據(jù)特征的挑戰(zhàn)
為應(yīng)對開源數(shù)據(jù)管理引擎產(chǎn)品能力缺失的問題,研發(fā)面向設(shè)備高頻時間序列數(shù)據(jù)、遙感數(shù)據(jù)、科學數(shù)據(jù)等領(lǐng)域數(shù)據(jù)的管理技術(shù),整合多種類型異構(gòu)數(shù)據(jù)管理引擎的一體化管理技術(shù)以及面向新型硬件設(shè)備的優(yōu)化技術(shù),解決“不管用”的問題。
(2)針對多源知識融合的挑戰(zhàn)
為解決開源數(shù)據(jù)分析框架交互性與異構(gòu)性支持不足的問題,研發(fā)面向人與機器、算法協(xié)同工作環(huán)境,實現(xiàn)差異化數(shù)據(jù)類型與負載和異構(gòu)硬件設(shè)備的分析框架自動適配,降低領(lǐng)域人員分析應(yīng)用門檻,解決“不會用”的問題。
(3)針對數(shù)據(jù)處理過程的挑戰(zhàn)
為解決開源大數(shù)據(jù)軟件棧中數(shù)據(jù)工程工具集較為欠缺的問題,研發(fā)數(shù)據(jù)采集、數(shù)據(jù)集成、數(shù)據(jù)清理、數(shù)據(jù)可視化探索分析等豐富的數(shù)據(jù)工程支撐工具,提升數(shù)據(jù)處理的效率,解決“不夠用”的問題。
(4)針對應(yīng)用開發(fā)效率的挑戰(zhàn)
為應(yīng)對開源大數(shù)據(jù)系統(tǒng)軟件產(chǎn)品在應(yīng)用開發(fā)上的能力缺失問題,研發(fā)支撐大數(shù)據(jù)應(yīng)用開發(fā)與運行一體化、智能化的管理工具,領(lǐng)域大數(shù)據(jù)實驗床以及面向新型硬件設(shè)備的優(yōu)化能力的研發(fā)和工程化,解決“不好用”的問題。
(5)針對安全可控保障的挑戰(zhàn)
為應(yīng)對開源軟件代碼來源(鏈)難以控制、版本變化迅速、質(zhì)量缺乏統(tǒng)一標準的問題,研發(fā)面向大數(shù)據(jù)應(yīng)用的混源大數(shù)據(jù)系統(tǒng)的可信驗證體系,實現(xiàn)對大數(shù)據(jù)系統(tǒng)軟件可靠性、可用性、正確性等方面的可信驗證,解決“不敢用”的問題。
最終,在大規(guī)模多源異構(gòu)數(shù)據(jù)一體化管理、交互式異構(gòu)數(shù)據(jù)分析框架、數(shù)據(jù)可視化與智能數(shù)據(jù)工程、領(lǐng)域大數(shù)據(jù)應(yīng)用開發(fā)運行環(huán)境、大數(shù)據(jù)混源軟件可信驗證等領(lǐng)域取得重大突破,通過以上5個方面形成大數(shù)據(jù)系統(tǒng)軟件體系,促進中國大數(shù)據(jù)產(chǎn)業(yè)的發(fā)展。
以工業(yè)領(lǐng)域為例,從領(lǐng)域數(shù)據(jù)特征角度來看,機器設(shè)備產(chǎn)生的高通量時間序列數(shù)據(jù)、設(shè)計仿真階段的非結(jié)構(gòu)化工程數(shù)據(jù)等領(lǐng)域數(shù)據(jù)缺少有效的管理技術(shù),同時對不同種類數(shù)據(jù)進行一體化管理的能力不足,缺少管用的大數(shù)據(jù)系統(tǒng)軟件;從多源知識融合的角度來看,現(xiàn)有大數(shù)據(jù)分析軟件使用門檻高、交互性支持不夠,僅提供計算框架與分析類庫,很難讓具有機械、電子、液壓、自動化等領(lǐng)域知識的技術(shù)人員獨立使用;從數(shù)據(jù)處理過程的角度來看,由于大數(shù)據(jù)可視化、數(shù)據(jù)集成、數(shù)據(jù)清理等數(shù)據(jù)工程工具缺失,工業(yè)領(lǐng)域的技術(shù)人員會花費大量的時間反復(fù)嘗試手動對數(shù)據(jù)進行處理,分析效果也受到了制約;從應(yīng)用開發(fā)的角度來看,大數(shù)據(jù)應(yīng)用系統(tǒng)開發(fā)涉及的系統(tǒng)選型、參數(shù)配置、模型選擇、運行優(yōu)化等工作步驟都需要基于專家知識進行反復(fù)迭代,應(yīng)用開發(fā)使用門檻過高,加大了開發(fā)成本;從安全可控保障的角度來看,混源大數(shù)據(jù)系統(tǒng)的安全可信成為大數(shù)據(jù)開發(fā)利用亟待解決的核心問題。大數(shù)據(jù)系統(tǒng)軟件國家工程實驗室針對以上問題與需求,重點在大規(guī)模多源異構(gòu)數(shù)據(jù)一體化管理、交互式異構(gòu)數(shù)據(jù)分析框架、數(shù)據(jù)可視化與智能數(shù)據(jù)工程、領(lǐng)域大數(shù)據(jù)應(yīng)用開發(fā)運行環(huán)境、大數(shù)據(jù)混源軟件可信驗證等領(lǐng)域開展研發(fā),以形成開放的大數(shù)據(jù)系統(tǒng)軟件體系,提升中國大數(shù)據(jù)產(chǎn)業(yè)的實踐能力。
多源異構(gòu)數(shù)據(jù)是指數(shù)據(jù)源不同、數(shù)據(jù)結(jié)構(gòu)或類型不同的數(shù)據(jù)集合。數(shù)據(jù)源不同、數(shù)據(jù)類型不同,使得這類數(shù)據(jù)集的使用變得非常復(fù)雜,因此大規(guī)模多源異構(gòu)數(shù)據(jù)的一體化管理技術(shù)變得十分重要。需要突破的是針對不同類型數(shù)據(jù)的存儲與查詢技術(shù),并在充分考慮多源異構(gòu)數(shù)據(jù)的來源和結(jié)構(gòu)隨著時間的推移不斷增加與變化的特點的情況下,研究如何形成可擴展的一體化數(shù)據(jù)管理系統(tǒng)。
現(xiàn)有大數(shù)據(jù)系統(tǒng)軟件開源社區(qū)及商業(yè)產(chǎn)品對圖數(shù)據(jù)、關(guān)系數(shù)據(jù)、鍵值數(shù)據(jù)等類型已經(jīng)有比較成熟的技術(shù)。但是對各行業(yè)領(lǐng)域中廣泛存在的時序數(shù)據(jù)、科學數(shù)據(jù)、過程數(shù)據(jù)以及非結(jié)構(gòu)化工程數(shù)據(jù)的管理能力則有所欠缺。此外,隨著計算機硬件技術(shù)的發(fā)展,越來越多的、性能強大的新型存儲硬件加入了大數(shù)據(jù)管理系統(tǒng)的硬件平臺中,如 固態(tài)硬盤(solid state drives,SSD)、 非易失性隨機訪問存儲器(non-volatile random access memory,NVRAM)等,促進了靈活、可定制的數(shù)據(jù)中心架構(gòu)的出現(xiàn),這對如何進行異構(gòu)硬件和系統(tǒng)軟件的有效管理和協(xié)同優(yōu)化提出了新的挑戰(zhàn)。
這項研究的重點是多種類型數(shù)據(jù)的分布式存儲技術(shù),重點開發(fā)時序數(shù)據(jù)、過程數(shù)據(jù)、科學數(shù)據(jù)、非結(jié)構(gòu)化工程數(shù)據(jù)等重要領(lǐng)域數(shù)據(jù)的分布式存儲系統(tǒng);研究多源異構(gòu)數(shù)據(jù)的統(tǒng)一存儲模型、統(tǒng)一數(shù)據(jù)查詢接口及查詢協(xié)同優(yōu)化技術(shù),開發(fā)多源異構(gòu)數(shù)據(jù)一體化管理系統(tǒng);研究新型存儲硬件與開放計算平臺上的數(shù)據(jù)管理軟硬件協(xié)同優(yōu)化技術(shù)。
對大規(guī)模多源異構(gòu)數(shù)據(jù)進行高效分析計算是挖掘大數(shù)據(jù)價值、發(fā)現(xiàn)特殊規(guī)律和洞見的關(guān)鍵。在分析任務(wù)中,分析師通過分析算法庫運行需要的統(tǒng)計算法或機理模型,借助分布式或并行計算框架完成大規(guī)模模型訓練,并對分析結(jié)果進行解釋。上述過程不斷迭代,得到最終的決策結(jié)論。在此過程中,分析師需要根據(jù)任務(wù)需求調(diào)用不同的算法庫,根據(jù)不同計算硬件的編程環(huán)境手動編寫、調(diào)用各種計算資源的程序,并且對黑盒的分析模型進行解釋,整個分析流程的關(guān)鍵步驟沒有完整貫通,分析門檻很高。
這項研究的重點是開發(fā)面向新型計算硬件、國產(chǎn)CPU整機系統(tǒng)、超級計算機集群的高性能計算框架,研制分布式計算與高性能計算的融合計算框架,實現(xiàn)多層異構(gòu)軟硬件計算資源的統(tǒng)一調(diào)度和協(xié)同優(yōu)化;開發(fā)分析模型可視化工具,實現(xiàn)分析算法的智能調(diào)試與人機交互協(xié)同;開發(fā)分析工作流管理工具,實現(xiàn)大數(shù)據(jù)分析生命周期的流程化管理,提高數(shù)據(jù)分析的易用性。
完整的數(shù)據(jù)分析流程除了數(shù)據(jù)分析活動外,還有大量的數(shù)據(jù)準備活動,包括數(shù)據(jù)的獲取、清理、集成以及分析之前的數(shù)據(jù)探索和分析之后的結(jié)果可視化。在實踐中,這些步驟需根據(jù)分析目標和結(jié)果進行反復(fù)的迭代與試錯,流程中需要的工具被統(tǒng)稱為數(shù)據(jù)工程工具集,承擔這部分工作的人員主要是數(shù)據(jù)分析師和領(lǐng)域?qū)<?。?shù)據(jù)工程技術(shù)在大數(shù)據(jù)時代遇到的挑戰(zhàn)有兩點:首先,現(xiàn)有產(chǎn)品針對海量異構(gòu)數(shù)據(jù)的支持不足,可擴展性差,且對時間序列等新型數(shù)據(jù)的數(shù)據(jù)工程方法缺乏支持;其次,現(xiàn)有產(chǎn)品的智能化程度不高,在操作中需要大量人工參與,要求具備較豐富的領(lǐng)域知識,使用效率不高,過程繁復(fù)。
針對上述問題,需重點開發(fā)支持海量數(shù)據(jù)的可視化分析工具,研發(fā)面向工業(yè)、國家安全、公共服務(wù)等領(lǐng)域中的文本、復(fù)雜網(wǎng)絡(luò)、時序數(shù)據(jù)、高維特征數(shù)據(jù)4類典型大數(shù)據(jù)的可視化工具。開發(fā)多源異構(gòu)數(shù)據(jù)的智能數(shù)據(jù)獲取、數(shù)據(jù)畫像、智能數(shù)據(jù)清理、智能數(shù)據(jù)集成等智能數(shù)據(jù)工程工具,解決傳統(tǒng)數(shù)據(jù)工程任務(wù)耗時長、成本高的問題。
一個具體的大數(shù)據(jù)應(yīng)用解決方案往往由開源系統(tǒng)與閉源系統(tǒng)結(jié)合完成,或以黑盒的方式調(diào)用外部服務(wù),這就形成了大數(shù)據(jù)混源系統(tǒng)。大數(shù)據(jù)混源系統(tǒng)的分布式特性、開源/閉源結(jié)合的特性導致其代碼量龐大,版本匹配、接口匹配、數(shù)據(jù)安全難以控制,這就對其可信驗證提出了迫切的需求?,F(xiàn)有的可信驗證技術(shù)體系尚未綜合考慮大數(shù)據(jù)混源系統(tǒng)的上述兩種特性,例如將系統(tǒng)當作黑盒的基于測試用例的和基于動態(tài)測試的方法、基于代碼分析的靜態(tài)分析方法、基于眾包數(shù)據(jù)的數(shù)據(jù)挖掘方法、基于系統(tǒng)設(shè)計原理的模擬仿真方法等,都難以支持大數(shù)據(jù)混源軟件的可信驗證。此外,大數(shù)據(jù)系統(tǒng)的復(fù)雜性導致其可信驗證中難以避免狀態(tài)空間爆炸的問題,導致驗證效率不高。
這項研究的重點在于結(jié)合分布式系統(tǒng)建模技術(shù)和混源系統(tǒng)可信建模技術(shù),研發(fā)大數(shù)據(jù)系統(tǒng)軟件的綜合建模工具,支持分布式環(huán)境下節(jié)點間的消息傳遞、任務(wù)的異步分發(fā)與同步匯總等分布式特征的建模,支持自主可控代碼、第三方開源或閉源代碼的混源特征建模,并支持兩類建模技術(shù)的有效統(tǒng)一;研究基于高性能計算的并行可信驗證算法,開發(fā)高性能可信驗證系統(tǒng),大幅提升軟件驗證的規(guī)模和效率。
大數(shù)據(jù)系統(tǒng)軟件國家工程實驗室為實現(xiàn)大數(shù)據(jù)系統(tǒng)軟件的快速、自動、智能構(gòu)造和運維,突破大數(shù)據(jù)系統(tǒng)軟件技術(shù)瓶頸,研發(fā)了大數(shù)據(jù)系統(tǒng)軟件與工具棧——清華“數(shù)為平臺”,其總體框架如圖1所示?!皵?shù)為平臺”采用模型驅(qū)動的軟件系統(tǒng)構(gòu)造方法,提供了交互式的數(shù)據(jù)建模與業(yè)務(wù)建模支持,是支持可定制性和可擴展性的大數(shù)據(jù)應(yīng)用服務(wù)開發(fā)平臺,降低了領(lǐng)域大數(shù)據(jù)系統(tǒng)研發(fā)的代價。在以HDFS、Kafka、TensorFlow為代表的大數(shù)據(jù)系統(tǒng)開源軟件生態(tài)基礎(chǔ)上,重點研發(fā)了以下大數(shù)據(jù)系統(tǒng)軟件構(gòu)件。
● 可定制的數(shù)為框架(d at away framework,DWF):提供對數(shù)據(jù)、功能、表單的底代碼量可定制平臺,支持移動端和PC端定制,具有靈活多樣的可擴展性,能夠?qū)又髁鞔髷?shù)據(jù)系統(tǒng)(Strom、Hadoop、Kafka、Spark、TensorFlow等)。從系統(tǒng)開發(fā)構(gòu)建的角度看,可定制的數(shù)為框架是大數(shù)據(jù)軟件組件集成的數(shù)據(jù)總線、控制總線和交互總線,負責數(shù)據(jù)源/數(shù)據(jù)集管理、算法管理、構(gòu)件定義、構(gòu)件交互、運行監(jiān)控和人機交互設(shè)計組件。
圖1 大數(shù)據(jù)系統(tǒng)軟件“數(shù)為平臺”總體框架
● 多源數(shù)據(jù)和數(shù)據(jù)集管理:時序數(shù)據(jù)庫TSFile/IoTDB具有多數(shù)據(jù)源接入能力,支持結(jié)構(gòu)化、非結(jié)構(gòu)化、時序數(shù)據(jù)數(shù)據(jù)源定制,可圍繞數(shù)據(jù)源定義不同種類數(shù)據(jù)集。
● 算法庫管理:內(nèi)嵌數(shù)十種數(shù)據(jù)處理算法,包括數(shù)據(jù)提取、數(shù)據(jù)清洗、數(shù)據(jù)集成、統(tǒng)計分析、機器學習、深度學習、遷移學習等。
● 數(shù)據(jù)處理流程管理器:支持基于流程的數(shù)據(jù)處理活動選擇、編排與執(zhí)行,提供數(shù)據(jù)處理過程監(jiān)控。
● 數(shù)據(jù)質(zhì)量控制:建立數(shù)據(jù)質(zhì)量分析知識庫,批量分析海量數(shù)據(jù)特征,實時評估數(shù)據(jù)質(zhì)量情況,并在條件具備的情況下對低質(zhì)量數(shù)據(jù)給出修正建議。
● 機器學習工作坊:針對不同種類的數(shù)據(jù)集開展大規(guī)模訓練任務(wù),產(chǎn)生訓練模型,并且可以可視化評估機器學習的過程,找到瓶頸,幫助調(diào)優(yōu)。
● 模型庫管理:可以管理機器學習算法產(chǎn)生的各種預(yù)測模型,并基于模型提供在線數(shù)據(jù)服務(wù)。
大數(shù)據(jù)技術(shù)在領(lǐng)域中的應(yīng)用和落地涉及一個復(fù)雜的大數(shù)據(jù)全生命周期,包括大數(shù)據(jù)的采集提取清理(數(shù)據(jù)工程)、管理、分析、可視化等多個主要階段,如圖2所示。各階段需要滿足海量、異構(gòu)、實時、人機交互等功能或性能需求。例如,大數(shù)據(jù)的采集通常是在多源異構(gòu)環(huán)境中進行的,難以保證足夠高的數(shù)據(jù)質(zhì)量,而這種復(fù)雜性將會為大數(shù)據(jù)分析與建模帶來不確定性甚至錯誤的結(jié)果??梢?,大數(shù)據(jù)生命周期中各個階段緊密相連、環(huán)環(huán)相扣,協(xié)作形成大數(shù)據(jù)應(yīng)用解決方案。
圖2 大數(shù)據(jù)應(yīng)用開發(fā)的過程框架
在大數(shù)據(jù)應(yīng)用開發(fā)的過程中,數(shù)據(jù)工程師需要掌握多個階段的大數(shù)據(jù)系統(tǒng)軟件技術(shù),根據(jù)領(lǐng)域的數(shù)據(jù)類型(時間序列、流程數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)等)、功能需求(采集、存儲、計算、分析、展現(xiàn)等)和性能需求(如讀寫時延、并發(fā)量等),在大數(shù)據(jù)軟件組件中選擇恰當?shù)臉?gòu)件,并手動進行配置和部署,然后在此基礎(chǔ)上進行應(yīng)用開發(fā)。隨著大數(shù)據(jù)系統(tǒng)軟件的復(fù)雜性不斷增加,軟件發(fā)布迭代的頻率也越來越高,大量的手動配置、反復(fù)試錯不能滿足快速交付的需求。此外,在開源大數(shù)據(jù)生態(tài)系統(tǒng)上進行應(yīng)用開發(fā)和運行具有很高的門檻,易用性成為領(lǐng)域用戶對大數(shù)據(jù)系統(tǒng)軟件的迫切的需求之一。面向領(lǐng)域的應(yīng)用還需要研制領(lǐng)域特定的工作環(huán)境,通過配套的軟硬件資源和平臺,為大數(shù)據(jù)技術(shù)提供實驗、測試環(huán)境,實現(xiàn)大數(shù)據(jù)技術(shù)與領(lǐng)域知識的深度融合,為大數(shù)據(jù)技術(shù)的領(lǐng)域化提供有效的渠道。
為此,需要建設(shè)大數(shù)據(jù)應(yīng)用的開發(fā)與運行環(huán)境,實現(xiàn)多樣化大數(shù)據(jù)系統(tǒng)軟件的快速、自動、智能的裝配和運維,為領(lǐng)域?qū)<姨峁岸说蕉恕钡拇髷?shù)據(jù)系統(tǒng)軟件技術(shù)支持。具體說,就是領(lǐng)域?qū)<抑恍枰P(guān)注輸入端的數(shù)據(jù)和需求以及輸出端的結(jié)果和決策即可,兩端之間的中間環(huán)節(jié),包括數(shù)據(jù)準備、管理、分析、可視化等,都盡可能地對領(lǐng)域?qū)<译[藏。在構(gòu)建大數(shù)據(jù)應(yīng)用系統(tǒng)的過程中,領(lǐng)域?qū)<覠o須深入了解中間環(huán)節(jié),可將其整體視為黑盒來使用。
重點針對新型工業(yè)、國家安全、公共服務(wù)等領(lǐng)域大數(shù)據(jù)應(yīng)用開發(fā)與運行難的問題,研制領(lǐng)域大數(shù)據(jù)應(yīng)用開發(fā)運行環(huán)境,開發(fā)需求適配、構(gòu)件選型、參數(shù)配置、自動部署、日志管理、日志分析、性能調(diào)優(yōu)、故障診斷等開發(fā)運行工具,支持多樣化應(yīng)用需求建模與系統(tǒng)軟件適配,自動構(gòu)建領(lǐng)域大數(shù)據(jù)應(yīng)用系統(tǒng),通過日志數(shù)據(jù)的機器學習與可視化分析實現(xiàn)大數(shù)據(jù)應(yīng)用系統(tǒng)智能運維和優(yōu)化,提高大數(shù)據(jù)系統(tǒng)軟件的易用性,降低大數(shù)據(jù)技術(shù)在各領(lǐng)域應(yīng)用的門檻。
以“數(shù)為平臺”為基礎(chǔ),大數(shù)據(jù)系統(tǒng)軟件國家工程實驗室提出了“1+X”應(yīng)用架構(gòu)模式,與制造、能源、農(nóng)業(yè)、民生、軍事等多個重點行業(yè)與多個國家級的產(chǎn)業(yè)優(yōu)勢單位合作,沉淀領(lǐng)域平臺,構(gòu)建產(chǎn)業(yè)應(yīng)用,推動大數(shù)據(jù)技術(shù)同實體經(jīng)濟深度融合發(fā)展,與氣象、環(huán)保、工業(yè)制造、能源等企業(yè)用戶開展領(lǐng)域大數(shù)據(jù)平臺和應(yīng)用系統(tǒng)研發(fā)。
以氣象大數(shù)據(jù)平臺為例,為支撐中央和28個省的天氣預(yù)報業(yè)務(wù),需要對數(shù)值模式、衛(wèi)星云圖、雷達、閃電及遍布全球的地面和高空觀測數(shù)據(jù)進行分析和處理。數(shù)據(jù)規(guī)模大、時效性要求高,并且持續(xù)快速增長。基于清華“數(shù)為平臺”的新一代中國天氣預(yù)報大數(shù)據(jù)平臺突破了氣象大數(shù)據(jù)分布式管理、處理、分析與可視化等一系列技術(shù),將海量氣象數(shù)據(jù)的存取速度提升百倍。在全球范圍內(nèi),首次實現(xiàn)了全部氣象數(shù)據(jù)從網(wǎng)絡(luò)文件集群系統(tǒng)到大規(guī)模數(shù)據(jù)處理平臺的升級換代。
在工業(yè)制造業(yè)的應(yīng)用過程中,通過深入研究產(chǎn)業(yè)特點,基于平臺的云端結(jié)合的設(shè)計思路,建設(shè)了國內(nèi)價值最高的智能裝備大數(shù)據(jù)平臺,采集4000余種類型的設(shè)備狀態(tài)、作業(yè)操作、環(huán)境參數(shù)等實時數(shù)據(jù);支持遠程發(fā)動機運行參數(shù)調(diào)優(yōu),輔助裝備遠程操作;實時匯總和分析全國每臺設(shè)備施工量、能耗與排放。例如:實時車輛分布及各省份排名情況;行駛、停止的車輛比例,高發(fā)故障的分布及排名情況;不同載重狀態(tài)的車輛臺量和占比,物流車在全國各省市的平均碳排放量和車輛的空駛情況。為生產(chǎn)廠商、運輸企業(yè)、交管、環(huán)保、安全生產(chǎn)等政府部門提供實時的數(shù)據(jù)支持。物流車數(shù)據(jù)分析處理流程如圖3所示。
大數(shù)據(jù)時代,軟件系統(tǒng)與工程面臨的機遇挑戰(zhàn)體現(xiàn)在互為依賴的兩個方面。一方面,軟件系統(tǒng)與工程應(yīng)針對大數(shù)據(jù)處理的需求,研究如何開發(fā)支持大數(shù)據(jù)處理各個環(huán)節(jié)的軟件技術(shù)與系統(tǒng),形成面向大數(shù)據(jù)的軟件工程——面向大數(shù)據(jù)生命周期的一體化集成設(shè)計開發(fā)環(huán)境。另一方面,在軟件系統(tǒng)與工程實施過程中,會涉及大量具有大數(shù)據(jù)特征的系統(tǒng)運行過程數(shù)據(jù),因此有必要對這些多維數(shù)據(jù)進行充分的關(guān)聯(lián)挖掘和機器學習,發(fā)現(xiàn)數(shù)據(jù)驅(qū)動的開發(fā)和運行規(guī)律,形成基于大數(shù)據(jù)的軟件工程方法學,指導大數(shù)據(jù)軟件系統(tǒng)的開發(fā)——面向軟件生命周期的大數(shù)據(jù)應(yīng)用系統(tǒng)運行分析工具。
本文分析了大數(shù)據(jù)系統(tǒng)軟件生態(tài)、領(lǐng)域應(yīng)用、開發(fā)運行環(huán)境現(xiàn)狀與挑戰(zhàn),介紹了大規(guī)模多源異構(gòu)數(shù)據(jù)一體化管理、交互式異構(gòu)數(shù)據(jù)分析框架、數(shù)據(jù)可視化與智能數(shù)據(jù)工程、領(lǐng)域大數(shù)據(jù)應(yīng)用開發(fā)運行環(huán)境、大數(shù)據(jù)混源軟件可信驗證等大數(shù)據(jù)系統(tǒng)國家工程實驗室的技術(shù)研發(fā)主題,并介紹了依托工程實驗室開發(fā)的大數(shù)據(jù)系統(tǒng)軟件清華“數(shù)為平臺”,該平臺形成了面向大數(shù)據(jù)系統(tǒng)開發(fā)和應(yīng)用全生命周期的技術(shù)與應(yīng)用環(huán)路,在制造、能源、農(nóng)業(yè)、民生、軍事等行業(yè)已成功應(yīng)用,并逐步形成大數(shù)據(jù)系統(tǒng)軟件協(xié)同研發(fā)社區(qū)與應(yīng)用創(chuàng)新生態(tài)環(huán)境。
圖3 物流車數(shù)據(jù)分析處理流程