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