今天重點聊一下公升級,公升級功能看似簡單,但對於乙個想持續經營的客戶端軟體來說卻是乙個重要的生命線。開發團隊辛苦修改的bug、做的新功能都希望使用者能馬上通過公升級新版本體驗到。
在網際網路還沒普及的蠻荒年代,很多軟體公司公升級都是發布離線公升級包,一般這種包就是乙個安裝程式,它只負責安裝程式需要更新的部分,然後做一些修改登錄檔之類的系統配置以適應新版本的功能。
chrome的目錄結構是這樣的:
chorme
+57.0.2987.110
+57.0.2987.88
chrome.exe
bsdiff: linux中的乙個開源工具,致力於快速和輕量的更新linux的作業系統漏洞(跟微軟的安全補丁類似),其演算法的核心思想是基於統計學規律進行近似匹配,然後通過一系列的變化(比如bwt變換)提高「近似段」的壓縮率。courgette: google chrome公升級系統的核心模組,基於bsdiff,但對其進行了一系列的改進,將平台相關的資訊(即x86彙編指令)融入其中,以期望更精確的定位指標,從而避免統計演算法在差異明顯時候的錯誤率。
使用courgette的公升級過程是這樣的:
server:
asm_old = disassemble(original)
asm_new = disassemble(update)
asm_new_adjusted = adjust(asm_new, asm_old)
asm_diff = bsdiff(asm_old, asm_new_adjusted)
transmit asm_diff
client:
receive asm_diff
asm_old = disassemble(original)
asm_new_adjusted = bspatch(asm_old, asm_diff)
update = assemble(asm_new_adjusted)
PC客戶端抓包
當初寫這篇文章,是為了解決非除錯模式下,沒法抓到wpf程式的網路請求。後來看了別人的文章,發現可以直接 在源 中,加入乙個除錯開關,配置一下http的 這樣將請求轉到 127.0.0.1 8888 上去,這樣 fiddler就可以直接抓到請求了 首先需要配置一下fiddler 和手機抓包配置方法相同...
CS架構客戶端軟體公升級方案
目的 概念 u 整包公升級 軟體功能進行了大範圍的變更,主版本號發生變化,客戶端需要重新安裝。u 補丁包公升級 軟體修復部分bug,功能進行了小範圍調整或變更。u 檔案公升級 軟體的個別檔案進行了細微的調整或bug修復,為最小粒度軟體公升級。框架 客戶端主要由公升級管理主程式和提供公升級功能的底層支...
pc端,移動端,客戶端的區別
pc端與移動端的區別 1 從相容方面來說,pc考慮的是瀏覽器的相容性,移動端考慮的是手機相容性,因為目前不管是安卓還是ios手機,一般的瀏覽器都是webkit核心 2 從事件處理上說,移動端主要是觸屏事件,而缺少hover事件 3 從布局上來說,移動端一般要做到布局自適應 4 從動畫處理上,pc端由...