一种cdn系统中资源存储的索引装置及方法

文档序号:9235457阅读:364来源:国知局
一种cdn系统中资源存储的索引装置及方法
【技术领域】
[0001] 本发明涉及通信技术领域,尤其涉及一种CDN系统中资源存储的索引装置及方 法。
【背景技术】
[0002] 随着互联网和网络应用的普及与发展,大量网站的涌现W及随之而来的鹿大访问 量,使得网络服务不堪重负,内容分发网络(CDN)应运而生。CDN是一种新型网络内容服务 体系,基于内容访问与应用的效率要求、质量要求、内容秩序及客户带宽限制而提供内容的 分发和服务,代表了一种基于网络而构建的高质量、高效率、具有鲜明网络秩序的网络应用 服务模式。
[0003] CDN在面向局域网用户时,CDN系统会旁路部署在局域网网络出口处,当用户请求 某一资源时,CDN系统的重定向模块会将该请求转发给下载模块,由下载模块在本地的缓存 库中缓存一份请求资源的副本W备后续请求,同时不影响该用户正常的获取请求的资源, 当有用户再次请求该一资源时,重定向模块会重定向用户请求至缓存库,由缓存库向用户 提供资源,由于CDN系统与用户处于同一个局域网中,所W不仅资源分发快速高效,而且可 W节省大量带宽。由于CDN系统中资源类型繁多,为了在缓存库中更加高效的找到资源所 存在的位置,因此将每个资源对应的生成一个k巧值,并建立资源存储位置与k巧值对应的 索引,从而使查找过程更加便捷。
[0004] 现有技术中通常有两种建立索引的方法,一种是采用资源的文件名作为其key值 与资源存储位置建立索引,但由于互联网上的资源各种各样,不同的源站、不同主机、甚至 是同一主机对于不同的资源可能采用相同的文件名,特别是对于那些文件名简单的资源文 件,如se化P. exe、update. exe、123. mp4等等,此时在索引表中会出现不同的资源由于文件 名相同导致其key值也相同,当按照某个key值进行资源索引时,得到的可能并不是目标资 源,因此很容易出现误命中的问题。比如用户原本请求的是A网站的se化P. exe,但该资源 和B网站的se化P. exe的k巧值相同,CDN系统很可能将B网站的setup, exe发送给用户, 导致文件误命中进而影响到用户的网络服务。
[0005] 另一种是采用请求资源的统一资源定位符(U化)作为其key值,但由于同一资源 可能存在于不同的源站、不同的主机、甚至是同一主机上的不同路径下。比如网站A和网站 B同时提供某一资源的下载,用户获取A、B网站上该资源的U化不同对应的key值也不同, 但事实上两个key值对应的资源是相同的,因此出现索引表中多个key值对应的资源会重 复,从而导致资源在缓存模块中存放着大规模的兀余资源。
[0006] 由此可见,由于现有技术无法在CDN系统中建立一个资源与key值对应度较高的 索引,而导致CDN系统中出现缓存大规模兀余和文件误命中的问题。

【发明内容】

[0007] 有鉴于此,本发明提供一种CDN系统中资源存储的索引装置及方法来实现在CDN 系统中建立一个资源与key值对应度较高的索引,为资源请求和资源更新过程提供索引服 务,从而减少CDN系统中缓存兀余且降低文件的误命中率。
[0008] -种CDN系统中资源存储的索引装置,所述装置包括:
[0009] 名称提取单元,用于获取并提取统一资源定位符U化中的文件名;
[0010] 名称判断单元,用于判断所述文件名的复杂度是否达到预设的复杂度,若是则使 用所述文件名作为生成因子;否则使用U化作为生成因子;
[0011] key值生成单元,用于通过预设算法根据所述生成因子生成key值;
[0012] 索引建立单元,用于创建所述key值与缓存库中对应资源的存储位置索引表。
[0013] 进一步的,所述达到预设的复杂度包括:
[0014] 所述文件名中至少包含一个命名特征;
[0015] 所述命名特征包括;所述文件名达到预定长度,所述文件名构成符合预定的组合 模式,W及所述文件名中包含特殊字符。
[0016] 进一步的,所述达到预设的复杂度还包括:
[0017] 所述文件名未出现在预设名称库中。
[0018] 进一步的,所述预设算法为哈希算法。
[0019] 进一步的,所述装置还包括:
[0020] 资源请求单元,用于当所述U化为用户主机向所述名称解析单元发送的资源请求 U化时,根据所述资源请求U化的k巧值在所述索引表中查找,若命中,则由所述缓存库提供 所述资源。
[0021] 进一步的,所述装置还包括:
[0022] 下载更新单元,用于当所述U化为下载反馈U化时,将所述下载反馈U化对应的 key值更新至索引表。
[0023] 进一步的,所述下载更新单元还用于:
[0024] 将所述key值更新至索引表时,为所述key值设置老化时间。
[00巧]进一步的,所述装置还包括:
[0026] 老化检测单元,用于周期性地检测所述索引表中key值的老化时间,若超时,则请 求重新下载所述key值对应的资源。
[0027] 基于同样的构思,本发明还提供一种CDN系统中资源存储的索引方法,其特征在 于,所述方法包括步骤:
[0028] 获取并提取U化中的文件名;
[0029] 判断所述文件名的复杂度是否达到预设的复杂度,若是则使用所述文件名作为生 成因子;否则使用U化作为生成因子;
[0030] 通过预设算法根据所述生成因子生成key值;
[0031] 创建所述key值与缓存库中对应资源的存储位置索引表。
[0032] 进一步的,所述达到预设的复杂度包括:
[0033] 所述文件名中至少包含一个命名特征;
[0034] 所述命名特征包括;所述文件名达到预定长度,所述文件名构成符合预定的组合 模式,W及所述文件名中包含特殊字符。
[00巧]相对于现有技术,本发明通过判断文件名复杂度的方式来选择key值的生成因 子,进而得到资源与key值对应度较高的索引,为资源请求和资源更新过程提供索引服务, 从而减少CDN系统中缓存兀余且降低文件的误命中率。
【附图说明】
[0036] 图1是本发明提供的一种CDN系统中资源存储的索引装置的结构示意图;
[0037] 图2是本发明实施例中一种组网结构示意图;
[0038] 图3是本发明实施例中一种CDN系统中资源存储的索引方法的处理流程图。
【具体实施方式】
[0039] 为了解决上述问题,本发明提供了一种CDN系统中资源存储的索引装置及方法。
[0040] 请参见图1,一种CDN系统中资源存储的索引装置,所述装置基本运行环境包括 CPU,非易失性存储器、内存W及其他硬件,从逻辑层面上来看,所述装置包括:
[0041]名称提取单元获取并提取U化中的文件名,其中,U化是对可W从互联网上得到的 资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。基本U化包含模 式(或称协议)、服务器名称(或IP地址)、路径和文件名,如"协议://授权/路径?查询"。 而完整的、带有授权部分的普通统一资源标志符语法则比较复杂,例如:协议://用户名: 密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志, 因此名称提取单元可W在URL中提取其中的文件名。
[0042]名称判断单元根据上述名称提取单元提取出的文件名判断所述文件名的复杂度 是否满足预设的复杂度,若是则说明该文件名比较复杂,重名几率极小,因此可W使用所述 文件名作为生成因子;否则说明该文件名属于较简单的常见的文件名,重名的概率比较高, 因此使用U化作为生成因子;所述生成因子可W理解为生成key值时依据的特征元素。
[0043] key值生成单元通过预设算法根据上述生成因子来生成key值,由于所述生成因 子选取时充分考虑了重名的问题,因此可W使资源与key值的对应度优于现有技术。
[0044]索引建立单元创建所述k巧值与CDN系统中缓存库中缓存资源对应的存储位置的 索引表,该索引表可W为用户请求资源或是下载更新资源提供索引服务。
[0045] 由此可见,本发明可W通过判断文件名复杂度的方式严格筛选出有差异性的key 值的生成因子,进而得到资源与key值对应度较高的索引,为资源请求和资源更新过程提 供索引服务,从而减少CDN系统中缓存兀余且降低文件的误命中率。
[0046] 在优选的实施例中,所述达到预设的复杂度可W有多种情况,其中一种为;所述文 件名中至少包含一个命名特征。其中所述命名特征包括:所述文件名达到预定长度,所述文 件名构成符合预定的组合模式,W及所述文件名中包含特殊字符。比如说一个资源的文件 名超过10字节,就认为该文件名相对较复杂;或是文件名由数字、字母、符号排列组合而成 (例如setup-123, exe),也是比较复杂的构成;又或是文件名中包含特殊字符,如@、*、#、% 等等一般文件名中不常用到的字符,该样也可W防止重名。上述例举的H个命名特征仅供 参考,具体实施过程可W酌情选择。比如在实际应用时,考虑到文件名可能会出现字符长度 很长(例如超过20字节),但是没有复杂的组合模式,也不包含特殊字符的情况,那么本发明 会在每个命名特征的判断时设置多档次的判断标准,如果只符合较低档次的命名特征,那 就要有多项命名特征都符合才能认为所述文件
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1