JP6039345B2 - Image management apparatus, image management method, and program - Google Patents
Image management apparatus, image management method, and program Download PDFInfo
- Publication number
- JP6039345B2 JP6039345B2 JP2012223311A JP2012223311A JP6039345B2 JP 6039345 B2 JP6039345 B2 JP 6039345B2 JP 2012223311 A JP2012223311 A JP 2012223311A JP 2012223311 A JP2012223311 A JP 2012223311A JP 6039345 B2 JP6039345 B2 JP 6039345B2
- Authority
- JP
- Japan
- Prior art keywords
- image file
- read
- task
- image
- file
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、アプリケーションからの要求に対応してディスク装置に記憶されている画像ファイルを読み込む画像管理装置、画像管理方法及びプログラムに関する。 The present invention relates to an image management apparatus, an image management method, and a program for reading an image file stored in a disk device in response to a request from an application.
近年、デジタルカメラ等で生成された画像ファイルをサーバに送信し、サーバ上で画像ファイルを管理する画像管理サービスが提供されている。多くの画像管理サービスは、インデックス表示用や携帯端末への配信用として、複数サイズのサムネイルをあらかじめ作成している。また、画像編集機能を有する画像管理サービスにおいては、ユーザからの指示に基づいて編集された画像ファイルを作成する。このように、画像管理サービスにおいては、オリジナルの画像ファイルだけでなく、サムネイルや編集された画像ファイル(以下、関連画像ファイルと呼ぶ)を作成し、保管している場合が多い。 In recent years, there has been provided an image management service for transmitting an image file generated by a digital camera or the like to a server and managing the image file on the server. Many image management services create thumbnails of multiple sizes in advance for index display and distribution to mobile terminals. An image management service having an image editing function creates an edited image file based on an instruction from the user. As described above, in image management services, not only original image files but also thumbnails and edited image files (hereinafter referred to as related image files) are often created and stored.
画像管理サービスのシステムは、画像ファイルを格納するコンテンツサーバ群から構成される。コンテンツサーバは多数の画像ファイルをディスク装置に記憶し、クライアント上のアプリケーションから要求された画像ファイルの読み込み処理や書き込み処理を行う。ディスク装置は、連続したデータ領域に対するアクセスであれば効率的に処理することができる。しかし、非連続なデータ領域に対するランダムなアクセスが行われると、シーク時間や回転待ち時間のため大幅に性能が低下してしまう。コンテンツサーバは、多数のクライアントから、複数の異なる画像ファイルに対する要求を次々と受け付けるため、ディスク装置に対してランダムなアクセスが多発し、性能低下を招く。さらに、近年のディスク装置はますます大容量化しているが、大容量になるほどアクセス対象となるデータ領域が広範囲となるため、このような性能低下がより顕著となる。 The image management service system includes a group of content servers that store image files. The content server stores a large number of image files in the disk device, and performs reading processing and writing processing of the image file requested by the application on the client. The disk device can efficiently process any access to a continuous data area. However, if random access to a non-contiguous data area is performed, the performance will be significantly reduced due to seek time and rotation waiting time. Since the content server sequentially receives requests for a plurality of different image files from a large number of clients, random access frequently occurs to the disk device, resulting in performance degradation. Further, although the capacity of disk devices in recent years has been increasing, the larger the capacity, the wider the data area to be accessed, so that such performance degradation becomes more conspicuous.
ディスク装置に対する非効率なアクセスを最適化するための方法として、ディスク装置におけるデータ配置を考慮し、I/Oコマンドの実行順序を制御する技術が開示されている。 As a method for optimizing inefficient access to a disk device, a technique for controlling the execution order of I / O commands in consideration of data arrangement in the disk device is disclosed.
例えば、特許文献1では、待機キューに蓄積されているI/Oコマンドを、連続したデータ領域をアクセスするように並び替えることで、I/Oコマンドの処理時間を短縮している。さらに、多重実行が可能なように並び替えることで、一つのディスク装置にアクセス待ちが発生しても、他のディスク装置にアクセスできるようにしている。
For example, in
また、特許文献2では、I/Oコマンドを直ちに実行できる状況であっても、積極的に待機キューに蓄積し、順序を並び替えて実行している。それによって、大量のデータにアクセスする場合のスループットを向上することができる。
Further, in
しかしながら、ディスク装置に記憶されているデータが画像ファイルであり、それを読み込む場合のディスク装置へのアクセス制御としては、最適な効率化が実現できない場合がある。 However, the data stored in the disk device is an image file, and optimal efficiency may not be realized as access control to the disk device when reading it.
上述のように、コンテンツサーバにおけるディスク装置には、オリジナルの画像ファイルだけでなく関連画像ファイルも記憶されていることが想定される。関連画像ファイルは、オリジナルの画像ファイルや他の関連画像ファイルを編集することによって生成可能である。また、関連画像ファイルに施した編集内容によっては、関連画像ファイルからオリジナルの画像ファイルと同一の画像ファイルを生成可能である。つまり、それらの画像ファイルは代替可能な関係にある。 As described above, it is assumed that the disk device in the content server stores not only the original image file but also the related image file. The related image file can be generated by editing the original image file or another related image file. Further, depending on the editing contents applied to the related image file, the same image file as the original image file can be generated from the related image file. That is, these image files have a replaceable relationship.
ディスク装置において、ある画像ファイルと他の対象画像ファイルが非連続なデータ領域に記憶されており、ある画像ファイルと代替可能な画像ファイルは、他の対象画像ファイルと連続したデータ領域に記憶されている場合がある。すなわち、複数の画像ファイルをディスク装置から順番に読み込む際に、オリジナルの画像ファイルおよび各関連画像ファイルの代替可能性を考慮して実行順序を制御することによって、より効率的なアクセスをすることが行われていなかった。 In a disk device, an image file and another target image file are stored in a non-continuous data area, and an image file that can be substituted for a certain image file is stored in a data area continuous with another target image file. There may be. That is, when a plurality of image files are sequentially read from the disk device, more efficient access can be achieved by controlling the execution order in consideration of the possibility of substitution of the original image file and each related image file. It was not done.
上記の先行技術文献によれば、実行順序の制御対象としているのは要求されたファイルを構成するデータへのI/Oコマンドであり、ファイル単位での最適化は行われていない。 According to the above-described prior art documents, the target of execution order control is an I / O command to data constituting a requested file, and optimization in units of files is not performed.
本発明は上記の課題に鑑みてなされたものであり、ディスク装置に記憶されているデータが例えば画像ファイルである場合に、ファイル間の代替可能性を考慮することで、さらに効率的にアクセス制御する画像管理装置を提供することを目的とする。また、その方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above problems, and when the data stored in the disk device is, for example, an image file, the access control can be performed more efficiently by considering the possibility of substitution between files. An object of the present invention is to provide an image management apparatus. Moreover, it aims at providing the method and program.
本発明に係る画像管理装置は以下の構成を備える。すなわち、アプリケーションからの要求に対応して記憶媒体に記憶されている画像ファイルを読み込む画像管理装置であって、前記記憶媒体に記憶されている画像ファイルの編集履歴を管理するファイル情報管理手段と、前記アプリケーションからの要求を受け付ける要求受付手段と、前記要求された画像ファイルを前記記憶媒体から読み込むために生成された読込タスクを蓄積する待機キューと、前記待機キュー内の前記読込タスクを変換するタスク実行制御手段と、前記待機キューから取り出された前記読込タスクで指定された画像ファイルを、前記記憶媒体から読み込むデータ入出力手段と、を備え、前記タスク実行制御手段は、前記編集履歴に基づいて前記要求で指定された画像ファイルの代わりとなる代替画像ファイルが存在する場合、前記待機キュー内の前記読込タスクの実行時間を算出し、前記代替画像ファイルを読み込んだ方が前記待機キューに蓄積された前記読込タスクの実行時間が短くなる場合には、前記代替画像ファイルを読み込むように前記読込タスクを変換することを特徴とする。 An image management apparatus according to the present invention has the following configuration. That is, an image management apparatus that reads an image file stored in a storage medium in response to a request from an application, and a file information management unit that manages an editing history of the image file stored in the storage medium; Request accepting means for accepting a request from the application, a standby queue for accumulating a read task generated for reading the requested image file from the storage medium, and a task for converting the read task in the standby queue An execution control means; and a data input / output means for reading the image file designated by the read task retrieved from the waiting queue from the storage medium, the task execution control means based on the editing history There is a substitute image file to replace the image file specified in the request If, wherein calculating the execution time of the read task in wait queue, when said person reading the backup image file execution time of the stored the read task is reduced to the waiting queue, the backup image file The read task is converted so as to read .
本発明によれば、ディスク装置から画像ファイルを読み込む際に、画像ファイルの代替可能性を考慮して実行順序を制御するので、ディスク装置の負荷を効率的に軽減することができる。 According to the present invention, when an image file is read from the disk device, the execution order is controlled in consideration of the possibility of substitution of the image file, so that the load on the disk device can be efficiently reduced.
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。 Hereinafter, the present invention will be described in detail based on preferred embodiments with reference to the accompanying drawings. The configurations shown in the following embodiments are merely examples, and the present invention is not limited to the illustrated configurations.
<実施形態1>
本実施形態に係るシステムの構成例について、図1のブロック図を用いて説明する。
<
A configuration example of a system according to the present embodiment will be described with reference to the block diagram of FIG.
システムは、コンテンツサーバ101、クライアント102、ネットワーク115から構成される。クライアント102は、ネットワーク115を介してコンテンツサーバ101との通信が可能である。図1ではコンテンツサーバ101、クライアント102の台数はそれぞれ1台としているが、この台数に限るものではない。
The system includes a
コンテンツサーバ101は、画像ファイルを保管し、クライアント102に配信するための機能を提供する。コンテンツサーバ101は、CPU(Central Processing Unit)103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、ネットワークインタフェース106、ディスク装置107を少なくとも備えている。
The
CPU103は、コンテンツサーバ101を構成する各部の動作制御を行うと共に、コンテンツサーバ101が行うものとして後述する各種の処理を実行する主体となる。
The
RAM104は、データや制御情報を一時的に格納するメモリであり、CPU103が各種の処理を実行する際に用いるワークエリアとなる。
The
ROM105には、コンテンツサーバ101の固定の動作パラメータや動作プログラム等を格納される。
The
ネットワークインタフェース106は、ネットワーク115に接続して通信するための機能を提供するものである。コンテンツサーバ101は、このネットワークインタフェース106によってクライアント102とデータの送受信を行うことができる。
The
ディスク装置107は、円盤状の記憶媒体にデータを記憶する装置であり、データの読み書きを行うためのI/Oコマンドを受け付けるインタフェースを持つ。ディスク装置107は、例えば、ハードディスクドライブ(HDD)や光ディスクドライブである。ディスク装置107は、ネットワークを介して複数のコンテンツサーバ101で共有されていてもよい。ディスク装置107には、コンテンツサーバ101が行うものとして後述する各処理をCPU103に実行させるためのコンピュータプログラムやデータが格納されている。
The
クライアント102では、画像ファイルを処理するアプリケーションが動作している。クライアント102は、CPU108、RAM109、ROM110、ネットワークインタフェース111、外部記憶装置112を少なくとも備えている。また、クライアント102の形態によっては、入力装置113、出力装置114を備えている。
On the
CPU108は、クライアント102を構成する各部の動作制御を行うと共に、クライアント102が行うものとして後述する各種の処理を実行する主体となる。
The
RAM109は、データや制御情報を一時的に格納するメモリであり、CPU108が各種の処理を実行する際に用いるワークエリアとなる。
The
ROM110には、クライアント102の固定の動作パラメータや動作プログラム等を格納される。
The
ネットワークインタフェース111は、ネットワーク115に接続して通信するための機能を提供するものである。クライアント102は、このネットワークインタフェース111によってコンテンツサーバ101とデータの送受信を行うことができる。
The
外部記憶装置112は、データを記憶する装置であり、データの読み書きを行うためのI/Oコマンドを受け付けるインタフェースを持つ。外部記憶装置112は、ハードディスクドライブ(HDD)、光ディスクドライブ、半導体記憶装置またはその他の記憶装置であってもよい。外部記憶装置112は、クライアント102が行うものとして後述する各処理をCPU108に実行させるためのコンピュータプログラムやデータが格納されている。
The
入力装置113は、例えば、キーボードやマウス、タッチパネルである。出力装置114は、例えば、ディスプレイである。
The
次に、コンテンツサーバ101およびクライアント102の機能構成例について、図2のブロック図を用いて説明する。
Next, functional configuration examples of the
コンテンツサーバ101は、要求受付部201、要求実行制御部202、データ入出力部203で構成される。
The
要求受付部201は、クライアント102が生成した、画像ファイルを取得するための要求を受け付ける。要求受付部201には、クライアント102から要求を受信するための要求受信手段204と、要求に対応した画像ファイルをクライアント102に送信するための画像送信手段205が含まれる。
The
要求実行制御部202は、要求受付部201が受け付けたクライアント102からの要求の実行制御を行う。要求実行制御部202には、タスク並び替え部206、待機キュー207、ファイル情報管理部208、ディスク特性管理部209、画像編集部210が含まれる。待機キュー207は、要求受付部201が受け付けた要求に対応した画像ファイルの読込タスクを蓄積しておくために用いられる。タスク並び替え部206は、ディスク装置107へのアクセスができる限り連続したデータ領域に対して行われるように、待機キュー207に蓄積されている読込タスクを並び替える。タスクの順序が並び替わらなくても、待機キュー内の読込タスクの変換を行う。読込タスクの並び替えには、ファイル情報管理部208が管理するファイル情報、およびディスク特性管理部209が管理するディスク特性情報が用いられる。ファイル情報およびディスク特性情報については、図4を用いて後述する。画像編集部210は、必要に応じて、ディスク装置107から読み込まれた画像ファイルの編集処理を行う。
The request
データ入出力部203は、要求実行制御部202から指示された読込タスクを、ディスク装置107が解釈可能なI/Oコマンドに変換して実行する。これによりディスク装置107から、画像ファイルを構成するデータが読み込まれる。
The data input /
クライアント102上では、画像ファイルを処理する様々なアプリケーション214が動作している。クライアント102は、アプリケーション214が必要とする画像ファイルをコンテンツサーバ101に要求するための要求生成部211を備える。要求生成部211は、コンテンツサーバ101に要求を送信するための要求送信部212と、要求した画像ファイルを受信するための画像受信部213を含む。
図10は、コンテンツサーバ101がディスク装置107に記憶している画像ファイルの一例を示している。画像ファイル1001は、オリジナル画像であり、例えば、ユーザ等から受け取った画像である。画像ファイル1002は、オリジナル画像を半分のサイズに縮小した画像であり、例えば、サムネイル表示等に用いられる。画像ファイル1003は、オリジナル画像を90度回転させた画像であり、例えば、ユーザからの編集指示によって生成されたものである。このように、コンテンツサーバ101は、オリジナルの画像ファイルだけでなく、サムネイルや編集画像等の複数の関連画像ファイルをディスク装置107に記憶している。
FIG. 10 shows an example of an image file stored in the
画像ファイル1002は、画像ファイル1001を縮小することで生成できる。そのため、ディスク装置107から画像ファイル1002を読み込みたい場合、画像ファイル1001は画像ファイル1002の代替画像ファイルとなりうる。また、画像ファイル1003は、−90度回転することでオリジナルの画像ファイル1001に戻すことができる。そのため、ディスク装置107から画像ファイル1001を読み込みたい場合、画像ファイル1003は画像ファイル1001の代替画像ファイルとなりうる。
The
図3は、ファイル情報管理部208が管理するファイル情報の一例を示しており、画像ファイルごとの画像ファイルID301、編集履歴302、物理アドレス303を含んでいる。画像ファイルID301は、ディスク装置107に記憶されている画像ファイルを一意に特定するための識別子である。編集履歴302は、各画像ファイルに施された編集処理の履歴であり、オリジナル画像ファイルID304、画像処理内容305、その処理の可逆性情報306が含まれる。オリジナル画像ファイルID304は、編集処理される前のオリジナルファイルを示す画像ファイルIDである。可逆性情報306は、その処理と逆の処理によって、オリジナル画像に戻すことが可能であるか否かを表す。このような情報を含む編集履歴302に基づいて、上述のような各画像ファイル間の代替関係が判定できる。物理アドレス303は、その画像ファイルが記憶されているディスク装置107上の位置を表す情報である。図3に示された例では、ディスクの先頭からのオフセット307と、画像ファイルのデータサイズ308によって位置を表しているが、他の情報によって位置を表してもよい。
FIG. 3 shows an example of file information managed by the file
図4は、ディスク特性管理部209が管理するディスク装置107の特性情報の一例を示している。図4(a)は、シークに要する時間の特性を示すグラフの一例である。このグラフの横軸はヘッドの移動距離、縦軸は予想されるシーク時間である。これに基づいて、任意のヘッド移動距離におけるシーク時間を算出できる。図4(b)は、データ転送に要する時間の特性を示すグラフの一例である。このグラフの横軸はデータ転送量、縦軸は予想されるデータ転送時間である。これに基づいて、任意のデータ転送量におけるデータ転送時間を算出できる。これらの特性情報は、あらかじめ固定的な設定情報として与えられた値を用いてもよいし、データの入出力ごとにシーク時間とデータ転送時間を測定し、それをもとに算出された値を用いてもよい。このようなディスク特性情報の作成や更新については、公知の技術を用いて実現できるため、ここでは説明しない。
FIG. 4 shows an example of the characteristic information of the
図5は、クライアント102が画像ファイルを取得するためにコンテンツサーバ101に対して行う要求のメッセージ例を示す図である。図5(a)は要求のリクエストメッセージ、図5(b)は要求のレスポンスメッセージである。要求のメッセージは、HTTP(Hypertext Transfer Protocol)のプロトコルに従った構文によって構成される。リクエストメセージ501において、取得対象の画像ファイルはHTTPのパス部502によって指定される。また、リクエストに関するメタ情報はヘッダ部503に付加される。レスポンスメッセージ504では、ヘッダ部506に付加されたメタ情報とともに、要求した画像ファイル507が添付されている。
FIG. 5 is a diagram illustrating a message example of a request that the
次に、コンテンツサーバ101が行う処理について、同処理のフローチャートを示す図6を用いて説明する。フローチャートは、CPUが制御プログラムを実行することにより実現される。
Next, processing performed by the
ステップS601では、要求受信部204が、ディスク装置107に記憶されている画像ファイルの取得を要求するためのリクエストメッセージをクライアント102から受信する。そして、ステップS602で、要求に対応した読込タスクを生成し、待機キュー207に蓄積する。
In step S <b> 601, the
読込タスクをXML形式で表した一例を図11に示す。読込タスクは、タスクID1101、対象ファイル1102、生成日時1103、関連要求情報1104、代替情報1105を含む。タスクID1101は、読込タスクを一意に特定するための識別子である。対象ファイル1102は、読込タスクが読み込む対象としている画像ファイルを表す。生成日時1103は、読込タスクが生成された日時を表す。関連要求情報1104は、その読込タスクによって読み込まれる画像ファイルを要求している、クライアント102からのリクエスト情報である。代替情報1105は、対象ファイルの代替として別のファイルを読み込む際に必要となる情報であり、代替ファイル情報1106、代替フラグ1107、必要編集処理情報1108を含む。代替ファイル情報1106は、対象ファイル1102の代替となる画像ファイルのファイルIDである。代替フラグ1107は、対象ファイルの代わりに代替ファイルの読み込みを実行するか否かを示すフラグである。必要編集処理情報1108は、代替ファイルから対象ファイルを生成するのに必要な編集処理を示している。ステップS602における読込タスク生成時には、代替情報1105は空の状態である。
An example in which the read task is represented in the XML format is shown in FIG. The read task includes a task ID 1101, a
次に、ステップS603で、タスク並び替え部206が、ディスク装置107へのアクセスができる限り連続的に行われるように、待機キュー207内の読込タスクを並び替える。この際、対象ファイルの代わりに代替ファイルを読み込んだほうが効率的な場合には、代替ファイルの読み込むように読込タスクが変換される。この読込タスクの並び替え処理については、図7を用いて後述する。
Next, in step S603, the task rearrangement unit 206 rearranges the read tasks in the
続いて、ステップS604では、ステップS603で並び替えられた待機キュー207から、先頭に位置している読込タスクを取り出す。そして、データ入出力部203が、取り出された読込タスクが対象とする画像ファイルのデータを読み込むため、ディスク装置107にアクセスしてI/Oコマンドを実行する。
Subsequently, in step S604, the reading task located at the head is taken out from the waiting
ステップS605では、要求実行制御部202が、読み込まれた画像ファイルに対して画像編集が必要か否かを判定する。判定は、ステップS603において、代替ファイルへの読込タスクの変換が行われたか否かによって行われる。具体的には、読込タスクの代替フラグ1107の状態によって判定できる。画像編集が必要であると判定された場合には、ステップS606で、画像編集部210が編集処理を行うことによって、要求された画像ファイルを生成する。必要な編集処理は、読込タスクの必要編集処理情報1108に指定さている。
In step S605, the request
最後に、ステップS607で、画像送信部205が、ステップS604でディスク装置107から読み込まれた画像ファイル、もしくはステップS606で生成された画像ファイルをクライアント102に送信する。送信するクライアント102は、読込タスクの関連要求情報1104から特定する。
Finally, in step S607, the
次に、ステップS603における読込タスクの並び替え処理について、同処理のフローチャートを示す図7を用いて説明する。 Next, the read task rearrangement process in step S603 will be described with reference to FIG. 7 showing a flowchart of the process.
まず、ステップS701で、新たに待機キュー207に投入された読込タスクの対象ファイルと、待機キュー207から最後に取り出された読込タスクの対象ファイルとの間のシーク距離を算出する。最後に取り出された読込タスクとは、実行中の読込タスク、もしくは実行順序が確定している中で最後に順序づけられている読込タスクを示す。シーク距離は、ファイル情報管理部208が保持している各画像ファイルのディスク装置107上の位置を用いて算出される。新規の読込タスクの対象ファイルの開始位置と、最後に取り出された読込タスクの対象ファイルの終了位置の差がシーク距離となる。また、ステップS702で、ディスク特性管理部209が保持するシーク時間情報を参照することによって、ステップS701で算出されたシーク距離に対応するシーク時間を算出する。
First, in step S <b> 701, the seek distance between the target file of the read task newly input to the
次に、ステップS703で、新規の読込タスクの対象ファイルの代わりとなる代替ファイルが存在するか否かを判定する。判定は、ファイル情報管理部208が保持する編集履歴302に基づいて行われる。代替ファイルが存在する場合はステップS704に進み、存在しない場合はステップS711に進む。
Next, in step S703, it is determined whether there is an alternative file that can replace the target file for the new read task. The determination is made based on the
ステップS704では、待機キュー207に蓄積されている全ての読込タスクを実行するのに要する総実行時間を算出する。各読込タスクの実行時間は、シーク時間にデータ転送時間を加算することよって算出する。データ転送時間は、対象ファイルのデータサイズと、ディスク特性管理部209が保持するデータ転送時間情報に基づいて算出する。
In step S704, the total execution time required to execute all the read tasks stored in the
続いて、ステップS705で、ステップS701と同様の方法により代替ファイルのシーク距離を算出する。そして、ステップS706で、ステップS702と同様の方法により代替ファイルのシーク時間を算出する。さらに、ステップS707で、対象ファイルの代わりに代替ファイルを読み込んだ場合の、待機キュー207に蓄積されている全ての読込タスクを実行するのに要する総実行時間を、ステップS704と同様の方法により算出する。
Subsequently, in step S705, the seek distance of the alternative file is calculated by the same method as in step S701. In step S706, the seek time of the alternative file is calculated by the same method as in step S702. Further, in step S707, when an alternative file is read instead of the target file, the total execution time required to execute all the read tasks stored in the
ステップS708では、全ての代替ファイルに対して上記の処理を行ったかを判定し、残りがある場合にはステップS705からステップS707を繰り返す。 In step S708, it is determined whether the above processing has been performed for all the alternative files. If there is a remaining file, steps S705 to S707 are repeated.
次に、ステップS709では、ステップS704およびステップS707によって算出された総実行時間に基づいて、総実行時間を短縮することができる代替ファイルが存在するか否かを判定する。存在する場合にはステップS710に進み、存在しない場合にはステップS711に進む。ステップS710では、対象ファイルの代わりに代替ファイルを読み込むように、読込タスクを変換する。変換は、例えば、読込タスクの代替ファイル情報1106に代替ファイルIDを、代替フラグ1107にtrue(代替ファイルを読み込むことを示す)をセットすることによって行われる。
Next, in step S709, based on the total execution time calculated in steps S704 and S707, it is determined whether there is an alternative file that can reduce the total execution time. When it exists, it progresses to step S710, and when it does not exist, it progresses to step S711. In step S710, the reading task is converted so that an alternative file is read instead of the target file. The conversion is performed, for example, by setting an alternative file ID in the
最後に、ステップS711で、シーク時間が短くなるように、待機キュー207内の読込タスクを並び替える。ここで、代替ファイルを読み込むように変換された読込タスクに関しては、代替ファイルのシーク時間を見て並び替えが行われる。並び替えられた待機キュー207から読込タスクを順次取り出して実行することにより、ディスク装置107に対して連続的な(ディスク上で隣り合っているだけでなく、シーク距離が短いことを含む)アクセスを行うことができる。
Finally, in step S711, the read tasks in the waiting
なお、読込タスクの並び替え処理に関しては様々な方法が考えられるため、上述の方法に限るものではなく、他の方法を用いて実現しても良い。 Since various methods can be considered for the read task rearrangement process, the method is not limited to the above-described method, and other methods may be used.
また、上述の並び替え処理においては、待機キュー207内に蓄積された読込タスクの待機時間は考慮されていない。そのため、並び替えによって、ある読込タスクの実行が遅延し続ける可能性がある。これに対する対策としては、待機時間がある一定以上の場合は、実行順序確定扱いとしてそれ以上並び替えの対象とならないようにすることなどが考えられる。
In the rearrangement process described above, the waiting time of the reading task accumulated in the waiting
本実施形態においては、簡単のため、画像ファイルを構成するデータは、ディスク装置107上の連続したデータ領域に記憶されているものとして説明した。しかし、実際にはデータが分断され、非連続なデータ領域に記憶されている可能性がある。その場合、画像ファイルを構成するデータごとの配置を考慮してシーク時間を算出する必要がある。ディスク装置107へのアクセス効率化を考えると、単一のファイルを構成するデータが連続した状態で記憶されていることが望ましい。ただし、ファイルを構成するデータが連続した状態になるように配置することは公知の技術を用いて実現できるため、ここでは説明しない。
In the present embodiment, for the sake of simplicity, the data constituting the image file is described as being stored in a continuous data area on the
以上のように、本実施形態のシステムによれば、待機キュー207内の読込タスクが、ディスク装置107上で連続的な順序となるように並び替えられる。そのため、ディスク装置におけるシーク時間を短縮することができ、効率的なアクセスが可能となる。
As described above, according to the system of the present embodiment, the read tasks in the
<実施形態2>
実施形態1では、ステップS603において、待機キュー207に蓄積されている読込タスクの並び替え処理を行った。本実施形態では、ステップS603において、並び替え処理に加えてマージ処理も実施する例を説明する。マージ処理とは、複数の読込タスクを一つにまとめることを指す。これによって、ディスク装置107へのアクセスを減らすことができる。本実施形態は、基本的には実施形態1を前提としているため、以下では、実施形態1との差分について説明する。
<
In the first embodiment, the sorting process of the read tasks accumulated in the
なお、本実施形態に係るシステム構成は、図1に示す構成と同じである。 The system configuration according to the present embodiment is the same as the configuration shown in FIG.
読込タスクのマージ処理について、同処理のフローチャートを示す図8を用いて説明する。フローチャートは、CPUが制御プログラムを実行することにより実現される。 The read task merge process will be described with reference to FIG. 8 showing a flowchart of the process. The flowchart is realized by the CPU executing the control program.
まず、ステップS801で、新たに待機キュー207に投入された読込タスクの対象ファイルのIDと、待機キュー207内の既存の読込タスクの対象ファイルのIDを比較する。そして、ステップS802で、IDが一致する画像ファイルを対象とする読込タスクが存在するか否かを判定する。存在する場合にはステップS807に進み、存在しない場合にはステップS803に進む。
First, in step S801, the ID of the target file of the read task newly input to the
ステップS803では、新規の読込タスクの対象ファイルの代わりとなる代替ファイルが存在するか否かを判定する。判定は、ファイル情報管理部208が保持する編集履歴302に基づいて行われる。代替ファイルが存在する場合はステップS804に進む。
In step S803, it is determined whether there is an alternative file that can replace the target file of the new read task. The determination is made based on the
ステップS804では、新たに待機キュー207に投入された読込タスクの代替ファイルのIDと、待機キュー207内の既存の読込タスクの対象ファイルのIDを比較する。そして、ステップS805で、IDが一致する画像ファイルを対象とする読込タスクが存在するか否かを判定する。存在する場合にはステップS806に進む。ステップS806では、対象ファイルの代わりに代替ファイルを読み込むように、読込タスクを変換する。変換は、例えば、読込タスクの代替ファイル情報1106に代替ファイルIDを、代替フラグ1107にtrue(代替ファイルを読み込むことを示す)をセットすることによって行われる。
In step S804, the ID of the alternative file of the read task newly input to the
最後に、ステップS807で、待機キュー207内の既存の読込タスクに新規の読込タスクをマージする。マージは、例えば、既存の読込タスクの関連要求情報1104に、新規の読込タスクの読込要求情報1104に記載されている要求IDを追加することによって行われる。
Finally, in step S807, the new read task is merged with the existing read task in the waiting
このように本実施形態では、ステップS603において、読込タスクの並び替え処理だけでなく、マージ処理も実施する。そのため、ディスク装置107へのアクセスをより一層軽減することが可能になる。
As described above, in the present embodiment, not only the read task rearrangement process but also the merge process is performed in step S603. Therefore, access to the
<実施形態3>
実施形態1では、ディスク装置107から代替ファイルが読み込まれた場合に、対象ファイルを生成するための画像編集処理がコンテンツサーバ101において実施されていた。本実施形態では、画像編集処理をクライアント102において実施する例を説明する。
<Embodiment 3>
In the first embodiment, when a substitute file is read from the
本実施形態における、コンテンツサーバ101およびクライアント102の機能構成例を図9に示す。画像編集処理を行う画像編集部901がクライアント102に備わっている。
An example of functional configurations of the
コンテンツサーバ101の画像送信部205がクライアント102に送信するレスポンスメッセージは、図5(c)のようになる。ヘッダ部510に、添付された代替ファイル511に対して実行すべき編集処理の内容が含まれている。画像編集部901でこの編集処理を行うことによって、アプリケーション214が要求した画像ファイルが生成される。
The response message transmitted from the
このように本実施形態では、代替ファイルが読み込まれた際に必要となる画像編集処理がクライアント102で実施される。そのため、コンテンツサーバ101においてCPU使用率が高い場合など、コンテンツサーバ101において画像編集処理を実施するのが適切ではない場合に有効となる。一方、代替ファイルが対象ファイルよりも大きいサイズの場合には、コンテンツサーバ101とクライアント102間のネットワーク転送量は増大することになる。
As described above, in this embodiment, the image editing process required when the alternative file is read is performed by the
<その他の実施形態>
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、Webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
<Other embodiments>
Although the embodiment has been described in detail above, the present invention can take an embodiment as a system, apparatus, method, program, recording medium (storage medium), or the like. Specifically, the present invention may be applied to a system composed of a plurality of devices (for example, a host computer, an interface device, an imaging device, a Web application, etc.), or may be applied to a device composed of a single device. good.
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。 Needless to say, the object of the present invention can be achieved as follows. That is, a recording medium (or storage medium) that records a program code (computer program) of software that implements the functions of the above-described embodiments is supplied to the system or apparatus. Needless to say, such a storage medium is a computer-readable storage medium. Then, the computer (or CPU or MPU) of the system or apparatus reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention.
Claims (7)
前記記憶媒体に記憶されている画像ファイルの編集履歴を管理するファイル情報管理手段と、
前記アプリケーションからの要求を受け付ける要求受付手段と、
前記要求された画像ファイルを前記記憶媒体から読み込むために生成された読込タスクを蓄積する待機キューと、
前記待機キュー内の前記読込タスクを変換するタスク実行制御手段と、
前記待機キューから取り出された前記読込タスクで指定された画像ファイルを、前記記憶媒体から読み込むデータ入出力手段と、
を備え、
前記タスク実行制御手段は、前記編集履歴に基づいて前記要求で指定された画像ファイルの代わりとなる代替画像ファイルが存在する場合、前記待機キュー内の前記読込タスクの実行時間を算出し、前記代替画像ファイルを読み込んだ方が前記待機キューに蓄積された前記読込タスクの実行時間が短くなる場合には、前記代替画像ファイルを読み込むように前記読込タスクを変換することを特徴とする画像管理装置。 An image management apparatus that reads an image file stored in a storage medium in response to a request from an application,
File information management means for managing an editing history of the image file stored in the storage medium;
Request accepting means for accepting a request from the application;
A standby queue for accumulating read tasks generated to read the requested image file from the storage medium;
Task execution control means for converting the read task in the waiting queue;
Data input / output means for reading from the storage medium the image file specified by the read task retrieved from the standby queue;
With
The task execution control means calculates the execution time of the read task in the standby queue when there is an alternative image file that can be used instead of the image file specified in the request based on the editing history, and An image management apparatus that converts a read task so as to read the substitute image file when an execution time of the read task accumulated in the waiting queue becomes shorter when the image file is read .
前記代替画像ファイルを読み込んだ方が前記待機キューに蓄積された前記読込タスクの実行時間が短くなる場合には、前記代替画像ファイルを読み込むように前記読込タスクを変換することを特徴とする請求項1に記載の画像管理装置。 The task execution control means calculates the execution time of the read task in the waiting queue from the characteristics of the time required for seeking the storage medium and the characteristics of the time required for data transfer,
The read task is converted to read the substitute image file when an execution time of the read task accumulated in the waiting queue becomes shorter when the substitute image file is read. The image management apparatus according to 1.
前記記憶媒体に記憶されている画像ファイルの編集履歴を管理する管理工程と、
前記アプリケーションからの要求を受け付ける受付工程と、
前記要求された画像ファイルを前記記憶媒体から読み込むために生成された読込タスクを待機キューに蓄積する蓄積工程と、
前記待機キュー内の前記読込タスクを変換する制御工程と、
前記待機キューから取り出された前記読込タスクで指定された画像ファイルを、前記記憶媒体から読み込む読込工程と、を備え、
前記制御工程は、前記編集履歴に基づいて前記要求で指定された画像ファイルの代わり
となる代替画像ファイルが存在する場合、前記待機キュー内の前記読込タスクの実行時間を算出し、前記代替画像ファイルを読み込んだ方が前記待機キューに蓄積された前記読込タスクの実行時間が短くなる場合には、前記代替画像ファイルを読み込むように前記読込タスクを変換することを特徴とする画像管理方法。 An image management method for reading an image file stored in a storage medium in response to a request from an application,
A management step of managing an editing history of the image file stored in the storage medium;
A reception process for receiving a request from the application;
An accumulation step of accumulating in a waiting queue a read task generated to read the requested image file from the storage medium;
A control step of converting the read task in the waiting queue;
A reading step of reading from the storage medium the image file specified by the reading task taken out from the waiting queue,
The control step calculates the execution time of the read task in the standby queue when there is an alternative image file that can be used instead of the image file specified in the request based on the editing history, and the alternative image file An image management method comprising: converting the read task so as to read the substitute image file when an execution time of the read task accumulated in the waiting queue is shortened when the person reading
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012223311A JP6039345B2 (en) | 2012-10-05 | 2012-10-05 | Image management apparatus, image management method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012223311A JP6039345B2 (en) | 2012-10-05 | 2012-10-05 | Image management apparatus, image management method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014075089A JP2014075089A (en) | 2014-04-24 |
JP6039345B2 true JP6039345B2 (en) | 2016-12-07 |
Family
ID=50749182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012223311A Active JP6039345B2 (en) | 2012-10-05 | 2012-10-05 | Image management apparatus, image management method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6039345B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114398001B (en) * | 2021-12-03 | 2024-02-20 | 北京数字电视国家工程实验室有限公司 | Super-large sequence image transmission method, device and computer |
CN114461139B (en) * | 2021-12-29 | 2024-07-09 | 天津中科曙光存储科技有限公司 | Service processing method, device, computer equipment and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05134810A (en) * | 1991-11-12 | 1993-06-01 | Fujitsu Ltd | Command reordering method for disk device |
US5828902A (en) * | 1994-06-10 | 1998-10-27 | Matsushita Electric Ind. | Disc control device having reduced seek time by scheduling disc read requests |
JP3575870B2 (en) * | 1994-06-10 | 2004-10-13 | 松下電器産業株式会社 | Disk controller |
JPH10320534A (en) * | 1997-05-21 | 1998-12-04 | Fuji Xerox Co Ltd | Image processor, image storage method, image distribution method, and image distribution system |
-
2012
- 2012-10-05 JP JP2012223311A patent/JP6039345B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014075089A (en) | 2014-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6961844B2 (en) | Storage volume creation method and device, server, and storage medium | |
US8275902B2 (en) | Method and system for heuristic throttling for distributed file systems | |
JP2020038623A (en) | Method, device, and system for storing data | |
JP5539017B2 (en) | Cloud computing system, document processing method, and computer program | |
US10061781B2 (en) | Shared data storage leveraging dispersed storage devices | |
KR102178740B1 (en) | Server for distributed file system based on torus network and method using the same | |
KR102452250B1 (en) | Method and apparatus for storing offchain data | |
WO2011071104A1 (en) | Distributed file system, data selection method of same and program | |
JP2007304665A (en) | Device connected to peer-to-peer network and distribution system | |
JP6972714B2 (en) | Data acquisition programs, equipment, and methods | |
US11416176B2 (en) | Function processing using storage controllers for load sharing | |
JP2010191670A (en) | Storage system, capacity management method and management computer | |
KR101236477B1 (en) | Method of processing data in asymetric cluster filesystem | |
JP5382546B2 (en) | Distributed file name resolution system, distributed file name resolution method, and distributed file name resolution program | |
KR101918806B1 (en) | Cache Management Method for Optimizing the Read Performance of Distributed File System | |
JP6039345B2 (en) | Image management apparatus, image management method, and program | |
JP5593732B2 (en) | Distributed content distribution system and method, and distribution server determination apparatus and method | |
JP5853109B2 (en) | Computer, computer system controller and recording medium | |
CN105574008A (en) | Task scheduling method and equipment applied to distributed file system | |
JP6582721B2 (en) | Control device, storage system, and control program | |
KR101531564B1 (en) | Method and System for load balancing of iSCSI storage system used network distributed file system and method | |
US8676849B2 (en) | Storing lossless transforms of data | |
KR101470857B1 (en) | Network distributed file system and method using iSCSI storage system | |
JP2007293433A (en) | Document management system | |
JP6012409B2 (en) | Image management apparatus, image management method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160726 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160729 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160915 |
|
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: 20161004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161104 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6039345 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |