Windows用のアナログタイムマシン

タイムマシン 私たち一人一人は時々情報を失います。 彼の間違い(震えている手、適切なタイミングでCTRL + Sキーが押されていない)、または状況の不幸な組み合わせ(交通渋滞をノックアウト、コンピューターがクラッシュ)によって。 時々私たちはささいなことについて話している。 作業をやり直す必要が生じることがあります。 最悪の場合、貴重な情報は完全に失われます。



定期的にバックアップを作成する必要があることは誰もが知っています。 知っていますが、知りません。 そして、私たちがそうすれば、必要であれば、平凡の法則に従って、1か月前のコピーが見つけることができます。 しかし、数時間前に失われたファイルが作成されたこともあります。

卒業証書のトピックを決めることができなかったとき、友人がAppleのTimeMachineについて教えてくれ、Windows用のアナログを作ることを提案しました。 継続的なデータ保護は、私が常に無意識に夢見ていたものです。





プログラムの基本要件:



プログラムは、まるで存在しないかのように、ユーザーに対してシームレスに動作するはずです。 同時に、ユーザーが指定した時点(1分前、1時間、または1週間)にファイルバージョンを簡単に復元する機能を提供します。

また、プログラムはリポジトリの状態を監視し、その無限の膨張を防ぐ必要があります。 特定のフレームワークでストレージのサイズを維持するには、タイムリーに最下位の状態を削除する必要があります。



どうした



簡単に書きます。 開発したシステムは2つの部分で構成されています。 1つは、バックグラウンドで実行され、作業の大部分を実行するシステムサービスです。 2番目は、ユーザーにインターフェイスを提供するアプリケーションです。



サービスはすべてのファイル操作(作成、削除、変更、名前変更)を監視し、設定に応じて、必要なファイルのリカバリポイントを作成します。 クライアントアプリケーションの要求に応じて、変更の履歴を提供し、指定された時点でのファイルの状態を復元します。



tm_service.png - upload images with Picamatic

クリック可能なスクリーンショット



クライアント部分はユーザーにインターフェースを提供し、TCP / IPを介してサービスにリクエストを送信します(サービスはこれらのリクエストを実行し、結果を報告します)。 実際、クライアントアプリケーションは何でもかまいません。開発者が必要とするのは、対話プロトコルを保存することだけです。 たとえば、コンテキストメニュー(ファイルまたはフォルダーを右クリックすると表示されるメニュー)を使用して制御を実装できます。



tm_main.png - Picamatic - upload your images



スクリーンショットからわかるように、プログラムはファイルのすべてのバージョンをリポジトリにコピーするわけではありません。 代わりに、次のバージョンを追加すると、(すでに保存されているものから)最も近いものが検索されます。 可能であれば、変更のリストのみがリポジトリに入力されます(同時に、同じ部分的に保存されたバージョンを基準として使用できます)。 その結果、リポジトリ内の「オブジェクト」は、フルバージョン(ファイル全体)、変更のリスト、リンク(バージョンが別のフルコピーである場合)の3つのタイプに分けられます。



tm_options.png - Picamatic - upload your images



重要なのは設定のみです。



クライアントアプリケーションは、時間が不足していたため、文字通り1日で開発されました(リポジトリからのファイルの完全な削除、特定のファイルの特定のバージョンの削除などの重要な機能はありません)。

このプログラムは2年以上前に作成され、それ以来、このサービスは私のラップトップで常に実行されています。 機能を100%実行し、速度に問題はありません(システムに追加の負荷はありません)。



次は?



この質問をhabrasocietyに聞きたいです。 そのようなバックアップシステムに本当の需要はありますか? 誰もこれに興味がありますか? 開発を続けるのは理にかなっていますか?

そして、実際にはたくさんあります。 リモートリソースへのストレージ、データ暗号化、OSとの統合、便利なユーザーインターフェイス。 現在のバージョンのサービスがWindows Vistaで機能しないという事実から開始できます(登録も開始もされません)。



narod.ru/disk/15172062000/TimeMachine.zip.html



All Articles