CN115129482A - 大数据滑动窗口统计方法、装置、存储介质及计算设备 - Google Patents
大数据滑动窗口统计方法、装置、存储介质及计算设备 Download PDFInfo
- Publication number
- CN115129482A CN115129482A CN202211059654.2A CN202211059654A CN115129482A CN 115129482 A CN115129482 A CN 115129482A CN 202211059654 A CN202211059654 A CN 202211059654A CN 115129482 A CN115129482 A CN 115129482A
- Authority
- CN
- China
- Prior art keywords
- data
- sliding window
- original
- counted
- correction
- 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.)
- Pending
Links
- 238000007619 statistical method Methods 0.000 title claims abstract description 25
- 238000012937 correction Methods 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000007726 management method Methods 0.000 claims description 19
- 238000013500 data storage Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Complex Calculations (AREA)
Abstract
本申请公开一种大数据滑动窗口统计方法、装置、存储介质及计算设备,涉及数据处理领域。所述方法包括:根据待统计的数据生成滑动窗口,计算所述滑动窗口范围内所有数据的第一统计值;当所述待统计的数据发生变化时,根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值。解决了现有技术数据统计中计算量大的技术问题。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种大数据滑动窗口统计方法、装置、存储介质及计算设备。
背景技术
现有的数据统计方法,都是将数据从头到尾,或者是对统计窗口内所有数据,依次计算和、均值、均方差、标准差等统计数值。当有新的数据加入,或者统计窗口的位置、宽度有所变化时,都需要再次重新计算所有数据的统计数值。当数据元素个数较多时,其计算量非常大,会消耗宝贵的CPU性能,而且在大数据处理时,需要频繁调整统计窗口的位置和宽度,此时CPU根本就忙不过来了,无法满足实时统计的要求。
针对上述现有技术数据统计中计算量大的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种大数据滑动窗口统计方法、装置、存储介质及计算设备,以至少解决现有技术数据统计中计算量大的技术问题。
根据本申请实施例的一个方面,提供了一种大数据滑动窗口统计方法,该方法包括:根据待统计数据生成滑动窗口,计算所述滑动窗口范围内所有数据的第一统计值,其中所述滑动窗口的原起始位置和原结束位置分别为所述待统计数据的第一项和最后一项;当所述待统计数据发生变化时,根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值。
根据本申请实施例的另一个方面,提供了一种大数据滑动窗口统计装置,该装置包括:数据存储模块,用于存储待统计数据;滑动窗口管理模块,具有起始位置指针和结束位置指针,用于根据所述起始位置指针和结束位置指针限定滑动窗口的位置和宽度;统计模块,用于根据传入的统计项指示信号,根据滑动窗口限定的数据范围,计算滑动窗口范围内所有数据的与统计项指示信号对应的统计值;处理模块,被配置为读取数据存储模块中存储的待统计数据,调用滑动窗口管理模块生成与待统计数据对应的滑动窗口,调用统计模块计算所述滑动窗口范围内所有数据的第一统计值,其中所述滑动窗口的原起始位置和原结束位置分别为所述待统计数据的第一项和最后一项;当所述数据存储模块中存储的待统计数据发生变化时,调用滑动窗口管理模块根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;调用统计模块计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值。根据本申请实施例的另一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任一实施例的方法。
根据本申请实施例的另一个方面,提供了一种计算设备,包括处理器,处理器用于运行程序,其中,程序运行时执行上述任一实施例的方法。
在本申请实施例中,根据待统计数据生成滑动窗口,计算所述滑动窗口范围内所有数据的第一统计值,其中所述滑动窗口的原起始位置和原结束位置分别为所述待统计数据的第一项和最后一项;当所述待统计数据发生变化时,根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值,实现快速计算更新的滑动窗口内数据统计值的技术效果,进而解决了现有技术数据统计中计算量大的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现大数据滑动窗口统计方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种大数据滑动窗口统计方法的流程图;
图3是根据本申请实施例的又一种大数据滑动窗口统计方法的流程图;
图4是根据本申请实施例的一种大数据滑动窗口统计装置的结构示意图;
图5是根据本申请实施例的又一种大数据滑动窗口统计装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,还提供了一种大数据滑动窗口统计方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端或者计算机终端等硬件设备中执行。图1示出了一种用于实现大数据滑动窗口统计方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10可以包括处理器(102a,102b……102n)、存储器104、网络接口,输入输出接口(I/O接口),其中网络接口通过传输装置106连接其他设备或网络进行通信,输入输出接口可连接多种外设,例如光标控制设备,键盘,显示器等。其中,处理器(102a,102b……102n)可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置,存储器104中有数据存储装置以及存储于其中的程序指令。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
上述一个或多个处理器(102a,102b……102n)和/或其他数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的大数据滑动窗口统计方法对应的程序指令/数据存储装置,处理器(102a,102b……102n)通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器(102a,102b……102n)远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处,需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
本申请在上述运行环境下运行如图2所示的一种大数据滑动窗口统计方法。图2是根据本申请实施例的大数据滑动窗口统计方法的流程图,如图2所示,大数据滑动窗口统计方法可以包括:
步骤S202:根据待统计数据生成滑动窗口,计算所述滑动窗口范围内所有数据的第一统计值,其中所述滑动窗口的原起始位置和原结束位置分别为所述待统计数据的第一项和最后一项;
在上述步骤S202中,待统计数据可存储于计算设备的硬盘、内存、高速缓存等地方,可以通过起始位置指针和结束位置指针来定位滑动窗口,统计值例如包括数据和,数据均值,数据均方差以及数据标准差中的任一种或多种。例如,计算当前所有数据的和、均值、均方差、标准差,并保存数据元素的个数,此个数就是滑动窗口的宽度,且滑动窗口的起始位置是第一个数据元素。
步骤S204:当所述待统计数据发生变化时,根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;
在上述步骤S204中,待统计数据发生变化可以包括:待统计数据的增加、删除、修改,其中修改同时包含增加和删除,例如补充了新增数据后,将滑动窗口整体向后移位。以增加为例,测量或收集得到新的数据,添加到现有数据的后面(尾部),形成完整的大数据;移动滑动窗口的起始位置到所需开始统计的数据元素处,并且/或者调整滑动窗口的宽度,即调整需要统计的数据元素个数。
步骤S206:计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;
在上述步骤S206中,起始修正统计值和/或结束修正统计值的种类,可以与第一统计值的种类完全相同,也可以与第一统计值的种类不同,例如为多个第一统计值中的其中一种或几种。例如,统计滑动窗口当前起始位置和以前的起始位置间的所有数据的和、平方和;统计滑动窗口当前结束位置和以前的结束位置间的所有数据的和、平方和。
步骤S208:根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值。
在上述步骤S208中,利用步骤S202和步骤S206的数据,可以快速计算出当前滑动窗口内所有数据的和、均值、均方差、标准差。其中第二统计值可以与第一统计值种类相同,也可以不同。
综上所述,计算当前所有数据的第一统计值,即和、均值、均方差、标准差,并保存数据元素的个数,此个数就是滑动窗口的宽度,且滑动窗口的起始位置是第一个数据元素;测量或收集得到新的数据,添加到现有数据的后面(尾部),形成完整的大数据;移动滑动窗口的起始位置到所需开始统计的数据元素处,并且/或者调整滑动窗口的宽度,即调整需要统计的数据元素个数;统计当前滑动窗口当前起始位置和以前起始位置间的起始修正统计值,即所有数据的和、平方和;统计当前滑动窗口结束位置和以前结束位置间的结束修正统计值,即所有数据的和、平方和;利用前述步骤得到的起始修正统计值和结束修正统计值对所述第一统计值进行修正,充分利用滑动窗口内存在大量不变的数据元素特点,可以快速计算出当前滑动窗口内所有数据的和、均值、均方差、标准差。
可选地,所述第一统计值包括:第一数据和,第一数据均值,第一数据均方差以及第一数据标准差;
所述起始修正统计值包括:起始修正数据和,起始修正数据平方和;
所述结束修正统计值包括:结束修正数据和,结束修正数据平方和;
所述第二统计值包括:第二数据和,第二数据均值,第二数据均方差以及第二数据标准差。
可选地,步骤S204:当所述待统计数据发生变化时,根据变化后的数据调整滑动窗口包括:
步骤S2042:判断待统计数据发生变化的类型;
步骤S2044:当接收到新增的待统计数据时,将新增数据续接至原有待统计数据的尾部,维持滑动窗口的原起始位置,并将滑动窗口的结束位置调整至新增数据的最后一项;
步骤S2046:当减少待统计的数据时,将所有被删除的数据全部移动至原统计数据的头部,维持滑动窗口的原结束位置,并将滑动窗口的起始位置调整至未被删除数据的第一项;
上述步骤中,被删除的数据可以连续,也可以分散在原统计数据的不同位置处,当接收到删除指令需要删除一部分统计数据时,将待删除的统计数据全部移动到原统计数据的头部,并调整起始位置指针,使其指向未被删除数据的第一项,这样的处理操作,当需要删除的数据是原大量数据结构中零散分布的数据时,能极大提高统计效率。
步骤S2048:当新增待统计数据同时减少待统计数据时,将新增数据续接至原有待统计数据的尾部,将所有被删除的数据全部移动至原统计数据的头部,将滑动窗口的起始位置调整至未被删除数据的第一项,将滑动窗口的结束位置调整至新增数据的最后一项。
上述步骤中,既存在新增数据又存在删除数据时则同时调整起始位置指针和结束位置指针,当新增的数据与删除数据量相同时则无需调整滑动窗口的宽度,否则滑动窗口的宽度跟随起始位置指针和结束位置指针自动调整。将待删的数据放入头部,将待增加的数据放入尾部,同时移动指针,这样的处理操作,当需要删除的数据和需要增加的数据量远小于原统计数据时能极大提高统计效率。
可选地,步骤S204:当所述待统计数据发生变化时,根据变化后的数据调整滑动窗
口包括:当减少待统计数据时,将所有被删除的数据全部移动至n项原统计数据的尾部,维
持滑动窗口的原起始位置,并将滑动窗口的结束位置调整至未被删除数据的最后一项,
其中k项以后至n项的数据为被删除的数据;
可选地,步骤S202根据待统计数据生成滑动窗口,计算所述滑动窗口范围内所有数据的第一统计值包括:
可选地,在步骤S206:计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值之前,所述方法还包括:
步骤S2052:当所述待统计数据发生变化时,预估直接计算变化后的待统计数据的第二统计值的第一资源开销以及修正第一统计值以得到第二统计值的第二资源开销;
步骤S2054:对所述第一资源开销和第二资源开销进行评估;
步骤S2056:当所述第一资源开销大于第二资源开销时,执行计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值的步骤;
步骤S2058:当所述第一资源开销小于第二资源开销时,直接计算调整后的滑动窗口范围内所有数据的第二统计值。
本申请增加上述评估步骤,在进行统计运算之前,先评估直接计算第二统计值的第一资源开销,与计算修正值和进行修正操作的第二资源开销,能够准确判断哪一种操作更能节省CPU处理资源,避免直接采取单一计算方式造成的资源浪费。而确认资源开销的运算并不复杂,至少其所需的处理资源远远小于统计运算所需的资源,执行评估的步骤虽然占用了部分系统资源,但是这种微量资源的占用却是十分必要和有效的,其提供的动态运算方式具有更大的兼容性,本质上是评估待统计数据发生了微小变化还是巨大变化,在微小变化时采取修正操作,在巨大变化时采取重新计算,具有更高的灵活性、兼容性以及处理效率。
可选地,步骤S2052:当所述待统计数据发生变化时,预估直接计算变化后的待统计数据的第二统计值的第一资源开销以及修正第一统计值以得到第二统计值的第二资源开销包括:
步骤S20552:判断变化后的待统计数据中的元素项数,设置第一资源开销与所述元素项数正相关;
例如,变化后的待统计数据为1000项,则第一资源开销设为1000或其加权值。
步骤S20554:判断所述原起始位置与所述第一起始位置之间的数据的元素项数,和/或所述原结束位置与所述第一结束位置之间的数据的元素项数,设置第二资源开销与所述元素项数正相关;
例如,所述原起始位置与所述第一起始位置之间的数据的元素项数为50,结束位置与所述第一结束位置之间的数据的元素项数为80,则第二资源开销设为130或其加权值。
步骤S20556:判断所需的第二统计值的类型,评估对所述第一统计值进行修正得到指定类型的第二统计值的附加资源开销;
例如,第二统计值仅为求和,则附加资源开销设为10,第二统计值为求标准差,则附加资源开销设为200。以上数字仅为示例,不构成对本申请技术构思的限制,其实际使用值可根据需求或经验进行设置和调整。
步骤S20558:将所述附加资源开销纳入所述第二资源开销。
例如,最终得到的第二资源开销为330,第一资源开销为1000,则第二资源开销远小于第一资源开销,则决定执行计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值的步骤。
在一种具体实施例中,本申请提供的大数据滑动窗口统计方法包括:
步骤一,计算当前所有数据的和、均值、均方差、标准差,并保存数据元素的个数,此个数就是滑动窗口的宽度,且滑动窗口的起始位置是第一个数据元素;
步骤二,测量或收集得到新的数据,添加到现有数据的后面(尾部),形成完整的大数据;
步骤三,移动滑动窗口的起始位置到所需开始统计的数据元素处,并且/或者调整滑动窗口的宽度,即调整需要统计的数据元素个数;
步骤四,统计当前滑动窗口当前起始位置和以前起始位置间的所有数据的和、平方和;
步骤五,统计当前滑动窗口结束位置和以前结束位置间的所有数据的和、平方和;
步骤六,按照标准差的定义进行扩展推导,利用步骤一、步骤四、步骤五的数据,充分利用滑动窗口内存在大量不变的数据元素特点,可以快速计算出当前滑动窗口内所有数据的和、均值、均方差、标准差;
步骤七,判断数据流是否结束,当未结束时,将步骤六中的统计数值,替换步骤一中的和、均值、均方差、标准差、元素个数,并转入步骤二,否则结束。
步骤四中,以如下方式处理滑动窗口前面变化区域:统计当前滑动窗口当前起始位置和以前起始位置间的所有数据的和、平方和;
步骤五中,以如下方式处理滑动窗口后面变化区域:统计当前滑动窗口结束位置和以前结束位置间的所有数据的和、平方和;
步骤六中,扩展推导标准差的计算公式,充分利用滑动窗口内存在大量不变的数据元素特点,快速计算出当前滑动窗口内所有数据的和、均值、均方差、标准差。
其中,步骤一、步骤四、步骤五中,统计数据的和、平方和时,可以按照标准的方式进行数据元素的求和、平方和数值,也可以采用并行机制以便加快统计速度。
对均方差进行推导:
由此可以得到:
等式右边的所有数据,就是所述的滑动窗口大数据快速统计方法中的步骤一、步骤七得到的数据,也就是当前滑动窗口中所有数据的统计结果。
首先考虑只调整滑动窗口的起始位置,不变动滑动窗口结束位置的情况,例如滑动窗口起始位置调整到数据元素𝑎𝑘(1<𝑘<𝑛),令:
则:
将公式1的右侧代入公式5的左侧,可得:
等式左边的数值都是上次滑动窗口已经计算过、并保存下来的数值。
将公式2、3、4代入公式6,就可以计算出本次滑动窗口内所有数据的均方差、标准差。
这就是所述的滑动窗口大数据快速统计方法中的步骤四所述的只需计算相应的和、平方和的原理。
类似的方法,可以推导不变动滑动窗口起始位置、只变动滑动窗口宽度(即只调整n)的均方差公式。
类似的方法,可以推导同时变动滑动窗口起始位置和滑动窗口宽度的均方差公式。
所有推导结果都显示,新的滑动窗口内所有数据的均方差,都只需要计算窗口前后位置变化范围内有限数据元素的和、平方和,再结合上次滑动窗口的统计数值,进行简单计算即可。
图3是根据本申请实施例的又一种大数据滑动窗口统计方法的流程图;如图3所示,该方法流程的具体步骤如下:
步骤1101,初始化数据存储模块、申请数据存储空间;初始化滑动窗口管理模块、设置滑动窗口起始位置为0、窗口宽度为0,并设置统计和、均值、均方差、标准差数值为0;
步骤1102,读取数据,调用数据存储模块接口进行保存。为了减少空间占用以及加快访问,可以结合数组和双向链表来进行存储。
步骤1103,滑动窗口,调用滑动窗口管理模块计算统计和、均值、均方差、标准差数值。
步骤1104,判断是否还有更多数据,如果没有,则结束。否则,进入步骤1105。
步骤1105,更新滑动窗口管理模块中的滑动窗口起始位置、窗口宽度,以及统计和、均值、均方差、标准差数值,并转入步骤1102。
与现有技术相比,本发明的有益技术效果是:相对计算滑动窗口中所有数据元素的统计数值,本发明提出的滑动窗口大数据快速统计方法,能在频繁调整统计窗口位置和宽度时,满足实时计算大数据量的统计数值的要求。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的大数据滑动窗口统计方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述大数据滑动窗口统计方法的大数据滑动窗口统计装置,该装置以软件或硬件方式实现。
与上述方法实施例对应,本申请提供的一种大数据滑动窗口统计装置包括:
生成模块,用于根据待统计数据生成滑动窗口,计算所述滑动窗口范围内所有数据的第一统计值,其中所述滑动窗口的原起始位置和原结束位置分别为所述待统计数据的第一项和最后一项;
调整模块,用于当所述待统计数据发生变化时,根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;
计算模块,用于计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;
修正模块,用于根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值。
图4是根据本申请实施例的一种大数据滑动窗口统计装置的结构示意图;如图4所示,该装置400包括:数据存储模块4002,滑动窗口管理模块4004,统计模块4006,处理模块4008,其中:
数据存储模块,用于存储待统计数据;
滑动窗口管理模块,具有起始位置指针和结束位置指针,用于根据所述起始位置指针和结束位置指针限定滑动窗口的位置和宽度;
统计模块,用于根据传入的统计项指示信号,根据滑动窗口限定的数据范围,计算滑动窗口范围内所有数据的与统计项指示信号对应的统计值;
处理模块,被配置为读取数据存储模块中存储的待统计数据,调用滑动窗口管理模块生成与待统计数据对应的滑动窗口,调用统计模块计算所述滑动窗口范围内所有数据的第一统计值,其中所述滑动窗口的原起始位置和原结束位置分别为所述待统计数据的第一项和最后一项;当所述数据存储模块中存储的待统计数据发生变化时,调用滑动窗口管理模块根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;调用统计模块计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值。图5是根据本申请实施例的又一种大数据滑动窗口统计装置的结构示意图。如图5所示,该装置包括:
数据存储模块,用于存储新添加进来需要统计的数据。
统计和的模块,用于计算指定起始、结束位置的数据的统计和。
统计平方和的模块,用于计算指定起始、结束位置的数据的统计平方和。
滑动窗口管理模块,用于存储滑动窗口当前的起始位置、宽度,统计结果,并判断滑动窗口的起始位置移动状态、滑动窗口的宽度调整状态,并给出滑动窗口新的起始位置和当前起始位置间的数据元素起始、结束位置,以及新的结束位置和当前的结束位置间的数据元素起始、结束位置,并将相关数据元素位置信息提供给统计和的模块、统计平方和的模块。
统计均方差/标准差的模块,使用滑动窗口管理模块得到的数值与公式6计算滑动窗口内所有数据元素的均方差、标准差。
判断处理模块,连接所述滑动窗口管理模块、数据存储模块、统计均方差/标准差的模块,用于判断数据流是否结束,当数据流未结束时,将所述滑动窗口计算出的均方差、标准差替换到滑动窗口管理模块中的对应统计数值,并用新的滑动窗口起始位置、宽度替换当前的起始位置、宽度,作为下一次计算新的统计数值的原始数据。
所述滑动窗口管理模块,用于存储滑动窗口当前的起始位置、宽度,统计结果,并判断滑动窗口的起始位置移动状态、滑动窗口的宽度调整状态,并给出滑动窗口新的起始位置和当前起始位置间的数据元素起始、结束位置,以及新的结束位置和当前的结束位置间的数据元素起始、结束位置,并将相关数据元素位置信息提供给统计和的模块、统计平方和的模块。
所述统计均方差/标准差的模块,使用滑动窗口管理模块得到的数值与公式6计算滑动窗口内所有数据元素的均方差、标准差。
进一步地,在本实施例中,该装置可以包括与实施例1任一方法步骤对应的功能模块,囿于篇幅不再赘述。
实施例3
本申请的实施例可以提供一种计算设备,该计算设备可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算设备也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述计算设备包括一个或多个处理器、存储器、以及传输装置。其中,存储器可用于存储软件程序以及模块,如本申请实施例中的大数据滑动窗口统计方法和装置对应的程序指令/模块。处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的大数据滑动窗口统计方法。
可选地,存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在本实施例中,上述计算设备中的处理器运行存储的程序代码时可以执行以下方法步骤:根据待统计的数据生成滑动窗口,计算所述滑动窗口范围内所有数据的第一统计值,其中所述滑动窗口的原起始位置和原结束位置分别为所述待统计数据的第一项和最后一项;当所述待统计的数据发生变化时,根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值。。
进一步地,在本实施例中,上述计算设备中的处理器运行存储的程序代码时可以执行实施例1中所列举的任一方法步骤,囿于篇幅不再赘述。
实施例4
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述大数据滑动窗口统计方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据待统计数据生成滑动窗口,计算所述滑动窗口范围内所有数据的第一统计值,其中所述滑动窗口的原起始位置和原结束位置分别为所述待统计数据的第一项和最后一项;当所述待统计数据发生变化时,根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值。进一步地,在本实施例中,存储介质被设置为存储用于执行实施例1中所列举的任一方法步骤的程序代码,囿于篇幅不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种大数据滑动窗口统计方法,其特征在于,该方法包括:
根据待统计数据生成滑动窗口,计算所述滑动窗口范围内所有数据的第一统计值,其中所述滑动窗口的原起始位置和原结束位置分别为所述待统计数据的第一项和最后一项;
当所述待统计数据发生变化时,根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;
计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;
根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值。
2.根据权利要求1所述的方法,其特征在于,其中:
所述第一统计值包括:第一数据和,第一数据均值,第一数据均方差以及第一数据标准差;
所述起始修正统计值包括:起始修正数据和,起始修正数据平方和;
所述结束修正统计值包括:结束修正数据和,结束修正数据平方和;
所述第二统计值包括:第二数据和,第二数据均值,第二数据均方差以及第二数据标准差。
3.根据权利要求2所述的方法,其特征在于,当所述待统计数据发生变化时,根据变化后的数据调整滑动窗口包括:
判断待统计数据发生变化的类型;
当接收到新增的待统计数据时,将新增数据续接至原有待统计数据的尾部,维持滑动窗口的原起始位置,并将滑动窗口的结束位置调整至新增数据的最后一项;
当减少待统计的数据时,将所有被删除的数据全部移动至原有待统计数据的头部,维持滑动窗口的原结束位置,并将滑动窗口的起始位置调整至未被删除数据的第一项;
当新增待统计数据同时减少待统计数据时,将新增数据续接至原有待统计数据的尾部,将所有被删除的数据全部移动至原有待统计数据的头部,将滑动窗口的起始位置调整至未被删除数据的第一项,将滑动窗口的结束位置调整至新增数据的最后一项。
4.根据权利要求2所述的方法,其特征在于,当所述待统计数据发生变化时,根据变化
后的数据调整滑动窗口包括:当减少待统计数据时,将所有被删除的数据全部移动至n项原
有待统计数据的尾部,维持滑动窗口的原起始位置,并将滑动窗口的结束位置调整至未被
删除数据的最后一项,其中k项以后至n项的数据为被删除的数据;
5.根据权利要求1所述的方法,其特征在于,在计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值之前,所述方法还包括:
当所述待统计数据发生变化时,预估直接计算变化后的待统计数据的第二统计值的第一资源开销以及修正第一统计值以得到第二统计值的第二资源开销;
对所述第一资源开销和第二资源开销进行评估;
当所述第一资源开销大于第二资源开销时,执行计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值的步骤;
当所述第一资源开销小于第二资源开销时,直接计算调整后的滑动窗口范围内所有数据的第二统计值。
6.根据权利要求5所述的方法,其特征在于,预估直接计算变化后的待统计数据的第二统计值的第一资源开销以及修正第一统计值以得到第二统计值的第二资源开销包括:
判断变化后的待统计数据中的元素项数,设置第一资源开销与所述元素项数正相关;
判断所述原起始位置与所述第一起始位置之间的数据的元素项数,和/或所述原结束位置与所述第一结束位置之间的数据的元素项数,设置第二资源开销与所述元素项数正相关;
判断所需的第二统计值的类型,评估对所述第一统计值进行修正得到指定类型的第二统计值的附加资源开销;
将所述附加资源开销纳入所述第二资源开销。
7.一种大数据滑动窗口统计装置,其特征在于,该装置包括:
数据存储模块,用于存储待统计数据;
滑动窗口管理模块,具有起始位置指针和结束位置指针,用于根据所述起始位置指针和结束位置指针限定滑动窗口的位置和宽度;
统计模块,用于根据传入的统计项指示信号,根据滑动窗口限定的数据范围,计算滑动窗口范围内所有数据的与统计项指示信号对应的统计值;
处理模块,被配置为读取数据存储模块中存储的待统计数据,调用滑动窗口管理模块生成与待统计数据对应的滑动窗口,调用统计模块计算所述滑动窗口范围内所有数据的第一统计值,其中所述滑动窗口的原起始位置和原结束位置分别为所述待统计数据的第一项和最后一项;当所述数据存储模块中存储的待统计的数据发生变化时,调用滑动窗口管理模块根据变化后的数据调整滑动窗口,使其具有不同于原起始位置的第一起始位置和/或不同于原结束位置的第一结束位置;调用统计模块计算所述原起始位置与所述第一起始位置之间的数据的起始修正统计值,和/或所述原结束位置与所述第一结束位置之间的数据的结束修正统计值;根据所述起始修正统计值和/或所述结束修正统计值对所述第一统计值进行修正,得到调整后的滑动窗口范围内所有数据的第二统计值。
8.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-6任一项所述的方法。
9.一种计算设备,包括处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211059654.2A CN115129482A (zh) | 2022-09-01 | 2022-09-01 | 大数据滑动窗口统计方法、装置、存储介质及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211059654.2A CN115129482A (zh) | 2022-09-01 | 2022-09-01 | 大数据滑动窗口统计方法、装置、存储介质及计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115129482A true CN115129482A (zh) | 2022-09-30 |
Family
ID=83387022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211059654.2A Pending CN115129482A (zh) | 2022-09-01 | 2022-09-01 | 大数据滑动窗口统计方法、装置、存储介质及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115129482A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888107A (zh) * | 2016-06-08 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种滑动窗口业务数据确定方法及装置 |
US20190102427A1 (en) * | 2017-09-29 | 2019-04-04 | Oracle International Corporation | Online optimizer statistics maintenance during load |
CN113625991A (zh) * | 2021-06-30 | 2021-11-09 | 同盾科技有限公司 | 一种实时指标计算的方法、系统、电子装置和存储介质 |
-
2022
- 2022-09-01 CN CN202211059654.2A patent/CN115129482A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888107A (zh) * | 2016-06-08 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种滑动窗口业务数据确定方法及装置 |
US20190102427A1 (en) * | 2017-09-29 | 2019-04-04 | Oracle International Corporation | Online optimizer statistics maintenance during load |
CN113625991A (zh) * | 2021-06-30 | 2021-11-09 | 同盾科技有限公司 | 一种实时指标计算的方法、系统、电子装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902819B (zh) | 神经网络计算方法、装置、移动终端及存储介质 | |
CN110851699A (zh) | 基于深度强化学习的信息流推荐方法、装置、设备及介质 | |
CN111460384B (zh) | 策略的评估方法、装置和设备 | |
CN110956505B (zh) | 一种广告库存的预估方法以及相关装置 | |
CN113780548B (zh) | 用于训练模型的方法、装置、设备以及存储介质 | |
CN108667877B (zh) | 确定推荐信息的方法及装置、计算机设备及存储介质 | |
CN113065882A (zh) | 一种商品处理方法、装置及电子设备 | |
CN113626200A (zh) | 任务负载计算方法、装置、存储介质以及终端 | |
CN112925978A (zh) | 一种推荐系统评测方法、装置、电子设备和存储介质 | |
CN112684899A (zh) | 客户端操作控制方法、装置、电子设备和计算机可读介质 | |
CN114091655A (zh) | 神经网络量化方法、装置、存储介质以及终端 | |
CN114461919A (zh) | 信息推荐的模型训练方法及装置 | |
CN113626734A (zh) | 用户行为引导方法、装置、电子设备及存储介质 | |
CN115129482A (zh) | 大数据滑动窗口统计方法、装置、存储介质及计算设备 | |
CN106528162A (zh) | 一种目标对象的显示方法、装置及电子设备 | |
CN115293329A (zh) | 一种参数更新方法、装置、设备及存储介质 | |
CN112632384B (zh) | 针对应用程序的数据处理方法、装置、电子设备和介质 | |
CN111694753B (zh) | 一种应用程序测试方法、装置及计算机存储介质 | |
CN104537095A (zh) | 一种基于吸引力模型的信息精准推送方法和系统 | |
CN114818843A (zh) | 数据分析的方法、装置和计算设备 | |
CN114817845A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114637582A (zh) | 处理计算任务的方法及系统 | |
CN112906994A (zh) | 订单出餐时间预测方法、装置、电子设备及存储介质 | |
CN112685271A (zh) | 压测数据处理方法、装置、电子设备及可读存储介质 | |
CN113159810A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220930 |
|
RJ01 | Rejection of invention patent application after publication |