1. Fluxos PSBio

Este documento descreve brevemente os fluxos de tratamento das operações de Search, Enroll, Update e Delete no PSBio.

1.2. Enroll

Fluxo de Enroll no PSBio
  1. Ao receber uma requisição de cadastro (Enroll), o PSBio retorna um status inicial de ENROLL_IN_PROGRESS.

  2. Os dados do cadastros são pesquisados na Blacklist. Em caso de match biométrico, a transação é concluída com a recusa do cadastro e status ENROLL_ANOMALY_BLACKLIST.

  3. O IDN do cadastro é consultado nos demais PSBios com uma chamada IDN_Query. Se o IDN for encontrado, a transação é concluída com recusa do cadastro e status ENROLL_FAILED.

  4. As biometrias são buscadas na base local e no cache. Se forem encontradas, a transação terá resposta ENROLL_ANOMALY e o PSBio aguardará o tratamento da exceção para concluir a transação. Caso o match ocorra no cache, é enviado um pacote IDE para atualizar os demais PSBios.

  5. Um pacote IDE é enviado aos demais PSBios para sincronizar os caches e o status é alterado para ENROLL_CACHE_OK. Quando as respostas VRE forem recebidas, o status muda para ENROLL_OK e a transação é concluída.

1.3. Update

Fluxo de Update no PSBio
  1. Ao receber uma requisição de atualização (Update), o PSBio retorna um status inicial de UPDATE_IN_PROGRESS.

  2. Os dados do cadastros são pesquisados na Blacklist. Em caso de match biométrico, a transação é concluída com a recusa do update e status UPDATE_ANOMALY_BLACKLIST.

  3. O IDN do cadastro é consultado na base e cache locais, e também nos demais PSBios com uma chamada IDN_Query. Se o IDN não for encontrado, a transação é concluída com recusa do update e status UDPATE_FAILED.

  4. Verifica-se qual PSBio detem o cadastro original. Se for outro PSBio, o update é recusado com status UPDATE_REFUSED.

  5. Se o cadastro é deste PSBio, a transação continua sendo processada: verifica-se se há exceção pendente para o cadastro original. Se houver, o status é alterado para UPDATE_REFUSED, o update é recusado e a transação é concluída.

  6. É feita a verificação biométrica dos dados biométricos do update com o cadastro original. Se não houver match, o status é alterado para UPDATE_ANOMALY, e a transação ficará pendente até que a exceção seja tratada.

  7. Se der match, verifica-se se há digitais novas. Se não houver, o update é realizado como um TRUSTED_ENROLL, o status é alterado para UPDATE_OK e a transação é concluída.

  8. Se há digitais novas: elas são buscadas na blacklist. Se encontradas, o update é recusado com status UPDATE_ANOMALY_BLACKLIST e a transação é concluída.

  9. As digitais novas são buscadas na base local e no cache. Se não forem encontradas, ou forem encontradas com posições (índices) trocados do mesmo indivíduo, o update é realizado. Um pacote IDE é enviado para os outros PSBios (para atualizar seus caches). O status é temporarariamente alterado para CACHE_OK, dependendo de haver ou não PSBios indisponíveis. O update é realizado, o status alterado para UPDATE_OK e a transação é concluída.

  10. Se as digitais novas forem encontradas em um indivíduo distinto, o update não é realizado, o status é alterado para UPDATE_ANOMALY e a transação ficará pendente até que a exceção seja tratada.

1.4. Delete

Fluxo de Delete no PSBio
  1. Ao receber uma requisição de remoção (Delete), o PSBio verifica se o cadastro original pertence a este PSBio. Se não, a remoção é recusada com status DELETE_NOT_OK.

  2. Se o cadastro é deste PSBio, o status é alterado para DELETE_PENDING e ele é removido da base local e do cache local.

  3. O PSBio notifica a remoção a todos os demais PSBios, que devem remover o cadastro do cache e revogar sua validade. O PSBio aguarda a confirmação de recebimento do de todos os demais PSBios. Após receber todas as confirmações, altera o status para DELETE_OK e finaliza o fluxo.