- 0
- 0
- 约1.06千字
- 约 3页
- 2023-09-21 发布于江苏
- 举报
Lesson12 网络协议
• 介绍两种基本的多跳协议:分发 (Dissemination)
收集 (Collection)。
• 分发协议可以可靠地传送小数据项到网络中的每
一个节点。
• 收集协议则可以把网络中每个节点的小数据项传
递到指定的根节点。
一、分发协议
• 分发协议主要用于实现共享变量的网络一致性。网络中
的每一个节点都保存 该共享变量的一个副本。
• 在任意给定时刻,可能会 2个节点的变量值不相同。但
随着时间的流逝,不一致的节点数会越来越少,最终整
个网络都将统一于一个相同的变量值。
• 网络的一致性并不意味着每个节点都能够发现变量值的
所 变动,它仅仅表示网络最终会在最新的变量值上达
成一致。
• 能够将小数据分发到整个网络中,这个功能特性对于传
感器网络的应用而言是非常 用的。它允许管理员向网
络注入小段程序、命令以及配置信息。
1.1 分发协议的接口
• 两个接口:DisseminationValue和DisseminationUpdate接口。前 适
用于分发数据的消费 (接收从网络中分发过来的数据),
后 适用于生产 (产生需分发的数据)。
interface DisseminationValuet {
command const t* get();
event void changed();
}
• 当分发的变量值发生改变时,就会触发changed()事件,再
进行相应处理。消费 能够通过DisseminationValue.get()获
取const类型的指针指向数据区域。
interface DisseminationUpdatet {
command void change(t* newVal);
}
• 调用change()命令会隐式地使其函数参数成为最新的分发值,
并将其分发给网络中的每一个节点。
原创力文档

文档评论(0)