특허검색
기술분류 정보통신 > 소프트웨어 > System Integration
출원명칭 효율적인 파일 생성을 위한 방법 및 시스템
출원번호 15/145311
출원일자 2016-05-03
등록명칭 효율적인 파일 생성을 위한 방법 및 시스템
등록번호 10474643
등록일자 2019-11-12
초록내용 데이터를 고정된 크기의 청크 단위로 분할하여 분산 저장하는 분산 파일 시스템에서는, 파일에 대한 입출력 연산을 구현하기 위하여, 그러한 입출력 연산의 실행 도중에, 메타데이터 서버가 데이터 서버에게 필요한 특정 연산을 요청하고 그 데이터 서버는 메타데이터 서버로부터 요청받은 연산을 실행한 뒤에 그 결과를 메타데이터 서버에게 반환하는 경우가 많이 발생한다. 이와 같이 메타데이터가 데이터 서버에게 요청하는 연산의 예시로서, 기록 중인 데이터가 청크의 단위 크기를 초과하게 되면 새로운 청크를 새로운 데이터 서버에 할당하는 작업이 있다. 데이터를 기록하는 도중에 새 청크를 배치할 데이터 서버를 결정하고, 선택된 데이터 서버에 빈 청크를 할당하는 작업은 상당한 부담이 된다. 특히, 메타데이터 서버가 데이터 서버에게 빈 청크를 할당하라는 요청을 전달하고, 그 데이터 서버가 요청받은 연산을 실행하기 시작했는데, 마침 메타데이터 서버와 그 데이터 서버 사이의 네트워크에 장애가 발생하여 그 데이터 서버가 수행한 연산의 결과 값이 메타데이터 서버에게 전달되지 않거나 매우 늦게 전달될 수가 있다. 메타데이터 서버는 메타데이터에 관한 연산을 트랜잭션으로 처리한다. 위의 시나리오에서처럼, 메타데이터 서버가 트랜잭션을 수행하는 도중에 빈 청크 할당과 같은 연산을 데이터 서버에게 요청하고 그 결과가 반환되지 않으면 메타데이터 서버의 트랜잭션이 단시간에 종료되지 못하게 된다. 즉, 메타데이터 서버 내의 자원이 장애가 발생한 네트워크 때문에 영향을 받아서 블록(block)될 수 있다. 본 발명은 상기와 같은 문제점을 해결하기 위하여, 트랜잭션 구간 내에서 다른 머신에 요청한 연산이 신속하게 반환되지 않는 문제를 다루기 위한 방법을 제공함에 목적이 있다. 구체적인 상황으로는, 데이터를 기록하는 도중에 청크 단위 크기를 초과할 때, 새로운 청크를 할당할 데이터 서버를 선택하고 그 데이터 서버에 빈 청크를 할당하는 과정을 비용 부담없이 효과적으로 수행하기 위한 방법을 제공하는 것이다.