Configuración del GBDS

Archivo de Configuración

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

Este documento está actualizado para la versión 4.6.9 del GBDS.

Ubicación del Archivo

El archivo de configuración está ubicado en: /etc/griaule/conf/gbds/application.conf.

Propiedades del Archivo

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

  1. El nombre del archivo y su ubicación deben ser exactamente iguales a lo descrito en la sección Ubicación del Archivo

  2. Debe haber solamente un parámetro de configuración por línea.

  3. Cada parámetro de configuración debe tener la forma {parâmetro}={valor}, sin saltos de línea;

  4. Cada valor debe estar separado por una coma cuando se asigne al mismo parámetro.

Parámetros de Configuración de Akka

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

Acceda a 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"
}

loglevel

Este parámetro define el nivel de información que se mantendrá en los registros del sistema. Los valores deben definirse entre comillas dobles.

Valor Predeterminado:

"WARNING"

Valores Posibles:

  • "OFF"

  • "ERROR"

  • "WARNING"

  • "INFO"

  • "DEBUG"

stdout-loglevel

Este parámetro define el nivel de información que mantendrá el registrador básico que se inicia durante la inicialización del ActorSystem. Este registrador imprime el mensaje de registro en stdout (System.out). Los valores deben definirse entre comillas dobles.

Valor Predeterminado:

"INFO"

Valores Posibles:

  • "OFF"

  • "ERROR"

  • "WARNING"

  • "INFO"

  • "DEBUG"

loggers

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

Valor Predeterminado:

"akka.event.slf4j.Slf4jLogger"

logging-filter

Este parámetro define el filtro de eventos de registro que será usado por el LoggingAdaptar antes de publicar los eventos de registro en el eventStream.

Valor Predeterminado:

"akka.event.slf4j.Slf4jLoggingFilter"

actor

guardian-supervisor-strategy

Este parámetro define la clase que será usada por el guardián para obtener su supervisorStrategy

Valor Predeterminado:

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

provider

Este parámetro define el ActorProvider que será usado.

Valor Predeterminado:

"cluster"

Valores Posibles:

  • "local"

  • "remote"

  • "cluster"

serializers

Este parámetro define las entradas para los serializadores y sus vínculos.

Los serializadores usados son:

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

Y su vínculo es:

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

remote

artery

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

Valores por defecto:

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

cluster

seed-nodes

Este parámetro define los nodos que se unirán automáticamente en el inicio. Cada valor debe añadirse entre comillas dobles y separado por comas dentro de corchetes.

Valor de Ejemplo:

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

roles

Este parámetro define las funciones (roles) de este miembro. Cada valor debe añadirse entre comillas dobles y separados por comas dentro de corchetes.

Valor Predeterminado:

["manager"]

role.manager.min-nr-of-members

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

Valor Predeterminado:

4

singleton.singleton-name

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

Valor Predeterminado:

offsetmanager

singleton.hand-over-retry-interval

Cuando un nodo comienza a ser el más antiguo, envía una solicitud de traspaso al nodo previamente más antiguo, que debe estar saliendo del clúster. Este parámetro define el tiempo, en segundos, para intentar reenviar la solicitud hasta que el nodo previamente más antiguo confirme que el pedido de traspaso comenzó o que el miembro previamente más antiguo sea eliminado del clúster.

Valor Predeterminado:

1s

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

Este parámetro define el número mínimo de intentos de reenvío de la solicitud de traspaso al nodo previamente más antiguo.

Valor Predeterminado:

15

singleton-proxy.singleton-name

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

Valor Predeterminado:

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

singleton-proxy.singleton-identification-interval

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

Valor Predeterminado:

1s

singleton-proxy.buffer-size

Si la ubicación del singleton es desconocida, el proxy almacenará la cantidad de mensajes definida en este parámetro en un búfer y los entregará cuando el singleton sea identificado. Cuando el búfer esté lleno, los mensajes más antiguos serán descartados y los nuevos mensajes serán enviados por el proxy.

Valor Predeterminado:

1000

Valores Posibles:

1 to 10000

Parámetros de Configuración

Esta sección describe cada uno de los parámetros de configuración del GBDS que pueden listarse en el archivo de configuración y cómo afectan la operación del sistema.

gbds.log.diagnose

Añade registros a la cola de Kafka en cada actividad de consumo.

Valor Predeterminado:

true

gbds.cluster.kafka.task.topic

Este parámetro define el tópico de Kafka donde las tareas serán asignadas.

Valor Predeterminado:

gbds-tasks

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

Número de tareas realizadas en Kafka en cada búsqueda. El consumo de tareas en Kafka se hace consultando la cola, y la consulta recupera un cierto número de registros cada vez. Cada registro es una tarea en el GBDS. Esta configuración limita cuántos registros se hacen en cada poll.

Valor Predeterminado:

1

Valores Posibles:

1 to 1000

gbds.cluster.zookeeper.quorum

Este parámetro define el hostname y el puerto donde se pueden encontrar los servidores de Zookeeper. Si hay más de un valor disponible, cada valor debe separarse por comas

Valor Predeterminado:

<hostname>:<port>

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

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

Valor Predeterminado:

1000

gbds.cluster.kafka.quorum

Este parámetro define la dirección del Kafka broker y debe reflejarse en las configuraciones de Kafka.

Valor Predeterminado:

<hostname>:6667

gbds.node.matchers.start.parameters

Este parámetro define las configuraciones iniciales para los node matchers cuando la aplicación esté iniciando.

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"

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

Este parámetro define el timeout, en segundos, para inicializar cada ActorSystem remoto que ejecutará un matcher.

Valor Predeterminado:

30s

gbds.node.matchers.start.timeout

Este parámetro define el timeout, en segundos, para abrir un matcher en el ActorSystem remoto.

Valor Predeterminado:

20s

gbds.node.matchers.number

Este parámetro define el número de matchers que será usado en este nodo del GBDS.

Si los microservicios de match están habilitados, se iniciarán 3 instancias del microservicio por cada 1 definido en esta configuración.

Valor Predeterminado:

1

gbds.node.sinks.number

Este parámetro define el número de sinks que será usado en este nodo del GBDS.

Valor Predeterminado:

1

gbds.node.actor-start.timeout

Este parámetro define el timeout, en segundos, para la inicialización de todos los actores en este nodo del GBDS.

Valor Predeterminado:

60s

gbds.node.max-loaded-tasks

Este parámetro define el número máximo de tareas que pueden coexistir simultáneamente en el GBDS. Cuando se alcanza este número, no se leerá ninguna tarea hasta que alguna anterior sea enviada.

Valor Predeterminado:

100

Valores Posibles:

1 a 20000

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

Este parámetro define el tiempo para esperar antes de leer más tareas de Kafka.

Valor Predeterminado:

1s

Valores Posibles:

0s a 5s

gbds.node.hbase-template-loaders.number

Este parámetro define el número de template loaders de HBase.

Valor Predeterminado::

1

gbds.node.rdb-template-loaders.number

Este parámetro define el número de template loaders de RDB.

Valor Predeterminado::

1

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

Este parámetro es una bandera para ignorar templates no-CAB.

Valor Predeterminado::

true

gbds.matchers.metrics.enabled

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

Valor Predeterminado::

true

gbds.biometric.face.identify.enabled

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

Valor Predeterminado::

true

gbds.biometric.face.enroll.enabled

Este parámetro habilita el registro de rostros.

Valor Predeterminado::

true

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

Este parámetro es una bandera para realizar búsquedas sin CAB.

Valor Predeterminado::

false

gbds.fingerprint.post-matching.enabled

Este parámetro habilita el post matching para huellas dactilares.

Valor Predeterminado::

true

gbds.face.post-matching.enabled

Este parámetro habilita el post matching para rostros.

Valor Predeterminado::

true

gbds.cluster.quorum.quorum-check-delay

Este parámetro define el retraso, en segundos, para tomar la decisión de Apagar un miembro del clúster que esté inalcanzable o eliminado.

Apagar, en este caso, se refiere a marcar el nodo como inaccesible, de modo que el resto del sistema adapte su funcionamiento al caso con un nodo menos.

El contador de retraso inicia y reinicia siempre que haya cambios en los estados de los miembros del clúster.

Valor Predeterminado:

5s

gbds.boot.completed-message-ack.timeout

Este parámetro define cuánto tiempo, en segundos, el actor de arranque (boot), esperará la recepción de un ack para la CompletedBootMessage de un NodeManager

Si el ack no sea recibido, el mensaje será reenviado.

Valor Predeterminado:

3s

gbds.boot.people.node-nr-scanners

Número de actores de escaneo paralelo que escanearán personas registradas durante la inicialización del sistema en cada nodo.

Valor Predeterminado:

1

gbds.boot.shuffler-message-ack.timeout

Cuánto tiempo el actor shuffler esperará por un acknowledge. Si el acknowledge no se recibe, el mensaje será reenviado.

Valor Predeterminado:

90s

gbds.boot.scan.ignoreErrorsOnRegion

Determina si se deben ignorar regiones de HBase con fallos durante el arranque.

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.boot.scan.ignoreErrorsOnRegion.maxTries

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

Valor Predeterminado:

5

gbds.boot.scan.maxRowsPerNode

Usando esta configuración, el GBDS detendrá el scan de personas en un nodo tan pronto como alcance este número de filas.

Valor Predeterminado:

0

gbds.boot.scan-delayer.rows

Define el número de filas a escanear antes del delay.

Valor Predeterminado:

0

gbds.boot.scan-delayer.secs

Define el tiempo de delay a esperar por cada bloque de filas escaneado.

Valor Predeterminado:

0

gbds.ul.boot.scan.enabled

Define si el arranque de UL debe ser ignorado.

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.boot.scan.ignoreErrorsOnRegion

Define si se deben ignorar regiones malas durante el arranque de UL.

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.boot.matcher.creation.sleepTime.ms

Define el tiempo de sleep entre la creación de los matchers.

Valor Predeterminado:

500

Valor Mínimo:

0

Valor Máximo:

30000

gbds.biometric.fingerprint.enabled

Este parámetro se usa para determinar si la huella dactilar es el objeto de búsqueda prioritario.

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.biometric.fingerprint.exception.enabled

Este parámetro define si las huellas dactilares deben ser consideradas en la generación de excepciones de registro (enrollment).

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.biometric.fingerprint.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para que una comparación de huellas dactilares sea considerada un emparejamiento (match) durante la operación de búsqueda.

Valor Predeterminado:

30

gbds.biometric.fingerprint.exception.threshold

Este parámetro define la puntuación mínima de coincidencia para que una comparación de huellas dactilares sea considerada un emparejamiento (match) durante la operación de registro, generando una excepción.

Valor Predeterminado:

40

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

Este parámetro define el número mínimo de emparejamientos entre dedos necesario para generar una excepción durante una operación de registro.

Valor Predeterminado:

2

gbds.biometric.fingerprint.cab.identify.threshold

Este parámetro define el umbral para emparejamientos usando el análisis de CAB. Este parámetro no se usa si la verificación de CAB no está habilitada.

Valor Predeterminado:

5

gbds.biometric.fingerprint.latent.threshold

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

Valor Predeterminado:

10

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

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

Valor Predeterminado:

-1 (deshabilitado)

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

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

Valor Predeterminado:

-1 (deshabilitado)

gbds.latent.candidates.max-number

Este parámetro define el tamaño máximo de la lista de candidatos devuelta en búsquedas de latentes.

Valor Predeterminado:

1000

gbds.biometric.palmprint.enabled

Este parámetro se usa para determinar si las impresiones palmares son objetos de búsqueda primaria.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.biometric.palmprint.exception.enabled

Este parámetro define si las impresiones palmares deben ser consideradas para generar excepciones de registro (enroll).

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.biometric.palmprint.interdigital.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para que la comparación entre interdigitales de palmar sea considerada un emparejamiento durante operaciones de búsqueda.

Valor Predeterminado:

70

gbds.biometric.palmprint.thenar.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para que la comparación entre tenares de palmar sea considerada un emparejamiento durante operaciones de búsqueda.

Valor Predeterminado:

70

gbds.biometric.palmprint.hypothenar.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para que la comparación entre hipotenares de palmar sea considerada un emparejamiento durante operaciones de búsqueda.

Valor Predeterminado:

70

gbds.biometric.face.enabled

Este parámetro se usa para determinar si los rostros se usan como objetos primarios de búsqueda.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.biometric.face.exception.enabled

Este parámetro define si las imágenes faciales deben ser consideradas en la generación de excepciones de registro (enroll).

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.biometric.face.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para que la comparación entre rostros sea considerada un emparejamiento durante una operación de búsqueda.

Valor Predeterminado:

60

gbds.biometric.face.exception.threshold

Este parámetro define el umbral que se usará al comparar biometrias faciales durante la operación de identificación. Definir un valor alto para este parámetro puede, posiblemente, aumentar el número de ocurrencias de falso negativo.

Valor Predeterminado:

60

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

Este parámetro define el número mínimo de dedos coincidentes necesario para descartar el resultado de la comparación de rostro en la generación de una excepción de registro (enroll).

Valor Predeterminado:

4

gbds.biometric.face.template.format

Define el formato del template para rostro.

Los valores posibles son: TPT_FORMAT_1 o TPT_FORMAT_2.

gbds.biometric.iris.enabled

Este parámetro se usa para determinar si el iris se define como objeto primario de búsqueda.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.biometric.iris.exception.enabled

Este parámetro define si el iris debe ser considerado en la generación de excepciones de registro (enroll).

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.biometric.iris.exception.threshold

Este parámetro define la puntuación mínima de coincidencia para que una comparación de iris sea considerada un emparejamiento durante una operación de registro, generando una excepción.

Valor Predeterminado:

62

gbds.biometric.iris.identify.threshold

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

Valor Predeterminado:

62

gbds.latent.reverse-latent-match.enabled

Este parámetro define si el registro y la búsqueda de latentes no resueltas están habilitados. Se usa para aplicaciones forenses.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.latent.fingerprint.identify.threshold

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

Valor Predeterminado:

12

gbds.latent.additional-search.enabled

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

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

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

Este parámetro define la puntuación mínima de coincidencia para la cual deben hacerse búsquedas adicionales.

Valor Predeterminado:

15

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

Este parámetro define la puntuación máxima para la cual deben hacerse búsquedas adicionales.

Valor Predeterminado:

120

gbds.latent.primary-classification.enabled

Este parámetro define si deben utilizarse clasificaciones primarias para búsquedas de latentes.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

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

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

Valor Predeterminado:

15

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

Este parámetro define el umbral mínimo para considerar un emparejamiento entre clases diferentes de dedos durante búsquedas de latentes.

Valor Predeterminado:

40

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

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

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.latent.ul.fingerprint.identify.threshold

Este parámetro define el umbral predeterminado para búsqueda de latentes no resueltas.

Valor Predeterminado:

4

gbds.latent.ul.palmprint.identify.threshold

Este parámetro define el umbral predeterminado para búsqueda de latentes palmares no resueltas.

Valor Predeterminado:

4

gbds.latent.postmatching.enabled

Este parámetro define si el postmatching está activo para búsquedas reversas de latente, búsquedas regulares de latente y búsquedas contra latentes no resueltas ya registradas.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.rdb.driverClassName

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

Valor Predeterminado:

"com.mysql.jdbc.Driver"

gbds.rdb.url

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

Valor Predeterminado:

"jdbc:mysql://<address>:<port>/gbds"

gbds.rdb.username

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

Valor Predeterminado:

"root"

gbds.rdb.password

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

gbds.rdb.dialect

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

Valor Predeterminado:

"org.hibernate.dialect.MySQLDialect"

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

gbds.rdb.maxPoolSize

Este parámetro define el número máximo de conexiones que un pool mantendrá.

Valor Predeterminado:

100

gbds.rdb.minPoolSize

Este parámetro define el número mínimo de conexiones que un pool mantendrá.

Valor Predeterminado:

1

gbds.rdb.initialPoolSize

Este parámetro define el número de conexiones que un pool intentará adquirir en el arranque. Este valor debe estar entre gbds.rdb.minPoolSize y gbds.rdb.maxPoolSize.

Valor Predeterminado:

2

gbds.rdb.maxStatments

Este parámetro define el tamaño del caché global de PreparedStatement de c3p0. Si tanto gbds.rdb.maxStatments como gbds.rdb.maxStatementsPerConnection son cero, el statement caching no estará habilitado. Si gbds.rdb.maxStatments es cero, pero gbds.rdb.maxStatementsPerConnection es distinto de cero, el statement caching estará habilitado, pero no se impondrá ningún límite global, solo el máximo por conexión.

Este parámetro controla el número total de statements en caché para todas las conexiones. Si es mayor que cero, debe ser un número significativamente grande, ya que cada conexión en pool requiere su propio conjunto distinto de statements en caché. Como guía, considere cuántos PreparedStatements distintos se usan frecuentemente en su aplicación, luego multiplique ese número por gbds.rdb.maxPoolSize para obtener un valor apropiado.

Valor Predeterminado:

0

gbds.rdb.maxIdleTime

Este parámetro define, en segundos, cuánto tiempo la conexión puede estar en el pool sin usarse antes de ser descartada. Cero significa que las conexiones inactivas nunca expiran.

Valor Predeterminado:

1800

gbds.rdb.maxConnectionAge

Este parámetro define, en segundos, la vida útil de una conexión. Una conexión anterior a gbds.rdb.maxConnectionAge será destruida y eliminada del pool. Esto difiere de gbds.rdb.maxIdleTime porque se refiere a la edad absoluta. Incluso una conexión que no ha estado muy ociosa será removida del pool si excede gbds.rdb.maxConnectionAge. Cero significa que no se aplica ninguna edad máxima absoluta.

Valor Predeterminado:

1800

gbds.rdb.statementCacheNumDeferredCloseThreads

Si se configura con un valor mayor que 0, el statement cache seguirá cuándo las conexiones estén en uso y solo destruirá los statements cuando sus conexiones padre no estén en uso. Aunque cerrar un statement mientras la conexión padre está en uso está formalmente dentro de las especificaciones, algunas bases de datos y/o controladores JDBC, más notablemente Oracle, no manejan bien el caso y se congelan, llevando a deadlocks. Establecer este parámetro con un valor positivo debería eliminar el problema. Este parámetro solo debe establecerse si observa que los intentos de c3p0 de cerrar (close()) los statements almacenados en caché se congelan (normalmente verá DEADLOCKS APARENTES en sus registros). Si se define, este parámetro casi siempre debe establecerse en 1.

Valor Predeterminado:

1

gbds.rdb.acquireIncrement

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

Valor Predeterminado:

10

gbds.rdb.testConnectionOnCheckout

Si true, se ejecutará una operación en cada verificación de conexión para comprobar si la conexión es válida. Probar conexiones en checkout es la forma más simple y confiable de prueba de conexión, pero para mejor rendimiento, considere verificar las conexiones periódicamente usando gbds.rdb.idleConnectionTestPeriod.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.rdb.testConnectionOnCheckin

Si true, se ejecutará de forma asíncrona una operación en cada entrada de conexión para verificar si la conexión es válida. Use en combinación con gbds.rdb.idleConnectionTestPeriod para una prueba de conexión siempre asíncrona y bastante confiable.

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.rdb.acquireRetryAttempts

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

Valor Predeterminado:

10

gbds.rdb.idleConnectionTestPeriod

Si este número es mayor que 0, c3p0 probará todas las conexiones inactivas en el pool, pero no verificadas, cada la cantidad de segundos definida en este parámetro.

Valor Predeterminado:

30

gbds.biometric.newborn-palmprint.enabled

Este parámetro se usa para determinar si la palmar de recién nacidos es el objeto de búsqueda prioritario.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.biometric.newborn-palmprint.exception.enabled

Este parámetro define si la palmar de recién nacidos debe considerarse en la generación de excepciones de registro (enrollment).

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.biometric.newborn-palmprint.identify.threshold

Este parámetro define la puntuación mínima de coincidencia para que una comparación de palmar de recién nacidos se considere un emparejamiento (match) durante la operación de búsqueda.

Valor Predeterminado:

50

gbds.cluster.recovery.qtd.scanners

Número de escáneres para recuperación de cluster.

Valor Predeterminado::

5

gbds.cluster.recovery.qtd.getters

Número de getters para recuperación de cluster. Este parámetro ya no se usa en la versión 3.2x o superior.

Valor Predeterminado::

2

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

Número del tamaño de la ventana del bloque del shuffler (tamaño del buffer del shuffler) para recuperación del cluster.

Valor Predeterminado::

100

gbds.router.virtual-nodes.number

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

Valor Predeterminado::

100

gbds.biometric.best-of-biometrics.enabled

Este parámetro habilita el best-of-biometrics. Cuando está habilitado, el conjunto de biometrias de la persona es la consolidación de las mejores biometrias obtenidas de todas las transacciones de la persona a lo largo del tiempo.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

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

Este parámetro define si los perfiles inactivos deben eliminarse de los resultados de enroll.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

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

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

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.searches.verify.saveOnRdb.enabled

Define si la operación de verificación se guardará en la tabla gbds.transaction del RDB.

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.searches.identify.saveOnRdb.enabled

Define si la operación de identificación se guardará en la tabla gbds.transaction del RDB.

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.monitor.port

Define el puerto en el que se ejecutará el GBDS Monitor.

Valor Predeterminado:

9100

gbds.memory-monitor

Agrega a los registros el uso de memoria de la JVM cada 10 segundos.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.watchdog.interval

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

Valor Predeterminado:

1

Valor Máximo:

60

gbds.watchdog.log.mode

Define el modo de registro del watchdog.

Valor Predeterminado:

TGUID_MATCHER_MAP

Valores Posibles:

  • TGUID_MATCHER_MAP

  • MATCHER_TGUID_MAP

gbds.watchdog.log.level

Define el nivel de registro del watchdog.

Valor Predeterminado:

DEBUG

Valores Posibles:

  • DEBUG

  • INFO

gbds.verifyPostMatch.enabled

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

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.search.verify.adjust-resolution

Cuando esta configuración está activada, las verificaciones y actualizaciones en la API y la verificación post-match en el 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

gbscluster.update.consider.fingerprints

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

Valor Predeterminado:

true

Posibles valores:

  • true

  • false

gbscluster.update.consider.faces

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

Valor Predeterminado:

false

Posibles valores:

  • true

  • false

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 false, el análisis de rostro se realiza después del análisis de la huella dactilar.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbscluster.update.faces.verify.matchthreshold

Este parámetro define el umbral a usar durante la comparación de biometrias faciales en operaciones de búsqueda. Establecer un valor alto para este parámetro puede, posiblemente, resultar en un aumento de ocurrencias de falsos negativos.

Valor Predeterminado:

60

gbscluster.update.minimum.fingers

Este parámetro define el número mínimo de coincidencias entre dedos necesario para que una operación de actualización sea aceptada.

Valor Predeterminado:

4

Configuración del Serializador de Templates

Esta sección describe los parámetros de configuración relacionados con el serializador de templates. Estos parámetros de configuración están diseñados para permitir el uso del GBDS Batch Extractor.

Consulte el manual del GBDS Batch Extractor para información adicional sobre su uso.

Siempre que el GBDS realice una operación de cold boot, intentará recuperar los templates de una familia de columnas predeterminada. Si el template no existe en esa columna, el GBDS intentará recuperarlo de la familia de columnas de reserva.

Los parámetros de configuración del serializador son:

Familia de Columnas Predeterminada

Estos parámetros están divididos por modalidades biométricas. Los templates en esta familia de columnas no tienen codificación y el formato usado 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.

Familia de Columnas de Reserva

Estos parámetros se refieren a las familias de columnas anteriormente usadas para almacenar los templates biométricos. Están separados 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 las familias de columnas usadas antes del cambio de estos parámetros y son, respectivamente: fingerprints, palmprints, faces y iris.

Codificación de Reserva en base64

La familia de columnas de reserva 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.

gbds.template.memory.format

Define cómo el GBDS almacenará los templates en la memoria y en los matchers.

Las opciones son:

  • DESERIALIZED_FULL: Opción predeterminada. Los templates se almacenan deserializados con minucias y segmentaciones.

  • SERIALIZED_MINUTIAE_SEGMENTS: Los templates se almacenan deserializados con minucias y segmentaciones.

  • SERIALIZED_MINUTIAE: Los templates se almacenan serializados solo con minucias. Las segmentaciones se reextraen del template en cada búsqueda realizada. Esta opción aumenta el tiempo de búsquedas 1:N.

  • OPTIMIZED: Usa un nuevo formato optimizado de template para reducir la degradación del rendimiento a lo largo del tiempo en búsquedas.

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 entre mayúsculas y minúsculas. El valor se divide por igual entre todos los matchers del nodo.

Rostro e iris no pueden preasignarse.

Microservicios de Match

Esta sección presenta los parámetros de configuración referentes a los microservicios de match.

La configuración de los microservicios es única para cada nodo del cluster.

gbds.match.service.enabled

Define si el microservicio de match está habilitado.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.match.service.initialPort

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

Valor Predeterminado:

32000

gbds.match.service.logLevel

Define el nivel de registro del servicio de match en el GBDS. Los diferentes niveles de registro son:

  • NONE: No genera registros sobre el servicio

  • INFO: Registra los scripts y las URLs de request

  • TIME: Registra los scripts, las URLs de request y el tiempo de ejecución

  • DEBUG: Registra toda la información del servicio

Valor Predeterminado:

NONE

Valores Posibles

INFO

TIME

DEBUG

gbds.match.service.timeout

Define el timeout máximo para requests al microservicio de match, en milisegundos.

Valor Predeterminado:

10000

gbds.match.service.templateSend.parallelByModality

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

Valor Predeterminado:

true

Valores Posibles:

  • true

  • false

gbds.match.service.linkLibSegfault

Este parámetro habilita el rastreo de fallos de segmentación en el microservicio de match.

Valor Predeterminado:

false

Valores Posibles:

  • true

  • false

gbds.match.service.maxTries

Cuando un microservicio de match tiene un error de conexión, intenta 3 veces antes de fallar la transacción, esperando 2s entre los intentos.

Valor Predeterminado:

3

gbds.match.service.maxConnectionErrors

Cuando un microservicio de match tiene 5 transacciones con error de conexión seguidas, detiene el GBDS para prevenir fallos en todas las transacciones a partir de ese punto.

Valor Predeterminado:

5

gbds.match.service.checkTimeoutSecs

Timeout (en segundos) para verificar si el microservicio de match fue creado.

Valor Predeterminado:

10

Última actualización

¿Te fue útil?