掌桥专利:专业的专利平台
掌桥专利
首页

对大数量级离散数据处理的方法、装置、设备及存储介质

文献发布时间:2023-06-19 13:26:15


对大数量级离散数据处理的方法、装置、设备及存储介质

技术领域

本发明属于数据处理技术领域,具体涉及一种对大数量级离散数据处理的方法、装置、设备及存储介质。

背景技术

在云计算大数据时代,现实应用场景对数据的实时性、可靠性要求越来越高。在我们生活中,时间被认为是连续的,对于数字1、2、3…我们也认为其连续,但如果将其换成对应的字符串存储在电脑中,这些并不一定是连续的数据。尤其在数据量越来越庞大时,通过提升计算机性能来遍历并分析数据的成本越来越高,造成了资源浪费,同时现有遍历分析数据的效果也并不能达到预期。

此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种对大数量级离散数据处理的方法、装置、设备及存储介质,是非常有必要的。

发明内容

针对现有技术的上述随着数据量增大,原有遍历并分析数据的成本越来越高,造成资源浪费的同时,不能达到预期的数据处理效果的缺陷,本发明提供一种对大数量级离散数据处理方法、装置、设备及存储介质,以解决上述技术问题。

第一方面,本发明提供一种对大数量级离散数据处理的方法,包括如下步骤:

S1.获取数据监控模块采集的大数量级数据,对每个数据进行分段处理,提取每个数据的部分分段,生成预处理数据;

S2.按照数据采集周期和真实数据时间点对预处理数据进行冗余数据剥离,生成离散化数据,将离散化数据加入数据库;

S3.当数据采集频率小于频率阈值时,数据处理模块根据应用场景选择插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,按照数据变化趋势函数对所需时间点数据进行补足,并进行实时展示。

进一步地,步骤S1具体步骤如下:

S11.获取数据监控模块采集的大数量级数据;所述大数量级数据的数量大于设定阈值;

S12.获取单位时间内采集的首数据和尾数据,比较首数据和尾数据,将相同部分设定为常量分段,将不同部分设定为变量分段;

S13.将每个数据按照常量分段和变量分段进行划分,并提取出每个数据的变量分段,生成预处理数据。对连续变化的数据,通常是只有一小部分发生变化,而大部分不发生变化,因此将这个小部分变化的时间段设定为单位时间,通过单位时间内采集的首数据与尾数据的比对,能够得出不变的常量分段和变化的变量分段,只对变量分段进行采集,从而不对所有数据入库,只将每个数据能显示明显变化的分段入库,节约了存储性能,并避免了算法误差。

进一步地,步骤S2具体步骤如下:

S21.判断预处理数据是否为真实离散数据;

若是,进入步骤S25;

若否,进入步骤S22;

S22.获取数据监控模块的采集周期和数据采集时间点;

S23.根据采集周期和数据采集时间点对连续的预处理数据进行剥离,得到剥离后离散化数据;

S24.判断剥离后离散化数据是否可用;

若是,进入步骤S25;

若否,返回步骤S23;

S25.将真实离散数据和剥离后离散化数据进行数据汇聚,并按时间点排序后,加入数据库。抓取到大数量数据及预处理后并不直接入库,而是判断这些数据时真实离散数据,还是经过拟合的带有误差的连续数据,若是拟合的带有误差的连续数据则通过采集频率对大数量级预处理数据进行过滤,排除误差,保留真实离散数据和其数据采集时间点,排序后加入数据库。

进一步地,步骤S3具体步骤如下:

S31.数据处理模块判断数据采集频率是否小于设定阈值;

若是,进入步骤S32;

若否,进入步骤S37;

S32.数据处理模块获取应用场景;

当应用场景为采集频率适中,算力低时,进入步骤S33;

当应用场景为采集频率适中,算力大,进入步骤S34;

当应用场景为采集频率低,算力低,进入步骤S35;

S33.选择线性插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

S34.选择二次插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

S35.选择牛顿插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

S36.按照数据变化趋势函数对所需时间点数据进行补足;

S37.接收数据查询请求,展示实时数据。当数据采集频率过低的时候,无法满足数据需求时,需要通过插值算法实现最佳逼近得到数据变化趋势函数,从而可以在变化趋势内补足数据,而无需再通过数据监控模块进行数据采集。

进一步地,步骤S32之前还包括如下步骤:

S32A.通过神经网络算法和人工智能算法对数据处理模块进行训练,不断进行数据采样和数据插值,直至数据误差小于设定阈值,使得输出数据无限逼近真实值。通过神经网络算法和人工智能算法这两种机器学习算法对数据处理模块进行训练,对应用场景的具体区分,以及各插值算法的数据采用和数据插值进行不断的迭代和训练,并将结果与预设的条件进行比较,直至达到无限逼近真实值。

进一步地,数据处理模块还设有人工设置接口;

步骤S32之前还包括如下步骤:

S32B.判断数据处理模块的人工设置接口是否接收到人工选择算法;

若是,采用人工选择的算法,对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

若否,进入步骤S32。数据处理模块可以自主选择插值算法,也可接收人工选择的插值算法,从而的所需的数据变化趋势函数。

进一步地,步骤S32中,当采集频率大于频率下限,小于频率上限时,判定为频率适中;

当算力低于第一算力阈值时,判定为算力低;

当算力高于第二算力阈值时,判定为算力大。不同应用场景,算力及采样频率的限定不同,但都以输出结果曲线平滑,误差小为目的。

第二方面,本发明提供一种对大数量级离散数据处理的装置,包括:

数据预处理单元,用于获取数据监控模块采集的大数量级数据,对每个数据进行分段处理,提取每个数据的部分分段,生成预处理数据;

数据离散化单元,用于按照数据采集周期和真实数据时间点对预处理数据进行冗余数据剥离,生成离散化数据,将离散化数据加入数据库;

数据计算单元,用于当数据采集频率小于频率阈值时,数据处理模块根据应用场景选择插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,按照数据变化趋势函数对所需时间点数据进行补足,并进行实时展示。

进一步地,数据预处理单元包括:

数据采集子单元,用于获取数据监控模块采集的大数量级数据;所述大数量级数据的数量大于设定阈值;

数据分段子单元,用于获取单位时间内采集的首数据和尾数据,比较首数据和尾数据,将相同部分设定为常量分段,将不同部分设定为变量分段;

数据部分提取子单元,用于将每个数据按照常量分段和变量分段进行划分,并提取出每个数据的变量分段,生成预处理数据。

进一步地,数据离散化单元包括:

数据离散判断子单元,用于判断预处理数据是否为真实离散数据;

采集周期获取子单元,用于当预处理数据不是真实离散数据时,获取数据监控模块的采集周期和数据采集时间点;

数据剥离子单元,用于根据采集周期和数据采集时间点对连续的预处理数据进行剥离,得到剥离后离散化数据;

数据可用判断子单元,用于判断剥离后离散化数据是否可用;

数据汇聚入库子单元,用于将真实离散数据和剥离后离散化数据进行数据汇聚,并按时间点排序后,加入数据库。

进一步地,数据计算单元包括:

采集频率判断子单元,用于数据处理模块判断数据采集频率是否小于设定阈值;

应用场景获取子单元,用于数据采集频率小于设定阈值时,数据处理模块获取应用场景;

线性插值选择子单元,用于当应用场景为采集频率适中,算力低时,选择线性插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数;

二次插值算法选择子单元,用于当应用场景为采集频率适中,算力大时,选择二次插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数;

牛顿插值算法选择子单元,用于当应用场景为采集频率低,算力低时,选择牛顿插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数;

离散数据补足子单元,用于按照数据变化趋势函数对所需时间点数据进行补足;

数据查询展示子单元,用于数据采集频率不小于设定阈值时,或数据采集频率小于设定阈值进行数据补足后,接收数据查询请求,展示实时数据。

第三方面,提供一种设备,包括处理器、存储器,

其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述第一方面所述的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的对大数量级离散数据处理的方法、装置、设备及存储介质,实现大数量级数据实时收集、处理及展示的高效处理,节约计算资源,并能达到预期处理效果;同时支持人工设置及全自动化数据处理算法,极大提高了自动化运维的效率。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的对大数量级离散数据处理的方法流程示意图一。

图2是本发明的对大数量级离散数据处理的方法流程示意图二。

图3是本发明的对大数量级离散数据处理的装置示意图。

图中,1-数据预处理单元;1.1-数据采集子单元;1.2-数据分段子单元;1.3-数据部分提取子单元;2-数据离散化单元;2.1-数据离散判断子单元;2.2-采集周期获取子单元;2.3-数据剥离子单元;2.4-数据可用判断子单元;2.5-数据汇聚入库子单元;3-数据计算单元;3.1-采集频率判断子单元;3.2-应用场景获取子单元;3.3-线性插值选择子单元;3.4-二次插值算法选择子单元;3.5-牛顿插值算法选择子单;3.6-离散数据补足子单;3.7-数据查询展示子单元。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

实施例1:

如图1所示,本发明提供一种对大数量级离散数据处理的方法,包括如下步骤:

S1.获取数据监控模块采集的大数量级数据,对每个数据进行分段处理,提取每个数据的部分分段,生成预处理数据;

S2.按照数据采集周期和真实数据时间点对预处理数据进行冗余数据剥离,生成离散化数据,将离散化数据加入数据库;

S3.当数据采集频率小于频率阈值时,数据处理模块根据应用场景选择插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,按照数据变化趋势函数对所需时间点数据进行补足,并进行实时展示。

实施例2:

如图2所示,本发明提供一种对大数量级离散数据处理的方法,包括如下步骤:

S1.获取数据监控模块采集的大数量级数据,对每个数据进行分段处理,提取每个数据的部分分段,生成预处理数据;具体步骤如下:

S11.获取数据监控模块采集的大数量级数据;所述大数量级数据的数量大于设定阈值;

S12.获取单位时间内采集的首数据和尾数据,比较首数据和尾数据,将相同部分设定为常量分段,将不同部分设定为变量分段;

S13.将每个数据按照常量分段和变量分段进行划分,并提取出每个数据的变量分段,生成预处理数据;

S2.按照数据采集周期和真实数据时间点对预处理数据进行冗余数据剥离,生成离散化数据,将离散化数据加入数据库;具体步骤如下:

S21.判断预处理数据是否为真实离散数据;

若是,进入步骤S25;

若否,进入步骤S22;

S22.获取数据监控模块的采集周期和数据采集时间点;

S23.根据采集周期和数据采集时间点对连续的预处理数据进行剥离,得到剥离后离散化数据;

S24.判断剥离后离散化数据是否可用;

若是,进入步骤S25;

若否,返回步骤S23;

S25.将真实离散数据和剥离后离散化数据进行数据汇聚,并按时间点排序后,加入数据库;

S3.当数据采集频率小于频率阈值时,数据处理模块根据应用场景选择插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,按照数据变化趋势函数对所需时间点数据进行补足,并进行实时展示;具体步骤如下:

S31.数据处理模块判断数据采集频率是否小于设定阈值;

若是,进入步骤S32;

若否,进入步骤S37;

S32.数据处理模块获取应用场景;

当应用场景为采集频率适中,算力低时,进入步骤S33;

当应用场景为采集频率适中,算力大,进入步骤S34;

当应用场景为采集频率低,算力低,进入步骤S35;

S33.选择线性插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

S34.选择二次插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

S35.选择牛顿插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

S36.按照数据变化趋势函数对所需时间点数据进行补足;

S37.接收数据查询请求,展示实时数据。

实施例3:

如图2所示,本发明提供一种对大数量级离散数据处理的方法,包括如下步骤:

S1.获取数据监控模块采集的大数量级数据,对每个数据进行分段处理,提取每个数据的部分分段,生成预处理数据;具体步骤如下:

S11.获取数据监控模块采集的大数量级数据;所述大数量级数据的数量大于设定阈值;

S12.获取单位时间内采集的首数据和尾数据,比较首数据和尾数据,将相同部分设定为常量分段,将不同部分设定为变量分段;

S13.将每个数据按照常量分段和变量分段进行划分,并提取出每个数据的变量分段,生成预处理数据;

S2.按照数据采集周期和真实数据时间点对预处理数据进行冗余数据剥离,生成离散化数据,将离散化数据加入数据库;具体步骤如下:

S21.判断预处理数据是否为真实离散数据;

若是,进入步骤S25;

若否,进入步骤S22;

S22.获取数据监控模块的采集周期和数据采集时间点;

S23.根据采集周期和数据采集时间点对连续的预处理数据进行剥离,得到剥离后离散化数据;

S24.判断剥离后离散化数据是否可用;

若是,进入步骤S25;

若否,返回步骤S23;

S25.将真实离散数据和剥离后离散化数据进行数据汇聚,并按时间点排序后,加入数据库;

S3.当数据采集频率小于频率阈值时,数据处理模块根据应用场景选择插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,按照数据变化趋势函数对所需时间点数据进行补足,并进行实时展示;具体步骤如下:

S31.数据处理模块判断数据采集频率是否小于设定阈值;

若是,进入步骤S32;

若否,进入步骤S37;

S32B.判断数据处理模块的人工设置接口是否接收到人工选择算法;

若是,采用人工选择的算法,对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

若否,进入步骤S32;

S32.数据处理模块获取应用场景;

当应用场景为采集频率适中,算力低时,进入步骤S33;

当应用场景为采集频率适中,算力大,进入步骤S34;

当应用场景为采集频率低,算力低,进入步骤S35;

S33.选择线性插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

S34.选择二次插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

S35.选择牛顿插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,进入步骤S36;

S36.按照数据变化趋势函数对所需时间点数据进行补足;

S37.接收数据查询请求,展示实时数据。

在某些实施例中,步骤S32之前还包括如下步骤:

S32A.通过神经网络算法和人工智能算法对数据处理模块进行训练,不断进行数据采样和数据插值,直至数据误差小于设定阈值,使得输出数据无限逼近真实值。过神经网络算法和人工智能算法这两种机器学习算法对数据处理模块进行训练,对应用场景的具体区分,以及各插值算法的数据采用和数据插值进行不断的迭代和训练,并将结果与预设的条件进行比较,直至达到无限逼近真实值。

在某些实施例中,步骤S32中,当采集频率大于频率下限,小于频率上限时,判定为频率适中;

当算力低于第一算力阈值时,判定为算力低;

当算力高于第二算力阈值时,判定为算力大。不同应用场景,算力及采样频率的限定不同,但都以输出结果曲线平滑,误差小为目的。

对连续变化的数据,通常是只有一小部分发生变化,而大部分不发生变化,以一台交换机的某个端口的流量为“1468431567613”为例,那么随着时间的增加,下次采集这个数据时,数据显然是在这个基础上增加的,也就是说,如果对数据不做处理,那么我们每秒需要交互的数据都是这个一直在增加的值,“1468431567XXX”、“1468431567XXX”、“1468431567XXX”会不断的出现,这个值不仅大而且占用性能和资源。而这仅仅是一台交换机一个端口的一个字段产生的值,交换机是有很多端口,而且每个端口都是有着大量字段,一个数据量乘几十个字段便扩大了几十倍,在这个基础上再乘几十个端口便再次扩大了几十倍,在这个基础上再乘采集的单位时间次数,数据量再次扩大,而这还只是一台交换机的实时数据量。显然这是造成了资源和性能的浪费的,同时数据处理起来需要耗费大量的算力。因此将这个小部分变化的时间段设定为单位时间,通过单位时间内采集的首数据与尾数据的比对,能够得出不变的常量分段1468431567和变化的变量分段XXX,只对变量分段进行采集,从而不对所有数据入库,只将每个数据能显示明显变化的分段入库,节约了存储性能,并避免了算法误差;

抓取到大数量数据及预处理后并不直接入库,而是判断这些数据时真实离散数据,还是经过拟合的带有误差的连续数据,若是拟合的带有误差的连续数据则通过采集频率对大数量级预处理数据进行过滤,排除误差,保留真实离散数据和其数据采集时间点,排序后加入数据库;

当数据采集频率过低的时候,无法满足数据需求时,需要通过插值算法实现最佳逼近得到数据变化趋势函数,从而可以在变化趋势内补足数据,而无需再通过数据监控模块进行数据采集;

数据处理模块可以自主选择插值算法,也可接收人工选择的插值算法,从而的所需的数据变化趋势函数;

线性插值算法,基于一系列离散的数据点相连得来,每条线段内的数据点的高度作为插值的高度值,以(X

这里得到的Y就是变化量,线性插值算法计算简便,节省算力,但缺点也非常明显,那就是光滑性很差,但其数据的变化趋势会更加真实,因此,线性插值适用于刚好满足实时性又或者接近满足实时性的应用场景,此种应用场景,可以通过线性插值算法即可实现满足数据光滑度,误差较小,同时又节省算力。

二次插值算法是在线性插值算法的基础上,再多加入一个数据点,此时,变量Y为:

相比线性插值算法,二次插值算法已经有了较为充足的数据呈现,且相比较线性插值算法多出来的数据量并不大。但当数据较多时,依然会出现尖锐的数据点。二次插值适用于线性插值可以应用的场景,同时会比线性插值得到更多数据点的曲线,计算量稍大。依次类推,还有多次插值,可根据应用场景具体选择。

牛顿插值算法的公式如下:

P(x)=f(x

多项插值算法和牛顿插值算法,曲线光滑度和相似度都是非常高的,但是牛顿插值算法相比多项差值算法可以更加节省算力,同时牛顿插值算法和多项插值算法有同样的问题那就是当次数较高时,数据也会产生强烈的震荡导致数据失真、误差增大;相比线性插值算法和二次插值算法,牛顿插值法更适用于采集频率低、实时性远远不满足条件的应用场景,且计算时不能带入过多的真实数据点。

实施例4:

如图3所示,本发明提供一种对大数量级离散数据处理的装置,包括:

数据预处理单元1,用于获取数据监控模块采集的大数量级数据,对每个数据进行分段处理,提取每个数据的部分分段,生成预处理数据;数据预处理单元1包括:

数据采集子单元1.1,用于获取数据监控模块采集的大数量级数据;所述大数量级数据的数量大于设定阈值;

数据分段子单元1.2,用于获取单位时间内采集的首数据和尾数据,比较首数据和尾数据,将相同部分设定为常量分段,将不同部分设定为变量分段;

数据部分提取子单元1.3,用于将每个数据按照常量分段和变量分段进行划分,并提取出每个数据的变量分段,生成预处理数据;

数据离散化单元2,用于按照数据采集周期和真实数据时间点对预处理数据进行冗余数据剥离,生成离散化数据,将离散化数据加入数据库;数据离散化单元2包括:

数据离散判断子单元2.1,用于判断预处理数据是否为真实离散数据;

采集周期获取子单元2.2,用于当预处理数据不是真实离散数据时,获取数据监控模块的采集周期和数据采集时间点;

数据剥离子单元2.3,用于根据采集周期和数据采集时间点对连续的预处理数据进行剥离,得到剥离后离散化数据;

数据可用判断子单元2.4,用于判断剥离后离散化数据是否可用;

数据汇聚入库子单元2.5,用于将真实离散数据和剥离后离散化数据进行数据汇聚,并按时间点排序后,加入数据库;

数据计算单元3,用于当数据采集频率小于频率阈值时,数据处理模块根据应用场景选择插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数,按照数据变化趋势函数对所需时间点数据进行补足,并进行实时展示;数据计算单元3包括:

采集频率判断子单元3.1,用于数据处理模块判断数据采集频率是否小于设定阈值;

应用场景获取子单元3.2,用于数据采集频率小于设定阈值时,数据处理模块获取应用场景;

线性插值选择子单元3.3,用于当应用场景为采集频率适中,算力低时,选择线性插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数;

二次插值算法选择子单元3.4,用于当应用场景为采集频率适中,算力大时,选择二次插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数;

牛顿插值算法选择子单元3.5,用于当应用场景为采集频率低,算力低时,选择牛顿插值算法对数据库中离散化数据进行最佳逼近,得到数据变化趋势函数;

离散数据补足子单元3.6,用于按照数据变化趋势函数对所需时间点数据进行补足;

数据查询展示子单元3.7,用于数据采集频率不小于设定阈值时,或数据采集频率小于设定阈值进行数据补足后,接收数据查询请求,展示实时数据。

实施例5:

本发明提供一种设备,包括处理器、存储器,

其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述实施例1、实施例2或实施例3所述的方法。

实施例6:

本发明提供一种存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行实施例1、实施例2或实施例3所述的方法。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 对大数量级离散数据处理的方法、装置、设备及存储介质
  • 一种电商大数据处理方法、装置、设备及存储介质
技术分类

06120113678429