Bonjour
Je cherche une librairie existante qui permet de générer des GUID. C'est-à-dire un générateirs d'identifiants uniques.
J'ai regardé du coté de jakartans commons mais j'ai rien toruvé
Merci
Pierre
Bonjour
Je cherche une librairie existante qui permet de générer des GUID. C'est-à-dire un générateirs d'identifiants uniques.
J'ai regardé du coté de jakartans commons mais j'ai rien toruvé
Merci
Pierre
En cherchant sur le net tu devrais trouver des algos en pseudo code pour écrire la fonction qui n'est pas très compliquée.
Le principe est en général le suivant (mais cela peut varier, il existe plusieurs solutions) : ton GUID doit comprendre:
1 - l'adresse IP ou MAC de la machine sous forme numérique
2 - un timestamp
3 - le code de hashage du thread appelant
4 - un nombre aléatoire
1) permet que le GUID dépende de la machine, ainsi dans une architecture distribuée tu peux avoir 2 appels simultanés à la méthode sur 2 machines distinctes
2) variation temporelle du GUID pour que 2 appels successifs mais avec un timestamp différent soient distincts
3) dans un système multi-threadé on peut avoir des appels très rapprochés. Ce champ permet de traiter le cas (très improbable) de 2 appels ayant le même timestamp
4) et pour paufiner le tout un nombre aléatoire. Il présente son utilité pratiquement que dans le cas où l'on arrive par à récupérer le champ 1 (ça m'est arrivé de toujours récupérer l'IP 127.0.0.1)
Voilà il ne reste plus qu'à coder. Par contre cela génrère des ID de taille respectable![]()
Jacques Desmazières
Et le java.util.UUID ?![]()
Merci Jacques pour la réponse, je savais un peu l'algo a suivre pour générer le GUID mais ton explication est excellente!
Par contre, je cherche vraiment une librairie existante qui ferait le travail a ma place
Pour ce qui est de UUID.. je suis en java 1.4 donc ce n'est pas une solution![]()
Apparemment cela existe dans les librairies apache mais peut être pas en tant que librairie utilitaire en dehors d'un projet:
http://mail-archives.apache.org/mod_...@collab.net%3E
Sinon dans la sandbox Jakarta
http://jakarta.apache.org/commons/sandbox/id/
Jacques Desmazières
ok merci
sinon est-ce que tu as un bout de code à me donner pour générer le GUID?
Merci encore
Partager