2011-02-27 6 views
3

기본적으로 서버에 부분 업로드를 저장하는 가장 좋은 방법을 찾고 있습니다. 파일은 청크별로 청크에 업로드됩니다. 청크는 평행하게 그리고 임의의 순서로 올 수 있습니다. 일시적으로 어딘가에 저장하고 업로드 된 청크에서 전체 파일을 구성해야합니다. 나는 그것을하는 방법에 대한 아이디어를 가지고 있지만, 어떤 종류의 모범 사례 나 표준, 또는 RFC가 있는지 궁금하다.청크별로 업로드되는 서버에 파일을 저장하는 가장 좋은 방법은 무엇입니까?

UPDATE :

업로드는 HTTP를 통해 발생합니다.

+0

질문은 특정 프로토콜 세부 정보에 따라 다릅니다. 귀하의 경우는 TCP 단편화/재 조립 프로세스와 유사하며 많은 구현상의 차이점이 있습니다. 기본 프로토콜은 무엇입니까? 믿을만한가요? 프로토콜은 최종 위치에서 청크의 위치를 ​​알려주 는가? (위치 정보를 얻을 수 있어야한다는 것은 임의적 일 수 있기 때문에)? 중복 덩어리는 어떨까요? 중복되는 경우 어느 것이 수용됩니까? – Serkan

+0

나는 당신이 질문을 올리기 전에 hv가 every1을 도왔을 것이라고 생각한다. 지금까지 해본 모든 것을 말해 줄 수 있습니까? – Baz1nga

답변

2

이 문제는 여러 번 해결되었습니다. 사용 BITS, 급류, FTP 등

기본 사항은 다음과 같습니다

> 세션 초기화

> 파일 이름, 청크 크기, 덩어리의 수, 각 청크의 해시를 보내

> 덩어리를 보내 (s). 각 청크

<이

<이

< 완료 파일 (이름 .STATUS 말을) 할당 및 청크 당 하나 개의 지능 올바른 이름과 크기의 빈 파일을 할당 파일 이름 등을받을 청크 인덱스 번호로 시작합니다. 각 청크가 완료되면이 그 덩어리의 완료율 필요한 인덱스

각 청크가 수신 될 때

< <에서 덩어리를 시작하는

< 신호를 나타내고, 정확한 위치

< <에 할당 된 파일로 저장 해시를 확인하십시오. 만약 잘못 표시 다시 0 %로 모든 덩어리는 제거 이름 .STATUS을 받고 덩어리가되도록

일부 시스템은 큰 덩어리를 사용하고 모든 덩어리의 전면에 파일 이름, 크기 등을 넣어 할당 된 파일의 잠금을 해제하는

<로 독립적이며 세션 시작없이 수신 될 수 있습니다.

관련 문제