自分でやってください。 ツアーの価格統計を収集するサービスの作り方

仕事は仕事ですが、時にはリラックスしたいこともあります。 暑い国に休暇に行くとしましょう。 すぐにいくつかの質問がありますが、その主なものは次のとおりです。



1)休息する場所

実際、今どこにいるのか(いつそこに集まったのか)、入国にビザが必要か、チケットの費用などを判断するために、多くの情報源を読み直す必要があります。



2)休息するとき

エジプトで休暇を過ごしたいが、いつわからないことを知っているとします。 多くの人にとって最も重要な質問は、いつそこに行く最も安い方法ですか? 天気がどのようなものかなどを知ることも重要です。



画像



仕組み



読み込み中



多くのツアーオペレーターは、価格をダウンロードするためのいわゆるxml-gatewaysを持っています。 これらのゲートウェイを介して、特定の観光商品の価格を取得できます。 残念ながら、このデータにアクセスするには、ツアーオペレーターとの契約が必要になることがよくあります。 そのため、エクスポートのみが失敗します。 これを行うには、法人として登録し、多くの文書の署名に苦しむ必要がありました。



ツアーオペレーターが提供するデータは次のようになります。



<entry> <tour_date>18.11.2014</tour_date> <aircompany> (  / )</aircompany> <town> / Paphos</town> <room>STANDARD Inland View BB</room> <dt>18.11.2014</dt> <id_hotel>102610001680</id_hotel> <id_ns>104610415895</id_ns> <duration>1</duration> <o_duration>1</o_duration> <quota>9</quota> <id_price>121132934133</id_price> <price> <amount>435</amount> <RUR>25435</RUR> <ag>14+, 14+</ag> <id_vr>102510005340</id_vr> </price> </entry>
      
      





週に1回、組み込みのJavaスケジューラが情報収集プロセスを開始します。 1回のパスで、世界21か国の4,000を超えるホテルが表示されます。



データ収集は、100人以上のツアーオペレーターで実施されています。



データは、オンデマンドデータベースに慎重に保存されます。



新しいホテルも自動的に追加されます。 これにより、ホテルの名前またはその閉鎖を変更する問題が解決します。



また、多くの追加情報を自動的に収集します。



おおよそのデータベーススキーマは、多くのパラメーターを示しています。







現在、Apache Derbyデータベースには約2 GBのデータが含まれています。



休息の場所



ユーザーは、将来の旅行の基準のいくつかを知っているが、目的地を知らないという事実に基づいています。



価格に関する統計データに基づいて、補助データを使用します。つまり:

-日付と休日の簡単な説明。

-遠足、その価格、簡単な説明と種類(情報提供、極端、観光);

-特定の国へのビザの必要性、おおよその価格、生産時間、受け取り場所。

-飛行時間;

-ホテルでの食事。

サービスによって提供される21か国のそれぞれがどの程度適合するかの割合として計算できます。



すべてのパラメーターのバランスが取れているため、それほど巧妙ではない式を適用すると、興味深い結果を得ることができます。



画像



休息するとき



この場合、ユーザーは自分が行きたい場所を知っており、価格と天気がどのように変化したかだけでなく、国の追加パラメーターも確認したいだけです。



この場合、いわゆる「カントリーカード」を表示するだけで、多くの有用な情報が反映されます。



画像



創造の歴史



このアイデアは、私の大学の3年目(2010年末)に始まりました(SPbSPUのおかげです)。

私はどういうわけか休暇に行きたかったのですが、問題がありました-いつ安いのか、どこで休むのが暖かいのかは不明です。

さまざまな、時には矛盾する情報がフォーラムに投稿されていますが、実際の統計情報を含むデータサイトは見つかりませんでした。

IT分野で慣習的であるように、解決策が見つからない場合は、自分で作成してください。



最初のステップは手動データ収集でした。 Excelにはタブレットがあり、データに応じてグラフを作成する関数がいくつかありました。 しばらくすると、データを追加するのが面倒になりました(または単に忘れていました)。



2番目のステップは、C ++言語を学習することでした。 大学ではほぼ間もなく、C ++言語の学習を開始し、そのプロジェクトで簡単なプロジェクトを実行しました。 私はすぐにデータ収集プロセスを自動化することを望み、いくつかのツアーオペレーターからデータを収集するサービスを作成しました。 彼はデータをファイルに入れたので、データベースやWebサーバーに疑問はありませんでした。 このサービスは、自宅のコンピューターの王冠で開始されました。



3番目のステップは、EJB(Java EE)を学習しながらプロジェクトをJavaで完全に書き換え、リレーショナルDBMSとWebサーバーを追加してユーザーにデータを表示することです(表形式ビュー)。



将来、グラフ作成、パフォーマンスの向上、バグの修正などのために、さまざまなjsライブラリを追加しました。

自宅のコンピューターから「実際の」サーバーにサービスを転送した

過去の作品の1つから同僚にサイトデザインを注文しました。



なんでこんなこと?



実際、すべてがシンプルです-このプロジェクトは、独自に使用するためだけに開発されました。 最も安くて楽しい滞在のための情報が欲しかった。



それから、誰もが自分の役に立つ情報を見つけられるように、情報を全世界と共有したかったのです。



今、これは趣味であり、時々その開発に携わっています。 ホスティング、ドメイン、証明書、デザイン、時間(時は金なり)を除き、特別な投資はしません。



レイアウトにエラーがあるか、その他の小さな問題がある可能性があります。厳密に判断しないでください。



共有は大歓迎です

protury.info



All Articles