Kaip tvarkyti paskirstytus vaizdo archyvus skalavimui OCR paieškos
Ieškoti ir apdoroti didelius, paskirstytus vaizdo archyvus tekstui yra iššūkis įmonėms, vyriausybėms ir debesijos platformoms. „Aspose.OCR Image Text Finder for .NET“ yra sukurtas mastu, tačiau tinkama architektūra yra raktas.
Realaus pasaulio problemos
Archyvai gali būti plinta per failų serverius, debesų saugojimo ar nuotolinių biurų. vienkartiniai darbai yra pernelyg lėti. Jums reikia skalavimo, paskirstytų darbo srautų - be rezultatų ar audito logų praradimo.
Sprendimo apžvalga
Skirstykite savo archyvą, paleiskite lygiagrečius ar paskirstytus OCR darbus, sutelkite rezultatus ir automatizuokite su orkestravimo įrankiais. Naudokite klaidų tvarkymą ir prisijungimą, kad išlaikytumėte atitiktį ir patikimumą.
Prerequisites
- „Visual Studio 2019“ arba vėliau
- .NET 6.0 arba naujesnė
- ASPOSE.OCR už .NET iš NuGet
- Paskirstytos apdorojimo infrastruktūra (VM, konteineriai, Azure Batch ir kt.)
PM> Install-Package Aspose.OCR
Žingsnis po žingsnio įgyvendinimas
1 žingsnis: Archyvų ir infrastruktūros vertinimas
- Nuotraukų saugojimo vietos auditas (vietinis / tinklas / debesys)
- Paralelizacijos poreikių ir aparatūros ribų nustatymas
2 žingsnis: dalijimosi vaizdai lygiagrečiai / paskirstytiems darbams
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 žingsnis: Batch procesas Kiekviena particija (gali būti lygiagrečiai)
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 žingsnis: stebėti ir surinkti rezultatus
- Logų / rezultatų saugojimas bendroje direktorijoje arba centrinėje duomenų bazėje
- Naudokite atominius rašinius arba DB sandorius
5 žingsnis: Orkestratiniai ir automatiniai darbai
- Naudokite „Azure Batch“, „Kubernetes“ arba numatytas „Windows“ / „Linux“ paslaugas
# Example: PowerShell job launcher
foreach ($worker in 0..3) {
Start-Process "dotnet" "run --workerIndex $worker"
}
6 žingsnis: klaidų sprendimas ir atkūrimas
- Registracijos klaidos atskirai pagal darbą / mazgą
- Atsisiųsti nesėkmingus failus automatiškai
7 žingsnis: Išsamus paskirstytas pavyzdys (pseudo kodas)
// 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
Naudokite atvejus ir paraiškas
Nacionaliniai / Įmonės archyvai
Apdoroti milijonus skanintų dokumentų per savaites, o ne mėnesius.
debesys / hibridinis saugojimas
Nepriekaištingas OCR turinys per vietinį, S3, Azure ar tinklo saugojimą.
Moksliniai tyrimai ir teisiniai atradimai
Skaičiuokite iki reguliavimo, teismo ar FOIA terminų.
Bendrieji iššūkiai ir sprendimai
1 iššūkis: Node arba tinklo nesėkmės
Išsprendimas: Automatinis grąžinimas, tikrinimo taškas ir tvirtas klaidų agregavimas.
2 iššūkis: paskirstytas įrašas ir rezultatų rinkimas
Išsprendimas: Naudokite DB, debesį ar atominius rašinius bendrai saugoti.
Iššūkis 3: Bottlenecks dideliais rinkiniais
Išsprendimas: Balansavimo dalys, tune OCR nustatymai ir veiklos stebėjimas.
Veiksmingumo apžvalgos
- Stebėkite išteklių naudojimą ir darbuotojų skalavimą aukštyn / žemyn, jei reikia
- Naudokite debesų kilmingus įrankius (Azure Batch, AWS Bath, GCP Dataflow ir kt.) elastingam mastui
Geriausios praktikos
- Išbandykite lygiagrečius darbus ant mažo rinkinio pirmiausia
- Automatinis stebėjimas, atkūrimas ir log agregavimas
- Saugokite visus duomenis poilsio ir tranzito metu
- Audito rezultatai ir atitikties klaidos
Išplėstiniai scenarijai
1 scenarijus: Multi-Cloud arba hibridinių OCR darbo vietų organizavimas
Paskirstykite darbo vietas per „on-prem“ ir debesų mazgus pasauliniu mastu.
2 scenarijus: API/Webhook integracija realiuoju laiku
Trigger batch darbai iš upstream sistemų (DMS, el. Laiškas, įkrovimai).
Conclusion
Aspose.OCR Image Text Finder yra paruoštas didžiausiems, sudėtingiausiems archyvams. su paskirta apdorojimo, automatizavimo ir tvirtos klaidų tvarkymo, galite patenkinti atitiktį, mokslinius tyrimus ar verslo poreikius bet kokiu mastu.
See ASPOSE.OCR už .NET API nuorodą Daugiau paskirstytų darbų pavyzdžių.