传感器网络节点代码升级管理中间件、方法及应用技术

技术编号:9198076 阅读:153 留言:0更新日期:2013-09-26 02:19
本发明专利技术涉及一种传感器网络节点代码升级管理中间件、方法及应用,其特征在于代码升级管理中间件作为一个中间体位于底层模块和应用模块之间;作为一个基本中间件子集,起运行代码管理服务,为整个系统的维护升级提供解决方案;所述的传感器网络包括普通节点和传感器网络管理服务节点。底层模块与中间件模块的划分;网络使用的不同的无线或有线传输模块,只需要更换底层模块驱动。所述中间件内置于节点和网络管理服务节点内部。中间件升级依次包括以下四个过程:a)升级包构建管理;b)升级包网络传输采用无线传输方式;c)升级包接受与预处理;d)升级过程管理。本发明专利技术利用中间体技术,最大限度的应用于不同架构的硬件系统内,统一了升级接口、规范了升级步骤。

【技术实现步骤摘要】
一种传感器网络节点代码升级管理中间件的升级方法
本专利技术涉及传感器网络中间件领域,特别是涉及一种传感器网络节点代码升级管理中间件的升级方法。
技术介绍
传感网是由大量多种类传感节点组成的自治网络,实现对物理世界的智能协同感知,是以感知为目的的物物互联综合信息系统。传感网作为信息技术前沿领域,将改变未来人们的生活方式,对国家安全、经济和社会发展产生重大影响。传感网具有高度创造性、渗透性和带动性,在工业、农业、军事、环境、电力、交通、医疗、家居、公共安全等领域具有重大的应用价值,还将在许多新兴领域体现其优越性,如保健、媒体、咨询等领域。虽然我国的传感网技术及其应用的研究几乎与发达国家同步启动,但投入相对较少。由于目前传感网缺乏统一的标准体系,设备种类和功能繁杂,节点的升级维护各自为政,无法互通,没有形成一个统一的升级管理方法。长期以来,传感网的统一标准一直没有真正出台,包括传感器网络升级管理中间件。传感网节点的升级管理中间件是一个重点也是难点,它能有效解决节点远程模块升级,提高节点管理效率,降低管理成本。与中国科学院上海微系统与信息技术研究所作为申请人先前提出的“一种对无线传感器网络中的节点进行无线升级的方法(申请号:201210156913.3)”专利技术专利申请比较,本专利技术拟从下述六方面作改进:1)所述的中间件不仅仅是升级网络节点代码,还应具有对网络节点代码进行管理的功能;2)所述的中间件应适用于多种传感器网络,也就是所谓的可以跨平台,可以适用于多种不同的厂家和型号的单片机,而不是单一的硬件平台;3)可以对传感器网络的节点的程序进行模块的选择化升级,而不是一次性全部升级,这样节约了升级成本,可以大大缩短升级时间;4)通过编译器的链接器对软件系统进行了逻辑划分,总体上分为应用、驱动、中间件三大块,提高了中间件的可移植性和可维护性;5)由于程序的逻辑划分,尤其是驱动层的划分,中间件可以适用于各种传输方式,可以是无线方式,也可以是有线方式,只要用户对驱动进行重新升级即可。6)升级过程包含模块版本管理过程,因此当某个模块被升级同时,模块内部相关的其他模块的版本如果过低,也可以进行关联升级,提高了升级效率和智能性。以上几方面的改进,构筑了本专利技术的构思。
技术实现思路
本专利技术的目的在于提供一种传感器网络节点代码升级管理中间件的升级方法,所述的中间件能统一对不同处理器的传感器网络节点的进行代码管理和升级维护,形成标准的代码管理中间件。代码升级管理中间件作为一个中间件它位于底层模块和应用模块之间,作为一个基本中间件子集,能够运行代码管理服务,为整个系统的维护升级提供解决方案。如图1所示:所述的底层模块可以任何驱动模块和操作系统模块,该方法能够对驱动模块和操作系统进行升级;所述的中间件模块可以是任何中间件模块,也可以是网络节点代码升级管理中间件本身,该方法能够对任意某个中间件进行升级;所述的应用模块指的是在底层操作系统和中间件之上的任何应用模块,可以是单个模块,也可以是多个应用模块的集合,该方法能够对单个或多个应用模块进行升级;底层与中间件的划分,是本专利技术的特点之一。如果网络使用的不同的无线或有线传输模块,那么只需要更换底层驱动即可。而底层驱动对上层中间件提供统一的传输接口,C语言描述如下:BoolHalDataSend(char*pkt,int16len)表示报文数据的传输,其中pkt表示被传输的报文的首地址,len表示该被传输报文的长度。另外底层驱动需要提供的接口是存储器的操作接口,C语言描述如下:BoolHalFlashReaseAll()表示擦除整个Flash;BoolHalFlashRease(char*addr)表示对addr所指地址段Flash的擦除;BoolHalFlashWrite(char*addr,char*data,int16len)表示往addr地址的Flash段写入长度为len的数据data;代码管理中间件只需调用上述几个固定标准的驱动接口即可,体现了中间件的分层思想。代码升级管理可以对上层的应用模块、中间件自身的模块以及底层的OS(OperateSystem)、协议栈和硬件驱动的镜像模块进行远程更新,升级过过如图2所示。在设备的存储区域中有一个专门的空间,用来存放三个区的起始和结束地址如图3所示,起始地址的值写入可以通过编译器软件的链接器事先指定。节点平时处于一般的应用程序运行状态,当接收到来自网络管理节点升级命令,节点的升级管理中间件将节点的状态切换至升级状态,即立即执行升级模块代码,升级可以针对特定某个节点也可以对部分节点,甚至整个网络进行升级,当对部分或者整个网络进行升级时使用扩散传输方式。整个升级过程依次描述为:升级包构建管理升级包构建管理运行在网络管理节点上,它通过版本管理、升级模式判断和传输准备等服务,将需要部署的新模块转换成适合网络传输的升级包。其中,版本管理服务建立了中间件与应用模块之间的版本依赖关系列表,并维护着传感网模块更新历史记录表。当新模块所调用的其它模块的版本高于传感网节点上运行的模块版本时,版本管理服务就会先启动对这些低版本模块的升级任务。升级模式判断服务先对新旧模块进行比较,再根据模块本身和增量内容的大小,通过一定的算法分别计算出增量升级和整体升级的能耗,然后选择出最佳的升级模式。如果新模块仅改变了少量的代码而模块本身又很大,则应该选择增量升级模式,通过传输代码的差异部分而非整个模块来减少不必要的带宽开销;然而当模块修改幅度过大、或者传感器节点上并无旧模块时,则应使用整体升级模式,免去节点做增量更新时耗时的内存操作。传输准备服务首先会判断模块是否能够装载在目标节点上,如果目标节点容量已经无法容纳新模块,则升级直接宣告失败,而如果可以容纳,那么将继续升级过程。接下来,将升级代码分段打包封装,加上包头,并计算CRC校验码,为升级包在网络中的传输做准备工作。升级包网络传输升级包经过构建管理环节封装好之后,还需要通过网络传输环节使用广播扩散和周期性版本比较的方式将其快速、可靠地发布到网络中的各个节点。广播扩散服务又可以按照升级对象分为网络整体升级和网络局部升级,网络整体升级需要研发低功耗、收敛速度快、可靠性高的广播协议;而网络局部升级则需要研发高效的多播、路由协议。一般的广播协议难以保证全网络覆盖的可靠性(特别是移动节点),各节点还可以通过版本比较的方式保证可靠性:每个节点周期性和邻居节点交换模块版本索引,如邻居节点有新版本的模块则向其发送模块请求,邻居节点收到模块请求后发送模块的升级包,此方式也有助于升级模块的扩散。升级包接收与预处理节点接收到第一个升级包,并处理完包头信息后,先为整个升级模块的存放分配存储空间;在接收后续的升级包时,检查序列号的连贯性,并对丢失的包发送重传请求;直到新模块的所有升级包都被完整接收后,再根据升级类型还原出升级模块的完整代码。在存储空间分配时,可以根据升级模块的大小和节点MCU内部自由存储空间的余量选择合适的分配方案。如果内部存储空间足够放置升级模块,则应该使用内部空间分配的方式来避免对外接Flash的低速操作;然而当内部存储空间不足时,只能使用大容量的外接Flash来存放升级模块。丢包重传的设计可以借鉴TCPreno(Transm本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201310204922.html" title="传感器网络节点代码升级管理中间件、方法及应用原文来自X技术">传感器网络节点代码升级管理中间件、方法及应用</a>

【技术保护点】
一种传感器网络节点代码升级管理中间件,其特征在于代码升级管理中间件作为一个中间体位于底层模块和应用模块之间;作为一个基本中间件子集,起运行代码管理服务,为整个系统的维护升级提供解决方案;所述的传感器网络包括普通节点和传感器网络管理服务节点。

【技术特征摘要】
1.一种传感器网络节点代码升级管理中间件的升级方法,其特征在于所述升级方法包括以下四个过程:a)升级包构建管理,所述升级包构建管理运行在网络管理服务节点上,通过版本管理、升级模式判断和传输准备服务,将需要部署的新模块转换成适合网络传输的升级包;b)升级包网络传输,所述的升级包网络传输采用无线传输方式,采用比较扩散方式,实现单个节点或区域性节点的升级;c)升级包接收与预处理,完成代码完整性检查和代码空间开辟;d)升级过程管理,负责模块升级前的预处理和升级时机的选择,并在升级时使用新模块替换旧模块,在升级后对新模块进行初始化、回收旧模块空间...

【专利技术属性】
技术研发人员:赵康
申请(专利权)人:中国科学院上海微系统与信息技术研究所
类型:发明
国别省市:

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

1