長安汽車の Apache Doris に基づく車両インターネット データ分析プラットフォームの構築実践

はじめに: より安全、より快適、より便利な運転体験に対する消費者の要求が高まり続けるにつれ、自動車のインテリジェンスは避けられないトレンドとなっています。長安汽車知能研究所は、長安汽車集団有限公司傘下の研究開発機関として、自動車インテリジェント技術の革新と研究に重点を置いています。さまざまな事業部門のデータ分析ニーズを満たすために、長安汽車は、Apache Doris をベースにした車両インターネット データ分析プラットフォームをアップグレードしました。これは、1 日に数百億のデータのリアルタイム処理をサポートし、2 番目のデータ分析プラットフォームを実現します。数十億のデータクエリに対するレベルの応答により、長安汽車はユーザーを改善する機会を提供し

著者 | 長安汽車知能研究所

インテリジェンスは自動車業界における革命であり、ビッグデータ、人工知能、クラウドコンピューティング、モノのインターネットなどの最先端のデジタル技術を活用して、自動車の認識、分析、意思決定、運用を総合的に行うことを目指しています。自動車の機器やシステムを制御し、自動車の安全性、快適性、利便性、省エネ性を向上させます。

長安汽車集団有限公司傘下の研究開発機関として、長安汽車知能研究所は自動車インテリジェント技術の革新と研究に注力しており、継続的な革新と革新を通じてインテリジェントな運転、インテリジェントなネットワーク接続、インテリジェントな輸送を実現することをビジョンとしています。消費者に、より安全、より便利、よりスマートな旅行体験を提供するための総合的な開発を推進し、中国におけるインテリジェント自動車分野のリーディングカンパニーとなることを目指しています。

自動車インテリジェンスを実現するための鍵の 1 つは、大量の車両のインターネット データを伝送および利用するための安定した効率的なデータ プラットフォームを確立する必要性です。長安汽車知能研究所は、インテリジェント開発の重要なサポートとして、長安汽車グループ全体の車両インターネット データの集約、処理、応用を担当しています。さまざまな事業部門から提出されるデータサポートのニーズを満たすために、車両のインターネットデータ分析プラットフォームが構築され、ビジネス指標分析、品質管理システム、スマートエネルギー消費、スマートな診断とスマートな運用。

この記事では、長安汽車の車両インターネット データ分析プラットフォームの進化と実践経験を詳細に紹介し、1日あたり数百億のデータのリアルタイム処理をサポートし、数十億のデータに対する第 2 レベルの対応を達成した長安汽車の実践経験を共有します。 Apache Doris に基づくデータ クエリさらに、Apache Doris の導入は、ユーザー エクスペリエンスと運転の安全性の向上という点で長安汽車に大きなメリットをもたらし、メカトロニクスからインテリジェンスへの長安汽車の変革と発展を強力にサポートしました

自動車インテリジェンスが直面する課題

近年、長安汽車は目覚ましい売上成長を遂げている。1月から8月まで、長安汽車の独立系乗用車の累計販売台数は100万台を超え、開発の勢いは引き続き高まり、ディープブルー、アビタ、チーユアンに代表される新エネルギーシリーズのブラン​​ド力と製品競争力は引き続き向上した。新エネルギー車の販売台数は前年比102.44%増の約25万6千台となり、新たな売上成長の原動力となった。

自動車販売の急速な増加の裏で、自動車のインターネット データは爆発的な成長傾向を示しており、その最も核となるのは自動車の CAN バス データです。CAN はコントローラー エリア ネットワークです。CAN バスを介して、車両上のさまざまな電子制御システムを統合通信できます。実際の車両の動作中、CAN バス データは車両の安全性、信頼性、高性能を保証する重要な要素となります。

  • 車両システムの監視と制御: CAN バス データを使用して、システム内のさまざまなデバイスやコンポーネントを監視および制御できます。センサーは、温度、圧力、位置などの測定値を CAN バス経由で送信し、他のデバイスやコントローラーがリアルタイムで監視し、適切な措置を講じることができます。同時に、コントローラーはバルブの調整やモーターの駆動などの制御命令を CAN バス経由でアクチュエーターに送信し、システムを制御できます。
  • 車両情報のリアルタイム フィードバック: CAN バス データを使用して、リアルタイムのフィードバック情報を提供できます。たとえば、車両制御システムでは、センサーが CAN バスを介して車両速度、ステアリング角度、ブレーキ状態などのデータを送信し、コントローラーはこれらのデータに基づいてリアルタイムの決定と調整を行い、車両の安全性とパフォーマンスを確保できます。
  • データの共有と調整: CAN バス データにより、異なるデバイス間でのデータの共有と調整が可能になります。CAN バスを介して、さまざまなコントローラーやデバイスが情報を交換し、ステータスや制御コマンドを共有できるため、システム全体のパフォーマンスと効率の向上に役立ちます。
  • ネットワーク管理とトラブルシューティング: CAN バス データは、ネットワーク管理とトラブルシューティングに使用されます。CAN バスを通じて、機器の自動識別、設定、監視を実行して、ネットワーク管理とトラブルシューティングを容易にし、システムの信頼性と保守性を向上させることができます。

コネクテッドカーの販売が成長し続けるにつれて、車両は毎日数千億の CAN データを生成し、クリーン化および処理されたデータも 50 億のレベルに達しています。このように巨大かつ拡大し続けるデータ規模に直面して、膨大なデータから迅速に抽出・マイニングを行うことで、研究開発、生産、営業などの部門にとって貴重な情報をデータで支援することが喫緊の課題となっています。

優れたデータ サポートとサービスを提供したい場合は、まず次の課題に対処する必要があります。

  • 大規模データのリアルタイム書き込みと処理:インテリジェンスを実現するために、車のドア、シート、ブレーキランプ装置などに多数のセンサーが設置され、各センサーが1つ以上の信号データを収集し、データが集約されます。そしてさらに加工されます。現在、長安汽車は少なくとも 400 万台の車両のリンクをサポートする必要があり、車両インターネット データの 1 秒あたりのスループットは 100 万 TPS に達し、毎日追加される新しいデータの規模は数十テラバイトに達します。それはまだ成長しています。データをリアルタイムに書き込む方法が長安汽車が直面する主な課題となっています。
  • 正確かつタイムリーなリアルタイム データ分析要件: 車両のインターネット シナリオにおけるデータ分析には、通常、リアルタイム パフォーマンスが必要です。分析結果を迅速に取得することは、リアルタイム モニタリング、故障診断、早期警告、リアルタイム モニタリングなどのサービスの重要な保証となります。時間的な意思決定。たとえば、インテリジェント診断では、自動車会社は関連する信号データをほぼリアルタイムで収集し、故障の原因を迅速に特定する必要があります。車両のセンサーデータや走行記録などを分析することで、潜在的な故障を事前に発見し、予防保全を行い、車両の信頼性や安全性を向上させることができます。
  • データ ストレージとコンピューティングのコストの削減: データの急速な増加と、完全な書き込みとコンピューティングに対するますます強い需要に直面して、データ ストレージとコンピューティングのコストは上昇し続けています。そのためには、データ プラットフォームには、使用コストを削減するための低コストのストレージとコンピューティング機能が必要です。また、ユーザーがビジネスのピーク時に迅速に容量を拡張し、大規模なデータ コンピューティング シナリオの分析効率を向上できるように、柔軟なスケーリング機能も必要です。

ユーザーにより良い運転体験を提供し、事業部門により正確かつ効率的なデータサポートを提供するために、長安汽車はビッグデータプラットフォームの構築の検討と実践を開始した。

Hive オフライン データ ウェアハウスは超大規模なリアルタイム データ サービスをサポートすることが困難

長安汽車の車両インターネット - Hive オフライン データ ウェアハウス.jpg

長安汽車はまず、Hive を核としたデータ プラットフォーム アーキテクチャを構築しました。処理されるデータには、車両の CAN バス データと埋設ポイント データが含まれます。これらのデータは車両から 4G ネットワークを通じて長安クラウド ゲートウェイに送信され、ゲートウェイはデータをKafkaに送信します。データの規模とストレージ容量の制限を考慮すると、初期のアーキテクチャのデータ処理プロセスは、Kafka によって収集されたデータを Flink を通じて直接処理し、その結果を ETL を通じて Hive に保存することでした。ダウンストリーム アプリケーションは、Spark SQL を使用してレイヤーごとのオフライン計算を実行し、Sqoop を通じて概要データを MySQL にエクスポートします。最終的に、Hive と MySQL はそれぞれアプリケーション層にデータ サービスを提供します。

このアーキテクチャは初期のデータ処理ニーズを基本的に満たしていましたが、自動車の販売が成長し続けるにつれて、毎日数千億のデータ処理と分析タスクに直面する必要が生じるようになり、アーキテクチャの問題が徐々に明らかになりました。

  • データの適時性が保証できない: Hive のインポート速度が遅く、特に大規模なデータを処理する場合、インポート時間が大幅に増加します。同時に、一部の企業は T+1 オフライン タスクに依存しており、リアルタイムのニーズを満たすことができません。さらに、Hive はパーティション カバレッジのみをサポートし、主キー レベルでのデータ更新をサポートせず、特殊なシナリオのデータ更新ニーズを満たすことができません。
  • データ クエリと分析の待ち時間が長い: 10 億レベルを超える大規模なテーブル クエリの場合、Hive クエリのパフォーマンスが遅くなります。SparkSQL を介してデータ ウェアハウスの階層操作を実行する場合、起動時間とタスクの実行時間が長くなり、クエリの応答にも影響します。また、データ ダッシュボードや BI 表示アプリケーションは、Hive から直接クエリすることはできません。Hive 内のデータを、サービスを提供する MySQL にエクスポートする必要があります。これは、Hive の派生パフォーマンスによって制限されます。データ量が大きい場合、エクスポートは、 MySQL への送信に多くの時間がかかり、クエリの応答時間が長くなります。さらに、Java バックエンドを通じて MySQL にクエリを実行する場合、過剰なデータ量もデータ応答時間に影響します。

結局のところ、これらの問題の根本原因は、初期のアーキテクチャが超大規模なリアルタイム データ シナリオにおけるデータ ニーズを満たすことができなかったためであり、そのため長安汽車はプラットフォームのアップグレードを実施せざるを得なくなりました。

技術調査と選定

綿密な調査の結果、長安汽車は、インポート パフォーマンス、リアルタイム クエリなどにおいて大きな利点を持つ、オープンソースのリアルタイム データ ウェアハウス Apache Doris を導入することを決定しました。

  • 豊富なデータ インポート メソッド: Doris は、リアルタイムおよびオフライン シナリオでのデータ インポートのニーズを満たすために、Broker Load や Stream Load などの豊富な組み込みインポート メソッドのセットを提供します。
  • リアルタイムのクエリ分析をサポート: Doris は優れた大規模テーブル結合機能を備え、さまざまな分散結合メソッドを提供するため、結合 SQL の記述が非常に柔軟になり、データ分析の効率が大幅に向上します。さらに、Doris は単一ノード上で数万 QPS という超高同時実行性をサポートしており、過剰なフロントエンド同時実行性による初期のアーキテクチャでのクエリ失敗の問題を解決できます。
  • 使用コストの削減: Doris は MySQL プロトコルと互換性があるため、開発者は MySQL を使用してクエリ ステートメントをより効率的かつ便利に作成および実行できるため、開発効率が効果的に向上します。Doris のミニマリスト アーキテクチャに基づいて、展開、運用、メンテナンスが簡素化されるだけでなく、拡張および縮小の操作もより便利かつ柔軟になります。同時に、Doris には優れた上流および下流のエコシステムがあり、ユーザーに柔軟で効率的なデータ管理および分析エクスペリエンスを提供できます。これらの利点と機能により、Doris の使用コストが大幅に削減されました。

さらに、オープンソース コミュニティの活動も、私たちが考慮する重要な要素の 1 つですApache Doris は、多くの開発者とユーザーをコミュニティに参加させ、共同でコードを寄稿し、品質と安定性の向上に重要な役割を果たしている Doris を改善するよう促しています。同時に、Doris コミュニティはユーザーに包括的なドキュメントと技術サポートを提供し、どんな質問にもすぐに答えて支援することができます。Apache Doris のアクティブさは、私たちが安心して使用できるようにし、技術的な問題を解決します。

Apache Doris 車両インターネット データ分析プラットフォームに基づく

長安汽車の車両インターネット - 車両インターネット データ分析プラットフォーム.jpg

新しい車両インターネット データ分析プラットフォームでは、Doris の Stream Load 機能と組み合わせた Flink を介して Kafka データをリアルタイムで Doris に直接書き込むことができ、同時に Doris Broker Load 機能を使用して Hive データを Doris にインポートすることもできます。分析と計算用。このアーキテクチャでは、Apache Doris がリアルタイム データの計算と処理を担当し、呼び出しのために上流のビジネス プラットフォームにデータを直接出力する結果エンドとしても機能します。

このアップグレードにより、システム上のデータ処理パスが短縮され、大規模なデータのインポートの適時性が保証されます。さらに、Apache Doris の導入により、上流のアプリケーション層に統合データ サービスのサポートが提供されます。これは、クエリ分析の効率を向上させるために重要です。具体的なメリットは以下のとおりです。

  • 便利なデータの書き込みと移行: Doris は豊富なデータ インポート フォームをサポートしており、さまざまなデータ ソースからデータを簡単にインポートできます。次に、Doris は、大規模なデータ移行構成や外部同期コンポーネントの導入を必要とせずに、select への挿入によるデータの高速インポートをサポートします。
  • 統合データ サービス、第 2 レベルのクエリ応答: Doris マルチカタログ機能を通じて、データ アナリストは Doris からデータを直接クエリして、第 2 レベルのクエリ応答を実現できます。次に、Doris Join は優れた機能を備えており、1,000 万を超える結果テーブルをクエリしても数秒で結果を返すことができます。
  • ストレージとコンピューティングのコストの削減: 初期のアーキテクチャでは、Flink を使用してリアルタイムでデータを書き込み、圧縮するには大量のコンピューティング リソースが必要でした。Apache Doris の導入後、Doris ZSTD 圧縮アルゴリズム (圧縮率が 3 ~ 5 倍向上) により、コンピューティングとストレージに必要なリソースが効果的に削減され、Flink コンピューティング リソースを消費せずに Doris 内部で圧縮プロセスを実行することもできます。

T+1 から T+0 まで、リアルタイム データによりスマートな運転体験が向上します

CANバスデータは車両解析において重要な役割を果たしており、車速、回転数、水温など車両の様々な状態情報をCANバス経由で読み取ることができます。これらのデータは車両の走行データを分析する上で非常に価値があり、車両の研究開発部門に貴重な参考情報を提供します。

初期のアーキテクチャでは、車両の CAN データは CAN ID を次元としてアップロードされていましたが、実際の使用では通常、異なる CAN ID の信号を時間に従って整列させて広いテーブルを形成する必要があります。以前は、データ ウェアハウス アーキテクチャ ソリューションでは、最初に Kafka のデータを Hive に書き込んでいましたが、この時点では、異なる CAN ID のデータは異なる行に格納されており、データを複数のデータに変換するには SparkSQL T+1 を使用する必要がありました。さまざまなビジネスドメイン、広いテーブル。ただし、この計算方法は時間がかかり、SQL ステートメントの保守が難しく、データのリアルタイム性が劣ります。

Apache Doris の導入後、Doris の Aggregate 集約モデルに基づいてビジネス ドメインにワイド テーブルを確立し、主キーとして車両と時間を使用し、その他の信号フィールドを定義しましたREPLACE_IF_NOT_NULL詳細は次のとおりです。

長安汽車の車両インターネット-リアルタイム データ.jpg

まず、Flink を使用して、CAN ID ディメンションに従って Kafka でデータを消費できます。Flink では、データはビジネス ドメイン全体のテーブルの構成に従ってシャントされ、同じ CAN ID 上の信号が対応するビジネスに割り当てられます。ドメイン全体のテーブル。異なる CAN ID を持つ同じ車両のデータが同時に同じビジネス ドメイン全体のテーブルに到達した場合、これらのデータを同じ行の異なる CAN ID の信号データ フィールドに入力して、ワイド テーブルの構築を実現できます (上の図の Doris テーブルの例に示されているように)。

この方法では、データは主に Flink を通じて転送され、さまざまな Doris ビジネス ドメイン全体のテーブル (各広いテーブルには約 200 のフィールドがあります) に送信されます。ワイド テーブルの生成ロジックは、Flink でワイド テーブルの位置合わせ操作を実行するのではなく、Doris に配置されます。この設計の理由は、異なる CAN ID のデータのアップロード間に一定の時間差があるためです。時間枠が大きすぎる場合、Flink を使用して車両と時間に基づいて集計すると、過度のリソース オーバーヘッドが発生する可能性があります。

上記の解決策により、データの鮮度を T+1 から T+0 に向上させることができます。同時に、約 10 億行のデータを含む広いテーブルの場合、クエリ効率は数秒で達成できます。つまり、自転車クエリを実行する場合、クエリ結果を迅速に取得できます。

