民機運行支持數據湖設計研究
時間:2022-04-23 10:30:12
導語:民機運行支持數據湖設計研究一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:隨著大數據技術的發展,如何存儲和處理各類民機運行支持數據,為企業用戶提供所需數據,已成為主制造商企業進行數字化轉型、洞察企業盈利和增值的關鍵因素之一。當前,主制造商數據采用傳統數據庫或數據倉庫的模式無法滿足航空運行數據指數級增長的需求。同時,數據管理標準、格式差異較大,不同用戶無法快速獲取有用信息,造成“企業數據孤島”。鑒于此,本文提出了一種基于Lambda的運行支持數據湖系統設計方法。首先介紹了數據湖的概念和特點。然后,介紹了基于Lambda的運行支持數據湖系統的架構設計方案。結合運行支持數據湖的服務需求對系統功能進行設計。基于Angular、SpringBoot等開發了民機運行支持數據湖系統,為主制造商開展集中式數據管理、挖掘數據應用價值,實現企業數字化轉型提供支撐。
關鍵詞:民機運行支持、數據湖、Lambda
隨著數字化、大數據技術的發展,數據已成為驅動航空企業特別是民機主制造商企業創新、盈利、增值的關鍵要素之一。民機主制造商數據量、數據來源和數據格式日益增多[1]。企業需要一個能夠存儲各類原始數據的大型倉庫,用于處理各類數據,以滿足不同業務對數據的存儲、處理、分析及傳輸需求,為挖掘數據價值提供高性能的服務支撐[2]。國外航空主制造商GE構建以Postgre+mongoDB+Redis+Blob(S3)的數據湖存儲組合技術的大規模存儲技術的民航數據湖生態系統,以滿足不同數據集探索發現、分析、數據服務和報告及可視化服務的需求[3]。目前,國內民機主制造上大多采用傳統數倉模式進行數據管理,數據標準格式差異較大、應用端數據獲取不規范,導致數據質量不足,數據分析應用困難,造成數據孤島和冗余現象[4,5]。本文提出基于Lambda模型的民機運行數據湖系統設計方法。數據收集、管理、業務分析用戶可在系統中完成數據獲取、清洗、標準化轉換以及定制、自助的數據服務等功能,形成數據資產目錄,挖掘數據應用價值,助力民機主制造商企業和數據應用決策,實現以客戶/服務為中心的數字化轉型。
1數據湖的概念及特點
1.1數據湖概念
數據湖是一個可以存儲任何形式(包括結構化數據、半結構化數據和非結構化數據)、任意規模的原始數據倉庫[6]。結合用戶使用需求決定對哪些數據湖原始數據進行結構化處理。通過對數據的查詢、處理、分析消費,幫助企業用戶快速挖掘數據有用信息。對于民機主制造商而言,數據包括生產類數據、運行類數據、經營類數據、管理類數據、外部綜合類數據五類。生產類數據如PLM數據、EBOM/MBOM等,需同飛機構型管理數據保持一致,此類數據變更頻率不高,屬于相對靜態數據運行類數據主要以時間線進行分類、分層管理,分為飛行類數據、維修類數據、燃油效率類數據,如機上FDR/DAR/QAR數據、ACARS、EFB數據以及地面例行工卡/非例行工卡等。此類數據需要實時或近實時更新,數據變更頻率較高,屬于相對動態數據;經營類數據,如ERP數據、SCM數據、CRM數據,此類數據支撐運行經濟性分析和企業經營,是經營決策的重要依據;管理類數據包括各類運行支持計劃、進度、問題改進措施、解決方案等轉化形成的數據以及組織、人員等管理要素數據;外部綜合類數據,如氣象數據、地理數據、油價數據、空管航線數據、航旅流量數據等,主要來源于第三方數據源。本文研究內容主要針對民機主制造商運行類數據。民機運行支持數據湖旨在收集、存儲飛機自交付、運營過程產生的氣象、地理、機場、航班運行、維修等原始數據。數據形式包括數據庫存儲的結構化數據、EXCEL、XML等半結構化數據以及PDF、WORD、音視頻等非結構化數據。民機主制造商用戶可對數據進行結構化處理,便于數據分析人員進行數據分析。同時,為了增強用戶使用分析體驗,民機運行支持數據湖還為用戶提供可定制、自助式服務、數據中臺和標準化、簡單易用的數據服務,使得數據分析人員更專注于數據、算法和業務,加快民機主制造商產品迭代,增強用戶的購機體驗,形成民機主制造商數據生態。
1.2數據湖的特點
依據數據湖的普遍定義,數據湖具有以下幾個特點:1)類型多樣。數據湖可存放各種類型的數據,包括結構化數據、PDF、WORD等非結構化數據、EXCEL、XML等半結構化數據。數據湖可處理所有類型的數據。數據類型依賴于數據源系統的原始數格式。對于民機運行支持數據湖而言,包括運控系統數據、維修類工卡數據、飛行記錄本、駕駛艙音視頻數據等;2)原始記錄。數據湖收集各類原始數據,并保留數據最原始的特征,為數據的加工和消費提供豐富的可能。對于民機運行支持數湖而言,是否有數據轉換、清洗、加工等處理需求,所有數據入湖必須存儲原始數據;3)海量存儲和計算能力。數據湖擁有強大的計算能力,用來處理和分析所有類型的數據。用戶也可根據需求將處理后的數據存儲成各種類型數據文件格式。所有分析后產生的數據均會被存儲起來供用戶使用。除了具備上述特征外,民機運行支持數據湖還具備可定制、自助式的數據服務、數據中臺服務的特點。1)可定制、自助式的數據服務。對于民機運行支持數據湖而言,可靠性工程師需要航司日報數據、基礎數據、發動機運行數據等進行可靠性分析;維修工程師需要利用QAR數據、ACARS數據、CMS數據、維修工卡、EO、AMM手冊等進行維修狀態監控和維修預測;飛行運行支持工程師則需要QAR數據、ACARS數據、飛行履歷本、氣象地理數據等開展飛行品質分析服務。不同類型用戶,數據分析需求也不同。因此,數據湖需要為用戶提供可定制和自助式等多種服務模式,增強數據服務的彈性。各類工程師可根據自身需求,采取數據訂閱或自制視圖的方式形成服務于自己日常工作的數據集,進而開展建模、監控、分析工作;為避免數據集的冗余、更高效地實現數據的高效消費,系統需支持數據和分享,幫助其他業務相關用戶快速獲取數據集。系統也為數據工程師提供在后臺不同數據視圖應用情況分析功能,幫助用戶發現更深層次、更多維度的數據關系,組合或構建更高效的服務新視圖,或對數據湖集成、存儲、消費環節進行優化,以提高整體運行效率。2)數據中臺服務。隨著視圖數據的增多,必定會產生一些重復度高、使用頻率高的數據服務需求,數據工程師可整合相關需求,開發標準化的數據服務(DataService),形成輕量級服務對外公開數據,例如QAR譯碼服務等。由于數據湖中大量業務數據以原始形態被提供給消費者,存在數據形態斑駁,質量參差不齊,數據延遲等問題,導致分析人員需要花費大量時間進行數據整備工作,數據中臺可將同質化服務需求整合后,提供標準化服務接口,迅速拉近數據與分析業務應用之間的距離,使數據分析人員可以更加專注在分析建模和應用開發本身,從而縮短項目周期,加快產品迭代速度。
2運行支持數據湖設計方案
由于航空主制造商有大量的存量系統和不斷新建的新系統,因此很難從零開始構建一個全新的數據湖以承擔企業數據中心的職責,傳統企業構建數據湖首先應該對數據及數據關系進行分類,定義統一的企業模型,調整現有數據流程,并以增量的方式逐步構建數據湖。數據湖的多種數據處理方式,大致可以分為批處理和(近)實時數據處理,這兩種場景在航空企業普遍存在。為同時發揮流處理和批處理的優勢,保證大型數據集執行跨度的可伸縮性、數據負載等,本文提出了基于Lambda架構的主制造商運行支持數據湖的構建方法。民機運行支持數據湖工作流程如下圖所示。數據流入是構建數據湖的起始。主制造商運行支持數據湖數據源包括飛行類數據、維修類數據、燃油效率類數據,如機上FDR/DAR/QAR數據、ACARS、EFB數據以及地面例行工卡/非例行工卡等。通過自動/半自動方式,從數據源獲取批量/流式數據。由于數據來源不同,在使用數據之前,需要對數據進行清洗、熔接、縫合,完成數據的集成。數據清洗是對重復數據、錯誤數據和缺失數據的剔除和修正過程,以滿足后續對數據的操作和數據可用性。數據的集成過程需要借助于ETL等工具。集成后的數據進行標準化規范,存儲至數據庫中,形成數據資產目錄和數據圖譜。用戶可按需直接提供流式數據服務。當數據更新后,更新數據資產目錄和數據圖譜。在此基礎上,數據工程師和業務工程師開展數據應用消費包括數據分析、大數據處理、自助工具與服務等,便于應用端用戶更專注于數據應用,深入挖掘數據價值。
2.1基于Lambda模型的民機運行支持數據湖架構設計
Lambda架構是一種整合離線計算和實時計算的大數據處理框架。通過批處理和實時處理功能來平衡數據延遲,實現數據容錯,具備高容錯、低延時和擴展性好等特點。盡管Lambda架構將多種大數據組件串聯在一起實行一體化管理,但仍會在后續數據治理和開放能力上存在問題和痛點。因此,本文在搭建基于Lambda架構的民機運行支持數據湖架構的過程中,提供了多種平臺及工具來助力民機運行支持數據湖的構建。基于Lambda架構的民機運行支持數據湖架構分為數據獲取層、消息層、批處理層、快速處理層、服務層和數據存儲層,如下圖所示。1.數據獲取層:從多個數據源獲取數據,并轉換為消息層可處理的消息或事件,轉換的目的是最小化傳輸延遲,且消息層如無法到達,數據獲取層需緩存數據以備故障恢復。民機運行支持數據包括外部源系統實時數據以及人工獲取的大量歷史數據。使用SQOOP、Flume工具完成數據的收集。使用SQOOP工具可將源系統關系型數據庫數據收集存儲至目標位置。使用Flume工具可確保數據聚合存儲在目標位置。當系統組件、硬件發生故障或網絡帶寬性能不佳時,Flume仍能保證系統主要功能運轉,而非完全關閉。為了避免大量數據無組織入湖導致出現“數據沼澤”的現象,系統設置多個Flume,確保數據湖中的數據可以按照不同的維度組織起來,例如,不同航司獲取的數據存儲在各自單獨的目錄中。2.消息層:主要為數據湖架構里的消息中間件,主要作用是讓數據湖各層組裝件之間解耦,同時保證消息傳遞安全性。消息層支持隊列通信與/訂閱兩種模式,即一對一和一對多消息消費模式。民機運行支持數據湖采用Kafka組件作為中間層實現數據源和數據消費者的解耦。源數據匯聚至Flume,經由kafka消息中間層一方面將原始數據寫入Hadoop文件系統存儲起來,另一方面,基于kafka的、訂閱功能以及高可靠性、低延遲的特性將數據流入數據攝取層。3.數據攝取層:主要作用是攝取數據用于處理和存儲,即將數據快速傳遞到Lambda架構的工作模型中,該層關鍵功能包括:a)可按需擴展的負載能力;b)容錯和故障轉移能力;c)多線程多事物并行處理能力;d)快速將所獲取數據結構轉換為目標數據格式的能力,包括非結構化、半結構化數據轉結構化數據。例如飛行數據譯碼、圖像數據轉換都在這一層完成。基于民機運行支持數據的批量性和實時性的特點,攝取層采取Flink技術,提供數據并發以及并行化計算的流數據處理引擎,保證數據在大規模運行過程中,出現無序或者延遲加載的情況下可以提供準確的數據處理結果。4.批處理層:批量處理已提取數據,并轉換輸出為數據模型,為服務層提供輸入。該層主要任務包括:在已攝取的原始數據基礎上執行數據清洗、數據處理、數據建模算法;進行機器學習算法或數據科學處理,以產生高質量的數據模型;通過、檢錯等任務提高模型數據質量;具備故障恢復能力。采用HDFS將不同源系統不同類型的原始數據進行持久化存儲。采用Pig技術用于數據訪問和處理。Pig提供數據流功能,可將ETL功能抽象出來,允許用戶查檢索大型數據集,并進行必要操作。最后根據需求將計算結果存儲起來。使用Hive技術,基于民機運行過程將數據劃分多個主題域構建民機運行支持數據倉庫,并提供數據匯總和即席查詢。5.快速處理層:將從數據攝取層獲取的數據進行近實時處理,以滿足對數據快速、高效、并發場景的需求,該層需確保數據處理、存儲、讀取能力達到近實時的預期,一般都建立在內存消息傳輸功能之上。采用Flink實現基于內存計算的近實時數據處理和開箱即用的windowing功能,不僅基于事件時間,還可基于計數和會話。當出現數據故障,進行數據恢復過程中,不會造成數據損失。6.服務層:服務層在Lambda架構中負責數據的對外提供,支持各種數據傳輸協議,是數據消費的接口層,對內從數據存儲層消費數據,對外向數據消費者按約定接口提供數據傳輸,一般包括數據推送(數據導出、數據)和數據拉取(數據服務、數據視圖)兩種方式。如向維修工程師推送關注架機的最新維修工卡記錄就是典型的數據推送,而為某個飛行品質APP以數據服務接口的方式提供數據更新則是拉取動作。采用SpringBoot快速搭建服務層,并與Swagger等服務定義工具,為構建和通用REST服務。使用Hive技術實現數據視圖、報表處理和即席數據分析。使用pig或Sqoop技術組件,通過預先設置的cron任務將數據從數倉中導出。7.數據存儲層:存儲數據湖所有數據,由于攝取數據操作包括批處理和近實時處理兩種,因此存儲層要至少支持兩種類型的存儲模式,一般用Hadoop處理串行讀寫的批量數據,而用Flume處理需要隨機訪問和快速檢索的流式數據。數據存儲層應同時支持關系數據存儲和分布式存儲,如數據分析所需的關鍵參數,應存儲在關系型數據庫中提高檢索效率,而原始數據的存儲可采用Hadoop分布式解決方案。采用HDFS存儲所有不同類型的原始數據。基于Elasticsearch建立索引數據服務,幫助用戶進行快速檢索。綜上所述,Lambda模型中新增數據將同時分配到批處理層和快速處理層,分別形成批處理視圖和快速處理視圖,查詢命令會合并兩個視圖來生成適當的查詢結果。
2.2運行支持數據湖功能
運行支持數據湖包括數據收集、數據管理、數據中臺、系統監控和系統維護以及個人中心組成,如下圖所示。數據收集模塊完成不同類型數據的導入,數據的流轉配置、數據清洗、標準化轉換以及數據模板和數據字典的維護功能。根據數據的類型,系統為用戶提供了作業管理、半結構化數據導入、非結構化數據導入功能。作業管理實現系統到系統的數據抽取功能。此外,作業管理也提供數據轉換標準化作業的新建、監控、管理功能。半結構化數據導入提供EXCEL等數據的導入、解析以及數據映射。非結構化數提供視頻、圖片、文檔等數據的導入、數據映射和表單錄入功能。數據清洗提供清洗規則庫的配置維護功能和重復數據、錯誤數據和缺失數據的修正以及修正數據重新映射功能。數據轉換提供數據轉換規則的配置維護功能和轉換問題數據的修正和修正數據的重新入庫功能。數據管理模塊完成元數據的管理功能、主題標準化數據管理和原始數據管理功能。元數據提供系統元數據的查看和數據依賴關系的查看功能。主題數據管理提供轉換作業標準化后數據的管理功能。標準化數據按照飛機運行過程業務分為基礎數據、試驗與驗證數據、飛行與運行數據和維修與工程數據。原始數據提供不同數據源接入原始數據的管理功能。數據管理功能針對數據管理類用戶。數據中臺模塊提供數據資產、統計分析、數據自助服務、原始文件借閱、數據發放功能,主要面向數據分析和業務分析人員。用戶在數據中臺可查看形成的數據資產目錄信息,支持對數據打標簽。對于沒有數據權限的用戶,用戶可以申請數據發放權限。同時,用戶可借閱原始數據文件。針對一些重復度高、使用頻率高的數據應用需求,系統提供數據應用支持和統計分析功能。由于不同類型用戶的數據分析需求也不同,系統還提供了數據自助服務功能,支持數據分析用戶自定義數據報表、自定義視圖、數據訂閱和自定義數據API,便于業務分析人員快速進行數據消費,了解數據價值。系統資源的使用情況關乎整個數據湖系統的穩定性、可靠性。系統監控主要監控CPU利用率和I/O內存利用率等。當數據湖中CPU利用率和和I/O內存利用率超限時,管理員可第一時間發現問題進行排查,增強系統用戶的使用體驗。系統維護提供系統用戶信息管理、組織機構信息維護、系統功能和數據權限管理以及系統使用幫助信息的維護管理功能。
3軟件實現
系統基于Lambda架構,采用前后端分離和微服務的原則,采用Angular,SpringBoot、Echars、Redis等設計開發,數據庫用PostgreSQL和HDFS,借助于kettle開源的ETL工具完成系統對系統結構化數據的抽取,如下圖所示。民機運行支持數據湖實現流程如下圖所示。用戶需梳理原始數據,結合數據入湖后的數據流向配置數據字典、數據模板、清洗規則、映射關系、轉換規則。結合源數據的獲取方式(包括文件上傳、接口獲取、人工錄入等)以及數據格式(包括結構化、半結構化、非結構化)從不同的功能入口完成不同類型數據的收集、處理,經過數據標準化轉換作業形成標準統一的數據,建立數據資產。通過對數據的聚合、導出、實現數據的統計分析、自助服務和數據應用。
4數據湖應用結果與分析
以某型號某航數據為例,在民機制造商數據收集過程中,需要收集PDF、EXCEL、WORD的文件類型數據,將其作為民機運行支持數湖的輸入。通過對不同類型數據的收集、存儲、處理、標準化、整合,大大提高數據管理人員的工作效率。業務分析人員通過對數據中臺的數據應用、數據自助服務等功能可快速完成數據的聚合、分析,快速響應用戶數據分析的需求,降低了企業成本。數據管理人員通過監控數據的使用情況可快速了解數據價值,清理無價值的數據,避免出現“數據沼澤”。
5結束語
本文設計實現了一種基于Lambda的運行支持數據湖系統,解決了傳統數據庫、數據倉庫無法滿足航空數據指數級增長、毫秒級攝取、多維度應用的問題,為主制造商開展集中式數據管理,實現數字化轉型提供支撐。同時,基于Lambda的運行支持數據湖系統有利于形成以單一架機視圖(SingleAircraftView,SAV)為核心的數據服務,通過將數據科學和機器學習技術,幫助業務部門高效利用數據,挖掘潛在價值,幫助主制造商優化設計制造,制定更靈活、更有針對性的經營策略,為航空公司運行運營工作提供支持。然而,存在不同航空公司對于同一數據定義不同以及各航空公司數據質量參差不齊的情況。隨著接入數據來源種類的增多,如何優化運行支持數湖系統[7],建立更為完善的數據湖安全及將是未來研究需要重點解決的問題。
參考文獻:
[1]Walker,Coral,PersonalDataLakewithDataGravityPull[C].5thIEEEInternationalConferenceonBigDataandCloudComputing,BDCloud2015:160-173.
[2]HalevyAY,KornF,NoyNF,OlstonC,etal.,WhangSE(2016)ManagingGoogle'sdatalake:anoverviewofthegoodssystem[J].IEEEDataEngBull39(3):5-14.
[3]王一揚.GE的工業數據湖平臺[J].新理財,2015:45-46.
[4]Sun,Dapeng(1).Bigdatalearningresourcesintegrationandprocessingincloudenvironments[J].JournalofChemicalandPharmaceuticalResearch,2014,6(5):936-943.
[5]郭文惠.數據湖技術——一種更好的大數據存儲架構[J].電腦知識與技術,2016(30):4-6.
[6]NataliaM,AlexanderT.BigData,FastDataandDataLakeConcepts[J].ProcediaComputerScience,2016,1(88):300-305.
[7]邱燕娜.數據湖不能成為數據沼澤[N].中國計算機報,20159(28):011.
作者:馬馳 單位:上海飛機客戶服務有限公司
- 上一篇:拖拉機用電控柴油機油門控制策略
- 下一篇:數據分析教學流程優化設計研究