60 likes | 177 Vues
ACI GDS – 2ème Édition. Gestion de la persistance des données dans DIET Des nouvelles du front. Eddy Caron , Christophe Pera [LIP - Lyon], Bruno Delfabro [LIFC - Besançon]. Des nouvelles pour GDS. Cluster GDS “enfin” arrivé et presque sur les rails Xeon 2.5Ghz (1Go / 40Go IDE)
E N D
ACI GDS – 2ème Édition Gestion de la persistance des données dans DIET Des nouvelles du front Eddy Caron, Christophe Pera [LIP - Lyon], Bruno Delfabro [LIFC - Besançon]
Des nouvelles pour GDS • Cluster GDS “enfin” arrivé et presque sur les rails • Xeon 2.5Ghz (1Go / 40Go IDE) • + Cluster DMI : 8x P4 2.4 GHz (256Mo / 40Go IDE) • Release DIET 1.0 • J-7 • Mais GDS déjà à niveau. • Archive DIET_JXTA.tar.gz Mathieu Jan • Travaux sur la gestion de la persistance des données dans DIET • Nos dernières réflexions … 13h45 : DIET data Management • A finaliser : Définition d’une API prenant en compte les besoins de: • DIET • LocManager • JuxMem
Structure des data handles dans DIET • Unicité de l’ID • ID déterminée par le MA et donnée au client • Codage d’informations dans l’ID • Pas de sécurité • Mais identification de l’utilisateur possible • Mais identifiant long pour éviter la récupération hasardeuse • Prise en compte de session de calcul ID = {NomMA,Numcl,Numsession,Numdata, donnée, durée de vie, flag_persis} Ajout d’un flag pour le type du gestionnaire de données
Composition de l’ID • NomMA • Nom de MA défini par le fichier de configuration de DIET • IP • Numcl • IOR client • Numéro client attribué par le MA • f(Login, Passwd, Numcl) • Numsession • Attribuée par le MA pour une exécution : Mode par défaut • Déterminée par le client : Mode expert • Numdata • Compteur maintenu par le MA • Data • Contenu de la donnée • Durée de vie • Durée de vie dans le système (time_life < current-time - time_last_access ) • Flag de persistence (cf. tableau) Flag gestionnaire de données 0: LocManager 1: JuxMem 2: etc.
Gestion des données persistantes dans DIET : vision utilisateur • Définition d'une partie de l'API pour travailler avec les ID. • Conserver l‘API actuel de DIET et masquer l'utilisation des handle de données dans les profiles. data_handle(__, __, __, __ , ID) client_data_set(p1,ID) client_data_set(p2,ID) … diet_call(…, p1, …) store(p1.ID)
Gestion des sessions • Session = {Ensemble de diet_call} • Par défaut 1 programme = 1 session • Possibilité d’effacer l’ensemble des données d’une session • Impossible de récupérer les datas d’une session donnée • mode expert : diet_init() session_id = 43 n x diet_datahandle(__, __, …) n’ x diet_call(___, ___, …) session_id = 12 n’’ x diet_call(___, ___, …) n’’’ x diet_call(___, ___, …)