海量異構(gòu)數(shù)據(jù)的存儲方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種海量異構(gòu)數(shù)據(jù)的存儲方法及系統(tǒng),包括:客戶端、負(fù)載均衡器、數(shù)據(jù)加載服務(wù)器和統(tǒng)一數(shù)據(jù)管理單元,客戶端負(fù)責(zé)采集和接收用戶數(shù)據(jù),向負(fù)載均衡器發(fā)出數(shù)據(jù)加載請求;負(fù)載均衡器動態(tài)分配數(shù)據(jù)加載服務(wù)器給客戶端;加載服務(wù)器根據(jù)統(tǒng)一數(shù)據(jù)管理單元中數(shù)據(jù)管理節(jié)點的管理信息,將客戶端的數(shù)據(jù)加載至數(shù)據(jù)存儲節(jié)點;統(tǒng)一數(shù)據(jù)管理單元包括數(shù)據(jù)存儲節(jié)點和數(shù)據(jù)管理節(jié)點。本發(fā)明海量異構(gòu)數(shù)據(jù)的存儲方法及系統(tǒng)可以對包含結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)數(shù)據(jù)的大數(shù)據(jù)進(jìn)行統(tǒng)一加載,實現(xiàn)了海量結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的有效結(jié)合和統(tǒng)一存儲管理,與傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)庫相比,解決了半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的存儲問題,有效降低了數(shù)據(jù)管理方面的成本。
【專利說明】海量異構(gòu)數(shù)據(jù)的存儲方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲領(lǐng)域,尤其涉及海量異構(gòu)數(shù)據(jù)的存儲方法。
【背景技術(shù)】
[0002]在信息時代,伴隨著互聯(lián)網(wǎng)、多媒體、社會媒體以及物聯(lián)網(wǎng)、云計算的發(fā)展,越來越多的數(shù)據(jù)將被收集,而這些數(shù)據(jù)的產(chǎn)生更是異常龐雜,更帶來了數(shù)據(jù)的指數(shù)級的增長趨勢。它的特征之一就是數(shù)據(jù)的密集爆發(fā),隨之而來的就是數(shù)據(jù)的處理難度不斷加大,人們也意識到數(shù)據(jù)帶來的商業(yè)價值非常巨大。
[0003]然而,海量數(shù)據(jù)并不僅僅意味著數(shù)據(jù)量的爆炸性增長,它還涉及到多種異構(gòu)的數(shù)據(jù)類型,結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化并存的狀態(tài)?;ヂ?lián)網(wǎng)中出現(xiàn)諸如圖片、音頻、視頻等非結(jié)構(gòu)化數(shù)據(jù)越來越多,甚至增長速度遠(yuǎn)遠(yuǎn)超過了結(jié)構(gòu)化數(shù)據(jù)的增速。如果從這些非結(jié)構(gòu)化數(shù)據(jù)中挖掘商業(yè)價值,成為我們面臨的又一難題。
[0004]多源、異構(gòu)是海量數(shù)據(jù)的特點,如何實現(xiàn)高效、智能的存儲和分析處理這些海量數(shù)據(jù)?非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)正在呈海量增長趨勢,如何對其進(jìn)行有效的數(shù)據(jù)管理和應(yīng)用?如此種種問題,逐漸成為了新時代共同的挑戰(zhàn)。
[0005]目前,針對海量數(shù)據(jù)復(fù)雜的處理需求,對不同類型數(shù)據(jù)的聯(lián)合分析、復(fù)雜的關(guān)聯(lián)查詢、快速檢索等,僅僅通過結(jié)構(gòu)化的數(shù)據(jù)處理方式是無法滿足的。而通過目前流行的Hadoop以及它的一些子項目來處理,也僅僅是支持單一類型、靜態(tài)的數(shù)據(jù)進(jìn)行分析處理,仍然不能有效地支持多來源、異構(gòu)、動態(tài)、海量數(shù)據(jù)的分析處理。有效地將多來源、異構(gòu)、動態(tài)、海量數(shù)據(jù)進(jìn)行統(tǒng)一存儲和分析處理是當(dāng)前迫切需要解決的問題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是要提供一種海量異構(gòu)數(shù)據(jù)的存儲方法及系統(tǒng),可以解決上述現(xiàn)有技術(shù)問題中的一種或多種。
[0007]本發(fā)明海量異構(gòu)數(shù)據(jù)的存儲方法及系統(tǒng)可以對包含結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)數(shù)據(jù)的大數(shù)據(jù)進(jìn)行統(tǒng)一加載,實現(xiàn)了海量結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的有效結(jié)合和統(tǒng)一存儲管理與傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)庫相比,解決了半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的存儲問題,有效降低了數(shù)據(jù)管理方面的成本。
[0008]根據(jù)本發(fā)明的一方面,提供了一種海量異構(gòu)數(shù)據(jù)的存儲方法,包括:多個數(shù)據(jù)加載服務(wù)器在負(fù)載均衡器上進(jìn)行注冊;客戶端向負(fù)載均衡器發(fā)出數(shù)據(jù)加載請求;負(fù)載均衡器動態(tài)分配數(shù)據(jù)加載服務(wù)器給客戶端,客戶端向該數(shù)據(jù)加載服務(wù)器傳輸數(shù)據(jù);數(shù)據(jù)加載服務(wù)器根據(jù)統(tǒng)一數(shù)據(jù)管理單元中數(shù)據(jù)管理節(jié)點的管理信息,將客戶端的數(shù)據(jù)加載至數(shù)據(jù)存儲節(jié)點。
[0009]在一些實施方式中,負(fù)載均衡器接受請求并且根據(jù)數(shù)據(jù)加載服務(wù)器的不同處理能力,給每個數(shù)據(jù)加載服務(wù)器分配不同的權(quán)值,以便數(shù)據(jù)加載服務(wù)器能夠接受相應(yīng)權(quán)值數(shù)的服務(wù)請求,負(fù)載均衡器將權(quán)值與連接數(shù)比值最大的數(shù)據(jù)加載服務(wù)器分配給客戶端。充分使用數(shù)據(jù)加載服務(wù)器。
[0010]在一些實施方式中,數(shù)據(jù)加載服務(wù)器依據(jù)數(shù)據(jù)的元數(shù)據(jù)信息進(jìn)行數(shù)據(jù)分類,并將其加載至相應(yīng)的數(shù)據(jù)存儲節(jié)點中。由此,具有支持多來源、異構(gòu)數(shù)據(jù)的存儲能力。
[0011]在一些實施方式中,數(shù)據(jù)管理節(jié)點還實時監(jiān)控數(shù)據(jù)存儲節(jié)點的定期心跳包,一個心跳包的消息到達(dá)表示這個數(shù)據(jù)存儲節(jié)點是正常工作狀態(tài),數(shù)據(jù)管理節(jié)點根據(jù)這個消息定期驗證數(shù)據(jù)存儲節(jié)點是否處于正常工作狀態(tài),并周期性根據(jù)數(shù)據(jù)的屬性將數(shù)據(jù)劃分為不同類型,分類存儲至各個的數(shù)據(jù)存儲節(jié)點中。由此,具有支持動態(tài)、海量數(shù)據(jù)的存儲能力。
[0012]根據(jù)本發(fā)明的另方面,提供了一種海量異構(gòu)數(shù)據(jù)的存儲系統(tǒng),其中,包括:
[0013]客戶端,負(fù)責(zé)采集和接收用戶數(shù)據(jù),向負(fù)載均衡器發(fā)出數(shù)據(jù)加載請求;
[0014]負(fù)載均衡器,動態(tài)分配所述數(shù)據(jù)加載服務(wù)器給客戶端;
[0015]數(shù)據(jù)加載服務(wù)器,根據(jù)統(tǒng)一數(shù)據(jù)管理單元中數(shù)據(jù)管理節(jié)點的管理信息,將客戶端的數(shù)據(jù)加載至數(shù)據(jù)存儲節(jié)點;
[0016]統(tǒng)一數(shù)據(jù)管理單元,包括數(shù)據(jù)存儲節(jié)點和數(shù)據(jù)管理節(jié)點。
[0017]在一些實施方式中,數(shù)據(jù)存儲節(jié)點存儲結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。
[0018]在一些實施方式中,數(shù)據(jù)管理節(jié)點存儲元數(shù)據(jù)信息。
[0019]在一些實施方式中,元數(shù)據(jù)信息包括數(shù)據(jù)的屬性和配置信息、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲位置信息。
【專利附圖】
【附圖說明】
[0020]圖1為本發(fā)明一種實施方式的海量異構(gòu)數(shù)據(jù)的存儲方法的數(shù)據(jù)傳輸結(jié)構(gòu)示意圖;
[0021]圖2為本發(fā)明海量異構(gòu)數(shù)據(jù)的存儲方法及系統(tǒng)的工作流程圖;
[0022]圖3為本發(fā)明海量異構(gòu)數(shù)據(jù)的存儲方法及系統(tǒng)加權(quán)最少連接調(diào)度算法的流程圖。
【具體實施方式】
[0023]下面結(jié)合附圖及具體實施例對發(fā)明作進(jìn)一步的詳細(xì)描述說明。
[0024]圖1示意性地顯示了本發(fā)明的一種實施方式的海量異構(gòu)數(shù)據(jù)的存儲方法的數(shù)據(jù)傳輸結(jié)構(gòu)。
[0025]如圖1、2所示,根據(jù)本發(fā)明的一個實施方式,提供了一種海量異構(gòu)數(shù)據(jù)的存儲方法,包括:多個數(shù)據(jù)加載服務(wù)器30在負(fù)載均衡器20上進(jìn)行注冊;客戶端10向負(fù)載均衡器20發(fā)出數(shù)據(jù)加載請求;負(fù)載均衡器20動態(tài)分配數(shù)據(jù)加載服務(wù)器30給客戶端10,客戶端10向該數(shù)據(jù)加載服務(wù)器30傳輸數(shù)據(jù);數(shù)據(jù)加載服務(wù)器30根據(jù)統(tǒng)一數(shù)據(jù)管理單元40中數(shù)據(jù)管理節(jié)點41的管理信息,將客戶端10的數(shù)據(jù)加載至數(shù)據(jù)存儲節(jié)點42。
[0026]本發(fā)明海量異構(gòu)數(shù)據(jù)的存儲方法包括,在步驟SI中,多個數(shù)據(jù)加載服務(wù)器30把各自的實例程序在負(fù)載均衡器20上進(jìn)行注冊并啟動。
[0027]在步驟S2中,客戶端10向負(fù)載均衡器20發(fā)出數(shù)據(jù)加載請求,在步驟S3中,負(fù)載均衡器20接受數(shù)據(jù)加載請求并且根據(jù)對數(shù)據(jù)加載服務(wù)器30的不同處理能力,給每個數(shù)據(jù)加載服務(wù)器30分配不同的權(quán)值,在步驟S4中,負(fù)載均衡器20根據(jù)數(shù)據(jù)加載服務(wù)器30的負(fù)載情況,動態(tài)地調(diào)整其權(quán)值,系統(tǒng)管理員也可以動態(tài)地設(shè)置數(shù)據(jù)加載服務(wù)器30的權(quán)值,權(quán)值表示各個數(shù)據(jù)加載服務(wù)器30的處理性能。權(quán)值越大則數(shù)據(jù)加載服務(wù)器30性能越強,在步驟S5中,負(fù)載均衡器20將權(quán)值與連接數(shù)比值最大的數(shù)據(jù)加載服務(wù)器30分配給該客戶端10。
[0028]如圖3所示,加權(quán)最少連接調(diào)度算法,包括如下步驟:
[0029]步驟101:隨機確定遍歷起始地址,首先處理器確定一個隨機數(shù),如可以選取
0-100的隨機數(shù)對服務(wù)器組中服務(wù)器臺數(shù)求余后加I得到的一個隨機數(shù),假設(shè)確定的隨機數(shù)為3 ;
[0030]步驟102:遍歷所有首數(shù),也就是處理器從第3臺服務(wù)器開始遍歷所有數(shù)據(jù)加載服務(wù)器的連接數(shù);
[0031]步驟103:判斷是否存在最小首數(shù);
[0032]步驟104:如果存在最小首數(shù),則根據(jù)權(quán)值與首數(shù)(連接數(shù))的比值大小選擇比值最大的數(shù)據(jù)加載服務(wù)器接入;
[0033]步驟105:如果不存在最小首數(shù),則隨機選擇數(shù)據(jù)加載服務(wù)器接入;
[0034]負(fù)載均衡器的負(fù)載策略是采用了加權(quán)最少連接調(diào)度(Weighted Least-Connection Scheduling)算法,此算法是在最少連接數(shù)調(diào)度算法的基礎(chǔ)上的改進(jìn)。而最少連接調(diào)度(Least-Connection Scheduling)算法是把新的連接請求分配到當(dāng)前連接數(shù)最少的服務(wù)器。它通過服務(wù)器當(dāng)前所活躍的連接數(shù)來估計服務(wù)器的負(fù)載情況。加權(quán)最少連接調(diào)度在調(diào)度新連接時盡可能使服務(wù)器的已建立連接數(shù)和其權(quán)值成比例。
[0035]對加權(quán)最少連接調(diào)度算法流程進(jìn)行示例說明。假設(shè)有一組服務(wù)器S ={SO, SI,..., Sn-1},W(Si)表示服務(wù)器Si的權(quán)值,C(Si)表示服務(wù)器Si的當(dāng)前連接數(shù)。所有服務(wù)器當(dāng)前連接數(shù)的總和為CSUM = XC(Si) (i = 0,l,...,n-l)當(dāng)前的新連接請求會被發(fā)送服務(wù)器Sm,當(dāng)且僅當(dāng)服務(wù)器Sm滿足以下條件(C(Sm)/CSUM)/W(Sm) = min{ (C(Si)/CSUM)/W(Si)} (i = 0,1,...,n-1),其中W(Si)不為零,因為CSUM在這一輪查找中是個常數(shù),所以判斷條件可以簡化為 C(Sm) /ff (Sm) = min {C(Si)/ff (Si)} (i = O, I,..., η-l)其中W(Si)不為零,因為除法所需的CPU周期比乘法多,且在Linux內(nèi)核中不允許浮點除法,服務(wù)器的權(quán)值都大于零,所以判斷條件C (Sm) /ff (Sm) >C (Si) /ff (Si)可以進(jìn)一步優(yōu)化為C (Sm)*ff (Si) >C (Si) ^ff(Sm)。同時保證服務(wù)器的權(quán)值為零時,服務(wù)器不被調(diào)度。
[0036]加權(quán)最少連接調(diào)度算法表示:
[0037]
【權(quán)利要求】
1.一種海量異構(gòu)數(shù)據(jù)的存儲方法,包括: 多個數(shù)據(jù)加載服務(wù)器在負(fù)載均衡器上進(jìn)行注冊; 客戶端向負(fù)載均衡器發(fā)出數(shù)據(jù)加載請求; 負(fù)載均衡器動態(tài)分配數(shù)據(jù)加載服務(wù)器給客戶端,客戶端向數(shù)據(jù)加載服務(wù)器傳輸數(shù)據(jù); 數(shù)據(jù)加載服務(wù)器根據(jù)統(tǒng)一數(shù)據(jù)管理單元系統(tǒng)中數(shù)據(jù)管理節(jié)點的管理信息,將客戶端的數(shù)據(jù)加載至數(shù)據(jù)存儲節(jié)點。
2.根據(jù)權(quán)利要求1所述海量異構(gòu)數(shù)據(jù)的存儲方法,其中,所述負(fù)載均衡器接受請求并且根據(jù)數(shù)據(jù)加載服務(wù)器的不同處理能力,給每個數(shù)據(jù)加載服務(wù)器分配不同的權(quán)值,以便所述數(shù)據(jù)加載服務(wù)器能夠接受相應(yīng)權(quán)值數(shù)的服務(wù)請求,所述負(fù)載均衡器將權(quán)值與連接數(shù)比值最大的數(shù)據(jù)加載服務(wù)器分配給所述客戶端。
3.根據(jù)權(quán)利要求1所述海量異構(gòu)數(shù)據(jù)的存儲方法,其中,所述數(shù)據(jù)加載服務(wù)器依據(jù)數(shù)據(jù)的元數(shù)據(jù)信息進(jìn)行數(shù)據(jù)分類,并將其加載至相應(yīng)的數(shù)據(jù)存儲節(jié)點。
4.根據(jù)權(quán)利要求1或2所述海量異構(gòu)數(shù)據(jù)的存儲方法,其中,所述數(shù)據(jù)管理節(jié)點還實時監(jiān)控數(shù)據(jù)存儲節(jié)點的定期心跳包,一個心跳包的消息到達(dá)表示這個數(shù)據(jù)存儲節(jié)點是正常工作狀態(tài),數(shù)據(jù)管理節(jié)點根據(jù)這個消息定期驗證數(shù)據(jù)存儲節(jié)點是否處于正常工作狀態(tài),并周期性根據(jù)數(shù)據(jù)的屬性將數(shù)據(jù)劃分為不同類型,分類存儲至各個的數(shù)據(jù)存儲節(jié)點中。
5.一種海量異構(gòu)數(shù)據(jù)的存儲系統(tǒng),其中,包括: 客戶端,負(fù)責(zé)采集和接收用戶數(shù)據(jù),向負(fù)載均衡器發(fā)出數(shù)據(jù)加載請求; 負(fù)載均衡器,動態(tài)分配數(shù)據(jù)加載服務(wù)器給客戶端; 數(shù)據(jù)加載服務(wù)器,根據(jù)統(tǒng)一數(shù)據(jù)管理單元中數(shù)據(jù)管理節(jié)點的管理信息,將客戶端的數(shù)據(jù)加載至數(shù)據(jù)存儲節(jié)點; 統(tǒng)一數(shù)據(jù)管理單元,包括數(shù)據(jù)存儲節(jié)點和數(shù)據(jù)管理節(jié)點。
6.根據(jù)權(quán)利要求4所述的海量異構(gòu)數(shù)據(jù)的存儲系統(tǒng),其中,所述數(shù)據(jù)存儲節(jié)點存儲結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。
7.根據(jù)權(quán)利要求4所述的海量異構(gòu)數(shù)據(jù)的存儲系統(tǒng),其中,所述數(shù)據(jù)管理節(jié)點存儲元數(shù)據(jù)信息。
8.根據(jù)權(quán)利要求6所述的海量異構(gòu)數(shù)據(jù)的存儲系統(tǒng),其中,所述元數(shù)據(jù)信息包括數(shù)據(jù)的屬性和配置信息、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲位置信息。
【文檔編號】G06F9/50GK103984761SQ201410235651
【公開日】2014年8月13日 申請日期:2014年5月29日 優(yōu)先權(quán)日:2014年3月28日
【發(fā)明者】吳禮裔 申請人:廣東軒轅網(wǎng)絡(luò)科技股份有限公司