孫 福,馬少闖,李前進(jìn),毛志俊
(1.軍械工程學(xué)院 訓(xùn)練部,河北 石家莊050003;2.軍械工程學(xué)院5系,河北 石家莊050003)
基于Petri網(wǎng)模型的儀器設(shè)備共享平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
孫 福1,馬少闖1,李前進(jìn)2,毛志俊1
(1.軍械工程學(xué)院 訓(xùn)練部,河北 石家莊050003;2.軍械工程學(xué)院5系,河北 石家莊050003)
針對(duì)當(dāng)前高校大型儀器設(shè)備共享率低的情況,使用Petri網(wǎng)建模理論建立了高校儀器設(shè)備共享平臺(tái)Petri網(wǎng)模型,并分析了此模型的正確性?;诮⒌哪P蛯?duì)平臺(tái)的功能和架構(gòu)進(jìn)行了設(shè)計(jì),采用SSH 2框架實(shí)現(xiàn)了此平臺(tái),較好滿足了實(shí)際應(yīng)用的需要。
Petri網(wǎng);儀器設(shè)備共享平臺(tái);SSH 2
引言
大型儀器設(shè)備作為科學(xué)研究重要手段,是高等學(xué)校開(kāi)展教學(xué)和研究工作的重要物質(zhì)基礎(chǔ)。其利用率高低關(guān)系到高等學(xué)校科技創(chuàng)新能力的形成和發(fā)揮。實(shí)現(xiàn)資源共享可以提高儀器設(shè)備利用率,降低科研成本,提高各實(shí)驗(yàn)室的技術(shù)水平。因此,各高校研究、開(kāi)發(fā)了各具特色的管理信息系統(tǒng),為大型儀器共享管理起到了重要作用。
大型儀器管理工作在實(shí)際執(zhí)行過(guò)程中存在跨部門信息共享、多級(jí)管理部門審核等現(xiàn)象,這樣就形成了一個(gè)工作流。目前各高校采用的儀器共享管理系統(tǒng)大多沒(méi)有對(duì)工作流進(jìn)行建模,在實(shí)際使用過(guò)程中出現(xiàn)了一系列的問(wèn)題。
(1)儀器數(shù)據(jù)及時(shí)性和真實(shí)性難以保證,儀器共享率低。
儀器設(shè)備的購(gòu)置審核歸屬于財(cái)務(wù)部門,儀器設(shè)備的管理歸屬于教學(xué)保障部門,儀器設(shè)備的日期維護(hù)歸屬于基層教研室或者實(shí)驗(yàn)室。如果沒(méi)有對(duì)各部門工作流程進(jìn)行建模,進(jìn)行各部門業(yè)務(wù)間的無(wú)縫鏈接,必然會(huì)使部門間業(yè)務(wù)協(xié)同有很大困難,致使儀器設(shè)備信息難以及時(shí)更新,造成設(shè)備閑置或者報(bào)廢設(shè)備依然可以預(yù)約等一系列問(wèn)題。
(2)工作流程存在死鎖現(xiàn)象,造成業(yè)務(wù)沖突。
儀器設(shè)備的共享涉及多種情況,每一個(gè)狀態(tài)的變化都會(huì)影響整個(gè)工作業(yè)務(wù),在建設(shè)共享平臺(tái)系統(tǒng)時(shí),如果不對(duì)業(yè)務(wù)流程建模,對(duì)極端情況的處理就會(huì)缺乏考慮,必然會(huì)造成業(yè)務(wù)死鎖,即某種業(yè)務(wù)情況形成死循環(huán)。
(3)儀器使用數(shù)據(jù)分析不足,難以實(shí)現(xiàn)智能決策。
對(duì)儀器使用情況數(shù)據(jù)的分析僅限于統(tǒng)計(jì)匯總,沒(méi)有引入常用的統(tǒng)計(jì)分析工具,如時(shí)間序列分析、聚類分析、相關(guān)性分析等,無(wú)法給管理者的決策提供數(shù)據(jù)支撐。
針對(duì)于此,本文利用Petri建模技術(shù),建立了高校儀器共享平臺(tái)的業(yè)務(wù)流模型,并采用Spring+Hibernate技術(shù)設(shè)計(jì)實(shí)現(xiàn)了高校儀器設(shè)備共享管理系統(tǒng)。
1.Petri網(wǎng)建模理論[1]
Petri網(wǎng)最早由C.A.Petri于1962年在其博士論文中提出,既可以用于確定性建模,也可用于邏輯性的定性建模,已成為控制理論處理離散時(shí)間系統(tǒng)的有力工具。Petri網(wǎng)的主要優(yōu)點(diǎn)為:采用網(wǎng)絡(luò)圖的形式模擬組織、結(jié)構(gòu)和狀態(tài)的變化,能有效模擬異步并發(fā)系統(tǒng),直接分析模型實(shí)體中是否具有諸如死鎖、狀態(tài)空間無(wú)限等異常特征。
Petri網(wǎng)是一個(gè)三元數(shù)組N=(P,T,F(xiàn)),其中P是節(jié)點(diǎn)集合,T是變遷節(jié)點(diǎn)的集合,F(xiàn)是p→t,t→p的有向弧線集合。設(shè)p∈P,t∈T,I(t)={P|(p,t)∈F}稱為t的輸入庫(kù)所集,0(t)={|(t,p)∈F}稱為輸出庫(kù)所集。設(shè)庫(kù)所集P={p1,p2,p3,p4,p5},變遷集 T={t1},流關(guān)系 F={(p1,t1),(p2,t1),(p3,t1),(t1,p4),(t1,p5)},則Petri網(wǎng)圖如圖1所示:
2.儀器設(shè)備共享平臺(tái)的Petri網(wǎng)模型
儀器共享平臺(tái)涉及的工作流程主要分為儀器信息管理流程、儀器預(yù)約審核流程,其業(yè)務(wù)流程包括三個(gè)庫(kù)所儀器管理員(P1)、教保部門管理人員(P2)、普通用戶(P3)。儀器管理員對(duì)應(yīng)變遷集T1={新增儀器(t1)、刪除儀器(t2)、審核預(yù)約(t3)},教保部門管理人員對(duì)應(yīng)變遷集T2={審核新增儀器 (t4)、審核刪除儀器 (t5)、審核預(yù)約(t6)},普通用戶對(duì)應(yīng)變遷集T3={預(yù)約儀器(t7)},所以此Petri網(wǎng)模型為庫(kù)所集P={P1,P2,P3},變遷集T={t1,t2,t3,t4,t5,t6,t7}。儀器共享平臺(tái)的流關(guān)系如下:
圖1 Petri網(wǎng)圖
建立Petri網(wǎng)模型如圖2所示:
圖2 儀器共享平臺(tái)Petri模型
經(jīng)過(guò)對(duì)以上模型的分析,可知此模型主要實(shí)現(xiàn)了儀器預(yù)約和審核:流關(guān)系(P3,t7,P1,t3,P2,t6,P3),(P3,t7,P1,t3,P3);儀器新增和審核:流關(guān)系(P1,t1,P2,t4,P3),(P1,t1,P2,t4,P1);儀器報(bào)廢和審核:流關(guān)系(P1,t2,P2,t5,P3),(P1,t2,P2,t5,P1)等三個(gè)工作流程。根據(jù)模型圖可以看出此模型的每一個(gè)任務(wù)都是可執(zhí)行的,每一個(gè)任務(wù)都是可觸發(fā)的;如果在運(yùn)行環(huán)節(jié)存在拒絕申請(qǐng)(即值為0的變遷),則模型可立刻轉(zhuǎn)入終止?fàn)顟B(tài),并通過(guò)一個(gè)返回信息返回初始狀態(tài),而中斷后的位置都是空的;沒(méi)有死任務(wù),也就是說(shuō)Petri網(wǎng)是活的。[2]據(jù)以上分析,可知此模型的設(shè)計(jì)是合理的。
在建立共享平臺(tái)Petri模型的基礎(chǔ)上,開(kāi)發(fā)了一套基本B/S架構(gòu)的高校大型儀器設(shè)備共享平臺(tái)。儀器共享平臺(tái)嚴(yán)格按照MVC模式設(shè)計(jì),以求在最大程度上實(shí)現(xiàn)程序的 “解耦”。技術(shù)實(shí)現(xiàn)上采用流行的 Spring+ Struts+Hibernate(SSH2)架構(gòu)。[3]總體結(jié)構(gòu)分為控制器層(Controller)、服務(wù)器層(Service)、模型層(Model)、DAO層和視圖層(View)??傮w架構(gòu)如圖3所示:
圖3 儀器共享平臺(tái)架構(gòu)圖
控制器層(Controller)負(fù)責(zé)處理Dispatch Servlet分發(fā)的請(qǐng)求,根據(jù)請(qǐng)求的數(shù)據(jù),分發(fā)給相應(yīng)的業(yè)務(wù)處理模塊,儀器共享平臺(tái)的Petri網(wǎng)模型共有三個(gè)處所,對(duì)應(yīng)建立三個(gè)控制器類——普通用戶控制器、儀器管理員控制器、教保管理控制器。這樣通過(guò)判斷用戶角色,把請(qǐng)求分發(fā)給相應(yīng)的控制器處理。每一個(gè)處所都對(duì)應(yīng)自己的變遷集,每一個(gè)控制器的控制轉(zhuǎn)發(fā)函數(shù)對(duì)應(yīng)變遷集中的每一個(gè)變遷,以實(shí)現(xiàn)Petri網(wǎng)模型的業(yè)務(wù)流關(guān)系。[4]
服務(wù)器層主要用來(lái)實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯處理,對(duì)應(yīng)Petri網(wǎng)模型中具體的每一個(gè)變遷的實(shí)現(xiàn),因此建立了三個(gè)服務(wù)器類——普通用戶服務(wù)器、儀器管理員服務(wù)器、教保管理服務(wù)器。每一類中根據(jù)變遷集中的變遷建立相應(yīng)的業(yè)務(wù)處理函數(shù)。
DAO層和Model層主要是用來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。Model層對(duì)應(yīng)數(shù)據(jù)庫(kù)中某個(gè)表的實(shí)體類,這樣把一個(gè)數(shù)據(jù)表對(duì)象化。DAO層是數(shù)據(jù)訪問(wèn)層,對(duì)已經(jīng)對(duì)象化的數(shù)據(jù)庫(kù)表的Model對(duì)象進(jìn)行增刪查改等數(shù)據(jù)操作。
視圖層又稱為表現(xiàn)層,主要用來(lái)把業(yè)務(wù)處理結(jié)果以某種形式展示給用戶,主要采用JSP+Struts2標(biāo)簽實(shí)現(xiàn)。
1.系統(tǒng)設(shè)計(jì)思路
高校儀器設(shè)備共享平臺(tái)的設(shè)計(jì)目標(biāo)是最大程度地實(shí)現(xiàn)儀器共享,提高高校儀器設(shè)備的使用效率,并提供智能決策功能,為教學(xué)保障部門購(gòu)置儀器設(shè)備提供數(shù)據(jù)支撐和決策參考。因此參照前面建立的儀器設(shè)備共享平臺(tái)的Petri網(wǎng)模型,主要實(shí)現(xiàn)了儀器查詢預(yù)約與審核、儀器信息實(shí)時(shí)管理、儀器報(bào)廢實(shí)時(shí)管理、智能決策支撐等功能模塊。
2.系統(tǒng)實(shí)現(xiàn)
儀器設(shè)備共享平臺(tái)的Petri網(wǎng)模型包含三個(gè)處所,因此相應(yīng)建立三個(gè)用戶角色——教保管理員、儀器管理員、普通用戶。根據(jù)Petri網(wǎng)模型的流關(guān)系實(shí)現(xiàn)了儀器預(yù)約申請(qǐng)、儀器預(yù)約審核、儀器新增申請(qǐng)、儀器刪除申請(qǐng)等功能。與工作流無(wú)關(guān)的功能包括用戶權(quán)限管理、智能決策支撐等共用功能。系統(tǒng)的整個(gè)組織結(jié)構(gòu)如圖4所示:
圖4 高校儀器設(shè)備共享平臺(tái)組織結(jié)構(gòu)圖
(1)用戶權(quán)限管理
不同用戶角色利用各自的用戶名、密碼登錄后,轉(zhuǎn)換到相應(yīng)的用戶角色頁(yè)面。并把用戶名保存在Session中。Session是一種記錄客戶狀態(tài)的會(huì)話機(jī)制,當(dāng)客戶端瀏覽器訪問(wèn)服務(wù)器時(shí),服務(wù)器把客戶端信息記錄在服務(wù)器上,客戶端瀏覽器再次訪問(wèn)時(shí)只需從Session中查找該客戶狀態(tài)就可以了。[5]為了防止用戶在同一臺(tái)電腦上登錄多個(gè)用戶以致造成用戶角色的誤操作,用戶權(quán)限管理模塊還實(shí)現(xiàn)了單點(diǎn)登錄功能,即一臺(tái)電腦只允許一個(gè)用戶登錄。
(2)儀器查詢預(yù)約
儀器設(shè)備使用情況復(fù)雜多變,為了提高儀器使用效率,采用智能搜索算法,對(duì)用戶輸入的預(yù)約查詢條件進(jìn)行智能化搜索,并把最佳方案排在搜索結(jié)果的最前面供用戶選擇。
(3)儀器預(yù)約審核
儀器的預(yù)約審核采用兩級(jí)審核,先由儀器管理員根據(jù)儀器使用情況對(duì)預(yù)約申請(qǐng)進(jìn)行審核,然后報(bào)教保管理員審核備案。
(4)儀器信息增刪
儀器信息的增加和刪除,先由儀器管理員提出申請(qǐng),報(bào)批教保管理員,教保管理員審核通過(guò)前,儀器信息被鎖定,不能被普通用戶預(yù)約使用。此外,為了避免儀器信息更新的滯后,本平臺(tái)留有和財(cái)務(wù)、采購(gòu)等部門對(duì)接的數(shù)據(jù)接口,以實(shí)現(xiàn)對(duì)儀器信息的全程監(jiān)控。
(5)智能決策支撐
為了便于教保人員更好地掌握儀器使用情況,為以后儀器的管理和采購(gòu)提供數(shù)據(jù)支撐,平臺(tái)提供了智能決策支撐功能。利用數(shù)理統(tǒng)計(jì)的方法,引入數(shù)學(xué)期望、標(biāo)準(zhǔn)差、二階矩等統(tǒng)計(jì)量,[6]實(shí)現(xiàn)對(duì)儀器使用情況、用戶預(yù)約情況的數(shù)據(jù)分析,并可以把數(shù)據(jù)導(dǎo)出為SSPS統(tǒng)計(jì)軟件支持的SAV格式和Excel文件,便于用戶使用自己熟悉的軟件對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步的分析。
本文在確保平臺(tái)實(shí)用性的基礎(chǔ)上,開(kāi)發(fā)了一套B/S架構(gòu)的儀器設(shè)備共享平臺(tái)管理系統(tǒng)。開(kāi)發(fā)平臺(tái)為JAVA EE,采用流行的Spring+Struts+Hibernate輕量級(jí)架構(gòu)具體實(shí)現(xiàn)平臺(tái)各功能,數(shù)據(jù)庫(kù)采用的是 SQL Server 2005,應(yīng)用服務(wù)器采用Tomcat。圖5為教保管理員用戶界面:
圖5 儀器設(shè)備共享平臺(tái)——教保管理員界面
本文利用Petri網(wǎng)建模理論建立了高校儀器設(shè)備共享平臺(tái)的模型。從此模型出發(fā),采用SSH2實(shí)現(xiàn)了高校儀器設(shè)備共享管理系統(tǒng)。目前此系統(tǒng)已投入運(yùn)行,有效解決了儀器設(shè)備信息使用效率低、信息更新滯后、統(tǒng)計(jì)數(shù)據(jù)難以提供決策支撐等問(wèn)題。
[1]袁崇義.Petri網(wǎng)原理與應(yīng)用[M].北京:電子工業(yè)出版社,2005.3:128.
[2]汪家常,徐昶,季小明,計(jì)勇.基于工作流的高校學(xué)費(fèi)管理系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用與軟件,2012(6).
[3]陽(yáng)雪峰,陳文臣.JavaW eb 2.0基于Spring、Struts、Hibernate輕量級(jí)架構(gòu)開(kāi)發(fā)[M].北京:機(jī)械工業(yè)出版社, 2009.1:183.
[4]歐陽(yáng)俊,楊貫中,陶勇,唐金鵬,申奧.基于對(duì)象Petri網(wǎng)工作流建模的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2005 (10).
[5]盧漢鵬.JSP開(kāi)發(fā)技術(shù)詳解[M].北京:化學(xué)工業(yè)出版社,2010.7:191.
[6]魏宗舒等.概率論與數(shù)理統(tǒng)計(jì)教程[M].北京:高等教育出版社,2003:227-231.
(編輯:王天鵬)
TP315
A
1673-8454(2015)15-0087-03