KR20210108720A - Fingerprint High Speed Matching System for Mass Fingerprint Identification - Google Patents
Fingerprint High Speed Matching System for Mass Fingerprint Identification Download PDFInfo
- Publication number
- KR20210108720A KR20210108720A KR1020200023662A KR20200023662A KR20210108720A KR 20210108720 A KR20210108720 A KR 20210108720A KR 1020200023662 A KR1020200023662 A KR 1020200023662A KR 20200023662 A KR20200023662 A KR 20200023662A KR 20210108720 A KR20210108720 A KR 20210108720A
- Authority
- KR
- South Korea
- Prior art keywords
- matching
- fingerprint
- mpu
- request
- result
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 13
- 238000012790 confirmation Methods 0.000 abstract description 5
- 238000012360 testing method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000007429 general method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G06K9/00087—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/1365—Matching; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Collating Specific Patterns (AREA)
Abstract
Description
본 발명은 다수의 매칭(Matching) 서버에서 빠른 속도로 데이터를 얻어와 고속의 1vsN(1 대 다수) 지문 매칭 방법을 통하여 빠른 시간에 대상자의 신원을 확인하며, 분산환경에 적용 가능한, 대량의 지문식별을 위한 지문 고속매칭 시스템에 관한 것이다.The present invention obtains data at a high speed from a plurality of matching servers and quickly identifies the subject through a high-speed 1vsN (one-to-many) fingerprint matching method, and a large amount of fingerprints applicable to a distributed environment It relates to a fingerprint high-speed matching system for identification.
수백만 건의 지문이나 수천만 건 등 대량의 지문을 대상으로 지문 검색을 처리하는 데는 많은 시간이 든다. 예를 들어 1200만건의 지문을 대상으로 초당 만건의 지문 검색을 수행하는 경우 전체 대상에 대해 지문 검색을 수행하는 시간은 1200초(20분)가 걸리는 지문 대량 검색에는 수행에 있어 많은 시간이 필요하다. 그 뿐 아니라 대량의 지문 데이터를 얻어오는 것에도 많은 시간이 소요된다. 지문 특징점 데이터를 저장하는 파일 또는 DB에서 데이터를 얻어오는 데는 내용을 검색하는 시간과 네트워크 시간 등에 있어 상당한 시간과 메모리 및 디스크의 공간이 필요하며, 데이터를 얻어오는 시간이 지문 매칭 알고리즘의 처리시간 보다 더 많이 드는 것이 일반적이다.It takes a lot of time to process a fingerprint search for a large number of fingerprints, such as millions of fingerprints or tens of millions of fingerprints. For example, when performing 10,000 fingerprint scans per second for 12 million fingerprints, it takes a lot of time to perform a large-scale fingerprint scan that takes 1200 seconds (20 minutes) to perform a fingerprint scan for all objects. . In addition, it takes a lot of time to obtain a large amount of fingerprint data. Obtaining data from a file or DB that stores fingerprint feature point data requires considerable time, memory and disk space, such as time to search the contents and network time, and the time to obtain data is shorter than the processing time of the fingerprint matching algorithm. It usually costs more.
따라서, 지문 검색을 요청한 다음 매칭시스템에서 60초 이내에 대상자의 신원을 확인하기 위해, 빠르게 검색용 지문 데이터를 확보하고, 빠른 속도로 지문 검색을 처리하는 알고리즘을 통하여 다수의 서버에서 다수의 지문을 검색하는 방법이 요망된다.Therefore, in order to confirm the identity of the subject within 60 seconds in the matching system after requesting a fingerprint search, the fingerprint data for the search is quickly obtained, and a plurality of fingerprints are retrieved from a number of servers through an algorithm that processes the fingerprint search at a high speed. How to do it is desired
따라서, 본 발명은 다수의 매칭(Matching) 서버에서 빠른 속도로 데이터를 얻어와 고속의 1vsN(1 대 다수) 지문 매칭 방법을 통하여 빠른 시간에 대상자의 신원을 확인하며 분산환경에 적용 가능한 지문 고속매칭 시스템을 제안한다.Therefore, the present invention obtains data at a high speed from a plurality of matching servers and quickly identifies the subject through a high-speed 1vsN (one-to-many) fingerprint matching method, and high-speed fingerprint matching applicable to a distributed environment propose a system.
본 발명에서는, 다수의 서버에서 요청한 지문 검색 작업을 수행하기 위해 매칭 작업을 수행하는 매칭 처리 유닛(MPU, Matching Processing Unit)와 매칭 요청 작업 및 결과를 취합하고 관리하며 MPU들을 관리하는 매칭 제어 유닛(MCU, Matching Control Unit)로 구성된다.In the present invention, a matching processing unit (MPU, Matching Processing Unit) that performs a matching operation to perform a fingerprint search operation requested by a plurality of servers, and a matching control unit (MPU) that collects and manages the matching request operation and results, and manages the MPUs ( MCU, Matching Control Unit).
선행기술로, 일본 특허공개 2003-30661호는 1개의 입력된 지문을 다수의 등록지문과 매칭하는 지문 조합 장치에 관한 것이나, 매칭방법은 기존에 방식을 그대로 적용하고 있어 지문 매칭 속도가 빠르지 않다.As a prior art, Japanese Patent Laid-Open No. 2003-30661 relates to a fingerprint combination device that matches one input fingerprint with a plurality of registered fingerprints, but the matching method is not fast because the existing method is applied as it is.
본 발명이 이루고자 하는 과제는, 다수의 매칭(Matching) 서버에서 빠른 속도로 데이터를 얻어와 고속의 1vsN(1 대 다수) 지문 매칭 방법을 통하여 빠른 시간에 대상자의 신원을 확인하며, 분산환경에 적용 가능한, 대량의 지문식별을 위한 지문 고속매칭 시스템을 제공하는 것이다.The task to be achieved by the present invention is to obtain data at a high speed from a number of matching servers and quickly identify the subject through a high-speed 1vsN (one-to-many) fingerprint matching method, and apply it to a distributed environment It is possible to provide a high-speed fingerprint matching system for the identification of a large number of fingerprints.
본 발명이 이루고자 하는 다른 과제는, 대량의 대상 지문들에 대하여 고속으로 지문 데이터를 얻어오고 관리하며, 분산환경에서 동작하는 MCU(Matching Control Unit)와 다수의 MPU(Matching Processing Unit)의 구조를 구비하며, 다수의 MPU에서 매칭 수행한 결과를 취합하고 취합한 결과에서 상위결과를 등록하는, 대량의 지문식별을 위한 지문 고속매칭 시스템을 제공하는 것이다.Another object of the present invention is to obtain and manage fingerprint data at high speed for a large number of target fingerprints, and to have a structure of an MCU (Matching Control Unit) and a plurality of MPUs (Matching Processing Unit) operating in a distributed environment It is to provide a high-speed fingerprint matching system for large-scale fingerprint identification, which collects the results of matching in a plurality of MPUs and registers the upper results from the collected results.
상기 과제를 해결하기 위해, 본 발명의 지문 매칭 시스템은, 경찰, 출입국, 군인, 금융, 의료, 사회복지 중의 하나의 업무와 관련하여 신원확인을 하기 위한 단말기인, 신원확인 검출 장치; 신원확인 검출 장치로부터 입력 지문과 함께 신원 확인 요청이 입력되면 API(application programming interface) 서버로, 입력 지문 정보를 포함하는 매칭 요청 신호를 전송하고, 매칭 DB로부터 매칭 결과를 수신하여, 신원확인 검출 장치로 전송하는, 웹 서버; 웹 서버로부터 수신된 매칭 요청 신호를, 매칭 DB에, 매칭 요청 신호를 등록하는, API(application programming interface) 서버; 매칭 DB로부터 매칭 요청 신호를 읽어들어, 1vsN(1 대 다수) 매칭 알고리즘 및 1vs1(1대1) 매칭 알고리즘을 적용하여 매칭을 행하여, 입력 지문과 매칭되는 후보자들을 선정하고, 선정된 후보자 목록을 생성하여 매칭 DB에 저장하는, 매칭서버 부;를 포함하는 것을 특징으로 한다.In order to solve the above problems, the fingerprint matching system of the present invention is a terminal for identification in relation to one of the police, immigration, military, finance, medical care, and social welfare, the identification detection device; When an identification request is input together with an input fingerprint from the identification detection device, a matching request signal including input fingerprint information is transmitted to an API (application programming interface) server, and a matching result is received from the matching DB, the identification detection device to the web server; an API (application programming interface) server that registers the matching request signal received from the web server, in the matching DB, the matching request signal; By reading a matching request signal from the matching DB, matching is performed by applying a 1vsN (1 to many) matching algorithm and a 1vs1 (1 to 1) matching algorithm to select candidates that match the input fingerprint, and generate a list of selected candidates and storing it in the matching DB, a matching server unit;
매칭서버 부는 MCU(Matching Control Unit)와 다수의 MPU(Matching Processing Unit)를 포함하며, MCU는, 매칭 DB에 등록된 매칭 요청 정보를 수신하고, 해당하는 매칭 요청에 대한 결과 데이터 셋을 생성하고, 다수의 MPU(Matching Processing Unit)에게 매칭 요청을 전송하며, MPU는 MCU로부터 수신된 매칭 요청 정보를 기반으로 요청 특징점 정보와 대상 특징점 정보의 묶음을 매칭 큐(Matching Queue)에 기록하고, 매칭 쓰레드는 매칭 큐에 올라오는 해당 매칭 정보들을 얻어서 매칭을 진행하고 결과를 기록하고, 하나의 매칭 요청에 대한 처리가 완료되면, MPU(120)는 매칭 결과를 취합하고 점수가 높은 순으로 결과를 정렬하고, 상위 소정 건수의 결과를, MPU별 후보자 목록으로서, MCU로 전달한다.The matching server unit includes an MCU (Matching Control Unit) and a plurality of MPUs (Matching Processing Units), and the MCU receives the matching request information registered in the matching DB, and generates a result data set for the corresponding matching request, A matching request is sent to a plurality of MPUs (Matching Processing Units), and the MPU records a bundle of requested feature information and target feature information in a matching queue based on the matching request information received from the MCU, and the matching thread The matching information is obtained from the matching queue, the matching is performed, the results are recorded, and when processing for one matching request is completed, the
MCU는, MPU 매칭 결과로서 MPU별 후보자 목록을 수신하면, 이를 매칭 결과 데이터 셋에 기록하고, 매칭 결과 데이터 셋은 모든 MPU에서 MPU별 매칭 결과를 받아서 다시 정렬하여 후보자 목록을 생성하고, 매칭 DB에 기록한다.When the MCU receives the MPU-specific candidate list as the MPU matching result, it records it in the matching result data set, and the matching result data set receives the MPU-specific matching results from all MPUs and rearranges them to generate a candidate list, record
MCU는 네트워크의 처리를 담당하는 네트워크 매니저(Network Manager)와, 받은 요청사항을 처리하는 잡 매니저(Job Manager)와, 신규 지문 검색 요청이 있는지 확인하고 MPU들에게 매칭 요청을 보내는 리퀘스트 매니저(Request Manager)와, 결과 데이터를 취합하고 모든 결과를 받았을 때 DB(데이터베이스)에 결과를 기록하는 리절트 세트(Result Set)와 DB(데이터베이스) 처리를 담당하는 매칭(Matching) DAO(Data Access Object), MPU들에게 요청을 전송하는 MPU 클라이언트(Client)를 포함한다.The MCU has a Network Manager in charge of network processing, a Job Manager that processes received requests, and a Request Manager that checks whether there is a new fingerprint search request and sends a matching request to the MPUs. ), the result set that collects the result data and records the result in the DB (database) when all the results are received, and the matching (data access object) DAO (Data Access Object), MPU in charge of DB (database) processing It includes an MPU client (Client) that sends a request to them.
MPU는 네트워크의 처리를 담당하는 네트워크 매니저(Network Manager), 받은 요청사항을 처리하는 잡 매니저(Job Manager), 매칭 작업을 쓰레드 형태로 진행하는 매칭 쓰레드(Matching Thread), 전체 대상 지문 데이터를 관리하는 매칭 데이터 세트(Matching Data Set), MCU에게 결과를 전송하는 MCU 클라이언트(Client)를 포함한다. The MPU is a network manager that handles network processing, a job manager that handles received requests, a matching thread that performs matching tasks in the form of threads, and a system that manages the entire target fingerprint data. Matching data set (Matching Data Set), including MCU client (Client) that transmits the result to the MCU.
매칭서버 부는, 매칭 시스템 특징점 직접 관리에 있어서, 1vsN 매칭 알고리즘 및 1vs1 매칭 알고리즘에서 처리하는 단위로 특징점 데이터를 묶어서 처리하고, 위치를 Key/Value 형태로 처리하는 메모리 관리자를 만들고, 메모리 관리자에 기본적인 데이터를 적재한 다음 지문 데이터를 읽어서 처리하는 방식으로 이루어진다.The matching server unit, in direct management of key points in the matching system, bundles and processes key point data in units processed by 1vsN matching algorithm and 1vs1 matching algorithm, creates a memory manager that processes location in Key/Value form, and provides basic data to the memory manager After loading the fingerprint data, it is processed by reading it.
본 발명의 대량의 지문식별을 위한 지문 고속매칭 시스템은, 다수의 매칭(Matching) 서버에서 빠른 속도로 데이터를 얻어와 고속의 1vsN(1 대 다수) 지문 매칭 방법을 통하여 빠른 시간에 대상자의 신원을 확인하며, 분산환경에 적용 가능하며, 대량의 지문식별이 가능하다. The fingerprint high-speed matching system for mass fingerprint identification of the present invention obtains data from a number of matching servers at a high speed and uses a high-speed 1vsN (one-to-many) fingerprint matching method to quickly identify the subject. It can be checked, can be applied to a distributed environment, and can identify a large number of fingerprints.
즉, 본 발명은, 대량의 대상 지문들에 대하여 고속으로 지문 데이터를 얻어오고 관리하는 것이 가능하며, 대량의 대상 지문들에 대하여 고속으로 1vs다수 지문 매칭을 수행하는 알고리즘을 구비하며, 분산환경에서 동작하는 MCU(Matching Control Unit)와 다수의 MPU(Matching Processing Unit)의 구조로 설계되어 있으며, 다수의 MPU에서 매칭 수행한 결과를 취합하고 취합한 결과에서 상위결과를 등록하도록 이루어져 있다.That is, the present invention is capable of obtaining and managing fingerprint data at high speed for a large number of target fingerprints, and has an algorithm that performs 1 vs. multiple fingerprint matching for a large number of target fingerprints at high speed, in a distributed environment. It is designed in the structure of an operating MCU (Matching Control Unit) and multiple MPUs (Matching Processing Units).
따라서, 본 발명의 지문 고속매칭 시스템은, 빠르게 검색용 지문 데이터를 확보하고, 빠른 속도로 지문 검색을 처리하는 알고리즘을 통하여 다수의 서버에서 다수의 지문을 검색하도록 이루어져, 사용자가 지문 검색을 요청한 다음 매칭시스템에서 60초 이내에 대상자의 신원을 확인 가능 하다.Accordingly, the high-speed fingerprint matching system of the present invention is configured to quickly secure fingerprint data for search and search for a plurality of fingerprints in a plurality of servers through an algorithm that processes the fingerprint search at a high speed, so that after the user requests a fingerprint search, In the matching system, the identity of the subject can be confirmed within 60 seconds.
또한, 본 발명은 시제품 테스트베드 환경 개발에 적용할 수 있다.In addition, the present invention can be applied to the development of a prototype test bed environment.
도 1은 본 발명의 대량의 지문식별을 위한 지문 고속매칭 시스템을 개략적으로 설명하기 위한 설명도이다.
도 2는 도 1의 지문 고속매칭 시스템의 매칭 서버부의 구성도이다.
도 3은 도 1의 지문 고속매칭 시스템의 구동을 설명하기 위한 흐름도이다. 1 is an explanatory diagram schematically illustrating a fingerprint high-speed matching system for mass fingerprint identification of the present invention.
FIG. 2 is a configuration diagram of a matching server unit of the fingerprint high-speed matching system of FIG. 1 .
FIG. 3 is a flowchart for explaining the operation of the fingerprint high-speed matching system of FIG. 1 .
본 발명의 대량의 지문식별을 위한 지문 고속매칭 시스템을 첨부된 도면을 참조하여 이하 상세히 설명한다.The high-speed fingerprint matching system for mass fingerprint identification of the present invention will be described in detail below with reference to the accompanying drawings.
<지문 고속매칭 시스템의 구성><Configuration of high-speed fingerprint matching system>
도 1은 본 발명의 대량의 지문식별을 위한 지문 고속매칭 시스템을 개략적으로 설명하기 위한 설명도이고, 도 2는 도 1의 지문 고속매칭 시스템의 매칭 서버부의 구성도이다.1 is an explanatory diagram schematically illustrating a fingerprint high-speed matching system for mass fingerprint identification of the present invention, and FIG. 2 is a configuration diagram of a matching server unit of the high-speed fingerprint matching system of FIG. 1 .
지역경찰관련 신원확인부, 출입국 신원확인부, 군 보안관련 신원확인부, 금융서비스 관련 적용부, 의료관련 환자 신원확인부, 사회복지관련 신원확인부 등의 다양한 신원확인 검출 장치(10)로부터 신원확인 요청신호를, 인터넷망을 통해, 웹서버(또는 메인서버 또는 응용서버)(20)에 요청하면, 신원확인 검출 장치(10)는 보안 인증을 통해, 웹서버(20)를 통해 어플리케이션 서비스부(50)의 API(application programming interface) 서버(51)와 연동되고, 신원확인 검출 장치(10)는 웹서버(20)를 통해, 특정 어플리케이션(예로, 지역경찰관련 신원확인 어플리케이션)의 신원확인을 위한 매칭 요청신호를 API 서버(51)로 전송하게 되고, API 서버(51)는 수신된 매칭요청신호를 어플리케이션 DB(52)의 매칭 DB에 등록한다. 매칭 DB에 등록된 매칭 요청신호를 순서대로, API 서버(51)가 매칭 서버부(매칭서버 그룹)(100)로 전송하고, 매칭 서버부(매칭서버 그룹)(100)에서 매칭된 결과를 API 서버(51)가 수신하여, 웹서버(20)를 통해 신원확인 검출 장치(10)로 전송한다.Identification from various
여기서, 신원확인 검출 장치(10)는 지역경찰관련 신원확인부, 출입국 신원확인부, 군 보안관련 신원확인부, 금융서비스 관련 적용부, 의료관련 환자 신원확인부, 사회복지관련 신원확인부 등과 관련된 담당자의 단말기(경우에 따라서는 스마트폰)일 수 있다.Here, the
웹 서버(20) 등을 통하여 매칭 요청 신호가 수신되어, API 서버(51)에 의해 매칭 DB에 매칭 요청 신호가 등록되면, MCU(110)는 자동으로 매칭 DB에 등록된 신규 매칭 요청 정보를 읽어와 해당하는 매칭 요청에 대한 결과 데이터 셋을 생성한 다음, MPU(120)들에게 매칭 요청을 전송한다. MPU(120)는 받은 매칭 요청 정보를 기반으로 요청 특징점 정보와 대상 특징점 정보의 묶음을 매칭 큐에 기록하고, 매칭 쓰레드는 매칭 큐에 올라오는 해당 매칭 정보들을 얻어서 매칭을 진행하고 결과를 기록한다. 이렇게 하나의 매칭 요청에 대한 처리가 완료되면 MPU(120)는 매칭 결과를 취합하고 점수가 높은 순으로 결과를 정렬한 다음 상위 N건(예: 100건)의 결과를 MCU(110)로 전달한다. MCU(110)는 MPU(120)에서 매칭 결과를 받으면 매칭 결과 데이터 셋에 기록하고, 매칭 결과 데이터 셋은 모든 MPU(120)에서 매칭 결과를 받으면 그 결과를 다시 정렬한 다음 매칭 DB에 기록한다.When a matching request signal is received through the
매칭 서버부(100)는 매칭 제어 유닛(MCU, Matching Control Unit)(110)과 다수의 매칭 처리 유닛(MPU, Matching Processing Unit)(120)으로 구성된다. 여기서, 지문 고속매칭 시스템의 핵심기능은 매칭 서버부(100)에서 행하여 지므로, 지문 고속매칭 시스템은 크게 단일의 매칭 제어 유닛(MCU, Matching Control Unit)(110)과 다수의 매칭 처리 유닛(MPU, Matching Processing Unit)(120)으로 구성된다고 할 수 있다. The matching
MCU(110)는 네트워크의 처리를 담당하는 네트워크 매니저(Network Manager), 받은 요청사항을 처리하는 잡 매니저(Job Manager), 신규 지문 검색 요청이 있는지 확인하고 MPU들에게 매칭 요청을 보내는 리퀘스트 매니저(Request Manager), 결과 데이터를 취합하고 모든 결과를 받았을 때 DB(데이터베이스)에 결과를 기록하는 리절트 세트(Result Set)와 DB(데이터베이스) 처리를 담당하는 매칭(Matching) DAO(Data Access Object), MPU(120)들에게 요청을 전송하는 MPU 클라이언트(Client) 등을 포함한다. The MCU 110 has a network manager in charge of processing the network, a job manager that processes the received request, and a request manager that checks whether there is a new fingerprint search request and sends a matching request to the MPUs. Manager), a result set that collects result data and records the results in DB (database) when all results are received, and Matching DAO (Data Access Object), MPU in charge of DB (database) processing Including the MPU client (Client) and the like to send a request to (120).
MPU(120)는 네트워크의 처리를 담당하는 네트워크 매니저(Network Manager), 받은 요청사항을 처리하는 잡 매니저(Job Manager), 매칭 작업을 쓰레드 형태로 진행하는 매칭 쓰레드(Matching Thread), 전체 대상 지문 데이터를 관리하는 매칭 데이터 세트(Matching Data Set), MCU에게 결과를 전송하는 MCU 클라이언트(Client) 등을 포함한다.The MPU 120 includes a network manager in charge of network processing, a job manager for processing received requests, a matching thread for performing a matching operation in the form of a thread, and the entire target fingerprint data. It includes a matching data set that manages , and an MCU client that transmits the result to the MCU.
도 3은 도 1의 지문 고속매칭 시스템의 구동을 설명하기 위한 흐름도이다. 3 is a flowchart for explaining the operation of the fingerprint high-speed matching system of FIG. 1 .
매칭 요청단계로, 웹 서버(20) 등을 통하여 매칭 요청 신호가 수신되어, API 서버(51)에 의해 어플리케이션 DB(52)의 매칭 DB에 매칭 요청 신호가 등록되면(S110), API 서버(51)를 통해, MCU(110)는 매칭 DB에 등록된 신규 매칭 요청 정보를 읽어와서(S120), 해당하는 매칭 요청에 대한 결과 데이터 셋을 생성한 후(S130), MPU(120)들에게 매칭 요청을 전송한다(S140). In the matching request step, when a matching request signal is received through the
매칭 단계로, MPU(120)는 받은 매칭 요청 정보를 기반으로 요청 특징점 정보와 대상 특징점 정보의 묶음을 매칭 큐(Matching Queue)에 기록하고(S150), 매칭 쓰레드는 매칭 큐에 올라오는 해당 매칭 정보들(즉, 요청 특징점 정보와 대상 특징점 정보)을 얻어서 매칭을 진행하고 결과를 기록한다(S160). 여기서, 매칭 쓰레드는 요청 특징점을 기준으로 매칭을 수행한다.In the matching step, the MPU 120 records a bundle of requested feature point information and target feature point information based on the matching request information received in a matching queue (S150), and the matching thread is the matching information that is uploaded to the matching queue. (ie, requested feature point information and target feature point information), perform matching, and record the result (S160). Here, the matching thread performs matching based on the requested feature point.
MPU별 후보자 목록 선정단계로, 매칭 단계에서 하나의 매칭 요청에 대한 처리가 완료되면, MPU(120)는 매칭 결과를 취합하고 점수가 높은 순으로 결과를 정렬하고(S170), 상위 소정건수(즉, 상위 N건(예: 100건))의 결과를, MPU별 후보자 목록으로서, MCU(110)로 전달한다(S180). In the MPU-specific candidate list selection step, when the processing for one matching request in the matching step is completed, the
최종 후보자 목록 선정단계로, MCU(110)는 MPU(120)에서 매칭 결과로서 MPU별 후보자 목록을 수신하면, 이를 매칭 결과 데이터 셋에 기록하고, 매칭 결과 데이터 셋은 모든 MPU(120)에서 MPU별 매칭 결과(즉, MPU별 후보자 목록)를 받으면 그 결과를 다시 정렬하여 후보자 목록을 생성하고(S200), 이를 매칭 DB에 기록한다(S210). In the final candidate list selection step, the MCU 110 receives the MPU-specific candidate list as the matching result from the
웹서버(20)는 매칭 DB로 매칭 결과를 요청하고, 최종 후보자 목록 선정단계에서 선정된 후보자 목록을 조회하고(S220), 이를 신원확인 검출 장치(10)로 전송하여 디스플레이한다.The
<데이터 페치(Fetch)><Data Fetch>
일반적으로, 데이터 페치 방법의 종류로서, 일반적으로, 지문 데이터는 DB에 저장하며, 저장한 지문 데이터는 DB 쿼리를 통하여 직접적으로 얻어오는 방법, 얻어온 데이터를 파일로 저장한 다음 파일을 기준으로 처리하는 방법, 얻어온 데이터를 Redis 등의 인메모리스토어를 이용하여 메모리 캐쉬처럼 사용하는 방법, 얻어온 데이터를 개발 프로그램 내부에 쌓아서 활용하는 방법 등이 있다. DB 쿼리를 통해 지문 매칭을 위한 데이터를 직접적으로 얻어오는 방법은 가장 직관적이고 일반적인 방법이나 DB 페치 시간이 상당히 소요되는 단점이 있다. 또한, 파일, 인메모리스토어, 프로그램 직접 관리 등의 방법의 경우 DB 쿼리를 통해 데이터를 페치하는 시간은 상대적으로 짧지만, DB에 저장된 지문 데이터와 파일 등에서 다루는 지문 데이터 간에 완전히 일치하는 자료라는 것을 확인하기 힘들다는 단점이 존재한다. 이렇게 처리하는 경우 우선적으로 최초의 자료를 DB에서 얻어와서 파일 등에 적재하는 절차가 필요하고, DB 데이터와의 싱크를 일치시키기 위한 추가적인 처리작업이 필요하다. 매칭 시스템 특징점 직접 관리의 경우 매칭 알고리즘에서 처리하는 단위로 특징점 데이터를 묶어서 처리하고, 그 위치를 Key/Value 형태로 처리하는 메모리 관리자를 만들고 그 메모리 관리자에 기본적인 데이터를 적재한 다음 지문 데이터를 읽어서 처리하는 방식으로 구성하였다. 다만 이런 형태로 특징점을 직접 관리하는 경우 물리적인 전체 메모리의 크기에 따라 읽을 수 있는 특징점 전체 데이터의 크기가 제한된다. 본 발명에서는, 각 Fetch 방법에서 테스트한 결과 DB Fetch에서 얻어오는 일반적인 방법은 채택하기 힘들 정도로 느렸고, 파일 혹은 인메모리스토어를 이용한 방법도 상대적으로 DB에 비해 빠르나 충분한 속도를 내기 힘들었기 때문에, 본 발명의 매칭시스템에서는, 즉, 매칭 요청단계의 데이터 패치는, 기본적으로 직접 메모리 관리자를 만들고 그 메모리 관리자에 직접적으로 특징점 데이터를 관리하도록 하였다.In general, as a type of data fetch method, fingerprint data is stored in the DB, the stored fingerprint data is directly obtained through a DB query, and the obtained data is stored as a file and then processed based on the file. There are a number of methods, a method of using the obtained data as a memory cache using an in-memory store such as Redis, and a method of accumulating and utilizing the obtained data within the development program. The method of directly obtaining data for fingerprint matching through a DB query is the most intuitive and general method, but has a disadvantage in that it takes a considerable amount of time to fetch the DB. In addition, in the case of methods such as file, in-memory store, and direct program management, the time to fetch data through DB query is relatively short, but it is confirmed that the fingerprint data stored in the DB and the fingerprint data handled in files are completely consistent. The downside is that it is difficult to do. In this case, it is necessary to first obtain the first data from the DB and load it into a file, etc., and additional processing is required to match the sync with the DB data. In the case of direct management of key points in the matching system, the key point data is bundled and processed by the matching algorithm, and a memory manager that processes the location in a key/value format is created, basic data is loaded in the memory manager, and then the fingerprint data is read and processed. constructed in this way. However, in the case of directly managing the key points in this form, the size of the entire key point data that can be read is limited according to the size of the entire physical memory. In the present invention, as a result of testing in each fetch method, the general method obtained from DB Fetch was slow enough to be adopted, and the method using a file or in-memory store was also relatively fast compared to DB, but it was difficult to achieve sufficient speed. In the matching system of the present invention, that is, data patching in the matching request stage is basically made to directly create a memory manager and directly manage the feature point data in the memory manager.
<매칭 알고리즘 처리><Matching Algorithm Processing>
기존의 1vs1 매칭 알고리즘의 경우 정확도는 매우 높으나 시간이 많이 걸리는 단점이 존재한다. 1vsN 매칭 알고리즘의 경우 1차적으로 전체 데이터에 대해서 최상위 후보군으로 필터 처리를 하고, 최상위 후보군만을 대상으로 1vs1을 수행하여 상대적으로 훨씬 빠른 속도로 같은 대상에 대한 매칭을 수행하나 1vs1매칭이 누락되는 경우가 발생할 수 있다. In the case of the existing 1vs1 matching algorithm, the accuracy is very high, but there is a disadvantage that it takes a lot of time. In the case of 1vsN matching algorithm, filter processing is primarily performed on the entire data by the highest candidate group, and 1vs1 is performed on only the highest candidate group to perform matching on the same target at a relatively faster speed, but 1vs1 matching is omitted. can occur
1vsN 매칭 알고리즘으로 처리하는 경우 한건의 검색 요구 특징점과 다수의 매칭 대상 특징점의 인덱스(지문 특징점 내부의 상관관계를 인덱스로 생성한 정보)를 기준으로 우선적으로 최상위 후보군을 만들고 다음으로 그 최상위 후보군만을 대상으로 1대1 비교를 수행하는 식으로 처리한다. 이렇게 처리하게 되면 실제 시간이 많이 드는 작업인 1대1의 비교를 줄일 수 있어 훨씬 빠른 속도로 매칭작업을 수행할 수 있다. 이에 대한 검증으로, 멀티 쓰레드 혹은 멀티 프로세스 처리에 있어 본 발명의 매칭 알고리즘을 대상으로 테스트를 수행한 결과 멀티 쓰레드나 멀티 프로세스를 활용하는 경우 매칭이 더 빠르게 진행되는 것을 확인하였다. 일반적인 경우 테스트 컴퓨터의 CPU의 코어개수만큼 멀티 쓰레드나 멀티 프로세스를 만드는 것이 바람직하다.In the case of processing with the 1vsN matching algorithm, the highest candidate group is first created based on the index of one search-required characteristic point and a plurality of matching target characteristic points (information generated by indexing the correlation within the fingerprint characteristic point), and then only the highest candidate group is targeted to perform a one-to-one comparison. In this way, one-to-one comparison, which is a time-consuming task, can be reduced, and matching can be performed at a much faster speed. As a verification of this, as a result of testing the matching algorithm of the present invention in multi-thread or multi-process processing, it was confirmed that matching proceeds faster when multi-thread or multi-process is used. In general, it is desirable to create multi-threads or multi-processes as many as the number of cores of the CPU of the test computer.
본 발명의 시스템과 종래의 AFIS 시스템의 매칭속도를 비교한 결과는 표 1과 같다.Table 1 shows the results of comparing the matching speed between the system of the present invention and the conventional AFIS system.
여기서, AFIS 형식은 DB에서 데이터를 페치한 다음 1vs1 알고리즘에 의해 매칭을 수행한 결과이고, 본 발명의 형식은 이미 페치하여 메모리에 올려둔 데이터를 기반으로 1vsN 알고리즘에 의해 매칭을 수행한 결과이다. Here, the AFIS format is the result of fetching data from the DB and then performing matching by the 1vs1 algorithm, and the format of the present invention is the result of performing matching by the 1vsN algorithm based on the data already fetched and loaded in the memory.
비교 결과 AFIS와 같은 방식으로 지문 검색 작업을 수행하는데 있어 비해 약 800배 가량 빠르게 지문 검색 작업이 처리되었음을 확인할 수 있다. 하나의 MPU서버가 대략 1000만건 정도의 지문을 다룬다고 가정했을 때도 계산상으로는 대략 12.5초 정도에 결과를 낼 수 있다. 다른 여러 가지 부가적인 시간을 잡아먹는 요소를 가정해도 목표로 했던 60초 이내로 결과를 낼 수 있으며, 더 빠른 속도가 필요한 경우 알고리즘의 파라미터 조정이나 튜닝을 통해서 좀 더 개선도 가능한 상황이다. 다만 이런 형태로 처리하는 경우 검색 대상 지문 데이터들이 실제 메모리에 올려져 처리되기 때문에 MPU가 동작하는 기기의 물리적인 메모리 총량 이상의 지문 데이터들을 한 기기에서 처리하지 못하는 단점이 있다.(5KiB 지문 특징점 기준 1000만건에 약 40.55GiB) 하지만 충분한 메모리가 확보되거나 혹은 충분히 많은 숫자의 분산 환경이 구축되면 상당한 속도로 지문 검색을 처리하는 것을 기대할 수 있다.As a result of comparison, it can be seen that the fingerprint search is processed 800 times faster than when performing the fingerprint search in the same way as AFIS. Even if it is assumed that one MPU server handles approximately 10 million fingerprints, the result can be calculated in approximately 12.5 seconds. Even assuming a number of other additional time-consuming factors, the target result can be achieved within 60 seconds, and if a higher speed is required, further improvement is possible through parameter adjustment or tuning of the algorithm. However, in the case of processing in this form, there is a disadvantage that one device cannot process more than the total amount of physical memory of the device in which the MPU operates because the fingerprint data to be searched is loaded into the actual memory and processed. About 40.55 GiB in all cases) However, if sufficient memory is secured or a sufficiently large number of distributed environments are established, it can be expected to process fingerprint searches at a considerable speed.
<MCU 구성><MCU Configuration>
MCU는 MCU 전체의 업무를 처리하는 JobManager, MatchingThread, ResultSet 등의 주요 Object의 초기화와 접근을 담당하는 Global을 기본으로 하여, Main은 전체의 초기화에 서버에서의 네트워크 처리를 담당하고, Main에서 받은 요청을 처리하는 JobManager가 존재한다. JobManager는 받은 요청에 대해 JobThread를 생성하여 특징점 추가, 제거, 갱신 업무의 처리와 매칭 결과 처리를 수행하며 이 수행에 있어 MpuClient를 호출하여 MPU로 해당 요청 사항을 처리한다. MatchingThread는 신규 매칭 작업이 존재하는지 주기적으로 확인하다 신규 작업이 존재하면 MpuResulSet을 생성하여 MPU에서 받을 결과를 미리 준비하고 MPU로 매칭 요청을 전달한다. MPU에서 매칭 결과를 전달하면 JobThread에서 MpuResultSet에 결과를 기록하고, 모든 MPU로부터 결과가 도착하면 그 결과를 소팅 처리한 다음 Dao를 이용하여 매칭 결과를 DB에 결과를 기록한다.The MCU is based on Global, which is responsible for initialization and access of major objects such as JobManager, MatchingThread, and ResultSet, which handle the entire operation of the MCU. There is a JobManager that handles . JobManager creates a JobThread for the received request to process feature point addition, removal, and update tasks and processing the matching result. MatchingThread periodically checks whether a new matching task exists. If a new task exists, it creates an MpuResulSet, prepares the result to be received from the MPU in advance, and sends a matching request to the MPU. When the MPU delivers the matching result, the JobThread records the result in the MpuResultSet. When the result arrives from all MPUs, the result is sorted, and then the matching result is recorded in the DB using Dao.
< MPU 구성>< MPU configuration>
MPU는 MPU 전체의 업무를 처리하는 JobManager, MatchingThread, 등의 주요 Object의 초기화와 접근을 담당하는 Global을 기본으로 하여, Main은 전체의 초기화에 서버에서의 네트워크 처리를 담당하고, Main에서 받은 요청을 처리하는 JobManager가 존재한다. JobManager는 받은 요청에 대해 JobThread를 생성하여 특징점 추가, 제거, 갱신 업무의 처리와 매칭 요청에 대해서 MtxQueue에 매칭 데이터를 등록하여 MatchingThread가 매칭을 처리하도록 한다. MpuDataSet은 모든 대상 지문 데이터를 메모리에 담는 구조로 1vsN(다수) 매칭 시에 메모리 복사 등의 작업으로 추가 메모리를 사용하지 않고, 매칭 알고리즘에 전달하는 속도 등에 최적화 시키기 위하여 하부에 메모리를 통으로 관리하는 MpuDataUnit을 두어 매칭에 성능을 최적화 시켰다. 특정 매칭 작업이 종료되면 McuClient를 이용하여 MCU에 그 해당하는 결과를 등록한다.MPU is based on Global, which is responsible for initialization and access of major objects such as JobManager, MatchingThread, etc., which handle the entire task of the MPU. There is a JobManager that handles it. JobManager creates a JobThread for the received request and registers matching data in MtxQueue for the processing of feature point addition, removal and update tasks and matching requests, so that MatchingThread handles the matching. MpuDataSet is a structure that stores all target fingerprint data in memory, and does not use additional memory for operations such as memory copy during 1vsN (multiple) matching. to optimize performance for matching. When a specific matching task is finished, the corresponding result is registered in the MCU using MCUClient.
본 발명의 지문 고속매칭 시스템에서, 매칭 시스템 특징점 직접 관리의 경우 매칭 알고리즘에서 처리하는 단위로 특징점 데이터를 묶어서 처리하고, 그 위치를 Key/Value 형태로 처리하는 메모리 관리자를 만들고 그 메모리 관리자에 기본적인 데이터를 적재한 다음 지문 데이터를 읽어서 처리하는 방식으로 구성된다. In the fingerprint high-speed matching system of the present invention, in the case of direct management of key points in the matching system, a memory manager is created that bundles key point data in units processed by the matching algorithm, and processes the location in a key/value format, and provides basic data to the memory manager. It is configured in such a way that the fingerprint data is read and processed after loading.
각 Fetch 방법에서 테스트한 결과 DB Fetch에서 얻어오는 일반적인 방법은 채택하기 힘들 정도로 느렸고, 파일 혹은 인메모리스토어를 이용한 방법도 상대적으로 DB에 비해 빠르나 충분한 속도를 내기 힘들었기 때문에, 본 발명의 매칭시스템에서는 기본적으로 직접 메모리 관리자를 만들고 그 메모리 관리자에 직접적으로 특징점 데이터를 관리하는 것으로 하였다.As a result of testing in each fetch method, the general method obtained from DB fetch was slow enough to be difficult to adopt, and the method using a file or in-memory store was also relatively fast compared to DB, but it was difficult to achieve sufficient speed, so the matching system of the present invention Basically, it was decided to create a direct memory manager and manage keypoint data directly in the memory manager.
본 발명에서, 1vsN 매칭 알고리즘으로 처리하는 경우, 한건의 검색 요구 특징점과 다수의 매칭 대상 특징점의 인덱스(지문 특징점 내부의 상관관계를 인덱스로 생성한 정보)를 기준으로 우선적으로 최상위 후보군을 만들고, 다음으로 그 최상위 후보군만을 대상으로 1대1 비교를 수행하는 식으로 처리하였다.In the present invention, in the case of processing with the 1vsN matching algorithm, the highest candidate group is first created based on the index of one search-required feature point and a plurality of matching target feature points (information generated by indexing the correlation within the fingerprint feature point), and then As a result, a one-to-one comparison was performed on only the highest candidate group.
멀티 쓰레드 혹은 멀티 프로세스 처리에 있어 본 발명의 매칭 알고리즘을 대상으로 테스트를 수행한 결과 멀티 쓰레드나 멀티 프로세스를 활용하는 경우 매칭이 더 빠르게 진행되는 것을 확인하였으며, 각 조건에서 테스트한 결과 1vsN 알고리즘과 멀티쓰레드를 이용하여 매칭을 수행하는 것이 최적임을 확인하였다.As a result of testing the matching algorithm of the present invention in multi-thread or multi-process processing, it was confirmed that matching proceeds faster when using multi-thread or multi-process. As a result of testing under each condition, the 1vsN algorithm and multi-process It was confirmed that it is optimal to perform matching using threads.
본 발명에서, MCU는 MCU 전체의 업무를 처리하는 JobManager, MatchingThread, ResultSet 등의 주요 Object의 초기화와 접근을 담당하는 Global을 기본 담당하고, MPU는 MPU 전체의 업무를 처리하는 JobManager, MatchingThread, 등의 주요 Object의 초기화와 접근을 담당하는 Global을 기본으로 하여, Main은 전체의 초기화에 서버에서의 네트워크 처리를 담당한다. 또한, MCU와 MPU는 여러 언어를 사용해서 유지보수 등에서 복잡한 부분이 있기 때문에 전체적으로 필요없는 부분들을 걷어내고 유지보수가 편하도록 간략화하여 C++로 기능을 통합한 다음 Socket 서버 형태로 개발될 수 있다.In the present invention, the MCU is basically responsible for the initialization and access of major objects such as JobManager, MatchingThread, ResultSet, etc., which process the entire operation of the MCU, and the MPU is responsible for the overall operation of the MPU, such as JobManager, MatchingThread, etc. Based on Global, which is responsible for initialization and access of main objects, Main is responsible for network processing in the server for overall initialization. In addition, since MCU and MPU have complex parts in maintenance using multiple languages, they can be developed in the form of a socket server after removing unnecessary parts and simplifying them for easy maintenance by integrating functions with C++.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, although the present invention has been described with reference to the limited examples and drawings, the present invention is not limited to the above examples, which are various modifications and Transformation is possible. Therefore, the spirit of the present invention should be understood only by the claims described below, and all equivalents or equivalent modifications thereof will fall within the scope of the spirit of the present invention.
10: 신원확인 검출 장치 20: 웹서버
50: 어플리케이션 서비스부 51: API 서버
52: 어플리케이션 DB 53: 매칭 서버부
110: MCU 120: MPU10: identification detection device 20: web server
50: application service unit 51: API server
52: application DB 53: matching server unit
110: MCU 120: MPU
Claims (6)
신원확인 검출 장치로부터 입력 지문과 함께 신원 확인 요청이 입력되면 API(application programming interface) 서버로, 입력 지문 정보를 포함하는 매칭 요청 신호를 전송하고, 매칭 DB로부터 매칭 결과를 수신하여, 신원확인 검출 장치로 전송하는, 웹 서버;
웹 서버로부터 수신된 매칭 요청 신호를, 매칭 DB에, 매칭 요청 신호를 등록하는, API(application programming interface) 서버;
매칭 DB로부터 매칭 요청 신호를 읽어들어, 1vsN(1 대 다수) 매칭 알고리즘 및 1vs1(1대1) 매칭 알고리즘을 적용하여 매칭을 행하여, 입력 지문과 매칭되는 후보자들을 선정하고, 선정된 후보자 목록을 생성하여 매칭 DB에 저장하는, 매칭서버 부;
를 포함하는 것을 특징으로 하는, 지문 매칭 시스템.An identification detection device, which is a terminal for identification in relation to one of the police, immigration, military, finance, medical, and social welfare;
When an identification request is input together with an input fingerprint from the identification detection device, a matching request signal including input fingerprint information is transmitted to an API (application programming interface) server, and a matching result is received from the matching DB, the identification detection device to the web server;
API (application programming interface) server for registering the matching request signal received from the web server, the matching DB, the matching request signal;
By reading a matching request signal from the matching DB, matching is performed by applying a 1vsN (1 to many) matching algorithm and a 1vs1 (1 to 1) matching algorithm to select candidates that match the input fingerprint, and generate a list of selected candidates and storing it in the matching DB, a matching server unit;
A fingerprint matching system comprising a.
매칭서버 부는 MCU(Matching Control Unit)와 다수의 MPU(Matching Processing Unit)를 포함하며,
MCU는, 매칭 DB에 등록된 매칭 요청 정보를 수신하고, 해당하는 매칭 요청에 대한 결과 데이터 셋을 생성하고, 다수의 MPU(Matching Processing Unit)에게 매칭 요청을 전송하며,
MPU는 MCU로부터 수신된 매칭 요청 정보를 기반으로 요청 특징점 정보와 대상 특징점 정보의 묶음을 매칭 큐(Matching Queue)에 기록하고, 매칭 쓰레드는 매칭 큐에 올라오는 해당 매칭 정보들을 얻어서 매칭을 진행하고 결과를 기록하고, 하나의 매칭 요청에 대한 처리가 완료되면, MPU(120)는 매칭 결과를 취합하고 점수가 높은 순으로 결과를 정렬하고, 상위 소정 건수의 결과를, MPU별 후보자 목록으로서, MCU로 전달하는 것을 특징으로 하는, 지문 매칭 시스템.According to claim 1,
The matching server unit includes an MCU (Matching Control Unit) and multiple MPUs (Matching Processing Units),
The MCU receives the matching request information registered in the matching DB, generates a result data set for the corresponding matching request, and transmits the matching request to a plurality of MPUs (Matching Processing Units),
Based on the matching request information received from the MCU, the MPU records the requested feature point information and the target feature point information bundle in a matching queue, and the matching thread obtains the matching information uploaded to the matching queue and performs matching. When the processing for one matching request is completed, the MPU 120 collects the matching results, sorts the results in the order of the highest score, and sends the results of the upper predetermined number of cases to the MCU as a list of candidates for each MPU. Characterized in delivering, the fingerprint matching system.
MCU는, MPU 매칭 결과로서 MPU별 후보자 목록을 수신하면, 이를 매칭 결과 데이터 셋에 기록하고, 매칭 결과 데이터 셋은 모든 MPU에서 MPU별 매칭 결과를 받아서 다시 정렬하여 후보자 목록을 생성하고, 매칭 DB에 기록하는 것을 특징으로 하는, 지문 매칭 시스템.3. The method of claim 2,
When the MCU receives the MPU-specific candidate list as the MPU matching result, it records it in the matching result data set, and the matching result data set receives the MPU-specific matching results from all MPUs and rearranges them to generate a candidate list, A fingerprint matching system, characterized in that it records.
MCU는 네트워크의 처리를 담당하는 네트워크 매니저(Network Manager)와, 받은 요청사항을 처리하는 잡 매니저(Job Manager)와, 신규 지문 검색 요청이 있는지 확인하고 MPU들에게 매칭 요청을 보내는 리퀘스트 매니저(Request Manager)와, 결과 데이터를 취합하고 모든 결과를 받았을 때 DB(데이터베이스)에 결과를 기록하는 리절트 세트(Result Set)와 DB(데이터베이스) 처리를 담당하는 매칭(Matching) DAO(Data Access Object), MPU들에게 요청을 전송하는 MPU 클라이언트(Client)를 포함하는 것을 특징으로 하는, 지문 매칭 시스템.4. The method of claim 3,
The MCU has a Network Manager in charge of network processing, a Job Manager that processes received requests, and a Request Manager that checks whether there is a new fingerprint search request and sends a matching request to the MPUs. ), the result set that collects the result data and records the result in the DB (database) when all the results are received, and the matching (data access object) DAO (Data Access Object), MPU in charge of DB (database) processing The fingerprint matching system, characterized in that it comprises an MPU client (Client) for sending a request to them.
MPU는 네트워크의 처리를 담당하는 네트워크 매니저(Network Manager), 받은 요청사항을 처리하는 잡 매니저(Job Manager), 매칭 작업을 쓰레드 형태로 진행하는 매칭 쓰레드(Matching Thread), 전체 대상 지문 데이터를 관리하는 매칭 데이터 세트(Matching Data Set), MCU에게 결과를 전송하는 MCU 클라이언트(Client)를 포함하는 것을 특징으로 하는, 지문 매칭 시스템.4. The method of claim 3,
The MPU is a network manager that handles network processing, a job manager that handles received requests, a matching thread that performs matching tasks in the form of threads, and a system that manages the entire target fingerprint data. Matching data set (Matching Data Set), characterized in that it comprises an MCU client (Client) for transmitting the result to the MCU, fingerprint matching system.
매칭 시스템 특징점 직접 관리에 있어서, 1vsN 매칭 알고리즘 및 1vs1 매칭 알고리즘에서 처리하는 단위로 특징점 데이터를 묶어서 처리하고, 위치를 Key/Value 형태로 처리하는 메모리 관리자를 만들고, 메모리 관리자에 기본적인 데이터를 적재한 다음 지문 데이터를 읽어서 처리하는 방식으로 이루어진 것을 특징으로 하는, 지문 매칭 시스템.
The method of claim 3, wherein the matching server unit,
In the direct management of key points in the matching system, the 1vsN matching algorithm and 1vs1 matching algorithm bundle and process the key point data in units processed, create a memory manager that processes the location in the key/value format, load the basic data into the memory manager, and then A fingerprint matching system, characterized in that it is made in a way that reads and processes fingerprint data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200023662A KR20210108720A (en) | 2020-02-26 | 2020-02-26 | Fingerprint High Speed Matching System for Mass Fingerprint Identification |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200023662A KR20210108720A (en) | 2020-02-26 | 2020-02-26 | Fingerprint High Speed Matching System for Mass Fingerprint Identification |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210108720A true KR20210108720A (en) | 2021-09-03 |
Family
ID=77785071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200023662A KR20210108720A (en) | 2020-02-26 | 2020-02-26 | Fingerprint High Speed Matching System for Mass Fingerprint Identification |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210108720A (en) |
-
2020
- 2020-02-26 KR KR1020200023662A patent/KR20210108720A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10877974B2 (en) | Statistical identification of instances during reconciliation process | |
US11526799B2 (en) | Identification and application of hyperparameters for machine learning | |
US10713589B1 (en) | Consistent sort-based record-level shuffling of machine learning data | |
US8185546B2 (en) | Enhanced control to users to populate a cache in a database system | |
US8799291B2 (en) | Forensic index method and apparatus by distributed processing | |
US8478797B2 (en) | Atomic deletion of database data categories | |
US9619635B2 (en) | Biometric authentication apparatus and method | |
CN112035437B (en) | Transmission method and device for medical records data, computer equipment and storage medium | |
US20190005252A1 (en) | Device for self-defense security based on system environment and user behavior analysis, and operating method therefor | |
CN111651489A (en) | Big data processing server system | |
CN110716990A (en) | Multi-data-source management system applied to data transaction | |
US9405786B2 (en) | System and method for database flow management | |
US11157506B2 (en) | Multiform persistence abstraction | |
US11899690B2 (en) | Data analytical processing apparatus, data analytical processing method, and data analytical processing program | |
US11394748B2 (en) | Authentication method for anonymous account and server | |
KR20210108720A (en) | Fingerprint High Speed Matching System for Mass Fingerprint Identification | |
KR20210108730A (en) | Driving method of fingerprint high speed matching system applicable to distributed environment | |
KR20230030181A (en) | Fingerprint High Speed Matching System for Mass Fingerprint Identification | |
KR20230030179A (en) | Driving method of fingerprint high speed matching system applicable to distributed environment | |
US20220382660A1 (en) | Method and computing device for generating action history data of application and computer-readable non-transitory recording medium | |
CN111352985A (en) | Data service platform, method and storage medium based on computer system | |
KR102667872B1 (en) | Method And Apparatus for Data Preprocessing | |
US20220207037A1 (en) | Asynchronous Search of Electronic Assets Via a Distributed Search Engine | |
JPH09114784A (en) | Access right evaluation device | |
KR20230021388A (en) | Method And Computer Program for Data Preprocessing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |