论文部分内容阅读
近年来,随着嵌入式和移动式设备的高速发展,不同设备互联的场景越来越丰富,用户在不同的场景下的需求也越来越多,而物联网的兴起与这一切紧密相关。工业物联网(Industrial Internet of Things,IIoT)作为物联网在工业和商业领域的应用,相比一般物联网,由于应用场景的特殊性,其部署的风险更大,系统故障和停机以及应用无法实时响应会造成无法估计的损失和危险。与此同时,IIoT中存在大量计算卸载需求,这些计算卸载任务需要实时性保证,因此需要一种适用于IIoT的合理的计算卸载架构和调度方案。基于这些需求,首先,本文总结了目前IIoT技术和IIoT与软件定义网络(Software Defined Network,SDN)结合的现状,说明当中存在的问题,并针对这些问题提出基于雾计算的软件定义工业物联网(Fog-Based Software Defined Industrial Internet of Things,FB-SDIIoT)架构,为计算卸载提供集中式控制手段,与此同时详细分析了架构的结合对工业物联网计算卸载带来的优势和技术难点。随后,对FB-SDIIoT进行详细的整体架构设计和接口协议设计。从SDN原有架构出发,通过控制器代理和雾节点代理软件进行功能扩展,形成新的三层架构,详细地阐述了其中每一层的功能和模块设计。与此同时,在OpenFlow标准协议作为承载的基础上新增对雾节点控制管理协议(Fog Node Control and Manage Protocol,FNCAMP)来实现对雾节点的管理和控制,从而完成服务的部署以及为计算卸载中的任务调度提供必要的数据。接下来,对FB-SDIIoT架构下负责计算卸载的核心调度模块进行详细的阐述。从核心调度模块总体设计出发,说明模块功能需求以及接口间的关系。对核心调度模块当中负责任务流调度的算法(Task Flow Schedule Algorithm,TFSA)进行分析,其中对任务流调度问题进行了建模,并针对该模型提出相应算法求解,仿真验证了算法相比于一般负载均衡算法的优势。与此同时分析该架构下可能出现的任务流失效场景,针对每个场景提出相应的任务流调节算法(Task Flow Adjust Algorithm,TFAA),通过仿真证明了轻负载下TFAA算法可以快速恢复失效的任务流,从而保证了该架构下任务处理的实时性。最后,对FB-SDIIoT计算卸载系统进行软件实现和测试,分别对控制器侧和雾节点侧代理软件的模块组成、模块间关系进行了详细的设计和实现,结合FNCAMP协议设计了负责代理软件总体运行的状态机。在此基础上,通过开源控制器系统ONOS以及开源交换机软件OvS搭建了测试用的平台,对设计和实现的FB-SDIIoT进行了功能测试,验证了在该平台下对雾节点的控制和管理以及计算卸载任务的调度。