開発アプリケーション データ転送サーバ 仕様書 作成日 概要編 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 AP−APプロトコル2 2−1 プロセス間通信 クライアントとデータ転送サーバ間の通信は本章のプロトコル手順により管理、統括される。 送信/受信データには、コマンドが付随してあり、シーケンス状態と受けたコマンドによって状態遷移を繰り返す。 サーバ→クライアント系コマンド 1.“SOP” (システム立ち上げ完了通知) 2.“SDA” (データ分割送信準備完了通知) 3.“DAT” (分割データ転送) 4.“SED” (分割データ転送完了通知) クライアント→サーバ系コマンド 1. “ROP” (データ送信要求通知) 2. “RDA” (分割データ送信要求通知) 3. “ROK” (分割データ総受信完了通知) 4. “RED” (データ送信処理終了通知) 計測名 アークショット チャンネル ブロック番号 バイナリデータサ 解凍後データサイズ イズ ascertain(確認 フラグ SOP 指定なし 指定なし 指定なし 指定なし 指定なし 指定なし 準備終了/継続不 SDA 指示計測名 指示アークショット 指示チャネル byte データ在り/なし DAT 指示計測名 指示アークショット 指示チャネル 指定なし 指定なし SED 指示計測名 指示アークショット 指示チャネル 総ブロック数 byte 転送ブロック番 ブロックデータサイズ 号 指定なし 指定なし 指定なし 全送信/不送信 ROP 目的計測名 目的アークショット 目的チャネル 指定なし 指定なし 指定なし 指定なし 指定なし 指定なし 指定なし コマンド RDA 目的計測名 目的アークショット 目的チャネル 目的転送ブロック番 号 ROK 目的計測名 目的アークショット 目的チャネル 指定なし 指定なし 指定なし RED 目的計測名 目的アークショット 目的チャネル 指定なし 指定なし 指定なし 指定なし ページ 1− 1 開発アプリケーション 仕様書 データ転送サーバ 作成日 概要編 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 2−2基本シーケンス 基本的なシーケンスは図のようになる クライアント サーバ ①SOP ① サーバのシステム立ち上げ完了通知 ② 計測器のデータを要求 ②ROP ③ ④SDA ⑤RDA ⑥DAT ブロック数分 繰り返す ⑦RDA ⑧DAT ③ インデックスサーバへ問い合わせ、データ読み込み、データ分割等の処理 ④ データサイズ、ブロック数等通知 ⑤ 指定したブロック番号のデータを転送要求 ⑥ 指示されたブロック番号のデータ送信 ⑦ 次のブロック番号のデータを転送要求 ⑧ 指示されたブロック番号のデータ送信 ⑨ 全ブロック転送完了通知 ⑨ROK ⑩ データ転送完了通知 ⑩SED ⑪ クライアント処理終了通知 ⑪RED ページ 1− 2 開発アプリケーション データ転送サーバ 仕様書 概要編 作成日 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 2−3正常シーケンス 正常にシーケンスを経過させるには条件が必要。 ascertain フラグの内容 サーバ側 SOP送信時{ サーバスレッドが正常に立ち上がり、初期化が済んだ。 インデックスサーバとのコネクションが確立した。 SOPを2回以上送出していない。 }TRUE SDA送信時{ 要求された計測名等に該当するデータがある。 データサイズが1バイト以上である。 }TRUE SED送信時{ 全てのブロックの送信が済んだ。 3回以上同じブロック番号を送信していない。 }TRUE クライアント側 ROK送信時{ 送られたデータのサイズがSDAで通知されたデータサイズと一致する。 }TRUE データ送信時の異常 DATで送られたサイズと実際のサイズが違う場合は、同ブロック番号を再送する。 ページ 1− 3 開発アプリケーション 仕様書 データ転送サーバ 作成日 概要編 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 2−4異常シーケンス 異常シーケンスの場合は、幾つかのケースが挙げられます。 1.SOP受信時 ascertain=FALSE クライアント サーバ SOP データ破棄 ascertain=FALSE ・サーバ側の準備が出来ていない。 RED ・形式的に破棄 する 2.SDA受信時 ascertain=FALSE クライアント サーバ SOP ・指示された計測名に該当するデータが無い。 ・該当するファイル又は、オブジェクトは在るがデータが無い ROP SDA データ破棄 ascertain=FALSE RED ・形式的に破棄 する ページ 1− 4 開発アプリケーション データ転送サーバ 仕様書 作成日 概要編 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 3.SED受信時 ascertain=FALSE クライアント サーバ SOP ROP SDA ブロック番号1要求 RDA データサイズと受信したデータ サイズが異なる等 DAT ブロック番号1要求 RDA ・同じブロック番号のデータを3回以上要求が在った。 ・データを破棄 DAT ブロック番号1要求 RDA DAT ブロック番号1要求 RDA SED ascertain=FALSE データ破棄 RED ページ 1− 5 開発アプリケーション 仕様書 データ転送サーバ 作成日 概要編 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 4.ROK受信後のSOP受信時 ascertain=FALSE クライアント サーバ クライアント SOP SDA ブロック番号1要求 ROP SDA ブロック番号1要求 全ブロック数4つ ブロック番号2要求 RDA 全ブロック数4つ RDA DAT ブロック番号3要求 RDA DAT ブロック番号3要求 続き RDA DAT DAT ブロック番号2要求 サーバ RDA DAT 全ブロック転送完了 RDA DAT ROK SOP 未送信ブロック在り ascertain=FALSE データ破棄 全ブロック転送完了 ROK 未送信ブロック在り RED ・ 回目のSOP 送出 SOP データ破棄 ROP 続く ページ 1− 6 開発アプリケーション 仕様書 データ転送サーバ 作成日 概要編 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 5.ROK送信時 ascertain=FALSE クライアント サーバ SOP ROP SDA ブロック番号1要求 ・ ・ ・ ・ ・ ブロック番号n要求 データサイズ128K RDA DAT ・ ・ ・ ・ ・ RDA ・転送データは、破棄しない。 (圧縮データなので解凍時異常が生じる) 総転送サイズ≠128K ascertain=FALSE DAT ROK SOP ROP ページ 1− 7 データ転送サーバ 開発アプリケーション 仕様書 作成日 概要編 委託業者 CTCシステムデザイン株式会社 6.タイムアウト SOP受信待ちタイムアウト クライアント 作成者 杉崎 SDA受信待ちタイムアウト サーバ クライアント SOP サーバ SOP ・タイムアウト発生 ROP データ破棄 RED SDA ・形式的に破棄 する ・タイムアウト発生 ROK SOP送信三回異 SOP ROP受信待ちタイムアウト クライアント ascertain=FALSE ascertain=FALSE サーバ ascertain=FALSE SOP 常になると ROP ROP ・タイムアウト発生 SOP ROP ページ 1− 8 開発アプリケーション データ転送サーバ 仕様書 作成日 概要編 委託業者 CTCシステムデザイン株式会社 RDA受信待ちタイムアウト クライアント 作成者 杉崎 DAT受信待ちタイムアウト サーバ クライアント サーバ SOP SOP ROP ROP SDA SDA RDA RDA ・タイムアウト発生 DAT SOP ・タイムアウト発生 ROP ascertain=FALSE ROK SOP ページ 1− 9 開発アプリケーション データ転送サーバ 仕様書 作成日 概要編 委託業者 CTCシステムデザイン株式会社 ROK受信待ちタイムアウト クライアント 作成者 杉崎 SED受信待ちタイムアウト サーバ クライアント サーバ DAT DAT RDA RDA DAT DAT ROK RDA ・タイムアウト発生 DAT SOP ascertain=FALSE ROK ROK SED ・タイムアウト発生 ROK ページ 1− 10 開発アプリケーション データ転送サーバ 仕様書 作成日 概要編 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 RED受信待ちタイムアウト クライアント サーバ DAT RDA DAT ROK SED RED 終了処理 ・タイムアウト発生 終了処理 ページ 1− 11 開発アプリケーション 仕様書 データ転送サーバ 作成日 概要編 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 2−5シーケンス遷移票 1.サーバ側の遷移 タイムオーバー 未受信 ROP受信 ROK受信 RDA受信 TURE RED 受信 FALSE 【SOP】 電文送信待ち (初期化中) 【SOP】 SOP送出後 *ROK受信時 と同じ TRUE FALSE 初期化終了 サーバダウン 【SDA】 【SOP】 FALSE TURE FALSE TURE FALSE 該当デー タ在り 該当データ なし SOP送信2回以内 3回SOP送信 SOP送信2回以内 3回SOP送信 【SOP】 SDA送出後 【SOP】 TRUE 【DAT】 DAT送出中へ *ROK受信時 と同じ 【SOP】 【SOP】 【SOP】 TURE FALSE TURE FALSE SOP送信2回以内 3回SOP送信 SOP送信2回以内 3回SOP送信 未送信ブロック有り TURE 【DAT】 FALSE 【SED】 DAT送出後 DAT送出中へ *ROK受信時 と同じ SED送出後 終了処理 【SOP】 TRUE FASLE FALSE TURE FALSE 全ブロック送信 未送信ブロ ック在り 同ブロック番 号3回送信 SOP送信2 回以内 3回SOP 送信 終了処理 終了処理 ※ 票の空白部分に該当する処理が現れる時は、エラープロトコル。 ページ 1− 12 開発アプリケーション データ転送サーバ 仕様書 作成日 概要編 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 2.クライアント側遷移 SOP受信 SDA受信 SED受信 DAT受信 タイムオーバー 電文受信待ち (SOP受信待ち) 【RED】 データ破棄 処理終了 【RED】 TURE FALSE 【ROP】 【RED】 データ破棄 処理終了 計測名 TURE FALSE TURE FALSE 【RDA】 【RED】 【RED】 データ破棄 処理終了 【RED】 初ブロック番号 データ破棄 処理終了 データ破棄 処理終了 FALSE ROP送信後 データ破棄 処理終了 【RED】 RDA送信後 次ブロック 番号 データ破棄処 理終了 【RED】 ROK送信後 【RDA】 FALSE FALSE データ保存 データ破棄 【RED】 データ破棄 処理終了 【ROP】 【RED】 【RED】 【RED】 計測名 データ破棄 処理終了 データ保存 処理終了 データ破棄 処理終了 FALSE データ破棄処 理終了 【ROK】 TRUE 【RED】 RED送信後 処理終了 ※ 票の空白部分に該当する処理が現れる時は、エラープロトコル。 ページ 1− 13 開発アプリケーション 仕様書 データ転送サーバ 作成日 概要編 委託業者 CTCシステムデザイン株式会社 作成者 杉崎 2−7APプロトコルシーケンスの起動 APプロトコルの起動は、サーバクラス内で仮想受信の発生により開始されます。 メッセージを仮想受信したサーバクラスは、自己のステータスを更新し、SOP送信の準備に入ります。 クライアントクラスは、パイプをオープンさせた後直ちに電文受信待ち状態に移行し、サーバからの電文受信に備える。 電文を受信したサーバ/クライアントクラスは、APプロトコル仕様書に従って、遷移を繰り返す。 2−8エラー発生時の処理 エラーの発生するタイプとして、3つの状態が考えられる。 ①自己のエラー(ステータス異常、関連処理の異常等) ②通信相手のエラー(受信電文のステータス情報にエラー設定) ③プロトコルエラー(異常遷移) 1.自己エラー発生について。 ・ステータス異常/関連処理の異常が確認された場合のシーケンス。 電文受信処理 ***処理 エラーフラグ設定 エラー情報表示 電文送信処理 パイプクローズ (異常発生) 2.通信相手エラー発生について。 ・受信電文のステータス情報にエラーが設定されていた場合のシーケンス。 電文受信処理 受信電文チェック エラー情報表示 パイプクローズ (エラー設定) 3.プロトコルエラー発生について ・異常遷移が発生した場合のシーケンス。 エラーフラグ設定 受信電文チェック 電文受信処理 エラー情報表示 電文送信処理 パイプクローズ (プロトコルエラー発生) ページ 1− 14
© Copyright 2024 ExpyDoc