HUSTOJエッセイ7-SAE展開


SAEは新浪のクラウドコンピューティングプラットフォームであり、最大の特徴はLAMPプラットフォームとほとんどシームレスな互換性である.
したがって、SAEにHUSTOJのWeb部分を配置するのは全く問題がなく、db_info.inc.php設定
static  $OJ_SAE=true; 
そして参考にします
http://code.google.com/p/hustoj/wiki/HTTPJudge
judgedの配置を行います.
ここで説明したいのは、新浪雲プラットフォームは多くの安全制限を持っています.サポートされている計算プラットフォームはウェブのみで、コンパイル、運行、監視などの操作をサポートできません.
ですから、別途に判定機を設置してjudged/judge_を実行しなければなりません.Cientですが、SAEはウェブ輸出を提供していますので、自分のインターネット輸出がない学校にとっては非常に貴重な資源です.
judgedはイントラネットで運行できます.24時間オンラインでも大丈夫です.例えば8-16時(勤務時間)だけオンラインで、先生は自分のオフィスのマシンに仮想マシンを装着して解決します.
実際にHTTPJudgeの運行メカニズムはSAEの量のために作られています.
伝統的なjudgedはmysqlと接続してポーリングして任務を完成しなければならないので、SAEは外部ネットワークとmysqlをつなぐ仕組みを提供していません.
SAEの唯一の対外輸出はWeb(HTTP)であるため、HTTPに基づいて一連の判定問題のクエリ、更新メカニズムを実現するのが最も直接的な答えです.
もちろん多くの標準が採用できます.例えば、WebService、XML-RPC、json-rpcなどですが、私は怠け者で、愚かなので、自分でセットを注文しました.
また、SAEはファイル操作APIに対応していないため、画像アップロードなどの機能は正常に動作しません.能力のあるユーザーは自分でコードを修正し、SAEのStrage機能を使ってシミュレーションファイルの操作を行うことができます.
開発能力がないユーザーは現地で全く同じ問題庫とデータのOJを構築し、問題を解いたらSAE SVNインターフェイスでアップロード同期を行い、SAEのメンテナンス作業量を最大化して減らすことができます.