專利名稱:一種分析嵌入式設備實時性的方法
技術領域:
本發(fā)明涉及用于嵌入式設備的實時性分析技術領域,具體涉及的是, 一種分析嵌入式設備實時性的方法。
背景技術:
內嵌于嵌入式設備中的軟件程序在運行過程中,必須滿足嚴格的實時 性要求,某些業(yè)務必須在指定時間內開始,并且要在指定時間內完成并給 出響應,否則就不能滿足用戶的需求。通常分析嵌入式設備實時性的方法是在軟件發(fā)起一項業(yè)務.申請后, 設置一個"開始定時器,,和一個"完成定時器",如果開始定時器超時后, 業(yè)務仍然未開始,則認為不滿足實時性要求;如果完成定時器超時后,業(yè) 務仍然未完成,也認為不滿足實時性要求。這種分析方法的缺點是每項 業(yè)務都要自行設置定時器,設計的工作量很大,流程復雜,占用的資源也很大??梢姡F(xiàn)有技術中存在一定的問題,需要開拓新的方法對嵌入式設 備的實時性進行分析。發(fā)明內容本發(fā)明的目的在于提供一種分析嵌入式設備實時性的方法,其可以自 動分析哪些業(yè)務沒有滿足實時性要求,并自動上報到網管系統(tǒng)。為了實現(xiàn)上述目的,本發(fā)明提供了 一種分析嵌入式設備實時性的方法, 該方法包括目的進程分析過程,其包括以下步驟A、在嵌入式設備中設置一時鐘中斷,記錄系統(tǒng)的工作時間;B、高層應用軟件層發(fā)起一項業(yè)務時,控制進程給目的進程發(fā)送一條消白 c、底層操作系統(tǒng)軟件層讀取當前時鐘中斷記錄的時鐘數(shù),并根據(jù)目的進程接收到的消息,分析業(yè)務運4于是否滿足實時性需求。其中,在所述步驟B中,當所述消息中記錄有發(fā)送消息時刻、以及 用于表明業(yè)務在發(fā)送消息后多長時間內開始的開始時間時,所述步驟C按 照以下過程分析業(yè)務運行的實時性當所述目的進程開始運行所述消息時,底層操作系統(tǒng)軟件層用讀取的 當前時鐘數(shù)減去所述目的進程中當前消息記錄的發(fā)送消息時刻,如果計算 結果大于該消息中記錄的開始時間,則認定業(yè)務開始時間不滿足實時性需 求。其中,在所述步驟B中,當所述消息中記錄有發(fā)送消息時刻,以及 用于表明業(yè)務在發(fā)送消息后多長時間內完成的完成時間時,所述步驟C按 照以下過程分析業(yè)務運行的實時性當所述目的進程運行完畢所述消息時,底層操作系統(tǒng)軟件層用讀取的 當前時鐘數(shù)減去所述目的進程中當前消息記錄的發(fā)送消息時刻,如果計算 結果大于該消息中記錄的完成時間,則認定業(yè)務完成時間不滿足實時性需 求。其中,所述方法還包括與所述目的進程分析過程并行運行的監(jiān)控任 務,其包括以下步驟Al、讀取當前時鐘中斷記錄的時鐘數(shù); A2、檢查所有業(yè)務的當前進程;A3、根據(jù)所述目的進程接收到的消息,分析業(yè)務運行是否滿足實時性 需求。其中,在所述步驟B中,當所述消息中記錄有發(fā)送消息時刻、以及 完成時間時,所述步驟A3按照以下過程分析業(yè)務運行的實時性將讀取的當前時鐘數(shù)減去所述目的進程中當前消息記錄的發(fā)送消息時 刻,如果計算結果大于該消息中記錄的完成時間,測認定業(yè)務完成時間不 滿足實時性需求。其中,所述開始時間和完成時間的字段初始值由高層應用軟件層在調 用操作系統(tǒng)提供的發(fā)送消息的接口函數(shù)時,根據(jù)需求來填入。其中,所述發(fā)送消息時刻的字段初始值由底層操作系統(tǒng)軟件層讀取當 前時鐘中斷記錄的時鐘數(shù),并自動填入。其中,所述步驟A中,所述時鐘中斷的精度與業(yè)務要求的時鐘精度相同。其中,所述步驟A中還包括以下步驟在嵌入式設備中設置一內存區(qū), 用于記錄不滿足實時性需求的業(yè)務信息。并且,所述步驟C中,當認定業(yè) 務不滿足實時性需求時,將當前進程處理的消息的相關信息記錄到所述內 存區(qū)中存儲,并修改消息中用于記錄時間的字段。其中,當內存區(qū)寫滿數(shù)據(jù)時,判斷網管系統(tǒng)是否已經接入嵌入式系統(tǒng);如果是,則將內存區(qū)中的內容上報給網管系統(tǒng),并清空內存區(qū),然后 從內存區(qū)的首地址開始記錄信息;如果否,則自動從內存區(qū)的首地址開始記錄信息,覆蓋內存區(qū)中原有 的記錄。本發(fā)明所提供的一種分析嵌入式設備實時性的方法,當業(yè)務不滿足時 實行需求時,可以自動記錄,而不需要人工處理,并且可以將記錄的結果 上報給網管系統(tǒng)進行分析;還通過設立監(jiān)控任務,保證了在系統(tǒng)運行的特 殊情況,仍能完成實時性分析的任務。
圖1為本發(fā)明分析嵌入式設備實時性的流程圖。
具體實施方式
以下結合附圖詳細說明本發(fā)明的技術方案。本發(fā)明所應用的嵌入式設備上運行的軟件包括底層操作系統(tǒng)軟件層和 高層應用軟件層兩個部分,下面將結合圖1,說明本發(fā)明的方法是如何實現(xiàn)實時性自動分析的,其包括以下步驟步驟200,本發(fā)明需要讓嵌入式設備提供一個時鐘中斷,該時鐘中斷的 精度應當滿足業(yè)務的需求,并與業(yè)務要求的時鐘精度相同。例如業(yè)務要 求時鐘精度為100毫秒,那么這個時鐘中斷的精度也應是100毫秒,即1 秒有IO個時鐘中斷。步驟201,當高層應用軟件層發(fā)起一項業(yè)務時,控制進程給目的進程 (即,執(zhí)行處理這項業(yè)務的進程)發(fā)送一條消息,并在該消息體中記錄有 發(fā)送消息時刻、開始時間、完成時間,以及該消息的記錄標志。'這里的"發(fā)送消息時刻"記錄是表征該業(yè)務發(fā)起時的消息發(fā)送時刻, 其字段初始值由底層操作系統(tǒng)軟件層讀取當前時鐘中斷記錄的時鐘數(shù),并 自動填入。而這里的"開始時間"用于表明業(yè)務在發(fā)送消息后多長時間內 開始,"完成時間"用于表明業(yè)務在發(fā)送消息后多長時間內完成,這兩個 時間字段的初始值是預先設定的,具體可以由高層應用軟件層在調用操作 系統(tǒng)提供的發(fā)送消息的接口函數(shù)時,根據(jù)需求來填入。"開始時間,,和"完 成時間"字段記錄的可以是具體的時鐘中斷數(shù),例如,1秒有10個時鐘中 斷,當前時鐘數(shù)為10000,某個業(yè)務要求在發(fā)起業(yè)務申請后,2秒內開始業(yè) 務,3秒內業(yè)務執(zhí)行完畢,那么消息的開始時間"和"完成時間"字段分別 填入20和30,"發(fā)送消息時刻,,填入10000。其也可以記錄表示"永久" 標志的字段。例如定義"永久,,字段為TIME—FOREVER,那么可以這樣 定義#defme TIME—FOREVER Oxffffffff。當"開始時間,,和"完成時間,,被定義為"永久,,標志后,則表示該業(yè)務的處理不需要實時性要求,那么本發(fā)明的實時性分析流程將不予考慮。步驟202,目的進程收到上述消息,并開始運行該消息,表征業(yè)務開始。 步驟203,當目的進程開始運行上述消息時,底層操作系統(tǒng)軟件層讀取 當前時鐘中斷記錄的時鐘數(shù),并用讀取的當前時鐘數(shù)減去目的進程中當前 消息記錄的發(fā)送消息時刻,如果計算結果大于該消息中記錄的開始時間, 則認定業(yè)務開始時間不滿足實時性需求,否則,則認定業(yè)務開始'時間滿足 實時性需求,并執(zhí)行步驟204。根據(jù)上述步驟201中的例子,假如,此時時 鐘數(shù)為10050,那么10050-10000=50,大于開始時間20,則證明開始時間 超過了實時性要求,應該進行記錄。 步驟204,消息運^f亍完成。步驟205,當目的進程運行完畢所述消息時,底層操作系統(tǒng)軟件層讀取 當前時鐘中斷記錄的時鐘數(shù),并用讀取的當前時鐘數(shù)減去目的進程中當前 消息記錄的發(fā)送消息時刻,如果計算結果大于該消息中記錄的完成時間, 認定業(yè)務完成時間不滿足實時性需求,否則,則認定業(yè)務完成時間滿足實 時性需求,并執(zhí)行步驟206。根據(jù)上述步驟201中的例子,假如,此時時鐘 數(shù)為10080,那么10080-10000=80,大于完成時間30,則證明完成時間超 過了實時性要求,應該進行記錄。.步驟206,業(yè)務結束。當然,如果消息體中"開始時間"和"完成時間"字段記錄的是"永 久,,標志,則在上述步驟203和205中,目的進程開始運行上述消息或運 行完畢時,需要對該消息體中"開始時間"或"完成時間"是否存在"永 久"標志進行一個判斷,如果"開始時間"字段記錄的是"永久"標志, 則上述步驟203中,則不予處理;如果"完成時間"字段記錄的是"永久" 標志,則上述步驟205中,則不予處理。對于上述對實時性的分析,本發(fā)明還可以對分析結構進行自動記錄, 這就需要在上述步驟200中要求嵌入式設備提供一內存區(qū),用于記錄不滿足實時性需求的業(yè)務信息,例如使用100KB的內存區(qū)用于記錄信息。那 么,在上述步驟203或205中,當認定業(yè)務開始時間或完成時間不滿足實 時性需求時,將該消息的相關信息記錄到所述內存區(qū)中存儲。當內存區(qū)寫 滿數(shù)據(jù)時,判斷網管系統(tǒng)是否已經接入嵌入式系統(tǒng);如果是,則將內存區(qū) 中的內容上報給網管系統(tǒng),并清空內存區(qū),然后從內存區(qū)的首地址開始記 錄新的信息;如果否,則自動從內存區(qū)的首地址開始記錄新的信息,覆蓋 內存區(qū)中原有的記錄。為了避免內存區(qū)中重復記錄信息,則需要在相關信息記錄到內存區(qū)后 修改消息中用于記錄相應時間的字段信息。比如,在上述步驟203時,當 認定業(yè)務開始時間不滿足實時性需求時,在內存區(qū)中記錄相關信息,并同 時將目的業(yè)務處理的當前消息中記錄的開始時間字賴j殳置為永久標志。而, 當認定業(yè)務完成時間不滿足實時性需求時,在內存區(qū)中記錄相關信息,并 同時將目的業(yè)務處理的當前消息中記錄的完成時間字賴:設置為永久標志。上述分析方法是目的進程分析過程,由每個各個業(yè)務的目的進程來完 成的,但是, 一旦系統(tǒng)出現(xiàn)死循環(huán),當前進程無法運行時,則不能執(zhí)行完 成消息的任務,也就是無法執(zhí)行上述步驟205的過程,那么,這是就需要 由另一個任務來做實時性記錄。所以,本發(fā)明還提供了一個與所述目的進 程分析過程并行運行的用于監(jiān)控所有業(yè)務的監(jiān)控任務,該監(jiān)控任務的優(yōu)先 級高于所有業(yè)務任務,可以由底層操作系統(tǒng)軟件層來提供。監(jiān)控任務每隔 一個監(jiān)控周期運行一次,首先讀取當前時鐘中斷記錄的時鐘數(shù),并遍歷所 有業(yè)務進程,檢查所有業(yè)務的當前進程,如果各個業(yè)務的目的進程當前消 息的完成時間字段不是"永久",則將讀取的當前時鐘數(shù)減去目的進程中 當前消息體中記錄的發(fā)送消息時刻,如果計算結果大于該消息體中記錄的 完成時間,則認定業(yè)務完成時間不滿足實時性需求,那么這時可以將相關 信息記錄到上述步驟200所提供的內存區(qū)中,并將"完成時間"字段填入 ."永久"標志,避免重復記錄;否則,則認定業(yè)務完成時間滿足實時性需求。舉個例子,假設上述監(jiān)控任務每隔2秒運行一次。當監(jiān)控任務運行時, 如果時鐘數(shù)為10060,那么恰好此時目的進程還沒有執(zhí)行完消息,所以利用 10060-10000=60,該結果大于完成時間30,從而^E明完成時間超過了實時 性要求,記錄到內存區(qū)里,并將"完成時間"字段填入"TIME_FOREVER" 標志。那么,當目的進程運行完消息時,執(zhí)^f亍上述步驟205,發(fā)現(xiàn)"完成時 間"的字段為"永久,,,則不會繼續(xù)記錄,從而就避免了重復記錄。本發(fā)明通過嵌入式設備提供的一個時鐘中斷,來實時分析嵌入式設備 的實時性,嵌入式設備上運行的軟件層包含底層操作系統(tǒng)軟件層和高層應 用軟件層兩個層次;并且,嵌入式設備采用消息驅動機制,當高層應用軟 件層需要發(fā)起一項業(yè)務時,控制進程給處理這項業(yè)務的進程(以下稱為目 的進程)發(fā)送一條消息,而本發(fā)明就可以將該消息中記錄四個字段的內容, 即開始時間(Time To Start)、完成時間(Time To Finish)、發(fā)送消息時刻、 記錄標志,通過比較業(yè)務開始時刻或完成時刻與該消息體中預設時間的大 小,來分析判斷該業(yè)務的開始或完成是否不具有實時性要求。本發(fā)明還通過嵌入式設備提供的 一塊內存區(qū),自動記錄不滿足實時性 需求的業(yè)務信息,并自動上報給網管系統(tǒng),為網管對各個業(yè)務的運行監(jiān)控 提供了準確的依據(jù)。從上述技術方案可知,本發(fā)明主要可以用于分析嵌入式設備.中的哪些 業(yè)務和操作沒有滿足實時性要求,并能夠自動記錄并上報給網管,從而為設計者優(yōu)化軟件的執(zhí)行效率提供依據(jù)。應當理解的是,上述各具體步驟的舉例說明較為具體,并不能因此而 認為是對本發(fā)明的專利保護范圍的限制,本發(fā)明的專利保護范圍應以所附 權利要求為準。
權利要求
1、一種分析嵌入式設備實時性的方法,其特征在于,所述方法包括目的進程分析過程,其包括以下步驟A、在嵌入式設備中設置一時鐘中斷,記錄系統(tǒng)的工作時間;B、高層應用軟件層發(fā)起一項業(yè)務時,控制進程給目的進程發(fā)送一條消息;C、底層操作系統(tǒng)軟件層讀取當前時鐘中斷記錄的時鐘數(shù),并根據(jù)目的進程接收到的消息,分析業(yè)務運行是否滿足實時性需求。
2、 根據(jù)權利要求1所述的方法,其特征在于,在所述步驟B中,當所 述消息中記錄有發(fā)送消息時刻、以及用于表明業(yè)務在發(fā)送消息后多長時 間內開始的開始時間時,所述步驟C按照以下過程分析業(yè)務運行的實時性當所述目的進程開始運行所述消息時,底層操作系統(tǒng)軟件層用讀取的 當前時鐘數(shù)減去所述目的進程中當前消息記錄的發(fā)送消息時刻,如果計算 .結果大于該消息中記錄的開始時間,則認定業(yè)務開始時間不滿足實時性需 求。
3、 根據(jù)權利要求1所述的方法,其特征在于,在所述步驟B中,當所 述消息中記錄有發(fā)送消息時刻,以及用于表明業(yè)務在發(fā)送消息后多長時 間內完成的完成時間時,所述步驟C按照以下過程分析業(yè)務運行的實時性當所述目的進程運行完畢所述消息時,底層操作系統(tǒng)軟件層用讀取的 當前時鐘數(shù)減去所述目的進程中當前消息記錄的發(fā)送消息時刻,如果計算 結果大于該消息中記錄的完成時間,則認定業(yè)務完成時間不滿足實時性需 '求。
4、 根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括與所 述目的進程分析過程并行運行的監(jiān)控任務,其包括以下步驟Al、讀取當前時鐘中斷記錄的時鐘數(shù); A2、沖全查所有業(yè)務的當前進程;A3、才艮據(jù)所述目的進程接收到的消息,分析業(yè)務運行是否滿足實時性 需求。
5、 根據(jù)權利要求4所述的方法,其特征在于,在所述步驟B中,當所 述消息中記錄有發(fā)送消息時刻、以及完成時間時,所述步驟A3按照以下 過程分析業(yè)務運行的實時性將讀取的當前時鐘數(shù)減去所述目的進程中當前消息記錄的發(fā)送消息時 刻,如果計算結果大于該消息中記錄的完成時間,則認定業(yè)務完成時間不 滿足實時性需求。
6、 根據(jù)權利要求2或3所述的方法,其特征在于,所述開始時間和完 成時間的字段初始值由高層應用軟件層在調用操作系統(tǒng)提供的發(fā)送消息的 接口函數(shù)時,根據(jù)需求來填入。
7、 根據(jù)權利要求2或3所述的方法,其特征在于,所述發(fā)送消息時刻 的字段初始值由底層操作系統(tǒng)軟件層讀取當前時鐘中斷記錄的時鐘數(shù),并 自動填入。
8、 根據(jù)權利要求1所述的方法,其特征在于,所述步驟A中,所述時 鐘中斷的精度與業(yè)務要求的時鐘精度相同。
9、 根據(jù)權利要求1所述的方法,其特征在于,所述步驟A中還包括以 下步驟在嵌入式^殳備中設置一內存區(qū);并且,所述步驟C中,當認定業(yè) 務不滿足實時性需求時,將當前進程處理的消息的相關信息記錄到所述內 存區(qū)中存儲,并修改消息中用于記錄時間的字段。
10、 根據(jù)權利要求9所述的方法,其特征在于,當內存區(qū)寫滿數(shù)據(jù)時,判斷網管系統(tǒng)是否已經接入嵌入式系統(tǒng);如果是,則將內存區(qū)中的內容上報給網管系統(tǒng),并清空內存區(qū),然后 從內存區(qū)的首地址開始記錄信息;如果否,則自動從內存區(qū)的首地址開始記錄信息,覆蓋內存區(qū)中原有 的記錄。
全文摘要
本發(fā)明公開了一種分析嵌入式設備實時性的方法,其可以自動分析哪些業(yè)務沒有滿足實時性要求,并自動上報到網管系統(tǒng);其首先在嵌入式設備中設置一時鐘中斷,記錄系統(tǒng)的工作時間;然后當高層應用軟件層發(fā)起一項業(yè)務時,控制進程給目的進程發(fā)送一條消息;底層操作系統(tǒng)軟件層讀取當前時鐘中斷記錄的時鐘數(shù),并根據(jù)目的進程接收到的消息,分析業(yè)務運行是否滿足實時性需求。本發(fā)明主要可以用于分析嵌入式設備中的哪些業(yè)務和操作沒有滿足實時性要求。
文檔編號G06F11/36GK101256531SQ200810066470
公開日2008年9月3日 申請日期2008年4月8日 優(yōu)先權日2008年4月8日
發(fā)明者林曉翰 申請人:中興通訊股份有限公司