피드로 돌아가기
Dev.toBackend
원문 읽기
NMEA 0183/2000 DSC 데이터 유실 해결 및 JSONL 기반 고신뢰 로그 시스템 구축
Logging VHF DSC distress calls in SignalK (PGN 129808)
AI 요약
Context
기존 SignalK의 NMEA 0183 파서는 DSC 데이터의 필수 필드 누락 시 패킷을 폐기하는 구조적 결함 보유. 또한 수신된 긴급 구조 신호를 휘발성 알림으로만 처리하여 사후 추적이 불가능한 Persistence 결여 상태 분석.
Technical Solution
- Format 12 기반 Category 추론 로직을 도입한 Superset Parser 설계로 데이터 유실 방지
- 정밀도 향상을 위해 $--DSC의 분 단위 좌표를 $--DSE 확장 문장과 결합하는 Position Refinement 프로세스 구현
- 저빈도 트래픽 특성을 고려하여 전원 차단 시 데이터 손실을 최소화하는 Append-only JSONL 기반 저장소 채택
- 데이터 무결성 확보를 위해 원본 Sentence를 파싱 결과와 함께 보관하는 원천 데이터 보존 전략 적용
- 수신된 DSC 이벤트를 JSONL 로그, 알람 체인, 차트플로터 델타 등 5가지 Sink로 분산 전달하는 Canonical Event 모델 설계
실천 포인트
1. 외부 장비의 비표준 데이터 전송(필드 누락 등) 가능성을 고려한 Tolerance Parser 설계 여부 검토
2. 고정밀 데이터 확보를 위해 기본 패킷과 확장 패킷 간의 시간/ID 기반 Pairing 로직 적용 검토
3. 시스템 셧다운 시의 데이터 원자성을 위해 동기식 Append-only 파일 저장 방식 고려