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