Files
DAT10/docs/dat10_data_spec.md
2026-10-06 13:37:13 +09:00

80 lines
4.5 KiB
Markdown

# DAT10: 데이터 마이닝 기반 공급망 재난 식별 및 야전 군수 재고 관리 데이터/시스템 명세서
## 1. 개요 및 배경
- **프로젝트 ID:** DAT10
- **과제명:** 데이터 마이닝 기반 공급망 재난 식별 SaaS (방산 공급망 회복력 및 전술 통신 두절 환경 대응)
- **배경 환경:** 미국 방위산업기반(Defense Industrial Base, DIB) 공급망 회복력 분석 및 적 전자전(EW)/통신 두절 하 최전방 야전 부대 재고 자립 관리
- **목표:**
1. 통신 단절(오프라인) 상태에서 단말 간 독립적 군수 트랜잭션 처리 및 SHA-256 해시체인 무결성 보장
2. 네트워크 복구 시 CRDT (Conflict-free Replicated Data Types) 기반 무손실·무충돌 양방향 동기화
3. 다차원 데이터마이닝(비지도 이상치 탐지 및 다변량 규칙 앙상블)을 통한 방산 공급망 재난 조기 식별
4. 군수관/지휘관 개입(HITL) 3단계 수동 병합 결심 체계 및 전술 모바일/웹 SaaS 대시보드 구축
---
## 2. 시스템 아키텍처 및 데이터 흐름
```
[전방 야전 단말 (Offline)] ──(P2P / USB 동기화)──▶ [인접 단말 (Offline)]
│
(해시체인 무결성 기록)
│
[네트워크 복구 (EW 해제)]
│
▼
[CRDT 동기화 엔진 (LWW-Element-Set)] ──▶ [신뢰도 평가 & 위변조 검증 엔진 (SHA-256 / Merkle)]
│
▼
[데이터마이닝 공급망 재난 탐지기] ────▶ [Streamlit 전술 대시보드 UI]
│ │
▼ ▼
[이상 징후 / 동기화 충돌] ──────────────▶ [군수관 HITL 승인 및 사후 AAR 튜닝]
```
---
## 3. 로컬 SQLite 데이터베이스 명세
### 3.1 `inventory_items` (마스터 재고)
| 필드명 | 타입 | 제약조건 | 설명 |
| :--- | :--- | :--- | :--- |
| `nsn_code` | TEXT | PRIMARY KEY | 국가재고번호 (예: 1005-01-123-4567) |
| `item_name` | TEXT | NOT NULL | 품목명 (예: 5.56mm K2 보통탄, K9 유압밸브) |
| `supply_class` | TEXT | NOT NULL | 보급분류 (Class I ~ Class IX) |
| `criticality_level` | TEXT | CHECK | 전략 중요도 (CRITICAL, HIGH, NORMAL, LOW) |
| `unit_cost` | REAL | NOT NULL | 조달 단가 (USD) |
| `safety_stock_threshold` | INTEGER | NOT NULL | 안전 재고 기준선 |
| `total_local_stock` | INTEGER | NOT NULL | 로컬 현재 재고 |
| `crdt_clock` | INTEGER | NOT NULL | CRDT 상태 버전 클록 |
| `updated_at_utc` | TEXT | NOT NULL | 갱신 일시 (ISO-8601) |
### 3.2 `offline_transactions` (오프라인 수불 로그 & 해시체인)
| 필드명 | 타입 | 제약조건 | 설명 |
| :--- | :--- | :--- | :--- |
| `transaction_id` | TEXT | PRIMARY KEY | 고유 트랜잭션 번호 (TX-XXXX) |
| `terminal_id` | TEXT | NOT NULL | 단말 식별자 (TERM-XXXX) |
| `unit_id` | TEXT | NOT NULL | 부대 기호 (BN-01, BDE-03 등) |
| `nsn_code` | TEXT | FOREIGN KEY | 재고 품목 코드 |
| `tx_type` | TEXT | NOT NULL | 수불유형 (RECEIPT, ISSUE, TRANSFER 등) |
| `quantity` | INTEGER | > 0 | 변동 수량 |
| `stock_after` | INTEGER | >= 0 | 변동 후 잔여 수량 |
| `comms_status` | TEXT | NOT NULL | OFFLINE_LOCAL, DEGRADED_EW, ONLINE |
| `grid_coords` | TEXT | - | MGRS 좌표 |
| `weather_condition` | TEXT | - | 야전 기상 환경 |
| `lamport_timestamp` | INTEGER | NOT NULL | 램포트 인과율 논리 시계 |
| `timestamp_utc` | TEXT | NOT NULL | 트랜잭션 기록 일시 |
| `prev_hash` | TEXT | NOT NULL | 직전 레코드 해시값 (초기값: 64자 0) |
| `record_hash` | TEXT | NOT NULL | 현재 레코드 SHA-256 해시값 |
| `sync_status` | TEXT | NOT NULL | PENDING, SYNCED_P2P, SYNCED_CLOUD, CONFLICT |
### 3.3 `sync_conflict_queue` (충돌 해결 큐)
- 단말 간 동일 품목에 대해 동시성 충돌 발생 시 LWW(Last-Write-Wins) 기본 처리 후, 허용 범위를 초과하는 불일치는 HITL 큐로 이관.
---
## 4. 데이터마이닝 공급망 위협 지표 정의
1. **리드타임 이상 급증 (Lead Time Anomaly Index):** 협력업체 조달 납기 급증 탐지
2. **부품 단종 및 희토류/원자재 고갈 위험도 (DIB Obsolescence Risk):** DIB 2~3차 벤더 공급망 단절 예측
3. **오프라인 급격 소모 지수 (Burn Rate Spike):** 작전 중 비인가 불출 및 이상 소모 감지
4. **해시 불일치 위변조 지수 (Integrity Violation Score):** 데이터 스푸핑 및 불법 변조 시도 차단