Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Sincronizzazione e curiosità

    Ok,
    come ogni tanto mi capita mi metto a pensare a cose che non c'entrano *nulla* con quello che sto facendo per lavoro o per hobby, ma tant'è...

    Il dubbio di quest'oggi è: "come funziona la sincronizzazione tra due o più dispositivi?". O meglio, poniamo un caso molto comune: ho uno stesso contatto sul mio computer e sul cellulare.
    Ne aggiorno uno, supponiamo quello del cellulare.
    Immagino ci sia un timestamp o qualcosa di simile per capire che il contatto sul cellulare è stato aggiornato più di recente, e quindi che deve sovrascrivere le informazioni del computer.

    Ora supponiamo invece che per lo stesso contatto vengano modificate due diverse voci una sul computer (un numero di telefono) e una sul cellulare (un indirizzo e-mail). Come faccio a capire che devo unire le due informazioni e non sovrascrivere la più vecchia con la più nuova?

    Ho provato ad aprire un csv ma apparentemente (in quello che ho aperto io, almeno) non pare esserci traccia di queste informazioni. A questo punto mi vien da pensare che le gestisca autonomamente ogni software...?!

    Scusate la curiosità ma sto pensando ad un piccolo script in php per la gestione dei miei contatti (lo so che ci son classi già pronte per i csv, ma non è quello che cerco!).

    Grazie e saluti a tutti,
    -Marco
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    il contatto è salvato su un server, non è che ne hai una copia sul cellulare e una sul pc

  3. #3
    no no quello che intendo io è molto più semplice.
    Intendo tipo due client che si sincronizzano tra di loro. Ho fatto l'esempio computer e cellulare, ma potrebbero essere anche due cellulari, o un cellulare e un software...
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  4. #4
    Oppure, se ti viene più semplice pensarla così (e ammesso che funzionino allo stesso modo dei csv, ma non ci scommetterei, anzi!), se ho un database, lo copio, lo modifico in locale e voglio sincronizzarlo (NON sovrascriverlo) con un altro che nel frattempo è stato modificato anche lui, come faccio?

    Perdona gli esempi (e le spiegazioni) pessimi, ma non me ne vengono in mente di migliori

    E comunque, ovviamente, grazie per la tua risposta!
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    non so come e se si possa fare con un db, ma non credo che sia l'approccio giusto sincronizzare un backup

  6. #6
    Ma io non voglio sincronizzare un backup..

    Ho due entità (facciamo, per non incasinare troppo il post, che son entrambi database - del resto una rubrica di csv è un database itself) che vivono autonomamente, vengono aggiornate autonomamente, e ogni tanto "si incontrano" e dovrebbero sincronizzarsi offrendo ognuna i dati più aggiornati di ogni record (o eliminare i record rimossi da ognuna) per poter avere gli stessi dati al loro interno.

    Immagino ci saranno poi dei possibili conflitti, ma quelli li risolverei manualmente.
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    ah scusa non avevo capito niente, è un sistema che non puoi fare, ti occorerrebbe un timestamp per ogni campo. Non molto conveniente.

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    se ragioni così, ogni campo dovrebbe avere una data di modifica di se stesso.. improponibile..


    ooops... letto dopo..

  9. #9
    Tabella di appoggio delle modifiche.

    Tabella_1
    id nome cognome numero
    1 Pippo de Pippis 3201234

    Tabella_2
    fieldchanged newvalue id timestamp who
    nome Paperino 1 2011-1-13 9:00:03 PC
    cognome de Plutis 1 2011-1-13 9:00:10 CELL


    Come funzionerebbe?
    La Tabella_2 è presente in entrambe le postazioni.

    Le modifiche non saranno quindi modifiche ma aggiunta di righe sulla tabella_2.

    Dopo aver aggiunto campi nella tabella_2 puoi eseguire una funzione di aggiornamento che legge nell'ordine i campi della tabella_2 modifica la tabella_1 secondo le istruzioni riportate.

    Dov'è il vantaggio? il Vantaggio è che le righe della tabella_2 non sono modificabili, ma possono essere solo aggiunte. Ogni riga ha una data di inserimento quindi il sistema sarà sempre in grado di riconoscere le modifiche più recenti.

    I due sistemi sono ora in connessione e devono essere sincronizzati. Cosa fai?
    Aggiungi nella tabella_2 del cellulare tutte le righe presenti nella tabella_2 del pc e viceversa. In modo da rendere le due tabelle identiche.

    Esegui nuovamente la funzione di aggiornamento su entrambe le postazioni.
    In questo modo hai i due sistemi aggiornati.

    Cancella tutte le righe delle tabella_2 (se non ti interessa la history, altrimenti ti segni la data della sincronizzazione e la prossima volta fai l'aggiornamento solo dei campi a partire da quella data) e il ciclo ricomincia.

    Dovrebbe funzionare =)

  10. #10
    Wow, non ci avevo pensato.. è un po' articolato ma dovrebbe funzionare!
    Ora ci provo e poi vedo.

    Grazie a tutti per la collaborazione!
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.