超大容量云服务算法分析

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:eciling
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:目前国内多数知名云服务开放空间已经达到2T之多,如此巨大的免费空间是使用各种节约、合并资源的算法实现的,通过同文件识别、空间的虚拟分配和计存储集群等方式实现。各种先进的算法使云服务开放空间巨大,资源利用率得到提高,同时降低了硬件上的开发成本,为企业带来利益。
  关键词:空间;计存储集群;重复文件;MD5值
  1概述
  近年来云端技术被论证、开发,现已完成设计、上市等过程;以百度云、360云、阿里云、华为云、新浪云等为最受欢迎。多数网盘免费赠送容量就已经达到2T甚至4T,常常有人提出这样的问题,每个人免费分派2T甚至更多的存储空间,数亿人使用,也就是有接近10亿T的空间啊,一块lT的硬盘价格最低也要四五百元,开发一个开放云盘技术,企业需要送出四五千亿的资金么,几乎是整个万达集团的市值了!
  其实呢,企业才不会那么傻,商人是要赚钱的,工人也是需要工资的,企业这么做云的方式当然也有利可图,企业之所以能赚钱,就是因为机智的程序员提供了几个节省资源的小算法,但这几个看似简单的小算法却节省掉了上千亿的成本,使本该巨量的投入变成了源源不断的利润产出。但是节约算法并不算是商业欺骗,企业既做到了如承诺的开放了应有的存储空间,又节约了自身成本,节省了社会资源,这样的思想是值得我们赞赏和学习的。商,不一定奸,节约也并不意味着降低质量,只要用对了方法,行行出状元。
  2空间分配
  首先从空间角度看,为数亿用户设置10亿的存储空间、准备上千亿的资金显然是不现实的,一来成本是严重问题,二来没有那么大的地点可以用来存放并及时维护这些存储器,为了解决这个问题,便有了以下几个空间管理方案。
  2.1虚拟空间限额
  以2T开放空间为例,每位用户的使用空间都是2T,这样假设500位用户使用的话,理论上企业需要开设一台1000T的存储器,这么大空间的机械硬盘可能花费十万元到二十万元之多,占据相当一部分的空间,而这500位用户却几乎产生不了利润,或者说,他们之中存在愿意为获得更大空间而消费的人的几率太小。
  但是这样的空间分配有一个严重的问题,在云技术普及以前,大多数用户传输数据使用的是u盘,而u盘的容量一般低于128G,多數人群使用8G、16G或32GU盘空间就已经绰绰有余,也就是说每位用户配额为2048G,然而却只被使用了低于1.5%的空间,多数空间被浪费了,浪费空间意味着浪费了初始资金。
  因此我们可以变通了一下,同样是1000T的空间,但面向用户的数量设定为了10万人,但是每个人的可用空间仍旧显示为2T,这样给用户产生了一种我仍旧占便宜的想法,但却空余出了上万G的存储空间足够迎接其他客户。考虑到可能存在意外风险,数据上传量瞬间过大,因此可以将用户额度缩小至8万人,多余空间用来应急,延长工作人员补充用盘数量的操作时间。
  即使是这样的设定,用户数也瞬间被提升了160倍,这样其中存在消费者的概率也被提升了160倍,企业将开始回本。而以上的数据是基于最小设定,因为1000T只是个小数字。
  2.2计存储集群
  为了应对突发数据传输量过大的情况,每台存储器都预留了应急空间,但是存储器数量巨大,每台都留应急空间的话,应急空间又将造成上万G的存储空间被浪费掉。
  同样出于降低成本、节省资源考虑,于是诞生了计存储集群。
  理解这个概念可以参考机械硬盘的分盘,我们之所以将硬盘分成C、D、E盘等几个扇区,是为了方便隔离使用,如果某扇区发生问题可以单独格式化而不影响其他部分,运行产生的数据也不会相互干扰。但是这样的做法在软件如此发达的今天可以说并没有太大的实际用处了,使用者往往是根据习惯或者购买到电脑时已经被设定成这个样子了。而对于已经统一管理了的企业存储器,安保措施和容错性极好,这样设定就显得多此一举了,因此每个存储器被直接调用,过程简单快捷。
  为了节省应急空间,从分盘的思想逆向思考,我们可以预先设定一个程序包,将上传的数据依次填人每个存储器,填满了一个再去填下一个,应急空间完全交给某几个存储器。这样我们就不需要预留真正的应急空间,而是存储器占满数量达到一定数字时发出警报,工作人员随手差两块硬盘就可以了。这样算下来,资源利用率已经被提高了近千倍,同样的,1000T只是个小数字。
  2.3零空间分配预设
  长期使用u盘的人也知道,塞满自己的u盘并不是一瞬间的,而是经年累月的积累,多数数据使用了就删,真正有用的可能随时看的都存在电脑硬盘里了也不一定用得到云盘,这样的话预留大量应急空间和设置初始空间都造成了大量的浪费。
  因此解决这个问题,干脆不给用户分配使用空间,只分配一个“计算器”,用户存什么我们都不去管他,如图1,计算器只负责记录用户已使用的空间。这样在用户角度看并没有什么区别,但从商业发展角度,却为企业提供了大量融资时间。
  一旦选择了这样的分配方式,不算夸张地说,企业可以在第一天只开放一个2T的空间,但仍旧供10万人使用,随着注册的人越来越多,广告效应和需求效应等会为企业带来大量资金,企业可以慢慢填充存储器,而存储器属于电子行业的技术,价格降低也非常快,本来用于购置1000台存储器的资金,在一段时间之后可能可以购置1500台到2500台,而根据之前的空间设置方案,每增加几百T的存储空间,面向的用户数就可以增加到几十几百万人,此时即使每位用户交一块钱的使用费,企业也早就回本了。而且也的营销制度是会员制,每位会员价格也仅为12到32元,小部分会员即可抵消多数免费用户。
  3重复文件管理
  有了空间管理方案,企业的硬件成本就已经几乎完全没有了,但毕竟工作都是为了赚钱嘛,不能是成本没了就完了,还需要赢利啊,但硬件设定也就只能做到这了,那么剩下的当然就是软件。有效的管理用户的数据,将更大程度的节省云盘开发的成本,从而大幅提升盈利。   3.1同文件识别
  平时使用中存储占用空间最大的也就是视频文件了,各类电影、综艺、连续剧等等,还有就是各种小说、文献、图纸、软件安装包等等,这些文件可能同时有成百上千万人拥有或需要,大家会通过云来存储、分享,而众多用户使用这些相同的大文件将极大地造成资源利用率降低。
  解决这个问题,我们可以将每次上传的文件与存储空间现有文件进行比对,如果存在了,则只设置一个链接,这样同一个文件的利用率就被大幅地提升了,而用户看起来也像是从自己的空间打开了一样。这样做的好处包括用户的云空间可以多出来了回收站的功能,因为误删的文件不会被真的删除;同时对于处理违规违法外泄的文件,只需要从源文件直接删除即可,所有存储用户都将失去文件,而不用一一删除。
  不过这种情况有个小瑕疵,多数用户喜欢自己起名字,有的甚至更改尾缀,这样电脑系统便会把文件识别成多个,更改尾缀还会导致电脑识别为别的文件或识别不了该文件。因此为了解决这个问题,不能只是单纯的让电脑自己判断,而是需要加上其他的判断算法。
  判断文件是否重复的算法有很多,比如计算MD5值进行比对,相同即为同一文件。
  3.2MD5值
  MD5是一种加密密码时常用的算法,比如黑客黑人某网站,取得管理员密码时,一般获得的是MD5值加密过的密码,直接使用是不好使的,需要经过逆向MD5解密,解密后的才是真实密码,计算过程如图2。
  计算机方面有一个思想:所有的数据,都只是0和l构成的,所有的音频、视频、图片等等都只是不同的排列而已,通过进制的转换、语言的开发,使人可以理解或改造这些文件。因此一切都是数字而已,所以名称的改变并不会影响文件的内容,因而比较MD5值可以有效判断文件是否相同,无关乎文件种类、名称或被各种设置等等。但计算过程是需要占用CPU处理空间的,在大量用户使用时会造成主机服务器卡顿,甚至卡死,所以这个任务就光荣地落在了用户的个人电脑上,分摊下来的计算量就微乎其微了,上传文件已有,则知建立连接,这就是“秒传”和“免流量传输”的原理,這也是这类功能为什么没有设定用户设置口的原因,因为文件是否存在已有文件是不确定事件,无法进行预先设定。
  4结束语
  作为资源共享的工具,应该更为注重的不应该是如何深入的研究安全,而应是用户体验,云服务重点还是做的服务,大空间、大数据,而服务都是要成本的,所以解约成本,同时又极其方便用户使用的算法一直在不断地被开发出来,技术使买家卖家越来越接近双赢。
其他文献
该文针对我校数字化校园建设过程中存在的信息资源分散、共享程度低等问题,提出了基于SOA的新型数字化校园信息门户平台的体系结构及详细设计,最后针对信息门户平台存在的不足之处提出了改进思路。
社会主义荣辱观集中体现着社会主义社会的基本道德观念和标准,树立社会主义荣辱观实际上就是把社会主义基本道德内化为公民个人的道德信念,形成个人道德人格的过程。在这个过程
《中庸》全文呈现出一个以‘‘中”为本体,以“诚”为核心,以“内圣外王”为诉求,以“天人合—”为旨归的思想体系。该文作为一个有机整体是完全可以成立的。其“天人合一”思想
本文立足于当前民机试飞模式,从缩短试飞数据处理时间、提高试飞效率出发,基于.NET框架,利用Measurement Studio组件开发设计了试飞数据实时监控平台。相较于传统的监控模式,