一种面向ftp服务的数据访问方法

文档序号:7868577阅读:246来源:国知局
专利名称:一种面向ftp服务的数据访问方法
技术领域
本发明涉及通信技术领域,特别是涉及一种面向ftp服务的数据访问方法。
背景技术
FTP (File Transfer Protocol,文件传输协议)是用于在网络上进行文件传输的一套标准协议,属于网络传输协议中的应用层。通过FTP协议,文件可以从一个主机被复制到另一个主机。FTP通常使用C/S(客户端/服务器)架构,客户端可以给服务器发命令要求上传或下载文件,达到文件的共享。FTP可以操作任何类型的文件而不需要进一步处理,能向用户屏蔽不同主机中存储系统的区别,但是其有很高的访问延迟,即从用户发送请求到第一次接受到需要的数据需要较长时间。同时,ftp提供匿名服务,即客户端不需要特定的用户名与密码登陆,获取相应权限,而是使用通用的用户名(anonymous)与任意字符串形成的密码(通常为邮箱地址)进行登录。这就使得互联网上可能有数不清的主机来访问提供匿名ftp服务的服务器上的共享文件,同一时刻可能有很多用户发送请求,大大增加了服务器的负担,并发访问的情形就会时有发生,典型的情况是:一个免费的软件发布的时候。这种多用户访问造成的延迟,会大大增加ftp服务器对客户端请求的响应时间,使得服务质量下降,因此尽可能的降低访问延迟,提高服务质量就成了 ftp服务提供者重点考虑的问题之一。为降低访问延迟,服务器端存储数据的方式应该慎重选择。目前的存储架构主要分三类:直连式存储(DAS, Direct-Attached Storage),网络附加存储(NAS, NetworkAttached Storage),存储区域网络(SAN, Storage Area Network)。直连式存储(DAS)使用总线将存储设备和服务器相连,所有的存储服务均由服务器解决。网络附加存储(NAS)将存储设备直接附加在网络上,并用IP地址标识,客户端可直接对存储设备进行访问。存储区域网络(SAN)的存储设备相互连接并通过高速的光纤传输介质,共同为一台或多台服务器提供存储服务,只有服务器才能对存储设备进行访问,客户端的数据传输必须通过服务器验证,然后从服务器上获取数据。这三种存储架构各自的适用范围及其缺陷如下:(I)直连式存储(DAS):由于总线上能够挂载的存储设备数目有限,存储容量扩展能力有限;同时由于其带宽消耗过于集中,仅能同时处理少量用户的访问请求;一旦服务器出现故障,服务就会停止。而如果采用多个这样的服务器,则数据的备份与恢复过程又要耗费服务器的资源,更加不利于服务器处理客户端请求的高效性,且服务器的维护成本也会很高。因此,这种存储架构仅适合于存储少量数据,满足少量用户需求的小规模ftp服务。(2)网络附加存储(NAS):因用户可直接访问存储设备,多部署于中小企业或家庭内部的局域网,用于文件的共享,但是数据访问速度受限于局域网的网速。这种存储架构适合于内网中的文件共享。(3)存储区域网络(SAN):禁止客户直接访问存储设备,有效避免了客户的恶意行为。对于多用户并发访问的情形,增加相应服务器的数目就可以均衡负载。SAN内部使用各种不同的存储设备(磁盘阵列、磁带库等)完成数据的存储和备份,外加其使用光纤网络与服务器连接,拥有很强的网络传输能力。但是光纤通道的交换机和网卡价格昂贵,需要安装专用的存储管理软件等,部署相当复杂。ftp服务主要是在互联网上共享信息,不可能所有的ftp服务都在局域网中进行,这样也不符合互联网的开放性原则,亦即ftp需对外提供服务,而其服务的用户数可能成千上万。因此,存储扩展能力差、管理成本高的直连式存储(DAS)和仅适用于局域网内部的网络附加存储(NAS),均不满足其要求,存储区域网络(SAN)可以满足其性能需求,但是成本太高。综上所述,当前用于存储ftp数据的存储方式,要么存储能力和数据传输能力不足,要么不满足安全需求,要么性能要求都能满足但价格昂贵。因此,如何提供一种满足存储能力、数据传输能力、安全需求,并且价格低、部署简单的面向ftp服务的存储方式,是目前亟待解决的问题。

发明内容
本发明针对现有技术的上述缺陷,提供一种面向ftp服务的数据访问方法,存储能力强,访问性能好,且部署简单,成本低。本发明采用如下技术方案:本发明提供了一种面向ftp服务的数据访问方法,所述方法为:使用实现分级存储功能的集群作为ftp服务器数据的存储平台。优选地,所述集群通过如下步骤实现分级存储功能:存储自动分级:集群启动,根据主机名将各个节点划分为不同的存储层次;定向存取:选择距离近、存储层次高的空闲节点存储和读取文件;监控数据访问操作:记录文件访问信息,并判断迁移时机是否到来,若迁移时机到来,则执行下述操作;数据估值:根据访问记录,使用信息估值模型对数据进行估值;数据迁移:根据所述数据的估值结果,判断数据的位置是否满足数据越热存储层次越高的特点,若不满足,则进行数据迁移,使得数据的位置满足数据越热存储层次越高的特点;自适应调整:数据迁移完成后,根据迁移结果更新相关信息,重新启动监控。优选地,在存储自动分级时,所述存储层次至少包括2级,存储层次的划分标准为:存储层次越高,访问性能越好,处理用户请求的响应时间越短。优选地,所述信息估值模型中所用到的模型的建立方法为:利用搜集到的文件访问记录进行建模,计算出一个反映数据热度的数值,所述数值越大,说明所述数值对应的数据以后的访问概率就越大。优选地,在数据迁移时,通过队列过滤模型和路径匹配模型,在信息估值模型处理后得到的数值队列的基础上,形成具体的数据迁移任务,利用迁移控制模型完成数据迁移。优选地,所述队列过滤模型为:根据阈值过滤掉不需要迁移的数据分段,所述阈值反映了本存储层次上前一次的迁移结果,过滤后形成的队列中所有数据分段都已经确定迁移方向,所述迁移方向为全相连模式。优选地,所述路径匹配模型为:在队列中所有数据分段都确定了迁移方向后,如果系统中该数据分段有多个副本,确定距离较近的迁移源和迁移目标,迁移源优先选择剩余空间较少、负载轻的节点,迁移目标优先选择负载轻的节点。优选地,所述迁移控制模型为:进行迁移速率控制,使用多线程分批次执行所述数据迁移任务,降低迁移过程对集群中节点访问性能的影响。优选地,所述根据迁移结果更新相关信息,重新启动监控的步骤具体为:存储数据的估值结果,以备下一次估值时使用;对于已经被删除的数据,在系统所保留的访问记录中删除;根据迁移的实际情况进行各存储层次的阈值更新;唤醒监视进程,等待下一次数据迁移的到来。本发明具有以下有益效果:1.容易部署:关于集群的部署,在教程的指导下,非专业人士也能很快学会。2.硬件成本低:本发明无需非常专业的高性能服务器,普通的PC机也可胜任,只需保证其能够安装多个不同类型的硬盘即可,如SSD硬盘、SAS硬盘、SATA硬盘等。3.性价比高:利用分级存储技术,使得集群的访问性能接近于全部部署SSD硬盘的情形,而存储能力与成本接近于全部部署SATA硬盘的情形,使系统存储能力强,相比采用没有实现分级存储功能的集群,其访问延迟时间短,因此访问性能好,且成本低,安全性闻。


图1为本发明实施例一种面向ftp服务的数据访问方法流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明使用实现分级存储功能的集群作为ftp服务器数据的存储平台,建立多层次存储架构,使得ftp服务中能够使用层次存储介质进行合理的数据调度,实现数据在各层存储介质间透明迁移,且不影响系统的服务质量,使系统的存储能力强,访问性能较高而成本较低。本发明实施例提供了一种面向ftp服务的数据访问方法。请参阅图1所示,为本发明实施例一种面向ftp服务的数据访问方法流程图。该方法为:步骤S1:使用实现分级存储功能的集群作为ftp服务器数据的存储平台。本实施例中,使用实现分级存储功能的hadoop集群作为ftp服务器数据的存储平台,hadoop集群通过后续步骤实现分级存储功能。hadoop集群扩展能力强,可以实现在线扩容,存储能力强大;视频服务器访问数据时,可以直接与集群中存储数据的节点进行通信,带宽消耗相对分散,数据传输能力相对较强;通过访问控制,可以隔绝视频用户对集群的直接访问,采用了一种类似SAN的架构,能够满足安全的需求。但因为hadoop集群与视频服务器的连接没有使用光纤网络,集群与视频服务器之间的数据传输速度相对较低,为此,本实施例在hadoop集群中实现了分级存储技术,使得最快的网络与最好的硬盘都用于存储访问频繁的“热”数据,而一般的网络和一般的硬盘用于存储访问较少的“冷”数据。通过本实施例提供的方法,能够用较低的成本获取最佳的网络传输性能。当然,本发明提供的面向ftp服务的数据访问方法不限于使用实现分级存储功能的hadoop集群作为ftp服务器数据的存储平台,其他实现分级存储功能的集群也可以应用于本发明中,作为ftp服务器数据的存储平台,改善其存储能力,提高其访问性能。步骤S2:存储自动分级。本步骤中,集群启动,根据主机名将各个节点划分为不同的存储层次。存储层次至少包括2级,其划分标准为:存储层次越高,访问性能越好,处理用户请求的响应时间越短。本实施例在hadoop集群启动时,通过“主机名标识法”(也即分级依据),系统可自动识别每个节点的访问性能。如主机名中含有“high”,则访问性能最好,列为一级存储;含有“middle”,则访问性能适中,列为二级存储;含有“low”,列为三级存储。系统将所有的节点分成这3个存储层次,存储层次越高,访问性能越好。必要时,存储层次高的节点还可以配以更快的网络、CPU等。本实施例最多可实现三层存储,同时可以兼容二层存储,分级存储系统与HDFS (Hadoop Distributed File System, hadoop分布式文件系统)完全融合,实现无缝连接,无需专门的分级存储管理软件,且分级存储系统仅运行于名称节点之上,无需从数据节点获取数据访问信息。步骤S3:定向存取。本步骤中,选择距离近、存储层次高的空闲节点存储和读取文件。在hadoop集群中存储文件时,将文件划分为固定大小的块,存放于集群中的各个节点上,同时文件会有多个备份,保证容错,例如拷贝3个副本,存放在3个不同的数据节点上。在hadoop集群中读取文件时,按块读取,客户端首先从名称节点获取数据块的位置,然后直接与相应的数据节点进行数据传输。数据块通常有多个存储位置,优先考虑距离近、存储层次高的空闲节点,以缩短数据传输时间。步骤S4:监控数据访问操作。本步骤中,记录文件访问信息,并判断迁移时机是否到来,若迁移时机到来,则执行下述操作。具体地,hadoop集群中客户端对文件的读取是以块为单位的,系统把块的每次读取操作都记录下来,记录的内容包括:访问用户、访问时间、块信息等,每读取一次系统就会生成一条记录。根据迁移的周期判断迁移时机是否到来,当迁移周期到来时,说明迁移时机到来,此时需执行下述操作,进行数据估值。其中,迁移周期可以是系统设置的一固定的迁移周期。步骤S5:数据估值。本步骤中,根据访问记录,使用信息估值模型对数据进行估值,从而找到用户频繁访问的数据集。信息估值模型中所用到的模型的建立方法是:利用搜集到的文件访问记录进行建模,计算出一个反映数据热度的数值,该数值越大,说明该数值对应的数据以后的访问概率就越大,表明该数据为“热”数据。
本实施例中,hadoop集群中的节点被分为3个不同的存储层次,存储层次越高,配置的硬盘访问性能越好,容量越小,价格也越贵。因此只能有少量的数据存放在存储层次最高的节点上。通常情况下,一个集群中的所有数据中只有少量数据被频繁访问。我们通过记录文件的访问信息,通过信息估值模型处理这些信息,得出一个数值,该数值越大,代表该数据访问越频繁,存储层次就该越高。在特定时刻,使用信息估值模型处理搜集到的文件访问记录,进行建模,,模型的处理对象是块,用到的参数有:访问时间、访问次数、用户数量、块的大小、块与其他块的关联度、块的历史值(块的历史值指的是该数据块上一次估值的结果)等,利用公式计算出特定的值,来衡量块的“热”度,并按照数值从高到低形成队列。本实施例的信息估值模型专门针对HDFS的数据块特点,充分考虑到HDFS“一写多读”的情形。块关联度的计算时,对于不同文件下的数据块区别对待;充分利用了块的历史价值,有效减缓突发访问带来的抖动。步骤S6:数据迁移。本步骤中,根据步骤S5中数据的估值结果,判断数据的位置是否满足“数据越热存储层次越高”的特点,若不满足,则进行数据迁移,使得数据的位置满足“数据越热存储层次越高”的特点。本实施例中,通过队列过滤模型和路径匹配模型,在信息估值模型处理后得到的数值队列的基础上,形成具体的数据迁移任务,利用迁移控制模型完成数据迁移,按照“热”高“冷”低的原则,使得访问越频繁的数据,其所在的存储层次越高,从而确保大多数的读取数据操作都在存储层次高的节点上进行。其中,队列过滤模型为:根据阈值过滤掉不需要迁移的数据分段(也即hadoop集群中的数据块),阈值反映了本存储层次上前一次的迁移结果,过滤后形成的队列中所有数据分段都已经确定迁移方向,迁移方向为全相连模式,即任何两个存储层次间都可以进行数据迁移,在三级存储模型中,有6种不同的迁移方向。通过此次过滤,使迁移的块尽可能少。本实施例利用阈值来过滤数据块,有效减少了迁移数据量,满足了三个存储级之间数据的双向迁移。路径匹配模型为:在队列中所有数据分段都确定了迁移方向后,如果系统中该数据分段有多个副本,确定距离较近的迁移源和迁移目标,迁移源优先选择剩余空间较少、负载轻的节点,迁移目标优先选择负载轻的节点。本实施例充分考虑到数据块存储位置有多个的情况,选择迁移源与迁移目标时考虑到了两者的剩余空间和距离,尽量缩短迁移时间。迁移控制模型为:进行迁移速率控制,使用多线程分批次执行所述数据迁移任务,降低迁移过程对集群中节点访问性能的影响。多线程是指使用线程池的方法并发执行迁移任务,每个具体的迁移任务是指两个节点间的某数据分段置换的过程;分批次执行数据迁移任务按如下步骤进行:A、限定集群中同一时刻用于迁移的线程数,使得迁移只在集群的局部范围内发生,减少对集群整体服务质量的影响;B、限定节点上同一时刻用于迁移的线程数,使得节点仅有少量的资源用于迁移,减少对该节点所能提供服务质量的影响。本实施例中,数据迁移的方向有多个,不存在数据回迁问题,能适应多种情况下的数据访问。迁移时,通过“模拟迁移”,适当调整迁移顺序,防止真实迁移过程中的异常;实行分批次迁移,每次迁移的总线程数不超过50个;进行节点迁移限制,每个节点同一时刻用于迁移的线程数不超过5个。通过这种小规模、连续的迁移方式,使得迁移的速率适应了集群负载的变化,尽可能的减少迁移带来的性能损失。步骤S7:自适应调整。本步骤中,数据迁移完成后,根据迁移结果更新相关信息,重新启动监控。本实施例中,在数据迁移完成后,存储数据的估值结果,以备下一次估值时使用;对于已经被删除的数据,在系统所保留的访问记录中删除;根据迁移的实际情况进行各存储层次的阈值更新;上述步骤完成后,唤醒监视进程,等待下一次数据迁移的到来。在步骤S7之后,返回执行步骤S3,数据调度的过程循环进行。本实施例在ftp服务中进行数据访问时,使用实现分级存储功能的集群作为ftp服务器数据的存储平台,其存储能力强,访问性能好,且部署简单,成本低。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种面向ftp服务的数据访问方法,其特征在于,所述方法为: 使用实现分级存储功能的集群作为ftp服务器数据的存储平台。
2.根据权利要求1所述的面向ftp服务的数据访问方法,其特征在于,所述集群通过如下步骤实现分级存储功能: 存储自动分级:集群启动,根据主机名将各个节点划分为不同的存储层次; 定向存取:选择距离近、存储层次高的空闲节点存储和读取文件; 监控数据访问操作:记录文件访问信息,并判断迁移时机是否到来,若迁移时机到来,则执行下述操作; 数据估值:根据访问记录,使用信息估值模型对数据进行估值; 数据迁移:根据所述数据的估值结果,判断数据的位置是否满足数据越热存储层次越高的特点,若不满足,则进行数据迁移,使得数据的位置满足数据越热存储层次越高的特占.自适应调整:数据迁移完成后,根据迁移结果更新相关信息,重新启动监控。
3.根据权利要求1所述的面向ftp服务的数据访问方法,其特征在于,在存储自动分级时,所述存储层次至少包括2级,存储层次的划分标准为:存储层次越高,访问性能越好,处理用户请求的响应时间越短。
4.根据权利要求1所述的面向ftp服务的数据访问方法,其特征在于,所述信息估值模型中所用到的模型的建立方法为: 利用搜集到的文件访问记录进行建模,计算出一个反映数据热度的数值,所述数值越大,说明所述数值对应的数据以后的访问概率就越大。
5.根据权利要求1所述的面向ftp服务的数据访问方法,其特征在于,在数据迁移时,通过队列过滤模型和路径匹配模型,在信息估值模型处理后得到的数值队列的基础上,形成具体的数据迁移任务,利用迁移控制模型完成数据迁移。
6.根据权利要求5所述的面向ftp服务的数据访问方法,其特征在于,所述队列过滤模型为:根据阈值过滤掉不需要迁移的数据分段,所述阈值反映了本存储层次上前一次的迁移结果,过滤后形成的队列中所有数据分段都已经确定迁移方向,所述迁移方向为全相连模式。
7.根据权利要求5所述的面向ftp服务的数据访问方法,其特征在于,所述路径匹配模型为:在队列中所有数据分段都确定了迁移方向后,如果系统中该数据分段有多个副本,确定距离较近的迁移源和迁移目标,迁移源优先选择剩余空间较少、负载轻的节点,迁移目标优先选择负载轻的节点。
8.根据权利要求5所述的面向ftp服务的数据访问方法,其特征在于,所述迁移控制模型为:进行迁移速率控制,使用多线程分批次执行所述数据迁移任务,降低迁移过程对集群中节点访问性能的影响。
9.根据权利要求2所述的面向ftp服务的数据访问方法,其特征在于,所述根据迁移结果更新相关信息,重新启动监控的步骤具体为: 存储数据的估值结果,以备下一次估值时使用; 对于已经被删除的数据,在系统所保留的访问记录中删除; 根据迁移的实际情况进行各存储层次的阈值更新;唤醒监视进程,等待下 一次数据迁移的到来。
全文摘要
本发明涉及通信技术领域,提供了一种面向ftp服务的数据访问方法,所述方法为使用实现分级存储功能的集群作为ftp服务器数据的存储平台。本发明提供的面向ftp服务的数据访问方法,其存储能力强,访问性能好,且部署简单,成本低。
文档编号H04L29/08GK103152377SQ20121053935
公开日2013年6月12日 申请日期2012年12月13日 优先权日2012年12月13日
发明者张森林, 冯圣中 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1