2011-08-24 3 views
1

저는 C# 응용 프로그램에 RAMDisk를 구현했습니다. 내용이 휘발성이어서 정기적으로 내용을 백업해야한다는 것을 제외하고는 모든 것이 잘됩니다. 나는 섀도 카피 백업을 위해 AlphaVSS와 1 주일간 싸워 왔지만, 누군가는 VSS가 RAMDisk에서 작동하지 않는다는 것을 알려 주었다.C# - 백업을위한 볼륨 섀도 복사본 대체?

RAMDisk (Minecraft의 세계 파일)에있는 내용은 매우 작지만 수백 개가있을 수 있습니다. 대다수의 파일은 .dat 파일이며 크기는 수백 바이트에 불과하며 파일 당 크기는 2-8MB입니다.

어제에 대해 Here에 올렸습니다. 제안 된 해결책은 FileStream을 사용하여 데이터를 저장하는 것입니다. 방금 스택 오버 플로우 문제에 대한 바이너리 데이터에 대한 끔찍한 생각이라고 읽었으므로 이러한 작은 파일을 모두 백업하는 더 나은 방법을 찾고 있습니다.이 중 일부는 사용 중일 수 있습니다.

+0

RAM 디스크에있는 파일 시스템 유형은 무엇입니까? –

+0

NTFS 파일 시스템을 사용하여 RAMDisk를 만듭니다. –

+0

그럼 VSS에 문제가 있어서는 안됩니다. 이 제한 사항에 대한 정보를 RAM 디스크에 제공 할 수 있습니까? VSS는 Windows에서 잠긴 파일을 복사하는 자연스러운 방법이기 때문에. VSS는 실제로 그렇게하기 위해 만들어졌습니다. –

답변

0

먼저 모든 작은 파일을 압축 한 다음 위치에 백업하는 것이 좋습니다.

심판 :

  1. 우편 라이브러리 : 포장 우편을 복사 http://www.icsharpcode.net/opensource/sharpziplib/
  2. 사용 System.IO.File.Copy.
+0

이 파일은 사용중인 파일에 사용할 수 있습니까? –

+0

당신은 램 디스크를 구현 한 C# 코드에 이것을 추가 할 것입니다. 또는 ramdisk를 설정하고 ram에 데이터를 저장하기 위해 C#과 함께 사용한다는 뜻입니까? 그렇다면 memorystream으로 변환해야합니다. –