刘 海,张瞩熹,张 磊,肖岩平
(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 大规模网络化经费预算评审支撑系统界面
该系统技术先进,性能先进、可靠,能满足大量经费预算项目评审的需要,并可解决现有线下评审中存在的多种问题,能有效提高评审的效率,减少评审经费和人力资源的消耗,具有较高的推广使用价值。将在今后大型国有企事业单位实际运用中对系统多并发能力进行实验改进。