Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Synchronisation Gros Fichiers (checksum, fragments, ...)

5 réponses
Avatar
Cybertof
Hello,

Selon vous, quel est le meilleur moyen pour synchroniser 2 sites avec=20
des fichiers ?

Les fichiers etant peu changeants (exemple d'un ajout de 10Ko), ce=20
serait dommage de transferer 5Mo de data juste pour avoir les 10Ko qui=20
manquent.

De meme, si uniquement une 10aine de Ko sont chang=E9s =E0 l'interieur d'un=
=20
fichier, il n'est pas forcement utile de tout transferer.

L'idee est la suivante :=20
Faire une dichotomie pour chercher les fragments qui different et ne=20
transferer que les fragments ayant changes, et en allongeant le fichier=20
si necessaire (ou le reduire).
Le client et serveur n'echangeraient que des sommes de controle=20
(checksum) et ne transfereraientt que les differences (une taille=20
minimale etant definie).

Auriez-vous des pistes interessantes ?
- Routines de checksum
- Transferts par fragments
- Projets OpenSource
- Exemples
- Id=E9es


Thanks.

Cybertof.

5 réponses

Avatar
Frédéric Queudret [MS]
Bonsoir,
Il existe plusieurs solutions mais je vous conseille de vous orienter vers
des services déjà présents dans l'OS.
Vous pouvez rechercher sur DFS et FRS (File Replication Services) -
http://www.microsoft.com/WindowsServer2003/technologies/fileandprint/file/dfs/default.mspx
Vous pouvez vous renseigner sur la technologie BITS (Background Intelligent
Transfer)
http://www.microsoft.com/windowsserver2003/techinfo/overview/bits.mspx
Un thread sur le sujet: http://www.tek-tips.com/viewthread.cfm?qids2254
(voir Xcopy/Robocopy)

Cdlt,
Frédéric.

"Cybertof" wrote in message
news:
Hello,

Selon vous, quel est le meilleur moyen pour synchroniser 2 sites avec
des fichiers ?

Les fichiers etant peu changeants (exemple d'un ajout de 10Ko), ce
serait dommage de transferer 5Mo de data juste pour avoir les 10Ko qui
manquent.

De meme, si uniquement une 10aine de Ko sont changés à l'interieur d'un
fichier, il n'est pas forcement utile de tout transferer.

L'idee est la suivante :
Faire une dichotomie pour chercher les fragments qui different et ne
transferer que les fragments ayant changes, et en allongeant le fichier
si necessaire (ou le reduire).
Le client et serveur n'echangeraient que des sommes de controle
(checksum) et ne transfereraientt que les differences (une taille
minimale etant definie).

Auriez-vous des pistes interessantes ?
- Routines de checksum
- Transferts par fragments
- Projets OpenSource
- Exemples
- Idées


Thanks.

Cybertof.
Avatar
Cybertof
Ces solutions sont pour moi trop 'ancrées' dans l'OS et trop liées à
l'architecture NT.
Je cherche plutot à mettre en place une solution 'maison' via une
application C#.

Merci pour votre réponse.

Cybertof.


In article ,
says...
Bonsoir,
Il existe plusieurs solutions mais je vous conseille de vous orienter ver s
des services déjà présents dans l'OS.
Vous pouvez rechercher sur DFS et FRS (File Replication Services) -
http://www.microsoft.com/WindowsServer2003/technologies/fileandprint/file /dfs/default.mspx
Vous pouvez vous renseigner sur la technologie BITS (Background Intellige nt
Transfer)
http://www.microsoft.com/windowsserver2003/techinfo/overview/bits.mspx
Un thread sur le sujet: http://www.tek-tips.com/viewthread.cfm?qids22 54
(voir Xcopy/Robocopy)

Cdlt,
Frédéric.



Avatar
Simon Mourier [MS]
Souvent, cela dépend du genre de fichier (texte, xml, binaire pur, etc...)
pour être optimal. Il y a aussi des algorithmes génériques. De la même
manière si le fichier change peu, pourquoi ne pas capturer à la source le
changement, si c'est possible, plutôt qu'analyser le fichier au final?

Cherchez "binary diff algorithm c#" sur un bon moteur de recherche pour des
choses génériques.

exemple:
http://taubz.for.net/code/diff/

Simon.

"Cybertof" a écrit dans le message de news:

Hello,

Selon vous, quel est le meilleur moyen pour synchroniser 2 sites avec
des fichiers ?

Les fichiers etant peu changeants (exemple d'un ajout de 10Ko), ce
serait dommage de transferer 5Mo de data juste pour avoir les 10Ko qui
manquent.

De meme, si uniquement une 10aine de Ko sont changés à l'interieur d'un
fichier, il n'est pas forcement utile de tout transferer.

L'idee est la suivante :
Faire une dichotomie pour chercher les fragments qui different et ne
transferer que les fragments ayant changes, et en allongeant le fichier
si necessaire (ou le reduire).
Le client et serveur n'echangeraient que des sommes de controle
(checksum) et ne transfereraientt que les differences (une taille
minimale etant definie).

Auriez-vous des pistes interessantes ?
- Routines de checksum
- Transferts par fragments
- Projets OpenSource
- Exemples
- Idées


Thanks.

Cybertof.
Avatar
Paul Bacelar
Il vaut mieux avoir un outil qui utilise correctement différentes API liée
aux systèmes hôtes en fonction de celui-ci, au lieu d'avoir un bricolage
infâme.

Quand on implémente POSIX sous Windows par exemple, il vaut mieux utiliser
les fonctionnalités de Windows pour l'implémenter que de bricoler une
sur-couche d'OS virtuel au-dessus de Windows.
--
Paul Bacelar



"Cybertof" wrote in message
news:
Ces solutions sont pour moi trop 'ancrées' dans l'OS et trop liées à
l'architecture NT.
Je cherche plutot à mettre en place une solution 'maison' via une
application C#.

Merci pour votre réponse.

Cybertof.


In article ,
says...
Bonsoir,
Il existe plusieurs solutions mais je vous conseille de vous orienter vers
des services déjà présents dans l'OS.
Vous pouvez rechercher sur DFS et FRS (File Replication Services) -



http://www.microsoft.com/WindowsServer2003/technologies/fileandprint/file/dfs/default.mspx
Vous pouvez vous renseigner sur la technologie BITS (Background


Intelligent
Transfer)
http://www.microsoft.com/windowsserver2003/techinfo/overview/bits.mspx
Un thread sur le sujet: http://www.tek-tips.com/viewthread.cfm?qids2254
(voir Xcopy/Robocopy)

Cdlt,
Frédéric.



Avatar
Cybertof
Identifier les modifs à la source, le probleme est qu'il faut en plus
generer un fichier incremental de differences, et le maintenanir pour
chaque client différent, gérer les dates de derniere 'synchro', etc...
De plus les clients ne seront pas connectés en permanence.

Merci pour votre lien.

Cybertof.


In article <#,
says...
Souvent, cela dépend du genre de fichier (texte, xml, binaire pur, etc. ..)
pour être optimal. Il y a aussi des algorithmes génériques. De la m ême
manière si le fichier change peu, pourquoi ne pas capturer à la sourc e le
changement, si c'est possible, plutôt qu'analyser le fichier au final?

Cherchez "binary diff algorithm c#" sur un bon moteur de recherche pour d es
choses génériques.

exemple:
http://taubz.for.net/code/diff/

Simon.