JP2002215451A - データ構造の動的管理方法およびクラスオブジェクト - Google Patents

データ構造の動的管理方法およびクラスオブジェクト

Info

Publication number
JP2002215451A
JP2002215451A JP2001009083A JP2001009083A JP2002215451A JP 2002215451 A JP2002215451 A JP 2002215451A JP 2001009083 A JP2001009083 A JP 2001009083A JP 2001009083 A JP2001009083 A JP 2001009083A JP 2002215451 A JP2002215451 A JP 2002215451A
Authority
JP
Japan
Prior art keywords
data
class object
function
information
modules
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
Application number
JP2001009083A
Other languages
English (en)
Inventor
Yoshihiko Tsuchiya
佳彦 土屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2001009083A priority Critical patent/JP2002215451A/ja
Publication of JP2002215451A publication Critical patent/JP2002215451A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 データの構造変化によるアプリケーションや
モジュールへの影響を最小限にとどめること。 【解決手段】 少なくともデータ項目名、データサイ
ズ、データタイプを含み、コンピュータ上で稼動する複
数のアプリケーションまたはモジュールが使用するデー
タの構造を動的に管理するデータ構造の動的管理方法で
あって、前記データへのアクセスインタフェース部分
に、データ項目名をキーとしてデータ登録、削除、変
更、参照の各処理を行うクラスオブジェクトを設け、該
クラスオブジェクトによって前記複数のアプリケーショ
ンまたはモジュールが使用するデータの構造を動的に管
理する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、C++言語を使用
したデータ構造の動的管理方法および該方法に使用する
クラスオブジェクトに関する。
【0002】
【従来の技術】C/C++言語を使用したアプリケーシ
ョン開発におけるプログラミングにおいては、複数のア
プリケーションまたはモジュールで構成される業務シス
テムの基本情報や特定機能における基本情報を、構造体
やクラスを用いることで、予め必要となるデータ項目を
持ったデータ構造を静的に表現することが殆どである。
ここで、業務システムの基本情報とは、業務システムの
インフラとなる統括的な情報のことであり、例えばメモ
リ状況、個人情報、アプリケーションから呼び出される
情報などを含むものである。また、データベースを用い
る場合も、大抵が、テーブル内の項目(フィールド)を
予め静的に定めて利用する。
【0003】
【発明が解決しようとする課題】しかしながら、C/C
++言語における構造体やクラスを利用し、静的に定め
たデータ構造を構築して、アプリケーションのプログラ
ミングを行っていくと、データを設定する側とデータを
参照する側において、常にそのデータ構造の整合性を保
っていないと、コンパイルエラーやアプリケーションエ
ラーといった形での問題が発生してしまう。これは、機
能の閉じられた部分内であるならば、さほど大きな問題
とはならないが、業務システムの基本情報(各アプリケ
ーションまたはモジュールから参照が必要となる情報)
や、各機能間のインタフェースにおける受け渡しのデー
タ型として使用されている場合は、重大な問題となりう
る可能性がある。何故なら、こういった情報は、データ
構造が大きくかわることはないが、アプリケーションの
バージョンアップ等における機能追加や仕様変更等によ
って影響を受けることがあり、その変更に対する影響範
囲が広いためである。
【0004】このような基本情報等のデータ構造の変化
は、最悪の場合、モジュール間の整合性を保つためだけ
に、システム全体の再構築を余儀なくされることがあ
り、再構築作業に多大な時間とコストが必要となるとい
った問題があった。
【0005】本発明の目的は、データ構造の変化に起因
するアプリケーションへの影響範囲を可能な限り少なく
することができるデータ構造の動的管理方法および該方
法を実施するために使用するクラスオブジェクトを提供
することにある。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明のデータ構造の動的管理方法は、少なくとも
データ項目名、データサイズ、データタイプを含み、コ
ンピュータ上で稼動する複数のアプリケーションまたは
モジュールが使用するデータの構造を動的に管理するデ
ータ構造の動的管理方法であって、前記データへのアク
セスインタフェース部分に、データ項目名をキーとして
データ登録、削除、変更、参照の各処理を行うクラスオ
ブジェクトを設け、該クラスオブジェクトによって前記
複数のアプリケーションまたはモジュールが使用するデ
ータの構造を動的に管理することを特徴とする。
【0007】また、本発明のクラスオブジェクトは、少
なくともデータ項目名、データサイズ、データタイプを
含み、コンピュータ上で稼動する複数のアプリケーショ
ンまたはモジュールが使用するデータの構造を動的に管
理するクラスオブジェクトであって、前記データへのア
クセスインタフェース部分に組み込まれ、データ項目名
をキーとしてデータ登録、削除、変更、参照の各処理機
能を備え、前記複数のアプリケーションまたはモジュー
ルが使用するデータの構造を動的に管理することを特徴
とする。
【0008】
【発明の実施の形態】以下、本発明を図示する実施例に
基づいて詳細に説明する。図1は、本発明におけるデー
タ構造の動的管理方法を実現するコンピュータ内部の主
要部の実施形態を示す機能構成図であり、メモリ104
に格納されたデータ1041をクラス利用者100が使
用(登録、削除、変更、参照)する際に用いるインタフ
ェース部102と、データ管理部103で構成されてい
る。これらのインタフェース部102とデータ管理部1
03は、後述するようなクラスオブジェクト201とし
て実装されるものである。インタフェース部102は、
メモリ部104に新規のデータを登録する処理を行うデ
ータ登録機能1021、既存のデータを変更するデータ
変更機能1022、既存のデータを削除するデータ削除
機能1023、既存のデータを参照するデータ参照機能
1024を備えている。また、データ管理部103は、
メモリ部104におけるデータを管理する登録データ管
理機構1031、データ項目名やデータポインタなどの
情報を登録するデータ管理情報テーブル1032を備え
ている。
【0009】図2は、本発明のクラスオブジェクト20
1の構成を示したものであり、データ部(図1のデータ
管理部103に相当)202と機能部(図1のインタフ
ェース部102に相当)203に大別される。データ部
202では、データ項目名、データサイズ、データタイ
プ、データポインタから成る4項目を、データ項目名キ
ーとして登録データを管理している。機能部203で
は、クラス利用者100に対するデータ操作機能のメソ
ッドを公開している。本発明を使用するクラス利用者1
00が意識するのは、この機能部203のみであり、デ
ータ部202の管理情報は意識する必要がない。
【0010】ここで、クラスオブジェクトの形態を採用
した理由は、以下の通りである。クラスオブジェクトを
使用した場合、 (A1) データの生存期間を明確に管理できる。 (A2) 利用用途が汎用的である。(モジュール間の
データ受け渡しへの利用も可能である) (A3) 拡張性がある。 (特殊なデータ型を内部データとして保持する必要があ
る場合には、クラス機能を継承し、特殊データへ対応し
たサブクラス等の作成が可能となる)そして、クラスオ
ブジェクト201へ持たせる機能は以下の通りである。 (B1) 内部データの管理機能 内部データは、下記の4つの管理データにより管理さ
れ、データ項目名を元に一意に識別される。 (b11) データ項目名 (b12) データサイズ (b13) データタイプ (b14) 実データ格納領域へのポインタ (B2)データの登録機能 (B1)で説明した4つの情報をもとに、クラスオブジ
ェクト201へデータを登録する機能であり、下記の3
つの機能から成り立っている。 (b21) 同一データ項目名による2重登録の防止機能 (b22) 設定されるデータ領域の確保機能 (b23) 内部データ管理情報の設定機能 (C1) データの参照機能 登録されているデータを参照する機能であり、下記の2
つの機能から成り立っている。 (c11)指定されたデータ項目名によるデータ検索機
能 (c12)検索結果情報の返却機能 (D1) データの削除機能 登録されているデータを削除する機能であり、下記の3
つの機能から成り立っている。 (d11) 指定データの削除機能 (d12) 内部データ管理情報の削除機能 (d13) データの全削除機能 (E1) データの変更機能 登録されているデータの変更機能であり、下記の2つの
機能から成り立っている。 (e11) 指定データの変更機能 データタイプやデータサイズが変更される場合は、実デ
ータ格納領域を再度確保し直す等の処理により、指定デ
ータの拡張や変更に対応する。 (e12) 指定データに対する内部データ管理情報の
変更機能
【0011】図3は、本発明におけるクラスオブジェク
ト201の一般的な使用例を説明する図である。図3の
例は、ユーザ(クラス利用者)Aがデータを登録し、ユ
ーザBがユーザAの登録したデータを参照するという、
一連の流れを表したものである。以下、処理の流れの順
番に説明する。 ユーザAがクラスオブジェクト201のデータ登録機
能により、「DATA 1」を「data1」をキーとして登録す
る。 クラスオブジェクト201の内部において、データ管
理情報(図4)にユーザAからの登録情報を登録し、メ
モリ上に実際の登録データを保存する。 ユーザBがクラスオブジェクト201に対して、「da
ta1」をキーとしたデータを要求する。 クラスオブジェクト201の参照機能は、データ管理
情報に対して「data1」をキーとしてデータを検索し、
ユーザAが登録したデータを発見する。 クラスオブジェクト201の参照機能は、ユーザBに
対して「DATA 1」のデータを指すポインタを返却する。
【0012】次に、図4を用いて、本発明のクラスオブ
ジェクト201内で管理されるデータ管理情報の構成に
ついて説明する。このデータ管理情報はデータ管理情報
テーブル401(図1のデータ管理情報テーブル103
2に相当)に格納され、次に説明する4項目により構成
される。 (1) データ項目名 :データを一意に判定するためのキ
ーとなる文字列を設定する。 (2) データサイズ :データのサイズを設定する。 (3) データタイプ :データの型を設定する。 データの型は、一般的な型(char, int型等)と特殊型(動
的クラスオブジェクト:自分自身のクラス型等)を指定で
きる。 (4) データポインタ:実際のメモリ上のデータを指すポ
インタを設定する。 これらのデータ管理情報は、図4で示すように、表形式
の配列構造で管理される。
【0013】次に、図5〜図8を用い、各データ操作機
能について説明する。図5はデータ登録機能に関するフ
ロー図であり、登録データの検証、データ格納領域の確
保、データ領域の確認、データの保存を行うステップで
構成される。 (1) 登録データの検証(ステップ501) 登録データは先に説明したデータ管理情報の4項目を含
んだ形として、ユーザ側から指定されるが、ここでは、
その情報に対して以下の検証を実施する。 (a) データ項目名が既に登録済みのものである場合はN
Gとする。 (b) データサイズが 0 以下であるときNGとする。 (c) データタイプが規定以外のものであるときNGとす
る。 (2) データ格納領域の確保(ステップ502) 実際のデータを保存するためのメモリ領域を確保する。 (3) データ領域の確認(ステップ503) 前記(2)項でデータ領域が正しく確保されたかを確認す
る。 (4) データ管理情報の追加(ステップ504) データ管理情報テーブル401へ、今回登録するデータ
管理情報を追加する。 (5) データの保存(ステップ505) 前記(2)項で確保したメモリ領域へ、実際のデータをコ
ピーする。
【0014】図6はデータ参照機能に関するフロー図で
あり、指定データの検索、データポインタの取得のステ
ップで構成される。 (1) 指定データの検索(ステップ601) ユーザにより「データ項目名」で指定されたデータを、
データ管理情報テーブル401より検索する。 (2) データポインタの取得 前記(1)で検索したデータ管理情報の「データポイン
タ」に格納されている実際のデータを指すポインタを取
得する。
【0015】図7はデータ変更機能に関するフロー図で
あり、以下、ステップの処理について説明する。 (1) 指定データの検索(ステップ701) ユーザにより「データ項目名」で指定されたデータを、
データ管理情報テーブル401より検索する。 (2) 変更データの検証(ステップ702) 変更データの情報が正しく指定されているかどうかの検
証を行う。 (3) データ領域の再確保(ステップ703) データの変更に関しては、データ項目名以外のすべての
情報(データ含む)は、変更される可能性があるので、
ここで、変更されるデータを保存するメモリ領域を、再
度確保し直す。 (4) データ領域の確認(ステップ704) 前記(3)項で再確保したデータ領域が正しく確保されて
いかどうかを確認する。 (5) データ管理情報の更新(ステップ705) 前記(1)項で検索されたデータ管理情報の内容を本機能
で指定された情報へと更新する。この際、データポイン
タ項目へは、前記(3)項で再確保されたデータ領域を指
すポインタを設定する。 (6) データの保存(ステップ706) 前記(3)項で確保された領域へ、本機能で指定されたデ
ータをコピーし、以前の管理対象であったメモリ領域を
削除する。
【0016】図8はデータ削除機能に関するフロー図で
あり、以下、各ステップの処理について説明する。 (1) 指定データの検索(ステップ801) ユーザにより「データ項目名」で指定されたデータを、
データ管理情報テーブル401より検索する。 (2) 保存データの削除(ステップ802) 前記(1)項で検索されたデータ管理情報のデータポイン
タで管理しているデータ(メモリ)を削除する。 (3) データ管理情報からの削除(ステップ803) 前記(1)項で検索されたデータ管理情報を削除する。削
除の際、データ管理情報テーブル401内に空きレコー
ドが発生するのでこれを排除する処理も、このタイミン
グで行う。
【0017】図8に本発明の適用例を示し、具体的な効
果について説明する。図8の例では、5つの基本情報を
もつアプリケーションシステムで、その中の「module
A」が基本情報を読み込み、他の「module B」「module
C」へ情報を提供する仕組みとなっている。次に、処理
の流れを説明する。 655355module A が基本情報(USERID=123456,機能資
格A=1、機能資格B=0,機能資格C=0、機能資格
D=0)を読み込む module B が module A に対して、機能資格Bの情報
参照を要求する module A が module B に対して、機能資格Bの情報
を返却する module C が module A に対して、機能資格Cの情報
参照を要求する module A が module C に対して、機能資格Cの情報
を返却する このアプリケーションシステムは、module B 〜C が、
各々基本情報へ対して情報の参照を行うが、それら情報
の参照は下記のように局所化している。 (1) module B : 基本情報の機能資格Bの情報のみへの参
照 (2) module C : 基本情報の機能資格Cの情報のみへの参
照 このようなアプリケーションシステムに、「module D」
と基本情報の中の「機能資格D」が追加された場合、「m
odule A」における基本情報の保持機能および他module
への情報取得において、従来通り構造体などの静的なデ
ータ構造型で管理していた場合は、全てのmodule の再
構築が必要となる。これは、各 module が基本情報のデ
ータ構造の整合性をとる必要があるためである。
【0018】ここで、「module A」における基本情報の
管理および各モジュールへのインタフェース部分に本発
明のクラスオブジェクトを適用すると、各モジュール
は、自分の必要なデータ項目の変更のみに影響されるよ
うになるため、再構築が必要となるものは、基本情報の
全てを管理する「module A」と新規に追加となる「modu
le D」の2つのみとなる。これによって、基本情報の変
化に対するモジュール間の整合性を常に保ち、影響範囲
を最小限に止め、オブジェクト利用者がデータ構造が変
更されたことを意識して、システムの機能を再構築する
作業を最小限に抑え、再構築作業にかかる時間とコスト
を削減することができる。なお、上記説明においては、
クラスオブジェクトの利用者をユーザとして説明した
が、業務システムを構成する複数のアプリケーションま
たはモジュールに置き換えて使用することができる。
【0019】
【発明の効果】以上の説明から明らかなように、本発明
によれば、複数のアプリケーションやモジュールが使用
するシステム情報等に対して、そのインタフェース部分
に設けたクラスオブジェクトによってデータ構造を動的
に管理するようにしたため、アプリケーションやモジュ
ール間の整合性を常に保ち、データ構造変化における影
響範囲を最小限に止め、システム全体の再構築を不要に
し、再構築作業にかかる時間とコストを削減することが
できる。
【図面の簡単な説明】
【図1】本発明におけるデータ構造の動的管理方法を実
現するコンピュータ内部の主要部の実施形態を示す機能
構成図である。
【図2】本発明におけるクラスオブジェクトの構成例を
示す図である。
【図3】本発明におけるクラスオブジェクトの使用例を
示す説明図である。
【図4】データ管理情報の構成例を示す図である。
【図5】データ登録機能のフロー図である。
【図6】データ参照機能のフロー図である。
【図7】データ変更機能のフロー図である。
【図8】データ削除機能のフロー図である。
【図9】本発明におけるクラスオブジェクトの適用例を
示す説明図である。
【符号の説明】
100…クラス利用者、101…操作部、102…イン
タフェース部、103…データ管理部、104…メモリ
部、201…クラスオブジェクト、202…データ部、
203…機能部、401…データ管理情報テーブル、1
021…データ登録機能、1022…データ変更機能、
1023…データ削除機能、1024…データ参照機
能、1031…登録データ管理機構、1032…データ
管理情報テーブル、1041…データ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 少なくともデータ項目名、データサイ
    ズ、データタイプを含み、コンピュータ上で稼動する複
    数のアプリケーションまたはモジュールが使用するデー
    タの構造を動的に管理するデータ構造の動的管理方法で
    あって、 前記データへのアクセスインタフェース部分に、データ
    項目名をキーとしてデータ登録、削除、変更、参照の各
    処理を行うクラスオブジェクトを設け、該クラスオブジ
    ェクトによって前記複数のアプリケーションまたはモジ
    ュールが使用するデータの構造を動的に管理することを
    特徴とするデータ構造の動的管理方法。
  2. 【請求項2】 少なくともデータ項目名、データサイ
    ズ、データタイプを含み、コンピュータ上で稼動する複
    数のアプリケーションまたはモジュールが使用するデー
    タの構造を動的に管理するクラスオブジェクトであっ
    て、 前記データへのアクセスインタフェース部分に組み込ま
    れ、データ項目名をキーとしてデータ登録、削除、変
    更、参照の各処理機能を備え、前記複数のアプリケーシ
    ョンまたはモジュールが使用するデータの構造を動的に
    管理することを特徴とするクラスオブジェクト。
JP2001009083A 2001-01-17 2001-01-17 データ構造の動的管理方法およびクラスオブジェクト Pending JP2002215451A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001009083A JP2002215451A (ja) 2001-01-17 2001-01-17 データ構造の動的管理方法およびクラスオブジェクト

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001009083A JP2002215451A (ja) 2001-01-17 2001-01-17 データ構造の動的管理方法およびクラスオブジェクト

Publications (1)

Publication Number Publication Date
JP2002215451A true JP2002215451A (ja) 2002-08-02

Family

ID=18876624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001009083A Pending JP2002215451A (ja) 2001-01-17 2001-01-17 データ構造の動的管理方法およびクラスオブジェクト

Country Status (1)

Country Link
JP (1) JP2002215451A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014096018A (ja) * 2012-11-09 2014-05-22 Hitachi Ltd データ構造管理装置
US8813045B2 (en) 2009-09-25 2014-08-19 International Business Machines Corporation Object level compatibility and class resizing utilizing semantic values

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8813045B2 (en) 2009-09-25 2014-08-19 International Business Machines Corporation Object level compatibility and class resizing utilizing semantic values
JP2014096018A (ja) * 2012-11-09 2014-05-22 Hitachi Ltd データ構造管理装置

Similar Documents

Publication Publication Date Title
US9292573B2 (en) Extended database engine providing versioning and embedded analytics
US7165075B2 (en) Object graph faulting and trimming in an object-relational database system
US7730097B2 (en) Smart database
US7599948B2 (en) Object relational mapping layer
US7376658B1 (en) Managing cross-store relationships to data objects
US7672966B2 (en) Adding extrinsic data columns to an existing database schema using a temporary column pool
US20050010592A1 (en) Method and system for taking a data snapshot
US20150370545A1 (en) Object storage and synchronization hooks for occasionally-connected devices
US7730099B2 (en) Storage and retrieval of richly typed hierarchical network models
US7685127B2 (en) Database access system, method of accessing a database, and method of designing a database access system
US6941309B2 (en) Object integrated management system
US20050102326A1 (en) Method and apparatus for performing conflict resolution in database logging
US20070174329A1 (en) Presenting a reason why a secondary data structure associated with a database needs rebuilding
JP2002215451A (ja) データ構造の動的管理方法およびクラスオブジェクト
JP4825504B2 (ja) データ登録・検索システムおよびデータ登録・検索方法
JPH06187201A (ja) ファイルシステム
US8452823B2 (en) Method for coordinating relationships between multiple physical entities
TWI484358B (zh) 資料庫之移轉系統、方法及其電腦可讀取之媒體
KR20060029466A (ko) 대용량데이터베이스의 스키마 및 저장프로시저 실시간관리시스템 및 방법
JP2508212B2 (ja) ソフトウエア部品管理方式
JP2006040064A (ja) データベースアクセス装置
JP2004259066A (ja) データソース統合プログラム及びシステム並びに方法
US20030163451A1 (en) System and method for guaranteeing exactly-once updates to a data store
JPH10283392A (ja) プラント設計支援データベースシステム
JPH05173857A (ja) データベースシステムにおけるブロック領域管理方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070417