JPH1040179A - メッセージ変換方法およびその変換方法に使用する階層的データ構造体 - Google Patents
メッセージ変換方法およびその変換方法に使用する階層的データ構造体Info
- Publication number
- JPH1040179A JPH1040179A JP8189495A JP18949596A JPH1040179A JP H1040179 A JPH1040179 A JP H1040179A JP 8189495 A JP8189495 A JP 8189495A JP 18949596 A JP18949596 A JP 18949596A JP H1040179 A JPH1040179 A JP H1040179A
- Authority
- JP
- Japan
- Prior art keywords
- data structure
- data
- access request
- issuing
- hierarchy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
【課題】 階層構造を有する複数のデータ構造体を簡単
な手続で送受信可能なメッセージ変換方法およびそのた
めの階層的データ構造体を提供すること。 【解決手段】 自身のデータ構造体に接続される下位の
階層のデータ構造体にアクセス要求を出す変換メソッド
を含むデータ構造体群301,302,303aおよび
303nと、階層構造の最下位に位置し、データとその
データを放出する変換メソッドを含むデータ構造体群3
04a,304bおよび304nとを含む。
な手続で送受信可能なメッセージ変換方法およびそのた
めの階層的データ構造体を提供すること。 【解決手段】 自身のデータ構造体に接続される下位の
階層のデータ構造体にアクセス要求を出す変換メソッド
を含むデータ構造体群301,302,303aおよび
303nと、階層構造の最下位に位置し、データとその
データを放出する変換メソッドを含むデータ構造体群3
04a,304bおよび304nとを含む。
Description
【0001】
【発明の属する技術分野】本発明は、共通伝送媒体に接
続された複数の計算機システムからなる分散処理システ
ムにおけるメッセージ変換方法およびそのための階層的
データ構造体に関し、特に異なる計算機システム間での
メッセージ変換方法およびそのための階層的データ構造
体に関する。
続された複数の計算機システムからなる分散処理システ
ムにおけるメッセージ変換方法およびそのための階層的
データ構造体に関し、特に異なる計算機システム間での
メッセージ変換方法およびそのための階層的データ構造
体に関する。
【0002】
【従来の技術】近年、複数の計算機システムを通信ネッ
トワークで接続し、各計算機システムが協働して1つの
ジョブを処理する分散処理システムの開発が盛んであ
る。これら複数の計算機システムのうち、互いに用途も
しくは機能が異なる計算機システム、たとえばプロセス
制御用計算機システムとデータ処理用計算機、の間でメ
ッセージの送信および受信を行なう場合、どちらの計算
機システムにおいてもプロセスの処理性能、信頼性、保
守性、拡張性あるいは機密性が最適となるようにデータ
を抽出できれば分散処理システム全体の処理能力が向上
する。そのために、計算機システム間で送受信されるメ
ッセージの伝送手続全般等を定めた統一的な規格、例え
ばTCP/IP(Transmission Control Protocol / In
ternet Protocol )等がある。
トワークで接続し、各計算機システムが協働して1つの
ジョブを処理する分散処理システムの開発が盛んであ
る。これら複数の計算機システムのうち、互いに用途も
しくは機能が異なる計算機システム、たとえばプロセス
制御用計算機システムとデータ処理用計算機、の間でメ
ッセージの送信および受信を行なう場合、どちらの計算
機システムにおいてもプロセスの処理性能、信頼性、保
守性、拡張性あるいは機密性が最適となるようにデータ
を抽出できれば分散処理システム全体の処理能力が向上
する。そのために、計算機システム間で送受信されるメ
ッセージの伝送手続全般等を定めた統一的な規格、例え
ばTCP/IP(Transmission Control Protocol / In
ternet Protocol )等がある。
【0003】この規約に基づいて、メッセージの送受信
処理を行なうための基本ソフトウェアが多数開発されて
おり、その基本ソフトウェアを各計算機システムのOS
(オペレーティングシステム)の一部として取込むか、
OS上で動作させることによって分散処理を実現してい
る。この規約に基づいて開発された基本ソフトウェア
は、一般的に、用途もしくは機能が異なる計算機システ
ムのデータ処理方式を吸収するために、受信するメッセ
ージの物理的なデータ構造を固定長あるいは可変長のバ
イト列等の平坦な構造に限定している。
処理を行なうための基本ソフトウェアが多数開発されて
おり、その基本ソフトウェアを各計算機システムのOS
(オペレーティングシステム)の一部として取込むか、
OS上で動作させることによって分散処理を実現してい
る。この規約に基づいて開発された基本ソフトウェア
は、一般的に、用途もしくは機能が異なる計算機システ
ムのデータ処理方式を吸収するために、受信するメッセ
ージの物理的なデータ構造を固定長あるいは可変長のバ
イト列等の平坦な構造に限定している。
【0004】これに対して、UNIXのマルチウィンド
ウシステムのように標準性および拡張性の高いアプリケ
ーションソフトウェアでは、計算機システムの表示画面
上に複数のウィンドウを表示し、それらのウィンドウ内
に図形データを複数表示し、さらにそれらのウィンドウ
が互いにオーバーラップして表示される。したがって、
その表示データは1つまたは複数の単体データからなる
複数のデータ構造体であり、その複数のデータ構造体の
間には包含関係等の階層的な関連付けがなされている。
ウシステムのように標準性および拡張性の高いアプリケ
ーションソフトウェアでは、計算機システムの表示画面
上に複数のウィンドウを表示し、それらのウィンドウ内
に図形データを複数表示し、さらにそれらのウィンドウ
が互いにオーバーラップして表示される。したがって、
その表示データは1つまたは複数の単体データからなる
複数のデータ構造体であり、その複数のデータ構造体の
間には包含関係等の階層的な関連付けがなされている。
【0005】図6(a)は平坦なデータ構造を有する受
信データ、図6(b)は受信データから各データ構造体
を抽出するための変換プログラム、図6(c)は元の階
層構造を有する複数のデータ構造体を示す図である。
信データ、図6(b)は受信データから各データ構造体
を抽出するための変換プログラム、図6(c)は元の階
層構造を有する複数のデータ構造体を示す図である。
【0006】変換プログラム600は、まず受信バッフ
ァの確保等の初期設定を行ない、他の計算機システムか
らのメッセージを受信してバッファに格納する(S60
1)。次に、最初のデータ構造体“d”のサイズを設定
して、サイズ分のデータを入力する(S602)。受信
データは、通信回線の障害等によりデータの欠如等が生
ずる場合を想定して例外発生があったか否かをチェック
する。例外が発生した場合(S603,YES)は、例
外処理(データの再送信要求等)を行なった後(S60
4)、ステップS605へ進む。例外が発生しなかった
場合(S603,NO)は、ステップS605へ進み、
データ構造体“h”のサイズを設定してサイズ分のデー
タを入力する。以降、S602〜S604の処理を各デ
ータ構造体に対して行なう。
ァの確保等の初期設定を行ない、他の計算機システムか
らのメッセージを受信してバッファに格納する(S60
1)。次に、最初のデータ構造体“d”のサイズを設定
して、サイズ分のデータを入力する(S602)。受信
データは、通信回線の障害等によりデータの欠如等が生
ずる場合を想定して例外発生があったか否かをチェック
する。例外が発生した場合(S603,YES)は、例
外処理(データの再送信要求等)を行なった後(S60
4)、ステップS605へ進む。例外が発生しなかった
場合(S603,NO)は、ステップS605へ進み、
データ構造体“h”のサイズを設定してサイズ分のデー
タを入力する。以降、S602〜S604の処理を各デ
ータ構造体に対して行なう。
【0007】以上の処理により抽出した各データ構造体
をもとに、図6(c)に示す階層構造を有する複数のデ
ータ構造体への変換が行なわれる。
をもとに、図6(c)に示す階層構造を有する複数のデ
ータ構造体への変換が行なわれる。
【0008】
【発明が解決しようとする課題】分散処理システム全体
の規模が大きくなり、互いに用途、機能が異なる計算機
システムが増加するに従って、メッセージの物理的な構
造を決定する統一的な規約は細分化され、各々のアプリ
ケーションプログラムで定義される複数のデータ構造体
の階層的な構造も複雑化かつ多様化される。たとえば、
図6(b)の変換プログラムで抽出したデータ構造体か
ら、図6(c)に示す階層構造を有する複数のデータ構
造体に変換する際に、その変換処理の手続が複雑にな
る。この変換処理の手続は、通常アプリケーションプロ
グラムのメッセージ送受信処理の手続を明記した部分に
含まれる。したがって、変換処理の手続が複雑になると
ともに、プログラマーへの負担が大きくなる。また図6
(b)の変換プログラムは各々のデータ構造体の抽出の
手続ごとに、条件分岐による例外的な内容のデータ、も
しくは例外的な事象の処理を行なう必要が生じるため、
極めて冗長なプログラムとなる。
の規模が大きくなり、互いに用途、機能が異なる計算機
システムが増加するに従って、メッセージの物理的な構
造を決定する統一的な規約は細分化され、各々のアプリ
ケーションプログラムで定義される複数のデータ構造体
の階層的な構造も複雑化かつ多様化される。たとえば、
図6(b)の変換プログラムで抽出したデータ構造体か
ら、図6(c)に示す階層構造を有する複数のデータ構
造体に変換する際に、その変換処理の手続が複雑にな
る。この変換処理の手続は、通常アプリケーションプロ
グラムのメッセージ送受信処理の手続を明記した部分に
含まれる。したがって、変換処理の手続が複雑になると
ともに、プログラマーへの負担が大きくなる。また図6
(b)の変換プログラムは各々のデータ構造体の抽出の
手続ごとに、条件分岐による例外的な内容のデータ、も
しくは例外的な事象の処理を行なう必要が生じるため、
極めて冗長なプログラムとなる。
【0009】本発明は、上記問題点を解決するためにな
されたもので、階層構造を有する複数のデータ構造体
を、簡単な手続で送受信可能なメッセージ変換方法およ
びそのための階層的データ構造体を提供することを目的
とする。
されたもので、階層構造を有する複数のデータ構造体
を、簡単な手続で送受信可能なメッセージ変換方法およ
びそのための階層的データ構造体を提供することを目的
とする。
【0010】
【課題を解決するための手段】上記問題点を解決するた
めに、請求項1に記載の階層的データ構造体は、自身の
データ構造体に接続される下位の階層のデータ構造体に
アクセス要求を出す変換手段を含むデータ構造体群と、
階層構造の最下位に位置しデータと該データを放出する
放出手段を含むデータ構造体群とを含む。
めに、請求項1に記載の階層的データ構造体は、自身の
データ構造体に接続される下位の階層のデータ構造体に
アクセス要求を出す変換手段を含むデータ構造体群と、
階層構造の最下位に位置しデータと該データを放出する
放出手段を含むデータ構造体群とを含む。
【0011】請求項2に記載の階層的データ構造体は、
自身のデータ構造体に接続される下位の階層のデータ構
造体にアクセス要求を出す変換手段を含むデータ構造体
群と、階層構造の最下位に位置しデータを自身のデータ
構造体に蓄積する蓄積手段を含むデータ構造体群とを含
む。
自身のデータ構造体に接続される下位の階層のデータ構
造体にアクセス要求を出す変換手段を含むデータ構造体
群と、階層構造の最下位に位置しデータを自身のデータ
構造体に蓄積する蓄積手段を含むデータ構造体群とを含
む。
【0012】請求項3に記載のメッセージ変換方法は、
第1のデータ構造体へアクセス要求を出すステップと、
第1のデータ構造体の下位の第2のデータ構造体へアク
セス要求を出すステップと、第2のデータ構造体が最下
位のデータ構造体であれば第2のデータ構造体が有する
データを放出し、最下位のデータ構造体であれば下位の
第3のデータ構造体へアクセス要求を出すステップとを
含む。
第1のデータ構造体へアクセス要求を出すステップと、
第1のデータ構造体の下位の第2のデータ構造体へアク
セス要求を出すステップと、第2のデータ構造体が最下
位のデータ構造体であれば第2のデータ構造体が有する
データを放出し、最下位のデータ構造体であれば下位の
第3のデータ構造体へアクセス要求を出すステップとを
含む。
【0013】請求項4に記載のメッセージ変換方法は、
第1のデータ構造体へアクセス要求を出すステップと、
第1のデータ構造体の下位の第2のデータ構造体へアク
セス要求を出すステップと、第2のデータ構造体が最下
位のデータ構造体であれば第2のデータ構造体へデータ
を蓄積し、最下位のデータ構造体でなければ下位の第3
のデータ構造体へアクセス要求を出すステップとを含
む。
第1のデータ構造体へアクセス要求を出すステップと、
第1のデータ構造体の下位の第2のデータ構造体へアク
セス要求を出すステップと、第2のデータ構造体が最下
位のデータ構造体であれば第2のデータ構造体へデータ
を蓄積し、最下位のデータ構造体でなければ下位の第3
のデータ構造体へアクセス要求を出すステップとを含
む。
【0014】請求項5に記載のメッセージ変換方法は、
メッセージ変換要求を受けるステップと、受けたメッセ
ージのデータ型に応じて特定のデータ構造体にアクセス
要求を出すステップと、特定のデータ構造体の下位の階
層に含まれるすべての最下位のデータ構造体からデータ
を放出するステップとを含み、放出するステップは、あ
るデータ構造体において上位階層のデータ構造体からの
アクセス要求を受ける第1のステップと、あるデータ構
造体が下位のデータ構造体であるか否かに従って、ある
データ構造体が有するデータを放出して上位階層に制御
を戻すステップと、あるデータ構造体の直下の階層のデ
ータ構造体の1つにアクセス要求を出し、制御が戻るま
で待つ処理をすべての直下の階層のデータ構造体に対し
て繰返し行なった後に上位階層に制御を戻すステップと
のいずれかを選択的に行なう第2のステップと、第1の
ステップおよび第2のステップを特定のデータ構造体を
先頭としてその下位階層に含まれるすべてのデータ構造
体に対して再帰的に繰返すステップとを含む。
メッセージ変換要求を受けるステップと、受けたメッセ
ージのデータ型に応じて特定のデータ構造体にアクセス
要求を出すステップと、特定のデータ構造体の下位の階
層に含まれるすべての最下位のデータ構造体からデータ
を放出するステップとを含み、放出するステップは、あ
るデータ構造体において上位階層のデータ構造体からの
アクセス要求を受ける第1のステップと、あるデータ構
造体が下位のデータ構造体であるか否かに従って、ある
データ構造体が有するデータを放出して上位階層に制御
を戻すステップと、あるデータ構造体の直下の階層のデ
ータ構造体の1つにアクセス要求を出し、制御が戻るま
で待つ処理をすべての直下の階層のデータ構造体に対し
て繰返し行なった後に上位階層に制御を戻すステップと
のいずれかを選択的に行なう第2のステップと、第1の
ステップおよび第2のステップを特定のデータ構造体を
先頭としてその下位階層に含まれるすべてのデータ構造
体に対して再帰的に繰返すステップとを含む。
【0015】請求項6に記載のメッセージ変換方法は、
メッセージ変換要求を受けるステップと、受けたメッセ
ージのデータ型に応じて特定のデータ構造体にアクセス
要求を出すステップと、特定のデータ構造体の下位の階
層に含まれるすべての最下位のデータ構造体へデータを
蓄積するステップとを含み、蓄積するステップは、ある
データ構造体において上位階層のデータ構造体からのア
クセス要求を受ける第1のステップと、あるデータ構造
体が最下位のデータ構造体であるか否かに従って、ある
データ構造体へデータを蓄積して上位階層に制御を戻す
ステップと、あるデータ構造体の直下の階層のデータ構
造体の1つにアクセス要求を出し、制御が戻るまで待つ
処理をすべての直下の階層のデータ構造体に対して繰返
し行なった後に上位階層に制御を戻すステップとのいず
れかを選択的に行なう第2のステップと、第1のステッ
プおよび第2のステップを特定のデータ構造体を先頭と
してその下位階層に含まれるすべてのデータ構造体に対
して再帰的に繰返すステップとを含む。
メッセージ変換要求を受けるステップと、受けたメッセ
ージのデータ型に応じて特定のデータ構造体にアクセス
要求を出すステップと、特定のデータ構造体の下位の階
層に含まれるすべての最下位のデータ構造体へデータを
蓄積するステップとを含み、蓄積するステップは、ある
データ構造体において上位階層のデータ構造体からのア
クセス要求を受ける第1のステップと、あるデータ構造
体が最下位のデータ構造体であるか否かに従って、ある
データ構造体へデータを蓄積して上位階層に制御を戻す
ステップと、あるデータ構造体の直下の階層のデータ構
造体の1つにアクセス要求を出し、制御が戻るまで待つ
処理をすべての直下の階層のデータ構造体に対して繰返
し行なった後に上位階層に制御を戻すステップとのいず
れかを選択的に行なう第2のステップと、第1のステッ
プおよび第2のステップを特定のデータ構造体を先頭と
してその下位階層に含まれるすべてのデータ構造体に対
して再帰的に繰返すステップとを含む。
【0016】
【発明の実施の形態】図1は、本発明の実施の形態にお
けるメッセージ変換方法が適用される分散処理システム
を示す図である。複数の計算機システムが共通伝送媒体
103を介して接続されており、たとえば計算機システ
ム101が計算機システム102に格納されるデータを
利用する場合には、計算機システム102に対してメッ
セージ伝送要求を送出する。計算機システム102は、
計算機システム101からの伝送要求に応じてデータを
抽出し、このデータが階層構造を有する複数のデータ構
造体であれば、平坦なデータ構造を有する複数のデータ
構造体からなるメッセージに変換して計算機システム1
01へ送信する。計算機システム101は、受信した平
坦なデータ構造を有するメッセージをもとの階層構造を
有する複数のデータ構造体に変換して取込む。
けるメッセージ変換方法が適用される分散処理システム
を示す図である。複数の計算機システムが共通伝送媒体
103を介して接続されており、たとえば計算機システ
ム101が計算機システム102に格納されるデータを
利用する場合には、計算機システム102に対してメッ
セージ伝送要求を送出する。計算機システム102は、
計算機システム101からの伝送要求に応じてデータを
抽出し、このデータが階層構造を有する複数のデータ構
造体であれば、平坦なデータ構造を有する複数のデータ
構造体からなるメッセージに変換して計算機システム1
01へ送信する。計算機システム101は、受信した平
坦なデータ構造を有するメッセージをもとの階層構造を
有する複数のデータ構造体に変換して取込む。
【0017】図2は、本発明の実施の形態におけるメッ
セージ変換を行なうストリームオブジェクトを模式的に
示す図である。ストリームオブジェクト201は、型チ
ェックプログラム203、サイズチェックプログラム2
04および例外処理プログラム205を含むプログラム
として提供され、各計算機システムごとにロードされ起
動される。このストリームオブジェクト201は、各計
算機システム間の共通伝送経路を抽象化したものであ
る。ストリームオブジェクト201は、他の計算機シス
テム(以後、システム外部と略す)202から共通伝送
媒体103を介して階層構造を有するデータの送信要求
があると、自身の計算機システム(以後、システム内部
と略す)206内に定義されているデータ構造体に対し
てアクセス要求を出す。システム内部206に定義され
ているデータ構造体には、それぞれの変換メソッドが定
義されており、階層構造を有する複数のデータ構造体の
各変換メソッドが再帰的に起動されることによって、平
坦な構造を有するデータに変換されて出力されるが、こ
の変換メソッドの詳細は後述する。
セージ変換を行なうストリームオブジェクトを模式的に
示す図である。ストリームオブジェクト201は、型チ
ェックプログラム203、サイズチェックプログラム2
04および例外処理プログラム205を含むプログラム
として提供され、各計算機システムごとにロードされ起
動される。このストリームオブジェクト201は、各計
算機システム間の共通伝送経路を抽象化したものであ
る。ストリームオブジェクト201は、他の計算機シス
テム(以後、システム外部と略す)202から共通伝送
媒体103を介して階層構造を有するデータの送信要求
があると、自身の計算機システム(以後、システム内部
と略す)206内に定義されているデータ構造体に対し
てアクセス要求を出す。システム内部206に定義され
ているデータ構造体には、それぞれの変換メソッドが定
義されており、階層構造を有する複数のデータ構造体の
各変換メソッドが再帰的に起動されることによって、平
坦な構造を有するデータに変換されて出力されるが、こ
の変換メソッドの詳細は後述する。
【0018】平坦な構造に変換されたデータは、ストリ
ームオブジェクト201内のバッファに格納された後、
共通伝送媒体を介してシステム外部202へ送出され
る。
ームオブジェクト201内のバッファに格納された後、
共通伝送媒体を介してシステム外部202へ送出され
る。
【0019】逆にシステム内部206からシステム外部
へ階層構造を有するデータの送信要求を出した場合に
は、システム外部202から平坦な構造を有するデータ
を受信してバッファに格納した後、この平坦な構造を有
するデータを順次取出してシステム内部206へ送出す
る。システム内部206では、平坦な構造を有するデー
タを階層構造を有する箱の集合へ順次格納することによ
って、階層構造を有する複数のデータ構造体を生成する
が、この箱の集合についての詳細は後述する。
へ階層構造を有するデータの送信要求を出した場合に
は、システム外部202から平坦な構造を有するデータ
を受信してバッファに格納した後、この平坦な構造を有
するデータを順次取出してシステム内部206へ送出す
る。システム内部206では、平坦な構造を有するデー
タを階層構造を有する箱の集合へ順次格納することによ
って、階層構造を有する複数のデータ構造体を生成する
が、この箱の集合についての詳細は後述する。
【0020】図3は、本発明の実施の形態におけるメッ
セージ変換方法を適用した場合の複数のデータ構造体を
示す図である。システム外部202からシステム内部2
06に対して、階層構造を有する複数のデータ構造体の
転送要求があると、システム内部206からストリーム
オブジェクト201に対してデータ構造体のアクセス要
求を出す。たとえば、データ構造体301の変換メソッ
ド中に、“ストリームオブジェクト201からデータ構
造体x302にアクセス要求を出す”という手続を記述
するだけで、データ構造体x302内の変換メソッドが
起動され、データ構造体x302に接続される下位の階
層のすべてのデータ構造体を抽出してストリームオブジ
ェクト201内のバッファ305に転送することにな
る。データ構造体301は、最上位のデータ構造体であ
り、その下位にデータ構造体x302を含む同じ階層の
データ構造体群が存在する。データ構造体x302の下
位にデータ構造体303a〜303nのn個の同じ階層
のデータ構造体群が存在する。さらに、データ構造体3
03aの下位にデータ構造体y304aを含む同じ階層
のデータ構造体群が存在する。
セージ変換方法を適用した場合の複数のデータ構造体を
示す図である。システム外部202からシステム内部2
06に対して、階層構造を有する複数のデータ構造体の
転送要求があると、システム内部206からストリーム
オブジェクト201に対してデータ構造体のアクセス要
求を出す。たとえば、データ構造体301の変換メソッ
ド中に、“ストリームオブジェクト201からデータ構
造体x302にアクセス要求を出す”という手続を記述
するだけで、データ構造体x302内の変換メソッドが
起動され、データ構造体x302に接続される下位の階
層のすべてのデータ構造体を抽出してストリームオブジ
ェクト201内のバッファ305に転送することにな
る。データ構造体301は、最上位のデータ構造体であ
り、その下位にデータ構造体x302を含む同じ階層の
データ構造体群が存在する。データ構造体x302の下
位にデータ構造体303a〜303nのn個の同じ階層
のデータ構造体群が存在する。さらに、データ構造体3
03aの下位にデータ構造体y304aを含む同じ階層
のデータ構造体群が存在する。
【0021】データ構造体には、それぞれ変換メソッド
が定義されており、その変換メソッドには自身のデータ
構造体に直接接続された1つ下位の階層のデータ構造体
の変換メソッドを順次起動する手続が定義されている。
したがって、データ構造体x302の変換メソッドを起
動すると、データ構造体303aの変換メソッドが起動
され、さらにデータ構造体y304aの変換メソッドが
起動される。最下位の階層に位置するデータ構造体は、
整数型、文字列型等の平坦なデータ構造を有するデータ
と変換メソッドとで構成される。この変換メソッドは、
自身のデータ構造体に含まれる平坦なデータ構造を有す
るデータを放出する手続が定義されている。
が定義されており、その変換メソッドには自身のデータ
構造体に直接接続された1つ下位の階層のデータ構造体
の変換メソッドを順次起動する手続が定義されている。
したがって、データ構造体x302の変換メソッドを起
動すると、データ構造体303aの変換メソッドが起動
され、さらにデータ構造体y304aの変換メソッドが
起動される。最下位の階層に位置するデータ構造体は、
整数型、文字列型等の平坦なデータ構造を有するデータ
と変換メソッドとで構成される。この変換メソッドは、
自身のデータ構造体に含まれる平坦なデータ構造を有す
るデータを放出する手続が定義されている。
【0022】データ構造体y304aのデータ放出が終
了すると、データ構造体303aの変換メソッドに定義
されている手続に従い、次のデータ構造体304bの変
換メソッドの起動を行なう。同様の処理を繰返して、デ
ータ構造体304nの変換メソッドを起動した後、デー
タ構造体x302の変換メソッドに定義されている次の
手続を行なう。すなわち、データ構造体303aと同じ
階層にある次のデータ構造体の変換メソッドを起動す
る。
了すると、データ構造体303aの変換メソッドに定義
されている手続に従い、次のデータ構造体304bの変
換メソッドの起動を行なう。同様の処理を繰返して、デ
ータ構造体304nの変換メソッドを起動した後、デー
タ構造体x302の変換メソッドに定義されている次の
手続を行なう。すなわち、データ構造体303aと同じ
階層にある次のデータ構造体の変換メソッドを起動す
る。
【0023】以上のように再帰的にデータ構造体のデー
タを放出し、データ構造体303nの変換メソッドに定
義された手続をすべて終了すると処理は終了する。最下
位の階層のデータ構造体から放出されたデータは、順次
ストリームオブジェクト201内のバッファ305に格
納され、平坦なデータ構造を有するデータとして格納さ
れる。このバッファ305に格納されたデータをシステ
ム外部202へメッセージとして送信することにより、
メッセージの物理的な構造に要求される統一的な規約を
満たすことになる。
タを放出し、データ構造体303nの変換メソッドに定
義された手続をすべて終了すると処理は終了する。最下
位の階層のデータ構造体から放出されたデータは、順次
ストリームオブジェクト201内のバッファ305に格
納され、平坦なデータ構造を有するデータとして格納さ
れる。このバッファ305に格納されたデータをシステ
ム外部202へメッセージとして送信することにより、
メッセージの物理的な構造に要求される統一的な規約を
満たすことになる。
【0024】また、データ構造体y304aに含まれる
データの放出の直前の手続として、データ構造体y30
4aの変換メソッドに“ストリームオブジョクト201
からデータ構造体y304aに対するアクセスサイズを
設定する”という手続を明記することにより、そのサイ
ズ分の可変長データのバッファ305への蓄積が行なわ
れる。このとき、データ構造体y304aの変換メソッ
ドに“ストリームオブジェクト201からデータ構造体
304aへのアクセスによってバッファ305に蓄積さ
れるデータのサイズをチェックする”という手続を明記
すれば、ストリームオブジェクト201内のサイズチェ
ックプログラム204が起動され、データ構造体y30
4aのデータサイズをチェックする。その結果、例外が
発生した場合には、ストリームオブジェクト201内の
例外処理プログラム205が起動され、例外処理が行な
われる。
データの放出の直前の手続として、データ構造体y30
4aの変換メソッドに“ストリームオブジョクト201
からデータ構造体y304aに対するアクセスサイズを
設定する”という手続を明記することにより、そのサイ
ズ分の可変長データのバッファ305への蓄積が行なわ
れる。このとき、データ構造体y304aの変換メソッ
ドに“ストリームオブジェクト201からデータ構造体
304aへのアクセスによってバッファ305に蓄積さ
れるデータのサイズをチェックする”という手続を明記
すれば、ストリームオブジェクト201内のサイズチェ
ックプログラム204が起動され、データ構造体y30
4aのデータサイズをチェックする。その結果、例外が
発生した場合には、ストリームオブジェクト201内の
例外処理プログラム205が起動され、例外処理が行な
われる。
【0025】また、データ構造体y304aに含まれる
データの放出の直後の手続として、データ構造体y30
4aの変換メソッドに“ストリームオブジェクト201
からデータ構造体y304aへのアクセスによって、バ
ッファ305に蓄積されたデータをチェックする”とい
う手続を明記することによって、ストリームオブジェク
ト201内の型チェックプログラム203が起動され、
データ構造体y304aのデータの型をチェックする。
その結果、例外が発生した場合には、ストリームオブジ
ェクト201内の例外処理プログラム205が起動さ
れ、例外処理が行なわれる。
データの放出の直後の手続として、データ構造体y30
4aの変換メソッドに“ストリームオブジェクト201
からデータ構造体y304aへのアクセスによって、バ
ッファ305に蓄積されたデータをチェックする”とい
う手続を明記することによって、ストリームオブジェク
ト201内の型チェックプログラム203が起動され、
データ構造体y304aのデータの型をチェックする。
その結果、例外が発生した場合には、ストリームオブジ
ェクト201内の例外処理プログラム205が起動さ
れ、例外処理が行なわれる。
【0026】以上説明したように、プログラマーはシス
テム内部206で動作するプログラムに、ストリームオ
ブジェクト201に対する任意のデータ構造体へのアク
セス要求を出す手続をするだけで、階層構造を有するデ
ータを平坦なデータ構造を有するメッセージに変換する
ことができる。また例外処理も簡単な手続きで可能とな
るのでプログラマーへの負担が削減される。
テム内部206で動作するプログラムに、ストリームオ
ブジェクト201に対する任意のデータ構造体へのアク
セス要求を出す手続をするだけで、階層構造を有するデ
ータを平坦なデータ構造を有するメッセージに変換する
ことができる。また例外処理も簡単な手続きで可能とな
るのでプログラマーへの負担が削減される。
【0027】図4は、受信した平坦なデータ構造を有す
るデータを階層構造を有するデータに変換する処理手順
を示す図である。システム内部206からシステム外部
202へ階層構造を有するデータの送信要求を出した
後、その転送要求に対応した平坦な構造を有するデータ
の受信を行ない、受信したデータを一旦ストリームオブ
ジェクト201内のバッファ305へ格納する。図4
(a)は、その受信データを示している。システム内部
206には、受信データを格納するための階層構造を有
する箱を予めユーザが定義しておく。すなわち、図3に
示す各データ構造体の箱(各データ構造体のデータがま
だ格納されていない状態、したがってデータサイズ、型
だけを有する箱だけが定義されている)と変換メソッド
だけが定義されている。
るデータを階層構造を有するデータに変換する処理手順
を示す図である。システム内部206からシステム外部
202へ階層構造を有するデータの送信要求を出した
後、その転送要求に対応した平坦な構造を有するデータ
の受信を行ない、受信したデータを一旦ストリームオブ
ジェクト201内のバッファ305へ格納する。図4
(a)は、その受信データを示している。システム内部
206には、受信データを格納するための階層構造を有
する箱を予めユーザが定義しておく。すなわち、図3に
示す各データ構造体の箱(各データ構造体のデータがま
だ格納されていない状態、したがってデータサイズ、型
だけを有する箱だけが定義されている)と変換メソッド
だけが定義されている。
【0028】図4(b)は、各データ構造体の変換メソ
ッドを示している。変換メソッド401は、最初に起動
される変換メソッドであり、データ構造体の中で最上位
のデータ構造体を示す。変換メソッド401には、自身
のデータ構造体に接続する下位のデータ構造体へのアク
セスが定義されている。すなわち手続“Str>>s
1;”によって、下位のデータ構造体s1へのアクセス
を示している。
ッドを示している。変換メソッド401は、最初に起動
される変換メソッドであり、データ構造体の中で最上位
のデータ構造体を示す。変換メソッド401には、自身
のデータ構造体に接続する下位のデータ構造体へのアク
セスが定義されている。すなわち手続“Str>>s
1;”によって、下位のデータ構造体s1へのアクセス
を示している。
【0029】また下位のデータ構造体s1,s2,s3
にはそれぞれ変換メソッド402,403,404が定
義されており、たとえば、データ構造体s1の変換メソ
ッド402に定義されている手続“Str>>d;”
は、最下位のデータ構造体dにデータを蓄積するという
手続きを示している。したがって、変換メソッド401
を起動することによって、まずデータ構造体s1の変換
メソッド402が起動され、さらに最下位のデータ構造
体dの変換メソッドが起動されて、ストリームオブジェ
クト201内のバッファ305から“d”に相当するデ
ータが取出され、データ構造体dの箱に蓄積される。次
にデータ構造体hの変換メソッドが起動され、以後デー
タ構造体a,b,g,fの変換メソッドが順に起動さ
れ、それぞれのデータ構造体の箱にデータが蓄積され
る。
にはそれぞれ変換メソッド402,403,404が定
義されており、たとえば、データ構造体s1の変換メソ
ッド402に定義されている手続“Str>>d;”
は、最下位のデータ構造体dにデータを蓄積するという
手続きを示している。したがって、変換メソッド401
を起動することによって、まずデータ構造体s1の変換
メソッド402が起動され、さらに最下位のデータ構造
体dの変換メソッドが起動されて、ストリームオブジェ
クト201内のバッファ305から“d”に相当するデ
ータが取出され、データ構造体dの箱に蓄積される。次
にデータ構造体hの変換メソッドが起動され、以後デー
タ構造体a,b,g,fの変換メソッドが順に起動さ
れ、それぞれのデータ構造体の箱にデータが蓄積され
る。
【0030】以上の処理を再帰的に繰返すことによっ
て、図4(a)に示す受信データを階層構造を有するデ
ータ構造体の箱に蓄積して、階層構造を有するデータ構
造体を復元する。
て、図4(a)に示す受信データを階層構造を有するデ
ータ構造体の箱に蓄積して、階層構造を有するデータ構
造体を復元する。
【0031】図5は、ストリームオブジェクトの処理手
順を示すフローチャートである。まず、ストリームオブ
ジェクト201の初期化として、バッファサイズの確保
等を行なう。メッセージを受信する場合には、システム
外部202から受信したメッセージから通信のために付
加される管理情報を抽出して、データ構造体のデータの
みをバッファ305に格納する(S501)。
順を示すフローチャートである。まず、ストリームオブ
ジェクト201の初期化として、バッファサイズの確保
等を行なう。メッセージを受信する場合には、システム
外部202から受信したメッセージから通信のために付
加される管理情報を抽出して、データ構造体のデータの
みをバッファ305に格納する(S501)。
【0032】バッファ305に格納したデータを取出
し、型のチェックを行なう(S502)。取出したデー
タがユーザが定義したデータ構造体の型と同じであるか
を判定し、型が同じであれば(S503,YES)該当
するデータ構造体の変換メソッドを起動して(S50
4)、データ構造体の箱へデータを格納してステップS
506へ進む。型が異なれば(S503,NO)取出し
たデータを基本型のデータとして処理する(S50
5)。
し、型のチェックを行なう(S502)。取出したデー
タがユーザが定義したデータ構造体の型と同じであるか
を判定し、型が同じであれば(S503,YES)該当
するデータ構造体の変換メソッドを起動して(S50
4)、データ構造体の箱へデータを格納してステップS
506へ進む。型が異なれば(S503,NO)取出し
たデータを基本型のデータとして処理する(S50
5)。
【0033】ストリームオブジェクト201のバッファ
305内のデータをすべて変換したか否かを判定し、デ
ータをすべて変換した場合(S506,YES)には処
理を終了し、データが残っている場合(S506,N
O)には、S502へ戻って処理を繰返す。
305内のデータをすべて変換したか否かを判定し、デ
ータをすべて変換した場合(S506,YES)には処
理を終了し、データが残っている場合(S506,N
O)には、S502へ戻って処理を繰返す。
【0034】以上説明したように、プログラマーはシス
テム内部206で動作するプログラムに、ストリームオ
ブジェクト201に対する任意のデータ構造体へのデー
タ書込要求を出す手続をするだけで、受信したメッセー
ジに含まれる平坦なデータ構造を有するデータを階層構
造を有するデータに変換することができる。
テム内部206で動作するプログラムに、ストリームオ
ブジェクト201に対する任意のデータ構造体へのデー
タ書込要求を出す手続をするだけで、受信したメッセー
ジに含まれる平坦なデータ構造を有するデータを階層構
造を有するデータに変換することができる。
【図1】本発明の実施の形態におけるメッセージ変換方
法が適用される分散処理システムを示す図である。
法が適用される分散処理システムを示す図である。
【図2】本発明の実施の形態におけるメッセージ変換を
行なうストリームオブジェクトを模式的に示す図であ
る。
行なうストリームオブジェクトを模式的に示す図であ
る。
【図3】本発明の実施の形態におけるメッセージ変換方
法を適用した場合の複数のデータ構造体を示す図であ
る。
法を適用した場合の複数のデータ構造体を示す図であ
る。
【図4】平坦なデータ構造を有するデータを階層構造を
有するデータに変換する処理手順を示す図である。
有するデータに変換する処理手順を示す図である。
【図5】ストリームオブジェクトの処理手順を示すフロ
ーチャートである。
ーチャートである。
【図6】(a)は平坦な構造を有する受信データ、
(b)は受信データから各データ構造体を抽出するため
の変換プログラム、(c)は元の階層構造を有する複数
のデータ構造体を示す図である。
(b)は受信データから各データ構造体を抽出するため
の変換プログラム、(c)は元の階層構造を有する複数
のデータ構造体を示す図である。
201 ストリームオブジェクト 202 システム外部 203 型チェックプログラム 204 サイズチェックプログラム 205 例外処理プログラム 206 システム内部
Claims (6)
- 【請求項1】 自身のデータ構造体に接続される下位の
階層のデータ構造体にアクセス要求を出す変換手段を含
むデータ構造体群と、 階層構造の最下位に位置し、データと該データを放出す
る放出手段を含むデータ構造体群とを含む階層的データ
構造体。 - 【請求項2】 自身のデータ構造体に接続される下位の
階層のデータ構造体にアクセス要求を出す変換手段を含
むデータ構造体群と、 階層構造の最下位に位置し、データを自身のデータ構造
体に蓄積する蓄積手段を含むデータ構造体群とを含む階
層的データ構造体。 - 【請求項3】 第1のデータ構造体へアクセス要求を出
すステップと、 前記第1のデータ構造体の下位の第2のデータ構造体へ
アクセス要求を出すステップと、 前記第2のデータ構造体が最下位のデータ構造体であれ
ば前記第2のデータ構造体が有するデータを放出し、最
下位のデータ構造体でなければ下位の第3のデータ構造
体へアクセス要求を出すステップとを含むメッセージ変
換方法。 - 【請求項4】 第1のデータ構造体へアクセス要求を出
すステップと、 前記第1のデータ構造体の下位の第2のデータ構造体へ
アクセス要求を出すステップと、 前記第2のデータ構造体が最下位のデータ構造体であれ
ば、前記第2のデータ構造体へデータを蓄積し、最下位
のデータ構造体でなければ下位の第3のデータ構造体へ
アクセス要求を出すステップとを含むメッセージ変換方
法。 - 【請求項5】 メッセージ変換要求を受けるステップ
と、 受けたメッセージのデータ型に応じて特定のデータ構造
体にアクセス要求を出すステップと、 前記特定のデータ構造体の下位の階層に含まれるすべて
の最下位のデータ構造体からデータを放出するステップ
とを含み、 前記放出するステップは、 あるデータ構造体において、上位階層のデータ構造体か
らのアクセス要求を受ける第1のステップと、 前記あるデータ構造体が最下位のデータ構造体であるか
否かに従って、 前記あるデータ構造体が有するデータを放出して上位階
層に制御を戻すステップと、 前記あるデータ構造体の直下の階層のデータ構造体の1
つにアクセス要求を出し、制御が戻るまで待つ処理をす
べての直下の階層のデータ構造体に対して繰返し行なっ
た後に上位階層に制御を戻すステップと、のいずれかを
選択的に行なう第2のステップと、 前記第1のステップおよび第2のステップを、前記特定
のデータ構造体を先頭として、その下位階層に含まれる
すべてのデータ構造体に対して再帰的に繰返すステップ
とを含むメッセージ変換方法。 - 【請求項6】 メッセージ変換要求を受けるステップ
と、 受けたメッセージのデータ型に応じて特定のデータ構造
体にアクセス要求を出すステップと、 前記特定のデータ構造体の下位の階層に含まれるすべて
の最下位のデータ構造体にデータを蓄積するステップと
を含み、 前記蓄積するステップは、 あるデータ構造体において、上位階層のデータ構造体か
らのアクセス要求を受ける第1のステップと、 前記あるデータ構造体が最下位のデータ構造体であるか
否かに従って、 前記あるデータ構造体にデータを蓄積して上位階層に制
御を戻すステップと、 前記あるデータ構造体の直下の階層のデータ構造体の1
つにアクセス要求を出し、制御が戻るまで待つ処理を、
すべての直下の階層のデータ構造体に対して繰返し行な
った後に上位階層に制御を戻すステップと、のいずれか
を選択的に行なう第2のステップと、 前記第1のステップおよび第2のステップを、前記特定
のデータ構造体を先頭として、その下位階層に含まれる
すべてのデータ構造体に対して再帰的に繰返すステップ
とを含むメッセージ変換方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8189495A JPH1040179A (ja) | 1996-07-18 | 1996-07-18 | メッセージ変換方法およびその変換方法に使用する階層的データ構造体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8189495A JPH1040179A (ja) | 1996-07-18 | 1996-07-18 | メッセージ変換方法およびその変換方法に使用する階層的データ構造体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1040179A true JPH1040179A (ja) | 1998-02-13 |
Family
ID=16242233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8189495A Pending JPH1040179A (ja) | 1996-07-18 | 1996-07-18 | メッセージ変換方法およびその変換方法に使用する階層的データ構造体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1040179A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277742A (ja) * | 2005-03-28 | 2006-10-12 | Microsoft Corp | Udtに対するデータフォーマットについてストリーミングチェックを行うシステムおよび方法 |
-
1996
- 1996-07-18 JP JP8189495A patent/JPH1040179A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277742A (ja) * | 2005-03-28 | 2006-10-12 | Microsoft Corp | Udtに対するデータフォーマットについてストリーミングチェックを行うシステムおよび方法 |
KR101169099B1 (ko) | 2005-03-28 | 2012-07-26 | 마이크로소프트 코포레이션 | 사용자 정의 타입(udt)의 데이터 포맷에 대한 스트리밍 검사를 수행하기 위한 시스템 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100350141B1 (ko) | 매체관리자,애플리케이션프로그램인터페이스와이를구현하는방법 | |
JP3120963B2 (ja) | メッセージを転送する方法およびメッセージを転送するシステム | |
CN107943950B (zh) | 一种区块链中数据智能合约生成的方法及系统 | |
TW544589B (en) | Loosely coupled-multi processor server | |
US20080177883A1 (en) | Web server for managing session and method thereof | |
JPH0776939B2 (ja) | 通信ネットワークシステム | |
JPS63201860A (ja) | ネツトワーク管理システム | |
CN104820701A (zh) | 数据记录和同步方法及系统 | |
CN103312624A (zh) | 一种消息队列服务系统和方法 | |
JP3870701B2 (ja) | コンピュータの階層情報管理方法および装置ならびにその処理プログラムを記録した記録媒体 | |
JP2004094935A (ja) | オブジェクト状態転送方法,オブジェクト状態転送装置およびオブジェクト状態転送プログラム並びにそのプログラムの記録媒体 | |
JPH08241186A (ja) | バッファメモリ管理ユニット及びバッファメモリ管理方法 | |
CN104050111A (zh) | 通过具有不同时序要求的相应命令访问不同类型的存储器 | |
JPH1040179A (ja) | メッセージ変換方法およびその変換方法に使用する階層的データ構造体 | |
US6347348B1 (en) | Buffer management system having an output control configured to retrieve data in response to a retrieval request from a requesting one of a plurality of destinations | |
JPH0217821B2 (ja) | ||
US7251248B2 (en) | Connection device | |
JP3255113B2 (ja) | パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体 | |
US6981046B2 (en) | System for the efficient transmission of partial objects in distributed data bases | |
JP4365028B2 (ja) | コンピュータネットワークにおける仮想回路の受信装置の状態を表す情報を転送するシステム | |
US6032176A (en) | Data-independent type computer system: processing machine, data machine and man-machine interface therein | |
JP2002149619A (ja) | メッセージ・キュー管理方法 | |
JP6821313B2 (ja) | データ処理システム及びデータ処理方法 | |
JP3252585B2 (ja) | コンピュータ装置 | |
JP2586673B2 (ja) | 通信ネットワーク記憶方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030506 |