1.一种文件指纹处理方法,其特征在于,包括:
确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;
确定所述哈希地址指向的存储空间的首地址;
根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度;
所述确定文件指纹对应的哈希地址之前,还包括:
根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度;
根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间;
还包括:
在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。
2.根据权利要求1所述的方法,其特征在于,所述根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度,包括:根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例;
根据以下公式确定各哈希地址指向的存储空间的可用空间长度:Li=|K*θi|,Li为哈希地址i指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,θi为哈希地址i指向的存储空间占所有哈希地址指向的总存储空间的比例,其中, N为文件指纹的比特数。
3.根据权利要求1或2所述的方法,其特征在于,所述根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间,包括:创建特征库,所述特征库包括第一空间、第二空间和第三空间;
将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;
根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。
4.根据权利要求3所述的方法,其特征在于,所述释放各存储空间内未使用的空间之后,还包括:将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。
5.根据权利要求1或2所述的方法,其特征在于,所述文件指纹为音频指纹,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段;所述确定文件指纹对应的哈希地址之前,还包括:将所述音频信号分为至少一个时间片段;
从每个时间片段中提取至少一个音频指纹。
6.根据权利要求5所述的方法,其特征在于,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;所述统计得到的文件指纹分布特性包括:矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。
7.一种文件指纹处理装置,其特征在于,包括:
哈希地址确定模块,用于确定文件指纹对应的哈希地址,所述哈希地址指向一个预先分配的存储空间,所述哈希地址指向的存储空间的可用空间长度根据文件指纹分布特性得到;
首地址确定模块,用于确定所述哈希地址指向的存储空间的首地址;
文件信息加入模块,用于根据所述存储空间的首地址和所述存储空间内已添加信息的长度,在所述存储空间中加入所述文件指纹对应的文件信息,并更新所述存储空间内已添加信息的长度;
还包括:
长度确定模块,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间的可用空间长度;
存储空间分配模块,用于根据各哈希地址指向的存储空间的可用空间长度,为各哈希地址分配对应的存储空间;
还包括:
空间释放模块,用于在所有文件指纹处理完成之后,根据各哈希地址指向的存储空间内已添加信息的长度,释放各存储空间内未使用的空间。
8.根据权利要求7所述的装置,其特征在于,长度确定模块包括:比例确定子单元,用于根据统计得到的文件指纹分布特性,确定各哈希地址指向的存储空间占所有哈希地址指向的总存储空间的比例;
长度确定子单元,用于根据以下公式确定各哈希地址指向的存储空间的可用空间长度:Li=|K*θi|,Li为哈希地址i指向的存储空间的可用空间长度,K为所有哈希地址指向的总存储空间的长度,θi为哈希地址i指向的存储空间占所有哈希地址指向的总存储空间的比例,其中, N为文件指纹的比特数。
9.根据权利要求7或8所述的装置,其特征在于,存储空间分配模块包括:特征库创建子单元,用于创建特征库,所述特征库包括第一空间、第二空间和第三空间;
长度保存子单元,用于将各哈希地址指向的存储空间的可用空间长度保存在所述第一空间;
首地址保存子单元,用于根据各哈希地址指向的存储空间的可用空间长度,将所述第三空间划分为各哈希地址指向的存储空间,确定各哈希地址指向的存储空间的首地址,并将各哈希地址指向的存储空间的首地址保存在所述第二空间。
10.根据权利要求9所述的装置,其特征在于,还包括:
长度更新模块,用于将所述第一空间中保存的所述存储空间的可用空间长度更新为所述存储空间内已添加信息的长度。
11.根据权利要求7或8所述的装置,其特征在于,所述文件指纹为音频指纹,所述文件指纹对应的文件信息包括音频信号的属性信息或所述属性信息的索引,以及所述音频信号中所述音频指纹对应的时间片段;
还包括:
时间片段划分单元,用于在所述哈希地址确定模块确定文件指纹对应的哈希地址之前,将所述音频信号分为至少一个时间片段;
音频指纹提取单元,用于从每个时间片段中提取至少一个音频指纹。
12.根据权利要求11所述的装置,其特征在于,所述音频指纹由矢量起点的频率值、矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差表征,所述矢量起点和矢量终点根据所述音频指纹对应的时间片段的频谱图确定;所述统计得到的文件指纹分布特性包括:矢量起点的频率值较小的音频指纹多于矢量起点的频率值较大的音频指纹,矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较小的音频指纹多于矢量终点和矢量起点之间的频率差、矢量终点和矢量起点之间的时间差均较大的音频指纹。