JPH07111699B2 - データ転送符号化方法およびその装置 - Google Patents
データ転送符号化方法およびその装置Info
- Publication number
- JPH07111699B2 JPH07111699B2 JP3192891A JP19289191A JPH07111699B2 JP H07111699 B2 JPH07111699 B2 JP H07111699B2 JP 3192891 A JP3192891 A JP 3192891A JP 19289191 A JP19289191 A JP 19289191A JP H07111699 B2 JPH07111699 B2 JP H07111699B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- encoded
- encoding
- data structure
- area
- 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.)
- Expired - Lifetime
Links
Landscapes
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
る符号化方法およびその装置に関するものである。
て、計算機のメモリ上のデータをポインタによる参照関
係を保ちながら転送することが行なわれるようになって
きた。このとき、転送されるデータ列の生成方法は、例
えば文献1「抽象データ型のための値転送方式」、ハー
リィ,リスコフ著、エーシーエム・トランザクションズ
・オン・プログラミング・ランゲージズ・アンド・シス
テム、第4巻、第4冊、1982年、pp527−55
1(M.Herlihy,B.Liskov, “A Value Transmission Met
hod for Abstract Data Types ”,ACM Transactions on
Programming Languages and Systems,Vol.4,No.4,Octo
ber 1982,pp527-551) に記載された例が知られている。
データを符号化する部分の構成を示すものである。図4
において、401は転送するデータを記憶する記憶部、
402は転送されるデータ、403はデータ402の中
にあるポインタによって指されているデータ、404は
データ402およびデータ403の中にあるポインタに
よって指されているデータ、405はデータを符号化す
る符号化部、406は符号化部405がデータを符号化
する際に必要な情報を記憶しておくための符号化情報
表、407は符号化済みのデータを記憶しておくための
記憶部である。
常の計算機における主記憶装置に相当する。主記憶装置
上でのデータの位置は、通常、アドレスとして示され
る。符号化済みデータを記憶する記憶部407の中に記
憶されたデータはデータ通信部によって他の計算機に転
送され、転送されたデータは、復号化部によって復号化
され、主記憶装置上のデータとなる。
ータ通信部によって他の計算機に転送されるので、記憶
部407上での絶対位置によってデータ間の参照関係を
表現しても、その参照関係は、データを受け取った計算
機では、解釈することが不可能になる。したがって、記
憶部407上では、データの参照を示すためには、絶対
位置を表わすアドレスではなく、記憶部407の記憶空
間の先頭からの相対位置を示す値を使用する。この相対
位置を示す値をオフセットと呼ぶ。
ついて、以下その動作について説明する。なお、図4の
データ402、データ403、データ404において、
矢印が出ている領域は、ポインタが入っていることを表
わす。また斜めの線が書いてある領域は、ポインタを入
れることのできる領域であるが、そこにはなにもデータ
が入っていないことを示す。
符号化の要求があったとする。このとき、最初に符号化
部405は、符号化情報表406を検索し、それ以前に
データ402が符号化されていないことを確認する。次
に、符号化部405は、データ402の記憶部401の
中での位置を示すアドレスと、記憶部407上での相対
位置を示す値すなわちオフセットを符号化情報表406
に格納する。
にポインタが含まれているので、そのポインタを符号化
する。この場合、ポインタはデータ404を指している
ので、このポインタの符号化の際にも、符号化部405
は符号化情報表406を検索し、データ404がすでに
符号化されていないことを確認する。
を符号化し、符号化されたデータ404を記憶部407
に記憶する。
に、もう一つのポインタが含まれていることを確認し、
そのポインタを符号化しようとする。この例では、その
ポインタはデータ403を指している。このポインタを
符号化する際にも、符号化部405は符号化情報表40
6を検索し、データ403がすでに符号化されていない
ことを確認する。次に、符号化部405は、符号化情報
表406にデータ403のアドレスと、記憶部407上
での位置を格納する。さらに、符号化部405は、デー
タ403の中にポインタが含まれていることを確認し、
そのポインタの符号化を開始する。この例では、そのポ
インタはデータ404を指している。
ータ404がすでに符号化されているかどうかを符号化
情報表406を検索して調べる。この例では、すでにデ
ータ404は符号化情報表406に格納されているの
で、データ404はすでに符号化済みであることがわか
る。そこで、符号化部405は、データ404を符号化
し、記憶部407に格納する。
の残りの部分を符号化し、記憶部407に格納する。次
に、符号化部405は、データ402の残りの部分を符
号化し、記憶部407に格納し、全データの符号化を終
了する。
ータは、データ通信部によって他の計算機に転送され
て、その計算機上で復号化される。
ても、1つのデータを参照するポインタが複数個あった
場合でも、その参照関係を保持したままデータ群を符号
化し、転送し、復号化することができる。
従来の装置では、1つのデータを符号化するたびに符号
化情報表を検索しなければならず、また、検索の結果、
まだ符号化されていないデータであった場合には、符号
化情報表にその位置情報を格納する必要があり、符号化
するデータの数が大きくなったとき、符号化情報表の検
索、符号化情報表への情報の格納に時間がかかり、符号
化のオーバーヘッドが大きいという問題を有していた。
るものであり、符号化情報表の検索および符号化情報表
への情報の格納の動作を省き、ポインタでつながれたデ
ータ構造を高速に符号化することのできるデータ転送符
号化方法およびその装置を提供することを目的とする。
に、本発明によるデータ転送符号化方法は、ユーザから
与えられたデータ構造に、データの符号化の際に使用す
る符号化済み情報と、符号化されたときの記憶部の未使
用空間の先頭のからの相対位置情報とを格納する領域を
設け、これらの情報を利用して符号化するようにしたも
のである。
は、符号化データされたデータを記憶空間の先頭から格
納し、未使用空間の先頭の位置を問い合わせられたとき
にはその位置を答えとして返す記憶部と、ユーザから与
えられたデータ構造に対して符号化の際に使用する符号
化情報記憶領域を付加したデータ構造を生成するデータ
構造生成部と、その付加した領域の情報を利用してデー
タ符号化する符号化部とを備えたものである。
て参照関係が表わされている複数のデータを、その参照
関係を保ったまま符号化し転送する場合、符号化するデ
ータごとに符号化情報表の検索や符号化情報表への格納
をすることなく、高速に符号化を行なうことができると
いう効果を有する。
しながら説明する。図1は本発明の一実施例におけるデ
ータ転送符号化装置の構成を示すブロック図である。図
1において、101はユーザが設定したデータ構造表
現、102はデータ構造生成部、103はデータ構造生
成部102によって生成されたデータ構造表現、104
は転送するデータを記憶する記憶部、105は転送され
るデータ、106はデータ105の中にあるポインタに
よって指されているデータ、107はデータ105およ
びデータ106の中にあるポインタによって指されてい
るデータ、108はデータを符号化する符号化部、10
9は符号化されたデータを記憶しておくための記憶部で
ある。データ構造生成部102によって生成されたデー
タ構造表現103の中のAは、そのデータがすでに符号
化済みか否かを示す値を格納するための記憶領域、Bは
そのデータが記憶部109に格納されているときの記憶
部109上での先頭からの相対位置すなわちオフセット
を格納する記憶領域である。
タ構造生成部102と、符号化部108に分けられる。
まず最初に、図2に示すブロック図を用いて、データ構
造生成部102の内部構成と、データ構造表現101と
データ構造表現103の内容例について説明する。
01を読み込み、表現されているデータ構造を解析する
データ構造表現解析手段、202はデータ構造表現解析
手段201が解析した結果を記憶しておくためのデータ
構造記憶手段、203はデータ構造記憶手段202に記
憶されているデータ構造に対して、符号化のときに用い
る符号化情報記憶領域A,Bを付け加えるための符号化
用記憶領域追加手段、204は符号化用記憶領域追加手
段203によって符号化情報記憶領域を追加されたデー
タ構造を記憶しておくためのデータ構造記憶手段、20
5はデータ構造記憶手段204に記憶されているデータ
構造を読み取り、プログラミング言語によるデータ構造
の表現を生成するデータ構造表現生成手段である。20
6はデータ構造表現101を読み込んだときに、データ
構造記憶手段202上に記憶されるデータ構造、207
はデータ構造表現101に符号化情報記憶領域を追加し
たときに、データ構造記憶手段204上に記憶されるデ
ータ構造である。
いて説明する。まず、データ構造表現解析手段201
は、ユーザによって作成されたデータ構造表現101を
読み込み解析する。図2に示した例では、データ構造表
現101はC言語を用いて表現されている。これは、他
のプログラミング言語、例えばパスカル言語などを用い
てもよい。データ構造表現101を読み込んだデータ構
造表現解析手段201は、表現されているデータ構造を
解析して、計算機の主記憶上で使用しやすいデータ構造
206にして、データ構造記憶手段202に格納する。
なお、プログラミング言語で記述されたプログラムを読
み込み、それを主記憶上のデータ構造、たとえばツリー
構造などに変換する方法は、一般的なコンパイラの技術
と同様である。また、プログラミング言語で記述された
プログラムの解析方法および解析した結果の主記憶上で
の表現方法については、たとえば文献2「プログラミン
グ言語処理系」、佐々政孝著、岩波書店、1989年、
に詳しく説明されている。
データ構造206は、ここでは説明を簡単にするため
に、データ構造表現101によって示されたデータ構造
の名前と、そのデータ構造の各要素を表わすリストを用
いて表わすこととする。この場合、データ構造表現10
1に示したデータ構造は、2つのポインタと1つの整数
から成るので、データ構造を示すリストも3つの要素を
持つ。
は、データ構造記憶手段202上にあるデータ構造20
6に対して、データの符号化の際に、そのデータがすで
に符号化されているか否かを示すフラグを格納する領域
Aと、すでに格納されている場合には、記憶部109上
で符号化されたデータがどの位置に置かれるかを示す値
であるオフセットを格納する領域Bの2つの領域をつけ
加えたデータ構造207を作り、データ構造記憶手段2
04に格納する。
これらの2つの記憶領域A,Bを付加したデータ構造で
あるので、データ構造206では、データ構造を示すた
めのリストは3つの要素を持っているのに対し、データ
構造207では、記憶領域A,Bが符号化用記憶領域追
加手段203によって加えられて、リストの要素が5つ
になっている。
は、データ構造207を読み込み、データ構造表現10
3を生成する。この場合は、最初にC言語の構造体を示
す予約後「struct」を出力し、その次にデータ構
造名「node」を出力し、その次にデータ構造を示す
部分の始まりを示す「{」を出力し、さらにデータ構造
207の中のデータ構造を示すリストに格納されている
文字列を先頭から順に出力する。次いでデータ構造を示
す部分の終わりを示す「};」を出力する。
からデータ構造表現103を生成することができる。
タ構造表現103を含んだプログラムを作成する。ユー
ザが必要とする領域は、記憶領域AおよびBを除く3つ
の領域であり、記憶領域AおよびBはユーザは使用しな
い。ユーザが作成したプログラムが生成したデータは、
記憶部104に格納される。
転送するために、符号化部108におけるデータの符号
化について説明する。ここでは、転送するデータは、す
べてデータ構造表現103によって表現されたデータ構
造を持つものとし、図1の例ではデータ105を転送す
る場合について説明する。データ105の中には、デー
タ106とデータ107を指すポインタが含まれてお
り、データ106の中にもデータ107を指すポインタ
が含まれている。このデータ転送装置では、これらの、
ポインタによって参照されているデータを、参照関係を
保ったまま転送する。また、符号化を開始する前に、転
送されるデータの中の記憶領域Aには、すべて0を入れ
て初期化しておき、そのデータが、まだ符号化されてい
ないことを示しておく。
て、符号化部108が、符号化の要求を受けて符号化を
開始する動作について説明する。符号化の要求を受ける
ときには、同時に符号化を行なうデータを指すポインタ
も受け取る。まず、符号化部108は、符号化の要求を
受けたときに与えられたポインタの指すデータの中の符
号化済みか否かを示す領域である記憶領域Aを調べる
(ステップ301)。ここでは、すでに符号化されてい
るデータの場合は記憶領域Aに1が、まだ符号化されて
いない場合には0が入れられているものとする。もし、
すでに符号化が行なわれていれば、ポインタの指すデー
タのオフセットを格納する領域である記憶領域Bからオ
フセットを取り出し、その値を符号化して記憶部109
に書き込み、実行を終了する(ステップ302)。
間を持っており、データ転送装置が転送するデータの符
号化を開始する前に初期化され、記憶空間全体が使用さ
れていない状態になる。この記憶部109は、データの
格納を要求されたときには、そのデータを使用されてい
ない記憶空間の中の先頭に入れ、データを格納した時に
は、格納したデータの大きさ分だけ使用されていない空
間が小さくなる。したがって、記憶部109の使用され
ていない空間の先頭の位置は、そのデータの大きさ分だ
け記憶空間の先頭から最後の方向へ移動する。また、記
憶部109は、通常の単純な記憶部と違って、使用され
ていない記憶空間の先頭の位置への問い合わせを受けた
ときには、使用されていない空間の先頭の位置を、記憶
空間の先頭からのオフセットとして表わす値を返す機能
を持つ。
タが指すデータが、まだ符号化されていない0の場合
は、記憶領域Aに1を入れ、その時点で記憶部109に
データを格納した場合に、そのデータ格納される場所の
オフセットを記憶部109に尋ね、その答えを記憶領域
Bに格納する(ステップ303)。
べての要素を符号化したか否かを調べる(ステップ30
4)。否の場合は、ポインタが指すデータの要素すべて
を1つずつ取り出して(ステップ305)、それぞれの
要素に対しての処理を行なう。すべての要素についての
処理が終わっている場合は、符号化部108全体の処理
を終了する。
なことを行なう。まず、その要素はポインタか否かを調
べる(ステップ306)。ポインタでなければ、その要
素を符号化して記憶部109に格納する(ステップ30
7)。ポインタであれば、符号化部108を再帰的に呼
び出して、そのポインタの指すデータを符号化し、記憶
部109に格納する(ステップ308)。
ータは、他の計算機に転送され、復号化されて、記憶部
104上での参照関係と同じ参照関係を保ったまま使用
することができる。このときの復号化方式は、前記した
文献1に記載された方法と同じでよい。
されたデータを記憶空間の先頭から格納し、未使用空間
の先頭の位置を問い合わせられたときには、その位置を
答えとして返す記憶部109と、ユーザからの与えられ
たデータ構造101に対して、符号化の際に使用する符
号化情報記憶領域AおよびBを付加したデータ構造を生
成するデータ構造生成部102と、その付加した領域の
符号化済み情報およびオフセット情報を利用してデータ
を符号化する符号化部108を設けることにより、符号
化を行なう際に、符号化に必要なこれらの情報を、表な
どの符号化されるデータ以外のデータ構造を用いて管理
したり、符号化に必要な情報を表に格納したり、その表
から検索して取り出すような操作をすることなく、必要
な情報をすべて符号化するデータ自体に持たせることが
でき、符号化するデータの中への書き込みおよび符号化
するデータからの情報の読み出しだけで、すべてのデー
タ要素の符号化を行なうことができるので、符号化を高
速化することができる。
じ方法を用いたが、復号化に際しても、受信したデータ
を格納する記憶部の中のデータ構造に対して、復号化に
必要な情報を格納する領域を追加し、復号化に際して
は、復号に必要な情報をその領域に記憶させることによ
って、復号化を高速化することも可能である。
て、そのデータが符号化済みか否かを表現しているが、
符号化済みでない場合には記憶領域Bは使われていない
ので、符号化済みでない場合には記憶領域Bにオフセッ
トとしては絶対使われない値、たとえば負の値などを入
れて符号化済みでないことを示すこととし、記憶領域B
のみで符号化済みか否かの判断ができるようにして、記
憶領域Aを不必要とすることも可能である。
データを記憶空間の先頭から格納し、未使用空間の先頭
の位置を問い合わせられたときは、その位置を答えとし
て返す記憶部を備え、ユーザから与えられたデータ構造
に対して、符号化の際に使用する符号化情報記憶領域を
付加したデータ構造を生成するとともに、その付加した
領域の情報を利用してデータを符号化するようにしたの
で、ポインタによって結ばれたデータ構造を、その参照
関係を保ったままより高速に符号化することができると
いう効果を有する。
置の構成を示すブロック図
構成と、データ構造表現101と103の内容の例を示
したブロック図
ローチャート
分の構成を示すブロック図
造表現 104 転送するデータを記憶する記憶部 105 転送されるデータ 106 データ105の中のポインタによって指されて
いるデータ 107 データ105と106の中にポインタによって
指されているデータ 108 符号化部 109 符号化されたデータを記憶する記憶部 A 符号化済み情報を格納する記憶領域 B 記憶部109上でのオフセット情報を格納する記憶
領域 201 データ構造表現解析手段 202 データ構造記憶手段 203 符号化用記憶領域追加手段 204 データ構造記憶手段 205 データ構造表現生成手段 206 データ構造記憶手段202に記憶されるデータ
構造 207 データ構造記憶手段204に記憶されるデータ
構造
Claims (4)
- 【請求項1】 ユーザから与えられたデータ構造に対し
て、符号化要求のあったデータがすでに符号化済みであ
るか否を示す情報を格納する符号化情報記憶領域を付加
したデータ構造を生成し、この生成されたデータ構造を
持つデータの符号化を行なう際に、前記符号化情報記憶
領域中に符号化済であることを示す情報が含まれていな
い場合には、その領域に符号化済みであることを示す情
報を入れるとともに、符号化されたデータを格納する記
憶部に対して未使用空間の先頭の位置を問い合わせ、そ
の答えとして得られた値を符号化情報記憶領域中に入
れ、符号化要求のあったデータのすべての要素を符号化
して前記記憶部に格納する一方、符号化情報記憶領域中
に符号化済みであることを示す情報が含まれている場合
には、符号化情報記憶領域からそのデータが符号化され
た時の前記記憶部の未使用空間の先頭の位置を示す値を
取り出し、その値を符号化して前記記憶部に格納するデ
ータ転送符号化方法。 - 【請求項2】 有限かつ1次元の記憶空間を有し、符号
化データの格納を要求されたときには未使用空間の先頭
に格納し、未使用空間の先頭の位置を問い合わせられた
ときにはその位置を示す値を答えとして返す記憶部と、
ユーザから与えられたデータ構造に対して、符号化の際
に使用する符号化情報記憶領域を付加したデータ構造を
生成するデータ構造生成部と、前記データ構造生成部に
よって生成されたデータ構造を持つデータを、前記符号
化情報記録領域に格納された情報を利用して符号化する
符号化部とを備えたデータ転送符号化装置。 - 【請求項3】 符号化情報記憶領域は、符号化要求のあ
ったデータがすでに符号化済みであるか否かを示す値を
格納する領域と、そのデータが符号化されて記憶部に格
納されている場合に、その先頭からの相対位置を示すオ
フセットを格納する領域の二つの領域である請求項2記
載のデータ転送符号化装置。 - 【請求項4】 符号化情報記憶領域は、符号化要求のあ
ったデータが符号化されて記憶部に格納されたときに、
その先頭からの相対位置を示すオフセットを格納すると
ともに、そのデータがまだ符号化されていない場合に
は、オフセットとしては絶対に使用されない値を格納す
ることにより符号化済みでないことを示す一つの領域で
ある請求項2記載のデータ転送符号化装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3192891A JPH07111699B2 (ja) | 1991-08-01 | 1991-08-01 | データ転送符号化方法およびその装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3192891A JPH07111699B2 (ja) | 1991-08-01 | 1991-08-01 | データ転送符号化方法およびその装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0535628A JPH0535628A (ja) | 1993-02-12 |
| JPH07111699B2 true JPH07111699B2 (ja) | 1995-11-29 |
Family
ID=16298699
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3192891A Expired - Lifetime JPH07111699B2 (ja) | 1991-08-01 | 1991-08-01 | データ転送符号化方法およびその装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07111699B2 (ja) |
-
1991
- 1991-08-01 JP JP3192891A patent/JPH07111699B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0535628A (ja) | 1993-02-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3152868B2 (ja) | 検索装置および辞書/テキスト検索方法 | |
| US5640559A (en) | System and method of encoding units of data including entity/relationship data, function calls and file data using a common format (CDF) according to formal CDF grammar rules | |
| US7571096B2 (en) | Speech recognition using a state-and-transition based binary speech grammar with a last transition value | |
| JP3554459B2 (ja) | テキストデータ登録検索方法 | |
| US7627589B2 (en) | High performance XML storage retrieval system and method | |
| CA2500422A1 (en) | Annotated automaton encoding of xml schema for high performance schema validation | |
| KR970705795A (ko) | 데이타베이스 검색을 위한 병렬 처리 시스템(parallel processing system for traversing a data base) | |
| CN113971044A (zh) | 组件文档生成方法、装置、设备及可读存储介质 | |
| CN102567455A (zh) | 利用语句的加权流行数据来管理文档的方法与系统 | |
| CN112363706A (zh) | 一种嵌套组合的预处理方法及设备 | |
| US20050027510A1 (en) | Left-corner chart parsing | |
| US20090089268A1 (en) | XML Update Facility for an XQuery Processor | |
| JPH07111699B2 (ja) | データ転送符号化方法およびその装置 | |
| CN100527131C (zh) | 一种ims数据库互动式访问方法和工具 | |
| JPH07182333A (ja) | 日本語処理装置 | |
| JPS6349856A (ja) | 隣接構成デ−タベ−スを生成する方法 | |
| JPH0962700A (ja) | 辞書構築方法及び装置 | |
| US6356895B1 (en) | Method and computer program product for processing system files using a trigger program | |
| JP4014417B2 (ja) | 全文検索装置 | |
| CN118963830A (zh) | 一种api的数据转换方法、转换系统及代理接口的配置方法 | |
| CN121881998A (zh) | 文档批注方法、装置、计算机设备和存储介质 | |
| CN121388082A (zh) | 基于页式存储架构的知识库检索方法及装置 | |
| JP2005173669A (ja) | 文字列表記解析手法及び装置 | |
| JPH10301940A (ja) | 情報処理装置及びその方法 | |
| CN120407634A (zh) | Redis数据动态映射方法、装置、终端及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 8 Free format text: PAYMENT UNTIL: 20080714 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 9 Free format text: PAYMENT UNTIL: 20090714 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 11 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 11 |