亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

FUMO協(xié)議

系統(tǒng) 2569 0

OMA DM FUMO 1.O 協(xié)議

(OMA-TS-DM-FUMO-V1_0-20060615-C)
一.簡(jiǎn)介
?? 本規(guī)范描述基于OMA-DM的移動(dòng)設(shè)備的固件升級(jí)相關(guān)的管理對(duì)象信息和管理對(duì)象的處理行為。同時(shí)被說(shuō)明的還有同"Exec"命令和Generic Alerts相關(guān)的行為。
??
?? 它解決的是移動(dòng)設(shè)備的交互固件升級(jí)方案的缺陷。本規(guī)范為客戶端和服務(wù)器端提供了一套接口來(lái)支持固件升級(jí),這個(gè)方案由升級(jí)包下載、固件安裝和狀態(tài)(升級(jí)成功或失敗)匯報(bào)三部分組成。
?
?? 本規(guī)范為移動(dòng)操作員、服務(wù)提供商、基礎(chǔ)架構(gòu)廠商、設(shè)備制造商和軟件提供商來(lái)開(kāi)發(fā)和部署交互式固件升級(jí)方案提供依據(jù)。
?
?? 目標(biāo)觀眾:提供固件升級(jí)方案和升級(jí)包下載方案的工程師。
?
二.固件升級(jí)管理對(duì)象(FUMO)
?? 固件升級(jí)管理對(duì)象的基本結(jié)構(gòu)如下:
?
????x---|-----PkgName??????????? 〈---???????Name of Update Package
??????????|-----PkgVersion???????? 〈---???????Version of?Update Package
??????????|-----Download??????????? 〈---???????Node used by Exec to initiate download
???????????????????????|---PkgURL?????〈---???????Reference to target for Update Package
??????????|-----Update?????????????? 〈---???????Node used by Exec to initiate Update
???????????????????????|---PkgData??? 〈---???????Reference to target for Update Package
??????????|-----DownloadAndUpdate?〈------??Node used by Exec to initiate
???????????????????????|?????????????????????????????????????????Download and Update?
???????????????????????|---PkgURL?????〈---???????URL Location? to get Update Package
??????????|-----State???????????????? 〈---???????Current State of the device
??????????|-----Ext?????????????????? 〈---?????? Hook for Vendor Specific Extensions?
?
2.1固件升級(jí)管理對(duì)象參數(shù)
?? 下面描述的是固件升級(jí)管理對(duì)象的節(jié)點(diǎn)。
?
2.1.1節(jié)點(diǎn):x
?? 這個(gè)內(nèi)部節(jié)點(diǎn)作為一個(gè)占位符扮演著固件升級(jí)包唯一識(shí)別符的角色,其類型必須同第5部分指定的管理對(duì)象識(shí)別符相對(duì)應(yīng)。廠商可以為x預(yù)創(chuàng)建一些永久節(jié)點(diǎn),如果需要也允許通過(guò)升級(jí)包節(jié)點(diǎn)x創(chuàng)建,或者聯(lián)合這兩種方式。舉例來(lái)說(shuō),永久節(jié)點(diǎn)可以在固件包加工的時(shí)候創(chuàng)建,其他節(jié)點(diǎn)作為新特征來(lái)增加。一個(gè)例子將可能包含標(biāo)簽節(jié)點(diǎn)FWPkg1,FWPkg2...FWPkgn。設(shè)備制造商提供的DDF文件指出了x節(jié)點(diǎn)被定位到了管理樹(shù)的什么位置。
?
?? Occurrence:ZeroOrMore
?? Format:Node
?? Access Types:Get
?? Values:N/A
?
2.1.2節(jié)點(diǎn):x/PkgName
?? 這個(gè)可選節(jié)點(diǎn)指出了固件升級(jí)包的名稱。
?? Occurrence:ZeroOrOne
?? Format:Chr
?? Access Types:Get
?? Values:N/A
?
2.1.3節(jié)點(diǎn):x/PkgVersion
???這個(gè)可選節(jié)點(diǎn)指定了固件升級(jí)包的版本信息,版本信息是設(shè)備制造商指定的并且可以容納任意數(shù)據(jù)。
?? Occurrence:ZeroOrOne
?? Format:Chr
?? Access Types:Get
?? Values:N/A
?
2.1.4節(jié)點(diǎn):x/Download
?? 這個(gè)可選內(nèi)部節(jié)點(diǎn)是為了初始化固件下載執(zhí)行Exec命令的目標(biāo)。
?? Occurrence:ZeroOrOne
?? Format:Node
?? Access Types:Exec,Get
?? Values:N/A
?
2.1.5節(jié)點(diǎn):x/Download/PkgURL
?? 這個(gè)節(jié)點(diǎn)指出了固件升級(jí)包或下載描述文件的目標(biāo)URL,這個(gè)URL被用來(lái)作為可選的下載機(jī)制(譬如像HTTP Get[RFC2616]或者Descriptor Based Download[DLOTA])。
?? Occurrence:One
?? Format:Chr
?? Access Types:Get,Replace
?? Values:N/A
?
2.1.6節(jié)點(diǎn):x/Update
?? 這個(gè)可選內(nèi)部節(jié)點(diǎn)是為了初始化固件升級(jí)執(zhí)行Exec命令的目標(biāo)。
?? Occurrence:ZeroOrOne
?? Format:Node
?? Access Types:Exec,Get
?? Values:N/A
?
2.1.7節(jié)點(diǎn):x/Update/PkgData
?? 這個(gè)節(jié)點(diǎn)是當(dāng)DM被用來(lái)直接提供二進(jìn)制固件升級(jí)包數(shù)據(jù)時(shí)執(zhí)行Replace命令的目標(biāo)。
?? Occurrence:ZeroOrOne
?? Format:Bin
?? Access Types:Replace
?? Values:N/A
?
2.1.8節(jié)點(diǎn):x/DownloadAndUpdate
?? 這個(gè)可選內(nèi)部節(jié)點(diǎn)是為了初始化固件下載和升級(jí)執(zhí)行Exec命令的目標(biāo),這個(gè)升級(jí)必須在一旦下載完畢后發(fā)生。
?? Occurrence:ZeroOrOne
?? Format:Node
?? Access Types:Exec,Get
?? Values:N/A
?
2.1.9節(jié)點(diǎn):x/DownloadAndUpdate/PkgURL
?? 這個(gè)節(jié)點(diǎn)指定了固件升級(jí)包或者下載描述文件的位置URL,這個(gè)將接下來(lái)被用來(lái)下載和升級(jí)。這個(gè)URL被用來(lái)作為可選的下載機(jī)制(譬如像HTTP Get[RFC2616]或者Descriptor Based Download[DLOTA])。
?? Occurrence:One
?? Format:Chr
?? Access Types:Get,Replace
?? Values:N/A
?
2.1.10節(jié)點(diǎn):x/State
?? 指明同這次固件升級(jí)關(guān)聯(lián)的移動(dòng)設(shè)備的當(dāng)前狀態(tài)。
?? Occurrence:One
?? Format:Int
?? Access Types:Get
?? Values:看下表
?? 下面的狀態(tài)表枚舉了有效狀態(tài):
???? State ????????????????????? ?????????????????????? Description ??????????????????????????????????????????? Integer Value
??? Idle/Start????????????????????????????? No pending operation?????????????????????????10??????????????
??? Download Failed????????????????????? Download failed????????????????????????????????20??????????????
??? Download Progressing????????????? Download has started???????????????????????? 30??????????????
??? Download Complete???????????????? Download has been completed?????????????40??????? ??????
???????????????????????????????successfully????????????????????????????
??? Ready to Update???????????????????? Have data and awaiting command???????50???????????????
??????????????????????????????to start update?????????????????????????
??? Update Progressing?????????????????Update has started????????????????????????????60???????? ??????
??? Update Failed/Have Data????????? Update failed but have?????????????????????? 70??????????????
????????????????????? update package??????????????????????????
??? Update Failed/No Data???????????? Update failed and no update??????????????? 80??????????????
??????????????????????????? package available???????????????????
??? Update Successful/Hava Data?? Update complete and data?????????????????? 90??????????????
???????????????????????? still available?????????????????????????????
??? Update Successful/No Data????? Data deleted or removed???????????????????? 100????????????
??????????????????????? after a successful Update???????
??????
2.1.11節(jié)點(diǎn):x/Ext
?? 這個(gè)節(jié)點(diǎn)是為了提供商特殊的擴(kuò)展。
?? Occurrence:ZeroOrOne
?? Format:Node
?? Access Types:Get
?? Values:N/A
?
三.管理對(duì)象的行為
?? 下面的圖表展示了固件升級(jí)時(shí)終端的有效狀態(tài)的轉(zhuǎn)換,有些狀態(tài)服務(wù)器是不知曉的。
?
?
?
?? 典型的,開(kāi)始狀態(tài)是"Idle/Start",結(jié)束狀態(tài)是下面的一個(gè):
  • Update Failed / Have Data
  • Update Failed / No Data
  • Update Successful / Have Data
  • Update Successful / No Data
  • Download Failed
3.1Exec命令
?? Exec命令是必須被支持的。
?? 服務(wù)器發(fā)出Exec命令來(lái)在客戶端執(zhí)行長(zhǎng)時(shí)間運(yùn)行的操作,譬如下載和升級(jí)。執(zhí)行Exec命令的結(jié)果作為一個(gè)ResultCode被編碼,然后隨著操作的完成用一個(gè)Generic Alert返回。一個(gè)correlator如果伴隨著Exec命令應(yīng)用,也將在Generic Alert中返回。如果Exec命令被接受并進(jìn)入后續(xù)處理客戶端必須異步返回一個(gè)202狀態(tài)。
?? 當(dāng)在Download節(jié)點(diǎn)上執(zhí)行Exec命令,需要提示用戶選擇的時(shí)候,則服務(wù)器可以發(fā)出一個(gè)用戶交互Alert(User Interaction Alert [DMPRO]).
?? 如果采用OMA DM協(xié)議的large-object的方式執(zhí)行升級(jí)包的下載,服務(wù)器首先用‘Replace’命令來(lái)執(zhí)行下載,然后采用Exec命令來(lái)執(zhí)行升級(jí)。
?? 管理對(duì)象的State節(jié)點(diǎn)被用來(lái)表明相應(yīng)的升級(jí)和下載執(zhí)行后客戶端的狀態(tài)變化。
?
3.1.1下載時(shí)Exec命令的語(yǔ)義
?? 服務(wù)器在x/Download節(jié)點(diǎn)上發(fā)出Exec命令。客戶端根據(jù)服務(wù)器發(fā)出的x/Download/PkgURL節(jié)點(diǎn)標(biāo)示的URL值初始化一個(gè)下載操作。當(dāng)下載操作完成后,客戶端發(fā)出一個(gè)Generic Alert來(lái)表明下載操作的結(jié)果。
?
3.1.1.1下載時(shí)Exec命令的示例
?? 前置條件:下面的元素節(jié)點(diǎn)被設(shè)定為正確的值。
  • ?? x/Download/PkgURL被設(shè)定
?? Exec命令的例子:
?? <Exec>
????? <CmdID>3</CmdID>
????? <Item>
???????? <Target>
??????????? <LocURI>x/Download</LocURI>
???????? </Target>
????? </Item>
?? </Exec>
?
3.1.2升級(jí)時(shí)Exec命令的語(yǔ)義
?? 服務(wù)器在x/Update節(jié)點(diǎn)上發(fā)出Exec命令,客戶端利用的是前面Download所接收的升級(jí)包。升級(jí)操作完成后,客戶端發(fā)出一個(gè)Generic Alert來(lái)表明升級(jí)操作的結(jié)果。
?
3.1.2.1升級(jí)時(shí)Exec命令的示例
?? 前置條件:固件升級(jí)包必須在設(shè)備上已存在。
?? Exec命令的例子:
?? <Exec>
????? <CmdID>3</CmdID>
????? <Item>
?????????<Target>
??????????? <LocURI>x/Update</LocURI>
???????? </Target>
????? </Item>
?? </Exec>
3.1.3下載升級(jí)時(shí)Exec命令的語(yǔ)義
?? 服務(wù)器在x/DownloadAndUpdate節(jié)點(diǎn)上發(fā)出Exec命令,客戶端根據(jù)服務(wù)器發(fā)出的x/DownloadAndUpdate/PkgURL節(jié)點(diǎn)標(biāo)示的URL值初始化一個(gè)下載操作,當(dāng)下載操作成功完成后,客戶端在不需要服務(wù)器的干預(yù)下應(yīng)用接收到的升級(jí)包。升級(jí)操作完成后,客戶端發(fā)出一個(gè)Generic Alert來(lái)表明升級(jí)操作的結(jié)果。在這次事件流程中,當(dāng)下載失敗時(shí),客戶端發(fā)出一個(gè)Generic Alert來(lái)表明下載操作的失敗。
?
3.1.3.1下載升級(jí)時(shí)Exec命令的示例
?? 前置條件:下面的對(duì)象需要用正確的值來(lái)設(shè)定。
  • ?? x/DownAndUpdate/PkgURL
?? Exec命令的例子:
?? <Exec>
????? <CmdID>3</CmdID>
????? <Item>
???????? <Target>
??????????? <LocURI>x/DownloadAndUpdate</LocURI>
???????? </Target>
????? </Item>
?? </Exec>
?
3.2通知中Generic Alert的使用
?? 在3.1節(jié)中當(dāng)Exec命令執(zhí)行結(jié)束時(shí),設(shè)備需要向DM服務(wù)器使用Generic Alert [DMPRO]發(fā)送一個(gè)通知。這個(gè)alert消息包含下面的數(shù)據(jù):
  • ?? 一個(gè)整形的結(jié)果代碼--被用來(lái)匯報(bào)結(jié)果狀態(tài)
  • ?? 固件升級(jí)管理對(duì)象的URI--用來(lái)識(shí)別源
  • ?? 一個(gè)alert類型--用來(lái)識(shí)別操作
  • ?? Correlator--被服務(wù)器使用并作為Exec命令的一部分來(lái)傳輸
?? 正在匯報(bào)錯(cuò)誤或者失敗的alerts也將在Meta信息的Mark域中除了匯報(bào)一般信息外還有嚴(yán)重性級(jí)別信息。
?? 一旦操作完成后Generic Alert被發(fā)送到DM服務(wù)器,如果沒(méi)有服務(wù)器的進(jìn)一步干預(yù),設(shè)備一定不能再次經(jīng)由Exec命令發(fā)起上次操作。
?? 注意:如果服務(wù)器需要檢索額外的信息,譬如狀態(tài)State,則服務(wù)器需要向客戶端查詢那些指定的節(jié)點(diǎn)。
?
3.2.1固件升級(jí)管理對(duì)象的URI
?? 這個(gè)URI必須作為Generic Alert [DMPRO]消息的源source被發(fā)送,這個(gè)允許管理服務(wù)器來(lái)識(shí)別alert的原先來(lái)源。
?
3.2.2固件升級(jí)的alert類型
?? 來(lái)源于管理對(duì)象的下面的alert類型必須被使用在Generic Alert [DMPRO]消息中。這個(gè)alert類型被用來(lái)識(shí)別到底在設(shè)備上Exec命令執(zhí)行什么操作。
?? alert類型“org.openmobilealliance.dm.firmwareupdate.download”被用來(lái)回復(fù)下載操作的完成。
?? alert類型“org.openmobilealliance.dm.firmwareupdate.update”被用來(lái)回復(fù)升級(jí)操作的完成。
?? alert類型“org.openmobilealliance.dm.firmwareupdate.downloadandupdate”被用來(lái)回復(fù)下載升級(jí)操作的完成。
?
3.2.3Correlator
?? 固件升級(jí)操作中在?Exec命令里如果服務(wù)器傳輸了一個(gè)correlator給客戶端,客戶端必須在Generic Alert [DMPRO]消息的correlator域返回相同的值給服務(wù)器。
?? 固件升級(jí)操作中在?Exec命令里如果服務(wù)器沒(méi)有傳輸correlator給客戶端,客戶端一定不要在Generic Alert [DMPRO]消息的correlator域返回一個(gè)correlator。
?
3.2.4結(jié)果代碼
?? 操作的結(jié)果代碼必須作為一個(gè)整形值在GenericAlert [DMPRO]消息的Data元素中被發(fā)送。結(jié)果代碼必須是下面定義值中的一個(gè):
?
結(jié)果代碼???????????????? 含義?????????????????????????????????????? 應(yīng)用?????????????????????????????????????????????
200??????????????????? 成功??????????????????????????????? 成功-請(qǐng)求成功
250-299??????????????成功-廠商指定??????????????????? 廠商指定結(jié)果代碼為成功?
400??????????????????? 管理客戶端錯(cuò)誤???????????????????管理客戶端錯(cuò)誤-基于用戶或設(shè)備行為?
401??????????????????? 用戶取消?????????????????????????? 當(dāng)提示時(shí)用戶選擇不接受操作
402??????????????????? 損壞的固件升級(jí)包???????????????? 沒(méi)有正確的存儲(chǔ)、發(fā)現(xiàn),譬如在希望
????????????????????????????????????????????????????????????????????的和真實(shí)的CRCs不匹配
403??????????????????? 固件升級(jí)包-設(shè)備不匹配??????????錯(cuò)誤的升級(jí)包傳到了設(shè)備上?
404??????????????????? 固件升級(jí)包驗(yàn)證失敗????????????? 數(shù)字簽名驗(yàn)證失敗?
405??????????????????? 固件升級(jí)包不被接受????????????? 固件升級(jí)包不被接受?
406????????????????????下載時(shí)驗(yàn)證失敗???????????????????當(dāng)下載升級(jí)包時(shí),需要驗(yàn)證但驗(yàn)證失敗
407??????????????????? 下載時(shí)Time-Out???????????????? 客戶端出現(xiàn)了下載時(shí)time-out?
408??????????????????? 沒(méi)有實(shí)現(xiàn)?????????????????????????? 設(shè)備不支持的請(qǐng)求操作?
409??????????????????? 未定義錯(cuò)誤????????????????????????通過(guò)其他錯(cuò)誤代碼標(biāo)明失敗未定義
410??????????????????? 固件升級(jí)失敗???????????????????? 設(shè)備上的固件升級(jí)失敗???
411????????????????????URL有問(wèn)題????????????????????????提供下載用的URL存在問(wèn)題???
412??????????????????? 連不上下載服務(wù)器????????????????下載服務(wù)器不可得或沒(méi)有響應(yīng)?
450-499??????????????客戶端錯(cuò)誤-廠商指定??????????? 由廠商指定自己的結(jié)果代碼??
500??????????????????? 下載服務(wù)器錯(cuò)誤?????????????????? 遇到了下載服務(wù)器錯(cuò)誤??
501??????????????????? 下載失敗-由于設(shè)備內(nèi)存不足????設(shè)備內(nèi)存不足以保存下載的升級(jí)包??
502??????????????????? 升級(jí)失敗-由于設(shè)備內(nèi)存不足??? 沒(méi)有充足的內(nèi)存來(lái)更新設(shè)備
503??????????????????? 下載失敗-由于網(wǎng)絡(luò)問(wèn)題?????????網(wǎng)絡(luò)或傳輸層錯(cuò)誤導(dǎo)致下載失敗?
550-599??????????????下載服務(wù)器錯(cuò)誤-廠商指定?????? 廠商自己制定的下載服務(wù)器錯(cuò)誤代碼???
?
在上面的表格中,2xx序列標(biāo)明成功結(jié)果,4xx和5xx標(biāo)明失敗的結(jié)果和原因。
??
3.3升級(jí)包下載和升級(jí)的支持
?? 支持FUMO 1.0的客戶端必須至少一種的升級(jí)包下載方式,這種下載機(jī)制必須是OMA DM下一種的傳輸和下載機(jī)制,譬如OMA Download
[DLOTA].另外,為了成功的執(zhí)行一次固件升級(jí),至少下面一個(gè)活動(dòng)被支持:
  • ?? Exec on x/Update 節(jié)點(diǎn)
  • ?? Exec on x/DownloadAndUpdate 節(jié)點(diǎn)
