本申請涉及計(jì)算機(jī)數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種負(fù)載均衡方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)應(yīng)用的快速發(fā)展,網(wǎng)絡(luò)系統(tǒng)需要處理的數(shù)據(jù)量也越來越大,相應(yīng)地對數(shù)據(jù)存儲要求也越來越高。數(shù)據(jù)庫的負(fù)載是否均衡對業(yè)務(wù)系統(tǒng)的數(shù)據(jù)處理效率至關(guān)重要,因此在數(shù)據(jù)存儲和處理過程中通常需要保障數(shù)據(jù)庫良好的負(fù)載均衡。
現(xiàn)有技術(shù)中,在數(shù)據(jù)存儲時(shí)通常根據(jù)某個規(guī)則對數(shù)據(jù)進(jìn)行分庫分表來保證數(shù)據(jù)庫的負(fù)載均衡。例如,利用傳統(tǒng)的hash映射的方式來代表數(shù)據(jù)內(nèi)容和數(shù)據(jù)存儲地址之間的映射關(guān)系,將數(shù)據(jù)存儲到相應(yīng)的數(shù)據(jù)庫。具體的,數(shù)據(jù)分配可以包括:將代表數(shù)據(jù)內(nèi)容和數(shù)據(jù)存放地址之間映射關(guān)系的存儲標(biāo)識編碼在待處理數(shù)據(jù)的ID上;將所述待處理數(shù)據(jù)存儲在所述存儲標(biāo)識對應(yīng)的存儲地址。進(jìn)一步的,當(dāng)所述待處理數(shù)據(jù)需要進(jìn)行加載處理時(shí),可以確定與所述存儲標(biāo)識相對應(yīng)的加載標(biāo)識;從所述加載標(biāo)識對應(yīng)的存儲地址中加載所述數(shù)據(jù),進(jìn)行數(shù)據(jù)處理。
隨著業(yè)務(wù)的發(fā)展,現(xiàn)有技術(shù)中數(shù)據(jù)存儲方案有可能導(dǎo)致數(shù)據(jù)庫中存儲的數(shù)據(jù)分布不均,數(shù)據(jù)庫壓力不一致。因此,現(xiàn)有技術(shù)中亟需一種有效的負(fù)載均衡策略保證數(shù)據(jù)庫的負(fù)載均衡。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例的目的是提供一種負(fù)載均衡方法及裝置,以實(shí)現(xiàn)均衡分配數(shù)據(jù),達(dá)到數(shù)據(jù)庫負(fù)載均衡的目的。
本申請實(shí)施例提供一種負(fù)載均衡方法及裝置是這樣實(shí)現(xiàn)的:
一種負(fù)載均衡方法,所述方法包括:
獲取待處理業(yè)務(wù)數(shù)據(jù),為所述待處理業(yè)務(wù)數(shù)據(jù)設(shè)置存儲標(biāo)識;
根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值;
基于所述存儲標(biāo)識的賦值將所述待處理業(yè)務(wù)數(shù)據(jù)存儲到相應(yīng)的存儲位置,形成已處理業(yè)務(wù)數(shù)據(jù)。
一種負(fù)載均衡裝置,所述裝置包括:
數(shù)據(jù)獲取模塊,用于獲取待處理業(yè)務(wù)數(shù)據(jù);
第一設(shè)置模塊,用于為所述待處理業(yè)務(wù)數(shù)據(jù)設(shè)置存儲標(biāo)識;
賦值模塊,用于根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值;
均衡處理模塊,用于基于所述存儲標(biāo)識的賦值將所述待處理業(yè)務(wù)數(shù)據(jù)存儲到相應(yīng)的存儲位置,形成已處理業(yè)務(wù)數(shù)據(jù)。
本申請實(shí)施例通過為獲取的待處理業(yè)務(wù)數(shù)據(jù)設(shè)置存儲標(biāo)識,并利用結(jié)合了實(shí)際負(fù)載情況的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值;基于所述存儲標(biāo)識的賦值將所述待處理業(yè)務(wù)數(shù)據(jù)存儲到相應(yīng)的存儲位置,形成已處理業(yè)務(wù)數(shù)據(jù)。這樣可以根據(jù)實(shí)際負(fù)載情況均衡分配數(shù)據(jù),保證數(shù)據(jù)庫負(fù)載均衡。與現(xiàn)有技術(shù)相比,有效改善了因數(shù)據(jù)入庫規(guī)則單一導(dǎo)致的數(shù)據(jù)分布不均,數(shù)據(jù)庫壓力不一致的問題,實(shí)現(xiàn)了均衡分配數(shù)據(jù),達(dá)到了數(shù)據(jù)庫負(fù)載均衡的目的。
附圖說明
為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本申請?zhí)峁┑囊环N負(fù)載均衡方法的一種流程示意圖;
圖2是本申請?zhí)峁┑囊环N負(fù)載均衡方法的另一流程示意圖;
圖3是本申請?zhí)峁┑囊环N負(fù)載均衡的裝置的一種示意圖;
圖4是本申請?zhí)峁┑囊环N負(fù)載均衡的裝置的另一種示意圖;
圖5是本申請?zhí)峁┑囊环N負(fù)載均衡的裝置的另一種示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。
以下以幾個具體的例子詳細(xì)說明本申請實(shí)施例的具體實(shí)現(xiàn)。
以下首先介紹本申請一種負(fù)載均衡的方法的實(shí)施例。圖1是說明根據(jù)本申請某些實(shí)施例提供的負(fù)載均衡方法的流程示意圖,本申請?zhí)峁┝巳鐚?shí)施例或流程圖所述的方法操作步驟,但基于常規(guī)或者無創(chuàng)造性的勞動可以包括更多或者更少的操作步驟。實(shí)施例中列舉的步驟順 序僅僅為眾多步驟執(zhí)行順序中的一種方式,不代表唯一的執(zhí)行順序。在實(shí)際中的裝置或客戶端產(chǎn)品執(zhí)行時(shí),可以按照實(shí)施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。具體的如圖1所示,所述方法可以包括:
S110:獲取待處理業(yè)務(wù)數(shù)據(jù),為所述待處理業(yè)務(wù)數(shù)據(jù)設(shè)置存儲標(biāo)識。
在一些實(shí)施例中,可以獲取待處理業(yè)務(wù)數(shù)據(jù),為所述待處理業(yè)務(wù)數(shù)據(jù)設(shè)置存儲標(biāo)識。具體的,所述待處理業(yè)務(wù)數(shù)據(jù)可以包括業(yè)務(wù)處理過程中需要進(jìn)行入庫存儲的數(shù)據(jù)。具體的,所述存儲標(biāo)識可以代表所述待處理業(yè)務(wù)數(shù)據(jù)與所述待處理業(yè)務(wù)數(shù)據(jù)存儲位置之間的映射關(guān)系。本實(shí)施例中根據(jù)待處理業(yè)務(wù)數(shù)據(jù)的存儲標(biāo)識可以執(zhí)行將所述待處理業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲的操作。
在一個具體的實(shí)施例中,以微博消息通知系統(tǒng)為例,假設(shè)某微博賬號用戶發(fā)表了一條微博。相應(yīng)的,所述微博需要廣播通知給所述微博賬號用戶的粉絲;假設(shè)所述微博賬號用戶的粉絲數(shù)為1000,那么1000個粉絲就需要生成1000條通知記錄,所述1000條通知記錄可以作為業(yè)務(wù)處理過程中需要進(jìn)行入庫存儲的數(shù)據(jù)。然后可以為所述微博設(shè)置存儲標(biāo)識store_ddl_flag。
S120:根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值。
在一些實(shí)施例中,在步驟S110獲取待處理業(yè)務(wù)數(shù)據(jù)之后,可以根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值。所述存儲標(biāo)識的賦值可以包括根據(jù)所述設(shè)置的負(fù)載均衡規(guī)則設(shè)置的所述待處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識的賦值。
具體的,在一些實(shí)施例中,所述負(fù)載均衡規(guī)則可以包括根據(jù)數(shù)據(jù)庫的數(shù)據(jù)負(fù)載情況將指定位置的業(yè)務(wù)數(shù)據(jù)遷移至預(yù)設(shè)數(shù)據(jù)庫。相應(yīng)的,所述根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值可以包括:基于所述待處理業(yè)務(wù)數(shù)據(jù)遷移至預(yù)設(shè)數(shù)據(jù)庫的存儲地址設(shè)置所述存儲標(biāo)識的賦值。
具體的,在一些實(shí)施例中,所述負(fù)載均衡規(guī)則可以包括根據(jù)數(shù)據(jù)庫的數(shù)據(jù)負(fù)載情況設(shè)置相應(yīng)業(yè)務(wù)類型的業(yè)務(wù)數(shù)據(jù)的存儲數(shù)據(jù)庫。相應(yīng)的,所述根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值可以包括:獲取所述待處理業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)類型,根據(jù)與所述待處理業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)類型相對應(yīng)的存儲數(shù)據(jù)庫的地址設(shè)置所述存儲標(biāo)識的賦值。所述預(yù)設(shè)業(yè)務(wù)類型可以包括一個業(yè)務(wù)類型和/或多個業(yè)務(wù)類型。所述數(shù)據(jù)庫的負(fù)載情況可以包括數(shù)據(jù)庫中存儲的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)量信息,還可以包括所述數(shù)據(jù)庫中存儲的業(yè)務(wù)數(shù)據(jù)所屬業(yè)務(wù)類型的自相關(guān)數(shù)據(jù)量屬性。所述業(yè)務(wù)類型的自相關(guān)數(shù)據(jù)量屬性可以包括所述業(yè)務(wù)類型的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)量信息。在一個具體的實(shí)施例中,以微博消息通知系統(tǒng)為例,所述業(yè)務(wù)類型的自相關(guān)數(shù)據(jù)量屬性可以包 括某一微博賬號用戶相關(guān)的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)量信息。這里不同的微博賬號用戶對應(yīng)著不同的業(yè)務(wù)類型,每個微博賬號用戶的通知記錄等相關(guān)的業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)量對應(yīng)著該微博賬號用戶的自相關(guān)數(shù)據(jù)量屬性。
本實(shí)施例中,為所述待處理業(yè)務(wù)數(shù)據(jù)設(shè)置了相應(yīng)的存儲標(biāo)識之后,可以根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值。
S130:基于所述存儲標(biāo)識的賦值將所述待處理業(yè)務(wù)數(shù)據(jù)存儲到相應(yīng)的存儲位置,形成已處理業(yè)務(wù)數(shù)據(jù)。
在一些實(shí)施例中,在步驟S120之后,可以基于所述存儲標(biāo)識的賦值將所述待處理業(yè)務(wù)數(shù)據(jù)存儲到相應(yīng)的存儲位置,形成已處理業(yè)務(wù)數(shù)據(jù)。
圖2是本申請?zhí)峁┑囊环N負(fù)載均衡方法的另一流程示意圖。在一些實(shí)施例中,在步驟S130之后,如圖2所示,所述方法還可以包括:
S140:為所述已處理業(yè)務(wù)數(shù)據(jù)設(shè)置加載標(biāo)識,所述加載標(biāo)識被設(shè)置成用于基于所述已處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識中的賦值加載所述已處理業(yè)務(wù)數(shù)據(jù)。
在一些實(shí)施例中,所述已處理業(yè)務(wù)數(shù)據(jù)在存儲之后可以進(jìn)行加載處理。相應(yīng)的,可以為所述已處理業(yè)務(wù)數(shù)據(jù)設(shè)置加載標(biāo)識,所述加載標(biāo)識被設(shè)置成用于基于所述已處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識中的賦值加載所述已處理業(yè)務(wù)數(shù)據(jù)。具體的,所述加載標(biāo)識可以為load_ddl_flag。
所述已處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識可以與所述待處理業(yè)務(wù)數(shù)據(jù)的存儲標(biāo)識相對應(yīng),代表所述已處理業(yè)務(wù)數(shù)據(jù)與所述已處理業(yè)務(wù)數(shù)據(jù)存儲位置之間的映射關(guān)系。本實(shí)施例中根據(jù)已處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識可以執(zhí)行將所述已處理業(yè)務(wù)數(shù)據(jù)進(jìn)行加載的操作。在一些實(shí)施例中,所述待處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識的賦值可以與所述已處理業(yè)務(wù)數(shù)據(jù)的存儲標(biāo)識的賦值一致。此外,在一些實(shí)施例中,所述待處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識的賦值可以與所述已處理業(yè)務(wù)數(shù)據(jù)的存儲標(biāo)識的賦值不一致,但所述已處理業(yè)務(wù)數(shù)據(jù)加載標(biāo)識的賦值所對應(yīng)的負(fù)載均衡規(guī)則與所述待處理業(yè)務(wù)數(shù)據(jù)的存儲標(biāo)識的賦值所對應(yīng)的負(fù)載均衡規(guī)則一致。
具體的,所述加載標(biāo)識的賦值可以包括:根據(jù)所述設(shè)置的負(fù)載均衡規(guī)則設(shè)置的所述已處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識的賦值。具體的,例如在一個實(shí)施例中,若所述負(fù)載均衡規(guī)則包括:根據(jù)數(shù)據(jù)庫的數(shù)據(jù)負(fù)載情況將指定位置的業(yè)務(wù)數(shù)據(jù)遷移至預(yù)設(shè)數(shù)據(jù)庫時(shí),相應(yīng)的,所述根據(jù)所述設(shè)置的負(fù)載均衡規(guī)則設(shè)置的所述已處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識的賦值可以包括:基于所述已處理業(yè)務(wù)數(shù)據(jù)在遷移至的所述預(yù)設(shè)數(shù)據(jù)庫的存儲地址設(shè)置的所述加載標(biāo)識的賦值。如上所述,若所述負(fù)載均衡規(guī)則包括:根據(jù)數(shù)據(jù)庫的數(shù)據(jù)負(fù)載情況設(shè)置相應(yīng)業(yè)務(wù)類型的業(yè)務(wù)數(shù)據(jù)的存儲數(shù)據(jù)庫時(shí),相應(yīng)的,所述根據(jù)所述設(shè)置的負(fù)載均衡規(guī)則設(shè)置的所述已處理業(yè)務(wù)數(shù)據(jù)的加 載標(biāo)識的賦值包括:根據(jù)所述已處理業(yè)務(wù)數(shù)據(jù)存儲至所述存儲數(shù)據(jù)庫的地址設(shè)置所述加載標(biāo)識的賦值。
此外,以步驟S120中所述微博消息通知系統(tǒng)中B類型業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)負(fù)載均衡規(guī)則有變化的情況為例。當(dāng)所述負(fù)載均衡規(guī)則變化時(shí),所述B類型業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)的存儲標(biāo)識的賦值和加載標(biāo)識的賦值均進(jìn)行相應(yīng)的調(diào)整。在這種負(fù)載均衡規(guī)則變換的過程中,可能會因?yàn)榇鎯εc加載之間有一定的時(shí)間延時(shí),或存在數(shù)據(jù)存儲完之后系統(tǒng)停機(jī)維護(hù)等原因,導(dǎo)致在B類型業(yè)務(wù)的新業(yè)務(wù)數(shù)據(jù)按照新的存儲標(biāo)識的賦值存儲到相應(yīng)數(shù)據(jù)庫后,原來的業(yè)務(wù)數(shù)據(jù)(原來的通知記錄)并沒有加載完。那么數(shù)據(jù)加載過程可以包括基于原來的加載標(biāo)識的賦值從相應(yīng)的數(shù)據(jù)庫加載原來的業(yè)務(wù)數(shù)據(jù);在加載完原來的業(yè)務(wù)數(shù)據(jù)之后,可以切換調(diào)整后的加載標(biāo)識的賦值,基于調(diào)整后的加載標(biāo)識的賦值從相應(yīng)的數(shù)據(jù)庫加載新的業(yè)務(wù)數(shù)據(jù)。此外,所述數(shù)據(jù)加載過程還可以包括遍歷B類型業(yè)務(wù)調(diào)整前后的加載標(biāo)識的賦值,并分別基于調(diào)整前后的加載標(biāo)識的賦值從相應(yīng)的數(shù)據(jù)庫加載業(yè)務(wù)數(shù)據(jù)。
在一些實(shí)施例中,在步驟S140之后,所述方法還可以包括:在所述設(shè)置的負(fù)載均衡規(guī)則發(fā)生更改時(shí),相應(yīng)的修改所述存儲標(biāo)識和/或加載標(biāo)識的賦值,以使業(yè)務(wù)系統(tǒng)基于所述存儲標(biāo)識和/或加載標(biāo)識修改后的賦值在所述更改后的負(fù)載均衡規(guī)則下進(jìn)行業(yè)務(wù)數(shù)據(jù)的存儲和/或加載。
所述業(yè)務(wù)系統(tǒng)可以包括利用所述負(fù)載均衡方法進(jìn)行業(yè)務(wù)處理的系統(tǒng)服務(wù)器等。在實(shí)際應(yīng)用中,隨著業(yè)務(wù)的發(fā)展,數(shù)據(jù)庫的負(fù)載情況可能發(fā)生變化,這時(shí)所述負(fù)載均衡規(guī)則可以根據(jù)具體的負(fù)載情況進(jìn)行相應(yīng)的調(diào)整。相應(yīng)的,當(dāng)負(fù)載均衡規(guī)則進(jìn)行了相應(yīng)的調(diào)整之后,就可重新進(jìn)行負(fù)載均衡處理。當(dāng)重新進(jìn)行負(fù)載均衡時(shí),可以根據(jù)所述負(fù)載均衡規(guī)則修改相應(yīng)業(yè)務(wù)數(shù)據(jù)的存儲標(biāo)識的賦值。
在一個具體的實(shí)施例中,以微博消息通知系統(tǒng)為例,假設(shè)某一段時(shí)間內(nèi)A、B、C三個微博賬號用戶分別代表三種不同類型的業(yè)務(wù)數(shù)據(jù),且A用戶有1000個粉絲,B用戶有500個粉絲,C用戶有2000個粉絲。假設(shè)A用戶對應(yīng)A類型業(yè)務(wù),B用戶對應(yīng)B類型業(yè)務(wù),C用戶對應(yīng)C類型業(yè)務(wù),且A類型業(yè)務(wù)和B類型業(yè)務(wù)這兩種業(yè)務(wù)類型的業(yè)務(wù)數(shù)據(jù)的存儲標(biāo)識的賦值一樣。那么,可以假設(shè)A類型業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)和B類型業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)均存儲在數(shù)據(jù)庫中X中,C類型業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)存儲在數(shù)據(jù)庫Y中。相應(yīng)的,當(dāng)A、B、C三個用戶發(fā)表了微博,A用戶有1000個粉絲,A類型業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)可以包括1000條通知記錄;B用戶有500個粉絲,B類型業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)可以包括500條通知記錄;C用戶有2000個粉絲,C類型業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)可以包括2000條通知記錄。相應(yīng)的,數(shù)據(jù)庫X中會存儲1500條通知記錄,數(shù)據(jù)庫Y中會存儲2000條通知記錄。假設(shè)隨著發(fā)展,A用戶發(fā)展為大V用戶,A用戶 的粉絲數(shù)變?yōu)?000個。當(dāng)進(jìn)行新的業(yè)務(wù)請求(發(fā)布微博)時(shí),數(shù)據(jù)庫X中就可能需要存儲3500條通知記錄,數(shù)據(jù)庫Y中可能需要存儲2000條通知記錄,這就導(dǎo)致數(shù)據(jù)庫X和數(shù)據(jù)庫Y間的數(shù)據(jù)分布不平衡。這時(shí)候可以根據(jù)數(shù)據(jù)庫負(fù)載情況修改負(fù)載均衡規(guī)則,使數(shù)據(jù)庫相對平衡。比如將B類型業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)的存儲位置修改為數(shù)據(jù)庫Y的位置,相應(yīng)的,可以調(diào)整B類型業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)的存儲標(biāo)識的賦值。后續(xù)B類型業(yè)務(wù)有新的業(yè)務(wù)數(shù)據(jù)時(shí),所述新的業(yè)務(wù)數(shù)據(jù)可以存儲到數(shù)據(jù)庫Y中。這樣當(dāng)A、B、C三個用戶發(fā)表了微博之后,數(shù)據(jù)庫X中可以存儲3000條通知記錄,數(shù)據(jù)庫Y中可以存儲2500條通知記錄,重新實(shí)現(xiàn)了數(shù)據(jù)庫的負(fù)載均衡。
由此可見,本申請一種負(fù)載均衡方法的實(shí)施例提供的技術(shù)方案通過為獲取的待處理業(yè)務(wù)數(shù)據(jù)設(shè)置存儲標(biāo)識,并利用結(jié)合了實(shí)際負(fù)載情況的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值;基于所述存儲標(biāo)識的賦值將所述待處理業(yè)務(wù)數(shù)據(jù)存儲到相應(yīng)的存儲位置,形成已處理業(yè)務(wù)數(shù)據(jù)。相應(yīng)的,后續(xù)可以為所述待處理業(yè)務(wù)數(shù)據(jù)設(shè)置加載標(biāo)識,根據(jù)所述結(jié)合了實(shí)際負(fù)載情況的負(fù)載均衡規(guī)則確定所述加載標(biāo)識的賦值。這樣可以根據(jù)實(shí)際負(fù)載情況均衡分配數(shù)據(jù),保證數(shù)據(jù)庫負(fù)載均衡。與現(xiàn)有技術(shù)相比,有效改善了因數(shù)據(jù)入庫規(guī)則單一導(dǎo)致的數(shù)據(jù)分布不均,數(shù)據(jù)庫壓力不一致的問題,實(shí)現(xiàn)了均衡分配數(shù)據(jù),達(dá)到了數(shù)據(jù)庫負(fù)載均衡的目的。
基于本申請所述的負(fù)載均衡方法,本申請?zhí)峁┮环N負(fù)載均衡裝置。以下介紹本申請一種負(fù)載均衡裝置的實(shí)施例,圖3是本申請一種負(fù)載均衡的裝置的一種示意圖,結(jié)合附圖3,該裝置300可以包括:
數(shù)據(jù)獲取模塊310,可以用于獲取待處理業(yè)務(wù)數(shù)據(jù)。
第一設(shè)置模塊320,可以用于為所述待處理業(yè)務(wù)數(shù)據(jù)設(shè)置存儲標(biāo)識。
賦值模塊330,可以用于根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值。
均衡處理模塊340,可以用于基于所述存儲標(biāo)識的賦值將所述待處理業(yè)務(wù)數(shù)據(jù)存儲到相應(yīng)的存儲位置,形成已處理業(yè)務(wù)數(shù)據(jù)。
在一個優(yōu)選的實(shí)施例中,圖4是本申請一種負(fù)載均衡的裝置的另一種示意圖,結(jié)合附圖4,該裝置300還可以包括:
第二設(shè)置模塊350,可以用于為所述待處理業(yè)務(wù)數(shù)據(jù)設(shè)置加載標(biāo)識,所述加載標(biāo)識被設(shè)置成用于基于所述已處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識中的賦值加載所述已處理業(yè)務(wù)數(shù)據(jù)。
相應(yīng)的,所述賦值模塊還用于根據(jù)所述設(shè)置的負(fù)載均衡規(guī)則確定所述已處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識的賦值。
在一個優(yōu)選的實(shí)施例中,所述負(fù)載均衡規(guī)則可以包括:
根據(jù)數(shù)據(jù)庫的數(shù)據(jù)負(fù)載情況將指定位置的業(yè)務(wù)數(shù)據(jù)遷移至預(yù)設(shè)數(shù)據(jù)庫;
相應(yīng)的,所述賦值模塊330根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值可以包括:所述賦值模塊330基于所述待處理業(yè)務(wù)數(shù)據(jù)遷移至預(yù)設(shè)數(shù)據(jù)庫的存儲地址設(shè)置所述存儲標(biāo)識的賦值,以及,
所述賦值模塊330根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述已處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識的賦值可以包括:所述賦值模塊330基于所述已處理業(yè)務(wù)數(shù)據(jù)在遷移至所述預(yù)設(shè)數(shù)據(jù)庫的存儲地址設(shè)置所述加載標(biāo)識的賦值。
在一個優(yōu)選的實(shí)施例中,所述負(fù)載均衡規(guī)則可以包括:
根據(jù)數(shù)據(jù)庫的數(shù)據(jù)負(fù)載情況設(shè)置相應(yīng)業(yè)務(wù)類型的業(yè)務(wù)數(shù)據(jù)的存儲數(shù)據(jù)庫;
相應(yīng)的,所述賦值模塊330根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值可以包括:所述賦值模塊330獲取所述待處理業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)類型,根據(jù)與所述待處理業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)類型相對應(yīng)的存儲數(shù)據(jù)庫的地址設(shè)置所述存儲標(biāo)識的賦值,以及,
所述賦值模330塊根據(jù)設(shè)置的負(fù)載均衡規(guī)則確定所述已處理業(yè)務(wù)數(shù)據(jù)的加載標(biāo)識的賦值可以包括:所述賦值模塊330根據(jù)所述已處理業(yè)務(wù)數(shù)據(jù)存儲至所述存儲數(shù)據(jù)庫的地址設(shè)置所述加載標(biāo)識的賦值。
圖5是本申請?zhí)峁┑囊环N負(fù)載均衡的裝置的另一種示意圖。在一個優(yōu)選的實(shí)施例中,如圖5所示,所述裝置300還可以包括:
賦值修改模塊360,可以用于在所述設(shè)置的負(fù)載均衡規(guī)則發(fā)生更改時(shí),相應(yīng)的修改所述存儲標(biāo)識和/或加載標(biāo)識的賦值,以使業(yè)務(wù)系統(tǒng)基于所述存儲標(biāo)識和/或加載標(biāo)識修改后的賦值在所述更改后的負(fù)載均衡規(guī)則下進(jìn)行業(yè)務(wù)數(shù)據(jù)的存儲和/或加載。
本申請實(shí)施例所述負(fù)載均衡方法和所述負(fù)載均衡裝置可以應(yīng)用于數(shù)據(jù)處理的業(yè)務(wù)系統(tǒng)中,這樣所述業(yè)務(wù)系統(tǒng)通過修改所述存儲標(biāo)識和/或加載標(biāo)識的賦值就可以實(shí)現(xiàn)不停機(jī)、業(yè)務(wù)無感知的動態(tài)負(fù)載均衡,解決數(shù)據(jù)庫分庫分表方案下數(shù)據(jù)分布不均勻的問題。
由此可見,本申請一種負(fù)載均衡方法及裝置的實(shí)施例提供的技術(shù)方案通過為獲取的待處理業(yè)務(wù)數(shù)據(jù)設(shè)置存儲標(biāo)識,并利用結(jié)合了實(shí)際負(fù)載情況的負(fù)載均衡規(guī)則確定所述存儲標(biāo)識的賦值;基于所述存儲標(biāo)識的賦值將所述待處理業(yè)務(wù)數(shù)據(jù)存儲到相應(yīng)的存儲位置,形成已處理業(yè)務(wù)數(shù)據(jù)。相應(yīng)的,后續(xù)可以為所述待處理業(yè)務(wù)數(shù)據(jù)設(shè)置加載標(biāo)識,根據(jù)所述結(jié)合了實(shí)際負(fù)載情況的負(fù)載均衡規(guī)則確定所述加載標(biāo)識的賦值。這樣可以根據(jù)實(shí)際負(fù)載情況均衡分配數(shù)據(jù),保證數(shù)據(jù)庫負(fù)載均衡。與現(xiàn)有技術(shù)相比,有效改善了因數(shù)據(jù)入庫規(guī)則單一導(dǎo)致的數(shù)據(jù)分布不均,數(shù)據(jù)庫壓力不一致的問題,實(shí)現(xiàn)了均衡分配數(shù)據(jù),達(dá)到了數(shù)據(jù)庫負(fù)載均衡的目的。
盡管本申請內(nèi)容中數(shù)據(jù)采集、處理的描述,但是,本申請并不局限于必須是完全標(biāo)準(zhǔn)或者所提及的數(shù)據(jù)處理應(yīng)用環(huán)境的情況。本申請中各個實(shí)施例中所涉及的上述描述僅是本申請中的一些實(shí)施例中的應(yīng)用,在某些其他的框架中也可以實(shí)行上述本申請各實(shí)施例的方案。當(dāng)然,在符合本申請上述各實(shí)施例的中所述的處理方法步驟的其他無創(chuàng)造性的變形,仍然可以實(shí)現(xiàn)相同的申請,在此不再贅述。
雖然本申請?zhí)峁┝巳鐚?shí)施例或流程圖所述的方法操作步驟,但基于常規(guī)或者無創(chuàng)造性的手段可以包括更多或者更少的操作步驟。實(shí)施例中列舉的步驟順序僅僅為眾多步驟執(zhí)行順序中的一種方式,不代表唯一的執(zhí)行順序。在實(shí)際中的裝置或客戶端產(chǎn)品執(zhí)行時(shí),可以按照實(shí)施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。
上述實(shí)施例闡明裝置或模塊,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來實(shí)現(xiàn)。為了描述的方便,描述以上裝置時(shí)以功能分為各種模塊分別描述。當(dāng)然,在實(shí)施本申請時(shí)可以把各模塊的功能在同一個或多個軟件和/或硬件中實(shí)現(xiàn),也可以將實(shí)現(xiàn)同一功能的模塊由多個子模塊或子單元的組合實(shí)現(xiàn)。
本領(lǐng)域技術(shù)人員也知道,除了以純計(jì)算機(jī)可讀程序代碼方式實(shí)現(xiàn)控制器以外,完全可以通過將方法步驟進(jìn)行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實(shí)現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)部包括的用于實(shí)現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)?;蛘呱踔?,可以將用于實(shí)現(xiàn)各種功能的裝置視為既可以是實(shí)現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
本申請可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、類等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。
通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),移動終端,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實(shí)施例或者實(shí)施例的某些部分所述的方法。
本說明書中的各個實(shí)施例采用遞進(jìn)的方式描述,各個實(shí)施例之間相同或相似的部分互相 參見即可,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。本申請可用于眾多通用或?qū)S玫挠?jì)算機(jī)系統(tǒng)環(huán)境或配置中。例如:個人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、移動通信終端、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程的電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
雖然通過實(shí)施例描繪了本申請,本領(lǐng)域普通技術(shù)人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請的精神。