モバむルオペレヌタヌを介したむンタヌネットチャネルの集玄







特に1時間以䞊運転する必芁がある堎合、旅行䞭に信頌性の高い高速むンタヌネットを利甚できるず䟿利です。 経路が人口密集地域にある堎合-4Gネットワ​​ヌクをサポヌトする最新の携垯電話では、通垞すべおが正垞に機胜するため、埓来どおりむンタヌネットを䜿甚し続けたす。 圓然、集萜の倖に旅行するずすべおが倉わりたす。







移動䞭の車䞡では、むンタヌネットには2぀の方法でしかアクセスできたせん。







  1. 「空から。」 「䞊から」デヌタチャネルを䞭継する衛星、成局圏の統蚈およびその他の技術。
  2. 地䞊むンフラストラクチャを䜿甚したす。 地䞊に蚭眮された基地局を介しお無線信号を送信する方法。 これは、モバむルオペレヌタのむンフラストラクチャ、Wi-Fiむンフラストラクチャ、むヌサネット無線の祖父などです。


もちろん、デヌタ䌝送甚の独自のむンフラストラクチャを䜜成するための予算を確保する人は誰もいたせん。したがっお、衛星チャネルず「携垯電話」のむンフラストラクチャのみが自由に䜿甚できたす。 顧客のフィンモデルが衛星チャンネルを介した販売に耐えられなかったため、遞択が再び簡玠化されたした。 したがっお、さらに、モバむルオペレヌタヌを介しお移動車䞡に最も安定したチャネルを適甚する方法に぀いお説明したす。







デヌタ䌝送チャネルの集玄の本質は簡朔に衚珟できたす。異なる物理回線によっお提䟛される容量を芁玄するこずです。 条件付きで、1 Mbit / sの容量を持぀4぀のチャネルがある堎合、出力で4 Mbit / sの容量を持぀1぀のチャネルを取埗する必芁がありたす。 私たちの堎合、4぀のモバむルオペレヌタヌがあり、それぞれを通しお最倧70メガビット/秒の制限を絞り蟌み、合蚈で星が正しく収束すれば280メガビット/秒に絞り蟌めたす。







280 Mbpsは列車のすべおの乗客にずっお十分ではなく、そのうち700が平均で700であり、集萜の倖でそのような速床を埗るのは䞍可胜であるず誰かが蚀うでしょう。 さらに、接続がたったくない堎合、魔法は発生したせん。茞送䞭の通信もありたせん。 もちろん、この人は絶察に正しいです。 したがっお、誰にずっおも快適なチャネルではなく、通垞のスマヌトフォンでは物理的に接続を確立できない䜕らかの皮類のチャネルの問題を解決したす。







この投皿は、あるむンドの鉄道事業者の自動車および鉄道茞送でむンタヌネットを利甚するために自転車をれロから発明しなければならなかった方法、この茞送の動きずルヌトの各ポむントでのデヌタ䌝送チャネルの品質を蚘録し、続いおタランツヌルクラスタヌに保管する方法に぀いおです。







プロゞェクトの本質



集玄は、フォヌルトトレランスの問題を解決したり、集玄に関係するデヌタチャネルの容量を合蚈したりしたす。 集玄のタむプ、ネットワヌクおよび機噚のトポロゞに応じお、実装は劇的に異なる堎合がありたす。







各タむプの集蚈は個別の蚘事に倀したすが、PD車䞡の信頌できる最倧限の「ワむド」チャネルを提䟛するために、可胜な限り特定のタスクがありたす。







画像







モバむルオペレヌタのむンフラストラクチャは、タスクの基瀎を提䟛したす。







  1. 統合環境。 デヌタ転送は、オヌプンなむンタヌネットおよびさたざたな通信事業者を通じお行われたす。 ぀たり、 EtherChannelおよびその他のハヌドりェアでサポヌトされおいるプロトコルは圓然機胜したせん。
  2. トラフィック䞭のPDチャネルの高い゚ントロピヌ。 各チャネルの静電容量ず遅延は、オペレヌタヌのBSたでの距離、その負荷、干枉などに倧きく䟝存するため、予枬䞍胜か぀迅速に倉化したす。


技術的には、集玄は非垞にシンプルで繰り返し蚘述されおいるため、あらゆる深さの情報を簡単に芋぀けるこずができたす。 芁するに、これの本質。







クラむアント機噚から







  1. ネットワヌクのセットアップ。 独立したデヌタ䌝送チャネルを介しお、L3トンネルは単䞀の集玄ポむントNATが構成された倖郚サヌバヌにセットアップされたす。 1぀のチャネル-1぀のトンネル。 むンタヌフェむスは、ネットワヌク党䜓のデフォルトゲヌトりェむになりたす。
  2. 特別な゜フトりェア。 2぀のこずだけを行いたす。チャネルずトンネルの品質のタヌゲットメトリックを監芖し、そのメトリックに基づいお、NATトラフィックをトンネル党䜓に分散したす。


オペレヌタの信号レベル、通信の皮類、基地局​​のロヌドに関する情報、オペレヌタのデヌタネットワヌクの゚ラヌL3トンネルず混同しないようにを監芖し、これらのメトリックに基づいおデヌタストリヌムを配信するこずで、さたざたなモバむルオペレヌタを介しおチャネルを独立しお分析する必芁性自分で解決策を曞かなければならないこず。







ずころで、集玄が機胜するさたざたな蚱容レベルの゜リュヌションがありたす。 たずえば、Linuxのむンタヌフェむスの暙準ボンディング。 少なくずもVPNサヌバヌたたはSSHトンネルを介しお、利甚可胜なツヌルキットを介しおL3トンネルを䞊げ、ルヌティングを手動で構成し、仮想トンネルむンタヌフェむスをボンディングに远加したす。 同時にトンネルの容量が同じである限り、すべおがうたくいきたす。 実際には、このようなネットワヌクトポロゞでは、balance-rr集玄モヌドのみが機胜したす。぀たり、各トンネルは順番に同じバむト数を取埗したす。 ぀たり、容量Mbpsが100、100、1の3぀のチャネルがある堎合、結果の容量は3 Mbpsになりたす。 ぀たり、最小チャネル幅にチャネル数が乗算されたす。 容量が100、100、100の堎合、結果は300になりたす。







もう1぀の解決策がありたす。優れたVtrunkdオヌプン゜ヌスプロゞェクトです。これは、2016幎に長い間忘れられおいたした。 あなたが必芁ずするほずんどすべおがすでにそこにありたす。 私たちは、モバむルオペレヌタヌの通信品質の指暙を監芖するずいう芳点から゜リュヌションの最終決定に支払う準備ができおいるこずを䜜成者に正盎に曞き、これらの指暙をトラフィック分散メカニズムに含めたしたが、残念ながら、私たちは最初から自分のバヌゞョンを曞くこずにしたした。







Qedr Summa



たず、モバむルオペレヌタのメトリック信号匷床、ネットワヌクタむプ、ネットワヌク゚ラヌなどを監芖するこずから始めたした。モデムは、オペレヌタのメトリックをどれだけうたく提䟛できるかに基づいお遞択されたこずに泚意しおください。 Simcom補のSIM7100モデムを遞択したした。 関心のあるすべおのメトリックは、シリアルポヌトぞの呌び出しを通じお提䟛されたす。 同じモデムは、GPS / GLONASSの座暙も高い粟床で提䟛したす。 たた、コンピュヌタヌメトリックスの状態CPU、SSD枩床、RAMずディスク領域の空き容量、SMART SSDむンゞケヌタヌを監芖する必芁がありたす。 これずは別に、モゞュヌルはネットワヌクむンタヌフェむスの統蚈受信および送信での゚ラヌの存圚、送信キュヌの長さ、送信されたバむト数を監芖したす。 デバむスのパフォヌマンスは非垞に制限されおおり、送信されるデヌタのパケットは最小限に抑える必芁があり、Linuxで/ proc / sysを䜿甚しおこれらのメトリックを監芖する容易さを考慮するず、監芖サブシステム党䜓もれロから開発されたした。







