CN116662100B - 数据处理方法和电子设备 - Google Patents
数据处理方法和电子设备 Download PDFInfo
- Publication number
- CN116662100B CN116662100B CN202211180745.1A CN202211180745A CN116662100B CN 116662100 B CN116662100 B CN 116662100B CN 202211180745 A CN202211180745 A CN 202211180745A CN 116662100 B CN116662100 B CN 116662100B
- Authority
- CN
- China
- Prior art keywords
- data
- sampling rate
- rate
- determining
- current
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000005070 sampling Methods 0.000 claims abstract description 388
- 238000004519 manufacturing process Methods 0.000 claims abstract description 196
- 238000009825 accumulation Methods 0.000 claims abstract description 147
- 238000012545 processing Methods 0.000 claims abstract description 99
- 238000000034 method Methods 0.000 claims abstract description 98
- 230000015654 memory Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 description 68
- 230000008569 process Effects 0.000 description 35
- 230000005540 biological transmission Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000004458 analytical method Methods 0.000 description 13
- 230000001186 cumulative effect Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 238000012216 screening Methods 0.000 description 7
- 230000000737 periodic effect Effects 0.000 description 5
- 230000008859 change 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
- 230000003111 delayed effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003319 supportive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/022—Capturing of monitoring data by sampling
- H04L43/024—Capturing of monitoring data by sampling by adaptive sampling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- General Factory Administration (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种数据处理方法和电子设备,该方法包括:确定历史平均生产速率,历史平均生产速率表征电子设备在历史时间段内获取初始数据的平均速率;确定预设的最大生产速率和历史平均生产速率的比值,得到第一比值;根据第一比值,确定多个预设采样率中是否存在临时采样率,临时采样率为多个预设采样率中小于第一比值的采样率中最大的一个,预设采样率大于0且小于或等于1;若存在临时采样率,则根据临时采样率确定目标采样率;若不存在临时采样率,则将预设值确定为目标采样率,预设值大于或等于0且小于1;根据目标采样率对获取的初始数据进行采样。该方法能够减少数据堆积,提高数据处理及时性。
Description
技术领域
本申请涉及电子技术领域,具体涉及一种数据处理方法和电子设备。
背景技术
现如今,为了向终端提供服务,或者为了保证服务器功能的稳定等,出现了很多需要处理大量数据的平台,例如,监控平台、运营分析平台、物联网(internet of things,IoT)平台等。以监控平台中的业务服务监控平台为例,该平台主要用于接收业务服务器上报的数据(例如处理业务的数量、时间等),并基于上报的数据进行分析,以对业务服务器提供业务的稳定性、可靠性等进行监控。
业务服务监控平台的数据处理量随业务服务器的业务量线性增长,在业务服务器所处理的业务量暴涨的情况下,业务服务监控平台需要处理的数据量也会暴涨。当数据量达到业务服务监控平台的性能瓶颈时,会造成数据处理延迟,从而导致监控结果延迟或出错,监控效果差,影响用户体验。
发明内容
本申请提供了一种数据处理方法、装置、电子设备、数据处理系统、芯片、计算机可读存储介质和计算机程序产品,能够减少平台的数据堆积,提高数据处理及时性。
第一方面,本申请提供一种数据处理方法,该方法由电子设备执行,该方法包括:确定历史平均生产速率,历史平均生产速率表征电子设备在历史时间段内获取初始数据的平均速率;确定预设的最大生产速率和历史平均生产速率的比值,得到第一比值;根据第一比值,确定多个预设采样率中是否存在临时采样率,临时采样率为多个预设采样率中小于第一比值的采样率中最大的一个,预设采样率大于0且小于或等于1;若存在临时采样率,则根据临时采样率确定目标采样率;若不存在临时采样率,则将预设值确定为目标采样率,预设值大于或等于0且小于1;根据目标采样率对获取的初始数据进行采样。
该数据处理方法中,根据应用场景的不同,电子设备可以是平台,也可以是客户端。
历史时间段是指当前时刻之前的时间段。初始数据是指电子设备获取的数据,可以为其他设备上报至电子设备的数据,也可以为电子设备自身采集的数据。预设的最大生产速率(也称为预设最大生产速率)用于表征电子设备能够承受的最大生产速率,为保证电子设备不发生异常,或者数据堆积量不持续增长的情况下,电子设备的最大生产速率。临时采样率也即初筛采样率中最大的一个,初筛采样率是指多个预设采样率中小于第一比值的采样率。
可选的,第一方面的方法中的所有步骤可以多次执行,以多次调整采样率。在一个具体的实施例中,该方法的步骤可以周期性执行,也就是说,每间隔预设周期时长,执行一次第一方面的过程,以实现对采样率的周期性调整,以及对初始数据的持续采样。
第一方面提供的方法,通过确定历史平均生产速率,并确定最大生产速率和历史平均生产速率的比值,得到第一比值。根据第一比值在多个采样率中确定目标采样率,基于目标采样率对初始数据进行采样。该方法能够结合历史平均生产速率,确定出与历史平均生产速率相匹配的目标采样率,历史平均生产速率对当前的生产速率或后续生产速率具有一定的参考意义,因而目标采样率大概率能够与后续生产速率相匹配,减少电子设备的数据处理压力,减少数据量堆积,提高数据处理及时性,进而提高根据数据生成的数据处理结果的准确性,提高用户体验。另外,根据第一比值在多个预设采样率中确定临时采样率,并根据临时采样率确定目标采样率;在多个预设采样率中不存在临时采样率的情况下,将预设值确定为目标采样率。这样,采样率能够在预设采样率和预设值中切换调整,防止采样率变化过于频繁,减小算法运行复杂度,节约设备功耗。
结合第一方面,在第一方面的有些实现方式中,电子设备包括消息中间件,消息中间件用于传输初始数据,根据临时采样率确定目标采样率,包括:获取当前数据堆积量,当前数据堆积量表征当前时刻消息中间件中堆积的数据的量;获取预设的最大允许堆积量;根据当前数据堆积量、最大允许堆积量和临时采样率确定目标采样率。
可选的,包括消息中间件的电子设备例如可以为平台。电子设备包括消息中间件时,初始数据可能在消息中间件产生堆积。预设的最大允许堆积量(也称为预设最大允许堆积量)为电子设备允许消息中间件堆积数据的最大量。消息中间件的数据堆积量不超过最大允许堆积量时,电子设备不会因数据堆积导致数据延迟或丢失,或者因数据堆积导致的数据延迟或丢失能够被接受。
该实现方式中,通过获取预设的最大允许堆积量,并根据当前数据堆积量、最大允许堆积量和临时采样率确定目标采样率。也就是说,在确定目标采样率时,不仅考虑了历史平均生产速率,还考虑了当前数据堆积量,使得目标采样率能够和历史平均速率和当前数据堆积量相匹配,进一步防止数据堆积,提高数据处理及时性。
一种可能的实现方式中,根据当前数据堆积量、最大允许堆积量和临时采样率确定目标采样率,包括:若当前数据堆积量大于最大允许堆积量,则将临时采样率和当前采样率中较小的一个确定为目标采样率;若当前数据堆积量小于或等于最大允许堆积量,则将临时采样率确定为目标采样率。
也就是说,在当前数据堆积量较大的情况下,选取临时采样率和当前采样率中较小一个作为目标采样率进行采样。这样能够更快的减少数据堆积,提高数据处理及时性,防止数据延迟或丢失。在当前数据堆积量较小的情况下,将临时采样率作为目标采样率进行采样。这样,对初始数据采样得到的采样数据的输出速率与历史平均生产速率相匹配,在生产速率不发生过大变化的情况下,消息中间件不再产生数据堆积,保证了数据处理及时性,防止数据延迟或丢失。
一种可能的实现方式中,获取当前数据堆积量,包括:获取当前时刻的数据累计生产量和当前时刻的数据累计消费量,数据累计生产量表征消息中间件累计接收的数据的量,数据累计消费量表征消息中间件中累计被消费的数据的量;根据当前时刻的数据累计生产量与当前时刻的数据累计消费量的差值,确定当前数据堆积量。
可选的,当前数据堆积量=当前时刻的生产偏移量-当前时刻的消费偏移量。通过当前时刻的生产偏移量和当前时刻的消费偏移量能够简单、直接、准确的确定出当前数据堆积量,提高算法运行效率。
一种可能的实现方式中,数据累计生产量为生产偏移量,数据累计消费量为消费偏移量。
具体的,在消息中间件为Kafka或RocketMQ等时,数据累计生产量可以通过生产偏移量表征,数据累计消费量可以通过消费偏移量表征。这样能够直接利用消息中间件的参数确定当前数据堆积量等,无需再额外进行检测,提高算法运行效率。
一种可能的实现方式中,确定历史平均生产速率,包括:获取第一时刻的数据累计生产量和第二时刻的数据累计生产量,第一时刻为当前时刻或当前时刻之前的历史时刻,第二时刻为当前时刻之前的历史时刻,第一时刻晚于第二时刻;根据第一数据生产量与时间差的比值,确定历史平均生产速率,第一数据生产量为第一时刻的数据累计生产量与第二时刻的数据累计生产量的差值,时间差为第一时刻与第二时刻的时间差。
可选的,在第一方面提供的方法周期性执行的情况下,第一时刻例如可以为当前周期的起始时刻,也即上一周期的结束时刻,第二时刻可以为上一周期的起始时刻。也就是说,历史平均生产速率为上一周期的平均生产速率,历史平均生产速率=(当前时刻的生产偏移量-上一周期的起始时刻的生产偏移量)/周期时长。上一周期历史平均生产速率能够反映出最接近当前时刻的生产速率,对于当前周期的目标采样率的确定具有直接的参考和指导意义,使确定出的目标采样率最有可能与后续实际生产速率相匹配,减少数据堆积量,提高用户体验。
一种可能的实现方式中,电子设备不包括消息中间件,目标采样率为临时采样率。
可选的,不包括消息中间件的电子设备例如可以为终端。电子设备不包括消息中间件时,临时采样率为与历史平均生产速率相匹配的采样率,因而直接将临时采样率确定为目标采样率,以减小电子设备的数据处理压力,提高用户体验。
一种可能的实现方式中,确定历史平均生产速率,包括:确定第二数据生产量,第二数据生产量为电子设备在预设时长的历史时间段内获取初始数据的量;根据第二数据生产量与预设时长的比值,确定历史平均生产速率。
可选的,在第一方面提供的方法周期性执行的情况下,预设时长可以为周期时长。在一个具体的实施例中,历史时间段可以为上一周期,即距离当前时刻最近的周期。上一周期历史平均生产速率能够反映出最接近当前时刻的生产速率,对于当前周期的目标采样率的确定具有直接的参考和指导意义,使确定出的目标采样率最有可能与后续实际生产速率相匹配,更好的减小电子设备的数据处理压力,提高用户体验。
一种可能的实现方式中,根据目标采样率对获取的初始数据进行采样,包括:确定第一数据中字段的哈希值,第一数据为初始数据中的任一条数据;对哈希值按照100取模,得到余数;若余数小于或等于目标采样率与100的乘积,则采集第一数据;若余数大于目标采样率与100的乘积,则丢弃第一数据。
该实现方式中,通过哈希值算法进行采样能够提高采样准确性,提高算法运行效率。
第二方面,本申请提供一种数据处理方法,包括:获取预设周期;按照预设周期,周期性执行上述第一方面及上述第一方面的可能实现方式中的方法。
第二方面提供的数据处理方法,周期性执行第一方面提供的方法的步骤,周期性确定目标采样率,这样能够实现采样率的自适应调整,实现电子设备性能和数据全面性的自动均衡,进一步提高用户体验。
第三方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面、第二方面及可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第四方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面和第二方面的技术方案中任意一种方法。
第五方面,本申请提供一种数据处理系统,包括:平台和客户端,平台用于执行上述第一方面、第二方面,以及第一方面和第二方面中电子设备包括消息中间件的可能实现方式中任一种方法;客户端用于执行上述第一方面、第二方面,以及第一方面和第二方面中电子设备不包括消息中间件的可能实现方式中任一种方法。
第六方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面、第二方面及其任意可能的实现方式中的方法。
可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选的,芯片还包括通信接口。
第七方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面和第二方面的技术方案中任意一种方法。
第八方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面和第二方面的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例业务服务监控平台的应用场景示意图;
图2是本申请实施例提供的一例运营分析平台的应用场景示意图;
图3是本申请实施例提供的一例IoT平台的应用场景示意图;
图4是本申请实施例提供的一例平台的结构及与客户端交互的示意图;
图5是本申请实施例提供的一例客户端向平台上报数据的示意图;
图6是本申请实施例提供的一例数据处理系统的结构示意图;
图7是本申请实施例提供的一例数据处理方法的流程示意图;
图8是本申请实施例提供的一例生产速率和数据堆积量的变化示意图;
图9是本申请实施例提供的另一例数据处理系统的结构示意图;
图10是本申请实施例提供的另一例数据处理方法的流程示意图;
图11是本申请实施例提供的又一例数据处理系统的结构示意图;
图12是本申请实施例提供的一例数据处理装置的结构示意图;
图13是本申请实施例提供的一例电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本申请说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为更好地理解本申请实施例,以下对实施例中可能涉及的术语或概念进行解释说明。
1、平台
平台泛指系统中用于接收并处理数据的装置或设备,也称为平台端或平台侧。
本申请实施例中,平台可以为监控平台、运营分析平台、IoT平台等。
可选的,监控平台例如可以为业务服务监控平台、网站监控平台、视频数据监控平台等等,本申请对此不做任何限定。在此,以业务服务监控平台为例进行说明。业务服务监控平台用于对某一业务服务器的数据进行分析,以对该业务服务器提供业务的稳定性、可靠性等进行监控。例如,业务服务监控平台可以对二维码服务器的数据进行分析,以对二维码服务器进行监控,确定其提供的二维码业务是否稳定,是否可靠性。业务服务器监控平台可以向用户展示监控结果,当监控过程中发现二维码业务存在不稳定可能性时,及时进行告警。
示例性的,图1为本申请实施例提供的一例业务服务监控平台的应用场景示意图。如图1所示,业务服务监控平台可以应用于业务服务监控系统,该系统可以包括终端101、业务服务器102和业务服务监控平台103。业务服务器102用于对终端101提请的业务请求进行处理,也即向终端101提供业务服务。业务服务器将业务服务过程中的数据(例如处理业务的数量、时间等)上报至业务服务监控平台103,业务服务监控平台103对业务服务器102上报的数据进行分析,以对业务服务器提供业务的稳定性、可靠性等进行监控。
运营分析平台用于对运营服务器提供的运营数据进行处理分析,以得到运营分析结果。示例性的,图2为本申请实施例提供的一例运营分析平台的应用场景示意图。如图2所示,运营分析平台可以应用于运营服务系统,该系统可以包括终端201、运营服务器202和运营分析平台203。运营服务器202用于向终端201提供运营服务。运行服务器202将运营数据(例如销售量、库存量等)上报至运营分析平台203。运营分析平台203对运营服务器202上报的数据进行处理分析,得到运营分析结果。
IoT平台用于对IoT终端设备采集的数据进行处理。示例性的,图3为本申请实施例提供的一例IoT平台的应用场景示意图。如图3所示,IoT平台可以应用于IoT系统,该IoT系统可以包括IoT终端设备301和IoT平台302。IoT终端设备301可以为智能电视、智能音箱、路由器、投影仪等等。IoT终端设备301能够采集数据并上报至IoT平台302,IoT平台302用于对IoT终端设备301采集的数据进行处理。
2、客户端
客户端也称为客户端侧。客户端与平台相对,泛指系统中用于采集并传输数据至平台的装置或设备。客户端为平台的服务对象,也即客户端为平台所处理的数据的来源。根据适用系统的不同,客户端可以为终端,也可以为服务器。例如,对于业务服务监控系统来说,客户端为业务服务器;对于运营服务系统来说,客户端为运营服务器;对于IoT系统来说,客户端为IoT终端设备。一个系统中可以包括一个客户端,也可以包括多个客户端。
3、消息中间件
消息中间件是基于队列与消息传递技术,在网络环境中为设备或模块之间提供同步或异步、可靠的消息传输的支撑性软件系统。消息中间件不仅能够传输消息,还可以缓存消息(以下均称为数据)。本申请实施例中,消息中间件例如可以为Kafka、RocketMQ或Pulsar等。
4、数据累计生产量
消息中间件在进行数据传输时,数据的来源,即向消息中间件发送消息的模块或设备可以称为生产者;数据的去向,即接收消息中间件传输的数据的模块或设备可以称为消费者。数据累计生产量是指生产者累计向消息中间件生产的数据的量,也即消息中间件累计接收生产者生产的数据的条数。其中,数据的量可以通过数据的条数来表征,因而,下述描述中也称为数据的条数。可选的,一些消息中间件(例如,Kafka、RocketMQ等)中,数据累计生产量可以通过生产偏移量(offset)表征。可选的,另一些消息中间件(例如,Pulsar)中,数据累计生产量可以通过消息的游标(cursor)来表征。
可以理解,基于相似的概念,在客户端,也可以通过数据累积生产量表征客户端中获取数据的模块(例如数据采集模块)累计获取数据的条数。
另外,本实施例中,可以用预设时长或预设时间段内的数据生产量表征设备在一定时长内生产数据的条数。
5、数据累计消费量
数据累计消费量是指消费者从消息中间件累计消费的数据的条数,也即消息中间件累计向消费者传输的数据的条数,或者说,消息中间件中累计被消费者消费的数据的条数。可选的,一些消息中间件(例如,Kafka、RocketMQ等)中,数据累计消费量可以通过消费偏移量表征。可选的,另一些消息中间件(例如,Pulsar)中,数据累计消费量可以通过消息的游标来表征。
6、生产偏移量
一些消息中间件(例如,Kafka、RocketMQ或Pulsar等)中,发布订阅的对象是主题(topic),每个topic表示一类数据。同时,消费者也按照topic进行消费。也就是说,消息中间件中,生产者将数据写入对应的topic,消费者以消费者组(consumer group)的形式从对应topic中消费数据,消费者组中包括多个消费者。消息中间件会按照topic维护生产偏移量。每一个topic对应一个生产偏移量,生产者每向某一topic写入一条数据,该topic对应的生产偏移量将会增加1个计数。也就是说,某一topic的生产偏移量为生产者向该topic写入的数据的条数,即,消息中间件累计接收生产者生产的该topic的数据的条数。
7、消费偏移量
除了生产偏移量外,消息中间件还会按照topic维护消费偏移量。每个消费者组中的消费者可以从消息中间件消费一个对应topic的数据,消费者每从对应的topic中消费一条数据,该topic的消费偏移量将会增加1个计数。也就是说,某一topic的消费偏移量为对应的消费者组中的消费者从该topic中消费的数据的条数,即,消息中间件累计向对应的消费者组中的消费者传输的该topic的数据的条数。
8、生产速率
生产速率即数据生产速率,是指模块或设备在单位时间内获取到的数据的条数。本申请实施例中,生产速率是指模块或设备在单位时间内获取到的初始数据的条数,初始数据是指获取到的原始的、未经过采样的数据。对于平台而言,生产速率是指平台在单位时间内接收生产者发送的某一topic数据的条数。对于客户端而言,生产速率是指客户端在单位时间内采集的数据的条数。
9、数据堆积
数据堆积也称为消息堆积,是指生产者已经将消息(数据)发送到消息中间件的消息队列的服务端,但由于消费者的消费能力有限,未能在短时间内将所有消息正确消费掉,此时在消息队列的服务端保存着未被消费的消息,该状态即为数据堆积。
10、数据堆积量
数据堆积也称为消息堆积量,是指消息中间件中堆积的数据的量。可选的,数据堆积量可以通过消息中间件中当前堆积的数据的条数表征,也可以通过消息中间件当前的堆积的消息队列长度表征,本申请实施例对此不作任何限定。
下面对本申请实施例提供的数据处理方法所解决的技术问题进行说明。
监控平台、运营分析平台、IoT平台等平台需要处理海量数据。请参见图4,一般的,平台包括消息中间件401和数据处理模块402。客户端作为生产者,采集数据后上报至消息中间件401,数据处理模块402作为消费者,从消息中间件401处消费数据。然而,当数据量暴涨,达到数据处理模块402的处理瓶颈时,数据会大量堆积在消息中间件,造成数据处理模块402处理数据延迟,从而导致输出结果的延迟或出错,影响用户体验。以业务服务监控平台为例来说,若业务量暴涨,业务服务器采集的数据就会暴涨,从而导致数据处理模块402无法及时处理,数据大量堆积于消息中间件401,进而导致监控结果延迟,无法及时进行监控告警或无法及时进行监控结果展示等。再以IoT平台为例来说,随着IoT系统接入的IoT终端设备越来越多,IoT平台承载的数据量越来越大。当数据量达到IoT平台的瓶颈,而又没有及时扩容时,会导致数据无法及时被数据处理模块402消费,造成数据延迟或丢失,影响IoT系统的整体效果,从而影响用户体验。
另外,对于客户端来说,也面临海量数据的问题。请参见图5,客户端需要上报数据至平台。一般的,客户端采集数据后全量上报数据至平台(如图5中的(a)图所示),或者,客户端采集数据并采用固定采样率采样后上报至平台(如图5中的(b)图所示),这样会导致客户端性能压力很大,而且整个系统需要处理的数据量很大。同时,固定采样率采样的方式会影响数据的全面性,进而影响数据处理结果的准确性。
以IoT系统为例进行说明,IoT终端设备采集数据后,将数据全量上报至IoT平台,或者IoT终端设备以某一固定采样率对采集的数据采样后上报至IoT平台。若IoT终端设备采集的数据量突然大幅度增大,即使以固定采样率采样后数据量仍然很大,则IoT终端设备的应用程序需要传输大量的数据至IoT平台,造成IoT终端设备的应用程序性能压力较大;且上报至IoT平台后,IoT平台要处理的数据量也较大。而且,在IoT终端设备采集的数据量较小的情况下,仍通过固定采样率采样后上报IoT平台,会影响数据的全面性,进而影响IoT平台数据处理结果的准确性。
针对于此,本申请实施例提供一种数据处理方法,设置多个预设采样率,通过确定数据的历史平均生产速率,在多个预设采样率中确定与该历史平均生产速率匹配的目标采样率,基于目标采样率对获取的初始数据进行采样后再将采样数据上报至下一处理流程。历史平均生产速率对当前的生产速率或后续生产速率具有一定的参考意义,因而目标采样率大概率能够与后续生产速率相匹配,因而,基于目标采样率对数据采样之后再进行处理能够减小数据处理压力,减少数据堆积,提高数据处理及时性,提高用户体验。另外,周期性确定目标采样率能够实现采样率的自适应调整,实现数据处理及时性和全面性的自动均衡,从而实现数据处理结果及时性和准确性的均衡,进一步提高用户体验。而且,采样率在多个预设采样率中自适应调整,能够防止采样率变化过于频繁,减小算法运行复杂度,节约设备功耗。
下面对本申请实施例提供的数据处理方法进行进一步详细阐述。
本申请实施例提供的数据处理方法可以既可以应用于平台,又可以应用于客户端,以下结合应用场景分别进行说明。
1、数据处理方法应用于平台
本申请实施例提供的数据处理方法可以应用于平台。具体的,参考图1、图2和图3,该方法可以应用于图1中的业务服务监控平台103,也可以应用于图2中的运营分析平台203,还可以应用于图3中的IoT平台302等。
示例性的,图6为本申请实施例提供的一例数据处理系统的结构示意图。如图6所示,平台可以包括消息中间件601、指标监控模块602、采样率决策模块603、数据采样模块604和数据处理模块605。
消息中间件601用于接收客户端上报的初始数据,并将初始数据传输至数据采样模块604。
可以理解,客户端的设备中可以包括用于采集数据的数据采集模块,数据采集模块采集数据后上报至消息中间件601。在一些实施例中,也可以将客户端的数据采集模块划分为平台的模块。例如,对于业务服务监控平台来说,可以认为业务服务监控平台包括数据采集模块,但是该数据采集模块设置于业务服务器处。本申请实施例对于数据采集模块的设置位置、划分方式或归属不做任何限定。
指标监控模块602用于从消息中间件601处监控数据传输指标,并根据数据传输指标确定目标参数,将目标参数发送至采样率决策模块603。本实施例中,数据传输指标表征消息中间件传输数据的指标,包括但不限于数据累计生产量和数据累计消费量等。目标参数可以包括历史平均生产速率和当前数据堆积量等。历史平均生产速率是指历史时间段内的平均生产速率。在一个具体的实施例中,指标监控模块602可以周期性地监控数据传输指标,并根据数据传输指标确定目标参数,将目标参数发送至采样率决策模块603。也就是说,每个周期,指标监控模块602从消息中间件601处获取一组数据传输指标(即一个数据累计生产量和一个数据累计消费量),并根据数据传输指标确定一组目标参数(即一个历史平均生产速率和一个当前数据堆积量),将该组目标参数发送至采样率决策模块603。
采样率决策模块603用于根据指标监控模块602发送的目标参数确定目标采样率,并将目标采样率发送至数据采样模块604。
数据采样模块604用于根据目标采样率对消息中间件601发送的初始数据进行采样,得到采样数据,并将采样数据发送至数据处理模块605。
数据处理模块605用于对采样数据进行处理。具体的,根据平台功能的不同,数据处理模块605对采样数据的处理不同。
可选的,指标监控模块602、采样率决策模块603和数据采样模块604可以分别采用独立进程,也可以部署于同一进程。可选的,在一个具体的实施例中,指标监控模块602、采样率决策模块603和数据采样模块604也可以与数据处理模块605部署于同一进程。
图7是本申请实施例提供的一例数据处理方法的流程示意图,该方法可以应用于图6所示的平台,该方法包括:
S101、客户端向消息中间件发送初始数据。
S102、消息中间件将初始数据发送至数据采样模块。
S103、指标监控模块周期性地从消息中间件获取数据累计生产量和数据累计消费量。
可选的,指标监控模块可以以k为周期,从消息中间件获取数据累计生产量和数据累计消费量,k例如可以为60秒(s),即,指标监控模块每隔60s从消息中间件获取一次数据累计生产量和数据累计消费量。
每一个周期,在获取数据累计生产量和数据累计消费量后,平台均执行下述步骤S104至S107,以确定该周期的目标参数和目标采样率。下面以当前周期为例进行说明。下述实施例中,当前时刻为当前周期的起始时刻。也就是说,步骤S103中,指标监控模块从消息中间件获取当前时刻的数据累计生产量和当前时刻的数据累计消费量,之后,执行步骤S104至S107:
S104、指标监控模块根据当前时刻的数据累计生产量和当前时刻数据累计消费量确定历史平均生产速率和当前数据堆积量。
可以理解,根据消息中间件的不同,数据累计生产量和数据累计消费量的具体表征方式可以不同,确定历史平均生产速率和当前数据堆积量的方法也可以不同。
在一个实施例中,消息中间件为Kafka或RocketMQ等时,数据累计生产量可以通过生产偏移量表征,数据累计消费量可以通过消费偏移量表征。需要说明的是,本实施例中,生产偏移量和消费偏移量是指数据处理模块(消费者)对应的topic的生产偏移量和消费偏移量,后续不再赘述。
指标监控模块可以按照下述方法确定历史平均生产速率(以下表示为V):
V=(offset(生产)t2-offset(生产)t1)/t2-t1;
其中,offset(生产)t1表示t1时刻的生产偏移量;offset(生产)t2表示t2时刻的生产偏移量;t2-t1表示t1时刻与t2时刻之间的时间差。
可选的,t1可以为当前周期的起始时刻(即当前时刻),也即上一周期的结束时刻,t2时刻可以为当前时刻之前的第n个周期的起始时刻,n为大于或等于1的整数。则:
V=(offset(生产)T0-offset(生产)T0-n)/nk;
其中,offset(生产)T0表示当前周期的起始时刻(即当前时刻)的生产偏移量;offset(生产)T0-n表示当前时刻之前的第n个周期的起始时刻的生产偏移量;k表示周期时长。
可选的,n可以为1,即:
V=(offset(生产)T0-offset(生产)T0-1)/k;
其中,offset(生产)T0-1表示当前时刻之前的第1个周期(即上一个周期)的起始时刻的生产偏移量。也就是说,历史平均生产速率为上一周期的平均生产速率,历史平均生产速率=(当前时刻的生产偏移量-上一周期的起始时刻的生产偏移量)/周期时长。其中,(当前时刻的生产偏移量-上一周期的起始时刻的生产偏移量)也即上一周期的数据生产量。通过上一周期的历史平均生产速率能够反映出最接近当前时刻的生产速率,对于当前周期的目标采样率的确定具有直接的参考和指导意义,使确定出的目标采样率最有可能与后续实际生产速率相匹配,减少数据堆积量,提高用户体验。
在一个实施例中,消息中间件为Kafka或RocketMQ等时,指标监控模块可以按照下述方法确定当前数据堆积量(以下表示为m):
m=offset(生产)T0-offset(消费)T0;其中,offset(生产)T0表示当前周期的起始时刻的生产偏移量,也即当前时刻的生产偏移量;offset(消费)T0表示当前周期的起始时刻的消费偏移量,也即当前时刻的消费偏移量。也就是说,当前数据堆积量=当前时刻的生产偏移量-当前时刻的消费偏移量。通过当前时刻的生产偏移量和当前时刻的消费偏移量能够简单、直接、准确的确定出当前数据堆积量,提高算法运行效率。
在另一个实施例中,消息中间件为Pulsar,消息的确认采用游标管理,数据累计生产量和数据累计消费量可以通过消息的游标表征,具体的过程与上述数据累计生产量和数据累计消费量通过偏移量表征类似,不再赘述。同时,确定历史平均生产速率和当前数据堆积量的过程与上述过程类似。
S105、指标监控模块将历史平均生产速率和当前数据堆积量发送至采样率决策模块。
S106、采样率决策模块根据历史平均生产速率和当前数据堆积量确定当前周期的目标采样率。
可选的,采样率决策模块设置多个预设采样率,根据历史平均生产速率和当前数据堆积量从多个预设采样率中确定当前周期的目标采样率。预设采样率大于0且小于或等于1,例如,多个预设采样率可以包括:10%(0.1)、30%(0.3)、50%(0.5)、80%(0.8)和100%(1)等。
采样率决策模块根据当前周期的目标参数确定出的目标采样率,充分考虑平台的生产速率和当前的数据堆积量,能够使目标采样率与历史平均生产速率和当前数据堆积量相匹配,因而大概率与后续实际生产速率相匹配,从而能够防止数据堆积量过大。根据历史平均生产速率和当前数据堆积量确定当前周期的目标采样率的具体过程在后续实施例进行进一步说明。
S107、采样率决策模块将当前周期的目标采样率发送至数据采样模块。
S108、数据采样模块根据当前周期目标采样率对初始数据进行采样,得到采样数据。
具体的,消息中间件可以逐条或者多条向数据采样模块发送初始数据,数据采样率模块根据目标采样率,进行采样匹配,即确定各条数据是否被采样。对于任一条数据,若采样匹配成功,即确定该条数据被采样,则确定该条数据为采样数据,执行步骤S109;若采样匹配失败,即确定该条数据不被采样,则确定该条数据为非采样数据,将该条数据丢弃。
数据采样模块的采样匹配算法可以有多种。在一个具体的实施例中,可以采取轮询算法进行采样匹配。具体的,数据采样模块对接收到的初始数据进行轮询计数,根据轮询计数结果与目标采样率的大小关系确定初始数据是否为采样数据。
例如,计数值记为n,n的初始值为0。数据采样模块每接收到一条初始数据,将计数值n加1,并判断计数值n/100是否小于或等于目标采样率。若计数值n/100小于或等于目标采样率,则采样匹配成功,确定该条数据为采样数据;若计数值n/100大于目标采样率,则采样匹配失败,确定该条数据为非采样数据,判断计数值n/100是否大于或等于1;若n/100大于或等于1,则将计数值n置为0。
在另一个具体的实施例中,还可以采取哈希(hash)算法进行采样匹配。具体的,数据采样模块确定接收到的初始数据的字符串的hash值,并对hash值按100取模得到余数,根据余数与目标采样率的大小关系确定初始数据是否为采样数据。
例如,对于接收到的任一条数据,数据采样模块确定该数据中的一个或多个字段的字符串的hash值,对该hash值按100取模得到hash值的余数。判断该hash值的余数是否小于或等于采样率(百分比形式)的分子,也即判断该hash值的余数是否小于或等于目标采样率与100的乘积。若该hash值的余数小于或等于目标采样率与100的乘积,则采样匹配成功,确定该条数据为采样数据;若该hash值的余数大于目标采样率与100的乘积,则采样匹配失败,确定该条数据为非采样数据。
以取数据中的第一个字段的hash值为例,确定数据是否为采样数据的条件可以表示为:Hash(message[field1])%100<p1*100。其中,Hash()表示取字符串的哈希值;message[field1]表示数据中的第一个字段;%100表示按100取模,p1表示目标采样率。该实现方式中,通过哈希值算法进行采样匹配能够提高准确性,提高算法运行效率。
当然,数据采样模块也可以通过其他的方法进行采样匹配,本申请实施例对此不做任何限定。
S109、数据采样模块将采样数据发送至数据处理模块。
S110、数据处理模块对采样数据进行处理。
可以理解,上述步骤S101至S102和S108至S110的过程持续进行,也即只要客户端上报初始数据,消息中间件就将初始数据发送至数据采样模块,数据采样模块按照采样率决策模块提供的当前周期的目标采样率进行采样,数据处理模块对采样数据进行处理。上述步骤S103至S107为周期性执行的步骤,每个周期指标监控模块获取一次数据累计生产量和数据累计消费量,并根据数据累计生产量和数据累计消费量确定出历史平均生产速率和数据堆积量。采样率决策模块根据历史平均生产速率和数据堆积量确定出当前周期的目标采样率,并发送至数据采样模块。如此,实现采样率的周期性调整和数据的持续处理。
本实施例提供的数据处理方法,通过确定历史平均生产速率和当前数据堆积量,在多个预设采样率中确定与历史平均生产速率和当前数据堆积量匹配的目标采样率,基于目标采样率对获取的初始数据进行采样后,再将采样数据发送至数据处理模块进行处理。历史平均生产速率对当前的生产速率或后续生产速率具有一定的参考意义,因而目标采样率大概率能够与后续生产速率相匹配,因而,基于目标采样率对数据采样之后再进行处理能够减小数据处理模块的处理压力,且能够减少数据堆积,提高数据处理及时性,提高用户体验。另外,周期性确定目标采样率能够实现采样率的自适应调整,实现数据处理及时性和全面性的自动均衡,从而实现数据处理结果及时性和准确性的均衡,进一步提高用户体验。而且,目标采样率从多个预设采样率中确定,也即采样率在多个预设采样率中自适应调整,能够防止采样率变化过于频繁,减小算法运行复杂度,节约设备功耗。
以下对当前周期的目标采样率的确定过程进行进一步说明。
在一个实施例中,步骤S106、采样率决策模块根据历史平均生产速率和当前数据堆积量确定当前周期的目标采样率的过程如下:
1)获取预设最大生产速率。
本实施例中,最大生产速率是指平台能够承受的最大生产速率,用于表征数据堆积不持续增长情况下,消息中间件在单位时间内能够接收的最大数据量。最大生产速率可以与平台的最大消费速率相等。最大生产速率可以通过压力测试等方法确定后预设于软件程序中,以下称为预设最大生产速率,表示为Vmax。
2)确定预设最大生产速率与历史平均生产速率的比值,得到第一比值。
也即,第一比值=Vmax/V。第一比值表征历史平均生产速率下对初始数据进行采样,保证平台数据堆积量不增加的情况下的最大采样率。
3)根据第一比值,确定多个预设采样率中是否存在临时采样率,若存在,执行步骤4)和步骤5),若不存在,将预设值确定为目标采样率。其中,临时采样率为初筛采样率中最大的一个,初筛采样率是指多个预设采样率中小于第一比值的采样率。
也就是说,从多个预设采样率中确定小于第一比值的采样率,得到初筛采样率;将初始采样率中最大的一个确定为临时采样率。具体的,将多个预设采样率形成的集合记为A,初筛采样率的集合记为B,临时采样率记为p’,则,p’=max(B),B={a|a∈A,且a<Vmax/V}。临时采样率表征历史平均生产速率下对数据进行采样,多个预设采样率中保证平台数据堆积量不增加的情况下的最大采样率。
可以理解,若历史生产速率非常大的情况下,第一比值非常小,多个预设采样率中可能不存在小于第一比值的采样率,即不存在初筛采样率。这种情况下,将预设值确定为目标采样率。预设值为大于或等于0,且小于1的值。预设值可以根据需求预先设定,例如预设值可以为0,即将所有初始数据丢弃,不进行采样,以尽快减小数据堆积量。又例如,预设值可以为多个预设采样值中最小的一个,即按照当前多个预设采样率中最小的一个进行采样,不过多增加数据堆积量的同时,一定程度上保证数据全面性。当然,预设值还可以为其他的值,例如,该预设值大于多个预设采样率中最小的一个,但小于多个预设采样率中最大的一个,如为25%(0.25)等。这样,在无法保证数据堆积量不增加的情况下,优先考虑提高数据全面性。本申请实施例对预设值的设定不做任何限定,可以根据实际需要选择。
4)获取预设最大允许堆积量。
最大允许堆积量表征平台允许堆积的最大数据量。当平台中的数据堆积量小于或等于最大允许堆积量时,认为平台不会因数据堆积导致数据延迟或丢失,或者因数据堆积导致的数据延迟或丢失能够被接受;当平台中的数据堆积量大于最大允许堆积量时,认为平台因数据堆积导致的数据延迟或丢失不能够被接受。最大允许堆积量可以通过测试等方式确定后预设于软件程序中,以下称为预设最大允许堆积量,表示为M。
5)根据预设最大允许堆积量、临时采样率和当前数据堆积量确定目标采样率。
具体的,若当前数据堆积量大于预设最大允许堆积量,则将当前采样率和临时采样率中较小的一个确定为目标采样率。其中,当前采样率是指当前时刻数据采样模块采样所使用的采样率,也即上一周期的目标采样率。当前采样率记为p0,目标采样率记为p1。即,若m>M,则p1=min{p0,p’}。
也就是说,在当前数据堆积量较大的情况下,选取临时采样率和当前采样率中较小一个作为目标采样率进行采样。这样能够更快的减少数据堆积,提高数据处理及时性,防止数据延迟或丢失。
若当前数据堆积量小于或等于预设最大允许堆积量,则将临时采样率确定为目标采样率。即,若m≤M,则p1=p’。
也就是说,在当前数据堆积量较小的情况下,将临时采样率作为目标采样率进行采样。这样,向数据处理模块发送采样数据的速率与历史平均生产速率相匹配,生产速率不发生过大变化的情况下,平台不再产生数据堆积,保证了数据处理及时性,防止数据延迟或丢失。
通过上述过程可以看出,平台能够根据历史平均生产速率和数据堆积量自适应调整采样率。具体的,历史时间段内的平均生产速率较大,即V较大时,第一比值较小,按照上述过程确定出的当前周期的目标采样率p1较小,当前周期采样的数据较少,丢弃的数据较多,这样能减少或防止数据堆积,提高数据处理及时性。历史时间段内的平均生产速率较小,即V较小时,第一比值较大,按照上述过程确定出的当前周期的目标采样率p1较大,当前周期采样的数据较多,丢弃的数据较少,这样能在保证数据处理及时性的同时尽量的保证数据的全面性,进而保证处理结果的准确性。以下结合图8进行说明。
示例性的,图8为本申请实施例提供的一例生产速率和数据堆积量的变化示意图。图8中周期时长k=1分钟(60s)。由图8中可以看出,数据的生产速率在00:03至00:04的周期开始上升,数据堆积量随之上升。通过上述实施例提供的方法调整目标采样率后,在00:04至00:05的周期,虽然生产速率仍然较大,但是数据堆积量下降至接近0,保证了数据处理及时性。在00:05至00:06的周期,生产速率再次出现上升,且上升幅度较大,数据堆积量也随之出现了较大幅度的上升。但是,通过上述实施例提供的方法调整目标采样率后,在00:06至00:07的周期,数据堆积量大幅度下降,再次下降至接近0,保证了数据处理及时性。由此可见,本申请实施例提供的方法能够自适应调整采样率,减少数据堆积,提高数据处理及时性,提高用户体验。
2、数据处理方法应用于客户端
参考图1、图2和图3,本申请实施例提供的数据处理方法也可以应用于客户端。具体的,该方法可以应用于图1中的业务服务器102,也可以应用于图2中的运营服务器202,还可以应用于图3中的IoT采集设备301。
示例性的,图9为本申请实施例提供的另一例数据处理系统的结构示意图。如图9所示,客户端可以包括数据采集模块901、指标监控模块902、采样率决策模块903、数据采样模块904。
数据采集模块901用于采集初始数据,并将初始数据发送至数据采样模块904。
指标监控模块902用于监控数据采集模块901和数据采样模块904之间的数据传输指标,并根据数据传输指标确定目标参数,将目标参数发送至采样率决策模块903。本实施例中,数据传输指标表征数据采集模块901和数据采样模块904之间传输数据的指标。数据传输指标可以为数据采集模块901在预设时长内向数据采样模块904传输的数据传输量,即预设时长内的数据生产量。数据传输指标也可以为数据采集模块901向数据采样模块904累计传输的数据传输量,即数据累计生产量等,其中,根据两个时刻的数据累计生产量能够确定出这两个时刻形成的时间段内的数据生产量。目标参数可以包括历史平均生产速率。历史平均生产速率表征历史时间段内的平均生产速率。在一个具体的实施例中,指标监控模块902可以周期性地监控数据传输指标,根据数据传输指标确定目标参数,并将目标参数发送至采样率决策模块903。也就是说,每个周期,指标监控模块902获取一个数据传输指标(即预设时长内的数据生产量),根据预设时长内的数据生产量确定一个目标参数(即历史平均生产速率),并将该目标参数发送至采样率决策模块903。
采样率决策模块903用于根据指标监控模块902发送的目标参数确定目标采样率,并将目标采样率发送至数据采样模块904。
数据采样模块904用于根据目标采样率对数据采集模块901发送的初始数据进行采样,得到采样数据,并将采样数据发送至平台。
可选的,数据采集模块901、指标监控模块902、采样率决策模块903和数据采样模块904可以分别采用独立进程,也可以部署于同一进程。多个模块部署于同一进程能够简化算法运行过程,使客户端的软件结构更轻盈。
图10是本申请实施例提供的另一例数据处理方法的流程示意图,该方法可以应用于图9所示的平台,该方法包括:
S201、数据采集模块采集初始数据。
S202、数据采集模块将初始数据发送至数据采样模块。
S203、指标监控模块周期性从数据采集模块和/或数据采样模块获取预设时长内的数据生产量。
可选的,预设时长可以为周期时长,指标监控模块可以周期性的获取上一周期的数据生产量。
可以理解,数据采集模块获取到初始数据后,可以通过调用预设函数向数据采样模块发送初始数据。因此,可选的,指标监控模块可以在每个周期获取预设函数在上一周期内被调用的次数,以确定上一周期的数据生产量。可选的,指标监控模块也可以在每个周期获取上一周期内数据采样模块接收数据的条数,以确定上一周期的数据生产量。
每一个周期,在获取预设时长的数据生产量后,客户端均执行下述步骤S204至S207,以确定该周期的目标参数和目标采样率。下面以确定当前周期为例进行说明。下述实施例中,当前时刻为当前周期的起始时刻。也就是说,以指标监控模块周期性的获取上一周期的数据生产量为例,步骤S203中,在当前时刻,指标监控模块从数据采集模块和/或数据采样模块获取以上一周期的数据生产量。其中,上一周期是指以当前时刻作为周期终点的周期。之后,执行步骤S204至S207:
S204、指标监控模块根据上一周期的数据生产量确定历史平均生产速率。
具体的,历史平均生产速率=上一周期的数据生产量/周期时长。
S205、指标监控模块将历史平均生产速率发送至采样率决策模块。
S206、采样率决策模块根据历史平均生产速率确定当前周期的目标采样率。
同平台,客户端的采样率决策模块也设置多个预设采样率,根据历史平均生产速率从多个预设采样率中确定当前周期的目标采样率。
采样率决策模块根据历史平均生产速率确定出的当前周期的目标采样率,充分考虑历史平均生产速率,使目标采样率能够与历史平均生产速率相匹配,减小客户端压力,同时也减少流向平台侧的数据量,减小平台侧的压力。根据历史平均生产速率确定当前周期的目标采样率的具体过程在后续实施例进行进一步说明。
S207、采样率决策模块将当前周期的目标采样率发送至数据采样模块。
S208、数据采样模块根据当前周期的目标采样率对初始数据进行采样,得到采样数据。
数据采样模块采样的具体方法与上述实施例中步骤S108类似,不再赘述。
S209、数据采样模块将采样数据发送至平台。
具体的,数据采样模块可以将采样数据发送至平台的消息中间件,消息中间件再将采样数据传输至平台的数据处理模块,由平台的数据处理模块进行处理。
可以理解,上述步骤S201至S202和S208至S209的过程持续进行,也即只要数据采集模块采集到数据,就发送至数据采样模块,数据采样模块按照采样率决策模块提供的当前周期的目标采样率进行采样。上述步骤S203至S207为周期性执行的步骤,每个周期指标监控模块获取一次预设时长内的数据生产量,并根据数据生产量确定出一个历史平均生产速率。采样率决策模块根据历史平均生产速率确定出当前周期的目标采样率并发送至数据采样模块。如此,实现采样率的周期性调整和数据的持续采集和上报。
本实施例提供的数据处理方法,通过确定历史平均生产速率,在多个预设采样率中确定与历史平均生产速率匹配的目标采样率。历史平均生产速率对当前的生产速率或后续生产速率具有一定的参考意义,因而目标采样率大概率能够与后续生产速率相匹配,因而,基于目标采样率对获取的初始数据进行采样后,再将采样数据上报至平台能够减小客户端上报数据的性能压力,且能够减小平台的处理压力,从而减小整个系统的处理压力。另外,周期性确定目标采样率能够实现采样率的自适应调整,实现客户端性能和数据全面性的自动均衡,进一步提高用户体验。而且,目标采样率从多个预设采样率中确定,也即采样率在多个预设采样率中自适应调整,能够防止采样率变化过于频繁,减小算法运行复杂度,节约设备功耗。
以下对当前周期的目标采样率的确定过程进行进一步说明。
在一个实施例中,步骤S206、采样率决策模块根据历史平均生产速率确定当前周期的目标采样率的过程如下:
1)获取预设最大生产速率。
本实施例中,最大生产速率是指客户端能够承受的最大生产速率,用于表征客户端在单位时间内采集且能够及时上报至平台,不会导致客户端过载等异常发生的最大数据量。最大生产速率可以通过压力测试等方法确定后预设于软件程序中,以下称为预设最大生产速率,表示为Vmax。
2)确定预设最大生产速率与历史平均生产速率的比值,得到第一比值。
也即,第一比值=Vmax/V。第一比值表征历史平均生产速率下,对数据进行采样,保证客户端将数据及时上报不发生异常的情况下的最大采样率。
3)根据第一比值,确定多个预设采样率中是否存在临时采样率,若存在,执行步骤4),若不存在,将预设值确定为目标采样率。其中,临时采样率为初筛采样率中最大的一个,初筛采样率是指多个预设采样率中小于第一比值的采样率。
该步骤中,确定临时采样率的具体方法与上述实施例相同,不再赘述。
4)将临时采样率确定为目标采样率。
以上从平台侧和客户端侧角度分别对本申请实施例提供的数据处理方法进行了说明。需要说明的是,该方法可以同时应用于平台和客户端。示例性的,图11为本申请实施例提供的又一例数据处理系统的结构示意图。如图11所示,该系统包括客户端和平台,平台结构同图6,客户端结构同图9。也就是说,客户端在采集上报数据时,通过本申请图9和图10所示实施例提供的数据处理方法,按照自适应调整的采样率进行采样后上报至平台。平台按照通过本申请图6和图7所示实施例提供的数据处理方法,按照自适应调整的采样率进行采样后进行数据处理,这样,既能够减轻客户端侧的压力,又能够防止平台侧出现数据堆积,从两侧减轻数据系统的压力,提高数据处理的及时性,进而提高了用户体验。
上文详细介绍了本申请实施例提供的数据处理方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
示例性的,图12为本申请实施例提供的一例数据处理装置的结构示意图,数据处理装置包含于电子设备,包括:
第一确定模块1201,用于确定历史平均生产速率,历史平均生产速率表征电子设备在历史时间段内获取初始数据的平均速率;
第二确定模块1202,用于确定预设的最大生产速率和历史平均生产速率的比值,得到第一比值;根据第一比值,确定多个预设采样率中是否存在临时采样率,临时采样率为多个预设采样率中小于第一比值的采样率中最大的一个,预设采样率大于0且小于或等于1;若存在临时采样率,则根据临时采样率确定目标采样率;若不存在临时采样率,则将预设值确定为目标采样率,预设值大于或等于0且小于1;
采样模块1203,用于根据目标采样率对获取的初始数据进行采样。
其中,第一确定模块1201可以为上述实施例中的指标监控模块,或者为指标监控模块中的子模块。第二确定模块1202可以为上述实施例中的采样率决策模块,或者为采样率决策模块中的子模块。采样模块1203可以为上述实施例中的数据采样模块,或者为数据采样模块中的子模块。
在一个实施例中,电子设备包括消息中间件,消息中间件用于传输初始数据,第二确定模块1202具体用于:获取当前数据堆积量,当前数据堆积量表征当前时刻消息中间件中堆积的数据的量;获取预设的最大允许堆积量;根据当前数据堆积量、最大允许堆积量和临时采样率确定目标采样率。
在一个实施例中,第二确定模块1202具体用于:若当前数据堆积量大于最大允许堆积量,则将临时采样率和当前采样率中较小的一个确定为目标采样率;若当前数据堆积量小于或等于最大允许堆积量,则将临时采样率确定为目标采样率。
在一个实施例中,第二确定模块1202具体用于:获取当前时刻的数据累计生产量和当前时刻的数据累计消费量,数据累计生产量表征消息中间件累计接收的数据的量,数据累计消费量表征消息中间件中累计被消费的数据的量;根据当前时刻的数据累计生产量与当前时刻的数据累计消费量的差值,确定当前数据堆积量。
在一个实施例中,数据累计生产量为生产偏移量,数据累计消费量为消费偏移量。
在一个实施例中,第一确定模块1201具体用于:获取第一时刻的数据累计生产量和第二时刻的数据累计生产量,第一时刻为当前时刻或当前时刻之前的历史时刻,第二时刻为当前时刻之前的历史时刻,第一时刻晚于第二时刻;根据第一数据生产量与时间差的比值,确定历史平均生产速率,第一数据生产量为第一时刻的数据累计生产量与第二时刻的数据累计生产量的差值,时间差为第一时刻与第二时刻的时间差。
在一个实施例中,电子设备不包括消息中间件,目标采样率为临时采样率。
在一个实施例中,第一确定模块1201具体用于:确定第二数据生产量,第二数据生产量为电子设备在预设时长的历史时间段内获取初始数据的量;根据第二数据生产量与预设时长的比值,确定历史平均生产速率。
第一确定模块1201具体用于:采样模块1203具体用于:确定第一数据中字段的哈希值,第一数据为初始数据中的任一条数据;对哈希值按照100取模,得到余数;若余数小于或等于目标采样率与100的乘积,则采集第一数据;若余数大于目标采样率与100的乘积,则丢弃第一数据。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。数据处理装置的有益效果与上述实现方法相同,不再赘述。
本实施例提供的电子设备,用于执行上述数据处理方法,电子设备可以是平台,也可以是客户端。电子设备的有益效果与上述实现方法相同,不再赘述。
请参考图13,其示出了本申请实施例提供的电子设备的一种结构。该电子设备包括:处理器1301、接收器1302、发射器1303、存储器1304和总线1305。处理器1301包括一个或者多个处理核心,处理器1301通过运行软件程序以及模块,从而执行各种功能的应用以及信息处理。接收器1302和发射器1303可以实现为一个通信组件,该通信组件可以是一块基带芯片。存储器1304通过总线1305和处理器1301相连。存储器1304可用于存储至少一个程序指令,处理器1301用于执行至少一个程序指令,以实现上述实施例的技术方案。其实现原理和技术效果与上述方法相关实施例类似,此处不再赘述。
当电子设备开机后,处理器可以读取存储器中的软件程序,解释并执行软件程序的指令,处理软件程序的数据。当需要通过天线发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至控制电路中的控制电路,控制电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到电子设备时,控制电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。
本领域技术人员可以理解,为了便于说明,图13仅示出了一个存储器和处理器。在实际的电子设备中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限制。
作为一种可选的实现方式,处理器可以包括基带处理器和中央处理器,基带处理器主要用于对通信数据进行处理,中央处理器主要用于执行软件程序,处理软件程序的数据。本领域技术人员可以理解,基带处理器和中央处理器可以集成在一个处理器中,也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,电子设备可以包括多个基带处理器以适应不同的网络制式,电子设备可以包括多个中央处理器以增强其处理能力,电子设备的各个部件可以通过各种总线连接。该基带处理器也可以表述为基带处理电路或者基带处理芯片。该中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储器中,由处理器执行软件程序以实现基带处理功能。该存储器可以集成在处理器中,也可以独立在处理器之外。该存储器包括高速缓存Cache,可以存放频繁访问的数据/指令。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SS)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,不限于此。
本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。本申请各实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DWD)、或者半导体介质(例如,SSD)等。
本申请实施例还提供一种数据处理系统,包括平台和客户端。平台用于执行上述平台相关的方法,客户端用于执行上述客户端相关的方法。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的数据处理方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的数据处理方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的数据处理方法。
其中,本实施例提供的电子设备、数据处理系统、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种数据处理方法,所述方法由电子设备执行,其特征在于,所述电子设备包括消息中间件,所述消息中间件用于传输初始数据,所述方法包括:
确定历史平均生产速率,所述历史平均生产速率表征所述电子设备在历史时间段内获取所述初始数据的平均速率;
确定预设的最大生产速率和所述历史平均生产速率的比值,得到第一比值;
根据所述第一比值,确定多个预设采样率中是否存在临时采样率,所述临时采样率为所述多个预设采样率中小于所述第一比值的采样率中最大的一个,所述预设采样率大于0且小于或等于1;
若存在所述临时采样率,则根据当前数据堆积量、预设的最大允许堆积量和所述临时采样率确定目标采样率;所述当前数据堆积量表征当前时刻所述消息中间件中堆积的数据的量;
若不存在所述临时采样率,则将预设值确定为所述目标采样率,所述预设值大于或等于0且小于1;
根据所述目标采样率对获取的初始数据进行采样。
2.根据权利要求1所述的方法,其特征在于,所述根据当前数据堆积量、预设的最大允许堆积量和所述临时采样率确定目标采样率之前,所述方法还包括:
获取所述当前数据堆积量;
获取所述最大允许堆积量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前数据堆积量、所述最大允许堆积量和所述临时采样率确定所述目标采样率,包括:
若所述当前数据堆积量大于所述最大允许堆积量,则将所述临时采样率和当前采样率中较小的一个确定为所述目标采样率;
若所述当前数据堆积量小于或等于所述最大允许堆积量,则将所述临时采样率确定为所述目标采样率。
4.根据权利要求2所述的方法,其特征在于,所述获取当前数据堆积量,包括:
获取当前时刻的数据累计生产量和当前时刻的数据累计消费量,所述数据累计生产量表征所述消息中间件累计接收的数据的量,所述数据累计消费量表征所述消息中间件中累计被消费的数据的量;
根据所述当前时刻的数据累计生产量与所述当前时刻的数据累计消费量的差值,确定所述当前数据堆积量。
5.根据权利要求4所述的方法,其特征在于,所述数据累计生产量为生产偏移量,所述数据累计消费量为消费偏移量。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述确定历史平均生产速率,包括:
获取第一时刻的数据累计生产量和第二时刻的数据累计生产量,所述第一时刻为当前时刻或所述当前时刻之前的历史时刻,所述第二时刻为所述当前时刻之前的历史时刻,所述第一时刻晚于所述第二时刻;
根据第一数据生产量与时间差的比值,确定所述历史平均生产速率,所述第一数据生产量为所述第一时刻的数据累计生产量与所述第二时刻的数据累计生产量的差值,所述时间差为所述第一时刻与所述第二时刻的时间差。
7.根据权利要求1所述的方法,其特征在于,所述电子设备不包括消息中间件,所述目标采样率为所述临时采样率。
8.根据权利要求7所述的方法,其特征在于,所述确定历史平均生产速率,包括:
确定第二数据生产量,所述第二数据生产量为所述电子设备在预设时长的历史时间段内获取所述初始数据的量;
根据所述第二数据生产量与所述预设时长的比值,确定所述历史平均生产速率。
9.根据权利要求1至5、7、8中任一项所述的方法,其特征在于,所述根据所述目标采样率对获取的初始数据进行采样,包括:
确定第一数据中字段的哈希值,所述第一数据为所述初始数据中的任一条数据;
对所述哈希值按照100取模,得到余数;
若所述余数小于或等于所述目标采样率与100的乘积,则采集所述第一数据;
若所述余数大于所述目标采样率与100的乘积,则丢弃所述第一数据。
10.一种数据处理方法,其特征在于,包括:
获取预设周期;
按照所述预设周期,周期性执行如权利要求1至9中任一项所述的方法。
11.一种电子设备,其特征在于,包括:处理器、存储器和接口;
所述处理器、所述存储器和所述接口相互配合,使得所述电子设备执行如权利要求1至10中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211180745.1A CN116662100B (zh) | 2022-09-27 | 2022-09-27 | 数据处理方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211180745.1A CN116662100B (zh) | 2022-09-27 | 2022-09-27 | 数据处理方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116662100A CN116662100A (zh) | 2023-08-29 |
CN116662100B true CN116662100B (zh) | 2024-03-15 |
Family
ID=87712370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211180745.1A Active CN116662100B (zh) | 2022-09-27 | 2022-09-27 | 数据处理方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116662100B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423433A (zh) * | 2017-08-03 | 2017-12-01 | 聚好看科技股份有限公司 | 一种数据采样率控制方法及装置 |
CN111726402A (zh) * | 2020-06-09 | 2020-09-29 | 百度在线网络技术(北京)有限公司 | 用户行为数据处理方法、装置、电子设备及存储介质 |
CN111897700A (zh) * | 2020-07-15 | 2020-11-06 | 中国工商银行股份有限公司 | 应用指标监控方法及装置、电子设备和可读存储介质 |
CN113159453A (zh) * | 2021-05-17 | 2021-07-23 | 北京字跳网络技术有限公司 | 资源数据预测方法、装置、设备及存储介质 |
CN113542043A (zh) * | 2020-04-14 | 2021-10-22 | 中兴通讯股份有限公司 | 网络设备的数据采样方法、装置、设备及介质 |
CN113672447A (zh) * | 2020-05-15 | 2021-11-19 | 杭州海康威视系统技术有限公司 | 数据采集方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9703667B2 (en) * | 2015-02-22 | 2017-07-11 | International Business Machines Corporation | Hardware-based edge profiling |
US10977151B2 (en) * | 2019-05-09 | 2021-04-13 | Vmware, Inc. | Processes and systems that determine efficient sampling rates of metrics generated in a distributed computing system |
US11940895B2 (en) * | 2021-03-02 | 2024-03-26 | VMware LLC | Methods and systems for intelligent sampling of application traces |
-
2022
- 2022-09-27 CN CN202211180745.1A patent/CN116662100B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423433A (zh) * | 2017-08-03 | 2017-12-01 | 聚好看科技股份有限公司 | 一种数据采样率控制方法及装置 |
CN113542043A (zh) * | 2020-04-14 | 2021-10-22 | 中兴通讯股份有限公司 | 网络设备的数据采样方法、装置、设备及介质 |
CN113672447A (zh) * | 2020-05-15 | 2021-11-19 | 杭州海康威视系统技术有限公司 | 数据采集方法及装置 |
CN111726402A (zh) * | 2020-06-09 | 2020-09-29 | 百度在线网络技术(北京)有限公司 | 用户行为数据处理方法、装置、电子设备及存储介质 |
CN111897700A (zh) * | 2020-07-15 | 2020-11-06 | 中国工商银行股份有限公司 | 应用指标监控方法及装置、电子设备和可读存储介质 |
CN113159453A (zh) * | 2021-05-17 | 2021-07-23 | 北京字跳网络技术有限公司 | 资源数据预测方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
一种可变采样率数据采集方法与应用;林墨;林宗桂;胡萌琦;;气象研究与应用(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116662100A (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10097379B2 (en) | Managing communication congestion for internet of things devices | |
US20170187597A1 (en) | Managing Communication Congestion For Internet of Things Devices | |
CN112671718B (zh) | 回源链路的切换方法、服务器及存储介质 | |
CN107872396B (zh) | 具有超时控制的通信方法、处理设备、终端设备和服务器 | |
WO2018121742A1 (zh) | 一种流数据的传输方法和装置 | |
CN109039817B (zh) | 一种用于流量监控的信息处理方法、装置、设备及介质 | |
CN111324886A (zh) | 业务请求的处理方法、装置和服务器 | |
CN111538572A (zh) | 任务处理方法、装置、调度服务器及介质 | |
CN116662100B (zh) | 数据处理方法和电子设备 | |
WO2024001763A1 (zh) | 一种数据传输处理方法、装置、存储介质及电子装置 | |
CN113422838B (zh) | 数据同步的实现方法、装置、电子设备及存储介质 | |
CN115174478A (zh) | 一种网络拥塞控制方法及相关装置 | |
CN113300910B (zh) | 获取使用速率的方法和系统、终端、接入点、mec服务器 | |
RU2533452C2 (ru) | Система и способ для процессирования мультимедийных сообщений | |
CN110868373A (zh) | 多媒体数据传输方法、装置及计算机可读存储介质 | |
CN114079619B (zh) | 端口流量的采样方法和装置 | |
CN114048059A (zh) | 接口的超时时间调整方法、装置、计算机设备及存储介质 | |
CN111148159A (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
CN116996649B (zh) | 投屏方法、装置、存储介质及电子设备 | |
CN114222153B (zh) | 在线用户数量统计方法、装置、电子设备和存储介质 | |
CN117978749B (zh) | 一种基于fpga实现数据源流控的方法及系统 | |
CN116074331A (zh) | 区块数据同步方法及相关产品 | |
WO2022067488A1 (zh) | 信道选择方法、电子设备及存储介质 | |
CN116192755B (zh) | 基于建立虚拟交换机的拥塞处理方法及其系统 | |
CN113873562B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |