论文部分内容阅读
随着通信技术的不断进步,近年来物联网行业蓬勃发展。根据预测,到2030年全球物联网设备数量将增长至1,250亿,物联网浪潮将为整个工业的各个阶段和各个领域带来巨大改变。目前,不仅有大量国内外学者在物联网领域进行了广泛的研究,还有众多国内外大型互联网公司和厂商纷纷进军物联网行业,带动物联网发展、延伸到生产、工作、生活的方方面面。但随之而来的是物联网应用场景与开发技术越发碎片化,这给物联网应用开发带来了诸多困难,当前主要存在三大挑战:1)物联网应用开发技术链长,涉及云端、客户端(即手机端)和节点端等多种开发技术,导致应用开发门槛高、周期长;2)物联网节点硬件平台设计难,设计时需要考虑节点硬件的选择、兼容性及软硬件协同设计等,导致节点应用开发难度大;3)物联网节点计算力不足,在处理复杂信号(如图像识别、语音识别等)时,会导致较高的应用延迟,加速节点的电量消耗。如果能快速开发一体化的物联网应用并实现云端、客户端、节点端和边缘侧的开发技术的融合,则可以进行快速的原型迭代,获得先发优势,降低开发成本,并且提高应用性能。为此,本文研究了面向“云-边-端”一体的物联网应用快速开发的三大关键技术,并实现了系统原型,可以应对物联网应用开发中的主要挑战。(1)“云-端”一体应用开发技术。一个典型的物联网应用通常包含云端、设备端和节点端,涉及硬件、软件之间的深度交互。本文提出了一种“云-端”一体应用开发技术并实现了对应的系统,可以解决物联网应用开发技术链长的挑战。开发者可以使用其一体化编程语言,简易地表达多样的物联网应用逻辑,同时开发云端、客户端和节点端的应用,从而大幅提高开发速度。本文将应用逻辑自动生成多个节点任务计划的问题形式化成了一个优化问题,并提出了一种启发式算法进行快速求解,生成的节点任务计划可以最大程度地降低节点的能耗。本文通过大量的案例研究、用户研究和性能测试,从多角度评估了该技术。实验结果表明该技术可以显著地加快物联网应用开发过程,同时保持较高的应用表达能力,降低物联网应用的传感和传输能耗。(2)节点端应用构建技术。本文提出了一种物联网节点端应用构建技术并实现了对应的系统,可以解决物联网硬件平台设计难的挑战。该技术改变原有自底向上的开发模型,采用自顶向下的开发模型。使用该技术,开发者无需再处理底层硬件细节,只需编写硬件无关的节点应用代码,即可自动构建节点应用,包括节点的硬件配置和软件系统,从而大大加速构建过程。本文使用了基准测试、具体案例研究和详细的用户研究,广泛地评估了该技术。实验结果表明该技术实现了物联网节点应用的快速构建,可以生成最佳硬件平台解决方案和对应的软件系统,同时带来的开销在可接受范围内。(3)边缘侧计算迁移技术。本文提出了一种高效的边缘侧计算迁移技术并实现了对应的系统,可以解决物联网节点计算力不足的挑战。物联网应用开发者无需在应用代码中标注,即可将物联网应用中复杂事件处理自动透明地迁移到附近的边缘节点或云端,从而降低复杂事件的计算时间,提高应用的响应速度。由于考虑了边缘节点的动态工作负载和多线程执行能力,因此该技术能比当前最新技术可更有效地调度多个任务,降低总计算迁移延迟。实验结果表明该技术减少了在动态工作负载下的总计算迁移延迟,同时带来的开销在可接受范围内。