[go: up one dir, main page]

JP2019028942A - Information processing device, and information processing program - Google Patents

Information processing device, and information processing program Download PDF

Info

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
Application number
JP2017150968A
Other languages
Japanese (ja)
Inventor
大也 仲村
Daiya Nakamura
大也 仲村
ヴァン ヴィン グエン
Van Vinh Nguyen
ヴァン ヴィン グエン
自由 櫛原
Jiyu Kushihara
自由 櫛原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017150968A priority Critical patent/JP2019028942A/en
Publication of JP2019028942A publication Critical patent/JP2019028942A/en
Pending legal-status Critical Current

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.

特開平4−139714号公報JP-A-4-139714 特開昭63−147215号公報JP-A 63-147215

しかしながら、従来技術では、入力された文字列を解析して複数のコマンドを取得した場合、複数のコマンドに対応する複数の処理が終了するまでにかかる時間が長くなり、複数のコマンドに対する応答性能の低下を招くことがある。例えば、それぞれのコマンドに対応する処理を順番にスレッドに割り当てて実行するため、複数のコマンドに対応する複数の処理が終了するまでにかかる時間が、コマンド数に比例して長くなる。   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.

図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。FIG. 1 is an explanatory diagram of an example of the information processing method according to the embodiment. 図2は、情報処理装置100のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration example of the information processing apparatus 100. 図3は、一括処理可否表300の記憶内容の一例を示す説明図である。FIG. 3 is an explanatory diagram showing an example of the stored contents of the batch process availability table 300. 図4は、実行履歴テーブル400の記憶内容の一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of the contents stored in the execution history table 400. 図5は、情報処理装置100の機能的構成例を示すブロック図である。FIG. 5 is a block diagram illustrating a functional configuration example of the information processing apparatus 100. 図6は、実施例1における情報処理装置100の動作例を示す説明図(その1)である。FIG. 6 is an explanatory diagram (part 1) of an operation example of the information processing apparatus 100 according to the first embodiment. 図7は、実施例1における情報処理装置100の動作例を示す説明図(その2)である。FIG. 7 is an explanatory diagram (part 2) of an operation example of the information processing apparatus 100 according to the first embodiment. 図8は、実施例1における一括処理手順の一例を示すフローチャートである。FIG. 8 is a flowchart illustrating an example of a batch processing procedure according to the first embodiment. 図9は、実施例2における情報処理装置100の動作例を示す説明図(その1)である。FIG. 9 is an explanatory diagram (part 1) of an operation example of the information processing apparatus 100 according to the second embodiment. 図10は、実施例2における情報処理装置100の動作例を示す説明図(その2)である。FIG. 10 is an explanatory diagram (part 2) of an operation example of the information processing apparatus 100 according to the second embodiment. 図11は、実施例2における一括処理手順の一例を示すフローチャートである。FIG. 11 is a flowchart illustrating an example of a batch processing procedure according to the second embodiment. 図12は、実施例2における待機処理手順の一例を示すフローチャートである。FIG. 12 is a flowchart illustrating an example of a standby process procedure according to the second embodiment.

以下に、図面を参照して、本発明にかかる情報処理装置、および情報処理プログラムの実施の形態を詳細に説明する。   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 information processing apparatus 100 is a computer on which a CLI is mounted. The information processing apparatus 100 is, for example, an appliance apparatus, a server, a PC (Personal Computer), or the like. The appliance device is, for example, a storage device or a network device.

ここで、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 information processing apparatus 100 receives an input of the character string 110. The information processing apparatus 100 receives, for example, the character string 110 input in the CLI input field. The character string 110 includes, for example, a character string indicating each command of the plurality of commands 120 separated by a line feed, and collectively indicates the plurality of commands 120. The command is a command statement that requests processing. The command may be a command statement for kicking a predetermined process.

情報処理装置100は、入力された文字列110を解析してコマンドを取得する。情報処理装置100は、例えば、入力された文字列110のうち改行で区切られた文字列を、コマンドとして取得する。これにより、情報処理装置100は、複数のコマンド120を一括して取得することができる。   The information processing apparatus 100 analyzes the input character string 110 and acquires a command. For example, the information processing apparatus 100 acquires, as a command, a character string delimited by line breaks in the input character string 110. Thereby, the information processing apparatus 100 can acquire a plurality of commands 120 at once.

(1−2)情報処理装置100は、複数のコマンド120を取得した場合、記憶部101を参照し、取得した複数のコマンド120の一括処理が可能であるか否かを判定する。記憶部101は、複数のコマンドの一括処理の可否を示す管理情報を記憶する。記憶部101の記憶内容は、例えば、情報処理装置100の製造者によって設定される。記憶部101は、例えば、図3に後述する一括処理可否表300である。これにより、情報処理装置100は、取得した複数のコマンド120が一括処理しても問題がない組み合わせであるか否かを判定することができる。   (1-2) 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. The storage unit 101 stores management information indicating whether batch processing of a plurality of commands is possible. The storage content of the storage unit 101 is set by the manufacturer of the information processing apparatus 100, for example. The storage unit 101 is, for example, a batch process availability table 300 described later with reference to FIG. Thereby, the information processing apparatus 100 can determine whether or not the acquired plurality of commands 120 are a combination that does not cause a problem even if they are collectively processed.

(1−3)情報処理装置100は、一括処理が可能であると判定した場合、取得した複数のコマンド120に対応する1つの処理を生成して、生成した1つの処理を実行する。1つの処理は、例えば、スレッドに割り当てる単位であり、スレッドへの命令群である。スレッドは、演算装置の処理単位である。スレッドは、例えば、図2に後述するCPU201の処理単位である。   (1-3) When 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. One process is, for example, a unit assigned to a thread, and is a group of instructions to the thread. A thread is a processing unit of an arithmetic device. The thread is, for example, a processing unit of the CPU 201 described later in FIG.

情報処理装置100は、例えば、一括処理が可能であると判定した場合、取得した複数のコマンド120に対応する1つの処理を生成する。情報処理装置100は、1つのスレッド130を生成し、生成した1つの処理を、生成した1つのスレッド130に割り当てて実行する。以下の説明では、スレッドに割り当てる単位である1つの処理を「内部処理」と表記する場合がある。   For example, when the information processing apparatus 100 determines that batch processing is possible, the information processing apparatus 100 generates one process corresponding to the plurality of acquired commands 120. The information processing apparatus 100 generates one thread 130, assigns the generated process to the generated one thread 130, and executes it. In the following description, one process that is a unit assigned to a thread may be referred to as “internal process”.

これにより、情報処理装置100は、実装されるコマンドの構文の複雑化を防ぎ、コマンドの実装の容易化を図ることができ、複数のコマンド120に対する応答性能や処理効率の向上を図ることができ、CLIの利便性の向上を図ることができる。情報処理装置100は、例えば、コピー&ペーストにより複数のコマンド120を一括して示す文字列110が入力された場合、複数のコマンド120に対する応答性能や処理効率の向上を図ることができる。   Thereby, the information processing apparatus 100 can prevent the syntax of the implemented command from being complicated, can facilitate the implementation of the command, and can improve the response performance and processing efficiency for the plurality of commands 120. , The convenience of CLI can be improved. For example, when a character string 110 that collectively indicates a plurality of commands 120 is input by copy and paste, the information processing apparatus 100 can improve response performance and processing efficiency for the plurality of commands 120.

また、情報処理装置100は、比較的複雑な構文のコマンドを実装せず、比較的単純な構文のコマンドの組み合わせによって、ユーザが所望の機能を実現するような場合でも、所望の機能にかかる時間の低減化を図ることができる。このため、情報処理装置100は、ユーザの負担の増大化を抑制し、CLIの利便性の低下を抑制することができる。   Further, the information processing apparatus 100 does not implement a command having a relatively complicated syntax, and the time required for the desired function even when the user realizes the desired function by a combination of commands having a relatively simple syntax. Can be reduced. For this reason, the information processing apparatus 100 can suppress an increase in the burden on the user and suppress a decrease in the convenience of the CLI.

また、情報処理装置100は、コマンドごとに事前処理や事後処理が行われる場合に比べて、複数のコマンド120について事前処理や事後処理を1回行えばよくすることができ、複数のコマンド120に対する応答性能や処理効率の向上を図ることができる。情報処理装置100は、例えば、アプライアンス装置として製造され、設定変更のためのコマンドを1000個単位で取得するような場合でも、膨大なコマンドについて事前処理や事後処理を1回行えばよくすることができる。   Further, the information processing apparatus 100 can perform the pre-processing and post-processing once for a plurality of commands 120 as compared to the case where pre-processing and post-processing are performed for each command. Response performance and processing efficiency can be improved. For example, even when the information processing apparatus 100 is manufactured as an appliance apparatus and acquires setting change commands in units of 1000, it is only necessary to perform pre-processing and post-processing once for a large number of commands. it can.

ここでは、情報処理装置100が、複数のコマンドを一括して示す文字列の入力を受け付ける場合について説明したが、これに限らない。例えば、情報処理装置100が、複数のコマンドのそれぞれのコマンドを示す文字列の入力を連続して受け付ける場合があってもよい。   Here, a case has been described in which the information processing apparatus 100 accepts input of character strings that collectively indicate a plurality of commands, but is not limited thereto. For example, the information processing apparatus 100 may continuously receive input of a character string indicating each command of a plurality of commands.

情報処理装置100が、複数のコマンドを一括して示す文字列の入力を受け付ける場合についての具体例は、例えば、図6および図7を用いて、実施例1として後述する。また、情報処理装置100が、複数のコマンドのそれぞれのコマンドを示す文字列の入力を連続して受け付ける場合についての具体例は、例えば、図9および図10を用いて、実施例2として後述する。   A specific example of the case where the information processing apparatus 100 receives input of character strings that collectively indicate a plurality of commands will be described later as Example 1 with reference to FIGS. 6 and 7, for example. Further, a specific example of the case where the information processing apparatus 100 continuously receives input of character strings indicating respective commands of a plurality of commands will be described later as a second embodiment with reference to FIGS. 9 and 10, for example. .

ここでは、情報処理装置100が、文字列が一括して示す複数のコマンドに対応する1つの処理を生成する場合について説明したが、これに限らない。例えば、情報処理装置100が、文字列が一括して示す複数のコマンドの一部である2以上のコマンドに対応する1つの処理を生成する場合があってもよい。   Here, a case has been described in which the information processing apparatus 100 generates one process corresponding to a plurality of commands that the character string collectively indicates, but the present invention is not limited to this. For example, the information processing apparatus 100 may generate one process corresponding to two or more commands that are part of a plurality of commands indicated by a character string collectively.

(情報処理装置100のハードウェア構成例)
次に、図2を用いて、情報処理装置100のハードウェア構成例について説明する。
(Hardware configuration example of information processing apparatus 100)
Next, a hardware configuration example of the information processing apparatus 100 will be described with reference to FIG.

図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 information processing apparatus 100. 2, the information processing apparatus 100 includes a CPU (Central Processing Unit) 201, a memory 202, a network I / F (Interface) 203, a recording medium I / F 204, and a recording medium 205. Each component is connected by a bus 200.

ここで、CPU201は、情報処理装置100の全体の制御を司る。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。   Here, the CPU 201 governs overall control of the information processing apparatus 100. The memory 202 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), and a flash ROM. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area of the CPU 201. The program stored in the memory 202 is loaded on the CPU 201 to cause the CPU 201 to execute the coded process.

ネットワークI/F203は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F203は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F203には、例えば、モデムやLANアダプタなどを採用することができる。   The network I / F 203 is connected to the network 210 through a communication line, and is connected to another computer via the network 210. The network I / F 203 controls an internal interface with the network 210 and controls data input / output from other computers. As the network I / F 203, for example, a modem or a LAN adapter can be employed.

記録媒体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 / F 204 controls reading / writing of data with respect to the recording medium 205 according to the control of the CPU 201. The recording medium I / F 204 is, for example, a disk drive, an SSD (Solid State Drive), a USB (Universal Serial Bus) port, or the like. The recording medium 205 is a non-volatile memory that stores data written under the control of the recording medium I / F 204. The recording medium 205 is, for example, a disk, a semiconductor memory, a USB memory, or the like. The recording medium 205 may be detachable from the information processing apparatus 100.

情報処理装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F204や記録媒体205を複数有していてもよい。また、情報処理装置100は、記録媒体I/F204や記録媒体205を有していなくてもよい。   In addition to the components described above, the information processing apparatus 100 may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like. The information processing apparatus 100 may have a plurality of recording media I / Fs 204 and recording media 205. The information processing apparatus 100 may not include the recording medium I / F 204 and the recording medium 205.

(一括処理可否表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 memory 202 and the recording medium 205 of the information processing apparatus 100 illustrated in FIG.

図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 memory 202 and the recording medium 205 of the information processing apparatus 100 illustrated in FIG.

図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 information processing apparatus 100 tend to be different, the execution history table 400 uses CLI. It may be prepared for each user.

(情報処理装置100の機能的構成例)
次に、図5を用いて、情報処理装置100の機能的構成例について説明する。
(Functional configuration example of information processing apparatus 100)
Next, a functional configuration example of the information processing apparatus 100 will be described with reference to FIG.

図5は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、記憶部500と、取得部501と、判定部502と、翻訳部503と、実行部504と、出力部505とを含む。   FIG. 5 is a block diagram illustrating a functional configuration example of the information processing apparatus 100. The information processing apparatus 100 includes a storage unit 500, an acquisition unit 501, a determination unit 502, a translation unit 503, an execution unit 504, and an output unit 505.

記憶部500は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域によって実現される。取得部501〜出力部505は、制御部となる機能である。取得部501〜出力部505は、具体的には、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、ネットワークI/F203により、その機能を実現する。各機能部の処理結果は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶される。   The storage unit 500 is realized by a storage area such as the memory 202 and the recording medium 205 illustrated in FIG. The acquisition unit 501 to the output unit 505 are functions serving as a control unit. Specifically, the acquisition unit 501 to the output unit 505, for example, cause the CPU 201 to execute a program stored in a storage area such as the memory 202 or the recording medium 205 illustrated in FIG. By realizing the function. The processing result of each functional unit is stored in a storage area such as the memory 202 and the recording medium 205 shown in FIG.

記憶部500は、複数のコマンドの一括処理の可否を示す管理情報を記憶する。管理情報は、例えば、情報処理装置100の製造者によって設定される。管理情報は、さらに、複数のコマンドの一括処理が可能である順序を示してもよい。記憶部500は、例えば、図3に示した一括処理可否表300を記憶する。これにより、記憶部500は、複数のコマンドが一括処理しても問題がない組み合わせであるか否かを判定部502が判定可能にすることができる。   The storage unit 500 stores management information indicating whether batch processing of a plurality of commands is possible. The management information is set by the manufacturer of the information processing apparatus 100, for example. The management information may further indicate an order in which a plurality of commands can be collectively processed. The storage unit 500 stores, for example, the batch processing availability table 300 illustrated in FIG. As a result, the storage unit 500 can enable the determination unit 502 to determine whether or not the combination has no problem even if a plurality of commands are collectively processed.

取得部501は、文字列の入力を受け付ける。文字列は、例えば、改行で区切られた、複数のコマンドを示す文字列を含み、複数のコマンドを一括して示す。文字列は、1つのコマンドを示してもよい。取得部501は、例えば、複数のコマンドを示す文字列の入力を受け付ける。取得部501は、具体的には、CLIの入力欄に対する文字列のコピー&ペーストにより、文字列の入力を受け付ける。   The acquisition unit 501 accepts input of a character string. The character string includes, for example, a character string indicating a plurality of commands separated by a line feed, and indicates the plurality of commands collectively. The character string may indicate one command. For example, the acquisition unit 501 receives input of character strings indicating a plurality of commands. Specifically, the acquisition unit 501 accepts input of a character string by copying and pasting the character string into the CLI input field.

取得部501は、入力された文字列を解析してコマンドを取得する。取得部501は、例えば、入力された文字列のうち改行で区切られた文字列を、コマンドとして取得する。これにより、取得部501は、実行が要求された、コマンドに対応する処理を特定可能にすることができる。   The acquisition unit 501 analyzes the input character string and acquires a command. For example, the acquisition unit 501 acquires, as a command, a character string delimited by a line feed among the input character strings. Thereby, the acquisition unit 501 can specify the process corresponding to the command requested to be executed.

判定部502は、複数のコマンドを取得した場合、記憶部500を参照し、取得した複数のコマンドの一括処理が可能であるか否かを判定する。判定部502は、例えば、複数のコマンドを一括して取得した場合、一括処理可否表300を参照し、複数のコマンドにおいて連続する2つのコマンドの組み合わせごとに、一括処理が可能であるか否かを判定する。判定部502は、すべての組み合わせについて一括処理が可能であると判定した場合、複数のコマンドの一括処理が可能であると判定する。これにより、判定部502は、取得した複数のコマンドが一括処理しても問題がない組み合わせであるか否かを判定することができる。   When the determination unit 502 acquires a plurality of commands, the determination unit 502 refers to the storage unit 500 and determines whether the acquired plurality of commands can be collectively processed. For example, when the determination unit 502 acquires a plurality of commands in a batch, the determination unit 502 refers to the batch processing availability table 300 and determines whether batch processing is possible for each combination of two consecutive commands in the plurality of commands. Determine. If the determination unit 502 determines that batch processing is possible for all combinations, the determination unit 502 determines that batch processing of a plurality of commands is possible. As a result, the determination unit 502 can determine whether or not the acquired plurality of commands are a combination that does not cause a problem even if they are collectively processed.

ここでは、判定部502が、一括して取得した複数のコマンドの一括処理が可能であるか否かを判定する場合について説明したが、これに限らない。例えば、判定部502が、連続して取得した複数のコマンドの一括処理が可能であるか否かを判定する場合があってもよい。以下の説明では、判定部502が、連続して取得した複数のコマンドの一括処理が可能であるか否かを判定する場合について説明する。   Here, a case has been described in which the determination unit 502 determines whether or not batch processing of a plurality of commands acquired in a batch is possible, but the present invention is not limited to this. For example, the determination unit 502 may determine whether it is possible to batch process a plurality of commands acquired continuously. In the following description, a case will be described in which the determination unit 502 determines whether or not batch processing of a plurality of commands acquired in succession is possible.

判定部502は、バッファになる記憶領域を用意する。バッファは、一括処理が可能である1以上のコマンドを記憶する一時記憶領域である。バッファは、例えば、図2に示したメモリ202内の記憶領域である。判定部502は、バッファが空であり、入力された文字列を解析してコマンドを取得した場合、取得したコマンドをバッファに追加する。   The determination unit 502 prepares a storage area to be a buffer. The buffer is a temporary storage area for storing one or more commands that can be collectively processed. The buffer is, for example, a storage area in the memory 202 shown in FIG. When the buffer is empty and the command is acquired by analyzing the input character string, the determination unit 502 adds the acquired command to the buffer.

判定部502は、バッファが空ではない場合、入力された文字列を解析してコマンドを取得する都度、取得したコマンドと、バッファに蓄積されたコマンドとの一括処理が可能であるか否かを判定する。判定部502は、例えば、取得したコマンドと、バッファに最後に追加されたコマンドとの一括処理が可能であるか否かを判定する。   When the buffer is not empty, the determination unit 502 analyzes whether the input character string is acquired and acquires a command, and determines whether the acquired command and the command accumulated in the buffer can be collectively processed. judge. For example, the determination unit 502 determines whether or not batch processing of the acquired command and the last command added to the buffer is possible.

判定部502は、取得したコマンドと、バッファに蓄積されたコマンドとの一括処理が可能であると判定した場合、取得したコマンドをバッファに追加する。判定部502は、例えば、取得したコマンドと、バッファに最後に追加されたコマンドとの一括処理が可能であると判定した場合、取得したコマンドをバッファに追加する。これにより、判定部502は、バッファに一括処理が可能である1以上のコマンドを蓄積していくことができる。   If the determination unit 502 determines that the acquired command and the command stored in the buffer can be collectively processed, the determination unit 502 adds the acquired command to the buffer. For example, if the determination unit 502 determines that batch processing of the acquired command and the last command added to the buffer is possible, the determination unit 502 adds the acquired command to the buffer. Thereby, the determination unit 502 can accumulate one or more commands that can be collectively processed in the buffer.

判定部502は、過去に、バッファの最後のコマンドに次いで、バッファの最後のコマンドと一括処理が可能であるコマンドを取得したことがあるか否かを判定する。判定部502は、例えば、図4に示した実行履歴テーブル400を参照し、過去に、バッファの最後のコマンドと同一のコマンドに次いで、バッファの最後のコマンドと同一のコマンドと一括処理が可能であるコマンドを取得したことがあるか否かを判定する。   The determination unit 502 determines whether or not a command that can be batch processed with the last command in the buffer has been acquired in the past after the last command in the buffer. For example, the determination unit 502 refers to the execution history table 400 illustrated in FIG. 4 and can perform batch processing with the same command as the last command in the buffer next to the same command as the last command in the buffer in the past. It is determined whether a command has been acquired.

これにより、判定部502は、次に取得されるコマンドが、現在バッファに蓄積された1以上のコマンドとの一括処理が可能なコマンドである確率が高いと考えられる状態であるか否かを判定することができる。そして、判定部502は、確率が高いと考えられる状態であれば、次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。一方で、判定部502は、確率が高いと考えられる状態でなければ、バッファに対するコマンドの追加を一区切りすることができる。   As a result, the determination unit 502 determines whether or not the next command to be acquired is considered to have a high probability of being a command that can be collectively processed with one or more commands stored in the current buffer. can do. If the state is considered to have a high probability, the determination unit 502 waits for acquisition of the next command, increases the number of commands that can be collectively processed in the buffer, and performs processing corresponding to the command. The processing efficiency can be improved. On the other hand, if the determination unit 502 is not in a state where the probability is considered to be high, the determination unit 502 can divide the addition of commands to the buffer.

判定部502は、バッファの最後のコマンドと、バッファの最後のコマンドに次いで取得されたコマンドとの、過去の取得時点の間隔が閾値を超えるか否かを判定する。閾値は、可変である。閾値は、例えば、バッファの最後のコマンドの過去の処理時間に基づいて設定される値である。閾値は、例えば、バッファの最後のコマンドの過去の処理時間の1/50の値が設定される。閾値は、固定値であってもよい。閾値は、例えば、情報処理装置100の製造者によって設定される。   The determination unit 502 determines whether or not the interval between past acquisition times of the last command in the buffer and the command acquired after the last command in the buffer exceeds a threshold value. The threshold is variable. The threshold is a value set based on, for example, the past processing time of the last command in the buffer. As the threshold value, for example, a value 1/50 of the past processing time of the last command in the buffer is set. The threshold value may be a fixed value. The threshold is set by the manufacturer of the information processing apparatus 100, for example.

判定部502は、例えば、図4に示した実行履歴テーブル400を参照し、バッファの最後のコマンドと同一のコマンドを取得した過去の取得時点を特定する。また、判定部502は、バッファの最後のコマンドと同一のコマンドに次いでコマンドを取得した過去の取得時点を特定する。判定部502は、特定した取得時点の間隔が閾値を超えるか否かを判定する。   For example, the determination unit 502 refers to the execution history table 400 illustrated in FIG. 4 and identifies a past acquisition time point when the same command as the last command in the buffer is acquired. In addition, the determination unit 502 specifies a past acquisition time point when the command is acquired after the same command as the last command in the buffer. The determination unit 502 determines whether or not the specified acquisition time interval exceeds a threshold value.

これにより、判定部502は、次のコマンドが比較的短時間で取得される確率が高いと考えられる状態であるか否かを判定することができる。そして、判定部502は、確率が高いと考えられる状態であれば、次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。一方で、判定部502は、確率が高いと考えられる状態でなければ、バッファに対するコマンドの追加を一区切りすることができる。   Accordingly, the determination unit 502 can determine whether or not the next command is considered to have a high probability of being acquired in a relatively short time. If the state is considered to have a high probability, the determination unit 502 waits for acquisition of the next command, increases the number of commands that can be collectively processed in the buffer, and performs processing corresponding to the command. The processing efficiency can be improved. On the other hand, if the determination unit 502 is not in a state where the probability is considered to be high, the determination unit 502 can divide the addition of commands to the buffer.

翻訳部503は、取得した複数のコマンドの一括処理が可能であると判定した場合、取得した複数のコマンドに対応する1つの処理を生成する。1つの処理は、例えば、スレッドに割り当てる単位であり、スレッドへの命令群である。命令群は、例えば、処理内容やパラメータを示す、実行可能なバイナリデータである。   When the translation unit 503 determines that the batch processing of the plurality of acquired commands is possible, the translation unit 503 generates one process corresponding to the plurality of acquired commands. One process is, for example, a unit assigned to a thread, and is a group of instructions to the thread. The instruction group is executable binary data indicating, for example, processing contents and parameters.

翻訳部503は、バッファの最後のコマンドの追加からの経過時間が閾値を超えた場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成する。閾値は、可変である。閾値は、例えば、バッファの最後のコマンドの過去の処理時間に基づいて設定される値である。閾値は、例えば、バッファの最後のコマンドの過去の処理時間の1/50の値が設定される。閾値は、固定値であってもよい。閾値は、例えば、情報処理装置100の製造者によって設定される。   When the elapsed time from the addition of the last command in the buffer exceeds the threshold, the translation unit 503 generates one process corresponding to one or more commands accumulated in the buffer. The threshold is variable. The threshold is a value set based on, for example, the past processing time of the last command in the buffer. As the threshold value, for example, a value 1/50 of the past processing time of the last command in the buffer is set. The threshold value may be a fixed value. The threshold is set by the manufacturer of the information processing apparatus 100, for example.

これにより、翻訳部503は、次のコマンドの取得を待ち続けると、バッファに蓄積されたコマンドの応答性能が、次のコマンドをバッファに追加することができた場合に比べても低下してしまうと判断される状態であるか否かを判定することができる。   As a result, if the translation unit 503 continues to wait for acquisition of the next command, the response performance of the command stored in the buffer will be lower than when the next command can be added to the buffer. It is possible to determine whether or not the state is determined.

そして、翻訳部503は、応答性能が低下してしまうと判断される状態でなければ、次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。一方で、翻訳部503は、応答性能が低下してしまうと判断される状態であれば、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成し、コマンドの応答性能の低下を抑制することができる。   If it is not determined that the response performance will be degraded, the translation unit 503 waits for acquisition of the next command, increases the number of commands that can be batch processed and accumulated in the buffer, It is possible to improve the processing efficiency of the processing corresponding to the above. On the other hand, the translation unit 503 generates one process corresponding to one or more commands stored in the buffer and determines that the response performance of the command is degraded if the response performance is determined to be degraded. Can be suppressed.

翻訳部503は、取得したコマンドと、バッファに蓄積されたコマンドとの一括処理が可能ではないと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成する。翻訳部503は、取得したコマンドを新たなバッファに追加する。新たなバッファは、例えば、バッファに蓄積されたコマンドを消去した後のバッファであってもよい。   If the translation unit 503 determines that the batch processing of the acquired command and the command stored in the buffer is not possible, the translation unit 503 generates one process corresponding to one or more commands stored in the buffer. The translation unit 503 adds the acquired command to a new buffer. The new buffer may be, for example, a buffer after erasing commands stored in the buffer.

これにより、翻訳部503は、一括処理が可能である1以上のコマンドが一旦蓄積され切った場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成し、バッファに蓄積された1以上のコマンドの応答性能や処理効率の向上を図ることができる。   Thereby, when one or more commands that can be collectively processed are once accumulated, the translation unit 503 generates one process corresponding to the one or more commands accumulated in the buffer and accumulated in the buffer. The response performance and processing efficiency of one or more commands can be improved.

翻訳部503は、バッファの最後のコマンドと一括処理が可能であるコマンドを取得したことがないと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成する。翻訳部503は、例えば、過去に、バッファの最後のコマンドと同一のコマンドと一括処理が可能であるコマンドを取得したことがないと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成する。   If the translation unit 503 determines that a command that can be batch processed with the last command in the buffer has not been acquired, the translation unit 503 generates one process corresponding to one or more commands stored in the buffer. For example, when the translation unit 503 determines that a command that can be batch processed with the same command as the last command in the buffer has not been acquired, the translation unit 503 corresponds to one or more commands accumulated in the buffer. One process is generated.

これにより、翻訳部503は、次に取得されるコマンドが、現在バッファに蓄積された1以上のコマンドとの一括処理が可能なコマンドである確率が高いと考えられる状態でなければ、1以上のコマンドに対応する1つの処理を生成することができる。このため、情報処理装置100は、次のコマンドの取得を待たず、コマンドの応答性能の低下を抑制することができる。   As a result, the translation unit 503 determines that the command to be acquired next is not in a state where it is considered that there is a high probability that the command that can be collectively processed with one or more commands stored in the current buffer is one or more commands. One process corresponding to the command can be generated. Therefore, the information processing apparatus 100 can suppress a decrease in command response performance without waiting for acquisition of the next command.

翻訳部503は、過去の取得時点の間隔が閾値を超えたと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成する。これにより、翻訳部503は、次のコマンドが比較的短時間で取得される確率が高いと考えられる状態でなければ、1以上のコマンドに対応する1つの処理を生成することができる。このため、情報処理装置100は、次のコマンドの取得を待たず、コマンドの応答性能の低下を抑制することができる。   The translation unit 503 generates one process corresponding to one or more commands stored in the buffer when it is determined that the interval between past acquisition points exceeds the threshold. Thus, the translation unit 503 can generate one process corresponding to one or more commands unless the probability that the next command is acquired in a relatively short time is considered high. Therefore, the information processing apparatus 100 can suppress a decrease in command response performance without waiting for acquisition of the next command.

実行部504は、生成した1つの処理を実行する。実行部504は、例えば、生成した1つの処理を1つのスレッドに割り当てて実行する。スレッドは、例えば、図2に後述するCPU201の処理単位である。実行部504は、生成した命令群をスレッドに割り当てて、生成した命令群に応じた処理を実行する。実行部504は、生成した1つの処理を、他のコンピュータのスレッドに実行させる場合があってもよい。   The execution unit 504 executes one generated process. For example, the execution unit 504 allocates one generated process to one thread and executes it. The thread is, for example, a processing unit of the CPU 201 described later in FIG. The execution unit 504 assigns the generated instruction group to a thread and executes processing according to the generated instruction group. The execution unit 504 may cause a thread of another computer to execute one generated process.

これにより、実行部504は、コマンドに対応する処理ごとに事前処理や事後処理を行わず、複数のコマンドに対応する複数の処理について事前処理と事後処理とを一括して行うことができる。このため、実行部504は、複数のコマンドに対する応答性能や処理効率の向上を図ることができる。   As a result, the execution unit 504 can perform pre-processing and post-processing for a plurality of processes corresponding to a plurality of commands in a lump without performing pre-processing and post-processing for each processing corresponding to the command. Therefore, the execution unit 504 can improve response performance and processing efficiency for a plurality of commands.

出力部505は、各機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F203による外部装置への送信、または、メモリ202や記録媒体205などの記憶領域への記憶である。これにより、出力部505は、各機能部の処理結果をユーザに把握させることができる。ユーザは、各機能部の処理結果を、情報処理装置100の管理や運用に利用することができる。   The output unit 505 outputs the processing result of each functional unit. The output format is, for example, display on a display, print output to a printer, transmission to an external device via the network I / F 203, or storage in a storage area such as the memory 202 or the recording medium 205. Thereby, the output unit 505 can make the user grasp the processing result of each functional unit. The user can use the processing result of each functional unit for management and operation of the information processing apparatus 100.

(実施例1における情報処理装置100の動作例)
次に、図6および図7を用いて、実施例1における情報処理装置100の動作例について説明する。実施例1は、情報処理装置100が、複数のコマンドを一括して示す文字列の入力を受け付ける場合についての具体例である。実施例1では、情報処理装置100は、実行履歴テーブル400を有していなくてもよい。
(Operation Example of Information Processing Device 100 in Embodiment 1)
Next, an operation example of the information processing apparatus 100 according to the first embodiment will be described with reference to FIGS. 6 and 7. The first embodiment is a specific example when the information processing apparatus 100 accepts input of character strings that collectively indicate a plurality of commands. In the first embodiment, the information processing apparatus 100 may not have the execution history table 400.

図6および図7は、実施例1における情報処理装置100の動作例を示す説明図である。図6において、情報処理装置100は、CLIの入力欄610に対する、複数のコマンドを一括して示す文字列600の入力を受け付ける。   6 and 7 are explanatory diagrams illustrating an operation example of the information processing apparatus 100 according to the first embodiment. In FIG. 6, the information processing apparatus 100 accepts input of a character string 600 that collectively indicates a plurality of commands in the CLI input field 610.

文字列600は、文字列601「pool create −type ssd −capacity 100tb −name mypool」を含む。文字列601は、記憶領域を確保するpool createコマンドを示し、確保する記憶領域のタイプやサイズや識別名などを指定するパラメータを示す。   The character string 600 includes a character string 601 “pool create -type ssd -capacity 100 tb -name mypool”. A character string 601 indicates a pool create command for securing a storage area, and indicates parameters for specifying the type, size, identification name, and the like of the storage area to be secured.

文字列600は、文字列602「volume create −type thin −pool mypool −size 10tb −name volume1」を含む。文字列602は、論理ボリュームを作成するvolume createコマンド1を示し、論理ボリュームのタイプや作成場所やサイズや識別名を示す。   The character string 600 includes a character string 602 “volume create-type thin-pool mypool-size 10 tb-name volume 1”. A character string 602 indicates a volume create command 1 for creating a logical volume, and indicates the type, creation location, size, and identification name of the logical volume.

文字列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 character string 600 includes a similar character string 603 “volume create-type thin-pool mypool-size 20 tb-name volume 2”. The character string 600 includes a similar character string 604 "volume create-type thin-pool mypool-size 50tb-name volume3".

文字列600は、同様の文字列605「volume create −type thick −pool mypool −size 30tb −name volume4」を含む。次に、図7の説明に移行し、文字列600の入力を受け付けた場合における、情報処理装置100の動作例について説明する。   The character string 600 includes a similar character string 605 “volume create-type thick-pool mypool-size 30 tb-name volume 4”. Next, a description will be given of an operation example of the information processing apparatus 100 when the input of the character string 600 is accepted, with reference to FIG.

図7において、情報処理装置100は、一括処理が可能である1以上のコマンドを蓄積するコマンドバッファを用意する。コマンドバッファは、例えば、図2に示したメモリ202内の記憶領域である。情報処理装置100は、入力された文字列600の先頭から改行までの文字列601を抽出し、抽出した文字列601が示すpool createコマンドを取得する。情報処理装置100は、pool createコマンドをコマンドバッファに追加する。   In FIG. 7, the information processing apparatus 100 prepares a command buffer that stores one or more commands that can be collectively processed. The command buffer is, for example, a storage area in the memory 202 shown in FIG. The information processing apparatus 100 extracts a character string 601 from the beginning of the input character string 600 to a line feed, and acquires a pool create command indicated by the extracted character string 601. The information processing apparatus 100 adds a pool create command to the command buffer.

次に、情報処理装置100は、入力された文字列600の次の改行までの文字列602を抽出し、抽出した文字列602が示すvolume createコマンド1を取得する。情報処理装置100は、一括処理可否表300の可否フラグ701を参照し、コマンドバッファのpool createコマンドと、取得したvolume createコマンド1との一括処理が可能であるか否かを判定する。   Next, the information processing apparatus 100 extracts the character string 602 up to the next line feed of the input character string 600, and acquires the volume create command 1 indicated by the extracted character string 602. The information processing apparatus 100 refers to the availability flag 701 of the batch processing availability table 300 to determine whether batch processing of the command buffer's pool create command and the acquired volume create command 1 is possible.

情報処理装置100は、一括処理が可能ではないため、コマンドバッファのpool createコマンドに対応する1つの内部処理を生成し、1つのスレッドに割り当てて実行する。情報処理装置100は、コマンドバッファの記憶内容を消去し、取得したvolume createコマンド1をコマンドバッファに追加する。   Since the information processing apparatus 100 cannot perform batch processing, the information processing apparatus 100 generates one internal process corresponding to the pool create command of the command buffer, assigns it to one thread, and executes it. The information processing apparatus 100 erases the stored contents of the command buffer, and adds the acquired volume create command 1 to the command buffer.

次に、情報処理装置100は、入力された文字列600の次の改行までの文字列603を抽出し、抽出した文字列603が示すvolume createコマンド2を取得する。情報処理装置100は、一括処理可否表300の可否フラグ702を参照し、コマンドバッファのvolume createコマンド1と、取得したvolume createコマンド2との一括処理が可能であるか否かを判定する。   Next, the information processing apparatus 100 extracts the character string 603 up to the next line feed of the input character string 600, and acquires the volume create command 2 indicated by the extracted character string 603. The information processing apparatus 100 refers to the availability flag 702 of the batch processing availability table 300 and determines whether batch processing of the command volume create command 1 and the acquired volume create command 2 is possible.

情報処理装置100は、一括処理が可能であるため、取得したvolume createコマンド2をコマンドバッファに追加する。これにより、情報処理装置100は、コマンドバッファに一括処理が可能である1以上のコマンドを蓄積していくことができる。   Since the information processing apparatus 100 can perform batch processing, the acquired volume create command 2 is added to the command buffer. Thereby, the information processing apparatus 100 can accumulate one or more commands that can be collectively processed in the command buffer.

情報処理装置100は、文字列603と同様に、入力された文字列600の次の改行までの文字列604を抽出し、抽出した文字列604が示すvolume createコマンド3を取得し、コマンドバッファに追加する。   Similarly to the character string 603, the information processing apparatus 100 extracts the character string 604 up to the next line feed of the input character string 600, acquires the volume create command 3 indicated by the extracted character string 604, and stores it in the command buffer. to add.

情報処理装置100は、文字列603と同様に、入力された文字列600の次の改行までの文字列605を抽出し、抽出した文字列605が示すvolume createコマンド4を取得し、コマンドバッファに追加する。そして、情報処理装置100は、コマンドバッファに蓄積された4つのコマンドに対応する1つの内部処理を生成し、スレッドに割り当てて実行する。   Similar to the character string 603, the information processing apparatus 100 extracts the character string 605 up to the next line feed of the input character string 600, acquires the volume create command 4 indicated by the extracted character string 605, and stores it in the command buffer. to add. Then, the information processing apparatus 100 generates one internal process corresponding to the four commands accumulated in the command buffer, assigns it to a thread, and executes it.

ここで、従来では、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 information processing apparatus 100 generates one internal process corresponding to the four commands, assigns it to a thread, and executes it, the pre-processing and post-processing such as temporarily stopping the IO may be performed once. can do. As a result, the information processing apparatus 100 can improve response performance and processing efficiency for four commands. For example, the information processing apparatus 100 may perform pre-processing and post-processing once, whereas the pre-processing and post-processing are performed four times in the past, and the response performance to four commands is increased by about four times. Can be improved.

ここでは、情報処理装置100が、コマンドバッファのpool createコマンドと、取得したvolume createコマンド1との順不同の組み合わせの、一括処理が可能であるか否かを判定する場合などについて説明したが、これに限らない。   Here, a case has been described in which the information processing apparatus 100 determines whether or not batch processing of an unordered combination of the command buffer create command and the acquired volume create command 1 is possible. Not limited to.

例えば、一括処理可否表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 information processing apparatus 100 determines whether or not the pool create command of the command buffer and the acquired volume create command 1 are a combination capable of batch processing and an order in which batch processing is possible. You may do it.

(実施例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 information processing apparatus 100 accepts input of a character string (step S801).

次に、情報処理装置100は、入力された文字列のうち改行までの文字列を取得する(ステップS802)。そして、情報処理装置100は、取得した文字列をコマンドとして解析し、コマンドを取得する(ステップS803)。   Next, the information processing apparatus 100 acquires a character string up to a line feed among the input character strings (step S802). Then, the information processing apparatus 100 analyzes the acquired character string as a command, and acquires the command (step S803).

次に、情報処理装置100は、コマンドバッファが空であるか否かを判定する(ステップS804)。ここで、コマンドバッファが空である場合(ステップS804:Yes)、情報処理装置100は、ステップS810の処理に移行する。   Next, the information processing apparatus 100 determines whether or not the command buffer is empty (step S804). If the command buffer is empty (step S804: Yes), the information processing apparatus 100 proceeds to the process of step S810.

一方で、コマンドバッファが空ではない場合(ステップS804:No)、情報処理装置100は、一括処理可否表300から、取得したコマンドと、コマンドバッファに記憶されたコマンドとを検索する(ステップS805)。   On the other hand, if the command buffer is not empty (step S804: No), the information processing apparatus 100 searches the batch processing availability table 300 for the acquired command and the command stored in the command buffer (step S805). .

次に、情報処理装置100は、検索した結果に基づいて、取得したコマンドと、コマンドバッファに記憶されたコマンドとの一括処理が可能であるか否かを判定する(ステップS806)。ここで、一括処理が可能である場合(ステップS806:Yes)、情報処理装置100は、ステップS810の処理に移行する。   Next, the information processing apparatus 100 determines whether batch processing of the acquired command and the command stored in the command buffer is possible based on the search result (step S806). Here, when the collective processing is possible (step S806: Yes), the information processing apparatus 100 proceeds to the process of step S810.

一方で、一括処理が可能ではない場合(ステップS806:No)、情報処理装置100は、コマンドバッファに記憶された1以上のコマンドを1つの内部処理に翻訳する(ステップS807)。そして、情報処理装置100は、翻訳した1つの内部処理を1つのスレッドに割り当てて実行する(ステップS808)。   On the other hand, if batch processing is not possible (step S806: No), the information processing apparatus 100 translates one or more commands stored in the command buffer into one internal process (step S807). Then, the information processing apparatus 100 assigns and executes one translated internal process to one thread (step S808).

次に、情報処理装置100は、コマンドバッファの記憶内容を消去する(ステップS809)。そして、情報処理装置100は、ステップS810の処理に移行する。   Next, the information processing apparatus 100 deletes the stored contents of the command buffer (step S809). Then, the information processing apparatus 100 proceeds to the process of step S810.

ステップS810では、情報処理装置100は、取得したコマンドをコマンドバッファに追加する(ステップS810)。次に、情報処理装置100は、改行を含む未処理の文字列が存在するか否かを判定する(ステップS811)。ここで、改行を含む未処理の文字列が存在する場合(ステップS811:Yes)、情報処理装置100は、ステップS802の処理に戻る。   In step S810, the information processing apparatus 100 adds the acquired command to the command buffer (step S810). Next, the information processing apparatus 100 determines whether or not there is an unprocessed character string including a line feed (step S811). Here, when there is an unprocessed character string including a line feed (step S811: Yes), the information processing apparatus 100 returns to the process of step S802.

一方で、改行を含む未処理の文字列が存在しない場合(ステップ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 information processing apparatus 100 translates one or more commands stored in the command buffer into one internal process (step S812). . Then, the information processing apparatus 100 assigns and executes one translated internal process to one thread (step S813).

次に、情報処理装置100は、コマンドバッファの記憶内容を消去する(ステップS814)。そして、情報処理装置100は、一括処理を終了する。これにより、情報処理装置100は、複数のコマンドに対応する1つの内部処理を生成することができ、複数のコマンドに対する応答性能や処理効率の向上を図ることができる。   Next, the information processing apparatus 100 deletes the stored contents of the command buffer (step S814). Then, the information processing apparatus 100 ends the batch process. Thereby, the information processing apparatus 100 can generate one internal process corresponding to a plurality of commands, and can improve response performance and processing efficiency for the plurality of commands.

(実施例2における情報処理装置100の動作例)
次に、図9および図10を用いて、実施例2における情報処理装置100の動作例について説明する。実施例2は、実施例1とは異なり、情報処理装置100が、コマンドを示す文字列の入力を連続して受け付ける場合についての具体例である。
(Operation Example of Information Processing Device 100 in Embodiment 2)
Next, an operation example of the information processing apparatus 100 according to the second embodiment will be described with reference to FIGS. 9 and 10. Unlike the first embodiment, the second embodiment is a specific example in which the information processing apparatus 100 continuously receives input of a character string indicating a command.

図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 information processing apparatus 100 according to the second embodiment. In FIG. 9, the information processing apparatus 100 accepts an input of a character string 901 indicating a command in the CLI input field 910 at time t1. The character string 901 is “pool create-type ssd-capacity 100 tb-name mypool”. A character string 901 indicates a pool create command for securing a storage area, and indicates parameters for specifying the type, size, identification name, and the like of the storage area to be secured.

情報処理装置100は、時刻t2に、CLIの入力欄910に対する、コマンドを示す文字列902の入力を受け付ける。文字列902は、「volume create −type thin −pool mypool −size 10tb −name volume1」を含む。文字列902は、論理ボリュームを作成するvolume createコマンド1を示し、論理ボリュームのタイプや作成場所やサイズや識別名を示す。   The information processing apparatus 100 accepts an input of a character string 902 indicating a command to the CLI input field 910 at time t2. The character string 902 includes “volume create-type thin-pool mypool-size 10 tb-name volume 1”. A character string 902 indicates a volume create command 1 for creating a logical volume, and indicates the type, creation location, size, and identification name of the logical volume.

情報処理装置100は、時刻t3に、CLIの入力欄910に対する、コマンドを示す文字列903の入力を受け付ける。文字列903は、文字列902と同様の「volume create −type thin −pool mypool −size 20tb −name volume2」を含む。   The information processing apparatus 100 accepts an input of a character string 903 indicating a command to the CLI input field 910 at time t3. The character string 903 includes “volume create-type thin-pool mypool-size 20 tb-name volume 2”, which is the same as the character string 902.

情報処理装置100は、時刻t4に、CLIの入力欄910に対する、コマンドを示す文字列904の入力を受け付ける。文字列904は、文字列902と同様の「volume create −type thin −pool mypool −size 50tb −name volume3」を含む。   The information processing apparatus 100 accepts input of a character string 904 indicating a command to the CLI input field 910 at time t4. The character string 904 includes “volume create -type thin -pool mypool -size 50 tb -name volume 3" similar to the character string 902.

情報処理装置100は、時刻t5に、CLIの入力欄910に対する、コマンドを示す文字列905の入力を受け付ける。文字列905は、文字列902と同様の「volume create −type thick −pool mypool −size 30tb −name volume4」を含む。次に、図10の説明に移行し、それぞれの時刻t1〜t5における情報処理装置100の動作例について説明する。   The information processing apparatus 100 accepts an input of a character string 905 indicating a command to the CLI input field 910 at time t5. The character string 905 includes “volume create-type thick-pool mypool-size 30 tb-name volume 4” similar to the character string 902. Next, the description shifts to the description of FIG.

図10において、情報処理装置100は、一括処理が可能である1以上のコマンドを蓄積するコマンドバッファを用意する。情報処理装置100は、時刻t1において、入力された文字列901が示すpool createコマンドを取得する。情報処理装置100は、pool createコマンドをコマンドバッファに追加する。ここで、情報処理装置100は、次のコマンドの取得を待つか否かを決定する。   In FIG. 10, the information processing apparatus 100 prepares a command buffer that accumulates one or more commands that can be collectively processed. The information processing apparatus 100 acquires a pool create command indicated by the input character string 901 at time t1. The information processing apparatus 100 adds a pool create command to the command buffer. Here, the information processing apparatus 100 determines whether to wait for acquisition of the next command.

情報処理装置100は、例えば、取得したpool createコマンドに対応する実行履歴テーブル400を取得する。情報処理装置100は、実行履歴テーブル400の前回取得時の一括処理の有無のフィールドの情報1001を抽出する。情報処理装置100は、抽出した情報1001に基づいて、pool createコマンドに次いで、pool createコマンドと一括処理が可能なpool createコマンドが取得されたことがあると判定する。これにより、情報処理装置100は、次のコマンドの取得を待ってもよいと判定する。   For example, the information processing apparatus 100 acquires the execution history table 400 corresponding to the acquired pool create command. The information processing apparatus 100 extracts field information 1001 indicating whether or not batch processing is performed at the time of the previous acquisition of the execution history table 400. Based on the extracted information 1001, the information processing apparatus 100 determines that, after the pool create command, a pool create command that can be batch processed with the pool create command has been acquired. Thereby, the information processing apparatus 100 determines that the acquisition of the next command may be awaited.

また、情報処理装置100は、実行履歴テーブル400の前回の取得時刻のフィールドの情報1002と、次に取得されたコマンドの取得時刻のフィールドの情報1003とを抽出する。情報処理装置100は、抽出した情報1002,1003に基づいて、pool createコマンドの過去の取得時刻と、pool createコマンドに次いで取得されたpool createコマンドの過去の取得時刻との間隔を算出する。情報処理装置100は、算出した間隔が、閾値以下であると判定する。閾値は、例えば、前回処理時間「6.270sec」の1/50が設定される。これにより、情報処理装置100は、次のコマンドの取得を待ってもよいと判定する。   Further, the information processing apparatus 100 extracts the field information 1002 of the previous acquisition time of the execution history table 400 and the field information 1003 of the acquisition time field of the command acquired next. Based on the extracted information 1002 and 1003, the information processing apparatus 100 calculates the interval between the past acquisition time of the pool create command and the past acquisition time of the pool create command acquired after the pool create command. The information processing apparatus 100 determines that the calculated interval is equal to or less than the threshold value. For example, 1/50 of the previous processing time “6.270 sec” is set as the threshold. Thereby, the information processing apparatus 100 determines that the acquisition of the next command may be awaited.

情報処理装置100は、次のコマンドの取得を待ってもよいと判定したため、経過時間が閾値を超えるまで、次のコマンドの取得を待つ。情報処理装置100は、経過時間が閾値を超えても、次のコマンドが取得されなければ、コマンドバッファのpool createコマンドに対応する1つの内部処理を生成し、1つのスレッドに割り当てて実行する。   Since the information processing apparatus 100 determines that the next command may be acquired, the information processing apparatus 100 waits for the next command until the elapsed time exceeds the threshold. If the next command is not acquired even if the elapsed time exceeds the threshold, the information processing apparatus 100 generates one internal process corresponding to the command create command in the command buffer, assigns it to one thread, and executes it.

ここでは、情報処理装置100は、時刻t2に、経過時間が閾値を超える前に、入力された文字列902が示すvolume createコマンド1を取得する。情報処理装置100は、一括処理可否表300の可否フラグ701を参照し、コマンドバッファのpool createコマンドと、取得したvolume createコマンド1との一括処理が可能であるか否かを判定する。   Here, the information processing apparatus 100 acquires the volume create command 1 indicated by the input character string 902 before the elapsed time exceeds the threshold at time t2. The information processing apparatus 100 refers to the availability flag 701 of the batch processing availability table 300 to determine whether batch processing of the command buffer's pool create command and the acquired volume create command 1 is possible.

情報処理装置100は、一括処理が可能ではないため、コマンドバッファのpool createコマンドに対応する1つの内部処理を生成し、1つのスレッドに割り当てて実行する。情報処理装置100は、コマンドバッファの記憶内容を消去し、取得したvolume createコマンド1をコマンドバッファに追加する。   Since the information processing apparatus 100 cannot perform batch processing, the information processing apparatus 100 generates one internal process corresponding to the pool create command of the command buffer, assigns it to one thread, and executes it. The information processing apparatus 100 erases the stored contents of the command buffer, and adds the acquired volume create command 1 to the command buffer.

ここで、情報処理装置100は、新たに閾値を設定し、取得したvolume createコマンド1に対応する実行履歴テーブル400に基づいて、次のコマンドの取得を待つか否かを決定する。閾値は、例えば、volume createコマンド1に対応する前回処理時間の1/50が設定される。   Here, the information processing apparatus 100 newly sets a threshold and determines whether to wait for acquisition of the next command based on the execution history table 400 corresponding to the acquired volume create command 1. As the threshold value, for example, 1/50 of the previous processing time corresponding to the volume create command 1 is set.

情報処理装置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 information processing apparatus 100 acquires the volume create command 2 indicated by the input character string 903 at time t3. The information processing apparatus 100 refers to the availability flag 702 of the batch processing availability table 300 and determines whether batch processing of the command volume create command 1 and the acquired volume create command 2 is possible.

情報処理装置100は、一括処理が可能であるため、取得したvolume createコマンド2をコマンドバッファに追加する。これにより、情報処理装置100は、コマンドバッファに、一括処理が可能である1以上のコマンドを蓄積していくことができる。   Since the information processing apparatus 100 can perform batch processing, the acquired volume create command 2 is added to the command buffer. Thereby, the information processing apparatus 100 can accumulate one or more commands that can be collectively processed in the command buffer.

ここで、情報処理装置100は、新たに閾値を設定し、取得したvolume createコマンド2に対応する実行履歴テーブル400に基づいて、次のコマンドの取得を待つか否かを決定する。閾値は、例えば、volume createコマンド2に対応する前回処理時間の1/50が設定される。   Here, the information processing apparatus 100 newly sets a threshold value and determines whether to wait for acquisition of the next command based on the execution history table 400 corresponding to the acquired volume create command 2. As the threshold value, for example, 1/50 of the previous processing time corresponding to the volume create command 2 is set.

情報処理装置100は、次のコマンドの取得を待ってもよいと判定した後、時刻t4に、入力された文字列904が示すvolume createコマンド3を取得し、コマンドバッファに追加する。   After determining that the next command may be acquired, the information processing apparatus 100 acquires the volume create command 3 indicated by the input character string 904 at time t4 and adds it to the command buffer.

ここで、情報処理装置100は、新たに閾値を設定し、取得したvolume createコマンド3に対応する実行履歴テーブル400に基づいて、次のコマンドの取得を待つか否かを決定する。閾値は、例えば、volume createコマンド3に対応する前回処理時間の1/50が設定される。   Here, the information processing apparatus 100 newly sets a threshold value, and determines whether to wait for acquisition of the next command based on the execution history table 400 corresponding to the acquired volume create command 3. As the threshold value, for example, 1/50 of the previous processing time corresponding to the volume create command 3 is set.

情報処理装置100は、次のコマンドの取得を待ってもよいと判定した後、時刻t5に、入力された文字列905が示すvolume createコマンド4を取得し、コマンドバッファに追加する。   After determining that the next command may be acquired, the information processing apparatus 100 acquires the volume create command 4 indicated by the input character string 905 at time t5 and adds it to the command buffer.

ここで、情報処理装置100は、新たに閾値を設定し、取得したvolume createコマンド3に対応する実行履歴テーブル400に基づいて、次のコマンドの取得を待つか否かを決定する。閾値は、例えば、volume createコマンド4に対応する前回処理時間の1/50が設定される。   Here, the information processing apparatus 100 newly sets a threshold value, and determines whether to wait for acquisition of the next command based on the execution history table 400 corresponding to the acquired volume create command 3. As the threshold value, for example, 1/50 of the previous processing time corresponding to the volume create command 4 is set.

情報処理装置100は、次のコマンドの取得を待ってもよいと判定した後、経過時間が閾値を超えたため、コマンドバッファに蓄積された4つのコマンドに対応する1つの内部処理を生成し、スレッドに割り当てて実行する。   The information processing apparatus 100 determines that the acquisition of the next command may be awaited, and the elapsed time exceeds the threshold value. Therefore, the information processing apparatus 100 generates one internal process corresponding to the four commands accumulated in the command buffer, and Assign to and execute.

ここで、従来では、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 information processing apparatus 100 generates one internal process corresponding to the four commands, assigns it to a thread, and executes it, the pre-processing and post-processing such as temporarily stopping the IO may be performed once. can do. As a result, the information processing apparatus 100 can improve response performance and processing efficiency for four commands. For example, the information processing apparatus 100 may perform pre-processing and post-processing once, whereas the pre-processing and post-processing are performed four times in the past, and the response performance to four commands is increased by about four times. Can be improved.

情報処理装置100は、一括して複数のコマンドを取得せず、連続して複数のコマンドを取得するような場合でも、取得された複数のコマンドに対する応答性能や処理効率の向上を図ることができる。そして、情報処理装置100は、ユーザの入力の仕方によらず、複数のコマンドに対する応答性能や処理効率の向上を図り、CLIの利便性の向上を図ることができる。   The information processing apparatus 100 can improve response performance and processing efficiency for a plurality of acquired commands even when acquiring a plurality of commands in succession without acquiring a plurality of commands at once. . The information processing apparatus 100 can improve the response performance and processing efficiency for a plurality of commands and improve the convenience of the CLI regardless of how the user inputs.

情報処理装置100は、1つのコマンドに対応する処理にかかる時間が、次のコマンドの取得を待つ時間に比べて長くなりやすいような状況に適用することができる。そして、情報処理装置100は、次のコマンドの取得を待つことにより、取得したコマンドに対応する処理の実行開始を遅らせても、複数のコマンド全体に対する応答性能や処理効率を向上することができる。   The information processing apparatus 100 can be applied to a situation where the time required for processing corresponding to one command tends to be longer than the time for waiting for acquisition of the next command. Then, the information processing apparatus 100 can improve the response performance and the processing efficiency for all of the plurality of commands by waiting for the acquisition of the next command, even if the execution start of the processing corresponding to the acquired command is delayed.

情報処理装置100は、次のコマンドを待つ時間を固定せず、最後に取得したコマンドごとに異なる値を設定するため、次のコマンドの取得を待つことによる、最後に取得したコマンドに対する応答性能や処理効率の低下を抑制することができる。また、情報処理装置100は、次のコマンドを待つ方が好ましい場合は、次のコマンドを待つことができるようになる。   Since the information processing apparatus 100 does not fix the time for waiting for the next command and sets a different value for each last acquired command, the response performance for the last acquired command by waiting for the acquisition of the next command, A decrease in processing efficiency can be suppressed. Further, when it is preferable to wait for the next command, the information processing apparatus 100 can wait for the next command.

また、情報処理装置100は、コマンドバッファに蓄積される一括処理が可能なコマンドの数が、効率よく増加するようにすることができる。このため、情報処理装置100は、より多くのコマンドに対応する処理が1つの処理にまとめられる確率の向上を図り、CLIにおけるコマンド全体での応答性能や処理効率の向上を図ることができる。   Further, the information processing apparatus 100 can efficiently increase the number of commands that can be collectively processed and stored in the command buffer. Therefore, the information processing apparatus 100 can improve the probability that processes corresponding to more commands are combined into one process, and can improve response performance and processing efficiency of the entire command in the CLI.

実施例2において、情報処理装置100は、統計的に情報が設定された実行履歴テーブル400を参照すれば、さらに精度よく、次のコマンドを待つか否かを判定可能にすることができる。このため、情報処理装置100は、さらに効率よく、CLIにおけるコマンド全体での応答性能や処理効率の向上を図ることができる。   In the second embodiment, the information processing apparatus 100 can determine whether or not to wait for the next command with higher accuracy by referring to the execution history table 400 in which information is statistically set. For this reason, the information processing apparatus 100 can improve the response performance and processing efficiency of the entire command in the CLI more efficiently.

実施例2において、情報処理装置100は、ユーザごとに異なる実行履歴テーブル400を参照すれば、さらに精度よく、次のコマンドを待つか否かを判定可能にすることができる。このため、情報処理装置100は、さらに効率よく、CLIにおけるコマンド全体での応答性能や処理効率の向上を図ることができる。   In the second embodiment, the information processing apparatus 100 can determine whether to wait for the next command with higher accuracy by referring to the execution history table 400 that is different for each user. For this reason, the information processing apparatus 100 can improve the response performance and processing efficiency of the entire command in the CLI more efficiently.

(実施例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 information processing apparatus 100 performs the same process as the process of step S810 illustrated in FIG. 8, and then proceeds to the process of step S1101. In step S1101, the information processing apparatus 100 executes standby processing described later in FIG. 11 (step S1101). Then, the information processing apparatus 100 proceeds to a process similar to the process in step S811 illustrated in FIG.

(実施例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 information processing apparatus 100 determines whether there is an unprocessed character string including a line feed (step S1201). Here, when there is an unprocessed character string including a line feed (step S1201: Yes), the information processing apparatus 100 ends the standby process.

一方で、改行を含む未処理の文字列が存在しない場合(ステップ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 information processing apparatus 100 extracts the last command stored in the command buffer (step S1202). Next, the information processing apparatus 100 acquires the execution history table 400 corresponding to the extracted command (step S1203).

そして、情報処理装置100は、取得した実行履歴テーブル400を参照し、過去に、抽出したコマンドに次いで、抽出したコマンドと一括処理が可能であるコマンドが取得されたことがあるか否かを判定する(ステップS1204)。ここで、取得されたことがない場合(ステップS1204:No)、情報処理装置100は、待機処理を終了する。   Then, the information processing apparatus 100 refers to the acquired execution history table 400 and determines whether or not a command that can be batch processed with the extracted command has been acquired in the past after the extracted command. (Step S1204). Here, when it has not been acquired (step S1204: No), the information processing apparatus 100 ends the standby process.

一方で、取得されたことがある場合(ステップS1204:Yes)、情報処理装置100は、抽出したコマンドと、抽出したコマンドに次いで取得されたコマンドとの、過去の取得時刻の間隔が、閾値以下であるか否かを判定する(ステップS1205)。   On the other hand, if it has been acquired (step S1204: Yes), the information processing apparatus 100 determines that the interval between past acquisition times of the extracted command and the command acquired after the extracted command is equal to or less than the threshold value. It is determined whether or not (step S1205).

閾値は、可変である。閾値は、例えば、抽出したコマンドの過去の処理時間に基づいて設定される値である。閾値は、例えば、抽出したコマンドの過去の処理時間の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 information processing apparatus 100, for example.

ここで、閾値以下ではない場合(ステップS1205:No)、情報処理装置100は、待機処理を終了する。一方で、閾値以下である場合(ステップS1205:Yes)、情報処理装置100は、コマンドを抽出してからの経過時間が閾値を超えたか否かを判定する(ステップS1206)。ここで、閾値を超えた場合(ステップS1206:Yes)、情報処理装置100は、待機処理を終了する。   Here, when it is not below the threshold value (step S1205: No), the information processing apparatus 100 ends the standby process. On the other hand, if it is equal to or less than the threshold value (step S1205: Yes), the information processing apparatus 100 determines whether the elapsed time after extracting the command exceeds the threshold value (step S1206). Here, when the threshold value is exceeded (step S1206: Yes), the information processing apparatus 100 ends the standby process.

一方で、閾値を超えていない場合(ステップS1206:No)、情報処理装置100は、改行を含む未処理の文字列の入力を待ち、改行を含む未処理の文字列の入力を受け付けたか否かを判定する(ステップS1207)。ここで、受け付けていない場合(ステップS1207:No)、情報処理装置100は、ステップS1206の処理に戻る。   On the other hand, when the threshold value is not exceeded (step S1206: No), the information processing apparatus 100 waits for an input of an unprocessed character string including a line feed, and whether or not an input of an unprocessed character string including a line feed is received. Is determined (step S1207). Here, when not receiving (step S1207: No), the information processing apparatus 100 returns to the process of step S1206.

一方で、受け付けた場合(ステップS1207:Yes)、情報処理装置100は、待機処理を終了する。これにより、情報処理装置100は、次のコマンドの取得を待つことによる、現在取得済みのコマンドに対応する処理の応答性能や処理効率への悪影響を抑制しつつ、一括処理が可能な1以上のコマンドをまとめることができる。このため、情報処理装置100は、CLIにおけるコマンド全体での応答性能や処理効率の向上を図ることができる。   On the other hand, when the information is received (step S1207: Yes), the information processing apparatus 100 ends the standby process. Accordingly, the information processing apparatus 100 can perform one or more batch processing while suppressing an adverse effect on response performance and processing efficiency of a process corresponding to a currently acquired command due to waiting for acquisition of the next command. You can group commands. For this reason, the information processing apparatus 100 can improve response performance and processing efficiency of the entire command in the CLI.

以上説明したように、情報処理装置100によれば、入力された文字列を解析して複数のコマンドを取得した場合、取得した複数のコマンドの一括処理が可能であるか否かを判定することができる。情報処理装置100によれば、一括処理が可能であると判定した場合、取得した複数のコマンドに対応する1つの処理を生成し、生成した1つの処理を実行することができる。   As described above, according to the information processing apparatus 100, when a plurality of commands are acquired by analyzing an input character string, it is determined whether or not collective processing of the plurality of acquired commands is possible. Can do. According to the information processing apparatus 100, when it is determined that batch processing is possible, it is possible to generate one process corresponding to a plurality of acquired commands and execute the generated one process.

これにより、情報処理装置100は、実装されるコマンドの構文の複雑化を防ぎ、コマンドの実装の容易化を図ることができ、複数のコマンドに対する応答性能や処理効率の向上を図ることができ、CLIの利便性の向上を図ることができる。   As a result, the information processing apparatus 100 can prevent the syntax of the implemented command from being complicated, can facilitate the implementation of the command, can improve response performance and processing efficiency for a plurality of commands, The convenience of the CLI can be improved.

情報処理装置100によれば、一括処理が可能であると判定した場合、取得した複数のコマンドに対応する1つの処理を生成して、生成した1つの処理を1つのスレッドに割り当てて実行することができる。これにより、情報処理装置100は、複数のコマンドに対して、スレッドの生成や事前処理、および、スレッドの削除や事後処理を、1回にまとめることができ、複数のコマンドに対する応答性能や処理効率の向上を図ることができる。   According to the information processing apparatus 100, when it is determined that batch processing is possible, one process corresponding to a plurality of acquired commands is generated, and the generated one process is assigned to one thread and executed. Can do. As a result, the information processing apparatus 100 can combine thread generation and pre-processing, and thread deletion and post-processing for a plurality of commands at once, and response performance and processing efficiency for the plurality of commands. Can be improved.

情報処理装置100によれば、複数のコマンドを示す文字列の入力を受け付けることができる。これにより、情報処理装置100は、コピー&ペーストなどにより、複数のコマンドを一括して示す文字列の入力を受け付けることができ、ユーザが複数のコマンドを示す文字列を入力しやすくすることができる。   The information processing apparatus 100 can accept input of character strings indicating a plurality of commands. As a result, the information processing apparatus 100 can accept input of character strings indicating a plurality of commands at once by copy and paste or the like, and can facilitate the user to input character strings indicating a plurality of commands. .

情報処理装置100によれば、入力された文字列を解析してコマンドを取得する都度、取得したコマンドと、バッファに蓄積されたコマンドとの一括処理が可能であるか否かを判定することができる。情報処理装置100によれば、バッファに蓄積されたコマンドとの一括処理が可能であると判定した場合、取得したコマンドをバッファに追加することができる。情報処理装置100によれば、バッファの最後のコマンドの追加からの経過時間が閾値を超えた場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成することができる。   According to the information processing apparatus 100, each time a command is acquired by analyzing an input character string, it is determined whether or not collective processing of the acquired command and the command stored in the buffer is possible. it can. According to the information processing apparatus 100, when it is determined that batch processing with the commands stored in the buffer is possible, the acquired commands can be added to the buffer. According to the information processing apparatus 100, when the elapsed time from the addition of the last command in the buffer exceeds the threshold, one process corresponding to one or more commands accumulated in the buffer can be generated.

これにより、情報処理装置100は、次のコマンドの取得を待ち続けると、バッファに蓄積されたコマンドの応答性能が、次のコマンドをバッファに追加することができた場合に比べても低下してしまうと判断される状態であるか否かを判定することができる。そして、情報処理装置100は、応答性能が低下してしまうと判断される状態でなければ、次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。一方で、情報処理装置100は、応答性能が低下してしまうと判断される状態であれば、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成し、コマンドの応答性能の低下を抑制することができる。   As a result, when the information processing apparatus 100 continues to wait for acquisition of the next command, the response performance of the command stored in the buffer is lower than when the next command can be added to the buffer. It is possible to determine whether or not the state is determined to end. If the information processing apparatus 100 is not in a state where it is determined that the response performance is degraded, the information processing apparatus 100 waits for acquisition of the next command, and increases the number of commands that can be collectively processed to be accumulated in the buffer. The processing efficiency of processing corresponding to the command can be improved. On the other hand, if the information processing apparatus 100 is in a state where it is determined that the response performance is degraded, the information processing apparatus 100 generates one process corresponding to one or more commands stored in the buffer, and the response performance of the command is degraded. Can be suppressed.

情報処理装置100によれば、バッファが空であり、入力された文字列を解析してコマンドを取得した場合、取得したコマンドをバッファに追加することができる。これにより、情報処理装置100は、バッファが空であれば、すぐにコマンドに対応する処理を実行せず、コマンドと一括処理が可能なコマンドの入力を待つことができ、CLIにおけるコマンド全体での応答性能や処理効率の向上を図ることができる。   According to the information processing apparatus 100, when the buffer is empty and the command is acquired by analyzing the input character string, the acquired command can be added to the buffer. As a result, if the buffer is empty, the information processing apparatus 100 can immediately wait for an input of a command that can be batch-processed with the command without executing the process corresponding to the command. Response performance and processing efficiency can be improved.

情報処理装置100によれば、バッファに蓄積されたコマンドとの一括処理が可能ではないと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成し、取得したコマンドを新たなバッファに追加することができる。これにより、情報処理装置100は、一括処理が可能な1以上のコマンドごとにまとめることができる。そして、情報処理装置100は、現時点で一括処理が可能である1以上のコマンドに対応する1つの処理を生成し、バッファに蓄積された1以上のコマンドの応答性能や処理効率の低下を抑制することができる。   According to the information processing apparatus 100, when it is determined that batch processing with the command stored in the buffer is not possible, one process corresponding to one or more commands stored in the buffer is generated, and the acquired command is Can be added to a new buffer. Thereby, the information processing apparatus 100 can collect one or more commands that can be collectively processed. Then, the information processing apparatus 100 generates one process corresponding to one or more commands that can be collectively processed at the present time, and suppresses a decrease in response performance or processing efficiency of the one or more commands stored in the buffer. be able to.

情報処理装置100によれば、過去に、バッファの最後のコマンドに次いで、バッファの最後のコマンドと一括処理が可能であるコマンドを取得したことがあるか否かを判定することができる。情報処理装置100によれば、取得したことがないと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成することができる。   According to the information processing apparatus 100, it is possible to determine whether or not a command that can be batch processed with the last command in the buffer has been acquired in the past after the last command in the buffer. According to the information processing apparatus 100, when it is determined that the information has not been acquired, one process corresponding to one or more commands accumulated in the buffer can be generated.

これにより、情報処理装置100は、次に取得されるコマンドが、現在バッファに蓄積されたコマンドとの一括処理が可能なコマンドである確率が高いと考えられる状態であるか否かを判定することができる。そして、情報処理装置100は、確率が高いと考えられる状態であれば次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。   As a result, the information processing apparatus 100 determines whether or not the next command to be acquired is in a state that has a high probability of being a command that can be collectively processed with the command currently stored in the buffer. Can do. Then, the information processing apparatus 100 waits for acquisition of the next command if the probability is considered to be high, increases the number of commands that can be collectively processed in the buffer, and performs processing corresponding to the command. The processing efficiency can be improved.

情報処理装置100によれば、バッファの最後のコマンドと、バッファの最後のコマンドに次いで取得されたコマンドとの、過去の取得時点の間隔が閾値を超えるか否かを判定することができる。情報処理装置100によれば、過去の取得時点の間隔が閾値を超えたと判定した場合、バッファに蓄積された1以上のコマンドに対応する1つの処理を生成し、生成した1以上の処理を実行することができる。   According to the information processing apparatus 100, it is possible to determine whether or not the interval between past acquisition times of the last command in the buffer and the command acquired after the last command in the buffer exceeds a threshold value. According to the information processing apparatus 100, when it is determined that the interval between past acquisition points exceeds the threshold, one process corresponding to one or more commands accumulated in the buffer is generated, and the generated one or more processes are executed. can do.

これにより、情報処理装置100は、次のコマンドが比較的短時間で取得される確率が高いと考えられる状態であるか否かを判定することができる。そして、情報処理装置100は、確率が高いと考えられる状態であれば、次のコマンドの取得を待ち、バッファに蓄積する一括処理が可能なコマンドの数の増大化を図り、コマンドに対応する処理の処理効率の向上を図ることができる。   Thereby, the information processing apparatus 100 can determine whether or not the next command is considered to have a high probability of being acquired in a relatively short time. If the information processing apparatus 100 is in a state that is considered to have a high probability, the information processing apparatus 100 waits for acquisition of the next command, increases the number of commands that can be collectively processed in the buffer, and processes corresponding to the command. The processing efficiency can be improved.

情報処理装置100によれば、さらに、複数のコマンドの一括処理が可能である順序を示す管理情報を参照し、取得した複数のコマンドの一括処理が可能であるか否かを判定することができる。これにより、情報処理装置100は、所定の順序で一括処理が可能である複数のコマンドを、誤った順序で一括処理してしまうことを防止し、ユーザが複数のコマンドにより所望する機能を実現することができる。   Further, according to the information processing apparatus 100, it is possible to determine whether or not collective processing of a plurality of acquired commands is possible by referring to management information indicating an order in which the collective processing of a plurality of commands is possible. . As a result, the information processing apparatus 100 prevents a plurality of commands that can be collectively processed in a predetermined order from being collectively processed in an incorrect order, and realizes a function desired by the user by the plurality of commands. be able to.

なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、ハードディスク、フレキシブルディスク、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 SYMBOLS 100 Information processing apparatus 101,500 Storage part 110,600-605,901-905 Character string 120 Multiple commands 130 Thread 200 Bus 201 CPU
202 Memory 203 Network I / F
204 Recording medium I / F
205 Recording medium 210 Network 300 Batch processing availability table 400 Execution history table 501 Acquisition unit 502 Determination unit 503 Translation unit 504 Execution unit 505 Output unit 610,910 Input column

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.
JP2017150968A 2017-08-03 2017-08-03 Information processing device, and information processing program Pending JP2019028942A (en)

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)

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