大数据系统软件创新平台与生态建设
大數據系統軟件創新平臺與生態建設
王建民,王晨,劉英博,劉璘
清華大學軟件學院,北京 100084?
大數據系統軟件國家工程實驗室,北京 100084?
?
摘要:針對大數據系統軟件開源生態發展現狀、大數據系統軟件技術與領域應用發展的迫切需求與工程化瓶頸,系統地介紹了大數據系統軟件共性技術的研發思路以及大數據系統軟件國家工程驗室研制的“數為平臺”的技術架構,包括大規模多源異構數據的一體化管理、異構數據的交互式分析框架、數據可視化與智能數據工程、大數據混源軟件可信驗證、領域大數據應用開發與運行環境等。給出了基于平臺建設開放的大數據軟件創新平臺與生態的模式,并在工業制造業、氣象環保服務領域開展應用示范。
關鍵詞:大數據系統軟件 ; 開源軟件生態 ; 領域大數據應用 ; 國家工程實驗室
論文引用格式:
王建民, 王晨, 劉英博, 劉璘. 大數據系統軟件創新平臺與生態建設. 大數據[J], 2018, 4(5): 104-112
WANG J M, WANG C, LIU Y B, LIU L. Big data system software eco-system and platform construction. Big Data Research[J], 2018, 4(5):104-112
1 引言
大數據系統軟件連接大數據計算平臺與大數據應用軟件,是大數據系統的基礎。大數據系統軟件對分布式硬件平臺資源進行統一抽象,為大數據處理提供一體化存儲管理、分析框架、全生命周期數據工程、安全保障等基礎共性功能,為大數據應用提供開發運行環境,是大數據產業的“核心驅動程序”。
國際大數據系統軟件的發展以開源軟件為主導方式,逐漸形成了以Hadoop、Spark、TensorFlow生態為代表的、支持大數據應用開發的共性基礎軟件與工具平臺。例如以國際開源軟件基金會(Apache)等社區為平臺,實現了技術的快速演進,IBM等公司也以開源軟件為基礎,包裝了各自的商業化發行版本。Hadoop 是大數據領域非常重要的開源框架,基于簡單的編程模型,對大型數據集進行分布式處理。Spark是面向大規模數據處理的通用引擎,現已形成包括批處理、流式處理、統計分析、圖計算等在內的數據分析軟件棧。TensorFlow是將復雜的數據結構傳輸至人工智能神經網進行分析和處理的開源軟件平臺,用于語音識別或圖像識別等機器學習和深度學習任務。相比于成熟的關系型數據庫技術,大數據時代的數據處理技術與系統更多被認為是“負載優化系統”。以谷歌公司為例,針對其網頁搜索服務的需求設計了分布式存儲文件系統(GFS)、基于列族的無模式(schema-less)存儲與鍵值索引、基于任意數據切分(MapReduce)的高容錯分布式計算框架。
順應大數據系統軟件開源實踐,聚焦領域化與生態化創新,是大數據系統軟件的發展方向。大數據領域國家工程實驗室作為一個公共的平臺,通過大數據系統軟件關鍵技術的創新和突破,促進大數據與各行業應用的深度融合,以應用帶動大數據系統軟件技術和產品研發,形成一批代表性示范應用案例。
2 大數據系統軟件工程挑戰
在“互聯網+”時代,大數據應用正在從消費互聯網發展到產業互聯網,領域大數據應用與消費互聯網應用有顯著區別,數據類型以時序數據、科學數據、過程數據以及非結構化工程數據等數據類型為主,其使用者也從互聯網公司的高級技術人員轉變為傳統領域的技術與業務人員。這對當前主要基于開源項目的大數據系統軟件技術和產品在領域數據特征、多源知識融合、數據處理過程、應用開發效率、安全可控保障等方面提出了新的挑戰。大數據系統軟件關鍵技術的研發需求主要包括以下幾個方面。
(1)針對領域數據特征的挑戰
為應對開源數據管理引擎產品能力缺失的問題,研發面向設備高頻時間序列數據、遙感數據、科學數據等領域數據的管理技術,整合多種類型異構數據管理引擎的一體化管理技術以及面向新型硬件設備的優化技術,解決“不管用”的問題。
(2)針對多源知識融合的挑戰
為解決開源數據分析框架交互性與異構性支持不足的問題,研發面向人與機器、算法協同工作環境,實現差異化數據類型與負載和異構硬件設備的分析框架自動適配,降低領域人員分析應用門檻,解決“不會用”的問題。
(3)針對數據處理過程的挑戰
為解決開源大數據軟件棧中數據工程工具集較為欠缺的問題,研發數據采集、數據集成、數據清理、數據可視化探索分析等豐富的數據工程支撐工具,提升數據處理的效率,解決“不夠用”的問題。
(4)針對應用開發效率的挑戰
為應對開源大數據系統軟件產品在應用開發上的能力缺失問題,研發支撐大數據應用開發與運行一體化、智能化的管理工具,領域大數據實驗床以及面向新型硬件設備的優化能力的研發和工程化,解決“不好用”的問題。
(5)針對安全可控保障的挑戰
為應對開源軟件代碼來源(鏈)難以控制、版本變化迅速、質量缺乏統一標準的問題,研發面向大數據應用的混源大數據系統的可信驗證體系,實現對大數據系統軟件可靠性、可用性、正確性等方面的可信驗證,解決“不敢用”的問題。
最終,在大規模多源異構數據一體化管理、交互式異構數據分析框架、數據可視化與智能數據工程、領域大數據應用開發運行環境、大數據混源軟件可信驗證等領域取得重大突破,通過以上5個方面形成大數據系統軟件體系,促進中國大數據產業的發展。
3 大數據系統軟件技術架構
以工業領域為例,從領域數據特征角度來看,機器設備產生的高通量時間序列數據、設計仿真階段的非結構化工程數據等領域數據缺少有效的管理技術,同時對不同種類數據進行一體化管理的能力不足,缺少管用的大數據系統軟件;從多源知識融合的角度來看,現有大數據分析軟件使用門檻高、交互性支持不夠,僅提供計算框架與分析類庫,很難讓具有機械、電子、液壓、自動化等領域知識的技術人員獨立使用;從數據處理過程的角度來看,由于大數據可視化、數據集成、數據清理等數據工程工具缺失,工業領域的技術人員會花費大量的時間反復嘗試手動對數據進行處理,分析效果也受到了制約;從應用開發的角度來看,大數據應用系統開發涉及的系統選型、參數配置、模型選擇、運行優化等工作步驟都需要基于專家知識進行反復迭代,應用開發使用門檻過高,加大了開發成本;從安全可控保障的角度來看,混源大數據系統的安全可信成為大數據開發利用亟待解決的核心問題。大數據系統軟件國家工程實驗室針對以上問題與需求,重點在大規模多源異構數據一體化管理、交互式異構數據分析框架、數據可視化與智能數據工程、領域大數據應用開發運行環境、大數據混源軟件可信驗證等領域開展研發,以形成開放的大數據系統軟件體系,提升中國大數據產業的實踐能力。
3.1 大規模多源異構數據一體化管理技術
多源異構數據是指數據源不同、數據結構或類型不同的數據集合。數據源不同、數據類型不同,使得這類數據集的使用變得非常復雜,因此大規模多源異構數據的一體化管理技術變得十分重要。需要突破的是針對不同類型數據的存儲與查詢技術,并在充分考慮多源異構數據的來源和結構隨著時間的推移不斷增加與變化的特點的情況下,研究如何形成可擴展的一體化數據管理系統。
現有大數據系統軟件開源社區及商業產品對圖數據、關系數據、鍵值數據等類型已經有比較成熟的技術。但是對各行業領域中廣泛存在的時序數據、科學數據、過程數據以及非結構化工程數據的管理能力則有所欠缺。此外,隨著計算機硬件技術的發展,越來越多的、性能強大的新型存儲硬件加入了大數據管理系統的硬件平臺中,如固態硬盤(solid state drives,SSD)、 非易失性隨機訪問存儲器(non-volatile random access memory, NVRAM)等,促進了靈活、可定制的數據中心架構的出現,這對如何進行異構硬件和系統軟件的有效管理和協同優化提出了新的挑戰。
這項研究的重點是多種類型數據的分布式存儲技術,重點開發時序數據、過程數據、科學數據、非結構化工程數據等重要領域數據的分布式存儲系統;研究多源異構數據的統一存儲模型、統一數據查詢接口及查詢協同優化技術,開發多源異構數據一體化管理系統;研究新型存儲硬件與開放計算平臺上的數據管理軟硬件協同優化技術。
3.2 交互式異構數據分析框架技術
對大規模多源異構數據進行高效分析計算是挖掘大數據價值、發現特殊規律和洞見的關鍵。在分析任務中,分析師通過分析算法庫運行需要的統計算法或機理模型,借助分布式或并行計算框架完成大規模模型訓練,并對分析結果進行解釋。上述過程不斷迭代,得到最終的決策結論。在此過程中,分析師需要根據任務需求調用不同的算法庫,根據不同計算硬件的編程環境手動編寫、調用各種計算資源的程序,并且對黑盒的分析模型進行解釋,整個分析流程的關鍵步驟沒有完整貫通,分析門檻很高。
這項研究的重點是開發面向新型計算硬件、國產CPU整機系統、超級計算機集群的高性能計算框架,研制分布式計算與高性能計算的融合計算框架,實現多層異構軟硬件計算資源的統一調度和協同優化;開發分析模型可視化工具,實現分析算法的智能調試與人機交互協同;開發分析工作流管理工具,實現大數據分析生命周期的流程化管理,提高數據分析的易用性。
3.3 數據可視化與智能數據工程技術
完整的數據分析流程除了數據分析活動外,還有大量的數據準備活動,包括數據的獲取、清理、集成以及分析之前的數據探索和分析之后的結果可視化。在實踐中,這些步驟需根據分析目標和結果進行反復的迭代與試錯,流程中需要的工具被統稱為數據工程工具集,承擔這部分工作的人員主要是數據分析師和領域專家。數據工程技術在大數據時代遇到的挑戰有兩點:首先,現有產品針對海量異構數據的支持不足,可擴展性差,且對時間序列等新型數據的數據工程方法缺乏支持;其次,現有產品的智能化程度不高,在操作中需要大量人工參與,要求具備較豐富的領域知識,使用效率不高,過程繁復。
針對上述問題,需重點開發支持海量數據的可視化分析工具,研發面向工業、國家安全、公共服務等領域中的文本、復雜網絡、時序數據、高維特征數據4類典型大數據的可視化工具。開發多源異構數據的智能數據獲取、數據畫像、智能數據清理、智能數據集成等智能數據工程工具,解決傳統數據工程任務耗時長、成本高的問題。
3.4 大數據混源軟件可信驗證技術
一個具體的大數據應用解決方案往往由開源系統與閉源系統結合完成,或以黑盒的方式調用外部服務,這就形成了大數據混源系統。大數據混源系統的分布式特性、開源/閉源結合的特性導致其代碼量龐大,版本匹配、接口匹配、數據安全難以控制,這就對其可信驗證提出了迫切的需求?,F有的可信驗證技術體系尚未綜合考慮大數據混源系統的上述兩種特性,例如將系統當作黑盒的基于測試用例的和基于動態測試的方法、基于代碼分析的靜態分析方法、基于眾包數據的數據挖掘方法、基于系統設計原理的模擬仿真方法等,都難以支持大數據混源軟件的可信驗證。此外,大數據系統的復雜性導致其可信驗證中難以避免狀態空間爆炸的問題,導致驗證效率不高。
這項研究的重點在于結合分布式系統建模技術和混源系統可信建模技術,研發大數據系統軟件的綜合建模工具,支持分布式環境下節點間的消息傳遞、任務的異步分發與同步匯總等分布式特征的建模,支持自主可控代碼、第三方開源或閉源代碼的混源特征建模,并支持兩類建模技術的有效統一;研究基于高性能計算的并行可信驗證算法,開發高性能可信驗證系統,大幅提升軟件驗證的規模和效率。
3.5 清華“數為平臺”技術框架
大數據系統軟件國家工程實驗室為實現大數據系統軟件的快速、自動、智能構造和運維,突破大數據系統軟件技術瓶頸,研發了大數據系統軟件與工具棧——清華“數為平臺”,其總體框架如圖1所示。“數為平臺”采用模型驅動的軟件系統構造方法,提供了交互式的數據建模與業務建模支持,是支持可定制性和可擴展性的大數據應用服務開發平臺,降低了領域大數據系統研發的代價。在以HDFS、Kafka、TensorFlow為代表的大數據系統開源軟件生態基礎上,重點研發了以下大數據系統軟件構件。
圖1?大數據系統軟件“數為平臺”總體框架
● 可定制的數為框架(dataway framework,DWF):提供對數據、功能、表單的底代碼量可定制平臺,支持移動端和PC端定制,具有靈活多樣的可擴展性,能夠對接主流大數據系統(Strom、Hadoop、Kafka、Spark、TensorFlow等)。從系統開發構建的角度看,可定制的數為框架是大數據軟件組件集成的數據總線、控制總線和交互總線,負責數據源/數據集管理、算法管理、構件定義、構件交互、運行監控和人機交互設計組件。
● 多源數據和數據集管理:時序數據庫TSFile/IoTDB具有多數據源接入能力,支持結構化、非結構化、時序數據數據源定制,可圍繞數據源定義不同種類數據集。
● 算法庫管理:內嵌數十種數據處理算法,包括數據提取、數據清洗、數據集成、統計分析、機器學習、深度學習、遷移學習等。
● 數據處理流程管理器:支持基于流程的數據處理活動選擇、編排與執行,提供數據處理過程監控。
● 數據質量控制:建立數據質量分析知識庫,批量分析海量數據特征,實時評估數據質量情況,并在條件具備的情況下對低質量數據給出修正建議。
● 機器學習工作坊:針對不同種類的數據集開展大規模訓練任務,產生訓練模型,并且可以可視化評估機器學習的過程,找到瓶頸,幫助調優。
● 模型庫管理:可以管理機器學習算法產生的各種預測模型,并基于模型提供在線數據服務。
4 領域大數據應用研發——“1+X”模式
大數據技術在領域中的應用和落地涉及一個復雜的大數據全生命周期,包括大數據的采集提取清理(數據工程)、管理、分析、可視化等多個主要階段,如圖2所示。各階段需要滿足海量、異構、實時、人機交互等功能或性能需求。例如,大數據的采集通常是在多源異構環境中進行的,難以保證足夠高的數據質量,而這種復雜性將會為大數據分析與建模帶來不確定性甚至錯誤的結果??梢?#xff0c;大數據生命周期中各個階段緊密相連、環環相扣,協作形成大數據應用解決方案。
圖2?大數據應用開發的過程框架
在大數據應用開發的過程中,數據工程師需要掌握多個階段的大數據系統軟件技術,根據領域的數據類型(時間序列、流程數據、非結構化數據等)、功能需求(采集、存儲、計算、分析、展現等)和性能需求(如讀寫時延、并發量等),在大數據軟件組件中選擇恰當的構件,并手動進行配置和部署,然后在此基礎上進行應用開發。隨著大數據系統軟件的復雜性不斷增加,軟件發布迭代的頻率也越來越高,大量的手動配置、反復試錯不能滿足快速交付的需求。此外,在開源大數據生態系統上進行應用開發和運行具有很高的門檻,易用性成為領域用戶對大數據系統軟件的迫切的需求之一。面向領域的應用還需要研制領域特定的工作環境,通過配套的軟硬件資源和平臺,為大數據技術提供實驗、測試環境,實現大數據技術與領域知識的深度融合,為大數據技術的領域化提供有效的渠道。
為此,需要建設大數據應用的開發與運行環境,實現多樣化大數據系統軟件的快速、自動、智能的裝配和運維,為領域專家提供“端到端”的大數據系統軟件技術支持。具體說,就是領域專家只需要關注輸入端的數據和需求以及輸出端的結果和決策即可,兩端之間的中間環節,包括數據準備、管理、分析、可視化等,都盡可能地對領域專家隱藏。在構建大數據應用系統的過程中,領域專家無須深入了解中間環節,可將其整體視為黑盒來使用。
重點針對新型工業、國家安全、公共服務等領域大數據應用開發與運行難的問題,研制領域大數據應用開發運行環境,開發需求適配、構件選型、參數配置、自動部署、日志管理、日志分析、性能調優、故障診斷等開發運行工具,支持多樣化應用需求建模與系統軟件適配,自動構建領域大數據應用系統,通過日志數據的機器學習與可視化分析實現大數據應用系統智能運維和優化,提高大數據系統軟件的易用性,降低大數據技術在各領域應用的門檻。
以“數為平臺”為基礎,大數據系統軟件國家工程實驗室提出了“1+X”應用架構模式,與制造、能源、農業、民生、軍事等多個重點行業與多個國家級的產業優勢單位合作,沉淀領域平臺,構建產業應用,推動大數據技術同實體經濟深度融合發展,與氣象、環保、工業制造、能源等企業用戶開展領域大數據平臺和應用系統研發。
以氣象大數據平臺為例,為支撐中央和28個省的天氣預報業務,需要對數值模式、衛星云圖、雷達、閃電及遍布全球的地面和高空觀測數據進行分析和處理。數據規模大、時效性要求高,并且持續快速增長。基于清華“數為平臺”的新一代中國天氣預報大數據平臺突破了氣象大數據分布式管理、處理、分析與可視化等一系列技術,將海量氣象數據的存取速度提升百倍。在全球范圍內,首次實現了全部氣象數據從網絡文件集群系統到大規模數據處理平臺的升級換代。
在工業制造業的應用過程中,通過深入研究產業特點,基于平臺的云端結合的設計思路,建設了國內價值最高的智能裝備大數據平臺,采集4 000余種類型的設備狀態、作業操作、環境參數等實時數據;支持遠程發動機運行參數調優,輔助裝備遠程操作;實時匯總和分析全國每臺設備施工量、能耗與排放。例如:實時車輛分布及各省份排名情況;行駛、停止的車輛比例,高發故障的分布及排名情況;不同載重狀態的車輛臺量和占比,物流車在全國各省市的平均碳排放量和車輛的空駛情況。為生產廠商、運輸企業、交管、環保、安全生產等政府部門提供實時的數據支持。物流車數據分析處理流程如圖3所示。
圖3?物流車數據分析處理流程
5 結束語
大數據時代,軟件系統與工程面臨的機遇挑戰體現在互為依賴的兩個方面。一方面,軟件系統與工程應針對大數據處理的需求,研究如何開發支持大數據處理各個環節的軟件技術與系統,形成面向大數據的軟件工程——面向大數據生命周期的一體化集成設計開發環境。另一方面,在軟件系統與工程實施過程中,會涉及大量具有大數據特征的系統運行過程數據,因此有必要對這些多維數據進行充分的關聯挖掘和機器學習,發現數據驅動的開發和運行規律,形成基于大數據的軟件工程方法學,指導大數據軟件系統的開發——面向軟件生命周期的大數據應用系統運行分析工具。
本文分析了大數據系統軟件生態、領域應用、開發運行環境現狀與挑戰,介紹了大規模多源異構數據一體化管理、交互式異構數據分析框架、數據可視化與智能數據工程、領域大數據應用開發運行環境、大數據混源軟件可信驗證等大數據系統國家工程實驗室的技術研發主題,并介紹了依托工程實驗室開發的大數據系統軟件清華“數為平臺”,該平臺形成了面向大數據系統開發和應用全生命周期的技術與應用環路,在制造、能源、農業、民生、軍事等行業已成功應用,并逐步形成大數據系統軟件協同研發社區與應用創新生態環境。
The authors have declared that no competing interests exist.?
作者已聲明無競爭性利益關系。?
作者簡介
王建民(1968-),男,清華大學軟件學院教授、院長,數據科學研究院副院長,大數據系統軟件國家工程實驗室執行主任。
王晨(1983-),男,大數據系統軟件國家工程實驗室、清華大學數據科學研究院工業大數據中心總工程師,四川省工業大數據創新中心總經理,北京市工業大數據創新中心總工程師,昆侖數據聯合創始人,《中國制造2025》路線圖(操作系統與工業軟件)編寫組成員。
劉英博(1978-),男,清華大學軟件學院副研究員,主要從事工業軟件、軟件工程、工業大數據平臺技術、工業大數據分析方面的研究工作。
劉璘(1973-),女,清華大學軟件學院副研究員,主要從事軟件需求工程、知識工程、醫療數據分析技術方面的研究工作。
《大數據》期刊
《大數據(Big Data Research,BDR)》雙月刊是由中華人民共和國工業和信息化部主管,人民郵電出版社主辦,中國計算機學會大數據專家委員會學術指導,北京信通傳媒有限責任公司出版的中文科技核心期刊。
關注《大數據》期刊微信公眾號,獲取更多內容
往期文章回顧
專題導讀:大數據創新實踐
基于公開數據的特殊人群在線活動特征挖掘
基于社會化大數據的音樂文化研究進展
基于密度的停留點識別方法
DeepEye:一個基于深度學習的程序化交易識別與分類方法
總結
以上是生活随笔為你收集整理的大数据系统软件创新平台与生态建设的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言文本操作以及C语言小技巧
- 下一篇: 专题:区块链与数据共享(上)