負(fù)載均衡方法和負(fù)載均衡器的制造方法
【專利摘要】本發(fā)明公開了一種負(fù)載均衡方法和負(fù)載均衡器,以解決現(xiàn)有的負(fù)載均衡方法會(huì)對(duì)分布式文件系統(tǒng)的整體性能造成影響的問題。本發(fā)明在分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)的每個(gè)塊的副本中,預(yù)先區(qū)分能夠被訪問的工作副本和不能被訪問的備用副本;在分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn);在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取工作副本;將選取的工作副本調(diào)整為備用副本,并在其他數(shù)據(jù)節(jié)點(diǎn)中將與選取的工作副本內(nèi)容一致的至少一個(gè)備用副本調(diào)整為工作副本。通過本發(fā)明能夠較快速的完成訪問流量的切換,無需進(jìn)行數(shù)據(jù)的復(fù)制,降低了對(duì)分布式系統(tǒng)整體性能的影響。
【專利說明】負(fù)載均衡方法和負(fù)載均衡器
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種負(fù)載均衡方法和負(fù)載均衡器。
【背景技術(shù)】
[0002] 數(shù)據(jù)的多副本備份方式,能夠?qū)⒑A繑?shù)據(jù)存儲(chǔ)在大量低廉的硬件上,并能提高數(shù) 據(jù)的可靠性和并發(fā)訪問能力,因此多副本備份方式的存儲(chǔ)策略得到越來越多的關(guān)注。
[0003] 分布式文件系統(tǒng)由于需要存儲(chǔ)較多的數(shù)據(jù)文件,因此多副本備份方式的存儲(chǔ)策略 在分布式文件系統(tǒng)中得到廣泛應(yīng)用。分布式文件系統(tǒng)主要包括管理節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)集群和 客戶端三部分,如圖1所示,采用多副本備份方式的存儲(chǔ)策略時(shí),當(dāng)客戶端向分布式文件系 統(tǒng)中寫入文件,管理節(jié)點(diǎn)會(huì)根據(jù)寫入的文件,將文件分為不同的塊,并將每個(gè)塊分發(fā)到N個(gè) 數(shù)據(jù)節(jié)點(diǎn)上進(jìn)行存儲(chǔ),并且每個(gè)塊會(huì)有N個(gè)副本,每個(gè)副本對(duì)應(yīng)存儲(chǔ)在一個(gè)數(shù)據(jù)節(jié)點(diǎn)上,進(jìn) 行數(shù)據(jù)的讀寫操作時(shí),客戶端與管理節(jié)點(diǎn)進(jìn)行應(yīng)用的交互,并由管理節(jié)點(diǎn)根據(jù)自身元數(shù)據(jù) 的情況將讀取或者寫入操作分發(fā)到具體的數(shù)據(jù)節(jié)點(diǎn)上進(jìn)行操作,然而不同的數(shù)據(jù)節(jié)點(diǎn)的系 統(tǒng)性能可能不一致,并且不同文件本身的讀取頻繁程度也不一樣,可能會(huì)導(dǎo)致分布式文件 系統(tǒng)很難達(dá)到負(fù)載均衡的狀態(tài),若分布式文件系統(tǒng)沒有較好的負(fù)載均衡處理能力,則無法 充分利用全部數(shù)據(jù)節(jié)點(diǎn)的性能。
[0004] 現(xiàn)有技術(shù)中使分布式文件系統(tǒng)達(dá)到負(fù)載均衡主要采用以下方式:
[0005] 管理節(jié)點(diǎn)在將劃分后的各個(gè)塊分配到各個(gè)數(shù)據(jù)節(jié)點(diǎn)時(shí),按照劃分塊的個(gè)數(shù)平均分 配到各個(gè)數(shù)據(jù)節(jié)點(diǎn)上,或者按照數(shù)據(jù)節(jié)點(diǎn)的磁盤使用比例來分配。例如按照劃分塊個(gè)數(shù)平 均分配時(shí),管理節(jié)點(diǎn)首先判斷每個(gè)數(shù)據(jù)節(jié)點(diǎn)上包含的塊個(gè)數(shù),然后獲取到包含塊個(gè)數(shù)比較 少的數(shù)據(jù)節(jié)點(diǎn),并將新生成的需要寫入到數(shù)據(jù)節(jié)點(diǎn)上的塊寫入到包含塊個(gè)數(shù)比較少的數(shù)據(jù) 節(jié)點(diǎn)上。
[0006] 由于各個(gè)數(shù)據(jù)節(jié)點(diǎn)的存儲(chǔ)空間和性能很可能不一致,不同應(yīng)用數(shù)據(jù)的訪問量也會(huì) 不一致,為使分布式文件系統(tǒng)中各個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)一步達(dá)到負(fù)載均衡,現(xiàn)有技術(shù)采用靜態(tài)過 負(fù)荷監(jiān)控和數(shù)據(jù)復(fù)制的處理機(jī)制,通過評(píng)估每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能和一次數(shù)據(jù)訪問的性 能消耗,并定義一個(gè)統(tǒng)計(jì)周期,根據(jù)統(tǒng)計(jì)周期評(píng)估出每個(gè)數(shù)據(jù)節(jié)點(diǎn)一個(gè)周期內(nèi)能夠處理的 訪問次數(shù),然后對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的訪問情況進(jìn)行周期性的監(jiān)控,如果在設(shè)定的周期內(nèi)某個(gè) 數(shù)據(jù)節(jié)點(diǎn)的實(shí)際訪問次數(shù)超過了設(shè)定的最大訪問次數(shù),則認(rèn)為該訪問次數(shù)超過了最大訪問 次數(shù)的數(shù)據(jù)節(jié)點(diǎn)過負(fù)荷,此時(shí)將該過負(fù)荷數(shù)據(jù)節(jié)點(diǎn)上的部分塊通過數(shù)據(jù)復(fù)制遷移到其他數(shù) 據(jù)節(jié)點(diǎn)上,使得數(shù)據(jù)訪問量隨著塊的遷移而遷移到其他的節(jié)點(diǎn)上,以達(dá)到對(duì)數(shù)據(jù)節(jié)點(diǎn)動(dòng)態(tài) 負(fù)載均衡的處理。
[0007] 但現(xiàn)有技術(shù)的上述基于數(shù)據(jù)復(fù)制的負(fù)載均衡調(diào)整方式,數(shù)據(jù)復(fù)制的過程需要在數(shù) 據(jù)節(jié)點(diǎn)間拷貝數(shù)據(jù),會(huì)對(duì)進(jìn)行復(fù)制的兩個(gè)數(shù)據(jù)節(jié)點(diǎn)造成性能損耗,多個(gè)數(shù)據(jù)節(jié)點(diǎn)之間頻繁 的進(jìn)行數(shù)據(jù)復(fù)制對(duì)于分布式文件系統(tǒng)的整體性能也會(huì)造成較大的影響。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明實(shí)施例提供一種負(fù)載均衡方法和負(fù)載均衡器,以解決現(xiàn)有的負(fù)載均衡方法 會(huì)對(duì)分布式文件系統(tǒng)的整體性能造成影響的問題。
[0009] 本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:
[0010] 第一方面,提供一種負(fù)載均衡方法,包括:
[0011] 在分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn);
[0012] 在所述確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取工作副本,其中,所述工作副 本為能夠被訪問的副本;
[0013] 將所述選取的工作副本調(diào)整為備用副本,并在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié) 點(diǎn)之外的其他數(shù)據(jù)節(jié)點(diǎn)中,將與所述選取的工作副本內(nèi)容一致的至少一個(gè)備用副本調(diào)整為 工作副本,所述備用副本為不能被訪問的副本。
[0014] 結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù) 節(jié)點(diǎn),包括:
[0015] 對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)的監(jiān)控項(xiàng)進(jìn)行監(jiān)控,并根據(jù)監(jiān)控得到的監(jiān)控 項(xiàng)數(shù)據(jù)值確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn);
[0016] 其中,所述監(jiān)控項(xiàng)包括下列至少其中之一:
[0017] 所述數(shù)據(jù)節(jié)點(diǎn)的CPU占用率、所述數(shù)據(jù)節(jié)點(diǎn)的內(nèi)存使用率、所述數(shù)據(jù)節(jié)點(diǎn)的磁盤 讀寫速度和所述數(shù)據(jù)節(jié)點(diǎn)的網(wǎng)絡(luò)延時(shí)。
[0018] 結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述對(duì)分 布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)的監(jiān)控項(xiàng)進(jìn)行監(jiān)控,包括:
[0019] 使用單獨(dú)的線程分別周期性監(jiān)控分布式文件系統(tǒng)中的每一數(shù)據(jù)節(jié)點(diǎn)的監(jiān)控項(xiàng)。
[0020] 結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,或第一方面的第二種可能實(shí)現(xiàn)方式,在 第三種可能的實(shí)現(xiàn)方式中,所述根據(jù)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值確定需要進(jìn)行負(fù)載均衡的數(shù) 據(jù)節(jié)點(diǎn),包括:
[0021] 在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù) 值超過對(duì)應(yīng)的過負(fù)荷閾值,則確定存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),選擇過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),作為需要進(jìn) 行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn);
[0022] 在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值均 沒有超過對(duì)應(yīng)的過負(fù)荷閾值,則確定不存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性 能確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0023] 結(jié)合第一方面的第三種可能實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述根據(jù)每 個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn),包括:
[0024] 根據(jù)對(duì)每一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值、以及與該監(jiān)控項(xiàng)對(duì)應(yīng)的過負(fù)荷閾 值,確定每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值;
[0025] 根據(jù)確定的每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值,得到系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié) 點(diǎn)和系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn);
[0026]當(dāng)所述系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值超出該數(shù)據(jù)節(jié)點(diǎn)系統(tǒng) 性能比率值的閾值、且是所述系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的設(shè)定倍 數(shù)時(shí),將所述系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0027] 結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述在需 要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取工作副本,包括:
[0028] 針對(duì)任一需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn),分別確定與該需要進(jìn)行負(fù)載均衡的數(shù)據(jù) 節(jié)點(diǎn)中存儲(chǔ)的各個(gè)工作副本內(nèi)容一致的備用副本所在的數(shù)據(jù)節(jié)點(diǎn),并
[0029] 將確定的備用副本所在的數(shù)據(jù)節(jié)點(diǎn),按照數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的大小進(jìn)行 排序;
[0030] 依據(jù)要選取的工作副本的數(shù)目,在確定的備用副本所在的數(shù)據(jù)節(jié)點(diǎn)中,按照數(shù)據(jù) 節(jié)點(diǎn)的系統(tǒng)性能比率值從小到大的順序,依次選擇所述數(shù)目的數(shù)據(jù)節(jié)點(diǎn);
[0031] 在該需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取內(nèi)容與選擇的數(shù)據(jù)節(jié)點(diǎn)中存儲(chǔ)的備用 副本內(nèi)容一致的工作副本。
[0032] 第二方面,提供一種負(fù)載均衡器,包括:確定單元、選取單元和調(diào)整單元;
[0033] 確定單元,用于在分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,確定需要進(jìn)行負(fù)載均衡 的數(shù)據(jù)節(jié)點(diǎn),并將確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)的信息發(fā)送至所述選取單元;
[0034] 選取單元,用于接收所述確定單元發(fā)送的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)的信息, 以及所述調(diào)整單元發(fā)送的能夠被訪問的工作副本和不能被訪問的備用副本的信息,并在所 述確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取工作副本,將選取的工作副本的信息發(fā)送 至所述調(diào)整單元;
[0035] 調(diào)整單元,用于預(yù)先將每個(gè)塊的副本區(qū)分為能夠被訪問的工作副本,和不能被訪 問的備用副本,并接收所述選取單元發(fā)送的選取了的工作副本的信息,將所述選取的工作 副本調(diào)整為備用副本,并在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)之外的其他數(shù)據(jù)節(jié)點(diǎn)中, 將與所述選取的工作副本內(nèi)容一致的至少一個(gè)備用副本調(diào)整為工作副本。
[0036] 結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述確定單元,具體用于:
[0037] 對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)的監(jiān)控項(xiàng)進(jìn)行監(jiān)控,并根據(jù)監(jiān)控得到的監(jiān)控 項(xiàng)數(shù)據(jù)值確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn);
[0038] 其中,所述監(jiān)控項(xiàng)包括下列至少其中之一:
[0039] 所述數(shù)據(jù)節(jié)點(diǎn)的CPU占用率、所述數(shù)據(jù)節(jié)點(diǎn)的內(nèi)存使用率、所述數(shù)據(jù)節(jié)點(diǎn)的磁盤 讀寫速度和所述數(shù)據(jù)節(jié)點(diǎn)的網(wǎng)絡(luò)延時(shí)。
[0040] 結(jié)合第二方面的第一種可能實(shí)現(xiàn)方式,或者第二方面的第二種可能實(shí)現(xiàn)方式,在 第三種可能的實(shí)現(xiàn)方式中,所述確定單元,具體用于:
[0041] 在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù) 值超過對(duì)應(yīng)的過負(fù)荷閾值,則確定存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),選擇過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),作為需要進(jìn) 行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn);
[0042] 在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值均 沒有超過對(duì)應(yīng)的過負(fù)荷閾值,則確定不存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性 能確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0043] 結(jié)合第二方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述確定 單元,具體用于:
[0044] 根據(jù)對(duì)每一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值、以及與該監(jiān)控項(xiàng)對(duì)應(yīng)的過負(fù)荷閾 值,確定每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值;
[0045] 根據(jù)確定的每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值,得到系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié) 點(diǎn)和系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn);
[0046] 當(dāng)所述系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值超出該數(shù)據(jù)節(jié)點(diǎn)系統(tǒng) 性能比率值的閾值、且是所述系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的設(shè)定倍 數(shù)時(shí),將所述系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0047] 根據(jù)第一方面提供的負(fù)載均衡方法和第二方面提供的負(fù)載均衡器,將分布式文件 系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)的每個(gè)塊的副本區(qū)分為能夠被訪問的工作副本和不被訪問的 備用副本,進(jìn)行負(fù)載均衡時(shí),可通過調(diào)整副本的工作狀態(tài),將需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn) 上選取的需要進(jìn)行工作狀態(tài)調(diào)整的工作副本調(diào)整為備用副本,并在確定的需要進(jìn)行負(fù)載均 衡的數(shù)據(jù)節(jié)點(diǎn)之外的其他數(shù)據(jù)節(jié)點(diǎn)中將與選取的工作副本內(nèi)容一致的備用副本調(diào)整為工 作副本,能夠較快速的完成訪問流量的切換,無需進(jìn)行數(shù)據(jù)的復(fù)制,降低了對(duì)分布式系統(tǒng)整 體性能的影響。
【專利附圖】
【附圖說明】
[0048] 圖1為現(xiàn)有技術(shù)中分布式文件系統(tǒng)構(gòu)成框圖;
[0049] 圖2為本發(fā)明實(shí)施例使用備份副本方式的副本分布示意圖;
[0050] 圖3為本發(fā)明實(shí)施例提供的分布式文件系統(tǒng)的負(fù)載均衡方法流程圖;
[0051] 圖4為本發(fā)明實(shí)施例提供的分布式文件系統(tǒng)的負(fù)載均衡方法又一流程圖;
[0052] 圖5A?圖5C為本發(fā)明實(shí)施例選擇工作狀態(tài)調(diào)整的工作副本以及負(fù)載均衡調(diào)整示 意圖;
[0053] 圖6為本發(fā)明實(shí)施例提供的負(fù)載均衡器構(gòu)成示意圖;
[0054] 圖7為本發(fā)明實(shí)施例提供的負(fù)載均衡設(shè)備構(gòu)成示意圖。
【具體實(shí)施方式】
[0055] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例只是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0056] 實(shí)施例一
[0057] 如圖1所示的分布式文件系統(tǒng)中,采用多副本備份方式的存儲(chǔ)策略時(shí),數(shù)據(jù)文件 會(huì)被分為不同的塊,并且每個(gè)塊有N (N>=3)個(gè)內(nèi)容一致的副本,同一個(gè)塊的各個(gè)副本會(huì)分 別存儲(chǔ)在不同的數(shù)據(jù)節(jié)點(diǎn)上,本發(fā)明實(shí)施例中將存儲(chǔ)在各個(gè)數(shù)據(jù)節(jié)點(diǎn)上的每個(gè)塊的N個(gè)副 本,管理節(jié)點(diǎn)可以將各個(gè)副本分為工作副本和備用副本,其中,工作副本能夠被訪問,而備 用副本不能被訪問,不過備用副本的內(nèi)容與工作副本的內(nèi)容是完全一致的,通過工作副本 與備用副本之間工作狀態(tài)的調(diào)整,進(jìn)行負(fù)載均衡。
[0058] 進(jìn)一步的,本發(fā)明實(shí)施例中將每個(gè)塊的副本區(qū)分為能夠被訪問的工作副本和不能 被訪問的備用副本的區(qū)分方式可采用多種區(qū)分方式。例如,可以用不同的標(biāo)簽分別標(biāo)識(shí)工 作副本和備用副本。
[0059] 進(jìn)一步的,本發(fā)明實(shí)施例中備用副本可在每個(gè)塊的全部副本中進(jìn)行隨機(jī)選取,優(yōu) 選的,本發(fā)明實(shí)施例中管理節(jié)點(diǎn)可將數(shù)據(jù)節(jié)點(diǎn)集群中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行編號(hào),然后將每 個(gè)塊的副本按照數(shù)據(jù)節(jié)點(diǎn)的編號(hào)順序,依次存儲(chǔ)在不同數(shù)據(jù)節(jié)點(diǎn)上,并將最后存儲(chǔ)在數(shù)據(jù) 節(jié)點(diǎn)上的副本作為備用副本,以更方便選取備用副本,如圖2所示為本發(fā)明實(shí)施例中使用 備用副本的副本分布示意圖,例如,塊1分別存儲(chǔ)在節(jié)點(diǎn)1,2和3,在節(jié)點(diǎn)1和2的塊1是工 作副本,在節(jié)點(diǎn)3的塊1是備用副本。
[0060] 需要說明的是,本發(fā)明實(shí)施例提供的附圖2中在每個(gè)塊有三個(gè)副本,在三個(gè)副本 中選取一個(gè)副本作為備用副本,只是進(jìn)行示意性說明,并不引以為限,在實(shí)際的應(yīng)用中每個(gè) 塊的副本可以多于三個(gè),并且也可選取不止一個(gè)副本作為備用副本。
[0061] 如圖3所示為本發(fā)明實(shí)施例一提供的分布式文件系統(tǒng)的負(fù)載均衡方法流程圖,包 括:
[0062] S101 :在分布式文件系統(tǒng)的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0063] 具體的,本發(fā)明實(shí)施例在分布式文件系統(tǒng)的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中確定需要進(jìn)行負(fù)載均 衡的數(shù)據(jù)節(jié)點(diǎn)時(shí),可通過設(shè)定的規(guī)則得出每個(gè)數(shù)據(jù)節(jié)點(diǎn)是否需要進(jìn)行負(fù)載均衡,例如本發(fā) 明實(shí)施例中可對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控,根據(jù)數(shù)據(jù)節(jié) 點(diǎn)的運(yùn)行狀態(tài)確定數(shù)據(jù)節(jié)點(diǎn)的負(fù)荷情況,根據(jù)確定的數(shù)據(jù)節(jié)點(diǎn)負(fù)荷情況判斷當(dāng)前數(shù)據(jù)節(jié)點(diǎn) 是否需要進(jìn)行負(fù)載均衡。具體的:需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)可以是過負(fù)荷的數(shù)據(jù)節(jié)點(diǎn), 也可以是負(fù)荷過低的數(shù)據(jù)節(jié)點(diǎn)。
[0064] S102 :在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取工作副本。
[0065] 具體的,在S101確定了需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)后,本發(fā)明實(shí)施例可根據(jù)確 定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)上,存儲(chǔ)的塊的工作副本的數(shù)量,在確定的需要進(jìn)行負(fù) 載均衡的數(shù)據(jù)節(jié)點(diǎn)上選取設(shè)定數(shù)量的工作副本進(jìn)行工作狀態(tài)調(diào)整。
[0066] 進(jìn)一步的,本發(fā)明實(shí)施例中選取工作副本時(shí),可以在需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié) 點(diǎn)上隨機(jī)選取設(shè)定數(shù)量的工作副本,也可以根據(jù)與需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)上存儲(chǔ)的 工作副本,對(duì)應(yīng)的備用副本所在數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能,進(jìn)行選擇,例如可以根據(jù)備用副本所 在的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能由高到低依次選取設(shè)定數(shù)量的工作副本。
[0067] S103 :將選取的工作副本調(diào)整為備用副本,并在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù) 節(jié)點(diǎn)之外的其他數(shù)據(jù)節(jié)點(diǎn)中將與選取的工作副本內(nèi)容一致的至少一個(gè)備用副本調(diào)整為工 作副本。
[0068] 具體的,本發(fā)明實(shí)施例中可將S103中選取的需要進(jìn)行工作狀態(tài)調(diào)整的工作副本, 直接調(diào)整為不能被訪問的備用副本,而在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)之外的其他 數(shù)據(jù)節(jié)點(diǎn)中將與選取的工作副本內(nèi)容一致的備用副本調(diào)整為工作副本時(shí),若與選取的需要 進(jìn)行工作狀態(tài)調(diào)整的工作副本內(nèi)容一致的備用副本只有一個(gè),則將該對(duì)應(yīng)的備用副本直接 調(diào)整為工作副本,若與需要進(jìn)行工作狀態(tài)調(diào)整的工作副本內(nèi)容一致的備用副本不止一個(gè), 則將數(shù)據(jù)節(jié)點(diǎn)系統(tǒng)性能最好的數(shù)據(jù)節(jié)點(diǎn)上存儲(chǔ)的,與選取的需要進(jìn)行工作狀態(tài)調(diào)整的工作 副本內(nèi)容一致的備用副本調(diào)整為工作副本。當(dāng)然,若需要調(diào)整一個(gè)工作副本對(duì)應(yīng)的多個(gè)備 用副本的工作狀態(tài)進(jìn)行負(fù)載均衡,則可按照數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能的高低,依次選取。
[0069] 可以理解的是,本發(fā)明實(shí)施例的負(fù)載均衡方法可以由具有負(fù)載均衡能力的設(shè)備進(jìn) 行實(shí)施,例如分布式文件系統(tǒng)中的管理節(jié)點(diǎn)實(shí)施,或者負(fù)載均衡器實(shí)施。
[0070] 本發(fā)明實(shí)施例提供的分布式文件系統(tǒng)的負(fù)載均衡方法,預(yù)先將分布式文件系統(tǒng)中 的各個(gè)數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)的每個(gè)塊的副本區(qū)分為能夠被訪問的工作副本和不能被訪問的備用 副本,進(jìn)行負(fù)載均衡時(shí),通過將需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)上選取的需要進(jìn)行工作狀態(tài) 調(diào)整的工作副本調(diào)整為備用副本,并在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)之外的其他數(shù) 據(jù)節(jié)點(diǎn)中將與選取的工作副本內(nèi)容一致的備用副本調(diào)整為工作副本,能夠較快速的完成訪 問流量的切換,無需進(jìn)行節(jié)點(diǎn)間的數(shù)據(jù)復(fù)制,降低了對(duì)分布式系統(tǒng)整體性能的影響。
[0071] 實(shí)施例二
[0072] 本發(fā)明實(shí)施例二將結(jié)合實(shí)際應(yīng)用對(duì)實(shí)施例一提供的分布式文件系統(tǒng)的負(fù)載均衡 方法進(jìn)行進(jìn)一步的詳細(xì)說明。
[0073] 本發(fā)明實(shí)施例作為實(shí)施例一的較優(yōu)實(shí)施例,僅對(duì)S101中確定需要進(jìn)行負(fù)載均衡 的數(shù)據(jù)節(jié)點(diǎn)的過程進(jìn)行詳細(xì)說明,其他步驟與實(shí)施例一相同,在此不再贅述。
[0074] 本發(fā)明實(shí)施例中在確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)時(shí),可以采用多種確定方 式,例如:由管理節(jié)點(diǎn)對(duì)各個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行實(shí)時(shí)監(jiān)控,主動(dòng)獲取各個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)運(yùn)行狀 態(tài),根據(jù)獲取到的各個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)運(yùn)行狀態(tài),確定是否存在需要進(jìn)行負(fù)載均衡的數(shù)據(jù) 節(jié)點(diǎn);還可以由各個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)自身節(jié)點(diǎn)的負(fù)荷情況以及系統(tǒng)性能指標(biāo)進(jìn)行監(jiān)控,若自身 節(jié)點(diǎn)過負(fù)荷,或者性能指標(biāo)達(dá)到設(shè)定的閾值,則將發(fā)送負(fù)載均衡指令至管理節(jié)點(diǎn),管理節(jié)點(diǎn) 根據(jù)接收到的負(fù)載均衡指令,確定該發(fā)送負(fù)載均衡指令的數(shù)據(jù)節(jié)點(diǎn),為需要進(jìn)行負(fù)載均衡 的數(shù)據(jù)節(jié)點(diǎn)。
[0075] 優(yōu)選的,本發(fā)明實(shí)施例中可對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)的設(shè)定監(jiān)控項(xiàng), 并對(duì)各個(gè)數(shù)據(jù)節(jié)點(diǎn)設(shè)定的監(jiān)控項(xiàng)進(jìn)行監(jiān)控,并根據(jù)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值確定需要進(jìn)行 負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0076] 具體的,本發(fā)明實(shí)施例可對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)分別設(shè)定多個(gè)監(jiān)控 項(xiàng),并對(duì)設(shè)定的監(jiān)控項(xiàng)進(jìn)行監(jiān)控,本發(fā)明實(shí)施例中對(duì)各個(gè)監(jiān)控項(xiàng)進(jìn)行監(jiān)控時(shí),可使用單獨(dú)的 線程分別周期性監(jiān)控分布式文件系統(tǒng)中的每一數(shù)據(jù)節(jié)點(diǎn)的設(shè)定監(jiān)控項(xiàng)。由于每個(gè)數(shù)據(jù)節(jié)點(diǎn) 的處理能力以及系統(tǒng)性能都可能不一致,本發(fā)明實(shí)施例中對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)使用一個(gè)單獨(dú)的 線程分別進(jìn)行監(jiān)控,相較于多個(gè)不同系統(tǒng)性能以及處理能力的數(shù)據(jù)節(jié)點(diǎn)采用同一線程進(jìn)行 監(jiān)控,能夠提高對(duì)數(shù)據(jù)節(jié)點(diǎn)的運(yùn)行狀態(tài)進(jìn)行評(píng)估的準(zhǔn)確度,并且每個(gè)數(shù)據(jù)節(jié)點(diǎn)的處理能力 在短時(shí)間內(nèi)一般不會(huì)發(fā)生變化,因此本發(fā)明實(shí)施例可以對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié) 點(diǎn)的設(shè)定監(jiān)控項(xiàng)進(jìn)行周期性的監(jiān)控,以減少資源占用,提高分布式文件系統(tǒng)的整體性能。
[0077] 進(jìn)一步的,本發(fā)明實(shí)施例中對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)設(shè)定的監(jiān)控項(xiàng)不 再局限于數(shù)據(jù)節(jié)點(diǎn)的訪問次數(shù),可以是任何反應(yīng)數(shù)據(jù)節(jié)點(diǎn)系統(tǒng)性能的性能選項(xiàng),例如可以 是數(shù)據(jù)節(jié)點(diǎn)的CPU占用率、數(shù)據(jù)節(jié)點(diǎn)的內(nèi)存使用率、數(shù)據(jù)節(jié)點(diǎn)的磁盤讀寫速度以及數(shù)據(jù)節(jié) 點(diǎn)的網(wǎng)絡(luò)延時(shí)等中的一項(xiàng)或者多項(xiàng)。
[0078] 本發(fā)明實(shí)施例中在確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)時(shí),可對(duì)各個(gè)數(shù)據(jù)節(jié)點(diǎn)分別 設(shè)定的監(jiān)控項(xiàng),設(shè)定需要進(jìn)行負(fù)載均衡的條件,當(dāng)任一數(shù)據(jù)節(jié)點(diǎn)針對(duì)設(shè)定的監(jiān)控項(xiàng),監(jiān)控得 到的結(jié)果滿足需要進(jìn)行負(fù)載均衡的條件時(shí),確定該滿足負(fù)載均衡條件的數(shù)據(jù)節(jié)點(diǎn)為需要進(jìn) 行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn),比如可以對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的每個(gè)監(jiān)控項(xiàng)分別設(shè)定過負(fù)荷閾值,并 根據(jù)對(duì)每一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值與對(duì)應(yīng)的過負(fù)荷閾值,判斷分布式文件系統(tǒng)中 是否存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控 得到的監(jiān)控項(xiàng)數(shù)據(jù)值超過對(duì)應(yīng)的過負(fù)荷閾值,則確定存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),將該過負(fù)荷數(shù) 據(jù)節(jié)點(diǎn)作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn);在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一 監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值均沒有超過對(duì)應(yīng)的過負(fù)荷閾值,則確定不存在過負(fù)荷數(shù)據(jù) 節(jié)點(diǎn),根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn),因此,本發(fā)明實(shí)施 例提供的負(fù)載均衡方法,可采用如圖4所示的方法流程,圖4所示的負(fù)載均衡方法,在圖3 的基礎(chǔ)上,將S101中在分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,確定需要進(jìn)行負(fù)載均衡的數(shù) 據(jù)節(jié)點(diǎn),替換為如下步驟:
[0079] S1011 :對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)的設(shè)定監(jiān)控項(xiàng)進(jìn)行監(jiān)控。
[0080] S1012:根據(jù)對(duì)設(shè)定監(jiān)控項(xiàng)監(jiān)控得到的結(jié)果,判斷是否存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),若是 則轉(zhuǎn)S1013,若否則轉(zhuǎn)S1014。
[0081] 具體的,本發(fā)明實(shí)施例中根據(jù)對(duì)設(shè)定監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)值,判斷是否存 在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn)可優(yōu)選如下方式:
[0082] 對(duì)各個(gè)數(shù)據(jù)節(jié)點(diǎn)設(shè)定的各個(gè)監(jiān)控項(xiàng)分別設(shè)定過負(fù)荷閾值,當(dāng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù) 值超過設(shè)定的過負(fù)荷閾值,則認(rèn)為該超過設(shè)定過負(fù)荷閾值的監(jiān)控項(xiàng)所在的數(shù)據(jù)節(jié)點(diǎn)過負(fù) 荷。本發(fā)明實(shí)施例在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的數(shù) 據(jù)值超過對(duì)應(yīng)的設(shè)定過負(fù)荷閾值,則確定存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn)。
[0083] S1013 :選擇過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0084] 當(dāng)存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn)時(shí),則說明該過負(fù)荷數(shù)據(jù)節(jié)點(diǎn)需要進(jìn)行負(fù)載均衡,則選擇 該過負(fù)荷數(shù)據(jù)節(jié)點(diǎn)作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0085] S1014:根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0086] 當(dāng)不存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn)時(shí),分布式文件系統(tǒng)中數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能可能也不 同,分布式文件系統(tǒng)的各個(gè)數(shù)據(jù)節(jié)點(diǎn)也沒有達(dá)到真正意義上的負(fù)載均衡,為使分布式文件 系統(tǒng)中各個(gè)數(shù)據(jù)節(jié)點(diǎn)的負(fù)載更為均衡,本發(fā)明實(shí)施例可根據(jù)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能確定需要 進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0087] 具體的,本發(fā)明實(shí)施例中,根據(jù)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能確定需要進(jìn)行負(fù)載均衡的數(shù) 據(jù)節(jié)點(diǎn),可優(yōu)選如下方式:
[0088] A、根據(jù)對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的每一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值,以及與該監(jiān)控項(xiàng) 對(duì)應(yīng)的過負(fù)荷閾值,確定每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值。
[0089] 具體的,本發(fā)明實(shí)施例中對(duì)各個(gè)數(shù)據(jù)節(jié)點(diǎn)設(shè)定的各個(gè)監(jiān)控項(xiàng)分別設(shè)定對(duì)應(yīng)的過負(fù) 荷閾值,針對(duì)每一數(shù)據(jù)節(jié)點(diǎn),確定對(duì)該數(shù)據(jù)節(jié)點(diǎn)監(jiān)控得到的每一監(jiān)控項(xiàng)的監(jiān)控項(xiàng)數(shù)據(jù)值與 對(duì)應(yīng)的過負(fù)荷閾值的比值,并將確定的比值中最高的比值,作為該數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比 率值。
[0090] 比如,數(shù)據(jù)節(jié)點(diǎn)設(shè)定的監(jiān)控項(xiàng)包括數(shù)據(jù)節(jié)點(diǎn)的CPU占用率、數(shù)據(jù)節(jié)點(diǎn)的內(nèi)存使用 率、數(shù)據(jù)節(jié)點(diǎn)的磁盤讀寫速度和數(shù)據(jù)節(jié)點(diǎn)的網(wǎng)絡(luò)延時(shí),設(shè)定CPU的過負(fù)荷閾值為80%,內(nèi)存 使用的過負(fù)荷閾值為15G,網(wǎng)路延時(shí)的過負(fù)荷閾值為100毫秒,磁盤讀寫速度的過負(fù)荷閾 值是90M/S ;而在某一個(gè)周期內(nèi)監(jiān)控得到的每一監(jiān)控項(xiàng)的數(shù)據(jù)值為CPU占用56%,內(nèi)存使用 10G,網(wǎng)絡(luò)延時(shí)10毫秒,磁盤讀寫速度為40M/S,對(duì)每一監(jiān)控項(xiàng)的監(jiān)控得到的數(shù)據(jù)值與對(duì)應(yīng) 的過負(fù)荷閾值做比值計(jì)算,得到比值最高的是CPU,為56%/80%=70%,也就是說當(dāng)前數(shù)據(jù)節(jié) 點(diǎn)的系統(tǒng)性能比率值是70%。
[0091] B、根據(jù)確定的每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值,得到系統(tǒng)性能比率值最高的數(shù)據(jù) 節(jié)點(diǎn)和系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn)。
[0092] 根據(jù)上述確定數(shù)據(jù)節(jié)點(diǎn)系統(tǒng)性能比率值的方式,確定了每一數(shù)據(jù)節(jié)點(diǎn)的性能比率 值,假設(shè)當(dāng)前有四個(gè)節(jié)點(diǎn),分別為節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)3和節(jié)點(diǎn)4,確定的性能比率值分別為 70%,30%,50%,40%,則可找到系統(tǒng)性能比率值最高的為節(jié)點(diǎn)1,系統(tǒng)性能比率值最低的為節(jié) 點(diǎn)2。
[0093] C、當(dāng)系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值超出該數(shù)據(jù)節(jié)點(diǎn)系統(tǒng)性 能比率值的閾值、且是系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的設(shè)定倍數(shù)時(shí), 選擇系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn),作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0094] 本發(fā)明實(shí)施例中系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)系統(tǒng)性能比率值的閾值、以及其 相對(duì)系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的設(shè)定倍數(shù)可根據(jù)實(shí)際情況進(jìn)行 配置,比如本發(fā)明實(shí)施例中將系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的閾值設(shè) 定為50%,設(shè)定倍數(shù)為2倍,則本發(fā)明實(shí)施例中系統(tǒng)性能比率值最高的節(jié)點(diǎn)1的系統(tǒng)性能比 率值為70%,超出了 50%,并且是系統(tǒng)性能比率值最低的節(jié)點(diǎn)2的系統(tǒng)性能比率值為30%的 兩倍以上,則將節(jié)點(diǎn)1作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0095] 本發(fā)明實(shí)施例提供的分布式文件系統(tǒng)的負(fù)載均衡方法,通過監(jiān)控?cái)?shù)據(jù)節(jié)點(diǎn)上設(shè)定 監(jiān)控項(xiàng)的監(jiān)控結(jié)果確定需要進(jìn)行負(fù)載均衡調(diào)整的數(shù)據(jù)節(jié)點(diǎn),相較于現(xiàn)有技術(shù)中通過訪問次 數(shù)確定數(shù)據(jù)節(jié)點(diǎn)的運(yùn)行狀態(tài),能夠較精確的監(jiān)控?cái)?shù)據(jù)節(jié)點(diǎn)的運(yùn)行狀態(tài),并且在進(jìn)行負(fù)載均 衡的過程中,當(dāng)存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn)時(shí),對(duì)過負(fù)荷數(shù)據(jù)節(jié)點(diǎn)進(jìn)行負(fù)載均衡,當(dāng)不存在過負(fù)荷 數(shù)據(jù)節(jié)點(diǎn)時(shí),根據(jù)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能,進(jìn)一步確定是否存在需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié) 點(diǎn),并進(jìn)行負(fù)載均衡,進(jìn)一步改善了分布式文件系統(tǒng)的整體性能。
[0096] 實(shí)施例三
[0097] 本發(fā)明的實(shí)施例三是對(duì)實(shí)施例一中S102中在需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中, 選取需要進(jìn)行工作狀態(tài)調(diào)整的工作副本的過程進(jìn)行的詳細(xì)說明,其他步驟與實(shí)施例一與實(shí) 施例二涉及的步驟相同,在此不再贅述。
[0098] 本發(fā)明實(shí)施例中在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取需要進(jìn)行工作狀 態(tài)調(diào)整的工作副本的過程,采用如下方式:
[0099] A、針對(duì)任一需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn),分別確定與該需要進(jìn)行負(fù)載均衡的數(shù) 據(jù)節(jié)點(diǎn)中存儲(chǔ)的各個(gè)工作副本內(nèi)容一致的備用副本所在的數(shù)據(jù)節(jié)點(diǎn)。
[0100] B、將確定的備用副本所在的數(shù)據(jù)節(jié)點(diǎn),按照數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的大小進(jìn) 行排序。
[0101] C、依據(jù)要選取的工作副本的數(shù)目,在確定的備用副本所在的數(shù)據(jù)節(jié)點(diǎn)中,按照數(shù) 據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值從小到大的順序,依次選擇所需數(shù)目的數(shù)據(jù)節(jié)點(diǎn)。
[0102] D、在該需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取內(nèi)容與選擇的數(shù)據(jù)節(jié)點(diǎn)中存儲(chǔ)的備 用副本內(nèi)容一致的工作副本。
[0103] 以下將結(jié)合附圖對(duì)上述選取工作副本的過程進(jìn)行舉例說明,如圖5A中所示分布 式文件系統(tǒng)中包含4個(gè)數(shù)據(jù)節(jié)點(diǎn)分別為節(jié)點(diǎn)1、節(jié)點(diǎn)2、節(jié)點(diǎn)3和節(jié)點(diǎn)4,四個(gè)數(shù)據(jù)節(jié)點(diǎn)的系 統(tǒng)性能比率值分別為70%,30%,50%,40%,此時(shí)四個(gè)數(shù)據(jù)節(jié)點(diǎn)均未過負(fù)荷,則按照上述實(shí)施例 中不存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn)時(shí)選取需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)方法,則可知系統(tǒng)性能比率 值最高的是節(jié)點(diǎn)1為70%,系統(tǒng)性能比率值最低的是節(jié)點(diǎn)2為30%,并且節(jié)點(diǎn)1的系統(tǒng)性能 比率值超出50%,并且是系統(tǒng)性能比率值最低的節(jié)點(diǎn)2的系統(tǒng)性能比率值的兩倍以上,則將 節(jié)點(diǎn)1作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0104] 由圖5A可知,節(jié)點(diǎn)1中有4個(gè)工作副本,分別為塊1、塊2、塊5和塊6,的工作副 本,并且與工作副本內(nèi)容一致的備用副本分別存儲(chǔ)在節(jié)點(diǎn)2、節(jié)點(diǎn)3和節(jié)點(diǎn)4上,對(duì)節(jié)點(diǎn)2、 節(jié)點(diǎn)3和節(jié)點(diǎn)4按照系統(tǒng)性能比率值的大小進(jìn)行排序,可知系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié) 點(diǎn)為節(jié)點(diǎn)2,其次為節(jié)點(diǎn)4,然后是節(jié)點(diǎn)3。
[0105] 本發(fā)明實(shí)施例中選擇需要進(jìn)行工作狀態(tài)調(diào)整的工作副本,可在需要進(jìn)行負(fù)載均衡 的數(shù)據(jù)節(jié)點(diǎn)上選取設(shè)定比例的工作副本,比如可以選取全部工作副本的5%,當(dāng)按照設(shè)定百 分比進(jìn)行選取工作副本時(shí),可能會(huì)出現(xiàn)不是整數(shù)的情況,此時(shí)可根據(jù)情況進(jìn)行向上取整,或 向下取整,選取整數(shù)個(gè)工作副本作為需要進(jìn)行工作狀態(tài)調(diào)整的工作副本,當(dāng)按照設(shè)定百分 比進(jìn)行選取工作副本時(shí),不足一個(gè)時(shí)取一個(gè),比如圖5A中工作副本一共是4個(gè),此時(shí)根據(jù)計(jì) 算,需要進(jìn)行工作狀態(tài)調(diào)整的工作副本數(shù)量為4*5%=0. 2個(gè),此時(shí)不足一個(gè),則選取其中的 一個(gè)工作副本作為需要進(jìn)行工作狀態(tài)調(diào)整的工作副本。
[0106] 由圖5A可知,系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn)為節(jié)點(diǎn)2,并且節(jié)點(diǎn)2上的備用副本 為塊2的備用副本,因此當(dāng)選擇一個(gè)工作副本作為需要進(jìn)行工作狀態(tài)調(diào)整的工作副本時(shí), 則在節(jié)點(diǎn)1中將塊2的工作副本作為最終需要進(jìn)行工作狀態(tài)調(diào)整的工作副本,當(dāng)選擇兩個(gè) 工作副本時(shí),可再將與節(jié)點(diǎn)4上的備用副本內(nèi)容一致的塊6的工作副本作為需要進(jìn)行工作 狀態(tài)調(diào)整的工作副本。
[0107] 進(jìn)行負(fù)載均衡時(shí),將需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)上選取的工作副本調(diào)整為備用 副本,將其他節(jié)點(diǎn)上與選取的工作副本內(nèi)容一致的備用副本調(diào)整為工作副本,比如圖5A中 選擇一個(gè)工作副本進(jìn)行工作狀態(tài)調(diào)整時(shí),則將節(jié)點(diǎn)1上的塊2的工作副本調(diào)整為備用副本, 并把節(jié)點(diǎn)2上的塊2的備用副本調(diào)整為工作副本中,如圖5B所示,最終實(shí)現(xiàn)流量的切換,達(dá) 到負(fù)載均衡,如圖5C所示。
[0108] 本發(fā)明實(shí)施例中進(jìn)行負(fù)載均衡時(shí),在需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)上選取設(shè)定比 例的工作副本作為需要進(jìn)行工作狀態(tài)調(diào)整的工作副本,并且在具體選擇工作副本時(shí)根據(jù)需 要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)上的工作副本內(nèi)容一致的備用副本所在的其他數(shù)據(jù)節(jié)點(diǎn)的系 統(tǒng)性能比率進(jìn)行選擇,使負(fù)載均衡更為精確,提高分布式文件系統(tǒng)的整體性能。
[0109] 實(shí)施例四
[0110] 基于實(shí)施例一至實(shí)施例三提供的負(fù)載均衡方法,本發(fā)明實(shí)施例提供一種負(fù)載均衡 器,如圖6所示,包括:確定單元601、選取單元602和調(diào)整單元603 ;
[0111] 確定單元601,用于在分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,確定需要進(jìn)行負(fù)載均 衡的數(shù)據(jù)節(jié)點(diǎn),并將確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)的信息發(fā)送至所述選取單元602。
[0112] 選取單元602,用于接收確定單元601發(fā)送的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)的信 息,以及調(diào)整單元603發(fā)送的能夠被訪問的工作副本和不能被訪問的備用副本的信息,并 在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取工作副本,將選取的工作副本的信息發(fā)送 至調(diào)整單元603。
[0113] 調(diào)整單元603,用于預(yù)先將每個(gè)塊的副本區(qū)分為能夠被訪問的工作副本,和不能被 訪問的備用副本,并接收選取單元發(fā)送的選取了的工作副本的信息,將選取的工作副本調(diào) 整為備用副本,并在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)之外的其他數(shù)據(jù)節(jié)點(diǎn)中,將與選 取的工作副本內(nèi)容一致的至少一個(gè)備用副本調(diào)整為工作副本。
[0114] 其中,確定單元601,具體用于:
[0115] 對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)的監(jiān)控項(xiàng)進(jìn)行監(jiān)控,并根據(jù)監(jiān)控得到的監(jiān)控 項(xiàng)數(shù)據(jù)值確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn);
[0116] 其中,監(jiān)控項(xiàng)包括下列至少其中之一:
[0117] 數(shù)據(jù)節(jié)點(diǎn)的CPU占用率、數(shù)據(jù)節(jié)點(diǎn)的內(nèi)存使用率、數(shù)據(jù)節(jié)點(diǎn)的磁盤讀寫速度和數(shù) 據(jù)節(jié)點(diǎn)的網(wǎng)絡(luò)延時(shí)。
[0118] 其中,確定單元601,具體用于:
[0119] 使用單獨(dú)的線程分別周期性監(jiān)控分布式文件系統(tǒng)中的每一數(shù)據(jù)節(jié)點(diǎn)的監(jiān)控項(xiàng)。
[0120] 其中,確定單元601,具體用于:
[0121] 根據(jù)對(duì)設(shè)定監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值,判斷是否存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn);
[0122] 在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù) 值超過對(duì)應(yīng)的過負(fù)荷閾值,則確定存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),選擇過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),作為需要進(jìn) 行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn);
[0123] 在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值均 沒有超過對(duì)應(yīng)的過負(fù)荷閾值,則確定不存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性 能確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0124] 其中,確定單元601,具體用于:
[0125] 根據(jù)對(duì)每一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值、以及與該監(jiān)控項(xiàng)對(duì)應(yīng)的過負(fù)荷閾 值,確定每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值;
[0126] 根據(jù)確定的每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值,得到系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié) 點(diǎn)和系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn);
[0127] 當(dāng)系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值超出該數(shù)據(jù)節(jié)點(diǎn)系統(tǒng)性能 比率值的閾值、且是系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的設(shè)定倍數(shù)時(shí),將 系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
[0128] 其中,確定單元601,具體用于:
[0129] 針對(duì)每一數(shù)據(jù)節(jié)點(diǎn),確定對(duì)該數(shù)據(jù)節(jié)點(diǎn)監(jiān)控得到的每一監(jiān)控項(xiàng)的監(jiān)控項(xiàng)數(shù)據(jù)值與 對(duì)應(yīng)的過負(fù)荷閾值的比值,并將確定的比值中最高的比值,作為該數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比 率值。
[0130] 其中,選取單元602,具體用于:
[0131] 針對(duì)任一需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn),分別確定與該需要進(jìn)行負(fù)載均衡的數(shù)據(jù) 節(jié)點(diǎn)中存儲(chǔ)的各個(gè)工作副本內(nèi)容一致的備用副本所在的數(shù)據(jù)節(jié)點(diǎn),并
[0132] 將確定的備用副本所在的數(shù)據(jù)節(jié)點(diǎn),按照數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的大小進(jìn)行 排序;
[0133] 參照要選取的工作副本的數(shù)目,在確定的備用副本所在的數(shù)據(jù)節(jié)點(diǎn)中,按照數(shù)據(jù) 節(jié)點(diǎn)的系統(tǒng)性能比率值從小到大的順序,依次選擇數(shù)目的數(shù)據(jù)節(jié)點(diǎn);
[0134] 在該需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取內(nèi)容與選擇的數(shù)據(jù)節(jié)點(diǎn)中存儲(chǔ)的備用 副本內(nèi)容一致的工作副本。
[0135] 本發(fā)明實(shí)施例提供的負(fù)載均衡器,將分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)的每 個(gè)塊的副本區(qū)分為能夠被訪問的工作副本和不被訪問的備用副本,進(jìn)行負(fù)載均衡時(shí),可通 過調(diào)整副本的工作狀態(tài),將需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)上選取的需要進(jìn)行工作狀態(tài)調(diào)整 的工作副本調(diào)整為備用副本,并在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)之外的其他數(shù)據(jù)節(jié) 點(diǎn)中將與選取的工作副本內(nèi)容一致的備用副本調(diào)整為工作副本,能夠較快速的完成訪問流 量的切換,無需進(jìn)行數(shù)據(jù)的復(fù)制,降低了對(duì)分布式系統(tǒng)整體性能的影響。
[0136] 本發(fā)明實(shí)施例提供的上述負(fù)載均衡器,可以是獨(dú)立的部件,也可以是集成于其他 部件中,例如本發(fā)明實(shí)施例提供的上述負(fù)載均衡器可以是現(xiàn)有分布式文件系統(tǒng)中的管理節(jié) 點(diǎn),也可以是集成于管理節(jié)點(diǎn)內(nèi)的一個(gè)新的部件。
[0137] 可以理解的是,本發(fā)明實(shí)施例提供的負(fù)載均衡器的各個(gè)模塊/單元的功能實(shí)現(xiàn)以 及交互方式可以進(jìn)一步參照相關(guān)方法實(shí)施例的描述。
[0138] 實(shí)施例五
[0139] 基于本發(fā)明實(shí)施例提供的負(fù)載均衡方法和負(fù)載均衡器,本發(fā)明實(shí)施例五還提供了 一種負(fù)載均衡設(shè)備,如圖7所示,該負(fù)載均衡設(shè)備包括處理器701和均衡器702,其中,
[0140] 處理器701,用于在分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,確定需要進(jìn)行負(fù)載均衡 的數(shù)據(jù)節(jié)點(diǎn),將確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)的信息傳送至均衡器702進(jìn)行負(fù)載均 衡;
[0141] 均衡器702,用于接收處理器701傳送的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)的信息,并 根據(jù)預(yù)先區(qū)分的能夠被訪問的工作副本和不能被訪問的備用副本的信息,在確定的需要進(jìn) 行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中選取工作副本,將選取的工作副本調(diào)整為備用副本,并在確定的 需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)之外的其他數(shù)據(jù)節(jié)點(diǎn)中,將與選取的工作副本內(nèi)容一致的至 少一個(gè)備用副本調(diào)整為工作副本。
[0142] 本發(fā)明實(shí)施例提供的負(fù)載均衡設(shè)備,將分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)的 每個(gè)塊的副本區(qū)分為能夠被訪問的工作副本和不被訪問的備用副本,進(jìn)行負(fù)載均衡時(shí),可 通過調(diào)整副本的工作狀態(tài),將需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)上選取的需要進(jìn)行工作狀態(tài)調(diào) 整的工作副本調(diào)整為備用副本,并在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)之外的其他數(shù)據(jù) 節(jié)點(diǎn)中將與選取的工作副本內(nèi)容一致的備用副本調(diào)整為工作副本,能夠較快速的完成訪問 流量的切換,無需進(jìn)行數(shù)據(jù)的復(fù)制,降低了對(duì)分布式系統(tǒng)整體性能的影響。
[0143] 顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1. 一種負(fù)載均衡方法,其特征在于,包括: 在分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn); 在所述確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取工作副本,其中,所述工作副本為 能夠被訪問的副本; 將所述選取的工作副本調(diào)整為備用副本,并在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)之 外的其他數(shù)據(jù)節(jié)點(diǎn)中,將與所述選取的工作副本內(nèi)容一致的至少一個(gè)備用副本調(diào)整為工作 副本,所述備用副本為不能被訪問的副本。
2. 如權(quán)利要求1所述的方法,其特征在于,所述確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn),包 括: 對(duì)所述分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)的監(jiān)控項(xiàng)進(jìn)行監(jiān)控,并根據(jù)監(jiān)控得到的監(jiān)控 項(xiàng)數(shù)據(jù)值確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn); 其中,所述監(jiān)控項(xiàng)包括下列至少其中之一: 所述數(shù)據(jù)節(jié)點(diǎn)的CPU占用率、所述數(shù)據(jù)節(jié)點(diǎn)的內(nèi)存使用率、所述數(shù)據(jù)節(jié)點(diǎn)的磁盤讀寫 速度和所述數(shù)據(jù)節(jié)點(diǎn)的網(wǎng)絡(luò)延時(shí)。
3. 如權(quán)利要求2所述的方法,其特征在于,所述對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn) 的監(jiān)控項(xiàng)進(jìn)行監(jiān)控,包括: 使用單獨(dú)的線程分別周期性監(jiān)控所述分布式文件系統(tǒng)中的每一數(shù)據(jù)節(jié)點(diǎn)的監(jiān)控項(xiàng)。
4. 如權(quán)利要求2或3所述的方法,其特征在于,所述根據(jù)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值確定 需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn),包括: 在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值超 過對(duì)應(yīng)的過負(fù)荷閾值,則確定存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),選擇過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),作為需要進(jìn)行負(fù) 載均衡的數(shù)據(jù)節(jié)點(diǎn); 在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值均沒有 超過對(duì)應(yīng)的過負(fù)荷閾值,則確定不存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能,確 定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
5. 如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能確定需 要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn),包括: 根據(jù)對(duì)每一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值、以及與所述每一監(jiān)控項(xiàng)對(duì)應(yīng)的過負(fù)荷閾 值,確定每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值; 根據(jù)確定的所述每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值,得到系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié) 點(diǎn)和系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn); 當(dāng)所述系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值超出所述數(shù)據(jù)節(jié)點(diǎn)系統(tǒng)性 能比率值的閾值、且是所述系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的設(shè)定倍數(shù) 時(shí),將所述系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
6. 如權(quán)利要求5所述的方法,其特征在于,在需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取工 作副本,包括: 針對(duì)任一需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn),分別確定與所述需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié) 點(diǎn)中存儲(chǔ)的各個(gè)工作副本內(nèi)容一致的備用副本所在的數(shù)據(jù)節(jié)點(diǎn),并 將確定的所述備用副本所在的數(shù)據(jù)節(jié)點(diǎn),按照數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的大小進(jìn)行 排序; 依據(jù)要選取的工作副本的數(shù)目,在確定的備用副本所在的數(shù)據(jù)節(jié)點(diǎn)中,按照數(shù)據(jù)節(jié)點(diǎn) 的系統(tǒng)性能比率值從小到大的順序,依次選擇所述數(shù)目的數(shù)據(jù)節(jié)點(diǎn); 在該需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取內(nèi)容與選擇的數(shù)據(jù)節(jié)點(diǎn)中存儲(chǔ)的備用副本 內(nèi)容一致的工作副本。
7. -種負(fù)載均衡器,其特征在于,包括:確定單元、選取單元和調(diào)整單元; 確定單元,用于在分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,確定需要進(jìn)行負(fù)載均衡的數(shù) 據(jù)節(jié)點(diǎn),并將確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)的信息發(fā)送至所述選取單元; 選取單元,用于接收所述確定單元發(fā)送的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)的信息,以及 所述調(diào)整單元發(fā)送的能夠被訪問的工作副本和不能被訪問的備用副本的信息,并在所述確 定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)中,選取工作副本,將選取的工作副本的信息發(fā)送至所 述調(diào)整單元; 調(diào)整單元,用于預(yù)先將每個(gè)塊的副本區(qū)分為能夠被訪問的工作副本,和不能被訪問的 備用副本,并接收所述選取單元發(fā)送的選取了的工作副本的信息,將所述選取的工作副本 調(diào)整為備用副本,并在確定的需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)之外的其他數(shù)據(jù)節(jié)點(diǎn)中,將與 所述選取的工作副本內(nèi)容一致的至少一個(gè)備用副本調(diào)整為工作副本。
8. 如權(quán)利要求7所述的負(fù)載均衡器,其特征在于,所述確定單元,具體用于: 對(duì)分布式文件系統(tǒng)中的各個(gè)數(shù)據(jù)節(jié)點(diǎn)的監(jiān)控項(xiàng)進(jìn)行監(jiān)控,并根據(jù)監(jiān)控得到的監(jiān)控項(xiàng)數(shù) 據(jù)值確定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn); 其中,所述監(jiān)控項(xiàng)包括下列至少其中之一: 所述數(shù)據(jù)節(jié)點(diǎn)的CPU占用率、所述數(shù)據(jù)節(jié)點(diǎn)的內(nèi)存使用率、所述數(shù)據(jù)節(jié)點(diǎn)的磁盤讀寫 速度和所述數(shù)據(jù)節(jié)點(diǎn)的網(wǎng)絡(luò)延時(shí)。
9. 如權(quán)利要求7或8所述的負(fù)載均衡器,其特征在于,所述確定單元,具體用于: 在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值超 過對(duì)應(yīng)的過負(fù)荷閾值,則確定存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),選擇過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),作為需要進(jìn)行負(fù) 載均衡的數(shù)據(jù)節(jié)點(diǎn); 在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,若對(duì)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的任一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值均沒有 超過對(duì)應(yīng)的過負(fù)荷閾值,則確定不存在過負(fù)荷數(shù)據(jù)節(jié)點(diǎn),根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能,確 定需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
10. 如權(quán)利要求9所述的負(fù)載均衡器,其特征在于,所述確定單元,具體用于: 根據(jù)對(duì)每一監(jiān)控項(xiàng)監(jiān)控得到的監(jiān)控項(xiàng)數(shù)據(jù)值、以及與該監(jiān)控項(xiàng)對(duì)應(yīng)的過負(fù)荷閾值,確 定每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值; 根據(jù)確定的每個(gè)數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值,得到系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)和 系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn); 當(dāng)所述系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值超出該數(shù)據(jù)節(jié)點(diǎn)系統(tǒng)性能 比率值的閾值、且是所述系統(tǒng)性能比率值最低的數(shù)據(jù)節(jié)點(diǎn)的系統(tǒng)性能比率值的設(shè)定倍數(shù) 時(shí),將所述系統(tǒng)性能比率值最高的數(shù)據(jù)節(jié)點(diǎn)作為需要進(jìn)行負(fù)載均衡的數(shù)據(jù)節(jié)點(diǎn)。
【文檔編號(hào)】H04L29/08GK104144127SQ201310168370
【公開日】2014年11月12日 申請(qǐng)日期:2013年5月8日 優(yōu)先權(quán)日:2013年5月8日
【發(fā)明者】魏一峰 申請(qǐng)人:華為軟件技術(shù)有限公司