摘要:本文提出了一种基于命名数据网络的家庭能源管理系统的设计与实现。结合家庭能源管理的应用场景,提出了一种与之适应的命名机制,通过发布订阅机制实现用电设备接入网络自动配置管理的功能。使用NDN(Named Data Networking,命名数据网络)框架完成系统的开发并仿真系统的运行。实验结果显示,系统能够有效地调度家庭用电设备,系统灵活性有较大的提升,能够应对断网断电等情况,消除了设备与地址绑定带来的一些问题。通过电价预测机制,保证可调度设备避开用电高峰,实现了基于响应电价的调度方式,平衡用电负载。
研究背景
家庭能源管理系统负责监控电器设备运行状态,收集设备能耗数据,结合温湿度传感器的数据和预测电价调度设备运行。同时系统提供数据查询服务,用户可以实时查询设备运行状态、能耗信息、历史电费等。传统的家庭能源管理系统是基于TCP/IP网络架构设计的,TCP/IP网络是一种端到端传输的网络,通过IP地址进行路由转发。IP数据包长度较长且本身不包含安全机制,数据的安全传输通常还需要附加安全策略。系统需要通过网络采集设备的相关信息,在TCP/IP网络中,系统需要建立设备与IP地址的对应关系。设备增多导致的IP地址对应关系逐渐复杂、设备地址更新延迟都会对系统的准确性造成一定影响。命名数据网络(NDN)[1][2]是信息中心网络(ICN)中的一种实现,网络基于数据命名进行路由与转发,通过对应命名的数据包获取数据,避免了地址绑定,提高系统灵活性。兴趣包命中数据后,数据包沿兴趣包转发的路径返回,减少了数据包再寻址时间,提高了网络的效率。NDN网络采用秘钥加密方式对数据进行签名加密,保证了数据的安全性,网络基于发布订阅模式[3][4]简化了业务流程。网络具有的缓存功能可以提高网络获取数据的效率。
文献[5]提出了一种基于NDN网络的命名方式,论述了该命名的工作方式,文献论证了NDN安全机制对用户敏感数据的安全保证,但文献没有将这种命名方式与智能调度相结合,只是介绍了一种命名方式的实现。文献[6]提出了一种基于TCP/IP网络的家庭能源管理系统,系统基于ZigBee无线传输技术的数据采集方式,但一个ZigBee模块需要对应到一个电器设备,仍然具有地址绑定问题。文献[7]主要对智能电网背景下智能电表和智能终端的功能需求进行了分析,尝试使用传统的网络模型实现智能设备的通信,但仍需要建立设备与地址的对应关系,地址绑定问题没有得到解决。
NDN的工作机制
NDN网络使用数据命名进行路由转发,基于发布订阅机制,通过兴趣包与数据包交互完成数据传输,不存在地址转换问题,也不用关心数据源主机的IP地址,从而减少数据的传输时延[8]。NDN网络中存在两种类型的数据包:兴趣包和数据包。NDN网络具有缓存功能,请求相同数据的兴趣包可以在网络缓存节点命中数据减少了获取数据包的时延。
转发机制
NDN网络具有三个重要结构,转发信息表(Forwarding Information Base,FIB)、转发请求表(Pending Interest Table,PIT)、内容仓库(Content Store,CS)。NDN网络利用这三张表存储的信息实现路由转发,使用接口对数据传输的接口进行抽象。FIB表存储已经得到数据包响应的兴趣包信息和转发的接口,通过FIB表将兴趣包转发给能够匹配包含数据的终端,并转发多个接口。PIT存储已经被转发并且等待数据包返回的兴趣包信息,包括转入接口、兴趣包名称以及转出接口。CS用来缓存经过该节点的数据包,当有重复数据请求兴趣包经过的时候,可以从就近节点的CS命中数据,而不必再向下转发,进而减少了网络的流量。
转发过程
NDN网络兴趣包和数据包转发过程如图1所示。生产者将数据命名发布到网络中,路径上的路由节点更新FIB表。路由节点收到兴趣包时,首先检索CS缓存的数据,若存在,则从该节点直接返回数据包。若不存在,则查询PIT表检查是否已经转发过相同命名的兴趣包,若存在则只更新对应的接口信息,若不存在则添加一条兴趣包命名和端口的记录,并根据FIB表的信息进行下一步转发。若FIB表中不存在记录,直接丢弃该兴趣包。当路由节点收到数据包时,首先查询PIT表,若表中有对应的兴趣包记录,则在当前节点缓存数据包然后转发,若不存在记录,直接丢弃该数据包。
基于NDN的家庭能源管理系统
概述
基于NDN网络的家庭能源管理系统采用发布订阅模式,使用NDN层次化命名方式。电器设备接入网络后发布能耗数据命名和设备参数命名到网络,路由节点更新FIB表信息。数据采集模块发送兴趣包完成数据的采集过程,采用统一规则发送兴趣包可以通过命名解析以获得设备名称和位置信息,从一定程度上解决了地址绑定问题。系统通过ARIMA模型对电价进行预测[9],基于历史电价建立预测模型,结合设备类型和预测电价实现基于电价影响因素的调度。
命名机制
基于NDN的家庭能源管理系统采用标准的NDN层次化命名规则,具有良好的可读性,同时具有良好的可聚合性,可以有效减小路由表的大小。系统根据行为的不同,将命名分为两类,一类是查询行为的命名,主要功能是对电器设备的运行状态、能耗数据进行查询,以/query作为前缀。例如查询设备的能耗数据兴趣包名称为/houseID/query/roomID/deviceType/data,则houseID作为当前家庭环境下所有命名的根节点,以家庭的编号进行命名。roomID表示设备所在的房间用来区别不同位置相同类型的设备。deviceType为查询设备的名称,用设备名称进行命名;另一类是调度类命名,以/conf作为前缀,开启客厅灯的命名为/houseID/conf/livingroom/light/on,当兴趣包到达设备后,设备状态发生转换。
系统模块
基于NDN的家庭能源管理系统包含电价预测、数据采集、设备控制、数据展示等模块,模块间数据交换的过程如图2所示。数据采集:数据采集模块负责实时采集家庭电器设备的能耗数据和传感器数据。采集模块上运行的数据采集进程实时发送兴趣包到网络中,网络转发数据包到对应的设备,当命中数据后设备运行能耗数据按照兴趣包转发的路径原路返回至数据采集模块,完成数据采集任务。
设备控制:设备控制模块根据预测电价和传感器数据计算合适的调度时间,在调度时间节点发兴趣包到受控设备,改变设备的运行状态,设备在接收兴趣包后会返回一个数据包作为接收应答,确认设备正确接收到了调度兴趣包。
数据展示:系统开放用户访问服务,用户设备端发送兴趣包,兴趣包命中数据后回数据包,用户设备端渲染数据展示设备当前运行的能耗数据、历史能耗数据、当前运行状态等。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。