APP下载

基于工作流的基站建设管理系统设计与实现

2015-06-23孟宪光

西安邮电大学学报 2015年1期
关键词:管理器基站管理系统

刘 毓, 孟宪光

(西安邮电大学 通信与信息工程学院, 陕西 西安 710121)

基于工作流的基站建设管理系统设计与实现

刘 毓, 孟宪光

(西安邮电大学 通信与信息工程学院, 陕西 西安 710121)

为解决基站建设过程中工作效率低的问题,设计基于工作流的基站建设管理系统,该系统使用MySql数据管理建立数据库,采用java语言设计工作流引擎类,spring和hibernate框架搭建系统平台,Tomcat服务器部署系统运行环境,对基站建设进度进行监控和对建设过程中数据信息完成统计分析。

工作流;工作流引擎;工作流设计器;工作流管理系统

随着4G网络的商用,各大运营商在基站建设方面的投资规模不断加大,基站类型也越来越丰富,运营商要做到对每个基站的建设进度进行监控的同时,还要对建设过程中的数据进行统计分析,因此,增加了工作难度。如今市场已经有一些基于工作流的商用管理系统[1-2],例如文献[1]提出的科研管理系统和文献[2]提出的铁路客运站管理系统,可以对某些类型的工作流程进行有效监控和管理,降低工作复杂度,提高管理效率,但是针对基站建设业务方面的工作流管理系统仍未开发。

目前,运营商大多使用OA(Office Automation)系统[3]管理日常工作和对数据进行统计分析,由此可以使得各种数据文档实现电子化,从而降低在手工办公情况下数据检索的难度,但是这种管理系统不能对各个基站建设进度进行有效管理,在数据统计方面花费过多的精力以及流程监控过程效率低。为解决此问题,设计基于工作流的基站建设管理系统。

该系统整体功能,以基站建设的流程业务为背景设计,核心部件是工作流引擎,其中工作流引擎类采用JAVA编程语言实现。前台页面通过HTML+CSS的方式展示,使用JS(JavaScript)脚本语言实现可视化自定义工作流设计器,后台数据库采用小型关联式数据库管理系统MySql建立,基础平台使用JavaEE中的spring和hibernate框架搭建,最后使用Tomcat服务器完成系统的部署。

1 工作流基站建设管理系统设计方案

1.1 基站建设工作流程

对某运营商的业务需求进行分析,可得到其基站建设的整个工作流程,按顺序包括:设计站点录入、设计院查看设计、土建发包、租赁意向录入、铁塔发包、项目经理审核、签订租赁协议、地勘、土建设计、桩基施工、测桩发包、拉拔发包、传输发包、外电发包、安装铁塔、施工完成、验收、第一次付款、审计、整改、终验、第二次付款、基站建设完成。在基站建设的过程中每个环节以上一个环节结束为开始标志,各个发包环节需要其他承接方工作人员参与完成,在系统开启时在该环节需要向各个单位推送相应的任务,使得多个部门之间的工作人员能协调工作。

1.2 系统整体架构设计

基站建设管理系统整体架构[4-5]如图1所示。在JAVAEE平台的基础上开发,并设计一个轻量级的工作流引擎。在系统的结构上,采用MVC(Model View Controller)[6-7]开发模式,业务的实现上,采用B/S(Browser/Server)模式。系统结构的表示层,通过使用FreeMarker技术实现,业务逻辑控制层,通过Spring框架实现,数据访问层,通过Hibernate框架实现对底层数据的连接访问。表示层和业务层,通过DispatcherServlet控制器进行连接,业务层和数据访问层,通过DAO(Data Access Object)接口连接。DBMS(Database Management System)使用一个开放源码的小型关联式数据库管理系统MySql。

图1 基于工作流的基站建设管理系统架构图

1.3 系统整体功能设计

该管理系统采用分层模式,主要功能模块包括“系统后台管理”“基站管理”“统计分析管理”“合同管理”“材料管理”以及“我的关注”。图2是本系统功能结构图。

(1) 系统后台管理模块

系统后台管理模块维护整个系统运行所需数据,可分为若干子模块。其中,组织机构模块管理整个系统所需参与的部门及人员数据;权限管理模块,将系统的功能按照权限划分并授予相应的权限,方便参与人员的使用;基础数据管理模块维护基站建设环节中所需的各种数据;流程设计模块根据约定的业务流程,设计工作流程;流程监控模块对开启的流程实例的进度进行实时的监控、挂起。

(2) 基站管理模块

基站管理模块主要用于管理和维护基站建设过程中的数据,包括新建基站模块、基站维护模块和基站查询模块。其中,新建基站模块管理工作流程的开启;基站维护模块维护基站建设过程中的相关数据;基站查询模块管理基站查询的数据。

(3) 统计分析管理模块

统计分析管理模块提供相关人员按照各种角度统计相关的功能,包括基站统计分析、承接单位统计分析和基站建设超期统计分析。

(4) 合同管理模块

合同管理模块提供了基站建设过程中所签订的合同信息的录入、查询和维护功能。

(5) 材料管理模块

材料管理模块提供了基站建设过程中所需材料的信息管理功能,包括材料的录入、领用归还和材料平衡。

(6) “我的关注”模块

“我的关注”模块提供参与人员查看自己的待办任务、自己所参与以及开启的基站信息的功能。

2 关键问题与解决方案

本系统的重点是工作流程控制管理部分,当业务流程设计好之后,只需相关人员开启流程 (标志基站建设的开始),之后的各个环节就会有相应的工作人员收到待办任务。各部门的工作人员在用自己的账号登陆系统后,若看到有自己的待办任务,就说明此环节是本部门处理,且系统会在这一环节处理完后自动向下一环节的处理人推送相关的待办任务,减少人为通知操作。在流程监控部分,管理人员可实时看到各基站建设过程进度,及时发现问题,故各部门只需要关注本部门的待办任务,减少关注流程部分投入时间,提高工作效率。

工作流技术的实现要经过3个阶段:映射、建模和管理。映射阶段实现业务流程确定;建模阶段建立一个业务流程的组织模型,生成流程定义和实例化流程;管理阶段运行并管理各个业务系统模块,使工作流系统得到实施和监控。针对以上3个阶段,本系统要解决的关键问题有:可视化流程设计器的设计、工作流引擎的设计,数据库的设计。本文针对所解决的问题给出采用的技术以及实现过程。

2.1 可视化自定义工作流设计器的设计

为方便用户对流程的自定义、设计和修改,系统采用了一个基于Web[8]的jBPM[9](Java Business Process Management)流程设计器。该流程设计器,采用JS(JavaScript)脚本语言、面向对象的编程方式开发,引用强大的Raphael矢量图形库和JQuery框架操作DOM对象,动态生成包含Div等元素的HTML代码,最终设计出支持开始、结束、分支、合并、判断(决策)、任务等元模型的jBPM流程设计器。

图3是包含以上工作流元模型工作流程的设计过程。在工具集选择所需的元模型,将其拖拉到工作区,点击节点在其属性框中设置对应的属性,使用转换按钮将这些节点连接起来,组成一个完整的业务流程,最后点击保存按钮,将所有的配置信息生成符合JPDL(JBoss jBPM Process Definition Language)规范的流程定义文件。在流程保存时,系统将自定义完成的工作流图形的样式、形态、位置以及各种参数和变量值,按照事先定义的规则转换成相应的数据,存入流程信息表中。在对工作流进行管理时,系统通过对之前的流程定义文件进行解析,再现已完成的工作流图形,这样就实现了对工作流定义的可视化管理。

图3 工具集及简单流程

2.2 工作流引擎设计与实现

工作流引擎[10-11]是整个工作流部分的核心部件,主要完成流程定义解析和流程运行控制的功能。具体的设计和实现可分为:流程解析器、流程管理器、流程导航器、活动管理器、任务管理器、应用调用管理器、组织管理器、日志管理器和和时间管理器等模块。工作流引擎的核心部分,通过流程管理器、活动管理器、流程导航器和任务管理器之间的协作进行流程的运行控制和状态转换以及任务流转。

(1) 流程解析器的实现

使用DOM(Document Object Model)解析器解析存储有流程信息的XML格式的文件,将以 XML 格式表达的流程定义信息转换为内部 Java 对象,为流程管理器、流程导航器、活动管理器等提供流程定义的引用接口。

(2) 流程管理器的实现

当用户提出实例化指定流程定义的请求后,流程管理器先根据解析的流程定义信息判断请求是否有效,通过验证后开始实例化操作和开启流程,并将实例信息在日志中记录。当开始活动结束后,交由流程导航器进行条件判断和路由操作,找到后续活动后,交由活动管理器处理。

(3) 流程导航器的实现

流程导航器提供流程导航,主要包括路由、条件判断等。根据当前活动获得流程定义和活动定义的信息,并通过解析流程定义获得当前活动的流转(Transaction)。若Transaction不存在,说明此活动为流程结束活动,通知流程管理器结束该流程;否则判断Transaction上定义的条件,查找定义条件为真的节点(node),对node进行控制连接符路由。

(4) 任务管理器的实现

任务管理器主要负责任务项的创建、分配、接受、完成、销毁等。从流程定义的参与者列表中解析流程执行者的信息,通过组织管理器分析执行者所关联到的用户,按照指定的分配策略给关联用户生成任务项;当接受任务的用户无法完成工作,需交由其他人员代理时,任务管理器为代理用户分配相应的任务项;当任务项完成后,将工作记录从数据库中移除,并通知相关所属活动。

图4是系统工作流引擎核心部分的UML图。其中引擎类IEngin提供了各种服务的接口;流程实例服务类IProcessInstanceService提供了开启流程、创建子流程、获得流程实例和关闭流程实例的方法;贮藏服务类IRepositoryService提供了创建流程、获得流程定义文件、获得最新版本流程等方法;实例活动服务类IHistoryQueryService提供了历史实例查询、历史活动查询等方法;当前活动服务类ITaskService提供了完成当前任务、创建任务查询、获得后续活动、获得环节参与者信息等方法;流程变量服务类型IVariableService提供了设置变量值、获得变量值等方法。以上及各类通过引擎类的调用实现了不同部件之间的协调工作。

图4 工作流引擎核心部分UML图

2.3 数据库设计

系统数据库[12]中存储的数据主要有流程定义数据、流程实例数据、组织模型数据、历史日志数据等几类,关键数据关系如图5所示。

图5 数据关系图

对部分数据库表的功能和数据项说明如下。

(1) 流程定义表:记录系统所定义的流程信息,包含流程定义号、流程名、创建时间、创建状态、版本号、业务类型等数据项。

(2) 流程信息表:与流程定义表一一对应,保存所定义流程的详细信息,包含流程定义号、流程详细信息(符合JPDL规范的流程定义信息) 等数据项。

(3) 流程实例信息表:存储系统中开启的所有流程实例信息,包含实例号、实例名称、流程定义号、执行状态、创建人、创建时间等数据项。

(4) 当前任务信息表:实时更新当前开启流程所停留的环节信息,包含实例号、实例名称、任务类型、当前环节名称、当前环节处理人、执行状态、任务起止时间等数据项。

(5) 流程变量信息表:记录每个流程开启时的所有变量值,供流程判断环节进行参考,决定后续流程的走向。包含变量号、变量值、所在的流程实例号等数据项。

(6) 基站信息表:存储基站建设环节的基站信息,包含基站编号、基站名称、铁塔类型、负责项目经理、各环节完成时间等数据项。

(7) 材料信息表:记录材料领用以及归还时的详细信息,以供统计环节采集。包含材料编号、材料名称、领用单位、基站编号、使用和归还时间等数据项。

3 系统应用测试

该系统开发完成后,在交付使用之前,经过开发人员的功能测试以及压力测试。测试环境为:服务器使用IBM服务器、操作系统使用Linux系统、Web服务器使用Tomcat,数据库产品使用Mysql5.0,客户端选用普通PC机,浏览器分别使用IE浏览器7.0以上版本和Firefox浏览器。测试过程中分别测试通过多个用户并发执行多个流程,进行强度、负载测试,并发访问响应时间正常,系统运行稳定,对异常能进行适当的事务处理,具有较好的可用性和可靠性。

图6为流程监控运行情况,点击左侧的“流程监控”,在右侧表格中可看到现在所有开启的基站建设流程的运行情况,包括:基站名称、申请时间、申请人、停留环节、停留时间、现处理人。在操作一列中有:结束、代办、催办和查看流程,点击相应的操作项即可对该流程进行相应的操作。

4 结论

在对研究工作流技术和某运营商基站建设需求分析的基础上,设计了基于工作流的基站建设管理系统。设计了基于Web的仿jBPM流程设计器,文中对可视化设计器的实现过程和工作流引擎的实现进行了详细描述。该系统实际运行过程已经得到了各部门工作人员的认可,实践表明本系统很大程度上提高了各管理人员的工作效率,从而也证明了本系统设计的合理性。本系统以某运营商基站建设为背景,但通过对实际业务部分的数据进行适当的修改,即可适用于其他运营商,也可将系统在各大运营商之间推广,提高各运营在基站建设方面的管理能力。

[1] 孟建良,赵强.基于工作流的科研管理系统的设计与实现[J].电脑知识与技术,2014(20):4730-4731.

[2] 徐春婕,史天运,刘硕研,等.基于SOA和工作流的铁路客运站管理系统研究[J].计算机工程与设计,2014(2):720-725.

[3] 杨晓波.联通业务营业自动化系统设计与应用研究[D].成都:电子科技大学,2011:11-14.

[4] 杨丽春.基于J2EE的工作流管理系统的研究[J].中国新通信,2013(22):97-98.

[5] 张亮.基于工作流的工程项目管理系统的设计与实现[D].武汉:华中科技大学,2007:43-50.

[6] 张宇,王映辉,张翔南.基于Spring的MVC框架设计与实现[J].计算机工程,2010(4):59-62.

[7] 岳绍敏,王国春,董亚则,等.基于Spring MVC框架的电商平台的研究与设计[J].软件工程师,2014(7):3-6.

[8] 陈彦萍,朱晓战.多阶段可用性Web服务组合管理框架[J].西安邮电大学学报,2013,18(2):101-106.

[9] 郑代峰.基于JBPM的业务流程系统的研究与实现[D].武汉:武汉理工大学,2009:25-41

[10] 张晖.工作流引擎过程定义的设计与实现[J].电子技术与软件工程,2014(10):269-271.

[11] 钱鹰,王寸涛,韦庆杰.一种用于工作流引擎的任务预测与分配算法[J].计算机应用与软件,2014(8):75-78.

[12] 丁智斌,石浩磊.关系数据库设计与规范化[J].计算机与数字工程,2005(2):114-116.

[责任编辑:汪湘]

Design and implementation of base station construction management system based on workflow

LIU Yu, MENG Xianguang

(School of Communication and Information Engineering,Xi’an University of Posts and Telecommunications, Xi’an 710121,China)

In order to solve the problem of low efficiency in the working process of the base station construction, a base station construction management system based on workflow is designed in this paper. The system is built by using MySql data management system to establish database, java language to design the workflow engine classes, spring and hibernate framework to build system platform, and tomcat server to deploy environment of the system. This system can monitor the base station construction schedule and make a count on information in the process of construction.

workflow, workflow engine, workflow designer, workflow management system

2014-10-10

工业和信息化部通信软科学资助项目(2014R33);陕西省教育厅科学研究计划资助项目(2013JK1064)

刘毓(1963-),女,教授,博士,从事光通信技术和现代通信网研究。E-mail:749827907@qq.com 孟宪光(1989-),男,硕士研究生,研究方向为现代信号处理及应用。E-mail: 429564140@qq.com

10.13682/j.issn.2095-6533.2015.01.019

TP311.1

A

2095-6533(2015)01-0093-06

猜你喜欢

管理器基站管理系统
基于James的院内邮件管理系统的实现
启动Windows11任务管理器的几种方法
应急状态启动磁盘管理器
Windows文件缓冲处理技术概述
基于LED联动显示的违停管理系统
基于移动通信基站建设自动化探讨
海盾压载水管理系统
可恶的“伪基站”
基于GSM基站ID的高速公路路径识别系统
小基站助力“提速降费”