PC客戶端軟體公升級方式簡史

2021-08-31 03:19:08 字數 1276 閱讀 6393

今天重點聊一下公升級,公升級功能看似簡單,但對於乙個想持續經營的客戶端軟體來說卻是乙個重要的生命線。開發團隊辛苦修改的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端由...