WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mutualisation de requêtes XQuery sur des Flux RSS dans un environnement Pair-à-Pair

( Télécharger le fichier original )
par Mohammed Salah Benamira
Université de Versailles Saint Quentin en Yvelines - Master 2 Recherche 2007
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

3.4 Comment chercher les sources pertinentes dans le réseau

Pour réguler la charge de traitement des requêtes par les pairs, on s'est inspiré de l'approche

E-commerce [3].

Un pair P voulant exécuter une requête Q, sur une période T, alors que cette requête n'a pas été prise en charge par d'autres pairs (mutualisation impossible), il doit chercher les données relevantes à sa requête dans le réseau (bases).

Il localise à l'aide de la DHT, les sources pertinentes. Connaissant les pairs et la période qu'ils peuvent satisfaire, le pair P leur demande un coût. Une fois les coûts reçus, le pair P sélectionne les pairs qui ont fait les offres les moins coûteuses, et leurs envoie la requête Q.

Le coût ici, reflète la charge de travail du pair, et change en fonction de ce dernier. Si un pair a beaucoup de travail (aspiration flux RSS, plusieurs abonnées lui sont rattachés, espace disque et espace mémoire insuffisants,.....), il augmente son coût, et inversement (si son espace disque se libère, il baisse son coût)

Exemple:

For $i in document(`Equipe.xml')/rss/channel/item

For $j in document(`Sport.xml')/rss/channel/item

Where $i/title = $j/title and contains($i/title, `Foot') and contains($j/title, `PSG')

Return $i

Temps Valide = 1 à 15

1. Etape 1 : localise les sources pertinentes à l'aide de la DHT

Get<h(Equipe.xml), h(/rss/channel/item/title/'Foot'), [1..15]>

- Connaissant les pairs et l'intervalle qu'ils peuvent satisfaire, demander aux pairs un coût

- Exemple de réponses :

§ P1 : contient `Foot' dans l'intervalle [1, 10] avec un coût = 5

§ P2 : contient `Foot' dans l'intervalle [11,15] avec un coût = 3

§ P3 : contient `Foot' dans l'intervalle [1,15] avec un coût = 20

§ P4 : contient `PSG' dans l'intervalle [1,15] avec un coût = 10

§ P5 : contient `PSG' dans l'intervalle [1,15] avec un coût = 8

§ P6 : contient `Euro' et `PSG' dans l'intervalle [1,15] avec un coût = 20

2. Etape 2 : Sélection des meilleures offres sous deux contraintes: l'intervalle et le coût

· C.P1+C.P2 +C.P4 = 18

· C.P1+C.P2 +C.P5 = 16

· C.P3+C.P4 = 30

· C.P3+C.P5 = 28

· C.P6 = 20

3. Sélection des meilleures offres sous deux contraintes : l'intervalle et le coût

· C.P1+C.P2 +C.P4 = 18

· C.P1+C.P2 +C.P5 = 16

· C.P3+C.P4 = 30

· C.P3+C.P5 = 28

· C.P6 = 20

v Meilleures offres P1, P2, P5

4. Étape 3: récriture de la requête:

- Q1 = for $i in document (`Equipe')/rss/channel/item

where contains($i/title, `Foot') and pubDate>=1 and pubDate<=10 return $i Envoyer (P1)

- Q2 = for $i in document (`Equipe.xml')/rss/channel/item

where contains($i/title, `Foot') and pubDate>=11 and pubDate<=15 return $i Envoyer (P2)

- Q3 = for $i in document (`Sporte.xml')/rss/channel/item

where contains($i/title, `PSG') and pubDate>=1 and pubDate<=15 return $i Envoyer (P5)

5. Étape 4 : effectuer la jointure (résultat final)

- R=R(Q1) union R(Q2)

- For $i in R/rss/channel/item

For $j in R(Q3)/rss/channel/item

Where $i/title= $j/title

Return $i

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry