(57)【特許請求の範囲】
【請求項１】
キャッシュスペースにおいて入力メッセージのために１つのノードを割り当て、該メッセージを記憶し、該キャッシュスペースに対応する位置を該メッセージの記述子のインデックス情報とすることと、
前記メッセージの記述子情報を抽出することと、
前記メッセージの記述子情報と前記メッセージのノード情報をフレーミングし、１つのノードリンクリスト中に記憶することとを含み、
前記キャッシュスペースにおいて入力メッセージのために１つのノードを割り当て、該メッセージを記憶することは、
キャッシュのアイドルリンクリストから１つのノードを申請し、対応するリンクリストポインタをメインテナンスすることと、
前記メッセージを前記ノードに対応するキャッシュアドレスに基づいて外部記憶ユニットに記憶することとを含み、
前記キャッシュのアイドルリンクリストから１つのノードを申請した後、
前記ノードをエンキュー記憶し、同一のキューにおいて隣接するノードがマルチキャストプロパティであると、該隣接するノードの間に１つの空ノードを挿入し、１つ前のノードのマルチキャストポインタが前記空ノードのアドレスを指し、前記空ノードのマルチキャストポインタが１つ後のノードを指すことを含むメッセージ処理方法。
【請求項２】
前記メッセージを前記ノードに対応するキャッシュアドレスに基づいて外部記憶ユニットに記憶した後、  
デキューコマンドを受信した後、デキューコマンドに基づいて前記ノードのリンクリストポインタを取得し、前記リンクリストポインタと外部記憶ユニットのマッピング関係に基づいて、該ノードに対応するデータを読み込むことをさらに含む請求項１に記載の方法。
【請求項３】
前記記述子情報は、
メッセージのユニキャスト情報、メッセージのマルチキャスト情報、インデックス情報、カレントノードのメッセージテールプロパティ、有効バイト数及びキュー番号のうちの１種または複数種を含む請求項１〜２のいずれかに記載の方法。
【請求項４】
キャッシュスペースにおいて入力メッセージのために一つのノードを割り当て、該メッセージを記憶し、該キャッシュスペースに対応する位置を該メッセージの記述子のインデックス情報とするように設置される第１モジュールと、
前記メッセージの記述子情報を抽出するように設置される第２モジュールと、
前記メッセージの記述子情報と前記メッセージのノード情報をフレーミングし、１つのノードリンクリスト中に記憶するように設置される第３モジュールとを含み、
前記第１モジュールは、
キャッシュのアイドルリンクリストから１つのノードを申請し、対応するリンクリストポインタをメインテナンスするように設置される第１ユニットと、
前記メッセージを前記ノードに対応するキャッシュアドレスに基づいて外部記憶ユニットに記憶するように設置される第２ユニットとを含み、
前記第１ユニットは、キャッシュのアイドルリンクリストから１つのノードを申請した後、前記ノードをエンキュー記憶し、同一のキューにおいて隣接するノードがマルチキャストプロパティであると、該隣接するノードの間に１つの空ノードを挿入し、１つ前のノードのマルチキャストポインタが前記空ノードのアドレスを指し、前記空ノードのマルチキャストポインタが１つ後のノードを指すように設置されるメッセージ処理装置。
【請求項５】
デキューコマンドを受信した後、デキューコマンドに基づいて前記ノードのリンクリストポインタを取得し、前記リンクリストポインタと外部記憶ユニットのマッピング関係に基づいて、該ノードに対応するデータを読み込むように設置される第４モジュールをさらに含む請求項４に記載の装置。
【請求項６】
前記記述子情報は、
メッセージのユニキャスト情報、メッセージのマルチキャスト情報、インデックス情報、カレントノードのメッセージテールプロパティ、有効バイト数及びキュー番号のうちの１種または複数種を含む請求項４〜５のいずれかに記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信技術分野に関し、特にメッセージ処理方法及び装置に関する。
【背景技術】
【０００２】
従来のパケット交換ネットワーク中において、サービス処理のニーズのため、システムはまずメッセージのユニキャストプロパティ、マルチキャストプロパティを識別する必要があり、次に内部においてマルチキャストメッセージをコピーし、ユニキャストメッセージ、マルチキャストメッセージを管理し、ユーザが設定した規則に従ってスケジューリングデキューを行い、最終にシステムの出口にメッセージのあらゆる編集状況を反映する。引き続き分析を行う前、可変長パケット交換ネットワーク中において、データパケットフラグメンテーション技術はデータの遅延及びジッタを効果的に低下させ、キャッシュ利用率を向上させ、従来のパケット交換ネットワーク処理設備中においてメッセージをキャッシュ管理する１つの重要なメカニズムである。その達成メカニズムはキャッシュスペース全体を一定の大きさでｎ個の記憶ユニットに分けられ、メッセージを入力するたびに、メッセージの大きさに基づいてキャッシュスペースの割り当てを行い、１つの記憶ユニットより小さいまたはそれに等しいメッセージに対して、直接に１つのスペースを割り当て、比較的長いメッセージに対して、複数の記憶ユニットを割り当てる必要があり、同時にこれらの複数の記憶ユニットが同一のメッセージに属することを記録する必要があり、設計上、一般的にはリンクリストで管理する。このように、キャッシュスペース全体に対して、パケットを入力する時、リンクリストを用いてキャッシュスペースの割り当てを行い、パケットを出力する時、リンクリストを用いてキャッシュスペースの回収を行う。
【０００３】
それに対応して、メッセージ出力のスケジューリング管理に対して、キャッシュ管理に対応するメカニズム――記述子の管理を１セット有する。その作用はキャッシュ内に記憶されている各メッセージに対して１つの記述子に生成し、記述子内に該メッセージのキャッシュスペースでのポインタを記録することである。パケットエンティティのキャッシュスペースに対応して、記述子はノードスペースに記憶され、同様にリンクリストを用いて管理する。各記述子は１つのノードを占め、エンキュー時、１つのノードを割り当て、ユーザが定義した規則に従って相応なキューに記憶し、デキュー時、該ノードを回収し、同時に記述子をキャッシュスペースに送って管理し、キャッシュスペースのポインタによりパケットエンティティを抽出する。
【０００４】
実際には、分析すると、システムがユニキャストメッセージサービスのみをバックアップすると仮設すれば、パケットエンティティの記憶領域は記述子のノードスペースに１対１対応することができ、このように、２セットの管理メカニズムビニングを１セットに合併することができ、しかしながら、従来の矛盾はマルチキャストパケットに対する処理である。マルチキャストはメッセージの記述子を複数回コピーし、且つ最終に異なるキューにマッピングするため、１つのマルチキャストメッセージは複数のノードを占めるが、パケットエンティティは一部しかなく、従って、図１に示す処理フローになる。同一のマルチキャストメッセージの複数のノードに対して、その記述子の記憶領域ポインタはいずれもパケットリンクリストの記憶アドレスを指し、このようにマルチキャストメッセージの記憶転送を達成する。従来の技術的解決手段中に２セットの管理メカニズムを有し、パケット及びキューの２セットのリンクリストのオーバーヘッド及び管理は、規模が大きく、過程が複雑で、メインテナンス及び管理のコストを著しく増加することが明らかである。  
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする技術問題は、ユニキャストメッセージ、マルチキャストメッセージの統一記憶を実現することができ、記述子リンクリストがパケットエンティティキャッシュリソースに対応し、ユニキャストメッセージ、マルチキャストメッセージの管理オーバーヘッドを著しく低下させ、ノード収束性能を向上させるメッセージ処理方法及び装置を提供することである。
【課題を解決するための手段】
【０００６】
上記技術問題を解決するために、本発明メッセージ処理方法を提供しており、
キャッシュスペースにおいて入力メッセージにノードを割り当て、該メッセージを記憶し、該キャッシュスペースに対応する位置を該メッセージの記述子のインデックス情報とすること、
前記メッセージの記述子情報を抽出すること、
前記メッセージの記述子情報と前記メッセージのノード情報をフレーミングし、１つのノードリンクリスト中に記憶することを含む。
【０００７】
好ましくは、上記方法は、前記のキャッシュスペースにおいて入力メッセージにノードを割り当て、該メッセージを記憶することが、
キャッシュのアイドルリンクリストから１つのノードを申請し、対応するリンクリストポインタをメインテナンスすること、
前記メッセージを前記ノードに対応するキャッシュアドレスに基づいて外部記憶ユニットに記憶することを含むことをさらに特徴とする。
【０００８】
好ましくは、上記方法は、前記キャッシュのアイドルリンクリストから１つのノードを申請した後、
前記ノードをエンキュー記憶し、同一のキューにおいて隣接するノードがマルチキャストプロパティであると、該隣接するノードの間に１つの空ノードを挿入し、１つ前のノードのマルチキャストポインタが前記空ノードのアドレスを指し、前記空ノードのマルチキャストポインタが１つ後のノードを指すことを含むことをさらに特徴とする。
【０００９】
好ましくは、上記方法は、前記の前記メッセージを前記ノードに対応するキャッシュアドレスに基づいて外部記憶ユニットに記憶した後、  
デキューコマンドを受信した後、デキューコマンドに基づいて前記ノードのリンクリストポインタを取得し、前記リンクリストポインタと外部記憶ユニットのマッピング関係に基づいて、該ノードに対応するデータを読み込むことをさらに特徴とする。
【００１０】
好ましくは、上記方法は記述子が、
メッセージのユニキャスト情報、メッセージのマルチキャスト情報、インデックス情報、カレントノードのメッセージテールプロパティ、有効バイト数及びキュー番号のうちの１種または複数種を含むことをさらに特徴とする。
【００１１】
上記問題を解決するために、本発明はメッセージ処理装置を提供しており、  
キャッシュスペースにおいて入力メッセージにノードを割り当て、該メッセージを記憶し、該キャッシュスペースに対応する位置を該メッセージの記述子のインデックス情報とするように設置される第１モジュール、
前記メッセージの記述子情報を抽出するように設置される第２モジュール、
前記メッセージの記述子情報と前記メッセージのノード情報をフレーミングし、１つのノードリンクリスト中に記憶するように設置される第３モジュールを含む。
【００１２】
好ましくは、上記装置は、前記第１モジュールが
キャッシュのアイドルリンクリストから１つのノードを申請し、対応するリンクリストポインタをメインテナンスするように設置される第１ユニット、
前記メッセージを前記ノードに対応するキャッシュアドレスに基づいて外部記憶ユニットに記憶するように設置される第２ユニットを含むことをさらに特徴とする。
【００１３】
好ましくは、上記装置は、
前記第１ユニットは、キャッシュのアイドルリンクリストから１つのノードを申請した後、前記ノードをエンキュー記憶し、同一のキューにおいて隣接するノードがマルチキャストプロパティであると、該隣接するノードの間に１つの空ノードを挿入し、１つ前のノードのマルチキャストポインタが前記空ノードのアドレスを指し、前記空ノードのマルチキャストポインタが１つ後のノードを指すように設置されることをさらに特徴とする。
【００１４】
好ましくは、上記装置は、
デキューコマンドを受信した後、デキューコマンドに基づいて前記ノードのリンクリストポインタを取得し、前記リンクリストポインタと外部記憶ユニットのマッピング関係に基づいて、該ノードに対応するデータを読み込むように設置される第４モジュールをさらに含むことをさらに特徴とする。
【００１５】
好ましくは、上記装置は、前記記述子が、
メッセージのユニキャスト情報、メッセージのマルチキャスト情報、インデックス情報、カレントノードのメッセージテールプロパティ、有効バイト数及びキュー番号のうちの１種または複数種を含むことをさらに特徴とする。
【発明の効果】
【００１６】
以上のように、本発明の実施例はメッセージ処理方法及び装置を提供し、マルチキャストノードコピーの原因で２セットの管理メカニズムに分けることがなくなり、１つのノード情報中にユニキャストプロパティ、マルチキャストプロパティ及び対応するリンクリストポインタを管理及びメインテナンスし、キューノード及びキャッシュスペースの１対１対応を保証し、管理全体が１セットのリンクリスト割り当て及び回収のメカニズムのみをメインテナンスすればよい。システム入力側が予測できないユニキャストメッセージ、マルチキャストメッセージのシーン下で、１つのノードを利用してそれぞれユニキャスト及びマルチキャストの２つの次元の記述子リンクリストをメインテナンスし、それにより、ユニキャストメッセージ、マルチキャストメッセージの統一記憶を達成し、記述子リンクリストがパケットエンティティキャッシュリソースに対応し、ユニキャストメッセージ、マルチキャストメッセージの管理オーバーヘッドを著しく低下させ、且つ汎用性がより高い。
【図面の簡単な説明】
【００１７】
【図１】図１は一般的に使用されるユニキャスト、マルチキャストの統一キャッシュの構造図である。
【図２】図２は本発明の実施例によるメッセージ処理方法のフローチャートである。
【図３】図３は本発明の実施例によるメッセージ処理装置模式図である。
【図４】図４は本発明の実施例によるユニキャストとマルチキャストのノード収束操作の模式図である。
【図５】図５は本発明の実施例によるマルチキャストリンクマルチキャストのノード収束操作の模式図である。
【図６】図６は本発明の実施例による各種ノード収束操作模式図である。
【図７】図７は本発明の実施例によるキューリンクリストのポインタ操作模式図である。
【図８】図８は本発明の実施例によるリンクリストのノード情報操作模式図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら本発明の実施例を詳細に説明する。ただし、衝突がない場合、本願における実施例及び実施例における特徴は互いに任意に組み合せることができる。
【００１９】
従来のパケット交換ネットワークデバイス中において、ユニキャストサービスメッセージ、マルチキャストサービスメッセージをバックアップする統一処理に対して、一般的に使用されるやり方はパケットエンティティ管理及び記述子管理の２つの部分に分けられ、パケットエンティティ管理は、大きさが一定なキャッシュスペースを割り当て及び回収し、メッセージエンティティを記憶し、メッセージの完全な情報をメインテナンスするなどに用いられる。記述子管理はマルチキャストを開いた後ユニキャストとの統一エンキュー、割り当て、デキュースケジューリング及びノードスペースの回収に用いられ、最終的にパケットエンティティ管理に指示を出してメッセージを出力させる。
【００２０】
この２セットの処理メカニズムは正確にユニキャストメッセージ、マルチキャストメッセージの統一管理を行うことができるが、システムの処理フローが複雑で、達成するためのオーバーヘッドが比較的大きい等の問題をもたらす。この前の検討に基づいて、システムが２セットの管理メカニズムを用いるのは、ユニキャスト、マルチキャスト処理上の互換性がある設計のためであり、それでは、上記設計ニーズ互換性を有させる１セットの管理メカニズムを検討することができるかどうかと考えている。簡単に分析するだけではいけず、１つのマルチキャストパケットが異なるキューに入ると異なる下ポインタがあり、簡単にパケットエンティティスペースと記述子スペースを１対１対応させると、達成するためのオーバーヘッドは耐えられない。しかしながら、パケットエンティティスペースと記述子スペースをノード収束し、元の２つのスペースの記憶情報を統合することができると、このように１セットの管理メカニズムを用いることができ、フロー上でシンプルであり、且つ構造もより汎用的である。
【００２１】
本発明は、ノード収束性能を向上させるメッセージ処理方法を設計し、まず、入力メッセージに対してキャッシュスペースの割り当て、メッセージ記憶を行い、次に該キャッシュスペースに対応する位置を記述子のインデックス情報としてメッセージのエンキューに参与させ、エンキュー過程中においてメッセージのユニキャストプロパティ、マルチキャストプロパティ、メッセージ終了マークアップ、キューメンバーの接続情報等のプロパティに基づいてノードの収束を行い、メッセージの記憶領域及び記述子スペースを１セットの管理情報に収束し、１つのアクセススペースに対応させ、このように、高収束能力を有するノードメインテナンスメカニズムを採用してユニキャスト、マルチキャストのメッセージを管理する。
【００２２】
図２は本発明の実施例によるメッセージ処理方法のフローチャートであり、図２に示すように、本実施例の方法は、
キャッシュスペースにおいて入力メッセージにノードを割り当て、該メッセージを記憶し、該キャッシュスペースに対応する位置を該メッセージの記述子のインデックス情報とするＳ１１、
前記メッセージの記述子情報を抽出するＳ１２、
前記メッセージの記述子情報と前記メッセージのノード情報をフレーミングし、１つのノードリンクリスト中に記憶するＳ１３を含む。
【００２３】
そのうち、ステップＳ１１ではキャッシュスペースにおいて入力メッセージにノードを割り当て、該メッセージを記憶することは、
キャッシュのアイドルリンクリストから１つのノードを申請し、対応するリンクリストポインタをメインテナンスすること、
前記メッセージを前記ノードに対応するキャッシュアドレスに基づいて外部記憶ユニットに記憶することを含む。
【００２４】
そのうち、キャッシュのアイドルリンクリストから１つのノードを申請した後、  
前記ノードをエンキュー記憶し、同一のキューにおいて隣接するノードがマルチキャストプロパティであると、該隣接するノードの間に１つの空ノードを挿入し、１つ前のノードのマルチキャストポインタが前記空ノードのアドレスを指し、前記空ノードのマルチキャストポインタが１つ後のノードを指すことを含む。
【００２５】
そのうち、前記メッセージを前記ノードに対応するキャッシュアドレスに基づいて外部記憶ユニットに記憶した後、  
デキューコマンドを受信した後、デキューコマンドに基づいて前記ノードのリンクリストポインタを取得し、前記リンクリストポインタと外部記憶ユニットのマッピング関係に基づいて、該ノードに対応するデータを読み込むことをさらに含む。
【００２６】
図３は本発明の実施例によるメッセージ処理装置の模式図であり、図３に示すように、本実施例の装置は、
キャッシュスペースにおいて入力メッセージにノードを割り当て、該メッセージを記憶し、該キャッシュスペースに対応する位置を該メッセージの記述子のインデックス情報とすることに用いられるキャッシュスペース割り当てモジュール（第１モジュールに相当）、
前記メッセージの記述子情報を抽出することに用いられる記述子抽出モジュール（第２モジュールに相当）、
前記メッセージの記述子情報と前記メッセージのノード情報をフレーミングし、１つのノードリンクリスト中に記憶することに用いられるノード情報収束モジュール（第３モジュールに相当）を含む。
【００２７】
そのうち、前記第１モジュールは、  
キャッシュのアイドルリンクリストから１つのノードを申請し、対応するリンクリストポインタをメインテナンスすることに用いられる第１ユニット、
前記メッセージを前記ノードに対応するキャッシュアドレスに基づいて外部記憶ユニットに記憶することに用いられる第２ユニットを含む。
【００２８】
そのうち、前記第１ユニットは、キャッシュのアイドルリンクリストから１つのノードを申請した後、前記ノードをエンキュー記憶し、同一のキューにおいて隣接するノードがマルチキャストプロパティであると、該隣接するノードの間に１つの空ノードを挿入し、１つ前のノードのマルチキャストポインタが前記空ノードのアドレスを指し、前記空ノードのマルチキャストポインタが１つ後のノードを指すことにさらに用いられる。
【００２９】
１つの好ましい実施例中において、  
デキューコマンドを受信した後、デキューコマンドに基づいて前記ノードのリンクリストポインタを取得し、前記リンクリストポインタと外部記憶ユニットのマッピング関係に基づいて、該ノードに対応するデータを読み込むことに用いられるキューデパケット管理モジュール（第４モジュールに相当）を含んでもよい。
【００３０】
そのうち、記述子は、
メッセージのユニキャスト情報、メッセージのマルチキャスト情報、インデックス情報、カレントノードのメッセージテールプロパティ、有効バイト数及びキュー番号のうちの１種または複数種を含む。
【００３１】
本発明の実施例によるメッセージ処理装置は、キャッシュスペース割り当てモジュール、記述子の抽出モジュール、ノードの情報収束モジュール及びキューデパケット管理モジュールの４つの部分を含む。この４つの部分は共同してメッセージの記憶、解析、マークアップ、抽出等を完成し、ユニキャストメッセージ、マルチキャストメッセージに対する処理使用が非常に簡略化された処理フローを保証する。そのうち、
キャッシュスペース割り当てモジュールは、メッセージを入力する時、まずキャッシュに基づくアイドルリンクリストからノードを申請し、次に対応するリンクリストポインタをメインテナンスするとともに、メッセージをノードに対応するキャッシュアドレスに基づいて外部記憶ユニットに記憶することを担当する。１つのノードを外部記憶ユニットに対応する記憶操作を完成するたびに、記述子抽出モジュールに該外部記憶ユニットのノードインデックスを送信するとともに、該外部記憶ユニットが代表するメッセージのユニキャスト情報、マルチキャスト情報、カレントノードのメッセージテールプロパティ、及び有効バイト数、並びにキュー番号等の記述子情報を携帯し、同一のメッセージの複数のノードに対して、ユニキャスト情報、マルチキャスト情報の一致を確保する必要がある。
【００３２】
記述子の抽出モジュールは、キャッシュスペース割り当てモジュールが送信してきた記述子情報を受信し、対応ノードの情報記憶を完成することを担当する。割り当てノード情報が有効であることを受信したと、同時に揃うキュー番号、メッセージプロパティ等の記述子情報を設定されたビットフィールドに基づいて組み立て、次に有効信号を駆動してノードの情報収束モジュールに送信する。
【００３３】
ノードの情報収束モジュールは、ノードのインリンク処理及びノードのアウトリンク処理を含むノード収束のリンクリスト処理を担当する。記述子抽出モジュールの情報有効指示を受信した時、揃う記述子をサンプリング記憶し、同時に該メッセージがキャッシュスペースに割り当てるノード情報を抽出し、次に上記情報をパケットング、フレーミングして、ノードのインリンクｆｉｆｏ（先入れ先出し）に記憶する。ノードのインリンク記憶に対応して、キューデパケット管理モジュールからのデキューコマンドをノードのアウトリンクｆｉｆｏに記憶する。エンキュー及びデキューｆｉｆｏは固定スロットのポーリングのメカニズム下でスケジューリングされ、  ｆｉｆｏを読み込み、コマンドを解析し、キュー番号及び記述子を抽出し、ヘッダーテールポインタをメインテナンスし、インリンク及びアウトリンク操作の読み出し保護等を行い、最後にリンクリストノードスペースのメンバー情報をメインテナンスする。そのうち、ノードの収束能力の向上は主にキューリンクリストポインタ及びノード情報のメインテナンスに反映され、記述子のプロパティを分析することにより、リンクリストポインタ及びノードユニキャスト、マルチキャストリンク情報をメインテナンスし、元パケットリンクリスト及びノードリンクリストを大幅に圧縮して簡略化させる。
【００３４】
キューデパケット管理モジュールは、ユーザの規則に基づいてデキュースケジューリングを行い、各キューのノードのアウトリンク及び該ノードの対応データの出力コントロールをコントロールすることを担当する。一回のデキュー要求操作中において、該キューデパケット管理モジュールはノード情報収束モジュールにデキューイネーブル及びキュー番号を送信し、操作コマンドの選択、処理により、最終にノード収束モジュールが送信してきたノードデパケットポインタ情報を受信する。ノードポインタとデータ記憶ユニットのマッピング関係に基づいて、外部ｍｅｍｏｒｙ＿ｃｏｎｔｒｏｌｌｅｒ（メモリコントローラ）を駆動して、該ノードに対応するデータを読み込み、出力し、記憶転送を完成する。
【００３５】
本実施例のキャッシュ管理方式は、ノードと記憶ユニットの１対１対応の方式を用いて、ユニキャストパケット又はユニキャストノードに対して、該処理方式は理解しやく、つまり割り当て記憶ユニットの方式に基づいて対応ノードを割り当てればよい。しかしながら、ユニキャスト、マルチキャストの統一管理をバックアップする必要があると、ユニキャストノードの後はマルチキャスト、マルチキャストノードの後はマルチキャスト、マルチキャストノードの後はユニキャストであるという他の三種類の場合を考慮しなければならない。ノードの管理に基づいてこの四種の組合せ方式を達成することができると、ユニキャスト、マルチキャストの統一管理を完成し、その実質はつまりキューの間に同一のマルチキャストパケット又はマルチキャストフラグメンテーションのリンクリスト管理問題を解決することである。次にそれぞれこのいくつ種の場合を説明する。
【００３６】
図４におけるキューｘを例とすると、図におけるキューが占めるノードとキャッシュスペースは１対１対応し、各ノードに対してユニキャストリンク情報及びマルチキャストリンク情報をメインテナンスする処理方式を用いる。該キューの最初の２つのノードはユニキャストノードであり、第１個のノードに対して下ポインタ、パケットテールプロパティ等を含むそのユニキャストリンク情報のみをメインテナンスすればよい。第２個のノードに対して、その次のノードはマルチキャストプロパティであり、従って１つの完全なマルチキャストパケットテールノードになるまで、まずそのマルチキャストリンク情報をメインテナンスする必要があり、その間あらゆるマルチキャストノードはいずれもマルチキャストリンク情報のみをメインテナンスする。次に再び振り返って第２個のノードのユニキャストリンク情報ビットフィールドに該キューマルチキャストパケット後のユニキャストノードのポインタ情報をメインテナンスする。このようにすると、任意１つのユニキャストノードに対して、その次ぎのノードがマルチキャストであると、そのマルチキャスト情報ビットフィールドにメインテナンスし、マルチキャストパケットテールの次ぎのノードがユニキャストであると、そのマルチキャストパケットヘッダーをメインテナンスするユニキャストビットフィールドにメインテナンスする。該マルチキャストパケットがキューｙにも一部コピーしたと、図４のノード標識に示すように、同様に上記の方式を用いてメインテナンスし、  ２つのキューに従属するノードのｎｅｘｔ＿ｍはいずれも同一のマルチキャストパケットヘッダーノードを指し、該マルチキャストパケットのテールノードはマルチキャストパケットの終了を指示し、源ノードを通したｎｅｘｔ＿ｕに各自のキューの次のノードを見付ける。
【００３７】
それでは、状況がより複雑になると、マルチキャストパケットの後が依然としてマルチキャストパケットであると、どのように処理すればよいか。まず２つのマルチキャストパケットが連続する場合を分析し、先の分析により１つのマルチキャストパケットのリンク操作が完了後、そのパケットのヘッダーを指すノードの情報により下ポインタを見付ける必要があり、現在検討する場合に対して、下ポインタが依然としてマルチキャストノードであると、１つのマルチキャストのビットフィールドを増加することに違いなく、連続的ないくつのマルチキャストパケットがあると、第１個のマルチキャストパケットヘッダーを指すノードは複数のマルチキャストのビットフィールドを増加する必要があり、この種の方式で設計すると、記憶のオーバーヘッドは耐えられず且つ利用率が極めて低く、従って同一のキューに２つのマルチキャストパケットが隣接する時、空ノードを挿入する必要があり、具体的な操作模式図は図５に示される。図４に比べて、キューｘ及びキューｙのマルチキャストパケットの後はユニキャストパケットではなく、マルチキャストパケットであり、そうすると、現在、１つの空ノードをそれぞれ挿入する必要があり、１つ前のマルチキャストパケットのｎｅｘｔ＿ｕはこの空ノードのアドレス、すなわち空ノードのインデックスを指し、空ノードのマルチキャストポインタｎｅｘｔ＿ｍは次のマルチキャストパケットであり、空ノードのユニキャストポインタｎｅｘｔ＿ｕはネクストホップである。ネクストホップがユニキャストであると、  ｎｅｘｔ＿ｕは１つの実際に存在するユニキャストノードアドレスを指し、ネクストホップが依然としてマルチキャストであると、依然として空ノードを指し、操作は上記と同じである。
【００３８】
本発明の実施例の前記方法を用い、元の解決手段に用いる２セットの管理メカニズムを１セットに合併し、ノード収束能力を向上させる方式により、顕著に処理フローを簡略化させ、リソースオーバーヘッドを低下させ、システムのリアルタイム運転過程中においてユニキャスト、マルチキャストが占めるノード割合の各種場合をよりよく適応することができる。且つノードを収束した後、被スケジューリングキューメンバーの最小粒子度は１つのパケットから１つのノードの大きさに変換し、可変長パケットのパケット交換ネットワークに対して、ジッタを低減させる性能改善に対して非常に効果的である。
【００３９】
はっきり本発明の技術的解決手段を説明するために、以下、図６、図７、図８及び具体的な実施例を参照しながら更に説明するが、本発明を制限しない。
【００４０】
現在、図６の破線グリッドに示す記憶領域があると、ノード収束の方式で管理し、各ノードと外部記憶アドレスは１対１対応する。システムは順次にユニキャストショートパケットを入力してＢ００、Ｂ１０、Ｂ２０に記憶し、キュー１にマッピングする。順次にユニキャストパケットを入力してＢ０８、Ｂ１８、Ｂ２８に記憶し、キュー２にマッピングする。次に、マルチキャストロングパケットを入力してＢ３１、Ｂ３２に記憶し、該パケットがマルチキャストされた後、それぞれキュー１及びキュー２にマッピングされ、次にユニキャストショートパケットを入力してＢ４０に記憶し、キュー１にマッピングし、その後再びマルチキャストショートパケットを入力してＢ５１に記憶し、キュー１及びキュー２にマッピングし、この時、キュー２は連続的な２つのマルチキャストパケットのため、従って１つの空ノードＢ４６を申請してノード収束のリンクリストメインテナンスを行う。その後、さらに１つのマルチキャストロングパケットが来てそれぞれキュー１及びキュー２にマッピングされ、パケットのヘッダーがＢ８２を占め、この時、後に来たユニキャストＢ９０がキュー１にマッピング、Ｂ９８がキュー２にマッピングされるまで、キュー１及び２に対してそれぞれ１つの空ノードＢ７１及びＢ６５を申請する必要がある。
【００４１】
上記場合はユニキャストパケットとマルチキャストパケットが互いに連結する各種方式をトラバーサルし、以下、キュー１を例として、ステップごとに該キューの各ノードのユニキャスト情報、マルチキャスト情報の収束操作及びキューヘッダーテールポインタ操作を説明し、キュー２は同じ操作ステップを有する。リンクリストノード情報を記憶するメモリに対して、ニーズに応じて内蔵又は外部を選択することができ、異なるところは外部メモリがビット幅及び帯域幅の制限のためバイトマスク操作を行う必要がある。
キュー１のエンキュー操作は図７に示すように、リンクリストノードの操作は図８に示すように、初期状態下で、キューが空である。
【００４２】
ユニキャストノードＢ００エンキュー：ユニキャストパケットのヘッダーポインタ（ＨＵ）、ユニキャストパケットテールポインタ（ＴＵ）をノードインデックス００に置き、ヘッダーテールポインタ有効マークアップＨＰＯＳ、ＴＰＯＳを０に置き、カレントヘッダーテールポインタに対してユニキャストビットフィールドが有効であることを標識する。
【００４３】
ユニキャストノードＢ１０エンキュー：ヘッダーポインタは変わらず、テールポインタＴＵは１０に更新され、ポインタ有効マークアップは変わらない。ノード記憶ユニットユニキャストドメインのポインタ、ｅｏｐｕ（ユニキャストパケットのテールマークアップ）及び記述子情報等をメインテナンスする。
【００４４】
ユニキャストノードＢ２０エンキュー：ヘッダーポインタは変わらず、テールポインタ（ＴＵ）は２０に更新され、ポインタ有効マークアップは変わらない。ノード記憶ユニットユニキャストドメイン情報をメインテナンスする。
【００４５】
マルチキャストノードＢ３１エンキュー：テールポインタドメインＴＵは変わらずに２０であり、ＴＭ（マルチキャストパケットテールポインタ）はは１に更新され、テールポインタ有効マークアップ（ＴＰＯＳ）は１に更新され、カレントキューのテールがマルチキャストノードであるように指示し、同時にノード記憶ユニットマルチキャストドメインのポインタ及び記述子情報等をメインテナンスする。しかしながらカレントノードはマルチキャストテールではなく、１つのマルチキャストパケットが終わっていないことを表す。
【００４６】
マルチキャストノードＢ３２エンキュー：ＴＭは３２に更新され、テールポインタ有効マークアップＴＰＯＳは依然として１であり、カレントはテールノードであり、１つのマルチキャストパケットが終わることを表し、同時にノード記憶ユニットマルチキャストドメインのポインタ、ｅｏｐｍ（マルチキャストパケットのテールマークアップ）及び記述子情報等をメインテナンスする。
【００４７】
ユニキャストノードＢ４０エンキュー：テールポインタドメインＴＭは変わらず、ＴＵは４０に更新され、  ＴＰＯＳは依然として０であるように更新させ、マルチキャストノードＢ３１を指すユニキャストドメイン情報をメインテナンスする必要があり、例えば図７のアドレス２０に示すビットフィールドは該アドレスの第２回操作の必要があるユニキャストビットフィールドを表す。
【００４８】
マルチキャストノードＢ５１エンキュー：テールポインタドメインＴＵは変わらずに４０であり、ＴＭは５１に更新され、テールポインタ有効マークアップＴＰＯＳは１に更新され、同時にノード記憶ユニットマルチキャストドメインのポインタ、ｅｏｐｍ及び記述子情報等をメインテナンスする。
【００４９】
マルチキャストノードＢ８２エンキュー：この時、連続的な２つのマルチキャストパケットのため、１つの空ノードＢ７１を挿入する必要があり、バッファが空状態であるマークアップＴＭが８２に更新され、テールポインタ有効マークアップＴＰＯＳが１であることを保持し、ノード記憶ユニットマルチキャストドメインのポインタ、記述子情報等をメインテナンスする。
【００５０】
マルチキャストノードＢ８３エンキュー：１つ前のマルチキャストノードがテールノードではなく、ＴＭが８３に更新され、テールポインタ有効マークアップＴＰＯＳが１であることを保持する。
【００５１】
マルチキャストノードＢ８４エンキュー：１つ前のマルチキャストノードがテールノードではなく、ＴＭが８４に更新され、テールポインタの有効マークアップＴＰＯＳが１であることを保持する。カレントノードがテールノードであり、ノード記憶ユニットマルチキャストドメインのポインタ、ｅｏｐｍ及び記述子情報等をメインテナンスする。
【００５２】
ユニキャストノードＢ９０エンキュー：テールポインタドメインＴＭは変わらず、ＴＵは９０に更新され、  ＴＰＯＳが依然として０であるように更新され、マルチキャストノードＢ８２を指すユニキャストドメイン情報をメインテナンスする必要があり、同時にノード記憶ユニットマルチキャストドメインのポインタ、ｅｏｐｕ及び記述子情報等をメインテナンスする。
【００５３】
以上、エンキュー場合でのユニキャストノード、マルチキャストノード収束操作を説明したが、次はさらに該キューのデキューを説明し、キューのポインタ操作は図７に示され、リンクリストノードの操作は図８に示される。
【００５４】
ノードＢ００デキュー：テールポインタドメインは変わらず、ＨＵは１０に更新され、ＨＰＯＳポインタは変わらずに０である。
【００５５】
ノードＢ１０デキュー：テールポインタドメインは変わらず、ＨＵは２０に更新され、ＨＰＯＳポインタは変わらずに０である。
【００５６】
ノードＢ２０デキュー：テールポインタドメインは変わらず、リンクリストノード情報を読み込み、ＨＵは４０に更新され、ＨＭは３１に更新され、ＨＰＯＳポインタは１に更新された。
【００５７】
ノードＢ３１デキュー：テールポインタドメインは変わらず、リンクリストノード情報を読み込み、ＨＵは変わらず、ＨＭは３２に更新され、ＨＰＯＳポインタは変わらない。
【００５８】
ノードＢ３２デキュー：テールポインタドメインは変わらず、リンクリストノード情報を読み込み、該ノードはマルチキャストテールフラグメンテーションであり、ＨＵは変わらず、ＨＭは変わらず、ＨＰＯＳポインタは０に更新される。
【００５９】
ノードＢ４０デキュー：リンクリストノード情報を読み込み、ＨＵは７１に更新され、ＨＭは５１に更新され、ＨＰＯＳポインタは１に更新された。
【００６０】
ノードＢ５１デキュー：記述子のｅｐｔ（空ノードマークアップ）ドメインが有効であることは、該ノードが空ノードであることを示し、ｅｏｐｍは有効であり、次のノードが依然としてマルチキャストパケットであることを示し、ＨＰＯＳポインタは０に更新される。
【００６１】
ノードＢ８２デキュー：リンクリストノード情報を読み込み、ＨＵは９０に更新され、ＨＭは８３に更新され、ＨＰＯＳポインタは１に更新され、カレントノードはパケットテールではない。
【００６２】
ノードＢ８３デキュー：リンクリストノード情報を読み込み、ＨＵは９０に更新され、ＨＭは８４に更新され、カレントノードはパケットテールであり、ＨＰＯＳポインタは０に更新される。
【００６３】
ノードＢ９０デキュー：比較してカレントヘッダーテールポインタのすべてのビットフィールドが完全に同じ、該キューが空になったことを示す。キューユニキャストメッセージ、マルチキャストメッセージのエンキュー及びデキュー操作は完了した。
【００６４】
一般の当業者は、上記方法における全部又は一部のステップをプログラムによって関連ハードウェアに命令を出して完成させることができ、前記プログラムはコンピュータ読み取り可能な記憶媒体、例えば読取り専用メモリ、ディスク又は光ディスク等に記憶してもよいと理解することができる。選択肢として、上記実施例の全部又は一部のステップが１つ又は複数のＩＣにより実現されてもよい。それに対応して、上記実施例における各モジュール／ユニットはハードウェアの形式で実現されてもよく、ソフトウェア機能モジュールの形式で実現されてもよい。本発明はあらゆる特定形式のハードウェアとソフトウェアの組合せに限らない。
【００６５】
以上は本発明の好ましい実施例に過ぎず、当然、本発明は更に他の複数
の種の実施例を有してもよく、本発明の趣旨とその実質を逸脱しない場合に、本分野に詳しい当業者は本発明に基づいて各種の相応する改定又は変形を行うことができ、これらの改定又は変形はいずれも本発明の請求の範囲の保護範囲に含まれる。
【産業上の利用可能性】
【００６６】
以下のように、本発明の実施例はメッセージ処理方法及び装置を提供し、マルチキャストノードコピーの原因で２セットの管理メカニズムに分けることがなくなり、１つのノード情報中にユニキャストプロパティ、マルチキャストプロパティ及び対応するリンクリストポインタを管理及びメインテナンスし、キューノード及びキャッシュスペースの１対１対応を保証し、管理全体が１セットのリンクリスト割り当て及び回収のメカニズムのみをメインテナンスすればよい。システム入力側が予測できないユニキャストメッセージ、マルチキャストメッセージのシーン下で、１つのノードを利用してそれぞれユニキャスト及びマルチキャストの２つの次元の記述子リンクリストをメインテナンスし、それにより、ユニキャストメッセージ、マルチキャストメッセージの統一記憶を達成し、記述子リンクリストがパケットエンティティキャッシュリソースに対応し、ユニキャストメッセージ、マルチキャストメッセージの管理オーバーヘッドを著しく低下させ、且つ汎用性がより高い。
【図１】
0005892500.tif 000002
【図２】
0005892500.tif 000003
【図３】
0005892500.tif 000004
【図４】
0005892500.tif 000005
【図５】
0005892500.tif 000006
【図６】
0005892500.tif 000007
【図７】
0005892500.tif 000008
【図８】
0005892500.tif 000009