2010-06-07 12 views
1

지속적으로 (즉, 새로운 데이터를 사용할 수있게되면 전송되는) 대용량 파일 (여러 Tb)을 여러 대상으로 동시에 전송해야하는 소프트웨어를 작성해야합니다. 일부 대상에는 원본에 대한 전용 파이버 연결이 있지만 일부 대상에는 연결하지 않습니다.네트워크를 통해 대용량 파일을 지속적으로 전송

몇 가지 질문이 발생할 :

  • 우리는이 작업을 위해 TCP 소켓을 사용할 계획입니다. 네트워크 중단 및 연결 끊김을 처리하기 위해 어떤 장애 조치 절차를 권장합니까?
  • 업로드가 완료되면 어떻게해야합니까? 서버가 소켓을 닫아야합니까? 그렇다면 다른 데몬이 다른 포트에 파일 체크섬을 제공하도록하는 것이 좋은 설계 결정입니까?
  • 손상된 파일을 다시 다운로드하지 않고 처리하는 방법을 권장 할 수 있습니까? 아마 나는 그들을 10Mb 덩어리로 나누고 각 덩어리에 대한 체크섬을 따로 계산할 수 있을까?

감사합니다. 어떤 대답이 주어지지 된 이후

+0

프로그래밍상의 질문이 아닙니다. –

+0

혼란스러워하는 경우 : 위에 설명 된대로 파일 공유를 제공하는 소프트웨어를 작성해야합니다. 그러므로 나는 그것이 실제로 프로그래밍 문제라고 결론을 내린다. 그렇지 않니? – dpq

+1

멀티 캐스트를 고려 했습니까? 동일한 청크를 여러 클라이언트에 배포하는 것이 매우 편리 할 수 ​​있습니다. 그래도 잘 연결되지 않습니다. –

답변

0

, 나는 여기에 우리의 자신의 결정을 공유 해요 :

  • 덩어리 및 전체 파일에 대한 체크섬을 제공하기위한 별도의 데몬이있다.
  • 우리는 지금 VPN을 통한 멀티 캐스트 사용의 개념을 포기하기로 결정했습니다. 우리는 다중 프로세스 서버를 사용하여 파일을 배포합니다. 파일 다운로드가 완료되면 소켓이 닫히고 작업자 프로세스가 종료됩니다. 손상된 청크는 별도로 다운로드해야합니다.
  • 파일 시스템 모니터를 사용하여 계층 1 분배 서버에 도착하자 마자 새 데이터를 캡처합니다.
관련 문제