HUOXIU

百度取引プラットフォーム:システム調整

出典: Baidu Geek Talk


著者 | スカイ


導入
導入

Baiduのトランザクションプラットフォームは、グループのモバイルエコシステム戦略の基盤として機能し、ビジネスを強化し、POS取引や決済・清算シナリオのための効率的なトランザクションエコシステムを提供しています。現在、Baiduエコシステム内の複数の製品ライン(Baidu Store、ミニプログラム、Baidu Maps & Taxi、Baiduの文心易言プラットフォームなど)をサポートしています。この記事では、Baiduトランザクションプラットフォームのトランザクションチェーンシステムにおけるデータ整合性のための照合システムについて主に紹介し、特に準リアルタイムの照合とオフラインのビッグデータ照合に焦点を当てます。


全文は 5224 語から成り、読むのに 14 分かかると推定されます。


オタクトーク

01

序文
取引プラットフォームは、百度ミニプログラム、百度マップ配車サービス、百度健康、百度文庫、百度電子商取引などの事業に支払い、注文、決済サービスを提供しています。取引業務の急速な発展に伴い、取引注文数は日々増加しており、日々の取引総額と決済資金も潤沢です。主に、取引注文、決済チャネル請求書、取引マーケティング、取引履行、データセンター、決済センター、マーチャントファンドプール、銀行支払い、データ台帳、百心銀行など、10を超える社内取引システムからの取引データを使用しています。本稿では、システム照合について、主に取引データの正確性と一貫性を実現し、確保する方法を紹介します。

オタクトーク

02

システム紹介

取引システムのコアコンポーネントには、レジ、取引注文、取引マーケティング、取引履行、データセンター、決済センター、キャッシュプール、データ元帳などがあります。

  • キャッシャー: WeChat Pay、Alipay、UnionPay (法人および個人)、Du Xiaoman Pay、Baidu QuickPass、Huifu Payment、JD Pay をサポートし、キャッシャー支払伝票とキャッシャー払い戻し伝票を生成する、集約された支払い機能を提供します。
  • 取引注文ユーザー、加盟店、商品、在庫、アフターサービスといった主要なビジネスプロセスを繋ぎ、取引プロセス全体を推進する中核を担うのがこれらの注文です。注文システムは、注文プロセス管理、在庫・マーケティング管理、価格設定エンジン、フルフィルメントサブプロセス、アフターサービス、返金情報管理といった一連の機能を備え、取引注文と返金注文を生成するエントリーポイントとして機能します。
  • トランザクション マーケティング:プロモーション活動や特定のトランザクション条件を通じてマーケティング注文を生成することで顧客を引き付け、売上増加を促進することを目的として、マーケティング予算、マーケティング在庫、マーケティング キャンペーンを管理する機能を提供します。
  • 取引履行販売者が署名した商品の拘束関係に基づいて、引き換えられた商品が提供する対応するサービスを履行またはキャンセルし、履行注文とキャンセル注文を生成します。
  • データ センター:取引注文、返金注文、履行済み注文、キャンセルされた履行済み注文を収集し、決済センターが依存する決済契約および販売者や仕入先情報などの主要データを補足し、バウチャー注文を生成します。
  • 決済センター決済契約に基づき、該当する加盟店サプライヤーへの注文の支払いを決済します。決済請求書を発行し、最終的に加盟店のキャッシュプールに入金されます。
  • 資金プール加盟店に資金残高、資金フロー記録、および決済処理機能を提供します。また、取引記録、資金プール残高、および支払伝票を加盟店に提供します。
  • データ会計センター取引プラットフォームの統合データアウトレット。注文、決済請求書、キャッシュプールフローを網羅します。加盟店はこのシステムを通じて収入、その他の支払い、経費を直接照会し、日次、月次、年次の財務調整情報を受け取ることができます。

全体の概要は次の図に示されています。


取引プラットフォームは、百新銀行や集約された支払いチャネルなどの外部コアシステムに接続します。

  • 百新銀行:取引ミドルプラットフォームにおいて、取引のアクイジション、クリアリング、決済を一括処理し、「ワンストップクリアリング」を実現します。「ワンストップクリアリング取引」「ワンストップクリアリング償却」「ワンストップクリアリング収入」「ワンストップクリアリング支払」の指示書を提供します。

「ワンタイム取引」 :取引プラットフォームと百新銀行の間で交換される請求書の受け取りと返金の手順。

「ワンストップ検証」 :取引プラットフォームと百新銀行間の資金フロー明細書を検証するための指示。

「ワンクリアランス収入」 :百新銀行とのやり取りにおいて決済サービスチャネル手数料を徴収するための取引プラットフォームからの指示。

「ワンストップ支払い」 :これは、百新銀行と連携する加盟店の資金プールが銀行カードに自動的に資金を送金するための指示です。

  • 集約された支払いチャネル: WeChat Pay、Alipay、UnionPay (法人および個人)、中国銀行デジタル通貨支払い、Du Xiaoman Payment、Baidu QuickPass、Huifu Payment、JD Pay など、請求書の支払いオプションを提供します。


オタクトーク

03

背景と問題点

取引プラットフォームにおける決済サービスの多様化に伴い、取引注文量は急速かつ活発に増加し、取引決済サービスの複雑性も継続的に高まっています。まとめると、以下の特徴が挙げられます。

1. 複数の取引シナリオ: 販売シナリオ(流通販売とセルフ販売)、ショッピングカートシナリオ、複数当事者の収益分配シナリオ、ホストマーケティングシナリオ、および国境を越えた支払いビジネスシナリオがあり、それぞれ独自の取引および決済モデルがあります。

2. 長い取引チェーン:支払いから決済までは、レジ→取引→フルフィルメント→データセンター→決済センター→キャッシュプール→会計事務所という流れになり、チェーンシステムのデータ一貫性が保証される必要があります。

3. 大量注文:毎日の注文量と月間決済額が急速に成長しており、月間取引データ量もTBレベルに達しています。

このような取引においては、取引データの正確性と適時性を確保すると同時に、フルフィルメント、決済、資金請求、そして加盟店への支払いの適時性と一貫性も保証する必要があります。これは、当社の照合システムにとって大きな課題となっています。以下の図は、取引システムの運用中に発生する問題の一部を簡単に示しています。

上記の問題からわかるように、これらの問題は基本的にシステム間のデータの不整合によって引き起こされますが、これはこれらのシナリオに限ったことではありません。このような問題、つまり「データ整合性」の問題は、システムとデータの相互作用が関わるあらゆるシナリオで発生します。

「データの不整合」には、次のようにさまざまな原因があります。

1. 高い同時実行性の不適切な処理、およびインターフェースのべき等性に関連する問題。

2. ネットワーク環境の障害: データセンター ネットワークのジッタ、データベース ネットワークの異常、メッセージ ミドルウェア サービスの異常など。

3. オンライン コードのバグ、不完全なビジネス統合プロセスなど

「データの不整合」の影響は次のとおりです。

1. ユーザーの注文や支払い能力に影響を与え、ユーザーに損失をもたらし、企業に注文を減少させます。

2. 期日を過ぎた決済は顧客からの苦情の増加につながり、さらに深刻な場合には経済的損失につながる可能性があります。

3. 財務決算に影響を及ぼし、データの不一致の問題を解決するために多大な人的投資が必要になります。

一貫性の問題に関しては、業界ではすでに非常に成熟したソリューションが存在します。Baiduで「一貫性の問題」を検索すると、この問題に関する数多くの説明、定義、アプローチ、解決策が見つかります。

1. 強力な一貫性プロトコル: 2 フェーズ コミット、3 フェーズ コミット、TCC (Try-Confirm-Cancel) など。

2. 結果整合性: アクティブポーリング、非同期保証、信頼性の高いメッセージング、メッセージトランザクションなど。

これらのソリューションは、取引中に問題が発生するのを防ぐことを目的としています。しかし、現実の取引シナリオでは、システムの内部動作と外部環境との相互作用は複雑で不安定、かつ予測不可能であるため、データの不整合を完全に回避することは困難です。そのため、事後的にデータの問題を特定し、迅速に修正することも非常に重要です。これが、本稿で解説する「リコンシリエーションシステム」の中核機能です。
この記事では、「ほぼリアルタイム」の調整と「T+1」のオフライン調整機能の両方をカバーする調整システムを紹介します。

1. 「ニアリアルタイム」リコンシリエーションシステム:トランザクションチェーンシステムデータベースのbinlogファイルを監視します。上流システムは下流システムにデータをプッシュし、下流システムは上流システムからプッシュされたデータを処理し、処理後にコールバックまたは通知を送信します。

2. 「T+1」オフライン照合システム:ビッグデータ計算による照合、ETLツールによるデータ同期、SPARK、SPAKR-SQL、AFSなどのビッグデータ技術を活用し、システム間のデータ照合を完了します。データの不一致を迅速に検出し、不一致の早期警告を発し、不一致を自動的に修復する機能を備えています。


オタクトーク

04

和解システム

4.1 ほぼリアルタイムの調整システム

4.1.1 システムの概要

「ニアリアルタイム」は、データの問題を迅速に検出・解決できる自動照合システムを提供することを目指しています。システム間のデータ同期の問題をリアルタイムで追跡・処理するための専用プラットフォームが開発されています。設計コンセプトは下図に示されています。


4.1.2 システムの実装

  1. DTS プラットフォームを介してトランザクション チェーン システム内のデータベースの binlog ファイルを監視することにより、binlog メッセージが BP に送信されます。

  2. BP データを消費し、上流システムと下流システムからデータセットを収集し、上流システムと下流システム間のデータ構造を抽象化し、上流システムからのプッシュと下流システムからの受信をメタデータのペアとして保存します。

  3. システムは監視設定情報に基づいて、ペアになっていない調整要素情報を定期的に監視し、修復インターフェイスを自動的に呼び出して、異常な調整要素情報に対して早期警告を発します。

  4. 調整結果は、セルフサービスの Sugar レポート プラットフォームを活用して視覚的に分析レポートを生成することで視覚化されます。

全体的なアーキテクチャ図は次のとおりです。
調整サービス:

調整構成: 上流システムと下流システム間の調整の自動統合を可能にします。

プロデューサー サービス: BP メッセージの上流システムからの生産データの解析と処理を完了します。

消費者サービス: BP メッセージの下流システムで生産データの解析と処理を完了します。

調整メタデータ: プロデューサーとコンシューマーによって生成されたペアのデータ。メタデータの各ペアは上流システムと下流システム間の相互作用を表します。

調整サービス: メタデータの調整を完了し、監視構成情報に従って一致しない調整メタデータを定期的に監視し、修復インターフェイスを自動的に呼び出して異常なメタデータの早期警告を完了します。

視覚化されたレポート: Sugar レポート プラットフォームに基づいて、不一致に関する統計データ、調整不一致率、自動修正結果など、調整結果の視覚化された分析レポートを提供します。


4.2 「T+1」オフライン照合システム

4.2.1 システムの概要

「T+1」とは、取引日から翌営業日までの期間を指します。つまり、「T+1」照合とは、T日までのデータ照合がT+1日に完了することを意味します。照合システムは、取引チェーンシステム内の内部照合と、取引ミドルプラットフォームと外部システム間の照合に分かれており、主にデータ準備、データ検証、データ照合、データ報告などのモジュールで構成されています。

  • データ準備: 名前が示すように、調整システムが依存するすべてのデータを取得することが含まれます。

  • データ検証:データの比較が行われ、両者間で一致しないデータは不一致とみなされます。

  • データ調整: 不一致の 2 回目の調整を完了し、会計期間間の差異を排除し、最終的な不一致の自動修復と早期警告を実現します。

  • データ レポート: 調整結果のデータ分析と統計を完了し、データ レポートの視覚的な表示インターフェイスを提供します。


4.2.2 取引チェーンシステム内の内部調整

  • データ準備

ETLデータ同期ツールを使用して、T日のトランザクションデータをT+1日にオフラインAFSファイルシステムに同期し、AFSファイルとHiveメタテーブルのバインディングを完了します。Pingoプラットフォームを使用して、データ同期タスクをスケジュールし、定期的に実行します。

  • 問題の発見

照合システムの目的は、システムの問題を特定することです。アカウントを照合することで、データフロープロセスにおける不整合を発見できます。これらの不整合は、データ損失、データの重複送信、決済契約の問題、オンラインシステム機能のバグなどに起因する可能性があります。

  • データ検証

1. トランザクションチェーンシステムは膨大なデータ量を抱えており、リコンシリエーションシステムはテラバイトレベルに達するデータに依存しています。従来のリコンシリエーションサービスではこのタスクを完了することはできません。システムのリコンシリエーション機能は、Spark、Spark SQL、AFSなどのビッグデータ技術に基づいて実現されています。

2. 上流システムのデータを基準とした一方向の照合方式を採用しています。上流でデータが生成されると、下流に同期されます。下流には、それに対応するデータペアが存在します。照合が完了しない注文は異常注文とみなされます。

  • エラー処理

下流システムは、データ検査およびデータ修復インターフェースを提供します。データ検証が完了すると、エラー処理が開始され、データ修復インターフェースが呼び出され、その後、データ検査インターフェースが再度呼び出され、最終的にデータ修復が完了します。エラー処理は3回繰り返すように設定されています。3回処理しても修復されないデータは、自動的に早期警告システムに入り、メールとSMSでチームと個人に警告を送信し、最終的には手動で解決されます。


4.2.3 トランザクションプラットフォームと外部システム間の調整

  • データ準備

