本技術(shù)涉及信息,特別涉及一種數(shù)據(jù)管理方法、系統(tǒng)和計(jì)算機(jī)設(shè)備。
背景技術(shù):
1、當(dāng)前的分布式存儲(chǔ)系統(tǒng)中,數(shù)據(jù)的存放方式基本都是經(jīng)過(guò)事先配置好的,或者由用戶在創(chuàng)建目錄的時(shí)候,指定數(shù)據(jù)的存放策略。例如,在文件系統(tǒng)中,文件的條帶個(gè)數(shù)默認(rèn)是1個(gè),條帶大小默認(rèn)是1兆字節(jié)(mbyte,mb)。用戶在創(chuàng)建目錄之后,可以使用特殊的命令,指定在該目錄下創(chuàng)建的文件條帶個(gè)數(shù)和/或條帶大小。
2、這種數(shù)據(jù)存放方式,對(duì)于特定的輸入輸出(input/output,i/o)模式或者特定的應(yīng)用,可能性能會(huì)比較好。但是當(dāng)應(yīng)用本身i/o模式比較復(fù)雜,或者多個(gè)不同應(yīng)用同時(shí)使用這一個(gè)分布式文件系統(tǒng)時(shí),固定的數(shù)據(jù)布局方式,就很難滿足不同應(yīng)用的需求。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供一種數(shù)據(jù)管理方法、系統(tǒng)和計(jì)算機(jī)設(shè)備,以解決現(xiàn)有技術(shù)中不能針對(duì)具體應(yīng)用實(shí)現(xiàn)有針對(duì)性的數(shù)據(jù)管理的問(wèn)題。
2、第一方面,本技術(shù)實(shí)施例提供一種數(shù)據(jù)管理方法,所述應(yīng)用的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)系統(tǒng)中,所述存儲(chǔ)系統(tǒng)包括至少一個(gè)存儲(chǔ)節(jié)點(diǎn),所述方法包括:
3、獲取應(yīng)用的信息,所述應(yīng)用的信息包括以下信息中的至少一項(xiàng):所述應(yīng)用的i/o操作信息、所述應(yīng)用的運(yùn)行信息以及所述應(yīng)用的進(jìn)程的信息;
4、根據(jù)所述應(yīng)用的信息為所述應(yīng)用制定存儲(chǔ)策略;
5、執(zhí)行所述存儲(chǔ)策略。
6、上述方法能夠根據(jù)應(yīng)用的信息制定針對(duì)所述應(yīng)用的存儲(chǔ)策略并執(zhí)行,能夠優(yōu)化所述應(yīng)用讀寫的數(shù)據(jù)在存儲(chǔ)系統(tǒng)的存儲(chǔ)和/或提高所述訪問(wèn)的效率。相對(duì)于現(xiàn)有技術(shù)基于預(yù)設(shè)的方式配置適用所有應(yīng)用的策略,所述計(jì)算機(jī)設(shè)備能夠針對(duì)不同的應(yīng)用分別制定不同的策略,有效提升了數(shù)據(jù)存儲(chǔ)與數(shù)據(jù)讀寫對(duì)不同應(yīng)用的契合度。
7、可選的,所述存儲(chǔ)節(jié)點(diǎn)可以是包括存儲(chǔ)資源的服務(wù)器或計(jì)算機(jī)設(shè)備。所述存儲(chǔ)資源可以包括內(nèi)存(memory)、固態(tài)硬盤(sol?id-state?drive,ssd)、機(jī)械硬盤(hard?diskdrive,hdd)或磁帶等存儲(chǔ)資源。
8、可選的,所述應(yīng)用的i/o操作信息,包括但不限于下述信息中的至少一種:所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)大小、所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)在存儲(chǔ)系統(tǒng)的位置、所述應(yīng)用執(zhí)行i/o操作的方式、所述應(yīng)用執(zhí)行i/o操作的標(biāo)識(shí)、所述應(yīng)用執(zhí)行i/o操作的類型、所述應(yīng)用中每個(gè)進(jìn)程訪問(wèn)數(shù)據(jù)的i/o模式(順序、跨步、隨機(jī),只讀、只寫、讀寫混合等)、所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)的類型、所述應(yīng)用執(zhí)行i/o操作的持續(xù)時(shí)間、所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)的生命周期、所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)的冗余策略或所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)的共享信息等信息。
9、可選的,所述應(yīng)用的運(yùn)行信息,包括但不限于下述信息中的至少一種:運(yùn)行所述應(yīng)用的節(jié)點(diǎn)標(biāo)識(shí)、運(yùn)行所述應(yīng)用的節(jié)點(diǎn)的名稱、運(yùn)行所述應(yīng)用的節(jié)點(diǎn)的ip地址、所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)所在的節(jié)點(diǎn)名稱或所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)所在的節(jié)點(diǎn)標(biāo)識(shí)等信息。
10、可選的,所述執(zhí)行所述應(yīng)用的進(jìn)程的信息,包括但不限于下述信息中的至少一種:執(zhí)行所述應(yīng)用的作業(yè)的標(biāo)識(shí)、執(zhí)行所述應(yīng)用的作業(yè)的特點(diǎn)、執(zhí)行所述應(yīng)用的進(jìn)程標(biāo)識(shí)或所述應(yīng)用在哪些節(jié)點(diǎn)上的哪些進(jìn)程處理哪些數(shù)據(jù)等方面的信息。其中,執(zhí)行所述應(yīng)用的作業(yè)可以包含一個(gè)或多個(gè)進(jìn)程。
11、在一些可能的實(shí)現(xiàn)方式中,所述方法還包括:
12、在所述應(yīng)用運(yùn)行之前或者接收到所述應(yīng)用的數(shù)據(jù)處理請(qǐng)求時(shí),為所述應(yīng)用制定所述存儲(chǔ)策略。
13、在一些可能的實(shí)現(xiàn)方式中,所述方法還包括:獲取所述存儲(chǔ)系統(tǒng)的特征信息;
14、根據(jù)所述應(yīng)用的信息和所述存儲(chǔ)系統(tǒng)的特征信息,為所述應(yīng)用制定所述存儲(chǔ)策略。
15、在一些可能的實(shí)現(xiàn)方式中,所述存儲(chǔ)系統(tǒng)的特征信息包括下述信息中的至少其中一項(xiàng):所述存儲(chǔ)系統(tǒng)的硬件結(jié)構(gòu)、所述存儲(chǔ)系統(tǒng)的硬件組成、所述存儲(chǔ)系統(tǒng)的存儲(chǔ)容量或所述存儲(chǔ)系統(tǒng)數(shù)據(jù)布局的方式。
16、其中,所述存儲(chǔ)系統(tǒng)的硬件結(jié)構(gòu),是存儲(chǔ)系統(tǒng)中不同組成部件之間的位置關(guān)系或連接關(guān)系,所述存儲(chǔ)系統(tǒng)的硬件組成是所述存儲(chǔ)系統(tǒng)中不同組成部件的物理形態(tài)。例如,存儲(chǔ)系統(tǒng)的硬件組成可以包括ssd和hdd;存儲(chǔ)系統(tǒng)的硬件結(jié)構(gòu)指示ssd是二級(jí)存儲(chǔ)資源,hdd是三級(jí)存儲(chǔ)資源,且所述ssd與所述hdd之間存在連接關(guān)系。
17、結(jié)合所述應(yīng)用的信息和存儲(chǔ)系統(tǒng)的特征信息為所述應(yīng)用制定存儲(chǔ)策略,能夠更好地契合存儲(chǔ)系統(tǒng)的特點(diǎn),能夠進(jìn)一步優(yōu)化所述應(yīng)用i/o操作的數(shù)據(jù)在存儲(chǔ)系統(tǒng)的存儲(chǔ)并提升所述應(yīng)用執(zhí)行i/o操作的效率。
18、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略包括數(shù)據(jù)布局策略,所述數(shù)據(jù)布局策略用于確定所述應(yīng)用寫入所述存儲(chǔ)系統(tǒng)的數(shù)據(jù)的存儲(chǔ)方式和/或存儲(chǔ)位置。
19、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用寫入所述存儲(chǔ)系統(tǒng)的存儲(chǔ)方式包括以下信息中的至少一項(xiàng):
20、所述應(yīng)用需要存儲(chǔ)的數(shù)據(jù)的結(jié)構(gòu)類型、所述應(yīng)用需要存儲(chǔ)的數(shù)據(jù)的副本數(shù)量或所述應(yīng)用需要存儲(chǔ)的數(shù)據(jù)的校驗(yàn)方式。
21、例如,所述數(shù)據(jù)布局策略可以包括為某一應(yīng)用待寫入存儲(chǔ)設(shè)備的數(shù)據(jù)分配連續(xù)的存儲(chǔ)空間,以提高數(shù)據(jù)寫入的效率;也可以是確定待寫數(shù)據(jù)是以單副本存儲(chǔ)還是多副本存儲(chǔ),還可以是確定待寫數(shù)據(jù)的糾錯(cuò)碼(erasure?code,ec)或獨(dú)立磁盤冗余數(shù)組(redundantarray?of?independent?disks,raid)等。
22、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略包括緩存策略,所述緩存策略用于確定所述應(yīng)用從所述存儲(chǔ)系統(tǒng)讀取的數(shù)據(jù)以及所述讀取的數(shù)據(jù)的緩存方式,所述數(shù)據(jù)的緩存方式包括下述中的至少一項(xiàng):全緩存、部分緩存、預(yù)讀方式、寫數(shù)據(jù)時(shí)直通緩存或緩存的清理機(jī)制。例如,所述緩存策略可以包括將某一應(yīng)用待讀取的具體數(shù)據(jù)預(yù)先寫入讀寫速度最快的一級(jí)緩存中,以提高應(yīng)用讀取數(shù)據(jù)的效率;或者對(duì)于某一應(yīng)用發(fā)起的只向存儲(chǔ)設(shè)備寫入數(shù)據(jù)的請(qǐng)求,通過(guò)直通(bypass)或透?jìng)鞯姆绞綄?shù)據(jù)直接寫入存儲(chǔ)設(shè)備的存儲(chǔ)空間中,而不用經(jīng)過(guò)緩存,降低緩存的空間占用,以提升緩存的利用率。
23、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略還包括分級(jí)存儲(chǔ)策略,所述分級(jí)存儲(chǔ)策略用于將所述應(yīng)用所訪問(wèn)的不同頻率的數(shù)據(jù)存儲(chǔ)在讀寫速度不同的存儲(chǔ)介質(zhì)中。例如,所述分級(jí)存儲(chǔ)策略可以包括將經(jīng)常訪問(wèn)的數(shù)據(jù),即訪問(wèn)頻率高的數(shù)據(jù),存儲(chǔ)在讀寫速度高的存儲(chǔ)介質(zhì)中個(gè),例如存儲(chǔ)級(jí)內(nèi)存(storage?class?memory,scm)或ssd中,這樣能夠提升訪問(wèn)這些數(shù)據(jù)的效率,避免將數(shù)據(jù)在不同存儲(chǔ)介質(zhì)中拷貝所帶來(lái)的資源的占用和浪費(fèi)。
24、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略還包括冗余策略,所述冗余策略用于確定所述應(yīng)用待寫入所述存儲(chǔ)系統(tǒng)的數(shù)據(jù)的備份方式和/或備份數(shù)量。例如,所述冗余策略可以包括:對(duì)于一次性的數(shù)據(jù),不需要備份;對(duì)于后續(xù)需要讀取的數(shù)據(jù),需要做備份。
25、在一些可能的實(shí)現(xiàn)方式中,預(yù)先保存參考策略;所述方法還包括:
26、參考所述參考策略,為所述應(yīng)用制定所述存儲(chǔ)策略。
27、可選的,所述參考策略是存儲(chǔ)于策略信息庫(kù)中的策略。所述策略信息庫(kù)可以存儲(chǔ)在所述存儲(chǔ)系統(tǒng)中,也可以是一個(gè)獨(dú)立的數(shù)據(jù)庫(kù),例如獨(dú)立的數(shù)據(jù)庫(kù)設(shè)備。
28、可選的,所述方法還可以包括:先獲取策略信息庫(kù)中已經(jīng)存儲(chǔ)的所述應(yīng)用的策略,結(jié)合本次獲取的所述應(yīng)用的信息,確定針對(duì)所述應(yīng)用的存儲(chǔ)策略。
29、如果所述策略信息庫(kù)中沒(méi)有存儲(chǔ)所述應(yīng)用的存儲(chǔ)策略,可以參考所述策略信息庫(kù)中與所述應(yīng)用相近似的應(yīng)用的存儲(chǔ)策略。例如,可以根據(jù)所述應(yīng)用的類型或作業(yè)參數(shù),參考策略信息庫(kù)中記錄的與所述應(yīng)用的類型或作業(yè)參數(shù)相同的應(yīng)用的存儲(chǔ)策略,或參考與所述應(yīng)用的類型或作業(yè)參數(shù)相類似的應(yīng)用的存儲(chǔ)策略,以確定所述應(yīng)用的存儲(chǔ)策略。
30、通常情況下,一個(gè)應(yīng)用的讀寫模式相對(duì)固定,因此,參考策略信息庫(kù)中的存儲(chǔ)策略以確定所述應(yīng)用的存儲(chǔ)策略,不需要每次就相同的內(nèi)容確定重復(fù)的策略,能夠提升確定策略的效率,并降低因確定相應(yīng)策略所帶來(lái)的中央處理器(central?process?ing?uni?t,cpu)等資源的占用。
31、在一些可能的實(shí)現(xiàn)方式中,所述方法還包括:存儲(chǔ)所述應(yīng)用的存儲(chǔ)策略。
32、可選的,可以將所述應(yīng)用的存儲(chǔ)策略存儲(chǔ)于上述策略信息庫(kù)中。
33、可選的,可以在確定所述應(yīng)用的策略后,即將所述存儲(chǔ)策略存儲(chǔ)在所述策略信息庫(kù)中。在將所述存儲(chǔ)策略存儲(chǔ)在所述策略信息庫(kù)中時(shí),可以更新的方式存儲(chǔ)所述存儲(chǔ)策略,即將有變化的存儲(chǔ)策略的信息,存儲(chǔ)在策略信息庫(kù)中。
34、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的信息是按照預(yù)設(shè)的格式和/或內(nèi)容進(jìn)行歸一化處理后的信息??蛇x的,將所述應(yīng)用的信息按照預(yù)設(shè)的格式歸一化處理,包括但不限于將所述應(yīng)用的信息按照統(tǒng)一的表述方式或排列順序進(jìn)行處理。將所述應(yīng)用的信息是按照預(yù)設(shè)的內(nèi)容進(jìn)行歸一化處理,包括但不限于增加必要的信息。例如,增加上下文信息等。所述上下文信息包括但不限于:所述應(yīng)用所在的節(jié)點(diǎn)的標(biāo)識(shí)、所述應(yīng)用所在的節(jié)點(diǎn)的名稱、所述應(yīng)用所在的節(jié)點(diǎn)的互聯(lián)網(wǎng)協(xié)議(internet?protocol,ip)地址、所述應(yīng)用的名稱、應(yīng)用參數(shù)或作業(yè)描述等上下文信息。
35、通過(guò)對(duì)所述應(yīng)用的信息進(jìn)行歸一化處理,能夠簡(jiǎn)化不同應(yīng)用的信息的統(tǒng)一存儲(chǔ),簡(jiǎn)化存儲(chǔ)應(yīng)用的信息的方式,提升所述應(yīng)用的信息存儲(chǔ)和傳輸?shù)男?;同時(shí),在根據(jù)所述應(yīng)用的信息確定策略時(shí),也能夠快速地識(shí)別所述應(yīng)用的信息并進(jìn)行相關(guān)的策略決策,提升確定具體策略的效率。
36、在一些可能的實(shí)現(xiàn)方式中,所述執(zhí)行所述存儲(chǔ)策略包括:在所述應(yīng)用發(fā)起讀寫請(qǐng)求前執(zhí)行所述存儲(chǔ)策略中的部分策略。例如,當(dāng)為所述應(yīng)用確定了分級(jí)存儲(chǔ)策略時(shí),可以在接收到該策略后就執(zhí)行,這樣在所述應(yīng)用發(fā)起的相關(guān)讀寫請(qǐng)求時(shí),就能夠快速地獲取相關(guān)的數(shù)據(jù),并能夠提升分級(jí)存儲(chǔ)介質(zhì)的利用率。當(dāng)為所述應(yīng)用確定了分級(jí)存儲(chǔ)策略后,在接收到所述應(yīng)用的讀數(shù)據(jù)請(qǐng)求時(shí),基于所述讀請(qǐng)求對(duì)應(yīng)的具體數(shù)據(jù),將需要讀取的數(shù)據(jù)緩存在相應(yīng)的介質(zhì)中,這樣能夠提高緩存數(shù)據(jù)的命中率并提升數(shù)據(jù)的讀寫效率。
37、在一些可能的實(shí)現(xiàn)方式中,所述在所述應(yīng)用發(fā)起讀寫請(qǐng)求前執(zhí)行的存儲(chǔ)策略包括分級(jí)存儲(chǔ)策略,所述分級(jí)存儲(chǔ)策略用于將所述應(yīng)用待讀取的數(shù)據(jù)提前存儲(chǔ)在讀寫速度高的存儲(chǔ)介質(zhì)中。
38、在一些可能的實(shí)現(xiàn)方式中,所述方法還包括:通過(guò)擴(kuò)展的接口從所述應(yīng)用獲取所述應(yīng)用的信息;或,
39、從所述應(yīng)用運(yùn)行的計(jì)算設(shè)備獲取經(jīng)過(guò)格式化處理的所述應(yīng)用的信息。
40、在一些可能的實(shí)現(xiàn)方式中,所述通過(guò)擴(kuò)展的接口從所述應(yīng)用獲取所述應(yīng)用的信息包括下述方式之一:
41、通過(guò)擴(kuò)展的接口庫(kù)獲取應(yīng)用的信息;
42、通過(guò)專用的文件獲取所述應(yīng)用的信息,所述應(yīng)用或所述應(yīng)用對(duì)應(yīng)的調(diào)度器將所述應(yīng)用的信息寫入所述專用的文件中;
43、通過(guò)遠(yuǎn)程過(guò)程調(diào)用獲取所述應(yīng)用的信息;或,
44、通過(guò)表征狀態(tài)轉(zhuǎn)移restful獲取所述應(yīng)用的信息。
45、第二方面,本技術(shù)實(shí)施例提供了一種計(jì)算機(jī)設(shè)備,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)可讀執(zhí)行程序,所述處理器用于讀取所述計(jì)算機(jī)可讀執(zhí)行程序以執(zhí)行下述步驟:
46、獲取應(yīng)用的信息,所述應(yīng)用的信息包括以下信息中的至少一項(xiàng):所述應(yīng)用的i/o操作信息、所述應(yīng)用的運(yùn)行信息以及所述應(yīng)用的進(jìn)程的信息;其中,所述應(yīng)用的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)系統(tǒng)中,所述存儲(chǔ)系統(tǒng)包括至少一個(gè)存儲(chǔ)節(jié)點(diǎn);
47、根據(jù)所述應(yīng)用的信息為所述應(yīng)用制定存儲(chǔ)策略;
48、執(zhí)行所述存儲(chǔ)策略。
49、上述計(jì)算機(jī)設(shè)備能夠根據(jù)應(yīng)用的信息制定針對(duì)所述應(yīng)用的存儲(chǔ)策略并執(zhí)行,能夠優(yōu)化所述應(yīng)用讀寫的數(shù)據(jù)在存儲(chǔ)系統(tǒng)的存儲(chǔ)和/或提高所述訪問(wèn)的效率。相對(duì)于現(xiàn)有技術(shù)基于預(yù)設(shè)的方式配置適用所有應(yīng)用的策略,所述計(jì)算機(jī)設(shè)備能夠針對(duì)不同的應(yīng)用分別制定不同的策略,有效提升了數(shù)據(jù)存儲(chǔ)與數(shù)據(jù)讀寫對(duì)不同應(yīng)用的契合度。
50、可選的,所述存儲(chǔ)節(jié)點(diǎn)可以是包括存儲(chǔ)資源的服務(wù)器或計(jì)算機(jī)設(shè)備。所述存儲(chǔ)資源可以包括內(nèi)存、ssd、hdd或磁帶等存儲(chǔ)資源。
51、可選的,所述應(yīng)用的i/o操作信息,包括但不限于下述信息中的至少一種:所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)大小、所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)在存儲(chǔ)系統(tǒng)的位置、所述應(yīng)用執(zhí)行i/o操作的方式、所述應(yīng)用執(zhí)行i/o操作的標(biāo)識(shí)、所述應(yīng)用執(zhí)行i/o操作的類型、所述應(yīng)用中每個(gè)進(jìn)程訪問(wèn)數(shù)據(jù)的i/o模式(順序、跨步、隨機(jī),只讀、只寫、讀寫混合等)、所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)的類型、所述應(yīng)用執(zhí)行i/o操作的持續(xù)時(shí)間、所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)的生命周期、所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)的冗余策略或所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)的共享信息等信息。
52、可選的,所述應(yīng)用的運(yùn)行信息,包括但不限于下述信息中的至少一種:運(yùn)行所述應(yīng)用的節(jié)點(diǎn)標(biāo)識(shí)、運(yùn)行所述應(yīng)用的節(jié)點(diǎn)的名稱、運(yùn)行所述應(yīng)用的節(jié)點(diǎn)的ip地址、所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)所在的節(jié)點(diǎn)名稱或所述應(yīng)用執(zhí)行i/o操作的數(shù)據(jù)所在的節(jié)點(diǎn)標(biāo)識(shí)等信息。
53、可選的,所述執(zhí)行所述應(yīng)用的進(jìn)程的信息,包括但不限于下述信息中的至少一種:執(zhí)行所述應(yīng)用的作業(yè)的標(biāo)識(shí)、執(zhí)行所述應(yīng)用的作業(yè)的特點(diǎn)、執(zhí)行所述應(yīng)用的進(jìn)程標(biāo)識(shí)或所述應(yīng)用在哪些節(jié)點(diǎn)上的哪些進(jìn)程處理哪些數(shù)據(jù)等方面的信息。其中,執(zhí)行所述應(yīng)用的作業(yè)可以包含一個(gè)或多個(gè)進(jìn)程。
54、在一些可能的實(shí)現(xiàn)方式中,所述處理器還用于讀取所述計(jì)算機(jī)可讀執(zhí)行程序以執(zhí)行下述步驟:
55、在所述應(yīng)用運(yùn)行之前或者接收到所述應(yīng)用的數(shù)據(jù)處理請(qǐng)求時(shí),為所述應(yīng)用制定所述存儲(chǔ)策略。
56、在一些可能的實(shí)現(xiàn)方式中,所述處理器還用于讀取所述計(jì)算機(jī)可讀執(zhí)行程序以執(zhí)行下述步驟:
57、獲取所述存儲(chǔ)系統(tǒng)的特征信息;
58、根據(jù)所述應(yīng)用的信息和所述存儲(chǔ)系統(tǒng)的特征信息,為所述應(yīng)用制定所述存儲(chǔ)策略。
59、在一些可能的實(shí)現(xiàn)方式中,所述存儲(chǔ)系統(tǒng)的特征信息包括下述信息中的至少其中一項(xiàng):所述存儲(chǔ)系統(tǒng)的硬件結(jié)構(gòu)、所述存儲(chǔ)系統(tǒng)的硬件組成、所述存儲(chǔ)系統(tǒng)的存儲(chǔ)容量或所述存儲(chǔ)系統(tǒng)數(shù)據(jù)布局的方式。
60、其中,所述存儲(chǔ)系統(tǒng)的硬件結(jié)構(gòu),是存儲(chǔ)系統(tǒng)中不同組成部件之間的位置關(guān)系或連接關(guān)系,所述存儲(chǔ)系統(tǒng)的硬件組成是所述存儲(chǔ)系統(tǒng)中不同組成部件的物理形態(tài)。例如,存儲(chǔ)系統(tǒng)的硬件組成可以包括ssd和hdd;存儲(chǔ)系統(tǒng)的硬件結(jié)構(gòu)指示ssd是二級(jí)資源,hdd是三級(jí)資源,且所述ssd與所述hdd之間存在連接關(guān)系。
61、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略包括數(shù)據(jù)布局策略,所述數(shù)據(jù)布局策略用于確定所述應(yīng)用寫入所述存儲(chǔ)系統(tǒng)的數(shù)據(jù)的存儲(chǔ)方式和/或存儲(chǔ)位置。
62、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用寫入所述存儲(chǔ)系統(tǒng)的存儲(chǔ)方式包括以下信息中的至少一項(xiàng):
63、所述應(yīng)用需要存儲(chǔ)的數(shù)據(jù)的結(jié)構(gòu)類型、所述應(yīng)用需要存儲(chǔ)的數(shù)據(jù)的副本數(shù)量或所述應(yīng)用需要存儲(chǔ)的數(shù)據(jù)的校驗(yàn)方式。
64、例如,所述數(shù)據(jù)布局策略可以包括為某一應(yīng)用待寫入存儲(chǔ)設(shè)備的數(shù)據(jù)分配連續(xù)的存儲(chǔ)空間,以提高數(shù)據(jù)寫入的效率;也可以是確定待寫數(shù)據(jù)是以單副本存儲(chǔ)還是多副本存儲(chǔ),還可以是確定待寫數(shù)據(jù)的糾錯(cuò)碼(erasure?code,ec)或獨(dú)立磁盤冗余數(shù)組(redundantarray?of?independent?disks,raid)等。
65、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略包括緩存策略,所述緩存策略用于確定所述應(yīng)用從所述存儲(chǔ)系統(tǒng)讀取的數(shù)據(jù)以及所述讀取的數(shù)據(jù)的緩存方式,所述數(shù)據(jù)的緩存方式包括下述中的至少一項(xiàng):全緩存、部分緩存、預(yù)讀方式、寫數(shù)據(jù)時(shí)直通緩存或緩存的清理機(jī)制。例如,所述緩存策略可以包括將某一應(yīng)用待讀取的具體數(shù)據(jù)預(yù)先寫入讀寫速度最快的一級(jí)緩存中,以提高應(yīng)用讀取數(shù)據(jù)的效率;或者對(duì)于某一應(yīng)用發(fā)起的只向存儲(chǔ)設(shè)備寫入數(shù)據(jù)的請(qǐng)求,通過(guò)直通(bypass)或透?jìng)鞯姆绞綄?shù)據(jù)直接寫入存儲(chǔ)設(shè)備的存儲(chǔ)空間中,而不用經(jīng)過(guò)緩存,降低緩存的空間占用,以提升緩存的利用率。
66、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略還包括分級(jí)存儲(chǔ)策略,所述分級(jí)存儲(chǔ)策略用于將所述應(yīng)用所訪問(wèn)的不同頻率的數(shù)據(jù)存儲(chǔ)在讀寫速度不同的存儲(chǔ)介質(zhì)中。例如,所述分級(jí)存儲(chǔ)策略可以包括將經(jīng)常訪問(wèn)的數(shù)據(jù),即訪問(wèn)頻率高的數(shù)據(jù),存儲(chǔ)在讀寫速度高的存儲(chǔ)介質(zhì)中個(gè),例如scm或ssd中,這樣能夠提升訪問(wèn)這些數(shù)據(jù)的效率,避免將數(shù)據(jù)在不同存儲(chǔ)介質(zhì)中拷貝所帶來(lái)的資源的占用和浪費(fèi)。
67、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略還包括冗余策略,所述冗余策略用于確定所述應(yīng)用待寫入所述存儲(chǔ)系統(tǒng)的數(shù)據(jù)的備份方式和/或備份數(shù)量。例如,所述冗余策略可以包括:對(duì)于一次性的數(shù)據(jù),不需要備份;對(duì)于后續(xù)需要讀取的數(shù)據(jù),需要做備份。
68、在一些可能的實(shí)現(xiàn)方式中,預(yù)先保存參考策略;則所述處理器還用于讀取所述計(jì)算機(jī)可讀執(zhí)行程序以執(zhí)行下述步驟:
69、參考所述參考策略,為所述應(yīng)用制定所述存儲(chǔ)策略。
70、可選的,所述處理器還用于讀取所述計(jì)算機(jī)可讀執(zhí)行程序以執(zhí)行下述步驟:先獲取策略信息庫(kù)中已經(jīng)存儲(chǔ)的所述應(yīng)用的策略,結(jié)合本次獲取的所述應(yīng)用的信息,確定針對(duì)所述應(yīng)用的存儲(chǔ)策略。
71、如果所述策略信息庫(kù)中沒(méi)有存儲(chǔ)所述應(yīng)用的存儲(chǔ)策略,可以參考所述策略信息庫(kù)中與所述應(yīng)用相近似的應(yīng)用的存儲(chǔ)策略。例如,可以根據(jù)所述應(yīng)用的類型或作業(yè)參數(shù),參考策略信息庫(kù)中記錄的與所述應(yīng)用的類型或作業(yè)參數(shù)相同的應(yīng)用的存儲(chǔ)策略,或參考與所述應(yīng)用的類型或作業(yè)參數(shù)相類似的應(yīng)用的存儲(chǔ)策略,以確定所述應(yīng)用的存儲(chǔ)策略。
72、通常情況下,一個(gè)應(yīng)用的讀寫模式相對(duì)固定,因此,參考策略信息庫(kù)中的存儲(chǔ)策略以確定所述應(yīng)用的存儲(chǔ)策略,不需要每次就相同的內(nèi)容確定重復(fù)的策略,能夠提升確定策略的效率,并降低因確定相應(yīng)策略所帶來(lái)的cpu等資源的占用。
73、在一些可能的實(shí)現(xiàn)方式中,所述處理器還用于讀取所述計(jì)算機(jī)可讀執(zhí)行程序以執(zhí)行下述步驟:存儲(chǔ)所述應(yīng)用的存儲(chǔ)策略。
74、可選的,所述處理器可以將所述應(yīng)用的存儲(chǔ)策略存儲(chǔ)于上述策略信息庫(kù)中。
75、可選的,所述處理器可以在確定所述應(yīng)用的策略后,即將所述存儲(chǔ)策略存儲(chǔ)在所述策略信息庫(kù)中。在將所述存儲(chǔ)策略存儲(chǔ)在所述策略信息庫(kù)中時(shí),可以更新的方式存儲(chǔ)所述存儲(chǔ)策略,即將有變化的存儲(chǔ)策略的信息,存儲(chǔ)在策略信息庫(kù)中。
76、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的信息是按照預(yù)設(shè)的格式和/或內(nèi)容進(jìn)行歸一化處理后的信息??蛇x的,將所述應(yīng)用的信息按照預(yù)設(shè)的格式歸一化處理,包括但不限于將所述應(yīng)用的信息按照統(tǒng)一的表述方式或排列順序進(jìn)行處理。將所述應(yīng)用的信息是按照預(yù)設(shè)的內(nèi)容進(jìn)行歸一化處理,包括但不限于增加必要的信息。例如,增加上下文信息等。所述上下文信息包括但不限于:所述應(yīng)用所在的節(jié)點(diǎn)的標(biāo)識(shí)、所述應(yīng)用所在的節(jié)點(diǎn)的名稱、所述應(yīng)用所在的節(jié)點(diǎn)的ip地址、所述應(yīng)用的名稱、應(yīng)用參數(shù)或作業(yè)描述等上下文信息。
77、通過(guò)對(duì)所述應(yīng)用的信息進(jìn)行歸一化處理,能夠簡(jiǎn)化不同應(yīng)用的信息的統(tǒng)一存儲(chǔ),簡(jiǎn)化存儲(chǔ)應(yīng)用的信息的方式,提升所述應(yīng)用的信息存儲(chǔ)和傳輸?shù)男?;同時(shí),在根據(jù)所述應(yīng)用的信息確定策略時(shí),也能夠快速地識(shí)別所述應(yīng)用的信息并進(jìn)行相關(guān)的策略決策,提升確定具體策略的效率。
78、在一些可能的實(shí)現(xiàn)方式中,所述處理器讀取所述計(jì)算機(jī)可讀執(zhí)行程序以執(zhí)行所述存儲(chǔ)策略包括:在所述應(yīng)用發(fā)起讀寫請(qǐng)求前,所述處理器讀取所述計(jì)算機(jī)可讀執(zhí)行程序以執(zhí)行所述存儲(chǔ)策略中的部分策略。例如,當(dāng)為所述應(yīng)用確定了分級(jí)存儲(chǔ)策略時(shí),可以在接收到該策略后就執(zhí)行,這樣在所述應(yīng)用發(fā)起的相關(guān)讀寫請(qǐng)求時(shí),就能夠快速地獲取相關(guān)的數(shù)據(jù),并能夠提升分級(jí)存儲(chǔ)介質(zhì)的利用率。當(dāng)為所述應(yīng)用確定了分級(jí)存儲(chǔ)策略后,在接收到所述應(yīng)用的讀數(shù)據(jù)請(qǐng)求時(shí),基于所述讀請(qǐng)求對(duì)應(yīng)的具體數(shù)據(jù),將需要讀取的數(shù)據(jù)緩存在相應(yīng)的介質(zhì)中,這樣能夠提高緩存數(shù)據(jù)的命中率并提升數(shù)據(jù)的讀寫效率。
79、在一些可能的實(shí)現(xiàn)方式中,所述部分策略包括分級(jí)存儲(chǔ)策略,所述分級(jí)存儲(chǔ)策略用于將所述應(yīng)用待讀取的數(shù)據(jù)提前存儲(chǔ)在讀寫速度高的存儲(chǔ)介質(zhì)中。
80、在一些可能的實(shí)現(xiàn)方式中,所述存儲(chǔ)系統(tǒng)還包括至少一個(gè)計(jì)算節(jié)點(diǎn),所述應(yīng)用運(yùn)行在所述至少一個(gè)計(jì)算節(jié)點(diǎn)上,所述應(yīng)用讀寫的數(shù)據(jù)存儲(chǔ)在所述至少一個(gè)存儲(chǔ)節(jié)點(diǎn)上,所述至少一個(gè)存儲(chǔ)節(jié)點(diǎn)包括所述計(jì)算機(jī)設(shè)備。
81、在一些可能的實(shí)現(xiàn)方式中,所述處理器通過(guò)擴(kuò)展的接口從所述應(yīng)用獲取所述應(yīng)用的信息;或,
82、所述處理器從所述應(yīng)用運(yùn)行的計(jì)算節(jié)點(diǎn)獲取經(jīng)過(guò)格式化處理的所述應(yīng)用的信息。
83、在一些可能的實(shí)現(xiàn)方式中,所述至少一個(gè)存儲(chǔ)節(jié)點(diǎn)包括所述計(jì)算機(jī)設(shè)備,每個(gè)所述存儲(chǔ)節(jié)點(diǎn)包括存儲(chǔ)資源和計(jì)算資源;
84、所述處理器獲取所述應(yīng)用的信息包括:
85、所述處理器通過(guò)擴(kuò)展的接口獲取所述應(yīng)用的信息。
86、在一些可能的實(shí)現(xiàn)方式中,所述處理器通過(guò)擴(kuò)展的接口從所述應(yīng)用獲取所述應(yīng)用的信息包括下述方式之一:
87、所述處理器通過(guò)擴(kuò)展的接口庫(kù)獲取應(yīng)用的信息;
88、所述處理器通過(guò)專用的文件獲取所述應(yīng)用的信息,所述應(yīng)用或所述應(yīng)用對(duì)應(yīng)的調(diào)度器將所述應(yīng)用的信息寫入所述專用的文件中;
89、所述處理器通過(guò)遠(yuǎn)程過(guò)程調(diào)用獲取所述應(yīng)用的信息;或,
90、所述處理器通過(guò)表征狀態(tài)轉(zhuǎn)移restful獲取所述應(yīng)用的信息。
91、第三方面,本技術(shù)實(shí)施例提供了一種數(shù)據(jù)管理系統(tǒng),所述數(shù)據(jù)管理系統(tǒng)包括應(yīng)用感知模塊、策略確定模塊和策略執(zhí)行模塊,其中:
92、所述應(yīng)用感知模塊,用于獲取應(yīng)用的信息,所述應(yīng)用的信息包括以下信息中的至少一項(xiàng):所述應(yīng)用的i/o操作信息、所述應(yīng)用的運(yùn)行信息以及所述應(yīng)用的進(jìn)程的信息;其中,所述應(yīng)用的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)系統(tǒng)中,所述存儲(chǔ)系統(tǒng)包括至少一個(gè)存儲(chǔ)節(jié)點(diǎn);
93、所述策略確定模塊,用于根據(jù)所述信息為所述應(yīng)用制定存儲(chǔ)策略;
94、所述策略執(zhí)行模塊,用于執(zhí)行所述策略。
95、上述數(shù)據(jù)管理系統(tǒng)能夠根據(jù)應(yīng)用的信息制定針對(duì)所述應(yīng)用的存儲(chǔ)策略并執(zhí)行,能夠優(yōu)化所述應(yīng)用讀寫的數(shù)據(jù)在存儲(chǔ)系統(tǒng)的存儲(chǔ)和/或提高所述訪問(wèn)的效率。相對(duì)于現(xiàn)有技術(shù)基于預(yù)設(shè)的方式配置適用所有應(yīng)用的策略,所述計(jì)算機(jī)設(shè)備能夠針對(duì)不同的應(yīng)用分別制定不同的策略,有效提升了數(shù)據(jù)存儲(chǔ)與數(shù)據(jù)讀寫對(duì)不同應(yīng)用的契合度。
96、在一些可能的實(shí)現(xiàn)方式中,在所述應(yīng)用運(yùn)行之前或者接收到所述應(yīng)用的數(shù)據(jù)處理請(qǐng)求時(shí),所述策略確定模塊為所述應(yīng)用制定所述存儲(chǔ)策略。
97、在一些可能的實(shí)現(xiàn)方式中,所述策略確定模塊還用于獲取所述存儲(chǔ)系統(tǒng)的特征信息,根據(jù)所述應(yīng)用的信息和所述存儲(chǔ)系統(tǒng)的特征信息,為所述應(yīng)用制定所述存儲(chǔ)策略。
98、在一些可能的實(shí)現(xiàn)方式中,所述存儲(chǔ)系統(tǒng)的特征信息包括下述信息中的至少其中一項(xiàng):所述存儲(chǔ)系統(tǒng)的硬件結(jié)構(gòu)、所述存儲(chǔ)系統(tǒng)的硬件組成、所述存儲(chǔ)系統(tǒng)的存儲(chǔ)容量或所述存儲(chǔ)系統(tǒng)數(shù)據(jù)布局的方式。
99、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略包括數(shù)據(jù)布局策略,所述數(shù)據(jù)布局策略用于確定所述應(yīng)用寫入所述存儲(chǔ)系統(tǒng)的數(shù)據(jù)的存儲(chǔ)方式和/或存儲(chǔ)位置。
100、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用寫入所述存儲(chǔ)系統(tǒng)的存儲(chǔ)方式包括以下信息中的至少一項(xiàng):
101、所述應(yīng)用需要存儲(chǔ)的數(shù)據(jù)的結(jié)構(gòu)類型、所述應(yīng)用需要存儲(chǔ)的數(shù)據(jù)的副本數(shù)量或所述應(yīng)用需要存儲(chǔ)的數(shù)據(jù)的校驗(yàn)方式。
102、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略包括緩存策略,所述緩存策略用于確定所述應(yīng)用從所述存儲(chǔ)系統(tǒng)讀取的數(shù)據(jù)以及所述讀取的數(shù)據(jù)的緩存方式,所述數(shù)據(jù)的緩存方式包括下述中的至少一項(xiàng):全緩存、部分緩存、預(yù)讀方式、寫數(shù)據(jù)時(shí)直通緩存或緩存的清理機(jī)制。
103、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略還包括分級(jí)存儲(chǔ)策略,所述分級(jí)存儲(chǔ)策略用于將所述應(yīng)用所訪問(wèn)的不同頻率的數(shù)據(jù)存儲(chǔ)在讀寫速度不同的存儲(chǔ)介質(zhì)中。
104、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的存儲(chǔ)策略還包括冗余策略,所述冗余策略用于確定所述應(yīng)用待寫入所述存儲(chǔ)系統(tǒng)的數(shù)據(jù)的備份方式和/或備份數(shù)量。
105、在一些可能的實(shí)現(xiàn)方式中,所述策略確定模塊還用于參考預(yù)先保存的參考策略,為所述應(yīng)用制定所述存儲(chǔ)策略。
106、在一些可能的實(shí)現(xiàn)方式中,所述應(yīng)用的信息是按照預(yù)設(shè)的格式和/或內(nèi)容進(jìn)行歸一化處理后的信息。
107、在一些可能的實(shí)現(xiàn)方式中,所述執(zhí)行所述存儲(chǔ)策略包括:在所述應(yīng)用發(fā)起讀寫請(qǐng)求前執(zhí)行所述存儲(chǔ)策略中的部分策略。
108、在一些可能的實(shí)現(xiàn)方式中,所述策略確定模塊還用于:
109、通過(guò)擴(kuò)展的接口從所述應(yīng)用獲取所述應(yīng)用的信息;或,
110、從所述應(yīng)用運(yùn)行的計(jì)算設(shè)備獲取經(jīng)過(guò)格式化處理的所述應(yīng)用的信息。
111、在一些可能的實(shí)現(xiàn)方式中,所述策略確定模塊通過(guò)擴(kuò)展的接口從所述應(yīng)用獲取所述應(yīng)用的信息包括下述方式之一:
112、通過(guò)擴(kuò)展的接口庫(kù)獲取應(yīng)用的信息;
113、通過(guò)專用的文件獲取所述應(yīng)用的信息,所述應(yīng)用或所述應(yīng)用對(duì)應(yīng)的調(diào)度器將所述應(yīng)用的信息寫入所述專用的文件中;
114、通過(guò)遠(yuǎn)程過(guò)程調(diào)用獲取所述應(yīng)用的信息;或,
115、通過(guò)表征狀態(tài)轉(zhuǎn)移restful獲取所述應(yīng)用的信息。
116、第四方面,本技術(shù)提供一種芯片,所述芯片用于執(zhí)行上述第一方面方法的步驟。或者,所述芯片用于實(shí)現(xiàn)上述第二方面所述處理器需要只給你的內(nèi)容,或上述第三方面所述應(yīng)用感知模塊、所述策略確定模塊和所述策略實(shí)施模塊的功能中一個(gè)或多個(gè)的功能。可選的,所述芯片包括處理器和芯片接口。所述處理器可以是cpu,微處理器,應(yīng)用專用集成電路(appl?icat?ion?specific?integrated?circui?t,asic)、現(xiàn)場(chǎng)可編程門陣列(fieldprogrammable?gate?array,fpga)等。
117、第五方面,本技術(shù)提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有指令,所述指令指示計(jì)算機(jī)設(shè)備執(zhí)行上述第一方面所述的方法。
118、第六方面,本技術(shù)提供了一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)設(shè)備上運(yùn)行時(shí),使得計(jì)算機(jī)設(shè)備執(zhí)行上述第一方面所述的方法。
119、本技術(shù)在上述各方面提供的實(shí)現(xiàn)方式的基礎(chǔ)上,還可以進(jìn)行進(jìn)一步組合以提供更多實(shí)現(xiàn)方式。