本申请涉及互联网应用领域,具体涉及一种源站访问流量的调整方法和装置,以及一种电子设备和存储设备。
背景技术:
现有大多数服务端都有多个源站,在请求回源时,通常采用的方式是按照轮询,即轮询每个源站完成回源请求。如图1所示,图1示出现有技术中回源架构,客户端(client)首先访问到代理服务端(proxyserver),代理服务器去查询dns服务器获取到多个用户源站ip,然后轮询不同的用户源站,进而分配回源请求。
然而,由于网络情况比较复杂,在回源过程中存在部分源站ip会被运营商劫持,导致访问失败的问题;或者,部分源站ip本身网络情况较差,导致下载很慢的问题,最终可能会导致服务异常,数据资源无法获得。
为避免上述问题,现有技术可以通过四层或七层的主动探测,探测每个源站是否可以提供服务,从而在回源过程将不可提供服务的源站自动摘除,但是主动探测的方案存在下述至少两方面的缺陷:
一、不能解决某些源站由于网络抖动造成的下载慢或者下载失败的问题,以及网络丢包引起的服务异常的问题。
二、不能合理利用不同源站的服务能力,只能通过轮询完成回源。
技术实现要素:
本申请提供一种源站访问流量的调整方法,以解决现有技术中回源服务不合理的问题。
本申请提供一种源站访问流量的调整方法,包括:
发送针对每个源站的回源请求,并产生相应回源日志,其中,所述回源日志由至少两个源站产生;
接收根据所述每个源站的回源日志,确定所述每个源站的回源权重;
根据所述每个源站的回源权重调整每个源站的访问流量。
在一些实施例中,还包括:
提取所述回源日志中的回源特征值;
根据所述回源特征值计算所述回源日志对应的所述源站的回源流量特征值;
根据所述回源流量特征值确定所述源站的回源权重。
在一些实施例中,还包括:
根据设定的汇总条件,对所述回源日志进行汇总;
在汇总的所述回源日志中提取如下至少一种回源特征值:
回源响应时间的回源特征值;
回源接收数据的大小的回源特征值;
回源请求次数的回源特征值;
回源失败次数的回源特征值。
在一些实施例中,还包括:
根据预设的探测时间条件,对所述探测时间内的每个源站的所述回源日志进行汇总,和/或,针对每个域名按照ip粒度对所述回源日志进行汇总。
在一些实施例中,还包括:
根据所述回源特征值确定所述源站回源的下载速率和/或下载成功率;
根据所述下载速率和/或下载成功率,计算所述源站的当前回源流量特征值;
根据所述源站的当前回源流量特征值确定所述源站的回源流量特征值。
在一些实施例中,还包括:
设定调整系数;
根据所述下载速率和/或下载成功率,以及所述调整系数,计算所述源站的当前回源流量特征值。
在一些实施例中,所述调整系数是根据倾向于所述下载速率或倾向于所述下载成功率而设定的。
在一些实施例中,还包括:
设定所述源站的最低回源流量特征值;
判断所述源站的当前回源流量特征值是否大于所述最低回源流量特征值,若是,则将所述源站的当前回源流量特征值确定为所述源站的回源流量特征值,若否,则将所述源站的最低回源流量特征值确定为所述源站的回源流量特征值。
在一些实施例中,所述设定所述源站的最低回源流量特征值是根据平均每个源站回源比例的10%确定。
在一些实施例中,还包括:
根据所述回源响应时间的回源特征值和所述回源接收数据的大小的回源特征值,计算所述源站回源的下载速率;
和/或,
根据所述源站的回源请求次数的回源特征值和回源失败次数的回源特征值,计算所述源站回源的下载成功率。
在一些实施例中,还包括:
定义所述源站回源的下载速率上限和下载速率下限;
判断所述下载速率是否大于所述下载速率上限,若是,则将所述下载速率上限作为确定的所述源站回源的下载速率;若否,则判断所述下载速率是否小于所述下载速率下限,若是,则将所述下载速率下限作为确定的所述源站回源的下载速率。
在一些实施例中,还包括:
定义所述源站回源的下载成功率上限和下载成功率下限;
判断所述下载成功率是否大于所述下载成功率上限,若是,则将所述下载成功率上限确定为所述源站回源的下载成功率;若否,则判断所述下载成功率是否小于所述下载成功率下限,若是,则将所述下载成功率下限确定为所述源站回源的下载成功率。
在一些实施例中,还包括:
根据所述源站的回源流量特征值和所述源站的当前回源流量特征值,确定所述源站的回源权重。
在一些实施例中,还包括:
采用下述公式根据所述源站的当前回源流量特征值和所述回源流量特征值,确定所述源站的回源权重:
其中,wn为第n个源站的回源权重,pn为第n源站的回源流量特征值,pi为源站的当前回源流量特征值。
在一些实施例中,还包括:
根据所述回源权重,向所述源站分配回源请求。
本申请还提供一种源站访问流量的调整装置,包括:
发送单元,用于发送针对每个源站的回源请求,并产生相应回源日志,其中,所述回源日志由至少两个源站产生;
接收单元,用于接收根据所述每个源站的回源日志,确定的所述每个源站的回源权重;
调整单元,用于根据所述每个源站的所述回源权重调整所述每个源站的访问流量。
本申请还提供一种电子设备,包括:
处理器;
存储器,用于存储对网络平台产生数据进行处理的程序,所述程序在被所述处理器读取执行时,执行如下操作:
发送针对每个源站的回源请求,并产生相应回源日志,其中,所述回源日志是针对同一回源请求由至少两个源站产生;
接收根据所述每个源站的回源日志,确定的所述每个源站的回源权重;
根据所述每个源站的所述回源权重调整所述每个源站的访问流量。
本申请还提供一种存储设备,存储网络平台产生数据,以及对应所述网络平台产生数据进行处理的程序;
所述程序在被所述处理器读取执行时,执行如下操作:
发送针对每个源站的回源请求,并产生相应回源日志,其中,所述回源日志是针对同一回源请求由至少两个源站产生;
接收根据所述每个源站的回源日志,确定的所述每个源站的回源权重;
根据所述每个源站的所述回源权重调整所述每个源站的访问流量。
与现有技术相比,本申请具有以下优点:
本申请提供的一种源站访问流量的调整方法,通过发送的针对每个源站的回源请求产生的回源日志,接收根据所述回源日志确定的每个源站的回源权重,之后根据每个源站的回源权重调整每个源站的访问流量,从而能够针对每个源站的实际回源情况进行访问流量的调整,使得回源时无需轮询每个源站分配回源请求,避免现有技术中统一设定每个源站的回源流量而带来的服务性能存在差距的情况,以及能够根据每个源站的当前的回源流量,获知当前每个源站服务能力,进而为后续回源请求的分配提供更好的参考;同时能够确保每个源站具有一定的回源流量以避免源站被挂起而导致该源站服务功能终止,也就是说能够使得源站在服务较差或者暂停后,监测源站服务功能恢复情况,并根据恢复情况分配回源请求。
本申请还提供一种源站回源流量的确定方法,通过获取源站的回源日志,根据每个源站的所述回源日志,确定所述每个源站的回源权重;将所述每个源站的回源权重确定为所述每个源站的回源流量,进而实现能够根据每个源站自身回源情况,确定其当前拥有的回源流量,而避免统一设定的回源流量的源站在服务能力上存在服务能力较低却承担较大回源流量,或者服务能力较大却承担较小的回源流量的弊端。
附图说明
图1是现有技术中回源系统的架构图;
图2是本申请提供的一种源站访问流量的调整方法实施例的流程图;
图3是本申请提供的一种源站访问流量的调整装置实施例的结构示意图;
图4是本申请提供的一种源站回源流量的确定方法实施例的流程图;
图5是本申请提供的一种源站回源流量的确定装置实施例的结构示意图;
图6是本申请提供的一种回源系统实施例的架构图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请中使用的术语是仅仅出于对特定实施例描述的目的,而非旨在限制本申请。在本申请中和所附权利要求书中所使用的描述方式例如:“一种、“第一”、和“第二”等,并非对数量上的限定或先后顺序上的限定,而是用来将同一类型的信息彼此区分。
本申请提供一种源站访问流量的调整方法,能够通过确定的每个源站的回源权重,对每个源站进行访问流量的调整,即:能够合理利用每个源站的服务能力,对于权重低(负载高)的源站减少其承担的访问流量,权重高(负载低)的源站增加其承担的访问流量。具体请参考图2所示,图2是本申请提供的一种源站访问流量的调整方法实施例的流程图。
本申请提供的一种源站访问流量的调整方法,包括:
步骤s201:发送针对每个源站的回源请求,并产生相应回源日志,其中,所述回源日志由至少两个源站产生。
所述步骤s201中的所述源站可以理解为,在获取资源时,通过设置多个能够提供资源的节点作为源站。所述回源请求可以理解为,当客户端需要获取资源时,可以通过向所述源站发出请求来获取需要的资源,该请求可以看做为回源请求。通常情况下,回源策略能够使得在对回源源站的设置上会设定多个源站保证资源获取的效率和可靠性。
所述回源日志可以理解为,记录的针对回源请求,所述源站作出的相关操作的信息,或者也可以理解为针对回源请求访问源站的访问日志,包括:访问数量、回源流量、回源状态等等相关信息。
在本实施例中,发送的回源日志至少来自两个源站。
可以理解的是,在本实施例中,所述回源日志可以通过代理服务器进行发送,发送至adjustflow组件,也可以由adjustflow组件主动去获取。
所述步骤s201还可以包括:
收集每个源站的回源日志,所述回源日志来自至少两个源站。
步骤s202:接收根据所述每个源站的回源日志,确定的所述每个源站的回源权重。
所述步骤s202中根据对回源日志的分析,确定出每个源站的回源权重,具体过程可以包括:
步骤s202-a:提取所述回源日志中的回源特征值;
步骤s202-b:根据所述回源特征值计算所述回源日志对应的所述源站的回源流量特征值;
步骤s202-c:根据所述回源流量特征值确定所述源站的回源权重。
其中,所述步骤s202-a提取所述回源日志中的回源特征值包括:
根据设定的汇总条件,对所述回源日志进行汇总,之后对汇总后的回源日志进行回源特征值的提取。其中,所述汇总条件可以包括:
根据预设的探测时间,对所述探测时间内的每个源站的所述回源日志进行汇总,和/或,针对每个域名按照ip粒度对所述回源日志进行汇总。例如:每5秒对每个域名按照ip地址粒度进行回源日志(也可以称为访问日志)进行统计。
之后,在汇总的所述回源日志中提取如下至少一种回源特征值:
回源响应时间的回源特征值,即:可以表示为fwd_rt;
回源接收数据大小的回源特征值,即:可以表示为fwd_recv_size,单位可以是kb,但不限于此;
回源请求次数的回源特征值,即:可以表示为fwd_requests;
回源失败次数的回源特征值,即:可以表示为fwd_request_errors。
其中,所述步骤s202-b根据所述回源特征值计算所述回源日志对应的所述源站的回源流量特征值,包括:
步骤b1:根据所述回源特征值确定所述源站回源的下载速率和/或下载成功率;
步骤b2:根据所述下载速率和/或下载成功率,计算所述源站的当前回源流量特征值;
步骤b3:根据所述源站的所述当前回源流量特征值确定所述源站的回源流量特征值。
下面对步骤b1中根据所述回源特征值确定所述源站回源的下载速率和/或下载成功率,分别描述。
根据回源特征值确定源站回源的下载速率可以包括:
根据所述回源响应时间的回源特征值和所述回源接收数据的大小的回源特征值,计算所述源站回源的下载速率。具体可以是回源响应时间和回源接收数据大小的比值,获得下载速率,如下公式一所示:
公式一:down_rate=fwd_rt/fwd_recv_size;
其中,down_rate为下载速率,fwd_rt如上所述为回源响应时间,fwd_recv_size如上所述为回源接收数据大小。
根据回源特征值确定源站回源的下载成功率可以包括:
根据所述源站的回源请求次数的回源特征值和回源失败次数的回源特征值,计算所述源站回源的下载成功率,可以采用如下公式二计算得到:
公式二:down_succ_rate=(fwd_requests–fwd_request_errors)/fwd_request;
其中,down_succ_rate为下载成功率,fwd_requests如上所述为回源请求次数,fwd_request_errors回源请求失败次数。
为保证能够计算获得可靠、稳定的下载速率和下载成功率。本实施例在计算下载速率时,定义了所述源站回源的下载速率上限和下载速率下限,其中具体定义如下:
max_down_rate=10×1024kb/s;
min_down_rate=0kb/s;
max_down_rate为下载速率上限,min_down_rate为下载速率下限。
在通过上述公式一获得所述下载速率后,还需要判断所述下载速率是否大于所述下载速率上限,若是,则将所述下载速率上限作为确定的所述源站回源的下载速率;若否,则判断所述下载速率是否小于所述下载速率下限,若是,则将所述下载速率下限作为确定的所述源站回源的下载速率;否则直接采用公式一计算获得下载速率即可。
例如:
ifdown_rate>max_down_ratethen
down_rate=max_down_rate
elseifdown_rate<min_down_ratethen
down_rate=min_down_rate
end。
本实施例在计算下载成率时,定义了所述源站回源的下载成功率上限和下载成功率下限,具体定义如下:
max_succ_rate=1;
min_down_succ_rate=0;
max_succ_rate为下载成功率的上限,min_down_succ_rate为下载成功率的下限。
在通过上述公式二获得所述下载成功率后,还需要判断所述下载成功率是否大于所述下载成功率上限,若是,则将所述下载成功率上限确定为所述源站回源的下载成功率;若否,则判断所述下载成功率是否小于所述下载成功率下限,若是,则将所述下载成功率下限确定为所述源站回源的下载成功率,否则直接将采用公式二计算获得下载成功率即可。
例如:
ifdown_succ_rate>max_succ_ratethen
down_succ_rate=max_succ_rate
elseifdown_succ_rate<min_down_ratethen
down_succ_rate=min_succ_rate
end。
以上是对下载速率和下载成功率确定过程的描述,在确定下载速率和/或下载成功率,可以执行所述步骤b2,即:根据所述下载速率和/或下载成功率,计算所述源站的当前回源流量特征值,具体可以采用如下公式三进行计算:
preal=min(down_rate,10240)/(10240-0)×down_succ_rate;
为在调整每个源站的访问流量时可以根据下载速率或下载成功率进行调整,因此,在计算当前回源流量特征值时可以通过预先设定的调整系数实现,所述调整系数pm可以看做是亲和系数,用来调整所要获得源站的回源流量特征值是倾向于下载速率还是下载成功率,因此,所述根据所述下载速率和/或下载成功率,计算所述源站的当前回源流量特征值,还可以采用如下公式四进行计算:
preal=pm×min(down_rate,10240)/(10240-0)+(1-pm)×down_succ_rate;
在获得当前回源流量特征值后,执行所述步骤b3,所述步骤b3根据所述源站的当前回源流量特征值确定所述源站的回源流量特征值,可以包括:
设定所述源站的最低回源流量特征值;
根据所述最低回源流量特征值和所述当前回源流量特征值,确定所述源站的回源流量特征值。
其中,在根据所述最低回源流量特征值和所述当前回源流量特征值,确定所述源站的回源流量特征值时,可以通过下述公式选取最终的所述源站的回源流量特征值,也就是,通过判断所述源站的当前回源流量特征值与设定的最低回源流量特征值,来确定每个源站最终的回源流量特征值。
pn=max(preal,pmin);
该公式的含义是在preal与pmin之间选取一个较大的确定为源站的回源流量特征值,具体可以是:
判断所述源站的当前回源流量特征值是否大于所述最低回源流量特征值,若是,则将所述源站的当前回源流量特征值确定为所述源站的回源流量特征值,若否,则将所述源站的最低回源流量特征值确定为所述源站的回源流量特征值。
其中,所述设定所述源站的最低回源流量特征值是根据所述源站获取回源日志前的回源量确定的,其中最低回源流量特征值可以是平均每个源站回源比例的1/10,具体可以采用如下公式:
pmin=0.1×(1/n);
其中,pmin表示最低回源流量特征值,n表示源站数量。
所述pmin是为确保每个源站具有一定的回源流量以避免由于源站出现回源服务暂停或不能提供回源服务而被挂起,便于监测源站的回源流量是否恢复。
当获得每个源站的回源流量特征值之后,所述步骤s202-c:根据所述回源流量特征值确定所述源站的回源权重,可以包括:
根据所述源站的回源流量特征值和预先设定的调整系数,确定所述源站的回源权重,具体可以采用如下公式实现:
其中,wn为第n个源站的回源权重,pn为第n个源站的回源流量特征值,pi为源站的当前回源流量特征值,即:preal。
在获得每个源站的所述回源权重后,进入步骤s203。
步骤s203:根据所述每个源站的所述回源权重调整所述每个源站的访问流量。
所述步骤s203在调整所述每个源站的访问流量时,可以通过每个源站的回源权重,向所述源站分配回源请求。例如:所述源站包括:a、b、c、d,根据上述内容分别计算出源站a的回源权重为0.15,源站b的回源权重0.2,源站c的回源权重为0.3,源站d的回源权重为0.35,相应的,源站a的回源流量是15%,源站b的回源流量是20%,源站c的回源流量是30%,源站d的回源流量是35%,因此,可以获知源站d的回源流量最高,可以向所述源站d分配较多的回源请求,相应的,所述源站a的回源流量较低,可能处理速度上存在问题,因此可以分配给源站a较少的回源请求,从而避免现有技术中对提供质量较差的源站没有合理的根据其自身服务能力进行处理流量调整的缺陷。
以上是对本申请提供的一种源站访问流量的调整方法实施例的说明。与前述提供为一种源站访问流量的调整方法实施例相对应,本申请还公开一种源站访问流量的调整装置实施例,请参看图3,由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
如图3所示,图3是本申请提供的一种源站访问流量的调整装置实施例的结构示意图,该装置包括:
发送单元301,用于发送针对每个源站的回源请求,并产生相应回源日志,其中,所述回源日志由至少两个源站产生;
接收单元302,用于接收根据所述每个源站的回源日志,确定的所述每个源站的回源权重;
调整单元303,用于根据所述每个源站的所述回源权重调整所述每个源站的访问流量。
下面分别对发送单元301、接收单元302和调整单元303进行描述。
所述发送单元301中的所述源站可以理解为:在获取资源时,通过设置多个能够提供资源的节点作为源站。所述回源请求可以理解为,当客户端需要获取资源时,可以通过向所述源站发出请求来获取需要的资源,该请求可以看做为回源请求。通常情况下,回源策略能够使得在对回源源站的设置上会设定多个源站保证资源获取的效率和可靠性。
所述回源日志可以理解为,记录的针对回源请求,所述源站作出的相关操作的信息,或者也可以理解为针对回源请求访问源站的访问日志,包括:访问数量、回源流量、回源状态等等相关信息。
在本实施例中,发送的回源日志至少来自两个源站。
因此,本申请提供的源站访问流量的调整装置,还可以包括:收集单元,用于收集每个源站的回源日志,所述回源日志来自至少两个源站。
所述接收单元302包括:
提取子单元,用于提取所述回源日志中的回源特征值;
计算子单元,用于根据所述回源特征值计算所述回源日志对应的所述源站的回源流量特征值;
确定子单元,用于根据所述回源流量特征值确定所述源站的回源权重,所述确定子单元。
下面分别对上述提取子单元、计算子单元和确定子单元依次进行说明。
所述提取子单元包括:
汇总子单元,用于根据设定的汇总条件,对所述回源日志进行汇总。所述汇总子单元,具体用于根据预设的探测时间条件,对所述探测时间内的每个源站的所述回源日志进行汇总,和/或,针对每个域名按照ip粒度对所述回源日志进行汇总。
所述提取子单元具体用于根据所述汇总子单元汇总后的回源日志提取如下至少一种回源特征值:
回源响应时间的回源特征值;
回源接收数据的大小的回源特征值;
回源请求次数的回源特征值;
回源失败次数的回源特征值。
所述计算子单元,包括:
下载速率确定子单元和/或下载成功率确定子单元,用于根据所述回源特征值确定所述源站回源的下载速率和/或下载成功率;
当前回源流量特征值计算子单元,用于根据所述下载速率和/或下载成功率,计算所述源站的当前回源流量特征值;
回源流量特征值确定子单元,用于根据所述源站的当前回源流量特征值确定所述源站的回源流量特征值。
所述下载速率确定子单元包括:
下载速率计算子单元,用于根据所述回源响应时间的回源特征值和所述回源接收数据的大小的回源特征值,计算所述源站回源的下载速率。
所述下载成功率确定子单元包括:
下载成功率计算子单元,用于根据所述源站的回源请求次数的回源特征值和回源失败次数的回源特征值,计算所述源站回源的下载成功率。
所述回源流量特征值确定子单元,包括:
设定子单元,用于设定所述源站的最低回源流量特征值;
判断子单元,用于判断所述源站的当前回源流量特征值是否大于所述最低回源流量特征值,若是,则将所述源站的当前回源流量特征值确定为所述源站的回源流量特征值,若否,则将所述源站的最低回源流量特征值确定为所述源站的回源流量特征值。
所述设定子单元具体是根据平均每个源站回源比例的10%确定所述最低回源流量特征值。
还包括:
第一定义子单元,用于定义所述源站回源的下载速率上限和下载速率下限;
第一判断子单元,用于判断所述下载速率是否大于所述下载速率上限,若是,则将所述下载速率上限作为确定的所述源站回源的下载速率;若否,则判断所述下载速率是否小于所述下载速率下限,若是,则将所述下载速率下限作为确定的所述源站回源的下载速率。
还包括:
第二定义子单元,用于定义所述源站回源的下载成功率上限和下载成功率下限;
第二判断子单元,用于判断所述下载成功率是否大于所述下载成功率上限,若是,则将所述下载成功率上限确定为所述源站回源的下载成功率;若否,则判断所述下载成功率是否小于所述下载成功率下限,若是,则将所述下载成功率下限确定为所述源站回源的下载成功率。
所述确定子单元在本实施例中,可以具体用于根据所述源站的回源流量特征值和所述源站的当前回源流量特征值,确定所述源站的回源权重。例如采用如下公式完成回源权重的确定:
上述公式中,wn为第n个源站的回源权重,pn为第n源站的回源流量特征值,pi为源站的当前回源流量特征值,即:preal。
调整单元303包括:分配子单元,用于根据每个源站的回源权重,向每个源站分配回源请求。
以上为本申请提供的一种源站访问流量的调整方法及调整装置的说明,结合上述,本申请还提供一种源站回源流量的确定方法,如图4所示,图4是本申请提供的一种源站回源流量的确定方法实施例的流程图,所述确定方法包括:
步骤s401:获取源站的回源日志,其中,所述回源日志来自针对同一回源请求的至少两个源站。
所述步骤s401中的所述源站可以理解为:在获取资源时,通过设置多个能够提供资源的节点作为源站。所述回源请求可以理解为,当客户端需要获取资源时,可以通过向所述源站发出请求来获取需要的资源,该请求可以看做为回源请求。通常情况下,回源策略能够使得在对回源源站的设置上会设定多个源站保证资源获取的效率和可靠性。
所述回源日志也可以称为访问日志,可以理解为,记录的针对回源请求,所述源站作出的相关操作的信息,或者也可以理解为针对回源请求访问源站的访问日志,包括:访问数量、回源流量、回源状态等等相关信息。
步骤s402:根据每个源站的所述回源日志,确定所述每个源站的回源权重。
所述步骤s402在确定每个源站的回源权重可以包括:
步骤s402-a:提取所述回源日志中的回源特征值;
步骤s402-b:根据所述回源特征值计算所述回源日志对应的所述源站的回源流量特征值;
步骤s402-c:根据所述回源流量特征值确定所述源站的回源权重。
其中,所述步骤s402-a提取所述回源日志中的回源特征值包括:
根据设定的汇总条件,对所述回源日志进行汇总,之后对汇总后的回源日志进行回源特征值的提取。其中,所述汇总条件可以包括:
根据预设的探测时间,对所述探测时间内的每个源站的所述回源日志进行汇总,和/或,针对每个域名按照ip粒度对所述回源日志进行汇总。例如:每5秒对每个域名按照ip地址粒度进行回源日志(也可以称为访问日志)进行统计。
之后,在汇总的所述回源日志中提取如下至少一种回源特征值:
回源响应时间的回源特征值,即:可以表示为fwd_rt;
回源接收数据大小的回源特征值,即:可以表示为fwd_recv_size,单位可以是kb,但不限于此;
回源请求次数的回源特征值,即:可以表示为fwd_requests;
回源失败次数的回源特征值,即:可以表示为fwd_request_errors。
其中,所述步骤s402-b根据所述回源特征值计算所述回源日志对应的所述源站的回源流量特征值,包括:
步骤b-1:根据所述回源特征值确定所述源站回源的下载速率和/或下载成功率;
步骤b-2:根据所述下载速率和/或下载成功率,计算所述源站的当前回源流量特征值;
步骤b-3:根据所述源站的所述当前回源流量特征值确定所述源站的回源流量特征值。
下面对步骤b-1中根据所述回源特征值确定所述源站回源的下载速率和/或下载成功率,分别描述。
根据回源特征值确定源站回源的下载速率可以包括:
根据所述回源响应时间的回源特征值和所述回源接收数据的大小的回源特征值,计算所述源站回源的下载速率。具体可以是回源响应时间和回源接收数据大小的比值,获得下载速率,如下公式一所示:
公式一:down_rate=fwd_rt/fwd_recv_size;
其中,down_rate为下载速率,fwd_rt如上所述为回源响应时间,fwd_recv_size如上所述为回源接收数据大小。
根据回源特征值确定源站回源的下载成功率可以包括:
根据所述源站的回源请求次数的回源特征值和回源失败次数的回源特征值,计算所述源站回源的下载成功率,可以采用如下公式二计算得到:
公式二:down_succ_rate=(fwd_requests–fwd_request_errors)/fwd_request;
其中,down_succ_rate为下载成功率,fwd_requests如上所述为回源请求次数,fwd_request_errors回源请求失败次数。
为保证能够计算获得可靠、稳定的下载速率和下载成功率。本实施例在计算下载速率时,定义了所述源站回源的下载速率上限和下载速率下限,其中具体定义如下:
max_down_rate=10×1024kb/s;
min_down_rate=0kb/s;
max_down_rate为下载速率上限,min_down_rate为下载速率下限。
在通过上述公式一获得所述下载速率后,还需要判断所述下载速率是否大于所述下载速率上限,若是,则将所述下载速率上限作为确定的所述源站回源的下载速率;若否,则判断所述下载速率是否小于所述下载速率下限,若是,则将所述下载速率下限作为确定的所述源站回源的下载速率;否则直接采用公式一计算获得下载速率即可。
例如:
ifdown_rate>max_down_ratethen
down_rate=max_down_rate
elseifdown_rate<min_down_ratethen
down_rate=min_down_rate
end。
本实施例在计算下载成率时,定义了所述源站回源的下载成功率上限和下载成功率下限,具体定义如下:
max_succ_rate=1;
min_down_succ_rate=0;
max_succ_rate为下载成功率的上限,min_down_succ_rate为下载成功率的下限。
在通过上述公式二获得所述下载成功率后,还需要判断所述下载成功率是否大于所述下载成功率上限,若是,则将所述下载成功率上限确定为所述源站回源的下载成功率;若否,则判断所述下载成功率是否小于所述下载成功率下限,若是,则将所述下载成功率下限确定为所述源站回源的下载成功率,否则直接将采用公式二计算获得下载成功率即可。
例如:
ifdown_succ_rate>max_succ_ratethen
down_succ_rate=max_succ_rate
elseifdown_succ_rate<min_down_ratethen
down_succ_rate=min_succ_rate
end。
以上是对下载速率和下载成功率确定过程的描述,在确定下载速率和/或下载成功率,可以执行所述步骤b-2,即:根据所述下载速率和/或下载成功率,计算所述源站的当前回源流量特征值,具体可以采用如下公式三进行计算:
preal=min(down_rate,10240)/(10240-0)×down_succ_rate;
为在调整每个源站的访问流量时可以根据下载速率或下载成功率进行调整,因此,在计算当前回源流量特征值时可以通过预先设定的调整系数实现,所述调整系数pm可以看做是亲和系数,用来调整所要获得源站的回源流量特征值是倾向于下载速率还是下载成功率,因此,所述根据所述下载速率和/或下载成功率,计算所述源站的当前回源流量特征值,还可以采用如下公式四进行计算:
preal=pm×min(down_rate,10240)/(10240-0)+(1-pm)×down_succ_rate;
在获得当前回源流量特征值后,执行所述步骤b3,所述步骤b3根据所述源站的当前回源流量特征值确定所述源站的回源流量特征值,可以包括:
设定所述源站的最低回源流量特征值;
根据所述最低回源流量特征值和所述当前回源流量特征值,确定所述源站的回源流量特征值。
其中,在根据所述最低回源流量特征值和所述当前回源流量特征值,确定所述源站的回源流量特征值时,可以通过下述公式选取最终的所述源站的回源流量特征值,也就是,通过判断所述源站的当前回源流量特征值与设定的最低回源流量特征值,来确定每个源站最终的回源流量特征值。
pn=max(preal,pmin);
该公式的含义是在preal与pmin之间选取一个较大的确定为源站的回源流量特征值,具体可以是:
判断所述源站的当前回源流量特征值是否大于所述最低回源流量特征值,若是,则将所述源站的当前回源流量特征值确定为所述源站的回源流量特征值,若否,则将所述源站的最低回源流量特征值确定为所述源站的回源流量特征值。
其中,所述设定所述源站的最低回源流量特征值是根据所述源站获取回源日志前的回源量确定的,其中最低回源流量特征值可以是平均每个源站回源比例的1/10,具体可以采用如下公式:
pmin=0.1×(1/n);
其中,pmin表示最低回源流量特征值,n表示源站数量。
当获得每个源站的回源流量特征值之后,所述步骤s402-c:根据所述回源流量特征值确定所述源站的回源权重,可以包括:
根据所述源站的回源流量特征值和预先设定的调整系数,确定所述源站的回源权重,具体可以采用如下公式实现:
其中,wn为第n个源站的回源权重,pn为第n个源站的回源流量特征值,pi为源站的当前回源流量特征值,即:preal。
在获得每个源站的所述回源权重后,进入步骤s403。
所述步骤403:将所述每个源站的回源权重确定为所述每个源站的回源流量。
所述步骤s403中当获得的每个源站的回源权重后,将每个回源权重的百分比确定为所述每个源站的回源流量,例如:所述源站包括:源站a、源站b、源站c和源站d,根据上述内容分别计算出源站a的回源权重为0.15,源站b的回源权重0.2,源站c的回源权重为0.3,源站d的回源权重为0.35,相应的,源站a的回源流量是15%,源站b的回源流量是20%,源站c的回源流量是30%,源站d的回源流量是35%。
本申请提供的源站回源流量的确定方法,针对每个源站的实际回源情况进行回源流量的确定,一方面使得回源时无需轮询每个源站分配回源请求,避免现有技术中统一设定每个源站的回源流量而带来的服务性能存在差距的情况。另一方面,能够根据每个源站的当前的回源流量,获知当前每个源站服务能力,进而为后续回源请求的分配提供更好的参考;还有,确保每个源站具有一定的回源流量以避免源站被挂起,便于监测源站的回源流量是否恢复。
以上是对本申请提供的一种源站回源流量的确定方法实施例的说明。与前述提供为一种源站回源流量的确定方法实施例相对应,本申请还公开一种源站回源流量的确定装置实施例,请参看图5,由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
如图5所示,图5是本申请提供的一种源站回源流量的确定装置实施例的结构示意图,所述确定装置包括:
获取单元501,用于获取源站的回源日志,其中,所述回源日志来自针对同一回源请求的至少两个源站;
第一确定单元502,用于根据每个源站的所述回源日志,确定所述每个源站的回源权重;
第二确定单元503,用于将所述每个源站的回源权重确定为所述每个源站的回源流量。
下面分别对获取单元501、第一确定单元502和第二确定单元503进行描述。
所述第一确定单元502包括:
提取子单元,用于提取所述回源日志中的回源特征值;
计算子单元,用于根据所述回源特征值计算所述回源日志对应的所述源站的回源流量特征值;
确定子单元,用于根据所述回源流量特征值确定所述源站的回源权重。
下面分别对上述提取子单元、计算子单元和确定子单元依次进行说明。
所述提取子单元包括:
汇总子单元,用于根据设定的汇总条件,对所述回源日志进行汇总。所述汇总子单元,具体用于根据预设的探测时间条件,对所述探测时间内的每个源站的所述回源日志进行汇总,和/或,针对每个域名按照ip粒度对所述回源日志进行汇总。
所述提取子单元具体用于根据所述汇总子单元汇总后的回源日志提取如下至少一种回源特征值:
回源响应时间的回源特征值;
回源接收数据的大小的回源特征值;
回源请求次数的回源特征值;
回源失败次数的回源特征值。
所述计算子单元,包括:
下载速率确定子单元和/或下载成功率确定子单元,用于根据所述回源特征值确定所述源站回源的下载速率和/或下载成功率;
当前回源流量特征值计算子单元,用于根据所述下载速率和/或下载成功率,计算所述源站的当前回源流量特征值;
回源流量特征值确定子单元,用于根据所述源站的当前回源流量特征值确定所述源站的回源流量特征值。
所述下载速率确定子单元包括:
下载速率计算子单元,用于根据所述回源响应时间的回源特征值和所述回源接收数据的大小的回源特征值,计算所述源站回源的下载速率。
所述下载成功率确定子单元包括:
下载成功率计算子单元,用于根据所述源站的回源请求次数的回源特征值和回源失败次数的回源特征值,计算所述源站回源的下载成功率。
所述回源流量特征值确定子单元,包括:
设定子单元,用于设定所述源站的最低回源流量特征值;
判断子单元,用于判断所述源站的当前回源流量特征值是否大于所述最低回源流量特征值,若是,则将所述源站的当前回源流量特征值确定为所述源站的回源流量特征值,若否,则将所述源站的最低回源流量特征值确定为所述源站的回源流量特征值。
所述设定子单元具体是根据平均每个源站回源比例的10%确定所述最低回源流量特征值。
还包括:
第一定义子单元,用于定义所述源站回源的下载速率上限和下载速率下限;
第一判断子单元,用于判断所述下载速率是否大于所述下载速率上限,若是,则将所述下载速率上限作为确定的所述源站回源的下载速率;若否,则判断所述下载速率是否小于所述下载速率下限,若是,则将所述下载速率下限作为确定的所述源站回源的下载速率。
还包括:
第二定义子单元,用于定义所述源站回源的下载成功率上限和下载成功率下限;
第二判断子单元,用于判断所述下载成功率是否大于所述下载成功率上限,若是,则将所述下载成功率上限确定为所述源站回源的下载成功率;若否,则判断所述下载成功率是否小于所述下载成功率下限,若是,则将所述下载成功率下限确定为所述源站回源的下载成功率。
所述确定子单元在本实施例中,可以具体用于根据所述源站的回源流量特征值和所述源站的当前回源流量特征值,确定所述源站的回源权重。例如采用如下公式完成回源权重的确定:
公式中,wn为第n个源站的回源权重,pn为第n源站的回源流量特征值,pi为源站的当前回源流量特征值,即:preal。
所述第二确定单元503,将所述每个源站的回源权重确定为所述每个源站的回源流量,可以是当获得的每个源站的回源权重后,将每个回源权重的百分比确定为所述每个源站的回源流量。例如:所述源站包括:源站a、源站b、源站c和源站d,根据上述内容分别计算出源站a的回源权重为0.15,源站b的回源权重0.2,源站c的回源权重为0.3,源站d的回源权重为0.35,相应的,源站a的回源流量是15%,源站b的回源流量是20%,源站c的回源流量是30%,源站d的回源流量是35%。
以上是本申请提供的一种源站回源流量的确定装置的概述,结合上述提供的一种源站访问流量的调整方法和装置,以及源站回源流量的确定方法,本申请还提供一种回源系统,如图6所示,图6是本申请提供的一种回源系统实施例的架构图。
本申请提供的一种回源系统包括:
客户端,用于发送回源请求,以及根据所述回源请求接收来自源站的针对所述回源请求的资源;
第一服务器,用于根据所述回源请求获取源站信息以及每个源站的回源日志,并根据接收的回源权重调整所述每个源站的访问流量;
第二服务器,用于根据所述回源请求向所述第一服务器提供源站信息以及每个源站的回源日志;
服务组件,用于接收每个源站的回源日志,并根据所述回源日志,确定每个源站的回源权重,将所述回源权重发送至所述第一服务器。
其中,所述第一服务器可以是代理服务器(proxyserver),所述代理服务器根据回源请求向所述第二服务器查询源站信息,然后轮询每个源站获取资源。所述第二服务器可以是dns(domainnameserver)服务器,即:域名服务器。服务组件在所述代理服务器轮询每个源站,将接收来自所述代理服务器的回源日志。所述服务组件,根据所述回源日志确定每个源站的回源权重,在确定回源权重的过程中,可以对回源日志按照设定的汇总条件进行汇总,再对汇总后的回源日志提取相关回源特征值,根据该些回源特征值计算回源流量特征值,最后根据回源流量特征值确定每个源站的回源权重,代理服务器根据接收的每个源站的回源权重对回源请求进行分配,从而使得代理服务器能够根据每个源站的回源权重,自动调整每个源站的访问流量,实现合理利用每个源站资源和解决因为网络抖动造成的下载异常问题。
基于上述内容,本申请还提供一种电子设备,包括:
处理器;
存储器,用于存储对网络平台产生数据进行处理的程序,所述程序在被所述处理器读取执行时,执行如下操作:
发送针对每个源站的回源请求,并产生相应回源日志,其中,所述回源日志由至少两个源站产生;
接收根据所述每个源站的回源日志,确定的所述每个源站的回源权重;
根据所述每个源站的所述回源权重调整所述每个源站的访问流量。
本申请还提供一种存储设备,用于存储网络平台产生数据,以及对应所述网络平台产生数据进行处理的程序;
所述程序在被所述处理器读取执行时,执行如下操作:
发送针对每个源站的回源请求,并产生相应回源日志,其中,所述回源日志由至少两个源站产生;
接收根据所述每个源站的回源日志,确定的所述每个源站的回源权重;
根据所述每个源站的所述回源权重调整所述每个源站的访问流量。
本申请还提供一种电子设备,包括:
处理器;
存储器,用于存储对网络平台产生数据进行处理的程序,所述程序在被所述处理器读取执行时,执行如下操作:
获取源站的回源日志,其中,所述回源日志来自至少两个源站;
根据每个源站的所述回源日志,确定所述每个源站的回源权重;
将所述每个源站的回源权重确定为所述每个源站的回源流量。
本申请还提供一种存储设备,用于存储网络平台产生数据,以及对应所述网络平台产生数据进行处理的程序;
所述程序在被所述处理器读取执行时,执行如下操作:
获取源站的回源日志,其中,所述回源日志来自至少两个源站;
根据每个源站的所述回源日志,确定所述每个源站的回源权重;
将所述每个源站的回源权重确定为所述每个源站的回源流量。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。