분산처리 데이터 파이프라인
분산처리 데이터 파이프라인
TTS 기반 논문 요약 스트리밍 시스템 아키텍처
1. 개발 및 배포 환경
- GitLab → Jenkins → EC2
- GitLab: 소스 코드 버전 관리
- Jenkins: CI/CD 파이프라인
- EC2: 리액트 및 스프링 부트 서비스 배포
2. 데이터 처리 및 저장
- JSON 파일 수집 및 저장 (HDFS):
- 논문 데이터를 JSON 파일로 변환 후 HDFS에 저장.
- Hadoop:
- TF-IDF 계산 및 임베딩 벡터 생성.
- ElasticSearch:
- Hadoop에서 처리된 데이터를 저장하고, 빠른 검색 및 조회 기능 제공.
3. TTS 변환 및 오디오 스트리밍
- TTS 변환 프로세스:
- 논문 요약 텍스트를 추출.
- TTS 엔진으로 텍스트를 음성으로 변환.
- HLS 프로토콜을 통해 오디오 파일을 스트리밍.
- 오디오 파일 처리:
- TTS로 생성된 음성 파일을 짧은 세그먼트(segment)로 나눠 HLS에 맞춰 저장.
- M3U8 파일을 생성하여 각 오디오 세그먼트를 관리.
4. HLS 기반 스트리밍 서비스
- HLS 프로토콜 통신 흐름:
- 사용자가 웹 서비스에 접속 → M3U8 파일 요청.
- HLS 클라이언트(웹 브라우저 또는 미디어 플레이어)가 M3U8 파일을 읽고, 오디오 세그먼트를 순차적으로 재생.
- EC2 스트리밍 서버:
- 실시간 스트리밍 서비스 제공. 여러 사용자가 동일한 오디오 스트리밍을 동시에 청취 가능.
5. 웹 서비스와 스트리밍 통합
- React 프론트엔드:
- 사용자가 논문 요약 스트리밍 채널에 접속하는 인터페이스 제공.
- Spring Boot 백엔드:
- TTS 오디오 파일과 관련된 M3U8 파일을 제공하고, 사용자 요청 처리.
- ElasticSearch:
- 논문, 요약 텍스트, TTS 메타데이터 등을 저장하고 검색.
데이터 파이프라인 흐름
- JSON 논문 데이터 수집 → HDFS 저장
- Hadoop으로 TF-IDF 및 임베딩 벡터 처리
- ElasticSearch에 분석 데이터 저장
- TTS 엔진으로 텍스트 → 음성 변환
- HLS 프로토콜로 오디오 세그먼트 생성 및 미디어 서버 저장
- 사용자 요청 → M3U8 파일 제공 → 오디오 스트리밍
시스템 아키텍처 흐름 요약
- 데이터 수집 및 저장: JSON 파일 → HDFS
- 데이터 처리: Hadoop (TF-IDF, 임베딩 벡터)
- TTS 변환 및 스트리밍 준비: TTS → HLS 청크
- HLS 스트리밍 서비스: EC2에서 실시간 스트리밍
- 사용자 요청 처리: React → Spring Boot → ElasticSearch → HLS 스트리밍
This post is licensed under CC BY 4.0 by the author.