1.一種輸入/輸出I/O調(diào)度方法,其特征在于,所述方法包括:
文件系統(tǒng)接收客戶(hù)端發(fā)送的第一輸入/輸出I/O;
所述文件系統(tǒng)解析所述第一I/O得到組I/O;
所述文件系統(tǒng)為所述組I/O中的每個(gè)I/O設(shè)置依賴(lài)標(biāo)記,并識(shí)別所述組I/O中的第二I/O,為所述組I/O中的第二I/O設(shè)置來(lái)源標(biāo)記,所述依賴(lài)標(biāo)記用于標(biāo)識(shí)所述組I/O中每個(gè)I/O之間的依賴(lài)關(guān)系,所述來(lái)源標(biāo)記用于標(biāo)識(shí)所述組I/O中的所有的所述第二I/O屬于同一個(gè)調(diào)度域,所述第二I/O是由所述第一I/O轉(zhuǎn)化得到的;
塊層根據(jù)所述來(lái)源標(biāo)記和所述依賴(lài)標(biāo)記對(duì)所述組I/O中的每個(gè)I/O進(jìn)行調(diào)度以訪問(wèn)存儲(chǔ)設(shè)備中的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,
所述調(diào)度域用于表示所述組I/O中的所述第二I/O來(lái)自同一客戶(hù)端。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,
所述調(diào)度域用于表示所述組I/O中的所述第二I/O來(lái)自同一個(gè)文件。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述文件系統(tǒng)接收客戶(hù)端發(fā)送的第一I/O,具體包括:
操作系統(tǒng)接收所述客戶(hù)端發(fā)送的所述第一I/O,將所述第一I/O發(fā)送到高速緩存cache;
所述cache將所述第一I/O發(fā)送至所述文件系統(tǒng)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)所述第一I/O為刷盤(pán)I/O或非直接寫(xiě)I/O時(shí),所述將所述第一I/O發(fā)送到cache,具體包括:
所述操作系統(tǒng)獲取所述塊層剩余的未調(diào)度的I/O數(shù)量;
所述操作系統(tǒng)根據(jù)所述未調(diào)度的I/O數(shù)量將所述第一I/O發(fā)送到所述cache。
6.根據(jù)權(quán)利要求1至5任一所述的方法,其特征在于,所述塊層根據(jù)所述來(lái)源標(biāo)記和所述依賴(lài)標(biāo)記對(duì)所述組I/O中的每個(gè)I/O進(jìn)行調(diào)度以訪問(wèn)存儲(chǔ)設(shè)備中的數(shù)據(jù),具體包括:
所述塊層將所述組I/O中具有所述依賴(lài)標(biāo)記和所述來(lái)源標(biāo)記的所述第二I/O加入排序隊(duì)列,將具有所述依賴(lài)標(biāo)記但不具有所述來(lái)源標(biāo)記的I/O加入控制隊(duì)列;
所述塊層獲取預(yù)存的所述客戶(hù)端的服務(wù)質(zhì)量QoS;根據(jù)所述QoS和所述依賴(lài)標(biāo)記對(duì)所述排序隊(duì)列中的所述第二I/O進(jìn)行排序;根據(jù)并發(fā)數(shù)閾值和并發(fā)數(shù)比例關(guān)系,對(duì)所述排序隊(duì)列中的所述第二I/O和所述控制隊(duì)列中的所述I/O進(jìn)行調(diào)度以訪問(wèn)存儲(chǔ)設(shè)備中的數(shù)據(jù),其中,所述并發(fā)數(shù)閾值是所述存儲(chǔ)設(shè)備同時(shí)處理I/O的總數(shù)量的最大值;所述并發(fā)數(shù)比例關(guān)系是所述存儲(chǔ)設(shè)備同時(shí)處理來(lái)自所述排序隊(duì)列的所述第二I/O的總數(shù)量與來(lái)自所述控制隊(duì)列的所述I/O的總數(shù)量之間的比例關(guān)系。
7.一種輸入/輸出I/O調(diào)度裝置,其特征在于,所述裝置包括:
接收單元,用于通過(guò)文件系統(tǒng)接收客戶(hù)端發(fā)送的第一輸入/輸出I/O;
解析單元,用于通過(guò)所述文件系統(tǒng)解析所述接收單元接收的所述第一I/O得到組I/O;
設(shè)置單元,用于通過(guò)所述文件系統(tǒng)為所述解析單元得到的所述組I/O中的每個(gè)I/O設(shè)置依賴(lài)標(biāo)記,并識(shí)別所述組I/O中的第二I/O,為所述組I/O中的第二I/O設(shè)置來(lái)源標(biāo)記,所述依賴(lài)標(biāo)記用于標(biāo)識(shí)所述組I/O中每個(gè)I/O之間的依賴(lài)關(guān)系,所述來(lái)源標(biāo)記用于標(biāo)識(shí)所述組I/O中的所有的所述第二I/O屬于同一個(gè)調(diào)度域,所述第二I/O是由所述第一I/O轉(zhuǎn)化得到的;
調(diào)度單元,用于通過(guò)塊層根據(jù)所述設(shè)置單元設(shè)置的所述來(lái)源標(biāo)記和所述依賴(lài)標(biāo)記對(duì)所述組I/O中的每個(gè)I/O進(jìn)行調(diào)度以訪問(wèn)存儲(chǔ)設(shè)備中的數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,
所述調(diào)度域用于表示所述組I/O中的所述第二I/O來(lái)自同一客戶(hù)端。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,
所述調(diào)度域用于表示所述組I/O中的所述第二I/O來(lái)自同一個(gè)文件。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述接收單元,具體用于:
通過(guò)操作系統(tǒng)接收所述客戶(hù)端發(fā)送的所述第一I/O,將所述第一I/O發(fā)送到高速緩存cache;
通過(guò)所述cache將所述第一I/O發(fā)送至所述文件系統(tǒng)。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,當(dāng)所述第一I/O為刷盤(pán)I/O或非直接寫(xiě)I/O時(shí),所述接收單元,具體用于:
通過(guò)所述操作系統(tǒng)獲取所述塊層剩余的未調(diào)度的I/O數(shù)量;
通過(guò)所述操作系統(tǒng)根據(jù)所述未調(diào)度的I/O數(shù)量將所述第一I/O發(fā)送到所述cache。
12.根據(jù)權(quán)利要求7至11任一所述的裝置,其特征在于,所述調(diào)度單元,具體用于:
通過(guò)所述塊層將所述組I/O中具有所述依賴(lài)標(biāo)記和所述來(lái)源標(biāo)記的所述第二I/O加入排序隊(duì)列,將具有所述依賴(lài)標(biāo)記但不具有所述來(lái)源標(biāo)記的I/O加入控制隊(duì)列;
通過(guò)所述塊層獲取預(yù)存的所述客戶(hù)端的服務(wù)質(zhì)量QoS;根據(jù)所述QoS和所述依賴(lài)標(biāo)記對(duì)所述排序隊(duì)列中的所述第二I/O進(jìn)行排序;根據(jù)并發(fā)數(shù)閾值和并發(fā)數(shù)比例關(guān)系,對(duì)所述排序隊(duì)列中的所述第二I/O和所述控制隊(duì)列中的所述I/O進(jìn)行調(diào)度以訪問(wèn)存儲(chǔ)設(shè)備中的數(shù)據(jù),其中,所述并發(fā)數(shù)閾值是所述存儲(chǔ)設(shè)備同時(shí)處理I/O的總數(shù)量的最大值;所述并發(fā)數(shù)比例關(guān)系是所述存儲(chǔ)設(shè)備同時(shí)處理來(lái)自所述排序隊(duì)列的所述第二I/O的總數(shù)量與來(lái)自所述控制隊(duì)列的所述I/O的總數(shù)量之間的比例關(guān)系。
13.一種文件服務(wù)器,包括處理器和與所述處理器相連的存儲(chǔ)器,其特征在于,所述處理器執(zhí)行所述存儲(chǔ)器中的文件系統(tǒng)的計(jì)算機(jī)指令用于:
接收客戶(hù)端發(fā)送的第一輸入/輸出I/O;
解析所述第一I/O得到組I/O;
為所述組I/O中的每個(gè)I/O設(shè)置依賴(lài)標(biāo)記,并識(shí)別所述組I/O中的第二I/O,為所述組I/O中的第二I/O設(shè)置來(lái)源標(biāo)記,所述依賴(lài)標(biāo)記用于標(biāo)識(shí)所述組I/O中每個(gè)I/O之間的依賴(lài)關(guān)系,所述來(lái)源標(biāo)記用于標(biāo)識(shí)所述組I/O中的所有的所述第二I/O屬于同一個(gè)調(diào)度域,所述第二I/O是由所述第一I/O轉(zhuǎn)化得到的;
所述處理器執(zhí)行所述存儲(chǔ)器中的塊層的計(jì)算機(jī)指令用于:根據(jù)所述來(lái)源標(biāo)記和所述依賴(lài)標(biāo)記對(duì)所述組I/O中的每個(gè)I/O進(jìn)行調(diào)度以訪問(wèn)存儲(chǔ)設(shè)備中的數(shù)據(jù)。
14.根據(jù)權(quán)利要求13所述的文件服務(wù)器,其特征在于,
所述調(diào)度域用于表示所述組I/O中的所述第二I/O來(lái)自同一客戶(hù)端。
15.根據(jù)權(quán)利要求13所述的文件服務(wù)器,其特征在于,
所述調(diào)度域用于表示所述組I/O中的所述第二I/O來(lái)自同一個(gè)文件。
16.根據(jù)權(quán)利要求13所述的文件服務(wù)器,其特征在于,所述處理器,執(zhí)行所述存儲(chǔ)器中的操作系統(tǒng)的計(jì)算機(jī)指令,用于:
接收所述客戶(hù)端發(fā)送的所述第一I/O,將所述第一I/O發(fā)送到高速緩存cache;
所述cache將所述第一I/O發(fā)送至所述文件系統(tǒng)。
17.根據(jù)權(quán)利要求16所述的文件服務(wù)器,其特征在于,當(dāng)所述第一I/O為刷盤(pán)I/O或非直接寫(xiě)I/O時(shí),所述處理器,執(zhí)行所述存儲(chǔ)器中的所述操作系統(tǒng)的計(jì)算機(jī)指令具體用于:
獲取所述塊層剩余的未調(diào)度的I/O數(shù)量;
根據(jù)所述未調(diào)度的I/O數(shù)量將所述第一I/O發(fā)送到所述cache。
18.根據(jù)權(quán)利要求13至17任一所述的文件服務(wù)器,其特征在于,所述處理器,執(zhí)行所述存儲(chǔ)器中的所述塊層的計(jì)算機(jī)指令具體用于:
將所述組I/O中具有所述依賴(lài)標(biāo)記和所述來(lái)源標(biāo)記的所述第二I/O加入排序隊(duì)列,將具有所述依賴(lài)標(biāo)記但不具有所述來(lái)源標(biāo)記的I/O加入控制隊(duì)列;
獲取預(yù)存的所述客戶(hù)端的服務(wù)質(zhì)量QoS;根據(jù)所述QoS和所述依賴(lài)標(biāo)記對(duì)所述排序隊(duì)列中的所述第二I/O進(jìn)行排序;根據(jù)并發(fā)數(shù)閾值和并發(fā)數(shù)比例關(guān)系,對(duì)所述排序隊(duì)列中的所述第二I/O和所述控制隊(duì)列中的所述I/O進(jìn)行調(diào)度以訪問(wèn)存儲(chǔ)設(shè)備中的數(shù)據(jù),其中,所述并發(fā)數(shù)閾值是所述存儲(chǔ)設(shè)備同時(shí)處理I/O的總數(shù)量的最大值;所述并發(fā)數(shù)比例關(guān)系是所述存儲(chǔ)設(shè)備同時(shí)處理來(lái)自所述排序隊(duì)列的所述第二I/O的總數(shù)量與來(lái)自所述控制隊(duì)列的所述I/O的總數(shù)量之間的比例關(guān)系。