一種數(shù)據(jù)處理方法、裝置和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及業(yè)務(wù)支撐技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法、裝置和系統(tǒng)
【背景技術(shù)】
[0002]獨立磁盤冗余陣列(RedundantArrays of Inexpensive Disks, RAID)簡稱磁盤陣列,是由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數(shù)據(jù)所產(chǎn)生加成效果提升整個磁盤系統(tǒng)效能。利用這項技術(shù),將數(shù)據(jù)切割成許多區(qū)段,分別存放在各個磁盤上。
[0003]除此之外,一般的磁盤陣列都具有數(shù)據(jù)校驗功能,其中數(shù)據(jù)校驗功能是在本地數(shù)據(jù)發(fā)生損壞后,利用校驗信息可以使損壞的數(shù)據(jù)得以恢復,從而保證本地數(shù)據(jù)的安全性。
[0004]目前校驗信息和本地數(shù)據(jù)都是存儲在本地磁盤中,這樣就會大量浪費本地存儲空間。比如在大規(guī)模并行處理計算機(Massive Parallel Processing,MPP)數(shù)據(jù)庫集群系統(tǒng)中,如果采用四個磁盤的RAID5,那么校驗信息要占總存儲空間的四分之一。如果說需要存放300T的數(shù)據(jù),那么本地集群需要有400T的存儲空間。假如說每個磁盤可以存儲IT的數(shù)據(jù),那么就需要400個磁盤來滿足要求。但是MPP數(shù)據(jù)庫同時對磁盤的數(shù)量有嚴格的要求,如果說此MPP數(shù)據(jù)庫超過300個磁盤集群的性能會嚴重下降或者說機柜只能放置300個磁盤,此時400個磁盤的話就不得不采用兩個集群,這樣集群的性能也會造成很嚴重的影響。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種數(shù)據(jù)處理方法、裝置和系統(tǒng),用以解決現(xiàn)有技術(shù)中本地磁盤陣列的磁盤利用率較低的問題。
[0006]本發(fā)明實施例采用以下技術(shù)方案:
[0007]本發(fā)明實施例提供了一種數(shù)據(jù)處理方法,包括:
[0008]本地獨立磁盤冗余陣列RAID卡向下掛的本地磁盤陣列中的第一本地磁盤寫入數(shù)據(jù)后,讀取用于計算所述第一本地磁盤的校驗信息的全部數(shù)據(jù);
[0009]按照預先設(shè)置的校驗算法對讀取的全部數(shù)據(jù)進行校驗計算,生成第一校驗信息;
[0010]將所述第一校驗信息發(fā)送給網(wǎng)絡(luò)RAID卡,指示所述網(wǎng)絡(luò)RAID卡將所述第一校驗信息存儲在其下掛的網(wǎng)絡(luò)磁盤陣列中;其中,所述本地RAID卡和所述網(wǎng)絡(luò)RAID卡位于同一局域網(wǎng)中的不同存儲設(shè)備中。
[0011]可選的,將所述第一校驗信息發(fā)送給網(wǎng)絡(luò)RAID卡之前,所述方法還包括:
[0012]根據(jù)預先設(shè)置的所述本地磁盤陣列中的本地磁盤和所述網(wǎng)絡(luò)磁盤陣列中的網(wǎng)絡(luò)磁盤之間的映射關(guān)系,確定所述第一本地磁盤對應(yīng)的第一網(wǎng)絡(luò)磁盤;則
[0013]將所述第一校驗信息發(fā)送給所述網(wǎng)絡(luò)RAID卡,指示所述網(wǎng)絡(luò)RAID卡將所述第一校驗信息存儲在其下掛的網(wǎng)絡(luò)磁盤陣列中,具體包括:
[0014]將所述第一校驗信息和所述第一網(wǎng)絡(luò)磁盤的標識發(fā)送給所述網(wǎng)絡(luò)RAID卡,指示所述網(wǎng)絡(luò)RAID卡根據(jù)所述第一校驗信息對所述第一網(wǎng)絡(luò)磁盤進行更新。
[0015]可選的,所述方法還包括:
[0016]當所述本地磁盤陣列中的第二本地磁盤存儲的數(shù)據(jù)損壞時,根據(jù)所述映射關(guān)系,確定所述第二本地磁盤對應(yīng)的第二網(wǎng)絡(luò)磁盤;
[0017]向所述網(wǎng)絡(luò)RAID卡發(fā)送獲取請求,所述獲取請求中攜帶所述第二網(wǎng)絡(luò)磁盤的磁盤標識,以便所述網(wǎng)絡(luò)RAID卡能夠從所述第二網(wǎng)絡(luò)磁盤中獲取第二校驗信息并發(fā)送給所述本地RAID卡;
[0018]接收所述網(wǎng)絡(luò)RAID卡發(fā)送的所述第二校驗信息;
[0019]按照所述校驗算法,對所述第二校驗信息和預先讀取的用于計算所述第二本地磁盤對應(yīng)的校驗信息的全部數(shù)據(jù)進行計算,并利用計算得到的數(shù)據(jù)對所述第二本地磁盤進行恢復。
[0020]可選的,所述方法還包括:
[0021]當所述本地RAID卡的IP地址發(fā)生變化時,所述本地RAID卡向所述網(wǎng)絡(luò)RAID卡發(fā)送第一地址變化通知消息,所述第一地址變化通知消息中攜帶所述本地RAID卡變化后的IP地址,以便所述網(wǎng)絡(luò)RAID卡能夠根據(jù)所述本地RAID卡變化后的IP地址與所述本地RAID卡進行通信。
[0022]可選的,所述本地RAID卡中預先存儲所述網(wǎng)絡(luò)RAID卡的IP地址;則
[0023]所述方法還包括:
[0024]所述本地RAID卡接收所述網(wǎng)絡(luò)RAID卡發(fā)送的第二地址變化通知消息,所述第二地址變化通知消息中攜帶所述網(wǎng)絡(luò)RAID卡變化后的IP地址;
[0025]根據(jù)所述網(wǎng)絡(luò)RAID卡變化后的IP地址,對預先存儲的所述網(wǎng)絡(luò)RAID卡的IP地址進行更新,以便能夠根據(jù)所述網(wǎng)絡(luò)RAID卡變化后的IP地址與所述網(wǎng)絡(luò)RAID卡進行通信。
[0026]本發(fā)明實施例還提供了一種本地獨立磁盤冗余陣列RAID卡,所述本地RAID卡和網(wǎng)絡(luò)RAID卡位于同一局域網(wǎng)中的不同存儲設(shè)備中,其中,所述本地RAID卡包括:
[0027]讀取單元,用于向下掛的本地磁盤陣列中的第一本地磁盤寫入數(shù)據(jù)后,讀取用于計算所述第一本地磁盤的校驗信息的全部數(shù)據(jù);
[0028]第一校驗信息生成單元,用于按照預先設(shè)置的校驗算法對讀取單元讀取的全部數(shù)據(jù)進行校驗計算,生成第一校驗信息;
[0029]第一校驗信息發(fā)送單元,用于將第一校驗信息生成單元生成的第一校驗信息發(fā)送給所述網(wǎng)絡(luò)RAID卡,指示所述網(wǎng)絡(luò)RAID卡將所述第一校驗信息存儲在其下掛的網(wǎng)絡(luò)磁盤陣列中。
[0030]可選的,所述本地RAID卡還包括:
[0031]第一網(wǎng)絡(luò)磁盤確定單元,用于根據(jù)預先設(shè)置的所述本地磁盤陣列中的本地磁盤和所述網(wǎng)絡(luò)磁盤陣列中的網(wǎng)絡(luò)磁盤之間的映射關(guān)系,確定所述第一本地磁盤對應(yīng)的第一網(wǎng)絡(luò)磁盤;則
[0032]所述第一校驗信息發(fā)送單元,具體用于:
[0033]將第一校驗信息生成單元生成的第一校驗信息和第一網(wǎng)絡(luò)磁盤確定單元確定的第一網(wǎng)絡(luò)磁盤的標識發(fā)送給所述網(wǎng)絡(luò)RAID卡,指示所述網(wǎng)絡(luò)RAID卡根據(jù)所述第一校驗信息對所述第一網(wǎng)絡(luò)磁盤進行更新。
[0034]可選的,所述本地RAID卡還包括:
[0035]第二網(wǎng)絡(luò)磁盤確定單元,用于當所述本地磁盤陣列中的第二本地磁盤存儲的數(shù)據(jù)損壞時,根據(jù)所述映射關(guān)系,確定所述第二本地磁盤對應(yīng)的第二網(wǎng)絡(luò)磁盤;
[0036]獲取請求發(fā)送單元,用于向所述網(wǎng)絡(luò)RAID卡發(fā)送獲取請求,所述獲取請求中攜帶第二網(wǎng)絡(luò)磁盤確定單元確定出的第二網(wǎng)絡(luò)磁盤的磁盤標識,以便所述網(wǎng)絡(luò)RAID卡能夠從所述第二網(wǎng)絡(luò)磁盤中獲取第二校驗信息并發(fā)送給所述本地RAID卡;
[0037]第二校驗信息接收單元,用于接收所述網(wǎng)絡(luò)RAID卡發(fā)送的所述第二校驗信息;
[0038]恢復單元,用于按照所述校驗算法,對第二校驗信息接收單元接收到的第二校驗信息和預先讀取的與所述第二本地磁盤位于同一帶區(qū)的其它本地磁盤中存儲的全部數(shù)據(jù)進行計算,并利用計算得到的數(shù)據(jù)對所述第二本地磁盤進行恢復。
[0039]可選的,所述本地RAID卡還包括:
[0040]第一地址變化通知消息發(fā)送單元,用于當所述本地RAID卡的IP地址發(fā)生變化時,向所述網(wǎng)絡(luò)RAID卡發(fā)送第一地址變化通知消息,所述第一地址變化通知消息中攜帶所述本地RAID卡變化后的IP地址,以便所述網(wǎng)絡(luò)RAID卡能夠根據(jù)所述本地RAID卡變化后的IP地址與所述本地RAID卡進行通信。
[0041]可選的,所述本地RAID卡還包括:
[0042]IP地址存儲單元,用于預先存儲所述網(wǎng)絡(luò)RAID卡的IP地址;則
[0043]所述本地RAID卡還包括:
[0044]第二地址變化通知消息接收單元,用于接收所述網(wǎng)絡(luò)RAID卡發(fā)送的第二地址變化通知消息,所述第二地址變化通知消息中攜帶所述網(wǎng)絡(luò)RAID卡變化后的IP地址;
[0045]IP地址更新單元,用于根據(jù)第二地址變化通知消息接收單元接收到的所述網(wǎng)絡(luò)RAID卡變化后的IP地址,對IP地址存儲單元中預先存儲的所述網(wǎng)絡(luò)RAID卡的IP地址進行更新,以便能夠根據(jù)所述網(wǎng)絡(luò)RAID卡變化后的IP地址與所述網(wǎng)絡(luò)RAID卡進行通信。
[0046]本發(fā)明實施例還提供了一種數(shù)據(jù)處理系統(tǒng),包括:位于同一局域網(wǎng)中的不同存儲設(shè)備中的本地獨立磁盤冗余陣列RAID卡和網(wǎng)絡(luò)RAID卡,所述本地RAID卡下掛本地磁盤陣列,所述網(wǎng)絡(luò)RAID卡下掛網(wǎng)絡(luò)磁盤陣列,其中:
[0047]所述本地RAID卡,用于向下掛的本地磁盤陣列中的第一本地磁盤寫入數(shù)據(jù)后,讀取用于計算所述第一本地磁盤的校驗信息的全部數(shù)據(jù);按照預先設(shè)置的校驗算法對讀取的全部數(shù)據(jù)進行校驗計算,生成第一校驗信息;將所述第一校驗信息發(fā)送給所述網(wǎng)絡(luò)RAID卡,指示所述網(wǎng)絡(luò)RAID卡將所述第一校驗信息存儲在其下掛的網(wǎng)絡(luò)磁盤陣列中;
[0048]所述網(wǎng)絡(luò)RAID卡,用于接收所述第一校驗信息;并將所述第一校驗信息存儲在其下掛的網(wǎng)絡(luò)磁盤陣列中。
[0049]本發(fā)明實施例的有益效果如下:
[0050]本技術(shù)方案與現(xiàn)有技術(shù)相比,不再是將本地數(shù)據(jù)和校驗信息同時存儲在本地磁盤中,而是將校驗信息存儲在與本地磁盤位于同一局域網(wǎng)的網(wǎng)絡(luò)磁盤上,使得本地磁盤全都用來存儲本地數(shù)據(jù),從而大大減少了本地存儲空間的浪費,最大限度的提高了本地磁盤的利用率。
【附圖說明】
[0051]圖1為本發(fā)明實施例提供的一種數(shù)據(jù)處理方法的實現(xiàn)流程圖;
[0052]圖2為本發(fā)明實施例提供的一種數(shù)據(jù)恢復方法的具體實現(xiàn)流程圖;
[0053]圖3為本發(fā)明實施例提供的用于實現(xiàn)數(shù)據(jù)處理方法的系統(tǒng)架構(gòu)圖;
[0054]圖4為