CN109308290B - 一种基于cim的高效数据清洗转换方法 - Google Patents
一种基于cim的高效数据清洗转换方法 Download PDFInfo
- Publication number
- CN109308290B CN109308290B CN201810885500.6A CN201810885500A CN109308290B CN 109308290 B CN109308290 B CN 109308290B CN 201810885500 A CN201810885500 A CN 201810885500A CN 109308290 B CN109308290 B CN 109308290B
- Authority
- CN
- China
- Prior art keywords
- data
- cleaning
- workflow
- cim
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000006243 chemical reaction Methods 0.000 claims abstract description 82
- 238000010586 diagram Methods 0.000 claims abstract description 21
- 230000000694 effects Effects 0.000 claims description 44
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 13
- 238000005457 optimization Methods 0.000 claims description 12
- 238000013519 translation Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 16
- 238000013499 data model Methods 0.000 abstract description 9
- 230000010354 integration Effects 0.000 abstract description 4
- 238000013500 data storage Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 239000000872 buffer Substances 0.000 description 15
- 238000012544 monitoring process Methods 0.000 description 15
- 230000009466 transformation Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000007405 data analysis Methods 0.000 description 7
- 206010000117 Abnormal behaviour Diseases 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000010219 correlation analysis Methods 0.000 description 4
- 238000013506 data mapping Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000013075 data extraction Methods 0.000 description 3
- 238000007418 data mining Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000010195 expression analysis Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于CIM的高效数据清洗转换方法,该方法包括:接收来自电力系统用户请求的数据清洗转换任务;将数据清洗转换任务解译为工作流图;对工作流图进行转换和优化,基于优化后的工作流图执行所述清洗转换任务。本发明提出了一种基于CIM的高效数据清洗转换方法,在改进的电网运行数据模型和分布式数据平台的支持下,对源数据进行抽取、清洗、整合,保障数据质量和可靠性,实现基于数据库的统一标准数据输出,具有支持集群部署和并发计算的广泛适用性,可为电网数据自动化集成和分析提供可靠支持。
Description
技术领域
本发明属于大数据挖掘及信息检索领域,尤其涉及一种基于CIM的高效数据清洗转换方法。
背景技术
随着各类输变电设备的广泛应用,电网运行数据量呈现几何级增长。对于海量的运行数据进行快速的分析处理,实现异常数据检测和挖掘,面临的挑战是如何将电网运行大数据进行有效数据处理与高效数据分析。由于各网省公司的软硬件系统、资源都存在较大的差异,加大了数据联机分析平台构建的难度。传统的电网运行数据平台已经无法满足企业运行数据存储优化与并行处理的需要。而传统的数据存储结构直观,但其显著的缺点是数据的冗余量较大。造成运行信息重复存储,给不同运行数据表之间的融合操作带来一定的困难,导致运行数据的查询效率低。
发明内容
本发明的目的在于将电网运行大数据进行有效处理,便于企业将多个电网系统进行集成和融合以实现统一高效的大数据分析。通过建立分布式数据清洗转换框架和可操作数据区,避免数据转换过程与数据查询的冲突,并在建立的数据仓库基础上进行电网数据挖掘,包括利用改进的电网数据模型实现关联分析和异常数据识别。
为解决上述问题,本发明提出了一种基于CIM的高效数据清洗转换方法,包括:
接收来自电力系统用户请求的数据清洗转换任务;
将数据清洗转换任务解译为工作流图;
对工作流图进行转换和优化,基于优化后的工作流图执行所述清洗转换任务。
优选地,所述将数据清洗转换任务解译为工作流图,进一步包括,通过遍历图中的各节点,确定工作流中的活动属性,基于活动属性将数据清洗转换任务解译为工作流图。
优选地,在遍历图中的各节点时,对入度为0的节点即电力系统数据源,确定数据源的数据量,将基于CIM的相关信息记录到MangoDB规则库中;对于出度为0的节点即可操作数据集,在MangoDB规则库记录相关的元数据;对于出度和入度都大于0的活动节点,判断其活动类型,对于用作划分工作流的二元活动节点,记录该活动的属性及所处位置。
优选地,所述MangoDB规则库还存储有所述电力系统的模型信息和基于CIM的分布式数据仓库的元数据。
优选地,在遍历图中的节点之后,还包括:
对工作流中的节点进行对调转换优化操作,减少活动节点间的数据交换;
将经过优化的工作流以二元活动为界划分为多个子工作流,将子工作流中的多个一元活动归为一组传送至协调单元准备执行,并标明组别,为协调单元动态优化工作流程提供参考;
所述协调单元中的分治模块将数据进行划分,按照划分规则水平地将数据划分为多个数据流;所述协调单元中的调度清洗转换模块则将对应的数据清洗转换活动打包分配至各分布式并行清洗转换模块执行;协调单元接收来自清洗转换模块的执行信息以实时跟踪数据清洗活动节点的执行进度。
优选地,所述清洗转换模块在分布式计算环境中执行经由协调单元分配的计算作业包,将数据转换中间结果缓存于本地,在需要汇集多个节点的输出数据时,使用网络带宽资源进行数据传输。
优选地,所述分治模块将数据进行划分,具体包括,将数据源T水平分成T1和T2,则T=T1∪T2,将基于CIM的数据清洗过程的每个活动Acti(i∈[1,m])看作对T的函数映射,判断数据清洗转换工作流中是否存在以下活动的串行序列:即如果Actm(Actm-1(…(Acti(T))))={D1,D2,…,Dm},D1,D2,…,Dm分别为作为每个活动对T的函数映射结果的工作流子图,则满足Actm(Actm-1(…(Acti(Ti))))∪Actm(Actm-1(...(Acti(T2))))={D1,D2,…,Dm};设M是对T的关系操作,满足M(T)=M(T1)∪M(T2);若工作流中存在此类序列,则合并为一组;通过划分数据的方式将活动组分配到不同的清洗转换模块异步执行。
本发明相比现有技术,具有以下优点:
本发明提出了一种基于CIM的高效数据清洗转换方法,在改进的电网运行数据模型和分布式数据平台的支持下,对源数据进行抽取、清洗、整合,保障数据质量和可靠性,实现基于数据库的统一标准数据输出,具有支持集群部署和并发计算的广泛适用性,可为电网数据自动化集成和分析提供可靠支持。
附图说明
图1是根据本发明实施例的基于CIM的高效数据清洗转换方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,将结合附图对本发明作进一步地详细描述。这种描述是通过示例而非限制的方式介绍了与本发明的原理相一致的具体实施方式,这些实施方式的描述是足够详细的,以使得本领域技术人员能够实践本发明,在不脱离本发明的范围和精神的情况下可以使用其他实施方式并且可以改变和/或替换各要素的结构。因此,不应当从限制性意义上来理解以下的详细描述。为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
本发明的一方面提供了一种基于CIM的高效数据清洗转换方法。图1是根据本发明实施例的基于CIM的高效数据清洗转换方法流程图。
本发明基于CIM的电力系统运行数据监控平台包括数据汇集服务器、数据加工存储服务器和数据分析服务器。数据汇集服务器通过传感器等捕获电力系统运行数据,所述运行数据包含设备台账信息、运维数据、故障数据、潮流拓扑数据、GIS设备信息,也包含非结构化图像和视频。在异构的海量数据中包含了大量复杂、冗余、错误的数据,需要在短时间内提炼出构成统一规范的数据。数据加工存储服务器将分布式文件系统和MangoDB数据库进行整合,将具有统一规范的监控数据存储至分布式文件系统中,将电力系统的模型信息和基于CIM的分布式数据仓库的元数据存储在MangoDB中,基于CIM的分布式数据仓库创建的表和字段都存储在MangoDB中。在执行数据操作的同时,启动MangoDB引擎来验证元数据是否存在。所述数据分析服务器完成对电力系统运行数据的分布式相似性分析。在基于CIM的分布式数据仓库通过MapReduce拆解任务之后,直接从分布式文件系统抽取数据进行分析,统一进行数据管理与数据访问,在该层实现模型数据映射和性能优化,所述模型数据映射实现电力系统业务模型各属性与底层不同类型数据源的模型数据映射,支持对基于CIM的数据仓库、关系数据库和非关系数据库的访问,提供基于业务模型的统一查询和更新API;所述性能优化提供二级缓存、异步并行的数据查询。
所述数据加工存储服务器在上述分布式架构的基础上设置基于CIM的数据清洗转换框架,包括语义解析模块、MangoDB规则库、调度模块和清洗转换模块。电力系统接收来自用户请求的数据清洗转换任务,将数据清洗转换任务解译为满足统一格式的DAG结构的工作流图,由于电力系统的数据转换语义在执行逻辑上不是最优的,需要交由语义解析模块完成优化工作。
语义解析模块对经由电力系统格式化的清洗转换工作流图进行分析和优化,通过遍历图中的各节点,确定工作流中的活动属性,对工作流图进行转换,最后将优化后的工作流图送至协调单元执行。具体流程如下:
1.循环遍历工作流图的各节点。对入度为0的节点即电力系统数据源,确定数据源的数据量,将基于CIM的相关信息记录到MangoDB规则库中;对于出度为0的节点即可操作数据集,在MangoDB规则库记录相关的元数据;对于出度和入度都大于0的活动节点,判断其活动类型,对于用作划分工作流的二元活动节点,记录该活动的属性及所处位置。
2.遍历节点后,对工作流中的节点进行对调转换等优化操作,减少活动节点间的数据交换。
3将经过优化的工作流以二元活动为界划分为多个子工作流,将子工作流中的多个一元活动归为一组传送至协调单元准备执行,并标明组别,为协调单元动态优化工作流程提供参考。
协调单元进一步包括分治模块和调度清洗转换模块。分治模块将数据进行划分从而充分利用现有资源发挥并行计算的性能优势,按照划分规则水平地将数据划分为多个数据流。调度清洗转换模块则将对应的数据清洗转换活动打包分配至各分布式并行清洗转换模块执行。协调单元接收来自清洗转换模块的执行信息以实时跟踪数据清洗活动节点的执行进度。分治模块与调度清洗转换模块协调执行,前者对来自清洗转换模块的执行信息进行汇总分析,从而得到最优化的数据划分策略;后者依据得到的实时最优化结果,将任务分配到清洗转换模块。
清洗转换模块在分布式计算环境中执行经由协调单元分配的计算作业包,将数据转换中间结果缓存于本地。只有在需要汇集多个节点的输出数据时才使用网络带宽资源进行数据传输。
所述基于语义逻辑的优化在语义解析阶段完成,当遍历数据清洗转换工作流的所有活动节点后,语义解析模块根据不同活动节点的属性,运用交换活动执行顺序、合并语义重复的活动策略在不改变数据工作流的执行结果的前提下修改数据清洗转换工作流程。经过优化的工作流减少数据在不同节点间的周转量。对于基于CIM描述的数据清洗转换任务,所述框架运用基于关系数据库的优化策略。
所述分治模块将数据进行划分,具体包括,将数据源T水平分成T1和T2,则T=T1∪T2,将基于CIM的数据清洗过程的每个活动Acti(i∈[1,m])看作对T的函数映射,判断数据清洗转换工作流中是否存在以下活动的串行序列:即如果Actm(Actm-1(…(Acti(T))))={D1,D2,…,Dm},D1,D2,…,Dm分别为作为每个活动对T的函数映射结果的工作流子图,则满足Actm(Actm-1(…(Acti(Ti))))∪Actm(Actm-1(...(Acti(T2))))={D1,D2,…,Dm}。设M是对T的关系操作,满足M(T)=M(T1)∪M(T2)。若工作流中存在此类序列,则合并为一组。通过划分数据的方式将活动组分配到不同的清洗转换模块异步执行,形成流水线的效果。
对于并行执行的数据清洗转换工作流,如果存在数据分配与Mapreduce节点资源不匹配的情况,则在系统开始执行运算任务后,依据当前系统运行进度计算得出决定是否进行数据划分。当Mapreduce节点中出现空闲节点时或开始执行某个新的一元活动任务时,将发生数据划分。该策略的执行流程如下,首先访问Mapreduce节点中正在执行运算任务的清洗转换模块,选择其中完成时间最晚的活动作为划分数据的对象;之后访问Mapreduce节点中所有空闲的清洗转换模块,判断是否满足执行条件,所述执行条件是节点空闲的时间窗口大于被划分数据跨机传输时间及运算时间之和,否则数据划分没有意义,将符合条件的清洗转换模块记录下来;最后,计算发生数据划分的数据量,使这些数据在空闲的清洗转换模块上完成传输和计算的时间跨度最短。
当Mapreduce节点中出现空闲的清洗转换模块有活动被调度时,系统激活数据划分算法。对于所述清洗转换模块的数据处理,主要过程分为两阶段:第一阶段是将数据从数据源抽取到可操作数据缓冲区,第二阶段将数据从可操作数据缓冲区抽取到基于CIM的数据仓库:
(1)第一阶段,将异构的数据源抽取到可操作数据缓冲区中,经过第一阶段,将电力系统的运行数据在可操作数据缓冲区中建立一个相同结构、相同内容的副本备份。
(2)第二阶段,对可操作数据缓冲区的数据进行统计合并和汇总,使用增量加载方式将数据存储到基于CIM的数据仓库中。所述数据抽取为增量抽取,若在抽取时无法判断增量,则在加载时计算出增量,数据加载到基于CIM的数据仓库时添加时间标志。从可操作数据到基于CIM的数据仓库的抽取流程中,数据从可操作数据缓冲区读取出来后,先进行统一信息编码处理,再分别对事实表数据、维度表数据进行不同处理。对于事实表的数据变化,根据不同的变化情况选择不同的增量加载方式,若数据按时间变化,则采用时间戳增量,若数据呈现无规则变化,则进行全表的比对数据增量。对于维度表的数据变化,用最新的基于CIM的数据覆盖离线数据。
所述可操作数据缓冲区作为电力系统数据库的备份,将生产缺陷、电网负荷等电力系统运行数据进行备份,在清洗转换处理中,就可以使用可操作数据中的电网运行数据备份作为数据源,这些数据经过转换和清洗后加载到基于CIM的数据仓库的主题模型中。需要进入基于CIM的数据仓库的所有电力系统的运行数据首先直接传输到可操作数据缓冲区,再从可操作数据缓冲区经过清洗、转换、映射处理转移到基于CIM的数据仓库中的目标主题中,可操作数据缓冲区的数据在处理后被删除。
所述可操作数据缓冲区的数据暂存库是存储电力系统的原始数据和各个异构系统转入的原始数据,电网运行数据按照主题来存储,对数据暂存库的数据进行清洗,然后面向主题并按数据模型存储在主题数据集市。主题数据集市的数据再经过一次转换处理,进入基于CIM的数据仓库。基于CIM的数据仓库内分为多个主题模型、维度表模型。
作为进一步的实施例,本发明的基于CIM的数据转换在清洗转换模块的处理过程中执行以下步骤:
(1)判断电力系统数据源中需要进行转换和清洗的位置;对字段空值进行捕获,然后加载或替换成其他含义数据,再根据字段空值完成分流载入到不同目标库。
(2)将数据样本从数据源中提取出来,分析提取出来的数据是否与定义一致,搜索异常数据的格式和结构,定义CIM业务规则;规范化数据格式,对字段格式实现约束定义,同时对于数据源中的数值、时间、字符以自定义格式加载;将字段依据CIM业务需求进行拆解。
(3)利用查询表验证数据正确性,然后对无效数据、缺失数据进行替换;并预先规定丢失数据的处理策略;
(4)将数据转换到一个标准的数据模型中,基于定义标准化数据值和格式;在建立约束条件的过程中,将不符合条件的非法数据,通过替换或导出存入到错误数据集中,保证数据主键的唯一性。
为了最大程度地减小查询冲突带来的影响,本发明进一步将基于CIM的数据清洗转换流程分为异步转换和同步转换,分别用于处理电网实时运行数据和离线数据。所述异步转换包括将电力系统数据源中失去实时性的离线运行数据以批处理的方式以预设周期载入数据仓库中。所述同步转换包括主动捕获电力系统中实时变化的运行数据,加载到可操作数据存储区。在可操作数据存储区中完成对最新数据的查询分析操作后,触发某些系统条件,再批量导入基于CIM的数据仓库中。可操作数据存储区由多个数据副本与基于双重链接的副本索引组成,副本是具有相同的逻辑结构和物理结构的数据存储空间,在可操作数据存储区中动态创建。
当创建一个副本时,在可操作数据存储区中保存一个相应的副本文件,将电网实时运行数据有序加载至副本中。副本索引是由横向和纵向的两个队列组成,横向队列是由拥有相同数据项ID但时间戳不同的副本节点组成,纵向队列是由不同数据项ID的副本队列的头节点组成。
副本队列由队列头节点和队列节点组成,队列头节点拥有两个属性:数据项ID与首地址。数据项ID标识数据的来源,在一个副本队列中,所有副本节点的数据是来自相同的数据源,因而拥有相同的数据项ID,这些数据项ID相同的数据称为同源数据。首地址存储一个地址,它指向队列第一个副本节点。
队列节点拥有五个属性,分别是副本节点大小、副本节点数据时戳、操作标记、数据存储地址和指向队列下一个节点的地址。节点大小标识当前副本节点对用的数据占用的空间大小。副本节点是按照时间戳从大到小排序。操作标记用于标记当前副本节点中数据进行何种操作,若当前副本节点正进行将源数据中电网实时运行数据载入可操作数据存储区,则此副本节点的操作标记设为0,若当前副本节点指向数据需要从可操作数据存储区批量加载至基于CIM的数据仓库,则操作标记置为1。数据存储地址指向副本节点对应数据存储的位置。
所有来自同一数据源的副本构成一个副本队列,称之为一个副本簇。其中副本簇的首地址就是队列头节点的地址。在可操作数据存储区中,若存储了n种不同数据项ID的数据,则有n个副本簇;副本簇之间也采用队列结构;副本簇队列没有表头节点。如果当前可操作数据存储区中不存在副本簇队列,即也不存在任何的副本簇,则表示当前可操作数据存储区中没有存储电网实时运行数据;
副本的创建过程就是电网实时运行数据存入实时存储区域的过程,具体为:(1)当有电网实时运行数据被捕获需要加载至可操作数据存储区时,副本管理模块在可操作数据存储区中分配一块空间,将数据存储在此空间,然后创建一个副本,指向这块空间;(2)副本簇是队列结构,只能采用顺序查找方式,遍历队列中的每个副本队列节点,比较副本簇队列中是否存在与新数据项ID相同的副本簇节点,即检索可操作数据存储区中是否拥有与新来电网实时运行数据同源的数据。如果有,转入(3);如果没有,则转入(9)。(3)由副本簇队列节点的簇副本首地址,定位到当前副本簇中副本队列的头节点。(4)初始化新建的副本节点。将操作标记置为0。(5)将新建副本节点插入副本队列。首先将新建副本节点的数据时间戳从队列第一个副本节点开始比较,直到遍历到某一副本节点,其时间戳大于新建节点的时间戳但它的下一节点的时间戳小于新建节点的时间戳,将新建副本节点插入在该节点的下一节点。(6)如果副本节点指向的电网实时运行数据失效,或接收到系统指令,而且需要将副本节点中的数据批量地从可操作数据存储区导入基于CIM的数据仓库,则将此镜节点的标签置为1,同时,副本节点中的数据批量按序载入基于CIM的数据仓库中。(7)若收到数据更新请求,则在可操作数据存储区中分配存储空间,新建副本节点并完成初始化操作,然后检查可操作数据存储区是否有新来数据的数据项ID对应的副本队列。若有,转入步骤(8);若没有,转入(9)。(8)为新建副本节点建一个新的副本队列。初始化队列,将新建副本节点的数据项ID赋给表头节点的数据项ID;表头节点的首地址指向新建副本节点首地址。(9)将新建副本节点插入副本队列。更新副本簇队列。若簇队列中没有新建副本队列数据项ID对应的簇节点,则新建副本簇并初始化,将新建副本队列的数据项ID赋给簇节点的数据项ID,簇节点的簇指向副本队列的头节点,将新建簇节点插入副本簇队列的尾部。(10)基于双队列的副本索引完成相应的更新。
在数据模型方面,本发明采用改进的电力系统运行数据模型。针对同一父类成员统一规则编码,将运行数据维度表中的层次编码信息压缩在事实表中并存储在分布式文件系统中,用于在电力系统运行监测大规模、分布式Mapreduce节点上执行大数据分析。分级编码采取顺序编码和拼接编码。所述顺序编码按照预定义顺序使用十进制对维度中的各个属性进行编码,不能直接获取维度属性之前的对应关系。而拼接编码通过编码的拼接,通过编码的移位操作实现维度遍历。编码规则如下:
将所有的细节数据分类成一个无重叠的数据结构。假设d表示维度表中的任一维度,具备以下特征:
1)每一个d有且只包含一个主题。
2)d是由n个分级所构成的集合,记作l1,l2,…,ln,其中任何一个分级li都只含有唯一的维度属性和mi个值;
3)任一维均可作为每个层级的值所组成的树形结构。
如果li是维度d的任一层次,其对应所有值mi的集合作为层次li的全域,那么层次li-1作为层次li的父节点层次,且将最高层次的父节点定义为所属主题。拥有共同父节点p的层次li值成员所构成的集合称作层次li的子集域。而兄弟节点为属于同一父类节点的成员。
每一个维度均可作为一棵特殊的单根层次树,该单根树的任一节点的路径按照前序遍历执行。该节点的全域层次编码是指将途经路径的每一节点的子集域层次编码拼接后得到的编码。
所述数据分析服务器还用于将电网运行数据及其元数据封装成统一格式,它包含有元数据封装模块和转换组合模块。元数据封装模块对电网信息元数据进行封装,通过元数据对数据清洗和检验;转换组合模块将电网运行数据及元数据以分段加密方式重新组合,提高数据传输和交换的安全及数据的统一处理。
通过记录电网信息元数据、电力系统信息以及传输中数据产生的信息,在CIM数据转换的规则约束下,使得不满足规则的数据不可通过,从而对数据进行清洗。基于规则的清洗通过提取基础元数据值和电力系统追加的安全等级信息对数据进行清洗。
完成清洗后,将运行数据基础元数据、电力系统追加的安全等级信息及系统操作封装成最终的电网信息元数据,该元数据以键值对形式封装;转换组合模块以分段加密方式将数据及其元数据一起封装为转换协议。数据在将带有元数据的数据封装成统一格式数据,再进行CIM数据转换。
CIM数据转换中,分别解译所述元数据封装模块和转换组合模块封装的数据,以恢复电网数据及其元数据;依据元数据利用规则对数据进行清洗,以清洗不符合规则的数据;
其中利用规则对数据进行清洗具体包括依据电力系统提供的电网信息元数据,对数据进行清洗。在规则中提供了统一的规则描述,以处理元数据信息来实现过滤数据。所述规则设计为自定义的映射规则表达式,由变量值和运算符构成。变量值从电网信息元数据中提取。清洗时,将元数据替换变量值,然后计算规则表达式,最后输出计算结果。在定义数据源到目标数据表的规则时,采用映射表达式将规则进行记录。系统根据映射表达式解析出形成目标字段来源的一个或多个源表字段的位置,并解析出复杂的条件规则和数据筛选条件,将解析出来的转换规则按预定的格式存入规则库中,再提交给相应的转换模块进行处理。当映射表达式解析完成后,用户定义的分散的转换规则就整体地存入了规则库中。当执行数据的抽取时,读取规则库中的转换规则,调用相应的转换组件完成数据的抽取。
在所述数据分析服务器对电力系统运行数据进行所述分布式相似性分析时,具体包括针对电力系统异常行为与输变电监控数据进行关联分析。在进行关联分析前,分别对输变电监控数据和电力系统异常行为数据进行预处理。对电力系统异常行为数据的预处理包括2个步骤:1)在所有电力系统运行数据中选择出已安装监控终端的设备异常行为数据,并将各检测终端内的各类设备故障发生次数进行汇总;2)将汇总得到的数据进行归一化处理。针对现有的关联分析只针对监控数据的空间特性,忽略时间特性。筛选出对应设备发生故障位置,并获取其监控终端的监控数据,对监控数据按以下步骤进行预处理:1)在整个监测周期内统计监控终端监测得到的各输变电指标合格率作为该位置的输变电指标合格率;2)将监控终端按月统计的各输变电指标平均值在整个监测周期内进行平均,获得该位置各输变电指标的平均值;3)对以上步骤中计算出的各输变电指标值进行归一化处理,将所有数据变换至[0,1]之间。通过数据的预处理,电力系统异常行为数据和输变电监测的各项输变电指标均映射为[0,1]区间的数值。
计算变量间的相关系数,获得由相关系数构成的m×n维的关联矩阵A,如下所示。
式中矩阵的行变量为电力系统异常行为统计数据,用xi,i=1,…,m表示,列变量为输变电监控数据,用yj,j=1,…,n表示。ρxi,yj为xi和yj的相关系数。
针对基于CIM的电网的结构化运行数据,本发明将电网结构化数据抽取和转换行为表达为行为模型四元组N=(P,W,O,M),其中,P表示电网系统数据源的数据集,W表示基于CIM的数据仓库的数据集,O表示多个相互独立的抽取任务集合,M表示基于CIM的数据仓库建模的元数据集。对于抽取任务O={O1,O2,O3},O1表示数据清洗任务,根据基于CIM的数据仓库元数据从电力系统中抽取预处理后的数据;O2表示数据装载任务,将接口文件区的数据表映射到基于CIM的数据仓库过渡文件区的数据表并进行相关的数据转换和装载;O3表示集成任务,按照基于CIM的数据仓库模型,对缓冲区中的数据进行数据验证和数据映射,并且将检验过的数据集成到基于CIM的数据仓库中。
设T是数据转换过程的数据源表,Ti是T在时刻i的基于CIM的数据仓库缓冲区中的数据副本,Ti={D,T},其中D表示时间戳。设I是T从i时刻至i+1时刻的数据变更副本,则I={Lsn,M,To,Tn}。Lsn表示发生数据变更的日志号,M表示数据变更操作,To表示变更前的数据或删除前的数据,Tn表示变更后的数据或新增的数据。在获得Ti+1时,与直接对数据表T做选择运算相比较,对源数据库的性能影响较小。在基于CIM的数据仓库缓冲区中,从Ti+1映射到事实表S,首先获得Ti+1在[i,i+1]时段中的事实数据,再按照基于CIM的数据仓库的元数据定义,作相关的聚集投影运算。
所述数据清洗过程进一步通过相似性分析确定与当前时间关联度较大的运行数据的相似样本集,然后采用层次聚类得到典型特征序列,以特征序列为参考对待检测序列进行故障数据识别,最后对识别的故障数据进行修改,将特征序列的相应正常数据平移到待检测序列故障数据区段。通过聚类过程,提取不同典型特征序列,并以典型特征序列为参考,对可能含有故障数据的待检测序列进行识别和修改。
为了更快检索数据元组,本发明对内存中关系集合数据元组建立索引。然后将访问最频繁的关系集合数据元组放入缓存,减少I/O开销。将访问频繁的关系集合R存储到缓存,关系集合R和存储在可操作数据存储区的实时副本数据D作为输入。在每次迭代过程,关系集合R的一个分块Pi作为一个探测输入。执行了哈希连接操作,即它会遍历缓存关系数据区中所有元组,并同时在哈希表中进行查找。每当匹配成功,输出匹配的数据流元组。在处理完整个缓存关系数据区后,算法从电网实时运行数据源中读取新元组,将它们装入哈希表中,并且将标识符插入队列。为选择R中的下一个分块,首先查找到队列中时间戳最小的数据元组的连接属性。利用索引将R中有该连接属性的分块装载到缓存关系数据区。通过这种方式,每个新的分块都可以和至少一个数据元组进行匹配操作。
在数据分析服务器对电网数据模型的相似性分析中,根据序列曲线形状来判断不同序列之间的联系。选择时间特征相关因素作为计算关联度的样本。具体计算步骤如下:
(1)设当前时间序列Y={Y(m)|m=1,2…p}为参考序列,历史时间运行数据序列Xi={Xi(m)|m=1,2…p},i=1,2…k为比较序列,p为序列元素个数。
(3)计算关联系数
式中ζi(m)为Y(m)在Xi(m)处的关联系数。其中△i(m)=|y(m)-xi(m)|,ρ为分辨系数,取值区间为(0,1)。
(4)计算关联度:
在上述层次聚类阶段,设数据集X={x1,x2,……,xn},n是X中元素的数量。其中每个元素都是一个p维向量,X中含有k个类,假设第i个类的中心vi={vi1,vi2,…vip},定义特征序列为各聚类中心。X中第j个元素对第i个类中心的隶属度为uij,设集合U={uij},V={vij}。
式中m是加权指数。dij=||xj-vi||代表第j个元素对第i个类中心的距离。对于聚类中心vi可按下式计算:
聚类迭代过程是找到在目标函数达到最小值时所对应的聚类中心和隶属度矩阵,设目标函数J为:
对聚类结果进行分析并确定最优划分。设一个包含n个序列的数据集被划分为k类(C1,C2,…,Ck),对于Ca中第i个序列x(i),计算x(i)与类内其他序列的平均距离a(i)。d(i,Cb)为x(i)到另一个类Cb所有序列的平均距离,定义b(i)=min{d(i,Cb)},b=1,2,…k,a≠b。计算每个序列与类内样本的平均距离以及其他类内序列的奇异度,每个序列i的计算公式为:
取数据集全部样本的平均Dissim值来评价聚类结果的质量,指标最大值对应着聚类最优分类数。
αmax(t,dn)=max{[L(d-i,t)-L(d-i,t-1)]/L(d-i,t-1}),i=1~dn
其中函数L(d,t)为第d天t时刻运行数据。
设待检测序列Xd=(xd1,xd2…xdm),m为每天的采样点数。最大隶属度特征序列为Xt,在采样时间t,Xd相对于特征序列Xt的变化率为:
δt=(xdt-xtt)/xtt
若δt>αmax(t,dn),则认为是故障数据。该方法减少了工作量,提高了计算速度和模型工作效率。
设检测出某个序列Xd的p点至q点之间为故障数据,其隶属度值最大的两个特征序列分别为Xt1,Xt2。在实际修改过程中采用最大隶属度特征序列。修改公式如下。
X'd(i)=X't1(i)(ut1,i/(ut1,i+ut2,i))+X't2(i)(ut2,i/(ut1,i+ut2,i))
X't1(i)=X't1(i)×[Xd(p-1)/Xt1(p-1)+Xd(q+1)/Xt1(q+1)]
X't2(i)=X't2(i)×[Xd(p-1)/Xt2(p-1)+Xd(q+1)/Xt2(q+1)],
其中i=p,p+1,…,q
综上所述,本发明提出了一种基于CIM的高效数据清洗转换方法,在改进的电网运行数据模型和分布式数据平台的支持下,对源数据进行抽取、清洗、整合,保障数据质量和可靠性,实现基于数据库的统一标准数据输出,具有支持集群部署和并发计算的广泛适用性,可为电网数据自动化集成和分析提供可靠支持。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (3)
1.一种基于CIM的高效数据清洗转换方法,其特征在于,包括:
接收来自电力系统用户请求的数据清洗转换任务;
将数据清洗转换任务解译为工作流图;
对工作流图进行转换和优化,基于优化后的工作流图执行所述清洗转换任务;
所述将数据清洗转换任务解译为工作流图,进一步包括,通过遍历图中的各节点,确定工作流中的活动属性,基于活动属性将数据清洗转换任务解译为工作流图;
在遍历图中的各节点时,对入度为0的节点即电力系统数据源,确定数据源的数据量,将基于CIM的相关信息记录到MangoDB规则库中;对于出度为0的节点即可操作数据集,在MangoDB规则库记录相关的元数据;对于出度和入度都大于0的活动节点,判断其活动类型,对于用作划分工作流的二元活动节点,记录该活动的属性及所处位置;
所述MangoDB规则库还存储有所述电力系统的模型信息和基于CIM的分布式数据仓库的元数据;
在遍历图中的节点之后,还包括:
对工作流中的节点进行对调转换优化操作,减少活动节点间的数据交换;
将经过优化的工作流以二元活动为界划分为多个子工作流,将子工作流中的多个一元活动归为一组传送至协调单元准备执行,并标明组别,为协调单元动态优化工作流程提供参考;
所述协调单元中的分治模块将数据进行划分,按照划分规则水平地将数据划分为多个数据流;所述协调单元中的调度清洗转换模块则将对应的数据清洗转换活动打包分配至各分布式并行清洗转换模块执行;协调单元接收来自清洗转换模块的执行信息以实时跟踪数据清洗活动节点的执行进度。
2.根据权利要求1所述的方法,其特征在于,所述清洗转换模块在分布式计算环境中执行经由协调单元分配的计算作业包,将数据转换中间结果缓存于本地,在需要汇集多个节点的输出数据时,使用网络带宽资源进行数据传输。
3.根据权利要求1所述的方法,其特征在于,所述分治模块将数据进行划分,具体包括,将数据源T水平分成T1和T2,则T=T1∪T2,将基于CIM的数据清洗过程的每个活动Acti(i∈[1,m])看作对T的函数映射,判断数据清洗转换工作流中是否存在以下活动的串行序列:即如果Actm(Actm-1(…(Acti(T))))={D1,D2,…,Dm},D1,D2,…,Dm分别为作为每个活动对T的函数映射结果的工作流子图,则满足Actm(Actm-1(…(Acti(Ti))))∪Actm(Actm-1(...(Acti(T2))))={D1,D2,…,Dm};设M是对T的关系操作,满足M(T)=M(T1)∪M(T2);若工作流中存在此类序列,则合并为一组;通过划分数据的方式将活动组分配到不同的清洗转换模块异步执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810885500.6A CN109308290B (zh) | 2018-08-06 | 2018-08-06 | 一种基于cim的高效数据清洗转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810885500.6A CN109308290B (zh) | 2018-08-06 | 2018-08-06 | 一种基于cim的高效数据清洗转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109308290A CN109308290A (zh) | 2019-02-05 |
CN109308290B true CN109308290B (zh) | 2021-12-24 |
Family
ID=65226046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810885500.6A Active CN109308290B (zh) | 2018-08-06 | 2018-08-06 | 一种基于cim的高效数据清洗转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109308290B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389959A (zh) * | 2019-07-26 | 2019-10-29 | 中移电子商务有限公司 | 一种数据管理方法、装置及存储介质 |
CN114268640B (zh) * | 2020-09-16 | 2022-09-09 | 上海交通大学 | 云边协同的工业物联网智能路由系统 |
CN112650744B (zh) * | 2020-12-31 | 2024-04-30 | 广州晟能软件科技有限公司 | 一种防止数据二次污染的数据治理方法 |
CN116805175B (zh) * | 2023-06-02 | 2023-12-26 | 中哲国际工程设计有限公司 | 基于cim技术的医疗养老建筑运维管理系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1526106A (zh) * | 2001-03-26 | 2004-09-01 | 用于智能数据同化的方法和装置 | |
CN103177341A (zh) * | 2013-03-29 | 2013-06-26 | 山东电力集团公司 | 一种线损精益化综合管理系统及方法 |
CN103488537A (zh) * | 2012-06-14 | 2014-01-01 | 中国移动通信集团湖南有限公司 | 一种数据抽取、转换和加载etl的执行方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10642652B2 (en) * | 2016-01-29 | 2020-05-05 | Peter P. Nghiem | Best trade-off point on an elbow curve for optimal resource provisioning and performance efficiency |
-
2018
- 2018-08-06 CN CN201810885500.6A patent/CN109308290B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1526106A (zh) * | 2001-03-26 | 2004-09-01 | 用于智能数据同化的方法和装置 | |
CN103488537A (zh) * | 2012-06-14 | 2014-01-01 | 中国移动通信集团湖南有限公司 | 一种数据抽取、转换和加载etl的执行方法及装置 |
CN103177341A (zh) * | 2013-03-29 | 2013-06-26 | 山东电力集团公司 | 一种线损精益化综合管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109308290A (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109308290B (zh) | 一种基于cim的高效数据清洗转换方法 | |
US10891297B2 (en) | Method and system for implementing collection-wise processing in a log analytics system | |
US10599684B2 (en) | Data relationships storage platform | |
CN109213752A (zh) | 一种基于cim的数据清洗转换方法 | |
CN107809467B (zh) | 一种云环境下容器镜像数据的删减方法 | |
CN111563130A (zh) | 一种基于区块链技术的数据可信数据治理方法和系统 | |
CN111046022A (zh) | 一种基于大数据技术的数据库审计方法 | |
CN112148578A (zh) | 基于机器学习的it故障缺陷预测方法 | |
CN113535677B (zh) | 数据分析查询管理方法、装置、计算机设备及存储介质 | |
CN114564726A (zh) | 一种基于大数据办公的软件漏洞分析方法及系统 | |
CN108182263A (zh) | 一种数据中心综合管理系统的数据存储方法 | |
CN113326161A (zh) | 根因分析方法 | |
CN113791586A (zh) | 一种新型的工业app与标识注册解析集成方法 | |
US20040236718A1 (en) | Method and system for journaling and accessing sensor and configuration data | |
CN111258798A (zh) | 监控数据的故障定位方法、装置、计算机设备及存储介质 | |
CN114356712B (zh) | 数据处理方法、装置、设备、可读存储介质及程序产品 | |
Theeten et al. | Chive: Bandwidth optimized continuous querying in distributed clouds | |
CN117370314A (zh) | 一种分布式数据库系统协同优化、数据处理系统及方法 | |
CN116450734B (zh) | 一种产业园区开发建设数字孪生数据分布式存储方法 | |
Chen et al. | Towards low-latency big data infrastructure at sangfor | |
CN112506960A (zh) | 基于ArangoDB引擎的多模型数据存储方法及系统 | |
CN106651145A (zh) | 备件管理系统及方法 | |
Kvet | Covering Undefined and Untrusted Values by the Database Index | |
CN118394772B (zh) | 一种数据库表变动下的数据资产实时更新方法 | |
CN117389908B (zh) | 接口自动化测试用例的依赖关系分析方法、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |