论文部分内容阅读
摘 要:数据中台是以企业多类型大数据量的汇聚为基础,以统一数据模型为标准,通过丰富的数据标签,为前端应用提供敏捷的统一数据服务。基于此,针对电力企业财务管理对“企业资源实时掌握、经营活动动态反映”的要求,结合存储在ERP、财务管控系统、MDM平台、PMS系统中的基础业务数据,研究通过数据中台实现数据可视化分析的整个过程,对相关企业解决数据孤岛问题,实现数据融合有一定参考意义。
关键词:电力企业;数据中台;财务大数据;可视化
中图分类号:F23 文献标志码:A 文章编号:1673-291X(2021)20-0128-03
一、财务大数据可视化实现目标
基于数据中台的财务大数据可视化分析,是以各业务系统数据为基础,实现多维数据分析与展示,重点聚焦在数据分析服务化、数据应用工具化的能力上,围绕“会计信息实时反映、预算全链条管理、工程全过程管控、资产全寿命管理、电价电费全环节管控、资金全方位管理、风险在线监控”等专业管理模块,实现精益管理的需求。
系统实现上,通过数据中台总体架构,全面支持财务数据的接入、数据转换、数据计算、数据服务、展示分析。同时,结合省公司专业处室、基层单位新增业务、板块、应用场景需求,继续开展数据溯源、模型搭建、输出设计、数据分析与应用场景建设。整体上在充分利用现有各财务系统的建设成果基础上,通过技术整合、功能整合、数据整合、模式整合、业务整合等技术手段,将各个分离的信息数据集成实现共享,并能够以数据服务方式对外分享,使资源达到充分共享,结果将有效节省建设的投资,提升系统建设的经济效益。
二、总体构架
(一)总体架构
总体架构分为数据汇聚与服务层、数据可视化分析层。基于阿里DataWorks平台实现的数据汇聚与服务层,能够实现数据集成、开发、治理、服务、质量和安全等全套数据研发工作。数据可视化分析层,基于国家电网公司统一应用开发平台,通过集成可视化框架(WebGL、VUEX、ECharts、Mapbox、Three.js等),以采用B/S架构的方式对外提供服务。
(二)数据汇聚与服务层架构
数据汇聚与服务实现流程如下:
1.通过数据集成同步业务数据和日志数据至MaxCompute。
2.通过MaxCompute、DataWorks对数据进行ETL处理。
3.同步分析后的结果数据同步至分析库。
4.通过Quick BI、ECharts可视化建立用户画像。
基于数据中台的大数据分析总体数据流向,如图1所示。
贴源层使用分布式数据仓库MaxCompute,源业务系统数据通过DataWorks DI、DTS、DataHub组件接入MaxCompute全量表和增量表;共享层使用分布式数据仓库MaxCompute,通过DataWorks-DI组件完成贴源层数据表到共享层基于模型的数据表和标准表转化;分析层利用MaxCompute、RDS、ADB等计算平台与分析库,通过DataWorks组件基于业务逻辑完成业务分析,保存计算后的结果表开发。计算结果可以封装为数据服务API,发布注册至API网关后,供外部报表工具调用进行可视化展示,或者以SDK方式共外部报表工具或应用进行调用。最后利用QuickBI、ECharts等报表组件或界面开发的方式进行可视化展示分析应用。
(三)数据可视化分析层架构
数据可视化分析层基于国网公司SG-UAP开发平台构建,其好处是遵守国家电网公司统一的开发标准,与统一权限系统等已实现标准的集成,运行平稳,降低了开发成本。详见图2。
由于SG-UAP平台集成开发工具是基于Eclipse工具实现的,符合业界主流开发标准,展现层能够很容易地与VUEX、ECharts等多种可视化框架集成,能够实现海量的可视化效果。
三、实现过程
(一)数据接入
将各业务系统数据进行汇聚整合,保留全量业务原始数据,形成贴源层,也称ODS层。源业务系统数据通过Datawork DI、DTS、DataHub组件接入MaxCompute贴源层全量表和增量表。该层只对各个来源的数据做汇聚、整合,并没有做过多的加工处理,数据基本还是原始结构。贴源层不做业务的解释,更不适合数据的分析、挖掘。
1.全量数据接入
针对数据量较小(小于50M),全量数据抽取对源端系统影响小。使用DataWorks-DI定时做全量抽取。每天全量保存在MaxCompute一个新的分区里面,按需开展数据更新。
新的分区,指的是通过设置分区字段,设置表为分区表。当使用分区字段对表进行分区时,新增分区、更新分区内数据和读取分区数据均不需要做全表扫描,可提高处理效率。
2.增量数据接入
(1)增量定时抽取
针对源端表只存在数据新增操作,且数据表具备增量标识字段,如日志类、访问流量类信息,可采取增量定时抽取策略。存量数据一次性通过DataWorks-DI从源端数据库表全量抽取,数据写入(INSERT OVERWRITE)MaxCompute贴源层的全量表。全量表按天分区,不设置生命周期。
增量数据每日根据增量标识使用DataWorks-DI做增量数据同步,数据直接存入MaxCompute全量表相应分区内。每天定时通过脚本将当天增量數据同步(INSERT)至MaxCompute全量表当日分区。
(2)增量实时同步
针对数据量较大并且源端数据存在增删改的情况,在数据接入中,存量数据一次性通过DataWorks-DI从源端数据库表全量抽取,数据写入(INSERT OVERWRITE)MaxCompute贴源层的全量表当日分区,全量数据按天分区保留全量切片数据,为节省空间仅保留两天分区数据。 增量数据通过OGG+DATAHUB的方式实现实时数据接入,将数据同步(INSERT)至MaxCompute贴源层的增量表当日分区内,增量表按天、小时、分钟三级分区,不设置生命周期,采取定期人工删除增量数据(默认半年)。
每天定时通过脚本合并当天增量表数据和全量表前一天分区数据,生成全量表当日分区数据。
(二)数据整合转换
由于大量的业务系统建设时以“部门级”为主导,导致存在大量数据孤岛。因此,直接使用来自业务系统的原始数据会存在数据管理不一致、格式定义不统一、数据无法关联等等问题。为解决该历史难题,国家电网公司设计了SG-CIM公共数据模型,作为企业公共信息模型。除了SG-CIM公共数据模型,省市公司结合实际需求,还需要形成满足个性化需要的标准表。
数据整合转换是指贴源层数据经过清洗过滤、编码转换、数据整合等工作后,在数据中台共享层以标准表或SG-CIM模型表存储,并定时更新。数据整合转换包括两个方面:(1)模型表整合转换,按照SG-CIM模型,经过整合转换后在共享层生成物理模型表。(2)基于贴源表,按照标準表设计规范,经过清洗转换后在共享层生成自定义表。
1.模型表整合转换
基于SG-CIM统一数据模型设计的物理表结构,按照模型表命名规范,通过DataWorks在数据中台共享层创建物理模型表。对于模型中的字段,不允许缺失或进行更改。
结合物理模型的字段映射和字段关联关系标准,从业务含义上开展源业务系统的表及字段溯源,并结合实际业务配置完成贴源表与模型表的字段映射或字段关联处理逻辑等转换规则。
基于转换规则配置,通过定时(按日)执行数据整合转换脚本,将贴源层全量数据表在共享层共享区整合落地。
2.自定义表整合转换
基于标准表物理表结构设计,通过DataWorks在数据中台共享层创建物理表,自定义表创建要按照标准表开发规范创建。
结合自定义表的字段映射和字段关联关系标准,从业务含义上,开展源业务系统的表及字段溯源,并结合实际业务,配置完成贴源表与模型表的字段映射或字段关联处理逻辑等转换规则。
(三)数据计算分析
数据计算分析是指基于共享层模型数据而进行分析计算,使用封装好的数据分析服务及算法模型服务,将数据通过DataWorks数据集成同步至分析层数据库中,形成统计指标结果、主题关联宽表等,供应用分析使用。其中,Vi组件为数据处理流程的起始点,负责调度任务;Sq节点完成数据计算;Di节点将计算结果写入分析层数据模型。
(四)数据服务
数据服务是指将分析层计算结果数据封装为WebService、Restful等类型的数据服务API,发布注册至API网关,在API网关组件上对发布的API进行调用授权许可,消费方与服务方能够互相信任,使得使用者只需关注API本身的查询逻辑,无须关心运行环境等基础设施,数据服务会准备好计算资源,支持弹性扩展,实现零运维成本。
如图3所示,数据服务发布流程包括:
1.数据服务封装。按照数据请求参数、数据返回格式等要求,利用DataWorks数据服务功能,以向导模式、自定义SQL脚本模式,将计算后的结果封装为JSON等格式的数据交换格式数据。
2.数据服务发布。将封装的数据服务发布至API网关,利用API网关对发布的数据服进行授权访问配置,并利用数据服务调用测试工具,对数据服务接口调用进行测试。
数据服务发布后,按照API接口说明表,服务消费者能够在任意终端(APP、PC、大屏等)消费。
(五)分析展示
分析展示是指,基于分析层数据,通过报表展示工具以即席查询方式将数据进行前端展现,旨在把一些统计性、结论性、预测性数据通过可视化框架(WebGL、VUEX、ECharts、Mapbox、Three.js)渲染出来。数据可视化框架通过API 接口,将后台传送的JSON数据,以多种浏览器、大屏兼容的方式进行展示。
常见的数据应用方式有:一是数据大屏,将数据可视化,提供业务决策支持;二是数据报表,对数据进行分析计算,通过表格、图像等形式展现。
以ECharts为例,ECharts以一个纯Javascript 的图表库生成的界面可以不经过修改流畅运行在如PC 、Pad、大屏等常见设备上,兼容当前绝大部分浏览器。其底层通过轻量级的矢量图形库ZRender,提供直观、交互丰富、可高度个性化定制的数据可视化图表。
同时,用户点击任何统计结果数据,即可穿透至明细数据展示页。根据调用规模采用不同方式,当单个数据服务返回结果超过2 000条或大小超过5Mb时,使用数据分页查询机制,通过构建带分页功能的数据服务,业务应用调用数据服务时指定分页页数和每页数据条数参数,通过多次调用就可完成全部数据结果查询。
结语
本文设计并实现了基于数据中台的大数据开发及展示的全过程,通过对财务大数据的分析展示,可以清楚地看到对孤岛数据进行加工处理后数据变得清晰、简洁,从而可以帮助用户更好地获取重要信息,将数据转化为生产力。
参考文献:
[1] 国家电网有限公司互联网部.泛在电力物联网建设大纲[R].北京:国家电网有限公司,2019.
[2] MaxCompute[EB/OL].https://help.aliyun.com/document_detail/27829.html.
关键词:电力企业;数据中台;财务大数据;可视化
中图分类号:F23 文献标志码:A 文章编号:1673-291X(2021)20-0128-03
一、财务大数据可视化实现目标
基于数据中台的财务大数据可视化分析,是以各业务系统数据为基础,实现多维数据分析与展示,重点聚焦在数据分析服务化、数据应用工具化的能力上,围绕“会计信息实时反映、预算全链条管理、工程全过程管控、资产全寿命管理、电价电费全环节管控、资金全方位管理、风险在线监控”等专业管理模块,实现精益管理的需求。
系统实现上,通过数据中台总体架构,全面支持财务数据的接入、数据转换、数据计算、数据服务、展示分析。同时,结合省公司专业处室、基层单位新增业务、板块、应用场景需求,继续开展数据溯源、模型搭建、输出设计、数据分析与应用场景建设。整体上在充分利用现有各财务系统的建设成果基础上,通过技术整合、功能整合、数据整合、模式整合、业务整合等技术手段,将各个分离的信息数据集成实现共享,并能够以数据服务方式对外分享,使资源达到充分共享,结果将有效节省建设的投资,提升系统建设的经济效益。
二、总体构架
(一)总体架构
总体架构分为数据汇聚与服务层、数据可视化分析层。基于阿里DataWorks平台实现的数据汇聚与服务层,能够实现数据集成、开发、治理、服务、质量和安全等全套数据研发工作。数据可视化分析层,基于国家电网公司统一应用开发平台,通过集成可视化框架(WebGL、VUEX、ECharts、Mapbox、Three.js等),以采用B/S架构的方式对外提供服务。
(二)数据汇聚与服务层架构
数据汇聚与服务实现流程如下:
1.通过数据集成同步业务数据和日志数据至MaxCompute。
2.通过MaxCompute、DataWorks对数据进行ETL处理。
3.同步分析后的结果数据同步至分析库。
4.通过Quick BI、ECharts可视化建立用户画像。
基于数据中台的大数据分析总体数据流向,如图1所示。
贴源层使用分布式数据仓库MaxCompute,源业务系统数据通过DataWorks DI、DTS、DataHub组件接入MaxCompute全量表和增量表;共享层使用分布式数据仓库MaxCompute,通过DataWorks-DI组件完成贴源层数据表到共享层基于模型的数据表和标准表转化;分析层利用MaxCompute、RDS、ADB等计算平台与分析库,通过DataWorks组件基于业务逻辑完成业务分析,保存计算后的结果表开发。计算结果可以封装为数据服务API,发布注册至API网关后,供外部报表工具调用进行可视化展示,或者以SDK方式共外部报表工具或应用进行调用。最后利用QuickBI、ECharts等报表组件或界面开发的方式进行可视化展示分析应用。
(三)数据可视化分析层架构
数据可视化分析层基于国网公司SG-UAP开发平台构建,其好处是遵守国家电网公司统一的开发标准,与统一权限系统等已实现标准的集成,运行平稳,降低了开发成本。详见图2。
由于SG-UAP平台集成开发工具是基于Eclipse工具实现的,符合业界主流开发标准,展现层能够很容易地与VUEX、ECharts等多种可视化框架集成,能够实现海量的可视化效果。
三、实现过程
(一)数据接入
将各业务系统数据进行汇聚整合,保留全量业务原始数据,形成贴源层,也称ODS层。源业务系统数据通过Datawork DI、DTS、DataHub组件接入MaxCompute贴源层全量表和增量表。该层只对各个来源的数据做汇聚、整合,并没有做过多的加工处理,数据基本还是原始结构。贴源层不做业务的解释,更不适合数据的分析、挖掘。
1.全量数据接入
针对数据量较小(小于50M),全量数据抽取对源端系统影响小。使用DataWorks-DI定时做全量抽取。每天全量保存在MaxCompute一个新的分区里面,按需开展数据更新。
新的分区,指的是通过设置分区字段,设置表为分区表。当使用分区字段对表进行分区时,新增分区、更新分区内数据和读取分区数据均不需要做全表扫描,可提高处理效率。
2.增量数据接入
(1)增量定时抽取
针对源端表只存在数据新增操作,且数据表具备增量标识字段,如日志类、访问流量类信息,可采取增量定时抽取策略。存量数据一次性通过DataWorks-DI从源端数据库表全量抽取,数据写入(INSERT OVERWRITE)MaxCompute贴源层的全量表。全量表按天分区,不设置生命周期。
增量数据每日根据增量标识使用DataWorks-DI做增量数据同步,数据直接存入MaxCompute全量表相应分区内。每天定时通过脚本将当天增量數据同步(INSERT)至MaxCompute全量表当日分区。
(2)增量实时同步
针对数据量较大并且源端数据存在增删改的情况,在数据接入中,存量数据一次性通过DataWorks-DI从源端数据库表全量抽取,数据写入(INSERT OVERWRITE)MaxCompute贴源层的全量表当日分区,全量数据按天分区保留全量切片数据,为节省空间仅保留两天分区数据。 增量数据通过OGG+DATAHUB的方式实现实时数据接入,将数据同步(INSERT)至MaxCompute贴源层的增量表当日分区内,增量表按天、小时、分钟三级分区,不设置生命周期,采取定期人工删除增量数据(默认半年)。
每天定时通过脚本合并当天增量表数据和全量表前一天分区数据,生成全量表当日分区数据。
(二)数据整合转换
由于大量的业务系统建设时以“部门级”为主导,导致存在大量数据孤岛。因此,直接使用来自业务系统的原始数据会存在数据管理不一致、格式定义不统一、数据无法关联等等问题。为解决该历史难题,国家电网公司设计了SG-CIM公共数据模型,作为企业公共信息模型。除了SG-CIM公共数据模型,省市公司结合实际需求,还需要形成满足个性化需要的标准表。
数据整合转换是指贴源层数据经过清洗过滤、编码转换、数据整合等工作后,在数据中台共享层以标准表或SG-CIM模型表存储,并定时更新。数据整合转换包括两个方面:(1)模型表整合转换,按照SG-CIM模型,经过整合转换后在共享层生成物理模型表。(2)基于贴源表,按照标準表设计规范,经过清洗转换后在共享层生成自定义表。
1.模型表整合转换
基于SG-CIM统一数据模型设计的物理表结构,按照模型表命名规范,通过DataWorks在数据中台共享层创建物理模型表。对于模型中的字段,不允许缺失或进行更改。
结合物理模型的字段映射和字段关联关系标准,从业务含义上开展源业务系统的表及字段溯源,并结合实际业务配置完成贴源表与模型表的字段映射或字段关联处理逻辑等转换规则。
基于转换规则配置,通过定时(按日)执行数据整合转换脚本,将贴源层全量数据表在共享层共享区整合落地。
2.自定义表整合转换
基于标准表物理表结构设计,通过DataWorks在数据中台共享层创建物理表,自定义表创建要按照标准表开发规范创建。
结合自定义表的字段映射和字段关联关系标准,从业务含义上,开展源业务系统的表及字段溯源,并结合实际业务,配置完成贴源表与模型表的字段映射或字段关联处理逻辑等转换规则。
(三)数据计算分析
数据计算分析是指基于共享层模型数据而进行分析计算,使用封装好的数据分析服务及算法模型服务,将数据通过DataWorks数据集成同步至分析层数据库中,形成统计指标结果、主题关联宽表等,供应用分析使用。其中,Vi组件为数据处理流程的起始点,负责调度任务;Sq节点完成数据计算;Di节点将计算结果写入分析层数据模型。
(四)数据服务
数据服务是指将分析层计算结果数据封装为WebService、Restful等类型的数据服务API,发布注册至API网关,在API网关组件上对发布的API进行调用授权许可,消费方与服务方能够互相信任,使得使用者只需关注API本身的查询逻辑,无须关心运行环境等基础设施,数据服务会准备好计算资源,支持弹性扩展,实现零运维成本。
如图3所示,数据服务发布流程包括:
1.数据服务封装。按照数据请求参数、数据返回格式等要求,利用DataWorks数据服务功能,以向导模式、自定义SQL脚本模式,将计算后的结果封装为JSON等格式的数据交换格式数据。
2.数据服务发布。将封装的数据服务发布至API网关,利用API网关对发布的数据服进行授权访问配置,并利用数据服务调用测试工具,对数据服务接口调用进行测试。
数据服务发布后,按照API接口说明表,服务消费者能够在任意终端(APP、PC、大屏等)消费。
(五)分析展示
分析展示是指,基于分析层数据,通过报表展示工具以即席查询方式将数据进行前端展现,旨在把一些统计性、结论性、预测性数据通过可视化框架(WebGL、VUEX、ECharts、Mapbox、Three.js)渲染出来。数据可视化框架通过API 接口,将后台传送的JSON数据,以多种浏览器、大屏兼容的方式进行展示。
常见的数据应用方式有:一是数据大屏,将数据可视化,提供业务决策支持;二是数据报表,对数据进行分析计算,通过表格、图像等形式展现。
以ECharts为例,ECharts以一个纯Javascript 的图表库生成的界面可以不经过修改流畅运行在如PC 、Pad、大屏等常见设备上,兼容当前绝大部分浏览器。其底层通过轻量级的矢量图形库ZRender,提供直观、交互丰富、可高度个性化定制的数据可视化图表。
同时,用户点击任何统计结果数据,即可穿透至明细数据展示页。根据调用规模采用不同方式,当单个数据服务返回结果超过2 000条或大小超过5Mb时,使用数据分页查询机制,通过构建带分页功能的数据服务,业务应用调用数据服务时指定分页页数和每页数据条数参数,通过多次调用就可完成全部数据结果查询。
结语
本文设计并实现了基于数据中台的大数据开发及展示的全过程,通过对财务大数据的分析展示,可以清楚地看到对孤岛数据进行加工处理后数据变得清晰、简洁,从而可以帮助用户更好地获取重要信息,将数据转化为生产力。
参考文献:
[1] 国家电网有限公司互联网部.泛在电力物联网建设大纲[R].北京:国家电网有限公司,2019.
[2] MaxCompute[EB/OL].https://help.aliyun.com/document_detail/27829.html.