ISPの概念的な請求システムの作成経験

従来、課金システムを構築する場合、データベース(DB)はソースのストレージとして使用され、時には集約されたデータとして使用されます。 場合によっては、主記憶域に加えて、追加のデータベースもプリビリングの目的で使用されます。



このアプローチでは、使用されるデータベース管理システム(DBMS)の主な要件は、データベーステーブルへの行の変更、削除、および挿入の操作を実行する最小時間です。 使用されるデータ構成モデルを含む、他のすべてのDBMSの機能は、二次的に重要です。 この観点から、自動計算システムで一般的なMySQLクラスのDBMSを使用することは論理的(かつ経済的に)正当であると思われます。



実際、課金システム自体は、スクリプトから高レベルまで、さまざまなプログラミング言語で書かれた特定のソフトウェアモジュールのセットです。



最後に、これらの各モジュールはデータベースに保存されたデータを処理することに注意することが重要です。 モジュールの目的に応じて、データの入力、削除、または変更が行われ、ほぼ常に読み取られます。



モジュールを作成するためのプログラミング言語の選択は好みと習慣の問題であり、基本的な性質ではありません。請求タスクの場合、単一操作の合計実行時間は、データベースに対するクエリ実行の速度によってほぼ完全に決定されるためです。



これらの操作を実行する前に、モジュールはデータベースへの接続を提供する必要があります。 ここでは、2つのオプションが可能です。各操作の接続を作成するか、永続的な接続を確保します。 各オプションには長所と短所がありますが、どちらのアプローチでもシステムのコンピューティングリソースをある程度消費する必要があることは明らかです。



RADIUSサーバーなどのプライマリデータのソース自体がそれらをデータベースに送信すると、逆説的な状況が発生します。 このデータを処理するように設計された一部の外部ソフトウェアモジュールは、データベースに接続し、必要なデータを読み取り、そのアクションの結果をデータベースに返す必要があります。 それとは別に、システム内のイベントを決定するという問題が発生し、モジュールの起動と処理するデータの選択条件の形成につながるはずです。



システムのビジネスロジック全体がデータベースの外部にあるため、入力データの正確性とその一貫性を確保することは、プログラマー開発者の肩にかかっています。 特別な努力には、トランザクションデータ操作をサポートする側面も必要です。



ビューにデータベースにこのような構造要素がないと、さまざまなテーブルに対する多数の連続クエリが生成され、プログラムコードの記述とデバッグが複雑になり、データベースサーバーに追加の負荷がかかります。



課金は、まず第一に、データを扱うシステムであり、多くの場合非常に重要なボリュームであることを強調したいと思います。 そして、データを扱うための特別なソフトウェア、DBMSがあります。 この単純な論理に従えば、結論は、自動決済システム(ASR)の設計の重点を、最新のDBMSの機能を最大限に活用することにシフトする必要があることを示唆しています。 この仮定は、ASBS「ASBS」のアーキテクチャの基礎を形成し、あなたに注意を促しました。



提示された概念では、課金の中心はデータベースであるため、可能な限り細心の注意を払ってDBMSの選択に取り組みました。 その結果、 PostgreSQLのオブジェクトリレーショナルデータベース管理システムに落ち着きました。 現時点では、これは既存のオープンDBMSの中で最も開発されており、商用データベースの真の代替手段です。



PostgreSQLをリベラルOSDライセンスで配布されるカーネルとして選択した結果、オープンソースソフトウェアでASR全体を構築することになりました。



計画が実施され、その結果、ASBS課金システムが作成され、2009年5月13日にInfocom Central Electric Networkにより第OC-1-CT-0229の下でライセンスされました。 これは、通信事業者、インターネットプロバイダー、営利企業および組織による使用を目的としています。



システムの主な機能の1つは、アーキテクチャの単純さです。



システムの中核は、 PostgreSQLサーバーで実行されているデータベースです。 すべてのシステムロジックはデータベース内にあり、エンティティ間の関係、一連の制約、チェック、ルール、トリガー、および関数によって記述されます。 PostgreSQLがオブジェクト指向モデルのフレームワーク内でテーブルを継承する機会も提供されました。 データベース構造、テーブル内の最適なタイプの列データの選択、DBMSが提供するインデックスメカニズムの全範囲の使用、およびトリガーの最大限の使用可能性に重点を置くことにより、非常に効率的で信頼性の高いシステムを構築できました。



RADIUSサーバーセッションとIPトラフィックは、課金のデータソースとして機能できます。 サービスの計算と対応する償却はリアルタイムで発生します。



クライアントの個人口座の資金移動は、 HTMLPHP 、およびJavaScriptを使用して記述されたシステムユーザーとサブスクライバーのWEBインターフェイス、自動支払いシステム(電子支払い、1C製品など)へのインターフェイス、および定期的に生成する管理サブシステムによって提供されます提供されたサービスのサブスクリプション料金を償却します。



管理サブシステムは、 NetFlowおよびSFlowプロトコルを使用したIPトラフィックのロードと集約も提供し、ネットワークへのアクセスの許可と拒否、アクセス速度の変更、セッションパラメーターの動的な変更と中断、システムにサービスを提供する手順の起動を行います。 pgAgentタスクスケジューラ上に構築され、データベースへのSQLクエリを直接実行するか、外部制御スクリプトを実行します



このシステムは、静的IPアドレス、802.1xプロトコル、トンネル( VPN )、 DHCP情報オプション82(CLIPS)を使用した、ダイヤルアップネットワーク( DIALUP )へのユーザー接続をサポートしています。 接続ユーザーの数はライセンスされていません。



インターネットアクセスサービスプロバイダーによるASBS ASRの運用経験は、システムがサーバーハードウェアの特別な要件を必要とせずに、何万人もの顧客に自信を持ってサービスを提供することを示しています。



システムの公式Webサイトでは、追加情報に加えて、すべてのシステムインターフェイスへの完全に機能するデモアクセスを取得できます。



All Articles