JP2003271408A - 電子データの更新方法及びパッチデータ作成方法 - Google Patents

電子データの更新方法及びパッチデータ作成方法

Info

Publication number
JP2003271408A
JP2003271408A JP2002070400A JP2002070400A JP2003271408A JP 2003271408 A JP2003271408 A JP 2003271408A JP 2002070400 A JP2002070400 A JP 2002070400A JP 2002070400 A JP2002070400 A JP 2002070400A JP 2003271408 A JP2003271408 A JP 2003271408A
Authority
JP
Japan
Prior art keywords
data
generation
patch
patch data
unit
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
JP2002070400A
Other languages
English (en)
Inventor
Yoji Fujiwara
要治 藤原
Kousuke Tanida
耕救 谷田
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP2002070400A priority Critical patent/JP2003271408A/ja
Publication of JP2003271408A publication Critical patent/JP2003271408A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 電子データの更新において、更新前後のファ
イルの差分をパッチデータとして蓄積する際、世代を重
ねた場合のデータサイズの増加を抑止する。 【解決手段】 第1世代ファイル11の一部のデータを
変更して第2世代のファイル12を作成した際、それら
の差分をパッチデータ21として生成し、第2世代ファ
イル12の一部のデータを変更して第3世代のファイル
13を作成した際、それらの差分をパッチデータ32と
して生成する。その後、以前に作成したパッチデータ2
1は、パッチデータ32に基づいて、第3世代のファイ
ル13に反映されない部分125に含まれる第2世代の
修正124に該当する追加ユニット214がパッドユニ
ット314に置き換えられ、パッチデータ31として更
新される。この結果、各世代のパッチデータは、内部に
含まれるデータの内、以降のパッチデータで無効になる
部分がサイズのみのダミーデータとされ、データの総量
が小さくなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電子データの更新
方法及びパッチデータ作成方法に係り、特に、プログラ
ムのバグ等を修正する電子データの更新方法及びパッチ
データ作成方法に関する。
【0002】
【従来の技術】プログラムのバグ等の問題を処置して更
新を行う従来技術として、プログラムファイルの一部分
を書き換えるパッチデータが用いられている。パッチデ
ータの作成方法の1つとして、例えば、特開平5−26
5742号公報に記載された技術が知られている。この
従来技術は、修正前後のファイルを比較し、変更内容を
抽出する手段を用いるものである。そして、プログラム
が複数回修正された場合、ぞれぞれのパッチデータを蓄
積して保持する。また、パッチデータをファイルに適用
する際には、そのファイル作成がされた以降のパッチデ
ータを時系列に順次適用することにより、ファイルを最
新の状態に更新する。
【0003】前述した従来技術は、個々のパッチデータ
が差分情報で構成されているため、データ量が小さく、
特に、ネットワーク等を経由して修正情報を提供するよ
うな場合に好適である。また、この従来技術は、配布を
容易に行うことができるように、各世代のパッチデータ
を1個のファイルにアーカイブされて提供することもで
きる。
【0004】
【発明が解決しようとする課題】前述した従来技術は、
例えば、Web等を用いて不特定の利用者にパッチデー
タを配布する場合、利用者のファイルの世代を特定する
ことができないため、全てのパッチデータを提供しなけ
ればならず、この結果、個々のパッチデータのデータ量
が小さくても、プログラムの修正が複数になると提供す
るパッチデータの数が増え、提供するデータの総量が増
加してしまうという問題点を有している。
【0005】本発明の目的は、前述した従来技術の問題
点を解決し、プログラムの修正を重ねた際のパッチデー
タ総量の増加を回避して、プログラムのバグ等を容易に
修正することができるようにした電子データの更新方法
及びパッチデータ作成方法を提供することにある。
【0006】
【課題を解決するための手段】本発明によれば前記目的
は、原データに複数回の更新が行われた場合、それぞれ
の世代相互間の差分情報を抽出し、その差分情報により
他のシステムのデータを更新するデータ更新方法におい
て、前記差分情報が、原データから削除する部分と継続
して使用する部分を示す配置情報と、新たに追加するデ
ータ及びその配置情報とからなり、以前の更新の差分情
報のうち、後の更新で上書きされる部分の情報を、実デ
ータを伴わないサイズのみのデータとしたものとするこ
とにより達成される。そして、前記差分情報は、前記世
代相互間の差分情報の1つが抽出されたとき、その差分
情報に基づいて、それ以前の世代間の差分情報が、後の
更新で上書きされる部分の情報を、実データを伴わない
サイズのみのデータに変更して更新される。
【0007】
【発明の実施の形態】以下、本発明による電子データの
更新方法及びパッチデータ作成方法の実施形態を図面に
より詳細に説明する。
【0008】図1は本発明の一実施形態で作成するパッ
チデータの概要を説明する図であり、まず、これについ
て説明する。図1において、11は第1世代ファイル、
12は第2世代ファイル、13は第3世代ファイル、2
1、31、32はパッチデータである。
【0009】いま、第1世代ファイル11の変更前(n
2)として示した変更前のデータ部分112が変更され
て第2世代ファイル12が作成されたものとする。この
場合、変更前(n2)の前後のデータ部分、これらを仮
にn1、n3とすると、第1世代ファイル11は、n
1、n2、n3の並びで構成されていることになり、デ
ータ部分n2をデータ部分n4に変更して第2世代ファ
イル12を作成すると、第2世代ファイル12は、変更
無の(n1)121、変更後の(n4)124、変更無
の(n3)123の並びで構成されることになる。
【0010】前述したように第1世代ファイル11の一
部のデータを変更して第2世代のファイル12を作成し
た際には、第1世代のファイル11と第2世代のファイ
ル12とを比較してパッチデータ21が作成される。作
成されたパッチデータ21は、無変更ユニット211、
213、削除ユニット212、追加ユニット214の3
種類のユニットの列として構成される。それぞれのユニ
ットは、2つのファイルを比較して得られる変更無部分
121、123、削除部分112、追加部分124に対
応する。
【0011】次に、第2世代ファイル12の変更後の
(n4)124及び前後の変更無の(n1)121、変
更無の(n3)123のそれぞれの一部とを合わせたデ
ータ部分を変更して第3世代ファイル13が作成された
ものとする。この場合、第2世代ファイル12における
前述の変更部分を変更前(n5)125とし、変更無の
(n1)121、変更無の(n3)123の一部に、こ
れらに隣接する部分を加えたデータ部分を変更無の(n
6)、変更無の(n8)とすると、第2世代ファイル1
2は、n6、n5、n8の並びで構成されていることに
なり、データ部分n5をデータ部分n7に変更して第3
世代ファイル13を作成すると、第3世代ファイル12
は、変更無の(n6)136、変更後の(n7)13
7、変更無の(n8)138の並びで構成されることに
なる。
【0012】前述したように第2世代ファイル12の一
部のデータを変更して第3世代のファイル13を作成し
た際には、第2世代のファイル12と第3世代のファイ
ル13とを比較してパッチデータ32が作成される。作
成されたパッチデータ32は、無変更ユニット326、
328、削除ユニット325、追加ユニット327の3
種類のユニットの列として構成される。それぞれのユニ
ットは、2つのファイルを比較して得られる変更無部分
136、138、削除部分125、追加部分137に対
応する。
【0013】そして、前述で作成されたパッチデータ3
2に基づいて、以前に作成したパッチデータ21を更新
してパッチデータ31として作成する。このパッチデー
タ31は、第3世代のファイル13に反映されない部分
125に含まれる第2世代の修正124に該当する追加
ユニット214がパッドユニット314に置き換えられ
て作成される。パッドユニット314は、ダミーデータ
(例えば“0”値等の予め決められた埋め込みデータ
(パッドと呼ぶ))を指定された長さだけ変更後のファ
イルに追加することを意味する。
【0014】図2はパッチデータを構成するユニットの
構造を説明する図、図3はパッチデータの構造を説明す
る図であり、次に、図1で説明したパッチデータの構造
について説明する。
【0015】パッチデータを構成する各ユニットは、図
2に示すように、ユニットの種別(追加、削除、無変
更、パッド)を示すフラグ103と、ユニットが対応す
るファイルの各部位のサイズ104との情報を保持す
る。特に、図1で説明した追加ユニット214、327
は、前述に加えて、ファイルの変更内容を示すデータ1
05も保持する。このデータ105は、ファイルの変更
後の内容124、137そのものである。なお、パッド
ユニット314のサイズ104は、パッドを追加する長
さを表す。
【0016】更新前のパッチデータ21と更新後のパッ
チデータ31とを比較すると、追加ユニット214がデ
ータ105を持たないパッドユニット314に変更され
ているため、更新後のパッチデータ31のサイズを更新
前のパッチデータ21より小さくすることができる。
【0017】パッチデータは、図3に示すように、パッ
チデータ識別ID101や総ユニット数102による管
理情報をヘッダに持ち、その後に、図2により説明した
各種ユニットが並んで構成されている。このとき、各ユ
ニットと対応するファイル上の位置は、前に並ぶユニッ
トの持つサイズ情報104を加算することにより得るこ
とができ、削除ユニットと無変更ユニットとのサイズ情
報104との総和は、変更前のファイル上のオフセット
であり、追加ユニット、パッドユニット及び無変更ユニ
ットのサイズ情報104の総和は変更後ファイル上のオ
フセットになる。
【0018】図4は複数世代のファイルからパッチデー
タを作成する動作を説明する図、図5はパッチデータを
作成する際の差分抽出処理の動作を説明するフローチャ
ートであり、以下、図4、図5を参照して、パッチデー
タの作成について具体的に説明する。
【0019】パッチデータは、図4に示すように各ファ
イル相互間の差分抽出50と以前のパッチデータの差分
更新51とにより作成される。まず、最初のファイル更
新の際の第2世代のファイル12の作成時、第1世代の
ファイル11と第2世代のファイル12とを比較し差分
抽出を行って第2世代のパッチデータ21を作成する。
次の更新の際の第3世代のファイル13の作成時、第2
世代のファイル12と第3世代のファイル13とを比較
し差分抽出を行って第3世代のパッチデータ32を作成
する。このパッチデータ32を元にパッチデータ21を
更新して新しい第3世代のパッチデータ31を作成す
る。以降、ファイルが更新される度に前述と同一の手順
を適用してパッチデータを更新していく。
【0020】次に、図5に示すフローを参照して、差分
抽出50の処理動作を説明する。
【0021】(1)まず、変更前と変更後のファイルを
オープンし、それぞれのファイルを先頭から参照し、一
致するデータを検索し、一致データが終了したか否かを
判定する(ステップ603〜605)。
【0022】(2)ステップ605の判定で、一致デー
タがあれば、変更前ファイルに対して、1つ前の一致デ
ータの最終位置、初回はファイルの先頭から今回の一致
データの開始位置までの間のサイズをユニットのサイズ
104に設定すると共に、フラグ103に「削除」を設
定して削除ユニットを作成し、パッチデータに追加する
(ステップ606)。
【0023】(3)また、変更後ファイルに対して、1
つ前の一致データの最終位置、初回はファイルの先頭か
ら今回の一致データの開始位置までの間のサイズをユニ
ットのサイズ104に設定するとともに、フラグ103
に「追加」を設定し、データ105にその範囲の変更後
のファイルの内容を設定して追加ユニットを作成し、パ
ッチデータに追加する(ステップ607)。
【0024】(4)その後、一致するデータのサイズを
ユニットのサイズ104に設定すると共に、フラグ10
3に「無変更」を設定して無変更ユニットを作成し、パ
ッチデータに追加し、ステップ604からの処理に戻っ
て、以降、一致データがなくなるまで繰り返す(ステッ
プ608)。
【0025】(5)その後、最後の一致データの最終位
置から変更前ファイルの最終位置までのサイズをユニッ
トのサイズ104に設定すると共に、フラグ103に
「削除」を設定して削除ユニットを作成しし、パッチデ
ータに追加する(ステップ609)。
【0026】(6)また、最後の一致データの最終位置
から変更後ファイルの最終位置までのサイズをユニット
のサイズ104に設定すると共に、フラグ103に「追
加」を設定し、データ105にその範囲の変更後のファ
イルの内容を設定して追加ユニットを作成して、パッチ
データに追加する(ステップ660)。
【0027】(7)最後に、変更前ファイル及び変更後
ファイルをクローズし、パッチデータ識別ID101と
総ユニット数102とをパッチデータに設定して差分抽
出の処理を終了する(ステップ661、662)。
【0028】図6は図4で説明した差分更新51の処理
動作を説明する図、図7は差分更新の処理の中で作成さ
れるマップ情報の構造を説明する図であり、次に、差分
更新の処理について説明する。ここでは、図4に示す第
3世代のパッチデータ31、32を更新して、第4世代
のパッチデータ41、42を作成する処理を例として説
明する。
【0029】まず、マッピング処理511により、第3
世代のファイル13のデータの中のパッチデータ43に
よって無効になる範囲、すなわち、削除ユニットによっ
て削除される部分を求め、マップ情報512を作成す
る。次に、変換処理513において、パッチデータ32
をマップ情報512と比較し、無効となる範囲の追加ユ
ニットをパッドユニットに置き換える。その際、パッチ
データ32を用いてマップ情報512を変換して、次の
マップ情報514を作成する。マップ情報514は、第
2世代のファイル12のデータの中のパッチデータ43
によって無効になる範囲をマップしたものである。この
変換処理は、パッチデータ32によって第2世代のファ
イル12から第3世代のファイル13が作成される際
に、パッチデータ43によって無効となる範囲のファイ
ル内での位置がずれるのを補正するための処理である。
更に、変換処理515において、変換処理513と同じ
ように、マップ情報514を用いてパッチデータ31を
変換して新たなパッチデータ41を作成する。
【0030】前述で作成されるマップ情報512、51
4は、図7に示すように、変更前ファイルのデータのう
ち、無効となる範囲と継続して使用される範囲とを表し
た情報である。差分更新処理51において、マップ情報
512、514は、削除あるいは継続を示すフラグ10
6とサイズ107とを持つエントリの配列として保持さ
れる。無効となる範囲は、フラグ106に「削除」を設
定した削除エントリで表され、継続して使用される範囲
は、フラグ106に「継続」を設定した継続エントリで
表される。
【0031】図8は前述したマッピング処理511によ
るマップ情報512の作成処理の動作を説明するフロー
チャートであり、次に、これについて説明する。
【0032】(1)まず、パッチデータ43をオープン
して、先頭から1つずつユニットを読み込み、読み込ん
だユニットがファイルの終端であるか否かを判定し、フ
ァイルの終端であった場合、処理が終了したので、パッ
チデータをクローズして処理を終了する(ステップ61
1〜613、617)。
【0033】(2)ステップ613の判定で、読み込ん
だユニットがファイルの終端でなかった場合、読み込ん
だユニットの種別を判別し、削除ユニットであればマッ
プ情報512に削除エントリを追加し、無変更ユニット
であればマップ情報512に継続エントリを追加する
(ステップ614〜616)。
【0034】(3)ステップ615、616の処理終了
後、または、ステップ614の判定で、読み込んだユニ
ットの種別が、削除ユニット、無変更ユニット以外のそ
の他のユニットである追加ユニットあるいはパッドユニ
ットの場合には何もしないで、ステップ612からの処
理に戻って、ファイルの終端が検出するまで繰り返す。
【0035】図9は図6により説明した変換処理513
によるパッチデータの更新の処理動作を説明するフロー
チャートであり、次に、これについて説明する。なお、
この処理は、変換処理515の場合も同一である。
【0036】(1)まず、パッチデータ32をオープン
して、先頭からユニットを1つずつ読み込み、読み込ん
だユニットがファイルの終端であるか否かを判定し、フ
ァイルの終端であった場合、処理が終了したので、パッ
チデータをクローズして処理を終了する(ステップ62
1〜623、629)。
【0037】(2)ステップ623の判定で、読み込ん
だユニットがファイルの終端でなかった場合、読み込ん
だユニットが追加ユニットであるか否かを判定し、追加
ユニットであった場合、マップ情報512とユニットの
位置を比較する。なお、この位置の比較は、パッチデー
タ32によって変換された後のファイルである第3世代
ファイル13での位置で行う。従って、追加ユニットの
位置については、それまでに読み込んだ追加ユニット、
パッドユニット、無変更ユニットのサイズの合計により
開始位置が求められ、開始位置と当該追加ユニットのサ
イズの合計により終了位置が求められる。また、マップ
情報512が示す各削除範囲の位置については、当該削
除範囲に対応する削除エントリより前に並ぶ削除エント
リと継続エントリのサイズの合計により開始位置が求め
られ、開始位置と当該削除エントリのサイズとの合計に
より終了位置が求められる(ステップ624、62
5)。
【0038】(3)ステップ625の比較の結果、当該
ユニットが削除範囲に重なるか否かを判定し、重なる場
合、その範囲をパッドユニットとして変換後のパッチデ
ータ42に追加する。このパッドユニットの出力処理
は、追加ユニットの開始位置から終了位置までの範囲
が、マップ情報512のいずれかの削除エントリが示す
削除範囲に完全に含まれる場合、当該追加ユニットと同
じサイズを持つパッドユニットを作成して、変換後のパ
ッチデータ42に追加することにより行われる。また、
追加ユニットの開始位置から終了位置までの範囲が、マ
ップ情報512のいずれか1つ以上の削除エントリが示
す削除範囲と部分的に重なる場合、削除範囲に含まれる
部分とそうでない部分の境界を求め、その境界位置に基
づいて、当該追加ユニットを複数の対応するサイズを持
つユニットに分割し、削除範囲に含まれる部分に対応す
るユニットをパッドユニットとして、また、削除範囲に
含まれない部分に対応するユニットをその範囲のデータ
を持つ追加ユニットとして変換後のパッチデータ42に
追加することにより行われる(ステップ626、62
7)。
【0039】(4)ステップ624の判定で、読み込ん
だユニットが追加ユニットでなく、それ以外の場合、ま
たは、ステップ626の判定で、読み込んだ追加ユニッ
トがマップ情報512のいずれの削除範囲にも含まれな
かった場合、入力したユニットをそのまま変換後のパッ
チデータ42に追加する(ステップ628)。
【0040】(5)ステップ627、628の処理終了
後、ステップ622からの処理に戻って、パッチデータ
32の終端まで繰り返す。
【0041】図10は図6により説明した変換処理51
3によるマップ情報512の更新の処理動作を説明する
フローチャートであり、次に、これについて説明する。
【0042】(1)まず、マップ情報512の内容をコ
ピーし、作業用のマップ情報を作成する。次に、パッチ
データ32をオープンして、先頭からユニットを1つず
つ読み込む(ステップ631〜633)。
【0043】(2)読み込んだユニットがファイルの終
端であるか否かを判定し、読み込んだユニットがファイ
ルの終端でなかった場合、読み込んだユニットの種別を
判別し、削除ユニットであれば、そのユニットに対応す
る作業用マップ情報内のエントリのサイズ107に削除
ユニットの持つサイズ104を加算する。なお、削除ユ
ニットと対応する作業用マップ情報内のエントリは次の
ように求められる。まず、削除ユニットの第3世代ファ
イル13内の対応する位置を、当該削除ユニットより前
に読み込んだ追加ユニット、パッドユニット、無変更ユ
ニットのサイズを合計することにより求める。次に、マ
ップ情報512内の各エントリの範囲の開始位置と終了
位置とを求める。すなわち、当該エントリより前に並ぶ
削除エントリと継続エントリのサイズとの合計により当
該エントリの開始位置が求められ、開始位置と当該エン
トリのサイズの合計により当該エントリの終了位置が求
められる。そして、当該削除ユニットの位置を範囲内に
含むマップ情報512内のエントリを求め、マップ情報
512とそれからコピーして作成された作業用マップ情
報との対応関係から、作業用マップ情報内の対応するエ
ントリを求める(ステップ634〜636)。
【0044】(3)ステップ635の判定で、読み込ん
だユニットが追加ユニットやパッドユニットであった場
合、そのユニットに対応する作業用マップ情報内のエン
トリのサイズ107から、追加ユニットもしくはパッド
ユニットの持つサイズ104を減算する。なお、当該追
加ユニットもしくはパッドユニットと対応する作業用マ
ップ情報内のエントリは次のように求められる。まず、
当該ユニットの第3世代ファイル13内の対応する範囲
の開始位置と終了位置とを求める。すなわち、当該ユニ
ットより前に読み込んだ追加ユニット、パッドユニッ
ト、無変更ユニットのサイズを合計することにより開始
位置が求められ、開始位置と当該ユニットのサイズとの
合計により終了位置が求められる。次に、マップ情報5
12内の各エントリの範囲開始位置と終了位置とを、前
述の方法により求める。そして、当該ユニットの範囲と
範囲が重なるマップ情報512内のエントリを求め、マ
ップ情報512とそれからコピーして作成された作業用
マップ情報との対応関係から、作業用マップ情報内の対
応するエントリを求める。また、エントリのサイズの減
算処理は、具体的には次のように行われる。すなわち、
前述のように求めたユニットの範囲が、1つのエントリ
の範囲に完全に含まれる場合、作業用マップ情報内の対
応するエントリのサイズ107から、当該ユニットの持
つサイズ104を減算する。また、ユニットの範囲が、
1つ以上のエントリの範囲と重なる場合、作業用マップ
情報内のそれぞれのエントリのサイズ107から当該エ
ントリと当該ユニットの重なるサイズを減算する(ステ
ップ637)。
【0045】(4)ステップ636、637の処理終了
後、または、ステップ635の判定で、読み込んだユニ
ットの種別が、削除ユニット、追加ユニットあるいはパ
ッドユニット以外のその他のユニットである場合には何
もしないで、ステップ633からの処理に戻って、ファ
イルの終端が検出するまで繰り返す。
【0046】(5)そして、ステップ634の判定で、
パッチデータ32の終端が計算機されると、パッチデー
タ32をクローズし、作業用のマップ情報を変換後のマ
ップ情報514として出力して処理を終了する(ステッ
プ638、639)。
【0047】前述では、説明の便宜上、パッチデータの
更新とマップデータの更新とを分けて説明したが、一般
にはこれらを1つの手続きとして実装することができ
る。
【0048】前述した本発明の実施形態の処理で作成さ
れた各世代のパッチデータは、従来技術の場合と同様
に、ネットワーク等を経由して修正情報として提供する
ことができ、また、各世代のパッチデータを1個のファ
イルにアーカイブして配布することができる。そして、
これらのパッチデータは、事前に配布されているプログ
ラム等の電子データの修正に利用される。
【0049】図11はパッチデータの適用例を説明する
図である。ここで説明する例は、第3世代のパッチデー
タ31、32を第1世代のファイル11に適用して第3
世代のファイルを復元する場合の例である。
【0050】まず、第1世代のファイル11に対してパ
ッチデータ31を適用する。第1世代の変更箇所112
は、パッチデータ31の削除ユニット312によって削
除され、パッドユニット314によってパッド144が
加えられて中間ファイル14が作成される。次に、この
中間ファイル14に対して、パッチデータ32を適用す
ると、中間ファイル14のパッド144を含む領域は、
パッチデータ32の削除ユニット325によって削除さ
れ、追加データ327によって新しいデータ137に置
き換えられる。これによって第3世代のファイル13が
復元される。
【0051】図12はパッチデータの適用処理を説明す
るフローチャートであり、次に、これについて説明す
る。
【0052】(1)まず、原ファイルとパッチデータと
をオープンし、その後、パッチデータから1つずつユニ
ットを読み込む。読み込んだユニットがファイルの終端
に対応するものか否かを判定する(ステップ641〜6
43)。
【0053】(2)ステップ643の判定で、読み込ん
だユニットがファイルの終端でなかった場合、読み込ん
だユニットが追加ユニットであるか否かを判定し、追加
ユニットであれば、追加ユニットに含まれるデータ10
5を出力する(ステップ644、645)。
【0054】(3)ステップ644の判定で、読み込ん
だユニットが追加ユニットでなかった場合、読み込んだ
ユニットが削除ユニットであるか否かを判定し、削除ユ
ニットであれば、削除ユニットのサイズ104だけ原フ
ァイルの読み込みをスキップする(ステップ646、6
47)。
【0055】(4)ステップ646の判定で、読み込ん
だユニットが削除ユニットでなかった場合、読み込んだ
ユニットが無変更ユニットであるか否かを判定し、無変
更ユニットであれば、無変更ユニットのサイズ104だ
け原ファイルから読み込んで、それを出力する(ステッ
プ648、649)。
【0056】(5)ステップ648の判定で、読み込ん
だユニットが無変更ユニットでなかった場合、他のユニ
ット、すなわち、パッドユニットであると判定し、パッ
ドユニットのサイズ104だけダミーデータ“0”値等
を出力する(ステップ650)。
【0057】(6)ステップ645、647、649ま
たは650の処理後、ステップ642からの処理に戻っ
て、前述した処理をパッチデータの終端が検出されるま
で繰り返す。これにより、原ファイルを更新した新しい
ファイルが作成されるので、原ファイルとパッチデータ
とをクローズして処理を終了する(ステップ651)。
【0058】前述した本発明の実施形態による各処理
は、処理プログラムとして構成することができ、この処
理プログラムは、HD、DAT、FD、MO、DVD−
ROM、CD−ROM等の記録媒体に格納して提供する
ことができる。
【0059】前述した本発明の実施形態によれば、プロ
グラムの修正を重ねた際のパッチデータ総量の増加を回
避して、プログラムのバグ等を容易に修正することがで
きる。また、本発明の実施形態は、パッチデータ総量を
少なくすることができるので、ネットワーク等を経由し
て修正情報を他のシステム等に提供するような場合に適
用して好適である。
【0060】
【発明の効果】以上説明したように本発明によれば、修
正を重ねても配布すべきパッチデータの総量を小さく抑
えることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態で作成するパッチデータの
概要を説明する図である。
【図2】パッチデータを構成するユニットの構造を説明
する図である。
【図3】パッチデータの構造を説明する図である。
【図4】複数世代のファイルからパッチデータを作成す
る動作を説明する図である。
【図5】パッチデータを作成する際の差分抽出処理の動
作を説明するフローチャートである。
【図6】図4で説明した差分更新の処理動作を説明する
図である。
【図7】差分更新の処理の中で作成されるマップ情報の
構造を説明する図である。
【図8】図6により説明したマッピング処理によるマッ
プ情報の作成処理の動作を説明するフローチャートであ
る。
【図9】図6により説明した変換処理によるパッチデー
タの更新の処理動作を説明するフローチャートである。
【図10】図6により説明した変換処理によるマップ情
報の更新の処理動作を説明するフローチャートである。
【図11】パッチデータの適用例を説明する図である。
【図12】パッチデータの適用処理を説明するフローチ
ャートである。
【符号の説明】
11 第1世代ファイル 12 第2世代ファイル 13 第3世代ファイル 14 第4世代ファイル 21、31、32、41〜43 パッチデータ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 原データに複数回の更新が行われた場
    合、それぞれの世代相互間の差分情報を抽出し、その差
    分情報により他のシステムのデータを更新するデータ更
    新方法において、前記差分情報は、原データから削除す
    る部分と継続して使用する部分を示す配置情報と、新た
    に追加するデータ及びその配置情報からなり、以前の更
    新の差分情報のうち、後の更新で上書きされる部分の情
    報を、実データを伴わないサイズのみのデータとしたも
    のであることを特徴とする電子データの更新方法。
  2. 【請求項2】 前記差分情報は、前記世代相互間の差分
    情報の1つが抽出されたとき、その差分情報に基づい
    て、それ以前の世代間の差分情報が、後の更新で上書き
    される部分の情報を、実データを伴わないサイズのみの
    データに変更して更新されることを特徴とする請求項1
    記載の電子データの更新方法。
  3. 【請求項3】 前記差分情報による他のシステムのデー
    タの更新は、ある世代のデータと次の世代のデータとの
    差分情報により、前記ある世代の変更箇所を前記差分情
    報の削除ユニットによって削除し、パッドユニットによ
    ってパッドを加えて中間データを作成し、次に、この中
    間データに対して、その次の世代の差分情報により、中
    間データのパッドを含む領域をその次の世代の差分情報
    の削除ユニットによって削除し、追加データによって新
    しいデータに置き換えることにより行われることを特徴
    とする請求項1または2記載の電子データ更新方法。
  4. 【請求項4】 原データに複数回の更新が行われた場
    合、それぞれの世代相互間の差分情報をパッチデータと
    して抽出するパッチデータ作成方法において、原データ
    及び原データを順次更新したデータを第1世代データ、
    第2世代データ、……、第n世代データとし、第1世代
    データと第2世代データとの間の差分情報を第2世代パ
    ッチデータ、第2世代データと第3世代データとの間の
    差分情報を第3世代パッチデータ、……、第n−1世代
    データと第n世代データとの間の差分情報を第n世代パ
    ッチデータとし、第i(3≦i≦n)世代データが作成
    され、第i世代パッチデータが作成されたとき、第i世
    代パッチデータに基づいて、この第i世代パッチデータ
    より以前の世代のパッチデータが、その更新の差分情報
    のうち、後の更新で上書きされる部分の情報を、実デー
    タを伴わないサイズのみのデータに変更されて更新され
    ることを特徴とするパッチデータ作成方法。
  5. 【請求項5】 原データに複数回の更新が行われた場
    合、それぞれの世代相互間の差分情報をパッチデータと
    して抽出するパッチデータ作成処理プログラムにおい
    て、原データ及び原データを順次更新したデータを第1
    世代データ、第2世代データ、……、第n世代データと
    し、第1世代データと第2世代データとの間の差分情報
    を第2世代パッチデータ、第2世代データと第3世代デ
    ータとの間の差分情報を第3世代パッチデータ、……、
    第n−1世代データと第n世代データとの間の差分情報
    を第n世代パッチデータとし、第i(3≦i≦n)世代
    データが作成されたとき、第i世代パッチデータを作成
    する処理プログラムと、第i世代パッチデータに基づい
    て、この第i世代パッチデータより以前の世代のパッチ
    データの更新の差分情報のうち、後の更新で上書きされ
    る部分の情報を、実データを伴わないサイズのみのデー
    タに変更する処理プログラムとを有することを特徴とす
    るパッチデータ作成処理プログラム。
