发明名称 智能数据采集方法
摘要 本发明公开了一种智能数据采集方法,将任务嵌入到各个移动代理中,派遣到无线传感器网络上,之后,移动代理独立创建它的进程,异步、自主的完成所肩负的任务;移动代理具有的将计算移往数据而并非将数据移往计算的特点,减少了网上原始数据的流量,降低了网络负载,并可以消除网络延迟带来的隐患。
申请公布号 CN103327513A 申请公布日期 2013.09.25
申请号 CN201310222664.8 申请日期 2011.08.15
申请人 南通大学 发明人 蒋峥峥;高瞻;陆建新;陈继红;顾翔;严燕;王丹丹;石明波
分类号 H04W24/00(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W24/00(2009.01)I
代理机构 南通市永通专利事务所 32100 代理人 葛雷
主权项 1.一种智能数据采集方法,其特征是:包括下列步骤:1)初始状态时,网络中只存在sink节点和普通节点两类节点,普通节点利用派发代理将自己的节点编号、位置、时间戳信息发送给周围位于其通讯范围内的节点;2)每个普通节点都维护一张本地表,当收到派发代理发送来的邻居节点的信息后,将上述信息存储到本地表中,节点本地表中存储字段有:节点ID、位置、剩余能量E、状态、簇ID、簇头次数、时间戳,其中状态字段取值有:普通、簇头两种,初始状态时所有普通节点的状态字段都取值为普通;字段簇ID和簇头次数的初始取值为0;3)sink节点向网内所有普通节点派发智能组网代理,对网络中所有节点进行分簇,并筛选出簇头节点,向网络中其他节点广播,同时修改本地表中相应的状态、簇ID和簇头次数字段的值;4)根据用户要求,sink节点通过派发代理将任务派发给各簇头节点,再由簇头节点依次向簇内成员节点派发;派发代理将携带如下信息:任务ID、检测类型、告警条件、告警级别、数据采样频率、状态、时间戳;5)普通节点收到派发代理的任务后,执行数据智能采集流程,并在一定的数据采样频率下将采集到的数据传递给sink节点;6)为了保证簇头节点不过度消耗能量,一定时间后重复步骤3)的方法重新进行簇头的选举;步骤5)中,所述数据智能采集流程如下:(1)簇头节点通过派发代理向簇内所有节点派发任务,派发的任务内容包含数据采集任务、数据告警条件、数据传输速率等;同时簇头节点向簇内节点派发智能融合代理;(2)簇内节点采集到数据后,根据派发代理发送的任务进行分析比较,同时将数据保存到本地数据库中,由智能融合代理携带的MRI数据融合算法对采集到的数据进行数据融合计算;(3)簇内节点在分析采集到的数据时,如果发现数据达到报警条件,则根据任务预设的报警级别,立即派遣即时告警代理携带报警内容、警报级别、时间戳等信息迁移到簇头节点,由簇头节点收集报警信息并立即传给sink节点;然后,即时告警代理再由簇头节点迁移回原节点;(4)迁移回原节点的即时告警代理继续对采集的数据进行分析比较,如果发现警报消失,立即派遣即时告警代理携带消除报警内容、时间戳等信息迁移到簇头节点,簇头节点将消除警报信息传给sink节点;然后,即时告警代理再由簇头节点迁移回原节点;(5)簇内各节点在智能融合代理预设的数据传递周期内,根据用户的具体任务内容,由智能融合代理携带的BP神经网络算法对采集的数据进行学习、训练和非线性判断预测;(6)智能融合代理携带MRI算法、BP神经网络人工智能算法程序以及相关数据,在簇内各节点之间进行迁移,完成簇内多个节点的数据融合计算和非线性判断预测;(7)传感器节点将采集的数据与智能融合代理学习训练的预测结果进行比较,如果达到预警条件,则由即时告警代理携带预警内容、警报级别、时间戳等信息迁移到簇头节点,簇头节点将预警信息立即传给sink节点,同时提高数据传输速率;然后,即时告警代理由簇头节点迁移回原节点;(8)传感器节点将采集的数据与智能融合代理学习训练的预测结果进行比较,如果采集的数据回到正常范围,警报解除,由即时告警代理携带警报解除内容、时间戳等信息迁移到簇头节点,簇头节点将预警解除信息传给sink节点,同时降低数据传输速率;然后,即时告警代理由簇头节点迁移回原节点;(9)根据智能融合代理设定的数据传输速率,传感器节点将融合后的数据迁移到邻居节点,完成多个节点的数据融合计算和BP神经网络学习训练计算;簇内各节点全部迁移完毕后,智能融合代理携带融合后的数据迁移到簇头节点,由簇头节点将数据传给sink节点,由用户进行进一步的数据处理;然后,簇头节点根据sink节点派发的任务要求,重新派遣智能融合代理给簇内各节点,重复上述步骤(1)~(8)的方法实现智能数据采集;步骤3)中,在各个簇中节点由智能组网代理进行簇头的选举,具体方法如下:(1)sink节点派发的智能组网代理携带预设的参数在网内各节点上迁移,预设的参数有:簇头选举的轮次r,r的初始取值为1;簇头被选举的次数r<sub>num</sub>,r<sub>num</sub>的初始取值为0;预定的簇头数占所有传感器节点总数的百分比P;智能组网代理在网络上扫描全网节点,统计传感器节点本地表中字段簇头次数的值小于等于r<sub>num</sub>的节点的个数,存入智能组网代理的变量n<sub>p</sub>中,统计全网中有效节点总数存入智能组网代理的变量n<sub>t</sub>中;(2)计算n<sub>t</sub>*P的值,与n<sub>p</sub>进行比较,如果n<sub>p</sub>&gt;n<sub>t</sub>*P,计算<img file="FDA00003309043700041.GIF" wi="410" he="165" />的值,存入智能组网代理的变量T<sub>s</sub>中;(3)根据公式①计算节点能量阀值E,<maths num="0001"><![CDATA[<math><mrow><mi>E</mi><mo>=</mo><mi>cycle</mi><mo>&times;</mo><mrow><mo>(</mo><msub><mi>C</mi><mi>degree</mi></msub><mo>&times;</mo><msub><mi>E</mi><mi>DA</mi></msub><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>C</mi><mi>degree</mi></msub></munderover><msub><mi>k</mi><mi>i</mi></msub><mo>&times;</mo><mrow><mo>(</mo><msub><mi>E</mi><mi>elec</mi></msub><mo>+</mo><msub><mi>&epsiv;</mi><mi>fs</mi></msub><mo>&times;</mo><msubsup><mi>d</mi><mi>i</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>C</mi><mi>degree</mi></msub></munderover><msubsup><mi>k</mi><mi>i</mi><mo>'</mo></msubsup><mo>&times;</mo><msub><mi>E</mi><mi>elec</mi></msub><mo>+</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mi>l</mi><mo>&times;</mo><msub><mi>E</mi><mi>elec</mi></msub><mo>+</mo><mi>l</mi><mo>&times;</mo><msub><mi>&epsiv;</mi><mi>mp</mi></msub><mo>&times;</mo><msubsup><mi>d</mi><mn>2</mn><mn>4</mn></msubsup><mo>+</mo><mi>l</mi><mo>'</mo><mo>&times;</mo><msub><mi>E</mi><mi>elec</mi></msub><mo>)</mo></mrow></math>]]></maths>   ①公式①中,cycle表示每轮的数据收集次数,C<sub>degree</sub>表示簇内成员数,E<sub>DA</sub>表示融合数据消耗的能量以及数据处理需要的能量,E<sub>elec</sub>为传感器节点电子能量消耗,由信号的数字编码、调制、滤波、扩频等决定,ε<sub>fs</sub>和ε<sub>mp</sub>分别为自由空间和多径衰落信道中无线电子信号放大所消耗的能量,<maths num="0003"><![CDATA[<math><mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>C</mi><mi>degree</mi></msub></munderover><msub><mi>k</mi><mi>i</mi></msub><mo>&times;</mo><mrow><mo>(</mo><msub><mi>E</mi><mi>elec</mi></msub><mo>+</mo><msub><mi>&epsiv;</mi><mi>fs</mi></msub><mo>&times;</mo><msubsup><mi>d</mi><mi>i</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>C</mi><mi>degree</mi></msub></munderover><msubsup><mi>k</mi><mi>i</mi><mo>'</mo></msubsup><mo>&times;</mo><msub><mi>E</mi><mi>elec</mi></msub></mrow></math>]]></maths>表示节点向距离为d的簇内节点发送k比特信息时需要的发送和接收能量开销,l×E<sub>elec</sub>+l×ε<sub>mp</sub>×d<sub>2</sub><sup>4</sup>+l′×E<sub>elec</sub>表示节点向距离为d<sub>2</sub>的sink节点发送l比特信息时需要的发送和接收能量开销。均由sink节点预设,由派发的智能组网代理携带计算;(4)智能组网代理获取节点本地表中字段剩余能量E的值,存入智能组网代理的变量E<sub>n</sub>中,(5)将变量E<sub>n</sub>的值与步骤(3)中计算的能量阀值E进行比较,如果E<sub>n</sub>&gt;E,λ=1;如果E<sub>n</sub>≤E,λ=0;计算簇头阀值T<sub>n</sub>=λ*T<sub>s</sub>;(6)节点随机产生一个0~1之间的数,将这个数与步骤(5)中计算出的簇头阀值T<sub>n</sub>进行比较,如果小于T<sub>n</sub>,该普通节点就成为一个簇头节点,此时,簇头节点修改T<sub>n</sub>的值为0,同时修改本地表中状态、簇ID、簇头次数字段:将状态字段的值改为簇头,填入生成的簇ID的值,将簇头次数的值自动加1;同时簇头节点向网络发送ADV广播包,宣告自己是簇头;(7)智能组网代理携带簇头选举的结果返回sink节点,同时轮次r值自动加1;(8)普通节点收到簇头发来的广播包后将该数据包加入自己的一个接收队列,然后从自己的接收队列中选取一个距离最近的簇头,加入其簇,修改本地表中字段簇ID的值,然后清空接收队列。并向自己隶书的簇头节点发送数据包;(9)簇头节点收到普通节点发来的数据报后,将节点的信息加入自己的簇成员列表中。簇头节点根据本簇内成员节点的数目,产生一个TDMA时隙表,指定每个成员节点可以发送数据的时段,并向簇内成员发送广播。
地址 226019 江苏省南通市啬园路9号