JP4887726B2 - 構造化文書のデータ処理方法、データ処理プログラム、およびデータ処理装置 - Google Patents

構造化文書のデータ処理方法、データ処理プログラム、およびデータ処理装置 Download PDF

Info

Publication number
JP4887726B2
JP4887726B2 JP2005304968A JP2005304968A JP4887726B2 JP 4887726 B2 JP4887726 B2 JP 4887726B2 JP 2005304968 A JP2005304968 A JP 2005304968A JP 2005304968 A JP2005304968 A JP 2005304968A JP 4887726 B2 JP4887726 B2 JP 4887726B2
Authority
JP
Japan
Prior art keywords
record
array
elements
csv
contents
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 - Fee Related
Application number
JP2005304968A
Other languages
English (en)
Other versions
JP2007114972A (ja
Inventor
茂 吉田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005304968A priority Critical patent/JP4887726B2/ja
Publication of JP2007114972A publication Critical patent/JP2007114972A/ja
Application granted granted Critical
Publication of JP4887726B2 publication Critical patent/JP4887726B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、構造化文書として、主に、表形式で表されデータベースのように扱われるデータ型XML(eXtensible Markup Language)文書を対象とし、これに特化したAPI(Application Programming Interface )を簡単化するための技術に関する。
近年、インターネットを通して、個人、企業、自治体など、あらゆる種類のシステムが接続され、相互に連携したWeb(World Wide Web) サービスやEDI(Electronic Data Interchange)、EC(Electronic Commerce) が行われつつある。これらのシステムの実現には幅広い情報交換が必要になっており、そのデータ交換およびデータ処理において、データを構造化することによって柔軟な表現能力を持たせてたXMLが、コンピュータ処理に適するため、共通基盤のフォーマットとして注目されている。
XMLは、1986年ISO(International Organization for Standardization) で標準化されたSGML(Standard Generalized Markup Language)をインターネットで活用し易くするために、1998年2月にその基本仕様XML1.0がW3C(World Wide Web Consortium)において策定されたものである。Webページ作成言語であるHTML(HyperText Markup Language)は、タグが固定で表示に特化したものとなっており、そのタグ情報を基にコンピュータで情報を処理したいという要件に対応できない問題があった。XMLは、利用者が自由にタグを定義し、文書中の文字列に意味付けさせる言語構造であり、コンピュータによる情報処理を可能としている。
XML文書に、検索・更新・削除などの操作を施す場合、標準のAPIソフトでDOM(Document Object Model)ツリー構造に展開して操作する。しかしながら、DOMツリーへの展開には元データの5〜10倍もの膨大な動作メモリ量を必要とする上、使わない項目も一緒に展開されてしまい時間もかかる欠点があった。そこで、本発明では、XML文書のデータ処理に必要とするリソースを軽減し、かつ、ユーザにその仕掛けを意識させずに行わせる技術を提供する。
また、XML文書は、その特徴によって、雑誌、マニュアル、辞典など、要素内容が長い文書型XML文書と、伝票、予定表など、タグ数が多く、要素内容が短いデータ型XML文書の二つに分類されるが、本発明は、主にデータ型XML文書を対象とし、とくに、表形式のような形で表され、データベースのように扱われるXML文書に特化して、APIの簡単化を図るものである。
以下、さらに、従来のXML文書の抱える問題点をクリアにすべく、XML技術、APIの現状、および先願技術について述べる。
(1)XMLについて
ここで、XML規格に基づき、専門用語の呼び方を定めておく。一対の”< ”と”> ”で囲まれた文字列をタグ、”< 文字列> ”を開始タグ、”</文字列> ”を終了タグ、開始タグから終了タグまでの文字列全体を要素、開始タグと終了タグで挟まれた文字列を要素内容、タグ内に記述される要素の名前を要素名( あるいはタグ名) 、要素に対する付加情報を属性と呼ぶ。
構造化文書は、文書自身の中にタグを埋め込む形でデータ構造を記述する。データ構造をタグとして文書に埋め込んだ構成を採ることにより、データ項目の追加、削除、変更に対して柔軟性と拡張性を持たせることができる。また、タグ名に、人が読んで意味のある名前を付けることにより、データに視認性を持たせることが可能となる。
(2)XML文書を扱う標準的なAPI
代表的な構造化文書であるXML文書では、応用ソフトからXML文書を扱うために、DOM (Document Object Model)と、SAX (Simple API for XML)と呼ばれる二つの標準的なインターフェイス(API)規格が定められている。SAXは、ストリーム形式でXML文書を読み取るため、メモリ消費が小さく、一般に高速である。したがって、時系列の出力で参照するだけの簡単な処理に向いている。
一方、DOMは、一般に低速でメモリ消費が大きい欠点があるが、文書の要素を階層的なツリー状に展開するため、複雑な処理内容でもプログラムが組み易いという特徴を持っているため、XML文書の更新には主にDOMが使われる。
(3)省リソース化のための先願技術(図17参照)
標準API (DOM)が大量に動作メモリを消費し、処理速度が遅いのは、データ処理に使わない要素も含め全要素をメモリ上に展開するからである。処理速度、メモリ量は、XML文書の要素数に比例する。本願出願人は、これらの不便さを解決するために、「XML CSV圧縮」という方法を先願(特許文献1、2、3)している。この方法は、XML文書中の要素を、ランダムアクセスが必要な要素と、一括アクセスでいい要素の2つのグループに分け、複数個の一括アクセス要素をCSV (Comma Separated Values) 形式で一つの要素にまとめる変換を施すことによって、実質的な要素数を減らし、標準APIのメモリ使用量を削減するとともに、高速化を実現するものである。
特開2003−203067号公報 特願2004−082589号公報 特願2005−506707号公報
上記したように、XMLは、柔軟なデータ表現形式である反面、標準のAPIソフト(DOM)でツリー構造に展開して操作する時には、大量のメモリを消費し、CPU負荷を重くする欠点を抱える。本願出願人は、先に、XML応用ソフトにおいて、XML文書の処理対象外要素をCSV形式にしてCPU負荷の軽減と、省メモリ化を図る「XML CSV圧縮」を提案してきた。
しかしながら、先願の技術では、CSV圧縮されたXML文書を応用ソフトの中でデータ処理する場合、CSV化していない要素(生要素)と、CSV化した要素(CSV化要素)を区別し、操作する必要があった。CSV化していない要素はそのまま使えるが、CSV化した要素は、一旦、CSV化を解いてから使うといった具合である。このため、リソースの削減にはなるものの、ユーザが2種類の要素を区別し意識して別々に扱う必要があり、応用ソフトのプログラミングが煩雑で手間を要する問題があった。
そこで、本発明では、レコード形式の大容量XML文書について、複数の処理対象外要素をCSV形式で繋いでまとめておき、データ処理時に、ヘッダよりCSV化要素の種類を読取って、応用ソフトから呼ばれたとき、CSV化した要素については、CSV化を解いてアクセスさせるようにし、また、CSV化を解いたレコードとその数を管理することによって、CSV化を意識させずに省メモリおよび負荷軽減を図る技術を提供する。
第一の発明は、レコード内の複数の要素が個々にアクセスすべき第一の要素と一括してアクセスすべき第二の要素とに区分けし、前記第二の要素である複数の要素を区切り符号によって繋げて一つの要素に圧縮変換するCSV化がなされ、前記第二の要素の要素名をヘッダ情報として付して記憶装置に格納した構造化文書をコンピュータが処理するデータ処理方法であって、応用ソフトによって前記レコード内の複数の要素にアクセスする際に、前記ヘッダ情報に基づいて、前記第一の要素と前記区切り符号で一括に表現された第二の要素とをレコード毎に第一の配列として割り当て、また前記第二の要素の一括された要素内容を個々の要素内容に分解して第二の配列として割り当ててメモリに格納するステップと、アクセス対象の要素が前記第二の要素に該当するか否かを前記第一の配列から判断する要素判断ステップと、前記レコード内の要素が前記第二の要素に該当しない場合に、当該要素内容をそのままアクセスさせ、前記レコード内の要素が前記第二の要素に該当する場合には、前記区切り符号で表現された要素内容が個々の要素内容に分解された前記第二の配列にしたがってアクセスさせる要素アクセスステップと、を有することを特徴とする構造化文書のデータ処理方法に関する。
すなわち、第一の発明によれば、メモリに格納する手段が、応用ソフトによって前記レコード内の複数の要素にアクセスする際に、ヘッダ情報に基づいて、第一の要素と区切り符号で一括に表現された第二の要素とをレコード毎に第一の配列として割り当て、また第二の要素の一括された要素内容を個々の要素内容に分解して第二の配列として割り当ててメモリに格納する。つぎに、要素判断手段が、アクセス対象の要素が第二の要素に該当するか否かを第一の配列から判断する。そして、要素アクセス手段が、レコード内の要素が第二の要素に該当しない場合に、当該要素内容をそのままアクセスさせ、また、レコード内の要素が第二の要素に該当する場合には、区切り符号で表現された当該要素内容が個々の要素内容に分解された前記第二の配列にしたがってアクセスさせる。こうした構成とすることによって、使用メモリ容量の削減とCPUの負荷逓減が図られるとともに、応用ソフト側からは意識しないで対象要素へのアクセスが実現される。
前記構造化文書をメモリに展開するときに、前記ヘッダ情報に基づいて、前記構造化文書をストリームデータとして読み取り、前記構造化文書の各要素及び各要素内容を前記第一の配列及び前記第二の配列に割り当てて格納することを特徴とする上記第一の発明に記載の構造化文書のデータ処理方法に関する。
すなわち、第二の発明によれば、構造化文書ファイルをシーケンシャルにストリームデータとして読み取り、構造化文書の各要素に対しメモリ上で配列に割り当て格納することになるので、ファイルに何度もアクセスを繰り返して読み取る必要がなく、メモリが削減でき、効率的に高速にメモリ展開を図ることが可能となる。
また、構造化文書をメモリに展開する際に、レコード毎に、個々がアクセス対象である第一の要素と区切り符号で一つに圧縮した第二の要素を割り当てた第一の配列と、一括された第二の要素内容を個々の要素内容に分解した第二の配列をメモリに保持することになるので、同一レコードがアクセスされた場合に、すでに圧縮要素が展開され、その分解された要素内容の結果をそのまま渡すことが可能となる。
上記してきた発明により以下の効果が生まれる。
これまで、構造化文書における要素の圧縮は、レコード内要素を区切り符号によって一括化して減らす要素の割合にほぼ比例して、主記憶メモリの消費量を減らす効果を生むが、応用ソフト側からすると、レコード内の生要素と一括化要素とを区別してプログラムを組む必要があった。本発明によれば,これを意識せずにプログラミングすることができるため,一括化圧縮要素による性能改善効果と、プログラミングの容易さとを両立させることが可能となる。
また、構造化文書ファイルをシーケンシャルにストリームデータとして読み取り、構造化文書の各要素に対しメモリ上で配列に割り当てる構成をとることにより、ファイルに何度もアクセスを繰り返して読み取る必要がなくなるため、メモリを削減でき、効率的に高速にメモリ展開を図ることが可能となる。
さらに、構造化文書をメモリに展開する際に、レコード毎に、個々がアクセス対象である第一の要素と区切り符号で一つに圧縮した第二の要素を割り当てた第一の配列と、一括された第二の要素内容を個々の要素内容に分解した第二の配列をメモリに保持することになるので、同一レコードがアクセスされた場合に、すでに圧縮要素が展開されているため、その分解された要素内容の結果をそのまま渡すことが可能となる。
以下、図面にもとづいて本発明の実施形態を説明する。実施例において、構造化文書は、表形式で表されデータベースのように扱われるデータ型のXML文書を対象としいるため以下ではXML文書と表現し、また、このXML文書のレコード内の要素を区切り符号を使って一括した圧縮形式については、カンマだけでなく様々な文字列の適用が可能であるが、ここでは、便宜上、CSV圧縮として表現する。
図1は、本発明の実施の形態になる構造化文書におけるデータ処理システムの基本構成を示す。データ処理システムは、エンドユーザ40のPC端末、アプリ開発者50によって開発された様々なアプリケーションソフト30、およびネットワークを介して接続されたサーバ等の装置に格納されたCSV圧縮XML文書A、A’(CSV圧縮された構造化文書)、データ処理プログラム10、およびアプリケーションソフト30へのデータの受け渡しを行うAPIソフト20(XMLパーサ)で構成される。
さらに、データ処理プログラム10は、構造化文書におけるレコード内の複数の要素を、個々にアクセスすべき第一の要素と一括してアクセスすべき第二の要素とにグループ分けする要素区分手段11、第二の要素として対象となるレコード内の要素をCSV形式で繋げて一つの要素に圧縮変換し、当該要素の種類を表すヘッダを付してメモリに格納する圧縮/復元変換手段12、アプリケーションソフト30(応用ソフト)によって前記レコード内の複数の要素にアクセスする際に、CSV圧縮情報用のヘッダ情報を最初に読み込ませ、当該要素が圧縮変換された第二の要素に該当するか否かをそのヘッダ情報から判断する要素判断手段13、および前記レコード内の要素が前記第二の要素に該当しない場合に、当該要素内容をそのままアクセスさせ、また、前記レコード内の要素が前記第二の要素に該当する場合には、CSV圧縮された一括要素の要素内容を個々の要素内容に分解しメモリ上に展開した後にアクセスさせる要素アクセス手段14で構成されている。
本データ処理システムにおいて、エンドユーザ40は、ネットワークに接続するサーバ等の装置に格納されたアクセス対象のCSV圧縮XML文書A、A’に対し、自端末の画面上から様々なアプリケーションソフト30を使って検索・更新の指示を行う。
CSV圧縮XML文書A、A’が格納されたサーバ等の装置では、APIソフト20を介してデータ操作が行われ、データ処理プログラム10によって、原XML文書Aが加工処理されて、処理結果としてのXML文書A’がメモリ上に展開され、APIソフト20を介してアプリケーションソフト30に戻され、エンドユーザ40のPC端末において、当該XML文書A’は、XMLからHTMLに変換され、ブラウザによって画面に表示出力される。
図2は、本発明の実施の形態になる構造化文書のデータ処理システムを実現するコンピュータのハードウエア構成例を示す。
図に示すコンピュータ100は、バス109によって互いに接続するCPU(Central Processing Unit )101、メモリ102、入力装置103、出力装置104、補助記憶装置105、媒体駆動装置106、可搬記録媒体107、およびネットワーク接続装置108を備えた構成となっている。但し、同図に示す構成は一例であり、これに限るものではない。
CPU101は、当該コンピュータ100全体を制御する中央処理装置であり、メモリ102は、プログラムを実行したり、データ更新等を行う際に、補助記憶装置105(あるいは可搬型記録媒体107)に記憶されているプログラムあるいはデータを一時的に格納するRAM(Random Access Memory)等のメモリである。また、CPU101は、メモリ102に読み出したプログラムおよびデータを用いて、上述した図1の要素区分手段11、圧縮/復元変換手段12、要素判断手段13、および要素アクセス手段14の機能を実現させる。
補助記憶装置105は、磁気ディスク、光ディスク、光磁気ディスク等を装着した記憶装置であり、上記本発明の各機能を実現させるためのプログラムおよびデータ等が格納されている。データとしては、外部から入力された原XML文書A、処理結果としてのXML文書A’等が一時的に記憶される。また、媒体駆動装置106は、例えば、FD(Fleible Disk)、CD−ROM(Compact Disk Read Only Memory )、光磁気ディスク等の可搬型記録媒体107に記憶されているプログラムおよびデータ等を読み出す。
ネットワーク接続装置108は、ネットワークに接続して外部の情報処理装置とプログラムおよびデータ等の送受信を可能にするものである。
以下の実施例では、図3において、本発明のCSV圧縮したXML文書を扱う基本的なAPIを示し、また、図4、図5、図6において、このときのXML文書の管理と格納、アクセスのイメージを示す。また、図7、図8において、本APIを用いたJavascript(ジャバスクリプト)による応用ソフトの例を示す。さらに、図9〜14において、図3の本APIの各メソッドのフローチャートを示す。
図3は、本発明の実施の形態になるアプリケーション・プログラミング・インタフェース(API)の形式設定例を示す。以下に、本APIに対し、Javascriptによる具体的な設定例を示す。
(0)CSV圧縮文書操作オブジェクトの作成:オブジェクトのコンストラクタであり、Object=new CSVCDocument として扱うデータを初期化したオブジェクトを作成する。
(1)CSV圧縮文書のロード:ファイルの読み込み処理をObject.openCSVCFile ( 入力CSV圧縮ファイル名,レコード要素名)、戻り値を”エラーのステイタス”とする。補助記憶装置105に格納されたファイルをメモリ101にロードし、CSV圧縮ファイル名とレコード要素名のデータを取得し、CSV圧縮文書ファイルのヘッダを読み取って、データをデータ用と管理用連想配列に格納する。
(2)CSV圧縮文書のクローズ:ファイルのクローズ処理をObject.closeCSVCDocument( ) 、戻り値を”エラーのステイタス”とする。
(3)XML文書のレコード数:レコード数の取得処理をObject.recordLength( )、戻り値を”オープン時に指定したレコードのレコード数”とする。
(4)レコード要素の読出し:レコード要素の読出し処理をContent = Object.getElement (レコード番号,要素名 )、戻り値を”要素内容,またはエラーのステイタス”とする。
(5)レコード要素の書込み:レコード要素の書込み処理をObject.putElement ( レコード番号,要素名,要素内容 )、戻り値を”エラーのステイタス”とする。
図4は、本発明の実施の形態になる構造化文書の圧縮オブジェクト(管理用連想配列)のデータ構成例を示す。図3(1)のオープン処理において、CSV圧縮文書ファイルを読み取り、当該データを管理用連想配列に格納する。XML文書のヘッダを読み取って、レコード中の要素とCSV化要素の関係をデータ管理用の連想配列として記憶する。
連想配列名には、例えば”DocArray”のようにオブジェクト名”Doc ”を冠する。レコード要素は1次元配列となり、各レコードは1次元配列の各要素が連想配列を取る。この連想配列は、要素名を添字として格納内容の要素内容が読み書きされる。
例えば、項目2001には、ファイル名:fname として“従業員名簿-csv.xml”、項目2002には、レコード名:recname として“従業員”、項目2003には、レコード数:recnumとして”1000”、項目2004には、現行レコード番号:cur _recno として”1”,項目2005には、データ用連想配列名:arrayname として“Doc Array ”、項目2006には、CSVデータ用連想配列名:csv _arrayname として“Doc CSVArray”、項目2007には、CSV 要素名:csvelem として“情報”、項目2008には、putElementメソッド使用の有無:putElementFlagとして”1 or 0”、および項目2009には、図6 (a)(b)(c)の管理用配列名他として“Doc AccessRecord”、“Doc ElementDisc ”などが格納される。
図5は、本発明の実施の形態になる圧縮された構造化文書のレコード要素を格納したデータ用の配列例(その1−連想配列の例)を示す。図5のデータ用配列では、CSV圧縮文書の各レコードがそのまま第1の一次元配列の連想配列に格納された形になっている。このうち,CSV要素はアクセスされたときに,さらに、第2のデータ用1次元配列の連想配列に展開される。この連想配列名には、先と同様の命名法で、例えば”DocCSVArray ”と付ける。この第2の連想配列は、先に述べたCSV圧縮ヘッダから読み込んだ情報に基づいて、CSV化された要素名を添字として格納された要素内容がアクセスされる。
例えば、第1のデータ用配列Doc Array[2]は、連想配列でメモリ展開され、“@id”、“氏名”、“所属”、“情報”の要素名を添字とする各項目における要素内容が、それぞれ“0002”、“田中次郎”、“営業”、“一般,2333,456,tanaka@yyyyy ”として格納されている。そして、第2のデータ用配列Doc CSVArray[1] では、アクセス対象のCSV化要素が連想配列でメモリ展開され、“役職”、“内線”、“Fax ”、“Email ”の要素名を添字とする各項目における要素内容が、それぞれ“一般”、“2333”、“456 ”、“tanaka@yyyy”として格納されている。
図6は、本発明の実施の形態になる圧縮された構造化文書のレコード要素を格納したデータ用の配列例(その2−通常配列の例)を示す。ここでは、図5−1の第1の配列および第2の配列において、要素名の代わりに要素番号(第1の配列では1〜4、第2の配列では5〜8を割付け)を添字として各項目に対応させ、要素内容を格納させた例を示している。前述した図5の連想配列は、出現しない要素があった場合でもメモリは有効に使えるのに対し、レコード内に出現の有無がある要素があった場合、通常配列であるのでメモリ領域を全て取ってしまうことになるが、レコード内の要素の組が常に出現する場合には、本構成の方が適しており、より高速な処理が可能である。
図7は、本発明の実施の形態になるレコード毎のCSV化要素をメモリ上に展開する際の管理情報を示している。
(a)は、CSV形式展開時に、レコードCSV化要素展開した連想配列とを対応付ける配列を示している。1次元配列でレコード数分の配列要素“Doc AccessRecord”を用い、アクセスした各レコードが、CSV要素をDocCSVArray のどの連想配列要素に展開しているのかについて、その1次元配列の添字を格納して管理するものである。例えば、第2、第3の各レコードのCSVArrayの使用位置として、インデックス1、2が格納されている。
(b)は、CSV形式に書き戻した時に、レコードとCSV化要素展開連想配列とを対応付ける配列を示している。例えば、CSV _RecordArray の第1、第2の各レコードとして、各csvArray位置の使用レコード2、3が格納されている。
(c)は、CSV化要素名を判定する連想配列を示している。1次元連想配列”DocDisc ”は、レコード内の要素が、第1の連想配列DocArrayと第2の連想配列DocCSVArray のどちらに格納されているかを識別する。この配列は、初期化したときにCSV圧縮ヘッダを読込んだときに作られ、例えば、“氏名”、“所属”、“役職”・・・の要素名に対し、CSVが使用されているか否かは、”0 ”、”0 ”、”1 ”・・・のフラグによって判定する。
(d)は、CSV要素名およびCSV化要素名の順序を記憶する配列を示す。1次元配列 “DocOrder”も、CSV 圧縮ヘッダを読込んだとき作られる。この配列は、第2のデータ用連想配列の要素を結合して、元のCSV形式にして書き戻す際に、要素を並べる順番を与えるために用いる。プログラム言語によっては連想配列が格納順を保存しないものもあるため、順序を保存するのである。添字0 の位置にCSV要素名が格納してある。
なお、CSV要素を展開する第2の連想配列DocCSVArray は、主記憶メモリを大量に消費するため、アクセス時に格納場所を新旧管理することによって、展開する数を一定数に抑えるように管理する。
管理する方法には、周知の技術である(1)LRU(Least Recently Used)や(2)LFU(Least Frequently Used)の論理によって格納場所が一杯になった場合、一つ場所を空けて、そこに新たに展開するCSV要素を格納する方法がある。LRUは、最も以前に使った場所を空ける方法であり、LFUは、最も使用頻度が少ない場所を空ける方法である。
上記LRUの論理を実現するには、カウンタで今までに使った場所の数を計数するようにすればいい。そして、計数値が連想配列の要素数を越えて、一杯になったら、次から最も古い場所を空けて、新しいCSV要素を格納する。例えば,連想配列の要素数が256個の場合、カウンタでゼロから始めて、計数値の番号の場所を割当てて行き、256を越えた時点から、256でモジュロを取った値( 計数値を256で割った余り) の場所を空けて新たに割当てればよい。
また、LRUの論理を実現するには、連想配列の要素を割当てたCSV要素の使用頻度を計数しておき、計数値の小さいものから場所を空けて、新たに割当てることにするものである。以上のいずれかの管理方法を採ることによって、展開CSV要素数を一定に保つが可能となる。
図8は、本発明の実施の形態になるレコード毎のCSV化要素をメモリ上に展開する際の管理情報( 図7(c)の変形例)を示す。以下は、図8の管理情報を例として示している。(c’)の連想配列を参照して各要素の番号を求め、生要素数(図では3個)をメモリに保持しておき、これ以上の番号ならばCSV化要素と判定して、第2のメモリに展開する仕組みである。
本構成の図7(c)の構成との大きな違いは、データ配列DocArrayおよびDocCSVArray が、連想配列から通常の配列になることである。通常配列を使うことによってアクセス速度が連想配列より高速となる。レコード内の要素の組が常に出現する場合、本構成の方が適している。
図9は、本発明の実施の形態になるAPIを用いたプログラム例(その1−特定要素の修正)を示す。本発明のAPIの応用ソフトの例を示しており、図17における「社員名簿-csv.xml」を、本APIを用いてシーケンシャルにアクセスするプログラムである。
CSV圧縮文書用オブジェクトを作った後,openCSVCFileメソッドを用いて「社員名簿-csv.xml」をロードする。次に、for 文を用いて全レコードを走査し、getElementメソッドを用いて、「氏名」要素の要素内容を取り出し、「田中次郎」のレコードを探す。「田中次郎」のレコードが見付かったならば、その「Email 」要素の内容を「j.tanaka@yyy」に書替える。これ以降は、for 分を用いて再び全レコードを走査し、各レコードの要素名と要素内容を出力するようにしている。
図10は、本発明の実施の形態になるAPIを用いたプログラム例(その2−XML文書の更新)を示す。原本ファイル「社員名簿-csv.xml」に対して、変更箇所を記述した「従業員名簿-csv-change.xml 」で書替えて、原本ファイルを更新する場合のプログラム例である。
まず、原本ファイルと変更箇所ファイルをopenCSVCFikeでロードして、CSV圧縮文書オブジェクト Doc1 、Doc2をそれぞれ作る。次に、変更箇所を1レコードづつ取り出し、原本の全レコードを走査して、id属性が一致するレコードを探す。id属性が同じレコードを見つけた場合は、そのレコードの全要素を書替える。この例では、原本を何度も走査するため、ストリーム処理の場合は、何度もディスクからデータを読み出す必要があるのに対して、データがメモリ内に展開されているので高速で処理することができる。その上、本発明では、属性、氏名、所属以外の要素はCSV形式でまとめられているため、メモリ消費を大幅に抑えることができ、しかも、本発明のAPIを用いることによって、CSV形式でまとめられている要素を意識せずに扱うことが可能となる。
以下に、本発明のAPIオブジェクトの各メソッドのフローについて、図11〜図16を用いて説明する。
図11は、本発明の実施の形態になる構造化文書のAPIオブジェクトの作成フローを示す。実施例は、オブジェクトCSVCDocumentにおいて、図4に示すCSV圧縮文書オブジェクト(管理用連想配列)を作成するフローを示している。
ステップS11において、種々の項目を管理するCSV圧縮文書用のオブジェクト( 管理用連想配列) 」を作成し、ステップS12において、呼び出し元に戻る。
図12は、本発明の実施の形態になるCSV圧縮された構造化文書ファイルのオープン処理のフローを示す。ファイルのオープン処理 openCSVCFile において、第1引数で与えたCSV圧縮文書ファイルをストリーム形式でXML文書を読み取るSAXを用いて読み取り、第2引数で与えたレコード内の要素を図5に示す第1のデータ用連想配列“DocArray”に展開するフローを示している。
まず、ステップS21において、引数としてXMLファイル名、レコード要素名を受け取り、オブジェクト( 管理用連想配列) に記憶する。
つぎに、ステップS22において、対象XML文書のCSV圧縮のヘッダからCSV要素、CSV化格納要素名を読み取り、1次元連想配列“DocCSVDisc”に、要素内容が第1のデータ用連想配列“DocArray”か第2のデータ用連想配列“DocCSVArray ”か、どちらの連想配列に格納されているか区別する情報を作成する。また、CSV要素展開管理用の各種配列を作成する。
さらに、ステップS21において、SAXを用いて、レコード毎に、レコード内要素とCSV要素をデータ用第1の連想配列上に展開し、かつ、展開時にレコード数を計数する。ステップS21において、計数したレコード数をオブジェクトに格納する。そして、ステップS21において、呼び出し元に戻る。
図13は、本発明の実施の形態になるCSV圧縮された構造化文書ファイルのクローズ処理のフローを示す。圧縮された構造化文書ファイルのクローズ処理 closeCSVCDocumentは以下の通りである。
ステップS31において、putElementメソッドを以前に使ったかどうかをCSV圧縮文書オブジェクトより読出して判定する。もし使ってなければ、ステップS34において、CSV圧縮文書ファイルは参照されただけであるので、そのままクローズする。もし使っていれば、ステップS32において、CSV縮文書ファイルは書込みがされているので、次の出力対象となるレコードが存在するかを判定する。そして、対象のレコードが全てセットされていれば、ステップS34において、クローズする。
さらに、未だ処理していないレコードがあれば、ステップS33において、次の未処理のレコードをセットする。そして、ステップS35において、当該レコードのCSV要素が第2の連想配列に既に展開されているかを判定する。
当該レコードのCSV要素が第2の連想配列に展開済みであれば、ステップS36において、当該レコードの第2の連想配列“DocCSVCArray”の内容をjoin関数を用いてCSV形式に直し、第1のデータ用連想配列“DocArray”にCSV要素の内容を置き換えながら、ステップS37において、当該レコードのCSV化なし要素とCSV要素を連想配列から、SAXを用いて“DocArray”の内容をXML文書の形式で書き出す。そして、対象となる全レコードが終了するまでステップS32からステップS37までの処理を繰り返し行う。
また、ステップS35において、当該レコードのCSV要素が第2の連想配列に展開されていなければ、ステップS37にジャンプして、SAXを用いたXML文書の書き出し処理を行う。
ここで、上記split 関数と後述するjoin関数については、スクリプト言語では、CSV形式の文字列を分離・結合する関数が標準でサポートされている。
例えば、Javascriptでは、形式文字列と分離したCSV化要素を格納する配列とを次のように指定することにより行える。
・分離 配列 = split(区切り文字,CSV 形式文字列 );
・結合 CSV 形式文字列 = join( 区切り文字, 配列) ;
図14は、本発明の実施の形態になる圧縮された構造化文書ファイルのレコード数読み出し処理のフローを示す。以下に、レコード数読出し処理 recordLength を示す。
ステップS41において、CSV圧縮文書オブジェクトに格納されているレコード数を読み出し、ステップS42において、呼び出し元に戻る。
図15は、本発明の実施の形態になる構造化文書の要素内容の読み出し処理のフローを示す。要素内容の読出し処理 getElement は、以下の通り。
ステップS51において、第1引数でレコード番号、第2引数でレコード内要素名を受け取り、ステップS52において、受け取った要素名がCSV化要素かどうかを連想配列“DocCSVDisc”によって判定する。もしCSV化要素でなければ、ステップS53において、第1のデータ用連想配列“_DocArray”より要素名で引いて要素内容を読出す。もしCSV化要素であれば、ステップS54において、このレコードのCSV要素がメモリ上に展開されているかを1次元配列“DocAccessRecord ”によって調べる。
展開されていなければ、ステップS55において、第2のデータ用連想配列“DocCSVArray ”の空き配列要素の番号を、1次元配列“DocAccessRecord ”に書込み、そのCSV要素をsplit 関数を用いて“DocCSVArray ”上に展開する。そして、ステップS56において、格納位置、要素名を指定して、第2の連想配列より要素内容を読出す。
また、もしこのレコードのCSV要素がメモリ上に展開されていれば、ステップS56において、“DocAccessRecord ”から、“DocCSVArray ”上の展開されている場所を読取り、“DocCSVArray ”から要素名で要素内容を読出す。以上のようにして読出した要素内容を、ステップS57において、戻り値として返す。
図16は、本発明の実施の形態になる構造化文書の要素内容の書込み処理のフローを示す。要素内容の書込み処理 putElement は、以下の通り。
まず、ステップS61において、引数として、レコード番号、レコード内要素名、書込む要素内容を受け取り、ステップS62において、受け取った要素名がCSV化要素かどうかを連想配列“DocCSVDisc”によって判定する。つぎに、もしCSV化要素でなければ、ステップS63において、第1のデータ用連想配列“DocArray”より要素名で引いて要素内容を書込む。また、もしCSV化要素であれば、ステップS64において、このレコードのCSV要素がメモリ上に展開されているか否かを1次元配列“DocAccessRecord ”によって調べる。
ステップS64で、CSV要素展開されていなければ、ステップS65において、第2のデータ用連想配列“DocCSVArray ”の空き配列要素の番号を、1次元配列“DocAccessRecord ”に書込み、そのCSV要素をsplit 関数を用いて“DocCSVArray ”上に展開する。そして、ステップS65において、格納位置、要素名を指定して、第2の連想配列に要素内容を書込む。
また、ステップS64で、もしこのレコードのCSV要素がメモリ上に展開されていれば、“DocAccessRecord ”から、“DocCSVArray ”上の展開されている場所を読取り、“DocCSVArray ”から要素名で要素内容を書込み、ステップS67において、呼び出し元に戻る。
上記の例では、レコード内で1個のCSV要素を持つ場合について説明したが、勿論、CSV要素を複数個にした場合でも、CSV圧縮文書のヘッダにおいて、その複数個のCSV要素に格納されている要素名を記述しておき、上述と同様に読み取り、2つのデータ用連想配列を用いてAPI上で管理することができる。
また、上記の例では、CSV圧縮を意識させずにプログラミングできるAPIが,要素内容の更新機能を備える場合について説明したが、これは、APIに挿入・削除機能を付けた場合にも同様に適用できる。本発明の課題は、CSV圧縮を意識させずに使わせることにあり、挿入・削除機能は本質でないため、説明を割愛している。
以上述べてきたように、本発明では、構造化文書全体が配列に格納されるAPIの構成であるため、直感的な配列操作のみで構造化文書全体にわたっての各種データ操作が容易に行えるようになる。また、レコード要素名を与えることによってレコード要素が反映される配列構造となり、レコードの中と外が区別されて、レコード単位のオブジェクトとして扱うことが可能になる。さらに、本API形式により、要素内容を別の要素名でアクセスすることが簡単に行え、レコード内の階層、要素名の変更、レコードの挿入・削除等の操作も行うことが可能となる。
以上述べてきた本発明の実施の態様は、以下の付記に示す通りである。
(付記1) レコード形式で構成された構造化文書のデータ処理方法であって、
前記構造化文書におけるレコード内の複数の要素を、個々にアクセスすべき第一の要素と一括してアクセスすべき第二の要素とにグループ分けする要素区分けステップと、
前記第二の要素として対象となる前記レコード内の要素を区切り符号によって繋げて一つの要素に圧縮変換し、当該要素の種類を表すヘッダを付してメモリに格納する圧縮変換ステップと、
応用ソフトによって前記レコード内の複数の要素にアクセスする際に、前記ヘッダ情報を最初に読み込ませ、当該要素が前記圧縮変換ステップで圧縮変換された前記第二の要素に該当するか否かを前記ヘッダ情報から判断する要素判断ステップと、
前記レコード内の要素が前記第二の要素に該当しない場合に、当該要素内容をそのままアクセスさせ、また、前記レコード内の要素が前記第二の要素に該当する場合には、前記区切り符号で表現された要素内容を個々の要素内容に分解しメモリ上に展開した後にアクセスさせる要素アクセスステップと、
をコンピュータに実行させることを特徴とする構造化文書のデータ処理方法。
(付記2) 前記構造化文書をメモリに展開するときに、前記構造化文書ファイルをストリームデータとして読み取り、前記構造化文書の各要素を配列に割り当てて格納することを特徴とする付記1に記載の構造化文書のデータ処理方法。
(付記3) 前記構造化文書のメモリへの展開において、前記第一の要素と前記区切り符号で一括に表現された第二の要素をレコード毎に割り当てる第一の配列と、前記第二の要素の個々の要素内容を個々の要素内容に分解して割り当てる第二の配列とを有することを特徴とする付記1または2に記載の構造化文書のデータ処理方法。
(付記4) 前記第二の要素において、前記区切り符号でまとめた要素内容を個々の要素内容に分解し前記第二の配列に展開してからアクセスさせる際に、前記第二の配列が予め定めた容量を越える場合、前記第二の配列中で以前に展開した配列要素を前記区切り符号によってまとめて第一の配列に書き戻した後、書き戻した前記配列要素に個々の要素内容を展開するようにしたことを特徴とする付記1乃至3に記載の構造化文書のデータ処理方法。
(付記5) 前記メモリ上に展開した構造化文書を書き替え、レコード毎に、前記第一の要素に対するの第一の配列の内容を構造化文書として出力するとともに、前記第二の要素は、前記第二の配列に展開してなければ前記第一の配列の内容を出力し、あるいは、第二の配列要素に展開していれば個々の要素の内容を区切り符号によって一括して出力することを特徴とする付記1乃至4に記載の構造化文書のデータ処理方法。
(付記6) 前記区切り符号で一括化された要素を展開する第二の配列は、アクセス時に、カウンタによって今までに使った場所の数を計数し、最も以前に使った場所、あるいは最も使用頻度が少ない場所を空けることで、展開する数を一定数に抑えることを特徴とする付記1乃至5に記載の構造化文書のデータ処理方法。
(付記7) レコード形式で構成された構造化文書のデータ処理プログラムであって、
コンピュータに、
前記構造化文書におけるレコード内の複数の要素を、個々にアクセスすべき第一の要素と一括してアクセスすべき第二の要素とにグループ分けする要素区分けステップと、
前記第二の要素として対象となる前記レコード内の要素を区切り符号によって繋げて一つの要素に圧縮変換し、当該要素の種類を表すヘッダを付してメモリに格納する圧縮変換ステップと、
応用ソフトによって前記レコード内の複数の要素にアクセスする際に、前記ヘッダ情報を最初に読み込ませ、当該要素が前記圧縮変換ステップで圧縮変換された前記第二の要素に該当するか否かを前記ヘッダ情報から判断する要素判断ステップと、
前記レコード内の要素が前記第二の要素に該当しない場合に、当該要素内容をそのままアクセスさせ、また、前記レコード内の要素が前記第二の要素に該当する場合には、前記区切り符号で表現された要素内容を個々の要素内容に分解しメモリ上に展開した後にアクセスさせる要素アクセスステップと、
を実行させる構造化文書のデータ処理プログラム。
(付記8) レコード形式で構成された構造化文書のデータ処理装置であって、
前記構造化文書におけるレコード内の複数の要素を、個々にアクセスすべき第一の要素と一括してアクセスすべき第二の要素とにグループ分けする要素区分け手段と、
前記第二の要素として対象となる前記レコード内の要素を区切り符号によって繋げて一つの要素に圧縮変換し、当該要素の種類を表すヘッダを付してメモリに格納する圧縮変換手段と、
応用ソフトによって前記レコード内の複数の要素にアクセスする際に、前記ヘッダ情報を最初に読み込ませ、当該要素が前記圧縮変換ステップで圧縮変換された前記第二の要素に該当するか否かを前記ヘッダ情報から判断する要素判断手段と、
前記レコード内の要素が前記第二の要素に該当しない場合に、当該要素内容をそのままアクセスさせ、また、前記レコード内の要素が前記第二の要素に該当する場合には、前記区切り符号で表現された要素内容を個々の要素内容に分解しメモリ上に展開した後にアクセスさせる要素アクセス手段と、
を有することを特徴とする構造化文書のデータ処理装置。
本発明の実施の形態になる構造化文書におけるデータ処理システムの基本構成を示す図である。 本発明の実施の形態になる構造化文書のデータ処理システムを実現するコンピュータのハードウエア構成例を示す図である。 本発明の実施の形態になるアプリケーション・プログラミング・インタフェース(API)の形式設定例を示す図である。 本発明の実施の形態になる構造化文書の圧縮オブジェクト(管理用連想配列)のデータ構成例を示す図である。 本発明の実施の形態になる圧縮された構造化文書のレコード要素を格納したデータ用の配列例(その1−連想配列の例)を示す図である。 本発明の実施の形態になる圧縮された構造化文書のレコード要素を格納したデータ用の配列例(その2−通常配列の例)を示す図である。 本発明の実施の形態になるレコード毎のCSV化要素をメモリ上に展開する際の管理情報を示す図である。 本発明の実施の形態になるレコード毎のCSV化要素をメモリ上に展開する際の管理情報( 図7(c)の変形例)を示す図である。 本発明の実施の形態になるAPIを用いたプログラム例(その1−特定要素の修正)を示す図である。 本発明の実施の形態になるAPIを用いたプログラム例(その2−XML文書の更新)を示す図である。 本発明の実施の形態になる構造化文書のAPIオブジェクトの作成フローを示す図である。 本発明の実施の形態になるCSV圧縮された構造化文書ファイルのオープン処理のフローを示す図である。 本発明の実施の形態になるCSV圧縮された構造化文書ファイルのクローズ処理のフローを示す図である。 本発明の実施の形態になる圧縮された構造化文書ファイルのレコード数読み出し処理のフローを示す図である。 本発明の実施の形態になる構造化文書の要素内容の読み出し処理のフローを示す図である。 本発明の実施の形態になる構造化文書の要素内容の書込み処理のフローを示す図である。 先願発明におけるアクセス対象外要素を圧縮した場合の構造化文書の構成を示す図である。本発明の実施の形態になる不正防止システムの基本構成(実施例2)を示す図である。
符号の説明
10 データ処理プログラム
11 要素区分手段
12 圧縮/復元変換手段
13 要素判断手段
14 要素アクセス手段
20 APIソフト( XMLパーサ)
30 アプリケーション・ソフト
40 エンドユーザ
50 アプリ開発者
100 コンピュータ
101 CPU
102 メモリ
103 入力装置
104 出力装置
105 補助記憶装置
106 媒体駆動装置
107 可搬記録媒体
108 ネットワーク接続装置
109 バス

Claims (4)

  1. レコード内の複数の要素が個々にアクセスすべき第一の要素と一括してアクセスすべき第二の要素とに区分けし、前記第二の要素である複数の要素を区切り符号によって繋げて一つの要素に圧縮変換するCSV化がなされ、前記第二の要素の要素名をヘッダ情報として付して記憶装置に格納した構造化文書をコンピュータが処理するデータ処理方法であって、
    応用ソフトによって前記レコード内の複数の要素にアクセスする際に、前記ヘッダ情報に基づいて、前記第一の要素と前記区切り符号で一括に表現された第二の要素とをレコード毎に第一の配列として割り当て、また前記第二の要素の一括された要素内容を個々の要素内容に分解して第二の配列として割り当ててメモリに格納するステップと、
    アクセス対象の要素が前記第二の要素に該当するか否かを前記第一の配列から判断する要素判断ステップと、
    前記レコード内の要素が前記第二の要素に該当しない場合に、当該要素内容をそのままアクセスさせ、前記レコード内の要素が前記第二の要素に該当する場合には、前記区切り符号で表現された要素内容が個々の要素内容に分解された前記第二の配列にしたがってアクセスさせる要素アクセスステップと、
    を有することを特徴とする構造化文書のデータ処理方法。
  2. 前記構造化文書をメモリに展開するときに、前記構造化文書をストリームデータとして読み取り、前記ヘッダ情報に基づいて、前記構造化文書の各要素及び各要素内容を前記第一の配列及び前記第二の配列に割り当てて格納することを特徴とする請求項1に記載の構造化文書のデータ処理方法。
  3. レコード内の複数の要素が個々にアクセスすべき第一の要素と一括してアクセスすべき第二の要素とに区分けし、前記第二の要素である複数の要素を区切り符号によって繋げて一つの要素に圧縮変換するCSV化がなされ、前記第二の要素の要素名をヘッダ情報として付して記憶装置に格納した構造化文書のデータ処理プログラムであって、
    コンピュータに、
    応用ソフトによって前記レコード内の複数の要素にアクセスする際に、前記ヘッダ情報に基づいて、前記第一の要素と前記区切り符号で一括に表現された第二の要素とをレコード毎に第一の配列として割り当て、また前記第二の要素の一括された要素内容を個々の要素内容に分解して第二の配列として割り当ててメモリに格納するステップと、
    アクセス対象の要素が前記第二の要素に該当するか否かを前記第一の配列から判断する要素判断ステップと、
    前記レコード内の要素が前記第二の要素に該当しない場合に、当該要素内容をそのままアクセスさせ、前記レコード内の要素が前記第二の要素に該当する場合には、前記区切り符号で表現された要素内容が個々の要素内容に分解された前記第二の配列にしたがってアクセスさせる要素アクセスステップと、
    を実行させる構造化文書のデータ処理プログラム。
  4. レコード内の複数の要素が個々にアクセスすべき第一の要素と一括してアクセスすべき第二の要素とに区分けし、前記第二の要素である複数の要素を区切り符号によって繋げて一つの要素に圧縮変換するCSV化がなされ、前記第二の要素の要素名をヘッダ情報として付して記憶装置に格納した構造化文書のデータ処理装置であって、
    応用ソフトによって前記レコード内の複数の要素にアクセスする際に、前記ヘッダ情報に基づいて、前記第一の要素と前記区切り符号で一括に表現された第二の要素とをレコード毎に第一の配列として割り当て、また前記第二の要素の一括された要素内容を個々の要素内容に分解して第二の配列として割り当ててメモリに格納する手段と、
    アクセス対象の要素が前記第二の要素に該当するか否かを前記第一の配列から判断する要素判断手段と、
    前記レコード内の要素が前記第二の要素に該当しない場合に、当該要素内容をそのままアクセスさせ、前記レコード内の要素が前記第二の要素に該当する場合には、前記区切り符号で表現された要素内容が個々の要素内容に分解された前記第二の配列にしたがってアクセスさせる要素アクセス手段と、
    を有することを特徴とする構造化文書のデータ処理装置。
JP2005304968A 2005-10-19 2005-10-19 構造化文書のデータ処理方法、データ処理プログラム、およびデータ処理装置 Expired - Fee Related JP4887726B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005304968A JP4887726B2 (ja) 2005-10-19 2005-10-19 構造化文書のデータ処理方法、データ処理プログラム、およびデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005304968A JP4887726B2 (ja) 2005-10-19 2005-10-19 構造化文書のデータ処理方法、データ処理プログラム、およびデータ処理装置

Publications (2)

Publication Number Publication Date
JP2007114972A JP2007114972A (ja) 2007-05-10
JP4887726B2 true JP4887726B2 (ja) 2012-02-29

Family

ID=38097096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005304968A Expired - Fee Related JP4887726B2 (ja) 2005-10-19 2005-10-19 構造化文書のデータ処理方法、データ処理プログラム、およびデータ処理装置

Country Status (1)

Country Link
JP (1) JP4887726B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016057970A (ja) * 2014-09-11 2016-04-21 株式会社東芝 情報処理装置、情報処理方法及びプログラム
JP6511598B2 (ja) * 2016-07-22 2019-05-15 益満 大 プログラム及び情報処理システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004061713A1 (ja) * 2002-12-27 2004-07-22 Fujitsu Limited 構造化文書の構造変換装置、構造変換方法、記録媒体
JP2005284417A (ja) * 2004-03-26 2005-10-13 Fujitsu Ltd テーブル形式のxml文書のランダムアクセス方法、及びそのプログラム

Also Published As

Publication number Publication date
JP2007114972A (ja) 2007-05-10

Similar Documents

Publication Publication Date Title
US8418053B2 (en) Division program, combination program and information processing method
US9423926B2 (en) Method for graphical representation of a content collection
US7246170B2 (en) Scheme for systematically registering meta-data with respect to various types of data
US8631041B2 (en) Secondary lazy-accessible serialization of electronic content
US7882154B2 (en) Hierarchical inherited XML DOM
US20110314456A1 (en) System and Method for Mapping Structured Document to Structured Data of Program Language and Program for Executing Its Method
US20060190491A1 (en) Database access system and database access method
US20050132278A1 (en) Structural conversion apparatus, structural conversion method and storage media for structured documents
JP4246186B2 (ja) 構造化文書のデータ展開方法、データ処理方法及び処理システム
US6535970B1 (en) Method and apparatus for enhanced performance caching for path names
MXPA06001214A (es) Sistema de archivos representados dentro de una base de datos.
CN102047231A (zh) 数据存储和访问
MXPA03010779A (es) METODO Y MEDIO LEGIBLE POR CAMPUTADORA PARA IMPORTAR Y EXPORTAR DATOS JERáRQUICAMENTE ESTRUCTURADOS.
US20030067493A1 (en) Method, apparatus and computer program product for eliminating unnecessary dialog box pop-ups
EP1091295B1 (en) Data management system using a plurality of data operation modules
JP2002278812A (ja) ディジタル・ライブラリ用コード生成システム
US6519598B1 (en) Active memory and memory control method, and heterogeneous data integration use system using the memory and method
US7451390B2 (en) Structured document processing system, method, program and recording medium
JP4887726B2 (ja) 構造化文書のデータ処理方法、データ処理プログラム、およびデータ処理装置
CN101388018A (zh) 电脑辅助设计文件的管理方法
US7386570B2 (en) Method, system and program product for providing high performance data lookup
KR100775852B1 (ko) 응용 프로그램의 자원 검색 시스템 및 방법
CN101136034A (zh) 快速链接的管理装置和方法
US7107336B2 (en) Method and apparatus for enhanced server page execution
CN116304463A (zh) 一种前端开发中的网页文案管理方法、装置、设备和介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110408

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111115

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111128

R150 Certificate of patent or registration of utility model

Ref document number: 4887726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees