著录项信息
专利名称 | 一种内容分发网络路由方法、系统和用户终端 |
申请号 | CN201180003162.5 | 申请日期 | 2011-12-02 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-09-12 | 公开/公告号 | CN102668518A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/12 | IPC分类号 | H;0;4;L;2;9;/;1;2;;;H;0;4;L;2;9;/;0;8;;;H;0;4;L;1;2;/;7;0查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市龙岗区坂田华为总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 欧雄兵;顾纳 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明提供了一种内容分发网络路由方法、系统和用户设备,其中内容分发网络路由方法包括:CDN路由设备接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;CDN路由设备向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;所述缓存节点接收用户终端发送的第二业务请求,所述第二业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。从而使得用户终端在访问由CDN加速的内容时,可以获取域名对应的cookie信息,从而使得用户终端在后续访问该域名对应的其他内容时可以携带上cookie信息,有利于网络侧的鉴权及用户登录信息管理。
1.一种内容分发网络CDN路由方法,其特征在于,包括:
CDN路由设备接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;
CDN路由设备向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;
所述缓存节点接收用户终端发送的第二业务请求,所述第二业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。
2.如权利要求1所述的方法,其特征在于,在所述缓存节点接收用户终端发送的第二业务请求之后,所述方法还包括:
所述缓存节点向源服务器发送第三业务请求,接收所述源服务器返回的cookie头域,所述cookie头域包括所述用户终端访问所述原始域名时需要提供的cookie信息。
3.如权利要求2所述的方法,其特征在于,所述cookie头域还包括所述cookie信息应用的域名,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或所述原始域名的子域名。
4.如权利要求2所述的方法,其特征在于,在所述缓存节点向源服务器发送第三业务请求之前,所述方法还包括:
所述缓存节点确定本地是否缓存有所述原始URL对应的内容,如果是,则在发送给源服务器的第三业务请求中携带头域指示,用于指示源服务器向所述缓存节点返回为所述用户终端设置的所述cookie头域,无需返回所述原始URL对应的内容。
5.如权利要求2所述的方法,其特征在于,还包括:当所述源服务器返回的cookie头域不包括所述cookie信息应用的域名时,所述缓存节点将所述cookie信息应用的域名添加到发送给用户终端的头域指示中,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或所述原始域名的子域名。
6.如权利要求1所述的方法,其特征在于,在CDN路由设备向所述用户终端返回重定向响应消息之后,所述缓存节点接收用户终端发送的第二业务请求之前,所述方法还包括:
所述CDN路由设备将为所述用户终端选择的缓存节点的地址信息发送给所述用户终端。
7.如权利要求6所述的方法,其特征在于,所述CDN路由设备将为所述用户终端选择的缓存节点的地址信息发送给所述用户终端包括:
本地域名系统DNS接收用户终端发送的第一DNS请求,并将所述第一DNS请求转发给内容提供商CP授权DNS,所述第一DNS请求携带所述第二URL对应的域名;
所述CP授权DNS根据签约信息确定所述第二URL对应的域名提供的内容需要由CDN提供加速,将所述第一DNS请求重定向到CDN中;
所述本地DNS向所述CDN路由设备发起第二DNS请求,携带所述第二URL对应的域名;
所述CDN路由设备根据所述第二URL对应的域名中包括的缓存节点的标识通过本地DNS向用户终端返回所述缓存节点的地址信息。
8.如权利要求7所述的方法,其特征在于,所述CP授权DNS将所述DNS请求重定向到CDN中包括:
CP授权DNS通过向本地DNS返回域名服务器NS记录的方式将DNS请求重定向到CDN中;或者,
CP授权DNS通过向本地DNS返回CNAME的方式将DNS请求重定向到CDN中。
9.如权利要求1所述的方法,其特征在于,在所述缓存节点接收用户终端发送的第二业务请求之后,所述方法还包括:
所述缓存节点去除所述第二URL中的缓存节点的标识,将所述第二URL还原为原始URL。
10.如权利要求9所述的方法,其特征在于,在CDN路由设备向所述用户终端返回重定向响应消息之前,所述方法还包括:
所述CDN路由设备根据所述原始URL确定所述用户终端请求的内容,根据所述用户终端的地址信息、所述用户终端请求的内容以及CDN路由规则为所述用户终端选择缓存节点。
11.如权利要求1所述的方法,其特征在于,所述头域指示中还携带所述cookie信息应用的域名,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或原始域名的子域名。
12.一种内容分发网络CDN路由方法,其特征在于,包括:
上层CDN路由设备接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;
所述上层CDN路由设备向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括下层CDN路由设备标识;
所述上层CDN路由设备接收用户终端发起的域名系统DNS请求,所述DNS请求中携带所述第三URL对应的域名;
所述上层CDN路由设备根据所述第三URL对应的域名中包括下层CDN路由设备标识向所述用户终端返回所述下层CDN路由设备的地址信息;
所述下层CDN路由设备接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;
所述缓存节点接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。
13.如权利要求12所述的方法,其特征在于,所述头域指示中还携带所述cookie信息应用的域名,所述cookie信息应用的域名为所述原始域名或原始域名的子域名。
14.一种内容分发网络CDN路由方法,其特征在于,包括:
第一下层CDN路由设备接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;
所述第一下层CDN路由设备向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括第二下层CDN路由设备标识;
上层CDN路由设备接收用户终端发起的DNS请求,所述DNS请求中携带所述第三URL对应的域名,所述上层CDN路由设备根据所述第三URL对应的域名中包括的第二下层CDN路由设备标识向所述用户终端返回所述第二下层CDN路由设备的地址信息;
所述第二下层CDN路由设备接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述第二下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;
所述缓存节点接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。
15.如权利要求14所述的方法,其特征在于,在第一下层CDN路由设备接收用户终端发送的业务请求之前,所述方法还包括:
上层CDN路由设备接收用户终端发起的业务请求,所述业务请求携带所述第一URL对应的域名,为所述用户终端选择第一下层CDN路由设备,将所述第一下层CDN路由设备的地址信息返回给所述用户终端。
16.如权利要求14所述的方法,其特征在于,所述头域指示中还携带所述cookie信息应用的域名,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或所述原始域名的子域名。
17.一种内容分发网络CDN路由方法,其特征在于,包括:
用户终端发送第一业务请求给CDN路由设备,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;
所述用户终端接收所述CDN路由设备返回的重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;
所述用户终端向所述选择的缓存节点发送第二业务请求,所述第二业务请求携带所述第二URL,接收所述缓存节点返回的头域指示,所述头域指示中携带cookie信息,其中,在所述用户终端向所述选择的缓存节点发送第二业务请求之前,所述方法还包括:
所述用户终端从所述CDN路由设备获取所述缓存节点的地址信息。
18.一种内容分发网络CDN路由方法,其特征在于,包括:
用户终端发送第一业务请求给CDN路由设备,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;
所述用户终端接收所述CDN路由设备返回的重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;
所述用户终端向所述选择的缓存节点发送第二业务请求,所述第二业务请求携带所述第二URL,接收所述缓存节点返回的头域指示,所述头域指示中携带cookie信息,所述用户终端发起第三业务请求,当第三业务请求请求的内容为所述原始域名、所述原始域名的父域名或原始域名的子域名对应的内容时,所述第三业务请求中携带所述cookie信息。
19.一种内容分发网络CDN路由系统,其特征在于,包括CDN路由设备、缓存节点,所述CDN路由设备,用于接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;
所述CDN路由设备,还用于向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;
所述缓存节点,用于接收用户终端发送的第二业务请求,所述第二业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。
20.如权利要求19所述的系统,其特征在于,
所述缓存节点,还用于在接收用户终端发送的第二业务请求之后,向源服务器发送第三业务请求,接收所述源服务器返回的cookie头域,所述cookie头域包括所述用户终端访问所述原始域名时需要提供的cookie信息。
21.如权利要求20所述的系统,其特征在于,
所述缓存节点,还用于在向源服务器发送第三业务请求之前,确定本地是否缓存有所述原始URL对应的内容,如果是,则在发送给源服务器的第三业务请求中携带头域指示,用于指示源服务器向所述缓存节点返回为所述用户终端设置的cookie头域,无需返回所述原始URL对应的内容。
22.如权利要求20所述的系统,其特征在于,
当所述源服务器返回的cookie头域不包括所述cookie信息应用的域名时,所述缓存节点,还用于将所述cookie信息应用的域名添加到发送给用户终端的头域指示中,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或所述原始域名的子域名。
23.如权利要求19所述的系统,其特征在于,
所述CDN路由设备,还用于将为所述用户终端选择的缓存节点的地址信息发送给所述用户终端。
24.如权利要求23所述的系统,其特征在于,还包括本地域名系统DNS和内容提供商CP授权DNS,
所述本地DNS,用于接收用户终端发送的第一DNS请求,并将所述第一DNS请求转发给CP授权DNS,所述第一DNS请求携带所述第二URL对应的域名;
所述CP授权DNS根据签约信息确定所述第二URL对应的域名提供的内容需要由CDN提供加速,将所述第一DNS请求重定向到CDN中;
所述本地DNS,还用于向所述CDN路由设备发起第二DNS请求,携带所述第二URL对应的域名;
所述CDN路由设备,具体用于根据所述第二URL对应的域名中包括的缓存节点的标识通过本地DNS向用户终端返回所述缓存节点的地址信息。
25.如权利要求24所述的系统,其特征在于,
所述CP授权DNS,具体用于通过向本地DNS返回域名服务器NS记录的方式将DNS请求重定向到CDN中;或者,
所述CP授权DNS,具体用于通过向本地DNS返回CNAME的方式将DNS请求重定向到CDN中。
26.如权利要求19所述的系统,其特征在于,
所述缓存节点,还用于在接收用户终端发送的第二业务请求之后,去除所述第二URL中的缓存节点的标识,将所述第二URL还原为原始URL。
27.如权利要求26所述的系统,其特征在于,
所述CDN路由设备,还用于根据所述原始URL确定所述用户终端请求的内容,根据所述用户终端的地址信息、请求的内容以及CDN路由规则为所述用户终端选择缓存节点。
28.一种内容分发网络CDN路由系统,其特征在于,包括:上层CDN路由设备,下层CDN路由设备和缓存节点,
所述上层CDN路由设备,用于接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;
所述上层CDN路由设备,还用于向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括下层CDN路由设备标识;
所述上层CDN路由设备,还用于接收用户终端发起的域名系统DNS请求,所述DNS请求中携带所述第三URL对应的域名;
所述上层CDN路由设备,还用于根据所述第三URL对应的域名中包括的下层CDN路由设备标识向所述用户终端返回所述下层CDN路由设备的地址信息;
所述下层CDN路由设备,用于接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;
所述缓存节点,用于接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。
29.一种内容分发网络CDN路由系统,其特征在于,包括上层CDN路由设备、第一下层CDN路由设备、第二下层CDN路由设备和缓存节点,
第一下层CDN路由设备,用于接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;
所述第一下层CDN路由设备,还用于向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括第二下层CDN路由设备标识;
所述上层CDN路由设备,用于接收用户终端发起的域名系统DNS请求,所述DNS请求中携带所述第三URL对应的域名,根据所述第三URL对应的域名中包括的第二下层CDN路由设备标识向所述用户终端返回所述第二下层CDN路由设备的地址信息;
所述第二下层CDN路由设备,用于接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述第二下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;
所述缓存节点,用于接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。
30.一种用户终端,其特征在于,包括:
发送单元,用于发送第一业务请求给内容分发网络CDN路由设备,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;
接收单元,用于接收所述CDN路由设备返回的重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;
所述发送单元,还用于向所述选择的缓存节点发送第二业务请求,所述第二业务请求携带所述第二URL;
所述接收单元,还用于接收所述缓存节点返回的头域指示,所述头域指示中携带cookie信息。
31.如权利要求30所述的用户终端,其特征在于,
所述接收单元,还用于从所述CDN路由设备获取所述缓存节点的地址信息。
32.如权利要求30所述的用户终端,其特征在于,
所述发送单元,还用于在所述接收单元接收到所述缓存节点返回的头域指示之后,发起第三业务请求,当第三业务请求请求的内容为所述原始域名、所述原始域名的父域名或原始域名的子域名对应的内容时,所述第三业务请求中携带所述cookie信息。
一种内容分发网络路由方法、系统和用户终端\n技术领域\n[0001] 本发明涉及IT领域,特别是一种内容分发网络路由方法、系统和用户终端。\n背景技术\n[0002] CDN(Content Delivery Network,内容分发网络)是在现有的IP(Internet Protocol,互联网协议)传输网络中增加一层新的网络架构,主要包括分布式存储、负载均衡、网络请求的重定向和内容管理等部件,而内容管理和全局的网络流量管理是CDN的核心所在,具体的,CDN将网站的内容发布到最接近用户的网络″边缘″,通过用户就近性和服务器负载的判断,使用户可以就近取得所需的内容,解决了由于网络带宽小、用户访问量大、网点分布不均等原因所造成的网络拥挤、用户访问网络响应速度慢的问题。\n[0003] 具体的,在CDN网络中,可以采用重定向路由方式(例如,HTTP(Hyper Text Transfer Protocol,超文本传输协议)重定向)对用户终端的业务请求进行路由,用户终端发起的业务请求经过DNS(Domain Name System,域名系统)解析,被路由到CDN路由设备,CDN路由设备可以根据终端的地理位置和终端所请求的内容来选择合适的缓存节点为用户终端提供内容,CDN路由设备对接收到的业务请求中的域名进行修改,构造新的域名,通过在返回的重定向响应消息中携带新构造的域名将用户终端重定向到所选择的CDN中的缓存节点,由于用户终端向缓存节点发送业务请求时携带的是新构造的域名,因此,对于需要利用cookie信息来对终端用户进行鉴权或者记录用户历史访问信息的应用场景造成了限制。\n发明内容\n[0004] 本发明实施例提供了一种内容分发网络路由方法、系统和用户终端,使得在重定向路由方式中,当用户终端向重定向后的地址发起业务请求时仍然能够将cookie信息携带在业务请求中,满足需要利用cookie信息的业务应用,例如鉴权和记录历史访问信息等场景。\n[0005] 本发明实施例提供的一种CDN路由方法,包括:\n[0006] CDN路由设备接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0007] CDN路由设备向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0008] 所述缓存节点接收用户终端发送的第二业务请求,所述第二业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0009] 本发明实施例提供的另一种CDN路由方法,包括:\n[0010] 上层CDN路由设备接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0011] 所述上层CDN路由设备向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括下层CDN路由设备标识;\n[0012] 所述上层CDN路由设备接收用户终端发起的域名系统DNS请求,所述DNS请求中携带所述第三URL对应的域名;\n[0013] 所述上层CDN路由设备根据所述第三URL对应的域名中包括下层CDN路由设备标识向所述用户终端返回所述下层CDN路由设备的地址信息;\n[0014] 所述下层CDN路由设备接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0015] 所述缓存节点接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0016] 本发明实施例提供的另一种CDN路由方法,包括:\n[0017] 第一下层CDN路由设备接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0018] 所述第一下层CDN路由设备向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括第二下层CDN路由设备标识;\n[0019] 上层CDN路由设备接收用户终端发起的DNS请求,所述DNS请求中携带所述第三URL对应的域名,所述上层CDN路由设备根据所述第三URL对应的域名中包括的第二下层CDN路由设备标识向所述用户终端返回所述第二下层CDN路由设备的地址信息;\n[0020] 所述第二下层CDN路由设备接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述第二下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0021] 所述缓存节点接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0022] 本发明实施例提供的另一种CDN路由方法,包括:\n[0023] 用户终端发送第一业务请求给CDN路由设备,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0024] 所述用户终端接收所述CDN路由设备返回的重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0025] 所述用户终端向所述选择的缓存节点发送第二业务请求,所述第二业务请求携带所述第二URL,接收所述缓存节点返回的头域指示,所述头域指示中携带cookie信息。\n[0026] 本发明实施例还提供了一种CDN路由系统,包括CDN路由设备、缓存节点,[0027] 所述CDN路由设备,用于接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0028] 所述CDN路由设备,还用于向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0029] 所述缓存节点,用于接收用户终端发送的第二业务请求,所述第二业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0030] 本发明实施例还提供了另一种CDN路由系统,包括:上层CDN路由设备,下层CDN路由设备和缓存节点,\n[0031] 所述上层CDN路由设备,用于接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0032] 所述上层CDN路由设备,还用于向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括下层CDN路由设备标识;\n[0033] 所述上层CDN路由设备,还用于接收用户终端发起的域名系统DNS请求,所述DNS请求中携带所述第三URL对应的域名;\n[0034] 所述上层CDN路由设备,还用于根据所述第三URL对应的域名中包括的下层CDN路由设备标识向所述用户终端返回所述下层CDN路由设备的地址信息;\n[0035] 所述下层CDN路由设备,用于接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0036] 所述缓存节点,用于接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0037] 本发明实施例还提供了另一种CDN路由系统,包括上层CDN路由设备、第一下层CDN路由设备、第二下层CDN路由设备和缓存节点,\n[0038] 第一下层CDN路由设备,用于接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0039] 所述第一下层CDN路由设备,还用于向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括第二下层CDN路由设备标识;\n[0040] 所述上层CDN路由设备,用于接收用户终端发起的域名系统DNS请求,所述DNS请求中携带所述第三URL对应的域名,根据所述第三URL对应的域名中包括的第二下层CDN路由设备标识向所述用户终端返回所述第二下层CDN路由设备的地址信息;\n[0041] 所述第二下层CDN路由设备,用于接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述第二下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0042] 所述缓存节点,用于接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0043] 本发明实施例还提供了一种用户终端,包括:\n[0044] 发送单元,用于发送第一业务请求给内容分发网络CDN路由设备,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0045] 接收单元,用于接收所述CDN路由设备返回的重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0046] 所述发送单元,还用于向所述选择的缓存节点发送第二业务请求,所述第二业务请求携带所述第二URL;\n[0047] 所述接收单元,还用于接收所述缓存节点返回的头域指示,所述头域指示中携带cookie信息。\n[0048] 本发明实施例提供了一种内容分发网络路由方法、系统和用户终端,CDN路由设备构造的发送给用户终端中的第二URL中包括为用户终端选择的缓存节点的标识,且第二URL对应的域名为所述原始域名的子域名或同级域名,用户终端从所述缓存节点获取携带cookie信息的头域指示,从而使得该用户终端在后续访问原始域名的内容时可以携带该cookie信息,从而使得网络侧可以对该用户终端进行鉴权及历史访问信息的管理。\n附图说明\n[0049] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0050] 图1是本发明实施例提供的一种内容分发网络路由方法流程示意图;\n[0051] 图2是本发明实施例提供的另一种内容分发网络路由方法流程示意图;\n[0052] 图3是本发明实施例提供的另一种内容分发网络路由方法流程示意图;\n[0053] 图4是本发明实施例提供的另一种内容分发网络路由方法流程示意图;\n[0054] 图5是本发明实施例提供的另一种内容分发网络路由方法流程示意图;\n[0055] 图6是本发明实施例提供的一种内容分发网络路由系统架构示意图;\n[0056] 图7是本发明实施例提供的另一种内容分发网络路由系统架构示意图;\n[0057] 图8是本发明实施例提供的另一种内容分发网络路由系统架构示意图;\n[0058] 图9是本发明实施例提供的一种用户终端结构示意图。\n具体实施方式\n[0059] 举例说明该技术问题:假设用户终端向CDN路由设备发送的业务请求中携带的URL(Uniform Resource Locator,统一资源定位符)为http://www.cp1.com/news/a.html,其中,www.cp1.com对应的内容由CP(Content Provider,内容提供商)提供,并且通过CDN提供内容分发加速服务。CDN路由设备根据预定策略为用户终端选择一个缓存节点(缓存节点的标识为C1),构造新的URL为http://C1.cdn.net/www.cp1.com/news/a.html。用户终端向重定向后的地址发送业务请求时,由于域名改变为C1.cdn.net,用户终端在新发起的业务请求中不再携带针对原始域名www.cp1.com的cookie信息,从而对于需要利用cookie信息来对终端用户进行鉴权或者记录用户访问历史信息的应用场景造成了限制。\n[0060] 一种典型的CDN路由系统架构可以包括以下部件:\n[0061] 本地DNS:一般是为用户终端提供宽带接入服务的网络提供商的本地DNS服务器,也可以是直接在终端上配置的公用DNS服务器,如由Google提供的DNS服务器;\n[0062] CP授权DNS:由CP部署的为自己发布的域名提供DNS解析服务的DNS服务器;\n[0063] 源服务器:由CP部署的内容源服务器,当CP选用CDN提供内容分发业务时,如果CDN中没有本地缓存用户终端所请求的内容,则CDN会向源服务器请求内容;\n[0064] CDN路由设备:负责完成业务路由,即根据终端的地理位置和终端所请求的内容,从CDN中选择合适的缓存节点为终端提供内容交付服务;\n[0065] 缓存节点:CDN中的缓存节点,在本地会根据内容热度缓存终端所请求的内容,在收到终端的业务请求时根据本地缓存的内容直接为终端提供内容交付,如果本地没有缓存终端所要请求的内容,则向CDN中的上级缓存节点或者CP的源服务器请求内容后再交付给终端。\n[0066] 需要说明的是,在本发明实施例中上述部件并非都是必须的,可以根据网络架构的变化进行调整,例如,内容源服务器在某些场景下是可选的。\n[0067] 还需要说明的是,内容分发网络广义上可以除了用户终端外的网络侧,从狭义的角度上看,也可以仅包括具有内容加速功能的网络部件,例如,CDN路由设备、缓存节点。\n[0068] 如图1所示,为本发明实施例提供的一种CDN路由方法,包括:\n[0069] 步骤101:CDN路由设备接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0070] 步骤102:CDN路由设备向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0071] 步骤103:所述缓存节点接收用户终端发送的第二业务请求,所述第二业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0072] 需要说明的是,同级域名具备相同的级数和相同的父域名。例如,C1www.cp1.com与www.cp1.com属于同级域名,二者的级数均为3,父域名均为.cpl.com。\n[0073] 进一步的,在所述缓存节点接收用户终端发送的第二业务请求之后,所述方法还包括:所述缓存节点向源服务器发送第三业务请求,接收所述源服务器返回的cookie头域,所述cookie头域包括所述用户终端访问所述原始域名时需要提供的cookie信息。所述cookie头域还包括所述cookie信息应用的域名,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或所述原始域名的子域名。\n[0074] 在所述缓存节点向源服务器发送第三业务请求之前,所述方法还包括:所述缓存节点确定本地是否缓存有所述原始URL对应的内容,如果是,则在发送给源服务器的第三业务请求中携带头域指示,用于指示源服务器向所述缓存节点返回为所述用户终端设置的cookie头域,无需返回所述原始URL对应的内容。\n[0075] 当所述源服务器返回的cookie头域不包括所述cookie信息应用的域名时,所述缓存节点将所述cookie信息应用的域名添加到发送给用户终端的头域指示中,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或所述原始域名的子域名。\n[0076] 在CDN路由设备向所述用户终端返回重定向响应消息之后,所述缓存节点接收用户终端发送的第二业务请求之前,所述方法还包括:所述CDN路由设备将为所述用户终端选择的缓存节点的地址信息发送给所述用户终端。\n[0077] 具体的,所述CDN路由设备将为所述用户终端选择的缓存节点的地址信息发送给所述用户终端包括:\n[0078] 本地域名系统DNS接收用户终端发送的第一DNS请求,并将所述第一DNS请求转发给内容提供商CP授权DNS,所述第一DNS请求携带所述第二URL对应的域名;\n[0079] 所述CP授权DNS根据签约信息确定所述第二URL对应的域名提供的内容需要由CDN提供加速,将所述第一DNS请求重定向到CDN中;\n[0080] 所述本地DNS向所述CDN路由设备发起第二DNS请求,携带所述第二URL对应的域名;\n[0081] 所述CDN路由设备根据所述第二URL对应的域名中包括的缓存节点的标识通过本地DNS向用户终端返回所述缓存节点的地址信息。\n[0082] 所述CP授权DNS将所述DNS请求重定向到CDN中存在两种方式,包括:\n[0083] CP授权DNS通过向本地DNS返回NS(Name server,域名服务器)记录的方式将DNS请求重定向到CDN中;或者,\n[0084] CP授权DNS通过向本地DNS返回CNAME的方式将DNS请求重定向到CDN中。\n[0085] 在所述缓存节点接收用户终端发送的第二业务请求之后,所述方法还包括:所述缓存节点去除所述第二URL中的缓存节点的标识,将所述第二URL还原为原始URL。\n[0086] 在CDN路由设备向所述用户终端返回重定向响应消息之前,所述方法还包括:所述CDN路由设备根据所述原始URL确定所述用户终端请求的内容,根据所述用户终端的地址信息、请求的内容以及CDN路由规则为所述用户终端选择缓存节点。\n[0087] 如图2所示,为本发明实施例提供的另一种内容分发网络路由CDN方法,包括:\n[0088] 步骤201:用户终端发送第一业务请求给CDN路由设备,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0089] 步骤202:所述用户终端接收所述CDN路由设备返回的重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0090] 步骤203:所述用户终端向所述选择的缓存节点发送第二业务请求,所述第二业务请求携带所述第二URL,接收所述缓存节点返回的头域指示,所述头域指示中携带cookie信息。\n[0091] 本发明实施例提供了一种内容分发网络路由方法,CDN路由设备接收用户终端发送的携带第一URL的第一业务请求,构造的发送给用户中的第二URL中包括为用户终端选择的缓存节点的标识,且第二URL对应的域名为所述原始域名的子域名或同级域名,用户终端从所述缓存节点中获取携带cookie信息的头域指示,从而使得该用户终端在后续访问原始域名的其他内容时可以携带该cookie信息,从而使得网络侧可以对该用户终端进行鉴权及用户登录信息的管理。\n[0092] 进一步的,头域指示中还携带所述cookie信息应用的域名,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或原始域名的子域名。从而使得用户终端在后续访问原始域名的父域名或子域名对应的内容时,也可以携带对应的cookie信息,从而使得网络侧可以对该用户终端进行鉴权及用户登录信息的管理。\n[0093] 如图3所示,为本发明实施例提供的一种内容分发网络路由方法流程示意图,在一个具体场景中,CP1利用CDN提供内容加速服务,要求CDN对域名为www.cp1.com(即为原始域名)的内容提供加速服务,具体的路由方法可以包括以下步骤:\n[0094] 步骤301:用户终端访问CP1提供的由CDN加速的业务内容,用户终端首先向本地DNS发起DNS请求,获取域名(该域名为原始域名)对应的IP地址。\n[0095] 例如,用户终端要访问的URL为:http://www.cp1.com/news/a.html(记为第一URL或原始URL),用户终端首先需要获取域名www.cp1.com所对应的IP地址,因此终端首先向本地DNS发起解析www.cp1.com的DNS请求;\n[0096] 步骤302:本地DNS接收到用户终端的DNS请求后,检查本地是否缓存所述域名对应的地址信息,如果没有缓存,则根据DNS协议向CP授权DNS服务器发起针对所述域名的DNS请求;如果本地已缓存所述域名对应的地址信息,则直接执行步骤306。\n[0097] 例如,本地DNS发现本地没有缓存与域名www.cp1.com对应的地址信息,则根据DNS协议向CP授权DNS发起对www.cp1.com的域名解析请求;\n[0098] 步骤303:CP授权DNS收到本地DNS发送的DNS请求后,确定所述DNS请求携带的所述域名对应的业务内容需要由CDN提供加速,则将DNS请求指向到CDN中,具体可以通过返回CNAME的方式将DNS请求指向到CDN中。\n[0099] 例如,CP授权DNS根据CDN的签约信息发现www.cp1.com的业务内容需要由CDN提供加速服务,则向本地DNS返回CNAME,返回的CNAME可以为www.cp1.com.cdn.net,从而将DNS请求重定向到CDN中。需要说明的是,通过CNAME的方式将DNS请求重定向到CDN中可以采用现有的方式,本发明实施例对此并不加以限定。\n[0100] 步骤304:本地DNS将CP授权DNS返回的CNAME作为新的域名向CDN路由设备(即,CDN网络中的Service router)发起DNS请求。需要说明的是,本地DNS可以采用将CNAME作为域名按照现有域名解析的方式获取对应CDN路由设备的地址。\n[0101] 步骤305:CDN路由设备接收针对所述新域名的DNS请求,根据签约信息确定需要对用户终端请求的域名对应的业务内容提供加速服务,返回所述CDN路由设备的地址信息给本地DNS。需要说明的是,CDN路由设备此时还未获取用户终端的地址和请求的内容,无法为用户终端准确选择提供服务的缓存节点。\n[0102] 例如,Service router收到对域名www.cp1.com.cdn.net的解析请求后,根据签约信息确定需要为www.cp1.com提供加速服务,由于这时候并没有获取到终端的具体地址和终端要请求的内容,无法为用户终端准确选择提供服务的缓存节点,需要返回Service router的IP地址;\n[0103] 步骤306:本地DNS获得CDN路由设备的地址信息后,将所述地址信息转发给用户终端;\n[0104] 步骤307:用户终端获得所述CDN路由设备的地址信息后,向所述CDN路由设备发送业务请求,携带用户终端访问的第一URL。\n[0105] 例如,用户终端根据Service router的IP地址向Service router发起HTTP业务请求,请求的URL为:http://www.cp1.com/news/a.html;\n[0106] 步骤308:所述CDN路由设备接收所述用户终端发送的业务请求,根据所述用户终端的地址信息、所述用户终端的请求的内容和CDN路由规则为所述用户终端选择缓存节点,根据所选择的缓存节点构建包含所述缓存节点标识的第二URL,并将所述包含缓存节点标识的第二URL携带在重定向响应消息中返回给用户终端。\n[0107] 具体的,所述CDN路由设备接收用户终端发起的HTTP业务请求,获得用户终端的地址信息,根据所述业务请求携带的URL获取终端请求的内容信息,所述CDN路由设备根据所述用户终端的地址信息和请求的内容信息基于CDN的路由规则为所述用户终端选择合适的缓存节点,具体的可以采用地理位置优先或内容优先原则,对于地理位置优先即选择与用户终端的地理位置最近的缓存节点为用户终端提供服务,对于内容优先即选择缓存有终端所请求的内容的缓存节点为用户终端提供服务。在选择合适的缓存节点后,所述CDN路由设备构建包含所述缓存节点标识的第二URL,所述第二URL的域名为所述原始域名的子域名。所述CDN路由设备将所述第二URL携带在发送给用户终端的重定向响应消息中,从而将所述用户终端重定向到所选择的缓存节点上。具体的构建方式可以为:原始域名为www.cp1.com,C1为所述CDN路由设备为所述用户终端选择的缓存节点标识,则构建的第二URL格式可以为http://C1.www.cp1.com/news/a.html,其中所述第二URL的域名为C1.www.cp1.com,是所述原始域名的子域名。需要说明的是,本发明实施例并不限定所述第二URL的构建格式,可以实现标识出缓存节点的作用即可,定义成另外的形式也是可以的。\n[0108] 步骤309:用户终端接收重定向响应消息,向本地DNS发起DNS请求,所述DNS请求携带所述第二URL的域名,用于获取所述域名对应的地址信息,其中所述第二URL的域名中包含选择的缓存节点标识。\n[0109] 步骤310:本地DNS收到用户终端发送的DNS请求后,判断本地是否缓存了与所述域名对应的地址信息,如果否,则根据DNS协议向CP授权DNS发起针对所述域名的DNS请求,如果本地DNS已经缓存了与所述包含缓存节点标识的域名对应的地址信息,则直接执行步骤314。\n[0110] 步骤311:CP授权DNS接收本地DNS发起的针对所述第二URL的域名的DNS请求,根据签约信息确定所述域名对应的内容需要由CDN提供加速服务,则将所述DNS请求重定向到CDN中。\n[0111] 方式一:通过返回NS(域名服务器,Name server)记录的方式将DNS解析请求重定向到CDN中,所述NS记录用于表示原始域名的子域名均由所述CDN路由设备进行解析,所述NS记录的格式可以为:*.原始域名NSCDN路由设备的域名。例如,在CP授权DNS上可以按照如下方式来配置:*.www.cp1.com NS router.cdn.net,表示所有www.cp1.com的子域名都由域名服务器router.cdn.net负责解析,这里router.cdn.net对应CDN路由设备;\n[0112] 方式二:通过返回CNAME的方式将DNS请求重定向到CDN中,这里返回的CNAME可以为:C1.www.cp1.com.cdn.net;\n[0113] 步骤312:本地DNS接收到CP授权DNS返回的NS记录或CNAME后,确定所述第二URL的域名需要由所述CDN路由设备解析,向所述CDN路由设备发起DNS请求,请求针对所述第二URL的域名进行解析。\n[0114] 需要说明的是,本地DNS中可以记录有Service router的地址信息或者本地DNS可以通过迭代的方式找到CDN网络中的Service router的地址信息,本发明实施例对此并不加以限定。\n[0115] 步骤313:CDN路由设备根据所述第二URL的域名中包含的缓存节点标识将所述缓存节点的地址信息返回给本地DNS。\n[0116] 具体的,CDN中的Service router收到对域名C1.www.cp1.com的解析请求后,根据签约信息确定需要要为www.cp1.com提供加速服务,并且待解析的域名中包含已选择的缓存节点C1(对应chache nodel),这时Service router可以直接返回nodel的IP地址;\n[0117] 步骤314:本地DNS收到CDN路由设备返回的已选择缓存节点的地址信息后将所述地址信息发送给用户终端;\n[0118] 步骤315:用户终端根据所述已选择缓存节点的地址信息,向所述缓存节点发送业务请求,请求中携带的URL即为上述第二URL。\n[0119] 具体的,用户终端根据缓存nodel的IP地址向缓存nodel发起业务请求,请求URL为:http://C1.www.cp1.com/news/a.html;\n[0120] 步骤316:所述缓存节点向CP的源服务器发起业务请求,请求所述用户终端请求的内容。\n[0121] 所述缓存节点去除所述第二URL中的缓存节点的标识,将所述第二URL还原为原始URL,向所述源服务器请求所述原始URL对应的内容。具体的,缓存nodel收到HTTP请求消息后可以恢复出来终端请求的内容是http://www.cp1.com/news/a.html;\n[0122] 进一步的,在缓存节点向CP的源服务器发起业务请求之前,还可以包括步骤:所述缓存节点确定本地是否缓存有所述原始URL对应的内容,如否,则向CP的源服务器请求所述内容(或者通过CDN中的上级缓存节点向源服务器请求内容)。如是,缓存节点根据配置策略检查用户终端的业务请求中是否携带cookie,如果没有携带cookie,则即使缓存节点存储有用户终端请求的内容也向源服务器发送请求消息,同时在请求消息中携带指示信息,用来指示源服务器直接返回用户终端的cookie信息而不用携带消息体,从而减少需要传输的数据量(例如,所述指示信息为HTTP的If-Modified-Since头域,源服务器在返回的Not-Modified消息中携带用户终端的cookie信息而不用携带消息体)。\n[0123] 步骤317:源服务器收到缓存节点发送的业务请求后,向所述缓存节点返回业务响应,所述业务响应携带cookie头域,所述cookie头域至少包括用户终端访问所述原始域名时需要提供的cookie信息。\n[0124] 具体的,在响应消息中设置cookie头域示例为:\n[0125] 方式一:Set-Cookie:token=xyz;Path=/;Domain=www.cp1.com[0126] 这里Domain域表示cookie所作用的域名,即终端在访问该域名时需要携带token=xyz的cookie信息,如果Domain域没有携带则可以默认为www.cp1.com。\n[0127] 方式二:Set-Cookie:token=xyz;Path=/;Domain=*.cp1.com[0128] 在方式二中,Domain域可以设置为Domain=*.cp1.com,即domain域设为原始域名的子域名,用来表示当终端访问cp1.com的子域名时需要携带token=xyz的cookie信息。\n[0129] 进一步的,在源服务器向缓存节点返回业务响应之前,还可以包括如下判断步骤:\n[0130] 判断所述业务请求中是否携带cookie头域或携带的cookie头域是否满足业务要求,如果否,则所述源服务器在业务响应消息中设置cookie信息,返回给缓存节点。\n[0131] 需要说明的是,所述业务要求可以为是否满足时限等,本发明实施例对此并不进行限定。\n[0132] 步骤318:缓存节点接收源服务器返回的响应消息,所述响应消息携带所述源服务器为所述用户终端设置的cookie信息,缓存节点根据所述cookie信息向用户终端发送头域指示,所述头域指示包括域名和源服务器为用户终端设置的cookie信息,其中所述头域指示中的cookie信息应用于头域指示中的域名或其子域名。\n[0133] 进一步的,在缓存节点收到源服务器的响应消息后,可以判断是否需要对响应消息中的Cookie头域进行修改,当所述响应消息中携带的cookie头域包括域名和源服务器为用户终端分配的cookie信息时,可以不对该cookie头域进行修改,直接将该cookie头域作为头域指示发送给用户终端;如果响应消息中携带的cookie头域没有携带域名,则添加域名,并将添加了域名后的cookie头域作为头域指示发送给用户终端。\n[0134] 下面按照两种方式对本步骤进行具体说明:方式一对应步骤317中方式一;方式二对应步骤318中的方式二。\n[0135] 方式一:头域指示的格式如下:Set-Cookie:token=xyz;Path=/;Domain=www.cp1.com。\n[0136] 需要说明的是,当用户终端收到上述头域指示之后,用户终端后续访问该域名及其子域名时,就会携带cookie信息。具体的,用户终端访问www.cp1.com或www.cp1.com的子域时,就会携带cookie信息token=xyz。在另外一种具体应用场景中,部分用户终端仅支持针对头域指示中包含的域名携带cookie信息,而对于该域名下的子域名不能携带cookie信息,在这种场景下,本发明实施例进一步的在头域指示中添加子域名记录,用于指示用户终端针对子域名携带cookie信息,具体的,子域名记录的格式可以为:Set-Cookie:\ntoken=xyz;Path=/;Domain=.www.cp1.com,用于指示用户终端在访问www.cp1.com的子域名时,携带token=xyz的cookie信息。\n[0137] 方式二(与步骤317中方式二对应):\n[0138] 头域指示的格式如下:Set-Cookie:token=xyz;Path=/;Domain=*.cp1.com。当用户终端收到上述头域指示之后,用户终端后续访问cp1.com的子域名时,就会携带cookie信息。*.cp1.com为原始域名的父域名。\n[0139] 需要说明的是,按照步骤315的描述,用户终端向选择的缓存节点发送业务请求时携带的第二URL为http://C1.www.cp1.com/news/a.html,在方式二中,在头域指示中携带给用户终端的domain=*.cp1.com。但是对于部分用户终端,为了安全的需要在访问C1.www.cp1.com域名时只允许对C1.www.cp1.com域或者.www.cp1.com子域设置cookie信息,不支持对.cp1.com子域设置的cookie信息。对于这部分用户终端,本发明实施例提供了另一种域名构造方式,用来让用户终端为.cp1.com子域设置的cookie信息,具体方式如下:在步骤308中,CDN路由设备为用户终端构造的第二URL修改为http://C1www.cp1.com/news/a.html,则C1www.cp1.com与www.cp1.com属于同级域名。在步骤315中,用户终端向选择的缓存节点发送的业务请求中携带该第二URL,在步骤318中接收到的头域指示中携带的domain=*.cp1.com即可满足用户终端对安全的需求。\n[0140] 除上述头域指示外,缓存节点在返回给用户终端的2000K响应消息中携带的消息体还可以包括用户终端请求的内容,至此,用户终端获取了请求的内容,同时获取了后续再次访问原始域名及其子域名时携带的cookie信息。\n[0141] 另一方面,如果在头域指示中没有携带cookie信息应用的域名,用户终端可以默认为针对原始域名。头域指示中携带的cookie应用的域名可以为原始域名、原始域名的父域名或原始域名的子域名,如上述方式一和二的描述,具体可以通过头域指示中携带的域名内容体现。\n[0142] 步骤319:用户终端访问原始域名的另一URL对应的内容时,例如,http://www.cp1.com/news/b.html,经过上述类似步骤301-314,用户终端获取缓存节点的地址信息(假设CDN路由设备选择的缓存节点为C2),向缓存节点发送业务请求,所述业务请求携带包含所述C2标识的URL(http://C2.www.cp1.com/news/b.html),此时,由于该URL对应的域名为所述原始域名的子域名,则用户终端会在所述业务请求中携带前述步骤中获取的cookie信息。\n[0143] 本发明实施例提供了一种内容分发网络路由方法,CDN路由设备接收用户终端发送的携带第一URL的第一业务请求,构造的发送给用户中的第二URL中包括为用户终端选择的缓存节点的标识,且第二URL对应的域名为所述原始域名的子域名或同级域名,用户终端从所述缓存节点中获取携带cookie信息的头域指示,从而使得该用户终端在后续访问原始域名的其他内容时可以携带该cookie信息,从而使得网络侧可以对该用户终端进行鉴权及用户登录信息的管理。\n[0144] 进一步的,头域指示中还携带所述cookie信息应用的域名,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或原始域名的子域名。从而使得用户终端在后续访问原始域名、原始域名的父域名或子域名对应的内容时,也可以携带对应的cookie信息,从而使得网络侧可以对该用户终端进行鉴权及用户登录信息的管理。\n[0145] 对于比较大的CDN网络,CDN路由设备可以分为多层,为了简化描述本发明实施例以两层为例进行说明,其中上层的CDN路由设备负责选择下层的CDN路由设备,底层的CDN路由设备负责完成业务路由,从CDN中选择最合适的缓存缓存节点为终端提供内容交付服务,实际中一般下层的CDN路由设备会部署多个,分别负责不同的区域。本发明实施例中,上层的CDN路由设备记为Service Router H1,下层的CDN路由设备记为Service Router L1,Service Router L2(本发明实施例以1个上层CDN路由设备和至少1个下层CDN路由设备为例进行说明)。\n[0146] 上层CDN路由设备接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0147] 所述上层CDN路由设备向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括下层CDN路由设备标识;\n[0148] 所述上层CDN路由设备接收用户终端发起的域名系统DNS请求,所述DNS请求中携带所述第三URL对应的域名;\n[0149] 所述上层CDN路由设备根据所述第三URL对应的域名中包括下层CDN路由设备标识向所述用户终端返回所述下层CDN路由设备的地址信息;\n[0150] 所述下层CDN路由设备接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0151] 所述缓存节点接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0152] 在具体的应用场景中,多层CDN路由设备的路由方式,如图4所示,为本发明实施例提供的另一种内容分发网络路由方法流程示意图,包含以下步骤:\n[0153] 步骤401-步骤407与步骤310-步骤307相似,在此不在赘述。需要说明的是,本发明实施例中的上层CDN路由设备对应上一实施例中的CDN路由设备。\n[0154] 步骤408:上层的CDN路由设备接收所述用户终端发送的业务请求,所述业务请求携带第一URL,所述上层的CDN路由设备根据所述用户终端的地址信息为所述用户终端分配负责该区域的下层CDN路由设备,并根据分配的下层CDN路由设备构造包含所述下层CDN路由设备标识的第三URL,将所述第三URL返回给用户终端;\n[0155] 例如,Service Router H1根据用户终端的地址为用户终端分配Service Router L1,所述Service Router L1的标识为L1,Service Router H1构造的第三URL的格式可以为:http://L1.www.cp1.com/news/a.html。\n[0156] 步骤409-步骤414与步骤309-314相似,均为获得第三URL对应的域名的地址信息,区别在于上一实施例步骤314获取的是CDN路由设备为用户终端选择的缓存节点的地址信息,本实施例中步骤414获取的是上层CDN路由设备为用户终端选择的下层CDN路由设备的地址信息。\n[0157] 步骤415:用户终端获取下层CDN路由设备的地址信息,向所述下层CDN路由设备发送业务请求,所述业务请求中携带第三URL。\n[0158] 步骤416:所述下层CDN路由设备接收所述用户终端发送的业务请求,根据所述用户终端的地址信息和请求的内容为所述用户终端选择缓存节点,根据所选择的缓存节点构建包含所述缓存节点标识的第二URL,并将所述包含缓存节点标识的第二URL携带在重定向响应消息中返回给用户终端。\n[0159] 例如,C1为所述下层CDN路由设备为所述用户终端选择的缓存节点标识,则构建的第二URL格式可以为http://C1.www.cp1.com/news/a.html\n[0160] 需要说明的是,与步骤308类似,在步骤416中,用户终端获得包含缓存节点标识的URL。步骤416之后的步骤可以参考上一实施例步骤308之后的执行方式,本发明在此不再赘述。\n[0161] 需要说明的是,在本发明实施例中,由Service router H1完成第一次的重定向处理,考虑到在实际应用中Service router H1可能是整个CDN业务的入口,因此需要降低其业务负载,因此可以将重定向的处理分散到下层的Service router上。本发明实施例提供的另一种内容分发网络CDN路由方法,包括:\n[0162] 第一下层CDN路由设备接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0163] 所述第一下层CDN路由设备向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括第二下层CDN路由设备标识;\n[0164] 上层CDN路由设备接收用户终端发起的DNS请求,所述DNS请求中携带所述第三URL对应的域名,所述上层CDN路由设备根据所述第三URL对应的域名中包括的第二下层CDN路由设备标识向所述用户终端返回所述第二下层CDN路由设备的地址信息;\n[0165] 所述第二下层CDN路由设备接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述第二下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0166] 所述缓存节点接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0167] 在具体的应用场景中,重定向路由由下层CDN路由设备完成,如图5所示,为本发明实施例提供的另一种内容分发网络路由方法流程示意图,\n[0168] 步骤501-506与步骤401-406相似,唯一区别在于,步骤505,506中返回给用户终端的地址信息为第一下层CDN路由设备的地址信息。所述第一下层CDN路由设备为上层CDN路由设备根据本地DNS的地址信息和下层CDN路由设备的负载信息选择的;\n[0169] 步骤507:用户终端向第一下层CDN路由设备发送业务请求,携带第一URL;\n[0170] 步骤508:第一下层CDN路由设备收到用户终端发起的业务请求后,根据用户终端的位置信息将该用户终端重定向到负责对应服务区域的第二下层CDN路由设备上,第一下层CDN路由设备构造包含第二下层CDN路由设备标识的第三URL,将所述第三URL返回给用户终端。例如,所述第二下层CDN路由设备的标识为L2,第一下层CDN路由设备构造的第三URL的格式可以为:http://L2.www.cp1.com/news/a.html。\n[0171] 步骤509之后的执行方式与步骤409之后的执行方式一致,本发明实施例不再赘述。\n[0172] 需要说明的是,为描述方便,在本发明所有实施例中,将用户终端请求的原始URL定义为第一URL,将CDN路由设备构造的包含为用户终端选择的缓存节点标识的URL定义为第二URL,将包含为用户终端选择的下层CDN路由设备标识的URL定义为第三URL。\n[0173] 需要说明的是,在本发明实施例中,可以执行多次重定向路由,最终找到最合适的缓存节点。\n[0174] 在图4和图5对应的实施例中,域名、URL、cookie头域等内容的构造方式均可以采用图3对应的实施例中的方式。\n[0175] 需要注意的是本实施例图中CDN路由设备可以分为多层,即第一下层CDN路由设备和第二下层CDN路由设备可以分属于同一个CDN中不同层次的CDN路由设备,也可以是从属于不同的CDN。基于同样的机制多个独立的CDN系统可以联合工作,即此时上层CDN路由设备、第一下层CDN路由设备和第二下层CDN路由设备可以是多个互通CDN系统的路由设备。\n[0176] 跟前述方法实施例相对于,本发明实施例还提供了一种CDN路由系统和用户终端。\n[0177] 如图6所示,为本发明实施例提供的一种内容分发网络CDN路由系统,包括CDN路由设备601、缓存节点602,\n[0178] 所述CDN路由设备601,用于接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0179] 所述CDN路由设备601,还用于向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0180] 所述缓存节点602,用于接收用户终端发送的第二业务请求,所述第二业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0181] 所述缓存节点602,还用于在接收用户终端发送的第二业务请求之后,向源服务器发送第三业务请求,接收所述源服务器返回的cookie头域,所述cookie头域包括所述用户终端访问所述原始域名时需要提供的cookie信息。\n[0182] 所述缓存节点602,还用于在向源服务器发送第三业务请求之前,确定本地是否缓存有所述原始URL对应的内容,如果是,则在发送给源服务器的第三业务请求中携带头域指示,用于指示源服务器向所述缓存节点返回为所述用户终端设置的cookie头域,无需返回所述原始URL对应的内容。\n[0183] 当所述源服务器返回的cookie头域不包括所述cookie信息应用的域名时,所述缓存节点602,还用于将所述cookie信息应用的域名添加到发送给用户终端的头域指示中,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或所述原始域名的子域名。\n[0184] 所述CDN路由设备601,还用于将为所述用户终端选择的缓存节点的地址信息发送给所述用户终端。\n[0185] 进一步的,所述系统还包括本地域名系统DNS603和内容提供商CP授权DNS604。\n[0186] 所述本地DNS603,用于接收用户终端发送的第一DNS请求,并将所述第一DNS请求转发给CP授权DNS,所述第一DNS请求携带所述第二URL对应的域名;\n[0187] 所述CP授权DNS604根据签约信息确定所述第二URL对应的域名提供的内容需要由CDN提供加速,将所述第一DNS请求重定向到CDN中;\n[0188] 所述本地DNS603,还用于向所述CDN路由设备601发起第二DNS请求,携带所述第二URL对应的域名;\n[0189] 所述CDN路由设备601,具体用于根据所述第二URL对应的域名中包括的缓存节点的标识通过本地DNS向用户终端返回所述缓存节点的地址信息。\n[0190] 所述CP授权DNS604,具体用于通过向本地DNS返回域名服务器域名服务器NS记录的方式将DNS请求重定向到CDN中;或者,\n[0191] 所述CP授权DNS604,具体用于通过向本地DNS返回CNAME的方式将DNS请求重定向到CDN中。\n[0192] 所述缓存节点602,还用于在接收用户终端发送的第二业务请求之后,去除所述第二URL中的缓存节点的标识,将所述第二URL还原为原始URL。\n[0193] 所述CDN路由设备601,还用于根据所述原始URL确定所述用户终端请求的内容,根据所述用户终端的地址信息、请求的内容以及CDN路由规则为所述用户终端选择缓存节点。\n[0194] 如图7所示,与图4对应的方法实施例相对应,本发明实施例还提供了一种内容分发网络CDN路由系统,包括:上层CDN路由设备701,下层CDN路由设备702和缓存节点703,[0195] 所述上层CDN路由设备701,用于接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0196] 所述上层CDN路由设备701,还用于向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括下层CDN路由设备标识;\n[0197] 所述上层CDN路由设备701,还用于接收用户终端发起的域名系统DNS请求,所述DNS请求中携带所述第三URL对应的域名;\n[0198] 所述上层CDN路由设备701,还用于根据所述第三URL对应的域名中包括的下层CDN路由设备标识向所述用户终端返回所述下层CDN路由设备的地址信息;\n[0199] 所述下层CDN路由设备702,用于接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0200] 所述缓存节点703,用于接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0201] 如图8所示,与图5对应的方法实施例相对应,本发明实施例还提供了一种内容分发网络CDN路由系统,包括上层CDN路由设备801、第一下层CDN路由设备802、第二下层CDN路由设备803和缓存节点804,\n[0202] 第一下层CDN路由设备802,用于接收用户终端发送的第一业务请求,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0203] 所述第一下层CDN路由设备802,还用于向所述用户终端返回重定向响应消息,所述重定向响应消息携带第三URL,所述第三URL对应的域名中包括第二下层CDN路由设备标识;\n[0204] 所述上层CDN路由设备801,用于接收用户终端发起的域名系统DNS请求,所述DNS请求中携带所述第三URL对应的域名,根据所述第三URL对应的域名中包括的第二下层CDN路由设备标识向所述用户终端返回所述第二下层CDN路由设备的地址信息;\n[0205] 所述第二下层CDN路由设备803,用于接收用户终端发送的第二业务请求,所述第二业务请求携带所述第三URL,向所述用户终端返回重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述第二下层CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0206] 所述缓存节点804,用于接收用户终端发送的第三业务请求,所述第三业务请求携带所述第二URL,向所述用户终端返回头域指示,所述头域指示中携带cookie信息。\n[0207] 如图9所示,为本发明实施例提供的一种用户终端,包括:\n[0208] 发送单元901,用于发送第一业务请求给内容分发网络CDN路由设备,所述第一业务请求携带第一统一资源定位符URL,所述第一URL为用户终端请求的原始URL,所述第一URL对应的域名为所述用户终端请求的原始域名;\n[0209] 接收单元902,用于接收所述CDN路由设备返回的重定向响应消息,所述重定向响应消息携带第二URL,所述第二URL对应的域名中包括所述CDN路由设备为所述用户终端选择的缓存节点的标识,所述第二URL对应的域名为所述原始域名的子域名或同级域名;\n[0210] 所述发送单元901,还用于向所述选择的缓存节点发送第二业务请求,所述第二业务请求携带所述第二URL;\n[0211] 所述接收单元902,还用于接收所述缓存节点返回的头域指示,所述头域指示中携带cookie信息。\n[0212] 所述接收单元902,还用于从所述CDN路由设备获取所述缓存节点的地址信息。\n[0213] 所述发送单元901,还用于在所述接收单元902接收到所述缓存节点返回的头域指示之后,发起第三业务请求,当第三业务请求请求的内容为所述原始域名、所述原始域名的父域名或原始域名的子域名对应的内容时,所述第三业务请求中携带所述cookie信息。\n[0214] 本发明实施例提供了一种内容分发网络路由系统和用户终端,CDN路由设备接收用户终端发送的携带第一URL的第一业务请求,构造的发送给用户中的第二URL中包括为用户终端选择的缓存节点的标识,且第二URL对应的域名为所述原始域名的子域名或同级域名,用户终端从所述缓存节点中获取携带cookie信息的头域指示,从而使得该用户终端在后续访问原始域名的其他内容时可以携带该cookie信息,从而使得网络侧可以对该用户终端进行鉴权及用户登录信息的管理。\n[0215] 进一步的,头域指示中还携带所述cookie信息应用的域名,所述cookie信息应用的域名为所述原始域名、所述原始域名的父域名或原始域名的子域名。从而使得用户终端在后续访问原始域名、原始域名的父域名或子域名对应的内容时,也可以携带对应的cookie信息,从而使得网络侧可以对该用户终端进行鉴权及用户登录信息的管理。\n[0216] 本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。\n[0217] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
法律信息
- 2013-10-02
- 2012-11-07
实质审查的生效
IPC(主分类): H04L 29/12
专利申请号: 201180003162.5
申请日: 2011.12.02
- 2012-09-12
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |