亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

心跳檢測(cè)方法、系統(tǒng)和中央處理單元的制作方法

文檔序號(hào):6458180閱讀:243來源:國知局
專利名稱:心跳檢測(cè)方法、系統(tǒng)和中央處理單元的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及設(shè)備狀態(tài)檢測(cè)技術(shù),尤其涉及一種心跳檢測(cè)方法、系統(tǒng)和中央 處理單元。
背景技術(shù)
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,在實(shí)際應(yīng)用中對(duì)計(jì)算機(jī)的處理能力要求也越來越高,目前的計(jì)算機(jī)越來越多的采用基于對(duì)稱多處理(SMP, Symmetric Multi Processing)系統(tǒng)的組成結(jié)構(gòu),以達(dá)到高處理能力的要求。SMP系統(tǒng)由耦合連接 在高速總線上的多個(gè)中央處理單元(CPU, Central Processing Units)組成,可進(jìn)行多任務(wù)的并發(fā)處理,有利于提高計(jì)算機(jī)的性能。由于SMP系統(tǒng)由多個(gè)CPU組成,在實(shí)際應(yīng)用中,SMP系統(tǒng)需要對(duì)各個(gè)CPU 的生存狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控,而在現(xiàn)有的SMP系統(tǒng)中還沒有一種較為有效的用于 CPU狀態(tài)檢測(cè)的方法。發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種心跳檢測(cè)方法、系統(tǒng)和中央處 理單元,以解決現(xiàn)有技術(shù)無法實(shí)現(xiàn)SMP系統(tǒng)中CPU狀態(tài)檢測(cè)的問題。 為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的 本發(fā)明提供了一種心跳檢測(cè)方法,包括向被監(jiān)控中央處理單元CPU發(fā)送攜帶心跳序列號(hào)的心跳請(qǐng)求消息; 對(duì)來自所述被監(jiān)控CPU的心跳反饋消息進(jìn)行分析,得到心跳檢測(cè)結(jié)果。 所述對(duì)心跳反饋消息進(jìn)行分析得到心跳檢測(cè)結(jié)果為 提取所述心跳反饋消息中的心跳序列號(hào),并將所述心跳序列號(hào)與所述心跳 請(qǐng)求消息的序列號(hào)進(jìn)行匹配,如果匹配成功,則對(duì)所述心跳反饋消息進(jìn)行分析生成心跳檢測(cè)結(jié)果;否則,判定所述心跳反饋消息丟失。 本發(fā)明還提供了一種心跳檢測(cè)方法,包括 接收來自采集CPU的攜帶心跳序列號(hào)的心跳請(qǐng)求消息; 根據(jù)所述心跳請(qǐng)求消息,生成攜帶所述心跳序列號(hào)的心跳反饋消息向所述采集CPU發(fā)送。所述接收心跳請(qǐng)求消息為通過中斷方式接收所述心跳請(qǐng)求消息; 接收到來自所述采集CPU的心跳請(qǐng)求消息后,進(jìn)一步包括進(jìn)入中斷環(huán)境對(duì)所述心跳請(qǐng)求消息進(jìn)行處理。所述接收心跳請(qǐng)求消息為通過輪詢方式接收所述心跳請(qǐng)求消息; 所述接收心跳請(qǐng)求消息包括利用偵聽進(jìn)程偵聽來自所述釆集CPU的心跳請(qǐng)求消息,并將偵聽到的所述心跳請(qǐng)求消息放入消息待處理隊(duì)列中進(jìn)行處理。 本發(fā)明還提供了一種采集CPU,包括相互連接的心跳請(qǐng)求消息發(fā)送模塊和心跳反饋消息分析才莫塊;其中,所述心跳請(qǐng)求消息發(fā)送模塊,用于向被監(jiān)控CPU發(fā)送攜帶心跳序列號(hào)的心跳請(qǐng)求消息;所述心跳反饋消息分析模塊,用于對(duì)來自所述被監(jiān)控CPU的心跳反饋消息 進(jìn)行分析,得到心跳檢測(cè)結(jié)果。本發(fā)明還提供了一種被監(jiān)控CPU,包括相互連接的心跳請(qǐng)求消息接收模 塊和心跳反饋消息發(fā)送模塊;其中,所述心跳請(qǐng)求消息接收模塊,用于接收來自采集CPU的攜帶心跳序列號(hào)的 心跳請(qǐng)求消息;所述心跳反饋消息發(fā)送模塊,用于根據(jù)所述心跳請(qǐng)求消息,生成攜帶所述 心跳序列號(hào)的心跳反饋消息向所述采集CPU發(fā)送。所述心跳請(qǐng)求消息接收模塊包括中斷接收子模塊,用于通過中斷方式接 收所述心跳請(qǐng)求消息。所述心跳請(qǐng)求消息接收模塊還包括輪詢接收子模塊,用于通過輪詢方式 接收所述心跳請(qǐng)求消息。本發(fā)明還提供了一種心跳反饋系統(tǒng),包括相互連接的采集CPU和被監(jiān)控 CPU;其中,所述釆集CPU,用于向所述被監(jiān)控CPU發(fā)送攜帶心跳序列號(hào)的心跳請(qǐng)求 消息,并對(duì)來自所述被監(jiān)控CPU的心跳反饋消息進(jìn)行分析,得到心跳檢測(cè)結(jié)果;所述被監(jiān)控CPU,用于根據(jù)來自所述采集CPU的攜帶心跳序列號(hào)的心跳 請(qǐng)求消息,生成攜帶所述心跳序列號(hào)的心跳反^t消息向所述釆集CPU發(fā)送。所述采集CPU包括相互連接的心跳請(qǐng)求消息發(fā)送模塊和心跳反饋消息分 析模塊;其中,所述心跳請(qǐng)求消息發(fā)送模塊,用于向所述被監(jiān)控CPU發(fā)送攜帶心跳序列號(hào) 的心跳請(qǐng)求消息;所述心跳反饋消息分析模塊,用于對(duì)來自所述被監(jiān)控CPU的心跳反饋消息 進(jìn)行分析,得到心跳檢測(cè)結(jié)果。所述被監(jiān)控CPU包括相互連接的心跳請(qǐng)求消息接收模塊和心跳反饋消息 發(fā)送模塊;其中,所述心跳請(qǐng)求消息接收模塊,用于接收來自所述采集CPU的攜帶心跳序列 號(hào)的心跳請(qǐng)求消息;所述心跳反饋消息發(fā)送模塊,用于根據(jù)所述心跳請(qǐng)求消息,生成攜帶所述 心跳序列號(hào)的心跳反饋消息向所述采集CPU發(fā)送。本發(fā)明所提供的心跳檢測(cè)方法、系統(tǒng)和中央處理單元,應(yīng)用于SMP系統(tǒng)中, 通過指定SMP系統(tǒng)中的采集CPU和被監(jiān)控CPU,由采集CPU對(duì)被監(jiān)控CPU 的心跳消息進(jìn)行釆集和分析,從而實(shí)現(xiàn)對(duì)SMP系統(tǒng)中CPU狀態(tài)的檢測(cè),并且, 本發(fā)明在進(jìn)行心跳檢測(cè)的消息中設(shè)置心跳序列號(hào),利用心跳序列號(hào)對(duì)消息的可 靠性進(jìn)行判定,使得CPU在一個(gè)超時(shí)周期內(nèi)可進(jìn)行多個(gè)心跳檢測(cè),從而提高心 跳檢測(cè)的精度和效率。


圖1為本發(fā)明一種心跳檢測(cè)方法的采集CPU側(cè)流程圖;圖2為本發(fā)明一種心跳檢測(cè)方法的被監(jiān)控CPU側(cè)流程圖;圖3為本發(fā)明實(shí)施例的釆集CPU側(cè)的心跳檢測(cè)方法流程圖;圖4為本發(fā)明實(shí)施例的被監(jiān)控CPU輪詢接收心跳請(qǐng)求消息的流程圖;圖5為本發(fā)明實(shí)施例的被監(jiān)控CPU中斷接收心跳請(qǐng)求消息的流程圖;圖6為本發(fā)明一種心跳檢測(cè)系統(tǒng)的組成結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。 本發(fā)明在SMP系統(tǒng)中實(shí)現(xiàn)心跳檢測(cè)的方法,用于對(duì)SMP系統(tǒng)中的CPU狀 態(tài)進(jìn)行檢測(cè)。心跳檢測(cè)是指兩個(gè)或多個(gè)獨(dú)立的單元之間通過某種通信手段發(fā)送 約定的心跳消息,以監(jiān)控各單元的生存狀態(tài)的一種方法。本發(fā)明在SMP系統(tǒng)中 的多個(gè)CPU中指定某個(gè)CPU作為心跳請(qǐng)求消息的發(fā)送者,同時(shí)指定為發(fā)送者 的CPU還用于承擔(dān)心跳反饋信息采集的任務(wù),本發(fā)明中將作為心跳請(qǐng)求消息發(fā) 送者的CPU稱為采集CPU; SMP系統(tǒng)中除了采集CPU之外的其他CPU稱為 被監(jiān)控CPU。采集CPU向SMP系統(tǒng)中的所有被監(jiān)控CPU或部分被監(jiān)控CPU 發(fā)送心跳請(qǐng)求消息,接收到心跳請(qǐng)求消息的被監(jiān)控CPU向采集CPU發(fā)送心跳 反饋消息,以供采集CPU對(duì)心跳反饋消息進(jìn)行分析,生成心跳檢測(cè)結(jié)果。本發(fā)明的心跳檢測(cè)方法由采集CPU實(shí)現(xiàn)的操作流程,如圖l所示,主要包 括以下步驟步驟101,采集CPU向被監(jiān)控CPU發(fā)送攜帶心跳序列號(hào)的心跳請(qǐng)求消息。 在本發(fā)明的SMP系統(tǒng)中,釆集CPU為每個(gè)被監(jiān)控CPU維護(hù)一個(gè)心跳序列 號(hào),如果采集CPU需要對(duì)SMP系統(tǒng)中的所有被監(jiān)控CPU進(jìn)行狀態(tài)檢測(cè),則指 定SMP系統(tǒng)中的所有被監(jiān)控CPU,并向指定的被監(jiān)控CPU發(fā)送攜帶各自心跳 序列號(hào)的心跳請(qǐng)求消息;如果采集CPU需要對(duì)SMP系統(tǒng)中的一部分被監(jiān)控CPU 進(jìn)行狀態(tài)檢測(cè),則指定所需監(jiān)控部分的被監(jiān)控CPU,并向指定的被監(jiān)控CPU 發(fā)送攜帶各自心跳序列號(hào)的心跳請(qǐng)求消息。以包含四個(gè)CPU的SMP系統(tǒng)為例,四個(gè)CPU分別為CPU!、 CPU2、 CPU3、CPU4,其中,CPU!為采集CPU, CPU2、 CPU3、 CPU4為被監(jiān)控CPU。 CPUi 維護(hù)一個(gè)數(shù)組LS,用以保存各個(gè)被監(jiān)控CPU當(dāng)前的心跳序列號(hào),對(duì)應(yīng)CPU2、 CPU3、 CPU4的心跳序列號(hào)分別為LS[l]、 LS[2]、 LS[3]。 CPU!每成功發(fā)送一條 心跳請(qǐng)求消息后,將對(duì)應(yīng)的心跳序列號(hào)加1,例如CPU!第一次向CPU2發(fā)送 心跳請(qǐng)求消息時(shí),攜帶的心跳序列號(hào)為021,發(fā)送成功后LS[1]中對(duì)應(yīng)的心跳序 列號(hào)自動(dòng)加l,則CPU!再次向CPU2發(fā)送心跳請(qǐng)求消息時(shí),攜帶的心跳序列號(hào) 變?yōu)?22, CP"向CPU2進(jìn)行后續(xù)的心跳請(qǐng)求消息發(fā)送也按同樣的方法更新心 跳序列號(hào);CPU!第一次向CPU3發(fā)送心跳請(qǐng)求消息時(shí),攜帶的心跳序列號(hào)為031 , 發(fā)送成功后LS[2]中對(duì)應(yīng)的心跳序列號(hào)自動(dòng)加1,則CPU!再次向CPU3發(fā)送心 跳請(qǐng)求消息時(shí),攜帶的心跳序列號(hào)變?yōu)?32, CPU!向CPU3進(jìn)行后續(xù)的心跳請(qǐng) 求消息發(fā)送也按同樣的方法更新心跳序列號(hào)。由此可知,由于心跳序列號(hào)中攜 帶的有用于區(qū)分不同CPU的前綴,例如LS[1]中對(duì)應(yīng)序列號(hào)的前兩位數(shù)字02, LS[2]中對(duì)應(yīng)序列號(hào)的前兩位數(shù)字03,因此,對(duì)于不同CPU的心跳序列號(hào)也是 不相同的。步驟102,采集CPU對(duì)來自被監(jiān)控CPU的心跳反饋消息進(jìn)行分析,得到 心跳檢測(cè)結(jié)果。采集CPU向指定的被監(jiān)控CPU發(fā)送心跳請(qǐng)求消息之后,等待被監(jiān)控CPU 返回心跳反饋消息,當(dāng)采集CPU接收到心跳反饋消息時(shí),提取心跳反饋消息中 的心跳序列號(hào),并將提取的心跳序列號(hào)與之前發(fā)送的心跳請(qǐng)求消息中攜帶的心 跳序列號(hào)進(jìn)行匹配,如果匹配成功,則對(duì)心跳反饋消息進(jìn)行分析,生成心跳檢 測(cè)結(jié)果;否則,判定心跳反饋消息丟失。以上述的SMP系統(tǒng)為例,如果CPU,向CPU2發(fā)送了攜帶心跳序列號(hào)為0267 的心跳請(qǐng)求消息,CPUi對(duì)來自CPU2的心跳反饋消息進(jìn)行提取心跳序列號(hào)的操 作,如果能夠提取到0267的序列號(hào),則表明CPU2成功返回心跳反饋消息;如 果沒有提取到0267的序列號(hào),則表明CPU2沒能成功返回心跳反饋消息,判定 心跳反饋消息丟失。本發(fā)明的心跳檢測(cè)方法由被監(jiān)控CPU實(shí)現(xiàn)的操作流程,如圖2所示,主要包括以下步驟步驟201,被監(jiān)控CPU接收來自采集CPU的攜帶心跳序列號(hào)的心跳請(qǐng)求 消息。本發(fā)明中的被監(jiān)控CPU可通過中斷方式或輪詢方式接收來自采集CPU的 心跳請(qǐng)求消息,所謂中斷方式,是指被監(jiān)控CPU中配置中斷接收邏輯,當(dāng)接收 到心跳請(qǐng)求消息時(shí),立即進(jìn)入中斷環(huán)境對(duì)心跳請(qǐng)求消息進(jìn)行處理;所謂輪詢方 式,是指被監(jiān)控CPU利用偵聽進(jìn)程偵聽來自采集CPU的心跳請(qǐng)求消息,并將 偵聽到的心跳請(qǐng)求消息放入消息待處理隊(duì)列中,在任務(wù)層面上進(jìn)行處理。由此 可知,中斷方式適用于對(duì)反饋實(shí)時(shí)要求較高的環(huán)境,而輪詢方式則可用于對(duì)反 饋實(shí)時(shí)要求較低的環(huán)境。步驟202,被監(jiān)控CPU根據(jù)心跳請(qǐng)求消息,生成攜帶與心跳請(qǐng)求消息相同 心跳序列號(hào)的心跳反^t消息向釆集CPU發(fā)送。被監(jiān)控CPU提取心跳請(qǐng)求消息中的心跳序列號(hào),然后構(gòu)造與所接收的心跳 請(qǐng)求消息相對(duì)應(yīng)的心跳反饋消息向采集CPU發(fā)送,該心跳反饋消息中攜帶與心 跳請(qǐng)求消息相同的心跳序列號(hào)。仍以上述的SMP系統(tǒng)為例,CPU2接收到來自 CPU!的心跳請(qǐng)求消息,提取心跳序列號(hào)為0267,則CPU2構(gòu)造攜帶心跳序列號(hào) 為0267的心跳反饋消息發(fā)送給釆集CPU。下面結(jié)合圖3所示實(shí)施例的采集CPU側(cè)的心跳;險(xiǎn)測(cè)方法流程圖,對(duì)上述圖 1所示的心跳檢測(cè)方法進(jìn)一步詳細(xì)闡述,如圖3所示,主要包括以下步驟步驟301,采集CPU向指定的被監(jiān)控CPU發(fā)送攜帶心跳序列號(hào)的心跳請(qǐng) 求消息。步驟302,采集CPU等待接收被監(jiān)控CPU的心跳反饋消息。 步驟303,采集CPU判斷等待是否超時(shí),如果超時(shí),則轉(zhuǎn)到步驟305;否 則,轉(zhuǎn)到步驟304。采集CPU在向指定的被監(jiān)控CPU發(fā)出心跳請(qǐng)求消息之后的一個(gè)超時(shí)周期 的時(shí)間內(nèi),如果沒有接收到對(duì)應(yīng)的被監(jiān)控CPU返回的心跳反饋消息,則判定等 待超時(shí);如果接收到對(duì)應(yīng)的被監(jiān)控CPU返回的心跳反饋消息,則判定等待沒有超時(shí)。例如CP"向CPU2先后發(fā)送了心跳序列號(hào)為0266和0267的心跳請(qǐng)求 消息,并先后啟動(dòng)了兩個(gè)計(jì)時(shí)器進(jìn)行計(jì)時(shí),計(jì)時(shí)時(shí)間為一個(gè)預(yù)先設(shè)定的超時(shí)周 期的時(shí)間,如果對(duì)應(yīng)心跳序列號(hào)為0266的心跳請(qǐng)求消息所啟動(dòng)的計(jì)時(shí)器時(shí)間到 時(shí),CPU,仍然沒有接收到CPU2返回的心跳序列號(hào)為0266的心跳反饋消息, 則判定對(duì)心跳序列號(hào)為0266的心跳反饋消息等待超時(shí),并停止對(duì)應(yīng)的計(jì)時(shí)器; 如果對(duì)應(yīng)心跳序列號(hào)為0267的心跳請(qǐng)求消息所啟動(dòng)的計(jì)時(shí)器時(shí)間到之前,CPU! 接收到CPU2返回的心跳序列號(hào)為0267的心跳反饋消息,則判定對(duì)心跳序列號(hào) 為0267的心跳反饋消息等待沒有超時(shí),并在接收到心跳序列號(hào)為0267的心跳 反饋消息后停止對(duì)應(yīng)的計(jì)時(shí)器。采集CPU查找自身所啟動(dòng)的計(jì)時(shí)器中是否有計(jì)時(shí)超時(shí)的計(jì)時(shí)器,如果有, 則轉(zhuǎn)到步驟305;如果沒有,則轉(zhuǎn)到步驟304。步驟304,采集CPU判斷心跳反饋消息中的心跳序列號(hào)是否匹配,如果匹 配,則轉(zhuǎn)到步驟306;否則,轉(zhuǎn)到步驟305。采集CPU從接收的心跳反饋消息中提取心跳序列號(hào),并將提取的心跳序列 號(hào)與之前發(fā)送的心跳請(qǐng)求消息的心跳序列號(hào)進(jìn)行匹配。步驟305,采集CPU判定心跳反饋消息丟失,進(jìn)行異常處理,并結(jié)束該流程。如果有計(jì)時(shí)器超時(shí),則表明有相應(yīng)的心跳反饋消息沒能在超時(shí)周期內(nèi)成功 返回給采集CPU,例如采集CPU為心跳序列號(hào)為0266的心跳請(qǐng)求消息所啟 動(dòng)的定時(shí)器超時(shí),則表明序列號(hào)為0266的心跳反饋消息沒能在超時(shí)周期內(nèi)成功 返回給采集CPU,從而判定序列號(hào)為0266的心跳反饋消息丟失。如果采集CPU所接收的心跳反饋消息的心跳序列號(hào)匹配失敗,則表明該心 跳反饋消息不是采集CPU所需的消息,例如采集CPU接收到心跳序列號(hào)為 0266的心跳反饋消息,在之前發(fā)送的心跳請(qǐng)求消息中沒能匹配到心跳序列號(hào)為 0266的心跳請(qǐng)求消息,則判定心跳序列號(hào)為0266的心跳反饋消息丟失。步驟306,釆集CPU判斷是否需要對(duì)心跳反饋消息進(jìn)行內(nèi)容采集,如果是, 則轉(zhuǎn)到步驟307;否則,結(jié)束該流程。ii采集CPU通過確定心跳反饋消息的內(nèi)容采集標(biāo)志位是否置位,從而判斷是 否開放了對(duì)心跳反饋消息的內(nèi)容采集功能,此處的內(nèi)容采集功能是指對(duì)心跳反 饋消息進(jìn)行進(jìn)一步解析和分析。需要指出的是,內(nèi)容采集標(biāo)志位是在步驟301之前,由工作人員在采集CPU 上預(yù)先進(jìn)行設(shè)置的。在需要采集CPU對(duì)來自被監(jiān)控CPU的心跳反饋消息進(jìn)行 內(nèi)容采集時(shí),工作人員將采集CPU的內(nèi)容采集標(biāo)志位置位;如果不需要采集 CPU進(jìn)行心跳反饋消息的內(nèi)容采集操作,則不需將采集CPU的內(nèi)容采集標(biāo)志 位置位。在采集CPU的內(nèi)容采集標(biāo)志位沒有置位的情況下,即使采集CPU接 收到來自被監(jiān)控CPU的心跳反饋消息,也不必對(duì)接收到的心跳反饋消息進(jìn)行進(jìn) 一步解析和分析。步驟307,采集CPU對(duì)心跳反饋消息的內(nèi)容進(jìn)行解析和進(jìn)一步分析,得到 心跳檢測(cè)結(jié)果。根據(jù)實(shí)際檢測(cè)需要,采集CPU對(duì)心跳反饋消息的內(nèi)容進(jìn)行相應(yīng)的分析,從 而得到所需的心跳檢測(cè)結(jié)果。例如采集CPU記錄心跳反饋消息到達(dá)時(shí)間與心 跳請(qǐng)求消息發(fā)送時(shí)間之間的時(shí)間差,從而分析得到鏈路傳輸狀態(tài)的檢測(cè)結(jié)果。在本發(fā)明的實(shí)施例中,被監(jiān)控CPU接收心跳請(qǐng)求消息的方式包括中斷方式 和輪詢方式兩種,并且^皮監(jiān)控CPU支持在中斷方式和l侖詢方式之間進(jìn)行切換, 下面結(jié)合圖4所示的實(shí)施例對(duì)輪詢方式接收心跳請(qǐng)求消息的流程進(jìn)行詳細(xì)描 述,如圖4所示,主要包括以下步驟步驟401,被監(jiān)控CPU判斷是否有切換接收消息方式的需求,如果有,則 轉(zhuǎn)到步驟402;否則,轉(zhuǎn)到步驟406。被監(jiān)控CPU判斷用于標(biāo)識(shí)接收消息方式切換需求的標(biāo)志位是否置位,如果 置位,則表明被監(jiān)控CPU有切換接收消息方式的需求;否則,表明被監(jiān)控CPU 沒有切換接收消息方式的需求。需要指出的是,用于標(biāo)識(shí)接收消息切換需求的標(biāo)志位是在步驟401之前, 由工作人員在被監(jiān)控CPU上預(yù)先進(jìn)行設(shè)置的。在有切換接收消息方式的需求 時(shí),工作人員將監(jiān)控CPU的用于標(biāo)識(shí)接收消息切換需求的標(biāo)志位置位;否則,不用置位。步驟402,被監(jiān)控CPU進(jìn)行接收消息方式的切換。步驟403,被監(jiān)控CPU確定切換后的接收消息方式是否為輪詢方式,如果 是,則轉(zhuǎn)到步驟405;否則,轉(zhuǎn)到步驟404。步驟404,被監(jiān)控CPU確定切換后的接收消息方式不是輪詢方式,則表明 是中斷方式,被監(jiān)控CPU掛起偵聽進(jìn)程,進(jìn)入中斷方式的心跳請(qǐng)求消息接收流 程。對(duì)于中斷方式的心跳請(qǐng)求消息接收流程,在后續(xù)實(shí)施例中將進(jìn)行詳細(xì)描述。步驟405,被監(jiān)控CPU確定切換后的接收消息方式是輪詢方式,恢復(fù)被掛 起的偵聽進(jìn)程。步驟406,被監(jiān)控CPU通過偵聽進(jìn)程偵聽來自采集CPU的心跳請(qǐng)求消息。步驟407,被監(jiān)控CPU判斷是否偵聽到心跳請(qǐng)求消息,如果是,則轉(zhuǎn)到步 驟408;否則結(jié)束該流程。步驟408,被監(jiān)控CPU將偵聽到的心跳請(qǐng)求消息掛在消息待處理隊(duì)列中, 等待任務(wù)層對(duì)心跳請(qǐng)求消息進(jìn)行處理。下面結(jié)合圖5所示的實(shí)施例對(duì)中斷方式接收心跳請(qǐng)求消息的流程進(jìn)行詳細(xì) 描述,如圖5所示,主要包括以下步驟步驟501,被監(jiān)控CPU判斷是否接收到消息,如果是,則轉(zhuǎn)到步驟502; 否則結(jié)束該流程。步驟502,被監(jiān)控CPU判斷所接收消息是否為心跳請(qǐng)求消息,如果是,則 轉(zhuǎn)到步驟503;否則,轉(zhuǎn)到步驟504。被監(jiān)控CPU通過判斷所接收消息中是否攜帶有心跳序列號(hào),如果有,則表 明所接收消息是心跳請(qǐng)求消息;否則,表明所接收消息不是心跳請(qǐng)求消息。步驟503,被監(jiān)控CPU從心跳請(qǐng)求消息中提取心跳序列號(hào),并構(gòu)造攜帶該 心跳序列號(hào)的心跳反饋消息返回給采集CPU,然后結(jié)束該流程。步驟504,將接收的消息丟棄,并結(jié)束該流程。為實(shí)現(xiàn)上述本發(fā)明的心跳檢測(cè)方法,本發(fā)明還提供了 一種心跳檢測(cè)系統(tǒng), 如圖6所示,該系統(tǒng)包括相互連接的采集CPU100和被監(jiān)控CPU200。其中,采集CPUIOO,用于向被監(jiān)控CPU200發(fā)送攜帶心跳序列號(hào)的心跳請(qǐng)求消息, 并對(duì)來自被監(jiān)控CPU200的心跳反饋消息進(jìn)行分析,得到心跳檢測(cè)結(jié)果。被監(jiān) 控CPU200,用于根據(jù)來自釆集CPUIOO的攜帶心跳序列號(hào)的心跳請(qǐng)求消息, 生成攜帶與心跳請(qǐng)求消息相同心跳序列號(hào)的心跳反饋消息向采集CPUIOO發(fā) 送。心跳檢測(cè)系統(tǒng)中CPU200可以同時(shí)有多個(gè)。其中,采集CPUIOO包括相互連接的心跳請(qǐng)求消息發(fā)送模塊IIO和心跳 反饋消息分析模塊120。心跳請(qǐng)求消息發(fā)送模塊110,用于向被監(jiān)控CPU200發(fā) 送攜帶心跳序列號(hào)的心跳請(qǐng)求消息。心跳反饋消息分析模塊120,用于對(duì)來自 被監(jiān)控CPU200的心跳反饋消息進(jìn)行分析,得到心跳檢測(cè)結(jié)果。被監(jiān)控CPU200包括相互連接的心跳請(qǐng)求消息接收模塊210和心跳反饋 消息發(fā)送模塊220。心跳請(qǐng)求消息接收模塊210,用于接收來自釆集CPUIOO的 攜帶心跳序列號(hào)的心跳請(qǐng)求消息。心跳反饋消息發(fā)送模塊220,用于根據(jù)心跳 請(qǐng)求消息,生成攜帶與心跳請(qǐng)求信息相同心跳序列號(hào)的心跳反饋消息向采集 CPU100發(fā)送。其中,心跳請(qǐng)求消息接收模塊210還包括中斷接收子模塊211 和輪詢接收子模塊212。中斷接收子模塊211,用于通過中斷方式接收心跳請(qǐng)求 消息,當(dāng)接收到心跳請(qǐng)求消息時(shí),立即進(jìn)入中斷環(huán)境對(duì)心跳請(qǐng)求消息進(jìn)行處理。 輪詢接收子模塊212,用于通過輪詢方式接收心跳請(qǐng)求信息,利用偵聽進(jìn)程偵 聽來自采集CPU100的心跳請(qǐng)求消息,并將偵聽到的心跳請(qǐng)求消息放入消息待 處理隊(duì)列中進(jìn)行處理。綜上所述,本發(fā)明所提供的心跳檢測(cè)方法、系統(tǒng)和CPU,應(yīng)用于SMP系 統(tǒng)中的CPU狀態(tài)檢測(cè),并且本發(fā)明的CPU在一個(gè)超時(shí)周期內(nèi)可連續(xù)發(fā)送多個(gè) 心跳檢測(cè)的消息,使得一個(gè)超時(shí)周期內(nèi)可進(jìn)行多個(gè)心跳檢測(cè),相比現(xiàn)有技術(shù)中 一個(gè)超時(shí)周期內(nèi)只能進(jìn)行一個(gè)心跳檢測(cè)的方法,本發(fā)明的心跳檢測(cè)精度和效率 較高。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種心跳檢測(cè)方法,其特征在于,包括向被監(jiān)控中央處理單元CPU發(fā)送攜帶心跳序列號(hào)的心跳請(qǐng)求消息;對(duì)來自所述被監(jiān)控CPU的心跳反饋消息進(jìn)行分析,得到心跳檢測(cè)結(jié)果。
2、 根據(jù)權(quán)利要求1所述心跳檢測(cè)方法,其特征在于,所述對(duì)心跳反饋消息 進(jìn)行分析得到心跳檢測(cè)結(jié)果為提取所述心跳反饋消息中的心跳序列號(hào),并將所述心跳序列號(hào)與所述心跳 請(qǐng)求消息的序列號(hào)進(jìn)行匹配,如果匹配成功,則對(duì)所述心跳反饋消息進(jìn)行分析 生成心跳檢測(cè)結(jié)果;否則,判定所述心跳反饋消息丟失。
3、 一種心跳;險(xiǎn)測(cè)方法,其特征在于,包括接收來自采集CPU的攜帶心跳序列號(hào)的心跳請(qǐng)求消息; 根據(jù)所述心跳請(qǐng)求消息,生成攜帶所述心跳序列號(hào)的心跳反饋消息向所述 采集CPU發(fā)送。
4、 根據(jù)權(quán)利要求3所述心跳檢測(cè)方法,其特征在于,所述接收心跳請(qǐng)求消 息為通過中斷方式接收所述心跳請(qǐng)求消息;接收到來自所述采集CPU的心跳請(qǐng)求消息后,進(jìn)一步包括進(jìn)入中斷環(huán)境 對(duì)所述心跳請(qǐng)求消息進(jìn)行處理。
5、 根據(jù)權(quán)利要求3所述心跳檢測(cè)方法,其特征在于,所述接收心跳請(qǐng)求消 息為通過輪詢方式接收所述心跳請(qǐng)求消息;所述接收心跳請(qǐng)求消息包括利用偵聽進(jìn)程偵聽來自所述采集CPU的心跳 請(qǐng)求消息,并將偵聽到的所述心跳請(qǐng)求消息放入消息待處理隊(duì)列中進(jìn)行處理。
6、 一種采集CPU,其特征在于,包括相互連接的心跳請(qǐng)求消息發(fā)送模 塊和心跳反饋消息分析才莫塊;其中,所述心跳請(qǐng)求消息發(fā)送模塊,用于向被監(jiān)控CPU發(fā)送攜帶心跳序列號(hào)的心 跳請(qǐng)求消息;所述心跳反饋消息分析模塊,用于對(duì)來自所述被監(jiān)控CPU的心跳反饋消息進(jìn)行分析,得到心跳檢測(cè)結(jié)果。
7、 一種被監(jiān)控CPU,其特征在于,包括相互連接的心跳請(qǐng)求消息接收 模塊和心跳反饋消息發(fā)送模塊;其中,所述心跳請(qǐng)求消息接收模塊,用于接收來自采集CPU的攜帶心跳序列號(hào)的 心跳請(qǐng)求消息;所述心跳反饋消息發(fā)送模塊,用于根據(jù)所述心跳請(qǐng)求消息,生成攜帶所述 心跳序列號(hào)的心跳反饋消息向所述釆集CPU發(fā)送。
8、 根據(jù)權(quán)利要求7所述被監(jiān)控CPU,其特征在于,所述心跳請(qǐng)求消息接 收模塊包括中斷接收子模塊,用于通過中斷方式接收所述心跳請(qǐng)求消息。
9、 根據(jù)權(quán)利要求7或8所述被監(jiān)控CPU,其特征在于,所述心跳請(qǐng)求消息接收模塊還包括輪詢接收子模塊,用于通過輪詢方式接收所述心跳請(qǐng)求消 白,
10、 一種心跳反饋系統(tǒng),其特征在于,包括相互連接的采集CPU和被監(jiān) 控CPU;其中,所述采集CPU,用于向所述被監(jiān)控CPU發(fā)送攜帶心跳序列號(hào)的心跳請(qǐng)求 消息,并對(duì)來自所述被監(jiān)控CPU的心跳反饋消息進(jìn)行分析,得到心跳檢測(cè)結(jié)果;所述被監(jiān)控CPU,用于根據(jù)來自所述采集CPU的攜帶心跳序列號(hào)的心跳 請(qǐng)求消息,生成攜帶所述心跳序列號(hào)的心跳反饋消息向所述采集CPU發(fā)送。
11、 根據(jù)權(quán)利要求10所述心跳反饋系統(tǒng),其特征在于,所述采集CPU包 括相互連接的心跳請(qǐng)求消息發(fā)送模塊和心跳反饋消息分析模塊;其中,所述心跳請(qǐng)求消息發(fā)送模塊,用于向所述被監(jiān)控CPU發(fā)送攜帶心跳序列號(hào) 的心跳請(qǐng)求消息;所述心跳反饋消息分析模塊,用于對(duì)來自所述被監(jiān)控CPU的心跳反饋消息 進(jìn)行分析,得到心跳檢測(cè)結(jié)果。
12、 根據(jù)權(quán)利要求10所述心跳反饋系統(tǒng),其特征在于,所述被監(jiān)控CPU 包括相互連接的心跳請(qǐng)求消息接收模塊和心跳反饋消息發(fā)送模塊;其中,所述心跳請(qǐng)求消息接收模塊,用于接收來自所述采集CPU的攜帶心跳序列號(hào)的心跳請(qǐng)求消息;所述心跳反饋消息發(fā)送模塊,用于根據(jù)所述心跳請(qǐng)求消息,生成攜帶所述心跳序列號(hào)的心跳反饋消息向所述采集CPU發(fā)送。
全文摘要
本發(fā)明公開了一種心跳檢測(cè)方法,包括向被監(jiān)控中央處理單元(CPU)發(fā)送攜帶心跳序列號(hào)的心跳請(qǐng)求消息;對(duì)來自被監(jiān)控CPU的心跳反饋消息進(jìn)行分析,得到心跳檢測(cè)結(jié)果。本發(fā)明還提供了一種心跳檢測(cè)系統(tǒng)和CPU,應(yīng)用于對(duì)稱多處理(SMP)系統(tǒng)中,實(shí)現(xiàn)對(duì)SMP系統(tǒng)中的CPU狀態(tài)檢測(cè),并且本發(fā)明在進(jìn)行心跳檢測(cè)的消息中設(shè)置心跳序列號(hào),利用心跳序列號(hào)對(duì)消息的可靠性進(jìn)行判定,本發(fā)明的CPU在一個(gè)超時(shí)周期內(nèi)可進(jìn)行多個(gè)心跳檢測(cè),心跳檢測(cè)的精度和效率較高。
文檔編號(hào)G06F19/00GK101234018SQ20081000835
公開日2008年8月6日 申請(qǐng)日期2008年2月26日 優(yōu)先權(quán)日2008年2月26日
發(fā)明者凡 楊 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1