CN104182552B - 一种自适应的传感器数据抓取方法及装置 - Google Patents
一种自适应的传感器数据抓取方法及装置 Download PDFInfo
- Publication number
- CN104182552B CN104182552B CN201410389516.XA CN201410389516A CN104182552B CN 104182552 B CN104182552 B CN 104182552B CN 201410389516 A CN201410389516 A CN 201410389516A CN 104182552 B CN104182552 B CN 104182552B
- Authority
- CN
- China
- Prior art keywords
- interval
- grabbing
- data
- grabbing interval
- next time
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices Affording Protection Of Roads Or Walls For Sound Insulation (AREA)
Abstract
本发明涉及一种数据抓取方法及装置,属于传感器数据处理领域,具体涉及一种自适应的传感器数据抓取方法。包括:初始化步骤、数据抓取步骤、间隔调整步骤。因此,本发明具有如下优点:1.数据抓取更加稳定,根据传感器服务的应用程序需求调整传感器数据采集频率,提高了传感器数据抓取的稳定性;2.节省带宽,通过动态调整抓取频率,减少了不必要的传感器数据抓取操作对带宽的占用。
Description
技术领域
本发明涉及一种数据抓取方法及装置,属于传感器数据处理领域,具体涉及一种自适应的传感器数据抓取方法。
背景技术
传感器抓取的数据一般来说和传感器的开发者无关,所以传感器所需要抓取的数据源产生数据的频率并不能为开发者所知。如果保持单一的数据抓取频率,开发者将会面对以下问题:如果频率过高,而数据源产生数据频率很低,大量带宽将被浪费;如果频率过低,而数据源产生数据的频率很高,可能会因为传感器缓冲区有限而造成一次获取所取得的数据不能完全被传感器存储的情况。在客观世界中,不同的数据源产生数据的频率差异极大并且单一数据源产生数据的频率也会发生变化,所以传感器应该具备智能地调节数据获取频率的能力。
而目前,现有技术中并不存在一个能自动调整数据抓取频率的通用方法,导致数据抓取效率低下。因此,开发一种自适应的传感器数据抓取方法是很有必要的。
发明内容
本发明主要是解决现有技术所存的传感器数据抓取不能根据应用程序需要自动调整抓取频率的问题,提供了一种自适应的传感器数据抓取方法及装置,采用该方法及装置提高了传感器抓取数据的稳定性,节省了带宽。
本发明的上述技术问题主要是通过下述技术方案得以解决的:
一种自适应的传感器数据抓取方法,包括:
初始化步骤,针对特定的数据源开发传感器数据抓取模块并开辟用于存取所述数据抓取模块抓取到的数据的缓冲区,初始化所述数据抓取模块的抓取间隔为传感器所支持的最小抓取间隔;根据所述缓冲区大小设置合适的缓冲区因子;其中,缓冲区因子用于预留一定比例的缓冲区容量,即认为当缓冲区达到100*δ%时,缓冲区为满;
数据抓取步骤,所述数据抓取模块按照设定的抓取频率抓取数据,记录数据抓取模块的本次抓取间隔以及所已抓取数据条数;
间隔调整步骤,若所述已抓取数据条数不为零,则基于所述实时抓取间隔以及已抓取数据条数调整数据抓取模块的下一次抓取间隔,所述下一次抓取间隔与所述已抓取数据条数呈反比关系。
优化的,上述的一种自适应的传感器数据抓取方法,所述间隔调整步骤中,所述下一次抓取间隔的调整基于公式(1):
其中:Nnow为已抓取数据条数,Tnow为本次抓取间隔,buffer_size为缓冲区大小,δ为缓冲区因子,T为下一次抓取间隔。
该公式的得出基于这样一个期望:数据抓取模块每次抓取数据能够充满缓冲区,这样即能保证抓取到的数据不溢出,又能保证不会浪费带宽。设下次抓取的数据条数为N,因为数据产生具有粘滞性,所以有:
N/T=Nnow/Tnow (2)
要使N=buffer_size*δ (3)
由(2)(3)可以导出(1)式。
优化的,上述的一种自适应的传感器数据抓取方法,所述间隔调整步骤中,若所述已抓取数据条数为零,则所述下一次抓取间隔的调整基于公式(4):
其中:Tnow为本次抓取间隔,Tmin为传感器所支持的最快轮询频率,Tmax为由传感器所服务的应用程序需求的最大抓取间隔,T为下一次抓取间隔。
其中,公式(4)的推导过程如下:
因为已抓取数据条数为零,所以需要扩大数据抓取间隔以使得下次数据抓取更可能抓取到数据。我们将这个扩大幅度设为2,即T=Tnow*2,但这种扩大间隔的幅度过大,缺乏弹性。数据抓取间隔很可能在短时间内扩展到最大。由于cos函数具备良好的收敛性质,我们使用cos函数来调和由于未抓取数据所导致的抓取间隔的急剧变化。
令p=(Tnow-Tmin)/(Tmax-Tmin)为数据抓取间隔占数据抓取间隔变化区间的比重。当p=0,即Tnow=Tmin时,变化最快,cos函数的值应该为1;当p=1,即Tnow=Tmax时,变化最慢,我们应使得下次间隔等于Tmax,即cos函数的值应该为1/2,基于上述论证,得到(4)式。
优化的,上述的一种自适应的传感器数据抓取方法,还包括:
边界确定步骤,确定传感器所支持的最快轮询频率的抓取间隔Tmin,并根据传感器所服务的应用程序需求确定传感器最大抓取间隔Tmax;
边界检测步骤,若间隔调整步骤确定的下一次抓取间隔大于传感器最大抓取间隔Tmax,则将下一次抓取间隔设置为传感器最大抓取间隔Tmax,若间隔调整步骤确定的下一次抓取间隔小于传感器最小抓取间隔Tmin,则将下一次抓取间隔设置为传感器最小抓取间隔Tmin。
一种自适应的传感器数据抓取装置,包括:
数据抓取模块,用于为特定的数据源抓取传感器数据;
初始化模块,用于开辟存取所述数据抓取模块抓取到的数据的缓冲区,并将述数据抓取模块的抓取间隔初始化为传感器所支持的最小抓取间隔;
抓取记录模块,记录数据抓取模块的本次抓取间隔以及所已抓取数据条数;
间隔调整模块,若所述已抓取数据条数不为零,则基于所述实时抓取间隔以及已抓取数据条数调整数据抓取模块的下一次抓取间隔,所述下一次抓取间隔与所述已抓取数据条数呈反比关系。
优化的,上述的一种自适应的传感器数据抓取装置,所述间隔调整模块中,所述下一次抓取间隔的调整基于公式:
其中:Nnow为已抓取数据条数,Tnow为本次抓取间隔,buffer_size为缓冲区大小,δ为缓冲区因子,T为下一次抓取间隔。
优化的,上述的一种自适应的传感器数据抓取装置,所述间隔调整模块中,若所述已抓取数据条数为零,则所述下一次抓取间隔的调整基于公式:
其中:Tnow为本次抓取间隔,Tmin为传感器所支持的最快轮询频率,Tmax为由传感器所服务的应用程序需求的最大抓取间隔,T为下一次抓取间隔。
优化的,上述的一种自适应的传感器数据抓取装置,还包括:
边界确定模块,确定传感器所支持的最快轮询频率的抓取间隔Tmin,并根据传感器所服务的应用程序需求确定传感器最大抓取间隔Tmax;
边界检测模块,若间隔调整步骤确定的下一次抓取间隔大于传感器最大抓取间隔Tmax,则将下一次抓取间隔设置为传感器最大抓取间隔Tmax,若间隔调整步骤确定的下一次抓取间隔小于传感器最小抓取间隔Tmin,则将下一次抓取间隔设置为传感器最小抓取间隔Tmin。
因此,本发明具有如下优点:1.数据抓取更加稳定,根据传感器服务的应用程序需求调整传感器数据采集频率,提高了传感器数据抓取的稳定性;2.节省带宽,通过动态调整抓取频率,减少了不必要的传感器数据抓取操作对带宽的占用。
附图说明
附图1是本发明的流程图。
附图2是本发明实施例的数据抓取方法流程图。
具体实施方式
实施例一:
图1是本发明数据抓取方法的流程图。图2是具体实施例的流程图。在图2的实施例中,假定某传感器的任务是获取某bbs上某一版块的数据,该传感器的数据使用者为一应用程序,该应用程序需要使用该传感器提供的数据。
如图2所示,本实施例的自适应的传感器数据抓取方法,包括:
边界确定步骤,确定传感器所支持的最快轮询频率的抓取间隔为1秒,并根据传感器所服务的应用程序需求确定传感器最大抓取间隔为30分钟;
初始化步骤,针对特定的数据源开发传感器数据抓取模块并开辟用于存取所述数据抓取模块抓取到的数据的缓冲区,该缓冲区大小为10篇帖子,初始化所述数据抓取模块的抓取间隔为传感器所支持的最小抓取间隔1s,缓冲区因子为0.8;
数据抓取步骤,所述数据抓取模块按照设定的抓取频率抓取数据,记当前数据抓取频率为t,记录数据抓取模块的本次抓取间隔以及所采集的帖子数量为n,将缓冲区中的数据发送给应用程序后,清空缓冲区;
间隔调整步骤,若所述已抓取数据条数不为零,则基于所述实时抓取间隔以及已抓取数据条数调整数据抓取模块的下一次抓取间隔:如果n=0,那么将下一次抓取间隔设为如果n!=0,那么将数据抓取频率设为(t*10*0.8)/n;
边界检测步骤,判断数据抓取频率是否在(1,1800)之间,如果超过边界,则设为最近的边界值。
相应地,本实施例的数据抓取装置包括:
边界确定模块,该模块确定传感器所支持的最快轮询频率的抓取间隔为1秒,并根据传感器所服务的应用程序需求确定传感器最大抓取间隔为30分钟;
初始化模块,针对特定的数据源开发传感器数据抓取模块并开辟用于存取所述数据抓取模块抓取到的数据的缓冲区,该缓冲区大小为10篇帖子,初始化所述数据抓取模块的抓取间隔为传感器所支持的最小抓取间隔1s,缓冲区因子为0.8;
数据抓取模块,所述数据抓取模块按照设定的抓取频率抓取数据,记当前数据抓取频率为t,记录数据抓取模块的本次抓取间隔以及所采集的帖子数量为n,将缓冲区中的数据发送给应用程序后,清空缓冲区;
间隔调整模块,若所述已抓取数据条数不为零,则基于所述实时抓取间隔以及已抓取数据条数调整数据抓取模块的下一次抓取间隔:如果n=0,那么将下一次抓取间隔设为如果n!=0,那么将数据抓取频率设为(t*10*0.8)/n;
边界检测模块,判断数据抓取频率是否在(1,1800)之间,如果超过边界,则设为最近的边界值。
以上实施例为本发明中得方法及其构建的系统抓取某种软件相关数据的一般过程,可将其应用于其他具有明确数据接口,并且可通过爬虫程序自动抓取的数据集。不同的爬虫程序可进行类似的重构以接入同一个系统,从而实现方法的通用性。
Claims (8)
1.一种自适应的传感器数据抓取方法,其特征在于,包括:
初始化步骤,用于开发针对特定数据源的传感器数据抓取模块并开辟用于存取所述数据抓取模块抓取到的数据的缓冲区,初始化所述数据抓取模块的抓取间隔为传感器所支持的最小抓取间隔,根据所述缓冲区大小设置合适的用于预留一定比例的缓冲区容量的缓冲区因子;
数据抓取步骤,用于利用所述数据抓取模块按照设定的抓取频率抓取数据,并记录数据抓取模块的本次抓取间隔以及已抓取数据条数;
间隔调整步骤,若所述已抓取数据条数不为零,则基于实时抓取间隔以及已抓取数据条数调整数据抓取模块的下一次抓取间隔,所述下一次抓取间隔与所述已抓取数据条数呈反比关系。
2.根据权利要求1所述的一种自适应的传感器数据抓取方法,其特征在于,所述间隔调整步骤中,所述下一次抓取间隔的调整基于公式:其中:Nnow为已抓取数据条数,Tnow为本次抓取间隔,buffer_size为缓冲区大小,δ为缓冲区因子,T为下一次抓取间隔。
3.根据权利要求1所述的一种自适应的传感器数据抓取方法,其特征在于,所述间隔调整步骤中,若所述已抓取数据条数为零,则所述下一次抓取间隔的调整基于公式:其中:Tnow为本次抓取间隔,Tmin为传感器所支持的最快轮询频率的抓取间隔,Tmax为由传感器所服务的应用程序需求的最大抓取间隔,T为下一次抓取间隔。
4.根据权利要求1所述的一种自适应的传感器数据抓取方法,其特征在于,还包括:
边界确定步骤,确定传感器所支持的最快轮询频率的抓取间隔Tmin,并根据传感器所服务的应用程序需求确定传感器最大抓取间隔Tmax;
边界检测步骤,若间隔调整步骤确定的下一次抓取间隔大于传感器最大抓取间隔Tmax,则将下一次抓取间隔设置为传感器最大抓取间隔Tmax,若间隔调整步骤确定的下一次抓取间隔小于Tmin,则将下一次抓取间隔设置为Tmin。
5.一种自适应的传感器数据抓取装置,其特征在于,包括:
数据抓取模块,用于为特定的数据源抓取传感器数据;
初始化模块,用于开辟存取所述数据抓取模块抓取到的数据的缓冲区,并将所述数据抓取模块的抓取间隔初始化为传感器所支持的最小抓取间隔;
抓取记录模块,记录数据抓取模块的本次抓取间隔以及已抓取数据条数;
间隔调整模块,若所述已抓取数据条数不为零,则基于实时抓取间隔以及已抓取数据条数调整数据抓取模块的下一次抓取间隔,所述下一次抓取间隔与所述已抓取数据条数呈反比关系。
6.根据权利要求5所述的一种自适应的传感器数据抓取装置,其特征在于,所述间隔调整模块中,所述下一次抓取间隔的调整基于公式:其中:Nnow为已抓取数据条数,Tnow为本次抓取间隔,buffer_size为缓冲区大小,δ为缓冲区因子,T为下一次抓取间隔。
7.根据权利要求5所述的一种自适应的传感器数据抓取装置,其特征在于,所述间隔调整模块中,若所述已抓取数据条数为零,则所述下一次抓取间隔的调整基于公式:其中:Tnow为本次抓取间隔,Tmin为传感器所支持的最快轮询频率的抓取间隔,Tmax为由传感器所服务的应用程序需求的最大抓取间隔,T为下一次抓取间隔。
8.根据权利要求5所述的一种自适应的传感器数据抓取装置,其特征在于,还包括:
边界确定模块,确定传感器所支持的最快轮询频率的抓取间隔Tmin,并根据传感器所服务的应用程序需求确定传感器最大抓取间隔Tmax;
边界检测模块,若间隔调整模块确定的下一次抓取间隔大于传感器最大抓取间隔Tmax,则将下一次抓取间隔设置为传感器最大抓取间隔Tmax,若间隔调整步骤确定的下一次抓取间隔小于Tmin,则将下一次抓取间隔设置为Tmin。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410389516.XA CN104182552B (zh) | 2014-08-08 | 2014-08-08 | 一种自适应的传感器数据抓取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410389516.XA CN104182552B (zh) | 2014-08-08 | 2014-08-08 | 一种自适应的传感器数据抓取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104182552A CN104182552A (zh) | 2014-12-03 |
CN104182552B true CN104182552B (zh) | 2017-04-12 |
Family
ID=51963591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410389516.XA Expired - Fee Related CN104182552B (zh) | 2014-08-08 | 2014-08-08 | 一种自适应的传感器数据抓取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104182552B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108614841B (zh) * | 2016-12-13 | 2021-09-07 | 北京国双科技有限公司 | 时间间隔的调整方法和装置 |
CN108416046B (zh) * | 2018-03-15 | 2020-05-26 | 阿里巴巴(中国)有限公司 | 序列爬虫边界检测方法、装置和服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667205A (zh) * | 2009-09-28 | 2010-03-10 | 河南电力试验研究院 | 一种面向快速回放的实时测点数据存储方法 |
CN101976247A (zh) * | 2010-09-30 | 2011-02-16 | 北京新媒传信科技有限公司 | Rss数据采集方法及系统 |
WO2013019164A1 (en) * | 2011-08-03 | 2013-02-07 | Ids D.O.O. | A method for an acquisition of data from external digital sensors with an rfid smart tag and a tag integrated circuit for carrying out said method |
-
2014
- 2014-08-08 CN CN201410389516.XA patent/CN104182552B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667205A (zh) * | 2009-09-28 | 2010-03-10 | 河南电力试验研究院 | 一种面向快速回放的实时测点数据存储方法 |
CN101976247A (zh) * | 2010-09-30 | 2011-02-16 | 北京新媒传信科技有限公司 | Rss数据采集方法及系统 |
WO2013019164A1 (en) * | 2011-08-03 | 2013-02-07 | Ids D.O.O. | A method for an acquisition of data from external digital sensors with an rfid smart tag and a tag integrated circuit for carrying out said method |
Also Published As
Publication number | Publication date |
---|---|
CN104182552A (zh) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102761540B (zh) | 数据压缩方法、装置、系统以及服务器 | |
CN106992887A (zh) | 基于容器的应用实例弹性伸缩的实现方法、装置及系统 | |
CN104125419B (zh) | 一种基于cmos图像传感器的自适应分辨率实现方法 | |
CN103941788B (zh) | 芯片自适应电压调整器及方法 | |
CN107369635B (zh) | 一种基于深度学习的智能半导体装备系统 | |
CN104182552B (zh) | 一种自适应的传感器数据抓取方法及装置 | |
CN104717236A (zh) | 一种设备性能测试方法及装置 | |
EP2288114A3 (en) | Method and apparatus for providing and receiving contents via network, method and apparatus for backing up data via network, backup data providing device, and backup system | |
CN103472992A (zh) | 一种动态调整拍照按键的方法及移动终端 | |
TWI267022B (en) | Image transfer using drawing command hooking | |
EP1768025A3 (en) | Method and system for use of abstract classes for script implementation of HTTP to obtain information from devices | |
CN107656776A (zh) | 一种fpga加速卡的固件更新方法、装置及介质 | |
EP1560119A3 (en) | Method and apparatus for adaptive garbage collection | |
EP1898556A3 (en) | System, method and computer program product for extracting information from remote devices through the HTTP protocol | |
CN105704785A (zh) | 一种网络搜索方法、装置及移动终端 | |
CN106330963A (zh) | 一种跨网络多节点日志采集的方法 | |
CN103472065A (zh) | 一种钢板表面图像采集及数据传输方法 | |
CN104317747B (zh) | 一种网格接收机的数据缓存与发送装置及方法 | |
CN103607468A (zh) | 一种上传文件的方法及终端 | |
CN105630605A (zh) | 基于数据服务访问情况动态调整数据服务集群的方法 | |
CN103761153B (zh) | 压缩工具资源调用方法及装置 | |
CN110235394B (zh) | 一种高频载波同步的实现方法及相关装置 | |
CN109327077A (zh) | 一种基于区块链的新能源光伏发电数据监控方法 | |
CN115309455A (zh) | 三维扫描仪处理系统及其数据处理方法 | |
CN106201712B (zh) | 增强现实中目标识别频率的调整方法、装置及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170412 Termination date: 20170808 |