問題タブ [large-files]
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.
wcf - MS Word アドイン (VBA) から Web サーバーに大きなファイルを転送する方法は?
概要
ドキュメントとそれに関連するすべてのコンテンツ (埋め込みメディア) を zip アーカイブに圧縮する、VBA (Visual Basic for Applications) で記述された Microsoft Word アドインがあります。zip アーカイブを作成した後、ファイルをバイト配列に変換し、ASMX Web サービスにポストします。これはほとんど機能します。
問題
私が抱えている主な問題は、大きなファイルを Web サイトに転送することです。約 40MB のファイルは正常にアップロードできますが、140MB のファイルはアップロードできません (タイムアウト/一般的な失敗)。
2 つ目の問題は、zip アーカイブが大きすぎる場合、VBScript Word アドインでバイト配列を構築すると、クライアント マシンのメモリが不足して失敗する可能性があることです。
考えられる解決策
次のオプションを検討しており、いずれかのオプションまたはその他の提案に関するフィードバックを探しています。
オプション 1
クライアント (MS Word VBA) でファイル ストリームを開き、一度に 1 つの「チャンク」を読み取り、「チャンク」をサーバー上のファイルにアセンブルする ASMX Web サービスに送信します。
これには、アプリケーションに追加の依存関係やコンポーネントを追加しないという利点があります。既存の機能を変更するだけです。(このソリューションはさまざまなサーバー環境で機能し、セットアップが比較的簡単であるため、依存関係が少ないほど優れています。)
質問:
- これを行う例または推奨される手法はありますか (VBA のクライアントまたは C#/VB.NET の Web サービスのいずれか)?
オプション 2
WCF は、データを「チャンク」またはストリーミングすることによって大きなファイルを転送する問題を解決できる可能性があることを理解しています。しかし、私は WCF にあまり詳しくなく、正確に何ができるのか、VBA から WCF サービスと通信できるのかどうかもわかりません。これには、別の依存関係 (.NET 3.0) を追加するという欠点があります。しかし、WCF を使用することが間違いなく優れたソリューションである場合、その依存関係を気にする必要はありません。
質問:
- WCF は、この性質の大きなファイル転送を確実にサポートしていますか? もしそうなら、これには何が関係していますか?リソースや例はありますか?
- VBA から WCF サービスを呼び出すことはできますか? 例はありますか?
video - クラウド巨大なデータ ストレージ オプション?
ビデオ録画を行う方法について誰か良い提案はありますか?
ライブビデオを録画してサーバーにストリーミングできるカメラがあります。つまり、1000 台のカメラから 24 時間 365 日記録用のデータを送信できるということです。パッケージによっては、7 / 14 / 30 日以上データを保存します。
- カメラがサーバーにデータを送信している場合、1 日あたり 1.5GB が保存されます。
- つまり、1.5GB/日/カメラのトラフィックがあることを意味します
- 月間合計 45GB / 月 / カメラ (データ + カメラ 1 台分の帯域幅)
このデータを保存する最も費用対効果の高い方法を教えてください。
ありがとう!
text-files - Windowsで大きなテキストファイルを読み取る方法は?
メモ帳でもメモ帳++でも開くことができない大きなサーバーログファイル(〜750 MB)があります(どちらもファイルが大きすぎると言っています)。
一度にファイルのごく一部だけをメモリに読み込むプログラム(Windows用)を誰かが提案できますか?
または、このファイルを解析するために独自のアプリを作成する必要がありますか?
algorithm - sed の最適化 (小さなデータセットに基づく大きなファイルの変更)
非常に大きなプレーン テキスト ファイル (10 ギガバイト以上、何を大容量と呼ぶべきかによる) を非常に長い行で処理する必要があります。
私の最近のタスクには、別のファイルのデータに基づいた行の編集が含まれます。
データ ファイル (変更する必要があります) には 1500000 行が含まれており、各行の長さはたとえば 800 文字です。各行は一意であり、1 つの ID 番号のみが含まれます。各 ID 番号は一意です)。
モディファイヤ ファイルは、たとえば 1800 行の長さで、ID 番号と、データ ファイルで変更する必要がある金額と日付が含まれています。
モディファイヤ ファイルを (Vim regex で) sed に変換しましたが、非常に非効率的です。
データ ファイルに次のような行があるとします。
そして、300文字の部分のデータを変更する必要があります。
モディファイヤ ファイルに基づいて、次のような sed 行を作成します。
だから私はこのような1800行を持っています。
しかし、非常に高速なサーバーでも、
すべてのパターン x すべての行を読み取る必要があるため、非常に低速です。
より良い方法はありませんか?
注:私はプログラマーではなく、(学校で) アルゴリズムについて学んだことがありません。サーバー上で awk、sed、古いバージョンの perl を使用できます。
git - gitで大きなファイルを拒否する
最近gitの使用を開始しましたが、誰かが大きな(〜1.5GBファイル)をコミットすると厄介な問題が発生し、さまざまな32ビットOSでgitがクラッシュしました。これは既知のバグのようです(gitはファイルをメモリにmmapしますが、十分な予備スペースを取得できない場合は機能しません)。これはすぐには修正されません。
(私たちにとって)簡単な解決策は、gitに100MB程度を超えるコミットを拒否させることですが、それを行う方法がわかりません。
編集:問題は、大きなファイル、この場合はプログラム出力の大きなダンプの誤った送信に起因します。開発者が誤って大きなファイルを送信した場合、それをリポジトリに戻そうとするのは午後であり、誰も作業を行うことができず、すべてのローカルブランチを修正する必要があるためです。持ってる。
mysql - ウィキペディア データベース ダンプのインポート - navicat が停止します - 誰か何かアイデアはありますか?
ウィキペディアの xml ダンプをダウンロードしました。そのデータはなんと 12 GB です:\ 1 つのテーブルに対して、それをローカルホストの mysql データベースにインポートしたかったのですが、12 GB の巨大なファイルであり、明らかに navicats がその甘い時間を費やしていますそれをインポートするか、ハングしている可能性が高いです:(。
このダンプを含める方法はありますか、または少なくとも部分的にでも、少しずつ知っている方法はありますか。
その 21 GB のデータが役に立たないことを訂正させてください :\ - このような膨大なファイルを MySQL データベースにインポートする考えを持っている人はいますか。
php - PHP を使用した非常に大きなアップロード
非常に大きなファイルを PHP アプリケーションにアップロードできるようにしたいと考えています (数百メガ - 8 ギガ)。ただし、これにはいくつかの問題があります。
ブラウザ:
- HTML アップロードにはひどいフィードバックがあります。進行状況をポーリングするか (これは少しばかげています)、フィードバックをまったく表示しない必要があります。
- Flash アップローダーは、アップロードを開始する前にファイル全体をメモリに格納します
サーバ:
- PHP は post_max_size の設定を強制するため、簡単に悪用可能な DOS 攻撃につながる可能性があります。この設定をグローバルに設定したくありません。
- サーバーは、秘密鍵などの他の変数も POST vars に存在する必要があります。ファイル全体がアップロードされた後ではなく、すぐにリクエストを拒否できるようにしたいと考えています。
要件:
- HTTP は必須です。
- ブラウザーで動作する限り、私はクライアント側のテクノロジに柔軟に対応します。
- PHP は必須ではありません。Linux 環境でうまく機能する他のテクノロジがあれば、それはまったく問題ありません。
xml - XProc による XML ストリーミング
私はxproc、XML パイプライン言語、およびhttp://xmlcalabash.com/で遊んでいます。大きな xml ドキュメントをストリーミングする例を見つけたいと思います。たとえば、次の巨大なxml ドキュメントがあるとします。
次のような x->N ドキュメントをループ (ストリーミング) するにはどうすればよいですか?
各ドキュメントを xslt で処理しますか? xproc で可能ですか?