一種海量數(shù)據(jù)快速存儲的方法和裝置的制造方法
【技術(shù)領域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)術(shù)領域,尤其涉及一種海量數(shù)據(jù)快速存儲的方法和裝置。
【背景技術(shù)】
[0002]隨著信息社會的發(fā)展和互聯(lián)網(wǎng)的大規(guī)模普及,互聯(lián)網(wǎng)產(chǎn)生的瞬時數(shù)據(jù)越來越多。從互聯(lián)網(wǎng)快速發(fā)展趨勢來看,一方面,對數(shù)據(jù)存儲的需求越來越大,對存儲速度要求越來越快;另一方面,對數(shù)據(jù)的快速檢索提出了更高的要求。現(xiàn)有的傳統(tǒng)數(shù)據(jù)存儲方式和檢索方式效率低下,無法滿足對互聯(lián)網(wǎng)瞬時海量數(shù)據(jù)進行快速存儲與快速檢索的要求。目前,對于這個問題,一種解決方案是結(jié)構(gòu)化存儲,即數(shù)據(jù)庫存儲,這種方式的缺點是當數(shù)據(jù)量達到海量并且包含圖片、視頻等非結(jié)構(gòu)化數(shù)據(jù)時,存儲和查詢的效率低下。另一種解決方案是非結(jié)構(gòu)化存儲,即 SAN( Storage Area Network,網(wǎng)絡區(qū)域存儲)或NAS(Network AttachedStorage,網(wǎng)絡連接式存儲);SAN存儲的缺點是:成本高,不適合大規(guī)模存儲系統(tǒng),數(shù)據(jù)共享性不好,無法支持多用戶文件共享;NAS存儲的缺點是:共享網(wǎng)絡帶寬,并發(fā)性能差,隨著系統(tǒng)的擴展,性能會進一步下降,無論是查詢簡單的列表數(shù)據(jù)還是視頻、圖片等非結(jié)構(gòu)化數(shù)據(jù),都需要遍歷文件服務器,查詢效率低下。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問題是,提供一種海量數(shù)據(jù)快速存儲的方法和裝置,提高了海量數(shù)據(jù)的存儲效率,降低了海量數(shù)據(jù)的維護成本,并提高了海量數(shù)據(jù)的檢索速度。
[0004]本發(fā)明采用的技術(shù)方案是,所述海量數(shù)據(jù)快速存儲的方法,包括:
[0005]步驟1:針對網(wǎng)絡中實時獲取的數(shù)據(jù)包,將所述數(shù)據(jù)包中的結(jié)構(gòu)化數(shù)據(jù)存儲為結(jié)構(gòu)文件,將所述數(shù)據(jù)包中與所述結(jié)構(gòu)化數(shù)據(jù)相關(guān)聯(lián)的非結(jié)構(gòu)化數(shù)據(jù)存儲為壓縮文件,并將所述結(jié)構(gòu)文件和所述壓縮文件分別存儲到指定的存儲目錄中;
[0006]步驟2:按照設定的第一時間間隔,定期對所述存儲目錄進行檢查,將所述存儲目錄中的結(jié)構(gòu)文件迀移到結(jié)構(gòu)化數(shù)據(jù)庫中,將所述存儲目錄中的壓縮文件迀移到非結(jié)構(gòu)化數(shù)據(jù)庫中;
[0007]步驟3:將結(jié)構(gòu)化數(shù)據(jù)庫中的結(jié)構(gòu)文件存儲到數(shù)據(jù)庫服務器中;將非結(jié)構(gòu)化數(shù)據(jù)庫中的壓縮文件分別對應的存儲到不同的非結(jié)構(gòu)化服務器中;并將所述各壓縮文件在非結(jié)構(gòu)化服務器中的存儲地址存儲到數(shù)據(jù)庫服務器中。
[0008]進一步的,所述步驟I,包括:
[0009]步驟11:針對網(wǎng)絡中實時獲取的數(shù)據(jù)包,對所述數(shù)據(jù)包進行解析,通過分析所述數(shù)據(jù)包的包頭獲得所述數(shù)據(jù)包的協(xié)議類型與協(xié)議參數(shù);
[0010]步驟12:根據(jù)所述數(shù)據(jù)包的協(xié)議類型與協(xié)議參數(shù),將所述數(shù)據(jù)包中的數(shù)據(jù)分解為結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù);
[0011]步驟13:將所述數(shù)據(jù)包中的結(jié)構(gòu)化數(shù)據(jù)存儲為結(jié)構(gòu)文件,將所述數(shù)據(jù)包中的非結(jié)構(gòu)化數(shù)據(jù)存儲為壓縮文件,并將所述結(jié)構(gòu)文件和所述壓縮文件分別存儲到指定的存儲目錄中。
[0012]進一步的,所述步驟3,具體包括:
[0013]按照設定的第二時間間隔,定期通過多線程方式從結(jié)構(gòu)化數(shù)據(jù)庫中獲取結(jié)構(gòu)文件,并將所述結(jié)構(gòu)文件分解為結(jié)構(gòu)正文文件和結(jié)構(gòu)統(tǒng)計文件,再將所述結(jié)構(gòu)正文文件中的結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)統(tǒng)計文件中的結(jié)構(gòu)化數(shù)據(jù)存儲到數(shù)據(jù)庫服務器中的數(shù)據(jù)表中;
[0014]按照設定的第三時間間隔,定期通過多線程方式從非結(jié)構(gòu)化數(shù)據(jù)庫中獲取壓縮文件,根據(jù)所述壓縮文件的協(xié)議類型,將所述壓縮文件分別對應的存儲到不同協(xié)議類型的非結(jié)構(gòu)化服務器中,并將所述壓縮文件中的非結(jié)構(gòu)化數(shù)據(jù)存儲到所述非結(jié)構(gòu)化服務器中的數(shù)據(jù)表中;再將所述非結(jié)構(gòu)化數(shù)據(jù)在非結(jié)構(gòu)化服務器中的存儲地址存儲到數(shù)據(jù)庫服務器中的數(shù)據(jù)表中;
[0015]根據(jù)結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,在數(shù)據(jù)庫服務器中,將存儲有所述結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)表與存儲有所述非結(jié)構(gòu)化數(shù)據(jù)的存儲地址的數(shù)據(jù)表進行關(guān)聯(lián)。
[0016]進一步的,所述海量數(shù)據(jù)快速存儲的方法,還包括:
[0017]根據(jù)用戶的檢索要求,在數(shù)據(jù)庫服務器中找到滿足所述檢索要求的數(shù)據(jù)表;
[0018]獲取滿足所述檢索要求的數(shù)據(jù)表中的結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù)的存儲地址,并將其返回顯示出來;
[0019]根據(jù)所述非結(jié)構(gòu)化數(shù)據(jù)的存儲地址,在對應的非結(jié)構(gòu)化服務器中獲取所述非結(jié)構(gòu)化數(shù)據(jù),并將其返回顯示出來。
[0020]本發(fā)明還提供一種海量數(shù)據(jù)快速存儲的裝置,包括:
[0021]數(shù)據(jù)處理模塊:用于針對網(wǎng)絡中實時獲取的數(shù)據(jù)包,將所述數(shù)據(jù)包中的結(jié)構(gòu)化數(shù)據(jù)存儲為結(jié)構(gòu)文件,將所述數(shù)據(jù)包中與所述結(jié)構(gòu)化數(shù)據(jù)相關(guān)聯(lián)的非結(jié)構(gòu)化數(shù)據(jù)存儲為壓縮文件,并將所述結(jié)構(gòu)文件和所述壓縮文件分別存儲到指定的存儲目錄中;
[0022]文件迀移模塊:用于按照設定的第一時間間隔,定期對所述存儲目錄進行檢查,將所述存儲目錄中的結(jié)構(gòu)文件迀移到結(jié)構(gòu)化數(shù)據(jù)庫中,將所述存儲目錄中的壓縮文件迀移到非結(jié)構(gòu)化數(shù)據(jù)庫中;
[0023]快速存儲模塊:用于將結(jié)構(gòu)化數(shù)據(jù)庫中的結(jié)構(gòu)文件存儲到數(shù)據(jù)庫服務器中;將非結(jié)構(gòu)化數(shù)據(jù)庫中的壓縮文件分別對應的存儲到不同的非結(jié)構(gòu)化服務器中;并將所述各壓縮文件在非結(jié)構(gòu)化服務器中的存儲地址存儲到數(shù)據(jù)庫服務器中。
[0024]進一步的,所述數(shù)據(jù)處理模塊,包括:
[0025]獲取模塊:用于針對網(wǎng)絡中實時獲取的數(shù)據(jù)包,對所述數(shù)據(jù)包進行解析,通過分析所述數(shù)據(jù)包的包頭獲得所述數(shù)據(jù)包的協(xié)議類型與協(xié)議參數(shù);
[0026]分解模塊:用于根據(jù)所述數(shù)據(jù)包的協(xié)議類型與協(xié)議參數(shù),將所述數(shù)據(jù)包中的數(shù)據(jù)分解為結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù);
[0027]存儲模塊:用于將所述數(shù)據(jù)包中的結(jié)構(gòu)化數(shù)據(jù)存儲為結(jié)構(gòu)文件,將所述數(shù)據(jù)包中的非結(jié)構(gòu)化數(shù)據(jù)存儲為壓縮文件,并將所述結(jié)構(gòu)文件和所述壓縮文件分別存儲到指定的存儲目錄中。
[0028]進一步的,所述快速存儲模塊,具體用于:
[0029]按照設定的第二時間間隔,定期通過多線程方式從結(jié)構(gòu)化數(shù)據(jù)庫中獲取結(jié)構(gòu)文件,并將所述結(jié)構(gòu)文件分解為結(jié)構(gòu)正文文件和結(jié)構(gòu)統(tǒng)計文件,再將所述結(jié)構(gòu)正文文件中的結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)統(tǒng)計文件中的結(jié)構(gòu)化數(shù)據(jù)存儲到數(shù)據(jù)庫服務器中的數(shù)據(jù)表中;
[0030]按照設定的第三時間間隔,定期通過多線程方式從非結(jié)構(gòu)化數(shù)據(jù)庫中獲取壓縮文件,根據(jù)所述壓縮文件的協(xié)議類型,將所述壓縮文件分別對應的存儲到不同協(xié)議類型的非結(jié)構(gòu)化服務器中,并將所述壓縮文件中的非結(jié)構(gòu)化數(shù)據(jù)存儲到所述非結(jié)構(gòu)化服務器中的數(shù)據(jù)表中;再將所述非結(jié)構(gòu)化數(shù)據(jù)在非結(jié)構(gòu)化服務器中的存儲地址存儲到數(shù)據(jù)庫服務器中的數(shù)據(jù)表中;
[0031]根據(jù)結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,在數(shù)據(jù)庫服務器中,將存儲有所述結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)表與存儲有所述非結(jié)構(gòu)化數(shù)據(jù)的存儲地址的數(shù)據(jù)表進行關(guān)聯(lián)。
[0032]進一步的,所述海量數(shù)據(jù)快速存儲的裝置,還包括:
[0033]數(shù)據(jù)檢索模塊:根據(jù)用戶的檢索要求,在數(shù)據(jù)庫服務器中找到滿足所述檢索要求的數(shù)據(jù)表;獲取滿足所述檢索要求的數(shù)據(jù)表中的結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù)的存儲地址,并將其返回顯示出來;根據(jù)所述非結(jié)構(gòu)化數(shù)據(jù)的存儲地址,在對應的非結(jié)構(gòu)化服務器中獲取所述非結(jié)構(gòu)化數(shù)據(jù),并將其返回顯示出來。
[0034]采用上述技術(shù)方案,本發(fā)明至少具有下列優(yōu)點:
[0035]本發(fā)明所述的海量數(shù)據(jù)快速存儲的方法和裝置,采用結(jié)構(gòu)化數(shù)據(jù)存儲與非結(jié)構(gòu)化數(shù)據(jù)存儲相結(jié)合的方式將海量數(shù)據(jù)進行快速存儲。本發(fā)明中,將非結(jié)構(gòu)化數(shù)據(jù)存儲為壓縮文件,可以解決數(shù)據(jù)存儲空間占用較大的問題。本發(fā)明中將結(jié)構(gòu)化數(shù)據(jù)存儲到一個數(shù)據(jù)庫服務器中,將非結(jié)構(gòu)化數(shù)據(jù)存儲到多個非結(jié)構(gòu)化服務器中。使用多個非結(jié)構(gòu)化服務器可以提高數(shù)據(jù)存儲的處理速度,不會因為需要存儲的數(shù)據(jù)量過大而影響到非結(jié)構(gòu)化服務器的運行性能。
【附圖說明】
[0036]圖1為本發(fā)明第一實施例的海量數(shù)據(jù)快速存儲方法的流程圖;
[0037]圖2為本發(fā)明第二實施例的海量數(shù)據(jù)快速存儲方法的流程圖;
[0038]圖3為本發(fā)明第三實施例的海量數(shù)據(jù)快速存儲裝置的組成結(jié)構(gòu)示意圖。
【具體實施方式】
[0039]為更進一步闡述本發(fā)明為達成預定目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實施例,對本發(fā)明進行詳細說明如后。
[0040]本發(fā)明第一實施例,一種海量數(shù)據(jù)快速存儲的方法,如圖1所示,包括以下具體步驟:
[0041 ]步驟SlOI:針對網(wǎng)絡中實時獲取的數(shù)據(jù)包,將所述數(shù)據(jù)包中的結(jié)構(gòu)化數(shù)據(jù)存儲為結(jié)構(gòu)文件,將所述數(shù)據(jù)包中