路 遙 范雪松
(北京大學計算中心 北京 100871)
全校教職工代表大會作為高校教職工行使民主權利和民主管理學校的重要組織形式,對高校的發展具有重大意義。結合教職工代表大會提案工作的特點[1-2],設計開發基于多層次結構的提案管理信息系統(以下簡稱提案系統),是提高學校提案工作效率和質量的迫切需要,能夠增強提案工作的規范性、科學性,使提案整體過程更加透明化,也可對多年的提案資料進行保存和歸納,有利于學校在前進的道路上不斷自我總結改進和發展[3]。
提案系統是一系列相互銜接、自動按照邏輯判斷進行流轉的多種業務活動構成的一個整體。從流程圖中可以看出(圖1),提案系統涉及部門及人員非常廣泛,且邏輯流程較為復雜多樣,每一個關節都對處理的準確性、時效性有較高要求。因此需要對以下這些難點和問題進行思考,并提出合適的解決方案。

圖1 提案系統業務流程
(1) 數據實時化流程化問題。一個提案被提出撰寫后,經歷多個階段的流轉,系統要能夠及時針對提案狀態的變化做出正確的判斷和下一步的流轉。同時在某些階段,同一時期可能會有多個角色對同一提案的狀態進行修改,因此做到提案的實時狀態更新非常有必要[4]。
(3) 系統集成及擴展問題。我校已經推廣使用了全校辦公系統,全校各部門及院系的各類辦公業務都會在該系統上完成。因此與辦公系統數據對接,是處理好提案工作、真正將好的建議和意見落到實處的關鍵[6]。
提案系統架構上采用多層次結構的設計,以滿足不同需要,如圖2所示。其中最上面的應用層為不同身份的使用者提供應用服務,并與OA系統(OFFICE AUTOMATION全校辦公自動化系統)無縫結合,使用戶層面在使用本系統時流暢有序,感覺不到任何斷點的存在。同時可以綜合接入多種應用模式,如互聯網、郵件、移動通信等,具有較高的易用性。

圖2 系統架構圖
控制層主要職能是鏈接統一身份認證,并進行用戶管理與權限控制。統一身份認證對接了學校的相應管理系統,直接使用學校門戶的信息進行登錄。其中權限的管理也劃分了多個層次,比如本部門職能管理本部門權限下的用戶操作、學校可以對部門進行管理等。
業務層將綜合征管資源性能參數和故障事件集中展示,通過前瞻式監控和本地糾錯,以及一旦出現問題后的自動修復,可以最大限度地提高管理人員的工作效率,實現系統管理的自動化。
控制層是整個系統管理的樞紐,它對資源監控產生的事件進行集中的分析和統一的處理,并傳遞給展示層;利用數據庫對歷史數據做匯總、修剪入庫,生成各類性能、事件統計分析報表,并根據這些信息對異常狀態和故障情況產生報警和進行記錄[7]。
數據層主要負責底層數據的存儲與交換,系統通過采集豐富的數據來獲取業務系統中各個組成設備相關的數據信息[8]。
系統具有很好的兼容性,可在Windows、Linux和Unix操作系統中正常使用。采用先進且成熟的MVC模式分布式架構[9]:數據庫、采集平臺和Web服務可以分布在任意的三臺服務器上[10]。
為進一步掌握工程地質情況,對施工地層進行復勘,確定各地層界限,繪制準確的地質剖面圖,提供合理的防滲墻施工參數,本項目進行了10個先導孔的施工,完成造孔進尺350.34 m。先導孔的施工及成果分析為本項目采取泥漿、鋸末固壁,減少回鉆進尺等措施,為合理解決復雜地質條件下的施工的問題提供了科學依據。
提案系統的整體流程共劃分為五個功能模塊:代表管理功能可針對個人信息進行維護更新;提案征集管理功能,涵蓋了填寫提案、收集意見、修改及提交提案等功能,同時可以針對提案設置時效性;提案評審管理功能,主要角色為提案工作委員會,處于提案流傳過程的中心樞紐環節,可以對提案進行評審、退回、轉辦等多項操作;與辦公系統集成功能,當提案進入到實質性處理過程時,可以自動轉入全校的OA系統中,按照現有辦公流程進行處理,并接受督查流程控制,跟蹤提案的處理效果;報表導入導出管理功能,可以通過指定信息進行提案的高級檢索,并支持歷史數據以指定格式導入至提案系統。
提案系統具備以下幾個特點:
(1) 功能完整全面。提案系統以提案處理流轉的全過程為主線,并在每個關鍵節點設計了修改潤色、征集附議、審議轉辦、處理結案、評分等多個環節的處理,功能完整,滿足了各個角色對于提案工作的要求,真正意義上實現全過程上的信息化管理。
(2) 數據實時更新與立體式查詢。在某些處理的節點上,可能會在同一時期有多個不同身份的使用者更新同一數據信息,為此系統采取多項措施保障數據在不同層面的準確性、一致性。同時會對所有更新數據的操作進行記錄,既支持縱向在整體提案流程上追蹤數據的變化過程,也支持橫向上同一個角色查詢對哪些數據進行操作,還支持在某一關鍵節點上所有角色對于所有提案的操作情況,從而實現交叉式立體化的數據管理。
(3) 流程獨立化。將功能與流程進行分離,以提案的整體流轉流程為核心,從而實現全流程的管理設置、跟蹤監控、優化調整。系統和辦公系統對接后,仍然抓住流程這根主線,設計建立了追蹤機制和回退機制,使每一個提案都能得到有效的關注和處理。
(4) 多角色的協同與獨立。在提案系統中,需要對多個角色進行不同的功能劃分和權限分配。這些角色既需要有相對獨立的操作要求,又需要在一些環節協同合作,共同完成數據的處理,這就需要靈活地進行功能權限的分配,同時做好追蹤和操作記錄等工作。
業務流轉是提案系統的核心問題,由實體(Entity)、參與者(Participant)、流程定義(Plow Definition)、流程引擎(Engine)四部分組成。每位代表可以提出或修改多份提案,也可以就其他代表提案進行附議,因此系統將每一份有效提案作為流程實體,所有不同角色用戶作為流程參與者。流程定義遵照提案規則,由業務層的流程管理模塊根據不同階段和參數自動采用相應算法實施,因此將其看作為流程引擎,控制每個流程線程的創建、修改、掛起、激活、反饋、終止等流程狀態的變換,并對流程進行追蹤導航,識別關鍵節點。使用的兩個主要算法有:
(1) 基于多標簽的適配算法:分別根據流傳的不同階段、參數、用戶角色、流轉方向等設置并行的立體交叉式標簽,根據流程定義解析出該流程當前的節點位置及狀態,并以此判定并賦予當前流程的用戶操作權限。同時調用系統架構中不同層次相應模塊對應的相應機制,更新流程標簽,進入下步驟流轉過程。
(2) 回溯追蹤算法:如果流轉過程中遇到需要回溯追蹤時自動啟用該算法,對流程節點相應信息和狀態進行判斷,分析可以回溯的節點標志。同時審核用戶操作權限是否非法,若通過則調用相關模塊進行處理,同時設置流程標志,重新啟動流轉。
針對提案系統的流轉算法,特別設計以下技術來實現:
(1) 節點關聯技術:流程包含一個開始事件和一個結束事件,中間由若干人工節點、系統節點和子流程節點組合而成。節點通過一定規則(包括人工審核規則和系統規則)進行連接,并提供一個默認順序流,每個流程模型是一個計算機格式化文件,通過國際標準工作流組織發布的框架進行存儲和交換。
(2) 標簽替換技術:針對提案各個流程節點設置“標簽”屬性,用以方便追蹤某項提案的進展過程,并通過系統建立的數據庫字段,方便開發人員編寫表單。在提案的處理過程中可以隨時啟動流程數據通過標簽替換技術追蹤更新相應的數據庫字段。
本文根據提案管理信息系統特點,采用了共享數據庫、共享數據模式的多層次數據存儲模型,如圖3所示。用戶角色位于應用層,彼此的提案數據及權限是相互獨立且內容不同的。通過建立多層次的數據存儲模型,將數據間的屬性及內容進行分層剝離及分類,每層數據共享一個存儲空間,對于同一層的數據用戶而言沒有區別,并且可以支持數據的擴展性與可伸縮性。該模型包括數據應用層、邏輯存儲層、基礎數據層3個層次,各用戶操作及流程節點的數據被分層提取后存儲,使得應用層只需要考慮業務流轉,無需關心具體數據存儲及邏輯。

圖3 多層次數據存儲模型
數據應用層采用數據定制視表,根據使用者的不同角色及權限按需定制數據,滿足個性化需求,使用者無需了解數據映射關系及邏輯流程,同時會根據當前相關數據流傳節點給出下一步允許操作的提示,可用性強。
邏輯存儲層承擔主要數據分析及流轉功能,承上啟下,將數據與邏輯分層剝離,作進一步數據處理。采用元數據驅動的方式進行數據的流程追蹤,并將數據標簽化,實現標簽數據的對應和轉換。它具有較好的模塊化特點,易于擴展。
基礎數據層采用標簽化的數據存儲方式,是多用戶數據存儲的底層抽象,提供了靈活的放置策略,通過云映射關系,使得節點存儲位置與位置映射關系相對獨立,當存儲位置發生變化時,只要保持相對映射關系不變,即可保證上層邏輯存儲數據相對穩定。
在設計開發過程中特別采用了一系列技術創新手段,為提案系統的開發及使用提供了有力的支持:
(1) 高性能異步處理技術:能夠在無鎖的情況下實現網絡的并發操作。針對可能產生大吞吐量的網絡數據,系統性能最高可達到處理100 KB的網絡數據用時在1微秒左右,可以更高效地處理提案所產生的數據,并且提高統計分析的性能。
(2) 新型圖像縮放技術:可以輕松地創建較為復雜的自定義動畫效果以及提供友好的SEO搜索方式,摒棄了Flash的網頁設計,可以輕松添加動畫、擲入、放大、搖拍等效果。不僅能夠給使用者提供更高層的視覺體驗,而且頁面加載的速度也會達到更高的標準。
(3) SSM斷點技術:Simple State Manager(SSM)是為響應式網站設計的、輕量級并易用的JavaScript客戶端腳本語言狀態管理器[11]。通過設置斷點可以使全部腳本語言從該斷點開始執行。一旦遇到下一個斷點,SSM會禁用之前的狀態代碼,觸發執行新的狀態代碼。這樣的管理模式支持插件的后續擴展,不依賴任何JavaScript框架,從而讓頁面布局編碼更加簡潔,具備較高的可擴展性。
(4) 系統注入技術:通過反轉依賴關系,將系統的上下文依賴關系注入到已設計好的類中。系統注入技術是即將完成的新一代系統開發的關鍵組成部分,也是系統注入組件管理的核心,提升了代碼的松耦合能力,使代碼編寫及執行效率得到了很大程度的提升。
通過針對提案流程全過程的仔細分析,進行了科學合理的架構設計,以及關鍵技術的選用,從而構建了基于多層次結構的提案系統信息管理平臺,實現了從提案構思撰寫,再到提案流轉,最后處理終結的全過程信息化。系統具備良好的可擴展性,實現了信息共享,為學校教代表提供了良好的信息化服務。截止目前,該系統運行穩定,已連續服務于多屆全校教職工代表大會,是高校在信息化建設中的一次有力探索和提升。