CN112134957A - 数据请求方法、装置、服务器及存储介质 - Google Patents
数据请求方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN112134957A CN112134957A CN202011011124.1A CN202011011124A CN112134957A CN 112134957 A CN112134957 A CN 112134957A CN 202011011124 A CN202011011124 A CN 202011011124A CN 112134957 A CN112134957 A CN 112134957A
- Authority
- CN
- China
- Prior art keywords
- candidate
- target
- request
- ips
- request result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了数据请求方法、装置、服务器及存储介质,该方法包括:对于多个候选IP中的每一个候选IP,基于所述候选IP的所有目标历史请求结果的积分,计算所述候选IP的当前总积分,其中,目标历史请求结果为用于计算所述当前总积分的历史请求结果,请求成功的历史请求结果的积分大于请求失败的历史请求结果的积分;基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP,以及向所述目标IP所属的服务器发送请求以请求数据,得到所述目标IP的当前请求结果。
Description
技术领域
本发明涉及网络技术领域,特别是涉及数据请求方法、装置、服务器及存储介质。
背景技术
在诸如APP的客户端请求数据时,客户端首先向DNS(域名系统服务协议)服务器发送数据所在的站点的域名,由DNS服务器对域名进行解析,得到IP,DNS服务器将IP提供给客户端。客户端向IP所属的服务器发送请求以请求数据。无论是local DNS服务器还是httpDNS服务器,均可以将同一个域名解析为多个IP。多个IP中的每一个IP所属的服务器均可以提供客户端请求的数据。
客户端在请求数据时,需要从DNS服务器提供的多个IP中选择目标IP,向目标IP所属的服务器发送请求以请求数据。目前,通常采用的方式为以随机方式从多个IP中选择一个IP作为目标IP。随机选择目标IP的方式没有考虑向目标IP所属的服务器请求数据成功的概率。在大量的客户端在请求同一个数据时,若至少一部分客户端均随机选择了请求数据成功的概率较低目标IP,向请求数据成功的概率较低的目标IP所属的服务器请求数据,会导致在大量的请求数据失败,进而导致请求数据成功率低。
发明内容
本发明实施例的目的在于提供一种数据请求方法、装置、服务器及存储介质,以实现提升客户端的请求数据成功率。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种数据请求方法,包括:
对于多个候选IP中的每一个候选IP,基于所述候选IP的所有目标历史请求结果的积分,计算所述候选IP的当前总积分,其中,目标历史请求结果为用于计算所述当前总积分的历史请求结果,请求成功的历史请求结果的积分大于请求失败的历史请求结果的积分;
基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP,以及向所述目标IP所属的服务器发送请求以请求数据,得到所述目标IP的当前请求结果。在本发明实施的第二方面,还提供了一种数据请求装置,包括:
计算单元,被配置为对于多个候选IP中的每一个候选IP,基于所述候选IP的所有目标历史请求结果的积分,计算所述候选IP的当前总积分,其中,目标历史请求结果为用于计算所述当前总积分的历史请求结果,请求成功的历史请求结果的积分大于请求失败的历史请求结果的积分;
选择单元,基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP,以及向所述目标IP所属的服务器发送请求以请求数据,得到所述目标IP的当前请求结果。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的方法。
本发明实施例提供的数据请求方法,装置,通过对于多个候选IP中的每一个候选IP,基于该候选IP的所有目标历史请求结果的积分,计算该候选IP的当前总积分,其中,目标历史请求结果为用于计算当前总积分的历史请求结果,请求成功的历史请求结果的积分大于请求失败的历史请求结果的积分;基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP,以及向该目标IP所属的服务器发送请求,得到该目标IP的当前请求结果。实现了一方面,在从多个候选IP选择目标IP时,考虑了从候选IP所属的服务器请求数据成功的概率,根据可以反映从候选IP所属的服务器请求数据成功的概率的当前总积分,在从多个候选IP选择目标IP,以选择出请求数据成功的概率较高的目标IP,向请求数据成功的概率较高的目标IP发送请求以请求数据,以提升请求数据的成功率。
另一方面,每一个候选IP的当前总积分不断更新,通过当前总积分可以实时反映每一个候选IP当前的请求数据成功的概率,确保在每一次从多个候选IP选择目标IP的过程中,均可以精确地确定请求数据成功的概率较高的目标IP,以向请求成功的概率高的目标IP所属的服务器发送请求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的数据请求方法的第一实施例的流程图;
图2为本发明实施例提供的数据请求方法的第二实施例的流程图;
图3为从多个候选IP中选择目标IP的一个示例性流程图;
图4为本发明实施例提供的数据请求装置的一个结构示意图;
图5为适用于实现本发明实施例提供的数据请求方法的服务器的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
请参考图1,其示出了本发明实施例提供的数据请求方法的第一实施例的流程图。
步骤101,对于多个候选IP中的每一个候选IP,基于该候选IP的所有目标历史请求结果的积分,计算该候选IP的当前总积分。
多个候选IP通过DNS服务器对域名进行解析得到。该多个候选IP为一个域名对应的多个IP。任意一个客户端需要请求一个数据,客户端首先向DNS服务器发送该数据所在的站点的域名,DNS服务器可以向客户端返回包括与该域名对应的多个候选IP的IP列表。与该域名对应的多个候选IP中的每一个候选IP均可以提供该数据。
在任意一个客户端例如任意一个视频APP每一次从多个候选IP选择目标IP以及向目标IP所属的服务器发送请求的过程中,均可以执行步骤101-102。
因此,在步骤101-102中描述的操作为示例性地描述一个客户端在一次从该多个候选IP选择目标IP以及向目标IP所属的服务器发送请求的过程进行的操作。
在本实施例中,在一次选择目标IP并且向目标IP所属的服务器发送请求的过程中,该候选IP的当前总积分可以是指该候选IP的当前时刻的积分。
在一次选择目标IP并且向目标IP所属的服务器发送请求的过程中,当前时刻可以是指在该次选择目标IP以及向目标IP所属的服务器发送请求的过程中,执行步骤101的时刻。
对于一个候选IP,在当前时刻之前,每一次向该候选IP所属的服务器发送请求,均会产生一个历史请求结果。若请求成功,则产生请求成功的历史请求结果。若请求失败,则产生请求失败的历史请求结果。
在本实施例中,无论是当前请求结果,还是历史请求结果,均可以为与其指示的内容相关的字符、数字等。
例如,请求成功的当前请求结果或历史请求结果可以为数字1。请求失败的当前请求结果或历史请求结果可以为数字0。
对于一个候选IP,若在一次历史请求过程中,向该候选IP所属的服务器发送请求,请求成功,即请求到相应的数据,则在该次历史请求过程中产生的该候选IP的一个请求成功的历史请求结果。
对于一个候选IP,若在一次历史请求过程中,利用该候选IP发送请求,请求失败即未请求到相应的数据,则在该次历史请求过程中产生的该候选IP的一个请求失败的历史请求结果。
每一次产生该候选IP的一个历史请求结果,均可以生成一个历史请求结果的时间戳,从而,对该候选IP的每一个历史请求结果的产生时刻进行记录。
在本实施例中,对于一个候选IP,该候选IP的目标历史请求结果为用于计算该候选IP的当前总积分的历史请求结果。
对于一个候选IP,可以基于该候选IP的所有目标历史请求结果的积分,计算该候选IP的当前总积分。
对于一个候选IP,该候选IP的所有目标历史请求结果可以为在历史时间段产生的该候选IP的所有历史请求结果。
历史时间段可以是指距离当前时刻预设时长的历史时刻与当前时刻之间时间段。
例如,历史时间段为距离当前时刻30分钟的历史时刻与当前时刻之间时间段。历史时间段的时长为30分钟。对于一个候选IP,在历史时间段即在最近30分钟,由于向该候选IP所属的服务器发送请求而产生的每一个历史请求结果可以组成用于计算该候选IP的当前总积分的、该候选IP的所有目标历史请求结果。
在本实施例中,每一个请求结果各自具有一个积分。请求成功的请求结果的积分大于请求失败的请求结果的积分。请求失败的请求结果的积分可以为负数。
具体地,对于历史请求结果而言,请求成功的历史请求结果的积分大于请求失败的历史请求结果的积分。
例如,请求成功的历史请求结果的积分或请求成功的当前请求结果积分为1,请求失败的历史请求结果的积分或请求失败的当前请求结果积分为-1。
在本申请中,对于一个候选IP,在基于该候选IP的所有目标历史请求结果的积分,计算该候选IP的当前总积分时,可以计算该候选IP的所有目标历史请求结果的积分的和,将计算出的和作为该候选IP的当前总积分。
步骤102,基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP,以及向目标IP所属的服务器发送请求以请求数据,得到目标IP的当前请求结果。
在本实施例中,在通过步骤101计算每一个候选IP的当前总积分之后,可以基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP。
当基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP时,可以将当前总积分最高的候选IP确定为目标IP。
当基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP时,也可以对多个候选IP按照当前总积分由大至小进行排序,以确定多个候选IP的顺序。可以在排序之后,以随机方式从前预设数量个候选IP中选择出目标IP。
在一次选择目标IP并且向目标IP所属的服务器发送请求的过程中,在选择出目标IP之后,可以向目标IP所属的服务器发送请求以请求数据,得到目标IP的当前请求结果。
若向目标IP所属的服务器发送请求,请求成功,即请求到相应的数据,则产生的目标IP的请求成功的当前请求结果。
若向目标IP所属的服务器发送请求,请求失败,即未请求到相应的数据,则产生的目标IP的请求失败的当前请求结果。
请求成功的当前请求结果的积分大于请求失败的当前请求结果的积分。
例如,目标IP的请求成功的当前请求结果的积分为1,目标IP的请求失败的当前请求结果的积分为-1。
通过本发明实施例提供的数据请求方法请求数据,一方面,在从多个候选IP选择目标IP时,考虑了从候选IP所属的服务器请求数据成功的概率,根据可以反映从候选IP所属的服务器请求数据成功的概率的当前总积分,在从多个候选IP选择目标IP,以选择出请求数据成功的概率较高的目标IP,向请求数据成功的概率较高的目标IP发送请求以请求数据,以提升请求数据的成功率。
另一方面,每一个候选IP的当前总积分不断更新,通过当前总积分可以实时反映每一个候选IP当前的请求数据成功的概率,确保在每一次从多个候选IP选择目标IP的过程中,均可以精确地确定请求数据成功的概率较高的目标IP,以向请求成功的概率高的目标IP所属的服务器发送请求。
请参考图2,其示出了本发明实施例提供的数据请求方法的第二实施例的流程图。
步骤201,基于候选IP的每一个目标历史请求结果的积分和每一个目标历史请求结果的权重,计算该候选IP的当前总积分。
在本实施例中,对于一个候选IP,当该候选IP的历史请求结果的数量大于第一预设数量时,可以将产生时刻距离当前时刻最近的第一预设数量个该候选IP的历史请求结果确定为用于计算该候选IP的当前积分的、所有目标历史请求结果。
对于一个候选IP,当该候选IP的历史请求结果的数量小于第一预设数量时,将候选IP的所有历史请求结果确定为候选IP的当前积分的所有目标历史请求结果。
第一预设数量利用N表示,对于一个候选IP,将该候选IP的、产生时刻距离当前时刻最近的N个该候选IP的历史请求结果作为用于计算该候选IP的当前总积分的、所有目标历史请求结果。
例如,第一预设数量N为10,对于一个候选IP,若该候选IP的所有历史请求结果的数量大于或等于10,选择产生时刻距离当前时刻最近的10个历史请求结果作为用于计算该候选IP的当前总积分的、所有目标历史请求结果。
若该候选IP的所有历史请求结果的数量小于或等于10,则该候选IP的所有历史请求结果作为所有目标请求结果。
在本实施例中,对于一个候选IP,可以基于该候选IP的每一个目标历史请求结果的积分和该候选IP的每一个目标历史请求结果的权重,计算该候选IP的当前总积分。
目标历史请求结果的权重的大小与目标历史请求结果的产生时刻与当前时刻之间的时间间隔的大小成反比。
例如,可以预先设置多个时间间隔区间,多个时间间隔区间中的任意两个时间间隔没有重叠的子时间间隔区间,至多具有一个相同的端点。例如,预先设置(0-14分钟]、(14分钟,30分钟]、(30分钟,大于30分钟的时间间隔】等时间间隔区间。
每一个时间间隔区间区间可以各自对应一个权重。每一个区间各自对应的权重的取值范围为(0,1】。若比较时间间隔区间的左端点,时间间隔区间的左端点的取值越大,时间间隔区间对应的权重越小。若比较时间间隔区间的右端点,也是时间间隔区间的右端点的取值越大,时间间隔区间对应的权重越小。(0-14分钟]对应的权重大于(14分钟,30分钟]对应的权重,(14分钟,30分钟]对应的权重大于(30分钟,一个大于30分钟的时间间隔】对应的权重。
对于一个目标历史请求结果,该目标历史请求结果的权重可以为该目标历史请求结果的产生时刻与当前时刻之间的时间间隔所在的时间间隔区间对应的权重。
对于一个候选IP,在基于该候选IP的每一个目标历史请求结果的积分和该候选IP的每一个目标历史请求结果的权重,计算该候选IP的当前总积分时,可以计算该候选IP的所有目标历史请求结果的积分的加权和,将计算出的加权和作为该候选IP的当前总积分。即分别计算该候选IP的每一个目标历史请求结果和目标历史请求结果的权重的乘积,将所有乘积之和作为该候选IP的当前总积分。
在本实施例中,对于一个候选IP,该候选IP的目标历史请求结果的权重还可以基于预设衰减系数和该候选IP的目标历史请求结果的产生时刻与当前时刻之间的时间间隔确定。
在计算任意一个候选IP的任意一个目标历史请求结果的权重时,均采用同一预设衰减系数计算目标历史请求结果的权重。
预设衰减系数基于牛顿冷却定律计算。预设衰减系数也可称之为牛顿冷却系数。
牛顿冷却定律的公式可以表示为f(t)=f(t’)*exp(-r*(t-t’)),在利用牛顿冷却定律的公式计算预设衰减系数时,t可以表示当前时刻,t’为目标历史请求结果的产生时刻,r可以表示预设衰减系数。f(t)可以表示经过衰减的积分,f(t’)可以表示在目标历史请求结果的产生时刻的积分即目标历史请求结果的原有的积分。t-t’可以表示当前时刻与目标历史请求结果的产生时刻之间间隔多少分钟。
在给定时间间隔和衰减倍数的情况下,可以计算出预设衰减系数。
若设置在目标历史请求结果的产生时刻与当前时刻之间的时间间隔达到30分钟时,积分衰减到原有的0.01倍即目标历史请求结果的积分的权重为0.01,在目标历史请求结果的产生时刻与当前时刻之间的时间间隔达到14分钟衰时,积分衰减到原有的0.1倍数即目标历史请求结果的积分的权重为0.1,则可以计算出r=0.167。
当r=0.167时,目标历史请求结果的权重可以表示为:exp(-0.167*(floor((t-T)/60)))。
当r=0.167时,候选IP的目标历史请求结果的经过衰减的积分即最终用于计算的候选IP的当前总积分的积分可以表示为:Score=S*exp(-0.167*(floor((t-T)/60)))。r=0.167(时间单位:分钟)。
S可以表示目标历史请求结果的积分,exp(-0.167*(floor((t-T)/60)))可以表示候选IP的目标历史请求结果的权重,Score可以表示候选IP的目标历史请求结果的经过衰减的积分即最终用于计算的候选IP的当前总积分的积分。
t-T可以表示当前时刻与目标历史请求结果的产生时刻之间间隔的秒数,(t-T)/60)可以表示当前时刻与目标历史请求结果的产生时刻之间间隔的分钟数,利用floor函数进行取整数操作。
预设衰减系数r=0.167为在实践中较优的预设衰减系数。可以调整衰减系数。例如,可以获取分别预设衰减系数采用0.167时预设数量的请求的请求成功率和平均耗时、采用一个候选的衰减系数时预设数量的请求的请求成功率和平均耗时。比较0.167与一个候选的衰减系数在请求成功率和耗时方面的优劣,若候选的衰减系数在请求成功率和耗时方面优于0.167,则可以利用该候选的衰减系数替换0.167,用于后续的候选IP的当前总积分的计算。
在本实施例中,考虑了候选IP的目标历史请求结果的产生时刻与当前时刻的时间间隔。候选IP的目标历史请求结果的产生时刻与当前时刻之间的时间间隔越大即候选IP的目标历史请求结果的产生时刻距离当前时刻越远,候选IP的目标历史请求结果的权重越小。候选IP的目标历史请求结果的产生时刻与当前时刻之间的时间间隔越小即候选IP的目标历史请求结果的产生时刻距离当前时刻越近,候选IP的目标历史请求结果的权重越大。从而,使得相比于产生时刻距离当前时刻远的目标历史请求的积分,产生时刻距离当前时刻近的目标历史请求的积分对候选IP的当前总积分的影响更大,进而使得利用候选IP的目标历史请求结果的积分和权重计算出的候选IP的当前总积分可以更加精确地反映请求数据成功的概率。
步骤202,对多个候选IP按照当前总积分由大至小进行排序,以确定多个候选IP的顺序,从多个候选IP中的前第二预设数量个候选IP选择选择目标IP,以及向目标IP所属的服务器发送请求,得到目标IP的当前请求结果。
在本实施例中,可以对多个候选IP按照当前总积分由大至小进行排序,以确定多个候选IP的顺序。
候选IP的当前总积分越大,则在排序之后,候选IP的位置越靠前。在排序之后,每一个候选IP各自具有一个位置,多个候选IP的顺序也随之确定。
在本实施例中,若至少两个候选IP的当前总积分相同,可以每一次以随机方式从该至少该两个至少两个候选IP中选择出一个候选IP,将候选IP的当前总积分视为大于还没有被选择的候选IP的当前总积分。从而,以随机方式确定该至少两个候选IP中的候选IP之间的相对位置。
例如,所有候选IP包括IP1、IP2、IP3。IP1的当前总积分大于IP2的当前总积分,IP2的当前总积分大于IP3的当前总积分。在排序之后,IP1的位置在IP2、IP3之前,以随机方式确定IP2、IP3的相对位置。若以随机方式从IP2、IP3中选择出IP2,则将IP2的当前总积分视为大于IP3的当前总积分,IP2的位置位于IP3的位置之前。若以随机方式从IP2、IP3中选择出IP3,则将IP3的当前总积分视为大于IP2的当前总积分,IP3位于IP2之前。
在本实施例中,在排序之后,可以从前第二预设数量个候选IP选择选择目标IP。
在本实施例中,按照前第二预设数量个候选IP的顺序,每一次向前预设数量个候选IP中的一个候选IP所属的服务器,发送用于建立TCP连接即TCP connect的请求,直至首次接收到TCP连接响应信息或向前第二预设数量个候选IP中的每一个候选IP所属的服务器均发送用于建立TCP连接。TCP连接响应信息可以称之为response。
对于前预设数量个候选IP中的每一个候选IP,若客户端向该候选IP所属的服务器发送用于建立TCP连接的请求,该候选IP所属的服务器在接收到用于建立TCP连接的请求之后,该候选IP所属的服务器可以向客户端返回TCP连接响应信息。
在本实施例中,一次发送用于建立TCP连接的请求的时刻与该次的下一次发送用于建立TCP连接的请求的时刻之间的时长可以为预设时长例如50ms。
在首次接收到TCP连接响应信息的情况下,将首次接收到的TCP连接响应信息对应的候选IP选择为目标IP。
换言之,将最先返回的TCP连接响应信息对应的候选IP确定为目标IP。
在本实施例中,前预设数量个候选IP均为请求数据成功的概率较高的IP,目标IP即最先返回的TCP连接响应信息对应的候选IP是请求数据成功的概率较高的候选IP中的耗时最小的IP。因此,最终选择出的目标IP既是请求数据成功的概率较高的又是耗时最小的,既可以提升请求数据成功率,也可以减少耗时。
以下举例说明从多个候选IP中的前第二预设数量个候选IP选择选择目标IP的过程:
例如,第二预设数量为3,对多个候选IP按照当前总积分由大至小的排序,以确定多个候选IP的顺序。前3个候选IP由IP1、IP2、IP3组成,前3个候选IP的顺序为IP1、IP2、IP3。IP1的当前总积分大于IP2的当前的当前总积分,IP2的当前总积分大于IP3的当前总积分。
假设一次发送用于建立TCP连接的请求的时刻与该次的下一次发送用于建立TCP连接的请求的时刻之间的时长为50ms。
首先,向IP1所属的服务器发送用于建立TCP连接的请求,若从向具有IP1的服务器发送用于建立TCP连接的请求的时刻起50ms内接收到TCP连接响应信息,则不再向IP2所属的服务器、IP3所属的服务器发送用于建立TCP连接的请求。首次接收到TCP连接响应信息为IP1所属的服务器发送的,首次接收到TCP连接响应信息对应的候选IP为IP1,将IP1确定为目标IP。
若从向IP1所属的服务器发送用于建立TCP连接的请求的时刻起经过50ms,没有接收到TCP连接响应信息,向具有IP2的服务器发送用于建立TCP连接的请求。
若从向IP2所属的服务器发送用于建立TCP连接的请求的时刻起50ms内首次接收到TCP连接响应信息,将首次接收到的TCP连接响应信息对应的候选IP选择为目标IP。若首次接收到的TCP连接响应信息是IP1所属的服务器发送的,首次接收到TCP连接响应信息对应的候选IP为IP1,将IP1确定为目标IP。若首次接收到的TCP连接响应信息是IP2所属的服务器发送的,首次接收到TCP连接响应信息对应的候选IP为IP2,将IP2确定为目标IP。
若从向IP2所属的服务器发送用于建立TCP连接的请求的时刻起经过50ms,没有接收到TCP连接响应信息,则向IP3所属的服务器发送用于建立TCP连接的请求。将首次接收到的TCP连接响应信息即最先返回的TCP连接响应信息对应的候选IP选择为目标IP。目标IP为IP1、IP2、IP3中的一个。
在首次接收到TCP连接响应信息时,则可以建立客户端与目标IP所属的服务器之间的TCP连接,利用建立的TCP连接向目标IP所属的服务器请求数据。同时,终止客户端与其他的候选IP所属的服务器建立TCP连接的过程。
步骤203,记录当前请求结果的积分和当前请求结果的产生时刻。
在本实施例中,在一次从多个候选IP中选择目标IP并且向目标IP所属的服务器发送请求的过程中,在得到目标IP的当前请求结果之后,可以记录目标IP的当前请求结果的积分和目标IP的当前请求结果的产生时刻。
从而,在该次的下一次从包括该次选择的该目标IP的多个候选IP中选择相应的目标IP中,该次选择的该目标IP的当前请求结果成为该目标IP的目标历史请求结果,相应的,该目标IP的当前请求结果的积分成为该目标IP的目标历史请求结果的积分。
该目标IP的当前请求结果的积分会用于在下一次从包括该次选择的目标IP的多个候选IP中再次选择相应的目标IP的过程中,该目标IP的当前总积分的计算。
请参考图3,其示出了选择目标IP的一个示例性流程图。
多个候选IP通过由local DNS服务器或httpDNS服务器对域名进行解析得到。客户端可以接收到local DNS或httpDNS服务器返回的包括多个候选IP的IP列表。
多个候选IP的历史请求结果记录包括每一个候选IP的历史请求结果记录。对于每一个候选IP,该候选IP的历史请求结果记录包括该候选IP的每一个历史请求结果的积分和历史请求结果的产生时刻。
对于每一个候选IP,可以从该候选IP的历史请求结果记录中查找出所有目标历史请求结果,基于所有目标历史请求结果的积分,计算该候选IP的当前总积分。
对所有候选IP按照当前总积分由大至小进行排序,以确定所有候选IP进行排序,选择TOP3候选IP即前3个候选IP。然后,在没有首次接收到TCP连接响应信息的情况下,按照前3个候选IP的顺序,每一次向前3个候选IP中的一个候选IP所属的服务器发送用于建立TCP连接的请求。一次发送用于建立TCP连接的请求的时刻与该次的下一次发送用于建立TCP连接的请求的时刻之间的时长为50ms。
最先连接的候选IP即首次接收到的TCP连接响应信息对应的候选IP作为目标IP,终止正在进行中的客户端与其他的候选IP所属的服务器建立TCP连接的过程。
向目标IP所属的服务器发送请求以请求数据,产生目标IP的当前请求结果,并且可以生成表示目标IP的当前请求结果的产生时刻的时间戳。
若向目标IP所属的服务器发送请求,请求到相应的数据,即接收到目标IP所属的服务器返回的相应的数据,则请求成功,产生的目标IP的请求成功的当前请求结果,目标IP的请求成功的当前请求结果的积分可以为1。
若向目标IP所属的服务器发送请求,没有请求到相应的数据,即没有接收到目标IP所属的服务器返回的相应的数据,则请求失败,产生的目标IP的请求失败的当前请求结果,请求失败的当前请求结果的积分可以为-1。
更新多个目标IP的历史请求结果记录中的、目标IP的历史请求结果记录,将目标IP的当前请求结果的积分、表示目标IP的当前请求结果的产生时刻的时间戳加入到目标IP的历史请求结果记录中。
请参考图4,其示出了本发明实施例提供的数据请求装置的结构示意图。装置中的各个单元或子单元执行的操作的具体实现方式可以上述参考方法实施例中描述的相应的操作的具体实现方式。
如图4所示,本发明实施例的提供的数据请求装置包括:计算单元401,选择单元402。
计算单元401被配置为对于多个候选IP中的每一个候选IP,基于所述候选IP的所有目标历史请求结果的积分,计算所述候选IP的当前总积分,其中,目标历史请求结果为用于计算所述当前总积分的历史请求结果,请求成功的历史请求结果的积分大于请求失败的历史请求结果的积分;
选择单元402被配置为基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP,以及向所述目标IP所属的服务器发送请求以请求数据,得到所述目标IP的当前请求结果。
在一些实施例中,数据请求装置还包括:
记录单元403,被配置为在向所述目标IP所属的服务器发送请求以请求数据,得到所述目标IP的当前请求结果之后,记录所述目标IP的当前请求结果的积分和所述当前请求结果的产生时刻。
在一些实施例中,计算单元401进一步被配置为基于所述候选IP的每一个目标历史请求结果的积分和所述每一个目标历史请求结果的权重,计算所述候选IP的当前总积分,其中,所述目标历史请求结果的权重的大小与所述目标历史请求结果的产生时刻与当前时刻之间的时间间隔的大小成反比。
在一些实施例中,数据请求装置还包括:
第一确定单元404,被配置为对于所述候选IP的每一个目标历史请求结果,基于预设衰减系数、所述目标历史请求结果的产生时刻与当前时刻之间的时间间隔,确定所述目标历史请求结果的权重。
在一些实施例中,数据请求装置还包括:
第二确定单元405,被配置为当所述候选IP的历史请求结果的数量大于第一预设数量时,将产生时刻与当前时刻最近的第一预设数量个所述候选IP的历史请求结果确定为所述候选IP的所有目标历史请求结果;当所述候选IP的历史请求结果的数量小于或等于第一预设数量时,将候选IP的所有历史请求结果确定为所述候选IP的所有目标历史请求结果。
在一些实施例中,选择单元402进一步被配置为对多个候选IP按照当前总积分由大至小进行排序;按照排序之后前第二预设数量个候选IP的顺序,每一次向前第二预设数量个候选IP中的一个候选IP所属的服务器发送用于建立TCP连接的请求,直至首次接收到TCP连接响应信息或向第二预设数量个候选IP中的每一个候选IP所属的服务器均发送用于建立TCP连接的请求;将首次接收到的TCP连接响应信息对应的候选IP选择为目标IP。
本发明实施例还提供了一种服务器,如图所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503利用通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
对于多个候选IP中的每一个候选IP,基于所述候选IP的所有目标历史请求结果的积分,计算所述候选IP的当前总积分,其中,目标历史请求结果为用于计算所述当前总积分的历史请求结果,请求成功的历史请求结果的积分大于请求失败的历史请求结果的积分;
基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP,以及向所述目标IP所属的服务器发送请求以请求数据以请求数据,得到当前请求结果。
上述服务器提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述服务器与其他设备之间的通信。
存储器可以包括随机存取存储器(RandomAccess Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如所有磁盘存储器。可选的,存储器还可以是所有位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的方法。
在上述实施例中,可以全部或部分地利用软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心利用有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据请求方法,其特征在于,所述方法包括:
对于多个候选IP中的每一个候选IP,基于所述候选IP的所有目标历史请求结果的积分,计算所述候选IP的当前总积分,其中,目标历史请求结果为用于计算所述当前总积分的历史请求结果,请求成功的历史请求结果的积分大于请求失败的历史请求结果的积分;
基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP,以及向所述目标IP所属的服务器发送请求以请求数据,得到所述目标IP的当前请求结果。
2.根据权利要求1所述的方法,其特征在于,基于所述候选IP的所有目标历史请求结果的积分,计算所述候选IP的当前总积分包括:
基于所述候选IP的每一个目标历史请求结果的积分和所述每一个目标历史请求结果的权重,计算所述候选IP的当前总积分,其中,所述目标历史请求结果的权重的大小与所述目标历史请求结果的产生时刻与当前时刻之间的时间间隔的大小成反比。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对于所述候选IP的每一个目标历史请求结果,基于预设衰减系数、所述目标历史请求结果的产生时刻与当前时刻之间的时间间隔,确定所述目标历史请求结果的权重。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述候选IP的历史请求结果的数量大于第一预设数量时,将产生时刻与当前时刻最近的第一预设数量个所述候选IP的历史请求结果确定为所述候选IP的所有目标历史请求结果;
当所述候选IP的历史请求结果的数量小于或等于第一预设数量时,将候选IP的所有历史请求结果确定为所述候选IP的所有目标历史请求结果。
5.根据权利要求1所述的方法,其特征在于,基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP包括:
对多个候选IP按照当前总积分由大至小进行排序;
按照排序之后前第二预设数量个候选IP的顺序,每一次向前第二预设数量个候选IP中的一个候选IP所属的服务器发送用于建立TCP连接的请求,直至首次接收到TCP连接响应信息或向第二预设数量个候选IP中的每一个候选IP所属的服务器均发送用于建立TCP连接的请求;
将首次接收到的TCP连接响应信息对应的候选IP选择为目标IP。
6.根据权利要求1-5之一所述的方法,其特征在于,在向所述目标IP所属的服务器发送请求以请求数据,得到所述目标IP的当前请求结果之后,所述方法还包括:
记录所述目标IP的当前请求结果的积分和所述当前请求结果的产生时刻。
7.一种数据请求装置,其特征在于,所述装置包括:
计算单元,被配置为对于多个候选IP中的每一个候选IP,基于所述候选IP的所有目标历史请求结果的积分,计算所述候选IP的当前总积分,其中,目标历史请求结果为用于计算所述当前总积分的历史请求结果,请求成功的历史请求结果的积分大于请求失败的历史请求结果的积分;
选择单元,基于每一个候选IP的当前总积分,从多个候选IP中选择目标IP,以及向所述目标IP所属的服务器发送请求以请求数据,得到所述目标IP的当前请求结果。
8.根据权利要求7所述的装置,其特征在于,计算单元进一步被配置为基于所述候选IP的每一个目标历史请求结果的积分和所述每一个目标历史请求结果的权重,计算所述候选IP的当前总积分,其中,所述目标历史请求结果的权重的大小与所述目标历史请求结果的产生时刻与当前时刻之间的时间间隔的大小成反比。
9.一种服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器利用通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011011124.1A CN112134957B (zh) | 2020-09-23 | 2020-09-23 | 数据请求方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011011124.1A CN112134957B (zh) | 2020-09-23 | 2020-09-23 | 数据请求方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112134957A true CN112134957A (zh) | 2020-12-25 |
CN112134957B CN112134957B (zh) | 2022-08-05 |
Family
ID=73839208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011011124.1A Active CN112134957B (zh) | 2020-09-23 | 2020-09-23 | 数据请求方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112134957B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120120913A1 (en) * | 2010-11-11 | 2012-05-17 | Research In Motion Limited | Method in a mobile device for network selection to provide an enhanced number of ip sessions |
US20120173710A1 (en) * | 2010-12-31 | 2012-07-05 | Verisign | Systems, apparatus, and methods for network data analysis |
CN103455594A (zh) * | 2013-09-02 | 2013-12-18 | 小米科技有限责任公司 | 一种浏览器地址栏推荐网址的方法、装置及终端设备 |
CN104158919A (zh) * | 2014-08-20 | 2014-11-19 | 安一恒通(北京)科技有限公司 | 网页访问实现方法、服务器和客户端 |
CN108173976A (zh) * | 2016-12-07 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 域名解析方法及装置 |
CN108881515A (zh) * | 2018-07-09 | 2018-11-23 | 迈普通信技术股份有限公司 | 域名解析方法、装置及网络设备 |
CN110401552A (zh) * | 2018-04-24 | 2019-11-01 | 贵州白山云科技股份有限公司 | 一种cdn业务自动调优方法及装置 |
CN111262938A (zh) * | 2020-01-17 | 2020-06-09 | 厦门网宿有限公司 | 一种dns服务器选择方法和代理服务器 |
-
2020
- 2020-09-23 CN CN202011011124.1A patent/CN112134957B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120120913A1 (en) * | 2010-11-11 | 2012-05-17 | Research In Motion Limited | Method in a mobile device for network selection to provide an enhanced number of ip sessions |
US20120173710A1 (en) * | 2010-12-31 | 2012-07-05 | Verisign | Systems, apparatus, and methods for network data analysis |
CN103455594A (zh) * | 2013-09-02 | 2013-12-18 | 小米科技有限责任公司 | 一种浏览器地址栏推荐网址的方法、装置及终端设备 |
CN104158919A (zh) * | 2014-08-20 | 2014-11-19 | 安一恒通(北京)科技有限公司 | 网页访问实现方法、服务器和客户端 |
CN108173976A (zh) * | 2016-12-07 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 域名解析方法及装置 |
CN110401552A (zh) * | 2018-04-24 | 2019-11-01 | 贵州白山云科技股份有限公司 | 一种cdn业务自动调优方法及装置 |
CN108881515A (zh) * | 2018-07-09 | 2018-11-23 | 迈普通信技术股份有限公司 | 域名解析方法、装置及网络设备 |
CN111262938A (zh) * | 2020-01-17 | 2020-06-09 | 厦门网宿有限公司 | 一种dns服务器选择方法和代理服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN112134957B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107395683B (zh) | 一种回源路径的选择方法及服务器 | |
JP2019070912A (ja) | セキュリティ評価システムおよびセキュリティ評価方法 | |
CN112087644B (zh) | 拉流请求处理方法、装置、系统、电子设备和存储介质 | |
CN106888277B (zh) | 一种域名查询方法及装置 | |
CN109241084B (zh) | 数据的查询方法、终端设备及介质 | |
CN111064802B (zh) | 一种网络请求的处理方法、装置、电子设备及存储介质 | |
CN114528231A (zh) | 一种数据动态存储方法、装置、电子设备及存储介质 | |
CN110430070B (zh) | 一种服务状态分析方法、装置、服务器、数据分析设备及介质 | |
CN114268672B (zh) | Cdn节点分配方法、装置、电子设备、介质及程序产品 | |
CN112134958A (zh) | 数据请求方法、装置、服务器及存储介质 | |
CN111309693A (zh) | 一种数据同步方法、装置、系统、电子设备及存储介质 | |
CN112134957B (zh) | 数据请求方法、装置、服务器及存储介质 | |
CN108574610B (zh) | 一种压力测试方法、装置、电子设备及介质 | |
CN108390770B (zh) | 一种信息生成方法、装置及服务器 | |
CN116484137A (zh) | 数据还原方法、装置、及电子设备和存储介质 | |
JPWO2017159490A1 (ja) | 通信解析装置、通信解析方法およびコンピュータプログラム | |
CN113905092B (zh) | 一种确定可复用代理队列的方法、装置、终端及存储介质 | |
CN112988504B (zh) | 一种报警策略的设定方法、装置、电子设备及存储介质 | |
CN111586438B (zh) | 一种业务数据的处理方法、装置及系统 | |
CN114520784A (zh) | 一种动态内容加速访问方法及装置 | |
CN112308660A (zh) | 数据处理方法、装置及系统 | |
CN108763291B (zh) | 一种数据管理方法、装置及电子设备 | |
CN112507216A (zh) | 一种数据对象推荐方法、装置、设备和存储介质 | |
CN111597047A (zh) | 一种服务部署方法、装置、电子设备及存储介质 | |
CN111782418A (zh) | 一种数据归因方法、装置、电子设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |