当前位置: 首页 > 专利查询>北京大学专利>正文

一种自适应的传感器数据抓取方法及装置制造方法及图纸

技术编号:10724901 阅读:119 留言:0更新日期:2014-12-04 01:50
本发明专利技术涉及一种数据抓取方法及装置,属于传感器数据处理领域,具体涉及一种自适应的传感器数据抓取方法。包括:初始化步骤、数据抓取步骤、间隔调整步骤。因此,本发明专利技术具有如下优点:1.数据抓取更加稳定,根据传感器服务的应用程序需求调整传感器数据采集频率,提高了传感器数据抓取的稳定性;2.节省带宽,通过动态调整抓取频率,减少了不必要的传感器数据抓取操作对带宽的占用。

【技术实现步骤摘要】
一种自适应的传感器数据抓取方法及装置
本专利技术涉及一种数据抓取方法及装置,属于传感器数据处理领域,具体涉及一种自适应的传感器数据抓取方法。
技术介绍
传感器抓取的数据一般来说和传感器的开发者无关,所以传感器所需要抓取的数据源产生数据的频率并不能为开发者所知。如果保持单一的数据抓取频率,开发者将会面对以下问题:如果频率过高,而数据源产生数据频率很低,大量带宽将被浪费;如果频率过低,而数据源产生数据的频率很高,可能会因为传感器缓冲区有限而造成一次获取所取得的数据不能完全被传感器存储的情况。在客观世界中,不同的数据源产生数据的频率差异极大并且单一数据源产生数据的频率也会发生变化,所以传感器应该具备智能地调节数据获取频率的能力。而目前,现有技术中并不存在一个能自动调整数据抓取频率的通用方法,导致数据抓取效率低下。因此,开发一种自适应的传感器数据抓取方法是很有必要的。
技术实现思路
本专利技术主要是解决现有技术所存的传感器数据抓取不能根据应用程序需要自动调整抓取频率的问题,提供了一种自适应的传感器数据抓取方法及装置,采用该方法及装置提高了传感器抓取数据的稳定性,节省了带宽。本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种自适应的传感器数据抓取方法,包括:初始化步骤,针对特定的数据源开发传感器数据抓取模块并开辟用于存取所述数据抓取模块抓取到的数据的缓冲区,初始化所述数据抓取模块的抓取间隔为传感器所支持的最小抓取间隔;根据所述缓冲区大小设置合适的缓冲区因子;其中,缓冲区因子用于预留一定比例的缓冲区容量,即认为当缓冲区达到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,将缓冲区中的数据发送给应用程序后,清空缓冲区;间隔调整步骤,若所述已抓取数据条数不为零本文档来自技高网...
一种自适应的传感器数据抓取方法及装置

【技术保护点】
一种自适应的传感器数据抓取方法,其特征在于,包括:初始化步骤,针对特定的数据源开发传感器数据抓取模块并开辟用于存取所述数据抓取模块抓取到的数据的缓冲区,初始化所述数据抓取模块的抓取间隔为传感器所支持的最小抓取间隔,根据所述缓冲区大小设置合适的用于预留一定比例的缓冲区容量的缓冲区因子;数据抓取步骤,所述数据抓取模块按照设定的抓取频率抓取数据,记录数据抓取模块的本次抓取间隔以及所已抓取数据条数;间隔调整步骤,若所述已抓取数据条数不为零,则基于所述实时抓取间隔以及已抓取数据条数调整数据抓取模块的下一次抓取间隔,所述下一次抓取间隔与所述已抓取数据条数呈反比关系。

【技术特征摘要】
1.一种自适应的传感器数据抓取方法,其特征在于,包括:初始化步骤,用于开发针对特定数据源的传感器数据抓取模块并开辟用于存取所述数据抓取模块抓取到的数据的缓冲区,初始化所述数据抓取模块的抓取间隔为传感器所支持的最小抓取间隔,根据所述缓冲区大小设置合适的用于预留一定比例的缓冲区容量的缓冲区因子;数据抓取步骤,用于利用所述数据抓取模块按照设定的抓取频率抓取数据,并记录数据抓取模块的本次抓取间隔以及已抓取数据条数;间隔调整步骤,若所述已抓取数据条数不为零,则基于实时抓取间隔以及已抓取数据条数调整数据抓取模块的下一次抓取间隔,所述下一次抓取间隔与所述已抓取数据条数呈反比关系。2.根据权利要求1所述的一种自适应的传感器数据抓取方法,其特征在于,所述间隔调整步骤中,所述下一次抓取间隔的调整基于公式:其中:Nnow为已抓取数据条数,Tnow为本次抓取间隔,buffer_size为缓冲区大小,δ为缓冲区因子,T为下一次抓取间隔。3.根据权利要求1所述的一种自适应的传感器数据抓取方法,其特征在于,所述间隔调整步骤中,若所述已抓取数据条数为零,则所述下一次抓取间隔的调整基于公式:其中:Tnow为本次抓取间隔,Tmin为传感器所支持的最快轮询频率的抓取间隔,Tmax为由传感器所服务的应用程序需求的最大抓取间隔,T为下一次抓取间隔。4.根据权利要求1所述的一种自适应的传感器数据抓取方法,其特征在于,还包括:边界确定步骤,确定传感器所支持的最快轮询频率的抓取间隔Tmin,并根据传感器所服务的应用程序需求确定传感器最大抓取间隔Tmax;边界检测步骤,若间隔调整步骤确定的下一次抓取间隔大于传感器最大抓取间隔Tmax,则将下一次抓取间隔设置为传感器最大抓取间隔Tmax,若间隔调整步骤确定的下一...

【专利技术属性】
技术研发人员:王亚沙崔达王皓
申请(专利权)人:北京大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1