一种基于嵌入式Web服务器负载均衡算法的研究与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:oyjing
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对嵌入式Web服务器随着访问量的增加所面临的瓶颈问题,提出了一种利用随机概率动态请求负载分配的算法。该算法通过监视服务器集群当前工作负荷状态得出相关数据,再结合随机概率分配使后续的负载分布更均匀。实验结果表明,该算法有效提高嵌入式Web服务器的多发处理能力。
  关键词:嵌入式Web服务器;负载均衡;权值;随机概率分布;S3C2440A
  中图分类号:TP301.6文献标识码:A文章编号:1009-3044(2012)10-2217-03
  Research and Realization of Load Balancing Algorithm Based on the Embedded Web Server
  YANG Zhen-quan, ZOU Chuan-yun, LI Zhen-yu
  (School of Information Engineering, Southwest University of Science and Technology, Mianyang 621010, China)
  Abstract: An algorithm requesting distribution dynamically based on stochastic probability is proposed to solve the bottleneck problem cased by increasing visits to embedded Web server. Related data is collected by monitoring current working load condition of the servers. Subsequent load distribution could be made more even through combining related data and stochastic probability distribution. Experiment results show that the algorithm can improve the multiple processing power of the embedded Web server effectively.
  Key words: Embedded Web Server; load balancing; Weights; stochastic probability distribution; S3C2440A
  隨着现代计算机网络技术的不断发展,传统的大型Web服务器已逐渐不能适应复杂环境和低成本的社会需要,嵌入式Web服务器此时应允而生,以它的低功耗和灵活性深受用户的喜爱,随着应用的范围越来越广,要求的处理能力和计算强度也相应增大[1],此时嵌入式Web服务其有限的硬件条件随着访问量和数据流量的增加不能提供相应资源的矛盾越发突出,特别是面对大量突发性或者紧急性的访问时,极易导致服务阻塞,系统崩溃,使相应的设备无法正常运行,轻则造成短期停止服务重则造成无法挽回的损失[2]。依靠单个的嵌入式Web服务器不能同时满足大量的请求服务,但若能将多个嵌入式Web服务器通过有效的组织使其成为一个完整的系统,并将客户端发送的大量请求合理的分发给该系统的各服务器,那么不但提高了单个服务器的处理能力,同时也有效避免网络瓶颈的发生,以上便是利用服务器集群实现负载均衡的基本思想。
  1负载均衡算法的设计
  图1多服务器负载模型图
  图1给出了多服务器模型框架,即由:服务器,运行服务软件提供相应服务的机器;客户,也就是向嵌入式Web服务器发起请求响应的应用;负载处理算法,也就是给嵌入式Web服务器分配HTTP请求的算法[3]。
  1.1算法设计思想
  通过实时监测各个服务器现有的访问对其工作负荷状态产生的影响即服务器实际承受的访问量,再结合服务器其自身软硬件条件所能提供的服务能力计算出每台服务器当前的负载权值以及平均负载权值。根据服务器应该分配不大于其自身固有承载力的服务原则基础上在随后时间段内对于那些超负荷工作的服务器应减少其请求服务对于那些仍处于“饥饿”状态也就是低于平均负载权值的服务器应对其增加请求访问服务,通过此分配使整个服务器群体到达负载均衡的效果。
  1.2负载权值
  根据能力与负载相匹配原则,设集群服务器系统m台服务器组成其中服务器Si(i=1,2,…,m)的固有能力为Wi,负载为Li(其中Wi和Li可以利用HTTPF软件对单台服务器的实际测试而得)[4],在集群服务器系统达到负载平衡时有:
  (4)
  为使集群服务器系统负载均衡,各服务器应以当前平均负载权值为基准调整各自的负载,因为,服务器的固有能力是常量。
  1.3分配权值
  计算出了每台服务器的负载权值后,就可以根据公式(2)得到平均负载权值。在当前的基础上通过从新分配调整随后时间段内各服务器的请求负载使整个群体实现负载均衡的效果。同时我们可以当前负载状态来推算后续负载情况。
  令达到负载均衡状态时服务器Si分配的请求个数为nˉi对应的负载状况为Lˉi而服务器当前分配的请求个数ni和负载状况Li都可以测得。假设负载条件相同那么分配的请求数量的变化与负载的变化应是一致的即
  (5)
  根据公式1可以得到
  (6)
  代入公式3有
  -ni=
  (7)
  公式5表达的是随后时间服务器Si应该被分配任务量的理论估算值,由于请求只能按次计算,所以理论估算值必须取整数。通过将服务器当前负载权值和平均负载权值进行比较,若大于,则对服务减少请求的数量,反之则增加,然后我们把每台服务器分配的任务数量相对整个服务器群体总体的数量中所占的比例称为该服务器的分配权值,记为WiA计算公式:
  分配器按照集群中每台服务器的分配权值为其分配一定的请求任务负载。
  1.4随机概率转发
  目前现有的算法中如静态和动态加权分配算法[5],它们大多都采用固定比例的分配方式去分配权值和对应的比例。由于任务请求具体到达的数量和时间是无法控制的,因此这种固定的转发模式本身就会导致服务器的负载不均,为了避免这种固定模式的分配导致的周期之间的关联,于是我们利用随机概率转发模式去代替。
  首先,我们预设整个服务器集群的系统空间为1。再通过计算整个服务器集群的请求处理能力以及每台服务器的分配权值,根据分配权值所占比例得出4台服务器(后面试验中所用的服务器)概率空间分别为0.1,0.15,0.25,0.5。
  图2服务器的概率空间分布
  当下一个任务请求到达分配器时,通过均衡算法计算出这个任务在[0,1]间的随机概率值,然后再根据该任务的概率值在整个概率空间的命中率来决定将此任务转发给那个服务器。由此可见服务器的分配权值越大,占有的概率空间也就越大,即当任务请求到来时被分配到的几率也就越高。且每次转发都是独立事件,连续转发在时间上相互不影响。从而服务器任务分配更加均匀。
  图3嵌入式硬件平台
  硬件系统中以Samsung公司的ARM92- 0T核的S3C2440A微处理器,并采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行时的稳定性,工作频率400MH- Z,扩展64M SDRAM为程序运行空间,该系统提供了丰富的接口资源来适配不同外部硬件的接入硬件平台设计框图如图3所示
  嵌入式Web服务器为基于三层B/S结构的瘦Web服务器,板上系统为裁减后的Linux操作系统。目前,比较常用的Web服务器主要有三个,即HttPd、ThttPd和Boa,其中Boa是一个非常小巧的单任务WEB服务器,可执行代码60KB左右,且源代码开发,运行熟读开,系统安全性好,所以本设计Web选择Boa[6],系统主页面如图4所示。
  图4嵌入式Web服务器体系结构图
  为了使实验结果易于观察,首先,我们对单台嵌入式Web服务器进行测试。通过PC机在一段时间内连续向该服务器发送大量访问请求,当负荷达到系统所承受最高值并且系统稳定时,记录该时刻系统的处理能力,此能力也就是服务器的固有处理能力。然后,该文提出的是一种针对多台服务器也就是服务器群体的负载均衡算法,因此还需要对多台服务器进行类似的实验,此时访问不再是单纯的对Web服务器直接进行访问,而是在访问前需要通过均衡算法对群体性的访问进行分配,使各服务器的负载同时达到各自所承受的最大值并记录此时的访问请求数量。为了凸显该算法的优越性将其每台平均处理值和单台Web服务器相同时间内所处理的访问请求(处理的访问量是以第一次实验单台处理数量为基准,计算出二者的比值)进行对比,实验结果如图5所示。
  3结束语
  从图5可以看出,嵌入式Web服务器群中单台服务器在实验测试时刻对访问请求的平均处理量明显要高于直接对单台嵌入式Web服务器进行访问而处理的请求数。这是由于在服务器群体的多台服务器之间采用了负载均衡的算法,服务器与服务器之间相互协作,相互补充使得总体服务器的处理能力上升,由于网络和系统的原因导致不同时间动态分配值的不同所以服务器群体中单位服务器的平均处理量不是一个固定常数。
  参考文献:
  [1]韩树人,周贤娟,鄢化彪,等.基于嵌入式Web服务器的远程实时数据采集[J].计算机技术与发展,2008,18(1).
  [2]陈耀东,吴阳波.基于嵌入式Web服务器的远程控制系统[J].微计算机信息,2007,23(11-2).
  [3]喻莉,石冰心,朱光喜.多Web服务器系统的建模、分析与控制[J].通信学报,2001,8(22):34-39.
  [4]郭成城,晏蒲柳.一种异构Web服务器集群动态负载均衡算法[J].计算机学报,2005,2(28):179-184.
  [5]李旭东,杨铁军,路良友.嵌入式Web服务器负载均衡算法的研究与实现[J].电子质量,2010(6):68-70.
  [6]焦双伟,喻金科.嵌入式Web服务器在控制系统中的设计与实现[J].计算机系统应用,2011,8(20):126-128.
