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

数据趋势检测方法、电子设备和存储介质

文献发布时间:2023-06-19 19:30:30


数据趋势检测方法、电子设备和存储介质

技术领域

本申请实施例涉及通信领域,特别涉及一种数据趋势检测方法、电子设备和存储介质。

背景技术

作为信息时代重要的基础设施,无线网络系统需保证持续稳定的运行,以满足社会日常、商业及公共服务等各方面的通讯需要。为此,需要对网络中各组件或各设备的数据变化趋势进行监测,根据监测结果推断当前网络或某个组件的运行状况。

目前大多采用基于统计的Mann-Kendall趋势检验算法对数据进行分析,但该算法只对单调趋势监测有效,而对数据时而增长时而降低的这种情况,非常容易出现误判的情况、甚至于无法判断其整体趋势。

发明内容

本申请实施例的主要目的在于提出一种数据趋势检测方法、电子设备和存储介质,实现对复杂情况的数据的整体趋势进行准确、快速判断。

为实现上述目的,本申请实施例提供了一种数据趋势检测方法,包括:获取历史数据,并将所述历史数据按时间顺序划分为多份子数据,其中,所述历史数据为需要被网络设备响应处理的数据;对所述多份子数据分别进行曲线拟合,获取每份子数据的拟合线段的斜率;对多份子数据的斜率进行分布对称性检测,获取所述历史数据的趋势。

为实现上述目的,本申请实施方式还提供了一种电子设备,包括:

至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的数据趋势检测方法。

为实现上述目的,本申请实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的数据趋势检测方法。

本申请提出的一种数据趋势检测方法、电子设备和存储介质,通过将历史数据划分为多份子数据,对每份子数据进行曲线拟合获取多份子数据的斜率,每一个斜率反映了历史数据中某一时间段的数据的趋势情况,所有斜率则实现了对历史数据整体趋势情况的量化。然后对多份子数据的斜率进行分布对称性检测,即可获取历史数据的整体趋势情况。本方法能对复杂情况的数据的整体趋势进行准确、快速判断。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。

图1是本申请的实施例提供的数据趋势检测方法的流程示意图一;

图2是本申请的实施例提供的数据趋势检测方法的流程示意图二;

图3是本申请的实施例提供的数据趋势检测方法的流程示意图三;

图4是本申请图3的实施例提供的数据趋势检测方法中步骤302的流程图;

图5是本发明的实施方式的提供的电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。

本申请提供的数据趋势检测方法,如图1所示,包括:

步骤101,获取历史数据,并将历史数据按时间顺序划分为多份子数据,其中,历史数据为需要被网络设备响应处理的数据。

本实施例中,历史数据为需要被网络设备响应处理的数据,比如:消息数据。本申请的数据趋势检测方法可以应用于某一服务平台,也可以应用于某一网络中的电子设备中,还可以应用于某一系统的中间件,比如:DT(Data Technology)系统的中间件(如:Kafka数据库)。需要说明的是,本申请所说的历史数据是一种即时数据。比如:第一天,产生了100条数据,第二天,产生了50条数据,响应处理了40条数据,则当前时刻获得的历史数据为110条。又比如:第一天,产生了100条数据,第二天,没有产生数据,第三天,没有产生数据,则当前时刻的历史数据为100条。

另外,步骤101中将历史数据按时间顺序划分为多份子数据,其中时间的颗粒度可以是一天、一小时,也可以是一分钟、一秒、甚至于一毫秒。而具体采用何种时间颗粒度将历史数据划分为多份子数据,可以根据应用场景的网络的规模和网络中网络设备的数量进行决定。

在一实施例中,可以将历史数据按时间顺序均匀划分为多份子数据,还可以按照应用场景的特点选取不同的划分方式。比如:由于白天每一分钟甚至每一秒钟都会产生大量需要响应的数据,而晚上则可能产生较少的需要响应的数据。因此可以将白天的历史数据(7:00—24:00)按分钟划分为多份,将夜晚的历史数据(1:00-7:00)按小时划分为多份。

另外,在将历史数据按时间顺序划分为多份子数据之前,还可以包括:当检测到历史数据中存在缺失的数据时,用缺失的数据的前一时刻的历史数据填补缺失的数据。即对历史数据进行预处理,确保历史数据的完整性。

步骤102,对多份子数据分别进行曲线拟合,获取每份子数据的拟合线段的斜率。

