CN118394788A - 能源系统数据分布式管理系统和数据查询方法 - Google Patents
能源系统数据分布式管理系统和数据查询方法 Download PDFInfo
- Publication number
- CN118394788A CN118394788A CN202410563028.XA CN202410563028A CN118394788A CN 118394788 A CN118394788 A CN 118394788A CN 202410563028 A CN202410563028 A CN 202410563028A CN 118394788 A CN118394788 A CN 118394788A
- Authority
- CN
- China
- Prior art keywords
- data
- hbase
- energy system
- query
- user
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000007726 management method Methods 0.000 claims abstract description 26
- 238000013500 data storage Methods 0.000 claims abstract description 22
- 238000012546 transfer Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了能源系统数据分布式管理系统和数据查询方法,该系统包括:数据接收层、数据存储层、数据处理层和数据应用层;数据存储层中包括Hbase数据库和Redis数据库;数据接收层,用于接收能源系统的能源系统数据,并将能源系统数据传输至数据存储层;其中,能源系统数据包括非结构化数据、半结构化数据和结构化数据;数据存储层,用于将能源系统数据存储于Hbase数据库中;数据处理层,用于计算半结构化数据和结构化数据的热值,并基于热值确定热点数据;将热点数据以列转键值对的方式存储进Redis数据库;系统应用层,用于当用户的查询指令查询的数据为热点数据时,直接从Redis数据库中查询并显示该数据。本申请提高海量能源系统数据的存储与查询效率。
Description
技术领域
本申请属于能源系统管理技术领域,尤其涉及能源系统数据分布式管理系统和数据查询方法。
背景技术
能源大数据来源具有参与方多、种类繁杂、质量参差不齐等特征,传统的关系型数据库在大数据交互背景下不再可用,不同系统数据架构不一,不同专业数据格式不一,不同企业数据存储不一。各个能源行业数据缺乏统一的数据建模标准,导致数据响应需求变化能力不足,快速共享能力不强。同时,电力行业普遍采用的集中式数据存储的模式不仅计算效率低下,服务器云计算又需要将大量数据从存储节点迁移至计算节点,这在大数据环境下会造成巨大的网路传输开销,往往成为数据交互的性能瓶颈。
发明内容
本申请实施例提供了能源系统数据分布式管理系统和数据查询方法,以提高海量能源系统数据的存储与查询的效率。
本申请是通过如下技术方案实现的:
第一方面,本申请实施例提供了一种能源系统数据分布式管理系统,包括:数据接收层、数据存储层、数据处理层和数据应用层。数据存储层中包括Hbase数据库和Redis数据库。
数据接收层,用于接收能源系统的能源系统数据,并将能源系统数据传输至数据存储层;其中,能源系统数据包括非结构化数据、半结构化数据和结构化数据;数据存储层,用于将能源系统数据存储于Hbase数据库中;数据处理层,用于计算半结构化数据和结构化数据的热值,并基于热值确定热点数据;将热点数据以列转键值对的方式存储进Redis数据库;系统应用层,用于当用户的查询指令查询的数据为热点数据时,直接从Redis数据库中查询并显示该数据。
结合第一方面,在一些可能的实现方式中,数据处理层,用于:
结合第一公式,计算Hbase数据库中的半结构化数据和结构化数据的热值。
第一公式为:
其中,HS表示数据的热值,Ca表示热值计算周期内数据被查询的次数,Cq表示热值计算周期内系统查询数据的总次数,α表示周期查询热值权重,β表示时间戳热值权重,T表示时间衰减因子,λ表示衰减速率参数,Tsn表示当前时间戳,Tsd表示数据时间戳。
结合第一方面,在一些可能的实现方式中,能源系统数据分布式管理系统包括二级索引结构;
二级索引结构,包括:第一级索引和第二级索引。
第一级索引存储于Hbase数据库中,为基于Hbase数据库中的存储数据建立的Hbase目录表,为Hbase数据库的目录索引。
第二级索引存储于Redis数据库中,为基于Hbase数据库中的Hbase文件表中非主键列族建立的索引;第二级索引为将Hbase文件表的文件路径作为哈希表的键,在哈希表的字段中存储非主键的键名,在值字段存储行键信息的索引。
Hbase目录表,用来存储管理Hbase文件表中的索引信息,Hbase目录表将文件路径作为Hbase目录表的行键,Hbase目录表将子目录、时间戳和文件名作为Hbase目录表为列族。
Hbase文件表,用来存储数据;Hbase文件表以时间戳和文件名作为Hbase文件表的行键,Hbase文件表以文件属性和文件内容作为Hbase文件表的列族;文件属性包括文件大小、创建时间、修改时间和访问次数。
结合第一方面,在一些可能的实现方式中,系统应用层,还用于:
当用户的查询指令查询的数据不为热点数据时,则判断用户的查询指令是否为Hbase主键查询。
若用户的查询指令是Hbase主键查询,则基于Hbase目录表和Hbase文件表进行主键查询,查询用户的查询指令查询的数据,并将查询结果返回给用户。
若用户的查询指令不是Hbase主键查询,则根据Redis数据库中存储的Hbase非主键索引取得用户的查询指令查询的数据在Hbase数据库的行键值,转至Hbase数据库通过行键值进行主键查询,并将查询结果返回给用户。
当用户的查询指令查询的数据为非结构化数据时,则根据Hbase目录表和Hbase文件表,查询用户的查询指令查询的数据,并将查询结果返回给用户。
结合第一方面,在一些可能的实现方式中,数据处理层,还用于:
当热点数据本身的数值产生变化时,更新Redis数据库对应的值。
当热点数据产生变化时,删除Redis数据库中的列转键值对,并将变化后的热点数据以列转键值对的方式存储进Redis数据库。
结合第一方面,在一些可能的实现方式中,数据接收层,用于:
接收能源系统的能源系统数据。
对能源系统数据进行预处理,将与处理后的能源系统数据传输至数据存储层。
结合第一方面,在一些可能的实现方式中,数据接收层,还用于:
判断能源系统数据缺失的数据是否为核心数据,若核心数据缺失,则删除该能源系统数据;其中,核心数据为设备ID、数据采集时间和数据来源。
若核心数据未缺失,则利用线性插值算法对能源系统数据缺失的数据进行补全。
结合第一方面,在一些可能的实现方式中,数据处理层,还用于:
将热点数据以列转Hash类型键值对的方式存储进Redis数据库。
结合第一方面,在一些可能的实现方式中,Hbase数据库包括至少三台计算终端组成的集群结构;Redis数据库包括至少三台计算终端构成的分片结构。
第二方面,本申请实施例提供了一种能源系统数据查询方法,应用于如第一方面任一项所述的能源系统数据分布式管理系统中的系统应用层,方法包括:
获取用户的查询指令,根据用户的查询指令,确定目标数据和目标数据的类型;其中,目标数据表征用户的查询指令查询的数据。
若目标数据的类型为非结构化数据,则根据Hbase目录表和Hbase文件表查询目标数据,并将查询结果返回给用户。
若目标数据的类型不为非结构化数据,判断目标数据是否为热点数据,若目标数据为热点数据,则在Redis数据库中直接查询目标数据,并将查询结果返回给用户。
若目标数据不为热点数据,则判断用户的查询指令是否为Hbase主键查询,若用户的查询指令为Hbase主键查询,则基于Hbase目录表和Hbase文件表进行主键查询,查询目标数据,并将查询结果返回给用户。
若用户的查询指令不为Hbase主键查询,则根据Redis数据库中存储的第二级索引取得目标数据在Hbase数据库的行键值,转至Hbase数据库进行主键查询,并将查询结果返回给用户。
可以理解的是,上述第二方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:
本申请充分考虑了能源系统中的结构化数据、半结构化数据和非结构化数据的特点,设计了基于Hbase数据库与Redis数据库的分布式存储架构,以提升系统性能,利用Redis数据库快速、高效和高可用性的特点,能够对能源系统数据提供高效的压缩与查询,同时将热点数据存储进Redis数据库中的方式,提高热点数据的查询效率,进而改善系统整体的运行效率实现海量数据的高效查询。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的能源系统数据分布式管理系统的结构示意图;
图2是本申请一实施例提供的数据存储层结构示意图;
图3是本申请一实施例提供的一个查询请求在能源系统数据分布式管理系统中的访问次序;
图4是本申请一实施例提供的能源系统数据查询方法的流程示意图;
图5是本申请一实施例提供的能源系统数据查询流程图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
电力行业普遍采用的集中式数据存储的模式不仅计算效率低下,服务器云计算又需要将大量数据从存储节点迁移至计算节点,这在大数据环境下会造成巨大的网路传输开销,往往成为数据交互的性能瓶颈。亟需一种数据高效的存储和查询的模式。
基于上述问题,本申请实施例提出了一种能源系统数据分布式管理系统,通过将热点数据存储进Redis数据库的方式,将经常需要查询的数据存储于内存键值存储数据库中,因为内存键值存储数据库具有快速、高效和高可用性的特点,减小数据传输开销,提高数据查询的效率,能够满足数据查询的及时性。
图1是本申请一实施例提供的能源系统数据分布式管理系统的结构示意图,参照图1,该系统包括:数据接收层101、数据存储层102、数据处理层103和数据应用层104。
数据接收层101,用于接收能源系统的能源系统数据,并将能源系统数据传输至数据存储层102。其中,能源系统数据包括非结构化数据、半结构化数据和结构化数据。
数据存储层102,用于将能源系统数据存储于Hbase数据库中。
数据处理层103,用于计算半结构化数据和结构化数据的热值,并基于热值确定热点数据;将热点数据以列转键值对的方式存储进Redis数据库。
系统应用层104,用于当用户的查询指令查询的数据为热点数据时,直接从Redis数据库中查询并显示该数据。
具体的,在某些具体的实施例中,如图2所示,数据存储层中,下标名为HMasterHRegionServer1,HRegionServe2,HRegionServer3为Hbase数据库,下标为Redis master1,Redis master2,Redis master3为Redis数据库。
具体的,结构化数据是指:可以使用关系型数据库表示和存储的数据,可以用二维表来逻辑表达实现的数据,其包括设备属性数据、设备结构化运行数据。非结构化数据是指:没有固定结构的数据;其包括图片、音频、视频数据。半结构化数据是指:不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层;其包括分布式能源系统中的日志文件、设备描述文档、设备配置信息。
示例性的,数据处理层103,可以用于:
结合第一公式,计算Hbase数据库中的半结构化数据和结构化数据的热值。
第一公式可以为:
其中,HS表示数据的热值,Ca表示热值计算周期内数据被查询的次数,Cq表示热值计算周期内系统查询数据的总次数,α表示周期查询热值权重,β表示时间戳热值权重,T表示时间衰减因子,λ表示衰减速率参数,Tsn表示当前时间戳,Tsd表示数据时间戳。
具体的,热值计算周期指的是两次热值计算之间的时间间隔,Tsd指的是数据时间戳,在这里指的是前一次热值计算时的时间戳,如果此时的热值计算为第一次热值计算,此时Tsd的取值为0。
示例性的,能源系统数据分布式管理系统包括二级索引结构;
二级索引结构,包括:第一级索引和第二级索引。
第一级索引存储于Hbase数据库中,为基于Hbase数据库中的存储数据建立的Hbase目录表,为Hbase数据库的目录索引。
第二级索引存储于Redis数据库中,为基于Hbase数据库中的Hbase文件表中非主键列族建立的索引(又称为Hbase非主键索引);第二级索引为将Hbase文件表的文件路径作为哈希表的键,在哈希表的字段中存储非主键的键名,在值字段存储行键信息的索引。
Hbase目录表,用来存储管理Hbase文件表中的索引信息,Hbase目录表将文件路径作为Hbase目录表的行键,Hbase目录表将子目录、时间戳和文件名作为Hbase目录表为列族。
Hbase文件表,用来存储数据;Hbase文件表以时间戳和文件名作为Hbase文件表的行键,Hbase文件表以文件属性和文件内容作为Hbase文件表的列族;文件属性包括文件大小、创建时间、修改时间和访问次数。
具体的,Hbase目录表的结构定义为:<文件路径:子目录:时间戳:文件名>。所述Hbase文件表的结构定义为:<时间戳_文件名:文件属性(文件大小)(创建时间)(修改时间)(访问次数):文件内容>。热点数据的结构定义为<文件路径:文件内容>。
系统中数据,按照<时间戳_文件名:文件属性(文件大小)(创建时间)(修改时间)(修改次数):文件内容>进行存储。对于其中的结构化数据,其文件内容按照数据自有结构定义;系统中的半结构化数据,以拆分键值对的形式存储在文件内容中。系统中的非结构化数据,以二进制格式存储于Hadoop分布式文件系统(HDFS)中,在文件属性中记录其存储位置。
在应用中,使用Redis数据库对Hbase的非主键数据构建索引,当面对非主键查询,系统可于Redis数据库查询Hbase的非主键内容建立的索引,解决了Hbase数据库面对非主键查询必须进行全表扫描、查询效果不佳的问题;同时本系统通过Redis将Hbase热点数据转换并缓存于内存中,当查询命中内存缓存时直接返回查询数据,进一步提高了热点数据的查询性能,综合上提升了系统的运行效率。
示例性的,系统应用层104,还可以用于:
当用户的查询指令查询的数据不为热点数据时,则判断用户的查询指令是否为Hbase主键查询。
若用户的查询指令是Hbase主键查询,则基于Hbase目录表和Hbase文件表进行主键查询,查询用户的查询指令查询的数据,并将查询结果返回给用户。
若用户的查询指令不是Hbase主键查询,则根据Redis数据库中存储的Hbase非主键索引取得用户的查询指令查询的数据在Hbase数据库的行键值,转至Hbase数据库通过行键值进行主键查询,并将查询结果返回给用户。
当用户的查询指令查询的数据为非结构化数据时,则根据Hbase目录表和Hbase文件表,查询用户的查询指令查询的数据,并将查询结果返回给用户。
具体的,当查询的数据为非结构化数据时,查询Hbase目录表和Hbase文件表,将与非结构化数据相关的二进制数据,返回给用户。
示例性的,数据处理层103,还可以用于:
当热点数据本身的数值产生变化时,更新Redis数据库对应的值。
当热点数据产生变化时,删除Redis数据库中的列转键值对,并将变化后的热点数据以列转键值对的方式存储进Redis数据库。
具体的,假设热点数据本身的数据A1变化为A2,那么Redis数据库中A1对应的列转键值对更新为A2对应的列转键值对。假设热点数据A、B和C变化为D、E和F,那么Redis数据库中A对应的列转键值对、B对应的列转键值对和C对应的列转键值对更新为D对应的列转键值对、E对应的列转键值对和F对应的列转键值对。
示例性的,数据接收层101,可以用于:
接收能源系统的能源系统数据。
对能源系统数据进行预处理,将与处理后的能源系统数据传输至数据存储层102。
示例性的,数据接收层101,还可以用于:
判断能源系统数据缺失的数据是否为核心数据,若核心数据缺失,则删除该能源系统数据;其中,核心数据为设备ID、数据采集时间和数据来源。
若核心数据未缺失,则利用线性插值算法对能源系统数据缺失的数据进行补全。
具体的,例如连续的电压数据和连续的电流数据,因为在实际运行的时候不会出现太大的变动,所以在采集到后,如果某些电压或者电流的具体值缺失时,可以用该缺失值前后一段时间的其他值利用线性插值算法进行补全,如果是该电压值对应的设备ID和数据采集时间等数据缺失时,也就是核心数据缺失时,此时的数据应该舍弃,即便进行了补全也很难确定补全是否正确。
示例性的,数据处理层103,还可以用于:
将热点数据以列转Hash类型键值对的方式存储进Redis数据库。
示例性的,Hbase数据库包括至少三台计算终端组成的集群结构;Redis数据库包括至少三台计算终端构成的分片结构。
具体的,在三台计算机上搭建Hadoop集群环境,搭建Hadoop分布式文件系统(HDFS),在此基础上部署Hbase数据库,三台Hbase数据库以Hadoop集群环境搭建分布式集群结构,三台计算终端上的Redis数据库通过分片集群方式搭建分布式集群结构。
进一步的,Hbase数据库中包括NameNode(名称结点)、SecondaryNameNode(次级名称结点)、DataNode(数据节点)、ResourceManager(资源管理器)、NodeManager(节点管理器)、Hbase Hmaster(Hbase主节点)、Hbase RegionServer(Hbase区域服务器)、ZooKeeper(分布式协调服务),Client(客户端);Hbase HMaster机器运行NameNode、ResourceManager、以及Hbase HMaster进程,HRegionServer机器运行DataNode、NodeManager和Hbase RegionServer进程。
本实例中,一台计算终端配置为HMaster结点与HRegionServer结点,其他两台计算终端配置为Hbase RegionServer结点。HMaster结点负责维护HRegionServer的负载均衡,Hbase数据库采用了Hbase默认的负载均衡方案。Zookeeper的配置信息中定义了根数据表与HMaster的地址,其实时监控HRegionServer的上线和下线信息,同时完成HMaster与HRegionServer的通信。Client通过远程调用与HMaster通信完成管理类操作,通过远程调用与HRegionServer通信完成数据读写操作。Redis集群中,三个结点均为Master结点,每个Master之间通过ping检测彼此健康状态,
进一步的,本系统可以通过增加Hbase slave结点,Redis哨兵结点的方式,进一步提升高可用、高并发性能,并解决故障转移等问题提升系统稳定性,在此不做赘述。
具体的,图3为一个查询请求在系统中的访问次序。如图3所示,一个请求分为三类,对于非结构化数据,首先访问Hbase目录表,然后访问Hbase文件表,最后访问Hadoop分布式文件系统。对于热点数据直接访问Hadoop分布式文件系统。对于非结构化数据、热点数据之外的数据第一种访问顺序为:首先访问Hbase目录表,然后访问Hbase文件表,最后访问Hadoop分布式文件系统,另一种访问顺序为:首先访问第二级索引(Hbase非主键索引),之后访问Hbase目录表,然后访问Hbase文件表,最后访问Hadoop分布式文件系统。
上述能源系统数据分布式管理系统,充分考虑了能源系统中的结构化数据、半结构化数据和非结构化数据的特点,设计了基于Hbase数据库与Redis数据库的分布式存储架构,以提升系统性能,利用Redis数据库快速、高效和高可用性的特点,能够对能源系统数据提供高效的压缩与查询,同时将热点数据存储进Redis数据库中的方式,提高热点数据的查询效率,进而改善系统整体的运行效率实现海量数据的高效查询。
除此之外,建立了二级索引结构,第一级索引为Hbase目录索引,存储于Hbase数据库中,其为Hbase数据库中存储的数据建立目录表以管理存储文件的索引信息、同时建立文件表以存储数据。第二级为Hbase非主键索引,其包括根据Hbase文件表中非主键字段建立的索引,存储于Redis中,并实现了Hbase热点数据的Redis缓存。在应用中,使用Redis数据库对Hbase的非主键数据构建索引,解决了Hbase数据库面对非主键查询时必须进行全表扫描、查询效果不佳的问题,同时也通过Redis将热点数据缓存于内存中,进一步改善了热点数据的查询性能,提升了海量数据管理系统的运行效率。
图4是本申请一实施例提供的能源系统数据查询方法的流程示意性图,图5是能源系统数据查询流程图,参照图4和图5,对该能源系统数据查询方法的详述如下:
步骤201,获取用户的查询指令,根据用户的查询指令,确定目标数据和目标数据的类型;其中,目标数据表征用户的查询指令查询的数据。
步骤202,若目标数据的类型为非结构化数据,则根据Hbase目录表和Hbase文件表查询目标数据,将查询结果并返回给用户。
步骤203,若目标数据的类型不为非结构化数据,判断目标数据是否为热点数据,若目标数据为热点数据,则在Redis数据库中直接查询目标数据,并将查询结果返回给用户。
步骤204,若目标数据不为热点数据,则判断用户的查询指令是否为Hbase主键查询,若用户的查询指令为Hbase主键查询,则基于Hbase目录表和Hbase文件表进行主键查询,查询目标数据,并将查询结果返回给用户。
步骤205,若用户的查询指令不为Hbase主键查询,则根据Redis数据库中存储的第二级索引取得目标数据在Hbase数据库的行键值,转至Hbase数据库进行主键查询,并将查询结果返回给用户。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模板、单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所述模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个能源系统数据查询方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种能源系统数据分布式管理系统,其特征在于,包括:数据接收层、数据存储层、数据处理层和数据应用层;所述数据存储层中包括Hbase数据库和Redis数据库;
所述数据接收层,用于接收能源系统的能源系统数据,并将所述能源系统数据传输至所述数据存储层;其中,所述能源系统数据包括非结构化数据、半结构化数据和结构化数据;所述数据存储层,用于将所述能源系统数据存储于Hbase数据库中;所述数据处理层,用于计算所述半结构化数据和所述结构化数据的热值,并基于所述热值确定热点数据;将所述热点数据以列转键值对的方式存储进所述Redis数据库;所述系统应用层,用于当用户的查询指令查询的数据为所述热点数据时,直接从所述Redis数据库中查询并显示该数据。
2.如权利要求1所述的能源系统数据分布式管理系统,其特征在于,所述数据处理层,用于:
结合第一公式,计算所述Hbase数据库中的半结构化数据和结构化数据的热值;
所述第一公式为:
其中,HS表示数据的热值,Ca表示热值计算周期内数据被查询的次数,Cq表示热值计算周期内系统查询数据的总次数,α表示周期查询热值权重,β表示时间戳热值权重,T表示时间衰减因子,λ表示衰减速率参数,Tsn表示当前时间戳,Tsd表示数据时间戳。
3.如权利要求1所述的能源系统数据分布式管理系统,其特征在于,所述能源系统数据分布式管理系统包括二级索引结构;
所述二级索引结构,包括:第一级索引和第二级索引;
所述第一级索引存储于所述Hbase数据库中,为基于所述Hbase数据库中的存储数据建立的Hbase目录表,为所述Hbase数据库的目录索引;
所述第二级索引存储于所述Redis数据库中,为基于所述Hbase数据库中的Hbase文件表中非主键列族建立的索引;所述第二级索引为将所述Hbase文件表的文件路径作为哈希表的键,在哈希表的字段中存储非主键的键名,在值字段存储行键信息的索引;
所述Hbase目录表,用来存储管理Hbase文件表中的索引信息,所述Hbase目录表将文件路径作为所述Hbase目录表的行键,所述Hbase目录表将子目录、时间戳和文件名作为所述Hbase目录表为列族;
所述Hbase文件表,用来存储数据;所述Hbase文件表以时间戳和文件名作为所述Hbase文件表的行键,所述Hbase文件表以文件属性和文件内容作为所述Hbase文件表的列族;所述文件属性包括文件大小、创建时间、修改时间和访问次数。
4.如权利要求3所述的能源系统数据分布式管理系统,其特征在于,所述系统应用层,还用于:
当所述用户的查询指令查询的数据不为所述热点数据时,则判断所述用户的查询指令是否为Hbase主键查询;
若所述用户的查询指令是所述Hbase主键查询,则基于所述Hbase目录表和所述Hbase文件表进行主键查询,查询所述用户的查询指令查询的数据,并将查询结果返回给用户;
若所述用户的查询指令不是所述Hbase主键查询,则根据Redis数据库中存储的Hbase非主键索引取得所述用户的查询指令查询的数据在Hbase数据库的行键值,转至Hbase数据库通过所述行键值进行主键查询,并将查询结果返回给用户;
当所述用户的查询指令查询的数据为非结构化数据时,则根据所述Hbase目录表和所述Hbase文件表,查询所述用户的查询指令查询的数据,并将查询结果返回给用户。
5.如权利要求1所述的能源系统数据分布式管理系统,其特征在于,所述数据处理层,还用于:
当所述热点数据本身的数值产生变化时,更新所述Redis数据库对应的值;
当所述热点数据产生变化时,删除所述Redis数据库中的列转键值对,并将变化后的热点数据以列转键值对的方式存储进所述Redis数据库。
6.如权利要求1所述的能源系统数据分布式管理系统,其特征在于,所述数据接收层,用于:
接收能源系统的能源系统数据;
对所述能源系统数据进行预处理,将与处理后的能源系统数据传输至所述数据存储层。
7.如权利要求6所述的能源系统数据分布式管理系统,其特征在于,所述数据接收层,还用于:
判断所述能源系统数据缺失的数据是否为核心数据,若所述核心数据缺失,则删除该能源系统数据;其中,所述核心数据为设备ID、数据采集时间和数据来源;
若所述核心数据未缺失,则利用线性插值算法对所述能源系统数据缺失的数据进行补全。
8.如权利要求1所述的能源系统数据分布式管理系统,其特征在于,所述数据处理层,还用于:
将所述热点数据以列转Hash类型键值对的方式存储进所述Redis数据库。
9.如权利要求1所述的能源系统数据分布式管理系统,其特征在于,所述Hbase数据库包括至少三台计算终端组成的集群结构;所述Redis数据库包括至少三台计算终端构成的分片结构。
10.一种能源系统数据查询方法,应用于如权利要求1至9任一项所述的能源系统数据分布式管理系统中的系统应用层,所述能源系统数据查询方法,包括:
获取用户的查询指令,根据所述用户的查询指令,确定目标数据和所述目标数据的类型;其中,所述目标数据表征所述用户的查询指令查询的数据;
若所述目标数据的类型为非结构化数据,则根据Hbase目录表和Hbase文件表查询所述目标数据,并将查询结果返回给用户;
若所述目标数据的类型不为非结构化数据,判断所述目标数据是否为热点数据,若所述目标数据为所述热点数据,则在Redis数据库中直接查询所述目标数据,并将查询结果返回给用户;
若所述目标数据不为所述热点数据,则判断所述用户的查询指令是否为Hbase主键查询,若所述用户的查询指令为所述Hbase主键查询,则基于Hbase目录表和Hbase文件表进行主键查询,查询所述目标数据,并将查询结果返回给用户;
若所述用户的查询指令不为所述Hbase主键查询,则根据所述Redis数据库中存储的第二级索引取得所述目标数据在Hbase数据库的行键值,转至Hbase数据库进行主键查询,并将查询结果返回给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410563028.XA CN118394788A (zh) | 2024-05-08 | 2024-05-08 | 能源系统数据分布式管理系统和数据查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410563028.XA CN118394788A (zh) | 2024-05-08 | 2024-05-08 | 能源系统数据分布式管理系统和数据查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118394788A true CN118394788A (zh) | 2024-07-26 |
Family
ID=91986765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410563028.XA Pending CN118394788A (zh) | 2024-05-08 | 2024-05-08 | 能源系统数据分布式管理系统和数据查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118394788A (zh) |
-
2024
- 2024-05-08 CN CN202410563028.XA patent/CN118394788A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104794123B (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
EP3158480B1 (en) | Data query method and apparatus | |
US8224804B2 (en) | Indexing of partitioned external data sources | |
US10140351B2 (en) | Method and apparatus for processing database data in distributed database system | |
US10860604B1 (en) | Scalable tracking for database udpates according to a secondary index | |
US20230024345A1 (en) | Data processing method and apparatus, device, and readable storage medium | |
CN113986873A (zh) | 一种海量物联网数据模型化的处理、存储与共享方法 | |
US10262024B1 (en) | Providing consistent access to data objects transcending storage limitations in a non-relational data store | |
CN108509437A (zh) | 一种ElasticSearch查询加速方法 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
CN103034650B (zh) | 一种数据处理系统和方法 | |
CN110334290B (zh) | 一种基于MF-Octree的时空数据快速检索方法 | |
CN116756096B (zh) | 元数据处理方法、装置、电子设备及存储介质 | |
CN103902614A (zh) | 一种数据处理方法、设备和系统 | |
CN117151045A (zh) | 基于区块链的报表加工方法、装置及计算机设备 | |
US10944756B2 (en) | Access control | |
CN118394788A (zh) | 能源系统数据分布式管理系统和数据查询方法 | |
US10114864B1 (en) | List element query support and processing | |
CN114398476A (zh) | 一种快速智能推荐置顶文章的方式 | |
CN111917855A (zh) | 内容推送方法、装置、电子设备和存储介质 | |
CN101382959A (zh) | 一种多媒体资源获取方法、装置及系统 | |
CN110569310A (zh) | 一种云计算环境下的关系大数据的管理方法 | |
CN111104416A (zh) | 一种分布式电力数据管理系统 | |
CN113312383B (zh) | 数据查询方法、装置、电子设备、存储介质及程序产品 | |
JP2001067369A (ja) | 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体 |
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 |