Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-04-2010 09:57:17

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Problème de conception

Bonjour,

J'ai dans mon application besoin assez souvent de comparé des listes ip fixe avec un réseau X.X.X.X/X
J'ai une fonction qui fait cela.

Mais, c'est assez gourmand en ressource, lorsque j'ai 4500 ip et que je dois déterminé si elle sont bien dans tel réseau, ca commence à faire lourd.

Je vais donc utilisé le cache
Lorsque j'ai besoin d'avoir ma liste d'ip depuis un réseau, si le cache n'a pas son entrée pour le réseau X, je la construits et l'enregistre.

Je pense utiliser Core+File.

J'aimerais aussi pouvoir faire l'effet inverse, c'est à dire, savoir dans quels réseaux est enregistré une adresse IP.
Pensez vous qu'utilisé les tags soit la solutions la plus simple ?
De plus, il serait pratique que lorsque je rajoute une adresse IP, que les caches réseau contenant cet IP soit détruis. La encore les tags me seront utile.

Résumé de mes questions
Pensez vous qu'avoir une centaines de tags par cache pose problème ?
Le fais d'utiliser le backend 'File' est-il une bonne solution ?

Merci pour vos suggestion


----
Gruiiik !

Hors ligne

 

#2 03-04-2010 00:15:46

ubini
Membre
Lieu: gillarens/Suisse
Date d'inscription: 23-01-2008
Messages: 110
Site web

Re: Problème de conception

Je pensais à un arbre par représentation intervallaire mais après relecture de ton post, je pense pas que cela pourrait t'aider...

Quoique...

Sisi, c'est ce qu'il te faut, un arbre par représentation intervallaire...

Non ?




Ubini a édité ce post 7651765 fois

Dernière modification par ubini (03-04-2010 00:22:53)


http://www.easyswap.org - site d'échange de biens et de services conçu avec jQuery et Zend Framework
http://www.lambelet.net - mon blog perso et inutile

Hors ligne

 

#3 06-04-2010 15:13:45

armetiz
Membre
Lieu: Lyon
Date d'inscription: 26-02-2010
Messages: 53
Site web

Re: Problème de conception

Ton système ressemble à de la géolocalisation simple.

Personnellement, je convertis les adresses ip en entier.
Cela permet de faire des opérations de recherche très simple, le plus gros du traitement étant fait sur la conversion... (Mega petit...).

Exemple :
Tu sais que ton réseau A utilise l'ip de début 192.168.1.1 et 192.168.1.50 de fin. Tu convertis le début et la fin en entier que tu stock en BDD.

Cela évite de comparer des chaines de caractère.. Et permet d'utiliser un bon petit index.

Hors ligne

 

#4 07-04-2010 08:59:05

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Problème de conception

@ubini, je n'ai pas étudier cet algo, mais je pense deviner à quoi il ressemble. Mais permet-il que les intervalles se croisent ?

@armetiz: je m'en doutais d'avoir une telle réponse. Le problème, c'est que ca me fait rajouté pas mal de donnée dans ma base et me fait trop modifié de code. Ce dernier point n'étant pas envisageable immédiatement (mais peut être dans un futur)


----
Gruiiik !

Hors ligne

 

#5 07-04-2010 09:07:01

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Problème de conception

Moi perso, je ferais bcp plus le bourin : j'aurais mis directement les ip dans la base et j'aurais compté sur la base pour optimiser tout ça... Je pense (mais je rêve peut-être) qu'une base optimisera mieux que moi les perfs pour ce genre de traitement...

Eventuellement si tu ne veux pas solliciter ta "vraie base", tu peux peut-être essayer avec une base plus basique genre sqllite (mais je ne suis pas certain que ces bases fassent le même genre d'optimisation que les "vraies bases")

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#6 07-04-2010 09:35:46

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Problème de conception

ok, philippe, mais la liste d'adresse IP n'est obtenu quand lisant un répertoire. Je ne peux pas refléter ceci dans ma "vrai base" car les fichiers/répertoires peuvent être modifier sans touchées aux bases.

Mais ce que tu dis rejoins ma première idée si j'ai bien compris. Utilisé un cache sqlite..


----
Gruiiik !

Hors ligne

 

#7 07-04-2010 11:13:39

armetiz
Membre
Lieu: Lyon
Date d'inscription: 26-02-2010
Messages: 53
Site web

Re: Problème de conception

@nORKy c'est dommage de ne pas pouvoir rajouter deux colonnes pour y stocker des entiers...

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages