CN117992492A - 一种基于LeveDB技术的电网模型数据缓存系统及方法 - Google Patents
一种基于LeveDB技术的电网模型数据缓存系统及方法 Download PDFInfo
- Publication number
- CN117992492A CN117992492A CN202311738229.0A CN202311738229A CN117992492A CN 117992492 A CN117992492 A CN 117992492A CN 202311738229 A CN202311738229 A CN 202311738229A CN 117992492 A CN117992492 A CN 117992492A
- Authority
- CN
- China
- Prior art keywords
- data
- column group
- server
- column
- client
- 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 21
- 238000005516 engineering process Methods 0.000 title abstract description 6
- 238000013499 data model Methods 0.000 claims abstract description 7
- 238000013500 data storage Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于LeveDB技术的电网模型数据缓存系统及方法,属于NOSQL数据库技术领域。该系统包括创建列族模块用于客户端请求服务端创建列族,数据建模模块用于客户端通过数据建模,将数据模表结构信息和电网模型行、列数据建模成K‑V数据后请求服务端写入列族,数据查询模块用于基于LevelDB接口对列族中存储的K‑V数据扩展查询引擎,在支持原有K‑V数据查询的基础上,提供二维表行列数据的查询。本发明针对存储的K‑V数据扩展类关系库查询引擎实现行列二维表形式的电网模型数据快速查询,使得应用层基于传统关系库的查询业务能够平滑迁移。
Description
技术领域
本发明涉及一种基于LeveDB技术的电网模型数据缓存系统及方法,尤其涉及尤其涉及一种电网调度自动化系统中基于LevelDB的电网一次设备物理模型数据存储系统及方法,属于NOSQL数据库技术领域。
背景技术
LevelDB是一个嵌入式、可持久化、高效的K-V数据库存储引擎。LevelDB采用了基于日志树LSM(Log Structure Merge Tree)的存储结构,它将数据按照键的顺序存储在多个层级中,每个层级被称为一个Level。当数据写入LevelDB时,首先会被写入到位于内存中的活动内存表(Active MemTable)中,当内存表的数据大小达到设定的阈值后,会转换成只读内存表(Immutable Memtable),随后后台线程会将只读内存表刷成一个磁盘文件SSTable(Sorted Strings Table),并将其添加位于磁盘中的Level-0层。随着写操作的进行,Level-0层中的磁盘文件SSTable会通过归并排序算法重新组织到更高的Level-1~Level-n层中,保持数据有序性的同时压缩合并数据,释放更多存储空间。LevelDB的数据查询过程也非常高效,当需要查找某个键对应的值时,LevelDB会首先从内存表MemTable中查找,如果找到则直接返回;如果没有找到,则会从位于磁盘的Level-0层开始逐层向上查找,直到找到对应的键值或者遍历完所有的层级没有找到对应的键值。
目前,在新一代电网调度自动化系统中,电网一次设备物理模型数据(以下简称电网模型数据)主要存储于传统关系型数据库,上层多种应用场景(如数据同步、数据维护、数据治理、状态估计、电网暂态分析、电网稳态分析、在线安全分析等)需要频繁读写电网模型数据,单机数据库面临巨大的高并发读写压力从而导致效率降低。
发明内容
发明目的:本发明的目的是提供了一种基于LeveDB技术的电网模型数据缓存系统及方法,用于解决单机数据库面临巨大的高并发读写压力从而导致效率降低的问题。
技术方案:本发明所述的基于LevelDB的电网模型数据缓存系统,其特征在于包括:
创建列族模块,用于客户端请求服务端创建列族;
数据建模模块,用于客户端通过数据建模,将数据模表结构信息和电网模型行、列数据建模成K-V数据后请求服务端写入列族;
数据查询模块,用于基于LevelDB接口对列族中存储的K-V数据扩展查询引擎,在支持原有K-V数据查询的基础上,提供二维表行列数据查询。
基于LeveDB技术的电网模型数据缓存系统基于C/S架构实现,包括用作适配层的客户端Client实现对外交互的数据存储和查询接口、用作服务层的服务端Server实现列族的管理和提供基础的K-V数据读写功能、以及封装LevelDB用作K-V数据存储层的公共列族和模型表列族构成,其中模型表列族内部包含了主索引列族和一系列的二级索引列族。单一的LevelDB被扩展成列族,定义了列族名、列族存储位置、列族创建接口\销毁接口、列族打开\关闭接口、列族迭代器等,一个列族中存储了一类数据,K-V缓存客户端实现对外的数据存储和查询接口,K-V缓存服务端实现列族管理和提供基础的K-V数据读写功能,列族实现对K-V数据的存储。
进一步的,所述的创建列族模块包括公共列族单元、主索引列族单元和二级索引列族单元;
所述的公共列族单元是客户端请求服务端创建公共列族,服务端的列族构建器创建公共列族,创建完成后向列族管理中心注册;所述的主索引列族是客户端将创建模型表列族请求发送到服务端,服务端的列族构建器通过OpenTable接口根据模型表名创建主索引列族,创建完成后向列族管理中心注册;所述的二级索引列族单元是当需要建立二级索引时,客户端请求服务端为电网模型表创建二级索引列族,创建完成向列族管理中心注册;所述的列族管理中心是列族资源池,同时控制列族的注册、开启和自动关闭回收资源。
列族构建器创建完成的列族会处于打开状态,并把内存地址注册到列族管理中心,列族读写器根据表名请求列族管理中心打开表名对应的列族,如果列族是已打开状态,会直接返回列族内存地址,如果列族是关闭状态,列族管理器会重新打开列族并注册内存地址,随后返回内存地址给列族读写器,列族读写器就可读写列族中存储的K-V数据。
进一步的,所述的数据建模模块包括K-V元数据单元、K-V主索引数据单元、K-V二次索引数据单元;
所述的K-V元数据单元是客户端通过元数据建模,将数据模表结构信息建模成K-V数据后请求服务端通过列族读写器写入公共列族;所述的K-V主索引数据单元是存入元数据后,客户端通过主索引建模,将电网模型表的行数据编码成K-V数据后请求服务端通过列族读写器写入电网模型表主索引列族;所述的K-V二次索引数据单元是存入主索引数据后,客户端通过二级索引建模,将电网模型表中用作索引的列编码成K-V数据后请求服务端通过列族读写器写入电网模型表二级索引列族;所述列族读写器是从列族管理中心请求指定列族资源内存地址,读请求时通过点读或者迭代器的方式读取列族中存储的K-V数据,写请求时将K-V数据写入到列族中存储起来。
写入元数据时,将数据模表结构信息建模成列族结构K-V数据,其中K表示数据表名,V表示模型表列族结构元数据,包括表名、主键(primary key)、拥有的列(column)、列的数据类型、用于描述电网模型表主索引的存储结构、用于描述模型表二级索引的存储结构。随后,客户端将建模完成的K-V数据提交给K-V服务端进行写入。列族读写器首先从列族管理中心请求公共列族的内存地址,并将模型表列族结构K-V数据写入元数据列族。
写入主索引数据时,通过主键索引建模,将电网模型表的行数据编码成K-V数据,其中K表示关键字,V是整行数据内容,随后,客户端将K-V数据提交给服务端,服务端列族读写器首先从列族管理中心请求模型表主索引列族的内存地址,并将K-V数据写入主索引列族。
写入二级索引数据时,通过二级索引建模,将电网模型表中用作索引的列编码成K-V数据,其中:K是关键字,表示索引列和主键的绑定组合,V内容为空,随后,客户端将K-V数据提交给服务端,服务端列族读写器首先从列族管理中心请求模型表二级索引内存地址,并将K-V数据写入二级索引列族。因为二级索引的K中包含主键数据,每条二级索引K-V都能定位到与之关联的主索引K-V,因此可以通过二级索引实现快速条件查询。
通过将传统关系库存储的电网模型数据建模成K-V数据写入缓存系统,其中K作为唯一标识符,是查找每条数据地址的唯一关键字,V是该数据实际存储内容。客户端调用存储接口创建和电网模型表对应的列族用于存储K-V数据。
进一步的,所述的数据查询模块包括元数据查询单元和主索引数据查询单元;
所述的元数据索引单元通过客户端请求服务端查询模型表的元数据建模的K-V数据,服务端的列族读写器首先请求列族管理中心打开公共列族,从公共列族中读取该模型表的元数据建模的K-V数据返回给客户端,客户端解析元数据建模的K-V数据得到模型表结构;所述的主索引数据查询单元通过客户端请求服务端查询模型表主索引建模的K-V数据,服务端收到查询请求后,列族读写器首先请求列族管理中心打开模型表主索引列族,根据K的范围读取主索引建模的K-V数据并返回给客户端,客户端根据模型表结构解析主索引建模的K-V数据,得到一组行列二维数据。
扩展新的查询接口时,输入参数可以是SQL查询语句,也可以是一些参数组合,这些参数包括表名、本次查询需要的列名、关键字、关键字范围、过滤条件、返回行数等,输出参数是行列二维数据表。客户端解析数据建模的K-V数据得到模型表结构,如表名、拥有的列名、列的数据类型、主键、二级索引列等。
进一步的,所述的数据查询模块还可以通过二级索引数据查询单元加速模型表数据查询;
所述的二级索引数据查询单元通过客户端请求服务端查询二级索引建模的K-V数据,服务端收到查询请求后,列族读写器请求列族管理中心打开模型表二级索引列族,根据二级索引列的范围读取二级索引建模的K-V数据,根据模型表结构将二级索引建模的K-V数据解析得到一组只包含主键K的集合,客户端根据表名、主键K的集合请求服务端查询主索引建模的K-V数据,服务端收到查询请求后,从列族管理中心请求打开主索引列族,根据主键K的集合读取主索引建模的K-V数据返回给客户端,客户端根据模型表结构将主索引建模的K-V数据解析得到一组类似传统关系库形式的行列二维数据。
本发明所述的基于LevelDB的电网模型数据缓存方法,其特征在于:包括以下步骤:
(1)客户端请求服务端创建列族;
(2)客户端通过数据建模,将数据模表结构信息和电网模型行、列数据建模成K-V数据后请求服务端写入列族;
(3)基于LevelDB接口对列族中存储的K-V数据扩展查询引擎,在支持原有K-V数据查询的基础上,提供二维表行列数据查询。
进一步的,所述的步骤(1)包括以下具体步骤:
(11)客户端请求服务端创建公共列族,服务端的列族构建器创建公共列族,创建完成后向列族管理中心注册;所述的列族管理中心是列族资源池,同时控制列族的注册、开启和自动关闭回收资源;
(12)客户端将创建模型表列族请求发送到服务端,服务端的列族构建器通过OpenTable接口根据模型表名创建主索引列族,创建完成后向列族管理中心注册;
(13)当需要建立二级索引时,客户端请求服务端为电网模型表创建二级索引列族,创建完成向列族管理中心注册。
进一步的,所述的步骤(2)包括以下具体步骤:
(21)客户端通过元数据建模,将数据模表结构信息建模成元数据建模的K-V数据后请求服务端通过列族读写器写入公共列族;所述列族读写器是从列族管理中心请求指定列族资源内存地址,读请求时通过点读或者迭代器的方式读取列族中存储的K-V数据,写请求时将K-V数据写入到列族中存储起来;
(22)存入元数据后,客户端通过主索引建模,将电网模型表的行数据编码成K-V数据后请求服务端通过列族读写器写入电网模型表主索引列族;
(23)存入主索引数据后,客户端通过二级索引建模,将电网模型表中用作索引的列编码成K-V数据后请求服务端通过列族读写器写入电网模型表二级索引列族。
进一步的,所述的步骤(3)包括以下具体步骤:
(31)客户端请求服务端查询模型表的元数据建模的K-V数据,服务端的列族读写器首先请求列族管理中心打开公共列族,从公共列族中读取该模型表的元数据建模的K-V数据返回给客户端,客户端解析元数据建模的K-V数据得到模型表结构;
(32)客户端请求服务端查询模型表主索引建模的K-V数据,服务端收到查询请求后,列族读写器首先请求列族管理中心打开模型表主索引列族,根据K的范围读取主索引建模的K-V数据并返回给客户端,客户端根据模型表结构解析主索引建模的K-V数据,得到一组行列二维数据。
进一步的,所述的步骤(32)还可以通过二级索引加速模型表数据查询;
客户端请求服务端查询二级索引建模的K-V数据,服务端收到查询请求后,列族读写器请求列族管理中心打开模型表二级索引列族,根据二级索引列的范围读取二级索引建模的K-V数据,根据模型表结构将二级索引建模的K-V数据解析得到一组只包含主键K的集合,客户端根据表名、主键K的集合请求服务端查询主索引建模的K-V数据,服务端收到查询请求后,从列族管理中心请求打开主索引列族,根据主键K的集合读取主索引建模的K-V数据返回给客户端,客户端根据模型表结构将主索引建模的K-V数据解析得到一组类似传统关系库形式的行列二维数据。
有益效果:与现有技术相比,本发明具有如下显著优点:1、提供高效的电网模型数据访问能力,实现大规模的电网模型数据快速访问应用场景,减轻传统单机数据库压力,扩展了基于K-V数据库的缓存机制,实现数据读写分离,从而极大减轻单一关系型数据库的压力,提升数据整体读写效率;2、最大化的存储了电网模型结构、电网模型数据本身及电网模型数据间的关系;3、降低磁盘的IO和CPU负载,能为计算业务提供更加精准、高效的数据。
附图说明
图1为本发明的电网模型表数据存储架构图;
图2为本发明的电网模型表数据查询架构图;
图3为本发明的创建列族存储流程图;
图4为本发明的电网模型数据K-V索引格式图;
图5为本发明的电网模型表元数据K-V存储流程图;
图6为本发明的电网模型表主索引数据K-V存储流程图;
图7为本发明的电网模型表二级索引数据K-V存储流程图;
图8为本发明的电网模型表数据查询流程图;
图9为本发明的二级索引加速电网模型表数据查询流程图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
参见图1所示,本发明提出了一种基于LevelDB存储的电网模型数据缓存的方法,客户端将关系库存量数据建模成K-V数据后,请求服务端写入,服务端列族构建器首先创建相应的列族,创建完成后向列族管理中心注册,随后列族读写请求列族管理中心得到列族的内存地址,并将K-V数据写入相应的列族。
参见图2所示,本发明针对列族存储的K-V数据,实现了高效的行列二维表数据查询方法,客户端查询接口根据输入参数请求服务端查询具体的K-V数据,输入的参数包括列族名、模型表名、主键范围、二级索引范围等,服务端收到请求后根据列族名请求列族管理中心打开相应的列族,后根据K的访问读取K-V数据返回给客户端,客户端通过解析K-V数据得到相应的行列二维表数据。
参见图3所示,首先创建列族用于存储和模型表对应的K-V数据。客户端请求服务端创建公共列族用于单独保存模型表结构的元数据,服务端列族构建器创建完公共列族后向列族管理中心注册;随后,客户端将创建模型表列族请求发送到缓存服务端,服务端的列族构建器通过OpenTable接口根据模型表名创建主索引列族,创建完成后向列族管理中心注册;如果需要建立二级索引,客户端请求服务端为电网模型表创建二级索引列族,创建完成向列族管理中心注册。
参见图4和图5所示,列族创建完成后,开始存储电网模型表元数据索引K-V。客户端通过元数据索引建模,将模型表结构数据编码成元数据索引(Mete data index)格式描述的K-V数据,后发送给服务端进行写入操作,服务端收到K-V数据后,列族读写器首先从列族管理中心请求打开公共列族,随后列族管理中心将打开的公共列族的内存地址发送给列族读写器,列族读写器将元数据索引K-V数据写入公共列族。元数据写入完成后,客户端调用OpenTable接口,请求服务端创建模型表列族,服务端列族构建器接收到请求后会根据表名创建模型表主索引列族,如果传入二级索引名,还会依次创建二级索引列族,列族创建完成后向列族管理中心注册列族内存地址。
参见图4和图6所示,电网模型表元数据存储完成后,开始存储电网模型表主索引K-V数据。客户端通过主索引建模,将模型表行数据编码成主索引(Primary index)格式描述的K-V数据,后发送给服务端进行写入操作,服务端收到K-V数据后,列族读写器首先从列族管理中心请求打开模型表主索引列族,随后列族读写器将主索引K-V数据写入主索引列族,写入过程首先以追加写的方式将K-V数据写入主索引列族的log文件中,随后将K-V数据写入主索引列族中活动的内存表MemTable,当MemTable的数据大小达到设定的阈值后,活动的内存表MemTable转化成只读的内存表Immutable MemTable,并启动后台线程将只读内存表Immutable MemTable刷成磁盘文件SSTable,并将其添加到Level-0层。
参见图4和图7所示,电网模型表主索引数据存储完成后,最后存储电网模型表二级索引K-V数据,存储过程如附图7。客户端通过二级索引建模,将模型表单独列数据编码成附图3中的二级索引(Secondary index)格式描述的K-V数据,后发送给服务端进行写入操作,服务端收到K-V数据后,列族读写器首先从列族管理中心请求打开模型表二级索引列族,随后列族读写器将二级索引K-V数据写入模型表二级索引列族,写入过程首先以追加写的方式将K-V数据写入二级索引列族的log文件中,随后将K-V数据写入二级索引列族中活动的内存表MemTable中,当MemTable的数据大小达到设定的阈值后,活动的内存表MemTable转化成只读的内存表Immutable MemTable,并启动后台线程将只读内存表刷成磁盘文件SSTable,并将其添加到Level-0层。
参见图8所示,客户端首先根据表名请求服务端查询模型表的元数据K-V,服务端的列族读写器首先请求列族管理中心打开公共列族,后从公共列族中读取该模型表的元数据K-V返回给客户端,客户端解析元数据K-V得到模型表结构,如表名、拥有的列名、列的数据类型、主键、二级索引列等。随后客户端根据表名、主键K的范围等请求服务端查询模型表主索引K-V数据,服务端收到查询请求后,列族读写器首先请求列族管理中心打开模型表主索引列族,后根据K的范围读取主索引K-V数据并返回给客户端,客户端根据模型表结构解析主索引K-V数据得到一组类似传统关系库形式的行列二维数据。
参见图9所示,客户端首先根据表名请求服务端查询模型表的元数据K-V,后解析元数据K-V得到模型表结构,随后,客户端根据表名、二级索引列名、二级索引列的范围等请求服务端查询二级索引K-V数据,服务端收到查询请求后,列族读写器请求列族管理中心打开模型表二级索引列族,后根据二级索引列的范围读取二级索引K-V数据,后根据模型表结构将二级索引K-V数据解析得到一组只包含主键K的集合,后客户端根据表名、主键K的集合请求服务端查询主索引K-V数据,服务端收到查询请求后,从列族管理中心请求打开主索引列族,后根据主键K的集合读取主索引K-V数据返回给客户端,客户端根据模型表结构将主索引K-V数据解析得到一组类似传统关系库形式的行列二维数据。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (10)
1.一种基于LevelDB的电网模型数据缓存系统,其特征在于包括:
创建列族模块,用于客户端请求服务端创建列族;
数据建模模块,用于客户端通过数据建模,将数据模表结构信息和电网模型行、列数据建模成K-V数据后请求服务端写入列族;
数据查询模块,用于基于LevelDB接口对列族中存储的K-V数据扩展查询引擎,在支持原有K-V数据查询的基础上,提供二维表行列数据查询。
2.根据权利要求1所述的基于LevelDB的电网模型数据缓存系统,其特征在于:所述的创建列族模块包括公共列族单元、主索引列族单元和二级索引列族单元;
所述的公共列族单元是客户端请求服务端创建公共列族,服务端的列族构建器创建公共列族,创建完成后向列族管理中心注册;所述的主索引列族是客户端将创建模型表列族请求发送到服务端,服务端的列族构建器通过OpenTable接口根据模型表名创建主索引列族,创建完成后向列族管理中心注册;所述的二级索引列族单元是当需要建立二级索引时,客户端请求服务端为电网模型表创建二级索引列族,创建完成向列族管理中心注册;所述的列族管理中心是列族资源池,同时控制列族的注册、开启和自动关闭回收资源。
3.根据权利要求1所述的基于LevelDB的电网模型数据缓存系统,其特征在于:所述的数据建模模块包括K-V元数据单元、K-V主索引数据单元、K-V二次索引数据单元;
所述的K-V元数据单元是客户端通过元数据建模,将数据模表结构信息建模成K-V数据后请求服务端通过列族读写器写入公共列族;所述的K-V主索引数据单元是存入元数据后,客户端通过主索引建模,将电网模型表的行数据编码成K-V数据后请求服务端通过列族读写器写入电网模型表主索引列族;所述的K-V二次索引数据单元是存入主索引数据后,客户端通过二级索引建模,将电网模型表中用作索引的列编码成K-V数据后请求服务端通过列族读写器写入电网模型表二级索引列族;所述列族读写器是从列族管理中心请求指定列族资源内存地址,读请求时通过点读或者迭代器的方式读取列族中存储的K-V数据,写请求时将K-V数据写入到列族中存储起来。
4.根据权利要求1所述的基于LevelDB的电网模型数据缓存系统,其特征在于:所述的数据查询模块包括元数据查询单元和主索引数据查询单元;
所述的元数据索引单元通过客户端请求服务端查询模型表元数据建模的K-V数据,服务端的列族读写器首先请求列族管理中心打开公共列族,从公共列族中读取该模型表元数据建模的K-V数据返回给客户端,客户端解析该数据得到模型表结构;所述的主索引数据查询单元通过客户端请求服务端查询模型表主索引建模的K-V数据,服务端收到查询请求后,列族读写器首先请求列族管理中心打开模型表主索引列族,根据K的范围读取主索引建模的K-V数据并返回给客户端,客户端根据模型表结构解析该数据,得到一组行列二维数据。
5.根据权利要求4所述的基于LevelDB的电网模型数据缓存系统,其特征在于:所述的数据查询模块还可以通过二级索引数据查询单元加速模型表数据查询;
所述的二级索引数据查询单元通过客户端请求服务端查询二级索引建模的K-V数据,服务端收到查询请求后,列族读写器请求列族管理中心打开模型表二级索引列族,根据二级索引列的范围读取二级索引建模的K-V数据,根据模型表结构将该数据解析得到一组只包含主键K的集合,客户端根据表名、主键K的集合请求服务端查询主索引建模的K-V数据,服务端收到查询请求后,从列族管理中心请求打开主索引列族,根据主键K的集合读取主索引建模的K-V数据返回给客户端,客户端根据模型表结构将主索引建模的K-V数据解析得到一组行列二维数据。
6.一种基于LevelDB的电网模型数据缓存方法,其特征在于:包括以下步骤:
(1)客户端请求服务端创建列族;
(2)客户端通过数据建模,将数据模表结构信息和电网模型行、列数据建模成K-V数据后请求服务端写入列族;
(3)基于LevelDB接口对列族中存储的K-V数据扩展查询引擎,在支持原有K-V数据查询的基础上,提供二维表行列数据查询。
7.根据权利要求6所述的基于LevelDB的电网模型数据缓存方法,其特征在于:所述的步骤(1)包括以下具体步骤:
(11)客户端请求服务端创建公共列族,服务端的列族构建器创建公共列族,创建完成后向列族管理中心注册;所述的列族管理中心是列族资源池,同时控制列族的注册、开启和自动关闭回收资源;
(12)客户端将创建模型表列族请求发送到服务端,服务端的列族构建器通过OpenTable接口根据模型表名创建主索引列族,创建完成后向列族管理中心注册;
(13)当需要建立二级索引时,客户端请求服务端为电网模型表创建二级索引列族,创建完成向列族管理中心注册。
8.根据权利要求6所述的基于LevelDB的电网模型数据缓存方法,其特征在于:所述的步骤(2)包括以下具体步骤:
(21)客户端通过元数据建模,将数据模表结构信息建模成元数据建模的K-V数据后请求服务端通过列族读写器写入公共列族;所述列族读写器是从列族管理中心请求指定列族资源内存地址,读请求时通过点读或者迭代器的方式读取列族中存储的K-V数据,写请求时将K-V数据写入到列族中存储起来;
(22)存入元数据后,客户端通过主索引建模,将电网模型表的行数据编码成K-V数据后请求服务端通过列族读写器写入电网模型表主索引列族;
(23)存入主索引数据后,客户端通过二级索引建模,将电网模型表中用作索引的列编码成K-V数据后请求服务端通过列族读写器写入电网模型表二级索引列族。
9.根据权利要求6所述的基于LevelDB的电网模型数据缓存方法,其特征在于:所述的步骤(3)包括以下具体步骤:
(31)客户端请求服务端查询模型表的元数据建模的K-V数据,服务端的列族读写器首先请求列族管理中心打开公共列族,从公共列族中读取该模型表的元数据建模的K-V数据返回给客户端,客户端解析元数据建模的K-V数据得到模型表结构;
(32)客户端请求服务端查询模型表主索引建模的K-V数据,服务端收到查询请求后,列族读写器首先请求列族管理中心打开模型表主索引列族,根据K的范围读取主索引建模的K-V数据并返回给客户端,客户端根据模型表结构解析主索引建模的K-V数据,得到一组行列二维数据。
10.根据权利要求9所述的基于LevelDB的电网模型数据缓存方法,其特征在于:所述的步骤(32)还可以通过二级索引加速模型表数据查询;
客户端请求服务端查询二级索引建模的K-V数据,服务端收到查询请求后,列族读写器请求列族管理中心打开模型表二级索引列族,根据二级索引列的范围读取二级索引建模的K-V数据,根据模型表结构将二级索引建模的K-V数据解析得到一组只包含主键K的集合,客户端根据表名、主键K的集合请求服务端查询主索引建模的K-V数据,服务端收到查询请求后,从列族管理中心请求打开主索引列族,根据主键K的集合读取主索引建模的K-V数据返回给客户端,客户端根据模型表结构将主索引建模的K-V数据解析得到一组行列二维数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311738229.0A CN117992492A (zh) | 2023-12-18 | 2023-12-18 | 一种基于LeveDB技术的电网模型数据缓存系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311738229.0A CN117992492A (zh) | 2023-12-18 | 2023-12-18 | 一种基于LeveDB技术的电网模型数据缓存系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117992492A true CN117992492A (zh) | 2024-05-07 |
Family
ID=90899753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311738229.0A Pending CN117992492A (zh) | 2023-12-18 | 2023-12-18 | 一种基于LeveDB技术的电网模型数据缓存系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117992492A (zh) |
-
2023
- 2023-12-18 CN CN202311738229.0A patent/CN117992492A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247808B (zh) | 一种分布式NewSQL数据库系统及图片数据查询方法 | |
US6931408B2 (en) | Method of storing, maintaining and distributing computer intelligible electronic data | |
US6349305B1 (en) | Method and system for database processing by invoking a function related to index type definition, generating an execution plan based on index type name | |
CN1552032B (zh) | 数据库 | |
CA2388515C (en) | System for managing rdbm fragmentations | |
CN102270232B (zh) | 一种存储优化的语义数据查询系统 | |
CN103678519B (zh) | 一种支持Hive DML增强的混合存储系统及其方法 | |
CN104915450A (zh) | 一种基于HBase的大数据存储与检索方法及系统 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
CN112231321B (zh) | 一种Oracle二级索引及索引实时同步方法 | |
CN102708203A (zh) | 一种基于xml元数据的数据库动态管理方法 | |
JP3452531B2 (ja) | データ・マイニングする方法およびシステム | |
CN105164673A (zh) | 跨数据库和文件系统的查询一体化 | |
CN104391908A (zh) | 一种图上基于局部敏感哈希的多关键字索引方法 | |
El Alami et al. | Supply of a key value database redis in-memory by data from a relational database | |
CN113468209A (zh) | 一种电网监控系统高速内存数据库访问方法 | |
US7672925B2 (en) | Accelerating queries using temporary enumeration representation | |
US8321429B2 (en) | Accelerating queries using secondary semantic column enumeration | |
Černjeka et al. | NoSQL document store translation to data vault based EDW | |
CN117992492A (zh) | 一种基于LeveDB技术的电网模型数据缓存系统及方法 | |
CN115455050A (zh) | 一种分布式数据库及查询方法 | |
Ragavan et al. | A Novel Big Data Storage Reduction Model for Drill Down Search. | |
US20080162414A1 (en) | Accelerating queries using delayed value projection of enumerated storage | |
JPH09305622A (ja) | 文書検索機能を有するデータベース管理方法およびシステム | |
KR102351846B1 (ko) | 분산형 데이터베이스상의 인덱스 병합을 활용한 질의 최적화 방법 |
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 |