簡體   English   中英

備份算法

[英]Backup Algorithm

我正在尋找編寫用於在計算機上備份文件的程序(.Net)。 我該如何繼續知道哪些文件已更改為備份(我真的不想每次都掃描上次修改的日期。

是否有用於僅備份文件位已更改的備份算法。 該算法的O符號是什么?

檢查存檔位 這可能是您想要的。

在.NET中,它是System.IO.FileAttributes.Archive ,可以與VB中的SetAttr一起使用,或者與System.IO.FileInfo.AttributesSystem.IO.File.SetAttributes()

檢查最后修改時間或存檔位的任何算法都將取決於驅動器上的目錄數。 由於這兩個屬性都存儲在目錄中,因此時間安排將取決於文件系統及其緩存級別。 分析備份效率的一種更有效的方法可能是查看已更改的塊數。

我可以建議在您喜歡的搜索引擎中搜索“ rsync for windows”嗎?

您將無法避免掃描所有文件,但是僅限於讀取目錄扇區。 平均開車還需要一段時間。 除文件日期外,每個文件條目上都有一個“存檔”位。 備份文件后,請不要忘記清除它。

因此復雜度將為O(n),其中n是文件數。

這是我在腳本中用於備份的非常簡單的好東西: http : //www.mikerubel.org/computers/rsync_snapshots/

基於此,第一種方法是建立一個文件修改時間數據庫,並在每次制作備份副本時進行比較/更新。 除日期時間外,我還將保留文件大小並將其添加到比較中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM