Tuple StoreSistemasDistribuídos – MEILuís Ferreira, Fábio Silva, Tiago Sá11/29/09
ApresentaçãoArquitecturado SistemaGeralServidor centralServidorsecundárioClienteTratamento de DadosComunicaçãoPersistênciaConcorrênciaOperaçõesPUTGETInterface do SistemaConclusão11/29/09TriviUM - Sistemas Distribuídos2
Arquitectura - Geral11/29/09TriviUM - Sistemas Distribuídos3
Arquitectura - GeralServidor CentralAtende/Responde a pedidos do clienteDistribui/BalanceiaosblocospelosservidoressecundáriosIndica a localização dos dados associadosàschavesServidorSecundárioArmazena/Retornaosblocos de dadosEnviainformação de controloaoservidor centralClienteAPI quedisponibilizaoperações de PUT/GET11/29/09TriviUM - Sistemas Distribuídos4
Arquitectura – Servidor CentralRecebepedidos de localização de dados associados a chavesAtribuiservidoressecundáriosparaguardar dados associados a chavesBalanceia a carga dos servidoressecundários11/29/09TriviUM - Sistemas Distribuídos5
Arquitectura – ServidorSecundárioLança Dispatcher porcadaclienteArmazena dados de forma persistenteSynchronizer enviainformação de controloaoservidor centralMensagens Dispatcher-Syncrhonizerenviadasatravés de queue11/29/09TriviUM - Sistemas Distribuídos6
Arquitectura - Cliente2 threads porconexão a SlaveUmatrata das leiturasOutra tem um buffer de escritasQuandonãosãoutilizadas, as ligaçõessãoterminadaspelocliente11/29/09TriviUM - Sistemas Distribuídos7
Tratamento de Dados -ComunicaçãoJava.nioSelectorByteBufferPacotesEstruturafixa do cabeçalhoIndicartamanho dos camposvariáveis11/29/09TriviUM - Sistemas Distribuídos8
Tratamento de Dados - PersistênciaCentral:Informação dos váriossecundáriosSecundário:Persisteestado de espaçousadoFicheiros com dados dos blocos11/29/09TriviUM - Sistemas Distribuídos9
Tratamento de Dados - Concorrência11/29/09TriviUM - Sistemas Distribuídos10
Operações - PUTEnvia as chaves dos blocos a escreverao centralLiga-se a secundáriosdeterminadospelo centralEnvia N pacotes a cadaservidorsecundário11/29/09TriviUM - Sistemas Distribuídos11
Operações - GETEnviaas chaves dos blocosquequerrecuperarLiga-se a secundáriosdeterminadospelo centralEnvia a cadasecundárioas chaves dos blocosquequerrecuperarRecebe N blocos11/29/09TriviUM - Sistemas Distribuídos12
ConclusãoDúvidas?Obrigado!11/29/09TriviUM - Sistemas Distribuídos13

Tuplestore

  • 1.
    Tuple StoreSistemasDistribuídos –MEILuís Ferreira, Fábio Silva, Tiago Sá11/29/09
  • 2.
    ApresentaçãoArquitecturado SistemaGeralServidor centralServidorsecundárioClienteTratamentode DadosComunicaçãoPersistênciaConcorrênciaOperaçõesPUTGETInterface do SistemaConclusão11/29/09TriviUM - Sistemas Distribuídos2
  • 3.
    Arquitectura - Geral11/29/09TriviUM- Sistemas Distribuídos3
  • 4.
    Arquitectura - GeralServidorCentralAtende/Responde a pedidos do clienteDistribui/BalanceiaosblocospelosservidoressecundáriosIndica a localização dos dados associadosàschavesServidorSecundárioArmazena/Retornaosblocos de dadosEnviainformação de controloaoservidor centralClienteAPI quedisponibilizaoperações de PUT/GET11/29/09TriviUM - Sistemas Distribuídos4
  • 5.
    Arquitectura – ServidorCentralRecebepedidos de localização de dados associados a chavesAtribuiservidoressecundáriosparaguardar dados associados a chavesBalanceia a carga dos servidoressecundários11/29/09TriviUM - Sistemas Distribuídos5
  • 6.
    Arquitectura – ServidorSecundárioLançaDispatcher porcadaclienteArmazena dados de forma persistenteSynchronizer enviainformação de controloaoservidor centralMensagens Dispatcher-Syncrhonizerenviadasatravés de queue11/29/09TriviUM - Sistemas Distribuídos6
  • 7.
    Arquitectura - Cliente2threads porconexão a SlaveUmatrata das leiturasOutra tem um buffer de escritasQuandonãosãoutilizadas, as ligaçõessãoterminadaspelocliente11/29/09TriviUM - Sistemas Distribuídos7
  • 8.
    Tratamento de Dados-ComunicaçãoJava.nioSelectorByteBufferPacotesEstruturafixa do cabeçalhoIndicartamanho dos camposvariáveis11/29/09TriviUM - Sistemas Distribuídos8
  • 9.
    Tratamento de Dados- PersistênciaCentral:Informação dos váriossecundáriosSecundário:Persisteestado de espaçousadoFicheiros com dados dos blocos11/29/09TriviUM - Sistemas Distribuídos9
  • 10.
    Tratamento de Dados- Concorrência11/29/09TriviUM - Sistemas Distribuídos10
  • 11.
    Operações - PUTEnviaas chaves dos blocos a escreverao centralLiga-se a secundáriosdeterminadospelo centralEnvia N pacotes a cadaservidorsecundário11/29/09TriviUM - Sistemas Distribuídos11
  • 12.
    Operações - GETEnviaaschaves dos blocosquequerrecuperarLiga-se a secundáriosdeterminadospelo centralEnvia a cadasecundárioas chaves dos blocosquequerrecuperarRecebe N blocos11/29/09TriviUM - Sistemas Distribuídos12
  • 13.