发明内容
本申请实施例提供一种选择网络数据中心的方法及装置,用于有效提高用户的网络访问速度,以及避免出现IDC之间的负载不均衡。
本申请实施例提供的具体技术方案如下:
一种选择IDC的方法,包括:
确定发送网络访问请求的用户所归属的用户样本集合,其中,归属于同一用户样本集合的用户具有至少一种相同的预设属性取值;
确定所述用户样本集合对应的目标IDC,其中,一个用户样本集合对应的目标IDC,为管理的多个IDC中,当前针对所述用户样本集合中的各个用户的性能指标达到设定门限值的一个IDC;
配置所述用户通过所述目标IDC连接至网络。
可选的,确定发送网络访问请求的用户所归属的用户样本集合之前,进一步包括:
确定用户样本,并基于预设属性对所述用户样本进行分类,划分出若干用户样本集合;
分别在每一个用户样本集合中,按照IDC的数目划分出相应数目的用户样本子集,以及分别在每一个用户样本集合中,在各个用户样本子集和各个IDC之间设置一一对应关系;
分别针对每一个用户样本集合执行以下操作:
基于所述一一对应关系,分别为用户样本集合中每一个用户样本子集内的各个用户,配置通过相应的IDC连接至网络;
根据各个IDC的反馈,将性能指标达到设定门限值的一个IDC,作为所述用户样本集合对应的目标IDC。
可选的,进一步包括:
按照设定的第一周期,分别针对每一个用户样本集合执行以下操作:
更新用户样本集合中的用户样本;
在所述用户样本集合中,重新按照IDC的数目划分出相应数目的用户样本子集;
重新设置所述用户样本集合中各个用户样本子集和各个IDC之间的一一对应关系;
基于重新设置的一一对应关系,分别为所述用户样本集合中每一个用户样本子集内的各个用户,配置通过相应的IDC连接至网络;
根据各个IDC的反馈,重新将性能指标达到设定门限值的一个IDC,作为所述用户样本集合对应的目标IDC。
可选的,进一步包括:
按照设定的第二周期,分别针对每一个用户样本集合执行以下操作:
基于已设置的一一对应关系,分别为用户样本集合中每一个用户样本子集内的各个用户,重新配置通过相应的IDC连接至网络;
根据各个IDC的反馈,重新将性能指标达到设定门限值的一个IDC,作为所述用户样本集合对应的目标IDC。
可选的,进一步包括:
根据管理人员指示,或者,按照预设的第三周期,执行以下操作:
重新设置所述预设属性;
按照重新设置的预设属性,对用户样本进行分类,重新划分出若干用户样本集合。
一种选择IDC的装置,包括:
确定单元,用于确定发送网络访问请求的用户所归属的用户样本集合,其中,归属于同一用户样本集合的用户具有至少一种相同的预设属性取值;
处理单元,用于确定所述用户样本集合对应的目标IDC,其中,一个用户样本集合对应的目标IDC,为管理的多个IDC中,当前针对所述用户样本集合中的各个用户的性能指标达到设定门限值的一个IDC;
配置单元,用于配置所述用户通过所述目标IDC连接至网络。
可选的,确定发送网络访问请求的用户所归属的用户样本集合之前,所述处理单元进一步用于:
确定用户样本,并基于预设属性对所述用户样本进行分类,划分出若干用户样本集合;
分别在每一个用户样本集合中,按照IDC的数目划分出相应数目的用户样本子集,以及分别在每一个用户样本集合中,在各个用户样本子集和各个IDC之间设置一一对应关系;
分别针对每一个用户样本集合执行以下操作:
基于所述一一对应关系,通过所述配置单元分别为用户样本集合中每一个用户样本子集内的各个用户,配置通过相应的IDC连接至网络;
根据各个IDC的反馈,通过所述配置单元将性能指标达到设定门限值的一个IDC,配置为所述用户样本集合对应的目标IDC。
可选的,所述处理单元进一步用于:
按照设定的第一周期,分别针对每一个用户样本集合执行以下操作:
更新用户样本集合中的用户样本;
在所述用户样本集合中,重新按照IDC的数目划分出相应数目的用户样本子集;
重新设置所述用户样本集合中各个用户样本子集和各个IDC之间的一一对应关系;
基于重新设置的一一对应关系,通过所述配置单元分别为所述用户样本集合中每一个用户样本子集内的各个用户,配置通过相应的IDC连接至网络;
根据各个IDC的反馈,通过所述配置单元重新将性能指标达到设定门限值的一个IDC,配置为所述用户样本集合对应的目标IDC。
可选的,所述处理单元进一步用于:
按照设定的第二周期,分别针对每一个用户样本集合执行以下操作:
基于已设置的一一对应关系,通过所述配置单元分别为用户样本集合中每一个用户样本子集内的各个用户,重新配置通过相应的IDC连接至网络;
根据各个IDC的反馈,通过所述配置单元重新将性能指标达到设定门限值的一个IDC,配置为所述用户样本集合对应的目标IDC。
可选的,所述处理单元进一步用于:
根据管理人员指示,或者,按照预设的第三周期,执行以下操作:
重新设置所述预设属性;
按照重新设置的预设属性,对用户样本进行分类,重新划分出若干用户样本集合。
本申请有益效果如下:
本申请实施例中,管理服务器预先基于预设属性划分出若干用户样本集合,再针对每一个用户样本集合,选定性能指标达到设定门限的一个IDC作为目标IDC,这样,当后续再有用户发送网络访问请求时,管理服务器便可以基于预设属性确定用户所归属的用户样本集合,再配置用户通过该用户样本集合对应的目标IDC连接至网络,这样,在全球网络服务中,管理服务器可以基于至少一种预设属性,为用户实时选择当前性能最优的IDC提供服务,从而有效提高了用户的网络访问速度,同时,也避免出现IDC之间的负载不均衡的情况。
具体实施方式
为了有效提高用户的网络访问速度,以及避免出现IDC之间的负载不均衡,本申请实施例中,根据预设属性对各个用户进行分类,划分出不同的用户样本集合(又称为Pattern),在每一个用户样本集合中进一步划分出多个用户样本子集,针对每一个用户样本集合,分别将每一个用户样本子集中各用户发送的网络访问请求分配至相应的一个IDC进行处理,以及根据各个IDC的反馈,确定每一个用户样本集合对应的最优IDC。
下面结合附图对本申请优选的实施方式进行详细说明。
本申请实施例中,管理服务器针对网络中的海量用户,会预先将一部分用户作为用户样本,根据预设属性对这一部分用户样本进行分类,划分出若干用户样本集合,再针对每一个用户样本集合选定性能最优的IDC,亦称为目标IDC,参阅图1所示,具体过程如下:
步骤100:管理服务器确定用户样本的数目。
可选的,用户样本的数目可以预先由管理人员设置,也可以根据当前的活跃用户数目确定,如,若当前网络中活跃着1万名用户,那么,可以选择3000名用户作为用户样本进行分类,因为,30%这一比例已经足够测试出各个IDC的当前性能,当然,30%仅为举例,管理人员可以根据应用环境灵活配置设置这一比例,在此不再赘述。
步骤110:管理服务器基于预设属性对各个用户样本进行分类,划分出若干用户样本集合。
本实施例中,预设属性可以由管理人员预先配置,只需要能够令归属于同一用户样本集合的各个用户样本在访问IDC时,访问性能接近即可,其中,归属于同一用户样本集合的用户可以具有一个或一个以上(即至少一个)相同的预设属性取值,在此不再赘述。
例如,预设属性为“C地址段相同”,所谓C地址段即是指IP地址中的第三地址段,如,192.168.1.101,其中,1即为C地址段,基于“C地址段相同”原则,管理服务器可以同一局域网内的用户样本划分至同一用户样本集合中。
又例如,预设属性为“城市相同”,那么,管理服务器可以将同一城市内的用户样本划分至同一用户样本集合中。
又例如,预设属性为“运营商相同”,那么,管理服务器可以将归属于同一运营商的用户样本划分至同一用户样本集合中。
预设属性可以由管理人员根据具体应用环境灵活配置,上述三种仅为举例,在此不再一一赘述。
步骤120:管理服务器分别在每一个用户样本集合中,按照IDC的数目划分出相应数目的用户样本子集。
以一个用户样本集合N为例,参阅图2所示,假设管理服务器能够管理M个IDC,那么,管理服务器便需要在用户样本集合N中划分出M个用户样本子集,不同用户样本子集包含的用户样本之间不存在交集,即同一用户样本不可重复划分,而不同用户样本子集包含的用户样本数目可以相同也可以不同,只需要保证每一个用户样本子集合中的用户样本数目,足以测试出一个IDC的性能即可。例如,用户样本集合N中总共包含N=100个用户样本,管理服务器当前能够管理M=3个IDC,那么,可以将用户样本集合划分为3个用户样本子集,各个用户样本子集中包含的用户样本数目分别为:25、30、45。
步骤130:管理服务器分别在每一个用户样本集合中,设置各个用户样本子集和各个IDC之间的一一对应关系,即在每一个用户样本集合中,一个用户样本子集对应一个IDC,不同的用户样本子集对应不同的IDC。
例如,参阅图2所示,仍以用户样本集合N为例,在用户样本集合N中,假设用户样本子集1与IDC 1对应,用户样本子集2与IDC 2对应,……用户样本子集M与IDC M对应,那么,假设管理服务器接收到用户样本子集2中的用户发送的网络访问请求时,便会选取IDC 2为用户样本子集2中的用户提供相应服务。
步骤140:管理服务器分别针对每一个用户样本集合执行以下操作:基于上述一一对应关系,分别为用户样本集合中每一个用户样本子集内的各个用户配置通过相应的IDC连接至网络,根据各个IDC的反馈,将性能指标达到预设门限的一个IDC作为用户样本集合对应的目标IDC。
例如,参阅图2所示,仍以用户样本集合N为例,假设管理服务器为用户样本集合N中的每一个用户样本子集内的各个用户,配置通过相应的IDC连接至网络后,根据各个IDC的反馈,确定IDC 2和IDC 3的性能指标达到预设门限,如,IDC 2和IDC 3的反馈时间均不高于预设的反馈门限,和/或,IDC 2和IDC 3的反馈丢包率均不高于预设的丢包率门限(此种性能指标衡量方式仅为举例),那么,可以从IDC 2和IDC 3中选择一个IDC作为目标IDC,假设选定了IDC 2,则将IDC 2选定为用户样本集合N的目标IDC,后续再被划分至用户样本集合N的用户向管理服务器发送网络访问请求后,管理服务器会继续配置这些用户通过IDC 2连接至网络。
步骤150:管理服务器确定到达设定的更新时间点时,返回步骤100。
实际应用中,管理服务器需要按照设定的第一周期(上述设定的更新时间点与第一周期相符合),反复执行步骤100-步骤140,即,按照设定的第一周期,分别针对每一个用户样本集合,执行以下操作:
更新用户样本集合中的用户样本;
在上述用户样本集合中,重新按照IDC的数目划分出相应数目的用户样本子集;
重新设置上述用户样本集合中各个用户样本子集和各个IDC之间的一一对应关系;
基于重新设置的一一对应关系,分别为上述用户样本集合中每一个用户样本子集内的各个用户配置通过相应的IDC连接至网络;
根据各个IDC的反馈,重新选择性能指标达到预设门限的一个IDC作为上述用户样本集合对应的目标IDC。
之所以需要按照第一周期,反得执行步骤100-步骤140,是因为网络环境是实时变化的,各个IDC的服务性能也会随之变化,因此,定期重新确定目标IDC,可以保证归属于不同用户样本集合的各个用户,能够持续使用相对其归属的用户样本集合而言,当前性能最优的IDC提供的服务,从而确保了服务质量。
当然,实际应用中,如果用户样本是固定的(如,管理服务器已经选定了一批具有典型特征的优质用户作为用户样本),那么,在上述实施例中,管理服务器也可以不用反复执行步骤100-步骤140,而是仅按照第二周期,反复执行步骤140即可,其中,第一周期与第二周期可以相同,也可以不同。
具体的,在反复执行步骤140时,DSN服务器会按照设定的第二周期,分别针对每一个用户样本集合执行以下操作:
基于已设置的一一对应关系(此时由于使用的是原有的用户样本,因此,无需重新设置上述一一对应关系),分别为用户样本集合中每一个用户样本子集内的各个用户配置通过相应的IDC连接至网络;
根据各个IDC的反馈,重新选取性能指标达到预设门限的一个IDC,作为上述用户样本集合对应的目标IDC。
无论是反复执行步骤100-步骤140,还是仅反复执行步骤140,进一步地,实际应用中,为了实现对用户准确归类,管理服务器需要根据管理人员的指示,或者,按照预设的第三周期,对预设属性进行更新,并采用更新后的预设属性针对新的用户样本进行重新归类,重新划分出新的若干用户样本集合,这样,可以及时且准确地筛选出具有相似性的用户样本,从而便于对各个IDC的进行有效地性能测试。
另一方面,本申请实施例中,管理服务器可以是DNS服务器中的一个功能模块,也可以是独立运行的设备,DNS服务器会在运行过程中调用管理服务器,以便共享信息。
基于上述实施例,在分别确定了每一个用户样本集合对应的目标IDC之后,进一步地,管理服务器在后续接收到用户的网络访问请求时,可以按照上述一一对应关系为用户配置通过相应的IDC连接至网络;参阅图3所示,具体流程如下:
步骤300:管理服务器基于发送了网络访问请求的用户的至少一个预设属性,确定该用户所归属的用户样本集合,其中,归属于同一用户样本集合的用户具有至少一种相同的预设属性取值。
例如,假设本实施例中,管理服务器和DNS服务器是各自独立运行的设备,而用户X向DNS服务发送的网络访问请求为:www.ABC.com,那么,DNS服务器会将用户X的情况通知管理服务器,触发管理服务器为用户X选择当前性能最优的IDC提供服务。
具体的,管理服务器器可以在预处理阶段,周期性地对使用网络的用户进行用户样本集合的划分,这样,当确定某一用户发送了网络访问请求时,管理服务器便可以直接根据上述某一用户的至少一种预设属性取值,确定该用户所归属的用户样本集合。
或者,管理服务器也可以在确定某一用户发送了网络访问请求后,根据该用户的至少一种预设属性取值,实时地将该用户划分至相应的用户样本集合。
例如,假设预设属性为“归属城市”,则管理服务器基于用户X发送的网络访问请求中携带的客户端IP地址,确定用户X的归属地是“北京”,那么,管理服务器会将用户X归属至“北京”这一预设属性取值所对应的用户样本集合2(如图2所示)中。
步骤310:管理服务器确定上述用户样本集合对应的目标IDC,其中,一个用户样本集合对应的目标IDC,为管理服务器管理的多个IDC中,当前针对该用户样本集合中的各个用户的性能指标达到预设门限的一个IDC。
具体的,仍以用户X归属于用户样本集合2为例,由于在接收到用户X的网络访问请求之前,管理服务器已经基于用户样本集合2包含的每一个用户样本子集(共M个)中各个用户发送的网络访问请求,分别选取了相应的IDC进行了性能测试,因此,管理服务器已经针对用户样本集合2选择了当前阶段性能最优的IDC作为目标IDC,本实施例中,假设用户样本集合2通过IDC M连接至网络时,可以令丢包率低于预设的丢包率门限(即性能最优),即可以选择IDC M作为用户样本集合2对应的目标IDC。
步骤320:管理服务器配置上述用户通过上述目标IDC连接至网络。
具体的,仍以用户X发送的网络访问请求是www.ABC.com为例,DNS服务器会对网络访问请求进行域名解析,确定用户X请求访问的域名为“ABC”,接着,管理服务器为用户X选择了IDC M作为目标IDC,而DNS服务器会将域名“ABC”对应的网络IP地址发往IDC M,即通知IDC M为用户X提供服务,而IDC M在接收到通知后,将返回“ABC”这一域名对应的网页页面。
进一步地,参阅图4所示,各个IDC在提供服务的过程中,记录有各个IDC性能指标相关数据的日志文件被实时保留,并定期作为大数据反馈给管理服务器,以便管理服务器可以通过大数据计算,实时掌握各个IDC相对于各个用户样本集合的服务性能,从而及时更新各个用户样本集合对应的目标IDC。
基于上述实施例,参阅图5所示,本申请实施例中,管理服务器至少包括确定单元50、处理单元51和配置单元52,其中,
确定单元50,用于确定发送网络访问请求的用户所归属的用户样本集合,其中,归属于同一用户样本集合的用户具有至少一种相同的预设属性取值;
处理单元51,用于确定所述用户样本集合对应的目标IDC,其中,一个用户样本集合对应的目标IDC,为管理的多个IDC中,当前针对所述用户样本集合中的各个用户的性能指标达到设定门限值的一个IDC;
配置单元52,用于配置所述用户通过所述目标IDC连接至网络。
可选的,确定发送网络访问请求的用户所归属的用户样本集合之前,处理单元51进一步用于:
确定用户样本,并基于预设属性对所述用户样本进行分类,划分出若干用户样本集合;
分别在每一个用户样本集合中,按照IDC的数目划分出相应数目的用户样本子集,以及分别在每一个用户样本集合中,在各个用户样本子集和各个IDC之间设置一一对应关系;
分别针对每一个用户样本集合执行以下操作:
基于所述一一对应关系,通过所述配置单元分别为用户样本集合中每一个用户样本子集内的各个用户,配置通过相应的IDC连接至网络;
根据各个IDC的反馈,通过所述配置单元将性能指标达到设定门限值的一个IDC,配置为所述用户样本集合对应的目标IDC。
可选的,处理单元51进一步用于:
按照设定的第一周期,分别针对每一个用户样本集合执行以下操作:
更新用户样本集合中的用户样本;
在所述用户样本集合中,重新按照IDC的数目划分出相应数目的用户样本子集;
重新设置所述用户样本集合中各个用户样本子集和各个IDC之间的一一对应关系;
基于重新设置的一一对应关系,通过配置单元52分别为所述用户样本集合中每一个用户样本子集内的各个用户,配置通过相应的IDC连接至网络;
根据各个IDC的反馈,通过配置单元52重新将性能指标达到设定门限值的一个IDC,配置为所述用户样本集合对应的目标IDC。
可选的,处理单元51进一步用于:
按照设定的第二周期,分别针对每一个用户样本集合执行以下操作:
基于已设置的一一对应关系,通过配置单元52分别为用户样本集合中每一个用户样本子集内的各个用户,重新配置通过相应的IDC连接至网络;
根据各个IDC的反馈,通过配置单元52重新将性能指标达到设定门限值的一个IDC,配置为所述用户样本集合对应的目标IDC。
可选的,处理单元51进一步用于:
根据管理人员指示,或者,按照预设的第三周期,执行以下操作:
重新设置所述预设属性;
按照重新设置的预设属性,对用户样本进行分类,重新划分出若干用户样本集合。
综上所述,本申请实施例中,管理服务器预先基于预设属性划分出若干用户样本集合,再针对每一个用户样本集合,选定性能指标达到设定门限的一个IDC作为目标IDC,这样,当后续再有用户发送网络访问请求时,管理服务器便可以基于预设属性确定用户所归属的用户样本集合,再配置用户通过该用户样本集合对应的目标IDC连接至网络,这样,在全球网络服务中,管理服务器可以基于至少一种预设属性,为用户实时选择当前性能最优的IDC提供服务,从而有效提高了用户的网络访问速度,同时,也避免出现IDC之间的负载不均衡的情况。
具体的,经测试,采用本申请实施例提供的技术方案,用户访问网页页面的首字节的时间平均应该有300ms左右的提升,而网页页面完全加载的时长会有1s左右的提升,可以有效提升用户体验。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。