錄像視頻文件時(shí),首先向RAID卡發(fā)起錄像視頻文件讀取請(qǐng)求,RAID卡計(jì)算定位錄像視頻文件在磁盤陣列中所在位置,并向磁盤陣列發(fā)起讀取請(qǐng)求,根據(jù)讀取請(qǐng)求,讀取錄像視頻文件。由于在對(duì)元數(shù)據(jù)的讀取時(shí),無需對(duì)存放錄像視頻文件的磁盤陣列進(jìn)行訪問,只需對(duì)存儲(chǔ)元數(shù)據(jù)的系統(tǒng)磁盤進(jìn)行訪問。沒有索引文件等元數(shù)據(jù)的干擾,可大幅降低磁盤陣列的碎片,從而通過上述對(duì)錄像視頻文件讀取的過程對(duì)錄像視頻文件進(jìn)行讀取,可提高錄像視頻文件讀取效率。
[0075]在需要進(jìn)行錄像視頻文件寫入時(shí),通過RAID卡將錄像視頻文件,即首先向RAID卡發(fā)送錄像視頻文件寫請(qǐng)求,根據(jù)錄像視頻文件寫請(qǐng)求,向磁盤陣列發(fā)送寫請(qǐng)求,根據(jù)響應(yīng)所述寫請(qǐng)求生成的寫執(zhí)行指令,寫入數(shù)據(jù)文件,即完成錄像視頻文件寫入磁盤陣列。由于存儲(chǔ)元數(shù)據(jù)的系統(tǒng)磁盤與存儲(chǔ)錄像視頻文件的磁盤陣列分開,在進(jìn)行元數(shù)據(jù)寫入時(shí),無需對(duì)存放錄像視頻文件的磁盤陣列進(jìn)行訪問,沒有索引文件等元數(shù)據(jù)的干擾,可減少對(duì)錄像視頻文件寫操作的干預(yù),從而通過上述錄像視頻文件寫入過程對(duì)錄像視頻文件進(jìn)行寫入,可提高錄像視頻文件的寫入速率。
[0076]為了確保媒體數(shù)據(jù)的可靠性,對(duì)元數(shù)據(jù)和錄像視頻文件進(jìn)行備份處理。在實(shí)際應(yīng)用中,錄像視頻文件有可能會(huì)損壞,可通過根據(jù)錄像視頻文件的備份,對(duì)錄像視頻文件進(jìn)行恢復(fù)的同時(shí),根據(jù)元數(shù)據(jù)的備份,恢復(fù)元數(shù)據(jù),從而使恢復(fù)的媒體數(shù)據(jù)有效。
[0077]綜上所述,通過上述數(shù)據(jù)管理方法進(jìn)行媒體數(shù)據(jù)管理時(shí),可有效減小磁盤陣列的碎片,提高錄像視頻文件的讀寫效率以及磁盤陣列的使用壽命,從而提高系統(tǒng)性能。
[0078]請(qǐng)參閱圖10,本發(fā)明還提供一種實(shí)施方式的數(shù)據(jù)管理系統(tǒng),包括:
[0079]分區(qū)模塊100,用于對(duì)系統(tǒng)磁盤進(jìn)行分區(qū),劃分單獨(dú)存儲(chǔ)分區(qū)。
[0080]系統(tǒng)磁盤是指操作系統(tǒng)運(yùn)行盤,元數(shù)據(jù)為描述數(shù)據(jù)的數(shù)據(jù),主要是描述數(shù)據(jù)屬性的信息,用來支持如指示存儲(chǔ)位置、歷史數(shù)據(jù)、資源查找、文件記錄等功能。在實(shí)際操作過程中,提供服務(wù)器,首先對(duì)服務(wù)器的系統(tǒng)磁盤進(jìn)行分區(qū),為存儲(chǔ)元數(shù)據(jù)提供單獨(dú)存儲(chǔ)分區(qū),即將元數(shù)據(jù)存儲(chǔ)在服務(wù)器的系統(tǒng)磁盤上,并提供單獨(dú)的分區(qū)。例如,在系統(tǒng)磁盤中劃出200G的存儲(chǔ)空間作為索引文件分區(qū),即為元數(shù)據(jù)在系統(tǒng)磁盤中劃分出了單獨(dú)存儲(chǔ)分區(qū)。
[0081]設(shè)置模塊200,用于設(shè)置與單獨(dú)存儲(chǔ)分區(qū)相對(duì)獨(dú)立的磁盤陣列。
[0082]為存儲(chǔ)數(shù)據(jù)文件,設(shè)置磁盤陣列,服務(wù)器由主機(jī)和磁盤陣列兩部分構(gòu)成,主機(jī)與磁盤陣列連接,磁盤陣列與系統(tǒng)磁盤是相對(duì)獨(dú)立的,從而磁盤陣列與存儲(chǔ)元數(shù)據(jù)的單獨(dú)存儲(chǔ)分區(qū)是獨(dú)立分開的。
[0083]分離模塊300,用于將待存儲(chǔ)數(shù)據(jù)分離為元數(shù)據(jù)與數(shù)據(jù)文件。
[0084]待存儲(chǔ)數(shù)據(jù)是包括元數(shù)據(jù)和數(shù)據(jù)文件的,數(shù)據(jù)在實(shí)際傳送過程中,包括元數(shù)據(jù)和數(shù)據(jù)文件的傳送,由于為元數(shù)據(jù)和數(shù)據(jù)文件提供的存儲(chǔ)空間是分開獨(dú)立的,從而需要對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行分離得到元數(shù)據(jù)和數(shù)據(jù)文件。
[0085]存儲(chǔ)模塊400,用于將元數(shù)據(jù)存儲(chǔ)于單獨(dú)存儲(chǔ)分區(qū),將數(shù)據(jù)文件存儲(chǔ)于磁盤陣列。
[0086]對(duì)元數(shù)據(jù)和數(shù)據(jù)文件進(jìn)行分離后,將元數(shù)據(jù)和數(shù)據(jù)文件分別存儲(chǔ)到系統(tǒng)磁盤和磁盤陣列中,實(shí)現(xiàn)元數(shù)據(jù)和數(shù)據(jù)文件的分開存儲(chǔ)。
[0087]上述數(shù)據(jù)管理系統(tǒng),將待存儲(chǔ)數(shù)據(jù)分離為元數(shù)據(jù)與數(shù)據(jù)文件,將元數(shù)據(jù)存儲(chǔ)于單獨(dú)存儲(chǔ)分區(qū),將數(shù)據(jù)文件存儲(chǔ)于與單獨(dú)存儲(chǔ)分區(qū)相對(duì)獨(dú)立的磁盤陣列,元數(shù)據(jù)和數(shù)據(jù)文件的分開存儲(chǔ)。從而對(duì)元數(shù)據(jù)進(jìn)行讀取時(shí),無需通過RAID卡向磁盤陣列發(fā)送讀寫請(qǐng)求,而是通過直接向系統(tǒng)磁盤發(fā)送元數(shù)據(jù)讀寫請(qǐng)求,減少寫懲罰,根據(jù)元數(shù)據(jù)讀寫請(qǐng)求,進(jìn)行元數(shù)據(jù)的讀寫。由于存儲(chǔ)元數(shù)據(jù)的系統(tǒng)磁盤與存儲(chǔ)數(shù)據(jù)文件的磁盤陣列是獨(dú)立分開的,不但降低了磁盤陣列對(duì)元數(shù)據(jù)的存儲(chǔ)壓力,而且對(duì)元數(shù)據(jù)讀寫時(shí),無需對(duì)存儲(chǔ)數(shù)據(jù)文件的磁盤陣列進(jìn)行訪問,直接訪問存儲(chǔ)元數(shù)據(jù)的系統(tǒng)磁盤即可,沒有索引文件等元數(shù)據(jù)的干擾,可大幅降低磁盤陣列的碎片,對(duì)數(shù)據(jù)文件讀寫效率和磁盤陣列使用壽命均有明顯提升,有利于磁盤陣列保護(hù)。
[0088]請(qǐng)參閱圖11,在其中一個(gè)實(shí)施例中,分離模塊300包括:
[0089]第一獲取模塊310,用于提取待存儲(chǔ)數(shù)據(jù)的前16個(gè)字節(jié),獲得元數(shù)據(jù);
[0090]第二獲取模塊320,用于提取待存儲(chǔ)數(shù)據(jù)的除前16個(gè)字節(jié)的剩余字節(jié),獲取數(shù)據(jù)文件。
[0091]待存儲(chǔ)數(shù)據(jù)的前16個(gè)字節(jié)為元數(shù)據(jù)描述信息,在存入數(shù)據(jù)時(shí),會(huì)將待存儲(chǔ)數(shù)據(jù)前16個(gè)字節(jié)讀出后以索引文件的形式寫入系統(tǒng)磁盤中存儲(chǔ)元數(shù)據(jù)的單獨(dú)存儲(chǔ)分區(qū)。待存儲(chǔ)數(shù)據(jù)的其余字節(jié)為數(shù)據(jù)文件描述信息,將待存儲(chǔ)數(shù)據(jù)的其余字節(jié)文件寫入存儲(chǔ)數(shù)據(jù)文件的磁盤陣列中。
[0092]請(qǐng)參閱圖12,在其中一個(gè)實(shí)施例中,上述數(shù)據(jù)管理系統(tǒng)還包括:
[0093]第一發(fā)送模塊500,用于向系統(tǒng)磁盤發(fā)送元數(shù)據(jù)讀取請(qǐng)求。
[0094]數(shù)據(jù)管理系統(tǒng)直接維護(hù)系統(tǒng)磁盤中的元數(shù)據(jù),元數(shù)據(jù)存儲(chǔ)在系統(tǒng)磁盤上,從而在需要讀取元數(shù)據(jù)時(shí),可直接向系統(tǒng)磁盤發(fā)起元數(shù)據(jù)讀取請(qǐng)求。
[0095]第一讀取模塊600,用于根據(jù)元數(shù)據(jù)讀取請(qǐng)求,讀取元數(shù)據(jù)。
[0096]元數(shù)據(jù)保存在服務(wù)器的系統(tǒng)磁盤上,并單獨(dú)分區(qū),而數(shù)據(jù)文件存放在磁盤陣列上。在進(jìn)行元數(shù)據(jù)的讀取時(shí),無需對(duì)存放數(shù)據(jù)文件的磁盤陣列進(jìn)行訪問,只需對(duì)存儲(chǔ)元數(shù)據(jù)的系統(tǒng)磁盤進(jìn)行訪問。沒有索引文件等元數(shù)據(jù)的干擾,可大幅降低磁盤陣列的碎片,對(duì)數(shù)據(jù)文件讀取效率和磁盤陣列使用壽命均有明顯提升,有利于磁盤陣列保護(hù)。系統(tǒng)磁盤讀取元數(shù)據(jù)后,將元數(shù)據(jù)發(fā)送,當(dāng)接收到系統(tǒng)磁盤發(fā)送的元數(shù)據(jù)時(shí),表示讀取元數(shù)據(jù)成功。
[0097]在其中一個(gè)實(shí)施例中,上述數(shù)據(jù)管理系統(tǒng)還包括第一寫入模塊700:
[0098]第一發(fā)送模塊500,還用于向系統(tǒng)磁盤發(fā)送元數(shù)據(jù)寫請(qǐng)求。
[0099]當(dāng)有元數(shù)據(jù)需要寫入系統(tǒng)磁盤時(shí),向系統(tǒng)磁盤發(fā)送元數(shù)據(jù)寫請(qǐng)求。
[0100]第一寫入模塊700,用于根據(jù)響應(yīng)所述元數(shù)據(jù)寫請(qǐng)求生成的寫入執(zhí)行指令,寫入元數(shù)據(jù)。
[0101]當(dāng)需要寫入元數(shù)據(jù)時(shí),文件系統(tǒng)向系統(tǒng)磁盤發(fā)送元數(shù)據(jù)寫請(qǐng)求,元數(shù)據(jù)寫請(qǐng)求包括寫入地址和待寫入元數(shù)據(jù),存儲(chǔ)設(shè)備中存儲(chǔ)單元對(duì)應(yīng)實(shí)際地址稱為物理地址,即單獨(dú)存儲(chǔ)分區(qū)對(duì)應(yīng)的實(shí)際地址,是與寫入地址對(duì)應(yīng)的。根據(jù)元數(shù)據(jù)寫請(qǐng)求攜帶的寫入地址,尋找單獨(dú)存儲(chǔ)分區(qū)中與寫入地址對(duì)應(yīng)的物理地址,生成寫入執(zhí)行指令,根據(jù)寫入執(zhí)行指令,將元數(shù)據(jù)請(qǐng)求中攜帶的待寫入元數(shù)據(jù)寫入到該物理地址中,完成待寫入元數(shù)據(jù)的寫入。由于存儲(chǔ)元數(shù)據(jù)的系統(tǒng)磁盤與存儲(chǔ)數(shù)據(jù)文件的磁盤陣列分開,在進(jìn)行元數(shù)據(jù)寫入時(shí),無需對(duì)存放數(shù)據(jù)文件的磁盤陣列進(jìn)行訪問,從而對(duì)磁盤陣列無寫懲罰,沒有小I/o寫到磁盤陣列中,都是整塊的數(shù)據(jù)文件寫入到磁盤陣列中,大數(shù)據(jù)文件讀寫I/o性能提高50%以上。且通過上述數(shù)據(jù)管理方法對(duì)元數(shù)據(jù)寫入時(shí),沒有索引文件等元數(shù)據(jù)的干擾,可減少對(duì)數(shù)據(jù)文件寫操作的干預(yù),提高數(shù)據(jù)文件的寫入速率,整塊數(shù)據(jù)文件的寫入相比小文件寫入,可以大幅降低磁盤碎片,有利于磁盤保護(hù)。
[0102]請(qǐng)參閱圖13,在其中一個(gè)實(shí)施例中,上述數(shù)據(jù)管理系統(tǒng)還包括:
[0103]第二發(fā)送模塊800,用于向RAID