1. 決済チャネルおよび百新銀行から取引明細書を定期的にダウンロードします。各決済チャネルに対応する明細書テンプレートを設定し、テンプレートに基づいて明細書データを解析し、明細書データをAFSファイルシステムに同期し、明細書の同期が完了したことを示すマーカーファイルを記録します。

2. 取引プラットフォームの取引データを AFS ファイルシステムに定期的に同期し、ETL データ同期ツールを使用してデータ同期を完了し、データ同期が完了したことを示すマーカーファイルを記録します。

  • 問題の発見

照合の目的は、二者間のデータの整合性を確保することです。システム照合を通じて、外部システムとの不整合の原因として、異なる会計期間にまたがるデータ、外部システムにおける異常な処理、不整合な状態、データ損失などが挙げられます。

  • データ検証

1. 照合システムはテラバイトレベルに達する膨大なデータに依存しています。システムの照合機能の実装には、Spark、Spark SQL、AFSなどのビッグデータ技術が活用されています。

2. 双方向の調整方法が採用される:

①百度取引プラットフォームのデータに基づき、百度取引プラットフォームでデータが生成されるたびに、外部システムにはそれと一致するデータペアが存在する必要があります。一致しないデータは異常データ(百度片側データ)とみなされます。

② 外部システムの取引データに基づき、百度取引プラットフォームの取引データ(取引金額、取引状況など)と照合します。照合できないデータは異常データ(外部システムの一方的取引)とみなします。

③ 請求期間をまたぐ注文の不一致を解消するバランスブックサービス。

a. Baidu の一方的な差異を解消し、調整に参加する外部システムの取引請求書から請求期間の制限を削除し、過去 1 年間のすべての請求書を調整に使用します。
b. 外部システムにおける一方的な差異を排除し、照合に関与する百度の取引データから支払期間の制限を取り除き、過去1年間のすべての取引データを照合に使用します。

  • エラー処理

複数回の照合後も不一致が続く場合は、異常データとみなされます。異常データは自動的に早期警告システムに入り、チームや個人にメールやSMSでアラートが送信され、最終的には手作業による処理と解決が必要になります。

オタクトーク

05

結論

Baiduの取引プラットフォームは、注文処理、支払い、フルフィルメント、決済といった取引機能を統合しています。ビジネスパートナーの参加が増えるにつれ、トラフィックオーナー主導の販売、ライブストリーミング販売、ホスト主導の販売、複数当事者による収益分配取引など、取引シナリオはますます多様化しています。これらの多様なシナリオは複雑な決済プロセスをもたらし、タイムリーかつ正確な決済を保証するためには、安定した信頼性の高い取引データストリームが必要です。Baiduの取引プラットフォームの照合システムは継続的に改善・アップグレードされており、ビジネスパートナーに安定した信頼性の高い取引照合バックエンドを提供するとともに、取引データストリームの安定性を最優先に考え、継続的なビジネス発展を支援しています。


参考ノート:

「ワンステップクリアリング」 :中国人民銀行(PBOC)によると、アクワイアリング業務と資金クリアリング業務は、銀行機関(銀聯、網銀、銀行など)とPBOCから決済業務ライセンスを取得した決済機関(第三者決済機関)のみが行うことができます。これらの機関は「ワンステップクリアリング機関」と呼ばれます。インターネット決済サービスでは、これらのライセンスを取得した機関を利用することで、加盟店との決済プロセスにおいて、一度のクリアリングのみで決済が行われます。このプロセスは「ワンステップクリアリング」と呼ばれています。「ワンステップクリアリング」サービスは合法であり、PBOCの規制下にあり、顧客資金は保護されています。

「DTS プラットフォーム」 :データ移行、データ同期、データサブスクリプションなどの統合データベースデータ転送サービスを提供するデータベース転送サービスです。

「Sugar Platform」 :インテリジェントなBIおよびデータ可視化ツール。Sugar BIは、Baidu Echartsをベースにした豊富なチャートコンポーネントを提供します。SQLを必要とせず、完全に自動化された操作を備えているため、ユーザーはコードを1行も書かずに、数分でセルフサービスBIレポート分析と可視化ダッシュボードを作成できます。

「Pingo プラットフォーム」 : データインポート、データ計算、ワークフロー サービス、インタラクティブ開発環境、リソース管理サービスを統合した、Spark エンジンに基づくビッグデータ処理プラットフォームです。

「TDS プラットフォーム」 :Turing のデータ構築ソリューションを基盤としたデータ開発プラットフォームで、データ開発、データウェアハウス管理、監視・保守、リソース管理などのサービスをワンストップで提供します。

「AFS」 :AFS(Andrew File System)は、大規模なデータの保存と処理のための効率的で信頼性が高く、スケーラブルなソリューションを提供する分散ファイルシステムです。