999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于數據庫集群的動態負載均衡研究與實現*

2011-01-22 03:35:34殷佳欣
網絡安全與數據管理 2011年2期
關鍵詞:數據庫測量

何 駿,熊 偉 ,陳 犖,殷佳欣

(1.國防科學技術大學 電子科學與工程學院,湖南 長沙 410073;2.中國科學院 軟件所,北京 100190)

基于數據庫集群的動態負載均衡研究與實現*

何 駿1,熊 偉1,陳 犖1,殷佳欣2

(1.國防科學技術大學 電子科學與工程學院,湖南 長沙 410073;2.中國科學院 軟件所,北京 100190)

針對數據庫集群負載問題,提出了一種動態負載均衡方法,并進一步設計、實現了包括CPU使用率、磁盤存儲量、磁盤響應效率、網絡延時、內存使用率等在內的多指標的節點負載測量和實時監控。該算法根據各節點的負載反饋信息進行任務分配,實現了負載均衡。性能分析和實驗表明,該算法具有較高的負載均衡度和較低的系統開銷。

動態負載均衡;數據庫集群;負載測量;實時監控

隨著數據庫技術的發展和各種數據庫產品的產生,數據庫系統在各行各業應用廣泛,隨著應用需求的不斷增加,越來越多的用戶希望能夠透明地訪問和處理來自多個數據庫的數據。同時,電子商務和信息技術的迅猛發展使數據庫管理系統(DBMS)不堪重負,將這些數據庫有機地連接起來,統一管理,協調工作,不但能提高數據庫的性能和可用性,而且解決了遺留系統的問題。對于這些通過網絡連接起來的數據庫而言,必須能夠實時處理大量的用戶請求,而且必須能向客戶提供高質量服務。但是這些系統潛在性能的實際利用率通常僅為1%~10%[1],導致系統運行效率低下。如何才能提高由網絡連接起來的數據庫的響應速度、穩定性和擴展性,并且保護最初的硬件投資;如何避免大量用戶請求對系統帶來的沖擊,負載均衡為設計者提供了一條途徑,它是提高系統資源利用率的一個關鍵技術[2-3],它在后端數據庫間分發客戶請求,以達到減少系統瓶頸、增強系統響應能力。

1 負載均衡

對于一個分布式計算機系統,由于任務到達的隨機性,以及各處理節點處理能力上的差異,當系統運行一段時間后,某些節點分配的任務還很多(稱之為超載),而另一些節點卻是空閑的(稱之為輕載)。一方面,使超載節點盡可能快地完成任務是當務之急;另一方面,使某些節點空閑是一種浪費。如何避免這種空閑與忙等待并存的情況,從而有效地提高系統的資源利用率,減少任務的平均響應時間,促使負載均衡的產生與發展。

負載均衡設法對分配給各節點的任務進行重新調度,并通過進程遷移(又稱為任務遷移),使各節點負載大致相等。

目前普遍使用的數據庫集群系統負載均衡方法包括:

(1)Random:即隨機選擇法。在后端中隨機選擇一個節點來執行用戶查詢請求;

(2)Round Robin:即輪詢法。第一個請求發送到第一個后端,第二個請求發送到第二個后端,依此類推。不斷地循環,直到請求又從第一個后端開始;

(3)Weight Round Robin:即加權輪詢法。與輪詢方法相同,但是給每個后端數據庫分配了一個權重值。這個值決定了這個后端相對于其他后端接受負載的比例。例如,一個后端的權重值為2,那么其負載的請求數是權重為1的后端的兩倍。

然而,上述負載均衡方法均沒有考慮到不同計算機節點的差異性。隨機選擇法總是隨機選擇數據庫節點,完全不了解后端狀態也完全沒有可控性。而輪詢法和加權輪詢法在各個后端數據庫之間按順序循環執行,這雖然可以使每個后端都有任務,但并不能做到各個后端任務的最優分配。

因此,需要提供一種數據庫集群系統中進行動態負載均衡的方法和系統,通過對數據庫后端節點的運行狀態進行測量,實時獲得后端節點的響應效率評價值,當集群控制器收到用戶請求時,選擇效率評價值最高的后端節點來執行,以避免后端節點的過熱和故障。

2 動態負載均衡設計

針對上面負載均衡方法的不足,提出了基于節點狀態的動態負載均衡方法可對存儲節點的即時狀態進行動態測量和計算,與傳統的節點狀態無關的均衡方法相比,動態均衡方法可以更有效地均衡負載、防止熱點和單點故障。

在如圖1所示的數據庫集群系統中,用戶提出請求后通過集群控制器對數據庫后端節點進行操作。集群控制器包含負載均衡決策組件、后端檢測組件、用戶請求分發組件和負載信息表,其中,負載均衡決策組件用于執行負載均衡決策過程;后端檢測組件用于執行后端負載檢測過程;負載信息表用于保存后端負載檢測過程所得出的測量值;用戶請求分發組件用于暫存用戶請求、發起后端負載檢測過程、發起負載均衡決策過程、并將用戶請求發至決策結果所包含的數據庫后端節點執行。

數據庫后端節點包含通信組件、數據庫服務器和負載測量組件,其中,通信組件用于接收后端檢測請求、發起負載測量、將負載測量值存入集群控制中的負載信息表中,并接受集群控制器發來的用戶請求,將其發給數據庫服務器執行,將得到的結果集返回至集群控制器;數據庫服務器用于接收通信組件發來的用戶請求并作出應答;負載測量組件用于接收通信組件發來的負載測量請求并作出應答。負載測量組件又進一步包含:CPU使用率檢測模塊、內存使用率檢測模塊、磁盤已占用空間比例檢測模塊、空閑磁盤大小檢測模塊、磁盤IO延遲檢測模塊和網絡延遲檢測模塊。

動態負載均衡算法如下:

Step1:Measure the load balancing information

Create load balance table

Create load balance trigger

Step2:Compute the load balancing information

Normalize the load data

Compute the entropy of the load data

Compute the weight of the load data based on the entropy

Compute the sum of the weight to quantify the load

Step3:Select the node to execute

3 動態負載均衡實現

3.1 負載信息測量

負載信息測量主要解決節點負載評價問題,目的是為了更確切有效地對節點負載情況進行評價,以準確發現節點是否超載,同時有助于更有效地尋找空閑節點。

負載測量在動態負載均衡中起著重要的作用,只有負載信息測量準確,才能為進一步的負載決策提供條件,才可以確定節點是否超載,是否需要轉移新任務。

本文中以CPU使用率、內存使用率、空閑磁盤占用比例、空閑磁盤大小、網絡延遲、磁盤IO延遲作為負載信息的測量對象。

3.1.1 CPU使用率測量CU

利用Windows API函數可得知CPU空閑時間和系統時間,從而得知CPU空閑使用率,進而得知CPU使用率。CPU空閑使用率CurrentCpuIdle=SysPerfInfo.liIdleTime/SysTimeInfo.liKeSystemTime;CPU使用率 CurrentCpuUsage%=100-(CurrentCpuIdle×100)。

3.1.2 內存使用率測量MU

利用Windows API函數可直接得知內存使用率 ,GlobalMemoryStatus(&stat);memory_usage%=stat.dwMemoryLoad。

3.1.3 空閑磁盤占用比例測量DFE

利用Windows API函數直接可得知空閑磁盤和整個磁盤的大小,它們的比值即為空閑磁盤占用比例。

fResult=pGetDiskFreeSpaceEx(pszDrive,

(PULARGE_INTEGER)&i64FreeBytesToCaller,

(PULARGE_INTEGER)&i64TotalBytes,

(PULARGE_INTEGER)&i64FreeBytes);

空閑磁盤占用比例 disk_usage%=i64FreeBytes×100/i64TotalBytes。

3.1.4 空閑磁盤大小測量DF

根據上面的pGetDiskFreeSpaceEx函數可直接得出空閑磁盤大小 diskfree=i64FreeBytes/(1024×1024)。

3.1.5 磁盤IO延遲測量IO

磁盤IO延遲的原理是通過讀取磁盤上的文件時間來得出磁盤IO延遲。

OutSpeed=(sysafter.wMinute-sysbefore.wMinute)×60000+

(sysafter.wSecond-sysbefore.wSecond)×1000+

(sysafter.wMilliseconds-sysbefore.wMilliseconds);

3.1.6 網絡延遲測量ND

網絡延遲的原理是對各個后端節點執行一條SQL語句,SQL語句運行的時間即為網絡延遲。

long before=System.currentTimeMillis();

PreparedStatementpm=conn.prepareStatement("DELETE FROM loadstate");

pm.executeUpdate();

long now=System.currentTimeMillis();

long timegap=now-before;

圖2所示為在集群管理器中負載均衡測量截圖。

3.2 負載決策

節點的負載決策是負載均衡的一個重要因素,因為只有系統準確及時地對節點負載進行評價記錄,節點才可以及時準確地確定本身是否超載,是否需要轉移新進任務,同時忙節點也可以有效地尋找空閑節點以轉移自身的超載任務,相反,如果節點負載決策不準確,則節點無法及時準確定位自己的狀態,以至于忙節點在超載的狀態下仍接受新的任務。

一般地,某個屬性的屬性值變異程度越大,信息熵越小,該屬性提供的信息量越大,即該屬性在方案排序中所起的作用越大,從而該屬性的權重也應該越大;反之,某個屬性的屬性值變異程度越小,信息熵越大,該屬性提供的信息量越小,即該屬性在方案排序中所起的作用越小,從而該屬性的權重也應該越小。

根據參考文獻[4]給出一種基于信息熵的模糊多屬性決策方法。最常見的屬性類型有效益型和成本型。為了消除不同物理量綱對決策結果的影響,采用下列計算公式將模糊決策矩陣 A=[aij]m×n轉化為規范化矩陣 R=[rij]m×n。

成效益型指標計算公式:

計算節點p上的模糊效用值zi;

步驟 5:根據 zi(i∈M)對節點進行排序和擇優,zi值最大的為最優節點。

下面通過一組測得的負載信息數據來說明整個負載決策的流程。

從3個節點采集到的負載決策矩陣如表1所示。

表1 負載決策矩陣

步驟 1:根據式(1)、式(2)規范化決策矩陣,得到規范化矩陣R如表2所示。

步驟 2:根據式(3)計算各個指標的熵值,如表 3所示。

表2 規范化矩陣

表3 指標的熵值

步驟 3:根據式(4)計算各個指標的權重向量,如表4所示。

表4 指標的權重向量

步驟 4:根據式(5)計算帶權重的歸一化矩陣,如表5所示。

表5 帶權重的歸一化矩陣

步驟5:根據表格5中模糊效用值對節點進行排序和擇優,zi最大的為最優節點,即第一個節點為最優節點,這時將把任務分配給第一個節點。

4 性能測試與分析

為了驗證該負載均衡算法的有效性和優越性[5-6],通過實驗進行了驗證。集群由4臺電腦組成,它們由局域網連接而成,網絡帶寬100 Mb/s,4臺電腦配置相同:CPU是 Intel(R)Xeon(R)E5405 2.00 GHz,3G 內存,Windows XP SP3操作系統。在其中的一臺電腦上配置集群控制器,另外3臺電腦上裝有SQL Server2005數據庫。

實驗對隨機法、輪詢法、加權輪詢法和動態負載均衡算法的效率進行對比,分別讓集群中幾個節點的狀態不同,首先在3個節點輕載的情況下對4種負載均衡方法進行對比;然后使其中一個節點超載對4種負載均衡進行對比;使其中兩個節點超載再進行對比。

根據實驗數據得出以上三種實驗的對比圖如圖3、圖 4、圖 5所示。

根據實驗可以得出:在節點都很空閑(輕載)的情況下,動態負載均衡不一定是最優的,反而有時因為決策運算會花費時間導致其查詢的時間會更長。在節點輕載和超載不一的時候,動態負載均衡體現出它的優越性,是幾種負載策略中效率最高的;加權輪詢法次之;隨機法和輪詢法效率較低。

針對分布式數據庫集群關鍵技術的負載均衡進行研究,提出了一種動態負載均衡策略,對于縮短事務平均響應時間和提高整個系統資源利用率起了很好的作用,并通過實驗和其他負載均衡策略進行對比,證明了它的有效性和高效性。在今后的工作中,將進一步完善本文提出的負載均衡這一數據庫集群關鍵技術,進一步提升分布式集群數據庫系統的可靠性、穩定性以及高效性。

[1]YANG X J,DOU Y,HU Q F.Progress and challenges in high performance computer technology[J].J Comput Sci&Technol,2006,21(5):674-681.

[2]蔣江,張民選,廖湘科.基于多種資源的負載均衡算法的研究[J].電子學報,2002,30(8):1148-1152.

[3]ZHENG G B.Achieving high performance on extremely large parallel machines:Performance Prediction and Load Balancing[D].Urbana:UIUC,2005.

[4]徐澤水.不確定多屬性決策方法及應用[M].北京:清華大學出版社,2004.

[5]陳勇.一種高效的分布式反饋流量負載均衡算法[J].計算機工程,2009,35(2):98-102.

[6]谷鳳娜,張志斌,王麗宏.基于分布式入侵檢測系統的負載均衡算法的比較[J].計算機科學,2008,35(11):63-73.

Study and implementation of dynamic load balancing based on database cluster

He Jun1,Xiong Wei1,Chen Luo1,Yin Jiaxin2

(1.College of Electronic Science and Engineering,National University of Defense Technology,Changsha 410073,China;2.Institute of Software,Chinese Academy of Science,Beijing 100190,China)

For the database cluster load problem,a dynamic load balancing algorithm is given.Multi-node load balancing measurement and real-time monitoring is designed and implemented,such as CPU utilization,storage capacity,disk response efficiency,network delay,memory utilization and so on.Through load information of the nodes,the algorithm can get load mission groups,and attains load balancing.Performance analysis and simulation results show the algorithm has lower system cost and better load balancing factor.

dynamic load balancing;database cluster;real-time monitoring

TP393

B

1674-7720(2011)02-0068-04

國家自然科學基金(40801160);國家自然科學基金(60902036);國家 863項目(2007AA120402)

2010-07-28)

何駿,男,1986年生,碩士研究生,主要研究方向:地理信息系統與數據庫技術。

熊偉,男,1976年生,博士研究生,副教授,主要研究方向:地理信息系統與數據庫技術。

陳犖,男,1973年生,博士研究生,副教授,主要研究方向:地理信息系統與數據庫技術。

猜你喜歡
數據庫測量
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
測量的樂趣
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
測量
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 久久久久青草大香线综合精品| 中文字幕亚洲第一| 亚洲性影院| 免费一极毛片| 日韩美女福利视频| 欧美a在线| 国产精品高清国产三级囯产AV| 99久久精品免费看国产免费软件| 日韩免费毛片| 国产本道久久一区二区三区| 黄色污网站在线观看| 久久黄色免费电影| 欧美亚洲一区二区三区导航| 在线欧美日韩国产| 动漫精品啪啪一区二区三区| 国产成人综合在线观看| 91青青在线视频| 欧美高清国产| 欧美成在线视频| 有专无码视频| 91精品伊人久久大香线蕉| 国产精品亚洲片在线va| 亚洲欧美在线综合一区二区三区| 亚洲无码A视频在线| 国产在线麻豆波多野结衣| 国产微拍精品| 欧美人在线一区二区三区| 99精品欧美一区| 色偷偷综合网| 欧美一级99在线观看国产| 色视频久久| 天堂网亚洲系列亚洲系列| 中文字幕色在线| 日韩无码视频网站| 狠狠色丁婷婷综合久久| 九九九精品成人免费视频7| 久久久亚洲色| 久久国产亚洲欧美日韩精品| www.狠狠| 亚洲色图欧美在线| 亚洲乱码视频| 久久一本精品久久久ー99| 国产三级精品三级在线观看| 美女内射视频WWW网站午夜| 国产美女一级毛片| 欧美精品aⅴ在线视频| 97se亚洲综合在线天天| 激情国产精品一区| 亚洲精品卡2卡3卡4卡5卡区| 欧美日韩北条麻妃一区二区| 伊人久久大香线蕉综合影视| 精品视频一区在线观看| 国产精品亚洲αv天堂无码| 啦啦啦网站在线观看a毛片| 亚洲综合激情另类专区| 在线国产毛片| 国产小视频a在线观看| 高清免费毛片| 亚洲无码视频一区二区三区| 日本国产精品一区久久久| 亚洲人免费视频| 免费国产福利| 国产凹凸一区在线观看视频| 色哟哟精品无码网站在线播放视频| 日韩黄色精品| 天天操天天噜| 国产人人射| 伊人久久综在合线亚洲2019| 2021最新国产精品网站| 色综合中文字幕| 热久久综合这里只有精品电影| 日韩国产一区二区三区无码| 一本大道无码高清| 男女男精品视频| …亚洲 欧洲 另类 春色| 一区二区三区四区在线| 五月婷婷丁香综合| 一级全黄毛片| 亚洲一区网站| 五月婷婷亚洲综合| 草草线在成年免费视频2| 91无码视频在线观看|