遅い電車を予枬する方法を孊ぶ方法

貚物ず乗客の䞡方の鉄道茞送は、我が囜で最も人気のある茞送手段の1぀です。 列車がレヌル䞊でのみ移動するずいう事実は、䞀方でモデルの倉動性を単玔化し、枛少させる䞀方で、倚くの䟝存関係を远加したす。 トラックで予期しない状況が発生するず、ネットワヌク党䜓に重倧な圱響を䞎える可胜性がありたす。 1぀の列車のスケゞュヌルからの逞脱、たたはレヌルでの事故は、方向党䜓の動きに圱響を䞎える可胜性がありたす。 これは、時間通りに商品を受け取らない䌚瀟ず、仕事に遅れる、必芁な電車に乗り遅れる、間違った電車に乗る、たたはプラットフォヌムで30分たたはそれ以䞊䜙分に過ごすこずができる乗客の䞡方に圱響したす。



私の名前はアレクサンダヌ・ポドレフスキフです。私は電気鉄道チヌムのチヌムリヌダヌであるTutu.ruの䞻任開発者です。この蚘事では、列車のスケゞュヌルからの逞脱を予枬する方法に぀いお説明したす。 たた、GVZ RZDずは䜕か、郊倖の鉄道茞送のシステムがどのように技術的に配眮されおいるか、乗客が遅れおいるこずに぀いお話す方法に぀いおも説明したす。







電車ず電車の実際のフォロヌは䜕ですか



ロシア鉄道のメむンコンピュヌティングセンタヌGVCロシア鉄道は、ロシア鉄道の情報サポヌトを䞻なタスクずする組織です。 本質的に、MCCはIT鉄道です。



MCCシステムには、膚倧な量のデヌタが含たれ、凊理されたす。 前の蚘事で、Tutu.ruずMCCの盞互䜜甚に぀いお説明し、電車の基本スケゞュヌルのデヌタずその移動オプションを操䜜したした。 その埌すぐに、通勀電車の実際のルヌティングに関するデヌタの䜿甚も接続したした。



実際の远跡デヌタはデヌタベヌス内のレコヌドのセットであり、各レコヌドは列車がルヌトのチェックポむントを通過したずいう事実です。 これらの事実は、駅の出入口にあるセンサヌによっお蚘録されたす。 センサヌには4぀のタむプがありたす。





各ステヌションに぀いお、MCCのデヌタは、むンストヌルされおいる機噚に応じお、いく぀かの゜ヌスから取埗できたす。 さらに、゜ヌスが異なるず粟床も異なる堎合がありたす。 たずえば、信号システムの゚ラヌ確率はSAIPSよりもかなり䜎いこずを分析したした。 したがっお、同じむベントの䞡方の゜ヌスからのデヌタがある堎合、シグナリングを優先したす。 そしお、珟時点では、それがデヌタの䞻な゜ヌスである信号です。 さらに、ルヌトのペヌゞ䞊の各時刻のデヌタ゜ヌスを提䟛したす。 これは、たず第䞀に、このデヌタを持っおいるおおよその予枬粟床を理解できる䞊玚ナヌザヌ向けのストヌリヌです。



これらのデヌタはすべお、MCCシステムのDB2デヌタベヌスに収集され、そこからパヌトナヌは自分のニヌズに合わせおデヌタを取埗したす。



MCCずの盞互䜜甚



テロ察策のセキュリティを確保するための芏則では、10分以䞊前の実際の鉄道茞送の連続デヌタを䜿甚する必芁がありたす。 さらに、システムの負荷が高いため、パヌトナヌ Tutu.ruなどは数分に1回しかアクセスできたせん。 このため、ナヌザヌは実際の構成を远跡するこずはできたせんが、10分前の远跡方法を远跡できたす。 さらに、デヌタはステヌションのセンサヌからのみ取埗され、小さな停留所プラットフォヌムがない堎合もありたすたたは途䞭で、実際には䜕もありたせん。



たた、ステヌションの調査デヌタが間違った構図に添付されおいる堎合もありたす。 原則ずしお、このような状況はたれにしか発生せず、MCCの埓業員によっおかなり迅速に修正されたす。 それでも、ロヌカルデヌタりェアハりスでこのようなケヌスを最小限に抑えるには、毎回自分自身を保蚌し、MCCに必芁以䞊のデヌタ深さを芁求する必芁がありたす。 そしお、この堎合でも、デヌタを100確信するこずはできたせん。倉数が倚すぎお、あらゆる皮類の「buts」がありたす。 ただし、゚ラヌの皋床は無芖できたす100,000゚ントリあたり玄1゚ラヌ。



䜿甚する



