[發(fā)明專利]基于循環(huán)隊列的衛(wèi)星程控指令維護方法有效
| 申請?zhí)枺?/td> | 201710583022.9 | 申請日: | 2017-07-17 |
| 公開(公告)號: | CN107562443B | 公開(公告)日: | 2020-09-15 |
| 發(fā)明(設(shè)計)人: | 郭艷麗;吳侃侃;李美光;田華 | 申請(專利權(quán))人: | 上海衛(wèi)星工程研究所 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 上海漢聲知識產(chǎn)權(quán)代理有限公司 31236 | 代理人: | 郭國中 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 循環(huán) 隊列 衛(wèi)星 程控 指令 維護 方法 | ||
本發(fā)明公開了一種基于循環(huán)隊列的衛(wèi)星程控指令維護方法,其包括下列步驟:步驟一,星載軟件通過基于時間排序的循環(huán)隊列來存儲和維護程控指令;步驟二,各程控任務(wù)產(chǎn)生的指令按照發(fā)送通道的類別及執(zhí)行時間順序插入到相應(yīng)指令隊列中等待執(zhí)行;步驟三,星載軟件周期性地查詢隊列并完成指令的發(fā)送或者延遲處理。本發(fā)明基于循環(huán)隊列的衛(wèi)星程控指令維護方法針對程控指令類型建立循環(huán)隊列用于指令的存儲,隊列中所有指令基于時間排序。星載軟件通過周期性地查詢獲得滿足發(fā)送條件的指令并完成發(fā)送,或者在指令并發(fā)量未超過額定閾值時對指令作延遲處理,確保所有指令能夠在合理時間范圍內(nèi)有序發(fā)送。
技術(shù)領(lǐng)域
本發(fā)明涉及一種衛(wèi)星程控指令維護方法,特別是涉及一種基于循環(huán)隊列的衛(wèi)星程控指令維護方法。
背景技術(shù)
人造衛(wèi)星在太空中需要按照預(yù)定計劃執(zhí)行特定的任務(wù),比如在星箭分離之后執(zhí)行太陽帆板展開、對日定向等一系列動作,或者當衛(wèi)星經(jīng)過地面接收站時提前開啟測控應(yīng)答機、數(shù)傳終端機等單機進行星地通信。這些任務(wù)通常對動作的執(zhí)行時間、執(zhí)行順序要求高,必須通過星載軟件自主完成。星載軟件一般通過判定時間、地理位置或者遙測狀態(tài)等滿足相應(yīng)條件時,發(fā)送程控指令給單機,或者電源、姿控以及加熱器等相關(guān)衛(wèi)星部件,控制整星工作狀態(tài)來完成給定任務(wù)。
隨著衛(wèi)星應(yīng)用的日益復(fù)雜,程控任務(wù)的規(guī)模也越來越龐大。另一方面,程控指令對執(zhí)行時間、執(zhí)行順序要求高,指令的錯亂、丟失或者執(zhí)行時間超出預(yù)期范圍都可能會導(dǎo)致任務(wù)的失敗,因此迫切需要一種可靠的程控指令維護方法,確保所有指令都能按照預(yù)定的時間范圍、順序準確發(fā)送。
從程序設(shè)計的角度看,可采用FIFO(First In First Out)隊列、鏈表或者數(shù)組等數(shù)據(jù)結(jié)構(gòu)來對程控指令進行維護,但是這些數(shù)據(jù)結(jié)構(gòu)存在如下問題:一、安全性問題,動態(tài)開辟內(nèi)存空間的數(shù)據(jù)結(jié)構(gòu)比如鏈表極易導(dǎo)致內(nèi)存泄露問題,會嚴重損害星載軟件的安全性和可靠性;二、星載軟件在某個時間段內(nèi)可能會產(chǎn)生多個程控指令序列,而后產(chǎn)生的指令序列可能因為緊急程度高需要被先執(zhí)行,采用普通FIFO類型的數(shù)據(jù)結(jié)構(gòu)不能滿足應(yīng)用要求;三、效率問題,采用普通數(shù)組等數(shù)據(jù)結(jié)構(gòu)維護程控指令時,需要輪詢才能夠獲得所有滿足發(fā)送條件的程控指令,影響指令發(fā)送效率;四、星載軟件作為嵌入式軟件,代碼量受到嚴格的限制,采用鏈表等復(fù)雜的數(shù)據(jù)結(jié)構(gòu)勢必會導(dǎo)致代碼量大幅增加,在工程運用中出現(xiàn)困難。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于循環(huán)隊列的衛(wèi)星程控指令維護方法,其針對程控指令類型建立循環(huán)隊列用于指令的存儲,隊列中所有指令基于時間排序,星載軟件通過周期性地查詢獲得滿足發(fā)送條件的指令并完成發(fā)送,或者在指令并發(fā)量未超過額定閾值時對指令作延遲處理,確保所有指令能夠在合理時間范圍內(nèi)有序發(fā)送,由于指令隊列采用靜態(tài)地方式分配內(nèi)存空間,并且隊列操作簡單,有利于其在工程實踐中實施運用。
本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的:一種基于循環(huán)隊列的衛(wèi)星程控指令維護方法,其包括下列步驟:
步驟一,星載軟件通過基于時間排序的循環(huán)隊列來存儲和維護程控指令;
步驟二,各程控任務(wù)產(chǎn)生的指令按照發(fā)送通道的類別及執(zhí)行時間順序插入到相應(yīng)指令隊列中等待執(zhí)行;
步驟三,星載軟件周期性地查詢隊列;
步驟四,星載軟件在指令滿足發(fā)送條件時完成指令的發(fā)送,或者在指令并發(fā)量未超過額定閾值時對指令作延遲處理,確保所有指令在合理時間范圍內(nèi)按照其所在指令隊列中的順序完成發(fā)送。
優(yōu)選地,所述指令隊列針對各指令發(fā)送通道分別建立的程控指令緩存隊列,采用靜態(tài)內(nèi)存空間分配,并且隊列中指令是基于指令的時間碼進行排序。
優(yōu)選地,所述指令隊列通過隊頭指針和隊尾指針來對隊列元素進行插入、查詢、獲取操作,并在邏輯上首尾相連,循環(huán)利用隊列空間。
優(yōu)選地,所述指令發(fā)送通道為程控指令路由到指令接收方的物理傳輸通道。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海衛(wèi)星工程研究所,未經(jīng)上海衛(wèi)星工程研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710583022.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 定位系統(tǒng)、信息提供裝置及終端裝置
- 衛(wèi)星接收信號調(diào)試方法、系統(tǒng)及設(shè)備
- 衛(wèi)星定位方法
- 一種捕獲衛(wèi)星組的方法和裝置
- 衛(wèi)星捕獲方法及裝置
- 基于分布式星群的數(shù)據(jù)傳輸方法和裝置
- 一種基于K-means++聚類算法的北斗導(dǎo)航系統(tǒng)故障檢測方法及檢測系統(tǒng)
- 一種用于衛(wèi)星網(wǎng)絡(luò)的通信方法、裝置和設(shè)備
- 基于遺傳算法的成像衛(wèi)星調(diào)度方法和系統(tǒng)
- 成像衛(wèi)星的任務(wù)調(diào)度方法和系統(tǒng)





