1. Archivo de Configuración

Los parámetros de configuración de GBDS 4 se definen en un archivo de configuración que contiene todos los parámetros y sus respectivos valores. Los parámetros omitidos asumen sus valores predeterminados. Esta sección describe las propiedades del archivo de configuración.

Este documento se actualiza a la versión 4.6.9 de GBDS.

1.1. Ubicación del Archivo

El archivo de configuración se encuentra en /etc/griaule/conf/gbds/application.conf.

1.2. Propiedades del Archivo

El archivo de configuración debe seguir algunos requisitos para ser interpretado correctamente por GBDS. Estos requisitos son:

  1. El nombre y la ubicación del archivo deben ser exactamente como se menciona en la sección 1.1;
  2. Debe haber exactamente un parámetro de configuración por línea;
  3. Cada parámetro de configuración debe estar en la forma {parámetro}={valor}, sin saltos de línea;
  4. Cada valor debe estar separado por una coma cuando se atribuye a un solo parámetro.

2. Parámetros de Configuración de Akka

Los parámetros de configuración de Akka están estructurados como un bloque al principio del archivo de configuración, como se muestra a continuación:

See also

Consulte la documentación de Akka para obtener más información sobre estos parámetros.

akka {
    loglevel = "WARNING"
    stdout-loglevel = "INFO"
    loggers = ["akka.event.slf4j.Slf4jLogger"]
    logging-filter = "akka.event.slf4j.Slf4jLoggingFilter"
    actor {
        guardian-supervisor-strategy = "com.griaulebiometrics.gbds.driver.topology.GBDSGuardianSupervisionStrategy"
        provider = "cluster"

        allow-java-serialization = on
        serialize-creators = off

        serializers {
            kryo = io.altoo.akka.serialization.kryo.KryoSerializer
            proto = akka.remote.serialization.ProtobufSerializer
        }
        serialization-bindings {
            "com.griaulebiometrics.akka.utils.message.KryoSerializableMessage" = kryo
        }

        default-dispatcher {
            type = "Dispatcher"
            executor = "default-executor"
            default-executor {
                fallback = "fork-join-executor"
            }
            fork-join-executor {
                parallelism-min = 8
                parallelism-factor = 1.0
                parallelism-max = 64
            }
        }
    }

    }
    remote {
        artery.enabled = "on"
        artery.transport = "tcp"
        artery.canonical {
            hostname = "gbds2"
            port = 2551
        }
        artery.advanced {
            image-liveless-timeout = 20s
            client-liveness-timeout = 10s
            maximum-frame-size = 30MiB
            maximum-large-frame-size = 100MiB
            buffer-pool-size = 128
            large-buffer-pool-size = 32
        }
        use-dispatcher = "akka.remote.default-remote-dispatcher"
        transport-failure-detector {
            implementation-class = "akka.remote.DeadlineFailureDetector"
            heartbeat-interval = 120s
            acceptable-heartbeat-pause = 300s
        }
        watch-failure-detector {
            implementation-class = "akka.remote.PhiAccrualFailureDetector"
            heartbeat-interval = 300s
            threshold = 10.0
            max-sample-size = 200
            min-std-deviation = 100s
            acceptable-heartbeat-pause = 300s
            unreachable-nodes-reaper-interval = 10s
            expected-response-after = 120s
        }
    }

    cluster {
        seed-nodes = [
            ##NODES##
            "akka://main@<hostname1>:2551",
            "akka://main@<hostname2>:2551",
            "akka://main@<hostname3>:2551",
            "akka://main@<hostname4>:2551"
            ##LASTNODE##
        ]
        roles =["manager"]
        # Number of nodes that must be up before starting cluster
        role.manager.min-nr-of-members=4
        failure-detector.min-std-deviation = 1000 ms
        failure-detector.threshold = 50.0
        failure-detector.acceptable-heartbeat-pause = 900s
        use-dispatcher = akka.cluster.cluster-dispatcher
        singleton {
            singleton-name = "offsetmanager"
            hand-over-retry-interval = 1s
            min-number-of-hand-over-retries = 15
        }
        singleton-proxy {
            singleton-name = ${akka.cluster.singleton.singleton-name}
            singleton-identification-interval = 1s
            buffer-size = 1000
        }
        cluster-dispatcher {
            type = "Dispatcher"
            executor = "fork-join-executor"
            fork-join-executor {
                parallelism-min = 2
                parallelism-max = 4
            }
        }
    }
}

prio-dispatcher {
    mailbox-type = "com.griaulebiometrics.gbds.driver.mailbox.PriorityMailbox"
    type = "Dispatcher"
    executor = "default-executor"
    default-executor {
        fallback = "fork-join-executor"
    }
    fork-join-executor {
        parallelism-min = 8
        parallelism-factor = 1.0
        parallelism-max = 64
    }
}

akka-kryo-serialization {
    type = graph
    id-strategy = default
    resolve-subclasses = true
    implicit-registration-logging = false
    kryo-initializer = "com.griaulebiometrics.akka.utils.message.KryoInitializer"
}

Warning

Se recomienda encarecidamente no cambiar ningún parámetro de configuración de Akka sin una orientación adecuada para evitar malfuncionamientos en la aplicación.

Si se debe cambiar alguna configuración en su entorno, póngase en contacto con nuestro equipo de soporte en support@griaule.com para obtener más información.

2.1. loglevel

Este parámetro define el nivel de información que se mantendrá por los registradores configurados tan pronto como se hayan iniciado. Los valores deben definirse entre comillas.

Valor predeterminado:

"WARNING"

Valores posibles:

"OFF"

"ERROR"

"WARNING"

"INFO"

"DEBUG"

2.2. stdout-loglevel

Este parámetro define el nivel de información que se mantendrá por el registrador básico activado durante el inicio del ActorSystem. Este registrador imprime los mensajes de registro en stdout (System.out). Los valores deben definirse entre comillas.

Valor predeterminado:

"INFO"

Valores posibles:

"OFF"

"ERROR"

"WARNING"

"INFO"

"DEBUG"

2.3. loggers

Este parámetro define, entre corchetes, las entidades de registro que se utilizarán para registrarse en el momento del arranque.

Valor predeterminado:

"akka.event.slf4j.Slf4jLogger"

2.4. logging-filter

Este parámetro define el filtro de eventos de registro que se utilizará por LoggingAdapter antes de publicar eventos de registro en el eventStream.

Valor predeterminado:

"akka.event.slf4j.Slf4jLoggingFilter"

2.5. actor

2.5.1. guardian-supervisor-strategy

Este parámetro define la clase que se utilizará por el guardian para obtener su supervisorStrategy.

Valor predeterminado:

"com.griaulebiometrics.gbds.driver.topology.GBDSGuardianSupervisionStrategy"

2.5.2. provider

Este parámetro define el ActorProvider que se utilizará.

Valor predeterminado:

"cluster"

Valores posibles:

local

remote

cluster

2.5.3. serializers

Este parámetro define las entradas para los serializadores enchufables y sus enlaces.

Los serializadores utilizados son:

kryo = io.altoo.akka.serialization.kryo.KryoSerializer proto = akka.remote.serialization.ProtobufSerializer

Y el enlace es:

"com.griaulebiometrics.akka.utils.message.KryoSerializableMessage" = kryo

2.6. remote

2.6.1. artery

Este parámetro define la configuración para el controlador de transporte basado en Artery.

Valores predeterminados:

transport = "tcp"

enabled = "on"

advanced.image-liveless-timeout = 20s

advanced.client-liveness-timeout = 10s

advanced.maximum-frame-size = 30MiB

advanced.buffer-pool-size = 128

advanced.maximum-large-frame-size = 100MiB

advanced.large-buffer-pool-size = 32

canonical.hostname = "gbds2"

canonical.port = 2551

2.7. cluster

2.7.1. seed-nodes

Este parámetro define los nodos a los que unirse automáticamente al inicio. Cada valor debe agregarse entre comillas y separarse por comas dentro de corchetes.

Valor de ejemplo:

["akka://main@<hostname1>:2551"]

2.7.2. roles

Este parámetro define los roles de este miembro. Cada valor debe ser agregado entre comillas y separado por comas dentro de corchetes.

Valor predeterminado:

["manager"]

2.7.3. role.manager.min-nr-of-members

Este parámetro define el número mínimo de nodos que deben estar activos antes de iniciar el clúster.

Valor predeterminado:

4

2.7.4. singleton

2.7.4.1. singleton-name

Este parámetro define el nombre del actor del singleton hijo.

Valor predeterminado:

offsetmanager

2.7.4.2. hand-over-retry-interval

Cuando un nodo se convierte en el más antiguo, envía una solicitud de entrega al anterior más antiguo, que podría estar abandonando el clúster. Este parámetro define el tiempo, en segundos, para volver a intentar enviar esta solicitud hasta que el anterior más antiguo confirme que se ha iniciado la entrega o se elimine al miembro anterior más antiguo del clúster.

Valor predeterminado:

1s

2.7.4.3. min-number-of-hand-over-retries

Este parámetro define el número mínimo de reintentos para enviar la solicitud de entrega al nodo anterior más antiguo.

Valor predeterminado:

15

2.7.5. singleton-proxy

2.7.5.1. singleton-name

Este parámetro define el nombre del actor para el actor singleton que es iniciado por el ClusterSingletonManager.

Valor predeterminado:

${akka.cluster.singleton.singleton-name}

2.7.5.2. singleton-identification-interval

Este parámetro define el intervalo, en segundos, en el que el proxy intentará resolver la instancia singleton.

Valor predeterminado:

1s

2.7.5.3. buffer-size

Si la ubicación del singleton es desconocida, el proxy almacenará en búfer este número de mensajes y los entregará cuando se identifique el singleton. Cada vez que el búfer está lleno, se eliminarán los mensajes antiguos si se envían nuevos mensajes a través del proxy.

Valor predeterminado:

1000

Valores posibles:

1 a 10000

3. Parámetros de Configuración

Esta sección describe cada parámetro de configuración de GBDS 4 que se puede listar en el archivo de configuración y cómo afectan la operación del sistema.

3.1. gbds.log.diagnose

Agrega registros de cola de Kafka en cada tarea de consumo de encuesta.

Valor predeterminado:

true

3.2. gbds.cluster.kafka.task.topic

Este parámetro define el tema de Kafka donde se asignarán las tareas.

Valor predeterminado:

gbds-tasks

3.3. gbds.cluster.kafka.max-tasks-per-poll

Número de tareas en Kafka tomadas en cada encuesta. El consumo de tareas en Kafka se realiza mediante la encuesta de la cola y la encuesta recupera un cierto número de registros cada vez. Cada registro es una tarea en GBDS. Esta configuración limita cuántos registros se toman en cada encuesta.

Valor predeterminado:

1

Valores posibles:

1 a 1000

3.4. gbds.cluster.zookeeper.quorum

Este parámetro define el nombre de host y el puerto a través del cual se pueden encontrar los servidores de Zookeeper. Cada valor debe separarse por comas si hay más de uno disponible.

Valor predeterminado:

<hostname>:<port>

3.5. gbds.cluster.tasks.window-size-for-avoiding-duplicate-tasks

Este parámetro configura el tamaño de la cola con las últimas “N” tareas de procesamiento/procesadas. Si una tarea está duplicada para su procesamiento y aún está en cola, se ignora.

Valor predeterminado:

1000

3.6. gbds.cluster.kafka.quorum

Este parámetro define las direcciones del broker de Kafka y debe reflejar las configuraciones de Kafka.

Valor predeterminado:

<nombre de host>:6667

3.7. gbds.node.matchers.start.parameters

Este parámetro define la configuración inicial para los matchers de nodos al iniciar la aplicación.

Valor predeterminado:

"-Dakka.remote.netty.tcp.port=0 -Dakka.cluster.roles.0=matcher -Dlog4j.configuration=file:/etc/griaule/conf/gbds/gbds-log4j.xml -XX:MaxMetaspaceSize=256m -Xmx1024m"

3.8. gbds.node.matchers.actor-system-start.timeout

Este parámetro define el tiempo de espera, en segundos, para iniciar cada ActorSystem remoto que ejecutará un matcher.

Valor predeterminado:

30s

3.9. gbds.node.matchers.start.timeout

Este parámetro define el tiempo de espera, en segundos, para implementar un matcher en el ActorSystem remoto.

Valor predeterminado:

20s

3.10. gbds.node.matchers.number

Este parámetro define el número de matchers que se utilizarán en este nodo GBDS.

Si los microservicios de matcher están habilitados, se iniciarán 3 microservicios para cada uno especificado por este parámetro.

Valor predeterminado:

1

3.11. gbds.node.sinks.number

Este parámetro define el número de sinks que se utilizarán en este nodo GBDS.

Valor predeterminado:

1

3.12. gbds.node.actor-start.timeout

Este parámetro define el tiempo de espera, en segundos, para iniciar todos los actores de este nodo GBDS.

Valor predeterminado:

60s

3.13. gbds.node.max-loaded-tasks

Este parámetro define el número máximo de tareas permitidas para coexistir simultáneamente en GBDS. Cuando se alcanza este número, no se leerán más tareas hasta que se comprometan algunas.

Valor predeterminado:

100

Valores posibles:

10 a 20000

3.14. gbds.node.wait-time-when-maxed-tasks:

Este parámetro define el tiempo de espera antes de intentar leer más tareas de Kafka.

Valor predeterminado:

1s

Valores posibles:

0s a 5s

3.15. gbds.node.hbase-template-loaders.number

Este parámetro define el número de cargadores de plantillas HBase.

Valor predeterminado:

1

3.16. gbds.node.rdb-template-loaders.number

Este parámetro define el número de cargadores de plantillas RDB.

Valor predeterminado:

1

3.17. gbds.biometric.fingerprint.cab.skip-non-cab

Este parámetro es una bandera para omitir plantillas no cab.

Valor predeterminado:

true

3.18. gbds.matchers.metrics.enabled

Este parámetro habilita las métricas de matcher.

Valor predeterminado:

true

3.19. gbds.biometric.face.identify.enabled

Este parámetro habilita la identificación para imágenes de rostros.

Valor predeterminado:

true

3.20. gbds.biometric.face.enroll.enabled

Este parámetro habilita la inscripción para imágenes de rostros.

Valor predeterminado:

true

3.21. gbds.biometric.fingerprint.cab.search-without-cab

Este parámetro define si la búsqueda está habilitada para plantillas de huellas dactilares sin información cab.

Valor predeterminado:

false

3.22. gbds.fingerprint.post-matching.enabled

Este parámetro habilita la coincidencia posterior de huellas dactilares para búsquedas latentes.

Valor predeterminado:

true

3.23. gbds.face.post-matching.enabled

Este parámetro habilita la coincidencia posterior de rostros.

Valor predeterminado:

true

3.24. gbds.cluster.quorum.quorum-check-delay

Este parámetro define el retraso, en segundos, para realizar la decisión de “Downing” un miembro del clúster inalcanzable o eliminado.

La cuenta regresiva de retraso comienza y se reinicia cada vez que hay un cambio en el estado de los miembros del clúster.

Valor predeterminado:

5s

3.25. gbds.boot.completed-message-ack.timeout

Este parámetro define cuánto tiempo, en segundos, el actor de arranque esperará para recibir un ack para el mensaje CompletedBootMessage de un NodeManager.

Si no se recibe el ack, el mensaje se reenviará.

Valor predeterminado:

3s

3.26. gbds.boot.people.node-nr-scanners

Este parámetro define el número de actores de escáner paralelos que escanearán personas registradas durante el arranque del sistema en cada nodo.

Valor predeterminado:

1

3.27. gbds.boot.shuffler-message-ack.timeout

Este parámetro define el tiempo máximo de espera para que el actor de mezcla reciba un mensaje de acuse de recibo. Si no se recibe el acuse de recibo, el mensaje se reenviará.

Valor predeterminado:

90s

3.28. gbds.boot.scan.ignoreErrorsOnRegion

Define si las regiones de HBase con errores deben ignorarse en el arranque.

Valor predeterminado:

true

Valores posibles:

true

false

3.29. gbds.boot.scan.ignoreErrorsOnRegion.maxTries

Define el número máximo de intentos antes de ignorar una región de HBase con error en el arranque.

Valor predeterminado:

5

3.30. gbds.boot.scan.maxRowsPerNode

Usando esta configuración, GBDS detendrá el escaneo de personas en un nodo cuando alcance este número de filas.

Valor predeterminado:

0

3.31. gbds.boot.scan-delayer.rows

Define el número de filas que se escanearán antes de esperar (retraso).

Valor predeterminado:

0

3.32. gbds.boot.scan-delayer.secs

Define el número de filas que se esperarán después de escanear el número de filas configurado.

Valor predeterminado:

0

3.33. gbds.ul.boot.scan.enabled

Define si se debe omitir el proceso de arranque de UL.

Valor predeterminado:

true

Valores posibles:

true

false

3.34. gbds.boot.scan.ignoreErrorsOnRegion

Define si se deben omitir las regiones malas en el arranque de UL.

Valor predeterminado:

true

Valores posibles:

true

false

3.35. gbds.boot.matcher.creation.sleepTime.ms

Define el tiempo de espera entre la creación de matcher.

Valor predeterminado:

500

Valor Mínimo:

0

Valor Máximo:

30000

3.36. gbds.biometric.fingerprint.enabled

Este parámetro se utiliza para determinar si las huellas dactilares son objetos de búsqueda primarios.

Valor predeterminado:

true

Valores posibles:

true

false

3.37. gbds.biometric.fingerprint.exception.enabled

Este parámetro define si las huellas dactilares deben considerarse al generar excepciones de inscripción.

Valor predeterminado:

true

Valores posibles:

true

false

3.38. gbds.biometric.fingerprint.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para una comparación de huellas dactilares que se considerará una coincidencia durante una operación de búsqueda.

Valor predeterminado:

30

3.39. gbds.biometric.fingerprint.exception.threshold

Este parámetro define la puntuación mínima de coincidencia para considerar una comparación de huellas dactilares una coincidencia durante una inscripción, generando una excepción.

Valor predeterminado:

40

3.40. gbds.biometric.fingerprint.exception.enroll.min-matches-for-exception

Este parámetro define el número mínimo de dedos coincidentes requeridos para generar una excepción durante una operación de inscripción.

Valor predeterminado:

2

3.41. gbds.biometric.fingerprint.cab.identify.threshold

Este parámetro define el umbral para las coincidencias utilizando análisis CAB. Este parámetro no se utiliza si la verificación CAB no está habilitada.

Valor predeterminado:

5

3.42. gbds.biometric.fingerprint.latent.threshold

Este parámetro define la puntuación mínima para considerar una búsqueda latente como una coincidencia.

Valor predeterminado:

10

3.43. gbds.biometric.fingerprint.identify.index.delta-zero

Este parámetro define el índice de configuración para Delta Zero. Los coeficientes Delta se utilizan para optimizar las búsquedas.

Valor predeterminado:

-1 (deshabilitado)

3.44. gbds.biometric.fingerprint.identify.index.delta-one

Este parámetro define el índice de configuración para Delta One. Los coeficientes Delta se utilizan para optimizar las búsquedas.

Valor predeterminado:

-1 (deshabilitado)

3.45. gbds.latent.candidates.max-number

Este parámetro define la longitud máxima de la lista de candidatos al realizar búsquedas latentes.

Valor predeterminado:

1000

3.46. gbds.biometric.palmprint.enabled

Este parámetro se utiliza para determinar si las huellas palmares son objetos de búsqueda primarios.

Valor predeterminado:

false

Valores posibles:

true

false

3.47. gbds.biometric.palmprint.exception.enabled

Este parámetro define si las huellas palmares deben considerarse al generar excepciones de inscripción.

Valor predeterminado:

false

Valores posibles:

true

false

3.48. gbds.biometric.palmprint.interdigital.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para una comparación interdigital de huellas palmares para considerarse una coincidencia durante una operación de búsqueda.

Valor predeterminado:

70

3.49. gbds.biometric.palmprint.thenar.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para una comparación de huellas palmares thenar para considerarse una coincidencia durante una operación de búsqueda.

Valor predeterminado:

70

3.50. gbds.biometric.palmprint.hypothenar.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para una comparación de huellas palmares hypothenar para considerarse una coincidencia durante una operación de búsqueda.

Valor predeterminado:

70

3.51. gbds.biometric.face.enabled

Este parámetro se utiliza para determinar si las caras son objetos de búsqueda primarios.

Valor predeterminado:

false

Valores posibles:

true

false

3.52. gbds.biometric.face.exception.enabled

Este parámetro define si las imágenes faciales deben considerarse al generar excepciones de inscripción.

Valor predeterminado:

false

Valores posibles:

true

false

3.53. gbds.biometric.face.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para una comparación facial para considerarse una coincidencia durante una operación de búsqueda.

Valor predeterminado:

60

3.54. gbds.biometric.face.exception.threshold

Este parámetro define el umbral que se utilizará al comparar la biometría facial durante las operaciones de “identificación”. Asignar un valor alto a este parámetro puede aumentar posiblemente el número de falsos negativos.

Valor predeterminado:

60

