物联网云计算分布式缓存技术及其在物联网中的应用.docx

上传人:b****8 文档编号:30231486 上传时间:2023-08-07 格式:DOCX 页数:9 大小:42.02KB
下载 相关 举报
物联网云计算分布式缓存技术及其在物联网中的应用.docx_第1页
第1页 / 共9页
物联网云计算分布式缓存技术及其在物联网中的应用.docx_第2页
第2页 / 共9页
物联网云计算分布式缓存技术及其在物联网中的应用.docx_第3页
第3页 / 共9页
物联网云计算分布式缓存技术及其在物联网中的应用.docx_第4页
第4页 / 共9页
物联网云计算分布式缓存技术及其在物联网中的应用.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

物联网云计算分布式缓存技术及其在物联网中的应用.docx

《物联网云计算分布式缓存技术及其在物联网中的应用.docx》由会员分享,可在线阅读,更多相关《物联网云计算分布式缓存技术及其在物联网中的应用.docx(9页珍藏版)》请在冰豆网上搜索。

物联网云计算分布式缓存技术及其在物联网中的应用.docx

物联网云计算分布式缓存技术及其在物联网中的应用

(物联网)云计算分布式缓存技术及其在物联网中的应用

云计算分布式缓存技术及其于物联网中的应用

多网融合、低碳节能、物物互联及移动互联网,这些当今社会的热点需求,催生了云计算技术的发展;随着PC性能提升、成本下降以及网络技术的发展,构建分布式的业务计算环境比集中的大型机的业务环境更具有成本和技术优势,为云计算的发展提供了强大的技术驱动力;Google,Amazon,Salesforce等IT巨头更是推出了基于云计算的服务,且取得了巨大的成功,让人们见到了云计算所带来的巨大优势和影响力;这也让世界各国政府对云计算的发展的非常重视,中国政府于“十二五”信息规划的技术背景中特别对云计算技术做了阐述,明确提出云计算技术是中国下壹个五年信息化产业发展的重点领域之壹,为云计算的发展提供了政策驱动力[1-2]。

正是于这样的需求、技术、应用和政策的背景下,云计算成为IT业界共同认可的主流声音。

云计算其实就是把所有的计算应用和信息资源均用网络连接起来,供个人和应用随时访问、管理和使用。

云计算服务提供资源,包括计算、存储及网络资源,需要能够实现海量的存储、出色的安全性和可靠性;云计算提供的服务应该是动态的、可扩展的,能够根据用户和应用的规模进行动态伸缩,且且这种伸缩所需要的时间是短暂、迅速的;云计算平台应该能够提供开发应用程序编程接口(API)、环境和工具,供各种应用进行使用。

只有这样云计算平台才能够和应用很好地结合起来,使得传统的集中式应用方便地迁移成高性能、高可靠且易扩展的分布式的云计算应用,为用户提供类型多样的云服务。

云计算是物联网发展的基础。

互联网主要解决人和人的互联,连接了虚拟和真实的空间;而物联网主要解决的是物和物之间的互联,连接了现实和物理世界。

物联网是以互联网的发展为前提的。

随着物联网应用的发展、终端数量的增长,会产生非常庞大的数据流,这时就需要壹个非常强大的信息处理中心。

传统的信息处理中心是难以满足这种计算需求的,于应用层就需要引入云计算中心处理海量信息,进行辅助决策。

云计算作为壹种虚拟化、分布式和且行计算的解决方案,能够为物联网提供高效的计算能力、海量的存储能力,为泛于链接的物联网提供网络引擎和支撑。

1分布式缓存的发展

于互联网应用刚起步时,各种平台大多采用的是关系型数据库。

那时PC机昂贵、性能低下且且网络不普及,而关系型数据库因为处理能力强、数据安全可靠、壹致性好等优势,壹直处于主导地位,且发挥了重要的作用。

随着互联网的发展,特别是WEB2.0等交互式、个性化应用的出现,数据量急剧增加,传统的关系型数据库已经无法满足这种快速增长的存储需求。

为此不少IT服务提供商均设计开发了自己的存储系统,如亚马逊于2007年10月份开发出的Dynamo就是其中非常典型的壹种存储系统(如图1所示),作为状态管理组件和存储服务的基础被用于众多的亚马逊的系统中[3-4]。

对于Google,Amazon,淘宝这样的互联网企业,每时每刻均有无数的用户于使用它们提供的互联网服务,这些服务带来的是大量的数据吞吐量,于同壹时间,且发的会有成千上万的连接对数据库进行操作。

于这种情况下,单台服务器或者几台服务器远远不能满足这些数据的处理需求,单靠提升服务器性也已经改变不了该情况,所以唯壹能够采用的办法就是扩展服务器的规模。

服务器规模扩展通常有俩种方法:

壹种是仍然采用关系型数据库,然后通过对数据库的垂直和水平切割将整个数据库部署到壹个集群上,这种方法的优点于于能够采用基于关系型数据库(RDBMS)的技术,但缺点于于它是针对特定应用,实施非常困难;另外壹种方法就是Google和Amazon所采用的方法,抛弃关系型数据库,采用Key-Value形式的存储,这样能够极大地增强系统的可扩展性。

事实上,基于Key-Value的分布式缓存就是由于Google的BigTable,Amazon的Dynamo以及Facebook的Cassandra等关联论文的发表而慢慢进入人们的视野,这些互联网巨头于分布式缓存上的成功实践也使之成为了云计算的核心技术[5]。

2分布式缓存技术

2.1分布式缓存的部署方式

缓存服务器集群采用无主架构,所有服务器节点地位完全壹致,互相之间采用网状的全连接方式。

应用通过调用分布式缓存提供的API对数据进行透明访问,无需关心数据于后端服务节点的分布情况。

数据于集群各节点均匀分布,集群数据处理能力随集群中节点数量的扩充呈线性增长。

集群通过数据的多副本机制能够提高系统的可用性,某几台服务节点的宕机对应用的数据访问没有任何影响。

服务器节点能够根据应用的需求灵活配置数据是否持久化存储。

分布式缓存同时提供操作控制台,能够登录到任何壹个服务节点且对集群的成员关系、访问负荷、数据分布进行监控和配置,同时通过操作维护台能够完成分布式缓存集群软件版本的安装、升级和配置。

目前分布式缓存提供基于命令行(telnet登录)和基于B/S的图形化运维方式。

分布式缓存系统的具体部署如图2所示。

2.2分布式缓存功能架构

分布式缓存为应用程序提供了客户端程序库以及若干数据服务节点组成的服务集群,客户端通过和数据服务节点通信形成可用服务器列表,且将应用程序提交的存取请求通过路由算法映射到壹个确定的数据服务节点上,具体的功能架构如图3中所示。

数据服务节点主要分成3个层次:

通信支撑层、数据处理层和数据存取层。

通信支撑层主要负责通信协议适配,根据数据处理层中路由链路管理模块的指示进行端口的侦听和主动建链,同时完成底层通信数据包的发送和接收。

数据处理层包括路由链路管理模块、访问控制处理模块以及数据迁移控制模块。

数据存储层提供内存/SSD/硬盘介质的三级存储管理,具体能够根据应用的要求进行不同的配置。

内存管理关注内存分配的效率以及如何避免内存碎片的形成,且根据数据访问频度进行最近最少使用算法(LRU)控制。

SSD和硬盘存储模式于保证访问性能的同时提供数据的持久化存储,于这俩种存储模式下数据不会随着服务节点重新启动而丢失。

数据存储层提供数据生存期管理机制,能够自动清理过期数据。

2.3分布式缓存关键技术

分布式缓存于保证数据访问可靠性、最终壹致性的同时对应用提供高吞吐、低时延的访问服务,通过增加数据服务节点即能实现处理能力的性能扩充,扩容过程对应用访问完全透明。

下面对分布式缓存涉及的关键技术进行介绍。

2.3.1NRW多副本机制

分布式缓存通过多副本机制实现数据访问的可靠性,同时多个副本之间的数据同步又会带来性能和壹致性的问题。

我们采用NRW多副本技术来保证数据于可靠性、高性能访问以及最终壹致性之间取得平衡。

图4是NRW机制的示意图,其中N是壹个数据的副本数,R代表壹次成功的读取操作中最小参和节点数量,W代表壹次成功的写操作中最小参和节点数量。

当分布式缓存的访问模型满足R+W>N时就能保证数据访问的可靠性和壹致性。

R和W直接影响性能、可用性和壹致性。

如果W设置为1,则分布式缓存集群中只要有壹个节点可用,就不会影响写操作;如果R设置为1,则分布式缓存集群中只要有壹个节点可用,就不会影响读请求。

但显而易见R和W值过小均会对影响数据访问的性能和可用性,为兼顾性能、可用性和壹致性,这俩个值壹定要合理设置。

2.3.2壹致性Hash和虚节点

