1. 引言
为了适应高技术条件下现代战争的需要,实现能打仗,打胜仗的目标,部队财务管理和保障走信息化道路是时代的必然选择。部队财会人员信息的管理是现代部队人员信息管理的重要组成部分之一。为了实现对人员信息的有效管理,学者们进行了大量相关的研究 [1] - [3] 。其中,文献 [1] 在业务逻辑层采用J2EE模式,整体架构采用B/S/S体系结构,表现层以JSP技术为载体设计开发了医疗保险管理信息系统参保人员管理模块;文献 [2] 基于B/S模式,采用ASP.NET开发了外籍人员基础信息管理系统;文献 [3] 也采用ASP.NET技术开发了社区外来人员信息管理系统。最近几年兴起的Docker容器技术 [4] ,具有跨平台、可移植、简单易用等优点,然而在人员信息管理系统中应用还不多。为了有效的管理财会人员,实现财会人员信息全生命周期的安全管理,为领导选人用人提供决策依据,本文从部队财会人员管理的实际情况出发,按照软件工程的思想,采用迭代开发的思想,并将先进的Docker容器技术引入并应用到系统研发过程中,成功开发了一套适用于部队实际需求的部队财会人员信息管理系统,该系统人机界面友好,功能全面实用,操作便捷,响应时间短,已经部署上线,运行效果得到部队官兵的一致好评。
2. 现状与需求分析
2.1. 现状分析
部队财会人员主要包括部队持证人员(拥有会计从业资格证人员)、有从事财务工作命令但无证人员、地方人员等等。每个财会人员除基本信息外,还具有变更、调转、继续教育、奖励、处罚、备注、照片、个人受训情况、入伍后任职经历、个人科研成果情况等一系列辅助信息,这些主辅信息相互关联,共同描述部队财会人员的自然面貌、学习经历、工作表现、工作成绩等情况。当前部队财会人员基本信息和辅助信息的获取是相对比较容易的,然而这些信息存放在不同单位,有的甚至依靠纯手工操作进行数据的管理,形成许多信息孤岛,信息无法互通、共享,大大削弱了部队财会人员信息管理的效能。为了提高对部队财会人员信息的管理,亟需开发一套部队财会人员信息管理系统。
2.2. 需求分析
仔细分析当前现状,该系统实现对全部队财会人员信息的全生命周期管理,主要对人员基本信息和辅助信息进行分类管理,提供新增、编辑、修改、审核、多条件复合查询、实力统计、人员结构分析等功能,为总部财务机关科学选人用人提供科学的辅助决策依据。财会人员管理系统中基本信息和辅助信息以及其它需求总结如下:
1) 基本信息
财会人员基本信息除包含有从业资格管理系统中规定的身份证号、证书档案号码、姓名等50多个字段外,还包括入伍时间、籍贯、婚姻状况、军衔、职务、职级、任现职时间、办公电话、单位邮编、现分管财务业务岗位、现分管财务业务时间、第一学历、从事财务工作时间等字段。民族、政治面貌、国家地区、学历、学位等有固定属性值的字段,应采用标准代码录入,以便与其它系统的数据顺利进行数据交换。
为标识财会人员离休、退休、转业、复员、牺牲、病故等各种情况,需设计一个字段来存储记录档案的上述状态。另外,还需设计字段存储是否发放证件的状态信息,以方便查询统计。每个人的基本信息应可由该子系统管理员使用数据批量导入机制或系统提供的信息采集系统先录入于系统。
系统需设置基本信息的增、删、改、查界面,子系统管理员或区域管理员利用此界面,可实现对基本信息的浏览、查询定位、审查、修改、存储等操作。修改时,系统提供信息的“保存”和“提交”确认提示功能。保存时,系统不进行数据的有效性校验;提交时,对所有新增加数据的“有效性”和“不可空性”进行验证,凡检查到不正确的数据项或必填项为空,系统拒绝提交归档,并给出明确提示。当用户每定位一条基本信息时,可弹出子窗口同时查看选定人员的其余辅助信息。
2) 变更信息
变更信息较为重要,用以自动记录财会人员基本信息中关键属性值修改前后的变化信息,以及重要操作的结果信息,便于以后信息的核查。例如张三的身份证号、学历发生了变化,原来登记的是学员证号,学历是本科,现在是军官证号,学历为研究生。在对张三的档案信息进行更新时,关键属性的属性值前后变化应自动记录。另外,一些关键操作的处理结果也应记录在册,如:何时进行了补换证操作,何时进行了证件吊销,何时进行了证件年检等。一个财会人员可能会有若干条变更信息,其与基础信息表是一对多的关系。系统对变更情况应提供浏览、查询、打印及批量删除的功能。
3) 调转信息
调转信息主要记录的是财会人员调转过程中的历史信息。一个财会人员可能会有若干条调转信息,也可能一条也没有。调转信息和基础信息表是一对多的关系。如张三某年从国防科技大学调入武警工程大学,又从武警工程大学调入武警总部,等等。系统对调转信息应提供信息的浏览、查询、批量删除、打印功能。
4) 继续教育信息
记录每个财会人员继续教育的年度、通过时间、学时、学习方式等信息。一个财会人员可能有若干条继续教育信息。和基础信息表是一对多的关系。同样的,系统对继续教育信息应提供浏览、增加、删除、查询、打印功能。
5) 奖惩、备注信息
对财会人员的奖惩及其它备注信息记录存档,如个人历年奖惩记录、工作实绩、综合评价等。一个财会人员可能会有若干条备注信息。该备注信息和基础信息表是一对多的关系。系统对奖罚及备注信息应提供浏览、增加、删除、查询、打印等功能。
6) 附件信息
记录每个财会人员照片、历史影像等。其中要说明附件的类型,存储附件内容。目前附件信息只有照片,以后根据未来业务附件需求可以继续扩展。照片使用二代身份证照片,格式为JPG,文件尺寸不超过20k。和基础信息表目前是一对一的关系,以后可扩展为一对多关系。系统对附件信息应提供浏览、增加、删除、查询、打印功能。
7) 工作经历信息
记录每个财会人员的工作经历,其中需要管理的信息包括:工作起始时间、结束时间、工作单位、从事的岗位等信息。和基础信息表目前是一对多的关系。
8) 多角度多方式搜索查询
部队财会人员基本信息和辅助信息的管理是基础,统计分析是目的,搜索查询是手段。为了对财会人员的数质量情况进行有效的分析,需开发设计多种查询方式,例如常用关键字查询、组合字段查询、自定义查询可以满足用户多样化查询的需求。
9) 数据统计分析
数据统计分析是系统的一个重要功能。部队财会人员管理系统需在对全部队财会人员基本信息和辅助信息有序管理的基础上,进行数据挖掘,实时查询和统计,并以二维或三维图形直观显示统计结果。
10) 权限管理
由于本系统工作在多用户数据共享的模式下,提供高度的数据共享是系统实现的目标之一,本系统需单独设计角色和权限管理模块。管理员可根据财会人员在实际工作中承担的不同任务,相应的设置不同的数据和系统功能。
3. 系统设计
系统设计的主要任务是在系统分析的基础上,科学合理地进行逻辑模型和物理模型设计,解决系统“怎么做”的问题。
3.1. 总体设计
考虑到浏览器/服务器结构部署方便、访问简单,数据实时等特点,系统拟采用B/S体系结构进行设计。系统在功能架构上分为四个层次,如图1所示。
由图1可以看出,系统分为如下4层。
1) 展现层。不同角色的用户登录系统后,可以进入不同的功能界面,访问响应的数据。
2) 应用层。开发丰富的前后台功能模块,满足财会人员管理所有业务处理的需求。
3) 服务层。开发多个通用的功能组件,增强了系统的通用型和灵活性,为系统应用扩展提供技术支撑。
4) 数据层。主要包括基础数据等业务运行数据。
3.2. 功能设计
根据部队财会人员管理和训练要求,依据国家和部队财务部技术规范和业务流程,系统采用结构化设计方法,将该系统设计为功能单一、相对独立的多模块组成结构,如图2所示。
设计时尽量做到模块间具有简单的层次结构关系,模块间联系弱,模块内联系强。在这种层次型的模块结构中,模块之间的调用关系非常明确与简单,每个模块可以单独地被理解、编写、调试、查错与修改,一个模块的错误不易向其他模块扩散。理论分析与实践经验都证明,这种层次型的模块结构具有较高的正确性、可靠性、可理解性和可维护性。由图2可以看出,系统设置为系统管理、财务人员管理、会计从业资格管理、调转管理四个功能模块。
1) 系统管理。系统管理是系统运行的基础。在该模块中可以设置系统角色、用户管理、基础参数初始设置和管理、单位管理、行政区划管理、军种信息管理、日志管理等等。
2) 财务人员管理。财务人员管理包括对从事财务工作人员的基本信息和辅助信息进行管理,并提供简单查询、自定义查询、固定字段组合查询等多种查询方式以及统计分析和图表显示功能。
3) 会计从业人员管理。会计从业人员管理主要对拟持证、已发证的人员进行管理。包括基本信息、7项辅助信息、发放证件、证件打印、证件注销、证件补换、年审以及持证人员数质量情况统计分析的功能。
4) 调转管理。财会人员的调转是一个相对复杂的过程,系统单独将其开发为一个功能模块。调转管理的状态有5种,分别是:① 待调出;② 确认调出处理;③ 待调入;④ 确认调入;⑤ 调出未接收处理。针对5种状态,系统开发相应的5个子功能模块。
3.3. 数据库设计
将需求分析得到的用户需求抽象为概念模型和逻辑模型,并进行数据表设计,系统设计的40个数据表,具体如表1所示。

