ファイル転送プロトコル仕様(Adobe Acrobat形式)

開発アプリケーション
データ転送サーバ
仕様書
作成日
概要編
委託業者
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