1.本公开总体涉及运行和维护监控技术,更具体地涉及数据采集技术。
背景技术:
2.数据采集技术是实现云资源池运行状态监控的重要基础技术。通过在被监控服务器或终端上部署监控代理,采集指定监控项的状态信息,如cpu、内存、硬盘和网络等性能指标,监控资源池的运行状态。监控数据可用于系统管理、作业调度、故障检测和恢复等操作,而数据采集方法的好坏直接影响着监控数据的质量。
3.目前云资源池监控系统的数据采集技术主要面临以下三个方面的问题:
4.1)采样时间
5.在监控系统中增加新的监控项时,由于监控项启动时间的随机性,无法和其它已有监控项的采样时间保持同步。尤其是在同一时刻附近的采样数据,各监控项之间采样时间戳偏差较大,会影响监控数据之间的可对比性。
6.2)采样频率
7.以固定频率采集数据,如果频率过低,采样时间间隔变长,当监控项出现异常时,无法及时获取数据变化,导致错失关键数据;如果采样频率过高,采样时间间隔变短,当系统运行处于平稳状态时,会采集大量相似数据,不仅过度消耗终端计算和网络资源,还会增大监控服务器的计算和存储压力。
8.3)采样特征
9.目前监控数据的主流采样特征为当前采样时刻的数值,或者采样间隔内的平均值。当采样间隔较长时,当前采样时刻数据或平均值都无法反应监控项的实际状态变化趋势,特别是当监控项出现异常时,此类数据特征缺少足够的信息量;当采样间隔较短时,由于系统的正常运行时长远大于异常时长,基于此类特征的采集方式又会造成很大的数据冗余。
10.现有的数据采集技术方案主要致力于通过调整采样频率来解决上述问题。专利cn111147079a提供了一种采样频率自适应可调的数据采集方法,通过检测相邻时间窗口内的数据变化速率,根据数据变化快慢,调整下一个时间窗口内的采样频率。专利cn 110474812a提供了一种采样率自适应调整方法,通过采集分布式集群中应用节点的当前运行状态指标,根据预设的采样率调整规则判断是否需要调整采样率。这两种方案均以某个固定频率开始采集数据,当满足变更条件时,改变为另一固定采样频率。然而,触发变更条件后再改变采样频率,也就意味着触发事件已经发生,之后再改变采样频率仍将错失事件发生前和发生时的关键数据。
11.随着人工智能技术在异常检测、故障诊断和根因分析等领域广泛应用,现有的云资源池数据采集技术方案因采样时间、采样频率和采样特征方面的不足,已难以满足这些应用场景对数据质量的需求。
技术实现要素:
12.在下文中给出了关于本公开的简要概述,以便提供关于本公开的一些方面的基本理解。但是,应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图用来确定本公开的关键性部分或重要部分,也不是意图用来限定本公开的范围。其目的仅仅是以简化的形式给出关于本公开的某些概念,以此作为稍后给出的更详细描述的前序。
13.为了解决现有技术所存在的问题。本发明提供了一种可以自适应地调整采样时间、采样频率和采样特征的数据采集方法和装置,不仅解决了采样数据冗余、采样特征无法刻画数据真实变化趋势的问题,还解决了监控系统中各监控项之间采样时间戳偏差过大的问题。
14.根据本发明一个方面,提供了一种数据采集方法,包括:以第一时间间隔对数据进行采样;以第二时间间隔将采样的数据发送至服务器,所述第二时间间隔为第一时间间隔的n倍,n为大于或等于3的整数;其中,如下确定发送的采样的数据:确定当前第二时间间隔期间采样的数据中的最大值和最小值之差;基于所述差确定是发送当前第二时间间隔期间的全部采样的数据还是对采样的数据进行二次采样。
15.根据本发明的另一个方面,提供了一种数据采集装置,包括:存储器,存储有计算机可执行指令;以及处理器,被配置为当执行存储器中存储的计算机可执行指令时,执行如上所述的方法。
16.根据本发明的另一方面,提供了一种计算机可读存储介质,包括计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。
附图说明
17.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
18.参照附图,根据下面的详细描述,可以更清楚地理解本公开,其中:
19.图1示出了根据本发明一个实施例的数据采集系统的结构图;
20.图2示出了根据本发明一个实施例的数据采集方法的流程图;
21.图3示出了根据本发明一个实例的数据采集方法的流程图;
22.图4示出了根据本发明一个实施例的采样过程的流程图;
23.图5示出了根据本发明一个实施例的数据采集装置的配置图。
具体实施方式
24.参考附图进行以下详细描述,并且提供以下详细描述以帮助全面理解本公开的各种示例实施例。以下描述包括各种细节以帮助理解,但是这些细节仅被认为是示例,而不是为了限制本公开,本公开是由随附权利要求及其等同内容限定的。在以下描述中使用的词语和短语仅用于能够清楚一致地理解本公开。另外,为了清楚和简洁起见,可能省略了对公知的结构、功能和配置的描述。本领域普通技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以对本文描述的示例进行各种改变和修改。
25.图1给出了本发明所述的数据采集系统的一种系统结构实施例,由服务器和多个
代理组成。服务器例如可以是专门的监控服务器,代理可以是监控代理。各监控代理分别部署在需要采集数据的目标系统,即被监控系统中。每个监控代理可以对多个采集对象进行运行状态采样。采集对象例如可以包括cpu、内存、硬盘和网络等性能指标。
26.监控服务器可被配置为对监控代理和对应的采样参数进行配置,监控代理的配置参数包括ip地址、采样对象、端口号等,采样参数包括采样时间间隔等。优选地,监控服务器还可以配置有数据展示模块用于配置监控代理采样参数,显示实时采样数据,查询历史采样数据等。此外,监控服务器还可以配置有数据存储模块用于保存配置参数和采样数据,数据传输模块负责监控服务器和监控代理之间的数据通信。
27.监控代理被配置为执行数据采集的主要流程,包括以下步骤:以第一时间间隔对数据进行采样;以第二时间间隔将采样的数据发送至服务器,所述第二时间间隔为第一时间间隔的n倍并且n为大于或等于3的整数。其中,如下确定发送的采样的数据:确定当前第二时间间隔期间采样的数据中的最大值和最小值之差(下文中简称为极差);基于所述差确定是发送当前第二时间间隔期间的全部采样数据还是对当前第二时间间隔期间采样的数据进行二次采样。
28.其中,二次采样可以由本领域技术人员根据实际情况采用适合的方式进行。本领域人员能够理解,二次采样的数据的数据量小于全部采样数据的数据量。
29.图2示出了以上数据采集方法的示意流程图。
30.首先,在步骤201中,对数据进行采样并记录采样的数据。然后,在步骤202中,判断是否已到达第二时间间隔。如果尚未到达第二时间间隔,则流程前进至步骤203,等待第一时间间隔。然后,返回步骤201并再次对数据进行采样。当在步骤202处确定到达第二时间间隔时,流程前进至步骤204,计算所记录的采样的数据中的最大值和最小值之差。最后,在步骤205,基于所述差确定是发送第二时间间隔期间的全部采样数据还是对采样的数据进行二次采样,并将确定的要发送的数据发送至服务器进行进一步处理。
31.优选地,可以通过检测计时器的定时来判断是否已到达第二时间间隔。可替换地,也可以通过设置计数器来检测迭代次数来判断是否已到达第二时间间隔。例如,设置计数器c=0,每一次采样后c=c+1,当检测到c=n时,确定已到达第二时间间隔。
32.本发明通过以较高的频率采样数据,然后以较低的频率将采样的数据发送至服务器,并且基于采样数据的极差所指示的系统运行状态确定是发送全部数据还是仅发送代表性的二次采样数据。以这种方式,整体上减少了发送的采样数据量,减少了数据冗余和带宽消耗。
33.根据一个实施例,可以通过以下步骤来确定二次采样的数据。首先,设置第一调整阈值。将采样的数据中的最大值和最小值之差与第一调整阈值相比。如果差高于或等于第一调整阈值,则发送全部采样的数据。如果差低于第一调整阈值,则对采样的数据进行二次采样。
34.优选地,第一调整阈值被设置为表示监控项出现异常的临界值。
35.在该实施例中,当采样的数据的极值高于或等于第一调整阈值时,表示在当前的第二时间间隔期间,监控项出现了异常。因此,将全部采样数据发送至监控服务器以防止丢失关键数据。当采样的数据的变化低于第一调整阈值时,表示监控对象的运行未出现异常,因此,无需发送全部采样数据,只需对采样的数据进行二次采样,获得表示系统运行状态的
代表性数据,然后将二次采样的数据发送至服务器即可。优选地,二次采样的数据例如可以包括采样的数据中的极值(例如,最大值和最小值)、特定时刻的采样数据(例如,第二间隔时段开始和结束的时刻采样的数据)或采样数据的平均值。可见,二次采样的数据量远小于全部的采样数据量(即,一次采样的数据量)。
36.以这种方式,通过检测最大值和最小值之差的变化,动态调整较低频率的二次采样的特征,能够在减少数据冗余的同时,使得采样数据能够体现采样对象运行状态的关键趋势的变化。这是因为,仅对于有可能发生异常的那个时段发送全部采样数据,而对于正常运行的时段,仅发送二次采样的数据即可。
37.为了在确保不丢失反应监控项出现异常时的关键数据的同时进一步减少冗余数据,还可以设置第二调整阈值,以区分对象运行的平稳状态和波动状态。优选地,第二调整阈值被设置为表示监控项出现波动时的临界值。非异常状态可细分为平稳状态和波动状态。波动状态是指被监控对象可能出现一些不稳定情况,但尚未出现异常的状态。在这种状态下,可以对监控对象进行检查和维护,以避免故障的发生。
38.根据一个优选的实施方式,如果最大值和最小值的差低于第一调整阈值,可以进一步确定所述差是否高于或等于第二调整阈值,其中第二调整阈值低于第一调整阈值;如果高于或等于第二调整阈值,则发送当前第二时间间隔期间采样的数据的最大值、最小值、最早采样的数据以及最晚采样的数据;以及如果低于第二调整阈值,则发送当前第二时间间隔期间采样的数据的平均值。
39.这是因为,当高于或等于第二调整阈值时,表示系统运行虽然无异常,但存在波动。因此,将这一时段中最能反应波动情况的数据(最大值、最小值、最早采样的数据以及最晚采样的数据)发送至服务器,以帮助分析波动原因。而当差值低于第二调整阈值时,表明对象运行平稳,所采集的数据之间不存在太大差异,此时只需要表示这段时间的总体运行状况的平均值发送至服务器以用于记录即可。这样,能够进一步减少发送的数据量。
40.根据另一个优选的实施例,数据采集方法还包括:如果极差高于第一调整阈值,并且确定要发送全部的采样数据,则进一步确定前一第二时间间隔期间的采样数据是否全部被发送。如果没有全部被发送,则将前一第二时间间隔期间全部的采样数据与当前第二时间间隔期间全部的采样数据合并一起发送。
41.在该实施例中,在检测到异常时,不仅发送发生故障的时段期间的全部采集数据,同时还补发发生故障前的时段的历史数据。这样可以获得故障发生前和发生时的数据序列,避免错失关键数据。
42.根据另一个优选的实施例,数据采集方法还包括:使采样的时间与其它监控项的采样的时间同步。这样,各监控项之间采样时间戳基本无明显偏差,有利于监控数据之间的对比。
43.根据一个实施方式,可以如下使采样的时间与其它监控项采样的时间同步。首先,确定当前时间与其它监控项的采样时间的时间戳是否大致相同。如果大致相同,则触发采样。如果不大致相同,则等待一启动时间间隔,然后重复确定当前时间与其它监控项的采样时间的时间戳是否大致相同的步骤,直到当前时间与其它监控项的采样时间的时间戳大致相同。
44.优选地,第一时间间隔p1以秒为单位且为60的因数,启动时间间隔t以毫秒为单位
并且满足10≤t《1000。这可以通过采用毫秒级定时器实现。当检测到定时器的秒位为零时,确定当前时间与其它监控项的采样的时间大致相同。
45.在本文中,大致相同的含义是指在秒级是相同的,也就是说,可以存在毫秒级的误差。
46.以这种方式,即使随机启动采样程序,也可以保证不同监控代理的采样时间戳在秒级是同步的。也就是说,不同监控代理之间的采样时间戳偏差为毫秒级,即小于1秒,且偏差可控。
47.在一个优选的实施例中,在触发采样之前,还可以进一步确定当前时间的前一秒内是否进行了采样,并且仅在当前时间的前一秒内未进行采样的情况下触发采样。具体而言,在确定当前时间与其它监控项的采样时间的时间戳大致相同之后,进一步确定当前时间的前一秒内是否进行了采样。如果前一秒内进行了采样,则再等待一启动时间间隔,然后重新进行时间戳是否相同和前一秒内是否进行了采样的确定。
48.这是因为,采用的是毫秒级的计时器,启动时间间隔也是毫秒级的,这样有可能出现,在秒位为0时进行了采样后,即使增加了启动时间间隔,计时器的秒位仍然为0的情况。如果此时再次采样,会导致采样时间间隔过短,也就是小于1秒的情况出现,这种情况也被称为重复采样。重复采样会导致冗余数据的产生,不利于节约计算和网络资源。
49.在一个优选的实施例中,在发送数据之前,等待随机的延时时段,所述随机的延时时间段不超过一秒。这是由于不同监控项的采样时间被同步,服务器有可能在同一时刻接收到大量数据。通过引入随机延时,可以将不同监控项的采集数据的发送时间彼此错开,防止服务器在同一时刻接收大量数据,保证服务器的平稳运行。
50.下面参照图3描述本发明的一个实例。
51.监控代理启动后,利用数据传输模块和监控服务器进行通信,获取监控服务器的系统时间并进行同步。当收到来自监控服务器的配置参数时,存储配置参数并根据配置参数完成采样初始化,同时设置采样计数器。
52.步骤301:校准系统时间
53.将采集对象所在系统的时间与选定的网络标准时间进行同步,以校准系统时间。
54.步骤302:设定采样参数
55.在开始采集数据之前,设定第一采样时间间隔p1,对应第一采样频率f1=1/p1;设定第二采样时间间隔p2,对应第二采样频率f2=1/p2;设定判断是否出现异常的第一调整阈值h1和判断运行状态是否平稳的第二调整阈值h2,h1》h2;设定参数n,n为正整数,且n≥3。同时,p1和p2需要满足以下条件:
56.60%p1=0
57.p2=p1*n
58.也就是说,第一采样时间间隔p1位于1秒到60秒之间,为60的因数,且第二采样时间间隔为第一采样时间间隔的n倍。
59.第一采样频率f1为原始采样频率,第二采样频率f2为对于原始采样的数据进行传送的频率。可见,第二采样频率低于第一采样频率。
60.步骤303:采样初始化
61.将计数器、历史数据记录和相关标记都初始化为0。例如,初始化采样计数器c=0,
初始化历史数据序列记录data0为空。此外,初始化第一标记flag1=0,第二标记flag2=0和第三标记flag3=0。
62.其中,第一标记flag1、第二标记flag2和第三标记flag3为二进制的单个数位,其值为0或1。
63.第一标记flag1指示当前时间和其它监控项的采样时间的时间戳是否相同。当flag1=1时,表示当前时间和其它监控项的采样时间的时间戳大致相同,也就是至少在秒级是相同的;当flag1=0时,表示尚不清楚当前时间和其它监控项的采样时间的时间戳是否大致相同,需要进一步判断。
64.第二标记flag2指示在当前时间的前一秒内是否进行了采样。当flag2=1时,表示当前时间的前一秒内已经进行了采样,也就是说,当前时间距离上次采样过短(小于1秒)。即使此时计时器的秒位为0,也并不满足第一采样时间间隔,不应当进行采样。当flag2=0时,表示当前时间的前一秒内未进行采样,如果此时计时器秒位为零,可触发采样。
65.第三标记flag3指示在前一第二采样时间间隔期间所采样的数据是否被全部发送。当flag3=1时,表示前一第二采样时间间隔期间所采样的数据并未全部被发送。也就是说,前一第二采样时间间隔期间所采样的数据经二次采用之后被发送。当flag3=0时,表示前一第二采样时间间隔期间所采样的数据被全部发送。
66.步骤304:采样
67.启动定时器,该定时器的启动时间间隔为t毫秒,且10≤t<1000。也就是说,每隔t毫秒执行一次操作,获取采样数据。下面参照图4描述具体操作步骤如下:
68.1、使采样的时间与其它监控项的采样的时间同步(步骤401-404)。
69.在步骤401,间隔t毫秒,获取计时器的当前时间的秒位的值。例如,如果计时器为h小时m分s秒t毫秒,那么秒位的值为s。
70.在步骤403,检测s是否为0,如果s=0,则在步骤404将第一标记flag1置为1,前进至步骤405;如果s≠0,则重复步骤401。
71.同步操作只在每次启动新的监控项时进行。一旦初始采样的时间戳与其它监控项同步,后续的采样时间都是同步的,无需每次采样时再重复检测。因此,设置步骤402,如果flag1=1,表明已经完成同步操作,可继续执行步骤405。通过设置flag1,在之后的操作中,可以仅通过检测flag1的值来判断是否已经同步。
72.2、检测第一采样时间间隔(步骤405-407)。
73.是否满足第一采样时间间隔可通过两个条件来判断。1)由于p1为秒级时段且为60的因数,因此s应为p1的倍数;2)考虑到重复采样问题,应确保前一秒内没有进行过采样。同时满足两个条件,表明满足第一采样时间间隔。
74.在步骤405,计算s%p1。然后在步骤406,判断如果s%p1≠0,即s不为0且不是p1的倍数,不满足第一采样时间间隔,将第二标记flag2置为0,并返回步骤401;如果s%p1=0且在步骤407判断第二标记flag2=1,表明前一秒内刚刚进行了采样,不满足第一采样时间间隔,返回步骤401;如果s%p1=0且在步骤407判断flag2=0,表示满足第一采样时间间隔,前进至步骤408。
75.3、采样并记录采样数据(步骤408-409)
76.在步骤408,将第二标记flag2置为1,并且采样计数器c增加1,即c=c+1。在步骤
409对监测对象的当前状态采样一次,并记录为(ti,vi),其中i=c,ti为采样时刻,vi为采样值。
77.4、确定采样数据的极值(步骤410)
78.在步骤410,可以将当前采样数据与前一次采样的数据相比,并将较大值的数据记录为最大值v
max
,将较小值的数据记录为v
min
。
79.如果vi>v
i-1
,则v
max
=vi,t
va
=ti,v
min
=v
i-1
,t
vi
=t
i-1
;否则,v
max
=v
i-1
,t
va
=t
i-1
,v
min
=vi,t
vi
=ti。其中v
max
为所采样的数据中的最大值,t
va
为最大值对应的采样时间,v
min
为所采样的数据中的最小值,t
vi
为最小值对应的采样时间。
80.确定采样数据的极值的方式不限于此,也可以在记录完第二采样时间间隔期间所有的采样数据后确定采样数据中的极值。
81.5、检测第二采样时间间隔(步骤411)
82.由于第二采样时间间隔为第一采样时间间隔的n倍,只需检测计数器c的值是否为n即可。
83.在步骤411,如果c不等于n,重复步骤4.1至步骤4.4;否则,满足第二采样时间间隔,计算极差r=v
max-v
min
,同时得到一组采样数据[(t1,v1),(t2,v2),
…
,(tn,vn)],并重置采样计数器c为0。
[0084]
6、确定要发送的数据序列(步骤413)
[0085]
在步骤413,将极差r与调整阈值h1和h2做比较,基于比较结果确定待发送的采样数据序列data1,之后返回步骤401并同时执行稍后将描述的步骤305。
[0086]
获取待发送数据序列data1的方法如下:
[0087]
当r≥h1时,判断可能发生异常,需要发送全部采样数据。因此,确定数据序列data1包括全部采样数据[(t1,v1),(t2,v2),
…
,(tn,vn)]。优选地,此时进一步确定前一第二采样时间间隔期间的采样数据是否全部发送,即flag3是否为0。如果flag3=0或者历史数据data0为空,表明前一第二采样时间间隔的历史采样数据已全部发送或者不存在历史数据,因此确定数据序列data1为[(t1,v1),(t2,v2),
…
,(tn,vn)]。如果flag3=1,则表明前一第二采样时间间隔的历史采样数据未全部发送,因此data1的值为历史数据data0中的数据序列和[(t1,v1),(t2,v2),
…
,(tn,vn)]的并集。
[0088]
之后,将data0的值更新为[(t1,v1),(t2,v2),
…
,(tn,vn)],将第三标记flag3置为0。
[0089]
当r<h1时,对采样数据[(t1,v1),(t2,v2),
…
,(tn,vn)]进行二次采样。优选地,可以将r与第二调整阈值h2相比,进一步对非异常状态进行细分,采取不同的采样方式。
[0090]
当h2≤r<h1时,监控对象处于波动状态。此时,可以将此采样数据中的极值(即,(t
va
,v
max
)和(t
vi
,v
min
))和初次和末次采样时刻的数据(即,(t1,v1)和(tn,vn))发送至服务器。由于发送的数据是一个序列,因此要按照时间的先后排列数据。如果t
va
>t
vi
,则数据序列data1为[(t1,v1),(t
vi
,v
min
),(t
va
,v
max
),(tn,vn)],否则data1为[(t1,v1),(t
va
,v
max
),(t
vi
,v
min
),(tn,vn)]。优选地,当时间戳t1、t
vi
、t
va
和tn之间出现重复时,重复的采样数据只保留一个。之后,将第三标记flag3置为1,将data0更新为[(t1,v1),(t2,v2),
…
,(tn,vn)]。
[0091]
当r<h2时,监控对象处于平稳状态。此时,只需要发送表示这一段时间对象运行
状态的采样数据特征值即可。可以计算采样数据的均值数据序列data1为[(tn,μ)],并将第三标记flag3置为1,将data0更新为[(t1,v1),(t2,v2),
…
,(tn,vn)]。
[0092]
以上二次采样方法仅为示例。本领域技术人员可以根据需要采用不同的二次采样数据序列。例如,可以发送采样数据中的中位数,也可以将平均值和特定时刻的值一起发送等。
[0093]
步骤305:延时发送
[0094]
由于不同监控项的采样时间同步,发送数据的时间也大致相同,因此服务器有可能在同一时刻接收到大量数据。为了保证服务器的平稳运行,引入了随机延时,使得不同监控项的采样数据的发送时间彼此错开。
[0095]
根据一个实施例,可以计算随机整数d,且0<d<1000,延时d毫秒后发出采样数据序列data1。这样,不同的监控项的采样数据发送时间可以1秒内的时差错开。
[0096]
以上方法可以利用本领域技术人员已知的编程语言实现。以python语言为例,可以利用time模块的sleep函数实现时间间隔为100ms的定时器,利用datetime模块获取当前时间,并通过now.second得到秒位的值。利用threading线程模块的thread类来处理线程,初始化第一线程thread1和第二线程thread2。
[0097]
第一采样时间间隔和第二采样时间间隔、第一调整阈值和第二调整阈值等参数可以根据所监控的对象的性质由本领域技术人员在所规定的范围内进行选择。以监控代理采集linux系统可用内存率为例,第一采样时间间隔可以为5s,第二采样时间间隔可以为50s,第一调整阈值可设为0.25,第二调整阈值可设为0.5。定时器采用毫秒级定时器,启动时间间隔可以根据所设置的采样时间间隔来确定。例如,对于5s的第一采样时间间隔和50s的第二采样时间间隔,定时器的启动时间间隔可以为100ms。
[0098]
可以利用第一线程thread1来执行采样过程,并在完成第二采样时间间隔期间的采样后,同时利用第二线程thread2执行数据发送,其流程为:首先利用random模块的randint函数来生成1~999之间的随机数d,然后利用time模块的sleep函数延时d毫秒后发出采样数据序列data1。
[0099]
监控服务器接收到来自监控代理的采样数据后,保存到数据存储模块,并通过数据展示模块显示收到的采样数据。
[0100]
尽管在上文参照python语言描述了实现本发明的数据采样方法的过程,但本发明的数据采样方法的实现方式不限于此。也可以采用其它编程语言实现。
[0101]
以上描述的数据采集方法可以是能够由计算机或处理器实现的方法。具体而言,可以通过软件、硬件或软件和硬件的组合执行。例如,可以通过执行以上方法中各个步骤的多个模块来实现。以上描述的方法也可以实现为存储在存储介质中的程序代码,以便由处理器来执行。所述处理器可以是专用处理器或通用处理器。
[0102]
此外,本公开可以被实现为装置、系统、集成电路和非瞬时性计算机可读介质上的计算机程序的任何组合。下面描述根据本发明的一个实施方式的数据采集装置。
[0103]
图5示出了能够实现根据本公开的实施例的数据采集装置500的示例性配置。数据采集装置500可以分布式地部署在监控服务器和被监控的对象处。
[0104]
数据采集装置500是能够应用本公开的上述方面的硬件设备的实例。数据采集装
置500可以是被配置为执行处理和/或计算的任何机器。数据采集装置500可以是但不限制于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数据助手(pda)、智能电话、车载计算机或以上组合。
[0105]
如图5所示,数据采集设备500可以包括可以经由一个或多个接口与总线502连接或通信的一个或多个元件。总线502可以包括但不限于,工业标准架构(industry standard architecture,isa)总线、微通道架构(micro channel architecture,mca)总线、增强isa(eisa)总线、视频电子标准协会(vesa)局部总线、以及外设组件互连(pci)总线等。计算设备500可以包括例如一个或多个处理器504、一个或多个输入设备506以及一个或多个输出设备508。一个或多个处理器504可以是任何种类的处理器,并且可以包括但不限于一个或多个通用处理器或专用处理器(诸如专用处理芯片)。处理器504例如可以被配置为实现本发明的不良信息的识别方法。输入设备506可以是能够向计算设备输入信息的任何类型的输入设备,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或远程控制器。输出设备508可以是能够呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端和/或打印机。
[0106]
计算设备500还可以包括或被连接至非暂态存储设备514,该非暂态存储设备514可以是任何非暂态的并且可以实现数据存储的存储设备,并且可以包括但不限于盘驱动器、光存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁性介质、压缩盘或任何其他光学介质、缓存存储器和/或任何其他存储芯片或模块、和/或计算机可以从其中读取数据、指令和/或代码的其他任何介质。非暂态存储设备514存储有计算机可执行指令。所述指令当被处理器504执行时实现如本发明的不良信息的识别方法。
[0107]
计算设备500还可以包括随机存取存储器(ram)510和只读存储器(rom)512。rom 512可以以非易失性方式存储待执行的程序、实用程序或进程。ram 510可提供易失性数据存储,并存储与数据采集设备500的操作相关的指令。数据采集设备50还可包括耦接至数据链路518的网络/总线接口516。网络/总线接口516可以是能够启用与外部装置和/或网络通信的任何种类的设备或系统,并且可以包括但不限于调制解调器、网络卡、红外线通信设备、无线通信设备和/或芯片集(诸如蓝牙tm设备、802.11设备、wifi设备、wimax设备、蜂窝通信设施等)。
[0108]
提供本公开的主题作为用于执行本公开中描述的特征的装置、系统、方法和程序的示例。但是,除了上述特征之外,还可以预期其他特征或变型。可以预期的是,可以用可能代替任何上述实现的技术的任何新出现的技术来完成本公开的部件和功能的实现。
[0109]
另外,以上描述提供了示例,而不限制权利要求中阐述的范围、适用性或配置。在不脱离本公开的精神和范围的情况下,可以对所讨论的元件的功能和布置进行改变。各种实施例可以适当地省略、替代或添加各种过程或部件。例如,关于某些实施例描述的特征可以在其他实施例中被结合。
[0110]
另外,在本公开的描述中,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性和顺序。
[0111]
类似地,虽然在附图中以特定次序描绘了操作,但是这不应该被理解为要求以所示的特定次序或者以顺序次序执行这样的操作,或者要求执行所有图示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。
技术特征:
1.一种数据采集方法,包括:以第一时间间隔对数据进行采样;以第二时间间隔将采样的数据发送至服务器,所述第二时间间隔为第一时间间隔的n倍,n为大于或等于3的整数;其中,如下确定发送的采样的数据:确定当前第二时间间隔期间采样的数据中的最大值和最小值之差;基于所述差确定是发送当前第二时间间隔期间的全部采样的数据还是对采样的数据进行二次采样。2.如权利要求1所述的数据采集方法,其中,基于所述差对当前第二时间间隔期间采样的数据进行二次采样包括:确定所述差是否高于或等于第一调整阈值;如果所述差高于或等于第一调整阈值,则发送全部采样的数据;以及如果所述差低于第一调整阈值,则对采样的数据进行二次采样。3.如权利要求1所述的数据采集方法,其中二次采样的数据包括:采样的数据中的极值、特定时刻的采样数据或采样数据的平均值。4.如权利要求2所述的数据采集方法,其中,如果所述差低于第一调整阈值,则进一步确定所述差是否高于或等于第二调整阈值,其中第二调整阈值低于第一调整阈值;如果高于或等于第二调整阈值,则发送当前第二时间间隔期间采样的数据的最大值、最小值、最早采样的数据以及最晚采样的数据;以及如果低于第二调整阈值,则发送当前第二时间间隔期间采样的数据的平均值。5.如权利要求1所述的数据采集方法,其中,如果确定发送全部的采样数据,则所述数据采集方法还包括:确定前一第二时间间隔期间的采样数据是否全部被发送;以及如果没有全部被发送,则将前一第二时间间隔期间全部的采样数据与当前第二时间间隔期间全部的采样数据一起发送。6.如权利要求1所述的数据采集方法,还包括:使采样的时间与其它监控项的采样的时间同步。7.如权利要求6所述的数据采集方法,其中,使采样的时间与其它监控项采样的时间同步包括:确定当前时间与其它监控项的采样时间的时间戳是否大致相同;如果大致相同,则触发采样;以及如果不大致相同,则等待一启动时间间隔t,然后重复确定当前时间与其它监控项的采样时间的时间戳是否大致相同的步骤,直到当前时间与其它监控项的采样时间的时间戳大致相同为止。8.如权利要求7所述的数据采集方法,其中,第一时间间隔以秒为单位且为60的因数,所述启动时间间隔t以毫秒为单位并且满足10≤t<1000。9.如权利要求8所述的数据采集方法,其中,当检测到定时器的秒位为零时,确定当前时间与其它监控项的采样时间的时间戳大致相同。
10.如权利要求8所述的数据采集方法,还包括:确定当前时间的前一秒内是否进行了采样,并且仅在当前时间的前一秒内未进行采样的情况下触发采样。11.如权利要求6所述的数据采集方法,还包括:在发送数据之前,等待随机的延时时段,所述随机的延时时间段不超过一秒。12.一种数据采集装置,包括:存储器,存储有计算机可执行指令;以及处理器,被配置为当执行存储器中存储的计算机可执行指令时,执行如权利要求1-11中任一项所述的方法。13.一种计算机可读存储介质,包括计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1至11中的任一项所述的方法。
技术总结
本公开涉及自适应调整的数据采集方法和装置。公开了一种数据采集方法,包括:以第一时间间隔对数据进行采样;以第二时间间隔将采样的数据发送至服务器,所述第二时间间隔为第一时间间隔的n倍,n为大于或等于3的整数;其中,如下确定发送的采样的数据:确定当前第二时间间隔期间采样的数据中的最大值和最小值之差;基于所述差确定是发送当前第二时间间隔期间的全部采样的数据还是对采样的数据进行二次采样。采样。采样。
技术研发人员:杜璟彦 李伟泽 周济 王子朝 陈都
受保护的技术使用者:天翼云科技有限公司
技术研发日:2020.11.23
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-19223.html