JP2002070400A 2002-03-14 2002-03-14 電子データの更新方法及びパッチデータ作成方法 Pending JP2003271408A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002070400A JP2003271408A (ja) 2002-03-14 2002-03-14 電子データの更新方法及びパッチデータ作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002070400A JP2003271408A (ja) 2002-03-14 2002-03-14 電子データの更新方法及びパッチデータ作成方法

Publications (1)

Publication Number Publication Date
JP2003271408A true JP2003271408A (ja) 2003-09-26

Family

ID=29200978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002070400A Pending JP2003271408A (ja) 2002-03-14 2002-03-14 電子データの更新方法及びパッチデータ作成方法

Country Status (1)

Country Link
JP (1) JP2003271408A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005055055A1 (ja) * 2003-12-05 2005-06-16 Fujitsu Limited データ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
JP2006184979A (ja) * 2004-12-24 2006-07-13 Fujitsu Ltd ファイル情報の書き込み処理方法およびプログラム
WO2015132904A1 (ja) * 2014-03-05 2015-09-11 株式会社日立製作所 情報処理方法及び情報処理システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005055055A1 (ja) * 2003-12-05 2005-06-16 Fujitsu Limited データ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
JP2006184979A (ja) * 2004-12-24 2006-07-13 Fujitsu Ltd ファイル情報の書き込み処理方法およびプログラム
US8468290B2 (en) 2004-12-24 2013-06-18 Fujistu Semiconductor Limited Method and program for file information write processing
WO2015132904A1 (ja) * 2014-03-05 2015-09-11 株式会社日立製作所 情報処理方法及び情報処理システム
JP5967791B2 (ja) * 2014-03-05 2016-08-10 株式会社日立製作所 情報処理方法及び情報処理システム

