여러파일을 하나로 합친담에 특정파일만 골라낼때, 이 로직 괜찮을까요?


여러파일을 하나로 합쳐서 보관하다가 나중에 필요할때 하나로합친 파일안에 특정파일을 다시 불러오고 싶습니다.

파일정보와 관련된 db따로 구성안하구요.

(이 파일들의 각 길이는 첨에 알수 없습니다. 실시간 chunk파일이라서..)

그래서 생각한게...

  1. 파일을 엽니다(wb+)
  2. 파일을 계속 append 시킵니다.
  3. 마지막에 파일들의 fseek지점과 길이를 serialize한 정보값을 append합니다.
  4. 최종적으로 serialize한 정보값 길이를 고정된 길이(int32,64)로 append합니다.

이렇게 보관한 파일을 불러올때...

  1. 파일 끝에서부터 고정된길이(32,64)을 읽고
  2. serialize길이를 가져와 파일끝에 달린 serialize정보를 unserialize합니다.
  3. unserialize된 정보를 바탕으로 특정파일을 순서와 상관없예 fseek으로 제공합니다.

이런 로직을 생각하고 있습니다.

이렇게 짜도 상관없을까요? 아니면 best practice가 따로 있을가요?

  • 2016년 11월 16일에 작성됨

조회수 32


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close