Consultas de Dados de Playback

<< Clique para Mostrar o Sumário >>

 

Consultas de Dados de Playback

A quantidade de dados disponível para playback pode ser enorme, dependendo do aplicativo. Para tornar a navegação de Telas mais suave, o E3Playback executa consultas ao banco de dados em períodos de tempo chamados Fatias.

Cada fatia de dados de playback tem uma largura fixa de um dia. Sempre que o relógio é posicionado em uma determinada data e hora, o E3Playback cria ou encontra a fatia de tempo que contém a data e hora atual. Cada fatia de dados possui as seguintes informações:

Período de tempo da fatia (data e hora inicial e final)

Uma lista dos Tags que já têm os seus dados carregados na fatia

Para cada Tag armazenado em uma fatia, são mantidos os seguintes dados:

O último evento do Tag anterior ao início da fatia

Todos os eventos do Tag dentro do intervalo da fatia

O próximo evento do Tag após o final da fatia

O sumário de alarmes no momento do início da fatia

Todos os eventos de alarmes que ocorreram durante o intervalo da fatia

O próximo evento de alarme de cada Fonte de Alarme após o final da fatia

 

Quando o relógio de playback é movido sobre uma fatia de tempo, o E3Playback analisa se todos os Tags necessários já estão carregados na fatia, e se todas as informações de alarme também já foram carregadas. Se estiver faltando algum dado, então é gerada uma consulta assíncrona para carregar os dados necessários do banco de dados. Uma consulta de dados de playback é composta dos seguintes parâmetros:

Período que vai ser consultado (data e hora inicial e final)

Conjunto de Tags que devem ser consultados (pode estar vazio). Para cada Tag deve ser retornado:

O último evento anterior ao início da consulta

Todos os eventos ocorridos durante o período da consulta

O próximo evento que ocorreu após o período da consulta

Informações de alarmes que devem ser consultadas, que podem ser zero ou mais das seguintes opções:

Sumário de alarmes anterior (estado de cada Fonte de Alarme na data e hora inicial da consulta)

Eventos de alarmes no período

Sumário de alarmes posterior (próximo evento de cada Fonte de Alarme após a data e hora final do período)

 

Para executar uma consulta a dados de playback, normalmente são necessárias várias consultas ao banco de dados. O servidor de dados de playback efetua estas consultas de forma assíncrona e em um thread separado, coleta os dados e só os retorna quando todas as consultas tiverem terminado.

Quando uma consulta de playback é completada, os dados são imediatamente adicionados à fatia correspondente e o E3Playback automaticamente dispara consultas para atualizar as fatias vizinhas. Desta forma, à medida que o relógio de playback avança, as consultas de dados vão sendo realizadas, e quando o relógio passa para a próxima fatia é bem provável que esta já tenha todos os seus dados carregados.

Caso o relógio de playback esteja no modo Reproduzir Reproduzir e entre em uma fatia sem dados ou com dados incompletos, o E3Playback permanece temporariamente pausado aguardando até que as consultas daquela fatia sejam completadas.

O E3Playback também busca minimizar o acesso ao banco de dados, aproveitando as informações dos campos Último evento anterior, Próximo evento após, Sumário anterior e Sumário posterior para evitar que estes dados sejam consultados novamente. Por exemplo:

Se uma consulta a um Tag não retornou o próximo evento após o período da consulta, é sinal de que este Tag não possui nenhum evento após a data e hora final da consulta, e portanto este Tag não precisa ser consultado nas fatias de tempo posteriores

Se uma consulta retornou o sumário anterior, eventos de alarmes no período e o sumário posterior para uma fatia, é possível calcular o sumário anterior da próxima fatia simplesmente combinando o sumário anterior e os eventos ocorridos durante a fatia atual. Desta forma, torna-se desnecessário consultar no banco de dados o sumário anterior da próxima fatia

Esta página foi útil?