1.一种最小索引标识ID查找方法,其特征在于,包括:
在指定的查找区间中,查询已用于指定索引的索引ID的记录数;
当所述记录数小于所述指定的查找区间的区间容量时,缩小所述指定的查找区间的上限,其中,缩小后的上限大于所述记录数与所述指定区间的下限之和;
重复上述操作,直到所述缩小后的查找区间内的记录数为0时,选择当前查找区间的下限作为最小索引ID;或者,直到当前查找区间内的记录数不为0且当前查找区间的区间容量已缩小到2时,选择所述当前查找区间的上限作为最小索引ID。
2.根据权利要求1所述的方法,其特征在于,在指定的查找区间中,查询已用于指定索引的索引ID的记录数之前,还包括:利用预设的分割因子e将已有的查找区间W[w1,w2]分割为左半区间W1[w1,A)和右半区间W2[A,w2],其中,0≤e≤1,e取决于所述已有的查找区间W[w1,w2]中已用于指定索引的索引ID的分布特征,分割点A为:w1+(w2-w1)*e后向下取余得到的整数;
查询所述左半区间W1[w1,A)中已用于指定索引的索引ID的记录数;
若所述左半区间W1[w1,A)中已用于指定索引的索引ID的记录数小于所述左半区间W1[w1,A)的区间容量,选择所述左半区间W1[w1,A)作为所述指定的查找区间;
.若所述左半区间W1[w1,A)中已用于指定索引的索引ID的记录数等于所述左半区间W1[w1,A)的区间容量,选择所述右半区间W2[A,w2]作为所述指定的查找区间。
3.根据权利要求2所述的方法,其特征在于,当所述记录数小于所述查找区间的区间容量时,缩小所述查找区间的上限,包括:当所述指定的查找区间为所述左半区间W1[w1,A)时,在所述W1[w1,A)中查询已用于指定索引的索引ID的记录数C1,若所述C1小于A-w1,所述A减小为w1+C1+1;以及当所述指定的查找区间为所述右半区间W2[A,w2]时,在所述W2[A,w2]中查询已用于指定索引的索引ID的记录数C2,若所述C2小于w2-A+1,所述w2减小为A+C2+1。
4.根据权利要求2或3所述的方法,其特征在于,当所述记录数等于所述指定的查找区间的区间容量时,若所述指定的查找区间是所述左半区间W1[w1,A),将其更换为所述右半区间W2[A,w2];若所述指定的查找区间是所述右半区间W2[A,w2],则确定已有的查找区间W[w1,w2]中不存在未被使用的索引ID。
5.根据权利要求1所述的方法,其特征在于,选择所述当前查找区间的上限作为最小索引ID时,还包括:检验所述当前查找区间的上限是否已被使用,若否,确定所述当前查找区间的上限作为最小索引ID;若是,表明本次查找失败。
6.根据权利要求5所述的方法,其特征在于,还包括:利用确定的最小索引ID标识当前记录。
7.一种最小索引标识ID查找装置,其特征在于,包括查询模块、缩小模块、触发模块和选择模块:所述查询模块,用于在指定的查找区间中,查询已用于指定索引的索引ID的记录数;
所述缩小模块,用于当所述记录数小于所述指定的查找区间的区间容量时,缩小所述指定的查找区间的上限,其中,缩小后的上限大于所述记录数与所述指定区间的下限之和;
所述触发模块,用于重复触发所述查询模块和所述缩小模块,直到所述缩小后的查找区间内的记录数为0或者当前查找区间内的记录数不为0且当前查找区间的区间容量已缩小到2;
第一选择模块,用于当所述缩小后的查找区间内的记录数为0时,选择所述当前查找区间的下限作为最小索引ID;或者,当前查找区间内的记录数不为0且当前查找区间的区间容量已缩小到2时,选择所述当前查找区间的上限作为最小索引ID。
8.根据权利要求7所述的装置,其特征在于,还包括:
分割模块,用于利用预设的分割因子e将已有的查找区间W[w1,w2]分割为左半区间W1[w1,A)和右半区间W2[A,w2],其中,0≤e≤1,e取决于所述已有的查找区间W[w1,w2]中已用于指定索引的索引ID的分布特征,分割点A为:w1+(w2-w1)*e后向下取余得到的整数;
第二选择模块,用于查询所述左半区间W1[w1,A)中已用于指定索引的索引ID的记录数;若所述左半区间W1[w1,A)中已用于指定索引的索引ID的记录数小于所述左半区间W1[w1,A)的区间容量,选择所述左半区间W1[w1,A)作为所述指定的查找区间;若所述左半区间W1[w1,A)中已用于指定索引的索引ID的记录数等于所述左半区间W1[w1,A)的区间容量,选择所述右半区间W2[A,w2]作为所述指定的查找区间。
9.根据权利要求8所述的装置,其特征在于,所述缩小模块包括:
第一减小子模块,用于当所述指定的查找区间为所述左半区间W1[w1,A)时,在所述W1[w1,A)中查询已用于指定索引的索引ID的记录数C1,若所述C1小于A-w1,所述A减小为w1+C1+1;以及第二减小子模块,用于当所述指定的查找区间为所述右半区间W2[A,w2]时,在所述W2[A,w2]中查询已用于指定索引的索引ID的记录数C2,若所述C2小于w2-A+1,所述w2减小为A+C2+1。
10.根据权利要求8或9所述的装置,其特征在于,所述第二选择模块包括:
更换子模块,用于当所述记录数等于所述指定的查找区间的区间容量时,若所述指定的查找区间是所述左半区间W1[w1,A),将其更换为所述右半区间W2[A,w2];
确定子模块,用于当所述记录数等于所述指定的查找区间的区间容量时,若所述指定的查找区间是所述右半区间W2[A,w2],则确定已有的查找区间W[w1,w2]中不存在未被使用的索引ID。
11.根据权利要求7所述的装置,其特征在于,所述第一选择模块进一步用于检验所述当前查找区间的上限是否已被使用,若否,确定所述当前查找区间的上限作为最小索引ID;
若是,表明本次查找失败。
12.根据权利要求11所述的装置,其特征在于,所述第一选择模块进一步用于利用确定的最小索引ID标识当前记录。