Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoFerruccio Viviani Modificato 11 anni fa
1
Un esempio di sistema di data base distribuito La piattaforna e-learning di Indire Di Biondi Andrea
2
E-learning Le-learning di Indire è una piattaforma che ha lo scopo di insegnare ai professori delle scuole elementari e medie tematiche sulla nuova riforma della scuola. Utilizza il web come veicolo di apprendimento e le risorse utili alla formazione sono tutte caricate sulle pagine web. Architettura Client-Server
3
E-learning Classe virtuale: ogni professore fa parte di un gruppo di studenti diretto da un tutor (gruppo di circa 20 studenti). I professori della stessa classe fanno parte della stessa regione. Il professore può lavorare sulla piattaforma senza problemi di orario allora che vuole e senza il bisogno degli altri membri della classe e nemmeno del tutor. Il tutor ha il compito di validare (non valutare) gli elaborati del professore e stabilire ambienti di discussione (forum) per condividere il percorso che viene intrapreso che rimane uguale per tutti.
6
Formazione Il percorso formativo si sviluppa attraverso un percorso di circa 5 mesi in cui il professore svolge delle attività dal proprio pc, manda degli elaborati, interviene in discussioni. Ad ogni attività svolta con successo vengono attribuiti dei crediti
7
I crediti I crediti vengono attribuiti al professore: –In automatico: semplicemente scaricando dei testi, eseguendo delle applicazioni dal proprio pc (es: scaricare dal web un software e installarlo correttamente sul proprio pc) –Grazie al tutor che valida lelaborato del professore o dando dei crediti per i numerosi interventi sui forum
8
Gestione della proprio iter formativo La piattaforma dà la possibilità non solo di eseguire tutte le attività ma anche di aver disponibile sempre on-line il proprio iter formativo svolto, in cui si possono rileggere i propri elaborati e controllarne la validazione (Portfolio attività)
9
Cosa deve memorizzare la piattaforma? Anagrafe di tutti i professori (200.000) Contenuti per la creazione della piattaforma via web Gestione del login Gestire laccesso dei diversi utenti: tutor e professori Tenere il tracciamento delle attività del professore Gestione delle comunità virtuali Gestione dei forum Gestione degli elaborati
10
Architettura della piattaforma router Bilanciatore 2 switch Web 1Web 2Web 3…………Web 23 Bilanciatore 1 switch Oracle 1Oracle 2Oracle 3My sql upload Centra
11
Bilanciamento Ogni volta che si connette un utente questo deve essere assegnato ad una macchina web Dietro ogni ip che arriva può nascondersi o una rete o un singolo utente Criterio di assegnazione: si assegna lutente alla macchina meno carica, non si assegna in base al numero di utente di quella macchina ma in base al suo tempo di risposta.
12
Macchina web Ogni macchina web gestisce la sessione dellutente e tutte le operazioni che questo compie allinterno della struttura Si intrefaccia con i database Si occupa di ricercare tutte le informazioni necessarie Conosce dove si trovano archiviate le informazioni Frammenta le query
13
Come sono suddivise le informazioni? Tabella anagrafica: –userId, paswdUT, tipoUtente, nome, cognome, scuola,mail,tutor assegnato Tracciamento delle attività: –userId, paswdUt, nome, cognome, scuola, attività Login: –userId, paswdUt, campi relativi al login Comunità virtuali: –codUtente, Tutor, ambiente Forum: –Nome, cognome, scuola, temaForum, testo
14
Criterio principale per il buon funzionamento della piattaforma Se avessimo un solo data base su cui archiviare le informazioni in caso di numerosi accessi (100000- 150000 utenti) si sovraccaricherebbe il sistema. Difficoltà a gestire insieme tutti gli utenti, ogni macchina web fa potenzialmente troppi accessi alla stessa macchina oracle. Evitare troppi accessi alla stessa macchina: suddividere le informazioni su più DataBase. Obiettivo: rendere veloce laccesso alle informazioni.
15
Frammentazione e duplicazione Per frammentare le informazioni occorre considerare: –il rapporto tra applicazione e informazione necessaria al suo funzionamento –Il legame che cè tra le informazioni ed i vincoli su ogni dato –La dimensione dei record
16
Rapporto tra applicazione e informazione Per ogni applicazione deve essere possibile ricercare immediatamente e in maniera ottimale le informazioni: Login Forum Tracciamento Invio e consultazione dei file
17
Login Nella macchina Oracle1 stanno tutte le informazioni relative allanagrafica e al login. Supponendo di avere già caricati su Oracle1 tutti gli utenti, quando un utente accede le sue credenziali sono facilmente esaminate in questa tabella login senza dover consultare altre tabelle.
18
Forum Esistono due tipi di forum utilizzati in ambienti un po diversi: –Invision: è un forum che utilizzano professori e tutor per confrontarsi su determinati temi ed è usato allinterno delle classi virtuali per discutere con i tutor e gli altri membri della classe –Vbullentin: utilzzato per altri scopi
19
Forum Dove mettere i forum? –Linvio o la lettura di messaggi sui forum è una cosa assai frequente quando lutente è collegato. Insieme a login e allanagrafe in Oracle1? –Si avrebbe tutto a disposizione subito con un solo accesso alla macchina andando a ricercare le informazioni un po sulla tabella anagrafe e un po su quella dei forum senza così replicare colonne. In Oracle3? –Si potrebbe così frammentare i dati e con un accesso andare su Oracle1 per la parte anagrafica e su Oracle3 per i contenuti dei forum.
20
Soluzione Il problema principale della piattaforma sono i troppi accessi ad un singolo DataBase quindi i dati stanno su Oracle3, per ragioni sempre di ottimizzazione del sistema, non sono state frammentate le informazioni ma replicate le colonne dellanagraficha in modo da evitare accessi ad Oracle1 in caso di utilizzo del forum.
21
VBullentin È un forum utilizzato poco e per questo è stato inserito allinterno di MySql –Le informazioni non sono replicate: si farà un accesso ad Oracle1 e uno a MySql
22
Schema Oracle 1 Oracle 3 My sql Anagrafe: userId, paswdUT, tipoUtente, nome, cognome, scuola,mail,tutor assegnato Login: userId, paswdUt, campi relativi al login Forum Invision: tipoUtente, nome, cognome, scuola,mail, nomeForum, temaForum, testo Forum VBullentin: nomeForum, temaForum, testo
23
Comunità virtuali Le informazioni sulle comunità virtuali sono mantenute su Oracle1 ed è unassociazione tra circa 20 professori e un tutor. È una tabella creata al momento della formazione della piattaforma e non replica le colonne dellanagrafica ma fa solo lassociazione professore-tutor.
24
Il tracciamento Nota dolente del sistema: Si deve tener traccia di tutto liter formativo dellutente e questo deve esser facile da ricostruire in fase di consultazione dalla macchina web. Lo scopo è anche quello di rilasciare alla fine delliter formativo lattestato di frequenza Si è notato che lutente tende spessissimo ad andare a vedere il proprio portfolio e a controllare se i suoi elaborati sono stati validati dal tutor.
27
Il tracciamento Si è deciso di tenere la tabella con le informazioni necessarie a ricostruire e ad aggiornare liter formativo dellutente allinterno di Oracle1 (anagrafe, login, com.virtuali) Rendere levento più frequente più voloce da ricostruire
28
Il tracciamento Come memorizzare liter formativo: Due casi: –Dato che il percorso nelle varie aree è ben ristretto si potrebbe usare una colonna per ciascun singolo contenuto dellarea specifica e inserire nella riga corrispondente allutente il numero di crediti ottenuti. La macchina Web così fa una ricerca sulla singola riga e mette insieme le informazioni necessarie –Creare una singola colonna attività in cui Oracle attraverso una sua funzione particolare riesce a vettorizzare il record. In un solo campo della riga vi sono tutte le informazioni necessarie.
29
Il traccimetnto Si è deciso di tenere memorizzato tutto allinterno del singolo campo attività: –Diminuisce il contenuto della tabella –Semplice da memorizzare il singolo vettore in memoria ed è più semplice fare la ricostruzione e la modifica in caso di inserimento di nuovi crediti: non si fa un accesso a tutta la riga ma si inserisce attività- crediti in modo sequenziale allinterno del vettore in un unico campo.
30
Eventi frequenti Durante la normale attività della piattaforma sono stati riscontrati dei problemi che hanno reso necessario la modifica di alcuni aspetti: Si è visto che circa il 50-60% delle volte gli utenti cambiavano la password e circa il 20% delle volte luser-Id (soprattutto allinizio)
31
Eventi frequenti La modifica di questi campi in un ambiente in cui le informazioni sono replicate, può portare ad un sovraccarico in fase di aggiornamento del sistema Per risovere questo problema: –Ad ogni utente si è dato un singolo codice identificativo in modo tale che la modifica delluserId vada a modificare solo la tabella Login e non debbano essere modificate tabelle in altri database –Anche per la password la modifica continua e frequente ha portato a memorizzare una password fissa al momento della creazione dellutente ed utilizzata sempre in caso accesso dellutente nelle varie piattaforme. La modifica quindi andrà a cambiare solo il campo password nella tabella login.
32
Allineamento Ogni modifica allinterno dei data base è fatta in modo automatico dato che tutte le macchine sono allineate tra di loro. Anche nel caso in cui si inserisse un nuovo utente (cosa molto rara) o un tutor il sistema terrebbe aggiornato il tutto senza che le macchine web debbano intervenire direttamente.
33
I contenuti I contenuti per creare graficamente la piattaforma sono allinterno delle macchine web Le altre informazioni erano inizialmente memorizzate allintenro di Oracle1 poi si è visto che queste informazioni non erano collegate alle altre tabelle presenti nel data base quindi per liberare Oracle1 da questi accessi si è momorizzato il tutto in Oracle2 (fino ad ora non utilizzato) La macchina web sarà quindi capace di ritrovare queste informazioni in modo assai veloce.
34
Gestione dei contenuti I file che vengono mandati per essere visionati dal tutor vengono archiviati allinterno di una macchina Unix (300GB di memoria) Su ogni macchina web vi è una copia del file system (NFS) della macchina Unix Su MySql viene memorizzato lelenco di tutti i documenti che sono presenti allinterno del sistema Su MySql vi è memorizzato la lista dei file anche per un secondo motivo: –I file validati dai tutor (se lutente lo desidera) possono servire come sussidio per gli altri professori –Gli utenti connessi hanno così a disposizione una biblioteca di file che viene vista e letta attraverso due passaggi: La ricerca e la consultazione dellarchivio su MySql Il download attraverso la macchina Unix
35
Centra Centra è una pacchetto software che permette lutilizzo di una particolare comunità virtuale (comunicazione sincrona) in cui circa 12 utenti si connettono insieme in un orario prestabilito dal tutor Possono parlare insieme attraverso microfono-cuffia, chat testuale, video-camera una lavagna virtuale condivisa e discutere insieme di alcuni tempi particolari. Il tutor crea la classe virtuale segnando i professori che si sono prenotati per levento, queste informazioni sono memorizzate allinterno di Oracle2 Di Centra viene solo utilizzato un software che gira sulle macchine web di cui è possibile solo utilizzare linterfaccia interrogabile in php. Queste informazioni poi sono inviate ad una piattaforma che non è presente in Indire ma fuori, lutente dopo il login viene connesso direttamente a questa piattaforma.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.