?
4客戶端發(fā)起的固件升級(jí)(標(biāo)準(zhǔn)的)
?
4.1概要
?? 固件升級(jí)在設(shè)備上也有自己的獨(dú)立性,所以這個(gè)對(duì)于客戶端設(shè)備和服務(wù)器可以作為一個(gè)可選的特征。??這部分僅將定義客戶端發(fā)起的消息格式和在什么樣的環(huán)境下設(shè)備不發(fā)起。
?? 這個(gè)通知時(shí)用Generic Alert格式,如果客戶端發(fā)起的固件升級(jí)請(qǐng)求被實(shí)現(xiàn),那么下面的客戶端請(qǐng)求必須被支持。
?
4.1.1Generic Alert?
?? 消息必須遵循Generic Alert格式。
?
4.1.2Alert Type
?? 設(shè)備發(fā)起的固件升級(jí)消息類型必須使用“org.openmobilealliance.dm.firmwareupdate.devicerequest”,用戶發(fā)起的固件升級(jí)alert類型必須使用“org.openmobilealliance.dm.firmwareupdate.userrequest”。
?
4.1.3URI
?? 如果指定了alert中的URI,則其必須指向在管理樹(shù)中代表一單獨(dú)固件升級(jí)管理對(duì)象的動(dòng)態(tài)節(jié)點(diǎn)(譬如<x>)。當(dāng)節(jié)點(diǎn)存在時(shí),服務(wù)器就會(huì)檢查管理對(duì)象表示的固件升級(jí)的有效性。如果不存在則會(huì)進(jìn)一步被建議,服務(wù)器就會(huì)檢查發(fā)起這次alert的終端相關(guān)的所有固件升級(jí)的有效性。服務(wù)器可以查詢URI指明的管理對(duì)象的內(nèi)容,只要有相關(guān)的升級(jí)被發(fā)現(xiàn),服務(wù)器就應(yīng)該發(fā)起一個(gè)固件升級(jí)。
?
4.1.4Data
?? Data元素是必須的。客戶端廠商可以使用這個(gè)域來(lái)提供明確的實(shí)現(xiàn)數(shù)據(jù)。如果沒(méi)有明確的實(shí)現(xiàn)數(shù)據(jù),這個(gè)值需要被設(shè)定為空。
?
5 FUMO 應(yīng)用(通常情況下)
5.1固件升級(jí)協(xié)議預(yù)覽
?? 固件升級(jí)協(xié)議指定了一系列標(biāo)準(zhǔn)命令(關(guān)聯(lián)的參數(shù)和管理對(duì)象),也將在OTA固件升級(jí)中使用。OTA固件升級(jí)在處理發(fā)現(xiàn)、安全、下載、安裝時(shí)需要特別的留意。
?? OMA DM在無(wú)線設(shè)備管理領(lǐng)域是最主要的標(biāo)準(zhǔn)。OMA Download [DLOTA]規(guī)范也為通常內(nèi)容的下載提供了一套靈活的協(xié)議,僅僅通過(guò)一個(gè)分離的下載描述符來(lái)控制。下載過(guò)程是抽象的,即允許用戶使用OMA DM(E.g., Add/Replace)也允許任何適合的下載機(jī)制(用OMA Download [DLOTA]下載協(xié)議描述的下載)。
?? 為了獲取OTA固件升級(jí),協(xié)議必須支持下面的流程:
  1. ?? 固件升級(jí)步驟1:固件升級(jí)開(kāi)始
  2. ?? 固件升級(jí)步驟2:設(shè)備信息交換
  3. ?? 固件升級(jí)步驟3:固件下載
  4. ?? 固件升級(jí)步驟4:固件安裝
  5. ?? 固件升級(jí)步驟5:固件升級(jí)的狀態(tài)通知
?
5.1.1場(chǎng)景1:經(jīng)由OMA DM Download(Replace)的固件升級(jí)--Large Object
?? 下面的例子展示了如何使用OMA DM協(xié)議通過(guò)DM Replace命令來(lái)將固件的二進(jìn)制包數(shù)據(jù)移動(dòng)到終端設(shè)備上。
?
?
?
5.1.2場(chǎng)景2:經(jīng)由可選下載機(jī)制方案的固件升級(jí)
?? 下面的例子展示了OMA DM如何調(diào)用外部的二進(jìn)制包數(shù)據(jù),通過(guò)DM Replace命令來(lái)下載固件包:
?
5.1.2.1例子1:‘Exec’ on x/Download node + ‘Exec’ on x/Update node
?? 服務(wù)器針對(duì)x/Download節(jié)點(diǎn)發(fā)出Exec命令,如果需要,服務(wù)器將在客戶端發(fā)送下載通知給服務(wù)器后針對(duì)x/Update節(jié)點(diǎn)發(fā)出Exec命令。
?
5.1.2.2例子2:‘EXEC’ on x/DownloadAndUpdate node
?? 服務(wù)器針對(duì)x/DownloadAndUpdate節(jié)點(diǎn)發(fā)出Exec命令,在DownloadAndUpdate操作完成后客戶端發(fā)送一個(gè)最后的通知給服務(wù)器。
?
5.2協(xié)議定義
?
5.2.1固件升級(jí)步驟1:固件升級(jí)開(kāi)始
?? 為了開(kāi)始任何一個(gè)固件升級(jí),設(shè)備都需要打開(kāi)一個(gè)到服務(wù)器的數(shù)據(jù)連接。下面的機(jī)制能被支持來(lái)開(kāi)始一個(gè)固件升級(jí)流程:
  • ?? 用戶發(fā)起
  • ?? 網(wǎng)絡(luò)發(fā)起
