内容分发网络中的内容节点以及内容分发方法技术

技术编号:18767142 阅读:12 留言:0更新日期:2018-08-25 12:52
本发明专利技术提供一种内容分发网络中的内容节点以及内容分发方法,其中内容节点包括:用户请求管理模块,用于接收并解析请求端发送的http请求,获知所请求的内容;本地缓存管理模块,用于在查询内容节点未缓存该内容时,查询路由表中是否存在该内容的路由表项,当路由表中存在该内容的路由表项,将该路由表项中指示的内容节点作为目标内容节点;代理模块;路由表管理模块,用于执行对路由表项进行添加、删除和/或查询的命令和数据下载模块。本发明专利技术实施例的内容节点在本地未缓存请求端请求的内容时,能够根据路由表项查找目标内容节点,并且支持对路由表项的更新,提高了内容分发的便捷性。

【技术实现步骤摘要】
内容分发网络中的内容节点以及内容分发方法
本专利技术涉及内容分发
,更具体地,涉及内容分发网络中的内容节点以及内容分发方法。
技术介绍
在目前主流的IP网络中,常见内容节点主要是指WebCache和CDN内容节点(ContentDeliveryNetwork,内容分发网络)等可以存储互联网内容的网络节点,WebCache节点,基于被动式的存储方式缓存内容,当用户第一次访问某内容时,WebCache节点缓存该内容在本地,当该内容再次被用户访问时,便可直接从WebCache节点本地获取内容对用户进行服务。CDN系统中除了CDN内容节点,还有一个GSLB(英文名称:GlobalServerLoadBalance,中文名称:全局负载均衡),目前最常用的是通过CName的方式,使用户的DNS解析请求在GSLB处响应,GSLB可以根据不同的业务类型,选择使用DNS调度或者应用层重定向(例如http重定向)的方式将用户的请求引导至“合适”的CDN节点,并由该节点服务用户的请求。上述内容节点的基本思想都是把用户访问的内容存储于距离用户“更近”的节点上,以缩短用户的访问时延并减少核心网的流量,从而达到改善用户使用体验和减轻核心网压力的目的。而现有的内容节点在本地未命中的情况下,是“回源”获取内容并为用户服务,所谓“回源”即向内容源获取内容,而向内容源获取内容存在核心网压力过大的问题。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的内容分发网络中的内容节点以及内容分发方法。根据本专利技术的一个方面,提供一种内容分发网络中的内容节点,包括:用户请求管理模块,用于接收并解析请求端发送的http请求,获知所请求的内容,并将解析后的http请求发送至本地缓存管理模块,所述请求端包括为内容分发网络中的其他内容节点或用户端;所述本地缓存管理模块,用于在查询内容节点未缓存该内容时,调用路由表管理模块查询路由表中是否存在该内容的路由表项,当所述路由表中存在该内容的路由表项,将该路由表项中指示的内容节点作为目标内容节点;代理模块,用于向所述控制器发起注册至内容分发网络的请求,接收所述控制器下发的对路由表项进行添加、删除和/或查询的命令,并将所述命令发送至所述路由表管理模块;所述路由表管理模块,用于接收控制器下发的路由表项、执行对路由表项进行添加、删除和/或查询的命令,所述路由表项用于指示内容与内容节点间的对应关系;所述数据下载模块,用于向所述目标内容节点发送获取所述内容的请求以及缓存接收到的所述内容至本地,所述内容通过所述用户请求管理模块发送至请求端。优选地,所述代理模块还用于:当内容节点未缓存该内容,同时未查询到路由表中存在所述内容的路由表项时,向所述控制器请求该内容的路由表项,以使得所述控制器查询到该内容的路由表项时,将该内容的路由表项发送至内容节点。优选地,所述数据下载模块还用于:当内容节点未缓存该内容,并且本地缓存管理模块和控制器均未查询到所述内容的路由信息时,向内容源服务器请求所述内容,以使得内容源服务器回源请求内容。优选地,所述路由表项的key值根据请求端发送的http请求中的URL、Host以及UserAgent信息获得,路由表项的内容为对该http请求执行的动作列表,所述动作列表为从其他节点中下载内容、为该http请求添加Tos标签以及对该请求做带宽管理中的一种,其中,所述Tos标签用于表示执行该请求的优先等级。优选地,所述代理模块具体用于:当内容节点启动时,向控制器发起注册请求,所述注册请求中携带内容节点的地址以及缓存替换阈值,所述缓存替换阈值的用于表示所在内容节点的缓存需替换的临界值,以使控制器对内容节点进行缓存替换。优选地,所述代理模块还用于解析控制器下发的内容节点的缓存及状态的管理命令以及网络连接的管理命令。优选地,所述路由表中包含若干个哈希桶,每个哈希桶以http请求头中的Host哈希值作为键值,每个哈希桶中含有哈希值相同的若干个哈希表项,哈希桶中的路由表项按照预设的优先级进行排序,若优先级相同,则按照路由表项添加的先后顺序进行排序。优选地,所述添加路由表项的命令中记载了待添加的路由表项所对应的URL、Host、UserAgent以及内容节点的地址,所述路由表管理模块执行对路由表项进行添加的命令,具体包括:计算URL、Host和UserAgent的哈希值,查看路由表中是否有相应哈希值的路由表项,若查询到相应的路由表项,则向控制器返回错误信息;若没有查询到相应的表项,则通过Host的哈希值找到相应的哈希桶,遍历该哈希桶,当匹配成功时向控制器返回动作列表,若遍历后仍然匹配失败,则向控制器返回空指针。优选地,所述删除的命令中记载了待删除的路由表项对应的Host、URL和UserAgent,所述路由表管理模块执行对路由表项进行删除的命令,具体包括:计算Host、URL和UserAgent的哈希值,查看路由表中有没有相应的路由表项,若没有,则向控制器返回错误信息,如有,则从路由表中删除该路由表项;所述查询路由表项的命令记载了待查询的路由表项对应的URL、Host和UserAgent,所述路由表管理模块执行对路由表项进行查询的命令,具体包括:计算URL、Host和UserAgent的哈希值,通过URL、Host和UserAgent的哈希值查找哈希桶,遍历哈希桶直到找到相应的路由表项。根据本专利技术的另一个方面,还提供一种内容分发网络中内容节点的内容分发方法,包括:接收并解析请求端发送的http请求,获知所请求的内容,所述请求端包括为内容分发网络中的其他内容节点或用户端;当查询本地未缓存该内容时,查询路由表中是否存在该内容的路由表项,当所述路由表中存在该内容的路由表项,将该路由表项中的内容节点作为目标内容节点;向所述目标内容节点发送获取所述内容的请求,缓存接收到的所述内容并发送至请求端;其中,所述内容分发方法还包括:向控制器发起注册至内容分发网络的请求,接收所述控制器下发的对路由表项进行添加、删除和/或查询的命令并执行,所述路由表项用于内容与内容节点间的对应关系。本专利技术提出的内容分发网络中的内容节点以及内容分发方法,其中内容节点包括用户请求管理模块,用于接收并解析请求端发送的http请求,获知所请求的内容;本地缓存管理模块,用于在内容节点未缓存该内容时,查询路由表中是否存在该内容的路由表项,当所述路由表中存在该内容的路由表项,将该路由表项中的内容节点作为目标内容节点;代理模块,用于向所述控制器发起注册至内容分发网络的请求;路由表管理模块,用于执行对路由表项进行添加、删除和/或查询的命令;数据下载模块,用于向所述目标内容节点发送获取所述内容的请求以及缓存接收到的所述内容。附图说明图1为根据本专利技术实施例的内容分发网络的网络架构示意图;图2为根据本专利技术实施例的内容节点的功能框图;图3为根据本专利技术实施例的路由表的组织结构示意图;图4为根据本专利技术实施例的内容分发方法示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。为了克服现有技术的上述缺陷,本专利技术实施例提供了一种内容分发网络中的内容节点,本专利技术实施例的内容分发网络,也称作为SD本文档来自技高网...

【技术保护点】
1.一种内容分发网络中的内容节点,其特征在于,包括:用户请求管理模块,用于接收并解析请求端发送的http请求,获知所请求的内容,并将解析后的http请求发送至本地缓存管理模块,所述请求端包括为内容分发网络中的其他内容节点或用户端;所述本地缓存管理模块,用于在查询内容节点未缓存该内容时,调用路由表管理模块查询路由表中是否存在该内容的路由表项,当所述路由表中存在该内容的路由表项,将该路由表项中指示的内容节点作为目标内容节点;代理模块,用于向控制器发起注册至内容分发网络的请求,接收所述控制器下发的对路由表项进行添加、删除和/或查询的命令,并将所述命令发送至所述路由表管理模块;所述路由表管理模块,用于接收控制器下发的路由表项、执行对路由表项进行添加、删除和/或查询的命令,所述路由表项用于指示内容与内容节点间的对应关系;所述数据下载模块,用于向所述目标内容节点发送获取所述内容的请求以及缓存接收到的所述内容至本地,所述内容通过所述用户请求管理模块发送至请求端。

【技术特征摘要】
1.一种内容分发网络中的内容节点,其特征在于,包括:用户请求管理模块,用于接收并解析请求端发送的http请求,获知所请求的内容,并将解析后的http请求发送至本地缓存管理模块,所述请求端包括为内容分发网络中的其他内容节点或用户端;所述本地缓存管理模块,用于在查询内容节点未缓存该内容时,调用路由表管理模块查询路由表中是否存在该内容的路由表项,当所述路由表中存在该内容的路由表项,将该路由表项中指示的内容节点作为目标内容节点;代理模块,用于向控制器发起注册至内容分发网络的请求,接收所述控制器下发的对路由表项进行添加、删除和/或查询的命令,并将所述命令发送至所述路由表管理模块;所述路由表管理模块,用于接收控制器下发的路由表项、执行对路由表项进行添加、删除和/或查询的命令,所述路由表项用于指示内容与内容节点间的对应关系;所述数据下载模块,用于向所述目标内容节点发送获取所述内容的请求以及缓存接收到的所述内容至本地,所述内容通过所述用户请求管理模块发送至请求端。2.如权利要求1所述的内容节点,其特征在于,所述代理模块还用于:当内容节点未缓存该内容,同时未查询到路由表中存在所述内容的路由表项时,向所述控制器请求该内容的路由信息,以使得所述控制器查询到该内容的路由表项时,将该内容的路由信息发送至内容节点。3.如权利要求2所述的内容节点,其特征在于,所述数据下载模块还用于:当内容节点未缓存该内容,并且本地缓存管理模块和控制器中均未查询到所述内容的路由信息时,向内容源服务器请求所述内容,以使得内容源服务器回源请求内容。4.如权利要求1所述的内容节点,其特征在于,所述路由表项的key值根据请求端发送的http请求中的URL、Host以及UserAgent信息获得,路由表项的内容为对该http请求执行的动作列表,所述动作列表为从其他节点中下载内容、为该http请求添加Tos标签以及对该请求做带宽管理中的一种,其中,所述Tos标签用于表示执行该请求的优先等级。5.如权利要求1所述的内容节点,其特征在于,所述代理模块具体用于:当内容节点启动时,向控制器发起注册请求,所述注册请求中携带内容节点的地址以及缓存替换阈值,所述缓存替换阈值用于表示所在内容节点的缓存需替换的临界值,以使控制器对内容节点进行缓存替换。6.如权利要求5所述的内容节点,其特征在于,所述代理模块还用于解析控制器下发的内容节点的缓...

【专利技术属性】
技术研发人员:崔华俊刘畅杨慧然徐震张棪谭倩杨兴华
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1