Protobuf-based task collaboration method for finger-palmprint multi-comparison
By constructing a cross-domain and cross-vendor fingerprint comparison collaborative system using Protobuf and gRPC technologies, the shortcomings of the XML format in existing technologies are resolved, achieving efficient and accurate fingerprint comparison, and improving detection efficiency and system scalability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING HAICHUANG IND TECHNOLOGY RESEARCH INSTITUTE
- Filing Date
- 2026-04-23
- Publication Date
- 2026-07-24
AI Technical Summary
The existing 1:N fingerprint comparison service suffers from redundant XML format, slow parsing, high bandwidth consumption, and complex development and maintenance, making it unable to support large-scale, high-frequency tasks and affecting investigation efficiency.
Protobuf is adopted to replace the XML format. A multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison is built through the gRPC channel. Fingerprint feature hierarchical serialization processing and result conversion are performed to achieve efficient data interaction and result aggregation.
It improves the efficiency and accuracy of 1:N finger and palm print comparison, reduces system operation and maintenance costs, supports large-scale high-frequency tasks, shortens the investigation and case-solving cycle, and meets the rapid iteration needs of criminal investigation.
Smart Images

Figure CN122450702A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of fingerprint and palmprint comparison collaborative processing technology, and in particular to a collaborative method for multiple fingerprint and palmprint comparison tasks based on Protobuf. Background Technology
[0002] In the fields of public safety, criminal investigation, and smart policing, 1:N fingerprint and palmprint comparison is a core business, used for on-site fingerprint and palmprint database entry, large-scale retrieval, and case linkage analysis, and is a key means to improve the efficiency of solving cases. Currently, data exchange between fingerprint and palmprint systems in the public security field follows the "Technical Specification for Fingerprint Exchange File Format and Application Service." This specification clearly states that the underlying standard adopts XML format, relying on its readability and structured characteristics to achieve basic data interoperability between systems.
[0003] The existing 1:N finger and palm print comparison service uses XML format as the core for the entire interaction process. The client submits data, the server transmits results, and cross-domain collaboration are all encapsulated and transmitted through XML files. This has met the needs of structured data exchange for a certain period of time and supported business operations in conventional scenarios.
[0004] However, with the scaling up of business, scenarios such as rapid data entry of massive amounts of fingerprints and palm prints, high-concurrency comparisons, and cross-regional case handling have increased, highlighting the inherent defects of the XML format and resulting in significant shortcomings of existing technologies: XML text is redundant and slow to parse, consuming a large amount of CPU resources and making it difficult to meet the needs of real-time comparison; when transmitting large Base64 encoded images, the data volume is large, increasing bandwidth pressure; strong nested structures increase development and maintenance costs and are prone to format errors; at the same time, performance is insufficient to support large-scale, high-frequency tasks, XML schema changes are complex, which is not conducive to system iteration, and task delays affect investigation efficiency. Summary of the Invention
[0005] In view of this, the present disclosure provides a collaborative method for multiple fingerprint and palmprint comparison tasks based on Protobuf, which can solve the problems of high redundancy, slow parsing, large bandwidth consumption, and complex development and maintenance in 1:N fingerprint and palmprint comparison services, which cannot support large-scale high-concurrency comparison scenarios, and have poor scalability, affecting analysis efficiency.
[0006] In a first aspect, embodiments of this disclosure provide a collaborative method for multiple fingerprint and palmprint matching tasks based on Protobuf, including: Configure the Protobuf message body and corresponding gRPC service interface to adapt to fingerprint and palmprint comparison scenarios; The constructed gRPC channel calls the corresponding gRPC service interface to encapsulate the fingerprints and palm prints to be compared into Protobuf messages, generating a 1:N comparison task in Protobuf format. Based on the Protobuf message body and the gRPC channel, a multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison is constructed. Obtain the key scheduling information corresponding to the 1:N comparison task. The key scheduling information includes at least the comparison requirement, task scheduling level, target AFIS identifier, and task priority. The fingerprint and palm print features to be compared in the 1:N comparison task are subjected to hierarchical serialization processing; Based on the key scheduling information, the 1:N alignment task following the sequence is converted into the private protocol format of the corresponding target AFIS; Based on the gRPC channel, the target AFIS executes a 1:N fingerprint and palmprint matching algorithm to generate a matching result in a private format, and then converts the matching result into a matching result message in standard Protobuf format.
[0007] Secondly, embodiments of this disclosure also provide a collaborative system for multiple fingerprint and palmprint comparison tasks based on Protobuf, comprising: The configuration module is used to configure the Protobuf message body and the corresponding gRPC service interface adapted to the fingerprint and palm print comparison scenario. The encapsulation module is used to encapsulate the fingerprints and palm prints to be compared into Protobuf messages by calling the corresponding gRPC service interface through the constructed gRPC channel, and generate a 1:N comparison task in Protobuf format. The architecture building module is used to build a multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison based on the Protobuf message body and the gRPC channel. The key scheduling information acquisition module is used to acquire the key scheduling information corresponding to the 1:N comparison task. The key scheduling information includes at least the task scheduling level, the target AFIS identifier, and the task priority. The hierarchical serialization processing module is used to perform hierarchical serialization processing on the fingerprint and palm print features to be compared in the 1:N comparison task. The conversion module is used to convert the 1:N alignment task after the sequence into the private protocol format of the corresponding target AFIS according to the key scheduling information; The output module is used to transmit data to the target AFIS via the gRPC channel to perform a 1:N fingerprint and palmprint matching algorithm, generate matching results in a private format, and convert the matching results into matching result messages in standard Protobuf format.
[0008] The Protobuf-based collaborative method for multiple fingerprint and palmprint comparison tasks disclosed in this application first configures a Protobuf message body and corresponding gRPC service interface adapted to the fingerprint and palmprint comparison scenario. This enables the construction of a standardized and highly adaptable communication foundation, achieving semantic lossless conversion of data interaction throughout the fingerprint and palmprint comparison process, thus solving the shortcomings of cumbersome XML format structure and complex schema changes. Then, by calling the corresponding gRPC service interface through the constructed gRPC channel, the fingerprints and palmprints to be compared are encapsulated into Protobuf messages, generating a 1:N comparison task in Protobuf format, replacing the traditional XML interface. Leveraging the binary serialization characteristics of Protobuf, data redundancy is reduced, and task encapsulation efficiency is improved. Next, based on the Protobuf message body and gRPC channel, a multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison is constructed, enabling seamless collaboration across domains and vendors, breaking down the barriers to interconnection between traditional systems. Finally, key scheduling information corresponding to the 1:N comparison task is obtained, including at least the task scheduling level. The system identifies the target AFIS identifier and task priority, enabling precise location and priority control of comparison tasks. This ensures high-priority tasks are scheduled first, guaranteeing accurate task distribution. Then, the fingerprint and palmprint features to be compared in the 1:N comparison tasks are processed through hierarchical serialization. Based on key scheduling information, the sequenced 1:N comparison tasks are converted into the private protocol format of the corresponding target AFIS. Finally, the data is transmitted to the target AFIS via gRPC channel to execute the 1:N fingerprint and palmprint comparison algorithm, generating comparison results in a private format. These results are then converted into standard Protobuf format comparison result messages, achieving lossless conversion between the Protobuf standard format and the private protocols of various vendors' AFIS. This eliminates the need to modify the original AFIS, reducing system adaptation costs. Leveraging the high-efficiency transmission characteristics of the gRPC channel, low-latency, high-concurrency transmission of comparison tasks and results is achieved, ensuring smooth cross-regional collaboration. The reverse conversion from private results to the Protobuf standard format enables standardized aggregation and interaction of comparison results, laying the foundation for subsequent result review and traceability auditing, and improving business process continuity.
[0009] The above description is merely an overview of the technical solution disclosed herein. In order to better understand the technical means of this disclosure and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0010] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 This is a flowchart illustrating the collaborative method for fingerprint and palmprint multi-matching tasks based on Protobuf provided in an embodiment of this disclosure.
[0012] Figure 2 This is a flowchart illustrating the method for configuring and adapting the Protobuf message body and the corresponding gRPC service interface for fingerprint and palmprint comparison scenarios provided in this embodiment of the disclosure.
[0013] Figure 3 This is a flowchart illustrating the method for generating a 1:N alignment task in Protobuf format provided in this embodiment of the disclosure.
[0014] Figure 4 This is a flowchart illustrating the construction method of a multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison provided in the embodiments of this disclosure.
[0015] Figure 5 This is a flowchart illustrating a method for hierarchical serialization of fingerprint and palmprint features to be compared in a 1:N comparison task, as provided in an embodiment of this disclosure. Detailed Implementation
[0016] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.
[0017] It should be understood that the following specific examples illustrate the implementation of this disclosure, and those skilled in the art can easily understand other advantages and effects of this disclosure from the content disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. This disclosure can also be implemented or applied through other different specific implementation methods, and the details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this disclosure. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Based on the embodiments in this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0018] It should be noted that various aspects of embodiments within the scope of the appended claims are described below. It will be apparent that the aspects described herein can be embodied in a wide variety of forms, and any particular structure and / or function described herein is merely illustrative. Based on this disclosure, those skilled in the art will understand that one aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects set forth herein can be used to implement the device and / or practice the method. Additionally, this device and / or method can be implemented using structures and / or functionalities other than one or more of the aspects set forth herein.
[0019] It should also be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of this disclosure. The drawings only show the components related to this disclosure and are not drawn according to the number, shape and size of the components in actual implementation. In actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.
[0020] Furthermore, specific details are provided in the following description to facilitate a thorough understanding of the examples. However, those skilled in the art will understand that the described aspects can be practiced without these specific details.
[0021] Reference Figure 1 This application discloses a collaborative method for fingerprint and palmprint multi-matching tasks based on Protobuf, including: S100 is configured with a Protobuf message body and corresponding gRPC service interface adapted to fingerprint and palmprint comparison scenarios.
[0022] Specifically, configure a Protobuf message body set consistent with the GA / T standard and the corresponding gRPC service interface. The message body specification is consistent with the GA / T standard and includes version compatibility fields to achieve standardized cross-system interaction.
[0023] S200 uses the constructed gRPC channel to call the corresponding gRPC service interface to encapsulate the fingerprints and palm prints to be compared into Protobuf messages, generating a 1:N comparison task in Protobuf format.
[0024] Among them, the gRPC channel utilizes HTTP / 2 multiplexing and streaming features, enabling a single TCP connection to efficiently handle a large number of concurrent comparison task submissions and result retrievals without the need to establish multiple TCP connections, thus significantly improving concurrent transmission efficiency while ensuring the stability and low latency of task transmission, making it suitable for the scenario requirements of multi-task concurrent submissions in municipal criminal investigation detachments.
[0025] S300, based on Protobuf message bodies and gRPC channels, constructs a multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison.
[0026] S400, obtain the key scheduling information corresponding to the 1:N comparison task. The key scheduling information includes at least the task scheduling level, the target AFIS identifier, and the task priority.
[0027] The task scheduling level specifies whether a task should be distributed to an edge, regional, or national AFIS; the target AFIS (Automatic Fingerprint Identification System) identifier specifies which vendor and level of AFIS the task should be sent to; and task priorities can be flexibly configured according to requirements, such as prioritizing urgent criminal investigation tasks over ordinary tasks. N is a positive integer greater than 1.
[0028] S500 performs hierarchical serialization processing on the fingerprint and palm print features to be compared in the 1:N comparison task.
[0029] S600 converts the 1:N alignment task following the sequence into the private protocol format of the corresponding target AFIS based on key scheduling information.
[0030] The S700 transmits data via the gRPC channel to the target AFIS to execute a 1:N fingerprint and palmprint matching algorithm, generates matching results in a proprietary format, and converts the matching results into a matching result message in the standard Protobuf format.
[0031] This application discloses a Protobuf-based collaborative method for multiple fingerprint and palmprint comparison tasks. After Protobuf serialization, the fingerprint and palmprint comparison tasks initiated by the front-end business layer are automatically distributed to the corresponding AFIS level by the scheduling engine based on the scheduling level, target AFIS identifier, and task priority in the task scheduling metadata. This enables cross-domain and cross-vendor AFIS collaborative comparison. Specifically, by combining Protobuf serialization with gRPC transmission, massive amounts of fingerprints and palmprints can be rapidly stored and compared instantly, shortening the investigation and case-solving cycle. Through feature-level serialization and efficient transmission, CPU usage and network bandwidth pressure can be reduced, lowering system operation and maintenance costs. Relying on a multi-level scheduling architecture and protocol adaptation design, seamless cross-domain and cross-vendor AFIS collaboration is achieved, supporting large-scale parallel case analysis. Through standardized Protobuf message bodies and version compatibility mechanisms, system development and debugging costs are reduced, supporting rapid iteration of public security information technology, meeting the compliance requirements of criminal investigation evidence, and fully adapting to the business upgrade needs of public security, criminal investigation, and smart policing.
[0032] Reference Figure 2The methods for configuring the Protobuf message body and corresponding gRPC service interface for S100 to adapt to fingerprint and palmprint comparison scenarios specifically include: S110, define the target GA / T standard for automatic fingerprint and palmprint recognition systems.
[0033] For example, the GA-T 773-2019 standard for automatic fingerprint and palmprint recognition systems was identified as the target standard.
[0034] The S120 is based on the target GA / T fingerprint and palmprint automatic recognition system standard and is configured with multiple types of Protobuf message bodies.
[0035] In this embodiment, the preferred type of Protobuf message body is three types: MatchingTaskRequest, FingerprintFeature, and MatchingResultResponse. The MatchingTaskRequest message body encapsulates the fingerprint and palmprint data to be compared and basic task information. Required fields include a globally unique UUID, fingerprint / palmprint type, fingerprint / palmprint feature field, and a scheduling information field for storing key scheduling information. Optional fields include a high-precision comparison identifier and a task expiration timestamp. The globally unique UUID can be generated using the UUID v4 algorithm to ensure task uniqueness; the fingerprint / palmprint type can include: on-site fingerprint, fingerprint impression, and palmprint.
[0036] The FingerprintFeature message body is used to store the hierarchically serialized fingerprint and palmprint features. It adopts the optional field feature of Protobuf to design a hierarchical structure, which includes required fields, optional fields, and no redundant feature fields, thereby realizing hierarchical control of features at the message body level.
[0037] The MatchingResultResponse message body is used to return the comparison results. Required fields include the associated task ID, the comparison candidate list, and the result traceability hash to ensure that the result data is standardized.
[0038] S130 is based on multiple types of Protobuf message bodies and builds a gRPC service interface that uses the HTTP / 2 protocol as the underlying transmission layer and supports multiplexing and streaming transmission.
[0039] In this embodiment, it is preferable to construct two gRPC service interfaces, namely the SubmitMatchingTask interface and the GetMatchingResult interface.
[0040] The SubmitMatchingTask interface takes MatchingTaskRequest as its request parameter and TaskSubmitResponse as its response parameter. The response parameter can include task submission status, task ID, etc. The interface has a timeout of 30 seconds and supports configuration of concurrent request thresholds, making it suitable for multi-task concurrent submission scenarios in municipal criminal investigation detachments.
[0041] The GetMatchingResult interface uses TaskIdRequest as its request parameter, which contains only the task ID. The response parameter is the MatchingResultResponse message body. It supports two calling modes: polling and streaming subscription. The subscription mode uses gRPC streaming response, which actively pushes the comparison result to the client after it is generated, reducing the client's polling overhead.
[0042] In this embodiment, the custom-configured Protobuf message body structure is concise and the fields are clear, and it strictly aligns with the GA / T series standards. It eliminates the need for complex string processing and nested structure parsing. Compared with XML format, it can significantly reduce the development, debugging, and maintenance costs of both the client and server, and reduce the introduction of format errors. At the same time, Protobuf's version compatibility mechanism, combined with the version field design, can effectively solve the problem of complex XML Schema change management, facilitate rapid iteration of system functions, and adapt to the needs of public security information technology upgrades.
[0043] Furthermore, the application also includes: adding current version and minimum version compatibility fields to the Protobuf message body, and performing backward compatibility between low-version clients and high-version servers through version resolution logic, so as to support technology iteration without refactoring the system.
[0044] Reference Figure 3 The specific methods for generating 1:N alignment tasks in S200Protobuf format include: S210 establishes a gRPC channel on the target client and configures a TCP connection multiplexing strategy, with each TCP connection supporting multiple concurrent requests.
[0045] Specifically, the client terminal, such as the municipal criminal investigation branch terminal, uses the official gRPC SDK, such as Java and C++ versions, to build the client channel, configures the TCP connection multiplexing strategy, supports multiple concurrent requests for a single TCP connection, sets the connection timeout to 10 seconds and the number of reconnections to 3, and uses TLS encrypted transmission to ensure the security of fingerprint and palmprint data transmission, which meets the requirements of public security data confidentiality.
[0046] S220 acquires on-site fingerprint or palm print images using a fingerprint acquisition device, and after preprocessing, extracts the original fingerprint feature data.
[0047] Specifically, the client acquires on-site fingerprint or imprint fingerprint images through a fingerprint acquisition device, and after preprocessing, extracts the original fingerprint feature data containing details, textures, etc.
[0048] The preprocessing includes at least one of the following methods: image grayscale conversion, denoising, binarization, and thinning.
[0049] S230, through the gRPC channel, calls the corresponding gRPC service interface to encapsulate the original fingerprint and palmprint feature data and its corresponding task basic information in the format of the Protobuf message body.
[0050] Specifically, the client calls the gRPC client interface to encapsulate the preprocessed fingerprint and palmprint feature data and basic task information, including task type and submitter information, according to the MatchingTaskRequest message body format defined in S100. The message body is then converted into binary format using a Protobuf serialization tool such as the protoc compiler to generate a 1:N comparison task in Protobuf format, replacing the traditional sendLatentTask and sendPrintTask XML interfaces and avoiding the redundant overhead of XML format.
[0051] S240 uses the Protobuf serialization tool to convert the encapsulated information into binary format, generating a 1:N alignment task in Protobuf format.
[0052] Furthermore, before submitting a task, the client verifies the integrity of the message body fields, such as whether required fields are missing, and the validity of the data format, such as whether the length of the characteristic data bytes meets the preset range. After the verification is passed, the client calls the SubmitMatchingTask interface through the gRPC channel to complete the task submission.
[0053] Reference Figure 4 For S300, the construction method of a multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison specifically includes: S310 defines a three-tiered collaborative scheduling architecture that includes edge nodes, regional nodes, and national nodes. The S320 deploys scheduling engines and Protobuf conversion adapters at edge nodes, regional nodes, and national nodes.
[0054] The Protobuf conversion adapter stores the proprietary protocol specifications of each vendor's AFIS, laying the foundation for subsequent task format conversion and result return, enabling collaborative integration without modifying the original AFIS.
[0055] In this embodiment, efficient transmission between different nodes is achieved through gRPC channels. The scheduling engine of each node adopts a distributed architecture based on Kubernetes containerization, supporting load balancing and failover. The scheduling engine has a built-in Protobuf message parsing module, which can quickly parse the scheduling information in the MatchingTaskRequest message body to achieve accurate task distribution; at the same time, it has a built-in priority scheduling algorithm, which prioritizes scheduling urgent criminal investigation tasks according to the obtained task priority.
[0056] The S330 deploys edge nodes in criminal investigation detachments in various cities to receive Protobuf format comparison tasks submitted by local clients.
[0057] Specifically, this node is used for preliminary verification and core feature extraction, and distributes tasks to regional nodes or local edge AFIS according to the task scheduling level.
[0058] S340 deploys regional nodes on the public security information platforms of various provinces to aggregate comparison tasks from edge nodes in the province, parse task scheduling information, distribute cross-city tasks to the corresponding city AFIS, or forward tasks requiring provincial collaboration to the national node.
[0059] The S350 deploys national-level nodes in the National Public Security Fingerprint Center to coordinate cross-provincial and cross-vendor AFIS collaborative comparisons, analyze task scheduling information, and distribute tasks to regional nodes or national-level AFIS in the corresponding provinces.
[0060] For S400, after receiving the submitted Protobuf format 1:N comparison task, the scheduling engine of each node extracts key scheduling information from the fields of the MatchingTaskRequest message body. Specifically, it extracts the task scheduling level field. For example, the preset enumeration types include: edge level is 1, regional level is 2, and national level is 3. This field is set by the client when encapsulating the message body according to the task requirements, such as local comparison, cross-city comparison, and national comparison. The scheduling engine determines the task distribution level based on this field.
[0061] Then, the target AFIS identifier field is extracted. This field stores the unique identifier of the target AFIS and is set by the client according to the needs of serial and parallel case analysis. The scheduling engine determines the specific vendor and level of AFIS to which the task should be distributed based on this identifier.
[0062] Finally, the task priority field is extracted. Different priorities include ordinary (i.e., level 0), urgent (i.e., level 1), and extremely urgent (i.e., level 2). Among them, the comparison tasks for urgent criminal investigation cases and major cases are set to level 1 or level 2, while the comparison tasks for ordinary public security cases are set to level 0.
[0063] Furthermore, the scheduling engine can also verify the extracted key scheduling information. Verification includes checking whether the scheduling level matches the target AFIS identifier (e.g., regional scheduling level corresponding to provincial AFIS identifier), and whether task priority settings conform to specifications. If information is missing, such as the absence of a target AFIS identifier, the scheduling engine completes the information according to preset rules to ensure accurate task distribution. The extracted and verified key scheduling information is associated with the task ID and stored in Protobuf format in the scheduling databases of each node. In this embodiment, a distributed database is preferably used, supporting cross-node synchronization, for subsequent task tracking, scheduling traceability, and full lifecycle auditing.
[0064] Reference Figure 5 The method for hierarchical serialization of fingerprint and palmprint features to be compared in the S500 1:N comparison task includes: S510 identifies the core features in the fingerprint and palm print features to be compared.
[0065] Among them, the core features are essential features for 1:N comparison, specifically including fingerprint and palm print detail features, fingerprint and palm print type features, fingerprint and palm print texture features, and palm print core area features. Fingerprint and palm print texture features include line density and line direction, while palm print core area features include the feature distribution of the palm root, palm center, and finger root areas.
[0066] Specifically, the method for recognizing fingerprint and palm print minutiae features includes: traversing the original fingerprint and palm print image to extract ridge endpoints, bifurcation points, and isolated points; vectorizing each minutiae using coordinates (x, y), orientation angle θ, and quality value q. The coordinates (x, y) are located based on the image pixel coordinate system, the orientation angle θ ranges from 0° to 360°, and the quality value q ranges from 0 to 1. Minutiae with q ≥ 0.6 are retained, while those below 0.6 are considered invalid minutiae and classified as redundant features.
[0067] The method for recognizing fingerprint and palm print type features specifically includes: determining the type of fingerprint and palm print images, distinguishing between three core types: whorl, loop, and bow, and storing the classification results as fingerprint and palm print type features as enumerated type data. The method for recognizing fingerprint and palm print texture features specifically includes: extracting fingerprint and palm print texture features through texture extraction algorithms; furthermore, ridge density is determined by counting the number of ridges per unit area, and the ridge direction is detected using the Hough transform algorithm, outputting the range of direction angles.
[0068] The specific methods for identifying the core features of palm prints include: dividing the palm into three core regions—the palm root, the center of the palm, and the base of the fingers—using a region segmentation algorithm, and extracting the feature distribution vectors of each region, such as the distribution of ridge density and the distribution of minutiae, as the core features of the palm print.
[0069] S520 removes redundant features from the core features to obtain the target features.
[0070] Among them, redundant features are features that have no absolute value and no impact on the result of comparison. Specifically, they include redundant pixels in the fingerprint and palm print image, duplicate feature data, and non-feature region data. Furthermore, duplicate feature data refers to overlapping detail points, and non-feature region data refers to invalid areas at the edge of the fingerprint and palm print.
[0071] In this embodiment, blank pixel areas without ridge distribution and without details are marked as redundant pixels. Overlapping details with coordinates (x, y) and orientation angle θ deviation ≤ 5% of the fingerprint and palm print detail feature markers are marked as duplicate feature data; areas where the fingerprint and palm print edges exceed the effective ridge range, such as black borders and blank areas at the edges of the fingerprint and palm print image, are marked as non-feature area data.
[0072] S530 uses Protobuf variable-length encoding to serialize the target features and obtain serialized binary data.
[0073] This step specifically includes: 1) preprocessing the coordinates and orientation angle parameters of the fingerprint and palm print details in the target features to obtain data in a unified format; 2) using Protobuf's Varint encoding method to compress and encode the unified format data to obtain serialized binary data.
[0074] The preprocessing specifically includes: selecting the highest quality point q from the set of detail points of the target feature as the reference point; if there are multiple highest quality points with the same value, selecting the first-ranked detail point and setting the coordinates of this reference point as the origin (0,0); traversing all remaining detail points and converting the absolute coordinates (x,y) of each detail point into offsets relative to the origin of the reference point, i.e., Δx = x - x0, Δy = y - y0, where x0 and y0 are the absolute coordinates of the reference point; the offsets Δx and Δy are both represented by integers, discarding redundant bits of the original absolute coordinates and effectively reducing the data storage volume.
[0075] The orientation angle θ of the minutiae (original value range 0°~360°) is normalized and converted into an integer from 0 to 255. The conversion formula is: θ' = round(θ / 360° × 255). By normalizing, the storage bits of the orientation angle are compressed from the original multi-byte to a single byte. 0~255 can be stored in 1 byte, which further reduces the amount of data. At the same time, the quality value q of the minutiae (value range 0~1) is retained and converted into an integer (q×100) to facilitate variable-length encoding in sync with the coordinate and orientation angle parameters.
[0076] The compression encoding method specifically includes: using Varint encoding for processing. For small offsets (such as Δx and Δy with absolute values ≤ 127), only 1 byte is used for storage; for larger offsets, multiple bytes are used for storage (the highest bit of each byte is a flag bit used to distinguish whether it is the end of a byte). Compared with fixed-length encoding, this can reduce the coordinate data volume by 30% to 50%. The orientation angles, after preprocessing, are integers from 0 to 255. Using Varint32 encoding, only 1 to 2 bytes are needed for storage, significantly improving encoding efficiency and reducing data redundancy compared to the original multi-byte storage of orientation angles.
[0077] The S540 uses the LZ4 compression algorithm to perform secondary compression on the serialized binary data to obtain compressed serialized feature data, and embeds the corresponding Protobuf message body to obtain the 1:N alignment task after the sequence.
[0078] Specifically, the LZ4 compressor is initialized, and the compression level is set to medium, balancing compression efficiency and compression ratio. The compression level parameter is preferably set to 4, with a value range of 1 to 9. The higher the level, the higher the compression ratio and the lower the efficiency. The serialized binary data is input into the LZ4 compressor for block compression processing, replacing repeated byte sequences with reference markers to reduce data redundancy. After compression, compressed serialized feature data is generated, and the compression ratio is verified to ensure that the compressed volume is reduced by more than 30% compared to the output binary data, and the overall volume is reduced by more than 70% compared to the original core feature data. After verification, the process proceeds to the next step. If the ratio of the compressed data volume to the uncompressed data volume does not meet the compression ratio requirement, the compression level is adjusted and the data is compressed again.
[0079] Then, the compressed serialized feature data is stored in the serialized field of the FingerprintFeature message body, ensuring that the field is fully filled and the format conforms to the Protobuf message body specification defined by S100; the MatchingTaskRequest message body is initialized, which is used to encapsulate the 1:N alignment task related data. The above-mentioned filled FingerprintFeature message body is embedded into the feature field of the MatchingTaskRequest message body, which is the 1:N alignment task after serialization.
[0080] The method disclosed in this embodiment achieves lightweight feature data while ensuring comparison accuracy, significantly reducing data transmission volume and alleviating network bandwidth pressure. By filtering redundant features and prioritizing the transmission of core features, it reduces CPU resource consumption and improves feature transmission and parsing efficiency, addressing the pain points of redundant and inefficient transmission of XML format data. Combined with the binary serialization characteristics of Protobuf, the parsing speed is 3-5 times faster than JSON and XML. With gRPC channel transmission, network load is significantly reduced while ensuring the core accuracy of 1:N comparisons.
[0081] For S600, the conversion of the 1:N alignment task after the sequence into the private protocol format of the corresponding target AFIS based on key scheduling information includes: the scheduling engine matching the private protocol specification of the target AFIS from the stored protocol configuration library according to the obtained target AFIS identifier and mapping it to the corresponding field of the target AFIS private protocol to ensure lossless data semantic conversion.
[0082] In this embodiment, the protocol configuration library adopts a plug-in design, which can flexibly add and update the private protocol specifications of various manufacturers without reconstructing the adapter body. For example, manufacturer A's AFIS uses a private binary protocol, while manufacturer B's AFIS uses a custom XML protocol.
[0083] The method in S700 that "transmits data via gRPC channel to the target AFIS to execute a 1:N fingerprint and palmprint comparison algorithm and generate comparison results in a proprietary format" specifically includes: reading all template features to be compared from the fingerprint and palmprint feature database of AFIS. These template features have been pre-processed using the same hierarchical serialization and compression process to ensure consistency with the target feature format; using a minutiae matching algorithm such as the Iterative Closest Point (ICP) algorithm to match the fingerprint and palmprint minutiae in the target features, such as relative coordinates and orientation angles, with the minutiae of the template features, calculating similarity scores; filtering template features with similarity scores ≥ the set similarity threshold based on a set similarity threshold, sorting them from highest to lowest score to generate a candidate matching list; performing a secondary verification on the candidate matching list, further filtering based on fingerprint and palmprint type features (if any), eliminating mismatches, and ensuring comparison accuracy. After the comparison algorithm is executed, the target AFIS generates comparison results in a proprietary format.
[0084] Specifically, the comparison results in the private format include a task identifier that matches the task identifier in the MatchingTaskRequest message body, a comparison timestamp, a candidate matching list (including the identifier and similarity score of each candidate template), the best matching result (the identifier and score of the template with the highest similarity score), the comparison status (success / failure), and anomaly information (if the comparison fails).
[0085] This embodiment also includes encoding the above comparison results using a custom binary encoding method. The encoding format is consistent with the AFIS private protocol to ensure data security and confidentiality, and to generate a private format comparison result file. The private format comparison result file is then transmitted back to the initiating end, i.e., the original serialization processing end, through the gRPC channel.
[0086] The "converting the alignment results into a standard Protobuf format alignment result message" in S700 specifically includes: transmitting the alignment results back to the scheduling engine in the multi-level collaborative scheduling architecture via the gRPC channel; converting the alignment results into a Protobuf format alignment result message; hashing the Protobuf format alignment result message and its corresponding task ID and fingerprint feature summary using the SHA256 algorithm to generate a hash value; and storing the hash value and the corresponding Protobuf format alignment result message in Protobuf format.
[0087] Furthermore, the gRPC channel in this application uses TLS encryption and SM4 encryption, which can effectively ensure the security of fingerprint and palmprint sensitive data transmission; at the same time, the standardized design of the Protobuf message body ensures lossless data semantic conversion, meets the data compliance requirements of public security criminal investigation, and further improves business reliability.
[0088] The Protobuf-based collaborative method for fingerprint and palmprint multi-match tasks disclosed in this application further includes: responding to a result query request initiated by the client, obtaining the target task ID corresponding to the result query request, and obtaining the response message corresponding to the target task ID in the scheduling engine through the gRPC channel.
[0089] Specifically, users can directly manipulate the strongly typed MatchingCandidate object in the response message on the client side to quickly view the candidate's identity information, fingerprint and palm print images, matching status, and similarity score, simplifying the result analysis process and ultimately completing the entire 1:N fingerprint and palm print comparison collaborative process.
[0090] This application also includes: when adding new fingerprint and palm print types, comparison algorithms, or interaction requirements, only the Protobuf message body field needs to be added or the version number updated, without reconstructing the entire collaborative system, thus achieving seamless system upgrades and adapting to the iterative needs of public security information technology.
[0091] Furthermore, the Protobuf-based collaborative method for multi-fingerprint comparison tasks disclosed in this application primarily addresses the core shortcomings of existing 1:N fingerprint comparison services in the public security field, such as low efficiency, high bandwidth consumption, complex development, and poor scalability of XML format. Through the collaborative design of S100 to S700, it can fully adapt to the business needs of public security, criminal investigation, and smart policing. Specifically, by configuring a customized Protobuf message body and relying on the binary serialization characteristics of Protobuf, compared with XML text format, data redundancy is significantly reduced, serialization / deserialization speed is increased by 3 to 5 times, and CPU resource consumption is significantly reduced. Combined with hierarchical serialization processing of fingerprint features, only core features are transmitted, further compressing the data volume. By combining with gRPC channels, massive amounts of on-site fingerprints can be quickly entered into the database and compared instantly, completely solving the problems of slow parsing and task delays in existing technologies, and improving the efficiency of investigation and case solving.
[0092] Secondly, this application discloses a Protobuf-based collaborative system for multiple fingerprint and palmprint matching tasks, used to execute the Protobuf-based collaborative method for multiple fingerprint and palmprint matching tasks disclosed in the first aspect of this application. The system includes: The configuration module is used to configure the Protobuf message body and the corresponding gRPC service interface adapted to the fingerprint and palm print comparison scenario. The encapsulation module is used to encapsulate the fingerprints and palm prints to be compared into Protobuf messages by calling the corresponding gRPC service interface through the constructed gRPC channel, and generate a 1:N comparison task in Protobuf format. The architecture building module is used to build a multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison based on Protobuf message bodies and gRPC channels. The key scheduling information acquisition module is used to acquire the key scheduling information corresponding to the 1:N comparison task. The key scheduling information includes at least the task scheduling level, the target AFIS identifier, and the task priority. The hierarchical serialization processing module is used to perform hierarchical serialization processing on the fingerprint and palm print features to be compared in the 1:N comparison task. The conversion module is used to convert the 1:N alignment task after the sequence into the private protocol format of the corresponding target AFIS based on key scheduling information; The output module is used to transmit data to the target AFIS via the gRPC channel to perform a 1:N fingerprint and palmprint matching algorithm, generate matching results in a proprietary format, and convert the matching results into matching result messages in the standard Protobuf format.
[0093] The basic principles of this disclosure have been described above with reference to specific embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in this disclosure are merely examples and not limitations, and should not be considered as essential features of each embodiment of this disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of this disclosure to the necessity of employing the aforementioned specific details for implementation.
[0094] In this disclosure, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. The block diagrams of devices, apparatuses, devices, and systems involved in this disclosure are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as "comprising," "including," "having," etc., are open-ended terms meaning "including but not limited to," and are used interchangeably with them. The terms "or" and "and" as used herein refer to the terms "and / or," and are used interchangeably with them unless the context clearly indicates otherwise. The term "such as" as used herein refers to the phrase "such as but not limited to," and is used interchangeably with it.
[0095] Additionally, as used herein, the "or" used in a list of items beginning with "at least one" indicates a separate list, such that a list of, for example, "at least one of A, B, or C" means A or B or C, or AB or AC or BC, or ABC (i.e., A and B and C). Furthermore, the word "exemplary" does not imply that the described example is preferred or better than other examples.
[0096] It should also be noted that in the systems and methods of this disclosure, the components or steps can be decomposed and / or recombined. These decompositions and / or recombinations should be considered as equivalent solutions to this disclosure.
[0097] Various changes, substitutions, and modifications can be made to the technology described herein without departing from the teachings defined by the appended claims. Furthermore, the scope of the claims of this disclosure is not limited to the specific aspects of the processes, machines, manufactures, events, means, methods, and actions described above. Currently existing or later-developed processes, machines, manufactures, events, means, methods, or actions that perform substantially the same function or achieve substantially the same result as the corresponding aspects described herein can be utilized. Therefore, the appended claims include such processes, machines, manufactures, events, means, methods, or actions within their scope.
[0098] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use this disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of this disclosure. Therefore, this disclosure is not intended to be limited to the aspects shown herein, but rather to be carried out within the widest scope consistent with the principles and novel features disclosed herein.
[0099] The above description has been given for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of this disclosure to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations thereof.
Claims
1. A collaborative method for fingerprint and palmprint multi-matching tasks based on Protobuf, characterized in that, include: Configure the Protobuf message body and corresponding gRPC service interface to adapt to fingerprint and palmprint comparison scenarios; The constructed gRPC channel calls the corresponding gRPC service interface to encapsulate the fingerprints and palm prints to be compared into Protobuf messages, generating a 1:N comparison task in Protobuf format. Based on the Protobuf message body and the gRPC channel, a multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison is constructed. Obtain the key scheduling information corresponding to the 1:N comparison task. The key scheduling information includes at least the comparison requirement, task scheduling level, target AFIS identifier, and task priority. The fingerprint and palm print features to be compared in the 1:N comparison task are subjected to hierarchical serialization processing; Based on the key scheduling information, the 1:N alignment task following the sequence is converted into the private protocol format of the corresponding target AFIS; Based on the gRPC channel, the target AFIS executes a 1:N fingerprint and palmprint matching algorithm to generate a matching result in a private format, and then converts the matching result into a matching result message in standard Protobuf format.
2. The collaborative method for fingerprint and palmprint multi-matching tasks based on Protobuf according to claim 1, characterized in that, The configuration adapts the Protobuf message body and corresponding gRPC service interface for fingerprint and palmprint comparison scenarios, including: Determine the target GA / T standard for automatic fingerprint and palmprint recognition systems; Based on the target GA / T fingerprint and palmprint automatic recognition system standard, configure multiple types of Protobuf message bodies; Based on the aforementioned multiple types of Protobuf message bodies, a gRPC service interface is constructed that uses the HTTP / 2 protocol as the underlying transmission layer and supports multiplexing and streaming transmission.
3. The collaborative method for fingerprint and palmprint multi-matching tasks based on Protobuf according to claim 2, characterized in that, Also includes: Add current version and minimum compatible version fields to the Protobuf message body, and perform backward compatibility between low-version clients and high-version servers through version resolution logic.
4. The collaborative method for multiple fingerprint and palmprint matching tasks based on Protobuf according to claim 1, characterized in that, The step of encapsulating the fingerprints and palm prints to be compared into Protobuf messages by calling the corresponding gRPC service interface through the constructed gRPC channel, and generating a 1:N comparison task in Protobuf format, includes: Build a gRPC channel on the target client and configure a TCP connection multiplexing strategy, with each TCP connection supporting multiple concurrent requests; Fingerprint or palmprint images are acquired on-site using fingerprint and palmprint acquisition equipment. After preprocessing, the original feature data of the fingerprints and palmprints are extracted. The original fingerprint and palmprint feature data and their corresponding task basic information are encapsulated in the format of the Protobuf message body by calling the corresponding gRPC service interface through the gRPC channel. The encapsulated information is converted into binary format using the Protobuf serialization tool to generate a 1:N alignment task in Protobuf format.
5. The collaborative method for multiple fingerprint and palmprint matching tasks based on Protobuf according to claim 1, characterized in that, The multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison, based on the Protobuf message body and the gRPC channel, includes: A three-tiered collaborative scheduling architecture comprising edge nodes, regional nodes, and national nodes was established. Scheduling engines and Protobuf conversion adapters are deployed at the edge nodes, regional nodes, and national nodes; the Protobuf conversion adapters store the proprietary protocol specifications of each vendor's AFIS. The edge nodes are deployed in criminal investigation detachments in various cities to receive Protobuf format comparison tasks submitted by local clients; The regional-level nodes are deployed on the public security information platforms of each province to aggregate the comparison tasks of each edge node in the province, parse the task scheduling information, distribute cross-city tasks to the corresponding city AFIS, or forward tasks that require provincial-level collaboration to the national-level nodes. The national-level nodes are deployed in the National Public Security Fingerprint Center to coordinate cross-provincial and cross-vendor AFIS collaborative comparisons, analyze task scheduling information, and distribute tasks to regional nodes or national-level AFIS in the corresponding provinces.
6. The collaborative method for multiple fingerprint and palmprint matching tasks based on Protobuf according to claim 1, characterized in that, The hierarchical serialization process of the fingerprint and palmprint features to be compared in the 1:N comparison task includes: Identify the core features in the fingerprint and palm print features to be compared; the core features include fingerprint and palm print detail features, fingerprint and palm print type features, fingerprint and palm print texture features, and palm print core region features. Redundant features in the core features are removed to obtain the target features; the redundant features include redundant pixels in the fingerprint and palm print image, duplicate feature data, and non-feature region data. The target features are serialized using Protobuf variable-length encoding to obtain serialized binary data; The serialized binary data is compressed a second time using the LZ4 compression algorithm to obtain compressed serialized feature data, which is then embedded with the corresponding Protobuf message body to obtain the 1:N alignment task after the sequence.
7. The collaborative method for fingerprint and palmprint multi-matching tasks based on Protobuf according to claim 6, characterized in that, The step of serializing the target features using Protobuf variable-length encoding to obtain serialized binary data includes: The coordinates and orientation angle parameters of the fingerprint and palm print detail features in the target features are preprocessed to obtain data in a unified format; The unified format data is compressed and encoded using the Varint encoding method of Protobuf to obtain serialized binary data.
8. The collaborative method for multiple fingerprint and palmprint matching tasks based on Protobuf according to claim 1, characterized in that, The step of converting the alignment result into an alignment result message in standard Protobuf format includes: The comparison results are transmitted back to the scheduling engine in the multi-level collaborative scheduling architecture via the gRPC channel. The alignment results are converted into alignment result messages in Protobuf format; The comparison result message in Protobuf format and its corresponding task ID and fingerprint feature summary are hashed to generate a hash value; The hash value and the corresponding Protobuf format comparison result message are stored in Protobuf format.
9. The collaborative method for multiple fingerprint and palmprint matching tasks based on Protobuf according to claim 8, characterized in that, Also includes: In response to a result query request initiated by the client, the target task ID corresponding to the result query request is obtained, and the response message corresponding to the target task ID in the scheduling engine is obtained through the gRPC channel.
10. A collaborative system for multiple fingerprint and palmprint matching tasks based on Protobuf, characterized in that, include: The configuration module is used to configure the Protobuf message body and the corresponding gRPC service interface adapted to the fingerprint and palm print comparison scenario. The encapsulation module is used to encapsulate the fingerprints and palm prints to be compared into Protobuf messages by calling the corresponding gRPC service interface through the constructed gRPC channel, and generate a 1:N comparison task in Protobuf format. The architecture building module is used to build a multi-level collaborative scheduling architecture for cross-domain and cross-vendor AFIS collaborative comparison based on the Protobuf message body and the gRPC channel. The key scheduling information acquisition module is used to acquire the key scheduling information corresponding to the 1:N comparison task. The key scheduling information includes at least the task scheduling level, the target AFIS identifier, and the task priority. The hierarchical serialization processing module is used to perform hierarchical serialization processing on the fingerprint and palm print features to be compared in the 1:N comparison task. The conversion module is used to convert the 1:N alignment task after the sequence into the private protocol format of the corresponding target AFIS according to the key scheduling information; The output module is used to transmit data to the target AFIS via the gRPC channel to perform a 1:N fingerprint and palmprint matching algorithm, generate matching results in a private format, and convert the matching results into matching result messages in standard Protobuf format.