Skip to content

TEAM-3V3R/backend

Repository files navigation

화록

AI 기반 디지털 창작자 히스토리 및 기여도 분석 플랫폼


📌 개요

화록은 생성형 AI를 활용한 이미지 창작 과정에서
인간 창작자의 프롬프트 작성, 수정, 후처리 개입 과정
기술적으로 기록·분석하여 실질적인 기여도와 창의성을 증명하는 플랫폼입니다.

AI가 생성한 결과물만이 아니라 창작 과정 전체를 데이터로 기록하여
창작 증명 및 저작권 판단에 활용할 수 있는 기술적 근거를 제공합니다.


🎯 프로젝트 목표

  • AI 생성 이미지에 대한 인간 창작자의 개입 요소 추적
  • 프롬프트·이미지·후처리 작업의 히스토리 자동 기록
  • 창작자의 기여도 및 창의성 정량 평가
  • 저작권·창작 증명에 활용 가능한 기술적 근거 데이터 제공

🏗️ 아키텍처

image

🎥 시연 영상

화록 시연 영상


📂 패키지 구조

src/main/java/_v3r/project
├── category        # 프롬프트 / 이미지 카테고리 관리
├── common          # 공통 응답, 예외 처리, 유틸
├── flask/service   # Flask(SAM) 서버 연동
├── history         # 창작 히스토리 관리
├── imageflow       # 이미지 생성 및 처리 흐름
├── prompt          # 프롬프트 생성 및 분석
├── report          # 창의성·기여도 분석 리포트
├── user            # 사용자 관리
└── ProjectApplication.java

🔌 WebSocket 이벤트 처리

Unreal Engine에서 발생하는 작업 이벤트를 WebSocket으로 수신합니다.

대량 이벤트 수신 환경에서 반복 조회 부하가 발생하는 문제를 해결하기 위해

  • Ehcache 기반 TTL 캐시 적용

을 통해 조회 성능을 개선했습니다.


🤖 AI 서버 연동 구조

이미지 생성 및 분할 처리를 위해 Flask 기반 AI 서버와 연동했습니다.

  • Spring 서버 → Flask 서버 REST 통신
  • 이미지 처리 요청 비동기 구조 적용
  • Flask 서버 장애 시 백엔드 서비스 영향 최소화

AI 연산 작업을 웹 요청 처리와 분리하여 서비스 안정성을 확보했습니다.


🔐 인증 시스템

Spring Security 기반 JWT 인증 구조를 구현했습니다.

  • Access Token / Refresh Token 기반 인증
  • Access Token → Header 전달
  • Refresh Token → HttpOnly Cookie 기반 관리

Refresh Token은 Redis에 저장하여 다음 기능을 제공합니다.

  • 로그아웃 시 토큰 무효화
  • 인증 사용자 캐싱
  • 토큰 탈취 대응

JWT 검증 필터에서는 Redis 조회를 수행하지 않도록 설계하여 요청 처리 성능 저하를 방지했습니다.

⚙️ 성능 최적화

1. DB 커넥션 문제 해결

외부 API 호출 지연으로 인해 DB 커넥션 반환이 지연되는 문제가 발생했습니다.

RDS에서 sleep 세션이 장시간 유지되며 커넥션 풀이 점유되는 현상을 확인했습니다.

이를 해결하기 위해

  • HikariCP 커넥션 풀 설정 조정
  • 외부 API 호출을 비동기 처리 구조로 분리

하여 요청 처리 병목을 개선했습니다.


2. 캐시 기반 조회 성능 개선

채팅 및 히스토리 조회 API는 생성 빈도보다 조회 빈도가 높은 특성을 가집니다.

이를 해결하기 위해

  • Ehcache 기반 @Cacheable 적용
  • TTL 기반 캐시 만료 정책 설정

을 통해 DB 반복 조회를 줄이고 읽기 성능을 개선했습니다.


📊 로그 및 모니터링

서비스 운영 중 발생하는 요청 흐름과 오류 원인을 추적하기 위해 Logback 기반 로깅 시스템을 도입했습니다.

  • API 요청 처리 흐름 로그 기록
  • 외부 API 호출 로그 수집
  • 장애 발생 시 원인 분석 및 디버깅 환경 구축

🏆 성과

  • ICT 한이음 프로젝트 중간평가 우수작 선정
  • 프로젝트 관련 특허 출원 진행 중

성능 개선 결과

항목 개선 전 개선 후
Sleep 세션 유지 시간 500 ~ 1000s 90 ~ 180s
DB 연결 수 12 8

모니터링 지표 분석을 기반으로 캐싱 및 스레드 구조를 개선하여
요청 처리 지연율을 30% 이상 감소시켰습니다.


About

AI 기반 디지털 창작자 히스토리 및 기여도 분석 플랫폼

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors