国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法

      文檔序號(hào):7773102閱讀:336來(lái)源:國(guó)知局
      一種面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法
      【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法,包括:根據(jù)更新需求,準(zhǔn)備軟件更新數(shù)據(jù)包;通過(guò)無(wú)線電通信方式將軟件更新數(shù)據(jù)包下載到任務(wù)控制計(jì)算機(jī),為了保證軟件下載的可靠性,采用了軟件數(shù)據(jù)包分包下載和數(shù)據(jù)傳輸握手的下載方式;任務(wù)控制計(jì)算機(jī)將分包接收的軟件更新數(shù)據(jù)包進(jìn)行合并及一次解包,將各子更新數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)通信方式發(fā)送到相應(yīng)的功能計(jì)算機(jī);需要更新的各水下功能計(jì)算機(jī)將接收到的子更新數(shù)據(jù)包進(jìn)行二次解包,然后進(jìn)行軟件更新。本發(fā)明采用多種通信模式相結(jié)合的方法進(jìn)行軟件更新,使得水下無(wú)人航行器的軟件更新過(guò)程更加方便、快捷。
      【專(zhuān)利說(shuō)明】一種面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及軟件更新領(lǐng)域,尤其涉及一種面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法。
      【背景技術(shù)】
      [0002]控制軟件對(duì)水下無(wú)人航行器來(lái)說(shuō),好比水下無(wú)人航行器的靈魂,軟件的成熟度在一定程度上決定了水下無(wú)人航行器的成熟度。水下無(wú)人航行器在試驗(yàn)過(guò)程中可能需要不斷對(duì)安裝在水下無(wú)人航行器密封艙內(nèi)的任務(wù)控制計(jì)算機(jī)、運(yùn)動(dòng)控制計(jì)算機(jī)、導(dǎo)航計(jì)算機(jī)、定位導(dǎo)引計(jì)算機(jī)等功能計(jì)算機(jī)的軟件進(jìn)行更新。而目前,采用傳統(tǒng)方式對(duì)水下無(wú)人航行器進(jìn)行軟件更新必須將其回收,然后通過(guò)網(wǎng)絡(luò)通信方式進(jìn)行軟件更新。水面監(jiān)控計(jì)算機(jī)作為服務(wù)器端存儲(chǔ)水下各功能計(jì)算機(jī)所需的軟件更新數(shù)據(jù)包,而水下功能計(jì)算機(jī)作為客戶端與服務(wù)器建立網(wǎng)絡(luò)連接,然后通過(guò)網(wǎng)絡(luò)接收服務(wù)器端發(fā)送的更新數(shù)據(jù)包,這就是傳統(tǒng)的水下無(wú)人航行器進(jìn)行軟件更新的方式。由于受到網(wǎng)絡(luò)通信距離的限制,傳統(tǒng)的軟件更新方式必須在近距離內(nèi)完成。
      [0003]上述傳統(tǒng)的水下無(wú)人航行器進(jìn)行軟件更新的方式存在如下缺點(diǎn):由于網(wǎng)絡(luò)通信距離短,因此對(duì)于正在執(zhí)行水下作業(yè)的水下無(wú)人航行器來(lái)說(shuō)若要進(jìn)行軟件更新,必須對(duì)其進(jìn)行回收,有線網(wǎng)絡(luò)通信通常還需要人工將網(wǎng)線插在水下無(wú)人航行器上才可以進(jìn)行通信,無(wú)線網(wǎng)絡(luò)通信作用距離十分受限。這種軟件更新通信方式不僅中斷了正在進(jìn)行的水下作業(yè),而且增加了回收成本??傊?,這種方式不適合對(duì)遠(yuǎn)程作業(yè)的水下無(wú)人航行器進(jìn)行軟件更新。

      【發(fā)明內(nèi)容】

      [0004]本發(fā)明的目的在于提供一種能夠方便,快捷,且有效地對(duì)遠(yuǎn)距離作業(yè)的水下無(wú)人航行器進(jìn)行軟件更新的方法。軟件更新過(guò)程中以水面監(jiān)控計(jì)算機(jī)為更新軟件發(fā)送方,水下任務(wù)控制計(jì)算機(jī)一次接收方,各功能計(jì)算機(jī)為二次接收方,采用多種通信模式相結(jié)合的方法進(jìn)行數(shù)據(jù)傳輸,整個(gè)過(guò)程不需起吊回收、不需拆裝水下無(wú)人航行器,使得水下無(wú)人航行器的軟件更新過(guò)程更加方便、快捷,尤其是可以實(shí)現(xiàn)水下無(wú)人航行器的遠(yuǎn)程軟件更新。
      [0005]本發(fā)明是通過(guò)以下步驟實(shí)現(xiàn)的:
      [0006]a)根據(jù)更新需求,水面監(jiān)控計(jì)算機(jī)將水下各功能計(jì)算機(jī)所需更新軟件的相應(yīng)文件進(jìn)行封裝處理,準(zhǔn)備軟件更新數(shù)據(jù)包;
      [0007]b)水面監(jiān)控計(jì)算機(jī)向任務(wù)控制計(jì)算機(jī)發(fā)送軟件更新通知;
      [0008]c)任務(wù)控制計(jì)算機(jī)接收到水面監(jiān)控計(jì)算機(jī)的軟件更新通知后,根據(jù)水下無(wú)人航行器的工作狀態(tài)選擇合適的通信模式實(shí)現(xiàn)水面監(jiān)控計(jì)算機(jī)與任務(wù)控制計(jì)算機(jī)間的應(yīng)答;
      [0009]d)水面監(jiān)控計(jì)算機(jī)接收到任務(wù)控制計(jì)算機(jī)的軟件更新應(yīng)答后,通過(guò)無(wú)線電、衛(wèi)星通信或水聲通信方式將軟件更新數(shù)據(jù)包下載到任務(wù)控制計(jì)算機(jī),為了保證軟件下載的可靠性,采用了軟件數(shù)據(jù)包分包下載和數(shù)據(jù)傳輸握手的下載方式;
      [0010]e)任務(wù)控制計(jì)算機(jī)將分包接收的軟件更新數(shù)據(jù)包進(jìn)行合并及一次解包,根據(jù)子更新數(shù)據(jù)包的標(biāo)識(shí)判斷需要軟件更新的功能計(jì)算機(jī),并通知其進(jìn)行軟件更新準(zhǔn)備,然后將各子更新數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)通信方式發(fā)送到相應(yīng)功能計(jì)算機(jī);
      [0011]f)需要軟件更新的各水下功能計(jì)算機(jī)將接收到的子更新數(shù)據(jù)包進(jìn)行二次解包,然后進(jìn)行軟件更新,以軟件更新文件置換相應(yīng)軟件舊文件;
      [0012]g)相應(yīng)的水下功能計(jì)算機(jī)在軟件更新完畢后,通過(guò)網(wǎng)絡(luò)通信方式告知任務(wù)控制計(jì)算機(jī)更新完畢,然后由任務(wù)控制計(jì)算機(jī)通過(guò)無(wú)線電、衛(wèi)星通信或水聲通信方式向水面監(jiān)控計(jì)算機(jī)報(bào)告軟件更新完畢;
      [0013]h)水面監(jiān)控計(jì)算機(jī)根據(jù)水下各功能計(jì)算機(jī)的更新完成情況判斷是否需要重新發(fā)送,若有功能計(jì)算機(jī)軟件更新失敗,則由水面監(jiān)控計(jì)算機(jī)重新發(fā)送更新數(shù)據(jù)包,重復(fù)步驟a) _h),否則結(jié)束軟件更新過(guò)程。
      [0014]所述的軟件更新步驟a)中準(zhǔn)備更新數(shù)據(jù)包還包括以下分步驟:
      [0015]al)水面監(jiān)控計(jì)算機(jī)將水下需要軟件更新的各功能計(jì)算機(jī)標(biāo)識(shí)及其所需更新軟件的相應(yīng)文件進(jìn)行封裝,形成子更新數(shù)據(jù)包,子更新數(shù)據(jù)包的具體內(nèi)容包括需要軟件更新的功能計(jì)算機(jī)標(biāo)識(shí)、所需更新軟件相應(yīng)文件的文件名長(zhǎng)度、文件內(nèi)容的長(zhǎng)度、文件名、文件內(nèi)容及校驗(yàn)碼等;
      [0016]a2)水面監(jiān)控計(jì)算機(jī)將各子更新數(shù)據(jù)包合并,與軟件更新標(biāo)識(shí)、包長(zhǎng)及校驗(yàn)碼等進(jìn)行二次封裝,形成軟件更新數(shù)據(jù)包,軟件更新數(shù)據(jù)包的具體內(nèi)容包括包長(zhǎng)、軟件更新標(biāo)識(shí)、各子更新數(shù)據(jù)包、校驗(yàn)碼等。
      [0017]所述的軟件更新步驟b)和c)中水面監(jiān)控計(jì)算機(jī)向任務(wù)控制計(jì)算機(jī)發(fā)送更新通知且任務(wù)控制計(jì)算機(jī)接收到更新通知后進(jìn)行應(yīng)答并進(jìn)行軟件更新準(zhǔn)備。
      [0018]所述的軟件更新步驟d)中水面監(jiān)控計(jì)算機(jī)通過(guò)無(wú)線電通信方式將軟件更新數(shù)據(jù)包下載到任務(wù)控制計(jì)算機(jī),為了保證軟件下載的可靠性,采用了軟件數(shù)據(jù)包分包下載和數(shù)據(jù)傳輸握手的下載方式,此過(guò)程具體包括以下步驟:
      [0019]dl)水面監(jiān)控計(jì)算機(jī)將軟件更新數(shù)據(jù)包通過(guò)無(wú)線電、衛(wèi)星通信或水聲通信方式分包下載到任務(wù)控制計(jì)算機(jī);
      [0020]d2)任務(wù)控制計(jì)算機(jī)接收完軟件更新數(shù)據(jù)包,先通過(guò)對(duì)包長(zhǎng)及校驗(yàn)碼的分析判斷數(shù)據(jù)包是否完整,然后向水面監(jiān)控計(jì)算機(jī)發(fā)送一個(gè)反饋數(shù)據(jù)包。所述反饋數(shù)據(jù)包包括軟件更新數(shù)據(jù)包標(biāo)識(shí)及該數(shù)據(jù)包是否完整的標(biāo)識(shí);
      [0021]d3)水面監(jiān)控計(jì)算機(jī)收到任務(wù)控制計(jì)算機(jī)發(fā)送的反饋數(shù)據(jù)包后,根據(jù)其中的數(shù)據(jù)包是否完整的標(biāo)識(shí)進(jìn)行判斷,若不完整,則重新發(fā)送。
      [0022]所述的軟件更新步驟e)中具體包括以下步驟:
      [0023]el)任務(wù)控制計(jì)算機(jī)接收到完整的軟件更新數(shù)據(jù)包后,進(jìn)行一次解包,根據(jù)數(shù)據(jù)包中需要進(jìn)行軟件更新功能計(jì)算機(jī)的標(biāo)識(shí)將各子更新數(shù)據(jù)包分離;
      [0024]e2)任務(wù)控制計(jì)算機(jī)通知需要軟件更新的功能計(jì)算機(jī)進(jìn)行軟件更新準(zhǔn)備;
      [0025]e3)任務(wù)控制計(jì)算機(jī)將各子更新數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)通信方式發(fā)送到各相應(yīng)功能計(jì)算機(jī)。
      [0026]所述的軟件更新步驟f)中需要更新的各水下功能計(jì)算機(jī)將接收到的子更新數(shù)據(jù)包進(jìn)行二次解包,然后進(jìn)行軟件更新,以軟件更新文件置換相應(yīng)軟件舊文件,此過(guò)程具體包括以下步驟:[0027]fl)各水下功能計(jì)算機(jī)將接收到的子更新數(shù)據(jù)包進(jìn)行二次解包,獲得所需更新軟件的文件名稱(chēng)長(zhǎng)度和文件內(nèi)容長(zhǎng)度;
      [0028]f2)根據(jù)文件名長(zhǎng)度獲得文件名稱(chēng),根據(jù)文件內(nèi)容長(zhǎng)度獲得所需更新的文件內(nèi)容;
      [0029]f3)各水下功能計(jì)算機(jī)對(duì)二次解包后得到的文件名進(jìn)行檢測(cè)。若該文件已經(jīng)存在,則將其內(nèi)容直接置換為解包得到的文件內(nèi)容,否則創(chuàng)建該文件,并將其內(nèi)容置換為解包得到的文件內(nèi)容;
      [0030]f4)更新完畢,準(zhǔn)備更新完畢數(shù)據(jù)包。
      [0031]所述的軟件更新步驟g)中具體包括以下步驟:
      [0032]gl)相應(yīng)的水下功能計(jì)算機(jī)在軟件更新完畢后,通過(guò)網(wǎng)絡(luò)通信方式將更新完畢數(shù)據(jù)包發(fā)送到任務(wù)控制計(jì)算機(jī);
      [0033]g2)任務(wù)控制計(jì)算機(jī)將接收到的各功能計(jì)算機(jī)的更新完畢數(shù)據(jù)包通過(guò)無(wú)線電通信方式發(fā)送到水面監(jiān)控計(jì)算機(jī)。更新完畢數(shù)據(jù)包具體內(nèi)容包括功能計(jì)算機(jī)的標(biāo)識(shí)及軟件更新是否成功的標(biāo)識(shí)。
      [0034]所述的軟件更新步驟h)中水面監(jiān)控計(jì)算機(jī)根據(jù)水下各功能計(jì)算機(jī)的更新完成情況判斷是否需要重新發(fā)送,若有功能計(jì)算機(jī)軟件更新失敗,則由水面監(jiān)控計(jì)算機(jī)重新發(fā)送更新數(shù)據(jù)包,重復(fù)步驟a) -h),否則結(jié)束軟件更新過(guò)程,具體包括以下步驟:
      [0035]hi)水面監(jiān)控計(jì)算機(jī)將各更新完畢數(shù)據(jù)包進(jìn)行解包,根據(jù)水下各功能計(jì)算機(jī)的標(biāo)識(shí)及其軟件更新是否成功的標(biāo)識(shí)判斷是否需要重新發(fā)送;
      [0036]h2)若有功能計(jì)算機(jī)軟件未更新成功,則重新發(fā)送,重復(fù)步驟a)_h),否則結(jié)束軟件更新過(guò)程。
      [0037]所述步驟h)中的若有軟件未更新成功的功能計(jì)算機(jī),則重新發(fā)送,重復(fù)步驟a) _h),其特征在于,再次執(zhí)行步驟a)準(zhǔn)備軟件更新數(shù)據(jù)包時(shí)只需將軟件更新未成功的功能計(jì)算機(jī)的更新數(shù)據(jù)進(jìn)行封裝,對(duì)已經(jīng)更新成功的功能計(jì)算機(jī)無(wú)需重復(fù)更新。
      [0038]與傳統(tǒng)水下無(wú)人航行器軟件更新方法相比,本發(fā)明的優(yōu)點(diǎn)在于能夠?qū)崿F(xiàn)對(duì)水下無(wú)人航行器內(nèi)部整個(gè)計(jì)算機(jī)系統(tǒng)的軟件進(jìn)行遠(yuǎn)程更新,軟件更新距離相比傳統(tǒng)水下無(wú)人航行器軟件更新方法來(lái)說(shuō)大大增加。采用本發(fā)明進(jìn)行軟件更新時(shí)不需要對(duì)水下無(wú)人航行器進(jìn)行起吊、回收,尤其適用于遠(yuǎn)程作業(yè)的水下無(wú)人航行器。本發(fā)明是面向水下無(wú)人航行器的一種方便,快捷且有效的軟件遠(yuǎn)程更新方法。
      【專(zhuān)利附圖】

      【附圖說(shuō)明】
      [0039]圖1是面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法的方框圖;
      [0040]圖2是面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法的流程圖;
      [0041]圖3是水面監(jiān)控計(jì)算機(jī)發(fā)送更新通知與任務(wù)控制計(jì)算機(jī)應(yīng)答的流程圖;
      [0042]圖4是軟件數(shù)據(jù)包分包下載和數(shù)據(jù)傳輸握手的流程圖;
      [0043]圖5是水下無(wú)人航行器內(nèi)部計(jì)算機(jī)軟件更新過(guò)程流程圖。
      【具體實(shí)施方式】
      [0044]本發(fā)明提出一種面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法,用于通過(guò)水面監(jiān)控計(jì)算機(jī)對(duì)安裝在水下無(wú)人航行器密封艙內(nèi)的任務(wù)控制計(jì)算機(jī)、運(yùn)動(dòng)控制計(jì)算機(jī)、導(dǎo)航計(jì)算機(jī)、定位導(dǎo)引計(jì)算機(jī)等功能計(jì)算機(jī)的軟件遠(yuǎn)程更新。根據(jù)通信條件及遠(yuǎn)程作業(yè)任務(wù)需求,采用無(wú)線電、衛(wèi)星通信和水聲通信相結(jié)合的多種通信模式進(jìn)行軟件更新數(shù)據(jù)傳輸,考慮到上述三種通信方式存在一次傳輸數(shù)據(jù)量小的特點(diǎn),提出使用軟件更新數(shù)據(jù)包分包下載和數(shù)據(jù)傳輸握手的遠(yuǎn)程下載方式,以保證軟件下載的可靠性。由于本發(fā)明采用多種通信模式相結(jié)合的方法進(jìn)行軟件更新,整個(gè)過(guò)程不需起吊回收、不需拆裝水下無(wú)人航行器,使得水下無(wú)人航行器的軟件更新過(guò)程更加方便、快捷,尤其是可以實(shí)現(xiàn)水下無(wú)人航行器的遠(yuǎn)程軟件更新。
      [0045]本發(fā)明可廣泛應(yīng)用于水下無(wú)人航行器的遠(yuǎn)程軟件更新中,可方便有效地對(duì)水下無(wú)人航行器的軟件進(jìn)行遠(yuǎn)距離的更新。下面結(jié)合附圖,進(jìn)一步說(shuō)明本發(fā)明的特點(diǎn)和功能。
      [0046]本發(fā)明實(shí)施例提供了一種面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法,包括:(I)多種通訊模式用于軟件遠(yuǎn)程更新數(shù)據(jù)傳輸;(2)水面監(jiān)控計(jì)算機(jī)對(duì)更新軟件數(shù)據(jù)包的封裝;(3)功能計(jì)算機(jī)子更新數(shù)據(jù)包;(4)軟件更新數(shù)據(jù)包;(5)水面監(jiān)控計(jì)算機(jī)與水下無(wú)人航行器的應(yīng)答通信;(6)軟件更新數(shù)據(jù)包分包下載和數(shù)據(jù)傳輸握手的遠(yuǎn)程下載方式;(7)軟件數(shù)據(jù)包合并及解包;(8)執(zhí)行軟件更新;(9)更新完畢數(shù)據(jù)包;(10)軟件更新完成情況判斷。
      [0047]其中,多種通訊模式用于軟件遠(yuǎn)程更新數(shù)據(jù)傳輸,水面監(jiān)控計(jì)算機(jī)可以通過(guò)網(wǎng)絡(luò)、無(wú)線電、衛(wèi)星通信和水聲通訊四種通信模式與水下無(wú)人航行器進(jìn)行數(shù)據(jù)傳輸,并可根據(jù)通信條件及水下無(wú)人航行器工作需求在四種通訊模式間進(jìn)行切換。
      [0048]優(yōu)選的,水面監(jiān)控計(jì)算機(jī)對(duì)更新軟件數(shù)據(jù)包進(jìn)行封裝。首先將水下需要進(jìn)行軟件更新的各功能計(jì)算機(jī)標(biāo)識(shí)及其所需更新軟件的相應(yīng)文件進(jìn)行封裝,形成子更新數(shù)據(jù)包,其次將各子更新數(shù)據(jù)包合并,同時(shí)與軟件更新標(biāo)識(shí)、包長(zhǎng)及校驗(yàn)碼等進(jìn)行二次封裝,形成軟件更新數(shù)據(jù)包。
      [0049]可選的,功能計(jì)算機(jī)子更新數(shù)據(jù)包的具體內(nèi)容包括需要更新的功能計(jì)算機(jī)標(biāo)識(shí)、所需更新軟件相應(yīng)文件的文件名長(zhǎng)度、文件內(nèi)容的長(zhǎng)度、文件名、文件內(nèi)容及校驗(yàn)碼等。
      [0050]可選的,軟件更新數(shù)據(jù)包的具體內(nèi)容包括包長(zhǎng)、軟件更新標(biāo)識(shí)、功能計(jì)算機(jī)子更新數(shù)據(jù)包、校驗(yàn)碼等。
      [0051]優(yōu)選的,根據(jù)水下無(wú)人航行器的工作狀態(tài)選擇相應(yīng)的通信模式實(shí)現(xiàn)水面監(jiān)控計(jì)算機(jī)與任務(wù)控制計(jì)算機(jī)間的應(yīng)答通信。
      [0052]優(yōu)選的,提出使用軟件更新數(shù)據(jù)包分包下載和數(shù)據(jù)傳輸握手的遠(yuǎn)程下載方式,以保證軟件下載的可靠性。具體包括以下步驟:
      [0053]水面監(jiān)控計(jì)算機(jī)將軟件更新數(shù)據(jù)包以分包下載的方式傳輸至任務(wù)控制計(jì)算機(jī),傳輸數(shù)據(jù)通信模式根據(jù)水下無(wú)人航行器的工作狀態(tài)在無(wú)線電、衛(wèi)星通信和水聲通信之間自由切換;
      [0054]任務(wù)控制計(jì)算機(jī)接收完更新數(shù)據(jù)包后,先通過(guò)對(duì)包長(zhǎng)及校驗(yàn)碼的分析判斷數(shù)據(jù)包是否完整,然后向水面監(jiān)控計(jì)算機(jī)發(fā)送一個(gè)反饋數(shù)據(jù)包。所述反饋數(shù)據(jù)包包括軟件更新數(shù)據(jù)包標(biāo)識(shí)及該數(shù)據(jù)包是否完整的標(biāo)識(shí);
      [0055]水面監(jiān)控計(jì)算機(jī)收到任務(wù)控制計(jì)算機(jī)發(fā)送的反饋數(shù)據(jù)包后,根據(jù)其中的數(shù)據(jù)包是否完整的標(biāo)識(shí)進(jìn)行判斷,若不完整,則重新發(fā)送,實(shí)現(xiàn)數(shù)據(jù)傳輸握手。
      [0056]優(yōu)選的,需要對(duì)接收到的軟件更新數(shù)據(jù)包進(jìn)行合并及解包。任務(wù)控制計(jì)算機(jī)將分包接收的軟件更新數(shù)據(jù)包合并然后進(jìn)行一次解包,根據(jù)子更新數(shù)據(jù)包的標(biāo)識(shí)判斷需要更新的功能計(jì)算機(jī),并通知其進(jìn)行軟件更新準(zhǔn)備,同時(shí)將各子更新數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)通信方式發(fā)送到相應(yīng)功能計(jì)算機(jī),需要更新的各水下功能計(jì)算機(jī)將接收到的子更新數(shù)據(jù)包進(jìn)行二次解包。
      [0057]可選的,執(zhí)行軟件更新是以軟件更新數(shù)據(jù)包文件置換相應(yīng)軟件舊文件,并在更新完畢后,準(zhǔn)備更新完畢數(shù)據(jù)包。
      [0058]優(yōu)選的,由各功能計(jì)算機(jī)生成更新完畢數(shù)據(jù)包,其具體內(nèi)容包括各功能計(jì)算機(jī)的標(biāo)識(shí)及其軟件更新是否成功的標(biāo)識(shí)。各功能計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)通信方式將更新完畢數(shù)據(jù)包發(fā)送到任務(wù)控制計(jì)算機(jī),任務(wù)控制計(jì)算機(jī)將接收到的更新完畢數(shù)據(jù)包通過(guò)無(wú)線電、衛(wèi)星通信或水聲通信方式發(fā)送到水面監(jiān)控計(jì)算機(jī)。
      [0059]優(yōu)選的,需對(duì)軟件更新完成情況判斷。水面監(jiān)控計(jì)算機(jī)根據(jù)接收的更新完畢數(shù)據(jù)包判斷更新完成情況及是否需要重新發(fā)送軟件更新數(shù)據(jù)包。若有功能計(jì)算機(jī)軟件更新失敗,則由水面監(jiān)控計(jì)算機(jī)重新發(fā)送更新數(shù)據(jù)包,再次執(zhí)行準(zhǔn)備軟件更新數(shù)據(jù)包時(shí)只需將軟件更新失敗的功能計(jì)算機(jī)的更新數(shù)據(jù)進(jìn)行封裝,對(duì)已經(jīng)更新成功的功能計(jì)算機(jī)無(wú)需重復(fù)更新。否則,軟件更新過(guò)程完畢。
      [0060]圖1是面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法的方框圖。水下無(wú)人航行器密封艙內(nèi)的功能計(jì)算機(jī)主要包括任務(wù)控制計(jì)算機(jī)、運(yùn)動(dòng)控制計(jì)算機(jī)、導(dǎo)航計(jì)算機(jī)、定位導(dǎo)引計(jì)算機(jī)等。本發(fā)明針對(duì)該水下無(wú)人航行器系統(tǒng)進(jìn)行軟件遠(yuǎn)程更新,水面監(jiān)控計(jì)算機(jī)與任務(wù)控制計(jì)算機(jī)之間的信息交互采用無(wú)線電、衛(wèi)星通信或者水聲通信方式,而水下無(wú)人航行器內(nèi)部任務(wù)控制計(jì)算機(jī)與其它功能計(jì)算機(jī)之間的信息交互采用網(wǎng)絡(luò)通信方式。水面監(jiān)控計(jì)算機(jī)將各功能計(jì)算機(jī)所需的軟件更新信息進(jìn)行封裝,將軟件更新數(shù)據(jù)包下載到任務(wù)控制計(jì)算機(jī),然后由任務(wù)控制計(jì)算機(jī)將一次解包后得到的各子更新數(shù)據(jù)包發(fā)送給其它各相應(yīng)功能計(jì)算機(jī)。各功能計(jì)算機(jī)更新完畢,告知任務(wù)控制機(jī),再由任務(wù)控制計(jì)算機(jī)將更新完畢數(shù)據(jù)包發(fā)送到水面監(jiān)控計(jì)算機(jī)。水面監(jiān)控計(jì)算機(jī)根據(jù)更新完畢數(shù)據(jù)包判斷是否有功能計(jì)算機(jī)軟件更新失敗,若有則需重新發(fā)送更新數(shù)據(jù)包。
      [0061]圖2是面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法的程序流程圖。具體步驟可表述為:
      [0062]步驟I,根據(jù)軟件更新需求,水面監(jiān)控計(jì)算機(jī)將水下各功能計(jì)算機(jī)所需更新軟件的相應(yīng)文件進(jìn)行封裝處理,準(zhǔn)備軟件更新數(shù)據(jù)包,此過(guò)程還包括以下步驟:
      [0063]I)水面監(jiān)控計(jì)算機(jī)將水下需要軟件更新的各功能計(jì)算機(jī)標(biāo)識(shí)及其所需更新軟件的相應(yīng)文件進(jìn)行封裝,形成子更新數(shù)據(jù)包;
      [0064]2)水面監(jiān)控計(jì)算機(jī)將各子更新數(shù)據(jù)包合并,與軟件更新標(biāo)識(shí)、包長(zhǎng)及校驗(yàn)碼等進(jìn)行二次封裝,形成軟件更新數(shù)據(jù)包;
      [0065]其中,各功能計(jì)算機(jī)的子更新數(shù)據(jù)包的具體內(nèi)容包括需要更新的功能計(jì)算機(jī)標(biāo)識(shí)、所需更新軟件相應(yīng)文件的文件名長(zhǎng)度、文件內(nèi)容的長(zhǎng)度、文件名、文件內(nèi)容及校驗(yàn)碼等。軟件更新數(shù)據(jù)包的具體內(nèi)容包括包長(zhǎng)、軟件更新標(biāo)識(shí)、各子更新數(shù)據(jù)包、校驗(yàn)碼等。
      [0066]步驟2,水面監(jiān)控計(jì)算機(jī)向任務(wù)控制計(jì)算機(jī)發(fā)送軟件更新通知;
      [0067]步驟3,任務(wù)控制計(jì)算機(jī)接收到水面監(jiān)控計(jì)算機(jī)的軟件更新通知后,根據(jù)水下無(wú)人航行器的工作狀態(tài)選擇合適的通信模式實(shí)現(xiàn)水面監(jiān)控計(jì)算機(jī)與任務(wù)控制計(jì)算機(jī)間的應(yīng)答;步驟2和步驟3的具體過(guò)程見(jiàn)圖3。
      [0068]步驟4,水面監(jiān)控計(jì)算機(jī)接收到任務(wù)控制計(jì)算機(jī)的軟件更新應(yīng)答后,通過(guò)無(wú)線電、衛(wèi)星通信或水聲通信方式將軟件更新數(shù)據(jù)包下載到任務(wù)控制計(jì)算機(jī),為了保證軟件下載的可靠性,采用了軟件數(shù)據(jù)包分包下載和數(shù)據(jù)傳輸握手的下載方式,具體見(jiàn)圖4。
      [0069]步驟5,任務(wù)控制計(jì)算機(jī)將分包接收的軟件更新數(shù)據(jù)包進(jìn)行合并及一次解包,根據(jù)子更新數(shù)據(jù)包中的功能計(jì)算機(jī)標(biāo)識(shí)判斷需要軟件更新的功能計(jì)算機(jī),并通知其進(jìn)行軟件更新準(zhǔn)備,然后將各子更新數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)通信方式發(fā)送到相應(yīng)功能計(jì)算機(jī)。
      [0070]步驟6,需要軟件更新的各水下功能計(jì)算機(jī)將接收到的子更新數(shù)據(jù)包進(jìn)行二次解包,然后進(jìn)行軟件更新,以軟件更新文件置換相應(yīng)軟件舊文件。
      [0071]步驟7,各水下功能計(jì)算機(jī)在軟件更新完畢后,通過(guò)網(wǎng)絡(luò)通信方式將更新完畢數(shù)據(jù)包發(fā)送到任務(wù)控制計(jì)算機(jī)。任務(wù)控制計(jì)算機(jī)將接收到的各功能計(jì)算機(jī)的更新完畢數(shù)據(jù)包通過(guò)無(wú)線電通信方式發(fā)送到水面監(jiān)控計(jì)算機(jī)。步驟6和步驟7【具體實(shí)施方式】見(jiàn)圖5。
      [0072]步驟8,水面監(jiān)控計(jì)算機(jī)將各更新完畢數(shù)據(jù)包進(jìn)行解包,根據(jù)水下各功能計(jì)算機(jī)的標(biāo)識(shí)及其軟件更新是否成功的標(biāo)識(shí)判斷是否需要重新發(fā)送。若有功能計(jì)算機(jī)軟件更新失敗,則由水面監(jiān)控計(jì)算機(jī)重新發(fā)送更新數(shù)據(jù)包,重復(fù)步驟1-8,否則結(jié)束軟件更新過(guò)程。
      [0073]其中,若有功能計(jì)算機(jī)軟件未更新成功,再次執(zhí)行步驟I準(zhǔn)備軟件更新數(shù)據(jù)包時(shí)只需將軟件更新未成功的功能計(jì)算機(jī)的更新數(shù)據(jù)進(jìn)行封裝,對(duì)已經(jīng)更新成功的功能計(jì)算機(jī)無(wú)需重復(fù)更新。
      [0074]圖3是水面監(jiān)控計(jì)算機(jī)發(fā)送更新通知與任務(wù)控制計(jì)算機(jī)應(yīng)答的流程圖,詳細(xì)表述了步驟2和步驟3的具體過(guò)程。首先根據(jù)水下無(wú)人航行器的深度信息判斷其是處于水面工作狀態(tài)還是處于水下工作狀態(tài),如處于水面工作狀態(tài),則直接通過(guò)無(wú)線電或衛(wèi)星通信方式向任務(wù)控制計(jì)算機(jī)發(fā)送軟件更新通知;如處于水下工作狀態(tài),則通過(guò)水聲通信方式向任務(wù)控制計(jì)算機(jī)發(fā)送軟件更新通知,然后根據(jù)作業(yè)任務(wù)需求進(jìn)一步判斷是否需要將水下無(wú)人航行器上浮至水面,若是,則任務(wù)控制計(jì)算機(jī)先控制水下無(wú)人航行器上浮至水面,然后通過(guò)無(wú)線電或衛(wèi)星通信方式對(duì)水面監(jiān)控計(jì)算機(jī)的軟件更新通知進(jìn)行應(yīng)答,若否,則通過(guò)水聲通訊方式進(jìn)行應(yīng)答。
      [0075]圖4是軟件數(shù)據(jù)包分包下載和數(shù)據(jù)傳輸握手的流程圖,是步驟4的詳細(xì)步驟,首先水面監(jiān)控計(jì)算機(jī)將軟件更新數(shù)據(jù)包通過(guò)無(wú)線電通信方式分包下載到任務(wù)控制計(jì)算機(jī);任務(wù)控制計(jì)算機(jī)接收完更新數(shù)據(jù)包后,先通過(guò)對(duì)包長(zhǎng)及校驗(yàn)碼的分析判斷數(shù)據(jù)包是否完整,然后向水面監(jiān)控計(jì)算機(jī)發(fā)送一個(gè)反饋數(shù)據(jù)包。所述反饋數(shù)據(jù)包包括軟件更新數(shù)據(jù)包標(biāo)識(shí)及該數(shù)據(jù)包是否完整的標(biāo)識(shí);水面監(jiān)控計(jì)算機(jī)收到任務(wù)控制計(jì)算機(jī)發(fā)送的反饋數(shù)據(jù)包后,根據(jù)其中的數(shù)據(jù)包是否完整的標(biāo)識(shí)進(jìn)行判斷,若不完整,則重新發(fā)送。
      [0076]圖5是水下無(wú)人航行器內(nèi)部計(jì)算機(jī)軟件更新過(guò)程流程圖,是步驟6和步驟7的具體實(shí)施過(guò)程,各水下功能計(jì)算機(jī)將接收到的子更新數(shù)據(jù)包進(jìn)行二次解包,獲得所需更新軟件的文件名稱(chēng)長(zhǎng)度和文件內(nèi)容長(zhǎng)度;根據(jù)文件名長(zhǎng)度獲得文件名稱(chēng),根據(jù)文件內(nèi)容長(zhǎng)度獲得所需更新的文件內(nèi)容;各水下功能計(jì)算機(jī)對(duì)解包后得到的文件名進(jìn)行檢測(cè)。若該文件已經(jīng)存在,則將其內(nèi)容直接置換為解包得到的文件內(nèi)容,否則創(chuàng)建該文件,并將其內(nèi)容置換為解包得到的文件內(nèi)容;更新完畢,準(zhǔn)備更新完畢數(shù)據(jù)包。其中,所述更新完畢數(shù)據(jù)包具體內(nèi)容包括功能計(jì)算機(jī)的標(biāo)識(shí)及其軟件更新是否成功的標(biāo)識(shí)。[0077]本發(fā)明主要面向水下無(wú)人航行器的遠(yuǎn)程軟件更新,可方便有效地對(duì)水下無(wú)人航行器的軟件進(jìn)行遠(yuǎn)距離的更新。在不脫離本發(fā)明思想的情況下,凡應(yīng)用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所做的各種等效變化,均理同包含于本發(fā)明的權(quán)利要求范圍內(nèi)。
      【權(quán)利要求】
      1.一種面向水下無(wú)人航行器的軟件遠(yuǎn)程更新方法,其特征在于,包括: a)根據(jù)更新需求,水面監(jiān)控計(jì)算機(jī)生成軟件更新數(shù)據(jù)包; b)所述水面監(jiān)控計(jì)算機(jī)向任務(wù)控制計(jì)算機(jī)發(fā)送軟件更新通知; c)所述任務(wù)控制計(jì)算機(jī)接收到所述水面監(jiān)控計(jì)算機(jī)的軟件更新通知后,根據(jù)水下無(wú)人航行器的工作狀態(tài)選擇通信模式向所述水面監(jiān)控計(jì)算機(jī)發(fā)送軟件更新應(yīng)答; d)所述水面監(jiān)控計(jì)算機(jī)接收到所述任務(wù)控制計(jì)算機(jī)的軟件更新應(yīng)答后,將軟件更新數(shù)據(jù)包發(fā)送到任務(wù)控制計(jì)算機(jī); e)所述任務(wù)控制計(jì)算機(jī)將接收的軟件更新數(shù)據(jù)包進(jìn)行合并及一次解包,根據(jù)子更新數(shù)據(jù)包的標(biāo)識(shí)判斷需要軟件更新的功能計(jì)算機(jī),并將各子更新數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)通信方式發(fā)送到需要軟件更新的功能計(jì)算機(jī); f)需要軟件更新的各水下功能計(jì)算機(jī)將接收到的子更新數(shù)據(jù)包進(jìn)行二次解包,然后進(jìn)行軟件更新。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟f)之后,還包括: g)需要軟件更新的水下功能計(jì)算機(jī)在軟件更新完畢后,告知所述任務(wù)控制計(jì)算機(jī)更新完畢,然后由所述任務(wù)控制計(jì)算機(jī)向所述水面監(jiān)控計(jì)算機(jī)報(bào)告軟件更新完畢; h)所述水面監(jiān)控計(jì)算機(jī)根據(jù)水下各功能計(jì)算機(jī)的更新完成情況判斷是否需要重新發(fā)送軟件更新數(shù)據(jù)包,若有功能計(jì)算機(jī)軟件更新失敗,則由所述水面監(jiān)控計(jì)算機(jī)重新發(fā)送軟件更新數(shù)據(jù)包,否則結(jié)束軟件更新過(guò)程。
      3.根據(jù)權(quán)利要求1所述`的方法,其特征在于,所述步驟a)包括: al)所述水面監(jiān)控計(jì)算機(jī)將水下需要軟件更新的各功能計(jì)算機(jī)標(biāo)識(shí)及其所需更新軟件的相應(yīng)文件進(jìn)行封裝,形成子更新數(shù)據(jù)包; a2)所述水面監(jiān)控計(jì)算機(jī)將各子更新數(shù)據(jù)包合并,與軟件更新標(biāo)識(shí)、包長(zhǎng)及校驗(yàn)碼等進(jìn)行二次封裝,形成軟件更新數(shù)據(jù)包。
      4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述子更新數(shù)據(jù)包包括:需要軟件更新的功能計(jì)算機(jī)標(biāo)識(shí)、所需更新軟件的文件的文件名長(zhǎng)度、文件內(nèi)容的長(zhǎng)度、文件名、文件內(nèi)容及校驗(yàn)碼;所述軟件更新數(shù)據(jù)包包括:包長(zhǎng)、軟件更新標(biāo)識(shí)、各子更新數(shù)據(jù)包、及校驗(yàn)碼。
      5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟d)包括: dl)所述水面監(jiān)控計(jì)算機(jī)將軟件更新數(shù)據(jù)包通過(guò)無(wú)線電、衛(wèi)星通信或水聲通信方式分包發(fā)送到所述任務(wù)控制計(jì)算機(jī); d2)所述任務(wù)控制計(jì)算機(jī)接收完軟件更新數(shù)據(jù)包之后,通過(guò)對(duì)包長(zhǎng)及校驗(yàn)碼的分析判斷數(shù)據(jù)包是否完整,然后向水面監(jiān)控計(jì)算機(jī)發(fā)送反饋數(shù)據(jù)包,所述反饋數(shù)據(jù)包包括軟件更新數(shù)據(jù)包標(biāo)識(shí)及該數(shù)據(jù)包是否完整的標(biāo)識(shí); d3)所述水面監(jiān)控計(jì)算機(jī)收到所述任務(wù)控制計(jì)算機(jī)發(fā)送的反饋數(shù)據(jù)包后,根據(jù)其中的數(shù)據(jù)包是否完整的標(biāo)識(shí)進(jìn)行判斷,若判斷該數(shù)據(jù)包不完整,則重新發(fā)送該數(shù)據(jù)包。
      6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟f)包括: Π)各水下功能計(jì)算機(jī)將接收到的子更新數(shù)據(jù)包進(jìn)行二次解包,獲得所需更新軟件的文件名稱(chēng)長(zhǎng)度和文件內(nèi)容長(zhǎng)度; f2)根據(jù)文件名長(zhǎng)度獲得文件名稱(chēng),根據(jù)文件內(nèi)容長(zhǎng)度獲得所需更新的文件內(nèi)容; f3)各水下功能計(jì)算機(jī)對(duì)二次解包后得到的文件名進(jìn)行檢測(cè),若該文件已經(jīng)存在,則將其內(nèi)容直接置換為解包得到的文件內(nèi)容,否則創(chuàng)建該文件,并將其內(nèi)容置換為解包得到的文件內(nèi)容; f4)更新完畢,準(zhǔn)備更新完畢數(shù)據(jù)包。
      7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟g)包括: gl)相應(yīng)的水下功能計(jì)算機(jī)在軟件更新完畢后,通過(guò)網(wǎng)絡(luò)通信方式將更新完畢數(shù)據(jù)包發(fā)送到所述任務(wù)控制計(jì)算機(jī); g2)所述任務(wù)控制計(jì)算機(jī)將接收到的各功能計(jì)算機(jī)的更新完畢數(shù)據(jù)包通過(guò)無(wú)線電通信方式發(fā)送到水面監(jiān)控計(jì)算機(jī),其中,更新完畢數(shù)據(jù)包包括功能計(jì)算機(jī)的標(biāo)識(shí)及軟件更新是否成功的標(biāo)識(shí)。
      8.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟h)包括: hi)水面監(jiān)控計(jì)算機(jī)將各更新完畢數(shù)據(jù)包進(jìn)行解包,根據(jù)水下各功能計(jì)算機(jī)的標(biāo)識(shí)及其軟件更新是否成功的標(biāo)識(shí)判斷是否需要重新發(fā)送; h2)若有功能計(jì)算機(jī)軟件未更 新成功,則重新發(fā)送,重復(fù)步驟a) -h),否則結(jié)束軟件更新過(guò)程。
      【文檔編號(hào)】H04L29/08GK103533041SQ201310467759
      【公開(kāi)日】2014年1月22日 申請(qǐng)日期:2013年10月9日 優(yōu)先權(quán)日:2013年10月9日
      【發(fā)明者】嚴(yán)浙平, 李聰聰, 徐健, 李本銀, 周佳加, 陳濤 申請(qǐng)人:哈爾濱工程大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1