壹致性Hash需要首先求出分布式缓存数据服务器(节点)的哈希值,且将其配置到0~232的圆上,用同样的方法求出存储数据的键的哈希值,且映射到圆上。

然后从数据映射到的位置开始顺时针查找,将数据保存到找到的第壹个服务器上。

如果超过232仍然找不到服务器,就会保存到第壹台缓存数据服务器上。

因为数据节点服务器的机型且不统壹,其性能和容量是不同的,能够使壹个物理节点负责多个Hash区间的处理,使高端机器能够被充分利用。

于出现热区时,能够将过热的Hash区间以虚拟节点的方式放于负荷较低的物理节点上。

分布式缓存平台结合了壹致性Hash和虚拟节点的特点且加以改进,形成了如图5的方案:

将232的Hash空间等分为若干分片,每个分片即是壹个虚节点,根据各物理节点性能差异配置处理不同数量的虚节点,这些虚节点于物理节点上的部署关系即形成虚节点的路由。

通过壹致性Hash和虚节点相结合的方式,实现了数据于集群的均匀分布,同时也实现了数据服务器节点热点的消除。

2.3.3智能路由交换

路由是指分布式缓存集群中虚节点于数据服务节点上的分布情况。

分布式缓存平台构建了壹个分布式锁同步系统来存放全局路由表,这张路由表是分布缓存集群路由管理的基准表,路由变更时必须要首先修改这张路由表中对应的路由记录。

为避免每次路由查找均需要查询分布式锁服务,各数据服务节点于本地同时存储全局路由表,路由查找时可直接于本地进行。

这样带来的壹个问题是本地路由记录可能已经过期,因此于路由记录中增加修改时间戳来进行路由记录版本的控制,举例说明:

(1)第10号虚节点的路由信息是:

存于3个副本,依次存放于服务节点A、B、C上,该条路由信息于集群中所有节点本地均有存储。

(2)A节点发生故障宕机,于A宕机期间,操作员对10号虚节点的路由记录进行了手工调整:

仍然是3个副本,依次存放于服务器节点A、D、C上,集群中除A节点外均完成了本地路由记录的更新。

(3)此后A恢复了服务,A节点本地10号虚节点的路由记录成为壹个过期的记录,当A节点收到落于10号虚节点上的数据读写请求时,就会对B、C节点的副本进行访问,访问时会带上本地10号路由记录的时间戳,B、C节点收到访问请求后会立即通知A路由信息已经过期,通过这样的路由交换机制,A快速地完成了本地路由记录更新。

上述例子中路由交换是通过数据访问请求被动触发,同时集群中每个节点的路由管理模块也会定时启动路由交换,通过这种类似病毒传染式的智能路由交换,路由变更能于集群所有节点中快速生效。

客户端API的路由记录也采用同样的方式:

客户端API本地缓存路由信息表,于数据访问的同时完成和服务节点的路由交换,大大提高了路由查找的效率,降低了数据访问的时延。

2.3.4成员关系维护和故障检测

分布式缓存将节点分成俩类:

种子节点和普通节点。

种子节点是系统配置时,需要预先从所有节点中选出若干个节点,它们的职责是指挥系统的链路建立和拆除等。

普通节点启动后,根据配置向种子节点主动建链,种子节点对连接上的普通节点进行统壹管理,根据壹定的原则比如按照IP数值的大小,通知普通节点完成互相之间的建链,种子节点互相之间也根据这个原则完成俩俩之间的连接。

图6描述集群成员关系建立的过程。

(1)分布式缓存当前有节点1、2、3、5共4个节点,相互之间俩俩存于链路,节点1、2是种子节点,节点0、3、5是普通节点。

(2)普通节点4新加入缓存集群,它首先根据配置主动连接种子节点1和节点2。

(3)种子节点1发现当前有普通节点0、3、5和它建立了链路,当普通节点4连接成功后,它根据节点大小原则指挥节点4连接普通节点0和3,同时指挥原有普通节点5连接节点4。

分布式缓存通过上述机制维护集群中节点的成员关系,最终于各节点间形成网状的全连接模型,俩俩之间具备通信链路,任何节点故障和恢复均能够快速被集群中其他节点检测到。

3分布式缓存助力物联网平台云化

3.1分布式缓存的优势和解决的问题

分布式缓存具有明显的技术优势。

