JP7351469B1 - ウェブページ提供システム、ウェブページ提供方法、およびコンピュータプログラム - Google Patents

ウェブページ提供システム、ウェブページ提供方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP7351469B1
JP7351469B1 JP2023078784A JP2023078784A JP7351469B1 JP 7351469 B1 JP7351469 B1 JP 7351469B1 JP 2023078784 A JP2023078784 A JP 2023078784A JP 2023078784 A JP2023078784 A JP 2023078784A JP 7351469 B1 JP7351469 B1 JP 7351469B1
Authority
JP
Japan
Prior art keywords
web page
page
data
storage means
page data
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
Application number
JP2023078784A
Other languages
English (en)
Inventor
純生 野田
Original Assignee
アルファサード株式会社
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 アルファサード株式会社 filed Critical アルファサード株式会社
Priority to JP2023078784A priority Critical patent/JP7351469B1/ja
Application granted granted Critical
Publication of JP7351469B1 publication Critical patent/JP7351469B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】コストをあまり掛けることなく従来よりも安定的に、新しい情報が次々に掲載されるウェブページを配信する。【解決手段】ウェブサーバ2に、ウェブページを表示するためのウェブページデータを記憶するウェブページ記憶手段を設ける。ウェブサーバ2は、ウェブページの構成に影響を及ぼす可能性がありまたは影響を及ぼす第一のイベントが生じた場合に、第二のイベントが生じた後、ウェブページ記憶手段に記憶されているウェブページデータを生成し直す。そして、閲覧用端末装置3Aから要求があった際に、ウェブページデータを閲覧用端末装置3Aへ送信する。【選択図】図1

Description

本発明は、ウェブページをクライアントへ提供する技術に関する。
CMS(Content Management System)によるウェブページの提供方法には主に、動的配信および静的配信の2つの方法がある。
動的配信によると、クライアントからウェブページを要求されるごとに、その時点にデータベースに記憶されている情報に基づいてウェブページを生成してクライアントへ送信する。一方、静的配信によると、クライアントからウェブページを要求されるごとに、そのウェブページをクライアントへ送信するが、要求されるごとに生成するのではなく予め生成しておいたものを送信する。
WWWの基本技術 静的コンテンツと動的コンテンツ,上越教育大学,http://juen-cs.dl.juen.ac.jp/html/www/005/,2023年4月30日検索
動的配信によると、新しい情報を静的配信よりも確実にクライアントへ提供することができる。したがって、動的配信は、特に、新しい情報が次々に掲載されるウェブページの配信方法として好んで採用される。
ところが、動的配信は、ウェブページの生成の際にウェブサーバに掛かる負荷が静的配信よりも大きい。したがって、ウェブサイトへのアクセスが集中するとウェブサーバがダウンすることがある。
そこで、ウェブサーバのスペックを増強したり、ウェブサーバの台数を増やしたり、負荷分散装置を導入したりするなどの対策が講じられることがある。
しかし、これらの対策は、コストが掛かるし、アクセスが集中しないときはオーバスペックになる。
本発明は、このような問題点に鑑み、コストをあまり掛けることなく従来よりも安定的に、新しい情報が次々に掲載されるウェブページを配信することを、目的とする。
本発明の一形態に係るウェブページ提供システムは、ウェブページを提供するウェブページ提供システムであって、前記ウェブページを表示するためのウェブページデータを記憶するウェブページ記憶手段と、前記ウェブページの構成に影響を及ぼす可能性がありまたは影響を及ぼすイベントが生じた場合に前記ウェブページデータを前記ウェブページ記憶手段から削除する削除手段と、クライアントから要求があった際に、前記ウェブページデータが前記ウェブページ記憶手段に記憶されている場合は、当該記憶されているウェブページデータを当該クライアントへ送信し、記憶されていない場合は、前記ウェブページデータを生成し直して当該クライアントへ送信するとともに前記ウェブページ記憶手段に記憶させる、提供手段と、を有する。
好ましくは、前記提供手段は、前記ウェブページデータが前記ウェブページ記憶手段に記憶されていなければ、前記イベントが最後に生じた時点から所定の時間が経過した場合にも、前記ウェブページデータを生成し直して前記ウェブページ記憶手段に記憶させる。
または、前記所定の時間は、前記ウェブページへのアクセスの頻度が高いほど短く設定される。
または、前記ウェブページデータの生成日時を記憶する属性記憶手段と、前記提供手段によって前記ウェブページデータが生成し直された際に、前記ウェブページデータの全部分または所定の一部分の、生成し直す前後の内容が相違すれば、前記属性記憶手段に記憶されている前記生成日時を、前記ウェブページデータを生成し直した日時に更新し、同一であれば、前記生成日時を更新しない、管理手段と、を有し、前記提供手段は、前記要求の際に前記クライアントから提示された前記ウェブページデータのキャッシュ日時が、前記属性記憶手段に記憶されている前記生成日時よりも古い場合に前記ウェブページデータを送信し、新しい場合は当該ウェブページデータの代わりに前記ウェブページが更新されていないことを示すメッセージを送信する。
前記ウェブページは、1つまたは複数の所定のカテゴリのうちの少なくとも1つが対応付けられている1つまたは複数の記事ページを案内する一覧を有する固定ページであり、前記イベントは、前記1つまたは複数の所定のカテゴリのうちの前記ウェブページと共通のカテゴリが少なくとも1つ対応付けられている記事ページが更新され、削除され、または新たな追加されることである。
本発明によると、コストをあまり掛けることなく従来よりも安定的に、新しい情報が次々に掲載されるウェブページを配信することができる。
ウェブページ提供システムの全体的な構成の例を示す図である。 ウェブサーバのハードウェア構成の例を示す図である。 ウェブサーバの機能的構成の例を示す図である。 ウェブサイトの機能的構成の例を示す図である。 固定ページの例を示す図である。 属性データ例を示す図である。 固定ページの例を示す図である。 固定ページの例を示す図である。 固定ページの例を示す図である。 固定ページの例を示す図である。 固定ページの例を示す図である。 記事ページの例を示す図である。 固定ページ更新処理の流れの例を示すフローチャートである。 タスクデータの例を示す図である。 リクエスト応答処理の流れの例を示すフローチャートである。 ウェブサーバにおける全体的な処理の流れの例を示すフローチャートである。
〔1.全体構成〕
図1は、ウェブページ提供システム1の全体的な構成の例を示す図である。図2は、ウェブサーバ2のハードウェア構成の例を示す図である。
図1に示すウェブページ提供システム1は、様々なウェブページを様々な閲覧者へ提供するためのシステムであって、ウェブサーバ2、複数の閲覧用端末装置3A(3A1、3A2、…)、複数の管理用端末装置3B(3B1、3B2、…)、および通信回線10などによって構成される。
ウェブサーバ2は、通信回線10を介して各閲覧用端末装置3Aおよび各管理用端末装置3Bと通信することができる。通信回線10として、インターネット、LAN(Local Area Network)回線、または公衆回線などが用いられる。
ウェブサーバ2は、ウェブページのデータを管理し、閲覧者からの要求に応じてウェブページのHTML(Hypertext Markup Language)ファイルなどを閲覧者の閲覧用端末装置3Aへ配信する。
ウェブサーバ2は、コンピュータ本体21、ディスプレイ22a、キーボード22b、およびポインティングデバイス22cなどによって構成される。コンピュータ本体21は、図2に示すように、メインプロセッサ21a、RAM(Random Access Memory)21b、ROM(Read Only Memory)21c、補助記憶装置21d、ネットワークアダプタ21e、入出力インタフェース21f、およびグラフィックボード21gなどによって構成される。
メインプロセッサ21aは、CPU(Central Processing Unit)またはGPU(Graphics Processing Unit)などのプロセッサであって、RAM21bにロードされたプログラムを実行する。
ROM21cまたは補助記憶装置21dには、オペレーティングシステムのほかウェブページ管理アプリケーション20(図3参照)がインストールされている。ウェブページ管理アプリケーション20は、RAM21bにロードされ、メインプロセッサ21aによって実行される。他のプログラムも適宜、RAM21bにロードされ、メインプロセッサ21aによって実行される。補助記憶装置21dとして、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などが用いられる。ウェブページ管理アプリケーション20については、後に詳細に説明する。
ネットワークアダプタ21eは、通信回線10を介して閲覧用端末装置3Aおよび管理用端末装置3Bなどと通信するためのNIC(Network Interface Card)などの通信装置である。入出力インタフェース21fは、USB(Universal Serial Bus)などの規格に対応した入出力ボードであって、キーボード22bおよびポインティングデバイス22cが接続される。
グラフィックボード21gは、画面を表示するための映像信号を生成しディスプレイ22aへ送信する。「ビデオボード」または「ビデオカード」などと呼ばれることもある。ディスプレイ22aは、グラフィックボード21gに繋がれており、グラフィックボード21gからの映像信号に基づいて画像を表示する。
ディスプレイ22aは、映像信号に基づいて、コマンドまたは情報を入力するための画面およびメインプロセッサ21aによる処理の実行結果を示す画面などを表示する。
キーボード22bおよびポインティングデバイス22cは、コマンドまたは情報を入力するために用いられる。
図1に戻って、閲覧用端末装置3Aは、閲覧者がウェブページを閲覧するためのクライアントである。閲覧用端末装置3Aとして、ウェブブラウザを備えるコンピュータ、例えばパーソナルコンピュータ、スマートフォン、またはタブレットコンピュータなどが用いられる。
管理用端末装置3Bは、ウェブサイトの管理者または投稿者がウェブページを新たに作成し、編集し、または削除するためのクライアントである。管理用端末装置3Bとして、閲覧用端末装置3Aと同様、ウェブブラウザを備えるコンピュータが用いられる。
〔2.各部の機能的構成の概要〕
図3は、ウェブサーバ2の機能的構成の例を示す図である。図4は、ウェブサイト4の機能的構成の例を示す図である。
ウェブページ管理アプリケーション20は、CMS(Content Management System)用のソフトウェアである。ウェブページ管理アプリケーション20によると、図3に示す新規固定ページ登録部201、固定ページファイル生成部202、新規記事ページ登録部203、記事ページファイル生成部204、リクエスト応答部206、タスク管理部205、固定コンテンツ記憶部241、固定ページファイル記憶部242、固定ページ属性記憶部243、記事コンテンツ記憶部244、記事ページファイル記憶部245、およびタスク記憶部246などの機能がウェブサーバ2に実現される。これらの機能によって、ウェブサイトが構築され管理される。
以下、図4に示すように構成される、ある地方自治体100のウェブサイト4を例に、ウェブサーバ2の各部、閲覧用端末装置3A、および管理用端末装置3Bそれぞれの処理について、順次、説明する。ウェブサイト4は複数のウェブページによって構成される。
これらのウェブページは、固定ページおよび記事ページに大別される。固定ページは、例えばウェブサイトのトップページ、ウェブサイト主のプロフィールのウェブページ、およびウェブサイト主への問合せ用のウェブページなど、固定的なウェブページである。以下、ウェブサイト4における固定ページを「固定ページ5」と記載する。また、各固定ページ5を「固定ページ51」、「固定ページ52」、…と区別して記載することがある。
一方、記事ページは、ニュースなどが記載されたウェブページである。例えば、ブログの各ページは、記事ページの一例である。記事ページは、一般に「投稿ページ」と呼ばれることもある。以下、ウェブサイト4における記事ページを「記事ページ6」と記載する。また、各記事ページ6を「記事ページ61」、「記事ページ62」、…、と区別して記載することがある。
〔3.各部の詳細〕
〔3.1 固定ページ5の準備〕
図5は、固定ページ50の例を示す図である。図6は、属性データ7Dの例を示す図である。図7は、固定ページ51の例を示す図である。図8は、固定ページ52の例を示す図である。図9は、固定ページ53の例を示す図である。図10は、固定ページ54の例を示す図である。図11は、固定ページ55の例を示す図である。
固定ページ5は、ウェブサイト4の管理者による操作に基づいて、次のようにウェブサーバ2へ登録される。以下、管理者が管理用端末装置3B1を使用する場合を例に、固定ページ5の登録方法について説明する。
管理用端末装置3B1は、所定のコマンドが管理者によって入力されると、固定ページ用のテンプレートをウェブサーバ2へ要求する。
すると、新規固定ページ登録部201は、固定ページ用のテンプレートのファイルを管理用端末装置3B1へ送信することによって、管理用端末装置3B1に固定ページ用のテンプレートを表示させる。管理者は、固定ページ5に関する情報として、主に次の(1-1)~(1-5)の各情報を、表示されたテンプレートへ入力する。
(1-1)固定ページ5のHTMLファイルのファイル名
(1-2)固定ページ5のタイトル
(1-3)固定ページ5に配置するタブのタブ名およびリンク先
(1-4)固定ページ5に掲載するコンテンツ
(1-5)固定ページ5の記事一覧にリストアップする記事のカテゴリのカテゴリ名

例えば、図4、図5に示す固定ページ50を登録する場合は、管理者は、(1-1)のファイル名として「index.html」を入力する。(1-2)のタイトルとしてタイトル50aの文字列すなわち「東西市ウェブサイト トップページ」を入力する。
さらに、管理者は、(1-3)のタブ名として、タブ50b1、50b2、…、50b5それぞれのタブ名すなわち「スポーツ」、「成人向け」、…、「アクセス」を入力する。これらのタブは、他の固定ページ5へのハイパーリンクとして用いられる。また、タブ50b1、50b2、…、50b5それぞれに対応付けるリンク先として、固定ページ51、52、…、55それぞれを識別する識別情報(ファイル名またはURL(Uniform Resource Locator))を入力する。
さらに、管理者は、(1-4)のコンテンツとして、テキスト、リッチテキスト、画像、動画像、またはハイパーリンクなどによって構成されるコンテンツを入力する。本例では、「2023年、市制50周年を迎えました。」というリッチテキストおよび5つの花の画像によって構成されるコンテンツ50cを入力する。
さらに、管理者は、(1-5)のカテゴリ名として、予め用意された複数のカテゴリ名のうちの、記事一覧50dにリストアップしたい記事ページ6のカテゴリのカテゴリ名を入力する。例えば、スポーツに関する記事ページ6をリストアップしたい場合は、「スポーツ」というカテゴリ名を入力する。カテゴリ名を複数、入力することもできる。すべてのカテゴリのカテゴリ名を入力する場合は、これらのカテゴリ名の代わりに「all」と入力してもよい。
テンプレートに固定ページ50の情報が入力されると、これらの情報を示す固定ページデータ7Aが管理用端末装置3B1からウェブサーバ2へ送信される。(1-4)のコンテンツとして画像または動画像が入力された場合は、その画像または動画像のファイルが付属ファイル7Bとして管理用端末装置3B1からウェブサーバ2へ固定ページデータ7Aとともに送信される。
新規固定ページ登録部201は、固定ページデータ7Aを受信すると、固定コンテンツ記憶部241に記憶させる。付属ファイル7Bとともに受信した場合は、固定ページデータ7Aと付属ファイル7Bとを対応付けて固定コンテンツ記憶部241に記憶させる。
固定ページファイル生成部202は、固定ページ50の情報を入力する際に使用されたテンプレートおよび固定ページデータ7Aなどに基づいて、固定ページ50のHTMLファイル7Cを生成する。
記事一覧50dには、固定ページデータ7Aに示されるカテゴリ名が対応付けられている記事ページ6それぞれのタイトルが並べられる。各タイトルは、ハイパーリンクであり、それぞれの記事ページ6へのURLが対応付けられている。記事ページ6へのカテゴリ名の対応付けについては、「3.2 記事ページ6の投稿」で説明する。なお、タイトルとともに記事ページ6の更新日または更新日時を並べてもよい。
そして、固定ページファイル生成部202は、HTMLファイル7Cを、固定ページデータ7Aに示されるファイル名(本例では、「index.html」)と対応付けて固定ページファイル記憶部242に記憶させる。
新規固定ページ登録部201は、さらに属性データ7Dを生成し、図6のように固定ページ属性記憶部243に記憶させる。属性データ7Dには、固定ページ5(本例では、固定ページ50)に関する次の情報が示される。「ファイル名」は、HTMLファイル7Cのファイル名であって、固定ページデータ7Aに示されるファイル名が用いられる。「生成日時」は、HTMLファイル7Cが生成された日時である。
「ハッシュ値」は、HTMLファイル7Cのハッシュ値である。ハッシュ値は、所定のハッシュ関数hによって算出される。なお、HTMLファイル7Cの全部分のハッシュ値ではなく、ボディタグ(<body>、</body>)で括られている部分などのような、閲覧者へ提示するコンテンツの部分のハッシュ値であってもよい。
以上の処理によって、ウェブサーバ2への固定ページ50の登録が完了する。固定ページ50以外の固定ページ5、例えば図7に示す固定ページ51、図8に示す固定ページ52、図9に示す固定ページ53、図10に示す固定ページ54、および図11に示す固定ページ55なども同様の方法で、ウェブサーバ2へ登録される。
なお、管理者は、(1-1)~(1-5)のすべてを一度に纏めて入力する必要はなく、何度かに分けて入力してもよい。この場合は、最初に入力された情報が固定ページデータ7Aとして固定コンテンツ記憶部241に記憶され、その後に入力された情報が固定ページデータ7Aに追記される。また、(1-3)~(1-5)の各情報は、必要に応じて任意に入力すればよい。例えば、固定ページ55のように記事一覧が設けられない場合は、(1-5)のカテゴリ名を入力する必要がない。または、固定ページ54、55のようにタグが設けられない場合は、(1-3)のタグ名およびリンク先を入力する必要がない。
〔3.2 記事ページ6の投稿〕
図12は、記事ページ61の例を示す図である。
地方自治体100では、部署ごとに投稿者が決められており、各投稿者は、自分の部署に関わる記事を適宜、投稿する。例えば、スポーツ課の投稿者は、スポーツの大会に関する記事およびスポーツ施設に関する記事などを投稿する。すると、記事が記事ページ6としてウェブサーバ2に登録される。
以下、ある投稿者が管理用端末装置3B2を使用する場合を例に、記事ページ6の登録方法について説明する。
管理用端末装置3B2は、所定のコマンドが投稿者によって入力されると、記事ページ用のテンプレートをウェブサーバ2へ要求する。
すると、新規記事ページ登録部203は、記事ページ用のテンプレートのファイルを管理用端末装置3B2へ送信することによって、管理用端末装置3B2に記事ページ用のテンプレートを表示させる。投稿者は、記事ページ6に関する情報として、主に次の(2-1)~(2-3)の各情報を、表示されたテンプレートへ入力する。
(2-1)記事ページ6のタイトル
(2-2)記事ページ6に掲載するコンテンツ
(2-3)記事ページ6のカテゴリのカテゴリ名

