Kaip tvarkyti paskirstytus vaizdo archyvus skalavimui OCR paieškos

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ų.

 Lietuvių