本实施例中,对每份子数据进行曲线拟合时,可以根据每份子数据的分布特点选择不同的拟合方法,可以采用最小二乘法、三次样条曲线拟合法、时间序列模型Prophet、贝叶斯采样方法拟合等任何现有的曲线拟合方法对数据进行处理,此处仅为举例说明,不做任何具体限定。

在一实施例中,对相邻两份子数据进行曲线拟合过程中,将前一份子数据对应的拟合线段的尾端点与后一份子数据对应的拟合线段的首端点进行连接。也就是说,在对多份子数据分别进行曲线拟合获取每份子数据的拟合线段时,每份子数据的拟合线段之间的曲线需要保持连续,否则得到多份子数据的斜率不能准确表示数据的趋势情况。比如:将获取的历史数据按时间顺序划分为25份,每份中包含100条数据,则第一份子数据表示为S1(k1、k2、……、k100),获取的拟合线段为Y1(x),第二份子数据表示为S2(k1、k2、……、k100),获取的拟合线段为Y2(x),则第一份子数据的最后一个端点Y1(k100)和第二份子数据的第一个端点Y2(k1)之间的曲线需要为连续的。具体地,可以在第一个拟合线段的尾端点和第二个拟合线段的首端点之间选择一个点作为参考点,将第一份子数据的拟合函数向右取极限,将第二份子数据的拟合函数向左取极限,当第一份子数据的拟合函数在参考点处的右极限值与第二份子数据的拟合函数在参考点处的左极限值相等时,就可以保证相邻两份拟合线段之间为连续的曲线。当然,参考点的选取方式在此不做限定,可以任意选取,也可以进行插值选取。

步骤103,对多份子数据的斜率进行分布对称性检测,获取历史数据的趋势。

本实施例中,对多份子数据的斜率进行分布对称性检测时,多份子数据的斜率是按照多份子数据对应的时间顺序排列的,如此才能保证获取历史数据的真实趋势。对多份子数据的斜率进行分布对称性检测,即检测多份子数据的斜率的对称中心、关于对称中心的对称程度。比如:若多份子数据的斜率关于0对称分布,则表示数据没有明显的变化趋势。若多份子数据的斜率偏离0且更偏向正值,则数据为增长趋势。若多份子数据的斜率偏离0且更偏向负值,则数据为增长趋势。

另外,数据的趋势可以预先设定多种趋势类型,比如:数据数量随着时间而增长的为增长趋势,数据数量随着时间而减少的为下降趋势,数据数量一直保持不变的可以定义为数据有堆积趋势(可以将堆积趋势看成增长趋势),也可以定义为数据无趋势。又比如:某一数据库最多可以存储500条数据,当前有50条数据,这50条数据一直未被响应处理,可以定义该数据为无趋势(既不增长也不减少)。又比如:某一数据库最多可以存储500条数据,当前时刻该数据库有400条数据一直未被响应处理,此时可以定义这430条数据有堆积趋势或增长趋势。即可以根据存储数据的数据库容量设定一阈值,若数据的数量大于该阈值认为有堆积趋势或增长趋势,若数据的数量小于该阈值认为无趋势。

另外,对于判定为增长趋势的历史数据,可以进一步分析历史数据的增长的程度。比如:定义每秒钟数据增长的数量小于1000条的为轻度增长趋势,定义每秒钟数据增长数量大于5000条的为快速增长趋势。当然,此处仅为具体的举例说明,可以根据应用场景和网络规模定义多个不同的阈值来分析获取历史数据增长趋势的增长程度。

在一实施例中,在获取历史数据之后,并将历史数据按时间顺序划分为多份子数据之前,获取历史数据的数量,并监测到历史数据的数量在预设的监测时间内有变化,将历史数据按时间顺序划分为多份子数据,然后执行后续步骤102和步骤103。

在一实施例中,获取历史数据之后,还包括:获取历史数据的数量;当监测到历史数据的数量在预设的监测时间内保持不变且大于预设的第四阈值时,确定历史数据有增长趋势。需要说明的是,获取历史数据的数量之后,若历史数据的数量一直保持不变,则说明该历史数据一直未被响应处理。同时若历史数据的数量大于预设的第四阈值,则可以不用对该历史数据进行趋势检测,直接确定该历史数据有堆积趋势。

