0

私は潜在的なクライアントのためのソリューションを研究しています。彼らは、オンラインカタログから大量のMP3(1000以上)をダウンロードする機能を要求しています。

私はZipArchiveを使用してすべてのMP3を含むzipを作成することを調査/テストしましたが、その解決策を除外する明らかなメモリリークの問題に遭遇しました。

私は今、箱から出して考えようとしています。

1つのアイデアは、FTPキューまたはTorrentタイプのダウンロードリンクを作成することでした。このようなことをやってのけることができるものはありますか?

どんな助けや提案された方向性も大歓迎です!ありがとう!!

編集:これが私たちが達成しようとしている全体的なプロセス/目標です。

クライアントは、TV/映画の配置用の音楽を作成します。彼らはオンラインカタログと潜在的な購入者に送るローカルコピーを維持しています。オンラインカタログとオフラインカタログは相互にミラーリングする必要があります。問題は、複数のオフィスがあり、さまざまな場所からオンラインカタログに追加された新しいファイルでローカルコピーを更新する必要があることです。

例:East Coast Userは、100個の新しいファイルでカタログを更新します。West Coastユーザーは、オンラインカタログから取得した新しいファイルでオフラインカタログを更新する必要があります。

MySQLで維持するユーザーのダウンロード履歴に基づいて、各ユーザーがカタログを更新するために必要なファイルのカスタムzipを作成することを望んでいました。ZipArchiveをテストしていましたが、175 MEG(ギブまたはテイク)を超えるZipを構築できなかったようです。現在、ZipStreamingのテストを行っていますが、いくつかの問題が発生しています。

これにより、私たちが直面している全体的な目標と問題が解決されることを願っています。

4

2 に答える 2

1

GNU wget?再帰的にダウンロードできます。サーバー上のすべてのファイルのリストをwgetに与えるだけです 。eGhttp ://www.example.org/filelist.htmlには、file1.mp3、file2.mp3などのリンクが含まれています(apacheは通常、このようなインデックスファイルを自動的にディレクトリに生成します) index.html/phpが含まれていないと呼び出されます。

http://linux.die.net/man/1/wget

于 2010-10-25T20:26:49.953 に答える
0

率直に言って、あなたの投稿から実際の問題/質問を特定することはできません。ネットワークの負荷を最小限に抑えることを検討している場合は、MP3ファイルはすでに圧縮されているため(可能な限りではありませんが、十分に圧縮されているため)、十分に圧縮されていないことを覚えておく必要があります。トランスポートを探している場合は、どのファイル転送プロトコル(FTP、SFTP、HTTP、WebDAV)よりも優れています。

柔軟性と機能が必要な場合は、SFTPをお勧めします。これはリモートファイルシステムアクセス用のプロトコルであるため、「ファイルの取得」操作に加えて、マシンで読み取り可能なディレクトリリスト(FTPで常に使用できるとは限らず、標準のHTTPで利用可能)、組み込みのZLib圧縮、ファイル転送を再開する組み込みの可能性、およびその他のボーナス。HTTPにもZLib圧縮がありますが、これは常に利用できるとは限りません。

更新:あなたのアプローチは、クライアントで実際に利用できるものを気にせず、クライアントの(おそらく間違った)知識に基づいてZIPファイルを準備します。

クライアントとサーバーの両方が開発するアプリケーションである場合は、RSyncプロトコルなどを使用して、データをオンラインで更新し(ZIPファイルを使用しない)、クライアントにないファイルをダウンロードする必要があります。クライアントとサーバー間の直接通信が不可能な場合は、クライアントに状態をサーバーに送信させることができます。その後、サーバーは個別のパッケージを準備します。ZIP機能に関しては、バッチ更新を使用する場合にのみ必要です(クライアントとサーバー間のリアルタイム通信はありません)。使用しているテクノロジーはわかりませんが、ZIPコンポーネントに問題がある場合、別のZIPコンポーネント(.NETとVCLの場合はZIPコンポーネントがあります)をデータパッキングに使用できます。)またはその他のパッキングソリューション(たとえば、SolFS製品にはサイズ制限がありません)。残念ながら、コンポーネントとして利用できるRSyncのような実装を知りません。

于 2010-10-25T20:31:18.517 に答える