前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的云计算与分布式技术主题范文,仅供参考,欢迎阅读并收藏。
关键词: 内河航运; 弹性计算技术; 两级分布式; 数据处理
中图分类号:TP301 文献标志码:A 文章编号:1006-8228(2014)06-34-04
0 引言
内河航运是我国综合运输体系的重要组成部分,在我国经济发展中起着非常重要的作用。针对航运市场发展的总体态势,发挥信息化对水路运输行业现代化发展的支撑和引领作用,以信息资源共享为基础,以信息服务为核心,以现代物联网技术、通信技术和信息技术为支撑,以促进水路交通运输产业和物联网产业发展为目标,进行智能航运信息服务应用的研究。
物联网是通过基础设施层的各种感知设备感知物体信息,然后利用网络技术将感知获取的海量数据传输至物联网数据中心,物联网信息服务系统整合了海量数据,为各种物联网应用提供信息服务并接收反馈控制[4]。而船联网是物联网的一个典型的应用,船联网以船舶、航道、陆岸设施为基本节点和信息源,结合具有卫星定位系统、无线通信技术的船载智能信息服务,利用船载电子传感装置,通过网络完成信息交换,在网络平台上完成各节点的属性和动/静态信息的进行提取、监管和利用[5]。
1 平台架构
船联网项目采用一个中心、多个省级分节点的部署架构,借助目前成熟的MapReduce计算模型,结合智能航运数据处理的实际需要,本文提出一种两级分布式计算平台:中心和各省分节点之间组成一个船联网全局性的分布式平台;中心节点自身建设为一个局域分布式平台。这里称大平台为全局分布式框架,中心节点的局域平台为中心分布式框架,示意如图1。
船联网全局分布式框架广域部署,通过中心节点调度各省资源,支撑船联网省级航运业务应用,如区域船舶监控、应急指挥等。中心分布式框架在中心节点局域部署,通过中心主节点调度中心分节点资源,支撑项目全局性的业务应用,如综合监管、统计分析等。
这两级分布式计算框架都需要能够处理航运海量的数据,比如船舶船员基本信息、船舶签证、船舶动态感知数据、航运地理信息数据等。从区别上讲,全局分布式框架侧重各省级分节点与中心节点、分节点之间的互联互通和数据共享;中心分布式框架用于完成中心节点各种数据计算任务,并为全局分布式框架的计算调度提供支持。
2 计算模型
2.1 全局分布式框架计算模型
船联网全局分布式框架的计算模型如下。
⑴ 各省级分节点处理各省航运数据,包括数据的整合、清洗、转换等,即分节点可以处理的计算任务直接在分节点完成。
⑵ 中心节点整合各个分节点上报的数据,包括船舶船员基本信息、船舶签证信息、动态感知信息等。
⑶ 船舶船员基本信息、编码等静态数据由中心节点轮询各分节点采集;船舶签证信息、感知信息等动态数据由分节点主动推送。
⑷ 各分节点只与中心节点联系,分节点之间不直接交换数据。
2.1.1 省级分节点的数据处理
省级分节点负责从各省航运业务系统采集数据,完成省一级的数据整合和清洗,同时可以支撑省一级的航运应用。
例如,A省有一GPS系统采集船舶位置信息,则A省分节点负责从该GPS系统采集船舶位置信息并存储,然后完成数据的校验清洗,再按要求将该数据上传中心节点。A省如有另一业务系统只需要本省船舶GPS信息,则直接从A省分节点获取,不需要向船联网中心节点发起请求。
2.1.2 中心节点的数据处理
船联网中心节点负责接收各个省级分节点上传的已初步清洗的数据,然后再作最终的数据整合。由于在各分节点已清洗过,已屏蔽掉大量数据问题,所以中心节点只需要处理少量计算(主要是再一次检验的计算量)即可完成数据整合。
完成整合后的数据在中心节点落地,交由中心节点作进一步的分析处理。船联网在整合数据的基础上提供全局性的数据服务支持,比如跨区域的数据服务。
2.1.3 节点间的数据传输机制
船联网节点间的数据传输将只在中心节点和分节点之间进行,分节点之间相互隔离。中心节点定期轮询各个省级分节点,将船舶基本信息等主数据采集上来(分节点提供相应的数据库接口),并监控各分节点的运行状态。各个省级分节点通过消息服务,定期将签证、感知信息等动态实时数据推送给中心节点。
2.2 中心分布式框架计算模型
船联网中心节点分布式框架计算模型使用目前较为成熟的MapReduce计算模型。目前世界上最快的1TB排序记录就是由基于MapReduce实现的。
MapReduce将计算任务划分为map和reduce两个阶段。map阶段负责“分”,即把复杂的任务分解为若干个“简单的任务”执行。“简单的任务”有以下几个含义:
⑴ 数据或计算规模相对于原任务要大大缩小;
⑵ 就近计算,即任务会被分配到存放了所需数据的节点进行计算;
⑶ 这些小任务可以并行计算,彼此间几乎没有依赖关系。
reduce阶段负责对map阶段输出的结果进行汇总,即将分割开的任务合并,将与一个key关联的一组中间数值集归约为一个更小的数值集,输出最终的计算结果。
2.2.1 MapReduce执行机制[1-3]
通过将Map调用的输入数据自动分割为M个数据片段的集合,Map被分布到多台机器上调用执行。输入的数据片段能够在不同的机器上并行处理。使用分区函数将Map调用产生的中间key值分成R个不同分区,Reduce调用也被分布到多台机器上执行。分区数量和分区函数由用户来指定。
⑴ 计算程序首先调用的MapReduce库将输入文件分成M个数据片段,每个数据片段的大小一般从 16MB到64MB(可以通过备选参数来控制每个数据片段的大小)。然后计算程序在机群中创建大量的程序副本。
⑵ 这些程序副本中有一个特殊的程序-master。副本中其他程序都是worker程序,由master分配任务。有M个map任务和R个reduce任务将被分配,master将一个map任务或reduce任务分配给一个空闲的worker。
⑶ 被分配了map任务的worker程序读取相关的输入数据片段,从输入的数据片段中解析出key/value对,然后把key/value对传递给计算程序自定义的map函数,由map函数生成并输出的中间key/value对,并缓存在内存中。
⑷ 缓存中的key/value对通过分区函数分成R个区域,之后周期性的写入到本地磁盘上。缓存的key/value对在本地磁盘上的存储位置将被回传给master,由master负责把这些存储位置再传送给reduce worker。
⑸ 当reduce worker程序接收到master程序发来的数据存储位置信息后,使用RPC从map worker所在主机的磁盘上读取这些缓存数据。当reduce worker读取了所有的中间数据后,通过对key进行排序后使得具有相同key值的数据聚合在一起。由于许多不同的key值会映射到相同的reduce任务上,因此必须进行排序。如果中间数据太大无法在内存中完成排序,那么就要在外部进行排序。
⑹ reduce worker程序遍历排序后的中间数据,对于每一个惟一的中间key值,reduce worker程序将这个key值和它相关的中间value值的集合传递给用户自定义的reduce函数。reduce函数的输出被追加到所属分区的输出文件。
⑺ 当所有的map和reduce任务都完成之后,master唤醒计算程序。在这个时候,在计算程序里的对MapReduce调用才返回。
2.2.2 结果数据的处理
在成功完成任务之后,MapReduce的输出存放在R个输出文件中(对应每个Reduce任务产生一个输出文件,文件名由用户指定)。如果这些输出不是最终的业务计算结果,则不需要将这R个输出文件合并成一个文件,而是把这些文件作为另外一个MapReduce的输入,或者在另外一个可以处理多个分割文件的分布式应用中使用。
当得出最终的业务计算结果,可能需要将数据迁移到适合业务应用访问的存储中,比如关系型数据库或支持高并发、低响应延迟的NOSQL数据库中。
3 节点故障处理机制
作为一个分布式计算平台必须要能很好地处理节点故障,不能因为某一个节点的故障而导致整个集群的计算任务失败。对于任务本身因为代码缺陷造成的执行失败,当任务执行次数超过一定阈值后便不再执行,不列为节点故障问题。
3.1 中心节点故障
中心节点分布式框架中存在worker和master两类节点角色。
3.1.1 worker故障
master周期性地ping每个worker。如果在一个约定的时间范围内没有收到worker返回的信息,master将把这个worker标记为失效。所有由这个失效的worker完成的map任务被重设为初始的空闲状态,之后这些任务就可以被安排给其他的worker。同样,worker失效时正在运行的map或reduce任务也将被重新置为空闲状态,等待重新调度[2]。
当worker故障时,由于已经完成的map任务的输出存储在这台机器上,map任务的输出已不可访问了,因此必须重新执行。而已经完成的reduce任务的输出存储在全局文件系统上,因此不需要再次执行。
当一个map任务首先被worker A执行,之后由于worker A失效了,又被调度到worker B执行,这个“重新执行”的动作会通知给所有执行reduce任务的worker。任何还没有从worker A读取数据的reduce任务将从worker B读取数据。
MapReduce可以处理大规模worker失效的情况,MapReduce master只需要简单地再次执行那些不可访问的worker的工作,之后继续执行未完成的任务,直到最终完成这个MapReduce操作。
3.1.2 mastre故障
一个简单的解决办法是,让master周期性的将描述集群计算任务的数据结构的写入磁盘(位于集群以外的位置),即检查点(checkpoint)。如果这个master任务失效了,可以从最后一个检查点(checkpoint)开始启动另一个master进程。然而,由于只有一个master进程,master失效后再恢复是比较麻烦的,因此我们现在的实现是,如果master失效就中止MapReduce运算。客户可以检查到这个状态,并且可以根据需要重新执行MapReduce操作[2]。
当用户提供的map和reduce操作是输入确定性函数(即相同的输入产生相同的输出)时,我们的分布式计算任务在任何情况下的输出都和所有程序以正常的顺序执行所产生的输出是一样的。
3.2 省级分节点故障
基于全局分布式框架的计算模型,如果省级分节点发生故障,则该省的数据将缺失(主要是影响动态感知数据),和该省相关的数据计算任务都将失败。但不会影响其他省与中心节点之间的业务,中心节点仍能保持绝大部分的业务服务能力。
省级分节点需要具备一定的冗灾机制,比如数据库HA、数据备份,以应对分节点故障,保证分节点的不间断运行。同时在省级分节点和中心节点之间的网络设施上也应该有一定的冗余,以应对突发事件。
4 应用场景
以下论述船联网两级分布式计算框架的应用场景,以及在各个场景下集群的计算扩展能力。
4.1 跨省船舶监控
船联网要求实现跨省船舶实现联网监控,比如A省船舶进入B省区域,B省应能够立即获取到该船舶的基本信息和动态感知数据(如GPS)。
在船联网分布式计算框架下,当有船舶跨省行驶,船舶所属省的省级分节点将率先监控到这一行为,分节点会查询该船只的基本信息和签证信息,然后通知中心节点,并开始向中心节点持续发送该船只的动态感知数据。中心节点得到信息后,更新该船只的状态信息,然后联系船舶进入的目的省所在的省级分节点,将船舶基本信息、动态数据也发送给目的省分节点。当船只返回原籍或驶入其他省份,则中心节点变更推送的目的分节点。如此一来,跨省船舶的信息在中心节点和目的省都可以查询和监控,在保证集群线性扩展能力的前提下完成了跨省船舶的监控跟踪。
4.2 航运数据质量分布式管控
智能航运首先需要按照一个统一的数据标准校验其数据质量,通过校验的数据才能应用于应用服务。同时,船联网也需要一套持续可行的数据质量管理机制,保证后续数据处理的规范性。
通过智能航运数据处理的分布式弹性计算框架,可以采取分而治之的方式达到数据质量的管控,同时也能保证整体架构的扩展性。中心节点制定数据质量管控的规范,下发数据标准到各个省级分节点。省级分节点按照数据标准校验并清洗自己负责的部分,转换为符合要求的数据结构,然后将结果数据和数据质量处理报告上报给中心节点。如果省级分节点持续增加,数据在达到一定规模限制后中心节点也可以借助自身的中心分布式框架进行计算扩展。
4.3 海量航运数据挖掘分析
随着海量航运数据的集中,为挖掘数据的内在价值,需要对这些业务数据进行统计分析和数据挖掘,如预测建模、关联分析、数据聚类、异常检测等。进行海量航运数据挖掘分析时,两级分布式计算框架通过全局分布式保证了挖掘模型样本的数据质量,然后在中心分布式框架上完成挖掘分析计算。在中心分布式框架上可以结合mahout、R等挖掘分析软件,更快速地完成分析模型的构建。
5 结束语
两级分布式计算平台的设计体系可以在满足当前智能航运数据处理要求的情况下,充分考虑到今后航运信息化发展中数据爆炸性增长时的计算扩展要求。虽然在初期,整个分布式计算平台的建设需要一定的投入(涉及多个省市以及中心节点的建设),但由于具备良好的线性扩展能力,今后的集群扩展成本将非常可控:平台不需要更换升级,只要不断增加节点,即可以提供不断增长的计算能力。随着具体计算需求的落地和实现,智能航运分布式计算平台将充分挖掘航运数据中的价值,为航运业务应用提供更好的数据支撑和运算服务。
参考文献:
[1] L?mmel R. Google's MapReduce programming model―Revisited[J].Science of computer programming,2008.70(1): 1-30
[2] Dean J, Ghemawat S. MapReduce: simplified data processing on
large clusters[J]. Communications of the ACM,2008.51(1):107-113
[3] Urbani J, Kotoulas S, Oren E, et al. Scalable distributed reasoning
using mapreduce[M]//The Semantic Web-ISWC 2009. Springer Berlin Heidelberg,2009:634-649
关键词:物联网技术;云计算;分布式缓存;部署方式;功能架构
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2017)05-0243-01
1 前言
物联网技术是在计算机、互联网和移动通信网相继应用之后的又一次通讯产业的巨大变革,通过信息传输和处理技术,实现了大范围内的物体之间的信息交互。该技术能够更好的协助工作人员和用户实现对于物理世界的管理。云计算中的分布式缓存技术具有处理能力大、系统容量大、扩展性好和稳定性强等优势,在物联网中有着广阔的应用前景。
2 物联网技术
根据现在较为通用的定义,物联网是指通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。简而言之,物联网就是“物物相连的互联网”,其核心和基础仍是互联网,是在互联网基础上延伸和扩展的网络,其用户端延伸和扩展到了任何物品与物品之间的信息交换和通信。物联网产业覆盖了传感感知、传输通道、运算处理、行业应用等领域,其中涉及的技术包括RFID射频识别、传感器、无线网络传输、高性能计算、智能控制等。
3 云计算分布式缓存技术
3.1 分布式缓存技术功能架构分析
分布式缓存从本质上来说属于一个应用程序,在该程序中用户能够得到多个数据节点传输的集群服务信息,并于数据服务节点进行数据交互,在用户提出数据存取请求之后,能够通过特定算法映射在指定的数据服务节点上。分布式缓存技术功能架构主要有三部分:通信支撑层、数据存取层和数据处理层。其中通信支撑层的主要功能是实现通信协议,具体来看是依据路由连接管理区域的分布进行数据建联和侦听窗口建立;数据处理层的主要功能是访问控制处理、管理链路和控制数据迁移;数据存储层的主要功能是管理系统中的数据,主要有内存、SSD和硬盘三级管理机制,其中内存管理能够分配内存的分配情况,依据实施访问数据量进行内存空间的释放和关闭,能够在一定程度上避免内存碎片导致系统效率降低;SSD和硬盘管理主要负责服务器访问过程中产生的永久数据的保存。在这样的三级管理机制下,能够保证系统在重启或者关机的过程中仍然保持数据的连续性,避免数据丢失和恶意修改。
3.2 分布式缓存技术部署方式分析
分布式缓存的服务器集群主要采用无主架构,由于服务器的节点地位相同,因此,可以利用网状的全连接方式进行连接。为保证系统的使用方便,可以利用API进行数据透明访问,采取这样的部署方式能够降低分析数据在后端服务节点分布情况的计算量,能够极大的提高系统的处理效率。与此同时,分布式缓存集群的处理能力与集群中数据节点的规模相关,随着缓存数据在集群中各节点分布量的增加,稻荽理能力也会随之提升。采用这样一种数据缓存分布模式的另一个优势在于用户可以在任意服务点登录系统,系统提供了一个灵活性较高的操作控制台,在这样一个控制台中,可以进行集群服务节点数据的查阅,也可容易通过该平台进行集群软件的安装和更新。
3.3 分布式缓存技术的优势
云计算中分布式缓存的主要优势体现在整体架构的扩展性能较强,一旦出现系统性能不足以满足数据处理和访问的需要,只需要增加新的节点,就能较为简便的完成框架性能的提升。分布式缓存的这一优势使得系统容量能有随着节点的增加而增加。与此同时,单个节点的访问量高峰时能够达到20万次/秒,分布式缓存为了在单点出现故障的情况下,仍能保证系统的完整性,采用了多副本复制技术,同时考虑到该项技术中使用的一致性Hash分布算法和无主结构框架,大大提升了系统的抗干扰能力,保证系统运行的稳定性。
4 云计算分布式缓存技术在物联网中的应用
物联网技术是一项革命性的技术,是对传统信息通讯技术的巨大挑战,物联网技术在日常生活和工作中无处不在,它在人与人信息交互的基础上,创造性地提出了物体之间的数据传输和交流。但是这样规模的数据传输,需要处理和存储海量的数据,对现有的数据缓存和处理技术提出了新的要求。另一方面,物联网技术不仅能够处理标准协议终端之间的信息传递需要,同时满足非标准协议终端之间的业务授权操作,这就要求网关业务必须要保持非常好的连通性和抗干扰性。结合上文中对于云计算分布式缓存技术的分析,认为该技术能够很好的满足现在即将来物联网技术对于海量数据处理和存储的要求。应用该技术,能够很好的提升系统在高数据吞吐量条件下的处理速度和稳定性,提升物联网中高水平的并发处理能力,增强动态数据迁移的需要。更为重要的是,在物联网扩容的时候,只需要经过简单的操作,就能够增加数据节点,从而提升系统容量和处理速度。在某一个节点出现问题的情况下,也能维持系统的正常运转,正在处理的业务不会中断,数据也早已进行备份,避免了数据的丢失。
5 结语
物联网的发展和云计算的兴起有着非常紧密的联系,物联网包含了各类物体实体的信息,如果没有高效的存储方式和快速的处理系统,就无法实现物联网的大部分功能。云计算技术为物联网中数据的存储和树立提供了技术支持,将分布式缓存技术应用到物联网中,能够大幅提升网络的效率,提升社会生产力。
参考文献:
[1] 李爽. 基于云计算的物联网技术研究[D]. 安徽大学, 2014.
正是在这样的需求、技术、应用和政策的背景下,云计算成为IT业界共同认可的主流声音。云计算其实就是把所有的计算应用和信息资源都用网络连接起来,供个人和应用随时访问、管理和使用。云计算服务提供资源,包括计算、存储及网络资源,需要能够实现海量的存储、出色的安全性和可靠性;云计算提供的服务应该是动态的、可扩展的,能够根据用户和应用的规模进行动态伸缩,并且这种伸缩所需要的时间是短暂、迅速的;云计算平台应该能够提供开发应用程序编程接口(API)、环境和工具,供各种应用进行使用。只有这样云计算平台才能够和应用很好地结合起来,使得传统的集中式应用方便地迁移成高性能、高可靠且易扩展的分布式的云计算应用,为用户提供类型多样的云服务。
云计算是物联网发展的基础。互联网主要解决人与人的互联,连接了虚拟与真实的空间;而物联网主要解决的是物与物之间的互联,连接了现实与物理世界。物联网是以互联网的发展为前提的。随着物联网应用的发展、终端数量的增长,会产生非常庞大的数据流,这时就需要一个非常强大的信息处理中心。传统的信息处理中心是难以满足这种计算需求的,在应用层就需要引入云计算中心处理海量信息,进行辅助决策。云计算作为一种虚拟化、分布式和并行计算的解决方案,可以为物联网提供高效的计算能力、海量的存储能力,为泛在链接的物联网提供网络引擎和支撑。
1 分布式缓存的发展
在互联网应用刚起步时,各种平台大多采用的是关系型数据库。那时PC机昂贵、性能低下并且网络不普及,而关系型数据库因为处理能力强、数据安全可靠、一致性好等优势,一直处于主导地位,并发挥了重要的作用。随着互联网的发展,特别是WEB 2.0等交互式、个性化应用的出现,数据量急剧增加,传统的关系型数据库已经无法满足这种快速增长的存储需求。为此不少IT服务提供商都设计开发了自己的存储系统,如亚马逊在2007年10月份开发出的Dynamo就是其中非常典型的一种存储系统(如图1所示),作为状态管理组件和存储服务的基础被用于众多的亚马逊的系统中。
对于Google,Amazon,淘宝这样的互联网企业,每时每刻都有无数的用户在使用它们提供的互联网服务,这些服务带来的是大量的数据吞吐量,在同一时间,并发的会有成千上万的连接对数据库进行操作。在这种情况下,单台服务器或者几台服务器远远不能满足这些数据的处理需求,单靠提升服务器性也已经改变不了该情况,所以唯一可以采用的办法就是扩展服务器的规模。服务器规模扩展通常有两种方法:一种是仍然采用关系型数据库,然后通过对数据库的垂直和水平切割将整个数据库部署到一个集群上,这种方法的优点在于可以采用基于关系型数据库(RDBMS)的技术,但缺点在于它是针对特定应用,实施非常困难;另外一种方法就是Google和Amazon所采用的方法,抛弃关系型数据库,采用Key-Value形式的存储,这样可以极大地增强系统的可扩展性。事实上,基于Key-Value的分布式缓存就是由于Google的BigTable,Amazon的Dynamo以及Facebook的Cassandra等相关论文的发表而慢慢进入人们的视野,这些互联网巨头在分布式缓存上的成功实践也使之成为了云计算的核心技术。
2 分布式缓存技术
2.1 分布式缓存的部署方式
缓存服务器集群采用无主架构,所有服务器节点地位完全一致,互相之间采用网状的全连接方式。应用通过调用分布式缓存提供的API对数据进行透明访问,无需关心数据在后端服务节点的分布情况。数据在集群各节点均匀分布,集群数据处理能力随集群中节点数量的扩充呈线性增长。集群通过数据的多副本机制能够提高系统的可用性,某几台服务节点的宕机对应用的数据访问没有任何影响。服务器节点能够根据应用的需求灵活配置数据是否持久化存储。
分布式缓存同时提供操作控制台,能够登录到任何一个服务节点并对集群的成员关系、访问负荷、数据分布进行监控和配置,同时通过操作维护台可以完成分布式缓存集群软件版本的安装、升级和配置。目前分布式缓存提供基于命令行(telnet登录)和基于B/S的图形化运维方式。分布式缓存系统的具体部署如图2所示。
2.2 分布式缓存功能架构
分布式缓存为应用程序提供了客户端程序库以及若干数据服务节点组成的服务集群,客户端通过和数据服务节点通信形成可用服务器列表,并将应用程序提交的存取请求通过路由算法映射到一个确定的数据服务节点上,具体的功能架构如图3中所示。
数据服务节点主要分成3个层次:通信支撑层、数据处理层和数据存取层。
通信支撑层主要负责通信协议适配,根据数据处理层中路由链路管理模块的指示进行端口的侦听和主动建链,同时完成底层通信数据包的发送和接收。
数据处理层包括路由链路管理模块、访问控制处理模块以及数据迁移控制模块。
数据存储层提供内存/SSD/硬盘介质的三级存储管理,具体可以根据应用的要求进行不同的配置。内存管理关注内存分配的效率以及如何避免内存碎片的形成,并根据数据访问频度进行最近最少使用算法(LRU)控制。SSD和硬盘存储模式在保证访问性能的同时提供数据的持久化存储,在这两种存储模式下数据不会随着服务节点重新启动而丢失。数据存储层提供数据生存期管理机制,能够自动清理过期数据。
2.3 分布式缓存关键技术
分布式缓存在保证数据访问可靠性、最终一致性的同时对应用提供高吞吐、低时延的访问服务,通过增加数据服务节点即能实现处理能力的性能扩充,扩容过程对应用访问完全透明。下面对分布式缓存涉及的关键技术进行介绍。
2.3.1 NRW多副本机制
分布式缓存通过多副本机制实现数据访问的可靠性,同时多个副本之间的数据同步又会带来性能和一致性的问题。我们采用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、智能尘埃和视频监控等),采集到的数据量惊人。这些数据需要通过无线传感网、宽带互联网向某些存储和处理设施汇聚,而使用云计算分布式缓存等系列技术来承载这些任务具有非常显著的性价比优势;从质上看,使用云计算系列技术对这些数据进行处理、分析、挖掘,可以更加迅速、准确、智能地对物理世界进行管理和控制,使人类可以更加及时、精细地管理物质世界,从而达到“智慧”的状态,大幅提高资源利用率和社会生产力水平。可以看出,云计算凭借其强大的处理能力、存储能力和极高的性能价格比,很自然就会成为物联网的后台支撑平台。另一方面,随着物联网针对智能交通、智能医疗、智能电网等领域解决方案的落地,物联网将成为云计算最大的用户,为云计算系列技术取得更大商业成功奠定基石。
Cloud Computing Distributed Cache Technology and Tts Application in the Internet of Things
在分布式存储领域,书生云公司投下了一颗重磅“炸弹”。书生云新一代分布式存储SurFS的爆炸性不仅体现在对传统存储架构的颠覆上,更具代表性和引领性的是,书生云将SurFS的核心技术开源,这也让书生云站到了开源的风口浪尖上。
突破来得很及时
其实,许多互联网公司很早就开始使用分布式存储技术。在云计算兴起后,一个普遍的观点是,分布式存储技术是最适合云计算应用的。虽然许多传统企业在拥抱“互联网+”的过程中,希望借鉴互联网思维实现转型升级,但是在互联网企业那里得到成功验证的新技术和解决方案就一定适合企业级用户吗?分布式存储能够完全取代传统SAN存储吗?这些问题只有在经过更加深入的研究和实践之后,才能找到答案。
人们已经意识到,在云平台的建设中,存储和网络可能是瓶颈所在。因此,软件定义网络(SDN)、软件定义存储(SDS)成了许多人追逐的对象。就存储而言,传统SAN的高性能、高可用、高可靠是企业级用户所倚重的,但是SAN的高成本、高复杂度、不能横向扩展则是企业级用户心中挥之不去的阴影。
在这种情况下,有人想到了“折中”的办法,比如宏杉科技将分布式存储技术与传统SAN进行融合,推出了CloudSAN。而书生云毫不妥协地选择了分布式存储的发展道路,推出了自主研发的新一代分布式存储系统SurFS。
书生云董事长王东临表示,SurFS对存储网络进行了颠覆式的创新,率先采用SAS做存储网络,在将带宽提升几十倍的同时大大降低了延迟。
SurFS主要实现了两大突破:第一,去中心化,将存储控制节点与存储介质分离,存储控制节点与计算节点聚合,基于全局存储池,使得单个存储服务器可以访问所有磁盘;第二,采用SAS交换网络取代通常所用的IP网络,性能更高,网络损耗和延迟更低,且支持纠删码。
OpenStack官方网站的数据显示,在同样配置下,SurFS的性能远超当前主流的HDFS、Ceph、GFS等分布式存储系统,将云平台的综合性能提升50%;在同样采购规模下,SurFS的购置成本可以降低20%,运维成本降低50%。王东临表示,SurFS在性能、成本、可靠性、可用性和可扩展性等5个重要指标上有重大提升。
用一句话概括,SurFS分布式存储利用超融合突破了传统存储的成本限制,同时利用SAS交换机突破了性能的限制。
云安全和云存储是书生云构建企业云平台的两大重要技术支柱。TruPrivacy是书生云的自有专利技术,它重新定义了云存储服务的安全性,即使网络被攻破、服务器被黑、源代码被泄露,任何人也无法从云端窃走数据。SurFS可以提供块存储、NAS存储和对象存储服务,并可直接与OpenStack集成。正是基于这些特色技术,书生云在云计算领域如鱼得水,并且打造了企业私有云、企业云盘、美国医疗云服务和全球个人云文档服务四大核心业务。
书生云为什么这么大方?
书生云SurFS的其实是一箭双雕:一方面,SurFS开辟了新一代分布式存储的新路;另一方面,书生云“大方”地将SurFS开源,有兴趣的人可以在Github上下载使用。
开源一词有多层含义,它既是一种软件开发模式,又是一种商业模式,更是一种文化。中国的软件工程师对开源软件并不陌生,很多工程师在接到公司下发的任务后,第一件事就是上网去寻找有没有开源软件可以直接下载使用,但以前通常只索取,不贡献。近几年,中国的开源氛围越来越浓厚,除了人们对开源技术越来越有信心,中国厂商和开发者加入开源社区并积极贡献代码也是一个重要原因。在Linux、OpenStack、Ceph等全球知名的社区中,一些中国厂商在代码贡献量方面的排名十分靠前,有的甚至能位列前三。
但同时我们也看到,在全球范围内具有影响力的开源社区主要由国外厂商主导,源自中国的开源社区几乎没有,更没有能在国际上流行起来的开源项目。书生云公司将SurFS技术开源,也是期望打破这一局面。
最近在开源领域引起广泛关注的一条消息是,开源软件市场的领导者红帽公司年收入首次突破20亿美元大关。这一里程碑式的事件表明,开源软件已经成为商业主流,开源软件也可以很好地满足企业级用户的需求。
开源不是“做雷锋”,开源也能与商业完美结合,也能挣钱。开源并不是单纯地降低了使用门槛,而是对用户提出了寻求自我价值匹配的更高要求。SurFS的开源可以通过“免费+定制化增值服务”的方式,为客户提供高性价比的云平台解决方案。
为了将SurFS开源,王东临对公司董事会做了大量说服工作。从技术的角度讲,SurFS开源可以让书生云更方便地借助开源生态圈,集众人之力共同完善SurFS的技术细节和功能,有可能将SurFS变成一个行业的标准;从商业的角度讲,以前销售是书生云的一个短板,通过SurFS开源,书生云可以方便地拓展销售渠道,吸引更多的客户;从社会效益的角度讲,开源也是服务社会之举。王东临介绍说,开源SurFS的盈利之道主要包括:为客户提供商业版本的SurFS产品,提供相关的技术支持服务,开展针对SurFS的培训和认证。
如今,开源已经成了中国软件厂商实现自主创新的重要抓手。迈入云计算、大数据时代,中国厂商在开源方面取得的进展也迅速缩小了中外IT厂商之间的技术差距。现在,一提到云计算,人们首先会想到OpenStack;一提到大数据,首先会想到Hadoop。这些技术都是开源的。围绕着这些开源技术、社区,中国也涌现出一大批初创企业。
中国工程院倪光南院士在SurFS会上表示:“开源是一种明智的商业模式,它可以促进原始创新。SurFS的开源正逢其时。”
SurFS还有提升空间
新一代分布式存储SurFS并不是纸上谈兵。王东临表示:“我们将OpenStack作为SurFS的一个主要应用场景,并且把SurFS提交给了OpenStack社区。在OpenStack存储后端、视频监控等应用场景中,SurFS已经实现了商业化部署。”
在市场上,SurFS并不是孤军奋战,因为书生云从一开始就为SurFS规划了一个协同发展的生态圈。参加SurFS产品会的金山云、奇虎360、海云捷迅、华三通信、九州云、United Stack、乐视云、联想、海康威视、神州数码、太极等厂商都对SurFS技术表示出浓厚的兴趣,其中有些厂商已经成了书生云的亲密战友。
企业级OpenStack云服务提供商海云捷迅CTO李华充分肯定了SurFS在技术架构上的先进性,认为SurFS为OpenStack提供了一种很好的存储选项。海云捷迅正尝试与书生云在OpenStack云平台建设方面进行合作。
OpenStack平台通常会采用以下三种存储方式:第一,本地磁盘,基本用于测试环境;第二,传统存储,比如FC SAN、IP SAN等;第三,分布式存储。SurFS为OpenStack后端存储提供了一种新的选择。
关键词: 流量积算; 分布式系统; 云服务; 嵌入式系统; Web
中图分类号: TN919?34; TP273.5 文献标识码: A 文章编号: 1004?373X(2017)01?0104?04
Abstract: The distributed cloud computing technology is applied to the monitoring and control of the industrial production process, which plays the significant auxo?action to improve the system real?time performance, compatibility and scalability, and reduce the device cost and maintenance expense. The flow integrating management system is composed of the field acquisition control device and cloud service center. The field acquisition control device is used to collect the flow, temperature and pressure signals of the field acquisition device, and send the data to the cloud service center. The cloud service center takes charge of the flow centralizing integrating, real?time data and historical data storage, Web interactive exhibition and control. The system realizes the functions of flow data distributed collection, centralizing integrating in the cloud terminal, data unified storage, Web interactive exhibition and control, satisfies the requirement of work site for flow data unified management, and provides the mature and available architecture model and foundation for the expansion of other application models.
Keywords: flow integrating; distributed system; cloud service; embedded system; Web
0 引 言
长期以来,流量的计量一直是计量工作中的重点和难点,直接影响着企业运行的稳定和企业成本的控制。随着能源计量网络的不断完善和发展,对流量的计量提出了新要求。由于工业控制对参数的采集精度和控制的复杂程度要求越来越高,并且工业现场环境存在一定的不确定性、多变且比较恶劣,再加上现场操作工人的技术水平不够高,这就对流量积算的性能提出了更高的要求。
为了避免供能单位和用户之间可能存在的计量偏差,除了选择合理的现场流量计外,同时也需要配备性能优异并符合目前智能化、网络化要求的流量积算设备,这样才能组成完善的流量计量系统。因此,将云计算和物联网的概念和模型引入流量积算系统,设计一种基于分布式数据采集网络的流量积算云服务系统,能够极大地调高流量数据的传输效率,简化流量检测系统的复杂程度,提高系统的稳定性和可靠性,并且使对流量的监测和控制变得更加简单和方便,提高整个测量系统的信息化水平。
1 分布式流量积算云服务系统的设计
1.1 系统架构
分布式流量积算云服务系统以生产过程流量测量特性及管理体系作为设计依据,以分布式系统结构为基础,以云端统一积算和管理为支撑,并结合船舶企业实际计量网络、检测设备状况、硬件环境等实际情况设计系统的总体架构。
分布式流量积算云服务系统的总体架构分为两部分,包括分布式采集监控设备和云服务中心。
(1) 分布式采集监控设备:采用北京世纪联信公司研制的分布式实时数据服务器(Distributed I/O Server)和嵌入式远程终端服务器(Remote Terminal Server,RTS)作为数据采集监控设备,通过分布式网络结构实现对硬件设备、计量仪表(流量计、温度传感器、压力传感器等)实时数据的采集、存储、汇总、推送、统一流量积算功能,并通过Web方式对外提供数据监视、服务器配置功能。
(2) 云服务中心:云服务中心建立在互联网云端的高性能服务器上,服务器可由用户自己架设或者购买、租用第三方的通用云服务器,即采用IaaS或者PaaS云服务模式。云服务中心由流量补偿与积算模块、云数据中心和云显控平台组成。其中流量补偿与积算模块负责流量积算与补偿的计算;云数据中心负责实时流量数据和历史流量数据的存储和归档;云显控平台负责向接入云中的各种终端设备用户提供B/S(浏览器/服务器)架构的Web显示界面,用于监控当前的运行状况和实时、历史数据[1]。
1.2 分布式实时数据服务器
分布式实时数据服务器将网关、RTU、生产数据库、OPC通信接口、数据接口、防火墙、控制算法、计算模型等软硬件集成在一起,部署在车间等工业现场,直接和间接地采集现场仪表的实时数据。分布式实时数据服务器结构如图1所示。
分布式实时数据服务器提供了符合生产现场标准规范的各种接口,用于采集现场仪表的实时数据、监视现场设备的运行状态以及向现场设备和执行机构发送控制命令。其接口包括A/D模拟量采集、D/A模拟控制信号输出、I/O开关量监测与控制和RS 485,RS 422等串行总线接口[2]。
服务器内部建立了工业实时数据库,用于存放实时和历史数据。数据采集单元将采集的现场数据实时存入工业实时数据库中,使数据库中的数据一直保持更新。服务器向上通过以太网连接至云端,并将数据库中的实时数推送至云端[3]。同时内建的WebServer能够使用户通过浏览器直接访问分布式实时数据服务器,查看实时数据和服务器的配置信息。
1.3 系统通信方式
1.3.1 分布式数据采集系统通信方式
分布式实时数据服务器对外提供24路RS 485通信接口,能够完全满足生产现场的局部需求。嵌入式远程终端服务器可以作为一个设备接入RS 485总线,接线方式如图2所示。在此种连接情况下,需要保证串口波特率匹配,并且设备ID号不冲突[4]。
通过A/D模拟信号采集接口可以采集现场的4~20 mA以及1~5 V的标准信号,并通过配置工程量将转换后的数字信号处理为对应的工程参数。
通过D/A输出控制信号可以对现场执行机构进行控制,如控制电磁阀的开度用以调节流量的大小,通过工程量的配置同样可以按照实际工程参数输出对执行机构进行控制。
通过I/O接口可以读取现场设备的开关量状态,同时也可以输出开关量来控制现场设备的开关。
1.3.2 云服务中心通信方式
分布式数据采集设备之间以工业以太网相互连接,形成覆盖全厂的工业环网,并通过Internet连接至云服务中心。为保证数据的实时性、安全性和可靠性,云服务中心通过TCP/IP协议与现场设备进行实时通信。
2 流量积算云服务的设计
2.1 流量补偿与积算模块
流量补偿与积算模块是一个对各种液体、蒸汽、天然气、一般气体进行自动补偿流量积算的软件,与SCADA系统或其他信息系统交换数据。流量补偿与积算模块可以替代传统硬件流量积算仪,实现更为精确的流量补偿算法,获得更为丰富的过程数据,解决了传统硬件流量积算仪安装分散不宜维护,参数设定繁琐不宜操作,积算功能简单且数据不宜共享等问题,从而提高积算精度,降低维护成本和维护强度,提升生产过程的自动化和信息化水平[8]。
2.2 云显控平台
云显控平台的功能如图3所示,一方面云显控平台通过访问实时数据库和归档数据库,从云数据中心中读取实时和历史数据,将数据显示在用户页面上;另一方面云显控平台将用户在页面上下达的控制命令通过Socket(套接字)连接传递给对应的现场设备(如分布式实时数据服务器),从而实现用户在云端对工业现场的精确控制。
3 系统的实现
3.1 数据采集
采集现场仪表的测量数据是分布式实时数据服务器的主要功能,而数据采集轮询线程则是实现周期性数据采集的核心,包括采集周期控制线程与数据采集线程两部分。周期性控制线程的功能是按照用户设定的周期循环触发数据采集线程,由Timer类和同步事件DeviceUnit.AutoResetEvent组成。DATimer类的具体描述见表1。
3.2 与云端通信接口
分布式实时数据服务器通过云端接口服务程序与客户端(即云服务中心)进行通信。云端接口服务程序实现分布式实时数据服务器对外统一的数据和交互,并包含接口管理功能,其工作流程如图4所示。由图4可知,云端接口服务程序具有连接确认、实时数据、接收控制指令、其他记录等四项功能,其具体实现流程如下:
(1) 连接确认:确认客户端(云服务中心)是否是授权客户,确认后建立连接。
(2) 实时数据:由客户端提出实时数据请求列表,接口服务程序根据请求的参数与实时数据清单,对该客户端周期性实时数据。
(3) 接收控制指令:接口服务程序接收客户端发送的控制指令后,对远程设备进行控制,并向该客户端反馈控制结果。
(4) 其他:包括记录接口配置和接口服务日志。
3.3 嵌入式远程终端服务器
3.3.1 界面的实现
使用HTML+CSS的网页制作方法,开发出一套制作符合嵌入式远程终端服务器功能应用的Web页面,主页面如图5所示。由主界面的导航栏功能菜单可知,通过Web交互,用户能够查看远程终端服务器采集的实时数据以及控制端口的输出状态,能够控制D/A以及I/O输出端口的输出,同时能够对工程量和远程终端服务器的通信端口的参数进行配置,并能够查看这些参数的配置信息。
3.3.2 CGI通信接口
在嵌入式远程终端服务器的B/S模式中,浏览器和Web服务器之间的通信通过CGI接口实现。
CGI接口的定义如下:
HTTPD_CGI_CALL(name, "TAG", function);
其中name是该接口的名称;“TAG”是调用该接口的标识符;function是调用该接口后进入的接口函数。
3.3.3 实时数据采集
嵌入式远程终端服务器能够实时采集A/D采样值和I/O输入状态。实时数据采集在系统的定时中断中完成。为保证实时性,嵌入式远程终端服务器的定时中断周期设置为10 ms。
3.3.4 数据实时显示和刷新
(1) 实时显示
采集到的A/D和I/O输入的实时数据以及D/A输出和I/O输出状态将在实时显示页面中显示,供用户监测,远程终端服务器采集到的实时数据通过在CGI接口函数中使用snprintf()函数将数据以HTML代码的形式添加到HTML页面文件中,然后将HTML文件传输给客户端,在用户浏览器中显示出来。
(2) 实时刷新
为保证刷新频率的实时性以及良好的页面显示效果,嵌入式远程终端服务器数据实时显示页面的刷新使用AJAXcCGI相结合的技术。数据实时显示页面通过在后台运行的Javascript脚本中使用AJAX方式,周期性地异步访问专门的数据页面,并将该数据页面的内容显示在实时显示页面中,从而达到实时刷新的效果。
4 云服务中心
云显控平台的实质是一个云端Web服务器,用来向用户显示实时过程数据,并将用户的控制命令发送给现场相应的分布式采集监控设备,从而驱动执行机构执行用户命令。
云显控平台与用户的交互通过多种多样的Web显示界面完成,包括数据表格、二维平面流程图、3D动态虚拟现实技术等,通过先进的Web前端技术可以制作出逼真、漂亮的用户界面和友好、自然的交互方式,并针对不同的用户对象(如现场工人、现场工程师、中控室、企业管理者、能源供给商等)制作多种不同的界面,显示各方面的实时信息,传达不同方面的控制命令,使生产和管理更具针对性,提高生产和管理的效率和信息化水平。云显控平台示例页面见图6。
在流量监控页面中,用户可以看到生产现场阀门的开度信息,以及该阀门所在管道的温度、压力、瞬时流量和累积流量。同时,用户还能够通过滑动阀门右侧的滚动条调节阀门的开度大小,从而达到调节流量的目的。
5 结 论
本文设计的分布式流量积算云服务系统由现场采集控制设备和云服务中心组成,通过XML格式的TCP通信实现流量数据和控制命令的传递。现场采集控制设备包括分布式实时数据服务器和嵌入式远程终端服务器,用于采集现场设备的流量、温度、压力等信号,并将数据发送到云服务中心。
本文设计的分布式流量积算云服务系统采用当前IT领域最前沿的分布式云服务系统模型,将其运用到流量积算的工业应用中来,实现了流量数据的分布式采集、云端集中积算、数据统一存储和展示。分布式实时数据服务器和嵌入式远程终端服务器提供了丰富的现场总线接口,能够实现对绝大多数现场仪器仪表的数据采集和控制。基于B/S架构的云显控平台能够针对不同的用户定制不同的显示页面,包括数据表、二维流程图和3D实景效果等,展示效果丰富,用户针对性强。
参考文献
[1] 陈燕俐,陈军军,杜英杰,等.可应用于分布式系统的多授权中心基于属性的签名[J].计算机应用研究,2014,31(2):536?539.
[2] 任崇广.面向海量数据处理领域的云计算及其关键技术研究[D].南京:南京理工大学,2013.
[3] 王铮.基于Hadoop的分布式系统研究与应用[D].长春:吉林大学,2014.
[4] 李兴建,夏彦辉,陈松林,等.分布式稳定控制仿真测试系统的研制及应用[J].电力自动化设备,2014,34(5):163?168.
[5] 蒋卫寅,李斌,凌力.分布式系统数据一致性和并发性优化研究[J].计算机工程,2012,38(4):260?262.
[6] 魏光辉,李杰斌,王程玉,等.一种分布式系统上的元数据管理系统[J].计算机研究与发展,2013,50(z1):416?420.
【关键词】云资源池 混合架构 部署策略 指标监测
1 引言
电信运营商现有IT架构主要采用以IBM、Oracle、EMC为代表的小型机、集中式关系型数据库和高端存储的IOE架构进行构建,其架构主要特点是稳定、可靠和数据的一致性好。但随着业务量的快速增长,带来的大数据量、高并发使原有基于IOE架构的应用日益成为瓶颈,其扩展灵活性差,对大型IT厂商依赖和成本过高的矛盾突出。为了应对新的挑战,电信运营商启动对现有IT架构的变革,主要体现在以下2个方面:
(1)现有系统进行去IOE的实践,以提高基础设施共享水平及应用系统弹性,降低IT总体拥有成本:即对于B/S的Web服务器和应用服务器向X86服务器迁移;同时推进非核心系统的数据库向X86服务器迁移,并优先选择虚拟机部署,尽可能保障故障快速恢复;对于大型核心系统的数据库服务器暂保留IOE架构,将历史订单、历史客户资料、历史话单、计费清单等只读数据剥离到云计算环境,降低核心数据库处理压力等;数据分析类应用全面基于Hadoop等分布式技术进行构建。
(2)构建新的“集中、开放和云化的IT架构”,基于互联网化思维,以平台化、服务化、组件化的方式构建IT架构,平台与硬件解耦,硬件与软件解耦,基础设施云化,对内实现按角色提供个性化应用和数据,对外通过服务组装快速支撑价值链合作。
为适应上述转变,首先需要在IT基础设施层面进行整合、建设形成统一的资源池,既满足Web和应用服务器云化迁移到X86服务器(包括物理机和虚拟机)的需求,又满足核心数据库的小型机需求,同时还要满足分布式计算架构的需求,这样资源池就形成多种计算能力混合的资源池(包括X86虚拟机资源池、X86物理机资源池、UNIX小型机资源池)。其典型混合架构的云资源池架构如图1所示。
2 混合架构的IT云资源池部署策略
如何构建合理的资源池来满足上述不同特征系统的不同计算能力需求,是运营商IT部门面临的一项重要挑战。云资源池主要包括计算资源、存储资源和网络资源,总体部署策略应体系化、集约化和自动化,以降低资源池部署与运营成本,保障资源池的安全。
2.1 计算资源部署策略
根据计算功能和资源提供方式不同,可将计算资源分为3类,即虚拟计算资源池、物理计算资源池(包括X86和UNIX物理资源池)和分布式计算资源池。在资源分配过程中,可根据承载业务类型和需求不同,又将资源池划分为不同的区域,如内网生产区、公网DMZ(Demilitarized Zone,隔离区)区和开发测试区等。不同资源分类、区域划分主要是为了满足不同应用的计算需求,并在保障安全的前提下降低计算资源部署成本。
(1)虚拟计算资源池:基于X86服务器部署主流虚拟化技术,以虚拟机方式提供计算能力,并以集群方式部署,按集群扩展。由于目前不同虚拟化技术资源无法共享,需分别部署在不同集群,建议同一资源池中尽量采用相同的虚拟化技术和CPU架构,以保持良好的资源调度能力,主要适用于各系统Web服务器、APP服务器、接口服务器等。
(2)X86物理计算资源:基于X86服务器直接以物理整机方式提供计算能力,主要满足部分资源要求较高的数据库和大型应用模块部署需求。
(3)小型机物理计算资源:基于UNIX小型机直接以整机方式或者以分区的方式提供计算能力,主要满足核心系统的数据库部署需求。
(4)分布式计算资源:基于X86服务器集群部署分布式计算技术,主要满足大规模数据存储与处理需求,按集群部署和扩展。
另外,由于各类计算资源服务对象和资源形态的不同,资源间不能共享,需要统筹考虑资源的部署布局,按照功能又可分为以下3类,不同类型的区域需要按其特性进行计算能力的部署:
(1)生产区:生产类的系统资源稳定、可靠、安全性要求较高,可配置稳定性、可靠性、性能较高的虚拟计算和物理计算资源,以虚拟计算资源为主。针对大数据分析类应用,根据分布式计算特点,可配置中低端定制化X86物理服务器,部分场景(对性能要求不高)可配置虚拟计算资源。对于核心系统的数据库,可沿用现有高可靠的小型机计算资源。
(2)开发测试类区:由于用于开发测试的资源配置、环境等调整较频繁,稳定性和性能要求不高,为满足各类系统的测试需要,可同时配置虚拟计算、物理计算和分布式计算3类资源,以虚拟计算资源为主,可配置中低端物理计算资源及分布式计算资源。
(3)DMZ区:以提供对外访问的Web和应用平台为主,应以虚拟计算资源为主。
2.2 存储资源部署策略
存储资源分为集中式存储和分布式存储。其中,集中式存储是资源池存储的主要提供方式,主要通过硬件保障性能和可靠性,主流技术包括FC-SAN、IP-SAN、NAS(Network Attached Storage,网络附加存储)等,但部署成本较高、扩容不灵活;分布式存储是可基于X86服务器部署的新兴存储技术,主要通过软件保障性能和可靠性,主流技术包括分布式对象存储、分布式块存储、分布式文件存储等,具备低成本、灵活扩容、高并发访问等优势。应根据不同存储需求提供分级存储手段,以降低存储资源部署成本。
由于混合的资源池规模、存储量都较大,承载不同特征的应用类型较多,所以应根据不同业务特性和存储需求(如高I/O存储、高容量冷温数据存储、大数据存储、备份和归档存储等),配置不同的存储(集中式、分布式的不同存储技术选择),实现分级存储,差异化利用资源,从而降低成本以及提升资源利用率。
由于集中式存储存在多种不同技术架构(如FC-SAN和IP-SAN),难以实现资源共享,需相对独立部署,但同一技术架构产品可通过存储虚拟化技术实现资源整合共享;分布式存储本质上可实现底层硬件资源共享,通过软件方式提供差异化存储能力和接口,但其中分布式块存储对I/O要求较高,需要特殊考虑硬件配置,如配置SSD(Solid State Disk,固态硬盘)、万兆卡等。
2.3 网络部署策略
资源池网络主要包括节点内网络、节点间网络和对外访问网络3部分。
(1)节点内网络主要承载业务流量、存储流量以及虚机间流量,应实现流量之间的隔离,节点内网络架构尽量扁平化。
(2)节点间网络应充分考虑多个资源池节点间的双活、异地容灾、跨节点虚机迁移等需求,规模不大的资源池可选择星形网络结构,后续随着资源池规模不断扩大和二层广域互联技术基本成熟,资源池网络可向环形结构调整。
(3)对外访问网络主要考虑防火墙、负载均衡方案设计。
3 混合架构的云资源池运营管理关键技术
建设资源池运营管理能力,是资源池运营管理的重要技术手段。对资源池的运营管理功能一般包括采集与控制域、监视管理域、资源调度域以及服务门户等关键功能,具体如图2所示。
其中,最基础、最关键的能力就是要建立接口适配层,屏蔽不同类型的资源池的接口差异,能通过统一的接口适配来接入不同的计算资源池的资源。
3.1 与不同计算资源互联适配的方式
与不同计算资源互联适配的方式主要如下:
(1)小型机、X86物理机适配方式:一般通过第三方管理软件、SNMP(Simple Network Management Protocol,简单网络管理协议)采集方式、安装Agent采集方式、自定义采集脚本方式来收集小型机的配置信息、采集性能数据和告警信息。
(2)虚拟机接口适配方式:根据虚拟化软件提供的接口可以有2种适配方式。第1种是与虚拟化厂商管理软件提供的接口进行互联(如图2中的管理接口2),即通过如VMware的vCenter、Xen的XenServer提供的开放API(Application Programming Interface,应用程序编程接口)来进行基本配置信息、性能数据和告警数据的收集;第2种是通过与虚拟化厂商Hypervisor提供的接口进行互联(如图2中的管理接口1)。由于第1种接口在稳定性、全面性、开放性和后向兼容性方面都优于第2种,所以尽可能优先采用第1种。但对于虚拟化软件提供接口不够丰富、不能满足运维要求的(如KVM),可能根据管理需要还要自行开发Agent部署到虚机上(与管理物理机方式类似)。
3.2 虚拟机关键性能指标监测与应用
资源池运营管理的另一个重要方面就是采集各类资源的关键性能指标,通过不断地优化性能阈值设置,及时发现异常或潜在的风险,便于运维人员及时进行处理。
UNIX小型机、X86物理机资源的性能指标都有一些共性,主要关注CPU、内存和I/O等主要性能数据,这方面的技术比较成熟,其性能数据也是主要通过与第三方管理平台或者自行部署Agent的方式进行性能数据的采集。
但虚拟机有一些特殊的性能指标需要特别注意。由于虚拟机的性能与宿主机(物理机)有关联,因此不能单纯从虚拟机的性能指标来判断其性能,需要与宿主机的性能指标进行关联分析。其中需要特别关注的性能指标如下:
(1)虚拟机的CPU就绪时间:是指虚机准备就绪、但无法安排在物理CPU上运行的时间所占的百分比,取决于宿主机上的虚拟机数量及CPU负载。即若宿主机上虚机较多且虚机CPU超额分配,会导致虚机在申请CPU资源时产生额外开销;若宿主机CPU过载,会导致虚机申请不到足够的CPU资源。
虚拟机CPU是否不足的判断:若宿主机CPU未过载,可根据虚机CPU使用情况判断虚机CPU是否分配不足,如CPU就绪时间占比过高,可适当减少虚机CPU分配或迁移部分虚机来减少CPU就绪时间;若宿主机CPU过载,会导致虚机得不到足够的CPU,虚机CPU就绪时间增大,应及时优化最耗CPU的虚机或迁移虚机至负载较轻的宿主机。
(2)气泡内存和内存换入/换出速率:以VMware为例,气泡内存是指VMkernel从虚机回收的内存,回收的内存会以文件的形式存放在数据存储上,扩展名为vswp。内存换入速率是指内存交换到虚机中的平均速率;内存换出速率是指内存从虚机中交换出的平均速率。
虚拟机内存是否充足的判断:不能仅从虚机CPU使用率来单纯判断,此项指标只能作为虚机内存繁忙程度的依据,还需要另外采集虚机操作系统内存使用情况关系,即虚机操作系统内存使用率和交换区使用率这2项指标。若气泡内存较多且内存换入/换出速率较高,则说明虚机内存不足,应及时考虑迁移虚拟机或扩容宿主机。
4 结束语
通过合理构建部署混合的IT云资源池,可以适应不同特征的应用需要;构建中应加强对资源池的运营管理能力建设,实现对资源池进行统一的管理;在运营过程中要关注虚拟化资源池的特殊性能指标的关联,及时发现运营过程潜在的风险,优化资源配置,提升资源池运营能力。
参考文献:
[1] 陈春华,梁奂,李军. 云资源池环境下的IT服务管理系统优化及实施策略[J]. 移动通信, 2013(16): 83-87.
[2] 陈春华,李军,梁奂,等. 资源池环境下的IT服务管理实施策略[J]. 电信科学, 2012(9): 142-147.
[3] 陈春华,梁奂. 全业务电信运营商的IT服务管理实践探讨[J]. 电信科学, 2011(3): 118-125.
[4] 秦润锋,樊勇兵,唐宏,等. 电信运营商开放式IaaS云平台研究[J]. 电信科学, 2013(10): 5-9.
[5] 杨经纬,胡林,李金岭,等. 支撑电信运营商集约管理的云计算平台研究探索与实践[J]. 电信科学, 2013(8): 136-145.
[6] 燕杰,樊勇兵,金华敏,等. 电信运营商的云计算资源池部署方法概述[J]. 电信科学, 2011(10): 13-19.
[7] 韦S. 浅析云计算及其在电信运营商中的应用[J]. 广西通信技术, 2014(3): 18-23.
[8] Peter Brooks. IT服务管理指标[M]. 丰祖军,译. 北京: 清华大学出版社, 2008.
【关键词】数据挖掘,Hadoop
1引言
1.1 数据挖掘技术概述
数据挖掘出现于 20 世纪 80 年代后期,90 年代有了突飞猛进的发展,并在进入 21 世纪后继续繁荣。随着科技的不断进步,在物联网、云计算、移动互联网等发展的推动下,数据发生了“大爆炸”,其规模呈几何级上升。如何将这些海量的、复杂的数据转化成人类可理解的、有用的知识,从而指导我们的决策正成为目前面临的重要的问题。
如今,随着云计算的出现和发展,数据挖掘技术迎来了新的机遇和挑战。现在的基于云计算的并行数据挖掘与服务的模式。数据挖掘的算法可以分布在多个节点上,并且这些算法之间是并行的。在进行数据挖掘的过程中,我们需要的资源会实现按需分配,具有很大的伸缩性。在分布式计算模型下,使用的是云计算模式。算法的实现采用 MapReduce 的方式,从而实现并行的要求。
1.2 Hadoop 框架
Hadoop是一个开源的分布式系统基础架构,由 Apache 基金会开发。Apache Hadoop是一款支持数据密集型分布式应用并以Apache 2.0许可协议的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。
Hadoop框架透明地为应用提供可靠性和数据移动。它实现了名为MapReduce的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。此外,Hadoop还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduce和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的电脑和PB级的数据。现在普遍认为整个Apache Hadoop平台包括Hadoop内核、MapReduce、Hadoop分布式文件系统(HDFS)以及一些相关项目,有Apache Hive和Apache HBase等等。
2 Hadoop数据存储平台
2.1基本设计思想
我们的基本思想是:充分利用 Hadoop的集群特征,将数据挖掘系统中需要巨大计算能力的各个模块的计算和存储要求扩展到Hadoop集群中的各个节点上,利用集群的并行计算和存储能力来进行相关数据挖掘工作。系统采用MVC三层架构设计使结构更加清晰,系统易于扩展。在底层,使用 Hadoop来存储、分析和处理巨大的数据量,而在高层通过接口直接透明的调用底层的计算和存储能力。
在整个系统中,我们可以使用 HDFS 来存储文件和数据。HDFS 具有很高的数据吞吐量,并且很好的实现了容错机制。HDFS 提供了多种访问接口,包括 API以及各种操作命令。使用 HDFS,我们可以为原始的大数据集提供存储空间,对临时文件进行存储,为数据预处理、数据挖掘过程提供输入数据,同时输出数据我们也保存在 HDFS 中。系统整体架构如图1所示。
2.2系统结构模型
结合以上的基本设计思想以及典型的数据挖掘系统模型,采用分层的思想,自顶向下每层都透明的调用下层接口,最顶层为交互层,用于用户和系统之间的交互。最底层为分布式计算层,使用 HADOOP 来实现文件分布式存储和并行计算功能。使用分层,各层之间变得独立,易于系统的扩展。下面详细介绍我们得到的基于 HADOOP 的数据存储系统。如图2所示。
1、交互层
提供系统和用户之间的接口。通过提供具有良好表现形式的图形界面,使得用户可以登陆系统定制各种细粒度的业务,查看或者保存各种输出结果。
交互层具有的模块包括:
①用户管理模块:实现用户身份的识别以及相应权限的设置,同时也包括对用户登陆或者注销等常用的管理。
②业务展示模块:实现用户提交的各种业务,并对业务结果进行查看,分析和保存等功能。用来将系统的返回结果交付给用户。
2、业务应用层
提供了各种业务逻辑并实现了对各种业务流程的控制和调度。用户提交的业务在这一层被处理,控制和调度。
业务应用层具有的模块包括:
①用户界面:用户可以通过简单应用的操作界面工具,进行海量数据处理存储。
②业务响应模块:相应上层的业务模块,对完成业务所需的子业务进行调用、管理,并通过调用底层模块完成业务。
3、数据处理层
为业务应用层提供数据挖掘阶段业务流需要的各个模块,并且具有较细的粒度。如数据预处理,模式评估,数据挖掘等组件。这一层是整个系统的核心,在这一层,主要的任务在于实现各种任务过程中算法的并行化,并将任务提交到 Hadoop 分布计算层进行运算。并将结果返回给业务应用层。
数据处理层具有的模块包括:
①系统管理模块:对系统实现分布式管理。主要包括:负载平衡管理、系统日志管理、对象事务管理、系统远程部署管理等。
②数据加载模块:将挖掘所需的数据进行注册并放入系统的 HDFS 文件系统。
③数据存储模块:提供对海量数据的并行加载、处理和存储功能。将数据从其他外设中导入平台的HDFS;并行ETL 模块用来对HDFS中的原始数据进行处理得到存储数据;并行存储模块提供对处理后的数据进行存储.
④并行查询模块:提供对海量数据的并行查询、用户自定义事务处理等功能。
⑤备份恢复模块:提供对系统存储数据的备份管理、备份存储、备份恢复等功能,增强系统的安全
性和容错性。
⑥模式评估模块:Hadoop 框架自身提供了 HDFS,MapReduce 运行模式、运算环境以及自动管理。
4、分布式计算层
使用 HADOOP 框架来实现集群存储、计算。Hadoop 提供了分布式文件系统和并行的运行模式,同时实现了对分布式系统的管理。我们需要在此之上实现任务提交的 Server。
3总结
本文分析了对现阶段基于云计算平台实现的数据挖掘研究以及开源的集群框架Hadoop的研究现状作了分析。并在此基础上设计了基于Hadoop的数据存储系统的基本架构。采用以 Hadoop分布式平台作为基础,以 HDFS分布式文件系统和MapReduce 并行计算模型作为处理数据的方法。同时给出了系统的模型并简要介绍了各个功能模块。通过将数据挖掘技术与云计算时代下的集群框架 Hadoop结合起来,利用集群巨大的计算能力和存储能力,从而实现对超大规模数据挖掘的性能提升。
参考文献:
[1]维基百科 Apache Hadoop [EB/01] http:///wiki/Apache_Hadoop,2015
[2]Hadoop 技术 [EB/01] http:/// ,2010
[3]朱珠. 基于 Hadoop 的海量数据处理模型研究和应用[D].北京:北京邮电大学,2008.
[4]JeffreyDean, SanjayGhemawat. MapReduce: Symplified Data Processing on Large Clusters
[J].NewYork: ACM, 2008, 51(1):107~113.
[5]韩家炜, 坎伯. 数据挖掘概念与技术[M]. 北京:机械工业出版社,2008.
[6]Dean J,Ghemawat S.MapReduce:Simplifier date processing on large munications of the ACM ,2008,51(1):107-113
[7]B.Callaghan,B.Pawlowski,P. Staubach RFC 1813-NFS Version 3 Protocol Specification June 1995.
[8]Jeffrey Dean. Experiences with MapReduce, an abstraction for large-scale computation Proc.15th International Conference on Parallel Architectures and Compilation Techniques,2006:1.
[9]Yang Lai, Shi ZhongZhi. An Efficient Data Ming Framework on Hadoop using Java Persistence API. 2010 10th IEEE International Conference on Computer and Information Technology (CIT 2010).
[10]Bhandarkar, M. MapReduce programming with apache Hadoop. Parallel & Distributed Processing (IPDPS), 2010 IEEE International Symposium on, Atlanta, GA.
关键词:云计算;云存储;分布式文件系统;安全问题
中图分类号:TP393 文献标识码:A文章编号:1007-9599 (2011) 17-0000-01
Data Storage Issue Study under Cloud Computing Environment
Cai Guoyu
(Beijing Mandarin Gene Research Center,Beijing101300,China)
Abstract:With the continuous development of computer technology,cloud computing and cloud storage as a new model,increasingly subject to personal and business concerns.In this paper,a brief description of cloud computing,based on the cloud computing environment for data storage is cloud storage body for analysis and research,demonstrated the great advantage of cloud storage and cloud storage constraints on the further development of a number of issues discussion.
Keywords:Cloud computing;Cloud storage;Distributed file systems;Security
伴随着信息通信和处理技术的高速发展,计算机自问世以来,已经跨越了单机系统时代、网络系统时代、Web服务与网络时代,进入了云计算时代。云计算的出现,带来了商业模式和工作方式的革命性转变,改变了过去数据主要集中在本地存储和处理的传统模式,使得企业机构和个人能够方便快捷地通过网络享受到计算力、存储空间和软件等服务,极大地降低了硬件等基础设施的重复购置和闲置,有效避免了人力资源的浪费,节约了大量的资金和人力支出。
一、云计算定义
云计算是一种基于共享基础架构的商业计算模型,是分布式计算、网格计算和并行计算等多种计算方式的发展和商业实现。从实质上看,云计算就是一种分布式计算,通过网络将分散的计算与存储资源有效地连接、整合起来,为用户提供服务。而实现云计算服务的基本条件之一就是高性能的云存储。
二、云存储概况
云存储是伴随云计算概念发展出来的新课题,它通过网络和分布式文件系统将分散的存储设备连接、整合成一个高效、便捷、可靠的系统,通过某种应用软件共同一致地对外提供在线数据存储和业务访问服务。下面就云存储的一些主要问题做个简要的介绍。
(一)分布式文件系统。分布式文件系统是云存储的核心。利用分布式文件系统可以实现云存储系统中不同存储设备之间的协同工作,对外提供同一种服务,并提供更优质更快速的数据访问性能。分布式文件系统的特点:(1)安全性(2)可靠性(3)实用性(4)可维护和拓展升级性(5)数据可复制和同步性。
(二)云存储技术。为保证数据的安全、可靠、实用,云计算采用分布式存储的方式和冗余存储的方法来进行数据的存储,具有数据处理能力强和传输迅速的优点。目前,较为成熟的主流云计算数据存储技术有谷歌的GFS和Hadoop开发团队开发的HDFS。
三、云存储的优势
云存储作为一种新兴的存储模式,具有不可抗拒的诸多优点:
(一)对政府机构用户。由于政府机构的特殊性,对其数据安全性和可备份性的要求特别严格。云存储的应用,避免了因不可抗力或操作不当情况等原因,而造成数据丢失所引发的严重后果,节约了大量额外财政支出。
(二)对企业用户。随着企业信息化建设的不断发展和深化,现代企业越来越重视核心数据的存储安全和信息管理系统化办公的实现。云存储模式的不断成熟,使得企业可以通过网络,在云端建立包括数据库和各类信息管理系统在内的综合平台,实现远程移动办公,实现管理信息系统化。企业信息化的发展,促进了信息的有效流通和资源知识的共享,极大提高了工作和管理效率,降低了管理成本,为企业适应激烈的市场经济竞争环境,求得最大经济效益提供了保证。
(三)对个人用户。云存储模式的出现,为个人用户提供了几乎无限容量的稳定空间,以便其保存日益增多的照片、视频、音频、电子文档等个人数据。用户可以通过功能设置,进行数据文档的浏览、同步修改、共享等操作,十分便捷和方便。
四、云存储发展应该注意的问题
目前来看,云存储还不那么完善和成熟,处于快速发展阶段。它的完善和成熟,不单单是单纯靠技术层面所能解决的。云存储要想得到类型不同、不同需求群体的共同认可,得到大范围的广泛应用,还有诸多问题亟待解决。
(一)安全性。不同用户的数据,包括着大量的机密和个人隐私等均被远程存储到同一个云存储提供商那里,如何才能保证其数据具有安全性和私密性,保证私有数据不被云存储提供商内部或无授权的用户浏览和散播,是制约云存储发展的首要问题。
(二)可靠性。若云端数据遭到破坏,造成数据的全部或部分丢失、缺损,云存储提供商能否快速全面的恢复数据,并保证数据的完整性。
(三)实用性和便捷性。通过密码验证或其他有效的形式,云存储提供商必须保证任何用户使用任何终端,均能通过网络在任何时间、地点享受到云存储的优质服务,并且做到操作简易和人性化。
(四)优质服务。用户与云存储提供商签订服务协议或合同后,将数据存储到云端,云存储提供商必须要保证提供7*24小时不间断的优质贴心服务。对用户反馈的问题或意见,能及时解决和处理。
(五)低成本性。云存储的一大优势就是成本优势,因此云存储提供商应采取有效措施,在保证安全可靠的前提下,进行技术创新和改进,不断降低成本,促进云存储服务的大面积普及。
五、结束语
作为目前来说的一种先进技术,云存储占据着压倒性的优势,有着不可抗拒的吸引力,代表着未来存储发展的必然趋势。我们下一步的重点,将是从技术、用户需求等多层面、多角度着手,完全解决实用性、可靠性、安全性等问题,促进云存储的尽快成熟和完善,以便其早日获得广泛应用。
参考文献:
[1]王德政,申山宏,周宁宁.云计算环境下的数据存储[J].计算机技术与发展,2011,21-4:81
关键词 云计算 虚拟化 云存储 分布式计算
中图分类号:TP3 文献标识码:A
1云计算的概念
云计算的定义众多,目前广为认同的一点是,云计算是分布式处理、并行处理和网格计算的发展,或者说是这些计算机科学概念的商业实现。云计算是一种资源交付和使用模式,指通过网络获得应用所需的资源(硬件、软件、平台)。云计算将计算从客户终端集中到“云端”,作为应用通过互联网提供给用户,计算通过分布式计算等技术由多台计算机共同完成。用户只关心应用的功能,而不关心应用的实现方式,应用的实现和维护由其提供商完成,用户根据自己的需要选择相应的应用。云计算不是一个工具、平台或者架构,而是一种计算的方式。
2云计算在国内外发展状况
尽管云计算的思想孕育很久,但是在国外(主要是美国)取得蓬勃发展也是最近十来年的事情。2003年,美国国家科学基金(NSF)投资830万美元支持由美国七所顶尖院校提出的“网络虚拟化和云计算VGrADS”项目,由此正式启动了云计算的研发工作。2009年4月,谷歌推出了Google应用软件引擎(Google App Engine)运行大型并行应用程序。Apple是云计算领域的另一位角色,从近年来推出的iTunes服务,到MobileMe服务,到收购在线音乐服务商Lala,再到最近在美国北卡莱罗纳州投资10亿美元建立新数据中心的计划,无不显示其进军云计算领域的巨大决心。
而国内近几年在云计算方面取得了长足的发展。国内的云计算发展虽处于起步阶段,但各大通信运营商都表现得异常活跃。中国移动推出了“大云”(Big Cloud)云计算基础服务平台,中国电信退出了“e云”云计算平台,中国联通则是推出了“互联云”平台。
3云计算的原理
云计算的基本原理是,通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更相似于互联网。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。云计算就是把普通的服务器或者个人计算机连接起来,以获得超级计算机也叫高性能和高可用性计算机的功能,但是成本更低。云计算的出现使高性能并行计算不再是科学家和专业人士的专利,普通的用户也能通过云计算享受高性能并行计算所带来的便利,使人人都有机会使用并行机,从而大大提高工作效率和计算资源的利用率。云计算模式可以简单理解为不论服务的类型,或者是执行服务的信息架构,通过因特网提供应用服务,让使用者通过浏览器就能使用,不需要了解服务器在哪里,内部如何运作。
4云计算的核心技术
云计算系统运用了许多技术,其中以编程模型、数据管理技术、数据存储技术、虚拟化技术、云计算平台管理技术最为关键。
(1)编程模型
MapReduce是Google开发的java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。
(2)海量数据分布存储技术
云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。
(3)海量数据管理技术
云计算需要对分布的、海量的数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。
5云计算的挑战和展望
云计算技术的发展面临这一系列的挑战,例如:使用云计算来完成任务能获得哪些优势;可以实施哪些策略、做法或者立法来支持或限制云计算的采用;如何提供有效的计算和提高存储资源的利用率等等。此外,云计算宣告了低成本超级计算机服务的可能,一旦这些“云”被用来破译各类密码、进行各种攻击,将会对用户的数据安全带来极大的危险。
云计算未来有两个发展方向:一个是构建与应用程序紧密结合的大规模底层基础设施,使得应用能够扩展到很大的规模;另一个是通过构建新型的云计算应用程序。在网络上提供更加丰富的用户体验,第一个发展趋势能够从现在得云计算研究状况中体现出来,而在云计算应用的构造上,很多新型的社会服务型网络,如Facebook等,已经体现了这个趋势,而在研究上则开始注重如何通过云计算基础平台将多个业务融合起来。