华书蓓,刘于超,白雅雯,郑际俊
(1.国网青海省电力公司营销服务中心,青海 西宁 810000;2.元启工业技术有限公司,山东 青岛 266000)
采用先进的电能表数据采集终端可以提高数据采集和电网综合管理效率[1-3]。电能表数据采集终端访问数据量巨大[4-5],极易产生负载不平衡问题。因此,相关学者纷纷展开对这一课题的研究。窦浩铭等[6]研究基于蚁群优化的负载均衡方法。该方法通过自定义性能指标服务器繁忙程度,量化描述服务器的实时状态,以选定实时最优服务器;利用元启发式的算法框架——蚁群算法,根据每段链路的实时可用带宽确定服务器负载均衡的最佳策略。邰滢滢等[7]研究基于模糊综合评判的负载均衡方法。该方法首先基于模糊数学理论,多参量分析服务器性能影响因素,构建服务器评判集;其次计算资源权重向量,基于模糊综合评判的基本原理,获得资源权重向量到服务能力向量的映射矩阵;最后利用主因素型计算式进行多参量综合评判,通过分析资源权重大小实现负载均衡。
元模型由元数据组成,表示特定领域的模型。其具备优秀的提取、转换、合并、加载等数据处理能力。为此,本文充分考虑电能表数据采集终端各服务器的分布和功能情况,研究基于元模型的电能表数据采集终端负载自适应均衡方法。本文方法能够合理利用数据资源,有利于电网管理。
在电能表数据采集终端中,基于元数据仓库设置的元模型如图1所示。
图1 基于元数据仓库设置的元模型
由图1可知,采集终端的电能表数据作为模型元数据,经数据提取、转化、加载处理后存储至元数据仓库内[8],以便用户访问。
为动态平衡元数据仓库的访问负载,本文利用基本负载均衡算法,在元数据负载大小未知条件下,分配元数据负载,并采用自适应元数据服务负载均衡算法进行分配后元数据的负载均衡处理。
1.2.1 基本的负载均衡算法
本文设si为S{s1,s2,…,sn}内的服务器;h1:S→[0,1]表示服务器使用函数;将si∈S映射至[0,1]环上的某点;按照h2:X→[0,1]映射原则,求解X{x1,x2,…,xm}内数据元素xj∈X的hash值;按照以下距离函数,将xj配置给距离最小的服务器。
(1)
为了让全部元数据的负载均衡,本文将权值wi、wj导入距离函数内,以提高负载均衡处理能力[9]。基本的负载均衡算法求解能力和元数据负载正相关。
1.2.2 自适应元数据服务负载均衡算法
自适应元数据服务负载均衡算法可提高计算能力。负载均衡计算过程如下。
通过各时间段t2(t2 目录子树进行迁移前需要求解元数据服务器负载量,从而根据估算指标和负载量判断迁移条件。估算指标包括元数据热度参数、等待队列长度、响应时间参数。 访问量与各元数据热度成正比。元数据热度影响祖先节点。各元数据均设置计数器。其记录元数据操作命令、增加访问次数以提升热值,从而统计元数据热度。具体的热度计算过程如式(2)、式(3)所示。 Hnew=Hold×y(Δt) (2) 式中:Hnew为更新后热度;Hold为初始热度;Δt为负载统计时间间隔;y为递减函数。 Hancient_new=Hancient_old×y(Δt) (3) 式中:Hancient_new、Hancient_old分别为祖先节点更新后热度和初始热度。 在不考虑y时,文件热度值为8。 在得到处理请求后,元数据的目录子树热度传播如图2所示。 图2 元数据的目录子树热度传播图 由图2可知,热度值与颜色深浅成正比。热度值越高、颜色越深,则请求影响越低。 负载量ζ如式(4)所示。 ζ=H+W×L (4) 式中:W为加权系数;H为热度;L为待处理元素请求队列长度。 为提高服务器处理元数据请求能力,决策元数据服务器选取负载低服务器。该服务器采集的全部元数据为Pk=[p1,p2,…,pn]。全部服务器的负载量为ζk=[ζ1,ζ2,…,ζn]。 (5) 式中:Ptotal为集群总性能值;n为节点间层次数。 (6) 式中:ζtotal为总负载量。 负载均衡目标函数如式(7)所示。 (7) 式中:Pi为元素服务器目标负载量。 现有负载ζi与ζtarget(i)之间的差距用Δζ描述。 Δζ=ζi-ζtarget(i) (8) 元数据服务器负载值较低,用ζ<0描述,可接受其他迁移目录子树。元数据服务器负载值较高,用ζ>0描述,可寻找其他迁移目录子树。 为降低消耗,需要设置触发机制。若|Δζ|>Δζthredhold,则触发目录子树迁移。 目录子树迁移流程如下。 ①采集负载数据,迁移量和迁出子树元数据通过决策元数据服务器实现匹配。 ②按照迁移量情况,在服务器上运行拆分子树的程序。 ③迁入子树元数据服务器以接收经拆分处理后的子树迁移数据。 为验证本文方法的有效性,本文选取德力西电能表DDS606 10(40)A采集的5.8 GB数据作为测试数据。该电能表包括9台客户端机、1台对象存储设备(object-based storage device,OSD)服务器、4台元数据服务器、1台Monitor服务器。1台OSD服务器负责文件数据存储。4台元数据服务器负责电能表数据采集终端的元数据合并管理工作,分别用MDS1、MDS2、MDS3、MDS4表示。1台Monitor服务器负责检测集群运行工作。 试验软硬件环境为服务器处理器Intel i5-2300,2.8 GHz,内存8 GB;硬盘为西部数据1 TB;网络为Realtek百兆网卡。本文使用Mininet仿真软件搭建试验平台,并使用 Mininet内的Iperf软件生成不同数据负载,以注入自定义网络拓扑中,从而验证本文方法有效性。本文将服务器负载量、负载差异值、集群性能异构程度、多维缩放(multiple dimensional scaling,MDS)吞吐量、中央处理器(central processing unit,CPU)占用率、心跳周期网络作为试验性能评价指标。 电能表数据采集过程如图3所示。 图3 电能表数据采集过程示意图 数据采集的运行时间为15 h,每间隔20 min 记录1次各台元数据服务器的负载情况。i台服务器的负载Li为: Li=0.6×δcpu(i)+0.4×δmemory(i) (9) 式中:δmemory(i)为内存使用率,%;δcpu(i)为CPU使用率,%。 应用本文方法前后,MDS元数据服务器负载-时间的变化曲线如图4所示。 图4 MDS元数据服务器负载-时间的变化曲线 由图4可知,在应用本文方法前,各服务器负载量差异较大,总体硬件使用率不高。其中:MDS1性能较好,负载量最低;MDS4性能较差,负载量始终比较高。应用本文方法后,各服务器负载量差异不大,整体趋势大致相同。这说明本文方法对异构服务器处理能力强,集群效果优良。 本文将负载差异值Dtotal作为集群负载均衡程度的判断指标。Dtotal值越小,则元数据服务器集群的负载程度越好。 (10) 应用本文方法前后,总体集群负载差异值对比曲线如图5所示。 图5 总体集群负载差异值对比曲线 由图5可知,在15 h内,集群整体流量包含3个峰值。在应用本文方法之前,当访问次数增加时,负载平衡的程度也会增加。应用本文方法后,收敛速度快,负载趋于稳态,波动较小。经计算:在应用本文方法前,15 h的Dtotal值约为6.94;在应用本文方法后,15 h的Dtotal值约为2.21。由此表明,本文方法的应用提高了MDS集群的负载均衡程度。 若元数据服务器在短时间内存在负载突变情况,则需要应用本文方法进行目录子树的迁移均衡负载。本文选取元数据服务器MDS1进行200 s的元数据测试。测试过程中元数据请求发生2次急剧上升。本文分别对比应用本文方法前后的MDS1负载的情况。 MDS1负载变化曲线如图6所示。由图6可知:在没有应用本文方法之前,MDS1反应过于迟缓,不能实现元数据的高热度转移,直接影响处理用户端请求的效率;在应用本文方法后,通过目录树迁移有效均衡了元数据请求激增问题,降低了负载,具有较快的应对速度。 图6 MDS1负载变化曲线 为了验证本文方法的可行性,本文选取均方差值作为MDS集群性能异构程度指标。 (11) 在可行性测试中,为统计指标的平均水平,本文每10 s记录CPU占用率和心跳周期网络的输入/输出(input/output,I/O)。为避免子树迁移的影响,本文设置3台大容量存储装置(mass storage device,MSD)。3台MSD配置一样。 应用本文方法前后,MDS集群吞吐量、平均操作延时与SD的映射关系如表1所示。 表1 MDS集群吞吐量、平均操作延时与SD的映射关系 由表1可知,SD值越大,表示MDS集群异构程度越高。在集群中,MSD配置一样。在应用本文方法之前,吞吐量随差异程度的增加呈下降趋势;在应用本文方法之后,吞吐量随差异程度的增加幅度变化不大,趋于稳定。在应用本文方法之前,集群平均操作延时随差异程度的增加呈上升趋势;在应用本文方法之后,随差异程度的增加,集群平均操作延时幅度趋于稳定。由此说明,本文方法可有效地均衡电能表数据采集终端负载、提高元数据处理能力。 本文将MDS吞吐量、CPU占用率、心跳周期网络I/O作为性能损耗评价指标。应用本文方法前后,性能损耗对比情况如表2所示。 表2 性能损耗对比情况 由表2可知,系统的各项性能在应用本文方法后都得到显著提升。其中:指示目标MDS吞吐量降低317.63 s;生成文件MDS吞吐量降低81.70 s;CPU占用率降低6%;心跳周期网络I/O速度提高40 Byte。这说明本文方法可降低系统开销,且负载均衡效果较好。 元数据访问性能的高低,直接影响电能表数据采集终端的整体性能。本文针对电能表数据采集终端负载不均衡的问题,研究基于元模型的电能表数据采集终端负载自适应均衡方法。当元数据请求数量急剧增加时,启动自适应机制来降低负载,使负载达到平衡。试验结果表明,应用本文方法后,异构服务器具有较强的处理能力。其提高了元数据处理能力,表现出良好的负载均衡效果。 本文方法在一定程度上提高了电能表数据采集终端的整体性能,但仍存在不足。后续研究可增加指标选取数量,多角度分析本文方法性能;添加更加适宜的参数验证本文方法的应用效果;加大对电能表数据采集终端服务器负载倾斜问题的研究力度,扩展本文方法的应用范围。2 实例测试与分析
3 结论