一种流量预测方法和装置与流程

文档序号:14522582阅读:226来源:国知局
一种流量预测方法和装置与流程

【技术领域】

本发明涉及通信技术领域,尤其涉及一种流量预测方法和装置。



背景技术:

在cdn(contentdeliverynetwork,内容分发网络)网络中,为了避免某个cdn节点服务器由于流量暴涨造成的网络拥塞和服务质量下降的问题,需要对cdn节点服务器的访问流量进行预测。

现有技术中,对cdn节点服务器的访问流量进行预测时,是根据用户ip(internetprotocol,互联网协议)归属区域产生的流量来预测对应区域的cdn节点服务器的访问流量。但是,由于用户可以对用户设备归属的ldns(localdomainnamesystem,本地域名系统)(以下简称:本地dns)服务器进行更改,例如:北京用户通过手动设置将本地dns服务器的输入端口ip设置为上海的本地dns服务器的输入端口ip,如果使用现有技术对cdn上海节点服务器进行流量预测,由于该用户ip属于北京区域,会将cdn上海节点服务器的访问流量预测为cdn北京节点服务器的访问流量。因此,现有技术中根据用户ip归属区域预测到的流量的准确性较低。



技术实现要素:

有鉴于此,本方案实施例提供了一种流量预测方法和装置,用以解决现有技术中根据用户ip归属区域预测到的流量的准确性较低的问题。

第一方面,本方案实施例提供了一种流量预测方法,包括:

采集来自各用户区域的流量;

在已采集的来自每个用户区域的流量中,确定该用户区域的流量流向各本地dns的输出端口区域的占比;

根据来自各用户区域的流量和每个用户区域的流量流向各本地dns的输出端口区域的占比,确定各本地dns的输出端口区域的总流量。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,采集来自各用户区域的流量,包括:

根据用户ip对应的流量、ip与区域的映射关系,获得属于同一用户区域内所有用户ip的总流量。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在已采集的来自每个用户区域的流量中,确定该用户区域的流量流向各本地dns的输出端口区域的占比,包括:

获取第一流量比例;所述第一流量比例表示单个用户区域对单个本地dns的输入端口区域的访问次数占该用户区域对所有本地dns的输入端口区域的访问次数的比例;

根据输入端口区域与输出端口区域的映射关系以及所述第一流量比例,获得第二流量比例,以作为该用户区域的流量流向各本地dns的输出端口区域的占比;所述第二流量比例表示单个用户区域对单个本地dns的输出端口区域的访问次数占该用户区域对所有本地dns的输出端口区域的访问次数的比例。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,获取第一流量比例,包括:

统计各用户ip对各本地dns的输入端口ip的访问次数,将同属于同一用户区域的用户ip进行聚类,获得各用户区域对于各本地dns的输入端口ip的访问次数,以作为第一访问次数;

以所述第一访问次数为基础,将同属于同一本地dns的输入端口区域的输入端口ip进行聚类,得到各用户区域对各本地dns的输入端口区域的访问次数,以作为第二访问次数;

根据第一访问次数和第二访问次数,获得第一流量比例。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:

根据各本地dns的输出端口区域的总流量以及区域与调度域名的映射关系,获得调度域名的流量。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:

根据所述调度域名的流量,以及,与所述调度域名相关的历史流量记录,获得与所述调度域名相关的预测流量。

上述技术方案中的一个技术方案具有如下有益效果:在本方案实施例中,在采集了来自各用户区域的流量后,就获得了属于同一区域内的所有用户产生的总流量,然后在已采集的来自每个用户区域的流量中,确定该用户区域的流量流向各本地dns的输出端口区域的占比,此时就可以确定出各区域内的用户产生的流量在各本地dns的流量输出比例,再根据来自各用户区域的流量和每个用户区域的流量流向各本地dns的输出端口区域的占比,确定各本地dns的输出端口区域的总流量,即确定出了所有区域内的用户产生的流量流向各本地dns输出端口区域的具体流量,进一步的,根据确定出的各本地dns的输出端口区域的总流量可知各本地dns的输出端口区域为对应的cdn节点服务器引入的流量,由于cdn节点服务器的访问流量是根据本地dns的输出端口区域引入的,因此根据各本地dns的输出端口区域的总流量来预测流量提高了预测到的流量的准确性。

第二方面,本方案实施例提供了一种流量预测装置,包括:

流量采集单元,用于采集来自各用户区域的流量;

流量占比计算单元,用于在已采集的来自每个用户区域的流量中,确定该用户区域的流量流向各本地dns的输出端口区域的占比;

流量统计单元,用于根据来自各用户区域的流量和每个用户区域的流量流向各本地dns的输出端口区域的占比,确定各本地dns的输出端口区域的总流量。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述流量采集单元,具体用于:

根据用户ip对应的流量、ip与区域的映射关系,获得属于同一用户区域内所有用户ip的总流量。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述流量占比计算单元,具体用于:

获取第一流量比例;所述第一流量比例表示单个用户区域对单个本地dns的输入端口区域的访问次数占该用户区域对所有本地dns的输入端口区域的访问次数的比例;

根据输入端口区域与输出端口区域的映射关系以及所述第一流量比例,获得第二流量比例,以作为该用户区域的流量流向各本地dns的输出端口区域的占比;所述第二流量比例表示单个用户区域对单个本地dns的输出端口区域的访问次数占该用户区域对所有本地dns的输出端口区域的访问次数的比例。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,当所述流量占比计算单元用于获取第一流量比例时,包括:

统计各用户ip对各本地dns的输入端口ip的访问次数,将同属于同一用户区域的用户ip进行聚类,获得各用户区域对于各本地dns的输入端口ip的访问次数,以作为第一访问次数;

以所述第一访问次数为基础,将同属于同一本地dns的输入端口区域的输入端口ip进行聚类,得到各用户区域对各本地dns的输入端口区域的访问次数,以作为第二访问次数;

根据第一访问次数和第二访问次数,获得第一流量比例。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:

调度域名流量计算单元,用于根据各本地dns的输出端口区域的总流量以及区域与调度域名的映射关系,获得调度域名的流量。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:

调度域名流量预测单元,用于根据所述调度域名的流量,以及,与所述调度域名相关的历史流量记录,获得与所述调度域名相关的预测流量。

上述技术方案中的一个技术方案具有如下有益效果:在本方案实施例中,在流量采集单元采集了来自各用户区域的流量后,就获得了属于同一区域内的所有用户产生的总流量,然后流量占比计算单元在已采集的来自每个用户区域的流量中,确定该用户区域的流量流向各本地dns的输出端口区域的占比,此时就可以确定出各区域内的用户产生的流量在各本地dns的流量输出比例,流量统计单元再根据来自各用户区域的流量和每个用户区域的流量流向各本地dns的输出端口区域的占比,确定各本地dns的输出端口区域的总流量,即确定出了所有区域内的用户产生的流量流向各本地dns输出端口区域的具体流量,进一步的,根据确定出的各本地dns的输出端口区域的总流量可知各本地dns的输出端口区域为对应的cdn节点服务器引入的流量,由于cdn节点服务器的访问流量是根据本地dns的输出端口区域引入的,因此根据各本地dns的输出端口区域的总流量来预测流量提高了预测到的流量的准确性。

【附图说明】

为了更清楚地说明本方案实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1是本方案实施例中的一种域名在cnd网络加速的流程示例图;

图2是本方案实施例一中的一种流量预测方法流程示例图;

图3是本方案实施例三中的一种针对步骤102的实现方法的流程示例图;

图4是本方案实施例四中的一种针对步骤201的实现方法的流程示例图;

图5是本方案实施例四中的一种将同属于同一用户区域的用户ip进行聚类的示意图;

图6a是本方案实施例四中的一种将同属于同一本地dns的输入端口区域的输入端口ip进行聚类的示意图;

图6b是本方案实施例四中的另一种将同属于同一本地dns的输入端口区域的输入端口ip进行聚类的示意图;

图7是本方案实施例五中的一种流量预测方法的流程示例图;

图8是本方案实施例五中的另一种流量预测方法的流程示例图;

图9是本方案实施例六中的一种流量预测装置的结构示例图;

图10为本方案实施例七中的一种cdn调度服务器100的简化框图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本方案实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本方案实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本方案实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

如图1所示,cdn网络中包括用户设备、本地dns服务器、权威dns服务器、dns调度服务器和cdn节点服务器,当需要对域名进行cdn加速时,包括以下步骤:

1、用户设备通过设定好的本地dns服务器的输入端口ip将域名发送给本地dns服务器。

2、该本地dns服务器将该域名转发给权威dns服务器,并且生成用户访问信息,该访问信息中至少包括用户ip和该本地dns输入端口ip的对应关系,并且该访问信息可以被dns调度服务器获得。

3、权威dns服务器会根据该域名查找到该域名对应的cname(规范名字)记录,并将该cname记录返回给该本地dns服务器。

4、该本地dns服务器在接收到cname记录后会进行递归查询,在进行递归查询时,通过输出端口将携带有该域名和该输出端口ip的报文发送给dns调度服务器,其中该输出端口为与接收该域名的输入端口对应的输出端口。

5、该dns调度服务器根据该域名查找可用的cdn节点服务器,然后在可用的cdn节点服务器中查询与该输出端口ip属于同一区域的cdn节点服务器,并生成查询信息,然后将该cdn节点服务器的ip发送给该本地dns服务器,该查询信息中至少包括域名、本地dns服务器输出端口ip和查询到的cdn节点服务器的对应关系。

6、该本地dns服务器将该cdn节点服务器的ip发送给该用户设备。

7、如果该cdn节点服务器的ip为a区域的cdn节点服务器的ip,则用户设备根据a区域的cdn节点服务器的ip将该域名发送到a区域的cdn节点服务器。

8、该a区域的cdn节点服务器根据该域名将获取的数据返回给该用户设备,并生成用户访问流量信息,该访问流量信息中至少包括用户ip、域名、cdn节点服务器ip、访问流量和时间戳的对应关系,该用户流量信息也可以被dns调度服务器获得。

由上述流程可知,cdn节点服务器的访问流量是由本地dns服务器引入的,因此,在对cdn节点服务器的访问流量进行预测时,可以根据本地dns服务器归属的区域,为对应区域的cdn节点服务器引入的流量进行预测,进一步的,由于cdn调度系统是根据本地dns输出端口归属的区域来分配对应的cdn节点服务器的,且本地dns归属的区域与本地dns输出端口区域相同,因此可以根据本地dns的输出端口区域流出的总流量,进行对应的cdn节点服务器的流量预测。

下面对上述提到的cdn节点服务器的访问流量进行预测的方法进行具体描述。

实施例一

本方案实施例给出一种流量预测方法,具体如图2所示,该方法包括以下步骤:

101、采集来自各用户区域的流量。

具体的,用户区域为属于同一区域的用户ip集合,进一步的,由于ip和区域是具有对应关系的,因此可以根据用户ip可以确定该用户ip归属的区域,在确定出各个用户ip归属的区域后,就可以确定那些用户ip属于同一用户区域,并且可以确定出该用户ip具体属于哪个用户区域,例如:用户ip1归属北京区域,用户ip2归属北京区域,用户ip3归属上海区域,用户ip4归属上海区域,则用户ip1和用户ip2属于同一用户区域,即都属于北京用户区域,用户ip3和用户ip4属于同一用户区域,即都属于上海用户区域。

当采集了来自各用户区域的流量后就可以确定出属于同一区域内的用户产生的流量。

102、在已采集的来自每个用户区域的流量中,确定该用户区域的流量流向各本地dns的输出端口区域的占比。

具体的,由于该用户区域产生的流量中可以通过不同的本地dns的输出端口区域被引入不同的cdn节点服务器中,因此,需要确定出该用户区域的流量流向各本地dns的输出端口区域的占比,进一步的,由于用户设备在对应的cdn节点服务器进行访问产生访问流量时,是根据该用户设备获得的cdn节点服务器的ip进行访问产生的,而该cdn节点服务器的ip是根据dns的输出端口区域确定的,即该用户设备在该cdn节点服务器进行访问产生的访问流量是由该dns的输出端口区域为该cdn节点服务器引入的,再进一步的,该用户设备在该cdn节点服务器进行访问产生的访问流量与该用户设备流向该dns输出端口区域的流量是相同的,并且,由于各用户设备的用户ip归属于不同的用户区域,因此当确定出用户区域的流量流向该本地dns的输出端口区域的占比后,就可以确定出该用户区域在该本地dns的输出端口区域对应的cdn节点服务器上产生的访问流量的占比,因此,在确定出该用户区域的流量流向各本地dns的输出端口区域的占比后,就可以知道各本地dns的输出端口区域引入的该用户区域的流量占该用户区域中用户产生的总流量的比例,其中,该用户区域的流量流向各本地dns的输出端口区域的占比之和为1。

例如,北京用户区域的流量只流向了归属于北京区域的本地dns和归属于上海区域的本地dns,即北京用户区域的流量一部分流向了归属于北京区域的本地dns,而剩余部分的流量则全部会流向归属于上海区域的本地dns,并且,由于流向本地dns的流量都会通过该本地dns的输出端口区域流出,因此流向归属于北京区域的本地dns的输出端口区域的占比和流向归属于上海区域的本地dns的输出端口区域的占比之和为1。

103、根据来自各用户区域的流量和每个用户区域的流量流向各本地dns的输出端口区域的占比,确定各本地dns的输出端口区域的总流量。

具体的,当确定出每个用户区域的流量流向各本地dns的输出端口区域的占比和来自各用户区域的流量后,可以确定出该用户区域的流量流向各本地dns的输出端口区域的流量,然后在根据各用户区域的流量流向各本地dns的输出端口区域的流量之和,确定出各本地dns的输出端口区域的总流量。

例如:用户区域包括北京用户区域和上海用户区域,本地dns包括北京的本地dns和上海的本地dns,并且,北京用户区域产生的流量分别流向了北京的本地dns和上海的本地dns,上海用户区域产生的流量分别流向了北京的本地dns和上海的本地dns,其中,北京用户区域流向北京的本地dns的流量为5,北京用户区域流向上海的本地dns的流量为10,上海用户区域流向北京的本地dns的流量为5,上海用户区域流向上海的本地dns的流量为10,所以流向北京的本地dns的输出端口区域的流量之和为10,流向上海的本地dns的输出端口区域的流量之和为20,即北京的本地dns的输出端口区域的总流量为10,上海的本地dns的输出端口区域的总流量为20。

并且,由于本地dns在接收到一个流量后,该本地dns会将该流量通过该本地dns的输出端口将该流量发送给dns调度服务器,该dns调度服务器会根据该本地dns的输出端口区域确定出对应的cdn节点服务器,进而使用户设备在该cdn节点服务器上产生一次访问流量,因此本地dns获取到多少流量,那么就会在与该本地dns的输出端口区域对应的cdn节点服务器中产生多少访问流量,因此可以根据从该本地dns的输出端口区域流出的总流量,确定该本地dns为cdn节点服务器引入的流量,进一步的,根据各本地dns的输出端口区域的总流量对对应的cdn节点服务器进行流量预测,预测到的流量更加准确。

在确定各本地dns的输出端口区域的总流量后,该方法还包括:

根据各本地dns的输出端口区域的总流量以及区域与调度域名的映射关系,获得调度域名的流量。

具体的,调度域名为一个域名组,即属于同一区域的域名的集合,由于在cdn网络中服务的域名较多,为了方便管理,需要将服务的域名进行收敛,将属于同一区域的域名收敛到一个调度域名中,并建立该调度域名与区域的映射关系。当获知各本地dns的输出端口区域的总流量后,可以将各本地dns的输出端口区域的总流量收敛为各调度域名的总流量,即属于同一区域内所有域名进行cdn加速时产生的流量。

在获得调度域名的流量后,本方案实施例还包括:

根据所述调度域名的流量,以及,与所述调度域名相关的历史流量记录,获得与所述调度域名相关的预测流量。

具体的,获得的调度域名的流量是根据当前一段时间内的流量数据确定出来的,为了提高预测流量的准确性,还需要获得调度域名相关的历史流量记录,来进一步确定与所述调度域名相关的预测流量。例如:为调度域名的流量和与所述调度域名相关的一条历史流量记录分别设定系数,该系数包括但不限用百分比表示,用于表示该调度域名的流量或该条历史流量所占权重的比例,其中,该调度域名的流量或该条历史流量所占权重的比例之和为1,其中,与所述调度域名相关的历史流量记录越久,设定的系数越小,即所占的权重比例越小,在设定好系数后,获取调度域名的流量和与其对应的系数的积,以及获取与所述调度域名相关的历史流量记录和与其对应的系数的积,根据上述得到的两个积的和确定与所述调度域名相关的历史流量记录。

