摘 要:随着物联网2.0时代的到来,以应用为核心的发展模式正应用于各行各业。传统物联网中应用系统之间相互独立,异构设备之间难以互联互通,异构数据难以统一、有效管理等问题日益凸显。本文阐述了物联网设备发现协议和多进程调度管理技术,并对物联网设备发现与管理技术分析需解决的问题进行了分析。
关键词:物联网;设备发现;设备管理;管理技术
引言
近年来,随着无线通信技术与计算机科学技术的飞速发展,“物联网”的相关技术在世界范围内得到各个国家的大力推崇,世界各国纷纷把物联网看作新时代信息领域的一次重大发展变革,抓住机遇,制定物联网发展战略。我国同样以国情为基础,对以物联网为代表的新兴产业大力扶持并给予重点关注和推进。目前,物联网的应用场景十分广泛,包括智慧家居、智慧农业、智慧消防、能源制造、智慧交通、智慧物流、数字医疗、人工智能等多个方面。
1、物联网设备发现协议概述
智能设备发现协议SDDP自下而上主要包括两个部分:以ZigBee、蓝牙、WiFi等遵循多种无线传感协议为代表的无线传感网络设备信息的接入和基于SSDP协议的设备资源的发现。在无线传感网络接入的层面,分别以ZigBee、蓝牙、WiFi为研究对象,具体做法是以ZigBee协调器、BLE中间件为中心,所有节点设备发送通用格式的报文给上层接口,以此进行数据交互,上层设备例如ZigBee协调器或者BLE中间件可以通过串口把设备的动态信息上传到桥接器模块中;在物联网网关中,桥接器模块通过SSDP协议把各种类型的设备以资源化的形式进行发现映射,同时首部字段中还包含设备的ID、状态、生产厂商等一些信息,这些信息都在物联网网关的设备资源库中以Json格式进行相应的存储映射,方便物联网体系中的平台层来这个信息库中调取设备资源信息,为应用层开发部署保证稳定性与准确性,并且在这一层已经屏蔽了设备之间的差异性。
2、多进程调度管理技术
在物联网设备管理系统的研究和实现过程中,当多感知终端监控进程并发运行时,需要一个调度器来完成多进程的调度作业,而对基于Linux操作系统的多进程调度算法的研究是一个庞大的课题,在本小节我们仅介绍几种常见的Linux多进程调度管理算法。
(1) 先来先服务(FCFS,first come first served)
这是一种最简单的调度算法,顾名思义,该算法会在内存中维护一个就绪队列,每当有新的进程到来申请取得CPU的控制权时,FCFS就把这个新的进程加入到就绪队列的队尾,在CPU完成当前作业,并且准备进行进程调度时,就从就绪队列中取出第一个进程,为之分配资源,使之投入运行,直至该进程运行完毕或因IO调用而阻塞后该进程主动放弃对CPU的控制权。
FCFS的优点是有利于长作业或计算密集型的进程,相反,缺点就是不利于IO密集型的进程以及需要多进程协同工作的情况。
(2) 最短作业优先调度算法(SJF:shortest job first)
这是相对于FCFS的另一种较为极端的算法,顾名思义,SJF是从内存维护的就绪队列中选择一个或者若干个预计运行时间最短的进程,将它们从内存调入运行,分配CPU的控制权,直至该进程运行完毕或因IO调用而阻塞后该进程主动放弃对CPU的控制权。另外需要注意的是,SJF不支持抢占,即新到来的预计运行时间较短的进程不可以抢占正在运行进程的CPU的控制权。
SJF相对FCFS来说,使得操作系统在单位时间内处理的进程数量有所增加,提高了系统的吞吐量,缩短了大多数进程的等待时间。但是SJF对于长作业十分不利,会使长作业长时间得不到执行权限,甚至导致长作业饿死。
(3) 时间片轮转算法(RR,round-robin)
RR是一种对所有进程都公平的算法,类似于FCFS,系统还是会在内存维护一个就绪队列,将所有等待被调度的进程加入该队列中,每次调度时,RR算法会把CPU分配给队列首进程,首进程只能执行一个时间片(通常为几毫秒到几百毫秒)。当时间片到达时,由系统计时器发出时钟中断请求,调度程序会给进程发送中断信号,保存进程运行现场,并将该进程添加到就绪队列的队尾,然后再把CPU分配给新的就绪队列首进程,以此循环下去,当之前的首进程再次得到CPU控制权时,调度程序会为其恢复上一次的运行现场,继续上一次的进程中断处运行。
RR算法可以在给定时间内响应所有用户的请求,这就是最早的并发的实现。但是,RR在面临某个紧迫任务的响应上,会显得比较慢,而且,时间片大小的选取显得尤为重要,如果选取的太小,会使CPU进行过多的上下文切换,增加了系统开销,如果时间片选取的太大,会使该算法趋向于FCFS。
3、物联网设备发现与管理技术分析需解决的问题
(1)对传统物联网的体系架构面临的问题与不足进行分析,例如面向的应用场景单一、设备难以互联互通、没有统一的设备管理系统模型等,然后调研分析多种国内外的物联网设备互联互通规范标准、物联网设备管理系统的多种实现,并且研究Linux下常见的调度算法。
(2)在充分调研国内外多种物联网设备互联互通规范标准之后,结合实验室现有的物联网云平台应用系统的实现,决定采用UPnP协议实现新型的互联互通标准,设计并实现一种基于SSDP的物联网设备发现协议,该协议具有通用性,通过“通用设备能力模型”和“通用设备资源模型”可以解决多类型感知终端的接入与数据转发的问题,并且最后通过实验验证该协议的可行性。
(3)在充分调研国内外多种物联网设备统一管理系统的实现之后,采用基于中间件实现的思想,结合前面的研究成果,开发一种新型的物联网网关,完成感知层设备的接入与统一管理,并且针对物联网中一种面临的数据安全性问题,提出相应的解决方案。在物联网网关的开发过程中,遇到多感知节点并发接入时的数据阻塞丢失的情况,因此设计并实现多进程调度算法,按照实时计算时间片的方式,将同种类型并发接入的节点短暂挂起,降低数据阻塞丢失的概率,最终通过实验验证该物联网网关的可行性。
(4)在解决物联网体系架构中设备互联互通和统一管理的问题后,设计并实现一个面向多感知终端的物联网设备发现与管理的应用系统,重点完成应用层的重构。应用层包括服务端的实现和平台侧功能的实现,最后对整个应用系统的服务流程进行验证,结果达到预期的效果。
结语
目前从平台层到物联网网关层都有对物联网设备数据安全、控制指令安全的一些模块实现,但是在实际的生产中,还需要对安全方面不断升级,加强权限机制保障,确保传感设备的控制权不会被非法人员取得,这些都是亟待解决的问题。
参考文献
[1] 施巍松,孙辉,曹杰,张权,刘伟.边缘计算:万物互联时代新型计算模型[J].计算机研究与发展,2017,54(05):907-924.
[2] 李海威.基于云计算的物联网数据网关的建设研究[J].计算机技术与发展.2017.12ISSN: 1673-629X
[3] 黄海峰.解读华为IoT平台以开放构建生态使能行业革新[J].通信世界,2017(21):38-39.
[4] 侯琛,王海波,刘凤之,史祥宾,赵千川.温室环境监控系统网关多进程调度方法[J].农业机械学报,2017,48(05):167-173.