Мне нужно разработать алгоритм резервного копирования для некоторых файлов, используемых службой Windows, и у меня уже есть некоторые идеи, но я хотел бы услышать мнение более умных, чтобы попытаться улучшить то, что Я имею в виду.Резервный алгоритм для службы Windows
Программное обеспечение, с которым я имею дело, следует архитектуре клиент-сервер.
На сервере стороны, у нас есть служба Windows, который выполняет несколько задач, такие как мониторинг папки и т.д., и имеет несколько конфигурационных XML-файлов (около 10). Это файлы, которые я хочу сделать резервными.
На стороне пользователя пользователь имеет графический интерфейс, который позволяет ему изменять эти файлы конфигурации, хотя это не должно происходить очень часто. Связь с сервером осуществляется с использованием WCF.
Так конфигурационные файлы могут быть изменены удаленно пользователем, но администратор может также изменить их вручную на сервере (услуга окна отслеживает эти изменения).
И на данный момент, это то, что я имею в виду, для алгоритма резервного копирования (довольно простой, хотя):
Когда - резервное копирование будет выполняться в двух ситуациях:
- Периодически: параллельная нить на серверном приложении будет выполнять копию конфигурационных файлов каждые XXXX месяцев/недель/независимо (настраиваемый параметр). Это значит, что он не выполняет резервное копирование каждый раз, когда файлы изменяются действием пользователя, но только при запуске клиентского приложения.
- Каждый раз, когда пользователь запускает клиента: каждый раз, когда сервер обнаруживает, что пользователь запустил приложение, сервер будет выполнять резервное копирование.
Как:
- Там будет папка резервного копирования папку Program Data Службы Windows. Там, каждый раз, когда выполняется резервное копирование, будет создана подпапка с именем BackupYYYYMMDDHHmm, содержащая все соответствующие файлы.
- Техническое обслуживание: Резервные папки не будут храниться вечно. Периодически все те, кто старше XXXX недель/месяцев/год (настраиваемый параметр), будут удалены. В качестве альтернативы, я могу поддерживать только N подпапок подкачки (настраиваемый параметр). Я все еще не выбрал вариант, но я думаю, что поеду первым.
Итак, это он. Комментарии очень приветствуются. Благодаря!!
1. Я также чувствую необходимость резервного копирования до какого-то другого диска или сервера, но я жду разрешения от тех, которые выше меня. 2. Время выполнения не должно быть проблемой, клиент очень заинтересован в этом, и я работал над подобным материалом. 3. Предложение Source Control кажется хорошей идеей, но моя область действия на целевом сервере довольно ограничена, поскольку это производственный сервер огромного промышленного завода ... Однако я подумаю, чтобы увидеть, может ли это решение соответствовать мои потребности и, самое главное, мои ограничения. Большое спасибо за ваши комментарии! – Alicia