本發(fā)明涉及資源監(jiān)控領(lǐng)域,特別涉及一種網(wǎng)格資源可靠性監(jiān)控方法及裝置。
背景技術(shù):
隨著現(xiàn)代計(jì)算機(jī)技術(shù)的發(fā)展,分布式計(jì)算作為一種高效的計(jì)算模式,在高能物理領(lǐng)域有著廣泛的應(yīng)用。目前在高能物理領(lǐng)域,普遍采用網(wǎng)格計(jì)算技術(shù)搭建實(shí)驗(yàn)的數(shù)據(jù)處理平臺。網(wǎng)格計(jì)算將分散在各個(gè)合作組織的數(shù)據(jù)處理站點(diǎn)通過網(wǎng)格中間件技術(shù)整合起來,為實(shí)現(xiàn)一個(gè)或多個(gè)共同的物理目標(biāo)而服務(wù)。網(wǎng)格計(jì)算平臺通過運(yùn)行作業(yè)的方式為物理研究人員提供服務(wù),物理實(shí)驗(yàn)的數(shù)據(jù)分析作業(yè)通過作業(yè)調(diào)度系統(tǒng)分發(fā)到各個(gè)站點(diǎn)運(yùn)行。站點(diǎn)的計(jì)算資源提供了作業(yè)運(yùn)行的基本環(huán)境,而存儲資源則保存著作業(yè)運(yùn)行需要用到的實(shí)驗(yàn)數(shù)據(jù)。不同站點(diǎn)之間通過高速網(wǎng)絡(luò)相互連接,實(shí)現(xiàn)資源和數(shù)據(jù)的共享。
在大規(guī)模的網(wǎng)格環(huán)境中,資源具有分布性、異構(gòu)性、動態(tài)性和自治性等特點(diǎn)。資源的分布性體現(xiàn)在資源在地理位置上的分布通常是跨地域、跨國家甚至是跨大洲的。資源的異構(gòu)性體現(xiàn)在資源類型多樣,而且同一類資源由于其實(shí)現(xiàn)技術(shù)不同,體系結(jié)構(gòu)也大不相同。資源的動態(tài)性體現(xiàn)在資源可以隨時(shí)加入或退出網(wǎng)格,不受網(wǎng)格環(huán)境約束。資源的自治性體現(xiàn)在不同地域的資源屬于不同的管理域,每個(gè)管理域都有各自的資源管理策略,可以實(shí)現(xiàn)獨(dú)立的網(wǎng)格資源管理。對于網(wǎng)格資源的這種復(fù)雜性,網(wǎng)格計(jì)算采用中間件軟件,在用戶和資源之間搭建一個(gè)中間層,隱藏資源的復(fù)雜性,并向用戶提供透明的資源訪問機(jī)制。然而這種復(fù)雜性的隱藏大大增加了網(wǎng)格環(huán)境的維護(hù)難度,一旦某些資源出現(xiàn)故障,便難以準(zhǔn)確定位故障的根源,影響系統(tǒng)的恢復(fù)。因此,需要對網(wǎng)格環(huán)境中的各個(gè)資源的可靠性進(jìn)行準(zhǔn)確、有效的監(jiān)控。
現(xiàn)有技術(shù)中,傳統(tǒng)的網(wǎng)格監(jiān)控方法可以簡單地收集資源相關(guān)的一些信息并顯示,用戶需要通過這些信息并結(jié)合自己的專業(yè)知識對資源的可靠性進(jìn)行判斷,發(fā)現(xiàn)資源的故障并找到故障的原因進(jìn)行排除。但是,這種傳統(tǒng)的網(wǎng)格監(jiān)控方法對資源可靠性的表達(dá)不夠直觀,而且對用戶的專業(yè)水平有著較高的要求,不利于用戶體驗(yàn)。因此,如何更加直觀地反映資源的可靠性,快速準(zhǔn)確定位資源故障的根源,減少用戶在故障排除上所花費(fèi)的時(shí)間,是現(xiàn)今急需解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種網(wǎng)格資源可靠性監(jiān)控方法及裝置,以更加直觀地反映資源的可靠性,快速準(zhǔn)確定位資源故障的根源,減少用戶在故障排除上所花費(fèi)的時(shí)間,提升用戶體驗(yàn)。
為解決上述技術(shù)問題,本發(fā)明提供一種網(wǎng)格資源可靠性監(jiān)控方法,包括:
根據(jù)測試指令或按預(yù)設(shè)時(shí)間間隔從網(wǎng)格環(huán)境中獲取資源;
根據(jù)所述資源的屬性加載對應(yīng)的測試程序;
執(zhí)行所述測試程序,輸出所述資源的可靠性評估結(jié)果。
可選的,所述根據(jù)所述資源的屬性加載對應(yīng)的測試程序,包括:
按預(yù)設(shè)的匹配規(guī)則,將所述資源的每種屬性的屬性值依次與全部測試程序的預(yù)設(shè)屬性值進(jìn)行匹配;
判斷所述資源的每種屬性是否均匹配到對應(yīng)的所述測試程序;
若是,則匹配成功,加載所述測試程序,并進(jìn)行所述執(zhí)行所述測試程序,輸出所述資源的可靠性評估結(jié)果的步驟。
可選的,所述執(zhí)行所述測試程序,輸出所述資源的可靠性評估結(jié)果,包括:
判斷是否需要提交測試作業(yè);
若否,則執(zhí)行CLI命令,輸出所述資源的可靠性評估結(jié)果;
若是,則向站點(diǎn)提交所述測試作業(yè),獲取所述站點(diǎn)執(zhí)行所述測試作業(yè)的輸出文件,并根據(jù)所述輸出文件輸出所述資源的可靠性評估結(jié)果。
可選的,該方法還包括:
判斷全部所述測試程序是否均執(zhí)行完成;
若是,則綜合全部所述測試程序輸出的所述資源的可靠性評估結(jié)果,獲取所述資源的可靠性狀態(tài)。
可選的,所述執(zhí)行所述測試程序,輸出所述資源的可靠性評估結(jié)果,還包括:
所述測試程序執(zhí)行過程中,持續(xù)判斷所述測試程序的執(zhí)行時(shí)間是否大于預(yù)定時(shí)間;
若是,則直接輸出所述資源的可靠性評估結(jié)果。
此外,本發(fā)明還提供了一種網(wǎng)格資源可靠性監(jiān)控裝置,包括:
資源獲取模塊,用于根據(jù)測試指令或按預(yù)設(shè)時(shí)間間隔從網(wǎng)格環(huán)境中獲取資源;
測試程序加載模塊,用于根據(jù)所述資源的屬性加載對應(yīng)的測試程序;
測試程序執(zhí)行模塊,用于執(zhí)行所述測試程序,輸出所述資源的可靠性評估結(jié)果。
可選的,所述測試程序加載模塊,包括:
匹配子模塊,用于按預(yù)設(shè)的匹配規(guī)則,將所述資源的每種屬性的屬性值依次與全部測試程序的預(yù)設(shè)屬性值進(jìn)行匹配;
第一判斷子模塊,用于判斷所述資源的每種屬性是否均匹配到對應(yīng)的所述測試程序;若是,則向加載子模塊發(fā)送匹配成功信號;
所述加載子模塊,用于接收所述匹配成功信號,加載所述測試程序。
可選的,所述測試程序執(zhí)行模塊,包括:
第二判斷子模塊,用于判斷是否需要提交測試作業(yè);若否,則向CLI測試子模塊發(fā)送第一啟動信號;若是,則向測試作業(yè)子模塊發(fā)送第二啟動信號;
所述CLI測試子模塊,用于接收所述第一啟動信號,執(zhí)行CLI命令,輸出所述資源的可靠性評估結(jié)果;
所述測試作業(yè)子模塊,用于接收所述第二啟動信號,向站點(diǎn)提交所述測試作業(yè),獲取所述站點(diǎn)執(zhí)行所述測試作業(yè)的輸出文件,并根據(jù)所述輸出文件輸出所述資源的可靠性評估結(jié)果。
可選的,該裝置還包括:
判斷模塊,用于判斷全部所述測試程序是否均執(zhí)行完成;若是,則向可靠性狀態(tài)模塊發(fā)送第三啟動信號;
所述可靠性狀態(tài)模塊,用于接收第三啟動信號,綜合全部所述測試程序輸出的所述資源的可靠性評估結(jié)果,獲取所述資源的可靠性狀態(tài)。
可選的,所述測試程序執(zhí)行模塊,還包括:
持續(xù)判斷子模塊,用于所述測試程序執(zhí)行過程中,持續(xù)判斷所述測試程序的執(zhí)行時(shí)間是否大于預(yù)定時(shí)間;若是,則向超時(shí)輸出子模塊發(fā)送第四啟動信號;
所述超時(shí)輸出子模塊,用于接收所述第四啟動信號,直接輸出所述資源的可靠性評估結(jié)果。
本發(fā)明所提供的一種網(wǎng)格資源可靠性監(jiān)控方法,包括:根據(jù)測試指令或按預(yù)設(shè)時(shí)間間隔從網(wǎng)格環(huán)境中獲取資源;根據(jù)所述資源的屬性加載對應(yīng)的測試程序;執(zhí)行所述測試程序,輸出所述資源的可靠性評估結(jié)果;
可見,本發(fā)明通過根據(jù)資源的屬性加載對應(yīng)的測試程序,可以為資源類型和所屬管理域等屬性不同的資源加載該資源的屬性對應(yīng)的測試程序,確保對該資源進(jìn)行可靠性評估的準(zhǔn)確性;通過執(zhí)行測試程序,輸出資源的可靠性評估結(jié)果,可以獲取每個(gè)資源的不同屬性各自對應(yīng)的可靠性評估結(jié)果,從而可以更加直觀地展示每個(gè)資源的各個(gè)屬性的可靠性,快速準(zhǔn)確定位資源故障的根源,減少了用戶在故障排除上所花費(fèi)的時(shí)間,提高了用戶體驗(yàn)。此外,本發(fā)明還提供了一種網(wǎng)格資源可靠性監(jiān)控裝置,同樣具有上述有益效果。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例所提供的一種網(wǎng)格資源可靠性監(jiān)控方法的流程圖;
圖2為本發(fā)明實(shí)施例所提供的另一種網(wǎng)格資源可靠性監(jiān)控方法的流程圖;
圖3為本發(fā)明實(shí)施例所提供的另一種網(wǎng)格資源可靠性監(jiān)控方法的測試程序執(zhí)行的流程圖;
圖4為本發(fā)明實(shí)施例所提供的另一種網(wǎng)格資源可靠性監(jiān)控方法的測試程序執(zhí)行的狀態(tài)示意圖;
圖5為本發(fā)明實(shí)施例所提供的一種網(wǎng)格資源可靠性監(jiān)控裝置的結(jié)構(gòu)圖;
圖6為本發(fā)明實(shí)施例所提供的一種網(wǎng)格資源可靠性監(jiān)控裝置的框架示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參考圖1,圖1為本發(fā)明實(shí)施例所提供的一種網(wǎng)格資源可靠性監(jiān)控方法的流程圖。該方法可以包括:
步驟101:根據(jù)測試指令或按預(yù)設(shè)時(shí)間間隔從網(wǎng)格環(huán)境中獲取資源。
其中,測試指令可以為用戶也就是管理人員在網(wǎng)格資源出現(xiàn)故障或其他任意時(shí)刻發(fā)送的檢測資源可靠性狀態(tài)的指令。預(yù)設(shè)時(shí)間間隔可以為用戶自行設(shè)置的監(jiān)控網(wǎng)格資源可靠性的時(shí)間間隔。本實(shí)施例對與測試指令的具體內(nèi)容和預(yù)設(shè)時(shí)間間隔的具體數(shù)值的設(shè)定,不做任何限制。
可以理解的是,本實(shí)施所提供的方法中從網(wǎng)格環(huán)境中獲取的資源可以為一種資源,也就是說本實(shí)施例是以一種資源為例,對網(wǎng)格資源可靠性監(jiān)控進(jìn)行的介紹,對于資源類型和所屬管理域等屬性不同的各種資源均可以通過類似本實(shí)施例所提供的方法進(jìn)行可靠性監(jiān)控,本實(shí)施例對此不受任何限制。
需要說明的是,對于從網(wǎng)格環(huán)境中獲取資源的具體方式,可以為直接從網(wǎng)格環(huán)境中資源存儲的位置接收資源,也可以通過其他傳輸方式接收資源,本實(shí)施例對此同樣不做任何限制。
步驟102:根據(jù)所述資源的屬性加載對應(yīng)的測試程序。
其中,為資源加載對應(yīng)的測試程序時(shí),可以通過該資源的屬性匹配對應(yīng)的測試程序,也可以根據(jù)不同資源的其他區(qū)分點(diǎn)加載對應(yīng)的測試程序,或者直接加載對所有資源均可適用的測試程序。本實(shí)施例對此不受任何限制。
可以理解的是,對于根據(jù)資源的屬性加載對應(yīng)的測試程序的具體方式,可以通過常用的屬性匹配的方式,也就是根據(jù)資源的不同屬性,加載該屬性對應(yīng)的測試程序;也可以通過其他的方式根據(jù)資源的屬性加載對應(yīng)的測試程序,本實(shí)施例對此不受任何限制。
需要說明的是,對于測試程序的具體設(shè)置方式,可以根據(jù)正確性、全面性和單一功能性的原則進(jìn)行設(shè)置,其中,正確性可以為測試程序本身需要保證執(zhí)行的正確性,不能存在邏輯上的錯(cuò)誤;全面性可以為需要考慮資源各方面的功能,對資源進(jìn)行全面的測試;單一功能性可以為對資源的測試任務(wù)進(jìn)行細(xì)粒度的劃分,保證每個(gè)測試只對單一的功能進(jìn)行測試。也就是,保證資源的全部屬性均被測試的基礎(chǔ)上,每個(gè)測試程序?qū)Y源的一種屬性進(jìn)行正確的測試。也可以根據(jù)其他原則設(shè)置對資源可靠性測試的測試程序。對于測試程序的具體設(shè)置方式,可以由設(shè)計(jì)人員或用戶根據(jù)實(shí)用場景和用戶需求自行設(shè)置,本實(shí)施例對此不受任何限制。
步驟103:執(zhí)行所述測試程序,輸出所述資源的可靠性評估結(jié)果。
其中,本步驟中輸出的資源的可靠性評估結(jié)果可以為執(zhí)行測試程序輸出的結(jié)果。若執(zhí)行的測試程序?yàn)橐粋€(gè),則輸出的結(jié)果可以為該資源的可靠性狀態(tài);若執(zhí)行的測試程序?yàn)槎鄠€(gè),則輸出的結(jié)果可以為該資源多種屬性各自對應(yīng)的可靠性評估結(jié)果。本實(shí)施例對此不受任何限制。
可以理解的是,對于資源的多個(gè)屬性各自對應(yīng)的測試程序執(zhí)行后輸出的多個(gè)該資源的可靠性評估結(jié)果,本實(shí)施例所提供的方法還可以包括綜合全部測試程序輸出的該資源的可靠性評估結(jié)果,獲取該資源的可靠性狀態(tài)的步驟。也就是在全部測試程序執(zhí)行完成后,對該資源不同屬性對應(yīng)的測試程序輸出的可靠性評估結(jié)果進(jìn)行綜合分析,確定出該資源的可靠性狀態(tài)。本實(shí)施例對此不受任何限制。
需要說明的是,在網(wǎng)格環(huán)境中可以將需要監(jiān)控的資源分成計(jì)算資源、存儲資源、網(wǎng)絡(luò)資源。計(jì)算資源即作業(yè)運(yùn)行的具體環(huán)境,可以個(gè)人PC,計(jì)算集群或者是云計(jì)算環(huán)境,計(jì)算資源上安裝了作業(yè)運(yùn)行所需的各種軟件;存儲資源即各種文件存儲系統(tǒng),用于儲存實(shí)驗(yàn)數(shù)據(jù),作業(yè)運(yùn)行需要從存儲資源獲取相關(guān)數(shù)據(jù)并將輸出數(shù)據(jù)保存到存儲資源;網(wǎng)絡(luò)資源即連接不同地域站點(diǎn)的高速網(wǎng)絡(luò),是數(shù)據(jù)傳輸?shù)谋WC。
對于可分成上述三類的網(wǎng)格資源的可靠性測試程序可以分成Job Test和CLI Test兩類。Job Test需要將測試作業(yè)提交到站點(diǎn)運(yùn)行,根據(jù)測試作業(yè)運(yùn)行的輸出文件輸出資源的可靠性評估結(jié)果,對于計(jì)算資源的測試程序就屬于這一類。CLI Test可只需本地執(zhí)行CLI測試命令,根據(jù)命令的輸出資源的可靠性評估結(jié)果,對于存儲資源和網(wǎng)絡(luò)資源的測試都屬于CLI Test。對于測試程序的具體執(zhí)行方式和內(nèi)容,本實(shí)施例不做任何限制。
具體的,對于本步驟中輸出資源的可靠性評估結(jié)果,可以為資源每個(gè)屬性對應(yīng)的可靠性評估結(jié)果。對于可靠性評估結(jié)果的內(nèi)容可以為OK,Bad和Unknown。其中,OK表示測試程序?qū)?yīng)的資源的屬性運(yùn)行沒有異常,Bad表示測試程序?qū)?yīng)的資源的屬性出現(xiàn)故障,Unknown表示由于某些未知的原因?qū)е聹y試程序?qū)?yīng)的資源的屬性的可靠性狀態(tài)不可判斷,也就是測試程序運(yùn)行超時(shí)??煽啃栽u估結(jié)果的內(nèi)容也可為其他,只要可以對資源的屬性的可靠性進(jìn)行評估,對于可靠性評估結(jié)果的內(nèi)容,可以由設(shè)計(jì)人員或用戶根據(jù)實(shí)用場景和用戶需求自行設(shè)置,本實(shí)施例對此不受任何限制。
本實(shí)施例中,本發(fā)明實(shí)施例通過根據(jù)資源的屬性加載對應(yīng)的測試程序,可以為資源類型和所屬管理域等屬性不同的資源加載該資源的屬性對應(yīng)的測試程序,確保對該資源進(jìn)行可靠性評估的準(zhǔn)確性;通過執(zhí)行測試程序,輸出資源的可靠性評估結(jié)果,可以獲取每個(gè)資源的不同屬性各自對應(yīng)的可靠性評估結(jié)果,從而可以更加直觀地展示每個(gè)資源的各個(gè)屬性的可靠性,快速準(zhǔn)確定位資源故障的根源,減少了用戶在故障排除上所花費(fèi)的時(shí)間,提高了用戶體驗(yàn)。
請參考圖2和圖3,圖2為本發(fā)明實(shí)施例所提供的另一種網(wǎng)格資源可靠性監(jiān)控方法的流程圖;圖3為本發(fā)明實(shí)施例所提供的另一種網(wǎng)格資源可靠性監(jiān)控方法的測試程序執(zhí)行的流程圖。該方法可以包括:
步驟201:根據(jù)測試指令或按預(yù)設(shè)時(shí)間間隔從網(wǎng)格環(huán)境中獲取資源。
其中,本步驟與步驟101相似,在此不再贅述。
步驟202:按預(yù)設(shè)的匹配規(guī)則,將資源的每種屬性的屬性值依次與全部測試程序的預(yù)設(shè)屬性值進(jìn)行匹配。
可以理解的是,由于一種資源可以包含多種屬性,對應(yīng)于資源的每種屬性,每個(gè)測試程序可以均定義了相應(yīng)的目標(biāo)屬性值。當(dāng)資源加載測試程序時(shí),將資源的每種屬性的屬性值與測試程序的目標(biāo)屬性值(預(yù)設(shè)屬性值)進(jìn)行一一匹配,若所有屬性都匹配成功,則測試匹配成功,若有一條屬性匹配失敗,則測試匹配失敗。為描述屬性匹配規(guī)則,現(xiàn)定義如下符號:RA可以為資源屬性值;TA可以為目標(biāo)屬性值;NULL可以表示屬性值為空;ANY可以表示屬性值為任何值;SIG可以表示屬性只有一個(gè)值;MUL可以表示屬性有多個(gè)值;in可以表示屬性值的包含關(guān)系;ins可以表示屬性值的相交關(guān)系;eq可以表示屬性值相等關(guān)系;S可以表示匹配成功;F可以表示匹配失敗。
測試屬性匹配的具體規(guī)則可以如下:
If RA is NULL and TA is ANY,then S.
If RA is ANY and TA is NULL,then S.
If RA is MUL and TA is SIG and TA in RA,then S,else F.
If RA is SIG and TA is MUL and RA in TA,then S,else F.
If RA is MUL and TA is MUL and RA ins TA,then S,else F.
If RA is SIG and TA is SIG and RA eq TA,then S,else F.
需要說明的是,對于為資源的不同屬性匹配對應(yīng)的測試程序的方式,也就是預(yù)設(shè)的匹配規(guī)則的具體設(shè)置,可以通過上述屬性值的匹配方式,也可以通過其他方式,本實(shí)施例對此不做任何限制。
步驟203:判斷資源的每種屬性是否均匹配到對應(yīng)的測試程序;若是,則進(jìn)入步驟204。
可以理解的是,本實(shí)施例所提供的方法可以為先將資源對應(yīng)的全部測試程序匹配成功,再進(jìn)行測試程序的加載和執(zhí)行的步驟,確保對網(wǎng)格資源可靠性監(jiān)控的準(zhǔn)確性。也可以每匹配到一個(gè)測試程序便進(jìn)行接下來對該測試程序的加載和執(zhí)行的步驟,本實(shí)施例對此不受任何限制。
可以理解的是,對于資源的每種屬性未均匹配到對應(yīng)的測試程序的情況,可以不再對該資源進(jìn)行可靠性評估,也就是不再對該資源已匹配到的測試程序進(jìn)行加載和執(zhí)行的步驟;也可以通知用戶該情況;還可以繼續(xù)對該資源進(jìn)行可靠性評估并通知用戶該情況;或者根據(jù)該資源已匹配到的測試程序的數(shù)量判斷是否繼續(xù)對該資源進(jìn)行可靠性評估。本實(shí)施例對此不受任何限制。
步驟204:加載測試程序。
其中,對于測試程序的加載,可以為同時(shí)加載資源對應(yīng)的多個(gè)測試程序;也可以為依次加載資源對應(yīng)的多個(gè)測試程序。本實(shí)施例對此不受任何限制。
步驟205:執(zhí)行測試程序。
其中,本實(shí)施例所提供的方法中的測試程序可以包括Job Test和CLI Test這兩類。對于本步驟具體流程可以如圖3所示,包括:
步驟301:判斷是否需要提交測試作業(yè);若否,則進(jìn)入步驟302;若是,則進(jìn)入步驟303。
可以理解的是,本步驟可以為對Job Test和CLI Test這兩類測試程序的判斷,由于Job Test需要向站點(diǎn)提交測試作業(yè),可以將是否需要提交測試作業(yè)作為兩類測試程序的區(qū)別點(diǎn)。
步驟302:執(zhí)行CLI命令,輸出資源的可靠性評估結(jié)果。
需要說明的是,對于CLI Test這類測試程序,也就是存儲資源和網(wǎng)絡(luò)資源對應(yīng)的測試程序,可以直接通過執(zhí)行CLI命令,輸出資源的可靠性評估結(jié)果。對于CLI命令的具體內(nèi)容和設(shè)置方式,本實(shí)施例不做任何限制。
步驟303:向站點(diǎn)提交測試作業(yè),獲取站點(diǎn)執(zhí)行測試作業(yè)的輸出文件,并根據(jù)輸出文件輸出資源的可靠性評估結(jié)果。
其中,由于Job Test t這類測試程序,也就是計(jì)算資源對應(yīng)的測試程序,需要向站點(diǎn)提交測試作業(yè),由站點(diǎn)執(zhí)行該測試作業(yè)后,再根據(jù)從站點(diǎn)下載獲取的輸出文件輸出資源的可靠性評估結(jié)果。
可以理解的是,只要可以輸出資源的可靠性評估結(jié)果,對于本步驟中與站點(diǎn)的具體交互過程,本實(shí)施例不做任何限制。具體的,還可以包括對站點(diǎn)執(zhí)行該測試作業(yè)的監(jiān)控步驟,確保時(shí)刻了解測試程序的運(yùn)行過程。
需要說明的是,對于測試程序的具體執(zhí)行狀態(tài)可以如圖4所示,Submitted可以表示測試作業(yè)已提交;Running可以表示測試作業(yè)或CLI命令正在運(yùn)行;Completed可以表示測試作業(yè)運(yùn)行完成,但還未下載輸出文件;Done可以表示Job Test輸出文件下載完成或CLI命令運(yùn)行完成;Timeout可以表示測試程序執(zhí)行超時(shí)。
步驟206:判斷測試程序是否執(zhí)行完成;若否,則進(jìn)入步驟207;若是,則進(jìn)入步驟208。
可以理解的是,每個(gè)測試程序再執(zhí)行過程中,可以持續(xù)進(jìn)行本步驟,也可以按預(yù)設(shè)時(shí)間間隔進(jìn)行本步驟,本實(shí)施例對此不受任何限制。
步驟207:判斷測試程序的執(zhí)行時(shí)間是否大于預(yù)定時(shí)間;若是,則進(jìn)入步驟208;若否,則進(jìn)入步驟206。
其中,預(yù)定時(shí)間可以為用戶和設(shè)計(jì)人員設(shè)置的確定測試程序執(zhí)行的最大時(shí)間,超過該時(shí)間則可以確定該測試程序并不能評估出資源的可靠性。對于預(yù)設(shè)時(shí)間的具體數(shù)值的設(shè)置,可以由用戶和設(shè)計(jì)人員根據(jù)實(shí)用場景和用戶需求自行設(shè)置,本實(shí)施例對此不受任何限制。
需要說明的是,步驟206和步驟207可以為對每個(gè)測試程序執(zhí)行是否超時(shí)的判斷步驟。對于測試程序是否執(zhí)行的判斷可以通過本實(shí)施例所提供的方式,也可以通過其他方式,本實(shí)施例對此不做任何限制。
步驟208:輸出資源的可靠性評估結(jié)果。
其中,本實(shí)施例所提供的方法中的可靠性評估結(jié)果可以通過OK、Bad和Unknown表示。OK可以表示資源運(yùn)行沒有異常,Bad可以表示資源出現(xiàn)故障,Unknown可以表示由于某些未知的原因?qū)е沦Y源的可靠性狀態(tài)不可判斷。每個(gè)測試程序都會對對應(yīng)的資源的屬性的可靠性進(jìn)行評估,測試程序執(zhí)行的狀態(tài)與可靠性評估結(jié)果的對應(yīng)關(guān)系可以為:Submitted、Completed以及Timeout狀態(tài)的測試對應(yīng)Unknown狀態(tài);Done狀態(tài)的測試根據(jù)其輸出的結(jié)果對應(yīng)OK或Bad狀態(tài)。
可以理解的是,對于可靠性評估結(jié)果的具體內(nèi)容,可以如本實(shí)施例所示,也可以根據(jù)不同測試程序的設(shè)置對應(yīng)改變,本實(shí)施例對此不做任何限制。
步驟209:判斷全部測試程序是否均執(zhí)行完成;若是,則進(jìn)入步驟210;若否,則進(jìn)入步驟205。
可以理解的是,本步驟是為確保資源對應(yīng)的全部測試程序均完成,再通過步驟210對該資源的整體可靠性狀態(tài)進(jìn)行評估。也可以不進(jìn)行本步驟或?qū)υ撡Y源的整體可靠性狀態(tài)進(jìn)行評估的過程中進(jìn)行本步驟,本實(shí)施例對此不受任何限制。
步驟210:綜合全部測試程序輸出的資源的可靠性評估結(jié)果,獲取資源的可靠性狀態(tài)。
其中,資源的可靠性狀態(tài)的評估采用最壞優(yōu)先的原則,即若有一個(gè)測試判斷程序?yàn)锽ad,則其狀態(tài)就是Bad,若無測試程序判斷為Bad且有測試程序判斷為OK,則其狀態(tài)為OK,若所有測試都判斷為Unknown,則其狀態(tài)為Unknown。也可以采用其他原則對資源的可靠性狀態(tài)進(jìn)行評估,本實(shí)施例對此不受任何限制。
可以理解的是,若采用本實(shí)施例所提供的最壞優(yōu)先原則的可靠性狀態(tài)的評估方式,可以通過本實(shí)施例所提供的方法,也可以通過其他類似的方法,如不需進(jìn)行步驟209,每一個(gè)測試程序輸出結(jié)果后,判斷該結(jié)果是否為Bad;若是,則資源的可靠性狀態(tài)為Bad;若否,則判斷全部測試程序是否均執(zhí)行完成。本實(shí)施例對此不做任何限制。
本實(shí)施例中,通過按預(yù)設(shè)的匹配規(guī)則,將資源的每種屬性的屬性值依次與全部測試程序的預(yù)設(shè)屬性值進(jìn)行匹配,可以為該資源的每種屬性匹配到對應(yīng)的測試程序;通過加載和執(zhí)行測試程序,可以對該資源的每種屬性的可靠性進(jìn)行評估;通過綜合全部測試程序輸出的資源的可靠性評估結(jié)果,獲取資源的可靠性狀態(tài),可以獲取該資源整體的可靠性狀態(tài),更加直觀地展示了每個(gè)資源的可靠性,方便用戶快速準(zhǔn)確定位資源故障的根源,減少了用戶在故障排除上所花費(fèi)的時(shí)間,提高了用戶體驗(yàn)。
請參考圖5和圖6,圖5為本發(fā)明實(shí)施例所提供的一種網(wǎng)格資源可靠性監(jiān)控裝置的結(jié)構(gòu)圖,圖6為本發(fā)明實(shí)施例所提供的一種網(wǎng)格資源可靠性監(jiān)控裝置的框架示意圖。該裝置可以包括:
資源獲取模塊100,用于根據(jù)測試指令或按預(yù)設(shè)時(shí)間間隔從網(wǎng)格環(huán)境中獲取資源;
測試程序加載模塊200,用于根據(jù)所述資源的屬性加載對應(yīng)的測試程序;
測試程序執(zhí)行模塊300,用于執(zhí)行所述測試程序,輸出所述資源的可靠性評估結(jié)果。
可選的,所述測試程序加載模塊200,可以包括:
匹配子模塊,用于按預(yù)設(shè)的匹配規(guī)則,將所述資源的每種屬性的屬性值依次與全部測試程序的預(yù)設(shè)屬性值進(jìn)行匹配;
第一判斷子模塊,用于判斷所述資源的每種屬性是否均匹配到對應(yīng)的所述測試程序;若是,則向加載子模塊發(fā)送匹配成功信號;
所述加載子模塊,用于接收所述匹配成功信號,加載所述測試程序。
可選的,所述測試程序執(zhí)行模塊300,可以包括:
第二判斷子模塊,用于判斷是否需要提交測試作業(yè);若否,則向CLI測試子模塊發(fā)送第一啟動信號;若是,則向測試作業(yè)子模塊發(fā)送第二啟動信號;
所述CLI測試子模塊,用于接收所述第一啟動信號,執(zhí)行CLI命令,輸出所述資源的可靠性評估結(jié)果;
所述測試作業(yè)子模塊,用于接收所述第二啟動信號,向站點(diǎn)提交所述測試作業(yè),獲取所述站點(diǎn)執(zhí)行所述測試作業(yè)的輸出文件,并根據(jù)所述輸出文件輸出所述資源的可靠性評估結(jié)果。
可選的,該裝置還可以包括:
判斷模塊,用于判斷全部所述測試程序是否均執(zhí)行完成;若是,則向可靠性狀態(tài)模塊發(fā)送第三啟動信號;
所述可靠性狀態(tài)模塊,用于接收第三啟動信號,綜合全部所述測試程序輸出的所述資源的可靠性評估結(jié)果,獲取所述資源的可靠性狀態(tài)。
可選的,所述測試程序執(zhí)行模塊300,還可以包括:
持續(xù)判斷子模塊,用于所述測試程序執(zhí)行過程中,持續(xù)判斷所述測試程序的執(zhí)行時(shí)間是否大于預(yù)定時(shí)間;若是,則向超時(shí)輸出子模塊發(fā)送第四啟動信號;
所述超時(shí)輸出子模塊,用于接收所述第四啟動信號,直接輸出所述資源的可靠性評估結(jié)果。
可以理解的是,本實(shí)施例所提供的網(wǎng)格資源可靠性監(jiān)控裝置的框架結(jié)構(gòu)可以如圖6所示,Resource Container用于控制整個(gè)監(jiān)控的流程,它會根據(jù)資源的屬性匹配需要執(zhí)行的測試程序,并通過Test Loader加載測試程序,然后將測試程序交給Test Executor執(zhí)行,待所有測試程序執(zhí)行完后,通過StateEvaluator評估資源的可靠性狀態(tài),并將結(jié)果寫入數(shù)據(jù)庫(DB)中。
本實(shí)施例中,本發(fā)明實(shí)施例通過測試程序加載模塊200根據(jù)資源的屬性加載對應(yīng)的測試程序,可以為資源類型和所屬管理域等屬性不同的資源加載該資源的屬性對應(yīng)的測試程序,確保對該資源進(jìn)行可靠性評估的準(zhǔn)確性;通過測試程序執(zhí)行模塊300執(zhí)行測試程序,輸出資源的可靠性評估結(jié)果,可以獲取每個(gè)資源的不同屬性各自對應(yīng)的可靠性評估結(jié)果,從而可以更加直觀地展示每個(gè)資源的各個(gè)屬性的可靠性,快速準(zhǔn)確定位資源故障的根源,減少了用戶在故障排除上所花費(fèi)的時(shí)間,提高了用戶體驗(yàn)。
說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上對本發(fā)明所提供的網(wǎng)格資源可靠性監(jiān)控方法及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。