APP下载

基于云存储的元数据管理关键技术分析

2019-02-28苏文伟张梅

科学与财富 2019年1期
关键词:云存储控制系统

苏文伟 张梅

摘 要:大数据和云计算技术的广泛使用,对数据存储空间也提出了更加严格的要求。云存储就是借助于分布式文件系统、集群应用等功能,将不同类型的存储设备进行整合利用,从而实现数据存储和业务访问等基本功能。在云存储服务器中,元数据是文件系统中主要的访问对象,因此必须通过加强元数据管理,切实保障元数据的可用性、安全性和完整性。本文首先对元数据管理的常用技术进行了概述,随后提出了一种基于缓存技术的云存储元数据管理方案,最后就云网盘系统的功能实现展开了简要分析。

关键词:云存储;元数据管理;缓存技术;控制系统

引言:在分布式文件系统中,元数据管理系统发挥着不可替代的重要价值,并且元数据管理中所用技术的配套程度,也会直接对文件系统的整体性能产生影响。现阶段云存储环境下元数据的管理技术主要有哈希算法、映射法等,但是在实际应用中都存在一定的缺陷。本文提出了一种适应云存储环境的元数据缓存替代策略,并在此基础上提出了云网盘系统设计方案,对解决现阶段元数据管理中存在的一些问题有一定的借鉴意义。

一、云储存中元数据管理的概述

1、数据与元数据

云存储中的文件内容主要包括两种类型,一种是数据,另一种是元数据。数据就是二进制的文件内容,而元数据则是关于描述文件属性的详细信息。从功能定位上来看,元数据还包含了数据的一些特征或属性,此外还可以根据外部使用和管理需求,完成定位、检索、选择等功能。元数据格式如表1所示。

2、元数据管理的目标

以往元数据管理只能在独立的云存储分布式数据管理系统中进行,为了更好的适应不同需求下的元数据存储和访问需求,需要实现跨系统的元数据管理,并且要保证系统响应的及时性和高效性,为用户提供便捷的数据管理服务。简单来说,基于云存储的元数据管理目标,就是要兼顾大容量、高扩展性和高访问效率。此外,要求元数据管理系统还能够根据需求进行动态扩展,以降低后期访问和管理的成本。

3、元数据管理的重要性

一方面,元数据作为云存储服务器中访问频率最高的数据,必须要保证其可靠性和准确性,这是由系统运行模式决定的。云存储中的文件被用户访问时,首先需要经过客户端登录操作,此时云存储服务器会对访问权限进行检查,只有具备读写权限才能获取读取文件中包含的元數据。另外,元数据和文件数据之前存在前后逻辑关系,只有先访问元数据,才能后访问文件数据。这样用户的访问信息就会被记录下来,避免了非法访问或越权操作。另一方面,元数据本身占据的存储资源十分微小,如果在同一时间内有大量的访问信息同时作用于小文件,可能会造成系统数据传输通道拥堵。通过技术手段加强元数据管理,可以避免此类问题的发生。

二、引入缓存技术的元数据管理策略

1、基于时间特性的策略

现阶段关于时间特性的算法主要有两种:一种是MIN算法,当云存储服务器上的存储空间接近上限,而此时又有新的数据需要存储时,系统会根据已经设定的筛选条件,自动淘汰掉一部分缓存数据。这些缓存数据通常被系统认定为无价值或长期没有被访问的。但是MIN算法中对于系统设定条件的要求过于严格,否则会造成元数据的误删除。另一种是FIFO算法,同样是在存储服务器上的存储空间接近上限的情况下,按照元数据存入时间的先后顺序,先存入的元数据被替换掉。这种算法执行起来较为简单,但是管理精确性不高。

2、基于频率特性的策略

LFU算法的原理是检测元存储系统一段时间一来访问次数最少的数据块,然后将其淘汰掉,并引入新的数据块进行替代。LFU算法应用的基本前提是,云存储服务器上的各个存储单元或数据块,因为频率不同所以可以看做是相互独立的个体。如果某一数据块被访问的次数越多,那么他的使用频率就会相应的升高。系统可以直接记录在某一特定时间段内数据块的访问次数,这样就降低了元数据管理的难度。但是LFU算法在应用中也有一些不足,例如在运算过程中会占用较多的系统资源,访问数据不能及时清除容易造成缓存污染等。

3、时间与频率相结合的策略

LIRS算法是一种在LRU算法基础上进行改良的新型缓存替换算法,大量的实践已经表明LRU算法存在两项不足,一项是在扫描缓存过程中,可能造成缓存污染,另一项是命中率不是十分理想,LIRS算法的提出正是为了解决这两项不足,LIRS改进了LRU算法中的替换因素,这里用R来表示,R并不代表时间,而是代表每个缓存数据最后两次的访问之间间隔了多少个不重复的缓存数据。在算法运行中,如果现有的缓存数据需要被替换,那么该算法会根据R值作为唯一判定依据,将R值最大的缓存数据作为首选的淘汰目标。

4、基于云存储的元数据缓存管理策略

上述几种元数据管理方法,管理重点主要集中在如何快速查询元数据和优化设计元数据管理与存储结构。但是在元数据的实际应用中,除了要重视元数据的访问特性外,存储容量、读写次数以及管理流程等,都是影响云存储环境下元数据管理效率的关键因素。另外,现阶段云储存中对元数据管理能够构成直接影响的节点主要有三方面,分别是客户端节点、存储控制节点和数据存储节点。其中,存储控制节点能够对来自不同服务器上的元数据进行筛选处理,在元数据管理中发挥着核心作用。本文提出的一种元数据缓存管理策略,能够将元数据以缓存形式保存早云存储服务器中,这就降低了元数据丢失或损坏的记录,极大的提高了元数据管理的安全性和完整性。

三、云网盘系统的实现

1、系统的结构组成

云存储服务是位于云平台的PaaS层的。PaaS层中,浅色部分的元数据存储集群、数据存储集群、账户管理服务器和认证与授权服务器是利用的现有的开源软件提供一些基本的数据存储功能。其中,元数据存储集群采用的是MongoDB非关系数据库,数据存储集群采用的是FastDFS分布式文件系统集群,账户管理服务器和认证与授权服务器顾名思义提供相应的服务,是基于OpenAM对相关功能进行的封装。

2、系统主体功能设计

在云存储环境下,数据和元数据分别独立存放,在进行系统主体功能设计时,也必须进行相应的元数据服务设计。此外,云存储作为一个相对开放的環境,也需要兼顾安全性问题,这些在系统主体功能设计时都应当有所体现。系统主体功能包括:(1)元数据系统,主要用来存储、管理元数据;(2)存储服务器引擎,主要完成不同服务器之间的功能调度,并为元数据提供缓存区;(3)访问控制系统,对用户账户进行管理,包括账户登录、口令验证等;(4)运维系统,包括系统故障预警与处理,权限管理等。

3、存储服务器引擎设计

存储器服务引擎的主要功能是为整个存储服务系统中的用户提供数据接口,存储服务引擎封装了对访问控制子系统和元数据子系统的REST接口访问,称之为代理。另外,为了方便用户通过REST接口调用系统的存储服务,存储服务引擎提供了相应的客户端API,它是一个jar包,客户端程序只需要导入该jar包,就可以直接调用其中封装了对相应REST接口进行请求的函数来调用REST服务。存储服务引擎的逻辑结构如图2所示。

访问控制代理模块和元数据缓存管理模块如图所示,它们也是存储服务引擎的一部分,服务使用者对这两类服务的调用都通过该代理进行。这两个代理是对访问控制子系统和元数据子系统的简单封装,目的是避免将这两个子系统中的相关服务器暴露出来。

4、元数据缓存模块

如上文所述,用户的元数据访问请求,必须先得到存储服务引擎的响应,然后才能根据用户访问的关键字,在存储服务器中查找是否有与之相匹配的元数据。如果有完美匹配的数据,则将其发送到客户端,用户可以选择浏览或下载;如果没有匹配数据,一方面是将未匹配信息反馈给用户,同时将此条信息存储到元数据数据库中,当有符合关键词的信息后,自动进行存储。这样就实现了元数据缓存模块的自动更新和补充,为用户查找信息提供了诸多方便。需要注意的是,元数据缓存模块中的数据,并不会永久保存,会定期进行覆盖和更换,对于有保存价值的数据信息应当及时转移。

5、文件数据读写模块

该模块主要完成三部分功能,分别是:(1)文件上传。根据单次上传文件的完整度,可以分为整体上传和分块上传两种模式,整体上传就是直接将文件以文件流的形式,打包发送到存储器中,然后在云存储服务器中记录文件上传信息。整体上传由于受到传输流量的限制,一般只针对一些容量较小的文件。此外,在整体上传中,如果出现网络中断,也会导致文件传输失败,需要重新上传。分块上传则弥补了这一缺陷,但是上传时间较长。(2)文件下载。根据用户需要,从云存储服务器中下载制定文件到客户端。相应的,文件下载中也分为整体下载和分块下载,原理同上。(3)文件删除。对于无效的或是没有保存价值的文件,需要及时删除,避免占用存储空间。

6、服务器主动同步注册

在云储存模式下,保证数据的同步既是难点,又是重点。为了提高不同服务器中数据同步响应的速率,可以通过在系统外部提供数据传输接口的方式来实现。这种基于外部接口的数据同步,需要服务器主动发出调控指令,因此称之为主动同步。同时,在各台服务器中设置同样的数据调控频率,每隔一定时间完成一次数据对比,以便于协调不同服务器之间的数据协同性。服务器主动同步注册的形式一般有两种:第一种是在常规环境下,先由某一台服务器发送注册主动同步服务请求,对方服务器接受请求后,对比注册信息,完成同步;第二种是出现数据异常变化的环境下,先查询用户主动同步的关键词,然后在对方服务器中搜索到匹配的关键词,然后完成元数据的替换。

7、元数据管理系统架构

随着云存储系统中元数据的不断增加,传统的管理方式不仅效率较低,而且不能保证元数据的安全。为了提高元数据管理效率,需要引进专门的存储服务引擎和独立的元数据管理服务器。两者之间可以进行数据的交互,在元数据存储服务引擎中,有专门的存储单元,负责接收来自元数据管理服务器中的请求。同时,管理服务器也能够动态的监控云存储系统的运行状态,并按照设定好的频率,每隔一定时间发送一次运行状态。在构建元数据管理系统架构时,需要依次完成“创建文件元数据模块”、“发布创建请求”、“读取并识别元数据模块”等一系列操作,最终在存储服务器中建立缓存文件,然后完成元数据的流程化管理。

8、访问控制系统

为了保证云存储环境下元数据的安全性,设置了访问控制系统,对所有访问系统的用户进行权限确认,只有符合权限的用户才能够进入系统内部。该系统主要的功能结构分别是账户管理模块、账户认证模块与登录管理模。访问控制的功能图如图3所示。

在整个访问控制系统中,账户管理可以为用户提供多种服务,包括用户信息的录入、存储以及定期更新等。在该模块设置中,系统的安全性尤其重要,必须要保证内部存储用户信息的安全与完整。账户认证和授权模块,主要提供登录和注销服务。

9、运维管理系统

在整个系统运行过程中,需要运维管理系统负责做好系统运行工况的动态监测。一旦系统运行出现问题,也可以及时发出警报,运维技术人员根据系统报警确定故障发生位置,进而采取针对性的处理措施,保障元数据的完整性与安全性。在整个运维管理系统中,最核心的部分是运维管理服务器,运维技术人员可以在服务器界面上随时掌握系统的基本运行信息。服务器除了能够接受管理员客户端发送的各种控制指令外,还能够在程序控制下独立完成数据收集、指令传达和故障码存储等工作。已经出现并被解决的故障,会存储到独立的数据库中,这样今后如果出现类似故障,运维系统就可以自动解决。

结语:在元数据管理中引入缓存技术,既是在传统元数据管理方法上的一种尝试和创新,同时也很好的符合了云存储环境下用户访问的需求,从理论上来说具有可行性。 通过后期仿真试验,也证明了该技术在实际应用中的价值。在仿真中,基于元数据缓存代替技术能够有效提高系统服务器的相应速率,提高了系统允许负载,进一步提高了云存储中元数据的管理效率。

参考文献:

[1]崔纪锋,张勇,李超,等.C4S2-243:面向云存储的空间索引技术研究[C]//中国云计算与saas大会.2015.

[2]李东阳,刘鹏,田浪军.基于SSD的云存储主服务器元数据管理研究[J].计算机技术与发展,2013(10):68-71.

猜你喜欢

云存储控制系统
基于云存储的气象数字化图像档案存储研究
试论云存储与数字版权的冲突、法制与协同
云存储出版服务的版权侵权责任风险分析
云存储技术的起源与发展
基于PLC的自动切蛋糕机的控制方案
Ka频段卫星通信自适应抗雨衰控制系统设计
基于云存储的数据库密文检索研究
基于PLC的钢厂热连轧感应加热炉控制系统实现
风力发电机组电气与控制系统快速检修思路探索