2011-12-08 29 views
3

可能重複:
C#: Create a virtual drive in Computer創建一個假的虛擬驅動器(來處理文件I/O到該驅動器)

我的目標是創建一個僞造的虛擬驅動器共享的網絡。這個假驅動器的目的僅僅是接收通過網絡傳輸到它的文件,然後立即丟棄它們(不想讓它們碰到任何可靠的磁盤驅動器)。

我之所以需要這個是模擬記錄服務器接收來自數百臺攝像機的視頻飼料,而實際上不必存儲數據。存儲數據需要一個沉重的RAID-0設置,我沒有計劃獲取。我只需要在通過網絡將視頻發送到機器B時測量機器A上的系統負載。假虛擬驅動器將安裝在機器B上,然後在網絡上共享以便機器A可訪問。

所以,總之我需要:

  1. 創建一個驅動器盤符,Windows將看起來像任何其他驅動器。
  2. 管理這個「驅動器」上的I/O,也許通過重寫一個或兩個方法來簡單地跳過我通常保存數據的部分。

重要的部分是機器A(發送文件的機器)不受機器B不是真正的共享存儲設備的影響。

在此先感謝您的任何反饋意見。

+0

如果你只是測試網絡性能,爲什麼不使用像iperf的網絡工具? – Bengie

+0

事情是,我沒有試圖像這樣測試網絡性能。我試圖消除作爲等式一部分的某些元素。一種方法是花費大量資金用十幾塊磁盤進行RAID-0設置。另一個將是一個軟件模擬物理磁盤,但只是立即轉儲數據。這樣,磁盤不是瓶頸,我可以確定它的實際位置。 – Frederiksen78

回答

2

我看到這個用C語言編寫一個Windows文件系統驅動程序完成它做你在找什麼,即行爲就像一個物理硬盤驅動器,但發展不是爲微弱的心臟。

驅動程序可以根據操作系統消息做任何你想做的事情。例如,「寫入」可能會持續到數據庫,增加內存中的計數器,或者什麼也不做。

這是一個第三方的SDK,我發現:http://www.eldos.com/cbfs/index.php?referer1=google&referer2=adwords_cbfs_gen&gclid=CO7Tnbm086wCFRBphwodjQ_XOQ

+0

哇,這是一個昂貴的產品。當然,這都是相對的,但我可以以20,000美元購買大量磁盤。我會在這個主題中多挖一點,但是你可能是對的,因爲我沒有C或C++的知識(我懷疑它可以用C#編碼),所以開發並不是特別直截了當。 – Frederiksen78

相關問題