JP2019028942A - Information processing device, and information processing program - Google Patents
Information processing device, and information processing program Download PDFInfo
- Publication number
- JP2019028942A JP2019028942A JP2017150968A JP2017150968A JP2019028942A JP 2019028942 A JP2019028942 A JP 2019028942A JP 2017150968 A JP2017150968 A JP 2017150968A JP 2017150968 A JP2017150968 A JP 2017150968A JP 2019028942 A JP2019028942 A JP 2019028942A
- Authority
- JP
- Japan
- Prior art keywords
- command
- information processing
- commands
- processing apparatus
- acquired
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】複数のコマンドに対する応答性能の向上を図ること。【解決手段】情報処理装置100は、文字列110の入力を受け付ける。情報処理装置100は、入力された文字列110を解析してコマンドを取得する。情報処理装置100は、複数のコマンド120を取得した場合、記憶部101を参照し、取得した複数のコマンド120の一括処理が可能であるか否かを判定する。情報処理装置100は、一括処理が可能であると判定した場合、取得した複数のコマンド120に対応する1つの処理を生成して、生成した1つの処理を実行する。【選択図】図1To improve response performance to a plurality of commands. An information processing apparatus receives an input of a character string. The information processing apparatus 100 analyzes the input character string 110 and acquires a command. When the information processing apparatus 100 acquires a plurality of commands 120, the information processing apparatus 100 refers to the storage unit 101 and determines whether the acquired plurality of commands 120 can be collectively processed. If the information processing apparatus 100 determines that batch processing is possible, the information processing apparatus 100 generates one process corresponding to the acquired plurality of commands 120 and executes the generated one process. [Selection] Figure 1
Description
本発明は、情報処理装置、および情報処理プログラムに関する。 The present invention relates to an information processing apparatus and an information processing program.
従来、コンピュータのユーザインターフェースとして、キーボードなどの入力装置からコマンドを示す文字列を入力することにより、コンピュータを操作することができるCLI(Command Line Interface)がある。 2. Description of the Related Art Conventionally, as a computer user interface, there is a command line interface (CLI) that can operate a computer by inputting a character string indicating a command from an input device such as a keyboard.
先行技術としては、例えば、続けて実行されることが多い2つのコマンドをコマンドファイルに書き込み、複合コマンドとして登録するものがある。また、例えば、コマンド文字列を逐次記憶媒体に蓄積しておき、当該コマンド文字列の処理と同様の処理を再び実行したい場合に、蓄積されているコマンド文字列を読み出して処理を実行する技術がある。 As a prior art, for example, there is one in which two commands that are often executed in succession are written in a command file and registered as a composite command. In addition, for example, when a command character string is sequentially stored in a storage medium, and a process similar to the process of the command character string is to be executed again, there is a technique for reading the stored command character string and executing the process. is there.
しかしながら、従来技術では、入力された文字列を解析して複数のコマンドを取得した場合、複数のコマンドに対応する複数の処理が終了するまでにかかる時間が長くなり、複数のコマンドに対する応答性能の低下を招くことがある。例えば、それぞれのコマンドに対応する処理を順番にスレッドに割り当てて実行するため、複数のコマンドに対応する複数の処理が終了するまでにかかる時間が、コマンド数に比例して長くなる。 However, in the conventional technique, when a plurality of commands are obtained by analyzing the input character string, it takes a long time to complete a plurality of processes corresponding to the plurality of commands, and the response performance for the plurality of commands is reduced. May cause a drop. For example, since processing corresponding to each command is sequentially assigned to a thread and executed, the time required for completing a plurality of processing corresponding to a plurality of commands becomes longer in proportion to the number of commands.
1つの側面では、本発明は、複数のコマンドに対する応答性能の向上を図ることができる情報処理装置、および情報処理プログラムを提供することを目的とする。 In one aspect, an object of the present invention is to provide an information processing apparatus and an information processing program capable of improving response performance to a plurality of commands.
1つの実施態様によれば、入力された文字列を解析してコマンドを取得し、複数のコマンドを取得した場合、複数のコマンドの一括処理の可否を示す管理情報を記憶する記憶部を参照し、取得した前記複数のコマンドの一括処理が可能であるか否かを判定し、一括処理が可能であると判定した場合、取得した前記複数のコマンドに対応する1つの処理を生成して実行する情報処理装置、および情報処理プログラムが提案される。 According to one embodiment, a command is obtained by analyzing an input character string, and when a plurality of commands are obtained, a storage unit that stores management information indicating whether or not a plurality of commands can be collectively processed is referred to. If it is determined whether batch processing of the acquired commands is possible, and it is determined that batch processing is possible, one process corresponding to the acquired commands is generated and executed. An information processing apparatus and an information processing program are proposed.
一態様によれば、複数のコマンドに対する応答性能の向上を図ることが可能になる。 According to one aspect, it is possible to improve response performance for a plurality of commands.
以下に、図面を参照して、本発明にかかる情報処理装置、および情報処理プログラムの実施の形態を詳細に説明する。 Embodiments of an information processing apparatus and an information processing program according to the present invention will be described below in detail with reference to the drawings.
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、CLIが実装されたコンピュータである。情報処理装置100は、例えば、アプライアンス装置、サーバ、PC(Personal Computer)などである。アプライアンス装置は、例えば、ストレージ装置やネットワーク装置である。
(One Example of Information Processing Method According to Embodiment)
FIG. 1 is an explanatory diagram of an example of the information processing method according to the embodiment. The
ここで、CLIを利用するユーザは、所望の機能を実現するコマンドが予め実装されていない場合、所望の機能を実現するために、複数のコマンドを組み合わせて用いようとすることがある。ユーザは、例えば、所望の機能を実現するために、それぞれのコマンドを示す文字列を、1つずつ順番にCLIの入力欄に入力する。 Here, when a command that realizes a desired function is not pre-installed, a user who uses the CLI may try to use a plurality of commands in combination in order to realize the desired function. For example, in order to realize a desired function, the user inputs a character string indicating each command one by one in the CLI entry field.
しかしながら、従来では、入力された文字列を入力された順番に1つずつ処理していく傾向があるため、複数のコマンドに対応する複数の処理が終了するまでにかかる時間が長くなりやすく、複数のコマンドに対する応答性能や処理効率の低下を招くことがある。 However, conventionally, there is a tendency that input character strings are processed one by one in the input order. Therefore, it takes a long time to complete a plurality of processes corresponding to a plurality of commands. Response performance and processing efficiency may be reduced.
例えば、複数の処理を一括して処理可能であっても、複数の処理を1つずつ順番にスレッドに割り当てて実行することになり、処理ごとに、スレッドの生成や処理の前準備などの事前処理と、処理の後始末やスレッドの削除などの事後処理が行われることになる。結果として、複数の処理が終了するまでの時間は、コマンド数に比例する回数分の事前処理や事後処理の時間を含み、コマンド数に比例して長くなってしまう。 For example, even if a plurality of processes can be processed at once, a plurality of processes are assigned to threads one by one in order and executed in advance, such as thread generation and preparation for processing. Processing and post-processing such as cleanup and thread deletion are performed. As a result, the time until a plurality of processes are completed includes the time for pre-processing and post-processing for the number of times proportional to the number of commands, and increases in proportion to the number of commands.
これに対し、テキストファイルなどに、複数のコマンドを示す文字列を予め記述しておき、記述しておいた文字列をCLIの入力欄にコピー&ペーストすることにより、記述しておいた文字列をCLIの入力欄に入力可能にすることが考えられる。 On the other hand, a character string indicating a plurality of commands is described in advance in a text file or the like, and the written character string is copied and pasted into the input field of the CLI. Can be entered in the CLI entry field.
しかしながら、複数のコマンドを示す文字列をCLIの入力欄に入力しても、入力された文字列を解析し、複数のコマンドを1つずつ取得することになるため、依然として、複数の処理を1つずつ順番にスレッドに割り当てて実行することになる。結果として、複数のコマンドに対応する複数の処理が終了するまでにかかる時間が長くなりやすく、複数のコマンドに対する応答性能や処理効率の低下を招いてしまう。 However, even if a character string indicating a plurality of commands is input to the CLI input field, the input character string is analyzed and a plurality of commands are acquired one by one. It will be assigned to the thread in order and executed. As a result, it takes a long time to complete a plurality of processes corresponding to a plurality of commands, resulting in a decrease in response performance and processing efficiency for the plurality of commands.
これに対し、複数のコマンドの組み合わせに対応する、種々のパラメータを指定可能な、所望の機能を実現する1つのコマンドを実装することが考えられる。しかしながら、複数のコマンドの組み合わせに対応する1つのコマンドの構文は複雑化しやすく、ユーザの負担の増大化を招き、CLIの利便性の低下を招いてしまう。また、複数のコマンドの組み合わせに対応する1つのコマンドの実装は難しい場合がある。 On the other hand, it is conceivable to implement one command that realizes a desired function that can specify various parameters corresponding to a combination of a plurality of commands. However, the syntax of one command corresponding to a combination of a plurality of commands is likely to be complicated, resulting in an increase in the burden on the user and a decrease in the convenience of the CLI. In addition, it may be difficult to implement one command corresponding to a combination of a plurality of commands.
そこで、本実施の形態では、一括処理が可能である複数のコマンドを取得した場合、複数のコマンドに対応する1つの処理を生成して実行することができる情報処理方法について説明する。これにより、本実施の形態は、コマンドの構文の複雑化を防ぎ、コマンドの実装の容易化を図ることができ、複数のコマンドに対する応答性能や処理効率の向上を図ることができ、CLIの利便性の向上を図ることができる。 Therefore, in the present embodiment, an information processing method capable of generating and executing one process corresponding to a plurality of commands when a plurality of commands that can be collectively processed is acquired will be described. As a result, this embodiment can prevent complication of command syntax, facilitate the implementation of commands, improve response performance and processing efficiency for a plurality of commands, and improve the convenience of the CLI. It is possible to improve the performance.
(1−1)情報処理装置100は、文字列110の入力を受け付ける。情報処理装置100は、例えば、CLIの入力欄に入力された文字列110を受け付ける。文字列110は、例えば、改行で区切られた、複数のコマンド120のそれぞれのコマンドを示す文字列を含み、複数のコマンド120を一括して示す。コマンドは、処理を要求する命令文である。コマンドは、所定の処理をキックする命令文であってもよい。
(1-1) The
情報処理装置100は、入力された文字列110を解析してコマンドを取得する。情報処理装置100は、例えば、入力された文字列110のうち改行で区切られた文字列を、コマンドとして取得する。これにより、情報処理装置100は、複数のコマンド120を一括して取得することができる。
The
(1−2)情報処理装置100は、複数のコマンド120を取得した場合、記憶部101を参照し、取得した複数のコマンド120の一括処理が可能であるか否かを判定する。記憶部101は、複数のコマンドの一括処理の可否を示す管理情報を記憶する。記憶部101の記憶内容は、例えば、情報処理装置100の製造者によって設定される。記憶部101は、例えば、図3に後述する一括処理可否表300である。これにより、情報処理装置100は、取得した複数のコマンド120が一括処理しても問題がない組み合わせであるか否かを判定することができる。
(1-2) When the
(1−3)情報処理装置100は、一括処理が可能であると判定した場合、取得した複数のコマンド120に対応する1つの処理を生成して、生成した1つの処理を実行する。1つの処理は、例えば、スレッドに割り当てる単位であり、スレッドへの命令群である。スレッドは、演算装置の処理単位である。スレッドは、例えば、図2に後述するCPU201の処理単位である。
(1-3) When the
情報処理装置100は、例えば、一括処理が可能であると判定した場合、取得した複数のコマンド120に対応する1つの処理を生成する。情報処理装置100は、1つのスレッド130を生成し、生成した1つの処理を、生成した1つのスレッド130に割り当てて実行する。以下の説明では、スレッドに割り当てる単位である1つの処理を「内部処理」と表記する場合がある。
For example, when the
これにより、情報処理装置100は、実装されるコマンドの構文の複雑化を防ぎ、コマンドの実装の容易化を図ることができ、複数のコマンド120に対する応答性能や処理効率の向上を図ることができ、CLIの利便性の向上を図ることができる。情報処理装置100は、例えば、コピー&ペーストにより複数のコマンド120を一括して示す文字列110が入力された場合、複数のコマンド120に対する応答性能や処理効率の向上を図ることができる。
Thereby, the
また、情報処理装置100は、比較的複雑な構文のコマンドを実装せず、比較的単純な構文のコマンドの組み合わせによって、ユーザが所望の機能を実現するような場合でも、所望の機能にかかる時間の低減化を図ることができる。このため、情報処理装置100は、ユーザの負担の増大化を抑制し、CLIの利便性の低下を抑制することができる。
Further, the
また、情報処理装置100は、コマンドごとに事前処理や事後処理が行われる場合に比べて、複数のコマンド120について事前処理や事後処理を1回行えばよくすることができ、複数のコマンド120に対する応答性能や処理効率の向上を図ることができる。情報処理装置100は、例えば、アプライアンス装置として製造され、設定変更のためのコマンドを1000個単位で取得するような場合でも、膨大なコマンドについて事前処理や事後処理を1回行えばよくすることができる。
Further, the
ここでは、情報処理装置100が、複数のコマンドを一括して示す文字列の入力を受け付ける場合について説明したが、これに限らない。例えば、情報処理装置100が、複数のコマンドのそれぞれのコマンドを示す文字列の入力を連続して受け付ける場合があってもよい。
Here, a case has been described in which the
情報処理装置100が、複数のコマンドを一括して示す文字列の入力を受け付ける場合についての具体例は、例えば、図6および図7を用いて、実施例1として後述する。また、情報処理装置100が、複数のコマンドのそれぞれのコマンドを示す文字列の入力を連続して受け付ける場合についての具体例は、例えば、図9および図10を用いて、実施例2として後述する。
A specific example of the case where the
ここでは、情報処理装置100が、文字列が一括して示す複数のコマンドに対応する1つの処理を生成する場合について説明したが、これに限らない。例えば、情報処理装置100が、文字列が一括して示す複数のコマンドの一部である2以上のコマンドに対応する1つの処理を生成する場合があってもよい。
Here, a case has been described in which the
(情報処理装置100のハードウェア構成例)
次に、図2を用いて、情報処理装置100のハードウェア構成例について説明する。
(Hardware configuration example of information processing apparatus 100)
Next, a hardware configuration example of the
図2は、情報処理装置100のハードウェア構成例を示すブロック図である。図2において、情報処理装置100は、CPU(Central Processing Unit)201と、メモリ202と、ネットワークI/F(Interface)203と、記録媒体I/F204と、記録媒体205とを有する。また、各構成部は、バス200によってそれぞれ接続される。
FIG. 2 is a block diagram illustrating a hardware configuration example of the
ここで、CPU201は、情報処理装置100の全体の制御を司る。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。
Here, the
ネットワークI/F203は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F203は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F203には、例えば、モデムやLANアダプタなどを採用することができる。
The network I /
記録媒体I/F204は、CPU201の制御に従って記録媒体205に対するデータのリード/ライトを制御する。記録媒体I/F204は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体205は、記録媒体I/F204の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体205は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体205は、情報処理装置100から着脱可能であってもよい。
The recording medium I /
情報処理装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F204や記録媒体205を複数有していてもよい。また、情報処理装置100は、記録媒体I/F204や記録媒体205を有していなくてもよい。
In addition to the components described above, the
(一括処理可否表300の記憶内容)
次に、図3を用いて、一括処理可否表300の記憶内容について説明する。一括処理可否表300は、例えば、図2に示した情報処理装置100のメモリ202や記録媒体205などの記憶領域により実現される。
(Contents stored in the batch processing availability table 300)
Next, the contents stored in the batch process availability table 300 will be described with reference to FIG. The collective processing availability table 300 is realized by, for example, a storage area such as the
図3は、一括処理可否表300の記憶内容の一例を示す説明図である。図3に示すように、一括処理可否表300は、コマンドの組み合わせに対応する可否フラグのフィールドを有する。一括処理可否表300は、それぞれの行に設定されたコマンドと、それぞれの列に設定されたコマンドとの組み合わせごとに、各フィールドに情報を設定することにより、一括処理可否情報がレコードとして記憶される。 FIG. 3 is an explanatory diagram showing an example of the stored contents of the batch process availability table 300. As shown in FIG. 3, the batch processing availability table 300 has a field for availability flags corresponding to combinations of commands. In the batch processing availability table 300, by setting information in each field for each combination of a command set in each row and a command set in each column, the batch processing availability information is stored as a record. The
可否フラグのフィールドには、行に設定されたコマンドと、列に設定されたコマンドとの組み合わせの、一括処理の可否を示す可否フラグが設定される。可否フラグは、一括処理が可能であれば「可能」であり、一括処理が可能でなければ空欄である。「可能」は、例えば、値1により表現され、空欄は、例えば、値0により表現されてもよい。 In the enable / disable flag field, a enable / disable flag indicating whether batch processing is possible for a combination of a command set in a row and a command set in a column is set. The availability flag is “possible” if batch processing is possible, and is blank if batch processing is not possible. “Possible” may be expressed by a value 1, for example, and a blank may be expressed by a value 0, for example.
図3の例では、例えば、1行目に設定されたコマンド「volume create」と、1列目に設定されたコマンド「volume create」とに対応する可否フラグが「可能」に設定される。これにより、一括処理可否表300は、コマンド「volume create」と、コマンド「volume create」との組み合わせの一括処理が可能であることを示している。 In the example of FIG. 3, for example, the availability flag corresponding to the command “volume create” set in the first row and the command “volume create” set in the first column is set to “possible”. As a result, the batch process availability table 300 indicates that a batch process of a combination of the command “volume create” and the command “volume create” is possible.
一括処理可否表300の行には、例えば、実装されたコマンドをすべて設定することが好ましい。一括処理可否表300の列には、例えば、同様に、実装されたコマンドをすべて設定することが好ましい。このように、一括処理可否表300は、実装されたコマンドのすべての組み合わせについて、一括処理が可能であるか否かを記憶するようにすることが好ましい。 For example, all the implemented commands are preferably set in the row of the batch process availability table 300. Similarly, for example, it is preferable to set all the implemented commands in the column of the batch processing availability table 300, for example. Thus, it is preferable that the batch processing availability table 300 stores whether batch processing is possible for all combinations of implemented commands.
一括処理可否表300は、さらに、複数のコマンドの一括処理が可能である順序を示してもよい。例えば、一括処理可否表300が、それぞれの行に設定されたコマンドが先行のコマンドであり、それぞれの列に設定されたコマンドが後続のコマンドであるとして、可否フラグを記憶する場合があってもよい。 The batch processing availability table 300 may further indicate an order in which batch processing of a plurality of commands is possible. For example, even if the batch processing availability table 300 stores the availability flag, assuming that the command set in each row is the preceding command and the command set in each column is the succeeding command. Good.
(実行履歴テーブル400の記憶内容)
次に、図4を用いて、実行履歴テーブル400の記憶内容について説明する。実行履歴テーブル400は、例えば、図2に示した情報処理装置100のメモリ202や記録媒体205などの記憶領域により実現される。
(Storage contents of the execution history table 400)
Next, the contents stored in the execution history table 400 will be described with reference to FIG. The execution history table 400 is realized by, for example, a storage area such as the
図4は、実行履歴テーブル400の記憶内容の一例を示す説明図である。図4に示すように、実行履歴テーブル400は、コマンドと、前回の取得時刻と、実行処理時間と、次に取得されたコマンドと、次に取得されたコマンドの取得時刻と、前回取得時の一括処理の有無とのフィールドを有する。実行履歴テーブル400は、各フィールドに情報を設定することにより、実行履歴情報がレコードとして記憶される。 FIG. 4 is an explanatory diagram showing an example of the contents stored in the execution history table 400. As shown in FIG. 4, the execution history table 400 includes a command, a previous acquisition time, an execution processing time, a next acquired command, an acquisition time of the next acquired command, and a previous acquisition time. It has a field for presence / absence of batch processing. In the execution history table 400, the execution history information is stored as a record by setting information in each field.
コマンドのフィールドには、コマンドの識別情報が設定される。コマンドの識別情報は、例えば、コマンドの名称である。前回の取得時刻のフィールドには、コマンドのフィールドの識別情報が示すコマンドの前回の取得時刻が設定される。取得時刻は、例えば、時、分、秒、ミリ秒を含む。取得時刻は、日付を含んでもよい。実行処理時間のフィールドには、コマンドのフィールドの識別情報が示すコマンドに対応する処理にかかる時間が設定される。 Command identification information is set in the command field. The command identification information is, for example, a command name. In the previous acquisition time field, the previous acquisition time of the command indicated by the identification information of the command field is set. The acquisition time includes, for example, hours, minutes, seconds, and milliseconds. The acquisition time may include a date. In the execution processing time field, a time required for processing corresponding to the command indicated by the identification information of the command field is set.
次に取得されたコマンドのフィールドには、コマンドのフィールドの識別情報が示すコマンドの次に取得されたコマンドの識別情報が設定される。コマンドの識別情報は、例えば、コマンドの名称である。次に取得されたコマンドの取得時刻のフィールドには、コマンドのフィールドの識別情報が示すコマンドの次に取得されたコマンドの前回の取得時刻が設定される。取得時刻は、例えば、時、分、秒、ミリ秒を含む。取得時刻は、日付を含んでもよい。 In the next acquired command field, the command identification information acquired after the command indicated by the command field identification information is set. The command identification information is, for example, a command name. In the acquisition time field of the command acquired next, the previous acquisition time of the command acquired next to the command indicated by the identification information of the command field is set. The acquisition time includes, for example, hours, minutes, seconds, and milliseconds. The acquisition time may include a date.
前回取得時の一括処理の有無のフィールドには、コマンドのフィールドの識別情報が示すコマンドが、前回取得時に一括処理されたか否かを示すフラグ情報が設定される。フラグ情報は、前回取得時に一括処理されていれば「有」であり、前回取得時に一括処理されていなければ「無」である。 In the field of presence / absence of batch processing at the time of previous acquisition, flag information indicating whether or not the command indicated by the identification information of the command field has been batch processed at the time of previous acquisition is set. The flag information is “Yes” if batch processing was performed at the time of previous acquisition, and “None” if batch processing was not performed at the time of previous acquisition.
ここで、実行履歴テーブル400のそれぞれのフィールドの情報は、過去にコマンドを取得した際の情報の1回分に基づいて設定される。また、実行履歴テーブル400のそれぞれのフィールドの情報は、過去にコマンドを取得した際の情報の複数回分に基づいて統計的に設定されてもよい。 Here, the information of each field of the execution history table 400 is set based on one piece of information when a command is acquired in the past. The information in each field of the execution history table 400 may be set statistically based on a plurality of times of information when a command is acquired in the past.
統計的に設定される場合、例えば、実行処理時間は、過去にコマンドに対応する処理にかかった時間の統計値である。統計値は、例えば、平均値、中央値、最頻値、最大値、最小値などである。統計的に設定される場合、例えば、次に取得されたコマンドのフィールドには、複数のコマンドが設定されてもよい。統計的に設定される場合、例えば、次に取得されたコマンドのフィールドには、過去に最も多く取得されたコマンドが設定されてもよい。 When set statistically, for example, the execution processing time is a statistical value of time taken for processing corresponding to the command in the past. The statistical value is, for example, an average value, a median value, a mode value, a maximum value, a minimum value, or the like. When statistically set, for example, a plurality of commands may be set in the field of the command acquired next. When statistically set, for example, the command acquired most frequently in the past may be set in the field of the command acquired next.
統計的に設定される場合、例えば、前回の取得時刻と、次に取得されたコマンドの取得時刻とに代わり、過去のコマンドの取得時刻と、次に取得されたコマンドの取得時刻との間隔の統計値が、実行履歴テーブル400に記憶されてもよい。統計値は、例えば、平均値、中央値、最頻値、最大値、最小値などである。 When set statistically, for example, instead of the previous acquisition time and the acquisition time of the next acquired command, the interval between the acquisition time of the previous command and the acquisition time of the next acquired command A statistical value may be stored in the execution history table 400. The statistical value is, for example, an average value, a median value, a mode value, a maximum value, a minimum value, or the like.
ここで、実行履歴テーブル400は、コマンドごとに用意されることが好ましい。実行履歴テーブル400は、他のコマンドとの一括処理が可能ではないコマンドについて用意されない場合があってもよい。ここで、ユーザごとに文字列を入力する順序や速度は異なり、情報処理装置100で文字列が示すコマンドを取得する順序や速度も異なる傾向があるため、実行履歴テーブル400は、CLIを利用するユーザごとに用意されてもよい。
Here, the execution history table 400 is preferably prepared for each command. The execution history table 400 may not be prepared for commands that cannot be batch processed with other commands. Here, since the order and speed of inputting character strings are different for each user and the order and speed of acquiring commands indicated by the character strings in the
(情報処理装置100の機能的構成例)
次に、図5を用いて、情報処理装置100の機能的構成例について説明する。
(Functional configuration example of information processing apparatus 100)
Next, a functional configuration example of the
図5は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、記憶部500と、取得部501と、判定部502と、翻訳部503と、実行部504と、出力部505とを含む。
FIG. 5 is a block diagram illustrating a functional configuration example of the
記憶部500は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域によって実現される。取得部501〜出力部505は、制御部となる機能である。取得部501〜出力部505は、具体的には、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、ネットワークI/F203により、その機能を実現する。各機能部の処理結果は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶される。
The
記憶部500は、複数のコマンドの一括処理の可否を示す管理情報を記憶する。管理情報は、例えば、情報処理装置100の製造者によって設定される。管理情報は、さらに、複数のコマンドの一括処理が可能である順序を示してもよい。記憶部500は、例えば、図3に示した一括処理可否表300を記憶する。これにより、記憶部500は、複数のコマンドが一括処理しても問題がない組み合わせであるか否かを判定部502が判定可能にすることができる。
The
取得部501は、文字列の入力を受け付ける。文字列は、例えば、改行で区切られた、複数のコマンドを示す文字列を含み、複数のコマンドを一括して示す。文字列は、1つのコマンドを示してもよい。取得部501は、例えば、複数のコマンドを示す文字列の入力を受け付ける。取得部501は、具体的には、CLIの入力欄に対する文字列のコピー&ペーストにより、文字列の入力を受け付ける。
The
取得部501は、入力された文字列を解析してコマンドを取得する。取得部501は、例えば、入力された文字列のうち改行で区切られた文字列を、コマンドとして取得する。これにより、取得部501は、実行が要求された、コマンドに対応する処理を特定可能にすることができる。
The
判定部502は、複数のコマンドを取得した場合、記憶部500を参照し、取得した複数のコマンドの一括処理が可能であるか否かを判定する。判定部502は、例えば、複数のコマンドを一括して取得した場合、一括処理可否表300を参照し、複数のコマンドにおいて連続する2つのコマンドの組み合わせごとに、一括処理が可能であるか否かを判定する。判定部502は、すべての組み合わせについて一括処理が可能であると判定した場合、複数のコマンドの一括処理が可能であると判定する。これにより、判定部502は、取得した複数のコマンドが一括処理しても問題がない組み合わせであるか否かを判定することができる。
When the
ここでは、判定部502が、一括して取得した複数のコマンドの一括処理が可能であるか否かを判定する場合について説明したが、これに限らない。例えば、判定部502が、連続して取得した複数のコマンドの一括処理が可能であるか否かを判定する場合があってもよい。以下の説明では、判定部502が、連続して取得した複数のコマンドの一括処理が可能であるか否かを判定する場合について説明する。
Here, a case has been described in which the
判定部502は、バッファになる記憶領域を用意する。バッファは、一括処理が可能である1以上のコマンドを記憶する一時記憶領域である。バッファは、例えば、図2に示したメモリ202内の記憶領域である。判定部502は、バッファが空であり、入力された文字列を解析してコマンドを取得した場合、取得したコマンドをバッファに追加する。
The
判定部502は、バッファが空ではない場合、入力された文字列を解析してコマンドを取得する都度、取得したコマンドと、バッファに蓄積されたコマンドとの一括処理が可能であるか否かを判定する。判定部502は、例えば、取得したコマンドと、バッファに最後に追加されたコマンドとの一括処理が可能であるか否かを判定する。
When the buffer is not empty, the
判定部502は、取得したコマンドと、バッファに蓄積されたコマンドとの一括処理が可能であると判定した場合、取得したコマンドをバッファに追加する。判定部502は、例えば、取得したコマンドと、バッファに最後に追加されたコマンドとの一括処理が可能であると判定した場合、取得したコマンドをバッファに追加する。これにより、判定部502は、バッファに一括処理が可能である1以上のコマンドを蓄積していくことができる。
If the
判定部502は、過去に、バッファの最後のコマンドに次いで、バッファの最後のコマンドと一括処理が可能であるコマンドを取得したことがあるか否かを判定する。判定部502は、例えば、図4に示した実行履歴テーブル400を参照し、過去に、バッファの最後のコマンドと同一のコマンドに次いで、バッファの最後のコマンドと同一のコマンドと一括処理が可能であるコマンドを取得したことがあるか否かを判定する。
The
これにより、判定部502は、次に取得されるコマンドが、現在バッファに蓄積された1以上のコマンドとの一括処理が可能なコマンドである確率が高いと考えられる状態であるか否かを判定することができる。そして、判定部502は、確率が高いと考えられる状態であれば、次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。一方で、判定部502は、確率が高いと考えられる状態でなければ、バッファに対するコマンドの追加を一区切りすることができる。
As a result, the
判定部502は、バッファの最後のコマンドと、バッファの最後のコマンドに次いで取得されたコマンドとの、過去の取得時点の間隔が閾値を超えるか否かを判定する。閾値は、可変である。閾値は、例えば、バッファの最後のコマンドの過去の処理時間に基づいて設定される値である。閾値は、例えば、バッファの最後のコマンドの過去の処理時間の1/50の値が設定される。閾値は、固定値であってもよい。閾値は、例えば、情報処理装置100の製造者によって設定される。
The
判定部502は、例えば、図4に示した実行履歴テーブル400を参照し、バッファの最後のコマンドと同一のコマンドを取得した過去の取得時点を特定する。また、判定部502は、バッファの最後のコマンドと同一のコマンドに次いでコマンドを取得した過去の取得時点を特定する。判定部502は、特定した取得時点の間隔が閾値を超えるか否かを判定する。
For example, the
これにより、判定部502は、次のコマンドが比較的短時間で取得される確率が高いと考えられる状態であるか否かを判定することができる。そして、判定部502は、確率が高いと考えられる状態であれば、次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。一方で、判定部502は、確率が高いと考えられる状態でなければ、バッファに対するコマンドの追加を一区切りすることができる。
Accordingly, the
翻訳部503は、取得した複数のコマンドの一括処理が可能であると判定した場合、取得した複数のコマンドに対応する1つの処理を生成する。1つの処理は、例えば、スレッドに割り当てる単位であり、スレッドへの命令群である。命令群は、例えば、処理内容やパラメータを示す、実行可能なバイナリデータである。
When the
翻訳部503は、バッファの最後のコマンドの追加からの経過時間が閾値を超えた場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成する。閾値は、可変である。閾値は、例えば、バッファの最後のコマンドの過去の処理時間に基づいて設定される値である。閾値は、例えば、バッファの最後のコマンドの過去の処理時間の1/50の値が設定される。閾値は、固定値であってもよい。閾値は、例えば、情報処理装置100の製造者によって設定される。
When the elapsed time from the addition of the last command in the buffer exceeds the threshold, the
これにより、翻訳部503は、次のコマンドの取得を待ち続けると、バッファに蓄積されたコマンドの応答性能が、次のコマンドをバッファに追加することができた場合に比べても低下してしまうと判断される状態であるか否かを判定することができる。
As a result, if the
そして、翻訳部503は、応答性能が低下してしまうと判断される状態でなければ、次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。一方で、翻訳部503は、応答性能が低下してしまうと判断される状態であれば、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成し、コマンドの応答性能の低下を抑制することができる。
If it is not determined that the response performance will be degraded, the
翻訳部503は、取得したコマンドと、バッファに蓄積されたコマンドとの一括処理が可能ではないと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成する。翻訳部503は、取得したコマンドを新たなバッファに追加する。新たなバッファは、例えば、バッファに蓄積されたコマンドを消去した後のバッファであってもよい。
If the
これにより、翻訳部503は、一括処理が可能である1以上のコマンドが一旦蓄積され切った場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成し、バッファに蓄積された1以上のコマンドの応答性能や処理効率の向上を図ることができる。
Thereby, when one or more commands that can be collectively processed are once accumulated, the
翻訳部503は、バッファの最後のコマンドと一括処理が可能であるコマンドを取得したことがないと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成する。翻訳部503は、例えば、過去に、バッファの最後のコマンドと同一のコマンドと一括処理が可能であるコマンドを取得したことがないと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成する。
If the
これにより、翻訳部503は、次に取得されるコマンドが、現在バッファに蓄積された1以上のコマンドとの一括処理が可能なコマンドである確率が高いと考えられる状態でなければ、1以上のコマンドに対応する1つの処理を生成することができる。このため、情報処理装置100は、次のコマンドの取得を待たず、コマンドの応答性能の低下を抑制することができる。
As a result, the
翻訳部503は、過去の取得時点の間隔が閾値を超えたと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成する。これにより、翻訳部503は、次のコマンドが比較的短時間で取得される確率が高いと考えられる状態でなければ、1以上のコマンドに対応する1つの処理を生成することができる。このため、情報処理装置100は、次のコマンドの取得を待たず、コマンドの応答性能の低下を抑制することができる。
The
実行部504は、生成した1つの処理を実行する。実行部504は、例えば、生成した1つの処理を1つのスレッドに割り当てて実行する。スレッドは、例えば、図2に後述するCPU201の処理単位である。実行部504は、生成した命令群をスレッドに割り当てて、生成した命令群に応じた処理を実行する。実行部504は、生成した1つの処理を、他のコンピュータのスレッドに実行させる場合があってもよい。
The
これにより、実行部504は、コマンドに対応する処理ごとに事前処理や事後処理を行わず、複数のコマンドに対応する複数の処理について事前処理と事後処理とを一括して行うことができる。このため、実行部504は、複数のコマンドに対する応答性能や処理効率の向上を図ることができる。
As a result, the
出力部505は、各機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F203による外部装置への送信、または、メモリ202や記録媒体205などの記憶領域への記憶である。これにより、出力部505は、各機能部の処理結果をユーザに把握させることができる。ユーザは、各機能部の処理結果を、情報処理装置100の管理や運用に利用することができる。
The
(実施例1における情報処理装置100の動作例)
次に、図6および図7を用いて、実施例1における情報処理装置100の動作例について説明する。実施例1は、情報処理装置100が、複数のコマンドを一括して示す文字列の入力を受け付ける場合についての具体例である。実施例1では、情報処理装置100は、実行履歴テーブル400を有していなくてもよい。
(Operation Example of
Next, an operation example of the
図6および図7は、実施例1における情報処理装置100の動作例を示す説明図である。図6において、情報処理装置100は、CLIの入力欄610に対する、複数のコマンドを一括して示す文字列600の入力を受け付ける。
6 and 7 are explanatory diagrams illustrating an operation example of the
文字列600は、文字列601「pool create −type ssd −capacity 100tb −name mypool」を含む。文字列601は、記憶領域を確保するpool createコマンドを示し、確保する記憶領域のタイプやサイズや識別名などを指定するパラメータを示す。
The
文字列600は、文字列602「volume create −type thin −pool mypool −size 10tb −name volume1」を含む。文字列602は、論理ボリュームを作成するvolume createコマンド1を示し、論理ボリュームのタイプや作成場所やサイズや識別名を示す。
The
文字列600は、同様の文字列603「volume create −type thin −pool mypool −size 20tb −name volume2」を含む。文字列600は、同様の文字列604「volume create −type thin −pool mypool −size 50tb −name volume3」を含む。
The
文字列600は、同様の文字列605「volume create −type thick −pool mypool −size 30tb −name volume4」を含む。次に、図7の説明に移行し、文字列600の入力を受け付けた場合における、情報処理装置100の動作例について説明する。
The
図7において、情報処理装置100は、一括処理が可能である1以上のコマンドを蓄積するコマンドバッファを用意する。コマンドバッファは、例えば、図2に示したメモリ202内の記憶領域である。情報処理装置100は、入力された文字列600の先頭から改行までの文字列601を抽出し、抽出した文字列601が示すpool createコマンドを取得する。情報処理装置100は、pool createコマンドをコマンドバッファに追加する。
In FIG. 7, the
次に、情報処理装置100は、入力された文字列600の次の改行までの文字列602を抽出し、抽出した文字列602が示すvolume createコマンド1を取得する。情報処理装置100は、一括処理可否表300の可否フラグ701を参照し、コマンドバッファのpool createコマンドと、取得したvolume createコマンド1との一括処理が可能であるか否かを判定する。
Next, the
情報処理装置100は、一括処理が可能ではないため、コマンドバッファのpool createコマンドに対応する1つの内部処理を生成し、1つのスレッドに割り当てて実行する。情報処理装置100は、コマンドバッファの記憶内容を消去し、取得したvolume createコマンド1をコマンドバッファに追加する。
Since the
次に、情報処理装置100は、入力された文字列600の次の改行までの文字列603を抽出し、抽出した文字列603が示すvolume createコマンド2を取得する。情報処理装置100は、一括処理可否表300の可否フラグ702を参照し、コマンドバッファのvolume createコマンド1と、取得したvolume createコマンド2との一括処理が可能であるか否かを判定する。
Next, the
情報処理装置100は、一括処理が可能であるため、取得したvolume createコマンド2をコマンドバッファに追加する。これにより、情報処理装置100は、コマンドバッファに一括処理が可能である1以上のコマンドを蓄積していくことができる。
Since the
情報処理装置100は、文字列603と同様に、入力された文字列600の次の改行までの文字列604を抽出し、抽出した文字列604が示すvolume createコマンド3を取得し、コマンドバッファに追加する。
Similarly to the
情報処理装置100は、文字列603と同様に、入力された文字列600の次の改行までの文字列605を抽出し、抽出した文字列605が示すvolume createコマンド4を取得し、コマンドバッファに追加する。そして、情報処理装置100は、コマンドバッファに蓄積された4つのコマンドに対応する1つの内部処理を生成し、スレッドに割り当てて実行する。
Similar to the
ここで、従来では、4つのコマンドのそれぞれのコマンドに対応する処理を、順番にスレッドに割り当てて実行する場合が考えられる。この場合、それぞれのコマンドに対応する処理を割り当てたスレッドごとに、IOを一旦停止するなどの事前処理や事後処理が行われることになる。ここで、事前処理や事後処理は、論理ボリュームを作成する処理よりも相対的に時間がかかる傾向がある。このため、スレッドごとにIOを一旦停止するなどの事前処理や事後処理が行われると、4つのコマンドに対応する4つの処理が終了するまでにかかる時間が、コマンド数に比例して膨大化してしまう。 Here, conventionally, a case where processing corresponding to each of the four commands is assigned to a thread in order and executed. In this case, for each thread to which processing corresponding to each command is assigned, pre-processing and post-processing such as temporarily stopping the IO are performed. Here, pre-processing and post-processing tend to take relatively longer time than processing to create a logical volume. For this reason, when pre-processing or post-processing such as temporarily stopping IO for each thread is performed, the time taken to complete four processes corresponding to four commands increases in proportion to the number of commands. End up.
これに対し、情報処理装置100は、4つのコマンドに対応する1つの内部処理を生成し、スレッドに割り当てて実行するため、IOを一旦停止するなどの事前処理や事後処理を1回行えばよくすることができる。結果として、情報処理装置100は、4つのコマンドに対する応答性能や処理効率の向上を図ることができる。情報処理装置100は、例えば、従来では4回事前処理や事後処理が行われたのに対し、1回事前処理や事後処理を行えばよくして、4つのコマンドに対する応答性能を4倍程度に向上することができる。
On the other hand, since the
ここでは、情報処理装置100が、コマンドバッファのpool createコマンドと、取得したvolume createコマンド1との順不同の組み合わせの、一括処理が可能であるか否かを判定する場合などについて説明したが、これに限らない。
Here, a case has been described in which the
例えば、一括処理可否表300が、さらに、複数のコマンドの一括処理が可能である順序を示している場合がある。この場合、情報処理装置100は、コマンドバッファのpool createコマンドと、取得したvolume createコマンド1とが、一括処理が可能な組み合わせ、かつ、一括処理が可能な順序であるか否かなどを判定するようにしてもよい。
For example, the batch processing availability table 300 may further indicate an order in which a plurality of commands can be batch processed. In this case, the
(実施例1における一括処理手順の一例)
次に、図8を用いて、実施例1における一括処理手順の一例について説明する。
(Example of batch processing procedure in Embodiment 1)
Next, an example of a batch processing procedure in the first embodiment will be described with reference to FIG.
図8は、実施例1における一括処理手順の一例を示すフローチャートである。図8において、情報処理装置100は、文字列の入力を受け付ける(ステップS801)。
FIG. 8 is a flowchart illustrating an example of a batch processing procedure according to the first embodiment. In FIG. 8, the
次に、情報処理装置100は、入力された文字列のうち改行までの文字列を取得する(ステップS802)。そして、情報処理装置100は、取得した文字列をコマンドとして解析し、コマンドを取得する(ステップS803)。
Next, the
次に、情報処理装置100は、コマンドバッファが空であるか否かを判定する(ステップS804)。ここで、コマンドバッファが空である場合(ステップS804:Yes)、情報処理装置100は、ステップS810の処理に移行する。
Next, the
一方で、コマンドバッファが空ではない場合(ステップS804:No)、情報処理装置100は、一括処理可否表300から、取得したコマンドと、コマンドバッファに記憶されたコマンドとを検索する(ステップS805)。
On the other hand, if the command buffer is not empty (step S804: No), the
次に、情報処理装置100は、検索した結果に基づいて、取得したコマンドと、コマンドバッファに記憶されたコマンドとの一括処理が可能であるか否かを判定する(ステップS806)。ここで、一括処理が可能である場合(ステップS806:Yes)、情報処理装置100は、ステップS810の処理に移行する。
Next, the
一方で、一括処理が可能ではない場合(ステップS806:No)、情報処理装置100は、コマンドバッファに記憶された1以上のコマンドを1つの内部処理に翻訳する(ステップS807)。そして、情報処理装置100は、翻訳した1つの内部処理を1つのスレッドに割り当てて実行する(ステップS808)。
On the other hand, if batch processing is not possible (step S806: No), the
次に、情報処理装置100は、コマンドバッファの記憶内容を消去する(ステップS809)。そして、情報処理装置100は、ステップS810の処理に移行する。
Next, the
ステップS810では、情報処理装置100は、取得したコマンドをコマンドバッファに追加する(ステップS810)。次に、情報処理装置100は、改行を含む未処理の文字列が存在するか否かを判定する(ステップS811)。ここで、改行を含む未処理の文字列が存在する場合(ステップS811:Yes)、情報処理装置100は、ステップS802の処理に戻る。
In step S810, the
一方で、改行を含む未処理の文字列が存在しない場合(ステップS811:No)、情報処理装置100は、コマンドバッファに記憶された1以上のコマンドを1つの内部処理に翻訳する(ステップS812)。そして、情報処理装置100は、翻訳した1つの内部処理を1つのスレッドに割り当てて実行する(ステップS813)。
On the other hand, when there is no unprocessed character string including a line feed (step S811: No), the
次に、情報処理装置100は、コマンドバッファの記憶内容を消去する(ステップS814)。そして、情報処理装置100は、一括処理を終了する。これにより、情報処理装置100は、複数のコマンドに対応する1つの内部処理を生成することができ、複数のコマンドに対する応答性能や処理効率の向上を図ることができる。
Next, the
(実施例2における情報処理装置100の動作例)
次に、図9および図10を用いて、実施例2における情報処理装置100の動作例について説明する。実施例2は、実施例1とは異なり、情報処理装置100が、コマンドを示す文字列の入力を連続して受け付ける場合についての具体例である。
(Operation Example of
Next, an operation example of the
図9および図10は、実施例2における情報処理装置100の動作例を示す説明図である。図9において、情報処理装置100は、時刻t1に、CLIの入力欄910に対する、コマンドを示す文字列901の入力を受け付ける。文字列901は、「pool create −type ssd −capacity 100tb −name mypool」である。文字列901は、記憶領域を確保するpool createコマンドを示し、確保する記憶領域のタイプやサイズや識別名などを指定するパラメータを示す。
9 and 10 are explanatory diagrams illustrating an operation example of the
情報処理装置100は、時刻t2に、CLIの入力欄910に対する、コマンドを示す文字列902の入力を受け付ける。文字列902は、「volume create −type thin −pool mypool −size 10tb −name volume1」を含む。文字列902は、論理ボリュームを作成するvolume createコマンド1を示し、論理ボリュームのタイプや作成場所やサイズや識別名を示す。
The
情報処理装置100は、時刻t3に、CLIの入力欄910に対する、コマンドを示す文字列903の入力を受け付ける。文字列903は、文字列902と同様の「volume create −type thin −pool mypool −size 20tb −name volume2」を含む。
The
情報処理装置100は、時刻t4に、CLIの入力欄910に対する、コマンドを示す文字列904の入力を受け付ける。文字列904は、文字列902と同様の「volume create −type thin −pool mypool −size 50tb −name volume3」を含む。
The
情報処理装置100は、時刻t5に、CLIの入力欄910に対する、コマンドを示す文字列905の入力を受け付ける。文字列905は、文字列902と同様の「volume create −type thick −pool mypool −size 30tb −name volume4」を含む。次に、図10の説明に移行し、それぞれの時刻t1〜t5における情報処理装置100の動作例について説明する。
The
図10において、情報処理装置100は、一括処理が可能である1以上のコマンドを蓄積するコマンドバッファを用意する。情報処理装置100は、時刻t1において、入力された文字列901が示すpool createコマンドを取得する。情報処理装置100は、pool createコマンドをコマンドバッファに追加する。ここで、情報処理装置100は、次のコマンドの取得を待つか否かを決定する。
In FIG. 10, the
情報処理装置100は、例えば、取得したpool createコマンドに対応する実行履歴テーブル400を取得する。情報処理装置100は、実行履歴テーブル400の前回取得時の一括処理の有無のフィールドの情報1001を抽出する。情報処理装置100は、抽出した情報1001に基づいて、pool createコマンドに次いで、pool createコマンドと一括処理が可能なpool createコマンドが取得されたことがあると判定する。これにより、情報処理装置100は、次のコマンドの取得を待ってもよいと判定する。
For example, the
また、情報処理装置100は、実行履歴テーブル400の前回の取得時刻のフィールドの情報1002と、次に取得されたコマンドの取得時刻のフィールドの情報1003とを抽出する。情報処理装置100は、抽出した情報1002,1003に基づいて、pool createコマンドの過去の取得時刻と、pool createコマンドに次いで取得されたpool createコマンドの過去の取得時刻との間隔を算出する。情報処理装置100は、算出した間隔が、閾値以下であると判定する。閾値は、例えば、前回処理時間「6.270sec」の1/50が設定される。これにより、情報処理装置100は、次のコマンドの取得を待ってもよいと判定する。
Further, the
情報処理装置100は、次のコマンドの取得を待ってもよいと判定したため、経過時間が閾値を超えるまで、次のコマンドの取得を待つ。情報処理装置100は、経過時間が閾値を超えても、次のコマンドが取得されなければ、コマンドバッファのpool createコマンドに対応する1つの内部処理を生成し、1つのスレッドに割り当てて実行する。
Since the
ここでは、情報処理装置100は、時刻t2に、経過時間が閾値を超える前に、入力された文字列902が示すvolume createコマンド1を取得する。情報処理装置100は、一括処理可否表300の可否フラグ701を参照し、コマンドバッファのpool createコマンドと、取得したvolume createコマンド1との一括処理が可能であるか否かを判定する。
Here, the
情報処理装置100は、一括処理が可能ではないため、コマンドバッファのpool createコマンドに対応する1つの内部処理を生成し、1つのスレッドに割り当てて実行する。情報処理装置100は、コマンドバッファの記憶内容を消去し、取得したvolume createコマンド1をコマンドバッファに追加する。
Since the
ここで、情報処理装置100は、新たに閾値を設定し、取得したvolume createコマンド1に対応する実行履歴テーブル400に基づいて、次のコマンドの取得を待つか否かを決定する。閾値は、例えば、volume createコマンド1に対応する前回処理時間の1/50が設定される。
Here, the
情報処理装置100は、次のコマンドの取得を待ってもよいと判定した後、時刻t3に、入力された文字列903が示すvolume createコマンド2を取得する。情報処理装置100は、一括処理可否表300の可否フラグ702を参照し、コマンドバッファのvolume createコマンド1と、取得したvolume createコマンド2との一括処理が可能であるか否かを判定する。
After determining that the acquisition of the next command may be waited for, the
情報処理装置100は、一括処理が可能であるため、取得したvolume createコマンド2をコマンドバッファに追加する。これにより、情報処理装置100は、コマンドバッファに、一括処理が可能である1以上のコマンドを蓄積していくことができる。
Since the
ここで、情報処理装置100は、新たに閾値を設定し、取得したvolume createコマンド2に対応する実行履歴テーブル400に基づいて、次のコマンドの取得を待つか否かを決定する。閾値は、例えば、volume createコマンド2に対応する前回処理時間の1/50が設定される。
Here, the
情報処理装置100は、次のコマンドの取得を待ってもよいと判定した後、時刻t4に、入力された文字列904が示すvolume createコマンド3を取得し、コマンドバッファに追加する。
After determining that the next command may be acquired, the
ここで、情報処理装置100は、新たに閾値を設定し、取得したvolume createコマンド3に対応する実行履歴テーブル400に基づいて、次のコマンドの取得を待つか否かを決定する。閾値は、例えば、volume createコマンド3に対応する前回処理時間の1/50が設定される。
Here, the
情報処理装置100は、次のコマンドの取得を待ってもよいと判定した後、時刻t5に、入力された文字列905が示すvolume createコマンド4を取得し、コマンドバッファに追加する。
After determining that the next command may be acquired, the
ここで、情報処理装置100は、新たに閾値を設定し、取得したvolume createコマンド3に対応する実行履歴テーブル400に基づいて、次のコマンドの取得を待つか否かを決定する。閾値は、例えば、volume createコマンド4に対応する前回処理時間の1/50が設定される。
Here, the
情報処理装置100は、次のコマンドの取得を待ってもよいと判定した後、経過時間が閾値を超えたため、コマンドバッファに蓄積された4つのコマンドに対応する1つの内部処理を生成し、スレッドに割り当てて実行する。
The
ここで、従来では、4つのコマンドのそれぞれのコマンドに対応する処理を、順番にスレッドに割り当てて実行する場合が考えられる。この場合、それぞれのコマンドに対応する処理を割り当てたスレッドごとに、IOを一旦停止するなどの事前処理や事後処理が行われることになる。ここで、事前処理や事後処理は、論理ボリュームを作成する処理よりも相対的に時間がかかる傾向がある。このため、スレッドごとにIOを一旦停止するなどの事前処理や事後処理が行われると、4つのコマンドに対応する4つの処理が終了するまでにかかる時間が、コマンド数に比例して膨大化してしまう。 Here, conventionally, a case where processing corresponding to each of the four commands is assigned to a thread in order and executed. In this case, for each thread to which processing corresponding to each command is assigned, pre-processing and post-processing such as temporarily stopping the IO are performed. Here, pre-processing and post-processing tend to take relatively longer time than processing to create a logical volume. For this reason, when pre-processing or post-processing such as temporarily stopping IO for each thread is performed, the time taken to complete four processes corresponding to four commands increases in proportion to the number of commands. End up.
これに対し、情報処理装置100は、4つのコマンドに対応する1つの内部処理を生成し、スレッドに割り当てて実行するため、IOを一旦停止するなどの事前処理や事後処理を1回行えばよくすることができる。結果として、情報処理装置100は、4つのコマンドに対する応答性能や処理効率の向上を図ることができる。情報処理装置100は、例えば、従来では4回事前処理や事後処理が行われたのに対し、1回事前処理や事後処理を行えばよくして、4つのコマンドに対する応答性能を4倍程度に向上することができる。
On the other hand, since the
情報処理装置100は、一括して複数のコマンドを取得せず、連続して複数のコマンドを取得するような場合でも、取得された複数のコマンドに対する応答性能や処理効率の向上を図ることができる。そして、情報処理装置100は、ユーザの入力の仕方によらず、複数のコマンドに対する応答性能や処理効率の向上を図り、CLIの利便性の向上を図ることができる。
The
情報処理装置100は、1つのコマンドに対応する処理にかかる時間が、次のコマンドの取得を待つ時間に比べて長くなりやすいような状況に適用することができる。そして、情報処理装置100は、次のコマンドの取得を待つことにより、取得したコマンドに対応する処理の実行開始を遅らせても、複数のコマンド全体に対する応答性能や処理効率を向上することができる。
The
情報処理装置100は、次のコマンドを待つ時間を固定せず、最後に取得したコマンドごとに異なる値を設定するため、次のコマンドの取得を待つことによる、最後に取得したコマンドに対する応答性能や処理効率の低下を抑制することができる。また、情報処理装置100は、次のコマンドを待つ方が好ましい場合は、次のコマンドを待つことができるようになる。
Since the
また、情報処理装置100は、コマンドバッファに蓄積される一括処理が可能なコマンドの数が、効率よく増加するようにすることができる。このため、情報処理装置100は、より多くのコマンドに対応する処理が1つの処理にまとめられる確率の向上を図り、CLIにおけるコマンド全体での応答性能や処理効率の向上を図ることができる。
Further, the
実施例2において、情報処理装置100は、統計的に情報が設定された実行履歴テーブル400を参照すれば、さらに精度よく、次のコマンドを待つか否かを判定可能にすることができる。このため、情報処理装置100は、さらに効率よく、CLIにおけるコマンド全体での応答性能や処理効率の向上を図ることができる。
In the second embodiment, the
実施例2において、情報処理装置100は、ユーザごとに異なる実行履歴テーブル400を参照すれば、さらに精度よく、次のコマンドを待つか否かを判定可能にすることができる。このため、情報処理装置100は、さらに効率よく、CLIにおけるコマンド全体での応答性能や処理効率の向上を図ることができる。
In the second embodiment, the
(実施例2における一括処理手順の一例)
次に、図11を用いて、実施例2における一括処理手順の一例について説明する。
(Example of batch processing procedure in Embodiment 2)
Next, an example of a batch processing procedure in the second embodiment will be described with reference to FIG.
図11は、実施例2における一括処理手順の一例を示すフローチャートである。実施例2における一括処理手順の一例は、ステップS1101の処理を除き、図8に示した実施例1における一括処理手順の一例と同様である。このため、図11の例では、図8に示した実施例1における一括処理手順の一例における処理と同様の処理については、図8と同じ符号を付して説明を省略する。 FIG. 11 is a flowchart illustrating an example of a batch processing procedure according to the second embodiment. An example of the batch processing procedure in the second embodiment is the same as the example of the batch processing procedure in the first embodiment shown in FIG. 8 except for the processing in step S1101. For this reason, in the example of FIG. 11, processes similar to those in the example of the batch processing procedure in the first embodiment illustrated in FIG.
図11において、情報処理装置100は、図8に示したステップS810の処理と同様の処理を実行した後、ステップS1101の処理に移行する。ステップS1101では、情報処理装置100は、図11に後述する待機処理を実行する(ステップS1101)。そして、情報処理装置100は、図8に示したステップS811の処理と同様の処理に移行する。
In FIG. 11, the
(実施例2における待機処理手順の一例)
次に、図12を用いて、実施例2における待機処理手順の一例について説明する。
(Example of standby processing procedure in Embodiment 2)
Next, an example of a standby process procedure according to the second embodiment will be described with reference to FIG.
図12は、実施例2における待機処理手順の一例を示すフローチャートである。情報処理装置100は、改行を含む未処理の文字列が存在するか否かを判定する(ステップS1201)。ここで、改行を含む未処理の文字列が存在する場合(ステップS1201:Yes)、情報処理装置100は、待機処理を終了する。
FIG. 12 is a flowchart illustrating an example of a standby process procedure according to the second embodiment. The
一方で、改行を含む未処理の文字列が存在しない場合(ステップS1201:No)、情報処理装置100は、コマンドバッファに最後に記憶されたコマンドを抽出する(ステップS1202)。次に、情報処理装置100は、抽出したコマンドに対応する実行履歴テーブル400を取得する(ステップS1203)。
On the other hand, when there is no unprocessed character string including a line feed (step S1201: No), the
そして、情報処理装置100は、取得した実行履歴テーブル400を参照し、過去に、抽出したコマンドに次いで、抽出したコマンドと一括処理が可能であるコマンドが取得されたことがあるか否かを判定する(ステップS1204)。ここで、取得されたことがない場合(ステップS1204:No)、情報処理装置100は、待機処理を終了する。
Then, the
一方で、取得されたことがある場合(ステップS1204:Yes)、情報処理装置100は、抽出したコマンドと、抽出したコマンドに次いで取得されたコマンドとの、過去の取得時刻の間隔が、閾値以下であるか否かを判定する(ステップS1205)。
On the other hand, if it has been acquired (step S1204: Yes), the
閾値は、可変である。閾値は、例えば、抽出したコマンドの過去の処理時間に基づいて設定される値である。閾値は、例えば、抽出したコマンドの過去の処理時間の1/50の値が設定される。閾値は、固定値であってもよい。閾値は、例えば、情報処理装置100の製造者によって設定される。
The threshold is variable. The threshold is a value set based on, for example, the past processing time of the extracted command. As the threshold value, for example, a value of 1/50 of the past processing time of the extracted command is set. The threshold value may be a fixed value. The threshold is set by the manufacturer of the
ここで、閾値以下ではない場合(ステップS1205:No)、情報処理装置100は、待機処理を終了する。一方で、閾値以下である場合(ステップS1205:Yes)、情報処理装置100は、コマンドを抽出してからの経過時間が閾値を超えたか否かを判定する(ステップS1206)。ここで、閾値を超えた場合(ステップS1206:Yes)、情報処理装置100は、待機処理を終了する。
Here, when it is not below the threshold value (step S1205: No), the
一方で、閾値を超えていない場合(ステップS1206:No)、情報処理装置100は、改行を含む未処理の文字列の入力を待ち、改行を含む未処理の文字列の入力を受け付けたか否かを判定する(ステップS1207)。ここで、受け付けていない場合(ステップS1207:No)、情報処理装置100は、ステップS1206の処理に戻る。
On the other hand, when the threshold value is not exceeded (step S1206: No), the
一方で、受け付けた場合(ステップS1207:Yes)、情報処理装置100は、待機処理を終了する。これにより、情報処理装置100は、次のコマンドの取得を待つことによる、現在取得済みのコマンドに対応する処理の応答性能や処理効率への悪影響を抑制しつつ、一括処理が可能な1以上のコマンドをまとめることができる。このため、情報処理装置100は、CLIにおけるコマンド全体での応答性能や処理効率の向上を図ることができる。
On the other hand, when the information is received (step S1207: Yes), the
以上説明したように、情報処理装置100によれば、入力された文字列を解析して複数のコマンドを取得した場合、取得した複数のコマンドの一括処理が可能であるか否かを判定することができる。情報処理装置100によれば、一括処理が可能であると判定した場合、取得した複数のコマンドに対応する1つの処理を生成し、生成した1つの処理を実行することができる。
As described above, according to the
これにより、情報処理装置100は、実装されるコマンドの構文の複雑化を防ぎ、コマンドの実装の容易化を図ることができ、複数のコマンドに対する応答性能や処理効率の向上を図ることができ、CLIの利便性の向上を図ることができる。
As a result, the
情報処理装置100によれば、一括処理が可能であると判定した場合、取得した複数のコマンドに対応する1つの処理を生成して、生成した1つの処理を1つのスレッドに割り当てて実行することができる。これにより、情報処理装置100は、複数のコマンドに対して、スレッドの生成や事前処理、および、スレッドの削除や事後処理を、1回にまとめることができ、複数のコマンドに対する応答性能や処理効率の向上を図ることができる。
According to the
情報処理装置100によれば、複数のコマンドを示す文字列の入力を受け付けることができる。これにより、情報処理装置100は、コピー&ペーストなどにより、複数のコマンドを一括して示す文字列の入力を受け付けることができ、ユーザが複数のコマンドを示す文字列を入力しやすくすることができる。
The
情報処理装置100によれば、入力された文字列を解析してコマンドを取得する都度、取得したコマンドと、バッファに蓄積されたコマンドとの一括処理が可能であるか否かを判定することができる。情報処理装置100によれば、バッファに蓄積されたコマンドとの一括処理が可能であると判定した場合、取得したコマンドをバッファに追加することができる。情報処理装置100によれば、バッファの最後のコマンドの追加からの経過時間が閾値を超えた場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成することができる。
According to the
これにより、情報処理装置100は、次のコマンドの取得を待ち続けると、バッファに蓄積されたコマンドの応答性能が、次のコマンドをバッファに追加することができた場合に比べても低下してしまうと判断される状態であるか否かを判定することができる。そして、情報処理装置100は、応答性能が低下してしまうと判断される状態でなければ、次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。一方で、情報処理装置100は、応答性能が低下してしまうと判断される状態であれば、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成し、コマンドの応答性能の低下を抑制することができる。
As a result, when the
情報処理装置100によれば、バッファが空であり、入力された文字列を解析してコマンドを取得した場合、取得したコマンドをバッファに追加することができる。これにより、情報処理装置100は、バッファが空であれば、すぐにコマンドに対応する処理を実行せず、コマンドと一括処理が可能なコマンドの入力を待つことができ、CLIにおけるコマンド全体での応答性能や処理効率の向上を図ることができる。
According to the
情報処理装置100によれば、バッファに蓄積されたコマンドとの一括処理が可能ではないと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成し、取得したコマンドを新たなバッファに追加することができる。これにより、情報処理装置100は、一括処理が可能な1以上のコマンドごとにまとめることができる。そして、情報処理装置100は、現時点で一括処理が可能である1以上のコマンドに対応する1つの処理を生成し、バッファに蓄積された1以上のコマンドの応答性能や処理効率の低下を抑制することができる。
According to the
情報処理装置100によれば、過去に、バッファの最後のコマンドに次いで、バッファの最後のコマンドと一括処理が可能であるコマンドを取得したことがあるか否かを判定することができる。情報処理装置100によれば、取得したことがないと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成することができる。
According to the
これにより、情報処理装置100は、次に取得されるコマンドが、現在バッファに蓄積されたコマンドとの一括処理が可能なコマンドである確率が高いと考えられる状態であるか否かを判定することができる。そして、情報処理装置100は、確率が高いと考えられる状態であれば次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。
As a result, the
情報処理装置100によれば、バッファの最後のコマンドと、バッファの最後のコマンドに次いで取得されたコマンドとの、過去の取得時点の間隔が閾値を超えるか否かを判定することができる。情報処理装置100によれば、過去の取得時点の間隔が閾値を超えたと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成し、生成した1以上の処理を実行することができる。
According to the
これにより、情報処理装置100は、次のコマンドが比較的短時間で取得される確率が高いと考えられる状態であるか否かを判定することができる。そして、情報処理装置100は、確率が高いと考えられる状態であれば、次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。
Thereby, the
情報処理装置100によれば、さらに、複数のコマンドの一括処理が可能である順序を示す管理情報を参照し、取得した複数のコマンドの一括処理が可能であるか否かを判定することができる。これにより、情報処理装置100は、所定の順序で一括処理が可能である複数のコマンドを、誤った順序で一括処理してしまうことを防止し、ユーザが複数のコマンドにより所望する機能を実現することができる。
Further, according to the
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。 The information processing method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. The information processing program described in this embodiment is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The information processing program described in this embodiment may be distributed via a network such as the Internet.
上述した実施の形態に関し、さらに以下の付記を開示する。 The following additional notes are disclosed with respect to the embodiment described above.
(付記1)入力された文字列を解析してコマンドを取得し、
複数のコマンドを取得した場合、複数のコマンドの一括処理の可否を示す管理情報を記憶する記憶部を参照し、取得した前記複数のコマンドの一括処理が可能であるか否かを判定し、
一括処理が可能であると判定した場合、取得した前記複数のコマンドに対応する1つの処理を生成し、生成した前記1つの処理を実行する、
制御部を有することを特徴とする情報処理装置。
(Appendix 1) The command is obtained by analyzing the input character string.
When acquiring a plurality of commands, refer to a storage unit that stores management information indicating whether batch processing of a plurality of commands is possible, and determine whether batch processing of the acquired plurality of commands is possible;
If it is determined that batch processing is possible, one process corresponding to the acquired commands is generated, and the generated one process is executed.
An information processing apparatus having a control unit.
(付記2)前記制御部は、
一括処理が可能であると判定した場合、取得した前記複数のコマンドに対応する1つの処理を生成して、生成した前記1つの処理を1つのスレッドに割り当てて実行する、ことを特徴とする付記1に記載の情報処理装置。
(Appendix 2) The control unit
If it is determined that batch processing is possible, one process corresponding to the acquired plurality of commands is generated, and the generated one process is assigned to one thread and executed. The information processing apparatus according to 1.
(付記3)前記制御部は、
複数のコマンドを示す文字列の入力を受け付ける、ことを特徴とする付記1に記載の情報処理装置。
(Appendix 3) The control unit
The information processing apparatus according to appendix 1, wherein input of a character string indicating a plurality of commands is accepted.
(付記4)前記制御部は、
入力された文字列を解析してコマンドを取得する都度、取得した前記コマンドと、記憶領域に蓄積されたコマンドとの一括処理が可能であるか否かを判定し、
前記記憶領域に蓄積されたコマンドとの一括処理が可能であると判定した場合、取得した前記コマンドを前記記憶領域に追加し、
前記記憶領域の最後のコマンドの追加からの経過時間が閾値を超えた場合、前記記憶領域に蓄積された1以上のコマンドに対応する1つの処理を生成し、生成した前記1つの処理を実行する、ことを特徴とする付記1〜3のいずれか一つに記載の情報処理装置。
(Appendix 4) The control unit
Each time the command is obtained by analyzing the input character string, it is determined whether batch processing of the acquired command and the command accumulated in the storage area is possible,
If it is determined that batch processing with the command stored in the storage area is possible, the acquired command is added to the storage area,
When the elapsed time from the addition of the last command in the storage area exceeds a threshold value, one process corresponding to one or more commands accumulated in the storage area is generated, and the generated one process is executed. The information processing apparatus according to any one of supplementary notes 1 to 3, wherein:
(付記5)前記制御部は、
前記記憶領域が空であり、入力された文字列を解析してコマンドを取得した場合、取得した前記コマンドを前記記憶領域に追加する、ことを特徴とする付記4に記載の情報処理装置。
(Supplementary Note 5) The control unit
The information processing apparatus according to claim 4, wherein when the storage area is empty and a command is acquired by analyzing an input character string, the acquired command is added to the storage area.
(付記6)前記制御部は、
前記記憶領域に蓄積されたコマンドとの一括処理が可能ではないと判定した場合、前記記憶領域に蓄積された1以上のコマンドに対応する1つの処理を生成し、生成した前記1つの処理を実行し、取得した前記コマンドを新たな記憶領域に追加する、ことを特徴とする付記4または5に記載の情報処理装置。
(Appendix 6) The control unit
If it is determined that batch processing with the command stored in the storage area is not possible, one process corresponding to one or more commands stored in the storage area is generated, and the generated one process is executed. The acquired information processing apparatus according to appendix 4 or 5, wherein the acquired command is added to a new storage area.
(付記7)前記制御部は、
過去に、前記記憶領域の最後のコマンドに次いで、前記記憶領域の最後のコマンドと一括処理が可能であるコマンドを取得したことがあるか否かを判定し、
取得したことがないと判定した場合、前記記憶領域に蓄積された1以上のコマンドに対応する1つの処理を生成し、生成した前記1つの処理を実行する、ことを特徴とする付記4〜6のいずれか一つに記載の情報処理装置。
(Appendix 7) The control unit
In the past, it is determined whether or not a command that can be batch processed with the last command of the storage area has been acquired following the last command of the storage area,
Appendices 4 to 6 characterized in that if it is determined that they have not been acquired, one process corresponding to one or more commands accumulated in the storage area is generated and the generated one process is executed. The information processing apparatus according to any one of the above.
(付記8)前記制御部は、
前記記憶領域の最後のコマンドと、前記記憶領域の最後のコマンドに次いで取得されたコマンドとの、過去の取得時点の間隔が閾値を超えるか否かを判定し、
過去の取得時点の間隔が閾値を超えたと判定した場合、前記記憶領域に蓄積された1以上のコマンドに対応する1つの処理を生成し、生成した前記1以上の処理を実行する、ことを特徴とする付記4〜7のいずれか一つに記載の情報処理装置。
(Appendix 8) The control unit
Determining whether an interval between past acquisition times of the last command of the storage area and a command acquired after the last command of the storage area exceeds a threshold;
When it is determined that an interval between past acquisition points exceeds a threshold, one process corresponding to one or more commands accumulated in the storage area is generated, and the generated one or more processes are executed. The information processing apparatus according to any one of supplementary notes 4 to 7.
(付記9)前記管理情報は、さらに、複数のコマンドの一括処理が可能である順序を示す、ことを特徴とする付記1〜3のいずれか一つに記載の情報処理装置。 (Supplementary note 9) The information processing apparatus according to any one of supplementary notes 1 to 3, wherein the management information further indicates an order in which a plurality of commands can be collectively processed.
(付記10)コンピュータに、
入力された文字列を解析してコマンドを取得し、
複数のコマンドを取得した場合、複数のコマンドの一括処理の可否を示す管理情報を記憶する記憶部を参照し、取得した前記複数のコマンドの一括処理が可能であるか否かを判定し、
一括処理が可能であると判定した場合、取得した前記複数のコマンドに対応する1つの処理を生成し、生成した前記1つの処理を実行する、
処理を実行させることを特徴とする情報処理プログラム。
(Appendix 10)
Parse the input string to get the command,
When acquiring a plurality of commands, refer to a storage unit that stores management information indicating whether batch processing of a plurality of commands is possible, and determine whether batch processing of the acquired plurality of commands is possible;
If it is determined that batch processing is possible, one process corresponding to the acquired commands is generated, and the generated one process is executed.
An information processing program for executing a process.
100 情報処理装置
101,500 記憶部
110,600〜605,901〜905 文字列
120 複数のコマンド
130 スレッド
200 バス
201 CPU
202 メモリ
203 ネットワークI/F
204 記録媒体I/F
205 記録媒体
210 ネットワーク
300 一括処理可否表
400 実行履歴テーブル
501 取得部
502 判定部
503 翻訳部
504 実行部
505 出力部
610,910 入力欄
DESCRIPTION OF
202
204 Recording medium I / F
205 Recording medium 210
Claims (9)
複数のコマンドを取得した場合、複数のコマンドの一括処理の可否を示す管理情報を記憶する記憶部を参照し、取得した前記複数のコマンドの一括処理が可能であるか否かを判定し、
一括処理が可能であると判定した場合、取得した前記複数のコマンドに対応する1つの処理を生成し、生成した前記1つの処理を実行する、
制御部を有することを特徴とする情報処理装置。 Parse the input string to get the command,
When acquiring a plurality of commands, refer to a storage unit that stores management information indicating whether batch processing of a plurality of commands is possible, and determine whether batch processing of the acquired plurality of commands is possible;
If it is determined that batch processing is possible, one process corresponding to the acquired commands is generated, and the generated one process is executed.
An information processing apparatus having a control unit.
一括処理が可能であると判定した場合、取得した前記複数のコマンドに対応する1つの処理を生成して、生成した前記1つの処理を1つのスレッドに割り当てて実行する、ことを特徴とする請求項1に記載の情報処理装置。 The controller is
When it is determined that collective processing is possible, one process corresponding to the acquired plurality of commands is generated, and the generated one process is assigned to one thread and executed. Item 4. The information processing apparatus according to Item 1.
複数のコマンドを示す文字列の入力を受け付ける、ことを特徴とする請求項1に記載の情報処理装置。 The controller is
The information processing apparatus according to claim 1, wherein an input of a character string indicating a plurality of commands is accepted.
入力された文字列を解析してコマンドを取得する都度、取得した前記コマンドと、記憶領域に蓄積されたコマンドとの一括処理が可能であるか否かを判定し、
前記記憶領域に蓄積されたコマンドとの一括処理が可能であると判定した場合、取得した前記コマンドを前記記憶領域に追加し、
前記記憶領域の最後のコマンドの追加からの経過時間が閾値を超えた場合、前記記憶領域に蓄積された1以上のコマンドに対応する1つの処理を生成し、生成した前記1つの処理を実行する、ことを特徴とする請求項1〜3のいずれか一つに記載の情報処理装置。 The controller is
Each time the command is obtained by analyzing the input character string, it is determined whether batch processing of the acquired command and the command accumulated in the storage area is possible,
If it is determined that batch processing with the command stored in the storage area is possible, the acquired command is added to the storage area,
When the elapsed time from the addition of the last command in the storage area exceeds a threshold value, one process corresponding to one or more commands accumulated in the storage area is generated, and the generated one process is executed. The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus.
前記記憶領域が空であり、入力された文字列を解析してコマンドを取得した場合、取得した前記コマンドを前記記憶領域に追加する、ことを特徴とする請求項4に記載の情報処理装置。 The controller is
The information processing apparatus according to claim 4, wherein when the storage area is empty and a command is acquired by analyzing an input character string, the acquired command is added to the storage area.
前記記憶領域に蓄積されたコマンドとの一括処理が可能ではないと判定した場合、前記記憶領域に蓄積された1以上のコマンドに対応する1つの処理を生成し、生成した前記1つの処理を実行し、取得した前記コマンドを新たな記憶領域に追加する、ことを特徴とする請求項4または5に記載の情報処理装置。 The controller is
If it is determined that batch processing with the command stored in the storage area is not possible, one process corresponding to one or more commands stored in the storage area is generated, and the generated one process is executed. The information processing apparatus according to claim 4, wherein the acquired command is added to a new storage area.
過去に、前記記憶領域の最後のコマンドに次いで、前記記憶領域の最後のコマンドと一括処理が可能であるコマンドを取得したことがあるか否かを判定し、
取得したことがないと判定した場合、前記記憶領域に蓄積された1以上のコマンドに対応する1つの処理を生成し、生成した前記1つの処理を実行する、ことを特徴とする請求項4〜6のいずれか一つに記載の情報処理装置。 The controller is
In the past, it is determined whether or not a command that can be batch processed with the last command of the storage area has been acquired following the last command of the storage area,
5. When it is determined that it has not been acquired, one process corresponding to one or more commands accumulated in the storage area is generated, and the generated one process is executed. 6. The information processing apparatus according to any one of 6.
前記記憶領域の最後のコマンドと、前記記憶領域の最後のコマンドに次いで取得されたコマンドとの、過去の取得時点の間隔が閾値を超えるか否かを判定し、
過去の取得時点の間隔が閾値を超えたと判定した場合、前記記憶領域に蓄積された1以上のコマンドに対応する1つの処理を生成し、生成した前記1以上の処理を実行する、ことを特徴とする請求項4〜7のいずれか一つに記載の情報処理装置。 The controller is
Determining whether an interval between past acquisition times of the last command of the storage area and a command acquired after the last command of the storage area exceeds a threshold;
When it is determined that an interval between past acquisition points exceeds a threshold, one process corresponding to one or more commands accumulated in the storage area is generated, and the generated one or more processes are executed. The information processing apparatus according to any one of claims 4 to 7.
入力された文字列を解析してコマンドを取得し、
複数のコマンドを取得した場合、複数のコマンドの一括処理の可否を示す管理情報を記憶する記憶部を参照し、取得した前記複数のコマンドの一括処理が可能であるか否かを判定し、
一括処理が可能であると判定した場合、取得した前記複数のコマンドに対応する1つの処理を生成し、生成した前記1つの処理を実行する、
処理を実行させることを特徴とする情報処理プログラム。 On the computer,
Parse the input string to get the command,
When acquiring a plurality of commands, refer to a storage unit that stores management information indicating whether batch processing of a plurality of commands is possible, and determine whether batch processing of the acquired plurality of commands is possible;
If it is determined that batch processing is possible, one process corresponding to the acquired commands is generated, and the generated one process is executed.
An information processing program for executing a process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017150968A JP2019028942A (en) | 2017-08-03 | 2017-08-03 | Information processing device, and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017150968A JP2019028942A (en) | 2017-08-03 | 2017-08-03 | Information processing device, and information processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019028942A true JP2019028942A (en) | 2019-02-21 |
Family
ID=65478550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017150968A Pending JP2019028942A (en) | 2017-08-03 | 2017-08-03 | Information processing device, and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019028942A (en) |
-
2017
- 2017-08-03 JP JP2017150968A patent/JP2019028942A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10826980B2 (en) | Command process load balancing system | |
JP6038916B2 (en) | Method, system, and computer program for reducing font execution instruction amount | |
US8619269B2 (en) | Processing a group of jobs substantially independently while synchronizing and maintaining the original order of the jobs at appropriate points in a workflow | |
JP6903755B2 (en) | Data integration job conversion | |
US20200117623A1 (en) | Adaptive Interrupt Coalescing | |
US20240223872A1 (en) | Automated preview generation for video entertainment content | |
US9875140B2 (en) | System, method, and apparatus for coordinating distributed electronic discovery processing | |
CN117768735A (en) | Method, apparatus, device and medium for generating video | |
US11068463B2 (en) | System and method for managing log data | |
JP6766598B2 (en) | Image processing device, image processing method and control program | |
JP2009070264A (en) | Hierarchy scheduling device, hierarchy scheduling method and program | |
JP2019028942A (en) | Information processing device, and information processing program | |
CN118264870A (en) | Video annotation method, device, computer equipment and storage medium | |
CN112732649A (en) | OFD document signing method, electronic device and medium | |
US10620887B2 (en) | Image forming apparatus and information processing apparatus configured to print a specified page of a plurality of documents, control method thereof, and non-transitory computer-readable storage medium | |
WO2024119930A1 (en) | Scheduling method and apparatus, and computer device and storage medium | |
JP6453685B2 (en) | Arithmetic control device, arithmetic control method, and arithmetic control program | |
US20150161157A1 (en) | Information processing apparatus, information processing method and program | |
US9870184B2 (en) | Information processing apparatus combining multiple filters, recording medium, and control method | |
JP6688433B2 (en) | Computer system | |
WO2021166231A1 (en) | Scenario generation device, scenario generation method, and computer-readable recording medium | |
EP2284689B1 (en) | PDL data processing device | |
US10445320B2 (en) | Document search apparatus, non-transitory computer readable medium, and document search method | |
US20230325318A1 (en) | Computer-readable recording medium storing scheduling program, scheduling method, and information processing device | |
EP2293180B1 (en) | PDL data processing device and PDL data creating device |