] 二、數(shù)據(jù)庫(kù)更新過(guò)程
[0051] 對(duì)數(shù)據(jù)庫(kù)的更新主要分為W下=種情況進(jìn)行處理:
[0052] 1)對(duì)于和IO操作相關(guān)的實(shí)時(shí)信息W及和系統(tǒng)運(yùn)行時(shí)長(zhǎng)相關(guān)的實(shí)時(shí)信息的變更,貝U 進(jìn)行實(shí)時(shí)的查詢和數(shù)據(jù)庫(kù)更新;
[0053] 2)對(duì)于交互模塊的操作造成的信息改變,則由交互模塊通知磁盤(pán)管理模塊進(jìn)行數(shù) 據(jù)刷新;
[0054] 3)對(duì)于系統(tǒng)無(wú)法檢測(cè)到,人為觸發(fā)的硬件變動(dòng),如插拔磁盤(pán)則采用客戶端手動(dòng)觸 發(fā)刷新來(lái)更新后端數(shù)據(jù)庫(kù)。
[0055] 為了實(shí)現(xiàn)上述目的,本發(fā)明主要包含W下幾個(gè)要點(diǎn):
[0056] 1、將需要獲取的磁盤(pán)相關(guān)信息進(jìn)行分類。
[0057] a)實(shí)時(shí)查詢信息:會(huì)隨著系統(tǒng)大量IO操作或者長(zhǎng)時(shí)間的運(yùn)行,自發(fā)的產(chǎn)生變化的 信息,是實(shí)時(shí)信息和查詢操作對(duì)系統(tǒng)干擾較低的信息,包括磁盤(pán)容量、磁盤(pán)生產(chǎn)商、磁盤(pán)產(chǎn) 品編號(hào)、磁盤(pán)版本信息、磁盤(pán)IO錯(cuò)誤、磁盤(pán)溫度和磁盤(pán)smad健康狀態(tài);
[0058] b)交互模塊相關(guān)信息:包括磁盤(pán)所屬存儲(chǔ)池、磁盤(pán)在存儲(chǔ)池中的狀態(tài)和所在存儲(chǔ) 池是否被導(dǎo)出;
[0059] C)硬件變更影響信息:系統(tǒng)無(wú)法檢測(cè)的外部操作造成的變更的信息,如插拔盤(pán),更 改硬件拓?fù)浣Y(jié)構(gòu)等造成的磁盤(pán)的增加和減少、磁盤(pán)槽位的變化、磁盤(pán)框信息的變更等,包括 磁盤(pán)所屬歸屬的磁盤(pán)框、磁盤(pán)框路徑、磁盤(pán)框編號(hào)和磁盤(pán)槽位號(hào)。
[0060] 2、磁盤(pán)管理模塊與交互模塊的通信方案的確定。
[0061] 交互模塊(存儲(chǔ)池相關(guān)模塊)和磁盤(pán)管理模塊的通信可通過(guò)多種方案實(shí)現(xiàn),如借助 全局變量,通過(guò)修改變量的值進(jìn)行信息的傳遞,通過(guò)全局變量的設(shè)置和更改來(lái)確定交互模 塊的數(shù)據(jù)是否發(fā)生改變。具體如下:
[0062] 1)設(shè)置全局變量的默認(rèn)值為0表示不用重新獲取和交互模塊相關(guān)的信息,非零值 表示交互模塊中和磁盤(pán)相關(guān)的數(shù)據(jù)有變化,需重新刷新數(shù)據(jù)。
[0063] 2)交互模塊對(duì)全局變量的操作,每次存儲(chǔ)池操作完成之后如果導(dǎo)致磁盤(pán)管理模塊 的信息發(fā)生變化則修改全局變量,使其值不等于默認(rèn)值。
[0064] 3)磁盤(pán)管理模塊對(duì)全局變量的操作,查詢?nèi)肿兞浚袛嗍欠裥枰匦虏樵兇鎯?chǔ) 池相關(guān)信息;重置全局變量,標(biāo)識(shí)當(dāng)前獲取的數(shù)據(jù)是重新從系統(tǒng)查詢的數(shù)據(jù)。
[0065] 3、數(shù)據(jù)庫(kù)存放信息的刷新步驟
[0066] 1)程序啟動(dòng)時(shí),執(zhí)行所有相關(guān)的系統(tǒng)命令獲取所有磁盤(pán)相關(guān)的信息,清空原有數(shù) 據(jù)庫(kù)記錄的信息,將新獲取的信息存入數(shù)據(jù)庫(kù)。
[0067] 2)根據(jù)待查詢的磁盤(pán)相關(guān)信息的類型,判斷該類型的磁盤(pán)相關(guān)信息是否發(fā)生變 更,并進(jìn)行相應(yīng)數(shù)據(jù)庫(kù)更新操作。
[0068] a)實(shí)時(shí)查詢信息的刷新過(guò)程
[0069] 若待查詢的磁盤(pán)相關(guān)信息屬于實(shí)時(shí)查詢信息,則直接判定為發(fā)生變更,通過(guò)實(shí)時(shí) 執(zhí)行系統(tǒng)命令查詢實(shí)時(shí)查詢信息,更新數(shù)據(jù)庫(kù)。
[0070] b巧互模塊相關(guān)信息的刷新過(guò)程
[0071] 如圖3所示,若待查詢的磁盤(pán)相關(guān)信息屬于交互模塊相關(guān)信息,則查詢?nèi)肿兞浚?當(dāng)全局變量的值不等于默認(rèn)值時(shí)判定為發(fā)生變更,查詢實(shí)時(shí)查詢信息和交互模塊相關(guān)信 息,重新獲取全局變量,判斷當(dāng)前全局變量與上一次查詢的全局變量是否一致,若是,則更 新數(shù)據(jù)庫(kù),并重置全局變量,若否,則重新判斷磁盤(pán)相關(guān)信息是否發(fā)生變更。
[0072] 在整個(gè)刷新過(guò)程中,獲取完實(shí)時(shí)信息之后對(duì)前后查詢的全局變量進(jìn)行比較,意在 判斷查詢數(shù)據(jù)的期間是否有操作造成數(shù)據(jù)更新,是否還需要再次執(zhí)行系統(tǒng)命令查詢最新的 磁盤(pán)信息。
[0073] 獲取完實(shí)時(shí)信息之后如果兩次查詢到全局變量不一致代表查詢實(shí)時(shí)信息期間,存 儲(chǔ)池模塊有操作造成當(dāng)獲取的數(shù)據(jù)不是最新的數(shù)據(jù),因此下次刷新時(shí),需重新查詢存儲(chǔ)池 相關(guān)信息。所W不會(huì)將全局變量重置。
[0074] C)硬件變更影響信息的刷新過(guò)程
[0075] 若待查詢的磁盤(pán)相關(guān)信息屬于硬件變更影響信息,則在有硬件變動(dòng)時(shí)判定為發(fā)生 變更,通過(guò)客戶端手動(dòng)觸發(fā)數(shù)據(jù)庫(kù)的更新。手動(dòng)刷新操作時(shí)的過(guò)程如圖2所示,在有硬件變 動(dòng)的情況下,手動(dòng)觸發(fā)的刷新操作將會(huì)執(zhí)行所有相關(guān)的系統(tǒng)命令,有一定的時(shí)延。在查詢操 作完成之后,更新數(shù)據(jù)庫(kù)中所有數(shù)據(jù),避免下次客戶端查詢時(shí)顯示刷新操作之前的信息。
[0076] d)若待查詢的磁盤(pán)相關(guān)信息至少包括兩種類型時(shí),則需明確W哪一個(gè)操作刷新的 數(shù)據(jù)為準(zhǔn),本實(shí)施例數(shù)據(jù)庫(kù)更新操作的優(yōu)先級(jí)為:硬件變更影響信息〉交互模塊相關(guān)信息〉 實(shí)時(shí)查詢信息。由于手動(dòng)刷新查詢了磁盤(pán)所有信息,其中包括存儲(chǔ)池相關(guān)信息,同時(shí),實(shí)時(shí) 刷新的時(shí)間間隔較短,數(shù)據(jù)更新較快,因此當(dāng)存在沖突時(shí)W手動(dòng)刷新的數(shù)據(jù)為主。
【主權(quán)項(xiàng)】
1. 一種優(yōu)化加速的磁盤(pán)監(jiān)控方法,其特征在于,包括以下步驟: 1) 獲取待查詢的磁盤(pán)相關(guān)信息的類型,判斷該類型的磁盤(pán)相關(guān)信息是否發(fā)生變更,若 是,則執(zhí)行步驟2),若否,則執(zhí)行步驟3); 2) 根據(jù)待查詢的磁盤(pán)相關(guān)信息的類型執(zhí)行相應(yīng)的數(shù)據(jù)庫(kù)更新操作,然后執(zhí)行步驟3); 3) 查詢數(shù)據(jù)庫(kù)中的磁盤(pán)相關(guān)信息,獲得磁盤(pán)當(dāng)前狀態(tài)。2. 根據(jù)權(quán)利要求1所述的優(yōu)化加速的磁盤(pán)監(jiān)控方法,其特征在于,所述磁盤(pán)相關(guān)信息分 為實(shí)時(shí)查詢信息、交互模塊相關(guān)信息和硬件變更影響信息。3. 根據(jù)權(quán)利要求2所述的優(yōu)化加速的磁盤(pán)監(jiān)控方法,其特征在于,所述實(shí)時(shí)查詢信息包 括磁盤(pán)容量、磁盤(pán)生產(chǎn)商、磁盤(pán)產(chǎn)品編號(hào)、磁盤(pán)版本信息、磁盤(pán)10錯(cuò)誤、磁盤(pán)溫度和磁盤(pán) smart健康狀態(tài); 所述交互模塊相關(guān)信息包括磁盤(pán)所屬存儲(chǔ)池和磁盤(pán)在存儲(chǔ)池中的狀態(tài); 所述硬件變更影響信息包括磁盤(pán)所屬歸屬的磁盤(pán)框、磁盤(pán)框路徑、磁盤(pán)框編號(hào)和磁盤(pán) 槽位號(hào)。4. 根據(jù)權(quán)利要求2所述的優(yōu)化加速的磁盤(pán)監(jiān)控方法,其特征在于,所述步驟1)中,判斷 磁盤(pán)相關(guān)信息是否發(fā)生變更具體為: 若待查詢的磁盤(pán)相關(guān)信息屬于實(shí)時(shí)查詢信息,則直接判定為發(fā)生變更; 若待查詢的磁盤(pán)相關(guān)信息屬于交互模塊相關(guān)信息,則查詢?nèi)肿兞浚?dāng)全局變量的值 不等于默認(rèn)值時(shí)判定為發(fā)生變更; 若待查詢的磁盤(pán)相關(guān)信息屬于硬件變更影響信息,則在有硬件變動(dòng)時(shí)判定為發(fā)生變 更。5. 根據(jù)權(quán)利要求2所述的優(yōu)化加速的磁盤(pán)監(jiān)控方法,其特征在于,所述步驟2)中,根據(jù) 待查詢的磁盤(pán)相關(guān)信息的類型執(zhí)行相應(yīng)的數(shù)據(jù)庫(kù)更新操作具體為: 若待查詢的磁盤(pán)相關(guān)信息屬于實(shí)時(shí)查詢信息,則通過(guò)實(shí)時(shí)執(zhí)行系統(tǒng)命令查詢實(shí)時(shí)查詢 信息,更新數(shù)據(jù)庫(kù); 若待查詢的磁盤(pán)相關(guān)信息屬于交互模塊相關(guān)信息,則查詢實(shí)時(shí)查詢信息和交互模塊相 關(guān)信息,更新數(shù)據(jù)庫(kù); 若待查詢的磁盤(pán)相關(guān)信息屬于硬件變更影響信息,則通過(guò)客戶端手動(dòng)觸發(fā)數(shù)據(jù)庫(kù)的更 新。6. 根據(jù)權(quán)利要求5所述的優(yōu)化加速的磁盤(pán)監(jiān)控方法,其特征在于,所述步驟2)中,若待 查詢的磁盤(pán)相關(guān)信息至少包括兩種類型時(shí),數(shù)據(jù)庫(kù)更新操作的優(yōu)先級(jí)為: 硬件變更影響信息〉交互模塊相關(guān)信息〉實(shí)時(shí)查詢信息。7. 根據(jù)權(quán)利要求5所述的優(yōu)化加速的磁盤(pán)監(jiān)控方法,其特征在于,所述步驟2)中,若待 查詢的磁盤(pán)相關(guān)信息屬于交互模塊相關(guān)信息,在更新數(shù)據(jù)庫(kù)前,重新獲取全局變量,判斷當(dāng) 前全局變量與上一次查詢的全局變量是否一致,若是,則更新數(shù)據(jù)庫(kù),并重置全局變量,若 否,則重新判斷磁盤(pán)相關(guān)信息是否發(fā)生變更。8. -種優(yōu)化加速的磁盤(pán)監(jiān)控系統(tǒng),其特征在于,包括磁盤(pán)管理模塊,所述磁盤(pán)管理模塊 包括: 查詢信息類型獲取單元,用于獲取待查詢的磁盤(pán)相關(guān)信息的類型; 變更判定單元,用于判斷待查詢的磁盤(pán)相關(guān)信息是否發(fā)生變更; 數(shù)據(jù)庫(kù)更新單元,用于根據(jù)待查詢的磁盤(pán)相關(guān)信息的類型執(zhí)行相應(yīng)的數(shù)據(jù)庫(kù)更新操 作; 磁盤(pán)狀態(tài)獲取單元,用于根據(jù)數(shù)據(jù)庫(kù)中的磁盤(pán)相關(guān)信息,獲得磁盤(pán)當(dāng)前狀態(tài)。9.根據(jù)權(quán)利要求8所述的優(yōu)化加速的磁盤(pán)監(jiān)控系統(tǒng),其特征在于,所述變更判定單元與 交互模塊連接,根據(jù)全局變量獲取交互模塊的數(shù)據(jù)變化狀態(tài)。
【專利摘要】本發(fā)明涉及一種優(yōu)化加速的磁盤(pán)監(jiān)控方法及系統(tǒng),所述磁盤(pán)監(jiān)控方法包括以下步驟:1)獲取待查詢的磁盤(pán)相關(guān)信息的類型,判斷該類型的磁盤(pán)相關(guān)信息是否發(fā)生變更,若是,則執(zhí)行步驟2),若否,則執(zhí)行步驟3);2)根據(jù)待查詢的磁盤(pán)相關(guān)信息的類型執(zhí)行相應(yīng)的數(shù)據(jù)庫(kù)更新操作,然后執(zhí)行步驟3);3)查詢數(shù)據(jù)庫(kù)中的磁盤(pán)相關(guān)信息,獲得磁盤(pán)當(dāng)前狀態(tài)。與現(xiàn)有技術(shù)相比,本發(fā)明有效的解決磁盤(pán)數(shù)據(jù)刷新時(shí)長(zhǎng)較大,頁(yè)面顯示的數(shù)據(jù)與后端系統(tǒng)實(shí)際數(shù)據(jù)不一致的問(wèn)題,同時(shí)減少查詢磁盤(pán)信息的IO操作,降低監(jiān)控信息的查詢對(duì)系統(tǒng)本身造成的影響。
【IPC分類】G06F3/06, G06F17/30, G06F11/30
【公開(kāi)號(hào)】CN105528274
【申請(qǐng)?zhí)枴緾N201510866500
【發(fā)明人】杜磊
【申請(qǐng)人】上海愛(ài)數(shù)信息技術(shù)股份有限公司
【公開(kāi)日】2016年4月27日
【申請(qǐng)日】2015年12月1日