在本方案实施例中,由于cdn节点服务器的访问流量是由本地dns引入的,进一步的,由于本地dns接收到多少流量就会从该本地dns的输出端口流出多少流量,并且从本地dns的输出端口区域流出多少总流量就会在cdn节点服务器中产生多少的访问流量,因此在得到本地dns的输出端口区域的总流量后,就可以确定出由本地dns为cdn节点服务器引入的流量的多少,即cdn节点服务器会产生多少的访问流量,因此根据各本地dns的输出端口区域的总流量来预测流量提高了预测到的流量的准确性。

实施例二

为了实现采集来自各用户区域的流量,本方案实施例提供了一种采集流量的实现方式,具体方法如下:

根据用户ip对应的流量、ip与区域的映射关系,获得属于同一用户区域内所有用户ip的总流量。

具体的,在用户设备接收到cdn节点服务器ip后,会将域名发送到该cdn节点服务器进行cdn加速,在进行cdn加速后会获知该用户ip产生的流量,由于预先设置了ip和区域的对应关系,根据ip和该对应关系,可以确定出该ip所属的区域,因此根据用户ip对应的流量和该对应关系,可以获知属于同一区域内的所有用户ip的总流量。

实施例三

为了确定该用户区域的流量流向各本地dns的输出端口区域的占比,本方案实施例提供了一种针对步骤102的具体实现方式,如图3所示,具体包括以下步骤:

201、获取第一流量比例。

其中,所述第一流量比例表示单个用户区域对单个本地dns的输入端口区域的访问次数占该用户区域对所有本地dns的输入端口区域的访问次数的比例。

具体的,用户在进行cdn加速时,首先需要通过本地dns的输入端口访问本地dns,并且一个用户ip可以访问到不同的本地dns,根据本地dns的用户访问记录,可以确定出用户ip访问的各个本地dns的访问次数,以及该用户ip对所有本地dns的总访问次数,然后根据预设的ip和区域的对应关系,可以确定出本地dns的输入端口区域和用户区域,进而可以确定出单个用户区域对单个本地dns的输入端口区域的访问次数,以及该用户区域对所有本地dns的输入端口区域的总访问次数,根据单个用户区域对单个本地dns的输入端口区域的访问次数与该用户区域对所有本地dns的输入端口区域的总访问次数之比可以确定出第一流量比例。

202、根据输入端口区域与输出端口区域的映射关系以及所述第一流量比例,获得第二流量比例,以作为该用户区域的流量流向各本地dns的输出端口区域的占比。

其中,所述第二流量比例表示单个用户区域对单个本地dns的输出端口区域的访问次数占该用户区域对所有本地dns的输出端口区域的访问次数的比例。

具体的,由于在对流量进行预测时需要根据本地dns的输出端口区域产生的流量进行预测,因此,需要将本地dns的输入端口区域接收到流量转换为该本地dns的输出端口区域输出的流量,并且,由于一个本地dns通过输入端口接收数据后会通过该dns输入端口将数据全部输出,所以在获知第一流量比例后,根据预先设置的输入端口区域与输出端口区域的映射关系,可以确定出用于表示单个用户区域对单个本地dns的输出端口区域的访问次数占该用户区域对所有本地dns的输出端口区域的访问次数的比例,即第二流量比例。

进一步的,一个本地dns包括多个输入端口和多个输出端口,一个输入端口接收到的数据会通过一个对应的输出端口输出,但是由于一个本地dns的所有输入端口属于同一个区域(所有输入端口ip对应同一个区域),一个本地dns的所有输出端口属于同一个区域(所有输出端口ip对应同一个区域),且输入端口归属的区域与输出端口归属的区域相同,即都为该本地dns归属的区域,因此,一个本地dns所有输入端口的第一流量比例和第二流量比例都可以表示单个用户区域在该dns归属区域产生的流量与该用户区域产生的总流量之比,进一步的,属于同一个本地dns的第一流量比例和第二流量比例是相同的,再进一步的,输入端口区域与输出端口区域的映射关系为属于同一区域的输入端口和输入端口具有对应关系。

实施例四

本方案实施例提供了一种针对步骤201的具体实现方式,具体如图4所示,该实现方式包括以下步骤:

301、统计各用户ip对各本地dns的输入端口ip的访问次数,将同属于同一用户区域的用户ip进行聚类,获得各用户区域对于各本地dns的输入端口ip的访问次数,以作为第一访问次数。

具体的,在用户将域名发送给本地dns时,在该本地dns中会生成<用户ip,本地dns输入端口ip>对,根据该本地dns中生成的<用户ip,本地dns输入端口ip>对的个数就可以获得各用户ip对该本地dns的输入端口ip的访问次数,根据ip和区域的对应关系,可以将同属于同一用户区域的用户ip进行聚类,即:将所有的<用户ip,本地dns输入端口ip>对转换为<用户区域,本地dns输入端口ip>对,根据<用户区域,本地dns输入端口ip>对可以获得各用户区域对于各本地dns的输入端口ip的访问次数,进一步的,根据第一访问次数可以获知某一用户区域的总访问次数。

