胡婷 霍雪松 李芹 黄鑫 何晓阳
摘 要:电力数据网对其硬件资源的安全性和可靠性有着很高的要求。而随着电力数据网的飞速发展,其对硬件资源的需求量也不断增加。为保障电力数据网的稳定高效运行,需要通过对硬件资源进行测试筛选出合格的硬件设备。然而,传统电力调度数据网测试,采用完全人工方式,存在测试效率低、仪器资源调度困难等问题,在时间效率上无法满足电力数据网的发展需求。为此,提出了一种针对电力数据网资源的统一自动化测试方法。通过对实际试验资源及测试业务进行抽象,将虚拟化技术与自动化测试技术和软件质量管理融合,設计了一个可对资源进行统一调度的数据网自动化测试框架。以路由震荡为典型测试案例,对所提出的自动化测试方法进行了实验验证,结果表明该测试方法的性能达到了预期并具有良好的可行性。
关键词:电力调度数据网;自动化测试;虚拟化;云计算
中图分类号:TP39 文献标识码:A
Design and Implementation of an Automated Test Framework for
Electric Power Data Network Based on Unified Scheduling of Resources
HU Ting1,2?,HUO Xue-song3,LI Qin1,2,HUANG Xin1,2,HE Xiao-yang1,2
(1. Nari Group Corporation(State Grid Electric Power Research Institute),Nanjing,Jiangsu 210061,China;
2. State Key Laboratory of Smart Grid Protection and Control(Nari Group Corporation),Nanjing,Jiangsu 210061,China;
3. State Grid Jiangsu Electric Power Company,Nanjing,Jiangsu 210024,China)
Abstract:It is known that the electric power dispatching data network(EPDDN) has high safety and reliability requirements on its hardwares. Meanwhile,along with the rapid growth of EPDDN,more hardwares are always demanded. For the stable and efficient operation of EPDDN,hardware testing is needed to select the qualified equipments from candidate ones. However,traditional EPDDN testing is operated in manual way which is of low efficiency and bad management of device resources,making it hard to satisfy requirement of current EPDDN on time efficiency. Towards this end,a novel automated test framework with unified resources scheduling for EPDDN is proposed. The related knowledge from data of real world experimental resources and testing business is abstracted,based on the extracted knowledge,by combining the virtualization technology,automated testing technology and the software quality management,and proposes an automated test framework with unified scheduling of testing resources. The proposed framework is evaluated with the task of route flapping testing. The test results prove the effectiveness and the feasibility of the proposed method.
Key words:electric dispatching power data network;automated test;virtualization;cloud computing
电力调度数据网是电力生产服务的专用数据网络,其安全性直接关系到电力生产的安全运行,在国家建设坚强智能电网的背景下,对电力调度数据网的安全性和可靠性提出了更高要求[1-3]。
在国内外无成熟案例借鉴条件下,总结了国家
电网公司、南方电网公司电力调度数据网建设与运行过程中的研究成果及经验教训,提炼了网络建设维护过程中所面临的难题和曾出现过的主要重大问题,针对性设计应用案例,搭建了一套适用于电力调度数据网设备检测的试验验证环境。与相关国际或国内测试侧重于通用方法学或聚焦于产品本体特性不同,从电力实际应用出发,从面到点,覆盖电力调度数据网全生命周期,更能满足电力系统应用需求,保障入网设备质量。
调度数据网设备测试涵盖近200项测试用例,传统网络设备测试采用纯手工测试方法,对人力及仪器设备资源有着极大的消耗,测试灵活性差、管理效率低。因此,在测试任务愈加繁重的趋势下,如何提高测试效率、提升仪器资源利用率对于调度数据网测试工作有着重要的意义。
随着通信技术和计算机技术的快速发展,云计算相关的虚拟化、数据中心网络等在企业中得到了广泛的关注和应用。包括资源系统和控制系统的IaaS云基础架构,通过标准化接口实现对系统调度、安全、资源的弹性管理和分配[4]。同时,自动化测试技术得到国内外越来越多通信企业的重视,像国内外的电信设备商,华为、中兴、思科等,通信产品都有自己对应的自动化测试平台。可以在现实中看到,企业使用自动化技术,极大的减少了人力成本的消耗。
对资源调度管理及自动化测试技术进行了研究;第一节分析了当前数据网网络设备测试资源调度的问题,提出了一种资源统一调度的试验系统;第二节研究了自定义拓扑映射技术,构建了一套适用于电力调度数据网通信设备检测的自动化测试框架。第三节通过典型案例分析,对自动化测试框架进行了有效性评估。第四节讨论了电力数据网自动化测试技术值得进一步研究的内容。
1 资源统一调度的试验系统
1.1 试验云系统
目前数据网检测工作中,测试仪器处于分散运行状态,试验结果也是分散存储,随着检测业务的增长,原分散运行的仪器资源在测试过程中逐渐出现了调度困难、紧缺和试验结果查找困难等问题。部分老旧服务器故障率高,一旦系统出现故障将导致检测过程中断、反复。
针对上述问题,构建了一套资源统一调度的试验云系统。如图1所示,试验云系统通过虚拟化技术,将服务器资源池化为计算、网络、存储、应用资源池。同时,通过交换机搭建统一管理网络,实现资源的自动化调度和分配。试验云系统通过接口1接收申请指令和下发控制命令;试验仪器资源池通过接口2接收控制命令,执行仪器操作并上送测试结果;被测设备通过接口3接收配置命令,返回状态信息;个人云桌面通过接口4申请试验仪器资源、存储资源和计算资源,实现对数据网自动化测试系统的控制和操作;SVN软件版本控制系统通过接口5实时同步数据网自动化测试系统版本代码,实现协同开发,软件生命周期内可有效跟踪回溯[5-6]。
1.2 资源调度流程
如图2所示,试验云系统对个人资源申请进行审核,若当前资源满足申请要求,则按申请的资源进行分配,反之,则拒绝相关的申请;检测人员资源申请获批后,可通过试验仪器管理软件控制自动化测试系统的执行;试验完成后,对测试数据和结果进行处理并释放所申请的资源。
通过试验云系统,将实验室的所有仪器资源、计算资源等进行统一调度和控制,试验数据统一存储和管理,实现了资源的合理分配和试验结果的长期可溯源,有效提高了试验资源的利用率。
2 自动化测试框架
在电力通信厂家越来越多,产品类型不断推陈出新且升级的频率也越来越快的同时,如仍然按照传统的手工测试方法,人员的紧缺使得送检设备很难在预定的时间内完成。网络通信设备也已经从单一功能的设备发展为多功能和智能型的设备,需要进行更多更复杂的测试用例来验证产品的可靠性和安全性,传统的手工测试很难保证复杂用例自定义执行的灵活性和效率。
2.1 自定义拓扑映射技术
如图3所示,自动化测试执行包含三个基本概念:测试床、逻辑拓扑、测试脚本。其中,测试床表示设备的实际物理连接,逻辑拓扑是物理连接的抽象描述,测试脚本将逻辑描述变量化。一旦物理环境发生变化时,只需修改变量对应的映射关系即可,不用修改相关的测试脚本,从而最大程度地减少环境变化对测试脚本帶来的影响,增强自动化脚本的灵活性和可移植性[7-8]。
2.2 自动化测试框架
如图4所示,调度数据网自动化测试框架采用模块协作方式。脚本平台运行用户脚本,通过GUI界面操作指令传给调度管理模块;调度管理模块接收到指令后,再传给驱动平台,并设置等待时钟,超时后返回异常信息;驱动平台收到调度管理模块传来的指令后进行解析,并根据测试用例名称在测试用例拓扑图中查找用例参数,通过用例参数在被测系统上定位界面元素,进行相关操作,并将被测系统的返回值进行分析判断后生成执行结果,传给调度管理模块,如果执行异常则返回异常信息;调度管理模块收到执行结果后传给脚本平台,并等待时钟归零;脚本平台收到返回的结果和信息后进行日志记录和异常处理,并执行下一条指令。通过分布模块协作的设计,使整个测试工程的逻辑更加清晰,可扩展性强,且易维护[9-12]。
3.3 自动化测试流程
如图5所示,自动化测试系统的调度流程主要分为以下几个步骤:1)初始化环境,建立测试拓扑;2)配置测试例相关参数,占用测试仪表接口;3)对被测设备自动下发该项测试配置,执行测试用例脚本;4)用例测试结束后,自动清除被测设备配置并释放测试仪端口;5)生成日志文件及测试报告。每个测试用例完成后,被测设备自动恢复为空配置模式,不影响下一个用例的执行,达到长时间连续测试的目的。同时还允许在测试过程中加入过程控制,方便在测试过程中暂停、停止等操作。
4 典型案例验证
4.1 电力调度数据网组网结构
如图6,电力调度数据网组网采用传统MPLS VPN网络部署方式,省级接入网到骨干网跨域互联方案采用Option B的方式,即单跳MP-EBGP方式。骨干网自治系统内部IGP采用OSPF动态路由协议。各省接入网(省级接入网和市级接入网)自治系统内部采用OSPF或ISIS作为IGP动态路由协议。
4.2 路由震荡分析
路由震荡按时间长短可分为两种,一种是短时间内的震荡,如链路状态的改变,从转发中断到新链路的切换,几秒到几十秒,这种问题可通过开启FRR,实现快速收敛到次优路由来加以保护;第二种是长时间路由震荡,比如网络链路不稳定、设备路由算法设计的缺陷、网络攻击等导致的持续路由震荡等。目前,不定期的长时间路由震荡,大部分路由器可通过基于阀值触发的路由震荡抑制机制来尽可能减少外部路由变化对设备带来的压力,但阀值相对固定,只能针对一些特定环境下的路由震荡进行处理,对于网络恶意攻击下触发的路由震荡,路由器无法进行有效抑制,存在一定的安全隐患。对于在路由震荡测试中随机出现的恶意攻击,依靠手工方法难以及时准确测知,需通过自动化的方法来进行实时监控,以便及时发现厂家设备的性能瓶颈。
4.3 路由震荡攻击测试
在自动化测试框架基础上,对路由震荡攻击开展自动化测试验证。首先,连接测试仪与被测设备,端口开启ISIS、OSPF、BGP路由功能,测试仪通告一定数量的路由(一部分为震荡路由,一部分为稳定路由);测试仪分别构建多条业务双向流量,部分业务流目的IP地址为震荡路由,允许业务流震荡、丢包。部分发往稳定路由的业务流量则作为背景流量,应正常转发,不受影响。特别的,通过自动化的方式使发布的OSPF、ISIS、BGP震荡路由数目分别以随机的方式不断变化,以模拟真实的攻击环境。测试流程见图7。
4.3 路由震荡结果分析
参与测试厂家4家,路由器台数24台,测试时间8小时,震荡路由的数目设置为100至20万条随机变化,非震荡路由数目为20万条。各厂家设备主控板CPU、内存测试结果比对见表1,同档次设备CPU、内存测试前后上升情况比对见图8、9,背景业务流量受影响情况见表2。
通过测试发现,经过8小时的路由震荡,A、B、C三个厂家的路由设备基本都能保证正常工作,而D的的中高端设备在OSPF、ISIS、BGP路由震荡过程中,设备的CPU、内存资源消耗较高,并且背景业务(BGP、ISIS业务)流量转发受到了影响,设备的抗压能力及稳定性较差。另外,在测试中发现,A厂家的接入设备对路由、ACL等需要内存资源的情况提前进行了划分,在设备空载情况下内存占用率达到了75%,但在之后的震荡测试过程中,内存的变化很小,避免了资源不断动态获取。
通过验证,基于自动化测试架构基础上的路由震荡测试用例可有效模拟恶意攻击下的路由震荡,达到对设备功能、性能稳定性的日常监控。除此之外,通过参数传递,还可探测路由设备的瓶颈或不可接收的性能点,得到路由设备能够提供的最大服务级别,从而有效地确保设备质量。
5 结 论
目前,电力调度数据网规模不断扩大、业务类型也在不断增加,对网络设备的性能和服务质量也提出了更高的要求。传统的手工测试面临着测试效率低,一致性、灵活性差等问题,提出了基于虚拟化的自动化测试系统为此提供了成功的解决方案。在保证测试一致性、灵活性的前提下,缩短测试周期,提高测试效率,提升试验资源管理水平。该自动化测试系统还有待进一步开发完善,如异常报文攻击、MPLS安全性能等更加复杂的测试用例,仍有一定的开发空间。在今后的工作中,将会针对这些问题进行深入研究,使网络自动化测试系统在产品的通用性方面有所突破。
参考文献
[1] 周雅,智能化电力调度数据专网建设方案研究[J]. 电力系统保护与控制,2015,43(6):133-137.
[2] 李芹,卢长燕,霍学松,等,电力调度数据网测试模型[J]. 电力系统自动化,2015,39(1):187-193
[3] 王益民. 国家电力调度数据网的设计与实施[J].电网技术,2005,29(22):1-6.
[4] 曲朝阳,陈帅,杨帆,等. 基于云计算技术的电力大数据预处理属性约简方法[J]. 电力系统自动化,2014,38(8):76-71.
[5] 魏亮,面向云网融合的资源调度算法及实验平台研究[D]. 北京郵电大学,2018.
[6] 于洋,新型数据中心组网架构及关键技术研究[D]. 北京交通大学,2018.
[7] 张新玲,赵霞,张东. 云管理平台自动化测试框架研究[J]. 软件导刊,2013,12(10):15-17
[8] 王明珠. 软件测试自动化探究[J]. 信息通信,2013(7):78.
[9] NEBUT C,FLEUREY F,lETRAON Y,et al. Automatic test generation:a use case driven approach[J].IEEE Transctions on Software Engineering,2006,32(3):140-155.
[10] ELFRIEDE D. The automated testing life-cycle methodology (ATLM)[C]. The International Conference on Practical Software Assurance Techniques and on Practical Software Test Techniques,2000.
[11] 张丽波.基于自动化的软件测试与应用[D]. 广州:华南理工大学,2004.
[12] 徐小良,汪乐宇,周泓. 自动测试系统的对象框架[J].浙江大学学报,2004,38(1):39-43.