欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種輸入輸出超時處理方法、裝置及介質(zhì)與流程

文檔序號:40606625發(fā)布日期:2025-01-07 20:47閱讀:11來源:國知局
一種輸入輸出超時處理方法、裝置及介質(zhì)與流程

本發(fā)明涉及計算機,特別是涉及一種輸入輸出超時處理方法、裝置及介質(zhì)。


背景技術(shù):

1、在服務(wù)器的運行過程中,可能因為眾多因素導(dǎo)致存在部分輸入/輸出(input/output,io)處理超時的問題。若出現(xiàn)io處理超時,則反映到服務(wù)端,即可能會出現(xiàn)異常告警、導(dǎo)致系統(tǒng)重啟等異常問題。

2、目前,對于超時io的處理方案主要是通過在識別到超時io時,向下層發(fā)送特殊的io指令;響應(yīng)于獨立硬盤冗余陣列(redundant?array?of?independent?disks,raid,簡稱為磁盤陣列)模塊檢測到特殊io,觸發(fā)raid模塊下線;并將各模塊自身的、待由raid模塊處理的io,以離線的方式進行處理后,將離線處理結(jié)果返回至主機;從而避免了用戶主機在下發(fā)io后出現(xiàn)超長時間等待返回結(jié)果的情況。

3、但是,這種方案只能針對于主機下發(fā)的io完整響應(yīng)到下層raid的場景,沒有辦法對由資源不足引發(fā)io超時等特殊場景下的異常io進行處理。在由于資源不足而引發(fā)io超時的場景中,頁資源(pages)會被無法被下刷到下層的臟數(shù)據(jù)占用。所以在主機io運行到一定規(guī)模后,下層就會被“寫滿”,部分卷離線,無法下刷數(shù)據(jù)。進而上述方案中針對下層raid的離線響應(yīng)技術(shù)即不再使用,對于上述的特殊io超時情形無法有效解決,仍然會造成io超長等待返回結(jié)果后系統(tǒng)熱重啟的異常狀態(tài)。

4、所以,現(xiàn)在本領(lǐng)域的技術(shù)人員亟需要一種輸入輸出超時處理方法,用于解決傳統(tǒng)方案無法實現(xiàn)由資源不足而引發(fā)的特殊io超時問題。


技術(shù)實現(xiàn)思路

1、本發(fā)明的目的是提供一種輸入輸出超時處理方法、裝置及介質(zhì),以解決傳統(tǒng)方案無法實現(xiàn)由資源不足而引發(fā)的特殊io超時問題。

2、為解決上述技術(shù)問題,本發(fā)明提供一種輸入輸出超時處理方法,包括:

3、監(jiān)測存儲池中是否有卷離線;

4、若是,則通過全鎖定檢查函數(shù)判斷所述存儲池是否滿足全鎖定條件;

5、若滿足,則將資源異常狀態(tài)位設(shè)置為有效狀態(tài);其中,所述資源異常狀態(tài)位為預(yù)先設(shè)置的狀態(tài)標志位,與所述存儲池對應(yīng);

6、將所述資源異常狀態(tài)位的值上傳至對應(yīng)的所述存儲池中;

7、當所述資源異常狀態(tài)位為有效狀態(tài)時,通過所述存儲池中各卷數(shù)據(jù)端中的狀態(tài)機將各卷的上層路徑輸出設(shè)置為離線狀態(tài),以使卷離線。

8、在一種可能的實施例中,當所述資源異常狀態(tài)位為有效狀態(tài)時,還包括:

9、通過所述存儲池中各卷的控制端,向卷的業(yè)務(wù)端下發(fā)輸入/輸出清理指令,以觸發(fā)所述業(yè)務(wù)端中預(yù)先設(shè)置的卷內(nèi)離線流程;

10、其中,所述卷內(nèi)離線流程包括:

11、對卷內(nèi)各個輸入/輸出隊列上的輸入/輸出進行結(jié)束流程處理,以結(jié)束所述輸入/輸出并使所述輸入/輸出向主機端返回離線錯誤信息;

12、所述輸入/輸出隊列包括:活躍輸入/輸出隊列、非活躍輸入/輸出隊列和等待隊列。

13、在一種可能的實施例中,還包括:

14、依次統(tǒng)計卷內(nèi)前n個流量控制輸入/輸出的輸入/輸出規(guī)模之和,以得到流量總和;其中,n值為正整數(shù),且n值隨統(tǒng)計次數(shù)的遞增而加1;

15、判斷所述流量總和的值是否超過預(yù)設(shè)的流量閾值;

16、若否,則對本次統(tǒng)計的各所述流量控制輸入/輸出設(shè)置流量控制標識;其中,所述流量控制標識為一個特殊符號值,用于指示當前所述流量控制輸入/輸出為正常的所述輸入/輸出;

17、若是,則確定本次統(tǒng)計中新納入統(tǒng)計范圍的所述流量控制輸入/輸出,為首個異常輸入/輸出;并確定首個所述異常輸入/輸出之后的所述流量控制輸入/輸出為所述異常輸入/輸出;

18、將各所述異常輸入/輸出添加至對應(yīng)線程預(yù)先創(chuàng)建的流量控制輸入/輸出鏈表中;

19、所述卷內(nèi)離線流程還包括:

20、遍歷各所述線程對應(yīng)的所述流量控制輸入/輸出鏈表;

21、當遍歷到的所述異常輸入/輸出屬于離線卷時,則對該所述異常輸入/輸出進行所述結(jié)束流程處理,以結(jié)束所述異常輸入/輸出并使所述異常輸入/輸出向主機端返回離線錯誤信息。

22、在一種可能的實施例中,在所述遍歷各所述線程對應(yīng)的所述流量控制輸入/輸出鏈表之后,還包括:

23、當遍歷到的所述異常輸入/輸出不屬于離線卷時,則將當前遍歷到的所述異常輸入/輸出從所述流量控制輸入/輸出鏈表的頭部摘下,并放在所述流量控制輸入/輸出鏈表的尾部。

24、在一種可能的實施例中,還包括:

25、在所述資源異常狀態(tài)位為有效狀態(tài)的所述存儲池被添加盤以完成擴容池之后,判斷是否存在離線的卷重新上線;

26、若存在,則重新返回至所述通過全鎖定檢查函數(shù)判斷所述存儲池是否滿足全鎖定條件的步驟;

27、在所述通過全鎖定檢查函數(shù)判斷所述存儲池是否滿足全鎖定條件之后,還包括:

28、當所述存儲池不滿足所述全鎖定條件時,將所述存儲池中其他離線的卷的所述上層路徑輸出設(shè)置為在線狀態(tài)。

29、在一種可能的實施例中,所述通過全鎖定檢查函數(shù)判斷所述存儲池是否滿足全鎖定條件包括:

30、通過運行路徑切換函數(shù)調(diào)用所述全鎖定檢查函數(shù),以判斷各所述存儲池是否滿足所述全鎖定條件;

31、其中,所述運行路徑切換函數(shù)在所述存儲池中有卷的路徑發(fā)生變化時觸發(fā)運行。

32、在一種可能的實施例中,判斷所述存儲池是否滿足全鎖定條件包括:

33、獲取所述存儲池內(nèi)分配的最大頁資源數(shù)、所述存儲池內(nèi)應(yīng)達到并維持的目標頁資源數(shù);

34、比較所述最大頁資源數(shù)和所述目標頁資源數(shù)的大小關(guān)系,確定其中的較小值作為當前所述存儲池的頁資源代表數(shù);

35、根據(jù)所述頁資源代表數(shù)確定資源閾值;

36、判斷當前所述存儲池已被占用的頁資源數(shù)是否大于所述資源閾值;

37、若是,則判斷所述存儲池滿足所述全鎖定條件;

38、若否,則判斷所述存儲池不滿足所述全鎖定條件。

39、為解決上述技術(shù)問題,本發(fā)明還提供一種輸入輸出超時處理裝置,包括:

40、卷離線監(jiān)測模塊,用于監(jiān)測存儲池中是否有卷離線,若是,則觸發(fā)資源檢測模塊;

