胡婷 霍雪松 李芹 黃鑫 何曉陽
摘? ?要:電力數(shù)據(jù)網(wǎng)對其硬件資源的安全性和可靠性有著很高的要求。而隨著電力數(shù)據(jù)網(wǎng)的飛速發(fā)展,其對硬件資源的需求量也不斷增加。為保障電力數(shù)據(jù)網(wǎng)的穩(wěn)定高效運行,需要通過對硬件資源進行測試篩選出合格的硬件設(shè)備。然而,傳統(tǒng)電力調(diào)度數(shù)據(jù)網(wǎng)測試,采用完全人工方式,存在測試效率低、儀器資源調(diào)度困難等問題,在時間效率上無法滿足電力數(shù)據(jù)網(wǎng)的發(fā)展需求。為此,提出了一種針對電力數(shù)據(jù)網(wǎng)資源的統(tǒng)一自動化測試方法。通過對實際試驗資源及測試業(yè)務(wù)進行抽象,將虛擬化技術(shù)與自動化測試技術(shù)和軟件質(zhì)量管理融合,設(shè)計了一個可對資源進行統(tǒng)一調(diào)度的數(shù)據(jù)網(wǎng)自動化測試框架。以路由震蕩為典型測試案例,對所提出的自動化測試方法進行了實驗驗證,結(jié)果表明該測試方法的性能達到了預(yù)期并具有良好的可行性。
關(guān)鍵詞:電力調(diào)度數(shù)據(jù)網(wǎng);自動化測試;虛擬化;云計算
中圖分類號:TP39? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標(biāo)識碼: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
電力調(diào)度數(shù)據(jù)網(wǎng)是電力生產(chǎn)服務(wù)的專用數(shù)據(jù)網(wǎng)絡(luò),其安全性直接關(guān)系到電力生產(chǎn)的安全運行,在國家建設(shè)堅強智能電網(wǎng)的背景下,對電力調(diào)度數(shù)據(jù)網(wǎng)的安全性和可靠性提出了更高要求[1-3]。
在國內(nèi)外無成熟案例借鑒條件下,總結(jié)了國家
電網(wǎng)公司、南方電網(wǎng)公司電力調(diào)度數(shù)據(jù)網(wǎng)建設(shè)與運行過程中的研究成果及經(jīng)驗教訓(xùn),提煉了網(wǎng)絡(luò)建設(shè)維護過程中所面臨的難題和曾出現(xiàn)過的主要重大問題,針對性設(shè)計應(yīng)用案例,搭建了一套適用于電力調(diào)度數(shù)據(jù)網(wǎng)設(shè)備檢測的試驗驗證環(huán)境。與相關(guān)國際或國內(nèi)測試側(cè)重于通用方法學(xué)或聚焦于產(chǎn)品本體特性不同,從電力實際應(yīng)用出發(fā),從面到點,覆蓋電力調(diào)度數(shù)據(jù)網(wǎng)全生命周期,更能滿足電力系統(tǒng)應(yīng)用需求,保障入網(wǎng)設(shè)備質(zhì)量。
調(diào)度數(shù)據(jù)網(wǎng)設(shè)備測試涵蓋近200項測試用例,傳統(tǒng)網(wǎng)絡(luò)設(shè)備測試采用純手工測試方法,對人力及儀器設(shè)備資源有著極大的消耗,測試靈活性差、管理效率低。因此,在測試任務(wù)愈加繁重的趨勢下,如何提高測試效率、提升儀器資源利用率對于調(diào)度數(shù)據(jù)網(wǎng)測試工作有著重要的意義。
隨著通信技術(shù)和計算機技術(shù)的快速發(fā)展,云計算相關(guān)的虛擬化、數(shù)據(jù)中心網(wǎng)絡(luò)等在企業(yè)中得到了廣泛的關(guān)注和應(yīng)用。包括資源系統(tǒng)和控制系統(tǒng)的IaaS云基礎(chǔ)架構(gòu),通過標(biāo)準(zhǔn)化接口實現(xiàn)對系統(tǒng)調(diào)度、安全、資源的彈性管理和分配[4]。同時,自動化測試技術(shù)得到國內(nèi)外越來越多通信企業(yè)的重視,像國內(nèi)外的電信設(shè)備商,華為、中興、思科等,通信產(chǎn)品都有自己對應(yīng)的自動化測試平臺??梢栽诂F(xiàn)實中看到,企業(yè)使用自動化技術(shù),極大的減少了人力成本的消耗。
對資源調(diào)度管理及自動化測試技術(shù)進行了研究;第一節(jié)分析了當(dāng)前數(shù)據(jù)網(wǎng)網(wǎng)絡(luò)設(shè)備測試資源調(diào)度的問題,提出了一種資源統(tǒng)一調(diào)度的試驗系統(tǒng);第二節(jié)研究了自定義拓撲映射技術(shù),構(gòu)建了一套適用于電力調(diào)度數(shù)據(jù)網(wǎng)通信設(shè)備檢測的自動化測試框架。第三節(jié)通過典型案例分析,對自動化測試框架進行了有效性評估。第四節(jié)討論了電力數(shù)據(jù)網(wǎng)自動化測試技術(shù)值得進一步研究的內(nèi)容。
1? ?資源統(tǒng)一調(diào)度的試驗系統(tǒng)
1.1? ?試驗云系統(tǒng)
目前數(shù)據(jù)網(wǎng)檢測工作中,測試儀器處于分散運行狀態(tài),試驗結(jié)果也是分散存儲,隨著檢測業(yè)務(wù)的增長,原分散運行的儀器資源在測試過程中逐漸出現(xiàn)了調(diào)度困難、緊缺和試驗結(jié)果查找困難等問題。部分老舊服務(wù)器故障率高,一旦系統(tǒng)出現(xiàn)故障將導(dǎo)致檢測過程中斷、反復(fù)。
針對上述問題,構(gòu)建了一套資源統(tǒng)一調(diào)度的試驗云系統(tǒng)。如圖1所示,試驗云系統(tǒng)通過虛擬化技術(shù),將服務(wù)器資源池化為計算、網(wǎng)絡(luò)、存儲、應(yīng)用資源池。同時,通過交換機搭建統(tǒng)一管理網(wǎng)絡(luò),實現(xiàn)資源的自動化調(diào)度和分配。試驗云系統(tǒng)通過接口1接收申請指令和下發(fā)控制命令;試驗儀器資源池通過接口2接收控制命令,執(zhí)行儀器操作并上送測試結(jié)果;被測設(shè)備通過接口3接收配置命令,返回狀態(tài)信息;個人云桌面通過接口4申請試驗儀器資源、存儲資源和計算資源,實現(xiàn)對數(shù)據(jù)網(wǎng)自動化測試系統(tǒng)的控制和操作;SVN軟件版本控制系統(tǒng)通過接口5實時同步數(shù)據(jù)網(wǎng)自動化測試系統(tǒng)版本代碼,實現(xiàn)協(xié)同開發(fā),軟件生命周期內(nèi)可有效跟蹤回溯[5-6]。
1.2? ?資源調(diào)度流程
如圖2所示,試驗云系統(tǒng)對個人資源申請進行審核,若當(dāng)前資源滿足申請要求,則按申請的資源進行分配,反之,則拒絕相關(guān)的申請;檢測人員資源申請獲批后,可通過試驗儀器管理軟件控制自動化測試系統(tǒng)的執(zhí)行;試驗完成后,對測試數(shù)據(jù)和結(jié)果進行處理并釋放所申請的資源。
通過試驗云系統(tǒng),將實驗室的所有儀器資源、計算資源等進行統(tǒng)一調(diào)度和控制,試驗數(shù)據(jù)統(tǒng)一存儲和管理,實現(xiàn)了資源的合理分配和試驗結(jié)果的長期可溯源,有效提高了試驗資源的利用率。
2? ?自動化測試框架
在電力通信廠家越來越多,產(chǎn)品類型不斷推陳出新且升級的頻率也越來越快的同時,如仍然按照傳統(tǒng)的手工測試方法,人員的緊缺使得送檢設(shè)備很難在預(yù)定的時間內(nèi)完成。網(wǎng)絡(luò)通信設(shè)備也已經(jīng)從單一功能的設(shè)備發(fā)展為多功能和智能型的設(shè)備,需要進行更多更復(fù)雜的測試用例來驗證產(chǎn)品的可靠性和安全性,傳統(tǒng)的手工測試很難保證復(fù)雜用例自定義執(zhí)行的靈活性和效率。
2.1? ?自定義拓撲映射技術(shù)
如圖3所示,自動化測試執(zhí)行包含三個基本概念:測試床、邏輯拓撲、測試腳本。其中,測試床表示設(shè)備的實際物理連接,邏輯拓撲是物理連接的抽象描述,測試腳本將邏輯描述變量化。一旦物理環(huán)境發(fā)生變化時,只需修改變量對應(yīng)的映射關(guān)系即可,不用修改相關(guān)的測試腳本,從而最大程度地減少環(huán)境變化對測試腳本帶來的影響,增強自動化腳本的靈活性和可移植性[7-8]。
2.2? ?自動化測試框架
如圖4所示,調(diào)度數(shù)據(jù)網(wǎng)自動化測試框架采用模塊協(xié)作方式。腳本平臺運行用戶腳本,通過GUI界面操作指令傳給調(diào)度管理模塊;調(diào)度管理模塊接收到指令后,再傳給驅(qū)動平臺,并設(shè)置等待時鐘,超時后返回異常信息;驅(qū)動平臺收到調(diào)度管理模塊傳來的指令后進行解析,并根據(jù)測試用例名稱在測試用例拓撲圖中查找用例參數(shù),通過用例參數(shù)在被測系統(tǒng)上定位界面元素,進行相關(guān)操作,并將被測系統(tǒng)的返回值進行分析判斷后生成執(zhí)行結(jié)果,傳給調(diào)度管理模塊,如果執(zhí)行異常則返回異常信息;調(diào)度管理模塊收到執(zhí)行結(jié)果后傳給腳本平臺,并等待時鐘歸零;腳本平臺收到返回的結(jié)果和信息后進行日志記錄和異常處理,并執(zhí)行下一條指令。通過分布模塊協(xié)作的設(shè)計,使整個測試工程的邏輯更加清晰,可擴展性強,且易維護[9-12]。
3.3? ?自動化測試流程
如圖5所示,自動化測試系統(tǒng)的調(diào)度流程主要分為以下幾個步驟:1)初始化環(huán)境,建立測試拓撲;2)配置測試例相關(guān)參數(shù),占用測試儀表接口;3)對被測設(shè)備自動下發(fā)該項測試配置,執(zhí)行測試用例腳本;4)用例測試結(jié)束后,自動清除被測設(shè)備配置并釋放測試儀端口;5)生成日志文件及測試報告。每個測試用例完成后,被測設(shè)備自動恢復(fù)為空配置模式,不影響下一個用例的執(zhí)行,達到長時間連續(xù)測試的目的。同時還允許在測試過程中加入過程控制,方便在測試過程中暫停、停止等操作。
4? ?典型案例驗證
4.1? ?電力調(diào)度數(shù)據(jù)網(wǎng)組網(wǎng)結(jié)構(gòu)
如圖6,電力調(diào)度數(shù)據(jù)網(wǎng)組網(wǎng)采用傳統(tǒng)MPLS VPN網(wǎng)絡(luò)部署方式,省級接入網(wǎng)到骨干網(wǎng)跨域互聯(lián)方案采用Option B的方式,即單跳MP-EBGP方式。骨干網(wǎng)自治系統(tǒng)內(nèi)部IGP采用OSPF動態(tài)路由協(xié)議。各省接入網(wǎng)(省級接入網(wǎng)和市級接入網(wǎng))自治系統(tǒng)內(nèi)部采用OSPF或ISIS作為IGP動態(tài)路由協(xié)議。
4.2? ?路由震蕩分析
路由震蕩按時間長短可分為兩種,一種是短時間內(nèi)的震蕩,如鏈路狀態(tài)的改變,從轉(zhuǎn)發(fā)中斷到新鏈路的切換,幾秒到幾十秒,這種問題可通過開啟FRR,實現(xiàn)快速收斂到次優(yōu)路由來加以保護;第二種是長時間路由震蕩,比如網(wǎng)絡(luò)鏈路不穩(wěn)定、設(shè)備路由算法設(shè)計的缺陷、網(wǎng)絡(luò)攻擊等導(dǎo)致的持續(xù)路由震蕩等。目前,不定期的長時間路由震蕩,大部分路由器可通過基于閥值觸發(fā)的路由震蕩抑制機制來盡可能減少外部路由變化對設(shè)備帶來的壓力,但閥值相對固定,只能針對一些特定環(huán)境下的路由震蕩進行處理,對于網(wǎng)絡(luò)惡意攻擊下觸發(fā)的路由震蕩,路由器無法進行有效抑制,存在一定的安全隱患。對于在路由震蕩測試中隨機出現(xiàn)的惡意攻擊,依靠手工方法難以及時準(zhǔn)確測知,需通過自動化的方法來進行實時監(jiān)控,以便及時發(fā)現(xiàn)廠家設(shè)備的性能瓶頸。
4.3? ?路由震蕩攻擊測試
在自動化測試框架基礎(chǔ)上,對路由震蕩攻擊開展自動化測試驗證。首先,連接測試儀與被測設(shè)備,端口開啟ISIS、OSPF、BGP路由功能,測試儀通告一定數(shù)量的路由(一部分為震蕩路由,一部分為穩(wěn)定路由);測試儀分別構(gòu)建多條業(yè)務(wù)雙向流量,部分業(yè)務(wù)流目的IP地址為震蕩路由,允許業(yè)務(wù)流震蕩、丟包。部分發(fā)往穩(wěn)定路由的業(yè)務(wù)流量則作為背景流量,應(yīng)正常轉(zhuǎn)發(fā),不受影響。特別的,通過自動化的方式使發(fā)布的OSPF、ISIS、BGP震蕩路由數(shù)目分別以隨機的方式不斷變化,以模擬真實的攻擊環(huán)境。測試流程見圖7。
4.3? ?路由震蕩結(jié)果分析
參與測試廠家4家,路由器臺數(shù)24臺,測試時間8小時,震蕩路由的數(shù)目設(shè)置為100至20萬條隨機變化,非震蕩路由數(shù)目為20萬條。各廠家設(shè)備主控板CPU、內(nèi)存測試結(jié)果比對見表1,同檔次設(shè)備CPU、內(nèi)存測試前后上升情況比對見圖8、9,背景業(yè)務(wù)流量受影響情況見表2。
通過測試發(fā)現(xiàn),經(jīng)過8小時的路由震蕩,A、B、C三個廠家的路由設(shè)備基本都能保證正常工作,而D的的中高端設(shè)備在OSPF、ISIS、BGP路由震蕩過程中,設(shè)備的CPU、內(nèi)存資源消耗較高,并且背景業(yè)務(wù)(BGP、ISIS業(yè)務(wù))流量轉(zhuǎn)發(fā)受到了影響,設(shè)備的抗壓能力及穩(wěn)定性較差。另外,在測試中發(fā)現(xiàn),A廠家的接入設(shè)備對路由、ACL等需要內(nèi)存資源的情況提前進行了劃分,在設(shè)備空載情況下內(nèi)存占用率達到了75%,但在之后的震蕩測試過程中,內(nèi)存的變化很小,避免了資源不斷動態(tài)獲取。
通過驗證,基于自動化測試架構(gòu)基礎(chǔ)上的路由震蕩測試用例可有效模擬惡意攻擊下的路由震蕩,達到對設(shè)備功能、性能穩(wěn)定性的日常監(jiān)控。除此之外,通過參數(shù)傳遞,還可探測路由設(shè)備的瓶頸或不可接收的性能點,得到路由設(shè)備能夠提供的最大服務(wù)級別,從而有效地確保設(shè)備質(zhì)量。
5? ?結(jié)? ?論
目前,電力調(diào)度數(shù)據(jù)網(wǎng)規(guī)模不斷擴大、業(yè)務(wù)類型也在不斷增加,對網(wǎng)絡(luò)設(shè)備的性能和服務(wù)質(zhì)量也提出了更高的要求。傳統(tǒng)的手工測試面臨著測試效率低,一致性、靈活性差等問題,提出了基于虛擬化的自動化測試系統(tǒng)為此提供了成功的解決方案。在保證測試一致性、靈活性的前提下,縮短測試周期,提高測試效率,提升試驗資源管理水平。該自動化測試系統(tǒng)還有待進一步開發(fā)完善,如異常報文攻擊、MPLS安全性能等更加復(fù)雜的測試用例,仍有一定的開發(fā)空間。在今后的工作中,將會針對這些問題進行深入研究,使網(wǎng)絡(luò)自動化測試系統(tǒng)在產(chǎn)品的通用性方面有所突破。
參考文獻
[1]? ? 周雅,智能化電力調(diào)度數(shù)據(jù)專網(wǎng)建設(shè)方案研究[J]. 電力系統(tǒng)保護與控制,2015,43(6):133-137.
[2]? ? 李芹,盧長燕,霍學(xué)松,等,電力調(diào)度數(shù)據(jù)網(wǎng)測試模型[J]. 電力系統(tǒng)自動化,2015,39(1):187-193
[3]? ? 王益民. 國家電力調(diào)度數(shù)據(jù)網(wǎng)的設(shè)計與實施[J].電網(wǎng)技術(shù),2005,29(22):1-6.
[4]? ? 曲朝陽,陳帥,楊帆,等. 基于云計算技術(shù)的電力大數(shù)據(jù)預(yù)處理屬性約簡方法[J]. 電力系統(tǒng)自動化,2014,38(8):76-71.
[5]? ? 魏亮,面向云網(wǎng)融合的資源調(diào)度算法及實驗平臺研究[D]. 北京郵電大學(xué),2018.
[6]? ? 于洋,新型數(shù)據(jù)中心組網(wǎng)架構(gòu)及關(guān)鍵技術(shù)研究[D]. 北京交通大學(xué),2018.
[7]? ? 張新玲,趙霞,張東. 云管理平臺自動化測試框架研究[J]. 軟件導(dǎo)刊,2013,12(10):15-17
[8]? ? 王明珠. 軟件測試自動化探究[J]. 信息通信,2013(7):78.
[9]? ? NEBUT C,F(xiàn)LEUREY 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]? 張麗波.基于自動化的軟件測試與應(yīng)用[D]. 廣州:華南理工大學(xué),2004.
[12]? 徐小良,汪樂宇,周泓. 自動測試系統(tǒng)的對象框架[J].浙江大學(xué)學(xué)報,2004,38(1):39-43.