データベースに接続し、マルチユーザーモードで使用できるアプリケーションがあります。これにより、複数のコンピューターが同じデータベースサーバーに接続して、データを表示および変更できます。クライアントの1つは、常に「マスター」クライアントとして指定されます。このマスターは、RS232またはUDP入力からテキスト情報を受信し、このデータを1秒ごとにローカルマシンのテキストファイルに記録します。
私の問題は、他のクライアントがマスタークライアントからこのデータにアクセスする必要があるということです。私はこの問題を解決するために進むための最良かつ最も効率的な方法を考えています。私は2つのオプションを検討しています:
- フォルダー同期クラスを作成して、リモート(マスター)コンピューター上のフォルダーをローカル(クライアント)コンピューター上のフォルダーと同期します。これは、スレッド化されたバッファファイルコピールーチンになります。
- クライアント/サーバーを実装して、マスターコンピューターがこのデータを接続してデータを要求するすべてのクライアントに提供できるようにします。マスターは、TCP/UDPを介してファイルを要求元のクライアントに送信します。
ソリューションでは、次のことを考慮に入れる必要があります。
a。ログファイルは毎秒書き込まれます。潜在的なファイルロックの問題を回避する必要があります。
b。コピールーチンは、クライアントマシンにすでに存在するファイルよりも後日変更されたファイルのみをコピーする必要があります。
c。できるだけ効率的にする
d。すべてのマシンはLAN上にあります
e。同期は、たとえば10分程度ごとに実行するだけで済みます。
f。データ量は約50MB程度ですが、最初の(最初の)同期が完了すると、転送するデータ量は約1MBになります。これは将来増加します
どちらを使用するのが良いですか?長所/短所は何ですか?使用を検討しているFastFileCopyの投稿も見ました。