• ベストアンサー

新幹線、飛行機のチケット予約システムについて

現在は窓口とインターネットで取引ができます。 そこで質問です。 窓口とインターネットで同時期に同じ席を 予約する可能性はあると思うのですが どのようにして回避しているのでしょうか? また、残り一席であった場合も同様にです。 理由は インターネットショッピングだけであれば 先に登録をしてしまえば後から登録した人は 後と判断できると思います。 ですけど下記のような事例があると思います。 事例1 窓口でお客様に予約を受けましたと言った後 画面で操作する瞬間に 他者がWEBで登録すると 「すでに予約されてます。」 と表示されるのでしょうか? その後、お客様に 「予約をキャンセルしてください。」 と言うのですか? システム要件的には 窓口とインターネットのどちらかで 画面を表示中はデータベースをロックしているのですか? システム要件的な意見 実際システムを利用している方の意見 をいただけないでしょうか? よろしくお願いいたします。 長文でつたない文を読んでいただきありがとうございます。 PS.私はシステム関連で仕事経験が3年程度の者です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.3

★画面表示のロックは必要ありません。 ・窓口でもインターネットでもどちらかが予約要求に入ったらば、他の一方は登録待避状態に  ロックしておきます。このようなロックを『排他制御』と呼びます。 ・ここのQ&Aでも回答ページでメッセージを入力して回答を投稿しようとしたときにタッチの  差で締め切られてしまうと『投稿エラー』となります。→過去に2回ほど経験しました。  あぁ、締め切られた!ってね。 ・とにかく窓口でもインターネットでも予約要求されたらば、別の方は登録待避状態にする処理を  行うしかありません。窓口の画面では、リアルタイムで表示できますが、インターネットの方は  お客さんがブラウザでページを更新するか登録画面で、もう予約できなかったというメッセージ  をだすまで気づきません。このため、ブラウザでも予約などの表示をリアルタイムで表示できる  仕組みが好ましいです。CGI、Perl、PHP などで同期をとるような仕組みを取れば良さそうです。 最後に: ・『排他制御』に関しては次の関連質問と  http://oshiete1.goo.ne.jp/qa2916783.html→『マルチスレッドについて』  マルチスレッドを使って『排他制御』を行う記事が  http://www.kumei.ne.jp/c_lang/sdk/sdk_87.htm→『第87章 マルチスレッド その1』  http://www.kumei.ne.jp/c_lang/sdk/sdk_88.htm→『第88章 マルチスレッド その2』  http://www.kumei.ne.jp/c_lang/sdk/sdk_89.htm→『第89章 マルチスレッド その3』  http://www.kumei.ne.jp/c_lang/sdk/sdk_90.htm→『第90章 マルチスレッド その4』  http://www.kumei.ne.jp/c_lang/sdk/sdk_91.htm→『第91章 マルチスレッド その5』  http://www.kumei.ne.jp/c_lang/sdk/sdk_92.htm→『第92章 マルチスレッド その6』  http://www.kumei.ne.jp/c_lang/sdk/sdk_93.htm→『第93章 マルチスレッド その7』  などに載っています。  C 言語用ですが参考になればと思い紹介しました。 ・以上。参考に!

参考URL:
http://ja.wikipedia.org/wiki/クリティカルセクション
helpMeSS
質問者

お礼

技術的な意見も頂き非常に助かります。 私はJAVAのWEB系ですが参考URLも大変助かります。 他の方にも、同じように回答しているのですね 回答の信頼性を感じます。

その他の回答 (2)

  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.2

窓口でも同じですよ。  窓「真ん中の席ならひとつ空いてますが...」  私「仕方ないですね...お願いします」  窓「あ、すみません。先に取られてしまいました」 という経験は個人的にもあります。 仮に最初に表示した窓口(個人)画面に(全国にひとり)しか 表示されないとなったら、決して自分に順番が回ってくる ことがなくなってしまうでしょう(^^;

helpMeSS
質問者

お礼

2度も回答していただき誠にありがとうございます。 結局窓口業務でも同じことがおこりえるのですね。 びっくりしました・・・ 世の中、すぐに切れてしまう人が結構いるものですから(汗 大方解決できたのですがもう少しだけ 期限を延ばしたいと思います。

  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.1

>システム要件的には >窓口とインターネットのどちらかで >画面を表示中はデータベースをロックしているのですか? 画面表示をロックする必要は無いでしょう。 購入手続き中に他のリクエストをロックすれば十分です。 ですから、画面には”空席1”と表示されていても、購入手続きを行うと、 購入手続きに失敗(先に取られてしまう)ということが良く起こります。 しかし、これでシステム的に矛盾(不都合)を生じるようなことにはなりません。

helpMeSS
質問者

お礼

ご回答ありがとうございます。 画面表示はみんな一斉にでけども 先に購入手続きした者が決定権を得るという のが一般的なんですね。 ただ、窓口でのときが・・・ どうなんでしょう

関連するQ&A