適用於汽車測試車隊的數據分析

Azure Blob 儲存體
Azure 資料總管
Azure 事件中樞
Azure Functions
Azure IoT 中樞

汽車 OEM 需要解決方案,以將執行試用產品與取得試用產品診斷數據到 R&D 工程師之間的時間降到最低。 隨著車輛的自動化,軟體生命週期較短,數位回饋循環必須更快。 新技術可將數據存取大眾化,並提供 R&D 工程師近乎實時的試用產品診斷數據見解。 安全的數據共用可以加強 OEM 與供應商之間的共同作業,進一步縮短開發週期。

此範例工作負載與遙測和批次試用產品數據擷取案例相關。 工作負載著重於處理診斷數據的數據平臺,以及用於視覺效果和報告的連接器。

架構

此圖顯示汽車串流數據和檔案的分析數據流。

下載包含本文中所有圖表的PowerPoint檔案

資料流程

  1. Azure IoT 中樞 擷取即時、未經處理的遙測數據(A),並從車輛上傳記錄的數據檔(B)。

  2. IoT 中樞 會將即時遙測 (A) 傳送至 Azure Functions 應用程式,將遙測譯碼為 JavaScript 物件表示法 (JSON),並將它張貼至 Azure 事件中樞。

    IoT 中樞 會將記錄的數據檔 (B) 傳送至 Azure Blob 儲存體。 完成的檔案上傳會觸發 Functions 應用程式,以適用於擷取的逗號分隔值 (CSV) 格式,將譯碼的檔案寫入 Blob 儲存體。

  3. Azure 數據總管會將已譯碼的 JSON 遙測數據從事件中樞 (A) 擷取到原始遙測數據表,並從 Blob 儲存體 擷取已譯碼的 CSV 檔案 (B)。

  4. Azure 數據總管會使用 函 Update 式,將 JSON 數據擴充為適當的數據列格式,並擴充數據。 例如,函式會叢集位置數據以支援地理空間分析。

  5. 數據科學家和 R&D 工程師會使用 Kusto 查詢語言 (KQL) 功能來建置其儲存為使用者定義函式的分析使用案例。 KQL 函式包括匯總、時間序列分析、地理空間叢集、視窗化和機器學習 (ML) 外掛程式。

  6. Power BI 會使用動態查詢來建立具有使用者定義查詢的視覺效果。 Azure 資料總管的 Grafana 數據源外掛程式會使用使用者定義的查詢進行近乎即時的更新。

  7. Azure App 服務 應用程式會使用 Azure 地圖服務 數據源轉譯功能,將使用 GeoJSON 格式的使用者定義查詢結果可視化。

  8. Azure API 管理 可讓您存取車輛中儲存的原始數據檔,以及管理第三方數據收集原則的設定 API。

Azure 數據總管架構

此圖顯示用於擷取、展開及擴充數據的 Azure 數據總管函式和方法。

  1. Update() 式會使用下列方法:

    • mv-expand() 將 JSON 結構中儲存的複雜值展開成具有個別訊號的數據列。
    • geo_point_to_h3cell()geo_point_to_geohash() ,將緯度和經度轉換為地理空間分析的地理哈希。
    • todouble()tostring() ,將擷取的值從動態 JSON 物件轉換成適當的數據類型。
  2. Fleet Metadata Last Known Values 檢視會將其他檢視聯結為擷取的一部分,以提供內容。 如果新的使用案例需要重新處理原始遙測,則歷程記錄機隊元數據很有用。

  3. 如有必要, 訊號重複數據刪除 具體化檢視會使用 take_any() 重複數據刪除訊號。

  4. Signals Last Known Values 具體化檢視arg_max()會在時間戳上使用實時報告。

  5. Signals Downs downsampled 具體化檢視會使用每小時和每日預先定義的量化來匯總訊號,以簡化整個車隊的報告。

  6. 儲存的外掛程式函式,例如 DetectAnomaly() 在數據系列中尋找異常狀況。 像是 autocluster 的 ML 外掛程式會尋找離散屬性的常見模式。

  7. GetGeospatial() 式會產生 GeoJSON 檔案,其中包含依地理哈希分組的訊號。

元件

下列主要技術會實作此工作負載:

替代項目

Azure Batch 是複雜檔案譯碼的絕佳替代方案。 此案例牽涉到大量超過 300 MB 的檔案,這些檔案需要以檔案版本或類型為基礎的不同譯碼演算法。

此圖顯示用於譯碼複雜檔案的替代 Azure Batch 方法。

  1. 將記錄的數據檔上傳至 Blob 儲存體 會觸發 Functions 應用程式來排程譯碼。
  2. Functions 應用程式會建立批次作業,並考慮檔類型、大小和必要的譯碼演算法。 應用程式會從集區中選取適當的虛擬機(VM),並啟動作業。
  3. 當作業完成時,Batch 會將產生的譯碼檔案寫回 Blob 儲存體。 此檔案必須適合以 Azure 數據總管支援的格式直接擷取。
  4. 將譯碼訊號檔案上傳至 Blob 儲存體 會觸發將數據內嵌至 Azure 數據總管的函式。 此函式會視需要建立數據表和數據對應,並啟動擷取程式。
  5. Azure 數據總管會直接從 Blob 儲存體 內嵌數據檔。

