陳 宇,何祖軍,楊奕飛
(江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
鉆井平臺(tái)管理信息系統(tǒng)作為我國(guó)石油勘探事業(yè)信息化重要組成部分,對(duì)鉆井平臺(tái)的日常運(yùn)行、企業(yè)的長(zhǎng)遠(yuǎn)發(fā)展具有重要作用。隨著科技的高速發(fā)展,將互聯(lián)網(wǎng)應(yīng)用于平臺(tái)管理已成為必然趨勢(shì)。通過(guò)互聯(lián)網(wǎng)將岸基與平臺(tái)緊密聯(lián)系起來(lái),管理者登入該系統(tǒng),可以動(dòng)態(tài)的了解平臺(tái)生產(chǎn)情況、人員工作情況等,從而可以及時(shí)發(fā)現(xiàn)問(wèn)題,及時(shí)解決問(wèn)題,并且可以利用平臺(tái)歷史數(shù)據(jù)記錄,制定工作計(jì)劃、維修計(jì)劃等[1]。本系統(tǒng)設(shè)計(jì)加強(qiáng)了平臺(tái)與岸基端的信息傳遞,增強(qiáng)了鉆井平臺(tái)信息管理的有效性[2]。
B/S(瀏覽器/服務(wù)器)結(jié)構(gòu),是以C/S結(jié)構(gòu)為基礎(chǔ)發(fā)展而來(lái)的。在此結(jié)構(gòu)中,用戶利用瀏覽器通過(guò)HTTP文件向網(wǎng)絡(luò)服務(wù)器發(fā)出數(shù)據(jù)請(qǐng)求;網(wǎng)絡(luò)服務(wù)器接收到數(shù)據(jù)請(qǐng)求后,將該請(qǐng)求轉(zhuǎn)換成SOL語(yǔ)法發(fā)送給數(shù)據(jù)庫(kù)服務(wù)器;數(shù)據(jù)庫(kù)服務(wù)器將接收到的請(qǐng)求先進(jìn)行有效性驗(yàn)證,在進(jìn)行相關(guān)的數(shù)據(jù)處理后,將結(jié)果反饋給網(wǎng)絡(luò)服務(wù)器;最后,由網(wǎng)絡(luò)服務(wù)器將數(shù)據(jù)結(jié)果進(jìn)行數(shù)據(jù)轉(zhuǎn)換,發(fā)送給瀏覽器客戶端。
基于B/S結(jié)構(gòu)設(shè)計(jì)其優(yōu)點(diǎn)有:1)層次清晰;2)客戶端開(kāi)發(fā)簡(jiǎn)單,不需要安裝專門的軟件或插件;3)使用方便,只要在能上網(wǎng)的地方,用戶就能進(jìn)行系統(tǒng)操作。4)維護(hù)方便,系統(tǒng)只需要對(duì)服務(wù)器端進(jìn)行維護(hù),而客戶端不需要[2]。
Apache Tomcat服務(wù)器不僅能為動(dòng)態(tài)網(wǎng)頁(yè)服務(wù),同時(shí)也能為靜態(tài)網(wǎng)頁(yè)提供支持。在該網(wǎng)絡(luò)服務(wù)器中,客戶端請(qǐng)求會(huì)先發(fā)送給Apache,一般有兩種情況,靜態(tài)文本請(qǐng)求將由Apache解析,結(jié)果返回給客戶端;動(dòng)態(tài)請(qǐng)求(如jsp、servlets等),解析工作就由Tomcat完成,解析結(jié)果仍是通過(guò)Apache返回給客戶端。這種組合實(shí)現(xiàn)了分工合作,提高了系統(tǒng)處理效率,對(duì)系統(tǒng)的性能有很大的提升。
JSP(Java Server Pages)是一種開(kāi)放性網(wǎng)絡(luò)開(kāi)發(fā)技術(shù),它是以Java Servlet以及整個(gè)Java體系為基礎(chǔ)的,因此,它結(jié)合了Java Servlet和Java體系的所有優(yōu)點(diǎn),性能優(yōu)越、維護(hù)方便,同時(shí),JSP技術(shù)又在許多方面進(jìn)行了技術(shù)改進(jìn),例如,它具有“一次編寫,各處運(yùn)行”等特點(diǎn),該特點(diǎn)為創(chuàng)建高度動(dòng)態(tài)的Web應(yīng)用提供了一個(gè)特有的開(kāi)發(fā)環(huán)境。在JSP技術(shù)中,可以利用HTML或XML標(biāo)志或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容,生成內(nèi)容的邏輯被封裝在標(biāo)志和JavaBeans組件中,并且被捆綁到小腳本中,所有的腳本語(yǔ)言在服務(wù)器端運(yùn)行,實(shí)現(xiàn)了內(nèi)容生成和顯示分離[3]。JSP/Servlets混合模型與JSP單一模型相比,單一模型適合于處理一些簡(jiǎn)單的應(yīng)用,而混合模型適合處理一些較復(fù)雜的、需要多個(gè)JavaBean組件的應(yīng)用。
Microsoft SQLServer 2005數(shù)據(jù)庫(kù)平臺(tái)功能較為全面,其數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,該平臺(tái)可以構(gòu)建和管理用于業(yè)務(wù)的數(shù)據(jù)應(yīng)用程序。Microsoft SQL Server 2005具有完備的網(wǎng)絡(luò)功能,由于支持XML,因此,系統(tǒng)易于擴(kuò)展,具有較高的穩(wěn)定性。該數(shù)據(jù)庫(kù)利用了SMP技術(shù),把數(shù)據(jù)庫(kù)負(fù)載分布到普通的服務(wù)器集群上,當(dāng)系統(tǒng)資源不足時(shí),只需在數(shù)據(jù)庫(kù)集群中增加新的普通服務(wù)器,而不需要更換原來(lái)系統(tǒng)。同時(shí),Microsoft SQL Server 2005數(shù)據(jù)庫(kù)支持強(qiáng)有力的、靈活的、基于角色的安全機(jī)制,擁有安全審計(jì)工具,能夠提供高級(jí)文件加密和網(wǎng)絡(luò)加密功能。它的穩(wěn)定性和與Windows系統(tǒng)的集成性都很好,普遍用于企業(yè)級(jí)MIS系統(tǒng),也常用作Web應(yīng)用程序的后臺(tái)數(shù)據(jù)庫(kù)[4]。
本文采用B/S結(jié)構(gòu)對(duì)整個(gè)系統(tǒng)進(jìn)行設(shè)計(jì),其結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)構(gòu)架設(shè)計(jì)Fig.1 Design of system architecture
如圖2所示,整個(gè)網(wǎng)絡(luò)系統(tǒng)由岸基局域網(wǎng)和平臺(tái)局域網(wǎng)組成,通過(guò)衛(wèi)星地面站或移動(dòng)通信網(wǎng)組成一個(gè)整體。在本平臺(tái)局域網(wǎng)設(shè)計(jì)中,設(shè)置一臺(tái)中心服務(wù)器,并在每個(gè)平臺(tái)上設(shè)置一臺(tái)終端服務(wù)器用以儲(chǔ)存本地?cái)?shù)據(jù)。在該中心服務(wù)器中,儲(chǔ)存平臺(tái)共享信息和終端服務(wù)器中數(shù)據(jù)的路由信息。當(dāng)中心服務(wù)器接到請(qǐng)求數(shù)據(jù)時(shí),先確定所請(qǐng)求的數(shù)據(jù)是否在本地,若無(wú),則根據(jù)本地路由信息,獲取終端服務(wù)器儲(chǔ)存的數(shù)據(jù)進(jìn)行響應(yīng)。這樣減少了中心服務(wù)器的負(fù)荷,提高了系統(tǒng)的運(yùn)行效率。
所涉及的業(yè)務(wù)信息主要包括:
圖2 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 System network structure
1)員工信息:包括員工身份信息、入職時(shí)間、所屬部門、職位、排班安排等。
2)設(shè)備分類信息:包括部門目錄、設(shè)備類別、設(shè)備類型、資產(chǎn)類別、設(shè)備編號(hào)名稱統(tǒng)一目錄等。
3)設(shè)備資產(chǎn)信息:包括設(shè)備編號(hào)、設(shè)備類別、型號(hào)規(guī)格、財(cái)產(chǎn)分類、設(shè)備用途、制造商、出廠編號(hào)日期、使用年限、年折率、立卡時(shí)間、啟用部門、啟用時(shí)間、安裝地點(diǎn)等。
4)設(shè)備報(bào)廢信息:主要包括設(shè)備停用和設(shè)備報(bào)廢。設(shè)備停用設(shè)計(jì)內(nèi)容包括:?jiǎn)⒂萌掌?、設(shè)備停用日期、停用部門、停用原因、領(lǐng)導(dǎo)部門審批意見(jiàn)。設(shè)備報(bào)廢管理主要內(nèi)容設(shè)計(jì)有:報(bào)廢日期、報(bào)廢部門、報(bào)廢原因、清理費(fèi)用、報(bào)廢審批意見(jiàn)、報(bào)廢技術(shù)鑒定以及報(bào)廢后仍可利用的配件。
5)工作計(jì)劃信息:包括每個(gè)平臺(tái)工作量安排表、員工排班表、工作進(jìn)度表等。
系統(tǒng)各模塊按照此組織關(guān)系進(jìn)行了嚴(yán)格的劃分,其模塊設(shè)計(jì)圖如圖3所示。
圖3 系統(tǒng)功能結(jié)構(gòu)Fig.3 System function structure
系統(tǒng)各模塊主要功能:
1)系統(tǒng)管理模塊:保證整個(gè)平臺(tái)安全可靠地運(yùn)行,為系統(tǒng)提供日志管理、分級(jí)控制、權(quán)限管理等功能。
2)人員管理模塊:記錄平臺(tái)上員工信息、調(diào)動(dòng)情況;利用合理的考勤制度充分激發(fā)和調(diào)動(dòng)廣大職工生產(chǎn)工作積極性,提供及時(shí)有效的信息為領(lǐng)導(dǎo)分配工資和獎(jiǎng)金作決策服務(wù);準(zhǔn)確記錄船上人員情況,為職工安全和平臺(tái)財(cái)產(chǎn)安全提供保障。
3)設(shè)備管理模塊:建立一套完備的設(shè)備資料信息系統(tǒng),利用歷史參數(shù)對(duì)設(shè)備進(jìn)行評(píng)估;設(shè)備維護(hù)信息齊全、清晰、準(zhǔn)確,隨時(shí)可知道設(shè)備故障和維修情況;掌握設(shè)備運(yùn)行狀況,可按時(shí)進(jìn)行檢查。
4)生產(chǎn)管理模塊:主要包括指標(biāo)計(jì)劃錄入與分解和工作計(jì)劃制定,同時(shí),記錄平臺(tái)上發(fā)生的大事。
5)物資管理模塊:主要是搞好物資的綜合管理水平,保質(zhì)保量地提供大小修、事故搶修所必須的備品、備件和材料,優(yōu)化庫(kù)存,降低成本,加速資金周轉(zhuǎn),加強(qiáng)物資使用監(jiān)督、財(cái)務(wù)監(jiān)督和核算,減少浪費(fèi),提高物資管理勞動(dòng)生產(chǎn)率。
1)客戶端流程
用戶在瀏覽器端輸入系統(tǒng)網(wǎng)址后,進(jìn)入Login.jsp頁(yè)面;輸入用戶名和密碼,提交后進(jìn)入check.jsp頁(yè)面,如果用戶名和密碼正確,則利用Cookie把用戶名和密碼保存在客戶端,下次登入時(shí)服務(wù)器首先讀取客戶端Cookie信息,如果存在用戶名和密碼數(shù)據(jù),則直接登錄,否則顯示登錄頁(yè)面。登入后進(jìn)入主頁(yè)面main.jsp,用戶根據(jù)需要訪問(wèn)平臺(tái)上的信息進(jìn)入current_data.jsp或者h(yuǎn)istory_data.jsp頁(yè)面。
2)數(shù)據(jù)處理流程
本系統(tǒng)中,為實(shí)現(xiàn)平臺(tái)端和岸基端數(shù)據(jù)通信同步,設(shè)計(jì)的數(shù)據(jù)處理流程如圖4所示。①接收端:接收端請(qǐng)求數(shù)據(jù),將本地端口號(hào)和請(qǐng)求信息一起發(fā)送給服務(wù)器。②發(fā)送端:根據(jù)請(qǐng)求信息,將請(qǐng)求的數(shù)據(jù)壓縮成郵件附件形式,并附上唯一的編碼,其編碼形式為“發(fā)送端端口號(hào)+接收端端口號(hào)+該郵件在該端口上的流水號(hào)”。③接收端:讀取該附件,判斷該郵件編碼中的接收端端口號(hào)是否和本地一致,只有一致,才發(fā)送請(qǐng)求確認(rèn)信息給服務(wù)器。④發(fā)送端:發(fā)送確認(rèn)信息。⑤接收端:成功收到對(duì)方確認(rèn)信息后,按附件的流水號(hào)處理郵件。該設(shè)計(jì)減少了郵件錯(cuò)發(fā)、漏發(fā)的可能,確保平臺(tái)端和岸基端通信的同步。
圖4 數(shù)據(jù)處理流程Fig.4 Flow chart of data processing
結(jié)合系統(tǒng)實(shí)際情況,分別從多個(gè)方面對(duì)系統(tǒng)安全進(jìn)行控制。
1)用戶身份認(rèn)證。利用cookie對(duì)用戶身份進(jìn)行認(rèn)證,并根據(jù)用戶角色權(quán)限對(duì)用戶操作全過(guò)程進(jìn)行控制,對(duì)用戶與服務(wù)器之間的信息傳輸進(jìn)行雙向身份認(rèn)證和加密,以確保信息安全;
2)數(shù)據(jù)庫(kù)安全控制。根據(jù)數(shù)據(jù)庫(kù)安全需要,采用數(shù)據(jù)庫(kù)訪問(wèn)最小特權(quán)策略對(duì)用戶進(jìn)行權(quán)限控制,即用戶只可以訪問(wèn)與工作相關(guān)的內(nèi)容。與此同時(shí),對(duì)于重要數(shù)據(jù),還定期進(jìn)行備份[5]。
3)應(yīng)用程序安全控制。對(duì)于應(yīng)用程序,采用軟件防火墻進(jìn)行安全控制,定期對(duì)局域網(wǎng)和服務(wù)器進(jìn)行殺毒檢測(cè),定期對(duì)殺毒軟件進(jìn)行升級(jí)。
4)網(wǎng)絡(luò)系統(tǒng)安全控制。①在服務(wù)器與Internet之間采用硬件防火墻對(duì)信息進(jìn)行過(guò)濾,對(duì)外部訪問(wèn)請(qǐng)求進(jìn)行控制。②采用web服務(wù)器提供的SSL安全通信機(jī)制來(lái)防止數(shù)據(jù)在網(wǎng)上被截獲。③配置服務(wù)器可允許或者拒絕訪問(wèn)的特定IP地址。
本系統(tǒng)具有操作簡(jiǎn)單、維護(hù)方便、升級(jí)容易等優(yōu)點(diǎn),尤其是對(duì)大型的鉆井企業(yè)優(yōu)點(diǎn)更加明顯。圖5是鉆井平臺(tái)信息系統(tǒng)人員管理系統(tǒng)界面,圖6、圖7是鉆井平臺(tái)生產(chǎn)管理系統(tǒng)查詢界面。
圖5 人員管理系統(tǒng)界面Fig.5 Personnelmanagement system interface
圖6 生產(chǎn)管理系統(tǒng)查詢界面(1)Fig.6 Productionmanagement system query interface(1)
圖7 生產(chǎn)管理系統(tǒng)查詢界面(2)Fig.7 Productionmanagement system query interface(2)
基于B/S結(jié)構(gòu)的鉆井平臺(tái)管理信息系統(tǒng)是利用的JSP、web、數(shù)據(jù)庫(kù)等技術(shù)建立的。該系統(tǒng)既實(shí)現(xiàn)了平臺(tái)與岸基信息實(shí)時(shí)交互功能,又幫助解決了鉆井企業(yè)對(duì)平臺(tái)系統(tǒng)管理困難的問(wèn)題,還能夠輔助企業(yè)管理者進(jìn)行決策分析。實(shí)踐證明,該系統(tǒng)具有強(qiáng)大的數(shù)據(jù)處理能力,是鉆井企業(yè)提高管理水平、實(shí)現(xiàn)信息化的好助手。
[1]黃曙光,楊樹(shù)耕.海上鉆井平臺(tái)智能化管理信息系統(tǒng)客戶端程序設(shè)計(jì)與開(kāi)發(fā)[J].中國(guó)造船,2004,45(z1):496-501.
[2]趙陽(yáng).海上鉆井平臺(tái)分布式管理信息系統(tǒng)分析與研究[D].天津大學(xué),2005.
[3]廖俊.基于B/S模式的遠(yuǎn)程監(jiān)控系統(tǒng)的研究及軟件實(shí)現(xiàn) [D].成都:西南交通大學(xué),2006.
[4]李巍.JSP編程入門與應(yīng)用實(shí)例[M].清華大學(xué)出社,2001.
[5]鐘嵐,汪永超,毛明剛,等.基于B/S的通用車輛管理信息系統(tǒng)研發(fā)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(7):1695-1698.
[6]羅來(lái)興,殷國(guó)富,汪永超,等.基于B/S結(jié)構(gòu)的融資信用評(píng)估系統(tǒng)研發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2005(6):136-139.