煤礦安全生產(chǎn)分析論文
時(shí)間:2022-01-08 05:49:00
導(dǎo)語(yǔ):煤礦安全生產(chǎn)分析論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
一系統(tǒng)的總體設(shè)計(jì)
1.系統(tǒng)結(jié)構(gòu)概述
煤礦安全監(jiān)控系統(tǒng)采用以B/S(Browse/Server)與C/S(Client/Server)相結(jié)合的方式來(lái)架構(gòu)整個(gè)系統(tǒng)。B/S方式用于查詢實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù),C/S方式用于實(shí)現(xiàn)各礦動(dòng)態(tài)圖形的上傳和維護(hù)管理。
在設(shè)計(jì)上,本系統(tǒng)采用三層結(jié)構(gòu)。三層結(jié)構(gòu)的特點(diǎn)是在傳統(tǒng)兩層結(jié)構(gòu)的基礎(chǔ)上加入一個(gè)業(yè)務(wù)邏輯層。它將C/S體系結(jié)構(gòu)中原本運(yùn)行于客戶端的應(yīng)用程序移到了中間件層,客戶端只負(fù)責(zé)顯示與用戶交互的界面及少量的數(shù)據(jù)處理(如數(shù)據(jù)合法性檢驗(yàn))工作。客戶端將收集到的信息(請(qǐng)求)提交給中間層服務(wù)器,中間層服務(wù)器進(jìn)行相應(yīng)的業(yè)務(wù)處理(包括對(duì)數(shù)據(jù)庫(kù)的操作),再將處理結(jié)果反饋給客戶機(jī)。這樣減輕了中心服務(wù)器的負(fù)擔(dān),提高了整個(gè)系統(tǒng)的安全性。
2.系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)圖
煤礦安全監(jiān)控系統(tǒng)的總體結(jié)構(gòu)圖如下圖2-1所示:
3.服務(wù)器程序的詳細(xì)介紹
在圖2-1中,體現(xiàn)出服務(wù)程序是整個(gè)系統(tǒng)的核心,各礦點(diǎn)的數(shù)據(jù)是通過(guò)它來(lái)中轉(zhuǎn)的。
各個(gè)礦點(diǎn)通過(guò)TCP傳送數(shù)據(jù)時(shí),服務(wù)程序?yàn)楦鞯V點(diǎn)開(kāi)辟了一個(gè)實(shí)時(shí)連接線程,進(jìn)行實(shí)時(shí)數(shù)據(jù)的傳輸。然后將數(shù)據(jù)排入緩沖池,緩沖池的設(shè)計(jì)防止了數(shù)據(jù)因?yàn)橥瑫r(shí)的發(fā)送,而造成數(shù)據(jù)接收時(shí)的沖突,解決數(shù)據(jù)收發(fā)的速率匹配問(wèn)題,防止從監(jiān)控程序接收的數(shù)據(jù)直接發(fā)送至客戶端而帶來(lái)的延時(shí)及數(shù)據(jù)丟失。
數(shù)據(jù)通過(guò)兩路前行,一路是數(shù)據(jù)存入數(shù)據(jù)庫(kù),這是一個(gè)后臺(tái)的操作。另一路是數(shù)據(jù)流向安全客戶端,同樣安全監(jiān)控客戶端也與服務(wù)程序的客戶端連接及管理開(kāi)辟連接線程,通過(guò)TCP接收數(shù)據(jù)。
從總體上來(lái)說(shuō),安全監(jiān)控客戶端和各礦點(diǎn)的監(jiān)控程序與服務(wù)程序采用了C/S的結(jié)構(gòu),這種結(jié)構(gòu)不但能夠保證數(shù)據(jù)傳輸?shù)陌踩裕夷軌虮WC數(shù)據(jù)的實(shí)時(shí)性。
三、功能實(shí)現(xiàn)中的主要技術(shù)
1.數(shù)據(jù)傳輸代碼的實(shí)現(xiàn)
服務(wù)端的監(jiān)控部分和客戶端的訪問(wèn)部分都用到了數(shù)據(jù)的傳輸,有兩個(gè)關(guān)于數(shù)據(jù)傳輸?shù)幕悾謩e是連接類和連接管理類,這兩個(gè)基類分別用了Microsoft的Socket類和TcpListener類。
(1)Socket類
Socket類為網(wǎng)絡(luò)通信提供了一套豐富的方法和屬性。Socket類允許您使用ProtocolType枚舉中所列出的任何一種協(xié)議執(zhí)行異步和同步數(shù)據(jù)傳輸。Socket類遵循異步方法的.NETFramework命名模式;例如,同步Receive方法對(duì)應(yīng)于異步BeginReceive和EndReceive方法。
(2)TcpListener類
TcpListener類提供一些簡(jiǎn)單方法,用于在阻塞同步模式下偵聽(tīng)和接受傳入連接請(qǐng)求。使用TcpClient或Socket來(lái)連接TcpListener,使用IPEndPoint、本地IP地址及端口號(hào)或者僅使用端口號(hào),來(lái)創(chuàng)建TcpListener。可以將本地IP地址指定為Any,將本地端口號(hào)指定為0(希望基礎(chǔ)服務(wù)提供程序分配這些值)。如果選擇這樣做,使用LocalEndpoint來(lái)標(biāo)識(shí)已指定的信息。
Start方法用來(lái)開(kāi)始偵聽(tīng)傳入的連接請(qǐng)求。Start將對(duì)傳入連接進(jìn)行排隊(duì),直至您調(diào)用Stop方法或它已經(jīng)完成MaxConnections排隊(duì)為止。可使用AcceptSocket或AcceptTcpClient從傳入連接請(qǐng)求隊(duì)列提取連接。這兩種方法將阻塞。如果要避免阻塞,可首先使用Pending方法來(lái)確定隊(duì)列中是否有可用的連接請(qǐng)求。
調(diào)用Stop方法來(lái)關(guān)閉TcpListener。Stop方法不會(huì)關(guān)閉任何已接受的連接。需要用戶負(fù)責(zé)分別關(guān)閉這些連接。
2.程序所用鏈表的代碼實(shí)現(xiàn)
在程序中我們經(jīng)常會(huì)用到鏈表這樣一種數(shù)據(jù)結(jié)構(gòu)。很幸運(yùn)Microsoft為用戶提供了很好的數(shù)組類ArrayLIst,用起來(lái)很方便,如同在用一個(gè)鏈表。
ArrayList類提供在大多數(shù)Collections類中提供但不在Array類中提供的一些功能。例如:
Array的容量是固定的,而ArrayList的容量是根據(jù)需要自動(dòng)擴(kuò)展的。如果更改了ArrayList.Capacity屬性的值,則自動(dòng)進(jìn)行內(nèi)存重新分配和元素復(fù)制。ArrayList提供添加、插入或移除某一范圍元素的方法。在Array中,您只能一次獲取或設(shè)置一個(gè)元素的值。ArrayList提供將只讀和固定大小包裝返回到集合的方法。而Array不提供。另一方面,Array提供ArrayList所不具有的某些靈活性。
四、總結(jié)
本系統(tǒng)希望在以后能投入使用,各煤礦企業(yè)將實(shí)現(xiàn)井上下探測(cè)有毒、有害氣體濃度的實(shí)時(shí)監(jiān)測(cè)警報(bào),井上下主要設(shè)備運(yùn)行狀態(tài)監(jiān)控,采掘動(dòng)態(tài)位置顯示,隱患整改督察,調(diào)度指揮,故障、事故調(diào)查分析“黑匣子”功能。
參考文獻(xiàn):
[1]SimonRobinson,ChristianNagel.C#高級(jí)編程(第三版)[M].北京:清華大學(xué)出版社,2004.
[2]ChrisSells.WindowsForms程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004.
[3]李律松,陳少剛,沈剛等.VisualC#數(shù)據(jù)庫(kù)高級(jí)編程[M].北京:清華大學(xué)出版社,2005.
[4]林銳.軟件工程思想[M].北京:人民郵電出版社,2004.
[5]李琨.煤礦瓦斯綜合監(jiān)控系統(tǒng)[J].計(jì)算機(jī)科學(xué),2004,31(9):358-359.
【摘要】本文提出了煤礦安全生產(chǎn)監(jiān)測(cè)系統(tǒng)的總體結(jié)構(gòu)圖和實(shí)現(xiàn)方法,重點(diǎn)討論了系統(tǒng)開(kāi)發(fā)中涉及到的數(shù)據(jù)傳輸技術(shù)、鏈表的使用等主要技術(shù)。本系統(tǒng)的開(kāi)發(fā)和使用將大大改善煤礦安全生產(chǎn)中的不安全因素。
【關(guān)鍵詞】煤礦安全生產(chǎn)監(jiān)測(cè)數(shù)據(jù)傳輸鏈表
- 上一篇:計(jì)算機(jī)病毒分析論文
- 下一篇:家庭自動(dòng)化研究論文