CN108958957A - 一种轻量级的大数据智能采集方法 - Google Patents
一种轻量级的大数据智能采集方法 Download PDFInfo
- Publication number
- CN108958957A CN108958957A CN201810754010.2A CN201810754010A CN108958957A CN 108958957 A CN108958957 A CN 108958957A CN 201810754010 A CN201810754010 A CN 201810754010A CN 108958957 A CN108958957 A CN 108958957A
- Authority
- CN
- China
- Prior art keywords
- timeout
- time
- size
- value
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种轻量级的大数据智能采集方法,属于提升数据采集性能技术领域,本发明引入动态可调整的“批量+超时”传输策略,通过将采集的数据批次进行传输,该批次策略通过条数和时间两个维度进行控制,保证了超大规模下采集客户端与缓冲队列之间不会过于频繁的建立连接通道,保证了数据不会丢失,同时减轻被采集侧生产系统压力;并且上述的条数和时间两个维度的值会受到外部调度模块的定期调整,保证到达缓冲队列的请求分布均匀,整体提高系统稳定性。
Description
技术领域
本发明属于提升数据采集性能技术领域,特别是涉及到一种轻量级的大数据智能采集方法。
背景技术
针对大数据情况下的数据采集,源于不同技术和架构的采集方法之间的差异,会引起采集系统稳定性或占用资源量的巨大差异,所以选择一种好的采集方法十分重要。目前,对大数据情况下的数据采集方法主要为以下两种:
(1)采集客户端→存储器
在每个数据源安装采集客户端,采集客户端将需要采集的数据收集起来,传递给存储器。
(2)采集客户端→缓冲队列→存储器
在(1)技术的基础上,在采集客户端和存储器之间添加了“缓冲队列”模块。
现有技术(1)中,采集客户端将数据采集完成之后,直接发送给存储器,那么当数据规模较大的情况下,可能存储器并不能完全有能力承载采集客户端的存储请求,会发生请求消息阻塞,此时就会造成采集客户端发生错误,造成数据丢失,故技术(1)存在在大规模数据下,系统无缓冲功能带来的传输阻塞和数据丢失的缺陷;
针对现有技术(1)的基础上,引入了缓冲队列的概念,该模块实现了采集客户端和存储器之间的管道性的缓冲连接,即使存储器无法实时消费采集客户端传到的数据,那么后续数据也会被暂存在缓存队列中,待存储器压力降到正常值时,就会从缓冲队列内读取之前积压的数据,从整体上保证了系统采集的数据不丢失。
但是,当今软件应用系统体量均为大数据级别,现有技术(1)和(2)中仍存在一些问题,包括:
每次数据传输都会在采集客户端和存储之间建立一次连接通道,数据量大时候,即使采用缓冲队列,也无法承载采集客户端采集的超大规模数据传输请求在采集客户端和缓冲队列之间建立的海量连接通道,也会导致缓冲队列崩塌,数据大量丢失,同时频繁的建立连接请求也会对被采集的数据源造成巨大的大力,影响生产;
另外,缓冲队列会接收来自于大量的采集客户端的连接请求,大量的连接请求可能在近乎同一时间到达缓冲队列,此时缓冲队列的压力较大而造成系统崩塌;大量的连接请求也可能以比较分散的时间到达缓冲队列,此时缓冲队列压力则较小。不均衡的请求到达分布将极不利于系统整体稳定性。
所以技术(2)存在“超大规模下海量连接引起缓冲队列压力过载、占用被采集侧生产系统资源过高,造成生产系统崩塌风险和采集数据的丢失”的缺陷;同时存在“采集客户端到达缓冲队列的时间请求分布上的巨大偏差,导致系统整体稳定性差”的缺陷。
因此现有技术当中亟需要一种新型的技术方案来解决这一问题。
发明内容
本发明所要解决的技术问题是:提供一种轻量级的大数据智能采集方法,可以在超大规模海量连接情况下,保证数据不丢失,以及保证到达缓冲队列的请求分布均匀,整体提高系统稳定性。
一种轻量级的大数据智能采集方法,其特征是:包括以下步骤,
步骤一、建立数据存储的前置模块,内部包括批次控制器和修正控制器;建立数据存储的调度模块,包括刷新定时器和参数调节器,其中参数调节器包括Pool_size调节器和timeout调节器;
步骤二、设置前置模块的配制池大小Pool_size初始值以及延迟时间timeout初始值,前置模块收集本地数据,直至数据量达到Pool_size初始值,建立与缓冲队列的通道,将数据传输到存储器;或达到timeout初始值,建立与缓冲队列的通道,将数据传输到存储器;
步骤三、调度模块实时监控各个采集客户端与缓冲队列之间的通信情况,收集一个周期内的关键通信指标,包括每个客户端每次与缓冲队列传输的数据条数patch_size以及每次传输到达缓冲队列的时间reach_time;
步骤四、将每一个周期内每次请求的patch_size和reach_time数值分别传递给Pool_size调节器和timeout调节器;
步骤五、Pool_size调节器将一个周期每次请求的patch_size进行平均值计算,将平均值patch_size_ave传输给刷新定时器,等待更新;
步骤六、Timeout调节器将一个周期每次请求的reach_time数值与上一次的reach_time数值做差值运算,并将全部的差值取平均值获得差值平均值timeout_ave,传输给刷新定时器,等待更新;
步骤七、将步骤六中获得的每个采集客户端的差值平均值timeout_ave再次取平均值,获得整个系统的差值平均值system_timeout_ave,将每个采集客户端的差值平均值和系统差值平均值做差值运算,得到每个采集客户端与系统整体均值之间的偏离度,将偏离度结果储存在系统偏离数组diverge[]内,并传输给刷新定时器,等待更新;
步骤八、刷新定时器的时间达到预设时间,刷新定时器将每个采集客户端的patch_size_ave、timeout_ave以及系统偏离数组diverge[]传输给前置模块;
步骤九、前置模块内部的批量控制器进行赋值,Pool_size=patch_size_ave,timeout=timeout_ave,系统偏离数组diverge[]传递给修正控制器,修正控制器在每次请求到达时会生成一个随机数Ran,随机数Ran为介于0~1之间的二位精度小数,同时将本采集客户端的偏离值d与随机数Ran取乘积,将此乘积值和批次控制器内的timeout数字做加法运算,作为本次请求的实际超时值,计算公式为:
本次请求的timeout=timeout+Ran*d;
步骤十、重复步骤一至步骤九进行调度模块每一个周期的持续迭代,通过前置模块的批次控制,保持参数持续优化。
所述步骤九中的偏离值d为系统偏离数据组diverage[]内相对应的采集客户端的偏离值,为正数、零或负数。
所述前置模块设置在采集客户端内,用于批量数据传输控制。
通过上述设计方案,本发明可以带来如下有益效果:一种轻量级的大数据智能采集方法,引入动态可调整的“批量+超时”传输策略,通过将采集的数据批次进行传输,该批次策略通过条数和时间两个维度进行控制,保证了超大规模下采集客户端与缓冲队列之间不会过于频繁的建立连接通道,保证了数据不会丢失,同时减轻被采集侧生产系统压力;并且上述的条数和时间两个维度的值会受到外部调度模块的定期调整,保证到达缓冲队列的请求分布均匀,整体提高系统稳定性。
本发明的进一步有益效果在于:
1、前置模块+调度器模块实现对批次控制中两个参数的动态调整,迭代运算使得批次传输的逻辑越加合理,对被采集侧和缓冲队列的压力更小;
2、关于对timeout的调整规则,来源于周期T内本采集客户端差值平均值、差值平均值与系统总体平均值偏离量(修正值)的综合计算结果,使得Timeout的值更具有系统整体特性,使得到达缓冲队列的时间得以均衡,使得系统整体稳定性得以提升。
3、在针对每次请求的Timeout计算式,引入了随机数的概念。使得系统传输请求的时间分散度进一步提升,机一部提升了系统整体稳定性。
附图说明
以下结合附图和具体实施方式对本发明作进一步的说明:
图1为本发明一种轻量级的大数据智能采集方法流程示意图。
具体实施方式
一种轻量级的大数据智能采集方法,如图1所示,工作流程如下,
步骤一、建立数据存储的前置模块,内部包括批次控制器和修正控制器;建立数据存储的调度模块,包括刷新定时器和参数调节器,其中参数调节器包括Pool_size调节器和timeout调节器;
步骤二、初始的Pool_size设置为M(如1024),timeout设置为N(如5s),前置模块在本地收集数据,直至数据达到Pool_size设定值M就开始一次传输,即建立和缓冲队列的通道,将数据传输到存储器;如果累计时间到达N时,累积数据尚达不到M条时,也开始一次传输;
步骤三、调度模块会实时监控各个采集客户端和缓冲队列之间的通信情况,定期T(如10min)时间内收集该周期内关键通信指标,包括每个客户端每次和缓冲队列传输的数据条数patch_size和每次传输到达缓冲队列的时间reach_time;
步骤四、每次请求的Patch_size和reach_time数值分别传达给Pool_size调节器和Timeout调节器;
步骤五、Pool_size调节器将T时间内收集来的每次请求的patch_size进行平均值计算,将平均值patch_size_ave传递给刷新定时器,等待更新;
步骤六、Timeout调节器将每次请求的reach_time值与上次的reach_time作差值运算,将全部的差值取平均值timeout_ave,发送给刷新定时器,等待更新;
步骤七、将步骤六中所计算出来的所有采集客户端的差值平均值(如client1_timeout_ave、client2_timeout_ave、…、clientP_timeout_ave)再次取得平均值,得出整个系统的差值平均值system_timeout_ave;然后将每个采集客户端的差值平均值和系统差值平均值做差值运算,得到每个采集客户端与系统整体均值之间的偏离程度,将结果存在偏离数组diverge[]内,传输给刷新定时器,等待更新;
步骤八、当刷新定时器的时间T到达时,刷新定时器将每个采集客户端的patch_size_ave、timeout_ave,以及系统偏离数组diverge[]传递给前置模块;
步骤九、前置模块内批次控制器进行相应赋值操作,即:
Pool_size=patch_size_ave;
timeout=timeout_ave;
同时将系统偏离数组diverage[]传递给修正控制器;修正控制器在每次请求到达时会随机生成一个随机数Ran(介于0~1之间的二位精度小数,如0.68),同时将本采集客户端的偏离值d(在偏离数据diverage[]内对应着本采集客户端的偏离值,可能为正数、零或负数)和上面的随机数d坐乘积,然后将乘积和批次控制器内的timeout做加法运算,作为本次请求的实际超时值,计算公式如下:
本次请求的timeout=timeout+Ran*d;
步骤十、随着调度模块的每周期的不断迭代,前置模块的批次控制参数将不断得以优化。
本发明中前置模块内嵌在采集客户端内,实现批量数据传输控制;内包括批次控制器和修正控制器;
调度模块用于监控所有采集客户端的传输请求,智能分析并定时调节前置模块内的批量传输相关的配置,主要指配制池大小Pool_size和延迟时间timeout。调度模块内部包括了刷新定时器和参数调节器两个子模块。
Claims (3)
1.一种轻量级的大数据智能采集方法,其特征是:包括以下步骤,
步骤一、建立数据存储的前置模块,内部包括批次控制器和修正控制器;建立数据存储的调度模块,包括刷新定时器和参数调节器,其中参数调节器包括Pool_size调节器和timeout调节器;
步骤二、设置前置模块的配制池大小Pool_size初始值以及延迟时间timeout初始值,前置模块收集本地数据,直至数据量达到Pool_size初始值,建立与缓冲队列的通道,将数据传输到存储器;或达到timeout初始值,建立与缓冲队列的通道,将数据传输到存储器;
步骤三、调度模块实时监控各个采集客户端与缓冲队列之间的通信情况,收集一个周期内的关键通信指标,包括每个客户端每次与缓冲队列传输的数据条数patch_size以及每次传输到达缓冲队列的时间reach_time;
步骤四、将每一个周期内每次请求的patch_size和reach_time数值分别传递给Pool_size调节器和timeout调节器;
步骤五、Pool_size调节器将一个周期每次请求的patch_size进行平均值计算,将平均值patch_size_ave传输给刷新定时器,等待更新;
步骤六、Timeout调节器将一个周期每次请求的reach_time数值与上一次的reach_time数值做差值运算,并将全部的差值取平均值获得差值平均值timeout_ave,传输给刷新定时器,等待更新;
步骤七、将步骤六中获得的每个采集客户端的差值平均值timeout_ave再次取平均值,获得整个系统的差值平均值system_timeout_ave,将每个采集客户端的差值平均值和系统差值平均值做差值运算,得到每个采集客户端与系统整体均值之间的偏离度,将偏离度结果储存在系统偏离数组diverge[]内,并传输给刷新定时器,等待更新;
步骤八、刷新定时器的时间达到预设时间,刷新定时器将每个采集客户端的patch_size_ave、timeout_ave以及系统偏离数组diverge[]传输给前置模块;
步骤九、前置模块内部的批量控制器进行赋值,Pool_size=patch_size_ave,timeout=timeout_ave,系统偏离数组diverge[]传递给修正控制器,修正控制器在每次请求到达时会生成一个随机数Ran,随机数Ran为介于0~1之间的二位精度小数,同时将本采集客户端的偏离值d与随机数Ran取乘积,将此乘积值和批次控制器内的timeout数字做加法运算,作为本次请求的实际超时值,计算公式为:
本次请求的timeout=timeout+Ran*d;
步骤十、重复步骤一至步骤九进行调度模块每一个周期的持续迭代,通过前置模块的批次控制,保持参数持续优化。
2.根据权利要求1所述的一种轻量级的大数据智能采集方法,其特征是:所述步骤九中的偏离值d为系统偏离数据组diverage[]内相对应的采集客户端的偏离值,为正数、零或负数。
3.根据权利要求1所述的一种轻量级的大数据智能采集方法,其特征是:所述前置模块设置在采集客户端内,用于批量数据传输控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810754010.2A CN108958957B (zh) | 2018-07-11 | 2018-07-11 | 一种轻量级的大数据智能采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810754010.2A CN108958957B (zh) | 2018-07-11 | 2018-07-11 | 一种轻量级的大数据智能采集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108958957A true CN108958957A (zh) | 2018-12-07 |
CN108958957B CN108958957B (zh) | 2020-03-27 |
Family
ID=64483805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810754010.2A Active CN108958957B (zh) | 2018-07-11 | 2018-07-11 | 一种轻量级的大数据智能采集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958957B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933611A (zh) * | 2019-02-22 | 2019-06-25 | 深圳达普信科技有限公司 | 一种自适应的数据采集方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040019844A1 (en) * | 2002-07-29 | 2004-01-29 | International Business Machines Corporation | System and method for correcting timing signals in integrated circuits |
CN107121978A (zh) * | 2017-06-07 | 2017-09-01 | 四川谊田集群科技有限公司 | 一种水电站辅机控制装置的智能化升级方法和系统 |
-
2018
- 2018-07-11 CN CN201810754010.2A patent/CN108958957B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040019844A1 (en) * | 2002-07-29 | 2004-01-29 | International Business Machines Corporation | System and method for correcting timing signals in integrated circuits |
CN107121978A (zh) * | 2017-06-07 | 2017-09-01 | 四川谊田集群科技有限公司 | 一种水电站辅机控制装置的智能化升级方法和系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933611A (zh) * | 2019-02-22 | 2019-06-25 | 深圳达普信科技有限公司 | 一种自适应的数据采集方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108958957B (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319359B (zh) | 一种基于微云的能耗优化方法 | |
CN105025249B (zh) | 视频监控数据传输控制方法、装置及视频监控系统 | |
CN104683762B (zh) | 一种基于缓冲占用比的无人机视频无线自适应传输方法和无线传输系统 | |
KR101796179B1 (ko) | 피어-투-피어 네트워크에서 대역폭을 협상하기 위한 방법 및 디바이스 | |
US20120243416A1 (en) | Apparatus and method for data communication in an energy distribution network | |
JP5789028B2 (ja) | 休止タイマーの制御のための方法、装置、および通信システム | |
US10039126B2 (en) | Scheduling method, apparatus, and system | |
CN103294438A (zh) | 虚拟桌面图像的控制传输方法及系统 | |
CN103152551B (zh) | 用于农作物生长信息的远程图像监测系统及其方法 | |
CN103747077A (zh) | 一种传输机制调整方法和服务端、客户端 | |
CN103986914A (zh) | 无线视频监控系统中基于客户端数量的码率自适应方法 | |
CN108958957A (zh) | 一种轻量级的大数据智能采集方法 | |
AU2002242874A1 (en) | Apparatus and method for efficiently sharing memory bandwidth in a network processor | |
CN103269458B (zh) | 一种针对窄带网络情况下视频传输的调节控制方法 | |
CN114640870A (zh) | 一种QoE驱动的无线VR视频自适应传输优化方法及系统 | |
Yu et al. | Co-optimizing latency and energy with learning based 360 video edge caching policy | |
CN114422508A (zh) | 一种网络设备性能采集的方法和系统 | |
CN112350998B (zh) | 一种基于边缘计算的视频流传输方法 | |
CN102143360A (zh) | 一种图像编码的方法及设备 | |
CN110753101B (zh) | 边缘计算中低能耗的计算结点选择和计算任务分配方法 | |
CN103839396B (zh) | 一种高频风速仪测量数据远程传输系统 | |
CN204465735U (zh) | 一种基于缓冲占用比的无人机视频无线自适应传输系统 | |
CN104754401A (zh) | 串流分享方法、串流分享装置与串流分享系统 | |
CN108632390B (zh) | 一种基于多播的无线异构网络文件缓存更新方法 | |
CN110730232A (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 |