劉 海,張矚熹,張 磊,肖巖平
(1.軍事科學院后勤科學與技術研究所,北京 100071;2.32751 部隊,北京 100036)
我國國有企事業單位數量眾多,規模龐大,每年投入的各類經費逐年上漲,為使經費能得到合理有效地利用,經費預算評審是非常重要的一環。經費預算評審涉及國家多個政府部門和環節,線下流程繁瑣,評審周期長,因評審而產生的人力和物力消耗高,因此,線上評審已經成為大規模評審的發展趨勢。為提高經費預算評審效率,減少人力物力消耗,促進國有企事業單位預算評審工作向信息化和網絡化轉型,研發一套大規模網絡化經費預算評審支撐系統很有必要。通過該系統可為各國有企業、事業單位、政府部門、審計部門、評審專家等開展年度經費預算評審工作提供網絡化軟件工具,提高國有企事業單位經費預算審核的工作效率。系統支持領域專家和評審機關進行智能化評審,滿足對海量經費預算數據的評審,同時系統具有高并發性,可滿足多用戶同時在線進行多個項目的評審[1]。
大規模網絡化經費預算評審支撐系統設計的基本原則有:集中控制、統一管理、按級負責、分級實施。評審主要由國有企事業單位、多個評審部門、審計部門等共同承辦完成。
為了滿足大規模網絡化經費預算評審的業務需要,系統設計了以下功能模塊:
1)評審專家管理。提供系統評審專家的注冊、權限管理,對專家表現進行評分,并能結合專家信息進行綜合分析。
2)預算評審管理。為評審工作提供專家智能抽取、批量項目分工、任務模板管理、評審進度管理、項目經費核算和評審意見匯總等功能。
3)知識庫管理。系統接入商品價格數據和標準文件數據,并構建領域知識模型,提供數據智能查詢、檢索功能。
4)審核流程管理。包括工作流程管理和節點管理。并可以根據需要,對流程進行動態調整,提高評審和審核效率。
5)預算數據分析。提供對歷史數據和年度數據的多維度對比分析功能,維度包括預算科目、年度、部門單位等。
6)系統綜合管理。實現系統安全管理、系統用戶管理、系統日志管理、數據備份恢復等功能。
系統規劃設計為“五層兩體系”的功能架構。其總體框架圖如圖1 所示。“五層”包括基礎設施層、數據資源層、業務服務層、功能視圖層和用戶層。

圖1 系統總體框架圖
基礎設施層為系統運行提供IT 設備和系統基礎運行環境支撐、綜合處理設備、數據共享存儲設備和網絡環境。
數據資源層基于國家企事業單位預算評審工作的數據中心,為系統提供數據存儲、檢索、歸檔和提取等基礎服務,包括知識庫、歷史庫、專家庫、預算庫。
業務服務層為用戶提供各種使用功能,包括專家庫管理子系統、預算評審管理子系統、知識庫管理子系統、審核流程管理子系統、預算數據分析子系統和系統綜合管理子系統,以及專家評審APP 客戶端。
功能視圖層為系統不同角色的用戶提供相應權限的個性化軟件功能視圖和人機交互界面。
用戶層將用戶分為四類,分別為機關領導、各單位業務用戶、評審專家和技術保障人員。
系統基于面向服務的架構體系,功能之間通過協議和接口相連,實現采用Java EE 技術架構的B/S方式和分層設計模式。其技術框架如圖2 所示。

圖2 系統技術框架圖
表現層:基于JSP 和HTML5 開發的用戶接口層,提供與系統連接的外部實體,用戶通過瀏覽器訪問本系統,進行信息填寫、提交請求等操作,同時將請求結果返回至客戶端。通過統計查詢、信息匯總、規則定制、主題/專題分析和報表功能技術為用戶提供數據應用服務。
訪問控制層:基于Spring 框架開發的訪問控制層,提供按照用戶管理和權限控制列表,審核用戶的合法性和訪問權限,保證系統和信息安全。
服務層:采用Spring Boot 和Spring Cloud 技術框架,提供系統功能服務,對外提供數據交換服務、消息服務、會話服務、配置管理服務、權限控制服務、系統監控服務、日志管理服務、智能檢索服務、基于Activiti工作流引擎的工作流程服務和其他服務等[2]。
數據層:采用關系型數據庫MySQL 和ES 檢索庫存儲訪問后臺數據。數據庫系統用于結構化和非結構化信息的存儲和處理,是系統的數據核心。
基礎層:利用網絡環境和應用服務器實現系統的基礎物理環境,提供基于數據庫和業務數據的存儲訪問。應用云技術、Docker 容器技術和K8S 容器技術,為系統提供底層軟件環境的快速部署功能。
系統包括業務管理分系統和綜合支撐分系統。其中業務管理分系統包括專家庫管理子系統、預算評審管理子系統、審核流程管理子系統和專家評審APP 客戶端部分;綜合支撐分系統包括知識庫管理子系統、預算數據分析子系統和系統綜合管理子系統部分。
1)專家庫管理子系統:提供對專家的全流程管理功能。包括專家注冊、權限管理、工作表現評分和專家信息綜合分析功能。
2)預算評審管理子系統:對評審任務流程進行管理,包括針對任務抽取相應專家、進行專家任務分工、管理評審任務、管理評審進度、項目經費核算、評審意見匯總等功能。
3)審核流程管理子系統:基于項目審核流程對項目進行全流程管理。分為流程定義管理、流程部署管理、流程實例管理、流程監控等功能。
4)專家評審APP 客戶端:專家可通過該手機APP 端對預算項目進行評審、核算、提出意見和投票決定項目是否通過評審等基本操作。
5)知識庫管理子系統:提供財務領域商品價格數據、標準制度法規。包括知識庫資源建設、知識庫維護管理和知識庫檢索功能。
6)預算數據分析子系統:基于歷史庫中的歷史預算數據和本年度預算數據,從預算科目、部門單位、年度比對等維度對事業經費進行科學分析和可視化展示。
7)系統綜合管理子系統:為管理部門提供綜合管理功能,包括用戶信息、模板的維護管理和系統安全管理等功能。
系統采用分布式架構,實現時可創建多個工程,將功能拆分為多個服務,可獨立部署、擴展和伸縮。可根據系統數據庫數據情況和用戶數量進行橫向擴展。
系統服務具有分布性,每個服務都可以獨立部署,服務之間交互通過網絡進行通信。每個服務都可以集群方式部署,并可針對部分節點進行硬件和軟件擴容,具備一定的伸縮能力。系統通過共享網關,每個服務都可以作為共享資源對外提供服務。每個服務根據需要可以對外發布共享資源的訪問接口,并可允許外部系統訪問[3-5]。
評審涉及上千萬級條目,數據量大,針對這一情況,系統采用數據庫分庫分表的方式,將數據分散在不同的數據庫中,使得數據庫的數據量變小,緩解單一數據庫的性能問題,從而解決數據庫數據量猛增而導致的訪問性能變慢的問題[6-7]。系統通過數據庫,將每個庫部署到不同的數據庫服務器上。隨著評審數據的增加,出現歷史庫或其他庫數據激增的情況,系統支持通過水平分庫的方式,按年限或類別的方式進行水平分庫,分擔訪問壓力,提高數據讀寫速度,解決單庫存儲量和性能瓶頸。
同時,系統針對每個數據庫構建合理的數據表,利用垂直分表技術和數據特征,構建合理的數據表。對于數據量特別大的表,可利用水平分表技術按ID序號等規則進行拆分,優化單一表數據量過大產生的性能問題,同時避免了IO爭搶,減少鎖表的機率[8]。
系統參考TOGAF 領域模型理論,結合經費預算知識管理現狀,開展領域知識模型設計[9]。在領域模型中,將一般知識抽象為實體和關系,映射到信息化建設成果知識管理領域,將知識建模歸結為知識實體和知識實體關系兩個方面,模型概念圖如圖3所示。

圖3 領域模型基本概念圖
通過領域思想確定知識領域所涉及的關注維度,將TOGAF 架構的建議模型映射并裁剪到知識模型中,細化表達形式和屬性定義,完成知識模型體系的整體定義。
系統根據隨機抽取策略算法進行專家的智能抽取[10],從而提高項目評審的質量。系統根據評審指定約束條件,通過算法從專家庫中抽取項目評審專家,通過算法優化實現無重復、無回溯的專家抽取,并借助項目評審專家專業分類抽取所需類別專家,提高抽取的客觀性和科學性。
智能抽取的流程如圖4 所示,系統根據用戶的限定條件隨機抽取符合約束條件(I1)的專家集合(U),然后對該集合的每個專家(Ui)進行判斷,看其是否滿足其他的約束條件(I2),如果不滿足則從專家庫中重新抽取專家進行替換,如果滿足則抽取下一名專家,直到集合中抽取的所有專家滿足約束條件[11]。

圖4 隨機抽取算法流程圖
容器是一種新型虛擬化技術,用于解決虛擬化技術存在一些性能和資源使用效率方面的問題。可以同時將操作系統鏡像和應用程序加載到內存當中。還可以從網絡磁盤進行加載,同時啟動幾十臺鏡像不會對網絡和存儲帶來很大負載。之后的鏡像創建過程只需要指向通用鏡像。
Docker 容器具有以下優勢:更高效地利用系統資源,更快捷的啟動時間,一致的運行環境,支持持續交付與部署,更輕松的遷移應用和更輕松的維護與擴展[12-13]。
應用會涉及很多的容器,這些容器必須跨多個服務器主機進行部署。借助Kubernetes 編排功能,可以構建跨多個容器的應用服務、跨集群調度、擴展這些容器,并長期持續管理這些容器的健康狀況。使用Docker 和Kubernetes 容器可實現系統底層軟件環境的快速部署,利于評審服務環境的快速搭建。
通過微服務,將應用開發重構成微服務,以分離服務,通過API以明確的方式來相互“對話”。每個微服務都是自包含,各自維護自己的數據存儲,可以獨立更新其服務。使用基于微服務的方式使得應用程序開發變得更快更容易管理,更快更容易地部署[14-15]。
Spring Cloud 正是利用了Spring Boot 簡化的能力簡化了分布式系統的基礎設施的開發,比如服務注冊、發現、配置中心、消息總線、負載均衡等,還使得開發風格統一,實現了一鍵式啟動和部署。
系統設計引入了自動化工作流技術,具體體現在:
1)業務流程化。利用工作流技術將服務流程化,方便服務的流程化定制和數據組裝,更好的確保服務質量。
2)服務規范化。工作流的實現將遵照BPEL(業務過程執行語言)規范,在此基礎上實現服務接口的定義,有利于服務的規范化。
3)提高可維護性。工作流的引進,很好的解決了流程變更而帶來的系統代碼的調整。工作流將流程從業務中剝離,使業務和管理人員能夠更直觀的管理流程的變化和執行[16-17]。
該研究設計已經在某大型企業預算評審環節中得到應用驗證,系統實現了支撐百余名專家的在線分布式網絡并發使用,預算數據條目達到了百萬余條,反應良好。典型界面如圖5 所示。

圖5 大規模網絡化經費預算評審支撐系統界面
該系統技術先進,性能先進、可靠,能滿足大量經費預算項目評審的需要,并可解決現有線下評審中存在的多種問題,能有效提高評審的效率,減少評審經費和人力資源的消耗,具有較高的推廣使用價值。將在今后大型國有企事業單位實際運用中對系統多并發能力進行實驗改進。