本願は、2018年3月13日に中国特許庁に出願され、「アプリケーションプログラムインタフェースAPI要求を伝送するための方法及び装置」と題する中国特許出願第201810203025.Xの優先権を主張し、その全体において参照により本明細書に組み込まれる。
本願は、コンピュータ技術の分野に関し、特にアプリケーションプログラミングインタフェースAPI要求を伝送するための方法及び装置に関する。
現在、インターネット技術及びアプリケーションソフトウェア技術の発達とともに、マイクロサービスアーキテクチャが、維持が容易、短時間の反復、および同様の利点などによって徐々に主流のアプリケーションアーキテクチャになっている。マイクロサービスアーキテクチャにおいて、ディベロッパは、アプリケーションを複数の独立したサーバへ分離し、サーバのセキュリティレベルに基づいてサーバを複数のセキュリティドメインへ分けることができる。アプリケーションプログラミングインタフェース(Application Programming Interface、API)ゲートウェイは、各セキュリティドメインにおいて設定され、クライアントによって送信されるAPI要求を受信し、対応するサーバにAPI要求を転送する。
先行技術において、クライアントによって送信されるAPI要求は、要求アドレスを保持する。API要求を受信するとき、APIゲートウェイは、要求アドレスを取得するためにAPI要求を解析し、そして要求アドレスに基づいて要求アドレスとサービスアドレスとの間の予め格納されたマッピングテーブルを照会し、ターゲットサービスアドレスを取得する。ターゲットサービスアドレスが、APIゲートウェイが属するセキュリティドメインのサービスアドレスである場合、APIゲートウェイは、対応するサーバにAPI要求を転送する。ターゲットサービスアドレスが、別のセキュリティドメインにおけるAPIゲートウェイのアドレスである(すなわち、API要求が複数のセキュリティドメインを横断する必要がある)場合、API要求は、ネクストホップAPIゲートウェイに送信され、ネクストホップAPIゲートウェイは、API要求が対応するサーバに転送されるまで前述の処理を行う。
しかしながら、先行技術に基づいて、API要求が複数のセキュリティドメインを横断する必要があるとき、各セキュリティドメインにおけるAPIゲートウェイは、要求アドレスとサービスアドレスとの間の予め格納されたマッピングテーブルを探索する必要がある。マッピングテーブルにおいて比較的大きな数のエントリがあるため、クエリは比較的長い時間かかり、API要求効率は影響を受ける。
本発明の実施形態は、アプリケーションプログラミングインタフェースAPI要求を伝送するための方法を提供し、API要求効率を向上させる。技術的解決手段は以下のとおりである。
第1の態様に従って、アプリケーションプログラミングインタフェースAPI要求を伝送するための方法であって、第1APIゲートウェイが、第1API要求を受信する段階と、第1APIゲートウェイが、第1API要求に対応する第1転送ラベルを取得する段階であって、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含み、第1APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる、段階と、第1APIゲートウェイが、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信する段階であって、第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信する第1APIゲートウェイのネクストホップAPIゲートウェイである、段階と、を含む、方法が提供される。
本発明の本実施形態において、第1API要求を受信した後、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルに基づいて、第1API要求に対応する第1転送ラベルを決定してもよく、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含む。そして、第1APIゲートウェイは、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイに第1API要求を送信する。次に、第2APIゲートウェイは、第1転送ラベルに基づいて処理を直接行ってよい。セキュリティドメイン識別子の数は要求されるアドレスの数よりはるかに小さいため、要求されるアドレスとサービスアドレスとの間のマッピングテーブルにおけるクエリの数は減少し、それによりAPI要求効率を向上させる。
可能な実装例において、第1APIゲートウェイが、第1API要求に対応する第1転送ラベルを取得する段階は、第1API要求に保持される要求パスを取得する段階と、要求パスと第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定する段階と、を具体的に含む。
可能な実装例において、第1APIゲートウェイが、第1API要求に対応する第1転送ラベルを取得する段階は、第1API要求に保持される要求パス及び第1パラメータを取得する段階であって、第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む、段階と、要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定する段階と、固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定する段階と、を具体的に含む。
可能な実装例において、第1APIゲートウェイが、第1API要求に対応する第1転送ラベルを取得する段階は、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得する段階であって、第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含む、段階と、要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定する段階と、固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定する段階と、を具体的に含む。
可能な実装例において、方法はさらに、第1APIゲートウェイが、第2API要求を受信する段階であって、第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第1ターゲットサービスアドレスを含む、段階と、第1APIゲートウェイが、第2API要求から第2転送ラベルを削除する段階と、第1APIゲートウェイが、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信する段階と、を含む。
可能な実装例において、方法はさらに、第1APIゲートウェイが、第3API要求を受信する段階と、第1APIゲートウェイが、第3API要求に対応する第3転送ラベルを取得する段階であって、第3転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第2ターゲットサービスアドレスを含む、段階と、第1APIゲートウェイが、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信する段階と、を含む。
第2の態様に従って、アプリケーションプログラミングインタフェースAPI要求を伝送するための装置であって、装置は、第1APIゲートウェイに適用され、第1API要求を受信するように構成される第1受信モジュールと、第1API要求に対応する第1転送ラベルを取得するように構成される第1取得モジュールであって、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含み、第1APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる、第1取得モジュールと、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信するように構成される第1送信モジュールであって、第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信する第1APIゲートウェイのネクストホップAPIゲートウェイである、第1送信モジュールと、を含む、装置が提供される。
可能な実装例において、第1取得モジュールは、第1API要求に保持される要求パスを取得し、要求パスと第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定するように具体的に構成される。
可能な実装例において、第1取得モジュールは、第1API要求に保持される要求パス及び第1パラメータを取得することであって、第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む、取得することと、要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を行うように具体的に構成される。
可能な実装例において、第1取得モジュールは、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得することであって、第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含む、取得することと、要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を行うように具体的に構成される。
可能な実装例において、装置はさらに、第2API要求を受信するように構成される第2受信モジュールであって、第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第1ターゲットサービスアドレスを含む、第2受信モジュールと、第2API要求から第2転送ラベルを削除するように構成される削除モジュールと、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信するように構成される第2送信モジュールと、を含む。
可能な実装例において、装置はさらに、第3API要求を受信するように構成される第3受信モジュールと、第3API要求に対応する第3転送ラベルを取得するように構成される第2取得モジュールであって、第3転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第2ターゲットサービスアドレスを含む、第2取得モジュールと、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信するように構成される第3送信モジュールと、を含む。
第3の態様に従って、アプリケーションプログラミングインタフェースAPIゲートウェイであって、APIゲートウェイは、メモリ、プロセッサ、及び通信インタフェースを含み、メモリは、プログラム命令を格納するように構成され、プロセッサは、メモリに格納されるプログラム命令に基づいて、通信インタフェースを用いることによって第1API要求を受信するオペレーションと、第1API要求に対応する第1転送ラベルを取得するオペレーションであって、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含み、第1APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる、取得するオペレーションと、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、通信インタフェースを用いることによって第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信するオペレーションであって、第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信する第1APIゲートウェイのネクストホップAPIゲートウェイである、送信するオペレーションと、を行うように構成される、ゲートウェイが提供される。
可能な実装例において、プロセッサが第1API要求に対応する第1転送ラベルを取得するオペレーションを行うことは、第1API要求に保持される要求パスを取得することと、要求パスと第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を含む。
可能な実装例において、プロセッサが第1API要求に対応する第1転送ラベルを取得するオペレーションを行うことは、第1API要求に保持される要求パス及び第1パラメータを取得することであって、第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む、取得することと、要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を含む。
可能な実装例において、プロセッサが第1API要求に対応する第1転送ラベルを取得するオペレーションを行うことは、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得することであって、第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含む、取得することと、要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を含む。
可能な実装例において、プロセッサがさらに、メモリに格納されるプログラム命令に基づいて、通信インタフェースを用いることによって第2API要求を受信するオペレーションであって、第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第1ターゲットサービスアドレスを含む、受信するオペレーションと、第2API要求から第2転送ラベルを削除するオペレーションと、通信インタフェースを用いることによって、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信するオペレーションと、を行うように構成される。
可能な実装例において、プロセッサがさらに、メモリに格納されるプログラム命令に基づいて、通信インタフェースを用いることによって、第3API要求を受信するオペレーションと、第3API要求に対応する第3転送ラベルを取得するオペレーションであって、第3転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第2ターゲットサービスアドレスを含む、取得するオペレーションと、通信インタフェースを用いることによって、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信するオペレーションと、を行うように構成される。
第4の態様に従って、命令を含むコンピュータ可読記憶媒体であって、命令がコンピュータ上で実行されるとき、コンピュータは、第1の態様に記載の方法を行うことが可能になる、コンピュータ可読記憶媒体が提供される。
本発明の本実施形態において、第1APIゲートウェイは、第1API要求を受信し、第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子に基づいて第1API要求を転送してよい。セキュリティドメイン識別子の数は要求されるアドレスの数よりはるかに小さいため、要求されるアドレスとサービスアドレスとの間のマッピングテーブルにおけるクエリの数は減少し、それによりAPI要求効率を向上させる。
本発明の実施形態に係るネットワークシステムの例示的な図である。
本発明の実施形態に係るAPI要求を伝送するための方法のフローチャートである。
本発明の実施形態に係るAPI要求を伝送する例のフローチャートである。
本発明の実施形態に係るAPI要求を伝送するための装置の概略構造図である。
本発明の実施形態に係るAPI要求を伝送するための装置の概略構造図である。
本発明の実施形態に係るAPI要求を伝送するための装置の概略構造図である。
本発明の実施形態に係るAPIゲートウェイの概略構造図である。
本発明の実施形態が、API要求を伝送するための方法を提供する。方法は、セキュリティドメインを横断してAPI要求を伝送するシナリオに適用されてよい。図1は、本発明の実施形態に係るネットワークシステムの例示的な図である。ネットワークシステムは、セキュリティドメインA、セキュリティドメインB、及びセキュリティドメインCという3つのセキュリティドメインを含む。APIゲートウェイAが、セキュリティドメインAに配置され、APIゲートウェイBが、セキュリティドメインBに配置され、及びAPIゲートウェイCが、セキュリティドメインCに配置され、複数のサーバが、各セキュリティドメインに配置されてよい。クライアントがセキュリティドメインCにおけるサーバ1にアクセスする必要があるとき、セキュリティドメインAにアクセスするクライアントは、APIゲートウェイAにAPI要求を送信してもよく、APIゲートウェイAは、APIゲートウェイBを用いることによってAPIゲートウェイCにAPI要求を送信し、APIゲートウェイCは、API要求を受信した後に処理のためにサーバ1にAPI要求を転送する。本発明の本実施形態において、セキュリティドメインは、セキュリティレベルを参照してよい。異なるサービスが、異なるセキュリティレベルを有し、異なるサービスは、対応するセキュリティドメインに位置する。
本発明の実施形態が、API要求を伝送するための方法を提供し、API要求効率を向上させる。具体的な処理手順は以下のとおりである。
ステップ201:第1APIゲートウェイが、第1API要求を受信する。
実装中、第1APIゲートウェイは、第1API要求を受信してよい。ここで、第1API要求は、クライアントによって送信されるAPI要求であってよく、又は、別のAPIゲートウェイによって転送されるAPI要求であってよい。例えば、クライアントがサーバにアクセスする必要があるとき、クライアントは、クライアントが属するセキュリティドメインにおける第1APIゲートウェイに第1API要求を送信してよい。別の例では、APIゲートウェイがクライアントによって送信される第1API要求を受信した後、第1API要求に対応するサーバが、APIゲートウェイが属するセキュリティドメインにない場合、APIゲートウェイは、予め格納されたポリシーに従って第1APIゲートウェイに第1API要求を転送してよい。第1API要求は、要求パスを保持してよく、API呼び出し方法、プロトコルバージョン番号、要求ヘッダ、及び要求追加パラメータなどの情報のうちの1つ又は複数をさらに保持してよい。第1API要求に対応するサーバが、第1APIゲートウェイが属するセキュリティドメインにないことはまた、第1API要求に対応するサーバが、第1APIゲートウェイが属するセキュリティドメインに配置されていないこと、又は、第1API要求に対応するサーバが、第1APIゲートウェイが属するセキュリティドメインにないことと称されてよい。
ステップ202:第1APIゲートウェイは、第1API要求に対応する第1転送ラベルを取得する。
第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含んでよく、第1APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる。ターゲットセキュリティドメイン識別子は、クライアントがアクセスする必要のあるターゲットサーバが属するセキュリティドメインの識別子であってよい。
実装中、第1API要求を受信した後、第1APIゲートウェイは、第1API要求を解析し、第1API要求が第1転送ラベルを保持するか否かを決定し、さらに決定の結果に基づいて、第1API要求に対応する第1転送ラベルを取得する。2つのケースがある。
第1のケースにおいて、第1API要求が第1転送ラベルを保持する場合、第1APIゲートウェイは、第1API要求に保持される第1転送ラベルを取得する。
実装中、第1APIゲートウェイが別のAPIゲートウェイによって転送された第1API要求を受信するとき、第1API要求は、別のAPIゲートウェイによって加えられた第1転送ラベルを保持する。第1APIゲートウェイは、第1API要求に保持される第1転送ラベルを取得するために、第1API要求を解析してよい。
第2のケースにおいて、第1API要求が第1転送ラベルを保持しない場合、第1APIゲートウェイは、第1API要求と第1転送ラベルとの間の予め格納されたマッピングテーブルに従って第1API要求に対応する第1転送ラベルを決定する。
実装中、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルを予め格納し、第1転送ラベルのマッピングテーブルは、実際のサービスに基づいて管理者によって設定されてよい。第1APIゲートウェイがクライアントによって送信される第1API要求を受信し、第1API要求が第1転送ラベルを保持していない場合、第1APIゲートウェイは、第1API要求と第1転送ラベルとの間の予め格納されたマッピングテーブルに従って、第1API要求に対応する第1転送ラベルを決定してよい。第1API要求に対応する第1転送ラベルを決定する様々な方式があってよい。本実施形態は、いくつかの実施可能な処理方式を提供する。
第1方式において、第1APIゲートウェイは、要求パスに基づいて、第1API要求に対応する第1転送ラベルを決定してよい。具体的な処理手順は以下のとおりである。
ステップ1:第1API要求に保持される要求パスを取得する。
実装中、第1API要求を受信した後、第1APIゲートウェイは、第1API要求に保持される要求パスを取得するために第1API要求を解析してよい。要求パスは、第1API要求に保持されるユニフォームリソースロケータ(Uniform Resource Locator、URL)におけるパス部分である。例えば、ハイパーテキスト転送プロトコル(HyperText Transfer Protocol、HTTP)におけるURLがhttp://192.168.1.1/testである場合、要求パスは、/testである。
ステップ2:要求パス及び第1転送ラベルのマッピングテーブルに基づいて第1転送ラベルを決定する。
第1転送ラベルのマッピングテーブルは、要求パスと第1転送ラベルとの間のマッピング関係を含む。
実装中、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルを予め格納してよく、第1転送ラベルのマッピングテーブルは、実際のサービスに基づいて管理者によって設定されてよい。第1転送ラベルのマッピングテーブルは、要求パスと第1転送ラベルとの間のマッピング関係を含む。表1は、第1転送ラベルのマッピングテーブルの例を示す。要求パスは、/testであり、要求パスに対応する第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子はAである。
第1API要求に保持される要求パスを取得した後、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルにおいて、要求パスを含むエントリに照会し、要求パスに対応する第1転送ラベルを取得するためにさらにエントリにおける第1転送ラベルを取得してよい。
第2方式において、第1APIゲートウェイは、固有値に基づいて、第1API要求に対応する第1転送ラベルを決定してよい。具体的な処理手順は以下のとおりである。
ステップ1:第1API要求に保持される要求パス及び第1パラメータを取得する。
第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む。
実装中、第1API要求を受信した後、第1APIゲートウェイは、第1API要求に保持される要求パス及び第1パラメータを取得するために第1API要求を解析してよい。第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含んでよい。HTTPプロトコルは、例として用いられ、API呼び出し方法は、get、post、put、delete、head、connect、options、及びtrace呼び出し方法などの、HTTPプロトコルにおける呼び出し方法である。プロトコルバージョン番号は、HTTPプロトコルバージョン番号、例えばhttp1.0又はhttp1.1である。
ステップ2:要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定する。
実装中、第1APIゲートウェイは、固有値アルゴリズムを予め格納してよく、固有値アルゴリズムは、管理者によって設定されてよい。例えば、固有値アルゴリズムは、ハッシュアルゴリズムでよく、又は別の固有値アルゴリズムでよい。これは本発明において限定されるものではない。
第1API要求に保持される要求パス及び第1パラメータを取得した後、第1APIゲートウェイは、予め格納された固有値アルゴリズム、要求パス、及び第1パラメータに基づいて、固有値を計算してよい。例えば、第1APIゲートウェイは、予め格納されたハッシュアルゴリズム、要求パス、及び第1パラメータに基づいて、ハッシュ値を計算してよい。
ステップ3:固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定する。
第1転送ラベルのマッピングテーブルは、固有値と第1転送ラベルとの間のマッピング関係を含む。
実装中、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルを予め格納し、第1転送ラベルのマッピングテーブルは、管理者によって設定されてよい。第1転送ラベルのマッピングテーブルは、固有値と第1転送ラベルとの間のマッピング関係を含む。表2は、第1転送ラベルのマッピングテーブルの例を示し、ここで、固有値は、0xA26067F3であり、固有値に対応する第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子は、Aである。
第1API要求に対応する固有値を決定した後、第1APIゲートウェイは、固有値に対応する第1転送ラベルを取得するために、第1転送ラベルのマッピングテーブルにおいて固有値を含むエントリに照会し、エントリにおける第1転送ラベルを取得してよい。
第3方式において、第1APIゲートウェイは、固有値及び第3パラメータに基づいて、第1API要求に対応する第1転送ラベルを決定してよい。具体的な処理手順は以下のとおりである。
ステップ1:第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得する。
第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含んでよく、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含んでよく、要求ヘッダ及び要求追加パラメータは、キーバリューストレージ方式で格納されてよい。
実装中、第1API要求を受信した後、第1APIゲートウェイは、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得するために、第1API要求を解析してよい。本方式における第2パラメータは、第2方式における第1パラメータと同じでも異なってもよいことに留意されたい。
ステップ2:要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定する。
実装中、第1APIゲートウェイは、固有値アルゴリズムを予め格納してよく、固有値アルゴリズムは、管理者によって設定されてよい。固有値アルゴリズムは、ハッシュアルゴリズムでよく、又は別の固有値アルゴリズムでよい。これは本発明において限定されるものではない。
第1API要求に保持される要求パス及び第2パラメータを取得した後、第1APIゲートウェイは、予め格納された固有値アルゴリズム、要求パス、及び第2パラメータに基づいて、固有値を計算してよい。例えば、第1APIゲートウェイは、予め格納されたハッシュアルゴリズム、要求パス、及び第2パラメータに基づいて、ハッシュ値を計算してよい。
ステップ3:固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定する。
第1転送ラベルのマッピングテーブルは、固有値と、第3パラメータと、第1転送ラベルとの間のマッピング関係を含む。
実装中、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルを予め格納し、第1転送ラベルのマッピングテーブルは、実際のサービスに基づいて管理者によって設定されてよい。第1転送ラベルのマッピングテーブルは、固有値と、第3パラメータと、第1転送ラベルとの間のマッピング関係を含む。表3は、第1転送ラベルのマッピングテーブルの例を示し、ここで、固有値は、0xA26067F3であり、要求ヘッダは、qq.comであり、要求追加パラメータは、1であり、要求追加パラメータに対応する第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子は、Aである。
第1API要求に対応する固有値を決定した後、第1APIゲートウェイは、第3パラメータに対応する固有値及び第1転送ラベルを取得するために、固有値及び第3パラメータに基づいて第1転送ラベルのマッピングテーブルに照会してよい。
加えて、第1APIゲートウェイはさらに、別の方式において、第1API要求に対応する第1転送ラベルを決定してよい。
例えば、第1APIゲートウェイは、第1API要求に保持される要求パス及び第3パラメータを取得し、そして予め格納された固有値アルゴリズム、要求パス、第3パラメータに基づいて固有値を計算し、さらに固有値と第1転送ラベルとの間の予め格納されたマッピングテーブルに従って、第1API要求に対応する第1転送ラベルを決定してよい。第1転送ラベルのマッピングテーブルは、固有値と第1転送ラベルとの間のマッピング関係を含む。
別の例として、第1APIゲートウェイは、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得し、そして予め格納された固有値アルゴリズム、要求パス、第2パラメータ、及び第3パラメータに基づいて固有値を計算し、さらに固有値と第1転送ラベルとの間の予め格納されたマッピングテーブルに従って、第1API要求に対応する第1転送ラベルを決定してよい。第1転送ラベルのマッピングテーブルは、固有値と第1転送ラベルとの間のマッピング関係を含む。
ステップ203:第1APIゲートウェイは、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信する。
第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信する第1APIゲートウェイのネクストホップAPIゲートウェイである。
本発明の本実施形態において、第1APIゲートウェイは、第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子に基づいて第1API要求を転送してよい。セキュリティドメイン識別子の数が要求されるアドレスの数よりはるかに小さいため、要求されるアドレスとサービスアドレスとの間のマッピングテーブルにおけるクエリの数が減少し、それによりAPI要求効率を向上させる。
実装中、第1APIゲートウェイは、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係を予め格納してよく、マッピング関係は、管理者によって設定されてよい。マッピング関係は、表4に示されてよい。
第1APIゲートウェイは、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係において、第1ターゲットセキュリティドメインに対応する第2APIゲートウェイのアドレスを照会してよい。第2APIゲートウェイのアドレスは、インターネットプロトコル(Internet Protocol、IP)アドレスであってよく、又は第2APIゲートウェイを識別するために用いられる別のアドレスであってよい。これは本発明において限定されるものではない。
第2APIゲートウェイのアドレスを決定した後、第1APIゲートウェイは、第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を転送してよい。
任意選択で、第2API要求を受信した後、第1APIゲートウェイは、まず第2API要求における転送ラベルを削除し、そしてサーバに第2API要求を転送してよい。処理は以下のとおりである。
ステップ1:第1APIゲートウェイは、第2API要求を受信する。
第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子および第1ターゲットサービスアドレスを含む。
実装中、第1APIゲートウェイが別のAPIゲートウェイによって転送された第2API要求を受信するとき、第2API要求は、別のAPIゲートウェイによって加えられた第2転送ラベルを保持する。第1APIゲートウェイは、第2API要求に保持される第2転送ラベルを取得するために、第2API要求を解析してよい。
ステップ2:第1APIゲートウェイは、第2API要求における第2転送ラベルを削除する。
実装中、第1APIゲートウェイは、第1APIゲートウェイが属するセキュリティドメインのセキュリティドメイン識別子を予め格納してよい。第2API要求に対応する第2転送ラベルを決定した後、第1APIゲートウェイは、第1APIゲートウェイに関する、及び第2転送ラベルに保持されるセキュリティドメイン識別子がローカルに予め格納されたセキュリティドメイン識別子と同じであるか否かを決定してよい。セキュリティドメイン識別子がローカルに予め格納セキュリティドメイン識別子と同じである場合、ステップ3を行う。
ステップ3:第1APIゲートウェイは、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信する。
実装中、第1APIゲートウェイが、第2転送ラベルに保持される第1APIゲートウェイのセキュリティドメイン識別子がローカルに予め格納されたセキュリティドメイン識別子と同じであると決定する場合、第2API要求に対応するサーバは、第1APIゲートウェイのセキュリティドメインに位置することが示される。第2API要求に対応するサーバが第1APIゲートウェイのセキュリティドメインに位置することはまた、第2API要求に対応するサーバが第1APIゲートウェイのセキュリティドメインに属すること、又は第2API要求に対応するサーバが第1APIゲートウェイのセキュリティドメインに配置されることと称されてよい。
第1APIゲートウェイは、第2API要求において、第2転送ラベルに対応する位置を決定し、そして第2転送ラベルを削除し、最終的に、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに転送してよく、その結果、サーバは、第2API要求を処理する。これは、API要求における冗長な情報を減少させることができる。
任意選択で、第1APIゲートウェイが第3API要求を受信した後、第3API要求に対応するサーバが第1APIゲートウェイのセキュリティドメインにある場合、第1APIゲートウェイは、サーバに第3API要求を直接転送する。具体的な処理手順は以下のとおりである。
ステップ1:第1APIゲートウェイは、第3API要求を受信する。
ステップ2:第1APIゲートウェイは、第3API要求に対応する第3転送ラベルを取得する。
第3転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子および第2ターゲットサービスアドレスを含む。
実装中、第1APIゲートウェイは、第3転送ラベルのマッピングテーブルを予め格納し、第3転送ラベルのマッピングテーブルは、実際のサービスに基づいて管理者によって設定されてよい。第1APIゲートウェイがクライアントによって送信される第3API要求を受信するとき、第3API要求は、第3転送ラベルを保持せず、第1APIゲートウェイは、第3API要求、及び第3転送ラベルの予め格納されたマッピングテーブルに基づいて、第3API要求に対応する第3転送ラベルを決定してよい。具体的な処理手順については、ステップ202を参照。本明細書において再度詳細な記載はしない。
ステップ3:第1APIゲートウェイは、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信する。
実装中、第1APIゲートウェイは、第1APIゲートウェイが属するセキュリティドメインのセキュリティドメイン識別子を予め格納してよい。第3API要求に対応する第3転送ラベルを決定した後、第1APIゲートウェイは、第3転送ラベルに保持される第1APIゲートウェイのセキュリティドメイン識別子がローカルに予め格納されたセキュリティドメイン識別子と同じであるか否かを決定してよい。
第1APIゲートウェイが、第3転送ラベルに保持される第1APIゲートウェイのセキュリティドメイン識別子がローカルに予め格納されたセキュリティドメイン識別子と同じであると決定する場合、第3API要求に対応するサーバは、第1APIゲートウェイのセキュリティドメインに位置することが示される。
第1APIゲートウェイは、第2ターゲットサービスアドレスに対応するサーバに第3API要求を転送してよく、その結果、サーバは第3API要求を処理する。
第1APIゲートウェイがクライアントによって送信される第1API要求を受信するとき、第1API要求は第1転送ラベルを保持しないので、第1APIゲートウェイは、まず第1API要求に第1転送ラベルを追加し、第2APIゲートウェイに第1API要求を転送する必要があることに留意されたい。具体的な処理手順は以下のとおりである:第1API要求に第1転送ラベルを追加し、第1転送ラベルが加えられる第1API要求を、第1ターゲットセキュリティドメイン識別子に対応する第2APIゲートウェイに送信する。
実装中、第1APIゲートウェイは、第1API要求におけるプリセット位置に第1転送ラベルを追加し、第1転送ラベルが加えられる第1API要求を、第1ターゲットセキュリティドメイン識別子に対応する第2APIゲートウェイに転送してよい。本方法において、第2APIゲートウェイは、第1転送ラベルに基づいて対応する処理を行ってよい。
本解決手段において、ネットワークシステムは、各セキュリティドメインにおいてAPIゲートウェイに接続される管理サーバをさらに含み、管理者は、管理サーバ上の転送ラベルマッピングテーブルを予め構成してよいことに留意されたい。各セキュリティドメインにおけるAPIゲートウェイは、管理サーバから転送ラベルマッピングテーブルを取得してよい。これは、転送ラベルマッピングテーブルの設定における管理者の作業負荷を減少させる。
加えて、第1転送ラベルのマッピングテーブルは、各エントリの更新期間をさらに含んでよい。各エントリについて、エントリを発生させるとき、第1APIゲートウェイは、エントリの更新期間に値を割り当て、エントリに対応するタイマーを開始してよい。タイマーによって記録される期間が更新期間に到達するとき、第1APIゲートウェイは、エントリを更新してよい。表5に示されるとおり、エントリの更新期間は、3000秒である。タイマーによって記録される期間が更新期間と同一のとき、第1APIゲートウェイは、要求パスに基づいて、要求パスに対応するセキュリティドメイン識別子及びサービスアドレスのために、管理サーバを照会してよい。管理サーバ上に格納されるセキュリティドメイン識別子及びサービスアドレスが第1APIゲートウェイ上に格納されるセキュリティドメイン識別子及びサービスアドレスと同じ場合、第1APIゲートウェイは、タイマーを0にリセットしてよく、第1APIゲートウェイ上に格納されるセキュリティドメイン識別子及びサービスアドレスが異なる場合、第1APIゲートウェイ上に格納されるセキュリティドメイン識別子及びサービスアドレスを更新し、タイマーを0にリセットしてよく、及び、要求パスが管理サーバ上に格納されていない場合、エントリを削除してよい。
本発明はさらに、API要求を伝送する例を提供する。図3に示されるとおり、例は、以下のステップを具体的に含む。
ステップ301:第1APIゲートウェイは、API要求を受信する。
ステップ302:第1APIゲートウェイは、API要求が転送ラベルを保持するか否かを決定し、API要求が転送ラベルを保持する場合、ステップ304からステップ305を行い、そうでなければステップ303及びステップ305を行う。
ステップ303:第1APIゲートウェイは、API要求および転送ラベルの予め格納されたマッピングテーブルに基づいて、API要求に対応する転送ラベルを決定し、ステップ305を行う。
ステップ304:第1APIゲートウェイは、API要求に保持される転送ラベルを取得する。
ステップ305:第1APIゲートウェイは、ターゲットセキュリティドメイン識別子が第1APIゲートウェイのセキュリティドメイン識別子と同じか否かを決定し、ターゲットセキュリティドメイン識別子が第1APIゲートウェイのセキュリティドメイン識別子と同じ場合、ステップ306を行い、そうでなければステップ307からステップ308を行う。
ステップ306:第1APIゲートウェイは、API要求に保持される転送ラベルを削除し、転送ラベルが削除されるAPI要求を、ターゲットサービスアドレスに対応するサーバに転送する。
ステップ307:第1APIゲートウェイは、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間の予め格納されたマッピング関係に基づいて、第2APIゲートウェイに関する、及びターゲットセキュリティドメイン識別子対応するアドレスを決定する。
ステップ308:第1APIゲートウェイは、API要求に転送ラベルを追加し、転送ラベルが加えられるAPI要求を、ターゲットセキュリティドメイン識別子に対応する第2APIゲートウェイに送信する。
ステップ301からステップ308の具体的な処理手順については、ステップ201からステップ203を参照。本明細書において再度詳細な記載はしない。
本発明の本実施形態において、第1APIゲートウェイは、第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子に基づいて第1API要求を転送してよい。セキュリティドメイン識別子の数は要求されるアドレスの数よりはるかに小さいため、要求されるアドレスとサービスアドレスとの間のマッピングテーブルにおけるクエリの数は減少し、それによりAPI要求効率を向上させる。
同じ技術的コンセプトに基づいて、本発明の実施形態は、アプリケーションプログラミングインタフェースAPI要求を伝送するための装置をさらに提供する。装置は、第1APIゲートウェイに適用される。図4に示されるとおり、装置は、第1API要求を受信するように構成される第1受信モジュール410と、第1API要求に対応する第1転送ラベルを取得するように構成される第1取得モジュール420であって、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含み、第1APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる、第1取得モジュール420と、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信するように構成される第1送信モジュール430であって、第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信する第1APIゲートウェイのネクストホップAPIゲートウェイである、第1送信モジュール430と、を含む。
可能な実装例において、第1取得モジュール420は、第1API要求に保持される要求パスを取得し、要求パスと第1転送ラベルとの間のマッピングテーブルに基づいて第1転送ラベルを決定するように具体的に構成される。
可能な実装例において、第1取得モジュール420は、第1API要求に保持される要求パス及び第1パラメータを取得することであって、第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む、取得することと、要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することとを行うように具体的に構成される。
可能な実装例において、第1取得モジュール420は、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得することであって、第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含む、取得することと、要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を行うように具体的に構成される。
図5に示されるとおり、可能な実装例において、装置はさらに、第2API要求を受信するように構成される第2受信モジュール440であって、第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第1ターゲットサービスアドレスを含む、第2受信モジュール440と、第2API要求から第2転送ラベルを削除するように構成される削除モジュール450と、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信するように構成される第2送信モジュール460と、を含む。
図6に示されるとおり、可能な実装例において、装置はさらに、第3API要求を受信するように構成される第3受信モジュール470と、第3API要求に対応する第3転送ラベルを取得するように構成される第2取得モジュール480であって、第3転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第2ターゲットサービスアドレスを含む、第2取得モジュール480と、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信するように構成される第3送信モジュール490と、を含む。
本発明の本実施形態において、第1APIゲートウェイが、第1受信モジュール410を用いることによって、クライアントによって送信される第1API要求を受信した後、第1取得モジュール420は、第1転送ラベルのマッピングテーブルに基づいて、第1API要求に対応する第1転送ラベルを決定してもよく、ここで、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含む。そして、第1送信モジュール430は、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイに第1API要求を送信する。次に、第2APIゲートウェイは、再度第1転送ラベルマッピングテーブルを照会することなく第1転送ラベルに基づいて処理を直接行ってよく、それによりAPI要求効率を向上させる。
同じ技術的コンセプトに基づいて、本発明の実施形態は、アプリケーションプログラミングインタフェースAPIゲートウェイをさらに提供する。図7に示されるとおり、APIゲートウェイは、メモリ710、プロセッサ720、及び通信インタフェース730を含む。
メモリ710は、プログラム命令を格納するように構成される。
プロセッサ720は、メモリ710に格納されるプログラム命令に基づいて、通信インタフェース730を用いることによって第1API要求を受信するオペレーションと、第1API要求に対応する第1転送ラベルを取得するオペレーションであって、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含み、第1APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる、取得するオペレーションと、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、通信インタフェース730を用いることによって第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信するオペレーションであって、第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信する第1APIゲートウェイのネクストホップAPIゲートウェイである、送信するオペレーションと、を行うように構成される。
可能な実装例において、プロセッサ720が第1API要求に対応する第1転送ラベルを取得するオペレーションを行うことは、第1API要求に保持される要求パスを取得することと、要求パスと第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を含む。
可能な実装例において、プロセッサ720が第1API要求に対応する第1転送ラベルを取得するオペレーションを行うことは、第1API要求に保持される要求パス及び第1パラメータを取得することであって、第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む、取得することと、要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を含む。
可能な実装例において、プロセッサ720が第1API要求に対応する第1転送ラベルを取得するオペレーションを行うことは、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得することであって、第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含む、取得することと、要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を含む。
可能な実装例において、プロセッサ720がさらに、メモリ710に格納されるプログラム命令に基づいて、通信インタフェース730を用いることによって第2API要求を受信するオペレーションであって、第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第1ターゲットサービスアドレスを含む、受信するオペレーションと、第2API要求から第2転送ラベルを削除するオペレーションと、通信インタフェース730を用いることによって、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信するオペレーションと、を行うように構成される。
可能な実装例において、プロセッサ720がさらに、メモリ710に格納されるプログラム命令に基づいて、通信インタフェース730を用いることによって、第3API要求を受信するオペレーションと、第3API要求に対応する第3転送ラベルを取得するオペレーションであって、第3転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第2ターゲットサービスアドレスを含む、取得するオペレーションと、通信インタフェース730が、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信するオペレーションと、を行うように構成される。
本発明の実施形態において、図4、図5、及び図6に提供されるアプリケーションプログラミングインタフェースAPI要求を伝送するための装置は、図7に示されるAPIゲートウェイによって実装されてよい。具体的に、図、図5、及び図6における装置のモジュールは、図7に示されるAPIゲートウェイメモリ710、プロセッサ720、及びインタフェース730の組み合わせによって実装されてよい。あるいは、いくつかの部分は、メモリ710、プロセッサ720、及びインタフェース730によって実装されてよく、他の部分は専用のハードウェアによって実装される。別の実装において、図4、図5、及び図6に提供されるアプリケーションプログラミングインタフェースAPI要求を伝送するための装置は、専用のハードウェアデバイスによって代替的に実装されてよい。
前述の実施形態の全て又はいくつかは、ソフトウェア、ハードウェア、ファームウェア、又はそれらの組み合わせを用いることによって実装されてよい。ソフトウェアが実施形態を実装するために用いられるとき、実施形態は、コンピュータプログラム製品の形態で全体的又は部分的に実装されてよい。コンピュータプログラム製品は、1つ又は複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上にロードされ実行されるとき、本発明の実施形態に従う手順又は機能は、全て又は部分的に生み出される。コンピュータは、汎用コンピュータ、専用のコンピュータ、コンピュータネットワーク、又は他のプログラム可能な装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてよく、又はコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されてよい。例えば、コンピュータ命令は、有線(同軸ケーブル、光ファイバ、又はデジタル加入者線(DSL)など)又は無線(赤外線、電波、及びマイクロ波並びに同様のものなど)方式において、ウェブサイト、コンピュータ、サーバ、又はデータセンタから別のウェブサイト、コンピュータ、サーバ、又はデータセンタに伝送されてよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能ないずれの使用可能な媒体、又はサーバ又はデータセンタなどの、1つ又は複数の使用可能な媒体を統合するデータ記憶装置デバイスであってよい。使用可能な媒体は、磁気媒体(フロッピディスク、ハードディスク、又は磁気テープなど)、光媒体(DVD、半導体媒体(ソリッドステートドライブSolid State Disk(SSD)など)、又は同様のものであってよい。
本願は、2018年3月13日に中国特許庁に出願され、「アプリケーションプログラムインタフェースAPI要求を伝送するための方法及び装置」と題する中国特許出願第201810203025.Xの優先権を主張し、その全体において参照により本明細書に組み込まれる。
本願は、コンピュータ技術の分野に関し、特にアプリケーションプログラミングインタフェースAPI要求を伝送するための方法及び装置に関する。
現在、インターネット技術及びアプリケーションソフトウェア技術の発達とともに、マイクロサービスアーキテクチャが、維持が容易、短時間の反復、および同様の利点などによって徐々に主流のアプリケーションアーキテクチャになっている。マイクロサービスアーキテクチャにおいて、ディベロッパは、アプリケーションを複数の独立したサーバへ分離し、サーバのセキュリティレベルに基づいてサーバを複数のセキュリティドメインへ分けることができる。アプリケーションプログラミングインタフェース(Application Programming Interface、API)ゲートウェイは、各セキュリティドメインにおいて設定され、クライアントによって送信されるAPI要求を受信し、対応するサーバにAPI要求を転送する。
先行技術において、クライアントによって送信されるAPI要求は、要求アドレスを保持する。API要求を受信するとき、APIゲートウェイは、要求アドレスを取得するためにAPI要求を解析し、そして要求アドレスに基づいて要求アドレスとサービスアドレスとの間の予め格納されたマッピングテーブルを照会し、ターゲットサービスアドレスを取得する。ターゲットサービスアドレスが、APIゲートウェイが属するセキュリティドメインのサービスアドレスである場合、APIゲートウェイは、対応するサーバにAPI要求を転送する。ターゲットサービスアドレスが、別のセキュリティドメインにおけるAPIゲートウェイのアドレスである(すなわち、API要求が複数のセキュリティドメインを横断する必要がある)場合、API要求は、ネクストホップAPIゲートウェイに送信され、ネクストホップAPIゲートウェイは、API要求が対応するサーバに転送されるまで前述の処理を行う。
しかしながら、先行技術に基づいて、API要求が複数のセキュリティドメインを横断する必要があるとき、各セキュリティドメインにおけるAPIゲートウェイは、要求アドレスとサービスアドレスとの間の予め格納されたマッピングテーブルを探索する必要がある。マッピングテーブルにおいて比較的大きな数のエントリがあるため、クエリは比較的長い時間かかり、API要求効率は影響を受ける。
本発明の実施形態は、アプリケーションプログラミングインタフェースAPI要求を伝送するための方法を提供し、API要求効率を向上させる。技術的解決手段は以下のとおりである。
第1の態様に従って、アプリケーションプログラミングインタフェースAPI要求を伝送するための方法であって、第1APIゲートウェイが、第1API要求を受信する段階と、第1APIゲートウェイが、第1API要求に対応する第1転送ラベルを取得する段階であって、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含み、第1APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる、段階と、第1APIゲートウェイが、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信する段階であって、第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信する第1APIゲートウェイのネクストホップAPIゲートウェイである、段階と、を含む、方法が提供される。
本発明の本実施形態において、第1API要求を受信した後、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルに基づいて、第1API要求に対応する第1転送ラベルを決定してもよく、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含む。そして、第1APIゲートウェイは、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイに第1API要求を送信する。次に、第2APIゲートウェイは、第1転送ラベルに基づいて処理を直接行ってよい。セキュリティドメイン識別子の数は要求されるアドレスの数よりはるかに小さいため、要求されるアドレスとサービスアドレスとの間のマッピングテーブルにおけるクエリの数は減少し、それによりAPI要求効率を向上させる。
可能な実装例において、第1APIゲートウェイが、第1API要求に対応する第1転送ラベルを取得する段階は、第1API要求に保持される要求パスを取得する段階と、要求パスと第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定する段階と、を具体的に含む。
可能な実装例において、第1APIゲートウェイが、第1API要求に対応する第1転送ラベルを取得する段階は、第1API要求に保持される要求パス及び第1パラメータを取得する段階であって、第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む、段階と、要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定する段階と、固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定する段階と、を具体的に含む。
可能な実装例において、第1APIゲートウェイが、第1API要求に対応する第1転送ラベルを取得する段階は、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得する段階であって、第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含む、段階と、要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定する段階と、固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定する段階と、を具体的に含む。
可能な実装例において、方法はさらに、第1APIゲートウェイが、第2API要求を受信する段階であって、第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第1ターゲットサービスアドレスを含む、段階と、第1APIゲートウェイが、第2API要求から第2転送ラベルを削除する段階と、第1APIゲートウェイが、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信する段階と、を含む。
可能な実装例において、方法はさらに、第1APIゲートウェイが、第3API要求を受信する段階と、第1APIゲートウェイが、第3API要求に対応する第3転送ラベルを取得する段階であって、第3転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第2ターゲットサービスアドレスを含む、段階と、第1APIゲートウェイが、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信する段階と、を含む。
第2の態様に従って、アプリケーションプログラミングインタフェースAPI要求を伝送するための装置であって、装置は、第1APIゲートウェイに適用され、第1API要求を受信するように構成される第1受信モジュールと、第1API要求に対応する第1転送ラベルを取得するように構成される第1取得モジュールであって、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含み、第1APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる、第1取得モジュールと、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信するように構成される第1送信モジュールであって、第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信する第1APIゲートウェイのネクストホップAPIゲートウェイである、第1送信モジュールと、を含む、装置が提供される。
可能な実装例において、第1取得モジュールは、第1API要求に保持される要求パスを取得し、要求パスと第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定するように具体的に構成される。
可能な実装例において、第1取得モジュールは、第1API要求に保持される要求パス及び第1パラメータを取得することであって、第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む、取得することと、要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を行うように具体的に構成される。
可能な実装例において、第1取得モジュールは、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得することであって、第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含む、取得することと、要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を行うように具体的に構成される。
可能な実装例において、装置はさらに、第2API要求を受信するように構成される第2受信モジュールであって、第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第1ターゲットサービスアドレスを含む、第2受信モジュールと、第2API要求から第2転送ラベルを削除するように構成される削除モジュールと、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信するように構成される第2送信モジュールと、を含む。
可能な実装例において、装置はさらに、第3API要求を受信するように構成される第3受信モジュールと、第3API要求に対応する第3転送ラベルを取得するように構成される第2取得モジュールであって、第3転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第2ターゲットサービスアドレスを含む、第2取得モジュールと、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信するように構成される第3送信モジュールと、を含む。
第3の態様に従って、アプリケーションプログラミングインタフェースAPIゲートウェイであって、APIゲートウェイは、メモリ、プロセッサ、及び通信インタフェースを含み、メモリは、プログラム命令を格納するように構成され、プロセッサは、メモリに格納されるプログラム命令に基づいて、通信インタフェースを用いることによって第1API要求を受信するオペレーションと、第1API要求に対応する第1転送ラベルを取得するオペレーションであって、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含み、APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる、取得するオペレーションと、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、通信インタフェースを用いることによって第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信するオペレーションであって、第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信するAPIゲートウェイのネクストホップAPIゲートウェイである、送信するオペレーションと、を行うように構成される、ゲートウェイが提供される。
可能な実装例において、プロセッサは、第1API要求に保持される要求パスを取得し、要求パスと第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定するように具体的に構成される。
可能な実装例において、プロセッサは、第1API要求に保持される要求パス及び第1パラメータを取得し、第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定し、固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定するように具体的に構成される。
可能な実装例において、プロセッサは、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得し、第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含み、要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定し、固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定するように具体的に構成される。
可能な実装例において、プロセッサがさらに、メモリに格納されるプログラム命令に基づいて、通信インタフェースを用いることによって第2API要求を受信するオペレーションであって、第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、APIゲートウェイのセキュリティドメイン識別子及び第1ターゲットサービスアドレスを含む、受信するオペレーションと、第2API要求から第2転送ラベルを削除するオペレーションと、通信インタフェースを用いることによって、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信するオペレーションと、を行うように構成される。
可能な実装例において、プロセッサがさらに、メモリに格納されるプログラム命令に基づいて、通信インタフェースを用いることによって、第3API要求を受信するオペレーションと、第3API要求に対応する第3転送ラベルを取得するオペレーションであって、第3転送ラベルは、APIゲートウェイのセキュリティドメイン識別子及び第2ターゲットサービスアドレスを含む、取得するオペレーションと、通信インタフェースを用いることによって、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信するオペレーションと、を行うように構成される。
第4の態様に従って、命令を含むコンピュータ可読記憶媒体であって、命令がコンピュータ上で実行されるとき、コンピュータは、第1の態様に記載の方法を行うことが可能になる、コンピュータ可読記憶媒体が提供される。
本発明の本実施形態において、第1APIゲートウェイは、第1API要求を受信し、第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子に基づいて第1API要求を転送してよい。セキュリティドメイン識別子の数は要求されるアドレスの数よりはるかに小さいため、要求されるアドレスとサービスアドレスとの間のマッピングテーブルにおけるクエリの数は減少し、それによりAPI要求効率を向上させる。
本発明の実施形態に係るネットワークシステムの例示的な図である。
本発明の実施形態に係るAPI要求を伝送するための方法のフローチャートである。
本発明の実施形態に係るAPI要求を伝送する例のフローチャートである。
本発明の実施形態に係るAPI要求を伝送するための装置の概略構造図である。
本発明の実施形態に係るAPI要求を伝送するための装置の概略構造図である。
本発明の実施形態に係るAPI要求を伝送するための装置の概略構造図である。
本発明の実施形態に係るAPIゲートウェイの概略構造図である。
本発明の実施形態が、API要求を伝送するための方法を提供する。方法は、セキュリティドメインを横断してAPI要求を伝送するシナリオに適用されてよい。図1は、本発明の実施形態に係るネットワークシステムの例示的な図である。ネットワークシステムは、セキュリティドメインA、セキュリティドメインB、及びセキュリティドメインCという3つのセキュリティドメインを含む。APIゲートウェイAが、セキュリティドメインAに配置され、APIゲートウェイBが、セキュリティドメインBに配置され、及びAPIゲートウェイCが、セキュリティドメインCに配置され、複数のサーバが、各セキュリティドメインに配置されてよい。クライアントがセキュリティドメインCにおけるサーバ1にアクセスする必要があるとき、セキュリティドメインAにアクセスするクライアントは、APIゲートウェイAにAPI要求を送信してもよく、APIゲートウェイAは、APIゲートウェイBを用いることによってAPIゲートウェイCにAPI要求を送信し、APIゲートウェイCは、API要求を受信した後に処理のためにサーバ1にAPI要求を転送する。本発明の本実施形態において、セキュリティドメインは、セキュリティレベルを参照してよい。異なるサービスが、異なるセキュリティレベルを有し、異なるサービスは、対応するセキュリティドメインに位置する。
本発明の実施形態が、API要求を伝送するための方法を提供し、API要求効率を向上させる。具体的な処理手順は以下のとおりである。
ステップ201:第1APIゲートウェイが、第1API要求を受信する。
実装中、第1APIゲートウェイは、第1API要求を受信してよい。ここで、第1API要求は、クライアントによって送信されるAPI要求であってよく、又は、別のAPIゲートウェイによって転送されるAPI要求であってよい。例えば、クライアントがサーバにアクセスする必要があるとき、クライアントは、クライアントが属するセキュリティドメインにおける第1APIゲートウェイに第1API要求を送信してよい。別の例では、APIゲートウェイがクライアントによって送信される第1API要求を受信した後、第1API要求に対応するサーバが、APIゲートウェイが属するセキュリティドメインにない場合、APIゲートウェイは、予め格納されたポリシーに従って第1APIゲートウェイに第1API要求を転送してよい。第1API要求は、要求パスを保持してよく、API呼び出し方法、プロトコルバージョン番号、要求ヘッダ、及び要求追加パラメータなどの情報のうちの1つ又は複数をさらに保持してよい。第1API要求に対応するサーバが、第1APIゲートウェイが属するセキュリティドメインにないことはまた、第1API要求に対応するサーバが、第1APIゲートウェイが属するセキュリティドメインに配置されていないこと、又は、第1API要求に対応するサーバが、第1APIゲートウェイが属するセキュリティドメインにないことと称されてよい。
ステップ202:第1APIゲートウェイは、第1API要求に対応する第1転送ラベルを取得する。
第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含んでよく、第1APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる。ターゲットセキュリティドメイン識別子は、クライアントがアクセスする必要のあるターゲットサーバが属するセキュリティドメインの識別子であってよい。
実装中、第1API要求を受信した後、第1APIゲートウェイは、第1API要求を解析し、第1API要求が第1転送ラベルを保持するか否かを決定し、さらに決定の結果に基づいて、第1API要求に対応する第1転送ラベルを取得する。2つのケースがある。
第1のケースにおいて、第1API要求が第1転送ラベルを保持する場合、第1APIゲートウェイは、第1API要求に保持される第1転送ラベルを取得する。
実装中、第1APIゲートウェイが別のAPIゲートウェイによって転送された第1API要求を受信するとき、第1API要求は、別のAPIゲートウェイによって加えられた第1転送ラベルを保持する。第1APIゲートウェイは、第1API要求に保持される第1転送ラベルを取得するために、第1API要求を解析してよい。
第2のケースにおいて、第1API要求が第1転送ラベルを保持しない場合、第1APIゲートウェイは、第1API要求と第1転送ラベルとの間の予め格納されたマッピングテーブルに従って第1API要求に対応する第1転送ラベルを決定する。
実装中、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルを予め格納し、第1転送ラベルのマッピングテーブルは、実際のサービスに基づいて管理者によって設定されてよい。第1APIゲートウェイがクライアントによって送信される第1API要求を受信し、第1API要求が第1転送ラベルを保持していない場合、第1APIゲートウェイは、第1API要求と第1転送ラベルとの間の予め格納されたマッピングテーブルに従って、第1API要求に対応する第1転送ラベルを決定してよい。第1API要求に対応する第1転送ラベルを決定する様々な方式があってよい。本実施形態は、いくつかの実施可能な処理方式を提供する。
第1方式において、第1APIゲートウェイは、要求パスに基づいて、第1API要求に対応する第1転送ラベルを決定してよい。具体的な処理手順は以下のとおりである。
ステップ1:第1API要求に保持される要求パスを取得する。
実装中、第1API要求を受信した後、第1APIゲートウェイは、第1API要求に保持される要求パスを取得するために第1API要求を解析してよい。要求パスは、第1API要求に保持されるユニフォームリソースロケータ(Uniform Resource Locator、URL)におけるパス部分である。例えば、ハイパーテキスト転送プロトコル(HyperText Transfer Protocol、HTTP)におけるURLがhttp://192.168.1.1/testである場合、要求パスは、/testである。
ステップ2:要求パス及び第1転送ラベルのマッピングテーブルに基づいて第1転送ラベルを決定する。
第1転送ラベルのマッピングテーブルは、要求パスと第1転送ラベルとの間のマッピング関係を含む。
実装中、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルを予め格納してよく、第1転送ラベルのマッピングテーブルは、実際のサービスに基づいて管理者によって設定されてよい。第1転送ラベルのマッピングテーブルは、要求パスと第1転送ラベルとの間のマッピング関係を含む。表1は、第1転送ラベルのマッピングテーブルの例を示す。要求パスは、/testであり、要求パスに対応する第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子はAである。
第1API要求に保持される要求パスを取得した後、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルにおいて、要求パスを含むエントリに照会し、要求パスに対応する第1転送ラベルを取得するためにさらにエントリにおける第1転送ラベルを取得してよい。
第2方式において、第1APIゲートウェイは、固有値に基づいて、第1API要求に対応する第1転送ラベルを決定してよい。具体的な処理手順は以下のとおりである。
ステップ1:第1API要求に保持される要求パス及び第1パラメータを取得する。
第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む。
実装中、第1API要求を受信した後、第1APIゲートウェイは、第1API要求に保持される要求パス及び第1パラメータを取得するために第1API要求を解析してよい。第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含んでよい。HTTPプロトコルは、例として用いられ、API呼び出し方法は、get、post、put、delete、head、connect、options、及びtrace呼び出し方法などの、HTTPプロトコルにおける呼び出し方法である。プロトコルバージョン番号は、HTTPプロトコルバージョン番号、例えばhttp1.0又はhttp1.1である。
ステップ2:要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定する。
実装中、第1APIゲートウェイは、固有値アルゴリズムを予め格納してよく、固有値アルゴリズムは、管理者によって設定されてよい。例えば、固有値アルゴリズムは、ハッシュアルゴリズムでよく、又は別の固有値アルゴリズムでよい。これは本発明において限定されるものではない。
第1API要求に保持される要求パス及び第1パラメータを取得した後、第1APIゲートウェイは、予め格納された固有値アルゴリズム、要求パス、及び第1パラメータに基づいて、固有値を計算してよい。例えば、第1APIゲートウェイは、予め格納されたハッシュアルゴリズム、要求パス、及び第1パラメータに基づいて、ハッシュ値を計算してよい。
ステップ3:固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定する。
第1転送ラベルのマッピングテーブルは、固有値と第1転送ラベルとの間のマッピング関係を含む。
実装中、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルを予め格納し、第1転送ラベルのマッピングテーブルは、管理者によって設定されてよい。第1転送ラベルのマッピングテーブルは、固有値と第1転送ラベルとの間のマッピング関係を含む。表2は、第1転送ラベルのマッピングテーブルの例を示し、ここで、固有値は、0xA26067F3であり、固有値に対応する第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子は、Aである。
第1API要求に対応する固有値を決定した後、第1APIゲートウェイは、固有値に対応する第1転送ラベルを取得するために、第1転送ラベルのマッピングテーブルにおいて固有値を含むエントリに照会し、エントリにおける第1転送ラベルを取得してよい。
第3方式において、第1APIゲートウェイは、固有値及び第3パラメータに基づいて、第1API要求に対応する第1転送ラベルを決定してよい。具体的な処理手順は以下のとおりである。
ステップ1:第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得する。
第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含んでよく、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含んでよく、要求ヘッダ及び要求追加パラメータは、キーバリューストレージ方式で格納されてよい。
実装中、第1API要求を受信した後、第1APIゲートウェイは、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得するために、第1API要求を解析してよい。本方式における第2パラメータは、第2方式における第1パラメータと同じでも異なってもよいことに留意されたい。
ステップ2:要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定する。
実装中、第1APIゲートウェイは、固有値アルゴリズムを予め格納してよく、固有値アルゴリズムは、管理者によって設定されてよい。固有値アルゴリズムは、ハッシュアルゴリズムでよく、又は別の固有値アルゴリズムでよい。これは本発明において限定されるものではない。
第1API要求に保持される要求パス及び第2パラメータを取得した後、第1APIゲートウェイは、予め格納された固有値アルゴリズム、要求パス、及び第2パラメータに基づいて、固有値を計算してよい。例えば、第1APIゲートウェイは、予め格納されたハッシュアルゴリズム、要求パス、及び第2パラメータに基づいて、ハッシュ値を計算してよい。
ステップ3:固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定する。
第1転送ラベルのマッピングテーブルは、固有値と、第3パラメータと、第1転送ラベルとの間のマッピング関係を含む。
実装中、第1APIゲートウェイは、第1転送ラベルのマッピングテーブルを予め格納し、第1転送ラベルのマッピングテーブルは、実際のサービスに基づいて管理者によって設定されてよい。第1転送ラベルのマッピングテーブルは、固有値と、第3パラメータと、第1転送ラベルとの間のマッピング関係を含む。表3は、第1転送ラベルのマッピングテーブルの例を示し、ここで、固有値は、0xA26067F3であり、要求ヘッダは、qq.comであり、要求追加パラメータは、1であり、要求追加パラメータに対応する第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子は、Aである。
第1API要求に対応する固有値を決定した後、第1APIゲートウェイは、第3パラメータに対応する固有値及び第1転送ラベルを取得するために、固有値及び第3パラメータに基づいて第1転送ラベルのマッピングテーブルに照会してよい。
加えて、第1APIゲートウェイはさらに、別の方式において、第1API要求に対応する第1転送ラベルを決定してよい。
例えば、第1APIゲートウェイは、第1API要求に保持される要求パス及び第3パラメータを取得し、そして予め格納された固有値アルゴリズム、要求パス、第3パラメータに基づいて固有値を計算し、さらに固有値と第1転送ラベルとの間の予め格納されたマッピングテーブルに従って、第1API要求に対応する第1転送ラベルを決定してよい。第1転送ラベルのマッピングテーブルは、固有値と第1転送ラベルとの間のマッピング関係を含む。
別の例として、第1APIゲートウェイは、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得し、そして予め格納された固有値アルゴリズム、要求パス、第2パラメータ、及び第3パラメータに基づいて固有値を計算し、さらに固有値と第1転送ラベルとの間の予め格納されたマッピングテーブルに従って、第1API要求に対応する第1転送ラベルを決定してよい。第1転送ラベルのマッピングテーブルは、固有値と第1転送ラベルとの間のマッピング関係を含む。
ステップ203:第1APIゲートウェイは、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信する。
第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信する第1APIゲートウェイのネクストホップAPIゲートウェイである。
本発明の本実施形態において、第1APIゲートウェイは、第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子に基づいて第1API要求を転送してよい。セキュリティドメイン識別子の数が要求されるアドレスの数よりはるかに小さいため、要求されるアドレスとサービスアドレスとの間のマッピングテーブルにおけるクエリの数が減少し、それによりAPI要求効率を向上させる。
実装中、第1APIゲートウェイは、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係を予め格納してよく、マッピング関係は、管理者によって設定されてよい。マッピング関係は、表4に示されてよい。
第1APIゲートウェイは、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係において、第1ターゲットセキュリティドメインに対応する第2APIゲートウェイのアドレスを照会してよい。第2APIゲートウェイのアドレスは、インターネットプロトコル(Internet Protocol、IP)アドレスであってよく、又は第2APIゲートウェイを識別するために用いられる別のアドレスであってよい。これは本発明において限定されるものではない。
第2APIゲートウェイのアドレスを決定した後、第1APIゲートウェイは、第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を転送してよい。
任意選択で、第2API要求を受信した後、第1APIゲートウェイは、まず第2API要求における転送ラベルを削除し、そしてサーバに第2API要求を転送してよい。処理は以下のとおりである。
ステップ1:第1APIゲートウェイは、第2API要求を受信する。
第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子および第1ターゲットサービスアドレスを含む。
実装中、第1APIゲートウェイが別のAPIゲートウェイによって転送された第2API要求を受信するとき、第2API要求は、別のAPIゲートウェイによって加えられた第2転送ラベルを保持する。第1APIゲートウェイは、第2API要求に保持される第2転送ラベルを取得するために、第2API要求を解析してよい。
ステップ2:第1APIゲートウェイは、第2API要求における第2転送ラベルを削除する。
実装中、第1APIゲートウェイは、第1APIゲートウェイが属するセキュリティドメインのセキュリティドメイン識別子を予め格納してよい。第2API要求に対応する第2転送ラベルを決定した後、第1APIゲートウェイは、第1APIゲートウェイに関する、及び第2転送ラベルに保持されるセキュリティドメイン識別子がローカルに予め格納されたセキュリティドメイン識別子と同じであるか否かを決定してよい。セキュリティドメイン識別子がローカルに予め格納セキュリティドメイン識別子と同じである場合、ステップ3を行う。
ステップ3:第1APIゲートウェイは、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信する。
実装中、第1APIゲートウェイが、第2転送ラベルに保持される第1APIゲートウェイのセキュリティドメイン識別子がローカルに予め格納されたセキュリティドメイン識別子と同じであると決定する場合、第2API要求に対応するサーバは、第1APIゲートウェイのセキュリティドメインに位置することが示される。第2API要求に対応するサーバが第1APIゲートウェイのセキュリティドメインに位置することはまた、第2API要求に対応するサーバが第1APIゲートウェイのセキュリティドメインに属すること、又は第2API要求に対応するサーバが第1APIゲートウェイのセキュリティドメインに配置されることと称されてよい。
第1APIゲートウェイは、第2API要求において、第2転送ラベルに対応する位置を決定し、そして第2転送ラベルを削除し、最終的に、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに転送してよく、その結果、サーバは、第2API要求を処理する。これは、API要求における冗長な情報を減少させることができる。
任意選択で、第1APIゲートウェイが第3API要求を受信した後、第3API要求に対応するサーバが第1APIゲートウェイのセキュリティドメインにある場合、第1APIゲートウェイは、サーバに第3API要求を直接転送する。具体的な処理手順は以下のとおりである。
ステップ1:第1APIゲートウェイは、第3API要求を受信する。
ステップ2:第1APIゲートウェイは、第3API要求に対応する第3転送ラベルを取得する。
第3転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子および第2ターゲットサービスアドレスを含む。
実装中、第1APIゲートウェイは、第3転送ラベルのマッピングテーブルを予め格納し、第3転送ラベルのマッピングテーブルは、実際のサービスに基づいて管理者によって設定されてよい。第1APIゲートウェイがクライアントによって送信される第3API要求を受信するとき、第3API要求は、第3転送ラベルを保持せず、第1APIゲートウェイは、第3API要求、及び第3転送ラベルの予め格納されたマッピングテーブルに基づいて、第3API要求に対応する第3転送ラベルを決定してよい。具体的な処理手順については、ステップ202を参照。本明細書において再度詳細な記載はしない。
ステップ3:第1APIゲートウェイは、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信する。
実装中、第1APIゲートウェイは、第1APIゲートウェイが属するセキュリティドメインのセキュリティドメイン識別子を予め格納してよい。第3API要求に対応する第3転送ラベルを決定した後、第1APIゲートウェイは、第3転送ラベルに保持される第1APIゲートウェイのセキュリティドメイン識別子がローカルに予め格納されたセキュリティドメイン識別子と同じであるか否かを決定してよい。
第1APIゲートウェイが、第3転送ラベルに保持される第1APIゲートウェイのセキュリティドメイン識別子がローカルに予め格納されたセキュリティドメイン識別子と同じであると決定する場合、第3API要求に対応するサーバは、第1APIゲートウェイのセキュリティドメインに位置することが示される。
第1APIゲートウェイは、第2ターゲットサービスアドレスに対応するサーバに第3API要求を転送してよく、その結果、サーバは第3API要求を処理する。
第1APIゲートウェイがクライアントによって送信される第1API要求を受信するとき、第1API要求は第1転送ラベルを保持しないので、第1APIゲートウェイは、まず第1API要求に第1転送ラベルを追加し、第2APIゲートウェイに第1API要求を転送する必要があることに留意されたい。具体的な処理手順は以下のとおりである:第1API要求に第1転送ラベルを追加し、第1転送ラベルが加えられる第1API要求を、第1ターゲットセキュリティドメイン識別子に対応する第2APIゲートウェイに送信する。
実装中、第1APIゲートウェイは、第1API要求におけるプリセット位置に第1転送ラベルを追加し、第1転送ラベルが加えられる第1API要求を、第1ターゲットセキュリティドメイン識別子に対応する第2APIゲートウェイに転送してよい。本方法において、第2APIゲートウェイは、第1転送ラベルに基づいて対応する処理を行ってよい。
本解決手段において、ネットワークシステムは、各セキュリティドメインにおいてAPIゲートウェイに接続される管理サーバをさらに含み、管理者は、管理サーバ上の転送ラベルマッピングテーブルを予め構成してよいことに留意されたい。各セキュリティドメインにおけるAPIゲートウェイは、管理サーバから転送ラベルマッピングテーブルを取得してよい。これは、転送ラベルマッピングテーブルの設定における管理者の作業負荷を減少させる。
加えて、第1転送ラベルのマッピングテーブルは、各エントリの更新期間をさらに含んでよい。各エントリについて、エントリを発生させるとき、第1APIゲートウェイは、エントリの更新期間に値を割り当て、エントリに対応するタイマーを開始してよい。タイマーによって記録される期間が更新期間に到達するとき、第1APIゲートウェイは、エントリを更新してよい。表5に示されるとおり、エントリの更新期間は、3000秒である。タイマーによって記録される期間が更新期間と同一のとき、第1APIゲートウェイは、要求パスに基づいて、要求パスに対応するセキュリティドメイン識別子及びサービスアドレスのために、管理サーバを照会してよい。管理サーバ上に格納されるセキュリティドメイン識別子及びサービスアドレスが第1APIゲートウェイ上に格納されるセキュリティドメイン識別子及びサービスアドレスと同じ場合、第1APIゲートウェイは、タイマーを0にリセットしてよく、第1APIゲートウェイ上に格納されるセキュリティドメイン識別子及びサービスアドレスが異なる場合、第1APIゲートウェイ上に格納されるセキュリティドメイン識別子及びサービスアドレスを更新し、タイマーを0にリセットしてよく、及び、要求パスが管理サーバ上に格納されていない場合、エントリを削除してよい。
本発明はさらに、API要求を伝送する例を提供する。図3に示されるとおり、例は、以下のステップを具体的に含む。
ステップ301:第1APIゲートウェイは、API要求を受信する。
ステップ302:第1APIゲートウェイは、API要求が転送ラベルを保持するか否かを決定し、API要求が転送ラベルを保持する場合、ステップ304からステップ305を行い、API要求が転送ラベルを保持しない場合、ステップ303及びステップ305を行う。
ステップ303:第1APIゲートウェイは、API要求および転送ラベルの予め格納されたマッピングテーブルに基づいて、API要求に対応する転送ラベルを決定し、ステップ305を行う。
ステップ304:第1APIゲートウェイは、API要求に保持される転送ラベルを取得する。
ステップ305:第1APIゲートウェイは、ターゲットセキュリティドメイン識別子が第1APIゲートウェイのセキュリティドメイン識別子と同じか否かを決定し、ターゲットセキュリティドメイン識別子が第1APIゲートウェイのセキュリティドメイン識別子と同じ場合、ステップ306を行い、ターゲットセキュリティドメイン識別子が第1APIゲートウェイのセキュリティドメイン識別子と異なる場合、ステップ307からステップ308を行う。
ステップ306:第1APIゲートウェイは、API要求に保持される転送ラベルを削除し、転送ラベルが削除されるAPI要求を、ターゲットサービスアドレスに対応するサーバに転送する。
ステップ307:第1APIゲートウェイは、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間の予め格納されたマッピング関係に基づいて、第2APIゲートウェイに関する、及びターゲットセキュリティドメイン識別子対応するアドレスを決定する。
ステップ308:第1APIゲートウェイは、API要求に転送ラベルを追加し、転送ラベルが加えられるAPI要求を、ターゲットセキュリティドメイン識別子に対応する第2APIゲートウェイに送信する。
ステップ301からステップ308の具体的な処理手順については、ステップ201からステップ203を参照。本明細書において再度詳細な記載はしない。
本発明の本実施形態において、第1APIゲートウェイは、第1転送ラベルにおける第1ターゲットセキュリティドメイン識別子に基づいて第1API要求を転送してよい。セキュリティドメイン識別子の数は要求されるアドレスの数よりはるかに小さいため、要求されるアドレスとサービスアドレスとの間のマッピングテーブルにおけるクエリの数は減少し、それによりAPI要求効率を向上させる。
同じ技術的コンセプトに基づいて、本発明の実施形態は、アプリケーションプログラミングインタフェースAPI要求を伝送するための装置をさらに提供する。装置は、第1APIゲートウェイに適用される。図4に示されるとおり、装置は、第1API要求を受信するように構成される第1受信モジュール410と、第1API要求に対応する第1転送ラベルを取得するように構成される第1取得モジュール420であって、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含み、第1APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる、第1取得モジュール420と、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信するように構成される第1送信モジュール430であって、第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信する第1APIゲートウェイのネクストホップAPIゲートウェイである、第1送信モジュール430と、を含む。
可能な実装例において、第1取得モジュール420は、第1API要求に保持される要求パスを取得し、要求パスと第1転送ラベルとの間のマッピングテーブルに基づいて第1転送ラベルを決定するように具体的に構成される。
可能な実装例において、第1取得モジュール420は、第1API要求に保持される要求パス及び第1パラメータを取得することであって、第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む、取得することと、要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することとを行うように具体的に構成される。
可能な実装例において、第1取得モジュール420は、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得することであって、第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含む、取得することと、要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を行うように具体的に構成される。
図5に示されるとおり、可能な実装例において、装置はさらに、第2API要求を受信するように構成される第2受信モジュール440であって、第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第1ターゲットサービスアドレスを含む、第2受信モジュール440と、第2API要求から第2転送ラベルを削除するように構成される削除モジュール450と、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信するように構成される第2送信モジュール460と、を含む。
図6に示されるとおり、可能な実装例において、装置はさらに、第3API要求を受信するように構成される第3受信モジュール470と、第3API要求に対応する第3転送ラベルを取得するように構成される第2取得モジュール480であって、第3転送ラベルは、第1APIゲートウェイのセキュリティドメイン識別子及び第2ターゲットサービスアドレスを含む、第2取得モジュール480と、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信するように構成される第3送信モジュール490と、を含む。
本発明の本実施形態において、第1APIゲートウェイが、第1受信モジュール410を用いることによって、クライアントによって送信される第1API要求を受信した後、第1取得モジュール420は、第1転送ラベルのマッピングテーブルに基づいて、第1API要求に対応する第1転送ラベルを決定してもよく、ここで、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含む。そして、第1送信モジュール430は、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、第2APIゲートウェイに第1API要求を送信する。次に、第2APIゲートウェイは、再度第1転送ラベルマッピングテーブルを照会することなく第1転送ラベルに基づいて処理を直接行ってよく、それによりAPI要求効率を向上させる。
同じ技術的コンセプトに基づいて、本発明の実施形態は、アプリケーションプログラミングインタフェースAPIゲートウェイをさらに提供する。図7に示されるとおり、APIゲートウェイは、メモリ710、プロセッサ720、及び通信インタフェース730を含む。
メモリ710は、プログラム命令を格納するように構成される。
プロセッサ720は、メモリ710に格納されるプログラム命令に基づいて、通信インタフェース730を用いることによって第1API要求を受信するオペレーションと、第1API要求に対応する第1転送ラベルを取得するオペレーションであって、第1転送ラベルは、第1ターゲットセキュリティドメイン識別子を含み、APIゲートウェイのセキュリティドメイン識別子は、第1ターゲットセキュリティドメイン識別子とは異なる、取得するオペレーションと、第1ターゲットセキュリティドメイン識別子と第2APIゲートウェイのアドレスとの間のマッピング関係に従って第2APIゲートウェイのアドレスを決定し、通信インタフェース730を用いることによって第2APIゲートウェイのアドレスに基づいて第2APIゲートウェイに第1API要求を送信するオペレーションであって、第2APIゲートウェイは、第1ターゲットセキュリティドメイン識別子に対応するAPIゲートウェイに第1API要求を送信するAPIゲートウェイのネクストホップAPIゲートウェイである、送信するオペレーションと、を行うように構成される。
可能な実装例において、プロセッサ720が第1API要求に対応する第1転送ラベルを取得するオペレーションを行うことは、第1API要求に保持される要求パスを取得することと、要求パスと第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を含む。
可能な実装例において、プロセッサ720が第1API要求に対応する第1転送ラベルを取得するオペレーションを行うことは、第1API要求に保持される要求パス及び第1パラメータを取得することであって、第1パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含む、取得することと、要求パス、第1パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を含む。
可能な実装例において、プロセッサ720が第1API要求に対応する第1転送ラベルを取得するオペレーションを行うことは、第1API要求に保持される要求パス、第2パラメータ、及び第3パラメータを取得することであって、第2パラメータは、API呼び出し方法及び/又はプロトコルバージョン番号を含み、第3パラメータは、要求ヘッダ及び/又は要求追加パラメータを含む、取得することと、要求パス、第2パラメータ、及びプリセット固有値アルゴリズムに基づいて、第1API要求に対応する固有値を決定することと、固有値と、第3パラメータと、第1転送ラベルとの間のマッピングテーブルに従って第1転送ラベルを決定することと、を含む。
可能な実装例において、プロセッサ720がさらに、メモリ710に格納されるプログラム命令に基づいて、通信インタフェース730を用いることによって第2API要求を受信するオペレーションであって、第2API要求は、第2転送ラベルを保持し、第2転送ラベルは、APIゲートウェイのセキュリティドメイン識別子及び第1ターゲットサービスアドレスを含む、受信するオペレーションと、第2API要求から第2転送ラベルを削除するオペレーションと、通信インタフェース730を用いることによって、第2転送ラベルが削除される第2API要求を、第1ターゲットサービスアドレスに対応するサーバに送信するオペレーションと、を行うように構成される。
可能な実装例において、プロセッサ720がさらに、メモリ710に格納されるプログラム命令に基づいて、通信インタフェース730を用いることによって、第3API要求を受信するオペレーションと、第3API要求に対応する第3転送ラベルを取得するオペレーションであって、第3転送ラベルは、APIゲートウェイのセキュリティドメイン識別子及び第2ターゲットサービスアドレスを含む、取得するオペレーションと、通信インタフェース730が、第2ターゲットサービスアドレスに対応するサーバに第3API要求を送信するオペレーションと、を行うように構成される。
本発明の実施形態において、図4、図5、及び図6に提供されるアプリケーションプログラミングインタフェースAPI要求を伝送するための装置は、図7に示されるAPIゲートウェイによって実装されてよい。具体的に、図4、図5、及び図6における装置のモジュールは、図7に示されるAPIゲートウェイメモリ710、プロセッサ720、及びインタフェース730の組み合わせによって実装されてよい。あるいは、いくつかの部分は、メモリ710、プロセッサ720、及びインタフェース730によって実装されてよく、他の部分は専用のハードウェアによって実装される。別の実装において、図4、図5、及び図6に提供されるアプリケーションプログラミングインタフェースAPI要求を伝送するための装置は、専用のハードウェアデバイスによって代替的に実装されてよい。
前述の実施形態の全て又はいくつかは、ソフトウェア、ハードウェア、ファームウェア、又はそれらの組み合わせを用いることによって実装されてよい。ソフトウェアが実施形態を実装するために用いられるとき、実施形態は、コンピュータプログラム製品の形態で全体的又は部分的に実装されてよい。コンピュータプログラム製品は、1つ又は複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上にロードされ実行されるとき、本発明の実施形態に従う手順又は機能は、全て又は部分的に生み出される。コンピュータは、汎用コンピュータ、専用のコンピュータ、コンピュータネットワーク、又は他のプログラム可能な装置であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてよく、又はコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されてよい。例えば、コンピュータ命令は、有線(同軸ケーブル、光ファイバ、又はデジタル加入者線(DSL)など)又は無線(赤外線、電波、及びマイクロ波並びに同様のものなど)方式において、ウェブサイト、コンピュータ、サーバ、又はデータセンタから別のウェブサイト、コンピュータ、サーバ、又はデータセンタに伝送されてよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能ないずれの使用可能な媒体、又はサーバ又はデータセンタなどの、1つ又は複数の使用可能な媒体を統合するデータ記憶装置デバイスであってよい。使用可能な媒体は、磁気媒体(フロッピディスク、ハードディスク、又は磁気テープなど)、光媒体(DVD、半導体媒体(ソリッドステートドライブSolid State Disk(SSD)など)、又は同様のものであってよい。