本發(fā)明涉及控制領(lǐng)域,具體而言,涉及一種處理器的控制方法和裝置。
背景技術(shù):
為滿足大數(shù)據(jù)云計算的需求,硬件主板(例如,服務(wù)器硬件主板)上所安裝的cpu(中央處理器,Central Processing Unit)的數(shù)量和種類越來越多。按照功能不同對硬件主板上的cpu進(jìn)行劃分,可以形成多個cpu簇。不同的cpu簇,具有不同的功能,例如:路由功能,圖像處理功能等?,F(xiàn)有技術(shù)中,控制中心對具有相同功能cpu簇中cpu采用單個逐一控制的控制方式。具體地,硬件主板上電啟動后,硬件主板上的每個cpu都運行其內(nèi)安裝的bootloader(引導(dǎo)裝載)程序,使該cpu處于bootloader狀態(tài),控制中心(例如,主處理器)通過點對點的形式依次發(fā)送控制命令來控制具有相同功能的cpu簇中的每個cpu,以使cpu進(jìn)行執(zhí)行相應(yīng)操作。對于某cpu簇,控制端需要發(fā)送控制命令的次數(shù)與該cpu簇中所包含cpu的數(shù)量相等。此外,控制中心還需預(yù)先建立硬件主板上每個cpu的ip地址與該cpu所屬cpu簇的功能的對應(yīng)關(guān)系表,控制端才能發(fā)送控制命令給cpu簇中的cpu。
通過上述描述可知,現(xiàn)有技術(shù)中對cpu進(jìn)行控制的過程中采用的是單個逐一的控制方式,存在效率低、控制邏輯復(fù)雜的問題。
針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種處理器的控制方法和裝置,以至少解決現(xiàn)有技術(shù)中由于對cpu采用單個逐一的控制方式,導(dǎo)致控制效率低的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種處理器的控制方法,包括:處理器簇中的每個處理器均發(fā)送狀態(tài)信息報文至控制中心,其中,所述狀態(tài)信息報文中包含有對應(yīng)的所述處理器的狀態(tài)信息,所述處理器簇為具有相同功能的多個處理器的集合;所述處理器簇中的每個所述處理器均接收所述控制中心以廣播形式發(fā)送的控制命令廣播報文,其中,所述控制命令廣播報文為響應(yīng)所述狀態(tài)信息報文的報文,并且所述控制命令廣播報文中包含控制命令;所述處理器簇中的每個所述處理器均解析所述控制 命令廣播報文;第一目標(biāo)處理器執(zhí)行所述控制命令,其中,所述第一目標(biāo)處理器為成功解析所述控制命令廣播報文的處理器。
進(jìn)一步地,所述控制命令廣播報文中包含UDP頭、控制數(shù)據(jù)頭和數(shù)據(jù)區(qū),每個所述處理器中都存儲有預(yù)定義UDP頭、預(yù)定義數(shù)據(jù)長度、預(yù)定義控制數(shù)據(jù)頭和預(yù)定義數(shù)據(jù)區(qū),其中,所述處理器簇中的每個所述處理器均解析所述控制命令廣播報文的步驟包括:判斷所述UDP頭與所述預(yù)定義UDP頭是否相同;若判斷出所述UDP頭與所述預(yù)定義UDP頭相同,則判斷數(shù)據(jù)長度與所述預(yù)定義數(shù)據(jù)長度是否相同,其中,所述數(shù)據(jù)長度為所述控制數(shù)據(jù)頭的字節(jié)長度與所述數(shù)據(jù)區(qū)的字節(jié)長度之和;若判斷出所述數(shù)據(jù)長度與所述預(yù)定義數(shù)據(jù)長度相同,則判斷所述控制數(shù)據(jù)頭和所述預(yù)定義控制數(shù)據(jù)頭是否相同;若判斷出所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭相同,則判斷所述數(shù)據(jù)區(qū)與所述預(yù)定義數(shù)據(jù)區(qū)是否相同;其中,若判斷出所述數(shù)據(jù)區(qū)與所述預(yù)定義數(shù)據(jù)區(qū)相同,則確定所述控制命令廣播報文解析成功。
進(jìn)一步地,所述UDP頭中包含源端口號和目的端口號,所述預(yù)定義UDP頭中包含預(yù)定義源端口號和預(yù)定義目的端口號,其中,判斷所述UDP頭與所述預(yù)定義UDP頭是否相同包括:判斷所述源端口號與所述預(yù)定義源端口號是否相同以及所述目的端口號和所述預(yù)定義目的端口號是否相同;其中,若判斷出所述源端口號與所述預(yù)定義源端口號相同,且所述目的端口號和所述預(yù)定義目的端口號相同,則確定所述UDP頭與所述預(yù)定義UDP頭相同;若判斷出所述源端口號與所述預(yù)定義源端口號不同或者所述目的端口號與所述預(yù)定義目的端口號不同,則確定所述UDP頭與所述預(yù)定義UDP頭不同。
進(jìn)一步地,所述控制數(shù)據(jù)頭中包含標(biāo)識信息和控制域,所述預(yù)定義控制數(shù)據(jù)頭中包含預(yù)定義標(biāo)識信息,其中,判斷所述控制數(shù)據(jù)頭和預(yù)定義控制數(shù)據(jù)頭是否相同包括:判斷所述標(biāo)識信息與所述預(yù)定義標(biāo)識信息是否相同,其中,所述標(biāo)識信息為目標(biāo)處理器簇的標(biāo)識信息,所述目標(biāo)處理器簇為所述第一目標(biāo)處理器所屬的處理器簇;若判斷出所述標(biāo)識信息與所述預(yù)定義標(biāo)識信息相同,則判斷所述控制域是否包括整個所述目標(biāo)處理器簇;其中,若判斷出所述控制域包括整個所述目標(biāo)處理器簇,則確定所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭相同;若判斷出所述標(biāo)識信息與所述預(yù)定義標(biāo)識信息不同,則確定所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭不同。
進(jìn)一步地,所述控制數(shù)據(jù)頭中還包含序列號,所述預(yù)定義控制數(shù)據(jù)頭中還包含預(yù)定義序列號,其中,判斷所述控制數(shù)據(jù)頭和預(yù)定義控制數(shù)據(jù)頭是否相同還包括:若判斷出所述控制域不包括整個所述目標(biāo)處理器簇,則判斷所述序列號與所述預(yù)定義序列號是否相同;其中,若判斷出所述序列號與所述預(yù)定義序列號相同,則確定所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭相同;若判斷出所述序列號與所述預(yù)定義序列號不同, 則確定所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭不同。
進(jìn)一步地,所述數(shù)據(jù)區(qū)中包含所述控制命令,所述預(yù)定義數(shù)據(jù)區(qū)中包含預(yù)定義命令,其中,判斷所述數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)是否相同包括:判斷所述控制命令與所述預(yù)定義命令是否相同;其中,若判斷出所述控制命令與所述預(yù)定義命令相同,則確定所述數(shù)據(jù)區(qū)與所述預(yù)定義數(shù)據(jù)區(qū)相同;若判斷出所述控制命令與所述預(yù)定義命令不同,則所述數(shù)據(jù)區(qū)與所述預(yù)定義數(shù)據(jù)區(qū)不同。
進(jìn)一步地,所述處理器簇中的每個所述處理器均解析所述控制命令廣播報文的步驟還包括:若判斷出所述UDP頭與所述預(yù)定義UDP頭不同、判斷出所述數(shù)據(jù)長度與所述預(yù)定義數(shù)據(jù)長度不同、判斷出所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭不同、或者判斷出所述數(shù)據(jù)區(qū)與所述預(yù)定義數(shù)據(jù)區(qū)不同,則丟棄所述控制命令廣播報文,并且每隔預(yù)設(shè)時間發(fā)送一次所述狀態(tài)信息報文至所述控制中心,直至再次接收到所述控制命令廣播報文。
進(jìn)一步地,在處理器簇中的每個處理器均發(fā)送狀態(tài)信息報文至控制中心之后,所述控制方法還包括:所述處理器簇中的每個處理器均判斷是否接收到所述控制命令廣播報文;第二目標(biāo)處理器每隔預(yù)設(shè)時間發(fā)送一次所述狀態(tài)信息報文至所述控制中心,直至接收到所述控制命令廣播報文,其中,所述第二目標(biāo)處理器為判斷出未接收到所述控制命令廣播報文的處理器。
進(jìn)一步地,在所述處理器簇中的每個所述處理器均解析所述控制命令廣播報文之前,所述控制方法還包括:所述處理器簇中的每個處理器均判斷所述控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址是否相同,其中,第三目標(biāo)處理器解析所述控制命令廣播報文;第四目標(biāo)處理器丟棄所述控制命令廣播報文,并且每隔預(yù)設(shè)時間發(fā)送一次所述狀態(tài)信息報文至所述控制中心,直至再次接收到所述控制命令廣播報文,其中,所述第三目標(biāo)處理器為判斷出所述控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址相同的處理器,所述第四目標(biāo)處理器為判斷出所述控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址不同的處理器。
進(jìn)一步地,所述控制方法還包括:每發(fā)送一次所述狀態(tài)信息報文至所述控制中心之前,將所述狀態(tài)信息報文中的心跳計數(shù)加一。
進(jìn)一步地,在所述處理器簇中的每個所述處理器均解析所述控制命令廣播報文之后,所述控制方法還包括:所述第一目標(biāo)處理器回復(fù)狀態(tài)命令報文至所述控制中心,其中,所述控制中心根據(jù)所述狀態(tài)命令報文,確定并記錄所述第一目標(biāo)處理器的運行狀態(tài)。
根據(jù)本發(fā)明實施例的一個方面,還提供了一種處理器的控制方法,包括:控制中心接收處理器簇中的每個處理器分別發(fā)送的狀態(tài)信息報文,其中,所述狀態(tài)信息報文中含有對應(yīng)的所述處理器的狀態(tài)信息,所述處理器簇為具有相同功能的多個處理器的集合;以及所述控制中心以廣播形式發(fā)送控制命令廣播報文至所述處理器簇中的每個所述處理器,以使所述處理器簇中的每個所述處理器均解析所述控制命令廣播報文,其中,第一目標(biāo)處理器執(zhí)行所述控制命令廣播報文中的控制命令,第一目標(biāo)處理器為成功解析所述控制命令廣播報文的處理器,所述控制命令廣播報文為響應(yīng)所述狀態(tài)信息報文的報文。
進(jìn)一步地,在所述控制中心以廣播形式發(fā)送控制命令廣播報文至所述處理器簇中的每個所述處理器,以使所述處理器簇中的每個所述處理器均解析所述控制命令廣播報文之后,所述控制方法還包括:所述控制中心接收所述第一目標(biāo)處理器發(fā)送的狀態(tài)命令報文;所述控制中心根據(jù)接收到的所述狀態(tài)命令報文確定所述第一目標(biāo)處理器的運行狀態(tài),并記錄所述運行狀態(tài)。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種處理器的控制裝置,設(shè)置在處理器簇的每個處理器中,所述處理器簇為具有相同功能的處理器的集合,其中,所述控制裝置包括:第一發(fā)送單元,用于發(fā)送狀態(tài)信息報文至控制中心,其中,所述狀態(tài)信息報文中包含有對應(yīng)的所述處理器的狀態(tài)信息;接收單元,用于接收所述控制中心以廣播形式發(fā)送的控制命令廣播報文,其中,所述控制命令廣播報文為響應(yīng)所述狀態(tài)信息報文的報文,并且所述控制命令廣播報文中包含控制命令;解析單元,用于解析所述控制命令廣播報文;執(zhí)行單元,用于在成功解析所述控制命令廣播報文的情況下,執(zhí)行所述控制命令。
進(jìn)一步地,所述控制命令廣播報文中包含UDP頭、控制數(shù)據(jù)頭和數(shù)據(jù)區(qū),每個所述處理器中都存儲有預(yù)定義UDP頭、預(yù)定義數(shù)據(jù)長度、預(yù)定義控制數(shù)據(jù)頭和預(yù)定義數(shù)據(jù)區(qū),其中,所述解析單元包括:第一判斷子單元,用于判斷所述UDP頭與預(yù)定義UDP頭是否相同;第二判斷子單元,用于在判斷出所述UDP頭與所述預(yù)定義UDP頭相同的情況下,判斷數(shù)據(jù)長度與預(yù)定義數(shù)據(jù)長度是否相同,其中,所述數(shù)據(jù)長度為所述控制數(shù)據(jù)頭的字節(jié)長度與所述數(shù)據(jù)區(qū)的字節(jié)長度之和;第三判斷子單元,用于在判斷出所述數(shù)據(jù)長度與所述預(yù)定義數(shù)據(jù)長度相同的情況下,判斷所述控制數(shù)據(jù)頭和預(yù)定義控制數(shù)據(jù)頭是否相同;第四判斷子單元,用于在判斷出所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭相同的情況下,判斷所述數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)是否相同;其中,在判斷出所述數(shù)據(jù)區(qū)與所述預(yù)定義數(shù)據(jù)區(qū)相同的情況下,確定所述控制命令廣播報文解析成功。
進(jìn)一步地,所述UDP頭中包含源端口號和目的端口號,所述預(yù)定義UDP頭中包含 預(yù)定義源端口號和預(yù)定義目的端口號,其中,所述第一判斷子單元包括:第一判斷模塊,用于判斷所述源端口號與所述預(yù)定義源端口號是否相同以及所述目的端口號和所述預(yù)定義目的端口號是否相同;其中,在判斷出所述源端口號與所述預(yù)定義源端口號相同,且所述目的端口號和所述預(yù)定義目的端口號相同的情況下,確定所述UDP頭與預(yù)定義UDP頭相同;在判斷出所述源端口號與所述預(yù)定義源端口號不同或者所述目的端口號與所述預(yù)定義目的端口號不同的情況下,確定所述UDP頭與預(yù)定義UDP頭不同。
進(jìn)一步地,所述控制數(shù)據(jù)頭中包含標(biāo)識信息和控制域,所述預(yù)定義控制數(shù)據(jù)頭中包含預(yù)定義標(biāo)識信息,其中,所述第三判斷子單元包括:第二判斷模塊,用于判斷所述標(biāo)識信息與所述預(yù)定義標(biāo)識信息是否相同,其中,所述標(biāo)識信息為目標(biāo)處理器簇的標(biāo)識信息,所述目標(biāo)處理器簇為成功解析所述控制命令廣播報文的處理器所屬的處理器簇;第三判斷模塊,用于在判斷出所述標(biāo)識信息與所述預(yù)定義標(biāo)識信息相同的情況下,判斷控制域是否包括整個所述目標(biāo)處理器簇;其中,在判斷出所述控制域包括整個所述目標(biāo)處理器簇的情況下,確定所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭相同;在判斷出所述標(biāo)識信息與所述預(yù)定義標(biāo)識信息不同的情況下,確定所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭不同。
進(jìn)一步地,所述控制數(shù)據(jù)頭中還包含序列號,所述預(yù)定義控制數(shù)據(jù)頭中還包含預(yù)定義序列號,其中,所述第三判斷子單元還包括:第四判斷模塊,用于在判斷出所述控制域不包括整個所述目標(biāo)處理器簇的情況下,判斷所述序列號與所述預(yù)定義序列號是否相同;其中,在判斷出所述序列號與所述預(yù)定義序列號相同的情況下,確定所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭相同;在判斷出所述序列號與所述預(yù)定義序列號不同的情況下,確定所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭不同。
進(jìn)一步地,所述數(shù)據(jù)區(qū)中包含所述控制命令,所述預(yù)定義數(shù)據(jù)區(qū)中包含預(yù)定義命令,其中,所述第四判斷子單元包括:第五判斷模塊,用于判斷所述控制命令與所述預(yù)定義命令是否相同;其中,在判斷出所述控制命令與所述預(yù)定義命令相同的情況下,確定所述數(shù)據(jù)區(qū)與所述預(yù)定義數(shù)據(jù)區(qū)相同;在判斷出所述控制命令與所述預(yù)定義命令不同的情況下,確定所述數(shù)據(jù)區(qū)與所述預(yù)定義數(shù)據(jù)區(qū)不同。
進(jìn)一步地,所述解析單元還包括:處理模塊,用于在判斷出所述UDP頭與所述預(yù)定義UDP頭不同、若判斷出數(shù)據(jù)長度與預(yù)定義長度不同、判斷出所述控制數(shù)據(jù)頭與所述預(yù)定義控制數(shù)據(jù)頭不同、或者判斷出所述數(shù)據(jù)區(qū)與所述預(yù)定義數(shù)據(jù)區(qū)不同的情況下,丟棄所述控制命令廣播報文,并且每隔預(yù)設(shè)時間發(fā)送一次所述狀態(tài)信息報文至所述控制中心,直至再次接收到所述控制命令廣播報文。
進(jìn)一步地,所述控制裝置還包括:第一判斷單元,用于在發(fā)送狀態(tài)信息報文至控 制中心之后,判斷是否接收到所述控制命令廣播報文;第二發(fā)送單元,用于在判斷出未接收到所述控制命令廣播報文的情況下,每隔預(yù)設(shè)時間發(fā)送一次所述狀態(tài)信息報文至所述控制中心,直至接收到所述控制命令廣播報文。
進(jìn)一步地,所述控制裝置還包括:第二判斷單元,用于在解析所述控制命令廣播報文之前,判斷所述控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址是否相同,其中,在判斷出所述控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址相同的情況下,解析所述控制命令廣播報文;在判斷出所述控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址不同的情況下,丟棄所述控制命令廣播報文,并且每隔預(yù)設(shè)時間發(fā)送一次所述狀態(tài)信息報文至所述控制中心,直至再次接收到所述控制命令廣播報文。
進(jìn)一步地,所述控制裝置還包括:計數(shù)單元,用于每發(fā)送一次所述狀態(tài)信息報文至所述控制中心之前,將所述狀態(tài)信息報文中的心跳計數(shù)加一。
進(jìn)一步地,所述控制裝置還包括:回復(fù)單元,用于在成功解析所述控制命令廣播報文的情況下之后,回復(fù)狀態(tài)命令報文至所述控制中心,其中,所述控制中心根據(jù)所述狀態(tài)命令報文,確定并記錄所述處理器的運行狀態(tài)。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種處理器的控制裝置,設(shè)置在控制中心中,其中,所述控制裝置包括:第一傳輸單元,用于接收處理器簇中的每個處理器分別發(fā)送的狀態(tài)信息報文,其中,所述狀態(tài)信息報文中含有對應(yīng)的所述處理器的狀態(tài)信息,所述處理器簇為具有相同功能的多個處理器的集合;以及第二傳輸單元,用于以廣播形式發(fā)送控制命令廣播報文至所述處理器簇中的每個所述處理器,以使所述處理器簇中的每個所述處理器均解析所述控制命令廣播報文,其中,第一目標(biāo)處理器執(zhí)行所述控制命令廣播報文中的控制命令,所述第一目標(biāo)處理器為成功解析所述控制命令廣播報文的處理器,所述控制命令廣播報文為響應(yīng)所述狀態(tài)信息報文的報文。
進(jìn)一步地,所述控制裝置還包括:第三傳輸單元,用于在以廣播形式發(fā)送控制命令廣播報文至所述處理器簇中的每個所述處理器,以使所述處理器簇中的每個所述處理器均解析所述控制命令廣播報文之后,接收第一目標(biāo)處理器發(fā)送的狀態(tài)命令報文;記錄單元,用于根據(jù)接收到的所述狀態(tài)命令報文確定所述第一目標(biāo)處理器的運行狀態(tài),并記錄所述運行狀態(tài)。
在本發(fā)明實施例中,采用處理器簇中的每個處理器均發(fā)送狀態(tài)信息報文控制中心,其中,所述狀態(tài)信息報文中包含有對應(yīng)的所述處理器的狀態(tài)信息,所述處理器簇為具有相同功能的多個處理器的集合;所述處理器簇中的每個所述處理器均接收所述控制中心以廣播形式發(fā)送的控制命令廣播報文,其中,所述控制命令廣播報文為響應(yīng)所述 狀態(tài)信息報文的報文,并且所述控制命令廣播報文中包含控制命令;所述處理器簇中的每個所述處理器均解析所述控制命令廣播報文;第一目標(biāo)處理器執(zhí)行所述控制命令,其中,所述第一目標(biāo)處理器為成功解析所述控制命令廣播報文的處理器。通過控制中心以廣播的形式將包含控制命令的控制命令廣播報文發(fā)送給全部處理,使得每個處理器能夠同時接收以及解析上述控制命令廣播報文,進(jìn)而解析成功的處理器均執(zhí)行控制命令,相比較于現(xiàn)有技術(shù)中控制中心采用單個逐一對處理器進(jìn)行控制的方式,本申請中控制中心對處理器的控制方式能夠達(dá)到對于同一條控制命令只需發(fā)送一次就可以控制多個處理器的目的,從而提高了對處理器的控制效率,進(jìn)而解決了現(xiàn)有技術(shù)中由于對cpu采用單個逐一的控制方式,導(dǎo)致控制效率低的技術(shù)問題。此外,在本發(fā)明實施例所提供的處理器的控制方式中,控制中心無需預(yù)先建立硬件主板上每個處理器的ip地址與該處理器所屬的cpu簇的功能對應(yīng)關(guān)系表,達(dá)到了簡化控制中心控制邏輯的效果。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的一種可選的處理器的控制方法的流程圖;
圖2是根據(jù)本發(fā)明實施例的另一種可選的處理器的控制方法的流程圖;
圖3是根據(jù)本發(fā)明實施例的一種處理器集群的示意圖;
圖4是根據(jù)本發(fā)明實施例的一種可選的處理器的控制方法的時序圖;
圖5是根據(jù)本發(fā)明實施例的一種可選的處理器的控制方法中解析控制命令廣播報文的流程圖;
圖6是根據(jù)本發(fā)明實施例的一種可選的處理器的控制裝置的示意圖;以及
圖7是根據(jù)本發(fā)明實施例的另一種可選的處理器的控制裝置的示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于 本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
首先,在對本發(fā)明實施例進(jìn)行描述的過程中出現(xiàn)的部分名詞或術(shù)語適用于如下解釋:
Bootloader:是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序??梢猿跏蓟布O(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。
cpu簇(cpu cluster):在一塊硬件主板上,一類具有相同功能的cpu集合。
控制中心:在一塊硬件主板上控制該硬件主板上各個cpu的主cpu,用于記錄各cpu的狀態(tài)、下發(fā)處理任務(wù)給各cpu等。
根據(jù)本發(fā)明實施例,提供了一種處理器的控制方法的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實施例的一種可選的處理器的控制方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,處理器簇中的每個處理器均發(fā)送狀態(tài)信息報文至處理器進(jìn)行控制的控制中心,其中,狀態(tài)信息報文中包含有與狀態(tài)信息報文對應(yīng)的處理器的狀態(tài)信息,處理器簇為具有相同功能的多個處理器的集合。具體地,狀態(tài)信息中至少包含處理器中所安裝的bootloader的版本號。
其中,上述步驟S102中的處理器是指處于bootloader狀態(tài)下的處理器,也即,已經(jīng)運行了bootloader程序的處理器。當(dāng)硬件主板上電啟動后,硬件主板上處理器簇中的每個處理器都會運行bootloader程序,也就使得每個處理器都處于bootloader狀態(tài)。
此外,硬件主板上處理器簇的數(shù)量可以為一個,也可以為多個。如果為多個,則每個處理器簇中包含的每個處理器均發(fā)送狀態(tài)信息報文至控制中心。
步驟S104,處理器簇中的每個處理器均接收控制中心以廣播形式發(fā)送的控制命令廣播報文,其中,控制命令廣播報文為響應(yīng)狀態(tài)信息報文的報文,并且控制命令廣播報文中包含控制命令。
具體地,控制中心通過對控制命令廣播報文的內(nèi)容進(jìn)行設(shè)置,實現(xiàn)其對所要控制的處理器簇中的處理器的控制。
步驟S106,處理器簇中的每個處理器均解析控制命令廣播報文。
步驟S108,第一目標(biāo)處理器執(zhí)行控制命令,其中,第一目標(biāo)處理器為成功解析控制命令廣播報文的處理器。
如果控制中心當(dāng)前想要控制某個處理器簇中的一個處理器或全部的處理器執(zhí)行控制命令,則控制命令廣播報文中會包含關(guān)于上述處理器簇的相關(guān)信息,以使得該處理器簇中的一個處理器或者全部的處理器能夠成功解析上述控制命令廣播報文,并且執(zhí)行控制命令,從而實現(xiàn)對該處理器簇中的一個處理器或者全部處理器的控制。
上述步驟S108中的第一目標(biāo)處理器即為控制中心當(dāng)前所要控制的處理器。其中,第一目標(biāo)處理器可以為一個,也可以為多個,具體數(shù)量由控制命令廣播報文中的控制域確定。如果為多個,則上述多個第一目標(biāo)處理器屬于同一處理器簇,該處理器簇即為下文中的目標(biāo)處理器簇。
在本發(fā)明實施例中,通過控制中心以廣播的形式將包含控制命令的控制命令廣播報文發(fā)送給全部處理,使得每個處理器能夠同時接收以及解析上述控制命令廣播報文,進(jìn)而解析成功的處理器均執(zhí)行控制命令,相比較于現(xiàn)有技術(shù)中控制中心采用單個逐一對處理器進(jìn)行控制的方式,本申請中控制中心對處理器的控制方式能夠達(dá)到對于同一條控制命令只需發(fā)送一次就可以控制多個處理器的目的,從而提高了對處理器的控制效率,進(jìn)而解決了現(xiàn)有技術(shù)中由于對cpu采用單個逐一的控制方式,導(dǎo)致控制效率低的技術(shù)問題。此外,在本發(fā)明實施例所提供的處理器的控制方式中,控制中心無需預(yù)先建立硬件主板上每個處理器的ip地址與該處理器所屬的cpu簇的功能對應(yīng)關(guān)系表,達(dá)到了簡化控制中心控制邏輯的效果。
每個處理器給控制中心發(fā)送的狀態(tài)信息報文的格式均如下表1所示。
表1
根據(jù)上表1可知,狀態(tài)信息報文分為三部分,分別是MAC頭、UDP頭和信息區(qū),每部分具體包括的內(nèi)容以及字節(jié)長度均可參見表1得知。對狀態(tài)信息報文所包含的內(nèi)容說明如下:
目標(biāo)MAC地址為控制中心的MAC地址,該MAC地址為預(yù)先定義的。硬件主板上的每個處理器中都存儲有控制中心的MAC地址。
源MAC地址為發(fā)送狀態(tài)信息報文的處理器的MAC地址,處理器的MAC地址也是預(yù)先定義的。需要說明的是,硬件主板上每個處理器的MAC地址都是唯一的。
類型為協(xié)議的類型。
IP填充字段為IP協(xié)議中標(biāo)準(zhǔn)字段,以符合網(wǎng)絡(luò)傳輸協(xié)議,在交換機環(huán)境中進(jìn)行數(shù)據(jù)傳輸。
源IP地址為發(fā)送狀態(tài)信息報文的處理器的IP地址,同樣的,處理器的IP地址也都是預(yù)先定義的。需要說明的是,硬件主板上的每個處理器的IP地址也都是唯一的。
目的IP地址為控制中心的IP地址,該IP地址也是預(yù)先定義的,硬件主板上的每個處理器中都存儲有控制中心的IP地址。
源端口號為發(fā)送狀態(tài)信息報文的處理器所屬的cpu簇的源端口號。
目的端口號為控制中心的端口號。
長度為源端口號+目的端口號+長度+UDP校驗和+信息區(qū)的字節(jié)長度之和。
UDP校驗和為滿足網(wǎng)絡(luò)傳輸數(shù)據(jù)格式長度,所作的填充字段,不作處理。
幻數(shù)為該處理器所屬的cpu簇在硬件主板上的標(biāo)識信息,并且是唯一標(biāo)識。
心跳計數(shù)為處理器給控制中心發(fā)送狀態(tài)信息報文的次數(shù)。
bootloader信息為bootloader的相關(guān)信息,至少包括bootloader的版本號。此外,用戶可以根據(jù)實際需要對bootloader信息中所包含的內(nèi)容進(jìn)行擴展。
根據(jù)上述狀態(tài)信息報文的格式可知,控制中心通過接收各處理器發(fā)送的狀態(tài)信息報文,可以收集各處理器的bootloader的版本號,從而實現(xiàn)對各處理器的bootloader版本的查詢以及實現(xiàn)對bootloader版本的統(tǒng)一管理。
控制中心給每個處理器發(fā)送的控制命令廣播報文的格式如下表2所示。
表2
根據(jù)上表2可知,控制命令廣播報文主要分為四部分,分別是MAC頭、UDP頭、控制數(shù)據(jù)頭和數(shù)據(jù)區(qū),每部分具體包括的內(nèi)容以及字節(jié)長度均可參見表2得知。對控制命令廣播報文所包含的內(nèi)容說明如下:
目標(biāo)MAC地址為FF-FF-FF-FF-FF-FF,表示控制中心將控制命令廣播報文以廣播的形式進(jìn)行發(fā)送。
源MAC地址為控制中心的MAC地址。
類型為協(xié)議的類型。
IP填充字段為IP協(xié)議中標(biāo)準(zhǔn)字段,以符合網(wǎng)絡(luò)傳輸協(xié)議,在交換機環(huán)境中進(jìn)行數(shù)據(jù)傳輸。
源IP地址為控制中心的IP地址,該IP地址也是預(yù)先定義的。
目的IP地址為當(dāng)前網(wǎng)段中廣播的IP地址,該IP地址為預(yù)定定義的,不同網(wǎng)段中廣播的IP地址不同。
源端口號為控制中心的源端口號。
目的端口號為需要執(zhí)行控制命令的處理器所屬的cpu簇的端口號。
長度為源端口號+目的端口號+長度+UDP校驗和+控制數(shù)據(jù)頭+數(shù)據(jù)區(qū)的字節(jié)長度 之和。
UDP校驗和為滿足網(wǎng)絡(luò)傳輸數(shù)據(jù)格式長度,所作的填充字段,不作處理。
控制域為控制命令的執(zhí)行范圍,可以包括某個cpu簇中的全部cpu,也可以只包括某個cpu簇中的一個cpu,具體可以根據(jù)用戶需求設(shè)置??刂朴蛴袃煞N取值,分別是1和0,當(dāng)控制域的取值為1時,表示控制命令的執(zhí)行范圍為某個cpu簇中的全部cpu,當(dāng)控制域的取值為0時,表示控制命令的執(zhí)行范圍為某個cpu簇中的一個cpu。
序列號為執(zhí)行控制命令的處理器的序列號。在同一cpu簇中,每個處理器的序列號都是唯一的,但在不同cpu簇中,處理器的序列號可以相同,也可以不同。
幻數(shù)為該處理器所屬cpu簇的標(biāo)識信息,并且是唯一標(biāo)識。
同步字節(jié)表示控制中心與處理器的同步狀態(tài),有兩種取值,分別是1和0,在控制命令廣播報文中,同步字節(jié)的取值為0。
需要說明的是,控制命令廣播報文中的控制命令具有可擴展性,在實施時,用戶可以根據(jù)需要對控制命令進(jìn)行擴展,以實現(xiàn)多樣化的控制功能,例如:啟動內(nèi)核及文件系統(tǒng)、更新bootloader、檢測外圍設(shè)備等。如果控制命令為更新bootloader,根據(jù)本發(fā)明實施例所提供的處理器的控制方法,可以直接實現(xiàn)對各個處理器中安裝的bootloader進(jìn)行統(tǒng)一升級,無需串口接入,大大提高了bootloader的升級效率,從而降低了相關(guān)操作人員的工作強度。
作為一個可選實施例,控制命令廣播報文中包含UDP頭、控制數(shù)據(jù)頭和數(shù)據(jù)區(qū),每個處理器中都存儲有預(yù)定義UDP頭、預(yù)定義數(shù)據(jù)長度、預(yù)定義控制數(shù)據(jù)頭和預(yù)定義數(shù)據(jù)區(qū),處理器簇中每個處理器均可以通過步驟S1061至步驟S1067實現(xiàn)對其接收到的控制命令廣播報文的解析,其中,步驟S1061至步驟S1067具體如下:
步驟S1061,判斷UDP頭與預(yù)定義UDP頭是否相同。
步驟S1063,若判斷出UDP頭與預(yù)定義UDP頭相同,則判斷數(shù)據(jù)長度與預(yù)定義數(shù)據(jù)長度是否相同,其中,數(shù)據(jù)長度為控制數(shù)據(jù)頭的字節(jié)長度與數(shù)據(jù)區(qū)的字節(jié)長度之和。
步驟S1065,若判斷出數(shù)據(jù)長度與預(yù)定義數(shù)據(jù)長度相同,則判斷控制數(shù)據(jù)頭和預(yù)定義控制數(shù)據(jù)頭是否相同。
步驟S1067,若判斷出控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭相同,則判斷數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)是否相同,其中,若判斷出數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)相同,則確定控制命令廣播報文解析成功。
作為一個可選實施例,若某個處理器判斷出數(shù)據(jù)長度與預(yù)定義數(shù)據(jù)長度不同,表示該處理器無需執(zhí)行控制命令,那么也就無需繼續(xù)對控制命令廣播報文進(jìn)行解析,進(jìn)而將接收到的控制命令廣播報文丟棄,并且該處理器的每隔預(yù)設(shè)時間就會發(fā)送一次狀態(tài)信息報文至控制中心,直至其再次接收到控制命令廣播報文。具體地,預(yù)設(shè)時間可以根據(jù)用戶需求設(shè)置,例如:2S、3S等。
作為一個可選實施例,UDP頭中包含源端口號和目的端口號,預(yù)定義UDP頭中包含預(yù)定義源端口號和預(yù)定義目的端口號,步驟S1061中判斷UDP頭與預(yù)定義UDP頭是否相同包括如下步驟S1:
步驟S1,判斷源端口號與預(yù)定義源端口號是否相同以及目的端口號和預(yù)定義目的端口號是否相同。
具體地,若判斷出源端口號與預(yù)定義源端口號相同,且目的端口號和預(yù)定義目的端口號相同,則確定UDP頭與預(yù)定義UDP頭相同;若判斷出源端口號與預(yù)定義源端口號不同或者目的端口號與預(yù)定義目的端口號不同,則確定UDP頭與預(yù)定義UDP頭不同。
作為一個可選實施例,若某個處理器判斷出UDP頭與預(yù)定義UDP頭不同,則該處理器丟棄控制命令廣播報文,并且每隔預(yù)設(shè)時間發(fā)送一次狀態(tài)信息報文至控制中心,直至再次接收到控制命令廣播報文。
也即,如果判斷出源端口號與預(yù)定義源端口號相同,并且目的端口號和預(yù)定義目的端口號也相同的情況下,可以再繼續(xù)判斷數(shù)據(jù)長度和預(yù)定義長度是否相同。如果判斷出源端口號與預(yù)定義源端口號不同或者目的端口號與預(yù)定義目的端口號不同,表示該處理器無需執(zhí)行控制命令,那么也就不需要繼續(xù)對控制命令廣播報文進(jìn)行解析,進(jìn)而處理器將接收到的控制命令廣播報文丟棄,并且每隔預(yù)設(shè)時間(例如,2S)就會發(fā)送一次該處理器的狀態(tài)信息報文至控制中心,直至再次接收到控制命令廣播報文。
作為一個可選實施例,控制數(shù)據(jù)頭中包含標(biāo)識信息和控制域,預(yù)定義控制數(shù)據(jù)頭中包含預(yù)定義標(biāo)識信息,步驟S1065中判斷控制數(shù)據(jù)頭和預(yù)定義控制數(shù)據(jù)頭是否相同包括如下步驟:
步驟S3,判斷標(biāo)識信息與預(yù)定義標(biāo)識信息是否相同,其中,標(biāo)識信息為目標(biāo)處理器簇的標(biāo)識信息,目標(biāo)處理器簇為第一目標(biāo)處理器所屬的處理器簇(即,cpu簇)。
在本發(fā)明實施例中,標(biāo)識信息即為上述表2中控制命令廣播報文中的幻數(shù)。
步驟S5,若判斷出標(biāo)識信息與預(yù)定義標(biāo)識信息相同,則判斷控制域是否包括整個目標(biāo)處理器簇,也即判斷控制域是否包括目標(biāo)處理器簇中全部的處理器。
具體地,若判斷出控制域包括整個目標(biāo)處理器簇,則確定控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭相同;若判斷出標(biāo)識信息與預(yù)定義標(biāo)識信息不同,則確定控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭不同。
作為一個可選實施例,若某個處理器判斷出控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭不同,表示該處理器無需執(zhí)行控制命令,那么也就無需繼續(xù)對控制命令廣播報文進(jìn)行解析,進(jìn)而處理器將接收到的控制命令廣播報文丟棄,并且同樣的每隔預(yù)設(shè)時間就會發(fā)送一次該處理器的狀態(tài)信息報文至控制中心,直至再次接收到控制命令廣播報文。
也即,如果某個處理器判斷出標(biāo)識信息與預(yù)定義標(biāo)識信息相同,并且控制域包括整個目標(biāo)處理器簇,可以再繼續(xù)判斷數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)是否相同。如果判斷出標(biāo)識信息與預(yù)定義標(biāo)識信息不同,表示該處理器無需執(zhí)行控制命令,那么也就不需要繼續(xù)對控制命令廣播報文進(jìn)行解析,進(jìn)而將接收到的控制命令廣播報文丟棄,并且每隔預(yù)設(shè)時間(例如,2S)就會發(fā)送一次狀態(tài)信息報文至控制中心,直至再次接收到控制命令廣播報文。
在本發(fā)明實施例中,可以通過對控制域所包含的處理器的范圍進(jìn)行設(shè)置,從而控制某個cpu簇中全部的處理器均執(zhí)行控制命令,進(jìn)而實現(xiàn)了控制中心對某個cpu簇中的全部cpu進(jìn)行控制(也就是同時對多個處理器進(jìn)行控制)的效果。
作為一個可選實施例,控制數(shù)據(jù)頭中還包含序列號,預(yù)定義控制數(shù)據(jù)頭中還包含預(yù)定義序列號,其中,預(yù)定義序列號為該處理器自身的序列號,步驟S1065中判斷控制數(shù)據(jù)頭和預(yù)定義控制數(shù)據(jù)頭是否相同還包括如下步驟:
步驟S7,若判斷出控制域不包括整個目標(biāo)處理器簇,則判斷序列號與預(yù)定義序列號是否相同。
具體地,若判斷出序列號與預(yù)定義序列號相同,則確定控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭相同;若判斷出序列號與預(yù)定義序列號不同,則確定控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭不同。
如果控制中心此次所要控制的處理器只有一個,則控制命令廣播報文中所包含的序列號為需要執(zhí)行控制命令的處理器的序列號,也就是第一目標(biāo)處理器的序列號。
在本發(fā)明實施例中,控制中心可以通過對控制命令廣播報文中的控制域以及序列號進(jìn)行設(shè)置,將執(zhí)行控制命令的處理器的范圍縮小,即可實現(xiàn)控制中心只對某個處理器簇中的一個cpu進(jìn)行控制的效果。
通過本發(fā)明實施例中所提供的控制命令廣播報文,控制中心既可以控制某個處理 器簇中全部的處理器,也可以只控制某個處理器簇中的一個處理器,相比較于現(xiàn)有技術(shù)中控制中心只能控制一個處理器的控制方式,提高了對處理器控制的靈活性。
作為一個可選實施例,數(shù)據(jù)區(qū)中包含控制命令,預(yù)定義數(shù)據(jù)區(qū)中包含預(yù)定義命令,其中,預(yù)定義命令為該處理器可以執(zhí)行的控制命令,步驟S1067中判斷數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)是否相同包括如下步驟:
步驟S9,判斷控制命令與預(yù)定義命令是否相同。
具體地,若判斷出控制命令與預(yù)定義命令相同,則確定數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)相同;若判斷出控制命令與預(yù)定義命令不同,則確定數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)不同。
作為一個可選實施例,若某個處理器判斷出數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)不同,表示該處理器無需執(zhí)行控制命令,那么也就無需繼續(xù)對控制命令廣播報文進(jìn)行解析,進(jìn)而將接收到的控制命令廣播報文丟棄,并且同樣的每隔預(yù)設(shè)時間就會發(fā)送一次狀態(tài)信息報文至控制中心,直至再次接收到控制命令廣播報文。
作為一個可選實施例,在處理器簇中的每個處理器均發(fā)送狀態(tài)信息報文至控制中心之后,控制方法還包括:處理器簇中的每個處理器均判斷是否接收到控制命令廣播報文,其中,第二目標(biāo)處理器每隔預(yù)設(shè)時間發(fā)送一次狀態(tài)信息報文至控制中心,直至接收到控制命令廣播報文,其中,第二目標(biāo)處理器為判斷出未接收到控制命令廣播報文的處理器。
需要說明的是,本實施例中的第二目標(biāo)處理器可能與上述實施例中的第一目標(biāo)處理器為同一處理器,也可能與上述實施例中的第一目標(biāo)處理器為不同的處理器。
作為一個可選實施例,在處理器簇中的每個處理器均解析控制命令廣播報文之前,控制方法還包括:處理器簇中的每個處理器均判斷控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址是否相同,其中,第三目標(biāo)處理器解析控制命令廣播報文;第四目標(biāo)處理器丟棄控制命令廣播報文,并且每隔預(yù)設(shè)時間發(fā)送一次狀態(tài)信息報文至控制中心,直至再次接收到控制命令廣播報文。具體地,第三目標(biāo)處理器為判斷出控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址相同的處理器,第四目標(biāo)處理器為判斷出控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址不同的處理器。在本發(fā)明實施例中,預(yù)定義MAC地址為FF-FF-FF-FF-FF,也即,判斷目標(biāo)MAC地址是否為FF-FF-FF-FF-FF。
需要說明的是,本實施例中的第三目標(biāo)處理器可能與上述實施例中的第一目標(biāo)處理器為同一處理器,也可能與上述實施例中的第一目標(biāo)處理器為不同的處理器。
作為一個可選實施例,每發(fā)送一次狀態(tài)信息報文至控制中心之前,將狀態(tài)信息報文中的心跳計數(shù)加一,也就是,狀態(tài)信息報文中心跳次數(shù)與該狀態(tài)信息報文對應(yīng)的處理器給控制中心發(fā)送狀態(tài)信息報文的次數(shù)相等。例如:某個處理器第一次發(fā)送給控制中心的狀態(tài)信息報文中的心跳計數(shù)為1,第二次發(fā)送給控制中心的狀態(tài)信息報文中的心跳計數(shù)為2,依次類推,直至該處理器所在的硬件主板斷電。
由于處理器是按照每隔預(yù)設(shè)時間就會給控制中心發(fā)送狀態(tài)信息報文,所以控制中心可以根據(jù)預(yù)設(shè)時間以及狀態(tài)信息報文中的心跳計數(shù)得知該處理器的工作時間。
作為一個可選實施例,在處理器簇中的每個處理器均解析控制命令廣播報文之后,控制方法還包括:第一目標(biāo)處理器回復(fù)狀態(tài)命令報文至控制中心,其中,控制中心根據(jù)狀態(tài)命令報文,確定并記錄第一目標(biāo)處理器的運行狀態(tài)。
需要說明的是,狀態(tài)命令報文的組成格式與控制命令廣播報文的組成格式相同。但是在狀態(tài)命令報文中,同步字節(jié)的取值為1,表示處理器執(zhí)行了控制命令;源MAC地址為第一目標(biāo)處理器所屬的cpu簇(即,目標(biāo)處理器簇)的MAC地址;源端口號為第一目標(biāo)處理器所屬的cpu簇(即,目標(biāo)處理器簇)的MAC地址;目的端口號為控制中心的端口號;控制域的取值與第一目標(biāo)處理器接收到的控制命令廣播報文中的取值相同。
具體地,控制中心可以根據(jù)狀態(tài)命令報文中的同步字節(jié)確定第一目標(biāo)處理器的運行狀態(tài),并對上述運行狀態(tài)進(jìn)行記錄。
在本發(fā)明實施例中,處理器成功解析控制命令廣播報文后,會向控制中心反饋信息,以告知控制中心該處理器已經(jīng)執(zhí)行了控制命令。
作為一個可選實施例,第一目標(biāo)處理器為多個,在處理器簇中的每個處理器均解析控制命令廣播報文之后,控制方法還包括:多個第一目標(biāo)處理器中的每個第一目標(biāo)處理器均回復(fù)狀態(tài)命令報文至控制中心,其中,控制中心根據(jù)接收到的狀態(tài)命令報文確定與狀態(tài)命令報文對應(yīng)的第一目標(biāo)處理器的運行狀態(tài),并記錄運行狀態(tài)。
即,控制中心會記錄向其發(fā)送狀態(tài)命令報文的每個第一目標(biāo)處理器的運行狀態(tài)。
圖2是根據(jù)本發(fā)明實施例的另一種可選的處理器的控制方法的流程圖。如圖2所示,該控制方法包括如下步驟:
步驟S202,控制中心接收處理器簇中的每個處理器分別發(fā)送的狀態(tài)信息報文,其中,狀態(tài)信息報文中含有與狀態(tài)信息報文對應(yīng)的處理器的狀態(tài)信息,處理器簇為具有相同功能的多個處理器的集合。具體地,狀態(tài)信息中至少包含對應(yīng)的處理器所安裝的 bootloader的版本信息。
步驟S204,控制中心以廣播形式發(fā)送控制命令廣播報文至處理器簇中的每個處理器,以使處理器簇中的每個處理器均解析控制命令廣播報文,其中,第一目標(biāo)處理器執(zhí)行控制命令廣播報文中的控制命令,第一目標(biāo)處理器為成功解析控制命令廣播報文的處理器,控制命令廣播報文為響應(yīng)狀態(tài)信息報文的報文。
狀態(tài)信息報文和控制命令廣播報文已在上述內(nèi)容中進(jìn)行詳細(xì)介紹,此處不再重復(fù)說明。
在本發(fā)明實施例中,通過控制中心以廣播的形式將包含控制命令的控制命令廣播報文發(fā)送給全部處理,使得每個處理器能夠同時接收以及解析上述控制命令廣播報文,進(jìn)而解析成功的處理器均執(zhí)行控制命令,相比較于現(xiàn)有技術(shù)中控制中心采用單個逐一對處理器進(jìn)行控制的方式,本申請中控制中心對處理器的控制方式能夠達(dá)到對于同一條控制命令只需發(fā)送一次就可以控制多個處理器的目的,從而提高了對處理器的控制效率,進(jìn)而解決了現(xiàn)有技術(shù)中由于對cpu采用單個逐一的控制方式,導(dǎo)致控制效率低的技術(shù)問題。此外,在本發(fā)明實施例所提供的處理器的控制方式中,控制中心無需預(yù)先建立硬件主板上每個處理器的ip地址與該處理器所屬的cpu簇的功能對應(yīng)關(guān)系表,達(dá)到了簡化控制中心控制邏輯的效果。
作為一個可選實施例,在控制中心以廣播形式發(fā)送控制命令廣播報文至處理器簇中的每個處理器,以使處理器簇中的每個處理器解析控制命令廣播報文之后,控制方法還包括:控制中心接收第一目標(biāo)處理器發(fā)送的狀態(tài)命令報文;控制中心根據(jù)接收到的狀態(tài)命令報文確定第一目標(biāo)處理器的運行狀態(tài),并記錄運行狀態(tài)。
同樣的,狀態(tài)命令報文也已在上述內(nèi)容中進(jìn)行詳細(xì)介紹,此處不再重復(fù)說明。
在本發(fā)明實施例中,處理器成功解析控制命令狀態(tài)報文后,會向控制中心反饋信息,以告知控制中心該處理器已經(jīng)執(zhí)行了控制命令。
作為一個可選實施例,第一目標(biāo)處理器為多個,在控制中心以廣播形式發(fā)送控制命令廣播報文至處理器簇中的每個處理器,以使處理器簇中的每個處理器解析控制命令廣播報文之后,控制方法還包括:控制中心接收多個第一目標(biāo)處理器中每個第一目標(biāo)處理器發(fā)送的狀態(tài)命令報文;控制中心根據(jù)接收到的狀態(tài)命令報文確定與狀態(tài)命令報文對應(yīng)的第一目標(biāo)處理器的運行狀態(tài),并記錄運行狀態(tài)。
圖3是根據(jù)本發(fā)明實施例的一種處理器集群的示意圖。如圖3所示,在本發(fā)明實施例中,硬件主板上包括交換機、控制中心以及4個cpu簇,其中,4個cpu簇分別是cpu簇0、cpu簇1、cpu簇2和cpu簇3,每個cpu簇中都包含多個處理器,例如, cpu簇0包含cpu0、cpu1、cpu2等。控制中心和各個處理器之間都是通過交換機進(jìn)行通信。具體地,當(dāng)硬件主板上電啟動后,上述4個cpu簇中的每個處理器都運行bootloader,使得該處理器處于bootloader狀態(tài),然后每個處理器都會通過交換機給控制中心發(fā)送狀態(tài)信息報文,控制中心根據(jù)接收到的狀態(tài)信息報文,確定響應(yīng)該狀態(tài)信息報文的控制命令廣播報文,并且通過交換機將上述控制命令廣播報文發(fā)送給上述4個cpu簇中的所有處理器,每個處理器會對接收到控制命令廣播報文進(jìn)行解析。解析成功的處理器則執(zhí)行控制命令廣播報文中的控制命令,并回復(fù)狀態(tài)命令報文至控制中心,使得控制中心可以通過接收到的狀態(tài)報文確定處理器的運行狀態(tài);解析失敗的處理器則每隔預(yù)設(shè)時間(例如:2S)就會向控制中心發(fā)送一次狀態(tài)信息報文,直至再次接收到控制命令廣播報文。處理器同樣會對再次接收到的控制命令廣播報文進(jìn)行解析,若再次解析失敗,仍舊每隔預(yù)設(shè)時間就向控制中心發(fā)送一次狀態(tài)信息報文。
圖4是根據(jù)本發(fā)明實施例的一種可選的處理器的控制方法的時序圖。在該實施例中,以某個cup簇中的一個cpu為例,對本發(fā)明實施例所提供的處理器的控制方法進(jìn)行說明。該控制方法包括步驟S402至步驟S412,具體如下:
步驟S402,處理器發(fā)送狀態(tài)信息報文包至控制中心。具體地,該處理器為已運行bootloader的處理器。
其中,狀態(tài)信息報文也可以稱為狀態(tài)信息包。步驟S402同步驟S102,在此不再重復(fù)說明。
步驟S404,控制中心根據(jù)接收到的狀態(tài)信息報文,確定控制命令廣播報文。本步驟中的控制命令廣播報文也可以稱為控制命令廣播包。
具體地,控制中心在接收到上述狀態(tài)信息報文后,對該狀態(tài)信息報文進(jìn)行解析,以獲取處理器的相關(guān)信息(例如、處理器中安裝的bootloader的版本號等信息),控制中心可以根據(jù)上述相關(guān)信息,作出相應(yīng)的判斷,進(jìn)而確定出控制命令廣播報文。
步驟S406,控制中心通過廣播的形式將上控制命令廣播報文發(fā)送至處理器。
由于控制命令廣播報文是通過廣播形式進(jìn)行發(fā)送的,所以對于同一控制命令廣播報文,控制中心只需發(fā)送一次即可實現(xiàn)該控制中心所在的硬件主板上全部的處理器都可以接收到該控制命令廣播報文。
步驟S408,處理器對接收到的控制命令廣播報文進(jìn)行解析。
具體地,處理器對控制命令廣播報文進(jìn)行解析,有兩種結(jié)果。一種是解析成功,另一種是解析失敗,如果解析成功,處理器則執(zhí)行步驟S410;若果解析失敗,處理器 會將接收到的控制命令廣播報文丟棄,并且每隔2S就給控制中心發(fā)送一下狀態(tài)信息報文,以能夠再次接收到控制命令廣播報文。
步驟S410,若解析成功,則執(zhí)行控制命令廣播報文中的控制命令,并回復(fù)狀態(tài)命令報文至控制中心。
步驟S412,根據(jù)狀態(tài)命令報文,確定處理器的運行狀態(tài),并對該狀態(tài)進(jìn)行記錄。
具體地,控制中心在接收到上述狀態(tài)命令報文后,對該狀態(tài)命令報文進(jìn)行解析,以獲取處理器的運行狀態(tài),并對該運行狀態(tài)進(jìn)行記錄,表示該處理器已經(jīng)執(zhí)行控制命令。
需要說明的是,圖4中只是示意性的示出了控制中心對一個處理器的控制過程,控制中心對其所在的硬件主板上的其他處理器的控制過程與上述控制過程相同,在此不再重復(fù)說明。
圖5是根據(jù)本發(fā)明實施例的一種可選的處理器的控制方法中解析控制命令廣播報文的流程圖。其中,控制命令廣播報文的組成格式如上述表2所示,處理器中存儲有預(yù)定義端口號、預(yù)定義數(shù)據(jù)長度、預(yù)定義幻數(shù)、自身的序列號和預(yù)定義命令。如圖5所示,處理器對控制命令廣播報文的解析過程主要包括步驟S4081至步驟S4086,具體如下:
步驟S4081,判斷端口號與預(yù)定義端口號是否相同。
具體地,端口號包括源端口號和目的端口號,預(yù)定義端口號包括預(yù)定義源端口號和預(yù)定義目的端口號,步驟S4081具體為:判斷源端口號與預(yù)定義源端口號是否相同以及目的端口號和預(yù)定義目的端口號是否相同;若判斷出源端口號與預(yù)定義源端口號相同,且目的端口號和預(yù)定義目的端口號相同,則執(zhí)行步驟S4082;若判斷出源端口號與預(yù)定義端口號不同或者目的端口號與預(yù)定義目的端口號不同,則確定解析失敗。
步驟S4082,判斷數(shù)據(jù)長度與預(yù)定義數(shù)據(jù)長度是否相同。該步驟同步驟S1063中的判斷數(shù)據(jù)長度與預(yù)定義數(shù)據(jù)長度是否相同,在此不再重復(fù)說明。
具體地,若判斷出數(shù)據(jù)長度與預(yù)定義數(shù)據(jù)長度相同,則執(zhí)行步驟S4083;若判斷出數(shù)據(jù)長度與預(yù)定義數(shù)據(jù)長度不同,確定解析失敗。
步驟S4083,判斷幻數(shù)與預(yù)定義幻數(shù)是否相同。具體地,幻數(shù)為需要執(zhí)行控制命令的處理器所屬cpu簇的標(biāo)識信息,該步驟同步驟S3中判斷標(biāo)識信息與預(yù)定義標(biāo)識信息是否相同,在此不再重復(fù)說明。
具體地,若判斷出幻數(shù)與預(yù)定義幻數(shù)相同,則執(zhí)行步驟S4084;若判斷出幻數(shù)與預(yù)定義幻數(shù)不同,確定解析失敗。
步驟S4084,判斷控制域是否包括整個處理器簇。具體地,上述整個處理器簇為該處理器所屬的處理器簇。該步驟同步驟S5中判斷控制域是否包括整個目標(biāo)處理器簇,在此不再重復(fù)說明。
具體地,若判斷出控制域包括處理器簇中全部的處理器,則執(zhí)行步驟S4086;若判斷出控制域不包括整個處理器簇,則執(zhí)行步驟S4085。
步驟S4085,判斷序列號與該處理器自身的序列號是否相同。該步驟同步驟S7中判斷序列號與預(yù)定義序列號是否相同,在此不再重復(fù)說明,自定義序列號即為處理器自身的序列號。
具體地,若判斷出序列號與該處理器自身的序列號相同,則執(zhí)行步驟S4086;若判斷出序列號與該處理器自身的序列號不同,確定解析失敗。
步驟S4086,判斷控制命令與預(yù)定義命令是否相同。該步驟同步驟S9判斷控制命令與預(yù)定義命令是否相同,在此不再重復(fù)說明。
具體地,若判斷出控制命令與預(yù)定義命令相同,則確定解析成功;若判斷出控制命令與預(yù)定義命令不同,確定解析失敗。
需要說明的是,處理器在對控制命令廣播報文解析的過程中,不論哪個環(huán)節(jié)或者步驟解析失敗,則終止對接收到的控制命令廣播報文的解析,并且每隔預(yù)設(shè)時間就發(fā)送一次狀態(tài)信息報文至控制中心,以再次接收到控制命令廣播報文。
根據(jù)本發(fā)明實施例,還提供了一種處理器的控制裝置,其中,該控制裝置設(shè)置在處理器簇的每個處理器中,處理器簇為具有相同功能的處理器的集合。圖6是根據(jù)本發(fā)明實施例的一種可選的處理器的控制裝置的示意圖。如圖6所示,該控制裝置主要包括第一發(fā)送單元10、接收單元20、解析單元30和執(zhí)行單元40,其中:
第一發(fā)送單元10用于發(fā)送狀態(tài)信息報文至控制的控制中心,其中,狀態(tài)信息報文中包含有與狀態(tài)信息報文對應(yīng)的處理器的狀態(tài)信息。具體地,狀態(tài)信息中至少處理器中所安裝的包含bootloader的版本號。
其中,上述第一發(fā)送單元10中的處理器是指處于bootloader狀態(tài)下的處理器,也即,已經(jīng)運行了bootloader程序的處理器。當(dāng)硬件主板上電啟動后,硬件主板上處理器簇中的每個處理器都會運行bootloader程序,也就使得每個處理器都處于bootloader狀態(tài)。
接收單元20用于接收控制中心以廣播形式發(fā)送的控制命令廣播報文,其中,控制命令廣播報文為響應(yīng)狀態(tài)信息報文的報文,并且控制命令廣播報文中包含控制命令。
具體地,控制中心通過對控制命令廣播報文的內(nèi)容進(jìn)行設(shè)置,實現(xiàn)其對所要控制的處理器簇中的處理器的控制。
解析單元30用于解析控制命令廣播報文。
執(zhí)行單元40用于在成功解析控制命令廣播報文的情況下,執(zhí)行控制命令。
具體地,處理器簇可以為一個,也可以為多個。不論是一個處理器簇,還是多個處理器簇,每個處理器簇中的每個處理器都設(shè)置一個控制裝置。
在本發(fā)明實施例中,處理器簇中可以只有一個處理器成功解析控制命令廣播報文,也可以是全部的處理器均成功控制命令廣播報文,成功解析控制命令廣播報文的處理器的數(shù)量由控制命令廣播報文決定。
在本發(fā)明實施例中,通過控制中心以廣播的形式將包含控制命令的控制命令廣播報文發(fā)送給全部處理,使得每個處理器能夠同時接收以及解析上述控制命令廣播報文,進(jìn)而解析成功的處理器均執(zhí)行控制命令,相比較于現(xiàn)有技術(shù)中控制中心采用單個逐一對處理器進(jìn)行控制的方式,本申請中控制中心對處理器的控制方式能夠達(dá)到對于同一條控制命令只需發(fā)送一次就可以控制多個處理器的目的,從而提高了對處理器的控制效率,進(jìn)而解決了現(xiàn)有技術(shù)中由于對cpu采用單個逐一的控制方式,導(dǎo)致控制效率低的技術(shù)問題。此外,在本發(fā)明實施例所提供的處理器的控制方式中,控制中心無需預(yù)先建立硬件主板上每個處理器的ip地址與該處理器所屬的cpu簇的功能對應(yīng)關(guān)系表,達(dá)到了簡化控制中心控制邏輯的效果。
控制命令廣播報文和狀態(tài)信息報文的相關(guān)內(nèi)容,已在上述發(fā)明實施例中具體說明,在此不再贅述。
作為一個可選實施例,控制命令廣播報文中包含UDP頭、控制數(shù)據(jù)頭和數(shù)據(jù)區(qū),每個處理器中都存儲有預(yù)定義UDP頭、預(yù)定義數(shù)據(jù)長度、預(yù)定義控制數(shù)據(jù)頭和預(yù)定義數(shù)據(jù)區(qū),其中,解析單元30包括第一判斷子單元、第二判斷子單元、第三判斷子單元和第四判斷子單元,具體地:
第一判斷子單元用于判斷UDP頭與預(yù)定義UDP頭是否相同。
第二判斷子單元用于在判斷出UDP頭與預(yù)定義UDP頭相同的情況下,判斷數(shù)據(jù)長度與預(yù)定義數(shù)據(jù)長度是否相同,其中,數(shù)據(jù)長度為控制數(shù)據(jù)頭的字節(jié)長度與數(shù)據(jù)區(qū)的字節(jié)長度之和。
第三判斷子單元用于在判斷出數(shù)據(jù)長度與預(yù)定義數(shù)據(jù)長度相同的情況下,判斷控制數(shù)據(jù)頭和預(yù)定義控制數(shù)據(jù)頭是否相同。
第四判斷子單元用于在判斷出控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭相同的情況下,判斷數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)是否相同。其中,在判斷出數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)相同的情況下,確定控制命令廣播報文解析成功。
需要說明的是,硬件主板上的每個處理器都可以通過調(diào)用第一判斷子單元、第二判斷子單元、第三判斷子單元和第四判斷子單元完成對其接收到的控制命令廣播報文的解析。
作為一個可選實施例,UDP頭中包含源端口號和目的端口號,預(yù)定義UDP頭中包含預(yù)定義源端口號和預(yù)定義目的端口號,其中,第一判斷子單元包括第一判斷模塊,第一判斷模塊用于判斷源端口號與預(yù)定義源端口號是否相同以及目的端口號和預(yù)定義目的端口號是否相同。其中,在判斷出源端口號與預(yù)定義源端口號相同,且目的端口號和預(yù)定義目的端口號相同的情況下,確定UDP頭與預(yù)定義UDP頭相同;在判斷出源端口號與預(yù)定義源端口號不同或者目的端口號與預(yù)定義目的端口號不同的情況下,確定UDP頭與預(yù)定義UDP頭不同。
作為一個可選實施例,控制數(shù)據(jù)頭中包含標(biāo)識信息和控制域,預(yù)定義控制數(shù)據(jù)頭中包含預(yù)定義標(biāo)識信息,其中,第三判斷子單元包括第二判斷模塊和第三判斷模塊,具體地:
第二判斷模塊用于判斷標(biāo)識信息與預(yù)定義標(biāo)識信息是否相同,其中,標(biāo)識信息為目標(biāo)處理器簇的標(biāo)識信息,目標(biāo)處理器簇為成功解析控制命令廣播報文的處理器所屬的處理器簇。
在本發(fā)明實施例中,標(biāo)識信息即為上述表2中控制命令廣播報文中的幻數(shù)。
第三判斷模塊用于在判斷出標(biāo)識信息與預(yù)定義標(biāo)識信息相同的情況下,判斷控制域是否包括整個目標(biāo)處理器簇,也即判斷控制域是否包括目標(biāo)處理器簇中全部的處理器。
其中,在判斷出控制域包括整個目標(biāo)處理器簇的情況下,確定控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭相同;在判斷出標(biāo)識信息與預(yù)定義標(biāo)識信息不同的情況下,確定控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭不同。
在本發(fā)明實施例中,可以通過對控制域所包含的處理器的范圍進(jìn)行設(shè)置,從而控制某個cpu簇中全部的處理器均執(zhí)行控制命令,進(jìn)而實現(xiàn)了控制中心對某個cpu簇中 的全部cpu進(jìn)行控制(也就是同時對多個處理器進(jìn)行控制)的效果。
作為一個可選實施例,控制數(shù)據(jù)頭中還包含序列號,預(yù)定義控制數(shù)據(jù)頭中還包含預(yù)定義序列號,其中,第三判斷子單元還包括第四判斷模塊,第四判斷模塊用于在判斷出控制域不包括整個目標(biāo)處理器簇的情況下,判斷序列號與預(yù)定義序列號是否相同。
其中,在判斷出序列號與預(yù)定義序列號相同的情況下,確定控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭相同;在判斷出序列號與預(yù)定義序列號不同的情況下,確定控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭不同。
如果控制中心此次所要控制的處理器只有一個,則控制命令廣播報文中所包含的序列號為需要執(zhí)行控制命令的處理器的序列號,即成功解析控制命令廣播報文的處理器的序列號。
在本發(fā)明實施例中,控制中心可以通過對控制命令廣播報文中的控制域以及序列號進(jìn)行設(shè)置,將執(zhí)行控制命令的處理器的范圍縮小,即可實現(xiàn)控制中心只對某個處理器簇中的一個cpu進(jìn)行控制的效果。
通過本發(fā)明實施例中所提供的控制命令廣播報文,控制中心既可以控制某個處理器簇中全部的處理器,也可以只控制某個處理器簇中的一個處理器,相比較于現(xiàn)有技術(shù)中控制中心只能控制一個處理器的控制方式,提高了對處理器控制的靈活性。
作為一個可選實施例,數(shù)據(jù)區(qū)中包含控制命令,預(yù)定義數(shù)據(jù)區(qū)中包含預(yù)定義命令,其中,第四判斷子單元包括第五判斷模塊,第五判斷模塊用于判斷控制命令與預(yù)定義命令是否相同。
具體地,在判斷出控制命令與預(yù)定義命令相同的情況下,確定數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)相同;在判斷出控制命令與預(yù)定義命令不同的情況下,確定數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)不同。
作為一個可選實施例,解析單元30還包括處理模塊。其中,處理模塊用于在判斷出UDP頭與預(yù)定義UDP頭不同、若判斷出數(shù)據(jù)長度與預(yù)定義長度不同、若判斷出控制數(shù)據(jù)頭與預(yù)定義控制數(shù)據(jù)頭不同、或者若判斷出數(shù)據(jù)區(qū)與預(yù)定義數(shù)據(jù)區(qū)不同的情況下,丟棄控制命令廣播報文,并且每隔預(yù)設(shè)時間發(fā)送一次狀態(tài)信息報文至控制中心,直至再次接收到控制命令廣播報文。具體地,預(yù)設(shè)時間可以根據(jù)需求設(shè)置,例如:2S。
作為一個可選實施例,控制裝置還包括第一判斷單元和第二發(fā)送單元。其中,第一判斷單元用于在發(fā)送狀態(tài)信息報文至控制中心之后,判斷是否接收到控制命令廣播報文;第二發(fā)送單元用于在判斷出未接收到控制命令廣播報文的情況下,每隔預(yù)設(shè)時 間發(fā)送一次狀態(tài)信息報文至控制中心,直至接收到控制命令廣播報文。
作為一個可選實施例,控制裝置還包括第二判斷單元。其中,第二判斷單元用于在解析控制命令廣播報文之前,判斷控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址是否相同。其中,在判斷出控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址相同的情況下,解析控制命令廣播報文;在判斷出控制命令廣播報文中的目標(biāo)MAC地址與預(yù)定義MAC地址不同的情況下,丟棄控制命令廣播報文,并且每隔預(yù)設(shè)時間發(fā)送一次狀態(tài)信息報文至控制中心,直至再次接收到控制命令廣播報文。在本發(fā)明實施例中,預(yù)定義MAC地址為FF-FF-FF-FF-FF,也即,判斷目標(biāo)MAC地址是否為FF-FF-FF-FF-FF。
作為一個可選實施例,控制裝置還包括計數(shù)單元。其中,計數(shù)單元用于每發(fā)送一次狀態(tài)信息報文至控制中心之前,將狀態(tài)信息報文中的心跳計數(shù)加一,也就是,狀態(tài)信息報文中心跳次數(shù)與該狀態(tài)信息報文對應(yīng)的處理器給控制中心發(fā)送狀態(tài)信息報文的次數(shù)相等。
由于處理器是按照每隔預(yù)設(shè)時間就會給控制中心發(fā)送狀態(tài)信息報文,所以控制中心可以根據(jù)預(yù)設(shè)時間以及狀態(tài)信息報文中的心跳計數(shù)得知該處理器的工作時間。
作為一個可選實施例,控制裝置還包括回復(fù)單元。其中,回復(fù)單元用于在成功解析控制命令廣播報文的情況下之后,回復(fù)狀態(tài)命令報文至控制中心,其中,控制中心根據(jù)狀態(tài)命令報文,確定并記錄狀態(tài)命令報文對應(yīng)的處理器的運行狀態(tài)。
需要說明的是,狀態(tài)命令報文的組成格式與控制命令廣播報文的組成格式相同。但是在狀態(tài)命令報文中,同步字節(jié)的取值為1,表示處理器執(zhí)行了控制命令;源MAC地址為成功解析控制命令廣播報文的處理器所屬的cpu簇(即,目標(biāo)處理器簇)的MAC地址;源端口號為成功解析控制命令廣播報文的處理器所屬的cpu簇(即,目標(biāo)處理器簇)的MAC地址;目的端口號為控制中心的端口號;控制域的取值與成功解析控制命令廣播報文的處理器接收到的控制命令廣播報文中的取值相同。
具體地,控制中心可以根據(jù)狀態(tài)命令報文中的同步字節(jié)確定成功解析控制命令廣播報文的處理器的運行狀態(tài),并對上述運行狀態(tài)進(jìn)行記錄。
根據(jù)本發(fā)明實施例,還提供了另一種處理器的控制裝置,其中,該控制裝置設(shè)置在用于對處理器進(jìn)行控制的控制中心中。圖7是根據(jù)本發(fā)明實施例的另一種可選的處理器的控制裝置的示意圖。如圖7所示,該控制裝置主要包括第一傳輸單元100和第二傳輸單元200,其中:
第一傳輸單元100用于接收處理器簇中的每個處理器分別發(fā)送的狀態(tài)信息報文, 其中,狀態(tài)信息報文中含有與狀態(tài)信息報文對應(yīng)的處理器的狀態(tài)信息,處理器簇為具有相同功能的多個處理器的集合。
第二傳輸單元200用于以廣播形式發(fā)送控制命令廣播報文至處理器簇中的每個處理器,以使處理器簇中的每個處理器均解析控制命令廣播報文,其中,第一目標(biāo)處理器執(zhí)行控制命令廣播報文中的控制命令,第一目標(biāo)處理器為成功解析控制命令廣播報文的處理器,控制命令廣播報文為響應(yīng)狀態(tài)信息報文的報文。
狀態(tài)信息報文和控制命令廣播報文已在上述內(nèi)容中進(jìn)行詳細(xì)介紹,此處不再重復(fù)說明。
在本發(fā)明實施例中,通過控制中心以廣播的形式將包含控制命令的控制命令廣播報文發(fā)送給全部處理,使得每個處理器能夠同時接收以及解析上述控制命令廣播報文,進(jìn)而解析成功的處理器均執(zhí)行控制命令,相比較于現(xiàn)有技術(shù)中控制中心采用單個逐一對處理器進(jìn)行控制的方式,本申請中控制中心對處理器的控制方式能夠達(dá)到對于同一條控制命令只需發(fā)送一次就可以控制多個處理器的目的,從而提高了對處理器的控制效率,進(jìn)而解決了現(xiàn)有技術(shù)中由于對cpu采用單個逐一的控制方式,導(dǎo)致控制效率低的技術(shù)問題。此外,在本發(fā)明實施例所提供的處理器的控制方式中,控制中心無需預(yù)先建立硬件主板上每個處理器的ip地址與該處理器所屬的cpu簇的功能對應(yīng)關(guān)系表,達(dá)到了簡化控制中心控制邏輯的效果。
作為一個可選實施例,控制裝置還包括第三傳輸單元和處理單元,其中:
第三傳輸單元用于在以廣播形式發(fā)送控制命令廣播報文至處理器簇中的每個處理器,以使處理器簇中的每個處理器均解析控制命令廣播報文之后,接收第一目標(biāo)處理器發(fā)送的狀態(tài)命令報文。
記錄單元用于根據(jù)接收到的狀態(tài)命令報文確定第一目標(biāo)處理器的運行狀態(tài),并記錄運行狀態(tài)。
同樣的,狀態(tài)命令報文也已在上述內(nèi)容中進(jìn)行詳細(xì)介紹,此處不再重復(fù)說明。
在本發(fā)明實施例中,處理器成功解析控制命令狀態(tài)報文后,會向控制中心反饋信息,以告知控制中心該處理器已經(jīng)執(zhí)行了控制命令。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。