我必須爲Windows服務所使用的某些文件設計一個備份算法,我已經有一些想法,但我想聽聽那些更聰明的人的意見,以嘗試和改進什麼我記住了。Windows服務的備份算法
我正在處理的軟件遵循客戶端 - 服務器體系結構。
在服務器方面,我們有一個執行一些任務,如監視文件夾,等Windows服務,並且它有幾個XML配置文件(約10)。這些是我想要備份的文件。
在客戶端方,用戶有一個圖形界面,允許他修改這些配置文件,雖然這不應該經常發生。與服務器的通信使用WCF進行。
所以配置文件可能被遠程用戶修改,但管理員也可以手動修改它們的服務器上(Windows服務監控這些變化)。
而且從目前看,這就是我心目中的備份算法(很簡單,雖然):
當 - 備份將在兩種情況下進行:
- 定期:服務器應用程序上的並行線程將每XXXX個月/周/任何(可配置參數)執行配置文件的副本。也就是說,每次通過用戶操作修改文件時,它都不執行備份,但僅在啓動客戶端應用程序時執行備份。
- 每次用戶啓動客戶端:服務器每次檢測到用戶啓動應用程序時,服務器端都會執行備份。
如何:
- 將有上的Windows服務的程序數據文件夾中的文件夾命名備份。在那裏,每次執行備份時,都會創建一個名爲BackupYYYYMMDDHHmm的子文件夾,其中包含所有相關文件。
- 維護:備份文件夾不會永久保存。定期地,所有比XXXX周/月/年(可配置參數)更早的數據將被刪除。或者,我可能只維護N個備份子文件夾(可配置參數)。我仍然沒有選擇一個選項,但我想我會選擇第一個選項。
所以,就是這樣。評論非常受歡迎。謝謝!!
1.我也覺得有必要備份了一些其他的磁盤或服務器,但我等待我上面的人的權限。 2.執行時間不應該是一個問題,客戶對此非常感興趣,而且我也從事過類似的工作。 3.源代碼控制的建議似乎是一個好主意,但是我的目標服務器的驅動範圍相當有限,因爲它是一個巨大工業工廠的生產服務器......但是我會考慮一下,看看這個解決方案是否適合我的需求,最特別的是,我的限制。非常感謝您的意見! – Alicia