支持相似性检索的高纬缺失时间序列的压缩方法及装置与流程

文档序号:19418556发布日期:2019-12-14 01:11阅读:141来源:国知局
本发明涉及压缩编码
技术领域
:,特别涉及一种支持相似性检索的高纬缺失时间序列的压缩方法及装置。
背景技术
::工业物联网系统收集的数据都具有时间标签,所以收集的数据在某时间段内属于高维数据序列数组。在大数据处理平台处理的过程涉及到数据采集、储存和检索。目前大数据平台支持的时间序列都是通过传统的数据库技术来支持时间序列中“点”的操作,如发现一个时间序列中的最大值,取一个时间段的均值等。但是目前的人工智能算法依赖于在底层数据系统能够实现的整体时间序列相似性对比。与该技术相近的是两种时间序列压缩技术:isax和clippedcode。其中,isax编码a.整个数据序列normalized之后,均分成m个数据段(默认值为8),并使用均值来代表整个数据段;b.将标准正态分布划分成面积相同n个基数子空间(默认值为256),每个子空间使用整数数据或者字符来顺序标识各子空间(标识之后会转换成二进制),上述均值落入子空间之后,使用子空间的数字标识来标识该数据段;c.使用子空间数据序列来代表整个时间序列数据,通过计算子空间分割点来计算两条时间序列的欧几里得距离(euclideandistance)相似性下限。clippedcode编码:a.取整个时间序列的均值做子空间分割点(n=2);b.对每个值和分割点进行对比,大于分割点的为1,小于分割点的为2;c.该算法不支持相似性下限计算,支持汉明距离(hammingdistance)的计算,而不支持广泛使用的欧几里得距离的相似性对比。现有两种相关技术:isax技术和clippedcode技术完成类似功能。然而,现有技术存在如下缺陷:isax技术缺点:1.不支持缺失数据处理;2.假设数据点都是normalized过的;3.该编码技术需要专门的索引架构;4.虽然采用二进制码转换来表示每个基数空间并支持阶梯型精确度,但由于取均值来表示每段数据,存在精确度底的问题;5.需要专门的数据结构来支持索引。clippedcode缺点:1.不支持阶梯型精确度;2.不支持缺失数据处理;3.只支持简单的数据模型和汉明距离计算,无法对两条数据序列的细微差别进行识别。技术实现要素:本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种支持相似性检索的高纬缺失时间序列的压缩方法,该方法可以完成高维时间序列的快速压缩转换并支持缺失数据点的记录,并支持不同精确度的阶梯型高压缩比存储,且支持在图形领域广泛使用的二进制索引技术,简单易实现。本发明的另一个目的在于提出一种支持相似性检索的高纬缺失时间序列的压缩装置。为达到上述目的,本发明一方面实施例提出了一种支持相似性检索的高纬缺失时间序列的压缩方法,包括以下步骤:采集高维数据序列数组,其中,采用二进制阶梯标识进行编码;对所述高维数据序列数组的高维时间序列的进行压缩转换,并确定缺失数据点;通过clustered存储方式或者unclustered存储方式存储不同精确度的阶梯型高压缩比数据。本发明实施例的支持相似性检索的高纬缺失时间序列的压缩方法,通过底层核心编码压缩技术来支持整体时间序列的对比,同时也支持数据收集中广泛存在的数据缺失问题,用于工业物联网大数据存储平台的底层时间序列压缩编码,并支持高维时间序列二进制索引技术的压缩算法、整体相似性对比以支持更高阶的机器学习算法、时间序列含有缺失数据,从而可以完成高维时间序列的快速压缩转换并支持缺失数据点的记录,并支持不同精确度的阶梯型高压缩比存储,且支持在图形领域广泛使用的二进制索引技术,简单易实现。另外,根据本发明上述实施例的支持相似性检索的高纬缺失时间序列的压缩方法还可以具有以下附加的技术特征:进一步地,在本发明的一个实施例中,所述采用二进制阶梯标识进行编码,包括:根据历史数据获取分割点;将所述高维时间序列的每个数值和所述分割点进行对比并使用二进制标识进行标识,其中,所述时间序列满足预设条件,则每2个或3个数据点进行均分之后取均值,以支持整个时间序列的整体性相似性对比,并且对于缺失数据,对原有的数据中缺失的所述数据点进行标识,如果原有数据点存在,标识为1,否则标识为0;将欧几里得相似性转换为汉明相似性,以相似性对比,并通过欧几里得下限计算得到下限计算结果。进一步地,在本发明的一个实施例中,所述通过clustered存储方式或者unclustered存储方式存储不同精确度的阶梯型高压缩比数据,包括:若时间序列差别满足第二预设条件,则通过所述clustered存储方式存储;若所述高维数据序列数组满足第三预设条件,则通过unclustered存储方式存储,其中,标识为列表格式。进一步地,在本发明的一个实施例中,所述方法还包括:根据二进制编码进行二进制索引。进一步地,在本发明的一个实施例中,所述根据二进制编码进行二进制索引,包括:若所述高维数据序列数组满足第四预设条件,则使用binarystringtable进行索引,其中,每个分节点保留本地数据的tablesegment,或者保留master节点分配的segment的处理,以通过并行分担来加速索引的检索查询;在索引上查询到节点后,如果是所述clustered存储方式,则获取当前时间序列,如果是所述unclustered存储方式,则获取是时间序列的当前存储位置。为达到上述目的,本发明另一方面实施例提出了一种支持相似性检索的高纬缺失时间序列的压缩装置,包括:采集模块,用于采集高维数据序列数组,其中,采用二进制阶梯标识进行编码;压缩转换模块,用于对所述高维数据序列数组的高维时间序列的进行压缩转换,并确定缺失数据点;存储模块,用于通过clustered存储方式或者unclustered存储方式存储不同精确度的阶梯型高压缩比数据。本发明实施例的支持相似性检索的高纬缺失时间序列的压缩装置,通过底层核心编码压缩技术来支持整体时间序列的对比,同时也支持数据收集中广泛存在的数据缺失问题,用于工业物联网大数据存储平台的底层时间序列压缩编码,并支持高维时间序列二进制索引技术的压缩算法、整体相似性对比以支持更高阶的机器学习算法、时间序列含有缺失数据,从而可以完成高维时间序列的快速压缩转换并支持缺失数据点的记录,并支持不同精确度的阶梯型高压缩比存储,且支持在图形领域广泛使用的二进制索引技术,简单易实现。另外,根据本发明上述实施例的支持相似性检索的高纬缺失时间序列的压缩装置还可以具有以下附加的技术特征:进一步地,在本发明的一个实施例中,所述采集模块进一步用于根据历史数据获取分割点,将所述高维时间序列的每个数值和所述分割点进行对比并使用二进制标识进行标识,其中,所述时间序列满足预设条件,则每2个或3个数据点进行均分之后取均值,以支持整个时间序列的整体性相似性对比,并且对于缺失数据,对原有的数据中缺失的所述数据点进行标识,如果原有数据点存在,标识为1,否则标识为0,并将欧几里得相似性转换为汉明相似性,以相似性对比,并通过欧几里得下限计算得到下限计算结果。进一步地,在本发明的一个实施例中,所述存储模块进一步用于若时间序列差别满足第二预设条件,则通过所述clustered存储方式存储,若所述高维数据序列数组满足第三预设条件,则通过unclustered存储方式存储,其中,标识为列表格式。进一步地,在本发明的一个实施例中,还包括:检索模块,用于根据二进制编码进行二进制索引。进一步地,在本发明的一个实施例中,所述检索模块进一步用于若所述高维数据序列数组满足第四预设条件,则使用binarystringtable进行索引,其中,每个分节点保留本地数据的tablesegment,或者保留master节点分配的segment的处理,以通过并行分担来加速索引的检索查询,在索引上查询到节点后,如果是所述clustered存储方式,则获取当前时间序列,如果是所述unclustered存储方式,则获取是时间序列的当前存储位置。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明实施例的支持相似性检索的高纬缺失时间序列的压缩方法的流程图;图2为根据本发明实施例的支持相似性检索的高纬缺失时间序列的压缩装置的结构示意图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。下面参照附图描述根据本发明实施例提出的支持相似性检索的高纬缺失时间序列的压缩方法及装置,首先将参照附图描述根据本发明实施例提出的支持相似性检索的高纬缺失时间序列的压缩方法。图1是本发明一个实施例的支持相似性检索的高纬缺失时间序列的压缩方法的流程图。如图1所示,该支持相似性检索的高纬缺失时间序列的压缩方法包括以下步骤:在步骤s101中,采集高维数据序列数组,其中,采用二进制阶梯标识进行编码。其中,在本发明的一个实施例中,采用二进制阶梯标识进行编码,包括:根据历史数据获取分割点;将高维时间序列的每个数值和分割点进行对比并使用二进制标识进行标识,其中,时间序列满足预设条件,则每2个或3个数据点进行均分之后取均值,以支持整个时间序列的整体性相似性对比,并且对于缺失数据,对原有的数据中缺失的数据点进行标识,如果原有数据点存在,标识为1,否则标识为0;将欧几里得相似性转换为汉明相似性,以相似性对比,并通过欧几里得下限计算得到下限计算结果。具体而言,(1)基数分割点:和isax中数据都是normalized过的理想数据不同的是本发明实施例使用的分割点根据历史数据提前获取分割点。数据分布根据实际情况计算其分布参数,也可以简化为正态分布只获取位置参数μ和尺度参数б。每个子空间面积相同,基数为8,所以分割点为7个分割点k=[k1,k2,…,k7],另外两个分割点为正无穷和负无穷。虽然基数大小可以根据准确度进行调整,但基数要保证为较小数字来保证高压缩比。每个子空间的标识为(000,001,010,011,100,101,110,111)。(2)数据转换:假设p个维度的时间序列x=[x1,x2,...,xp],对每个数值和上述分割点进行对比之后使用上述的二进制标识来标识该数值。本发明实施例保持原有时间序列维度,不做降维处理。如果时间序列比较长,在实际应用中保持使用很小的切断方式,即每2个或3个数据点进行均分之后取均值计算,这样做的最终目标是可以支持整个时间序列的整体性相似性对比。该步骤的输出为每个值为3个bit,同时也可以对该输出进行调换操作transpose来转换成阶梯型精确度。这样的好处可以在不同的精度上对时间序列进行快速的计算,因为本发明实施例的编码技术保持了高维度,使用低阶的bit也可以完成很多相似性的对比任务,同时大量的减少了对比性计算。缺失数据:使用p个bit值对原有的数据中缺失的数据点进行标识,如果原有数据点存在,即标识为1,否则标识为0。该p二进制序列主要在相似性对比中进行缺失点过滤。该步骤的输出为每个值为1个bit,该输出和上一步输出同时完成。假设原始数据每个数据点采用float类型,在java中采用32bit表示,该算法压缩比为:12.5%。(3)相似性对比:该编码算法将常用欧几里得相似性转换为汉明相似性,好处是目前所有的cpu都在底层支持popcount操作,和通常整数型或者否则点代数操作相比,该操作快一到二个数量级。可以进行两种操作:a、不考虑阶梯型准确率,对每个值进行二进制计算,之后相加得出距离;b、根据阶梯型准确率只是计算对比整个数据的二进制位数的汉明距离,之后进行叠加;需要说明的是,在上述的操作之后,都使用xf进行过滤操作,a情况做一次过滤,b需要做三次;在具体的汉明距离计算中,由于有缺失数据的存在,两条时间序列的计算,将存在缺失位置的汉明距离都标识为1或者取均值来减少这种潜在差距。(4)欧几里得下限计算,下限计算是模糊性对比中常用的技术,因为该技术可以使用少量的计算而达到数据过滤的目的。在两条时间序列中x和y,每个点的下限计算为:a、假设子空间标识的下分割点减去的子空间的上分割点的绝对值;b、如果下限为0;c、假设子空间标识的上分割点减去的子空间的下分割点的绝对值;虽然该算法支持下限计算,但大部分只使用csd做bit-wise的操作来快速完成计算汉明距离。在步骤s102中,对高维数据序列数组的高维时间序列的进行压缩转换,并确定缺失数据点。可以理解的是,通常的数据产生端会产生比较大的数据值,如float或者double数据类型,由于低转换成本,因此,在数据产生端可以进行转换和压缩,也可以在大数据平台进行压缩和转换。其中,在本发明的一个实施例中,通过clustered存储方式或者unclustered存储方式存储不同精确度的阶梯型高压缩比数据,包括:若时间序列差别满足第二预设条件,则通过clustered存储方式存储;若高维数据序列数组满足第三预设条件,则通过unclustered存储方式存储,其中,标识为列表格式。具体而言,(1)如果在数据生成端(典型如传感器)压缩,分割点提前广播下方或者直接固话到传感器节点,传感器的内存中存储这些数据点,然后对生成的数据进行转换;转换后和原始数据传送给大数据平台。在下述三种情况下可以只传送压缩数据到数据平台:传感器使用无线数据并且分析平台不要太高准确性;传感器具有计算功能并且要求低时延处理;压缩算法实时传送而压缩数据集体传送。随着传感器的存储和计算能力的增强,以及供电的解决,更多的计算和存储任务可以在传感器段分担。(2)在大数据平台进行分布式并行压缩,比如使用apachehadoop或者apachespark的map操作进行并行转换,同时保留原始数据成为(csd,timeseries,…)数据格式来方便后续操作。在这种操作中,分割点保存在大数据平台的master节点,在计算的时候可以使用广播算法发送到每个节点。在数据采集中,如果数据集存在大量重复数据的情况,可以考虑将其转换成(csd,list(timeseries))这种情况,该操作是基于同一传感器的数据具有高度相似性,可以只记录典型数据和少量异常时间序列来代表真个传感器收集的数据,采用列表方式可以方便数据的提取和索引的建立,大量减少索引的节点数目。在步骤s103中,通过clustered存储方式或者unclustered存储方式存储不同精确度的阶梯型高压缩比数据。可以理解的是,除非平台要求减低存储空间,数据存储可以采用典型的两种存储方式:clustered存储方式或者unclustered存储方式,具体地:a.clustered:(csd,timeseries,…),这样可以支持primaryindex的建立,这适用于时间序列差别比较大的情况,也就是忽略了重复数据的可能性;b.unclustered:(csd,id)其中id指向时间序列存储位置,这样可以支持secondaryindex的建立;在大数据平台中,传感器收到的数据很多时候存在大量重复的情况,在这种情况下,我们可以将上述标识为列表格式:(csd,list(id)),或者(csd,sizeoflist,list(id))来标识列表大小,方便操作;在secondaryindex中可以很方便数据的快速检索。在存储的过程中对csd进行阶梯型精度排列(transpose(xb),xf),这样的好处是可以支持直接在xb上面做索引,同时计算的时间也可以快速调用xf进行filter操作。进一步地,在本发明的一个实施例中,本发明实施例的方法还包括:根据二进制编码进行二进制索引。其中,根据二进制编码进行二进制索引,包括:若高维数据序列数组满足第四预设条件,则使用binarystringtable进行索引,其中,每个分节点保留本地数据的tablesegment,或者保留master节点分配的segment的处理,以通过并行分担来加速索引的检索查询;在索引上查询到节点后,如果是clustered存储方式,则获取当前时间序列,如果是unclustered存储方式,则获取是时间序列的当前存储位置。具体而言,在图形处理领域,二进制索引技术是方法使用的技术来支持相似图形的检索,可以支持十亿条数据级别的快速检索操作。由于本发明实施例的编码技术采用了二进制阶梯标识,可以自动支持目前匹配支持目前所有的二进制索引技术。同时本发明实施例也可以支持在不同精度的基础上建立类似于kd-tree方式的索引。大部分索引技术保持了很小的数据结构,可以存储在大数据平台的master节点,并在硬盘备份;也可以master节点给大数据平台的每个计算节点广播是每个节点保留一份来支持对本地数据的并行的检索处理。例如目前广泛使用的spark技术架构的计算都倾向于在hdfs本地进行计算。由于本发明实施例使用的是二进制编码并且cpu支持二进制bit-wise的快速计算,在数据量少或者具有大量重复时间序列数据的情况下,可以直接使用binarystringtable来索引,每个分节点的处理可以分两种情况进行处理:1.是指保留本地数据的tablesegment,2.是保留master节点分配的segment的处理;通过并行分担来加速索引的检索查询。在索引上查询到节点后,如果是clustered模式,直接获取了时间序列可以进行下一步操作,如果是unclustered模式,只是获取是时间序列的存储位置,由primaryindex来获取最终的时间序列数据。该算法支持完整时间序列的相似性索引,如精确查询,knn查询或者范围查询。其实精确查询,可以为csd数据中的xb单独建立一个bloomfilter数据结构索引,该数据结构可以保证如果该数据结构返回为true,保证数据集中不存在该记录。虽然本发明实施例的算法的二进标识使用了比较小的基数,但有保持了很高的维度,可以在整个时间序列维度上把握相似性。在knn算法中,如果两条记录的汉明距离比较小,其欧几里得距离有很大的可能性也小,所以我们可以使用汉明距离来有效的缩小查询范围,之后再使用csd的欧几里得下限技术来计算下限,之后再进行原始数据的欧几里得距离计算。在计算欧几里得计算的过程中,可以在中间过程中为一个top-k的阈值,如果计算距离大于该值,可以提前结束计算来计算整个数据序列的提取。另外,本发明实施例还支持高阶机器学习算法,机器学习的算法最终依赖于相似性对比,本发明实施例的编码技术可以支持所有的基础性相似性对比,所以对高阶的机器学习算法可以快速支持。同时,改编码也支持将对原始数据的机器学学习算法直接迁移到编码上面进行计算,只需要将欧几里得距离改成汉明距离即可。综上,本发明实施例提出的支持相似性检索的高纬缺失时间序列的压缩方法,通过底层核心编码压缩技术来支持整体时间序列的对比,同时也支持数据收集中广泛存在的数据缺失问题,用于工业物联网大数据存储平台的底层时间序列压缩编码,并支持高维时间序列二进制索引技术的压缩算法、整体相似性对比以支持更高阶的机器学习算法、时间序列含有缺失数据,从而可以完成高维时间序列的快速压缩转换并支持缺失数据点的记录,并支持不同精确度的阶梯型高压缩比存储,且支持在图形领域广泛使用的二进制索引技术,简单易实现。其次参照附图描述根据本发明实施例提出的支持相似性检索的高纬缺失时间序列的压缩装置。图2是本发明一个实施例的支持相似性检索的高纬缺失时间序列的压缩装置的结构示意图。如图2所示,该支持相似性检索的高纬缺失时间序列的压缩装置10包括:采集模块100、压缩转换模块200和存储模块300。其中,采集模块100用于采集高维数据序列数组,其中,采用二进制阶梯标识进行编码。压缩转换模块200用于对高维数据序列数组的高维时间序列的进行压缩转换,并确定缺失数据点。存储模块300用于通过clustered存储方式或者unclustered存储方式存储不同精确度的阶梯型高压缩比数据。本发明实施例的装置10可以完成高维时间序列的快速压缩转换并支持缺失数据点的记录,并支持不同精确度的阶梯型高压缩比存储,且支持在图形领域广泛使用的二进制索引技术,简单易实现。进一步地,在本发明的一个实施例中,采集模块100进一步用于根据历史数据获取分割点,将高维时间序列的每个数值和分割点进行对比并使用二进制标识进行标识,其中,时间序列满足预设条件,则每2个或3个数据点进行均分之后取均值,以支持整个时间序列的整体性相似性对比,并且对于缺失数据,对原有的数据中缺失的数据点进行标识,如果原有数据点存在,标识为1,否则标识为0,并将欧几里得相似性转换为汉明相似性,以相似性对比,并通过欧几里得下限计算得到下限计算结果。进一步地,在本发明的一个实施例中,存储模块300进一步用于若时间序列差别满足第二预设条件,则通过clustered存储方式存储,若高维数据序列数组满足第三预设条件,则通过unclustered存储方式存储,其中,标识为列表格式。进一步地,在本发明的一个实施例中,本发明实施例的装置10还包括:检索模块。其中,检索模块用于根据二进制编码进行二进制索引。进一步地,在本发明的一个实施例中,检索模块进一步用于若高维数据序列数组满足第四预设条件,则使用binarystringtable进行索引,其中,每个分节点保留本地数据的tablesegment,或者保留master节点分配的segment的处理,以通过并行分担来加速索引的检索查询,在索引上查询到节点后,如果是clustered存储方式,则获取当前时间序列,如果是unclustered存储方式,则获取是时间序列的当前存储位置。需要说明的是,前述对支持相似性检索的高纬缺失时间序列的压缩方法实施例的解释说明也适用于该实施例的支持相似性检索的高纬缺失时间序列的压缩装置,此处不再赘述。根据本发明实施例提出的支持相似性检索的高纬缺失时间序列的压缩装置,通过底层核心编码压缩技术来支持整体时间序列的对比,同时也支持数据收集中广泛存在的数据缺失问题,用于工业物联网大数据存储平台的底层时间序列压缩编码,并支持高维时间序列二进制索引技术的压缩算法、整体相似性对比以支持更高阶的机器学习算法、时间序列含有缺失数据,从而可以完成高维时间序列的快速压缩转换并支持缺失数据点的记录,并支持不同精确度的阶梯型高压缩比存储,且支持在图形领域广泛使用的二进制索引技术,简单易实现。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1