于蕭榕
摘要:該文提供一種基于云計算的船舶航運信息服務系統(tǒng),利用J2EE、C#和SQL Server2005進行開發(fā),圍繞船舶和水運物流為主線,形成一個交互式電子商務信息交易平臺,將長江水運優(yōu)勢和地方經濟發(fā)展有機結合起來,引導水運、經濟、產業(yè)的良性互動。
關鍵詞:云計算;J2EE;航運
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2014)16-3699-02
Abstract: This article provides a Shipping Information Service Platform based on Cloud Computing management system. The use of J2EE, C # and SQL Server2005 to develop, Around the ship and shipping logistics as the main clue,take an interactive e-commerce trading platform. The Yangtze River waterway advantage and local economic development organically, interactive guide water transportation, economy, industry.
Key words: cloud computing; J2EE; shipping
長江橫貫東西,通江達海,全長六千多公里,自古就是我國重要的水上交通大動脈,有著“黃金水道”的美譽, 中國還有大小天然河流5800多條,總長40萬公里,現已辟為航道的里程約是10 萬公里,其中7 萬公里可通航機動船只,而且水運具有運能大、能耗小、成本低、占地少、污染輕等突出優(yōu)勢。統(tǒng)計顯示,近5年來,長江航運持續(xù)快速發(fā)展,貨運量、周轉量和港口吞吐量以年均兩位數的速度迅速增長。2011年長江干線貨運量突破16億噸,連續(xù)7年超過美國密西西比河和歐洲萊茵河,已成為世界內河運輸最繁忙、運量最大的通航河流。
為完善長江流域的水運市場,積聚長江及內河流域船舶建造人氣。因此,建立一個基于云計算的航運信息服務平臺,通過發(fā)布航運信息、貨運信息、航線信息,建立水上的運輸物流平臺;通過發(fā)布船舶交易信息、船舶產品交易信息,建立網絡交易信息發(fā)布平臺;通過發(fā)布船舶企業(yè)信息、船舶修造信息、特殊崗位信息、人才信息等,實現吸引船東到長江流域的船舶制造企業(yè)進行造船,船舶制造企業(yè)招收高素質的技術工人,船員合理流動,內河碼頭運輸效能提高等。
1 系統(tǒng)的整體框架
根據本項目的業(yè)務需求,綜合經濟性、靈活性、集成性和擴展性的要求,決定在本項目采用J2EE框架來開發(fā)[1],平臺采用B/S模式,后臺數據庫為SQL Server 2005中文企業(yè)版。
1)系統(tǒng)的數據模型
第一層為表示層,位于最外層,直接呈現在用戶面前用于顯示數據與信息,并為用戶提供一種交互式界面,如首頁的查詢檢索頁面、后臺信息發(fā)布頁面等。第二層為中間層,通過Web Service與數據庫進行連接,負責處理用戶輸入的信息,將這些信息發(fā)送給數據庫層進行修改或保存,或調用數據庫層中的函數讀出數據,它是聯系表示層和數據庫層的橋梁,絕大部分的業(yè)務邏輯都在這一層[2-3]。第三層為數據庫層,用來處理數據庫數據,如對數據進行增加、修改、刪除及查詢等操作,這一層的設計要嚴格遵循數據庫邏輯結構設計中的第三范式要求,確保較小的數據冗余度[4-5]。
系統(tǒng)J2EE技術框架調用過程如下圖:
2)系統(tǒng)中的用戶權限控制
由于采用的是B/S模式,因此系統(tǒng)的用戶權限配置很重要。本系統(tǒng)采用用戶-角色-模塊的三層設計模式,第一層為用戶,第二層為角色,第三層為系統(tǒng)模塊。此模型將系統(tǒng)的模塊權限與用戶分開,將角色作為一個中間層,用戶與角色之間建立關系,角色與模塊權限之間建立關系,而用戶和模塊權限之間沒有直接的關系。用戶與角色的關系是,一個用戶可以對應一個角色,一個角色也可以同時包含一個或多個用戶。同樣,角色與模塊之間也是多對多的關系,并且可以設置角色對模塊的具體操作權限(瀏覽、查詢、添加、修改和刪除)。用戶訪問模塊時,通過其所在的角色對模塊的訪問權限來獲得訪問該模塊的權限,當用戶進入模塊后,用戶的所有操作都要經過權限判斷,不具備操作權限時,則給出提示信息,禁止操作繼續(xù)。這種分層的管理模式使用戶對系統(tǒng)數據的每一步操作都要進行權限判斷和驗證,從而有效地保證系統(tǒng)安全、可靠地運行。
2 系統(tǒng)使用的關鍵技術
1) 系統(tǒng)安全及權限認證技術
系統(tǒng)采用全局會話安全權限過濾,未經驗證的用戶不能得到會話標記,所以無法登錄和使用本系統(tǒng)。本系統(tǒng)采用用戶-角色-模塊的三層設計模式,第一層為用戶,第二層為角色,第三層為系統(tǒng)模塊。此模型將系統(tǒng)的模塊權限與用戶分開,將角色作為一個中間層,用戶與角色之間建立關系,角色與模塊權限之間建立關系,而用戶和模塊權限之間沒有直接的關系,未經賦權的用戶將無法進行越權操作。如某航運公司具有發(fā)布船源信息、發(fā)布航線信息、發(fā)布船舶交易信息、發(fā)布招聘信息等權限,可根據上述權限建立航運公司角色,賦權給所有航運公司;再建立船舶中介公司角色,設置該角色權限為船源信息、貨源信息發(fā)布、船舶交易信息發(fā)布、船舶產品信息發(fā)布、發(fā)布人才招聘信息、發(fā)布求職信息等權限,并賦權給所有船舶中介公司。
2) 綜合信息的自動獲取
本獲取方式采用了Java及多線程技術,對任何互聯網指定的一個或多個網站進行網絡探究,并通過網頁代碼分析、網頁層次探究、網頁鏈接分析等技術手段,最終將互聯網信息獲取并保存到系統(tǒng)數據庫,具有速度快,效率高等特點。但是由于互聯網信息復雜多變,所以抓取效果不盡相同。在綜合信息的發(fā)布中,應用了該技術,將信息自動從相關網站獲取,但由于格式受限,所有的信息都需要人工再次排版,校核,以確保對外發(fā)布美觀,正確。
3) 全文檢索技術
本項目運作一段時間后,發(fā)布的信息內容將越來越多,而全文檢索能夠讓用戶輸入檢索關鍵詞后,系統(tǒng)能快速返回給用戶在全范圍內符合查找條件的記錄, 從而有效地利用資源,更好地滿足用戶需求[6]。本項目使用SQL Server Management Studio建立表的全文檢索,全文檢索要求唯一索引,故需要在相關表建立唯一聚集索引,通過開發(fā)檢索存儲過程得到檢索結果集,返回給前臺的調用查詢頁面,并由前臺頁面進行分頁[7]。而且全文檢索的性能的優(yōu)劣決定了用戶體驗的優(yōu)劣,提高全文檢索的性能是目前最迫切的問題,在本項目中該技術正處于開發(fā)階段。
4) 系統(tǒng)安全技術
① 安裝一個功能強大的硬件防火墻可以有效防御外界對Web服務器的攻擊,還可通過安裝非法入侵監(jiān)測系統(tǒng),提升防火墻的性能,達到監(jiān)控網絡、執(zhí)行立即攔截動作以及分析過濾封包和內容的動作,當有入侵者攻擊時可以立刻有效終止服務。
② 數據庫服務器和Web服務器的分離,進一步提高了系統(tǒng)的安全性,對外網只暴露web服務器,用戶只能通過Web服務器訪問數據庫服務器,而不能直接訪問數據庫服務器。
③ 數據庫的自動備份,對服務器上的數據自動定期進行備份是很重要的。網站的核心是數據,數據一旦遭到破壞,后果不堪設想。數據庫的備份方案采用本地自動備份和遠程備份。
④ 防止SQL注入技術
目前部分網站沒有對用戶輸入數據的合法性進行判斷,使應用程序存在安全隱患,其中最容易忽略的問題就是SQL注入漏洞的問題。通過提交數據的JS正則驗證可以屏蔽這一問題,比如URL、表單等提交信息時,通過一段防止SQL注入的過濾代碼即可防止出錯信息暴露,或者通過轉向,當系統(tǒng)出錯時轉到一個提示出錯的頁面等。
3 結束語
構建一個基于云計算的航運信息服務平臺,該平臺圍繞船舶和水運物流為主線,拓展到相關的船舶產業(yè)和服務中,使各個環(huán)節(jié)形成一個整體,各取所需,發(fā)揮所長,實現了各類客戶不同需求的無縫對接。
參考文獻:
[1] 黃煙波,張紅宇,李建華. 基于Struts和Hibernate的J2EE架構[J].計算機時代,2004(10):29-30.
[2] 孫宏彬,蘇長齡. 基于 J2EE 三層結構分布系統(tǒng)設計與實現[J].齊齊哈爾大學學報,2002,18(4).
[3] 孫衛(wèi)琴.Java網絡編程精解[M].北京:電子工業(yè)出版社,2007:150-154.
[4] 余敏.基于J2EE平臺的Web服務技術研究與實現[J].教育技術導刊,2009(4):122-123.
[5] 詹建飛.J2ME開發(fā)精解[M].北京:電子工業(yè)出版社,2006.
[6] 岳中原.詞典與統(tǒng)計相結合的中文分詞的研究[D].武漢:武漢理工大學,2010:23-41.
[7] 柴寶杰.中文自動分詞若干技術的研究[D].秦皇島:燕山大學,2007:33-47.