发明名称 基于曼迪斯的无线传感器网络移动代理平台的开发方法
摘要 基于曼迪斯的移动代理平台开发方法是一种基于无线传感器网络技术和分布式计算的解决方案。主要解决无线传感器网络中动态重新编程的问题,实现移动代理开发平台,本发明中移动代理执行平台架构在曼迪斯之上,并管理节点上运行的所有代理。整个移动代理平台的开发模型分为三层,最上层为移动代理部分,由用户通过无线网络或者串口插入到节点之上,中间层是移动代理执行平台,是整个发明的核心部分。最下层是无线传感器网络操作系统平台曼迪斯,主要负责提供移动代理执行平台的运行环境。节点上应用程序具备动态可更改性以适应不同的应用需求,节点间采用移动代理技术进行交互协作完成指定的任务,整个应用程序的开发屏蔽底层操作系统。
申请公布号 CN100428154C 申请公布日期 2008.10.22
申请号 CN200710019497.1 申请日期 2007.01.29
申请人 南京邮电大学 发明人 王汝传;段飞霞;孙力娟;黄海平;陈志
分类号 G06F9/44(2006.01);G06F9/46(2006.01);G06F11/36(2006.01);H04L12/24(2006.01) 主分类号 G06F9/44(2006.01)
代理机构 南京经纬专利商标代理有限公司 代理人 叶连生
主权项 1.一种基于曼迪斯的无线传感器网络移动代理平台的开发方法,其特征在于移动代理执行平台的开发方法所包含的步骤为:步骤1).将移动代理平台分为平台信息管理模块、代理管理模块、指令系统模块以及二者之间交互的指令中转模块,步骤2).对步骤1)中得到的平台信息管理模块分成节点信息管理模块和平台网络管理模块,将代理管理模块分成代理运行管理模块、代理迁移管理模块,将指令系统模块按照汇编语言规则进行分类,可划分为基本运算指令模块,代理操作指令模块,程序控制指令模块,设备控制指令模块,栈操作模块,步骤3).由步骤2)所得到的结果,将节点信息管理模块划分为节点位置信息管理模块、节点邻居信息管理模块、网格信息管理模块,将平台网络管理模块分为平台网络消息发送管理模块以及平台网络信息接收模块,将代理运行管理模块划分为代理运行队列管理模块以及代理运行状态管理模块,将代理迁移管理模块进一步划分为代理接收模块和代理迁移模块,步骤4).将步骤3)产生的平台网络信息接收模块以及节点位置信息管理模块结合曼迪斯多线程的特点采用线程的方式实现,同时采用曼迪斯提供的网络消息发送接口实现平台网络消息发送管理模块,步骤5).将步骤4)所实现的模块编译并加载到节点上进行测试,测试时,节点位置信息管理模块利用平台网络消息发送管理模块提供的接口广播节点的位置消息,规定节点的位置消息包为四字节大小,前两个字节保存节点横坐标,后两个字节保存节点纵坐标,平台网络信息接收模块负责接收网络中的节点消息,如果接收到的数据包格式以及内容一致进行下一步,否则回到步骤4)进行流程分析,步骤6).将步骤3)中产生的网格信息管理模块编译并加载到平台中,回到步骤5),如果网格信息管理模块能够根据节点的号码采用线性算法产生节点的横纵坐标,并且平台网络信息接收模块所接收的内容与网格信息管理模块所产生的坐标一致,进行下一步,否则回到步骤3)重新设计网格信息管理模块以及节点邻居信息管理模块,步骤7).在步骤3)中产生的节点邻居信息管理模块中添加节点邻居信息的添加、删除、检查、搜索、更新功能,加载到平台中,在平台网络信息接收模块中添加接口实现根据网络中收到的节点位置信息动态的修改节点邻居信息管理模块中的节点邻居信息,修改成功,进行下一步,否则回到步骤7),步骤8).将步骤3)中的代理运行队列管理模块采用队列的方式实现代理的插入、删除功能,在代理运行状态管理模块中结合代理运行队列管理模块中提供的功能实现代理的状态管理,包括停止,迁移,挂起,运行,睡眠状态,代理运行状态如果能够成功切换,进行下一步,否则回到步骤8),步骤9).根据步骤8)的代理运行状态管理模块提供的代理运行接口,通过指令预取的方式实现步骤1)中的指令中转模块,测试时,固定代理的指令码为0x17,如果能够读取指令,并能够运行代理,进行下一步,否则回到步骤9),步骤10).根据步骤8)的代理运行状态管理模块提供的代理迁移接口,鉴于无线网络传输可靠性比较差以及传输带宽限制的特点,采用多次发送、代理分片以及数据包应答机制实现步骤3)中的代理接收模块以及代理迁移模块,如果包含迁移指令的代理迁移成功,进行下一步,否则回到步骤10),步骤11).采用四则运算以及与或非运算来实现步骤2)中的基本运算指令模块;采用压栈出栈操作来实现步骤2)中的栈操作模块;采用跳转指令来实现步骤2)中的程序控制指令模块;由曼迪斯提供的设备驱动接口实现步骤2)中的设备控制指令模块,包括读写节点设备操作,然后测试这些指令的输入与经过指令运算以后的结果是否相匹配来判断每个指令模块的实现是否成功,是,则进行下一步,否则回到步骤11),步骤12).结合指令中转模块以及步骤11)中各指令模块,测试步骤11)实现的每条指令,观察指令的运行结果,如果运行正确,进行下一步,否则回到步骤11),步骤13).将不同的指令组合在一起进行系统测试,包括运算指令、程序控制指令、代理迁移指令、栈操作指令、设备控制指令,并在网络中部署节点,利用曼迪斯提供的二进制代码装载程序将平台导入传感器节点进行测试,测试内容为代理指令运算是否正常,代理能否在网络中进行迁移,如果失败,回到步骤12)。
地址 210003江苏省南京市新模范马路66号