本申请涉及互联网技术领域,特别涉及一种内容分发网络链路评估方法。本申请同时涉及一种内容分发网络链路评估装置,一种计算设备,以及一种计算机可读存储介质。
背景技术:
内容分发网络(contentdeliverynetwork,cdn)是构筑在现有网络上的一种先进的流量分配网络,是现有网络中增加一层新的网络架构,将网站的内容分布到最接近用户的网络“边缘”,提高用户访问网站的响应速度,具有负载均衡的特点,cdn具有缓存+镜像+整体负载均衡的功能,以缓存网站中的静态数据为主。
网站内容提供者在网站发布网站内容后,将发布的内容缓存到cdn服务器中供用户下载浏览使用,网站内容提供者通常会选择多条cdn链路的服务,来保证cdn服务的质量,在现有技术的cdn系统中,cdn链路的上传速度通常是评估一条cdn链路的重要指标,现有的计算cdn链路的上传速度通常通过在网络传输组件(如nginx服务器)上统计每个链接的传输速度来评估上传速度,虽然统计过程比较简单,但是这样统计出来的上传速度受客户端、网络环境等因素的很大影响,无法在全局范围内衡量cdn链路的质量,无法对cdn链路进行准确的评估,进而导致后续无法使得cdn链路得到充分利用,最终用户的实际体验效果较差。
技术实现要素:
有鉴于此,本申请实施例提供了一种内容分发网络链路评估方法。本申请同时涉及一种内容分发网络链路评估装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的通过上传速度对cdn链路评估不准确,无法为评估cdn链路提供准确的上传速度角度的评估指标。
根据本申请实施例的第一方面,提供了一种内容分发网络链路评估方法,包括:
获取待评估内容分发网络链路;
根据预设的上传参数策略获取预设数量的上传参数;
计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度;
在每个所述上传速度中确定目标上传速度,并根据所述目标上传速度对所述待评估内容分发网络链路进行评估。
根据本申请实施例的第二方面,提供了一种内容分发网络链路评估装置,包括:
第一获取模块,被配置为获取待评估内容分发网络链路;
第二获取模块,被配置为根据预设的上传参数策略获取预设数量的上传参数;
计算模块,被配置为计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度;
评估模块,被配置为在每个所述上传速度中确定目标上传速度,并根据所述目标上传速度对所述待评估内容分发网络链路进行评估。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述内容分发网络链路评估方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述内容分发网络链路评估方法的步骤。
本申请提供的内容分发网络链路评估方法,获取待评估内容分发网络链路;根据预设的上传参数策略获取预设数量的上传参数;计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度;在每个所述上传速度中确定目标上传速度,并根据所述目标上传速度对所述待评估内容分发网络链路进行评估,本申请一实施例实现了通过上述方法,可以通过上传速度在全局角度更加准确地评估内容分发网络链路的质量。
附图说明
图1是本申请一实施例提供的一种内容分发网络链路评估方法的流程图;
图2是本申请一实施例提供的待处理文件的上传结果示意图;
图3是本申请一实施例提供的内容分发网络传输数据的结构示意图;
图4是本申请另一实施例提供的一种内容分发网络链路评估方法的处理流程图;
图5是本申请一实施例提供的一种内容分发网络链路评估装置的结构示意图;
图6是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
上传速度:一个大的文件在完成上传任务的过程中,因为网络,客户端行为等因素,会产生上传体验的差别,上传速度是用于衡量上传体验的重要指标。
在本申请中,提供了一种内容分发网络链路评估方法,本申请同时涉及一种内容分发网络链路评估装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种内容分发网络链路评估方法的流程图,具体包括以下步骤:
步骤102:获取待评估内容分发网络链路。
内容分发网络(contentdeliverynetwork,cdn)是构筑在现有网络上的一种先进的流量分配网络,是现有网络中增加一层新的网络架构,将网站的内容分布到最接近用户的网络“边缘”,提高用户访问网站的响应速度,具有负载均衡的特点,cdn具有缓存+镜像+整体负载均衡的功能,以缓存网站中的静态数据为主,网站内容提供者在网站发布网站内容后,将发布的内容缓存到cdn服务器中供用户下载浏览使用,一个大文件在完成上传任务的过程中,因为网络、客户端行为等因素会产生上传体验的差别,而上传速度是衡量一个cdn链路的重要指标。
待评估内容分发网络链路在本申请中即需要被评估的cdn链路。
在本申请提供的一具体实施方式,以待评估cdn链路cdn-a为例,获取待评估cdn链路cdn-a。
步骤104:根据预设的上传参数策略获取预设数量的上传参数。
上传参数具体是指在待上传文件上传过程中,对待上传文件进行处理的参数,如将待处理文件分割为多大的文件包、用几个线程进行传输,传输失败时的重传次数等等,比如上传参数1为数据包大小为10k,线程数为5,重传次数为5;上传参数2为数据包大小为20k,线程数为6,重传次数为10等等。
根据不同的上传策略可以获得不同的上传参数,上传参数的具体值可以根据上传参数策略确定。
在本申请提供的一具体实施方式中,以上传参数的数量为两个为例,根据预设的上传参数策略获得预设的上传参数p1(数据包大小10k,5线程,重传次数5)和p2(数据包大小20k,10线程,重传次数10)。
步骤106:计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度。
在实际应用中,不同的cdn链路在相同的上传参数下会有不同的上传速度,同时同一个cdn链路在不同的上传参数下也会有不同的上传速度,在计算一个cdn链路时,需要计算该cdn链路在每个上传参数下的上传速度。
在本申请提供的一具体实施方式中,沿用上例,待评估cdn链路为cdn-a,两个上传参数分别为p1和p2,计算cdn-a在p1参数时的上传速度sa1,cdn-a在p2参数时的上传速度sa2。
可选的,计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度,包括:
计算所述待评估内容分发网络链路在每个所述上传参数的平均上传速度;
将所述平均上传速度作为所述待评估内容分发网络链路在当前上传参数下的上传速度。
具体的,计算所述待评估内容分发网络链路在每个所述上传参数的平均上传速度,包括:
统计多个待处理文件在当前上传参数的情况下,在所述待评估内容分发网络链路上的上传速度;
根据多个待处理文件在所述待评估内容分发网络链路上的上传速度确定所述待评估内容分发网络链路上的平均上传速度。
在实际应用中,由于受到网络波动,终端设备差异等原因,会导致单个的上传文件的上传速度不够精确,因此可以计算多个文件的上传速度,进而确定一个平均上传速度,并将平均上传速度作为待评估cdn链路在当前上传参数下的上传速度,如对于待评估cdn链路,在某个上传参数下共计上传10个文件,每个文件的上传速度分别为s1,s2……s10,则待评估cdn链路在当前上传参数下的平均上传速度s=(s1+s2+……+s10)/10,则平均上传速度s即为待评估cdn链路在当前上传参数下的上传速度。使用平均上传速度标识待评估cdn链路在当前上传参数下的上传速度可以使得上传速度的值更趋近于真实值。
在实际应用中,所述当前上传参数包括文件分块大小、线程数;
统计多个待处理文件在当前上传参数的情况下,在所述待评估内容分发网络链路上的上传速度,包括下述步骤s1062至s1068:
s1062、接收待处理文件的上传请求,其中,所述上传请求中携带有所述上传请求的发送时间和待处理文件体积。
参见图2,图2示出了本申请一实施例提供的一个待处理文件的上传结果示意图。以待评估cdn链路在某一个上传参数下为例进行解释说明,客户端将待处理文件上传至服务器,向服务器发送上传请求,上传请求中携带有上传请求的发送时间t1和待处理文件体积v,服务器接收到上传请求后,确定cdn链路和上传参数,上传参数包括文件分块大小、线程数,并将cdn链路和上传参数返回给客户端,客户端根据上传参数将待处理文件切割为若干个数据包,并通过cdn链路传输至服务器。
s1064、接收通过所述线程数对应的线程传输的数据包集合,其中,所述数据包集合由所述待上传文件根据所述文件分块大小分割获得。
接收客户端通过上传参数中的线程数对应的线程传输的数据包集合,如上传参数中的线程数为5,则通过5个线程传输数据包集合,若上传参数中的线程数为10,则通过10个线程传输数据包集合,线程之间是并行传输的状态,互不影响。
数据包集合中的数据包是根据上传参数中的文件分块大小确定的,如待处理文件为10000k,若文件分块大小为10k,则数据包集合中共有1000个数据包;若文件分块大小为20k,则数据包集合中共有500个数据包。
s1066、在所述数据包集合接收完毕后对所述数据包集合中的数据包进行合并,并获取数据包集合的合并完成时间。
在接收完数据包集合中的数据包后,在服务器册对接收到的数据包进行合并,还原所述待处理文件,并记录数据包集合中的数据包合并完成时间t2。
s1068、根据所述合并完成时间、所述上传请求的发送时间和所述待处理文件体积确定所述待评估内容分发网络链路在当前上传参数下的上传速度。
根据合并完成时间t2、上传请求的发送时间t1和待处理文件的体积v即可确定待评估cdn链路在当前上传参数下的上传速度s=v/(t2-t1)。
可选的,所述方法还包括:
将所述上传请求的发送时间、所述待处理文件体积写入到日志记录中所述待处理文件对应的请求开始记录;
将所述合并完成时间写入到日志记录中所述待处理文件对应的请求结束记录。
相应的,在实际应用中,在接收到上传请求时,将上传请求的发送时间t1、待处理文件体积v写入到日志记录中所述待处理文件的请求开始记录中;将合并完成时间t2写入到日志记录中所述待处理文件的请求结束记录中,将每个文件的上传记录写入到日志中,便于后续可以根据日志记录对cdn链路进行分析。
步骤108:在每个所述上传速度中确定目标上传速度,并根据所述目标上传速度对所述待评估内容分发网络链路进行评估。
在实际应用中,在计算出待评估cdn链路的在不同的上传参数下对应的上传速度后,通常上传速度快的cdn链路的质量更好,即选择最快的上传速度作为目标上传速度,将目标上传速度对应的上传参数作为目标上传参数,并根据目标上传速度对所述待评估cdn链路的评估指标,当选择该待评估cdn链路进行上传时,即可根据待评估cdn链路和目标上传参数上传文件。
在本申请提供给具体实施方式中,沿用上例,待评估cdn-a在p1参数时的上传速度sa1,cdn-a在p2参数时的上传速度sa2,其中,sa2>sa1,则确定sa2为cdn-a对应的最快的上传速度,上传参数p2为目标上传参数,将上传速度sa2作为cdn-a链路的评估指标。
可选的,所述方法还包括:
接收待上传文件的上传指令;
响应于所述上传指令获取至少两个内容分发网络链路;
确定上传速度最快的内容分发网络链路为目标内容分发网络链路;
根据所述目标内容分发网络链路上传所述待上传文件。
网站内容提供者通常会选择多条cdn链路,在实际应用中会在多条cdn链路中选择一条最优的提供服务,来保证cdn服务的质量,将上传速度作为评估一条cdn链路的重要指标,当有新的上传指令时,响应于所述上传指令,确定多条cdn链路,根据本申请提供的cdn链路评估方法,确定每个cdn链路对应的上传速度,确定上传速度最快的cdn链路为目标cdn链路,并通过目标cdn链路上传所述待上传文件。
在本申请提供的一具体实施方式中,以上传待上传文件m为例,响应于待上传文件m的上传指令,获取三条cdn链路,分别为cdn-a,cdn-b,cdn-c,cdn-a对应的上传速度为sa,cdn-b对应的上传速度为sb,cdn-c对应的上传速度为sc,其中,速度最快的上传速度为sc,则确定cdn-c链路为目标cdn链路,即选择cdn-c链路上传所述待上传文件m。
具体的,根据所述目标内容分发网络链路上传所述待上传文件,包括:
获取所述目标内容分发网络链路在最快的上传速度的情况下对应的目标上传参数;
根据所述目标内容分发网络链路和所述目标上传参数上传所述待上传文件。
在实际应用中,在确定目标cdn链路后,可以获得目标cdn链路对应的上传速度最快时对应的目标上传参数,即在目标上传参数的情况下,目标cdn链路的上传速度最快,再根据目标cdn链路和目标上传参数上传所述带上传文件。
在实际应用中,可能会出现有至少两个cdn链路的上传速度相同的情况,相应的,确定上传速度最快的内容分发网络链路为目标内容分发网络链路,包括:
在上传速度最快的内容分发网络链路为至少两个的情况下,根据预设的筛选规则确定一个内容分发网络链路为目标内容分发网络链路。
具体的,根据预设的筛选规则确定一个内容分发网络链路为目标内容分发网络链路,包括:
任选一个内容分发网络链路为目标内容分发网络链路;或者
确定负载最小的内容分发网络链路为目标内容分发网络链路;或者
确定成本最小的内容分发网络链路为目标内容分发网络链路。
在实际应用中,为了便利,可以任选一个cdn链路为目标cdn链路。也可以根据cdn链路的负载来确定目标cdn链路,每一条cdn链路都会有多个用户在使用,负载小的cdn链路对应的用户数量较少,确定负载最小的cdn链路为目标cdn链路,可以提升用户的使用体验;同时,每一条cdn链路要为相应的运行商支付相应的费用,不同运营商提供的cdn链路价格有差异,在cdn链路其他属性参数相同的情况下,可以选择价格成本最低的cdn链路为目标cdn链路。
在本申请提供的一具体实施方式中,若上传速度sa与上传速度sc相同,可以监测cdn-a和cdn-c的用户负载情况,检测到cdn-a的负载较低,使用人数较少,则确定cdn-a链路为目标cdn链路。
本申请提供的内容分发网络链路评估方法,获取待评估内容分发网络链路;根据预设的上传参数策略获取预设数量的上传参数;计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度;在每个所述上传速度中确定目标上传速度,并根据所述目标上传速度对所述待评估内容分发网络链路进行评估,本申请一实施例实现了通过上述方法,可以通过上传速度在全局角度更加准确地评估内容分发网络链路的质量,从而为后续选择质量更高的内容分发网络提供评估依据,方便从多个内容分发网络链路中选择上传速度最快的内容分发网络链路,优化上传体验,提高用户的实际体验效果。
下述结合图3和图4,对所述内容分发网络链路评估方法进行进一步说明。其中,图3示出了本申请一实施例提供的内容分发网络传输数据的结构示意图,如图3所示:
1、客户端向服务器发送上传请求,所述上传请求中携带有所述上传请求的发送时间和待处理文件体积。
2、服务器的调度中心确定目标cdn和目标cdn对应的目标上传参数,并将目标cdn和目标上传参数发送给客户端。
3、客户端根据目标cdn和目标上传参数对待上传文件进行分割并上传至服务器的存储中心。
4、服务器的存储中心生成日志,记录在日志中心。
5、调度中心从日志中心获取日志记录,对每条cdn链路的上传速度进行分析,确定目标cdn链路和目标cdn链路对应的目标上传参数。
图4示出了本申请一实施例提供的应用于内容分发网络链路选择场景中的内容分发网络链路评估方法的处理流程图,具体包括以下步骤:
步骤402:接收待上传文件的上传指令。
在本申请提供的实施例中,接收待上传文件f的上传指令。
步骤404:响应于所述上传指令获取三个cdn链路。
在本申请提供的实施例中,获取cdn链路分别为cdn1、cdn2和cdn3。
步骤406:根据预设的上传参数策略获取预设数量的上传参数。
在本申请提供的实施例中,根据预设的上传参数策略获取预设数量的上传参数p1和p2,其中上传参数p1为(文件分块大小10k,5线程,5次重试),上传参数p2为(文件分块大小20k,10线程,10次重试)。
步骤408:统计多个待处理文件在当前上传参数的情况下,在当前cdn链路上的上传速度。
在本申请提供的实施例中,统计多个待处理文件在上传参数p1的情况下,cdn1的上传速度为s111、s112、……s11n;统计多个待处理文件在上传参数p2的情况下,cdn1的上传速度为s121、s122、……s12n;统计多个待处理文件在上传参数p1的情况下,cdn2的上传速度为s211、s212、……s21n;统计多个待处理文件在上传参数p2的情况下,cdn2的上传速度为s221、s222、……s22n;统计多个待处理文件在上传参数p1的情况下,cdn3的上传速度为s311、s312、……s31n;统计多个待处理文件在上传参数p2的情况下,cdn3的上传速度为s321、s322、……s32n。
步骤410:根据多个待处理文件在所述当前cdn链路上的上传速度确定所述当前cdn链路上的平均上传速度。
在本申请提供的实施例中,根据s111、s112、……s11n确定在cdn1链路中上传参数p1的情况下的平均上传速度s11;根据s121、s122、……s12n确定在cdn1链路中上传参数p2的情况下的平均上传速度s12;根据s211、s212、……s21n确定在cdn2链路中上传参数p1的情况下的平均上传速度s21;根据s221、s222、……s22n确定在cdn2链路中上传参数p2的情况下的平均上传速度s22;根据s311、s312、……s31n确定在cdn3链路中上传参数p1的情况下的平均上传速度s31;根据s321、s322、……s32n确定在cdn3链路中上传参数p2的情况下的平均上传速度s32。
步骤412:确定上传速度最快的cdn链路为目标cdn链路。
在本申请提供的实施例中,确定平均上传速度s22最快,则cdn2链路为目标cdn链路。
步骤414:获取所述目标cdn链路对应的目标上传参数。
在本申请提供的实施例中,获取cdn2链路对应的目标上传参数p2。
步骤416:根据所述目标cdn链路和所述目标上传参数上传所述待上传文件。
在本申请提供的实施例中,根据cdn2链路和目标上传参数p2上传所述待上传文件f。
本申请提供的内容分发网络链路评估方法,获取待评估内容分发网络链路;根据预设的上传参数策略获取预设数量的上传参数;计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度;在每个所述上传速度中确定目标上传速度,并根据所述目标上传速度对所述待评估内容分发网络链路进行评估,本申请一实施例实现了通过上述方法,可以通过上传速度在全局角度更加准确地评估内容分发网络链路的质量,从而为后续选择质量更高的内容分发网络提供评估依据,方便从多个内容分发网络链路中选择上传速度最快的内容分发网络链路,优化上传体验,提高用户的实际体验效果。
与上述方法实施例相对应,本申请还提供了内容分发网络链路评估装置实施例,图5示出了本申请一实施例提供的一种内容分发网络链路评估装置的结构示意图。如图5所示,该装置包括:
第一获取模块502,被配置为获取待评估内容分发网络链路;
第二获取模块504,被配置为根据预设的上传参数策略获取预设数量的上传参数;
计算模块506,被配置为计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度;
评估模块508,被配置为在每个所述上传速度中确定目标上传速度,并根据所述目标上传速度对所述待评估内容分发网络链路进行评估。
可选的,所述计算模块506,进一步被配置为:
计算所述待评估内容分发网络链路在每个所述上传参数的平均上传速度;
将所述平均上传速度作为所述待评估内容分发网络链路在当前上传参数下的上传速度。
可选的,所述计算模块506,进一步被配置为:
统计多个待处理文件在当前上传参数的情况下,在所述待评估内容分发网络链路上的上传速度;
根据多个待处理文件在所述待评估内容分发网络链路上的上传速度确定所述待评估内容分发网络链路上的平均上传速度。
可选的,所述当前上传参数包括文件分块大小、线程数;
所述计算模块506,进一步被配置为:
接收待处理文件的上传请求,其中,所述上传请求中携带有所述上传请求的发送时间和待处理文件体积;
接收通过所述线程数对应的线程传输的数据包集合,其中,所述数据包集合由所述待上传文件根据所述文件分块大小分割获得;
在所述数据包集合接收完毕后对所述数据包集合中的数据包进行合并,并获取数据包集合的合并完成时间;
根据所述合并完成时间、所述上传请求的发送时间和所述待处理文件体积确定所述待评估内容分发网络链路在当前上传参数下的上传速度。
可选的,所述装置还包括:
写入模块,被配置为将所述上传请求的发送时间、所述待处理文件体积写入到日志记录中所述待处理文件对应的请求开始记录;将所述合并完成时间写入到日志记录中所述待处理文件对应的请求结束记录。
可选的,所述装置还包括:
接收模块,被配置为接收待上传文件的上传指令;
响应模块,被配置为响应于所述上传指令获取至少两个内容分发网络链路;
确定模块,被配置为确定上传速度最快的内容分发网络链路为目标内容分发网络链路;
上传模块,被配置为根据所述目标内容分发网络链路上传所述待上传文件。
可选的,所述上传模块,进一步被配置为:
获取所述目标内容分发网络链路在最快的上传速度的情况下对应的目标上传参数;
根据所述目标内容分发网络链路和所述目标上传参数上传所述待上传文件。
可选的,所述确定模块,进一步被配置为:
在上传速度最快的内容分发网络链路为至少两个的情况下,根据预设的筛选规则确定一个内容分发网络链路为目标内容分发网络链路。
可选的,所述确定模块,进一步被配置为:
任选一个内容分发网络链路为目标内容分发网络链路;或者
确定负载最小的内容分发网络链路为目标内容分发网络链路;或者
确定成本最小的内容分发网络链路为目标内容分发网络链路。
本申请提供的内容分发网络链路评估装置,包括第一获取模块,被配置为获取待评估内容分发网络链路;第二获取模块,被配置为根据预设的上传参数策略获取预设数量的上传参数;计算模块,被配置为计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度;评估模块,被配置为在每个所述上传速度中确定目标上传速度,并根据所述目标上传速度对所述待评估内容分发网络链路进行评估,本申请一实施例实现了通过上述装置,可以通过上传速度在全局角度更加准确地评估内容分发网络链路的质量,从而为后续选择质量更高的内容分发网络提供评估依据,方便从多个内容分发网络链路中选择上传速度最快的内容分发网络链路,优化上传体验,提高用户的实际体验效果。
上述为本实施例的一种内容分发网络链路评估装置的示意性方案。需要说明的是,该内容分发网络链路评估装置的技术方案与上述的内容分发网络链路评估方法的技术方案属于同一构思,内容分发网络链路评估装置的技术方案未详细描述的细节内容,均可以参见上述内容分发网络链路评估方法的技术方案的描述。
图6示出了根据本申请一实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
在本申请的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,处理器620执行所述指令时实现所述的内容分发网络链路评估方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的内容分发网络链路评估方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述内容分发网络链路评估方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述内容分发网络链路评估方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的内容分发网络链路评估方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述内容分发网络链路评估方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
1.一种内容分发网络链路评估方法,其特征在于,包括:
获取待评估内容分发网络链路;
根据预设的上传参数策略获取预设数量的上传参数;
计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度;
在每个所述上传速度中确定目标上传速度,并根据所述目标上传速度对所述待评估内容分发网络链路进行评估。
2.如权利要求1所述的内容分发网络链路评估方法,其特征在于,计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度,包括:
计算所述待评估内容分发网络链路在每个所述上传参数的平均上传速度;
将所述平均上传速度作为所述待评估内容分发网络链路在当前上传参数下的上传速度。
3.如权利要求2所述的内容分发网络链路评估方法,其特征在于,计算所述待评估内容分发网络链路在每个所述上传参数的平均上传速度,包括:
统计多个待处理文件在当前上传参数的情况下,在所述待评估内容分发网络链路上的上传速度;
根据多个待处理文件在所述待评估内容分发网络链路上的上传速度确定所述待评估内容分发网络链路上的平均上传速度。
4.如权利要求3所述的内容分发网络链路评估方法,其特征在于,所述当前上传参数包括文件分块大小、线程数;
统计多个待处理文件在当前上传参数的情况下,在所述待评估内容分发网络链路上的上传速度,包括:
接收待处理文件的上传请求,其中,所述上传请求中携带有所述上传请求的发送时间和待处理文件体积;
接收通过所述线程数对应的线程传输的数据包集合,其中,所述数据包集合由所述待上传文件根据所述文件分块大小分割获得;
在所述数据包集合接收完毕后对所述数据包集合中的数据包进行合并,并获取数据包集合的合并完成时间;
根据所述合并完成时间、所述上传请求的发送时间和所述待处理文件体积确定所述待评估内容分发网络链路在当前上传参数下的上传速度。
5.如权利要求4所述的内容分发网络链路评估方法,其特征在于,所述方法还包括:
将所述上传请求的发送时间、所述待处理文件体积写入到日志记录中所述待处理文件对应的请求开始记录;
将所述合并完成时间写入到日志记录中所述待处理文件对应的请求结束记录。
6.如权利要求1-5任意一项所述的内容分发网络链路评估方法,其特征在于,所述方法还包括:
接收待上传文件的上传指令;
响应于所述上传指令获取至少两个内容分发网络链路;
确定上传速度最快的内容分发网络链路为目标内容分发网络链路;
根据所述目标内容分发网络链路上传所述待上传文件。
7.如权利要求6所述的内容分发网络链路评估方法,其特征在于,根据所述目标内容分发网络链路上传所述待上传文件,包括:
获取所述目标内容分发网络链路在最快的上传速度的情况下对应的目标上传参数;
根据所述目标内容分发网络链路和所述目标上传参数上传所述待上传文件。
8.如权利要求6所述的内容分发网络链路评估方法,其特征在于,确定上传速度最快的内容分发网络链路为目标内容分发网络链路,包括:
在上传速度最快的内容分发网络链路为至少两个的情况下,根据预设的筛选规则确定一个内容分发网络链路为目标内容分发网络链路。
9.如权利要求8所述的内容分发网络链路评估方法,其特征在于,根据预设的筛选规则确定一个内容分发网络链路为目标内容分发网络链路,包括:
任选一个内容分发网络链路为目标内容分发网络链路;或者
确定负载最小的内容分发网络链路为目标内容分发网络链路;或者
确定成本最小的内容分发网络链路为目标内容分发网络链路。
10.一种内容分发网络链路评估装置,其特征在于,包括:
第一获取模块,被配置为获取待评估内容分发网络链路;
第二获取模块,被配置为根据预设的上传参数策略获取预设数量的上传参数;
计算模块,被配置为计算所述待评估内容分发网络链路在每个所述上传参数下的上传速度;
评估模块,被配置为在每个所述上传速度中确定目标上传速度,并根据所述目标上传速度对所述待评估内容分发网络链路进行评估。
11.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-9任意一项所述方法的步骤。
12.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-9任意一项所述方法的步骤。
技术总结