文檔狀態(tài) | [?] 草稿?[?] 正式發(fā)布?[ √ ] 正在修改 |
---|---|
文檔版本號(hào) | v1.5 |
文檔密級(jí) | 內(nèi)部資料 |
歸屬部門 | 武漢極目未來(lái)數(shù)據(jù)科技有限公司 |
產(chǎn)品名 | 極目農(nóng)業(yè)植保運(yùn)營(yíng)系統(tǒng) |
子系統(tǒng)名 | 地面站 |
更新日志:
日期 | 版本 | 變更記錄 | 作者 |
---|---|---|---|
2018/06/13 | v1.0 | 編寫(xiě)初版 | 余明旭 |
2018/06/14 | v1.1 | [修改] 版本回退功能更新規(guī)則為版本匹配 | 余明旭 |
2018/06/15 | v1.2 | [調(diào)整] 1躬存、版本回退功能只允許回退一個(gè)版本 2、版本回退功能由后臺(tái)控制是否開(kāi)放 |
余明旭 |
2018/06/19 | v1.3 | [新增] 各版本間的處理方式表 | 余明旭 |
2018/06/20 | v1.4 | [新增] 版本回退處理方式表 | 余明旭 |
2018/06/21 | v1.5 | 簡(jiǎn)化流程 | 余明旭 |
一孝扛、目的
避免地面站與無(wú)人機(jī)固件出現(xiàn)版本不匹配,造成無(wú)法正常作業(yè)問(wèn)題幽崩。
二苦始、原則
1)非強(qiáng)制升級(jí)版本,地面站軟件升級(jí)由用戶決定
2)地面站及無(wú)人機(jī)固件版本回退由服務(wù)端控制慌申,僅在發(fā)生重大問(wèn)題才會(huì)開(kāi)放陌选。
三、實(shí)現(xiàn)步驟
3.1)后臺(tái)新增-版本對(duì)應(yīng)關(guān)系表:
后臺(tái)需創(chuàng)建地面站與后臺(tái)版本匹配關(guān)系表蹄溉。
地面站版本名 | 地面站版本號(hào) | 無(wú)人機(jī)固件版本 | 創(chuàng)建時(shí)間 |
---|---|---|---|
v2.1.045 | 201004500 | 3.0.109 | 2017/06/06 17:56:01 |
v2.1.045 | 201004500 | 3.0.110 | 2017/06/07 18:56:02 |
v2.1.046 | 201004600 | 3.0.113 | 2017/06/08 19:56:03 |
v2.1.046 | 201004600 | 3.0.116 | 2017/06/09 20:56:04 |
v2.1.046 | 201004600 | 3.0.117 | 2017/06/10 21:56:05 |
3.2)后臺(tái)新增-版本匹配檢查接口
調(diào)用地址: /gs/checkVersionMatch
接口用途: 檢查地面站與固件版本是否匹配
請(qǐng)求方式: GET
輸入?yún)?shù): 如下表
字段名 | 字段類型 | 是否必填(Y/N) | 字段描述 |
---|---|---|---|
deviceCode | String | Y | 無(wú)人機(jī)序列號(hào) |
gsVersion | String | Y | 地面站版本號(hào) |
成功返回內(nèi)容
{
"code":"000000"
"message":"successful"
"result":1 // 1-匹配 0-不匹配
}
3.3)后臺(tái)修改-固件版本檢查接口:
調(diào)用地址: gs/getLatestFirmwareInfo
接口用途: 獲取基站類型列表
請(qǐng)求方式: GET
輸入?yún)?shù): 如下表
字段名 | 字段類型 | 是否必填(Y/N) | 字段描述 |
---|---|---|---|
deviceCode | String | Y | 無(wú)人機(jī)序列號(hào) |
gsVersion | String | N | 地面站版本號(hào) |
新舊接口調(diào)整比較
現(xiàn)階段流程 | 新增gsVersion參數(shù)流程 |
---|---|
1咨油、傳遞deviceCode參數(shù)給后臺(tái) 2、后臺(tái)接收后查詢固件版本最新更新一條記錄 3柒爵、如果固件版本不匹配則推送新固件給地面站進(jìn)行固件升級(jí)使用 |
1役电、傳遞deviceCode、gsVersion參數(shù)給后臺(tái)棉胀。 2法瑟、后臺(tái)判斷gsVersion是否不為空,為空進(jìn)入老的固件監(jiān)測(cè)流程膏蚓,不問(wèn)空進(jìn)入版本匹配流程 3瓢谢、版本號(hào)不為空會(huì)進(jìn)入匹配關(guān)系檢查流程 4、無(wú)論是否匹配都會(huì)返回當(dāng)前地面站版本所對(duì)應(yīng)的最新固件推送給地面站驮瞧,匹配關(guān)系存在會(huì)多一個(gè)忽略選項(xiàng)氓扛,如果不存在只會(huì)提供升級(jí)固件選項(xiàng)。 |
流程圖
四论笔、版本回退
4.1)固件回退:
a采郎、檢查是否存在匹配關(guān)系,如果不存在需要進(jìn)行建立
b狂魔、直接替換線上的固件版本
4.2)地面站回退:
a蒜埋、優(yōu)先在現(xiàn)有發(fā)布版本代碼基礎(chǔ)上進(jìn)行修復(fù),推送新版本更新/進(jìn)行熱修復(fù)
b最楷、提供與當(dāng)前版本號(hào)相同的低版本代碼安裝包下載地址
- 因涉及到離線數(shù)據(jù)整份,如果地面站的數(shù)據(jù)庫(kù)在新版本中有對(duì)表字段進(jìn)行修改,在降級(jí)到低版本中將會(huì)出現(xiàn)不兼容問(wèn)題籽孙,最穩(wěn)妥的方法就是將所有當(dāng)前版本將用到的表全部重建烈评,即降級(jí)時(shí)扔掉以前全部的數(shù)據(jù)
- 原則上不能出現(xiàn)版本回退操作,除非在萬(wàn)不得已情況下犯建,將上一版本的的代碼取出后讲冠,修改版本號(hào)高于當(dāng)前發(fā)布版本的版本號(hào),生成apk后供用戶下載使用适瓦。