强负荷网络环境下的大型负载分析平台的设计与优化

时间:2022-08-16 08:28:35

强负荷网络环境下的大型负载分析平台的设计与优化

摘 要: 负荷网络环境下,传统大型负载分析平台存在资源占用率高、效率低等问题。因此,设计了基于Web服务器集群的大型负载分析平台,确保在强负荷网络环境下,通过Web服务器集群提供高可用的服务,实现负载均衡。分析了负载分析平台运行流程,基于该流程设计了负载分析平台的总体结构,平台通过接收模块接收用户申请,再采用分类模块对用户申请进行分类,通过分发模块向用户申请分配相应的进程。信息收集模块将不同服务器节点的运行状态反馈给方案模块,促使方案模块融合神经网络和遗传算法对不同节点的资源分配状态进行设置。分析模块对总体负载分析平台中的不同服务器节点进行监测,分析不同节点是否存在故障以及节点的负载是否均衡。软件设计中给出了负载分析平台模块功能结构,以及信息采集代码设计。实验结果表明,所设计负载分析平台的CPU平均利用率和任务平均处理时间都较优,并且具有较好的吞吐量。

关键词: 负载分析平台; 服务器节点监测; Web 服务器; 平台结构设计

中图分类号: TN711?34; TP302.1 文献标识码: A 文章编号: 1004?373X(2017)02?0158?05

Abstract: Since the traditional large load analysis platform has the problems of high resource occupancy rate and low efficiency in strong load network environment, a large load analysis platform based on Web server cluster was designed to insure the improvement of the useable service by Web server cluster and balance the load in the strong load network environment. The running process of the load analysis platform is analyzed. On this basis, the overall structure of the load analysis platform was designed. The user application is received by the receiving module of the platform, and classified with the classification module. The platform assigns the corresponding progress to the use application through the distribution module. The information collection module is used to feed the running status of different server nodes back to the plan module to prompt the fusion of neural network and genetic algorithm for setting the resource allocation status of different nodes. The analysis module is used to monitor the different server nodes in general load analysis platform to analyze whether the different nodes exist the failure and the node loads are balanced. The module function structure of the load analysis platform and code design of the information collection are given in software design. The experimental result shows that the CPU average utilization and task average processing time of the designed load analysis platform are optimal, and the platform has enough throughput.

Keywords: load analysis platform; server node monitoring; Web server; platform structure design

0 引 言

当前随着计算机网络的快速发展,网络的访问量和用户量高速增加。业务量和用户需求的多样化,导致网络负荷逐渐增强,使得网络事务处理难度大大提高,网络负载容易出现失衡问题[1?3]。并且在强负荷网络环境下,传统大型负载分析平台存在资源占用率高、效率低等问题[4?6]。因此,寻求有效的网络负载分析方法,解决强负荷对网络负载的干扰,确保网络负载的均衡,具有重要应用意义。

当前的大型网络负载分析方法都具有一定的弊端,如文献[7]分析了基于DNS的网络负载分析模型,该方法运行在各服务器配置相同的条件下,否则会产生负载失衡问题。文献[8]提出了基于服务器的负载分析系统,其依据服务器的分布式特征,基于不同服务器间的信息变换同协作实现网络负载均衡。但是该方法没有统一控制中心,存在负载均衡效率低的问题。文献[9]设计了基于客户端的负载分析模型,其通过客户选择服务器与浏览器运行策略选择服务器,完成网络分析的均衡控制,但是该模型会给服务器带来额外消耗,存在一定的局限性。服务器集群技术能够融合多台服务器,再通过负载均衡算法将大量的业务处理在多个服务器间合理分配,极大增强了总体网络的负载能力和处理能力。因此,基于Web服务器集群的大型负载分析平台,确保在强负荷网络环境下,通过Web服务器集群提供高可用的服务,实现网络负载均衡。

1 强负荷网络环境下的大型负载分析平台的设计与优化

1.1 大型负载分析平台运行流程

强负荷网络环境下,设计的大型负载分析平台的运行流程,如图1所示。从图1中可以看出,该平台通过接收模块接收用户申请,之后通过分类模块对用户申请进行分类,再通过分发模块向用户申请分配相应的进程。方案模块融合神经网络和遗传算法处理信息收集模块获取网络的负载信息。信息收集模块由Master主机同Slave服务机构成,这两个进程相互协作,将不同服务器节点的运行状态反馈给策略端,促使方案模块对不同节点的资源分配状态进行设置。调度模块基于方案模块反馈的权重比例结果和权重比例算法对进程进行调度,实现网络负载的均衡控制。分析模块对总体负载分析平台中的不同服务器节点进行监测,分析不同节点是否存在故障以及节点的负载是否均衡。

1.2 大型负载分析平台总体结构设计

针对上述分析的强负荷网络环境下,负载分析平台的运行流程,塑造大型负载分析平台的总体结构如图2所示。塑造了大型负载分析平台的四层模型,其中的服务器集群层用于获取强负荷网络环境下的网络服务器群实时信息;数据处理层通过神经网络和遗传算法对实时信息进行相关的操作;请求处理层实现强负荷网络环境下网络用户HTTP请求的分发和调度;管理层用于监测网络服务器群,并且通过数据库保存配置文件和信息。

图2 分析的负载分析平台依据三类主要线程为主线实现,具体过程为:第一类线程工作在Web服务器集群中不同的节点中,通过Slave启动器激发,完成强负荷网络环境下节点信息的采集,并且对获取的信息进行XML封装,同时将节点信息反馈给方案模块;第二类线程通过启动器激发的Master线程,对不同节点进行信息申请,获取不同节点信息,通过excute()函数产生Proccessor对象,并在方案域StrateyFactory中获取相关的方案Strategy,实时处理强负荷网络环境下的Web服务器集群中各节点的负载信息,通过调整共享的静态数据类ShareUtiliz调整节点信息;第三类线程是通过启动器激发的Balancer,若发现用户HTTP请求,则通过Receiving Module(接收模型)采集HTTP请求,从ShareUtiliz得到服务器资源分配权重比例,再通过Disphthcher(分发器模块)向对应的节点划分服务器资源划分。

1.3 平台主要模块设计与实现

1.3.1 接收与分发模块

强负荷网络环境下面向Web服务器集群的服务,需要及时处理HTTP协议,依据NAT思想设计负载分析平台的分发模块,通过接收模块采集平台的用户HTTP请求,并将用户请求的主机、端口以及资料都解释出来。

分发模块采集服务器的IP地址与端口号,重写HTTP请求,并将其报文变换成实际的服务器IP地址和端口号,继而构造服务器端同用户端口的连接,完成二者间信息交流。将Web服务器处理信息反馈给负载均衡器,再传递给客户端,向用户申请分配相应的进程,完成用户HTTP请求的响应。

1.3.2 分类模块

分模块对强负荷网络的用户HTTP请求进行处理,将请求依据相应的规范进行划分,如依据CPU利用率对不同HTTP请求进行划分。基于分类思想,塑造不同类型的Web服务器集群,服务器端按照不同类型的用户请求,将请求传递到对应类型的服务器集群中进行处理。详细过程为,当负载分析平台获取用户HTTP请求后,分析该请求,获取客户请求的资料种类,再将请求传输到对应的分发模块中,通过分发模块完成请求信息的分发,具体流程如图3所示。

1.3.3 信息收集模块

依据心跳机制构建信息收集模块,在强负荷网络环境下的Web集群网络中,节点会向方案模块规律性地传递心跳信息,反馈自身的运行状态,若在规定的时间中未获取节点心跳信息,则说明对应的服务节点存在故障,需要对故障进行控制。设计的信息收集模块通过方案对节点传递的信息进行操作,分析不同节点的运行状态。信息收集模块包括Master主机模块、Slave隶属模块、以及数据交换结构。

1.3.4 方案模块

通过面向对象方案设计方法塑造方案模块,该模块中含有对神经网络和遗传算法进行控制的方案以及方案类的等级结构。大型负载分析平台的方案模块设计,如图4所示。

其中的Strategy接口是对全部方案方法的抽象,其中的before()方法用于描述方案算法数掘的输入,excuteStrategy()方法是完成信息的实际运算分析过程、after()方法可将数据存储到数据库中。Context类对策略集进行封装和控制。DFStrategy类、GAStrategy类分别实现了动态反馈方案,人工r经网络方案,OtherStrategy类是其他分析过程。

1.3.5 分析模块

分析模块对总体负载分析平台中的不同服务器节点进行监测,分析不同节点是否存在故障以及节点的负载是否均衡等状态信息,并将分析信息存储在数据库中。通过MVC思想塑造监控模块,在服务器端设置节点Slave的数据模型,依据Ajax技术异步调整节点数据模型,通过JSP网页呈现网络负载分析视图,具体过程如图5所示。

2 大型负载分析平台的软件设计

2.1 软件功能设计

对强负荷网络环境下的大型负载分析平台的功能进行设计,如图6所示。

图6描述的大型负载分析平台的软件功能如下:接收模块是负载均衡器对客户端的申请进行采集和解释过程;分类模块基于资源相近的规范对不同网络用户HTTP请求进行划分,实现资料的合理划分;信息收集模块采用运行在均衡器主机上的进程与运行在各节点服务器主机的进程,得到不同服务器节点的实时信息;方案模块通过神经网络方法以及遗传方法,对不同服务器节点中的实时信息进行处理;调度模块将Web集群中服务器塑造成环形拓扑结构,依据方案模块获取的权重,通过调度方法对权重进行运算分析,获取当前网络服务器的最佳调度方案;分发模块按照调度模块获取调度方案,并将用户请求反馈到对应的服务器中;分析模块监测总体负载分析平台中节点的资源信息,分析不同服务器的运行状态,并对故障进行及时处理和报警。

2.2 信息采集过程代码设计

信息采集模块中的Slave模块用于采集不同服务器节点的信息,Slave模块通过Kunve架构采集信息,Kunve是操作系统同硬件级信息访问的跨语言库的平台架构,其对节点信息采集实现如下:

//1:采集CPU利用率

Public Character chain tacheCpuUtiliz()

{

cpuGuin=kunve.tacheCpuPerc();

Return Character chain actual Of(cpuGuin.tacheCombined());

}

//2:内存利用率

Public Character chain tacheRamUtiliz()

{

kuk=kunve.tachekuk();

Return df.pinteg(kuk.tacheThroughProprtion())+" ";

}

//3:磁盘读取

Public long tacheDisk() from kunveFault

{

for(int i=0;i< document .length;i++)

{

If ( document [i].tacheType()==2)

{

Usage=kunve.tache document Platform Usage( document [i].tacheDirName());

total+=usage.tacheDiskReadBytes();

}

}

return total;

}

3 实验分析

实验环境为4台计算机,其中1台计算机模拟MSC,将电信智能网协议消息反馈给服务器,另一台是Linux Red Hat高级服务器版模拟信令服务器,其他3台模拟计算服务器集群。实验对本文平台和基于客户端的负载分析平台的性能进行测试,分析两种平台每秒处理的会话数,处理会话时平台负载同CPU利用率的波动状态,以及两种平台的吞吐量,测试结果如图7、图8所示。

分析图7和图8可得,当请求任务数较低,也就是网络处于弱负荷网络环境下,两种平台的CPU平均利用率和任务平均处理时间相差不大。但是当请求任务数较多,也就是强负荷网络环境下,本文平台具有较高的性能。因为线程数目对系统调度较为重要,数目过大容易出现调度开销过高的问题,的抗小,无法有效发挥负载调度性能。因此,对比分析两种平台对会话的平均处理时间,结果如图9所示。

分析9可以看出,两种平台的处理能力都高于每秒50个会话,随着工作线程数量的增加,两种平台对1 000个会话平均处理时间不断降低,本文平台的处理时间低于基于客户端的负载分析平台,说明本文平台具有较高的负载控制优势。

对比分析两种负载分析平台的吞吐量,结果如图10所示。分析图10可以看出,随着并发数的增加,对于本文平台,基于客户端的负载分析平台的吞吐量增加较为缓慢,说明本文方法具有较好的吞吐量。

4 结 论

本文设计了基于Web服务器集群的大型负载分析平台,确保在强负荷网络环境下,通过Web服务器集群提供高可用的服务,实现负载均衡。

实验结果表明,所设计负载分析平台的CPU平均利用率和任务平均处理时间都较优,并且具有较好的吞吐量。

参考文献

[1] 李培强,曾小军,李欣然,等.面向综合负荷的燃料电池等效模型及参数灵敏度分析[J].电气工程学报,2015,10(10):21?29.

[2] 王艳杰.基于改进遗传算法的电力网络负载预警模型[J].计算机仿真,2015,32(9):167?170.

[3] 佘双翔,张志文,刘舜,等.新型曲折接线负荷平衡变压器及其特性分析[J].电力系统及其自动化学报,2015,27(10):34?40.

[4] 孙红星,何德刚,吴文波.基于链式SVG三相不平衡负荷的平衡补偿方法的仿真分析[J].自动化技术与应用,2014,33(6):60?64.

[5] 王家勋,高殿滢.鞍山电网500 kV自耦变压器公共绕组过负荷运行工况分析[J].东北电力技术,2015,36(3):51?54.

[6] 叶如燕,张文涛,马冬宝,等.数字式电动操纵负荷系统设计[J].实验室研究与探索,2014,33(8):101?104.

[7] 张伟,曾骥,杨勇,等.自升式平台悬臂梁强度分析与负荷试验研究[J].舰船科学技术,2015,37(11):31?34.

[8] 任桂英,李平,高立洪,等.三峡库区典型区域“土壤?作物”系统对畜禽粪便负荷能力的评价[J].西南农业学报,2014,27(5):2055?2058.

[9] 赵国强,安慧林,李艳红,等.多负载谐振式无线能量传输系统特性分析[J].电力电子技术,2015,49(10):92?94.

[10] 武江华,邵清.基于免疫克隆选择机制的WSN节点调度算法[J].计算机仿真,2015,32(4):231?234.

上一篇:小学科学教学方法选用策略因素及其建议 下一篇:让教学充满绿意