XXX发电有限公司数据采集技术规范目录前言 31. 范围 42. 规范性引用文件 43. 术语与定义 43.1. 工业大数据生态云平台 43.2. 大集控 43.3. 广源集控 53.4. 新能源 53.5. ETL 53.6. 时间戳 53.7. 数据库链接 53.8. 结构化数据 53.9. 半结构化数据 错误!未定义书签3.10. 非结构化数据 53.11. 多源异构数据 54. 管理内容和要求 54.1. 数据采集规范 64.2. 厂站侧采集规范 104.3. 大数据据平台侧采集规范 125. 附录 132XXX发电有限公司数据采集技术规范1. 范围1.1. 为规范XXX发电有限公司(以下简称公司)本部各职能部门及所属各企业的数据接入工作,根据XX电力工业大数据生态云平台的建设要求,特制定本规范1.2. 本规范适用于公司本部各职能部门及所属各企业的监控类、监测类、统计类、计量 类、分析类、管理类等各类生产运行系统和业务管理系统的数据采集工作数据采集及传输的范围包括须接入工业大数据平台的河流、水库、大坝、水电厂、水电机组、水文站、火电厂、火电机组、风场、风机、光伏方阵、光伏组件等设施中的生产测点数据, 以及各业务系统的管理数据。
2. 规范性引用文件下列文件对于本文件的应用是必不可少的凡是注日期的引用文件,仅所注日期的版本适用于本文件凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件GB 4943.1-2011 信息技术设备安全GB/T 22239-2019 信息安全技术网络安全等级保护基本要求GB/T 25070-2019 信息安全技术网络安全等级保护安全设计技术要求3. 术语与定义下列术语和定义适用于本标准3.1. 数字生态平台 Digital Ecosystem Platform数字生态平台是基于云计算、模型、BIM、GIS、移动互联网、物联网、边缘计算、人工智能等技术,由大数据平台、数据中台、应用开发支撑平台、应用系统等构成,为公司数 字化建设提供数据链接能力、数据存储能力、数据计算能力、业务流程能力、数据应用能力等3.2. 新能源 new energy公司已开发利用或正研究布局新生能源产业,如光伏、风电等相关厂站3.3. ETL Extract-Transform-LoadETL是英文 Extract-Transform-Load 的缩写, 用来描述将数据从来源端经过采集(extract)、转换(transform)、加载(load)至目的端的过程。
3.4. 时间戳 time stamp对时间和其他待签名数据进行签名得到的,用于表明数据时间属性的数据[GB/T 25069-2022,定义 3.541]3.5. 数据库链接 database link数据库链接是定义一个数据库到另一个数据库的路径的对象,database link允许查询远程表及执行远程程序在任何分布式环境里,database link都是必要的另外要注意的是database link是生态平台到业务系统单向的连接3.6. 结构化数据 structured data一种数据表示形式,按此种形式,由数据元素汇集而成的每个记录的结构都是一致的并 且可以使用关系模型予以有效描述[GB/T 35295-2017,定义 2.2.13]3.7. 非结构化数据 unstructured data不具有预定义模型或未以预定义方式组织的数据[GB/T 35295-2017,定义 2.1.25]3.8. 多源异构数据 multi-source heterogeneous data指来源于多个数据源的非统一标准结构的数据,既有混合型数据(包括结构化和非结构 化)又有离散性数据(数据分布在不同的系统或平台) 。
4. 管理内容和要求134.1. 数据采集规范4.1.1. 数据采集方式为保证XX电力大数据平台与其他相关系统的独立性,XX电力大数据平台将由数据采集 调度程序进行采集数据,产生数据交互的系统需有 ntp 对时结合各种数据现状,ETL模块主要支持以下模式的数据同步:(1) 数据库直抽:允许XX电力大数据平台从其它系统的数据库中直接获取数据,例如 通过 ODBC、JDBC 等接口;(2) KaFka+Slipstream:通过定制准实时数据采集工具,将实时生产测点数据通过KaFka 进行异步解析,然后经由 Slipstream 数据同步至 hbase 数据库4.1.2. 数据流向图4.1.2.1. 准实时数据(1) 准实时生产数据主要采集对象为大集控、广源集控、新能源相关的测点数据结合 三个渠道的实际情况,直接采用标准 104 及非标 104 进行生产数据接入处理a) 大集控图 1 大集控测点数据接入流向图b) 广源集控图 2 广源集控测点数据接入流向图c) 新能源图 3 广源集控测点数据接入流向图(2) 测点数据接收点表应包含测点数据类型、点号、厂站机组描述、简码、历史简码、发电类型、厂站、传输端口号、传输协议、机组、原始编码 1、原始编码 2、功能码、站号等信息,例如:表 1 测点数据接收点表测点数据类型(四遥)点号厂站机组描述简码历史简码发电类型厂站传输端口号传输协议机组原始编码1原始编码2功能码站号是否再用遥信1马王GGD风马241844501WROT4#变桨L03电王#0200.Boo急停引XN04l.Rd起机组2A0.b0.安全链4000001断开0014.1.2.2. 业务管理数据图 5 业务管理数据接入流向图4.1.3. 数据采集策略数据采集策略包括全量采集和增量采集两种方式采集。
4.1.3.1. 全量采集全量采集类似于数据迁移或数据复制,它将数据源中的表或视图的数据原封不动的从数 据库中采集出来,并转换成自己的ETL工具可以识别的格式4.1.3.2. 增量采集增量采集只采集自上次采集以来数据库中要采集的表中新增、修改、删除的数据在ETL 使用过程中增量采集较全量采集应用更广如何捕获变化的数据是增量采集的关键对捕 获方法一般有两点要求:准确性,能够将业务系统中的变化数据准确地捕获到;性能,尽量 减少对业务系统造成太大的压力,影响现有业务业务系统对增量数据的捕获可采用表1,所示几种方式:表 2 增量数据捕获方式表捕获方式技术实现特点技术实现分析时间戳通过数据库表中包含的一个时间戳字段来记录数据发生变化的时间,在数据发生变化的同时通过应用程序或者触发器来修改时间戳字段采集过程清楚简单,速度快每次数据采集时,记录最大的时间戳,作为本次采集的结束时间以及下次采集的开始时间一般需要对数据库的表结构进行修改, 同时需要修改应用程序(或加触发器),改动工作量大增量日志表(或增量文件)通过在数据库中添加增量日志表(或增量文件)来记录变化的数据修改应用程序(或加触发器),将变化的数据记录到增量日志表中。
同时在增量日志表中添加两个字段:增量标志,时间戳字段增不需要修改原数据库表结构,但增量日志表的维护同样需要修改应用程序或加触发器来完成量标志用来记录增量类型,如新增、删除或修改以区分不同类型的变化数据;时间戳字段用来确定每次采集的数据范围,采集方法与时间戳方法一样,该字段可以用一个不断增长的全局唯一标识字段来代替,即在每次采集时,记录下最大ID号作为本次采集的结束标志以及下次采集的开始标志通过增量标志字段,可以区分不同类型的增量数据,弥补了时间戳方法不能捕获删除数据的缺陷数据库快照将上次执行完数据采集后的数据库快照记录下来,与当前要进行增量数据采集的数据库 快照进行比较,生成增量数据如果上次快照中的记录在当前的快照中不存在,则表示已被删除;如果上次快照中的记 录在当前的快照中仍然存在,则比较记录中的 字段,如果字段取值完全一样,则表示记录没 有变化,如果有字段取值不同,则表示该记录 被修改;如果当前的快照中的记录在上次的快照中不存在,则表示是新增的记录进行快照比较时,通常会基于主键进行全表扫描,在数据量非常大的情况下,非常耗费系统资源和时间应用程序日志数据的变化是由应用程序引发的,因此可以将应用程序执行成功的修改操作记录下来, 在目标数据库系统重新执行这些操作,所得结果就是要捕获的增量数据。
数据库之上的应用程序种类繁多,都要求支持应用程序日志比较难实现数据库日志(CDC方式)通过分析数据库的系统日志来获取变化的数据该方法的源自应用程序日志法,对数据 库中数据的最终修改,都是通过数据库管理系 统来完成,数据库管理系统的系统日志详细记 录了所有的修改操作通过数据库自带或者专用的工具来读取数据库日志数据库的系统日 志往往数据量非常大, 且格式复杂,不同的数据库系统日志格式也 不一样,要从不同规格的大数据量的系统日 志中分析得到所需要 的信息,工作量很大4.1.4. 数据采集原则数据量较小的数据表采用“全量”方式采集,数据量大的数据表采用“增量”方式采集 其中:(1) 大表:业务系统中,60 个月(5 年)后记录数增长到 100W 条的表依据时间戳字段增量采集数据2) 小表:业务系统中,60 个月(5 年)后记录数未增长到 100W 条的表按全量方式采集数据4.1.5. 数据采集周期为了规范及明确大数据平台数据采集流程,我们特别针对数据采集周期定制了以下原则:(1) 针对于实时生产测点接口数据,按毫秒级进行数据采集;(2) 针对于日增量接口数据,每天凌晨 0:00 进行数据采集;(3) 针对于月增量接口数据,每月第一天凌晨 0:00 进行数据采集;(4) 针对于日全量接口数据,每天凌晨 0:00 进行数据采集;(5) 针对于月全量接口数据, 每月第一天凌晨 0:00 进行数据采集。
4.2. 厂站侧采集规范4.2.1. 模型设计厂站侧业务系统中,对增量接口数据,在模型设计时, 必须可以支持每一条数据记录的生命周期管理在对应的每一张表必须要有记录建立时间、更新时间(create_time和update_time)二个时间类型字段,要求至少精确到天对于新增记录必须标示唯一的create_time,并且更新时间等于创建时间;对于记录的任一字段属性的更新都需刷新更新时间update_time4.2.2. 数据维护(1) 数据新增:每一条记录新增时(包括外部数据导入),均应记录建立时间(create_time),建议建立时间取系统时间,不要在当天补存 create_time 或。