论文部分内容阅读
随着云计算和物联网技术的快速发展,两者的结合日趋紧密,传感云系统应运而生。云端可以控制物联网设备进行信息采集,物联网设备可以利用云平台进行信息存储和处理,从而为不同类型的应用提供开放、灵活、可配置的服务平台。用户可不购置或部署传感网,而通过使用云服务器提供的虚拟节点来满足服务请求。然而,物联网中物理节点数量有限,而用户通过云端发起请求服务的数量大、种类多。当用户发起服务请求时,云端管理系统组建虚拟节点,当一个物理节点收到来自多个虚拟节点的占用请求或服务命令时,会出现所谓的耦合问题。这严重阻碍了系统的正常运行,造成物理节点请求死锁、用户服务等待时间长及资源利用率低等诸多问题。雾计算具有本地部署、靠近用户、低时延等特点,通过将用户的服务请求从云转移到边缘进行管理,则可以对物理节点资源进行高效和直接管理。本论文研究了基于雾计算模式的耦合资源调度和任务卸载问题,提出了通过雾层对端和云的资源协同管理,有效利用雾层的计算和存储资源,避免系统产生耦合问题,实现云-端资源的优化配置,提高资源利用率,缩短用户等待服务的时间,为之后传感云中耦合资源调度和卸载的研究提供了新思路。具体而言,本论文的研究工作主要包括以下几个方面:(1)为有效解决传感云中耦合资源调度问题,提出了基于雾存储的传感云低耦合方法。通过在雾层设计底层节点的数据缓存队列,优先级高的节点数据优先缓存,使得时延敏感任务能够优先执行,其次缓存调度较多且消耗计算资源较少的底层节点数据,从而有效降低之后服务的排队时延。本论文对于传感云中的耦合问题建立了数学模型,形式化定义了该问题,并证明了该问题是NP难问题。通过仿真,对几种常用的调度算法和本论文提出的基于雾存储的传感云低耦合方法进行对比,实验结果表明,所提算法可以显著降低调度总时间,有效地提高系统响应延迟。(2)为有效解决底层资源分散、物理节点利用率低等问题,提出了基于双缓存队列的传感云低耦合方法。针对如何在尽量保证用户服务体验,降低系统的服务开销的前提下,设计了基于双缓存队列的传感云低耦合方案:命令缓存队列和数据缓存队列。通过将用户通过云端传送的控制信息放置于雾层的命令缓冲控制队列中,雾层对重复控制命令进行合并,降低调用物理节点的次数,从而提高底层物理节点的资源利用率。数据缓存队列设计了基于一种基于KNN的数据缓存队列算法,基于底层节点的优先级、剩余能量和到雾节点的跳数等因素,实现公平缓存。所提算法与FIFO算法、SJF算法、EKM算法(Extended KuhnMunkres)和EKMB(Extended Kuhn-Munkres with buffer)算法进行对比,实验结果表明,即使实验设置不同,所提算法也会将调度轮数减少48.3%~58.6%,将资源利用率提高到52.3%~59.4%。(3)为有效解决传感云中耦合任务卸载问题,提出了云雾协同的耦合任务动态卸载方法。考虑不同任务的类别和雾层限制性因素,因为雾层计算、存储等资源会随着时间不断变化,并且雾层的实时状态也决定着数据处理的性能。本论文针对在雾层与云之间卸载的总处理时间最小为目标建立了模型,由于该问题为NP问题,本论文提出了一种基于启发式算法:首先对任务进行分类,对于不同类型任务设置不同的最大延迟容忍时间,并且考虑雾层的实时状态,计算每个任务的完成时间和最大延迟时间的比较,判断任务应该卸载到雾层还是云层进行计算。通过仿真,将本论文所提策略与所有任务都在雾端、云中心执行策略进行对比,实验结果表明,所提策略不仅能够缩短完成任务卸载的时间,还能减少系统消耗的能量。