陳 瀟,劉慶海,陳 旺,姚 亮
(南京國(guó)電南自電網(wǎng)自動(dòng)化有限公司,江蘇 南京 211100)
近年來(lái),智能站繼電保護(hù)二次設(shè)備的自動(dòng)測(cè)試技術(shù)不斷發(fā)展,建立了標(biāo)準(zhǔn)通信協(xié)議下,由通信后臺(tái)、待測(cè)設(shè)備、測(cè)試儀組成的自動(dòng)測(cè)試系統(tǒng)ATS[1]。隨著測(cè)試的積累,測(cè)試模板越來(lái)越多,測(cè)試模板可能會(huì)出現(xiàn)丟失、冗余、無(wú)效、信息不全、版本不清、難以查找等問(wèn)題,由于效率低下、責(zé)權(quán)不明、安全性差,人工管理將無(wú)法適應(yīng)未來(lái)越來(lái)越龐大的自動(dòng)測(cè)試體系。
給ATS自動(dòng)測(cè)試平臺(tái)增加測(cè)試模板管理模塊,如圖1所示。與ATS測(cè)試平臺(tái)自帶的安全校驗(yàn)方式結(jié)合,用戶通過(guò)加密狗的方式確定身份信息,進(jìn)入管理模塊。為了保持存儲(chǔ)在服務(wù)器上測(cè)試模板的原文件存儲(chǔ)方式和服務(wù)器地址不變,另建立管理數(shù)據(jù)庫(kù),維護(hù)測(cè)試模板的多維度管理信息。根據(jù)分層管理的思想,不直接對(duì)物理層的測(cè)試模板進(jìn)行操作,而是通過(guò)應(yīng)用層的ADO接口程序鏈接管理數(shù)據(jù)庫(kù),獲取測(cè)試模板的屬性信息及存儲(chǔ)信息并執(zhí)行模板操作;模板擴(kuò)展應(yīng)用程序?qū)DO返回的信息數(shù)據(jù)進(jìn)行分析處理,生成多個(gè)應(yīng)用列表,在模板管理模塊用戶界面中展示。用戶通過(guò)管理模塊,新增或者刪除模板;啟動(dòng)模板開(kāi)發(fā)模塊讀取和修改模板;啟動(dòng)自動(dòng)測(cè)試模塊讀取和調(diào)用模板,以上操作對(duì)服務(wù)器上的模板文件和管理數(shù)據(jù)庫(kù)中模板管理信息進(jìn)行同步操作[2]。
該管理模塊實(shí)現(xiàn)的的技術(shù)難點(diǎn)在于建立一個(gè)有效安全的數(shù)據(jù)管理模型,并解決與數(shù)據(jù)庫(kù)的鏈接問(wèn)題,下文將針對(duì)這兩個(gè)問(wèn)題提出解決方法。
圖1 測(cè)試模板管理模塊
服務(wù)器上功能最小化的單元測(cè)試模板關(guān)于故障模擬、測(cè)試方法、保護(hù)動(dòng)作邏輯、自動(dòng)判斷方法等測(cè)試過(guò)程僅是針對(duì)待測(cè)設(shè)備自身的描述內(nèi)容,事實(shí)上測(cè)試模板隱含的更多信息,如適用地區(qū)、適用電壓等級(jí)、適用保護(hù)類型、不同時(shí)間版本等,這些無(wú)法通過(guò)模板本身表達(dá)出來(lái),因此需要建立一張張表格去維護(hù)附加信息。同一個(gè)模板可能適用于附加信息中一個(gè)或多個(gè),因此不同信息表格之間產(chǎn)生了相關(guān)性,建立數(shù)據(jù)庫(kù)管理這些數(shù)據(jù),可以使測(cè)試模板集有效約簡(jiǎn),避免數(shù)據(jù)冗余,版本混亂。數(shù)據(jù)庫(kù)設(shè)計(jì)包括概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。概念設(shè)計(jì)之前需要進(jìn)行需求分析。
以智能站二次設(shè)備的繼電保護(hù)測(cè)試測(cè)試模板為對(duì)象,分析其內(nèi)部和附加屬性,如圖2所示。
圖2 測(cè)試模板管理屬性
圖2給出了一個(gè)測(cè)試模板的屬性索引,例如測(cè)試人員調(diào)取了測(cè)試模板OC0001,測(cè)試人員需要搜索的模板關(guān)鍵屬性國(guó)網(wǎng)九統(tǒng)一/35 kV/變壓器保護(hù)PST645UA-G/高側(cè)過(guò)流保護(hù)/Ι段/過(guò)流定值均能從管理信息中對(duì)應(yīng);進(jìn)入系統(tǒng)的指定用戶對(duì)模板具有什么操作權(quán)限、測(cè)試模板經(jīng)過(guò)操作后形成的日志信息,可以從管理屬性中獲取。
概念E-R模型設(shè)計(jì)可以將測(cè)試模板的管理屬性信息轉(zhuǎn)換為數(shù)據(jù)庫(kù)的關(guān)系模型。E-R圖表達(dá)具備各種屬性的不同實(shí)體間的聯(lián)系:實(shí)體用矩形、聯(lián)系用菱形、聯(lián)系用橢圓表示。對(duì)于測(cè)試模板管理庫(kù),測(cè)試模板和操作測(cè)試模板的用戶是最顯而易見(jiàn)的兩個(gè)實(shí)體。圖2可以看出測(cè)試模板的屬性數(shù)據(jù)集非常龐大,像圖2中項(xiàng)目信息、產(chǎn)品信息、設(shè)備模型、更新信息下仍然有更細(xì)粒度的屬性信息,這樣的屬性稱之為多值屬性。多值屬性也可以作為模型的實(shí)體。圖3給出測(cè)試模板管理的E-R圖(圖中給出了核心主體和聯(lián)系集的屬性,多值屬性升級(jí)的主體的屬性因?yàn)檩^簡(jiǎn)單,省略未畫(huà)出)。其中,用戶對(duì)模板的操作過(guò)程會(huì)被記錄下來(lái)保存成操作日志,由于必須是用戶與測(cè)試模板實(shí)體之間聯(lián)系后才會(huì)產(chǎn)生操作日志,因此E-R模型中將“用戶操作測(cè)試模板”作為一個(gè)聚合實(shí)體,操作日志也作為一個(gè)實(shí)體而不是操作的屬性。
將E-R模型轉(zhuǎn)化為關(guān)系模型——關(guān)鍵主體映射成一張張關(guān)系表、屬性映射為關(guān)系屬性,并通過(guò)表第一范式要求實(shí)體屬性已為需求的最小單元;第二范式要求一張表一個(gè)實(shí)體;第三范式要求M:N關(guān)系的關(guān)系表只引用實(shí)體主鍵。圖4給出了關(guān)系模型映射表格的列表。
圖3 E-R模型
圖4 關(guān)系模型映射表格的列表
其中,用戶操作測(cè)試模板形成的聚合主體的主鍵選用用戶主體的主鍵“訪問(wèn)編號(hào)”,放在表c的屬性中,確定操作日志主體與聚合主體之間的1:N關(guān)系。E-R模型中存在兩個(gè)M:N關(guān)系,列出對(duì)應(yīng)主體間的關(guān)系表。建模完成后設(shè)計(jì)物理結(jié)構(gòu),選擇SQL Server 2016數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)管理。
關(guān)于數(shù)據(jù)庫(kù)的訪問(wèn)ADO(ActiveX Data Objects)是微軟公司面向?qū)ο蟮幕贑OM的數(shù)據(jù)訪問(wèn)技術(shù),封裝了數(shù)據(jù)庫(kù)底層數(shù)據(jù)訪問(wèn)OLE DB的程序接口,與用戶交互更加簡(jiǎn)單,功能更加強(qiáng)大,數(shù)據(jù)處理更加高效,是數(shù)據(jù)庫(kù)訪問(wèn)的主流技術(shù)。ADO提供的核心對(duì)象有Connection、Command和Recordset。
在VC++的編程環(huán)境中,要使用ADO的對(duì)象,就先要注冊(cè)創(chuàng)建ADO的動(dòng)態(tài)鏈接庫(kù)DLL,并使用#import預(yù)編譯指示符引用。有此前提,連接到SQL Server數(shù)據(jù)庫(kù)的基本步驟如下:
(1)初始化COM庫(kù);
(2)使用Connection對(duì)象連接數(shù)據(jù)庫(kù);
(3)使用Connection對(duì)象、Command對(duì)象執(zhí)行SQL命令,使用Recordset對(duì)象對(duì)返回的記錄集進(jìn)行查詢等處理;
(4)結(jié)束連接,關(guān)閉Connection對(duì)象和Recordset對(duì)象。
數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程,指的是編譯后的特定功能的SQL語(yǔ)句執(zhí)行的集合。使用存儲(chǔ)過(guò)程,可以標(biāo)準(zhǔn)化操作流程、提高執(zhí)行速度減輕網(wǎng)絡(luò)流量。存儲(chǔ)過(guò)程分為三類:系統(tǒng)存儲(chǔ)過(guò)程、自定義存儲(chǔ)過(guò)程和擴(kuò)展存儲(chǔ)過(guò)程。其中自定義存儲(chǔ)過(guò)程是用戶數(shù)據(jù)庫(kù)中的SQL語(yǔ)句集合。測(cè)試模板管理數(shù)據(jù)庫(kù)中的操作多樣,通過(guò)創(chuàng)建自定義存儲(chǔ)過(guò)程即可滿足要求。
通過(guò)ADO數(shù)據(jù)訪問(wèn)技術(shù)的研究,解決了ATS模板管理模塊與數(shù)據(jù)庫(kù)通信連接的問(wèn)題,同時(shí)又保留了數(shù)據(jù)庫(kù)操作的執(zhí)行方法,將來(lái)能更好地對(duì)數(shù)據(jù)庫(kù)管理進(jìn)行拓展[3-4]。
基于ATS自動(dòng)測(cè)試平臺(tái),該測(cè)試模板的管理方法驗(yàn)證應(yīng)該包含功能測(cè)試、關(guān)聯(lián)測(cè)試、影響測(cè)試以及安全測(cè)試。前兩者驗(yàn)證對(duì)測(cè)試模板管理基本功能及日志記錄,影響測(cè)試驗(yàn)證管理數(shù)據(jù)與模板文件之間的協(xié)作正確,安全測(cè)試包括確認(rèn)不同身份成員對(duì)應(yīng)的不同操作權(quán)限以及執(zhí)行身份以外的操作項(xiàng)目是否成功。對(duì)ATS測(cè)試模板管理模塊實(shí)現(xiàn)了自動(dòng)測(cè)試模板的科學(xué)管理,促進(jìn)ATS自動(dòng)測(cè)試技術(shù)的應(yīng)用更趨成熟,促使智能站二次設(shè)備的自動(dòng)測(cè)試過(guò)程更加系統(tǒng)化和標(biāo)準(zhǔn)化,具有極大的推廣價(jià)值。但是同時(shí)在應(yīng)用測(cè)試過(guò)程中影響測(cè)試和安全測(cè)試所暴露的問(wèn)題需要將來(lái)對(duì)該模塊進(jìn)一步優(yōu)化和改善。