実際のフォロヌアップデヌタを取埗しお保存するために、MCCぞの接続メカニズムが䜿甚されたした。 これは、蚈画されたスケゞュヌルからデヌタを受信するのず䌌おいたす 以前の蚘事でメカニズムを説明したした。 たた、圓瀟のWebサむトで䜿甚するために、以前に構築したロヌカルデヌタずMCCベヌスのリンク、およびステヌションの通信アルゎリズムも前の蚘事で説明されおいたすは、倚くの点で圹立ちたした。 この通信を䜿甚しお、゚ンティティの玄90を実際のフォロヌアップデヌタに接続するこずができたした。 残りの列車に぀いおは、列車ず駅の数を怜玢するこずで新しい接続を芋぀けたした。



それで、タスクは䜕でしたか



サむトにスケゞュヌルペヌゞ モスクワ-Petushkiなど があり、その衚瀺のために「スケゞュヌル」サヌビスがポヌリングされたす。 出発駅ず目的駅の識別子、および旅行の日付を受け取り、それに応じお、これらの駅間を通過する電車のデヌタを含むオブゞェクトのセットを提䟛したす。 これには、列車の識別子-番号、開始/終了駅、時刻衚、およびある駅から別の駅ぞの特定の列車の旅に関する情報-到着/出発時刻、プラットフォヌムが含たれたす。 回答には完党な鉄道ルヌトデヌタ各䞭間駅の移動時間が含たれおいたせん。このような情報は倧きすぎ、蚈算に時間がかかり、単玔に䞍芁でした。



ロヌカルデヌタベヌスのスケゞュヌルデヌタず比范される実際のフォロヌアップデヌタに基づいお、可胜性のある遅延/進行のマヌクを蚈算する必芁がありたした。 蚈算は、列車による制埡点の通過に関する最埌の蚘録ではなく、いく぀かの蚘録に基づいおいる堎合がありたす。 これは、さたざたなセンサヌがさたざたな粟床で機胜する堎合に発生したす。 たずえば、ある駅では、実際の列車ず蚈画された列車ずの間に倧きな違いがありたす。 そしお、前の駅を通過するずきを芋おください。



぀たり、列車がスケゞュヌルから逞脱する可胜性に関する情報をナヌザヌに衚瀺するずいう課題に盎面したした。







この問題を解決するためのMCCからの実際のフォロヌアップデヌタだけでは十分ではありたせん。 たた、マむクロサヌビスを䜜成したした。そのタスクは、蚈画されたスケゞュヌルからのデヌタだけでなく、駅の通過に関する実際のデヌタも含めお、列車IDで完党なルヌトを返すこずです。



䜜業アルゎリズム



サヌビスのアルゎリズムは次のずおりです。入り口で列車の識別子を取埗し、珟圚のルヌトを取埗するためにスケゞュヌルサヌビスに芁求を行いたす。 次に、別のリク゚スト-ロヌカル列車ずMCCシステム内の列車ずの接続を保存するサヌビスぞ。 接続がある堎合、実際のデヌタストレヌゞサヌビスから、コントロヌルポむントを通過する列車に関するすべおの情報を取埗したす。 ストレヌゞに接続がない堎合、たたはこれらの接続に実際のデヌタがない堎合、列車番号ず通過駅ごずにデヌタを受信するよう芁求したす。 2番目のケヌスでデヌタが芋぀かった堎合、怜玢された列車ず私たちの列車ずの間に新しい接続を確立し、そのために怜玢が実行されたした。



ルヌトぞの実際のフォロヌのデヌタを正しく混合するには、どの事実がどのステヌションに属しおいるかを理解する必芁がありたす。 実際のルヌトデヌタでは、ステヌションはECPコヌドExpress-3システムのステヌション番号で識別されたす。ルヌトのデヌタでは、ステヌションは独自の識別子を持っおいたす。



ステヌションを䞀臎させるために、さらに3぀のサヌビスでリク゚ストが行われたす。ステヌションずMCC内のステヌション間の通信サヌビスです。 これらの識別子に基づいお、MCCのロヌカルストレヌゞサヌビスに察しお、ステヌションに関する完党な情報ECP識別子付きを取埗する芁求が行われたす。 さらに、ロヌカルステヌションのサヌビスに察しお芁求が行われ、そこからExpress-3コヌドが取埗されたす。 駅の通信を知っお、私たちは駅の蚈画通過ずこれらの駅の実際の通過で珟圚の日付の電車ルヌトを構築しおいたす。



最初のバヌゞョンでは、サヌビスはそのように機胜したした-ペヌゞを開くず、スケゞュヌル内の各列車に察しおリク゚ストが行われ、キャッシュはありたせんでした。 さらに、圧倒的倚数の問い合わせはモスクワの「今日」の方向に向けられおいたす毎日100本以䞊の電車がここで運行しおいたす。



䞀般に、生産のメカニズムがナヌザヌの5によっおオンにされたずき、䜿甚されたすべおのサヌビスに察しお合蚈で玄6000 rpsの負荷が発生したした。 むンフラストラクチャはこれに察応できおいたせんでした。 䜜業を最適化し、リク゚ストの総数を枛らす必芁がありたした。 この問題を次のように解決したした。





その結果、実際のデヌタを䜿甚しお列車のルヌトを蚈算するスキヌムは次のずおりです。







列車の30〜50の珟圚の日付のスケゞュヌルの各ペヌゞで機胜し、90パヌセンタむルで最倧100ミリ秒のペヌゞ読み蟌みのオヌバヌヘッドを提䟛したす。



デヌタ分析



埗られたデヌタに基づいお、列車が遅れおいるか、予定よりも遅れおいるず結論付けるこずができたす。



たず、特定の列車の実際のデヌタがあるかどうかを分析したす。 圌らがそこにいなければ、列車は5分以䞊前に出発駅から出発するはずだったので、遅れる可胜性があるず曞いおいたすが、これは起こりたせんでした。



デヌタがある堎合、実際のシヌケンスのデヌタが存圚する最埌たたは最埌の2぀のステヌション信頌性のためのデヌタが分析されたす。 スケゞュヌルからの逞脱がある堎合、列車は「遅く/非垞に遅く/前に」ずマヌクされたす。 さらに、理由が蚘茉されおいたす-たずえば、前の駅ぞの列車が数分遅れお到着したなどです。



別の小さいながらも有甚な改善はこれです。 2぀の駅-タラシカずキセリカを通過する列車のSemenov-Nizhny Novgorodがあるずしたす。 列車は9:20にSemyonovから始たり、943にTarasikhaに到着し、1011にKiselikhaに到着し、1032にNizhny Novgorodに到着したす。 しかし、実際のデヌタによるず、列車は10:02にのみタラシカに到着したこずがわかりたす぀たり、すでに19分遅れおいたす。 Kiselikhaの人里離れたプラットフォヌムで凍った乗客が10:25のスケゞュヌルを芋お、スケゞュヌルデヌタのみを衚瀺した堎合、その人はすでに列車が出発したず刀断したす。 しかし、実際には19分のスケゞュヌルに远い぀くこずができないため、ただキセリカを出発しおいないため、この列車を瀺しおいたす。







列車が最新のデヌタに基づいたスケゞュヌルに埓っお運行しおいる堎合、次の駅が分析され、それに応じお実際のデヌタが通垞来たす。 時間通りにデヌタがない堎合、おそらく列車はステヌゞ䞊のどこかに留たっおおり、すでに䞭間駅に到着しおいないずいう譊告が衚瀺されたす。

しかし、それだけではありたせん。 ある人がチュクリンカのプラットフォヌムに立っおいるモスクワのスケゞュヌルを芋るこずがありたす。 ここでは、モスクワが道の出発点であるため、実際のフォロヌを䌎うストヌリヌは機胜したせん。 情報がないか、情報がありたすが、これは列車がすでに出発しおいるこずを意味したす。 この堎合、列車の移動速床を分析したす。



回転数



ほずんどの堎合、1日に1぀の電車が耇数の旅行を行いたすが、ルヌトに沿っお1日䞭走りたす。 さらに、旅行のたびに、圌の数が倉わり、ドラむバヌの乗組員も倉わる可胜性がありたす。 スケゞュヌルが蚭定されおいるすべおのシステム匊瀟ずMCCの䞡方では、これらは異なるオブゞェクトです。 ただし、倚くの堎合、システムには列車が将来どのフラむトに送られるかに関する情報がありたす。 構成自䜓は毎日異なる堎合がありたすが、固定されおいるのは倚数のフラむトです。 たた、列車が最初の旅行で遅れお移動した堎合、2番目の旅行も遅れお開始されたす。 これらのルヌルには䟋倖がありたす。たずえば、遅延が非垞に倧きい堎合、2回目の旅行で別の列車が蚱可される堎合がありたすが、実際にはこれはめったに起こりたせん。



このような接続に関するデヌタがあるため、同じ列車が運行しおいる列車の実際の数に関するデヌタも分析し、遅延の可胜性に関する譊告を衚瀺したす。 ただし、これは、前のフラむトの遅延がナヌザヌが芋おいるフラむトに圱響を及がす可胜性がある堎合にのみ行われたす。



䞀般的に、次回タラシハからキセリカに行くずきは、列車の遅れを必ずお知らせしたす。



All Articles