具体如图5所示,如果本地dns中生成的<用户ip,本地dns输入端口ip>对包括:<用户ip1,本地dns的输入端口ipa>、<用户ip2,本地dns的输入端口ipb>、<用户ip3,本地dns的输入端口ipc>、<用户ip4,本地dns的输入端口ipd>、<用户ip5,本地dns的输入端口ipe>,如果ip和区域的对应关系为:<ip1,区域a>、<ip2,区域a>、<ip3,区域a>、<ip4,区域a>、<ip5,区域a>,在将同属于同一用户区域的用户ip进行聚类后可以得到3个<用户区域a,本地dns输入端口ip>对,即<用户区域a,本地dns输入端口ipa>、<用户区域a,本地dns输入端口ipb>和<用户区域a,本地dns输入端口ipc>,以及2个<用户区域b,本地dns输入端口ip>对,即<用户区域b,本地dns输入端口ipd>和<用户区域b,本地dns输入端口ipe>,进而可以知道用户区域a访问所有本地dns的次数为3次,用户区域b访问所有本地dns的次数为2次。

302、以所述第一访问次数为基础,将同属于同一本地dns的输入端口区域的输入端口ip进行聚类,得到各用户区域对各本地dns的输入端口区域的访问次数,以作为第二访问次数。

具体的,在获知某一用户区域内的总访问次数后,根据ip和区域的对应关系,将同属于同一本地dns的输入端口区域的输入端口ip进行聚类,可以得到各用户区域对各本地dns的输入端口区域的访问次数,即某一用户区域访问归属不同区域的本地dns的次数。

具体如图6a所示,如果将同属于同一用户区域的用户ip进行聚类得到的<用户区域,本地dns输入端口ip>对为:<用户区域a,本地dns输入端口ipa>、<用户区域a,本地dns输入端口ipb>和<用户区域a,本地dns输入端口ipc>,如果ip和区域的对应关系为:<ipa,区域a>、<ipb,区域a>和<ipc,区域b>,将同属于同一本地dns的输入端口区域的输入端口ip进行聚类后可以得到的<用户区域,本地dns输入端口区域>对为:<用户区域a,本地dns输入端口区域a>、<用户区域a,本地dns输入端口区域a>和<用户区域a,本地dns输入端口区域b>,根据上述<用户区域,本地dns输入端口区域>对可知:用户区域a访问本地dns输入端口区域a的次数为2次,用户区域a访问本地dns输入端口区域b的次数为1次。

具体如图6b所示,如果将同属于同一用户区域的用户ip进行聚类得到的<用户区域,本地dns输入端口ip>对为:<用户区域b,本地dns输入端口ipd>和<用户区域b,本地dns输入端口ipe>,如果ip和区域的对应关系为:<ipd,区域a>和<ipe,区域b>,将同属于同一本地dns的输入端口区域的输入端口ip进行聚类后可以得到的<用户区域,本地dns输入端口区域>对为:<用户区域b,本地dns输入端口区域a>和<用户区域b,本地dns输入端口区域b>,根据上述<用户区域,本地dns输入端口区域>对可知:用户区域b访问本地dns输入端口区域a的次数为1次,用户区域b访问本地dns输入端口区域b的次数为1次。

303、根据第一访问次数和第二访问次数,获得第一流量比例。

具体的,根据图6a可知用户区域a访问所有本地dns的输入端口ip的总次数为3次,并且根据图6a还可知用户区域a访问本地dns的输入端口区域a的次数为2次,用户区域a访问本地dns的输入端口区域b的次数为1次,从而根据图6a可知:用户区域a对本地dns的输入端口区域a的访问次数占用户区域a对所有本地dns的输入端口区域的访问次数的比例约为67%,用户区域a对本地dns的输入端口区域a的访问次数占用户区域b对所有本地dns的输入端口区域的访问次数的比例约为33%。

同时,根据图6b可知用户区域b访问所有本地dns的输入端口ip的总次数为2次,且根据图6b可知用户区域b访问本地dns的输入端口区域a的次数为1次,用户区域b访问本地dns的输入端口区域b的次数为1次,从而根据图6b可知:用户区域b对本地dns的输入端口区域a的访问次数占用户区域b对所有本地dns的输入端口区域的访问次数的比例为50%,用户区域b对本地dns的输入端口区域b的访问次数占用户区域b对所有本地dns的输入端口区域的访问次数的比例为50%。

进一步的,根据图6a和图6b可以获得4个第一流量比例,并根据输入端口区域与输出端口区域的映射关系,可以获得对应的4个第二流量比例,其中,该4个第二流量比例分别表示:用户区域a对本地dns的输出端口区域a的访问次数占用户区域a对所有本地dns的输出端口区域的访问次数的比例约为67%,用户区域a对本地dns的输出端口区域b的访问次数占用户区域a对所有本地dns的输出端口区域的访问次数的比例约为33%,用户区域b对本地dns的输出端口区域a的访问次数占用户区域b对所有本地dns的输出端口区域的访问次数的比例为50%,用户区域b对本地dns的输出端口区域b的访问次数占用户区域b对所有本地dns的输出端口区域的访问次数的比例为50%。

实施例五

为了进一步阐述本方案实施例的技术思想,现结合具体的应用场景,对本方案实施例的技术方案进行说明,该方案执行在cdn调度服务器中,该cdn调度服务器中获知了某个域名通过cdn网络进行域名加速的相关数据的对应关系,如:第一对应关系<ip,区域>,第二对应关系<用户ip,本地dns的输入端口ip>,第三对应关系<域名,本地dns的输出端口ip,节点服务器>,第四对应关系<用户ip,域名,cdn节点服务器,访问流量,时间戳>,以及第五对应关系<域名,调度域名>,其中,第二对应关系和第三对应关系是通过本地dns的日志记录获取的,第四对应关系是根据cdn节点服务器的日志记录获取的,其中,每进行一次cdn加速都会产生一个第二对应关系,一个第三对应关系和一个第四对应关系,在获知预设时间段内的上述对应关系后,在进行流量预测时,具体如图7所示,方法如下:

1、根据第一对应关系,对第二对应关系进行聚合,获得第一子对应关系:<用户ip所属区域,本地dns输入端口ip所属区域>。

具体的,将用户ip与本地dns的输入端口ip通过第一对应关系,转换为用户ip所属区域和本地dns的输入端口ip所属区域的第一子对应关系,根据该第一子对应关系可以获知各用户区域对于各本地dns的输入端口区域的访问次数,以及各用户区域对所有本地dns输入端口区域的总访问次数,具体实现方式参见图5、图6a和图6b对应的实施例四,在此不再一一赘述。

2、根据第一对应关系,对第三对应关系进行聚合,获得第二子对应关系<本地dns输出端口ip所属区域>。

具体的,将第三对应关系中的本地dns输出端口ip通过第一对应关系,转换为本地dns输出端口ip所属的区域。

3、根据本地dns输出端口ip所属区域和本地dns输入端口ip所属区域的对应关系,对第一子对应关系和第二子对应关系进行收敛,得到第三子对应关系<用户ip所属区域,本地dns输出端口ip所属区域,流量比例>。

具体的,根据第二子对应关系可以将用户ip所属区域对本地dns输入端口ip所属区域的访问次数转换为用户ip所属区域对本地dns输出端口ip所属区域的访问次数,将该用户ip所属区域对所有本地dns输入端口ip所属区域的总访问次数转换为该用户ip所属区域对所有本地dns输出端口ip所属区域的总访问次数,并可以根据该访问次数和该总访问次数可以获得第三自对应关系中的流量比例,该流量比例用于表示单个用户区域对单个本地dns的输出端口区域的访问次数占该用户区域对所有本地dns的输出端口区域的访问次数的比例。

当然也可以根据第一子对应关系获得表示单个用户区域对单个本地dns的输入端口区域的访问次数占该用户区域对所有本地dns的输入端口区域的访问次数的比例,然后根据输入端口区域与输出端口区域的映射关系来获得该流量比例,具体实现方式参见实施例三,在此不再一一赘述。

4、根据第一对应关系,对第四对应关系进行聚合,获得第四子对应关系<用户ip所属区域,域名,访问流量>。

具体的,将第四对应关系中的用户ip通过第一对应关系,转换为用户ip所属的区域,根据第四子对应关系可以获知用户ip所属区域流出的总流量,进一步的,根据所述第四子对应关系可以获取各个区域流出的总流量。

5、对第三子对应关系和第四子对应关系进行聚合,获得第五子对应关系<本地dns输出端口ip所属区域,域名,访问流量>。

具体的,根据第五子对应关系可以获知从本地dns输出端口ip所属区域流出的总流量,此时就获知了个本地dns输出端口ip所属区域为cdn节点服务器引入的流量。

6、根据第五对应关系和第五子对应关系,获得第六对应关系<本地dns输出端口ip所属区域,调度域名,访问流量>。

具体的,根据第六对应关系可以获知该本地dns输出端口ip所属区域的调度域名的流量。

7、根据本地dns输出端口ip所属区域的调度域名的流量和与所述调度域名相关的历史流量记录设定的系数,进行加权计算,获得与所述调度域名相关的预测流量。

具体方式参见实施例一,在此不再一一赘述。

在一个具体的应用场景中,用户区域包括北京用户区域和上海用户区域,本地dns包括北京的本地dns和上海的本地dns,cdn节点服务器包括北京的cdn节点服务器和上海的cdn节点服务器,并且北京用户区域和上海用户区域的访问域名都为a.test.com,其中,在本地dns中记录有用户ip和本地dns输入端口ip的对应关系的日志记录,cdn节点服务器中记录用户ip、域名、cdn节点服务器、访问流量和时间戳的对应关系的日志记录,在一个具体的实现方式中,具体如图8所示,包括以下步骤:

1、对上海的本地dns的日志记录和北京的本地dns的日志记录分别根据ip和区域的对应关系进行ip-区域转换处理,得到用户ip所属区域和本地dns输入端口ip所述区域的对应关系。

2、对上述得到的对应关系进行分析统计,根据ip所属区域和本地dns输入端口ip所述区域的对应关系的个数,得到北京用户区域访问北京的本地dns的访问次数和访问上海的本地dns的访问次数,以及上海用户区域访问北京的本地dns的访问次数和访问上海的本地dns的访问次数。

3、根据上述得到的访问次数确定出北京用户在北京本地dns的访问次数对北京用户区域产生的总访问次数的第一比例,北京用户在上海本地dns的访问次数对北京用户区域产生的总访问次数的第二比例,上海用户在北京本地dns的访问次数对上海用户区域产生的总访问次数的第三比例,上海用户在上海本地dns的访问次数对上海用户区域产生的总访问次数的第四比例。

例如:得到第一比例为0.9,第二比例为0.1,第三比例为0,第四比例为1,并生成用户表示上述数据的对应关系:<北京用户区域,北京的本地dns,0.9>,<北京用户区域,上海的本地dns,0.1>,<上海用户区域,北京的本地dns,0>和<上海用户区域,上海的本地dns,1>。

4、根据ip和区域的对应关系,确定出本地dns输出端口ip所属的区域,其中,北京的本地dns输出端口ip所属的区域为北京,上海的本地dns输出端口ip所属的区域为上海。

5、将上述得到的第一比例、第二比例、第三比例和第四比例,转换为用户ip所属区域、本地dns输出端口ip所属区域和流量比例的对应关系,即<北京用户区域,北京的本地dns的输出端口,0.9>,<北京用户区域,上海的本地dns的输出端口,0.1>,<上海用户区域,北京的本地dns的输出端口,0>和<上海用户区域,上海的本地dns的输出端口,1>。

6、对北京的cdn节点服务器和上海的cdn节点服务器生成的日志记录分别根据ip和区域的对应关系进行ip-区域的转换处理,得到的对应关系为:<用户ip所属区域、域名、cdn节点服务器、访问流量和时间戳>。

7、根据步骤6中得到的对应关系,将属于同一区域的日志记录进行收敛、聚合,得到包含有用户区域和该用户区域在该cdn节点服务器上产生的总访问流量的对应关系。

例如,如果上海用户区域的用户没有在北京的cdn节点服务器上产生流量,那么可以得到以下三个对应关系:<上海用户区域,a.test.com,上海的cdn节点服务器,3000,1476093274>;<北京用户区域,a.test.com,上海的cdn节点服务器,1000,1476093274>,和<北京用户区域,a.test.com,北京的cdn节点服务器,6000,1476093274>,上述三个对应关系用于表示的对应关系为:<用户区域,域名,cdn节点服务器,访问流量,时间戳>,进一步的,根据上述三个对应关系可以得到上海用户区域访问a.test.com时产生的总流量为3000bytes,北京用户区域访问a.test.com时产生的总流量为7000bytes。

8、根据步骤5中得到的对应关系和北京用户区域访问a.test.com时产生的总流量可以确定出北京的本地dns为北京的cdn节点服务器引入的总流量为6300byes,北京的本地dns为上海的cdn节点服务器引入的总流量为700byes,根据步骤5中得到的对应关系和上海用户区域访问a.test.com时产生的总流量,可以确定出上海的本地dns为北京的cdn节点服务器引入的总流量为0byes,上海的本地dns为上海的cdn节点服务器引入的总流量为3000byes。进一步的,在访问a.test.com时,由本地dns为北京的cdn节点服务器引入的总流量为6300byes,由本地dns为上海的cdn节点服务器引入的总流量为3700byes。

9、当北京用户区域内的用户访问了多个域名时,即有该多个域名组成了一个调度域名,可以根据北京用户访问该多个域名时,在北京的本地dns的输出端口区域的总流量和在上海本地dns的输出端口区域的总流量,确定出该调度域名的流量。

10、当一个调度域名的流量为8000byes时,该调度域名的历史流量记录为10000byes,假如设定当前调度域名的流量的权重系数为0.6,该调度域名的历史流量的权重系数为0.4,获得的该调度域名的预测流量为:8000byes*0.6+10000byes*0.4=8800byes。

11,在得到调度域名的预测流量后,根据预测流量进行全局流量预测。

在一个具体的实现方案中,在进行全局流量预测时,根据该预测流量在对应的cdn节点服务器中为该调度域名分配流量资源。

例如:北京的cdn节点服务器为该调度域名提供服务,并且该调度域名的预测流量为8800byes,则在北京的cdn节点服务器中为该调度域名预先分配8800byes的流量资源,北京的cdn节点服务器使用该8800byes的流量资源为该调度域名提供服务,但是如果北京的cdn节点服务器中的最大流量资源小于8800byes,则需要新增一个cdn节点服务器,使得原来的北京的cdn节点服务器和新增的cdn节点服务器的流量资源之和不小于8800byes,然后在原来的北京的cdn节点服务器和新增的cdn节点服务器中为该调度域名预先分配8800byes的流量资源,原来的北京的cdn节点服务器和新增的cdn节点服务器使用该8800byes的流量资源为该调度域名提供服务;或者是,如果上海的cdn节点服务器中有闲置的流量资源,并且该闲置的流量资源与北京的cdn节点服务器中的最大流量资源之和不小于8800byes,那么也可以将该闲置的流量资源分配给该调度域名使用,即北京的cdn节点服务器和上海的cdn节点服务器共同为该调度域名提供流量资源。

实施例六

本方案实施例还提出一种流量预测装置,该装置可分别用于实现实施例一、实施例二、实施例三和实施例四中提出的方法流程,具体如图9所示,该装置包括:

流量采集单元71,用于采集来自各用户区域的流量;

流量占比计算单元72,用于在已采集的来自每个用户区域的流量中,确定该用户区域的流量流向各本地dns的输出端口区域的占比;

流量统计单元73,用于根据来自各用户区域的流量和每个用户区域的流量流向各本地dns的输出端口区域的占比,确定各本地dns的输出端口区域的总流量。

所述流量采集单元71,具体用于:

根据用户ip对应的流量、ip与区域的映射关系,获得属于同一用户区域内所有用户ip的总流量。

所述流量占比计算单元72,具体用于:

获取第一流量比例;所述第一流量比例表示单个用户区域对单个本地dns的输入端口区域的访问次数占该用户区域对所有本地dns的输入端口区域的访问次数的比例;

根据输入端口区域与输出端口区域的映射关系以及所述第一流量比例,获得第二流量比例,以作为该用户区域的流量流向各本地dns的输出端口区域的占比;所述第二流量比例表示单个用户区域对单个本地dns的输出端口区域的访问次数占该用户区域对所有本地dns的输出端口区域的访问次数的比例。

当所述流量占比计算单元72用于获取第一流量比例时,包括:

统计各用户ip对各本地dns的输入端口ip的访问次数,将同属于同一用户区域的用户ip进行聚类,获得各用户区域对于各本地dns的输入端口ip的访问次数,以作为第一访问次数;

