存儲系統(tǒng)中增強隨機數據讀寫性能的方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及存儲技術領域,更具體地說,涉及一種存儲系統(tǒng)中增強隨機數據讀寫性能的方法及裝置。
【背景技術】
[0002]全新的IT發(fā)展趨勢正在對存儲系統(tǒng)構成新的挑戰(zhàn)。業(yè)務分析和數據倉儲的使用量增加,大數據、服務器和桌面虛擬化的大力宣傳以及非結構化數據的急劇增長,不僅需要巨大的存儲容量,更重要的是存儲的性能,由于是非結構化隨機數據的讀寫對存儲系統(tǒng)的性能有著很大的挑戰(zhàn)。在目前傳統(tǒng)存儲中,當隨機數據寫入存儲系統(tǒng)緩存時,存儲系統(tǒng)會在一定的時間間隔內將寫入的數據直接刷寫到磁盤中,在該過程中并不會做任何處理。此時對存儲系統(tǒng)不僅會造成空間的浪費,也由于隨機數據的不連續(xù)性以及塊大小的不同導致磁盤不停改變磁道進行數據的讀寫,從而嚴重影響存儲的性能。
[0003]因此,如何在存儲系統(tǒng)中增強隨機數據讀寫性能,是現(xiàn)在需要解決的問題。
【發(fā)明內容】
[0004]本發(fā)明的目的在于提供一種存儲系統(tǒng)中增強隨機數據讀寫性能的方法及裝置,以在存儲系統(tǒng)中增強隨機數據讀寫性能。
[0005]為實現(xiàn)上述目的,本發(fā)明實施例提供了如下技術方案:
[0006]—種存儲系統(tǒng)中增強隨機數據讀寫性能的方法,包括:
[0007]接收待寫入存儲緩存的隨機數據,并獲取每個隨機數據的詳細信息;其中,所述詳細信息包括每個隨機數據的數據大小信息;
[0008]根據所述隨機數據的詳細信息,將多個隨機數據按寫入順序整合形成預定大小的長數據;
[0009]將所述長數據一次性寫入底層磁盤中,并將與所述長數據相對應的元數據寫入固態(tài)硬盤中;其中,所述長數據的大小與所述底層磁盤的條帶深度相同。
[0010]優(yōu)選的,將所述長數據一次性刷入底層磁盤之前,還包括:
[0011]檢測待刷入所述底層磁盤的長數據的大小是否等于預定閾值;
[0012]若是,則執(zhí)行將所述長數據一次性刷入底層磁盤的步驟;若否,則根據重新對所述長數據進行整合,直至整合后的長數據的大小等于預定閾值。
[0013]優(yōu)選的,將與所述長數據相對應的元數據寫入固態(tài)硬盤中之后,還包括:
[0014]將隨機數據中的熱點數據備份至所述固態(tài)硬盤中。
[0015]優(yōu)選的,檢測待刷入所述底層磁盤的長數據的大小是否等于預定閾值,包括:
[0016]檢測待刷入所述底層磁盤的長數據的大小是否等于6M。
[0017]優(yōu)選的,還包括:
[0018]接收隨機數據讀取指令;
[0019]從所述固態(tài)硬盤中獲取與待讀取的隨機數據相對應的元數據;
[0020]根據所述與待讀取的隨機數據相對應的元數據,從所述底層磁盤中讀取相應的隨機數據。
[0021]—種存儲系統(tǒng)中增強隨機數據讀寫性能的裝置,包括:
[0022]接收模塊,用于接收待寫入存儲緩存的隨機數據;
[0023]獲取模塊,用于獲取每個隨機數據的詳細信息;其中,所述詳細信息包括每個隨機數據的數據大小信息;
[0024]整合模塊,用于根據所述隨機數據的詳細信息,將多個隨機數據按寫入順序整合形成預定大小的長數據;
[0025]長輸入寫入模塊,用于將所述長數據一次性寫入底層磁盤中;
[0026]元數據寫入模塊,用于將與所述長數據相對應的元數據寫入固態(tài)硬盤中;其中,所述長數據的大小與所述底層磁盤的條帶深度相同。
[0027]優(yōu)選的,還包括:
[0028]檢測模塊,用于在所述長輸入寫入模塊將所述長數據一次性刷入底層磁盤之前,檢測待刷入所述底層磁盤的長數據的大小是否等于預定閾值;
[0029]若是,則觸發(fā)所述長輸入寫入模塊;若否,則觸發(fā)所述整合模塊,根據重新對所述長數據進行整合,直至整合后的長數據的大小等于預定閾值。
[0030]優(yōu)選的,還包括:
[0031]備份模塊,用于將隨機數據中的熱點數據備份至所述固態(tài)硬盤中。
[0032]優(yōu)選的,所述檢測模塊具體用于:
[0033]檢測待刷入所述底層磁盤的長數據的大小是否等于6M。
[0034]優(yōu)選的,還包括:
[0035]指令接收模塊,用于接收隨機數據讀取指令;
[0036]元數據獲取模塊,用于從所述固態(tài)硬盤中獲取與待讀取的隨機數據相對應的元數據;
[0037]隨機數據獲取模塊,用于根據所述與待讀取的隨機數據相對應的元數據,從所述底層磁盤中讀取相應的隨機數據。
[0038]通過以上方案可知,本發(fā)明實施例提供的一種存儲系統(tǒng)中增強隨機數據讀寫性能的方法及裝置,包括:接收待寫入存儲緩存的隨機數據,并獲取每個隨機數據的詳細信息;其中,所述詳細信息包括每個隨機數據的數據大小信息;根據所述隨機數據的詳細信息,將多個隨機數據按寫入順序整合形成預定大小的長數據;將所述長數據一次性寫入底層磁盤中,并將與所述長數據相對應的元數據寫入固態(tài)硬盤中;其中,所述長數據的大小與所述底層磁盤的條帶深度相同,可見,在本實施例中,通過對寫入存儲緩存的隨機數據進行整理,將不同塊大小的隨機數據合成固定大小的連續(xù)的數據,將元數據寫入到固態(tài)硬盤中,同時將整理的長數據寫入到磁盤中,提升了隨機數據的讀性能,并且由于長數據的大小于底層磁盤的條帶深度相同,從而節(jié)省了數據空間。
【附圖說明】
[0039]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0040]圖1為本發(fā)明實施例公開的一種存儲系統(tǒng)中增強隨機數據讀寫性能的方法;
[0041]圖2為本發(fā)明實施例公開的一種存儲系統(tǒng)中增強隨機數據讀寫性能的裝置。
【具體實施方式】
[0042]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0043]本發(fā)明實施例公開了一種存儲系統(tǒng)中增強隨機數據讀寫性能的方法及裝置,以在存儲系統(tǒng)中增強隨機數據讀寫性能。
[0044]參見圖1,本發(fā)明實施例提供的一種存儲系統(tǒng)中增強隨機數據讀寫性能的方法,包括:
[0045]S101、接收待寫入存儲緩存的隨機數據,并獲取每個隨機數據的詳細信息;其中,所述詳細信息包括每個隨機數據的數據大小信息;
[0046]具體的,接收的待寫入存儲緩存的隨機數據都是大小長度不同的數據,因此在將隨機數據寫入之前,要獲取每個隨機數據的數據大小信息。
[0047]S102、根據所述隨機數據的詳細信息,將多個隨機數據按寫入順序整合形成預定大小的長數據;
[0048]其中,將所述長數據一次性刷入底層磁盤之前,還包括:
[0049]檢測待刷入所述底層磁盤的長數據的大小是否等于預定閾值;
[0050]具體的,本實施例中的預定閾值可以為6M。
[0051 ]若是,則執(zhí)行將所述長數據一次性刷入底層磁盤的步驟;若否,則根據重新對所述長數據進行整合,直至整合后的長數據的大小等于預定閾值。
[0052]具體的,在本實施例中,只有當整合后的數據等于預定閾值時才將長數據寫入磁盤,在本實施例中要求底層磁盤的RAID組創(chuàng)建時條帶需要劃分為521K,且要求RAID包含12塊磁盤,這樣RAID組的條帶深度正好與長數據塊的大小相同,數據可以一次性寫入。
[0053]S103、將所述長數據一次性寫入底層磁盤中,并將與所述長數據相對應的元數據寫入固態(tài)硬盤中;其中,所述長數據的大小與所述底層磁盤的條帶深度相同。
[0054]其中,本方法還包括:
[0055]接收隨機數據讀取指令;
[0056]從所述固態(tài)硬盤中獲取與待讀取的隨機數據相對應的元數據;
[0057]根據所述與待讀取的隨機數據相對應的元數據,從所述底層磁盤中讀取相應的隨機數據。
[0058]具體的,在本實施例中,若前端應用需要讀數據時,系統(tǒng)會根據SSD,即固態(tài)硬盤中的元數據快速定位到數據塊的位置,將數據讀出,增強了隨機數據的讀性能。并且將與所述長數據相對應的元數據寫入固態(tài)硬盤中之后,還包括將隨機數