問題タブ [file-transfer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 奇妙な要件を持つファイル転送: フォールト トレラントだが重複しない
複雑なファイル転送の解決策を考え出す必要があります。私はこれを行うことができますが、私がやりたいことの 90% を既に実行しているオープンソース ソリューションを誰かが知っているかどうかを知りたいです。
要件は非常に奇妙です。彼らを理解しようとしないでください、彼らは政治、領土、官僚機構の地獄のような混合物です.
私は 2 つのサーバーを制御しており、それぞれがアップストリーム ソースのグループからファイルを取得しています。私は情報源に対してある程度の影響力を持っています (ただし、完全に制御できるわけではありません)。私の 2 つのサーバーはこれらのファイルを収集し、新しいファイルを処理ディレクトリにリンクします (これは少し単純化されています)。
私の 2 つのサーバー (A と B としましょう) は、これらのファイルをダウンストリームのサーバーのペアに送信する必要があります。私はダウンストリーム サーバーをほとんど制御できません。それらを X と Y と呼びましょう。
- ファイルは、ファイル名によって一意に識別されます。ファイル名が同じなら同じファイルです。
- 無限にファイルが流れる可能性があります。それらの名前にはタイムスタンプが含まれています。
- 通常、サーバー A と B (私のサーバー) は同じファイルを取得します。ファイルがサーバー A に表示される場合、98% の確率で同じファイル名でサーバー B に表示されます。
- A と B は、受信したファイルを sftp などを使用して X と Y にプッシュする必要があります。X と Y にソフトウェアをインストールすることは許可されていません。制限付きのアカウントであっても、シェル アカウントは許可されていません。今では奇妙になります:
- A および/または B によって受信された各ファイルは、A または B によって (両方ではなく) X または Y のいずれかに 1 回コピーされる必要がありますが、両方にはコピーされません。
- 私から上流のソースには、同じファイルの重複したコピーが含まれている可能性があります (これは、A/B サーバーでは問題ではありません。各サーバーは、プルしたものを追跡できます)。
- A、B、X、または Y の障害は許容する必要があります (そのパートナーがまだアクティブである限り)。==> A/B ==> X/Y からのファイルの流れを止めてはいけません。
このすべてについて私が得たのは、私の地元の部門が安全のためにファイルを A と B の間で複製することを望んでいるという点ですが、下流の受信者 (別の部門) はフェイルオーバーのために X と Y が必要だと主張しています...しかし各ファイルは A または B にのみコピーする必要があり、両方にコピーすることはできません (またはまれな状況でのみ)。下流の人々が重複ファイルを管理するだけなら、それは簡単です。ファイル名が重複をすばやく特定することを考えると、それは本当に難しいことではありません。まあ、彼らはそれをしたくありません。X または Y が失敗すると、一部のファイルが失われる可能性があります。図に行きます。
だから私はこれらすべてを行うアルゴリズムに取り組んでおり、ある程度の進歩を遂げましたが、競合状態、ノードの障害、ノードの再起動、ノードのほとんど独立した性質に対処するのは少し複雑になるでしょう。 A と B など。1 か月の努力の後で、友人が「なぜ SuperOpenSourceSolution を使用しなかったのか? 1 日で機能するようになったはずだ!」と言ったら、少し動揺します。
それで... すぐに使える(またはほとんどそうである)ソリューションを知っている人はいますか?一般的な MFT ソリューションがあることは知っていますが、この種のことができるとは聞いたことがありません。
rsync を見てきましたが、奇妙なディストリビューションをどのように処理するかわかりません。
ありがとう。
c# - C# Web アプリケーション ファイル転送
ファイルをコピーするためにリモート サーバーにアクセスする必要がある asp.net と C# の Web アプリケーションがあります。Web アプリケーションは、基本的に他の Web アプリケーションをデプロイします。
Web アプリが「開発」サーバーで実行され、「運用」サーバーと対話する必要があるとします。ユーザーの観点からは、どちらもリモート マシンです。彼は自分のブラウザで (「開発」マシンで実行されている) アプリケーションにアクセスしますが、コードと「本番」マシンへのアクセス資格情報は表示されません。
ある時点で、.ascx、.aspx、.cs ファイルを開発マシンから運用マシンにコピーする必要があります。これが明確であることを願っています ^___^
ファイル転送を行うための最良の方法を誰か教えてもらえますか?
ありがとう!!!
9月
java - Java サーブレットと HttpURLConnection を使用してファイル転送をチェックサムする方法
ファイル転送を保証しようとしています。ある種のチェックサムでそれを行うことができると思います。
また、いくつかの内部の問題により、ストリーミングで行う必要があります。
転送前後のダイジェストを計算しようと思ったのですが、転送の最後にしかエラーが出ません。エラーがある場合は再送信して、ある種のチャンクチェックサムを探しています。
なにか提案を?
ありがとう!
c# - 最良の方法 / ウェブサービス経由で画像を転送するより高速な方法
C# を使用して Web サービス経由で 800*600 の画像を転送する最良の方法は何ですか?
高速な方法を探しています。
ありがとう
file-transfer - 接続不良防止ファイル転送プロトコル?
私は頻繁に FTP 接続を介して Web サイト開発をライブで行っています。つまり、私は組み込みの FTP ウィンドウを備えたコード エディターを使用し、ファイルをプッシュ/プルして作業したり、変更をアップロードしたりします。これは主に、ローカル開発サーバーを作成しようとするのが合理的でないためです。いずれにせよ、多くの作業をせずに実用的にするには、コンピューターが多すぎます。
問題は、我が家のインターネット接続が安定していないことです。これは高速で信頼性が高いですが、私が取り組んできた他のどの接続 (ワイヤレス DSL) よりもはるかに頻繁に不具合が発生する傾向があり、その結果、接続が切断される頻度が高すぎます。(この点に関しては、AT&T の電話と同じくらい信頼できます。) FTP を使用している場合、ファイル転送の途中で接続が切断されると、回復が困難になる可能性があります。まず、接続が切断されると、空のファイルがサーバーに保存されます (これはどのように役立ちますか?)、作業していたページが完全に壊れてしまいます。それ自体がタイムアウトになり、そのファイルに再度アクセスするには、SSH で接続して再起動する必要があります。
このプロセスだけでも有益でした。クライアント側でいくつかのデータ保護技術を構築し、切断された接続によってクライアントがハングしたりクラッシュしたりした場合にサーバーが最近の変更を食べないようにすることを教えてくれたからです。とはいえ、全体としてはかなり失敗した状況であり、まったく仕事ができていないことに驚いています。
長い、長い文脈、私は知っていますが、私の質問はこれです:私のような「不安定な」接続を処理するように設計されたファイル転送プロトコルはありますか? たとえば、3G テザー接続を介してファイルを転送しようとすると、特に旅行中に同じ結果になると思います。FTP と SFTP はどちらも永続的な接続に依存しているようで、ドロップされたパケットを処理できますが、再接続によるソケット全体の損失は処理できません。ファイル転送デーモンは、対話しているユーザーの状態を保存できる必要があるように思えます。したがって、失敗した転送を検出し、ユーザーが適切な時間内に再接続した場合に「再開」する準備ができている必要があります。
何か知っている人がいたらよろしくお願いします。私はそのようなプロトコルを自分で書こうと真剣に考えています (たとえば、ページで ajax をコーディングして障害のある接続を処理することに成功しました) が、既に利用可能な解決策がある場合は飛び込みたくありません。 .
c# - Web サービス経由でファイルを送信する
c# および asp.net の gmail の添付ファイルと同じように、自分のサイトの Web サービス経由でファイルを送信するにはどうすればよいですか?
iphone - iOS での USB ファイル転送
データを取得してユーザーの PC に転送できるファイルに保存するアプリを作成したいと考えています。iOS は USB 経由のファイル転送をサポートしていますか (私のアプリまたは大容量記憶装置タイプの機能を介して)。できれば、PC がファイルを受信するためのクライアントを作成したくありません。可能であれば、デバイスを PC に接続したときに、ユーザーに新しいファイルについてプロンプトを表示したいと考えています。iOS フレームワークはこれらの機能をサポートしていますか?
java - Java で最も簡単なポイント-マルチポイント データ配信ライブラリ/フレームワーク
中央データベースに、常に追加されるテーブルがあります。これらの追加を数分ごとにバッチ処理して、多数の「スレーブ」サーバーに送信したいと考えています。次に、これらのサーバーはそのデータを処理してから破棄します (分散型倉庫を考えてください)。各「スレーブ」サーバーには異なるデータのサブセットが必要であり、そのために使用できる自然なパーティション分割キーがあります。
基本的に、私はこれが最終的に一貫している必要があります.バッチが配信される準備ができている瞬間に「スレーブ」がダウンしていたとしても、データのすべてのバッチは最終的にすべての「スレーブ」サーバーに配信されます(信頼性)。バッチが配信される順序は気にしません。
私が検討した可能な解決策、
- 各サーバーでテーブル全体を複製する必要があるため、MySQL 複製は私の要件に適合しません。
- ETL および ESB 製品はこれにはあまりにも肥大化しています。私はデータ処理を行っていません。
- 普通の JMS を使用できますが、もっと単純なものを探しています
- JGroups は興味深いものですが、グループから脱退したメンバーは、再参加するとメッセージを受け取りません。
- サーバー間でファイルとackファイルをプッシュする:できますが、フレームワークを知らないので、自分で作成する必要があります。
注:この質問は、信頼性と耐久性を備えた中央サーバーからN個の他のサーバーにデータを移動する方法に関するものです。それを作成または摂取する方法ではありません。
(耐久性要件を追加するために 8 月 24 日に編集されました)
vb.net - LAN経由で接続された別のコンピューターからファイルにアクセスするにはどうすればよいですか?
誰かがLANを介してコンピューター間の接続を確立し、ファイルを取得する方法を学ぶためのリソースを提供できますか?
編集:ローカルマシンで行われているようにフォルダを参照できますか?
c# - より大きなファイルサイズがNetworkStreamで誤って転送されています
NetworkStreamを介してファイルを転送していますが、ファイルが約5〜10kを超えると、ファイルがデータを見逃したり、大きな空白のギャップが生じたりするようです。
これが私が持っているものです: