专利名称:适用于高速缓存代理服务器体系结构的文件系统构建方法
技术领域:
本发明涉及计算机缓存服务器领域,具体涉及一种适用于高速缓存代理服务器 体系结构的文件系统构建方法。2、 技术背景1、 随着网络应用的高速发展,用户在访问远程站点的时候,在响应时间和速 度上面就存在很大的弊端,由缓存代理服务器为用户提供高速访问服务。缓存代 理服务器系统包括客户端,服务端和存储系统。在缓存代理中,用户的请求实体 被称为对象。对象包括小图标、网页、下载对象和其他,其中绝对部分是小文件,对象文件按权重比例算卜来,平均文件的大小只有十几K。2、 现在针对缓存代理服务器的存储系统主要有AUFS、 DISKD、 C0SS。其中, 大多文件系统按照目录方式将文件对象保存在服务器的磁盘上,在读写的过程中, seek time相对于小文件对象的读写传输,占用整个读写过程中的比例大大的超过 读写、传输时间。传统的这些文件系统格式使得缓存服务器不堪重负。提出一种 文件系统,需要解决缓存代理服务器在大负荷访问请求的情况下,能得到较高的 吞吐量、快速的响应时间和较高命中率。在代理服务器中,文件对象是按照一定的逻辑关系存放在文件目录中的。适 用于缓存代理的,传统的存储文件的存储机制包括DISKD, UFS等,他们在存储文 件上,都是基于目录形式的。传统存储对象的机制一般可归纳为在代理服务器 中,文件是存放在子目录的,平均每个子目录的存放文件个数300-400个,这样 有利于搜索。根据提供用作缓存的、建立的缓存文件S录的大小、对象文件的平 均大小和每个目录平均存放对象数,可以确定缓存目录中根H录Ll和子目录L2 的个数。对于大多文件都是小对象文件的人量网络应用,0PEN、 SEEK时间都是毫 秒级的,在整个操作中占的比例相当大,实际读取文件时间多是微秒级的,频繁 的开关文件目录大大降低服务器的吞吐量和响应时间。在传统的存储机制下,主 要的性能瓶颈来自频繁的open()和unlink()系统调用。因为每个cache响应都存 储在独立的磁盘文件里,缓存代理服务器总是在打开,关闭,和删除文件。相当 耗费时间。而COSS的文件系统,则本身可以看作是一种容量很大的块文件,它将所有文件按照一定的规则存放在磁盘上。在读取文件操作过程中,减少了打开和关闭的 时间次数。然而这种文件系统目前也只处于开发试验阶段,不稳定,不完善。实 际实现过程中,缓存对象目标通常在COSS文件里占用了不止一个块,对于同 -目 标对象访问的时候,会增加额外的开销,而且这些开销是致命的。在这种文件系统中,缓存命中被"移动"到循环文件的末尾,以便下次访问再用。这本质上是LRU 算法,它意味着缓存命中导致间接的磁盘写操作,在C0SS中,对于要删除的缓存 目标。采用的是简单的忘记无用目标所分配的空间。当循环文件的终点再次抵达该空间时,它就被重新利用。这种替换策略是不完善的一种策略。提出文件系统 解决目标对象的相关性问题,主要包括前端访问和后端存储的相关性能够对用户请求进行分级处理,因为用户的请求大多是同层次的网络应用。 比如用户访问网站, 一般会访问网站的相关连接、图片等对象实体,这些相关的 实体的请求称为相关子请求。文件系统中,提供预取子请求的访问资源。访问请求的这些对象在后端中可能是存放在不同的逻辑目录下或者不同的块 中。也就是在前端,用户的访问层次相同,深度级别一样,但是在后端,访问的 实体的分散存储在不同的目录块中,造成前后端在访问上的不一致问题。 发明内容本发明的目的是提供一种适用于高速缓存代理服务器体系结构的文件系统构 建方法,该方法是将相关性一致的访问对象实体存储在一个物理块上,通过增强 访问对象实体的存储相关性,加快访问的响应时间加快的同时增加吞吐量,保证 访问应用过程中,能够大幅度提高链接的建立数并减少传输中的连接失败,步骤 如下1) 根据用户请求的URL,首先对URL的关键词进行分析,在代理服务器高速 缓存上用一块空间来保存它,关键词包括主机名、文件的类型、连接专栏、目录, 将关键词进行列表分类,将访问连接分成不同深度级别的目录,根据前端访问同 级的目录,按照关键词列表映射到后端存储部分,请求的对象在后端严格按照同 一深度的存储在一个大的文件块上,同时根据类型对象,按照传统划分文件对象 大小的方式,将不同类型的文件对象存储在不同类型的块上;2) 将同一缓存对象实体存储在同一个块上,对相关性的对象实体也存储在一 个同一个块上,将相关对象实体保存在相同的块上来减少请求的平均响应时间和 縮短命中时间。本发明的优异效果是是将相关性致的访问对象实体存储在一个物理块上, 通过增强访问对象实体的存储相关性,加快访问的响应时间加快的同时增加吞吐量,保证访问应用过程中,增加吞吐量、提高访问相应4对间和能够大幅度提高链 接的建立数并减少传输中的连接失败。
图1是基于URL的文件对象数据结构示意图;图2是URL的组成结构图。
具体实施方式
参照说明书附图对本发明的方法作以下详细的说明。本发明的目的是提供一种适用于高速缓存代理服务器体系结构的文件系统构 建方法,该方法是将相关对象按照一定的逻辑结构存放在同一块屮,而实际分配 的块的默认大小上限是8GB,根据实际情况,块大小上限是可以修改的,这样对于 绝对多数的对象实体是完全能存储在一个物理块的。增强访问实体对象的存储相 关性,可以让访问的响应时间加快的同时,大幅增加吞吐量。相关性一致的访问对象存放在一个块上,能保证访问应用过程中,提高链接的 建立数并减少传输中的连接失败。判断对象相关性的思想根据用户请求的URL,首先对URL的关键词进行分析, 在代理服务器高速缓存上用一块空间来保存它,关键词包括主机名、文件的类型、 连接专栏、目录等,将关键词进行列表分类。将访问连接分成不同深度级别的目 录,根据前端访问同级的目录,按照关键词列表映射到后端存储部分,请求的对 象在后端严格按照同一深度的存储在一个大的文件块上。同时根据类型对象,按 照传统划分文件对象大小的方式,将不同类型的文件对象存储在不同类型的块卜.。对象的数据结构包含对象的属性信息部分文件名、文件标号、文件大小、可缓存性、索引信息、动态请求链接列表信息、缓存区大小、文件块地址、块偏移值、计数功能;文件相关性;操作部分信息操作类型、预存动态连接和子连接、 请求大小,请求的偏移量、请求的缓存长度、状态值等。衡量文件系统能够达到 的目的包括访问的吞吐量、响应时间和命中率。在传统的文件系统中,DISKD、 UFS等存储机制比COSS要逊色很多,不管是在 访问的响应时间还是吞吐量上都是如此,主要原冈就是处理的对象太多,而且都 是小文件, 一个完整的读写过程在打开文件,建立连接上花销占用太多。吞吐量与建立连接的数量、请求连接的成功率、对象的平均大小有关,在实际 对象人小基本不变的情况下,连接请求与存储的对象有关系,各种环境的试验测 试表明,在出现错误的情况下,连接超时引起错误或者失败的占大部分。这些主 要归咎于在后端洪水般的请求量下,1/0成为瓶颈,大量的请求在排队请求,最后由于等待时间过长,导致大量的请求应用超时而请求失败。新的存储文件系统将 在响应请求的应用后,由于相关对象实体在物理磁盘上是存放在一个大的块上的, 对其他相关子请求的时候,能够迅速定为到相关对象实体的存储位置,而不用象 之前的通过路径搜寻等方式重新定位对象的存储位置而浪费大量的时间,从而能 够极大的减少因处理响应而造成的缓存队列中的请求,减少了请求链接的失败, 增加了缓存代理的处理吞吐量。同一缓存对象实体存储在同一个块上,对相关性的对象实体也存储在一个同一 个块上,在相关对象实体保存在相同的块后,由于请求的相关性,请求的平均响应时间因减少其他的SEEK时间,建立时间等而减少,命中时间也会大大縮短,即使在请求丢失后,再建立的时间也会比之前的存储模式的要少很多。通常造成缓存命中率不高的原因有 一是,大多数的请求业务中,都有一些是 不能被缓存的,例如登录页面。这些不可缓存的请求跟可缓存对象实体的请求一 起向代理服务器发出请求,势必会降低请求命中率。另一种原因可能是,可缓存 的大文件实体和小的实体对象在一起,缓存代理在加速的时候,不能兼顾大小相 差很多的两个可缓存的文件对象。长时间看,要么导致小文件不能被缓存要么大 文件被miss掉。现在测试对现有的存储机制的结果表明,各种存储机制的命中率 的大概情况分布在53%左右。而新件系统将请求按照不能被缓存、大缓存、小缓 存文件分开后,在同样的缓存策略下,命中率必将上升很多,可达到80%以上。新文件系统将存储相同和相似的请求连接的对象存放在同一个大文件块上,在 用户访问相关的连接的时候,预先提供给用户相关的请求连接和在后端的访问对 象。在吞吐量、响应时间、请求错误率、命中率上都会有很大的提升空间。缓存文件系统需要解决的有吞吐量、响应时间、命中率等问题1)吞吐量与建立连接的数量、请求连接的成功率、对象的平均大小有关,在 实际对象大小基本不变的情况下,连接请求与存储的对象有关系,各种环境的试 验测试表明,在出现错误的情况下,连接超时引起错误或者失败的占大部分。这些主要归咎于在后端洪水般的请求量下,1/0成为瓶颈,大量的请求在排队请求,最后由于等待时间过长,导致大量的请求应用超时而请求失败。新的存储文件系 统将在响应请求的应用后,由于相关对象实体在物理磁盘上是存放在一个大的块 上的,对其他相关子请求的时候,能够迅速定为到相关对象实体的存储位置,而 不用象之前的通过路径搜寻等方式重新定位对象的存储位置而浪费大量的时间, 从而能够极大的减少因处理响应而造成的缓存队列中的请求,减少了请求链接的 失败,增加了缓存代理的处理吞吐量。2)同一缓存对象实体存储在同一个块上,对相关性的对象实体也存储在一个 同一个块上,在相关对象实体保存在相同的块后,由于请求的相关性,请求的平均响应时间因减少其他的SEEK时间,建立时间等而减少,命中时间也会大大縮短, 即使在请求丢失后,再建立的时间也会比之前的存储模式的要少很多。3) 通常造成缓存命中率不高的原因有 一是,大多数的请求业务中,都有一些是不能被缓存的,例如登录页面。这些不可缓存的请求跟可缓存的对象实体一 起向代理服务器发出请求,势必会降低请求命中率。另一种原因可能是,可缓存 的大文件实体和小的实体对象在一起,缓存代理在加速的时候,不能兼顾大小相 差很多的两个可缓存的文件对象。长时间看,要么导致小文件不能被缓存要么大文件被miss掉。现在测试对现有的存储机制的结果表明,各种存储机制的命中率 的大概情况分布在53%左右。而新件系统将请求按照不能被缓存、大缓存、小缓 存文件分开后,在同样的缓存策略下,命中率必将上升很多,可达到80%以上。4) 判断对象相关性的思想根据用户请求的URL,首先对URL的关键词进行分 析,在代理服务器高速缓存上用一块空间来保存它,关键词包括主机名、文件的 类型、连接专栏、目录等,将关键词进行列表分类。将访问连接分成不同深度级 别的目录,根据前端访问同级的目录,按照关键词列表映射到后端存储部分,请 求的对象在后端严格按照同一深度的存储在一个大的文件块上。同时根据类型对 象,按照传统划分文件对象大小的方式,将不同类型的文件对象存储在不同类型 的块上。5) 对象的数据结构包含对象的属性信息部分文件名、文件标号、文件大小、可缓存性、索引信息、动态请求链接列表信息、缓存区大小、文件块地址、块偏移值、计数功能;文件相关性;操作部分信息操作类型、预存动态连接和子连 接、请求大小,请求的偏移量、请求的缓存长度、状态值等。6) 根据权利要求1所述的以相同URL为中心的缓存代理服务器文件的体系结 构,其特征在于在文件对象的数据结构中,每个对象包括基本属性信息和数据区, 根据属性中的URL等信息在同一块物理磁盘中实现快速读写。7) 根据权利要求1所述的以相同URL为中心的缓存代理服务器文件的体系结 构,其特征在于在文件对象的数据结构中,实现快速读写,使得响应时间大幅降 低,传统文件系统的seek—time縮短,吞吐量和命中率也提高。
权利要求
1、适用于高速缓存代理服务器体系结构的文件系统构建方法,其特征在于将相关性一致的访问对象实体存储在一个物理块上,通过增强访问对象实体的存储相关性,加快访问的响应时间加快的同时增加吞吐量,保证访问应用过程中,提高链接的建立数并减少传输中的连接失败,步骤如下1)根据用户请求的URL,首先对URL的关键词进行分析,在代理服务器高速缓存上用一块空间来保存它,关键词包括主机名、文件的类型、连接专栏、目录,将关键词进行列表分类,将访问连接分成不同深度级别的目录,根据前端访问同级的目录,按照关键词列表映射到后端存储部分,请求的对象在后端严格按照同一深度的存储在一个大的文件块上,同时根据类型对象,按照传统划分文件对象大小的方式,将不同类型的文件对象存储在不同类型的块上;2)将同一缓存对象实体存储在同一个块上,对相关性的对象实体也存储在一个同一个块上,将相关对象实体保存在相同的块上来减少请求的平均响应时间和缩短命中时间。
全文摘要
本发明的目的是提供一种适用于高速缓存代理服务器体系结构的文件系统构建方法,该方法是将相关对象按照一定的逻辑结构存放在同一块中,而实际分配的块的默认大小上限是8GB,根据实际情况,块大小上限是可以修改的,这样对于绝对多数的对象实体是完全能存储在一个物理块的。增强访问实体对象的存储相关性,可以让访问的响应时间加快的同时,大幅增加吞吐量。相关性一致的访问对象存放在一个块上,能保证访问应用过程中,提高链接的建立数并减少传输中的连接失败。
文档编号G06F17/30GK101241501SQ20081001464
公开日2008年8月13日 申请日期2008年2月25日 优先权日2008年2月25日
发明者李开君, 黄景昌 申请人:浪潮电子信息产业股份有限公司