CN110515680A - 一种实时判断大数据自身给定延迟重复性的方法 - Google Patents
一种实时判断大数据自身给定延迟重复性的方法 Download PDFInfo
- Publication number
- CN110515680A CN110515680A CN201810489469.4A CN201810489469A CN110515680A CN 110515680 A CN110515680 A CN 110515680A CN 201810489469 A CN201810489469 A CN 201810489469A CN 110515680 A CN110515680 A CN 110515680A
- Authority
- CN
- China
- Prior art keywords
- calculation window
- adjustment
- component
- delay
- decrement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims abstract description 373
- 238000005265 energy consumption Methods 0.000 claims abstract description 7
- 238000005243 fluidization Methods 0.000 claims abstract description 5
- 238000003860 storage Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims 1
- 241001269238 Data Species 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 69
- 238000007792 addition Methods 0.000 description 13
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 12
- 238000007405 data analysis Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 10
- 238000011022 operating instruction Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- CNQCVBJFEGMYDW-UHFFFAOYSA-N lawrencium atom Chemical compound [Lr] CNQCVBJFEGMYDW-UHFFFAOYSA-N 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000012092 media component Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
给定延迟的自相关可用于判断时间序列或流化大数据自身给定延迟的重复性。本发明公开了一种通过减量计算时间序列或流化大数据的计算窗口的指定延迟的自相关从而可以实时地判断时间序列或流化大数据自身给定延迟重复性的方法,系统和计算设备程序产品。本发明的实施方案包括基于调整前计算窗口的指定延迟的自相关的二个以上组件减量计算调整后计算窗口的指定延迟的自相关的二个以上组件,然后根据需要基于减量计算的二个以上组件生成调整后计算窗口的指定延迟的自相关。减量计算自相关避免访问调整后计算窗口中的所有数据元素和执行重复计算从而提高计算效率,节省计算资源和降低计算系统能耗,使得实时判断大数据自身给定延迟重复性高效低耗及一些实时判断大数据自身给定延迟重复性从不可能变为可能。
Description
技术领域
大数据或流数据分析。
背景技术
互联网,移动通讯,导航,网游,感应技术和大规模计算基础设施每天产生海量数据。大数据就是由于其巨大规模,快速变化及增长速度而超出了传统数据库系统的处理能力及传统分析方法的分析能力的数据。
自相关,也被称为延迟相关或序列相关,是一个特定的时间序列与延迟了l个时间点的该时间序列本身的相关程度的一个度量。它可以通过一个时间序列的相隔了l个时间点的观察值的协相关除以其标准方差来得到。某个延迟的自相关值为1或接近1可认为时间序列或流化大数据在该延迟后出现自身重复规律,因此基于给定延迟的自相关判断大数据自身给定延迟的重复性显而易见,而困难和挑战在于如何实时地在大数据上计算自相关。
为了能够实时发现和利用最新数据的自身重复性及反映最新的数据状况,自相关可能会在大数据集有变化后需要重新计算,例如在数据从大数据集去除后或者调整计算窗口规模后,并因此很多数据元素可能会被重复访问和使用。例如,为一个规模为n并随着新访问的大数据集的数据元素而缩小的计算窗口计算自相关。每访问一个数据元素,该数据元素会从计算窗口去除,计算窗口中的n-1个数据元素就会被访问来重新计算自相关。使用计算窗口中的所有数据元素来重新计算自相关涉及重复数据访问和计算,因此耗时并浪费资源。
取决于需要,计算窗口的规模可能非常大,例如计算窗口中的数据元素可能分布在云平台的成千上万台计算设备上。在一些数据变化后的大数据上用传统方法重新计算自相关无法做到实时处理并且占用和浪费大量计算资源。因此用传统方法实时地判断大数据自身给定延迟的重复性不仅浪费大量计算资源也可能无法满足需求地实现。
发明内容
本发明拓展到方法,系统和计算设备程序产品以减量方式计算给定延迟的自相关从而可以在调整计算窗口规模后实时地判断大数据自身给定延迟的重复性。为一个调整后计算窗口减量计算指定延迟l(l>0)的自相关包括基于调整前计算窗口的指定延迟的自相关的两个以上(p(p>1))组件减量计算调整后计算窗口的指定延迟的自相关的两个以上组件然后根据需要基于减量计算的两个以上组件生成调整后计算窗口的指定延迟的自相关。减量计算自相关只需要访问和使用被去除的数据元素,减量计算的组件以及调整后计算窗口两边的各l个数据元素而避免访问调整后计算窗口中的所有数据元素和执行重复计算从而降低数据访问延迟,提高计算效率,节省计算资源和降低计算系统能耗。
对于一个给定的自相关减量算法,假设在同一轮减量计算中所有减量计算的组件(包括计算窗口的和或平均值)总数为p(p>1)。直接减量计算的组件个数为v(1≤v≤p),则间接减量计算的组件个数为w=p-v(w≥0)。其中计算窗口的和或平均值是必须减量计算的特殊组件。和或平均值可以被直接或间接减量计算。
计算系统初始化延迟l(l>0),计算窗口规模n(n>l)和保存在一个或多个存储媒体上的大数据集的规模为n的调整前计算窗口的延迟为l的自相关的p(p>1)个组件。
计算系统访问一个要从调整前计算窗口去除的数据元素或该数据元素的相关信息(例如,索引或地址)。要去除的数据元素必须是调整前计算窗口中存在的数据元素不然计算结果会出错。
计算系统通过从非空的调整前计算窗口去除要被去除的数据元素以及把计算窗口规模计数器减1来调整调整前计算窗口。
计算系统直接减量计算调整后计算窗口的延迟为l的自相关的除和及平均值之外的一个或多个组件。直接减量计算这一个或多个组件包括:访问调整后计算窗口两边的各l个数据元素;访问调整前计算窗口的延迟为l的v(1≤v≤p)个组件;从v个组件中的每个组件中数学地去除被去除的数据元素的任何贡献。
计算系统根据需要间接减量计算调整后计算窗口的延迟为l的自相关的w=p-v个组件。间接减量计算延迟为l的w个组件包括一个一个地间接减量计算w个组件中的每一个组件。间接减量计算延迟为l的一个组件包括:访问并使用除该组件之外的指定延迟的一个或多个组件来计算该组件。这一个或多个组件可能是经过初始化的,直接减量计算的或间接减量计算的。
计算系统基于一个或多个减量计算的调整后计算窗口的延迟为l的自相关的组件生成一个调整后计算窗口的延迟为l的自相关。
计算系统可以持续地访问一个要被去除的数据元素或其相关信息,调整调整前计算窗口,直接减量计算指定延迟的v(1≤v≤p)个组件,根据需要间接减量计算w=p-v个延迟为l的组件和计算延迟为l的自相关。计算系统可以根据需要多次重复这个过程。
本简述是以简化的方式介绍一些选择的概念,它们将在下面被进一步详细描述。本简述即不是为了鉴定权利要求的主题的关键特点或必要特点,也不是为了用于帮助确认权利要求的主题所包括的范围。
本发明的其它特征和优点将在下面的描述中体现出来,会部分地从描述中明显体现,或从本发明的实践中学到。本发明的特征和优点可从附加的权利要求书中特别指出的方法设备及其组合中实现和得到。本发明的这些和其它特征将在下面的描述和附加的权利要求书或本发明的实践中变得更加全面清晰。
附图说明
为描述能够获得本发明的上述的和其它的优点和特点的方式,上面简述的本发明的一个更具体的描述将通过参照下列附加的图表中所显示的特定的实施方案来展现出来。这些图表只是描述了本发明的典型实施方案,因此它们不应被理解或解释为对本发明的范围的限制:
图1图示了一个支持减量计算自相关的例子计算系统的高层概括。
图1-1显示了支持减量计算大数据的自相关并且所有组件以直接减量方式计算的一个例子计算系统架构100A。
图1-2显示了支持减量计算大数据的自相关并且部分组件以直接减量方式计算而部分组件以间接减量方式计算的一个例子计算系统架构100B。
图2显示了减量计算大数据的自相关的一个例子方法流程图。
图3-1显示了从计算窗口300A的左边去除的数据。
图3-2显示了从计算窗口300A的左边去除数据时减量计算自相关访问的数据。
图3-3显示了从计算窗口300B的右边去除的数据。
图3-4显示了从计算窗口300B的右边去除数据时减量计算自相关访问的数据。
图4-1显示了自相关的定义及计算自相关的传统方程。
图4-2显示了第一个自相关减量计算算法(减量算法1)可用到的方程。
图4-3显示了第二个自相关减量计算算法(减量算法2)可用到的方程。
图4-4显示了第三个自相关减量计算算法(减量算法3)可用到的方程。
图5-1显示了用于一个计算实例的第一个计算窗口。
图5-2显示了用于一个计算实例的第二个计算窗口。
图5-3显示了用于一个计算实例的第三个计算窗口。
图6-1显示了计算窗口长度为4延迟为1时传统和减量自相关算法的计算量对比。
图6-2显示了计算窗口长度为1000000延迟为1时传统和减量自相关算法的计算量对比。
具体实施方法
计算自相关是判断时间序列或流化大数据自身给定延迟重复性的有效方法。本发明拓展到通过减量计算长度为n(n>1)的计算窗口的指定延迟l(1≤l<n)的自相关的两个以上组件来实时地减量地计算大数据上给定延迟的自相关从而可实时地判断时间序列或流化大数据自身给定延迟重复性的方法,系统和计算设备程序产品。一个计算系统包含一个或多个基于处理器的计算设备和一个或多个存储媒体。每个计算设备包含一个或多个处理器。计算系统保存一个数据集在存储媒体上。计算系统保持一个计算窗口规模计数器n(n>l)指明一个计算窗口中数据元素的数量。延迟l指明用于自相关计算时使用的延迟。本发明的实施方案包括基于调整前计算窗口的指定延迟的自相关的两个以上(p(p>1))组件减量计算调整后计算窗口的指定延迟的自相关的两个以上组件,然后根据需要基于减量计算的两个以上组件生成调整后计算窗口的指定延迟的自相关。减量计算自相关避免访问调整后计算窗口中的所有数据元素和执行重复计算从而提高计算效率,节省计算资源和降低计算系统能耗,使得一些实时判断大数据给定延迟自身重复性从不可能变为可能。
自相关,也被称为延迟相关或序列相关,是一个特定的时间序列与延迟了l个时间点的该时间序列本身的相关程度的一个度量。它可以通过一个时间序列的相隔了l个时间点的观察值的协相关除以其标准方差来得到。对于一个不随时间变化的时间序列,其自相关值会指数地减少到0。自相关的值的范围是-1和+1之间。值+1表明时间序列的过去和未来的值有一个完全的正线性关系,而值-1表明时间序列的过去和未来的值有一个完全的负线性关系。在计算出给定延迟的自相关的基础上判断大数据自身给定延迟的重复性显而易见。
在本文中,一个计算窗口包含了自相关计算所涉及的数据。计算窗口中的数据元素有顺序关系,即,改变计算窗口中的数据元素的顺序可以影响自相关计算结果。
在本文中,自相关的一个组件是出现在自相关定义公式中或其定义公式的任何转换中的一个量或表达式。自相关是它自己最大的组件。以下是一些自相关的组件的例子。
(l是延迟)
自相关可基于一个或多个组件或它们的组合被计算,所以多个算法支持减量自相关计算。
一个组件可以被直接减量计算或间接减量计算。它们的区别是当一个组件被直接减量计算时该组件是通过该组件在前一轮计算的值来计算的,而当该组件被间接减量计算时该组件是用该组件之外的其它组件计算的。
对于一个给定的组件,它也许在一个算法中被直接减量计算但在另一个算法中被间接减量计算。
计算窗口的和或平均值是必须减量计算的特殊组件。对于任意一个算法,至少会有两个组件被减量计算,其中一个组件是和或平均值,这两个以上组件可以被直接或间接减量计算,但高效的方式是至少有一个组件被直接减量计算。对于一个给定的算法,假设使用的不同组件的总数是p(p>1),如果直接减量计算的组件个数是v(1≤v≤p),那么间接减量计算的组件的个数是w=p-v(0≤w<p)。可能所有的组件都被直接减量计算(这种情况下v=p>1并且w=0)。但是,无论自相关的结果是否在一个特定的轮次被需要和访问,直接减量计算的组件都必须被计算。
对于一个给定算法,如果一个组件被直接减量计算,则该组件必须被计算(即每当一个已有的数据元素被从调整前计算窗口中去除时)。但是,如果一个组件被间接减量计算,则该组件可以通过使用该组件之外的其它一个或多个组件来根据需要,即只有当自相关需要被计算和访问时,被计算。这样,当自相关在某一个计算轮次不被访问时,可以只有少量的组件需要被减量地计算。一个间接减量计算的组件也许会被用于一个组件的直接减量计算,在这种情况下,该间接减量计算的组件的计算不可省略。
本发明的实现方案包括基于为调整前计算窗口计算的两个以上(p(p>1))组件减量地计算调整后的计算窗口的自相关的两个以上(p(p>1))组件。
计算系统从一个非空的,计算窗口规模计数器和两个或多个组件已被初始化过的调整前计算窗口开始减量计算两个或多个自相关的组件。如果没有初始化过,计算窗口规模计数器和两个或多个组件可以根据调整前计算窗口中的数据元素初始化。初始化计算窗口规模计数器包括以调整前计算窗口中的数据元素个数设定一个值或访问或接收一个特定的计算窗口规模。
计算系统初始化一个给定规模n(n>1)的调整前计算窗口的给定延迟l(l≥1)的自相关的两个以上(p(p>1))组件。该两个以上组件的初始化包括根据其定义基于该调整前计算窗口中的数据元素来计算或从一个或多个计算设备可读媒体上访问或接收已经计算过的组件。
计算系统访问一个要从非空的调整前计算窗口去除的数据元素或该数据元素的相关信息(例如,索引或地址)。
计算系统通过从非空的调整前计算窗口去除要被去除的数据元素以及把计算窗口规模计数器减1来调整调整前计算窗口。
计算系统为调整后计算窗口直接减量计算延迟为l的自相关的一个或多个v(1≤v≤p)组件。直接减量计算延迟为l的自相关的v个组件包括一个一个分别间接地减量计算延迟为l的v个组件中的每一个。在延迟l直接减量计算v个组件包括:访问该调整后计算窗口两边的各l个数据元素以及为调整前计算窗口计算的延迟为l的v个组件;从延迟为l的v个组件中的每个组件中数学地去除被去除的数据元素的任何贡献。
计算系统根据需要为调整后计算窗口间接减量计算延迟为l的自相关的w=p-v个组件。间接减量计算延迟为l的自相关的w个组件包括一个一个分别间接地减量计算延迟为l的w个组件中的每一个。间接减量计算延迟为l的一个组件包括:访问该组件之外的一个或多个组件并基于访问的组件计算该组件。这些一个或多个组件可以是被初始化过的,直接减量计算过的或间接减量计算过的。
计算系统根据需要,基于为调整后计算窗口减量计算的延迟为l的自相关的一个或多个组件,为调整后计算窗口计算延迟为l的自相关。
计算系统可以持续访问要被去除的数据元素,调整该调整前计算窗口,直接减量计算一个或多个v(1≤v≤p)指定延迟的组件,保存直接减量计算的组件,根据需要间接减量计算w=p-v个指定延迟的组件,根据需要基于一个或多个减量计算的组件计算给定延迟的自相关,并根据需要重复这个过程。
本发明的实施方案可以包括或利用包含计算设备硬件,例如一个或多个处理器和以下更详细描述的存储设备,专用的或通用的计算设备。本发明实施方案的范围也包括物理的及其它用于携带或存储计算设备可运行指令和/或数据结构的计算设备可读媒体。这些计算设备可读媒体可以是通用或专用计算设备可访问的任何媒体。存储计算设备可运行指令的计算设备可读媒体是存储媒体(设备)。携带计算设备可运行指令的计算设备可读媒体是传输媒体。因此,以举例而非限制的方式,本发明的实施方案可以包括至少两种不同类型的计算设备可读媒体:存储媒体(设备)和传输媒体。
存储媒体(设备)包括随机存取存储器(RAM),只读存储器(ROM),电可擦除可编程只读存储器(EEPROM),只读光盘存储器(CD-ROM),固态硬盘(SSD),闪存(Flash Memory),相变存储器(PCM),其它类型存储器,其它光学磁盘存储,磁盘存储器或其它磁性存储设备,或任何其它能用于存储所需要的以计算设备可运行指令或数据结构形式构成的程序代码并且其可以被通用或专用计算设备访问的媒体。
一个“网络”被定义为使计算设备和/或模块和/或其它电子设备能够传输电子数据的一个或多个数据链接。当信息被网络或另外的通讯连接(有线,无线,或有线和无线的组合)传输或提供给计算设备时,计算设备把连接视为传输媒体。传输媒体可包括用于携带所需要的以计算设备可运行指令或数据结构形式构成的程序代码,并且其可以被通用或专用计算设备访问的一个网络和/或数据链接。以上的组合也应包括在计算设备可读媒体的范围之内。
此外,在应用不同计算设备组件时,计算设备可运行指令或数据结构形式的程序代码可以从传输媒体自动传输到存储媒体(设备)(或反过来)。例如,从网络或数据链接上接收的计算设备可运行指令或数据结构可以被暂存进网络接口模块(例如,NIC)中的随机存取存储器中,然后最终传输到计算设备的随机存取存储器和/或到计算设备的一个较小易变的存储媒体(设备)。所以,应当理解存储媒体(设备)可以被包括在也(或甚至主要)应用传输媒体的计算设备组件里。
计算设备可运行指令包括,例如,指令和数据,当被处理器运行时,使得通用计算设备或专用计算设备去执行一个特定功能或一组功能。计算设备可运行指令可以是,例如,二进制,中间格式指令例如汇编代码,或甚至源代码。虽然描述的客体是用结构特征和/或方法动作的具体语言描述的,应当理解在附加的权利要求书中定义的客体不一定局限于以上描述的特征或动作。而是,描述的特征或动作仅是以实现权利要求的例子形式而公开的。
本发明的实施方案可以在由多种类型的计算设备配置的网络计算环境中实现,这些计算设备包括个人电脑,台式机,笔记本电脑,信息处理器,手持设备,多处理系统,基于微处理器或可编程的电子消费品,网络电脑,小型计算机,主计算机,超级计算机,移动电话,掌上电脑,平板电脑,呼机,路由器,交换机及类似产品。本发明的实施方案也可以应用于通过网络互联(即可通过有线数据链接,无线数据链接,也可以是有线数据链接与无线数据链接的结合)的执行任务的本地或远程计算设备构成的分布式系统环境。在分布式系统环境中,程序模块可以被存储在本地或远程存储设备上。
本发明的实施方案也可以在云计算环境里实现。在本描述及后续的权利要求书中,“云计算”被定义为一个使得能够按需通过网络访问到可配置计算资源的共享池的模型。例如,云计算可以被市场利用去提供普及和方便的按需访问可配置计算资源的共享池。可配置计算资源的共享池可以通过虚拟化很快预备并且以低管理开销或低服务提供商互动来提供,然后做相应的调整。
云计算模型可以包括各种特征例如,按需自服务,宽带网络访问,资源收集,快速收放,计量服务等等。云计算模型也可以各种服务模式来体现,例如,软件做为服务(“SaaS”),平台做为服务(“PaaS”),以及设施做为服务(“IaaS”)。云计算模型也可以通过不同的部署模型例如私有云,社区云,公共云,混合云等等来部署。
下面的章节中会给出几个例子。
图1图示了为大数据减量计算自相关的一个例子计算系统100的高层概述。参考图1,计算系统100包括由不同网络,例如局域网1021,无线网1022和互联网1023等等,连接的多个设备。多个设备包括,例如,数据分析引擎1007,存储系统1011,实时数据流1006,以及可以安排数据分析任务和/或查询数据分析结果的多台分布的计算设备,例如个人电脑1016,手持设备1017和台式机1018等等。
数据分析引擎1007可以包括一个或多个处理器,例如CPU 1009和CPU1010,一个或多个系统内存,例如系统内存1008,及组件计算模块131和自相关计算模块192。模块131的细节会在其它图表中更详细地图示(例如,图1-1和图1-2)。存储系统1011可以包括一个或多个存储媒体,例如存储媒体1012和存储媒体1014,其可以用于存放大数据集。例如,1012和或1014可以包括数据集123。存储系统1011里的数据集可以被数据分析引擎1007访问。
通常,数据流1006可以包括来自不同数据源的流数据,例如,股价,音频数据,视频数据,地理空间数据,互联网数据,移动通讯数据,网游数据,银行交易数据,传感器数据,和/或闭合字幕数据等。这里举例描绘了几个,实时数据1000可以包括从感应器1001,股票1002,通讯1003和银行1004等等实时收集的数据。数据分析引擎1007可以接收来自数据流1006的数据元素。来自不同数据源的数据可以被存储在存储系统1011并且为大数据分析所访问,例如数据集123可以来自不同的数据源并且为大数据分析所访问。
请理解图1是以非常简化的形式介绍一些概念,例如,分布设备1016和1017可能经过防火墙才联到数据分析引擎1007,数据分析引擎1007从数据流1006和/或存储系统1011访问或接收的数据可能经过数据过滤器筛选,等等。
图1-1图示了为大数据减量计算自相关,其所有(v=p>1)组件被直接减量计算,的例子计算系统架构100A。关于计算系统架构100A,这里将先只介绍该架构中的主要部件的功能和相互关系,而关于这些部件如何协作共同完成减量自相关计算的过程将在后面结合图2中描述的流程图一起介绍。图1-1图示了图1显示的1006和1007。参考图1-1,计算系统架构100A包括组件计算模块131和自相关计算模块192。组件计算模块131可以是通过高速数据总线与一个或多个存储媒体紧密耦合的或通过一个网络,如局域网,广域网,甚至互联网与由存储系统管理的一个或多个存储媒体松散耦合的。相应地,组件计算模块131和任何其它连接的计算设备和它们的组件,可以在网络上发送和接收消息相关数据(例如,互联网协议(“IP”)数据报和其它使用IP数据报的高层协议,例如,用户数据报协议(“UDP”),实时流协议(“RTSP”),实时传输协议(“RTP”),微软媒体服务器(“MMS”),传输控制协议(“TCP”),超文本传送协议(“HTTP”),简单邮件传送协议(“SMTP”),等等)。组件计算模块131的输出会被作为自相关计算模块192的输入,自相关计算模块192可以生成自相关193。
通常,存储媒体121可以是一个单个局部存储媒体也可以是一个被一个存储管理系统管理的由多个物理上分布的存储设备组成的复杂存储系统。
存储媒体121包含数据集124。通常,数据集124可以包含来源于不同种类的数据,例如,股价,音频数据,视频数据,地理空间数据,互联网数据,移动通讯数据,网游数据,银行交易数据,传感器数据,闭合字幕数据,和实时文字等。
如图所示,数据集124包含包含着多个存储媒体121中的多个数据元素。例如,数据元素101,102,103,104和105分别存在存储媒体121的位置121A,121B,121C,121D和121E。存储媒体121的其它位置保存其它数据元素。
计算窗口122包含多个数据元素包括数据元素101,102,103,104,105和数据集124的其它数据元素。
计算窗口规模计数器118可以被硬件或软件实现。当用硬件实现时,计数器118可以是个更新计算窗口规模的小设备。当用软件实现时,计数器118可以是存在内存,硬盘或其他计算设备可读存储媒体的变量,其内容或值是计算窗口规模。每访问一个数据元素,计算系统会通过从计算窗口去除该数据元素来调整计算窗口并把计算窗口规模计数器118的值减1来做调整。计算窗口规模计数器118可以被组件计算模块131访问或接收,也可以被重设模块129设定一个具体的值。在本文的描述中,计算窗口规模计数器和计算窗口规模是等同的,可互换。
参考计算系统架构100A,在访问数据元素101之前,调整前计算窗口122包含多个数据元素,所以计算窗口规模可用调整前计算窗口122中的数据元素个数初始化。当数据元素101被访问并从位置121A去除,数据元素101会从调整前计算窗口122中去除,调整前计算窗口122会变成调整后计算窗口122A,计算窗口规模计数器118会减1。计算窗口计数器118会被保存在存储设备119中。计算窗口规模计数器118和数据元素101都可被组件计算模块131访问。
之后,数据元素102可以被访问,开始新一轮减量计算,上一轮的调整后计算窗口122A成为新一轮减量计算的调整前计算窗口。数据元素102会从位置121B去除。122A会变成调整后计算窗口122B。计算窗口规模计数器118会减1。计算窗口规模计数器118和数据元素102都可被组件计算模块131访问。
参考计算系统架构100A,通常组件计算模块131包含为直接减量计算调整后计算窗口的自相关的v(v=p>1)个组件的v个组件计算模块。v是一个在给定延迟减量计算自相关的给定算法中直接减量计算的组件的个数,它随着使用的减量算法不同而不同。如图1-1中所示,组件计算模块131包含一个组件Cd1计算模块161和一个组件Cdv计算模块162,它们之间还有v-2个其它组件计算模块,它们可以是组件Cd2计算模块,组件Cd3计算模块,……,以及组件Cdv-1计算模块。每个组件计算模块计算一个给定延迟的特定的组件。每个组件计算模块包含一个为第一个调整前计算窗口初始化一个组件的初始化模块和一个为调整后计算窗口直接减量计算该组件的算法。例如,组件Cd1计算模块161包含初始化模块132来初始化给定延迟的组件Cd1和减量算法133来减量计算给定延迟的组件Cd1,组件Cdv计算模块162包含初始化模块138来初始化给定延迟的组件Cdv和减量算法139来减量计算给定延迟的组件Cdv。
初始化模块132可以在初始化组件Cd1时使用或在自相关计算被重置时使用。同样,初始化模块138可以在初始化组件Cdv时使用或在自相关计算被重置时使用。组件Cd1141是组件Cd1的初始值。初始化模块132可以被用来初始化组件Cd1或重设自相关计算。初始化模块132可以基于调整前计算窗口的数据元素根据组件Cd1的定义初始化组件Cd1 141或初始化组件Cd1为重设模块123传送的特定值(例如,贡献151,152和153)。初始化模块138可以被用来初始化组件Cdv或重设自相关计算。初始化模块138可以基于调整前计算窗口的数据元素根据组件Cdv的定义初始化组件Cdv145或初始化组件Cdv为重设模块123传送的特定值(例如,贡献181,182和183)。
减量算法包括为一个调整后计算窗口中的数据元素直接减量计算给定延迟为l的自相关的v个组件。减量算法133访问或接收上一轮计算的延迟为l的组件Cd1,调整后计算窗口两边各l个数据元素以及从调整前计算窗口中去除的数据元素作为输入。减量算法133利用上一轮计算的延迟为l的组件Cd1,调整后计算窗口两边各l个数据元素以及从调整前计算窗口中去除的数据元素直接减量计算一个延迟为l的新组件Cd1。贡献去除模块133A可从上一轮计算中为调整前计算窗口计算的延迟为l的组件Cd1中数学地去除被去除数据元素对该组件的任何贡献,从而得到调整后计算窗口的延迟为l的新组件Cd1。减量算法139以与减量算法133类似的方式工作。减量算法139访问或接收上一轮计算的延迟为l的组件Cdv,调整后计算窗口两边各l个数据元素以及从调整前计算窗口中去除的数据元素作为输入。减量算法139利用上一轮计算的延迟为l的组件Cdv,调整后计算窗口两边各l个数据元素以及从调整前计算窗口中去除的数据元素直接减量计算一个延迟为l的新组件Cdv。贡献去除模块139A可从上一轮计算中为调整前计算窗口计算的延迟为l的组件Cdv中数学地去除被去除数据元素对该组件的任何贡献,从而得到调整后计算窗口的延迟为l的新组件Cdv。
参考图1-1,计算系统架构100A还包括自相关计算模块192。自相关计算模块192可根据需要基于一个或多个减量计算的延迟为l的组件计算延迟为l的自相关。
计算系统可以继续访问数据元素,调整计算窗口和计算窗口规模,在给定延迟l直接减量计算v(1≤v≤p)个组件,根据需要在给定延迟l计算自相关,并根据需要重复这个过程。
图1-2图示了为一个大数据减量计算自相关并且部分(v(1≤v<p))组件直接减量计算,部分(w=p-v)组件间接减量计算的一个例子计算设备结构100B。在一些实现中,计算系统架构100B和100A之间的区别是架构100B包括组件计算模块135。除此之外,和100A有同样标记号的部分都按同样的方式工作。为了不重复之前在100A描述里面解释过的东西,只有不同的部分会在这里讨论。100B里面的数字v和100A里面的数字v可能不同,因为有些100A里被直接减量计算的组件会在100B里被间接减量计算。在100A中,v=p>1,但在100B中,1≤v<p。参考图1-2,计算系统架构100B包括组件计算模块135。组件计算模块131的输出可以作为组件计算模块135的输入,计算模块131和135的输出可以作为自相关计算模块192的输入,自相关计算模块192可以生成自相关193。组件计算模块135通常包括w=p-v个组件计算模块来间接减量计算w个组件。例如,组件计算模块135包括组件计算模块163用于间接减量计算组件Ci1,组件计算模块164用于间接减量计算组件Ciw,以及它们之间的其它w-2个组件计算模块。间接减量计算w个组件包括一个一个地间接减量计算w个组件的每一个。间接减量计算一个组件包括访问和使用除该组件本身之外的一个或多个组件。那一个或多个组件可以是被初始化,直接减量计算或间接减量计算过的。
参考计算系统架构100B,一旦w=p-v个组件在给定延迟被间接减量计算后,自相关计算模块192可以在给定的延迟用一个或多个减量计算的组件计算自相关193。
图2图示了为大数据集减量计算自相关的一个例子方法200的流程图。方法200会分别结合计算系统架构100A和100B的组件和数据一起描述。
方法200包括初始化一个大数据集的指定规模为n(n>1)的调整前计算窗口的指定延迟为l(0<l<n)的自相关的p(p>1)个组件(201)。例如,初始化模块132可以在给定延迟用贡献151(数据元素101的贡献),152(数据元素102的贡献)和153(其它数据元素的贡献)初始化组件Cd1 141。相似地,初始化模块138可以在给定延迟用贡献181(数据元素101的贡献),182(数据元素102的贡献)和183(其它数据元素的贡献)初始化组件Cdv145。
方法200包括当v<p即不是所有组件都被直接减量计算时,根据需要一个一个地间接减量计算w=p-v个组件中的每一个组件基于要计算组件之外的一个或多个组件。这w个组件只有当自相关被访问时才会被计算(208)。例如,参考图1-2其部分组件被直接减量计算而部分组件被间接减量计算,计算模块163可基于组件Ci1之外的一个或多个组件来间接减量计算组件Ci1,计算模块164可基于组件Ciw之外的一个或多个组件来间接减量计算组件Ciw。这一个或多个组件可以是初始化,直接减量计算,或间接减量计算过的。
方法200包括根据需要计算一个给定延迟的自相关。当自相关被访问时,该自相关会被计算基于一个或多个减量计算的组件(209),否则只有那v个组件被减量计算。
方法200包括访问一个要从调整前计算窗口去除的数据元素(202)。例如,数据元素101可以被访问。
方法200包括调整调整前计算窗口,包括:从调整前计算窗口中去除要去除的数据元素并调整计算窗口规模计数器(203)。例如,数据元素101被从调整前计算窗口122去除,然后调整前计算窗口122转变成调整后计算窗口122A。计算窗口规模计数器118的值会减1。
方法200包括为调整后计算窗口直接减量计算延迟为l的自相关的v个组件(204),包括:访问调整后计算窗口两边的各l个数据元素(205);访问调整前计算窗口的延迟为l的自相关的v个组件(206);从v个组件中的每一个组件数学地去除去除的数据元素的任何贡献(207)。细节描述如下。
为调整后计算窗口直接减量计算指定延迟l的自相关的v个组件包括访问调整后计算窗口两边的各l个数据元素(205)。例如,如果指定延迟l=1,减量算法133计算Cd1时可访问在位置121B的数据元素(数据元素102)和调整后计算窗口122A最右边的数据元素。类似地,如果指定延迟l=1,减量算法139计算Cdv时可访问在位置121B的数据元素(数据元素102)和调整后计算窗口122A最右边的数据元素。
为调整后计算窗口直接减量计算延迟为l的自相关的v个组件包括访问调整前计算窗口的延迟为l的自相关的v(1≤v≤p)个组件(206)。例如,如果指定延迟l=1,减量算法133可访问延迟为1的组件Cd1 141,如果指定延迟l=2,减量算法133可访问延迟为2的组件Cd1 141……。类似地,如果指定延迟l=1,减量算法139可访问延迟为1的组件Cdv 145,如果指定延迟l=2,减量算法139可访问延迟为2的组件Cdv 145……。
为调整后计算窗口直接减量计算指定延迟l的自相关的v个组件包括从v个组件中的每一个组件数学地去除去除的数据元素的任何贡献(207)。例如,如果指定延迟l=2,直接减量计算延迟为2的组件Cd1 143可包括贡献去除模块133A从延迟为2的组件Cd1 141中数学地去除贡献151。类似地,直接减量计算延迟为2的组件Cdv 147可包括贡献去除模块139A从延迟为2的组件Cdv 145中数学地去除贡献181。贡献151和181来自于数据元素101。
如图1-1和1-2所示,组件Cd1 143包括贡献152(来自数据元素102的贡献)和其它贡献153(来自数据元素103-106的贡献)。类似地,组件Cdv 147包括贡献182(来自数据元素102的贡献)和其它贡献183(来自数据元素103-106的贡献)。
当自相关被访问并且v<p(即,不是所有组件都被直接减量计算)时,方法200包括根据需要间接减量计算w=p-v个延迟为l的组件(208)。这w个组件只有当自相关被访问时才会计算。例如,参考图1-2其部分组件直接减量计算,部分组件间接减量计算,计算模块163可以基于组件Ci1之外的一个或多个组件来间接减量计算组件Ci1,计算模块164可以基于组件Ciw之外的一个或多个组件来间接减量计算组件Ciw。这一个或多个组件可以是初始化,直接减量计算,或间接减量计算过的。
方法200包括在需要的基础上计算自相关。当自相关被访问时,自相关会被计算基于一个或多个减量计算的组件;否则只有v个组件会被直接减量计算。当自相关被访问时,方法200包括可根据需要间接减量计算延迟为l的w个组件(208)。例如,在架构100A中,自相关模块192可计算给定延迟的自相关193。在架构100B中,计算模块163可基于组件Ci1之外的一个或多个组件间接减量计算Ci1,及计算模块164可基于组件Ciw之外的一个或多个组件间接减量计算Ciw,……,自相关计算模块192可计算给定延迟的自相关193(209)。一旦给定延迟的的自相关被计算,方法200包括访问下一个要去除的数据元素。
随着更多数据元素的访问202-207可以被重复,208-209可以根据需要被重复。例如,在组件Cd1 143到组件Cdv 147范围内的组件被计算之后,数据元素102可以被访问(202)。方法200包括从调整前计算窗口去除访问的数据元素并调整计算窗口规模计数器(203)。例如,可以从122A去除数据元素102并把计算窗口规模计数器的值减1。
方法200包括基于调整前计算窗口的v个组件为调整后计算窗口直接减量计算延迟为l的自相关的v个组件(204),这包括访问调整后计算窗口两边的各l个数据元素(205),访问调整前计算窗口的v个组件(206),及从v个组件中的每一个组件数学地去除被去除的数据元素的任何贡献(207)。例如,参考100A和100B,在指定延迟如l=1,减量算法133可用于为调整后计算窗口122B直接减量计算延迟为1的组件Cd1 144基于为计算窗口122A计算的延迟为1的组件Cd1 143(204)。减量算法133可访问数据元素103和106(205)。减量算法133可访问延迟为1的组件Cd1 143(206)。直接减量计算延迟为1的组件Cd1 144包括贡献去除模块133A从延迟为1的组件Cd1 143中数学地去除贡献152也即数据元素102的贡献(207)。类似地,在指定延迟如l=1,减量算法139可用于为调整后计算窗口122B直接减量计算延迟为1的组件Cdv 148基于为计算窗口122A计算的延迟为1的组件Cdv 147。减量算法139可访问数据元素103和106。减量算法139可访问延迟为1的组件Cdv 147。直接减量计算延迟为1的组件Cdv 148包括贡献去除模块139A从延迟为1的组件Cdv 147中数学地去除贡献182也即数据元素102的贡献。
如图所示,延迟为l的组件Cd1 144包括其它贡献153(来自数据元素103-106的贡献),延迟为l的组件Cdv 148包括其它贡献183(来自数据元素103-106的贡献)。
方法200包括根据需要间接减量计算给定延迟的w个组件和自相关。
方法200包括,根据需要即只有自相关被访问时,间接减量计算给定延迟的w个组件和自相关。如果自相关不被访问,方法200包括继续为下一个计算窗口访问下一个要去除的数据元素(202)。如果自相关被访问,方法200包括间接减量计算给定延迟的w个组件(208),基于一个或多个减量计算的给定延迟的组件计算给定延迟的自相关(209)。
当下一个要去除的数据元素被访问,组件Cd1 144可被用来直接减量计算下一个组件Cd1,组件Cdv 148可被用来直接减量计算下一个组件Cdv。
方法200包括重置210。重置210可以被用来重设减量自相关计算。当重置210在204或209之后调用时,计算窗口规模计数器和在给定延迟的自相关的v(1≤v≤p)个组件可以被初始化。例如,组件Cd1 141可以通过用调整前计算窗口中的数据元素根据定义被初始化或初始化为一个给定的已算过的值。后者可以在结合减量自相关计算与迭代自相关计算或增量自相关计算时发生。组件Cdv145可以以相似的方式初始化。
图3-1图示了在大数据上减量计算自相关时从计算窗口300A的左边去除的数据元素。计算窗口300A是个非空的计算窗口(假设包含n个数据元素xm+1,xm+2,…,xm+n)。随着时间的推移,计算窗口300A中的数据元素,例如,数据元素xm+1,然后xm+2,然后xm+3,…,分别从计算窗口300A的左边去除。
图3-2图示了在大数据上减量计算自相关时从计算窗口300A访问的数据元素。调整后计算窗口的延迟为l的自相关的v个组件可以通过被去除数据元素及调整后计算窗口两边的各l个数据元素以及调整前的计算窗口的v个组件直接减量计算。如果指定的延迟为1,调整后计算窗口最左边的1个数据元素和最右边的1个数据元素会被访问。如果指定的延迟为2,调整后计算窗口最左边的2个数据元素和最右边的2个数据元素会被访问。如果指定的延迟为l,调整后计算窗口最左边的l个数据元素和最右边的l个数据元素被访问。所以对于一个给定的延迟,数据访问量和计算量被减少并且是常数。计算窗口规模n越大,则数据访问量和计算量的减少就越显著。
图3-3图示了在大数据上减量计算自相关时从计算窗口300B右边去除的数据元素。计算窗口300B是个非空的计算窗口(假设包含n个数据元素xm+1,xm+2,…,xm+n)。随着时间的推移,计算窗口300B中的数据元素,例如,数据元素xm+n,然后xm+n-1,然后xm+n-2,…,分别从计算窗口300B的右边去除。
图3-4图示了在大数据上减量计算自相关时从计算窗口300B访问的数据。调整后计算窗口的延迟为l的自相关的v个组件可以通过被去除数据元素及调整后计算窗口两边的l个数据元素以及调整前的计算窗口的v个组件直接减量计算。如果指定的延迟为1,调整后计算窗口最左边的1个数据元素和最右边的1个数据元素会被访问。如果指定的延迟为2,调整后计算窗口最左边的2个数据元素和最右边的2个数据元素会被访问。如果指定的延迟为l,调整后计算窗口最左边的l个数据元素和最右边的l个数据元素被访问。所以对于一个给定的延迟,数据访问量和计算量被减少并且是常数。计算窗口规模n越大,则数据访问量和计算量的减少就越显著。
图4-1图示了自相关的定义。假设X={xi|i=m+1,…,m+n}是一个流化大数据集的包含涉及自相关计算的数据的一个规模为n的计算窗口。假设过段时间一个数据元素要从计算窗口X去除。每当自相关的任何组件由于一个数据元素从计算窗口中被去除而需要重新计算时,开始新一轮的减量计算。在同一轮减量计算里,去除数据元素前的计算窗口被称为调整前计算窗口,去除数据元素后的计算窗口被称为调整后计算窗口。在新一轮的减量计算里,原来的调整后计算窗口变成新一轮计算的调整前计算窗口。
自相关的计算结果不仅和计算窗口中的每个数据元素的值有关,也和每个数据元素的顺序有关。所以从计算窗口中不同的位置去除数据元素需要不同的处理。有三种情况。第一,从计算窗口的最左边去除一个数据元素xm+1。第二,从计算窗口的最右边去除一个数据元素xm+n。第三,从计算窗口两边以外的任何位置去除一个数据元素xr。前两种情况常在改变计算窗口规模时发生,第三种情况常在有异常值时发生。三种情况用到的方程不同。限于篇幅,这里只讨论前两种情况。为了区分,定义第一种情况中的调整后的计算窗口为XI,第二种情况的为XII。
方程401和402是分别为第k轮计算调整前计算窗口X里所有数据元素的总和Sk和平均值的传统方程。方程403是为第k轮计算调整前计算窗口X的给定延迟为l的自相关ρ(k,l)的传统方程。方程404和405是分别为第k+1轮计算调整后计算窗口XI里所有数据元素的总和Sk+1和平均值的传统方程。如前所述,当从调整前计算窗口最左边去除一个数据元素xm+1(即xr(r=m+1))时,调整后计算窗口定义为XI。方程406是为第k+1轮计算调整后计算窗口XI的延迟为l的自相关ρI (k+1,l)的传统方程。当从调整前计算窗口从最右边去除一个数据元素xm+n(即xr(r=m+n))时,调整后计算窗口定义为XII。方程407是为第k+1轮计算调整后计算窗口XII的延迟为l的自相关ρII (k+1,l)的传统方程。
为展示如何利用组件减量计算自相关,三个不同的减量自相关算法被提供作为例子。每当计算窗口有一个数据变化时新的一轮计算就开始了。一个和或平均值是计算自相关的基本组件。减量计算一个和或平均值的方程是被所有例子减量自相关计算算法都用到的减量组件方程。
图4-2显示第一个例子减量自相关计算算法(减量算法1)可用到的方程。方程401和402可分别被用来初始化组件Sk和/或方程408,409,和410可分别被用来初始化组件SSk,SXk,和covX(k,l)。方程411可用来计算延迟为l的自相关ρ(k,l)。当数据元素xm+1从调整前计算窗口最左边去除时,减量算法1包括组件Sk+1或SSk+1,SXk+1,和covXI (k+1,l)的减量计算,一旦组件SXk+1和covXI (k+1,l)被计算,自相关ρI (k+1,l)可以基于它们来计算。一旦组件Sk和/或可用,方程412和413可分别被用来减量计算调整后计算窗口XI的组件Sk+1和一旦组件SSk可用,方程414可用于直接减量计算调整后计算窗口XI的组件SSk+1。一旦组件Sk+1或和SSk+1可用,方程415可用于间接减量计算调整后计算窗口XI的组件SXk+1。一旦组件covX(k,l),SSk+1,Sk或和Sk+1或可用,方程416可用于直接减量计算调整后计算窗口XI的组件covXI (k+1,l)。412,413,415和416分别包含多个方程但分别只需要其中一个取决于是否和或平均值或两者都可用。一旦组件covXI (k+1,l)和SXk+1被计算,方程417可用于间接减量计算调整后计算窗口XI的给定延迟为l的组件ρI (k+1,l)。当数据元素xm+n从调整前计算窗口最右边去除时,减量算法1包括组件Sk+1或SSk+1,SXk+1,和covXII (k+1,l)的减量计算,一旦组件SXk+1和covXII (k+1,l)被计算,自相关ρII (k+1,l)可以基于它们来计算。一旦组件Sk和/或可用,方程418和419可分别被用来减量计算调整后计算窗口XII的组件Sk+1和方程408是计算组件SSk的传统方程。一旦组件SSk可用,方程420可用于直接减量计算调整后计算窗口XII的组件SSk+1。方程409是计算组件SXk的传统方程。一旦组件Sk+1或和SSk+1可用,方程421可用于间接减量计算调整后计算窗口XII的组件SXk+1。方程410是计算组件covX(k,l)的传统方程。一旦组件covX(k,l),SSk+1,Sk或和Sk+1或可用,方程422可用于直接减量计算调整后计算窗口XII的组件covXII (k+1,l)。418,419,421和422分别包含多个方程但分别只需要其中一个取决于是否和或平均值或两者都可用。一旦组件covXII (k+1,l)和SXk+1被计算,方程423可用于间接减量计算调整后计算窗口XII的给定延迟为l的组件ρII (k+1,l)。
图4-3显示第二个例子减量自相关计算算法(减量算法2)可用到的方程。当数据元素xm+1从调整前计算窗口最左边去除时,减量算法2包括组件Sk+1或SXk+1,和covXI (k+1,l)的减量计算,一旦组件SXk+1和covXI (k+1,l)被计算,自相关ρI (k+1,l)可以基于它们来计算。一旦组件Sk和/或可用,方程427和428可分别被用来直接减量计算调整后计算窗口XI的组件Sk+1和方程424是计算组件SXk的传统方程。一旦组件SXk,xk或Sk和Sk+1或可用,方程429可用于直接减量计算调整后计算窗口XI的组件SXk+1。方程425是计算组件covX(k,l)的传统方程。方程430可用于直接减量计算调整后计算窗口XI的组件covXI (k+1,l)一旦组件covX(k,l),Sk或和Sk+1或可用。427,428,429和430分别包含多个方程但分别只需要其中一个取决于是否和或平均值或两者都可用。一旦组件covXI (k+1,l)和SXk+1被计算,方程431可用于间接减量计算调整后计算窗口XI的给定延迟为l的组件ρI (k+1,l)。当数据元素xm+n从调整前计算窗口最右边去除时,减量算法2包括组件Sk+1或SXk+1,和covXII (k+1,l)的减量计算,一旦组件SXk+1和covXII (k+1,l)被计算,自相关ρII (k+1,l)可以基于它们被计算。一旦组件Sk和/或可用,方程432和433可分别被用来直接减量计算调整后计算窗口XII的组件Sk+1和方程424是计算组件SXk的传统方程。一旦组件SXk,xk或Sk,和Sk+1或可用,方程434可用于直接减量计算调整后计算窗口XII的组件SXk+1。方程425是计算组件covX(k,l)的传统方程。方程435可用于直接减量计算调整后计算窗口XII的组件covXII (k+1,l)一旦组件covX(k,l),Sk或和Sk+1或可用。432,433,434和435分别包含多个方程但分别只需要其中一个取决于是否和或平均值或两者都可用。一旦组件covXII (k+1,l)和SXk+1被计算,方程436可用于间接减量计算调整后计算窗口XII的给定延迟为l的组件ρII (k+1,l)。
图4-4显示第三个例子减量自相关计算算法(减量算法3)可用到的方程。当数据元素xm+1从调整前计算窗口最左边去除时,减量算法3包括组件Sk+1或SXk+1,和covXI (k+1,l)的减量计算,一旦组件SXk+1和covXI (k+1,l)被计算,自相关ρI (k+1,l)可以基于它们来计算。方程440和441可分别被用来直接减量计算调整后计算窗口XI的组件Sk+1和方程437是计算组件SXk的传统方程。方程442可用于直接减量计算调整后计算窗口XI的组件SXk+1一旦组件SXk,Sk或以及Sk+1或可用。方程438是计算组件covX(k,l)的传统方程。方程443可用于直接减量计算调整后计算窗口XI的组件covXI (k+1,l)一旦组件covX(k,l),Sk或以及Sk+1或可用。440,441,442和443分别包含多个方程但分别只需要其中一个取决于是否和或平均值或两者都可用。方程444可用于间接减量计算调整后计算窗口XI的给定延迟为l的组件ρI (k+1,l)一旦组件covXI (k+1,l)和SXk+1被计算。当数据元素xm+n从调整前计算窗口最右边去除时,减量算法3包括组件Sk+1或SXk+1,和covXII (k+1,l)的减量计算,一旦组件SXk+1和covXII (k+1,l)被计算,自相关ρII (k+1,l)可以基于它们被计算。一旦组件Sk和/或可用,方程445和446可分别被用来直接减量计算调整后计算窗口XII的组件Sk+1和方程437是计算组件SXk的传统方程。方程447可用于直接减量计算调整后计算窗口XII的组件SXk+1一旦组件SXk,Sk或以及Sk+1或可用。方程438是计算组件covX(k,l)的传统方程。方程448可用于直接减量计算调整后计算窗口XII的组件covXII (k+1,l)一旦组件covX(k,l),Sk或以及Sk+1或可用。445,446,447和448分别包含多个方程但分别只需要其中一个取决于是否和或平均值或两者都可用。方程449可用于间接减量计算调整后计算窗口XII的给定延迟为l的组件ρII (k+1,l)一旦组件covXII (k+1,l)和SXk+1被计算。
为展示减量自相关算法以及它们与传统算法的比较,下面给出三个例子。使用3个计算窗口的数据。对于传统算法,所有3个计算窗口的计算过程完全相同。对于减量算法,第一个计算窗口进行两个或多个组件的初始化,第二个和第三个计算窗口进行减量计算。
图5-1,图5-2,图5-3分别显示了用于一个计算实例的第一个计算窗口,第二个计算窗口,和第三个计算窗口。计算窗口502包括大数据集501的头6个数据元素:8,3,6,1,9,2。计算窗口规模503(n)是6。计算窗口504包括大数据集501的5个数据元素:3,6,1,9,2。计算窗口规模505(n)是5。计算窗口506包括大数据集501的4个数据元素:6,1,9,2。计算窗口规模507(n)是4。该计算实例假设数据元素是从计算窗口的最左边去除的。
首先用传统算法分别计算计算窗口502,504,和506的延迟为1的自相关。
为计算窗口502计算延迟为1的自相关:
没有任何优化的情况下,为规模为6的计算窗口计算延迟为1的自相关共有
2次除法,11次乘法,14次加法和16次减法。
相同的方程和过程可被用来分别为图5-2显示的计算窗口504计算延迟为1的自相关和为图5-3显示的计算窗口506计算延迟为1的自相关。规模为5的计算窗口504的延迟为1的自相关 这个计算中的每一个在没有优化的情况下包括2次除法,9次乘法,11次加法和13次减法。规模为4的计算窗口506的延迟为1的自相关这个计算中的每一个在没有优化的情况下包括2次除法,7次乘法,8次加法和10次减法。传统算法在没有优化的情况下计算计算窗口规模为n给定延迟为l的自相关时通常需要完成2次除法,2n-l次乘法,3n-(l+3)次加法,和3n-2l次减法。
下面用减量算法1分别计算计算窗口502,504,和506的延迟为1的自相关。
为规模为6的计算窗口502计算延迟为1的自相关:
1.用方程402,410,411,和412分别初始化第1轮的组件SS1,SX1,和covX(1,1):
2.
3.用方程413计算第1轮的自相关ρ(1,1):
为计算窗口502计算延迟为1的自相关时共有2个除法,13个乘法,14个加法和16个减法。
为计算窗口504计算延迟为1的自相关:
1.用方程415,416,417,和418分别减量计算第2轮的组件SS2,SX2,和covX(2,1):
SS2=SS1+xm+1+4 2-xm+1 2=110+92-82=110+81-64=127
2.用方程419计算第2轮的自相关ρ(2,1):
计算窗口504减量计算延迟为1的自相关时共有2个除法,10个乘法,8个加法和7个减法。
为计算窗口506计算延迟为1的自相关:
1.用方程415,416,417,和418分别减量计算第3轮的组件SS3,SX3,和covX(3,1):
SS3=SS2+xm+1+4 2-xm+1 2=127+22-32=127+4-9=122
2.用方程419计算第3轮的自相关ρ(3,1):
为计算窗口505计算延迟为1的自相关时共有2个除法,10个乘法,8个加法和7个减法。
下面用减量算法2分别计算计算窗口502,504,和506的延迟为1的自相关。
为计算窗口502计算延迟为1的自相关:
1.用方程402,426,和427初始化第1轮的组件SX1,和covX(1,1):
2.用方程428计算第1轮的自相关ρ(1,1):
为计算窗口502计算延迟为1的自相关时共有2个除法,7个乘法,8个加法和10个减法。
为计算窗口504计算延迟为1的自相关:
1.用方程430,431,和432分别减量计算第2轮的组件SX2,和covX(2,1):
2.用方程433计算第2轮的自相关ρ(2,1):
计算窗口504减量计算延迟为1的自相关时共有2个除法,7个乘法,10个加法和7个减法。
为计算窗口506计算延迟为1的自相关:
1.用方程430,431,和432分别减量计算第3轮的组件SX3,和covX(3,1):
2.用方程433计算第3轮的自相关ρ(3,1):
计算窗口506减量计算延迟为1的自相关时共有2个除法,7个乘法,10个加法和7个减法。
下面用减量算法3分别计算计算窗口502,504,和506的延迟为1的自相关。
为计算窗口502计算延迟为1的自相关:
1.用方程402,439,和440初始化第1轮的组件SX1,和covX(1,1):
2.用方程441计算第1轮的自相关ρ(1,1):
为计算窗口502计算延迟为1的自相关时共有2个除法,7个乘法,8个加法和10个减法。
为计算窗口504计算延迟为1的自相关:
1.用方程443,444,和445分别减量计算第2轮的组件SX2,和covX(2,1):
2.用方程446计算第2轮的自相关ρ(2,1):
计算窗口504减量计算延迟为1的自相关时共有2个除法,7个乘法,9个加法和8个减法。
为计算窗口506计算延迟为1的自相关:
1.用方程443,444,和445分别减量计算第3轮的组件SX3,和covX(3,1):
2.用方程446计算第3轮的自相关ρ(3,1):
计算窗口506减量计算延迟为1的自相关时共有2个除法,7个乘法,9个加法和8个减法。
在以上三个例子中,平均值被用于减量自相关计算。和也可被用于自相关减量计算,只是操作数不同。另外,上述三个例子中数据元素是从调整前计算窗口的最左边去除的。当数据元素是从调整前计算窗口的最右边去除时其计算过程类似只是应用一组不同的方程。
图6-1图示了n=4延迟为1(即l=1)时,传统自相关算法和减量自相关算法的计算量的对比。如图所示,任何一个减量算法和传统算法的除法操作,乘法操作,加法操作和减法操作都差不多。
图6-2图示了n=1,000,000延迟为1(即l=1)时,传统自相关算法和减量自相关算法的计算量的对比。如图所示,任何一个减量算法都比传统算法少很多乘法操作,加法操作和减法操作。减量算法把需要在成千上万台计算机上处理的数据只在单机上就能完成,大大提高计算效率,减少计算资源需求,降低计算设备能耗,使得一些实时判断时间序列或流化大数据给定延迟重复性从不可能变为可能。
本发明可以在不脱离其思想或本质特征的情况下以其它特定的方式来实现。本申请描述的实现方案从各个方面来说是仅作为示范性的而不是限制性的。因此,本发明的范围由附加的权利要求书而不是前面的描述来指明。与权利要求书中权利要求的含义和范围等价的所有变化都包含在权利要求的范围内。
Claims (10)
1.一种,由基于一台或多台计算设备构成的一个计算系统实现的,实时地判断时间序列或流化大数据自身给定延迟重复性的方法,其特征在于:
由基于计算设备的一个计算系统,为存储于该计算系统上一个或多个存储设备上的一个数据集的一个调整前计算窗口,初始化一个计算窗口规模计数器n(n>1),以及一个给定延迟为l(0<l<n)的自相关的两个以上组件,该计算窗口计数器指定了该调整前计算窗口包含的数据元素个数;
由基于计算设备的该计算系统,访问要从该调整前计算窗口去除的一个数据元素;
由基于计算设备的该计算系统,调整该调整前计算窗口,通过:
从该调整前计算窗口中去除要去除的数据元素;以及
相应地调整该计算窗口规模计数器;
由基于计算设备的该计算系统,至少基于该调整前计算窗口的延迟为l的自相关的两个以上组件,为该调整后计算窗口减量计算延迟为l的自相关的两个以上组件,并且在减量计算该两个以上组件的过程中避免访问和使用该调整后计算窗口中的所有数据元素来降低数据访问延迟,提高计算效率,节省计算资源和降低该计算系统能耗;以及
由基于计算设备的该计算系统,基于一个或多个为该调整后计算窗口减量计算的组件,为该调整后计算窗口生成延迟为l的自相关。
2.按照权利要求1所述的由该计算系统实现的该方法,其特征在于:所述访问一个要去除的数据元素包括访问多个要从该调整前计算窗口去除的数据元素,该方法也进一步包括对于多个要去除的数据元素中的每一个数据元素分别进行调整调整前计算窗口,减量计算延迟为l的自相关的两个以上组件,以及为调整后计算窗口生成延迟为l的自相关。
3.按照权利要求2所述的由该计算系统实现的该方法,其特征在于:所述为调整后计算窗口生成延迟为l的自相关当且仅当该自相关被访问时。
4.按照权利要求3所述的由该计算系统实现的方法,其特征在于:所述为调整后计算窗口生成延迟为l的自相关进一步包括由基于计算设备的该计算系统为该调整后计算窗口间接减量计算延迟为l的自相关的一个或多个组件,间接减量计算这一个或多个组件包括基于要计算的组件之外的一个或多个组件来逐个分别计算这一个或多个组件。
5.一个计算系统,其特征在于:
一个或多个计算设备;
每个计算设备包含一个或多个处理器;
一个或多个存储媒体;以及
一个或多个计算模块,当该一个或多个计算模块被一个或多个计算设备中的至少一个计算设备执行时,实时地判断时间序列或流化大数据自身给定延迟的重复性,该一个或多个计算模块被配置为:
a.为存储于该计算系统上一个或多个存储设备上的一个数据集的一个调整前计算窗口,初始化一个计算窗口规模计数器n(n>1),以及一个给定延迟为l(0<l<n)的自相关的两个以上组件,该计算窗口计数器指定了该调整前计算窗口包含的数据元素个数;
b.访问一个要从该调整前计算窗口去除的数据元素;
c.调整该调整前计算窗口,包括:
从该调整前计算窗口中去除要去除的数据元素;以及
相应地调整该计算窗口规模计数器;
d.至少基于该调整前计算窗口的延迟为l的自相关的两个以上组件,为该调整后计算窗口减量计算延迟为l的自相关的两个以上组件,并且在减量计算该两个以上组件的过程中避免访问和使用调整后计算窗口中的所有数据元素来降低数据访问延迟,提高计算效率,节省计算资源和降低该计算系统能耗;以及
e.基于一个或多个为该调整后计算窗口减量计算的组件,为该调整后计算窗口生成延迟为l的自相关。
6.按照权利要求5所述的该计算系统,其特征在于:该一个或多个计算模块,当它们被该一个或多个计算设备中的至少一个计算设备执行时,多次执行b,c,d,和e。
7.按照权利要求6所述的该计算系统,其特征在于:执行e当且仅当该调整后计算窗口的延迟为l的自相关被访问时。
8.按照权利要求7所述的该计算系统,其特征在于:所述为该调整后计算窗口生成延迟为l的自相关进一步包括由该计算系统为该调整后计算窗口间接减量计算延迟为l的自相关的一个或多个组件,间接减量计算这一个或多个组件包括基于要计算的组件之外的一个或多个组件来逐个分别计算这一个或多个组件。
9.一个计算系统程序产品,运行于一个包含一个或多个计算设备的计算系统,该计算系统包括一个或多个处理器以及一个或多个存储媒体,该计算系统程序产品包含多条计算设备可执行指令,当这些计算设备可执行指令被该计算系统中的至少一台计算设备运行时,使得该计算系统执行一个实时地判断时间序列或流化大数据自身给定延迟重复性的方法,其特征在于:
由该计算系统为存储于该计算系统至少一个存储媒体上的一个数据集的一个调整前计算窗口,初始化一个计算窗口规模计数器n(n>1),以及一个给定延迟为l(0<l<n)的自相关的两个以上组件,该计算窗口计数器指定了该调整前计算窗口包含的数据元素个数;
由该计算系统访问一个要从该调整前计算窗口去除的数据元素;
由该计算系统调整该调整前计算窗口,通过:
从该调整前计算窗口中去除要去除的数据元素;以及
相应地调整该计算窗口规模计数器;
由该计算系统至少基于该调整前计算窗口的延迟为l的自相关的两个以上组件,为该调整后计算窗口减量计算延迟为l的自相关的两个以上组件,并且在减量计算该两个以上组件的过程中避免访问和使用该调整后计算窗口中的所有数据元素来降低数据访问延迟,提高计算效率,节省计算资源和降低该计算系统能耗;以及
由该计算系统,基于一个或多个为该调整后计算窗口减量计算的组件,为该调整后计算窗口生成延迟为l的自相关。
10.权利要求9所述的计算系统程序产品,其特征在于:所述访问一个要去除的数据元素包括访问多个要从该调整前计算窗口去除的数据元素,该方法也进一步包括对于多个要去除的数据元素中的每一个数据元素分别进行调整调整前计算窗口,减量计算延迟为l的自相关的两个以上组件,以及为调整后计算窗口生成延迟为l的自相关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810489469.4A CN110515680B (zh) | 2018-05-21 | 2018-05-21 | 一种实时判断大数据自身给定延迟重复性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810489469.4A CN110515680B (zh) | 2018-05-21 | 2018-05-21 | 一种实时判断大数据自身给定延迟重复性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110515680A true CN110515680A (zh) | 2019-11-29 |
CN110515680B CN110515680B (zh) | 2024-04-09 |
Family
ID=68621657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810489469.4A Active CN110515680B (zh) | 2018-05-21 | 2018-05-21 | 一种实时判断大数据自身给定延迟重复性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515680B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585290A (zh) * | 2003-08-18 | 2005-02-23 | 因芬尼昂技术股份公司 | 滑动窗口 |
CN101821721A (zh) * | 2007-07-26 | 2010-09-01 | 起元技术有限责任公司 | 具有误差处理的事务型基于图的计算 |
US20140172939A1 (en) * | 2012-12-17 | 2014-06-19 | Microsoft Corporation | Reachability-Based Coordination for Cyclic Dataflow |
WO2014138894A1 (en) * | 2013-03-15 | 2014-09-18 | Imagine Communications Corp. | Systems and methods for controlling branch latency within computing applications |
CN107092649A (zh) * | 2017-03-13 | 2017-08-25 | 浙江工业大学 | 一种面向实时流计算的无感知拓扑替换方法 |
-
2018
- 2018-05-21 CN CN201810489469.4A patent/CN110515680B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585290A (zh) * | 2003-08-18 | 2005-02-23 | 因芬尼昂技术股份公司 | 滑动窗口 |
CN101821721A (zh) * | 2007-07-26 | 2010-09-01 | 起元技术有限责任公司 | 具有误差处理的事务型基于图的计算 |
US20140172939A1 (en) * | 2012-12-17 | 2014-06-19 | Microsoft Corporation | Reachability-Based Coordination for Cyclic Dataflow |
WO2014138894A1 (en) * | 2013-03-15 | 2014-09-18 | Imagine Communications Corp. | Systems and methods for controlling branch latency within computing applications |
CN107092649A (zh) * | 2017-03-13 | 2017-08-25 | 浙江工业大学 | 一种面向实时流计算的无感知拓扑替换方法 |
Non-Patent Citations (1)
Title |
---|
陈波;毛剑琳;乔冠华;戴宁;: "改进的基于统计学的滑动窗口无参数的累积和算法", 计算机应用, no. 01 * |
Also Published As
Publication number | Publication date |
---|---|
CN110515680B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hazelhurst | Scientific computing using virtual high-performance computing: a case study using the Amazon elastic computing cloud | |
Trifunovic et al. | Paradigm shift in big data supercomputing: dataflow vs. controlflow | |
US9959248B1 (en) | Iterative simple linear regression coefficient calculation for big data using components | |
Tardieu et al. | X10 and APGAS at petascale | |
Do et al. | Dynamics of service selection and provider pricing game in heterogeneous cloud market | |
CN110929878B (zh) | 一种分布式随机梯度下降方法 | |
KR20200029387A (ko) | 캐시 최적화 및 효율적인 프로세싱을 위한 데이터 집성 방법 | |
CN109002925A (zh) | 业务量预测方法和装置 | |
US9760539B1 (en) | Incremental simple linear regression coefficient calculation for big data or streamed data using components | |
US10275488B1 (en) | Incremental covariance calculation for big data or streamed data using components | |
da Silva | Factoring semiprimes and possible implications for RSA | |
US10394809B1 (en) | Incremental variance and/or standard deviation calculation for big data or streamed data using components | |
CN110515680A (zh) | 一种实时判断大数据自身给定延迟重复性的方法 | |
CN112035521A (zh) | 一种实时判断流数据自身给定延迟重复性的方法 | |
CN110515681A (zh) | 一种实时判断流数据自身给定延迟重复性的方法 | |
US10320685B1 (en) | Iterative autocorrelation calculation for streamed data using components | |
CN110457340A (zh) | 一种实时寻找大数据自身重复规律的方法 | |
Vasilyev et al. | High-order non-uniform grid scheme for numerical analysis of queueing system with a small parameter | |
CN112035520A (zh) | 一种实时判断流数据自身给定延迟重复性的方法 | |
CN110363321A (zh) | 一种实时预测大数据变化趋势的方法 | |
CN110362365A (zh) | 一种实时预测流数据变化趋势的方法 | |
CN112035792A (zh) | 一种实时判断大数据自身给定延迟重复性的方法 | |
CN111414577A (zh) | 一种实时寻找流数据自身重复规律的方法 | |
CN112434258A (zh) | 一种实时判断选定数据以标准方差为单位偏离平均值的相对距离的方法 | |
CN111488380A (zh) | 一种实时判断流数据分布不对称性的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |