主题数据服务
根据业务驾驶舱的需求,建立学校、学院、专业、教学各层次的数据驾驶舱,为学业治理、学科评估、运行督导提供支持。基本过程如下:
1)面板策划
(1)根据专业主题需求,规划面板采集的业务主题,图表展示方式;
(2)利用数据面板工具中内置数据服务的功能,编制模拟数据,实现业务面板模拟数据,用于评估;
2)面板数据需求
(1)分析业务面板数据相关的来源、字段等要求;
(2)根据数据需求,结合各不同业务、日志等主题的数据结构,细化数据采集服务要求,形成采集任务;
3)面板数据采集
(1)通过封装微服务直接获取定时或实时的业务数据(已经实现排课、预约等业务数据集)
(2)通过定时脚本获取生产相关数据集(如来自GIT、ES的生产数据集)
(3)通过定时脚本获取业务相关数据集(长表方式,数据人员按需开发)
(4)低代码方式采集数据;(流程引擎,服务工程师配置)
(5)其他方式采集数据;(导入或同步,约定格式,数据人员按需配置)
4)动态面板实现
(1)针对专业要求,配置面板数据库进行对接,联调;
(2)针对专业要求,配置新开发数据集进行对接,联调;
1 概述
1.1 项目背景
当前温州大学已建设实验室综合管理平台、视频监控平台、实验室门禁管理系统、实验室安全教育平台、气体监测平台、化学品管理平台、大仪共享管理平台等多各面向实验室管理与服务的业务系统,并通过业务对接等方式实现了实验室资源的初步集成,提升了学校实验室信息化管理与运行的水平。随着应用的深化,前期的业务对接方式对业务的侵入性大,校方将直接面临着不同厂商协作协调以及升级后系统变更与联调的问题,并且难以进行有效扩展。
为解决上述问题,需要构建业务系统与数据的标准体系,围绕学校的实验室主题构建一个对业务无侵入,可持续生长与改进的数字化平台,以数据接口的方式进行主题数字化资源的聚合,实现业务系统无关的实验室主题数据低代码开发与呈现,细节数据业务交互等决策与管理的需求。
数据标准的建设与业务推进是一个持续的过程,当前阶段很难明确准确的需求,因此也很难按照传统数据仓库的方式进行建设。以终为始方式,首先建立主题管理与决策的原型,随后驱动数据、标准、业务的务实迭代推进,是本建设方案推荐的策略。
1.2 建设内容
1) 实验室安全主题基础数据集及管理运行驾驶舱原型:以实验室管理运营基本要求出发,基于实验室综合业务平台构建基础实验室安全主题数据集,基于开源数据驾驶舱工具Grafana建立实验室安全管理运营示范驾驶舱,相关数据来源于实验室综合业务平台及导入数据,满足初步的管理、运行与数据验证的要求。
2) 实验室安全主题分析数据集及决策分析驾驶舱:定义实验室安全决策数据驾驶舱要求,完善实验室安全分析主题数据集,建立实验室安全数据集与数据规范要求,定义实验室空间、实验设备、实验教学、实验安全、大型仪器、安全设施、安全教育、化学品耗材的数据规范,建立实验室安全主题分析决策驾驶舱业务面板。
3) 实验室安全主题数据采集及维护:结合学校智慧校园统一身份认证、共享库规范,以及实验室安全分析数据集标准,建立并完善各业务数据接口,实现实验室安全主题分析数据集持续更新。
最终建立实验室安全分析服务规范与标准,为后续的数据运营与服务打下基础。
2 建设内容
2.1 实验室安全主题基础数据集及管理运行驾驶舱原型
2.1.1 实验室安全管理运行驾驶舱原型
原型基于grafana进行开发,已经实现的数据集分析流程如下:
2.1.2 驾驶舱原型开发流程
1)面板策划
(1)根据教研组的专业需求,规划面板采集的业务主题,图表展示方式;
(2)利用grafana中testDB的功能,编制模拟数据,构建业务面板数据;
2)面板数据需求
(1)教研组提供业务面板数据相关的来源、字段等要求;
(2)根据数据需求,设计各不同业务、日志等主题的数据集,提出数据采集任务;
3)面板数据采集
(1)通过封装微服务直接获取定时或实时业务数据(目前已经实现排课、预约数据集,json + 存储过程方式)
(2)通过定时脚本获取生产相关数据集(GIT生产数据集)
(3)通过定时脚本获取业务相关数据集(长表方式,专业数据人员开发)
(4)通过公司ES数据库,获取日志等相关数据;
(5)其他方式采集数据;
4)动态面板实现
(1)针对专业要求,配置grafana与面板数据源进行对接,联调;
操作方式
(2)针对专业要求,配置grafana与新开发数据集进行对接,联调;
2.1.3 实验室基础数据集
实验室基础数据集来源于实验室综合管理平台,提供下述主题数据:
1) 实验室基础信息:实验室空间、设备、人员关联数据。
2) 实验室业务信息:实验室排课数据、实验室开放数据;
以校级标准的空间编号、设备编号、人员编号为主键,关联构建实验室主题数据表,作为实验室数据框架;
以校级标准的课程编号、人员编号等为主键,关联构建实验室业务数据表,作为业务数据扩展的维度标准;
3)实验室安全业务信息:实验室安全检查(检查主体、对象、隐患、状态)、实验室开放准入、安全考试成绩;
2.2 实验室安全主题分析数据集及决策分析驾驶舱
2.2.1 驾驶舱定义
定义实验室安全决策数据驾驶舱要求,完善实验室安全分析主题数据集,建立实验室安全数据集与数据规范要求,定义实验室空间、实验设备、实验教学、实验安全、大型仪器、安全设施、安全教育、化学品耗材的数据规范,建立实验室安全主题分析决策驾驶舱业务面板。
2.2.2 关联数据标准
根据主数据的标准,关联业务通过标准主键字段和格式的要求进入到主题数据中,并标识相关的数据来源。
建立相应的数据交换标准,定时或实时进行数据交换。
2.2.3 主题数据集服务
根据主题展示的要求,对数据进行二次处理,形成面向管理与决策的长表,并归集到相关的主题中。
2.3 实验室安全主题数据采集及维护
2.3.1 对接智慧校园
结合学校智慧校园统一身份认证、共享库规范,以及实验室安全分析数据集标准,建立并完善各业务数据接口,实现实验室安全主题分析数据集持续更新。
2.3.2 业务穿透
对于完成统一身份认证,并提供业务参数接口的系统,实现各类形式的数据穿透。例如可以点击管理运行驾驶舱,进入实验室综合管理系统的页面。
3 开发工具
3.1 主题数据集工具
3.1.1 数据库 MySQL
实验室安全主题分析数集采用MySQL 5.7.40版本进行部署;
3.1.2 数据交换 Kettle
数据交换工具采用Kettle(版本根据实际环境配置)
Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程。
Kettle采用图形化界面,可以方便地进行ETL的配置与操作,并且提供了管理功能,可以对相关的过程进行管控。
3.2 开源驾驶舱工具 Grafana
3.2.1 基本功能
Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:
1) 展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
2) 数据源:mysql、redis、API、Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
3) 通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty以及邮件等获得通知;
4) 混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
5) 注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
6) 过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。