其他文献
摘要:案例教学是一种对现实社会的模仿和“仿真”。在Java课程中引入案例教学,让学生更好的理解编程思想,激发学生的学习热情和动力,提高学生分析和解决实际问题的能力。该文以Java中的多线程机制为例,模仿电影《泰坦尼克号》中的经典对话,丰富了Java语言的编程思想,真正起到了学以致用的效果。  关健词:Java语言;案例教学;多线程机制  中图分类号:G424 文献标识码:A 文章编号:1009-3
文人画论是中国传统画论的重要组成部分,是历代文人画家实践经验、艺术观念、审美思想的总结和体现。元明清时期诸多的文人画论提出,要在绘画创作中“忌俗”,体现出“尚雅避俗”
任何国家对外来科学技术的引进与吸收,都是本民族的传统文化与外来文化的相互碰撞与交融的过程,其结果是形成一种既似是而非于原来的传统文化,又迥异于外来文化的新型的文化模式
摘要:对于计算机语言课程采用传统的教学方法存在很多问题,比如学生不感兴趣,理论和实践脱节,学生缺乏解决实际问题的能力等等。实践证明,采取“以学定教”、“先做后学”、“先学后教”等一系列教学改革措施,能够有效激发学生的学习积极性,提高课堂教学效率。  关键词: 计算机语言课程;教学改革;以学生为本位;以项目为中心;课堂效率  中图分类号:G434 文献标识码:A 文章编号:1009-3044(201
<正>~~
期刊
《文化部“十二五”时期文化改革发展规划》发布,在完善图书馆评估标准、文化产业增值、城市文化遗产保护等方面提出了量化指标。要求文化部门管理的文化产业增加值年平均现价
进入5月份以来,南美收割进度的加快,创纪录的产量进一步坐实,但巴西豆农的惜售,带给美豆一定的时间窗口,国际大豆价格也在底部维持振荡格局,但日前巴西总统特梅尔受到腐败指
器乐合奏课能有效地把教学和艺术实践活动结合起来,它是专业技能课、专业基础理论课教学的延伸与补充,对提高学生器乐演奏的专业技能,培养学生在乐队合奏中准确的节奏、节拍、音
今年7月中下旬,广东生鱼价格开始上涨,其中2斤上的大鱼最高价可达10元/500g(4.5~5斤头),这一难得的好行情,为连续3年低迷不振的生鱼产业注入了一股活力,也给养殖户送上了一份大大的惊喜