(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023017825
(43)【公開日】2023-02-07
(54)【発明の名称】ネットワーク機器のテスト方法及びその装置
(51)【国際特許分類】
G06F 11/36 20060101AFI20230131BHJP
H04L 67/02 20220101ALI20230131BHJP
G06F 11/263 20060101ALI20230131BHJP
【FI】
G06F11/36 196
H04L67/02
G06F11/263
【審査請求】有
【請求項の数】35
【出願形態】OL
【公開請求】
(21)【出願番号】P 2022171517
(22)【出願日】2022-10-26
(31)【優先権主張番号】202111292152.X
(32)【優先日】2021-11-02
(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)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】ペン, ジェイジャン
(57)【要約】 (修正有)
【課題】ネットワーク機器のテスト方法及び装置を提供する。
【解決手段】ネットワーク機器のテスト方法は、少なくとも1つの仮想クライアントをシミュレーションし、仮想クライアントによって既存の第1の要求メッセージに基づいて、送信すべき第2の要求メッセージを生成するステップと、テスト対象のネットワーク機器が第2の要求メッセージを処理のために、シミュレーションされた仮想サーバに送信するように、テスト対象のネットワーク機器に第2の要求メッセージを送信するステップと、テスト対象のネットワーク機器によって送信される第2の要求メッセージの応答メッセージを受信するステップと、を含む。応答メッセージは、仮想サーバによってテスト対象のネットワーク機器に送信されたものである。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つの仮想クライアントをシミュレーションし、前記仮想クライアントによって既存の第1の要求メッセージに基づいて、送信すべき第2の要求メッセージを生成するステップと、
テスト対象のネットワーク機器が前記第2の要求メッセージを処理のために、シミュレーションされた仮想サーバに送信するように、前記テスト対象のネットワーク機器に前記第2の要求メッセージを送信するステップと、
前記テスト対象のネットワーク機器によって送信される前記第2の要求メッセージの応答メッセージを受信するステップであって、前記応答メッセージが前記仮想サーバによって前記テスト対象のネットワーク機器に送信されたものであるステップと、
を含む、ネットワーク機器のテスト方法。
【請求項2】
送信すべき第2の要求メッセージを生成するステップが、
要求メッセージバッファプールから前記第1の要求メッセージを読み取るステップと、
前記第1の要求メッセージのメッセージヘッダを修正して、前記第2の要求メッセージを生成するステップと、
を含む請求項1に記載のネットワーク機器のテスト方法。
【請求項3】
テスト対象のネットワーク機器に前記第2の要求メッセージを送信するステップの後に、
前記第2の要求メッセージを前記第1の要求メッセージとしてリサイクルし、前記要求メッセージバッファプールに再キャッシュするステップを含む請求項2に記載のネットワーク機器のテスト方法。
【請求項4】
生成された前記第2の要求メッセージを、前記仮想クライアントに対応する要求メッセージ送信キューにキャッシュするステップと、
前記要求メッセージ送信キューから前記第2の要求メッセージを読み取り、ネットワークカードを介して前記テスト対象のネットワーク機器に送信するステップと、
を含む請求項1に記載のネットワーク機器のテスト方法。
【請求項5】
前記テスト対象のネットワーク機器によって送信される前記第2の要求メッセージの応答メッセージを受信するステップが、
前記ネットワークカードを介して前記テスト対象のネットワーク機器から前記応答メッセージを受信するステップと、
受信した前記応答メッセージを、前記ネットワークカードにおける前記仮想クライアントに対応する応答メッセージ受信キューにキャッシュするステップと、
前記応答メッセージ受信キューから前記応答メッセージを読み取り、前記応答メッセージをそのままリリースするステップと、
を含む請求項1に記載のネットワーク機器のテスト方法。
【請求項6】
前記応答メッセージ受信キューから前記応答メッセージを読み取るステップの後に、
前記応答メッセージ内のアドレス情報を取得するステップと、
前記アドレス情報に基づいて、前記応答メッセージに対応するソケットを決定するステップと、
前記ソケットに基づいて、前記応答メッセージの正当性検証を行うステップと、
を含む請求項5に記載のネットワーク機器のテスト方法。
【請求項7】
前記アドレス情報に基づいて、前記応答メッセージに対応するソケットを決定するステップが、
前記仮想クライアントのアドレス情報に基づいて、前記仮想クライアントの識別子を取得するステップと、
前記仮想サーバのポートに基づいて、前記仮想サーバのポートシリアル番号を取得するステップと、
前記仮想クライアントの識別子、前記仮想クライアントのポートおよび前記仮想サーバのポートシリアル番号に基づいて、前記応答メッセージに対応するソケットを取得するステップと、
を含む請求項6に記載のネットワーク機器のテスト方法。
【請求項8】
少なくとも1つの仮想クライアントをシミュレーションするステップの後に、
前記仮想クライアントと前記テスト対象のネットワーク機器とのトランスミッションコントロールプロトコルTCP接続を確立し、前記応答メッセージを受信した後に前記TCP接続を切断するステップを含む請求項6に記載のネットワーク機器のテスト方法。
【請求項9】
少なくとも1つの仮想サーバをシミュレーションするステップと、
テスト対象のネットワーク機器によって送信される第2の要求メッセージを受信するステップであって、前記第2の要求メッセージが、シミュレーションされた仮想クライアントによって、既存の第1の要求メッセージに基づいて生成され且つ前記テスト対象のネットワーク機器に送信されたものであるステップと、
前記第2の要求メッセージの応答メッセージを生成し、前記テスト対象のネットワーク機器に前記第2の要求メッセージの応答メッセージを送信するステップと、
を含む、ネットワーク機器のテスト方法。
【請求項10】
前記第2の要求メッセージの応答メッセージを生成するステップが、
応答メッセージバッファプールから既存の応答メッセージを読み取るステップと、
前記既存の応答メッセージのメッセージヘッダを修正して、前記第2の要求メッセージの応答メッセージを生成するステップと、
を含む請求項9に記載のネットワーク機器のテスト方法。
【請求項11】
前記テスト対象のネットワーク機器に前記第2の要求メッセージの応答メッセージを送信するステップの後に、
前記応答メッセージを前記既存の応答メッセージとしてリサイクルし、前記要求メッセージバッファプールに再キャッシュするステップを含む請求項10に記載のネットワーク機器のテスト方法。
【請求項12】
生成された前記応答メッセージを前記仮想サーバに対応する応答メッセージ送信キューにキャッシュするステップと、
前記応答メッセージ送信キューから前記第2の要求メッセージの応答メッセージを読み取り、ネットワークカードを介して前記テスト対象のネットワーク機器に送信するステップと、
を含む請求項9に記載のネットワーク機器のテスト方法。
【請求項13】
テスト対象のネットワーク機器によって送信される第2の要求メッセージを受信するステップが、
前記ネットワークカードを介して前記テスト対象のネットワーク機器から前記第2の要求メッセージを受信するステップと、
受信した前記第2の要求メッセージを前記ネットワークカードにおける前記仮想クライアントに対応する要求メッセージ受信キューにキャッシュするステップと、
前記要求メッセージ受信キューから前記第2の要求メッセージを読み取り、前記第2の要求メッセージをそのままリリースするステップと、
を含む請求項9に記載のネットワーク機器のテスト方法。
【請求項14】
前記要求メッセージ受信キューから前記第2の要求メッセージを読み取るステップの後に、
前記第2の要求メッセージ内のアドレス情報を取得するステップと、
前記アドレス情報に基づいて、前記第2の要求メッセージに対応するソケットを決定するステップと、
前記ソケットに基づいて、前記第2の要求メッセージの正当性検証を行うステップと、
を含む請求項13に記載のネットワーク機器のテスト方法。
【請求項15】
前記ソケットに基づいて、前記第2の要求メッセージの正当性検証を行うステップが、
前記仮想サーバのアドレス情報に基づいて、前記仮想サーバの識別子を取得するステップと、
前記仮想クライアントのポートに基づいて、前記仮想クライアントのポートシリアル番号を取得するステップと、
前記仮想サーバの識別子、前記仮想サーバのポートおよび前記仮想クライアントのポートシリアル番号に基づいて、前記第2の要求メッセージに対応するソケットを取得するステップと、
を含む請求項14に記載のネットワーク機器のテスト方法。
【請求項16】
少なくとも1つの仮想サーバをシミュレーションするステップの後に、
前記仮想サーバと前記テスト対象のネットワーク機器とのTCP接続を確立し、前記応答メッセージを送信した後に前記TCP接続を切断するステップを含む請求項15に記載のネットワーク機器のテスト方法。
【請求項17】
少なくとも1つの仮想クライアントをシミュレーションし、前記仮想クライアントによって既存の第1の要求メッセージに基づいて、送信すべき第2の要求メッセージを生成するように構成されるシミュレーションモジュールと、
テスト対象のネットワーク機器が前記第2の要求メッセージを処理のために、シミュレーションされた仮想サーバに送信するように、前記テスト対象のネットワーク機器に前記第2の要求メッセージを送信するように構成される送信モジュールと、
前記テスト対象のネットワーク機器によって送信される前記第2の要求メッセージの応答メッセージを受信するように構成される受信モジュールであって、前記応答メッセージが前記仮想サーバによって前記テスト対象のネットワーク機器に送信されたものである受信モジュールと、
を備える、ネットワーク機器のテスト装置。
【請求項18】
前記シミュレーションモジュールが、
要求メッセージバッファプールから前記第1の要求メッセージを読み取り、
前記第1の要求メッセージのメッセージヘッダを修正して、前記第2の要求メッセージを生成するように構成される請求項17に記載のネットワーク機器のテスト装置。
【請求項19】
前記第2の要求メッセージを前記第1の要求メッセージとしてリサイクルし、前記要求メッセージバッファプールに再キャッシュするように構成されるリサイクルモジュールを備える請求項18に記載のネットワーク機器のテスト装置。
【請求項20】
前記送信モジュールが、
生成された前記第2の要求メッセージを前記仮想クライアントに対応する要求メッセージ送信キューにキャッシュし、
前記要求メッセージ送信キューから前記第2の要求メッセージを読み取り、ネットワークカードを介して前記テスト対象のネットワーク機器に送信するように構成される請求項17から19のいずれか一項に記載のネットワーク機器のテスト装置。
【請求項21】
前記受信モジュールが、
前記ネットワークカードを介して前記テスト対象のネットワーク機器から前記応答メッセージを受信し、
受信した前記応答メッセージを、前記ネットワークカードにおける前記仮想クライアントに対応する応答メッセージ受信キューにキャッシュし、
前記応答メッセージ受信キューから前記応答メッセージを読み取り、前記応答メッセージをそのままリリースするように構成される請求項17から19のいずれか1項に記載のネットワーク機器のテスト装置。
【請求項22】
前記応答メッセージ内のアドレス情報を取得し、
前記アドレス情報に基づいて、前記応答メッセージに対応するソケットを決定し、
前記ソケットに基づいて、前記応答メッセージの正当性検証を行うように構成される検証モジュールを備える請求項21に記載のネットワーク機器のテスト装置。
【請求項23】
前記検証モジュールが、
前記仮想クライアントのアドレス情報に基づいて、前記仮想クライアントの識別子を取得し、
前記仮想サーバのポートに基づいて、前記仮想サーバのポートシリアル番号を取得し、
前記仮想クライアントの識別子、前記仮想クライアントのポートおよび前記仮想サーバのポートシリアル番号に基づいて、前記応答メッセージに対応するソケットを取得するように構成される請求項22に記載のネットワーク機器のテスト装置。
【請求項24】
前記シミュレーションモジュールが、
前記仮想クライアントと前記テスト対象のネットワーク機器とのトランスミッションコントロールプロトコルTCP接続を確立し、前記応答メッセージを受信した後に前記TCP接続を切断するように構成される請求項21に記載のネットワーク機器のテスト装置。
【請求項25】
少なくとも1つの仮想サーバをシミュレーションするように構成されるシミュレーションモジュールと、
テスト対象のネットワーク機器によって送信される第2の要求メッセージを受信するように構成される受信モジュールであって、前記第2の要求メッセージが、シミュレーションされた仮想クライアントによって、既存の第1の要求メッセージに基づいて生成され且つ前記テスト対象のネットワーク機器に送信されたものである受信モジュールと、
前記第2の要求メッセージの応答メッセージを生成し、前記テスト対象のネットワーク機器に前記第2の要求メッセージの応答メッセージを送信するように構成される送信モジュールと、
を備える、ネットワーク機器のテスト装置。
【請求項26】
前記送信モジュールが、
応答メッセージバッファプールから既存の応答メッセージを読み取り、
前記既存の応答メッセージのメッセージヘッダを修正して、前記第2の要求メッセージの応答メッセージを生成するように構成される請求項25に記載のネットワーク機器のテスト装置。
【請求項27】
前記応答メッセージを前記既存の応答メッセージとしてリサイクルし、前記要求メッセージバッファプールに再キャッシュするように構成されるリサイクルモジュールを備える請求項26に記載のネットワーク機器のテスト装置。
【請求項28】
前記送信モジュールが、
生成された前記応答メッセージを前記仮想サーバに対応する応答メッセージ送信キューにキャッシュし、
前記応答メッセージ送信キューから前記第2の要求メッセージの応答メッセージを読み取り、ネットワークカードを介して前記テスト対象のネットワーク機器に送信するように構成される請求項25から27のいずれか一項に記載のネットワーク機器のテスト装置。
【請求項29】
前記受信モジュールが、
前記ネットワークカードを介して前記テスト対象のネットワーク機器から前記第2の要求メッセージを受信し、
受信した前記第2の要求メッセージを前記ネットワークカードにおける前記仮想クライアントに対応する要求メッセージ受信キューにキャッシュし、
前記要求メッセージ受信キューから前記第2の要求メッセージを読み取り、前記第2の要求メッセージをそのままリリースするように構成される請求項25から27のいずれか一項に記載のネットワーク機器のテスト装置。
【請求項30】
前記第2の要求メッセージ内のアドレス情報を取得し、
前記アドレス情報に基づいて、前記第2の要求メッセージに対応するソケットを決定し、
前記ソケットに基づいて、前記第2の要求メッセージの正当性検証を行うように構成される検証モジュールを備える請求項27に記載のネットワーク機器のテスト装置。
【請求項31】
前記検証モジュールが、
前記仮想サーバのアドレス情報に基づいて、前記仮想サーバの識別子を取得し、
前記仮想クライアントのポートに基づいて、前記仮想クライアントのポートシリアル番号を取得し、
前記仮想サーバの識別子、前記仮想サーバのポートおよび前記仮想クライアントのポートシリアル番号に基づいて、前記第2の要求メッセージに対応するソケットを取得するように構成される請求項28に記載のネットワーク機器のテスト装置。
【請求項32】
前記シミュレーションモジュールが、
前記仮想サーバと前記テスト対象のネットワーク機器とのTCP接続を確立し、前記応答メッセージを送信した後に前記TCP接続を切断するように構成される請求項29に記載のネットワーク機器のテスト装置。
【請求項33】
少なくとも1つのプロセッサと、
該少なくとも1つのプロセッサに通信可能に接続されるメモリと、
を備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが請求項1から8または9から16のいずれか一項に記載のネットワーク機器のテスト方法を実行できる電子機器。
【請求項34】
コンピュータに請求項1から8または9から16のいずれか一項に記載のネットワーク機器のテスト方法を実行させるためのコンピュータ命令を記憶した非一時的コンピュータ読み取り可能な記憶媒体。
【請求項35】
プロセッサによって実行される場合、請求項1から8または9から16のいずれか一項に記載のネットワーク機器のテスト方法を実現するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ処理技術の分野に関し、特にクラウドコンピューティング技術の分野に関する。
【背景技術】
【0002】
関連技術では、ネットワーク機器をテストする時、テスト環境への要件が高く、複数のサーバ及び大量の物理的リソースを用いて圧力を高める必要があり、このような方法は実施コストが高く、テスト効率が低い。そのため、如何にしてネットワーク機器のテストコストを削減しテスト効率を高めるかは、1つの重要な研究方向となっている。
【発明の概要】
【0003】
本開示は、ネットワーク機器用のテスト方法及びその装置を提供する。
【0004】
本開示の第1の態様では、少なくとも1つの仮想クライアントをシミュレーションし、仮想クライアントによって既存の第1の要求メッセージに基づいて、送信すべき第2の要求メッセージを生成するステップと、テスト対象のネットワーク機器が前記第2の要求メッセージを処理のために、シミュレーションされた仮想サーバに送信するように、前記テスト対象のネットワーク機器に第2の要求メッセージを送信ステップと、テスト対象のネットワーク機器によって送信される第2の要求メッセージの応答メッセージを受信するステップであって、応答メッセージが仮想サーバによってテスト対象のネットワーク機器に送信されたものであるステップとを含む、ネットワーク機器のテスト方法が提供される。
【0005】
本開示の第2の態様では、少なくとも1つの仮想サーバをシミュレーションするステップと、テスト対象のネットワーク機器によって送信される第2の要求メッセージを受信するステップであって、第2の要求メッセージが、シミュレーションされた仮想クライアントによって、既存の第1の要求メッセージに基づいて生成され且つテスト対象のネットワーク機器に送信されたものであるステップと、第2の要求メッセージの応答メッセージを生成し、テスト対象のネットワーク機器に第2の要求メッセージの応答メッセージを送信するステップと、を含む、ネットワーク機器のテスト方法が提供される。
【0006】
本開示は、リソースの浪費を回避し、ネットワーク機器のテストコストを削減し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性を向上させることができる。
【0007】
本開示の第3の態様では、少なくとも1つの仮想クライアントをシミュレーションし、仮想クライアントによって既存の第1の要求メッセージに基づいて、送信すべき第2の要求メッセージを生成するように構成されるシミュレーションモジュールと、テスト対象のネットワーク機器が前記第2の要求メッセージを処理のために、シミュレーションされた仮想サーバに送信するように、前記テスト対象のネットワーク機器に第2の要求メッセージを送信するように構成される送信モジュールと、テスト対象のネットワーク機器によって送信される第2の要求メッセージの応答メッセージを受信するように構成される受信モジュールであって、応答メッセージが仮想サーバによってテスト対象のネットワーク機器に送信されたものである受信モジュールとを備える、ネットワーク機器のテスト装置が提供される。
【0008】
本開示の第4の態様では、少なくとも1つの仮想サーバをシミュレーションするように構成されるシミュレーションモジュールと、テスト対象のネットワーク機器によって送信される第2の要求メッセージを受信するように構成される受信モジュールであって、第2の要求メッセージが、シミュレーションされた仮想クライアントによって、既存の第1の要求メたものである受信モジュールと、第2の要求メッセージの応答メッセージを生成し、テスト対象のネットワーク機器に第2の要求メッセージの応答メッセージを送信するように構成される送信モジュールとを備える、ネットワーク機器のテスト装置が提供される。
【0009】
本開示の第5の態様では、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信可能に接続されるメモリと、を備え、メモリには、少なくとも1つのプロセッサによって実行可能な命令が記憶されており、命令が少なくとも1つのプロセッサによって実行される場合、少なくとも1つのプロセッサが本開示の第1の態様の実施例に記載のネットワーク機器のテスト方法を実行できる、電子機器が提供される。
【0010】
本開示の第6の態様では、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信可能に接続されるメモリと、を備え、メモリには、少なくとも1つのプロセッサによって実行可能な命令が記憶されており、命令が少なくとも1つのプロセッサによって実行される場合、少なくとも1つのプロセッサが本開示の第2の態様の実施例に記載のネットワーク機器のテスト方法を実行できる、電子機器が提供される。
【0011】
本開示の第7の態様では、コンピュータに本開示の第1の態様の実施例に記載のネットワーク機器のテスト方法を実行させるためのコンピュータ命令を記憶した非一時的コンピュータ読み取り可能な記憶媒体が提供される。
【0012】
本開示の第8の態様では、コンピュータに本開示の第2の態様の実施例に記載のネットワーク機器のテスト方法を実行させるためのコンピュータ命令を記憶した非一時的コンピュータ読み取り可能な記憶媒体が提供される。
【0013】
本開示の第9の態様では、プロセッサによって実行される場合、本開示の第1の態様の実施例に記載のネットワーク機器のテスト方法を実現するコンピュータプログラムが提供される。
【0014】
本開示の第10の態様では、プロセッサによって実行される場合、本開示の第2の態様の実施例に記載のネットワーク機器のテスト方法を実現するコンピュータプログラムが提供される。
【0015】
なお、この部分で説明される内容は本開示の実施例の肝心または重要な特徴を特定するものではなく、本開示の範囲を限定するものでもない。本開示の他の特徴は以下の明細書を通して分かりやすくなる。
【図面の簡単な説明】
【0016】
図面は本解決案をよりよく理解するためのものであり、本開示を限定するものではない。
【
図1】本開示の一実施例に係るネットワーク機器のテスト方法のフローチャートである。
【
図2】本開示の一実施例に係るネットワーク機器のテスト方法のフローチャートである。
【
図3】本開示の一実施例に係るネットワーク機器のテスト方法の概略図である。
【
図4】本開示の一実施例に係るネットワーク機器のテスト方法のフローチャートである。
【
図5】本開示の一実施例に係るネットワーク機器のテスト方法の概略図である。
【
図6】本開示の一実施例に係るネットワーク機器のテスト方法のフローチャートである。
【
図7】本開示の一実施例に係るネットワーク機器のテスト方法の概略図である。
【
図8】本開示の一実施例に係るネットワーク機器のテスト方法のフローチャートである。
【
図9】本開示の一実施例に係るネットワーク機器のテスト方法のフローチャートである。
【
図10】本開示の一実施例に係るネットワーク機器のテスト方法のフローチャートである。
【
図11】本開示の実施例に係るネットワーク機器のテスト方法を実現するための電子機器のブロック図である。
【
図12】本開示の実施例に係るネットワーク機器のテスト方法を実現するように構成される電子機器のブロック図である。
【発明を実施するための形態】
【0017】
以下、図面に合わせて本開示の例示的な実施例を説明し、理解を助けるために、その中には本開示の実施例の様々な詳細が含まれており、それらを単なる例示的なものとして見なすべきである。したがって、当業者であれば、本開示の範囲と精神から逸脱しない限り、ここで説明される実施例に対して様々な変更と修正を行うことができることを理解されたい。同様に、明確且つ簡潔にするために、以下の説明では周知機能と構造の説明を省略している。
【0018】
以下、本開示の解決案に係る技術分野を簡単に説明する。
【0019】
データ処理:データは事実、概念または命令に対する表現の形であり、手動または自動化された装置で処理することができる。データは、説明され且つ一定の意味が与えられると、情報になる。データ処理とはデータの収集、記憶、検索、加工、変換及び伝送である。データ処理の基本の目的は、乱れていて秩序のない大量の理解しがたいデータから、特定の人々にとって価値、意味のあるデータを抽出し且つ導き出すことである。データ処理はシステムエンジニアリングと自動制御の基本の一環である。データ処理は社会生産と社会生活の各分野を貫く。データ処理技術の発展及びその応用の幅広さと程度は、人類社会発展のあゆみに大きく影響する。
【0020】
クラウドコンピューティング(cloud computing)は分散コンピューティングの一種であり、ネットワーク「クラウド」を介して巨大なデータ計算処理プログラムを無数の小さいプログラムに分解し、その後、複数のサーバで構成されるシステムでこれらの小さいプログラムを処理分析して、結果を得てユーザに返すことを指す。クラウドコンピューティングは早期では、簡単に言えば、シンプルな分散コンピューティングであり、タスクの配布を解決し、且つ計算結果を結合する。そのため、クラウドコンピューティングはグリッドコンピューティングとも呼ばれる。この技術により、極めて短い時間(数秒)で数万のデータに対する処理を完了することができ、これによって強力なネットワークサービスを達成する。
【0021】
図1は本開示の一実施例に係るネットワーク機器のテスト方法のフローチャートであり、
図1に示すように、当該方法は以下のステップS101~S103を含む。
【0022】
S101において、少なくとも1つの仮想クライアントをシミュレーションし、仮想クライアントによって既存の第1の要求メッセージに基づいて、送信すべき第2の要求メッセージを生成する。
【0023】
サーバは少なくとも1つの仮想クライアントをシミュレーションし、仮想クライアントとは、シミュレーションされた、テスト対象のネットワーク機器に対してデータの読み書きを行うクライアントを指し、仮想クライアントは複数であってもよく、仮想クライアントの識別子によって複数の仮想クライアントを区別することができる。
【0024】
本開示の実施例では、ネットワーク機器に対するテストを実現するために、まず、仮想クライアントがネットワークテストプロトコルに基づく要求メッセージを送信する必要があることをトリガーし、つまり、テスト対象のネットワーク機器に送信する必要がある接続要求を取得し、これによって仮想クライアントとテスト対象のネットワーク機器との間の情報の交換を実現する。
【0025】
本開示の実施例の目的はネットワーク機器に対して性能テストを行うことであるため、メッセージの具体的な内容を限定する必要がなく、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性を向上させるために、いくつかの実現では、仮想クライアントでは予め第1の要求メッセージを設定し、既存の第1の要求メッセージを再構築し/一部の内容を入れ替え、送信すべき第2の要求メッセージを生成する。本出願では、既存の第1の要求メッセージに基づいて、送信すべき第2の要求メッセージを生成し、要求メッセージの生成速度を向上させ、テストの効率を上げる。
【0026】
S102において、テスト対象のネットワーク機器が第2の要求メッセージを処理のために、シミュレーションされた仮想サーバに送信するように、テスト対象のネットワーク機器に第2の要求メッセージを送信する。
【0027】
テスト対象のネットワーク機器に第2の要求メッセージを送信し、テスト対象のネットワーク機器は第2の要求メッセージをシミュレーションされた仮想サーバに送信して処理する。
【0028】
仮想サーバは第2の要求メッセージに応答し、第2の要求メッセージの応答メッセージを生成し、応答メッセージには仮想サーバのアドレス情報が含まれる。
【0029】
S103において、テスト対象のネットワーク機器によって送信される第2の要求メッセージの応答メッセージを受信し、応答メッセージが仮想サーバによってテスト対象のネットワーク機器に送信されたものである。
【0030】
仮想サーバは生成された第2の要求メッセージの応答メッセージをテスト対象のネットワーク機器に送信し、テスト対象のネットワーク機器は応答メッセージをサーバに送信する。
【0031】
選択可能に、サーバは、応答メッセージ内のアドレス情報に基づいて仮想クライアントとテスト対象のネットワーク機器との接続状態を確認することができ、そして応答メッセージの検証を行うことができる。
【0032】
選択可能に、本開示では、第1の要求メッセージと第2の要求メッセージは、ハイパーテキスト転送プロトコル(Hyper Text Transfer Protocol、HTTP)を用いるメッセージであってもよく、即ち第1のHTTP要求メッセージと第2のHTTP要求メッセージに対応している。いくつかの実現では、第1の要求メッセージと第2の要求メッセージはユーザデータプロトコル(User Datagram Protocol、UDP)を用いるメッセージであってもよく、第1のUDP要求メッセージと第2のUDP要求メッセージに対応している。他のいくつかの実現では、第1の要求メッセージと第2の要求メッセージはトランスミッションコントロールプロトコル(Transmission Control Protocol、TCP)を用いるメッセージであってもよく、第1のTCP要求メッセージと第2のTCP要求メッセージに対応している。本開示ではメッセージの形に対して限定しない。
【0033】
なお、本開示では、テスト対象のネットワーク機器は主に、仮想クライアントと仮想サーバとの間のインタラクション情報の転送を実現した。つまりステップS102、ステップS103の関連説明である。仮想クライアントと仮想サーバとの間のインタラクション情報の転送により、テスト対象のネットワーク機器の性能に対するテストを示す。
【0034】
本開示の実施例では、少なくとも1つの仮想クライアントをシミュレーションし、仮想クライアントによって既存の第1の要求メッセージに基づいて、送信すべき第2の要求メッセージを生成し、テスト対象のネットワーク機器に第2の要求メッセージを送信し、テスト対象のネットワーク機器によって送信される第2の要求メッセージの応答メッセージを受信する。本開示は、リソースの浪費を回避し、ネットワーク機器のテストコストを削減し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性を向上させることができる。
【0035】
いくつかの実現では、仮想クライアントにおいて第1の要求メッセージを予め設定し、これによって既存の第1の要求メッセージを再構築して、送信すべき第2の要求メッセージを生成する。ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性を向上させるために、いくつかの実現では、第1の要求メッセージは要求メッセージバッファプールに記憶されており、仮想クライアント要求メッセージバッファプールから第1の要求メッセージを読み取り、第1の要求メッセージのメッセージヘッダを修正して、送信すべき第2の要求メッセージを生成する。例えば、仮想クライアントのアドレス情報及びシミュレーションされた仮想サーバのポートを修正後の第2の要求メッセージのメッセージヘッダとすることができる。
【0036】
いくつかの実現では、操作を簡素化し、リソースの浪費を回避することを実現するために、第2の要求メッセージを第1の要求メッセージとしてリサイクルし、要求メッセージバッファプールに再キャッシュして再利用することができる。
【0037】
以下、第1の要求メッセージと第2の要求メッセージが、ハイパーテキスト転送プロトコル(Hyper Text Transfer Protocol、 HTTP)を用いるメッセージであり、即ち第1のHTTP要求メッセージと第2のHTTP要求メッセージに対応している場合を例として、本開示で提供されるネットワーク機器のテスト方法を説明する。
【0038】
図2は本開示の一実施例のネットワーク機器のテスト方法のフローチャートであり、
図3は本開示の一実施例のネットワーク機器のテスト方法の概略図であり、
図2、
図3に示すように、当該方法は以下のステップS201~S201を含む。
【0039】
S201において、少なくとも1つの仮想クライアントをシミュレーションし、仮想クライアントによって既存の第1のHTTP要求メッセージに基づいて、送信すべき第2のHTTP要求メッセージを生成する。
【0040】
ステップS201に関わる説明は上記実施例の関連する内容を参照されたく、ここで詳しい説明を省略する。
【0041】
S202において、生成された第2のHTTP要求メッセージを、仮想クライアントに対応する要求メッセージ送信キューにキャッシュする。
【0042】
いくつかの実現では、第2のHTTP要求メッセージは仮想クライアントの識別子を運び、仮想クライアントと要求メッセージ送信キューとはマッピング関係を有し、仮想クライアントの識別子に基づいて仮想クライアントに対応する要求メッセージ送信キューを取得することができ、そして第2のHTTP要求メッセージを仮想クライアントに対応する要求メッセージ送信キューにキャッシュする。
【0043】
S203において、要求メッセージ送信キューから第2のHTTP要求メッセージを読み取り、ネットワークカードを介してテスト対象のネットワーク機器に送信する。
【0044】
いくつかの実現では、サーバはネットワークカードを有し、ネットワークカードのストリーム分類FDIR特性を利用して、ネットワーク性能を向上させることができる。ネットワークカードを介して、要求メッセージ送信キューから読み取った第2のHTTP要求メッセージをテスト対象のネットワーク機器に送信する。ここで、テスト対象のネットワーク機器はスイッチを介して通信する。
【0045】
S204において、ネットワークカードを介してテスト対象のネットワーク機器から応答メッセージを受信し、応答メッセージが仮想サーバによってテスト対象のネットワーク機器に送信されたものである。
【0046】
仮想サーバは第2のHTTP要求メッセージの応答メッセージを生成し且つテスト対象のネットワーク機器に送信し、テスト対象のネットワーク機器はネットワークカードを介して応答メッセージを仮想クライアントに送信する。
【0047】
S205において、受信した応答メッセージを、ネットワークカードにおける仮想クライアントに対応する応答メッセージ受信キューにキャッシュする。
【0048】
各ネットワークカードは複数の応答メッセージ受信キューを有し、異なる応答メッセージ受信キューは異なる仮想クライアントに対応し、処理中にロックする必要がなく、これによってネットワーク機器のテスト効率をさらに向上させ、サーバが2つ又は複数の仮想クライアントをシミュレーションすることに応答して、FDIRルールに基づいて、受信した応答メッセージを、ネットワークカードにおける仮想クライアントに対応する応答メッセージ受信キューにキャッシュすることができる。
【0049】
S206において、応答メッセージ受信キューから応答メッセージを読み取り、応答メッセージをそのままリリースする。
【0050】
応答メッセージ受信キューから応答メッセージを読み取り、なお、本開示の実施例では、メッセージに応答する内容は一定のものであり、リソースの浪費を回避して、効率を向上させるために、メッセージを読み取った後、サーバは応答メッセージを解析する必要がなく、即ち、応答メッセージをそのままリリースする。
【0051】
本開示の実施例では、要求メッセージ送信キューから第2のHTTP要求メッセージを読み取り、ネットワークカードを介してテスト対象のネットワーク機器に送信し、ネットワークカードを介してテスト対象のネットワーク機器から応答メッセージを受信し、受信した応答メッセージを、ネットワークカードにおける仮想クライアントに対応する応答メッセージ受信キューにキャッシュし、応答メッセージ受信キューから応答メッセージを読み取り、応答メッセージをそのままリリースする。本開示は、リソースの浪費を回避し、ネットワーク機器のテストコストを削減し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性を向上させることができる。
【0052】
図4は本開示の一実施例のネットワーク機器のテスト方法のフローチャートであり、
図4に示すように、当該方法は以下のステップS401~S403をさらに含む。
【0053】
S401において、応答メッセージ内のアドレス情報を取得する。
【0054】
選択可能に、応答メッセージのメッセージヘッダに基づいて仮想クライアントのアドレス情報を取得することができる。
【0055】
S402において、アドレス情報に基づいて、応答メッセージに対応するソケットを決定する。
【0056】
仮想クライアントのアドレス情報に基づいて、仮想クライアントの識別子を取得する。
【0057】
仮想サーバのポートに基づいて、仮想サーバのポートシリアル番号を取得し、さらには、仮想クライアントの識別子、仮想クライアントのポートおよび仮想サーバのポートシリアル番号に基づいて、応答メッセージに対応するソケットを取得する。
【0058】
図5に示すように、いくつかの実現では、サーバは予めソケットを申請し、各仮想サーバは対応して1つの仮想サーバのポートの応答メッセージを処理し、仮想サーバのポート範囲は一定のものであり、この時、仮想サーバは仮想クライアントの識別子、仮想クライアントのポート及び仮想サーバのポートシリアル番号に基づいて1つのソケットテーブルを生成することができ、ソケットテーブルに基づいて、時間の複雑さがO(1)であるソケット検索アルゴリズムを用いて、仮想クライアントの識別子、仮想クライアントのポート及び仮想サーバのポートシリアル番号によって、応答メッセージに対応するソケットを取得することができる。
【0059】
なお、本開示の実施例では、その他の検索アルゴリズム又は情報に基づいて応答メッセージに対応するソケットを取得することができ、本開示はこれに対して限定しない。
【0060】
S403において、ソケットに基づいて、応答メッセージの正当性検証を行う。
【0061】
本開示の実施例では、ソケットにより仮想クライアントとテスト対象の機器との間の接続状態を確認することができ、ソケットに基づいて、応答メッセージの正当性検証を行う。例えば、仮想クライアントとテスト対象の機器との間の接続状態が接続しているという状態であると確認した場合、応答メッセージがエラーや重複のないように順序通り伝送されていると確認する。
【0062】
本開示の実施例では、応答メッセージ内のアドレス情報を取得し、アドレス情報に基づいて、応答メッセージに対応するソケットを決定し、ソケットに基づいて、応答メッセージの正当性検証を行う。本開示は、リソースの浪費を回避し、ネットワーク機器のテストコストを削減し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性及び精度を向上させることができる。
【0063】
いくつかの実現では、仮想クライアントとテスト対象のネットワーク機器とのトランスミッションコントロールプロトコルTCP接続を確立し、応答メッセージを受信した後、TCP接続を切断する。選択可能に、さらにストップアンドウェイトプロトコルを用いてもよく、一定間隔の再送メカニズムを用いて、TCP接続の複雑度を簡素化し、ネットワーク機器のテスト効率をさらに向上させる。
【0064】
図6は本開示の一実施例のネットワーク機器のテスト方法のフローチャートであり、
図7は本開示の一実施例のネットワーク機器のテスト方法の概略図であり、
図6、
図7に示すように、当該方法は以下のステップS601~S609を含むことができる。
【0065】
S601において、少なくとも1つの仮想クライアントをシミュレーションし、仮想クライアントによって既存の第1のHTTP要求メッセージに基づいて、要求メッセージバッファプールから第1のHTTP要求メッセージを読み取り、且つ第1のHTTP要求メッセージのメッセージヘッダを修正して、第2のHTTP要求メッセージを生成する。
【0066】
S602において、生成された第2のHTTP要求メッセージを、仮想クライアントに対応する要求メッセージ送信キューにキャッシュする。
【0067】
S603において、テスト対象のネットワーク機器が第2のHTTP要求メッセージを処理のために、シミュレーションされた仮想サーバに送信するように、要求メッセージ送信キューから第2のHTTP要求メッセージを読み取り、ネットワークカードを介してテスト対象のネットワーク機器に送信する。
【0068】
S604において、第2のHTTP要求メッセージを第1のHTTP要求メッセージとしてリサイクルし、要求メッセージバッファプールに再キャッシュする。
【0069】
S605において、ネットワークカードを介してテスト対象のネットワーク機器から応答メッセージを受信し、応答メッセージが仮想サーバによってテスト対象のネットワーク機器に送信されたものである。
【0070】
S606において、受信した応答メッセージを、ネットワークカードにおける仮想クライアントに対応する応答メッセージ受信キューにキャッシュする。
【0071】
S607において、応答メッセージ受信キューから応答メッセージを読み取り、応答メッセージ内のアドレス情報を取得する。
【0072】
S608において、アドレス情報に基づいて、応答メッセージに対応するソケットを決定し、応答メッセージの正当性検証を行う。
【0073】
S609において、応答メッセージをそのままリリースする。
【0074】
本開示は、リソースの浪費を回避し、ネットワーク機器のテストコストを削減し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性及び精度を向上させることができる。
【0075】
図8は、本開示の一実施例のネットワーク機器のテスト方法のフローチャートであり、
図8に示すように、当該方法は以下のステップS801~S803をさらに含む。
【0076】
S801において、少なくとも1つの仮想サーバをシミュレーションする。
【0077】
サーバ少なくとも1つの仮想サーバをシミュレーションし、仮想サーバは複数であってもよく、仮想サーバの識別子によって複数の仮想サーバを区別することができる。
【0078】
S802において、テスト対象のネットワーク機器によって送信される第2の要求メッセージを受信し、第2の要求メッセージが、シミュレーションされた仮想クライアントによって、既存の第1の要求メッセージに基づいて生成され且つテスト対象のネットワーク機器に送信されたものである。
【0079】
いくつかの実現では、第1の要求メッセージは要求メッセージバッファプールに記憶されており、仮想クライアント要求メッセージバッファプールから第1の要求メッセージを読み取り、第1の要求メッセージのメッセージヘッダを修正して、送信すべき第2の要求メッセージを生成し、仮想クライアントは第2の要求メッセージをテスト対象のネットワーク機器に送信し、そしてテスト対象のネットワーク機器を介して仮想サーバに送信する。
【0080】
S803において、第2の要求メッセージの応答メッセージを生成し、テスト対象のネットワーク機器に第2の要求メッセージの応答メッセージを送信する。
【0081】
本開示の実施例の目的はネットワーク機器に対して性能テストを行うことであり、そのため、メッセージの具体的な内容を限定する必要がない。いくつかの実現では、第2の要求メッセージに基づいて送信すべき応答メッセージを生成してテスト対象のネットワーク機器に送信することができる。
【0082】
なお、本開示では、テスト対象のネットワーク機器は主に、仮想クライアントと仮想サーバとの間のインタラクション情報の転送を実現した。つまり、ステップS802、ステップS803の関連説明である。仮想クライアントと仮想サーバとの間のインタラクション情報の転送によりテスト対象のネットワーク機器の性能の検出を示す。
【0083】
本開示の実施例では、少なくとも1つの仮想サーバをシミュレーションし、テスト対象のネットワーク機器によって送信される第2の要求メッセージを受信し、第2の要求メッセージの応答メッセージを生成し、テスト対象のネットワーク機器に第2の要求メッセージの応答メッセージを送信する。本開示は、リソースの浪費を回避し、ネットワーク機器のテストコストを削減し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性及び精度を向上させることができる。
【0084】
いくつかの実現では、仮想サーバは第2の要求メッセージに応答して、応答メッセージを生成し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性を向上させるために、いくつかの実現では、仮想サーバ応答メッセージバッファプールから既存の応答メッセージを読み取り、既存の応答メッセージのメッセージヘッダを修正して、第2の要求メッセージの応答メッセージを生成する。
【0085】
いくつかの実現では、操作を簡素化し、リソースの浪費を回避することを実現するために、応答メッセージを既存の応答メッセージとしてリサイクルし、要求メッセージバッファプールに再キャッシュして再利用することができる。
【0086】
以下、第1の要求メッセージと第2の要求メッセージが、ハイパーテキスト転送プロトコル(Hyper Text Transfer Protocol、HTTP)を利用できるメッセージであり、即ち第1のHTTP要求メッセージと第2のHTTP要求メッセージに対応している場合を例として、本開示で提供されるネットワーク機器のテスト方法を説明する。
【0087】
図9は本開示の一実施例のネットワーク機器のテスト方法のフローチャートであり、
図9及び図に示すように、当該方法は以下のステップS901~S906をさらに含む。
【0088】
S901において、少なくとも1つの仮想サーバをシミュレーションする。
【0089】
S902において、ネットワークカードを介してテスト対象のネットワーク機器から第2のHTTP要求メッセージを受信し、第2のHTTP要求メッセージは、シミュレーションされた仮想クライアントによって、既存の第1のHTTP要求メッセージに基づいて生成され且つテスト対象のネットワーク機器に送信されたものである。
【0090】
ステップS901、ステップS902に関する説明は上記実施例の関連する内容を参照されたく、ここで詳しい説明を省略する。
【0091】
S903において、受信した第2のHTTP要求メッセージを、ネットワークカードにおける仮想クライアントに対応する要求メッセージ受信キューにキャッシュする。
【0092】
いくつかの実現では、サーバはネットワークカードを有し、ネットワークカードのストリーム分類FDIR特性を利用して、ネットワーク性能を向上させることができる。ネットワークカードを介して、受信した第2のHTTP要求メッセージを仮想クライアントに対応する要求メッセージ受信キューにキャッシュする。
【0093】
いくつかの実現では、第2のHTTP要求メッセージは仮想クライアントの識別子を運び、仮想クライアントと要求メッセージ送信キューとはマッピング関係を有し、仮想クライアントの識別子に基づいて、仮想クライアントに対応する要求メッセージ送信キューを取得することができ、そして第2のHTTP要求メッセージを仮想クライアントに対応する要求メッセージ送信キューにキャッシュする。
【0094】
S904において、要求メッセージ受信キューから第2のHTTP要求メッセージを読み取り、第2のHTTP要求メッセージをそのままリリースする。
【0095】
要求メッセージ受信キューから第2のHTTP要求メッセージを読み取り、なお、本開示の実施例では、第2のHTTP要求メッセージの内容は一定のものであり、リソースの浪費を回避し、効率を向上させ、メッセージを読み取った後、サーバは第2のHTTP要求メッセージを解析する必要がなく、つまり、第2のHTTP要求メッセージをそのままリリースする。
【0096】
S905において、第2のHTTP要求メッセージの応答メッセージを生成し、仮想サーバに対応する応答メッセージ送信キューにキャッシュする。
【0097】
仮想サーバ応答メッセージバッファプールから既存の応答メッセージを読み取り、既存の応答メッセージのメッセージヘッダを修正して、第2のHTTP要求メッセージの応答メッセージを生成し、仮想サーバに対応する応答メッセージ送信キューにキャッシュする。
【0098】
S906において、応答メッセージ送信キューから第2のHTTP要求メッセージの応答メッセージを読み取り、ネットワークカードを介してテスト対象のネットワーク機器に送信する。
【0099】
サーバはネットワークカードを介して、読み取った第2のHTTP要求メッセージの応答メッセージをテスト対象のネットワーク機器に送信する。テスト対象のネットワーク機器はスイッチを介して通信する。
【0100】
本開示の実施例では、受信した第2のHTTP要求メッセージをネットワークカードにおける仮想クライアントに対応する要求メッセージ受信キューにキャッシュし、要求メッセージ受信キューから第2のHTTP要求メッセージを読み取り、第2のHTTP要求メッセージをそのままリリースして、第2のHTTP要求メッセージの応答メッセージを生成し、仮想サーバに対応する応答メッセージ送信キューにキャッシュし、応答メッセージ送信キューから第2のHTTP要求メッセージの応答メッセージを読み取り、ネットワークカードを介してテスト対象のネットワーク機器に送信する。本開示は、リソースの浪費を回避し、ネットワーク機器のテストコストを削減し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性及び精度を向上させることができる。
【0101】
図10は本開示の一実施例のネットワーク機器のテスト方法のフローチャートであり、
図10および
図7に示すように、当該方法は以下のステップS1001~S1003をさらに含む。
【0102】
S1001において、第2のHTTP要求メッセージ内のアドレス情報を取得する。
【0103】
選択可能に、第2のHTTP要求メッセージのメッセージヘッダに基づいて仮想サーバのアドレス情報を取得することができる。
【0104】
S1002において、アドレス情報に基づいて、第2のHTTP要求メッセージに対応するソケットを決定する。
【0105】
仮想サーバのアドレス情報に基づいて、仮想サーバの識別子を取得する。仮想クライアントのポートに基づいて、仮想クライアントのポートシリアル番号を取得し、さらには、仮想サーバの識別子、仮想サーバのポート、および仮想クライアントのポートシリアル番号に基づいて、第2のHTTP要求メッセージに対応するソケットを取得する。
【0106】
いくつかの実現では、サーバは予めソケットを要請し、各仮想サーバは対応して1つの仮想サーバのポートの応答メッセージを処理し、仮想サーバのポート範囲は一定のものであり、この時、仮想サーバの識別子、仮想サーバのポート、および仮想クライアントのポートシリアル番号に基づいて、1つのソケットテーブルを生成することができ、ソケットテーブルに基づいて、時間の複雑さがO(1)であるソケット検索アルゴリズムを用いて、仮想サーバの識別子、仮想サーバのポート、および仮想クライアントのポートシリアル番号を通して、第2のHTTP要求メッセージに対応するソケットを取得することができる。
【0107】
なお、本開示の実施例では、さらに他の検索アルゴリズムや情報に基づいて第2の要求メッセージに対応するソケットを取得することができ、本開示はこれに対して限定しない。
【0108】
S1003において、ソケットに基づいて、第2のHTTP要求メッセージの正当性検証を行う。
【0109】
本開示の実施例では、ソケットは仮想サーバとテスト対象の機器との間の接続状態を確認することができ、ソケットに基づいて、第2のHTTP要求メッセージの正当性検証を行う。例えば、仮想サーバとテスト対象の機器との間の接続状態が接続しているという状態であると確認した場合、第2のHTTP要求メッセージエラーや重複のないように順序通り伝送されていると確認する。
【0110】
本開示の実施例では、第2のHTTP要求メッセージ内のアドレス情報を取得し、アドレス情報に基づいて、第2のHTTP要求メッセージに対応するソケットを決定し、ソケットに基づいて、第2のHTTP要求メッセージの正当性検証を行う。本開示は、リソースの浪費を回避し、ネットワーク機器のテストコストを削減し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性及び精度を向上させることができる。
【0111】
いくつかの実現では、仮想サーバとテスト対象のネットワーク機器とのTCP接続を確立し、応答メッセージを送信した後にTCP接続を切断する。選択可能に、さらにストップアンドウェイトプロトコルを用いてもよく、一定間隔の再送メカニズムを用いて、TCP接続の複雑度を簡素化し、ネットワーク機器のテスト効率をさらに向上させる。
【0112】
なお、本開示は1つのサーバで実行することができ、サーバの異なる中央処理装置CPUは異なる仮想サーバ、仮想クライアントをシミュレーションする。選択可能に、本開示は2つ又は複数の物理サーバで実行することができ、異なるサーバは異なる仮想サーバ、仮想クライアントをシミュレーションし、本出願はこれに対して限定しない。
【0113】
図11は本開示の一実施例に係るネットワーク機器のテスト装置の構造図であり、
図11に示すように、ネットワーク機器のテスト装置1100は、少なくとも1つの仮想クライアントをシミュレーションし、仮想クライアントによって既存の第1の要求メッセージに基づいて、送信すべき第2の要求メッセージを生成するように構成されるシミュレーションモジュール1110と、テスト対象のネットワーク機器に第2の要求メッセージを送信するように構成される送信モジュール1120であって、第2の要求メッセージがテスト対象のネットワーク機器によって、シミュレーションされた仮想サーバに送信されて処理されるものと、テスト対象のネットワーク機器によって送信される第2の要求メッセージの応答メッセージを受信するように構成される受信モジュール1130であって、応答メッセージが仮想サーバによってテスト対象のネットワーク機器に送信されたものである受信モジュール1130と、を備える。
【0114】
1つの可能な実現形態では、シミュレーションモジュール1110はさらに、要求メッセージバッファプールから第1の要求メッセージを読み取り、第1の要求メッセージのメッセージヘッダを修正して、第2の要求メッセージを生成するように構成される。
【0115】
1つの可能な実現形態では、装置は、第2の要求メッセージを第1の要求メッセージとしてリサイクルし、要求メッセージバッファプールに再キャッシュするように構成されるリサイクルモジュール1140をさらに備える。
【0116】
1つの可能な実現形態では、送信モジュール1120はさらに、生成された第2の要求メッセージを仮想クライアントに対応する要求メッセージ送信キューにキャッシュし、要求メッセージ送信キューから第2の要求メッセージを読み取り、ネットワークカードを介してテスト対象のネットワーク機器に送信するように構成される。
【0117】
1つの可能な実現形態では、受信モジュール1130はさらに、ネットワークカードを介してテスト対象のネットワーク機器から応答メッセージを受信し、受信した応答メッセージを、ネットワークカードにおける仮想クライアントに対応する応答メッセージ受信キューにキャッシュし、応答メッセージ受信キューから応答メッセージを読み取り、応答メッセージをそのままリリースするように構成される。
【0118】
1つの可能な実現形態では、装置は、応答メッセージ内のアドレス情報を取得し、アドレス情報に基づいて、応答メッセージに対応するソケットを決定し、ソケットに基づいて、応答メッセージの正当性検証を行うように構成される検証モジュール1150をさらに備える。
【0119】
1つの可能な実現形態では、検証モジュール1150はさらに、仮想クライアントのアドレス情報に基づいて、仮想クライアントの識別子を取得し、仮想サーバのポートに基づいて、仮想サーバのポートシリアル番号を取得し、仮想クライアントの識別子、仮想クライアントのポートおよび仮想サーバのポートシリアル番号に基づいて、応答メッセージに対応するソケットを取得するように構成される。
【0120】
1つの可能な実現形態では、シミュレーションモジュール1110はさらに、仮想クライアントとテスト対象のネットワーク機器とのトランスミッションコントロールプロトコルTCP接続を確立し、応答メッセージを受信した後、TCP接続を切断するように構成される。
【0121】
本開示の実施例では、少なくとも1つの仮想クライアントをシミュレーションし、仮想クライアントによって既存の第1の要求メッセージに基づいて、送信すべき第2の要求メッセージを生成し、テスト対象のネットワーク機器に第2の要求メッセージを送信し、テスト対象のネットワーク機器によって送信される第2の要求メッセージの応答メッセージを受信する。本開示は、リソースの浪費を回避し、ネットワーク機器のテストコストを削減し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性及び精度を向上させることができる。
【0122】
本開示はもう1つのネットワーク機器のテスト装置をさらに提供し、
図11に示すように、ネットワーク機器のテスト装置1100は、
少なくとも1つの仮想サーバをシミュレーションするように構成されるシミュレーションモジュール1110と、
テスト対象のネットワーク機器によって送信される第2の要求メッセージを受信するように構成される受信モジュール1130であって、第2の要求メッセージが、シミュレーションされた仮想クライアントによって、既存の第1の要求メッセージに基づいて生成され且つテスト対象のネットワーク機器に送信されたものである受信モジュール1130と、
第2の要求メッセージの応答メッセージを生成し、テスト対象のネットワーク機器に第2の要求メッセージの応答メッセージを送信するように構成される送信モジュール1120と、を備える。
【0123】
1つの可能な実現形態では、送信モジュール1120はさらに、応答メッセージバッファプールから既存の応答メッセージを読み取り、既存の応答メッセージのメッセージヘッダを修正して、第2の要求メッセージの応答メッセージを生成するように構成される。
【0124】
1つの可能な実現形態では、装置は、応答メッセージを既存の応答メッセージとしてリサイクルし、要求メッセージバッファプールに再キャッシュするように構成されるリサイクルモジュール1140をさらに備える。
【0125】
1つの可能な実現形態では、送信モジュール1120はさらに、生成された応答メッセージを仮想サーバに対応する応答メッセージ送信キューにキャッシュし、応答メッセージ送信キューから第2の要求メッセージの応答メッセージを読み取り、ネットワークカードを介してテスト対象のネットワーク機器に送信するように構成される。
【0126】
1つの可能な実現形態では、受信モジュール1130はさらに、ネットワークカードを介してテスト対象のネットワーク機器から第2の要求メッセージを受信し、受信した第2の要求メッセージをネットワークカードにおける仮想クライアントに対応する要求メッセージ受信キューにキャッシュし、要求メッセージ受信キューから第2の要求メッセージを読み取り、第2の要求メッセージをそのままリリースするように構成される。
【0127】
1つの可能な実現形態では、装置は、第2の要求メッセージ内のアドレス情報を取得し、アドレス情報に基づいて、第2の要求メッセージに対応するソケットを決定し、ソケットに基づいて、第2の要求メッセージの正当性検証を行うように構成される検証モジュール1150をさらに備える。
【0128】
1つの可能な実現形態では、検証モジュール1150はさらに、仮想サーバのアドレス情報に基づいて、仮想サーバの識別子を取得し、仮想クライアントのポートに基づいて、仮想クライアントのポートシリアル番号を取得し、仮想サーバの識別子、仮想サーバのポートおよび仮想クライアントのポートシリアル番号に基づいて、第2の要求メッセージに対応するソケットを取得するように構成される。
【0129】
1つの可能な実現形態では、シミュレーションモジュール1110はさらに、仮想サーバとテスト対象のネットワーク機器とのTCP接続を確立し、応答メッセージを送信した後にTCP接続を切断する。
【0130】
本開示の実施例では、少なくとも1つの仮想サーバをシミュレーションし、テスト対象のネットワーク機器によって送信される第2の要求メッセージを受信し、第2の要求メッセージの応答メッセージを生成し、テスト対象のネットワーク機器に第2の要求メッセージの応答メッセージを送信する。本開示は、リソースの浪費を回避し、ネットワーク機器のテストコストを削減し、ネットワーク機器のテストプロセスを簡素化し、効率を上げ、テストネットワーク機器の柔軟性及び精度を向上させることができる。
【0131】
本開示の実施例によると、本開示は電子機器、読み取り可能な記憶媒体および1つのコンピュータプログラム製品を提供する。
【0132】
図12は本開示の実施例の実施に使用できる例示的な電子機器1200の例示的なブロック図を示す。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、携帯情報端末、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すこともできる。本明細書で示される部品、それらの接続と関係、及びそれらの機能は、単なる例であり、本明細書の説明及び/又は要求される本開示の実現を制限することを意図したものではない。
【0133】
図12に示すように、装置1200は、読み取り専用メモリ(ROM)1202に記憶されているコンピュータプログラム、または記憶ユニット1208からランダムアクセスメモリ(RAM)1203にロードされたコンピュータプログラムに従って、様々な適切な動作および処理を実行することができる計算ユニット1201を備える。RAM1203には、装置1200の動作に必要な各種のプログラムやデータも記憶されていてもよい。計算ユニット1201、ROM1202、およびRAM1203は、バス1204を介して、互いに接続されている。入力/出力(I/O)インターフェース1205もバス1204に接続されている。
【0134】
装置1200における複数の部品は、I/Oインターフェース1205に接続され、キーボード、マウスなどの入力ユニット1206と、各種のディスプレイ、スピーカなどの出力ユニット1207と、磁気ディスク、光ディスクなどの記憶ユニット1208と、ネットワークカード、モデム、無線通信トランシーバなどの通信ユニット1209と、を備える。通信ユニット1209は、装置1200が、インターネットなどのコンピュータネットワークおよび/または様々な通信ネットワークを介して他の装置と情報/データを交換することを可能にする。
【0135】
計算ユニット1201は、処理能力およびコンピューティング能力を有する様々な汎用および/または専用の処理コンポーネントであってもよい。計算ユニット1201のいくつかの例は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用の人工知能(AI)コンピューティングチップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、デジタル信号プロセッサ(DSP)、および任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これに限定されない。計算ユニット1201は、前文で説明された様々な方法および処理、例えば、ネットワーク機器のテストを実行する。例えば、いくつかの実施例では、ネットワーク機器のテストは、記憶ユニット1208などの機械読み取り可能な記憶媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現することができる。いくつかの実施例では、コンピュータプログラムの一部または全部を、ROM1202および/または通信ユニット1209を介して装置1200にロードおよび/またはインストールすることができる。コンピュータプログラムがRAM1203にロードされ、計算ユニット1201によって実行される場合、前文に記載された車線境界線検出モデルの訓練方法の1つ以上のステップを実行することができる。代替的に、他の実施例では、計算ユニット1201は、他の任意の適切な方法で(例えば、ファームウェアを介して)ネットワーク機器のテストを実行するように構成されてもよい。
【0136】
本明細書で説明されたシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、チップオンシステム(SOC)、複数のプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを備えるプログラム可能なシステムで実行及び/又は解釈することができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができる。
【0137】
本開示の方法を実行するためのプログラムコードは、1つ以上のプログラミング言語の任意の組み合わせを用いて書くことができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサまたはコントローラに提供され、プロセッサまたはコントローラによって実行される場合、フローチャートおよび/またはブロック図に規定された機能/動作を実行させることができる。プログラムコードは、完全に、または部分的に、マシン上で実行することができ、独立したソフトウェアパッケージとしてマシンで部分的に実行され、リモートマシンで部分的に実行され、または、リモートマシンまたはサーバで完全に実行される。
【0138】
本開示の文脈では、機械読み取り可能な媒体は、命令実行システム、装置、またはデバイスが使用するために、または命令実行システム、装置、またはデバイスを組み合わせて使用されるプログラムを含むかまたは記憶することができる有形的な媒体であってもよい。機械読み取り可能な媒体は、機械読み取り可能な信号媒体または機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子的、磁気的、光学的、電磁的、赤外線的、または半導体的なシステム、装置またはデバイス、またはこれらの任意の適切な組み合わせを含むことができるが、これらに限定されるものではない。機械読み取り可能な媒体のより具体的な例は、1つ以上のラインに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光ストレージデバイス、磁気ストレージデバイス、またはこれらの任意の適切な組み合わせ、を含むことができる。
【0139】
ユーザとのインタラクションを提供するために、ここで説明されているシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力、または、触覚入力とを含む)でユーザからの入力を受信することができる。
【0140】
ここで説明されるシステム及び技術は、バックエンドコンポーネントを備えるコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを備えるコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを備えるコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションできる)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントのいずれかの組み合わせを含むコンピューティングシステムで実行することができる。いずれかの形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)およびインターネットを含むことができる。
【0141】
コンピュータシステムはクライアントとサーバを備えることができる。クライアントとサーバは一般に、互いに離れており、通常、通信ネットワークを介して対話する。対応するコンピュータで実行され且つ互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係を生成する。サーバはクラウドサーバであってもよく、分散システムのサーバであってもよく、又はブロックチェーンを組み込んだサーバであってもよい。
【0142】
なお、以上に示される様々な形のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解されたい。例えば、本開示に記載された各ステップは並列に実行されてもよいし、順次実行されてもよいし、異なる順序で実行されてもよいが、本開示に開示された技術案の所望の結果を実現できる限り、本文はここで制限しない。
【0143】
上記具体的な実施形態は、本開示の保護範囲を制限するものではない。当業者は、設計要件と他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができることを理解されたい。任意の本開示の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本開示の保護範囲内に含まれるべきである。