Forse, è possibile sfruttare il courgette algorithm, che è il meccanismo di aggiornamento utilizzato in Google Chrome. È davvero facile da usare e applicare alla tua infrastruttura. Attualmente funziona solo per i sistemi operativi Windows. Gli utenti Windows di Chrome ricevono aggiornamenti in piccoli blocchi, a differenza degli utenti Mac e Linux che continuano a ricevere i pezzi in dimensioni totali.
È possibile trovare il codice sorgente here nel repository SVN Chromium. È un algoritmo di compressione per applicare piccoli aggiornamenti a Google Chrome invece di inviare l'intera distribuzione per tutto il tempo. Piuttosto che spingere l'intero 10 MB all'utente, è possibile premere solo il diff delle modifiche.
Ulteriori informazioni su come funziona Courgette possono essere trovate here e il post del blog ufficiale su di esso here.
funziona così:
server:
hint = make_hint(original, update)
guess = make_guess(original, hint)
diff = bsdiff(concat(original, guess), update)
transmit hint, diff
client
receive hint, diff
guess = make_guess(original, hint)
update = bspatch(concat(original, guess), diff)
Quando si estrae la fonte, si può compilare come un file eseguibile (tasto destro compilare in Visual Studio) ed è possibile utilizzare l'applicazione in quel formare per il test:
utilizzati:
courgette -dis <executable_file> <binary_assembly_file>
courgette -asm <binary_assembly_file> <executable_file>
courgette -disadj <executable_file> <reference> <binary_assembly_file>
courgette -gen <v1> <v2> <patch>
courgette -apply <v1> <patch> <v2>
Oppure puoi includerlo all'interno dell'applicazione e fare gli aggiornamenti da lì. È possibile imitare l'ambiente di aggiornamento automatico Omaha creando il proprio servizio che controlli periodicamente ed esegui Courgette.
fonte
2010-10-10 02:55:26
Note: è utilizzato per l'aggiornamento del software automatico di Google Chrome Chrome ed è specifico per Windows ora! –
Ho provato a utilizzare Google Omaha ma ho trovato complicato lavorare con. Invece abbiamo scelto di usare WyUpdate e ne siamo stati abbastanza contenti. –
Ho appena pubblicato un [tutorial] (https://fman.io/blog/google-omaha-tutorial/) su Omaha. I documenti ufficiali sono buoni, ma richiedono di capire un sacco di cose da soli. Spero che il tutorial renderà più semplice per gli altri iniziare. –