JP7266970B2 - Application servers and how business applications are executed by servers - Google Patents
Application servers and how business applications are executed by servers Download PDFInfo
- Publication number
- JP7266970B2 JP7266970B2 JP2018098473A JP2018098473A JP7266970B2 JP 7266970 B2 JP7266970 B2 JP 7266970B2 JP 2018098473 A JP2018098473 A JP 2018098473A JP 2018098473 A JP2018098473 A JP 2018098473A JP 7266970 B2 JP7266970 B2 JP 7266970B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- temporary storage
- storage area
- business
- syntax
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、アプリケーションの改修および新プラットフォームへの移行を行う際に、性能的な問題を改善するアプリケーションサーバおよびサーバによる業務アプリケーションの実行方法に関する。 The present invention relates to an application server and a method of executing a business application by a server that improves performance problems when modifying an application and migrating to a new platform.
カラムナーデータベースからデータを取得するときの性能的な問題として、カラム単位で主記憶装置への転送が行われると、同一のカラムのデータが連続したアドレスに配置されることになり、1つのローにアクセスするにもかかわらず、離散的なアドレスに複数回アクセスしなければならず、CPUの負荷が上昇してしまうという事象が発生する。 As a performance issue when retrieving data from a columnar database, if data is transferred to the main memory in units of columns, the data of the same column will be placed at consecutive addresses, resulting in a single row. In spite of access, discrete addresses must be accessed multiple times, resulting in an increase in the load on the CPU.
この問題を改善するため、特許文献1には、「メモリ装置と、ストレージ装置と、データベース処理エンジンとを備え、データベース処理エンジンは、ストレージ装置に保存されたカラム型ページをロー型ページに変換してメモリ装置に保存するモジュールを有することで、メモリ装置ではロー型ページで管理されるので、データベースへの効率的なアクセスを実現できる」という記載がある。
In order to solve this problem,
データベース(以下、「DB」という)を新しいDBに切り替える場合、物理的なデータ配置の差異によって、もともと使っていた業務アプリケーションの構造をそのまま適用すると、性能的な問題が発生することがある。 When a database (hereinafter referred to as "DB") is switched to a new DB, performance problems may occur if the structure of the originally used business application is applied as is due to differences in physical data arrangement.
そこで、本発明では、プラットフォームの変更に伴い発生するアプリケーションの改修および新プラットフォームへの移行を行う際、業務プログラムに極力手を加えずにDBの切り替えを実現し、性能的な問題を解決することを目的とする。 Therefore, in the present invention, when modifying an application caused by a platform change and migrating to a new platform, the DB can be switched without modifying the business program as much as possible to solve the performance problem. With the goal.
上記課題を解決するために、本発明に係るアプリケーションサーバは、カラムナーデータベースとデータの送受信を行う通信部と、業務処理を行う業務プログラムおよび当該業務プログラムを解析する解析プログラムを記憶する補助記憶部と、データを一時的に記憶する一時記憶領域を有する主記憶部と、業務プログラムまたは解析プログラムを実行する制御部とを備え、制御部は、解析プログラムを用いて、業務プログラムと、当該業務プログラムを実行したときに用いられた過去のデータを入力データとして、それぞれ読み込み、読み込んだ入力データを解析して業務プログラムから第1の構文を抽出し、抽出した第1の構文の条件式で用いられている変数に入力するデータの値を、業務プログラムおよび入力データそれぞれから解析し、解析したデータの値を、カラムナーデータベースから一括で取得する第2の構文を作成し、作成した第2の構文を主記憶部の一時記憶領域に登録し、業務プログラムの第1の構文を第2の構文に変換して修正することを特徴とする。 In order to solve the above problems, an application server according to the present invention includes a communication unit that transmits and receives data to and from a columnar database, and an auxiliary storage unit that stores a business program that performs business processing and an analysis program that analyzes the business program. a main memory having a temporary storage area for temporarily storing data ; The past data used at the time of execution is read as input data, the read input data is analyzed, the first syntax is extracted from the business program, and the extracted first syntax is used in the conditional expression. Create a second syntax that analyzes the values of the data to be input to the variables in the business program and the input data from each of the business program and the input data, and acquires the analyzed data values from the columnar database all at once. It is characterized in that it is registered in a temporary storage area of a storage unit, and corrected by converting the first syntax of the business program into the second syntax.
本発明によれば、プログラマは移行後のDBの特性を意識せずにアプリケーション移行を実現でき、性能的な問題を解決できる。
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
According to the present invention, programmers can implement application migration without being conscious of the characteristics of the DB after migration, and solve performance problems.
Problems, configurations, and effects other than those described above will be clarified by the following description of the embodiments.
以下に、本発明を実施するための形態として、実施例について図面を用いて詳細に説明する。 EMBODIMENT OF THE INVENTION Below, an Example is described in detail using drawing as a form for implementing this invention.
図1は、本発明に係るシステム構成の一例として、アプリケーションサーバ(以下、「APサーバ」という)100およびカラムナーDB200が有する構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of an application server (hereinafter referred to as "AP server") 100 and
APサーバ100は、アプリケーションの処理と実行を行う装置であって、主記憶部であるメモリ101、処理装置であるCPU105、データの格納領域であるストレージ106およびカラムナーDB200と通信を行う通信装置109を備える。
The
メモリ101は、データを管理する領域であるキャッシュ装置102を有し、このキャッシュ装置102は、データを格納する領域であるキャッシュ領域103およびキャッシュ領域103にデータを格納するための処理部品である共通部品104を有する。
ストレージ106は、業務プログラム107および解析プログラム108などのプログラム並びに所要のデータを格納する。
The
The
業務プログラム107は、業務処理を行うプログラムである。
一方、解析プログラム108は、業務プログラム107を解析して業務プログラム107が使用するデータを特定し、そのデータを含めた一定の範囲のデータを一括でカラムナーDB200から取得する処理を処理部品として共通部品104に登録する。また、解析プログラム108は、業務プログラム107が登録したデータを使用するように業務プログラム107を修正する。
業務プログラム107および解析プログラム108は、CPU105によって実行される際に、メモリ101に展開される。
The
On the other hand, the
The
なお、本実施例に係る業務プログラム107は、天候および時間が店舗への来客数に影響するかを分析するためのプログラムを一例として用いたものである。この業務プログラム107はあくまで一例であり、他の業務プログラムを対象としてもよいことは言うに及ばない。
Note that the
大量のデータの管理と格納を行う装置であるカラムナーDB200は、大量のデータの管理および格納を行う装置であって、処理装置であるCPU201、データの格納領域であるストレージ202、記憶領域であるメモリ204およびAPサーバ100と通信を行う通信装置203を備える。
図2は、カラムナーDB200に格納されているテーブル情報のデータ構成を示す図である。このテーブル情報は、ストレージ202に保存される。ここで、図2に示すテーブル名は、「来場者情報テーブル」とする。
The
FIG. 2 is a diagram showing the data configuration of table information stored in the
図3は、本発明に係る処理手順(フローチャート)を示す図である。以下に、このフローチャートに基づく処理態様を説明する。ここで、処理を実行する主体は、APサーバ100のCPU201であるが、APサーバ100として総称して示す。
FIG. 3 is a diagram showing a processing procedure (flowchart) according to the present invention. A processing mode based on this flow chart will be described below. Here, although the entity that executes the processing is the
<ステップ301>
APサーバ100は、業務プログラム107を対象としてプログラムの解析処理を実行する。
<Step 301>
The AP
<ステップ302>
APサーバ100は、業務プログラム107を対象としてステップ301の解析結果を反映する変換処理を実行する。
<Step 302>
The AP
<ステップ303>
APサーバ100は、ステップ301の処理結果を反映させた業務プログラム107を実行する。
<Step 303>
The AP
<ステップ304>
APサーバ100は、ステップ303で実行した業務プログラム107のSQL文の実行ログを蓄積して分析処理を行う。
<Step 304>
The AP
次に、上述した各ステップの詳細について説明する。
図4は、図3に示す、ステップ301のプログラムの解析処理およびステップ302の変換処理の処理手順(フローチャート)を示す図である。以下に、このフローチャートに基づく処理態様を示す。
Next, details of each step described above will be described.
FIG. 4 is a diagram showing a processing procedure (flowchart) of the program analysis processing in step 301 and the conversion processing in step 302 shown in FIG. A processing mode based on this flow chart is shown below.
<ステップ401>
APサーバ100は、業務プログラム107および入力データを読み込む。
本実施例では、入力データは、業務プログラム107が実行されたときに用いられた過去3回分のデータとしており、例えば図10に示すデータのことである。ここでは、入力データを過去3回分のデータとしているが、“3”という数値は一例であってこれに限定するものではない。
<Step 401>
The AP
In this embodiment, the input data is data for the past three times used when the
<ステップ402>
APサーバ100は、ステップ401で読み込んだデータを解析しSQL文を抽出する。
本実施例においては、図8に示すように、来場者情報テーブルから変数1が真かつ変数2が真のときに、該条件に一致するデータを抜き出すSQL文が抽出される。
<Step 402>
The
In this embodiment, as shown in FIG. 8, when the
<ステップ403>
APサーバ100は、ステップ402で抽出したSQL文の条件式で用いられている変数に入力するデータの値を、業務プログラム107から解析する。
本実施例では、解析プログラム108が業務プログラム107を解析することにより、図8に示すSQL文の条件式から、図9に示すように変数2が“sunny”であることが判明する。
<Step 403>
The AP
In this embodiment, the
<ステップ404>
APサーバ100は、SQL文の条件式で用いられている変数に入力するデータの値を、入力データから解析する。
本実施例では、解析プログラム108が業務プログラム107を解析することにより、図8に示すSQL文の条件式から、図10に示すように、変数2が変数inputdataであることが判明する。さらに続けて解析することにより、変数inputdataは入力データを読み込んで取得した値を格納することが判明し、解析プログラム108が入力データを解析することにより、変数inputdataが“cloudy”であることが判明する。
<Step 404>
The
In this embodiment, the
<ステップ405>
APサーバ100は、ステップ403および404でそれぞれ特定した入力データを含むある程度の範囲のデータを一括で取得するSQL文を作成して、共通部品104に登録する。また、このSQL文で取得したデータは、キャッシュ領域103に格納される。
本実施例では、図11に示すように、変数2が、“sunny”であるときのSQL文と“cloudy”であるときのSQL文とを組み合わせたSQL文を作成し、共通部品104に登録することになる。
<Step 405>
The
In this embodiment, as shown in FIG. 11, an SQL statement is created by combining the SQL statement when the variable 2 is "sunny" and the SQL statement when it is "cloudy", and is registered in the
<ステップ406>
APサーバ100は、ステップ402で抽出したSQL文をキャッシュ装置103の共通部品104から取得するように、業務プログラムのSQL文を変換して修正する。
<Step 406>
The
<ステップ407>
業務プログラム107および共通部品104をビルド後デプロイする。
<Step 407>
The
図5は、図3に示す、ステップ303の実行処理およびステップ304の分析処理の処理手順(フローチャート)を示す図である。以下に、このフローチャートに基づく処理態様を示す。 FIG. 5 is a diagram showing a processing procedure (flowchart) of the execution processing of step 303 and the analysis processing of step 304 shown in FIG. A processing mode based on this flow chart is shown below.
<ステップ501>
APサーバ100は、業務プログラム107を実行する。このプログラムの実行により、取得対象のレコードがキャッシュ装置102に通知される。APサーバ100は、キャッシュ装置102の共通部品104を使うことで、カラムナーDB200からレコード取得する。
<Step 501>
The
<ステップ502>
APサーバ100は、キャッシュ装置102を用いて、キャッシュ領域103の空きサイズをチェックする。
<Step 502>
The
<ステップ503>
APサーバ100は、キャッシュ装置102を用いて、取得したレコードをキャッシュ領域103に格納できるか否か、すなわち、この格納がチェックした空きサイズ(メモリ容量)で足りるか否かをチェックする。格納できる場合は(YES)、ステップ504に進む。格納できない場合は(NO)、ステップ505へ進む。
<Step 503>
The
<ステップ504>
APサーバ100は、キャッシュ装置102を用いて、取得したレコードをキャッシュ領域103に格納する。図12は、図11に示すSQL文を実行して、カラムナーDB200から取得してキャッシュ領域103に格納するデータのデータ構造を示す図である。
本実施例では、“sunny”と“cloudy”の情報を持つデータを、図2に示すカラムナーDB200のテーブル情報から一括で取得し、図12に示すようにキャッシュ領域103に格納する。
<Step 504>
The
In this embodiment, data having information of "sunny" and "cloudy" are collectively acquired from the table information of the
<ステップ505>
APサーバ100は、取得したレコードをキャッシュ領域103に格納できるように、図6に示す処理手順(フローチャート)を実行する。このステップ505に対応する、図6に示す処理手順(フローチャート)を終えると、ステップ504に進む。図6に示す処理手順(フローチャート)については後述する。
<Step 505>
The
<ステップ506>
APサーバ100は、業務プログラム107に沿って業務処理を実行する。
<Step 506>
The
<ステップ507>
APサーバ100は、業務プログラム107に沿って、取得対象のデータをキャッシュ装置102に依頼する。APサーバ100は、キャッシュ装置102を用い、共通部品104を使ってキャッシュ領域103にアクセスする。
<Step 507>
The
<ステップ508>
APサーバ100は、キャッシュ装置102を用いて、取得対象のデータがキャッシュ領域103にあるか否かをチェックする。取得対象のデータが存在する場合(YES)、ステップ509に進む。取得対象のデータが存在しない場合(NO)、ステップ510に進む。
<Step 508>
The
<ステップ509>
APサーバ100は、共通部品104を使って、依頼元のプログラム、依頼を受けた年月日と時間および実行したSQL文を、実行履歴としてログ出力し保存する。図16は、ステップ509で処理したログ出力を示す図である。このログ出力の保存先としては、ストレージ106とするが、余裕があればキャッシュ領域としてもよい。
本実施例では、業務プログラムが、来場者情報テーブルに対して、2017年3月1日12時にアクセスしたSQL文および2017年4月1日12時にアクセスしたSQL文の実行履歴がログとして保存される。
<Step 509>
The
In this embodiment, the execution history of the SQL statement accessed by the business program at 12:00 on March 1, 2017 and the SQL statement accessed at 12:00 on April 1, 2017 is saved as a log for the visitor information table. be.
<ステップ510>
APサーバ100は、取得対象のデータをキャッシュ装置102に格納できるように、図7に示す処理手順(フローチャート)を実行する。このステップ510に対応する、図7に示す処理手順(フローチャート)を終えると、ステップ509へ進む。
<Step 510>
The
<ステップ511>
取得したデータが業務プログラムに渡され、APサーバ100は、業務プログラムがデータを受け取ることにより、業務処理を完了させる。
<Step 511>
The acquired data is delivered to the business program, and the
<ステップ512>
APサーバ100は、ステップ509で出力した実行ログを分析し、実行したSQL文をマージし、マージしたSQL文を共通部品104に登録する。
図15は、マージしたSQL文を示す図である。本実施例では、解析プログラム108が、業務プログラム107と入力データとを解析することにより判明し作成した、“sunny”および“cloudy”の情報を持つデータを取得するSQL文と、後述するステップ601で新しく作成した“rainy”を取得するSQL文とをマージする。その結果、“sunny”、“cloudy”および“rainy”を取得するSQL文を作成して、共通部品104に登録する。
<Step 512>
The
FIG. 15 is a diagram showing merged SQL statements. In this embodiment, the
図6は、図5のステップ503でキャッシュ領域の空きサイズをチェックした結果、メモリ容量が足りない(NO)場合の処理手順(フローチャート)を示す図である。以下に、このフローチャートに基づく処理態様を示す。 FIG. 6 is a diagram showing a processing procedure (flow chart) when the memory capacity is insufficient (NO) as a result of checking the free size of the cache area in step 503 of FIG. A processing mode based on this flow chart is shown below.
<ステップ601>
APサーバ100は、キャッシュ装置102を用いて、カラムナーDB200から取得対象のデータを含めたある程度のデータを一括で取得できるように、代替のSQL文を作成し共通部品104に登録する。
図13は、キャッシュ装置102に目的のデータが存在しない場合に、その目的のデータをカラムナーDB200から取得するSQL文を示す図である。本実施例では、“rainy”の情報を持つデータがキャッシュ装置102にないため、“rainy”を取得できる代替のSQL文を作成して共通部品104に登録する。
<Step 601>
The
FIG. 13 is a diagram showing an SQL statement for acquiring target data from the
<ステップ602>
APサーバ100は、共通部品104を使い代替のSQL文を実行して、取得対象のデータをカラムナーDB200から取得する。
本実施例では、“rainy”を取得できる代替のSQL文(図13)を実行し、図14に示すように、“sunny”および“cloudy”の情報を持つキャッシュ装置102に、“rainy”の情報を追加する。
<Step 602>
The
In this embodiment, an alternative SQL statement (FIG. 13) capable of acquiring "rainy" is executed, and as shown in FIG. Add information.
<ステップ603>
APサーバ100は、キャッシュ装置102を用いて、キャッシュ領域103の空きサイズをチェックする。
<Step 603>
The
<ステップ604>
APサーバ100は、キャッシュ装置102を用いて、キャッシュ領域103に取得したレコードを格納できるか否か、すなわち、この格納がチェックした空きサイズで足りるか否かをチェックする。格納できる場合(YES)、図6に示す処理フローを終了し、図5のステップ504に戻る。格納できない場合(NO)、ステップ605へ進む。
<Step 604>
The
<ステップ605>
APサーバ100は、キャッシュ装置102を用いて、キャッシュ領域103に格納しているデータの中で、このキャッシュ領域103から追い出せるデータが存在するか否かをチェックする。追い出せるデータが存在する場合(YES)、ステップ606へ進む。追い出せるデータが存在しない場合(NO)、ステップ607へ進む。
<Step 605>
The
<ステップ606>
APサーバ100は、キャッシュ装置102を用いて、キャッシュ領域103に格納しているデータの中から最も参照されていないデータを、ファイルとしてストレージ106に移動する。次いで、図5のステップ504に戻る。
<Step 606>
The
<ステップ607>
APサーバ100は、キャッシュ装置102を用いて、カラムナーDB200から取得対象のデータが含まれるように、先のステップ601で得た範囲よりさらに範囲を絞ったSQL文を作成し、共通部品104に登録して実行し、目的とするデータを取得する。次いで、図5のステップ504に戻る。
<Step 607>
The
図7は、図5のステップ510でキャッシュ内に目的のデータがない場合の処理手順(フローチャート)を示す図である。以下に、このフローチャートに基づく処理態様を示す。 FIG. 7 is a diagram showing a processing procedure (flow chart) when there is no target data in the cache in step 510 of FIG. A processing mode based on this flow chart is shown below.
<ステップ701>
APサーバ100は、キャッシュ装置102を用いて、取得対象のデータがAPサーバ100のストレージ106に存在するか否かをチェックする。取得対象のデータが存在する場合(YES)、ステップ702に進む。取得対象のデータが存在しない場合(NO)、ステップ704に進む。
<Step 701>
The
<ステップ702>
APサーバ100は、キャッシュ装置102を用いて、ファイルのデータをストレージ106からキャッシュ領域103に移動する。
<Step 702>
The
<ステップ703>
APサーバ100は、共通部品104を使って、取得対象のデータをキャッシュ領域103から取得する。次いで、図5のステップ509に戻る。
<Step 703>
The
<ステップ704>
APサーバ100は、キャッシュ装置102を用いて、取得対象のレコードをキャッシュ領域103に格納できるように、先の図6に示すフローチャートを実行する。図6に示す処理フローを終えると、ステップ705に進む。
<Step 704>
The
<ステップ705>
APサーバ100は、キャッシュ装置102を用いて、取得したレコードをキャッシュ領域103に格納し、格納後にステップ703に進む。
<Step 705>
The
このように、APサーバ100が、業務プログラム107と入力データを解析し、業務プログラム107が業務で利用するデータを特定し一括で取得するSQL文を作成し、共通部品104としてキャッシュ装置102に格納する。そして、共通部品化したSQL文を予め実行してキャッシュ領域103に取得対象データを格納することにより、カラムナーDB200へのアクセス回数を減らし処理時間を短縮することができる。
In this way, the
なお、図2に示すカラムナーDB200のテーブル情報の構成図、図8に示すSQL文のイメージ、図9と図10に示す業務プログラムと入力データのイメージは、一例であってこれらに限定するものではない。
また、本実施例では、DBとしてはカラムナーDBを対象にしているが、構造型DBやリレーショナルDBを対象としてもよい。
The configuration diagram of the table information of the
Also, in this embodiment, the DB is a columnar DB, but a structured DB or a relational DB may also be targeted.
そしてまた、APサーバ100とカラムナーDB200とは、本実施例では別の装置として説明をしたが、例えば、1つの物理計算機上で動く仮想環境において、それぞれ別の仮想サーバとして稼働するものであっても、1つの物理サーバまたは仮想サーバでそれぞれの機能を備えるものであってもよい。
さらに、本実施例では、入力データの解析を行ったが、業務プログラムのみを解析対象としてもよい。
In addition, although the
Furthermore, although the input data is analyzed in this embodiment, only the business program may be analyzed.
100…APサーバ、101…メモリ、102…キャッシュ装置、
103…キャッシュ領域、104…共通部品、105、201…CPU、
106…ストレージ、107…業務プログラム、108…解析プログラム、
109…通信装置、200…カラムナーDB、202…ストレージ、203…通信装置、
204…メモリ
100... AP server, 101... memory, 102... cache device,
103... cache area, 104... common component, 105, 201... CPU,
106... Storage, 107... Business program, 108... Analysis program,
109... Communication device, 200... Columnar DB, 202... Storage, 203... Communication device,
204 memory
Claims (11)
業務処理を行う業務プログラムおよび当該業務プログラムを解析する解析プログラムを記憶する補助記憶部と、
データを一時的に記憶する一時記憶領域を有する主記憶部と、
前記業務プログラムまたは前記解析プログラムを実行する制御部と
を備え、
前記制御部は、前記解析プログラムを実行して、
前記業務プログラムと、当該業務プログラムを実行したときに用いられた過去のデータを入力データとして、それぞれ読み込み、
読み込んだ前記入力データを解析して前記業務プログラムから第1の構文を抽出し、
抽出した前記第1の構文の条件式で用いられている変数に入力するデータの値を、前記業務プログラムおよび前記入力データそれぞれから解析し、
解析した前記データの値を、前記カラムナーデータベースから一括で取得する第2の構文を作成し、
作成した前記第2の構文を前記主記憶部の前記一時記憶領域に登録し、
前記業務プログラムの前記第1の構文を前記第2の構文に変換して修正する
ことを特徴とするアプリケーションサーバ。 a communication unit that transmits and receives data to and from the columnar database;
an auxiliary storage unit that stores a business program that performs business processing and an analysis program that analyzes the business program;
a main storage unit having a temporary storage area for temporarily storing data;
A control unit that executes the business program or the analysis program,
The control unit executes the analysis program ,
reading the business program and past data used when the business program was executed as input data;
analyzing the read input data to extract a first syntax from the business program;
analyzing values of data to be input to variables used in the extracted conditional expression of the first syntax from each of the business program and the input data;
creating a second syntax for collectively acquiring the values of the analyzed data from the columnar database;
registering the created second syntax in the temporary storage area of the main storage unit;
modifying the first syntax of the business program by converting it into the second syntax
An application server characterized by:
前記一時記憶領域に、データを格納するための処理部品である共通部品を登録する領域を設け、
前記制御部は、前記第2の構文を前記共通部品に登録する
ことを特徴とするアプリケーションサーバ。 The application server according to claim 1,
providing an area for registering a common component, which is a processing component for storing data, in the temporary storage area;
The application server, wherein the control unit registers the second syntax in the common component.
前記制御部は、前記業務プログラムの実行時に、前記共通部品を用いて前記カラムナーデータベースから取得したデータを前記一時記憶領域に格納できるか否かを、当該一時記憶領域の空きサイズによりチェックする
ことを特徴とするアプリケーションサーバ。 The application server according to claim 2,
When executing the business program , the control unit checks whether or not the data acquired from the columnar database using the common component can be stored in the temporary storage area based on the free size of the temporary storage area. An application server characterized by:
前記制御部は、前記一時記憶領域の空きサイズでは前記カラムナーデータベースから取得したデータを格納できない場合、前記一時記憶領域から追い出せるデータの有無をチェックし、当該追い出せるデータが有れば当該データを前記補助記憶部へ移動させて前記取得したデータを前記一時記憶領域に格納する
ことを特徴とするアプリケーションサーバ。 An application server according to claim 3,
When the data obtained from the columnar database cannot be stored in the free size of the temporary storage area, the control unit checks whether there is data that can be ejected from the temporary storage area, and if there is data that can be ejected, the data is stored. An application server that stores the obtained data in the temporary storage area by moving it to the auxiliary storage unit.
前記一時記憶領域から追い出せるデータとは、当該一時記憶領域の中で最も参照が古いデータである
ことを特徴とするアプリケーションサーバ。 The application server according to claim 4,
The application server, wherein the data that can be evicted from the temporary storage area is the data with the oldest reference in the temporary storage area.
前記制御部は、前記一時記憶領域の空きサイズでは前記カラムナーデータベースから取得したデータを格納できない場合、前記一時記憶領域から追い出せるデータの有無をチェックし、当該追い出せるデータが無ければ当該一時記憶領域に残る空きサイズで格納できるデータ範囲を一括して取得できる代替の構文を作成し前記共通部品に登録して実行する
ことを特徴とするアプリケーションサーバ。 An application server according to claim 3 ,
When the data obtained from the columnar database cannot be stored in the free size of the temporary storage area, the control unit checks whether there is data that can be ejected from the temporary storage area, and if there is no data that can be ejected, the temporary storage. An application server characterized by creating an alternative syntax that can collectively acquire a data range that can be stored in a free size remaining in an area, registering it in the common component, and executing it.
解析プログラムを用いて、Using an analysis program,
業務処理を行う業務プログラムと、当該業務プログラムを実行したときに用いられた過去のデータを入力データとして、それぞれ読み込む第1のステップと、a first step of reading, as input data, a business program for performing business processing and past data used when the business program was executed;
読み込んだ前記入力データを解析し、前記業務プログラムから第1の構文を抽出する第2のステップと、a second step of analyzing the read input data and extracting a first syntax from the business program;
抽出した前記第1の構文の条件式で用いられている変数に入力するデータの値を、前記業務プログラムおよび前記入力データそれぞれから解析する第3のステップと、a third step of analyzing values of data to be input to variables used in the extracted conditional expression of the first syntax from each of the business program and the input data;
解析した前記データの値を、前記カラムナーデータベースから一括で取得する第2の構文を作成し、当該第2の構文を前記サーバの主記憶部が有する一時記憶領域に登録する第4のステップと、a fourth step of creating a second syntax for collectively acquiring the values of the analyzed data from the columnar database, and registering the second syntax in a temporary storage area of the main storage unit of the server;
前記業務プログラムの前記第1の構文を前記第2の構文に変換して修正する第5のステップとa fifth step of converting the first syntax of the business program into the second syntax and correcting it;
を有する業務アプリケーションの実行方法。execution method of a business application having
前記第4のステップが前記第2の構文を前記一時記憶領域に登録することは、前記一時記憶領域にデータを格納するための処理部品として設けた共通部品に登録することを含むRegistering the second syntax in the temporary storage area in the fourth step includes registering in a common component provided as a processing component for storing data in the temporary storage area.
ことを特徴とする業務アプリケーションの実行方法。A business application execution method characterized by:
前記業務プログラムの実行時に、前記共通部品を用いて前記カラムナーデータベースから取得したデータを前記一時記憶領域に格納できるか否かを、当該一時記憶領域の空きサイズによりチェックする第5のステップ
を有する業務アプリケーションの実行方法。 A business application execution method according to claim 8 ,
a fifth step of checking whether or not the data obtained from the columnar database using the common component can be stored in the temporary storage area during execution of the business program, based on the free size of the temporary storage area;
execution method of a business application having
前記一時記憶領域の空きサイズでは前記カラムナーデータベースから取得したデータを格納できない場合、前記一時記憶領域から追い出せるデータの有無をチェックし、当該追い出せるデータが有れば当該一時記憶領域の中で最も参照が古いデータを前記サーバの他の記憶部へ移動させて前記取得したデータを前記一時記憶領域に格納する第6のステップ
を有する業務アプリケーションの実行方法。 A business application execution method according to claim 9,
If the data obtained from the columnar database cannot be stored in the free size of the temporary storage area, the presence or absence of data that can be evicted from the temporary storage area is checked. a sixth step of moving old referenced data to another storage unit of the server and storing the acquired data in the temporary storage area;
execution method of a business application having
前記一時記憶領域の空きサイズでは前記カラムナーデータベースから取得したデータを格納できない場合、前記一時記憶領域から追い出せるデータの有無をチェックし、当該追い出せるデータが無ければ当該一時記憶領域に残る空きサイズで格納できるデータ範囲を一括して取得できる代替の構文を作成し前記共通部品に登録して実行する第7のステップ
を有する業務アプリケーションの実行方法。 A business application execution method according to claim 9 ,
If the free size of the temporary storage area cannot store the data obtained from the columnar database, the presence or absence of data that can be evicted from the temporary storage area is checked. A seventh step of creating an alternative syntax capable of collectively acquiring the range of data that can be stored, registering it in the common component, and executing it
execution method of a business application having
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018098473A JP7266970B2 (en) | 2018-05-23 | 2018-05-23 | Application servers and how business applications are executed by servers |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018098473A JP7266970B2 (en) | 2018-05-23 | 2018-05-23 | Application servers and how business applications are executed by servers |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019204250A JP2019204250A (en) | 2019-11-28 |
| JP7266970B2 true JP7266970B2 (en) | 2023-05-01 |
Family
ID=68727045
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018098473A Active JP7266970B2 (en) | 2018-05-23 | 2018-05-23 | Application servers and how business applications are executed by servers |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7266970B2 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006163596A (en) | 2004-12-03 | 2006-06-22 | Internatl Business Mach Corp <Ibm> | Information processing system, control method and program |
| WO2014010038A1 (en) | 2012-07-11 | 2014-01-16 | 株式会社日立製作所 | Information processing system |
| JP2017120496A (en) | 2015-12-28 | 2017-07-06 | キヤノンマーケティングジャパン株式会社 | Program generation device, information processing apparatus, control method, and program |
-
2018
- 2018-05-23 JP JP2018098473A patent/JP7266970B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006163596A (en) | 2004-12-03 | 2006-06-22 | Internatl Business Mach Corp <Ibm> | Information processing system, control method and program |
| WO2014010038A1 (en) | 2012-07-11 | 2014-01-16 | 株式会社日立製作所 | Information processing system |
| JP2017120496A (en) | 2015-12-28 | 2017-07-06 | キヤノンマーケティングジャパン株式会社 | Program generation device, information processing apparatus, control method, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019204250A (en) | 2019-11-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9678969B2 (en) | Metadata updating method and apparatus based on columnar storage in distributed file system, and host | |
| US12141142B2 (en) | System and method for enhancing processing of a query to a relational database with software-based near-data processing (NDP) technology | |
| US10642589B2 (en) | Extensibility in a database system | |
| US8862563B2 (en) | Getting dependency metadata using statement execution plans | |
| US12292887B2 (en) | Columnar cache query using hybrid query execution plan | |
| US10678784B2 (en) | Dynamic column synopsis for analytical databases | |
| CN102473083A (en) | Apparatus and method for reading optimized bulk data storage | |
| US8051054B2 (en) | Method and system for data processing with database update for the same | |
| US12361022B2 (en) | Loading data in a target database system using different synchronization programs | |
| CN116431660B (en) | Data processing method, device, system, electronic device and storage medium | |
| US12380109B2 (en) | Database join operations with early filtering | |
| JP7266970B2 (en) | Application servers and how business applications are executed by servers | |
| CN116204550A (en) | Database query statement optimization method, storage medium and device | |
| CN114328546B (en) | Method and device for determining timestamp mode of database management system | |
| US12038894B2 (en) | Evaluating row-store expressions on a column-store database | |
| EP4523096A1 (en) | Evaluating row-store expressions on a column-store database | |
| US7437716B1 (en) | Separation of data from metadata in a tracing framework | |
| CN112528118A (en) | Data acquisition method, system and device based on multi-channel proxy | |
| CN114238513A (en) | Big data map analysis method and system | |
| US11989169B2 (en) | Autonomous refactoring system for database | |
| US12487973B2 (en) | Update method and database update apparatus | |
| Ward | Performance Capabilities | |
| CN120104630A (en) | A data updating method for a data table and related products | |
| CN120123352A (en) | Database transaction log parsing method and related device | |
| Chao et al. | Restructuring AMS to reduce synchronization overheads on android system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210420 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220419 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220526 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221011 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20221208 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230206 |
|
| 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: 20230404 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230419 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7266970 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |