中油遼河油田公司 遼寧 盤錦 124010
石油行業(yè)正加大力度開拓國內(nèi)市場和海外市場,為更好地完成油田內(nèi)部項目以及高效快速地實現(xiàn)國內(nèi)外多地遠(yuǎn)程勘探開發(fā)協(xié)同工作,因此急需進(jìn)行科研生產(chǎn)與業(yè)務(wù)管理相結(jié)合的綜合性研究基礎(chǔ)平臺的建設(shè)工作。通過信息化技術(shù)進(jìn)行優(yōu)化,將科研項目管理、生產(chǎn)實施、團(tuán)隊管理、輔助資源保障等協(xié)調(diào)統(tǒng)一并有機(jī)地連接起來,使得勘探開發(fā)項目快速、協(xié)調(diào)、高效地完成。
本系統(tǒng)的設(shè)計架構(gòu)采用MVC開發(fā)模式,分為界面展示、業(yè)務(wù)邏輯處理、數(shù)據(jù)處理三個主要層次。①數(shù)據(jù)處理層,為提升數(shù)據(jù)庫遷移性、安全性,增加了數(shù)據(jù)處理接口,實現(xiàn)數(shù)據(jù)與實體間的映射關(guān)系。在一定程度上隔離數(shù)據(jù)域業(yè)務(wù)邏輯實現(xiàn)間的直接和必然關(guān)系,提高數(shù)據(jù)可重用性和可遷移性。②業(yè)務(wù)邏輯層,因需與其他系統(tǒng)集成,增加設(shè)置接口和協(xié)議聲明、中間件的層次。通過這些中間件,可以安全、快捷地將數(shù)據(jù)從其他系統(tǒng)中提取出來,也可在符合協(xié)議的前提下,向其他系統(tǒng)注入數(shù)據(jù)。③界面層,為研究人員展示需要的工作內(nèi)容,滿足開發(fā)過程中快速、同步開發(fā),同時也保障系統(tǒng)在一定程度上的可擴(kuò)展性和延展性[1]。
(1)采用MVC三層結(jié)構(gòu)開發(fā)應(yīng)用系統(tǒng)。技術(shù)體系上采用Model/View/Control結(jié)構(gòu)進(jìn)行開發(fā)。三層結(jié)構(gòu)適合群體開發(fā),每人可有不同分工,協(xié)同工作使效率倍增;三層架構(gòu)可以更好地支持分布式計算環(huán)境。邏輯層的應(yīng)用程序可在多個機(jī)器上運行,充分利用網(wǎng)絡(luò)的計算功能;同時客戶端只能通過邏輯層來訪問數(shù)據(jù)層,減少入口點,屏蔽一些危險的系統(tǒng)功能。
(2)系統(tǒng)采用模塊化設(shè)計與技術(shù)實現(xiàn)。為適應(yīng)業(yè)務(wù)不斷拓展,通過將接口處理、數(shù)據(jù)映射、業(yè)務(wù)處理以及基本應(yīng)用的特性加以抽取提升,從而形成面向接口技術(shù)的采集通用模塊、面向運算的業(yè)務(wù)邏輯通用模塊。該方式將通用模塊與具體的日常管理事務(wù)分開,避免應(yīng)用系統(tǒng)處理程序隨業(yè)務(wù)頻繁變化而產(chǎn)生各種問題,極大地改善系統(tǒng)的處理效率和維護(hù)能力。
(3)基于工作流引擎、業(yè)務(wù)流程規(guī)則、接口服務(wù)實現(xiàn)業(yè)務(wù)協(xié)同與流程管理。平臺要基于工作流引擎進(jìn)行定制開發(fā),同時基于業(yè)務(wù)流程規(guī)整進(jìn)行流程的配置管理,基于接口服務(wù)實現(xiàn)內(nèi)部模塊的互相調(diào)用和與外部系統(tǒng)的交換協(xié)同。
(4)完全分層的數(shù)據(jù)庫設(shè)計以及標(biāo)準(zhǔn)的信息模型。采用嚴(yán)格數(shù)據(jù)庫分層設(shè)計思想,使上層應(yīng)用與業(yè)務(wù)特性相隔離,適應(yīng)系統(tǒng)接口的變化、用戶業(yè)務(wù)邏輯的變化。使用struts+spring+ibatis框架進(jìn)行應(yīng)用開發(fā),是在底層架構(gòu)基礎(chǔ)上經(jīng)過二次開發(fā)集成的新型開發(fā)框架,完成業(yè)務(wù)邏輯實現(xiàn)、數(shù)據(jù)庫存儲過程調(diào)用、任務(wù)調(diào)度、文件導(dǎo)出、報表生成、頁面生成、對外服務(wù)發(fā)布等,滿足用戶進(jìn)行二次開發(fā)的需要,適應(yīng)系統(tǒng)不同的需求。
安全設(shè)計主要涵蓋用戶權(quán)限管理、數(shù)據(jù)傳輸、數(shù)據(jù)存儲及數(shù)據(jù)審查等,包括應(yīng)用級的安全設(shè)計和系統(tǒng)級的安全設(shè)計。
(1)用戶權(quán)限的分級及分類的準(zhǔn)確性保證。權(quán)限與職能不混淆,可以共同存在;保證工作人員在一定的權(quán)限下履行工作職責(zé),且可以在任何領(lǐng)導(dǎo)的臨時指定下完成其他任務(wù);信息發(fā)布系統(tǒng)實行用戶密碼與IP綁定或與加密機(jī)綁定等方式實現(xiàn)授權(quán)控制訪問。
(2)簽批安全。通過硬件加密識別技術(shù)(電子簽章)使用,提高文檔信息的安全級別,保證簽批的安全性。
(3)數(shù)據(jù)機(jī)密性的保證。對于密碼、已簽批文檔等,需做一定的加密處理,不能以明文形式存在;在需要時,進(jìn)行解密處理;利用成熟的加密技術(shù)對信息實現(xiàn)加密傳送,信息接收端再進(jìn)行解密。
(4)系統(tǒng)日志真實性、完善性保證。日志記錄無人為干擾,做到“有何種操作,既記錄何種日志”,任何人、任何權(quán)限不能隨意篡改、刪除系統(tǒng)日志;所有用戶登錄及詳細(xì)日志信息,保證用戶操作的信息可以追溯、逆轉(zhuǎn);以擬人化的描述方式描述所有用戶在系統(tǒng)中的所有操作,并記錄執(zhí)行過程中更改數(shù)據(jù)的語句、方法;保證在出現(xiàn)問題后,可以通過日志查找確定故障點和逆轉(zhuǎn)錯誤性數(shù)據(jù)。
(5)對安全需求變化的適應(yīng)性保證。預(yù)留安全配置接口,防范系統(tǒng)安全策略無法滿足需求時,可以隨時增加其他安全策略。
(6)數(shù)據(jù)存儲和軟件開發(fā)選用成熟先進(jìn)的產(chǎn)品和技術(shù)。采用主流數(shù)據(jù)庫服務(wù)引擎和軟件技術(shù)(Oracle和.net framework)進(jìn)行開發(fā);在數(shù)據(jù)處理底層增加防范注入攻擊等機(jī)制;在開發(fā)架構(gòu)搭建、開發(fā)過程中,實現(xiàn)方法、變量等聲明的安全,保證不被外部攻破;在系統(tǒng)發(fā)布前,對所有編譯內(nèi)容進(jìn)行加殼處理,保證系統(tǒng)無任何實現(xiàn)邏輯以明文方式暴露,降低系統(tǒng)被反編譯后尋找邏輯漏洞的可能;系統(tǒng)發(fā)布后,對系統(tǒng)運轉(zhuǎn)日志、數(shù)據(jù)庫日志做檢查、統(tǒng)計和分析,確保運行后參數(shù)均在接收范圍以內(nèi)。
(7)嚴(yán)格系統(tǒng)測試。保證任意單一線性業(yè)務(wù)邏輯均可正常運轉(zhuǎn),且在不同條件下可以達(dá)到一個抽象的統(tǒng)一結(jié)果;保證業(yè)務(wù)實現(xiàn)的邏輯代碼至少被執(zhí)行一次,確保在系統(tǒng)發(fā)布后,無任何冗余代碼的存在;計算系統(tǒng)中各個功能的執(zhí)行性能,保證在系統(tǒng)運轉(zhuǎn)后維護(hù)過程中的優(yōu)化工作。
(8)系統(tǒng)備份。利用備份體系實現(xiàn)數(shù)據(jù)備份。任意時刻,系統(tǒng)均運轉(zhuǎn)在單一的數(shù)據(jù)庫服務(wù)引擎上,保證數(shù)據(jù)的可靠和唯一性;當(dāng)故障出現(xiàn)時,熱轉(zhuǎn)換到鏡像數(shù)據(jù)庫,保證系統(tǒng)正常運轉(zhuǎn);熱備份,在任何時間不影響系統(tǒng)運轉(zhuǎn)前提下,進(jìn)行數(shù)據(jù)輪滾備份,為系統(tǒng)運轉(zhuǎn)基礎(chǔ)數(shù)據(jù)做最后一層保障。
(9)移動端信息安全。移動端采用中石油統(tǒng)一認(rèn)證部署的F11應(yīng)用平臺進(jìn)行開發(fā)。該平臺是中石油官方許可的移動辦公平臺,擁有中石油辦公網(wǎng)與國際互聯(lián)網(wǎng)之間唯一合法出口,集成了股份公司的統(tǒng)建系統(tǒng),安全等級為國內(nèi)最高的安全等級。油商密級2級以下的數(shù)據(jù)都可以在平臺運行使用,并且支持蘋果IOS與安卓雙系統(tǒng)。
通過以上系統(tǒng)技術(shù)方案,可以開發(fā)安全性高,拓展性強(qiáng)的綜合應(yīng)用系統(tǒng),從而滿足國內(nèi)外市場項目協(xié)同研究需要,大幅提升油田內(nèi)部項目工作質(zhì)量以及開拓外部市場中的競爭力。