本申请提出的一种数据趋势检测方法,通过将历史数据划分为多份子数据,对每份子数据进行曲线拟合获取多份子数据的斜率,每一个斜率反映了历史数据中某一时间段的数据的趋势情况,所有斜率则实现了对历史数据整体趋势情况的量化。然后对多份子数据的斜率进行分布对称性检测,即可获取历史数据的整体趋势情况。本方法能对复杂情况的数据的整体趋势进行准确、快速判断。

本申请的实施例涉及一种数据趋势检测方法,如图2所示,包括:

步骤201,获取历史数据,并将历史数据按时间顺序划分为多份子数据,其中,历史数据为需要被网络设备响应处理的数据。

需要说明的是,第四阈值的设定可以根据应用场景、网络的规模、数据库的存储容量以及用户的需求综合决定,比如:若本申请的数据趋势检测方法应用于实时性要求极高的网络中,则可以将第四阈值直接设置为0,即若历史数据的数量一直保持为1>0,则判定数据有堆积趋势。当然,此处仅为具体的举例说明,第四阈值的数量可以为任何数值。

步骤202,对多份子数据分别进行曲线拟合,获取每份子数据的拟合线段的斜率。

在本实施例中,步骤201、步骤202的具体实施细节与步骤101、102基本相同,在此不做赘述。

步骤203,对所述多份子数据的斜率的对称中心是否为0进行检验,获取第一数值。

在本实施例中,在对所述多份子数据的斜率的对称中心是否为0进行检验时,可以采用Wilcoxon符号秩和检验的方法,Wilcoxon符号秩和检验用来检验成对的观测数据的差值是否来自均值为0的总体。获取的第一数值即为Wilcoxon符号秩和检验中的p值。另外,对所述多份子数据的斜率的对称中心是否为0进行检验之前,可以将多份子数据的斜率按照时间顺序排列并组合成一个斜率数组进行处理,以方便处理,提高计算速度。

步骤204,对多份子数据的斜率进行偏度计算,获取第二数值。

在本实施例中,偏度是表征概率分布密度曲线相对于平均值不对称程度的特征数,直观看来就是密度函数曲线尾部的相对长度。比如:正态分布的偏度为0,即两侧尾部长度对称。在计算多份子数据的偏度时,本实施例采用如下公式计算:

步骤205,计算多份子数据的斜率的均值和方差,并根据均值和方差获取第三数值。

在本实施例中,将多份子数据的斜率的均值除以多份子数据斜率的方差得到的结果作为第三数值。

步骤206,当第一数值、斜率数组的均值、第二数值和第三数值满足预设的判定条件时,确定历史数据有增长趋势;其中,预设的判定条件为预设的第一条件、预设的第二条件和预设的第三条件中至少两个条件成立;第一条件为所述第一数值小于预设的第一阈值且所述均值大于0,第二条件为所述第二数值大于预设的第二阈值,所述第三条件为所述第三数值大于预设的第三阈值。

本实施例中,第一条件用数学符号表示为:criteria_1=p0,其中p为第一数值(以Wilcoxon符号秩和检验中的p值为例),m1为第一阈值,mean(k)为多份子数据斜率的均值;第二条件用数学符号表示为:criteria_2=g1>m2,其中g1为多份子数据的偏度,m2为第二阈值;第三条件用数学符号表示为:criteria_3=[mean(k)/std(k)]>m3,其中std(k)为多份子数据的斜率的方差,m3为第三阈值。当第一条件、第二条件和第三条件中至少有两个成立时,判定数据有增长趋势,否则为无增长趋势。需要说明的是,第一阈值,第二阈值和第三阈值的设定可以根据专家经验、网络规模和应用场景的需要综合决定。在一实施例中,可以将第一阈值设定为0.05,第二阈值设定为1,第三阈值为0.1。

另外,在对多份子数据的斜率进行分布对称性检测时,还可以获取多份子数据斜率的概率密度函数,获取概率密度曲线在x>0部分的积分面积(第一面积)和概率密度曲线在x<0部分的积分面积(第二面积),当第一面积大于第二面积时,可以判定数据有增长趋势。另外,还可以计算多份子数据的斜率的正值和,计算多份子数据的斜率的负值和,判断正值和与负值和的比值是否大于阈值,大于阈值时判定数据有增长趋势。

在一实施例中,确定历史数据有增长趋势或堆积趋势之后,还包括:将历史数据的趋势检测结果进行保存;在预设的时间间隔之后,重新获取历史数据,对历史数据进行趋势检测;当趋势检测结果再次为增长趋势或堆积趋势时,产生数据堆积异常告警。

