0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

华为云GaussDB(for Influx):让智能电网时序数据处理更高效

路过的憨憨 来源:路过的憨憨 作者:路过的憨憨 2022-11-25 09:06 次阅读

1. 电网场景中的时序数据

今天在手机上就可以直接交电费、查看剩余电量、电量不足还可以发出告警提醒、以及分析过去的用电情况、预估未来用电情况等等。再也不用去缴费点缴费,也不用人工去每个电表上抄每家的使用情况,这些都基于我们国家的智能电网建设,而以上只是对消费者带来的一些便利。智能电网在电网线路监控、电力调度、配电等方面发挥着越来越重要的作用。

智能电网是由许多部分组成,包括智能变电站,线路输送,智能交互终端,智能电表,智能中央系统等等。每个部分都集成了大量的传感器,这些分布在全网各节点的传感器无时无刻不在收集各类数据。随着中国智能电网建设的不断完善,其测点的规模越来越大,达到数千万级以上,并且单个测点将以分钟级甚至秒级的频率产生数据。将会产生海量的监控数据,而且这些数据大部分属于时序数据。

因此在针对智能电网构建集中式数据中心时,如何存储、处理、分析海量的监控数据成为一个难点,具体包括以下面三个方面 :

· 数据规模超大,分布密集,数据存储难

以智能电网中WAMS 系统为例,每秒需要处理的时序数据记录数可达到一千万,因此需要支撑每秒千万级别的写入。常规的数据处理方式根本无法满足需求。

· 数据处理实时性需求高

针对数千万的电表终端,客户在充值后要立即生效,客户产生的电量要实时的计费,并反馈给客户等场景,都需要实时的处理海量数据

针对数千公里的电网线路监控,如果出现异常,要能及时告警等,

· 数据价值挖掘困难

电网检测点多,检测信息密集,在如此海量的数据中挖掘出有价值的信息也会遇到很大的挑战。

1.1 智能电网设备中的时序数据

image.png

智能电网中的时序数据一般是指由设备/仪表产生,由传感器进行收集,与某一设备具体相关,在时间上前后存在关联性的一类数据。如上图所示,对于电网中的电表设备,其电压、电流值就是典型的时序数据。

一条时序数据记录一般可定义为三元组:

· DeviceID : 产生该条数据的物理设备/传感器

· TimeStamp为记录产生的时间戳

· Value : 为设备测点具体的值。

在智能电网设备运行中,需要存储的数据包括状态量和模拟量。状态量反应设备的运行状态和告警状态,一般通过事件顺序(Sequence of Event,SOE)记录可满足对数据的检索和分析需求。电流、电压和功率等模拟量会随着设备运行时刻变化,具有明显的时序特性,需要进行时序存储。通过在选定的时间内查询 SOE 记录,可以将状态量和模拟量进行关联分析。智能电网监控系统中,已对断路器、隔离开关,变压器、负荷和联络线等电网设备进行建模,数据模型包括状态量和模拟量,其中模拟量包括电压、电流、有功、无功和频率等,不同的设备类型需要采集和存储的模拟量不同。以智能电表为例子,智能电表是组成智能电网的基础设施,通常安装在用户楼宇,用于收集每户产生的电力负荷数据,智能电表至少每天将这些信息反馈给中央系统。智能电网时间序列数据主要由大量的时间戳/值对组成,且通常一次写入,多次查询,很少修改或删除,但可追加,根据智能电网应用场景,一般访问一段时间内或某一时间点的数据。

下面我们可以具体看一下不同的电网设备采集和存储时序数据也大有不同。

1.2 各类智能电网设备时序数据测点举例

· 线路输送设备数据存储需求

智能电网线路设备主要包括母联,母线,变压器,容抗器,联络线,负荷和发电机,这些设备采集和观测的指标也各有不同。

image.png

· 智能电表设备数据存储需求

