具体实施方式
图1为本发明一实施方式中数据传输装置100和数据传输方法的系统环境示意图。在本实施方式中,数据传输装置100,应用于无线传感器网络中,无线传感器网络包括多个传感节点,传感节点用于以协作地采集网络覆盖区域内被感测对象的特定数据,例如温度等,然后把这些特定数据通过有线网络或者无线信号发送给目标位置,以使用者在目标位置进行观察和分析。
请参考图2,本发明实施例的一种数据传输装置100,包括收集模块10、判断模块20以及发送模块30。其中,收集模块10用于收集多个传感节点发送的多个原始数据,判断模块20用于判断每一原始数据与第一比较值的绝对差值是否小于第二比较值,并将绝对差值小于第二比较值的原始数据删除,将绝对差值不小于第二比较值的原始数据存储以得到优化数据,并在每当绝对差值不小于第二比较值时将绝对差值不小于第二比较值的原始数据的值赋予第一比较值,发送模块30用于传输所存储的优化数据至目标位置。
例如,多个传感节点感测得到无线传感器网络覆盖区域内感测对象的20组温度数据,数据传输装置100的收集模块10收集20组温度数据T1-T20以形成原始数据。如下表1:
表1-收集的原始数据
设置第一比较值和第二比较值,并将第一比较值的初始值设为0,第二比较值设置为0.5。其中第二比较值为自设值,根据实际需求灵活设置。
首先获取原始数据中的第一个数据T1:40.1,判断模块20判断当前数据T1:40.1与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为0,第二比较值的值为0.5,当前数据T1:40.1与第一比较值的绝对差值为40.1大于第二比较值0.5,因此存储当前数据T1:40.1,并将当前数据T1的值40.1赋予第一比较值,第一比较值的值此时变更为40.1。
完成之后首先获取原始数据中的第二个数据T2:40.1。判断模块20判断数据T2:40.1与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为40.1,第二比较值的值为0.5,数据T2:40.1与第一比较值的绝对差值为0小于第二比较值0.5,因此删除数据T2:40.1,完成之后继续获取原始数据中的下一个数据T3:40.2。
判断模块20判断数据T3:40.2与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为40.1,第二比较值的值为0.5,数据T3:40.2与第一比较值的绝对差值为0.1仍然小于第二比较值0.5,因此删除数据T3:40.2,完成之后继续获取原始数据中的下一个数据T4:40.2。
直至获取到原始数据中的数据T8:40.6,此时判断模块20判断数据T8:40.6与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为40.1,第二比较值的值为0.5,数据T8:40.6与第一比较值的绝对差值为0.5不小于第二比较值0.5,因此存储当前数据T8:40.6,并将当前数据T8的值40.6赋予第一比较值,第一比较值的值此时变更为40.6。完成之后继续获取原始数据中的下一个数据T9:40.8。
依次类推,判断模块20在每次判断当前数据与第一比较值的绝对差值是否小于第二比较值,是则删除当前数据,否则存储当前数据后得到优化数据,优化数据如下表2所示:
表2-优化后的数据
本发明实施例的数据传输装置100,通过将无线传感器网络中的收集到的特定数据与预设的条件进行比较,只传输满足特定条件的数据,避免了不重要数据的不必要传输,节约了关键数据的传输时间,提高了系统效率。
在本实施例中,判断模块20还用于记录被删除原始数据的个数值。优化数据还包括所述记录的被删除的原始数据的个数值。从而使得目标位置的使用者获知数据优化的范围和程度,从而更好的控制误差。
例如,在以上实例中,判断模块20在判断数据T2:40.1与第一比较值0的绝对差值小于第二比较值,并删除数据T2:40.1之后,启动计数器,此时计数器为1,并在判断模块20每次判断当前数据与第一比较值的绝对差值小于第二比较值,并删除当前数据之后,计数器加1,从而得到被删除数据范围内的数据个数,如下表3所示:
表3-优化后的数据二
例如,在上表中,T1列下对应个数为7,即原始数据中T1-T8之间被删除数据范围内具有7个数据,数据被删除6个。
请参考图3,在本实施例中,数据传输装置100还包括缓存40,优化数据存储于缓存40中,发送模块30还用于先判断缓存40的剩余容量是否达到预设值,并在达到预设值时传输缓存40中的优化数据至目标位置。例如,预设值设置为缓存40容量的20%,当发现缓存40的剩余容量还有30%,即缓存40中的数据容量占缓存40整体容量为70%,此时不传输优化数据至目标位置,当缓存40中的数据容量达到缓存40整体容量为80%达到预设值时,则打包传输缓存40中的优化数据至目标位置,做到定量发送,从而更有效率,节约资源。
在本实施例中,判断模块20还用于还用于优先判断每一原始数据是否在预设范围之外,并将在预设范围之外的原始数据存储以得到高优先级数据,发送模块30还用于将高优先级数据优先传输至目标位置。
其中,设置第三比较值、上限值和下限值,其中,第三比较值、上限值和下限值均为自设值,使用者根据不同的用于环境设置为不同值,从而将数据区分为高优先级数据和低优先级数据。第三比较值为感测的特定数据的安全中心值,上限值和下限值形成感测数据的安全误差边界,第三比较值、上限值和下限值形成感测数据的安全范围。判断模块20先判断每一当前数据与第三比较值的差值是否大于上限值且小于下限值,是则判断为低优先级数据,进行数据优化流程,否则判断为高优先级数据,直接传输当前数据至目标位置,不进行任何处理,从而对高优先级的数据及时传输,减少碰撞,对高优先级数据使用信标使能模式,并向网络协调点申请预留时隙形成无竞争期,而在无竞争期中数据直接进行通信。对低优先级的数据才进行细致的数据优化处理,从而在满足对高优先级的数据及时传输时,尽可能的节省能耗,提高效率。
例如,将第三比较值设置为人的体温平均值37度,上限值设置为10度,下限值设置为-5度,即此时预设范围为32~47。当无线传感器网络传回的温度数据,例如T21:60,与第三比较值的差值23超出上限值,即温度数据T21:60在预设范围32~47之外,说明此时感测的环境温度具有人体危害性,需要及时传输以被使用者获知,此时T21温度数据即为高优先级的数据。当无线传感器网络传回的温度数据,例如T10:41,与第三比较值的差值4在上限值和下限值范围(-5~10)之内,即温度数据T10:41在预设范围32~47之内,此时T10温度数据即为低优先级的数据,不需要及时传输,则进行数据优化流程。第三比较值也可以设置为其他温度数据,例如易燃物的燃点临界温度或者路面结冰温度等。
在本实施例中,请参考图4,本发明一实施例的一种数据传输方法,包括步骤:
S100:收集模块10收集多个传感节点发送的多个原始数据。
例如,多个传感节点感测得到无线传感器网络覆盖区域内感测对象的20组温度数据,数据传输装置100的收集模块10收集20组温度数据T1-T20以形成原始数据。如上表1所示。
S200:判断模块20判断每一原始数据与第一比较值的绝对差值是否小于第二比较值。
S300:判断模块20将绝对差值小于第二比较值的原始数据删除。
S400:判断模块20将绝对差值不小于第二比较值的原始数据存储以得到优化数据。
S500:在每当绝对差值不小于第二比较值时,判断模块20将绝对差值不小于第二比较值的原始数据的值赋予第一比较值。
判断模块20设置第一比较值和第二比较值,并将第一比较值的初始值设为0,第二比较值设置为0.5。其中第二比较值为自设值,根据实际需求灵活设置。
首先获取原始数据中的第一个数据T1:40.1,判断模块20判断当前数据T1:40.1与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为0,第二比较值的值为0.5,当前数据T1:40.1与第一比较值的绝对差值为40.1大于第二比较值0.5,因此存储当前数据T1:40.1,并将当前数据T1的值40.1赋予第一比较值,第一比较值的值此时变更为40.1。
完成之后获取原始数据中的第二个数据T2:40.1。判断模块20判断数据T2:40.1与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为40.1,第二比较值的值为0.5,数据T2:40.1与第一比较值的绝对差值为0小于第二比较值0.5,因此删除数据T2:40.1,完成之后继续获取原始数据中的下一个数据T3:40.2。
判断模块20判断数据T3:40.2与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为40.1,第二比较值的值为0.5,数据T3:40.2与第一比较值的绝对差值为0.1仍然小于第二比较值0.5,因此删除数据T3:40.2,完成之后继续获取原始数据中的下一个数据T4:40.2。
直至获取到原始数据中的数据T8:40.6,此时判断模块20判断数据T8:40.6与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为40.1,第二比较值的值为0.5,数据T8:40.6与第一比较值的绝对差值为0.5不小于第二比较值0.5,因此存储当前数据T8:40.6,并将当前数据T8的值40.6赋予第一比较值,第一比较值的值此时变更为40.6。完成之后继续获取原始数据中的下一个数据T9:40.8。
依次类推,判断模块20在每次判断当前数据与第一比较值的绝对差值是否小于第二比较值,是则删除当前数据,否则存储当前数据后得到优化数据,优化数据如上表2所示。
S600:传输所存储的优化数据至目标位置。
本发明实施例的数据传输装置方法,通过将无线传感器网络中的收集到的特定数据与预设的条件进行比较,只传输满足特定条件的数据,避免了不重要数据的不必要传输,节约了关键数据的传输时间,提高了系统效率。
在本实施例中,还包括步骤:记录被删除的所述原始数据的个数值,优化数据还包括记录的被删除的原始数据的个数值。。从而使得目标位置的使用者获知数据优化的范围和程度,从而更好的控制误差。
例如,在以上实例中,判断模块20在判断数据T2:40.1与第一比较值0的绝对差值小于第二比较值,并删除数据T2:40.1之后,启动计数器,此时计数器为1,并在判断模块20每次判断当前数据与第一比较值的绝对差值小于第二比较值,并删除当前数据之后,计数器加1,从而得到被删除数据范围内的数据个数,如上表3所示。
例如,在上表中,T1列下对应个数为7,即原始数据中T1-T8之间被删除数据范围内具有7个数据,数据被删除6个。
请参考图5,本发明一实施例的一种数据传输方法,包括步骤:
S10:收集模块10收集多个传感节点发送的多个原始数据。
例如,多个传感节点感测得到无线传感器网络覆盖区域内感测对象的20
组温度数据,数据传输装置100的收集模块10收集20组温度数据T1-T20以形成原始数据。如上表1。
S11:判断模块20获取多个原始数据中的一个当前数据。
S13:判断模块20判断当前数据与第一比较值的绝对差值是否小于第二比较值,是则转至步骤S14,否则转至步骤S15。
设置第一比较值和第二比较值,并将第一比较值的初始值设为0,第二比较值设置为0.5。其中第二比较值为自设值,根据实际需求灵活设置。
首先获取原始数据中的第一个数据T1:40.1,判断模块20判断当前数据T1:40.1与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为0,第二比较值的值为0.5,当前数据T1:40.1与第一比较值的绝对差值为40.1大于第二比较值0.5,因此在缓存40中存储当前数据T1:40.1,并将当前数据T1的值40.1赋予第一比较值,第一比较值的值此时变更为40.1。
S14:判断模块20删除当前数据后回到步骤S11。
S15:判断模块20存储当前数据以得到优化数据,并将当前数据的值赋予第一比较值后回到步骤S11。
完成之后获取原始数据中的第二个数据T2:40.1。判断模块20判断数据T2:40.1与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为40.1,第二比较值的值为0.5,数据T2:40.1与第一比较值的绝对差值为0小于第二比较值0.5,因此删除数据T2:40.1,完成之后继续获取原始数据中的下一个数据T3:40.2。
判断模块20判断数据T3:40.2与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为40.1,第二比较值的值为0.5,数据T3:40.2与第一比较值的绝对差值为0.1仍然小于第二比较值0.5,因此删除数据T3:40.2,完成之后继续获取原始数据中的下一个数据T4:40.2。
直至获取到原始数据中的数据T8:40.6,此时判断模块20判断数据T8:40.6与第一比较值的绝对差值是否大于第二比较值,此时,第一比较值为40.1,第二比较值的值为0.5,数据T8:40.6与第一比较值的绝对差值为0.5不小于第二比较值0.5,因此存储当前数据T8:40.6,并将当前数据T8的值40.6赋予第一比较值,第一比较值的值此时变更为40.6。完成之后继续获取原始数据中的下一个数据T9:40.8。
依次类推,判断模块20在每次判断当前数据与第一比较值的绝对差值是否小于第二比较值,是则删除当前数据,否则存储当前数据后得到优化数据,优化数据如上表2所示。
S16:发送模块30将优化数据存储于缓存40中。
S17:发送模块30判断缓存40的剩余容量是否达到预设值,是则进入步骤S18,否则回到步骤S16。
在本实施例中,将优化数据存储于缓存40中,在判断缓存40的剩余容量达到预设值时发送模块30才传输缓存40中的优化数据至目标位置。例如,预设值设置为缓存40容量的20%,当发现缓存40的剩余容量还有30%,即缓存40中的数据容量占缓存40整体容量为70%,此时不传输优化数据至目标位置,当缓存40中的数据容量达到缓存40整体容量为80%达到预设值时,则打包传输缓存40中的优化数据至目标位置,做到定量发送,从而更有效率,节约资源。
S18:发送模块30传输缓存中的优化数据至目标位置。
在本实施例中,步骤S13:判断模块20判断当前数据与第一比较值的绝对差值是否小于第二比较值之前还包括:
步骤S12:判断模块20判断当前数据是否在预设范围外,是则转至步骤S13,否则转至步骤S19。
步骤S19:判断模块20存储当前数据以得到高优先级数据。
步骤S20:发送模块30传输高优先级数据至目标位置。
在本实施例中,判断模块20先判断每一当前数据是否在预设范围之外,并将在预设范围之外的原始数据存储以得到高优先级数据,发送模块30还用于将高优先级数据优先传输至目标位置。
其中,设置第三比较值、上限值和下限值,其中,第三比较值、上限值和下限值均为自设值,使用者根据不同的用于环境设置为不同值,从而将数据区分为高优先级数据和低优先级数据。第三比较值为感测的特定数据的安全中心值,上限值和下限值形成感测数据的安全误差边界,第三比较值、上限值和下限值形成感测数据的安全范围。判断模块20先判断每一当前数据与第三比较值的差值是否大于上限值且小于下限值,是则判断为低优先级数据,进行数据优化流程,否则判断为高优先级数据,直接传输当前数据至目标位置,不进行任何处理,从而对高优先级的数据及时传输,减少碰撞,对高优先级数据使用信标使能模式,并向网络协调点申请预留时隙形成无竞争期,而在无竞争期中数据直接进行通信。对低优先级的数据才进行细致的数据优化处理,从而在满足对高优先级的数据及时传输时,尽可能的节省能耗,提高效率。
例如,将第三比较值设置为人的体温平均值37度,上限值设置为10度,下限值设置为-5度,即此时预设范围为32~47。当无线传感器网络传回的温度数据,例如T21:60,与第三比较值的差值23超出上限值,即温度数据T21:60在预设范围32~47之外,说明此时感测的环境温度具有人体危害性,需要及时传输以被使用者获知,此时T21温度数据即为高优先级的数据。当无线传感器网络传回的温度数据,例如T10:41,与第三比较值的差值4在上限值和下限值范围(-5~10)之内,即温度数据T10:41在预设范围32~47之内,此时T10温度数据即为低优先级的数据,不需要及时传输,则进行数据优化流程。第三比较值也可以设置为其他温度数据,例如易燃物的燃点临界温度或者路面结冰温度等。