自動更新原理

須要自動更新的時候,客戶端軟件提交更新請求給固定的網址,而後網址返回最新版本的版本號。客戶端軟件和本身的版本號對比,若是發現服務器的版本和本身的版本不同,那麼就請求下載升級補丁。服務器響應請求,提供補丁下載;下載成功後,手動或自動安裝一下就能夠了。瀏覽器

安裝補丁的時候,客戶端的主程序通常是要關閉的,除非採用動態卸載、調入組件的技術,好比網絡遊戲,就是儘可能讓玩家邊玩遊戲邊更新。安全

若是更新的是主程序,那麼就必須關閉主程序了。但是主程序關閉了以後,誰來調用安裝補丁呢?爲了解決這個問題,人們把主程序和自動更新程序分開來作。當須要校驗版本的時候,主程序調用自動更新程序。自動更新程序若是發現主程序須要更新,在下載了升級補丁以後,就會要求關閉主程序。主程序關閉以後,自動更新程序調用升級補丁進行安裝,安裝完成後再從新啓動主程序。自動更新程序自動退出,完成更新任務。這和你剛纔關閉電腦後再插網卡的原理是如出一轍的。其實生活中有不少現象能夠借鑑到軟件設計中。服務器

人們嫌這樣的升級仍然太麻煩,後來出現了B/S結構,你們像抓住了救命稻草同樣的追捧至今,但願能從這些勞動中解脫出來。B/S結構就是瀏覽器/服務器結構,它全部的功能,都是在瀏覽器裏完成。程序升級的時候,只須要在服務端升級一下就能夠了,瀏覽器再次訪問服務器的時候,獲得的就是新版本。你能夠把它理解成一個純粹的網站。是否是站長更新的時候,你打開網站就看到最新的頁面?markdown

可是B/S結構有天生的弱點,由於它是基於網頁瀏覽的,因此安全性是首要的難題,你能瀏覽的東西,原則上別人也能瀏覽。並且出於安全考慮,B/S訪問本地資源,好比串口,必須藉助於其餘技術實現。B/S也不是萬能的,必須考慮實際應用。網絡

相關文章
相關標籤/搜索