主要指安装在用户楼宇的智能电表收集的电力负荷数据,本质上是时间序列数据。以固定的短暂的时间间隔为单位持续记录,并实时反馈给中央监控系统。其对于客户和电网公司非常重要,因其可被用于许多电网服务,比如跟踪电能消耗和预测电力负荷。除此之外,

电能表冻结电量值 - 电能表定时冻结,瞬时冻结,日冻结,整点冻结也是很重要的指标,用于计费用户用电量和管理梯度用电使用情况。一般会对电能表定时冻结,瞬时冻结,日冻结,整点冻结数据存储和查询,方便对年度、季度、月度的电量进行计算查询。

image.png

image.png

1.3 电网数据常用的查询场景

智能电网数据采集及监控系统(SCADA)作为智能电力物联网的一部分,对于时序数据处理有着多种维度查需和数据聚合需求,不仅需要实时监控,需要历史数据分析,例如历史 PDR 反演和事故分析。

因此智能电网行业应用场景对时序数据的访问方式主要有三种 :

· **折线查询 : **获取指定设备一段时间内的相关量测值,如查询特定用户智能电表在一段连续时间内的有功电能量。即测量对象为正向有功尖能量 (fd.shark.electricity),测量属性为 user= lvsejiayuan.A.unit2.603,dtype=ammeter,需查询 2014.09.01 这一天的正向有功尖电能量。

o 对于折线查询,对象为监测的设备或关注的指标,特征集可标识为 FSet = <(t1,v1), (t2,v2), ......, (tn,vn)>,其中 (t1, t2, t3, ......, tn) 为特定的时间序列,使用基于时间戳的偏移表示;(v1, v2, v3, ......, vn) 为与时间序列相对应的量测值。

· **断面查询 : **获取特定时间点特定区域内所有设备的相关量测值,如查询特定时间点某地区所有用户智能电表的有功电能量。及测量对象为正向有功尖能量 (fd.shark.electricity),测量属性 dtype=ammeter, 时间戳为 1409529600 (2014.09.01 08:00:00),需查询某地区特定时刻所有智能电表的正向有功尖电能量。

o 对于断面查询,对象为关注的区域/逻辑对象 (如街道/生活区/电厂),特征集可标识为 FSet = <(d1,v1), (d2,v2), ......, (dn,vn)>,其中 (d1, d2, d3, ......, dn) 为区域/逻辑对象所包含的设备/测点,(v1, v2, v3, ......, vn) 为对应的设备/测点在指定时间戳的值。

· **设备最新状态查询 : **这种场景类似于断面查询,只是针对最新最近的数据。通常用于检测设备是否正常工作。

2. 电网时序数据存储探索

最早的时候,智能电网相关应用系统中,一般使用 Oracle,Db2 等关系型数据库处理时序数据。

然而,传统的实体关系模型在应对时序数据时存在如下问题 :

· 数据存储孤立分离。按照实体关系模型,一条时序数据记录被保存为单独的一行,因此连续时间段内的数据被孤立分离地存储在数据库中。

· 数据的访问速度与数据量的大小成反比。随着数据量的增加,访问速度越来越慢。同时,大多数关系型数据库为了提升查询性能,针对大量数据建立索引,由此消耗大量的系统资源。

· 无法满足时序数据的实时处理需求。对于海量时序数据,关系型数据库无法高速的加载并满足处理需求。

后来,电力系统内的普遍做法转向使用商业时序数据库软件,如 OSIsoft Pi、eDNA 等作为时序数据的存储和读取工具。利用实时数据库进行时序数据处理。

然而实时数据库在应对智能电网大数据时存在如下问题:

· 无法支持大规模测点管理。对于国家级或省级智能电网而言,需要支持上亿甚至上十亿的测点规模。然而,无论 PI,eDNA,均无法为大规模测点管理提供支撑。

· 扩展能力不足。实时数据库一般只支持单机部署,无法集群部署,无法支撑大规模数据应用。

· 高可用与数据安全性不足。实时数据库一般不具备高可用特性,对于所存储的数据的安全性,也完全依赖于硬件与数据库软件本身,不支持数据冗余备份,无法应对大数据分析场景。

随着大数据技术的发展,近年来也有一些基于开源的 HBase,Cassandra 等 NoSQL 数据库处理时序数据的研究和应用。

这些分布式 NoSQL 数据库虽然解决了扩展能力,但是其通用的数据组织方式并不完全适合智能电网行业对时序数据存储和查询需求,用户必须根据实际应用场景,进行特殊设计甚至大量数据冗余存储才能较好的利用资源处理请求。

大部分仅提供的单个测点的数据存储接口,无法将设备模型数据与离散测点结合,难以支撑历史潮流分析、故障分析和 WAMS 等智能电网高级应用。除此之外,它们的数据模型单一,对于读取一定时间范围内的数据记录效率较高,但对于定位某个时间点的多条记录,过滤,组合等一系列操作将浪费大量 I/O 资源。其次,二维数据模型中的每个存储单元由主键和列限定符唯一表示,因而大部分磁盘都浪费在存储重复的主键,存在大量冗余信息,存储效率低。同时,由于智能电网场景对于时序数据处理有着多种维度查需和数据聚合需求,通用 KV 数据库往往需要结合 ElasticSearch / Solr 等搜索引擎进行加速或者需要开发巧妙设计 KV 结构才能达到很好的效果,但是这样大幅度提升了开发员人的学习和运维成本。

针对电网场景中时序数据,专业的分布式时序数据库是最好的选择,因为他们具备以下重要的特性 :

· **灵活多变的数据模型 : **用户根据业务需求,通过标签组合的方式自由定义数据模型,同时也可以根据业务变化和演进进行变更。

· **高写入吞吐量 : **分布式时序数据库解决大规模集群的横向扩展问题,保证高性能平稳写入的需求。

o 在一些大规模的应用性能监控、物联网场景,海量的设备持续产生时序数据,例如省域级别的电网用电测量数据,9000万数量级的电表设备,原来每个月采集一次,后续业务升级后15分钟采集一次,每秒需要处理的时序数据点数达到数百万甚至千万数据点,需要庞大且可以横向水平扩展的集群来支撑全量的业务写入。

· **高效的时序数据查询与分析 : **时序数据库支持多维时间线检索、并具备流式处理、预计算等能力,满足大规模 APM、物联网,工业物联网等业务场景的典型查询需求。

o 在典型的监控场景,通常需要对长周期的数据进行查询分析,比如针对某些指标最近1天、3天、7天、1个月的趋势分析、报表等;而在物联网场景,有一类比较典型的断面查询需求,例如查询某个省指定时间所有电表的用电量量明细数据,查询某个品牌空调的某个时间的平均运行温度;这些查询要扫描大量的集群数据才能拿到结果,同时查询的结果集也可能非常大。

· **低成本的时序数据存储 : **时序数据库充分利用好时序数据量大、冷热访问特征明显,进行计算、存储资源的解耦,通过低成本存储介质、压缩编码、冷热分离、高效 TTL等技术将数据存储成本降低到极致。

o 在车联网场景,20000辆车每小时就产生近百 GB 的车辆指标数据。如果要保存一年的运行数据就需要PB级的数据存储规模。由于数据规模巨大,对存储的低成本要求很高,另外时序数据的冷热特征明显。

· **丰富的生态协同 : **时序数据库与数据可视化平台、大数据处理、流式分析系统等对接,与周边生态形成协同来创造业务价值。

o 在物联网、工业互联网等场景,时序数据通常有进一步做运营分析处理的需求,在很多情况下时序数据只是业务数据的一部分,需要与其他类型的数据组合来完成查询分析。

3. 智能电网数据模型

下面我们具体看一下智能电网中的数据模型,从而进一步体现为什么时序数据库是智能电网场景中数据处理的最佳选择。

3.1 统一标准 SG-CIM

针对现在电力行业各企业业务数据模型多样化,非统一,交互困难等问题,国家电网公司通过分析整合,提出了一个新型的企业公共数据模型(SG-CIM), 形成了统一的信息视图,实现多企业多业务应用系统间的数据交互共享。SG-CIM 和时序数据库模型非常匹配。

在智能电网管理平台中,SG-CIM 数据模型中的每个叶子节点称为测量对象,叶子节点标签称为测量属性,它由一个或多个键值对组成,用于进一步刻画补充测量对象的属性信息,根至叶子节点的全路径称为用户属性,作为一个特殊属性处理。

测量对象+时间戳+测量属性+测量值的组合称为一条时间序列数据记录,也称电力负荷数据测点。 以某楼宇中某居民用户安装的智能电表为例,描述 SG-CIM 数据模型在海量数据管理平台中的应用,如下图所示。

根据 SG-CIM 数据模型,一条时间序列数据记录由如下几部分组成 :

· **测量对象 (obj) : **一个被定量测量对象的名称,比如电能量,吞吐量等。

· **时间戳 (timestamp) : **以 UNIX 时间表示(秒或毫秒),用于标识这条时间序列被记录/存储的时间。

· **测量属性 (tag) : **键值对,用于区分或组组织测量对象相同,但来自不同源或相关实体的相似数据点,增加灵活性。

· **测量值 (value) : **该测量对象在当前时刻的实际测量值,整型或浮点型。

测量对象 (obj) 以 SG-CIM 数据模型中的每个叶子节点来刻画,例如正向有功尖能量 (fd.shark.electricity)。

测量属性 (tag) 以 SG-CIM 数据模型中叶子节点的属性:用户 (user) 和设备类型 (dtype) 等属性来描述,例如 user= lvsejiayuan.A.unit2.603,dtype=ammeter,user 是一个特殊的属性,用根至叶子节点的全路径刻画。

3.2 根据 SG-CIM 模型进行时序数据模型设计 - 多值模型和单值模型

· 单值模型 : 即对测点建模,以单个测点对测点定义时序采样。

o 按设备将每个设备的测量值属性分别定义到时序数据库中。

o 这种存储方式数据定义、变化值提交和历史值查询都相对简单。

o 缺点同样明显,存储在时序数据库中数据没有关联性,如需同时查询线路的有功和电流,则需要分两次查询,查询性能较低,同时也不利于做关联性分析。

o OpenTSDB 和 Prometheus 时序数据库采用的是单值模型。

· 多值模型 : 即对设备/数据源进行建模,例如基于智能电网设备建模。

o 在时序数据库中,将同一个设备采集的不同测点属性存储在一张表的不同域。

o 这要只需要一次查询,即可得到一个设备的所有量测,查询效率和数据同步行都相对较高。

o 线路设别在时序数据库中的记录可定义为八元组:

o GaussDB(for Influx), InfluxDB,TimeScaleDB 等时序数据库采用的是多值模型。

4. GaussDB(for Influx) 如何支撑庞大的智能电网数据

4.1 GaussDB(for Influx)

云原生分布式时序数据库 GaussDB(for Influx) 采用存储计算分离架构。

· 集群能力方面 : 具备非常平滑快速的弹性扩缩容能力。集群可以轻松扩展至每秒千万点写入吞吐量,PB界别的存储支持。

· 服务和数据高可用方面 : 数据三副本存储确保数据可用性;集群跨 AZ 可用区容灾部署,集群最大支持 N - 1 节点故障,同时数据自动负载均衡避免热点。

· 时序数据存储方面 : 深度优化存储引擎,确保稳定的高吞吐量写入;同时时序数据的自适应压缩能力,让时序数据压缩比达到20 : 1;自动的数据冷热分层存储,进一步降低数据存储成本。

· 时序数据计算方面 : 集成了丰富的数据聚合,降采样,插值,预算,异常检测等算子。同时支持边云同步能力,实现数据边云一体化。

· 在生态和开源兼容方面 : 支持多种开源时序数据库协议,例如 Prometheus,Graphite 和 OpenTSDB,同时完全兼容 InfluxDB 生态。

4.2 基于 GaussDB(for Influx) 的电网数据模型设计

GuassDB(for Influx) 在生态和协议方面完美兼容 InfluxDB。InfluxDB 灵活多变的 Schema-Free 行协议可以完美匹配 SG-CIM 模型。

数据写入时候,不需要提前创建 Schema 定义,同时支持 Tags 和 Fields 字段自由扩展,未来有需要新增维度的时候,可以动态进行增加。

可以参考下面简单的例子 :

我们以智能电网中线路设备数据为例子,根据行协议如何将 SG-CIM 模型转化成 GaussDB(for Influx) 数据模型 :

· Measurement : stbl_line,相当于关系型数据库中的表概念。

· Fields : SG-CIM 模型中的多个测量对象 (Obj),即线路设备采集和上报的指标项,后期可以动态扩展。

o i_value, i_status : 电流相关指标

o p_value, p_status : 电压相关指标

o q_value, q_status : 功率相关指标

o 其中各个指标项采集的值是测量值 (value)

· Tags : SG-CIM 模型中的测量属性 (Tag),表示线路设备静态属性标签,可以根据系统需要自定义和扩展

o deviceId : 设备标识 ID

o deviceType : 设备类型标识

o line : 线路标识 ID

· Timestamp : SG-CIM 模型中时间戳项。

stbl_line , line = XXX线路 , deviceType =XXX,deviceId=**E08995** **i_value**=**X**,**i_status**=**X**,**p_value**=**X**,**p_status**=**X**,**q_value**=**X**,**q_status**=**X** **1663121437010000000**

**5. 总结 **

GaussDB(for Influx) 是一款基于计算存储分离架构,完全兼容 InfluxDB 生态的云原生时序数据库。依托于华为云计算平台高性能,高可靠,高安全,可弹性伸缩的基础上,GaussDB(for Influx) 提供时序数据高效存储、分析、展示功能,同时具有高写入性能、灵活扩容、高压缩率和高查询性能等特点。GaussDB(for Influx) 可以广泛应用于各种时序数据处理场景,例如工业物联网,车联网,物联网,运维监控,银行金融等。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能电网
    +关注

    关注

    35

    文章

    2930

    浏览量

    116252
  • 华为云
    +关注

    关注

    3

    文章

    2491

    浏览量

    17426
收藏 人收藏

    评论

    相关推荐

    康谋分享 | 如何应对ADAS/AD海量数据处理挑战?

    如何有效处理ADAS/AD海量数据并从中获得见解?IVEX数据处理流程可自动从原始传感器数据等输入中识别出值得关注的事件和场景,推动数据
    的头像 发表于 12-25 10:05 868次阅读
    康谋分享 | 如何应对ADAS/AD海量<b class='flag-5'>数据处理</b>挑战?

    cmp在数据处理中的应用 如何优化cmp性能

    CMP在数据处理中的应用 CMP(并行处理)技术在数据处理领域扮演着越来越重要的角色。随着数据量的爆炸性增长,传统的串行处理方法已经无法满足
    的头像 发表于 12-17 09:27 246次阅读

    使用 RISC-V 进行高效数据处理的方法

    使用RISC-V进行高效数据处理的方法涉及多个方面,包括处理器内核与DSA(领域特定加速器)之间的通信优化、内存管理优化、多线程性能提升等。以下是一些具体的方法: 一、处理器内核与DS
    的头像 发表于 12-11 17:52 356次阅读

    上位机实时数据处理技术 上位机在智能制造中的应用

    。这种技术对于工业自动化、智能制造等领域至关重要。 在上位机实时数据处理中,关键技术包括数据采集、数据处理数据可视化、
    的头像 发表于 12-04 10:29 505次阅读

    海量数据处理需要多少RAM内存

    海量数据处理所需的RAM(随机存取存储器)内存量取决于多个因素,包括数据的具体规模、处理任务的复杂性、数据库管理系统的效率以及所使用软件的优化程度等。以下是对所需内存量的分析: 一、内
    的头像 发表于 11-11 09:56 311次阅读

    FPGA在数据处理中的应用实例

    FPGA(现场可编程门阵列)在数据处理领域有着广泛的应用,其高度的灵活性和并行处理能力使其成为许多高性能数据处理系统的核心组件。以下是一些FPGA在数据处理中的应用实例: 一、通信协议
    的头像 发表于 10-25 09:21 363次阅读

    智能升级,楼宇自控系统办公更高效

    智能升级,楼宇自控系统办公更高效 在快节奏的现代都市生活中,办公效率成为了企业竞争力的关键因素之一。随着科技的飞速发展,楼宇自控系统作为智能建筑的核心技术,正逐步渗透到我们的办公环境
    的头像 发表于 09-19 14:12 265次阅读

    LiDAR激光点数据处理软件处理流程

    、形状等信息。LiDAR技术在地形测绘、城市规划、林业、交通、考古等领域有着广泛的应用。本文将介绍LiDAR激光点数据处理软件的处理流程。 一、LiDAR数据采集 飞行平台选择:Li
    的头像 发表于 08-29 17:05 1031次阅读

    探秘IO分布式模块设计:数据处理更高效

    随着互联网的飞速发展,大数据计算、人工智能等技术逐渐成为时代的主流。在这个数据爆炸的时代,如何高效
    的头像 发表于 07-26 13:54 699次阅读
    探秘IO分布式模块设计:<b class='flag-5'>让</b>大<b class='flag-5'>数据处理</b><b class='flag-5'>更高效</b>

    “零代码”智能组装,华为新一代 iPaaS 超联接能力集成更智能

    企业的大门。 6 月 21-23 日,华为开发者大会 2024(HDC 2024),华为应用与数据集成平台ROMA Connect与企业一起启程,探索
    的头像 发表于 07-10 20:56 3077次阅读
    “零代码”<b class='flag-5'>智能</b>组装,<b class='flag-5'>华为</b><b class='flag-5'>云</b>新一代 iPaaS 超联接能力<b class='flag-5'>让</b>集成更<b class='flag-5'>智能</b>

    深圳特信电子|车载车库GPS信号探测器:停车管理更高效智能

    深圳特信电子|车载车库GPS信号探测器:停车管理更高效智能
    的头像 发表于 05-23 08:54 343次阅读

    华为GaussDB数据库基础版发布:旗舰性能、价格下降超60%

    高性价比:相比企业版,华为 GaussDB 基础版价格大幅下调(降幅达 60%-70%),且支持全场景数据压缩,具有“超高压缩比”,性能影响仅为 5%-10%,存储成本降低 50%。
    的头像 发表于 05-07 14:21 631次阅读

    时序数据库是什么?时序数据库的特点

    时序数据库是一种在处理时间序列数据方面具有高效和专门化能力的数据库。它主要用于存储和处理时间序列
    的头像 发表于 04-26 16:02 656次阅读

    华为多模数据库 GeminiDB 架构与应用实践直播问答实录

    多模数据库作为一种新兴的数据管理解决方案,正在受到越来越多的关注。而华为多模数据库 GeminiDB 基于云原生
    的头像 发表于 04-08 18:25 1160次阅读

    数据处理

    初学者想请教一下大家,采集的噪声信号,想要对采集到的数据累计到一定数量再进行处理,计划每隔0.2秒进行一次数据处理,(得到均方根值等一些特征值)请问大家有什么方法可以实现
    发表于 01-07 10:11