基于时间序列的数据处理方法、装置、设备及存储介质与流程

未命名 08-29 阅读:96 评论:0


1.本技术涉及数据处理技术领域,尤其涉及一种基于时间序列的数据处理方法、装置、设备及存储介质。


背景技术:

2.物联网(iot,internet of things)即“万物相连的互联网”,是互联网基础上的延伸和扩展的网络,将各种信息传感设备与网络结合起来而形成的一个巨大网络,实现任何时间、任何地点,人、机、物的互联互通。各种设备实时产生的数据将被可靠传输,实时处理计算。
3.高频量化交易指在金融市场中,利用人类无法捕捉的市场变化信息,进行程序化高频率交易。高频交易是相对于手工交易而言,传统的手工交易在一秒内仅能发出数个交易指令。而高频交易通过程序化交易,低延迟接入市场行情,能在毫秒级别处理计算实时行情数据,生成交易指令,理论上能在一秒内完成数百个交易指令。实时行情的数据在毫秒级别产生,以时间为序列,需要一个高性能的系统来实时处理计算,对计算延迟和内存使用都有高性能的要求。因此,如何提高物联网中数据处理的性能和可靠性成为亟待解决的技术问题。


技术实现要素:

4.本技术提供了一种基于时间序列的数据处理方法、装置、设备及存储介质,以提高物联网中数据处理的可靠性。
5.第一方面,本技术提供了一种基于时间序列的数据处理方法,所述方法包括:
6.获取目标时刻的当前数据,并获取所述当前数据的哈希值;
7.基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度l;
8.当所述当前数据不具备周期性时,所述周期长度为无穷大;
9.基于所述目标时刻窗口的对应批量处理的数据长度,数据处理延迟和数据产生间隔,调整内存大小以实现基于时间序列数据的处理;
10.当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理。
11.进一步地,当所述当前数据不具备周期性时,所述周期长度为无穷大,基于所述目标时刻窗口的对应的批量处理的数据长度,调整内存大小以实现基于时间序列的数据处理之后,包括:
12.当所述当前数据不具备周期性时,基于循环队列的方式将时间序列数据写入至一段连续的目标内存中,并用时间序列产生的新数据覆盖循环队列的历史数据。
13.进一步地,当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理,包括:
14.基于预设公式、所述重复次数确定当前置信值;
15.比较所述置信值预设置信阈值的大小关系,并根据所述大小关系调整所述内存长度。
16.进一步地,比较所述置信值预设置信阈值的大小关系,并根据所述大小关系调整所述内存长度,包括:
17.比较数据个数与所述目标周期长度,并根据所述数据个数与所述目标周期长度中较大值调整所述内存长度。
18.进一步地,比较数据个数与所述目标周期长度,并根据所述数据个数与所述目标周期长度中较大值调整所述内存长度之前,包括:
19.当所述当前数据不具备周期性时,根据预设公式计算存储数据个数,所述预设公式如下:
[0020][0021]
其中,m为所述存储数据个数,c为数据处理计算的延迟,n为所述目标时刻窗口的对应的批量处理的数据个数,w为数据产生的间隔,math.cealing为整数向上取整;
[0022]
当所述当前数据具备周期性时,所述数据个数等于所述周期长度。
[0023]
进一步地,当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理中,包括:
[0024]
在处理所述当前时刻之前的至少一个时刻的数据时,基于预设公式确定存储数据的个数;
[0025]
基于所述存储数据的个数与所述预设连续长度,将所述目标内存数据写入至内存中。
[0026]
进一步地,基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度,包括:
[0027]
在确定所述当前哈希值与所述历史哈希值相等时,获取所述目标时刻窗口与所述目标时刻前n个时刻窗口;
[0028]
基于所述目标时刻窗口与目标时刻前n个时刻窗口,确定所述当前数据的周期长度。
[0029]
第二方面,本技术还提供了一种基于时间序列的数据处理装置,所述装置包括:
[0030]
哈希值获取模块,用于获取目标时刻的当前数据,并获取所述当前数据的哈希值;
[0031]
周期长度确定模块,用于基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度l;
[0032]
周期无穷大模块,用于当所述当前数据不具备周期性时,所述周期长度为无穷大;
[0033]
第一处理模块,用于基于所述目标时刻窗口的对应批量处理的数据长度,数据处理延迟和数据产生间隔,调整内存大小以实现基于时间序列数据的处理;
[0034]
第二处理模块,用于当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理。
[0035]
第三方面,本技术还提供了一种设备,所述设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时
实现如上述的基于时间序列的数据处理方法。
[0036]
第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的基于时间序列的数据处理方法。
[0037]
本技术公开了一种基于时间序列的数据处理方法、装置、设备及存储介质,所述基于时间序列的数据处理方法包括获取目标时刻的当前数据,并获取所述当前数据的哈希值;基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度l;当所述当前数据不具备周期性时,所述周期长度为无穷大,基于所述目标时刻窗口的对应的批量处理的数据长度,调整内存大小以实现基于时间序列的数据处理;当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理。通过上述方式,本技术自适应识别当前数据的周期长度,特别的,当数据不具备周期特征时,周期长度为无穷大;计算当前数据的哈希值;基于当前数据的哈希值和之前n个窗口的数据哈希值,自动确定数据的周期长度,提高了物联网中数据处理的性能和可靠性。
附图说明
[0038]
为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]
图1为本技术的第一实施例提供的一种基于时间序列的数据处理方法的示意流程图;
[0040]
图2为本技术的第二实施例提供的一种基于时间序列的数据处理方法的示意流程图;
[0041]
图3为本技术的第三实施例提供的一种基于时间序列的数据处理方法的示意流程图;
[0042]
图4为本技术的实施例提供的一种基于时间序列的数据处理装置的示意性框图;
[0043]
图5为本技术的实施例提供的一种设备的结构示意性框图。
具体实施方式
[0044]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0045]
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0046]
应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0047]
还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0048]
本技术的实施例提供了一种基于时间序列的数据处理方法、装置、设备及存储介质。其中,该基于时间序列的数据处理方法可以应用于服务器中,通过计算当前时刻与相邻时刻的数据对应的哈希值,确定数据呈周期性,根据周期调整内存长度,提高物联网中数据处理的可靠性。其中,该服务器可以为独立的服务器,也可以为服务器集群。
[0049]
下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0050]
请参阅图1,图1是本技术的第一实施例提供的一种基于时间序列的数据处理方法的示意流程图。该基于时间序列的数据处理方法可应用于服务器中,用于通过计算当前时刻与相邻时刻的数据对应的哈希值,确定数据呈周期性,根据周期调整内存长度,提高物联网中数据处理的可靠性。
[0051]
如图1所示,该基于时间序列的数据处理方法具体包括步骤s10至步骤s40。
[0052]
步骤s10、获取目标时刻的当前数据,并获取所述当前数据的哈希值;
[0053]
步骤s20、基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度l;
[0054]
步骤s30、当所述当前数据不具备周期性时,所述周期长度为无穷大;
[0055]
步骤s40、基于所述目标时刻窗口的对应批量处理的数据长度,数据处理延迟和数据产生间隔,调整内存大小以实现基于时间序列数据的处理;
[0056]
步骤s50、当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理。
[0057]
具体实施例中,时间序列高频数据有如下特点:
[0058]
1.数据高频产生,要快速、低延迟处理完成当前时刻窗口数据
[0059]
2.数据量大,如每100ms 1mb数据,1分钟将产生600mb数据。数据将极快地消耗和占满内存。
[0060]
3.数据生命周期短,t时刻的数据计算通常获取最近t-n到t时刻的数据进行计算。在n个时刻窗口后,数据将变成可被清理的垃圾数据。例如,n=3时,每隔100ms产生的数据,在数据产生300ms后将变成垃圾数据,可以被从内存中清理。
[0061]
现代的高级计算机编程语言,如java,go等,内存管理由虚拟机负责。内存创建、回收、清理都由虚拟机自动完成。高频时间序列数据流的处理遇到的问题是由于新数据的高频产生,带来了频繁的内存创建与回收,极大地影响了计算处理的性能。
[0062]
数据产生-》分配新内存-》内存存储数据-》数据计算-》内存达到极限-》虚拟机触发gc-》清理释放历史数据的内存。
[0063]
其中,频繁的内存创建与虚拟机gc(garbage collection,清理释放内存的垃圾数据)将严重影响系统的性能和数据处理的延迟。
[0064]
本实施例公开了一种基于时间序列的数据处理方法、装置、设备及存储介质,所述基于时间序列的数据处理方法包括获取目标时刻的当前数据,并获取所述当前数据的哈希值;基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度l;当所述当前数据不具备周期性时,所述周期长度为无穷大,
基于所述目标时刻窗口的对应的批量处理的数据长度,调整内存大小以实现基于时间序列的数据处理;当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理。通过上述方式,本技术自适应识别当前数据的周期长度,特别的,当数据不具备周期特征时,周期长度为无穷大;计算当前数据的哈希值;基于当前数据的哈希值和之前n个窗口的数据哈希值,自动确定数据的周期长度,提高了物联网中数据处理的性能和可靠性。
[0065]
基于图1所示实施例,本实施例中,所述步骤s40之后包括:
[0066]
当所述当前数据不具备周期性时,基于循环队列的方式将时间序列数据写入至一段连续的目标内存中,并用时间序列产生的新数据覆盖循环队列的历史数据。
[0067]
请参阅图2,图2是本技术的第二实施例提供的一种基于时间序列的数据处理方法的示意流程图。该基于时间序列的数据处理方法可应用于服务器中,用于通过计算当前时刻与相邻时刻的数据对应的哈希值,确定数据呈周期性,根据周期调整内存长度,提高物联网中数据处理的可靠性。
[0068]
基于图1所示实施例,本实施例中如图2所示,所述步骤s50具体包括步骤s501至步骤s502。
[0069]
步骤s501、基于预设公式、所述重复次数确定当前置信值;
[0070]
步骤s502、比较所述置信值预设置信阈值的大小关系,并根据所述大小关系调整所述内存长度。
[0071]
具体实施例中,假设我们想发现的最大周期长度是1。
[0072]
(1)对t时刻产生的数据,分别取最近的t-0,t-1,

t-q+1个数据,对每组数据分别计算数据的hash值,记为h(t,q),0《=q《=1。
[0073]
(2)对比每组h(t,q)与h(t-1,q)。h(t-1,q)表示上一个时刻窗口t-1时刻计算得到的hash值。当有一组h(t,q)与h(t-1,q)相等时,表示检测到一个重复出现的周期数据,周期长度为q。检测到的周期次数d(q)加1。(d(0),d(1)

d(l)表示成功检测到周期的次数,初始值为0)
[0074]
(3)如果d(q)》=w,w为设置的周期检测的置信阈值,w》=1,我们确信数据在未来一段时间内很可能会有长度为q的数据周期呈现。因此,我们重新将内存长度调整为max(m,q),(m同优化方案1)。对t+1时刻到达的数据,与周期的下一个数据比对单个数据的hash值,如果相等,表示新数据维持周期,直接使用当前数据进行计算即可。如果hash值不一致,表示周期规律打破了,重新回到步骤(1)开始检测。
[0075]
本实施例公开了一种基于时间序列的数据处理方法、装置、设备及存储介质,所述基于时间序列的数据处理方法包括基于预设公式、所述重复次数确定当前置信值;比较所述置信值预设置信阈值的大小关系,并根据所述大小关系调整所述内存长度。通过上述方式,本技术通过计算当前时刻与相邻时刻的数据对应的哈希值,确定数据呈周期性,根据周期调整内存长度,提高物联网中数据处理的可靠性。
[0076]
基于图1所示实施例,本实施例中,所述步骤s502具体包括:
[0077]
比较数据个数与所述目标周期长度,并根据所述数据个数与所述目标周期长度中较大值调整所述内存长度。
[0078]
基于图2所示实施例,本实施例中,步骤s502之前,包括:
[0079]
当所述当前数据不具备周期性时,根据预设公式计算存储数据个数,所述预设公式如下:
[0080][0081]
其中,m为所述存储数据个数,c为数据处理计算的延迟,n为所述目标时刻窗口的对应的批量处理的数据个数,w为数据产生的间隔,math.cealing为整数向上取整;
[0082]
当所述当前数据具备周期性时,所述数据个数等于所述周期长度。
[0083]
具体地,当t时刻的数据产生时,假设我们需要批量处理计算t-n至t的数据。特别的,当n=0时,表示仅对当前产生的数据进行处理计算,不需要之前时刻窗口的数据。假设每批数据处理计算的延迟是c,数据产生的间隔是w。
[0084]
我们在系统开始时,分配连续的内存,做成循环队列,用于存储数据。分配的内存大小满足可以存储的数据个数不小于m,其中m=math.cealing(n+c/w),(math.cealing表示整数向上取整)。
[0085]
内存循环队列将重复利用使用预分配的连续内存,避免了频繁的内存创建和内存清理。当内存的数据存储达到m个时,第m+1个数据将从内存的起始开始存储。
[0086]
进一步地,如图3所示,图3为本技术的第三实施例提供的一种基于时间序列的数据处理方法的示意流程图。
[0087]
所述步骤s50还包括步骤s503至步骤s504。
[0088]
步骤s503、在处理所述当前时刻之前的至少一个时刻的数据时,基于预设公式确定存储数据的个数;
[0089]
步骤s504、基于所述存储数据的个数与所述预设连续长度,将所述目标内存数据写入至内存中。
[0090]
本实施例公开了一种基于时间序列的数据处理方法、装置、设备及存储介质,所述基于时间序列的数据处理方法包括在处理所述当前时刻之前的至少一个时刻的数据时,基于预设公式确定存储数据的个数;基于所述存储数据的个数与所述预设连续长度,将所述目标内存数据写入至内存中。通过上述方式,本技术在确定数据存在周期性时,根据数据的周期长度特征以及各时刻窗口批处理的数据长度对内存长度进行调整,提高了物联网中数据处理的性能和可靠性。
[0091]
基于上述全部实施例,本实施例中,所述步骤s20具体包括:
[0092]
在确定所述当前哈希值与所述历史哈希值相等时,获取所述目标时刻窗口与所述目标时刻前n个时刻窗口;
[0093]
基于所述目标时刻窗口与目标时刻前n个时刻窗口,确定所述当前数据的周期长度。
[0094]
请参阅图4,图4是本技术的实施例提供一种基于时间序列的数据处理装置的示意性框图,该基于时间序列的数据处理装置用于执行前述的基于时间序列的数据处理方法。其中,该基于时间序列的数据处理装置可以配置于服务器。
[0095]
如图4所示,该基于时间序列的数据处理装置400,包括:
[0096]
哈希值获取模块410,用于获取目标时刻的当前数据,并获取所述当前数据的哈希值;
[0097]
周期长度确定模块420,用于基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度l;
[0098]
周期无穷大模块430,用于当所述当前数据不具备周期性时,所述周期长度为无穷大;
[0099]
第一处理模块440,用于基于所述目标时刻窗口的对应批量处理的数据长度,数据处理延迟和数据产生间隔,调整内存大小以实现基于时间序列数据的处理;
[0100]
第二处理模块450,用于当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理。
[0101]
进一步地,所述基于时间序列的数据处理装置还包括循环队列模块,具体包括:
[0102]
循环队列模块,用于当所述当前数据不具备周期性时,基于循环队列的方式将时间序列数据写入至一段连续的目标内存中,并用时间序列产生的新数据覆盖循环队列的历史数据。
[0103]
进一步地,所述第二处理模块包括:
[0104]
当前置信值确定单元,用于基于预设公式、所述重复次数确定当前置信值;
[0105]
置信值确定比较单元,用于比较所述置信值预设置信阈值的大小关系,并根据所述大小关系调整所述内存长度。
[0106]
进一步地,所述置信值确定比较单元包括:
[0107]
内存长度调整子单元,用于比较数据个数与所述目标周期长度,并根据所述数据个数与所述目标周期长度中较大值调整所述内存长度。
[0108]
进一步地,所述置信值确定比较单元包括:
[0109]
第一计算子单元,用于当所述当前数据不具备周期性时,根据预设公式计算存储数据个数;
[0110]
第二计算子单元,用于当所述当前数据具备周期性时,所述数据个数等于所述周期长度。
[0111]
进一步地,所述第二处理模块还包括:
[0112]
存储数据个数计算单元,用于在处理所述当前时刻之前的至少一个时刻的数据时,基于预设公式确定存储数据的个数;
[0113]
数据写入单元,用于基于所述存储数据的个数与所述预设连续长度,将所述目标内存数据写入至内存中。
[0114]
进一步地,所述周期长度确定模块包括:
[0115]
时刻窗口获取单元,用于在确定所述当前哈希值与所述历史哈希值相等时,获取所述目标时刻窗口与所述目标时刻前n个时刻窗口;
[0116]
周期长度确定单元,用于基于所述目标时刻窗口与目标时刻前n个时刻窗口,确定所述当前数据的周期长度。
[0117]
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0118]
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的设备上运行。
[0119]
请参阅图5图5是本技术的实施例提供的一种设备的结构示意性框图。该设备可以是服务器。
[0120]
参阅图5,该设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
[0121]
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于时间序列的数据处理方法。
[0122]
处理器用于提供计算和控制能力,支撑整个设备的运行。
[0123]
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种基于时间序列的数据处理方法。
[0124]
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0125]
应当理解的是,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0126]
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
[0127]
获取目标时刻的当前数据,并获取所述当前数据的哈希值;
[0128]
基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度l;
[0129]
当所述当前数据不具备周期性时,所述周期长度为无穷大;
[0130]
基于所述目标时刻窗口的对应批量处理的数据长度,数据处理延迟和数据产生间隔,调整内存大小以实现基于时间序列数据的处理;
[0131]
当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理。
[0132]
在一个实施例中,当所述当前数据不具备周期性时,所述周期长度为无穷大,基于所述目标时刻窗口的对应的批量处理的数据长度,调整内存大小以实现基于时间序列的数据处理之后,用于实现:
[0133]
当所述当前数据不具备周期性时,基于循环队列的方式将时间序列数据写入至一段连续的目标内存中,并用时间序列产生的新数据覆盖循环队列的历史数据。
[0134]
在一个实施例中,当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理,用于实现:
[0135]
基于预设公式、所述重复次数确定当前置信值;
[0136]
比较所述置信值预设置信阈值的大小关系,并根据所述大小关系调整所述内存长度。
[0137]
在一个实施例中,比较所述置信值预设置信阈值的大小关系,并根据所述大小关系调整所述内存长度,用于实现:
[0138]
比较数据个数与所述目标周期长度,并根据所述数据个数与所述目标周期长度中较大值调整所述内存长度。
[0139]
在一个实施例中,比较数据个数与所述目标周期长度,并根据所述数据个数与所述目标周期长度中较大值调整所述内存长度之前,用于实现:
[0140]
当所述当前数据不具备周期性时,根据预设公式计算存储数据个数,所述预设公式如下:
[0141][0142]
其中,m为所述存储数据个数,c为数据处理计算的延迟,n为所述目标时刻窗口的对应的批量处理的数据个数,w为数据产生的间隔,math.cealing为整数向上取整;
[0143]
当所述当前数据具备周期性时,所述数据个数等于所述周期长度。
[0144]
在一个实施例中,当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理,用于实现:
[0145]
在处理所述当前时刻之前的至少一个时刻的数据时,基于预设公式确定存储数据的个数;
[0146]
基于所述存储数据的个数与所述预设连续长度,将所述目标内存数据写入至内存中。
[0147]
在一个实施例中,基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度,用于实现:
[0148]
在确定所述当前哈希值与所述历史哈希值相等时,获取所述目标时刻窗口与所述目标时刻前n个时刻窗口;
[0149]
基于所述目标时刻窗口与目标时刻前n个时刻窗口,确定所述当前数据的周期长度。
[0150]
本技术的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本技术实施例提供的任一项基于时间序列的数据处理方法。
[0151]
其中,所述计算机可读存储介质可以是前述实施例所述的设备的内部存储单元,例如所述设备的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
[0152]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种基于时间序列的数据处理方法,其特征在于,所述基于时间序列的数据处理方法包括:获取目标时刻的当前数据,并获取所述当前数据的哈希值;基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度l;当所述当前数据不具备周期性时,所述周期长度为无穷大;基于所述目标时刻窗口的对应批量处理的数据长度,数据处理延迟和数据产生间隔,调整内存大小以实现基于时间序列数据的处理;当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理。2.根据权利要求1所述的基于时间序列的数据处理方法,其特征在于,所述基于所述目标时刻窗口的对应的批量处理的数据长度,调整内存大小以实现基于时间序列的数据处理之后,包括:当所述当前数据不具备周期性时,基于循环队列的方式将时间序列数据写入至一段连续的目标内存中,并用时间序列产生的新数据覆盖循环队列的历史数据。3.根据权利要求2所述的基于时间序列的数据处理方法,其特征在于,所述当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理,包括:基于预设公式、所述重复次数确定当前置信值;比较所述置信值预设置信阈值的大小关系,并根据所述大小关系调整所述内存长度。4.根据权利要求3所述的基于时间序列的数据处理方法,其特征在于,所述比较所述置信值预设置信阈值的大小关系,并根据所述大小关系调整所述内存长度,包括:比较数据个数与所述目标周期长度,并根据所述数据个数与所述目标周期长度中较大值调整所述内存长度。5.根据权利要求4所述的基于时间序列的数据处理方法,其特征在于,所述比较数据个数与所述目标周期长度,并根据所述数据个数与所述目标周期长度中较大值调整所述内存长度之前,包括:当所述当前数据不具备周期性时,根据预设公式计算存储数据个数,所述预设公式如下:其中,m为所述存储数据个数,c为数据处理计算的延迟,n为所述目标时刻窗口的对应的批量处理的数据个数,w为数据产生的间隔,math.cealing为整数向上取整;当所述当前数据具备周期性时,所述数据个数等于所述周期长度。6.根据权利要求1所述的基于时间序列的数据处理方法,其特征在于,所述当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理,包括:在处理所述当前时刻之前的至少一个时刻的数据时,基于预设公式确定存储数据的个
数;基于所述存储数据的个数与所述预设连续长度,将所述目标内存数据写入至内存中。7.根据权利要求1至6中任一项所述的基于时间序列的数据处理方法,其特征在于,所述基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度,包括:在确定所述当前哈希值与所述历史哈希值相等时,获取所述目标时刻窗口与所述目标时刻前n个时刻窗口;基于所述目标时刻窗口与目标时刻前n个时刻窗口,确定所述当前数据的周期长度。8.一种基于时间序列的数据处理装置,其特征在于,包括:哈希值获取模块,用于获取目标时刻的当前数据,并获取所述当前数据的哈希值;周期长度确定模块,用于基于所述目标时刻窗口的当前哈希值和所述目标时刻前n个时刻窗口的历史哈希值,确定所述当前数据的周期长度l;周期无穷大模块,用于当所述当前数据不具备周期性时,所述周期长度为无穷大;第一处理模块,用于基于所述目标时刻窗口的对应批量处理的数据长度,数据处理延迟和数据产生间隔,调整内存大小以实现基于时间序列数据的处理;第二处理模块,用于当所述当前数据具备周期性时,基于所述周期长度,调整内存大小以实现基于时间序列数据的处理。9.一种设备,其特征在于,所述设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的基于时间序列的数据处理方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的基于时间序列的数据处理方法。

技术总结
本申请涉及数据处理技术领域,公开了一种基于时间序列的数据处理方法、装置、设备及存储介质,所述方法包括确定周期长度,当前数据不具备周期性时,周期长度为无穷大,基于目标时刻窗口对应的批量处理的数据长度、数据处理延迟和数据产生间隔,调整内存大小以实现基于时间序列的数据处理;当当前数据具备周期性时,基于周期长度,调整内存大小以实现基于时间序列的数据处理。通过上述方式,本申请自适应识别当前数据的周期;计算当前数据的哈希值;基于当前数据的哈希值和之前n个窗口的哈希值,确定数据的周期长度,当数据不具备周期特征时,周期为无穷大。通过预分配数据处理所需的内存减少了新数据的频繁创建和垃圾数据的内存回收,提高了物联网中数据处理的性能和可靠性。可靠性。可靠性。


技术研发人员:黄益聪 郭厦同 林友军
受保护的技术使用者:厦门楷同科技有限公司
技术研发日:2023.05.29
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