?? 用戶發(fā)起的升級(jí)由于并不需要特殊的標(biāo)準(zhǔn)所以沒(méi)有放到這個(gè)規(guī)范中,推薦的做法是通過(guò)設(shè)備上的菜單或是服務(wù)代碼。用戶發(fā)起的升級(jí)流程將簡(jiǎn)單的打開(kāi)一個(gè)OMA DM會(huì)話。
?? 對(duì)于網(wǎng)絡(luò)發(fā)起的升級(jí)來(lái)說(shuō),OMA DM 管理端提供了一個(gè)框架通過(guò)發(fā)送一個(gè)Notification Initiation Alert”給客戶端來(lái)觸發(fā)客戶端開(kāi)啟數(shù)據(jù)會(huì)話。It is the intent of the Firmware Update Protocol to leverage General Package#0 as specified in the OMA DM Notification Initiation Session document [DMNOTI].OMA DM 指定使用WAP Push并且制定一個(gè)可接受的格式來(lái)發(fā)起這個(gè)固件升級(jí)。
?
5.2.2固件升級(jí)步驟2:設(shè)備信息交換
?? 為了讓設(shè)備能夠正確地做固件升級(jí),一個(gè)最小集合的設(shè)備信息標(biāo)準(zhǔn)被客戶端發(fā)送到了服務(wù)器。為達(dá)到固件升級(jí)的目的,這個(gè)最小集合的設(shè)備信息是對(duì)每一個(gè)OMA DM管理會(huì)話都是永久的DevInfo參數(shù)[在DMSTDOBJ, Section 5中指定]。
?? 注意:下一部分描述的固件下載流程的安裝必須在一個(gè)可選的用戶交互以后進(jìn)行信息交換。一個(gè)OMA DM “alert”命令將被用來(lái)傳輸用戶確認(rèn)信息。
?
5.2.3固件升級(jí)步驟3:固件下載
?? 固件下載可以通過(guò)OMA DM Replace命令(Large Object)或者外部的數(shù)據(jù)包文件下載來(lái)開(kāi)啟。這兩種方式各有利弊,所以依賴于軟件提供商和設(shè)備制造商來(lái)共同決定選擇一個(gè)首選的實(shí)現(xiàn)。協(xié)議建議兩種方式都支持。
?? 請(qǐng)參考附件D查看更進(jìn)一步的細(xì)節(jié)信息。
?
5.2.4固件升級(jí)步驟4:固件安裝
?? 預(yù)期在市場(chǎng)上會(huì)有很多產(chǎn)品來(lái)在設(shè)備上進(jìn)行固件升級(jí)。固件升級(jí)規(guī)范的目的是為了規(guī)范設(shè)備和無(wú)線網(wǎng)絡(luò)解決方案的互操作性,所以這個(gè)規(guī)范并不處理獨(dú)立于網(wǎng)絡(luò)之外的固件升級(jí)的處理。換句話說(shuō),這個(gè)規(guī)范為固件安裝提供需求來(lái)獲取可以接受的用戶經(jīng)驗(yàn)。
?
5.2.4.1在OMA DM Download后的固件安裝(Large Object)
?? 下面的這個(gè)Exec命令在固件已經(jīng)使用OMA DM Replace下載到Pkgdata元素的情況下發(fā)起這次升級(jí)流程:
?? <Exec>
????? <CmdID>3</CmdID>
????? <Item>
???????? <Target>
??????????? <LocURI>.x/Update</LocURI>
???????? </Target>
????? </Item>
?? </Exec>
?
5.2.4.2可選下載方式的固件安裝(外部數(shù)據(jù)下載)
?? 對(duì)于外部二進(jìn)制固件升級(jí)包下載方式(像OMA v1.0 Download的描述符),推薦的方式是提供正確的安裝參數(shù)要由于使用Exec命令發(fā)起下載操作。
?? 當(dāng)升級(jí)操作完成升級(jí)包不再需要的時(shí)候,升級(jí)包將從對(duì)象存儲(chǔ)中刪除。設(shè)備的管理客戶端可以選擇在升級(jí)成功或失敗結(jié)束后立刻刪除升級(jí)包,也可以不管什么時(shí)候服務(wù)器提示刪除的時(shí)候刪除。
?
5.2.5固件升級(jí)步驟5:固件升級(jí)狀態(tài)的通知
?? 在固件升級(jí)流程完成的時(shí)候,設(shè)備通知服務(wù)器固件升級(jí)的結(jié)果狀態(tài)。這個(gè)是通過(guò)一個(gè)連續(xù)的客戶端或者服務(wù)器發(fā)起的OMA DM會(huì)話來(lái)確保管理服務(wù)器被通知了這個(gè)結(jié)果狀態(tài)。
?? 客戶端通過(guò)Generic Alert [DMPRO]提供一個(gè)結(jié)果代碼給服務(wù)器。
?? OMA DM協(xié)議提供的Generic Alert [DMPRO]命令將被OMA-DM客戶端用來(lái)通知給DM服務(wù)器結(jié)果代碼的值。
?
5.2.5.1非致命的結(jié)果代碼
?? 對(duì)于非致命的升級(jí)失敗,終端用戶可以用一種可操作的模式提供失敗指示和終端號(hào)碼。
?? 另外就像上面的結(jié)果代碼表中列出的一樣,./FwUpdate/x/State元素會(huì)提供更多的信息。
?
5.2.5.2致命失敗
?? 致命的失敗將很可能導(dǎo)致設(shè)備不可操作,所以就不可能提示終端用戶或是通知服務(wù)器這次失敗。因?yàn)檫@個(gè)原因,實(shí)現(xiàn)并沒(méi)有提供一個(gè)高層次的錯(cuò)誤容錯(cuò)機(jī)制在這方面。
?
(完)

(附件信息請(qǐng)直接查看協(xié)議)

疑問(wèn):我們知道當(dāng)升級(jí)完成后,設(shè)備會(huì)重新啟動(dòng),然后設(shè)備上的客戶端會(huì)開(kāi)啟一個(gè)新會(huì)話向服務(wù)器報(bào)告升級(jí)狀態(tài),我們知道這個(gè)alert是1226,其內(nèi)容是
<Alert>
?? <CmdID>2</CmdID>
?? <Data>1226</Data> <!-- Generic Alert -->
?? <Correlator>abc123</Correlator>
?? <Item>
????? <Source><LocURI>./SyncML/Sample</LocURI></Source>
????? <Meta>
???????? <Type xmlns="syncml:metinf">
??????????? Reversed-Domain-Name: org.domain.samplealert
???????? </Type>
???????? <Format xmlns="syncml:metinf">xml</Format>
???????? <Mark xmlns="syncml:metinf">critical</Mark> <!-- Optional -->
????? </Meta>
????? <Data><!-- Client Alert Data Goes Here -->
????? </Data>
?? </Item>
</Alert>
這里面并沒(méi)有地方標(biāo)示我這個(gè)升級(jí)結(jié)果是針對(duì)哪次的升級(jí),也就是如果兩次升級(jí)同時(shí)完成,我怎么知道這個(gè)是通知的那一個(gè)升級(jí)呢?雖然上面已經(jīng)說(shuō)過(guò)使用一個(gè)連續(xù)的alert來(lái)通知,這種情況會(huì)極少出現(xiàn),但是怎么也要考慮吧?

現(xiàn)在已經(jīng)實(shí)施的SmartDM項(xiàng)目的做法是確保每次對(duì)一個(gè)終端(號(hào)碼)只存在一個(gè)操作來(lái)解決,也就是從服務(wù)器端就杜絕了一個(gè)設(shè)備同時(shí)做兩種或者兩個(gè)操作的可能。

但是我在Bindu的培訓(xùn)中好像聽(tīng)說(shuō)過(guò),以后會(huì)在這個(gè)alert 1226中增加各自上次操作會(huì)話ID來(lái)區(qū)分到底是對(duì)那個(gè)操作的回復(fù),這樣就在客戶端解決了這個(gè)問(wèn)題,但是我現(xiàn)在在OMA DM 1.2的協(xié)議里面沒(méi)有找到這個(gè)。

?

?
?
?
?
?

FUMO協(xié)議


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲精品片 | 四虎永久在线观看免费网站网址 | 老司机深夜福利影院 | 狠狠狠很橹影院 | 激情爱爱视频 | 91视频老司机| 欧美福利视频在线观看 | 特黄特色大片免费播放器999 | 色妞色综合久久夜夜 | 亚洲国产日韩欧美mv | 久久99国产亚洲精品观看 | 久久久久久国产精品免费 | 一级韩国aa毛片免费观看 | 99精品久久久久久久免费看蜜月 | 97精品在线观看 | 欧美在线不卡 | 一区二区三区四区视频在线 | 97影院97伦里片 | 婷婷在线视频观看 | 日本黄色mv | 亚洲一区二区三区精品视频 | 久久青草精品一区二区三区 | 久久艹在线观看 | 久久er99热这里只是精品 | 欧美一级毛片欧美一级 | 色姑娘久 | 成人18免费网站 | 亚洲 欧美 日韩 在线 | 日本成人不卡 | 在线91精品亚洲网站精品成人 | 亚洲高清一区二区三区久久 | 亚洲黄色高清 | 91日本视频 | 国产精品亚洲午夜不卡 | 夜夜操天天插 | 久操免费在线视频 | 国产精品视频永久免费播放 | 亚洲色无码播放 | 毛片成人永久免费视频 | 老潮湿影院免费体验区 | 亚洲成人精品视频 |