Figure 2. System function design structure
图2. 系统功能设计结构图
表1所示的数据表之间的关系如图3所示,图3(a)给出了基础信息表(ACNT_BASE)与多个辅助信息表之间的关系;图3(b)给出了系统管理功能模块中涉及的多个数据库表之间的关系。为了增加系统的可移植性、以及数据控制和功能操作设置的灵活性,系统定义了数据角色表、系统菜单表、系统许可表、系统数据权限控制表、基础信息表等数据库表。
4. 系统实现
系统在Visual Studio 2010 环境下进行开发,利用Microsoft SQL Server 2008建立数据库,运用ASP.NET4.0技术设计WEB程序,使用ADO.NET实现数据连接。鉴于篇幅原因,下面给出部分实现界面。如图4和图5所示。
该原型系统已经部署试运行约三个月,运行结果表明该系统实现了对部队财会人员信息全生命周期的网络化化管理,实现了基本信息和辅助信息的互联互通,增加了数据的保鲜度,大大提高了人员信息管理的效率(约50%)。另外,人员信息的统计和分析功能为管理人员选人、用人、培养队伍提供了有力的参考依据,受到了用户的一致好评。
表1. 数据信息表
(a)(b)
Figure 3. Tables and their relation
图3. 系统表及关系图
5. 应用的关键技术
为了保持本系统的先进性,增加系统的实用性,确保软件满足用户基本需求以及扩展需求,按时保质的交付给用户,系统采用了迭代式开发思想,并将Docker容器技术引入并应用到部队财会人员信息管理系统中。
5.1. 基于Docker容器技术的部队财会人员信息管理系统架构
Docker容器技术 [4] 是当今云计算市场上的一种主流技术,是近两三年兴起的开源容器引擎,源代码托管在GitHub上。Docker重新定义了程序的研发、测试、交付和部署的过程,即开发者可以打包他们的应用及依赖包到一个可移植的容器中,可以发布到任何流行的Linux机器上,也可实现虚拟化。容器完全采用沙箱(Sand Box)机制,相互间没有任何的接口,性能开销非常低,几乎为零,同时不依赖任何语言、框架包括系统。基于Docker提供的环境一致性和标准化,本系统在开发过程中使用Git工具对Docker镜像进行版本控制,并对整个应用运行环境实现版本控制,实现了一旦出现故障可快速回滚。另外需要说明的是,Docker容器没有管理程序的额外开销,与底层共享操作系统,系统负载更低,性能更加优良,在同等条件下可运行更多的应用实例,可以更充分地利用系统资源。基于Docker技术的架构图,如图6所示。
由图6可以看出,Docker Daemon是Docker架构中的用户接口,主要用于接受来自客户端的请求,然后根据不同的请求分发给Daemon的不同模块并执行相应的操作。Docker通过不同Driver模块来实现对Docker容器执行环境的定制。例如,当需要创建Docker容器时,可以从Docker Registry中下载镜像,并通过镜像管理驱动GraphDriver将下载的镜像以Graph的形式存储在本地;如果需要为Docker容器创建网络环境时,则通过网络管理驱动NetworkDriver创建并配置Docker容器网络环境;如果需要限制Docker容器运行资源或执行用户指令等操作时,则通过ExecDriver来完成。其中,LibContainer是一个独立的容器管理包,NetworkDriver和ExecDriver都通过LibContainer来实现对容器的具体操作,并通过namespace子系统实现容器间的资源隅离和利用cgroup实现对容器的资源限制。当运行容器的命令执行完毕后,一个实际的容器就处于运行状态,拥有独立的文件系统,安全且相互隔离的运行环境。
本文将Docker容器技术引入并应用到部队财会人员信息管理系统的设计和开发过程中,避免了平台搭建与维护工作,缩短了系统开发周期,降低了系统运行维护的成本,实现了便捷的运维与部署,使在有限的开发时间内高标准的完成系统的研发成为了可能。
5.2. 系统应用的其他技术
除了将当前先进的Docker技术引入并应用到部队财会人员信息管理系统的开发过程中,系统还采用了其他多项主流、成熟的技术,包括:基于角色的访问控制技术、数据加密技术以及在线分析处理等技术,简单介绍如下。
1) 基于角色的访问控制技术
为了防止对部队财会人员信息管理系统进行未授权的访问,本系统采用了基于角色的访问控制技术 [5] ,将权限与角色相关联,不同的角色获得不同的权限,访问不同的功能和数据模块。系统支持新权限的增加、已有权限的回收。基于角色的访问控制,减小了系统授权管理的复杂性,降低了系统管理开销,大大提高了系统安全策略的灵活性。

Figure 6. Architecture based on Docker
图6. 基于Docker技术的架构图
2) 数据加密技术
为了进一步增加系统的安全保密性,系统对数据库中重要的数据进行了加密。加密的基本要求是①:加密后的数据,不能明显增加磁盘存储空间;② 加解密时间应该足够短,减少用户等待时间且不影响系统检索、查询、更新等操作。鉴于此,本文采用了目前比较成熟的MD5 (Message Digest Algorithm)数据加密算法 [6] [7] ,该算法具有压缩性、容易计算、抗修改以及强抗碰撞等特点。以用户登录为例,当用户登录的时候,系统把用户输入的密码进行MD5 Hash运算,然后再去与保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过该步骤,系统在并不知道用户密码明码的情况下就可以判定用户登录系统的合法性,这也避免用户密码被具有系统管理员权限的用户知道。
3) 在线分析处理技术
本文将在线分析处理技术引入并应用到系统中,提供灵活的数据分析、直观的数据操作、以及可视化的分析结果的展示,使得财务管理员对于大量的基础数据信息,快速准确做出正确的判断,并通过图表形象展示。
6. 结语
为了实现对部队财会人员信息全生命周期的有效管理,本文基于B/S模式,利用.Net框架,运用Docker等先进成熟的技术设计开发了部队财会人员信息管理的信息系统,节省了平台搭建、维护的成本,缩短了系统研发的周期。该系统大大提高了财会人员管理的自动化程度。随着本系统的不断运行,将积累大量的数据,下一步将利用更多先进的数据挖掘算法,对日常业务数据进行进一步的挖掘分析,为财务人员提供多角度的辅助决策信息。
基金项目
国家自然科学基金项目(61309022, 51503224);陕西省自然科学基金项目(2013JQ8031, 2015JQ6224),武警工程大学基础研究项目(WJY201602);武警工程大学军事理论研究课题(JLX201680)。