1 .一种时序数据索引方法,其特征在于,时序数据索引结构的索引项包括一个区间范
围内所有数据位置统计信息,内容包括:
(1)区间范围开始的时间TS;
(2)区间范围内第一条记录在存储中的逻辑偏移量P;
(3)区间内的数据记录数量C;
(4)区间内的数据的平均时间间隔I;
区间范围的结束时间TE按(TS+(C‑1)*I)得出,因而无需存储。
2 .根据权利要求1所述的一种时序数据索引方法,其特征在于,查找记录R1位置的流程
如下:
A1、通过树形结构查找算法查找“TS小于待查找记录R1的时间T
R1
”的索引项中区间范围
开始的时间最大的索引项E1;
A2、如果E1不存在,则记录R1早于索引中所有记录,即尚未被索引覆盖;
A3、如果E1存在,检查E1是否覆盖T
R1
。
3 .根据权利要求2所述的一种时序数据索引方法,其特征在于,在步骤A3中,进一步包
括:
A3‑1:如果(E1范围结束时间TE
E1
+E1数据平均时间间隔I
E1
*容错比例)>T
R1
,则E1覆盖R1
的时间;
(a)找到存储偏移量P
R2
=(T
R1
‑TS
E1
)/I
E1
+P
E1
(E1第一条记录在存储中的逻辑偏移量)对
应的记录R2;
(b)如果R2的时间等于R1的时间,则找到了记录;
(c)如果R2的时间小于R1的时间,从P
R2
位置向后查找直到找到与R1时间相等的记录;
(d)如果R2的时间大于R1的时间,从P
R2
位置向前查找直到找到与R1时间相等的记录;
A3‑2:否则,E1未覆盖R1的时间,即该索引中未有记录R1。
4 .根据权利要求3所述的一种时序数据索引方法,其特征在于,索引的插入流程如下:
B1、当有新记录R1写入数据表时,需在索引中查找记录对应的时间T
R1
是否已被某索引
项E1覆盖;
B2、如果R1位置已经被某索引项覆盖,意味着R1的加入会改变原索引项的时间间隔规
则,需分裂覆盖该记录的索引项E1;
B3、如果R1位置未被覆盖,找到区间范围开始时间小于等于T
R1
的索引项中区间范围开
始时间最大的索引项E2。
5 .根据权利要求4所述的一种时序数据索引方法,其特征在于,在步骤B2中,进一步包
括:
B2‑1、如果记录能够合并到E1分裂后的前项索引项中,合并记录到前项索引项中;
B2‑2、如果记录不能合并到E1分裂后的前项索引项中,建立新的索引项,新增索引项的
流程采用传统树形结构增加节点的流程;
在步骤B3中,进一步包括:
B3‑1、如果R1能够合并到E2中,合并记录到E2中;
B3‑2、如果R1不能合并到E2中,建立新的索引项,新增索引项的流程采用传统树形结构
增加节点的流程。
权 利 要 求 书
1/2 页
2
评论