亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)庫的數(shù)據(jù)處理方法及裝置與流程

文檔序號:12597524閱讀:250來源:國知局
數(shù)據(jù)庫的數(shù)據(jù)處理方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)庫的數(shù)據(jù)處理方法及裝置。



背景技術(shù):

隨著社交應(yīng)用平臺及電子商務(wù)類互聯(lián)網(wǎng)應(yīng)用的不斷出現(xiàn),標(biāo)志著人們已經(jīng)步入更高級的生活時代。在這種海量數(shù)據(jù)、高并發(fā)訪問的情況下,數(shù)據(jù)庫能提供穩(wěn)定、可靠的性能是至關(guān)重要的。但傳統(tǒng)的數(shù)據(jù)庫已經(jīng)不能滿足這種大數(shù)據(jù)的問題,在這種技術(shù)背景下,分布式的數(shù)據(jù)庫應(yīng)運而生。HBase是分布式系統(tǒng)基礎(chǔ)架構(gòu)Hadoop上的一個NoSQL(Not only Structured Query Language,非關(guān)系類數(shù)據(jù)庫)的實現(xiàn),同時也是一個分布式的、面向列的開源數(shù)據(jù)庫。它提供了強大的可擴展性和數(shù)據(jù)操作性能。在HBase中,隨著表記錄數(shù)據(jù)不斷增加而逐漸分裂成、并最終形成為數(shù)據(jù)塊,不同的數(shù)據(jù)塊會被主機分配給相應(yīng)的數(shù)據(jù)塊服務(wù)器數(shù)據(jù)塊服務(wù)器進行管理。

但是,在實際的應(yīng)用中,常常會因為數(shù)據(jù)塊服務(wù)器的負(fù)載不均衡或者每個數(shù)據(jù)塊服務(wù)器中的服務(wù)請求數(shù)量不均衡,大量讀、寫請求集中在某幾個數(shù)據(jù)塊服務(wù)器的某幾個數(shù)據(jù)塊中,使得HBase無法及時進行業(yè)務(wù)處理,進而影響HBase的性能,導(dǎo)致HBase的工作效率低;甚至,在大量讀、寫請求集中在某幾個數(shù)據(jù)塊服務(wù)器時,可能會造成數(shù)據(jù)塊服務(wù)器宕機,此時,HBase會將讀、寫請求轉(zhuǎn)移到其他的數(shù)據(jù)塊服務(wù)器,進而可能引起其他的數(shù)據(jù)塊服務(wù)器的連續(xù)宕機,最終導(dǎo)致讀、寫請求對應(yīng)的業(yè)務(wù)完全中斷。



技術(shù)實現(xiàn)要素:

本發(fā)明提供一種數(shù)據(jù)庫的數(shù)據(jù)處理方法及裝置,旨在解決HBase中大量讀、寫請求集中在某幾個數(shù)據(jù)塊服務(wù)器的某幾個數(shù)據(jù)塊中而造成HBase無法及時進行業(yè)務(wù)處理的技術(shù)問題。

為實現(xiàn)上述目的,本發(fā)明提供的一種數(shù)據(jù)庫的數(shù)據(jù)處理方法,所述數(shù)據(jù)庫的數(shù)據(jù)處理方法包括以下步驟:

獲取各個數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器;

獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊;

將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求互換。

優(yōu)選地,所述獲取各個數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器的步驟包括:

獲取預(yù)設(shè)時間內(nèi)數(shù)據(jù)塊的流量參數(shù),其中,所述流量參數(shù)包括寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量;

獲取所述數(shù)據(jù)塊的流量參數(shù)對應(yīng)的本地性參數(shù)、數(shù)據(jù)塊的歷史熱度參數(shù)及數(shù)據(jù)塊服務(wù)器的分布參數(shù);

基于所述流量參數(shù)、本地性參數(shù)、歷史熱度參數(shù)及分布參數(shù)計算獲得所述數(shù)據(jù)塊服務(wù)器的熱度參數(shù);

將熱度參數(shù)最大的數(shù)據(jù)塊服務(wù)器作為第一數(shù)據(jù)塊服務(wù)器,并將熱度參數(shù)最小的數(shù)據(jù)塊服務(wù)器作為第二數(shù)據(jù)塊服務(wù)器。

優(yōu)選地,在所述獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊的步驟之前,所述方法還包括:

獲取所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)及第二數(shù)據(jù)塊服務(wù)器的第二熱度參數(shù);

確定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值是否大于預(yù)設(shè)閾值;

在所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值大于預(yù)設(shè)閾值時,執(zhí)行所述獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊的步驟。

優(yōu)選地,在獲取所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)及第二數(shù)據(jù)塊服務(wù)器的第二熱度參數(shù)與所述確定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值是否大于預(yù)設(shè)閾值的步驟之間,所述方法還包括:

確定所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)是否大于預(yù)設(shè)熱度;

在所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)大于預(yù)設(shè)熱度時,執(zhí)行所述確定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值是否大于預(yù)設(shè)閾值的步驟。

優(yōu)選地所述獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊的步驟與所述將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求互換的步驟之間,所述方法還包括:

基于所述第一數(shù)據(jù)塊及第二數(shù)據(jù)塊生成調(diào)整計劃,其中,調(diào)整計劃中的所述數(shù)據(jù)庫的配置參數(shù)為將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求互換后的各個數(shù)據(jù)塊服務(wù)器的熱度參數(shù)及其對應(yīng)的數(shù)據(jù)塊對應(yīng)的流量參數(shù);

獲取調(diào)整計劃中熱度參數(shù)最大的第三數(shù)據(jù)塊服務(wù)器以及熱度參數(shù)最小的第四數(shù)據(jù)塊服務(wù)器,并獲取所述第三數(shù)據(jù)塊服務(wù)器的第三熱度參數(shù)及第四數(shù)據(jù)塊服務(wù)器的第四熱度參數(shù);

確定所述第三熱度參數(shù)與所述第四熱度參數(shù)的第二差值是否大于所述預(yù)設(shè)閾值;

在所述第二差值大于所述預(yù)設(shè)閾值時,獲取第三數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第三數(shù)據(jù)塊,以及所述第四數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第四數(shù)據(jù)塊;

在所述將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求互換的步驟之后,所述方法還包括:

將所述第三數(shù)據(jù)塊的數(shù)據(jù)請求與第四數(shù)據(jù)塊的數(shù)據(jù)處理請求互換。

此外,為實現(xiàn)上述目的,本發(fā)明還提供一種數(shù)據(jù)庫的數(shù)據(jù)處理裝置,所述數(shù)據(jù)庫的數(shù)據(jù)處理裝置包括:

第一獲取模塊,用于獲取各個數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器;

第二獲取模塊,用于獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊;

第一交換模塊,用于將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求互換。

優(yōu)選地,第一獲取模塊包括:

第一獲取單元,用于獲取預(yù)設(shè)時間內(nèi)數(shù)據(jù)塊的流量參數(shù),其中,所述流量參數(shù)包括寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量;

第二獲取單元,用于獲取所述數(shù)據(jù)塊的流量參數(shù)對應(yīng)的本地性參數(shù)、數(shù)據(jù)塊的歷史熱度參數(shù)及數(shù)據(jù)塊服務(wù)器的分布參數(shù);

計算單元,用于基于所述流量參數(shù)、本地性參數(shù)、歷史熱度參數(shù)及分布參數(shù)計算獲得所述數(shù)據(jù)塊服務(wù)器的熱度參數(shù);

設(shè)置單元,用于將熱度參數(shù)最大的數(shù)據(jù)塊服務(wù)器作為第一數(shù)據(jù)塊服務(wù)器,并將熱度參數(shù)最小的數(shù)據(jù)塊服務(wù)器作為第二數(shù)據(jù)塊服務(wù)器。

優(yōu)選地,所述數(shù)據(jù)庫的數(shù)據(jù)處理裝置還包括:

第三獲取模塊,用于獲取所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)及第二數(shù)據(jù)塊服務(wù)器的第二熱度參數(shù);

第一確定模塊,用于確定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值是否大于預(yù)設(shè)閾值;

所述第二獲取模塊還用于在所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值大于預(yù)設(shè)閾值時,獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊。

優(yōu)選地,所述數(shù)據(jù)庫的數(shù)據(jù)處理裝置還包括:

第二確定模塊,用于確定所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)是否大于預(yù)設(shè)熱度;

所述第一確定模塊還用于在所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)大于預(yù)設(shè)熱度時,確定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值是否大于預(yù)設(shè)閾值。

優(yōu)選地,所述數(shù)據(jù)庫的數(shù)據(jù)處理裝置還包括:

生成模塊,用于基于所述第一數(shù)據(jù)塊及第二數(shù)據(jù)塊生成調(diào)整計劃,其中,調(diào)整計劃中的所述數(shù)據(jù)庫的配置參數(shù)為將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求互換后的各個數(shù)據(jù)塊服務(wù)器的熱度參數(shù)及其對應(yīng) 的數(shù)據(jù)塊對應(yīng)的流量參數(shù);

第四獲取模塊,用于獲取調(diào)整計劃中熱度參數(shù)最大的第三數(shù)據(jù)塊服務(wù)器以及熱度參數(shù)最小的第四數(shù)據(jù)塊服務(wù)器,并獲取所述第三數(shù)據(jù)塊服務(wù)器的第三熱度參數(shù)及第四數(shù)據(jù)塊服務(wù)器的第四熱度參數(shù);

第三確定模塊,用于確定所述第三熱度參數(shù)與所述第四熱度參數(shù)的第二差值是否大于所述預(yù)設(shè)閾值;

第五獲取模塊,用于在所述第二差值大于所述預(yù)設(shè)閾值時,獲取第三數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第三數(shù)據(jù)塊,以及所述第四數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第四數(shù)據(jù)塊;

第二交換模塊,用于將所述第三數(shù)據(jù)塊的數(shù)據(jù)請求與第四數(shù)據(jù)塊的數(shù)據(jù)處理請求互換。

本發(fā)明中,通過獲取數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊,然后互換第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)請求;實現(xiàn)了第一數(shù)據(jù)塊的數(shù)據(jù)請求與第二數(shù)據(jù)塊的數(shù)據(jù)處理請求的互換,使得第一數(shù)據(jù)塊服務(wù)器與第二數(shù)據(jù)塊服務(wù)器之間的數(shù)據(jù)流量更加均衡,進而使數(shù)據(jù)庫能夠及時處理第一數(shù)據(jù)塊的數(shù)據(jù)請求對應(yīng)的業(yè)務(wù),有效地避免了在數(shù)據(jù)庫存在數(shù)據(jù)塊的流量參數(shù)過大時造成數(shù)據(jù)塊服務(wù)器宕機,提高了數(shù)據(jù)庫的性能和工作效率。

附圖說明

圖1為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理方法第一實施例的流程示意圖;

圖2為本發(fā)明獲取第一數(shù)據(jù)塊服務(wù)器及第二數(shù)據(jù)塊服務(wù)器的步驟的細(xì)化流程示意圖;

圖3為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理方法第二實施例的流程示意圖;

圖4為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理方法第三實施例的流程示意圖;

圖5為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理裝置第一實施例的功能模塊示意圖;

圖6為圖5中計算模塊的細(xì)化功能模塊示意圖;

圖7為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理裝置第二實施例的功能模塊示意圖;

圖8為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理裝置第三實施例的功能模塊示意圖。

本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。

具體實施方式

應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

本發(fā)明提供一種數(shù)據(jù)庫的數(shù)據(jù)處理方法。

參照圖1,圖1為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理方法第一實施例的流程示意圖。

在本實施例中,該數(shù)據(jù)庫的數(shù)據(jù)處理方法包括:

步驟S10,獲取各個數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器;

本實施例中,在數(shù)據(jù)庫的每個數(shù)據(jù)塊服務(wù)器中增加一套讀寫壓力采集服務(wù),周期性采集預(yù)設(shè)時間內(nèi)每個數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量,然后確定預(yù)設(shè)時間內(nèi)數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器;也可以在數(shù)據(jù)庫的每個數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)塊中增加一套讀寫壓力采集服務(wù),周期性采集預(yù)設(shè)時間內(nèi)每個數(shù)據(jù)塊的數(shù)據(jù)流量,然后計算數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量,再確定預(yù)設(shè)時間內(nèi)數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器。

步驟S20,獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊;

即獲取到的第一數(shù)據(jù)塊為第一數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最大的數(shù)據(jù)塊,獲取到的第二數(shù)據(jù)塊為第二數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最小的數(shù)據(jù)塊;容易理解,在獲取第一數(shù)據(jù)塊及第二數(shù)據(jù)塊時,如果第一數(shù)據(jù)塊服務(wù)器中存在兩個數(shù)據(jù)流量相同且最大的數(shù)據(jù)塊或者第二數(shù)據(jù)塊服務(wù)器中存在兩個數(shù)據(jù)流量相同且最小的數(shù)據(jù)塊,那么按照數(shù)據(jù)塊的行鍵確定第一數(shù)據(jù)塊或第二數(shù)據(jù)塊。

當(dāng)然,如果第一數(shù)據(jù)塊屬于元meta表或名稱空間nameSpace表,則結(jié)束本實施例的后續(xù)流程,即在第一數(shù)據(jù)塊屬于meta表或nameSpace表時不需要進行與第二數(shù)據(jù)塊的數(shù)據(jù)請求的交換,因為meta表或nameSpace表的讀寫訪 問相對很小,即meta表或nameSpace表寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量,可以有效地避免在讀寫業(yè)務(wù)量較少的情況下頻繁移動這兩個系統(tǒng)內(nèi)部表。

步驟S30,將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求互換。

其中,第一數(shù)據(jù)塊中的數(shù)據(jù)請求為預(yù)設(shè)時間內(nèi)第一數(shù)據(jù)塊接收到的寫入數(shù)據(jù)和/或讀取數(shù)據(jù)的處理請求,第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求為預(yù)設(shè)時間內(nèi)第二數(shù)據(jù)塊接收到的寫入數(shù)據(jù)和/或讀取數(shù)據(jù)的處理請求;將第一數(shù)據(jù)塊的數(shù)據(jù)請求設(shè)置在第二數(shù)據(jù)塊上,將第二數(shù)據(jù)塊的數(shù)據(jù)處理請求設(shè)置在第一數(shù)據(jù)塊上,使得第一數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量與第二數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量的互換,進而降低了第一數(shù)據(jù)塊服務(wù)器的熱度參數(shù)、提高了第二數(shù)據(jù)塊服務(wù)器的熱度參數(shù),使得數(shù)據(jù)庫的數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量更加均衡。

本實施例中,在第一數(shù)據(jù)塊的數(shù)據(jù)請求與第二數(shù)據(jù)塊的數(shù)據(jù)請求進行交換之后,基于調(diào)整后的數(shù)據(jù)庫更新數(shù)據(jù)庫中的數(shù)據(jù)庫信息,包括更新數(shù)據(jù)塊的寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量信息,以及數(shù)據(jù)塊之間數(shù)據(jù)請求的交換信息等。

在本實施例中,數(shù)據(jù)庫為HBase,數(shù)據(jù)塊服務(wù)器為HBase中的RegionServe,數(shù)據(jù)塊為RegionServe中的Region。

本實施例中,通過獲取數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊,然后互換第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)請求;實現(xiàn)了第一數(shù)據(jù)塊的數(shù)據(jù)請求與第二數(shù)據(jù)塊的數(shù)據(jù)處理請求的互換,使得第一數(shù)據(jù)塊服務(wù)器與第二數(shù)據(jù)塊服務(wù)器之間的數(shù)據(jù)流量更加均衡,進而使數(shù)據(jù)庫能夠及時處理第一數(shù)據(jù)塊的數(shù)據(jù)請求對應(yīng)的業(yè)務(wù),有效地避免了在數(shù)據(jù)庫存在數(shù)據(jù)塊的流量參數(shù)過大時造成數(shù)據(jù)塊服務(wù)器宕機,提高了數(shù)據(jù)庫的性能和工作效率。

參照圖2,圖2為本發(fā)明獲取第一數(shù)據(jù)塊服務(wù)器及第二數(shù)據(jù)塊服務(wù)器的步驟的細(xì)化流程示意圖。

基于第一實施例提出本發(fā)明步驟S10的細(xì)化流程實施例,本實施例中, 步驟S10包括:

步驟S11,獲取預(yù)設(shè)時間內(nèi)數(shù)據(jù)塊的流量參數(shù),其中,所述流量參數(shù)包括寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量;

寫入的數(shù)據(jù)流量是指數(shù)據(jù)塊所有的寫入請求對應(yīng)的數(shù)據(jù)包大小總和,數(shù)據(jù)塊所有的讀取請求對應(yīng)的數(shù)據(jù)包的大小總和,因此,獲取預(yù)設(shè)時間內(nèi)數(shù)據(jù)塊的流量參數(shù)具體是指獲取數(shù)據(jù)塊所有的寫入請求對應(yīng)的數(shù)據(jù)包大小總和及/或數(shù)據(jù)塊所有的讀取請求對應(yīng)的數(shù)據(jù)包的大小總和。當(dāng)然,預(yù)設(shè)時間內(nèi)數(shù)據(jù)塊的流量參數(shù)可以周期性的獲取,也可以根據(jù)預(yù)設(shè)時間間隔獲取。本實施例中,在數(shù)據(jù)庫的每個數(shù)據(jù)塊服務(wù)器數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)塊增加一套讀寫壓力采集服務(wù),周期性采集預(yù)設(shè)時間內(nèi)每個數(shù)據(jù)塊的讀、寫的流量。

步驟S12,獲取所述數(shù)據(jù)塊的流量參數(shù)對應(yīng)的本地性參數(shù)、數(shù)據(jù)塊的歷史熱度參數(shù)及數(shù)據(jù)塊服務(wù)器的分布參數(shù);

其中,所述數(shù)據(jù)塊的流量參數(shù)對應(yīng)的本地性參數(shù)LocalPercent是指數(shù)據(jù)塊寫入的數(shù)據(jù)和/或讀取的數(shù)據(jù)的本地性比率權(quán)重,數(shù)據(jù)塊寫入的數(shù)據(jù)和/或讀取的數(shù)據(jù)中該數(shù)據(jù)塊所屬的數(shù)據(jù)塊服務(wù)器占有的數(shù)據(jù)比例,其取值范圍是[0,1]。

數(shù)據(jù)塊的歷史熱度參數(shù)HistoryPercent是指該數(shù)據(jù)塊的歷史熱度趨勢權(quán)重,其取值范圍是[0,1],根據(jù)該數(shù)據(jù)塊上最近X個(通過參數(shù)配置,默認(rèn)3個)歷史周期訪問請求的曲線斜率趨勢計算得到,其中,斜率越大說明訪問請求一直呈現(xiàn)正向增長的趨勢。

數(shù)據(jù)塊服務(wù)器的分布參數(shù)TablePercent是指表Table的均衡分布率,即數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)塊對應(yīng)的Table的均衡分布率。

步驟S13,基于所述流量參數(shù)、本地性參數(shù)、歷史熱度參數(shù)及分布參數(shù)計算獲得所述數(shù)據(jù)塊服務(wù)器的熱度參數(shù);

數(shù)據(jù)塊服務(wù)器的熱度參數(shù)的計算公式為:

HotScorer=∑[(1-α)×LastQualityScorer+α×CurQualityScorer]×(1/LocalPercent)×(1+HistorySlope)×(1+TablePerCent)

式中,LastQualityScorer為數(shù)據(jù)塊在上個預(yù)設(shè)時間內(nèi)的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量,CurQualityScorer為當(dāng)前預(yù)設(shè)時間內(nèi)數(shù)據(jù)塊的流量參數(shù);α表示上一次該數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)塊的熱度權(quán)重值,其取值范圍為[0,1],如設(shè)置成0就是不考慮上一次的熱度訪問,一般情況下,α的取值為0.5,表示同時 兼顧本次數(shù)據(jù)塊上的熱度與上一次的數(shù)據(jù)塊熱度。

步驟S14,將熱度參數(shù)最大的數(shù)據(jù)塊服務(wù)器作為第一數(shù)據(jù)塊服務(wù)器,并將熱度參數(shù)最小的數(shù)據(jù)塊服務(wù)器作為第二數(shù)據(jù)塊服務(wù)器。

根據(jù)數(shù)據(jù)塊服務(wù)器的熱度參數(shù)將數(shù)據(jù)庫中熱度參數(shù)最大的數(shù)據(jù)塊服務(wù)器設(shè)置為第一數(shù)據(jù)塊服務(wù)器,將數(shù)據(jù)庫中熱度參數(shù)最小的數(shù)據(jù)塊服務(wù)器設(shè)置為二數(shù)據(jù)塊服務(wù)器。當(dāng)然,在獲取所述第一數(shù)據(jù)塊服務(wù)器及第二數(shù)據(jù)塊服務(wù)器過程中,如果數(shù)據(jù)庫中存在兩個熱度參數(shù)相同的最熱的數(shù)據(jù)塊服務(wù)器或兩個熱度參數(shù)相同的最冷的數(shù)據(jù)塊服務(wù)器,則按照數(shù)據(jù)塊服務(wù)器的機器名字典序順序進行選擇順序在前的作為第一數(shù)據(jù)塊服務(wù)器或第二數(shù)據(jù)塊服務(wù)器。

本實施例中,根據(jù)獲取到的流量參數(shù)、本地性參數(shù)、歷史熱度參數(shù)及分布參數(shù)計算獲得數(shù)據(jù)塊服務(wù)器的熱度參數(shù),然后將熱度參數(shù)最大的數(shù)據(jù)塊服務(wù)器作為第一數(shù)據(jù)塊服務(wù)器,并將熱度參數(shù)最小的數(shù)據(jù)塊服務(wù)器作為第二數(shù)據(jù)塊服務(wù)器,進而能夠保證第一數(shù)據(jù)塊服務(wù)器及第二數(shù)據(jù)塊服務(wù)器分別為數(shù)據(jù)庫的最熱的數(shù)據(jù)塊服務(wù)器與最冷的數(shù)據(jù)塊服務(wù)器,進而提高了第一數(shù)據(jù)塊與第二數(shù)據(jù)塊的準(zhǔn)確性,進一步提高了數(shù)據(jù)庫的性能和工作效率。

參照圖3,圖3為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理方法第二實施例的流程示意圖。

基于第二實施例提出本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理方法的第二實施例,本實施例中,在步驟S20之前,數(shù)據(jù)庫的數(shù)據(jù)處理方法還包括:

步驟S40,獲取所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)及第二數(shù)據(jù)塊服務(wù)器的第二熱度參數(shù);

在數(shù)據(jù)塊服務(wù)器的熱度參數(shù)中獲取第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)及第二數(shù)據(jù)塊服務(wù)器的第二熱度參數(shù)。

步驟S50,確定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值是否大于預(yù)設(shè)閾值;

由上述實施例可知,第一熱度參數(shù)大于第二熱度參數(shù),第一熱度參數(shù)與第二熱度參數(shù)的第一差值即第一熱度參數(shù)減去第二熱度參數(shù)的差值大于零,預(yù)設(shè)閾值為數(shù)據(jù)庫中最熱的數(shù)據(jù)塊服務(wù)器與最冷的數(shù)據(jù)塊服務(wù)器之間熱度參數(shù)的最大值,在第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值大于預(yù)設(shè)閾值時,需要平衡最熱的數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)塊與最冷的數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)塊。

在所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值大于預(yù)設(shè)閾值時,執(zhí)行所述獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊的步驟。

即步驟S20替換為:在所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值大于預(yù)設(shè)閾值時,獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊。

本實施例中,通過在第一熱度參數(shù)與第二熱度參數(shù)的第一差值大于預(yù)設(shè)閾值時,執(zhí)行獲取第一數(shù)據(jù)塊服務(wù)器的第一數(shù)據(jù)塊及第二數(shù)據(jù)塊服務(wù)器的第二數(shù)據(jù)塊的步驟,避免了在第一熱度參數(shù)與第二熱度參數(shù)的第一差值未超過預(yù)設(shè)閾值時進行第一數(shù)據(jù)塊的數(shù)據(jù)請求與第二數(shù)據(jù)塊的數(shù)據(jù)請求,進而避免不必要的平衡數(shù)據(jù)庫中數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量,進一步提高了數(shù)據(jù)庫的性能和工作效率。

參照圖4,圖4為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理方法第三實施例的流程示意圖。

基于第三實施例提出本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理方法的第三實施例,本實施例中,在步驟S40與步驟S50之間,該數(shù)據(jù)庫的數(shù)據(jù)處理方法還包括:

步驟S60,確定所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)是否大于預(yù)設(shè)熱度;

本實施例中,可以為數(shù)據(jù)庫中的數(shù)據(jù)塊服務(wù)器設(shè)置對應(yīng)的預(yù)設(shè)熱度,具體的,在數(shù)據(jù)塊服務(wù)器的熱度參數(shù)未超過預(yù)設(shè)熱度時,表示該數(shù)據(jù)塊服務(wù)器未超過其自身數(shù)據(jù)處理的承受能力,即該數(shù)據(jù)塊服務(wù)器中的數(shù)據(jù)塊不需要進行平衡調(diào)整,容易理解,在確定第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)大于預(yù)設(shè)熱度時,表示第一數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)處理能力已超過其自身的承受能力,需要通過第一數(shù)據(jù)塊服務(wù)器中的數(shù)據(jù)塊與其他數(shù)據(jù)塊服務(wù)器中的數(shù)據(jù)塊進行調(diào)整,以平衡數(shù)據(jù)庫中數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量。在第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)未超過預(yù)設(shè)熱度時,此時第一數(shù)據(jù)塊服務(wù)器未超過其自身數(shù)據(jù)處理的承受能力,因此,可以結(jié)束本實施例的流程。

在所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)大于預(yù)設(shè)熱度時,執(zhí)行所述確 定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值是否大于預(yù)設(shè)閾值的步驟。

即步驟S50替換為,在所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)大于預(yù)設(shè)熱度時,確定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值是否大于預(yù)設(shè)閾值。

本實施例中,通過確定第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)是否大于預(yù)設(shè)熱度,然后在第一熱度參數(shù)大于預(yù)設(shè)熱度時,執(zhí)行確定所述第一熱度參數(shù)與第二熱度參數(shù)的第一差值大于預(yù)設(shè)閾值的步驟,進而確定第一數(shù)據(jù)塊服務(wù)器是否需要通過其數(shù)據(jù)塊與其他數(shù)據(jù)塊服務(wù)器中的數(shù)據(jù)塊進行調(diào)整,進一步避免不必要的平衡調(diào)整數(shù)據(jù)庫中數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量,提高了數(shù)據(jù)庫的效率。

基于上述實施例提出本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理方法的第四實施例,本實施例中,在步驟S20與步驟S30之間,該數(shù)據(jù)庫的數(shù)據(jù)處理方法還包括:

基于所述第一數(shù)據(jù)塊及第二數(shù)據(jù)塊生成調(diào)整計劃,其中,調(diào)整計劃中的所述數(shù)據(jù)庫的配置參數(shù)為將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求互換后的各個數(shù)據(jù)塊服務(wù)器的熱度參數(shù)及其對應(yīng)的數(shù)據(jù)塊對應(yīng)的流量參數(shù);

即假設(shè)第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)請求互換完成,即第一數(shù)據(jù)塊服務(wù)器的第一數(shù)據(jù)塊的數(shù)據(jù)流量與第二數(shù)據(jù)塊服務(wù)器的第二數(shù)據(jù)塊的數(shù)據(jù)流量互換完成,根據(jù)互換完成后的數(shù)據(jù)庫的配置參數(shù)生成調(diào)整計劃,當(dāng)然,調(diào)整計劃中第一數(shù)據(jù)塊服務(wù)器以及第二數(shù)據(jù)塊服務(wù)器的熱度參數(shù)為重新計算后的熱度參數(shù),以避免第一數(shù)據(jù)塊服務(wù)器以及第二數(shù)據(jù)塊服務(wù)器為交換后獲取數(shù)據(jù)庫中熱度參數(shù)最大或最小的數(shù)據(jù)塊服務(wù)器時出現(xiàn)錯誤。

獲取調(diào)整計劃中熱度參數(shù)最大的第三數(shù)據(jù)塊服務(wù)器以及熱度參數(shù)最小的第四數(shù)據(jù)塊服務(wù)器,并獲取所述第三數(shù)據(jù)塊服務(wù)器的第三熱度參數(shù)及第四數(shù)據(jù)塊服務(wù)器的第四熱度參數(shù);

確定所述第三熱度參數(shù)與所述第四熱度參數(shù)的第二差值是否大于所述預(yù)設(shè)閾值;

當(dāng)然,在確定所述第三數(shù)據(jù)塊服務(wù)器的第三熱度參數(shù)與所述第四數(shù)據(jù)塊 服務(wù)器的第四熱度參數(shù)的第二差值大于預(yù)設(shè)閾值之前,還可以先確定所述第三數(shù)據(jù)塊服務(wù)器的熱度參數(shù)大于預(yù)設(shè)熱度,以避免不必要的平衡數(shù)據(jù)庫中的數(shù)據(jù)塊服務(wù)器之間的數(shù)據(jù)流量。

在所述第二差值大于所述預(yù)設(shè)閾值時,獲取第三數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第三數(shù)據(jù)塊,以及所述第四數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第四數(shù)據(jù)塊;

在所述將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求互換的步驟之后,所述方法還包括:

將所述第三數(shù)據(jù)塊的數(shù)據(jù)請求與第四數(shù)據(jù)塊的數(shù)據(jù)處理請求進行交換。

將第三數(shù)據(jù)塊的數(shù)據(jù)請求設(shè)置在第四數(shù)據(jù)塊上,將第四數(shù)據(jù)塊的數(shù)據(jù)處理請求設(shè)置在第三數(shù)據(jù)塊上,使得第三數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量與第四數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量的互換。

當(dāng)然,也可以在將所述第三數(shù)據(jù)塊的數(shù)據(jù)請求與第四數(shù)據(jù)塊的數(shù)據(jù)請求進行交換的步驟之前基于第三數(shù)據(jù)塊和第四數(shù)據(jù)塊更新平衡計劃,繼續(xù)循環(huán)判斷數(shù)據(jù)庫中是否存在兩個熱度參數(shù)之差的絕對值大于預(yù)設(shè)閾值的數(shù)據(jù)塊服務(wù)器,繼續(xù)上述步驟,直到數(shù)據(jù)庫中不存在兩個熱度參數(shù)之差的絕對值大于預(yù)設(shè)閾值的數(shù)據(jù)塊服務(wù)器,然后按照平衡計劃依次進行數(shù)據(jù)塊的鏈路交換,使數(shù)據(jù)庫的各個數(shù)據(jù)塊服務(wù)器之間的數(shù)據(jù)流量更加均衡。容易理解,由于數(shù)據(jù)庫在進行數(shù)據(jù)塊的鏈路交換時存在秒級的業(yè)務(wù)暫停,因此,每次進行鏈路交換的數(shù)據(jù)塊不能太多,以避免長時間的業(yè)務(wù)暫停而影響用戶體驗。

本實施例中,通過基于調(diào)整計劃確定熱度參數(shù)最大的第三數(shù)據(jù)塊服務(wù)器以及熱度參數(shù)最小的第四數(shù)據(jù)塊服務(wù)器,然后在確定第二差值大于所述預(yù)設(shè)閾值時,確定第三數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最大的第三數(shù)據(jù)塊以及第四數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最小的第四數(shù)據(jù)塊,最后在步驟S30之后互換第三數(shù)據(jù)塊的數(shù)據(jù)請求與第四數(shù)據(jù)塊的數(shù)據(jù)處理請求;實現(xiàn)了第三數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量與第四數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量的互換,進而降低了第三數(shù)據(jù)塊服務(wù)器的熱度同時提高了第四數(shù)據(jù)塊服務(wù)器的熱度,使得第三數(shù)據(jù)塊服務(wù)器與第四數(shù)據(jù)塊服務(wù)器之間的數(shù)據(jù)流量更加均衡,使數(shù)據(jù)庫能夠及時處理第三數(shù)據(jù)塊的數(shù)據(jù)請求對應(yīng)的業(yè)務(wù),有效地避免了在數(shù)據(jù)庫存在第三數(shù)據(jù)塊的流量參數(shù)過大時造成第三數(shù)據(jù)塊服務(wù)器宕 機,進一步提高了數(shù)據(jù)庫的性能和工作效率。

當(dāng)然,數(shù)據(jù)庫的數(shù)據(jù)處理方法還可以基于表進行負(fù)載平衡,其流程包括:獲取數(shù)據(jù)庫中的表寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量,基于表寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量計算獲得最熱的表與最冷的表;判斷最熱的表的寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量是否超過該表的負(fù)載熱度閾值;在最熱的表的寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量超過負(fù)載熱度閾值時,獲取該表中的最熱的數(shù)據(jù)塊以及最冷的表中的最冷的數(shù)據(jù)塊,然后將最熱的數(shù)據(jù)塊的數(shù)據(jù)請求對應(yīng)的鏈路與最冷的數(shù)據(jù)塊的數(shù)據(jù)請求對應(yīng)的鏈路進行交換。當(dāng)然,基于表表進行負(fù)載平衡的流程也可以按照上述實施例的方式進行循環(huán)執(zhí)行,實現(xiàn)多張表中的數(shù)據(jù)塊的并行遷移,相比數(shù)據(jù)塊服務(wù)器中的數(shù)據(jù)塊遷移,這種基于表的負(fù)載平衡方式在“熱表”不多、“冷表”很多的情況下比較適用,熱表是指該表的數(shù)據(jù)流量超過該表的負(fù)載熱度閥值。

本發(fā)明進一步提供一種數(shù)據(jù)庫的數(shù)據(jù)處理裝置。

參照圖5,圖5為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理裝置第一實施例的功能模塊示意圖。

在本實施例中,該數(shù)據(jù)庫的數(shù)據(jù)處理裝置包括:

第一獲取模塊10,用于獲取各個數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器;

本實施例中,在數(shù)據(jù)庫的每個數(shù)據(jù)塊服務(wù)器中增加一套讀寫壓力采集服務(wù),周期性采集預(yù)設(shè)時間內(nèi)每個數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量,然后確定預(yù)設(shè)時間內(nèi)數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器;也可以在數(shù)據(jù)庫的每個數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)塊中增加一套讀寫壓力采集服務(wù),周期性采集預(yù)設(shè)時間內(nèi)每個數(shù)據(jù)塊的數(shù)據(jù)流量,然后計算數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量,再確定預(yù)設(shè)時間內(nèi)數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器。

第二獲取模塊20,用于獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊;

第二獲取模塊20獲取到的第一數(shù)據(jù)塊為第一數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最大的數(shù)據(jù)塊,獲取到的第二數(shù)據(jù)塊為第二數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最小的數(shù)據(jù)塊;容易理解,在獲取第一數(shù)據(jù)塊及第二數(shù)據(jù)塊時,如果第一數(shù)據(jù)塊服務(wù)器中存在兩個數(shù)據(jù)流量相同且最大的數(shù)據(jù)塊或者第二數(shù)據(jù)塊服務(wù)器中存在兩個數(shù)據(jù)流量相同且最小的數(shù)據(jù)塊,那么按照數(shù)據(jù)塊的行鍵rowkey確定第一數(shù)據(jù)塊或第二數(shù)據(jù)塊。

第一交換模塊30,用于將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求互換。

數(shù)據(jù)請求為預(yù)設(shè)時間內(nèi)數(shù)據(jù)塊接收到的寫入數(shù)據(jù)和/或讀取數(shù)據(jù)的請求,第一交換模塊30將第一數(shù)據(jù)塊的數(shù)據(jù)請求設(shè)置在第二數(shù)據(jù)塊上,將第二數(shù)據(jù)塊的數(shù)據(jù)處理請求設(shè)置在第一數(shù)據(jù)塊上,使得第一數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量與第二數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量的互換,進而降低了第一數(shù)據(jù)塊服務(wù)器的熱度參數(shù)、提高了第二數(shù)據(jù)塊服務(wù)器的熱度參數(shù),使得數(shù)據(jù)庫的數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量更加均衡。

本實施例中,通過第二獲取模塊20獲取數(shù)據(jù)流量最大的第一數(shù)據(jù)塊服務(wù)器中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊以及數(shù)據(jù)流量最小的第二數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊,然后第一交換模塊30互換第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)處理請求;實現(xiàn)了第一數(shù)據(jù)塊的數(shù)據(jù)請求與第二數(shù)據(jù)塊的數(shù)據(jù)處理請求的互換,使得第一數(shù)據(jù)塊服務(wù)器與第二數(shù)據(jù)塊服務(wù)器之間的數(shù)據(jù)流量更加均衡,進而使數(shù)據(jù)庫能夠及時處理第一數(shù)據(jù)塊的數(shù)據(jù)請求對應(yīng)的業(yè)務(wù),有效地避免了在數(shù)據(jù)庫存在數(shù)據(jù)塊的流量參數(shù)過大時造成數(shù)據(jù)塊服務(wù)器宕機,提高了數(shù)據(jù)庫的性能和工作效率。

參照圖6,圖6為圖5中計算模塊的細(xì)化功能模塊示意圖。

基于第一實施例提出本發(fā)明計算模塊20的細(xì)化功能模塊實施例,本實施例中,第一獲取模塊10包括:

第一獲取單元11,用于獲取預(yù)設(shè)時間內(nèi)數(shù)據(jù)塊的流量參數(shù),其中,所述流量參數(shù)包括寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量;

寫入的數(shù)據(jù)流量是指數(shù)據(jù)塊所有的寫入請求對應(yīng)的數(shù)據(jù)包大小總和,數(shù)據(jù)塊所有的讀取請求對應(yīng)的數(shù)據(jù)包的大小總和,因此,獲取預(yù)設(shè)時間內(nèi)數(shù)據(jù) 塊的流量參數(shù)具體是指獲取數(shù)據(jù)塊所有的寫入請求對應(yīng)的數(shù)據(jù)包大小總和及/或數(shù)據(jù)塊所有的讀取請求對應(yīng)的數(shù)據(jù)包的大小總和。當(dāng)然,預(yù)設(shè)時間內(nèi)數(shù)據(jù)塊的流量參數(shù)可以周期性的獲取,也可以根據(jù)預(yù)設(shè)時間間隔獲取。本實施例中,在數(shù)據(jù)庫的每個數(shù)據(jù)塊服務(wù)器數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)塊增加一套讀寫壓力采集服務(wù),周期性采集預(yù)設(shè)時間內(nèi)每個數(shù)據(jù)塊的讀、寫的流量。

第二獲取單元12,用于獲取所述數(shù)據(jù)塊的流量參數(shù)對應(yīng)的本地性參數(shù)、數(shù)據(jù)塊的歷史熱度參數(shù)及數(shù)據(jù)塊服務(wù)器的分布參數(shù);

其中,所述數(shù)據(jù)塊的流量參數(shù)對應(yīng)的本地性參數(shù)LocalPercent是指數(shù)據(jù)塊寫入的數(shù)據(jù)和/或讀取的數(shù)據(jù)的本地性比率權(quán)重,數(shù)據(jù)塊寫入的數(shù)據(jù)和/或讀取的數(shù)據(jù)中該數(shù)據(jù)塊所屬的數(shù)據(jù)塊服務(wù)器占有的數(shù)據(jù)比例,其取值范圍是[0,1]。

數(shù)據(jù)塊的歷史熱度參數(shù)HistoryPercent是指該數(shù)據(jù)塊的歷史熱度趨勢權(quán)重,其取值范圍是[0,1],根據(jù)該數(shù)據(jù)塊上最近X個(通過參數(shù)配置,默認(rèn)3個)歷史周期訪問請求的曲線斜率趨勢計算得到,其中,斜率越大說明訪問請求一直呈現(xiàn)正向增長的趨勢。

數(shù)據(jù)塊服務(wù)器的分布參數(shù)TablePercent是指表Table的均衡分布率,即數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)塊對應(yīng)的表Table的均衡分布率。

計算單元13,用于基于所述流量參數(shù)、本地性參數(shù)、歷史熱度參數(shù)及分布參數(shù)計算獲得所述數(shù)據(jù)塊服務(wù)器的熱度參數(shù);

數(shù)據(jù)塊服務(wù)器的熱度參數(shù)的計算公式為:

HotScorer=∑[(1-α)×LastQualityScorer+α×CurQualityScorer]×(1/LocalPercent)×(1+HistorySlope)×(1+TablePerCent)

式中,LastQualityScorer為數(shù)據(jù)塊在上個預(yù)設(shè)時間內(nèi)的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量,CurQualityScorer為當(dāng)前預(yù)設(shè)時間內(nèi)數(shù)據(jù)塊的流量參數(shù);α表示上一次該數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)塊的熱度權(quán)重值,其取值范圍為[0,1],如設(shè)置成0就是不考慮上一次的熱度訪問,一般情況下,α的取值為0.5,表示同時兼顧本次數(shù)據(jù)塊上的熱度與上一次的數(shù)據(jù)塊熱度。

設(shè)置單元14,用于將熱度參數(shù)最大的數(shù)據(jù)塊服務(wù)器作為第一數(shù)據(jù)塊服務(wù)器,并將熱度參數(shù)最小的數(shù)據(jù)塊服務(wù)器作為第二數(shù)據(jù)塊服務(wù)器。

本實施例中,通過計算單元13根據(jù)獲取到的流量參數(shù)、本地性參數(shù)、歷史熱度參數(shù)及分布參數(shù)計算獲得數(shù)據(jù)塊服務(wù)器的熱度參數(shù),然后設(shè)置單元 14將熱度參數(shù)最大的數(shù)據(jù)塊服務(wù)器作為第一數(shù)據(jù)塊服務(wù)器,并將熱度參數(shù)最小的數(shù)據(jù)塊服務(wù)器作為第二數(shù)據(jù)塊服務(wù)器,進而能夠保證第一數(shù)據(jù)塊服務(wù)器及第二數(shù)據(jù)塊服務(wù)器分別為數(shù)據(jù)庫的最熱的數(shù)據(jù)塊服務(wù)器與最冷的數(shù)據(jù)塊服務(wù)器,進而提高了第一數(shù)據(jù)塊與第二數(shù)據(jù)塊的準(zhǔn)確性,進一步提高了數(shù)據(jù)庫的性能和工作效率。

參照圖7,圖7為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理裝置第二實施例的功能模塊示意圖。

基于第二實施例提出本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理裝置的第二實施例,本實施例中,數(shù)據(jù)庫的數(shù)據(jù)處理裝置還包括:

第三獲取模塊40,用于獲取所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)及第二數(shù)據(jù)塊服務(wù)器的第二熱度參數(shù);

第一確定模塊50,用于確定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值是否大于預(yù)設(shè)閾值;

第二獲取模塊20還用于在所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值大于預(yù)設(shè)閾值時,獲取第一數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第一數(shù)據(jù)塊,以及所述第二數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第二數(shù)據(jù)塊。

本實施例中,通過第三獲取模塊40獲取第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)及第二數(shù)據(jù)塊服務(wù)器的第二熱度參數(shù),然后第二獲取模塊20在所述第一確定模塊50確定第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值大于預(yù)設(shè)閾值時,獲取所述第一數(shù)據(jù)塊服務(wù)器的第一數(shù)據(jù)塊及所述第二數(shù)據(jù)塊服務(wù)器的第二數(shù)據(jù)塊;避免了在第一熱度參數(shù)與第二熱度參數(shù)的第一差值未超過預(yù)設(shè)閾值時進行第一數(shù)據(jù)塊的數(shù)據(jù)請求與第二數(shù)據(jù)塊的數(shù)據(jù)請求,進而避免不必要的平衡數(shù)據(jù)庫中數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量,進一步提高了數(shù)據(jù)庫的性能和工作效率。

參照圖8,圖8為本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理裝置第三實施例的功能模塊示意圖。

基于第三實施例提出本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理裝置的第三實施例,本實 施例中,數(shù)據(jù)庫的數(shù)據(jù)處理裝置還包括:

第二確定模塊60,用于確定所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)是否大于預(yù)設(shè)熱度;

所述第一確定模塊還用于在所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)大于預(yù)設(shè)熱度時,確定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值是否大于預(yù)設(shè)閾值。

本實施例中,通過第二確定模塊60確定所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)大于預(yù)設(shè)熱度,然后第一確定模塊60在所述第一數(shù)據(jù)塊服務(wù)器的第一熱度參數(shù)大于預(yù)設(shè)熱度時,確定所述第一熱度參數(shù)與所述第二熱度參數(shù)的第一差值大于預(yù)設(shè)閾值;進而確定第一數(shù)據(jù)塊服務(wù)器是否需要通過其數(shù)據(jù)塊與其他數(shù)據(jù)塊服務(wù)器中的數(shù)據(jù)塊進行調(diào)整,進一步避免不必要的平衡調(diào)整數(shù)據(jù)庫中數(shù)據(jù)塊服務(wù)器的數(shù)據(jù)流量,提高了數(shù)據(jù)庫的效率。

基于上述實施例提出本發(fā)明數(shù)據(jù)庫的數(shù)據(jù)處理裝置的第四實施例,本實施例中,該數(shù)據(jù)庫的數(shù)據(jù)處理裝置還包括:

生成模塊,用于基于所述第一數(shù)據(jù)塊及第二數(shù)據(jù)塊生成調(diào)整計劃,其中,調(diào)整計劃中的所述數(shù)據(jù)庫的配置參數(shù)為將所述第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)請求互換后的各個數(shù)據(jù)塊服務(wù)器的熱度參數(shù)及其對應(yīng)的數(shù)據(jù)塊對應(yīng)的流量參數(shù);

假設(shè)第一數(shù)據(jù)塊中的數(shù)據(jù)請求與第二數(shù)據(jù)塊中的數(shù)據(jù)請求互換完成,即第一數(shù)據(jù)塊服務(wù)器的第一數(shù)據(jù)塊的數(shù)據(jù)流量與第二數(shù)據(jù)塊服務(wù)器的第二數(shù)據(jù)塊的數(shù)據(jù)流量互換完成,根據(jù)互換完成后的數(shù)據(jù)庫的配置參數(shù)生成調(diào)整計劃,當(dāng)然,調(diào)整計劃中第一數(shù)據(jù)塊服務(wù)器以及第二數(shù)據(jù)塊服務(wù)器的熱度參數(shù)為重新計算后的熱度參數(shù),以避免第一數(shù)據(jù)塊服務(wù)器以及第二數(shù)據(jù)塊服務(wù)器為交換后獲取數(shù)據(jù)庫中熱度參數(shù)最大或最小的數(shù)據(jù)塊服務(wù)器時出現(xiàn)錯誤。

第四獲取模塊,用于獲取調(diào)整計劃中熱度參數(shù)最大的第三數(shù)據(jù)塊服務(wù)器以及熱度參數(shù)最小的第四數(shù)據(jù)塊服務(wù)器,并獲取所述第三數(shù)據(jù)塊服務(wù)器的第三熱度參數(shù)及第四數(shù)據(jù)塊服務(wù)器的第四熱度參數(shù);

第三確定模塊,用于確定所述第三熱度參數(shù)與所述第四熱度參數(shù)的第二差值是否大于所述預(yù)設(shè)閾值;

當(dāng)然,在第三確定模塊確定所述第三數(shù)據(jù)塊服務(wù)器的第三熱度參數(shù)與所述第四數(shù)據(jù)塊服務(wù)器的第四熱度參數(shù)的第二差值大于預(yù)設(shè)閾值之前,還可以先確定所述第三數(shù)據(jù)塊服務(wù)器的熱度參數(shù)大于預(yù)設(shè)熱度,以避免不必要的平衡數(shù)據(jù)庫中的數(shù)據(jù)塊服務(wù)器之間的數(shù)據(jù)流量。

第五獲取模塊,用于在所述第二差值大于所述預(yù)設(shè)閾值時,獲取第三數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中的數(shù)據(jù)流量最大的第三數(shù)據(jù)塊,以及所述第四數(shù)據(jù)塊服務(wù)器對應(yīng)的各個數(shù)據(jù)塊中數(shù)據(jù)流量最小的第四數(shù)據(jù)塊;

第二交換模塊,用于將所述第三數(shù)據(jù)塊的數(shù)據(jù)請求與第四數(shù)據(jù)塊的數(shù)據(jù)處理請求互換。

第二交換模塊將第三數(shù)據(jù)塊的數(shù)據(jù)請求設(shè)置在第四數(shù)據(jù)塊上,將第四數(shù)據(jù)塊的數(shù)據(jù)處理請求設(shè)置在第三數(shù)據(jù)塊上,使得第三數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量與第四數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量的互換。

本實施例中,通過第四獲取模塊基于調(diào)整計劃確定熱度參數(shù)最大的第三數(shù)據(jù)塊服務(wù)器以及熱度參數(shù)最小的第四數(shù)據(jù)塊服務(wù)器,然后在第三確定模塊確定第二差值大于所述預(yù)設(shè)閾值時,第五獲取模塊確定第三數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最大的第三數(shù)據(jù)塊以及第四數(shù)據(jù)塊服務(wù)器中數(shù)據(jù)流量最小的第四數(shù)據(jù)塊,最后第二交換模塊互換第三數(shù)據(jù)塊的數(shù)據(jù)請求與第四數(shù)據(jù)塊的數(shù)據(jù)處理請求;實現(xiàn)了第三數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量與第四數(shù)據(jù)塊寫入的數(shù)據(jù)流量和/或讀取的數(shù)據(jù)流量的互換,進而降低了第三數(shù)據(jù)塊服務(wù)器的熱度同時提高了第四數(shù)據(jù)塊服務(wù)器的熱度,使得第三數(shù)據(jù)塊服務(wù)器與第四數(shù)據(jù)塊服務(wù)器之間的數(shù)據(jù)流量更加均衡,使數(shù)據(jù)庫能夠及時處理第三數(shù)據(jù)塊的數(shù)據(jù)請求對應(yīng)的業(yè)務(wù),有效地避免了在數(shù)據(jù)庫存在第三數(shù)據(jù)塊的流量參數(shù)過大時造成第三數(shù)據(jù)塊服務(wù)器宕機,進一步提高了數(shù)據(jù)庫的性能和工作效率。

以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1