祁家祯,梁田雨,杨 驰,陈琼娇,郭 欢
( 北京航天长征飞行器研究所,北京 100076)
航天产品作为一项科技含量高、技术涉及面广、系统集成性强的高科技系统工程产物,从研发、出厂到最终交付,涉及多行业、多部门的通力协作与支持,整个过程中产生大量、复杂度高、价值高的数据。但处于数字化转型的重要时点,研究所的数据采集、应用体系仍在建设当中,部分关键数据统计仍然依靠人工进行。面对更新频率日益加快、类型日渐多样、资源项逐渐繁杂的数据,人工统计不仅费时费力,还容易出错,无法支持研究所的准确化、精细化管理;同时异构系统间的数据孤岛问题所造成的数据无法同步分析问题凸显,数据汇总分析能力不足。
同时,研究所作为涉密单位,数据分存于互联网与涉密内网,互联网数据采集存在天然物理隔离,无法实现自动采集,只能通过摆渡手段接入内网。其次数据本身同样具有涉密性,存在知悉范围限制,研究所使用作为身份识别的CA USB-key只能在IE8及以下版本浏览器进行验证通行,而现在多数互联网前端框架已经抛弃IE8及以下版本浏览器的实现。为了保证数据可视化的友好性、实用性,需要寻找技术途径解决跨浏览器进行驾驶舱展示的问题。
根据上述现状分析,此平台建设需要解决以下四项具体问题。
1)研究所缺少可以集中数据并提供驾驶舱展示服务的平台。
2)由于运行在互联网系统的数据同样具有统计价值,但是互联网数据进入内网系统必须通过摆渡手段,所有该平台不仅需要有从内网系统取数的功能,同时具备解析处理来自互联网的结构化数据的功能。
3)由于部分数据的知悉范围不一致且用于识别CA USB-key的ActiveX控件已被当前可运行较新主流前端框架的浏览器所抛弃,所以该平台需要从拥有IE内核的浏览器进行用户校验后,在拥有其他较新内核的浏览器进行数据展示与权限控制。
4)出于安全性考虑,部分涉密内网计算机配置较为保守,在保证数据展示内容需求的基础上要做出相关效果优化,保证数据展示的流畅性,增强用户友好性。
解决上述问题,才能在当前研究所物理环境中构建符合现状的驾驶舱平台。
贯彻上级单位“实现全价值链业务的数据管理,面向各级管理者提供全局动态掌控、智能预警、精准管控的管理驾驶舱服务”的相关指示,该项目旨在构建可以为管理者统筹规划、业务精准管控提供帮助的数据驾驶舱平台,以十四所流程平台作为平台入口,用以Spring+ SpringMVC + Mybaits + SQLServer为后端架构,与以Bootstrap框架为基础、Echarts、Layui、Sweatalert等插件接入的前端架构相结合的方式,独立自主的开发“鸣镝数阁”数据可视化管理驾驶舱平台。以精细化管理理念为指导,聚焦数据集中展示与可视化“驾驶舱”体验,从数据采集、数据存储、数据处理、数据展示等方面实现数据全生命周期的管控与利用,为决策层提供基于量化数据和图形效果的决策辅助能力,为后续实现全价值链的动态数据智能预警与精准管控能力建设奠定坚实基础。
按照上述思路以及所识别到的问题,该项目从数据采集到数据展示的业务流程图如图1所示。
图1 “鸣镝数阁”数据工作流程图
本项目主要涉及经营、党群、人力、资产四大主题域数据,其来源各不相同。经营主题域数据是由员工手工整理与系统产生结合而成的,涉及立项竞标、科研生产任务、质量问题、合同履约、经济五大领域共60余项的结构化数据;党员数据是由外网党建云平台生成的包含党员信息20余项的结构化数据;人力数据是有上级单位系统生成包含人员信息10余项的结构化数据;资产数据是由所内固定资产系统生产的包含资产信息30余项的结构化数据。其中,资产数据可以直接从资产平台通过Restful接口进行抽取。
第一步,数据采集。数据采集业务分为结构化数据上传与解析、定时数据抽取与解析。无法定时从系统抽取的数据,如经营、党员、人力数据需要业务管理员按照规定好的时间间隔上传可解析的结构化数据。
第二步,数据存储。从第一步而来的数据将通过部分异常值处理或者数据转换之后存储到业务数据库之中。异常值处理是对于某些特定字段出现极端偏离值进行的修正手段,如年龄字段如果出现小于零或者大于一百时将被修正为平均值;数据转换是对于某些特定字段进行拆封转换等工作,如将部分包含多个信息的长字符串分解为多个字段信息加以保存。
第三步,数据计算。第二步所存好的数据大部分只是原始数据,不能直接用于展示。且部分数据由于数据量较大,为提高系统响应速度,系统在数据上传完或者数据抽取结束后会新启动一条线程去做计算操作,如人力数据中所要展示的年龄分布,系统需要首先根据出生年月日裁剪出出生年份,与当前时间年份算出人员年龄,再根据设定好的年龄区间计算出各区间所含人员数,最终用于年龄条形图分布图显示。同时,部分数据在上传后需要其他数据源数据做匹配。如作为人力数据子集的党员数据在做职称计算时需要人力数据的职称项作支撑,党员数据上传后,如果已上传近一月内的人力数据则会根据人力数据计算职称信息,否则仍使用自身所携带的职称项做计算。
第四步,数据展示。前面三步所做的工作都是为了数据驾驶舱展示服务做铺垫。但数据本身同样具有涉密性,存在知悉范围限制,十四所使用作为身份识别的CA USB-key只能在IE8及以下版本浏览器进行验证通行,而现在多数互联网前端框架已经抛弃IE8及以下版本浏览器的实现。为了项目的友好性与实用性,所以需要本系统从IE8浏览器跳转到主流Chrome浏览器当中,并且可以保留用户信息用作身份鉴别。本项目结合现实情况设计实现如下流程进行权限控制,如图2所示。
图2 权限控制工作流程图
1)系统以运行环境为IE浏览器的所流程平台作为入口,进行了第一道权限控制。
2)系统在入口页面会获取USB-key的验证信息后,调用IE内核的ActiveX控件唤醒Chrome浏览器。
3)系统将携带用户的验证信息访问系统后台进行二次权限校验。
4)若校验通过则返回驾驶舱界面,并且将用户的Session信息填写到浏览器的Cookie中,部分需要验证信息才能查看详细数据的模块则会在请求时验证Cookie中的信息所代表的用户是否可以查看该模块,保证数据的知悉范围不扩大;若校验失败则返回error画面。二次校验的过程可以防止直接复制URL地址无法查看数据,同样保证数据的知悉范围不扩大。
项目选用了以Bootstrap框架为整体、穿插使用Echarts、Layui、Sweatalert等框架的方式构建驾驶舱前端,确保了界面的友好性。
根据上述工作流程以及试点的四个主题域数据形成如图3所示的功能结构图。
图3 “鸣镝数阁”功能结构图
“鸣镝数阁”数据驾驶舱由管理端与展示端组成,根据现在的四个主题域划分,管理端包括经济数据上传、党员数据上传、人力数据上传、资产数据上传等模块,展示端包括身份认证、经营驾驶舱、党员驾驶舱、人力驾驶舱、资产驾驶舱等模块。
项目建设按照数据主题域类型,分别介绍党群、人力、资产、经营的驾驶舱实施效果。
党员数据驾驶舱的功能如图4所示。
图4 党员驾驶舱功能结构图
党员数据驾驶舱上传模块分为党员基础数据上传模块与党支部人数上传模块。党员基础数据上传模块用于上传来自“航天一院党建云”导出的结构化数据,该数据包含序号、姓名、所属党委、所属党组织、手机号、公民身份证号、性别和民族等21个字段。由于“航天一院党建云”导出的结构化数据中的所属党组织数据更新速度跟不上实际情况,所以构建了党支部人数上传模块用于上传各个党支部(党总支)的最新名称以及人数。
党员数据驾驶舱展示模块根据所上传的数据计算出统计信息进行展示,包括党员基础信息、党员男女比例、党员民族比例、党员学历分布、各支部(党总支)分布、党员职称分布、党员年龄分布和党龄分布等模块。其中党员基础信息模块包括在职党员总数、预备党员数、转入党员、转出党员,转入党员与转出党员根据上一月最后一次导入的数据作对比计算得出;另外在职称分布模块可以点击工人查看不同类型的工人分布。
人力数据驾驶舱的功能如图5所示。
图5 人力驾驶舱功能结构图
人力数据驾驶舱上传模块仅包含人力基础数据上传模块。该模块用于上传来自上级人力系统导出的结构化数据,该数据包含序号、姓名、性别、出生日期、部门和专业技术职务级别等10个字段。
人力数据驾驶舱展示模块根据所上传的数据计算出统计信息进行展示,包括人员基础数据、部门分布、职称分布与高级职称比例、年龄分布与平均年龄、年度入职/离职情况、年度组织到东/退休人员情况、性别比例、学历分布和民族比例等模块。
资产数据驾驶舱的功能如图6所示。
图6 资产驾驶舱功能结构图
资产数据驾驶舱上传模块仅包含资产基础定时抽取模块。该模块会定时从固定资产系统抽取JSON的结构化数据,该数据包括资产编号、名称、型号、出厂编号、规格、生产厂家、原值和出厂日期等38个字段。
资产数据驾驶舱展示模块根据所抽取的数据计算出统计信息进行展示,包括固定资产原值总值、固定资产基础数值、设备仪器属性分类、占用情况、设备仪器财务分类、设备仪器启用时间、原值分布和军工冠军设备分类等模块。
经营数据驾驶舱的功能如图7所示。
经营数据驾驶舱上传模块包括年初数据上传、立项竞标数据上传、科研生产任务数据上传、质量问题数据上传、合同履约情况上传、经济数据上传、权限查看数据上传等模块,共涉及60余个字段。其中年初数据上传指部分年初目标值上传;权限查看数据上传模块指部分数据可查看人群设置。
经营数据驾驶舱展示模块根据上传的数据计算出统计信息进行展示,包括立项/竞标、科研生产任务、收入与利润、质量问题情况、合同履约情况、军品型号、预研和产业领域等模块。其中立项/竞标模块包括创新、型号两个类型数据展示;科研生产任务包括集团考核计划、一级计划、二级计划相关数据展示;军品型号、预研、产业领域模块设计收入、利润、新签合同、到款等类型相关数据展示。
图7 经营驾驶舱功能结构图
对标流程精细化体系建设与数字军工的要求,该项目针对人力、党员、资产、经营数据所面临的更新频率高、数据类型多、数据资源项繁杂、异构系统数据孤岛的问题,充分梳理人力、党群、资产专业的四大主题域一百三十余项数据,以精细化管理理念为指导,聚焦数据集中展示与可视化“驾驶舱”体验。项目为后续实现全价值链的动态数据智能预警与精准管控能力建设奠定坚实基础。该项目聚焦企业管理数据的精细化管理目标,以可视化展示体验及标准数据接口为基础,为企业决策层提供可定制的数据展示平台。项目成果具有创新性,具有良好的推广价值与效益。
相对而言,该项目对比国内外成熟驾驶舱产品,更贴近于所内管理要求与运营现状。不仅符合军工行业的数据保密要求,同时在数据的解析与显示上保有极大的灵活性,可以保证企业高层对于数据各类定制化需求。