- 1 -
南京航空航天大学
计算机科学与技术学院/人工智能学院
计算机网络实验设计报告
课 题: 物联网通信模拟实验
姓 名:
学 号:
班 级: 304
时 间: 2023/4/9
- 1 -
1实验分析和设计
1.1用例分析
1. 无线传感器节点进程用例分析
发送数据。
因为本实验是模拟实验,所以即使监听到两个事件,这些工作也是可以在一个方法中完成的,本
实验在一个方法中产生了两个事件的信息。但是,即便两个事件是在一个方法中产生的,在发送数据时
也是按照独立的方式进行的。
对于簇成员节点进程来说,如果有火情数据,则节点需要发送两次数据(火情和温度两个事件)给
簇头节点进程。
如果一个节点进程被指定为当前的簇头节点,则该进程应该以多线程的方式收取其他成员节点进
程的数据。如果是火情数据,则立即上报给汇聚节点进程,如果是温度数据,则在进行必要的数据处理
工作后再上报。
无线传感器节点进程的用例图如图20-3所示。
- 1 -
数据发送用例是无线传感器节点的重要工作,这里以数据发送用例为例,其用例描述如表20-1所
示。
表20-1数据发送用例描述
名称
标识
数据发送用例
UC0102
描述
1.产生感知火情信息和温度信息,形成数据。
2.如果自己是簇成员,则把数据发给簇头,结束处理。
3.如果自己是簇头,并且获得了火情数据,则需要立即转发该数据给汇聚节点进程。
4.收集其他节点进程发来的温度数据,直到所有节点的温度数据都收集完毕,或者等
待时
间超过了2s。
5.进行数据的清洗(超过温度范围的需要去除)和融合(区域号和时间相同的需要取
平均值)。
6.将数据发送给汇聚节点进程
前提
结果
定时器到时,采集外界事件(温度、火情)
数据发给簇头或者汇聚节点
注意
由于无线传感器网络的特性,无须太在意地址问题(无线传感器网络路由算法的特性
之一
是不关心地址)。但是在编程的时候,为了能够将数据发送给指定的角色,不得不关
注地址。
温度数据和火情数据的发送过程需要相互独立。
这个用例的相关工作实际上需要两个线程完成,一个需要定期产生数据并发送,另一
个监
听其他簇成员节点进程发来的数据
2.汇聚节点汇聚进程用例分析
汇聚节点进程(B)承担着网关的作用,其主要工作包括以下几项:接收来自无线传感器节点进程(
当前承担簇头角色的节点进程)的信息、进行合并后转发给数据服务器进程。 为了能够及时、并行地
收取每一个簇头节点进程发来的信息,这些任务应该以多线程的机制进行工作。
汇聚节点进程的用例图如图20-4所示。可见工作不是太多。
- 1 -
图20-4 汇聚节点进程的用例图
这里以接收信息用例为例进行讲解,其用例描述如表20-2所示。
表20-2接收信息用例描述
名称
标识
接收信息用例
UC0201
1.接收来自簇头的环境信息。
2.如果是火情信息,则转换报文(从无线传感器网络的报文转换为IP报文)后立即发给数据
服务器,结束。
描述
3.进行错误数据的清洗(超过温度范围的数据需要清除)。
4.收集完所有簇头进程的温度数据,或者超过2s后认为已经收集完毕。
5.进行信息的合并。
6.转换报文并最终转发给数据服务器
前提
已经收到簇头进程发来的信息
结果
数据收集完毕后发给数据服务器
注意
1.簇头是会变化的,不能因为簇头变化就导致异常。
2.虽然在实验中汇聚节点的数据清洗功能的作用不大,但是在野外或者工厂,农场等环境
下感知错误或者进行低功率无线传输的时候,对于数据出错的情况不得不加以考虑。
3.因为需要进行是否收齐的判断,所以汇聚节点进程需要知道自己管理了哪些簇
3.数据服务器进程用例分析
数据服务器进程(A)完成数据的收集和保存,并进行展示。该进程工作较少。力了能够及时地收
取汇聚节点进程的数据,这里应采用多线程机制完成。数据服务器进程的用例图如图20-5所示。
- 1 -
图20-5数据服务器进程的用例图
表20-3接收信息用例描述
名称
接收信息用例
标识
UC0301
描述
1.接收到来自汇聚节点的信息。
2.进行信息汇总和保存。
3.进行展示或者报警
前提
已经收到汇聚节点进程发来的信息
结果
信息保存和处理完毕,进行展示或报警
注意
应借助于数据库技术完成保存、查询和统计的相关工作,需要读者自己学习如何使用数
据库
1.2时序图
本实验的时序图如图20-6所示。由于在实验中涉及的进程太多,这里仅以部分节点进程
为代表、以发送温度数据为例进行描述。对于火情数据,相关节点进程无须进行等待、收集
和处理的工作。