1. Arquivo de Configuração¶
Os parâmetros de configuração do GBDS3 são definidos em um arquivo de configuração contendo todos os parâmetros e seus respectivos valores. Parâmetros que são omitidos assumem seus valores padrões. Essa seção descreve as propriedades do arquivo de configuração.
Esse documento está atualizado para a versão 4.6.9 do GBDS.
1.1. Localização do Arquivo¶
O arquivo de configuração está localizado em:
/etc/griaule/conf/gbds/application.conf
.
1.2. Propriedades do Arquivo¶
O arquivo de configuração deve seguir alguns requerimentos para que possa ser interpretado corretamente pelo GBDS. Esses requerimentos são:
- O nome do arquivo e sua localização devem ser exatamente iguais ao descrito na seção Localização do Arquivo
- Deve haver somente um parâmetro de configuração por linha.
- Cada parâmetro de configuração deve ter forma
{parâmetro}={valor}
, sem quebras de linha;- Cada valor deve ser separado por uma vírgula quando atribuído a um mesmo parâmetro.
2. Parâmetros de Configuração do Akka¶
Os parâmetros de configuração do Akka são estruturados como um bloco no começo do arquivo de configuração, como mostrado abaixo:
See also
Acesse a Documentação do Akka para obter mais informações sobre esses 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
É fortemente recomendado que não se altere nenhum parâmetro de configuração do Akka sem orientação adequada para evitar mau funcionamento da aplicação.
Se for necessário atualizar as configurações de seu ambiente, contate o suporte da griaule pelo e-mail support@griaule.com para mais informações.
2.1. loglevel¶
Esse parâmetro define o nível de informação que será mantido nos logs do sistema. Os valores devem ser definidos entre aspas duplas.
Valor Padrão:
"WARNING"
Valores Possíveis:
"OFF"
"ERROR"
"WARNING"
"INFO"
"DEBUG"
2.2. stdout-loglevel¶
Esse parâmetro define o nível de informação que será mantido pelo logger básico que é iniciado durante a inicialização do ActorSystem. Esse logger imprime a mensagem de log para stdout (System.out). Os valores devem ser definidos entre aspas duplas.
Valor Padrão:
"INFO"
Valores Possíveis:
"OFF"
"ERROR"
"WARNING"
"INFO"
"DEBUG"
2.3. loggers¶
Esse parâmetro define, entre colchetes, as entidades de logger que serão usadas para registro no tempo de boot.
Valor Padrão:
"akka.event.slf4j.Slf4jLogger"
2.4. logging-filter¶
Esse parâmetro define o filtro de eventos de log que será usado pelo LoggingAdaptar antes de publicar os eventos de log para o eventStream.
Valor Padrão:
"akka.event.slf4j.Slf4jLoggingFilter"
2.5. actor¶
2.5.1. guardian-supervisor-strategy¶
Esse parâmetro define a classe que será usada pelo guardião para obter seu supervisorStrategy
Valor Padrão:
"com.griaulebiometrics.gbds.driver.topology.GBDSGuardianSupervisionStrategy"
2.5.2. provider¶
Esse parâmetro define o ActorProvider que será usado.
Valor Padrão:
"cluster"
Valores Possíveis:
local
remote
cluster
2.5.3. serializers¶
Esse parâmetro define as entradas para os serializadores e suas ligações.
Os serializadores usados são:
kryo = io.altoo.akka.serialization.kryo.KryoSerializer
proto = akka.remote.serialization.ProtobufSerializer
E sua ligação é:
"com.griaulebiometrics.akka.utils.message.KryoSerializableMessage" = kryo
2.6. remote¶
2.6.1. artery¶
Esse parâmetro define a configuração para o Artery baseada no driver de transporte.
Valores padrões:
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¶
Esse parâmetro define os nós que se juntarão automaticamente na inicialização. Cada valor deve ser adicionado entre aspas duplas e separado por vírgulas dentro de colchetes.
Valor Exemplo:
["akka://main@<hostname1>:2551"]
2.7.2. roles¶
Esse parâmetro define as funções (roles) desse membro. Cada valor deve ser adicionado entre aspas duplas e separados por vírgulas dentro de colchetes.
Valor Padrão:
["manager"]
2.7.3. role.manager.min-nr-of-members¶
Esse parâmetro define o número mínimo de nós que devem estar ativos antes da inicialização do cluster.
Valor Padrão:
4
2.7.4. singleton¶
2.7.4.1. singleton-name¶
Esse parâmetro define o nome do ator do singleton filho.
Valor Padrão:
offsetmanager
2.7.4.2. hand-over-retry-interval¶
Quando um nó está começando a ser o mais velho, ele manda um pedido de repasse ao nó anteriormente mais velho, que deve estar saindo do cluster. Esse parâmetro define o tempo, em segundos, para tentar o reenvio do pedido até que o nó anteriormente mais velho confirme que o pedido de repasse começou ou que o membro anteriormente mais velho seja removido do cluster.
Valor Padrão:
1s
2.7.4.3. min-number-of-hand-over-retries¶
Esse parâmetro define o número mínimo de tentativas de reenviar o pedido de repasse para o nó anteriormente mais velho.
Valor Padrão:
15
2.7.5. singleton-proxy¶
2.7.5.1. singleton-name¶
Esse parâmetro define o nome do ator singleton que é inicializado pelo ClusterSingletonManager.
Valor Padrão:
${akka.cluster.singleton.singleton-name}
2.7.5.2. singleton-identification-interval¶
Esse parâmetro define o intervalo, em segundos, no qual o proxy tenta resolver a instância singleton.
Valor Padrão:
1s
2.7.5.3. buffer-size¶
Se a localização do singleton é desconhecida, o proxy irá armazenar a quantidade de mensagens definida nesse parâmetro em um buffer e as entregará quando o singleton for identificado. Quando o buffer estiver cheio, as mensagens mais antigas serão descartadas e as novas mensagens serão enviadas pelo proxy.
Valor Padrão:
1000
Valores Possíveis:
1
to10000
3. Parâmetros de Configuração¶
Essa seção descreve cada um dos parâmetros de configuração dos GBDS3 que podem ser listados no arquivo de configuração e como eles afetam a operação do sistema.
3.1. gbds.log.diagnose¶
Adiciona logs à fila do Kafka a cada atividade de consumo.
Valor Padrão:
true
3.2. gbds.cluster.kafka.task.topic¶
Esse parâmetro define o tópico do Kafka onde as tarefas serão alocadas.
Valor Padrão:
gbds-tasks
3.3. gbds.cluster.kafka.max-tasks-per-poll¶
Número de tarefas realizadas no kafka em cada busca. O consumo de tarefas no kafka é feito pesquisando a fila, e a pesquisa recupera um certo número de registros a cada vez. Cada registro é uma tarefa no GBDS. Essa configuração limita quantos registros são feitos em cada poll.
Valor Padrão:
1
Valores Possíveis:
1
to1000
3.4. gbds.cluster.zookeeper.quorum¶
Esse parâmetro define o hostname e a porta que os servers do zookeeper podem ser achados. Se mais de um valor estiver disponível, cada valor deve ser separado por vírgulas
Valor Padrão:
<hostname>:<port>
3.5. gbds.cluster.tasks.window-size-for-avoiding-duplicate-tasks¶
Esse parâmetro configura o tamanho da fila com as últimas “N” tarefas processadas/em processamento. Se uma tarefa for duplicada para processamento e ainda estiver na fila, ela é ignorada.
Valor Padrão:
1000
3.6. gbds.cluster.kafka.quorum¶
Esse parâmetro define o endereço do Kafka broker e deve refletir nas configurações do Kafka.
Valor Padrão:
<hostname>:6667
3.7. gbds.node.matchers.start.parameters¶
Esse parâmetro define as configurações iniciais para os node matchers quando a aplicação estiver iniciando.
Valor Padrão:
"-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¶
Esse parâmetro define o timeout, em segundos, para inicializar cada ActorSystem remoto que irá rodar um matcher.
Valor Padrão:
30s
3.9. gbds.node.matchers.start.timeout¶
Esse parâmetro define o timeout, em segundos, para abrir um matcher no ActorSystem remoto.
Valor Padrão:
20s
3.10. gbds.node.matchers.number¶
Esse parâmetro define o número de matchers que será usado nesse nó do GBDS.
Caso os microsserviços de match estejam habilitados, 3 instâncias do microsserviço serão iniciadas para cada 1 definido nessa configuração.
Valor Padrão:
1
3.11. gbds.node.sinks.number¶
Esse parâmetro define o número de sinks que será usado nesse nó do GBDS.
Valor Padrão:
1
3.12. gbds.node.actor-start.timeout¶
Esse parâmetro define o timeout, em segundos, para inicialização de todos atores nesse nó do GBDS.
Valor Padrão:
60s
3.13. gbds.node.max-loaded-tasks¶
Esse parâmetro define o número máximo de tarefas que podem coexistir simultaneamente no GBDS. Quando esse número é alcançado, nenhuma tarefa será lida até alguma anterior ser enviada.
Valor Padrão:
100
Valores Possíveis:
1
a20000
3.14. gbds.node.wait-time-when-maxed-tasks:¶
Esse parâmetro define o tempo para esperar antes de ler mais tarefas do Kafka.
Valor Padrão:
1s
Valores Possíveis:
0s
a5s
3.15. gbds.node.hbase-template-loaders.number¶
Esse parâmetro define o número de template loaders do HBase.
Valor Padrão::
1
3.16. gbds.node.rdb-template-loaders.number¶
Esse parâmetro define o número de template loaders do RDB.
Valor Padrão::
1
3.17. gbds.biometric.fingerprint.cab.skip-non-cab¶
Esse parâmetro é uma flag para ignorar templates não-cab.
Valor Padrão::
true
3.18. gbds.matchers.metrics.enabled¶
Esse parâmetro habilita as métricas de matcher.
Valor Padrão::
true
3.19. gbds.biometric.face.identify.enabled¶
Esse parâmetro habilita a operação de identificação para faces.
Valor Padrão::
true
3.20. gbds.biometric.face.enroll.enabled¶
Esse parâmetro habilita cadastro de faces.
Valor Padrão::
true
3.21. gbds.biometric.fingerprint.cab.search-without-cab¶
Esse parâmetro é uma flag para realizar procuras sem cab.
Valor Padrão::
false
3.22. gbds.fingerprint.post-matching.enabled¶
Esse parâmetro habilita o post matching para digitais.
Valor Padrão::
true
3.23. gbds.face.post-matching.enabled¶
Esse parâmetro habilita o post matching para face.
Valor Padrão::
true
3.24. gbds.cluster.quorum.quorum-check-delay¶
Esse parâmetro define o atraso, em segundos, para realizar a decisão de “Desligar” [1] um membro do cluster que esteja inalcançável ou removido.
[1] | Desligar, neste caso, se refere a marcar o nó como inacessível, de forma que o restante do sistema adapte seu funcionamento para o caso com um nó a menos. |
O contador de atraso inicia e reinicia sempre que houver mudanças nos estados dos membros do cluster.
Valor Padrão:
5s
3.25. gbds.boot.completed-message-ack.timeout¶
Esse parâmetro define o quão longo, em segundos, o ator de inicialização (boot), aguardará o recebimento de um ack para a CompletedBootMessage de um NodeManager
Se o ack não for recebido, a mensagem será reenviada.
Valor Padrão:
3s
3.26. gbds.boot.people.node-nr-scanners¶
Número de atores de varredura paralela que varrerão pessoas registradas durante a inicialização do sistema em cada nó.
Valor Padrão:
1
3.27. gbds.boot.shuffler-message-ack.timeout¶
Quanto tempo o ator do shuffler esperará por um acknowledge. Caso o acknowledge não seja recebido, a mensagem será reenviada.
Valor Padrão:
90s
3.28. gbds.boot.scan.ignoreErrorsOnRegion¶
Determina se regiões do HBase com falha devem ser ignoradas durante o boot.
Valor Padrão:
true
Valores Possíveis:
true
false
3.29. gbds.boot.scan.ignoreErrorsOnRegion.maxTries¶
Define o número máximo de tentativas antes de ignorar uma região com falha no boot.
Valor Padrão:
5
3.30. gbds.boot.scan.maxRowsPerNode¶
Usando esta configuração, o GBDS irá parar o scan de pessoas em um nó assim que alcançar este número de linhas.
Valor Padrão:
0
3.31. gbds.boot.scan-delayer.rows¶
Define o número de linhas a serem escaneadas antes do delay.
Valor Padrão:
0
3.32. gbds.boot.scan-delayer.secs¶
Define o tempo de delay para aguardar a cada bloco de linhas escaneado.
Valor Padrão:
0
3.33. gbds.ul.boot.scan.enabled¶
Define se o boot de UL deve ser ignorado.
Valor Padrão:
true
Valores Possíveis:
true
false
3.34. gbds.boot.scan.ignoreErrorsOnRegion¶
Define se regiões ruins devem ser ignoradas durante o boot de UL.
Valor Padrão:
true
Valores Possíveis:
true
false
3.35. gbds.boot.matcher.creation.sleepTime.ms¶
Define o tempo de sleep entre a criação dos matchers.
Valor Padrão:
500
Valor Mínimo:
0
Valor Máximo:
30000
3.36. gbds.biometric.fingerprint.enabled¶
Esse parâmetro é usado para determinar se a digital é o objeto de busca prioritário.
Valor Padrão:
true
Valores Possíveis:
true
false
3.37. gbds.biometric.fingerprint.exception.enabled¶
Esse parâmetro define se as digitais devem ser consideradas na geração de exceções de cadastro (enrollment).
Valor Padrão:
true
Valores Possíveis:
true
false
3.38. gbds.biometric.fingerprint.identify.threshold¶
Esse parâmetro define a pontuação mínima de coincidências para uma comparação de digitais ser considerada um casamento (match) durante a operação de busca.
Valor Padrão:
30
3.39. gbds.biometric.fingerprint.exception.threshold¶
Esse parâmetro define a pontuação mínima de coincidência para uma comparação de digitais ser considerada um casamento (match) durante a operação de cadastro, gerando uma exceção.
Valor Padrão:
40
3.40. gbds.biometric.fingerprint.exception.enroll.min-matches-for-exception¶
Esse parâmetro define o número mínimo de casamentos entre dedos necessário para gerar uma exceção durante uma operação de cadastro.
Valor Padrão:
2
3.41. gbds.biometric.fingerprint.cab.identify.threshold¶
Esse parâmetro define o limiar para casamentos usando a análise de CAB. Esse parâmetro não é usado se a verificação de CAB não está habilitada.
Valor Padrão:
5
3.42. gbds.biometric.fingerprint.latent.threshold¶
Esse parâmetro define a pontuação mínima para considerar uma busca de latente um casamento.
Valor Padrão:
10
3.43. gbds.biometric.fingerprint.identify.index.delta-zero¶
Esse parâmetro define o índice de configuração para Delta Zero. Os coeficientes Delta são usados para otimizar buscas.
Valor Padrão:
-1
(desabilitado)
3.44. gbds.biometric.fingerprint.identify.index.delta-one¶
Esse parâmetro define a o índice de configuração de Delta Um. Os coeficientes Delta são usados para otimizar buscas.
Valor Padrão:
-1
(desabilitado)
3.45. gbds.latent.candidates.max-number¶
Esse parâmetro define o tamanho máximo da lista de candidatos retornada em buscas de latentes.
Valor Padrão:
1000
3.46. gbds.biometric.palmprint.enabled¶
Esse parâmetro é usado para determinar se impressões palmares são objetos de busca primária.
Valor Padrão:
false
Valores Possíveis:
true
false
3.47. gbds.biometric.palmprint.exception.enabled¶
Esse parâmetro define se impressões palmares devem ser consideradas para gerar exceções de cadastro (enroll).
Valor Padrão:
false
Valores Possíveis:
true
false
3.48. gbds.biometric.palmprint.interdigital.identify.threshold¶
Esse parâmetro define a pontuação mínima de coincidência para a comparação entre interdigitais de palmar ser considerada um casamento durante operações de busca.
Valor Padrão:
70
3.49. gbds.biometric.palmprint.thenar.identify.threshold¶
Esse parâmetro define a pontuação mínima de coincidência para a comparação entre tenares de palmar ser considerada um casamento durante operações de busca.
Valor Padrão:
70
3.50. gbds.biometric.palmprint.hypothenar.identify.threshold¶
Esse parâmetro define a pontuação mínima de coincidência para a comparação entre hipotenares de palmar ser considerada um casamento durante operações de busca.
Valor Padrão:
70
3.51. gbds.biometric.face.enabled¶
Esse parâmetro é usado para determinar se faces são usadas como objetos primários de busca.
Valor Padrão:
false
Valores Possíveis:
true
false
3.52. gbds.biometric.face.exception.enabled¶
Esse parâmetro define se imagens faciais devem ser consideradas na geração de exceções de cadastro (enroll).
Valor Padrão:
false
Valores Possíveis:
true
false
3.53. gbds.biometric.face.identify.threshold¶
Esse parâmetro define a pontuação mínima de coincidência para a comparação entre faces ser considera um casamento durante uma operação de busca.
Valor Padrão:
60
3.54. gbds.biometric.face.exception.threshold¶
Esse parâmetro define o limiar que será usado quando comparando biometrias faciais durante a operação de identificação. Definir um valor alto para esse parâmetro pode, possivelmente, aumentar o número de ocorrências de falso negativo.
Valor Padrão:
60
3.55. gbds.biometric.face.exception.minimum.coincident-fingers.ignore.face¶
Esse parâmetro define o número mínimo de dedos coincidentes necessário para descartar o resultado da comparação de face na geração de uma exceção de cadastro (enroll).
Valor Padrão:
4
3.56. gbds.biometric.face.template.format¶
Define o formato do template para face.
Os valores possíveis são: TPT_FORMAT_1
ou TPT_FORMAT_2
.
Important
Os formatos de face não são intercambiáveis. Faces que tiveram enroll feito em um formato não darão match com faces feitas em outro formato.
Danger
O valor dessa configuração deve ser o mesmo nos arquivos application.conf
e gbdsapi.properties
3.57. gbds.biometric.iris.enabled¶
Esse parâmetro é usado para determinar se a íris é definida como objeto primário de busca.
Valor Padrão:
false
Valores Possíveis:
true
false
3.58. gbds.biometric.iris.exception.enabled¶
Esse parâmetro define se a íris deve ser considera na geração de exceções de cadastro (enroll).
Valor Padrão:
false
Valores Possíveis:
true
false
3.59. gbds.biometric.iris.exception.threshold¶
Esse parâmetro define a pontuação mínima de coincidência para uma comparação de íris ser considerada um casamento durante uma operação de cadastro, gerando uma exceção.
Valor Padrão:
62
3.60. gbds.biometric.iris.identify.threshold¶
Esse parâmetro define a pontuação mínima de coincidência para uma comparação de íris ser considerada um casamento durante uma operação de busca.
Valor Padrão:
62
3.61. gbds.latent.reverse-latent-match.enabled¶
Esse parâmetro define se o cadastro e busca de latentes não resolvidas estão habilitados. É usado para aplicações forenses.
Valor Padrão:
false
Valores Possíveis:
true
false
3.62. gbds.latent.fingerprint.identify.threshold¶
Esse parâmetro define a pontuação mínima para considerar uma busca de impressão digital latente como casamento.
Valor Padrão:
12
3.63. gbds.latent.additional-search.enabled¶
Esse parâmetro define se buscas adicionais estão ativas para busca de latentes. Buscas adicionais realizarão uma comparação adicional para pares coincidentes entre um limiar definido.
Valor Padrão:
false
Valores Possíveis:
true
false
3.64. gbds.latent.additional-search.fingerprint.execution-lower-bound¶
Esse parâmetro define a pontuação mínima de coincidência para a qual buscas adicionais devem ser feitas.
Valor Padrão:
15
3.65. gbds.latent.additional-search.fingerprint.execution-upper-bound¶
Esse parâmetro define a pontuação máxima para a qual buscas adicionais devem ser feitas.
Valor Padrão:
120
3.66. gbds.latent.primary-classification.enabled¶
Esse parâmetro define se classificações primárias devem ser utilizadas para buscas de latentes.
Valor Padrão:
false
Valores Possíveis:
true
false
3.67. gbds.latent.primary-classification.same-class.fingerprint.threshold¶
Esse parâmetro define o limiar mínimo para comparar digitais da mesma classe e considerar um casamento durante buscas de latentes.
Valor Padrão:
15
3.68. gbds.latent.primary-classification.different-class.fingerprint.threshold¶
Esse parâmetro define o limiar mínimo para considerar um casamento entre classes diferentes de dedos durante buscas de latentes.
Valor Padrão:
40
3.69. gbds.latent.primary-classification.unknown-class.should-use-different-class-threshold¶
Esse parâmetro define se o limiar de coincidência de uma classe diferente deve ser usado para busca de latentes quando há uma classificação primária desconhecida.
Valor Padrão:
true
Valores Possíveis:
true
false
3.70. gbds.latent.ul.fingerprint.identify.threshold¶
Esse parâmetro define o limiar padrão para busca de latentes não resolvidas.
Valor Padrão:
4
3.71. gbds.latent.ul.palmprint.identify.threshold¶
Esse parâmetro define o limiar padrão para busca de latentes palmares não resolvidas.
Valor Padrão:
4
3.72. gbds.latent.postmatching.enabled¶
Esse parâmetro define se o postmatching está ativo para buscas reversas de latente, buscas regulares de latente e buscas contra latentes não resolvidas já registradas.
Valor Padrão:
false
Valores Possíveis:
true
false
3.73. gbds.rdb.driverClassName¶
Esse parâmetro define o nome de classe para o banco de dados relacional que será usado para armazenar as latentes não resolvidas. Esse valor deve ser definido entre aspas duplas.
Valor Padrão:
"com.mysql.jdbc.Driver"
3.74. gbds.rdb.url¶
Esse parâmetro define a URL do banco de dados relacional a ser acessado. Esse valor deve ser definido entre aspas duplas.
Valor Padrão:
"jdbc:mysql://<address>:<port>/gbds"
3.75. gbds.rdb.username¶
Esse parâmetro define o usuário a ser usado no banco de dados relacional. Esse valor deve ser definido entre aspas duplas.
Valor Padrão:
"root"
3.76. gbds.rdb.password¶
Esse valor define a senha a ser usada para acessar o banco de dados relacional. Esse valor deve ser definido entre aspas duplas.
3.77. gbds.rdb.dialect¶
Esse parâmetro define o dialeto a ser usado no banco de dados relacional. Esse valor deve ser definido entre aspas duplas.
Valor Padrão:
"org.hibernate.dialect.MySQLDialect"
3.78. gbds.rdb.showSql¶
Esse parâmetro define se as declarações do SQL devem ser incluídas nos logs da aplicação.
Valor Padrão:
true
Valores Possíveis:
true
false
3.79. gbds.rdb.maxPoolSize¶
Esse parâmetro define o número máximo de conexões que uma pool irá manter.
Valor Padrão:
100
3.80. gbds.rdb.minPoolSize¶
Esse parâmetro define o número mínimo de conexões que uma pool irá manter.
Valor Padrão:
1
3.81. gbds.rdb.initialPoolSize¶
Esse parâmetro define o número de conexões que uma pool tentará adquirir na inicialização. Esse valor deve ser um valor entre gbds.rdb.minPoolSize e gbds.rdb.maxPoolSize.
Valor Padrão:
2
3.82. gbds.rdb.maxStatments¶
Esse parâmetro define o tamanho do cache global do PreparedStatement do c3p0. Se tanto o gbds.rdb.maxStatments e o gbds.rdb.maxStatementsPerConnection forem zero, o statement caching não será habilitado. Se o gbds.rdb.maxStatments for zero, mas gbds.rdb.maxStatementsPerConnection for diferente de zero, o statement caching será habilitado, mas nenhum limite global será forçado, apenas o máximo por conexão.
Esse parâmetro controla o número total de statements em cache para todas conexões. Se maior que zero, deve ser um número significativamente grande, pois cada conexão em pool requer seu próprio conjunto distinto de statements em cache. Como um guia, considere quantos PreparedStatements distintos são usados frequentemente em sua aplicação, então multiplique esse número por gbds.rdb.maxPoolSize para chegar a um valor apropriado.
Valor Padrão:
0
3.83. gbds.rdb.maxIdleTime¶
Esse parâmetro define, em segundos, quanto tempo a conexão pode ser agrupada, mas não utilizada antes de ser descartada. Zero significa que as conexões inativas nunca expiram.
Valor Padrão:
1800
3.84. gbds.rdb.maxConnectionAge¶
Esse parâmetro define, em segundos, o tempo de vida de uma conexão. Uma conexão anterior a gbds.rdb.maxConnectionAge será destruída e removida do pool. Isso difere de gbds.rdb.maxIdleTime porque se refere à idade absoluta. Mesmo uma conexão que não esteve muito ociosa será removida do pool se exceder gbds.rdb.maxConnectionAge. Zero significa que nenhuma idade máxima absoluta é aplicada.
Valor Padrão:
1800
3.85. gbds.rdb.statementCacheNumDeferredCloseThreads¶
Se configurado com um valor maior que 0, o statement cache rastreará quando as conexões estiverem em uso e apenas destruirá os statements quando suas Conexões-pai não estiverem em uso. Embora o fechamento de um statement enquanto a conexão-pai está em uso esteja formalmente dentro das especificações, alguns bancos de dados e/ou drivers JDBC, mais notavelmente Oracle, não lidam bem com o caso e congelam, levando a deadlocks. Definir este parâmetro com um valor positivo deve eliminar o problema. Este parâmetro só deve ser definido se você observar que as tentativas de c3p0 para fechar (close()) os statements armazenadas em cache congelam (normalmente, você verá DEADLOCKS APARENTES em seus logs). Se definido, este parâmetro deve quase sempre ser definido como 1.
Valor Padrão:
1
3.86. gbds.rdb.acquireIncrement¶
Determina quantas conexões por vez c3p0 tentará adquirir quando o pool se esgotar.
Valor Padrão:
10
3.87. gbds.rdb.testConnectionOnCheckout¶
Se true, uma operação será executada em cada verificação de conexão para checar se a conexão é válida. Testar conexões em checkout é a forma mais simples e confiável de teste de conexão, mas para melhor desempenho, considere verificar as conexões periodicamente usando gbds.rdb.idleConnectionTestPeriod.
Valor Padrão:
false
3.88. gbds.rdb.testConnectionOnCheckin¶
Se true, uma operação será executada de forma assíncrona em cada entrada de conexão para verificar se a conexão é válida. Use em combinação com gbds.rdb.idleConnectionTestPeriod para um teste de conexão sempre assíncrono e bastante confiável.
Valor Padrão:
true
3.89. gbds.rdb.acquireRetryAttempts¶
Define quantas vezes c3p0 tentará adquirir uma nova conexão do banco de dados antes de desistir. Se este valor for menor ou igual a zero, c3p0 continuará tentando buscar uma conexão indefinidamente.
Valor Padrão:
10
3.90. gbds.rdb.idleConnectionTestPeriod¶
Se esse número for maior que 0, c3p0 irá testar todas as conexões ociosas, na pool, mas não verificadas, a cada quantidade de segundos definida nesse parâmetro.
Valor Padrão:
30
3.91. gbds.biometric.newborn-palmprint.enabled¶
Esse parâmetro é usado para determinar se a palmar de recém-nascidos é o objeto de busca prioritário.
Valor Padrão:
false
3.92. gbds.biometric.newborn-palmprint.exception.enabled¶
Esse parâmetro define se a palmar de recém-nascidos deve ser considerada na geração de exceções de cadastro (enrollment).
Valor Padrão:
false
3.93. gbds.biometric.newborn-palmprint.identify.threshold¶
Esse parâmetro define a pontuação mínima de coincidências para uma comparação de palmar de recém-nascidos ser considerada um casamento (match) durante a operação de busca.
Valor Padrão:
50
3.94. gbds.cluster.recovery.qtd.scanners¶
Número de scanner para recuperação de cluster.
Valor Padrão::
5
3.95. gbds.cluster.recovery.qtd.getters¶
Número de getters para recuperação de cluster. Esse parâmetro não é mais usado na versão 3.2x ou acima.
Valor Padrão::
2
3.96. gbds.cluster.recovery.shuffler.block.window.size¶
Número do tamanho da janela do bloco do shuffler (tamanho do buffer do shuffler) para recuperação do cluster.
Valor Padrão::
100
3.97. gbds.router.virtual-nodes.number¶
Esse parâmetro define o número de nodos virtuais.
Valor Padrão::
100
3.98. gbds.biometric.best-of-biometrics.enabled¶
Esse parâmetro habilita o best-of-biometrics. Quando habilitado, o conjunto de biometrias da pessoa é a consolidação das melhores biometrias obtidas de todas as transações da pessoa ao longo do tempo.
Warning
Essa flag DEVE ter o mesmo valor nas configurações do GBDS e da API do GBDS.
Valor Padrão:
false
3.99. gbds.biometric.remove-inactive-people-from-enroll-result¶
Este parâmetro define se perfis inativos devem ser removidos dos resultados de enroll.
Valor Padrão:
false
3.100. gbds.transparency.search.identify.result.notify.enabled¶
Este parâmetro habilita o serviço de notificação por email, que envia as notificações de resultados de pesquisa com pessoas de interesse.
Valor Padrão:
false
3.101. gbds.searches.verify.saveOnRdb.enabled¶
Define se a operação de verificação será salva na tabela gbds.transaction
do RDB.
Valor Padrão:
true
Danger
Esse valor deve ser o mesmo no application.conf
e no gbdsapi.properties
3.102. gbds.searches.identify.saveOnRdb.enabled¶
Define se a operação de identificação será salva na tabela gbds.transaction
do RDB.
Valor Padrão:
true
Danger
Esse valor deve ser o mesmo no application.conf
e no gbdsapi.properties
3.104. gbds.memory-monitor¶
Adiciona aos logs o uso de memória da JVM a cada 10 segundos.
Valor Padrão:
false
3.105. gbds.watchdog.interval¶
Define, em minutos, o intervalo de tempo para os logs de watchdog.
Valor Padrão:
1
Valor Máximo:
60
3.106. gbds.watchdog.log.mode¶
Define o modo de log do watchdog.
Valor Padrão:
TGUID_MATCHER_MAP
Valores Possíveis:
TGUID_MATCHER_MAP
MATCHER_TGUID_MAP
3.107. gbds.watchdog.log.level¶
Define o level de log do watchdog.
Valor Padrão:
DEBUG
Valores Possíveis:
DEBUG
INFO
3.108. gbds.verifyPostMatch.enabled¶
Liga ou desliga a verificação pós-match em transações de cadastro com exceções.
Valor Padrão:
true
Valores Possíveis:
true
,false
3.109. gbds.search.verify.adjust-resolution¶
Quando essa configuração está ativada, verificações e atualizações na API e a verificação pós-match no GBDS ajustarão a resolução realizando uma verificação de correspondência, diminuindo a pontuação em dedos e palmas.
Valor Padrão:
true
Valores Possíveis:
true
,false
3.110. gbscluster.update.consider.fingerprints¶
Esse parâmetro define se digitais devem ser consideradas ao gerar exceções de atualização.
Valor Padrão:
true
Possible values:
true
,false
3.111. gbscluster.update.consider.faces¶
Esse parâmetro define se imagens de face devem ser consideradas ao gerar exceções de atualização.
Valor Padrão:
false
Possible values:
true
,false
3.112. gbscluster.update.consider.faces.beforeFingerprints¶
Esse parâmetro define se as faces devem ser analisadas antes das impressões digitais ao gerar exceções de atualização. Se false
, a análise de face é feita após a análise da impressão digital.
Valor Padrão:
false
Valores Possíveis:
true
,false
3.113. gbscluster.update.faces.verify.matchthreshold¶
Esse parâmetro define o limiar a ser usado durante a comparação de biometrias faciais em operações de busca. Definir um valor alto para esse parâmetro pode, possivelmente, resultar em um aumento de ocorrências de falsos negativos.
Valor Padrão:
60
3.114. gbscluster.update.minimum.fingers¶
Esse parâmetro define o número mínimo de casamentos entre dedos necessário para uma operação de “atualização” ser aceita.
Valor Padrão:
4
4. Configuração do Serializador de Templates¶
Essa seção descreve os parâmetros de configuração relacionados ao serializador de templates. Esses parâmetros de configuração são projetados para permitir o uso do GBDS Batch Extractor.
See also
Veja o manual do GBDS Batch Extractor para informações adicionais sobre seu uso.
Sempre que o GBDS realizar uma operação de cold boot, ele tentará recuperar os templates de uma família de colunas padrão. Se o template não existir nessa coluna, o GBDS tentará recuperá-lo da família de colunas de reserva.
Os parâmetros de configuração do serializador são:
4.1. Família de Colunas Padrão¶
Esses parâmetros são divididos por modalidades biométricas. Os templates nessa família de colunas não possuem codificação e o formato usado é de 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
O valor padrão para esses parâmetros é tpt
.
4.2. Família de Colunas Reserva¶
Esses parâmetros referem-se às famílias de colunas anteriormente usadas para armazenar os templates biométricos. São separados por modalidade 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
Os valores padrão representam as famílias de colunas
usadas antes da mudança desses parâmetros, e são,
respectivamente: fingerprints
, palmprints
,
faces
e iris
.
4.3. Codificação Reserva em base64¶
A família de colunas reserva suporta codificação. Os parâmetros a seguir definem se a família de colunas é codificada em 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
O valor padrão para esses parâmetros é true
.
4.4. gbds.template.memory.format¶
Define como o GBDS irá armazenas os templates na memória e nos matchers.
As opções são:
DESERIALIZED_FULL
: Opção padrão. Os templates são armazenados deserializados com minúcias e segmentações.SERIALIZED_MINUTIAE_SEGMENTS
: Os templates são armazenados deserializados com minúcias e segmentações.SERIALIZED_MINUTIAE
: Os templates são armazenados serializados somente com minúcias. As segmentações sãO re-extraídas do template a cada busca feita. Essa opção aumenta o tempo de procuras 1:N.OPTIMIZED
: Usa um novo formato otimizado de template para reduzir degradação de desempenho ao longo do tempo em buscas.
4.5. Pré-alocação de memória¶
Define a quantidade de memória pré-alocada para cada modalidade.
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
O valor padrão para cada configuração é 0
.
O sistema entende Kilobytes (k
, kb
), Megabytes (m
, mb
) e Gigabytes (g
, gb
), sem distinção de maiúsculas de minúsculas.
O valor é dividido igualmente entre todos os matchers do nó.
Note
Face e íris não podem ser pré-alocadas.
4.6. Microsserviços de Match¶
Esta seção apresenta os parâmetros de configuração referentes aos microsserviços de match.
A configuração dos microsserviços é única para cada nó do cluster.
4.6.1. gbds.match.service.enabled¶
Define se o microsserviço de match está habilitado.
Valor Padrão:
false
Valores Possíveis:
true
false
4.6.2. gbds.match.service.initialPort¶
Define a porta inicial para iniciar os serviços de match no nó.
Valor Padrão:
32000
4.6.3. gbds.match.service.logLevel¶
Define o nível de log do serviço de match no GBDS. Os diferentes níveis de log são:
- NONE
- Não gera logs sobre o serviço
- INFO
- Loga os scripts e as URLs de request
- TIME
- Loga os scripts, as URLs de request e o tempo de execução
- DEBUG
- Loga todas as informações do serviço
Valor Padrão:
NONE
Valores Possíveis
INFO
TIME
DEBUG
4.6.4. gbds.match.service.timeout¶
Define o timeout máximo para requests ao microsserviço de match, em milissegundos.
Valor Padrão:
10000
4.6.5. gbds.match.service.templateSend.parallelByModality¶
Habilita o processamento paralelo por modalidade biométrica no GBDS.
Valor Padrão:
true
Valores Possíveis:
true
false
4.6.6. gbds.match.service.linkLibSegfault¶
Este parâmetro habilita o rastreamento de falhas de segmentação no microsserviço de match.
Valor Padrão:
false
Valores Possíveis:
true
false
4.6.7. gbds.match.service.maxTries¶
Quando um microsserviço de match tem um erro de conexão, tenta 3 vezes antes de falhar a transação, esperando 2s entre as tentativas.
Valor Padrão:
3
4.6.8. gbds.match.service.maxConnectionErrors¶
Quando um microsserviço de match tem 5 transações com erro de conexão seguidas, para o GBDS para prevenir falhas em todas as transações a partir desse ponto.
Valor Padrão:
5
4.6.9. gbds.match.service.checkTimeoutSecs¶
Timeout (em segundos) para verificar se o microsserviço de match foi criado.
Valor Padrão:
10