To integrate the Neurotechnology VeriFinger Extended SDK for a large-scale biometric system, you must deploy a client-server architecture using its dedicated Matching Server component. The Extended SDK isolates client-side operations (image capture, quality checks, and extraction) from the server-side operations (high-speed 1-to-many template matching). 🧱 Core Architecture Component Roles
Large-scale deployments split workloads to remain fast and responsive:
Fingerprint Client Component: Installed on endpoint stations (PCs, Android, or iOS devices) to control hardware scanners, capture raw images, and convert them into lightweight biometric templates.
Fingerprint Extractor Component: Analyzes raw images, eliminates visual noise, identifies minutiae points, and outputs the mathematical biometric template.
Matching Server Component: A multiplatform multi-threaded server application that holds templates in RAM to execute ultra-fast 1:N (one-to-many) search queries. 🛠 Step-by-Step Integration Workflow 1. Setup and Environment Initialization
Download and unpack the SDK. Use the Activation Wizard or the Volume License Manager to validate your component licenses across your network.
# Example: Adding native SDK library paths in a Linux environment export LD_LIBRARY_PATH=\(LD_LIBRARY_PATH:/opt/Neurotec_Biometric_SDK/Lib/Linux_x86_64 </code> Use code with caution. 2. Client-Side Capture and Template Extraction</p> <p>Connect to a supported fingerprint reader via the SDK’s <code>Device Manager</code>. Capture the image, assess the quality to ensure accuracy, and extract the template:</p> <p><code>// C# Conceptual Workflow for Client-Side Extraction using Neurotec.Biometrics; using Neurotec.Devices; // 1. Initialize manager and pick the first connected scanner var deviceManager = new NDeviceManager(NDeviceType.Scanner, true); var scanner = (NScanner)deviceManager.Devices[0]; // 2. Capture biometrics from the scanner var subject = new NSubject(); var finger = new NFinger(); subject.Fingers.Add(finger); var status = scanner.Capture(finger, timeout: -1); // 3. Extract the biometric template var biometricClient = new NBiometricClient(); var extractionStatus = biometricClient.CreateTemplate(subject); if (extractionStatus == NBiometricStatus.Ok) { // This buffer holds the proprietary, highly compact template NBuffer templateBuffer = subject.GetTemplateBuffer(); } </code> Use code with caution. 3. Database Syncing and Storage</p> <p>The Matching Server supports primary SQL backends such as <strong>PostgreSQL</strong>, <strong>MySQL</strong>, and <strong>Microsoft SQL Server</strong>.</p> <p>Store the generated <code>templateBuffer</code> inside a standard database column using <code>BLOB</code> or <code>BYTEA</code> data types.</p> <p>Map each template to a unique primary key ID (e.g., User ID or Passport Number). 4. Querying the Matching Server for 1:N Identification</p> <p>Instead of evaluating records inside your core database application, query the server via TCP/IP sockets. Send the client-extracted template to the Matching Server engine:</p> <p><code>// Point the client wrapper to your centralized Matching Server network node var matchingClient = new NBiometricClient { Host = "192.168.1.50", Port = 24932 // Default Matching Server communication port }; // Assign the freshly captured template to a probe subject var probeSubject = NSubject.FromMemory(templateBuffer); // Run 1:N identification across the network database var identificationStatus = matchingClient.Identify(probeSubject); if (identificationStatus == NBiometricStatus.Ok) { foreach (var matchingResult in probeSubject.MatchingResults) { Console.WriteLine(\)“Match found! ID: {matchingResult.Id} Score: {matchingResult.Score}”); } } Use code with caution. ⚡ Scaling Up for Massive Databases
If your system scales past hundreds of thousands of users, modify your deployment using these industry parameters: VeriFinger SDK Brochure – Neurotechnology
Leave a Reply