JP4984409B2 - Script generation program and batch execution system - Google Patents
Script generation program and batch execution system Download PDFInfo
- Publication number
- JP4984409B2 JP4984409B2 JP2005077950A JP2005077950A JP4984409B2 JP 4984409 B2 JP4984409 B2 JP 4984409B2 JP 2005077950 A JP2005077950 A JP 2005077950A JP 2005077950 A JP2005077950 A JP 2005077950A JP 4984409 B2 JP4984409 B2 JP 4984409B2
- Authority
- JP
- Japan
- Prior art keywords
- batch
- script
- language
- module
- processing
- 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
Images
Landscapes
- Stored Programmes (AREA)
Description
この発明は、バッチスクリプト動的に生成するスクリプト生成プログラムおよびバッチ実行システムに関し、特に、利用可能なバッチシステムとスクリプト言語の組み合わせが異なるサーバ向けにバッチスクリプトを動的に生成することができ、新たなバッチシステムとスクリプト言語への対応を容易におこなうことができるスクリプト生成プログラムおよびバッチ実行システムに関するものである。 The present invention relates to a script generation program and a batch execution system for dynamically generating a batch script, and in particular, a batch script can be dynamically generated for servers having different combinations of available batch systems and script languages. The present invention relates to a script generation program and a batch execution system that can easily cope with various batch systems and script languages.
近年、グリッドコンピューティングと呼ばれる情報処理方式が注目されている。グリッドコンピューティングとは、複数のコンピュータをネットワークで結合して大規模な仮想コンピュータを形成し、仮想コンピュータを形成するコンピュータ間で負荷分散をおこなって資源の有効活用を図る方式のことである。 In recent years, an information processing method called grid computing has attracted attention. Grid computing is a system in which a plurality of computers are connected via a network to form a large-scale virtual computer, and load is distributed among the computers forming the virtual computer to effectively use resources.
ここで、グリッドコンピューティング環境においてバッチ処理を実行する場合を考える。グリッドコンピューティング環境においてバッチ処理を実行する場合、仮想コンピュータを構成する各コンピュータの環境が問題となる。 Here, consider a case where batch processing is executed in a grid computing environment. When batch processing is executed in a grid computing environment, the environment of each computer constituting the virtual computer becomes a problem.
コンピュータに大量のバッチ処理を実行させる場合、バッチのキュー管理などをおこなうバッチシステムと呼ばれるシステムを利用するのが一般的であるが、このバッチシステムには様々な種類が存在し、それぞれのバッチシステムは、特有のバッチスクリプトの書式を定めている。また、バッチスクリプトを記述するスクリプト言語にも複数の種類が存在し、それぞれシンタックスが異なっている。 When a large amount of batch processing is executed by a computer, it is common to use a system called a batch system that performs batch queue management, but there are various types of batch systems. Defines a specific batch script format. There are also several types of script languages for describing batch scripts, each with a different syntax.
仮想コンピュータを構成する全てのコンピュータにおいて同一のバッチシステムとスクリプト言語を利用することができれば問題ないが、実際のグリッドコンピューティング環境は、既存のコンピュータを活用した異種混合環境であることが多く、バッチシステムとスクリプト言語を共通化することが難しい場合がある。 There is no problem if the same batch system and scripting language can be used on all the computers that make up the virtual computer, but the actual grid computing environment is often a heterogeneous environment that uses existing computers. It may be difficult to standardize the system and script language.
バッチシステムとスクリプト言語を共通化することなく仮想コンピュータにバッチスクリプトを実行させるには、バッチスクリプトの実行を割当てられたコンピュータに合わせて、バッチスクリプトを動的に生成する仕組みを仮想コンピュータ内に設ければよい。 In order to make a virtual computer execute a batch script without sharing the script language with the batch system, a mechanism for dynamically generating the batch script according to the computer to which the execution of the batch script is assigned is provided in the virtual computer. Just do it.
実行環境に合わせてバッチスクリプトを生成する技術は、たとえば、特許文献1において開示されている。この技術をもちいれば、バッチスクリプトともに指定されたキーワードに対応した開始文と終了文をバッチスクリプトに付加することにより、目的のバッチシステムに応じた書式のバッチスクリプトを生成することができる。
A technique for generating a batch script in accordance with the execution environment is disclosed in
しかしながら、特許文献1において開示されている技術は、バッチスクリプトを記述するスクリプト言語が複数存在する場合には適応することができない。バッチシステム固有の記述内容には、記述するスクリプト言語に依存するものがあり、固定された開始文と終了文を単純に付加するだけでは対応が困難である。
However, the technique disclosed in
全てのバッチシステムとスクリプト言語の組み合わせに対応した開始文と終了文を用意して対応することも考えられるが、新たなバッチシステムやスクリプト言語への対応が必要になるたびに、それに応じた開始文と終了文を用意することが必要になるため、メンテナンスの工数が非常に大きくなる。 It may be possible to prepare and respond to start and end statements corresponding to all combinations of batch systems and script languages, but each time a new batch system or script language needs to be supported, start according to it. Since it is necessary to prepare a sentence and an end sentence, the man-hours for maintenance become very large.
この発明は、上述した従来技術による問題点を解消するためになされたものであり、利用可能なバッチシステムとスクリプト言語の組み合わせが異なるサーバ向けにバッチスクリプトを動的に生成することができ、新たなバッチシステムとスクリプト言語への対応を容易におこなうことができるスクリプト生成プログラムおよびバッチ実行システムを提供することを目的とする。 The present invention has been made to solve the above-described problems caused by the prior art. A batch script can be dynamically generated for servers having different combinations of available batch systems and script languages. An object of the present invention is to provide a script generation program and a batch execution system that can easily cope with various batch systems and script languages.
上述した課題を解決し、目的を達成するため、本発明は、処理すべき内容と、スクリプトを実行するバッチシステムの種別と、スクリプトを記述するスクリプト言語の種別とを指定され、前記バッチシステムにおいて実行可能であり、前記スクリプト言語で記述され、前記内容を処理するスクリプトを生成するスクリプト生成プログラムであって、バッチシステムごとに用意されたバッチモジュール群の中から、指定されたバッチシステムに対応したバッチモジュールを選択するバッチモジュール選択手順と、スクリプト言語ごとに用意された言語モジュール群の中から、指定されたスクリプト言語に対応した言語モジュールを選択する言語モジュール選択手順と、前記バッチモジュール選択手順が選択したモジュールと、前記言語モジュール選択手順が選択したモジュールとを組み合わせ、前記内容を処理するスクリプトを生成するスクリプト生成手順とをコンピュータに実行させることを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention specifies the content to be processed, the type of the batch system that executes the script, and the type of the script language that describes the script. A script generation program that is executable and is described in the script language and generates a script for processing the content, and corresponds to a specified batch system from a batch module group prepared for each batch system. A batch module selection procedure for selecting a batch module, a language module selection procedure for selecting a language module corresponding to a specified script language from a group of language modules prepared for each script language, and the batch module selection procedure. The selected module and the language module Combining a selection procedure selects modules, characterized in that to execute a script generation step of generating a script to handle the content on the computer.
この発明によれば、バッチシステムに依存するスクリプトの生成ルールを処理するバッチモジュールと、スクリプト言語に依存するスクリプトの生成ルールを処理する言語モジュールとを組み合わせてスクリプトの生成をおこなうように構成したので、実行環境に適合したバッチスクリプトを動的に生成することができる。 According to the present invention, the script is generated by combining the batch module for processing the script generation rule depending on the batch system and the language module for processing the script generation rule depending on the script language. A batch script suitable for the execution environment can be generated dynamically.
また、バッチモジュールはバッチシステムごとに用意され、言語モジュールはスクリプト言語ごとに用意されるので、新たなバッチシステムやスクリプト言語に対応する必要が生じた場合もそのバッチシステムやスクリプト言語に対応したモジュールを追加するだけで対応することできる。 In addition, batch modules are prepared for each batch system, and language modules are prepared for each script language. Therefore, if a new batch system or script language needs to be supported, the module corresponding to the batch system or script language is used. You can respond by simply adding.
また、本発明は、上記の発明において、前記バッチモジュール群に含まれるバッチモジュールは、処理を呼び出すための共通のインターフェースを備えることを特徴とする。 In the present invention, the batch module included in the batch module group includes a common interface for invoking processing.
この発明によれば、バッチモジュールが共通のインターフェースを備えるように構成したので、新たなバッチモジュールを追加する必要が生じた場合に実装しなければならない処理が明確化され、実装を効率的におこなうことができる。 According to the present invention, since the batch modules are configured to have a common interface, the processing that must be implemented when a new batch module needs to be added is clarified and the implementation is efficiently performed. be able to.
また、本発明は、上記の発明において、前記言語モジュール群に含まれる言語モジュールは、処理を呼び出すための共通のインターフェースを備えることを特徴とする。 In the present invention, the language module included in the language module group includes a common interface for invoking processing.
この発明によれば、言語モジュールが共通のインターフェースを備えるように構成したので、新たな言語モジュールを追加する必要が生じた場合に実装しなければならない処理が明確化され、実装を効率的におこなうことができる。 According to the present invention, since the language modules are configured to have a common interface, the processing that must be implemented when a new language module needs to be added is clarified, and the implementation is performed efficiently. be able to.
また、本発明は、上記の発明において、前記バッチモジュールは、対応するバッチシステムに当該スクリプトを投入するためのコマンドを出力する投入コマンド出力手順を含んだことを特徴とする。 Further, the present invention is characterized in that, in the above invention, the batch module includes a submission command output procedure for outputting a command for inputting the script to a corresponding batch system.
この発明によれば、スクリプトを投入するためのコマンドをバッチモジュールが生成するように構成したので、スクリプト投入手段がバッチシステムの仕様の違いを意識せずにスクリプトを投入することができる。 According to the present invention, since the batch module generates a command for inputting a script, the script input unit can input the script without being aware of the difference in the specifications of the batch system.
また、本発明は、上記の発明において、前記バッチモジュールは、対応するバッチシステムが備える機能を利用するためのパラメータを出力するバッチ依存前処理出力手順を含んだことを特徴とする。 Further, the present invention is characterized in that, in the above-mentioned invention, the batch module includes a batch-dependent pre-processing output procedure for outputting a parameter for using a function of a corresponding batch system.
また、本発明は、上記の発明において、前記言語モジュールは、対応するスクリプト言語に特有な前処理を出力する言語依存前処理出力手順を含んだことを特徴とする。 In the present invention, the language module includes a language-dependent preprocessing output procedure for outputting preprocessing specific to the corresponding script language.
また、本発明は、上記の発明において、前記言語モジュールは、対応するスクリプト言語に特有な後処理を出力する言語依存後処理出力手順を含んだことを特徴とする。 In the present invention, the language module includes a language-dependent post-processing output procedure for outputting post-processing specific to the corresponding script language.
また、本発明は、上記の発明において、前記バッチモジュールは、対応するバッチシステムに不足する機能を前記言語モジュールの機能を呼び出すことによりスクリプト言語で表現して出力することを特徴とする。 Also, the present invention is characterized in that, in the above-mentioned invention, the batch module expresses and outputs a function lacking in a corresponding batch system in a script language by calling a function of the language module.
これらの発明によれば、スクリプトの構造を汎用化した各部位ごとにスクリプトを生成するように構成したので、スクリプトを生成するモジュールの処理を細分化された形で整理することができ、実装を効率的におこなうことができる。 According to these inventions, since the script is generated for each part where the structure of the script is generalized, the processing of the module for generating the script can be organized in a subdivided form, Can be done efficiently.
また、本発明は、上記の発明において、前記バッチモジュールは、対応するバッチシステムに不足する機能をファイルへ書き出し、前記言語モジュールは、前記バッチモジュールがファイルに書き出した内容を読取り、その内容をスクリプト言語で表現して出力することを特徴とする。 Further, the present invention is the above invention, wherein the batch module writes out a function lacking in the corresponding batch system to a file, the language module reads out the content written in the file by the batch module, and writes the content into a script. It is expressed in language and output.
この発明によれば、スクリプトを生成するモジュール間の呼び出しをおこなわずに、ファイルを介して情報をやりとりするように構成したので、モジュール間の切片が明確化され、不具合発生時に不具合箇所の切り分けを容易におこなうことができる。 According to the present invention, since the configuration is such that information is exchanged via a file without calling between the modules that generate the script, the intercept between the modules is clarified, and the fault location is identified when a fault occurs. It can be done easily.
また、本発明は、何らかのバッチシステムを稼動させ、何らかのスクリプト言語を利用可能な複数のサーバ装置と、バッチ処理を前記サーバ装置に割り振って投入するジョブ投入装置とを備えたバッチ実行システムにおいて、前記ジョブ投入装置は、実行を指示されたジョブを割り振るサーバ装置を選択するサーバ選択手段と、バッチシステムごとに用意されたバッチモジュール群の中から、前記サーバ選択手段により選択されたサーバ装置で稼動するバッチシステムに対応したバッチモジュールを選択するバッチモジュール選択手順と、スクリプト言語ごとに用意された言語モジュール群の中から、前記サーバ選択手段により選択されたサーバ装置で利用可能なスクリプト言語に対応した言語モジュールを選択する言語モジュール選択手順と、前記バッチモジュール選択手順が選択したモジュールと、前記言語モジュール選択手順が選択したモジュールとを組み合わせ、前記ジョブを処理するスクリプトを生成するスクリプト生成手順とを備えたことを特徴とする。 Further, the present invention provides a batch execution system comprising a plurality of server devices that can operate any batch system and use any script language, and a job input device that allocates and submits batch processing to the server devices. The job input device is operated by a server selection unit that selects a server device to which a job instructed to be executed is allocated and a server device selected by the server selection unit from among a batch module group prepared for each batch system. Batch module selection procedure for selecting a batch module corresponding to the batch system, and a language corresponding to the script language that can be used in the server device selected by the server selection means from among the language module group prepared for each script language Language module selection procedure for selecting modules , A module for the batch module selection procedure selects, combines and the language module module selection procedure has selected, characterized by comprising a script generation step of generating a script to handle the job.
この発明によれば、動作環境に適応したスクリプトを動的に生成できるように構成したので、動作環境が異なるサーバ装置が混在する場合であっても、バッチ処理の振り分けを実現することができる。 According to the present invention, since the script adapted to the operation environment can be dynamically generated, even when server apparatuses having different operation environments coexist, batch processing can be distributed.
本発明によれば、バッチシステムに依存するスクリプトの生成ルールを処理するバッチモジュールと、スクリプト言語に依存するスクリプトの生成ルールを処理する言語モジュールとを組み合わせてスクリプトの生成をおこなうように構成したので、実行環境に適合したバッチスクリプトを動的に生成することができるという効果を奏する。 According to the present invention, a script is generated by combining a batch module that processes a script generation rule that depends on the batch system and a language module that processes a script generation rule that depends on the script language. As a result, a batch script suitable for the execution environment can be dynamically generated.
また、バッチモジュールはバッチシステムごとに用意され、言語モジュールはスクリプト言語ごとに用意されるので、新たなバッチシステムやスクリプト言語に対応する必要が生じた場合もそのバッチシステムやスクリプト言語に対応したモジュールを追加するだけで対応することできるという効果を奏する。 In addition, batch modules are prepared for each batch system, and language modules are prepared for each script language. Therefore, if a new batch system or script language needs to be supported, the module corresponding to the batch system or script language is used. There is an effect that it is possible to cope by simply adding.
また、本発明によれば、バッチモジュールが共通のインターフェースを備えるように構成したので、新たなバッチモジュールを追加する必要が生じた場合に実装しなければならない処理が明確化され、実装を効率的におこなうことができるという効果を奏する。 Also, according to the present invention, since the batch modules are configured to have a common interface, the processing that must be implemented when a new batch module needs to be added is clarified, and the implementation is efficient. There is an effect that can be performed.
また、本発明によれば、言語モジュールが共通のインターフェースを備えるように構成したので、新たな言語モジュールを追加する必要が生じた場合に実装しなければならない処理が明確化され、実装を効率的におこなうことができるという効果を奏する。 Further, according to the present invention, since the language modules are configured to have a common interface, the processing that must be implemented when a new language module needs to be added is clarified, and the implementation is efficient. There is an effect that can be performed.
また、本発明によれば、スクリプトを投入するためのコマンドをバッチモジュールが生成するように構成したので、スクリプト投入手段がバッチシステムの仕様の違いを意識せずにスクリプトを投入することができるという効果を奏する。 Further, according to the present invention, since the batch module generates a command for inputting a script, the script input unit can input a script without being aware of the difference in the specifications of the batch system. There is an effect.
また、本発明によれば、スクリプトの構造を汎用化した各部位ごとにスクリプトを生成するように構成したので、スクリプトを生成するモジュールの処理を細分化された形で整理することができ、実装を効率的におこなうことができるという効果を奏する。 In addition, according to the present invention, since the script is generated for each part where the structure of the script is generalized, the processing of the module for generating the script can be organized in a subdivided form and implemented. The effect is that it can be performed efficiently.
また、本発明によれば、スクリプトを生成するモジュール間の呼び出しをおこなわずに、ファイルを介して情報をやりとりするように構成したので、モジュール間の切片が明確化され、不具合発生時に不具合箇所の切り分けを容易におこなうことができるという効果を奏する。 In addition, according to the present invention, since the configuration is such that information is exchanged via a file without calling between modules that generate a script, the intercept between modules is clarified, and the location of the failure is detected when a failure occurs. There is an effect that the carving can be easily performed.
また、本発明によれば、動作環境に適応したスクリプトを動的に生成できるように構成したので、動作環境が異なるサーバ装置が混在する場合であっても、バッチ処理の振り分けを実現することができるという効果を奏する。 In addition, according to the present invention, since the script adapted to the operating environment can be dynamically generated, even when server apparatuses having different operating environments are mixed, batch processing can be distributed. There is an effect that can be done.
以下に添付図面を参照して、この発明に係るスクリプト生成プログラムおよびバッチ実行システムの好適な実施の形態を詳細に説明する。 Exemplary embodiments of a script generation program and a batch execution system according to the present invention will be explained below in detail with reference to the accompanying drawings.
まず、本実施例に係るバッチ実行システムの構成について説明する。図1は、本実施例に係るバッチ実行システムの構成を示すブロック図である。同図に示すように、バッチ実行システム1000は、ジョブの実行を依頼するオペレータ端末101〜107とネットワーク等によって接続された構成をとる。なお、図示したオペレータ端末の数は、一例であり、この数の通りである必要はない。
First, the configuration of the batch execution system according to the present embodiment will be described. FIG. 1 is a block diagram illustrating a configuration of a batch execution system according to the present embodiment. As shown in the figure, the
バッチ実行システム1000は、フロントエンドとして機能するジョブ投入装置200と、実際にジョブを実行する装置であるサーバ310〜340とを有し、これらをネットワーク等で接続した仮想コンピュータとして機能する。なお、図示したサーバの数は、一例であり、この数の通りである必要はない。
The
ジョブ投入装置200は、オペレータ端末101〜107からジョブを受け付け、負荷状況等を考慮してこのジョブを実行するサーバを選択し、そのサーバに対応したバッチスクリプトを生成して投入する装置であり、ジョブ受付部210と、ジョブキュー管理部220と、サーバ選定部230と、スクリプト生成部240と、スクリプト投入部250とを有する。
The
ジョブ受付部210は、オペレータ端末101〜107からジョブの実行依頼を受け付ける処理部である。ジョブキュー管理部220は、ジョブ受付部210が受け付けたジョブをキューに格納し、状態を管理する処理部である。サーバ選定部230は、サーバ310〜340の負荷状況を監視し、キューに格納された未処理のジョブに割当てるサーバを選定する処理部である。
The
スクリプト生成部240、サーバ選定部230が選定したサーバのバッチシステムとスクリプト言語に応じたバッチスクリプトを生成する処理部である。スクリプト投入部250は、スクリプト生成部240が生成したバッチスクリプトを、サーバ選定部230が選定したサーバに投入する処理部である。
The
サーバ310〜340は、バッチスクリプトを実行する装置であり、それぞれ、異なるバッチシステムとスクリプト言語とを備える。たとえば、サーバ310は、バッチシステムAをもちいてsh(標準シェル)で記述されたバッチスクリプトを実行する。また、サーバ20は、バッチシステムBをもちいてperlで記述されたバッチスクリプトを実行する。
The
なお、ここでは説明の便宜上、一つのサーバが一つのスクリプト言語を備えるものとしているが、ひとつのサーバが複数のスクリプト言語を備えていてもよい。また、すべてのサーバが異なるバッチシステムとスクリプト言語を備えるように図示しているが、バッチシステムとスクリプト言語の一方もしくは両方が同一のサーバが存在していてもよい。 Here, for convenience of explanation, one server is provided with one script language, but one server may be provided with a plurality of script languages. Further, although all the servers are illustrated as having different batch systems and script languages, there may be servers in which one or both of the batch systems and the script languages are the same.
次に、バッチ実行システム1000の特徴部分であるスクリプト生成部240の構成について説明する。スクリプト生成部240の実体は、スクリプト生成プログラム400であり、このスクリプト生成プログラム400は、ジョブ投入装置200もしくは他のコンピュータの記憶装置に記憶され、ジョブ投入装置200のプロセッサによってジョブ投入装置200のメモリ上に展開されて実行される。
Next, the configuration of the
スクリプト生成プログラム400は、ジョブ投入装置200が受け付けたジョブ定義データと、バッチスクリプトの生成対象のバッチシステム名と、スクリプト言語名とを入力として受け取り、生成したバッチスクリプトと、このバッチスクリプトを実行するためのコマンドファイルとを出力する。
The script generation program 400 receives as input the job definition data received by the
図2は、スクリプト生成プログラム400の構成を示すブロック図である。同図に示すように、スクリプト生成プログラム400は、バッチドライバ選択部410と、バッチドライバテーブル420と、バッチドライバ430と、言語ドライバ選択部440と、言語ドライバテーブル450と、言語ドライバ460と、スクリプト生成部470とを有する。 FIG. 2 is a block diagram illustrating a configuration of the script generation program 400. As shown in the figure, the script generation program 400 includes a batch driver selection unit 410, a batch driver table 420, a batch driver 430, a language driver selection unit 440, a language driver table 450, a language driver 460, a script. A generation unit 470.
バッチドライバ選択部410は、バッチドライバテーブル420を参照し、入力として受け取ったバッチシステム名に対応するバッチドライバモジュールを選択する処理部である。バッチドライバテーブル420は、バッチシステムの名称と、そのバッチシステムに対応したバッチスクリプトを生成するためのバッチドライバモジュールとの対応表である。 The batch driver selection unit 410 is a processing unit that refers to the batch driver table 420 and selects a batch driver module corresponding to the batch system name received as input. The batch driver table 420 is a correspondence table between names of batch systems and batch driver modules for generating batch scripts corresponding to the batch systems.
バッチドライバ430は、特定のバッチシステムに対応したバッチスクリプトを生成するためのバッチドライバモジュールの集合体であり、各バッチドライバモジュールは、共通のインターフェースを有し、同様の手順で操作することが可能になっている。 The batch driver 430 is a collection of batch driver modules for generating a batch script corresponding to a specific batch system, and each batch driver module has a common interface and can be operated in the same procedure. It has become.
言語ドライバ選択部440は、言語ドライバテーブル450を参照し、入力として受け取ったスクリプト言語名に対応する言語ドライバモジュールを選択する処理部である。言語ドライバテーブル450は、スクリプト言語の名称と、そのスクリプト言語に対応したバッチスクリプトを生成するための言語ドライバモジュールとの対応表である。 The language driver selection unit 440 is a processing unit that refers to the language driver table 450 and selects a language driver module corresponding to the script language name received as input. The language driver table 450 is a correspondence table between script language names and language driver modules for generating a batch script corresponding to the script language.
言語ドライバ460は、特定のスクリプト言語に対応したバッチスクリプトを生成するための言語ドライバモジュールの集合体であり、各言語ドライバモジュールは、共通のインターフェースを有し、同様の手順で操作することが可能になっている。 The language driver 460 is a collection of language driver modules for generating a batch script corresponding to a specific script language, and each language driver module has a common interface and can be operated in the same procedure. It has become.
スクリプト生成部470は、バッチドライバ選択部410が選択したバッチドライバモジュールと、言語ドライバ選択部440が選択した言語ドライバモジュールとを組み合わせて制御し、バッチスクリプトを生成させる処理部である。 The script generation unit 470 is a processing unit that generates a batch script by controlling the batch driver module selected by the batch driver selection unit 410 and the language driver module selected by the language driver selection unit 440 in combination.
本実施例に係るスクリプト生成プログラム400は、このように、バッチシステムごとに用意されたバッチドライバモジュールと、スクリプト言語ごとに用意された言語ドライバモジュールとを組み合わせてバッチスクリプトの生成をおこなう。このように、バッチシステムに依存したモジュールと、スクリプト言語に依存したモジュールとを分離することにより、対応するバッチシステムやスクリプト言語が増えた場合でも、それに対応したモジュールを追加するだけで適応することが可能になる。 As described above, the script generation program 400 according to the present embodiment generates a batch script by combining the batch driver module prepared for each batch system and the language driver module prepared for each script language. In this way, by separating the modules that depend on the batch system and the modules that depend on the script language, even if the number of corresponding batch systems and script languages increases, it is possible to adapt by simply adding the corresponding module. Is possible.
バッチドライバモジュールと言語ドライバモジュールの詳細について説明する前に、バッチスクリプトとジョブ定義データのフォーマットについて説明しておく。図3は、本実施例に係るスクリプト生成プログラム400が生成するバッチスクリプトのフォーマットを示すサンプル図である。 Before describing the details of the batch driver module and language driver module, the format of the batch script and job definition data will be described. FIG. 3 is a sample diagram illustrating a format of a batch script generated by the script generation program 400 according to the present embodiment.
同図に示すように、スクリプト生成プログラム400が生成するバッチスクリプトは、起動指示と、バッチ依存前処理と、言語依存前処理と、バッチ言語依存前処理と、本文と、バッチ言語依存後処理と、言語依存後処理とからなる。このフォーマットは、全てのバッチシステムおよびスクリプト言語に対応できるようになっている。 As shown in the figure, the batch script generated by the script generation program 400 includes a start instruction, batch-dependent preprocessing, language-dependent preprocessing, batch language-dependent preprocessing, body text, and batch language-dependent postprocessing. It consists of language-dependent post-processing. This format is compatible with all batch systems and scripting languages.
起動指示は、当該のバッチスクリプトを実行するスクリプト言語を指定する部分である。図3の例では、「#!/bin/sh」が設定されており、この記述は、このバッチスクリプトをshで実行することを指定している。起動指示の記述は、生成対象のスクリプト言語に依存する。 The activation instruction is a part for designating a script language for executing the batch script. In the example of FIG. 3, “#! / Bin / sh” is set, and this description specifies that this batch script is executed by sh. The description of the start instruction depends on the script language to be generated.
バッチ依存前処理は、バッチシステム特有の前処理をパラメータ指定の形で記述する部分である。バッチシステムは、処理に必要なファイルを転送する機能や、異常が発生した場合にメールを送信して通知する機能などをもっており、それらのバッチシステム特有の機能に必要なパラメータをここに記述する。図3の例では、「#$」という文字列で始まるコメントがバッチシステム固有の機能のためのパラメータに相当し、ここでは、転送が必要な入出力ファイル名と異常通知用のメールアドレスとを指定している。バッチ依存前処理の記述は、生成対象のバッチシステムに依存する。 The batch-dependent preprocessing is a part in which preprocessing specific to the batch system is described in a parameter specification form. The batch system has a function of transferring a file necessary for processing, a function of sending an e-mail when an abnormality occurs, and the like, and parameters necessary for functions specific to the batch system are described here. In the example of FIG. 3, a comment starting with the character string “# $” corresponds to a parameter for a function specific to the batch system. Here, an input / output file name that needs to be transferred and an email address for notification of an abnormality It is specified. The description of batch-dependent preprocessing depends on the batch system to be generated.
言語依存前処理は、スクリプト言語固有の前処理を記述する部分である。スクリプト言語によっては、他の処理を実行する前におこなっておくべき定型的な処理がある場合があり、そのような処理をここに記述する。また、ここには、翻訳して生成した本文を実行するために必要となる関数や変数を定義することもできる。図3の例では、特定の割込み信号を無視して処理を実行するための処理が記述されている。言語依存前処理の記述は、生成対象のスクリプト言語に依存する。 The language-dependent preprocessing is a part describing preprocessing specific to the script language. Depending on the script language, there may be routine processing that should be performed before other processing is executed, and such processing is described here. In addition, functions and variables necessary for executing the translated text can be defined here. In the example of FIG. 3, a process for executing a process while ignoring a specific interrupt signal is described. The description of the language-dependent preprocessing depends on the script language to be generated.
バッチ言語依存前処理は、バッチシステム固有の前処理をスクリプト言語をもちいて記述する部分である。バッチシステムは、それぞれ動作が異なる部分があり、その動作の違いを吸収するための処理をここに記述する。具体的には、一般的なバッチシステムの動作を標準動作と想定し、生成対象のバッチシステムに不足している動作をここに記述する。 The batch language-dependent preprocessing is a part in which preprocessing unique to the batch system is described using a script language. Each batch system has a part in which the operation is different, and a process for absorbing the difference in the operation is described here. Specifically, the operation of a general batch system is assumed to be a standard operation, and the operation that is lacking in the batch system to be generated is described here.
たとえば、あるバッチシステムでは、バッチスクリプトの実行時に自動的に作業ディレクトリに移動するが、別のバッチシステムではバッチスクリプトに作業ディレクトリに移動する処理を記述する必要がある。また、あるバッチシステムでは、処理に必要なファイルが自動的に転送されるが、あるバッチシステムでは、バッチスクリプトにファイルを移動する処理を記述する必要がある。図3の例では、作業ディレクトリに移動する処理をスクリプト言語を用いて記述している。バッチ言語依存前処理の内容は、生成対象のバッチシステムに依存し、その処理内容の表現形式はスクリプト言語に依存する。 For example, one batch system automatically moves to a working directory when a batch script is executed, while another batch system needs to describe a process for moving to a working directory in a batch script. In some batch systems, files necessary for processing are automatically transferred. In some batch systems, it is necessary to describe processing for moving files in a batch script. In the example of FIG. 3, the process of moving to the working directory is described using a script language. The content of the batch language dependent pre-processing depends on the batch system to be generated, and the expression format of the processing content depends on the script language.
本文は、バッチの目的とする処理を記述する部分である。具体的には、バッチ定義データの本文を生成対象のスクリプト言語に翻訳した結果をここに記述する。本文の記述は、生成対象のスクリプト言語に依存する。 The text is the part that describes the target process of the batch. Specifically, the result of translating the text of the batch definition data into the script language to be generated is described here. The description of the text depends on the script language to be generated.
バッチ言語依存後処理は、バッチシステム特有の後処理をスクリプト言語をもちいて記述する部分である。バッチ言語依存前処理と同様に、一般的なバッチシステムの動作を標準動作と想定し、生成対象のバッチシステムに不足している動作をここに記述する。図3の例では、処理結果を示す文字列を環境変数に設定する処理をスクリプト言語を用いて記述している。バッチ言語依存後処理の内容は、生成対象のバッチシステムに依存し、その処理内容の表現形式はスクリプト言語に依存する。 The batch language dependent post-processing is a part in which post-processing specific to the batch system is described using a script language. As with batch language-dependent preprocessing, the operation of a general batch system is assumed to be a standard operation, and the operation that is lacking in the batch system to be generated is described here. In the example of FIG. 3, a process for setting a character string indicating a processing result in an environment variable is described using a script language. The content of the batch language dependent post-processing depends on the batch system to be generated, and the expression format of the processing content depends on the script language.
言語依存後処理は、スクリプト言語固有の後処理を記述する部分である。スクリプト言語によっては、他の処理を実行した後におこなっておくべき定型的な処理がある場合があり、そのような処理をここに記述する。図3の例では、割込み信号を再び受け付けるための処理が記述されている。言語依存前処理の記述は、生成対象のスクリプト言語に依存する。 The language-dependent post-processing is a part describing post-processing specific to the script language. Depending on the script language, there may be routine processing that should be performed after executing other processing, and such processing is described here. In the example of FIG. 3, a process for receiving an interrupt signal again is described. The description of the language-dependent preprocessing depends on the script language to be generated.
図4は、本実施例に係るジョブ投入装置200が受け付けるジョブ定義データの一例を示すサンプル図である。同図に示すように、ジョブ投入装置200が受け付けるジョブ定義データは、属性と、本文とからなる。
FIG. 4 is a sample diagram illustrating an example of job definition data received by the
属性は、バッチシステムが備えている機能を利用するためのパラメータを一般化したものを記述する部分である。既に説明したように、多くのバッチシステムは、処理に必要なファイルを転送する機能や、異常が発生した場合にメールを送信して通知する機能などをもっており、それらの機能を利用するために必要な情報をここに記述する。 The attribute is a part that describes a generalized parameter for using the function of the batch system. As already explained, many batch systems have a function to transfer files necessary for processing and a function to send and notify when an error occurs, which is necessary to use these functions. This information is described here.
生成対象のバッチシステムが、ここに指定したパラメータに対応する機能をもっていない場合は、生成するバッチスクリプトのバッチ言語依存前処理もしくはバッチ言語依存後処理にその機能を補うための処理が記述される。たとえば、図4の例では、処理に必要な入力ファイルが属性として記述されているが、生成対象のバッチシステムがファイルを転送する機能をもっていない場合は、バッチ言語依存前処理にこれらのファイルを転送する処理が記述される。 If the batch system to be generated does not have a function corresponding to the parameter specified here, a process for supplementing the function is described in the batch language dependent pre-processing or batch language dependent post-processing of the generated batch script. For example, in the example of FIG. 4, the input files required for processing are described as attributes, but if the batch system to be generated does not have a function to transfer files, these files are transferred to batch language dependent preprocessing. The processing to be performed is described.
属性には、バッチスクリプトの生成対象のバッチシステムとスクリプト言語のいずれか一方、もしくは、両方を明示的に指定することもできる。この指定があった場合、サーバ選択部230は、指定された条件が満たされるように考慮してサーバの選択をおこなう。
In the attribute, either or both of the batch system and the script language for generating the batch script can be explicitly specified. When this designation is made, the
本文は、当該のジョブで実行したい処理を記述する部分である。この部分は、複数のスクリプト言語に翻訳されるため、必要最小限の機能を備えたスクリプト言語で記述される。本文を記述するスクリプト言語は、既存のスクリプト言語の文法に準拠したものであってもよいし、全く新規のスクリプト言語であってもよい。 The main text describes the processing to be executed by the job. Since this part is translated into a plurality of script languages, it is described in a script language having a minimum necessary function. The script language describing the text may be based on the grammar of an existing script language or may be a completely new script language.
なお、ここでは、属性と本文とが一体となって提供される例を示したが、これらは、別々に提供されても構わない。 Here, an example is shown in which the attribute and the text are provided together, but these may be provided separately.
次に、バッチドライバ430を構成するバッチドライバモジュールの構成について説明する。図5は、バッチドライバモジュールの構成を示すブロック図である。同図に示すように、バッチドライバモジュール431は、バッチ依存前処理出力部431aと、バッチ言語依存前処理出力部431bと、バッチ言語依存後処理出力部431cと、投入コマンド出力部431dとを有する。
Next, the configuration of the batch driver module constituting the batch driver 430 will be described. FIG. 5 is a block diagram showing the configuration of the batch driver module. As shown in the figure, the
バッチドライバモジュール431は、バッチシステムごとに一つずつ存在するが、全て同様の構成を有しており、同一のインターフェースをもちいて処理を呼び出すことができるようになっている。
There is one
バッチ依存前処理出力部431aは、ジョブ定義データに記述された属性データを入力として受け取り、当該のバッチシステムでパラメータとして利用可能な属性データを抜粋して整形し、バッチスクリプトのバッチ依存前処理に相当する文字列を出力する処理部である。 The batch-dependent preprocessing output unit 431a receives the attribute data described in the job definition data as input, extracts and formats the attribute data that can be used as a parameter in the batch system, and performs batch-dependent preprocessing on the batch script. A processing unit that outputs a corresponding character string.
バッチ言語依存前処理出力部431bは、ジョブ定義データに記述された属性データを入力として受け取り、言語ドライバモジュールの言語翻訳部461dの機能を呼び出して、バッチスクリプトのバッチ言語依存前処理に必要な記述を出力する処理部である。バッチ言語依存後処理出力部431cは、ジョブ定義データに記述された属性データを入力として受け取り、言語ドライバモジュールの言語翻訳部461dの機能を呼び出して、バッチスクリプトのバッチ言語依存後処理に必要な記述を出力する処理部である。
The batch language dependent
なお、バッチドライバモジュール431は、オブジェクト指向技術に基づいたオブジェクトとして構成することもできる。その場合、テンプレート機能やインターフェース機能をもちいてインターフェースを雛型化し、さらに、継承の仕組みを有効に利用することで開発効率を向上させることができる。
Note that the
投入コマンド出力部431dは、生成されたバッチスクリプトをバッチシステムに投入するためのコマンドを出力する処理部である。バッチスクリプトの投入コマンドは、バッチシステムごとに異なっているが、投入コマンド出力部431dが投入コマンドを生成することにより、スクリプト投入部250は、バッチシステムの違いを意識せずにバッチスクリプトを投入することができる。投入コマンド出力部431dは、バッチスクリプトの投入のために定義ファイルが必要であれば、その生成もおこなう。
The input
次に、言語ドライバ460を構成する言語ドライバモジュールの構成について説明する。図6は、言語ドライバモジュールの構成を示すブロック図である。同図に示すように、言語ドライバモジュール461は、起動指示出力部461aと、言語依存前処理出力部436bと、言語依存後処理出力部461cと、言語翻訳部461dとを有する。
Next, the configuration of the language driver module constituting the language driver 460 will be described. FIG. 6 is a block diagram showing the configuration of the language driver module. As shown in the figure, the
言語ドライバモジュール461は、スクリプト言語ごとに一つずつ存在するが、全て同様の構成を有しており、同一のインターフェースをもちいて処理を呼び出すことができるようになっている。
There is one
起動指示出力部461aは、バッチスクリプトの起動指示に相当する文字列を出力する処理部である。言語依存前処理出力部461bは、バッチスクリプトの言語依存前処理に必要な記述を出力する処理部である。言語依存後処理出力部461cは、バッチスクリプトのバッチ言語依存後処理に必要な記述を出力する処理部である。
The activation
言語翻訳部461dは、ジョブ定義データに記述された属性情報を基に、バッチシステムに特有の前処理や後処理を生成対象のスクリプト言語で表現するために、バッチ言語依存前処理出力部431bとバッチ言語依存後処理出力部431cから利用される。翻訳処理の内容は、主に、文字列の変換と制御構造の変換である。
Based on the attribute information described in the job definition data, the
バッチスクリプトを記述するためのスクリプト言語は、それぞれ文字列の記述形式が異なる。たとえば、あるスクリプト言語では、ダブルクォーテーションで囲まれた字句が文字列となり、別のスクリプト言語では、シングルクォーテーションで囲まれた字句が文字列となる。スクリプト言語によっては、制御句以外は全て文字列として扱われる。 Each script language for describing a batch script has a different character string description format. For example, in one script language, a lexical character enclosed by double quotations is a character string, and in another script language, a lexical character enclosed by single quotations is a character string. Depending on the script language, everything except the control phrase is treated as a character string.
また、文字列中のバックスラッシュのような文字が特殊な意味をもつ場合があり、その効果を打ち消すために別の文字を追加する、いわゆる、エスケープと呼ばれる処理が必要になる場合もある。言語翻訳部461dは、このような文字列の記述形式の違いを出力に反映させる。
In addition, a character such as a backslash in a character string may have a special meaning, and a so-called escape process for adding another character may be necessary to cancel the effect. The
また、バッチスクリプトを記述するためのスクリプト言語は、それぞれ制御構造が異なる。たとえば、条件分岐や反復などの書式はスクリプト言語ごとに異なるので、スクリプト言語の言語仕様に合わせた変換をおこなう。 In addition, the script languages for describing batch scripts have different control structures. For example, the format such as conditional branching and repetition differs for each script language, so conversion is performed according to the language specification of the script language.
ところで、バッチドライバモジュールのバッチ言語依存前処理出力部431bとバッチ言語依存後処理出力部431cの実装は、必ずしも正しい記述がなされているとは限らない。実装が誤っていた場合に、サーバでバッチファイルを実行する段階ではなく、言語翻訳部461dが翻訳をおこなう段階で発見できることが望ましい。
By the way, the implementation of the batch language dependent
言語翻訳部461dが本文の文法ミス等を発見できるようにするには、言語翻訳部461dに強力な構文検査の機能をもたせてもよいし、オブジェクト指向技術を利用して処理過程に応じた文字列クラスを定義し、不正な文字列クラスの文字列がバッチスクリプトに出力されないように検査することとしてもよい。
In order to enable the
後者の方式の場合、たとえば、以下のような処理をおこなうことで本文の誤りを発見することが可能になる。まず、「未翻訳の文字列」、「翻訳過程の文字列」、「翻訳が完了した文字列」という3つの文字列クラスを定義し、ジョブ定義データに記述された本文を構文解析した構文木の各要素を「未翻訳の文字列」に型変換する。そして、構文木の葉の部分から翻訳を進め、翻訳が完了した部分は「翻訳が完了した文字列」に型変換し、翻訳途中の部分は「翻訳過程の文字列」に型変換する。こうして全ての翻訳が完了したときに「翻訳が完了した文字列」以外の型が残っていれば、本文に誤りがあったことになる。 In the case of the latter method, for example, it is possible to find an error in the text by performing the following processing. First, we define three string classes, “untranslated string”, “translation process string”, and “translated string”, and parse the body text described in the job definition data. Each element of is converted to "untranslated string". Then, the translation is advanced from the leaf part of the syntax tree, and the part where the translation is completed is type-converted to “character string after translation”, and the part in the middle of translation is type-converted to “character string in translation process”. Thus, if all types other than “translated character string” remain when all the translations are completed, there is an error in the text.
なお、言語ドライバモジュール461は、オブジェクト指向技術に基づいたオブジェクトとして構成することもできる。その場合、テンプレート機能やインターフェース機能をもちいてインターフェースを雛型化し、さらに、継承の仕組みを有効に利用することで開発効率を向上させることができる。
The
次に、スクリプト生成プログラム400の処理手順について説明する。図7は、スクリプト生成プログラム400の処理手順を示すフローチャートである。同図に示すように、まず、バッチドライバ選択部410が、指定されたバッチシステムファイル名に対応するバッチドライバモジュールをバッチドライバテーブル420から選択する(ステップS101)。続いて、言語ドライバ選択部440が、指定されたスクリプト言語名に対応する言語ドライバモジュールを言語ドライバテーブル450から選択する(ステップS102)。 Next, the processing procedure of the script generation program 400 will be described. FIG. 7 is a flowchart showing a processing procedure of the script generation program 400. As shown in the figure, first, the batch driver selection unit 410 selects a batch driver module corresponding to the designated batch system file name from the batch driver table 420 (step S101). Subsequently, the language driver selection unit 440 selects a language driver module corresponding to the designated script language name from the language driver table 450 (step S102).
バッチドライバモジュール431と言語ドライバモジュール461が選択されたならば、まず、言語ドライバモジュール461の起動指示出力部461aがバッチスクリプトに起動指示を出力する(ステップS103)。続いて、バッチドライバモジュール431のバッチ依存前処理出力部431aがバッチ依存前処理を出力し(ステップS104)、言語ドライバモジュール461の言語依存前処理出力部461bが言語依存前処理を出力する(ステップS105)。
If the
そして、バッチドライバモジュール431のバッチ言語依存前処理出力部431bが、言語翻訳部461dを呼び出してバッチ言語依存前処理を出力し(ステップS106)、言語ドライバモジュール461の言語翻訳部461dが本文を翻訳して出力する(ステップS107)。そして、バッチドライバモジュール431のバッチ言語依存後処理出力部431cが、言語翻訳部461dを呼び出してバッチ言語依存後処理を出力し(ステップS108)、言語ドライバモジュール461の言語依存後処理出力部461dが言語依存後処理を出力してバッチスクリプトの出力が完了する(ステップS109)。
Then, the batch language dependent
バッチスクリプトの出力が完了したならば、投入コマンド出力部がバッチスクリプトを実行するためのバッチ投入コマンドをコマンドファイルに出力して一連の処理は完了する(ステップS110)。 When the output of the batch script is completed, the input command output unit outputs a batch input command for executing the batch script to the command file, and the series of processing is completed (step S110).
なお、上記の説明ではバッチスクリプトを生成する過程において、バッチドライバモジュール431が言語ドライバモジュール461の機能を呼び出すこととしたが、中間ファイルを利用して情報を引き継ぐ構成としてもよい。
In the above description, in the process of generating the batch script, the
具体的には、バッチドライバモジュール431が、バッチスクリプトのバッチ言語依存前処理とバッチ言語依存後処理に出力すべき内容を何らかの言語で記述した中間ファイルを生成し、言語ドライバモジュール461が中間ファイルを読んでそこに記述された内容を生成対象のスクリプト言語に翻訳して出力する構成となる。
Specifically, the
このようにモジュール間の呼び出し関係をなくすことにより、モジュール間の切片が明確になり、不具合が発生した場合に、原因がどちらのモジュールにあるのかを容易に判別できるようになる。なお、中間ファイルに出力するスクリプトは、ジョブ定義データの本文と同じスクリプト言語で記述するものとしてもよいし、他のスクリプト言語で記述するものとしてもよい。 By eliminating the calling relationship between the modules in this way, the section between the modules becomes clear, and when a malfunction occurs, it is possible to easily determine which module is the cause. Note that the script output to the intermediate file may be described in the same script language as the body of the job definition data, or may be described in another script language.
上述してきたように、本実施例では、バッチシステムに依存するスクリプトの生成ルールを処理するバッチドライバモジュールと、スクリプト言語に依存するスクリプトの生成ルールを処理する言語ドライバモジュールとを組み合わせてスクリプトの生成をおこなうように構成したので、実行環境に適合したバッチスクリプトを動的に生成することができる。 As described above, in this embodiment, a script is generated by combining a batch driver module that processes a script generation rule that depends on a batch system and a language driver module that processes a script generation rule that depends on a script language. Therefore, it is possible to dynamically generate a batch script suitable for the execution environment.
また、バッチドライバモジュールはバッチシステムごとに用意され、言語ドライバモジュールはスクリプト言語ごとに用意されるので、新たなバッチシステムやスクリプト言語に対応する必要が生じた場合もそのバッチシステムやスクリプト言語に対応したモジュールを追加するだけで対応することできる。 In addition, batch driver modules are prepared for each batch system, and language driver modules are prepared for each script language, so even if it becomes necessary to support a new batch system or script language, the batch system or script language is also supported. Just add the modules you have added.
(付記1)処理すべき内容と、スクリプトを実行するバッチシステムの種別と、スクリプトを記述するスクリプト言語の種別とを指定され、前記バッチシステムにおいて実行可能であり、前記スクリプト言語で記述され、前記内容を処理するスクリプトを生成するスクリプト生成プログラムであって、
バッチシステムごとに用意されたバッチモジュール群の中から、指定されたバッチシステムに対応したバッチモジュールを選択するバッチモジュール選択手順と、
スクリプト言語ごとに用意された言語モジュール群の中から、指定されたスクリプト言語に対応した言語モジュールを選択する言語モジュール選択手順と、
前記バッチモジュール選択手順が選択したモジュールと、前記言語モジュール選択手順が選択したモジュールとを組み合わせ、前記内容を処理するスクリプトを生成するスクリプト生成手順と
をコンピュータに実行させることを特徴とするスクリプト生成プログラム。
(Supplementary Note 1) A content to be processed, a type of a batch system that executes a script, and a type of a script language that describes a script are designated, can be executed in the batch system, are described in the script language, A script generation program that generates a script for processing content,
A batch module selection procedure for selecting a batch module corresponding to the specified batch system from the batch module group prepared for each batch system;
A language module selection procedure for selecting a language module corresponding to a specified script language from a group of language modules prepared for each script language;
A script generation program that combines a module selected by the batch module selection procedure and a module selected by the language module selection procedure, and causes the computer to execute a script generation procedure for generating a script that processes the contents .
(付記2)前記バッチモジュール群に含まれるバッチモジュールは、処理を呼び出すための共通のインターフェースを備えることを特徴とする付記1に記載のスクリプト生成プログラム。
(Supplementary note 2) The script generation program according to
(付記3)前記言語モジュール群に含まれる言語モジュールは、処理を呼び出すための共通のインターフェースを備えることを特徴とする付記1または2に記載のスクリプト生成プログラム。
(Supplementary note 3) The script generation program according to
(付記4)前記バッチモジュールは、対応するバッチシステムに当該スクリプトを投入するためのコマンドを出力する投入コマンド出力手順を含んだことを特徴とする付記1に記載のスクリプト生成プログラム。
(Supplementary note 4) The script generation program according to
(付記5)前記バッチモジュールは、対応するバッチシステムが備える機能を利用するためのパラメータを出力するバッチ依存前処理出力手順を含んだことを特徴とする付記1に記載のスクリプト生成プログラム。
(Supplementary note 5) The script generation program according to
(付記6)前記言語モジュールは、対応するスクリプト言語に特有な前処理を出力する言語依存前処理出力手順を含んだことを特徴とする付記1に記載のスクリプト生成プログラム。
(Supplementary note 6) The script generation program according to
(付記7)前記言語モジュールは、対応するスクリプト言語に特有な後処理を出力する言語依存後処理出力手順を含んだことを特徴とする付記1に記載のスクリプト生成プログラム。
(Supplementary note 7) The script generation program according to
(付記8)前記言語モジュールは、スクリプトを実行するスクリプト言語を指定する所定の文字列を出力する起動指示出力手順を含んだことを特徴とする付記1に記載のスクリプト生成プログラム。
(Additional remark 8) The said language module contains the starting instruction | indication output procedure which outputs the predetermined | prescribed character string which designates the script language which performs a script, The script generation program of
(付記9)前記バッチモジュールは、対応するバッチシステムに不足する機能を前記言語モジュールの機能を呼び出すことによりスクリプト言語で表現して出力することを特徴とする付記1に記載のスクリプト生成プログラム。
(Supplementary note 9) The script generation program according to
(付記10)前記バッチモジュールは、対応するバッチシステムに不足する機能をファイルへ書き出し、
前記言語モジュールは、前記バッチモジュールがファイルに書き出した内容を読取り、その内容をスクリプト言語で表現して出力することを特徴とする付記1に記載のスクリプト生成プログラム。
(Additional remark 10) The said batch module writes the function which a corresponding batch system lacks to a file,
The script generation program according to
(付記11)処理すべき内容と、スクリプトを実行するバッチシステムの種別と、スクリプトを記述するスクリプト言語の種別とを指定され、前記バッチシステムにおいて実行可能であり、前記スクリプト言語で記述され、前記内容を処理するスクリプトを生成するスクリプト生成方法であって、
バッチシステムごとに用意されたバッチモジュール群の中から、指定されたバッチシステムに対応したバッチモジュールを選択するバッチモジュール選択工程と、
スクリプト言語ごとに用意された言語モジュール群の中から、指定されたスクリプト言語に対応した言語モジュールを選択する言語モジュール選択工程と、
前記バッチモジュール選択工程が選択したモジュールと、前記言語モジュール選択工程が選択したモジュールとを組み合わせ、前記内容を処理するスクリプトを生成するスクリプト生成工程と
を含んだことを特徴とするスクリプト生成方法。
(Supplementary Note 11) A content to be processed, a type of a batch system that executes a script, and a type of a script language that describes a script are designated, can be executed in the batch system, are described in the script language, A script generation method for generating a script for processing content,
A batch module selection step for selecting a batch module corresponding to the designated batch system from a group of batch modules prepared for each batch system;
A language module selection step of selecting a language module corresponding to the specified script language from a group of language modules prepared for each script language;
A script generation method comprising: a script generation step of generating a script for processing the contents by combining the module selected in the batch module selection step and the module selected in the language module selection step.
(付記12)何らかのバッチシステムを稼動させ、何らかのスクリプト言語を利用可能な複数のサーバ装置と、バッチ処理を前記サーバ装置に割り振って投入するジョブ投入装置とを備えたバッチ実行システムにおいて、
前記ジョブ投入装置は、
実行を指示されたジョブを割り振るサーバ装置を選択するサーバ選択手段と、
バッチシステムごとに用意されたバッチモジュール群の中から、前記サーバ選択手段により選択されたサーバ装置で稼動するバッチシステムに対応したバッチモジュールを選択するバッチモジュール選択手順と、
スクリプト言語ごとに用意された言語モジュール群の中から、前記サーバ選択手段により選択されたサーバ装置で利用可能なスクリプト言語に対応した言語モジュールを選択する言語モジュール選択手順と、
前記バッチモジュール選択手順が選択したモジュールと、前記言語モジュール選択手順が選択したモジュールとを組み合わせ、前記ジョブを処理するスクリプトを生成するスクリプト生成手順と
を備えたことを特徴とするバッチ実行システム。
(Supplementary Note 12) In a batch execution system including a plurality of server devices that can operate any batch system and use any script language, and a job input device that allocates and submits batch processing to the server devices,
The job input device is:
Server selection means for selecting a server device to which a job instructed to execute is allocated;
A batch module selection procedure for selecting a batch module corresponding to a batch system operating on a server device selected by the server selection means from among a batch module group prepared for each batch system;
A language module selection procedure for selecting a language module corresponding to a script language that can be used in the server device selected by the server selection means from among language module groups prepared for each script language;
A batch execution system comprising: a script generation procedure for generating a script for processing the job by combining the module selected by the batch module selection procedure and the module selected by the language module selection procedure.
以上のように、本発明に係るスクリプト生成プログラムおよびバッチ実行システムは、スクリプトの動的な生成に有用であり、特に、利用可能なバッチシステムとスクリプト言語の組み合わせが異なるサーバ向けにバッチスクリプトを動的に生成することができ、新たなバッチシステムとスクリプト言語への対応を容易におこなうことが必要な場合に適している。 As described above, the script generation program and the batch execution system according to the present invention are useful for dynamic generation of scripts, and in particular, run batch scripts for servers having different combinations of available batch systems and script languages. It is suitable for a case where it is necessary to easily cope with a new batch system and script language.
101、102、103、104、105、106、107 オペレータ端末
200 ジョブ投入装置
210 ジョブ受付部
220 ジョブキュー管理部
230 サーバ選択部
240 スクリプト生成部
250 スクリプト投入部
310、320、330、340 サーバ
400 スクリプト生成プログラム
410 バッチドライバ選択部
420 バッチドライバテーブル
430 バッチドライバ
431 バッチドライバモジュール
431a バッチ依存前処理出力部
431b バッチ言語依存前処理出力部
431c バッチ言語依存後処理出力部
431d 投入コマンド出力部
440 言語ドライバ選択部
450 言語ドライバテーブル
460 言語ドライバ
461 言語ドライバモジュール
461a 起動指示出力部
461b 言語依存前処理出力部
461c 言語依存後処理出力部
461d 言語翻訳部
470 スクリプト生成部
1000 バッチ実行システム
101, 102, 103, 104, 105, 106, 107
Claims (10)
バッチシステムの種別ごとに用意されたバッチモジュール群の中から、選択された前記言語モジュールが生成したバッチスクリプトを用いた、指定された前記種別のバッチシステムが実行する書式のバッチスクリプトを生成するバッチモジュールを選択するバッチモジュール選択手順と、
選択された前記言語モジュールに、指定された前記処理の内容を実行するバッチスクリプトを生成させ、選択された前記バッチモジュールに、選択された前記言語モジュールが生成したバッチスクリプトを用いた指定された前記種別のバッチシステムが実行する書式のバッチスクリプトを生成させるスクリプト生成手順と
をコンピュータに実行させることを特徴とするスクリプト生成プログラム。 The type of batch systems to run the batch script specific format for each type, and content of processing to be executed on the batch system, if it is specified the type of describing scripting language the batch script, scripting language A language module selection procedure for selecting a language module for generating a batch script in a script language of a specified type from a group of language modules prepared for each type of
A batch that generates a batch script of a format that is executed by the batch system of the specified type using a batch script generated by the selected language module from among a batch module group prepared for each type of batch system Batch module selection procedure for selecting modules,
The selected language module is caused to generate a batch script for executing the content of the specified process, and the selected batch module is specified using the batch script generated by the selected language module. script generation program for causing run type batch system of Ru to produce a batch script format to execute the script generation procedure in the computer.
前記言語モジュールは、前記バッチモジュールがファイルに書き出した内容を読み取り、当該読み取った内容を補う処理と前記指定された処理とを実行するバッチスクリプトを生成することを特徴とする請求項1に記載のスクリプト生成プログラム。 The batch module writes a function that is lacking in a batch system of a specified type to a file as compared with a standard function of the batch system assumed in advance .
The language module reads the contents of the batch module writing the file, according to claim 1, characterized in that to produce a batch script to execute the processing to compensate for the read content and the designated processing Script generator.
前記ジョブ投入装置は、
実行を指示されたジョブを割り振るサーバ装置を選択するサーバ選択手段と、
スクリプト言語ごとに用意された言語モジュール群の中から、前記サーバ選択手段により指定されたサーバ装置で稼働するバッチシステムが実行可能なスクリプト言語の種別に対応した言語のバッチスクリプトを生成する言語モジュールを選択する言語モジュール選択手段と、
バッチシステムの種別ごとに用意されたバッチモジュール群の中から、言語モジュールが生成するバッチスクリプトを用いた指定された前記種別のバッチシステムが実行する書式のバッチスクリプトを生成するバッチモジュールを選択するバッチモジュール選択手段と、
選択された前記言語モジュールに、指定された前記処理の内容を実行するバッチスクリプトを生成させ、選択された前記バッチモジュールに、選択された前記言語モジュールが生成したバッチスクリプトを用いた、指定された前記種別のバッチシステムが実行する書式のバッチスクリプトを生成させるスクリプト生成手段と
を備えたことを特徴とするバッチ実行システム。 And running a batch system to run the batch script specific format for each type, and a plurality of server devices to run the batch script which the batch system is described in a script language executable type, the server device batch processing In a batch execution system equipped with a job submission device that allocates and submits to
The job input device is:
Server selection means for selecting a server device to which a job instructed to execute is allocated;
A language module that generates a batch script of a language corresponding to the type of script language that can be executed by the batch system operating on the server device specified by the server selection unit from among the language module group prepared for each script language. Language module selection means to select;
A batch that selects a batch module that generates a batch script in a format that is executed by the batch system of the specified type using a batch script generated by a language module from among batch module groups prepared for each type of batch system. Module selection means;
The selected language module is caused to generate a batch script for executing the content of the specified process, and the selected batch module is specified using the batch script generated by the selected language module. batch execution system, characterized in that it includes a script generating means for Ru to produce a batch script format batch system of the type to be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005077950A JP4984409B2 (en) | 2005-03-17 | 2005-03-17 | Script generation program and batch execution system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005077950A JP4984409B2 (en) | 2005-03-17 | 2005-03-17 | Script generation program and batch execution system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006260281A JP2006260281A (en) | 2006-09-28 |
JP4984409B2 true JP4984409B2 (en) | 2012-07-25 |
Family
ID=37099440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005077950A Expired - Fee Related JP4984409B2 (en) | 2005-03-17 | 2005-03-17 | Script generation program and batch execution system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4984409B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5251002B2 (en) | 2007-05-25 | 2013-07-31 | 富士通株式会社 | Distributed processing program, distributed processing method, distributed processing apparatus, and distributed processing system |
JP6191440B2 (en) | 2013-12-18 | 2017-09-06 | 富士通株式会社 | Script management program, script management apparatus, and script management method |
JP6638732B2 (en) | 2015-10-13 | 2020-01-29 | 富士通株式会社 | Control system and control method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06348766A (en) * | 1993-06-11 | 1994-12-22 | Mitsubishi Electric Corp | Method and device for incorporating tool |
JPH1063511A (en) * | 1996-08-14 | 1998-03-06 | Fuji Xerox Co Ltd | Job script execution device |
JPH11305998A (en) * | 1998-04-16 | 1999-11-05 | Hitachi Ltd | Computer system |
US6681386B1 (en) * | 2000-05-22 | 2004-01-20 | International Business Machines Corporation | Method, system, and program for parameter expansion, generation, and execution of scripts in a networked environment |
JP2005275522A (en) * | 2004-03-23 | 2005-10-06 | Nomura Research Institute Ltd | Batch processing system |
-
2005
- 2005-03-17 JP JP2005077950A patent/JP4984409B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006260281A (en) | 2006-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7324831B2 (en) | DEPLOYMENT METHOD, DEPLOYMENT DEVICE AND ELECTRONIC DEVICE OF OPERATORS IN DEEP LEARNING FRAMEWORK | |
KR20210040850A (en) | Method, apparatus, device, and storage medium for parsing document | |
JP2022525831A (en) | Page pre-rendering methods, devices, electronic devices, computer programs and storage media | |
CN102566984B (en) | Method and device for configuring parameters | |
JP2004334791A (en) | Machine translation apparatus, data processing method and program | |
CN110851234A (en) | Log processing method and device based on docker container | |
CN115280283A (en) | Running PBS jobs in KUBERNETS | |
CN110727429A (en) | Front-end page generation method, device and equipment | |
CN111078228A (en) | Method and device for converting webpage into small program, server and storage medium | |
CN113806097A (en) | Data processing method and device, electronic equipment and storage medium | |
JP4984409B2 (en) | Script generation program and batch execution system | |
JPH1063511A (en) | Job script execution device | |
US8347323B2 (en) | Method and apparatus for supporting development of broker program, and computer product | |
CN114816672A (en) | Virtual machine creation method and device, electronic equipment and storage medium | |
CN115390846A (en) | Compiling construction method and device, electronic equipment and storage medium | |
CN114489622A (en) | Js application, electronic device, and storage medium | |
CN107357569B (en) | Unified management method and system for multi-language resource files, computer readable storage medium and equipment | |
CN111352664A (en) | Distributed machine learning task starting method, system, equipment and storage medium | |
US7712088B2 (en) | Method and system for a batch parser | |
US20050071422A1 (en) | Method, system, and computer program product for an automation tool adapter for use with multiple different automation tools | |
CN111782212A (en) | View assembly creating method and device and storage medium | |
CN114489850B (en) | Calling method and device of design software, computer equipment and storage medium | |
CN114168151B (en) | Container-based program compiling method and device, electronic equipment and storage medium | |
CN111736833A (en) | Method and system for generating popup component, electronic device and storage medium | |
CN102253940B (en) | Method and device for processing data by tree view |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070803 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101102 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101228 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110906 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111128 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111201 |
|
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: 20120403 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120416 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4984409 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |