(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023041022
(43)【公開日】2023-03-23
(54)【発明の名称】クラスタ化ゲートウェイのシャンディング方法、装置、記憶媒体及び電子機器
(51)【国際特許分類】
H04L 45/7453 20220101AFI20230315BHJP
【FI】
H04L45/7453
【審査請求】有
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2022139620
(22)【出願日】2022-09-02
(31)【優先権主張番号】202111064467.9
(32)【優先日】2021-09-10
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】ファン,ジフェン
(72)【発明者】
【氏名】チャン,ワンシェン
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA02
5K030HA08
5K030HD03
5K030JA11
5K030KA05
5K030KA07
5K030LB05
(57)【要約】 (修正有)
【課題】クラスタ化ゲートウェイのシャンディング方法、装置、記憶媒体及び電子機器を提供する。
【解決手段】方法は、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得する。ここで、第一のハッシュ値は、パブリックネットワークゲートウェイクラスタのシャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成される。方法はさらに、第一のハッシュ値に基づき、パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得し、第一のメッセージを上記ターゲットゲートウェイ機器に導流する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
クラスタ化ゲートウェイのシャンディング方法であって、
ターゲットイントラネット機器により送信された第一のメッセージを受信した時、前記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得するステップであって、前記第一のハッシュ値は、パブリックネットワークゲートウェイクラスタのシャントによって予め構成されたポート辞書に基づいて前記ハッシュ計算が実行されて生成されるステップと、
前記第一のハッシュ値に基づき、前記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得するステップと、
前記第一のメッセージを前記ターゲットゲートウェイ機器に導流するステップとを含む、クラスタ化ゲートウェイのシャンディング方法。
【請求項2】
前記パブリックネットワークゲートウェイクラスタのシャントがターゲットイントラネット機器により送信された第一のメッセージを受信する前に、前記方法は、
予め設定されたポート範囲に基づいて前記ポート辞書を構成するステップをさらに含み、ここで、前記ポート辞書は、パブリックネットワークゲートウェイクラスタのシャント及び全てのパブリックネットワーク機器上で構成される情報であり、前記ポート辞書におけるポートフィールドは、ハッシュバケットとポート連結リストとを含み、各ハッシュバケットには、一本のポート連結リストがあり、異なるハッシュバケットにおけるポート連結リストには、複数の互いに重複しないアドレスが存在する、請求項1に記載の方法。
【請求項3】
前記第一のハッシュ値に基づき、前記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得する前記ステップは、
前記パブリックネットワークゲートウェイクラスタにおける各台のパブリックネットワーク機器と第一のハッシュ値との間のマッピング関係を取得するステップであって、前記第一のハッシュ値と各台の前記パブリックネットワーク機器とは、複数対一のマッピング関係が存在するステップと、
前記マッピング関係と前記第一のハッシュ値に基づき、前記パブリックネットワークゲートウェイクラスタから前記ターゲットゲートウェイ機器を選択するステップとを含む、請求項1に記載の方法。
【請求項4】
前記第一のメッセージを前記ターゲットゲートウェイ機器に導流する前記ステップは、
前記シャントを採用して前記第一のメッセージをカプセル化し、第一のトンネルメッセージを獲得するステップと、
前記第一のハッシュ値を前記第一のトンネルメッセージの外層フィールドに書き込んだ後、導流器を採用して前記第一のトンネルメッセージを前記ターゲットゲートウェイ機器に導流するステップであって、前記ターゲットゲートウェイ機器は、前記第一のトンネルメッセージに対応するターゲットポートに基づき、前記第一のトンネルメッセージをパブリックネットワークに転送するために用いられるステップとを含む、請求項1に記載の方法。
【請求項5】
前記パブリックネットワークのルータから前記シャントに送信した第二のメッセージを受信した後、前記シャントを採用して前記ポート辞書に基づいてハッシュバケットを検索して獲得し、及び前記第二のメッセージに対してハッシュ計算を行うことで第二のハッシュ値を獲得するステップと、
前記第二のハッシュ値に基づいて前記パブリックネットワークゲートウェイクラスタから前記ターゲットゲートウェイ機器を選択し、前記シャントを採用して前記第二のメッセージをカプセル化して第二のトンネルメッセージを獲得するステップと、
前記第二のトンネルメッセージを前記ターゲットゲートウェイ機器に送信するステップであって、前記ターゲットゲートウェイ機器は、所定の接続トラッキングテーブルに基づいてネットワークアドレス変換を行った後、前記第二のトンネルメッセージを前記ターゲットイントラネット機器に送信するために用いられるステップとをさらに含む、請求項4に記載の方法。
【請求項6】
クラスタ化ゲートウェイのシャンディング方法であって、
パブリックネットワークゲートウェイクラスタのシャントからの第一のメッセージを受信するステップであって、前記シャントは、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、前記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得し、前記第一のハッシュ値に基づき、前記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得し、ここで、前記第一のハッシュ値は、前記シャントによって予め構成されたポート辞書に基づいて前記ハッシュ計算が実行されて生成されるステップと、
前記第一のメッセージに対応するターゲットポートに基づき、前記第一のメッセージをパブリックネットワークに転送するステップとを含む、クラスタ化ゲートウェイのシャンディング方法。
【請求項7】
パブリックネットワークゲートウェイクラスタのシャントからの第一のメッセージを受信する前記ステップは、
前記シャントが導流器を採用して導流した第一のトンネルメッセージを受信するステップを含み、ここで、前記シャントは、前記第一のメッセージをカプセル化して第一のトンネルメッセージを獲得し、前記第一のハッシュ値を前記第一のトンネルメッセージの外層フィールドに書き込む、請求項6に記載の方法。
【請求項8】
前記第一のメッセージに対応するターゲットポートに基づき、前記第一のメッセージをパブリックネットワークに転送する前記ステップは、
前記第一のトンネルメッセージの第一のハッシュ値に基づいてハッシュバケットを選択し、前記ハッシュバケットのポート連結リストにおいて、使用待ちのターゲットポートを選択するステップと、
前記第一のトンネルメッセージの内層メッセージに対してネットワークアドレス変換を行うことによって、変換後の内層メッセージを獲得するステップと、
前記ターゲットポートに基づいて前記変換後の内層メッセージを前記パブリックネットワークに転送するステップとを含む、請求項7に記載の方法。
【請求項9】
クラスタ化ゲートウェイのシャンディング装置であって、
ターゲットイントラネット機器により送信された第一のメッセージを受信した時、前記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得するための第一の取得モジュールであって、前記第一のハッシュ値は、パブリックネットワークゲートウェイクラスタのシャントによって予め構成されたポート辞書に基づいて前記ハッシュ計算が実行されて生成される第一の取得モジュールと、
前記第一のハッシュ値に基づき、前記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得するための第二の取得モジュールと、
前記第一のメッセージを前記ターゲットゲートウェイ機器に導流するための導流モジュールとを含む、クラスタ化ゲートウェイのシャンディング装置。
【請求項10】
予め設定されたポート範囲に基づいて前記ポート辞書を構成するための構成モジュールをさらに含み、ここで、前記ポート辞書は、パブリックネットワークゲートウェイクラスタのシャント及び全てのパブリックネットワーク機器上で構成される情報であり、前記ポート辞書におけるポートフィールドは、ハッシュバケットとポート連結リストとを含み、各ハッシュバケットには、一本のポート連結リストがあり、異なるハッシュバケットにおけるポート連結リストには、複数の互に重複しないアドレスが存在する、請求項9に記載の装置。
【請求項11】
前記第二の取得モジュールは、
前記パブリックネットワークゲートウェイクラスタにおける各台のパブリックネットワーク機器と第一のハッシュ値との間のマッピング関係を取得するための第三の取得モジュールであって、前記第一のハッシュ値と各台の前記パブリックネットワーク機器とは、複数対一のマッピング関係が存在する第三の取得モジュールと、
前記マッピング関係と前記第一のハッシュ値に基づき、前記パブリックネットワークゲートウェイクラスタから前記ターゲットゲートウェイ機器を選択するための選択モジュールとを含む、請求項9に記載の装置。
【請求項12】
前記導流モジュールは、
前記シャントを採用して前記第一のメッセージをカプセル化し、第一のトンネルメッセージを獲得するための第一のカプセル化モジュールと、
前記第一のハッシュ値を前記第一のトンネルメッセージの外層フィールドに書き込んだ後、導流器を採用して前記第一のトンネルメッセージを前記ターゲットゲートウェイ機器に導流するための導入モジュールであって、前記ターゲットゲートウェイ機器は、前記第一のトンネルメッセージに対応するターゲットポートに基づき、前記第一のトンネルメッセージをパブリックネットワークに転送するために用いられる導入モジュールとを含む、請求項9に記載の装置。
【請求項13】
前記パブリックネットワークのルータから前記シャントに送信した第二のメッセージを受信した後、前記シャントを採用して前記ポート辞書に基づいてハッシュバケットを検索して獲得し、及び前記第二のメッセージに対してハッシュ計算を行うことで第二のハッシュ値を獲得するための計算モジュールと、
前記第二のハッシュ値に基づいて前記パブリックネットワークゲートウェイクラスタから前記ターゲットゲートウェイ機器を選択し、前記シャントを採用して前記第二のメッセージをカプセル化して第二のトンネルメッセージを獲得するための第二のカプセル化モジュールと、
前記第二のトンネルメッセージを前記ターゲットゲートウェイ機器に送信するための送信モジュールであって、前記ターゲットゲートウェイ機器は、所定の接続トラッキングテーブルに基づいてネットワークアドレス変換を行った後、前記第二のトンネルメッセージを前記ターゲットイントラネット機器に送信するために用いられる送信モジュールとをさらに含む、請求項12に記載の装置。
【請求項14】
クラスタ化ゲートウェイのシャンディング装置であって、
パブリックネットワークゲートウェイクラスタのシャントからの第一のメッセージを受信するための受信モジュールであって、前記シャントは、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、前記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得し、前記第一のハッシュ値に基づき、前記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得し、ここで、前記第一のハッシュ値は、前記シャントによって予め構成されたポート辞書に基づいて前記ハッシュ計算が実行されて生成される受信モジュールと、
前記第一のメッセージに対応するターゲットポートに基づき、前記第一のメッセージをパブリックネットワークに転送するための転送モジュールとを含む、クラスタ化ゲートウェイのシャンディング装置。
【請求項15】
前記受信モジュールは、
前記シャントが導流器を採用して導入した第一のトンネルメッセージを受信するための第一の受信サブモジュールを含み、前記シャントは、前記第一のメッセージをカプセル化して第一のトンネルメッセージを獲得し、前記第一のハッシュ値を前記第一のトンネルメッセージの外層フィールドに書き込む、請求項14に記載の装置。
【請求項16】
前記転送モジュールは、
前記第一のトンネルメッセージの第一のハッシュ値に基づいてハッシュバケットを選択し、前記ハッシュバケットのポート連結リストにおいて、使用待ちのターゲットポートを選択するための選択モジュールと、
前記第一のトンネルメッセージの内層メッセージに対してネットワークアドレス変換を行うことによって、変換後の内層メッセージを獲得するための変換モジュールと、
前記ターゲットポートに基づいて前記変換後の内層メッセージを前記パブリックネットワークに転送するための第一の転送サブモジュールとを含む、請求項15に記載の装置。
【請求項17】
電子機器であって、
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと通信して接続するメモリとを含み、
前記メモリには、前記少なくとも一つのプロセッサによって実行されることができる命令が記憶されており、前記命令は、前記少なくとも一つのプロセッサによって実行されて、前記少なくとも一つのプロセッサに請求項1から8のいずれか1項に記載のクラスタ化ゲートウェイのシャンディング方法を実行させる、電子機器。
【請求項18】
コンピュータ命令が記憶されている非瞬時コンピュータ可読記憶媒体であって、前記コンピュータ命令は、前記コンピュータに請求項1から8のいずれか1項に記載のクラスタ化ゲートウェイのシャンディング方法を実行させる、非瞬時コンピュータ可読記憶媒体。
【請求項19】
コンピュータプログラムを含むコンピュータプログラム製品であって、前記コンピュータプログラムがプロセッサによって実行される時、請求項1から8のいずれか1項に記載のクラスタ化ゲートウェイのシャンディング方法を実現する、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術分野に関し、特にクラウド計算、データセンタ及びサーバ分野に関する。
【背景技術】
【0002】
現在、クラスタ化ゲートウェイシャンディングの実現は、主にシャント上でパブリックネットワークIPを選択するアルゴリズムを実現させることによって、ユーザが、マルチパブリックネットワークIPの場合に正確なパブリックネットワークIPを選択することを確保することができるように、シャント上でクラスタにおける全てのNATルールを構成する必要がある。
【0003】
しかし、クラスタ規模が比較的に大きい場合、パブリックネットワークIPに基づくクラスタ化ゲートウェイシャンディングの実現は、比較的に複雑であり、メモリ、エントリの容量に対する要求も非常に高く、そして、一般的には、大量のサーバが協同して作動してこそ、大規模のクラスタ化ゲートウェイシャンディングを実現させることができ、それによって、シャントの転送効率が低く、且つリソース損失が大きい。
【0004】
上記の問題について、現在では、有効な解決案がまだ提案されていない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、クラスタ化ゲートウェイに用いられるシャンディング方法、装置、記憶媒体及び電子機器を提供した。
【課題を解決するための手段】
【0006】
本開示の一側面によれば、クラスタ化ゲートウェイのシャンディング方法を提供した。この方法は、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得するステップであって、上記第一のハッシュ値は、パブリックネットワークゲートウェイクラスタのシャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成されるステップと、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得するステップと、上記第一のメッセージを上記ターゲットゲートウェイ機器に導流するステップとを含む。
【0007】
好ましくは、上記パブリックネットワークゲートウェイクラスタのシャントがターゲットイントラネット機器により送信された第一のメッセージを受信する前に、上記方法は、予め設定されたポート範囲に基づいて上記ポート辞書を構成するステップをさらに含み、ここで、上記ポート辞書は、パブリックネットワークゲートウェイクラスタのシャント及び全てのパブリックネットワーク機器上で構成される情報であり、上記ポート辞書におけるポートフィールドは、ハッシュバケットとポート連結リストとを含み、各ハッシュバケットには、一本のポート連結リストがあり、異なるハッシュバケットにおけるポート連結リストには、複数の互に重複しないアドレスが存在する。
【0008】
好ましくは、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得する前記ステップは、上記パブリックネットワークゲートウェイクラスタにおける各台のパブリックネットワーク機器と第一のハッシュ値との間のマッピング関係を取得するステップであって、上記第一のハッシュ値と各台の上記パブリックネットワーク機器とは、複数対一のマッピング関係が存在するステップと、上記マッピング関係と上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタから上記ターゲットゲートウェイ機器を選択するステップとを含む。
【0009】
好ましくは、上記第一のメッセージを上記ターゲットゲートウェイ機器に導流する前記ステップは、上記シャントを採用して上記第一のメッセージをカプセル化し、第一のトンネルメッセージを獲得するステップと、上記第一のハッシュ値を上記第一のトンネルメッセージの外層フィールドに書き込んだ後、導流器を採用して上記第一のトンネルメッセージを上記ターゲットゲートウェイ機器に導流するステップであって、上記ターゲットゲートウェイ機器は、上記第一のトンネルメッセージに対応するターゲットポートに基づき、上記第一のトンネルメッセージをパブリックネットワークに転送するために用いられるステップとを含む。
【0010】
好ましくは、上記パブリックネットワークのルータから上記シャントに送信した第二のメッセージを受信した後、上記シャントを採用して上記ポート辞書に基づいてハッシュバケットを検索して獲得し、及び上記第二のメッセージに対してハッシュ計算を行うことで第二のハッシュ値を獲得するステップと、上記第二のハッシュ値に基づいて上記パブリックネットワークゲートウェイクラスタから上記ターゲットゲートウェイ機器を選択し、上記シャントを採用して上記第二のメッセージをカプセル化して第二のトンネルメッセージを獲得するステップと、上記第二のトンネルメッセージを上記ターゲットゲートウェイ機器に送信するステップであって、上記ターゲットゲートウェイ機器は、所定の接続トラッキングテーブルに基づいてネットワークアドレス変換を行った後、上記第二のトンネルメッセージを上記ターゲットイントラネット機器に送信するために用いられるステップとをさらに含む。
【0011】
本開示の別の側面によれば、別のクラスタ化ゲートウェイのシャンディング方法を提供した。この方法は、パブリックネットワークゲートウェイクラスタのシャントからの第一のメッセージを受信するステップであって、上記シャントは、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得し、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得し、ここで、上記第一のハッシュ値は、上記シャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成されるステップと、上記第一のメッセージに対応するターゲットポートに基づき、上記第一のメッセージをパブリックネットワークに転送するステップとを含む。
【0012】
好ましくは、パブリックネットワークゲートウェイクラスタのシャントからの第一のメッセージを受信する前記ステップは、前記シャントが導流器を採用して導流した第一のトンネルメッセージを受信するステップを含み、ここで、上記シャントは、上記第一のメッセージをカプセル化して第一のトンネルメッセージを獲得し、上記第一のハッシュ値を上記第一のトンネルメッセージの外層フィールドに書き込む。
【0013】
好ましくは、上記第一のメッセージに対応するターゲットポートに基づき、上記第一のメッセージをパブリックネットワークに転送する前記ステップは、上記第一のトンネルメッセージの第一のハッシュ値に基づいてハッシュバケットを選択し、上記ハッシュバケットのポート連結リストにおいて、使用待ちのターゲットポートを選択するステップと、上記第一のトンネルメッセージの内層メッセージに対してネットワークアドレス変換を行うことによって、変換後の内層メッセージを獲得するステップと、上記ターゲットポートに基づいて上記変換後の内層メッセージを上記パブリックネットワークに転送するステップとを含む。
【0014】
本開示の別の側面によれば、クラスタ化ゲートウェイのシャンディング装置を提供した。この装置は、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得するための第一の取得モジュールであって、上記第一のハッシュ値は、パブリックネットワークゲートウェイクラスタのシャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成される第一の取得モジュールと、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得するための第二の取得モジュールと、上記第一のメッセージを上記ターゲットゲートウェイ機器に導流するための導流モジュールとを含む。
【0015】
好ましくは、上記装置は、予め設定されたポート範囲に基づいて上記ポート辞書を構成するための構成モジュールをさらに含み、ここで、上記ポート辞書は、パブリックネットワークゲートウェイクラスタのシャント及び全てのパブリックネットワーク機器上で構成される情報であり、上記ポート辞書におけるポートフィールドは、ハッシュバケットとポート連結リストとを含み、各ハッシュバケットには、一本のポート連結リストがあり、異なるハッシュバケットにおけるポート連結リストには、複数の互に重複しないアドレスが存在する。
【0016】
好ましくは、上記第二の取得モジュールは、上記パブリックネットワークゲートウェイクラスタにおける各台のパブリックネットワーク機器と第一のハッシュ値との間のマッピング関係を取得するための第三の取得モジュールであって、上記第一のハッシュ値と各台の上記パブリックネットワーク機器とは、複数対一のマッピング関係が存在する第三の取得モジュールと、上記マッピング関係と上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタから上記ターゲットゲートウェイ機器を選択するための選択モジュールとを含む。
【0017】
好ましくは、上記導流モジュールは、上記シャントを採用して上記第一のメッセージをカプセル化し、第一のトンネルメッセージを獲得するための第一のカプセル化モジュールと、上記第一のハッシュ値を上記第一のトンネルメッセージの外層フィールドに書き込んだ後、導流器を採用して上記第一のトンネルメッセージを上記ターゲットゲートウェイ機器に導流するための導入モジュールであって、上記ターゲットゲートウェイ機器は、上記第一のトンネルメッセージに対応するターゲットポートに基づき、上記第一のトンネルメッセージをパブリックネットワークに転送するために用いられる導入モジュールとを含む。
【0018】
好ましくは、上記装置は、上記パブリックネットワークのルータから上記シャントに送信した第二のメッセージを受信した後、上記シャントを採用して上記ポート辞書に基づいてハッシュバケットを検索して獲得し、及び上記第二のメッセージに対してハッシュ計算を行うことで第二のハッシュ値を獲得するための計算モジュールと、上記第二のハッシュ値に基づいて上記パブリックネットワークゲートウェイクラスタから上記ターゲットゲートウェイ機器を選択し、上記シャントを採用して上記第二のメッセージをカプセル化して第二のトンネルメッセージを獲得するための第二のカプセル化モジュールと、上記第二のトンネルメッセージを上記ターゲットゲートウェイ機器に送信するための送信モジュールであって、上記ターゲットゲートウェイ機器は、所定の接続トラッキングテーブルに基づいてネットワークアドレス変換を行った後、上記第二のトンネルメッセージを上記ターゲットイントラネット機器に送信するために用いられる送信モジュールとをさらに含む。
【0019】
本開示の別の側面によれば、別のクラスタ化ゲートウェイのシャンディング装置を提供した。パブリックネットワークゲートウェイクラスタのシャントからの第一のメッセージを受信するための受信モジュールであって、上記シャントは、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得し、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得し、ここで、上記第一のハッシュ値は、上記シャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成される受信モジュールと、上記第一のメッセージに対応するターゲットポートに基づき、上記第一のメッセージをパブリックネットワークに転送するための転送モジュールとを含む。
【0020】
好ましくは、上記受信モジュールは、上記シャントが導流器を採用して導入した第一のトンネルメッセージを受信するための第一の受信サブモジュールを含み、上記シャントは、上記第一のメッセージをカプセル化して第一のトンネルメッセージを獲得し、上記第一のハッシュ値を上記第一のトンネルメッセージの外層フィールドに書き込む。
【0021】
好ましくは、上記転送モジュールは、上記第一のトンネルメッセージの第一のハッシュ値に基づいてハッシュバケットを選択し、上記ハッシュバケットのポート連結リストにおいて、使用待ちのターゲットポートを選択するための選択モジュールと、上記第一のトンネルメッセージの内層メッセージに対してネットワークアドレス変換を行うことによって、変換後の内層メッセージを獲得するための変換モジュールと、上記ターゲットポートに基づいて上記変換後の内層メッセージを上記パブリックネットワークに転送するための第一の転送サブモジュールとを含む。
【0022】
本開示の別の側面によれば、電子機器を提供した。上記電子機器は、少なくとも一つのプロセッサと、上記少なくとも一つのプロセッサと通信して接続するメモリとを含み、上記メモリには、上記少なくとも一つのプロセッサによって実行されることができる命令が記憶されており、上記命令は、上記少なくとも一つのプロセッサによって実行され、上記少なくとも一つのプロセッサに上記のいずれか1項に記載のクラスタ化ゲートウェイのシャンディング方法を実行させることができる。
【0023】
本開示の別の側面によれば、コンピュータ命令が記憶されている非瞬時コンピュータ可読記憶媒体を提供した。上記コンピュータ命令は、上記コンピュータに上記のいずれか1項に記載のクラスタ化ゲートウェイのシャンディング方法を実行させる。
【0024】
本開示の別の側面によれば、コンピュータプログラムを含むコンピュータプログラム製品を提供した。上記コンピュータプログラムがプロセッサによって実行される時、上記のいずれか1項に記載のクラスタ化ゲートウェイのシャンディング方法を実現する。
【発明の効果】
【0025】
本開示の実施例では、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得し、ここで、上記第一のハッシュ値は、パブリックネットワークゲートウェイクラスタのシャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成され、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得し、上記第一のメッセージを上記ターゲットゲートウェイ機器に導流することによって、予め構成されたポート辞書に基づいてメッセージをターゲットゲートウェイ機器に導流する目的を達成しており、それによってシャントの転送効率を向上させ、リソース消費を低減させる技術的効果を実現させており、さらにパブリックネットワークIPに基づいてクラスタ化ゲートウェイシャンディングを実現する方法に存在するシャントの転送効率が低いという従来技術における技術課題を解決した。
【0026】
理解すべきことは、本部分に記述された内容は、本開示の実施例の肝心な特徴又は重要な特徴を標識するためのものではなく、本開示の範囲を制限するためのものではない。本開示の他の特徴は、以下の明細書において容易に理解されるようになる。
【図面の簡単な説明】
【0027】
図面は、本方案をより良く理解するためのものであり、本開示を限定しない。
【
図1】本開示の第一の実施例によるクラスタ化ゲートウェイのシャンディング方法のステップフローチャートである。
【
図2】本開示の第一の実施例による好ましいポートフィールドの概略図である。
【
図3】本開示の第一の実施例による好ましいゲートウェイ機器選択方法の概略図である。
【
図4】本開示の第一の実施例による好ましいクラスタ化ゲートウェイのシャンディング方法のステップフローチャートである。
【
図5】本開示の第二の実施例による別の好ましいクラスタ化ゲートウェイのシャンディング方法のステップフローチャートである。
【
図6】本開示の第三の実施例によるクラスタ化ゲートウェイのシャンディング装置の構造概略図である。
【
図7】本開示の実施例を実現するための好ましい電子機器のブロック図である。
【発明を実施するための形態】
【0028】
以下、図面を参照しながら本開示の例示的な実施例について説明し、理解を容易にするために本開示の実施例の様々な詳細を含んでおり、それらは単なる例示的なものと見なされるべきである。そのため、当業者は、本開示の範囲及び趣旨から逸脱することなく、ここで記述される実施例に対して様々な変更と修正を行うことができることを認識すべきである。同様に、明確及び簡潔するために、以下の説明では、周知の機能及び構成の説明を省略する。
【0029】
なお、本開示の明細書、特許請求の範囲及び上記図面における用語である「第一」、「第二」などは、類似した対象を区別するためのものであり、必ずしも特定の順序又は前後手順を記述するためのものではない。理解できるように、このように使用される数字は、適切な場合に交換可能であり、それによって、ここに記述される本開示の実施例は、ここに図示されまたは記載されたもの以外の順序で実施されることができる。なお、用語「含む」と「有する」及びそれらの任意の変形は、非排除性の「含む」を意図的にカバーするものであり、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品又は機器は、必ずしも明瞭にリストアップされているそれらのステップ又はユニットに限らず、明瞭にリストアップされていない又はこれらのプロセス、方法、製品又は機器に固有の他のステップ又はユニットを含んでもよい。
【0030】
まず、本開示の実施例に対する理解を容易にするために、以下は、本開示に関わる一部の用語又は名詞について解釈して説明する。
【0031】
クラスタ化ゲートウェイ:同一のパブリックネットワークIPを介してパブリックネットワークサービスにアクセスするトラフィックは、一つのNATクラスタの複数の機器に分散されることができる。
【0032】
ハッシュバケット:異なるキー連結リストを盛る容器を示し、ハッシュテーブルの衝突を解決する方法である。ハッシュテーブルには、同一の位置に複数のエレメントが存在する可能性があり、ハッシュ衝突の問題に対応するために、ハッシュテーブルにおける各位置に一つのハッシュバケットを示す。ここで、ハッシュテーブルは、キーに基づいて直接アクセスするデータ構造である。
(実施例1)
【0033】
本開示の実施例によれば、クラスタ化ゲートウェイのシャンディング方法の実施例を提供した。なお、図面のフローチャートに示されるステップは、一組のコンピュータ実行可能な命令のようなコンピュータシステムにおいて実行されてもよく、そして、フローチャートにおいて、論理順序が示されているが、場合によって、示される又は記述されるステップをここの順序と異なる順序で実行してもよい。
【0034】
図1は、本開示の第一の実施例によるクラスタ化ゲートウェイのシャンディング方法のステップフローチャートである。
図1に示すように、この方法は、以下のステップを含む。
【0035】
ステップS102、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得し、ここで、上記第一のハッシュ値は、パブリックネットワークゲートウェイクラスタのシャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成される。
【0036】
ステップS104、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得する。
【0037】
ステップS106、上記第一のメッセージを上記ターゲットゲートウェイ機器に導流する。
【0038】
本開示の実施例では、上記第一のメッセージは、元の出向メッセージ、即ちターゲットイントラネット機器により発信されたネットワークアドレスが変換されていないネットワークデータパケットであり、上記第一のハッシュ値は、元の出向メッセージがハッシュ計算されて得たハッシュ値である。
【0039】
好ましくは、上記ハッシュ計算は、五つのタプルハッシュアルゴリズムを採用して上記第一のメッセージに対してハッシュ計算を行ってもよいが、それに限定されない。上記ゲートウェイ機器は、ネットワークアドレス変換機器であってもよいが、それに限定されない。
【0040】
好ましくは、上記予め構成されたポート辞書は、TCP/IPプロトコルスタックのポート範囲を採用してポート辞書を予め生成してもよいが、それに限定されない。上記ポート範囲は、TCP/IPプロトコルにより規定されるポート範囲0-65535を含んでもよいが、それに限定されない。
【0041】
好ましくは、上記クラスタ化ゲートウェイのシャンディング方法は、ポート辞書が予め生成されて、シャント及び全てのゲートウェイ機器上に保存され、クラスタ初期化時に生成されて、静的ハッシュ辞書を構成するだけでよく、且つハッシュ辞書が構成されると修正される必要がない。
【0042】
なお、上記クラスタ化ゲートウェイのシャンディング方法において、シャンディングアルゴリズムは、サービスの種類と関係なく、静的ハッシュ辞書を構成するだけでよく、且つハッシュ辞書が構成されると修正される必要がない。なお、上記クラスタ化ゲートウェイのシャンディング方法におけるシャントは、サービスに関連するネットワークアドレス変換ルールを構成する必要がなく、高速ハードウェアを用いてクラスタ化ゲートウェイのシャンディング操作を実現し、シャントの転送効率を大幅に向上させ、リソース消費を低減させることができる。
【0043】
本開示の実施例では、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得し、ここで、上記第一のハッシュ値は、パブリックネットワークゲートウェイクラスタのシャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成され、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得し、上記第一のメッセージを上記ターゲットゲートウェイ機器に導流することによって、予め構成されたポート辞書に基づいてメッセージをターゲットゲートウェイ機器に導流する目的を達成しており、それによってシャントの転送効率を向上させ、リソース消費を低減させる技術的効果を実現させており、さらにパブリックネットワークIPに基づいてクラスタ化ゲートウェイシャンディングを実現する方法に存在するシャントの転送効率が低いという従来技術における技術課題を解決した。
【0044】
一つの好ましい実施例では、上記パブリックネットワークゲートウェイクラスタのシャントがターゲットイントラネット機器により送信された第一のメッセージを受信する前に、上記方法は、予め設定されたポート範囲に基づいて上記ポート辞書を構成するステップをさらに含む。
【0045】
好ましくは、上記ポート辞書は、パブリックネットワークゲートウェイクラスタのシャント及び全てのパブリックネットワーク機器上で構成される情報であり、上記ポート辞書におけるポートフィールドは、ハッシュバケットとポート連結リストとを含み、各ハッシュバケットには、一本のポート連結リストがあり、異なるハッシュバケットにおけるポート連結リストには、複数の互に重複しないアドレスが存在する。
【0046】
好ましくは、上記予め構成されたポート辞書は、TCP/IPプロトコルスタックのポート範囲を採用してポート辞書を予め生成してもよいが、それに限定されない。上記ポート範囲は、TCP/IPプロトコルにより規定されるポート範囲0-65535を含んでもよいが、それに限定されない。
【0047】
なお、上記ポート辞書におけるポートフィールドは、2つの部分、即ちハッシュバケットとポート連結リストを含み、各ハッシュバケットには、一本のポート連結リストが対応され、異なるハッシュバケットにおけるポート連結リストには、複数の互に重複しないアドレスが存在して、これによって、大規模のクラスタ化ゲートウェイのシャンディング時、異なるゲートウェイ機器が割り当てられて使用するパブリックネットワークIPとポートが重複しないことを確保することができる。上記ポート辞書は、静的ポート辞書であり、クラスタ初期化時に生成され、且つシャント及び全てゲートウェイ機器上に保存され、生成されると変更されない。
【0048】
好ましい実施例として、
図2は、本開示の第一の実施例による好ましいポートフィールドの概略図である。
図2に示すように、上記ポートフィールドには、1024個のハッシュバケット(即ちハッシュバケット0-ハッシュバケット1024)が存在し、それぞれポート連結リスト0―ポート連結リスト1024に対応し、即ち、各ハッシュバケットには、一本のポート連結リストが対応され、且つ、異なるハッシュバケットにおけるポート連結リストには、複数の互に重複しないアドレスが存在し、例えば、ハッシュバケット0に対応するポート連結リスト0におけるアドレス情報がアドレス0、アドレス01024、・・・、アドレス064512を含み、ハッシュバケット1に対応するポート連結リスト1に対応するアドレス情報がアドレス1、アドレス01025、…、アドレス064513を含むため、大規模のクラスタ化ゲートウェイのシャンディング時、異なるゲートウェイ機器が割り当てられて使用するパブリックネットワークIPとポートが重複しないことを確保することができる。
【0049】
一つの好ましい実施例では、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得するステップは、以下のステップを含む。
【0050】
ステップS202、上記パブリックネットワークゲートウェイクラスタにおける各台のパブリックネットワーク機器と第一のハッシュ値との間のマッピング関係を取得する。
【0051】
ステップS204、上記マッピング関係と上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタから上記ターゲットゲートウェイ機器を選択する。
【0052】
好ましくは、上記第一のハッシュ値と各台の上記パブリックネットワーク機器とは、複数対一のマッピング関係が存在し、即ち各台のパブリックネットワークは、複数の第一のハッシュ値が対応されてもよい。
【0053】
なお、上記パブリックネットワークゲートウェイクラスタにおける各台のパブリックネットワーク機器と第一のハッシュ値との間のマッピング関係を取得し、上記マッピング関係と上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタから上記ターゲットゲートウェイ機器を選択することによって、大規模のクラスタ化ゲートウェイのシャンディング時、同一のストリームの出入向トラフィックが同一のゲートウェイ機器上にシャンディングされて処理されることを実現することができる。
【0054】
好ましい実施例として、
図3は、本開示の第一の実施例による好ましいゲートウェイ機器選択方法の概略図である。
図3に示すように、出向トラフィックと入向トラフィックは、異なるハッシュ値、即ちハッシュ値1とハッシュ値2に対応し、送信器を介して上記出向トラフィックと上記入向トラフィックをゲートウェイ機器1に伝送し、これによって同一のストリームの出入向トラフィックが同一のゲートウェイ機器上にシャンディングされて処理されることを確保する。
【0055】
一つの好ましい実施例では、上記第一のメッセージを上記ターゲットゲートウェイ機器に導流するステップは、以下のステップを含む。
【0056】
ステップS302、上記シャントを採用して上記第一のメッセージをカプセル化することで、第一のトンネルメッセージを獲得する。
【0057】
ステップS304、上記第一のハッシュ値を上記第一のトンネルメッセージの外層フィールドに書き込んだ後、導流器を採用して上記第一のトンネルメッセージを上記ターゲットゲートウェイ機器に導流する。
【0058】
好ましくは、ここで、上記ターゲットゲートウェイ機器は、上記第一のトンネルメッセージに対応するターゲットポートに基づき、上記第一のトンネルメッセージをパブリックネットワークに転送するために用いられる。
【0059】
なお、上記第一のハッシュ値は、上記第一のトンネルメッセージの外層フィールドに書き込まれ、ここで、上記第一のトンネルメッセージは、シャントによって上記第一のメッセージをカプセル化して得られたものであり、導流器を採用して上記第一のトンネルメッセージを上記ターゲットゲートウェイ機器に導流し、上記ターゲットゲートウェイ機器は、上記導流器により送信された上記第一のトンネルメッセージを受信した後、上記第一のトンネルメッセージに対応するハッシュ値に基づいてハッシュバケットを選択し、上記ハッシュバケットのポート連結リストにおいて上記第一のトンネルメッセージに対応するターゲットポートを選択し、上記第一のトンネルメッセージの内層メッセージに対してネットワークアドレス変換処理を行い、変換後の内層メッセージを上記ターゲットゲートウェイ機器を介して上記第一のトンネルメッセージに対応するターゲットポートを選択し、上記第一のトンネルメッセージをパブリックネットワークに転送する。
【0060】
本実施例では、上記シャントを採用して上記第一のメッセージをカプセル化することで、第一のトンネルメッセージを獲得し、上記第一のハッシュ値を上記第一のトンネルメッセージの外層フィールドに書き込んだ後、導流器を採用して上記第一のトンネルメッセージを上記ターゲットゲートウェイ機器に導流する方法によって、予め構成されたポート辞書に基づいてメッセージをターゲットゲートウェイ機器に導流する目的を達成しており、それによってシャントの転送効率を向上させ、リソース消費を低減させる技術的効果を実現させた。
【0061】
好ましい実施例として、
図4は、本開示の第一の実施例による好ましいクラスタ化ゲートウェイのシャンディング方法のステップフローチャートである。
図4に示すように、上記クラスタ化ゲートウェイのシャンディング方法は、以下のステップを含む。
【0062】
ステップS402、上記パブリックネットワークのルータから上記シャントに送信した第二のメッセージを受信した後、上記シャントを採用して上記ポート辞書に基づいてハッシュバケットを検索して獲得し、及び上記第二のメッセージに対してハッシュ計算を行うことで第二のハッシュ値を獲得する。
【0063】
ステップS404、上記第二のハッシュ値に基づいて上記パブリックネットワークゲートウェイクラスタから上記ターゲットゲートウェイ機器を選択し、上記シャントを採用して上記第二のメッセージをカプセル化して第二のトンネルメッセージを獲得する。
【0064】
ステップS406、上記第二のトンネルメッセージを上記ターゲットゲートウェイ機器に送信し、ここで、上記ターゲットゲートウェイ機器は、所定の接続トラッキングテーブルに基づいてネットワークアドレス変換を行った後、上記第二のトンネルメッセージを上記ターゲットイントラネット機器に送信するために用いられる。
【0065】
好ましくは、上記第二のメッセージは、入向メッセージであり、ここで、上記入向メッセージは、パブリックネットワークルータによって転送されて得られたものであり、上記第二のハッシュ値は、上記第二のメッセージ(即ち入向メッセージ)がハッシュ計算されて得られたものであり、ここで、上記ハッシュ計算は、五つのタプルハッシュアルゴリズムを採用して上記第二のメッセージに対してハッシュ計算を行ってもよいが、それに限定されない。
【0066】
なお、上記接続トラッキングテーブルは、ネットワークアドレス変換前のソースIPアドレス、ソースポート、プロトコル、宛先IPアドレス、宛先ポート情報及びネットワークアドレス変換後のソースIPアドレス、ソースポート、プロトコル、宛先IPアドレス、宛先ポート情報を記録するために用いられ、ここで、上記接続トラッキングテーブルに記録されたネットワークアドレス変換前後の情報間には、一対一の対応関係が存在し、上記ターゲットゲートウェイ機器を介して接続トラッキングテーブルに基づいてネットワークアドレス変換を行った後、上記第二のトンネルメッセージを上記ターゲットイントラネット機器に送信することができ、さらに同一のストリームの出入向トラフィックが同一のゲートウェイ機器上にシャンディングされて処理されることを確保している。
【0067】
なお、本実施例の選択可能な又は好ましい実施の形態は、上記クラスタ化ゲートウェイのシャンディング方法の実施例における関連記述を参照してもよく、ここではこれ以上説明しない。本開示の技術案において、ユーザ個人情報の取得、記憶、応用などは、いずれも関連法律法規の規定に適合し、且つ公序良俗に違反しない。
(実施例2)
【0068】
本開示の実施例によれば、別のクラスタ化ゲートウェイのシャンディング方法の実施例を提供した。上記クラスタ化ゲートウェイのシャンディング方法は、以下の方法のステップを含む。
【0069】
ステップS502、パブリックネットワークゲートウェイクラスタのシャントからの第一のメッセージを受信する。
【0070】
ステップS504、上記第一のメッセージに対応するターゲットポートに基づき、上記第一のメッセージをパブリックネットワークに転送する。
【0071】
好ましくは、上記第一のメッセージは、元の出向メッセージ、即ちターゲットイントラネット機器により発信されたネットワークアドレスが変換されていないネットワークデータパケットである。
【0072】
好ましくは、上記シャントは、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得し、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得し、ここで、上記第一のハッシュ値は、上記シャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成される。
【0073】
好ましくは、上記パブリックネットワークゲートウェイクラスタにおける各台のパブリックネットワーク機器と第一のハッシュ値との間のマッピング関係を取得することによって、上記マッピング関係と上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタから上記ターゲットゲートウェイ機器を選択し、ここで、上記第一のハッシュ値と各台の上記パブリックネットワーク機器とは、複数対一のマッピング関係が存在する。
【0074】
なお、パブリックネットワークゲートウェイクラスタのシャントからの第一のメッセージを受信し、上記第一のメッセージに対応するターゲットポートに基づき、上記第一のメッセージをパブリックネットワークに転送することによって、大規模のクラスタ化ゲートウェイのシャンディング時、異なるゲートウェイ機器が割り当てられて使用するパブリックネットワークIPとポートが重複しないことを確保することができ、シャントの転送効率を向上させる技術的効果を達成することができる。
【0075】
一つの好ましい実施例において、パブリックネットワークゲートウェイクラスタのシャントからの第一のメッセージを受信するステップは、前記シャントが導流器を採用して導流した第一のトンネルメッセージを受信するステップを含む。
【0076】
好ましくは、上記シャントは、上記第一のメッセージをカプセル化して第一のトンネルメッセージを獲得し、上記第一のハッシュ値を上記第一のトンネルメッセージの外層フィールドに書き込む。
【0077】
なお、上記第一のトンネルメッセージは、外層フィールドと内層フィールドとを少なくとも含み、ここで、上記第一のハッシュ値を上記第一のトンネルメッセージの外層フィールドに書き込み、上記内層メッセージに対してネットワークアドレス変換処理を行い、変換後の内層フィールドをパブリックネットワークに送信する。
【0078】
図5は、本開示の第二の実施例による別の好ましいクラスタ化ゲートウェイのシャンディング方法のステップフローチャートである。
図5に示すように、上記第一のメッセージに対応するターゲットポートに基づき、上記第一のメッセージをパブリックネットワークに転送するステップは、以下のステップを含む。
【0079】
ステップS602、上記第一のトンネルメッセージの第一のハッシュ値に基づいてハッシュバケットを選択し、上記ハッシュバケットのポート連結リストにおいて、使用待ちのターゲットポートを選択する。
【0080】
ステップS604、上記第一のトンネルメッセージの内層メッセージに対してネットワークアドレス変換を行うことによって、変換後の内層メッセージを獲得する。
【0081】
ステップS606、上記ターゲットポートに基づいて上記変換後の内層メッセージを上記パブリックネットワークに転送する。
【0082】
好ましくは、導流器を採用して上記第一のトンネルメッセージを上記ターゲットゲートウェイ機器に導流し、上記ターゲットゲートウェイ機器は、上記導流器により送信された上記第一のトンネルメッセージを受信した後、上記第一のトンネルメッセージに対応するハッシュ値に基づいてハッシュバケットを選択し、上記ハッシュバケットのポート連結リストにおいて上記第一のトンネルメッセージに対応するターゲットエンドロを選択し、上記第一のトンネルメッセージの内層メッセージに対してネットワークアドレス変換処理を行い、変換後の内層メッセージを上記ターゲットゲートウェイ機器を介して上記第一のトンネルメッセージに対応するターゲットポートを選択し、上記第一のトンネルメッセージをパブリックネットワークに転送する。
【0083】
本実施例では、上記第一のトンネルメッセージの第一のハッシュ値に基づいてハッシュバケットを選択し、上記ハッシュバケットのポート連結リストにおいて、使用待ちのターゲットポートを選択し、上記第一のトンネルメッセージの内層メッセージに対してネットワークアドレス変換を行うことによって、変換後の内層メッセージを獲得し、上記ターゲットポートに基づいて上記変換後の内層メッセージを上記パブリックネットワークに転送する方法によって、予め構成されたポート辞書に基づいてメッセージをターゲットゲートウェイ機器に導流する目的を達成しており、さらにパブリックネットワークIPに基づいてクラスタ化ゲートウェイシャンディングを実現する方法に存在するシャントの転送効率が低いという従来技術における技術課題を解決した。
【0084】
なお、本実施例の選択可能な又は好ましい実施の形態は、上記クラスタ化ゲートウェイのシャンディング方法の実施例における関連記述を参照してもよく、ここではこれ以上説明しない。本開示の技術案において、ユーザ個人情報の取得、記憶と応用などは、いずれも関連法律法規の規定に適合し、且つ公序良俗に違反しない。
(実施例3)
【0085】
本開示の実施例によれば、上記クラスタ化ゲートウェイのシャンディング方法を実施するための装置の実施例をさらに提供した。
図6は、本開示の第三の実施例によるクラスタ化ゲートウェイのシャンディング装置の構造概略図である。
図6に示すように、上記クラスタ化ゲートウェイのシャンディング装置は、第一の取得モジュール700と、第二の取得モジュール702と、導流モジュール704とを含む。
【0086】
上記第一の取得モジュール700は、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得するために用いられ、ここで、上記第一のハッシュ値は、パブリックネットワークゲートウェイクラスタのシャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成される。上記第二の取得モジュール702は、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得するために用いられ、上記導流モジュール704は、上記第一のメッセージを上記ターゲットゲートウェイ機器に導流するために用いられる。
【0087】
なお、上記各モジュールは、ソフトウェア又はハードウェアによって実現されてもよく、例えば、後者の場合、以下の方法によって実現されてもよく、上記各モジュールは、同一のプロセッサに位置してもよく、又は、上記各モジュールは、任意の組み合わせで異なるプロセッサに位置してもよい。
【0088】
ここで、説明すべきことは、上記第一の取得モジュール700、第二の取得モジュール702、導流モジュール704は、実施例1におけるステップS102からステップS106に対応し、上記モジュールは、対応するステップによる実例と適用シナリオと同じであるが、上記実施例1に開示される内容に限らない。なお、上記モジュールは、装置の一部としてコンピュータ端末で実行されてもよい。
【0089】
好ましい実施例として、上記装置は、予め設定されたポート範囲に基づいて上記ポート辞書を構成するための構成モジュールをさらに含み、ここで、上記ポート辞書は、パブリックネットワークゲートウェイクラスタのシャント及び全てのパブリックネットワーク機器上で構成される情報であり、上記ポート辞書におけるポートフィールドは、ハッシュバケットとポート連結リストとを含み、各ハッシュバケットには、一本のポート連結リストがあり、異なるハッシュバケットにおけるポート連結リストには、複数の互に重複しないアドレスが存在する。
【0090】
好ましい実施例として、上記第二の取得モジュールは、上記パブリックネットワークゲートウェイクラスタにおける各台のパブリックネットワーク機器と第一のハッシュ値との間のマッピング関係を取得するための第三の取得モジュールであって、上記第一のハッシュ値と各台の上記パブリックネットワーク機器とは、複数対一のマッピング関係が存在する第三の取得モジュールと、上記マッピング関係と上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタから上記ターゲットゲートウェイ機器を選択するための選択モジュールとを含む。
【0091】
好ましい実施例として、上記導流モジュールは、上記シャントを採用して上記第一のメッセージをカプセル化することで、第一のトンネルメッセージを獲得するための第一のカプセル化モジュールと、上記第一のハッシュ値を上記第一のトンネルメッセージの外層フィールドに書き込んだ後、導流器を採用して上記第一のトンネルメッセージを上記ターゲットゲートウェイ機器に導流するための導入モジュールとを含み、ここで、上記ターゲットゲートウェイ機器は、上記第一のトンネルメッセージに対応するターゲットポートに基づき、上記第一のトンネルメッセージをパブリックネットワークに転送するために用いられる。
【0092】
好ましい実施例として、上記装置は、上記パブリックネットワークのルータから上記シャントに送信した第二のメッセージを受信した後、上記シャントを採用して上記ポート辞書に基づいてハッシュバケットを検索して獲得し、及び上記第二のメッセージに対してハッシュ計算を行うことで第二のハッシュ値を獲得するための計算モジュールと、上記第二のハッシュ値に基づいて上記パブリックネットワークゲートウェイクラスタから上記ターゲットゲートウェイ機器を選択し、上記シャントを採用して上記第二のメッセージをカプセル化して第二のトンネルメッセージを獲得するための第二のカプセル化モジュールと、上記第二のトンネルメッセージを上記ターゲットゲートウェイ機器に送信するための送信モジュールであって、上記ターゲットゲートウェイ機器は、所定の接続トラッキングテーブルに基づいてネットワークアドレス変換を行った後、上記第二のトンネルメッセージを上記ターゲットイントラネット機器に送信するために用いられる送信モジュールとをさらに含む。
【0093】
本開示の実施例によれば、別のクラスタ化ゲートウェイのシャンディング装置の実施例を提供した。この実施例は、パブリックネットワークゲートウェイクラスタのシャントからの第一のメッセージを受信するための受信モジュールであって、上記シャントは、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得し、上記第一のハッシュ値に基づき、上記パブリックネットワークゲートウェイクラスタにおいて選択されたターゲットゲートウェイ機器を取得し、ここで、上記第一のハッシュ値は、上記シャントによって予め構成されたポート辞書に基づいて上記ハッシュ計算が実行されて生成される受信モジュールと、上記第一のメッセージに対応するターゲットポートに基づき、上記第一のメッセージをパブリックネットワークに転送するための転送モジュールとを含む。
【0094】
好ましい実施例として、上記受信モジュールは、上記シャントが導流器を採用して導入した第一のトンネルメッセージを受信するための第一の受信サブモジュールを含み、ここで、上記シャントは、上記第一のメッセージをカプセル化して第一のトンネルメッセージを獲得し、上記第一のハッシュ値を上記第一のトンネルメッセージの外層フィールドに書き込む。
【0095】
好ましい実施例として、上記転送モジュールは、上記第一のトンネルメッセージの第一のハッシュ値に基づいてハッシュバケットを選択し、上記ハッシュバケットのポート連結リストにおいて、使用待ちのターゲットポートを選択するための選択モジュールと、上記第一のトンネルメッセージの内層メッセージに対してネットワークアドレス変換を行うことによって、変換後の内層メッセージを獲得するための変換モジュールと、上記ターゲットポートに基づいて上記変換後の内層メッセージを上記パブリックネットワークに転送するための第一の転送サブモジュールとを含む。
【0096】
なお、本実施例の選択的又は好ましい実施の形態は、実施例1における関連記述を参照してもよく、ここではこれ以上説明しない。
【0097】
上記のクラスタ化ゲートウェイのシャンディング装置は、プロセッサとメモリとをさらに含んでもよく、上記第一の取得モジュール700、第二の取得モジュール702、導流モジュール704などは、いずれもプログラムユニットとしてメモリに記憶され、プロセッサがメモリに記憶された上記プログラムユニットを実行して該当する機能を実現する。
【0098】
プロセッサにはカーネルが含まれ、カーネルがメモリから該当するプログラムユニットを呼び出し、上記カーネルは、一つ以上設置されてもよい。メモリは、コンピュータ可読媒体における揮発性メモリ、ランダムアクセスメモリ(RAM)及び/又は不揮発性メモリなどの形式、例えばリードオンリーメモリ(ROM)又はフラッシュメモリ(flash RAM)を含んでもよく、メモリは、少なくとも一つの記憶チップを含む。
【0099】
本開示の実施例によれば、本開示は、電子機器、可読記憶媒体、コンピュータプログラム製品をさらに提供した。
【0100】
図7は、本開示の実施例を実施するための例示的な電子機器800の例示的なブロック図を示した。電子機器は、様々な形式のデジタルコンピュータ、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークベンチ、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータを示すことを意図している。電子機器はさらに、様々な形式の移動装置、例えば、パーソナルデジタル処理、セルラー電話、スマートフォン、ウェアラブルデバイス及び他の類似しているコンピューティング装置を表してもよい。本明細書に示される部品、それらの接続と関係、及びそれらの機能は、例としてのみ使用され、そして、本明細書に記述されている及び/又は要求される本開示の実施例の実現を制限することを意図しない。
【0101】
図7に示すように、機器800は、計算ユニット801を含み、それは、リードオンリーメモリ(ROM)802に記憶されたコンピュータプログラム、又は記憶ユニット808からランダムアクセスメモリ(RAM)803にロードされたコンピュータプログラムに基づいて、様々な適切な動作と処理を実行することができる。RAM 803には、機器800操作に必要な様々なプログラムとデータが記憶されてもよい。計算ユニット801、ROM 802及びRAM 803は、バス804によって互いに接続されている。入力/出力(I/O)インターフェース805もバス804に接続されている。
【0102】
機器800における複数の部品は、I/Oインターフェース805に接続され、入力ユニット806、例えばキーボード、マウスなど、出力ユニット807、例えば様々なタイプのディスプレイ、スピーカなど、記憶ユニット808、例えば磁気ディスク、光ディスクなど、及び通信ユニット809、例えばネットカード、モデム、無線通信送受信機などを含む。通信ユニット809は、機器800がインターネットのようなコンピュータネットワーク及び/又は様々な電気通信ネットワークを介して他の機器と情報/データを交換することを許可する。
【0103】
計算ユニット801は、処理と計算能力を有する様々な汎用及び/又は専用処理コンポーネントであってもよい。計算ユニット801のいくつかの例は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用人工知能(AI)計算チップ、機器学習モデルアルゴリズムを運行する様々な計算ユニット、デジタルシグナルプロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、それらに限らない。計算ユニット801は、上述した各方法と処理を実行し、例えば、方法は、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得する。例えば、いくつかの実施例において、方法は、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得することは、コンピュータソフトウェアプログラムとして実現されてもよく、それは、機器可読媒体、例えば記憶ユニット808に有形的に含まれる。いくつかの実施例において、コンピュータプログラムの一部又は全ては、ROM 802及び/又は通信ユニット809を介して機器800にロードされ、及び/又は取り付けられる。コンピュータプログラムがRAM 803にロードされ、計算ユニット801によって実行される時、上述した方法は、ターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得する一つ又は複数のステップを実行してもよい。代替的に、他の実施例において、計算ユニット801は、他の任意の適切な方式(例えば、ファームウェアに頼る)によってターゲットイントラネット機器により送信された第一のメッセージを受信した時、上記第一のメッセージに対してハッシュ計算を行うことで得た第一のハッシュ値を取得する実行方法として実行されてもよい。
【0104】
本明細書では、以上に記述されるシステムと技術の様々な実施の形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、専用標準製品(ASSP)、チップ上システムのシステム(SOC)、ロードプログラマブル論理デバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせに実現されてもよい。これらの様々な実施の形態は、以下を含んでもよく、一つ又は複数のコンピュータプログラムに実施され、この一つ又は複数のコンピュータプログラムは、少なくとも一つのプログラマブルプロセッサを含むプログラマブルシステム上で実行し、及び/又は解釈してもよく、このプログラマブルプロセッサは、専用又は汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも一つの入力装置、少なくとも一つの出力装置からデータと命令を受信し、そして、データと命令をこの記憶システム、この少なくとも一つの入力装置、この少なくとも一つの出力装置に伝送してもよい。
【0105】
本開示の方法を実施するためのプログラムコードは、一つ又は複数のプログラミング言語の任意の組み合わせを採用して作成してもよい。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供して、プログラムコードがプロセッサ又はコントローラによって実行される時、フローチャート及び/又はブロック図に規定される機能/操作が実施されることができる。プログラムコードは、完全に機器上で実行され、部分的に機器上で実行され、独立したソフトウェアパッケージとして部分的に機器上で実行され、且つ部分的に遠隔機器上で実行され、又は完全に遠隔機器又はサーバ上で実行されてもよい。
【0106】
本開示のコンテキストでは、機器可読媒体は、有形の媒体であってもよく、それは、命令実行システム、装置又は機器によって使用され、又は命令実行システム、装置又は機器と結び付けて使用されるプログラムを含むか、記憶してもよい。機器可読媒体は、機器可読信号媒体又は機器可読記憶媒体であってもよい。機器可読媒体は、電子的、磁気的、光学的、電磁的、赤外線的、又は半導体システム、装置又は機器、又は上記内容の任意の適切な組み合わせを含んでもよいが、それらに限らない。機器可読記憶媒体のより具体的な例として、一つ又は複数の線に基づく電气接続、携帯型コンピュータディスク、ハードディクス、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、ファイバ、便利なコンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶機器、磁気記憶機器、又は上記内容の任意の適切な組み合わせを含む。
【0107】
ユーザとのインタラクションを提供するために、コンピュータ上でここに記述されるシステムと技術を実施してもよく、このコンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極管表示装置)又はLCD(液晶ディスプレイ)監視器)、及びキーボードと指向装置(例えば、マウス又はトラックボール)を有し、ユーザは、このキーボードとこの指向装置によって入力をコンピュータに提供することができる。他の種類の装置はさらに、ユーザとのインタラクションを提供するために用いられてもよく、例えば、ユーザに提供するフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、そして任意の形式(音声入力、ボイス入力又は、触覚入力を含む)でユーザからの入力を受信してもよい。
【0108】
ここに記述されるシステムと技術を、バックグラウンド部品を含む計算システム(例えば、データサーバとして)、又はミドルウェア部品を含む計算システム(例えば、アプリケーションサーバ)、又はフロントエンド部品を含む計算システム(例えば、グラフィックスユーザインターフェース又はネットワークブラウザを有するユーザコンピュータ、ユーザは、このグラフィックスユーザインターフェース又はこのネットワークブラウザによってここに記述されているシステムと技術の実施の形態とインタラクションすることができる)、又はこのようなバックグラウンド部品、ミドルウェア部品、又はフロントエンド部品を含む任意の組み合わせの計算システムに実施してもよい。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムの部品を相互に接続してもよい。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)とインターネットとを含む。
【0109】
コンピュータシステムは、クライアントとサーバとを含んでもよい。クライアントとサーバは、一般的には、互いに離れており、そして、通常、通信ネットワークによってインタラクションされる。該当するコンピュータ上で運行し、且つ互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバの関係を生成する。サーバは、クラウドサーバであってもよく、分散型システムのサーバであってもよく、又はブロックチェーンを結び付けたサーバであってもよい。
【0110】
理解すべきことは、上記に示される様々な形式のフローを用いて、順位を再並べ替え、ステップを追加し、削除してもよい。例えば、本開示に記載されている各ステップは、並列に実行されてもよく、順次に実行されてもよく、異なる手順で実行されてもよい。本開示に開示される技術案が望ましい結果を達成することができる限り、本明細書は、ここでは、制限しない。
【0111】
上記具体的な実施の形態は、本開示の保護範囲に対する制限を構成しない。当業者が理解すべきことは、設計要求と他の要素に基づき、様々な修正、組み合わせ、サブ組み合わせと置き換えを行ってもよい。本開示の精神と原則内に行われる任意の修正、同等の置き換えと改良などは、本開示の保護範囲内に含まれるべきである。