本技術(shù)主要涉及衛(wèi)星軟件重構(gòu),尤其涉及一種星載軟件重構(gòu)方法、裝置及電子設(shè)備。
背景技術(shù):
1、星載軟件上注是指在衛(wèi)星搭載的軟件功能需要進(jìn)行較大更改的情況下,地面系統(tǒng)(如,測控站)通過測控鏈路將新的星載軟件上傳至衛(wèi)星,并替換原有軟件。目前,隨著衛(wèi)星任務(wù)復(fù)雜度的提高,軟件開發(fā)工作變得愈加復(fù)雜,軟件上注數(shù)據(jù)塊也越來越大,如此可能會(huì)出現(xiàn)地面系統(tǒng)無法在較短時(shí)間內(nèi)向衛(wèi)星上傳需要完整的星載軟件,給衛(wèi)星的運(yùn)維管理帶來困難。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)的目的在于提供一種星載軟件重構(gòu)方法、裝置及電子設(shè)備,用于減少星載軟件的上注時(shí)間,并提升衛(wèi)星裝載新的軟件的效率。
2、為達(dá)到上述目的,本技術(shù)的第一方面,提供了一種星載軟件重構(gòu)方法,該方法應(yīng)用于衛(wèi)星系統(tǒng),所述衛(wèi)星系統(tǒng)對(duì)應(yīng)于衛(wèi)星中處理規(guī)劃計(jì)算機(jī)的至少一個(gè)計(jì)算節(jié)點(diǎn),每一計(jì)算節(jié)點(diǎn)用于處理相應(yīng)一種類型的文件,所述方法包括:
3、獲取目標(biāo)星載軟件的原始文件,對(duì)所述原始文件進(jìn)行編碼壓縮,獲得目標(biāo)傳輸文件,其中,所述目標(biāo)傳輸文件至少包括:所述原始文件的文件類型、所述原始文件的目標(biāo)存儲(chǔ)地址、所述原始文件的數(shù)據(jù)長度以及所述原始文件的累加校驗(yàn)和;
4、將所述目標(biāo)傳輸文件發(fā)送至所述處理規(guī)劃計(jì)算機(jī),觸發(fā)所述處理規(guī)劃計(jì)算機(jī)從所述至少一個(gè)計(jì)算節(jié)點(diǎn)中選取出與所述文件類型關(guān)聯(lián)的目標(biāo)計(jì)算節(jié)點(diǎn),并在所述目標(biāo)計(jì)算節(jié)點(diǎn)中存儲(chǔ)所述目標(biāo)傳輸文件,在存儲(chǔ)過程中:基于所述數(shù)據(jù)長度及所述累加校驗(yàn)和,對(duì)接收到的所述目標(biāo)傳輸文件進(jìn)行數(shù)據(jù)校驗(yàn);
5、向所述處理規(guī)劃計(jì)算機(jī)發(fā)送重構(gòu)指令,觸發(fā)所述處理規(guī)劃計(jì)算機(jī)解壓所述目標(biāo)傳輸文件,獲得所述原始文件,并基于所述原始文件對(duì)所述目標(biāo)計(jì)算節(jié)點(diǎn)進(jìn)行重構(gòu)。
6、在一種可選的實(shí)施方式中,所述對(duì)所述原始文件進(jìn)行編碼壓縮,獲得目標(biāo)傳輸文件,包括:
7、按照所述原始文件的字節(jié)排序依次讀取所述原始文件的多個(gè)字節(jié),每讀取一次,執(zhí)行以下操作:
8、判斷讀取的一個(gè)字節(jié)的值是否為零;若是,根據(jù)所述一個(gè)字節(jié)的值生成與所述一個(gè)字節(jié)對(duì)應(yīng)的一個(gè)第一壓縮元素及一個(gè)第一密鑰元素,否則,讀取下i個(gè)值為零的候選字節(jié),并根據(jù)所述一個(gè)字節(jié)及所述下i個(gè)候選字節(jié)的值生成與所述一個(gè)字節(jié)及所述下i個(gè)候選字節(jié)對(duì)應(yīng)的一個(gè)第二壓縮元素及一個(gè)第二密鑰元素,其中,i為大于等于0且小于等于32的整數(shù);
9、根據(jù)生成的各第一壓縮元素、各第二壓縮元素,獲得所述原始文件對(duì)應(yīng)的壓縮包,并根據(jù)生成的各第一密鑰元素、各第二密鑰元素,獲得所述原始文件對(duì)應(yīng)的密鑰包;
10、將所述文件類型、所述目標(biāo)存儲(chǔ)地址、所述數(shù)據(jù)長度以及所述累加校驗(yàn)和分別攜帶進(jìn)所述壓縮包及所述密鑰包中,獲得相應(yīng)目標(biāo)傳輸文件。
11、在一種可選的實(shí)施方式中,所述將所述目標(biāo)傳輸文件發(fā)送至所述處理規(guī)劃計(jì)算機(jī),包括:
12、將所述目標(biāo)傳輸文件分割為多個(gè)指定包長的傳輸文件幀,并將所述多個(gè)傳輸文件幀分別通過高速鏈路通道發(fā)送至所述衛(wèi)星中的應(yīng)答機(jī),以使所述應(yīng)答機(jī)發(fā)送所述目標(biāo)傳輸文件至所述處理規(guī)劃計(jì)算機(jī)。
13、在一種可選的實(shí)施方式中,所述向所述處理規(guī)劃計(jì)算機(jī)發(fā)送重構(gòu)指令,觸發(fā)所述處理規(guī)劃計(jì)算機(jī)解壓所述目標(biāo)傳輸文件,獲得所述原始文件,并基于所述原始文件對(duì)所述目標(biāo)計(jì)算節(jié)點(diǎn)進(jìn)行重構(gòu),包括:
14、向所述處理規(guī)劃計(jì)算機(jī)發(fā)送遙控指令,觸發(fā)所述處理規(guī)劃計(jì)算機(jī)解壓所述目標(biāo)傳輸文件,獲得所述原始文件;以及
15、向所述處理規(guī)劃計(jì)算機(jī)發(fā)送節(jié)點(diǎn)寫入指令,觸發(fā)所述處理規(guī)劃計(jì)算機(jī)進(jìn)入重構(gòu)模式,并在重構(gòu)模式中,基于所述原始文件對(duì)所述目標(biāo)計(jì)算節(jié)點(diǎn)進(jìn)行重構(gòu)。
16、在一種可選的實(shí)施方式中,所述向所述處理規(guī)劃計(jì)算機(jī)發(fā)送節(jié)點(diǎn)重構(gòu)指令之后,還包括:
17、向所述處理規(guī)劃計(jì)算機(jī)發(fā)送節(jié)點(diǎn)重啟指令,觸發(fā)所述處理規(guī)劃計(jì)算機(jī)重啟所述目標(biāo)計(jì)算節(jié)點(diǎn)。
18、在本技術(shù)的第二方面,提供一種星載軟件重構(gòu)方法,該方法應(yīng)用于衛(wèi)星中具有至少一個(gè)計(jì)算節(jié)點(diǎn)的處理規(guī)劃計(jì)算機(jī),所述處理規(guī)劃計(jì)算機(jī)對(duì)應(yīng)于衛(wèi)星系統(tǒng),每一計(jì)算節(jié)點(diǎn)用于處理相應(yīng)一種類型的文件,所述方法包括:
19、接收所述衛(wèi)星系統(tǒng)發(fā)送的目標(biāo)傳輸文件,其中,所述目標(biāo)傳輸文件是所述衛(wèi)星系統(tǒng)對(duì)目標(biāo)星載軟件的原始文件進(jìn)行編碼壓縮獲得的,所述目標(biāo)傳輸文件至少包括:所述原始文件的文件類型、所述原始文件的目標(biāo)存儲(chǔ)地址、所述原始文件的數(shù)據(jù)長度以及所述原始文件的累加校驗(yàn)和;
20、從所述至少一個(gè)計(jì)算節(jié)點(diǎn)中選取出與所述文件類型關(guān)聯(lián)的目標(biāo)計(jì)算節(jié)點(diǎn),并在所述目標(biāo)計(jì)算節(jié)點(diǎn)中存儲(chǔ)所述目標(biāo)傳輸文件,在存儲(chǔ)過程中:基于所述數(shù)據(jù)長度及所述累加校驗(yàn)和,對(duì)接收到的所述目標(biāo)傳輸文件進(jìn)行數(shù)據(jù)校驗(yàn);
21、響應(yīng)于所述衛(wèi)星系統(tǒng)發(fā)送的重構(gòu)指令,解壓所述目標(biāo)傳輸文件,獲得所述原始文件,并基于所述原始文件對(duì)所述目標(biāo)計(jì)算節(jié)點(diǎn)進(jìn)行重構(gòu)。
22、在一種可選的實(shí)施方式中,所述基于所述數(shù)據(jù)長度及所述累加校驗(yàn)和,對(duì)接收到的所述目標(biāo)傳輸文件進(jìn)行數(shù)據(jù)校驗(yàn),包括:
23、當(dāng)接收到所述目標(biāo)傳輸文件的m個(gè)字節(jié)時(shí),計(jì)算所述m個(gè)字節(jié)對(duì)應(yīng)的當(dāng)前長度及當(dāng)前校驗(yàn)和,其中,m為預(yù)設(shè)整數(shù);
24、判斷所述當(dāng)前長度是否與所述數(shù)據(jù)長度匹配,以及判斷所述當(dāng)前校驗(yàn)和是否與所述累加校驗(yàn)和匹配;其中:
25、若所述當(dāng)前長度匹配于所述數(shù)據(jù)長度,且所述當(dāng)前校驗(yàn)和匹配于所述累加校驗(yàn)和,則確定所述目標(biāo)傳輸文件通過數(shù)據(jù)校驗(yàn)。
26、在本技術(shù)的第三方面,提供一種星載軟件重構(gòu)裝置,該裝置應(yīng)用于衛(wèi)星系統(tǒng),所述衛(wèi)星系統(tǒng)對(duì)應(yīng)于衛(wèi)星中處理規(guī)劃計(jì)算機(jī)的至少一個(gè)計(jì)算節(jié)點(diǎn),每一計(jì)算節(jié)點(diǎn)用于處理相應(yīng)一種類型的文件,所述裝置包括:
27、軟件壓縮模塊,用于獲取目標(biāo)星載軟件的原始文件,對(duì)所述原始文件進(jìn)行編碼壓縮,獲得目標(biāo)傳輸文件,其中,所述目標(biāo)傳輸文件至少包括:所述原始文件的文件類型、所述原始文件的目標(biāo)存儲(chǔ)地址、所述原始文件的數(shù)據(jù)長度以及所述原始文件的累加校驗(yàn)和;
28、文件傳輸模塊,用于將所述目標(biāo)傳輸文件發(fā)送至所述處理規(guī)劃計(jì)算機(jī),觸發(fā)所述處理規(guī)劃計(jì)算機(jī)從所述至少一個(gè)計(jì)算節(jié)點(diǎn)中選取出與所述文件類型關(guān)聯(lián)的目標(biāo)計(jì)算節(jié)點(diǎn),并在所述目標(biāo)計(jì)算節(jié)點(diǎn)中存儲(chǔ)所述目標(biāo)傳輸文件,在存儲(chǔ)過程中:基于所述數(shù)據(jù)長度及所述累加校驗(yàn)和,對(duì)接收到的所述目標(biāo)傳輸文件進(jìn)行數(shù)據(jù)校驗(yàn);
29、指令重構(gòu)模塊,用于向所述處理規(guī)劃計(jì)算機(jī)發(fā)送重構(gòu)指令,觸發(fā)所述處理規(guī)劃計(jì)算機(jī)解壓所述目標(biāo)傳輸文件,獲得所述原始文件,并基于所述原始文件對(duì)所述目標(biāo)計(jì)算節(jié)點(diǎn)進(jìn)行重構(gòu)。
30、在本技術(shù)的第四方面,提供一種星載軟件重構(gòu)裝置,該裝置應(yīng)用于衛(wèi)星中具有至少一個(gè)計(jì)算節(jié)點(diǎn)的處理規(guī)劃計(jì)算機(jī),所述處理規(guī)劃計(jì)算機(jī)對(duì)應(yīng)于衛(wèi)星系統(tǒng),每一計(jì)算節(jié)點(diǎn)用于處理相應(yīng)一種類型的文件,所述裝置包括:
31、文件接收模塊,用于接收所述衛(wèi)星系統(tǒng)發(fā)送的目標(biāo)傳輸文件,其中,所述目標(biāo)傳輸文件是所述衛(wèi)星系統(tǒng)對(duì)目標(biāo)星載軟件的原始文件進(jìn)行編碼壓縮獲得的,所述目標(biāo)傳輸文件至少包括:所述原始文件的文件類型、所述原始文件的目標(biāo)存儲(chǔ)地址、所述原始文件的數(shù)據(jù)長度以及所述原始文件的累加校驗(yàn)和;
32、節(jié)點(diǎn)存儲(chǔ)模塊,用于從所述至少一個(gè)計(jì)算節(jié)點(diǎn)中選取出與所述文件類型關(guān)聯(lián)的目標(biāo)計(jì)算節(jié)點(diǎn),并在所述目標(biāo)計(jì)算節(jié)點(diǎn)中存儲(chǔ)所述目標(biāo)傳輸文件,在存儲(chǔ)過程中:基于所述數(shù)據(jù)長度及所述累加校驗(yàn)和,對(duì)接收到的所述目標(biāo)傳輸文件進(jìn)行數(shù)據(jù)校驗(yàn);
33、軟件重構(gòu)模塊,用于響應(yīng)于所述衛(wèi)星系統(tǒng)發(fā)送的重構(gòu)指令,解壓所述目標(biāo)傳輸文件,獲得所述原始文件,并基于所述原始文件對(duì)所述目標(biāo)計(jì)算節(jié)點(diǎn)進(jìn)行重構(gòu)。
34、在本技術(shù)的第五方面,提供一種電子設(shè)備,包括存儲(chǔ)器以及處理器,所述存儲(chǔ)器中存儲(chǔ)有指令,所述指令被所述處理器調(diào)用時(shí),使得所述處理器執(zhí)行如上述第一方面或第二方面任一項(xiàng)所述的方法。
35、與現(xiàn)有技術(shù)相比,本技術(shù)具有以下優(yōu)點(diǎn):
36、本技術(shù)提供一種星載軟件重構(gòu)方法、裝置及電子設(shè)備,通過地面系統(tǒng)壓縮目標(biāo)星載軟件的原始文件,并觸發(fā)衛(wèi)星在目標(biāo)計(jì)算節(jié)點(diǎn)中存儲(chǔ)目標(biāo)傳輸文件,直到地面系統(tǒng)發(fā)起重構(gòu)指令衛(wèi)星解壓目標(biāo)傳輸文件,從而減少了星載軟件的上注時(shí)間,并提升了衛(wèi)星裝載新星務(wù)軟件的效率。