6.物联网两大应用“神技”
在物联网的应用技术中,我们只知道云计算和大数据,却不知道云计算的前身是并行运算,而处理大数据的主要方法是数据挖掘。其实,这两样“神技”是物联网应用领域的核心与支柱。
第一,并行运算。
并行运算又称为平行运算,顾名思义,此种运算一次可以处理多个工作指令,是相对于串行运算而提出的,目的是提高运算速度,解决大型的计算难题。此外,并行运算也是物联网建设必不可少的应用技术,为物联网内部大数据的处理提供了有力的技术支持。并行运算分为两种,一是时间上的并行,如流水线技术;二是空间上的并行,如多个CPU同时进行同一运算任务。
并行运算的原理就是将问题分成若干个部分,每一部分都由一个独立的CPU处理,进行并行运算的系统可以是专门设计的多CPU超级计算机,也可以是采取某种连接方式,由若干台计算机组成的集群。时间上的并行运算多应用于工厂的设备,例如,肉类加工车间对肉类的处理步骤一般包括清洗、消毒、切割和封装。如果只有串行运算,那么,一个食品完成上述步骤后,才会对另一个食品进行处理,既浪费资源也耗费时间,而采取并行运算的设备就可以同时对每一个食品进行上述步骤,大大提高了计算性能。
空间并行运算多用在重复任务量巨大的领域,例如,某人被要求种三棵树,如果只是他一个人工作,就需要6小时才能完成,如果他叫来两个帮手同时工作,则2小时就能完成任务。空间并行就是将一个大任务分拆成几个小任务。当然,依靠处理器进行并行运算并没有想象的那么简单,需要用到五类并行机:分布式共享存储处理机、工作站机群、大规模并行处理机、对称多处理机和并行向量处理机。
值得一提的是,并行计算追求的是高速的计算能力,这依托于昂贵的服务器,一般情况下,一台领先于世界的高端计算机如果三年内得不到有效利用,它并行运算能力就会落伍。而且并行运算的操作相当复杂,非科研人士很难搞清楚里面的指令,所以,并行运算只用来满足科学领域的需要,而其衍生物云计算却成为了普及度非常高的技术,适用于很多领域,也无需考虑服务器的成本。可以这么说,并行运算就像是一台没有联网的高性能电脑,而云计算就是一台联网的普通性能电脑,两者互补不足。
第二,数据挖掘。
数据挖掘又称为数据采矿,一般是指从海量的数据中通过一定的算法搜索出隐藏的重要信息的过程。数据挖掘和计算科学密不可分,并通过统计学、规则识别、专家系统、电脑学习、情报检索和在线分析处理等多种技术实现其目标。数据挖掘的分析方法有六种,分别为分类、估计、预测、相关性分组、聚类和复杂数据类型挖掘,其系统原型如下图:
图2-6-1 数据挖掘的系统原型
数据挖掘一般采用关联规则法,第一阶段就是从所有的数据集合中找出所有高频的项目组,第二阶段则是由这些高频项目组生出关联规则。所谓“高频”,就是指出现的频率相对于整体记录较多的一组数据,而一个项目出现的频率又称为支持度。例如,有一个包含a与b两个项目的项目组,我们可以由一个公式得到a、b项目的支持度,若这个项目组的支持度大于预定标准,则a、b为高频项目组,又称为高频K-项目组。在第二阶段,利用算法为高频K-项目组产生规则,若这一规则所得到的支持度达到了最小支持度,则称此规则为关联规则。
沃尔玛超市曾经做过一次关联数据挖掘,并预设最小支持度为5%,最小信赖度为70%。在挖掘过程中,超市的工作人员发现尿布和啤酒两类商品符合预设的关联规则,也就是说,尿布、啤酒项目组的支持度大于等于5%,信赖度大于等于70%。于是可以得出结论,有5%的交易显示尿布与啤酒被同时购买,而在所有包含尿布的交易中,有70%的交易也包括了买啤酒。这个结论暗示超市工作人员,如果超市中有人购买尿布,就可以同时给他推荐啤酒。这就是数据挖掘的价值所在。