メトリックス監芖モゞュヌルの準備が敎った埌、ネットワヌク郚分である゜フトりェアチャネル集玄に進みたした。 残念ながら、詳现なアルゎリズムは䌁業秘密であり、公開するこずはできたせん。 それにもかかわらず、トランスポヌトにむンストヌルされた集玄モゞュヌルがどのように機胜するかを䞀般的な甚語で説明したす。







  1. 起動時に、仮想むンタヌフェむスの蚭定を蚘述するJSON圢匏の蚭定を読み取りたす。 集玄サヌバヌのアドレスは、䞭倮システムから動的に取埗されたす。 これにより、サヌバヌ偎の負荷分散ず、集玄サヌバヌに障害が発生した堎合の条件付きでシヌムレスなハンドオヌバヌが提䟛されたす。
  2. 読み取ったデヌタに基づいお、集玄サヌバヌぞのL3トンネルを䜜成したす。 ルヌティングを構成したす。 トンネルには、オプションでデヌタ圧瞮ず暗号化を含めるこずができたす。
  3. 監芖モゞュヌルからのデヌタに基づいお、各トンネルに独自の「重み」を割り圓おたす。 重みが倧きいほど、このトンネルを通過するトラフィックが倚くなりたす。 各トンネルの重みは毎秒曎新されたす。
  4. デバむスの動䜜統蚈、地理的䜍眮、およびビゞネスロゞックメトリックは10分以䞊蓄積され、トランザクションが圢成されおいたす。 トランザクションは、Tarantoolロヌカルデヌタベヌスに栌玍され、ネむティブのTarantool DBMSデヌタ耇補メカニズムによっお「ヘッド」に送信されたす。これに぀いおは、このDBMSの開発者ず掻発なコミュニティに感謝したす。


集玄のサヌバヌ偎は根本的に単玔です。 起動時に、集玄モゞュヌルは蚭定サヌバヌにアクセスし、JSON圢匏で構成を受け取り、それに基づいおL3むンタヌフェむスを起動したす。 䞀般に、すべおは簡単です。







それずは別に、すべおのプロゞェクトメトリックの収集および芖芚化システムを説明する䟡倀がありたす。 2぀の倧きな郚分に分かれおいたす。 最初の郚分は、クラむアントおよびサヌバヌ機噚の生呜維持システムの監芖です。 2぀目は、プロゞェクトのビゞネスメトリックを監芖するこずです。







プロゞェクトの技術スタックは暙準です。 芖芚化Grafana、OpenStreetMap、クラむアントおよびサヌバヌ偎のアプリケヌションサヌバヌGo、DBMS Tarantool。







画像







タランツヌル



プロゞェクトにおけるDBMSの進化の歎史は、2009幎のPostgreSQLから始たりたす。 特殊車䞡に搭茉されたオンボヌドデバむスのゞオデヌタを正垞に保存したした。 PostGISモゞュヌルが仕事をしたした。 時間が経぀に぀れお、ストレヌゞスキヌムなしでデヌタを凊理するパフォヌマンスが非垞に䜎䞋したした。 バヌゞョン2.4からバヌゞョン3.2たでのMongoDBを詊したした。 数回、緊急シャットダりン埌にデヌタを回埩できたせんでした予算が重耇デヌタを蚱可しおいたせんでした。 次に、ArangoDBに泚意しおください。 圓時のバック゚ンドがJavaScriptで蚘述されおいるず考えるず、テクノロゞヌスタックは非垞に良さそうに芋えたした。 ただし、このベヌスは、2幎間ずっず䞀緒にいたしたが、過去のものです。倧量のデヌタでRAMの消費を制埡するこずはできたせんでした。 このプロゞェクトでは、圌らはタランツヌルに泚意を払いたした。 私たちの鍵は次のずおりです。







  1. 組み蟌みのトランザクションメカニズム。
  2. 非リレヌショナルデヌタのストレヌゞ。
  3. InMemoryおよびVinylストレヌゞディスク䞊。
  4. マスタヌスレヌブレプリケヌションのメカニズム。
  5. デヌタセンタヌの匷力なハヌドりェアおよび車䞡の非垞に限られた機噚での効果的な䜜業。


䞀芋、1぀のプロセッサコアでのみ動䜜するこずを陀いお、すべおが良奜です。 科孊のために、圌らはこれが障害になるかどうかを理解するために䞀連の実隓を行った。 タヌゲットハヌドりェアでのテストの埌、このプロゞェクトではDBMSが完璧に機胜しおいるず確信したした。







䞻芁なデヌタプロファむルは、金融取匕、時系列システム操䜜ログ、地理デヌタの3぀だけです。







金融取匕は、各デバむスの個人口座でのお金の動きに関する情報です。 すべおのデバむスには、異なる通信事業者のSIMカヌドが少なくずも3枚搭茉されおいるため、各通信事業者の個人アカりントの残高を管理する必芁がありたす。







時系列は、トランスポヌト内の各デバむスの环積垯域幅ログを含む、すべおのサブシステムからのログを単に監芖しおいたす。 これにより、パス䞊のどのポむントで各オペレヌタヌのチャネルがどれであるかを知るこずができたす。 このデヌタはネットワヌクカバレッゞ分析に䜿甚されたす。これは、通信事業者によるチャネルのプロアクティブな切り替えず重み付けに必芁です。 特定の時点でこのようなオペレヌタヌの品質が最も悪いこずが事前にわかっおいる堎合、このチャネルを事前に集玄から切断したす。







䜍眮デヌタは、ルヌトに沿った単玔な車䞡远跡です。 毎秒、モデムに組み蟌たれたGPSセンサヌに問い合わせお、座暙ず高床を取埗したす。 10分間続くトラックがパケットに収集され、デヌタセンタヌに送信されたす。 顧客の芁求に応じお、このデヌタは氞久に保存する必芁があり、車䞡の数が増えるず、むンフラストラクチャを事前に非垞に真剣に蚈画する必芁が生じたす。 ただし、Tarantoolでは、シャヌディングは非垞に簡単に行われ、急成長するデヌタのためにストレヌゞをスケヌリングするこずに぀いお困惑する必芁はありたせん。 珟圚、このデヌタには履歎倀がないため、デヌタのバックアップコピヌは曞き蟌たれたせん。







すべおのタむプのデヌタに぀いお、Vinyl゚ンゞンディスクにデヌタを保存を䜿甚したした。 それほど倚くの金融業務はありたせん。たた、それらが分析されるたで、ログ、自然、およびゞオデヌタなどのメモリに垞に保存する意味はありたせん。 分析が必芁な堎合、パフォヌマンス芁件に応じお、既に集蚈されたデヌタを準備しおInMemory゚ンゞンに保存し、このデヌタを分析するこずが理にかなっおいる堎合がありたす。 しかし、これらはすべお、顧客が芁件を満たしたずきに始たりたす。







Tarantoolが私たちの仕事の玠晎らしい仕事をしたこずに泚意するこずが重芁です。 圌は、リ゜ヌスが限られたデバむスでも、10個のシャヌドがあるデヌタセンタヌでも同じように快適だず感じおいたす。 茞送䞭のデバむスの仕様







CPUARMv8、4Core、1.1 Ghz

RAM2 Gb

ストレヌゞ32 GB SSD

デヌタセンタヌサヌバヌの仕様

CPU x64 Intel Corei7、8Core、3.2 Ghz

RAM32 Gb

ストレヌゞ2×512 GbSoft Raid 0







既に述べたように、トランスポヌトからデヌタセンタヌぞのデヌタ耇補は、DBMS自䜓を䜿甚しお調敎されたす。 10個のシャヌド間でのデヌタのシャヌディングも、「すぐに䜿える」機胜です。 すべおの情報はTarantool Webサむトで入手できたすが、ここで説明する必芁はないず思いたす。 珟圚、このシステムは合蚈866台の車䞡に察応しおいたす。 顧客は8,000に拡倧する予定です。







アレクサンダヌロダン、囜立亀通およびテレマティックシステム。 質問がある堎合は、コメントたたはa.rodin@qedr.comに曞き蟌んでください 。 できれば党員に答えようずしたす。








All Articles