본문 바로가기

정보처리기사 (필기)/4. 프로그래밍 언어 활용

[정보처리기사] 4-4. 배치 프로그램

1. 배치 프로그램

  • 사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것
  • 배치 프로그램이 자동으로 수행되는 주기에 따라 정기 배치, 이벤트성 배치, On-Demand 배치로 구분
  • 기 배치 :일, 주, 월과 같이 정해진 기간에 정기적으로 수행
  • 벤트성 배치 : 특정 조건을 설정해두고 조건이 충족될 때만 수행
  • On-Demand 배치 : 사용자 요청 시 수행
  • 배치 프로그램이 갖추어야 하는 필수 요소 :용량 데이터, 동화, 고성, 전성/신뢰성,
  • 백업 작업, 갱신 작업 등 대용량의 데이터가 주기적으로 교환되는 업무에 주로 사용

2. 배치 스케줄러(Batch Schedular) = 잡 스케줄러

  • 일괄 처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구
  • 주로 사용되는 배치 스케줄러 : 스피링 배치, Quartz 

 스프링 배치

  • Spring Source 사와 Accenture 사가 2007년 공동 개발한 오픈 소스 프레임워크
  • 스프링 프레임워크의 특성을 그대로 가져옴
  • 로그 관리, 추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작 등 다양한 기능 제공
  • 주요 구성 요소와 역할
  • Job : 수행할 작업 정의
  • Job Lancher : 실행을 위한 인터페이스
  • Step : Job 처리를 위한 제어 정보 
  • job Repository : Step의 제어 정보를 포함해 작업 실행을 위한 모든 정보 저장

 

Quartz

  • 스프링 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈 소스 라이브러리
  • 일괄 처리 작업에 유연성 제공
  • 스프링 프레임워크의 특성을 그대로 가져옴
  • 주요 구성 요소와 역할
  • Scheduler : 실행 환경 관리
  • Job : 수행할 작업 정의
  • JobDetail : Job의 상세 정보
  • Trigger : Job의 실행 스케줄 정의