时序数据库的分位数计算方法及装置、介质、设备与流程
未命名
08-15
阅读:115
评论:0
1.本发明涉及数据处理技术领域,尤其是涉及一种时序数据库的分位数计算方法及装置、介质、设备。
背景技术:
2.目前,分位数计算的最基本方法是将满足条件的数据全部读取出来,然后进行排序,再定位到需要的分位数上。随着流式数据库的数据量不断增加,针对一个需求仅提供一种计算方法已无法满足更高的要求,这就要求数据库实现者根据不同的需求以及硬件条件采用不同的计算方法以满足性能需求。
技术实现要素:
3.针对以上至少一个技术问题,本发明实施例提供一种时序数据库的分位数计算方法及装置、介质、设备。
4.根据第一方面,本发明实施例提供的时序数据库的分位数计算方法,包括:
5.确定第一内存量和第二内存量;其中,所述第一内存量为时序数据库的序列数据所需要的内存空间大小,所述第二内存量为当前可用的内存空间大小;
6.根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法;
7.根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值。
8.根据第二方面,本发明实施例提供的时序数据库的分位数计算装置,包括:
9.第一确定模块,用于确定第一内存量和第二内存量;其中,所述第一内存量为时序数据库的序列数据所需要的内存空间大小,所述第二内存量为当前可用的内存空间大小;
10.方法选择模块,用于根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法;
11.数值确定模块,用于根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值。
12.根据第三方面,本发明实施例提供计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行实现第一方面提供的方法。
13.根据第四方面,本发明实施例提供的计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面提供的方法。
14.本发明实施例提供的时序数据库的分位数计算方法及装置、介质、设备,首先确定第一内存量和第二内存量,然后根据两个内存量之间的大小关系,选择合适的分位数确定方法,进而利用选择的分位数确定方法来确定所需分位数的数值。可见,本发明实施例增加了辅助判断条件,即第一内存量和第二内存量之间的大小关系,进而在不同内存资源情况下选择不同的方式,从而适配当前的内存情况,尽可能提高效率,可以起到事半功倍的效果。
附图说明
15.图1为本发明一实施例中时序数据库的分位数计算方法的流程示意图;
16.图2为本发明一实施例中时序数据库的分位数计算方法的流程示意图。
具体实施方式
17.第一方面,本发明实施例提供一种时序数据库的分位数计算方法,参见图1~2,该方法包括如下步骤s110~s130:
18.s110、确定第一内存量和第二内存量;其中,所述第一内存量为时序数据库的序列数据所需要的内存空间大小,所述第二内存量为当前可用的内存空间大小;
19.其中,序列数据是指按照时间先后顺序排列的一组数据。
20.在一个实施例中,所述确定第一内存量和第二内存量之前,所述方法可以进一步包括:
21.判断所述时序数据库的序列数据是否为有序状态;
22.若不是有序状态,则执行确定第一内存量和第二内存量的步骤;
23.否则,从所述序列数据中获取所需分位数的数值。
24.其中,有序状态是指从小到大排列或者从大到小排列的状态。
25.也就是说,首先判断序列数据是否已经按照数值大小排列好,如果已经排列好,则直接从排列好的序列数据中获取所需分位数的数值。例如,所需分位数为1/2,则取排列好的序列数据中的中间位置的数值作为所需分位数的数值。
26.当然,如果序列数据不是有序状态,则可以执行s110。
27.s120、根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法;
28.可见,这里确定分位数确定方法时考虑到了两个内存量,一个是序列数据所需要的内存空间大小,一个是当前可用的内存空间大小。可见根据硬件资源的实际情况和所需内存大小选择一个合适的位数确定方法,这样可以快速的定位到所需分位数,
29.在一个实施例中,所述s120可以包括:
30.判断所述第二内存量是否大于等于3倍的所述第一内存量;
31.若是,则采用分段式百分位查找方法。
32.例如,第一内存量为a,第二内存量为b,则如果b大于3*a,则选择的分位数确定方法为分段式百分位查找方法。
33.其中,分段式百分位查找方法的效率最高,但是对于内存的要求也最高,因此在b大于3*a时选择该方法。
34.在一个实施例中,所述分段式百分位查找方法,可以包括s1~s6:
35.s1、在内存空间中申请三个内存块,为每一个内存块设置一个对应的指针;其中,每一个内存块的指针的初始位置为该内存块的首地址,每一个内存块的大小为当前的序列数据所需要的内存空间大小;
36.其中,一个内存块中每存入一个数据,该内存块的指针就会向后移动一位。每一个内存块的大小为当前的序列数据所需要的内存空间大小,第一次迭代过程中,当前的序列数据为初始的时序数据,此时每一个内存块的大小为第一内存量。随着迭代次数的增加,当
前的序列数据发生变化,因此每一个内存块的大小发生变化。
37.s2、从当前的序列数据中选择出第一个数据,将所述第一个数据作为参考值;
38.例如,当前的序列数据中的第一个数据为a,则将a作为参考值。
39.s3、判断当前的序列数据中的每一个数据和所述参考值之间的大小关系;若该数据小于所述参考值,则将该数据放置在第一个内存块中;若该数据等于所述参考值,则将该数据放置在第二个内存块中;若该数据大于所述参考值,则将该数据放置在第三个内存块中;每向任意一个内存块中存放一个数据,就将该内存块的指针向后移动一位;
40.即,将当前的序列数据中的第i个数据和参考值进行比较,i的取值范围为[1,n],n为当前的序列数据中的数据的数量。
[0041]
可理解的是,放置在第二个内存块中的各个数据是相同的。在第一个内存块中放置的是比较小的数据,在第三个内存块中放置的是比较大的数据。
[0042]
s4、在将当前的序列数据中的各个数据放置于内存块之后,根据每一个内存块中的指针的位置,确定该内存块中的数据量;
[0043]
即,当前的序列数据中的各个数据均放置在内存块之后,数据的放置工作结束,此时可以根据每个内存块中指针的位置确定该内存块中数据的数量。
[0044]
s5、若所需分位数小于第一个内存块的数据量,则将第一个内存块作为选定内存块;若所需分位数大于等于所述第一个内存块的数据量且小于第一个内存块和第二个内存块的数据量之和,则将第二个内存块作为选定内存块;若所需分位数大于等于第一个内存块和第二个内存块的数据量之和,则将第三个内存块作为选定内存块;
[0045]
s6、判断所述选定内存块是否为第二个内存块;
[0046]
若是,则将第二个内存块中的数据作为所需分位数的数值;
[0047]
否则,将所述选定内存块中的数据作为当前的时序数据,并返回到s1中。
[0048]
例如,如果所需分位数为1/5,如果当前的时序数据中包括20个数据,则所需分位数的位置为20/5=4。如果第一个内存块中有3个数据,第二个内存块中有5个数据,第三个内存块中12个数据,可见,4大于3且小于5+3=8,因此所需分位数位于第二个内存块中。此时第二个内存块为选定内存块。由于第二个内存块中的各个数据的大小相同,因此将第二个内存块中的数据作为所需分位数的数值。再例如,如果第一个内存块中有10个数据,第二个内存块中有5个数据,第三个内存块中5个数据,可见4小于10,因此所需分位数在第一个内存块中,第一个内存块为选定内存块,此时选定内存块不是第二个内存块,因此将第一个内存块中的各个数据作为当前的时序数据,返回到s1中,进行下一次迭代。
[0049]
也就是说,如果选择的分位数确定方法为分段式百分位查找方法,那么在s130中通过以上步骤s1~s6确定所需分位数的数值。
[0050]
在一个实施例中,所述s120还可以包括:
[0051]
若所述第二内存量小于3倍的所述第一内存量,判断所述第二内存量是否大于所述第一内存量;
[0052]
若是,将所述序列数据进行排序,得到排序结果,从所述排序结果中获取所需分位数的数值。
[0053]
也就是说,b小于3*a且大于a,则直接将序列数据进行排序,然后从排序结果中选择所需分位数对应的数据。这是一种快速百分位确定方法。
[0054]
其中,快速百分位确定方法的效率中等,对于内存的要求也相对于分段式百分位查找方法来说较小,因此在b小于3*a且大于a时,选用快速百分位确定方法。
[0055]
也就是说,如果选择的分位数确定方法为快速百分位确定方法,那么在s130中确定所需分位数的数值的过程为:将所述序列数据进行排序,得到排序结果,从所述排序结果中获取所需分位数的数值。
[0056]
在一个实施例中,s120中还可以包括:
[0057]
若所述第二内存量小于等于所述第一内存量,则选择哈希查找方法。
[0058]
即,b小于等于a,则选择哈希查找方法。
[0059]
进一步的,哈希查找方法具体可以包括s11~s15:
[0060]
s11、确定所述时序数据中的最大值和最小值;
[0061]
s12、根据所述最大值和所述最小值,确定哈希桶的数量,将该数量记为第一数量,且为每一个哈希桶进行编号,各个哈希桶的编号以0为基础且以1为步长递增设置;
[0062]
s13、根据所述时序数据中的每一个数据除以所述第一数量的余数,确定该数据欲放置的哈希桶的编号,并将该数据放置于该编号的哈希桶内;
[0063]
s14、记录所述每一个数据除以所述第一数量时的倍数,确定所述时序数据中每一个倍数的数据量;
[0064]
s15、根据所需分位数和各个倍数各自的数据量,确定所需分位数对应的倍数,从该倍数的各个数据中选择出所需分位数的数值。
[0065]
举例来说,时序数据为{5、4、1、6、9、10、8},所需分位数为1/2,因此所需分位数对应的位置为4。其中,最大值为10,最小值为1,经过一些哈希公式的计算,得到3,因此第一数量为3。第一个哈希桶的编号为0,第二个哈希桶的数量为1,第三个哈希桶的编号为2。
[0066]
将时序数据中的每一个数据除以3,得到余数。例如,第一个数据5处于3,得到余数为2,则将数据5放置在编号为2的哈希桶里,将第二个数据4放置在编号为1的哈希桶里。依次类推,得到编号为0的哈希桶内的数据包括6、9,编号为1的哈希桶里放置的数据包括4、1、10,编号为2的哈希桶里放置的数据包括5、8。
[0067]
接着,计算每一个哈希桶内的数据对应的倍数,例如,编号为0的哈希桶内的数据6除以3的倍数为2,数据9除以3的倍数为3;编号为1的哈希桶内的数据4除以3的倍数为1,1除以3的倍数为0,10除以3的倍数为3;编号为2的哈希桶内的5除以3的倍数为1,8除以3的倍数为2。
[0068]
可见,倍数0对应的数据量为1个,倍数1对应的数据量为2,倍数2对应的数据量为2,倍数3对应的数据量为2。由于所需分位数对应的位置为4,因此所需分位数落在了倍数为2的各个数据中,即在6、8。因此将6和8放置在2倍桶内。倍数0对应的数据量和倍数1对应的数据量之和为3,所需分位数对应的位置为4,因此将倍数2对应的第一个数据作为6作为所需分位数的数值,即,将2倍桶中的第一数据6作为所需分位数的数值。这里有一个隐含条件,倍数相同的情况下,数据所在的哈希桶的编号越低,数据在倍数桶中的位置越靠前。
[0069]
也就是说,如果选择的分位数确定方法为哈希查找方法,那么在s130中确定所需分位数的数值的过程为上述s11~s15。
[0070]
其中,哈希查找方法的效率最低,对内存无要求,因此在b小于等于a时采用本方法。
[0071]
s130、根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值。
[0072]
可见,依据上述步骤得到分位数确定方法之后,就可以执行分位数确定方法,进而得到分位数的数值。
[0073]
可见,本发明实施例增加了辅助判断条件,即第一内存量和第二内存量之间的大小关系,进而在不同内存资源情况下选择不同的方式,从而适配当前的内存情况,尽可能提高效率。其中,当机器负载较轻或者数据量较少使得可用内存充足的情况下,最大限度的使用内存,加快计算,因此采用分段式百分位查找方法。在机器负载一般或者数据量不大使得内存中够用的情况下,使用快速百分位确定方法。在机器负载较重或数据量大使得无法完全在内存中进行运算时,采用哈希查找方法。
[0074]
可见,本发明实施例提供的方法相对于现有技术中的方法更加智能化,可以根据负载、物理机器的性能不同而采用不同的计算方法,可以起到事半功倍的效果。
[0075]
第二方面,本发明实施例提供一种时序数据库的分位数计算装置,包括:
[0076]
第一确定模块,用于确定第一内存量和第二内存量;其中,所述第一内存量为时序数据库的序列数据所需要的内存空间大小,所述第二内存量为当前可用的内存空间大小;
[0077]
方法选择模块,用于根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法;
[0078]
数值确定模块,用于根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值。
[0079]
在一个实施例中,装置还包括:
[0080]
第一判断模块,用于在第一确定模块确定第一内存量和第二内存量之前,判断所述时序数据库的序列数据是否为有序状态;若不是有序状态,则使第一确定模块执行确定第一内存量和第二内存量的步骤;否则,从所述序列数据中获取所需分位数的数值。
[0081]
在一个实施例中,方法选择模块包括:
[0082]
第一判断单元,用于判断所述第二内存量是否大于等于3倍的所述第一内存量;若是,则采用分段式百分位查找方法。
[0083]
在一个实施例中,所述分位数确定方法为所述分段式百分位查找方法;
[0084]
对应的,所述数值确定模块具体用于执行如下步骤:
[0085]
s1、在内存空间中申请三个内存块,为每一个内存块设置一个对应的指针;其中,每一个内存块的指针的初始位置为该内存块的首地址,每一个内存块的大小为当前的序列数据所需要的内存空间大小;
[0086]
s2、从当前的序列数据中选择出第一个数据,将所述第一个数据作为参考值;
[0087]
s3、判断当前的序列数据中的每一个数据和所述参考值之间的大小关系;若该数据小于所述参考值,则将该数据放置在第一个内存块中;若该数据等于所述参考值,则将该数据放置在第二个内存块中;若该数据大于所述参考值,则将该数据放置在第三个内存块中;每向任意一个内存块中存放一个数据,就将该内存块的指针向后移动一位;
[0088]
s4、在将当前的序列数据中的各个数据放置于内存块之后,根据每一个内存块中的指针的位置,确定该内存块中的数据量;
[0089]
s5、若所需分位数小于第一个内存块的数据量,则将第一个内存块作为选定内存块;若所需分位数大于等于所述第一个内存块的数据量且小于第一个内存块和第二个内存
块的数据量之和,则将第二个内存块作为选定内存块;若所需分位数大于等于第一个内存块和第二个内存块的数据量之和,则将第三个内存块作为选定内存块;
[0090]
s6、判断所述选定内存块是否为第二个内存块;
[0091]
若是,则将第二个内存块中的数据作为所需分位数的数值;
[0092]
否则,将所述选定内存块中的数据作为当前的时序数据,并返回到s1中。
[0093]
在一个实施例中,所述方法选择模块还包括:
[0094]
第二判断单元,用于若所述第二内存量小于3倍的所述第一内存量,判断所述第二内存量是否大于所述第一内存量;若是,则所述分位数确定方法为快速百分位确定方法;对应的,所述数值确定模块具体用于:将所述序列数据进行排序,得到排序结果,从所述排序结果中获取所需分位数的数值。
[0095]
在一个实施例中,所述方法选择模块还包括:
[0096]
第一选择单元,用于若所述第二内存量小于等于所述第一内存量,则选择哈希查找方法。
[0097]
进一步的,所述分位数确定方法为所述哈希查找方法;
[0098]
对应的,所述数值确定模块具体用于执行如下步骤:
[0099]
确定所述时序数据中的最大值和最小值;
[0100]
根据所述最大值和所述最小值,确定哈希桶的数量,将该数量记为第一数量,且为每一个哈希桶进行编号,各个哈希桶的编号以0为基础且以1为步长递增设置;
[0101]
根据所述时序数据中的每一个数据除以所述第一数量的余数,确定该数据欲放置的哈希桶的编号,并将该数据放置于该编号的哈希桶内;
[0102]
记录所述每一个数据除以所述第一数量时的倍数,确定所述时序数据中每一个倍数的数据量;
[0103]
根据所需分位数和各个倍数各自的数据量,确定所需分位数对应的倍数,从该倍数的各个数据中选择出所需分位数的数值。
[0104]
可理解的是,本发明实施例提供的装置中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
[0105]
第三方面,本发明实施例提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面提供的方法。
[0106]
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0107]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0108]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0109]
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而
实现上述实施例中任意一项实施例的功能。
[0110]
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0111]
可理解的是,本发明实施例提供的计算机可读介质中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
[0112]
第四方面,本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
[0113]
可理解的是,本发明实施例提供的计算设备中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
[0114]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0115]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0116]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
技术特征:
1.一种时序数据库的分位数计算方法,其特征在于,包括:确定第一内存量和第二内存量;其中,所述第一内存量为时序数据库的序列数据所需要的内存空间大小,所述第二内存量为当前可用的内存空间大小;根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法;根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值。2.根据权利要求1所述的方法,其特征在于,所述确定第一内存量和第二内存量之前,所述方法进一步包括:判断所述时序数据库的序列数据是否为有序状态;若不是有序状态,则执行确定第一内存量和第二内存量的步骤;否则,从所述序列数据中获取所需分位数的数值。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法,包括:判断所述第二内存量是否大于等于3倍的所述第一内存量;若是,则采用分段式百分位查找方法。4.根据权利要求3所述的方法,其特征在于,所述分位数确定方法为所述分段式百分位查找方法;对应的,所述根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值,包括:s1、在内存空间中申请三个内存块,为每一个内存块设置一个对应的指针;其中,每一个内存块的指针的初始位置为该内存块的首地址,每一个内存块的大小为当前的序列数据所需要的内存空间大小;s2、从当前的序列数据中选择出第一个数据,将所述第一个数据作为参考值;s3、判断当前的序列数据中的每一个数据和所述参考值之间的大小关系;若该数据小于所述参考值,则将该数据放置在第一个内存块中;若该数据等于所述参考值,则将该数据放置在第二个内存块中;若该数据大于所述参考值,则将该数据放置在第三个内存块中;每向任意一个内存块中存放一个数据,就将该内存块的指针向后移动一位;s4、在将当前的序列数据中的各个数据放置于内存块之后,根据每一个内存块中的指针的位置,确定该内存块中的数据量;s5、若所需分位数小于第一个内存块的数据量,则将第一个内存块作为选定内存块;若所需分位数大于等于所述第一个内存块的数据量且小于第一个内存块和第二个内存块的数据量之和,则将第二个内存块作为选定内存块;若所需分位数大于等于第一个内存块和第二个内存块的数据量之和,则将第三个内存块作为选定内存块;s6、判断所述选定内存块是否为第二个内存块;若是,则将第二个内存块中的数据作为所需分位数的数值;否则,将所述选定内存块中的数据作为当前的时序数据,并返回到s1中。5.根据权利要求3所述的方法,其特征在于,所述根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法,还包括:若所述第二内存量小于3倍的所述第一内存量,判断所述第二内存量是否大于所述第一内存量;若是,则所述分位数确定方法为快速百分位确定方法;对应的,所述根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值,
包括:将所述序列数据进行排序,得到排序结果,从所述排序结果中获取所需分位数的数值。6.根据权利要求5所述的方法,其特征在于,所述根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法,还包括:若所述第二内存量小于等于所述第一内存量,则选择哈希查找方法。7.根据权利要求6所述的方法,其特征在于,所述分位数确定方法为所述哈希查找方法;对应的,所述根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值,包括:确定所述时序数据中的最大值和最小值;根据所述最大值和所述最小值,确定哈希桶的数量,将该数量记为第一数量,且为每一个哈希桶进行编号,各个哈希桶的编号以0为基础且以1为步长递增设置;根据所述时序数据中的每一个数据除以所述第一数量的余数,确定该数据欲放置的哈希桶的编号,并将该数据放置于该编号的哈希桶内;记录所述每一个数据除以所述第一数量时的倍数,确定所述时序数据中每一个倍数的数据量;根据所需分位数和各个倍数各自的数据量,确定所需分位数对应的倍数,从该倍数的各个数据中选择出所需分位数的数值。8.一种时序数据库的分位数计算装置,其特征在于,包括:第一确定模块,用于确定第一内存量和第二内存量;其中,所述第一内存量为时序数据库的序列数据所需要的内存空间大小,所述第二内存量为当前可用的内存空间大小;方法选择模块,用于根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法;数值确定模块,用于根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值。9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行实现实现权利要求1~7中的任一项所述的方法。10.一种计算设备,其特征在于,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1~7中的任一项所述的方法。
技术总结
本发明提供一种时序数据库的分位数计算方法及装置、介质、设备,方法包括:确定第一内存量和第二内存量;其中,所述第一内存量为时序数据库的序列数据所需要的内存空间大小,所述第二内存量为当前可用的内存空间大小;根据所述第一内存量和第二内存量的大小关系,选择对应的分位数确定方法;根据选择的分位数确定方法,在所述序列数据中获取所需分位数的数值。本发明实施例增加了辅助判断条件,即第一内存量和第二内存量之间的大小关系,进而在不同内存资源情况下选择不同的方式,从而适配当前的内存情况,尽可能提高效率,可以起到事半功倍的效果。功倍的效果。功倍的效果。
技术研发人员:李国亮
受保护的技术使用者:上海沄熹科技有限公司
技术研发日:2023.05.11
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
