JP7419853B2 - 情報処理装置及びプログラム - Google Patents
情報処理装置及びプログラム Download PDFInfo
- Publication number
- JP7419853B2 JP7419853B2 JP2020019437A JP2020019437A JP7419853B2 JP 7419853 B2 JP7419853 B2 JP 7419853B2 JP 2020019437 A JP2020019437 A JP 2020019437A JP 2020019437 A JP2020019437 A JP 2020019437A JP 7419853 B2 JP7419853 B2 JP 7419853B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- old
- new
- data
- name
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 32
- 238000000034 method Methods 0.000 claims description 63
- 238000012217 deletion Methods 0.000 claims description 19
- 230000037430 deletion Effects 0.000 claims description 19
- 238000011900 installation process Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000009434 installation Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005401 electroluminescence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
他方で、旧ファイルを確実に特定して削除するのは必ずしも容易でなく、不適切なファイルを誤って削除するとシステムの不具合に繋がる。
このように、従来の技術では、適切に旧ファイルを削除するのが容易でないという課題がある。
インストール対象の新ファイルを所定の記憶領域に追加する追加手段と、
前記新ファイルのデータに対して所定の符号化処理を実行することにより、当該新ファイルのデータに対応した第1要約符号を生成する符号化処理手段と、
前記符号化処理手段によって生成された前記第1要約符号を、前記新ファイルのファイル名に挿入するファイル名生成手段と、
判別対象の旧ファイルが削除対象であるか否かを判別する判別手段と、
前記判別手段により前記旧ファイルが削除対象であると判別された場合に当該旧ファイルを削除する削除手段と、を備え、
前記判別手段は、前記新ファイルのファイル名に含まれている前記第1要約符号の生成に用いられた前記符号化処理と同一の符号化処理を、前記旧ファイルのデータに対して実行することにより生成される第2要約符号が、前記旧ファイルのファイル名に含まれている場合に、前記旧ファイルが削除対象であると判別することを特徴とする。
情報処理システム100は、サーバ1(情報処理装置)と、複数の端末装置2と、を備えている。サーバ1及び端末装置2は、通信ネットワーク3を介して情報通信可能に接続されている。
サーバ1は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、記憶部13と、操作部14と、表示部15と、通信部16と、バス17などを備える。サーバ1の各部は、バス17を介して接続されている。
端末装置2は、CPU21と、RAM22と、記憶部23と、操作部24と、表示部25と、通信部26と、バス27などを備えている。また、端末装置2の各部は、バス27を介して接続されている。
プログラムファイル群132では、複数のディレクトリD1~D3(記憶領域)が階層構造を形成している。以下では、任意のディレクトリを指す場合にはディレクトリDと記す。各ディレクトリDには、プログラムファイルやデータファイルが格納されている。
このうちディレクトリD1には、ウェブアプリケーションのトップページに係るHTML(Hypertext Markup Language)ファイルであるファイルF1(ファイル名:「index.html」)と、ファイルF1のトップページで呼び出されて実行されるスクリプトファイル(「index.js」)とが格納されている。詳しくは、図4に示すタイミングでは、スクリプトファイルの新ファイルFn1(ファイル名:「index9b6e8fb5e349541cbd3d.js」)及び旧ファイルFo1(ファイル名:「index5yso3zkcx9128g083ro8.js」)が格納されている。
また、ディレクトリD2には、ファイルF2が格納されている。
また、ディレクトリD3には、スクリプトファイルの新ファイルFn3(ファイル名:「viewer3c7b9fd2e816409dfa3b.js」)及び旧ファイルFo3(ファイル名:「viewer27acc7ebfa49624cbd9f.js」)が格納されている。
同様に、新ファイルFn3及び旧ファイルFo3は、それぞれスクリプトファイル「viewer.js」のバージョンアップ後のファイル、及びバージョンアップ前のファイルである。すなわち、インストーラ131は、旧ファイルFo3を新ファイルFn3に置き換えるために、旧ファイルFo3が格納されていたディレクトリD3に対して新ファイルFn3を追加する。
新ファイルFn1のファイル名は、名称部Nn、コンテンツハッシュ値Hn(第1要約符号、ハッシュ値)(単にコンテンツハッシュ又はハッシュとも呼ばれる)、及び拡張子Enからなる。名称部Nnは、ファイル名の先頭から所定文字数の文字列であり、新ファイルFn1のファイルの種別を示す。ここでは、名称部Nnは文字列「index」からなる。コンテンツハッシュ値Hnは、新ファイルFn1のデータに対応した要約符号であり、20桁の文字列「9b6e8fb5e349541cbd3d」からなる。
また、旧ファイルFo1のファイル名は、名称部No、コンテンツハッシュ値Ho(第2要約符号)、及び拡張子Eoからなる。旧ファイルFo1は、ファイルの種別が新ファイルFn1と同一であるため、名称部Noは名称部Nnと同一であり、拡張子Eoは拡張子Enと同一である。コンテンツハッシュ値Hoは、旧ファイルFo1のデータに対応した要約符号であり、20桁の文字列「5fed3babf9128e083dc8」からなる。
コンテンツハッシュ値Hnは、新ファイルFnのデータに対してハッシュ処理を実行することで生成される文字列である。また、コンテンツハッシュ値Hoは、旧ファイルFoのデータに対してハッシュ処理を実行することで生成される文字列である。
ハッシュ処理は、処理対象のデータに対応した要約符号が生成される「符号化処理」の一例である。
すなわち、コンテンツハッシュ値Hを含ませることにより、新ファイルFnと旧ファイルFoとでファイル名が異なることとなるため、インストーラ131は、プログラムファイル群132の多数の(例えば数千~数万の)インストール対象のファイルのうち、既存のファイルとはファイル名の異なるファイルを特定して追加することで、新ファイルFnのみを過不足なくインストールすることができる。
すなわち、まず、ファイル名の冒頭の名称部Noが新ファイルFnの名称部Nnと同一であり、かつ拡張子Eoが新ファイルFnの拡張子Enと同一である旧ファイルFoを、削除対象候補として抽出する。
そして、抽出した旧ファイルFoのファイル名に、当該旧ファイルFoのデータに対してハッシュ処理を実行することにより生成されるコンテンツハッシュ値Hoが含まれている場合に、当該旧ファイルFoが削除対象であると判別して削除する。この判別に用いるハッシュ処理は、新ファイルFnのファイル名に含まれているコンテンツハッシュ値Hnの生成に用いられたハッシュ処理と同一の処理とする。換言すれば、新ファイルFnのコンテンツハッシュ値Hnの生成に用いられたハッシュ処理と同一のハッシュ処理により、旧ファイルFoのファイル名のコンテンツハッシュ値Hoが生成されていると判別された場合に、当該旧ファイルFoを削除する。
よって、プログラムファイル群132のインストール及びアップデートの際に常に同一のハッシュ処理を用いてコンテンツハッシュ値Hを生成し、ファイル名に含ませておけば、上記の手順により、過去にインストーラ131によりインストールされた旧ファイルFoであって、新ファイルFnにより置き換えられて使用されていない旧ファイルFoのみを確実に特定して削除することができる。
インストール処理は、インストーラ131に従ってCPU11が各種処理を実行することにより進行する。
インストール処理が開始されると、CPU11は、インストール対象(バージョンアップ対象)の新ファイルFnに対してハッシュ処理を実行し、生成されたコンテンツハッシュ値Hを新ファイルFnのファイル名に挿入する(ステップS101)。このように、CPU11は、新ファイルFnが所定のディレクトリDに記憶される際に、新ファイルFoのデータに対応するコンテンツハッシュ値Hnを生成するとともに、コンテンツハッシュ値Hnを新ファイルFnのファイル名に挿入する。なお、インストール処理の開始前に予めハッシュ処理が行われ、コンテンツハッシュ値Hを含むファイル名の新ファイルFnが用意されている場合には、本ステップS101は省略することができる。
コンテンツハッシュ値Hoが旧ファイルFoのファイル名の符号と一致しないと判別された場合には(ステップS105で“NO”)、CPU11は、旧ファイルFoを削除せずに処理をステップS107に進める。
例えば、情報処理装置としてサーバ1を例に挙げて説明したが、これに限られず、例えば端末装置2も本発明の情報処理装置に対応し得る。よって、端末装置2においてソフトウェアのインストールを行う場合に本発明を適用してもよい。また、情報処理装置は、複数の機器がネットワーク接続された情報処理システムを構成するものに限られず、他の機器と接続されずに用いられるスタンドアローンの情報処理装置に本発明を適用してもよい。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
インストール対象の新ファイルを所定の記憶領域に追加する追加手段と、
前記新ファイルのデータに対して所定の符号化処理を実行することにより、当該新ファイルのデータに対応した第1要約符号を生成する符号化処理手段と、
前記符号化処理手段によって生成された前記第1要約符号を、前記新ファイルのファイル名に挿入するファイル名生成手段と、
前記新ファイルによって置き換えられる旧ファイルがある場合に、当該旧ファイルが削除対象であるか否かを判別する判別手段と、
前記判別手段により前記旧ファイルが削除対象であると判別された場合に当該旧ファイルを削除する削除手段と、を備え、
前記判別手段は、前記新ファイルのファイル名に含まれている前記第1要約符号の生成に用いられた前記符号化処理と同一の符号化処理を、前記旧ファイルのデータに対して実行することにより生成される第2要約符号が、前記旧ファイルのファイル名に含まれている場合に、前記旧ファイルが削除対象であると判別することを特徴とする情報処理装置。
<請求項2>
前記符号化処理手段は、前記追加手段によって前記新ファイルが所定の記憶領域に追加されたことを条件に、前記旧ファイルのデータに対して前記符号化処理を実行して前記第2要約符号を生成し、
前記判別手段は、前記符号化処理手段により生成された前記第2要約符号が前記旧ファイルのファイル名に含まれる場合に、前記旧ファイルが削除対象であると判別することを特徴とする請求項1に記載の情報処理装置。
<請求項3>
前記追加手段によって前記新ファイルが所定の記憶領域に記憶される際に、前記符号化処理手段が前記新ファイルのデータに対応する前記第1要約符号を生成するとともに、前記ファイル名生成手段が当該第1要約符号を前記新ファイルのファイル名に挿入することを特徴とする請求項1又は2に記載の情報処理装置。
<請求項4>
前記符号化処理はハッシュ処理であり、
前記第1要約符号及び前記第2要約符号は、ハッシュ値であることを特徴とする請求項1~3のいずれか一項に記載の情報処理装置。
<請求項5>
前記新ファイル及び前記旧ファイルの各ファイル名の先頭には同一の文字列が含まれており、
前記判別手段は、判別対象の前記旧ファイルを、少なくとも前記文字列に基づいて特定することを特徴とする請求項1~4のいずれか一項に記載の情報処理装置。
<請求項6>
情報処理装置に設けられたコンピュータを、
インストール対象の新ファイルを所定の記憶領域に追加する追加手段、
前記新ファイルのデータに対して所定の符号化処理を実行することにより、当該新ファイルのデータに対応した第1要約符号を生成する符号化処理手段、
前記符号化処理手段によって生成された前記第1要約符号を、前記新ファイルのファイル名に挿入するファイル名生成手段、
前記新ファイルによって置き換えられる旧ファイルがある場合に、当該旧ファイルが削除対象であるか否かを判別する判別手段、
前記判別手段により前記旧ファイルが削除対象であると判別された場合に当該旧ファイルを削除する削除手段、
として機能させ、
前記判別手段は、前記新ファイルのファイル名に含まれている前記第1要約符号の生成に用いられた前記符号化処理と同一の符号化処理を、前記旧ファイルのデータに対して実行することにより生成される第2要約符号が、前記旧ファイルのファイル名に含まれている場合に、前記旧ファイルが削除対象であると判別することを特徴とするプログラム。
2 端末装置
3 通信ネットワーク
11 CPU(追加手段、符号化処理手段、ファイル名生成手段、判別手段、削除手段)
12 RAM
13 記憶部
131 インストーラ(プログラム)
132 プログラムファイル群
14 操作部
15 表示部
16 通信部
17 バス
21 CPU
22 RAM
23 記憶部
231 ブラウザ
24 操作部
25 表示部
26 通信部
27 バス
100 情報処理システム
D、D1~D3 ディレクトリ(記憶領域)
E、En、Eo 拡張子
F1、F2 ファイル
Fn、Fn1、Fn3 新ファイル
Fo、Fo1、Fo3 旧ファイル
Hn コンテンツハッシュ値(第1要約符号、ハッシュ値)
Ho コンテンツハッシュ値(第2要約符号、ハッシュ値)
N、Nn、No 名称部
Claims (6)
- インストール対象の新ファイルを所定の記憶領域に追加する追加手段と、
前記新ファイルのデータに対して所定の符号化処理を実行することにより、当該新ファイルのデータに対応した第1要約符号を生成する符号化処理手段と、
前記符号化処理手段によって生成された前記第1要約符号を、前記新ファイルのファイル名に挿入するファイル名生成手段と、
判別対象の旧ファイルが削除対象であるか否かを判別する判別手段と、
前記判別手段により前記旧ファイルが削除対象であると判別された場合に当該旧ファイルを削除する削除手段と、を備え、
前記判別手段は、前記新ファイルのファイル名に含まれている前記第1要約符号の生成に用いられた前記符号化処理と同一の符号化処理を、前記旧ファイルのデータに対して実行することにより生成される第2要約符号が、前記旧ファイルのファイル名に含まれている場合に、前記旧ファイルが削除対象であると判別することを特徴とする情報処理装置。 - 前記符号化処理手段は、前記追加手段によって前記新ファイルが所定の記憶領域に追加されたことを条件に、前記旧ファイルのデータに対して前記符号化処理を実行して前記第2要約符号を生成し、
前記判別手段は、前記符号化処理手段により生成された前記第2要約符号が前記旧ファイルのファイル名に含まれる場合に、前記旧ファイルが削除対象であると判別することを特徴とする請求項1に記載の情報処理装置。 - 前記追加手段によって前記新ファイルが所定の記憶領域に記憶される際に、前記符号化処理手段が前記新ファイルのデータに対応する前記第1要約符号を生成するとともに、前記ファイル名生成手段が当該第1要約符号を前記新ファイルのファイル名に挿入することを特徴とする請求項1又は2に記載の情報処理装置。
- 前記符号化処理はハッシュ処理であり、
前記第1要約符号及び前記第2要約符号は、ハッシュ値であることを特徴とする請求項1~3のいずれか一項に記載の情報処理装置。 - 前記新ファイル及び前記旧ファイルの各ファイル名の先頭には同一の文字列が含まれており、
前記判別手段は、判別対象の前記旧ファイルを、少なくとも前記文字列に基づいて特定することを特徴とする請求項1~4のいずれか一項に記載の情報処理装置。 - 情報処理装置に設けられたコンピュータを、
インストール対象の新ファイルを所定の記憶領域に追加する追加手段、
前記新ファイルのデータに対して所定の符号化処理を実行することにより、当該新ファイルのデータに対応した第1要約符号を生成する符号化処理手段、
前記符号化処理手段によって生成された前記第1要約符号を、前記新ファイルのファイル名に挿入するファイル名生成手段、
判別対象の旧ファイルが削除対象であるか否かを判別する判別手段、
前記判別手段により前記旧ファイルが削除対象であると判別された場合に当該旧ファイルを削除する削除手段、
として機能させ、
前記判別手段は、前記新ファイルのファイル名に含まれている前記第1要約符号の生成に用いられた前記符号化処理と同一の符号化処理を、前記旧ファイルのデータに対して実行することにより生成される第2要約符号が、前記旧ファイルのファイル名に含まれている場合に、前記旧ファイルが削除対象であると判別することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020019437A JP7419853B2 (ja) | 2020-02-07 | 2020-02-07 | 情報処理装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020019437A JP7419853B2 (ja) | 2020-02-07 | 2020-02-07 | 情報処理装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021125067A JP2021125067A (ja) | 2021-08-30 |
JP7419853B2 true JP7419853B2 (ja) | 2024-01-23 |
Family
ID=77459564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020019437A Active JP7419853B2 (ja) | 2020-02-07 | 2020-02-07 | 情報処理装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7419853B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004126639A (ja) | 2002-09-30 | 2004-04-22 | Toshiba Corp | データ管理システム、データ管理方法及びプログラム |
JP2010508608A (ja) | 2006-10-31 | 2010-03-18 | レビット・インコーポレーテッド | 計算機メモリー上に記録されたデータ及びファイルディレクトリ構造の自動保護システム |
JP2013058134A (ja) | 2011-09-09 | 2013-03-28 | Nec Corp | データ書き込み装置 |
JP2015503780A (ja) | 2012-02-13 | 2015-02-02 | 株式会社日立製作所 | 階層化ストレージシステムの管理装置及び管理方法 |
US20190129893A1 (en) | 2017-11-01 | 2019-05-02 | Swirlds, Inc. | Methods and apparatus for efficiently implementing a fast-copyable database |
-
2020
- 2020-02-07 JP JP2020019437A patent/JP7419853B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004126639A (ja) | 2002-09-30 | 2004-04-22 | Toshiba Corp | データ管理システム、データ管理方法及びプログラム |
JP2010508608A (ja) | 2006-10-31 | 2010-03-18 | レビット・インコーポレーテッド | 計算機メモリー上に記録されたデータ及びファイルディレクトリ構造の自動保護システム |
JP2013058134A (ja) | 2011-09-09 | 2013-03-28 | Nec Corp | データ書き込み装置 |
JP2015503780A (ja) | 2012-02-13 | 2015-02-02 | 株式会社日立製作所 | 階層化ストレージシステムの管理装置及び管理方法 |
US20190129893A1 (en) | 2017-11-01 | 2019-05-02 | Swirlds, Inc. | Methods and apparatus for efficiently implementing a fast-copyable database |
Also Published As
Publication number | Publication date |
---|---|
JP2021125067A (ja) | 2021-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7610296B2 (en) | Prioritized files | |
US7895179B2 (en) | Asynchronous updating of web page data views | |
EP1235143B1 (en) | Method and system for creating and maintaining version-specific properties in a file | |
JP4140920B2 (ja) | 個人情報の保護を支援する情報処理装置 | |
US9424058B1 (en) | File deduplication and scan reduction in a virtualization environment | |
US7324993B2 (en) | Method and system for converting and plugging user interface terms | |
US20050080804A1 (en) | System and method for maintaining componentized content | |
US20080126446A1 (en) | Systems and methods for backing up user settings | |
US20140075301A1 (en) | Information processing apparatus, control method, and recording medium | |
US20070226273A1 (en) | Updating a local version of a file based on a rule | |
JP2005310163A (ja) | テーブルを用いた言語ローカライゼーション | |
JP2023027785A (ja) | 装置およびコンピュータプログラム | |
CN1749995A (zh) | 内容相关对象的创建和管理 | |
US6351741B1 (en) | Method of locating a file linked to a document in a relocated document directory structure | |
JP2011191862A (ja) | ファイル管理装置、ファイル管理システム、およびファイル管理プログラム | |
US20100318964A1 (en) | Software extension analysis | |
CN113377458B (zh) | 插件管理方法、装置、电子设备和存储介质 | |
JP7419853B2 (ja) | 情報処理装置及びプログラム | |
US20050033981A1 (en) | Function restricting program, installer creation program and program storage medium | |
US7003721B1 (en) | Safe save method of HTML files using recovery files including a list with temporary and final names for replacement files | |
JP2011238229A (ja) | 正確なフォントのアクティブ化 | |
US10275127B2 (en) | Client apparatus, information processing system, information processing method, and non-transitory computer readable medium | |
US7624343B2 (en) | Performance optimization for text layout processing | |
US20060161751A1 (en) | Virtual memory management infrastructure for monitoring deltas and supporting undo versioning in a paged memory system | |
CN111695327A (zh) | 一种乱码修复方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230926 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231109 |
|
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: 20231212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7419853 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |