CN107679146A - 电网数据质量的校验方法和*** - Google Patents
电网数据质量的校验方法和*** Download PDFInfo
- Publication number
- CN107679146A CN107679146A CN201710876201.1A CN201710876201A CN107679146A CN 107679146 A CN107679146 A CN 107679146A CN 201710876201 A CN201710876201 A CN 201710876201A CN 107679146 A CN107679146 A CN 107679146A
- Authority
- CN
- China
- Prior art keywords
- data
- data record
- power network
- search index
- original data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明涉及一种电网数据质量的校验方法和***,获取电网原始数据记录并存储在分布式存储***中,分布式存储***中存储电网原始数据记录的第一查询索引表;创建多个并行任务,在每个并行任务中,获取目标校验规则的校验字段,根据所述校验字段在第一查询索引表中查找获取与所述校验字段对应的第一电网原始数据记录,提取所述第一电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验。将电网数据记录进行分布式存储可以使校验过程具有良好的扩展性,通过校验规则涉及的校验字段与数据记录的查询索引的关系,支持校验规则执行时进行高效查询处理。
Description
技术领域
本发明涉及电网技术领域,特别是涉及一种电网数据质量的校验方法和***。
背景技术
传统的关系数据管理***追求高度的一致性和正确性,在面向海量数据的分析需求时,采用纵向扩展(scale up)的方法,即通过升级硬件(CPU、内存、硬盘等)提升单个节点的能力,使其可扩展性和性能受到了很大的限制。
随着电网业务数据规模和数据质量监控规则复杂度的不断增大,目前现有的基于传统数据管理和计算平台的数据质量监控***的处理能力出现严重的瓶颈,处理效率低下,难以快速完成数据质量的监控和校验,越来越难以满足日常的生产管理和经营决策的需求。
发明内容
基于此,有必要针对基于传统数据管理和计算平台的数据质量监控***数据对质量的监控和校验的效率低下的问题,提供一种电网数据质量的校验方法和***。
一种电网数据质量的校验方法,包括以下步骤:
获取电网原始数据记录,将所述电网原始数据记录存储在分布式存储***中;其中,所述电网原始数据记录包括待校验的比对数据记录和用于校验的基准数据记录;
创建多个并行任务,在每个并行任务中,执行如下操作:获取目标校验规则的校验字段,根据所述校验字段在所述电网原始数据记录的第一查询索引表中进行查找,获取与所述校验字段对应的第一电网原始数据记录,提取所述第一电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验;其中,所述第一查询索引表存储在所述分布式存储***中;
输出多个并行任务的校验结果。
一种电网数据质量的校验***,包括:
数据存储单元,用于获取电网原始数据记录,将所述电网原始数据记录存储在分布式存储***中;其中,所述电网原始数据记录包括待校验的比对数据记录和用于校验的基准数据记录;
任务创建单元,用于创建多个并行任务;
查询索引单元,用于在每个并行任务中,获取目标校验规则的校验字段,根据所述校验字段在所述电网原始数据记录的第一查询索引表中进行查找,获取与所述校验字段对应的第一电网原始数据记录;
提取比对单元,用于提取所述第一电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验;其中,所述第一查询索引表存储在所述分布式存储***中;
结果输出单元,用于输出多个并行任务的校验结果。
根据上述本发明的电网数据质量的校验方法和***,其是获取电网原始数据记录并存储在分布式存储***中,分布式存储***中存储电网原始数据记录的第一查询索引表;创建多个并行任务,在每个并行任务中,获取目标校验规则的校验字段,根据所述校验字段在第一查询索引表中查找获取与所述校验字段对应的第一电网原始数据记录,提取所述第一电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验。在此方案中,将电网数据记录进行分布式存储可以使校验过程具有良好的扩展性,通过校验规则涉及的校验字段与数据记录的查询索引的关系,支持校验规则执行时进行高效查询处理,另外,通过多个并行任务,使得每条校验规则都可以并行化处理,从而提高电网数据质量的校验效率。
一种可读存储介质,其上存储有可执行程序,该程序被处理器执行时实现上述的电网数据质量的校验方法的步骤。
一种校验设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的可执行程序,处理器执行程序时实现上述的电网数据质量的校验方法的步骤。
根据上述本发明的电网数据质量的校验方法,本发明还提供一种可读存储介质和校验设备,用于通过程序实现上述电网数据质量的校验方法。
附图说明
图1为本发明一个实施例中的电网数据质量的校验方法的流程示意图;
图2为本发明一个实施例中的电网数据质量的校验***的结构示意图;
图3为本发明一个实施例中的电网数据质量的校验***的结构示意图;
图4为本发明一个实施例中的电网数据质量的校验***的结构示意图;
图5为本发明一个实施例中的电网数据质量的校验***的结构示意图;
图6为本发明一个具体实施例中的校验总体示意图;
图7为本发明一个具体实施例中的增量数据存储与索引示意图;
图8为本发明一个具体实施例中的批量历史数据存储与索引示意图;
图9为本发明一个具体实施例中的校验规则并行化处理示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
参见图1所示,为本发明一个实施例的电网数据质量的校验方法的流程示意图。该实施例中的电网数据质量的校验方法包括以下步骤:
步骤S110:获取电网原始数据记录,将所述电网原始数据记录存储在分布式存储***中;其中,所述电网原始数据记录包括待校验的比对数据记录和用于校验的基准数据记录;
在本步骤中,分布式存储***可以分布存储电网原始数据,便于电网数据的增加或删减,使校验过程具有良好的扩展性;用于校验的基准数据记录是待校验的比对数据记录的校验标准;
步骤S120:创建多个并行任务,在每个并行任务中,执行如下操作:获取目标校验规则的校验字段,根据所述校验字段在所述电网原始数据记录的第一查询索引表中进行查找,获取与所述校验字段对应的第一电网原始数据记录,提取所述第一电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验;其中,所述第一查询索引表存储在所述分布式存储***中;
在本步骤中,在每个并行任务中根据目标校验规则进行校验,通过查找查询索引,可以得到与校验字段相对应的比对数据和基准数据,从而进行校验;
步骤S130:输出多个并行任务的校验结果。
在本实施例中,获取电网原始数据记录并存储在分布式存储***中,分布式存储***中存储电网原始数据记录的第一查询索引表;创建多个并行任务,在每个并行任务中,获取目标校验规则的校验字段,根据所述校验字段在第一查询索引表中查找获取与所述校验字段对应的第一电网原始数据记录,提取所述第一电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验。在此方案中,将电网数据记录进行分布式存储可以使校验过程具有良好的扩展性,通过校验规则涉及的校验字段与数据记录的查询索引的关系,支持校验规则执行时进行高效查询处理,另外,通过多个并行任务,使得每条校验规则都可以并行化处理,从而提高电网数据质量的校验效率。
可选的,分布式存储***可以是HBase分布式存储***,HBase分布式存储***提供基于列存储模式的大数据表管理能力,可存储管理数十亿以上的数据记录,每个记录可包含百万以上的数据列;HBase提供随机和实时的数据读写访问能力,并具有高可扩展性、高可用性、容错处理能力、负载平衡能力、以及实时数据查询能力。
在其中一个实施例中,电网数据质量的校验方法还包括以下步骤:
在所述分布式存储***中建立所述第一查询索引表,所述第一查询索引表的主键为各种校验规则的校验字段,所述第一查询索引表的列值为所述电网原始数据记录的主键。
在本实施例中,可以在分布式存储***中建立所述第一查询索引表,将各种校验规则的校验字段作为第一查询索引表的主键,电网原始数据记录的主键作为第一查询索引表的列值,通过第一查询索引表,可以根据校验字段快速查找到对应的第一电网原始数据记录。
需要说明的是,在获取到与校验字段对应的电网原始数据记录的主键以后,可以根据对应的电网原始数据记录的主键查找到对应的第一电网原始数据记录,从对应的第一电网原始数据记录中提取比对数据和基准数据。
可选的,校验字段可以是电网原始数据记录的主键或任意属性列,提取的比对数据是与校验字段对应的实际字段,可以是校验字段本身或者其他数据字段。
在其中一个实施例中,电网数据质量的校验方法还包括以下步骤:
在每个并行任务中,获取目标校验规则的时间戳范围,根据所述时间戳范围在所述电网原始数据记录的第二查询索引表中进行查找,获取与所述时间戳范围对应的第二电网原始数据记录,提取所述第二电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验;其中,所述第二查询索引表存储在所述分布式存储***中。
在本实施例中,还可以通过时间戳查找第二电网原始数据记录,提取其中的比对数据和基准数据进行校验,实现基于时间窗口的电网数据质量的校验。
需要说明的是,通过时间戳查找第二电网原始数据记录时,时间戳与第二电网原始数据记录中的比对数据相对应,基准数据与比对数据相对应,基准数据与时间戳并无直接联系。
在其中一个实施例中,电网数据质量的校验方法还包括以下步骤:
在所述分布式存储***中建立所述第二查询索引表,所述第二查询索引表的主键为各种校验规则的时间戳,所述第二查询索引表的列值为所述电网原始数据记录的主键。
在本实施例中,可以在分布式存储***中建立所述第二查询索引表,将各种校验规则的时间戳作为第二查询索引表的主键,电网原始数据记录的主键作为第二查询索引表的列值,通过第二查询索引表,可以根据时间戳快速查找到对应的第二电网原始数据记录。
需要说明的是,在获取到与时间戳对应的电网原始数据记录的主键以后,可以根据对应的电网原始数据记录的主键查找到对应的第二电网原始数据记录,从对应的第二电网原始数据记录中提取比对数据和基准数据。
在其中一个实施例中,电网数据质量的校验方法还包括以下步骤:
根据所述第一查询索引表和所述第二查询索引表建立分布式文件***的索引文件,读取所述索引文件至内存,读取所述分布式文件***对所述索引文件的操作日志文件,将所述操作日志文件中的操作记录应用到内存索引中,将所述内存索引写入所述索引文件中,根据写入内存索引的索引文件加载批量的电网原始数据记录,分别根据批量的电网原始数据记录中的基准数据对比对数据进行校验。
在本实施例中,可以在分布式文件***中建立索引文件,在电网原始数据质量校验时,将索引文件读入内存,读取操作日志应用到内存索引中,将内存索引写入索引文件,基于写入内存索引的索引文件进行校验,通过上述方式实现在进行批量电网原始数据质量校验时能够快速加载校验数据,提升校验性能。
可选的,分布式文件***可以是HDFS(Hadoop Distributed File System,即Hadoop分布式文件***),HDFS具备良好的数据多副本存储机制,以及强大的数据节点出错检测和节点失效恢复机制。
可选的,在将内存索引写入索引文件后,可以将操作日志文件删除,释放存储空间,提高校验速度。
在其中一个实施例中,电网数据质量的校验方法还包括以下步骤:
在检测到电网增量数据记录时,生成所述电网增量数据记录的基于校验字段的第一查询索引并添加至所述第一查询索引表,生成所述电网增量数据记录的基于时间戳的第二查询索引并添加至所述第二查询索引表。
在本实施例中,在检测到电网增量数据记录时,可以将相应的第一查询索引添加至第一查询索引表中,将相应的第二查询索引添加到第二查询索引表中,确保索引表的完整性,实现电网数据质量的全面校验。
可选的,在对电网增量数据进行校验时,由于增量数据与原始数据的时间戳明显不同,可以根据时间戳范围查询电网数据记录中的电网增量数据进行校验。
在其中一个实施例中,创建多个并行任务的步骤以下步骤:
在MapReduce并行计算框架中创建多个并行任务,在分布式文件***中对所有的校验规则建立指示文件,读取相应的指示文件至每个并行任务,根据所述相应的指示文件为每个并行任务配置执行校验规则的参数和处理逻辑。
在本实施例中,可以利用MapReduce并行计算框架来创建并行任务,MapReduce并行计算框架中的所有Map节点可以并发地执行不同的校验规则,如果执行过程中有失效发生,MapReduce并行计算框架会自动地在其他节点启动新的任务来重新尝试执行失效的校验规则,可以有效解决整个并行过程中的负载均衡和容错等问题,校验规则的参数和处理逻辑保存在指示文件中,可以从分布式文件***中进行调用,以指示文件为依据可以快速建立并行任务。
可选的,在并行任务执行之前,还可以读取配置文件,配置文件中设置有校验类型和校验时间戳范围,可以在校验时确定具体的校验类型和时间戳范围。
在其中一个实施例中,指示文件对应一条或者多条校验规则。
在本实施例中,指示文件可以对应一条校验规则或多条校验规则,若是对应一条校验规则,并行任务可以针对该校验规则进行校验,若是对应多条校验规则,并行任务可以针对多条校验规则进行并行校验,提高校验规则的处理效率。
可选的,一个指示文件中的多条校验规则属于同一属性类型的校验规则。
在其中一个实施例中,指示文件对应一个并行任务。
在本实施例中,指示文件对应一个并行任务,一个指示文件由一个并行任务进行处理,实现每个指示文件可以并行化处理,提高指示文件的处理效率。
根据上述电网数据质量的校验方法,本发明还提供一种电网数据质量的校验***,以下就本发明的电网数据质量的校验***的实施例进行详细说明。
参见图2所示,为本发明一个实施例的电网数据质量的校验***的结构示意图,该实施例中的电网数据质量的校验***包括:
数据存储单元210,用于获取电网原始数据记录,将所述电网原始数据记录存储在分布式存储***中;其中,所述电网原始数据记录包括待校验的比对数据记录和用于校验的基准数据记录;
任务创建单元220,用于创建多个并行任务;
查询索引单元230,用于在每个并行任务中,获取目标校验规则的校验字段,根据所述校验字段在所述电网原始数据记录的第一查询索引表中进行查找,获取与所述校验字段对应的第一电网原始数据记录;
提取比对单元240,用于提取所述第一电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验;其中,所述第一查询索引表存储在所述分布式存储***中;
结果输出单元250,用于输出多个并行任务的校验结果。
在其中一个实施例中,如图3所示,电网数据质量的校验***还包括索引建立单元260,用于在所述分布式存储***中建立所述第一查询索引表,所述第一查询索引表的主键为各种校验规则的校验字段,所述第一查询索引表的列值为所述电网原始数据记录的主键。
在其中一个实施例中,查询索引单元230还用于在每个并行任务中,获取目标校验规则的时间戳范围,根据所述时间戳范围在所述电网原始数据记录的第二查询索引表中进行查找,获取与所述时间戳范围对应的第二电网原始数据记录,提取所述第二电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验;其中,所述第二查询索引表存储在所述分布式存储***中。
在其中一个实施例中,索引建立单元260还用于在所述分布式存储***中建立所述第二查询索引表,所述第二查询索引表的主键为各种校验规则的时间戳,所述第二查询索引表的列值为所述电网原始数据记录的主键。
在其中一个实施例中,如图4所示,电网数据质量的校验***还包括文件索引单元270,用于根据所述第一查询索引表和所述第二查询索引表建立分布式文件***的索引文件,读取所述索引文件至内存,读取所述分布式文件***对所述索引文件的操作日志文件,将所述操作日志文件中的操作记录应用到内存索引中,将所述内存索引写入所述索引文件中,根据写入内存索引的索引文件加载批量的电网原始数据记录,分别根据批量的电网原始数据记录中的基准数据对比对数据进行校验。
在其中一个实施例中,如图5所示,电网数据质量的校验***还包括索引调整单元280,用于在检测到电网增量数据记录时,生成所述电网增量数据记录的基于校验字段的第一查询索引并添加至所述第一查询索引表,生成所述电网增量数据记录的基于时间戳的第二查询索引并添加至所述第二查询索引表。
在其中一个实施例中,任务创建单元220在MapReduce并行计算框架中创建多个并行任务,读取在分布式文件***中建立的校验规则的指示文件至每个并行任务,根据相应的指示文件为每个并行任务配置执行校验规则的参数和处理逻辑。
在其中一个实施例中,指示文件对应一条或者多条校验规则。
在其中一个实施例中,指示文件对应一个并行任务。
本发明的电网数据质量的校验***与本发明的电网数据质量的校验方法一一对应,在上述电网数据质量的校验方法的实施例阐述的技术特征及其有益效果均适用于电网数据质量的校验***的实施例中。
根据上述电网数据质量的校验方法,本发明实施例还提供一种可读存储介质和一种校验设备。可读存储介质上存储有可执行程序,该程序被处理器执行时实现上述电网数据质量的校验方法的步骤;校验设备包括存储器、处理器及存储在存储器上并可在处理器上运行的可执行程序,处理器执行程序时实现上述电网数据质量的校验方法的步骤。
在一个具体的实施例中,电网数据质量的校验方法是一种基于分布存储和并行处理的电网数据质量的校验方法,解决了现有的基于关系数据库***方法的计算延时大,难于扩展,***性价比低的问题。
本发明采用的技术方案的主要思路是:
采用一种分布存储方法对所有原始数据记录进行存储;
采用基于非主键的索引方法对校验字段进行索引,校验时根据校验规则涉及的校验字段查找索引表,获取对应的原始数据记录主键,再根据获取到的原始数据记录表主键查找原始数据记录表获取原始数据记录,然后提取比对字段进行比对;
采用HBase对原始数据记录建立时间戳索引,在增量数据质量校验或者基于时间窗口的细时间粒度的数据质量校验时,根据时间戳范围查询原始数据记录表,确定需校验的数据范围后进行校验;
采用HDFS存储数据记录的辅助索引文件和操作日志文件,以便全量原始数据质量校验时能够快速加载校验数据,提升校验性能,在全量原始数据质量校验时,将辅助索引文件读入内存,读取操作日志应用到内存索引上,然后基于内存索引进行校验;
采用基于MapReduce的并行化方式完成校验规则的快速执行。
进一步地,所述分布存储方法为基于HBase的分布存储方法,可支持海量校验数据的存储,并能根据需求方便扩展。进一步地,所述校验规则为基于MapReduce的并行化校验规则。可以根据校验数据量和校验规则数量方便扩展,响应性能可控,性价比高。
进一步地,采用基于非主键索引的方法对校验字段进行索引,以便实现基于非主键字段的校验规则查询处理。
进一步地,校验字段是原始数据记录主键或者任意属性列;比对字段是与所述校验字段对应的某一字段,可以是校验字段本身或者其它字段。
进一步地,对原始数据记录建立时间戳索引,在增量数据质量校验或者基于时间窗口的细时间粒度数据质量校验时,根据时间戳索引查询时间戳索引表以获取原始数据记录主键,再查询原始数据记录表以获取原始数据记录进行校验。
进一步地,为全量原始数据建立HDFS辅助索引文件,为增量数据建立操作日志,在全量历史数据校验时,读取HDFS辅助索引文件到内存,将操作日志应用到内存索引上,然后基于内存索引进行校验。
进一步地,对所有的校验规则建立指示文件,指示文件内容包含所有执行校验规则需要的参数,包括规则名称,规则执行逻辑标识,输入数据表,输出数据表等参数,Map任务读取相应的指示文件,获取执行相应校验规则需要的参数,调用相应的处理逻辑进行校验。
更进一步地,每个指示文件对应一条或者多条校验规则,校验规则的执行参数写在指示文件中,所述执行参数包括校验规则名称,规则执行逻辑表示,输入数据表,输出数据表等参数。
更进一步地,每个指示文件由一个Map任务处理,
本发明的方案能够高效可扩展地进行电网数据质量的校验:第一,将电网数据进行分布存储,使***具有良好的可扩展性;第二,通过为校验规则涉及的字段建立辅助查询索引,以支持校验规则执行时进行高效查询处理;第三,设计了一个基于MapReduce的校验规则并行处理方法,使得每条校验规则都可以并行化处理,有效提升了***响应性能。
HBase是Hadoop生态环境中的一个分布式存储***。针对分布式文件***HDFS缺少结构化半结构化数据存储访问和随机读写能力的缺陷,在HDFS(Hadoop DistributedFile System,即Hadoop分布式文件***)之上,HBase提供了一个分布式数据管理***,解决大规模的结构化和半结构化数据存储访问问题。HBase提供基于列存储模式的大数据表管理能力,可存储管理数十亿以上的数据记录,每个记录可包含百万以上的数据列;HBase试图提供随机和实时的数据读写访问能力,并具有高可扩展性、高可用性、容错处理能力、负载平衡能力、以及实时数据查询能力。
HBase的底层数据是存储在HDFS中的,因而HBase是完全依赖于底层的HDFS工作的。由于HDFS采用了良好了数据多副本存储机制、以及强大的数据节点出错检测和节点失效恢复机制,基于HDFS的HBase在数据存储时自然继承了HDFS的这种数据存储的高可靠性和容错处理能力。
Hadoop MapReduce提供了一个庞大但设计精良的分布式数据存储和并行计算软件构架,能自动完成分布式海量数据的存储管理,能自动划分计算数据并调度计算任务,在集群节点上自动分配和执行子任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算中的很多复杂细节交由***负责处理,大大减少了软件开发人员的负担。
如图6所示,本发明采用分布数据存储和管理***HBase存储数据,将原始数据记录存储到HBase中,以便根据主键快速查询访问;为校验规则涉及的校验字段建立查询索引,以便根据校验字段值快速查询访问;为原始数据记录建立基于时间戳的辅助索引,支持基于时间窗口的数据质量校验;对于历史积累的全量数据,同时建立索引文件存储在分布式文件***HDFS上,以便进行批量数据质量校验时快速加载,避免了对HBase的全表扫描;而对于实时流入的增量数据建立操作日志,解决了数据记录增加、删除、修改时索引文件的维护问题,定时地合并操作日志和索引文件,降低批量数据质量校验时的合并开销;采用校验规则的并行化执行,一个并行任务处理一条至多条校验规则。
将批量数据进行存储和索引的流程包括以下步骤:
(1)将待校验的CSV格式的基准数据表和比对数据表存入HBase中,原始数据记录主键作为HBase表的主键,原始数据记录的非主键属性作为HBase表的一列,不同的列属于不同的列族,利用HBase的面向列存储(同一列族的数据统一存储)提高查询某列数据时的响应性能;
(2)将基于校验规则校验字段的查询索引表存入HBase中,校验字段作为HBase查询索引表的主键,原始数据记录主键作为查询索引表的列名,所有主键属于同一个列族,采用这种数据模式方便对查询索引表记录的增加、删除、修改和查询;
(3)将基于数据记录时间戳的查询索引表存入HBase中,数据记录时间戳作为HBase查询索引表的主键,原始数据记录主键作为查询索引表的列值存储。
(4)将基于校验规则校验字段的查询索引表存入HBase中时,同时将查询索引表存入HDFS的索引文件中。
将增量数据进行存储和索引的流程包括以下步骤:
(1)将增量数据记录***HBase的原始数据记录表中;
(2)将增量数据记录的基于校验规则校验字段的查询索引***HBase的查询索引中;
(3)将增量数据记录的基于数据记录时间戳的查询索引表***HBase的辅助索引中;
(4)将增量数据记录的操作日志追加到HDFS上的操作日志文件中。
将操作日志合并到索引文件的流程包括以下步骤:
(1)读取HDFS上的索引文件到内存中;
(2)读取HDFS上操作日志文件,逐一将操作应用到内存索引中;
(3)将内存索引重新写入到HDFS上的索引文件中;
(4)删除HDFS上的操作日志文件。
并行化校验规则处理流程:
(1)将校验类型,校验时间戳范围写入到配置文件中;
(2)启动MapReduce作业开始执行数据质量校验;
(3)每个Map任务读取一个指示文件,获取规则名称,规则执行逻辑标识,输入数据表,输出数据表等参数;并且读取配置文件中的校验类型和校验范围时间戳;
(4)对于批量校验,根据批量数据单规则校验流程进行校验;
(5)对于基于时间窗口的校验,根据时间戳范围进行增量数据单规则校验流程进行校验。
批量数据单规则校验流程:
(1)读取HDFS上的查询索引表到内存,读取操作日志将其应用到内存中的查询索引表,删除操作日志文件;
(2)遍历内存中的查询索引表进行规则校验。
增量数据单规则校验流程:
(1)根据起始时间戳和终止时间戳,查询时间戳索引表,获取时间增量时间窗口内的所有记录ID;查询原始数据记录表,获取相应的校验字段集合;
(2)根据校验字段集合内的字段值,查询辅助索引表,获取比对字段值进行校验。
上述增量数据单规则校验流程也适用于原始数据的校验。
如图7所示,本发明所涉及到的分布存储和索引方法的实施方式为:为了完成对大量数据记录和大量校验规则的快速处理,除了将原数据表存储到HBase中之外,我们需要针对校验规则所涉及到的字段,设计专门的快速数据索引表并存储到HBase中。例如,在原数据表1和表2中,主键(rowkey字段)为各个记录的ID。如果需要对原数据表1的A字段(记为字段A)和原数据表2的B字段(记为字段B)进行校验,那么我们需要分别建立字段A和字段B的索引表以在校验的时候快速查找。为了实现基于时间窗口的增量数据质量校验和细时间粒度的数据质量校验,为原始数据记录表建立了时间戳查询索引,以便根据时间戳范围界定进行质量校验的数据范围。如图8所示,为了提升全量历史数据的质量校验性能,为数据记录表建立辅助HDFS索引文件和操作日志,以便在全量数据校验时快速加载校验数据到内存中进行校验。
本发明中针对校验规则的并行化处理的实施方式为:为了完成对大量数据记录和大量校验规则的快速处理,采用基于MapReduce的并行化执行机制。如图9所示:首先将各个校验规则的ID和参数等写入到一个个独立的HDFS文件中(称为指示文件),MapReduce作业中包含了所有的这些校验规则的处理模块的实现。根据Hadoop MapReduce的默认运行机制,每个Map任务只会读取一个指示文件并进行处理,这里具体的处理模块的选择则由该任务所读取的指示文件决定。
通过这种方法就能使得集群中所有的Map节点在并发地执行不同的校验规则。如果执行过程中有失效发生,Hadoop MapReduce会自动地在其他节点启动新的Map任务来重新尝试执行这些校验规则。整个并行过程的负载均衡和容错等问题都由Hadoop MapReduce框架一并解决了。
本发明基于已有的一些开源软件实现了一个原型***。其中分布存储和索引采用HBase、校验规则并行化处理采用HDFS和MapReduce,这三个软件本身不属于本发明的内容。通过使用现实电网业务数据和校验规则对本发明实现的原型***和现有的关系数据管理***进行测试对比,本发明实现的原型***在响应性能,可扩展性优于传统关系数据管理***,证明了本发明的基于分布存储和并行处理的电网数据质量检测方法的有效性。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成。所述的程序可以存储于可读取存储介质中。该程序在执行时,包括上述方法所述的步骤。所述的存储介质,包括:ROM/RAM、磁碟、光盘等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种电网数据的校验方法,其特征在于,包括以下步骤:
获取电网原始数据记录,将所述电网原始数据记录存储在分布式存储***中;其中,所述电网原始数据记录包括待校验的比对数据记录和用于校验的基准数据记录;
创建多个并行任务,在每个并行任务中,执行如下操作:获取目标校验规则的校验字段,根据所述校验字段在所述电网原始数据记录的第一查询索引表中进行查找,获取与所述校验字段对应的第一电网原始数据记录,提取所述第一电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验;其中,所述第一查询索引表存储在所述分布式存储***中;
输出多个并行任务的校验结果。
2.根据权利要求1所述的电网数据质量的校验方法,其特征在于,还包括以下步骤:
在所述分布式存储***中建立所述第一查询索引表,所述第一查询索引表的主键为各种校验规则的校验字段,所述第一查询索引表的列值为所述电网原始数据记录的主键。
3.根据权利要求1所述的电网数据质量的校验方法,其特征在于,还包括以下步骤:
在每个并行任务中,获取目标校验规则的时间戳范围,根据所述时间戳范围在所述电网原始数据记录的第二查询索引表中进行查找,获取与所述时间戳范围对应的第二电网原始数据记录,提取所述第二电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验;其中,所述第二查询索引表存储在所述分布式存储***中。
4.根据权利要求3所述的电网数据质量的校验方法,其特征在于,还包括以下步骤:
在所述分布式存储***中建立所述第二查询索引表,所述第二查询索引表的主键为各种校验规则的时间戳,所述第二查询索引表的列值为所述电网原始数据记录的主键。
5.根据权利要求3所述的电网数据质量的校验方法,其特征在于,还包括以下步骤:
根据所述第一查询索引表和所述第二查询索引表建立分布式文件***的索引文件,读取所述索引文件至内存,读取所述分布式文件***对所述索引文件的操作日志文件,将所述操作日志文件中的操作记录应用到内存索引中,将所述内存索引写入所述索引文件中,根据写入内存索引的索引文件加载批量的电网原始数据记录,分别根据批量的电网原始数据记录中的基准数据对比对数据进行校验。
6.根据权利要求3所述的电网数据质量的校验方法,其特征在于,还包括以下步骤:
在检测到电网增量数据记录时,生成所述电网增量数据记录的基于校验字段的第一查询索引并添加至所述第一查询索引表,生成所述电网增量数据记录的基于时间戳的第二查询索引并添加至所述第二查询索引表。
7.根据权利要求3所述的电网数据质量的校验方法,其特征在于,所述创建多个并行任务的步骤以下步骤:
在MapReduce并行计算框架中创建多个并行任务,在分布式文件***中对所有的校验规则建立指示文件,读取相应的指示文件至每个并行任务,根据所述相应的指示文件为每个并行任务配置执行校验规则的参数和处理逻辑。
8.根据权利要求7所述的电网数据质量的校验方法,其特征在于,所述指示文件对应一条或者多条校验规则。
9.根据权利要求7所述的电网数据质量的校验方法,其特征在于,所述指示文件对应一个并行任务。
10.一种电网数据的校验***,其特征在于,包括:
数据存储单元,用于获取电网原始数据记录,将所述电网原始数据记录存储在分布式存储***中;其中,所述电网原始数据记录包括待校验的比对数据记录和用于校验的基准数据记录;
任务创建单元,用于创建多个并行任务;
查询索引单元,用于在每个并行任务中,获取目标校验规则的校验字段,根据所述校验字段在所述电网原始数据记录的第一查询索引表中进行查找,获取与所述校验字段对应的第一电网原始数据记录;
提取比对单元,用于提取所述第一电网原始数据记录中的比对数据和基准数据,根据提取的基准数据对提取的比对数据进行校验;其中,所述第一查询索引表存储在所述分布式存储***中;
结果输出单元,用于输出多个并行任务的校验结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710876201.1A CN107679146A (zh) | 2017-09-25 | 2017-09-25 | 电网数据质量的校验方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710876201.1A CN107679146A (zh) | 2017-09-25 | 2017-09-25 | 电网数据质量的校验方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107679146A true CN107679146A (zh) | 2018-02-09 |
Family
ID=61138126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710876201.1A Pending CN107679146A (zh) | 2017-09-25 | 2017-09-25 | 电网数据质量的校验方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107679146A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595664A (zh) * | 2018-04-28 | 2018-09-28 | 尚谷科技(天津)有限公司 | 一种hadoop环境下的农业数据监控方法 |
CN108762933A (zh) * | 2018-05-31 | 2018-11-06 | 成都四方伟业软件股份有限公司 | 数据质量校验方法及装置 |
CN109462517A (zh) * | 2018-10-24 | 2019-03-12 | 云南电网有限责任公司信息中心 | 一种面向数字电网业务的数据监测的方法、***及设备 |
CN109460995A (zh) * | 2018-09-26 | 2019-03-12 | 平安国际融资租赁有限公司 | 财务制证方法、装置、计算机设备和存储介质 |
CN109635300A (zh) * | 2018-12-14 | 2019-04-16 | 泰康保险集团股份有限公司 | 数据校验方法及装置 |
CN110704404A (zh) * | 2019-08-29 | 2020-01-17 | 苏宁云计算有限公司 | 一种数据质量校验方法、装置、*** |
CN111209597A (zh) * | 2018-11-22 | 2020-05-29 | 迈普通信技术股份有限公司 | 数据校验方法及应用*** |
CN112540987A (zh) * | 2020-12-08 | 2021-03-23 | 湖州中朔信息技术有限公司 | 一种基于数据集市的配用电大数据管理*** |
CN112579578A (zh) * | 2019-09-27 | 2021-03-30 | 中兴通讯股份有限公司 | 基于元数据的数据质量管理方法、装置、***及服务器 |
CN112667618A (zh) * | 2020-12-30 | 2021-04-16 | 湖南长城医疗科技有限公司 | 一种公共区域卫生平台质控***及方法 |
CN112799945A (zh) * | 2021-01-29 | 2021-05-14 | 中国工商银行股份有限公司 | 批量文件校验方法及装置 |
CN112860769A (zh) * | 2021-03-10 | 2021-05-28 | 广东电网有限责任公司 | 一种能源规划数据管理*** |
CN112910086A (zh) * | 2021-01-18 | 2021-06-04 | 国网山东省电力公司青岛供电公司 | 一种智能变电站数据校验方法及*** |
CN115099713A (zh) * | 2022-08-01 | 2022-09-23 | 武汉胜天地消防工程有限公司 | 一种基于大数据的智能电网运行日志采集及分析管理*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024046A (zh) * | 2010-12-14 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 数据重复性校验方法和装置及*** |
CN102799746A (zh) * | 2012-05-07 | 2012-11-28 | 山东电力集团公司青岛供电公司 | 电网信息校验方法及***、电网规划辅助*** |
CN104391903A (zh) * | 2014-11-14 | 2015-03-04 | 广州科腾信息技术有限公司 | 一种基于分布存储和并行计算的电网数据质量检测方法 |
US20160314026A1 (en) * | 2015-04-27 | 2016-10-27 | Microsoft Technology Licensing, Llc | Establishing causality order of computer trace records |
-
2017
- 2017-09-25 CN CN201710876201.1A patent/CN107679146A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024046A (zh) * | 2010-12-14 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 数据重复性校验方法和装置及*** |
CN102799746A (zh) * | 2012-05-07 | 2012-11-28 | 山东电力集团公司青岛供电公司 | 电网信息校验方法及***、电网规划辅助*** |
CN104391903A (zh) * | 2014-11-14 | 2015-03-04 | 广州科腾信息技术有限公司 | 一种基于分布存储和并行计算的电网数据质量检测方法 |
US20160314026A1 (en) * | 2015-04-27 | 2016-10-27 | Microsoft Technology Licensing, Llc | Establishing causality order of computer trace records |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595664B (zh) * | 2018-04-28 | 2022-05-31 | 上海左岸芯慧电子科技有限公司 | 一种hadoop环境下的农业数据监控方法 |
CN108595664A (zh) * | 2018-04-28 | 2018-09-28 | 尚谷科技(天津)有限公司 | 一种hadoop环境下的农业数据监控方法 |
CN108762933A (zh) * | 2018-05-31 | 2018-11-06 | 成都四方伟业软件股份有限公司 | 数据质量校验方法及装置 |
CN109460995A (zh) * | 2018-09-26 | 2019-03-12 | 平安国际融资租赁有限公司 | 财务制证方法、装置、计算机设备和存储介质 |
CN109460995B (zh) * | 2018-09-26 | 2024-02-06 | 平安国际融资租赁有限公司 | 财务制证方法、装置、计算机设备和存储介质 |
CN109462517A (zh) * | 2018-10-24 | 2019-03-12 | 云南电网有限责任公司信息中心 | 一种面向数字电网业务的数据监测的方法、***及设备 |
CN111209597A (zh) * | 2018-11-22 | 2020-05-29 | 迈普通信技术股份有限公司 | 数据校验方法及应用*** |
CN109635300A (zh) * | 2018-12-14 | 2019-04-16 | 泰康保险集团股份有限公司 | 数据校验方法及装置 |
CN109635300B (zh) * | 2018-12-14 | 2023-12-19 | 泰康保险集团股份有限公司 | 数据校验方法及装置 |
CN110704404A (zh) * | 2019-08-29 | 2020-01-17 | 苏宁云计算有限公司 | 一种数据质量校验方法、装置、*** |
CN110704404B (zh) * | 2019-08-29 | 2023-04-28 | 苏宁云计算有限公司 | 一种数据质量校验方法、装置、*** |
CN112579578A (zh) * | 2019-09-27 | 2021-03-30 | 中兴通讯股份有限公司 | 基于元数据的数据质量管理方法、装置、***及服务器 |
CN112540987A (zh) * | 2020-12-08 | 2021-03-23 | 湖州中朔信息技术有限公司 | 一种基于数据集市的配用电大数据管理*** |
CN112667618A (zh) * | 2020-12-30 | 2021-04-16 | 湖南长城医疗科技有限公司 | 一种公共区域卫生平台质控***及方法 |
CN112667618B (zh) * | 2020-12-30 | 2023-06-06 | 湖南长城医疗科技有限公司 | 一种公共区域卫生平台质控***及方法 |
CN112910086A (zh) * | 2021-01-18 | 2021-06-04 | 国网山东省电力公司青岛供电公司 | 一种智能变电站数据校验方法及*** |
CN112910086B (zh) * | 2021-01-18 | 2024-05-31 | 国网山东省电力公司青岛供电公司 | 一种智能变电站数据校验方法及*** |
CN112799945A (zh) * | 2021-01-29 | 2021-05-14 | 中国工商银行股份有限公司 | 批量文件校验方法及装置 |
CN112799945B (zh) * | 2021-01-29 | 2024-03-15 | 中国工商银行股份有限公司 | 批量文件校验方法及装置 |
CN112860769A (zh) * | 2021-03-10 | 2021-05-28 | 广东电网有限责任公司 | 一种能源规划数据管理*** |
CN115099713B (zh) * | 2022-08-01 | 2023-04-07 | 河南蓝通信息技术有限公司 | 一种基于大数据的智能电网运行日志采集及分析管理*** |
CN115099713A (zh) * | 2022-08-01 | 2022-09-23 | 武汉胜天地消防工程有限公司 | 一种基于大数据的智能电网运行日志采集及分析管理*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107679146A (zh) | 电网数据质量的校验方法和*** | |
CN104866426B (zh) | 软件测试综合控制方法及*** | |
CN108255712B (zh) | 数据***的测试***和测试方法 | |
CN104866580B (zh) | 一种数据库变更对现有业务影响的快速侦测方法 | |
CN102968374B (zh) | 一种数据仓库测试方法 | |
CN104391903A (zh) | 一种基于分布存储和并行计算的电网数据质量检测方法 | |
CN104252481A (zh) | 主从数据库一致性的动态校验方法和装置 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
CN106682036A (zh) | 一种数据交换***及其交换方法 | |
CN102236672A (zh) | 一种数据导入方法及装置 | |
CN111240968A (zh) | 一种自动测试管理方法及*** | |
CN108664388A (zh) | 动态字段数据返回接口的测试***、方法、电子设备和可读存储介质 | |
CN114600094A (zh) | 为数据库架构生成哈希树 | |
CN104778179A (zh) | 一种数据迁移测试方法和*** | |
CN110891000A (zh) | 一种gpu带宽性能的检测方法、***及相关装置 | |
CN111026709B (zh) | 基于集群访问的数据处理方法及装置 | |
CN110287114B (zh) | 一种数据库脚本性能测试的方法及装置 | |
CN112948473A (zh) | 数据仓库的数据处理方法、装置、***及存储介质 | |
CN105335459B (zh) | 基于xbrl智能报告平台的合并报表数据抽取方法 | |
CN115329011A (zh) | 数据模型的构建方法、数据查询的方法、装置及存储介质 | |
CN111581217B (zh) | 数据检测方法、装置、计算机设备和存储介质 | |
CN103778223A (zh) | 一种基于云平台的普适背单词***及其构建方法 | |
CN104714956A (zh) | 一种异构记录集对比方法及装置 | |
CN116975649A (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN109032940A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180209 |
|
RJ01 | Rejection of invention patent application after publication |