1 / 39

AggOperator

ADC Components. AttrMag. MainC. AttrGlobal. AttrAccel. TinyAlloc. TinyDBAttr. TimerC. AttrVoltage. RandomLPSR. AttrPhoto. HistóricoM. AttrTemp. NetworkC. TupleRouterM. AttrPot. PotC. DBBufferC. Tuple. AggOperator. GenericComm. Selperator. QueryResult. Query. ParsedQuery.

kumiko
Download Presentation

AggOperator

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ADC Components AttrMag MainC AttrGlobal AttrAccel TinyAlloc TinyDBAttr TimerC AttrVoltage RandomLPSR AttrPhoto HistóricoM AttrTemp NetworkC TupleRouterM AttrPot PotC DBBufferC Tuple AggOperator GenericComm Selperator QueryResult Query ParsedQuery

  2. ADC Components AttrMag MainC AttrGlobal AttrAccel TinyAlloc TinyDBAttr TimerC AttrVoltage RandomLPSR AttrPhoto AttrTemp NetworkC TupleRouterM AttrPot PotC DBBufferC Tuple AggOperator GenericComm Selperator Query QueryResult ParsedQuery

  3. ADMINISTRADOR DE HISTÓRICO IAdministraciónH 1 *

  4. TimerC ADC Components NetworkC fired() RadioQueue TupleRouterM RAM DBBufferC EEPROM

  5. ¿Atributo sin dato? Sí No ¿El atributo corresponde al histórico? No Sí Insertar valor en el histórico Fin

  6. Epoch Arribo de resultados hijos 1.1 Identificar consultas 1.6: ¿Agregar? No 1.2: Muestrear datos 1.3: Llenar tuplas Sí 1.4: ¿Agregar? No Sí 1.7: Operador de agregación 1.5: Operador de selección D

  7. Epoch Arribo de resultados hijos 1.1 Identificar consultas 1.6: ¿Agregar? No 1.2: Muestrear datos 1.3: Llenar tuplase insertar en histórico Sí 1.4: ¿Agregar? No Sí 1.7: Operador de agregación 1.5: Operador de selección D

  8. Nuevo mensaje de consulta Arribo de mensaje de consulta ¿Identificador distinto de cero? ¿Todos los mensajes? No Sí Encender variable de control No Sí ¿Todos los mensajes? No Crear representación compacta de consulta Crear tupla de resultado Sí Crear representación compacta de consulta Fin Fin

  9. ¿Agregar? ¿Variable de control? ¿Idle?

  10. 1.3: Llenar tuplas e insertar en Histórico 1.4: ¿Agregar? No Sí 1.5: Operador de selección 1.7: Operador de agregación 1.6: ¿Radio? Sí No 2.1 ¿idle? epoch Sí Enviar No

  11. Inicio Inicio Slots llenos Slots libres Siguiente libre Siguiente ocupado Slots libres Slots llenos Siguiente lleno Siguiente libre Slots llenos Slots libres

  12. Evento de reloj Procesar consultas Entrega de tuplas Arribo resultados hijos Muestrear datos ¿Agregar? No Sí ¿Agregar? No Llenar tupla Operador de Selección Operador de Agregación ¿Radio? Sí No No Guardar EEPROM ¿Idle? Sí Enviar

  13. Epoch 1. Procesar consultas 2. Entrega de tuplas

  14. D 2.1 ¿Radio? Sí No No 2.3 ¿Idle? 2.2 Guardar EEPROM Sí 2.4 Enviar Epoch

  15. D 2.1 ¿Radio? 2.3 ¿Agregación? Sí No No Sí 2.5 ¿Variable de control? 2.2 Guardar EEPROM Sí No 2.4 ¿Idle? Sí No 2.6 Enviar Epoch

  16. Evento de reloj Procesar consultas Entrega de tuplas Arribo resultados hijos Muestrear datos ¿Agregar? No Sí ¿Agregar? No Llenar tupla Operador de Agregación Operador de Selección S

  17. Evento de reloj Procesar consultas Entrega de tuplas Arribo resultados hijos Muestrear ¿Agregar? No Sí ¿Agregar? No Llenar tupla Operador de Selección Operador de Agregación ¿Radio? Sí No No Guardar EEPROM/RAM ¿Idle? Sí Enviar

  18. Nueva inserción ¿Grano == 1?

  19. Estación central QB 2 Luz QB 1 QB 3 Luz Luz

  20. ADMINISTRADOR DE HISTÓRICO IAdministraciónH

  21. Epoch B.1 ¿Consulta dispara ahora? ¿Resultados hijos? Por cada consulta Fin A.2: Muestrear datos A.3: Llenar tuplas No ¿Agregar? ¿Agregar? Sí C.1: Operador de agregación C: ¿Agregar? No Sí C.2: Operador de selección D.1: ¿Radio? F: ¿Idle? No Sí Guardar EEPROM/RAM No Sí Enviar

  22. uint8_t qid; //1 uint8_t numFields; //2 uint16_t epochDuration uint16_t clocksPerSample; int16_t clockCount; //11 bool hasAgg:1; // -- are thereaggregates in thisquery charbufferType; //seeBuffer.h:BufferType //25 uint8_t bufferId; //26 -- output buffer id

  23. Red de sensores Persistencia Recolector Aplicación

  24. 1 1 * 1

  25. * 1 1 * * * 1

  26. * 1 1 * 1 1.. 65535

  27. 1 * 1 * 1 1 * 1 * 1 * 1 *

  28. 1 * 1 * 1 1 * 1 * 1 * 1 *

  29. * 1 1 1 * * 1 * 1 *

  30. TupleRouterM QueryProcessor AttrGlobal TimerC TinyAlloc StdControl TinyDBAttr Tuple Selperator RadioQueue NetworkC RandomLPSR AggOperator ParsedQuery QueryResult Query DBBufferC

  31. NetworkC ParsedQuery Tuple TupleRouterM Query newMessage() queryMessage() crear() query crear() crear() tuple parsedQuery

  32. Tuple TimerC TinyDBAttr SelOperator TupleRouterM newEpoch() a: muestrear() iniciado { a.Ejecución = por cada atributo} dato b: llenarAtributo() { b.Ejecución = por cada atributo} llenado procesarTupla() procesada

  33. NetworkC TimerC TinyDBAttr Tuple AggOperator TupleRouterM newEpoch() a: muestrear() { a.Ejecución = por cada atributo} dato b: llenarAtributo() { b.Ejecución = por cada atributo} llenado procesarTupla() newResult() recibido agregar() procesada

  34. TimerC QueryResult DBBuffer NetworkC TupleRouterM newEpoch() crear() iniciado() creado encolar() transmitir() transmitido transmitido endOfEpoch() terminado

More Related