Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porLorenzo Gutiérrez Macías Modificado hace 8 años
1
AggOperator Query TupleRouterM DBBufferC RandomLPSR QueryResult Selperator Tuple TinyDBAttr TimerC MainC NetworkC AttrGlobal AttrTemp AttrPot AttrPhoto AttrVoltage AttrAccel AttrMag ADC Components TinyAlloc PotC GenericComm ParsedQuery AdminHistórico
5
TupleRouterM TimerC fired() NetworkC DBBufferC RadioQueue RAM EEPROM ADC Components
6
¿El atributo corresponde al histórico? Insertar valor en el histórico Sí No ¿Atributo sin dato? Sí No Fin …
7
1.2: Muestrear datos 1.3: Llenar tuplas 1.4: ¿Agregar? 1.4: ¿Agregar? 1.6: ¿Agregar? 1.5: Operador de selección 1.7: Operador de agregación Epoch NoSí No 1.1 Identificar consultas Arribo de resultados hijos D D
8
1.2: Muestrear datos 1.3: Llenar tuplas e insertar en histórico 1.4: ¿Agregar? 1.4: ¿Agregar? 1.6: ¿Agregar? 1.5: Operador de selección 1.7: Operador de agregación Epoch NoSí No 1.1 Identificar consultas Arribo de resultados hijos D D
9
Arribo de mensaje de consulta Fin Crear representación compacta de consulta ¿Todos los mensajes? No Sí Arribo de mensaje de consulta Fin Crear representación compacta de consulta ¿Todos los mensajes? No Sí ¿Identificad or distinto de cero? Encender variable de control No Sí
10
¿Variable de control? ¿Idle? ¿Agregar? …
11
1.3: Llenar tuplas e insertar en Histórico 1.3: Llenar tuplas e insertar en Histórico 1.4: ¿Agregar? 1.4: ¿Agregar? 1.7: Operador de agregación NoSí 2.1 ¿idle? 2.1 ¿idle? … epoch No Enviar No Sí 1.5: Operador de selección 1.6: ¿Radio? 1.6: ¿Radio?
12
Slots libres Slots llenos Slots libres Siguiente libre Siguiente ocupado Inicio Siguiente lleno Siguiente libre Inicio
13
Muestrear datos ¿Agregar? Guardar EEPROM Guardar EEPROM Evento de reloj No Procesar consultas Entrega de tuplas Llenar tupla Arribo resultados hijos Sí ¿Agregar? Operador de Selección Operador de Agregación Sí ¿Radio? No ¿Idle? No Sí Enviar
14
Epoch 1. Procesar consultas 2. Entrega de tuplas
15
Epoch 2.1 ¿Radio? 2.1 ¿Radio? No 2.3 ¿Idle? 2.3 ¿Idle? No Sí D D 2.2 Guardar EEPROM 2.4 Enviar Sí
16
Epoch 2.1 ¿Radio? 2.1 ¿Radio? No 2.4 ¿Idle? 2.4 ¿Idle? No Sí D D 2.2 Guardar EEPROM 2.6 Enviar Sí 2.3 ¿Agregación? 2.3 ¿Agregación? 2.5 ¿Variable de control? 2.5 ¿Variable de control? No Sí No
17
Muestrear datos ¿Agregar? Evento de reloj No Procesar consultas Entrega de tuplas Llenar tupla Arribo resultados hijos Sí ¿Agregar? Operador de Selección Operador de Agregación No S S
18
Muestrear ¿Agregar? Guardar EEPROM/RAM Evento de reloj No Procesar consultas Entrega de tuplas Llenar tupla Arribo resultados hijos Sí ¿Agregar? Operador de Selección Operador de Agregación Sí ¿Radio? No ¿Idle? No Sí Enviar
19
Nueva inserción ¿Grano == 1?
20
PC QB1 Light QB2 Temp QB líder QB líder QB3 Light QB4 Temp QB5 Light QB6 Temp Mote 1 Mote 2 Mote 3 QB líder QB líder QB líder QB líder
21
ADMINISTRADOR DE HISTÓRICO IAdministraciónH
22
D.1: ¿Radio? D.1: ¿Radio? Guardar EEPROM/RAM F: ¿Idle? F: ¿Idle? Enviar Sí No SíNo A.2: Muestrear datos A.3: Llenar tuplas C: ¿Agregar? C: ¿Agregar? C.2: Operador de selección C.1: Operador de agregación Epoch No Sí No B.1 ¿Consulta dispara ahora? Por cada consulta Fin ¿Resultados hijos? ¿Agregar?
23
uint8_t qid; //1 uint8_t numFields; //2 uint16_t epochDuration uint16_t clocksPerSample; int16_t clockCount; //11 bool hasAgg:1; // -- are there aggregates in this query char bufferType; //see Buffer.h:BufferType //25 uint8_t bufferId; //26 -- output buffer id
24
Red de sensores Recolector Aplicación Persistencia
26
1 *1*1
27
AggOperator Query TupleRouterM DBBufferC QueryResult Selperator Tuple TinyDBAttr TimerC NetworkC TinyAlloc ParsedQuery QueryProcessor StdControl RadioQueue TinyDB
28
epoch 1epoch 2epoch 3… epoch 65,535 … 2048 << 650,000
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.