Ip地址的定位方法和cdn调度方法以及装置制造方法

文档序号:7811549阅读:345来源:国知局
Ip地址的定位方法和cdn调度方法以及装置制造方法
【专利摘要】本发明提出一种IP地址定位方法和CDN调度方法以及装置,该IP地址定位方法包括获取与目标IP地址关联的IP地址,所述关联的IP地址是至少一个,所述关联的IP地址的地理位置信息是已知的;根据预先设置的所述关联的IP地址对应的参数,以及所述关联的IP地址的地理位置信息,计算所述目标IP地址对应已知地理位置信息的置信度数值;根据所述置信度数值,确定所述目标IP地址的地理位置信息。该IP地址定位方法能够提高IP地址定位的覆盖率。
【专利说明】IP地址的定位方法和CDN调度方法以及装置

【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种IP地址的定位方法和⑶N调度方法以及
>J-U ρ?α装直。

【背景技术】
[0002]互联网(Internet Protocol, IP)地址的地理位置信息对于基于位置服务的网络运营效果至关重要。相关技术中,IP地址的地理位置信息主要来源于公开的IP库,IP地址分配机构官方数据和用户反馈。但是,该方式存在覆盖率不全面的问题。


【发明内容】

[0003]本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0004]为此,本发明的一个目的在于提出一种IP地址定位方法,该方法可以提高IP地址定位的覆盖率。
[0005]本发明的另一个目的在于提出一种CDN调度方法,该方法可以为用户选择更合适的CDN节点。
[0006]本发明的另一个目的在于提出一种IP地址定位装置。
[0007]本发明的另一个目的在于提出一种⑶N调度装置。
[0008]为达到上述目的,本发明第一方面实施例提出的IP地址定位方法,包括:获取与目标IP地址关联的IP地址,所述关联的IP地址是至少一个,所述关联的IP地址的地理位置信息是已知的;根据预先设置的所述关联的IP地址对应的参数,以及所述关联的IP地址的地理位置信息,计算所述目标IP地址对应已知地理位置信息的置信度数值;根据所述置信度数值,确定所述目标IP地址的地理位置信息。
[0009]本发明第一方面实施例提出的IP地址定位方法,通过根据关联IP地址的信息确定目标IP地址的地理位置信息,可以对未知地理位置的IP地址进行定位,因此可以提高覆盖范围。
[0010]为达到上述目的,本发明第二方面实施例提出的IP地址定位装置,包括:获取模块,用于获取与目标IP地址关联的IP地址,所述关联的IP地址是至少一个,所述关联的IP地址的地理位置信息是已知的;计算模块,用于根据预先设置的所述关联的IP地址对应的参数,以及所述关联的IP地址的地理位置信息,计算所述目标IP地址对应已知地理位置信息的置信度数值;确定模块,用于根据所述置信度数值,确定所述目标IP地址的地理位置信息。
[0011]本发明第二方面实施例提出的IP地址定位装置,通过根据关联IP地址的信息确定目标IP地址的地理位置信息,可以对未知地理位置的IP地址进行定位,因此可以提高覆盖范围。
[0012]为达到上述目的,本发明第三方面实施例提出的⑶N调度方法,包括:接收请求调度的节点发送的CDN调度请求,所述CDN调度请求中包含所述请求调度的节点的IP地址;从预先建立的IP定位数据库中获取与所述IP地址对应的地理位置信息,以及获取所述请求调度的节点与CDN节点之间的网络质量信息;根据所述地理位置信息和所述网络质量信息,确定被调度的CDN节点;其中,所述地理位置信息是采用如本发明第一方面实施例任一项所述的方法,对所述IP地址进行定位后得到并保存到所述IP定位数据库中的。
[0013]本发明第三方面实施例提出的⑶N调度方法,通过在⑶N调度时不仅根据地理位置信息还根据网络质量信息,可以为用户选择更合适的CDN节点,从而提高服务质量,提升用户体验。
[0014]为达到上述目的,本发明第四方面实施例提出的⑶N调度装置,包括:接收模块,用于接收请求调度的节点发送的CDN调度请求,所述CDN调度请求中包含所述请求调度的节点的IP地址;获取模块,用于从预先建立的IP定位数据库中获取与所述IP地址对应的地理位置信息,以及获取所述请求调度的节点与CDN节点之间的网络质量信息;确定模块,用于根据所述地理位置信息和所述网络质量信息,确定被调度的CDN节点;其中,所述地理位置信息是采用如本发明第一方面实施例任一项所述的方法,对所述IP地址进行定位后得到并保存到所述IP定位数据库中的。
[0015]本发明第四方面实施例提出的⑶N调度装置,通过在⑶N调度时不仅根据地理位置信息还根据网络质量信息,可以为用户选择更合适的CDN节点,从而提高服务质量,提升用户体验。
[0016]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

【专利附图】

【附图说明】
[0017]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0018]图1是本发明一实施例提出的IP地址定位方法的流程示意图;
[0019]图2是本发明另一实施例提出的IP地址定位方法的流程示意图;
[0020]图3是本发明另一实施例提出的CDN调度方法的流程示意图;
[0021]图4是本发明实施例中S33的具体实现流程示意图;
[0022]图5是本发明另一实施例提出的CDN调度方法的流程示意图;
[0023]图6是本发明另一实施例提出的数据处理方法的流程示意图;
[0024]图7是图6对应的系统结构示意图;
[0025]图8是本发明实施例中收集数据的一种流程示意图;
[0026]图9是本发明实施例中收集数据的另一种流程示意图;
[0027]图10是本发明另一实施例提出的IP地址定位装置的结构示意图;
[0028]图11是本发明另一实施例提出的IP地址定位装置的结构示意图;
[0029]图12是本发明另一实施例提出的⑶N调度装置的结构示意图;
[0030]图13是本发明另一实施例提出的⑶N调度装置的结构示意图。

【具体实施方式】
[0031]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0032]图1是本发明一实施例提出的IP地址定位方法的流程示意图,该方法包括:
[0033]Sll:获取与目标IP地址关联的IP地址,所述关联的IP地址是至少一个,所述关联的IP地址的地理位置信息是已知的。
[0034]其中,目标IP地址是要定位的IP地址。
[0035]与目标IP地址关联的IP地址可以包括:目标IP地址的本地域名系统(DomainName System,DNS) (local DNS)的 IP 地址,目标 IP 地址的网关(gateway,Gff)的 IP 地址。
[0036]可以从预先建立的数据库中,根据所述数据库中保存的目标IP地址与关联的IP地址的对应关系,获取与目标IP地址关联的IP地址。
[0037]具体的,数据库可以包括:本地DNS数据库,本地DNS数据库中保存目标IP地址与本地DNS的IP地址的对应关系,因此,根据该对应关系可以获取与目标IP地址对应的本地DNS的IP地址。
[0038]数据库还可以包括:网关数据库,网关数据库中保存目标IP地址与网关的IP地址的对应关系,因此,根据该对应关系可以获取与目标IP地址对应的网关的IP地址。
[0039]进一步的,数据库中的对应关系可以是预先建立的。
[0040]具体的,对应本地DNS数据库,该本地DNS数据库中保存的目标IP地址与本地DNS的IP地址的对应关系可以是从域名服务商(Name Server,NS)中获取的,NS可以采用如下方式建立目标IP地址与本地DNS的IP地址的对应关系:
[0041]接收所述本地DNS发送的域名解析请求,所述域名解析请求中包含所述本地DNS的IP地址和要解析的域名,所述要解析的域名中包含所述目标IP地址,所述要解析的域名是所述目标IP地址对应的终端发起网页访问后被重定向后的域名;
[0042]从所述域名解析请求中获取所述本地DNS的IP地址和所述目标IP地址,并建立所述目标IP地址与所述本地DNS的IP地址的对应关系。
[0043]对应网关数据库,该网关数据库中保存的目标IP地址与网关的IP地址的对应关系可以采用网络拓扑发现工具获取,采用网络拓扑发现工具获取目标IP地址与网关的IP地址的对应关系可以包括:
[0044]采用网络拓扑工具获取从已知地理位置信息的网络地标到所述目标IP地址对应的终端的路径;
[0045]根据所述路径确定所述目标IP的上一跳节点,并获取所述上一跳节点的IP地址作为所述网关的IP地址;
[0046]建立所述目标IP地址与所述网关的IP地址的对应关系。
[0047]具体的获取上述对应关系的内容可以参见后续数据收集的实施例。
[0048]S12:根据预先设置的所述关联的IP地址对应的参数,以及所述关联的IP地址的地理位置信息,计算所述目标IP地址对应已知地理位置信息的置信度数值。
[0049]具体的,可以包括:
[0050]对应所述关联的IP地址,根据预先设置的所述关联的IP地址对应的参数,计算所述目标IP地址与所述关联的IP地址具有相同地理位置信息的概率;
[0051]对应所述已知地理位置信息,确定具有所述地理位置信息的关联的IP地址,并根据所述确定的关联的IP地址对应的所述概率,计算所述目标IP地址对应所述地理位置信息的置信度数值。
[0052]其中,预先设置的参数可以包括:根据关联的IP地址的地理位置信息计算目标IP地址的可信度权重,以及,根据关联的IP地址的地理位置信息计算目标IP地址的地理位置信息时的概率。
[0053]具体的,目标IP地址与所述关联的IP地址具有相同地理位置信息的概率可以表示为:WM*P (Z,Μ),其中,Wm是M渠道的可信度权重,P (Ζ,Μ)是通过M渠道给出的目标IP的地理位置信息是Z的概率,M渠道是指通过关联的IP地址M的地理位置信息对目标IP地址进行定位。
[0054]例如,如果关联的IP地址包括:本地DNS的IP地址和网关的IP地址,假设目标IP地址是119.46.243.6,确定出目标IP地址的本地DNS的IP地址是119.46.240.3,确定出目标IP地址的网关的IP地址是203.144.143.136。
[0055]假设根据本地DNS的IP地址对目标IP地址进行定位的模块称为本地DNS发现模块,根据网关的IP地址对目标IP地址进行定位的模块称为网关发现模块。预先设置本地DNS发现模块的可信度权重Wm是0.5,以及,目标IP地址的地理位置信息与本地DNS的IP地址的地理位置信息相同的概率P (本地DNS的地理位置信息,DNS-module)是0.4,则通过本地DNS发现模块确定的目标IP地址的地理位置信息是本地DNS的地理位置信息的概率=0.5*0.4 = 0.2。
[0056]类似的,预先设置网关发现模块的可信度权重Wm是0.6,以及,目标IP地址的地理位置信息与网关的地理位置信息相同的概率P(网关的地理位置信息,Gff-module)是0.8,则通过网关发现模块确定的目标IP地址的地理位置信息是网关的地理位置信息的概率=0.6*0.8 = 0.48。
[0057]在确定出上述的概率后,可以将同一个地理位置信息对应的每个模块算出的概率相加后作为该地理位置信息对应的置信度数值。
[0058]例如,本地DNS的IP地址的地理位置信息是泰国曼谷,网关的IP地址的地理位置信息也是泰国曼谷,则对应泰国曼谷,具有该地理位置信息的关联的IP地址包括:本地DNS的IP地址和网关的IP地址,又根据上一步骤,可以确定本地DNS的IP地址对应的概率是
0.2,网关的IP地址对应的概率是0.48,则可以将其相加后作为置信度数值,S卩,目标IP地址的地理位置信息是泰国曼谷的置信度数值是:0.2+0.48 = 0.68。
[0059]S13:根据所述置信度数值,确定所述目标IP地址的地理位置信息。
[0060]其中,可以将置信度数值最高时所对应的地理位置信息,确定为所述目标IP地址的地理位置信息。
[0061]具体的,当关联的IP地址还存在其他的地理位置信息时,可以采用上一步骤的方式确定出目标IP地址是其他的地理位置信息的置信度数值,之后将置信度数值最高的地理位置信息作为目标IP地址的地理位置信息。例如,目标IP地址的地理位置信息是泰国曼谷的置信度数值是0.68,目标IP地址的地理位置信息是中国北京的置信度数值是0.1,则最终可以确定出目标IP地址的地理位置信息是泰国曼谷。
[0062]本实施例以本地DNS发现模块和网关发现模块进行概率计算为例,可以理解的是,参见图2,还可以包括其他模块进行概率计算。如图2所示,该IP定位方法包括:
[0063]S21:确定要定位的目标IP地址;
[0064]S22:由本地DNS发现模块,网关发现模块以及其他模块进行概率计算;S23:根据概率计算目标IP地址对应每个已知地理位置信息的置信度数值;已知地理位置信息是指目标IP地址的关联IP地址的地理位置信息,如本地DNS的IP地址的地理位置信息,网关的IP地址的地理位置信息。
[0065]具体的计算概率以及置信度数值的方式可以参见上述描述,在此不再赘述。
[0066]S24:确定置信度数值最高的地理位置信息为目标IP地址的地理位置信息。
[0067]本实施例通过根据关联IP地址的信息确定目标IP地址的地理位置信息,可以对未知地理位置的IP地址进行定位,因此可以提高覆盖范围。进一步的,本实施例的定位精度可以与关联IP地址的地理位置信息精度一致,当关联IP地址的地理位置信息的精度可以到城市时,本实施例的定位精度也可以到城市,因此,可以提闻定位精度;另外,本实施例中的关联IP地址的地理位置信息是已知的,采用已知信息进行定位时可以提高定位准确度。
[0068]相关技术中,内容分发网络(Content Delivery Network,Q)N)调度时可以基于地理位置信息进行调度,即将用户调度到物理距离最近的⑶N节点。但是,由于受到网络环境的影响,物理距离最近不一定网络质量最好,也就不能为用户提供更好的服务。为此,本发明还提供了如下实施例。
[0069]图3是本发明另一实施例提出的CDN调度方法的流程示意图,该方法包括:
[0070]S31:接收请求调度的节点发送的⑶N调度请求,所述⑶N调度请求中包含所述请求调度的节点的IP地址。
[0071]其中,请求调度的节点可以具体是本地DNS节点。
[0072]S32:从预先建立的IP定位数据库中获取与所述IP地址对应的地理位置信息,以及获取所述请求调度的节点与CDN节点之间的网络质量信息。
[0073]可以从预先建立的IP定位数据库中获取请求调度的节点的地理位置信息,IP定位数据库中保存IP地址与地理位置信息的对应关系。
[0074]IP地址对应的地理位置信息可以是采用上述实施例的IP定位方式确定的,或者,也可以采用其他方式,如公开IP库,IP地址分配机构官方数据或用户反馈等方式确定的。
[0075]可以从预先建立的网络质量数据库中获取请求调度的节点与CDN节点之间的网络质量信息,网络质量信息可以包括:下载速度和/或网络延时。
[0076]⑶N节点可以是指可调用的每个⑶N节点。
[0077]其中,网络质量数据库中可以保存IP地址及该IP地址对应的终端与⑶N节点之间的网络质量信息,此时,可以根据请求调度的节点的IP地址确定对应的网络质量信息;或者,网络质量数据库中可以保存集群及集群与CDN节点之间的网络质量信息,此时,可以根据请求调度的节点的IP确定该节点所属的集群,再根据集群与网络质量信息的对应关系获取相应的网络质量信息。
[0078]网络质量信息可以采用如下方式获取并保存在网络质量数据库中:
[0079]收集用户IP地址与本地DNS的IP地址的对应关系,以及所述用户IP地址与所述CDN节点之间的网络质量信息;
[0080]根据所述对应关系进行聚类处理,得到本地DNS的IP地址与所述⑶N节点之间的网络质量信息,以及所述本地DNS属于的本地DNS集群;
[0081]根据本地DNS集群下包括的本地DNS对应的网络质量信息,计算本地DNS集群与所述CDN节点之间的网络质量信息;
[0082]将所述用户IP地址与所述⑶N节点之间的网络质量信息,以及所述本地DNS集群与所述CDN节点之间的网络质量信息,保存在所述网络质量数据库中。
[0083]进一步的,所述收集用户IP地址与⑶N节点之间的网络质量信息,包括:
[0084]如果所述网络质量信息是下载速度,在收集所述用户IP地址与本地DNS的IP地址的对应关系过程中,收集所述用户IP地址与所述CDN节点之间的下载速度;和/或,
[0085]如果所述网络质量信息是网络延时,在收集所述用户IP地址与网关的IP地址的对应关系过程中,收集所述用户IP地址与所述CDN节点之间的网络延时。
[0086]S33:根据所述地理位置信息和所述网络质量信息,确定被调度的⑶N节点。
[0087]具体的,参见图4,S33可以具体包括:
[0088]S41:判断是否存在与所述IP地址对应的所述网络质量信息。
[0089]例如,在网络质量数据库中根据该IP地址查找,判断是否查找到对应的网络质量信息;或者,先确定IP地址所属的集群,再判断在网络质量数据中是否查找与该集群对应的网络质量信息。
[0090]S42:如果存在,根据所述网络质量信息,确定被调度的⑶N节点。
[0091]例如,根据IP地址找到对应的网络质量信息后,可以将网络延时最小和/或下载速度最快的CDN节点确定为被调度的CDN节点。具体的选择网络延时最小或者下载速度最快可以根据具体业务进行设置。
[0092]S43:如果不存在,获取所述⑶N节点的地理位置信息,根据所述请求调度的节点的地理位置信息和所述⑶N节点的地理位置信息,确定被调度的⑶N节点。
[0093]其中,可以在IP定位数据库中找到IP地址对应的地理位置信息,也就是请求调度的节点的地理位置信息,之后可以将与请求调度的节点物理距离最近的CDN节点确定为被调度的⑶N节点。
[0094]进一步的,在确定出被调度的CDN节点后,可以根据由该被调度的CDN节点提供服务。
[0095]具体的,参见图5,给出了一个具体的CDN调度的流程,本实施例以请求调度的节点是本地DNS为例,该方法包括:
[0096]S51:终端发送域名解析请求给本地DNS。
[0097]其中,假设用户要访问http://www.a.com/b.jpR,则终端可以在域名解析请求中携带域名http://www.a.com,以请求对应的IP地址。
[0098]S52:本地DNS向NS发送携带域名的域名解析请求。
[0099]例如,请求http://www.a.com对应的IP地址。
[0100]S53:NS向本地DNS发送域名的别名。
[0101]例如,返.回 http: //www.a.cdn.com。
[0102]S54:本地DNS向CDN调度系统发送携带别名的域名解析请求,请求解析别名的IP地址。
[0103]例如,请求解析 http://www.a.cdn.com 的 IP 地址。
[0104]S55 ADN调度系统确定被调度的⑶N节点的IP地址,并将该IP地址发送给本地DNS。
[0105]其中,本地DNS向⑶N调度系统发送的请求中包含本地DNS的IP地址,之后根据该IP地址可以获取地理位置信息和网络质量信息,再根据地理位置信息和网络质量信息确定被调度的CDN节点,具体流程可以参见上述实施例。
[0106]假设⑶N调度系统确定的被调度⑶N节点的IP地址是5.5.5.5,则⑶N调度系统将该IP地址发送给本地DNS。
[0107]S56:本地DNS将该IP地址发送给终端。
[0108]例如,将5.5.5.5发送给终端。
[0109]S57:终端向该IP地址对应的⑶N节点发送资源获取请求。
[0110]假设5.5.5.5对应的⑶N节点是泰国⑶N节点,则终点向泰国⑶N节点发送资源获取请求 http://5.5.5.5/b.jpR,以请求 b.jpg。
[0111]S58:被调度的⑶N节点从源站获取资源后发送给终端。
[0112]例如,泰国⑶N节点从保存b.jpg的源站获取b.jpg后,将b.jpg发送给终端。
[0113]本实施例通过在⑶N调度时不仅根据地理位置信息还根据网络质量信息,可以为用户选择更合适的CDN节点,从而提高服务质量,提升用户体验。
[0114]上述实施例分别描述了 IP地址定位和CDN调度流程,在实际实施时,可以将两者结合,预先收集可以用于IP地址定位和CDN调度的数据,之后具体实施例时,如果要进行IP地址定位,则选择用于IP地址定位的数据,在⑶N调度时选择用于⑶N调度的数据。具体内容可以参见下述实施例。
[0115]图6是本发明另一实施例提出的数据处理方法的流程示意图,该方法包括:
[0116]S61:收集数据,该数据包括:用于IP地址定位的数据,和,用于⑶N调度的数据。
[0117]其中,用于IP地址定位的数据包括:与用户IP地址(clientlp)对应的本地DNS的IP地址,和,与用户IP地址对应的网关的IP地址。可以理解的是,本实施例以这两种IP地址为例,在实际实施时还可以收集与用户IP地址关联的其他设备的IP地址。
[0118]用于⑶N调度的数据包括:用户IP地址与⑶N节点之间的下载速度,用户IP地址与⑶N节点之间的网络延时。
[0119]参见图7,为该本实施例方法对应的系统结构图,该系统包括数据收集模块71、数据分析和更新模块72和数据查询模块73。
[0120]可以采用数据收集模块71进行该步骤的数据收集,数据收集模块71可以包括本地DNS收集模块711、网关收集模块712、网络延时收集模块713和下载速度收集模块714。
[0121]本地DNS收集模块711用于收集用户IP地址与本地DNS的IP地址的对应关系,网关收集模块712用于收集用户IP地址与网关的IP地址的对应关系,网络延时收集模块713用于收集用户IP地址与CDN节点之间的网络延时,下载速度收集模块714用于收集用户IP地址对与⑶N节点之间的下载速度。
[0122]在具体实施例时,用户IP地址与本地DNS的IP地址的对应关系以及用户IP地址与CDN节点之间的下载速度可以在一个过程中获取;用户IP地址与网关的IP地址的对应关系和用户IP地址与CDN节点之间的网络延时可以在一个过程中获取,或者单独获取用户IP地址与⑶N节点之间的网络延时。
[0123]具体的,参见图8,获取用户IP地址与本地DNS的IP地址的对应关系以及下载速度,包括:
[0124]S81:用户IP地址对应的终端向web服务端发送网页访问请求。
[0125]其中,网页访问请求中可以包含要访问的网页的统一资源定位符(UniformResource Locator, URL)地址,例如,URL 地址是:http: //domainname.com/x.jpg0
[0126]S82:web服务端对该网页访问请求进行重定向,并在重定向后的URL中携带该用户IP地址。
[0127]其中,由于网页访问请求的源IP地址是该终端的IP地址,也就是该用户IP地址,因此web服务端可以从网页访问请求中获取用户IP地址,之后,web服务器可以在重定向的域名中包含该用户IP地址。
[0128]例如,用户IP地址用client_ip表示,则重定向后的URL地址可以表示为:http://client ip.domainname.com/x.1pg。
[0129]S83:该终端向本地DNS发送域名解析请求,该域名解析请求中包含重定向后的URL地址中的域名。
[0130]例如,终端发送给本地 DNS 的域名是:http: //client ip.domainname.com。
[0131]S84:本地DNS向NS发送域名解析请求,该域名解析请求中包含重定向后的URL地址中的域名。
[0132]例如,本地 DNS 发送给 NS 的域名是:http: //client ip.domainname.com。
[0133]该NS可以具体是指domainname.com域名的NS。
[0134]由于NS接收的域名解析请求的源IP地址是本地DNS的IP地址,并且该域名解析请求中包含用户IP地址,因此,NS可以从接收的域名解析请求中获取用户IP地址和本地DNS的IP地址,并可以建立用户IP地址与本地DNS的IP地址之间的对应关系。
[0135]至此,NS可以建立用户IP地址与本地DNS的对应关系,之后,本地DNS收集模块可以从NS中获取用户IP地址与本地DNS的对应关系。
[0136]NS可以对域名进行解析获取相应的IP地址。
[0137]具体的,在确定IP地址时,可以采用上述实施例或者相关技术中进行CDN调度时确定CDN节点的方式,确定出被调度的CDN节点,之后将确定被调度的CDN节点的IP地址作为上述解析后的IP地址。
[0138]S85:NS向本地DNS发送解析后的IP地址。
[0139]S86:本地DNS将解析后的IP地址发送给终端。
[0140]S87:终端根据该IP地址,向该IP地址对应的⑶N节点发送下载请求,并获取相应的资源。
[0141]例如,解析后的IP地址是web_server_ip,则终端可以向该IP地址对应的Q)N节点发送http://web server ip/x.jpR,该CDN节点可以根据该下载请求从保存x.jpg的源站获取x.jpg后发送给终端。
[0142]S88:在终端下载过程中,⑶N节点记录下载速度。
[0143]由于CND接收到终端发送的获取资源的请求后,可以从该请求中获取终端的IP地址,也就是用户IP地址,⑶N节点获取下载速度后,可以建立用户IP地址与该⑶N节点之间的下载速度之间的对应关系。
[0144]之后,下载速度收集模块可以从CDN节点获取用户IP地址与该CDN节点之间的下载速度之间的对应关系。
[0145]通过在不同⑶N节点上进行收集,下载速度收集模块可以收集到用户IP地址与相应的CDN节点之间的下载速度的对应关系。
[0146]另一实施例中,参见图9,获取用户IP地址与网关的IP地址的对应关系以及网络延时,包括:
[0147]S91:以已知地理位置的网络地标作为起点,以用户IP地址对应的终端作为终点,采用网络拓扑发现工具获取该起点到该终点之间的路径。
[0148]其中,网络地标可以是服务器或者路由器等,服务端可以具体是CDN节点。
[0149]采用网络拓扑发现工具可以确定从起点到终点之间的中间节点的IP地址,包括用户IP地址的上一跳的IP地址,也就是倒数第二跳的IP地址,该IP地址就是用户IP地址的网关的IP地址。
[0150]网关收集模块可以采用网络拓扑发现工具获取用户IP地址的网关的IP地址,并建立用户IP地址与网关的IP地址之间的对应关系。
[0151]可选的,由于每一跳IP地址对应一个物理地址,因此也可以将网络拓扑转化为物理地址拓扑。
[0152]可选的,采用网络拓扑发现工具还可以获取网络延时,具体的,该方法还可以包括:
[0153]S92:记录从起点到终端的网络延时。
[0154]其中,可以采用三元组方式进行记录,三元组为(startlp, clientlp, Rtt),其中,startlp是起点的IP地址;clientlp是终点的IP地址,也就是用户IP地址;Rtt是从起点到终端之间的网络延时。
[0155]当把起点选择为CDN节点时,网络延时收集模块可以采用网络拓扑发现工具获取⑶N节点与用户IP地址对应的终端之间的网络延时。
[0156]通过在不同⑶N节点上进行收集,网络延时收集模块可以收集到用户IP地址对应的终端与每个CDN节点之间的网络延时的对应关系。
[0157]上述以采用网络拓扑发现工具获取网络延时为例,还可以采用其他方式获取网络延时。例如,采用Ping等耗时较短的网络工具,以已知地理位置的网络地标作为起点,以用户IP地址对应的终端作为终点,获取起点与终点之间的网络延时。具体的,当把起点确定为每个⑶N节点时,则可以确定每个⑶N节点与用户IP地址之间的网络延时。
[0158]实际部署时,可以尽快对目标IP地址进行网络拓扑侦测,因为用户的获得的IP基本上都是由运营商临时分配的,如果时间间隔太久,在对用户IP进行网络延时检测时,可能路由不通,或者是该IP被重新分配给另一个不同用户。
[0159]至此,可以收集到上述数据,在收集到上述数据后可以进行预处理。
[0160]S62:对收集的数据进行处理。
[0161]一方面,通过上述收集,可以获取用户IP地址与本地DNS的IP地址的对应关系以及下载速度,在处理时,可以建立用户IP地址与本地DNS的IP地址的对应关系,以及用户IP地址与每个CDN节点之间的下载速度信息。或者,还可以对该数据进行聚类,得到IP地址与本地DNS的IP地址的对应关系,当存在本地DNS集群时,还得到本地DNS的IP地址与本地DNS集群的对应关系,以及IP地址与每个⑶N节点之间的下载速度,或本地DNS集群与每个CDN节点之间的下载速度。
[0162]聚类可以包括对用户IP地址聚类和本地DNS的IP地址进行聚类。
[0163]假设数据收集过程得到的数据用三元组表示为(localDnsIp, clientlp, speed),其中,1calDnsIp是本地DNS的IP地址,clientlp是用户IP地址,speed是用户IP地址与⑶N节点之间的下载速度。
[0164]用户IP地址聚类是指取clientlp所属的/24C网段,即将clientlp的前24位保持不变,后8位置O,简称为clientlpC ;对应每个clientlpC,计算该clientlpC包括的clientlp对应的speed的平均值,得到speedAvg ;另外,可以计算每个clientlpC包括的clientlp 的个数为 counter,因此,可以建立四兀组(localDnsIp, clientlpC, speedAvg,counter)。
[0165]本地DNS的IP地址与用户IP地址可以是一对多或者多对多的关系,在多对多时可以对本地DNS的IP地址进行聚类。具体的,可以对两两1calDnsIp对应的clientlpC计算Jaccard系数,也就是交集/并集,如果该数值大于或等于预设阈值,预设阈值例如为0.4,就认为是一个本地DNS集群,一个本地DNS集群内的本地DNS可以认为在同一个地理位置。例如,1calDnsIpl对应的clientlpC包括Cl,C2和C3,localDnsIp2对应的clientlpC包括Cl, C2和C4,贝U这两个求Jaccard系数后的值=2/4由于大于预设阈值,可以认为1calDnsIpl和localDnsIp2属于同一个集群。
[0166]在得到集群后,可以对该集群中每个本地DNS对应的下载速度求均值,得到该集群对应的下载速度。
[0167]因此,通过该处理,可以得到IP地址与本地DNS的IP地址的对应关系,当存在本地DNS集群时,还得到本地DNS的IP地址与本地DNS集群的对应关系,以及IP地址与每个CDN节点之间的下载速度,或本地DNS集群与每个CDN节点之间的下载速度。
[0168]另一方面,通过上述收集,可以获取用户IP地址与网关的IP地址的对应关系。
[0169]进一步的,也可以对网关的IP地址进行聚类,聚类类似对本地DNS的处理流程。
[0170]具体的,根据收集的数据建立二元组(gatewaylp, clientlp),其中,gatewaylp是网关的IP地址,clientlp是用户IP地址。
[0171]遍历所有的二元组,确认每个gatewaylp后的clientlp的列表,并聚类出每个clientlp 所属的/24C 网段(称为 clientlpC),可以建立(gatewaylp, clientlpC)的对应关系;
[0172]gatewaylp和clientlp可以是一对多或是多对多的关系,当是多对多关系时,可以对这些gatewaylp后带clientlpC的情况两两求Jaccard系数(交集/并集),如果大于某个常量(根据试验取0.4),就认为是一个网关集群,一个集群内的网关认为是在同一地理位置;
[0173]由此,得到了网关集群的分布情况,并知道每个网关集群后面有哪些用户,建立起了网关IP和终端用户的IP对应关系,根据终端用户的IP,就可以得到它对应的网关。
[0174]需要说明的是,本实施例的IP地址定位和⑶N调度流程时可以根据IP地址与网关的IP地址的对应关系进行处理,不需要采用网关聚类,网关聚类后得到的数据可以应用到其他流程中。
[0175]另一方面,通过上述收集,可以获取IP地址与本地DNS的IP地址的对应关系,IP地址与网关的IP地址的对应关系,因此,可以采用上述实施例描述的IP地址定位方式,根据本地DNS的IP地址和网关的IP地址对要定位的目标IP地址进行定位,得到目标IP地址的地理位置信息。具体的,在IP定位时可以建立计算模型:目标IP地址的地理位置信
max(Z^'i其中,Wm是M渠道的可信度权重,Ρ(Ζ, Μ)是通过M渠道给出
E= 2,
目标IP地址的地理位置信息是Z的概率,以收集本地DNS的IP地址和网关的IP地址为例,M渠道包括:根据本地DNS的IP地址定位和根据网关的IP地址定位,具体内容可以参见上述IP地址定位实施例,在此不再赘述。
[0176]另一方面,收集到IP地址到每个⑶N节点的网络质量信息后,可以建立IP地址与每个CDN节点之间的网络质量信息;或者进行聚类,得到IPC段与每个CDN节点之间的网络质量信息,或者本地DNS集群与每个CDN节点之间的网络质量信息。
[0177]具体的,如果为每个用户IP都建立到各CDN节点网络延时和下载速度信息对应关系,数据将会变得相对庞大,这将对数据的快速查询提出挑战。可以考虑对每个IP所属于的/24IPC网段为基础为建立与各⑶N节点网络延时和下载速度信息对应关系。理论上,最多只需要建立255*255*255 = 1600万个C段即可(实际上没有那么多),查询时,可以将IPC转换为整型,然后采用二分查找法;或是采集内存数据库来存储各个IPC段到各CDN节点网络延时和下载速度信息。
[0178]另外,建立LocalDns集群到各⑶N节点网络延时对应关系类似。根据数据收集模块收集到的数据,可以建立每个LocalDns与属于哪个1calDns集群的关系,每个1calDns集群到到各CDN节点网络延时的关系。
[0179]S63:根据处理后的数据建立相应的数据库。
[0180]参见图7,处理后的数据可以保存在数据分析和更新模块72中,数据分析和更新模块72包括本地DNS数据库721,网关数据库722,IP定位数据库723和网络质量数据库724。
[0181]本地DNS数据库721用于保存IP地址与本地DNS的IP地址的对应关系,本地DNS的IP地址与本地DNS集群的对应关系,通过该本地DNS数据库可以获知一个IP地址属于哪个本地DNS,该本地DNS属于哪个本地DNS集群。
[0182]网关数据库722用于保存IP地址与网关的IP地址的对应关系,通过该网关数据库可以获知一个IP地址属于哪个网关。
[0183]进一步的,网关数据库中还可以保存网关的IP地址与网关集群的对应关系,以确定一个网关属于哪个网关集群。
[0184]IP定位数据库723用于保存IP地址与地理位置信息的对应关系,通过该IP定位数据库可以获知一个IP地址的地理位置信息。
[0185]网络质量数据库724用于保存IP地址到不同⑶N节点的网络质量信息,以及本地DNS集群到不同⑶N节点的网络质量信息。
[0186]或者,如果在上一步骤时对IP地址进行了聚类,也可以在数据库中保存IPC与相应的息的对应关系。
[0187]具体的,上述各数据库中保存的数据可以通过上一步骤的数据处理得到。
[0188]S64:建立与每个数据库对应的查询接口。
[0189]参见图7,查询接口由数据查询模块实现,数据查询模块73包括本地DNS数据库查询接口 731,网关数据库查询接口 732,IP定位数据库查询接口 733和网络质量数据库查询接口 734。
[0190]本地DNS数据库查询接口 731用于查询本地DNS数据库中的数据;
[0191]网关数据库查询接口 732用于查询网关数据库中的数据;
[0192]IP定位数据库查询接口 733用于查询IP定位数据库中的数据;
[0193]网络质量数据库查询接口 734用于查询网络质量数据库中的数据。
[0194]具体的,以IP定位数据库查询接口为例,可以将IP地址转换为整型,然后采用二分查找法在IP定位数据库中查找其对应的地理位置信息;或者,当数据库中保存IPC段的数据时,通过哈希方式实现快速查找。在收集到新的数据后,可以采用定期更新的方式对数据库中的数据进行更新。
[0195]在得到上述系统后,可以根据IP地址定位或⑶N调度选择合适模块进行相应处理。
[0196]具体的,在IP地址定位时,可以通过本地DNS数据库查询接口获取本地DNS数据库中的数据,根据本地DNS数据库中保存的IP地址与本地DNS的IP地址的对应关系,获取与要定位的目标IP地址对应的本地DNS的IP地址;通过网关查询接口获取网关数据库中的数据,根据网关数据库中保存的IP地址与网关的IP地址的对应关系,获取与要定位的目标IP地址对应的网关的IP地址;通过IP定位数据库查询接口获取IP定位数据库中的数据,根据IP定位数据库中保存的IP地址与地理位置信息的对应关系,找到本地DNS的IP地址对应的地理位置信息,以及网关的IP地址对应的地理位置信息;通过该流程可以获取到IP地址定位所需数据,之后可以采用上述IP地址定位流程,根据从该系统中获取的上述地理位置信息以及预设的参数,得到目标IP地址的地理位置信息。进一步的,可以将目标IP地址及其对应的地理位置信息更新到IP定位数据库中。
[0197]在CDN调度时,可以通过IP定位数据库查询接口获取IP定位数据库中的数据,根据IP定位数据库中保存的IP地址与地理位置信息的对应关系,得到本地DNS的地理位置信息;通过网络质量数据库查询接口获取网络质量数据库中的数据,根据网络质量数据库中保存的IP地址与CDN节点的网络质量信息,获取对应的网络质量信息,或者根据本地DNS数据库中的数据确定本地DNS属于的本地DNS集群,再根据网络质量数据库中保存的集群与每个CDN节点之间的网络质量信息的对应关系,获取对应的网络质量信息;再根据地理位置信息和网络质量信息进行CDN调度。
[0198]另外,如果数据库中保存的是IPC段与相应信息的对应关系,那么在处理时,可以先确定要处理的IP地址属于的IPC段,再在数据库中查找到与确定出的IPC段对应的信息进而进行相应处理。
[0199]本实施例通过已知地理位置信息的关联IP地址对目标IP地址进行定位,可以提高定位准确性,提高覆盖面和定位精度;本实施例通过上述收集数据过程,可以确定本地DNS的IP地址与用户IP地址的对应关系,还可以获取到本地DNS或其集群到每个⑶N节点的网络质量信息,有利于CDN节点的调度优化;本实施例在CDN调度时不仅考虑地理位置信息还考虑网络质量信息,可以优化调度,提升用户体验;本实施例可以将IP定位技术与CDN调度有机结合起来,能将IP定位过程中收集到的网络延时信息、下载速度信息等使用于CDN调度策略中;在进行CDN调度过程中,配合Web服务器的重定向器功能,又能帮助收集IP定位时所需要本地DNS信息;另外,分析CDN所调度到的Web服务器上那些访问速度特别慢的用户IP,还可以对IP库准确度进行验证或修正,取得事半功倍的效果。
[0200]图10是本发明另一实施例提出的IP地址定位装置的结构示意图,该装置100包括获取模块101、计算模块102和确定模块103。
[0201]获取模块101用于获取与目标IP地址关联的IP地址,所述关联的IP地址是至少一个,所述关联的IP地址的地理位置信息是已知的;
[0202]其中,目标IP地址是要定位的IP地址。
[0203]与目标IP地址关联的IP地址可以包括:目标IP地址的本地域名系统(DomainName System,DNS) (local DNS)的 IP 地址,目标 IP 地址的网关(gateway,Gff)的 IP 地址。
[0204]可选的,所述获取模块101具体用于:
[0205]通过与预先建立的数据库对应的数据库查询接口,从对应的数据库中,根据所述数据库中保存的目标IP地址与关联的IP地址的对应关系,获取与目标IP地址关联的IP地址。
[0206]一个实施例中,参见图11,该装置100还包括:建立模块104,用于建立所述数据库,所述建立模块具体用于:
[0207]收集目标IP地址与关联的IP地址的对应关系;
[0208]将所述目标IP地址与关联的IP地址的对应关系,保存在所述数据库中。
[0209]一个实施例中,所述关联的IP地址包括:所述目标IP地址的本地DNS的IP地址;所述数据库包括:本地DNS数据库;所述对应关系包括:所述目标IP地址与本地DNS的IP地址的对应关系。
[0210]相应的,所述建立模块具体用于:
[0211]从NS中获取所述目标IP地址与本地DNS的IP地址的对应关系,所述NS采用如下方式建立目标IP地址与本地DNS的IP地址的对应关系:
[0212]接收本地DNS发送的域名解析请求,所述域名解析请求中包含所述本地DNS的IP地址和要解析的域名,所述要解析的域名中包含所述目标IP地址,所述要解析的域名是所述目标IP地址对应的终端发起网页访问后被重定向后的域名;
[0213]从所述域名解析请求中获取本地DNS的IP地址和目标IP地址,并建立所述目标IP地址与所述本地DNS的IP地址的对应关系。
[0214]一个实施例中,所述关联的IP地址包括:所述目标IP地址的网关的IP地址;所述数据库包括:网关数据库;所述对应关系包括:所述目标IP地址与网关的IP地址的对应关系O
[0215]相应的,所述建立模块具体用于:
[0216]采用网络拓扑工具获取从已知地理位置信息的网络地标到所述目标IP地址对应的终端的路径;
[0217]根据所述路径确定所述目标IP的上一跳节点,并获取所述上一跳节点的IP地址作为所述网关的IP地址;
[0218]建立所述目标IP地址与所述网关的IP地址的对应关系。
[0219]计算模块102用于根据预先设置的所述关联的IP地址对应的参数,以及所述关联的IP地址的地理位置信息,计算所述目标IP地址对应已知地理位置信息的置信度数值;
[0220]可选的,所述计算模块具体用于:
[0221]对应所述关联的IP地址,根据预先设置的所述关联的IP地址对应的参数,计算所述目标IP地址与所述关联的IP地址具有相同地理位置信息的概率;
[0222]对应所述已知地理位置信息,确定具有所述地理位置信息的关联的IP地址,并根据所述确定的关联的IP地址对应的所述概率,计算所述目标IP地址对应所述地理位置信息的置信度数值。
[0223]其中,预先设置的参数可以包括:根据关联的IP地址的地理位置信息计算目标IP地址的可信度权重,以及,根据关联的IP地址的地理位置信息计算目标IP地址的地理位置信息时的概率。
[0224]具体的,目标IP地址与所述关联的IP地址具有相同地理位置信息的概率可以表示为:WM*P (Z,Μ),其中,Wm是M渠道的可信度权重,P (Ζ,Μ)是通过M渠道给出的目标IP的地理位置信息是Z的概率,M渠道是指通过关联的IP地址M的地理位置信息对目标IP地址进行定位。
[0225]例如,如果关联的IP地址包括:本地DNS的IP地址和网关的IP地址,假设目标IP地址是119.46.243.6,确定出目标IP地址的本地DNS的IP地址是119.46.240.3,确定出目标IP地址的网关的IP地址是203.144.143.136。
[0226]假设根据本地DNS的IP地址对目标IP地址进行定位的模块称为本地DNS发现模块,根据网关的IP地址对目标IP地址进行定位的模块称为网关发现模块。预先设置本地DNS发现模块的可信度权重Wm是0.5,以及,目标IP地址的地理位置信息与本地DNS的IP地址的地理位置信息相同的概率P (本地DNS的地理位置信息,DNS-module)是0.4,则通过本地DNS发现模块确定的目标IP地址的地理位置信息是本地DNS的地理位置信息的概率=0.5*0.4 = 0.2。
[0227]类似的,预先设置网关发现模块的可信度权重Wm是0.6,以及,目标IP地址的地理位置信息与网关的地理位置信息相同的概率P(网关的地理位置信息,Gff-module)是0.8,则通过网关发现模块确定的目标IP地址的地理位置信息是网关的地理位置信息的概率=
0.6*0.8 = 0.48。
[0228]在确定出上述的概率后,可以将同一个地理位置信息对应的每个模块算出的概率相加后作为该地理位置信息对应的置信度数值。
[0229]例如,本地DNS的IP地址的地理位置信息是泰国曼谷,网关的IP地址的地理位置信息也是泰国曼谷,则对应泰国曼谷,具有该地理位置信息的关联的IP地址包括:本地DNS的IP地址和网关的IP地址,又根据上一步骤,可以确定本地DNS的IP地址对应的概率是
0.2,网关的IP地址对应的概率是0.48,则可以将其相加后作为置信度数值,S卩,目标IP地址的地理位置信息是泰国曼谷的置信度数值是:0.2+0.48 = 0.68。
[0230]确定模块103用于根据所述置信度数值,确定所述目标IP地址的地理位置信息。
[0231]可选的,所述确定模块具体用于:
[0232]将置信度数值最高时所对应的地理位置信息,确定为所述目标IP地址的地理位置信息。
[0233]具体的,当关联的IP地址还存在其他的地理位置信息时,可以采用上一步骤的方式确定出目标IP地址是其他的地理位置信息的置信度数值,之后将置信度数值最高的地理位置信息作为目标IP地址的地理位置信息。例如,目标IP地址的地理位置信息是泰国曼谷的置信度数值是0.68,目标IP地址的地理位置信息是中国北京的置信度数值是0.1,则最终可以确定出目标IP地址的地理位置信息是泰国曼谷。
[0234]本实施例以本地DNS发现模块和网关发现模块进行概率计算为例,可以理解的是,还可以包括其他模块进行概率计算。
[0235]可以理解的是,本实施例的IP地址定位装置可以具体是执行上述IP地址定位方法的装置,该装置的具体执行流程以及采用的参数等可以参见上述对方法的描述,在此不再赘述。
[0236]本实施例通过根据关联IP地址的信息确定目标IP地址的地理位置信息,可以对未知地理位置的IP地址进行定位,因此可以提高覆盖范围。进一步的,本实施例的定位精度可以与关联IP地址的地理位置信息精度一致,当关联IP地址的地理位置信息的精度可以到城市时,本实施例的定位精度也可以到城市,因此,可以提闻定位精度;另外,本实施例中的关联IP地址的地理位置信息是已知的,采用已知信息进行定位时可以提高定位准确度。
[0237]图12是本发明另一实施例提出的CDN调度装置的结构示意图,该装置120包括接收模块121、获取模块122和确定模块123。
[0238]接收模块121用于接收请求调度的节点发送的CDN调度请求,所述CDN调度请求中包含所述请求调度的节点的IP地址;
[0239]其中,请求调度的节点可以具体是本地DNS节点。
[0240]获取模块122用于从预先建立的IP定位数据库中获取与所述IP地址对应的地理位置信息,以及获取所述请求调度的节点与CDN节点之间的网络质量信息;
[0241]可以从预先建立的IP定位数据库中获取请求调度的节点的地理位置信息,IP定位数据库中保存IP地址与地理位置信息的对应关系。
[0242]IP地址对应的地理位置信息可以是采用上述实施例的IP定位方式确定的,或者,也可以采用其他方式,如公开IP库,IP地址分配机构官方数据或用户反馈等方式确定的。
[0243]可以从预先建立的网络质量数据库中获取请求调度的节点与CDN节点之间的网络质量信息,网络质量信息可以包括:下载速度和/或网络延时。
[0244]⑶N节点可以是指可调用的每个⑶N节点。
[0245]其中,网络质量数据库中可以保存IP地址及该IP地址对应的终端与⑶N节点之间的网络质量信息,此时,可以根据请求调度的节点的IP地址确定对应的网络质量信息;或者,网络质量数据库中可以保存集群及集群与CDN节点之间的网络质量信息,此时,可以根据请求调度的节点的IP确定该节点所属的集群,再根据集群与网络质量信息的对应关系获取相应的网络质量信息。
[0246]网络质量信息可以采用如下方式获取并保存在网络质量数据库中:
[0247]收集用户IP地址与本地DNS的IP地址的对应关系,以及所述用户IP地址与所述CDN节点之间的网络质量信息;
[0248]根据所述对应关系进行聚类处理,得到本地DNS的IP地址与所述⑶N节点之间的网络质量信息,以及所述本地DNS属于的本地DNS集群;
[0249]根据本地DNS集群下包括的本地DNS对应的网络质量信息,计算本地DNS集群与所述CDN节点之间的网络质量信息;
[0250]将所述用户IP地址与所述⑶N节点之间的网络质量信息,以及所述本地DNS集群与所述CDN节点之间的网络质量信息,保存在所述网络质量数据库中。
[0251]进一步的,所述收集用户IP地址与⑶N节点之间的网络质量信息,包括:
[0252]如果所述网络质量信息是下载速度,在收集所述用户IP地址与本地DNS的IP地址的对应关系过程中,收集所述用户IP地址与所述CDN节点之间的下载速度;和/或,
[0253]如果所述网络质量信息是网络延时,在收集所述用户IP地址与网关的IP地址的对应关系过程中,收集所述用户IP地址与所述CDN节点之间的网络延时。
[0254]确定模块123用于根据所述地理位置信息和所述网络质量信息,确定被调度的CDN节点;
[0255]可选的,所述确定模块具体用于:
[0256]判断是否存在与所述IP地址对应的所述网络质量信息;
[0257]如果存在,根据所述网络质量信息,确定被调度的CDN节点;
[0258]如果不存在,获取所述CDN节点的地理位置信息,根据所述请求调度的节点的地理位置信息和所述⑶N节点的地理位置信息,确定被调度的⑶N节点。
[0259]例如,在网络质量数据库中根据该IP地址查找,判断是否查找到对应的网络质量信息;或者,先确定IP地址所属的集群,再判断在网络质量数据中是否查找与该集群对应的网络质量信息。
[0260]例如,根据IP地址找到对应的网络质量信息后,可以将网络延时最小和/或下载速度最快的CDN节点确定为被调度的CDN节点。具体的选择网络延时最小或者下载速度最快可以根据具体业务进行设置。
[0261]其中,可以在IP定位数据库中找到IP地址对应的地理位置信息,也就是请求调度的节点的地理位置信息,之后可以将与请求调度的节点物理距离最近的CDN节点确定为被调度的⑶N节点。
[0262]—个实施例中,所述获取模块具体用于:
[0263]确定所述请求调度的节点属于的集群;
[0264]从预先建立的网络质量数据库中,获取所述集群与所述CDN节点之间的网络质量信息。
[0265]一个实施例中,所述请求调度的节点是本地DNS,参见图13,所述装置120还包括:建立模块124,所述建立模块用于建立所述网络质量数据库,所述建立模块124具体用于:
[0266]收集用户IP地址与本地DNS的IP地址的对应关系,以及用户IP地址与所述⑶N节点之间的网络质量信息;
[0267]根据所述对应关系进行聚类处理,得到本地DNS的IP地址与所述⑶N节点之间的网络质量信息,以及所述本地DNS属于的本地DNS集群;
[0268]根据本地DNS集群下包括的本地DNS对应的网络质量信息,计算本地DNS集群与所述CDN节点之间的网络质量信息;
[0269]将所述用户IP地址与所述⑶N节点之间的网络质量信息,以及所述本地DNS集群与所述CDN节点之间的网络质量信息,保存在所述网络质量数据库中。
[0270]可选的,所述建立模块124具体用于:
[0271]如果所述网络质量信息是下载速度,在收集所述用户IP地址与本地DNS的IP地址的对应关系过程中,收集所述用户IP地址与所述CDN节点之间的下载速度;和/或,
[0272]如果所述网络质量信息是网络延时,在收集所述用户IP地址与网关的IP地址的对应关系过程中,收集所述用户IP地址与所述CDN节点之间的网络延时。
[0273]可以理解的是,本实施例的CDN调度装置可以具体是执行上述CDN调度方法的装置,该装置的具体执行流程以及采用的参数等可以参见上述对方法的描述,在此不再赘述。
[0274]本实施例通过在⑶N调度时不仅根据地理位置信息还根据网络质量信息,可以为用户选择更合适的CDN节点,从而提高服务质量,提升用户体验。
[0275]需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0276]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0277]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0278]本【技术领域】的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0279]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0280]上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0281]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0282]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【权利要求】
1.一种IP地址定位方法,其特征在于,包括: 获取与目标IP地址关联的IP地址,所述关联的IP地址是至少一个,所述关联的IP地址的地理位置信息是已知的; 根据预先设置的所述关联的IP地址对应的参数,以及所述关联的IP地址的地理位置信息,计算所述目标IP地址对应已知地理位置信息的置信度数值; 根据所述置信度数值,确定所述目标IP地址的地理位置信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述置信度数值,确定所述目标IP地址的地理位置信息,包括: 将置信度数值最高时所对应的地理位置信息,确定为所述目标IP地址的地理位置信肩、O
3.根据权利要求1所述的方法,其特征在于,所述根据预先设置的所述关联的IP地址对应的参数,以及所述关联的IP地址的地理位置信息,计算所述目标IP地址对应已知地理位置信息的置信度数值,包括: 对应所述关联的IP地址,根据预先设置的所述关联的IP地址对应的参数,计算所述目标IP地址与所述关联的IP地址具有相同地理位置信息的概率; 对应所述已知地理位置信息,确定具有所述地理位置信息的关联的IP地址,并根据所述确定的关联的IP地址对应的所述概率,计算所述目标IP地址对应所述地理位置信息的置信度数值。
4.根据权利要求1所述的方法,其特征在于,所述获取与目标IP地址关联的IP地址,包括: 通过与预先建立的数据库对应的数据库查询接口,从对应的数据库中,根据所述数据库中保存的目标IP地址与关联的IP地址的对应关系,获取与目标IP地址关联的IP地址。
5.根据权利要求4所述的方法,其特征在于,还包括:建立所述数据库,所述建立所述数据库,包括: 收集目标IP地址与关联的IP地址的对应关系; 将所述目标IP地址与关联的IP地址的对应关系,保存在所述数据库中。
6.根据权利要求5所述的方法,其特征在于, 所述关联的IP地址包括:所述目标IP地址的本地DNS的IP地址; 所述数据库包括:本地DNS数据库; 所述对应关系包括:所述目标IP地址与本地DNS的IP地址的对应关系。
7.根据权利要求6所述的方法,其特征在于,所述收集目标IP地址与关联的IP地址的对应关系包括: 从NS中获取所述目标IP地址与本地DNS的IP地址的对应关系,所述NS采用如下方式建立目标IP地址与本地DNS的IP地址的对应关系: 接收本地DNS发送的域名解析请求,所述域名解析请求中包含所述本地DNS的IP地址和要解析的域名,所述要解析的域名中包含所述目标IP地址,所述要解析的域名是所述目标IP地址对应的终端发起网页访问后被重定向后的域名; 从所述域名解析请求中获取本地DNS的IP地址和目标IP地址,并建立所述目标IP地址与所述本地DNS的IP地址的对应关系。
8.根据权利要求5所述的方法,其特征在于, 所述关联的IP地址包括:所述目标IP地址的网关的IP地址; 所述数据库包括:网关数据库; 所述对应关系包括:所述目标IP地址与网关的IP地址的对应关系。
9.根据权利要求8所述的方法,其特征在于,所述收集目标IP地址与关联的IP地址的对应关系包括: 采用网络拓扑工具获取从已知地理位置信息的网络地标到所述目标IP地址对应的终端的路径; 根据所述路径确定所述目标IP的上一跳节点,并获取所述上一跳节点的IP地址作为所述网关的IP地址; 建立所述目标IP地址与所述网关的IP地址的对应关系。
10.一种⑶N调度方法,其特征在于,包括: 接收请求调度的节点发送的CDN调度请求,所述CDN调度请求中包含所述请求调度的节点的IP地址; 从预先建立的IP定位数据库中获取与所述IP地址对应的地理位置信息,以及获取所述请求调度的节点与CDN节点之间的网络质量信息; 根据所述地理位置信息和所述网络质量信息,确定被调度的CDN节点; 其中,所述地理位置信息是采用如权利要求1-8任一项所述的方法,对所述IP地址进行定位后得到并保存到所述IP定位数据库中的。
11.根据权利要求10所述的方法,其特征在于,所述根据所述地理位置信息和所述网络质量信息,确定被调度的CDN节点,包括: 判断是否存在与所述IP地址对应的所述网络质量信息; 如果存在,根据所述网络质量信息,确定被调度的CDN节点; 如果不存在,获取所述CDN节点的地理位置信息,根据所述请求调度的节点的地理位置信息和所述CDN节点的地理位置信息,确定被调度的CDN节点。
12.根据权利要求10所述的方法,其特征在于,所述获取所述请求调度的节点与所述CDN节点之间的网络质量信息,包括: 确定所述请求调度的节点属于的集群; 从预先建立的网络质量数据库中,获取所述集群与所述CDN节点之间的网络质量信肩、O
13.根据权利要求12所述的方法,其特征在于,所述请求调度的节点是本地DNS,所述方法还包括:建立所述网络质量数据库,所述建立所述网络质量数据库,包括: 收集用户IP地址与本地DNS的IP地址的对应关系,以及所述用户IP地址与所述⑶N节点之间的网络质量信息; 根据所述对应关系进行聚类处理,得到本地DNS的IP地址与所述CDN节点之间的网络质量信息,以及所述本地DNS属于的本地DNS集群; 根据本地DNS集群下包括的本地DNS对应的网络质量信息,计算本地DNS集群与所述CDN节点之间的网络质量信息; 将所述用户IP地址与所述CDN节点之间的网络质量信息,以及所述本地DNS集群与所述CDN节点之间的网络质量信息,保存在所述网络质量数据库中。
14.根据权利要求13所述的方法,其特征在于,所述收集所述用户IP地址与所述CDN节点之间的网络质量信息,包括: 如果所述网络质量信息是下载速度,在收集所述用户IP地址与本地DNS的IP地址的对应关系过程中,收集所述用户IP地址与所述CDN节点之间的下载速度;和/或, 如果所述网络质量信息是网络延时,在收集所述用户IP地址与网关的IP地址的对应关系过程中,收集所述用户IP地址与所述CDN节点之间的网络延时。
15.一种IP地址定位装置,其特征在于,包括: 获取模块,用于获取与目标IP地址关联的IP地址,所述关联的IP地址是至少一个,所述关联的IP地址的地理位置信息是已知的; 计算模块,用于根据预先设置的所述关联的IP地址对应的参数,以及所述关联的IP地址的地理位置信息,计算所述目标IP地址对应已知地理位置信息的置信度数值; 确定模块,用于根据所述置信度数值,确定所述目标IP地址的地理位置信息。
16.根据权利要求15所述的装置,其特征在于,所述确定模块具体用于: 将置信度数值最高时所对应的地理位置信息,确定为所述目标IP地址的地理位置信肩、O
17.根据权利要求15所述的装置,其特征在于,所述计算模块具体用于: 对应所述关联的IP地址,根据预先设置的所述关联的IP地址对应的参数,计算所述目标IP地址与所述关联的IP地址具有相同地理位置信息的概率; 对应所述已知地理位置信息,确定具有所述地理位置信息的关联的IP地址,并根据所述确定的关联的IP地址对应的所述概率,计算所述目标IP地址对应所述地理位置信息的置信度数值。
18.根据权利要求15所述的装置,其特征在于,所述获取模块具体用于: 通过与预先建立的数据库对应的数据库查询接口,从对应的数据库中,根据所述数据库中保存的目标IP地址与关联的IP地址的对应关系,获取与目标IP地址关联的IP地址。
19.根据权利要求18所述的装置,其特征在于,还包括:建立模块,用于建立所述数据库,所述建立模块具体用于: 收集目标IP地址与关联的IP地址的对应关系; 将所述目标IP地址与关联的IP地址的对应关系,保存在所述数据库中。
20.根据权利要求19所述的装置,其特征在于, 所述关联的IP地址包括:所述目标IP地址的本地DNS的IP地址; 所述数据库包括:本地DNS数据库; 所述对应关系包括:所述目标IP地址与本地DNS的IP地址的对应关系。
21.根据权利要求20所述的装置,其特征在于,所述建立模块具体用于: 从NS中获取所述目标IP地址与本地DNS的IP地址的对应关系,所述NS采用如下方式建立目标IP地址与本地DNS的IP地址的对应关系: 接收本地DNS发送的域名解析请求,所述域名解析请求中包含所述本地DNS的IP地址和要解析的域名,所述要解析的域名中包含所述目标IP地址,所述要解析的域名是所述目标IP地址对应的终端发起网页访问后被重定向后的域名; 从所述域名解析请求中获取本地DNS的IP地址和目标IP地址,并建立所述目标IP地址与所述本地DNS的IP地址的对应关系。
22.根据权利要求19所述的装置,其特征在于, 所述关联的IP地址包括:所述目标IP地址的网关的IP地址; 所述数据库包括:网关数据库; 所述对应关系包括:所述目标IP地址与网关的IP地址的对应关系。
23.根据权利要求22所述的装置,其特征在于,所述建立模块具体用于: 采用网络拓扑工具获取从已知地理位置信息的网络地标到所述目标IP地址对应的终端的路径; 根据所述路径确定所述目标IP的上一跳节点,并获取所述上一跳节点的IP地址作为所述网关的IP地址; 建立所述目标IP地址与所述网关的IP地址的对应关系。
24.一种⑶N调度装置,其特征在于,包括: 接收模块,用于接收请求调度的节点发送的CDN调度请求,所述CDN调度请求中包含所述请求调度的节点的IP地址; 获取模块,用于从预先建立的IP定位数据库中获取与所述IP地址对应的地理位置信息,以及获取所述请求调度的节点与CDN节点之间的网络质量信息; 确定模块,用于根据所述地理位置信息和所述网络质量信息,确定被调度的CDN节点;其中,所述地理位置信息是采用如权利要求1-8任一项所述的方法,对所述IP地址进行定位后得到并保存到所述IP定位数据库中的。
25.根据权利要求24所述的装置,其特征在于,所述确定模块具体用于: 判断是否存在与所述IP地址对应的所述网络质量信息; 如果存在,根据所述网络质量信息,确定被调度的CDN节点; 如果不存在,获取所述CDN节点的地理位置信息,根据所述请求调度的节点的地理位置信息和所述CDN节点的地理位置信息,确定被调度的CDN节点。
26.根据权利要求24所述的装置,其特征在于,所述获取模块具体用于: 确定所述请求调度的节点属于的集群; 从预先建立的网络质量数据库中,获取所述集群与所述CDN节点之间的网络质量信肩、O
27.根据权利要求26所述的装置,其特征在于,所述请求调度的节点是本地DNS,所述装置还包括:建立模块,所述建立模块用于建立所述网络质量数据库,所述建立模块具体用于: 收集用户IP地址与本地DNS的IP地址的对应关系,以及用户IP地址与所述⑶N节点之间的网络质量信息; 根据所述对应关系进行聚类处理,得到本地DNS的IP地址与所述CDN节点之间的网络质量信息,以及所述本地DNS属于的本地DNS集群; 根据本地DNS集群下包括的本地DNS对应的网络质量信息,计算本地DNS集群与所述CDN节点之间的网络质量信息; 将所述用户IP地址与所述CDN节点之间的网络质量信息,以及所述本地DNS集群与所述CDN节点之间的网络质量信息,保存在所述网络质量数据库中。
28.根据权利要求27所述的装置,其特征在于,所述建立模块具体用于: 如果所述网络质量信息是下载速度,在收集所述用户IP地址与本地DNS的IP地址的对应关系过程中,收集所述用户IP地址与所述CDN节点之间的下载速度;和/或, 如果所述网络质量信息是网络延时,在收集所述用户IP地址与网关的IP地址的对应关系过程中,收集所述用户IP地址与所述CDN节点之间的网络延时。
【文档编号】H04L29/08GK104168341SQ201410401480
【公开日】2014年11月26日 申请日期:2014年8月15日 优先权日:2014年8月15日
【发明者】覃建旺, 莫林林, 许伦杰, 曾纪策 申请人:北京百度网讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1