JP2003150389A - 動的Webページの高速化装置 - Google Patents

動的Webページの高速化装置

Info

Publication number
JP2003150389A
JP2003150389A JP2001383767A JP2001383767A JP2003150389A JP 2003150389 A JP2003150389 A JP 2003150389A JP 2001383767 A JP2001383767 A JP 2001383767A JP 2001383767 A JP2001383767 A JP 2001383767A JP 2003150389 A JP2003150389 A JP 2003150389A
Authority
JP
Japan
Prior art keywords
program
web
web page
update frequency
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001383767A
Other languages
English (en)
Inventor
Yasuaki Takebe
靖昭 竹辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2001383767A priority Critical patent/JP2003150389A/ja
Publication of JP2003150389A publication Critical patent/JP2003150389A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 動的なWebページを生成する負荷を低減す
るため、生成したページ全体をキャッシュする手法があ
るが、Webの中に、更新の頻度が高い情報と低い情報
が混在していると、このキャッシュ手法では効果が得ら
れない。 【解決手段】 この発明は、動的にWebページを生成
するプログラムを部分評価によって変換する装置(2)
と、変換されたプログラムをWebサーバに配置する装
置(3)、および配置されたプログラムを運用状態に切
り替える装置(4)からなる。動的なWebページを生
成するプログラムを部分評価により変換することによ
り、更新の頻度が低いデータの検索などの処理をあらか
じめ行っておく。この変換結果をWebサーバに配置し
ておくことにより、Webブラウザからの要求があった
時点では、更新の頻度が高いデータの検索のみが行わ
れ、更新の頻度が低いデータの検索は行わずにすむ。こ
れにより、システムの負荷を減らすことができる。

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】この発明は、動的なWebペ
ージ、特にデータベースに格納された情報を表示する動
的なWebページに関するものである。 【0002】 【従来の技術】多くのWebサイトでは、ブラウザから
の要求を受けた時点でプログラムを実行し、動的にWe
bページを生成している。これらのプログラムでは、デ
ータベースに格納されている情報の検索などが行われ
る。この方式によると、ブラウザからの要求があるたび
にプログラムが実行されるため、そのたびにデータベー
スへの検索が行われ、システムへの負荷が高くなってし
まう。これに対応するため、従来の技術では、いったん
生成されたWebページをキャッシュし、データベース
への検索回数を減らすようにしている。 【0003】 【発明が解決しようとする課題】しかしながら、このキ
ャッシュ方式では、Webページ全体のキャッシュが行
われるため、頻繁に更新される情報を一部でも含むWe
bページでは効果が得られない。動的なWebページの
有効な用途として、見る人によって表示する内容を適切
に変更するパーソナライズ機能というものがあるが、こ
うしたページに適用することもこのキャッシュ方式では
難しい。 【0004】 【課題を解決するための手段】この発明は、部分評価と
いう手法でプログラムを変換する装置(2)と、その変
換結果をWebサイトに配置する装置(3)、および配
置されたプログラムを運用中のプログラムと入れ替える
ためのファイル切り替え装置(4)からなる(図1)。 【0005】部分評価のアルゴリズムを適用すると、プ
ログラムのうち、あらかじめ実行できる部分を自動的に
判定し、その部分のみを実行することができる。部分評
価のアルゴリズムは、一般のプログラミング言語で書か
れたプログラムに必ずしも適用できるわけではないた
め、実用化にはいたっていない。しかし、比較的単純な
プログラミング言語、例えばプリンタの制御に用いられ
るページ記述言語などに対しては適用することができ
る。これを利用してプリンタの高速化を行う装置が実用
化されている(例えば、特開平07−248924 ペ
ージ記述言語プログラム変換装置など)。また、汎用プ
ログラミング言語の一部の機能を制限した言語に対する
部分評価のアルゴリズムも数多く研究されている。代表
的なものはとしては、フランスのIRISAのグループ
が開発したTempoという処理系がある。これは、C
言語のサブセットで書かれたプログラムに対して部分評
価を行うものである。この発明で対象としている動的な
Webページの記述に用いられるプログラミング言語
は、汎用のプログラミング言語よりも比較的単純であ
り、こうした既存の部分評価のアルゴリズムを若干変更
することで適用が可能である。 【0006】この発明では、まず、プログラムを変換す
る装置(2)は、部分評価のアルゴリズムを応用し、入
力したWebページ生成プログラム(1)で実行されて
いる処理のうち、更新の頻度が少ないと判定されたデー
タへの検索をあらかじめ実行しておく。このとき、更新
の頻度が高いデータへの検索は実行されずにそのまま残
される。変換結果は磁気ディスク上のファイル、メモリ
などの記憶装置に格納される。 【0007】変換結果を配置する装置(3)は、上記の
プログラムの変換結果をWebサーバに配置する。変換
結果はWebサーバ上のファイルとして磁気ディスク上
に記憶される。変換結果を配置する装置とWebサーバ
がネットワークで接続されている場合には、ネットワー
クを通じてファイルの転送を行う。 【0008】通常のWebサーバでは、運用中にプログ
ラムを変更することを考慮していないため、変換結果を
配置する際に、ファイルのコピーなどで行うと競合が起
きてしまう。ファイル切り替え装置(4)は、配置され
たファイルをWebサーバで運用されているプログラム
ファイルとは別に保持しておき、配置が完了した時点
で、最小単位の命令を用いて運用状態に切り替える処理
を行う。これにより、競合が起きることを防ぐことがで
きる。 【0009】更新の頻度が低いデータが更新された時点
で、再度プログラムの部分評価および変換結果の配置を
行うことにより、データベース上のデータと生成される
Webページの整合性を保つことができる。 【0010】以上の処理により、ブラウザからの要求を
受けた時点では、変換後のプログラムが実行されるた
め、更新の頻度が低いデータベースへの検索は行わず
に、しかも動的にWebページを生成することができ
る。通常のWebサイトでは、データベースの更新回数
よりも、ブラウザからの要求回数のほうが圧倒的に多い
ため、これによりシステムの負荷を大幅に減らすことが
できる。 【0011】 【発明の実施の形態】発明の実施の形態を、実施例にも
とづき、図面を参照して説明する。この発明は、部分評
価によってプログラムを変換する装置(2)と、その変
換結果をWebサイトに配置する装置(3)、および配
置されたプログラムを運用中のプログラムと入れ替える
ファイル切り替え装置(4)からなる。 【0012】この発明は、動的にWebページを生成す
る機能をもつWebサーバ(6)と組み合わせて用いら
れる。通常は、データベースサーバ(5)と組み合わせ
られるため、装置2はデータベースへの検索を行う機能
も持っている(図1)。装置2、3、4とWebサー
バ、データベースサーバとは、同一のコンピュータに配
置することもできるし、ネットワーク装置を通じて別の
コンピュータに配置することもできる。 【0013】実施の例として、PHPというプログラム
言語で記述されたプログラムを部分評価によって変換す
る装置と、変換結果を配信する装置、および変換された
ファイルを運用状態に切り替える装置からなるUNIX
(登録商標)上で動作するシステムを挙げる。PHPは
動的なWebページの生成プログラムの記述によく使用
される言語である。各装置はUNIX(登録商標)上で
動作するプログラムとして実装されている。 【0014】部分評価を行う装置では、以下のような方
式でPHPのプログラムを処理することにより、データ
ベースへの検索を変換時に行うことができる。 【0015】まず、部分評価のアルゴリズムによって、
プログラム中の部分のうち、あらかじめ実行できる部分
とそうでない部分を判定する解析を行う。このとき、通
常の部分評価のアルゴリズムによる判定に加え、データ
ベースの検索を行う関数呼び出しのうち、最後が_st
aticで終わるものはあらかじめ実行できると判定す
る。 【0016】例えば、SQL文による検索を行うPHP
の関数呼び出し、 は、SQLによる検索式があらかじめわかっている場合
には、あらかじめ実行できると判定される。更新の頻度
が低いデータの検索を_staticで終わる関数で行
うことにより、プログラムの変換時にあらかじめ行うこ
とができる。 【0017】この判定が完了した後、あらかじめ実行で
きると判定された部分のみを実行する。先ほどの関数呼
び出しは、 のように変換される。この変換後のプログラムでは、変
数$resultへの代入のみが行われ、データベース
への検索は行われなくなる。この実施例では、変換され
たプログラムは磁気ディスク上にファイルとして一旦記
憶される。 【0018】Webサーバへの配置装置は、変換後のプ
ログラムをWebサーバに配置する。このとき、ネット
ワークで接続されたWebサーバにもプログラムを配置
できるようにするため、転送のプロトコルにはFTPを
用いる。 【0019】プログラムの配置の際に、運用されている
ファイルを直接上書きしてしまうと、上書き途中にWe
bサーバに要求があった場合に、途中まで転送されたプ
ログラムを用いて処理が行われてしまう可能性がある。
このため、この配置プログラムでは、例えば運用されて
いるファイルがfile.phpという名前であった場
合、file.php.newという別の名前でWeb
サーバにファイルを配置する。 【0020】ファイルを運用状態に切り替えるプログラ
ムは、FTPによる転送が終了した時点で、UNIX
(登録商標)に備わっているファイル名変更機能でfi
le.php.newをfile.phpに変更する。
これにより、転送途中のファイルがWebサーバにより
使用されてしまうのを防ぎながら、ファイルを運用状態
に切り替えることができる。 【0021】ブラウザからWebサーバの要求があった
時点では、あらかじめ実行できると判定された部分がす
でに実行されたプログラムが実行されるため、更新の頻
度が低いデータベースへの検索などの処理を行わなくて
もすむようになる。 【0022】 【発明の効果】発明の効果を見積もるため、実施例で挙
げたシステムを、図2のデザインのWebサイトに適用
した場合を考える。これは、ニュースを提供するWeb
サイトによく見られるデザインのものである。このペー
ジでは、ユーザ名の表示を行うために、ユーザごとに表
示されるページが異なるうえ、ニュースも逐次更新され
るため、動的なWebページの生成が必要になり、従来
型のキャッシュシステムの適用も難しい。 【0023】このページを生成するPHPのプログラム
の概略は以下のようになる: (ユーザ情報の取得) ($nameの表示) ($newsの表示)これを部分評価で変換することに
より、以下のようなプログラムに変換することができ
る: (ユーザ情報の取得) ($nameの表示)echoはPHPのコマンドで、Webページの出力を
行うものである。 【0024】ここで、このサイトへのブラウザからの要
求数が、1時間あたり3600回、ニュースの更新が5
分に1回、一度に検索するニュースの数を10とした場
合、部分評価を行う前のプログラムをWebサイトに配
置した場合のデータベースへの1時間あたりの検索回数
は、 となるのに対し、この発明の装置により部分評価を行っ
た後のプログラムをWebサイトに配置した場合のデー
タベースへの1時間あたりの検索回数は、 となる。これにより、データベースへの検索回数が10
分の1以下になることがわかる。
【図面の簡単な説明】 【図1】 発明の実施形態をしめす図である。 【図2】 実施例の効果を測定するためのWebページ
のデザインをしめす図である。 【符号の説明】 1 Webページ生成プログラム 2 変換装置 3 配置装置 4 ファイル切り替え装置 5 データベースサーバ 6 Webサーバ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 17/30 340 G06F 9/44 320A

Claims (1)

  1. 【特許請求の範囲】 【請求項1】動的にWebページを生成するプログラム
    を部分評価によって変換する装置と、変換されたプログ
    ラムをWebサーバに配置する装置、およびWebサー
    バの運用を停止せずに配置されたプログラムを運用状態
    にするためのファイル切り替え装置からなる動的Web
    ページの高速化システム。
JP2001383767A 2001-11-13 2001-11-13 動的Webページの高速化装置 Pending JP2003150389A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001383767A JP2003150389A (ja) 2001-11-13 2001-11-13 動的Webページの高速化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001383767A JP2003150389A (ja) 2001-11-13 2001-11-13 動的Webページの高速化装置

Publications (1)

Publication Number Publication Date
JP2003150389A true JP2003150389A (ja) 2003-05-23

Family

ID=19187632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001383767A Pending JP2003150389A (ja) 2001-11-13 2001-11-13 動的Webページの高速化装置

Country Status (1)

Country Link
JP (1) JP2003150389A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006227671A (ja) * 2005-02-15 2006-08-31 Nomura Research Institute Ltd ウェブページ提供装置及びウェブページ提供方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006227671A (ja) * 2005-02-15 2006-08-31 Nomura Research Institute Ltd ウェブページ提供装置及びウェブページ提供方法
JP4671402B2 (ja) * 2005-02-15 2011-04-20 株式会社野村総合研究所 ウェブページ提供装置及びウェブページ提供方法

Similar Documents

Publication Publication Date Title
US9189263B1 (en) Object synchronization in shared object space
EP1076290B1 (en) Method for on-demand network application download and execution
CN109739604B (zh) 页面渲染方法、装置、服务器及存储介质
US20050216282A1 (en) System and method for business object discovery
US6574715B2 (en) Method and apparatus for managing internal caches and external caches in a data processing system
US6801224B1 (en) Method, system, and program for generating a graphical user interface window for an application program
US6961929B1 (en) Mechanism for automatic synchronization of scripting variables
US6557076B1 (en) Method and apparatus for aggressively rendering data in a data processing system
JP2001249907A (ja) 起動処理方式
JP2003528391A (ja) ファイルコンテンツの追加的なコピーを記憶する必要無しに、ファイル属性への変更を記憶するための方法及び装置
JP2004503863A (ja) スレッドを明示的に中断することなく整合状態とする方法及び装置
JPH06282481A (ja) サーバ・メモリの管理
KR20000012134A (ko) 비디오 처리 장치 및 비디오 처리 방법
US6212533B1 (en) Hyper-media document management system having navigation mechanism
US6510426B1 (en) Method and apparatus for compacting a metadatas stream in a data processing system
US20020062354A1 (en) Method and apparatus for dynamic shared-memory caching of scripting engine product
CA2707249C (en) Native interface optimization for read-only arrays
CN111125156A (zh) 数据的查询方法、装置和电子设备
US20060206458A1 (en) Serving program elements through a unified interface
JP3538292B2 (ja) 実行時プログラム翻訳方法
JP2004529419A (ja) ソフトウェアアプリケーションローディング用のソフトウェアエンジンおよび方法
JP2003150389A (ja) 動的Webページの高速化装置
US7162490B2 (en) Method for processing dynamic database in distributed processing system based on corba platform
JP2006268126A (ja) データベースアクセスシステム及びデータベースオブジェクト生成プログラム
JPH1040118A (ja) クライアント/サーバシステム及びクライアント端末装置