陳貴云 陳超云 張文
【摘 要】 文章以高校資源合理配置為出發(fā)點,著力解決建設經費在高校資產更換過程中的覆蓋面及其利用率問題,提出利用高校資產信息采集系統(tǒng)的動態(tài)統(tǒng)計數據來指導投資行為,并以直觀、可視化的圖形或圖像呈現給投資者解決方案。結合網絡技術以及物聯(lián)網技術解決信息采集的可靠性、并發(fā)性、沖突性,以及性能等相關問題,將是今后資產管理系統(tǒng)一個重要的發(fā)展方向。
【關鍵詞】 高校資產; 信息采集; 投資優(yōu)化; J2EE; 沖突
一、引言
高校資產已經成為一所高校科研水平、現代化建設,以及創(chuàng)新性建設的重要標志。在資金有限、設備更新較快較多的情況下,高校會出現資金數額無法滿足實驗室建設需求的情況,因此合理地投放資金成為了高校資產管理最為核心的問題。那么,什么是建設的重要依據呢?實驗設備信息采集系統(tǒng)就是建設的重要依據。通過系統(tǒng)采集到的設備使用率這個有效指標,除了能夠解決實驗室建設、設備投資優(yōu)化等問題外,還可以作為實驗室兼并重組的重要依據。所以實驗設備的使用情況作為一種有效的信息,在實驗室建設優(yōu)化等方面具有重要意義,同時,對于設備信息的采集也是一個實驗室管理者值得研究的問題。
為了實現信息的采集,以及將采集來的信息以可視化的圖形圖像界面展現給用戶,本文所討論的系統(tǒng)基于B/S和C/S兩種模式,在采集端以基于PC或其他智能終端C/S的架構實現信息的采集,在信息匯總端采用B/S模式架構,將設備的使用信息以Web瀏覽方式顯示給用戶。
二、系統(tǒng)總體設計
(一)系統(tǒng)總體結構
整個系統(tǒng)包含三個服務器,分別是應用服務器、數據庫服務器、Web服務器(圖1所示)。
1.應用服務器
基于C/S模式架構,與前端的客戶機協(xié)同工作。負責監(jiān)聽客戶機發(fā)出的消息,將客戶機采集到的信息通過數據庫服務器寫入數據庫中。該子系統(tǒng)為整個系統(tǒng)的核心模塊,負責信息的采集工作。該子系統(tǒng)在設計時必須充分考慮到影響采集質量的因素,如并發(fā)性訪問、海量數據、消息傳遞機制等。
2.數據庫服務器
連接該系統(tǒng)唯一的數據庫,用于和數據庫之間的交互,任何訪問數據庫的操作必須經過該服務器,此外該服務器還具有訪問合法性檢查、數據定期備份等功能。
3.Web服務器
為用戶提供與信息查詢相關的Web服務,該子系統(tǒng)是典型的基于B\S模式架構的,以J2EE框架實現,并采用MVC經典模型,整合了當前流行框架Struts+Hibernate+Spring(SSH),在數據的持久化、信息查詢的高效性等方面作了相關優(yōu)化處理。
(二)數據庫設計方案
注:為了降低問題的復雜性,本文討論的實驗設備暫為微型計算機。因為任何設備若要對其進行智能化監(jiān)控必須綁定一個智能終端,如:PDA,PPC,MT等。
數據庫作為該系統(tǒng)的核心,所有的記錄信息都保存在數據倉庫中。此外,數據模型設計的好壞很大程度上影響著系統(tǒng)的執(zhí)行效率。
通過需求分析可知(圖2所示),該系統(tǒng)涉及到實驗室、PC終端、學生、班級、課程、教師、記錄(學生記錄和教師記錄)八類對象,映射到數據庫中為相應的八張核心表。在所有表中最重要的是學生記錄表,因為該記錄是學生使用微機的重要憑證,其中的記錄需保存學生一次上機的起始時間。微機的使用率、學生的到課率等相關信息都依據該記錄。為了提高系統(tǒng)性能,對學生記錄表不設置任何外鍵,只通過學生的學號和微機的物理地址(MAC地址)關聯(lián)。
三、優(yōu)化措施
(一)沖突優(yōu)化
由于此系統(tǒng)的工作環(huán)境屬于高并發(fā)性環(huán)境,最壞的情況為所有機房的所有微機都在同一時刻與信息采集服務器通信,當然服務器同一時刻不可能同時處理這些通信請求,于是便產生了沖突。雖然,數據庫連接池模型可以有效地提高工作效率,使CPU能夠充分利用有限的時間片,在盡量短的時間內處理盡量多的請求,但是仍舊無法完全避免同一時刻的通信請求。
退避算法的提出能夠有效解決這種沖突問題(圖3所示)。每當客戶機向服務器發(fā)出通信請求時,都會啟動一個計時線程記錄客戶機的等待時間和沖突的次數,如果客戶機發(fā)出請求后服務器超過5秒應答認為請求超時,沖突次數(n)加一,之后等待2n秒后再加上2n乘以一個0到1的隨機數,最后取整得到延遲時間S,等待S秒后再重新發(fā)送通信請求,當沖突次數達到8后認為與服務器失去連接,并將相關消息返回到客戶端。
經實際測試,在100臺機器的測試環(huán)境下,當設定等待時間為5秒,最大沖突次數為8時,在1小時內通過退避算法有效避免沖突671次,且沖突數最高為3,即在100個隨機并發(fā)環(huán)境下單機持續(xù)沖突的次數不超過3。等待時間(T)=2n+2n×Random(秒)。
(二)線程池并發(fā)性處理
由于服務器在接收到客戶機消息的同時還會進行數據庫操作,因而使用線程池模型(圖4所示)能夠顯著提高服務器的效率。當服務器接收到客戶端的消息后,根據消息的內容創(chuàng)建一個任務模型(TaskModel)用來處理相關業(yè)務,然后把任務傳遞給線程池處理,當線程池中的活動線程達到最大時任務進入等待隊列等候處理,否則從線程池中取出一個就緒線程處理該任務。
該線程池模型同時設置了線程池活動線程數量(corePoolSize)、最大線程數量(maximumPoolSisze)、等待隊列的最大長度(workQueueSize)、當等待隊列達隊滿時對新到線程采取的策略(policy)、線程池的最長保持時間(keepAliveTime)參數。
四、信息采集解決方案
(一)學生端信息采集
當學生上機登錄系統(tǒng)時(圖5所示),系統(tǒng)向服務器發(fā)送登錄信息,經過驗證后在數據庫中寫入相關條目并向客戶端返回該條目在數據庫中的唯一標識rid,之后只要該學生沒有退出客戶端,客戶端便每隔一段時間向服務器發(fā)送更新信息,服務器便根據此rid更新該條目的最后時間為當前時間。該學生此次登錄的總時間為最后時間—登錄時間。
(二)教師端信息采集
當教師登錄客戶端時(圖6所示),經過服務器驗證信息,若驗證通過則返回該教師的班級和課程給客戶端,客戶端收到后供教師選擇,當教師正確選擇后向服務器發(fā)送選擇信息,服務器便將此信息記錄到數據庫當中。教師此條登錄信息具有重要意義,服務器根據該記錄通過時間和班級兩個字段就可以關聯(lián)到該機房當前正在上該老師課的所有學生。
五、結論
(一)B/S信息查詢框架
由于該系統(tǒng)涉及到的業(yè)務邏輯較為復雜,同時為了確保數據的一致性和準確性,該系統(tǒng)采用三層結構,即表現層、業(yè)務層,持久層(圖7所示)。用戶通過瀏覽器將請求發(fā)送給表現層,表現層根據請求的業(yè)務,將請求傳遞給相關的業(yè)務層,業(yè)務層完成相關的業(yè)務邏輯并通過持久層來進行數據持久化操作。
該Web系統(tǒng)基于Tomcat/JBoss服務器,采用JSP、J2EE技術,整合了SSH框架。系統(tǒng)表現層基于Struts框架開發(fā),業(yè)務邏輯層采用Spring面向切面技術,極大降低了模塊之間的耦合,在持久層中應用Hibernate框架,實現數據的增刪改查。系統(tǒng)在內部運用各種技術提高系統(tǒng)的性能,保證查詢框架的正常運行,而系統(tǒng)外部借助美工技術,將界面設計得簡潔大方,盡可能降低用戶使用系統(tǒng)的復雜度。
(二)B\S信息查詢框架
該系統(tǒng)在C/S端設計時充分考慮服務器的處理能力和通信能力,應用多種技術進行改進(表1所示)。如處理通信沖突時通過結合退避算法有效地避免了并發(fā)性沖突;在處理服務器處理能力上,為了服務器能夠在有限的時間片內處理更多的數據并減少CPU等待時間,引入線程池模型;通過把每個獨立的任務制作成一個單獨的線程交給線程池去處理,從而提高了服務器的處理性能。此外,在其他優(yōu)化服務器性能的措施上還采用了自定義消息處理框架、Java反射機制、哈希映射集等技術。在真實測試環(huán)境下系統(tǒng)運行正常,隨著終端數量的增加沖突也在增加,但是通過前述的一系列優(yōu)化措施,有效地提高了數據的可靠性和準確性。
【參考文獻】
[1] 刁叔鈞.基于資源共享的高校實驗儀器設備網絡化管理初探[J].實驗室研究與探索,2010,29(8):154-156.
[2] 陳六平.關于當前實驗室管理及實驗教學中若干問題[J].實驗室研究與探索,2009,28(1):152-156.
[3] Stephen Asbary. Developing Java Enterprise Applications[M].王強,譯.北京:機械工業(yè)出版社,2004.
[4] David Flanagan.Thinking in Java[M].Third Edition by Bruce Eckel,2003.
[5] 鄺孔武,王曉敏.信息系統(tǒng)分析與設計[M].北京:清華大學出版社,2002.
[6] 中國就業(yè)培訓技術指導中心.信息采集實用技術[M]. 北京:中國勞動社會保障出版社,2008.
[7] Henry F.Korth S.Sudarshan. Database System Concepts[M].楊冬青,譯.北京:機械工業(yè)出版社,2006.
[8] Sam Lightstone. Physical Database Design[M].北京:清華大學出版社,2010.
[9] David M.Kroenke. Database Concepts[M].姜玲玲,馮飛,譯.北京:清華大學出版社,2008.
[10] 林鎮(zhèn)燦.Web信息采集和統(tǒng)計技術的研究與實現[D].華南理工大學碩士學位論文,2010.
[11] 方麗英,閆健卓,王普,劉宇輝.面向數據集成的基于規(guī)則的自動語義轉換[J].北京工業(yè)大學學報,2008(3):15-18.