41、所述資源檢測模塊,用于通過全鎖定檢查函數(shù)判斷所述存儲池是否滿足全鎖定條件,若滿足,則觸發(fā)狀態(tài)置位模塊;

42、所述狀態(tài)置位模塊,用于將資源異常狀態(tài)位設(shè)置為有效狀態(tài);其中,所述資源異常狀態(tài)位為預(yù)先設(shè)置的狀態(tài)標志位,與所述存儲池對應(yīng);

43、狀態(tài)上傳模塊,用于將所述資源異常狀態(tài)位的值上傳至對應(yīng)的所述存儲池中;

44、卷離線模塊,用于當所述資源異常狀態(tài)位為有效狀態(tài)時,通過所述存儲池中各卷數(shù)據(jù)端中的狀態(tài)機將各卷的上層路徑輸出設(shè)置為離線狀態(tài),以使卷離線。

45、為解決上述技術(shù)問題,本發(fā)明還提供一種輸入輸出超時處理裝置,包括:

46、存儲器,用于存儲計算機程序;

47、處理器,用于執(zhí)行所述計算機程序時實現(xiàn)如上所述的輸入輸出超時處理方法的步驟。

48、為解決上述技術(shù)問題,本發(fā)明還提供一種非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上所述的輸入輸出超時處理方法的步驟。

49、本發(fā)明提供的一種輸入輸出超時處理方法,通過檢測存儲池內(nèi)的資源是否充足以控制池內(nèi)卷的路徑狀態(tài),避免出現(xiàn)io超時。具體的,由于在因為資源不足而導(dǎo)致io超時這一場景下,是因為當前存儲池中的精簡(se)池被寫滿;緩存的臟數(shù)據(jù)無法再下發(fā)到下層,使得當前存儲池中的資源使用達到上限;進而導(dǎo)致處理io時因為資源不足而等待資源超時;而當se池被寫滿后,會有部分卷離線。故基于上述原理,本方法通過監(jiān)測存儲池中是否有卷離線實現(xiàn)存儲池資源是否充足的第一步判斷,以提高檢測池資源不足的效率和準確性;若有卷離線,則通過全鎖定檢查(is?all?pinned)函數(shù)判斷當前存儲池是否滿足全鎖定條件;全鎖定檢查函數(shù)原本用于判斷空閑列表(free-list)和替換器(replacer)是否都為空,若空閑列表和替換器均為空,則表示當前存儲池中沒有空閑的頁資源,也即滿足全鎖定條件;當滿足全鎖定條件時,可確定當前存儲池中會因為資源不足導(dǎo)致io超時。

50、故本方法通過設(shè)置存儲池的資源異常狀態(tài)位并上傳,以指示存儲池中各卷數(shù)據(jù)端中的狀態(tài)機將存儲池中所有卷的上層路徑輸出設(shè)置為離線狀態(tài),以使這些卷對外離線,使這些卷不再接收io,也就不會因為沒有資源處理io而導(dǎo)致io超時。由此可見,本方法通過檢測存儲池中是否出現(xiàn)資源不足的問題,并在資源不足時間當前存儲池中的所有卷離線,阻止后續(xù)io在這些資源不足的卷上處理,從而避免產(chǎn)生超時io,可以有效地避免因為資源不足而導(dǎo)致的io超時問題。

51、本發(fā)明提供的輸入輸出超時處理裝置、及非易失性存儲介質(zhì),與上述方法對應(yīng),效果同上。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
英超| 莒南县| 广汉市| 车险| 江门市| 正蓝旗| 七台河市| 平顶山市| 山丹县| 云南省| 奈曼旗| 车致| 溆浦县| 临城县| 扎囊县| 依安县| 泽库县| 孙吴县| 呼图壁县| 广昌县| 梧州市| 山丹县| 文昌市| 濉溪县| 沈阳市| 柘荣县| 日土县| 三台县| 邳州市| 顺义区| 察雅县| 垣曲县| 富顺县| 淮安市| 长宁县| 麻江县| 利津县| 宁陕县| 定结县| 改则县| 绩溪县|