夏娟
摘 要 現(xiàn)在電網(wǎng)的運(yùn)行大部分采取智能故障檢測系統(tǒng)實(shí)時(shí)反映運(yùn)行狀態(tài)。針對(duì)于文章采用C#語言編寫、并把.NET 3層結(jié)構(gòu)的設(shè)計(jì)方式融入其中,數(shù)據(jù)庫采用的是SQL Server 2005進(jìn)行存儲(chǔ)數(shù)據(jù)進(jìn)行的設(shè)計(jì)。首先對(duì)系統(tǒng)進(jìn)行分析,然后依次對(duì)系統(tǒng)、數(shù)據(jù)庫、及界面進(jìn)行設(shè)計(jì),最后實(shí)現(xiàn)了基于.NET三層架構(gòu)的智能故障檢測系統(tǒng)。
【關(guān)鍵詞】故障檢測 SQL Server 2005 NET三層架構(gòu)
1 引言
隨著電力系統(tǒng)的發(fā)展傳感器的廣泛應(yīng)用,輸電線路在線監(jiān)測系統(tǒng)慢慢發(fā)展起來。管理人員依據(jù)線路中的傳輸電能運(yùn)行參數(shù),并把采集的數(shù)據(jù)進(jìn)行綜合分析,從而確定設(shè)備故障的產(chǎn)生位置和時(shí)間,方便工作人員及時(shí)維護(hù),這樣可以最大化降低設(shè)備損壞率提高電網(wǎng)的工作效率,提高管理人員的工作效率。
2 應(yīng)用理論基礎(chǔ)
2.1 C/S和B/S運(yùn)行模式的對(duì)比
C/S(Client/Server)即客戶端/服務(wù)器模式。此種模式是目前常用的雙層運(yùn)行模式體系方式,它主要有前端和后端組成。其中前端主要是客戶組成,它起到前臺(tái)運(yùn)行功能;后端主要是由服務(wù)器組成,起到后臺(tái)運(yùn)行功能。為了滿足各客戶的要求,服務(wù)器的硬件必須具有足夠的處理能力。這是一種傳統(tǒng)的開放模式,對(duì)系統(tǒng)的開發(fā)具有一定的針對(duì)性,在使用過正中需要安裝客戶端同時(shí)需要特定軟件的支持。
B/S(Browser/Server)結(jié)構(gòu)即瀏覽器/服務(wù)器模式,它是在TCP/IP協(xié)議的支持下,利用HTTP傳輸協(xié)議進(jìn)行運(yùn)行,客戶端利用詢問服務(wù)器以及與它連接的后端數(shù)據(jù)庫進(jìn)行工作。此種運(yùn)行模式主要把瀏覽器、服務(wù)器和數(shù)據(jù)庫服務(wù)器連接成一個(gè)整體,利用瀏覽器向服務(wù)器發(fā)出請(qǐng)求,通過服務(wù)器對(duì)數(shù)據(jù)庫管理,把處理的結(jié)果逐級(jí)傳輸?shù)娇蛻舳?。在上面結(jié)構(gòu)系統(tǒng)運(yùn)行方式中,使用人員利用瀏覽器向各個(gè)網(wǎng)絡(luò)中服務(wù)器提出要求并進(jìn)行分析解決,并把使用人員的需要的資料反饋給瀏覽器,所以不要從新加載客戶端。由于數(shù)據(jù)庫的詢問和應(yīng)用程序運(yùn)行都是在服務(wù)器上工作的,所以服務(wù)器承受了巨大的工作任務(wù)。
2.2 系統(tǒng)軟件的開發(fā)環(huán)境
通過比較本系統(tǒng)選擇的是B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)。以微軟開發(fā)的VisualStudio 2013為開發(fā)平臺(tái)。.NET 3層結(jié)構(gòu)分別是表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層,因?yàn)槊恳粚拥年P(guān)系是低耦合和里面的高聚合,所以對(duì)電網(wǎng)故障的發(fā)現(xiàn)和快速解決提供有利的保障。C#語言是微軟(Microsoft)公司開發(fā),特定用來為.NET平臺(tái)的面向?qū)ο蟮木幊陶Z言環(huán)境,ADO.NET在.NETFrame-work網(wǎng)絡(luò)中主要管理數(shù)據(jù)分析與處理,利用ADO.NET可以詢問數(shù)據(jù)庫而且可以展現(xiàn)對(duì)XML文件和其它數(shù)據(jù)庫的打開和詢問,是由.NET保障了ADO.NET數(shù)據(jù)庫詢問方式將用于連接SQL Server 2005數(shù)據(jù)庫。
3 系統(tǒng)設(shè)計(jì)
3.1 數(shù)據(jù)庫需求分析
線路傳輸故障監(jiān)測系統(tǒng)用于檢測輸電線路上電流的數(shù)據(jù)信息、故障信息和顯示故障指示器的位置等內(nèi)容。管理人員需要驗(yàn)證后才能進(jìn)行對(duì)系統(tǒng)進(jìn)行工作。本系統(tǒng)使用SQL Server 2005數(shù)據(jù)庫存放數(shù)據(jù)。
3.2 數(shù)據(jù)庫設(shè)計(jì)
線路傳輸故障智能監(jiān)測系統(tǒng)是信息處理系統(tǒng)的子系統(tǒng),它的主要功能是解決數(shù)據(jù)庫相關(guān)問題的,利用SQL Server 2005的SQL Server Management Studio數(shù)據(jù)庫工具,是利用數(shù)據(jù)庫管理員sa訪問,建立系統(tǒng)工作的數(shù)據(jù)庫,數(shù)據(jù)庫名稱為Datasource包括5張表:數(shù)據(jù)查詢表(DataQuery)、故障指示器信息表(IndicatorManag)、SIM卡管理表(SIManag)、告警信息表(WarningMange)、登錄用戶表(Login_Table)。這幾張表所包含的數(shù)據(jù)信息在客戶端都可以查看到的。
3.3 系統(tǒng)的界面設(shè)計(jì)
本文研究的系統(tǒng)有六個(gè)界面組成:用戶登錄界面(LoginForm)為管理人員和工作人員提供互動(dòng)界面,只需驗(yàn)證用戶名密碼,就可以訪問本系統(tǒng);主界面(MainForm)呈現(xiàn)的是導(dǎo)進(jìn)系統(tǒng)的百度地圖,地圖中可以顯示故障指示器安裝位置,點(diǎn)擊可以查看線路的屬性。用戶可以按需求點(diǎn)擊左邊的導(dǎo)航條進(jìn)入相應(yīng)的功能模塊。另外四個(gè)界面:數(shù)據(jù)查詢(DataQuery)、故障指示器安裝信息界面(IndicatorManag)、SIM卡管理界面(SIMManage)、告警信息界面(WarningManger)用到了菜單欄、工具欄、DataGridView控件、分組框(GroupBox)、分組面板(Panel)等控件,主要實(shí)現(xiàn)對(duì)數(shù)據(jù)庫信息的新增、修改、刪除等功能。
4 系統(tǒng)三層架構(gòu)的實(shí)現(xiàn)
4.1 實(shí)體類Model的實(shí)現(xiàn)
本系統(tǒng)中,數(shù)據(jù)庫Datasource的5張表分別轉(zhuǎn)換為DataQuery、IndicatorManag、SIManag、WarningMange、Login_Table 5個(gè)實(shí)體類。下面僅以Login_Table實(shí)體類的實(shí)現(xiàn)作為說明:
public class Login_Table
{ private int _Id;
public int Id
{get { return _Id; }set { _Id = value; }}
private string _User_name;
public string User_name {
get { return _User_name; }
set { _User_name = value; }
private string _Pass_world;
public string Pass_world{
get { return _Pass_world; }
set { _Pass_world = value; }}
4.2 邏輯層BLL的實(shí)現(xiàn)
為了提高代碼的可調(diào)用性,創(chuàng)建數(shù)據(jù)庫通用操作類(DBHelper.cs)完成數(shù)據(jù)庫的通用操作。主要方法有執(zhí)行有參數(shù)、無參數(shù)的SQL語句等,定義了連接數(shù)據(jù)庫的字符串,創(chuàng)建數(shù)據(jù)庫連接,代碼如下:
string connString= @"Data Source= .;Initial Cata-log= HotelManager;uid= sa;pwd= qixi";//定義數(shù)據(jù)庫關(guān)鍵信息
在定義數(shù)據(jù)庫關(guān)鍵參數(shù)關(guān)系時(shí)也要定義用戶管理每個(gè)層的數(shù)據(jù)訪問類。
4.3 數(shù)據(jù)層DALL層的實(shí)現(xiàn)
本系統(tǒng)在業(yè)務(wù)邏輯層創(chuàng)建了5個(gè)數(shù)據(jù)邏輯類:數(shù)據(jù)查詢類、故障指示器安裝信息類、SIM卡管理類、告警信息類。DALL層負(fù)責(zé)數(shù)據(jù)的傳遞,實(shí)現(xiàn)步驟如下:
(1)DALL層在類中引用BLL層、實(shí)體層的命名空間;
(2)實(shí)例化實(shí)體對(duì)象;
(3)調(diào)用數(shù)據(jù)訪問功能;
(4)實(shí)現(xiàn)業(yè)務(wù)邏輯。
4.4 界面層的實(shí)現(xiàn)
本文研究的系統(tǒng)界面層必須直接調(diào)用DALL層,不是間接打開數(shù)據(jù)訪問層。每個(gè)層是利用實(shí)際數(shù)據(jù)進(jìn)行傳輸,在編程時(shí)必須要考慮利用命名空間Model類、BLL層和DALL層,同時(shí)訪問相關(guān)的結(jié)構(gòu)邏輯層類的方式來設(shè)計(jì)界面內(nèi)容,其實(shí)就是表示層的數(shù)據(jù)綁定,與數(shù)據(jù)庫能夠確切地發(fā)生互動(dòng)。展示出數(shù)據(jù)綁定后,已實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。
5 結(jié)論
本文主要描述了.NET 3層結(jié)構(gòu)、ADO.NET技術(shù),重點(diǎn)基于B/S模式的輸電線路在線監(jiān)測后臺(tái)查詢軟件的制作是將網(wǎng)頁技術(shù),數(shù)據(jù)庫技術(shù)以及相應(yīng)的特定應(yīng)用融合在一起,利用了目前流行的的體系框架和目前的網(wǎng)絡(luò)信息,降低了軟件的研發(fā)成本與故障檢測成本,提高了應(yīng)用范圍,由于此種技術(shù)不斷成熟,該系統(tǒng)一定會(huì)有很大的利用前景和發(fā)展前途。
參考文獻(xiàn)
[1]何天,候宗浩.基于Pet shop與Duwamish的多層架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2007(12).
[2]葉裴雷,宋述波.一種基于UML的軟件體系的設(shè)計(jì)與研究[J].微計(jì)算機(jī)信息,2009(25).
作者單位
安徽大學(xué)現(xiàn)代教育技術(shù)中心 安徽省合肥市 230601