暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
一种适用于时序存储的动态时间分区方法及系统_CN118445329A__上海沄熹科技.pdf
12
13页
0次
2025-03-06
免费下载
(19)国家知识产权局
(12)发明专利申请
(10)申请公布号
(43)申请公布日
(21)申请号 202410517849 .X
(22)申请日 2024 .04 .28
(71)申请人 上海沄熹科技有限公司
地址 200120 上海市浦东新区中国上海
自由贸易试验区张东路1158丹桂
10592305-22
(72)发明人 李盟 贾德星 
(74)专利代理机构 济南信达专利事务所有限公
37100
专利代理师 陈婷婷
(51)Int.Cl.
G06F
16/2458
(2019 .01)
G06F
16/22
(2019 .01)
(54)发明名称
一种适用于时序存储的动态时间分区方法
及系统
(57)摘要
本发明公开了一种适用于时序存储的动态
时间分区方法及系统属于时序存储优化技术领
通过时间分区计算算法在不同分区时间间
隔情况下将时序数据进行动态分区进而落盘
到对应的分区存储空间中实现包括时序表分
区时间间隔设置时序数据的分区数据写入
算时序数据所属分区信息并将时序数据写入对
应的分区时序数据的分区数据读取根据数据
时间范围计算起始时间和终止时间所在分区信
对所述分区进行数据查询时间分区计算算
该算法根据给定时间戳判断该时间戳属于
哪个时间分区并做到以存储记录的分区时间间
隔为单位进行动态分配时间分区本发明能够
在合理调整时间分区间隔的情况下提升时间范
围查询性能
权利要求书3页 说明书6页 附图3页
CN 118445329 A
2024.08.06
CN 118445329 A
1 .一种适用于时序存储的动态时间分区方法其特征在于通过时间分区计算算法
不同分区时间间隔情况下将时序数据进行动态分区进而落盘到对应的分区存储空间中
该方法的实现包括
1)时序表分区时间间隔设置
2)时序数据的分区数据写入计算时序数据所属分区信息并将时序数据写入对应的
分区
3)时序数据的分区数据读取根据数据时间范围计算起始时间和终止时间所在分区信
息,对所述分区进行数据查询
4)时间分区计算算法该算法根据给定时间戳判断该时间戳属于哪个时间分区并做
到以存储记录的分区时间间隔为单位进行动态分配时间分区
2 .根据权利要求1所述的一种适用于时序存储的动态时间分区方法其特征在于所述
时序表分区时间间隔设置
1 .1)数据库在创建时序数据表时设置分区时间间隔
1 .2)数据库修改该表分区时间间隔时存储会相应修改保存的分区时间间隔数据
3 .根据权利要求1所述的一种适用于时序存储的动态时间分区方法其特征在于所述
时序数据的分区数据写入,
2 .1)当有一条时序数据进入存储层时存储会解析该条时序数据的时间戳信息通过
分区时间计算模块得到时间分区信息
2 .2)计算得到分区信息后检查该分区数据目录是否存在若不存在则进行数据目录
创建然后将分区信息按照分区开始时间从小到大保存在内存中以便查询使用
2 .3)分区数据目录创建完成后调用数据写入接口进行持久化落盘进而完成数据写
4 .根据权利要求1所述的一种适用于时序存储的动态时间分区方法其特征在于所述
时序数据的分区数据读取
3 .1)首先执行层发送执行计划到存储层存储对该计划进行解析得到需要查询的数
据时间范围
3 .2)其次对数据查询时间范围的起始时间和终止时间调用分区时间计算模块计算
出起始时间所在分区信息和终止时间所在分区信息
3 .3)然后读取数据写入时保存在内存中的所有时间分区信息遍历判断哪些分区是
处于上一步计算出两个分区之间然后对这些分区进行数据查询返回
5 .根据权利要求1所述的一种适用于时序存储的动态时间分区方法其特征在于所述
时间分区计算算法
4 .1)首先判断存储是否已经有创建好的分区如果没有分区目录则表示需要创建出
第一个时间分区那么从0时间开始以存储记录的分区时间间隔为分区单位向后查找出
哪个分区包含给定时间戳然后返回该分区信息
4 .2)如果存储已经有创建好的分区那么通过内存中现有的所有时间分区信息对给
定时间戳进行二分法判断确定出该时间戳所属分区是否已存在若已存在直接返回分区
信息
4 .3)若给定时间戳不存在现有的时间分区中则需要判断两种情况
权 利 要 求 书
1/3
2
CN 118445329 A
2
第一种给定时间戳大于现有的最大时间分区结束时间那么需要从现有最大时间分
区的结束时间开始以存储记录的分区时间间隔为分区单位向后查找出哪个分区包含给
定时间戳然后返回该分区信息
第二种给定时间戳小于现有的最大时间分区结束时间通过二分法拿到第一个开始
时间比给定时间戳大的分区信息然后将这个分区信息的开始时间作为起始时间以存储
记录的分区时间间隔为分区单位向前查找哪个分区包含给定时间戳并且该分区的范围
不能与现有分区重叠如果重叠则截断重叠部分然后返回该分区信息
6 .一种适用于时序存储的动态时间分区系统其特征在于包括
时序表分区时间间隔设置模块用于设置修改时序数据表的分区时间间隔
时序数据分区数据写入模块用于实现时序数据分区落盘
时序数据分区数据读取模块用于实现时序数据分区数据读取
时间分区计算模块用于提供计算给定时间戳所属分区的算法
7 .根据权利要求6所述的一种适用于时序存储的动态时间分区系统其特征在于所述
时序数据分区数据写入模块包括以下步骤
2 .1)获取数据的时间戳信息然后根据分区时间间隔调用时间分区计算模块得到所
属分区信息
2 .2)根据分区信息判断该分区是否已创建若未创建则需要创建出新的分区然后将
该行数据进行写入到该分区
所述时序数据分区数据读取模块包括以下步骤
3 .1)根据执行层传入的查询时间范围条件调用时间分区计算模块确定出这个时间
范围的起始时间和终止时间各自所处的时间分区这两个时间分区组成一个时间范围
3 .2)根据现有的所有时间分区从小到大判断当前时间分区是否处于上述时间范围
如果处于则对该时间分区进行查询
8 .根据权利要求6所述的一种适用于时序存储的动态时间分区系统其特征在于所述
时间分区计算模块包括以下步骤
4 .1)首先判断存储是否已经有创建好的分区如果没有分区目录则表示需要创建出
第一个时间分区那么从0时间开始以存储记录的分区时间间隔为分区单位向后查找出
哪个分区包含给定时间戳然后返回该分区信息
4 .2)如果存储已经有创建好的分区则需要通过内存中现有的所有时间分区信息
给定时间戳进行二分法判断确定出该时间戳所属分区是否已存在若已存在直接返回该
分区信息
4 .3)若给定时间戳不存在现有的时间分区中则需要判断两种情况
第一种给定时间戳大于现有的最大时间分区结束时间则需要从现有最大时间分区
的结束时间开始以存储记录的分区时间间隔为分区单位向后查找出哪个分区包含给定
时间戳然后返回该分区信息
第二种给定时间戳小于现有的最大时间分区结束时间通过二分法拿到第一个开始
时间比给定时间戳大的分区信息然后将这个分区信息的开始时间作为起始时间向前以
存储记录的分区时间间隔为分区单位向前查找哪个分区包含给定时间戳并且该分区的
范围不能与现有分区重叠如果重叠则截断重叠部分然后返回该分区信息
权 利 要 求 书
2/3
3
CN 118445329 A
3
of 13
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。