摘 要:在物联网和云计算带来技术变革和带动产业发展的过程中,由于网络接入设备激增,而网络带宽有限的情况下,思科公司推出了雾计算的概念。首先探讨雾计算的特征和应用模式,然后分析雾计算的“雾节点”与云计算的“云节点”以及物联网的“物节点”的互操作方法,并总结了雾计算的用例,最后给出了前景展望。
关键词:分布式计算;云计算;雾计算;物联网
中图分类号:TP316 文献标识码:A 文章编号:2095-1302(2014)12-00-03
0 引 言
近几年来,“物联网”、“云计算”这两个词语深刻地变革了IT学术界、产业界。但是在实际应用过程中,物联网和云计算都存在一定的短板和缺憾[1],具体表现在:(1)物联网感知层的数据量大而且非常复杂,海量数据间存在着频繁的冲突与合作,具有很强的冗余性、互补性和实时性,同时又是多源异构型数据。因此,在实时性要求较高情况下,对海量数据的过滤、处理、传输和应用等问题是一个巨大的挑战。(2)云服务是聚合度很高的服务计算,其使用方式虽然廉价、简单且方便,但是背后却消耗着大量的网络带宽,用户访问量大会大幅度增加网络流量,由此引发的服务中断、网络延迟等问题,以及云计算的集中式计算导致网点分布不均而产生的用户访问网站响应速度慢,我国带宽不足、流量成本高的问题都制约着我国云计算服务的应用和发展。综合分析以上问题,有人提出云端计算,更加强调边缘计算设备的作用,都是希望计算要在物理节点上分散,而不是集中,这些都为雾计算的产生提供了空间。
思科全球研发中心总裁Dr.Flavio Bonomi[2]于2011年首次提出雾计算(Fog Computing)的概念之后,思科研发组的Flavio Bonomi, Rodolfo Milito, Jiang Zhu, Sateesh Addepalli 等人开创性地描述了雾计算的概念。他们认为:正如云计算一样,雾计算也十分形象,大自然中的雾是更接近地面的云,故用雾计算恰当地描述介于云计算与终端计算的中间态;雾计算是半虚拟化架构的分布式的服务计算模型,用户、应用或物联网终端可以在任何时候、从任何地方基于任何联网设备访问自己的本地云(Local Cloud,也可称为雾节点)[3]。因此,雾计算既继承了云计算的优点,也具有终端计算的优势,能够充分发挥终端的计算功能和本地就近处理的优势。雾计算可以很好地解决那些时延敏感应用(Iatency-sensitive Applications)的计算问题,这些业务往往处于数据中心边缘,需要就近处理,从而减少时延,集中于数据中心的云计算显得无能为力[4]。
1 雾计算的应用定位
雾计算是分布式的云计算节点,就其位置而言,可以称为边界计算(Edge Computing),就是互联网与现实世界的边界。云数据中心是互联网的中心,PC、手机、监控照相机等诸多的电子设备,移动终端,家用电器处在现实世界的中心,而雾计算的服务器处在二者的边界之上,物联网的信息模型[2]如图1所示。
图1 物联网的信息模型图
主要表现为个人云、家庭云以及机构云等私有的“小云”为主,而不是早期云计算所倡导的IT服务提供商的“大云”、“公有云”。从长期发展趋势来看,我们认为终端计算、雾计算和云计算的将在一定时期长期共存,因为它们各有优势。就系统的数量级而言,一个云计算系统可以关联多个雾计算系统,一个雾计算系统可以服务于多个(成百上千、甚至几万个)计算终端[5],物联网终端设备是指一切具有网络身份标识的信息终端,大到汽车、冰箱,小到门锁、追踪卡、手环等都是终端设备。雾计算的“雾端”与云计算的“云端”以及物联网的“物端”之间的关系如图2所示:
图2 物联网的逻辑模型图
与云计算依赖集中式高性能计算设备强调整体计算能力不同,雾计算以量制胜,强调计算节点数量,不管单个计算节点能力多么弱都要发挥作用。因此雾计算有几个明显特征:低延时和位置感知,更为广泛的地理分布,适应移动性的应用,支持更多的边缘节点。总之,雾计算面对市场需求,摈弃了云计算聚合度过大且技术过于复杂的弊病,保留了云计算的一些优点,比如高性价比、可扩展性、技术透明性等,同时还兼具分布式系统的一些优点,例如容错、异构、安全、编程模型等[6]。下面分别对这些“小云”做简要介绍:
个人云(Personal Cloud)是指借助智能手机、平板电脑、电视和PC等个人设备,通过互联网无缝存储、同步、处理并分享数据的在线服务[7]。个人云是云计算在个人生活领域的延伸,通过Internet对个人的各种信息进行组织、存储、分发和再加工。与所有的“云”一样,个人云由服务器、终端、应用程序和个人信息组成。数据信息存储在云上,通过3G网络接口向终端提供服务[8]。由于隐私性的要求,个人云的安全性要求较高。
家庭云是指在家庭网络环境下实现多成员的设备、信息等互联、共享和互操作。这种云是部署在家庭里,而不是交给云服务提供商。家庭云可以实现无线智能组网、智能关联、集中存储、娱乐实时分享、智能家居远程控制、集中安全存储及统一设备管理等功能[9]。
机构云是指服务于一个学校、企业、政府部门等机构的内部云服务系统,类似于家庭云。机构云的规模要比家庭云更大且复杂,用户数据也相对更多,数据量也更大,服务类型也更丰富。
2 物端-雾端-云端的互操作
在物联网的最佳实践中,应用、存储和计算等服务尽可能位于距传感器和设备等“物体”更近的位置,这正是雾计算产生的背景,在图2所示的物联网的逻辑模型中,终端计算层主要服务于物联网的传感器层和信息汇聚层,雾计算层主要服务于物联网的信息分析层和数据传输层,云计算层主要服务于物联网的应用服务层。其中传感器层是物联网的皮肤和五官,主要用于识别物体,采集信息;信息汇聚层是物联网的神经中枢网和血管网,负责数据信息的收集阅读器接收到来自电子标签的载波信息;信息分析层是将收集的数据信息送至雾计算系统进行分析、过滤和处理;数据传输层将信息分析层的信息进行分发与传递,传送给云计算系统;云计算服务的应用层是物联网的“社会分工”——与具体行业需求结合,实现广泛智能化[10]。
雾计算的互操作性框架如图3所示,该框架是遵循物联网业界标准的开放式互操作框架,可以很好地满足物联网应用的近、远期实施目标。
图3 物联网的互操作框架
雾计算系统被看作是由多个独立的雾节点(Fog Node)组成的系统,由物联网终端设备本身或者介于终端设备与网络之间的设备来承担存储和处理物联网生成数据流的任务。最重要的是雾节点分离了云节点和终端设备,有利于打破垄断和隔阂,改良了物联网的生态环境,开拓了新的商业模式[11]。
图4 物联网生态环境演进路线
边缘服务器需要处理的数据量非常庞大(比如EPCglobal物联网读写器每秒可捕获120到400个信号),解决物联网数据处理的性能和可伸缩性问题的方法,主要有线程多路技术和非阻塞(Non-blocking)I/O机制,非阻塞I/O可以使边缘服务器能够在多个并发用户中复用少量线程,确保较高的性能和可伸缩性。在处理读写器的大流量数据和进行消息传递时,需要大量使用I/O和网络。边缘服务器中使用“批量数据传输”技术,将多个相同类型的请求包装在一个数据包中,可以舒缓网络堵塞问题。它还可以减少多个请求通过其它逻辑层所需的时间。最后,如果由边缘服务器完成中央数据库(Data Center)的存储操作,将会产生系统瓶颈,影响可伸缩性。比如将从一组RFID读写器捕获的数据全部写入中央数据库,进入数据库的巨大数据流会对性能产生严重影响。因此,应该在云平台层处理与中央数据库的交互,这样就可以大大减少需要处理的数据。这种架构(如图5所示),相对于事件储存库方法,可以定义为事件源方法[12]。
图5 边界计算实现灵活伸缩
图6是雾计算节点的功能框架图,最上层可接入第三方APP应用,中间是物联网边缘服务器的功能模块,最下层是可接入的各种物联网终端设备。从框架图可以看出,雾计算节点对上层应用的接口是开放的,对下层的终端设备也是广泛的兼容性[13]。
图6 雾计算节点的功能框架图
3 物联网信息处理系统的用例分析
物联网环境中用例层面包括三个要素:物节点、雾节点和云节点。一个云节点(公共云)一般会服务于多个雾节点,它们之间是一对多的关系。一个雾节点一般会服务于多个物节点,它们之间也是一对多的关系。物节点可能是一个私有云环境,也可能不是云,物联网用例旨在描述最为典型的应用场景,而并非列出物联网环境下的所有现实情况[14]。物联网的用例包括4种情况:(1)物节点与云节点互动;(2)雾节点与云节点互动;(3)物节点与雾节点互动;(4)雾节点与物节点和云节点互动。
图7(a)描述物节点与云节点互动的情况,是在物联网早期阶段最常见的基于智能终端的物联网用例。智能终端可以轻松访问云节点,使用云端的计算、存储和数据服务。
图7(c)描述物节点与雾节点互动的情况,也是在物联网早期阶段最常见的局部RFID物流信息管理的用例。雾节点是局部范围所有物节点的处理中心、管理中心和应用中心。
图7(d)描述雾节点与物节点和云节点互动的情况,是在物联网发展到成熟期的EPCglobal物联网用例。物节点的编码信息被发送到雾节点,雾节点访问存储于云节点上的对象命名服务ONS(Object Naming Service)以及配套服务,找到该物品信息所存储的物理位置,然后由雾节点给应用系统指明存储该物品有关信息的服务器,并将文件中关于该物品的信息进行传送和应用。雾节点起到过滤、处理和联通物节点与云节点的互动信息。比如:车联网。车联网的应用和部署要求有丰富的连接方式和相互作用。车到车,车到接入点(无线网络,3G,LTE,智能交通灯,导航卫星网络等),接入点到接入点,接入点到云。
图7(b)描述雾节点与云节点互动的情况,雾节点使用云节点补充其所需要资源:使用云存储进行备份或存储很少用到的数据;使用云中的虚拟机来处理峰值负载;使用云中的应用程序 (SaaS)来处理雾节点的数据;将云数据库用作某一应用程序处理过程的一部分。与其他雾节点共享该数据库。
图7(a)物节点与云节点互动 图7(b) 雾节点与云节点互动
图7(c) 物节点与雾节点互动
图7(d)雾节点与物节点和云节点互动
图7 物联网典型用例图
4 结 语
本文分析了雾计算产生的时代背景的基础上,探讨了雾计算的特征和应用定位,然后基于雾计算联通型的应用定位,描述了它的组织结构,分析了雾计算的“雾端”与云计算的“云端”以及物联网的“物端”的互操作方法,并总结了雾计算的用例,可作为雾计算系统研究与开发的基础。雾计算系统以开放式的计算框架模型应用于各个边缘服务器节点之上,这些雾节点具有一定的独立性、多态性和适应性,可以实现雾节点之间以Web服务或云服务的方式进行跨网络的互连、互通和联盟,也可以基于内部网或局域网的方式进行信任域内的数据处理与应用。当传感器越来越便宜,分布得越来越广,联网设备越来越多,产生的数据量将进一步爆发,将网络计算的重心从网络中心扩展到了网络边缘,只有雾计算模型最适合这种物联网的边界计算需求。
参考文献
[1]吴磊.思科:“雾计算”的诳语与干货[J].IT经理世界,2014(11):68-69.
[2]计春雷,杨志和,谢致邦.服务计算新模式:雾计算[J].上海电机学院学报,2012,15(5):337-341
[3]云计算之后,雾计算开始[EB/OL] . http://www.cnblogs.com/dreign/p/3873176.html,2014.
[4]云计算的下一站是雾计算 [EB/OL]. http://www.50cnnet.com/content-113-71715-1.html,2014.
[5] Bonomi F, Milito R, Zhu Jiang, et al. Fog Computing and Its Role in the Internet of Things[C].Proceedings of the first edition of the MCC workshop on Mobile cloud computing . New York, USA:ACM,2012.
[6] F. Bonomi. The internet of things and fog computing[C]The Eighth ACM International Workshop on Vehicular Internet working( VANET 2011). Las Vegas, USA:ACM, 2011.
[7]网络带宽有限 让“雾计算”来帮忙[EB/OL]. http://www.cfc365.com/it/figures2/2014-05-26/12353.shtml,2014.
[8]郑园,蒋巍,蒋天发.个人云计算安全框架的研究[J]. 信息网络安全,2011(12):72-75.
[9]百度百科.家庭云[EB/OL]. http://baike.baidu.com/view/7153468.htm,2014.
[10]杨志和.基于志愿计算的云平台的构建方法与架构研究[J].上海电机学院学报,2010,13(4):223-227
[11]王宇,王志坚.志愿计算模型形式化方法[J].软件学报,2008(5):1125-1133.
[12]吴永和.学习资源服务生态环境构建的研究[D].上海:华东师范大学,2009.
[13]宛语.戳破云计算真相,“雾计算”才是真正变革[J].创新科技,2014(11):1.
[14]值得期待的雾计算[EB/OL].http://news.xinhuanet.com/tech/2014-06/23/c_126657116.htm,2014.
[4]云计算的下一站是雾计算 [EB/OL]. http://www.50cnnet.com/content-113-71715-1.html,2014.
[5] Bonomi F, Milito R, Zhu Jiang, et al. Fog Computing and Its Role in the Internet of Things[C].Proceedings of the first edition of the MCC workshop on Mobile cloud computing . New York, USA:ACM,2012.
[6] F. Bonomi. The internet of things and fog computing[C]The Eighth ACM International Workshop on Vehicular Internet working( VANET 2011). Las Vegas, USA:ACM, 2011.
[7]网络带宽有限 让“雾计算”来帮忙[EB/OL]. http://www.cfc365.com/it/figures2/2014-05-26/12353.shtml,2014.
[8]郑园,蒋巍,蒋天发.个人云计算安全框架的研究[J]. 信息网络安全,2011(12):72-75.
[9]百度百科.家庭云[EB/OL]. http://baike.baidu.com/view/7153468.htm,2014.
[10]杨志和.基于志愿计算的云平台的构建方法与架构研究[J].上海电机学院学报,2010,13(4):223-227
[11]王宇,王志坚.志愿计算模型形式化方法[J].软件学报,2008(5):1125-1133.
[12]吴永和.学习资源服务生态环境构建的研究[D].上海:华东师范大学,2009.
[13]宛语.戳破云计算真相,“雾计算”才是真正变革[J].创新科技,2014(11):1.
[14]值得期待的雾计算[EB/OL].http://news.xinhuanet.com/tech/2014-06/23/c_126657116.htm,2014.
[4]云计算的下一站是雾计算 [EB/OL]. http://www.50cnnet.com/content-113-71715-1.html,2014.
[5] Bonomi F, Milito R, Zhu Jiang, et al. Fog Computing and Its Role in the Internet of Things[C].Proceedings of the first edition of the MCC workshop on Mobile cloud computing . New York, USA:ACM,2012.
[6] F. Bonomi. The internet of things and fog computing[C]The Eighth ACM International Workshop on Vehicular Internet working( VANET 2011). Las Vegas, USA:ACM, 2011.
[7]网络带宽有限 让“雾计算”来帮忙[EB/OL]. http://www.cfc365.com/it/figures2/2014-05-26/12353.shtml,2014.
[8]郑园,蒋巍,蒋天发.个人云计算安全框架的研究[J]. 信息网络安全,2011(12):72-75.
[9]百度百科.家庭云[EB/OL]. http://baike.baidu.com/view/7153468.htm,2014.
[10]杨志和.基于志愿计算的云平台的构建方法与架构研究[J].上海电机学院学报,2010,13(4):223-227
[11]王宇,王志坚.志愿计算模型形式化方法[J].软件学报,2008(5):1125-1133.
[12]吴永和.学习资源服务生态环境构建的研究[D].上海:华东师范大学,2009.
[13]宛语.戳破云计算真相,“雾计算”才是真正变革[J].创新科技,2014(11):1.
[14]值得期待的雾计算[EB/OL].http://news.xinhuanet.com/tech/2014-06/23/c_126657116.htm,2014.