TagBus
초고속 호스트 내부 데이터 교환 SDK
엔트리급 엣지 디바이스에서 초당 100,000+ 태그. 메시지 손실 없음.
단일 호스트에서 여러 애플리케이션이 실시간 데이터를 공유할 수 있는 개별 태그 중심 동기화 SDK.
처리량
지연 시간
CPU 사용량
메모리
공유 태그 공간
modbus/temperaturevision/defect_countinference/result모든 앱이 동등합니다. 자유롭게 읽고, 쓰고, 싱크합니다.
핵심 기능
초고속 데이터 교환
공유 메모리 기반 제로카피 아키텍처로 초당 100,000+ 태그 처리. 네트워크 스택 없이 마이크로초 단위 지연.
개별 태그 중심
배칭 없이 태그 하나하나를 개별적으로 읽고 쓰기. 1개든 100,000개든 같은 API, 같은 속도.
독립 프로세스 통신
부모-자식 관계 없이 완전히 독립된 프로세스 간 통신. 한 앱이 죽어도 다른 앱에 영향 없음.
메시지 손실 제로
시퀀스 기반 갭 감지와 자동 복구. 누락된 데이터를 감지하고 재전송을 요청—투명하게.
스토리지 친화적
지속적 디스크 I/O 없이 메모리에서 운영. 필요할 때만 스냅샷. SD카드, eMMC 수명 연장.
OS 무관
Linux (x86, ARM, RISC-V), Windows, POSIX 호환 시스템 모두 지원. 같은 코드, 같은 성능.
4계층 안정성 아키텍처
수십 개의 앱이 동시에 태그를 교환할 때 발생하는 동기화 폭주를 방지하는 다계층 방어 체계
요청 시점을 확률적으로 분산하여 동시 폭주 원천 방지
Thundering Herd 방지다른 구독자의 요청을 실시간 감지하여 중복 요청 사전 취소
1-Hop 중복 제거발행자의 응답 브로드캐스트를 감지하여 불필요한 요청 자동 철회
2-Hop 중복 제거최종 단계에서 시간 윈도우 기반 중복 응답을 필터링
최종 방어선L1→L2→L3→L4 순차 필터링으로, 최악의 경우에도 단 한 번의 응답만 발생합니다.
간단한 API
토픽 설계, 스키마 정의 없이 바로 사용
from tagbus import TagBus
bus = TagBus(app_id="sensor")
bus.connect()
bus.set_tags({
"sensor/temperature": 25.5,
"sensor/humidity": 60,
})
bus.commit()from tagbus import TagBus
bus = TagBus(app_id="monitor")
bus.connect()
bus.sync_tags(["sensor/**"])
bus.commit()
tags = bus.get_tags()기존 솔루션과 비교
vs. Redis / 인메모리 DB
| 기존 | TagBus | |
|---|---|---|
| 데이터 모델 | 키-밸류 스토어 | VTQ(값, 타임스탬프, 품질) 태그 |
| 동기화 | 폴링 또는 pub/sub 설정 | 자동 패턴 기반 싱크 |
| 장애 감지 | 수동 구현 | 하트비트 & 품질 지표 내장 |
vs. MQTT / 메시지 브로커
| 기존 | TagBus | |
|---|---|---|
| 아키텍처 | 중앙 브로커 프로세스 필요 | 브로커 없이 직접 통신 |
| 지연 시간 | 네트워크 왕복 | 공유 메모리 (마이크로초) |
| 메시지 손실 | QoS 트레이드오프 | 시퀀스 기반 자동 복구 |
적용 분야
엣지 AI 디바이스
비전 검사, 예지보전, 실시간 추론 시스템의 데이터 허브. 카메라, 추론 엔진, 리포터 간 고속 데이터 교환.
산업용 엣지 게이트웨이
PLC, 센서, HMI, SCADA 데이터를 통합 태그 공간으로 수집. 로컬 처리 후 클라우드 전달.
디지털 트윈
시뮬레이션, 모니터링, 제어 애플리케이션 간 동기화된 상태 유지.
멀티 프로세스 아키텍처
모놀리식 애플리케이션을 마이크로서비스로 분리. 상태 공유가 손쉬움.
SDK 지원
Python
지원 중3.9+C++
지원 중C++17언어 독립적 아키텍처로 다른 언어 바인딩 확장 가능
설치
pip install nodi-tagbussudo apt install nodi-tagbus-dev