2017-01-05 7 views
0

Мне нужно разработать алгоритм резервного копирования для некоторых файлов, используемых службой Windows, и у меня уже есть некоторые идеи, но я хотел бы услышать мнение более умных, чтобы попытаться улучшить то, что Я имею в виду.Резервный алгоритм для службы Windows

Программное обеспечение, с которым я имею дело, следует архитектуре клиент-сервер.

  • На сервере стороны, у нас есть служба Windows, который выполняет несколько задач, такие как мониторинг папки и т.д., и имеет несколько конфигурационных XML-файлов (около 10). Это файлы, которые я хочу сделать резервными.

  • На стороне пользователя пользователь имеет графический интерфейс, который позволяет ему изменять эти файлы конфигурации, хотя это не должно происходить очень часто. Связь с сервером осуществляется с использованием WCF.

Так конфигурационные файлы могут быть изменены удаленно пользователем, но администратор может также изменить их вручную на сервере (услуга окна отслеживает эти изменения).

И на данный момент, это то, что я имею в виду, для алгоритма резервного копирования (довольно простой, хотя):

  • Когда - резервное копирование будет выполняться в двух ситуациях:

    • Периодически: параллельная нить на серверном приложении будет выполнять копию конфигурационных файлов каждые XXXX месяцев/недель/независимо (настраиваемый параметр). Это значит, что он не выполняет резервное копирование каждый раз, когда файлы изменяются действием пользователя, но только при запуске клиентского приложения.
    • Каждый раз, когда пользователь запускает клиента: каждый раз, когда сервер обнаруживает, что пользователь запустил приложение, сервер будет выполнять резервное копирование.
  • Как:

    • Там будет папка резервного копирования папку Program Data Службы Windows. Там, каждый раз, когда выполняется резервное копирование, будет создана подпапка с именем BackupYYYYMMDDHHmm, содержащая все соответствующие файлы.
    • Техническое обслуживание: Резервные папки не будут храниться вечно. Периодически все те, кто старше XXXX недель/месяцев/год (настраиваемый параметр), будут удалены. В качестве альтернативы, я могу поддерживать только N подпапок подкачки (настраиваемый параметр). Я все еще не выбрал вариант, но я думаю, что поеду первым.

Итак, это он. Комментарии очень приветствуются. Благодаря!!

ответ

2

Я думаю, что ваш дизайн жизнеспособен.всего несколько комментариев:

  1. Вам нужно выполнить резервное копирование в другое место, кроме сервера? Я не уверен, что резервное копирование важных данных на одном сервере безопасно, и я предпочел бы сделать их резервными копиями на отдельный диск (возможно, сетевое местоположение).

  2. вам необходимо реализовать мониторинг, резервное копирование/сохранение/etc , и это звучит сложно: сколько времени вы хотите потратить на это?

Лично я хотел бы использовать некоторый простой трюк, чтобы достичь резервного копирования, например, так как данные простые текстовые файлы (формат XML) и свет, я мог бы просто поддержать их в какую-то систему управления источником: сделать в папку checkout SVN (или некоторые другие средства) и создать простой скрипт, который обнаруживает/проверяет изменения в SVN и назначает сценарий, который будет выполняться один раз в несколько часов (или чаще всего с учетом ваших потребностей, или может быть вызван ваш сервис/приложение по запросу) - таким образом он устраняет ненужную копию данных (поскольку он проверяет только изменения), и это гораздо более прослеживается, поскольку svn предоставляет всю историю.

надежда выше, может немного помочь ...

+0

1. Я также чувствую необходимость резервного копирования до какого-то другого диска или сервера, но я жду разрешения от тех, которые выше меня. 2. Время выполнения не должно быть проблемой, клиент очень заинтересован в этом, и я работал над подобным материалом. 3. Предложение Source Control кажется хорошей идеей, но моя область действия на целевом сервере довольно ограничена, поскольку это производственный сервер огромного промышленного завода ... Однако я подумаю, чтобы увидеть, может ли это решение соответствовать мои потребности и, самое главное, мои ограничения. Большое спасибо за ваши комментарии! – Alicia