例えば、図4、図12に示す記事ページ61を登録する場合は、投稿者は、(2-1)のタイトルとしてタイトル61aの文字列すなわち「2023年 マラソン大会」を入力する。(2-2)のコンテンツとして、テキスト、リッチテキスト、画像、動画像、またはハイパーリンクなどによって構成されるコンテンツを入力する。本例では、マラソンのイラストおよびフォントサイズが相違する4行の文字列からなるリッチテキストによって構成されるコンテンツ61bを入力する。
さらに、投稿者は、(2-3)のカテゴリ名として、予め用意された複数のカテゴリ名のうちの、記事ページ61のカテゴリのカテゴリ名を入力する。記事ページ61はマラソン大会に関するものなので「スポーツ」というカテゴリ名を入力してもよいし、2023年に開催するイベントに関するものなので「2023」というカテゴリ名を入力してもよい。カテゴリ名を複数、入力してもよい。
テンプレートに記事ページ61の情報が入力されると、これらの情報を示す記事ページデータ7Eが管理用端末装置3B2からウェブサーバ2へ送信される。(2-2)のコンテンツとして画像または動画像が入力された場合は、その画像または動画像のファイルが付属ファイル7Fとして管理用端末装置3B1からウェブサーバ2へ記事ページデータ7Eとともに送信される。
新規記事ページ登録部203は、記事ページデータ7Eを受信すると、記事コンテンツ記憶部244に記憶させる。付属ファイル7Fとともに受信した場合は、記事ページデータ7Eと付属ファイル7Fとを対応付けて記事コンテンツ記憶部244に記憶させる。
記事ページファイル生成部204は、記事ページ61の情報を入力する際に使用されたテンプレートおよび記事ページ61の記事ページデータ7Eなどに基づいて、記事ページ61のHTMLファイル7Gを生成する。さらに、ユニークなファイル名(本例では、「000001.html」)を発行する。そして、HTMLファイル7Gを、発行したファイル名と対応付けて記事ページファイル記憶部245に記憶させる。
以上の処理によって、ウェブサーバ2への記事ページ61の登録(投稿)が完了する。記事ページ61以外の各記事ページ6(62、63、…)も同様の方法によってウェブサーバ2に登録される。
〔3.3 固定ページ5の更新〕
図13は、固定ページ更新処理の流れの例を示すフローチャートである。図14は、タスクデータ7Jの例を示す図である。
記事ページ6が更新され、削除され、または新たに登録されると、登録済の固定ページ5(図4参照)のうちのいずれかが生成し直される。以下、記事ページ61が新たに登録された場合を例に、図13のフローチャートを参照しながら、固定ページ5を生成し直す処理について説明する。
記事ページ61が新たに登録されると、タスク管理部205は、登録済の固定ページ5の中から記事ページ61のカテゴリ名に対応付けられているものを選出する(図13の#801)。なお、固定ページ5それぞれに対応付けられているカテゴリ名は、固定ページ5それぞれの固定ページデータ7Aに示されている。
そして、タスク管理部205は、選出した固定ページ5のHTMLファイル7Cを固定ページファイル記憶部242から削除するとともに(#802)、その固定ページ5のタスクデータ7Jを生成し、図14に示すようにタスク記憶部246に記憶させる(#803)。
タスクデータ7Jには、次のような情報が示される。「ファイル名」は、その固定ページ5の識別情報(ファイル名またはURL)である。「再生成予定時刻」は、その固定ページ5のHTMLファイル7Cの再生成を開始する予定の時刻であって、そのHTMLファイル7Cが削除された時刻に所定の待機時間Tを足した時刻である。例えば、削除された時刻が「15時59分57秒」であって、待機時間Tが「30秒」である場合は、再生予定時刻は、「16時00分27秒」である。
なお、タスク管理部205は、ステップ#801において複数の固定ページ5を選出した場合は、ステップ#802においてそれぞれのHTMLファイル7Cを固定ページファイル記憶部242から削除し、ステップ#803においてそれぞれのタスクデータ7Jを生成しタスク記憶部246に記憶させる。図4の通り、本例では、記事ページ61に対応付けられているカテゴリ名が「スポーツ」および「2023」なので、すべてのカテゴリ名が対応付けられている固定ページ50、「スポーツ」が対応付けられている固定ページ51、および「2023」が対応付けられている固定ページ54の少なくとも3つがステップ#801において選出される。そして、それぞれのHTMLファイル7Cが固定ページファイル記憶部242から削除され、それぞれのタスクデータ7Jが生成されタスク記憶部246へ記憶される。
待機時間Tは、固定ページ5ごとに異なっていてもよい。例えば、アクセスされる頻度の低い固定ページ5の待機時間Tを、高い固定ページ5の待機時間Tよりも長く設定してもよい。
また、タスク記憶部246は、キュー(待ち行列)の役割を有する。タスク記憶部246に記憶されるタスクデータ7Jは、再生成予定時刻の早い順に並べ換えられてもよい。
固定ページファイル生成部202は、上述の通り、管理用端末装置3Bから固定ページデータ7Aが送信されてきた際にHTMLファイル7Cを生成するが、さらに、タスク記憶部246に記憶されているタスクデータ7Jに基づいて次のタイミングでHTMLファイル7Cを生成する。
固定ページファイル生成部202は、現在の時刻が、あるタスクデータ7Jに示される再生成予定時刻に到達したら(#804でYes)、そのタスクデータ7Jに対応する固定ページ5のHTMLファイル7Cを生成し直して固定ページファイル記憶部242へ記憶させ(#806)、そのタスクデータ7Jをタスク記憶部246から削除する(#807)。
生成し直されたHTMLファイル7Cによると、固定ページ5の記事一覧には、その固定ページ5に対応付けられているカテゴリ名のカテゴリの記事ページ6それぞれのタイトルがハイパーリンクとして配置される。これらの記事ページ6には、新たな記事ページ6のタイトルが含まれている。
また、いずれかのタスクデータ7Jに対応する固定ページ5が閲覧用端末装置3Aから要求されることがあるが、上述の通り、その固定ページ5のHTMLファイル7Cが削除されている。そこで、そのような固定ページ5が要求された場合も同様に(#805でYes)、その固定ページ5のHTMLファイル7Cを生成し直して固定ページファイル記憶部242へ記憶させ(#806)、その固定ページ5のタスクデータ7Jをタスク記憶部246から削除する(#807)。
つまり、新たな記事ページ6が登録されると、その記事ページ6に関連する固定ページ5のHTMLファイル7Cが固定ページファイル記憶部242から削除される。そして、所定の時間が経過しまたはその固定ページ5が閲覧用端末装置3Aから要求された際に、その固定ページ5のHTMLファイル7Cが生成し直され、固定ページファイル記憶部242に記憶される。このような処理によって、固定ページ5が更新される。
さらに、固定ページファイル生成部202は、生成し直したHTMLファイル7Cのハッシュ値をハッシュ関数hによって生成する(#808)。そして、生成したハッシュ値とその固定ページ5の属性データ7Dに示されるハッシュ値とが一致しない場合は(#809でNo)、その属性データ7Dに示される生成日時およびハッシュ値を、それぞれ、そのHTMLファイル7Cを生成し直した日時および生成したハッシュ値に更新する(#810)。一方、両者が一致する場合は(#809でYes)、属性データ7Dの更新をスキップする。
ところで、ある固定ページ5のHTMLファイル7Cが再生成されるまでに、さらに、いずれかの記事ページ6が更新され、削除され、または新たに登録されることがある。その記事ページ6に対応付けられているカテゴリ名がその固定ページ5にも対応付けられている場合は(#811でYes)、タスク管理部205は、その固定ページ5のタスクデータ7Jの再生成予定時刻を、現在の時刻に待機時間Tを足した時刻に更新する(#812)。これにより、その固定ページ5のHTMLファイル7Cの生成が延期される。
例えば、16時33分20秒時点において、ある固定ページ5のタスクデータ7Jに示される再生成予定時刻が「16時33分27秒」であり、新たに記事ページ6が登録され、その記事ページ6に対応付けられているカテゴリ名がその固定ページ5にも対応付けられており、かつ、その固定ページ5の待機時間Tが「45秒」である場合は、タスク管理部205は、再生成予定時刻が「16時34分12秒」が示されるようにそのタスクデータ7Jを更新する。
ステップ#804~#812の処理は、ステップ#803でタスクデータ7Jが登録された各固定ページ5について実行される。
〔3.4 固定ページ5および記事ページ6の提供〕
図15は、リクエスト応答処理の流れの例を示すフローチャートである。
閲覧者は、閲覧用端末装置3Aを操作することによって固定ページ5および記事ページ6を閲覧することができる。以下、ある閲覧者が閲覧用端末装置3A1を操作する場合を例に、固定ページ5および記事ページ6の提供方法を説明する。
閲覧用端末装置3A1は、いずれかの固定ページ5のURLが閲覧者によって指定されると、リクエストデータ7Kをウェブサーバ2へ送信する。以下、固定ページ50のURLが指定された場合を例に説明する。
リクエストデータ7Kには、URLが指定された固定ページ5すなわち固定ページ50の識別情報(例えば、ファイル名)が示される。固定ページ50のHTMLファイル7Cが閲覧用端末装置3A1にキャッシュされている場合は、さらに、「If-Modified-Since」の値として、そのHTMLファイル7Cが取得された日時(キャッシュ日時)がリクエストデータ7Kに示される。
リクエスト応答部206は、リクエストデータ7Kを閲覧用端末装置3A1から受信すると、リクエストデータ7Kに対して応答する処理を、図15のフローチャートに示す手順で実行する。
リクエスト応答部206は、リクエストデータ7Kに示される識別情報に対応する固定ページ5(本例では、固定ページ50)のHTMLファイル7Cが固定ページファイル記憶部242に記憶されており(#821でYes)、かつ、固定ページ50の属性データ7Dに示される生成日時がリクエストデータ7Kに示されるキャッシュ日時よりも後である場合は(#822でYes)、そのHTMLファイル7Cを閲覧用端末装置3A1へ送信する(#823)。つまり、静的配信を行う。
そして、閲覧用端末装置3A1は、送信されてきたHTMLファイル7Cに基づいて固定ページ50を表示する。なお、そのHTMLファイル7Cに付属ファイル7Bへのリンクが示される場合は、閲覧用端末装置3A1は、その付属ファイル7Bをウェブサーバ2へ要求する。すると、リクエスト応答部206は、その付属ファイル7Bを閲覧用端末装置3A1へ送信する。そして、閲覧用端末装置3A1は、その付属ファイル7Bに基づいて固定ページ50の画像または動画像の部分を表示する。
一方、その生成日時がそのキャッシュ日時よりも先である場合は(#822でNo)、そのHTMLファイル7Cの代わりに、「304 Not Modified」のメッセージすなわち「更新されていない」ことを示すレスポンスデータ7Lを閲覧用端末装置3A1へ送信する(#824)。
閲覧用端末装置3A1は、レスポンスデータ7Lを受信すると、自らキャッシュしているHTMLファイル7Cに基づいて固定ページ50を表示する。HTMLファイル7Cに付属ファイル7Bへのリンクが示される場合は、自らキャッシュしているその付属ファイル7Bに基づいて固定ページ50の画像または動画像の部分を表示する。
または、そのHTMLファイル7Cが固定ページファイル記憶部242に記憶されていなければ(#821でNo)、図13のステップ#802で説明した通り、生成し直すために一旦、削除された可能性がある。そこで、リクエスト応答部206は、次のように動的配信を行う。
リクエスト応答部206は、そのHTMLファイル7Cを生成し直すように固定ページファイル生成部202に直ちに指令する(#825)。すると、図13のステップ#805で説明した通り、固定ページファイル生成部202によってそのHTMLファイル7Cが生成し直され、固定ページファイル記憶部242に記憶される。これにより、そのHTMLファイル7Cが更新される。
そして、リクエスト応答部206は、更新(再生成)されたHTMLファイル7Cを閲覧用端末装置3A1へ送信する(#826)。
すると、閲覧用端末装置3A1は、HTMLファイル7Cに基づいて固定ページ50を表示する。なお、そのHTMLファイル7Cに付属ファイル7Bへのリンクが示される場合は、ウェブサーバ2から取得してもよいし、自らキャッシュしている場合は、これを用いてもよい。
固定ページ50の記事一覧50dの中からいずれかのタイトルが選択されると、閲覧用端末装置3A1は、選択されたタイトルに対応する記事ページ6をウェブサーバ2へ要求する。
リクエスト応答部206は、その要求を受信すると、その記事ページ6のHTMLファイル7Gを閲覧用端末装置3A1へ送信する。
そして、閲覧用端末装置3A1は、HTMLファイル7Gに基づいてその記事ページ6を表示する。なお、そのHTMLファイル7Gに付属ファイル7Fへのリンクが示される場合は、閲覧用端末装置3A1は、その付属ファイル7Fをウェブサーバ2へ要求する。すると、リクエスト応答部206は、その付属ファイル7Fを閲覧用端末装置3A1へ送信する。そして、閲覧用端末装置3A1は、その付属ファイル7Fに基づいてその記事ページ6の画像または動画像の部分を表示する。
〔4.全体的な処理の流れおよび本実施形態の効果〕
図16は、ウェブサーバ2における全体的な処理の流れの例を示すフローチャートである。
次に、ウェブサーバ2の全体的な処理の流れを、図16のフローチャートを参照しながら説明する。ここでは特に、固定ページ51(図4、図7参照)を登録しまたは提供する場合を例に説明する。
ウェブサーバ2は、固定ページ51の固定ページデータ7Aを受信すると、固定ページ51を登録する処理として、固定ページ51のHTMLファイル7Cおよび属性データ7Dを生成する処理などを行う(図16の#11)。
記事ページ6に関する指令があった場合は(#12でYes)、その記事ページ6に関する処理を行う(#13)。例えば、新たな記事ページ6の記事ページデータ7Eを受信すると、その記事ページ6を登録する処理を行う。または、既存の記事ページ6の更新の指令があった場合は、その記事ページ6の記事ページデータ7Eを更新し、その記事ページ6のHTMLファイル7Gを生成し直す。または、既存の記事ページ6の削除の指令があった場合は、その記事ページ6の記事ページデータ7EおよびHTMLファイル7Gなどを削除する。
そして、ウェブサーバ2は、図13で説明した固定ページ更新処理を実行する(#14)。
すなわち、もしも、更新され、削除され、または新たに登録された記事ページ6に対応付けられているカテゴリ名が固定ページ51にも対応付けられていれば、ウェブサーバ2は、固定ページ51のHTMLファイル7Cを一旦削除する(図13の#802)。そして、再生成予定時刻になり(#804でYes)、または、固定ページ51が閲覧用端末装置3Aから要求されたら(#805でYes)、HTMLファイル7Cを生成し直す(#806)。HTMLファイル7Cを生成し直すまでに、いずれかの記事ページ6が更新され、削除され、または新たに登録され、その記事ページ6に対応付けられているカテゴリ名が固定ページ51にも対応付けられている場合は(#811でYes)、再生成予定時刻を、現在の時刻に待機時間Tを足した時刻に更新する(#812)。また、ステップ#802で削除したHTMLファイル7Cのハッシュ値と#806で再生成したHTMLファイル7Cのハッシュ値とが一致しない場合は(#809でNo)、固定ページ51の属性データ7D(図6参照)を、再生成したHTMLファイル7Cの生成日時およびハッシュ値が示されるように更新する(#810)。
または、閲覧用端末装置3Aから固定ページ51の識別情報を示すデータをリクエストデータ7Kとして要求された場合は(図16の#15でYes)、ウェブサーバ2は、図15で説明したリクエスト応答処理を実行する(#16)。
すなわち、ウェブサーバ2は、固定ページ51のHTMLファイル7Cを記憶しており(図15の#821でYes)、かつ、固定ページ51の属性データ7Dに示される生成日時がリクエストデータ7Kに示されるキャッシュ日時よりも後であれば(#822でYes)、そのHTMLファイル7Cを閲覧用端末装置3Aへ送信する(#823)。つまり、静的配信を行う。その生成日時がそのキャッシュ日時よりも先であれば(#822でNo)、「304 Not Modified」のメッセージを示すデータすなわちレスポンスデータ7Lを閲覧用端末装置3Aへ送信する(#824)。そのHTMLファイル7Cを記憶していなければ、固定ページ更新処理によって直ちにHTMLファイル7Cが生成し直されるので(図13の#806参照)、これを閲覧用端末装置3Aへ送信する(#826)。つまり、動的配信を行う。
ウェブサーバ2は、サービスを継続している間、発生したイベントに応じて図16のステップ#12~#16の処理を適宜、実行する。また、固定ページ51以外の固定ページ5についても同様に処理する。
本実施形態によると、ウェブサーバ2は、固定ページ5のHTMLファイル7Cを基本的に静的配信によって提供する。また、記事ページ6の追加、更新、または削除など、固定ページ5の構成が変わり得る可能性が生じた場合に、固定ページ5のHTMLファイル7Cを一旦削除する。そして、待機時間Tまでに固定ページ5のリクエストがあれば、HTMLファイル7Cを生成し直しHTMLファイル7Cを提供する。つまり、動的配信によってHTMLファイル7Cを提供する。一方、待機時間Tまでに固定ページ5のリクエストがなければ、HTMLファイル7Cを生成し直し、静的配信に備える。このような配信方法により、コストをあまり掛けることなく従来よりも安定的に固定ページ5を新しい状態で配信することができる。
また、ウェブサーバ2は、固定ページ5の再生成を待機している間に、その固定ページ5とカテゴリ名が共通する記事ページ6が更新され、削除され、または新たに生成されると、再生成予定時刻を設定し直すことによって、待機期間を延長する。これにより、HTMLファイル7Cを生成する回数を全体的に減らすことができ、さらなる安定化を図ることができる。
〔5.変形例〕
本実施形態では、ウェブサーバ2は、記事ページ6の追加、更新、または削除があった際に、その記事ページ6のカテゴリ名に対応付けられている固定ページ5のタスクデータ7Jをタスク記憶部246(図14参照)に登録するとともにその固定ページ5のHTMLファイル7Cを固定ページファイル記憶部242から削除したが、他のイベントがあった際にも同様に処理してもよい。固定ページ5の固定的な部分(例えば、図5に示すタイトル50a、タブ50b1~50b5、またはコンテンツ50cなど)が編集された場合にも、その固定ページ5のタスクデータ7Jを登録しその固定ページ5のHTMLファイル7Cを削除してもよい。
上述の通り、固定ページ5のHTMLファイル7Cのハッシュ値は、生成し直す前後で一致する場合がある。つまり、生成し直しても実質的に固定ページ5の構成が変わらないことがある。そこで、ウェブサーバ2は、レスポンスデータ7Lの登録およびHTMLファイル7Cの削除の前に、生成し直すことによって固定ページ5の構成が変わるか否かを判断してもよい。そして、構成が変わる場合にのみ、レスポンスデータ7Lの登録およびHTMLファイル7Cの削除を行ってもよい。なお、構成が変わるか否かは、記事一覧(例えば、図5に示す固定ページ50の記事一覧50d)のメンバが変わるか否かによって判断すればよい。
本実施形態では、ウェブサーバ2は、タスクデータ7Jに示される再生成予定時刻になったらHTMLファイル7Cを生成し直したが、リソースに余裕があれば(例えば、メインプロセッサ21aの使用率が所定の値未満であれば)、再生成予定時刻になるのを待たず、HTMLファイル7Cを生成し直してもよい。タスクデータ7Jが複数ある場合は、再生成予定時刻が早いものから優先的に生成し直せばよい。
本実施形態では、記事ページ6の記事一覧を有する固定ページ5のHTMLファイル7Cの再生成および提供を例に説明したが、他の固定ページ(ウェブページ)のHTMLファイルの再生成および提供にも、本発明を適用することができる。例えば、タイムラインを有し、スポーツのリアルタイム中継を行うウェブページの再生成および提供にも、本発明を適用することができる。
本実施形態では、図3に示した各手段をウェブサーバ2に纏めて設けたが、複数台の装置に分散して設けてもよい。
その他、ウェブページ提供システム1、ウェブサーバ2の全体または各部の構成、処理の内容、処理の順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
2 ウェブサーバ
202 ウェブページファイル生成部(生成手段、管理手段)
205 タスク管理部(削除手段)
206 リクエスト応答部(送信手段)
5 固定ページ(ウェブページ)
6 記事ページ
242 固定ページファイル記憶部
243 固定ページ属性記憶部(属性記憶手段)
3A 閲覧者端末装置(クライアント)
7C HTMLファイル

Claims (7)

  1. ウェブページを提供するウェブページ提供システムであって、
    前記ウェブページを表示するためのウェブページデータを記憶するウェブページ記憶手段と、
    前記ウェブページの構成に影響を及ぼす可能性がありまたは影響を及ぼすイベントが生じた場合に前記ウェブページデータを前記ウェブページ記憶手段から削除する削除手段と、
    クライアントから要求があった際に、前記ウェブページデータが前記ウェブページ記憶手段に記憶されている場合は、当該記憶されているウェブページデータを当該クライアントへ送信し、記憶されていない場合は、前記ウェブページデータを生成し直して当該クライアントへ送信するとともに前記ウェブページ記憶手段に記憶させる、提供手段と、
    を有することを特徴とするウェブページ提供システム。
  2. 前記提供手段は、前記ウェブページデータが前記ウェブページ記憶手段に記憶されていなければ、前記イベントが最後に生じた時点から所定の時間が経過した場合にも、前記ウェブページデータを生成し直して前記ウェブページ記憶手段に記憶させる、
    請求項1に記載のウェブページ提供システム。
  3. 前記所定の時間は、前記ウェブページへのアクセスの頻度が高いほど短く設定される、
    請求項2に記載のウェブページ提供システム。
  4. 前記ウェブページデータの生成日時を記憶する属性記憶手段と、
    前記提供手段によって前記ウェブページデータが生成し直された際に、前記ウェブページデータの全部分または所定の一部分の、生成し直す前後の内容が相違すれば、前記属性記憶手段に記憶されている前記生成日時を、前記ウェブページデータを生成し直した日時に更新し、同一であれば、前記生成日時を更新しない、管理手段と、
    を有し、
    前記提供手段は、前記要求の際に前記クライアントから提示された前記ウェブページデータのキャッシュ日時が、前記属性記憶手段に記憶されている前記生成日時よりも古い場合に前記ウェブページデータを送信し、新しい場合は当該ウェブページデータの代わりに前記ウェブページが更新されていないことを示すメッセージを送信する、
    請求項1ないし請求項3のいずれかに記載のウェブページ提供システム。
  5. 前記ウェブページは、1つまたは複数の所定のカテゴリのうちの少なくとも1つが対応付けられている1つまたは複数の記事ページを案内する一覧を有する固定ページであり、
    記イベントは、前記1つまたは複数の所定のカテゴリのうちの前記ウェブページと共通のカテゴリが少なくとも1つ対応付けられている記事ページが更新され、削除され、または新たな追加されることである、
    請求項1ないし請求項3のいずれかに記載のウェブページ提供システム。
  6. ウェブページを提供するウェブページ提供方法であって、
    前記ウェブページを表示するためのウェブページデータを記憶するウェブページ記憶手段を用意しておき
    前記ウェブページの構成に影響を及ぼす可能性がありまたは影響を及ぼすイベントが生じた場合に前記ウェブページデータを前記ウェブページ記憶手段から削除し、
    クライアントから要求があった際に、前記ウェブページデータが前記ウェブページ記憶手段に記憶されている場合は、当該記憶されているウェブページデータを当該クライアントへ送信し、記憶されていない場合は、前記ウェブページデータを生成し直して当該クライアントへ送信するとともに前記ウェブページ記憶手段に記憶させる、
    ことを特徴とするウェブページ提供方法。
  7. ウェブページの提供を、ウェブページ記憶手段に記憶されている前記ウェブページを表示するためのウェブページデータを送信することによって行うコンピュータに用いられるコンピュータプログラムであって、
    前記コンピュータに、
    前記ウェブページの構成に影響を及ぼす可能性がありまたは影響を及ぼすイベントが生じた場合に、前記ウェブページデータを前記ウェブページ記憶手段から削除する処理を実行させ、
    クライアントから要求があった際に、前記ウェブページデータが前記ウェブページ記憶手段に記憶されている場合は、当該記憶されているウェブページデータを当該クライアントへ送信する処理を実行させ、記憶されていない場合は、前記ウェブページデータを生成し直して当該クライアントへ送信するとともに前記ウェブページ記憶手段に記憶させる処理を実行させる、
    ことを特徴とするコンピュータプログラム。
JP2023078784A 2023-05-11 2023-05-11 ウェブページ提供システム、ウェブページ提供方法、およびコンピュータプログラム Active JP7351469B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023078784A JP7351469B1 (ja) 2023-05-11 2023-05-11 ウェブページ提供システム、ウェブページ提供方法、およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023078784A JP7351469B1 (ja) 2023-05-11 2023-05-11 ウェブページ提供システム、ウェブページ提供方法、およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP7351469B1 true JP7351469B1 (ja) 2023-09-27

Family

ID=88099268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023078784A Active JP7351469B1 (ja) 2023-05-11 2023-05-11 ウェブページ提供システム、ウェブページ提供方法、およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7351469B1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173361A (ja) * 1997-08-29 1999-03-16 Sharp Corp 分散ファイルシステムならびに当該システムの放送サーバ装置およびクライアント装置
JP2004038396A (ja) * 2002-07-01 2004-02-05 Nec Corp ポータルシステム
JP2005346609A (ja) * 2004-06-07 2005-12-15 National Institute Of Information & Communication Technology Webページ情報融合表示装置、Webページ情報融合表示方法、Webページ情報融合表示プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173361A (ja) * 1997-08-29 1999-03-16 Sharp Corp 分散ファイルシステムならびに当該システムの放送サーバ装置およびクライアント装置
JP2004038396A (ja) * 2002-07-01 2004-02-05 Nec Corp ポータルシステム
JP2005346609A (ja) * 2004-06-07 2005-12-15 National Institute Of Information & Communication Technology Webページ情報融合表示装置、Webページ情報融合表示方法、Webページ情報融合表示プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体

Similar Documents

Publication Publication Date Title
US20210349964A1 (en) Predictive resource identification and phased delivery of structured documents
US8533297B2 (en) Setting cookies in conjunction with phased delivery of structured documents
US9060007B2 (en) System and methods for facilitating the synchronization of data
US10755040B2 (en) Method and system for semantically generating and digitally publishing articles
EP2685695B1 (en) Method, system and computer storage medium for displaying microblog wall
CN104981800A (zh) 在页检索事件期间递送和显示页面预览
JP2002108870A (ja) 情報処理システムおよび情報処理方法
KR102087280B1 (ko) 편집 명령을 포함하는 메시지에 기초하여 전자 문서를 편집하는 서버 및 그 동작 방법
JP7351469B1 (ja) ウェブページ提供システム、ウェブページ提供方法、およびコンピュータプログラム
JP6832584B2 (ja) 情報処理装置およびコンピュータプログラム
JP2007219619A (ja) 情報管理プログラムおよび装置並びに方法
JP2007279900A (ja) コンテンツ配信の方法及び当該方法を実現するサーバ
JP2005100005A (ja) コンテンツ管理システムおよびコンテンツ管理方法ならびにそのためのプログラム
JP2002015005A (ja) 情報提供方法及びシステム
JP2007272444A (ja) コンテンツ管理装置、コンテンツ管理方法およびコンテンツ管理プログラム
JP2009205253A (ja) データ検索プログラム、データ検索装置およびデータ検索方法
JP2000020197A (ja) 情報処理状況提示方法及びネットワーク情報送受信システム並びに情報処理状況提示処理プログラムを記録した記録媒体
US20210357465A1 (en) Method and System for High Speed Serving of Webpages
JP2011048410A (ja) アンケート配信装置、方法及びコンピュータ・プログラム
JP2004088454A (ja) 画像情報表示システム
JP2004021651A (ja) 情報配信システム、配信情報表示プログラムおよび配信情報表示方法
CN113810738A (zh) 一种基于集线器渲染‘伪’b端的方法、装置及存储介质
JP2005182590A (ja) データ中継転送装置、コンピュータプログラム、プログラム記録媒体
KR101038779B1 (ko) 바탕화면 원격제어방법
JP2003288300A (ja) Webコンテンツの配信方法および配信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230517

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230727

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: 20230829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230905

R150 Certificate of patent or registration of utility model

Ref document number: 7351469

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150