公司開發了一款應用軟件,有大量的用戶在使用該軟件,當應用程序有業務變動或者功能完善時,就面臨一個問題,怎樣高效穩定的更新客戶端的應用程序。
根據現有的升級程序的缺陷,我們做了大量的改進工作,我做了一個升級程序原型,歡迎大家的指正和拍磚。
一:更新程序的后臺管理
更新程序的后臺管理分為三個部份,包括了待更新程序的上傳,發布范圍的選定以及相關更新的配置,對更新進行不同維度的統計。
1:待更新程序的上傳
需求1:版本號可以根據前一個版本號自動生成下一個版本號,也可以人為的按版本號規則命名。
需求2:更新摘要,主要記錄每次軟件更新所完善的功能,以及解決的BUG,在客戶端展示給用戶,讓用戶選擇是否有必要更新。(與jira關聯)。
需求3:在上傳整個更新程序的時候,用一個map.xml的文件描述整個程序的目錄結構。
模型圖如下:
2:發布范圍的選定以及相關更新的配置
需求1:確定需要發布的版本后,根據對象的類型(渠道,用戶)選擇需要發布的對象。 其中如果鉤選了 “全部用戶更新”,選擇對象范圍為灰色,不起作用。
需求2:自動更新設置
i: 是否讓用戶每次開啟應用程序都檢測更新。
ii: 更新提示周期,就是客戶端每隔多長時間檢測一下,是否有新版本的程序需要更新。
iii:當用戶檢測到有程序需要更新,是立刻更新,還是往后推遲更新。
模型圖如下:
3:對更新進行不同維度的統計
需求1:查詢某個用戶,正在使用的程序版本。
需求2:某個版本,有多少個用戶在使用。
需求3:某個版本,在某個時間段的更新用戶數。
需求4:查詢某個用戶更新的歷史記錄。
模型圖如下:
二:客戶端更新程序
1:客戶端更新提示及設置
需求1:顯示本次更新的摘要
需求2:用戶可以決定在何時更新
模型圖如下:
2:客戶端更新狀態
需求1:可以顯示下載更新的進度,以及詳細信息。
需求2:當下載安裝后,可以顯示更新進度和詳細信息。
目前這個更新程序就基本上能滿足我們現在的需求了。
園友,還有什么更好的建議以及我沒考慮到的需求,歡迎提出來,到時候也做一個萬能的,通用的升級程序軟件。
如果博客對你有幫助,在右下角推薦我一下。
對應9樓:
文章列表