私は、バックエンドデータベースを使用して更新したアプリケーションに数年間取り組んできました。重要なのは、すべてがクライアントにキャッシュされるため、動作するためにネットワーク接続が必要になることはありませんが、接続がある場合は常に最新の更新を取得します。更新されたすべてのアプリケーションには最新バージョンのデータベースが付属しており、データベースが更新されたときに最小限のデータのみをダウンロードするようにしたかったのです。
現在、タイムスタンプ付きのテーブルを使用して更新を確認しています。こんな感じです。
ID - Name - Description- Severity - LastUpdated
0 - test.exe - KnownVirus - Critical - 2009-09-11 13:38
1 - test2.exe - Firewall - None - 2009-09-12 14:38
このアプローチは、以前必要だったものには問題ありませんでしたが、このタイプの動的アプローチを使用するために、アプリケーションの機能をさらに拡張することを検討しています。現在、すべてのデータはとして保存されてXML
いますが、完全なXMLファイルをデータベースに保存せず、変更されたデータのみを送信したいと思います。
では、動的コンテンツ(text / xml / json / xaml)をデータベースに保存するための非常に単純なアプローチを許可し、クライアントに新しい更新のみをダウンロードさせるにはどうすればよいでしょうか。XMLを直接処理できるロジックを挿入することを考えていました
ID - Data - Revision
15 - XXX - 15
XXX
のようなもの<Content><File>Test.dll<File/><Description>New DLL to load.</Description></Content>
で、キャッシュに挿入されますが、順番にロードする必要があるため、これは明らかに複雑になります。
言及されている別のアプローチは、ソース管理に似たものに基づいて、ファイルのルートにバージョンを保存し、デルタを計算して、クライアントに送信する必要のあるデータの最小量を計算することでした。
データ破壊のリスクなしにこれに取り組む方法について誰かが提案を得ましたか?また、おそらく悪いリビジョンを元に戻して、それらを新しい動作するリビジョンに置き換えることができる機能で拡張したいと思います。