数据存储优化(通用8篇)
数据存储优化 篇1
摘要:数字图书馆的数据信息种类繁多, 形式复杂多样, 数据的重要性程度不一, 数据访问方式各异, 因而不同的数据类型则对读写性能等方面有不同的要求。为此, 本文提出了适用于数字图书馆应用环境的存储系统性能优化方法 KVCache, 包括key-Value原子更新策略和数据分布与置换策略等内容。KVCache利用SSD闪存设备和keyValue技术实现缓存数据的缓存持久化存储, 并且利用多级存储下的两段更新事务原子性管理, 保证多级存储数据一致性和可靠性。通过模拟实验表明KVCache有效的增加了存储系统中的数据在顺序读写、随机读写下的性能, 并且使其随机读写性能接近本地内存读写性能。
关键词:数字图书馆,存储系统缓存,Key value
0 引言
现代化高校的数字图书馆改变传统的纸质媒体的信息查看和传播方式而借助于网络信息技术, 传播各种以数字多媒体为存储单位的知识、文献信息, 电子文献资源、教师课件、课程视频等。数字图书馆是用数字技术处理和存储各种图文并茂文献的图书馆, 实质上是一基于种多媒体的信息分享系统。通过数字图书馆所提供的搜索功能, 提高了读者检索资源的效率;同时, 通过数字图书馆提供的web端、移动端等相关应用平台极大的提高了读者的访问便利度。数字图书馆需要大量的磁、光、电等新型存储媒介来存储文本、图像、声音、动画、影视作品等文献信息资源的数字化信息[1]。海量数据信息的存储和管理是数字图书馆的显著特征之一。数字图书馆数据信息资源的种类、数量、性质及其使用方式等均对读者访问的性能、资源的传输速度、可靠性等方面起着决定性的作用。数字图书馆具有系统用户数量庞大, 并发存取海量数据及业务类型多的特点。
数字图书馆的数据信息种类繁多, 形式复杂多样, 数据的重要性程度不一, 数据访问方式各异, 因而不同的数据类型则对读写性能等方面有不同的要求[1]。大文件的顺序读写, 如视频数据等多媒体资源, 读写数据量很大, 要求数据存储吞吐量性能高。小文件随机读, 如数字期刊、数字图书等, 资源访问频率很高, 下载流量也比较大, 对存储系统的IOPS要求很高。因此如何在复杂的数据环境中提升存储系统的I/O性能以满足数字图书馆各种数据访问的要求是一个急需要解决的问题。
因此, 针对上述问题本文提出一种适用于数字图书馆应用环境的存储系统性能优化方法KVCache, 其基本原理为将最近访问的文件保持在由高速非易失性存储介质组成的缓存层中, 下次访问相同的文件数据时则不需要再访问低速的磁盘, 直接从缓存层中得到, 以获得较高的I/O性能。该优化方法的特点主要包含以下方面:
1) 采用非易失性高速存储设备, 例如SSD, 作为存储系统的缓存层存储介质, 充分保障数据在各种应用环境下的性能[8]。
2) 采用Key-Value技术实现了缓存的持久化存储, 提升了存储系统的访问性能。
3) 利用多级存储下的两段更新事务原子性管理, 在提升存储系统I/O性能的前提下, 保证多级存储数据一致性和可靠性。
1相关研究
目前缓存对于缓存的研究主要集中在通用块层。
Flash Cache是Linux内核中的一种磁盘缓存实现模块, 于2010年由Facebook公司开发, Flash Cache的具体实现, 将请求IO以一定的哈希映射关系同时映射到闪存设备和磁盘设备中。并在读写路径中, 先请求闪存设备, 再请求磁盘设备, 从而实现了使用闪存设备对传统磁盘进行缓存的设计。磁盘与闪存之间的映射, Flash Cache使用了对磁盘以及闪存逻辑上进行条带化, 哈希映射的方式完成[5]。
BCache作为同样实现在Linux内核中的一种磁盘缓存实现, 其则是基于通用块层实现的, 与Flash Cache不同, 其实现与IO调度层之上, 可以使用更少的设备来缓存整个存储子系统的数据。同时, 由于其实现于通用块层, BCache可以有效利用闪存设备对随机IO读写的优异性能, 将随机IO组合为顺序IO再写入传统磁盘中, 大大增加了磁盘的读写能力。
块存储方案用于实现持久化缓存, 可以将缓存模型简化, 也是传统缓存模型常用的解决方案。使用块存储接口调用持久化缓存设备, 可以将设备直接与内存中的缓存块相映射, 从而快速索引持久化设备中的缓存数据。然而此方式的缺点是, 由于块存储方案存储流程非常简单, 通过对内核的系统调用实现数据的存取, 如果在写入过程中阻塞等待内核块接口的完成回调则损失了缓存性能, 而如果不阻塞等待则无法达到第一阶段写事务的原子性和可靠性要求[2]。
而基于Key-Value的方式则很好地解决了块存储方案的缺点。Key-Value的方式可以很好地完成内存与磁盘设备的映射过程, 因而逻辑视图上对于持久化缓存项和内存缓存项的映射规则简单, 模型类似块存储缓存方案;而对于更新操作的一致性和可靠性以及性能特点, 又可以超越块存储缓存方案。
2 KVCache的实现
KVCache的实现主要包括:key-Value原子更新策略、缓存数据分布与置换策略。
当更新I/O请求到达时, 需要将I/O请求通过分割成多个细颗粒度的对象请求, 并且为每个对象请求将创建一个更新事务, 如图1所示。
第一阶段的写事务将对象请求更新提交到保存在内存中的缓存目录, 并同时提交到内存缓存。完成对内存缓存的更新后, 又将根据更新的缓存目录, 将缓存写入到持久化缓存设备中。
第二阶段的写事物则是待Flush线程达到某个预设值时, 将本地缓存写回到后端存储设备中。为了保证第二阶段写事务的可靠性和一致性, 需要在第一阶段写事务完成后, 以日志形式将该事务记录在持久化缓存中, 并在第二阶段写事务完成后将该日志删除。
2.1 key-Value原子更新
KVCache中使用Level DB作为持久化缓存接口, 将对象缓存数据合并成可以并行读写, 快速索引的磁盘数据因而本文选择使用键值对存储方案Level DB来完成系统对数据的持久化缓存[4]。
Level DB是一个开源的键值对存储方案, 其使用LSM树对数据进行存储, 并利用内存暂存区设计优化了写性能, 通过将内存中数据和持久化后数据进行多级存储, 简化了索引对内存产生的开销。同时, 由于Level DB本身的键值对语义与内存缓存使用的map语义十分契合, 减少了存储接口转换带来的开销。
图2为KVCache对于更新请求结合Level DB所进行的数据流图。为了提高数据写入性能, Level DB对缓存持久化的操作其实是一个异步事务。也就是图中看到当写操作写入Level DB的memtable中后, 并不是立刻会被写入Level DB SSTable。Level DB会将多个更新操作进行合并和等待到某预设值到达, 才将数据写入imm_memtable, 并分级存储到SSTable中。但是由于Level DB本身的事务原子性管理, 系统可以完全假设当数据写入Level DB的memtable时, 即完成了对持久化缓存的写入事务, 因而系统可以向系统提交缓存更新成功响应。
本文设计了缓存目录, 用于记录与管理所有的缓存数据。缓存目录只用于记录缓存的最新版本号, 本地版本号, 后端版本号以及所在位置。缓存目录主要结构如表1所示。
通过版本号记录更新事务的状态以及是否可提供读操作。写请求映射到缓存目录后, 最新缓存版本号 (version) 首先被更新, 从而表明该缓存有更新的数据将存入, 而其余本地版本号 (lversion) 以及后端版本号 (bversion) 不同则标记了该写事务并未完成, 如图3所示。由于KVCache基于内存缓存与持久化缓存进行两级缓存, 所以当写事务已成功提交给内存缓存与持久化缓存时, 第一阶段写事务已完成。对于后端的写提交为一个新的写事务, 通过异步写操作执行。当提交给后端的写操作完成后, 缓存目录的后端版本号更新至提交该操作时的最新缓存版本号。缓存更新事件在任一状态时失败, 则可以通过缓存目录有效回滚回上一个状态点, 且重新执行该写事务, 保证了更新事务的原子性。
2.2 数据分布与置换策略
由于缓存设备的空间有限, 且内存存储空间远小于持久化设备的缓存空间, 当缓存空间不足时的换出策略则变成多级缓存的另一个重要问题。KVCache中内存缓存与持久化缓存之间采用直写策略。持久化缓存到后端采用写回策略。
KVCache使用LRU (Latest Recent Update) 替换算法来完成在缓存空间不足时的剔除管理。
由于目录缓存记录了所有在缓存中的数据, 因而系统在对象缓存数据被内存缓存LRU换出后, 并不需要因此对缓存目录进行修改;而当持久化缓存设备空间不足时, 系统则需要修改缓存目录。
KVCache通过LRU类来记录存储在内存缓存中的所有对象缓存项指针以及保存在缓存目录中的所有指针。LRU类以被更新时间作为视图, 记录被定义为LRU对象的指针列表。通过该方式, 只需要在每次更新内存缓存与更新缓存目录时, 通过将LRU指针列表中该项提到列表顶部, 则在空间不足时, 只需要将LRU对象底部指针指向的数据在缓存中删除则完成了系统的缓存替换算法。
2.3 实验与评估
实验环境基于SAN的架构, 存储设备中采用8GB的内存, 使用40GB的SSD作为KVCache的持久化缓存[3,6,7]。SAN与应用服务器采用1Gb以太网进行互联。测试模拟在数字图书馆的应用环境下的流媒体文件的顺序读写和小文件的随机读写为主的数据访问方式。
读写性能对比测试见图4。
实验结果表明, 在使用了KVCache的存储系统中, 所有压力测试节点的顺序读带宽总和为111MB/s, 顺序写带宽为113MB/s, 基本接近千兆网卡传输上限。
小文件的随机读写模拟测试通过二组数据完成: (a) 没有加入缓存系统随机读写测试。 (b) 使用300G空间进行持久化缓存随机读写测试。 (c) 使用16G内存空间进行缓存随机读写测试。
图5为模拟随机小文件写性能测试结果。横坐标为不同的客户节点, 纵坐标为每一个VM使用IOSTAT获取到的IOPS。通过对于总的IOPS计算发现, 内存缓存与SSD缓存得到了几乎相同的IOPS数。由于使用内存作为缓存的过程中, 系统内存空间上限为16G, 所以仅使用10G内存空间作为缓存。而系统的持久化缓存策略与内存缓存策略均使用写回方式, 因而内存缓存和持久化缓存获得了几乎相同的每秒吞吐量。同时可以看出由于KVCache使用了高速SSD进行缓存, I/O请求在一定范围内均在SSD中命中, 因而全面提升随机I/O的性能, 可以看到其拥有几乎仅使用HDD作为后端9倍的吞吐量。
如图6模拟随机小文件读性能上, KVCache使用SSD作为持久化缓存后的性能优势更明显。实验结果可见, 由于KVCache使用SSD作为缓存, 并且采用Keyvalue的方式进行缓存数据的更新, 使得其随机读总带宽达到26.11MB/s, 其读写性能基本上达到了内存读的性能。
3 结论
针对高校数字图书馆的多样化数据访问的应用环境, 提出了适用于数字图书馆应用环境的存储系统性能优化方法KVCache, 包括key-Value原子更新策略和数据分布与置换策略等内容。KVCache利用SSD闪存设备和key-Value技术实现缓存数据的缓存持久化存储, 并且利用多级存储下的两段更新事务原子性管理, 保证多级存储数据一致性和可靠性。
通过模拟实验表明KVCache有效的增加了存储系统中的数据在顺序读写、随机读写下的性能, 并且使其随机读写性能接近本地内存读写性能。
参考文献
[1]黎春兰, 邓仲华.信息资源视角下云计算面临的挑战[J].图书与情报, 2011 (3) :23-28.
[2]Fred Douglis and John K.Ousterhout.Beating the I/O bottleneck:A case for logstructured files systems.Technical Report UCB/CSD 88/467, University of California, Berkeley, October 1988.
[3]Howard Gobioff, Garth Gibson, and Doug Tygar.Security for network attached storage devices.Technical Report TR CMU-CS-97-185, Carniege Mellon, October 1997.
[4]Level DB.leveldb:A fast and lightweight key/value database library by Google.
[5]Alex Robson.Consistent Hashing.http://sharplearningcurve.com/blog/2010/09/27/consistenthashing/, September 2010.
[6]T.Clark.Designing Storage Area Networks:A Practical Reference for Implementing Fibre Channel and IP SANS (Second Edition) .Addison-Wesley Networking Basics Series, 2003.
[7]D.Nagle, G.Ganger, J.Butler, et al.Network Support for Network-Attached Storage.In:Proceedings of Hot Interconnects.18-20, 1999.
大数据商机:云存储 篇2
如果3000多年前商朝的史官穿越到今天这个时代,他们一定会产生一种对信息数据的眩晕感。
这是一个数据爆炸的世界,人类从未像今天这样随时随地地创造数据。有统计称,现在全球一天创造的数据相当于过去几百年创造的数据。我们可以在互联网上搜索、聊天、购物、摄影、看视频、听音乐、写文档……现在BAT(百度、阿里巴巴、腾讯)各自处理的数据量已达到100P(1P=1024T,1T=1024G))级别。据说淘宝和天猫每天新增的数据量,能让人连续不断地看28年高清电影。
随着数据量的与日俱增,如何方便、安全地存储信息就成了人们考虑的问题。在随处是“云计算”的“云时代”,人们纷纷将数据搬到云端。数据云端化趋势催热了存储市场,各种云存储产品纷纷落地。
“云计算”催热“云存储”
2002年左右,陈进才所在的研究团队正从事一项数字电视台研究,需要存储高清的数字电视信号,当时主流的硬盘大小只有几十“G”(1G=1024M),无法满足存储需求。陈进才想到的办法是,将几个小容量且便宜的硬盘组合成为一个磁盘阵列,每个磁盘阵列大小为1T,总共用了四个这样的磁盘阵列。
“现在在京东、淘宝上很轻易就能买到几‘T’大小的移动硬盘。”回想起12年前的存储条件,陈进才感叹道。计算机科学出身的陈进才现在是华中科技大学光电国家实验室信息存储与光显示功能实验室的科学家,专注于信息存储的基础研究工作。
“硬盘是信息存储历史上具有里程碑意义的发明。我最早使用的硬盘大小只有几十‘M’,现在几百‘G’、几‘T’容量的硬盘都很常见了。”陈进才的硬盘使用史大致与硬盘发展史相当。
不过现在,陈进才可能要跟硬盘说拜拜了。人们逐渐将数据搬到云端,而不是硬盘、U盘或者光盘,而这一切都拜“云计算”这个时髦词儿所赐。
“计算和存储是两个密不可分的概念。人们在计算什么?数据。计算的结果是什么?还是数据。只要是数据,都需要有一个场地,这就是存储。”陈进才说,“以前学术界和产业界对计算的投入较多,所以云计算才发展这么快,不过紧接着云存储又落地了,现在网盘已经走进了人们的生活。”
人们日常使用水、电,只要拧开水龙头、插上插头就可以用了,并不需要知道所使用的水和电来自何方。事实上,水、电来自不同的水厂、电厂,并纳入统一的水电供应网络中。云存储也是一样的道理。以前,人们知道一个文档存储在U盘、光盘、硬盘当中,现在数据走向云端,人们不知道数据究竟存储在哪里,但这并不妨碍人们随时随地使用数据。
云存储技术的出现是符合时代发展需要的。这是一个大数据时代,生活在这个时代的人跟商朝史官的最大不同是,人们能随时随地记录和保存自己的历史。人们记录个人历史的方式各式各样,产生的数据诸如文字、语音、照片、视频、消费记录、搜索记录等,五花八门。特别是智能硬件兴起以后,各种可穿戴设备正马不停蹄地记录我们身体的数据。个人拥有的数据量与日俱增,传统硬盘已经无法满足需求,云存储适时出现,缓解了存储压力。
这又是一个移动互联网时代,人们随时随地都在使用PC、笔记本、手机、平板等多种终端设备,而这些设备之间的数据同步和共享问题也日益突出。人们使用数据的场景日益丰富:工作时在单位的PC上办公,有时又需要在其他终端上查看数据;用手机拍摄了照片、视频,想在PC或者电视的屏幕上观看。传统的解决办法是用U盘、移动硬盘等存储介质转移数据,但使用起来总是不便。一旦终端设备或者U盘、硬盘损坏或丢失,造成的数据损失无法弥补。云存储技术则很好地解决了数据同步和共享,给用户带来便捷。
据思科公司发布的《思科全球云指数:2013-2018》报告预测显示,到2018年,全球将有78%的数据量会在云端存储和处理,只有22%的数据会在传统物理介质中存储和处理。对此,陈进才表示:“具体的比例我无法评价,但是数据云端化趋势是明显的,这个预测大方向是对的。”
云存储应用无处不在
正因为数据无处不在,所以云存储也无处不在。近两年,个人云、家庭云、企业云、行业云等各式各样的“云”纷纷问世。
对家庭来说,照片是最值得回忆的纪念。360云盘就打算把用户的照片作为未来发展的重点。“照片对用户来说是很重要的数据。我们想把用户的照片都备份到云盘中,避免用户手机、电脑故障时丢失照片的情况。以后用户也可以在手机的云盘或相册内看到这些照片,实现无障碍查看,且不占用手机存储空间。”360云盘产品经理刘航对《支点》记者说。
云存储的好处还在于能突破传统U盘物理时空的局限。比如人们拍摄了照片,将照片保存并分享到云存储,远在老家的爸妈可以瞬时查看这些照片。类似的使用照片数据的场景很多,而家庭云存储则能很好地满足家庭成员在不同地区、不同场景下查看照片的需求。
随着物联网建设的推进,家庭智能化也逐步实现。“一个家庭就是一个物联网系统。现在家里一般都有好几台移动设备,还有其他的智能设备,比如空调、电视、冰箱等。对这些智能设备的控制、需求都会产生信息数据,而有数据就需要存储配置。家庭云存储能够把这些电子设备共用起来,建立在一个共同的平台上,从而达到数据同步和共享的目的。”陈进才认为,家庭云存储前景广阔,“按照现有技术,家庭云存储很快就能够推广开来。”
云存储在智慧城市建设中也应用广泛。比如城市智慧交通,有了云存储,交警可随时在个人终端上查看道路交通信息。比如智能安防系统,由于要存储大量的高清监控视频,传统的存储方式根本无法满足。云存储不仅能存储大量视频,还能让用户随时随地调取视频数据。又比如在智慧医疗中,云存储平台将人们跟医院等健康机构联系起来。各种可穿戴设备记录人们身体的数据,并实时将数据上传到云端,医生则可随时查看数据并提出指导意见。
nlc202309041205
类似的云存储技术应用还有很多,未来云存储将在智慧城市的各个细分领域都将得到长足发展。据IDC的《2020年的数字宇宙》报告预测,到2020年数字宇宙的规模将达到40万亿GB,其中40%的数据将会在云服务商那里被存储或处理,15%的数据将始终存储在云中。
业内混战跑马圈地
尽管云存储市场空间巨大,但无论是美国,还是中国,云存储行业还处于起步阶段,市场中还没有形成占绝对优势领头羊的局面。
比如在美国,不仅苹果公司推出iCloud云存储服务,其他巨头如谷歌、亚马逊和微软也纷纷角逐云存储市场。而Box这样的初创公司也开始与大牌公司Dropbox(世界上最大的云存储服务公司之一)抢市场。一时间,美国云存储市场好不热闹。
国内云存储市场也热闹非凡,互联网巨头和初创企业纷纷在云存储市场上跑马圈地,并没有哪一家处于很明显的优势地位。网盘作为针对个人用户的一种云存储产品,尤其受到青睐。百度云盘、360云盘、微云、天翼云、115网盘、金山快盘、华为网盘、新浪微盘,都在使出浑身解数,积攒人气。
“现在PC没落了,移动设备越来越普及。云存储可以备份终端设备中的重要资料,防止丢失,各个终端之间也可以同步和分享数据,给用户带来便利。另外,手机制造商也想用云存储黏住用户,资料备份在他们的云存储里,用户换品牌的机会就变少了。”刘航向《支点》记者解释了为什么云存储会引发起众多互联网公司的兴趣。
热闹归热闹,陈进才从热闹中看出了些门道。在他看来,目前国内的云存储服务提供商还处于聚集用户的初级阶段。“通过提供免费的大容量的网盘服务,达到聚集大量用户的目的,再通过提供增值服务收费,比如扩充存储容量等。”
“企业这么做也很无奈。毕竟云存储刚出现,消费者心里没底,如果一开始就收费的话,用户肯定不买账,免费则符合国内用户的心理。”陈进才认为,国内云存储服务提供商还需慢慢探索更有效的商业模式。
刘航也坦言,360云盘还没有找到有效的盈利模式,处于用户积累期。不过他坚持认为:“好的基础服务应该是免费的,未来我们也不会向云盘用户收费。”
陈进才建议,云存储服务商应转向企业级用户要利润。“企业有时会存储大量数据,所以迫切需要云存储。”当然企业可以自建私有云,但云存储技术门槛很高,需要企业投入大量资金购买存储硬件和软件设备建设云存储平台,还得请专业人员运营和维护这一平台,成本投入较大。当然企业也可以把这些工作交给专业的云存储服务商,这就给国内云存储服务商们带来了机会。
未来存储将生物智能化
人类自文明诞生以来,就一直在探索存储信息的方式。从结绳记事到龟甲兽骨,从莎草纸到竹简丝绸,从纸张到软盘,从硬盘到光盘,从U盘到云盘,信息存储能力在越来越强、越来越便捷的同时,人们也越来越注重存储的安全问题。
艾媒咨询在去年底发布的《2014中国个人云存储行业及用户行为研究报告》显示,80.3%的中国网民会选择用U盘存储文件,只有33.6%的网民会选择云存储产品存储文件,同时还显示,有59.6%的网民在选择云存储服务时比较关注存储的安全性。
安全的云存储对用户使用习惯的形成至关重要。一说到“云”,总给人一种虚无缥缈的感觉,用户对于云存储也有这样的感觉。跟U盘存储不一样,数据云端化以后,用户不知道数据究竟存储在哪里,从而对云存储的数据安全产生担忧。
云存储,究竟安不安全?去年闹得沸沸扬扬的好莱坞女星艳照门事件,不禁让人们对云存储安全性产生怀疑。女星的艳照就是从苹果公司的云存储服务iCloud中流出的。
刘航解释说,iCloud泄漏是因为苹果公司对iCloud账户登录没有限制,允许用户反复重试密码,黑客利用这个漏洞开发软件穷举各种密码,从而破解账户盗取文件。
刘航认为没有绝对的安全。要提高安全性能,一方面云存储服务商本身要将安全措施做到极致;另一方面用户也要提高自身安全意识。
陈进才认为,安全问题是目前云存储推广的最大障碍之一,但用户没有必要因此就排斥云存储。“以前我们去银行柜台存钱就觉得安全,而在网上交易则觉得不安全,可现在大家普遍都在网上转账、付款。请给云存储一点时间,未来云存储的安全体系会越来越先进。”陈进才对云存储的未来充满信心。
当然,云存储也并不是人类存储信息的最终形态,事实上云存储的数据依然存储在硬盘上。刘航认为,未来肯定会出现更为先进的存储技术,比如蛋白质存储器。据悉,一个蛋白质存储器的存储容量可达5万GB,与传统光盘相比访问数据的速度更快,且在无电源的情况下还能存储数据。
“互联网预言帝”凯文·凯利在《失控》一书中认为,人造事物和天生事物正在联姻。他说:“机器,正在生物化;而生物,正在工程化。”蛋白质存储器正是生物工程化的体现。未来,蛋白质存储器很有可能会成为继云存储以后存储市场新的增长点。
依靠存储技术,人类知识得以传承。毫不夸张地说,未来人类文明的延续,存储技术的进步至关重要。(支点杂志2015年3月刊)
浅谈企业数据中心的存储性能优化 篇3
随着经济全球化和信息国际化, 信息技术逐渐成为了企业改进作业流程、降低成本、提高竞争力的强有力手段。信息化的建设中心总是围绕着应用的交付和数据中心的建设两个方面。近年, 连云港港先后建成使用了二十余个大型信息系统:集装箱管理系统、散杂货公司调度与商务系统、港口货源信息系统、港口计划统计系统、港口物资管理系统、港口计件工资系统、港口机电设备管理系统、港口海关监管系统、港口主题数据库、港口信息门户网站、港口船舶调度系统以及轮驳公司与引航公司等衍生系统、港口边检业务网上受理系统、港口理货业务管理系统等近二十余个系统。这些系统已经基本成为港口集团各单位支撑业务运作的核心系统, 也给连云港港口带来了实实在在的经济效益和社会效益。
应用系统的普及让我们对信息系统的依赖程度空前增强, 不得不去考虑数据的安全存储、数据的备份、数据的深度挖掘等内容, 服务性能的优化、从一般意义上的信息中心向企业数据中心的转变直接摆在我们的面前。
2 需求分析
现在, 各大中企业都在兴建信息中心。开始时都有比较好的规划, 但随着企业发展, 业务的要求随市场变化, 对信息中心的要求也不停的变化, 当经过几个时期建设时, 信息中心很可能成为短期应对项目而建设, 造成各自为政, 迷失了规划的方向。常见的现象是:各个系统独立, 那个部分不足就升级或更换更强的设备。实际上, 这样的做法是非常浪费的。
信息中心主要包含接入设备、服务器、数据库和应用系统、网络设备、存储、安全和信息系统管理设备等, 是一个整体系统, 投资建设时就应该考虑到整体性和灵活适应性。我们来看看几个方面。
一般我们会给每个应用系统分配独立的服务器, 若这个应用非常重要, 那我们就会配置两台做冗余。随着业务发展, 使用人数越来越多, 但台服务器性能无法满足时, 我们会考虑用更强壮的服务器。若某些应用使用比较少, 或者偶尔性能要求比较高, 基于兼容性、可维护的角度考虑, 我们依然要配置一个单独的服务器。随着系统越来越多, 信息中心的服务器数量越来越多, 几十上百的服务器随处可见。大量的服务器利用率其实不高, 但依然一样的耗电, 一样的需要维护和管理, 一样的需要花钱维保。解决这些问题的方法基本由两个:服务器整合和服务器集群。
服务器整合是指把几台利用率不高的, 或者是出现错时高峰的服务器整合到一台服务器上, 以提高单台服务器的利用率。因整合带来服务器数量的大幅减少, 同时降低运营费用。这个领域最具代表性的是VMware。这种方法能解决部分问题, 但若同种应用或具有同样峰值要求的环境VM ware就无法解决。这时, 我们可以用服务器集群来解决。服务器集群是上个世纪90年代就开始发展的, 有硬件也有软件的模式, 发展到后来, 硬件模式的简单可管理和不影响原服务器性能等优点占了主流, 最具代表性的有F5等, 可以有30多种的负载均衡算法支持, 并且可以随需自动变换。
服务器端相对比较独立, 容易解决。而服务器后端相对就比较复杂, 包括数据库、存储等, 而且还需要互相配合才能达到最优。比如数据库系统存储空间分配方面, 最频繁读写的是Redo Log和tmp临时空间, 而实际的Data可能对性能的要求没有这么高, 所以我们需要把最优性能的存储空间分配给它们, 才能达到整体较优。如下图标红的表明是读写最高的数据块, 实际只占很少一部分, 但我们把两个Redo Log放在同一组存储空间中时, 一定会出现资源争用, 从而影响两个数据库的性能。
3 存储优化的方法
那如何合理规划分配存储, 达到性能最优化呢?我们来看看几个基本方面:磁盘阵列柜内优化、存储性能监控调优、结构调整。
柜内优化可以从几个方面进行。最先可以考虑的是升级盘阵操作系统 (微码) , 用最新的版本来达到较优的性能。其次可以考虑硬盘方面。按照磁盘RAID的特性, 不同类型的RAID类型会有不用的性能表现, 如RAID0就比RAID5性能要好, 只是总体可用容量少了。同是RAID5也有性能差异, 按照每个厂商的不同, 一般到十几个硬盘的情况下性能达到最佳。
几乎所有的盘阵都会配置大量的缓存, 缓存的读写分配也会影响性能。针对不同的应用特性我们需要分配不同多少的缓存。
有些极端的性能要求的, 还可以使用企业级的闪盘 (Flash Disk) 来支持。企业级闪盘有非常优异的性能特点, 比如读写IO比磁记录硬盘高几十倍, 同时随着IO的增多, 响应延时几乎保持稳定。详见右图, 可以看出, 随着IO数量到一定值, 由高性能光纤硬盘组成的RAID组响应的时间急剧上升, 而闪存盘则保持几个毫秒响应时间的优美特性。
对于纯粹的性能来讲, 上述方法都是有效的, 但在众多应用系统中, 企业占到最多资源的很有可能不是核心业务, 也即非核心业务很有可能和核心业务同台竞技, 争抢资源。这样就造成核心业务响应比较慢, 即使升级到较高一级的设备也没有明显效果。在网络领域是用Qo S来解决的, 在存储中是否也有这样的工具呢?个别厂商已经考虑了这些需求, 比如EMC, 在中端盘阵CLARii ON系列中就可以选择N Q M (N a v i s p h e r e Q u a l i t y o f S e r v i c e Manager) 软件来监控和调配性能使用, 保证主要的性能分配给核心的业务。这些调配可以按照吞吐量、带宽、响应时间等参数来设置。
另外一个需要考虑的是服务器和存储之间连接的性能问题。若存储性能足够, 服务器性能也很好, 很有可能连接它们的链路是个瓶颈。我们需要配备链路冗余等软件来达到多条线路负载均衡, 消除瓶颈。
除了上述局部的性能调优外, 还有其他策略性的调优方法。比如一个企业, 总有数据量约10TB, 包括OLTP的数据库应用数据、Email数据、文件共享数据等。这个企业采购10TB容量的盘阵, 所有数据都放在一个盘阵中。实际大多数企业的数据经常使用的只占20%, 那也就意味着不大用的80%的数据影响了整个盘阵的性能, 尤其是需要对数据进行保护时, 花在备份不常用数据的时间比常用数据长4倍。所以, 我们会考虑把不常用的部分数据移出主要存储设备, 放到比较稳固的存储设备上, 比如EMC的Centera, 需要的时候可以直接访问, 即不影响访问的便利性, 又可以给主存储设备瘦身而达到性能的提高。
结语
数据存储优化 篇4
随着计算机与信息技术的快速发展,海量的数据需要在计算机和网络系统中进行数据交换和信息交互,实现网络通信和数据共享。大数据通过网络存储和本地存储的方式寄存在网络和本地计算机上,通常对海量数据的存储都是采用云存储构架的方式,云存储构架是采用层次化的网格结构,复制文件到具有执行任务的站点,在云存储网格中,每个站点控制数据传输,然后通过PCI总线接口为存储空间提供所需副本,进行数据调度和访问。大数据云存储系统的架构结构的优化可以降低存储开销,提高数据的存储空间和数据调度效率,研究大数据存储的优化加工结构设计方法,在优化大数据信息处理和存储优化中具有积极重要的意义,相关的系统设计方法受到人们的极大重视[1⁃3]。
传统方法中,对大数据存储中的优化架构结构的设计方法通过任务发生器生成LRU排序列表,副本管理器在每个站点控制数据的传输,通过副本相关检测器进行干扰抑制,实现对大数据存储的优化结构设计,结合这一设计思想,取得了一定的研究成果。其中,文献[4]提出一种基于海量数据存储的时间和空间领域匹配的数据存储方法,采用线性突发的数据传输模式进行数据调度,在存储架构模型中,允许PCI总线扩展,进行了存储软件设计,提高了数据网格调度和存储的能力,但是该方法在系统架构中总线协议比较复杂,数据计算的开销较大。文献[5]提出一种基于综合调度策略的动态数据复制的海量数据存储方法,在负载均衡条件的C/S客户端控制下,对海量数据存储优化架构系统中的类似数据进行分块存储,实现了数据的聚类分析和优化调度,但是该系统在进行海量数据存储过程中,受到存储系统的吞吐容量和性能的约束,导致存储开销成几何倍级增长[6⁃8]。
针对上述问题,本文对传统的大数据存储结构进行改进设计,提出一种基于时钟同步与高速模块内部触发的大数据存储中的优化架构结构设计方法。
1 大数据存储系统总体设计架构和指标分析
1.1 大数据存储系统总体设计架构
大数据存储系统的优化结构设计中,数据触发和采集是整个系统的基础,采用触发总线、模拟总线构建缓冲区,数据传输到主控计算机的过程通过模拟信息预处理模块实现,采用数据动态增益码调度和编码方法,将存储系统中的大数据送到环形RAM缓冲区,对主控机下载缓冲区的数据作频谱分析,进行采样点模拟。
大数据存储系统主要包括如下几个部分:局部总线传输数据处理器、PCI总线及桥接电路、VXI系统总线控制设备、主控计算机读取时域数据、外部存储器以及零号插槽复位电路。
局部总线是采集系统的基础,它负责信号采集、通信总线触发、与上位机通信、资源管理等任务。通过数据管理调度和评价器分析数据存储中的抗干扰能力,数据存储节点通过Qo S值进行数据跟踪,Qo S值直接与VXI总线通信,通过对数据存储任务的评价,进行存储系统的故障排除和干扰抑制。
大数据存储系统的功能任务流程如图1所示。
根据上述任务流程,进行大数据存储系统的功能分析,主要有:
(1)应用程序加载,即把存储VXI总线系统的应用程序通过外置式系统控制器加载到DSP处理器内部RAM中运行。
(2)通过数字信号处理芯片和32 MB的外部存储空间,实现人机对话。
(3)自动增益控制,通过把计算任务分配到多个处理器,设计动态增益控制码,使得主控计算机的信号能使大数据存储系统稳定在所需的范围。
(4)设置外部信号调理,控制A/D转换器进行正常大数据存储的空间采样。
(5)读取A/D采样值中断主控计算机,包括局部总线传输数据主控计算机进行频谱分析、信息模拟等。
(6)与外部SRAM通信,进行PCI桥接和D/A转换。
(7)按照系统所需频率控制D/A转换器工作。
综上分析,得到本文设计的大数据存储的架构结构总体设计框图如图2所示。
1.2 大数据存储系统的功能指标分析与网格调度
根据上述构建的数据存储的架构结构总体设计进行系统设计,本文设计的大数据存储系统的指标参数描述如下:
(1)数据存储和环形RAM缓冲区内数据捕获的幅度动态范围:-43~50 d B,噪声叠加放大量为87 d B,输出D/A转换器的幅度为±10 V。
(2)DSP中数据传输的采样通道为12通道同步、异步输入。
(3)样数据在缓冲区循环压控放大器的采样率:≥200 Hz。
(4)DSP控制DAC的A/D分辨率:15位(至少)。
(5)功率放大器的D/A分辨率:13位(至少)。
(6)D/A转换速率:≥200 Hz。
大数据云存储架构结构设计中,采用层次化网格调度模型,通过站点访问和网格区域分区,将使用动态分级式复制算法计算最佳区域,实现副本放置和数据的快速复制,每个网格站点有多通道任务请求文件的区域,实现对大数据云存储的优化架构。
大数据云存储架构结构设计中层次化网格调度访问的过程描述如图3所示。
2 大数据存储系统的硬件设计和软件设计实现
2.1 大数据云存储优化构架系统的硬件
根据上述设计思想和指标参量分析,进行大数据存储系统的硬件模块设计,硬件模块主要有时钟同步电路、复位电路、高速模块内部触发电路、程序加载电路和存储终端接口电路等,系统设计过程描述如下:
大数据存储系统的时钟同步电路由多路开关选择12位A/D数据采样模块,通过自适应调制电路进行自适应增益连续反馈采样。大数据存储系统的线性动态范围为-40~40 d B,通过Emulator由JTAG选择引脚、时钟信号。根据MAX7425的电子特性,采用PCI接口功能模块,设计SCSI⁃68反馈动态增益模块,在第一级放大之后进行高通滤波去除干扰数据的误差增益,在接收电路中加入滤波电路,实现大数据的时钟同步采样,得到时钟同步电路如图4所示。
大数据的时钟同步采样的运放端口,选用AD8021进行5阶开关电容低通滤波,从而使输出电压趋于稳定的直流电压。通过自定义总线SCSI⁃68共享双端口RAM,实现PC机与数据传输系统的实时通信。功率放大器通过三级放大器进行D/A转换信号的逐级放大,得到数据存储命令,数据输出信号的范围在合理程度,可提高系统的发射响应和接收灵敏度。当存储器处于接收状态时,通过设计的带通滤波器对存储的数据进行降噪处理,根据上述分析,构建复位电路,在系统上电、初始化、出现异常断电时,采用看门狗复位方法实现对DSP芯片的复位,得到复位电路设计如图5所示。
在大数据存储系统中,通过中断复位,使得数据长度可以为8,12,20,经DMA控制器实现外部脉冲源驱动,按照DSP串口0的引脚引出通过(R/X)DATDLY设置数据运算和存储。采用5409A串口硬件发送采样值,进行程序加载,5409A串口引脚分配如图6所示。
通过5409A串口引脚分配,利用串口在两块DSP之间传送数据,大数据存储系统的顶层文件的部分Veril⁃og HDL代码如下:
基于时钟同步与高速模块内部触发进行系统的优化设计,通过外部I/O设备进行大数据存储系统的接口设计,大数据存储系统的A/D采样转换器AD8582四片,将通过通道数设置,把12位的A/D结果转换成16位,采用±10 V的双极性输入法,利用信号作一通道转换,为,A4~A0,采用转换序列完成大数据存储系统对应码的编码和符号扩展,I/O设备的外部接口采用AD8582是两通道的动态增益控制电路,依次与5409A数据总线连接,通过外部接口电源和内核电源协调供电,实现对数据的不间断采样和存储,输出的波形幅度数据具有较好的自适应性。综上分析,本文设计的大数据云存储优化构架系统的硬件集成电路的实现过程如图7所示。
2.2 系统的软件设计与实现
在上述进行了大数据存储系统的硬件设计的基础上,进行大数据存储系统架构结构的软件设计,软件设计建立在ALTERA公司新推出的MAX7000AE软件开发平台基础上,软件设计的流程包括中断服务程序的开发、串口配置程序的设计、DSP串口初始化程序等,首先创建Lab Windows/CVI工程文件,根据编写的PCI卡驱动程序,通知DSP取数,采用时钟同步模块进行大数据的多通道采样,返回的HANDLE(句柄),采用Device Io Con⁃trol()、Read File()控制系统硬件和设定参数。外部接口片选信号利用汇编指令PORTW,PORTR进行串口控制,配置引脚寄存器,设定RCR[1,2]和XCR[1,2],先对SPCR1(串口接收控制寄存器)和SPCR2(串口发送控制寄存器)执行大数据的写入请求,接收堆栈弹出返回指令后,大数据存储系统内的CVI面板实时显示大数据的采样结果和存储空间,根据上述思想,实现对大数据存储的软件设计,大数据存储系统软件设计实现流程如图8所示。
3 系统调试与实验结果分析
为了测试本文设计的大数据存储系统架构模型的性能,进行仿真实验。实验中,大数据的存储主机的PC机为32/64位保护模式,在600 MHz的时钟速率下执行大数据的采样和写入,外部设备接口、DMA控制器支持32位和40位的浮点运算,内核逻辑电流为2.90 A,内核逻辑电压为1.3 V,参考电压VREF设置为VDD_IO的1 2,调节SCLK1和SCLK2之间的时序偏差,通过时钟同步控制和链路数据的配置,实验中,数据量为100 MB~1 GB,以100 MB为单位实现数据的写入和存储,根据上述实验环境和参数设定,结合本文设计的系统硬件电路和软件模块,进行程序加载写入,进行数据存储性能分析和对比,为了对比系统的性能,采用本文方法和传统方法,在不同的存储开销和干扰下,以大数据存储的信息融合的归一化投影值为测试指标,得到大数据存储的性能对比结果如图9所示。
由图9可见,采用本文设计的大数据存储系统进行大数据存储,具有较好的抗干扰性和数据融合性能,降低数据存储开销,提高数据存储系统的数据调度效率,展示了较好的应用价值。
4 结语
通过对大数据存储系统的优化设计,降低了存储系统的空间开销和抗干扰能力。提出一种基于时钟同步与高速模块内部触发的大数据存储中的优化架构结构设计方法。采用时钟同步技术进行存储系统的总线实时调度,采用高速模块内部触发机制取得总线控制权,提高了数据的转发传送性能,系统设计包括了硬件模块设计和软件设计两大部分。由系统设计和仿真实验分析得出,该系统具有较好的数据存储性能,执行效率较高,稳定性较好。
参考文献
[1]CAO Junwei,LI Keqin,STOJMENOVIC I.Optimal power allocation and load distribution for multiple heterogeneous multicore server processors across clouds and data centers[J].IEEE transactions on computers,2014,63(1):45-58.
[2]田刚,何克清,王健,等.面向领域标签辅助的服务聚类方法[J].电子学报,2015,43(7):1266-1274.
[3]卫星,张建军,石雷,等.云计算数据中心服务器数量动态配置策略[J].电子与信息学报,2015,37(8):2007-2013.
[4]URGAONKAR R,KOZAT U C,IGARASHI K,et al.Dynamic resource allocation and power management in virtualized data centers[C]//Proceedings of IEEE/IFIP Network Operations and Management Symposium(NOMS).Osaka,Japan:IEEE,2010:479-486.
[5]CHONG F T,HECK M J R,RANGANATHAN P,et al.Data center energy efficiency:improving energy efficiency in data centers beyond technology scaling[J].IEEE design&test,2014,31(1):93-104.
[6]LI Jian,SHUANG Kai,SU Sen,et al.Reducing operational costs through consolidation with resource prediction in the cloud[C]//Proceedings of 12th IEEE/ACM International Symposium on Cloud and Grid Computing(CCGrid).Ottawa,Canada:IEEE,2012:793-798.
[7]WANG Lin,ZHANG Fa,ARJONA A J,et al.Green DCN:a general framework for achieving energy efficiency in data center networks[J].IEEE journal on selected areas in communications,2014,32(1):4-15.
数据存储优化 篇5
在云计算环境下,系统中含有大量的节点,这些节点往往由廉价的商用服务器构成,这些商用服务器随时有可能发生故障而停止服务,这导致了系统的可用性( 指在线提供服务的时间与总时间的比值) 明显下降。在分布式存储系统中,由于节点失效导致节点上的数据不可用。然而,分布式存储系统为了提供高可用的数据存储和访问服务,必须对数据进行冗余存储,确保在部分节点失效的时候,仍然能正常访问系统内的数据。常用的数据冗余存储模式有多副本备份和纠删码。
利用纠删码进行数据冗余存储的优点是其需要的存储空间明显小于多副本备份,而缺点是进行数据块重建时候产生大量的网络开销。为了对纠删码的优缺点进行分析,研究人员[1,2,3]将纠删码和副本的性能进行了对比,发现: 在存储节点相对稳定的情况下,纠删码的性能要高于多副本备份。当存储节点不稳定的时候,纠删码在进行数据恢复时会产生大量的网络开销,该开销大于其节约的存储开销。鉴于以上原因,文献[4,5]提出了混合的冗余存储模式来提高系统进行数据恢复时的性能。
在现有的纠删码研究中,通常假设系统是由同构的服务器节点组成,并且节点的可用性是相同的。这种假设虽然简化了问题的分析,但是却使得分析的结果不精确。在云计算系统中,存储节点通常是由异构的服务节点组成,因此,要利用纠删码实现云计算环境下的数据冗余存储还需要进行大量的研究工作。
本文研究了云计算环境下的异构存储节点下的数据的优化存储模式。首先,本文假设存储节点是异构的,即节点的可用性是不同的,设计了一个异构存储节点下的可用性分析框架。其次,在该框架下,提出了一种具有高可用性的优化纠删码部署方法。由于该优化部署方法的计算复杂性高,文本设计了一种启发式的纠删码优化部署算法。最后,通过实验验证了本文提出的算法的有效性。
1 相关工作
多副本作为最早的冗余存储方式被广泛使用在早期的P2P存储系统中,如CFS[6]和PAST[7]。此外,Peerstore[8]和Pastiche[9]也采用了多副本技术设计可靠的P2P备份应用。在多副本备份技术中,为了使系统获得令人接受的可用性或冗余数目,必须保存大量的数据副本,从而消耗大量的存储空间; 在纠删码技术中,可以在获得相同的可用性的同时减少大量的存储资源,或者使用相同的存储资源来大大提高系统的可用性[10]。在P2P系统中,数据冗余越少,意味着数据开销越小; 数据开销越小意味着存储过程需要的网络开销越小。由于具有此种特性,纠删码作为数据存储的冗余模式被广泛应用在P2P系统中,例如OceanS tore[11],i DIBS[12]和Reperasure[13]。
在文献[10]的基础上,文献[14]对多副本备份和纠删码进行了分析,研究了其适用的阈值。文献[10,14]假设存储节点在离线的时候,其存储的数据块也丢失了,然而在实际情况下,节点往往是暂时失效,其存储的数据并不会完全丢失。为了应对这种不稳定性,文献[15]应用马尔科夫链对在线节点进行建模,该模型可以分析出每个数据块的可用性( 即考虑节点的暂时失效,又考虑节点的完全失效) 。
Reed-Solomon[16]是最常用的纠删码技术,然而其在编码和解码的时候计算复杂性高,甚至在稳定的网络中其收益也不能弥补其复杂的计算开销。Tornado[17]是一种有效的纠删码技术,其复杂性明显低于Reed-Solomon,因此被广泛应用在P2P存储系统中[11,13]。在节点不稳定的网络中,纠删码在重建一个数据块的时候需要提取多个数据块,因此产生大量的网络开销。为了减小数据恢复时的网络开销,文献[4,5]提出了混合编码的冗余技术。
2 异构数据节点冗余存储模式的优化
2. 1 数据存储模型
一个分布式存储系统在稳态工作时,其节点数和存储的对象数都是常数。用H表示该分布式系统的节点集合,那么每个数据对象在系统中都被存放在H的子集N当中,N∈H。为了简化分析,本文假设每个对象的存储子集N是随机选取的。
在时刻t,用表示存储该对象的可用节点集合,用表示存储该对象的不可用节点集合,并且。节点i的平均在线可用性ai定义如下:
其中,t0,i是节点i加入系统的时刻,τi是该节点在系统内的生命周期。
存储系统在工作的时候可以分为两个不同的过程,存储过程和恢复过程。
存储过程用 < k,n > 纠删码将数据对象存储在系统中。其中每个数据对象被分割成k个大小相等的块,之后用这k个块产生n( n≥k) 个冗余的块,然后将其存储在N中,其中r =n/k称为冗余率。用g( i) 表示节点i( i∈N) 存储的冗余块的数目,那么满足,并且g( i) ≥1,i∈N。应用纠删码技术,存储过程需要决定每个数据对象的冗余率r。首先,存储过程生成一个很大的冗余块池,满足n≥| N |。其次,将这些块分散存储在N的节点中。最后,固定n,通过改变k来获得不同的冗余率,从而得到不同的数据可用性。根据不同的N和n,存储过程可以分为以下三中情况:
1) n > | N | : 冗余块的数目大于存储节点的数目,此时每个存储节点将分配多个数据块;
2) n = | N | : 冗余块的数目等于存储节点的数目,每个存储节点将分配一个数据块;
3) n < | N | : 冗余块的数目小于存储节点的数目,这时选取N的子集N',使其满足| N' | = n,这时该问题便转化为2) 。
在数据恢复过程中,在n个冗余块中提取k个冗余块,并以此对数据对象进行恢复。为了确保恢复过程可以顺利进行,系统必须确保含有至少k个可用的冗余块。用离散变量表示t时刻系统内可用节点所存储的数据块的数目,那么数据可用性d可以定义如下:
数据可用性d表示系统内含有至少k个可用的冗余数据块的概率。
2. 2 问题定义
现有的存储系统假设节点是同构的,即节点的可用性ai是相同的,用节点的平均可用性āi代替节点的可用性。节点的平均可用性定义如下:
如果节点是同构的,那么每个节点将会分配相同数目的冗余块,并且假设节点的数目等于冗余块的数目n = | N | ,那么分配函数g( i) = 1,i∈N。
然而,云计算环境下的存储节点往往是异构的,如果仍然用同构的方式进行分析,那么将得到不准确的结果,并且使其实际使用的冗余块数目大于理论上的需求。
本文研究了分布式存储系统中异构节点的存储模式的优化。由于存储节点的可用性是不同的,针对该可用性的异构性可以更好地分配冗余块,从而在达到系统可用性的前提下使冗余块的数目达到最优。
2. 3 异构数据节点冗余存储模式的优化
在异构的分布式存储系统中,节点i的可用性为ai( i∈N) ,数据的冗余块的数目为n。Qni,m表示如下事件,n个节点中至少有i个可用,并且这i个节点中一共包含至少m个数据块。那么该事件发生的概率Pr( Qni,m) 就是:
当n = | N|时:
其中,Cn,ij为Cn,i的第j的元素,Cn,i是)的组合。此时,数据可用性可通过下式得到:
当n > | N|时,用yp表示节点p存储的数据块的个数,那么一个节点将包含多个数据块,于是有:
其中,γ( m,Cn,ij) 表示Cn,ij中的元素是否包含至少m个数据块。
于是可得:
由于式( 8) 具有很高的计算复杂性,因此在实际应用中是不可行的。本文设计了一个启发式的算法来寻找优化的纠删码设计,以达到数据的可用性最大化。由于n≥| N | ,该启发式算法包含两阶段: 1) 计算每个节点包含的数据块的数目; 2) 在保证可用性为的同时选择最优的m。
参数n为纠删码产生的总的数据块个数,令n = f·| N | ,其中f是大于1的常数,这是 < m,f·| N | > 的纠删码。本文采用的s的映射方式为节点的数据块的个数与节点的可用性成正比,于是节点的数据块个数向量:
其中round(·) 是一个4舍5入函数。由于引入了round(·) 函数,导致在某些情况下不能得到满足。为解决这一问题,当的时候,将多余的数据块从不稳定的节点删除; 当的时候,赋予稳定的节点更多的数据块。当数据块分配完成后,继续寻找m的最优值:
其中} 。
3 实 验
在本节,我们应用本文提出的算法与假设节点为同构的算法进行对比。在假设节点同构的情况下,节点的可用性用平均值代替,即式( 3) 。
3. 1 评价标准
用A1表示同构下的数据可用性,用A2表示异构下的数据可用性,那么可用性的误差e为:
该可用性误差测试的是同构下的数据可用性与真实的数据可用性的差距。误差越小表明同构方法能很好地进行纠删码的设计; 反之,如果误差很大表明同构方法不能满足系统的纠删码设计,必须采用异构方法。
由于在同构方法和异构方法下,为了达到系统的可用性设计需要采用不同的纠删码,用R1表示同构算法下系统的数据冗余,用R2表示异构算法下系统的数据冗余。我们将R2与R1进行对比,用冗余数据减少的比例来衡量算法的性能:
RSR( R1,R2) 值越大,说明异构算法节约的存储空间越大,从而算法的性能越高。
3. 2 测试数据
我们采用了三个真实数据集和人工合成数据集对上述评价方法进行了测试。这三个真实的数据集为真实系统的可用性跟踪记录: Planetlab[18]、Planetlab[19]和Microsoft[20]。对于人工数据集,我们采用β分布来生成节点的可用性分布。由于β 分布的值在[0,1]之间,可以直接作为节点的可用性。
3. 3 实验结果
系统的节点数目分别为| N | = 8和| N | = 14,可用性指标为3 个 9,即。在真实数据集中,我们进行了100次的节点集合选择,然后取其平均值。在人工合成的数据集中,我们同样生成100次数据然后取其平均值。
图1和图2为算法在三种真实数据集上的测试结果,评价标准为式( 11) 。通过增加冗余数据的数目来观察同构算法与真实结果之间的误差。从图中我们可以看出,当系统内的数据冗余数目增加时,误差会逐渐减小。在稳定的网络环境下,系统需要很小的冗余数目,采用异构方法的优点并不能体现出来,但是同构方法仍然存在误差。
当计算出了系统在两种情况下的最优纠删码设计后,我们可以利用式( 12) 分析异构算法对系统性能上的影响。分别取f = 3和f = 5,观察了数据的平均可用性μ在0. 4、0. 6和0. 8三种情况下算法的性能,见图3和图4。从图中我们可以看出,随着β方差的增大,异构算法的优势体现得更明显; 对数据的可用性要求越高( μ越大) ,异构算法将占用更多的存储资源来存储冗余数据; 此外,在f = 3和f = 5两种情况下,实验结果呈现出相同的规律,这表明在设计纠删码的时候不需要很大的f。
4 结 语
现有的分布式存储系统在设计纠删码进行数据冗余时往往假设存储节点是同构的,即具有相同的可用性。然而在云计算环境中,存储节点往往由于节点的不断增加,呈现异构的存储系统。本文研究了异构存储节点环境下系统数据的可用性。通过考虑异构节点之间可用性的差异设计了一种优化的数据冗余存储模式。实验表明,该异构环境下的冗余存储能大大节约系统的存储资源,性能明显优于同构环境下的数据冗余存储。
摘要:现有的纠删码假设存储节点的可用性是相同的,而现实的应用系统往往由可用性不同的异构存储节点组成,这使得系统的实际可用性与设计的最优值之间存在一定的差异。为了减小系统的实际可用性与设计最优值的差异,将存储节点看作是异构的,提出一种异构存储节点下的可用性分析框架,以及优化的纠删码部署方法。实验表明,所提出的纠删码部署方法的可用性与系统实际可用性的差异小,性能明显优于现有的相关工作。
数据存储 篇6
已申请专利
项目简介:
大数据时代数据存储安全对策探析 篇7
伴随着大数据时代的不断进步和发展,互联网技术、云计算、云存储以及各种网络平台的运用技术逐渐变得成熟,在这样的背景烘托下,我们对数据平台的安全技术要求也变得越来越高,大数据时代中的数据存储安全问题的重要性也变的越来越高。在目前的信息时代中,人们能利用网络方便的记载和浏览各种自己需要的信息。在保存、浏览、记录的过程中会产生如文字、音频、视频、图片等各种大量数据。然而在存储数据的过程中,会由于各种外界因素或者操作不当等造成数据的泄露,从而危及信息存储的安全,给使用者造成了经济损失。所以,数据存储的安全问题成为了大数据时代的主流探讨问题。为了确保在利用大数据时代给我们带来便利的同时避免它所产生的各种弊端,我们必须采取各种措施,不仅要在技术上,而且还要在意识上不断进行革新,进而迎接数据网络时代给我们带来的挑战。
1 大数据时代简介
大数据在各种学科例如物理学、生物学、生态学等以及各种行业例如军事、经济、信息通讯等已经发展了很长时间。目前由于互联网时代与信息时代的双层冲击下大数据平台更加受到了人们的广泛关注。传统的数据处理往往是单一的数据搜集以及整理归纳,而大数据时代中的数据处理更加注重的是对各种数据信息进行合理的搜集、分配、采集、整理并对各种信息进行高效率、高准确性、高质量的处理。随着云计算、智慧城市以及物联网等高科技技术的不断发展,大数据正在以惊人的速度不断的增长。当今时代下的各种智能手机、PC机、平板电脑的产生为大数据的到来更是准备了大量的数据信息。由此可见,大数据不仅是信息技术产业的革命,也将成为经济金融领域的霸头。以大数据时代作为依托的当代信息企业管理模式以及转型后的政府管理模式更是给人们的生活带来了便利。因而成为了社会各行各业利益驱使下的竞争地。大数据时代具有高数据存储量、高数据处理速度、多数据类型、低数据价值“密度”的特征。这使得相关的硬件设备以及软件技术都有很大的进步。大数据功能简图如下:
2 大数据时代给我们带来的存储安全问题
为了给技术工业革命以及经济社会的发展带来福音,我们需要克服伴随大数据时代而来的一些难以预知的各种风险因素。我们将从以下几个方面来探讨大数据存储安全问题:(1)数据存储成为了信息安全攻击的对象。由于现有的安全防护措施的不完善,使得一些隐藏在大数据终端的木马病毒有机可乘给企事业单位及数据服务商带来了巨大的安全危急。隐藏在信息中的木马病毒会进入工厂的安全服务系统,进而提取相关信息从而干预工厂的安全生产。这种安全信息存储的泄露使得大量有价值的信息外传,造成了很大的经济损失。(2)个人信息的泄露。大数据时代给我们带来了很多生活便利,比如购物。不仅商家可以通过网络这一销售手段进行盈利,消费者也多了更多的渠道进行购物。这种“O2O”的模式使得商家大大的降低了销售成本,对资源的合理配置更是有很大的帮助。但是在买家与卖家的交易过程中会形成很多关于资金、个人资料等的信息。这些信息都存储于大型的数据库中。一旦发生数据存储上的漏洞使得个人信息泄露,就会给消费者及商家带来不便,并引发相应的财产损失。(3)网络设施的漏洞。网络的安全性直接关乎了数据存储的安全性。软件本身的漏洞以及网站管理者的自身疏忽都会造成网络漏洞。一些由大数据时代带来的各路黑客会利用这些漏洞对信息数据进行攻击,从而造成相应的安全威胁。
3 大数据存储安全对策
面对各种安全问题的突发,制定相应的对策至关重要。
3.1 技术方面
数据安全存储问题的频发首先是大数据技术的不完善。建立一个健全的大数据安全管理体系势在必行。这种标准化的管理体系能有效的提高信息安全的管理水平以及降低信息安全的风险。面对大数据时代带来的巨大的数据量,我们必须要制定一个最优化的方案来对数据进行快捷有效的处理。开发更多的安全工具来保障系统对数据进行全方位的开发和维护。同时,我们需要不断完善网络漏洞侦查系统,对网络漏洞以及终端的信息存储漏洞进行实时监测,以便于预防信息的外漏。无论是企业单位还是事业单位的信息安全存储管理系统都必须具有高度的安全性作为保障,这样才能更加全面的执行好本单位的任务,产生良好的经济效益。比如,我们可以在公司的信息系统内增加恶意软件的拦截功能。这样可以对日常办公过程中不经意下载的恶心软件进行有效的拦截,从而避免后续安全事故的发生,有效的制止数据的泄露,保护了公司的信息财产安全。
3.2 意识方面
我们需要增强自我信息安全保护意识,注重保护自己的信息不被窃取。在进行日常的网络浏览时,对一些潜在的危机要有一定的认知,防患于未然。政府也应该对一些敏感数据进行相应的监督,加强数据平台的管理力度,避免信息泄露的风暴。同时,媒体作为大众关注的对象,应起到教育指导的作用,对信息存储泄露的危害要不断的宣传,从而帮助公民增强安全保护意识。使得人人都有网络信息安全的意识,进而减少信息存储泄露的现象。
3.3 法律方面
大数据时代的到来使得各种数据被频繁盗出,严重影响了我们的正常生活。从法律层面上来规范各种不正当的行为极为重要。我们需要从法律层面上规范个人隐私的范围,规定相应的个人信息安全尺度,避免例如盗取个人社交网络密码以及跟风的对某事件人物的搜索、曝光。这些都给当事人造成了心理上、生理上的攻击。因此,我们需要建立一套关于数据存储安全的法律体系,对于一些违法盗窃信息危害他人人身财产安全的行为进行严厉的处罚。从而为信息存储提供有力的安全保障。
4 结语
由上述分析我们得出,大数据时代的到来给当代的网络技术产业等带来革新的同时也使得公众的生活更加的便利快捷。我们在庆幸这些大数据优势的同时也要摆脱它所带来威胁。清楚的分析信息存储安全的各种问题,及时的解决各种突发事件十分重要。我们要从公民自身出发、从政府出发、从大众媒体出发不断的提高信息存储安全意识,增加信息存储安全法律知识。不断的进行技术的革新以便适应时代发展的需要,建立正规完整的法律体系对违法行为进行严厉惩处。这样才更有利于我们受益于大数据,不断的发展大数据。
参考文献
[1]王倩,朱宏峰,刘天华.大数据安全的现状与发展J.计算机与网络,2013.
[2]何国锋.电信运营商在大数据时代的信息安全挑战和机遇探J.互联网天地,2014.
[3]施恋林.当大数据邂逅网络信息安全J.通信企业管理,2015.
云存储数据安全 篇8
近几年来, 随着信息技术的飞速发展, 大数据时代的来临, 为云计算大规模与分布式的计算能力提供了应用的空间。云计算解决了传统计算机无法解决的问题, 受到了人们大量的关注和研究, 发展出了更多新型的应用。
一、云计算和云存储
云计算, 最广泛的是分布式计算, 通过网络将处理程序分解为大量的较为简单计算的小程序, 由系统内服务器计算处理得到结果, 发送给用户。由于大量服务器集合协作计算, 用户能在几秒之内就能得到结果, 相当于超级计算机的运算速度。
云存储是由云计算转变过来的一种数据访问服务, 本质上为大数据量运算提供存储和管理。可以简单地理解为数据存放在云端, 经过授权的用户可以在任意地方, 通过网络连接到云存储系统, 可以随时获取和保存数据, 还可以享受网络服务者提供新型的数据业务服务。
云存储集合了分布在不同地域、全国范围、甚至在全球范围的很多存储设备。云存储是一种特殊形式的架构服务, 更新了现有的存储方式。它对使用者来说是透明的, 就像日常生活用水用电一样方便。与传统存储技术相比, 具有以下三点优势:
(1) 灵活方便。用户把数据的创建与维护的工作交给云服务提供者, 仅租用云服务者提供的服务即可, 不用思考哪种型号, 多大容量、设备工作环境等, 避免了购买硬件设备及技术维护而投入的精力, 可以节省下来大量的时间。
(2) 成本低廉。云存储不需购买软硬件等基础设施、节省聘用专业人员定期监控、维护、更新升级等管理费用, 从而节约企业成本。用户把大部分数据保存到云端, 云服务提供者在整个服务周期管理用户数据。
(3) 量身定制。不同的用户会提出不同的信息化应用要求, 不同的信息化应用对存储设备的要求都是不同的。云存储服务会按照用户的需求给出一个非常完善的策略, 以及全方位服务, 最大程度实现用户功能要求和安全。
二、数据安全问题
云存储给用户带来便利的同时也存在体系上的安全隐患。由于云的开放性特点, 云存储数据存在严峻的安全问题。比如数据在上传过程中, 或者数据到达云端后可能受到黑客拦截获取, 导致发生数据泄漏的可能性;或者可能被非法接入, 出现数据被窃取、篡改以及伪造等事件。随着网络技术的发展, 黑客的技术也在发展, 有些黑客甚至可能访问云服务器的root账户, 使用其中数据等。
数据安全问题令人担忧, 但也是巨大的挑战。保障数据的完整性和机密性非常重要, 为了防止云端的数据信息被盗取、篡改等, 或者被内部人员非法泄露, 通常都会对数据采用加密技术。
数据安全存储问题, 必须要做到在保障数据安全的同时也要提高运行的效率。云计算的安全存储在设计时要充分考虑到用户数据的安全性, 可以将用户的数据存储在任何一个存储空间当中, 并且按照数据的存储安全需要, 对存储数据进行加密处理。
三、对称加密算法和非对称加密算法
当今使用比较广泛的的数据加密算法为对称加密算法和非对称加密算法。
对称加密算法也称为传统密码算法, 加密和解密是同一个密钥, 也就是说通信的双方使用同一个密钥对数据进行加密和解密。该算法特点是计算量小、加密速度快、加密效率高。大多数使用在大数据量的数据传输。对称加密算法有典型的DES算法, 还有3DES、IDEA、AES等算法。但是使用同一个密钥加密, 如果密钥泄露, 任何人都可以截获数据对其解密。如果多个通信就会产生大量的密钥对, 通信双方密钥管理和密钥传输就会非常困难。在分布式网络上使用对称加密算法就需要很大成本。
非对称加密算法, 也称为公开密钥算法。它分为两个密钥, 分别是加密密钥和解密密钥, 其中一个密钥公开, 另一个需要保密。使用非对称加密算法时, 只有使用匹配的一对公钥和私钥, 才能完成对数据的加密和解密过程。安全性比较高, 保密性比较好, 公钥传输、发布很方便。但是加密解密速度相对慢, 效率低。非对称加密算法有典型的RSA、DSA等算法。
四、数据加密和解密
对数据加密和解密的过程中, 根据传统加密算法和公开密钥算法特点进行如下配合:
1. 数据加密过程:
首先使用对称加密算法的密钥对数据量大的数据明文加密, 得到密文数据;非对称加密算法加密包含校验信息的对称密钥, 得到加密密钥;这两个数据处理后一起保存在云端。用户只需要保存非对称加密的解密密钥和对称加密密钥即可。
2. 数据解密过程:
对数据进行解密, 首先利用非对称加密算法的解密密钥对对称加密算法的密钥进行解密, 以此来还原的对称加密密钥;然后, 在根据还原的密钥通过对称算法对密文数据进行解密, 从而得到还原的原始数据。
组合加密方式考虑到两种加密方式的优势和劣势, 利用传统加密方式速度快的特点对大量数据加密, 利用公开加密算法安全性较高特点, 加密包含校验信息的对称密钥, 保证传统加密密钥安全存储传输, 避免对称加密密钥管理困难的问题, 同时解决使用非对称的加密算法因运算量大加密速度非常缓慢问题。合理利用两种算法特性, 实现了有效安全的存储数据, 保证了加密解密的运行效率。
五、结论
密码技术是保障数据安全的技术之一, 在现在比较成熟的加密算法基础上, 充分考虑云存储服务的特点, 依靠传统加密算法和公开密钥算法两种算法优劣互补, 保障数据安全, 为云存储服务在应用中的数据安全提供一种安全手段。
摘要:云存储, 是在云计算技术上发展的服务, 为越来越多的用户提供了高效灵活、低成本、便捷的数据存取服务。它链接各种类型的存储设备一起协作完成工作。设备可以分布在全球范围内, 是一个特殊架构的存储容量巨大的计算系统。
关键词:云计算,云存储,信息安全,数据加密
参考文献
[1]张尼, 胡坤.大数据安全技术与应用[M].人民邮电出版社, 2014.
[2]王德政, 申山宏, 周宁宁.云计算环境下的数据存储[J];计算机技术与发展, 2011 (4) .
[3]燕彦勇.信息数据的安全与加密技术的应用[J].试题与研究 (教学论坛) , 2013 (2) .