发明名称 一种无线传感器网络的在线渐进式程序更新方法
摘要 一种无线传感器网络的在线渐进式程序更新方法,属于无线传感器网络技术领域,其特征在于,对无线传感器网络节点的程序存储空间划分成离散的功能模块,设置了一个更新辅助模块来删除、替换、添加嵌入式节点需要更新的功能模块,并以无线传感器网络中的汇集节点作为更新源节点,以洪泛方式结合点到点方式高效实现更新指令的下达和更新数据的传递,从而实现程序的在线渐进式更新,具有:减少更新数据量,提高代码重用性,减少更新过程对于网络资源的消耗,降低更新失败率的优点,保证了无线传感器网络的正常无间断运行。
申请公布号 CN102665196A 申请公布日期 2012.09.12
申请号 CN201210135185.8 申请日期 2012.04.28
申请人 清华大学 发明人 李让坤;王鹏军;刘伟;罗洪;徐淑正;杨华中
分类号 H04W8/24(2009.01)I;H04W88/18(2009.01)I;H04L1/00(2006.01)I 主分类号 H04W8/24(2009.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 楼艮基
主权项 一种无线传感器网络的在线渐进式程序更新方法,其特征在于,依次含有以下步骤:步骤(1)构造无线传感器网络节点:所述无线传感器网络节点是一个至少包括嵌入式的处理器、存储器、内存和外部设备在内的嵌入式系统,所述存储器根据存储的内容划分为程序存储空间和数据存储空间,所述程序存储空间根据所述无线传感器网络节点的各项不同的功能分为若干个离散的功能模块,每个所述功能模块对应于所述程序存储空间的一个映像文件,完整的程序至少包括:更新辅助模块、网络路由模块、能量收集管理模块、传感数据采集模块以及定位算法模块,所述更新辅助模块在待更新节点接收到更新映像文件后,辅助完成所述无线传感器网络节点的升级更新和重启,所述待更新节点为所述无线传感器网络中需要更新的全部或某一类无线传感器网络节点,包括更新源节点在内的全部的所述无线传感器网络节点都有唯一的序号,所述更新是指渐进式在线程序更新,每次只更新其中的某个或某几个功能模块,更新的结果为程序存储空间中的相应的功能模块被替换、删除或添加,每个所述映像文件在所述程序存储空间中的存储结构由索引部分和函数体部分构成,所述函数体部分由若干个函数子模块构成,所述索引部分位于所述映像文件的起始位置,由各个所述函数子模块的名称和对应的入口地址构成,所述嵌入式的处理器通过调用所述功能模块的函数子模块来实现功能模块的相应的功能,所述调用是指所述嵌入式的处理器查询所述功能模块对应的映像文件的索引部分,获得所述函数子模块的入口地址,并跳转到所述入口地址执行程序指令,所述数据存储空间用于暂存更新映像文件,步骤(2)无线传感器网络执行在线渐进式程序更新,其步骤如下:步骤(2.1)更新源节点向待更新的无线传感器网络以洪泛的方式发送更新开始指令,包括:更新目标节点的类型标识、更新功能模块的名称、更新版本信息,所述更新源节点是所述无线传感器网络中的汇集节点,步骤(2.2)所述待更新的无线传感器网络的各个节点分析接收到的更新开始指令,判断更新目标节点的类型标识符合当前无线传感器网络节点的类型,且更新版本高于对应的功能模块的当前版本,则当前无线传感器网络节点成为所述待更新节点,进入监听和接收状态,步骤(2.3)所述更新源节点把新版本的功能模块的更新映像文件拆分为多个适合传输大小的更新数据包,包含有:功能模块名称、数据包分拆序号、分包数据以及CRC校验信 息,并按数据包分拆序号依次以洪泛方式发送到所述待更新的无线传感器网络,步骤(2.4)所述待更新节点接收到所述更新源节点发送的更新数据包之后,把CRC校验正确的更新数据包按照数据包分拆序号重新组成更新映像文件,写入所述数据存储空间中,步骤(2.5)所述待更新节点统计接收到的更新数据包的信息:若:有缺失的更新数据包,则点对点地向所述更新源节点发送缺包反馈信息,包括:缺失包的数据包分拆序号和所述待更新节点的序号,若:更新映像文件接收成功,则点对点地向所述更新源节点发送成功反馈信息,包括:所述待更新节点的序号,所述缺失包是指:数据包分拆序号丢失的更新数据包,CRC校验错误的更新数据包和超过接收时间门槛尚未接收到的更新数据包中的任何一种,所述接收时间门槛为5分钟~50分钟范围内的预设值,所述接收成功是指,收到序号连续的所有更新数据包并全部通过CRC校验,步骤(2.6)更新源节点动态的接收并统计所述待更新节点的缺包反馈信息和成功反馈信息,新的缺包反馈信息会覆盖待更新节点之前的缺包反馈信息,新的成功反馈信息会清零待更新节点之前的缺包反馈信息,所述更新源节点根据更新成功率和更新消耗的时间来决定缺包重发或者结束更新:若:更新成功率超过更新成功率门槛或者更新消耗的时间超过了更新时间门槛,则结束更新,所述更新源节点向所述无线传感器网络洪泛发送更新结束指令,否则:所述更新源节点向所述无线传感器网络优先重新洪泛发送缺包统计较多的更新数据包,所述更新成功率是指更新成功的待更新节点的数量与待更新节点的总数的比值,所述更新成功率门槛为80%~90%范围内的预设值,所述更新时间门槛为10分钟~100分钟范围内的预设值,步骤(2.7)更新映像文件接收成功的所述待更新节点接收到所述更新结束指令之后,调用所述更新辅助模块把更新映像文件从所述数据存储空间写入到对应的程序存储空间,再进行节点重启,运行新的程序版本,步骤(2.8)对于更新失败的所述待更新节点按步骤(2.1)到步骤(2.7)的过程采取点对点的指令和更新数据包的传输方式进行更新。
地址 100084 北京市海淀区清华园1号