路 遙 范雪松
(北京大學(xué)計(jì)算中心 北京 100871)
全校教職工代表大會(huì)作為高校教職工行使民主權(quán)利和民主管理學(xué)校的重要組織形式,對(duì)高校的發(fā)展具有重大意義。結(jié)合教職工代表大會(huì)提案工作的特點(diǎn)[1-2],設(shè)計(jì)開(kāi)發(fā)基于多層次結(jié)構(gòu)的提案管理信息系統(tǒng)(以下簡(jiǎn)稱提案系統(tǒng)),是提高學(xué)校提案工作效率和質(zhì)量的迫切需要,能夠增強(qiáng)提案工作的規(guī)范性、科學(xué)性,使提案整體過(guò)程更加透明化,也可對(duì)多年的提案資料進(jìn)行保存和歸納,有利于學(xué)校在前進(jìn)的道路上不斷自我總結(jié)改進(jìn)和發(fā)展[3]。
提案系統(tǒng)是一系列相互銜接、自動(dòng)按照邏輯判斷進(jìn)行流轉(zhuǎn)的多種業(yè)務(wù)活動(dòng)構(gòu)成的一個(gè)整體。從流程圖中可以看出(圖1),提案系統(tǒng)涉及部門及人員非常廣泛,且邏輯流程較為復(fù)雜多樣,每一個(gè)關(guān)節(jié)都對(duì)處理的準(zhǔn)確性、時(shí)效性有較高要求。因此需要對(duì)以下這些難點(diǎn)和問(wèn)題進(jìn)行思考,并提出合適的解決方案。
圖1 提案系統(tǒng)業(yè)務(wù)流程
(1) 數(shù)據(jù)實(shí)時(shí)化流程化問(wèn)題。一個(gè)提案被提出撰寫后,經(jīng)歷多個(gè)階段的流轉(zhuǎn),系統(tǒng)要能夠及時(shí)針對(duì)提案狀態(tài)的變化做出正確的判斷和下一步的流轉(zhuǎn)。同時(shí)在某些階段,同一時(shí)期可能會(huì)有多個(gè)角色對(duì)同一提案的狀態(tài)進(jìn)行修改,因此做到提案的實(shí)時(shí)狀態(tài)更新非常有必要[4]。
(3) 系統(tǒng)集成及擴(kuò)展問(wèn)題。我校已經(jīng)推廣使用了全校辦公系統(tǒng),全校各部門及院系的各類辦公業(yè)務(wù)都會(huì)在該系統(tǒng)上完成。因此與辦公系統(tǒng)數(shù)據(jù)對(duì)接,是處理好提案工作、真正將好的建議和意見(jiàn)落到實(shí)處的關(guān)鍵[6]。
提案系統(tǒng)架構(gòu)上采用多層次結(jié)構(gòu)的設(shè)計(jì),以滿足不同需要,如圖2所示。其中最上面的應(yīng)用層為不同身份的使用者提供應(yīng)用服務(wù),并與OA系統(tǒng)(OFFICE AUTOMATION全校辦公自動(dòng)化系統(tǒng))無(wú)縫結(jié)合,使用戶層面在使用本系統(tǒng)時(shí)流暢有序,感覺(jué)不到任何斷點(diǎn)的存在。同時(shí)可以綜合接入多種應(yīng)用模式,如互聯(lián)網(wǎng)、郵件、移動(dòng)通信等,具有較高的易用性。
圖2 系統(tǒng)架構(gòu)圖
控制層主要職能是鏈接統(tǒng)一身份認(rèn)證,并進(jìn)行用戶管理與權(quán)限控制。統(tǒng)一身份認(rèn)證對(duì)接了學(xué)校的相應(yīng)管理系統(tǒng),直接使用學(xué)校門戶的信息進(jìn)行登錄。其中權(quán)限的管理也劃分了多個(gè)層次,比如本部門職能管理本部門權(quán)限下的用戶操作、學(xué)??梢詫?duì)部門進(jìn)行管理等。
業(yè)務(wù)層將綜合征管資源性能參數(shù)和故障事件集中展示,通過(guò)前瞻式監(jiān)控和本地糾錯(cuò),以及一旦出現(xiàn)問(wèn)題后的自動(dòng)修復(fù),可以最大限度地提高管理人員的工作效率,實(shí)現(xiàn)系統(tǒng)管理的自動(dòng)化。
控制層是整個(gè)系統(tǒng)管理的樞紐,它對(duì)資源監(jiān)控產(chǎn)生的事件進(jìn)行集中的分析和統(tǒng)一的處理,并傳遞給展示層;利用數(shù)據(jù)庫(kù)對(duì)歷史數(shù)據(jù)做匯總、修剪入庫(kù),生成各類性能、事件統(tǒng)計(jì)分析報(bào)表,并根據(jù)這些信息對(duì)異常狀態(tài)和故障情況產(chǎn)生報(bào)警和進(jìn)行記錄[7]。
數(shù)據(jù)層主要負(fù)責(zé)底層數(shù)據(jù)的存儲(chǔ)與交換,系統(tǒng)通過(guò)采集豐富的數(shù)據(jù)來(lái)獲取業(yè)務(wù)系統(tǒng)中各個(gè)組成設(shè)備相關(guān)的數(shù)據(jù)信息[8]。
系統(tǒng)具有很好的兼容性,可在Windows、Linux和Unix操作系統(tǒng)中正常使用。采用先進(jìn)且成熟的MVC模式分布式架構(gòu)[9]:數(shù)據(jù)庫(kù)、采集平臺(tái)和Web服務(wù)可以分布在任意的三臺(tái)服務(wù)器上[10]。
為進(jìn)一步掌握工程地質(zhì)情況,對(duì)施工地層進(jìn)行復(fù)勘,確定各地層界限,繪制準(zhǔn)確的地質(zhì)剖面圖,提供合理的防滲墻施工參數(shù),本項(xiàng)目進(jìn)行了10個(gè)先導(dǎo)孔的施工,完成造孔進(jìn)尺350.34 m。先導(dǎo)孔的施工及成果分析為本項(xiàng)目采取泥漿、鋸末固壁,減少回鉆進(jìn)尺等措施,為合理解決復(fù)雜地質(zhì)條件下的施工的問(wèn)題提供了科學(xué)依據(jù)。
提案系統(tǒng)的整體流程共劃分為五個(gè)功能模塊:代表管理功能可針對(duì)個(gè)人信息進(jìn)行維護(hù)更新;提案征集管理功能,涵蓋了填寫提案、收集意見(jiàn)、修改及提交提案等功能,同時(shí)可以針對(duì)提案設(shè)置時(shí)效性;提案評(píng)審管理功能,主要角色為提案工作委員會(huì),處于提案流傳過(guò)程的中心樞紐環(huán)節(jié),可以對(duì)提案進(jìn)行評(píng)審、退回、轉(zhuǎn)辦等多項(xiàng)操作;與辦公系統(tǒng)集成功能,當(dāng)提案進(jìn)入到實(shí)質(zhì)性處理過(guò)程時(shí),可以自動(dòng)轉(zhuǎn)入全校的OA系統(tǒng)中,按照現(xiàn)有辦公流程進(jìn)行處理,并接受督查流程控制,跟蹤提案的處理效果;報(bào)表導(dǎo)入導(dǎo)出管理功能,可以通過(guò)指定信息進(jìn)行提案的高級(jí)檢索,并支持歷史數(shù)據(jù)以指定格式導(dǎo)入至提案系統(tǒng)。
提案系統(tǒng)具備以下幾個(gè)特點(diǎn):
(1) 功能完整全面。提案系統(tǒng)以提案處理流轉(zhuǎn)的全過(guò)程為主線,并在每個(gè)關(guān)鍵節(jié)點(diǎn)設(shè)計(jì)了修改潤(rùn)色、征集附議、審議轉(zhuǎn)辦、處理結(jié)案、評(píng)分等多個(gè)環(huán)節(jié)的處理,功能完整,滿足了各個(gè)角色對(duì)于提案工作的要求,真正意義上實(shí)現(xiàn)全過(guò)程上的信息化管理。
(2) 數(shù)據(jù)實(shí)時(shí)更新與立體式查詢。在某些處理的節(jié)點(diǎn)上,可能會(huì)在同一時(shí)期有多個(gè)不同身份的使用者更新同一數(shù)據(jù)信息,為此系統(tǒng)采取多項(xiàng)措施保障數(shù)據(jù)在不同層面的準(zhǔn)確性、一致性。同時(shí)會(huì)對(duì)所有更新數(shù)據(jù)的操作進(jìn)行記錄,既支持縱向在整體提案流程上追蹤數(shù)據(jù)的變化過(guò)程,也支持橫向上同一個(gè)角色查詢對(duì)哪些數(shù)據(jù)進(jìn)行操作,還支持在某一關(guān)鍵節(jié)點(diǎn)上所有角色對(duì)于所有提案的操作情況,從而實(shí)現(xiàn)交叉式立體化的數(shù)據(jù)管理。
(3) 流程獨(dú)立化。將功能與流程進(jìn)行分離,以提案的整體流轉(zhuǎn)流程為核心,從而實(shí)現(xiàn)全流程的管理設(shè)置、跟蹤監(jiān)控、優(yōu)化調(diào)整。系統(tǒng)和辦公系統(tǒng)對(duì)接后,仍然抓住流程這根主線,設(shè)計(jì)建立了追蹤機(jī)制和回退機(jī)制,使每一個(gè)提案都能得到有效的關(guān)注和處理。
(4) 多角色的協(xié)同與獨(dú)立。在提案系統(tǒng)中,需要對(duì)多個(gè)角色進(jìn)行不同的功能劃分和權(quán)限分配。這些角色既需要有相對(duì)獨(dú)立的操作要求,又需要在一些環(huán)節(jié)協(xié)同合作,共同完成數(shù)據(jù)的處理,這就需要靈活地進(jìn)行功能權(quán)限的分配,同時(shí)做好追蹤和操作記錄等工作。
業(yè)務(wù)流轉(zhuǎn)是提案系統(tǒng)的核心問(wèn)題,由實(shí)體(Entity)、參與者(Participant)、流程定義(Plow Definition)、流程引擎(Engine)四部分組成。每位代表可以提出或修改多份提案,也可以就其他代表提案進(jìn)行附議,因此系統(tǒng)將每一份有效提案作為流程實(shí)體,所有不同角色用戶作為流程參與者。流程定義遵照提案規(guī)則,由業(yè)務(wù)層的流程管理模塊根據(jù)不同階段和參數(shù)自動(dòng)采用相應(yīng)算法實(shí)施,因此將其看作為流程引擎,控制每個(gè)流程線程的創(chuàng)建、修改、掛起、激活、反饋、終止等流程狀態(tài)的變換,并對(duì)流程進(jìn)行追蹤導(dǎo)航,識(shí)別關(guān)鍵節(jié)點(diǎn)。使用的兩個(gè)主要算法有:
(1) 基于多標(biāo)簽的適配算法:分別根據(jù)流傳的不同階段、參數(shù)、用戶角色、流轉(zhuǎn)方向等設(shè)置并行的立體交叉式標(biāo)簽,根據(jù)流程定義解析出該流程當(dāng)前的節(jié)點(diǎn)位置及狀態(tài),并以此判定并賦予當(dāng)前流程的用戶操作權(quán)限。同時(shí)調(diào)用系統(tǒng)架構(gòu)中不同層次相應(yīng)模塊對(duì)應(yīng)的相應(yīng)機(jī)制,更新流程標(biāo)簽,進(jìn)入下步驟流轉(zhuǎn)過(guò)程。
(2) 回溯追蹤算法:如果流轉(zhuǎn)過(guò)程中遇到需要回溯追蹤時(shí)自動(dòng)啟用該算法,對(duì)流程節(jié)點(diǎn)相應(yīng)信息和狀態(tài)進(jìn)行判斷,分析可以回溯的節(jié)點(diǎn)標(biāo)志。同時(shí)審核用戶操作權(quán)限是否非法,若通過(guò)則調(diào)用相關(guān)模塊進(jìn)行處理,同時(shí)設(shè)置流程標(biāo)志,重新啟動(dòng)流轉(zhuǎn)。
針對(duì)提案系統(tǒng)的流轉(zhuǎn)算法,特別設(shè)計(jì)以下技術(shù)來(lái)實(shí)現(xiàn):
(1) 節(jié)點(diǎn)關(guān)聯(lián)技術(shù):流程包含一個(gè)開(kāi)始事件和一個(gè)結(jié)束事件,中間由若干人工節(jié)點(diǎn)、系統(tǒng)節(jié)點(diǎn)和子流程節(jié)點(diǎn)組合而成。節(jié)點(diǎn)通過(guò)一定規(guī)則(包括人工審核規(guī)則和系統(tǒng)規(guī)則)進(jìn)行連接,并提供一個(gè)默認(rèn)順序流,每個(gè)流程模型是一個(gè)計(jì)算機(jī)格式化文件,通過(guò)國(guó)際標(biāo)準(zhǔn)工作流組織發(fā)布的框架進(jìn)行存儲(chǔ)和交換。
(2) 標(biāo)簽替換技術(shù):針對(duì)提案各個(gè)流程節(jié)點(diǎn)設(shè)置“標(biāo)簽”屬性,用以方便追蹤某項(xiàng)提案的進(jìn)展過(guò)程,并通過(guò)系統(tǒng)建立的數(shù)據(jù)庫(kù)字段,方便開(kāi)發(fā)人員編寫表單。在提案的處理過(guò)程中可以隨時(shí)啟動(dòng)流程數(shù)據(jù)通過(guò)標(biāo)簽替換技術(shù)追蹤更新相應(yīng)的數(shù)據(jù)庫(kù)字段。
本文根據(jù)提案管理信息系統(tǒng)特點(diǎn),采用了共享數(shù)據(jù)庫(kù)、共享數(shù)據(jù)模式的多層次數(shù)據(jù)存儲(chǔ)模型,如圖3所示。用戶角色位于應(yīng)用層,彼此的提案數(shù)據(jù)及權(quán)限是相互獨(dú)立且內(nèi)容不同的。通過(guò)建立多層次的數(shù)據(jù)存儲(chǔ)模型,將數(shù)據(jù)間的屬性及內(nèi)容進(jìn)行分層剝離及分類,每層數(shù)據(jù)共享一個(gè)存儲(chǔ)空間,對(duì)于同一層的數(shù)據(jù)用戶而言沒(méi)有區(qū)別,并且可以支持?jǐn)?shù)據(jù)的擴(kuò)展性與可伸縮性。該模型包括數(shù)據(jù)應(yīng)用層、邏輯存儲(chǔ)層、基礎(chǔ)數(shù)據(jù)層3個(gè)層次,各用戶操作及流程節(jié)點(diǎn)的數(shù)據(jù)被分層提取后存儲(chǔ),使得應(yīng)用層只需要考慮業(yè)務(wù)流轉(zhuǎn),無(wú)需關(guān)心具體數(shù)據(jù)存儲(chǔ)及邏輯。
圖3 多層次數(shù)據(jù)存儲(chǔ)模型
數(shù)據(jù)應(yīng)用層采用數(shù)據(jù)定制視表,根據(jù)使用者的不同角色及權(quán)限按需定制數(shù)據(jù),滿足個(gè)性化需求,使用者無(wú)需了解數(shù)據(jù)映射關(guān)系及邏輯流程,同時(shí)會(huì)根據(jù)當(dāng)前相關(guān)數(shù)據(jù)流傳節(jié)點(diǎn)給出下一步允許操作的提示,可用性強(qiáng)。
邏輯存儲(chǔ)層承擔(dān)主要數(shù)據(jù)分析及流轉(zhuǎn)功能,承上啟下,將數(shù)據(jù)與邏輯分層剝離,作進(jìn)一步數(shù)據(jù)處理。采用元數(shù)據(jù)驅(qū)動(dòng)的方式進(jìn)行數(shù)據(jù)的流程追蹤,并將數(shù)據(jù)標(biāo)簽化,實(shí)現(xiàn)標(biāo)簽數(shù)據(jù)的對(duì)應(yīng)和轉(zhuǎn)換。它具有較好的模塊化特點(diǎn),易于擴(kuò)展。
基礎(chǔ)數(shù)據(jù)層采用標(biāo)簽化的數(shù)據(jù)存儲(chǔ)方式,是多用戶數(shù)據(jù)存儲(chǔ)的底層抽象,提供了靈活的放置策略,通過(guò)云映射關(guān)系,使得節(jié)點(diǎn)存儲(chǔ)位置與位置映射關(guān)系相對(duì)獨(dú)立,當(dāng)存儲(chǔ)位置發(fā)生變化時(shí),只要保持相對(duì)映射關(guān)系不變,即可保證上層邏輯存儲(chǔ)數(shù)據(jù)相對(duì)穩(wěn)定。
在設(shè)計(jì)開(kāi)發(fā)過(guò)程中特別采用了一系列技術(shù)創(chuàng)新手段,為提案系統(tǒng)的開(kāi)發(fā)及使用提供了有力的支持:
(1) 高性能異步處理技術(shù):能夠在無(wú)鎖的情況下實(shí)現(xiàn)網(wǎng)絡(luò)的并發(fā)操作。針對(duì)可能產(chǎn)生大吞吐量的網(wǎng)絡(luò)數(shù)據(jù),系統(tǒng)性能最高可達(dá)到處理100 KB的網(wǎng)絡(luò)數(shù)據(jù)用時(shí)在1微秒左右,可以更高效地處理提案所產(chǎn)生的數(shù)據(jù),并且提高統(tǒng)計(jì)分析的性能。
(2) 新型圖像縮放技術(shù):可以輕松地創(chuàng)建較為復(fù)雜的自定義動(dòng)畫效果以及提供友好的SEO搜索方式,摒棄了Flash的網(wǎng)頁(yè)設(shè)計(jì),可以輕松添加動(dòng)畫、擲入、放大、搖拍等效果。不僅能夠給使用者提供更高層的視覺(jué)體驗(yàn),而且頁(yè)面加載的速度也會(huì)達(dá)到更高的標(biāo)準(zhǔn)。
(3) SSM斷點(diǎn)技術(shù):Simple State Manager(SSM)是為響應(yīng)式網(wǎng)站設(shè)計(jì)的、輕量級(jí)并易用的JavaScript客戶端腳本語(yǔ)言狀態(tài)管理器[11]。通過(guò)設(shè)置斷點(diǎn)可以使全部腳本語(yǔ)言從該斷點(diǎn)開(kāi)始執(zhí)行。一旦遇到下一個(gè)斷點(diǎn),SSM會(huì)禁用之前的狀態(tài)代碼,觸發(fā)執(zhí)行新的狀態(tài)代碼。這樣的管理模式支持插件的后續(xù)擴(kuò)展,不依賴任何JavaScript框架,從而讓頁(yè)面布局編碼更加簡(jiǎn)潔,具備較高的可擴(kuò)展性。
(4) 系統(tǒng)注入技術(shù):通過(guò)反轉(zhuǎn)依賴關(guān)系,將系統(tǒng)的上下文依賴關(guān)系注入到已設(shè)計(jì)好的類中。系統(tǒng)注入技術(shù)是即將完成的新一代系統(tǒng)開(kāi)發(fā)的關(guān)鍵組成部分,也是系統(tǒng)注入組件管理的核心,提升了代碼的松耦合能力,使代碼編寫及執(zhí)行效率得到了很大程度的提升。
通過(guò)針對(duì)提案流程全過(guò)程的仔細(xì)分析,進(jìn)行了科學(xué)合理的架構(gòu)設(shè)計(jì),以及關(guān)鍵技術(shù)的選用,從而構(gòu)建了基于多層次結(jié)構(gòu)的提案系統(tǒng)信息管理平臺(tái),實(shí)現(xiàn)了從提案構(gòu)思撰寫,再到提案流轉(zhuǎn),最后處理終結(jié)的全過(guò)程信息化。系統(tǒng)具備良好的可擴(kuò)展性,實(shí)現(xiàn)了信息共享,為學(xué)校教代表提供了良好的信息化服務(wù)。截止目前,該系統(tǒng)運(yùn)行穩(wěn)定,已連續(xù)服務(wù)于多屆全校教職工代表大會(huì),是高校在信息化建設(shè)中的一次有力探索和提升。