Post

분산처리 데이터 파이프라인

분산처리 데이터 파이프라인

TTS 기반 논문 요약 스트리밍 시스템 아키텍처

1. 개발 및 배포 환경

  • GitLab → Jenkins → EC2
    • GitLab: 소스 코드 버전 관리
    • Jenkins: CI/CD 파이프라인
    • EC2: 리액트 및 스프링 부트 서비스 배포

2. 데이터 처리 및 저장

  • JSON 파일 수집 및 저장 (HDFS):
    • 논문 데이터를 JSON 파일로 변환 후 HDFS에 저장.
  • Hadoop:
    • TF-IDF 계산 및 임베딩 벡터 생성.
  • ElasticSearch:
    • Hadoop에서 처리된 데이터를 저장하고, 빠른 검색 및 조회 기능 제공.

3. TTS 변환 및 오디오 스트리밍

  • TTS 변환 프로세스:
    1. 논문 요약 텍스트를 추출.
    2. TTS 엔진으로 텍스트를 음성으로 변환.
    3. HLS 프로토콜을 통해 오디오 파일을 스트리밍.
  • 오디오 파일 처리:
    • TTS로 생성된 음성 파일을 짧은 세그먼트(segment)로 나눠 HLS에 맞춰 저장.
    • M3U8 파일을 생성하여 각 오디오 세그먼트를 관리.

4. HLS 기반 스트리밍 서비스

  • HLS 프로토콜 통신 흐름:
    1. 사용자가 웹 서비스에 접속 → M3U8 파일 요청.
    2. HLS 클라이언트(웹 브라우저 또는 미디어 플레이어)가 M3U8 파일을 읽고, 오디오 세그먼트를 순차적으로 재생.
  • EC2 스트리밍 서버:
    • 실시간 스트리밍 서비스 제공. 여러 사용자가 동일한 오디오 스트리밍을 동시에 청취 가능.

5. 웹 서비스와 스트리밍 통합

  • React 프론트엔드:
    • 사용자가 논문 요약 스트리밍 채널에 접속하는 인터페이스 제공.
  • Spring Boot 백엔드:
    • TTS 오디오 파일과 관련된 M3U8 파일을 제공하고, 사용자 요청 처리.
  • ElasticSearch:
    • 논문, 요약 텍스트, TTS 메타데이터 등을 저장하고 검색.

데이터 파이프라인 흐름

  1. JSON 논문 데이터 수집HDFS 저장
  2. Hadoop으로 TF-IDF 및 임베딩 벡터 처리
  3. ElasticSearch에 분석 데이터 저장
  4. TTS 엔진으로 텍스트 → 음성 변환
  5. HLS 프로토콜로 오디오 세그먼트 생성 및 미디어 서버 저장
  6. 사용자 요청M3U8 파일 제공오디오 스트리밍

시스템 아키텍처 흐름 요약

  1. 데이터 수집 및 저장: JSON 파일 → HDFS
  2. 데이터 처리: Hadoop (TF-IDF, 임베딩 벡터)
  3. TTS 변환 및 스트리밍 준비: TTS → HLS 청크
  4. HLS 스트리밍 서비스: EC2에서 실시간 스트리밍
  5. 사용자 요청 처리: React → Spring Boot → ElasticSearch → HLS 스트리밍
This post is licensed under CC BY 4.0 by the author.