此方法提供下列優點:

  • Azure Functions 和 Batch 集區能夠穩定且有效率地處理可調整的數據處理工作。
  • Batch 集區提供處理統計數據、工作佇列和批次集區健全狀況的深入解析。 您可以將狀態可視化、偵測問題,以及重新執行失敗的工作。
  • Azure Functions 和 Azure Batch 的組合支援 Docker 容器中的隨插即用處理。

案例詳細資料

汽車 OEM 使用大型原型和測試車輛車隊來測試和驗證各種車輛功能。 測試程式昂貴,因為真正的司機和車輛需要參與,而某些特定的真實世界道路測試案例必須經過多次。 整合測試對於評估複雜系統中電氣、電子和機械元件之間的互動特別重要。

若要驗證車輛功能並分析異常和故障,必須從電子控制單元(ECU)、計算機節點、控制器局域網路(CAN)和乙太網路等車輛通信總線和感測器擷取數 GB 的診斷數據。 過去,車輛中的小型數據記錄器伺服器會將診斷數據儲存在本機作為 master 資料庫 (MDF)、多媒體融合延伸模組 (MFX)、CSV 或 JSON 檔案。 試用產品完成之後,伺服器會將診斷數據上傳至數據中心,該數據中心會進行處理,並將其提供給研發工程師進行分析。 此程式可能需要數小時或有時數天的時間。 較新的案例使用遙測擷取模式,例如消息佇列遙測傳輸(MQTT)型同步數據流,或近乎即時的檔案上傳。

潛在使用案例

  • 車輛管理會評估每個車輛在多個測試案例中的效能和收集的數據。
  • 系統和元件驗證會使用收集的車輛數據來驗證車輛元件的行為落在跨行程的操作界限內。
  • 異常偵測會即時找出感測器值的偏差模式,相對於其一般基準模式。
  • 根本原因分析會使用 ML 外掛程式,例如叢集演算法來識別多個維度上值分佈的變化。
  • 預測性維護結合了多個數據源、擴充的位置數據和遙測,以預測元件到失敗的時間。
  • 永續性評估會使用駕駛行為和能耗來評估車輛營運的環境影響。

考量

這些考慮會實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework (部分機器翻譯)。

可靠性

可靠性可確保您的應用程式符合您對客戶的承諾。 如需詳細資訊,請參閱可靠性要素的概觀 (部分機器翻譯)。

安全性

安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性要素的概觀

請務必了解汽車 OEM 與 Microsoft 之間的責任劃分。 在車輛中,OEM 擁有整個堆疊,但隨著數據移至雲端,某些責任會傳輸到 Microsoft。 Azure 平臺即服務 (PaaS) 在實體堆疊上提供內建安全性,包括操作系統。 您可以在基礎結構安全性元件之上套用下列功能。

所有這些功能都有助於汽車 OEM 為其車輛遙測數據建立安全的環境。 如需詳細資訊,請參閱 Azure 數據總管中的安全性。

成本最佳化

成本優化會探討減少不必要的費用並提升營運效率的方法。 如需詳細資訊,請參閱成本最佳化要素的概觀

此解決方案會使用下列作法來協助將成本優化:

  • 正確設定Raw和Signals數據表的經常性快取和冷記憶體。 經常性數據快取會儲存在 RAM 或 SSD 中,並提供改善的效能。 不過,冷數據便宜 45 倍。 設定適合使用案例的熱快取原則,例如 30 天。
  • 在Raw和Signals數據表上設定保留原則。 判斷訊號數據何時不再相關,例如 365 天后,並據以設定保留原則。
  • 請考慮哪些訊號與分析有關。
  • 查詢最後一個已知值的訊號、重複數據刪除的訊號,以及向下取樣訊號時,請使用具體化檢視。 具體化檢視會耗用比在每個查詢上執行源數據表匯總更少的資源。
  • 請考慮您的實時數據分析需求。 設定即時遙測數據表的串流擷取,可讓擷取和查詢之間的延遲少於一秒,但成本較高,可產生更多 CPU 週期。

效能效益

效能效率是工作負載有效率地調整以符合使用者需求的能力。 如需詳細資訊,請參閱效能效率要件概觀

  • 如果記錄的數據檔數目和大小大於每天 1,000 個檔案或 300 MB,請考慮使用 Azure Batch 進行譯碼。
  • 請考慮在擷取后執行常見的計算和分析,並將其儲存在其他數據表中。

部署此案例

若要部署 Azure 數據總管和內嵌 MDF 檔案,您可以遵循 逐步 教學課程,示範如何部署免費實例、剖析 MDF 檔案、內嵌和執行一些基本查詢。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主要作者:

其他投稿人:

若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。

下一步