質問

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

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

私は今、既成概念にとらわれずに考えようとしています。

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

助けや提案された方向性をいただければ幸いです。ありがとう!!

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

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

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

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

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

役に立ちましたか?

解決

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

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

他のヒント

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

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

アップデート:あなたのアプローチは何があるかを気にしません 本当に クライアントで利用可能な場合、クライアントがすでに持っている (おそらく不正確な) 知識に基づいて ZIP ファイルを準備することになります。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top