关键词:
分布式系统
嵌入式系统
分布式操作系统
通信机制
DALI系统
摘要:
随着对物联网设备的的不断发展,现在的社会越来越需要在智能家居、智能医疗、智能交通等嵌入式终端节点具备高性能的结构和高速有效的计算功能,使用户满足各种信息科技服务。然而在目前社会中,大都嵌入式系统单独工作,系统与系统之间几无互动,很少能够在终端节点利用互相协作来完成一些复杂的计算。而在分布式系统的应用下,物联网终端节点在理论上可以通过协同工作实现一定的计算。伴随着分布式系统的推广,多个嵌入式系统之间的交互将成为分布式技术和嵌入式技术交叉融合研究方面比较热门的内容。但目前这方面设计研究在市面上还比较少,且存在多方面的问题:第一,嵌入式设备中的资源有限,且设备专用性强,使得用于复杂计算的性能会不高;第二,研究人群较少,研究并未对这方面有深入探讨;第三,几乎无应用方面的研究,研究基本仅止步于在系统测试阶段。因此,本文先将嵌入式系统与分布式系统结合起来,通过多个嵌入式系统构建一个小型分布式系统,称为“多嵌入式系统”;然后在这个可用于分布式计算的多嵌入式系统上,将嵌入式操作系统进行设计和应用,即为分布式系统和嵌入式操作系统结合的“分布式操作系统”。在构建的多嵌入式系统中,每个节点都由一个STM32板和一个分布式操作系统(通过嵌入式实时操作系统RT-Thread修改扩充而成)构成。整个系统中,单个嵌入式系统分为控制节点和计算节点两类,两者的功能有所不同。控制节点负责收集节点信息、管理进程和分配分发计算任务,将任务分发分配到计算节点上执行;计算节点上实现执行任务功能,并将自身节点信息和任务结果发送数据给控制节点或其他计算节点。控制节点和计算节点相互协同工作,构成了整个分布式系统,实现了在终端节点协同完成部分复杂计算工作的目标。在构建整个系统时,对分布式操作系统和分布式通信机制进行了设计。具体为:1)在设计分布式操作系统时,主要对进程管理与调度、协同处理和任务分配完成探讨和设计;在设计过程中,主要是将分布式系统中成熟的研究,甚至已经应用的算法,将其实现在系统中的分布式操作系统里,并提供代码。2)在设计通信机制时,先实现了消息传递的方式,由于系统的运行特点,采用半同步半异步的Client/Server通信模型;然后还设计实现了远程过程调用(RPC)功能,用于实现控制节点调用某计算节点;最后设计了信息传递时的保密机制,由于本系统小型化、分布式等特点,采用并设计了基于属性加密的通讯加密方案,将其应用于系统中。总体上,完成实现了系统的基本功能。根据实际项目,还将构建完成的分布式操作系统应用于实际生产生活中的多嵌入式系统上。通过应用实现在DALI系统中可以看出,嵌入式操作系统与分布式系统所结合而成的分布式操作系统在智能家居中可以得到很好的应用,使原本的系统提升了更良好的性能,且在产品现场安装使用后也取得了不错的效果。