工单管理系统建设方案
1.1 系统概述
1.1.1 需求描述
1.1.2 需求分析
1.1.3 重难点分析
1.1.4 重难点解决措施
1.2 系统架构设计
1.2.1 系统架构图
1.2.2 关键技术
1.3 系统功能设计
1.3.1 工单创建
1.3.2 工单管理
1.3.3 工单处理
1.3.4 工单催办
1.3.5 工单归档
1.3.6 工单统计
软件开发文档获取:个人名片直接获取或者进主页。
1.1.系统概述
1.1.1需求描述
根据告警管理系统产生的告警信息,或通过站点巡检管理系统发现提交的运行隐患信息,形成处理流程,安排区域技术人员,对隐患和故障信息进行确认、处理、反馈,并由管理人员确认流程关闭状态,形成业务闭环,提升维修效率和准确度,以保障系统的正常可靠的运行。
1.1.2.需求分析
为保证业务线的正常运行,需要对报警、巡检异常情况进行及时处理,处理过程中管理层可随时对工单进行督查督办。
监测过程中如果出现报警信息,系统将告警信息推送到调度人员,调度人员接收消息后可进入告警监测页面根据告警信息判断是否需要发起工单,如果不需要则可以直接进行告警复归并录入复归原因,如果不能直接复归便可以进行一键生成工单操作,并选择确认人进行告警确认,确认人收到待确认告警消息后通过地图导航功能快速前往告警设备现场进行确认与排查,确认人现场排查过程中可对异常情况进行处理,如果不能处理时可下发维修、应急申请,由专业人员针对告警情况进行处理,针对处理结果进行反馈,反馈信息中需注明是否复归告警。
工单的另外一个重要来源为巡检管理系统,巡检组长接收到巡检任务后,根据任务情况拆分工单,并将工单派发给本组组员,组员收到工单后第一时间执行工单并上报信息。
领导层可随时查看工单执行情况,发表督查督办意见。
1.1.3.重难点分析
各子系统(巡检、维修、应急)之间的数据交互
工业监测数据的获取
告警复归
1.1.4.重难点解决措施
子系统之间可以通过按钮进行跳转,跳转时将工单的源ID带入子系统,子系统重新生成相关数据并执行子系统的业务流程。
通过读取或解析工业库、第三方SDK、API、协议的方式获取监测数据,对获取的告警类监测数据进行单独展示,如果出现告警,实时高亮显示并结合消息推送,第一时间告知管理人员告警信息,已做出最快的响应。
进行逻辑层告警复归,最终复归结果由监测设备实时反馈
1.2.系统架构设计
1.2.1.系统架构图
系统架构图
分层是表示将功能进行有序的分组:应用程序专用功能位于上层,跨越应用程序领域的功能位于中层,而配置环境专用功能位于低层。分层从逻辑上将子系统划分成很多集合,而层间关系的形成要遵循一定的规则。通过分层,能够限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。子系统的分组标准包括下面几条规则可见度。各子系统仅仅能与同一层及其下一层的子系统存在依赖关系。
数据层:针对数据进行映射和持久化,实现数据表的添、删、改、查操作。
服务层:主要表示WEB方式,如果逻辑层相当强大和完善,无论展示层和应用层如何定义和更改,服务层都能完善地提供服务。
展示层:通过服务层处理数据后进行直观的展示。
应用层:实现与用户的交互,用户通过应用层录入数据进行提交和查看响应。
1.2.2.关键技术
Android消息推送技术
实现Android手机客户端与App Server之间的通信协议,保证在App Server想向指定的Android 设备发送消息时,Android设备能够及时的收到。有以下三种常见方案:
l)轮询:应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,你必须自己实现与服务器之间的通信,例如消息排队等。而且你还要考虑轮询的频率,如果太慢可能导致某些消息的延迟,如果太快,则会大量消耗网络带宽和电池。
2)SMS:在 Android平台上,你可以通过拦截SMS消息并且解析消息内容来了解服务器的意图。这是一个不错的想法,我就见过采用这个方案的应用程序。这个方案的好处是,可以实现完全的实时操作。但是问题是这个方案的成本相对比较高,很难找到免费的短消息发送网关。
3)持久连接:这个方案可以解决由轮询带来的性能问题,但是还是会消耗手机的电池。手机的推送服务之所以工作的很好,是因为每一台手机仅仅保持一个与服务器之间的连接,事实上C2DM也是这么工作的。不过这个方案也存在不足,就是我们很难在手机上实现一个可靠的服务。Android操作系统允许在低存情况下杀死系统服务,所以你的通知服务很可能被操作系统Kill掉了。
Quartz作业调度技术
Quartz是一个开源的作业调度框架,可以让计划的程序任务一个预定义的日期和时间运行。Quartz可以用来创建简单或复杂的日程安排执行几十,几百,甚至是十万的作业数。
Quartz框架有一个丰富的特征集。事实上,Quartz有太多特性以致不能在一种情况中全部领会,下面列出了一些特征。
监听器和插件
每个人都喜欢监听和插件。今天,几乎下载任何开源框架,必定会发现支持这两个概念。监听是你创建的java类,当关键事件发生时会收到框架的回调。例如,当一个作业被调度、没有调度或触发器终止和不再触发时,这些都可以通过设置来通知你的监听器。Quartz框架包含了调度器监听、作业和触发器监听。可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听。
一旦一个具体监听被调用,就能使用这个技术来做一些想要在监听类里面做的事情。例如,如果想要在每次作业完成时发送一个电子邮件,可以将这个逻辑写进作业里面,也可以写进JobListener里面。写进JobListener的方式强制使用松耦合有利于设计上做到更好。
集群Quartz应用
Quartz应用能被集群,是水平集群还是垂直集群取决于你自己的需要。集群提供以下好处:伸缩性、高可用性、负载均衡。
Quartz可以借助关系数据库和JDBC作业存储支持集群。
Terracotta扩展quartz提供集群功能而不需要数据库支持。
1.3.系统功能设计
1.3.1.功能清单列表
序号 | 功能点 | 描述 |
1 | 工单创建 | 根据告警信息创建工单。 |
2 | 工单管理 | 列表形式展示所有工单信息及进度状态。 |
3 | 工单处理 | 对接收的工单进行处理反馈。 |
4 | 工单催办 | 根据工单时效自动发送工单催办消息通知。 |
5 | 工单归档 | 对往期已完成工单进行归档操作。 |
6 | 工单统计 | 根据不同维度统计工单。 |