10億レベルのDTC障害コードをリアルタイムでクエリし、車両の運転の安全性を確保

DTC は CAN データ内のフォルト メッセージに属するため、別のビジネス データとして保存されます。毎日の DTC データは 10 億件に達する場合があり、ビジネスエンドがこのデータを便利かつ効率的に使用し、故障診断を迅速に実行し、車両の安全性を向上させるためには、DTC 故障コードの詳細データを MySQL ビジネス構成に関連付ける必要があります。テーブル。

初期のアーキテクチャでは、開発者は毎日大量の DTC データを Kafka に書き込み、Flink を通じてリアルタイムで処理し、結果を Hive に保存する必要がありました。このアプローチにはいくつかの問題があります。

  • 10 億のデータ量を持つテーブルに直面すると、リアルタイム クエリのためにそれを MySQL にインポートするのは困難です。Hive に直接クエリを実行すると、クエリのフィードバック時間が非常に長くなり、ビジネス ニーズを満たすことが困難になります。
  • MySQL の構成テーブルに直接関連付けることはできないため、構成テーブルを定期的に Hive データ ウェアハウスにインポートする必要があります。これによりデータ処理のニーズを満たすことができますが、DTC 構成のリアルタイム性が失われます。

長安汽車の車両インターネット-リアルタイム クエリ.jpg

Apache Doris の導入後、上図に示した処理方法を使用することで、初期のアーキテクチャの問題が解決されました。まず、HDFS ファイル インポートを通じて Hive の DTC 詳細データを Doris にインポートし、次に対応する MySQL カタログ接続を作成します。最後にバックエンド Java を使用して MyBatis を通じて Doris データベースに接続し、SQL を使用してカタログを通じて MySQL の DTC 構成テーブルに接続します。 Join.操作では、直接クエリを実行して、リアルタイムで結果を返すことができます。

Apache Doris を通じて 10 億レベルのデータのリアルタイム クエリが正常に完了し、関連する MySQL 構成テーブルに対して直接相関クエリを実行でき、構成のリアルタイム更新が正常に達成されました。

概要と計画

Apache Doris の優れたパフォーマンスにより、長安汽車には数十台のマシンが導入され、10 近くの事業ラインをサポートしており、毎日処理されるデータの規模は数百億に達しています。Apache Doris の導入は、ユーザーのカーエクスペリエンスの向上、車両故障のリアルタイム警告、車両の安全運転の確保において長安汽車に大きな成果をもたらし、インテリジェンス方向の技術革新を強力にサポートしました。

長安汽車は今後、ラベルおよびインジケーター事業に Apache Doris をさらに適用し、以下のニーズを満たす予定です。

  • ホット データとコールド データを自動的に識別する: ホット データは Apache Doris に保存し、コールド データは Hive に保存して、より効率的なデータ アクセスと管理を実現します。
  • ビジネス範囲の拡大: 既存の Doris ビジネス SQL コードを最適化し、Doris の特定の機能を活用し、これらの機能に適したビジネスを Doris に移行することで、データ処理とクエリの効率が向上します。
  • コミュニティを一緒に構築する: Doris の最新バージョンと新機能の使用を積極的に試み、コミュニティと歩調を合わせ、新しいテクノロジを常に探索して適用してコミュニティにフィードバックし、コミュニティの発展に貢献します。

最後に、Apache Doris コミュニティとFlywheel Technology 技術チームの積極的なサポートに心から感謝し、長安汽車のインテリジェントな発展を促進し、ユーザーにより良い運転体験を提供するために、今後も協力していきたいと思っています。

Alibaba Cloudが深刻な障害に見舞われ、全製品が影響(復旧) Tumblr がロシアのオペレーティングシステムAurora OS 5.0 を冷却新しいUIが公開 Delphi 12とC++ Builder 12、RAD Studio 12多くのインターネット企業がHongmengプログラマーを緊急採用UNIX時間17 億時代に突入しようとしている (すでに突入している) Meituan が兵力を募集し、Hongmeng システム アプリの開発を計画Amazon が Linux 上の .NET 8 への Android の依存を取り除くために Linux ベースのオペレーティング システムを開発独立した規模はFFmpeg 6.1「Heaviside」がリリースされまし
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/5735652/blog/10143334