本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種基于內(nèi)存計(jì)算的大數(shù)據(jù)分布式數(shù)據(jù)交互系統(tǒng)的實(shí)現(xiàn)方法。
背景技術(shù):
大數(shù)據(jù)時(shí)代,數(shù)據(jù)的快速生成,快速交易,傳統(tǒng)的數(shù)據(jù)交換體系在快速處理數(shù)據(jù)時(shí)往往顯得力不從心。
傳統(tǒng)的數(shù)據(jù)交換體系主要依賴與傳統(tǒng)的存儲(chǔ)系統(tǒng),傳統(tǒng)存儲(chǔ)系統(tǒng)最大的瓶頸就是i\o,多而頻繁的交互,導(dǎo)致傳統(tǒng)存儲(chǔ)系統(tǒng)性能直線下降;傳統(tǒng)的存儲(chǔ)系統(tǒng),雖然可以通過并行,虛擬化等方式來規(guī)避瓶頸,但是其成本也是異常的昂貴;傳統(tǒng)的數(shù)據(jù)交換體系,最大的問題在于不同文件系統(tǒng)間的數(shù)據(jù)無法進(jìn)行直接交互,必須要通過其他繁瑣的方式來進(jìn)行交互。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種基于內(nèi)存計(jì)算的大數(shù)據(jù)分布式數(shù)據(jù)交互系統(tǒng)的實(shí)現(xiàn)方法,包括如下步驟:
a.交互系統(tǒng)主控器接收查詢客戶端發(fā)送的數(shù)據(jù)請求,且交互系統(tǒng)主控制器首先查詢內(nèi)部的元數(shù)據(jù),如果在元數(shù)據(jù)中有需要的數(shù)據(jù)信息,將會(huì)通過交互系統(tǒng)主控制器中的索引指向交互子節(jié)點(diǎn),否則告知查詢客戶端去查詢交互子節(jié)點(diǎn);
b.交互子節(jié)點(diǎn)接收查詢客戶端發(fā)送的查詢請求,且交互子節(jié)點(diǎn)會(huì)通過本地的索引在存儲(chǔ)器中進(jìn)行查詢,如果有數(shù)據(jù),那么直接反饋給查詢客戶端,否則告知查詢客戶端去查詢底層存儲(chǔ)系統(tǒng);
c.底層存儲(chǔ)系統(tǒng)接收到查詢客戶端發(fā)送的查詢請求后,直接將數(shù)據(jù)反饋給查詢客戶端。
作為本發(fā)明的進(jìn)一步改進(jìn),所述交互子節(jié)點(diǎn)為多個(gè)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述交互子節(jié)點(diǎn)的存儲(chǔ)器包括內(nèi)存、ssd或硬盤。
作為本發(fā)明的進(jìn)一步改進(jìn),所述交互系統(tǒng)主控器包括索引數(shù)據(jù)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述交互系統(tǒng)主控器包括心跳檢測數(shù)據(jù)。
本發(fā)明還提供了一種基于內(nèi)存計(jì)算的大數(shù)據(jù)分布式數(shù)據(jù)交互系統(tǒng),包括:
交互系統(tǒng)主控器,用于接收查詢客戶端發(fā)送的數(shù)據(jù)請求,且交互系統(tǒng)主控制器首先查詢內(nèi)部的元數(shù)據(jù),如果在元數(shù)據(jù)中有需要的數(shù)據(jù)信息,將會(huì)通過交互系統(tǒng)主控制器中的索引指向交互子節(jié)點(diǎn),否則告知查詢客戶端去查詢交互子節(jié)點(diǎn);
交互子節(jié)點(diǎn),用于接收查詢客戶端發(fā)送的查詢請求,且交互子節(jié)點(diǎn)會(huì)通過本地的索引在存儲(chǔ)器中進(jìn)行查詢,如果有數(shù)據(jù),那么直接反饋給查詢客戶端,否則告知查詢客戶端去查詢底層存儲(chǔ)系統(tǒng);
底層存儲(chǔ)系統(tǒng),用于接收到查詢客戶端發(fā)送的查詢請求后,直接將數(shù)據(jù)反饋給查詢客戶端。
作為本發(fā)明的進(jìn)一步改進(jìn),所述交互子節(jié)點(diǎn)為多個(gè)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述交互子節(jié)點(diǎn)的存儲(chǔ)器包括內(nèi)存、ssd或硬盤。
作為本發(fā)明的進(jìn)一步改進(jìn),所述交互系統(tǒng)主控器包括索引數(shù)據(jù)。
作為本發(fā)明的進(jìn)一步改進(jìn),所述交互系統(tǒng)主控器包括心跳檢測數(shù)據(jù)。
本發(fā)明的有益效果是:本發(fā)明是基于內(nèi)存、數(shù)據(jù)訪問為中心設(shè)計(jì)發(fā)明的數(shù)據(jù)交互系統(tǒng),它介于存儲(chǔ)系統(tǒng)和計(jì)算系統(tǒng)之間,既可以部署在傳統(tǒng)的架構(gòu)下,也可以部署在大數(shù)據(jù)平臺(tái)下,不管是在大數(shù)據(jù)生態(tài)圈,還是傳統(tǒng)的it界,都有獨(dú)特的地位。
附圖說明
圖1是本發(fā)明的數(shù)據(jù)交互系統(tǒng)的原理框圖。
具體實(shí)施方式
本發(fā)明公開了一種基于內(nèi)存計(jì)算的大數(shù)據(jù)分布式數(shù)據(jù)交互系統(tǒng)的實(shí)現(xiàn)方法,包括如下步驟:
a.交互系統(tǒng)主控器接收查詢客戶端發(fā)送的數(shù)據(jù)請求,且交互系統(tǒng)主控制器首先查詢內(nèi)部的元數(shù)據(jù),如果在元數(shù)據(jù)中有需要的數(shù)據(jù)信息,將會(huì)通過交互系統(tǒng)主控制器中的索引指向交互子節(jié)點(diǎn),否則告知查詢客戶端去查詢交互子節(jié)點(diǎn);
b.交互子節(jié)點(diǎn)接收查詢客戶端發(fā)送的查詢請求,且交互子節(jié)點(diǎn)會(huì)通過本地的索引在存儲(chǔ)器中進(jìn)行查詢,如果有數(shù)據(jù),那么直接反饋給查詢客戶端,否則告知查詢客戶端去查詢底層存儲(chǔ)系統(tǒng);
c.底層存儲(chǔ)系統(tǒng)接收到查詢客戶端發(fā)送的查詢請求后,直接將數(shù)據(jù)反饋給查詢客戶端。
所述交互子節(jié)點(diǎn)為多個(gè),所述交互子節(jié)點(diǎn)的存儲(chǔ)器包括內(nèi)存、ssd或硬盤,所述交互系統(tǒng)主控器包括索引數(shù)據(jù),所述交互系統(tǒng)主控器包括心跳檢測數(shù)據(jù)。
工作時(shí),具體為:
1.查詢客戶端對數(shù)據(jù)交互系統(tǒng)發(fā)起數(shù)據(jù)請求;
2.交互系統(tǒng)主控器接收查詢客戶端發(fā)送的數(shù)據(jù)請求,且交互系統(tǒng)主控制器首先查詢內(nèi)部的元數(shù)據(jù),如果在元數(shù)據(jù)中有需要的數(shù)據(jù)信息,將會(huì)通過交互系統(tǒng)主控制器中的索引指向交互子節(jié)點(diǎn),否則告知查詢客戶端去查詢交互子節(jié)點(diǎn);
3.查詢客戶端接收到交互系統(tǒng)主控制器傳回的數(shù)據(jù)時(shí),反饋給上層應(yīng)用;當(dāng)查詢客戶端接收交互系統(tǒng)主控制器傳回的訪問交互子節(jié)點(diǎn)時(shí),自動(dòng)向交互子節(jié)點(diǎn)發(fā)出查詢請求;
4.交互子節(jié)點(diǎn)接收查詢客戶端發(fā)送的查詢請求,且交互子節(jié)點(diǎn)會(huì)通過本地的索引在存儲(chǔ)器中進(jìn)行查詢,如果有數(shù)據(jù),那么直接反饋給查詢客戶端,否則告知查詢客戶端去查詢底層存儲(chǔ)系統(tǒng);
5.查詢客戶端接收到交互子節(jié)點(diǎn)傳回的數(shù)據(jù)時(shí),反饋給上層應(yīng)用;當(dāng)查詢客戶端接收交互子節(jié)點(diǎn)傳回的訪問底層存儲(chǔ)系統(tǒng)時(shí),自動(dòng)向底層存儲(chǔ)系統(tǒng)發(fā)出查詢請求;
6.底層存儲(chǔ)系統(tǒng)接收到查詢客戶端發(fā)送的查詢請求后,直接將數(shù)據(jù)反饋給查詢客戶端;
7.查詢客戶端接收到底層存儲(chǔ)系統(tǒng)的數(shù)據(jù)反饋給上層應(yīng)用。
如圖1所示,本發(fā)明還公開了一種基于內(nèi)存計(jì)算的大數(shù)據(jù)分布式數(shù)據(jù)交互系統(tǒng),包括:
交互系統(tǒng)主控器,用于接收查詢客戶端發(fā)送的數(shù)據(jù)請求,且交互系統(tǒng)主控制器首先查詢內(nèi)部的元數(shù)據(jù),如果在元數(shù)據(jù)中有需要的數(shù)據(jù)信息,將會(huì)通過交互系統(tǒng)主控制器中的索引指向交互子節(jié)點(diǎn),否則告知查詢客戶端去查詢交互子節(jié)點(diǎn);
交互子節(jié)點(diǎn),用于接收查詢客戶端發(fā)送的查詢請求,且交互子節(jié)點(diǎn)會(huì)通過本地的索引在存儲(chǔ)器中進(jìn)行查詢,如果有數(shù)據(jù),那么直接反饋給查詢客戶端,否則告知查詢客戶端去查詢底層存儲(chǔ)系統(tǒng);
底層存儲(chǔ)系統(tǒng),用于接收到查詢客戶端發(fā)送的查詢請求后,直接將數(shù)據(jù)反饋給查詢客戶端。
在數(shù)據(jù)交互系統(tǒng)中,所述交互子節(jié)點(diǎn)為多個(gè),所述交互子節(jié)點(diǎn)的存儲(chǔ)器包括內(nèi)存、ssd或硬盤,所述交互系統(tǒng)主控器包括索引數(shù)據(jù),所述交互系統(tǒng)主控器包括心跳檢測數(shù)據(jù)。
本發(fā)明的基于內(nèi)存計(jì)算的大數(shù)據(jù)分布式數(shù)據(jù)交互系統(tǒng)簡稱為nash-center。
nash-center是基于內(nèi)存、數(shù)據(jù)訪問為中心設(shè)計(jì)發(fā)明的數(shù)據(jù)交互系統(tǒng),它介于存儲(chǔ)系統(tǒng)和計(jì)算系統(tǒng)之間,既可以部署在傳統(tǒng)的架構(gòu)下,也可以部署在大數(shù)據(jù)平臺(tái)下,不管是在大數(shù)據(jù)生態(tài)圈,還是傳統(tǒng)的it界,都有獨(dú)特的地位。就用戶應(yīng)用和計(jì)算框架而言,無論用戶的應(yīng)用與計(jì)算框架是否運(yùn)行在相同的計(jì)算引擎下,nash-center都可以從底層來支持?jǐn)?shù)據(jù)的訪問、快速存儲(chǔ)、數(shù)據(jù)的快速交互,以及多任務(wù)的數(shù)據(jù)共享和本地化。
nash-center為底層的存儲(chǔ)與大數(shù)據(jù)應(yīng)用建立了通道,并且重新定義了一組面向數(shù)據(jù)使用的工作負(fù)載程序,因此,nash-center為大數(shù)據(jù)應(yīng)用提供了重量級的數(shù)據(jù)加速,同時(shí)還對其他程序提供了通用的數(shù)據(jù)訪問接口。
nash-center屏蔽了底層存儲(chǔ)系統(tǒng)的整合細(xì)節(jié),所以,任何底層存儲(chǔ)系統(tǒng)都可以支撐運(yùn)行在nash-center之上的應(yīng)用和框架,同時(shí),nash-center可以掛載多種底層的存儲(chǔ)系統(tǒng),所以nash-center還可以為任意數(shù)量的不同數(shù)據(jù)源提供服務(wù)。
本發(fā)明的核心技術(shù)是在nash-center上對數(shù)據(jù)進(jìn)行快速交互。
其優(yōu)點(diǎn)有三:
1.數(shù)據(jù)交互在分布式內(nèi)存中進(jìn)行,規(guī)避io瓶頸,不同熱度的數(shù)據(jù)存放在交互子節(jié)點(diǎn)的不同介質(zhì)上。(極速處理、合理存放)
2.交互子節(jié)點(diǎn)可以將自己資源(本地內(nèi)存、ssd或者硬盤)分配給nash-center來使用,在nash-center中,可以采用大量廉價(jià)的設(shè)備來提高運(yùn)算效率(成本低,效率高)。
3.nash-center為應(yīng)用提供文件系統(tǒng)的api,查詢客戶端通過發(fā)起與交互系統(tǒng)主控器來執(zhí)行元數(shù)據(jù)的操作,并通過與交互子節(jié)點(diǎn)的通信來對nash-center的數(shù)據(jù)進(jìn)行讀寫。同時(shí)存儲(chǔ)在底層存儲(chǔ)系統(tǒng)上而不是在nash-center上的數(shù)據(jù)可以直接通過底層存儲(chǔ)客戶端訪問。(不固定方式構(gòu)建,可獨(dú)立使用,可混合使用)。
本發(fā)明的上述三個(gè)優(yōu)勢完美解決了傳統(tǒng)數(shù)據(jù)交換架構(gòu)下的3個(gè)缺點(diǎn)。
以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。