Gå til innhold

Finne nye bytes i en fil


Anbefalte innlegg

Har en real utfordring her:

Et program åpner en fil (Word, Notepad, Photoshop etc.) og gjør noen forandringer med den og lagrer den.

 

Vi trenger å finne forandringene gjort i filen uten at vi tar en kopi av filen idet den åpnes og sammenligner når den lagres.

 

Noen ideer?

Lenke til kommentar
Videoannonse
Annonse
Hva hvis du ikke lagret til samme filen som åpner for så sammeligne og lagre den over filen du åpnet?

Må du finne det ut i tiden mellom programmet leser filen til den skriver den ut?

Er du sikker på at det er den eneste muligheten?

 

Ikke sikker på det, nei.

 

Det vi skal fram til er å overføre minst mulig bytes over et nettverk.

Vi har filer på flere forskjellige klienter og disse har backup på en server.

 

Når det skjer forandringer på klienten skal kun forskjellen ,aller helst og ihvertfall for filer over 25MB, bli kopiert over til serveren.

 

Du satte meg på sporet av et annet problem med svarte ditt; hva om brukeren lagrer filen med et annet filnavn, da vet vi ikke lenger hvor dataene er.

Lenke til kommentar

Hvorfor ikke bare ta en titt på de utallige forskjellige repositoryprogrammene der ute og/eller rsync?

 

Hvis brukeren lagrer filen på et annet sted, så vil kanskje ikke brukeren at den skal bli syncet opp mot andre? Hva hvis brukeren gjør en feil i editeringen, og så lagrer, så sendes feilen ut til alle? Trenger man da muligheten for rollback?

 

Hvis du skal lage til det her helt fra scratch, så kan man f. eks ha en indexfil i en katalog. Indexfilen inneholder informasjon om alle filene i katalogen, inkludert størrelse og sjekksummer over chunks av filen. For å sjekke en fil for forandringer, sjekker du gjennom om chunksene har forandret seg (ved hjelp av sjekksumming), hvis de har det, så overfører du chunken. Hvis filen har blitt større, så overfører du resterende chunks. Oi, det her lignet litt på chunkskontrollen på torrent... :p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...