Similar Documents

Publication Publication Date Title
JP5437557B2 (ja) 検索処理方法及び検索システム
US8055096B2 (en) Method and system for incremental patching of binary files
US20050165852A1 (en) System and method for tracking annotations of data sources
KR100717064B1 (ko) 소프트웨어 업데이트 실행 방법 및 장치
KR101421364B1 (ko) 처리 장치 및 기입 방법
JP2004152136A (ja) データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム
JP2008139971A (ja) 文書処理装置及び文書処理プログラム
TW202309741A (zh) 差分包產生方法,差分包產生設備,更新方法,及嵌入式系統
CA2588001C (en) Method and system for incremental patching of binary files
JPH0863342A (ja) プログラム管理方法および装置
JP2003271408A (ja) 電子データの更新方法及びパッチデータ作成方法
CN108664255A (zh) 一种软件升级方法及装置
CN112181248B (zh) 一种历史列表的操作方法和装置
JP3245047B2 (ja) バージョン管理装置及び方法
CN112052234A (zh) 业务数据的处理方法和装置、存储介质、电子装置
JP2004258865A (ja) 情報処理方法
CN106502903A (zh) 一种程序的变更功能确定方法、装置及处理设备
JP2006079492A (ja) 差分データ生成装置、差分データ生成方法および差分データ生成プログラム
JPH0795267B2 (ja) ソフトウェア仕様書再利用方法
JPH0362137A (ja) 可変長ブロック群による長大データの格納方法
JP2000215217A (ja) 論理合成方法及び装置
JP4311926B2 (ja) データ管理装置並びにプログラムおよび記録媒体
JP3239830B2 (ja) 移送命令最適化装置および方法
KR100504797B1 (ko) 롬 이미지 생성방법
JPH02224155A (ja) 情報処理システムの履歴データ再現方式