【技术实现步骤摘要】
时序数据库的分位数计算方法及装置、介质、设备
[0001]本专利技术涉及数据处理
,尤其是涉及一种时序数据库的分位数计算方法及装置、介质、设备。
技术介绍
[0002]目前,分位数计算的最基本方法是将满足条件的数据全部读取出来,然后进行排序,再定位到需要的分位数上。随着流式数据库的数据量不断增加,针对一个需求仅提供一种计算方法已无法满足更高的要求,这就要求数据库实现者根据不同的需求以及硬件条件采用不同的计算方法以满足性能需求。
技术实现思路
[0003]针对以上至少一个技术问题,本专利技术实施例提供一种时序数据库的分位数计算方法及装置、介质、设备。
[0004]根据第一方面,本专利技术实施例提供的时序数据库的分位数计算方法,包括:
[0005]确定第一内存量和第二内存量;其中,所述第一内存量为时序数据库的序列数据所需要的内存空间大小,所述第二内存量为当前可用的内存空间大小;
[0006]根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法;
[0007]根据 ...
【技术保护点】
【技术特征摘要】
1.一种时序数据库的分位数计算方法,其特征在于,包括:确定第一内存量和第二内存量;其中,所述第一内存量为时序数据库的序列数据所需要的内存空间大小,所述第二内存量为当前可用的内存空间大小;根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法;根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值。2.根据权利要求1所述的方法,其特征在于,所述确定第一内存量和第二内存量之前,所述方法进一步包括:判断所述时序数据库的序列数据是否为有序状态;若不是有序状态,则执行确定第一内存量和第二内存量的步骤;否则,从所述序列数据中获取所需分位数的数值。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法,包括:判断所述第二内存量是否大于等于3倍的所述第一内存量;若是,则采用分段式百分位查找方法。4.根据权利要求3所述的方法,其特征在于,所述分位数确定方法为所述分段式百分位查找方法;对应的,所述根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值,包括:S1、在内存空间中申请三个内存块,为每一个内存块设置一个对应的指针;其中,每一个内存块的指针的初始位置为该内存块的首地址,每一个内存块的大小为当前的序列数据所需要的内存空间大小;S2、从当前的序列数据中选择出第一个数据,将所述第一个数据作为参考值;S3、判断当前的序列数据中的每一个数据和所述参考值之间的大小关系;若该数据小于所述参考值,则将该数据放置在第一个内存块中;若该数据等于所述参考值,则将该数据放置在第二个内存块中;若该数据大于所述参考值,则将该数据放置在第三个内存块中;每向任意一个内存块中存放一个数据,就将该内存块的指针向后移动一位;S4、在将当前的序列数据中的各个数据放置于内存块之后,根据每一个内存块中的指针的位置,确定该内存块中的数据量;S5、若所需分位数小于第一个内存块的数据量,则将第一个内存块作为选定内存块;若所需分位数大于等于所述第一个内存块的数据量且小于第一个内存块和第二个内存块的数据量之和,则将第二个内存块作为选定内存块;若所需分位数大于等于第一个内存块和第二个内存块的数据量之和,则将第三个内存块作为选定内存块;S6、判断所述选定内存块是否为第二个内存块;若是,则将第二个内存块中的数据作为所需分位数的数值;否则,将所述选定内...
【专利技术属性】
技术研发人员:李国亮,
申请(专利权)人:上海沄熹科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。