JP6558275B2 - Information processing apparatus, information processing method, and information processing program - Google Patents
Information processing apparatus, information processing method, and information processing program Download PDFInfo
- Publication number
- JP6558275B2 JP6558275B2 JP2016039766A JP2016039766A JP6558275B2 JP 6558275 B2 JP6558275 B2 JP 6558275B2 JP 2016039766 A JP2016039766 A JP 2016039766A JP 2016039766 A JP2016039766 A JP 2016039766A JP 6558275 B2 JP6558275 B2 JP 6558275B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- command
- name
- option
- input
- 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.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 50
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000012545 processing Methods 0.000 claims description 140
- 238000000034 method Methods 0.000 claims description 128
- 230000008569 process Effects 0.000 claims description 124
- 238000012795 verification Methods 0.000 claims description 35
- 238000004458 analytical method Methods 0.000 description 74
- 230000006870 function Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 18
- 230000008859 change Effects 0.000 description 13
- 238000003825 pressing Methods 0.000 description 7
- 238000012790 confirmation Methods 0.000 description 6
- 230000000052 comparative effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007850 degeneration Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Input From Keyboards Or The Like (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and an information processing program.
情報処理装置に対して処理の実行を命令するためのインタフェースの1つとして、CLI(Command Line Interface)がある。CLIは、キーボードを用いて特定の文字列を入力することで情報処理装置に処理の実行を命令し、文字出力によって処理の実行結果を取得する形式のユーザインタフェースである。CLIは、GUI(Graphical User Interface)と比較して、処理負荷が低く軽快な動作が可能である点や、動作環境の柔軟性が高い点などの多くの利点があることから、広く利用されている。 One interface for instructing the information processing apparatus to execute processing is a CLI (Command Line Interface). The CLI is a user interface of a format in which a specific character string is input using a keyboard to instruct the information processing apparatus to execute processing, and a processing execution result is acquired by character output. Compared with GUI (Graphical User Interface), CLI is widely used because it has many advantages such as low processing load and light operation, and high flexibility of operating environment. Yes.
また、情報処理装置に対する処理の実行指示に関しては、次のような技術が提案されている。例えば、コマンドの入力時に1文字ごとにその妥当性を判断し、妥当性がない場合は直ちにエラー表示をする情報処理装置が提案されている。また、各機能に対して指定されたパラメータに基づいて手続きを実行し、その実行途中にパラメータの誤りがあった場合には手続きを中断して異常メッセージを表示し、パラメータが修正されると、パラメータが修正された機能から手続きを再開するシステムが提案されている。 Further, the following techniques have been proposed for processing execution instructions to the information processing apparatus. For example, an information processing apparatus has been proposed in which the validity of each character is judged when a command is input, and an error is displayed immediately if there is no validity. Also, the procedure is executed based on the parameters specified for each function, and if there is an error in the parameters during the execution, the procedure is interrupted and an abnormal message is displayed. A system for resuming a procedure from a function whose parameters have been corrected has been proposed.
ところで、CLIを通じて入力されたコマンドに応じた処理の実行可否を検証するためには、情報処理装置に記憶された制御情報が参照される。近年、情報処理装置で実行される処理が複雑化するのに伴って、情報処理装置には膨大な数の制御情報が記憶され、上記の検証時においても膨大な数の制御情報が参照されるようになっている。このような膨大な数の制御情報の参照には長い時間がかかるため、コマンドの入力開始から、そのコマンドに応じた処理が完了するまでに時間が長くなるという問題がある。 Incidentally, control information stored in the information processing apparatus is referred to in order to verify whether or not a process according to a command input through the CLI can be executed. In recent years, as the processing executed by the information processing apparatus becomes more complicated, a large number of control information is stored in the information processing apparatus, and a large number of control information is referred to even during the above verification. It is like that. Since it takes a long time to refer to such an enormous number of control information, there is a problem that it takes a long time from the start of command input until the processing corresponding to the command is completed.
1つの側面では、本発明は、コマンドの入力からそれに応じた処理の完了までの時間を短縮することが可能な情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。 In one aspect, an object of the present invention is to provide an information processing apparatus, an information processing method, and an information processing program capable of shortening a time from input of a command to completion of processing corresponding to the command.
1つの案では、コマンドに応じた処理を実行する情報処理装置が提供される。この情報処理装置は、次のような記憶部、コマンド受け付け部、情報収集部および処理実行部を有する。記憶部は、情報処理装置が受け付け可能な複数のコマンド名と、情報処理装置の処理に利用される複数の制御情報とを記憶する。コマンド受け付け部は、文字入力を受け付け、1文字入力されるたびに、複数のコマンド名の中から入力された文字列と一致する一のコマンド名を確定できるかを判定する。情報収集部は、一のコマンド名が確定されると、複数の制御情報の中から、一のコマンド名に応じた処理の実行可否を検証するための検証用情報の収集を開始する。処理実行部は、収集された検証用情報に基づいて実行可否を検証し、実行可能と判定すると一のコマンド名に応じた処理を実行する。 In one proposal, an information processing apparatus that executes processing according to a command is provided. The information processing apparatus includes a storage unit, a command reception unit, an information collection unit, and a process execution unit as described below. The storage unit stores a plurality of command names that can be received by the information processing apparatus and a plurality of control information used for processing of the information processing apparatus. The command receiving unit receives character input and determines whether one command name that matches a character string input from a plurality of command names can be determined each time one character is input. When one command name is determined, the information collection unit starts collecting verification information for verifying whether or not processing according to the one command name can be executed from among a plurality of control information. The process execution unit verifies whether or not execution is possible based on the collected verification information, and executes a process corresponding to one command name when it is determined that the execution is possible.
また、1つの案では、上記の情報処理装置と同様の処理がコンピュータによって実行される情報処理方法が提供される。
さらに、1つの案では、上記の情報処理装置と同様の処理をコンピュータに実行させる情報処理プログラムが提供される。
Further, in one proposal, an information processing method is provided in which processing similar to that of the information processing apparatus is executed by a computer.
Furthermore, in one proposal, an information processing program for causing a computer to execute the same processing as that of the above information processing apparatus is provided.
1つの側面では、コマンドの入力からそれに応じた処理の完了までの時間を短縮できる。 In one aspect, the time from input of a command to completion of processing corresponding to the command can be shortened.
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理装置の構成例および処理例を示す図である。情報処理装置10は、入力されたコマンドに応じた処理を実行する。情報処理装置10は、例えば、コンピュータとして実現される。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating a configuration example and a processing example of the information processing apparatus according to the first embodiment. The
なお、図1に示した画面21〜24は、コマンドが入力されるコマンド入力画面の画面表示例をそれぞれ示す。
情報処理装置10は、記憶部11、コマンド受け付け部12、情報収集部13および処理実行部14を有する。記憶部11は、例えば、RAM(Random Access Memory)やHDD(Hard Disk Drive)などの記憶装置として実現される。コマンド受け付け部12、情報収集部13および処理実行部14の処理は、例えば、情報処理装置10が備えるプロセッサが所定のプログラムを実行することで実現される。
Note that
The
記憶部11には、情報処理装置が受け付け可能な複数のコマンド名と、情報処理装置10の処理に利用される複数の制御情報とが記憶される。図1の例では、記憶部11には、上記の複数のコマンド名が登録されたコマンドリスト11aと、上記の複数の制御情報が登録された制御情報リスト11bとが記憶されている。
The
コマンド受け付け部12は、ユーザの操作に応じた文字の入力を受け付ける。コマンド受け付け部12は、コマンドリスト11aを参照しながら、1文字入力されるたびに、入力されたコマンド名を推定する(ステップS1)。すなわち、コマンド受け付け部12は、1文字入力されるたびに、コマンドリスト11aに登録されたコマンド名の中から、入力された文字列と一致する唯一のコマンド名を確定できるかを判定する。
The
例えば、コマンド入力画面に「create」と入力されたとする。コマンドリスト11aには、コマンド名として「create volume」と「create raid-group」とが登録されている。このため、コマンド受け付け部12は、この時点ではコマンド名を一意に確定できない。しかし、その後、画面21に示すように「v」が入力されると、入力された文字列と一致する唯一のコマンド名が「create volume」に確定される(ステップS2)。すなわち、コマンド名「create volume」の全体が入力されるより前に、コマンド名が確定される。なお、コマンド受け付け部12は、例えば、コマンド名が確定されると、画面23に示すように、コマンド入力画面に確定されたコマンド名を表示させる。
For example, assume that “create” is entered on the command input screen. In the command list 11a, “create volume” and “create raid-group” are registered as command names. For this reason, the
情報収集部13は、コマンド受け付け部12によってコマンド名が「create volume」に確定されると、制御情報リスト11b内の複数の制御情報の中から、「create volume」に応じた処理の実行可否を検証するための検証用情報を収集する処理を開始する(ステップS3)。なお、例えば、検証用情報として収集すべき制御情報は、確定されたコマンド名に応じて決定される。
When the command name is fixed to “create volume” by the
処理実行部14は、「create volume」に応じた処理の実行可否を、情報収集部13によって収集された検証用情報に基づいて検証する(ステップS4)。例えば、情報処理装置10は、コマンド名と、これに続く1以上のオプション情報とを含む命令文に応じて、処理を実行するものとする。この場合、処理実行部14は、確定されたコマンド名「create volume」に続いて入力されるオプション情報と、収集された検証用情報との整合性を検証することで、上記の実行可否を検証する。なお、図1の例では、画面23に示すように、コマンド名「create volume」に続いてオプション情報「name 01」が入力されている。
The
処理実行部14は、実行可否の検証によって実行可能と判定すると、確定されたコマンド名「create volume」に応じた処理を実行する(ステップS5)。処理が正常に実行されると、コマンド入力画面は、画面24に示すように、次のコマンドの入力を待機する状態になる。
If the
以上の情報処理装置10によれば、コマンド名全体が入力されるより前にコマンド名を確定し、確定されたコマンド名に応じた処理の実行可否を検証するための検証用情報の収集を開始できる。これにより、コマンド名全体が入力されてから検証用情報の収集を開始するより、コマンド名の入力開始からコマンド名に応じた処理が完了するまでの時間を短縮できる。
According to the
〔第2の実施の形態〕
次に、第2の実施の形態として、図1の情報処理装置10の例としてストレージ制御装置を適用した場合について説明する。
[Second Embodiment]
Next, a case where a storage control apparatus is applied as an example of the
図2は、第2の実施の形態に係るストレージシステムの構成例を示す図である。図2に示すストレージシステムは、CE(Controller Enclosure)50とDE(Drive Enclosure)200を有する。CE50は、それぞれDE200と接続されたCM(Controller Module)100,100aを有する。CM100,100aには、ホスト装置210と管理端末220が接続されている。
FIG. 2 is a diagram illustrating a configuration example of a storage system according to the second embodiment. The storage system shown in FIG. 2 has a CE (Controller Enclosure) 50 and a DE (Drive Enclosure) 200. The
CM100は、ホスト装置210からの要求に応じて、DE200に搭載された記憶装置に対するアクセスを制御するストレージ制御装置である。CM100は、例えば、DE200に搭載された記憶装置を実記憶領域とする論理ボリュームを作成し、ホスト装置210から論理ボリュームに対するアクセス要求を受け付け、要求に応じたアクセス制御を実行する。CM100aも、CM100と同様の処理を実行可能である。
The
DE200には、ホスト装置210からのアクセス対象となる複数台の記憶装置が搭載されている。本実施の形態では例として、DE200は、このような記憶装置としてHDD201,202,203,・・・が搭載されたディスクアレイ装置であるものとする。なお、ホスト装置210からのアクセス対象となる記憶装置は、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置であってもよい。
The
ホスト装置210は、例えば、DE200内の記憶装置を使用して処理を実行する業務サーバである。
なお、CM100,100aは、例えば、一方が運用系として動作し、他方が待機系として動作することができる。また、例えば、CM100,100aは、それぞれ個別に設定された論理ボリュームに対するアクセス要求をホスト装置210から受け付けることもできる。この場合、例えば、CM100,100aのうち一方に記憶された情報が、他方にバックアップされてもよい。また、CM100,100aは、それぞれ個別のホスト装置210から個別の論理ボリュームに対するアクセス要求を受け付けてもよい。
The
For example, one of the
さらに、ストレージシステムには、CE50やDE200がそれぞれ複数台設けられていてもよい。例えば、CM100,100aには、複数台のDE200が接続されていてもよい。また、CM100,100aには、それぞれ個別のDE200が接続されていてもよい。この場合、CM100,100aのうち、一方に設定される論理ボリュームの物理記憶領域は、一方に接続されたDE200だけでなく他方に接続されたDE200を用いて実現されてもよい。この場合、一方のCMは、他方のCMを通じて、他方のCMに接続されたDE200にアクセスしてもよい。
Further, a plurality of
管理端末220は、ストレージシステムを管理する管理者によって操作される端末装置である。管理端末220には、キーボード221と表示装置222が接続されている。管理者は、表示装置222を視認しながらキーボード221を用いて管理端末220を操作することで、CM100,100aに対して設定や状態表示などの各種の処理を実行させることができる。本実施の形態では、CM100,100aは、このような処理の実行を指示するためのCLIを管理端末220に提供する。CM100を操作する場合を例示すると、表示装置222にはCM100からの情報に基づくCLI画面が表示され、管理者がキーボード221を用いてCLI画面にコマンドを入力すると、入力されたコマンドがCM100に送信される。CM100は、受信したコマンドに応じた処理を実行する。
The
次に、CM100,100aのハードウェア構成について説明する。ここでは例としてCM100について説明するが、CM100aもCM100と同様のハードウェアを用いて実現される。
Next, the hardware configuration of the
図3は、CMのハードウェア構成例を示す図である。CM100は、例えば、図3に示すようなコンピュータとして実現される。CM100は、プロセッサ101、RAM102、SSD103、CA(Channel Adapter)104、DI(Drive Interface)105およびLAN(Local Area Network)インタフェース106を有する。これらの構成要素は、バス107を介して接続されている。
FIG. 3 is a diagram illustrating a hardware configuration example of the CM. The
プロセッサ101は、CM100全体を統括的に制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
The
RAM102は、CM100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
The
SSD103は、CM100の補助記憶装置として使用される。SSD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。
CA104は、ホスト装置210と通信するためのインタフェースである。CA104とホスト装置210とは、例えば、ファイバチャネル(FC:Fibre Channel)やiSCSI(Internet Small Computer System Interface)などを用いたSAN(Storage Area Network)を介して接続される。
The
The
DI105は、DE200と通信するためのインタフェースである。DI105は、例えば、SAS(Serial Attached SCSI)インタフェースである。
LANインタフェース106は、管理端末220と通信するためのインタフェースである。
The
The
以上のハードウェア構成によってCM100の処理機能が実現される。なお、ホスト装置210および管理端末220も、CM100と同様のハードウェア構成を有するコンピュータとして実現することができる。
The processing functions of the
ところで、前述のように、CM100,100aは管理端末220に対してCLIを提供する。CLIとは、キーボードを使って特定の文字列を入力することで処理の実行を命令し、文字出力によって処理の実行結果を取得する形式のユーザインタフェースである。
Incidentally, as described above, the
CLIでは一般的に、コマンドプロンプトと呼ばれる入力待ちを示す文字列に続けて、「コマンド名 オプション オプション・・・」のように、コマンド名とこれに対応する1以上のオプションとが入力される。コマンド名とオプション、オプションとオプションとの間は、それぞれスペースによって区切られる。コマンド名によって、実行させる処理内容が指定され、オプションによって処理内容の詳細が指定される。 In CLI, generally, a command name called a command prompt and a character string indicating input waiting are input, followed by a command name and one or more options corresponding to the command name, options, and so on. The command name and option, and the option and option are separated by a space. The processing content to be executed is specified by the command name, and the details of the processing content are specified by the option.
オプションは、ユーザに任意の値の引数の指定を許可する場合、「オプション名 引数」のような構造で指定される。オプション名と引数との間はスペースによって区切られる。また、オプションはオプション名だけで指定される場合もある。コマンド名および1以上のオプションの入力に続いてEnterキーが押下されると、命令文が確定し、その命令文に応じた処理が実行される。 Options are specified in a structure like “option name argument” when the user is allowed to specify an argument of any value. The option name and argument are separated by a space. An option may be specified only by an option name. When the Enter key is pressed following the input of the command name and one or more options, the command statement is confirmed and processing corresponding to the command statement is executed.
本実施の形態でも、以上のような形式で命令文が入力されるものとする。なお、コマンドプロンプトからEnterキーが押下されるまでに入力された1行の命令文は、コマンドラインと呼ばれる。 Also in this embodiment, it is assumed that a command statement is input in the above-described format. Note that a one-line instruction sentence input from the command prompt until the Enter key is pressed is called a command line.
一方、CM100,100aには、CLIを通じて設定や状態確認が可能な多くの論理的な操作対象がそれぞれ存在する。例えば、論理ボリューム、RAID(Redundant Arrays of Inexpensive Disks)グループ、ストレージプール、ホストグループ、ポートグループ、LUN(Logical Unit Number)グループなどがある。また、CM100,100aには、CLIを通じて動作状態の確認が可能な多くの物理的なデバイスがそれぞれ搭載されている。例えば、ディスク(HDDやSSD)、電源ユニット、CM、CAなどがある。このように、操作対象の数は膨大である。
On the other hand, in the
また、複数のCM(例えば、CM100,100a)が連携して動作する場合には、1つのCMでの操作対象の数はさらに膨大になり得る。例えば、CM100,100aのうち一方に記憶された情報が他方にバックアップされるケースが考えられる。あるいは、CM100,100aにそれぞれ個別の論理ボリュームが設定され、一方のCMに設定された論理ボリュームの物理記憶領域が、そのCMに接続されたDE200だけでなく他方のCMに接続されたDE200を用いて実現されるケースも考えられる。このようなケースでは、一方のCMは自CMだけでなく、他方のCMに関する設定情報を保持する必要がある。このため、各CMでの操作対象の数はさらに膨大になる。
In addition, when a plurality of CMs (for example,
このように操作対象が膨大であることから、CM100,100aの管理のためのCLIでは、入力されるコマンドラインの構造が非常に複雑になることが多い。そのため、コマンドラインを正しく入力するには慣れが必要である。コマンドラインを正しく入力できるまで何回も入力し直すというケースも頻出する。
Since the operation target is enormous as described above, the CLI for managing the
なお、CM100,100aにおいてCLIを通じて操作が可能な代表的な機能としては、例えば、各種の表示機能、基本機能の設定機能、装置環境の設定機能、保守機能、ユーティリティ機能、工場出荷機能がある。各種表示機能としては、装置状態の表示、部品状態の表示などがある。基本機能の設定機能としては、RAID管理、ホットスペア管理、省電力管理、ボリューム管理、LUNマッピング、Host Affinity設定、各種コピー設定などがある。装置環境の設定機能としては、ネットワーク設定、日付設定、SNMP(Simple Network Management Protocol)管理などがある。保守機能としては、強制縮退または組み込み、各部へのファームウェア適用、ログ採取、ダンプ採取などがある。ユーティリティ機能としては、イベント通知、性能情報表示、エラー情報表示、各種リカバリなどがある。工場出荷機能としては、出荷設定、初期化などがある。
Typical functions that can be operated through the CLI in the
ここで、図4,図5は、コマンドラインの入力作業の比較例を示す図である。この図4,図5を用いて、コマンドラインが入力された場合の従来の処理方法を用いた処理例について説明する。 Here, FIG. 4 and FIG. 5 are diagrams showing a comparative example of command line input work. A processing example using the conventional processing method when a command line is input will be described with reference to FIGS.
図4,図5の例では、コマンド名として、論理ボリュームを新たに作成することを指示する「create volume」が指定されている。また、コマンド名に続いて、「type」、「size」、「name」、「rg-name」、「encryption」、「copy-protection」、「exc」というオプション名が指定されている。 In the example of FIGS. 4 and 5, “create volume” instructing to create a new logical volume is specified as the command name. Further, after the command name, option names “type”, “size”, “name”, “rg-name”, “encryption”, “copy-protection”, and “exc” are designated.
「type」は、論理ボリュームのタイプを指定するオプション名であり、初期状態である図4の状態1−1では引数として「open」が指定されている。「size」は、論理ボリュームのサイズを指定するオプション名であり、状態1−1では引数として「100gb」(100ギガバイト)が指定されている。「name」は、論理ボリュームの名称(Friendly name)を指定するオプション名であり、状態1−1では引数として「olun」が指定されている。「rg-name」は、論理ボリュームの作成先のRAIDグループを指定するオプション名であり、状態1−1では引数として「RG#0」が指定されている。「encryption」は、論理ボリュームにおいて暗号機能を有効にするかを指定するオプション名であり、状態1−1では有効にすることを示す「enable」が指定されている。「copy-protection」は、論理ボリュームに対するコピー制限機能を有効にするかを指定するオプション名であり、状態1−1では有効にすることを示す「enable」が指定されている。「exc」は、論理ボリュームに対する高速化キャッシュ機能を有効にするかを指定するオプション名であり、状態1−1では有効にすることを示す「enable」が指定されている。
“Type” is an option name for specifying the type of the logical volume, and “open” is specified as an argument in the state 1-1 of FIG. 4 which is the initial state. “Size” is an option name that specifies the size of the logical volume. In state 1-1, “100 gb” (100 gigabytes) is specified as an argument. “Name” is an option name that specifies the name (Friendly name) of the logical volume. In state 1-1, “olun” is specified as an argument. “Rg-name” is an option name that designates the RAID group of the logical volume creation destination, and “
CLIでは一般的に、Enterキーの押下(改行の入力)によってコマンドラインの入力完了が検知されると、入力された内容の解析や整合性チェックが行われる。この処理によって、入力されたコマンドラインの内容に基づく処理を実行可能と判定された場合に、その処理の実行が開始される。 In general, in CLI, when the completion of command line input is detected by pressing the Enter key (input of a line feed), the input content is analyzed and consistency check is performed. If it is determined by this process that a process based on the contents of the input command line can be executed, the execution of the process is started.
入力された内容の解析は、コマンドラインの先頭から順に行われる。また、コマンドラインに記述されたオプションごとに、コマンドライン上の先頭のオプションから順番に整合性チェックが行われる。整合性チェックでは、オプションに含まれる引数の整合性が検証される。また、一般的に、整合性がないと判定されたオプションが1つでもあると、入力されたコマンドラインは破棄され、コマンドラインの先頭から再入力がユーザに要求される。 The input contents are analyzed in order from the beginning of the command line. In addition, for each option described on the command line, consistency check is performed in order from the first option on the command line. In the consistency check, the consistency of the arguments included in the option is verified. In general, if there is even one option determined to be inconsistent, the input command line is discarded, and the user is requested to input again from the top of the command line.
図4の状態1−1に示したコマンドラインの場合、まず、先頭のオプション名「type」とその引数「open」について整合性がチェックされ、次にオプション名「size」とその引数「100gb」について整合性がチェックされる。ここで、引数「100gb」について整合性がないと判定されたとする。例えば、論理ボリュームの作成される物理領域(例えば、ストレージプール)の残量が100ギガバイト未満である場合に、整合性がないと判定される。この場合、例えば、状態1−1に示すように、オプション名「size」について、容量不足であることを示すエラー情報がCLI画面に表示される。そして、次の行にコマンドプロンプト(「CLI>」)が表示され、コマンドラインの先頭からの再入力が求められる。 In the case of the command line shown in the state 1-1 of FIG. 4, first, consistency is checked for the first option name “type” and its argument “open”, and then the option name “size” and its argument “100gb”. Consistency is checked. Here, it is assumed that the argument “100 gb” is determined to be inconsistent. For example, it is determined that there is no consistency when the remaining amount of a physical area (for example, a storage pool) in which a logical volume is created is less than 100 gigabytes. In this case, for example, as shown in the state 1-1, error information indicating that the capacity is insufficient for the option name “size” is displayed on the CLI screen. Then, the command prompt (“CLI>”) is displayed on the next line, and re-input from the beginning of the command line is requested.
次に、状態1−2に示すように、オプション名「size」の引数が「1gb」(1ギガバイト)に修正されたコマンドラインが入力されたとする。この場合に、オプション名「size」について整合性ありと判定されたとしても、次のオプション名「name」について整合性なしと判定されると、エラー情報が表示され、コマンドラインの再入力が求められる。なお、この例では、論理ボリュームのボリューム名はユニークでなくてはならないという条件があり、入力されたボリューム名「olun」はすでに登録済みであったものとする。 Next, it is assumed that a command line in which the argument of the option name “size” is corrected to “1 gb” (1 gigabyte) is input as shown in the state 1-2. In this case, even if it is determined that the option name “size” is consistent, if it is determined that the next option name “name” is not consistent, error information is displayed and the command line is requested to be entered again. It is done. In this example, there is a condition that the volume name of the logical volume must be unique, and it is assumed that the input volume name “olun” has already been registered.
次に、状態1−3に示すように、ボリューム名がユニークな「olun#01」に修正されたものの、次のオプション名「rg-name」について整合性なしと判定されたとする。例えば、RAIDグループ名「RG#0」のRAIDグループが未登録であったとする。この場合も、エラー情報が表示され、コマンドラインの再入力が求められる。
Next, as shown in state 1-3, it is assumed that the volume name is corrected to a unique “
次に、図5の状態1−4に示すように、RAIDグループ名が登録済みの「RG#1」に修正されたものの、次のオプション名「encryption」について整合性なしと判定されたとする。例えば、ストレージシステム全体についての暗号化機能が無効となっているために、作成した論理ボリュームの暗号化機能を有効にできないとする。この場合も、エラー情報が表示され、コマンドラインの再入力が求められる。
Next, as shown in the state 1-4 in FIG. 5, it is assumed that the RAID group name is corrected to the registered “
次に、状態1−5に示すように、論理ボリュームの暗号化機能が無効(disable)に修正されたものの、最後のオプション名「exc」について整合性なしと判定されたとする。例えば、ストレージシステム全体についての高速化キャッシュ機能が無効となっているために、作成した論理ボリュームの高速化キャッシュ機能を有効にできないとする。この場合も、エラー情報が表示され、コマンドラインの再入力が求められる。 Next, as shown in state 1-5, it is assumed that the last option name “exc” is determined to be inconsistent although the encryption function of the logical volume has been corrected to disable. For example, it is assumed that the accelerated cache function for the created logical volume cannot be enabled because the accelerated cache function for the entire storage system is disabled. Again, error information is displayed and you are prompted to reenter the command line.
そして、状態1−6に示すように、論理ボリュームの高速化キャッシュ機能が無効(disable)に修正されると、すべてのオプションについてのコマンド実行条件が満たされ、コマンドラインに基づく処理が実行される。処理が正常に完了すると、コマンドプロンプトが表示され、新たなコマンドラインを入力可能な状態に移行する。 Then, as shown in state 1-6, when the logical volume acceleration cache function is modified to disable, the command execution conditions for all options are satisfied, and processing based on the command line is executed. . When the process is completed normally, a command prompt is displayed, and a state in which a new command line can be input is entered.
以上の図4,図5の例のように、コマンドライン上の複数のオプションについて誤入力があり、整合性がないと判定されると、ユーザは、それらのオプションの数だけコマンドラインを先頭から再入力しなければならない。そのため、入力作業に大きな手間がかかるという問題がある。また、あるオプションについて誤入力と判定されたとき、それより前のオプションについては正しく入力されていても、コマンドラインの先頭からの再入力が必要となる。このため、同じ文字列を繰り返し入力しなくてはならず、作業効率が低くなってしまう。 As shown in the examples of FIGS. 4 and 5 above, when it is determined that there is an input error for a plurality of options on the command line and there is no consistency, the user sets the command line from the top by the number of those options. You must re-enter. For this reason, there is a problem that it takes a lot of labor for the input work. Also, when it is determined that a certain option is input incorrectly, it is necessary to re-input from the beginning of the command line even if the previous option is correctly input. For this reason, it is necessary to repeatedly input the same character string, resulting in low work efficiency.
さらに、オプションごとの整合性チェックでは、そのオプションに関係する多くの情報が収集され、参照される。収集される情報には、前述したような論理的な操作対象に関する情報(構成情報)や、物理的な操作対象に関する情報(ハードウェア情報)が含まれ得る。例えば、論理ボリュームのボリューム名が指定されるオプションについての整合性チェックでは、作成済みのすべての論理ボリュームについてのボリューム名が収集される。このように、整合性チェックでは構成情報やハードウェア情報が大量に収集されるので、その処理時間が長くなる。コマンドラインに複数のオプションが含まれる場合には、収集される情報の量はさらに膨大なものとなり、処理時間もさらに長くなる。 Further, in the consistency check for each option, a lot of information related to the option is collected and referred to. The collected information may include information (configuration information) related to the logical operation target as described above and information (hardware information) related to the physical operation target. For example, in the consistency check for the option in which the volume name of the logical volume is specified, the volume names for all created logical volumes are collected. As described above, since a large amount of configuration information and hardware information is collected in the consistency check, the processing time becomes long. If the command line includes multiple options, the amount of information collected will be even greater and the processing time will be longer.
図4,図5で例示したように、従来のCLIでは、Enterキーの押下によってコマンドラインの入力が完了しないと、整合性チェックが開始されない。このため、入力されたコマンドラインに基づく処理が開始されるまでに長い時間がかかってしまう。図4,図5の例のように複数のオプションについて誤入力があった場合には、コマンドラインに基づく処理が開始されるまでの時間はさらに長くなる。 As illustrated in FIGS. 4 and 5, in the conventional CLI, the consistency check is not started unless the input of the command line is completed by pressing the Enter key. For this reason, it takes a long time to start processing based on the input command line. When there is an erroneous input for a plurality of options as in the examples of FIGS. 4 and 5, the time until the process based on the command line is started further increases.
また、あるオプションについて誤入力と判定されたとき、それより前のオプションについては正しく入力されていても、コマンドラインが再入力された後に同じオプションについての情報収集が再度行われる。このため、オプションの誤入力があると全く同じ情報収集が繰り返されるケースが多くなり、処理内容に無駄があり、非効率であるという問題もある。 Also, when it is determined that a certain option is erroneously input, information about the same option is collected again after the command line is re-input even if the previous option is correctly input. For this reason, there are many cases where exactly the same information collection is repeated if there is an erroneous input of an option, and there is a problem that processing contents are useless and inefficient.
第2の実施の形態において、CM100,100aは、以上のような問題点を解決するための処理機能を備えている。
図6は、CMが備える処理機能の構成例を示すブロック図である。なお、これ以後の説明では、CM100について説明し、CM100aについての説明を省略する。CM100aは、CM100と同様の処理を実行可能である。
In the second embodiment, the
FIG. 6 is a block diagram illustrating a configuration example of processing functions included in the CM. In the following description, the
CM100は、管理情報記憶部110、構成情報記憶部120、ハードウェア(H/W)情報記憶部130、コマンド入力処理部140、装置情報変更処理部150およびアクセス制御部160を有する。管理情報記憶部110、構成情報記憶部120およびハードウェア情報記憶部130は、例えば、RAM102またはSSD103の記憶領域として実現される。コマンド入力処理部140、装置情報変更処理部150およびアクセス制御部160の処理は、プロセッサ101が所定のプログラムを実行することで実現される。なお、このプログラムは、例えば、SSD103に記憶される。
The
管理情報記憶部110は、コマンド名の一覧やオプション名の一覧など、コマンド入力処理部140の処理に必要な各種の管理情報を記憶する。構成情報記憶部120は、論理ボリュームやRAIDグループなどの論理的な操作対象に関する情報である構成情報を記憶する。ハードウェア情報記憶部130は、CM100に搭載された、または接続されたハードウェア要素に関する情報であるハードウェア情報を記憶する。
The management
コマンド入力処理部140は、管理端末220にCLI画面を表示させ、CLI画面に対して入力された文字列を受信する。コマンド入力処理部140は、受信した文字列を解析し、その解析結果に基づいて、管理端末220から命令された処理を判別し、その処理の実行を装置情報変更処理部150に依頼する。また、コマンド入力処理部140は、受信した文字列を解析する際、構成情報記憶部120やハードウェア情報記憶部130から収集した情報に基づいて、入力されたオプションの整合性をチェックする。
The command
装置情報変更処理部150は、コマンド入力処理部140から依頼された処理を実行する。依頼される処理は、主として、構成情報やハードウェア情報の一部を変更する処理である。
The device information
アクセス制御部160は、構成情報記憶部120およびハードウェア情報記憶部130を参照しながら、ホスト装置210からの要求に応じて論理ボリュームに対するアクセス制御を実行する。例えば、アクセス制御部160は、RAM102にキャッシュ領域を確保し、ホスト装置210から論理ボリュームに対する書き込み要求を受信すると、書き込みデータをキャッシュ領域に書き込み、ホスト装置210に応答する。アクセス制御部160は、その後の非同期のタイミングで、キャッシュ領域に書き込んだ書き込みデータを、DE200内の所定領域にライトバックする。
The
図7は、構成情報記憶部に記憶される情報の例を示す図である。構成情報記憶部120には、例えば、ボリューム管理テーブル121a,121b,121c,・・・、RAIDグループ管理テーブル122a,122b,122c,・・・、ストレージプール管理テーブル123a,123b,123c,・・・、コピーセッション管理テーブル124a,124b,124c,・・・、ホストグループ管理テーブル125a,125b,125c,・・・、ポートグループ管理テーブル126a,126b,126c,・・・が登録される。
FIG. 7 is a diagram illustrating an example of information stored in the configuration information storage unit. The configuration
ボリューム管理テーブル121a,121b,121c,・・・は、論理ボリュームごとに作成されるテーブルである。各テーブルには、例えば、論理ボリュームの名称(Friendly Name)、容量、タイプ、作成先RAIDグループ名、圧縮や暗号化等の有効・無効の情報などが登録される。 The volume management tables 121a, 121b, 121c,... Are tables created for each logical volume. In each table, for example, a logical volume name (Friendly Name), capacity, type, creation destination RAID group name, and valid / invalid information such as compression and encryption are registered.
RAIDグループ管理テーブル122a,122b,122c,・・・は、RAIDグループごとに作成されるテーブルである。RAIDグループとは、特定のRAIDレベルで書き込みが制御されるディスク群を指す。各テーブルには、RAIDグループ名、RAIDグループを構成するディスクのID、RAIDレベル、どのストレージプールに属するかを示すプール情報などが登録される。 The RAID group management tables 122a, 122b, 122c,... Are tables created for each RAID group. A RAID group refers to a group of disks whose writing is controlled at a specific RAID level. In each table, a RAID group name, an ID of a disk constituting the RAID group, a RAID level, pool information indicating which storage pool belongs, and the like are registered.
ストレージプール管理テーブル123a,123b,123c,・・・は、ストレージプールごとに作成されるテーブルである。ストレージプールとは、論理ボリュームを設定可能な物理記憶領域であり、1以上のRAIDグループによって構成される。各テーブルには、例えば、ストレージプール名、構成するRAIDグループのグループ名、使用量、未使用量、省電力設定(ECO)情報などが登録される。 The storage pool management tables 123a, 123b, 123c,... Are tables created for each storage pool. A storage pool is a physical storage area in which a logical volume can be set, and is composed of one or more RAID groups. In each table, for example, a storage pool name, a group name of a RAID group to be configured, a used amount, an unused amount, power saving setting (ECO) information, and the like are registered.
コピーセッション管理テーブル124a,124b,124c,・・・は、コピーセッションごとに作成されるテーブルである。各テーブルには、例えば、コピー元の論理ボリュームのボリューム名、コピー先の論理ボリュームのボリューム名、コピー処理の種別を示すモード情報、コピー処理の状態を示す状態情報などが登録される。 The copy session management tables 124a, 124b, 124c,... Are tables created for each copy session. In each table, for example, the volume name of the copy source logical volume, the volume name of the copy destination logical volume, mode information indicating the type of copy processing, status information indicating the status of copy processing, and the like are registered.
ホストグループ管理テーブル125a,125b,125c,・・・は、ホストグループごとに作成されるテーブルである。各テーブルには、例えば、ホストグループに属するホスト装置の識別情報、アクセス先の論理ボリュームのボリューム名、アクセスに使用される通信ポートのポート名などが登録される。 The host group management tables 125a, 125b, 125c,... Are tables created for each host group. In each table, for example, identification information of host devices belonging to a host group, a volume name of an access destination logical volume, a port name of a communication port used for access, and the like are registered.
ポートグループ管理テーブル126a,126b,126c,・・・は、ポートグループごとに作成されるテーブルである。各テーブルには、ホスト装置との通信で利用される物理ポートやネットワーク機器の識別情報、各物理ポートやネットワーク機器の状態情報などが登録される。 The port group management tables 126a, 126b, 126c,... Are tables created for each port group. In each table, physical port and network device identification information used for communication with the host device, status information of each physical port and network device, and the like are registered.
図8は、ハードウェア情報記憶部に記憶される情報の例を示す図である。ハードウェア情報記憶部130には、例えば、ディスク管理テーブル131a,131b,131c,・・・、CM管理テーブル132a,132b,132c,・・・、電源管理テーブル133a,133b,133c,・・・が登録される。
FIG. 8 is a diagram illustrating an example of information stored in the hardware information storage unit. The hardware
ディスク管理テーブル131a,131b,131c,・・・は、ストレージシステムに接続されたDEごとに作成される。各テーブルには、例えば、DEに搭載されたディスクのID、各ディスクの容量、性能、状態を示す情報が登録される。 The disk management tables 131a, 131b, 131c,... Are created for each DE connected to the storage system. In each table, for example, information indicating the ID of the disk mounted in the DE, the capacity, performance, and status of each disk is registered.
CM管理テーブル132a,132b,132c,・・・は、ストレージシステムに含まれるCMごとに作成される。各テーブルには、CMの識別情報、CMに搭載されたデバイスの識別情報、CMの状態情報、CMに電源を供給する電源ユニットの識別情報が登録される。 CM management tables 132a, 132b, 132c,... Are created for each CM included in the storage system. In each table, CM identification information, identification information of a device mounted on the CM, CM status information, and identification information of a power supply unit that supplies power to the CM are registered.
電源管理テーブル133a,133b,133c,・・・は、ストレージシステムに含まれる電源ユニットごとに作成される。各テーブルには、電源ユニットの識別情報、供給可能な電力、状態情報が登録される。 The power management tables 133a, 133b, 133c,... Are created for each power supply unit included in the storage system. In each table, power unit identification information, suppliable power, and status information are registered.
次に、図9,図10を用いて、管理情報記憶部110に記憶される情報の例について説明する。
図9は、コマンドリストの構成例を示す図である。図9に示すコマンドリスト111は、管理情報記憶部110に記憶される。
Next, an example of information stored in the management
FIG. 9 is a diagram illustrating a configuration example of a command list. A command list 111 illustrated in FIG. 9 is stored in the management
コマンドリスト111には、CM100が受け付け可能なコマンド名の一覧があらかじめ登録されている。さらに、各コマンド名には情報収集フラグが対応づけてあらかじめ登録されている。情報収集フラグは、対応するコマンド名を含むコマンドライン上のオプションの整合性をチェックするための情報収集が必要か否かを示すフラグ情報である。情報収集フラグは、情報収集が必要の場合にはオンに設定され、不要の場合にはオフに設定される。
In the command list 111, a list of command names that can be accepted by the
コマンドリスト111に登録されているすべてのコマンド名の中には、整合性チェックのための情報収集が不要なものがある。例えば、コマンド名「show status」のように、装置の総合ステータスを表示するためのコマンドの場合は、整合性チェックの必要はない。また、例えば、引数の妥当性を静的なチェックのみで実施できる場合も、整合性チェックの必要はない。このようなコマンド名の例としては、論理ボリュームに関する情報を表示させる「show volume」がある。「show volume」では、オプション名「output」に対して設定可能な引数として、テーブル形式で表示させる「table」、詳細情報を表示させる「detail」、リスト形式で表示させる「list」の中から選択的に入力される。このように、「show volume」は、あらかじめ決められた表示形式の中から選択させる機能しかないため、構成情報やハードウェア情報とは無関係であり、整合性チェックの必要性がない。 Some command names registered in the command list 111 do not require information collection for consistency check. For example, in the case of a command for displaying the overall status of a device, such as the command name “show status”, there is no need for a consistency check. Further, for example, even when the validity of an argument can be implemented only by a static check, there is no need for a consistency check. An example of such a command name is “show volume” that displays information about the logical volume. In "show volume", selectable from "table" to display in table format, "detail" to display detailed information, and "list" to display in list format as configurable arguments for option name "output" Input. As described above, “show volume” has only a function of selecting from a predetermined display format, and is thus irrelevant to configuration information and hardware information, and there is no need for a consistency check.
コマンドリスト111においてコマンド名に情報収集フラグを対応づけておくことで、整合性チェックのための情報収集が必要なコマンド名かそうでないかをコマンド入力処理部140が判別し、判別結果に応じた処理を実行できるようになる。その結果、コマンド入力処理部140の処理を効率化できる。
By associating an information collection flag with a command name in the command list 111, the command
図10は、オプションリストの構成例を示す図である。図10に示すオプションリスト112a,112b,112c,・・・は、管理情報記憶部110に記憶される。オプションリスト112a,112b,112c,・・・は、コマンドリスト111に登録されたそれぞれ個別のコマンド名に対応づけられている。したがって、オプションリストは、コマンドリスト111に登録されたコマンド名と同じ数だけ管理情報記憶部110に記憶される。
FIG. 10 is a diagram illustrating a configuration example of an option list. The option lists 112a, 112b, 112c,... Shown in FIG. 10 are stored in the management
各オプションリストには、コマンドラインにおいて対応するコマンド名に続けて記述可能なオプション名の一覧があらかじめ登録されている。さらに、各オプション名には、指定済みフラグ、必須オプションフラグ、収集対象情報、収集済みフラグおよび問い合わせフラグが対応づけられている。 In each option list, a list of option names that can be described following the corresponding command name on the command line is registered in advance. Further, each option name is associated with a specified flag, an essential option flag, collection target information, a collected flag, and an inquiry flag.
指定済みフラグは、コマンドラインにおいて該当オプションを指定済みであるか否かを示すフラグ情報である。指定済みフラグは、コマンドラインの入力開始時には未指定を示すオフに設定され、指定済みになるとオンに設定される。 The designated flag is flag information indicating whether or not the corresponding option has been designated on the command line. The designated flag is set to off indicating unspecified at the start of command line input, and is set to on when designated.
必須オプションフラグは、該当オプション名が、対応するコマンド名に続いて必ず指定されなければならない必須オプションのオプション名であるか否かを示すフラグ情報である。必須オプションフラグは、必須オプションの場合はオンに、必須オプションでない場合はオフにあらかじめ設定される。 The mandatory option flag is flag information indicating whether or not the corresponding option name is an option name of a mandatory option that must be specified following the corresponding command name. The mandatory option flag is set in advance when it is a mandatory option, and is turned off when it is not a mandatory option.
収集対象情報は、該当オプション名について整合性チェックのために収集すべき情報を示す。収集対象情報としては、構成情報記憶部120やハードウェア情報記憶部130に記憶されている情報が指定される。
The collection target information indicates information to be collected for the consistency check for the corresponding option name. As the collection target information, information stored in the configuration
例えば、論理ボリュームの作成を指示するコマンド名「create volume」では、オプション名「name」によって論理ボリュームのボリューム名(Friendly Name)が指定される。Friendly Nameが満たすべき条件としては、例えば、(1)32文字以内であること、(2)ユニークな名称であること、(3)装置内の特定のボリューム(例えばSystem Volume)と同じ名称でないこと、という条件がある。 For example, in the command name “create volume” instructing creation of the logical volume, the volume name (Friendly Name) of the logical volume is specified by the option name “name”. The conditions that the friendly name should satisfy are, for example, (1) 32 characters or less, (2) a unique name, and (3) not the same name as a specific volume (for example, System Volume) in the device. There is a condition.
これらのうち、条件(1),(3)は静的な条件であり、構成情報記憶部120やハードウェア情報記憶部130を参照せずにチェック可能である。しかし、条件(2)を満たすかチェックするためには、収集対象情報として、作成済みの他のすべての論理ボリュームのボリューム名のリスト(Volume Friendly Name List)が必要となる。具体的には、設定済みのすべてのボリューム管理テーブル121a,121b,121c,・・・からボリューム名が収集される。そして、オプション名「name」の引数として指定されたボリューム名と重複するボリューム名が登録済みか否かがチェックされる。
Among these, the conditions (1) and (3) are static conditions, and can be checked without referring to the configuration
また、コマンド名「create volume」では、オプション名「size」によって論理ボリュームのサイズが指定される。このオプション名「size」については、引数として指定されたサイズの論理ボリュームを設定可能かを判定するための収集対象情報として、空き容量リスト、定義済みボリュームの容量総和、最大プール容量が指定される。空き容量リストは、論理ボリュームを設定可能な各ストレージプールにおける空き容量のリストであり、ストレージプール管理テーブル123a,123b,123c,・・・から収集される。定義済みボリュームの容量総和は、設定可能なストレージプールに定義済みの論理ボリュームの容量の総和を示し、ボリューム管理テーブル121a,121b,121c,・・・から収集される。最大プール容量は、設定可能なストレージプールの容量の総和を示し、ストレージプール管理テーブル123a,123b,123c,・・・から収集される。 In the command name “create volume”, the size of the logical volume is specified by the option name “size”. For this option name “size”, the free capacity list, the total capacity of the defined volumes, and the maximum pool capacity are specified as collection target information for determining whether a logical volume of the size specified as an argument can be set. . The free capacity list is a list of free capacity in each storage pool to which a logical volume can be set, and is collected from the storage pool management tables 123a, 123b, 123c,. The total capacity of defined volumes indicates the total capacity of logical volumes already defined in a configurable storage pool, and is collected from the volume management tables 121a, 121b, 121c,. The maximum pool capacity indicates the total capacity of the settable storage pools, and is collected from the storage pool management tables 123a, 123b, 123c,.
収集済みフラグは、収集対象情報の項目に登録されたすべての情報について収集済みか否かを示すフラグ情報である。収集済みフラグは、コマンドラインの入力開始時には未収集を示すオフに設定され、収集済みになるとオンに設定される。 The collected flag is flag information indicating whether or not all information registered in the collection target information item has been collected. The collected flag is set to OFF indicating no collection at the start of command line input, and is set to ON when collection has been completed.
問い合わせフラグは、コマンド解析部142から情報収集部143に対して情報収集が完了したかの問い合わせを行ったか否かを示すフラグ情報である。問い合わせフラグは、コマンドラインの入力開始時には問い合わせを行っていないことを示すオフに設定され、問い合わせが行われると、該当する情報の収集が完了するまでの間、オンに設定される。該当オプション名および引数の入力が確定した段階で問い合わせフラグがオンに設定されると、このオプション名について整合性チェックのために必要な情報が優先的に収集されるようになる。
The inquiry flag is flag information indicating whether or not the
ところで、各オプションリストにおいては、オプション名が優先度の高い順に登録されている。優先度とは、コマンドラインにおいて指定される必要性の高さを示す。必ず指定されなければならないオプション名はオプションリストの上位に登録され、必ずしも指定されなくてもよいオプション名はオプションリストの下位に登録される。 By the way, in each option list, option names are registered in descending order of priority. The priority indicates the level of necessity specified on the command line. Option names that must be specified are registered at the top of the option list, and option names that do not necessarily have to be specified are registered at the bottom of the option list.
後述するように、整合性チェックのための情報収集時には、オプションリストの上位から順にオプション名が選択され、選択されたオプション名に対応する収集対象情報が収集される。これにより、指定される必要性の高いオプションほど、その整合性チェックに必要な情報が先に収集されるようになる。その結果、情報収集の待ち合わせが発生する確率が低下し、情報収集に要する時間が短縮される。 As will be described later, when collecting information for consistency check, option names are selected in order from the top of the option list, and collection target information corresponding to the selected option names is collected. As a result, the information that is necessary for the consistency check is collected earlier for the option that has a higher necessity to be specified. As a result, the probability of waiting for information collection is reduced, and the time required for information collection is shortened.
次に、コマンド入力に応じたCM100の処理の詳細について説明する。
まず、図11は、コマンド入力処理部の内部構成例を示すブロック図である。コマンド入力処理部140は、処理続行判定部141、コマンド解析部142および情報収集部143を有する。また、コマンド解析部142は、解析部142aと検証部142bを有する。
Next, details of the processing of the
First, FIG. 11 is a block diagram illustrating an internal configuration example of the command input processing unit. The command
なお、解析部142aによって、図1のコマンド受け付け部12の機能が実現される。また、情報収集部143によって、図1の情報収集部13の機能が実現される。また、検証部142bと図6の装置情報変更処理部150とによって、図1の処理実行部14の機能が実現される。
The function of the
処理続行判定部141は、ユーザによるコマンド入力状態を監視し、特定の条件を満たす状態となった場合に処理全体を中断させる。
コマンド解析部142は、入力された文字列を解析し、その結果に応じた処理を実行できるかを判定する処理ブロックである。コマンド解析部142の解析部142aは、文字が1文字入力するたびに解析処理を行い、コマンド名、オプション名、引数の入力を検知する。解析部142aは、入力されたコマンド名が確定すると、整合性チェックのための情報収集を情報収集部143に依頼する。また、解析部142aは、情報収集部143によって収集された情報を用いて整合性チェックを行う。
The processing
The
情報収集部143は、整合性チェックのために必要な情報を構成情報記憶部120やハードウェア情報記憶部130から収集する。
以下、これらの各部の処理についてフローチャートを用いて説明する。なお、以下の処理では、制御のためのフラグ情報として、コマンド名確定フラグ、オプション名確定フラグ、コマンド実行可能フラグが利用される。これらのフラグ情報は、RAM102に一時的に記憶される。
The
Hereinafter, the processing of these units will be described with reference to flowcharts. In the following processing, a command name confirmation flag, an option name confirmation flag, and a command executable flag are used as flag information for control. Such flag information is temporarily stored in the
図12は、処理続行判定部の処理例を示すフローチャートである。なお、この図12の処理は一定時間ごとに繰り返される。
[ステップS11]処理続行判定部141は、最後に文字入力が行われた時刻から一定時間が経過したかを判定する。ここでいう文字入力は、Spaceキーを押下する操作も含む。一定時間が経過した場合、ステップS13の処理が実行され、一定時間が経過していない場合、ステップS12の処理が実行される。
FIG. 12 is a flowchart illustrating a processing example of the processing continuation determination unit. Note that the process of FIG. 12 is repeated at regular intervals.
[Step S11] The processing
[ステップS12]処理続行判定部141は、文字を消去するキー入力があったか、具体的にはBack SpaceキーまたはDeleteキーが押下されたかを判定する。これらのいずれかのキー入力があった場合、ステップS13の処理が実行される。これらのどちらの入力もなかった場合、処理が終了され、一定時間後に図12の処理が再度実行される。
[Step S12] The processing
[ステップS13]処理続行判定部141は、コマンド名確定フラグをオフに設定する。
[ステップS14]処理続行判定部141は、オプション名確定フラグをオフに設定する。
[Step S13] The processing
[Step S14] The processing
[ステップS15]処理続行判定部141は、コマンド実行可能フラグをオフに設定する。
[ステップS16]処理続行判定部141は、情報収集部143によって収集された情報をクリアする。
[Step S15] The processing
[Step S16] The processing
なお、ステップS13〜S16の処理順は入れ替え可能である。
[ステップS17]処理続行判定部141は、コマンドプロンプト以後に入力された文字列を消去し、再度コマンドプロンプトを表示して、文字入力を受け付け可能な状態に復帰する。
Note that the processing order of steps S13 to S16 can be changed.
[Step S17] The processing
図13は、コマンド解析部の処理例を示すフローチャートである。
[ステップS21]コマンド解析部142の解析部142aは、キー入力を監視し、キー入力を受け付けるとステップS22の処理を実行する。ここでは、1文字の入力、Spaceキーの押下、Enterキーの押下のいずれかが検知された場合に、ステップS22の処理が実行される。
FIG. 13 is a flowchart illustrating a processing example of the command analysis unit.
[Step S21] The
[ステップS22]解析部142aは、コマンド名確定フラグがオンであるかを判定する。オンである場合、ステップS24の処理が実行され、オフである場合、ステップS23の処理が実行される。
[Step S22] The
[ステップS23]解析部142aは、入力されたコマンド名を確定するコマンド名確定処理を実行する。
[ステップS24]解析部142aは、オプション名確定フラグがオンであるかを判定する。オンである場合、ステップS26の処理が実行され、オフの場合、ステップS25の処理が実行される。
[Step S23] The
[Step S24] The
[ステップS25]解析部142aは、入力されたオプション名を確定するオプション名確定処理を実行する。
[ステップS26]コマンド解析部142は、引数として入力された値を確定し、それに応じた処理を実行する入力値確定処理を実行する。
[Step S25] The
[Step S26] The
[ステップS27]解析部142aは、コマンド実行フラグがオンであるかを判定する。オンである場合、ステップS28が実行され、オフである場合、処理が終了される。
[ステップS28]装置情報変更処理部150は、入力されたコマンドラインの内容に応じて構成情報やハードウェア情報の設定値を変更する情報変更処理を実行する。
[Step S27] The
[Step S28] The device information
図14は、コマンド名確定処理の例を示すフローチャートである。この図14の処理は、図13のステップS23の処理に対応する。
[ステップS23a]解析部142aは、入力された文字列と前方一致するコマンド名を、コマンドリスト111から検索する。ここでいう入力された文字列とは、コマンドプロンプトの後にすでに入力済みの文字列に、図13のステップS21で入力された文字を加えた文字列である。
FIG. 14 is a flowchart illustrating an example of command name determination processing. The process of FIG. 14 corresponds to the process of step S23 of FIG.
[Step S23a] The
[ステップS23b]解析部142aは、入力された文字列と前方一致するコマンド名がコマンドリスト111に存在したかを判定する。存在した場合、ステップS23dの処理が実行され、存在しなかった場合、ステップS23cの処理が実行される。
[Step S23b] The
[ステップS23c]解析部142aは、コマンドラインの入力受け付けを中断し、CLI画面において入力を受け付けていた行の次の行に、コマンド名が間違っていることを示すエラーメッセージを表示する。そして、解析部142aは、再度コマンドプロンプトを表示して、文字入力を受け付け可能な状態に復帰する。
[Step S23c] The
[ステップS23d]解析部142aは、入力された文字列と一致するコマンド名が一意に定まるかを判定する。一意に定まる、すなわち、入力された文字列と前方一致するコマンド名が1つだけ存在する場合、ステップS23fの処理が実行される。一方、一意に定まらない、すなわち、入力された文字列と前方一致するコマンド名が複数存在する場合、ステップS23eの処理が実行される。
[Step S23d] The
[ステップS23e]解析部142aは、入力済みの文字列の次に、ステップS21で入力された文字を追加表示する。
[ステップS23f]解析部142aは、コマンド名確定フラグをオンに設定する。これにより、次に1文字入力されたとき、図13のステップS25のオプション名確定処理が実行されるようになる。
[Step S23e] The
[Step S23f] The
[ステップS23g]解析部142aは、一意に定まったコマンド名、すなわち確定されたコマンド名を情報収集部143に通知して、そのコマンド名に対応する情報収集処理を開始するように依頼する。
[Step S23g] The
[ステップS23h]解析部142aは、確定されたコマンド名をCLI画面に表示する。
ここで、図15は、コマンド名の入力作業の例を示す図である。この図15を用いて、図14の処理の具体例について説明する。
[Step S23h] The
Here, FIG. 15 is a diagram illustrating an example of a command name input operation. A specific example of the processing of FIG. 14 will be described with reference to FIG.
状態2−1では、コマンドプロンプトの後に「create」と入力され、さらにスペースが入力されている。この状態から、文字「v」が入力されたとする。このとき、図14のステップS23dにおいて、入力された文字列と一致するコマンド名が一意に定まらないと判定されたとする。この場合、状態2−2に示すように、CLI画面に文字「v」が追加表示され、文字入力の受け付けが継続される。 In the state 2-1, "create" is input after the command prompt, and a space is input. Assume that the character “v” is input from this state. At this time, it is assumed in step S23d of FIG. 14 that it is determined that the command name that matches the input character string is not uniquely determined. In this case, as shown in the state 2-2, the character “v” is additionally displayed on the CLI screen, and the acceptance of the character input is continued.
次に、文字「o」が入力され、ステップS23dにおいて、入力された文字列と一致するコマンド名が「create volume」に確定されたとする。この場合、状態2−3に示すように、CLI画面に確定されたコマンド名「create volume」が表示され、オプション名の入力待ち状態となる。これにより、ユーザによるコマンド名の入力操作が補助される。 Next, it is assumed that the character “o” is input, and the command name that matches the input character string is determined as “create volume” in step S23d. In this case, as shown in state 2-3, the confirmed command name “create volume” is displayed on the CLI screen, and an input of an option name is awaited. Thereby, the input operation of the command name by the user is assisted.
また、コマンド名「create volume」全体が入力される前に、コマンド名が「create volume」に確定した段階で、「create volume」に後続するオプションについての整合性チェックのための情報収集が開始される。このように情報収集が早期に開始されることにより、コマンドに応じた処理全体が完了するまでの時間を短縮できる。 Also, when the command name is confirmed to be “create volume” before the entire command name “create volume” is entered, information collection for consistency check on the options following “create volume” is started. The Thus, by starting the information collection at an early stage, it is possible to shorten the time until the entire processing corresponding to the command is completed.
図16は、オプション名確定処理の例を示すフローチャートである。この図16の処理は、図13のステップS25の処理に対応する。
[ステップS25a]解析部142aは、Enterキーが押下されたかを判定する。押下された場合、ステップS25bの処理が実行され、他の入力操作があった場合には、ステップS25cの処理が実行される。
FIG. 16 is a flowchart illustrating an example of option name determination processing. The process of FIG. 16 corresponds to the process of step S25 of FIG.
[Step S25a] The
[ステップS25b]解析部142aは、確定されたコマンド名に対応する必須オプションがすべて入力されているかを検証するためのコマンド実行判定処理を実行する。
[ステップS25c]解析部142aは、入力された文字列と前方一致するオプション名を、オプションリスト112a,112b,112c,・・・のうち、確定されたコマンド名に対応するオプションリストから検索する。ここでいう入力された文字列とは、確定されたコマンド名またはオプションの引数の後に入力された文字列に、図13のステップS21で入力された文字を加えた文字列である。また、これ以後のステップS25d〜S25nで参照されるオプションリストは、ステップS25で検索対象とされたオプションリストである。
[Step S25b] The
[Step S25c] The
[ステップS25d]解析部142aは、入力された文字列と前方一致するオプション名がオプションリストに存在したかを判定する。存在した場合、ステップS25gの処理が実行され、存在しなかった場合、ステップS25eの処理が実行される。
[Step S25d] The
[ステップS25e]解析部142aは、コマンドラインの入力受け付けを中断し、CLI画面において入力を受け付けていた行の次の行に、オプション名が間違っていることを示すエラーメッセージを表示する。
[Step S <b> 25 e] The
[ステップS25f]解析部142aは、エラーメッセージの次の行に、オプション名の入力直前と同じコマンドラインの文字列(図13のステップS21でキー入力を受け付ける直前での文字列)を表示し、文字入力を受け付け可能な状態に復帰する。
[Step S25f] The
[ステップS25g]解析部142aは、入力された文字列と一致するオプション名が一意に定まるかを判定する。一意に定まる、すなわち、入力された文字列と前方一致するオプション名が1つだけ存在する場合、ステップS25iの処理が実行される。一方、一意に定まらない、すなわち、入力された文字列と前方一致するオプション名が複数存在する場合、ステップS25hの処理が実行される。
[Step S25g] The
[ステップS25h]解析部142aは、入力済みの文字列の次に、ステップS21で入力された文字を追加表示する。
[ステップS25i]解析部142aは、一意に定まったオプション名、すなわち確定されたオプション名が、現在のコマンドライン上で未指定のオプション名かを判定する。この処理では、オプションリストにおいて、確定されたオプション名に対応するオプション指定済みフラグがオフである場合に未指定と判定され、オンである場合に指定済みと判定される。未指定のオプション名である場合、ステップS25lの処理が実行され、指定済みのオプション名である場合、ステップS25jの処理が実行される。
[Step S25h] The
[Step S25i] The
[ステップS25j]解析部142aは、コマンドラインの入力受け付けを中断し、CLI画面において入力を受け付けていた行の次の行に、オプション名が重複して入力されていることを示すエラーメッセージを表示する。
[Step S <b> 25 j] The
[ステップS25k]解析部142aは、エラーメッセージの次の行に、オプション名の入力直前と同じコマンドラインの文字列(図13のステップS21でキー入力を受け付ける直前での文字列)を表示し、文字入力を受け付け可能な状態に復帰する。
[Step S25k] The
[ステップS25l]解析部142aは、オプション名確定フラグをオンに設定する。これにより、次に1文字入力されたとき、図13のステップS26の入力値確定処理が実行されるようになる。
[Step S251] The
[ステップS25m]解析部142aは、オプションリストに登録されたオプション名のうち、確定されたオプション名に対応する指定済みフラグをオンに設定する。
[ステップS25n]解析部142aは、確定されたオプション名をCLI画面に表示する。
[Step S25m] The
[Step S25n] The
なお、ステップS25l〜S25nの処理順は入れ替え可能である。
ここで、図17は、オプション名の入力作業の例を示す図である。この図17を用いて、図16の処理の具体例について説明する。
Note that the processing order of steps S251 to S25n can be changed.
Here, FIG. 17 is a diagram illustrating an example of an option name input operation. A specific example of the process of FIG. 16 will be described with reference to FIG.
状態3−1では、コマンド名「create volume」の後に、オプション名「name」とその引数「olun#01」が指定され、さらにその後にオプション名の入力が継続されており、文字列「na」が入力済みである。この状態から、文字「m」が入力されると、図16のステップS25gで、入力されたオプション名が「name」であると確定されたとする。この場合、オプション名「name」全体が入力される前に、入力されたオプション名が確定され、ユーザの入力操作が補助される。
In state 3-1, after the command name “create volume”, the option name “name” and its argument “
しかし、ステップS25iでは、オプション名「name」がすでに指定済みと判定され、状態3−2に示すように次の行にエラーメッセージが表示される。そして、次の行において、オプション名「name」の入力直前の状態でコマンドラインが復帰する。このように、オプション名の誤入力が自動判定されてユーザに通知されるとともに、ユーザは、誤入力されたオプション名の入力直前の状態から入力操作を再開できる。したがって、ユーザの利便性を高め、その作業効率を向上させることができる。 However, in step S25i, it is determined that the option name “name” has already been specified, and an error message is displayed on the next line as shown in state 3-2. Then, on the next line, the command line returns immediately before the input of the option name “name”. As described above, an erroneous input of an option name is automatically determined and notified to the user, and the user can resume the input operation from a state immediately before the input of the erroneously input option name. Therefore, the convenience of the user can be improved and the work efficiency can be improved.
図18,図19は、入力値確定処理の例を示すフローチャートである。この図18,図19の処理は、図13のステップS26の処理に対応する。
[ステップS26a]解析部142aは、EnterキーまたはSpaceキーが押下されたかを判定する。EnterキーまたはSpaceキーが押下された場合、ステップS26dの処理が実行され、他の入力操作があった場合には、ステップS26bの処理が実行される。
18 and 19 are flowcharts showing an example of the input value determination process. The processing in FIGS. 18 and 19 corresponds to the processing in step S26 in FIG.
[Step S26a] The
[ステップS26b]解析部142aは、入力された文字をRAM102に一時的に記録する。すでに記録されている文字がある場合、入力された文字をそれに追加して記録する。なお、一時記録される文字または文字列は、オプション名の後に入力された文字または文字列である。
[Step S <b> 26 b] The
[ステップS26c]解析部142aは、CLI画面において、入力済みの文字列の次にステップS21で入力された文字を追加表示する。これにより、図18,図19の処理が終了する。
[Step S26c] The
[ステップS26d]解析部142aは、コマンドリスト111において、確定されたコマンド名に対応する情報収集フラグがオンであるかを判定する。オンである場合、ステップS26fの処理が実行され、オフである場合、ステップS26eの処理が実行される。
[Step S26d] The
[ステップS26e]確定されたコマンド名に対応する情報収集フラグがオフである場合、このコマンド名については整合性チェックのための情報収集が不要である。このため、コマンド解析部142の検証部142bは、入力されたオプション名および引数の妥当性を、情報収集部143を使用せずにチェックする。
[Step S26e] When the information collection flag corresponding to the confirmed command name is OFF, it is not necessary to collect information for the consistency check on this command name. Therefore, the
[ステップS26f]検証部142bは、確定されたオプション名についての整合性チェックのために必要な情報が収集済みかを、情報収集部143に問い合わせる。
このとき、情報収集部143は、確定されたコマンド名に対応するオプションリストを参照し、確定されたオプション名に対応する収集済みフラグがオンかオフかを判定する。収集済みフラグがオンの場合、情報収集部143は、問い合わせ対象のオプション名について必要な情報が収集済みであることを検証部142bに通知する。一方、収集済みフラグがオフの場合、情報収集部143は、問い合わせ対象のオプション名について必要な情報が収集済みでないことを検証部142bに通知する。
[Step S26f] The
At this time, the
[ステップS26g]検証部142bは、問い合わせの結果、情報収集済みであったかを判定する。情報収集済みであった場合、ステップS26jの処理が実行され、情報収集済みでなかった場合、ステップS26hの処理が実行される。
[Step S26g] The
[ステップS26h]検証部142bは、確定されたコマンド名に対応するオプションリストにおいて、確定されたオプション名に対応する問い合わせフラグをオンに設定する。
[Step S26h] The
[ステップS26i]検証部142bは、所定時間ディレイさせた後、ステップS26fの処理を再度実行する。
[ステップS26j]検証部142bは、入力されたオプション名および引数の妥当性を、情報収集部143によって収集された情報を基にチェックする。この処理では、入力されたオプション名および引数と、収集された情報との整合性が検証される。
[Step S <b> 26 i] The
[Step S26j] The
[ステップS26k]解析部142aは、ステップS26eまたはステップS26jでの妥当性チェックの結果、入力値が妥当であったかを判定する。妥当であった場合、ステップS26oの処理が実行され、妥当でなかった場合、ステップS26lの処理が実行される。
[Step S26k] The
[ステップS26l]解析部142aは、コマンドラインの入力受け付けを中断し、CLI画面において入力を受け付けていた行の次の行に、入力されたオプション名および引数が妥当でないことを示すエラーメッセージを表示する。
[Step S261] The
[ステップS26m]解析部142aは、RAM102に一時的に記録されていた文字または文字列をクリアする。
[ステップS26n]解析部142aは、エラーメッセージの次の行に、引数の入力直前と同じコマンドラインの文字列(図13のステップS21でキー入力を受け付ける直前での文字列)を表示し、文字入力を受け付け可能な状態に復帰する。
[Step S26m] The
[Step S26n] The
なお、ステップS26l,S26mの処理順、またはステップS26m,S26nの処理順は、入れ替え可能である。ステップS26l〜S26nが実行されると、図18,図19の処理が終了する。 Note that the processing order of steps S261 and S26m or the processing order of steps S26m and S26n can be interchanged. When steps S261 to S26n are executed, the processing of FIGS.
[ステップS26o]解析部142aは、ステップS21でEnterキーが押下されたかを判定する。押下された場合、ステップS26sの処理が実行され、他の入力操作があった場合、ステップS26pの処理が実行される。
[Step S26o] The
[ステップS26p]解析部142aは、RAM102に一時的に記録されていた文字または文字列をクリアする。
[ステップS26q]ステップS26oでEnterキーが押下されていないと判定された場合、コマンドラインの入力は終了していない。このため、解析部142aは、オプション名確定フラグをオフに設定する。これにより、次に1文字入力されたとき、図13のステップS25のオプション名確定処理が再度実行されるようになる。
[Step S26p] The
[Step S26q] If it is determined in step S26o that the Enter key has not been pressed, the command line input has not ended. Therefore, the
[ステップS26r]解析部142aは、CLI画面において、入力済みの文字列の次にステップS21で入力された文字を追加表示する。
なお、ステップS26p〜S26rの処理順は入れ替え可能である。ステップS26p〜S26rの処理が実行されると、図18,図19の処理が終了する。
[Step S26r] The
Note that the processing order of steps S26p to S26r can be changed. When the processes of steps S26p to S26r are executed, the processes of FIGS.
[ステップS26s]解析部142aは、確定されたコマンド名に対応する必須オプションがすべて入力されているかを検証するためのコマンド実行判定処理を実行する。
[ステップS26t]解析部142aは、RAM102に一時的に記録されていた文字または文字列をクリアする。
[Step S26s] The
[Step S26t] The
[ステップS26u]解析部142aは、オプション名確定フラグをオフに設定する。
なお、ステップS26t,S26uの処理順は入れ替え可能である。ステップS26t,S26uの処理が実行されると、図18,図19の処理が終了する。
[Step S26u] The
The processing order of steps S26t and S26u can be switched. When the processes of steps S26t and S26u are executed, the processes of FIGS. 18 and 19 are terminated.
ここで、図20は、引数の入力作業の例を示す図である。この図20を用いて、図18,図19の処理の具体例について説明する。
状態4−1では、論理ボリュームのボリューム名を指定するオプション名「name」に続いて引数の入力が行われており、文字列「sampl」が入力済みである。この状態から、文字「e」が入力されると、引数の入力値は確定していないため、図18のステップS26b,S26cが実行され、状態4−2に示すような表示状態となる。
Here, FIG. 20 is a diagram illustrating an example of an argument input operation. A specific example of the processing of FIGS. 18 and 19 will be described with reference to FIG.
In the state 4-1, an argument is input following the option name “name” that specifies the volume name of the logical volume, and the character string “sampl” has already been input. When the character “e” is input from this state, since the input value of the argument is not fixed, steps S26b and S26c of FIG. 18 are executed, and the display state is as shown in state 4-2.
次に、Enterキーが押下されると、引数の入力値が「Sample」と確定される。このとき、ステップS26fにおいて、妥当性チェックのために必要な情報が収集済みかの問い合わせが行われる。収集済みであれば、ステップS26jにおいて妥当性チェックが行われる。例えば、すべてのボリューム管理テーブル121a,121b,121c,・・・からボリューム名が収集される。これらの情報が収集済みでない場合には、ステップS26iで一定時間待ち合わせが行われる。すべて収集済みになると、「Sample」と重複するボリューム名が登録済みかが判定され、登録済みでない場合に、図19のステップS26kで妥当と判定される。 Next, when the Enter key is pressed, the input value of the argument is confirmed as “Sample”. At this time, in step S26f, an inquiry is made as to whether information necessary for the validity check has been collected. If collected, a validity check is performed in step S26j. For example, volume names are collected from all volume management tables 121a, 121b, 121c,. If these pieces of information have not been collected, waiting is performed for a predetermined time in step S26i. When all are collected, it is determined whether a volume name that overlaps with “Sample” has been registered. If it has not been registered, it is determined to be valid in step S26k of FIG.
この後、図13のステップS28に進んで、入力されたコマンドラインの内容に応じた処理が装置情報変更処理部150によって実行される。処理が完了すると、状態4−3に示すように、新たなコマンドラインを入力可能な状態となる。
Thereafter, the process proceeds to step S28 in FIG. 13, and processing corresponding to the contents of the input command line is executed by the device information
なお、実際には、Enterキーの押下によってコマンドラインの入力終了が検知され、かつ整合性チェックが行われた後、次の図21に示すように、コマンドラインの内容に基づく処理を実行可能か否かを判定する処理が実行される。 In practice, is it possible to execute processing based on the contents of the command line as shown in FIG. 21 after the end of the command line is detected by pressing the Enter key and the consistency check is performed? Processing to determine whether or not is executed.
図21は、コマンド実行判定処理の例を示すフローチャートである。図18の処理は、図16のステップS25bおよび図19のステップS26sの処理に対応する。
[ステップS101]解析部142aは、入力されたコマンドラインにおいて、確定されたコマンド名についてのすべての必須オプションが指定されているかを判定する。具体的には、解析部142aは、確定されたコマンド名に対応するオプションリストを参照し、必須オプションフラグがオンのオプション名の中に指定済みフラグがオフのオプション名があるかを判定する。この条件に該当するオプション名がある場合に、未指定の必須オプションがあると判定される。すべての必須オプションが指定されている場合、ステップS102の処理が実行され、未指定の必須オプションがある場合、ステップS103の処理が実行される。
FIG. 21 is a flowchart illustrating an example of command execution determination processing. The process in FIG. 18 corresponds to the process in step S25b in FIG. 16 and step S26s in FIG.
[Step S101] The
[ステップS102]解析部142aは、コマンド実行フラグをオンに設定する。これにより、この後に図13のステップS27からステップS28に進み、入力されたコマンドラインに応じた処理が実行されるようになる。
[Step S102] The
[ステップS103]解析部142aは、コマンドラインの入力受け付けを中断し、CLI画面において入力を受け付けていた行の次の行に、指定しなければならないオプションが残っていることを示すエラーメッセージを表示する。
[Step S103] The
[ステップS104]解析部142aは、エラーメッセージの次の行に、入力済みのコマンドラインの文字列を再表示するとともに、その末尾にSpaceを追加表示して、文字入力を受け付け可能な状態に復帰する。
[Step S104] The
以上の図21の処理によれば、ユーザによりコマンドラインを確定する操作が行われたとき、確定されたコマンド名に続けて指定が必須なオプションがすべて指定されているかがチェックされる。そして、未指定のオプションがある場合には、ユーザは、入力済みの内容に続けてさらにオプションを指定可能になる。これにより、ユーザの誤入力が防止されるとともに、ユーザはコマンドラインの先頭から再入力する必要がなくなる。したがって、ユーザの利便性を高め、その作業効率を向上させることができる。 According to the processing in FIG. 21 described above, when an operation for confirming the command line is performed by the user, it is checked whether all the options that must be designated are designated following the confirmed command name. When there are unspecified options, the user can specify further options following the input contents. This prevents erroneous user input and eliminates the need for the user to input again from the beginning of the command line. Therefore, the convenience of the user can be improved and the work efficiency can be improved.
図22は、情報収集部の処理例を示すフローチャートである。情報収集部143は、図14のステップS23gで解析部142aから情報収集処理を開始するように依頼されると、図22の処理を実行する。
FIG. 22 is a flowchart illustrating a processing example of the information collection unit. When the
[ステップS31]情報収集部143は、オプションリスト112a,112b,112c,・・・の中から、解析部142aから通知されたコマンド名に対応するオプションリストを検索する。以下、検索されたオプションリストを用いて処理が行われる。
[Step S31] The
[ステップS32]情報収集部143は、オプションリストに、問い合わせフラグがオンのオプション名があるかを判定する。問い合わせフラグがオンのオプション名が1つでもある場合には、ステップS34の処理が実行され、問い合わせフラグがオンのオプション名が1つもない場合には、ステップS33の処理が実行される。
[Step S32] The
[ステップS33]情報収集部143は、オプションリストから、問い合わせフラグがオフのオプション名のうち、先頭のオプション名を処理対象として選択する。
[ステップS34]情報収集部143は、オプションリストから、問い合わせフラグがオンのオプション名のうち、先頭のオプション名を処理対象として選択する。
[Step S33] The
[Step S34] The
[ステップS35]情報収集部143は、オプションリストから、選択されたオプション名に対応する収集対象情報を読み込む。情報収集部143は、読み込んだ情報に基づいて、構成情報記憶部120やハードウェア情報記憶部130から、整合性チェックのために必要な情報を収集する。情報収集部143は、収集した情報をRAM102に一時的に保存する。
[Step S35] The
[ステップS36]情報収集部143は、オプションリストにおいて、選択されたオプション名に対応する収集済みフラグをオンに設定する。また、選択されたオプション名に対応する問い合わせフラグがオンである場合には、情報収集部143は、その問い合わせフラグをオフに設定する。
[Step S36] The
[ステップS37]情報収集部143は、オプションリストに、収集済みフラグがオフのオプション名があるかを判定する。収集済みフラグがオフのオプション名が1つでもある場合、ステップS32の処理が再度実行される。収集済みフラグがオフのオプション名が1つもない場合、処理が終了する。
[Step S37] The
以上の図22の処理によれば、情報収集処理が依頼されたとき、オプションリストの先頭から順にオプション名が選択され、選択されたオプション名に対応する情報が収集される。オプションリストにおいては、指定される必要性に応じた優先度が高い順にオプション名が登録されているので、上記処理より先に指定される可能性の高いオプション名に対応する情報が優先的に収集される。したがって、オプション名と引数の入力が確定したときに、その整合性チェックのために必要な情報の収集が完了している可能性が高くなる。その結果、コマンドラインに応じた処理が完了するまでの時間を短縮できる。 According to the processing of FIG. 22 described above, when an information collection process is requested, option names are selected in order from the top of the option list, and information corresponding to the selected option name is collected. In the option list, option names are registered in descending order of priority according to the need to be specified, so information corresponding to option names that are likely to be specified prior to the above processing is preferentially collected. Is done. Therefore, when the input of the option name and the argument is confirmed, there is a high possibility that the information necessary for the consistency check has been collected. As a result, it is possible to shorten the time until the processing corresponding to the command line is completed.
また、問い合わせフラグがオンのオプション名は、オフのオプション名より優先的に選択され、対応する情報の収集が実行される。問い合わせフラグは、入力が確定したオプション名および引数の整合性チェックを必要な情報収集が完了するまで待ち合わせる際に、オンに設定される。このため、問い合わせフラグがオンに設定されることで、事前にオプション名に付与されていた優先度に関係なく、すぐに情報収集が必要なオプション名を優先的に選択し、対応する情報収集を早期に実行できるようになる。これにより、整合性チェックが実行可能になるまでの待ち合わせ時間を短縮でき、その結果、コマンドラインに応じた処理が完了するまでの時間を短縮できる。 An option name with the inquiry flag on is selected with priority over an off option name, and the corresponding information is collected. The inquiry flag is set to ON when waiting for the completion of collecting necessary information for the consistency check of the option name and argument whose input is confirmed. For this reason, when the inquiry flag is set to ON, the option name that needs to be collected immediately is preferentially selected regardless of the priority assigned to the option name in advance, and the corresponding information is collected. It can be executed early. Thereby, the waiting time until the consistency check can be executed can be shortened, and as a result, the time until the processing corresponding to the command line is completed can be shortened.
ここで、図23は、コマンドラインの入力作業の例を示す図である。
状態5−1では、コマンド名「create volume」の入力が確定され、オプション名の入力待ち状態となっている。この時点で、情報収集部143は、コマンド名「create volume」に対応するオプションリストに基づいて、整合性チェックのための情報収集を開始する。この情報収集は、図14のステップS23gでの依頼に応じて開始される。
Here, FIG. 23 is a diagram illustrating an example of a command line input operation.
In the state 5-1, the input of the command name “create volume” is confirmed, and the input of the option name is awaited. At this point, the
情報収集部143による情報収集処理(図22)は、コマンド解析部142による以下の処理と並列に実行される。また、情報収集部143は、オプション名ごとに収集された情報をRAM102に一時的に保存しておく(図22のステップS35)。
Information collection processing (FIG. 22) by the
この後、状態5−2に示すように、論理ボリュームのボリューム名を指定するオプション名「name」と、文字列「sample」が入力され、Spaceキーの押下により引数「sample」が確定されたとする。コマンド解析部142の検証部142bは、オプション名「name」について情報収集部143によって収集された情報を用いて、オプション名「name」および引数「sample」の整合性チェックを行う(図18のステップS26g)。
After this, as shown in state 5-2, it is assumed that the option name “name” for specifying the volume name of the logical volume and the character string “sample” are input, and the argument “sample” is confirmed by pressing the Space key. . The
ここで、引数「sample」が他の論理ボリュームのボリューム名と重複しており、妥当でないと判定されたとする。このとき、状態5−3に示すようにエラーメッセージが表示されるとともに、コマンド名「create volume」の次からのオプション名の入力待ち状態となる。 Here, it is assumed that the argument “sample” overlaps with the volume name of another logical volume and is determined to be invalid. At this time, an error message is displayed as shown in a state 5-3, and an input of an option name after the command name “create volume” is awaited.
次に、状態5−4に示すように、同じオプション名「name」が再度入力され、さらに引数「sample#0」が入力されたとする。ここで、情報収集部143によってオプション名「name」について収集された情報は、RAM102に保存されたままである。このため、検証部142bは、保持されている情報を再度利用して、オプション名「name」および引数「sample#0」の整合性チェックを行うことができる。
Next, it is assumed that the same option name “name” is input again and an argument “
このように、情報収集部143は、入力されたコマンド名が確定すると、コマンドライン全体の入力し直しが行われるまでの間に、そのコマンド名に対応する各オプション名について、整合性チェックのための情報収集を1回ずつ実行し、収集した情報を保存しておく。そして、コマンド解析部142は、オプション名と引数の誤入力が行われ、同じオプション名についての入力が繰り返された場合でも、保存された情報を再利用して整合性チェックを実行する。このように、同じオプション名についての入力が繰り返された場合でも、そのオプション名についての情報収集が繰り返されることがないので、情報収集処理が効率化される。その結果、コマンド入力処理部140の処理負荷を軽減できる。また、オプション名ごとの整合性チェックの開始タイミングを早めることもでき、それによってコマンドラインに応じた処理が完了するまでの時間を短縮できる。
As described above, when the input command name is determined, the
図24は、情報変更処理の例を示すフローチャートである。この図24の処理は、図13のステップS28の処理に対応する。
[ステップS28a]解析部142aは、入力されたコマンドラインの内容を装置情報変更処理部150に通知し、その内容に応じた情報変更処理を依頼する。装置情報変更処理部150は、通知された内容に基づいて、構成情報記憶部120やハードウェア情報記憶部130の設定内容を変更する。
FIG. 24 is a flowchart illustrating an example of the information change process. The process in FIG. 24 corresponds to the process in step S28 in FIG.
[Step S28a] The
[ステップS28b]解析部142aは、コマンド実行可能フラグ、コマンド名確定フラグ、オプション名確定フラグを、すべてオンに設定する。
[ステップS28c]解析部142aは、情報収集部143によって収集された情報をクリアする。
[Step S28b] The
[Step S28c] The
[ステップS28d]解析部142aは、CLI画面において、入力されたコマンドラインの次の行に再度コマンドプロンプトを表示して、文字入力を受け付け可能な状態に復帰する。
[Step S28d] The
なお、上記の各実施の形態に示した装置(情報処理装置10およびCM100,100a)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
Note that the processing functions of the devices (the
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。 The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.
10 情報処理装置
11 記憶部
11a コマンドリスト
11b 制御情報リスト
12 コマンド受け付け部
13 情報収集部
14 処理実行部
21〜24 画面
DESCRIPTION OF
Claims (9)
前記情報処理装置が受け付け可能な複数のコマンド名と、前記情報処理装置の処理に利用される複数の制御情報とを記憶する記憶部と、
文字入力を受け付け、1文字入力されるたびに、前記複数のコマンド名の中から入力された文字列と一致する一のコマンド名を確定できるかを判定するコマンド受け付け部と、
前記一のコマンド名が確定されると、前記複数の制御情報の中から、前記一のコマンド名に応じた処理の実行可否を検証するための検証用情報の収集を開始する情報収集部と、
収集された前記検証用情報に基づいて前記実行可否を検証し、実行可能と判定すると前記一のコマンド名に応じた処理を実行する処理実行部と、
を有する情報処理装置。 In an information processing apparatus that executes processing according to a command,
A storage unit that stores a plurality of command names that can be received by the information processing apparatus and a plurality of control information used for processing of the information processing apparatus;
A command accepting unit that accepts character input and determines whether one command name that matches a character string input from the plurality of command names can be determined each time one character is input;
When the one command name is determined, an information collection unit that starts collecting information for verification for verifying whether or not the process according to the one command name can be executed from among the plurality of control information;
A process execution unit that verifies the execution possibility based on the collected information for verification, and executes a process according to the one command name when it is determined to be executable;
An information processing apparatus.
請求項1記載の情報処理装置。 The process execution unit verifies the execution availability by verifying the consistency between the option information input following the command name and the verification information.
The information processing apparatus according to claim 1.
請求項1記載の情報処理装置。 The process execution unit is input every time option information is input following the one command name until input of a command statement including the one command name and one or more option information is completed. Verifying the execution possibility by verifying the consistency between the option information and the verification information,
The information processing apparatus according to claim 1.
前記記憶部は、前記複数のコマンド名のそれぞれに対応する複数のオプションリストをさらに記憶し、前記複数のオプションリストのそれぞれには、対応するコマンドとともに入力可能な1以上のオプション名のそれぞれに対応づけて、前記複数の制御情報のうち前記検証用情報として収集すべき制御情報の種別が登録され、
前記情報収集部は、前記複数のオプションリストのうち前記一のコマンド名に対応するオプションリストに登録された種別の制御情報を、前記複数の制御情報の中から前記検証用情報として収集する、
請求項3記載の情報処理装置。 The option information included in the statement includes an option name and an argument,
The storage unit further stores a plurality of option lists corresponding to each of the plurality of command names, and each of the plurality of option lists corresponds to one or more option names that can be input together with the corresponding command. Then, the type of control information to be collected as the verification information among the plurality of control information is registered,
The information collecting unit collects control information of a type registered in an option list corresponding to the one command name among the plurality of option lists as the verification information from the plurality of control information;
The information processing apparatus according to claim 3.
前記情報収集部は、前記一のコマンド名に対応するオプションリストに登録された種別の制御情報のうち、優先度の高いオプション名に対応づけられた種別の制御情報を優先的に収集する、
請求項4記載の情報処理装置。 Each of the plurality of option lists has a priority added to one or more option names that can be input following the corresponding command.
The information collection unit preferentially collects the type of control information associated with the option name having a higher priority among the types of control information registered in the option list corresponding to the one command name;
The information processing apparatus according to claim 4.
前記コマンド受け付け部は、入力された一のオプション名および前記一のオプション名に対応する第1の引数について、前記検証用情報と整合しないと判定した場合には、入力された文字列の表示状態を前記一のオプション名および前記第1の引数が入力される直前の状態に戻し、
前記処理実行部は、前記コマンド受け付け部が前記直前の状態から前記一のオプション名および前記一のオプション名に対応する第2の引数の入力を受け付けたとき、前記記憶部に保存された前記検証用情報を用いて、前記一のオプション名および前記第2の引数の整合性を検証する、
請求項4または5記載の情報処理装置。 The information collection unit stores the collected verification information in the storage unit,
When the command receiving unit determines that the input option name and the first argument corresponding to the one option name do not match the verification information, the display state of the input character string To the state immediately before the one option name and the first argument are input,
The processing execution unit, when the command receiving unit receives the input of the one option name and the second argument corresponding to the one option name from the immediately preceding state, the verification stored in the storage unit Verifying the consistency of the one option name and the second argument using the business information,
The information processing apparatus according to claim 4 or 5.
前記複数の制御情報は、前記ストレージシステムの構成をそれぞれ示す複数の構成情報を含む、
請求項1乃至5のいずれか1項に記載の情報処理装置。 The information processing apparatus is a storage control apparatus that controls a storage system;
The plurality of control information includes a plurality of pieces of configuration information each indicating a configuration of the storage system.
The information processing apparatus according to any one of claims 1 to 5.
文字入力を受け付け、1文字入力されるたびに、前記コンピュータが受け付け可能な複数のコマンド名の中から、入力された文字列と一致する一のコマンド名を確定できるかを判定し、
前記一のコマンド名が確定されると、前記コンピュータの記憶部に記憶され、前記コンピュータの処理に利用される複数の制御情報の中から、前記一のコマンド名に応じた処理の実行可否を検証するための検証用情報の収集を開始し、
収集された前記検証用情報に基づいて前記実行可否を検証し、
実行可能と判定すると、前記一のコマンド名に応じた処理を実行する、
情報処理方法。 Computer
Each time a character is input, it is determined whether one command name that matches the input character string can be determined from a plurality of command names that can be received by the computer,
When the one command name is determined, it is stored in the storage unit of the computer and verified whether the process corresponding to the one command name can be executed from among a plurality of control information used for the processing of the computer To collect information for verification,
Verifying the execution based on the collected information for verification,
If it is determined that it can be executed, a process corresponding to the one command name is executed.
Information processing method.
文字入力を受け付け、1文字入力されるたびに、前記コンピュータが受け付け可能な複数のコマンド名の中から、入力された文字列と一致する一のコマンド名を確定できるかを判定し、
前記一のコマンド名が確定されると、前記コンピュータの記憶部に記憶され、前記コンピュータの処理に利用される複数の制御情報の中から、前記一のコマンド名に応じた処理の実行可否を検証するための検証用情報の収集を開始し、
収集された前記検証用情報に基づいて前記実行可否を検証し、
実行可能と判定すると、前記一のコマンド名に応じた処理を実行する、
処理を実行させる情報処理プログラム。 On the computer,
Each time a character is input, it is determined whether one command name that matches the input character string can be determined from a plurality of command names that can be received by the computer,
When the one command name is determined, it is stored in the storage unit of the computer and verified whether the process corresponding to the one command name can be executed from among a plurality of control information used for the processing of the computer To collect information for verification,
Verifying the execution based on the collected information for verification,
If it is determined that it can be executed, a process corresponding to the one command name is executed.
An information processing program for executing processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016039766A JP6558275B2 (en) | 2016-03-02 | 2016-03-02 | Information processing apparatus, information processing method, and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016039766A JP6558275B2 (en) | 2016-03-02 | 2016-03-02 | Information processing apparatus, information processing method, and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017156995A JP2017156995A (en) | 2017-09-07 |
JP6558275B2 true JP6558275B2 (en) | 2019-08-14 |
Family
ID=59809839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016039766A Expired - Fee Related JP6558275B2 (en) | 2016-03-02 | 2016-03-02 | Information processing apparatus, information processing method, and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6558275B2 (en) |
-
2016
- 2016-03-02 JP JP2016039766A patent/JP6558275B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2017156995A (en) | 2017-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5202884B2 (en) | Method and apparatus for migrating data between storage volumes | |
US7730071B2 (en) | Data management system and data management method | |
US7469289B2 (en) | Storage system having virtualized resource | |
US7237063B2 (en) | Volume providing system and method | |
US8566282B2 (en) | Creating a buffer point-in-time copy relationship for a point-in-time copy function executed to create a point-in-time copy relationship | |
US8271612B2 (en) | On-demand virtual storage capacity | |
TWI738739B (en) | Hard disk data erasing method, server and system | |
EP1708078A1 (en) | Data relocation method | |
WO2013072978A1 (en) | Computer, virtual machine deployment method, and program | |
US20070038748A1 (en) | Storage control method and storage control system | |
EP2397947A1 (en) | Computer for specifying event generation origins in a computer system including a plurality of node devices | |
JP6861886B2 (en) | Systems and methods for customized operating system conversion | |
WO2012163029A1 (en) | Reboot recovery method and device | |
US20220214945A1 (en) | System Booting Method and Apparatus, Node Device, and Computer-Readable Storage Medium | |
US20110088029A1 (en) | Server image capacity optimization | |
JP2010020701A (en) | Device and method for managing access between devices | |
US7191275B2 (en) | System and method for the management of hardware triggered hotplug operations of input/output cards | |
WO2012081058A1 (en) | Storage subsystem and its logical unit processing method | |
JP6744547B2 (en) | Update control device and update control program | |
JP6558275B2 (en) | Information processing apparatus, information processing method, and information processing program | |
US9626117B2 (en) | Computer system and management method for computer system | |
JP2002358170A (en) | Disk storage device, computer system equipped with the same device and error notification method at retry processing in the same system | |
JP5574993B2 (en) | Control computer, information processing system, control method, and program | |
US7797499B2 (en) | Apparatus, system, and method for uninterrupted storage configuration | |
US8117405B2 (en) | Storage control method for managing access environment enabling host to access data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190610 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190618 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190701 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6558275 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |