第一种,给定时间戳大于现有的最大时间分区结束时间,那么需要从现有最大时间分
区的结束时间开始,以存储记录的分区时间间隔为分区单位,向后查找出哪个分区包含给
定时间戳,然后返回该分区信息;
第二种,给定时间戳小于现有的最大时间分区结束时间,通过二分法拿到第一个开始
时间比给定时间戳大的分区信息,然后将这个分区信息的开始时间作为起始时间,以存储
记录的分区时间间隔为分区单位,向前查找哪个分区包含给定时间戳,并且该分区的范围
不能与现有分区重叠,如果重叠则截断重叠部分,然后返回该分区信息。
6 .一种适用于时序存储的动态时间分区系统,其特征在于,包括
时序表分区时间间隔设置模块,用于设置修改时序数据表的分区时间间隔;
时序数据分区数据写入模块,用于实现时序数据分区落盘;
时序数据分区数据读取模块,用于实现时序数据分区数据读取;
时间分区计算模块,用于提供计算给定时间戳所属分区的算法。
7 .根据权利要求6所述的一种适用于时序存储的动态时间分区系统,其特征在于,所述
时序数据分区数据写入模块,包括以下步骤:
2 .1)获取数据的时间戳信息,然后根据分区时间间隔,调用时间分区计算模块,得到所
属分区信息;
2 .2)根据分区信息判断该分区是否已创建,若未创建,则需要创建出新的分区,然后将
该行数据进行写入到该分区;
所述时序数据分区数据读取模块,包括以下步骤:
3 .1)根据执行层传入的查询时间范围条件,调用时间分区计算模块,确定出这个时间
范围的起始时间和终止时间各自所处的时间分区,这两个时间分区组成一个时间范围;
3 .2)根据现有的所有时间分区,从小到大判断当前时间分区是否处于上述时间范围,
如果处于,则对该时间分区进行查询。
8 .根据权利要求6所述的一种适用于时序存储的动态时间分区系统,其特征在于,所述
时间分区计算模块,包括以下步骤:
4 .1)首先判断存储是否已经有创建好的分区,如果没有分区目录,则表示需要创建出
第一个时间分区;那么从0时间开始,以存储记录的分区时间间隔为分区单位,向后查找出
哪个分区包含给定时间戳,然后返回该分区信息;
4 .2)如果存储已经有创建好的分区,则需要通过内存中现有的所有时间分区信息,对
给定时间戳进行二分法判断,确定出该时间戳所属分区是否已存在,若已存在,直接返回该
分区信息;
4 .3)若给定时间戳不存在现有的时间分区中,则需要判断两种情况:
第一种,给定时间戳大于现有的最大时间分区结束时间,则需要从现有最大时间分区
的结束时间开始,以存储记录的分区时间间隔为分区单位,向后查找出哪个分区包含给定
时间戳,然后返回该分区信息;
第二种,给定时间戳小于现有的最大时间分区结束时间,通过二分法拿到第一个开始
时间比给定时间戳大的分区信息,然后将这个分区信息的开始时间作为起始时间,向前以
存储记录的分区时间间隔为分区单位,向前查找哪个分区包含给定时间戳,并且该分区的
范围不能与现有分区重叠,如果重叠则截断重叠部分,然后返回该分区信息。
权 利 要 求 书
2/3 页
3
相关文档
评论