Windowsサービスで使用されるいくつかのファイルのバックアップアルゴリズムを設計する必要があります。私は既にいくつかのアイデアを持っていますが、何を改善しようとしているのかを知りたいです私は心に留めている。Windowsサービス用のバックアップアルゴリズム
私が扱っているソフトウェアは、クライアント - サーバーアーキテクチャに従っています。 サーバー側
、我々はなど、そのようなフォルダを監視など、いくつかのタスクを実行するWindowsサービスを持っており、それは(10前後)、いくつかのXML設定ファイルを持っています。これらは私がバックアップしたいファイルです。
クライアント側では、これらの設定ファイルを変更できるグラフィカルインターフェイスがユーザーに用意されていますが、これはあまり頻繁に行われるべきではありません。サーバーとの通信は、WCFを使用して行われます。
したがって、設定ファイルはユーザーによってリモートで変更される可能性がありますが、管理者はサーバー上で手動で変更することもできます(Windowsサービスはこれらの変更を監視します)。
そして一瞬のために、これは私がバックアップアルゴリズム(非常にシンプルなが)のために考えているものです。
- バックアップが2つの状況で実行されます。
- 定期的に:サーバーアプリケーションのパラレルスレッドは、XXXX months/weeks/whatever(設定可能なパラメータ)ごとに構成ファイルのコピーを実行します。これは、ファイルがユーザーアクションによって変更されるたびに、クライアントアプリケーションが起動されたときにのみバックアップを実行します。
- ユーザーがクライアントを起動するたびに:サーバーがユーザーがアプリケーションを起動したことを検出するたびに、サーバー側がバックアップを実行します。 WindowsサービスのプログラムのDataフォルダにという名前のフォルダのバックアップがあります
- :どのように
。バックアップが実行されるたびに、関連するすべてのファイルを含むBackupYYYYMMDDHHmmという名前のサブフォルダが作成されます。
- メンテナンス:バックアップフォルダは永遠に保存されません。定期的に、XXXX週/月/年(設定可能なパラメータ)より古いものはすべて削除されます。代わりに、私はN個のバックアップサブフォルダ(設定可能なパラメータ)だけを維持するかもしれません。私はまだオプションを選択していないが、私は最初のものに行くと思う。
これはこれです。コメントは大歓迎です。ありがとう!!
1.私はまた、いくつかの他のディスクやサーバーへのバックアップまでの必要性を感じて、私は私の上のものからの許可を待っているビットを助けることができます。 2.実装時間は問題ではないはずです。クライアントはこれに非常に関心があり、同様のことに取り組んできました。 3.ソース管理の提案は良い考えですが、ターゲットサーバの私の作動範囲は、巨大な産業プラントのプロダクションサーバであるため、かなり制限されています...しかし、私はこの解決策が収まるかどうかを考えてみましょう私のニーズ、そして特に、私の限界。あなたのコメントをありがとう! – Alicia