全部新闻 行业观察企业新闻
您的位置:首页/ 新闻中心 / 行业观察

“支撑”物联网云的关键技术

作者:AIOT 发布时间:2022-08-13

   摘要: 为了配合云计算以数据为中心的高密集型运算,物联网云在信息管理、数据存储、系统管理、编程控制和并发控制等方面都需要有自身独特的技术体系,其核心技术归纳起来,主要有以下几个方面:自动化部署、资源监控、虚拟化技术、并行编程模型。


适应于物联网的云计算平台对应的不是一种技术,而是很多种技术的集合,云计算之所以被大多数人认可,主要还是因为其关键技术的成熟。为了配合云计算以数据为中心的高密集型运算,物联网云在信息管理、数据存储、系统管理、编程控制和并发控制等方面都需要有自身独特的技术体系,其核心技术归纳起来,主要有以下几个方面:

自动化部署


自动化部署是在接收到用户的指令后,自动将各种资源从原始状态转化为可用状态的一种技术。云计算平台将虚拟资源集合中的资源进行分析和区分,然后部署成可为用户直接提供各种应用和服务的资源,期间需要调用实体硬件化的服务器、用户所需的软件配置以及存储和网络设备。平台资源的自动化部署分为多个步骤:首先,自动化部署调用脚本,根据不同的厂商自动配置管理工具和应用软件;其次,监测自动化程度,确保脚本的调用遵从事先设定好的计划,避免云平台和人的大量交互;最后,保证整个部署过程全部基于工作流,而不再依赖于人工的操作。自动化部署流程见下图:


“支撑”物联网云的关键技术一


自动化部署流程

如图所示,批量部署层是自动化部署过程中的一个功能模块,它可以加个上一具体的软硬件和逻辑公式,甚至是概念模型定义,并通过管理工具在工作流中调用并配置这些真实的物理资源,从而实现分批管理。

批量部署层中的批量部署模块是触发工作流实现部署自动化的核心机构,可以自动将不同种类的资源整合到一个集合中,并储存在可重复使用的数据库中。整个自动化部署所形成的工作流可以代替手工完成操作系统、中间件、应用成熟、网络设备、存储层以及服务器的配置和部署任务。

资源监控


云计算平台中的服务器数量众多,里面的资源也是实时变化的,而我们需要的却是及时、动态且准确的数据和信息,资源不会随着我们的喜好而聚集,而是无规则地变化着。为了第一时间发现资源的异变,资源监控技术显得格外重要,它可以作为云平台对资源的自动部署提供参考和依据,也可以对系统环境和资源进行动态的监控,以此来为分布在平台上的各种子系统提供准确的信息,促进系统资源实现最优化分配。

资源监控的具体步骤并不复杂,就是由一个云平台通过一个监控服务器管理和监视平台内所有的资源(可利用+不可利用),并在“云”中的各个子服务器中安置代理程序来监视各个资源服务器,并按照实现事先设定好的周期将资源的使用情况传送到数据库,起到监视服务器仓库资源的作用。另外,资源监控系统也可以跟踪资源的可用性,及时发现故障并将信息反馈。当然,资源监控目前并没有达到实时监控和反馈,这受到了运算速度的限制。

虚拟化技术


虚拟化技术是物联网云系统的核心部分之一,它可将计算能力和数据存储能力进行充分整合并进行最优化的运用。虚拟化技术打破了以服务器、数据库、应用设备、网络和存储设备之间的传统划分,将硬件、数据、软件、存储和网络等一一分割开来。通过虚拟化,可以自由访问抽象后的资源,并为同一类资源提供一个通用的接口组合,而隐藏了其属性和操作的差异,便于使用和维护资源。

我们有时候会发现某些网吧机房里只有一台服务器有硬盘,而其他供用户使用的计算机里面并没有安装硬盘,用户在操作系统中看到的硬盘是虚拟化的,它实际只存在于服务器中。由此可见,虚拟化技术并不是一项新技术,IBM公司早在2011年就开发了虚拟机VMware系列,只不过,这些单一的虚拟化技术并不能应用于云平台。在云计算的环境中,虚拟化技术涵盖的范围空前广阔,包括了存储虚拟化、桌面虚拟化、CPU虚拟化、计算机虚拟化、应用虚拟化、网络虚拟化和硬件虚拟化等多个方面,而每一种虚拟化又有各种子虚拟化分支。

在云平台下的整体虚拟化战略中,可以利用虚拟化技术提供多种环境,在无需任何硬件和资源的前提下,就可以模拟不同的实验环境,然后放入应用程序和操作IT系统。虚拟化环境测试成功后,就可以将它们放心大胆地投入生产环境中,而不用担心潜在的冲突和漏洞。

总体来说,虚拟化技术在云计算平台中的最大作用就是整合硬件。以前,云平台上需要上百个实际存在的物理服务器,既浪费资源又不利于整合管理,也增加了监控系统的负担。但利用虚拟化技术可以将大量分散的小型物理服务器整合到一个大型的、具有超强运算能力的大物理服务器身上。那些成百上千的小型服务器完全可以用几个大型网络虚拟机代替。虚拟机的维护成本低廉,这就极大地提高了资源利用率。

同理,利用虚拟化技术也可以整合存储系统,而将多个存储小单元整合到一个存储资源池中,可以帮助平台简化存储基础架构,便于对数据和信息进行统一管理。当然,我们还可以利用桌面虚拟化技术降低创建企业应用程序的运营和能源成本。除此之外,虚拟化监控系统还能通过一个共用的接入点管理所有的物理资源和虚拟资源,减少服务器所需的监控和管理设备的数量。

2016年以后,基于物联网云的虚拟化技术已经向服务转型。例如,谷歌已经通过虚拟化技术越过操作系统直接为用户提供各种服务。这使微软的压力逐渐增大,因为用户以往购买 Windows系统的目的主要是获得里面的应用内容,如果应用内容被谷歌虚拟出来,那微软将没有任何优势可言。

并行编程模型


为了更有效地利用平台的资源,使用户更轻松使用物联网云带来的个性化服务,云计算平台上创建了针对于用户的编程模型,这些编程模型非常简单,可以让用户清楚地看到后台执行任务调度的情况。云计算平台采用的编程模式为MapReduce,这种模式几乎已经成了不成文的标准,它可以将一个任务自动分成多个子任务,并完成大范围计算中的分配和调度。

MapReduce是由谷歌公司研发的编程模型,它基于JAVA、Python、C++等语言,既可以称得上分布式编程模型,也算是一个高效的任务调度模型,用于大于1TB的数据集的并行运算。其系统架构如下图:


“支撑”物联网云的关键技术二


MapReduce的系统架构

从图中可以看出,用户撰写的作业被客户端提交到主节点(Master)后,主节点自动将用户的作业分解为Map任务和Reduce任务。分解后的任务则被传送到工作节点(Worker),在工作节点向主节点反馈任务执行情况的同时,整个分布式文件系统用于存储MapReduce的输入、输出数据。