(57)【要約】【課題】データベースの変更、データ移行を伴わずに、アプリケーションで扱うビット列の桁数を４倍に拡張するデータ圧縮伸長装置、圧縮伸長方法、およびプログラムを提供すること。【解決手段】圧縮伸長装置は、受信した４ｎ桁のビット列を４分割する。当該アプリケーションで扱うビット列が後方桁拡張であると判別された場合、圧縮伸長装置は、ｎ桁ごと４つに分割したビット列を前方のｎ桁から順に縦に並べ、４行ｎ列のビット行列を作成し、前方桁拡張であると判別された場合、ｎ桁ごと４つに分割したビット列を後方のｎ桁から順に縦に並べ、４行ｎ列のビット行列を作成する。圧縮伸長装置は、作成されたビット行列の列単位で４桁のビット列をｎ個作成し、ｎ個の４桁のビット列をそれぞれ１６進数に変換し、ｎ桁の１６進数とする。【選択図】図４
2010218515.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムで扱う４ｎ桁のビット列を圧縮する圧縮伸長装置であって、
前記ビット列の識別情報と前記アプリケーションプログラムにおける当該ビット列の拡張方式を拡張設定情報として記憶する拡張設定情報記憶部と、
前記ビット列と当該ビット列の識別情報を受信する受信部と、
前記受信したビット列をｎ桁に４分割する分割部と、
前記受信した識別情報を用いて前記拡張設定情報を参照し当該ビット列の拡張方式を取得し、
前記取得した拡張方式が後方桁拡張である場合に、前方のｎ桁のビット列から順に上方から並べて４行ｎ列のビット行列を作成し、また、前記取得した拡張方式が前方桁拡張である場合に、後方のｎ桁のビット列から順に上方から並べて４行ｎ列のビット行列を作成するビット行列作成部と、
前記ビット行列の各列のビット列を１６進数に変換し、ｎ桁の１６進数を算出する算出部と、
を備える圧縮伸長装置。
【請求項２】
ｎ桁の１６進数表記データを、アプリケーションプログラムで読み出し可能な４ｎ桁のビット列に伸長する圧縮伸長装置であって、
前記ｎ桁の１６進数表記データを記憶するデータ記憶部と、
前記アプリケーションプログラムにおけるビット列の識別情報と拡張方式を拡張設定情報として記憶する拡張設定情報記憶部と、
前記アプリケーションプログラムから送信された識別情報を受信する受信部と、
前記ｎ桁の１６進数表記データをデータ記憶部から読み出すデータ読出部と、
前記読み出した１６進数表記データの各桁の１６進数を２進数に変換し、ｎ個の４桁のビット列を算出する算出部と、
前記算出したｎ個の４桁のビット列を桁の低い方から縦に並べて４行ｎ列のビット行列を作成するビット行列作成部と、
前記受信した識別情報を用いて前記拡張設定情報を参照して前記拡張方式を取得し、
前記取得した拡張方式が後方桁拡張である場合に、前記４行ｎ桁のビット行列の上方の行のｎ桁のビット列から順に結合して４ｎ桁のビット列を作成し、また、前記取得した拡張方式が前方桁拡張である場合に、前記４行ｎ桁のビット行列の下方の行のｎ桁のビット列から順に結合して４ｎ桁のビット列を作成するビット列作成部と、
を備える圧縮伸長装置。
【請求項３】
アプリケーションプログラムで扱う４ｎ桁のビット列を圧縮する圧縮伸長方法であって、
前記ビット列の識別情報と前記アプリケーションプログラムにおける当該ビット列の拡張方式を拡張設定情報として記憶するステップと、
前記ビット列と当該ビット列の識別情報を受信するステップと、
前記受信したビット列をｎ桁に４分割するステップと、
前記受信した識別情報を用いて前記拡張設定情報を参照し当該ビット列の拡張方式を取得するステップと、
前記取得した拡張方式が後方桁拡張である場合に、前方のｎ桁のビット列から順に上方から並べて４行ｎ列のビット行列を作成し、また、前記取得した拡張方式が前方桁拡張である場合に、後方のｎ桁のビット列から順に上方から並べて４行ｎ列のビット行列を作成するステップと、
前記ビット行列の各列のビット列を１６進数に変換し、ｎ桁の１６進数を算出するステップと、
を備える圧縮伸長方法。
【請求項４】
ｎ桁の１６進数表記データをアプリケーションプログラムで読み出し可能な４ｎ桁のビット列に伸長する圧縮伸長方法であって、
前記ｎ桁の１６進数表記データを記憶するデータ記憶部と、
前記アプリケーションプログラムにおけるビット列の識別情報と拡張方式を拡張設定情報として記憶する拡張設定情報記憶部と、
前記アプリケーションプログラムから送信された識別情報を受信する受信部と、
前記ｎ桁の１６進数表記データをデータ記憶部から読み出すデータ読出部と、
前記読み出した１６進数表記データの各桁の１６進数を２進数に変換し、ｎ個の４桁のビット列を算出するステップと、
前記算出したｎ個の４桁のビット列を桁の低い方から縦に並べて４行ｎ列のビット行列を作成するステップと、
前記受信した識別情報を用いて前記拡張設定情報を参照して前記拡張方式を取得するステップと、
前記取得した拡張方式が後方桁拡張である場合に、前記４行ｎ桁のビット行列の上方の行のｎ桁のビット列から順に結合して４ｎ桁のビット列を作成し、また、前記取得した拡張方式が前方桁拡張である場合に、前記４行ｎ桁のビット行列の下方の行のｎ桁のビット列から順に結合して４ｎ桁のビット列を作成するステップと、
を備える圧縮伸長方法。
【請求項５】
アプリケーションプログラムで扱う４ｎ桁のビット列の識別情報と前記アプリケーションプログラムにおける当該ビット列の拡張方式を拡張設定情報として記憶するコンピュータに、
前記ビット列と当該ビット列の識別情報を受信するステップと、
前記受信したビット列をｎ桁に４分割するステップと、
前記受信した識別情報を用いて前記拡張設定情報を参照し当該ビット列の拡張方式を取得するステップと、
前記取得した拡張方式が後方桁拡張である場合に、前方のｎ桁のビット列から順に上方から並べて４行ｎ列のビット行列を作成し、また、前記取得した拡張方式が前方桁拡張である場合に、後方のｎ桁のビット列から順に上方から並べて４行ｎ列のビット行列を作成するステップと、
前記ビット行列の各列のビット列を１６進数に変換し、ｎ桁の１６進数を算出するステップ、
を実行させるプログラム。
【請求項６】
アプリケーションプログラムにおけるビット列の識別情報と拡張方式を拡張設定情報として記憶するコンピュータに、
前記アプリケーションプログラムから送信された識別情報を受信するステップと、
ｎ桁の１６進数表記データを読み出すステップと、
前記読み出した１６進数表記データの各桁の１６進数を２進数に変換し、ｎ個の４桁のビット列を算出するステップと、
前記算出したｎ個の４桁のビット列を桁の低い方から縦に並べて４行ｎ列のビット行列を作成するステップと、
前記受信した識別情報を用いて前記拡張設定情報を参照して前記拡張方式を取得するステップと、
前記取得した拡張方式が後方桁拡張である場合に、前記４行ｎ桁のビット行列の上方の行のｎ桁のビット列から順に結合して４ｎ桁のビット列を作成し、また、前記取得した拡張方式が前方桁拡張である場合に、前記４行ｎ桁のビット行列の下方の行のｎ桁のビット列から順に結合して４ｎ桁のビット列を作成するステップ、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを圧縮伸長する圧縮伸長技術に関する。
【背景技術】
【０００２】
ハードウェア、ソフトウェア、ネットワーク環境などを更新する際は、その実施時期に合わせて、利用者に事前に装置やサービスの停止の周知や関連業務を抑制するなどして対応するとともに、更新作業者側もサービス停止時間をなるべく短縮するような技術を開発してきた。（例えば、特許文献１参照）
例えば、記憶装置にビット列を格納し、実行時に読み出すアプリケーションプログラムにおいて、取り扱うビット列の桁数を拡張する際、アプリケーションの改造とともに、記憶装置の構成拡張と記憶装置内のデータ移行作業が発生する。この場合においても、アプリケーションプログラムのリリース作業予定にあわせて、事前にサービス停止の周知や更新業務の抑止などシステム運用対処で回避していた。
一方、特許文献２に記載されるように、膨大な画像データ等を圧縮してコンパクトに記憶する様々なデータ圧縮技術が開発されてきた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０３９８１４号公報
【特許文献２】特開平１１−１８５０２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献２に記載されたデータ圧縮方法を用いても、通常アプリケーションの更新作業等においては関連データの移行作業が伴い、データ移行はサービス停止時点のデータを元に実施する必要があり、短時間でのデータ移行作業を行う場合には手順や作業ミスが発生するリスクを伴う。リスク回避のため十分なデータ移行作業時間を確保するためにはサービス停止時間が長くなり、リリース作業には盆や年末年始などの大型連休に実施することになり、サービスのタイムリーな提供ができないことや開発者の休暇調整が困難といった問題があった。
本発明は、以上の点に鑑みてなされたものであり、ビット列を扱うアプリケーションプログラムにおいて、データベースの変更、データ移行を伴わずに、アプリケーションプログラムの改造のみで扱えるビット列の桁数を４倍に拡張するデータ圧縮伸長装置、圧縮伸長方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
前述した目的を達成するために本発明は、アプリケーションプログラムで扱う４ｎ桁のビット列を圧縮する圧縮伸長装置であって、前記ビット列の識別情報と前記アプリケーションプログラムにおける当該ビット列の拡張方式を拡張設定情報として記憶する拡張設定情報記憶部と、前記ビット列と当該ビット列の識別情報を受信する受信部と、前記受信したビット列をｎ桁に４分割する分割部と、前記受信した識別情報を用いて前記拡張設定情報を参照し当該ビット列の拡張方式を取得し、前記取得した拡張方式が後方桁拡張である場合に、前方のｎ桁のビット列から順に上方から並べて４行ｎ列のビット行列を作成し、また、前記取得した拡張方式が前方桁拡張である場合に、後方のｎ桁のビット列から順に上方から並べて４行ｎ列のビット行列を作成するビット行列作成部と、前記ビット行列の各列のビット列を１６進数に変換し、ｎ桁の１６進数を算出する算出部とを備える圧縮伸長装置である。
【０００６】
また、第２の発明は、ｎ桁の１６進数表記データを、アプリケーションプログラムで読み出し可能な４ｎ桁のビット列に伸長する圧縮伸長装置であって、前記ｎ桁の１６進数表記データを記憶するデータ記憶部と、前記アプリケーションプログラムにおけるビット列の識別情報と拡張方式を拡張設定情報として記憶する拡張設定情報記憶部と、前記アプリケーションプログラムから送信された識別情報を受信する受信部と、前記ｎ桁の１６進数表記データをデータ記憶部から読み出すデータ読出部と、前記読み出した１６進数表記データの各桁の１６進数を２進数に変換し、ｎ個の４桁のビット列を算出する算出部と、前記算出したｎ個の４桁のビット列を桁の低い方から縦に並べて４行ｎ列のビット行列を作成するビット行列作成部と、前記受信した識別情報を用いて前記拡張設定情報を参照して前記拡張方式を取得し、前記取得した拡張方式が後方桁拡張である場合に、前記４行ｎ桁のビット行列の上方の行のｎ桁のビット列から順に結合して４ｎ桁のビット列を作成し、また、前記取得した拡張方式が前方桁拡張である場合に、前記４行ｎ桁のビット行列の下方の行のｎ桁のビット列から順に結合して４ｎ桁のビット列を作成するビット列作成部と、を備える圧縮伸長装置である。
【０００７】
また、第３の発明は、アプリケーションプログラムで扱う４ｎ桁のビット列を圧縮する圧縮伸長方法であって、前記ビット列の識別情報と前記アプリケーションプログラムにおける当該ビット列の拡張方式を拡張設定情報として記憶するステップと、前記ビット列と当該ビット列の識別情報を受信するステップと、前記受信したビット列をｎ桁に４分割するステップと、前記受信した識別情報を用いて前記拡張設定情報を参照し当該ビット列の拡張方式を取得するステップと、前記取得した拡張方式が後方桁拡張である場合に、前方のｎ桁のビット列から順に上方から並べて４行ｎ列のビット行列を作成し、また、前記取得した拡張方式が前方桁拡張である場合に、後方のｎ桁のビット列から順に上方から並べて４行ｎ列のビット行列を作成するステップと、前記ビット行列の各列のビット列を１６進数に変換し、ｎ桁の１６進数を算出するステップと、を備える圧縮伸長方法である。
【０００８】
また、第４の発明は、ｎ桁の１６進数表記データをアプリケーションプログラムで読み出し可能な４ｎ桁のビット列に伸長する圧縮伸長方法であって、前記ｎ桁の１６進数表記データを記憶するデータ記憶部と、前記アプリケーションプログラムにおけるビット列の識別情報と拡張方式を拡張設定情報として記憶する拡張設定情報記憶部と、前記アプリケーションプログラムから送信された識別情報を受信する受信部と、前記ｎ桁の１６進数表記データをデータ記憶部から読み出すデータ読出部と、前記読み出した１６進数表記データの各桁の１６進数を２進数に変換し、ｎ個の４桁のビット列を算出するステップと、前記算出したｎ個の４桁のビット列を桁の低い方から縦に並べて４行ｎ列のビット行列を作成するステップと、前記受信した識別情報を用いて前記拡張設定情報を参照して前記拡張方式を取得するステップと、前記取得した拡張方式が後方桁拡張である場合に、前記４行ｎ桁のビット行列の上方の行のｎ桁のビット列から順に結合して４ｎ桁のビット列を作成し、また、前記取得した拡張方式が前方桁拡張である場合に、前記４行ｎ桁のビット行列の下方の行のｎ桁のビット列から順に結合して４ｎ桁のビット列を作成するステップと、を備える圧縮伸長方法である。
【０００９】
また、第５の発明は、コンピュータに第３の発明の圧縮伸張方法を実行させるプログラムである。
また、第６の発明は、コンピュータに第４の発明の圧縮伸張方法を実行させるプログラムである。
【発明の効果】
【００１０】
本発明によれば、圧縮伸長装置が、アプリケーションプログラムで利用するビット列を１６進数表記データに変換することで、データを管理する記憶装置などの構成変更をすることなくデータを記憶することができる。
また、拡張前のビット列は、拡張後の１６進数で表現可能なデータであるため、アプリケーションプログラムのリリースの際など、データを管理する記憶装置内のデータ移行を省略できる。
また、データを管理する記憶装置の構成変更、データ移行を伴わずに、アプリケーションプログラムの更新を行うことができ、リリース作業の際、データ管理装置に対する作業の軽減、サービス停止時間の短縮を実現でき、リリース時期の調整が容易になりタイムリーなサービス提供が可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る業務システムの構成の一例を示す図である。
【図２】同実施形態に係る圧縮伸長装置のハードウェア構成図である。
【図３】同実施形態に係る拡張設定情報を示す図である。
【図４】同実施形態に係る圧縮伸長装置によるビット列の圧縮処理の流れを示すフローチャートである。
【図５】同実施形態に係る圧縮伸長装置によるビット列の圧縮処理を説明するための図である。
【図６】同実施形態に係る圧縮伸長装置による１６進数の伸長処理の流れを示すフローチャートである。
【図７】同実施形態に係る圧縮伸長装置による１６進数の伸長処理を説明するための図である。
【図８】同実施形態に係る圧縮伸長装置によるビット列の圧縮処理を説明するための図である。
【発明を実施するための形態】
【００１２】
以下に、添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。
【００１３】
図１は、業務システム１００の構成図である。業務システム１００は、図１に示すように、圧縮伸長装置１０、業務制御装置２０、データ管理装置３０から構成される。
圧縮伸長装置１０と業務制御装置２０、圧縮伸長装置１０とデータ管理装置３０は互いにデータ送受信可能に接続される。
また、圧縮伸長装置１０は、業務制御装置２０或いはデータ管理装置３０に内包されていてもよい。
【００１４】
業務制御装置２０は、業務に関するアプリケーションを実行するコンピュータ等である。
データ管理装置３０は、業務制御装置２０で実行されるアプリケーションに必要なデータを記憶する記憶装置である。
圧縮伸長装置１０は、ＳＯＡＰ（Simple Object Access Protocol）などのプロトコルに基づいて、業務制御装置２０と通信し、データ管理装置３０に対してデータの読み出し、保存制御を行う。
また、圧縮伸長装置１０は、データの圧縮伸長に関する制御を行う。具体的には、圧縮伸長装置１０は、業務制御装置２０から受信した４ｎ桁のビット列をｎ桁の１６進数に圧縮してデータ管理装置３０に記憶する。また、圧縮伸長装置１０は、記憶装置から読み出したｎ桁の１６進数を伸長し、４ｎ桁のビット列を復元し、業務制御装置２０に送信する。
【００１５】
図２は、圧縮伸長装置１０のハードウェア構成を示す図である。
圧縮伸長装置１０は、図２に示すように、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、圧縮伸長制御部１４、記憶部１５を備える。
ＣＰＵ１１は、ＲＯＭ１２に記憶されたプログラムを実行し、圧縮伸長制御に関する処理を行う。ＲＯＭ１２は、プログラム等を記憶する不揮発性メモリである。ＲＡＭ１３は、データの圧縮伸長処理プログラム実行の際に用いるワークメモリである。圧縮伸長制御部１４は、業務制御装置２０とのデータの送受信等を行う。記憶部１５は、拡張設定情報１５１を記憶する。
【００１６】
図３は拡張設定情報の構成を示す図である。
拡張設定情報１５１は、圧縮伸長装置１０におけるビット列の拡張方式の指定に関する情報であり、圧縮伸長装置１０を介して、業務制御装置２０とデータ管理装置３０との間で行われるデータの読み出し、保存対象のテーブル名称、カラム名称、拡張方式の情報を含む。
テーブル名とカラム名は、業務制御装置２０で用いられるデータであるビット列ごとに指定される識別情報である。拡張方式は、後述のビット列の圧縮伸長処理において拡張方法の仕方を指定する情報である。ビット列をデータとして扱っているアプリケーションプログラムにおいて、業務権限や種類をビット列の左側から数えた桁数あるいは、右側から数えた桁数で識別するかは、設計において様々である。ビット列の左側から数えた桁数で判断しているアプリケーションプログラムでは、拡張方向は後方（右端方向）へ拡張するし、ビット列の右側から数えた桁数で判断する場合は、拡張方向は前方へ（左端方向）拡張する。本実施例では、拡張設定情報１５１のような設定情報を用意して拡張方向を識別することで、ビット列の左端或いはビット列の右端のいずれの方向を基準としているアプリケーションプログラムにも対応することが可能となる。
【００１７】
次に、圧縮伸長装置１０の動作について説明する。
図４は、圧縮伸長装置１０によるビット列の圧縮処理の流れを示すフローチャートである。
圧縮伸長装置１０は、テーブル名、カラム名を含む書き込みビット列の書き込み要求のメッセージを業務制御装置２０より受信すると（ステップＷ１）、受信した書き込みビット列（ｎ×４＝４ｎ桁）をｎ桁ごとに４つに分割する（ステップＷ２）。
【００１８】
次に、当該ビット列のテーブル名、カラム名を基に拡張設定情報１５１を参照して、受信した書き込みビット列の拡張方式が前方桁拡張か後方桁拡張かを判別する（ステップＷ３）。ここで、ビット列の左側から数えた桁数で判断しているアプリケーションプログラムでは、拡張方向は後方（右端方向）へ拡張し、ビット列の右側から数えた桁数で判断する場合は、拡張方向は前方へ（左端方向）拡張することとする。
【００１９】
ステップＷ３において、後方桁拡張であると判別された場合、圧縮伸長装置１０は、ｎ桁ごと４つに分割したビット列を前方のｎ桁から順に縦に並べ、４行ｎ列のビット行列を作成する（ステップＷ４）。
ステップＷ３において、前方桁拡張であると判別された場合、圧縮伸長装置１０は、ｎ桁ごと４つに分割したビット列を後方のｎ桁から順に縦に並べ、４行ｎ列のビット行列を作成する（ステップＷ５）。
次に、圧縮伸長装置１０は、作成されたビット行列の列単位で４桁のビット列をｎ個作成し（ステップＷ６）、４桁ｎ個のビット列を１６進数に変換する（ステップＷ７）。１６進数ｎ桁の文字列をデータ管理装置３０に書き込み（ステップＷ８）、その結果を業務制御装置２０へ応答し（ステップＷ９）、処理を終了する。
【００２０】
図５は、圧縮処理を説明するための図である。
ここでは、業務制御装置２０が取り扱うビット列データが１０桁であり、機能拡張などにより４０桁に後方桁拡張を行う場合を考える。
圧縮伸長装置１０は、業務制御装置２０からに示す４０桁（ｎ＝１０）のビット列Ｃ１を受け取る。圧縮伸長装置１０はビット列Ｃ１を４分割し、「１１１１００００００」、「１１１００００００１」、「１１００００００１１」、「１００００００１１１」という１０桁のビット列にする（ステップＷ１、Ｗ２）。
ここで、ビット列Ｃ１は「後方（拡張）」であると拡張設定情報１５１において指定されていたとすると、圧縮伸長装置１０は、「１１１１００００００」、「１１１００００００１」、「１１００００００１１」、「１００００００１１１」の順に縦に並べ、４行１０列のビット列Ｃ２を作成する。（ステップＷ３〜Ｗ５）。
【００２１】
次に、縦に並べたｎ桁のビット列の同じ桁（列）のビット値を読み出して４桁のビット列１０個を作成し、その４桁のビット列から１６進数を作成する。図５に示す４行１０列のビット列Ｃ２において、１列目のビット列「１１１１」は１６進数だと「ｆ」となり、２列目のビット列「０１１１」は１６進数だと「７」となり、３列目のビット列「００１１」は１６進数だと「３」となり、４列目のビット列「０００１」は１６進数だと「１」となり、５列目〜７列目のビット列「００００」は１６進数だと「０」となり、８列目のビット列「１０００」は１６進数だと「８」となり、９列目のビット列「１１００」は１６進数だと「ｃ」となり、１０列目のビット列「１１１０」は１６進数だと「ｅ」となり、４行１０列のビット列Ｃ２は１６進数Ｃ３「ｆ７３１０００８ｃｅ」と変換される（ステップＷ６、Ｗ７）。
圧縮伸長装置１０は、作成した１６進数Ｃ３「ｆ７３１０００８ｃｅ」をデータ管理装置３０に記憶し、業務制御装置２０に書き込み終了を通知する（ステップＷ８、Ｗ９）。
【００２２】
このように、本実施形態にかかる圧縮伸長装置１０は、業務制御装置２０が実行するアプリケーションプログラムで利用するビット列をデータ管理装置３０が扱える桁数で１６進数表記へ変換することで、データ管理装置の構成変更を加えないでデータを格納することができる。また、２進数表記のビット列を１６進数表記で圧縮することで、データ管理装置３０の変更を伴わずにビット列の桁数を４倍に拡張できる。
【００２３】
次に、圧縮伸長装置１０によるデータの伸長処理について説明する。
図６は、圧縮伸長装置１０による１６進数の伸長処理の流れを示すフローチャートである。
圧縮伸長装置１０は、データに対応したテーブル名、カラム名を含んだデータ読み出し要求メッセージを業務制御装置２０より受信すると（ステップＲ１）、データ管理装置３０から１６進数ｎ桁の文字列（１６進数表記データ）を読み出す（ステップＲ２）。読み出した１６進数ｎ桁の文字列の各桁を４桁の２進数に変換し（ステップＲ３）、２進数の桁の位が低い方から縦に並べ、４行ｎ列のビット行列を作成する（ステップＲ４）。
【００２４】
次に、圧縮伸長装置１０は、ステップＲ１で受信したテーブル名、カラム名からアプリケーションにおけるビット列の拡張設定情報１５１を参照して読み出し、ビット列の拡張方式が前方桁拡張か後方桁拡張かを判別する（ステップＲ５）。
ステップＲ５において後方桁拡張であると判別された場合、圧縮伸長装置１０は、４行ｎ桁のビット行列の上の行からビット列を読み出して１行に連結し、４×ｎ（４ｎ）桁のビット行を作成する（ステップＲ６）。
また、ステップＲ５において前方桁拡張であると判別された場合、圧縮伸長装置１０は、４行ｎ列のビット行列の下の行から１行に連結し、４ｎ桁のビット列を作成する（ステップＲ７）。
圧縮伸長装置１０は、作成した４ｎ桁のビット列を読み出して、結果として業務制御装置２０へ応答し（ステップＲ８）、処理を終了する。
【００２５】
図７は、圧縮伸長装置１０によるデータの伸長処理を説明するための図である。
圧縮伸長装置１０は、データ管理装置３０から１０桁の１６進数文字列Ｕ１「ｆ７３１０００８ｃｅ」を読み出す（ステップＲ１、Ｒ２）。
次に、圧縮伸長装置１０は、１６進数文字列Ｕ１の各桁の１６進数を４桁の２進数に変換し、４桁×ｎ個（ｎ＝１０）桁のビット列Ｕ２「１１１１０１１１００１１０００１００００００００１０００１１００１１１０」を作成する（ステップＲ３）。
【００２６】
ビット列Ｕ２において各４桁の桁数の低い方から順に縦に並べ、４行１０列のビット行列Ｕ３を作成する（ステップＲ４）。ここで、テーブル名、カラム名から読み出した当該ビット列の拡張設定情報１５１のビット列拡張方式が「後方桁拡張」であったとすると、圧縮伸長装置１０は、ビット行列の１行目から順にビット列を結合して４０桁のビット列Ｕ４にデータを伸長し、業務制御装置２０へ通知する（ステップＲ４〜Ｒ８）。
【００２７】
このように、本実施の形態にかかる圧縮伸長装置１０は、１６進数としてデータ管理装置３０に記憶したデータを読み出して、業務制御装置２０が実行するアプリケーションプログラムで扱うビット列に変換可能である。
また、圧縮伸長装置１０は、業務制御装置２０で扱う４ｎ桁のビット列を１６進数としてデータ管理装置３０に記憶し、その１６進数を再度読み出して元のビット列に復元可能であり、可逆変換可能な圧縮伸長処理を提供することが可能である。
【００２８】
次に、拡張前のデータ移行を行わなくても、データの正しさが保証されることを説明する。
図８は、圧縮伸長装置１０によるデータ圧縮伸長処理の一例を示す図である。
ここで、データ圧縮伸長処理は図４及び図６に示す処理に従って行われたとする。図８に示す１０桁のビット列Ｓ１に対して、図６で説明したデータ伸長処理を行った結果はビット列Ｓ４となる。ビット列Ｓ４をみると、先頭１０桁は、ビット列Ｓ１で示される情報を保持している。これから拡張前データが拡張後の処理においても正しさが保証されることを示す。
【００２９】
このように、データ管理装置３０に記憶されている拡張前のビット列（図８のビット列Ｓ１）を１６進数表記として扱い、図６に示す手順に従って２進数表記のビット列（図８のビット列Ｓ４）に伸長した場合でも拡張前のビット列データとの情報互換性を保持しつつ４倍の拡張を実現することで、データの移行作業を不要とすることが可能となる。
従って、データ管理装置３０の構成変更、データ管理装置３０内のデータ移行を伴わずに、業務制御装置２０のアプリケーションプログラムの更新を行うことが可能となり、アプリケーションプログラムのリリース作業の際、データ管理装置３０に対する作業の軽減とサービス停止時間短縮を実現できる。
【００３０】
尚、図４及び図６に示したデータの圧縮処理、伸長処理を実現するプログラムを作成し、汎用のコンピュータがそのプログラムを読み込んで圧縮伸長装置１０を実現することが可能である。
これらのプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録させて流通させてもよいし、ネットワークを介して流通させることも可能である。
また、データ管理装置３０として、実施例においてはＤＢＭＳ（DataBase Management System）を想定して記載したが、これに限るものではなく、ファイルにデータを記憶させるシステムでもよい。
【産業上の利用可能性】
【００３１】
本発明は、業務権限や種類をビット列で表現しているシステムのアプリケーションプログラムにおいて、業務権限の増加や種類の増加対応といった業務拡張の際、ビット列の桁数拡張の改造プログラムといった用途に適用できる。
また、磁気カードなどデータ格納容量の少ないデバイスに情報を保持する際、少ない桁数で４倍の情報を格納するといった用途に適用できる。
【符号の説明】
【００３２】
１０………圧縮伸長装置
１１………ＣＰＵ
１２………ＲＯＭ
１３………ＲＡＭ
１４………圧縮伸長制御部
１５………記憶部
２０………業務制御装置
３０………データ管理装置
１５１………拡張設定情報
【図１】
2010218515.tif 000003
【図２】
2010218515.tif 000004
【図３】
2010218515.tif 000005
【図４】
2010218515.tif 000006
【図５】
2010218515.tif 000007
【図６】
2010218515.tif 000008
【図７】
2010218515.tif 000009
【図８】
2010218515.tif 000010