需要说明的是,当第一次确定数据有增长趋势或堆积趋势之后,将检测结果保存,在预设的时间间隔之后,多次重新获取历史数据,对历史数据进行趋势检测。比如:当前时刻检测到历史数据有增长趋势或堆积趋势,假设预设的时间间隔为一天(24小时),则一天之后,重新获取历史数据,再次进行趋势检测,当趋势检测结果再次为增长趋势或堆积趋势时,产生数据堆积异常告警。当然,当趋势检测结果为增长趋势或堆积趋势的次数为多次时,就产生数据堆积异常告警,具体次数可以任意设定。另外,堆积趋势也可以认为是一种增长趋势,具体对数据增长趋势的定义可以根据应用场景、网络规模等自行设定。

本申请提出的一种数据趋势检测方法,通过将历史数据划分为多份子数据,对每份子数据进行曲线拟合获取多份子数据的斜率,每一个斜率反映了历史数据中某一时间段的数据的趋势情况,所有斜率则实现了对历史数据整体趋势情况的量化。然后对多份子数据的斜率进行Wilcoxon符号秩和检验、偏度计算、均值和方差计算,根据获取的数据和多个判定条件准确量化历史数据的整体趋势。本方法能对复杂情况的数据的整体趋势进行准确、快速判断,避免数据出现堆积时无法准确检测。

本申请提出的一种数据趋势检测方法,如图3所示,包括:

步骤301,获取历史数据的响应时间。

本实施例中,历史数据为即时数据,其响应时间为历史数据的数量小于或等于预设的第五阈值时的时刻。比如:day1,产生100条数据(历史数据=100),day2,产生50条数据(历史数据=150),day3,没有产生数据,消费140条(历史数据=10<阈值,响应时间T1),day4,产生20条(历史数据=30),消费30条(历史数据=0<阈值,响应时间T2),则当前时刻对历史数据进行处理时就获取到了两个响应时间T1和T2。需要说明的是,第五阈值的数值可以根据网络规模、用户需求、应用场景等综合决定,甚至于可以设定为0。另外,本申请中的第四阈值和第五阈值可以相等,也可以不等。

步骤302,对历史数据的响应时间进行分析,获取历史数据的分析结果。

进一步地,如图4所示,本实施例中步骤302还可以包括:

步骤401,将响应时间中距离当前时刻最近的一个响应时间作为历史数据的第一响应时间。

步骤402,获取第一响应时间与当前时刻的时间差值。

步骤403,将时间差值和预设的时间阈值进行比较,根据比较结果获取历史数据的分析结果。

本实施例中,当第一响应时间和当前时刻之间的时间间隔小于预设的时间阈值时,认为数据被及时响应处理,否则认为数据未被及时响应。需要进行趋势检测。

步骤303,当分析结果指示历史数据未被及时响应时,判定需要对历史数据进行趋势检测。

步骤304,获取历史数据,并将历史数据按时间顺序划分为多份子数据,其中,历史数据为需要被网络设备响应处理的数据。

步骤305,对多份子数据分别进行曲线拟合,获取每份子数据的拟合线段的斜率。

步骤306,对多份子数据的斜率进行分布对称性检测,获取历史数据的趋势。

本实施例中,步骤304-步骤305的具体实施细节可以参考前面所述的多个实施例相关步骤的实施细节,在此不做赘述。

本申请提出的一种数据趋势检测方法,通过将历史数据划分为多份子数据,对每份子数据进行曲线拟合获取多份子数据的斜率,每一个斜率反映了历史数据中某一时间段的数据的趋势情况,所有斜率则实现了对历史数据整体趋势情况的量化。然后对多份子数据的斜率进行分布对称性检测,即可获取历史数据的整体趋势情况。本方法能对复杂情况的数据的整体趋势进行准确、快速判断。另外,在对历史数据进行趋势检测之前通过分析历史数据的响应时间判断历史数据是否需要进行趋势检测,提高趋势检测的效率。

此外,应当理解的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其流程的核心设计都在该专利的保护范围内。

本发明的实施方式涉及一种电子设备,如图5所示,包括:

至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行如上述实施方式提及的温漂系数获取方法。

该电子设备包括:一个或多个处理器501以及存储器502,图5中以一个处理器501为例。处理器501、存储器502可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施方式中策略空间内的各处理策略对应的算法就存储于存储器502中。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述温漂系数获取方法。

存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述任意方法实施方式中的温漂系数获取方法。

上述产品可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。

本发明的实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

技术分类

06120115932128