CN107766452A - 一种适合电力调度数据高速存取的索引结构及其索引方法 - Google Patents

一种适合电力调度数据高速存取的索引结构及其索引方法 Download PDF

Info

Publication number
CN107766452A
CN107766452A CN201710885121.2A CN201710885121A CN107766452A CN 107766452 A CN107766452 A CN 107766452A CN 201710885121 A CN201710885121 A CN 201710885121A CN 107766452 A CN107766452 A CN 107766452A
Authority
CN
China
Prior art keywords
index
node
data
last
markers
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.)
Granted
Application number
CN201710885121.2A
Other languages
English (en)
Other versions
CN107766452B (zh
Inventor
张炜
张玉波
邬蓉蓉
郭丽娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electric Power Research Institute of Guangxi Power Grid Co Ltd
Original Assignee
Electric Power Research Institute of Guangxi Power Grid Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Electric Power Research Institute of Guangxi Power Grid Co Ltd filed Critical Electric Power Research Institute of Guangxi Power Grid Co Ltd
Priority to CN201710885121.2A priority Critical patent/CN107766452B/zh
Publication of CN107766452A publication Critical patent/CN107766452A/zh
Application granted granted Critical
Publication of CN107766452B publication Critical patent/CN107766452B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Water Supply & Treatment (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及输变电设备状态监测及故障诊断的研究、应用技术领域,具体涉及一种适合电力调度数据高速存取的索引结构及其索引方法,索引结构包括测量点索引、时标索引、数据块、数据缓存块;每个测量点索引设置一个时标索引;每个时标索引设置若干个数据块;测量点索引依托于关系数据库实现;时标索引采用多级索引实现;本发明率先实现了统一量测点与时标的数据视图,避免了因元数据结构和关系等导致数据表繁多的被动局面,极大地适应了海量结构化数据高并发、低时延的存储需求。创造性地提出了面向电力监控系统量测点时间序列数据的索引结构,打破了关系型数据库仅能进行单列索引的应用局限,极大地提升了检索和读写数据的效率。

Description

一种适合电力调度数据高速存取的索引结构及其索引方法
技术领域
本发明涉及输变电设备状态监测及故障诊断的研究、应用技术领域,具体涉及一种适合电力调度数据高速存取的索引结构及其索引方法。
背景技术
大数据可以通俗地理解为无法在一定时间内用传统数据库软件工具对其内容进行抓取、管理和处理的数据集合,而电力大数据则需在此基础上重塑电力核心价值和转变电力发展方式。电力大数据的应用流程一般可分为数据获取和集成、数据解释和分析(数据解析)、分析结果展示等环节。其中,数据解释和分析是重要环节。当前,大数据在能源电力领域的应用虽然属于起步阶段,但鉴于大数据分析的作用,电网企业亦充分考虑和研发了电网大数据的分析工具。如中国南方电网公司即明确提出了,各级状态监测评价中心的主站平台需按照统一的标准,实现设备在线监测信息、设备台账信息(含基本信息、技术参数、价值信息、运维资料、大修技改、缺陷记录、绩效评价等七个维度),以及系统运行信息、气象环境信息、视频监视信息等数据的归集和全面融合。
电力企业的数据已告别以往数据类型较为单一、增长较为缓慢的时代,数据规模开始由TB级向PB级转变、增长,且数据结构亦形成以结构化、非结构化和半结构化的多源化数据形式。此时,如何科学的解释、分析电力大数据则成为了限制了数据应用的瓶颈。因此,还亟待提升和不断应用、开发面向电力大数据特征的高速存储体系结构、索引体系结构以及流计算即时处理技术,进而促进大数据分析技术的不断进步,达到智能电网在大数据时代下价值形态的跃升。其中,在数据分析时研究、采用高速存储的索引结构,改变以往关系数据库索引结构的落后方式,便显得尤为重要。如电力调度数据是一种时间序列数据,其特征在于量测点多、采集周期短。通常电力调度数据通常按照关系型数据库的表结构存储,但当数据总量超出既定表的承载极限时,则需按各量测点和采集时间而分库分表存储。此时,非但没有根本解决数据规模的问题,还造成数据分散,检索数据逻辑复杂的被动局面。此外,基于关系数据库的索引特性和读写性能的考虑,若是按量测点维度为主、时间维度为辅查询数据时,传统关系数据库的性能则无法满足检索要求。
鉴于此,急需在研究电力调度业务系统的数据存储、检索、流计算所采用技术架构的基础上,深入分析对即时流处理技术的现状与需求,总结归纳结构化数据与非结构化数据、时间序列数据等所采用的数据存储与检索技术架构与性能,进而提出一种适合电力调度数据高速存取的索引结构,一举扭转以往关系性数据库在处理时间序列数据时体现的逻辑复杂、性能低下等关键难题。
发明内容
为了解决上述问题,本发明提供了一种适合电力调度数据高速存取的索引结构及其索引方法,具体技术方案如下:
一种适合电力调度数据高速存取的索引结构包括测量点索引、时标索引、数据块、数据缓存块;每个测量点索引设置一个时标索引;每个时标索引设置若干个数据块;所述测量点索引依托于关系数据库实现;所述时标索引采用多级索引实现;所述多级索引由顶层索引向下检索直至底层索引;所述多级索引的每一级索引有若干个索引文件,所述索引文件包括若干个索引节点;所述索引节点包括若干个索引项;所述索引项的信息为下一级索引节点的编号、起始时标和结束时标;所述底层索引的下一级索引节点的编号为数据块编号;所述顶层索引除了索引项,还包括下一个索引节点编号信息;所述索引项的时标范围为下一级索引节点所有索引项的时标范围的并集;所述数据缓存块用于在写入数据时先把数据写入数据缓存块,待数据缓存块内存满后再将数据缓存块中的数据以追加的方式转储到数据文件形成数据块,并以数据块的粒度更新多级索引。
进一步,所述一个测量点对应一个数据缓存块。
进一步,所述数据缓存块的格式与数据块的格式相同。
进一步,写入数据的步骤包括:
(1)定位到测量点对应的数据缓存块;
(2)如果数据缓存块未满,则将数据追加到数据缓存块,更新数据过程结束;
(3)如果数据缓存块已满,则将数据缓存块转储到数据块中;
(4)对于从数据缓存块转储形成的数据块,统计数据块的起始时标和结束时标,并将该数据块提交到多级索引,执行更新多级索引步骤;
(5)清空数据缓存块内容,返回执行步骤(2)。
进一步,所述更新多级索引步骤包括:
(1)更新底层索引
1)如果底层索引的最后一个索引节点不存在或者最后一个索引节点的索引项已满,则创建一个新的索引节点并作为最后一个索引节点;
2)在底层索引的最后一个索引节点中添加一个索引项,内容为提交的数据块的编号,数据块的数据的起始时标和结束时标;
3)计算底层索引的最后一个索引节点的所有索引项的时标范围的并集,得到一个起始时标和结束时标,将该时标范围信息连同最后一个索引节点的编号提交到上一级索引;
(2)更新底层索引至顶层索引之间的中间级索引
1)如果该级索引的最后一个索引节点不存在,或者最后一个索引节点的最后一个索引项的下一级索引的索引节点编号不是即将提交的下一级索引的索引节点的编号且最后一个索引节点已满,则在该级索引创建一个新的索引节点作为最后一个索引节点;
2)如果该级索引的最后一个索引节点的最后一个索引项不存在,或者其下一级索引的索引节点编号不是即将提交的下一级索引节点的编号,则在该级最后一个索引节点创建一个新的索引项,作为最后一个索引项;
3)将提交过来的下一级索引的索引节点起始时标和结束时标更新到该级索引的最后一个索引节点的最后一个索引项,更新方法是设置下一级索引的索引节点编号、起始时标和结束时标;如果该级索引为底层索引的上一级索引,则本步骤所述的下一级索引为底层索引;
4)计算该级索引的最后一个索引节点的所有索引项的时标范围的并集,得到一个起始时标和结束时标,将该时标范围信息连同最后一个索引节点的编号提交到顶层索引;
(3)更新顶层索引
1)如果顶层索引的最后一个索引节点不存在,或者最后一个索引节点的最后一个索引项的下一级索引的索引节点编号不是即将提交的下一级索引的索引节点的编号且最后一个索引节点已满,则创建一个新的顶层索引的索引节点作为该级索引的最后一个索引节点;如果创建新的顶层索引节点前已存在最后一个索引节点,那么更新该索引节点的下一个索引节点编号为新建的顶层索引节点的编号,使得顶层索引节点形成链表;
2)如果顶层索引的最后一个索引节点的最后一个索引项不存在,或者其下一级索引节点编号不是即将提交的下一级索引节点的编号,那么在最后一个索引节点创建一个新的索引项作为该级索引的最后一个索引项;
3)将提交过来的下一级索引节点起始时标和结束时标更新到顶层索引的最后一个索引节点的最后一个索引项,更新方法是设置下一级索引的索引节点编号、起始时标和结束时标。
一种适合电力调度数据高速存取的索引结构的索引方法包括以下步骤:
(1)通过测量点索引定位至测量点对应的数据缓存块,通过查询时标范围过滤数据缓存块的数据,返回满足条件的数据;
(2)通过测量点索引获取待查询的测量点的多级索引位置,即多级索引的第一个索引节点编号;
(3)通过多级索引的第一个索引节点编号和查询时标范围参数,调用多级索引检索流程,获得满足查询条件的数据块;
(4)读取所有满足查询条件的数据块,对每个数据块,按查询时标范围进一步过滤数据,返回满足条件的数据。
进一步,所述多级索引检索流程包括以下步骤,设多级索引有N级,N级索引为顶层索引,一级索引为底层索引:
(1)初始化一个空的数据块编号列表;
(2)通过N级索引的第1个索引节点编号,即顶层索引的第一个索引节点编号,读取N级索引的第1个索引节点;
(3)通过N级索引的第1个索引节点,遍历所有N级索引的索引节点,对每个N级索引的索引节点,判断每个索引项的时标范围是否与查询时标范围有交集,如果有交集,则通过该索引项的下一级索引的索引节点编号定位到N-1级索引的索引节点,跳到步骤(4);如果没有交集,那么跳过该索引项;如果N级索引没有任何索引项的时标范围与查询时标范围有交集,则结束检索过程;
(4)判断步骤(3)所述的N-1级索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,那么通过该索引项的下一级索引的索引节点编号定位到N-2级索引的索引节点,继续判断N-2级索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,则通过该索引项的下一级索引节点编号定位到N-3级索引的索引节点;如此反复直至N-1级索引为一级索引,即底层索引,则跳到步骤(5);
如果该级索引的下一级索引节点为底层索引,则跳到步骤(5),如果没有交集,那么跳过该索引项;
(5)判断底层索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,那么记录该索引项的下一级索引节点编号,即数据块编号;如果没有交集,那么跳过该索引项;
(6)返回数据块编号列表。
本发明的有益效果为:
本发明率先实现了统一量测点与时标的数据视图,避免了因元数据结构和关系等导致数据表繁多的被动局面,极大地适应了海量结构化数据高并发、低时延的存储需求。
创造性地提出了面向电力监控系统量测点时间序列数据的索引结构,打破了关系型数据库仅能进行单列索引的应用局限,极大地提升了检索和读写数据的效率。
附图说明
图1为本发明的一种适合电力调度数据高速存取的索引结构的结构示意图;
图2为本发明中的更新数据的流程示意图;
图3为本发明中的多级索引的总体结构示意图;
图4为本发明中的多级索引的索引节点结构示意图;
图5为本发明中的多级索引的底层索引和中间层索引的索引项的格式示意图;
图6为本发明中的多级索引的顶层索引的索引项的格式示意图。
具体实施方式
为了更好的理解本发明,下面结合附图和具体实施例对本发明作进一步说明:
如图1和图2所示,一种适合电力调度数据高速存取的索引结构包括测量点索引、时标索引、数据块、数据缓存块;每个测量点索引设置一个时标索引;每个时标索引设置若干个数据块;本发明按测量点维度组织数据,即同一个测量点的数据在物理上是存储在一起的。同一个测量点的数据存放在一个或多个数据块中,一个数据块只存储一个量测点的数据。
测量点索引是全局唯一的,由于测量点规模不大,从几万到几十万级别,测量点索引更新频率不高,因此测量点索引直接依托关系数据库实现。其中,一个测量点对应一个数据缓存块。数据缓存块用于在写入数据时先把数据写入数据缓存块,待数据缓存块内存满后再将数据缓存块中的数据以追加的方式转储到数据文件形成数据块,并以数据块的粒度更新多级索引。其中,数据缓存块的格式与数据块的格式相同。
对于时标索引,一个测量点索引对应一个时标索引,这大大缩小了时标索引检索的数据规模,可极大提高查询性能。由于有很多时标索引从几万到几十万级别,且每个时标索引的更新频率很高,这与量测点数据写入频率相关,本发明中的时标索引采用多级索引实现。
如图3和图4所示的是三级索引的结构示意图,多级索引由顶层索引向下检索直至底层索引;多级索引的每一级索引有若干个索引文件,索引文件包括若干个索引节点;索引节点包括若干个索引项;如图5所示,索引项的信息为下一级索引节点的编号、起始时标和结束时标;底层索引的下一级索引节点的编号为数据块编号;索引项的时标范围为下一级索引节点所有索引项的时标范围的并集;如图6所示,顶层索引节点还包括下一个索引节点编号信息,以构建顶层索引节点链表。
多级索引是一种树形索引,由顶层索引(本实施例为三级索引)向下检索,直到底层索引(即一级索引),最终检索到数据块。多级索引是一种稀疏索引,底层索引是对整个数据块建立索引,而不是为数据块的每一条数据建立索引。相比B树索引及其变体,多级索引主要有以下优势:
(1)稀疏索引,存储开销小;
(2)存储开销小,因而允许每个量测点都有一个多级索引,极大提高检索性能;
(3)以追加的方式更新,不需要合并索引节点和拆分索引节点,极大提高更新索引性能,从而也提高数据写入性能。
由于调度数据是时序数据,数据基本是按时间顺序写入的,因此更新多级索引时,我们采用新增索引节点或更新最后一个索引节点、新增索引项或更新最后一个索引项的方式,而不需要像B树索引及其变体一样合并索引节点或拆分索引节点,造成大量随机磁盘IO。
如图2所示,写入数据的步骤包括:
(1)定位到测量点对应的数据缓存块;
(2)如果数据缓存块未满,则将数据追加到数据缓存块,更新数据过程结束;
(3)如果数据缓存块已满,则将数据缓存块转储到数据块中;
(4)对于从数据缓存块转储形成的数据块,统计数据块的起始时标和结束时标,并将该数据块提交到多级索引,执行多级索引更新步骤;
(5)清空数据缓存块内容,返回执行步骤(2)。
其中,更新多级索引步骤包括:
(1)更新底层索引
1)如果底层索引的最后一个索引节点不存在或者最后一个索引节点的索引项已满,则创建一个新的索引节点并作为最后一个索引节点;
2)在底层索引的最后一个索引节点中添加一个索引项,内容为提交的数据块的编号,数据块的数据的起始时标和结束时标;
3)计算底层索引的最后一个索引节点的所有索引项的时标范围的并集,得到一个起始时标和结束时标,将该时标范围信息连同最后一个索引节点的编号提交到上一级索引。
(2)更新底层索引至顶层索引之间的中间级索引
1)如果该级索引的最后一个索引节点不存在,或者最后一个索引节点的最后一个索引项的下一级索引的索引节点编号不是即将提交的下一级索引的索引节点的编号且最后一个索引节点已满,则在该级索引创建一个新的索引节点作为最后一个索引节点;
2)如果该级索引的最后一个索引节点的最后一个索引项不存在,或者其下一级索引的索引节点编号不是即将提交的下一级索引节点的编号,则在该级最后一个索引节点创建一个新的索引项,作为最后一个索引项;
3)将提交过来的下一级索引的索引节点起始时标和结束时标更新到该级索引的最后一个索引节点的最后一个索引项,更新方法是设置下一级索引的索引节点编号、起始时标和结束时标;如果该级索引为底层索引的上一级索引,则本步骤所述的下一级索引为底层索引;
4)计算该级索引的最后一个索引节点的所有索引项的时标范围的并集,得到一个起始时标和结束时标,将该时标范围信息连同最后一个索引节点的编号提交到顶层索引。
(3)更新顶层索引
1)如果顶层索引的最后一个索引节点不存在,或者最后一个索引节点的最后一个索引项的下一级索引的索引节点编号不是即将提交的下一级索引的索引节点的编号且最后一个索引节点已满,则创建一个新的顶层索引的索引节点作为该级索引的最后一个索引节点;如果创建新的顶层索引节点前已存在最后一个索引节点,那么更新该索引节点的下一个索引节点编号为新建的顶层索引节点的编号,使得顶层索引节点形成链表。
2)如果顶层索引的最后一个索引节点的最后一个索引项不存在,或者其下一级索引节点编号不是即将提交的下一级索引节点的编号,那么在最后一个索引节点创建一个新的索引项作为该级索引的最后一个索引项;
3)将提交过来的下一级索引节点起始时标和结束时标更新到顶层索引的最后一个索引节点的最后一个索引项,更新方法是设置下一级索引的索引节点编号、起始时标和结束时标。
如图3和图4所示,下面以三级索引进一步描述更新多级索引的过程:
1、更新一级索引,即底层索引
(1)如果一级索引的最后一个索引节点不存在或者最后一个索引节点的索引项已满,则创建一个新的索引节点作为一级索引的最后一个索引节点;
(2)在一级索引的最后一个索引节点中添加一个索引项,内容为提交的数据块的编号,数据块的数据的起始时标和结束时标;
(3)计算一级索引的最后一个索引节点的所有索引项的时标范围的并集,得到一个起始时标和结束时标,将该时标范围信息连同最后一个索引节点的编号提交到二级索引。
2、更新二级索引
(1)如果二级索引的最后一个索引节点不存在,或者最后一个索引节点的最后一个索引项的下一级索引的索引节点编号不是即将提交的一级索引节点的编号且最后一个索引节点已满,则创建一个新的二级索引节点作为最后一个索引节点;
(2)如果二级索引的最后一个索引节点的最后一个索引项不存在,或者其下一级索引节点编号不是即将提交的一级索引节点的编号,那么在最后一个索引节点创建一个新的索引项作为最后一个索引项;
(3)将提交过来的一级索引节点起始时标和结束时标更新到二级索引的最后一个索引节点的最后一个索引项,更新方法是设置下一级索引的索引节点编号、起始时标和结束时标;
4)计算二级索引的最后一个索引节点的所有索引项的时标范围的并集,得到一个起始时标和结束时标,将该时标范围信息连同最后一个索引节点的编号提交到顶层索引。
3、更新三级索引
(1)如果三级索引的最后一个索引节点不存在,或者最后一个索引节点的最后一个索引项的下一级索引的索引节点编号不是即将提交的二级索引节点的编号且最后一个索引节点已满,则创建一个新的三级索引节点作为最后一个索引节点;如果创建新的顶层索引节点前已存在最后一个索引节点,那么更新该索引节点的下一个索引节点编号为新建的顶层索引节点的编号,使得顶层索引节点形成链表;
(2)如果三级索引的最后一个索引节点的最后一个索引项不存在,或者其下一级索引节点编号不是即将提交的二级索引节点的编号,那么在最后一个索引节点创建一个新的索引项作为最后一个索引项;
(3)将提交过来的二级索引节点起始时标和结束时标更新到三级索引的最后一个索引节点的最后一个索引项,更新方法是设置下一级索引的索引节点编号、起始时标和结束时标。
一种适合电力调度数据高速存取的索引结构的索引方法包括以下步骤:
(1)通过测量点索引定位至测量点对应的数据缓存块,通过查询时标范围过滤数据缓存块的数据,返回满足条件的数据;
(2)通过测量点索引获取待查询的测量点的多级索引位置,即多级索引的第一个索引节点编号;
(3)通过多级索引的第一个索引节点编号和查询时标范围参数,调用多级索引检索流程,获得满足查询条件的数据块;
(4)读取所有满足查询条件的数据块,对每个数据块,按查询时标范围进一步过滤数据,返回满足条件的数据。
其中多级索引检索流程包括以下步骤,设多级索引有N级,N级索引为顶层索引,一级索引为底层索引:
(1)初始化一个空的数据块编号列表;
(2)通过N级索引的第1个索引节点编号,即顶层索引的第一个索引节点编号,读取N级索引的第1个索引节点;
(3)通过N级索引的第1个索引节点,遍历所有N级索引的索引节点,对每个N级索引的索引节点,判断每个索引项的时标范围是否与查询时标范围有交集,如果有交集,则通过该索引项的下一级索引的索引节点编号定位到N-1级索引的索引节点,跳到步骤(4);如果没有交集,那么跳过该索引项;如果N级索引没有任何索引项的时标范围与查询时标范围有交集,则结束检索过程;
(4)判断步骤(3)所述的N-1级索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,那么通过该索引项的下一级索引的索引节点编号定位到N-2级索引的索引节点,继续判断N-2级索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,则通过该索引项的下一级索引节点编号定位到N-3级索引的索引节点;如此反复直至N-1级索引为一级索引,即底层索引,则跳到步骤(5);
如果该级索引的下一级索引节点为底层索引,则跳到步骤(5),如果没有交集,那么跳过该索引项;
(5)判断底层索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,那么记录该索引项的下一级索引节点编号,即数据块编号;如果没有交集,那么跳过该索引项;
(6)返回数据块编号列表。
如图3和图4所示,下面以三级索引进一步描述多级索引的检索流程:
(1)初始化一个空的数据块编号列表;
(2)通过三级索引的第一个索引节点编号,读取三级索引的第一个索引节点,即顶层索引的第一个索引节点;
(3)通过三级索引的第一个索引节点,遍历所有三级索引的索引节点,对每个三级索引的索引节点,判断每个索引项的时标范围是否与查询时标范围有交集,如果有交集,则通过索引项的下一级索引节点编号定位到二级索引节点,按步骤(4)进行处理;如果没有交集,那么跳过该索引项;如果没有任何索引项的时标范围与查询时标范围有交集,那么结束查询过程;
(4)判断二级索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,则通过该索引项的下一级索引的索引节点编号定位到一级索引的索引节点,即底层索引的索引节点,按步骤(5)进行处理;如果没有交集,则跳过该索引项;
(5)判断一级索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,则记录该索引项的下一级索引的索引节点编号,即数据块编号;如果没有交集,那么跳过该索引项;
(6)返回数据块编号列表。
本发明不局限于以上所述的具体实施方式,以上所述仅为本发明的较佳实施案例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种适合电力调度数据高速存取的索引结构,其特征在于:包括测量点索引、时标索引、数据块、数据缓存块;每个测量点索引设置一个时标索引;每个时标索引设置若干个数据块;所述测量点索引依托于关系数据库实现;所述时标索引采用多级索引实现;所述多级索引由顶层索引向下检索直至底层索引;所述多级索引的每一级索引有若干个索引文件,所述索引文件包括若干个索引节点;所述索引节点包括若干个索引项;所述索引项的信息为下一级索引节点的编号、起始时标和结束时标;所述底层索引的下一级索引节点的编号为数据块编号;所述顶层索引除了索引项,还包括下一个索引节点编号信息;所述索引项的时标范围为下一级索引节点所有索引项的时标范围的并集;所述数据缓存块用于在写入数据时先把数据写入数据缓存块,待数据缓存块内存满后再将数据缓存块中的数据以追加的方式转储到数据文件形成数据块,并以数据块的粒度更新多级索引。
2.根据权利要求1所述的一种适合电力调度数据高速存取的索引结构,其特征在于:所述一个测量点对应一个数据缓存块。
3.根据权利要求1所述的一种适合电力调度数据高速存取的索引结构,其特征在于:所述数据缓存块的格式与数据块的格式相同。
4.根据权利要求1所述的一种适合电力调度数据高速存取的索引结构,其特征在于:写入数据的步骤包括:
(1)定位到测量点对应的数据缓存块;
(2)如果数据缓存块未满,则将数据追加到数据缓存块,更新数据过程结束;
(3)如果数据缓存块已满,则将数据缓存块转储到数据块中;
(4)对于从数据缓存块转储形成的数据块,统计数据块的起始时标和结束时标,并将该数据块提交到多级索引,执行更新多级索引步骤;
(5)清空数据缓存块内容,返回执行步骤(2)。
5.根据权利要求1或4所述的一种适合电力调度数据高速存取的索引结构,其特征在于:所述更新多级索引步骤包括:
(1)更新底层索引
1)如果底层索引的最后一个索引节点不存在或者最后一个索引节点的索引项已满,则创建一个新的索引节点并作为最后一个索引节点;
2)在底层索引的最后一个索引节点中添加一个索引项,内容为提交的数据块的编号,数据块的数据的起始时标和结束时标;
3)计算底层索引的最后一个索引节点的所有索引项的时标范围的并集,得到一个起始时标和结束时标,将该时标范围信息连同最后一个索引节点的编号提交到上一级索引;
(2)更新底层索引至顶层索引之间的中间级索引
1)如果该级索引的最后一个索引节点不存在,或者最后一个索引节点的最后一个索引项的下一级索引的索引节点编号不是即将提交的下一级索引的索引节点的编号且最后一个索引节点已满,则在该级索引创建一个新的索引节点作为最后一个索引节点;
2)如果该级索引的最后一个索引节点的最后一个索引项不存在,或者其下一级索引的索引节点编号不是即将提交的下一级索引节点的编号,则在该级最后一个索引节点创建一个新的索引项,作为最后一个索引项;
3)将提交过来的下一级索引的索引节点起始时标和结束时标更新到该级索引的最后一个索引节点的最后一个索引项,更新方法是设置下一级索引的索引节点编号、起始时标和结束时标;如果该级索引为底层索引的上一级索引,则本步骤所述的下一级索引为底层索引;
4)计算该级索引的最后一个索引节点的所有索引项的时标范围的并集,得到一个起始时标和结束时标,将该时标范围信息连同最后一个索引节点的编号提交到顶层索引;
(3)更新顶层索引
1)如果顶层索引的最后一个索引节点不存在,或者最后一个索引节点的最后一个索引项的下一级索引的索引节点编号不是即将提交的下一级索引的索引节点的编号且最后一个索引节点已满,则创建一个新的顶层索引的索引节点作为该级索引的最后一个索引节点;如果创建新的顶层索引节点前已存在最后一个索引节点,那么更新该索引节点的下一个索引节点编号为新建的顶层索引节点的编号,使得顶层索引节点形成链表;
2)如果顶层索引的最后一个索引节点的最后一个索引项不存在,或者其下一级索引节点编号不是即将提交的下一级索引节点的编号,那么在最后一个索引节点创建一个新的索引项作为该级索引的最后一个索引项;
3)将提交过来的下一级索引节点起始时标和结束时标更新到顶层索引的最后一个索引节点的最后一个索引项,更新方法是设置下一级索引的索引节点编号、起始时标和结束时标。
6.权利要求1-5所述的一种适合电力调度数据高速存取的索引结构的索引方法,其特征在于:包括以下步骤:
(1)通过测量点索引定位至测量点对应的数据缓存块,通过查询时标范围过滤数据缓存块的数据,返回满足条件的数据;
(2)通过测量点索引获取待查询的测量点的多级索引位置,即多级索引的第一个索引节点编号;
(3)通过多级索引的第一个索引节点编号和查询时标范围参数,调用多级索引检索流程,获得满足查询条件的数据块;
(4)读取所有满足查询条件的数据块,对每个数据块,按查询时标范围进一步过滤数据,返回满足条件的数据。
7.根据权利要求6所述的一种适合电力调度数据高速存取的索引结构的索引方法,其特征在于:所述多级索引检索流程包括以下步骤,设多级索引有N级,N级索引为顶层索引,一级索引为底层索引:
(1)初始化一个空的数据块编号列表;
(2)通过N级索引的第1个索引节点编号,即顶层索引的第一个索引节点编号,读取N级索引的第1个索引节点;
(3)通过N级索引的第1个索引节点,遍历所有N级索引的索引节点,对每个N级索引的索引节点,判断每个索引项的时标范围是否与查询时标范围有交集,如果有交集,则通过该索引项的下一级索引的索引节点编号定位到N-1级索引的索引节点,跳到步骤(4);如果没有交集,那么跳过该索引项;如果N级索引没有任何索引项的时标范围与查询时标范围有交集,则结束检索过程;
(4)判断步骤(3)所述的N-1级索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,那么通过该索引项的下一级索引的索引节点编号定位到N-2级索引的索引节点,继续判断N-2级索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,则通过该索引项的下一级索引节点编号定位到N-3级索引的索引节点;如此反复直至N-1级索引为一级索引,即底层索引,则跳到步骤(5);
如果该级索引的下一级索引节点为底层索引,则跳到步骤(5),如果没有交集,那么跳过该索引项;
(5)判断底层索引的索引节点的每个索引项的时标范围是否与查询时标范围有交集,如果有交集,那么记录该索引项的下一级索引节点编号,即数据块编号;如果没有交集,那么跳过该索引项;
(6)返回数据块编号列表。
CN201710885121.2A 2017-09-26 2017-09-26 一种适合电力调度数据高速存取的索引系统及其索引方法 Active CN107766452B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710885121.2A CN107766452B (zh) 2017-09-26 2017-09-26 一种适合电力调度数据高速存取的索引系统及其索引方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710885121.2A CN107766452B (zh) 2017-09-26 2017-09-26 一种适合电力调度数据高速存取的索引系统及其索引方法

Publications (2)

Publication Number Publication Date
CN107766452A true CN107766452A (zh) 2018-03-06
CN107766452B CN107766452B (zh) 2021-07-06

Family

ID=61267690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710885121.2A Active CN107766452B (zh) 2017-09-26 2017-09-26 一种适合电力调度数据高速存取的索引系统及其索引方法

Country Status (1)

Country Link
CN (1) CN107766452B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111046129A (zh) * 2019-05-13 2020-04-21 国家计算机网络与信息安全管理中心 基于文本内容特征的公众号信息存储方法及检索系统
CN113656397A (zh) * 2021-07-02 2021-11-16 阿里巴巴新加坡控股有限公司 一种针对时序数据的索引构建及查询的方法、装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996246A (zh) * 2010-11-09 2011-03-30 中国电信股份有限公司 即时索引方法及系统
CN102043795A (zh) * 2009-10-13 2011-05-04 上海新华控制技术(集团)有限公司 过程控制历史数据文件结构的建立方法和数据读写方法
US20120254189A1 (en) * 2011-03-31 2012-10-04 Biren Narendra Shah Multilevel indexing system
CN103365960A (zh) * 2013-06-18 2013-10-23 国家电网公司 电力多级调度管理结构化数据的离线搜索方法
CN103593409A (zh) * 2013-10-22 2014-02-19 深圳市康拓普信息技术有限公司 实时数据库检索方法及检索系统
CN104317966A (zh) * 2014-11-18 2015-01-28 国家电网公司 一种用于电力大数据快速组合查询的动态索引方法
CN105205563A (zh) * 2015-09-28 2015-12-30 国网山东省电力公司菏泽供电公司 一种基于大数据的短期负荷预测平台
CN105354251A (zh) * 2015-10-19 2016-02-24 国家电网公司 电力系统中基于Hadoop的电力云数据管理索引方法
US20160275119A1 (en) * 2015-03-20 2016-09-22 Kabushiki Kaisha Toshiba Building information processing device, building information processing method, and non-transitory computer readable medium

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043795A (zh) * 2009-10-13 2011-05-04 上海新华控制技术(集团)有限公司 过程控制历史数据文件结构的建立方法和数据读写方法
CN101996246A (zh) * 2010-11-09 2011-03-30 中国电信股份有限公司 即时索引方法及系统
US20120254189A1 (en) * 2011-03-31 2012-10-04 Biren Narendra Shah Multilevel indexing system
CN103365960A (zh) * 2013-06-18 2013-10-23 国家电网公司 电力多级调度管理结构化数据的离线搜索方法
CN103593409A (zh) * 2013-10-22 2014-02-19 深圳市康拓普信息技术有限公司 实时数据库检索方法及检索系统
CN104317966A (zh) * 2014-11-18 2015-01-28 国家电网公司 一种用于电力大数据快速组合查询的动态索引方法
US20160275119A1 (en) * 2015-03-20 2016-09-22 Kabushiki Kaisha Toshiba Building information processing device, building information processing method, and non-transitory computer readable medium
CN105205563A (zh) * 2015-09-28 2015-12-30 国网山东省电力公司菏泽供电公司 一种基于大数据的短期负荷预测平台
CN105354251A (zh) * 2015-10-19 2016-02-24 国家电网公司 电力系统中基于Hadoop的电力云数据管理索引方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
杨万清 等: ""电力大数据存储方案设计"", 《东北电力技术》 *
汤羽 等: ""基于HDFS开源架构与多级索引表的海量数据检索mDHT算法"", 《计算机科学》 *
陶松梅、张炜: ""基于CIM模型的变电站三维可视化交互技术应用"", 《广西电力》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111046129A (zh) * 2019-05-13 2020-04-21 国家计算机网络与信息安全管理中心 基于文本内容特征的公众号信息存储方法及检索系统
CN113656397A (zh) * 2021-07-02 2021-11-16 阿里巴巴新加坡控股有限公司 一种针对时序数据的索引构建及查询的方法、装置

Also Published As

Publication number Publication date
CN107766452B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN103366015B (zh) 一种基于Hadoop的OLAP数据存储与查询方法
CN104820670B (zh) 一种电力信息大数据的采集和存储方法
CN105320775B (zh) 数据的存取方法和装置
CN102270232B (zh) 一种存储优化的语义数据查询系统
CN104765731B (zh) 数据库查询优化方法和设备
CN104112011B (zh) 一种海量数据提取的方法及装置
Abdelguerfi et al. The 2-3TR-tree, a trajectory-oriented index structure for fully evolving valid-time spatio-temporal datasets
CN103631922A (zh) 基于Hadoop集群的大规模Web信息提取方法及系统
CN104504008B (zh) 一种基于嵌套的SQL到HBase的数据迁移算法
CN108009265B (zh) 一种云计算环境下的空间数据索引方法
CN107391502A (zh) 时间间隔的数据查询方法、装置及索引构建方法、装置
CN104408128B (zh) 一种基于b+树异步更新索引的读优化方法
CN108009270A (zh) 一种基于分布式内存计算的文本检索方法
CN103198150A (zh) 一种大数据索引方法及系统
CN107784030A (zh) 一种处理连接查询的方法及装置
CN107766452A (zh) 一种适合电力调度数据高速存取的索引结构及其索引方法
CN107766451A (zh) 一种面向电力大数据的跨数据库关联检索方法
CN106682061A (zh) 一种分布式起源数据收集与存储系统
CN108681577A (zh) 一种新型的库结构数据索引方法
CN104239447A (zh) 电网时序大数据存储方法
CN108093010A (zh) 一种工业实时数据系统及其数据处理方法
CN106951519A (zh) 基于网格划分的快速轨迹索引更新方法
CN112527836A (zh) 一种基于t-box平台的大数据查询方法
CN106844539A (zh) 实时数据分析方法及系统
CN108052637B (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