(计算机应用技术专业论文)基于multiagent的动态负载平衡技术研究及应用.pdf_第1页
(计算机应用技术专业论文)基于multiagent的动态负载平衡技术研究及应用.pdf_第2页
(计算机应用技术专业论文)基于multiagent的动态负载平衡技术研究及应用.pdf_第3页
(计算机应用技术专业论文)基于multiagent的动态负载平衡技术研究及应用.pdf_第4页
(计算机应用技术专业论文)基于multiagent的动态负载平衡技术研究及应用.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机应用技术专业论文)基于multiagent的动态负载平衡技术研究及应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于m u iti - a g e n t 的 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含未获得 ! 逵! 翅逡直墓丝重噩挂鄹主明数! 奎拦亘窒2 或其他教育机构的学位或证书使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 学位论文作者签名:云迫昌吞 签字日期:加i 。年箩月谚日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,并同意以下 事项: 1 、学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许 论文被查阅和借阅。 2 、学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以 采用影印、缩印或扫描等复制手段保存、汇编学位论文。同时授权清华大学“中 国学术期刊( 光盘版) 电子杂志社 用于出版和编入c n k i 中国知识资源总库, 授权中国科学技术信息研究所将本学位论文收录到中国学位论文全文数据库。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 、 云j 昌奇 签字日期:v l d 年y 月谚日 ? 毛弛穆 签字日期:训口年厂月谚日 基于m ulti - a g e n t 的动态负载平衡技术研究及应用 摘要 随着信息科技的进步和通信技术的不断发展,计算机技术已发展到以网络为 中心的信息交互时代。网络服务站点也不再局限于提供h t t p 、f t p 等传统类型 的服务,新的服务类型如流媒体音视频、网络游戏等也随处可见。随着网络服务 多样化、信息海量化和用户数据交互实时化,各网络服务提供者面临的问题是如 何满足日益增长的用户海量访问请求。 然而随着信息技术的不断发展,网络服务的瓶颈己不再是网络本身的通信质 量,而是服务器的性能。传统的单一服务器系统处理用户请求的能力非常有限, 重新购买大型的服务器会使原有服务器闲置,造成资源浪费。 基于上述需求,构建高性能和高可用性的服务器成为解决此问题的关键。集 群系统能够充分利用现有服务器实现较高性能的计算系统,并通过各服务实体的 协同合作完成任务的实时处理。它具有自治性、并行性、扩展性和透明性等一系 列优点,已成为一种有效的并行分布式计算资源,受到广泛的欢迎。如何充分 有效地利用集群系统资源,以及如何缩短用户请求响应时间是我们需要解决的重 点问题。负载平衡技术是解决此问题的有效途径。 本文在研究集群技术、负载平衡技术及a g e n t 技术的基础上,利用转移策略、 选择策略、定位策略、信息策略等负载平衡策略,设计了一种基于m u l t i a g e n t 的动态负载平衡算法,采用集中式调度策略,以j a d e 平台为试验床,将启发式 调度策略与主动式调度策略相结合,设计实现请求解析a g e n t 、负载信息收集 a g e n t 、负载信息监测a g e n t 、负载迁移a g e n t 、参数调整a g e n t 等协作实现系统 的负载平衡并对算法的有效性进行了验证。 另外,本文对参数动态调整、会话数据支持、m a s 系统的容错管理机制作 了进一步的研究,以更好的实现系统的负载平衡。为了更有效的实现系统的负载 平衡,对参数的调整采用了模糊控制技术。 关键词:集群;a g e n t ;动态负载平衡;j a d e 平台;容错管理;模糊控制 r e s e a r c ho fm uiti a g e n t 。b a s e dd y n a m icl o a db aia n cin g a p p r o a c ha n da p p lic a tio n a b s t r a c t a st h e d e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g ya n dm o b i l ec o m m u n i c a t i o n t e c h n o l o g y , c o m p u t e rt e c h n o l o g yh a sd e v e l o p e dt ot h en e t w o r k - c e n t r i ci n f o r m a t i o n e x c h a n g ea g e n e t w o r ks e r v i c es i t e sa r en ol o n g e rc o n f i n e dt op r o v i d et h et r a d i t i o n a l t y p eo fs e r v i c e s ,s u c ha sh m ;f t p ,n e wt y p eo fs e r v i c e ss u c ha ss t r e a m i n ga u d i o a n dv i d e o ,o n l i n eg a m e s ,a l s oc a r lb es e e na n y w h e r e w t l lt h e d i v e r s i f i c a t i o no f n e t w o r ks e r v i c e s ,m a s s i v eo fi n f o r m a t i o na n dr e a lt i m et r a n s f o r m a t i o no fu s e rd a t a e x c h a n g e ,s e r v i c ep r o v i d e r sn e e dt od e a lw i t ht h ep r o b l e mt h a th o wt om e e tt h e g r o w i n g u s e rr e q u e s t h o w e v e r , 、砘mt h ea d v a n c eo fi n f o r m a t i o nt e c h n o l o g y , t h ek e yt or e s t r i c t i n g n e t w o r kq o si sn ol o n g e rt h eb o t t l e n e c ko fn e t w o r kc o m m u n i c a t i o n ,b u tt h es e r v e r p e r f o r m a n c e t h et r a d i t i o n a ls i n g l e s e r v e rs y s t e mh a sav e r yl i m i t e da b i l i t yt oh a n d l e u s e rr e q u e s t s ,a n dt op u r c h a s el a r g es e r v e r sw i l lm a k et h eo r i g i n a ls e r v e r si d l e , r e s u l t i n gi na w a s t eo fr e s o u r c e s b a s e do nt h ea b o v e r e q u i r e m e n t s ,b u i l d i n gh i g hp e r f o r m a n c e a n dh i 曲 a v a i l a b i l i t ys e r v e rp l a yt h ek e yr o l et ot h es o l u t i o no ft h i sp r o b l e m c l u s t e rc a n m a k e f u l lu s eo fe x i s t i n gs e r v e r st oa c h i e v eh i g h p e r f o r m a n c ec o m p u t i n gs y s t e m s f u r t h e r m o r e ,i th a sas e r i e so fa d v a n t a g e s ,s u c ha sa u t o n o m y , p a r a l l e l i s m ,s c a l a b i l i t y , a n dt r a n s p a r e n c y , a n di th a sb e c o m ea l le f f i c i e n tp a r a l l e l d i s t r i b u t e dc o m p u t i n g r e s o u r c e sa n di sw i d e l yw e l c o m e d n o wt h ek e yi s s u e sw h i c hn e e dt ob es o l v e da r e h o wt om a k ef u l lu s eo fc l u s t e rr e s o u r c e sa n dh o wt os h o r t e nt h er e s p o n s et i m eo fu s e r r e q u e s t s l _ o a db a l a n c i n gt e c h n o l o g yi sa ne f f e c t i v ew a y t os o l v et h i sp r o b l e m i nt h i sp a p e r , b a s e do nr e s e a r c h i n gc l u s t e r s ,l o a db a l a n c i n gt e c h n o l o g ya n da g e n t t e c h n o l o g y , u s i n gt r a n s f e rp o l i c y , s e l e c t i o np o l i c y , l o c a t i o np o l i c y , i n f o r m a t i o np o l i c y , e t c ,ad y n a m i cl o a db a l a n c i n ga l g o r i t h mb a s e do nm u l t i a g e n ti sd e s i g n e d ,a p p l y i n g c e n t r a l i z e ds c h e d u l i n gp o l i c ya n dr e g a r d i n gj a d ep l a t f o r ma sat e s tb e d ,c o m b i n i n g h e u r i s t i cs c h e d u l i n gs t r a t e g ya n da c t i v es c h e d u l i n gp o l i c y , r e q u e s ta n a l y s i sa g e n t , i i i l 。a d - i n f 0g a t h e ra g e 鸲l o a d i n f o m o n i t o ra g e n t ,l 。a d 仃a j l s f e r m 。b i l ea g e n ta n d p 猢e t e ra d j u s t m e n tm o b i l ea g e n ta r cd e v e l 。p e d t oc o m p l e t el o a d b a l a n c i n g 。f s y s t e m a n dv e r i f yt h ee f f e c t i v e n e s so f t h ea l g o r i t h m i i la d d i i 。n , w es t u d y t h ed y n a m i ca d j u s t m e n t 。f p a r a m e t e r s , s e s s i 。n 纰s u p p 毗 觚df a u l t - t o l e 础m e c h a n i s m 。f m a s p r e l i m i n a r y i no r d e rt oa c h i e v e1 。a db a l 雒c i n g o fs y s t e me f f i c i e n t l y u s i n g 舵巧c o n 加l t e c h n o i o g yt 0 删心t l l ep a 姗e t e r s k e yw 。r d s :c l u s t e r :a g e n t ;d y n a m i c l o a db a i a n c e :j a d ep i a t f 。r m : f a ult t ole r a n tm a n a g e m e n t ;f u z z yc o n t r o i i v 目录 l 绪论1 1 1 研究背景及意义1 1 2 国内外研究现状2 1 2 1 集群系统国内外研究现状2 1 2 2 负载平衡技术国内外研究现状3 1 2 3 a g e n t 技术国内外研究现状4 1 3 研究内容与结构一4 1 4 本章小结一5 2 关键背景技术研究7 2 1 集群系统7 2 1 1集群系统概述- 7 2 1 2集群系统优越性7 2 1 3 典型集群系统:8 2 2 负载平衡技术一9 2 2 1 负载平衡分类9 2 2 2负载平衡算法1 0 2 2 3负载平衡中常见问题13 2 3 a g e n t 技术。1 4 2 3 1 a g e n t 概述1 4 2 3 2 多a g e n t 系统1 5 2 3 3 移动a g e n t 1 6 2 3 4 a g e n t 通信1 9 2 3 5 移动a g e n t 平台19 2 4本章小结2 l 3 基于m u l t i a g e n t 的负载平衡算法设计2 3 3 1实现方式2 3 3 2算法思想2 4 3 3影响因子2 6 3 4负载量化2 7 v 3 5状态分类2 8 3 6 动态权值:j 2 8 3 7 负载平衡策略2 9 3 7 1 转移策略_ 2 9 3 7 2选择策略。3 0 3 7 3定位策略3 0 3 7 4信息策略3 0 3 8 a g e n t 模型。3 1 3 8 1 请求解析a g e n t 3 2 3 8 2 负载信息收集a g e n t 3 3 3 8 3 负载信息监测a g e n t 3 4 3 8 4 负载迁移a g e n t 3 5 3 8 5 参数调整a g e n t 。3 6 3 9本章小结3 7 4 相关支撑技术及算法研究与设计3 9 4 1会话数据支持3 9 4 1 1会话数据跟踪3 9 4 1 2 会话数据存储。:一4 0 4 1 3会话连接建立4 l 4 1 4会话失效处理4 3 4 2系统容错管理4 3 4 2 1 容错策略4 4 4 2 2检查点建立算法设计4 4 4 2 3故障分类4 6 4 2 4故障检测4 6 4 2 5 故障恢复4 8 4 3本章小结4 9 5负载平衡系统的设计实现及验证5 1 5 1集群系统架构5 l 5 2基于j a d e 的负载平衡系统5 2 5 2 1系统接口。5 3 5 2 2请求解析5 6 v i 5 2 3 信息收集5 8 5 2 4 分析决策5 9 5 2 5 数据字典5 9 5 3 测试实验6 0 5 3 1 测试环境。6 0 5 3 2 测试结果6 l 5 4 本章小结j 6 2 6 总结与展望6 5 参考文献6 7 致谢:7 1 个人简历、在校期间发表的学术论文7 3 v i i 基于m u l t i a g e n t 的动态负载平衡技术研究及应用 1 绪论 1 1 研究背景及意义 随着信息科技的进步和通信技术的不断发展,计算机技术已发展到以网络为 中心的信息交互时代。网络服务站点也不再局限于提供h t t p 、f t p 等传统的服 务类型,新的服务类型如流媒体音视频、网络游戏等也随处可见。随着网络服务 多样化、信息海量化和用户数据交互实时化,各网络服务提供者也面临着如何满 足日益增长的用户海量访问请求的问题。 随着网络技术的不断发展,网络服务的瓶颈已不再是网络本身的通信质量, 而是服务器的性能。传统的单一服务器系统处理用户请求的能力非常有限,简单 的提升系统性能并不能从根本上解决问题,重新购买大型的服务器会使原有服务 器闲置,造成资源浪费。因此,构建高性能和高可用性的服务器,成为解决此问 题的关键【l 】。集群系统能够充分利用现有资源,通过较低软硬件设施便可实现较 高性能的计算系统,并通过各服务实体的协同合作完成任务的实时处理。它具有 自治性、并行性、扩展性和透明性等一系列优点,已成为一种有效的并行分布 式计算资源,受到广泛的欢迎。但集群系统的资源能否被充分有效地利用是我们 需要解决的首要问题。 负载平衡【2 , 3 1 技术是解决上述问题的个有效途径,且在国内外均有广泛研 究及应用。负载平衡( l o a db a l a n c i n g ) 技术是通过对集群中各个节点的负载状 况进行实时监测,并根据调度策略合理地分配和调整各节点的负载量,最大程度 地提高系统的资源利用率和缩短任务的平均响应时间。目前已经提出了多种用于 实现负载平衡的算法,主要有静态负载平衡算法和动态负载平衡算法。 本文在开发电信增值业务系统的基础上,提出了一种基于m u l t i a g e n t 的动 态负载平衡算法,该算法适用于具有多种服务类型的应用系统。以电信增值业务 系统为例,服务种类的多样性、用户请求到达时间的不确定性以及各节点工作量 的动态变化性决定了我们只能根据实时采集的系统的负载状况,制定有效的动态 负载平衡策略来实现系统负载平衡,达到充分利用系统资源、及时响应用户请求 的目的。本文重点研究如何利用集群技术、负载平衡技术及a g e n t 技术,在应用 基于m u l t i a g e n t 的动态负载平衡技术研究及应用 层实现服务器端的动态负载平衡。 1 2 国内外研究现状 1 2 1集群系统国内外研究现状 对于如何提高服务器的性能,通常我们可从软措施和硬措施两个方面来考虑。 软措施通常是指采用何种技术( 如系统应用的框架等) 来减轻对服务器产生的压 力。然而这种方法并不能大幅提高服务器的性能。硬措施是指从系统体系结构角 度考虑,提高系统软硬件设施性能以此提高系统整体性能。此角度主要有两种实 现方式,一种是单服务器系统,这种系统通常会对软硬件要求相当高,另外一种 就是多服务器系统,也可以理解为我们通常所讲的集群系统。 单服务器系统主要是通过对服务器的软硬件的不断升级使其具有更高的性 能,当升级到一定程度时,可能会出现硬件受限、软件无法继续升级等情况,有 的时候甚至需要重新更换高性能服务器,造成资源浪费。而多服务器系统是从体 系结构方面考虑,将单一的服务器结构扩充为集群式多机服务器结构,组成应用 服务集群【4 ,5 j 。近年来,已经提出了多种服务器集群系统的解决方案。 l i n u x 虚拟服务器( l v s ) 【6 ,7 】是一个著名的负载平衡集群系统。l v s 是一个基 于l i n u x 系统的开源项目,l v s 的整体结构包括前端的负载均衡器以及后端的服 务器池和存储系统【8 】,其中负载均衡器主要负责接收来自客户端的请求,并根据 所使用的调度算法将请求合理地分配给后端服务器,后端服务器处理完用户请求 后将结果直接返回给用户。所使用的调度算法决定了系统性能,通常是静态调度 算法,如轮询调度算法【6 8 ,2 1 2 2 1 和最少连接到7 1 调度算法等,然而这些算法在反映 系统负载状况方面的效果并不佳。 自1 9 9 5 年m i c r o s o f t 就开始了集群系统的研究开发工作,其开发的集群系统 的特点是高可用性、高可靠性和高可扩展性。主要有三大类,包括: 服务器集群也即m i c r o s o f tc l u s t e rs e r v i c e s 9 1 ( 1 订s c s ) ,在w i n d o w sn t 操作系 统基础上进行扩展以提供高可用性、可扩展性和可靠性支持,主要为后端应用程 序提供服务,例如数据库服务器。 网络负载平衡( n e t w o r kl o a db a l a n c e ) 主要提供了可扩展性和高可用性的企 业范围内的t c p i p 服务,如w e b 终端服务。其主要功能是均衡整个集群的i p 基于m u l t i - a g e n t 的动态负载平衡技术研究及应用 流量,客户端可以通过一个或多个“虚拟”的i p 地址访问集群,就像访问一台 服务器一样。随着通信量的增加,也可简单的加入新的服务节点。 组件负载平衡i l o 】( c o m p o n e n tl o a db a l a n c e ) 是一种基于中间应用层的负载平 衡机制,可以在多个运行业务逻辑的站点服务器之问分配负载,当业务处理请求 到达时,c l b 能够在众多的访问路径中选择一条最佳路径,并提供故障恢复功 能。 国内也有一些公司在集群系统方面进行了研发,如联想公司在1 9 9 9 年9 月推 出了n s l 0 0 0 0 高性能集群服务器;同年,国内首例l i n u x 安全集群系统通过公 安部认证;另外,中科院、清华大学等一些科研机构对集群系统也有很多的研究。 1 2 2负载平衡技术国内外研究现状 通常会从负载平衡算法及实现层次上对负载平衡技术进行研究,下面对这两 个方面分别进行介绍。 负载平衡算法可以说是负载平衡技术的核心。目前,用于实现负载平衡的算 法主要有静态负载平衡算法和动态负载平衡算法,静态负载平衡算法常见的主要 有轮询法、加权轮询法等,通常情况下,静态负载平衡算法都没有考虑系统的动 态变化情况,而动态负载平衡算法则是根据系统负载的动态变化情况来决定任务 的调度,相比之下,动态负载平衡算法更符合系统需求,实现负载平衡的效果也 更好。常见的动态负载平衡算法主要有最少连接数算法、加权最少连接数算法等。 在2 2 小节将会详细介绍目前常用的静动态负载平衡算法。 就实现的层次而言,目前,负载平衡功能不但能从软硬件方面实现,而且已 能从网络不同层次实现。如c i s c o 网络设备厂商已从硬件方面实现了网络负载平 衡的功能,其产品l o c a l d i r e c t o r 是一种高可用性i n t e m e t 设施,能够跨多台服务 器智能地平衡t c p 和u d p 流量,m i c r o s o f t 也提供了实现网络负载平衡的集群技 术。而美国b e a 公司的w e b l o g i c 实现了面向w e b 应用的负载平衡功能,它支 持集群技术,能够使一组s e r v e r 指向同一域名一起工作从而提供一个更强大、 更可靠的应用平台。还有以科学研究为目的而实现的大量典型的面向特定应用的 集群负载平衡系统,如b e o w u l f 主要用来进行地球、空间科学的研究,m a r s 主要用于并行编程环境,以及一些高性能集群系统如n a n o s 、p a r p a r 掣1 1 】。 基于m u l t i a g e n t 的动态负载平衡技术研究及应用 1 2 3 a g e n t 技术国内外研究现状 a g e n t 技术的诞生和发展为负载平衡技术的研究注入了新的活力,它是人工 智能技术( a i ) 和网络技术发展的必然结果。随着网络技术的发展,多个应用程序 间相互作用的模式正从单一的集成式系统向分布式系统演化,a g e n t 技术正是为 解决复杂、动态、分布式应用而提供的一种新的计算手段。其适用的领域主要有: ( 1 ) 与用户有灵活的相互作用,在互相作用中智能地协助用户完成琐碎的工 作; ( 2 ) 在对海量分布式信息搜索中,建立快速智能的搜索机制; ( 3 ) 在高度动态的环境下,要求应用程序能对多变的环境做出响应或自适应; ( 4 ) 在地理或逻辑上分布、自主或异构的节点间提供应用服务或中间件服务; ( 5 ) 在不完全信息下的复杂或分散的资源分配问题。 近年来, m a s t l 2 l ( m u l t ia g e n ts y s t e m ) 也被广泛用于解决集群系统负载平 衡的问题。 1 3 研究内容与结构 本文的研究重点是,通过a g e n t 技术来解决目前负载平衡中的常见问题,提 出一个基于a g e n t 的动态负载平衡算法,设计多个a g e n t 模型,实现基于a g e n t 的负载平衡调度系统。当用户请求到达的时候能够将其定向到最合适的服务器, 使系统性能大幅提高,并使系统具有高可靠性、高可用性和高可扩展性。 本文的各个章节将按如下方式展开: 第l 章:绪论。提出了本文要解决的问题如何满足日益增长的用户海量 访问请求,并提出了有效的解决途径利用负载平衡技术实现集群系统资源的 合理分配,实现集群系统的高可用性和高扩展性。同时介绍了论文的研究背景、 国内外研究现状以及本文的主要研究内容及组织结构。 第2 章g 关键技术。本章对负载平衡实施的关键技术进行了详细的表述与分 析。通过本章可以了解到集群系统、负载平衡技术及移动a g e n t 技术。后面的章 节将详细介绍如何应用这些技术解决负载平衡问题。 第3 章:基于m u l t i a g e n t 的负载平衡算法设计。本章在深入研究系统实现 方式的基础上,设计基于a g e n t 的动态负载平衡算法及a g e n t 模型,详细介绍了 算法的思想,并给出了各a g e n t 的实现类图,算法的实现主要以负载平衡策略为 4 基于m u l t i a g e n t 的动态负载平衡技术研究及应用 支撑,由多个a g e n t 协作完成。 第4 章:相关支撑技术及算法研究与设计。本章对在实现负载平衡的过程中 的相关支撑技术进行了研究,主要有会话数据支持和系统容错管理。会话数据支 持提供一种快速响应用户请求的方法。系统容错管理为实现系统的稳定性和安全 性提供了保障,设计了一种建立检查点的算法。 第5 章:负载平衡系统的设计实现及验证。本章主要对负载平衡系统的设计 和实现进行了详细介绍,并对基于m u l t i a g e n t 的动态负载平衡算法进行了简单 的验证。 第6 章:总结与展望。本章主要是对全文做了总结,并对下一步的工作进行 展望。 1 4 本章小结 本章针对用户海量访问请求的问题,提出了解决的对策,并介绍了相关技术 的国内外发展概况、论文研究的内容和意义。主要包括: 论文的研究背景及意义 论文相关技术的国内外发展概况 令论文的研究内容和章节安排 基于m u l t i - a g e n t 的动态负载平衡技术研究及应用 2 关键背景技术研究 2 1 集群系统 2 1 1集群系统概述 集群系统是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性 与可用性的服务平台。在客户端看来,一个集群就好像是一个服务实体,其目的 是为了解决单机运算能力的不足,提高系统服务的可靠性,获得规模可扩展能力, 降低整体运维成本【1 3 】。 集群系统通常包括( 1 ) 负载均衡器( l o a db a l a n c es e r v e r ) ,有的集群系统中 还包括备份负载均衡器( l o a db a l a n c eb a c k u ps e r v e r ) 。( 2 ) 服务器池,一组处理 请求的节点服务器。( 3 ) 共享存储器,主要是指d b ( 数据库) 、d f s ( 分布式文件系 统) 及n f s ( 网络文件系统) 等。其采用的操作系统通常有v m s 、u n i x 、w i n d o w s n t 、l i n u x 等【1 4 1 。 2 1 2集群系统优越性 图2 一l 集群系统基本架构 与单机系统相比较,集群系统主要有如下优点: ( 1 ) 高性能( h i g hp e r f o r m a n c e ) ,通常情况下,集群的工作负载是大量的并 发请求,通过一组协同工作的服务实体分而处理可以提高整体的处理效率l l 引。 ( 2 ) 高可扩展性( s c a l a b i l i t y ) ,可以根据需要向集群系统动态增加或删改节 点。当集群系统的处理能力不足时,可添加节点以提高处理性能,并且不会影响 系统的正常工作;当出现故障时,也可排除故障节点,由其他节点接替故障节点 7 基于m u l t i a g e n t 的动态负载平衡技术研究及应用 的工作,避免出现服务中断的现象。 ( 3 ) 高可用性( h i g ha v a i l a b i l i t y ) ,保证系统的正常运行时间,当出现故障 时能够以最短的时间恢复系统的运行。系统具有自恢复功能,能够自动处理一般 的系统故障;当节点失效时,可由其他节点代替其工作,如此能够对外提供不问 断的服务。 ( 4 ) 高性价比,系统对软硬件的配置要求不高,可以采用廉价的符合工业 标准的硬件构造高性能的系统,避免了资源浪费。 因此,集群技术可以提高系统的性能,改善系统的可扩展性,降低系统崩溃 的概率,加强服务的可靠性。 2 i 3典型集群系统 针对w e b 服务器的集群系统的设计和实现,比较典型的解决方案如下: 夺t o m c a t 集群 对于w e b 应用集群而言,为了保持多个节点间数据的一致性,必须对会话信 息( s e s s i o n ) 进行存储,通常采用两种方式实现,一种是使用特定的服务器全局 存储s e s s i o n 数据,当需要用到会话数据的时候,就可以访问这台服务器来获取 数据;另一种就是在集群中的所有节点间进行s e s s i o n 数据的冗余存储,任何一 个节点均保存了所有的s e s s i o n 数据【1 5 】。 t o m c a t 集群各节点通过建立t c p 连接来完成s e s s i o n 的拷贝,拷贝有同步 和异步两种模式。在同步模式下,对客户端的响应必须在s e s s i o n 拷贝到其他节 点完成后进行:异步模式无需等待s e s s i o n 拷贝完成就可响应。异步模式更高效, 但可靠性不如同步模式。 在t o m c a t 集群中有三种方式用来完成系统的负载平衡,即d n s 轮询方式、 a p a c h em o d _ p r o x y 方式、a p a c h em o d j k 方式【1 5 】。 w e b s p h e r e 集群 w e b s p h e r e t l 6 】是i b m 提供的一个集成软件平台,具有可靠、灵活和健壮等特 点。i b m 提供了广泛的工具盒功能来帮助构建、运行、管理和优化w e b s p h e r e 应用程序。w e b s p h e r e 工具套件基于j 2 e e 和e c l i p s e 等行业开放标准,且使 用公共的安装、管理、安全和编程模型。 8 基于m u l t i a g e n t 的动态负载平衡技术研究及应用 w e b s p h e r e 同时提供了集群解决方案。该方案能够提供带宽管理、缓存、文 件管理与复制,以及负载平衡功能。这些特性能够使多个服务器如同一个服务器 进行工作,从而可提高访问频繁的网站的处理能力,再者有i b m 电子网络防火 墙提供安全保证,两者强有力的联合可使单个或分布的站点在降低带宽资源占 用、提高安全性的同时,保证终端用户响应的质量以及站点规模的持续增长【1 6 1 。 另外两种比较典型的集群是m i c r o s o f t 集群和l v s 集群,在1 2 1 小节中已经 介绍过,这里就不再赘述。 2 2 负载平衡技术 负载平衡( l o a db a l a n c i n g ) 是分布式系统中的一项重要技术,通过对各个 节点及系统的负载状况进行实时的监测,合理地分配和调整各节点的计算负载, 保证最大限度地提高系统的资源利用率和减小任务的平均响应时间。 2 2 1负载平衡分类 目前针对不同的应用需要,已经研究了许多不同的负载均衡技术,下面从实 现负载平衡的载体、地理结构及网络层次( 指o s i 参考模型) 等来分类介绍。 2 2 1 1 软,硬件负载平衡 从实现负载平衡的载体来讨论负载平衡,可分为两种方式:软件负载平衡和 硬件负载平衡。 软件负载平衡【1 7 】是指依赖特定的软件实现负载平衡,如d n sl o a db a l 锄c e 【1 8 】 等,其优点是配置简单,使用灵活,性价比高,目前市场上的l v s 、l i n u x h a 等较为成熟的开源软件,可以满足简单的负载平衡需求。然而软件本身的可扩展 性并不是很好,且容易受操作系统的影响,当连接请求数过多的时候,软件本身 会成为提供服务的瓶颈r n 。 硬件负载平衡【17 1 是由独立于操作系统的智能设备完成网络请求分发,处理能 力强,但价格昂贵,且多是单点配置,主要适用于简单应用。 2 2 1 2 本地全局负载平衡 从实现负载平衡的地理分布结构方面考虑,负载平衡可分为本地负载平衡 9 基于m u l t i a g e n t 的动态负载平衡技术研究及应用 ( l o c a ll o a db a l a n c e ) 和全局负载平衡( g l o b a ll o a db a l a n c e ) ,本地负载平衡是指对 处于同一地理位置的集群的各节点实现负载平衡,局域网内的负载平衡就属于这 种情况。全局负载平衡是指对处于不同地理位置的集群节点实现负载平衡。 本地负载平衡m 可以有效地解决数据流量大、网络负荷重的问题;可以使用 性能一般的服务器组成集群;可以灵活应用多种负载平衡策略;可以为用户提供 完全透明的服务;容易对系统进行扩充升级或故障排除,不必改变现有网络结构 或者停止现有的服务。 全局负载平衡是指当拥有多个分散的站点时( 通常这些站点分布在不同的地 理位置) ,用户可以只通过一个i p 地址或域名访问到离自己最近的站点服务器, 从而获得最快的访问速度,其目的是实现对现有站点资源的统一管理【l 。7 1 。全局 负载均衡的优点主要有【1 7 】( 1 ) 可远距离为用户提供完全透明的服务,实现地理 位置的无关性;( 2 ) 可避免服务器单点故障以及i s p 专线故障引起的单点失效; ( 3 ) 可有效解决网络拥塞问题,缩短服务器响应时间,提高访问质量。 2 2 1 3 网络层次上的负载平衡 从实现负载平衡的网络层次考虑,负载平衡解决方案可分为两种主要类型: 传输层( t r a n s p o r t 1 e v e l ) 负载平衡和应用层( a p p l i c a t i o n 1 e v e l ) 负载平衡。 传输层负载平衡【1 7 1 主要是通过将集群对外的i p 地址以反向n a t 方式映 射为多个内部节点的i p 地址,并动态使用内部的i p 地址处理t c p 连接请求, 以实现负载平衡的方式。例如,基于d n s 的负载平衡、基于t c p i p 的负载平衡。 应用层负载平衡是将应用的有效负荷作为负载对象,能够合理分配应用层的 访问流量以实现负载平衡,适用于那些服务器端的应用必须处理缓存或者应用会 话数据的情况,但由于研究的时间比较短,并且针对不同的应用层协议要专门研 究相应的负载平衡方法,目前应用比较多的是h t t p 服务器集群1 1 9 j 。 2 2 2负载平衡算法 负载平衡算法是一个负载平衡系统的核心部分【1 1 ,通常将其分为两种: ( 1 ) 静态负载平衡算法,依据系统初始运行的信息而不是系统运行过程中的动 态信息,通过对任务的执行时间和节点的处理能力的估计值来分配任务,所以当 1 0 基于m u l t i - a g e n t 的动态负载平衡技术研究及戍用 态信息,通过对任务的执行时间和节点的处理能力的估计值来分配任务,所以当 计算结果与系统实际情况出现偏差或新任务到达时,往往会表现出任务分配的不 均衡性。 ( 2 ) 动态负载平衡算法是依据系统当前的负载状况进行负载分配决策,能够适 应系统负载的动态变化情况,比静态算法更具灵活性和有效性。动态负载平衡算 法必须收集、储存并分析系统当前的状态信息,因此会产生比静态负载平衡算法 更多的系统开销,但这种开销通常都可以抵消掉。 常见的负载平衡算法主要有如下几种: 2 2 2 1 静态负载平衡算法 1 ) 轮询法。轮询调度( r o u n dr o b i ns c h e d u l i n g ) 算法1 6 , 8 2 0 , 2 1 1 就是按照轮询的 方式依次将任务分配给不同的节点服务器。算法最大的优点就是简洁且无需进程 间的通信,但由于算法不考虑节点的响应时间,当请求响应时间变化较大时,就 很容易导致服务器间负载的不均衡。 轮询调度算法平等的对待每个节点并认为他们的处理性能都相同,不考虑每 个节点的当前连接数和响应速度。随着连接数的不断增多,服务器间负载的不均 衡性就会越来越明显。所以这种算法适用于所有服务器都有相同的软硬件配置并 且平均服务请求相对均衡的情况。而对于异构服务器集群,轮询法则会显得无能 为力,负载平衡的效果也不太理想。 2 ) 加权轮询调度算法( w e i g h t e dr o u n d r o b i ns c h e d u l i n g ) 。在实际情况中, 通常会存在服务器的配置及处理能力各不相同的情况,若平等的对待每个节点, 则负载平衡效果势必不理想。因此,我们需要根据各节点的实际性能给他们分配 不同的权值,使其能够接受相应权值数的服务请求。其中权值是用来评价各节点 性能的估计值【2 。 加权轮询调度算法是对轮询调度算法的改进,是一种比较简单、高效的算法。 由于其考虑到了不同服务器的处理能力,所以这种平衡算法能确保高性能的服务 器得到更多的使用率,避免低性能的服务器负载过重。因此,在实际应用中也比 较常见。但它同轮询法一样不考虑节点当前状态,当连接请求增多时,仍然会导 致服务器f a j 出现负载不平衡的现象。 基于m u l t i - a g e n t 的动态负载平衡技术研究及应用 2 2 2 2 动态负载平

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论