スケール可能なOCR検索のための分散画像アーカイブを処理する方法
スケール可能なOCR検索のための分散画像アーカイブを処理する方法
テキストのための大規模で配布された画像アーカイブの検索と処理は、企業、政府、およびクラウドプラットフォームにとって課題です。
現実世界問題
アーカイブはファイルサーバー、クラウドストレージ、またはリモートオフィスに広がる可能性があります. 単一のトレード作業は遅すぎる. 大規模で分散されたワークフローが必要です - 結果のトラックや監査ログを失わずに。
ソリューション概要
あなたのアーカイブを分割し、並行または配布されたOCRの作業を実行、結果を集め、オーケストラツールで自動化します。
原則
- Visual Studio 2019 以降
- .NET 6.0 またはそれ以降
- ASPOSE.OCR for .NET から NuGet
- 分散処理のためのインフラ(VM、コンテナ、Azure Batchなど)
PM> Install-Package Aspose.OCR
ステップ・ステップ・実施
ステップ1:アーカイブとインフラの評価
- 監査画像保存場所(ローカル/ネットワーク/クラウド)
- パラレル化の必要性とハードウェアの制限を決定する
ステップ2:パラレル/分散雇用の分割画像
string[] allFiles = Directory.GetFiles("/mount/networkshare", "*.png", SearchOption.AllDirectories);
var partitions = allFiles.Select((file, idx) => new { file, idx })
.GroupBy(x => x.idx % 4) // 4 worker nodes/jobs
.Select(g => g.Select(x => x.file).ToArray())
.ToArray();
ステップ3:バッチプロセス 各パーティション(パラレル化可能)
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
foreach (var file in partitions[workerIndex]) // assign index per worker/job
{
// OCR and log
}
ステップ4:結果の監視と合計
- 共有ディレクトリまたは中央データベースにログ/結果を保存する
- 原子文字またはDB取引を使用する
ステップ5:オーケストラと自動雇用
- Azure Batch、Kubernetes、または予定されているWindows/Linuxサービスを使用する
# Example: PowerShell job launcher
foreach ($worker in 0..3) {
Start-Process "dotnet" "run --workerIndex $worker"
}
ステップ6:エラーの処理と回復
- 仕事/ノードごとに別々にエラーを記録する
- 失敗したファイルを自動的に取り戻す
ステップ7:完全分散例(Pseudoコード)
// Each worker runs this
foreach (var file in myPartition)
{
try
{
// OCR search, save result
}
catch (Exception ex)
{
File.AppendAllText($"error_log_{workerIndex}.txt", $"{file},{ex.Message}\n");
}
}
// After jobs finish, aggregate all result logs centrally
ケースとアプリケーションの使用
国 / 企業アーカイブ
数百万件のスキャンされた文書を数週間で処理し、数か月ではない。
クラウド・ハイブリッド・ストレージ
ローカル、S3、Azure、またはネットワークストレージを通じて無線OCRコンテンツ。
研究・法的発見
規制、裁判、またはFOIAの期限を満たすためにスケールする。
共通の課題と解決策
課題1:ノードまたはネットワークの故障
ソリューション: 自動回収、チェックポイント、および強力なエラー集合。
Challenge 2: Distributed Logging and Result Collections(チャレンジ2:分布されたログインと結果コレクション)
ソリューション: DB、クラウド、または原子文字を使用して共有ストレージを行います。
チャレンジ3:大型ボトルセット
ソリューション: バランスパーティション、Tune OCR 設定、およびパフォーマンスモニタリング。
パフォーマンス考慮
- 資源の使用を監視し、必要に応じて従業員を上/下にスケールする。
- エラスティックなスケールのためのクラウド出身のツール(Azure バッチ、AWS Batch、GCP データフローなど)を使用する
ベストプラクティス
- パラレルワークを最初に小さなセットでテストする
- 自動モニタリング、回復、およびログ集合
- すべてのデータをリラックスおよびトランジットで保護する
- 監査結果と遵守の誤り
高度なシナリオ
シナリオ1:マルチクラウドまたはハイブリッドOCRの仕事をオーケストラする
グローバル規模のオンプレムおよびクラウドノードを通じて仕事を配布する。
シナリオ2:リアルタイムトリガーのためのAPI/Webhook統合
アップストリームシステム(DMS、メール、アップロード)からトリガーバッチの仕事。
結論
Aspose.OCR Image Text Finder は、最大、最も複雑なアーカイブのための準備ができています 配布された処理、自動化、および強力なエラー処理で、あなたはあらゆる規模で遵守、研究、またはビジネスのニーズを満たすことができます。
See ASPOSE.OCR for .NET API リファレンス より広範囲に分布した仕事の例を示す。