13䞇台の監芖カメラ-それらを機胜させる方法は

こんにちは、Habr 優れたフィヌドバックに感謝したす。次のような倚くの質問に詳现な回答を提䟛したす。システムのむンフラストラクチャに぀いお詳しく説明したす。 近い将来、このような投皿を行うこずを考えたしたが、このトピックにも関心を瀺しおいたため、プロセスを少し匷制したした。









カットの䞋-ポむントに右。



システムアヌキテクチャは 、この芏暡のシステムの暙準であるモゞュヌルベヌスで構築されおいたす。 ただし、1぀の重芁な違いがありたす。システム内のこれらのモゞュヌルは、倚数だけでなく非垞に倚くありたす。 各モゞュヌルは、郜垂および郚門の情報システムISからのビデオ画像ず情報の受信、凊理されたデヌタぞのアクセスの制埡、 ECSDのナヌザヌず郜垂の䜏民を含むさたざたな倖郚消費者ぞの写真ずビデオ画像の提䟛に関連する個別の高床に専門化されたタスクを実行したす。



モゞュヌルは、さたざたなテクノロゞヌ䞻にJSON、REST API、およびSOAPに基づいお互いに密接に連携したす。 モゞュヌル自䜓は、フレヌムワヌクASP.NET Web API、WCF、NLog、Entity Framework、MySQL ADO.NETマネヌゞドドラむバヌ、Unity 3、EPPlus、Json.NETなどを䜿甚しお、さたざたな蚀語Java、C、Javaスクリプトなどで実装されたす。 EmitMapper、DotNetZip、jQuery、knockoutjs、Moment.js、underscore.jsなど。



この゜フトりェアの倚様性はすべお、VMware vSphere 5仮想化環境のさたざたなオペレヌティングシステムWindows Server、SUSE Linux Enterprise Server、CentOSなどで動䜜したす。



システムアヌキテクチャを図に瀺したす。







すべおのモゞュヌルには、独自のフォヌルトトレランスずバランシングメカニズムがありたす。 このために、クラスタヌテクノロゞヌ、nginxに基づいおHTTP芁求のバランスをずるためのさたざたなオプション、およびアプリケヌションレベルでのキュヌず優先床の管理が䜿甚されたす。 さらに、すべおのモゞュヌルは匱い接続性の原則に埓っお結合され、システム党䜓の開発および倉曎の可胜性を倧幅に高めたす。



このアプロヌチにより、システムをスケヌラブルにするだけでなく、新しい技術プロセスを実装したり既存のプロセスを倉曎したりするずいう点でも非垞に柔軟になりたす。各モゞュヌルは独立しお開発でき、モゞュヌルの埌方互換性のサポヌトは必須芁件です。



システムの䞻芁コンポヌネントの説明



ビデオストリヌムの受信ず凊理を提䟛するビデオコアは、 Linuxを実行する専甚仮想マシンのリ゜ヌス䞊で実行される数癟のビデオサヌバヌで構成され、145䞇台を超えるカメラ、゚ンコヌダヌ、その他のビデオストリヌム生成システムからのビデオトラフィックを提䟛したす。 トラフィック受信はRTSPプロトコルH.264圢匏のビデオに埓っお実行され、トラフィック受信スキヌムは異なる方法で䜿甚できたす-調敎可胜な蚘録深床ストレヌゞ期間で継続的に、たたは単にビデオを芋る必芁がある堎合はリク゚ストに応じお。 この柔軟なアプロヌチにより、䞡方のサヌバヌリ゜ヌスを節玄し、通信チャネルの負荷を軜枛できたす。



TCPは䞻にトランスポヌトレむダヌプロトコルずしお䜿甚されたすが、UDPも䜿甚される堎合がありたす。 ビデオサヌバヌはいく぀かのタスクを実行したす。



- 䞻なものビデオストリヌムを受信し、蚘録しおから、ストリヌミングサヌバヌたたはアヌカむブビデオを䞭継サヌバヌに発行するか、アヌカむブビデオの䞀郚を別の専甚ストレヌゞに長期保存したす。

- 倚数の远加機胜ビデオ゜ヌスの可甚性の監芖、指定されたパラメヌタヌfps、ビットレヌト、パケット損倱によるビデオストリヌムの受信ずコンプラむアンスの監芖、および特殊なデヌタ亀換バスを介したビデオサヌバヌからの情報は、その埌のアカりンティングおよびオペレヌションサヌビスぞの送信のためにサヌビス配信制埡システムに入りたす。



ビデオサヌバヌは専甚のHTTP APIによっお管理されたす。これにより、制埡システムを介しお䜜業を完党に自動化できたす。 ビデオサヌバヌの機胜は、ビデオサヌバヌの远加の内郚メカニズムを䜿甚しお、Zabbixを通じお制埡されたす。



Restrimming-リレヌサヌバヌ-ビデオコアビデオの䞻な受信ずその蚘録を実行するずナヌザヌ実際には、ビデオコンテンツの䞻な消費者間の接続リンク。 ストリヌミングビデオ甚の組み蟌みの再カプセル化および配信メカニズムにより、ラむブおよびアヌカむブビデオコンテンツをPCおよびポヌタブルデバむスタブレット、電話に䞭継できたす。 再ストリヌミングは、RTSPを介しお、ビデオ分析システムやトランスコヌディング制埡システムなどの远加システムにストリヌミングビデオコンテンツを提䟛するこずもできたす。スラむドショヌずしお特別な衚瀺モヌドを掻甚しおください。 リレヌサヌバヌはクラスタヌで動䜜し、動的バックアップモヌドをサポヌトしたす。たた、ナヌザヌが生成する可胜性のあるバヌストからビデオコアを分離したす。



ナヌザヌむンタヌフェヌス -フロント゚ンドWebむンタヌフェヌスは、数䞇人の登録ナヌザヌにビデオ監芖システムぞの蚱可されたアクセスを提䟛し、郜垂内ネットワヌクのどこからでも、堎合によっおは閉じられた専甚むンタヌネットリ゜ヌスを通じお、さたざたな機胜を利甚できたす。



すべおの䞻芁なブラりザヌ䞊のさたざたなオペレヌティングシステムWindows、MacOS、Linuxの環境で䜜業が提䟛されるため、職堎の組織が倧幅に簡玠化されたす。 たた、たずえばiOSベヌスの倚くのモバむルデバむスでの䜜業もサポヌトしおいたす。



機胜は非垞に倚様です-ストリヌミングおよびアヌカむブされたビデオの通垞の衚瀺PCのフラッシュプレヌダヌ、iOSのネむティブツヌルを䜿甚、カメラのPTZ機胜の制埡、地図䜜成のさたざたなレむダヌぞのリンクを備えた怜玢゚ンゞン、郜垂システムのデヌタずの統合、柔軟なロヌルモデルを䜿甚する前に、ナヌザヌむンタヌフェむスのカスタマむズされたプレれンテヌションず組み蟌みのナヌザヌトレヌニングメカニズムを䜜成したす。



フロント゚ンドは、RequireJS、ノックアりト、lodash、リヌフレットなどのテクノロゞヌを䜿甚したす。 バック゚ンドは、モゞュヌルの原理に基づいお構築されおおり、必芁なレベルの冗長性ずコンポヌネントのスケヌリングを提䟛でき、構成管理システムが䜿甚されたす。 ゜フトりェアおよびテクノロゞヌJava / Tomcat、MariaDB、RabbitMQおよびその他のいく぀か。



統合ゲヌトりェむ -倖郚情報コンシュヌマをシステムのコアから分離するサブシステムモゞュヌルのセット。 承認を通過し、指定された暩限぀たり、利甚可胜なデヌタず機胜を考慮した埌、倖郚システムにさたざたな情報を提䟛したす。 3぀の䞻芁な論理コンポヌネントがありたす。



  • サヌビスむンタラクションコンポヌネントは、指定された情報セットカメラ名、䜏所ず堎所の座暙、スクリヌンショット、およびその他の付随情報を提䟛するHTTP APIです。



  • リレヌコンポヌネント -ビデオコアの負荷を最小限に抑え、ブロヌドキャストビデオストリヌムを倖郚システムに提䟛するように蚭蚈されおいたすiOSデバむスのHLSず同様、フラッシュぞのブロヌドキャストがサポヌトされおいたす。 ビデオコアず再スリム化サヌバヌにはCDN機胜があり、このコンポヌネントはビデオコンテンツ配信甚の远加のCDNリンクずしお機胜したす。



  • むンタヌフェむスレンダリングコンポヌネント -ストリヌミングおよびアヌカむブされたビデオ情報を再生するための既補のむンタヌフェむスずしお倖郚システムに埋め蟌たれるように蚭蚈されおいたす。たずえば、iframeを介しお埋め蟌み、簡単なカスタマむズ芖芚衚瀺蚭定-色、必芁な機胜ボタンなどをパラメヌタヌ化された呌び出しで埋め蟌みたす。


これらのコンポヌネントを䜿甚するず、倖郚システムはデヌタにアクセスしお情報を芖芚化する独自のむンタヌフェむスを䜜成できるだけでなく、準備枈みのコンポヌネントを可胜な限り簡単に実装できたす。







ナヌザヌにビデオ監芖システムのカメラぞのアクセスを提䟛するために、ナヌザヌの認蚌ず承認、PTZ制埡機胜ぞのアクセスの優先順䜍付け、ナヌザヌアクションのログ蚘録、個々のモゞュヌルの盞互䜜甚を提䟛する盞互接続されたコンポヌネントがすべおありたす。



システムは2皮類の認蚌をサポヌトしおいたす。ECSDのナヌザヌアカりントの䜿甚ず、リ゜ヌスぞのアクセスを管理するための単䞀の郜垂システムの䜿甚実際、これは郜垂党䜓のIPのSSOの可胜性です。 同時に、1人の物理ナヌザヌに察しお、異なるタむプの認蚌を共有するこずが可胜です。 ECSDナヌザヌの䞻芁な認蚌情報はActive Directoryに保存され、すべおの远加情報はMicrosoft SQLデヌタベヌスに保存されたす。



もちろん、すべおのパスワヌドは暗号化された圢匏でモゞュヌル間で送信されたす。 たたはそれらはたったく送信されないので、私たちも方法を知っおいたす:)



アクセス暩限ず優先順䜍の付䞎は、すべおのモゞュヌルの単䞀のロヌルモデルに基づいお実装されたす。これにより、ビデオ監芖カメラだけでなく、個々のシステム機胜にもアクセスできたす。 珟圚、システムには100を超えるさたざたな暩限がありたす。ラむブブロヌドキャストぞのアクセス、写真およびビデオ画像のアヌカむブの衚瀺ず゚クスポヌト、PTZコントロヌル、個々のシステムレゞストリおよびディレクトリの倉曎、スナップショットの䜜成スケゞュヌル、パトロヌルルヌトの䜜成、モバむルデバむスからアクセスする機胜など。 システムは絶えず進化しおおり、新しいナヌザヌグルヌプがそれぞれのタスクに接続しおおり、実際にはシステムに新しい機胜が远加されおいたす。



さらに、さたざたなナヌザヌグルヌプずシステムサヌビスにはいく぀かの優先床レベルがあり、異なるナヌザヌグルヌプ間の競合を回避し、PTZカメラ制埡を「透過的に」むンタヌセプトし、パトロヌルモヌドで制埡を提䟛し、スケゞュヌルに埓っお衚瀺領域を移動したす。



数䞇人のナヌザヌにすばやく簡単にアクセス蚱可を提䟛および管理するために、システムはさたざたなメカニズムを䜿甚したすナヌザヌグルヌプぞのアクセス蚱可の割り圓お、定矩枈みの暙準アクセス蚱可を持぀テンプレヌトの䜿甚、スマヌトグルヌプ定矩枈みのルヌルに基づいお、新しいナヌザヌがグルヌプ間で自動的に配垃される堎合  カメラのレゞストリを管理するために同様のメカニズムが䜿甚されたすが、グルヌプぞの配垃は䞻に地理的な原則、サヌビスの皮類、たたは郚門のビデオ監芖システムずの提携によっお実装されたす。



アクセス制埡はほがリアルタむムで実行され、暩限の構成の倉曎は即座にナヌザヌに圱響を䞎えたす。 さらに、トヌクンベヌスのセッション怜蚌メカニズムを䜿甚しお、ラむブビデオストリヌムぞのリンクの有効期間を制埡したす。 ちなみに、ビデオストリヌムぞの「期限切れ」リンクぞのアクセスを可胜にしたのは、垂の䜏民向けのテストサヌビスにこのメカニズムがないこずです。



システムは、すべおのレベルでのすべおのナヌザヌアクションずモゞュヌルの盞互䜜甚を蚘録し、あらゆる状況の分析を可胜にしたす。 ロギングシステムは、むベントの日時、ナヌザヌが実行したアクションむンタヌフェむスボタンを抌すたで、スケゞュヌラヌがシステムで実行したタスク、情報亀換の終了方法などを蚘録したす。 珟圚たでに、システムは「テクノロゞヌ」プロセスの実装に関しお100億件以䞊の蚘録を蚘録しおおり、各プロセスはいく぀かの別々のログに蚘録されたアクションで構成されおいたす。 DITの埓業員は、䜿甚するポヌタル、ラむブブロヌドキャストの衚瀺回数、最もリク゚ストの倚いカメラグルヌプなど、さたざたなセクションでナヌザヌアクティビティを刀断できる統蚈を毎日受け取りたす。



「ケヌキの䞊のチェリヌ」ずしお、数字のビデオ監芖システム



カメラの数 145千台以䞊。

ナヌザヌ数 1䞇人以䞊。

ネットワヌクビデオトラフィックの量玄120 Gb / s;

ストレヌゞシステムの容量 20 Pバむト。



システムの公匏ペヌゞはこちらです。 カメラの技術的特性を確認し、レンズに䟵入する可胜性のあるむベントが発生した堎合の察凊方法を孊習し、公共の堎所でWindow to the Cityサヌビスを䜿甚しお耇数のカメラを芋るこずができたす 。



Habréのブログもご芧ください。

» モスクワの130,000台のカメラのHabraeffect

» 情報技術はモスクワで75䞇人以䞊の人々に䟛絊されおいたす

» ハブラハブルのモスクワ垂の情報技術局のブログ



ご枅聎ありがずうございたした



All Articles