여러파일을 하나로 합친담에 특정파일만 골라낼때, 이 로직 괜찮을까요?
조회수 942회
여러파일을 하나로 합쳐서 보관하다가 나중에 필요할때 하나로합친 파일안에 특정파일을 다시 불러오고 싶습니다.
파일정보와 관련된 db따로 구성안하구요.
(이 파일들의 각 길이는 첨에 알수 없습니다. 실시간 chunk파일이라서..)
그래서 생각한게...
- 파일을 엽니다(wb+)
- 파일을 계속 append 시킵니다.
- 마지막에 파일들의 fseek지점과 길이를 serialize한 정보값을 append합니다.
- 최종적으로 serialize한 정보값 길이를 고정된 길이(int32,64)로 append합니다.
이렇게 보관한 파일을 불러올때...
- 파일 끝에서부터 고정된길이(32,64)을 읽고
- serialize길이를 가져와 파일끝에 달린 serialize정보를 unserialize합니다.
- unserialize된 정보를 바탕으로 특정파일을 순서와 상관없예 fseek으로 제공합니다.
이런 로직을 생각하고 있습니다.
이렇게 짜도 상관없을까요? 아니면 best practice가 따로 있을가요?
댓글 입력