智能智造与信息技
基于laravel-framework的工单管理系统的
设计与实现
张涛
(国能(北京)商务网络有限公司北京100056)
摘要:系统运维工作极其重要且又纷繁混杂,有必要建立一套高效、稳定的问题需求跟踪工单系统,以用来满足有序规划和管理软件研发全流程的要求。本文所述商务网公司系统运维部为了进一步提升运维和开发工作的工单处理能力、建立健全信息系统运维体系、提升信息系统运维水平、加强工单系统自主开发运维,集中技术力量开发完成了一款前端基于reactjs+redux、后端基于php laravel-framework、数据库采用MongoDB 的工单管理软件,掌握了全部系统源代码,做到了全系统完全自主可控,同时,规范了公司产品、软件设计开发和运维工单处理过程的管理和监督,满足了公司增强市场竞争能力的需求,有效提升了开发品质,缩短了开发时间。
关键词:商务网公司工单系统运维自主可控laravel-framework reactjs redux MongoDB
中图分类号:TP311.5文献标识码:A文章编号:1674-098X(2022)02(c)-0083-03
1问题的提出
国家能源e购网上商城(以下简称商城)是国家能源集团进行物资、工程、服务等项目非招标采购的电力产品专属商城,是基于阿里云技术打造的,包含电力专区、电子超市、询比价、竞价等板块的一体化电子采购平台。国能(北京)商务网络有限公司(以下简称商务网公司)作为商城建设运维单位,面对平台型科技示范企业的创建要求,对标国内一流电商化企业,必须打造出一支过硬的开发和运维队伍。
商城及相关系统的运维工作主要包括业务技术支持、IT基础设施管理及集成、网络安全管理等工作,必须高度重视信息系统运维管理工作,这就需要转变传统的信息系统运维模式,建立健全信息系统运维体系,提升信息系统运维水平[1]。运维工作极其重要且又纷繁混杂,运维和开发项目管理系统需要具备较高的安全性、实时性和动态分布等特性,建立一套高效、稳定的问题需求跟踪工单系统,就成为急需解决的问题[2]。故障工单的流转作为基础维护工作的基础,必须能够实时反映故障和工单处理情况,为用户提供优异感知,切实解决各类异常[3]。
2技术路线选型
在很长时间以来,商务网公司系统运维部使用的工单系统虽然功能全面,能够满足有序规划和管理软件研发全流程的要求,但是其全套工具价格成本很高,使用配置很复杂,有些功能并不实用且捆绑销售,得不偿失。
网站的开发一般可分为前端开发和后端开发。前端开发负责网站页面的展示,是创建Web页面或APP 等前端界面呈现给用户的过程,通过各种网页开发技术、网站框架及前端解决方案,来实现方便实用的用户界面交互;后端开发负责网站底层业务逻辑的实现、平台的稳定性与性能等,通常是与前端进行数据交互及网站数据的保存和读取。目前,PHP语言以免费、开源、插件丰富及跨平台性等优点成为广泛使用的网站后端开发语言[4]。
为进一步提升商城平台工单处理能力,加强工单系统自主开发运维,系统运维部积极组织技术攻关,在开源平台上查相关资源,最终确立了前端基于reactjs+redux、后端基于php laravel-framework、数据库采用MongoDB的技术路线,开发完成了一款问题需求跟踪软件,并投入了使用。
前端React在MVC架构中属于V(视图),构建随着时间数据不断变化的大规模应用程序。React利用虚拟DOM来减少对实际DOM的操作从而提升性能。通过React,开发技术人员唯一要做的事情就是构建组件,得益于其良好的封装性,组件使代码复用、测试和关注分离更加简单[5]。
React只是DOM的一个抽象层,并不是Web应用的完整解决方案,而Redux就解决了这个问题。Redu
x 是JavaScript状态容器,提供可预测化的状态管理,它可以促进构建一致化的应用,运行于不同的环境(客户
DOI:10.16660/jki.1674-098X.2202-5640-6765
作者简介:张涛(1978—),男,硕士,工程师,主要从事系统运维与网络安全工作。
83
科技创新导报Science and Technology Innovation Herald
科技创新导报Science and Technology Innovation Herald 能智造与信息技术
端、服务器、原生应用),并且易于测试。它将Facebook 的Flux架构和函数式编程相结合,迅速地成为了当前最热门的前端架构。
Redux的设计思想是:首先,Web应用是一个状态机,视图与状态是一一对应的;其次,所有的状态,保存在一个对象里面。二者的结合React-Redux是Redux 的官方React绑定库,其能够使开发者的React组件从Redux store中读取数据,并且向store分发actions以更新数据[6]。
后端采用的Laravel是一套简洁、优雅的PHP Web 开发框架(PHP Web Framework)。它将开发者从繁杂无章的代码中解放出来,可以帮助开发者构建一个完美的网络应用,并且每行源代码都很简洁、富于表达力。
在Laravel中,具有一套高级的PHP ActiveRecord 实现——Eloquent ORM,它能迅捷地将“约束(constraints)”应用到该关系的双方,这样开发者就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent本身就完全支持Fluent中查询构造器的所有方法。
本系统的数据库采用的是新兴的非关系型数据库MongoDB,是一款开源的面向集合的数据库,它是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统,设计MongoDB的主要目的是为WEB应用提供扩展性好的高性能开源数据存储解决方案,在负载很高的情况下,更多的节点可以保证服务器性能。“面向集合(Collection-Oriented)”的意思是将数据分组存储在数据集合中,每个数据集合在数据库中拥有一个唯一的标识名,并且可以包含无限数目的文档,其特点是性能高、部署容易、使用方便,存储数据非常迅捷[7]。
MongoDB的主要目标是在高性能和高度伸缩性的键/值存储方式与传统的RDBMS系统之间架起一座桥梁,它能够集两者的优势于一身。首先,MongoDB非常适合实时的数据增删查改,并具备网站实时数据存储所需的可复制性以及高度伸缩性;其次,由于其高性能,MongoDB也非常适合作为关键信息基
础设施的持久化缓存层,在信息系统重启之后,由MongoDB搭建的缓存层可以有效避免下层的数据源过载;最后,MongoDB的BSON数据格式非常适合文档化格式的存储及查询[8]。
3系统功能
在方案配置方面,实现了支持用户创建项目和定义属于项目自己的配置方案,实现全局配置方案和本地配置方案的完美结合。在工作流方面,各项目不仅可引用系统工作流,同时,可自定义自己的工作流,工作流的每一步可进行精细控制,确保正确的人在正确的时间执行正确的操作。该设计有看板和甘特图功能,支持Scrum敏捷开发和看板方法。通过看板,轻松实现任务、需求、Bug的管理跟踪,Scrum是一个过程框架,它内置有一系列的实践和预定义角,它最大的好处是易于学习,而且应用Scrum的投入相对较低;甘特图不仅能显示每一个问题的时间长短和进展情况,还可以看到任意时间点在进行哪些问题,用户针对问题发表评论,同时可“@”项目组其他成员,用户可在问题上填写工作日志,及时查看问题的完成情况,团队成员可分享和查工作所需的资料文档。设计有统计报表功能,随时掌握项目进度,快速调整项目作业状况,支持各种维度的统计。设计有完备权限控制的模型,可自定义角,不仅可给用户授权,同时支持给用户组授权。在版本控制方面,把不同阶段的任务和里程碑确定成一个个的版本,以便对整个项目进行过程的管理和阶段目标的控制。日历管理则不仅可同步国家法定节假日,用户还可以配置自己的日程,以便更加准确地跟踪每个任务的进展。为了安全管理,日志文件详尽记录了哪些用户在什么时间段通过什么终端访问了哪些API,还支持Docker
安装,更加增强了可扩展性和兼容性。
作为商城平台的开发运维单位,商务网公司必须规范公司产品、软件设计开发和运维工单处理过程的管理和监督,满足公司增强市场竞争能力的需求,最大限度地减少公司经营风险,结合质量管理体系和网络安全等保体系规范公司研发管理及研发流程,有效提升开发品质,缩短开发时间。
以运维工单处理流程为例,工作流如图1所示。
问题提报人首先进入运维工单项目,在问题中新创建自己的工单,在页面中填写必填项,点击确认,即可将该工单推送到工单负责人处,同时工单状态变为待处理,解决状态为未解决。
分配到的运维工单,负责人接到新工单可以进行3个操作,分别是开始处理、转产品分析确认和转开发
分析确认。如果该工单是系统运维部职能范围内的业务,则点击开始处理,否则根据该工单内容,判断其应该归属的部门,分别转产品或开发分析确认。这3个操作完成后,工单状态都进入到问题处理中状态,分别由系统运维部、产品设计部和研发中心确定下一步操作。下一步操作步骤有提交脚本和待验证这两个。如果涉及脚本执行,则在工单信息中输入需要执行的脚本,然后提交给部门经理进行审批,该工单的状态即变为脚本审批中,部门经理审核脚本,如果通过,则点击脚本审批按钮提交执行,工单状态变为脚本执行中,否则,点击脚本审批驳回按钮,退回上一步,重新提交新的脚本,状
态回到问题处理中。脚本执行完后,即进入待验证状态,由问题提报人进行验证,如验证通过,则关闭该工单,工单状态变为已完成并且解决状态置为已解决;如验证未通过,则点击退回按钮,将问题退回到问题负责人,重新处理,工单状态置为待处理,解决
84
科技创新导报Science and Technology Innovation Herald 智能智造与信息技状态置为未解决。问题负责人如收到被退回的工单,则按上述步骤重新走一遍流程,直到验证通过。如果该问题工单不涉及脚本执行,则处理完后直接点击待验证按钮,直接将该工单推送到问题提报人处进行验证,状态置为待验证,同样,如果验证通过,则关闭该工单,工单状态变为已完成并且解决状态置为已解决;如验证未通过,则点击退回按钮,将问题退回到问题负责人,重新处理,工单状态置为待处理,解决状态置为未解决。
4结语
本系统是完全自主开发可控的问题需求跟踪系
统,可以根据不同单位的需求,进行适应性改造。从旧
工单系统整体迁移到本系统以来,运维工单正常流转
零失误,实现了对各个项目进行过程的精细管理和阶
段目标的精密控制,对运维工作做到了无缝链接,其他
在研项目的工单迁移工作也在逐步顺利开展。商务网公司规范了公司产品、软件设计开发和运维工单处理过程的管理和监督,满足了公司增强市场竞争能力的
需求,最大限度地减少了公司经营风险,有效提升了开发品质,缩短了开发时间,每年还节省了相对可观的购
买系统软件License 的相关版权费用,而且由于掌握了
全部系统源代码,做到了全系统自主可控。但是同时,也发现由于工单系统没有及时的通知提醒功能,导致
部分工单没有被相应负责人及时处理。下一步将设计
开发一款工单提醒系统,以用来有效提高工单响应速度,解决工单实时响应的问题。
参考文献
[1]李文娟,何松,韩宝卿,等.试析云计算环境下的信息
系统运维模式[J].中国管理信息化,2021,24(24):118-119.
[2]冯国礼,李蓉,吴双.基于人工智能技术的电力信息
系统运维数据整合方法[J].电力信息与通信技术,2022(1):68-73.
react开发框架[3]彭友斌.一种故障工单质检方法及应用[J].网络安
全和信息化,2021(7):158-160.
[4]刘振强.在Laravel 项目中应用Foundation 框架的
实现[J].科技视界,2020(31):48-49.
[5]李晓纯,孔文熙,朱景福.基于React 的在线教学平台
设计与实现[J].电脑知识与技术,2021,17(30):95-97.
[6]张根,蔡永香,高静文.基于React 组件快速构建网
站前端[J].电脑知识与技术,2019,15(15):119-121.[7]叶思斯,林志达,郭献彬,等.基于MongoDB 的配置管
理平台应用研究[J].系统仿真技术,2021,17(4):253-258.
[8]张文盛,郑汉华.基于MongoDB 构建高性能网站技
术研究[J].吉林师范大学学报(自然科学版),2013,34(1):123-127.图1运维工单处理流程工作流图
85
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论