CN104090952A - 一种估算滑动窗口下的数据流平均值的方法与系统 - Google Patents
一种估算滑动窗口下的数据流平均值的方法与系统 Download PDFInfo
- Publication number
- CN104090952A CN104090952A CN201410315983.8A CN201410315983A CN104090952A CN 104090952 A CN104090952 A CN 104090952A CN 201410315983 A CN201410315983 A CN 201410315983A CN 104090952 A CN104090952 A CN 104090952A
- Authority
- CN
- China
- Prior art keywords
- bucket
- capacity
- layer
- timestamp
- data
- 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 36
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 55
- 238000007689 inspection Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 6
- 238000005206 flow analysis Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000002620 method output Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 208000001491 myopia Diseases 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种估算滑动窗口下数据流平均值的方法,包括以下步骤:1初始化指数直方图,所述指数直方图把滑动窗口下的数据元素划分到不同的层次的若干个桶中,所述桶用来存储数据流中一段时间内的数据集合信息,所述信息包括数据集合中距离当前时刻最近的数据元素的时间戳和数据集合元素之和;2将数据流的信息储存在桶中,所述桶在指数直方图中的位置由时间戳决定。当有新的数据添加以及旧的数据删除时,以桶的容量为准则进行桶的合并与分解;3查询所述指数直方图,输出近似平均值。本发明还提供了相应的估算滑动窗口下数据流平均值的系统。本发明不需要保存全部历史数据,计算滑动窗口中的平均值时,不需要扫描历史数据,且误差可控。
Description
技术领域
本发明属于数据流分析技术领域,更具体地,涉及一种估算滑动窗口下的数据流平均值的方法与系统。
背景技术
近年来,数据流分析技术被广泛应用到传感器网络通信,web服务器点击日志、网络安全监控与异常检测、通话记录、证券股票交易等领域,数据流分析已成为国内外各界研究的热点。
数据流不同于传统数据,不是存储在磁盘上的有限数据集合,而是无限的、连续的、快速的、实时的,以流的形式出现的数据集合。实际应用中,存储空间是有限的,但是数据流却是源源不断的到达。数据流的应用场景对实时性有较高要求,但是传统的静态数据挖掘往往需要多次扫描数据来获得查询结果,耗时较长。传统的数据挖掘技术不能满足动态的快速变化的数据流分析要求,数据流挖掘面临着实时性、空间性和近似性等技术挑战。
平均值的计算是数据流统计分析中的一个重要问题。但是目前的解决方法需要扫描窗口中的历史数据而且需要保存一段窗口内的全部数据,对内存和计算能力要求较高,远远不能满足源源不断到达的无限的数据流以及实时性的应用要求,所以有必要提出基于单次扫描的实时计算方法。
发明内容
为了解决现有上述的技术问题,本发明需要提供一种能够满足实时性要求的估算滑动窗口下数据流平均值的方法与系统。
为了实现上述目的,按照本发明的一个方面,提供了一种估算滑动窗口下数据流平均值的方法,包括以下步骤:
(1)、初始化指数直方图:所述指数直方图把数据元素划分到不同的层次上,每层由若干个桶组成,所述桶用来存储数据流中一段时间内的数据集合信息,所述信息包括数据集合对应的时间戳和容量,所述时间戳表示的是数据集合中距离当前时刻最近的数据的时间戳,容量表示的是数据集合中所有数据元素的和;
(2)、将数据流的信息储存在桶中:所述桶在指数直方图中的位置由时间戳决定:层数越高,所述层上的桶的时间戳越旧,层数越低,所述层上的桶的时间戳越新;所述桶的时间戳越旧,表示桶中数据元素离当前时刻越远;桶的时间戳越新,表示桶中数据元素离当前时刻越近;同一层中的桶按时间戳新旧顺序排列;随着数据的不断流入,当有新的数据添加以及旧的数据删除时,进行桶的合并与分解操作,合并分解规则以桶的容量为参考;
(3)、查询指数直方图,输出近似平均值:首先计算指数直方图中所有桶的容量之和SUM,如果指数直方图只有一层,则输出近似平均值计算公式为其中N是滑动窗口的大小;如果指数直方图不只一层,则查询时间戳最旧的桶的容量C,输出近似平均值其计算公式为其中N是滑动窗口的大小。
本方法输出的近似结果的最大相对误差为1/k,其中k是用户预定义的参数。
在本发明的一个实施例中,所述步骤(2)包括以下子步骤:
(2.1)、检查是否存在已经超过当前滑动窗口的范围的桶,如存在则从指数直方图中删除其信息;
(2.2)、从数据流中取出当前到达的数据项,根据用户自定义的精度将数据流中当前到达的数据项转换成整数值;如果转换之后的数据不等于0,则执行步骤(2.3);如果等于0,则不必执行步骤(2.3);
(2.3)、更新指数直方图中的桶存储的信息,按照桶的分解合并规则对指数直方图中的桶进行分解合并。
在本发明的一个实施例中,所述步骤(2.1)中检查是否存在桶已经超过当前滑动窗口的时间范围,具体的是通过检查时间戳最旧的桶的时间戳与(t+1)mod(N)是否相等,若两者相等,则表示时间戳最旧的桶超过了当前滑动窗口的时间范围,其中t为当前时刻,N为窗口的大小,其中mod表示取两个整数相除后结果的余数。
在本发明的一个实施例中,所述步骤(2.3)包括以下子步骤:
(2.3.1)、根据用户自定义的精度将数据流中当前到达的数据项转换成整数值;新建一个桶,时间戳为(t+1)mod(N),容量为当前到达的数据项转换后的值的大小,其中t为当前时刻,N为滑动窗口的大小,将所述桶插入到指数直方图的最低层B0中,用Bi表示指数直方图中的第i层,i从0开始计数;然后从B0层开始逐步检查Bi层中所有桶的容量之和;
(2.3.2)、如果Bi层中所有桶的容量之和sumi超过Bi层预定义的值Maxsumi,则执行步骤(2.3.3),否则不必执行剩下子步骤;Maxsumi表示第i层允许的容量和的最大值,Maxsumi=(k+1)*2i,k为用户自定义的整数参数;
(2.3.3)、计算Bi层多余容量D;计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi;
(2.3.4)、从Bi层时间戳最旧的桶开始一一检查进行分解合并;i增加一个单元,继续执行步骤(2.3.2),检查Bi层所有桶的容量之和,直到完成所有层的检查。
在本发明的一个实施例中,所述步骤(2.3.4)包括以下子步骤:
(2.3.4.1)、如果Bi层的多余容量D等于Bi层中时间戳最旧的桶的容量,执行步骤(2.3.4.2),如果Bi层的多余容量D大于Bi层中时间戳最旧的桶的容量,执行步骤(2.3.4.3),如果Bi层的多余容量D小于Bi层中时间戳最旧的桶的容量执行步骤(2.3.4.4);
(2.3.4.2)、将Bi层中时间戳最旧的桶插入到Bi+1层中,检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳;不必继续检查Bi层中其余的桶;
(2.3.4.3)、检查Bi层的多余容量D是否大于2i;如果D大于2i,则将Bi层时间戳最旧的桶的容量减少2i,然后将其插入到Bi+1层中,将Bi层中剩下的桶中时间戳最旧的桶的容量增加2i;检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳;重新计算Bi层的多余容量D,计算规则如步骤33中所述,然后执行步骤42进行桶的合并分解;如果Bi层的多余容量D不大于2i,则直接将Bi层中时间戳最旧的两个桶进行合并,合并后的桶的容量为两桶的容量之和,时间戳为较新的桶的时间戳;重新计算Bi层的多余容量D,计算规则如步骤33中所述,继续执行步骤42进行桶的合并分解;
(2.3.4.4)、将Bi层中时间戳最旧的桶分解成两个桶,分解后的两个桶的时间戳相同且与分解前的桶的时间戳保持一致,分解后的两个桶的容量之和等于分解前的原始桶的容量;分解后的两个桶中,其中一个桶的容量是D,将该桶插入到Bi+1层中,另外一个桶继续留在Bi层中,Bi层中其余的桶不需要继续检查;检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳。
按照本发明的另一方面,还提供了一种估算滑动窗口下数据流平均值的系统,包括指数直方图初始化模块、数据流信息储存模块以及平均值计算模块,其中:
所述指数直方图初始化模块,用于初始化指数直方图:所述指数直方图把数据元素划分到不同的层次上,每层由若干个桶组成,所述桶用来存储数据流中一段时间内的数据集合信息,所述信息包括数据集合对应的时间戳和容量,所述时间戳表示的是数据集合中距离当前时刻最近的数据的时间戳,容量表示的是数据集合中所有数据元素的和;
所述数据流信息储存模块,用于将数据流的信息储存在桶中:所述桶在指数直方图中的位置由时间戳决定:层数越高,所述层上的桶的时间戳越旧,层数越低,所述层上的桶的时间戳越新;所述桶的时间戳越旧,表示桶中数据元素离当前时刻越远;桶的时间戳越新,表示桶中数据元素离当前时刻越近;同一层中的桶按时间戳新旧顺序排列;随着数据的不断流入,当有新的数据添加以及旧的数据删除时,进行桶的合并与分解操作,合并分解规则以桶的容量为参考;
所述平均值计算模块,用于查询指数直方图,输出近似平均值:首先计算指数直方图中所有桶的容量之和SUM,如果指数直方图只有一层,则输出近似平均值计算公式为其中N是滑动窗口的大小;如果指数直方图不只一层,则查询时间戳最旧的桶的容量C,输出近似平均值其计算公式为其中N是滑动窗口的大小。
在本发明的一个实施例中,所述数据流信息储存模块包括检查子模块、转换子模块以及更新子模块,其中:
所述检查子模块,用于检查是否存在已经超过当前滑动窗口的范围的桶,如存在则从指数直方图中删除其信息;
所述转换子模块,用于从数据流中取出当前到达的数据项,根据用户自定义的精度将数据流中当前到达的数据项转换成整数值;如果转换之后的数据不等于0,则转所述更新子模块;如果等于0,则不转所述更新子模块;
所述更新子模块,用于更新指数直方图中的桶存储的信息,按照桶的分解合并规则对指数直方图中的桶进行分解合并。
在本发明的一个实施例中,所述检查子模块检查是否存在桶已经超过当前滑动窗口的时间范围,具体的是通过检查时间戳最旧的桶的时间戳与(t+1)mod(N)是否相等,若两者相等,则表示时间戳最旧的桶超过了当前滑动窗口的时间范围,其中t为当前时刻,N为窗口的大小,其中mod表示取两个整数相除后结果的余数。
在本发明的一个实施例中,所述更新子模块包括桶插入子模块、容量比较子模块、多余容量计算子模块以及分解合并子模块,其中:
所述桶插入子模块,用于根据用户自定义的精度将数据流中当前到达的数据项转换成整数值;新建一个桶,时间戳为(t+1)mod(N),容量为当前到达的数据项转换后的值的大小,其中t为当前时刻,N为滑动窗口的大小,将所述桶插入到指数直方图的最低层B0中,用Bi表示指数直方图中的第i层,i从0开始计数;然后从B0层开始逐步检查Bi层中所有桶的容量之和;
所述容量比较子模块,用于如果Bi层中所有桶的容量之和sumi超过Bi层预定义的值Maxsumi,则转所述多余容量计算子模块,否则不必执行剩下子步骤;Maxsumi表示第i层允许的容量和的最大值,Maxsumi=(k+1)*2i,k为用户自定义的整数参数;
所述多余容量计算子模块,用于计算Bi层多余容量D;计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi;
所述分解合并子模块,用于从Bi层时间戳最旧的桶开始一一检查进行分解合并;i增加一个单元,并转所述容量比较子模块,检查Bi层所有桶的容量之和,直到完成所有层的检查。
在本发明的一个实施例中,所述分解合并子模块包括多余容量比较子模块、容量相等处理子模块、容量大于处理子模块以及容量小于处理子模块,其中:
所述多余容量比较子模块,用于如果Bi层的多余容量D等于Bi层中时间戳最旧的桶的容量,则转容量相等处理子模块;如果Bi层的多余容量D大于Bi层中时间戳最旧的桶的容量,则转容量大于处理子模块;如果Bi层的多余容量D小于Bi层中时间戳最旧的桶的容量,则转容量小于处理子模块;
所述容量相等处理子模块,用于将Bi层中时间戳最旧的桶插入到Bi+1层中,检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳;不必继续检查Bi层中其余的桶;
所述容量大于处理子模块,用于检查Bi层的多余容量D是否大于2i;如果D大于2i,则将Bi层时间戳最旧的桶的容量减少2i,然后将其插入到Bi+1层中,将Bi层中剩下的桶中时间戳最旧的桶的容量增加2i;检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳;重新计算Bi层的多余容量D,计算规则为计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi,然后转容量相等处理子模块进行桶的合并分解;如果Bi层的多余容量D不大于2i,则直接将Bi层中时间戳最旧的两个桶进行合并,合并后的桶的容量为两桶的容量之和,时间戳为较新的桶的时间戳;重新计算Bi层的多余容量D,计算规则为计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi,然后转容量相等处理子模块进行桶的合并分解;
所述容量小于处理子模块,用于将Bi层中时间戳最旧的桶分解成两个桶,分解后的两个桶的时间戳相同且与分解前的桶的时间戳保持一致,分解后的两个桶的容量之和等于分解前的原始桶的容量;分解后的两个桶中,其中一个桶的容量是D,将该桶插入到Bi+1层中,另外一个桶继续留在Bi层中,Bi层中其余的桶不需要继续检查;检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳。
本发明有益结果:与现有技术相比,本发明通过统计窗口内数据的分布特征,利用指数直方图的桶的和取代桶中包含的具体数据,从而达到减少需要保存的数据的目标;此外,还可以通过单次扫描数据流即可获得滑动窗口下的近似平均值,且误差可控,大大减少了滑动窗口内数据平均值的计算量。不仅满足了应用实时性的要求,同时降低了系统对计算机存储和计算能力的要求。
附图说明
图1是本发明一实施例中桶的示意图;
图2是本发明一实施例中指数直方图的示意图。
图3是本发明中估算滑动窗口下数据流平均值的方法示意图;
图4是本发明中将数据流的信息储存在桶中的流程图;
图5是本发明中的更新指数直方图中桶存储的信息的流程图;
图6是本发明中Bi层中桶的分解与合并的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,设滑动窗口的尺寸为N,当前时刻为t,本发明中把数据元素划分到m个层次上,即指数直方图由m层组成,每层由若干个桶组成,桶在指数直方图中的位置由时间戳决定。B0层是最低层,Bm层为最高层。i越大,即层数越高,则第Bi层中的桶的时间戳越旧;i越小,即层数越低,则第Bi层中的桶的时间戳越新,例如第Bm层所有桶的时间戳都比第B0层中所有桶的时间戳旧。同一层中的桶按时间戳新旧顺序有序排列。
如图2所示,当前时刻为t,指数直方图由m层组成,B0层是最低层,Bm层为最高层,sumi是Bi层所有桶的容量之和,sumi不能超过预定义的值Maxsumi,Maxsumi=(k+1)*2i,k为用户自定义的整数参数,i从0开始。
如图3所示,本发明中估算滑动窗口下数据流平均值的方法流程包括:
步骤301,初始化指数直方图,所述指数直方图把数据元素划分到不同的层次上,每层由若干个桶组成,所述桶用来存储数据流中小段时间内的数据集合信息,所述信息包括数据集合对应的时间戳和容量,所述时间戳表示的是数据集合中距离当前时刻最近的数据的时间戳,容量表示的是数据集合中所有数据元素的和。
步骤302,将数据流的信息储存在桶中,所述桶在指数直方图中的位置由时间戳决定。层数越高,所述层上的桶的时间戳越旧,层数越低,所述层上的桶的时间戳越新。桶的时间戳越旧,表示桶中数据元素离当前时刻越远,桶的时间戳越,表示桶中数据元素离当前时刻越近。同一层中的桶按时间戳新旧顺序排列。随着数据的不断流入,当有新的数据添加以及旧的数据删除时,进行桶的合并与分解操作,合并分解规则以桶的容量为参数。
步骤303,查询指数直方图,输出近视平均值。首先计算指数直方图中所有桶的容量之和SUM,如果指数直方图仅由一层组成,则输出近似平均值计算公式为其中N是滑动窗口的大小。如果指数直方图不只一层,则查询时间戳最旧的桶的容量C,输出近似平均值其计算公式为其中N是滑动窗口的大小。本方法输出的近似结果的最大相对误差为1/k,其中k是用户预定义的参数。
如图4所示,将将数据流的信息储存在桶中包括以下步骤:
步骤401,删除超出当前滑动窗口范围的桶的信息。检查是否存在桶已经超过当前滑动窗口的时间范围,具体的是通过检查时间戳最旧的桶的时戳与(t+1)mod(N)是否相等的方式来判断时间戳最旧的桶是否已经超过当前滑动窗口的时间范围,其中t为当前时刻,N为窗口的大小。其中mod表示取两个整数相除后结果的余数。
步骤402,判断数据流中当前到达的数据项是否需要处理。首先从数据流中取出当前到达的数据项,根据用户自定义的精度将数据流中当前到达的数据项转换成整数值。如果转换之后的数据不等于0,则需要处理当前到达的数据项,执行步骤403,如果等于0,则忽略当前到达的数据项,不必执行步骤403。
步骤403,更新指数直方图中的桶存储的信息,按照桶的分解合并规则对指数直方图中的桶进行分解合并。
如图5所示,更新指数直方图中桶存储的信息包括以下步骤:
步骤501,根据用户自定义的精度将数据流中当前到达的数据项转换成整数值。新建一个桶,时间戳为(t+1)mod(N),容量为当前到达的数据项的值的大小,其中t为当前时刻,N为滑动窗口的大小,将所述桶插入到指数直方图的最低层B0中,用Bi表示第i层,i从0开始计数。从B0层开始逐步检查每层所有桶的容量之和。
步骤502,如果Bi层中所有桶的容量之和sumi超过Bi层预定义的值Maxsumi,则执行步骤503,否则不必执行剩下子步骤。Maxsumi表示第i层允许的容量和的最大值,Maxsumi=(k+1)*2i,k为用户自定义的整数参数,i从0开始。
步骤503,计算Bi层多余容量D。计算规则是如果(sumi-Minsumi)mod2i+1等于0,Bi层多余容量D的计算公式为sumi-Minsumi。如果(sumi-Minsumi)mod2i+1不等于0,Bi层多余容量D的计算公式为sumi-Maxsumi。
步骤504,从Bi层时间戳最旧的桶开始一一检查,进行桶的分解合并。i增加一个单元,继续执行步骤502,检查Bi层所有桶的容量之和。
如图6所示,本发明Bi层中桶的分解与合并包括以下步骤:
步骤601,如果Bi层多余容量D等于时间戳最旧的桶的容量,执行步骤602,否则,执行步骤603。
步骤602,将时间戳最旧的桶插入到Bi+1层中,不需要继续检查Bi层中其余的桶。检查Bi+1中时间戳最新的桶的时间戳与Bi+1中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳。
步骤603,如果Bi层多余容量D大于Bi层中时间戳最旧的桶的容量,执行步骤604,否则,执行步骤607。
步骤604,检查Bi层多余容量D是否大于2i,如果D大于2i,则执行步骤605,否则执行步骤606。
步骤605,将Bi层时间戳最旧的桶的容量减少2i,然后将该桶插入到Bi+1层中,将Bi层剩下的桶中时间戳最旧的桶的容量增加2i。检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳。重新计算Bi层多余容量D,D的计算规则如步骤503中所述,继续执行步骤603进行桶的合并分解;
步骤606,将Bi层中时间戳最旧的两个桶进行合并,合并后的桶的容量为两桶的容量之和,时间戳为较新的桶的时间戳。重新计算Bi层多余容量DD,D的计算规则如步骤503中所述,继续执行步骤603进行桶的合并分解。
步骤607,将Bi层中时间戳最旧的桶分解成两个桶,分解后的两个桶的时间戳相同且与分解前的桶的时间戳保持一致,分解后的两个桶的容量不一样,分解后的两个桶的容量之和等于分解前的原始桶的容量。分解后的两个桶中,其一个桶的容量是D,将该桶插入到Bi+1层中,另外一个桶继续留在Bi层中,Bi层其余的桶不需要继续检查。检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳。
进一步地,本发明还提供了一种估算滑动窗口下数据流平均值的系统,包括指数直方图初始化模块、数据流信息储存模块以及平均值计算模块,其中:
所述指数直方图初始化模块,用于初始化指数直方图:所述指数直方图把数据元素划分到不同的层次上,每层由若干个桶组成,所述桶用来存储数据流中一段时间内的数据集合信息,所述信息包括数据集合对应的时间戳和容量,所述时间戳表示的是数据集合中距离当前时刻最近的数据的时间戳,容量表示的是数据集合中所有数据元素的和;
所述数据流信息储存模块,用于将数据流的信息储存在桶中:所述桶在指数直方图中的位置由时间戳决定:层数越高,所述层上的桶的时间戳越旧,层数越低,所述层上的桶的时间戳越新;所述桶的时间戳越旧,表示桶中数据元素离当前时刻越远;桶的时间戳越新,表示桶中数据元素离当前时刻越近;同一层中的桶按时间戳新旧顺序排列;随着数据的不断流入,当有新的数据添加以及旧的数据删除时,进行桶的合并与分解操作,合并分解规则以桶的容量为参考;
所述平均值计算模块,用于查询指数直方图,输出近似平均值:首先计算指数直方图中所有桶的容量之和SUM,如果指数直方图只有一层,则输出近似平均值计算公式为其中N是滑动窗口的大小;如果指数直方图不只一层,则查询时间戳最旧的桶的容量C,输出近似平均值其计算公式为其中N是滑动窗口的大小。
进一步地,所述数据流信息储存模块包括检查子模块、转换子模块以及更新子模块,其中:
所述检查子模块,用于检查是否存在已经超过当前滑动窗口的范围的桶,如存在则从指数直方图中删除其信息;
所述转换子模块,用于从数据流中取出当前到达的数据项,根据用户自定义的精度将数据流中当前到达的数据项转换成整数值;如果转换之后的数据不等于0,则转所述更新子模块;如果等于0,则不转所述更新子模块;
所述更新子模块,用于更新指数直方图中的桶存储的信息,按照桶的分解合并规则对指数直方图中的桶进行分解合并。
进一步地,所述检查子模块检查是否存在桶已经超过当前滑动窗口的时间范围,具体的是通过检查时间戳最旧的桶的时间戳与(t+1)mod(N)是否相等,若两者相等,则表示时间戳最旧的桶超过了当前滑动窗口的时间范围,其中t为当前时刻,N为窗口的大小,其中mod表示取两个整数相除后结果的余数。
进一步地,所述更新子模块包括桶插入子模块、容量比较子模块、多余容量计算子模块以及分解合并子模块,其中:
所述桶插入子模块,用于根据用户自定义的精度将数据流中当前到达的数据项转换成整数值;新建一个桶,时间戳为(t+1)mod(N),容量为当前到达的数据项转换后的值的大小,其中t为当前时刻,N为滑动窗口的大小,将所述桶插入到指数直方图的最低层B0中,用Bi表示指数直方图中的第i层,i从0开始计数;然后从B0层开始逐步检查Bi层中所有桶的容量之和;
所述容量比较子模块,用于如果Bi层中所有桶的容量之和sumi超过Bi层预定义的值Maxsumi,则转所述多余容量计算子模块,否则不必执行剩下子步骤;Maxsumi表示第i层允许的容量和的最大值,Maxsumi=(k+1)*2i,k为用户自定义的整数参数;
所述多余容量计算子模块,用于计算Bi层多余容量D;计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi;
所述分解合并子模块,用于从Bi层时间戳最旧的桶开始一一检查进行分解合并;i增加一个单元,并转所述容量比较子模块,检查Bi层所有桶的容量之和,直到完成所有层的检查。
进一步地,所述分解合并子模块包括多余容量比较子模块、容量相等处理子模块、容量大于处理子模块以及容量小于处理子模块,其中:
所述多余容量比较子模块,用于如果Bi层的多余容量D等于Bi层中时间戳最旧的桶的容量,则转容量相等处理子模块;如果Bi层的多余容量D大于Bi层中时间戳最旧的桶的容量,则转容量大于处理子模块;如果Bi层的多余容量D小于Bi层中时间戳最旧的桶的容量,则转容量小于处理子模块;
所述容量相等处理子模块,用于将Bi层中时间戳最旧的桶插入到Bi+1层中,检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳;不必继续检查Bi层中其余的桶;
所述容量大于处理子模块,用于检查Bi层的多余容量D是否大于2i;如果D大于2i,则将Bi层时间戳最旧的桶的容量减少2i,然后将其插入到Bi+1层中,将Bi层中剩下的桶中时间戳最旧的桶的容量增加2i;检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳;重新计算Bi层的多余容量D,计算规则为计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi,然后转容量相等处理子模块进行桶的合并分解;如果Bi层的多余容量D不大于2i,则直接将Bi层中时间戳最旧的两个桶进行合并,合并后的桶的容量为两桶的容量之和,时间戳为较新的桶的时间戳;重新计算Bi层的多余容量D,计算规则为计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi,然后转容量相等处理子模块进行桶的合并分解;
所述容量小于处理子模块,用于将Bi层中时间戳最旧的桶分解成两个桶,分解后的两个桶的时间戳相同且与分解前的桶的时间戳保持一致,分解后的两个桶的容量之和等于分解前的原始桶的容量;分解后的两个桶中,其中一个桶的容量是D,将该桶插入到Bi+1层中,另外一个桶继续留在Bi层中,Bi层中其余的桶不需要继续检查;检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种估算滑动窗口下数据流平均值的方法,其特征在于,包括以下步骤:
(1)、初始化指数直方图:所述指数直方图把数据元素划分到不同的层次上,每层由若干个桶组成,所述桶用来存储数据流中一段时间内的数据集合信息,所述信息包括数据集合对应的时间戳和容量,所述时间戳表示的是数据集合中距离当前时刻最近的数据的时间戳,容量表示的是数据集合中所有数据元素的和;
(2)、将数据流的信息储存在桶中:所述桶在指数直方图中的位置由时间戳决定:层数越高,所述层上的桶的时间戳越旧,层数越低,所述层上的桶的时间戳越新;所述桶的时间戳越旧,表示桶中数据元素离当前时刻越远;桶的时间戳越新,表示桶中数据元素离当前时刻越近;同一层中的桶按时间戳新旧顺序排列;随着数据的不断流入,当有新的数据添加以及旧的数据删除时,进行桶的合并与分解操作,合并分解规则以桶的容量为参考;
(3)、查询指数直方图,输出近似平均值:首先计算指数直方图中所有桶的容量之和SUM,如果指数直方图只有一层,则输出近似平均值计算公式为其中N是滑动窗口的大小;如果指数直方图不只一层,则查询时间戳最旧的桶的容量C,输出近似平均值其计算公式为其中N是滑动窗口的大小。
2.如权利要求1所述的方法,其特征在于,所述步骤(2)包括以下子步骤:
(2.1)、检查是否存在已经超过当前滑动窗口的范围的桶,如存在则从指数直方图中删除其信息;
(2.2)、从数据流中取出当前到达的数据项,根据用户自定义的精度将数据流中当前到达的数据项转换成整数值;如果转换之后的数据不等于0,则执行步骤(2.3);如果等于0,则不必执行步骤(2.3);
(2.3)、更新指数直方图中的桶存储的信息,按照桶的分解合并规则对指数直方图中的桶进行分解合并。
3.如权利要求2所述的方法,其特征在于,所述步骤(2.1)中检查是否存在桶已经超过当前滑动窗口的时间范围,具体的是通过检查时间戳最旧的桶的时间戳与(t+1)mod(N)是否相等,若两者相等,则表示时间戳最旧的桶超过了当前滑动窗口的时间范围,其中t为当前时刻,N为窗口的大小,其中mod表示取两个整数相除后结果的余数。
4.如权利要求2或3所述的方法,其特征在于,所述步骤(2.3)包括以下子步骤:
(2.3.1)、根据用户自定义的精度将数据流中当前到达的数据项转换成整数值;新建一个桶,时间戳为(t+1)mod(N),容量为当前到达的数据项转换后的值的大小,其中t为当前时刻,N为滑动窗口的大小,将所述桶插入到指数直方图的最低层B0中,用Bi表示指数直方图中的第i层,i从0开始计数;然后从B0层开始逐步检查Bi层中所有桶的容量之和;
(2.3.2)、如果Bi层中所有桶的容量之和sumi超过Bi层预定义的值Maxsumi,则执行步骤(2.3.3),否则不必执行剩下子步骤;Maxsumi表示第i层允许的容量和的最大值,Maxsumi=(k+1)*2i,k为用户自定义的整数参数;
(2.3.3)、计算Bi层多余容量D;计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi;
(2.3.4)、从Bi层时间戳最旧的桶开始一一检查进行分解合并;i增加一个单元,继续执行步骤(2.3.2),检查Bi层所有桶的容量之和,直到完成所有层的检查。
5.如权利要求4所述的方法,其特征在于,所述步骤(2.3.4)包括以下子步骤:
(2.3.4.1)、如果Bi层的多余容量D等于Bi层中时间戳最旧的桶的容量,执行步骤(2.3.4.2),如果Bi层的多余容量D大于Bi层中时间戳最旧的桶的容量,执行步骤(2.3.4.3),如果Bi层的多余容量D小于Bi层中时间戳最旧的桶的容量执行步骤(2.3.4.4);
(2.3.4.2)、将Bi层中时间戳最旧的桶插入到Bi+1层中,检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳;不必继续检查Bi层中其余的桶;
(2.3.4.3)、检查Bi层的多余容量D是否大于2i;如果D大于2i,则将Bi层时间戳最旧的桶的容量减少2i,然后将其插入到Bi+1层中,将Bi层中剩下的桶中时间戳最旧的桶的容量增加2i;检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳;重新计算Bi层的多余容量D,计算规则如步骤(2.3.3)中所述,然后执行步骤(2.3.4.2)进行桶的合并分解;如果Bi层的多余容量D不大于2i,则直接将Bi层中时间戳最旧的两个桶进行合并,合并后的桶的容量为两桶的容量之和,时间戳为较新的桶的时间戳;重新计算Bi层的多余容量D,计算规则如步骤(2.3.3)中所述,继续执行步骤(2.3.4.2)进行桶的合并分解;
(2.3.4.4)、将Bi层中时间戳最旧的桶分解成两个桶,分解后的两个桶的时间戳相同且与分解前的桶的时间戳保持一致,分解后的两个桶的容量之和等于分解前的原始桶的容量;分解后的两个桶中,其中一个桶的容量是D,将该桶插入到Bi+1层中,另外一个桶继续留在Bi层中,Bi层中其余的桶不需要继续检查;检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳。
6.一种估算滑动窗口下数据流平均值的系统,其特征在于,包括指数直方图初始化模块、数据流信息储存模块以及平均值计算模块,其中:
所述指数直方图初始化模块,用于初始化指数直方图:所述指数直方图把数据元素划分到不同的层次上,每层由若干个桶组成,所述桶用来存储数据流中一段时间内的数据集合信息,所述信息包括数据集合对应的时间戳和容量,所述时间戳表示的是数据集合中距离当前时刻最近的数据的时间戳,容量表示的是数据集合中所有数据元素的和;
所述数据流信息储存模块,用于将数据流的信息储存在桶中:所述桶在指数直方图中的位置由时间戳决定:层数越高,所述层上的桶的时间戳越旧,层数越低,所述层上的桶的时间戳越新;所述桶的时间戳越旧,表示桶中数据元素离当前时刻越远;桶的时间戳越新,表示桶中数据元素离当前时刻越近;同一层中的桶按时间戳新旧顺序排列;随着数据的不断流入,当有新的数据添加以及旧的数据删除时,进行桶的合并与分解操作,合并分解规则以桶的容量为参考;
所述平均值计算模块,用于查询指数直方图,输出近似平均值:首先计算指数直方图中所有桶的容量之和SUM,如果指数直方图只有一层,则输出近似平均值计算公式为其中N是滑动窗口的大小;如果指数直方图不只一层,则查询时间戳最旧的桶的容量C,输出近似平均值其计算公式为其中N是滑动窗口的大小。
7.如权利要求6所述的方法,其特征在于,所述数据流信息储存模块包括检查子模块、转换子模块以及更新子模块,其中:
所述检查子模块,用于检查是否存在已经超过当前滑动窗口的范围的桶,如存在则从指数直方图中删除其信息;
所述转换子模块,用于从数据流中取出当前到达的数据项,根据用户自定义的精度将数据流中当前到达的数据项转换成整数值;如果转换之后的数据不等于0,则转所述更新子模块;如果等于0,则不转所述更新子模块;
所述更新子模块,用于更新指数直方图中的桶存储的信息,按照桶的分解合并规则对指数直方图中的桶进行分解合并。
8.如权利要求7所述的方法,其特征在于,所述检查子模块检查是否存在桶已经超过当前滑动窗口的时间范围,具体的是通过检查时间戳最旧的桶的时间戳与(t+1)mod(N)是否相等,若两者相等,则表示时间戳最旧的桶超过了当前滑动窗口的时间范围,其中t为当前时刻,N为窗口的大小,其中mod表示取两个整数相除后结果的余数。
9.如权利要求7或8所述的方法,其特征在于,所述更新子模块包括桶插入子模块、容量比较子模块、多余容量计算子模块以及分解合并子模块,其中:
所述桶插入子模块,用于根据用户自定义的精度将数据流中当前到达的数据项转换成整数值;新建一个桶,时间戳为(t+1)mod(N),容量为当前到达的数据项转换后的值的大小,其中t为当前时刻,N为滑动窗口的大小,将所述桶插入到指数直方图的最低层B0中,用Bi表示指数直方图中的第i层,i从0开始计数;然后从B0层开始逐步检查Bi层中所有桶的容量之和;
所述容量比较子模块,用于如果Bi层中所有桶的容量之和sumi超过Bi层预定义的值Maxsumi,则转所述多余容量计算子模块,否则不必执行剩下子步骤;Maxsumi表示第i层允许的容量和的最大值,Maxsumi=(k+1)*2i,k为用户自定义的整数参数;
所述多余容量计算子模块,用于计算Bi层多余容量D;计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi;
所述分解合并子模块,用于从Bi层时间戳最旧的桶开始一一检查进行分解合并;i增加一个单元,并转所述容量比较子模块,检查Bi层所有桶的容量之和,直到完成所有层的检查。
10.如权利要求9所述的方法,其特征在于,所述分解合并子模块包括多余容量比较子模块、容量相等处理子模块、容量大于处理子模块以及容量小于处理子模块,其中:
所述多余容量比较子模块,用于如果Bi层的多余容量D等于Bi层中时间戳最旧的桶的容量,则转容量相等处理子模块;如果Bi层的多余容量D大于Bi层中时间戳最旧的桶的容量,则转容量大于处理子模块;如果Bi层的多余容量D小于Bi层中时间戳最旧的桶的容量,则转容量小于处理子模块;
所述容量相等处理子模块,用于将Bi层中时间戳最旧的桶插入到Bi+1层中,检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳;不必继续检查Bi层中其余的桶;
所述容量大于处理子模块,用于检查Bi层的多余容量D是否大于2i;如果D大于2i,则将Bi层时间戳最旧的桶的容量减少2i,然后将其插入到Bi+1层中,将Bi层中剩下的桶中时间戳最旧的桶的容量增加2i;检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳;重新计算Bi层的多余容量D,计算规则为计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi,然后转容量相等处理子模块进行桶的合并分解;如果Bi层的多余容量D不大于2i,则直接将Bi层中时间戳最旧的两个桶进行合并,合并后的桶的容量为两桶的容量之和,时间戳为较新的桶的时间戳;重新计算Bi层的多余容量D,计算规则为计算规则是如果(sumi-Minsumi)mod2i+1等于0,则Bi层多余容量D的计算公式为sumi-Minsumi;如果(sumi-Minsumi)mod2i+1不等于0,则Bi层多余容量D的计算公式为sumi-Maxsumi,然后转容量相等处理子模块进行桶的合并分解;
所述容量小于处理子模块,用于将Bi层中时间戳最旧的桶分解成两个桶,分解后的两个桶的时间戳相同且与分解前的桶的时间戳保持一致,分解后的两个桶的容量之和等于分解前的原始桶的容量;分解后的两个桶中,其中一个桶的容量是D,将该桶插入到Bi+1层中,另外一个桶继续留在Bi层中,Bi层中其余的桶不需要继续检查;检查Bi+1层中时间戳最新的桶的时间戳与Bi+1层中新插入的桶的时间戳是否相同,如果相同,则将两桶合并,合并之后的容量为两桶容量之和,合并之后的桶的时间戳为原始桶的时间戳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410315983.8A CN104090952B (zh) | 2014-07-02 | 2014-07-02 | 一种估算滑动窗口下的数据流平均值的方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410315983.8A CN104090952B (zh) | 2014-07-02 | 2014-07-02 | 一种估算滑动窗口下的数据流平均值的方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104090952A true CN104090952A (zh) | 2014-10-08 |
CN104090952B CN104090952B (zh) | 2017-09-26 |
Family
ID=51638668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410315983.8A Expired - Fee Related CN104090952B (zh) | 2014-07-02 | 2014-07-02 | 一种估算滑动窗口下的数据流平均值的方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104090952B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247962A (zh) * | 2017-05-23 | 2017-10-13 | 华中科技大学 | 一种基于滑动窗口的实时电器识别方法和系统 |
CN108140047A (zh) * | 2016-01-05 | 2018-06-08 | 华为技术有限公司 | 数据处理装置和方法以及数据容器结构 |
CN108153591A (zh) * | 2017-12-05 | 2018-06-12 | 深圳竹信科技有限公司 | 数据流实时处理方法、装置及存储介质 |
CN109783520A (zh) * | 2018-12-26 | 2019-05-21 | 东华大学 | 基于滑动窗口的可伸缩的大规模流数据顺序特征维持方法 |
CN111177140A (zh) * | 2020-01-02 | 2020-05-19 | 云南昆船电子设备有限公司 | 一种卷烟制丝线生产过程数据清洗系统和方法 |
CN112417500A (zh) * | 2020-11-18 | 2021-02-26 | 华南师范大学 | 一种隐私保护的数据流统计发布方法 |
CN115963506A (zh) * | 2023-03-16 | 2023-04-14 | 杭州宇称电子技术有限公司 | 单光子雪崩二极管直接时间飞行测距方法、装置及其应用 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130155892A1 (en) * | 2008-01-02 | 2013-06-20 | Iowa State University Research Foundation, Inc. | Computing Time-Decayed Aggregates in Data Streams |
CN103279679A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于链式可重写窗口的数据流在线预测方法 |
-
2014
- 2014-07-02 CN CN201410315983.8A patent/CN104090952B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130155892A1 (en) * | 2008-01-02 | 2013-06-20 | Iowa State University Research Foundation, Inc. | Computing Time-Decayed Aggregates in Data Streams |
CN103279679A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于链式可重写窗口的数据流在线预测方法 |
Non-Patent Citations (1)
Title |
---|
欧阳佳: "基于滑动窗口与网格密度的数据流聚类算法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108140047A (zh) * | 2016-01-05 | 2018-06-08 | 华为技术有限公司 | 数据处理装置和方法以及数据容器结构 |
CN108140047B (zh) * | 2016-01-05 | 2021-06-29 | 华为技术有限公司 | 数据处理装置和方法以及数据容器结构 |
CN107247962A (zh) * | 2017-05-23 | 2017-10-13 | 华中科技大学 | 一种基于滑动窗口的实时电器识别方法和系统 |
CN107247962B (zh) * | 2017-05-23 | 2019-07-05 | 华中科技大学 | 一种基于滑动窗口的实时电器识别方法和系统 |
CN108153591A (zh) * | 2017-12-05 | 2018-06-12 | 深圳竹信科技有限公司 | 数据流实时处理方法、装置及存储介质 |
CN109783520A (zh) * | 2018-12-26 | 2019-05-21 | 东华大学 | 基于滑动窗口的可伸缩的大规模流数据顺序特征维持方法 |
CN111177140A (zh) * | 2020-01-02 | 2020-05-19 | 云南昆船电子设备有限公司 | 一种卷烟制丝线生产过程数据清洗系统和方法 |
CN111177140B (zh) * | 2020-01-02 | 2023-07-28 | 云南昆船电子设备有限公司 | 一种卷烟制丝线生产过程数据清洗系统和方法 |
CN112417500A (zh) * | 2020-11-18 | 2021-02-26 | 华南师范大学 | 一种隐私保护的数据流统计发布方法 |
CN115963506A (zh) * | 2023-03-16 | 2023-04-14 | 杭州宇称电子技术有限公司 | 单光子雪崩二极管直接时间飞行测距方法、装置及其应用 |
CN115963506B (zh) * | 2023-03-16 | 2023-05-23 | 杭州宇称电子技术有限公司 | 单光子雪崩二极管直接时间飞行测距方法、装置及其应用 |
Also Published As
Publication number | Publication date |
---|---|
CN104090952B (zh) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104090952A (zh) | 一种估算滑动窗口下的数据流平均值的方法与系统 | |
Wang et al. | Deep learning-based interval state estimation of AC smart grids against sparse cyber attacks | |
WO2018014825A1 (zh) | 一种风电机组对风误差自动校准方法及装置 | |
Muckell et al. | SQUISH: an online approach for GPS trajectory compression | |
CN104680250B (zh) | 一种位置预测系统 | |
CN109727446B (zh) | 一种用电数据异常值的识别与处理方法 | |
Dai et al. | Finding persistent items in distributed datasets | |
CN101419630B (zh) | 一种数据流中Top-k项的挖掘方法及系统 | |
CN104036139A (zh) | 一种移动对象轨迹监测方法 | |
CN103995828B (zh) | 一种云存储日志数据分析方法 | |
US10169364B2 (en) | Gauging accuracy of sampling-based distinct element estimation | |
CN115271407A (zh) | 基于人工智能的工业互联网数据处理方法及系统 | |
Schmid et al. | A comparison of AI-based throughput prediction for cellular vehicle-to-server communication | |
Kim et al. | An adaptive step-down procedure for fault variable identification | |
CN105302833A (zh) | 一种基于内容的视频检索数学模型建立方法 | |
CN110781232A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112565227B (zh) | 异常任务的检测方法和装置 | |
CN111771195A (zh) | 流处理设备和数据流处理方法 | |
CN101908117A (zh) | 一种基于资产cia的信息安全事件的定级管理方法和装置 | |
Jin et al. | Low cost network traffic measurement and fast recovery via redundant row subspace-based matrix completion | |
KR102567603B1 (ko) | 선형 보간법을 이용한 삼각함수 계산 방법 및 장치 | |
Chen et al. | Pomelo: accurate and decentralized shortest-path distance estimation in social graphs | |
CN117235651B (zh) | 基于物联网的企业信息数据优化管理系统 | |
CN111460110B (zh) | 异常文本检测方法、异常文本序列检测方法及装置 | |
CN112671595B (zh) | 网络特征的获取方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170926 |