---
# System prepended metadata

title: Stena データフロー

---

# Stena データフロー
## ゲーム
```sequence
Client->BQ: データ
Agent->BQ: クエリ発行
BQ->GCS: 前処理後のデータ
GCS->PubSub: 通知
PubSub->Predictor: 通知
GCS->Predictor: 前処理後のデータ
Predictor->Controller: 識別器の情報取得
Predictor->Predictor: 識別
Predictor->Controller: 識別結果
Predictor->BQ: 識別結果
```

## 経理
### 案1
```sequence
Client(vue)->GCS: 経費データ
Client(vue)->Controller: データアップロード完了
GCS->PubSub: 通知
PubSub->Predictor: 通知
GCS->Predictor: 経費データ
Predictor->Controller: 識別器の情報取得
Predictor->Predictor: 前処理・識別
Predictor->Controller: 識別結果
```

### 案2
```sequence
Client(vue)->GCS: 経費データ
Client(vue)->Controller: データアップロード完了
Function->GCS: BQへ移動\nリクエスト
GCS->BQ: 経費データ
Controller->Agent: 前処理リクエスト
Agent->BQ: 前処理\nクエリ発行
BQ->GCS: 前処理後データ
GCS->PubSub: 通知
PubSub->Predictor: 通知
GCS->Predictor: 経費データ
Predictor->Controller: 識別器の情報取得
Predictor->Predictor: 識別
Predictor->Controller: 識別結果
```

### 案3
```sequence
Client(vue)->GCS: 経費データ
Client(vue)->Controller: データアップロード完了
Controller->Predictor: 識別依頼(複数)
Predictor->Controller: 識別器の情報取得
GCS->Predictor: 経費データ
Predictor->Predictor: 前処理・識別
Predictor->Controller: 識別結果
```


# データチャートフロー
```flow
st=>start: Start
e=>end: End
op=>operation: Clientからデータアップロード完了通知
を受け取る
download=>operation: バケットからデータを取ってくる
op2=>operation: パース・DBに保存
op3=>operation: Predictorに識別依頼
op4=>operation: 識別結果の保存

st->op->download->op2->op3->e
```