3.55. gbds.biometric.face.exception.minimum.coincident-fingers.ignore.face

Este parámetro define el número de dedos correspondientes necesarios para descartar el resultado de comparación facial al generar una excepción de actualización.

Valor predeterminado:

4

3.56. gbds.biometric.face.template.format

Define el formato de plantilla para la cara.

Valores posibles: TPT_FORMAT_1 o TPT_FORMAT_2.

Important

Los formatos de cara no son intercambiables. Las caras inscritas en un formato no se emparejarán con las caras inscritas en otro formato.

Danger

Este valor debe ser el mismo en application.conf y gbdsapi.properties

3.57. gbds.biometric.iris.enabled

Este parámetro se utiliza para determinar si los iris son objetos de búsqueda primarios.

Valor predeterminado:

false

Valores posibles:

true

false

3.58. gbds.biometric.iris.exception.enabled

Este parámetro define si los iris deben considerarse al generar excepciones de inscripción.

Valor predeterminado:

false

Valores posibles:

true

false

3.59. gbds.biometric.iris.exception.threshold

Este parámetro define la puntuación mínima de coincidencia para una comparación de iris que se considerará una coincidencia durante una inscripción, generando una excepción.

Valor predeterminado:

62

3.60. gbds.biometric.iris.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para una comparación de iris que se considerará una coincidencia durante una operación de búsqueda.

Valor predeterminado:

62

3.61. gbds.latent.reverse-latent-match.enabled

Este parámetro define si la inscripción y búsqueda de latentes no resueltos están habilitadas o deshabilitadas. Se utiliza para aplicaciones forenses.

Valor predeterminado:

false

Valores posibles:

true

false

3.62. gbds.latent.fingerprint.identify.threshold

Este parámetro define la puntuación mínima para considerar una búsqueda de latente de huella dactilar una coincidencia.

Valor predeterminado:

12

3.63. gbds.latent.additional-search.enabled

Este parámetro define si la búsqueda adicional está habilitada para búsquedas latentes. La búsqueda adicional realizará una comparación adicional para pares coincidentes entre un umbral de puntuación definido.

Valor predeterminado:

false

Valores posibles:

true

false

3.64. gbds.latent.additional-search.fingerprint.execution-lower-bound

Este parámetro define la puntuación de coincidencia más baja por encima de la cual se debe realizar una búsqueda adicional.

Valor predeterminado:

15

3.65. gbds.latent.additional-search.fingerprint.execution-upper-bound

Este parámetro define la puntuación de coincidencia más alta por debajo de la cual se debe realizar una búsqueda adicional.

Valor predeterminado:

120

3.66. gbds.latent.primary-classification.enabled

Este parámetro define si se debe utilizar la clasificación primaria para búsquedas latentes.

Valor predeterminado:

false

Valores posibles:

true

false

3.67. gbds.latent.primary-classification.same-class.fingerprint.threshold

Este parámetro define el umbral mínimo para comparar huellas dactilares de la misma clase y considerar una coincidencia durante las búsquedas latentes.

Valor predeterminado:

15

3.68. gbds.latent.primary-classification.different-class.fingerprint.threshold

Este parámetro define el umbral mínimo para considerar una coincidencia entre huellas dactilares de diferentes clases durante las búsquedas latentes.

Valor predeterminado:

40

3.69. gbds.latent.primary-classification.unknown-class.should-use-different-class-threshold

Este parámetro define si se debe utilizar el umbral de coincidencia de clase diferente para la búsqueda latente cuando hay una clasificación primaria desconocida.

Valor predeterminado:

true

Valores posibles:

true

false

3.70. gbds.latent.ul.fingerprint.identify.threshold

Este parámetro define el umbral predeterminado para buscar latentes de huellas dactilares no resueltos.

Valor predeterminado:

4

3.71. gbds.latent.ul.palmprint.identify.threshold

Este parámetro define el umbral predeterminado para buscar latentes de palma no resueltos.

Valor predeterminado:

4

3.72. gbds.latent.postmatching.enabled

Este parámetro define si la post-identificación está habilitada para búsquedas latentes inversas, búsquedas latentes regulares y búsquedas contra latentes no resueltos registrados.

Valor predeterminado:

false

Valores posibles:

true

false

3.73. gbds.rdb.driverClassName

Este parámetro define el nombre de la clase para la base de datos relacional que se utilizará para almacenar latentes no resueltos. Este valor debe definirse entre comillas.

Valor predeterminado:

"com.mysql.jdbc.Driver"

3.74. gbds.rdb.url

Este parámetro define la URL de la base de datos relacional a la que se accederá. Este valor debe definirse entre comillas.

Valor predeterminado:

"jdbc:mysql://<dirección>:<puerto>/gbds"

3.75. gbds.rdb.username

Este parámetro define el nombre de usuario que se utilizará para acceder a la base de datos relacional. Este valor debe definirse entre comillas.

Valor predeterminado:

"root"

3.76. gbds.rdb.password

Este parámetro define la contraseña que se utilizará para acceder a la base de datos relacional. Este valor debe definirse entre comillas.

3.77. gbds.rdb.dialect

Este parámetro define el dialecto que se utilizará en la base de datos relacional. Este valor debe definirse entre comillas.

Valor predeterminado:

"org.hibernate.dialect.MySQLDialect"

3.78. gbds.rdb.showSql

Este parámetro define si las declaraciones SQL deben incluirse en los registros de la aplicación.

Valor predeterminado:

true

Valores posibles:

true

false

3.79. gbds.rdb.maxPoolSize

Número máximo de conexiones que un grupo mantendrá en cualquier momento.

Valor predeterminado:

100

3.80. gbds.rdb.minPoolSize

Número mínimo de conexiones que un grupo mantendrá en cualquier momento.

Valor predeterminado:

1

3.81. gbds.rdb.initialPoolSize

Número de conexiones que un grupo intentará adquirir al inicio. Este valor debe estar en el rango de gbds.rdb.minPoolSize a gbds.rdb.maxPoolSize.

Valor predeterminado:

2

3.82. gbds.rdb.maxStatments

Este parámetro define el tamaño de la caché global de PreparedStatement de c3p0. Si tanto gbds.rdb.maxStatments como gbds.rdb.maxStatementsPerConnection son cero, el almacenamiento en caché de declaraciones no se habilitará. Si gbds.rdb.maxStatments es cero pero gbds.rdb.maxStatementsPerConnection es un valor distinto de cero, el almacenamiento en caché de declaraciones se habilitará, pero no se aplicará ningún límite global, solo el máximo por conexión.

Este parámetro controla el número total de declaraciones en caché, para todas las conexiones. Si se establece, debe ser un número bastante grande, ya que cada conexión agrupada requiere su propio conjunto de declaraciones en caché distintas. Como guía, considere cuántas PreparedStatements distintas se utilizan con frecuencia en su aplicación y multiplique ese número por gbds.rdb.maxPoolSize para llegar a un valor adecuado.

Valor predeterminado:

0

3.83. gbds.rdb.maxIdleTime

Este parámetro define, en segundos, el tiempo que una conexión puede permanecer agrupada pero sin usar antes de ser descartada. Cero significa que las conexiones inactivas nunca caducan.

Valor predeterminado:

1800

3.84. gbds.rdb.maxConnectionAge

Este parámetro define, en segundos, el tiempo máximo para que una conexión viva. Una conexión más antigua que gbds.rdb.maxConnectionAge será destruida y eliminada del grupo. Esto difiere de gbds.rdb.maxIdleTime en que se refiere a la edad absoluta. Incluso una conexión que no ha estado inactiva será eliminada del grupo si excede gbds.rdb.maxConnectionAge. Cero significa que no se aplica una edad absoluta máxima.

Valor predeterminado:

1800

3.85. gbds.rdb.statementCacheNumDeferredCloseThreads

Si se establece en un valor mayor que 0, la caché de declaraciones rastreará cuándo se están utilizando las conexiones y solo destruirá las declaraciones cuando sus conexiones principales no se estén utilizando de otra manera. Aunque el cierre de una declaración mientras la conexión principal está en uso está formalmente dentro de las especificaciones, algunas bases de datos y/o controladores JDBC, especialmente Oracle, no manejan bien el caso y se congelan, lo que lleva a bloqueos. Establecer este parámetro en un valor positivo debería eliminar el problema. Este parámetro solo debe establecerse si observa que los intentos de c3p0 para cerrar() declaraciones en caché se congelan (generalmente verá BLOQUEOS APARENTES en sus registros). Si se establece, este parámetro casi siempre debe establecerse en 1.

Valor predeterminado:

1

3.86. gbds.rdb.acquireIncrement

Determina cuántas conexiones a la vez intentará adquirir c3p0 cuando se agote el grupo.

Valor predeterminado:

10

3.87. gbds.rdb.testConnectionOnCheckout

Si es verdadero, se realizará una operación en cada verificación de conexión para verificar que la conexión sea válida. La prueba de conexiones en la verificación es la forma más simple y confiable de prueba de conexiones, pero para obtener un mejor rendimiento, considere verificar las conexiones periódicamente utilizando gbds.rdb.idleConnectionTestPeriod.

Valor predeterminado:

false

Valores posibles:

true

false

3.88. gbds.rdb.testConnectionOnCheckin

Si es verdadero, se realizará una operación de forma asíncrona en cada check-in de conexión para verificar que la conexión sea válida. Úselo en combinación con gbds.rdb.idleConnectionTestPeriod para realizar pruebas de conexión siempre asíncronas y bastante confiables.

Valor predeterminado:

true

Valores posibles:

true

false

3.89. gbds.rdb.acquireRetryAttempts

Define cuántas veces c3p0 intentará adquirir una nueva conexión de la base de datos antes de renunciar. Si este valor es menor o igual a cero, c3p0 seguirá intentando obtener una conexión indefinidamente.

Valor predeterminado:

10

3.90. gbds.rdb.idleConnectionTestPeriod

Si este es un número mayor que 0, c3p0 probará todas las conexiones inactivas, agrupadas pero no verificadas, cada este número de segundos.

Valor predeterminado:

30

3.91. gbds.biometric.newborn-palmprint.enabled

Este parámetro se utiliza para determinar si las huellas de palma de recién nacidos son objetos de búsqueda primarios.

Valor predeterminado:

false

Valores posibles:

true

false

3.92. gbds.biometric.newborn-palmprint.exception.enabled

Este parámetro define si las huellas de palma de recién nacidos deben considerarse al generar excepciones de inscripción.

Valor predeterminado:

false

Valores posibles:

true

false

3.93. gbds.biometric.newborn-palmprint.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para una comparación de huellas de palma de recién nacidos para considerarse una coincidencia durante una operación de búsqueda.

Valor predeterminado:

50

3.94. gbds.cluster.recovery.qtd.scanners

Número de escáneres para la recuperación del clúster.

Valor predeterminado:

5

3.95. gbds.cluster.recovery.qtd.getters

Número de getters para la recuperación de clúster. Este parámetro no se utiliza en la versión 3.2x y superior.

Valor predeterminado:

2

3.96. gbds.cluster.recovery.shuffler.block.window.size

Tamaño de la ventana de bloque de shuffler (tamaño del búfer de shuffler) para la recuperación de clúster.

Valor predeterminado:

100

3.97. gbds.router.virtual-nodes.number

Este parámetro define el número de nodos virtuales.

Valor predeterminado:

100

3.98. gbds.biometric.best-of-biometrics.enabled

Este parámetro habilita el mejor de las biometrías, cuando está habilitado, la biometría de la persona es la consolidación de las mejores biometrías obtenidas de esa persona en todas las transacciones.

Warning

Esta bandera DEBE tener el mismo valor en GBDS API y GBDS.

Valor predeterminado:

false

Valores posibles:

true

false

3.99. gbds.biometric.remove-inactive-people-from-enroll-result

Este parámetro define si se deben eliminar personas inactivas de los resultados de inscripción.

Valor predeterminado:

false

Valores posibles:

true

false

3.100. gbds.transparency.search.identify.result.notify.enabled

Este parámetro habilita el servicio de notificación por correo electrónico, que envía notificaciones por correo electrónico para los resultados de búsqueda con personas de interés.

Valor predeterminado:

false

Valores posibles:

true

false

3.101. gbds.searches.verify.saveOnRdb.enabled

Define si las búsquedas de verificación se guardarán en la tabla RDB gbds.transaction.

Valor predeterminado:

true

Valores posibles:

true

false

Danger

Este valor debe ser el mismo en application.conf y gbdsapi.properties

3.102. gbds.searches.identify.saveOnRdb.enabled

Define si las búsquedas de identificación se guardarán en la tabla RDB gbds.transaction.

Valor predeterminado:

true

Valores posibles:

true

false

Danger

Este valor debe ser el mismo en application.conf y gbdsapi.properties

3.103. gbds.monitor.port

Define el puerto para ejecutar el Monitor GBDS.

Valor predeterminado:

9100

3.104. gbds.memory-monitor

Agrega un monitor de memoria que registra el uso de memoria de JVM cada 10 segundos.

Valor predeterminado:

false

Valores posibles:

true

false

3.105. gbds.watchdog.interval

Define, en minutos, el intervalo de tiempo para los registros del watchdog.

Valor predeterminado:

1

Valor máximo:

60

3.106. gbds.watchdog.log.mode

Define el modo de registro del watchdog.

Valor predeterminado:

TGUID_MATCHER_MAP

Valores posibles:

TGUID_MATCHER_MAP MATCHER_TGUID_MAP

3.107. gbds.watchdog.log.level

Define el nivel de registro del watchdog.

Valor predeterminado:

DEBUG

Valores posibles:

DEBUG INFO

3.108. gbds.verifyPostMatch.enabled

Activa o desactiva la verificación post match en transacciones de inscripción con excepciones.

Valor predeterminado:

true

Valores posibles:

true, false

3.109. gbds.search.verify.adjust-resolution

Cuando esta configuración está activada, la verificación y actualización en la API y la verificación posterior al emparejamiento en GBDS ajustarán la resolución realizando una verificación de coincidencia, disminuyendo la puntuación en dedos y palmas.

Valor predeterminado:

true

Valores posibles:

true, false

3.110. gbscluster.update.consider.fingerprints

Este parámetro define si se deben considerar las huellas dactilares al generar excepciones de actualización.

Valor predeterminado:

true

Possible values:

true, false

3.111. gbscluster.update.consider.faces

Este parámetro define si se deben considerar las imágenes faciales al generar excepciones de actualización.

Valor predeterminado:

false

Possible values:

true, false

3.112. gbscluster.update.consider.faces.beforeFingerprints

Este parámetro define si las caras deben analizarse antes que las huellas dactilares al generar excepciones de actualización. Si es false, el análisis del rostro se realiza después del análisis de las huellas dactilares.

Valor predeterminado:

false

Possible values:

true, false

3.113. gbscluster.update.faces.verify.matchthreshold

Este parámetro define el umbral que se utilizará al comparar la biometría facial durante las operaciones de búsqueda. Asignar un valor alto a este parámetro puede aumentar posiblemente el número de falsos negativos.

Valor predeterminado:

60

3.114. gbscluster.update.minimum.fingers

Este parámetro define el número mínimo de coincidencias de huellas dactilares requeridas para que una operación de “actualización” sea aceptada.

Valor predeterminado:

4

4. Configuración del Serializador de Plantillas

Esta sección describe los parámetros de configuración relacionados con el serializador de plantillas. Estos parámetros de configuración están diseñados para permitir el uso de Operaciones por lotes de GBDS.

See also

Consulte el manual de Operaciones por lotes de GBDS para obtener más información sobre cómo usarlo.

Cada vez que GBDS realiza una operación de arranque en frío, intenta recuperar las plantillas de la familia de columnas estándar. Si una plantilla no existe en la familia de columnas estándar, intenta recuperarla de la familia de columnas de respaldo.

Los parámetros de configuración para el serializador son los siguientes:

4.1. Familia de Columnas Estándar

Estos parámetros están divididos por modalidad biométrica. Las plantillas en estas familias de columnas no tienen codificación y el formato utilizado es byteArray.

gbds.hbase.templates.fingerprint.cf.name
gbds.hbase.templates.palmprint.cf.name
gbds.hbase.templates.face.cf.name
gbds.hbase.templates.iris.cf.name
gbds.hbase.templates.newborn-palmprint.cf.name

El valor predeterminado para estos parámetros es tpt.

4.2. Familia de Columnas de Respaldo

Estos parámetros se refieren a la familia de columnas utilizada anteriormente para almacenar las plantillas biométricas, separadas por modalidad biométrica.

gbds.hbase.templates.fallback.fingerprint.cf.name
gbds.hbase.templates.fallback.palmprint.cf.name
gbds.hbase.templates.fallback.face.cf.name
gbds.hbase.templates.fallback.iris.cf.name
gbds.hbase.templates.fallback.newborn-palmprint.cf.name

Los valores predeterminados representan la familia de columnas utilizada antes de cambiar estos parámetros y son, respectivamente: fingerprints, palmprints, faces, iris.

4.3. Codificación base64 de Respaldo

La familia de columnas de respaldo admite codificación. Los siguientes parámetros definen si la familia de columnas está codificada en base64:

gbds.hbase.templates.fallback.fingerprint.cf.is-base64-encoded
gbds.hbase.templates.fallback.palmprint.cf.is-base64-encoded
gbds.hbase.templates.fallback.face.cf.is-base64-encoded
gbds.hbase.templates.fallback.iris.cf.is-base64-encoded
gbds.hbase.templates.fallback.newborn-palmprint.cf.is-base64-encoded

El valor predeterminado para estos parámetros es true.

4.4. gbds.template.memory.format

Define cómo GBDS almacenará las plantillas en memoria.

Las opciones son:

  • DESERIALIZED_FULL: Opción predeterminada. Las plantillas se almacenan en los matchers deserializados en memoria con minucias y segmentos.
  • SERIALIZED_MINUTIAE_SEGMENTS: Las plantillas se almacenan en los matchers serializados en memoria con minucias y segmentos.
  • SERIALIZED_MINUTIAE: Las plantillas se almacenan en los matchers serializados en memoria con solo minucias. Los segmentos se vuelven a extraer de la plantilla en cada búsqueda realizada. Esto afecta el tiempo de búsqueda 1:N.
  • OPTIMIZED: Utiliza un nuevo formato de plantilla optimizado para reducir la degradación del rendimiento de búsqueda con el tiempo.

4.5. Preasignación de Memoria

Define la cantidad de memoria preasignada para cada modalidad.

gbds.fingerprint.memory-storage.pre-aloc
gbds.palmprint.memory-storage.pre-aloc
gbds.newborn-palmprint.memory-storage.pre-aloc
gbds.ul-fingerprint.memory-storage.pre-aloc
gbds.ul-palmprint.memory-storage.pre-aloc

El valor predeterminado para cada configuración es 0. El sistema entiende Kilobytes (k, kb), Megabytes (m, mb) y Gigabytes (g, gb), sin distinción de mayúsculas y minúsculas. El valor se divide equitativamente entre todos los matchers en el nodo.

Note

La cara y el iris no se pueden preasignar.

4.6. Microservicios de Matcher

Esta sección presenta los parámetros de configuración relacionados con los microservicios de matcher.

La configuración de microservicios es única para cada nodo en el clúster.

4.6.1. gbds.match.service.enabled

Define si los microservicios de matcher están activados.

Valor predeterminado:

false

Valores posibles:

true

false

4.6.2. gbds.match.service.initialPort

Define el puerto inicial para iniciar los servicios de coincidencia en el nodo.

Valor predeterminado:

32000

4.6.3. gbds.match.service.logLevel

Define el nivel de registro de los servicios de coincidencia en GBDS. Los diferentes niveles de registro son:

NONE
No registra nada
INFO
Registra scripts y URL de solicitud
TIME
Registra scripts, URL de solicitud y tiempo transcurrido
DEBUG
Registra todo y activa el registro de cola de registro de servicio

Valor predeterminado:

NONE

Valores posibles:

INFO

TIME

DEBUG

4.6.4. gbds.match.service.timeout

Define el tiempo máximo de espera para las solicitudes al microservicio de coincidencia, en milisegundos.

Valor predeterminado:

10000

4.6.5. gbds.match.service.templateSend.parallelByModality

Activa el procesamiento paralelo por modalidad biométrica en GBDS.

Valor predeterminado:

true

Valores posibles:

true

false

4.6.6. gbds.match.service.linkLibSegfault

Activa el seguimiento de fallas de segmentación en el microservicio de coincidencia.

Valor predeterminado:

false

Valores posibles:

true

false

4.6.7. gbds.match.service.maxTries

Cuando un microservicio de coincidencia tiene un error de conexión, intente 3 veces antes de fallar su transacción, esperando 2 segundos entre intentos.

Valor predeterminado:

3

4.6.8. gbds.match.service.maxConnectionErrors

Cuando un microservicio de coincidencia tiene 5 transacciones fallidas por error de conexión seguidas, detenga GBDS para evitar fallar cada transacción a partir de ese punto.

Valor predeterminado:

5

4.6.9. gbds.match.service.checkTimeoutSecs

Tiempo de espera (en segundos) para verificar si se creó el microservicio de coincidencia.

Valor predeterminado:

10