基于多层次结构的高校教代会提案管理信息系统设计与实现
2019-12-12范雪松
路 遥 范雪松
(北京大学计算中心 北京 100871)
0 引 言
全校教职工代表大会作为高校教职工行使民主权利和民主管理学校的重要组织形式,对高校的发展具有重大意义。结合教职工代表大会提案工作的特点[1-2],设计开发基于多层次结构的提案管理信息系统(以下简称提案系统),是提高学校提案工作效率和质量的迫切需要,能够增强提案工作的规范性、科学性,使提案整体过程更加透明化,也可对多年的提案资料进行保存和归纳,有利于学校在前进的道路上不断自我总结改进和发展[3]。
1 业务需求
提案系统是一系列相互衔接、自动按照逻辑判断进行流转的多种业务活动构成的一个整体。从流程图中可以看出(图1),提案系统涉及部门及人员非常广泛,且逻辑流程较为复杂多样,每一个关节都对处理的准确性、时效性有较高要求。因此需要对以下这些难点和问题进行思考,并提出合适的解决方案。
图1 提案系统业务流程
(1) 数据实时化流程化问题。一个提案被提出撰写后,经历多个阶段的流转,系统要能够及时针对提案状态的变化做出正确的判断和下一步的流转。同时在某些阶段,同一时期可能会有多个角色对同一提案的状态进行修改,因此做到提案的实时状态更新非常有必要[4]。
(3) 系统集成及扩展问题。我校已经推广使用了全校办公系统,全校各部门及院系的各类办公业务都会在该系统上完成。因此与办公系统数据对接,是处理好提案工作、真正将好的建议和意见落到实处的关键[6]。
2 系统设计与实现
2.1 系统架构
提案系统架构上采用多层次结构的设计,以满足不同需要,如图2所示。其中最上面的应用层为不同身份的使用者提供应用服务,并与OA系统(OFFICE AUTOMATION全校办公自动化系统)无缝结合,使用户层面在使用本系统时流畅有序,感觉不到任何断点的存在。同时可以综合接入多种应用模式,如互联网、邮件、移动通信等,具有较高的易用性。
图2 系统架构图
控制层主要职能是链接统一身份认证,并进行用户管理与权限控制。统一身份认证对接了学校的相应管理系统,直接使用学校门户的信息进行登录。其中权限的管理也划分了多个层次,比如本部门职能管理本部门权限下的用户操作、学校可以对部门进行管理等。
业务层将综合征管资源性能参数和故障事件集中展示,通过前瞻式监控和本地纠错,以及一旦出现问题后的自动修复,可以最大限度地提高管理人员的工作效率,实现系统管理的自动化。
控制层是整个系统管理的枢纽,它对资源监控产生的事件进行集中的分析和统一的处理,并传递给展示层;利用数据库对历史数据做汇总、修剪入库,生成各类性能、事件统计分析报表,并根据这些信息对异常状态和故障情况产生报警和进行记录[7]。
数据层主要负责底层数据的存储与交换,系统通过采集丰富的数据来获取业务系统中各个组成设备相关的数据信息[8]。
系统具有很好的兼容性,可在Windows、Linux和Unix操作系统中正常使用。采用先进且成熟的MVC模式分布式架构[9]:数据库、采集平台和Web服务可以分布在任意的三台服务器上[10]。
为进一步掌握工程地质情况,对施工地层进行复勘,确定各地层界限,绘制准确的地质剖面图,提供合理的防渗墙施工参数,本项目进行了10个先导孔的施工,完成造孔进尺350.34 m。先导孔的施工及成果分析为本项目采取泥浆、锯末固壁,减少回钻进尺等措施,为合理解决复杂地质条件下的施工的问题提供了科学依据。
2.2 主要功能及特点
提案系统的整体流程共划分为五个功能模块:代表管理功能可针对个人信息进行维护更新;提案征集管理功能,涵盖了填写提案、收集意见、修改及提交提案等功能,同时可以针对提案设置时效性;提案评审管理功能,主要角色为提案工作委员会,处于提案流传过程的中心枢纽环节,可以对提案进行评审、退回、转办等多项操作;与办公系统集成功能,当提案进入到实质性处理过程时,可以自动转入全校的OA系统中,按照现有办公流程进行处理,并接受督查流程控制,跟踪提案的处理效果;报表导入导出管理功能,可以通过指定信息进行提案的高级检索,并支持历史数据以指定格式导入至提案系统。
提案系统具备以下几个特点:
(1) 功能完整全面。提案系统以提案处理流转的全过程为主线,并在每个关键节点设计了修改润色、征集附议、审议转办、处理结案、评分等多个环节的处理,功能完整,满足了各个角色对于提案工作的要求,真正意义上实现全过程上的信息化管理。
(2) 数据实时更新与立体式查询。在某些处理的节点上,可能会在同一时期有多个不同身份的使用者更新同一数据信息,为此系统采取多项措施保障数据在不同层面的准确性、一致性。同时会对所有更新数据的操作进行记录,既支持纵向在整体提案流程上追踪数据的变化过程,也支持横向上同一个角色查询对哪些数据进行操作,还支持在某一关键节点上所有角色对于所有提案的操作情况,从而实现交叉式立体化的数据管理。
(3) 流程独立化。将功能与流程进行分离,以提案的整体流转流程为核心,从而实现全流程的管理设置、跟踪监控、优化调整。系统和办公系统对接后,仍然抓住流程这根主线,设计建立了追踪机制和回退机制,使每一个提案都能得到有效的关注和处理。
(4) 多角色的协同与独立。在提案系统中,需要对多个角色进行不同的功能划分和权限分配。这些角色既需要有相对独立的操作要求,又需要在一些环节协同合作,共同完成数据的处理,这就需要灵活地进行功能权限的分配,同时做好追踪和操作记录等工作。
2.3 流程管理
业务流转是提案系统的核心问题,由实体(Entity)、参与者(Participant)、流程定义(Plow Definition)、流程引擎(Engine)四部分组成。每位代表可以提出或修改多份提案,也可以就其他代表提案进行附议,因此系统将每一份有效提案作为流程实体,所有不同角色用户作为流程参与者。流程定义遵照提案规则,由业务层的流程管理模块根据不同阶段和参数自动采用相应算法实施,因此将其看作为流程引擎,控制每个流程线程的创建、修改、挂起、激活、反馈、终止等流程状态的变换,并对流程进行追踪导航,识别关键节点。使用的两个主要算法有:
(1) 基于多标签的适配算法:分别根据流传的不同阶段、参数、用户角色、流转方向等设置并行的立体交叉式标签,根据流程定义解析出该流程当前的节点位置及状态,并以此判定并赋予当前流程的用户操作权限。同时调用系统架构中不同层次相应模块对应的相应机制,更新流程标签,进入下步骤流转过程。
(2) 回溯追踪算法:如果流转过程中遇到需要回溯追踪时自动启用该算法,对流程节点相应信息和状态进行判断,分析可以回溯的节点标志。同时审核用户操作权限是否非法,若通过则调用相关模块进行处理,同时设置流程标志,重新启动流转。
针对提案系统的流转算法,特别设计以下技术来实现:
(1) 节点关联技术:流程包含一个开始事件和一个结束事件,中间由若干人工节点、系统节点和子流程节点组合而成。节点通过一定规则(包括人工审核规则和系统规则)进行连接,并提供一个默认顺序流,每个流程模型是一个计算机格式化文件,通过国际标准工作流组织发布的框架进行存储和交换。
(2) 标签替换技术:针对提案各个流程节点设置“标签”属性,用以方便追踪某项提案的进展过程,并通过系统建立的数据库字段,方便开发人员编写表单。在提案的处理过程中可以随时启动流程数据通过标签替换技术追踪更新相应的数据库字段。
3 系统方案
3.1 数据存储模型
本文根据提案管理信息系统特点,采用了共享数据库、共享数据模式的多层次数据存储模型,如图3所示。用户角色位于应用层,彼此的提案数据及权限是相互独立且内容不同的。通过建立多层次的数据存储模型,将数据间的属性及内容进行分层剥离及分类,每层数据共享一个存储空间,对于同一层的数据用户而言没有区别,并且可以支持数据的扩展性与可伸缩性。该模型包括数据应用层、逻辑存储层、基础数据层3个层次,各用户操作及流程节点的数据被分层提取后存储,使得应用层只需要考虑业务流转,无需关心具体数据存储及逻辑。
图3 多层次数据存储模型
数据应用层采用数据定制视表,根据使用者的不同角色及权限按需定制数据,满足个性化需求,使用者无需了解数据映射关系及逻辑流程,同时会根据当前相关数据流传节点给出下一步允许操作的提示,可用性强。
逻辑存储层承担主要数据分析及流转功能,承上启下,将数据与逻辑分层剥离,作进一步数据处理。采用元数据驱动的方式进行数据的流程追踪,并将数据标签化,实现标签数据的对应和转换。它具有较好的模块化特点,易于扩展。
基础数据层采用标签化的数据存储方式,是多用户数据存储的底层抽象,提供了灵活的放置策略,通过云映射关系,使得节点存储位置与位置映射关系相对独立,当存储位置发生变化时,只要保持相对映射关系不变,即可保证上层逻辑存储数据相对稳定。
3.2 关键技术
在设计开发过程中特别采用了一系列技术创新手段,为提案系统的开发及使用提供了有力的支持:
(1) 高性能异步处理技术:能够在无锁的情况下实现网络的并发操作。针对可能产生大吞吐量的网络数据,系统性能最高可达到处理100 KB的网络数据用时在1微秒左右,可以更高效地处理提案所产生的数据,并且提高统计分析的性能。
(2) 新型图像缩放技术:可以轻松地创建较为复杂的自定义动画效果以及提供友好的SEO搜索方式,摒弃了Flash的网页设计,可以轻松添加动画、掷入、放大、摇拍等效果。不仅能够给使用者提供更高层的视觉体验,而且页面加载的速度也会达到更高的标准。
(3) SSM断点技术:Simple State Manager(SSM)是为响应式网站设计的、轻量级并易用的JavaScript客户端脚本语言状态管理器[11]。通过设置断点可以使全部脚本语言从该断点开始执行。一旦遇到下一个断点,SSM会禁用之前的状态代码,触发执行新的状态代码。这样的管理模式支持插件的后续扩展,不依赖任何JavaScript框架,从而让页面布局编码更加简洁,具备较高的可扩展性。
(4) 系统注入技术:通过反转依赖关系,将系统的上下文依赖关系注入到已设计好的类中。系统注入技术是即将完成的新一代系统开发的关键组成部分,也是系统注入组件管理的核心,提升了代码的松耦合能力,使代码编写及执行效率得到了很大程度的提升。
4 结 语
通过针对提案流程全过程的仔细分析,进行了科学合理的架构设计,以及关键技术的选用,从而构建了基于多层次结构的提案系统信息管理平台,实现了从提案构思撰写,再到提案流转,最后处理终结的全过程信息化。系统具备良好的可扩展性,实现了信息共享,为学校教代表提供了良好的信息化服务。截止目前,该系统运行稳定,已连续服务于多届全校教职工代表大会,是高校在信息化建设中的一次有力探索和提升。