以所述第一访问次数为基础,将同属于同一本地dns的输入端口区域的输入端口ip进行聚类,得到各用户区域对各本地dns的输入端口区域的访问次数,以作为第二访问次数;

根据第一访问次数和第二访问次数,获得第一流量比例。

在一个具体的实施方案中,所述装置还包括:

调度域名流量计算单元74,用于根据各本地dns的输出端口区域的总流量以及区域与调度域名的映射关系,获得调度域名的流量。

在一个具体的实施方案中,所述装置还包括:

调度域名流量预测单元75,用于根据所述调度域名的流量,以及,与所述调度域名相关的历史流量记录,获得与所述调度域名相关的预测流量。

在本方案实施例中,在流量采集单元采集了来自各用户区域的流量后,就获得了属于同一区域内的所有用户产生的总流量,然后流量占比计算单元在已采集的来自每个用户区域的流量中,确定该用户区域的流量流向各本地dns的输出端口区域的占比,此时就可以确定出各区域内的用户产生的流量在各本地dns的流量输出比例,流量统计单元再根据来自各用户区域的流量和每个用户区域的流量流向各本地dns的输出端口区域的占比,确定各本地dns的输出端口区域的总流量,即确定出了所有区域内的用户产生的流量流向各本地dns输出端口区域的具体流量,进一步的,根据确定出的各本地dns的输出端口区域的总流量可知各本地dns的输出端口区域为对应的cdn节点服务器引入的流量,由于cdn节点服务器的访问流量是根据本地dns的输出端口区域引入的,因此根据各本地dns的输出端口区域的总流量来预测流量提高了预测到的流量的准确性。

实施例七

图10为cdn调度服务器100的简化框图。该cdn调度服务器100可以包括与一个或多个数据存储工具连接的处理器101,该数据存储工具可以包括存储介质102和内存单元103。cdn调度服务器100还可以包括输入接口104和输出接口105,用于与另一装置或系统进行通信。被处理器101的cpu执行的程序代码可存储在内存单元103或存储介质102中。

cdn调度服务器100中的处理器101调用存储在内存单元103或存储介质102的程序代码,可执行下面各步骤:

采集来自各用户区域的流量;

在已采集的来自每个用户区域的流量中,确定该用户区域的流量流向各本地dns的输出端口区域的占比;

根据来自各用户区域的流量和每个用户区域的流量流向各本地域名系统dns的输出端口区域的占比,确定各本地dns的输出端口区域的总流量。

在一个具体的实现方案中,所述处理器101还用于根据用户ip对应的流量、ip与区域的映射关系,获得属于同一用户区域内所有用户ip的总流量。

在一个具体的实现方案中,所述处理器101还用于获取第一流量比例;所述第一流量比例表示单个用户区域对单个本地dns的输入端口区域的访问次数占该用户区域对所有本地dns的输入端口区域的访问次数的比例;根据输入端口区域与输出端口区域的映射关系以及所述第一流量比例,获得第二流量比例,以作为该用户区域的流量流向各本地dns的输出端口区域的占比;所述第二流量比例表示单个用户区域对单个本地dns的输出端口区域的访问次数占该用户区域对所有本地dns的输出端口区域的访问次数的比例。

在一个具体的实现方案中,所述处理器101还用于统计各用户ip对各本地dns的输入端口ip的访问次数,将同属于同一用户区域的用户ip进行聚类,获得各用户区域对于各本地dns的输入端口ip的访问次数,以作为第一访问次数;以所述第一访问次数为基础,将同属于同一本地dns的输入端口区域的输入端口ip进行聚类,得到各用户区域对各本地dns的输入端口区域的访问次数,以作为第二访问次数;根据第一访问次数和第二访问次数,获得第一流量比例。

在一个具体的实现方案中,所述处理器101还用于根据各本地dns的输出端口区域的总流量以及区域与调度域名的映射关系,获得调度域名的流量。

在一个具体的实现方案中,所述处理器101还用于根据所述调度域名的流量,以及,与所述调度域名相关的历史流量记录,获得与所述调度域名相关的预测流量。

上述实施例六中,存储介质可以是只读存储器(read-onlymemory,rom),或是可读写的,例如硬盘、闪存。内存单元可为随机存取存储器(randomaccessmemory,ram)。内存单元可与处理器物理集成或集成在存储器中或构建为单独的单元。

处理器为上述cdn调度服务器的控制中心,并提供处理装置,用于执行指令,进行中断操作,提供计时功能以及多种其他功能。可选地,处理器包括一个或多个中央处理单元(cpu),例如图9中示出的cpu0和cpu1。上述设备中包括一个或者多个的处理器。处理器可为单核(单cpu)处理器或多核(多cpu)处理器。除非另有声明,描述为用于执行任务的例如处理器或存储器的部件可实现为通用部件,其暂时用于在给定时间执行任务,或实现为专门制造用于执行该任务的特定部件。此处所用的术语“处理器”指一个或多个装置,电路和/或处理核,用于处理数据,例如计算机程序指令。

被处理器的cpu执行的程序代码可存储在内存单元或存储介质中。可选地,存储在存储介质中的程序代码可以被复制入内存单元以便处理器的cpu执行。处理器可执行至少一个内核(例如linuxtm、unixtm、windowstm、androidtm、iostm),众所周知,该内核用于通过控制其他程序或过程的执行、控制与外围装置的通信以及控制计算机设备资源的使用来控制上述设备的操作。

上述设备中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。

在本方案所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本方案各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

以上所述仅为本方案的较佳实施例而已,并不用以限制本方案,凡在本方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本方案保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1