分布式的架构从架构上保证了良好的扩展性,当性能不够时,能够轻松地通过添加新节点的方法扩展性能;因为良好的扩展性,所以分布式缓存的容量能够随着节点规模的增大而呈线性增加,容量不会成为系统的瓶颈;分布式缓存采用的是基于Key-Value的简单存储方式,缓存的架构和以内存为基础的访问方式使得分布式缓存性能非常高,单节点每秒能够达到24万多次的读写操作;分布式缓存所使用的多份副本复制的方法,避免单点故障;同时无中心化的架构和壹致性Hash的数据分布算法,使得局部节点的损坏不会影响整体集群的可用性,把故障的影响降到最低。

目前的应用于部署运行过程中常会遇到壹些问题:

第壹,单节点不能满足性能要求时,需要扩展到多个节点,通常采用按号段的方式进行扩展,此种扩展方式不具有通用性,和各个应用密切关联,开发和维护的成本也较高;第二,于不同的物理节点的应用上共享数据,通常通过文件的方式或同步的方式进行共享,可是这于性能和壹致性的处理上存于较大的风险和困难;第三,因为多个节点同时访问数据库,使得数据库和磁盘I/O成为系统的瓶颈,通常使用单节点的缓存方式来解决,这样壹方面会造成系统资源的浪费,另壹方面也使各个节点中缓存壹致性的处理也非常复杂;第四,应用节点的应用程序意外退出重启动后,如何保证已有的会话不掉线,往往通过写文件的方法实现,这时磁盘I/O以及系统初次的加载均存于性能瓶颈。

把分布式缓存引进应用后,能够方便地帮助应用解决这些问题。

应用通过调用分布式缓存提供的API接口,把关键的数据放到分布式缓存中,而自身重点关注应用逻辑的处理,这样能够轻松打造出高性能的、可扩展的、高可靠的分布式应用系统,通过标准接口的封装,对外提供云服务。

3.2分布式缓存于物联网中的应用

物联网的出现是信息通信技术(ICT)的新挑战。

物联网无所不于,它能够使所有的物体,从洗衣机到冰箱、从房屋到汽车通过物联网进行信息交换。

物联网技术融入了射频识别(RFID)技术、传感器技术、纳米技术、智能技术和嵌入技术。

物联网技术将是改变人们生活和工作方式的重要技术。

物联网主要包括3个层次,如图7中所示。

第1个层次是传感器网络,也就是目前所说的包括RFID、条形码、传感器等设备于内的传感网,主要用于信息的识别和采集;第2个层次是信息传输网络,主要用于远距离无缝传输来自传感网所采集的巨量数据信息;第3个层次是信息应用网络,该网络主要通过数据处理及解决方案来提供人们所需要的信息服务。

物联网业务网关属于第3个层次,如图8所示。

它是实现物联网应用和物联网终端智能连接的桥梁,能够提供接入认证、智能路由、业务计费、能力接入、服务质量(QoS)服务保障等核心功能。

支持通用分组无线业务(GPRS)、短信、有线接入等多种网络接入方式。

物联网业务网关汇聚所有的机器到机器(M2M)终端消息,除了支持标准协议终端的消息处理外,对非标准协议终端也提供IP层路由转发和业务鉴权功能。

因此对业务网关关联的性能提出了极高的要求。

中兴通讯物联网业务网关采用多模块架构,通过引入云计算分布式缓存平台,使其具有极高的吞吐率,保证了网关的高且发处理能力,系统于俩个刀片机框满配置的情况下,可达到18万条/秒的报文转发速率。

分布式缓存的应用,使系统支持数据动态迁移,于个别节点故障不会造成事务的中断。

4结束语

物联网和云计算存于着密不可分的关系。

壹方面,物联网的发展离不开云计算的支撑。

从量上见,物联网将使用数量惊人的传感器(如数以亿万计的RFID、智能尘埃和视频监控等),采集到的数据量惊人。

这些数据需要通过无线传感网、宽带互联网向某些存储和处理设施汇聚,而使用云计算分布式缓存等系列技术来承载这些任务具有非常显著的性价比优势;从质上见,使用云计算系列技术对这些数据进行处理、分析、挖掘,能够更加迅速、准确、智能地对物理世界进行管理和控制,使人类能够更加及时、精细地管理物质世界,从而达到“智慧”的状态,大幅提高资源利用率和社会生产力水平[6]。

能够见出,云计算凭借其强大的处理能力、存储能力和极高的性能价格比,很自然就会成为物联网的后台支撑平台。

另壹方面,随着物联网针对智能交通、智能医疗、智能电网等领域解决方案的落地,物联网将成为云计算最大的用户,为云计算系列技术取得更大商业成功奠定基石。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1