一種星載軟件中條件統(tǒng)計型需求的處理方法和裝置制造方法
【專利摘要】一種星載軟件中條件統(tǒng)計型需求的處理方法和裝置,其中方法包括:(1)根據(jù)需要統(tǒng)計的總周期數(shù)M中滿足給定條件的周期次數(shù)N創(chuàng)建N維數(shù)組并初始化,其中,所述數(shù)組按順序方式存儲滿足給定條件的周期序號;(2)更新所述數(shù)組,并使所述數(shù)組中非0元素均排列在數(shù)組前列;(3)判斷當(dāng)前周期對應(yīng)條件是否滿足所述給定條件,若滿足,則將所述數(shù)組中首個0元素取值更新為所述總周期數(shù)M;(4)獲取所述數(shù)組的非0元素個數(shù)C;(5)判斷所述非0元素個數(shù)C是否滿足預(yù)設(shè)的條件統(tǒng)計型需求,若滿足,則執(zhí)行預(yù)設(shè)動作,若不滿足,則返回執(zhí)行步驟(2)。本發(fā)明可節(jié)省大量內(nèi)存,消耗處理器資源較少。
【專利說明】一種星載軟件中條件統(tǒng)計型需求的處理方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及星載軟件處理【技術(shù)領(lǐng)域】,尤其涉及一種星載軟件中的條件統(tǒng)計型需求 的處理方法和裝置。
【背景技術(shù)】
[0002] 在星載軟件中,存在較多的條件統(tǒng)計型需求。如在姿控模塊中,需求描述"在連續(xù) 200個周期內(nèi),三軸角速率絕對值大于0. 5度/秒的周期數(shù)大于20,則工作模式切換為安全 模式"、"在連續(xù)64周期內(nèi),姿態(tài)無效次數(shù)小于5次,則軌控推力器開"、"連續(xù)50周期內(nèi),單 機未正常返回遙測次數(shù)大于5,則判斷其為無效"等。這類需求描述的特點為需要統(tǒng)計一段 時間內(nèi)滿足給定條件的次數(shù),稱之為條件統(tǒng)計型需求。假定,條件統(tǒng)計型需求需要統(tǒng)計的最 近M周期內(nèi)滿足給定條件的次數(shù)為N,實際統(tǒng)計最近M周期內(nèi)條件滿足的次數(shù)為C ;進一步 的,可以將條件統(tǒng)計型需求歸結(jié)為兩種類型--ON型需求和C〈N型需求,具體描述為: 1) ON型需求:在連續(xù)的M周期內(nèi),條件滿足的次數(shù)C大于等于N次,則執(zhí)行動作A ; 2) C〈N型需求:在連續(xù)的M周期內(nèi),條件滿足的次數(shù)C小于N次,則執(zhí)行動作A。
[0003] 根據(jù)星載軟件需求的特點,一般情況下有:20〈M〈1000、N/M〈0. 2。針對這類需求,在 星載軟件設(shè)計中實際統(tǒng)計最近M周期內(nèi)條件滿足的次數(shù)C,當(dāng)C大于等于或是小于N時,執(zhí) 行相應(yīng)動作A。
[0004] 目前星載軟件中條件統(tǒng)計型需求的處理方法為:根據(jù)需要統(tǒng)計的周期數(shù)M定義一 個M維的數(shù)組,定義第i次滿足條件的情況記為S i (滿足條件則Si取1,否則取0),并采用 先入先出的方式維持M數(shù)組的狀態(tài)。
[0005] 參考圖1,現(xiàn)有條件統(tǒng)計型需求的處理方法的數(shù)組維護過程示意圖;令當(dāng)前周期 滿足條件情況為Q,則數(shù)組M維護過程為將S 1狀態(tài)丟棄,并置S1狀態(tài)等于S2狀態(tài),依次類 推,最后置Sm狀態(tài)為Q。
[0006] 當(dāng)i>M時,每周期進行判斷M次中滿足條件的次數(shù)C :對于ON型需求,則若C不 小于N,即;£名2 F,則執(zhí)行動作A ;對于C〈N型需求,則若C小于N,即;£盡< F ,則執(zhí)行動 i-1 Ul 作A。
[0007] 上述方法可以處理ON型需求、C〈N型需求。但對于星載計算機而言,其內(nèi)存資源 和處理器能力均受限(內(nèi)存一般不超過2M bytes,處理器主頻一般為不超過50MHz),上述方 法在M較大的情況下,由于需要定義M維數(shù)組,會消耗大量內(nèi)存,且對M維數(shù)組的維護和條 件判斷需要消耗較多的處理器資源,因此現(xiàn)有處理方法不適用于星載計算機中。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明所要解決的問題是針對現(xiàn)有條件統(tǒng)型需求處理方法會消耗大量內(nèi)存和處 理器資源,不適用于內(nèi)存資源和處理器能力均受限的星載計算機的技術(shù)問題,提供一種星 載軟件中的條件統(tǒng)計型需求的處理方法和裝置,實現(xiàn)節(jié)省大量內(nèi)存,減少處理器資源的消 耗。
[0009] 為了解決上述問題,本發(fā)明提供了一種星載軟件中的條件統(tǒng)計型需求的處理方 法,包括:(1)根據(jù)需要統(tǒng)計的總周期數(shù)M中滿足給定條件的周期次數(shù)N創(chuàng)建N維數(shù)組并初 始化,其中,所述數(shù)組按順序方式存儲滿足給定條件的周期序號;(2)更新所述數(shù)組,并使 所述數(shù)組中非〇元素均排列在數(shù)組前列;(3)判斷當(dāng)前周期對應(yīng)條件是否滿足所述給定條 件,若滿足,則將所述數(shù)組中首個〇元素取值更新為所述總周期數(shù)M ; (4)獲取所述數(shù)組的非 〇元素個數(shù)C ; (5)判斷所述非0元素個數(shù)C是否滿足預(yù)設(shè)的條件統(tǒng)計型需求,若滿足,則執(zhí) 行預(yù)設(shè)動作,若不滿足,則返回執(zhí)行步驟(2)。
[0010] 為了解決上述問題,本發(fā)明還提供了一種星載軟件中的條件統(tǒng)計型需求的處理方 裝置,包括:一數(shù)組創(chuàng)建單元、一更新單元、一條件判斷單元、一獲取單元以及一需求判斷單 元;所述數(shù)組創(chuàng)建單元用于根據(jù)需要統(tǒng)計的總周期數(shù)M中滿足給定條件的周期次數(shù)N創(chuàng)建 N維數(shù)組并初始化,其中,所述數(shù)組按順序方式存儲滿足給定條件的周期序號;所述更新單 元與所述數(shù)組創(chuàng)建單元相連,用于更新所述數(shù)組,并使所述數(shù)組中非〇元素均排列在數(shù)組 前列;所述條件判斷單元與所述更新單元相連,用于判斷當(dāng)前周期對應(yīng)條件是否滿足所述 給定條件,若滿足,則將所述數(shù)組中首個〇元素取值更新為所述總周期數(shù)M ;所述獲取單元 與所述條件判斷單元相連,用于獲取所述數(shù)組的非0元素個數(shù)C ;所述需求判斷單元分別與 所述獲取單元以及所述更新單元相連,用于判斷所述非〇元素個數(shù)C是否滿足預(yù)設(shè)的條件 統(tǒng)計型需求,若滿足,則執(zhí)行預(yù)設(shè)動作,若不滿足,則調(diào)用所述更新單元重新對所述數(shù)組進 行更新。
[0011] 本發(fā)明的優(yōu)點在于,本發(fā)明定義的全局變量數(shù)組F占用的內(nèi)存約為現(xiàn)有技術(shù)中條 件統(tǒng)計型需求的處理方法的209T40%,可節(jié)省大量內(nèi)存,在M較大的情況下,節(jié)省內(nèi)存的情 形更明顯。另外,本發(fā)明定義的數(shù)組F維數(shù)N較小,則處理數(shù)組時循環(huán)次數(shù)減少,從而消耗 處理器資源也相應(yīng)減少。
【專利附圖】
【附圖說明】
[0012] 圖1,現(xiàn)有條件統(tǒng)計型需求的處理方法的數(shù)組維護過程示意圖; 圖2,本發(fā)明所述的星載軟件中的條件統(tǒng)計型需求的處理方法流程示意圖; 圖3,本發(fā)明一實施例所創(chuàng)建的數(shù)組結(jié)構(gòu)示意圖; 圖4,本發(fā)明一實施例所示數(shù)組內(nèi)元素移位過程示意圖; 圖5,本發(fā)明一實施例所示數(shù)組內(nèi)元素移位之后的數(shù)組結(jié)構(gòu)示意圖; 圖6,本發(fā)明一實施例所示數(shù)組元素狀態(tài)更新結(jié)果示意圖; 圖7,本發(fā)明所述的星載軟件中的條件統(tǒng)計型需求的處理裝置示意圖。
【具體實施方式】
[0013] 以下結(jié)合附圖和具體實施例對本發(fā)明提供的星載軟件中的條件統(tǒng)計型需求的處 理方法和裝置做詳細(xì)說明。
[0014] 參考圖2,本發(fā)明所述的星載軟件中的條件統(tǒng)計型需求的處理方法流程示意圖。所 述方法包括以下步驟:S21 :根據(jù)需要統(tǒng)計的總周期數(shù)M中滿足給定條件的周期次數(shù)N創(chuàng)建 N維數(shù)組并初始化,其中,所述數(shù)組按順序方式存儲滿足給定條件的周期序號;S22 :更新所 述數(shù)組,并使所述數(shù)組中非O元素均排列在數(shù)組前列;S23 :判斷當(dāng)前周期對應(yīng)條件是否滿 足所述給定條件,若滿足,則將所述數(shù)組中首個〇元素取值更新為所述總周期數(shù)M ;S24 :獲 取所述數(shù)組的非O元素個數(shù)C ;S25 :判斷所述非O元素個數(shù)C是否滿足預(yù)設(shè)的條件統(tǒng)計型 需求,若滿足,則執(zhí)行預(yù)設(shè)動作,若不滿足,則返回執(zhí)行步驟S22。以下對本發(fā)明所述方法進 行詳細(xì)描述。
[0015] S21 :根據(jù)需要統(tǒng)計的總周期數(shù)M中滿足給定條件的周期次數(shù)N創(chuàng)建N維數(shù)組并初 始化。
[0016] 假定條件統(tǒng)計型需求需要統(tǒng)計的總周期數(shù)100中滿足給定條件的周期次數(shù)為10, 則創(chuàng)建10維數(shù)組F并初始化;其中,所述數(shù)組按順序方式存儲滿足給定條件的周期序號。
[0017] 參考圖3,本發(fā)明一實施例所創(chuàng)建的數(shù)組結(jié)構(gòu)示意圖。條件統(tǒng)計型需求需要統(tǒng)計的 總周期數(shù)為M,M周期內(nèi)需要滿足給定條件的周期次數(shù)為N ;則定義一個N維數(shù)組F,數(shù)組F 用于按順序存儲滿足給定條件的周期序號T (1〈=T〈=M+1)。初始狀態(tài),數(shù)組F所有元素T1In 取值均為〇,周期序號T初值為0。根據(jù)定義可知,數(shù)組F元素取值為周期序號,且按先后順 序排列,則相鄰兩個元素若均非〇,則后一個元素取值總比前一個大。進而可知,若數(shù)組F中 第一個元素為0,則后續(xù)均為0。則一般情況下數(shù)組F結(jié)構(gòu)如圖3所示,前i (i彡0)個元 素為非0,且各非0元素取值從小到大排序,即有T1CT2〈…〈1\。數(shù)組F以及周期序號T均為 全局變量,即當(dāng)前周期輸入的數(shù)組F、周期序號T為上一周期輸出值。采用數(shù)組F對ON型 需求、C〈N型需求進行描述,則需求處理轉(zhuǎn)換為對數(shù)組F的處理。
[0018] S22 :更新所述數(shù)組,并使所述數(shù)組中非0元素均排列在數(shù)組前列。
[0019] 作為可選的技術(shù)方案,數(shù)組更新可以采用下述流程實現(xiàn):1)置當(dāng)前周期序號為前 一周期序號加1,之后判斷當(dāng)前周期序號是否大于所述總周期數(shù)M,若是,則置當(dāng)前周期序 號為總周期數(shù)M加1并執(zhí)行步驟2),否則直接執(zhí)行步驟2) ;2)將所述數(shù)組中所有非0元素 均減一預(yù)設(shè)值;3)判斷所述數(shù)組的第一個元素是否為0,若是,則采用先入先出方式對所述 數(shù)組內(nèi)元素進行移位,重復(fù)本步驟直至所述數(shù)組的第一個元素為非0。可知,移位之后的數(shù) 組若非全〇,則其含t (0〈t < N)個非0值。
[0020] 以下通過實施例給出數(shù)組更新的具體過程。對當(dāng)前周期序號進行設(shè)置:當(dāng)前周期 序號為前一周期序號加1,即T=T+1 ;當(dāng)當(dāng)前周期序號T>總周期數(shù)M時,則置當(dāng)前周期序號 T為總周期數(shù)M加1后進行元素更新處理,否則不對當(dāng)前周期序號T的值進行處理而直接 進行元素更新處理。對當(dāng)前周期序號進行設(shè)置后進行元素更新處理:進入當(dāng)前周期后對數(shù) 組F的處理包括元素值更新和數(shù)組內(nèi)元素移位,保證數(shù)組F中非0元素均在前;具體過程如 下:a)數(shù)組F中所有非0元素均減一預(yù)設(shè)值,例如減I ;b)若數(shù)組F第一個元素T1為0,則 采用先入先出方式,所有元素均向前一位,將T2覆蓋T 1、T3覆蓋T2,如此類推,并置Tn為0。 數(shù)組內(nèi)元素移位過程如圖4所示。如此類推,直至所述數(shù)組的第一個元素為非0??芍?,移 位之后的數(shù)組F若非全0,則其含t (0〈t < N)個非0值,數(shù)組內(nèi)元素移位之后的數(shù)組結(jié)構(gòu)如 圖5所示。
[0021] S23:判斷當(dāng)前周期對應(yīng)條件是否滿足所述給定條件,若滿足,則將所述數(shù)組中首 個〇元素取值更新為所述總周期數(shù)M ;若不滿足則不對當(dāng)前數(shù)組進行元素狀態(tài)更新,并返回 執(zhí)行步驟S22。
[0022] 元素狀態(tài)更新為根據(jù)當(dāng)前周期判斷結(jié)果對更新之后的數(shù)組F進行元素取值更新 處理。具體方法為:判斷當(dāng)前周期對應(yīng)條件是否滿足所述給定條件,若不滿足,則不更新數(shù) 組F ;若滿足,則將數(shù)組F中首個O元素取值更新為總周期數(shù)M,數(shù)組元素狀態(tài)更新結(jié)果如圖 6所示。
[0023] S24 :獲取所述數(shù)組的非0元素個數(shù)C。
[0024] 根據(jù)上述數(shù)組F定義可知,當(dāng)前周期判斷結(jié)束,數(shù)組中最后一個非0元素對應(yīng)的維 數(shù)即為所述數(shù)組的非〇元素個數(shù)C。例如,圖6所示數(shù)組F中T t+1為最后一個非0元素,其 對應(yīng)的維數(shù)t+1即為所述數(shù)組的非0元素個數(shù)C。
[0025] S25 :判斷所述非0元素個數(shù)C是否滿足預(yù)設(shè)的條件統(tǒng)計型需求,若滿足,則執(zhí)行預(yù) 設(shè)動作,若不滿足,則返回執(zhí)行步驟S22。
[0026] 根據(jù)上述數(shù)組F定義可知,數(shù)組F中所有非0元素的個數(shù)C可直接反應(yīng)需求中條 件的滿足情況。以下分別給出ON型需求以及C〈N型需求的判斷方式。
[0027] 對于ON型需求,判斷所述非0元素個數(shù)C是否與所述數(shù)組的維數(shù)N相等,若相等, 則滿足預(yù)設(shè)的條件統(tǒng)計型需求;若不相等,則返回執(zhí)行步驟S22更新數(shù)組并繼續(xù)判斷。比 如,在姿控模塊中,需求描述"在連續(xù)200個周期內(nèi),三軸角速率絕對值大于0. 5度/秒的周 期數(shù)大于20,則工作模式切換為安全模式"。則創(chuàng)建的數(shù)組F為21維數(shù)組,若當(dāng)前周期判斷 結(jié)束、數(shù)組元素更新處理完畢,21維數(shù)組F所有元素均為非0,即非0元素個數(shù)C為21與 數(shù)組F的維數(shù)21相等,則滿足預(yù)設(shè)的條件統(tǒng)計型需求"在連續(xù)200個周期內(nèi),三軸角速率絕 對值大于〇. 5度/秒的周期數(shù)大于20",執(zhí)行"工作模式切換為安全模式"的預(yù)設(shè)動作。
[0028] 對于C〈N型需求,判斷所述非0元素個數(shù)C是否滿足預(yù)設(shè)的條件統(tǒng)計型需求具體 包括:1)判斷當(dāng)前周期序號是否大于等于所述總周期數(shù)M,若是則執(zhí)行步驟2),否則返回執(zhí) 行步驟S22 ;2)判斷所述數(shù)組中非0元素的個數(shù)C是否小于所述數(shù)組的維數(shù)N,若小于,則 滿足預(yù)設(shè)的條件統(tǒng)計型需求。比如,在姿控模塊中,需求描述"在連續(xù)64周期內(nèi),姿態(tài)無效 次數(shù)小于5次,則軌控推力器開"。則創(chuàng)建的數(shù)組F為5維數(shù)組,若當(dāng)前周期(比如,周期序 號為65)判斷結(jié)束、數(shù)組元素更新處理完畢,5維數(shù)組F最后一個非0元素的取值為64 ;其 對應(yīng)的維數(shù)Tt中,t=4,即非0元素個數(shù)C為4小于數(shù)組F的維數(shù)5,則滿足預(yù)設(shè)的條件統(tǒng)計 型需求"在連續(xù)64周期內(nèi),姿態(tài)無效次數(shù)小于5次",執(zhí)行"軌控推力器開"的預(yù)設(shè)動作。
[0029] 對于C〈N型需求,若當(dāng)前周期對應(yīng)條件滿足所述給定條件,且所述數(shù)組中非0元素 的個數(shù)C等于所述數(shù)組的維數(shù)N (即所述數(shù)組全非0)時,則采用先入先出方式對所述數(shù) 組進行移位,并置移位后所述數(shù)組中最后一個元素的取值為總周期數(shù)M,然后返回執(zhí)行步驟 S22更新數(shù)組并繼續(xù)判斷。
[0030] 根據(jù)星載軟件需求的特點,由于N/M〈0. 2,即N遠(yuǎn)遠(yuǎn)小于M,本發(fā)明定義的全局變量 數(shù)組F占用的內(nèi)存約為現(xiàn)有技術(shù)中條件統(tǒng)計型需求的處理方法的209T40% ;從而采用本發(fā) 明提供的星載軟件中條件統(tǒng)計型需求的處理方法,可節(jié)省大量內(nèi)存,在M較大的情況下,節(jié) 省內(nèi)存的情形更明顯。另外,本發(fā)明定義的數(shù)組F維數(shù)N較小,則處理數(shù)組時循環(huán)次數(shù)減少, 從而消耗處理器資源也相應(yīng)減少。
[0031] 參考圖7,本發(fā)明所述的星載軟件中的條件統(tǒng)計型需求的處理裝置,包括:一數(shù)組 創(chuàng)建單元71、一更新單元72、一條件判斷單元73、一獲取單元74以及一需求判斷單元75。
[0032] 所述數(shù)組創(chuàng)建單元71用于根據(jù)需要統(tǒng)計的總周期數(shù)M中滿足給定條件的周期次 數(shù)N創(chuàng)建N維數(shù)組并初始化。
[0033] 假定條件統(tǒng)計型需求需要統(tǒng)計100周期中滿足給定條件的周期次數(shù)為10,則創(chuàng)建 10維數(shù)組F并初始化;其中,所述數(shù)組F按順序方式存儲滿足給定條件的周期序號。所創(chuàng)建 的數(shù)組結(jié)構(gòu)可參考圖3所示,創(chuàng)建方法參照前述方法項描述此處不再贅述。采用數(shù)組F對 ON型需求、C〈N型需求進行描述,則需求處理轉(zhuǎn)換為對數(shù)組F的處理。
[0034] 所述更新單元72與所述數(shù)組創(chuàng)建單元71相連,用于更新所述數(shù)組,并使所述數(shù)組 中非0元素均排列在數(shù)組前列。
[0035] 作為可選的技術(shù)方案,所述更新單元72進一步包括一周期序號設(shè)置模塊721、一 減值計算模塊722以及一元素移位模塊723。所述周期序號設(shè)置模塊721,用于置當(dāng)前周期 序號為前一周期序號加1,之后判斷當(dāng)前周期序號是否大于所述總周期數(shù)M,若是,則置當(dāng) 前周期序號為總周期數(shù)M加1并調(diào)用所述減值計算模塊722,否則直接調(diào)用所述減值計算模 塊722。所述減值計算模塊722與所述周期序號設(shè)置模塊721相連,用于將所述數(shù)組中所有 非0元素均減一預(yù)設(shè)值,例如減1。所述元素移位模塊723與所述減值計算模塊722相連, 用于判斷所述數(shù)組的第一個元素是否為〇,若是,則采用先入先出方式對所述數(shù)組內(nèi)元素進 行移位,重復(fù)調(diào)用所述元素移位模塊723直至所述數(shù)組的第一個元素為非0 ;數(shù)組內(nèi)元素移 位過程如圖4所示。如此類推,直至所述數(shù)組的第一個元素為非0??芍?,移位之后的數(shù)組 若非全0,則其含t (0〈t < N)個非0值;數(shù)組內(nèi)元素移位之后的數(shù)組結(jié)構(gòu)如圖5所示。
[0036] 所述條件判斷單元73與所述更新單元72相連,用于判斷當(dāng)前周期對應(yīng)條件是否 滿足所述給定條件,若滿足,則將所述數(shù)組中首個〇元素取值更新為所述總周期數(shù)M ;若不 滿足則不對當(dāng)前數(shù)組進行元素狀態(tài)更新,并調(diào)用所述更新單元72。元素狀態(tài)更新為根據(jù)當(dāng) 前周期判斷結(jié)果對更新之后的數(shù)組F進行元素取值更新處理。具體方法參照前述方法項描 述此處不再贅述,數(shù)組元素狀態(tài)更新結(jié)果如圖6所示。
[0037] 所述獲取單元74與所述條件判斷單元73相連,用于獲取所述數(shù)組的非0元素個 數(shù)C。根據(jù)上述數(shù)組F定義可知,當(dāng)前周期判斷結(jié)束,數(shù)組中最后一個非0元素對應(yīng)的維數(shù) 即為所述數(shù)組的非0元素個數(shù)C。
[0038] 所述需求判斷單元75分別與所述獲取單元74以及所述更新單元72相連,用于判 斷所述非0元素個數(shù)C是否滿足預(yù)設(shè)的條件統(tǒng)計型需求,若滿足,則執(zhí)行預(yù)設(shè)動作,若不滿 足,則調(diào)用所述更新單元72重新對所述數(shù)組進行更新。根據(jù)上述數(shù)組F定義可知,數(shù)組F 中所有非0元素的個數(shù)C可直接反應(yīng)需求中條件的滿足情況。以下分別給出ON型需求以 及C〈N型需求的判斷方式。
[0039] 對于ON型需求,所述需求判斷單元75進一步用于判斷所述非0元素個數(shù)C是否 與所述數(shù)組的維數(shù)N相等,若相等,則滿足預(yù)設(shè)的條件統(tǒng)計型需求;若不相等,則調(diào)用所述 更新單元72更新數(shù)組并繼續(xù)判斷。具體判斷實例參照前述方法項描述此處不再贅述。
[0040] 對于C〈N型需求,所述需求判斷單元75進一步一第一判斷模塊751、一第二判斷模 塊752。所述第一判斷模塊751分別與所述第二判斷模塊752以及所述更新單元72相連, 用于判斷當(dāng)前周期序號是否大于等于所述總周期數(shù)M,若是則調(diào)用所述第二判斷模塊752, 否則調(diào)用所述更新單元72更新數(shù)組并繼續(xù)判斷。所述第二判斷模塊752用于判斷所述數(shù) 組中非〇元素的個數(shù)C是否小于所述數(shù)組的維數(shù)N,若小于,則滿足預(yù)設(shè)的條件統(tǒng)計型需求。 具體判斷實例參照前述方法項描述此處不再贅述。
[0041] 對于C〈N型需求,若當(dāng)前周期對應(yīng)條件滿足所述給定條件,且所述數(shù)組中非0元素 的個數(shù)C等于所述數(shù)組的維數(shù)N (即所述數(shù)組全非0)時,則所述需求判斷單元75進一步用 于采用先入先出方式對所述數(shù)組進行移位,并置移位后所述數(shù)組中最后一個元素的取值為 總周期數(shù)M。作為優(yōu)選的實施方式,所述需求判斷單元75進一步包括一數(shù)組移位模塊753, 所述數(shù)組移位模塊753分別與所述第二判斷模塊752以及所述更新單元72相連,用于在當(dāng) 前周期對應(yīng)條件滿足所述給定條件,且所述第二判斷模塊752判定所述數(shù)組中非0元素的 個數(shù)C等于所述數(shù)組的維數(shù)N時,采用先入先出方式對所述數(shù)組進行移位,并置移位后所述 數(shù)組中最后一個元素的取值為所述總周期數(shù)M,之后調(diào)用所述更新單元72。
[0042] 以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人 員,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為 本發(fā)明的保護范圍。
【權(quán)利要求】
1. 一種星載軟件中條件統(tǒng)計型需求的處理方法,其特征在于,包括: (1) 根據(jù)需要統(tǒng)計的總周期數(shù)M中滿足給定條件的周期次數(shù)N創(chuàng)建N維數(shù)組并初始化, 其中,所述數(shù)組按順序方式存儲滿足給定條件的周期序號; (2) 更新所述數(shù)組,并使所述數(shù)組中非0元素均排列在數(shù)組前列; (3) 判斷當(dāng)前周期對應(yīng)條件是否滿足所述給定條件,若滿足,則將所述數(shù)組中首個0元 素取值更新為所述總周期數(shù)M ; (4) 獲取所述數(shù)組的非0元素個數(shù)C ; (5) 判斷所述非0元素個數(shù)C是否滿足預(yù)設(shè)的條件統(tǒng)計型需求,若滿足,則執(zhí)行預(yù)設(shè)動 作,若不滿足,則返回執(zhí)行步驟(2 )。
2. 根據(jù)權(quán)利要求1所述的星載軟件中條件統(tǒng)計型需求的處理方法,其特征在于,所述 步驟(2)進一步包括:(21)置當(dāng)前周期序號為前一周期序號加1,之后判斷當(dāng)前周期序號是 否大于所述總周期數(shù)M,若是,則置當(dāng)前周期序號為總周期數(shù)M加1并執(zhí)行步驟(22),否則 直接執(zhí)行步驟(22) ; (22)將所述數(shù)組中所有非0元素均減一預(yù)設(shè)值;(23)判斷所述數(shù)組 的第一個元素是否為0,若是,則采用先入先出方式對所述數(shù)組內(nèi)元素進行移位,重復(fù)本步 驟直至所述數(shù)組的第一個元素為非0。
3. 根據(jù)權(quán)利要求1所述的星載軟件中條件統(tǒng)計型需求的處理方法,其特征在于,步驟 (5)進一步包括:判斷所述非0元素個數(shù)C是否與所述數(shù)組的維數(shù)N相等,若相等,則滿足 預(yù)設(shè)的條件統(tǒng)計型需求。
4. 根據(jù)權(quán)利要求1所述的星載軟件中條件統(tǒng)計型需求的處理方法,其特征在于,步驟 (5)進一步包括:(51)判斷當(dāng)前周期序號是否大于等于所述總周期數(shù)M,若是則執(zhí)行步驟 (52),否則返回執(zhí)行步驟(2) ; (52)判斷所述數(shù)組中非0元素的個數(shù)C是否小于所述數(shù)組 的維數(shù)N,若小于,則滿足預(yù)設(shè)的條件統(tǒng)計型需求。
5. 根據(jù)權(quán)利要求4所述的星載軟件中條件統(tǒng)計型需求的處理方法,其特征在于,所述 步驟(52)進一步包括:若當(dāng)前周期對應(yīng)條件滿足所述給定條件,且所述數(shù)組中非0元素的 個數(shù)C等于所述數(shù)組的維數(shù)N時,則采用先入先出方式對所述數(shù)組進行移位,并置移位后所 述數(shù)組中最后一個元素的取值為所述總周期數(shù)M,并返回執(zhí)行步驟(2)。
6. -種星載軟件中條件統(tǒng)計型需求的處理裝置,其特征在于,包括:一數(shù)組創(chuàng)建單元、 一更新單元、一條件判斷單元、一獲取單元以及一需求判斷單元; 所述數(shù)組創(chuàng)建單元用于根據(jù)需要統(tǒng)計的總周期數(shù)M中滿足給定條件的周期次數(shù)N創(chuàng)建 N維數(shù)組并初始化,其中,所述數(shù)組按順序方式存儲滿足給定條件的周期序號; 所述更新單元與所述數(shù)組創(chuàng)建單元相連,用于更新所述數(shù)組,并使所述數(shù)組中非〇元 素均排列在數(shù)組前列; 所述條件判斷單元與所述更新單元相連,用于判斷當(dāng)前周期對應(yīng)條件是否滿足所述給 定條件,若滿足,則將所述數(shù)組中首個〇元素取值更新為所述總周期數(shù)M ; 所述獲取單元與所述條件判斷單元相連,用于獲取所述數(shù)組的非〇元素個數(shù)C ; 所述需求判斷單元分別與所述獲取單元以及所述更新單元相連,用于判斷所述非〇元 素個數(shù)C是否滿足預(yù)設(shè)的條件統(tǒng)計型需求,若滿足,則執(zhí)行預(yù)設(shè)動作,若不滿足,則調(diào)用所 述更新單元重新對所述數(shù)組進行更新。
7. 根據(jù)權(quán)利要求6所述的星載軟件中條件統(tǒng)計型需求的處理裝置,其特征在于,所述 更新單元進一步包括一周期序號設(shè)置模塊、一減值計算模塊以及一元素移位模塊: 所述周期序號設(shè)置模塊,用于置當(dāng)前周期序號為前一周期序號加1,之后判斷當(dāng)前周期 序號是否大于所述總周期數(shù)M,若是,則置當(dāng)前周期序號為總周期數(shù)M加1并調(diào)用所述減值 計算模塊,否則直接調(diào)用所述減值計算模塊;所述減值計算模塊與所述周期序號設(shè)置模 塊相連,用于將所述數(shù)組中所有非〇元素均減一預(yù)設(shè)值;所述元素移位模塊與所述減值計 算模塊相連,用于判斷所述數(shù)組的第一個元素是否為〇,若是,則采用先入先出方式對所述 數(shù)組內(nèi)元素進行移位,重復(fù)調(diào)用所述元素移位模塊直至所述數(shù)組的第一個元素為非0。
8. 根據(jù)權(quán)利要求6所述的星載軟件中條件統(tǒng)計型需求的處理裝置,其特征在于,所述 需求判斷單元進一步用于判斷所述非〇元素個數(shù)C是否與所述數(shù)組的維數(shù)N相等,若相等, 則滿足預(yù)設(shè)的條件統(tǒng)計型需求。
9. 根據(jù)權(quán)利要求6所述的星載軟件中條件統(tǒng)計型需求的處理裝置,其特征在于,所述 需求判斷單元進一步包括一第一判斷模塊、一第二判斷模塊;所述第一判斷模塊分別與 所述第二判斷模塊以及所述更新單元相連,用于判斷當(dāng)前周期序號是否大于等于所述總周 期數(shù)M,若是則調(diào)用所述第二判斷模塊,否則調(diào)用所述更新單元;所述第二判斷模塊用于 判斷所述數(shù)組中非〇元素的個數(shù)C是否小于所述數(shù)組的維數(shù)N,若小于,則滿足預(yù)設(shè)的條件 統(tǒng)計型需求。
10. 根據(jù)權(quán)利要求9所述的星載軟件中條件統(tǒng)計型需求的處理裝置,其特征在于,所述 需求判斷單元進一步包括一數(shù)組移位模塊,所述數(shù)組移位模塊分別與所述第二判斷模塊以 及更新單元相連,用于在當(dāng)前周期對應(yīng)條件滿足所述給定條件,且所述第二判斷模塊判定 所述數(shù)組中非0元素的個數(shù)等于所述數(shù)組的維數(shù)N時,采用先入先出方式對所述數(shù)組進行 移位,并置移位后所述數(shù)組中最后一個元素的取值為所述總周期數(shù)M,之后調(diào)用所述更新單 J Li 〇
【文檔編號】G06F9/44GK104331279SQ201410560661
【公開日】2015年2月4日 申請日期:2014年10月21日 優(yōu)先權(quán)日:2014年10月21日
【發(fā)明者】徐文明, 張曉杰, 包海超, 吳志華 申請人:上海微小衛(wèi)星工程中心