一种域名访问方法、终端及存储介质转让专利

申请号 : CN202110796179.6

文献号 : CN115701066A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李晟李佳贞冯烨

申请人 : 中移(成都)信息通信科技有限公司中国移动通信集团有限公司

摘要 :

本发明公开了一种域名访问方法、终端及存储介质,方法包括:从服务端中,获取不同位置区域与不同域名之间的对应关系;获取终端的当前位置区域,并从对应关系中查找与当前位置区域对应的域名,得到至少一个可选域名;从至少一个可选域名中确定目标域名,并向目标域名发起访问。通过上述技术方案,提高了终端域名访问的效率和灵活性。

权利要求 :

1.一种域名访问方法,其特征在于,应用于终端,所述方法包括:

从服务端中,获取不同位置区域与不同域名之间的对应关系;

获取所述终端的当前位置区域,并从所述对应关系中查找与所述当前位置区域对应的域名,得到至少一个可选域名;

从所述至少一个可选域名中确定目标域名,并向所述目标域名发起访问。

2.根据权利要求1所述的方法,其特征在于,所述从所述至少一个可选域名中确定目标域名,包括:从所述服务端中,获取所述当前位置区域的区域标识信息;

根据所述至少一个可选域名,从所述对应关系中查找与所述至少一个可选域名对应的每一个区域,得到至少一个区域;所述至少一个区域包括所述当前位置区域;

利用一致性散列算法,根据所述至少一个区域和所述区域标识信息,从所述至少一个可选域名中确定所述目标域名。

3.根据权利要求2所述的方法,其特征在于,所述利用一致性散列算法,根据所述至少一个区域和所述区域标识信息,从所述至少一个可选域名中确定所述目标域名,包括:针对所述至少一个可选域名中每个域名,利用对应的域名标识信息,确定在预设哈希整数环上对应的哈希值,并将确定出的每个哈希值作为一个域名散列值,得到与所述至少一个可选域名一一对应的至少一个域名散列值;

针对所述至少一个区域中的每个区域,在所述预设哈希整数环上分配对应的哈希值,得到与所述至少一个区域一一对应的至少一个哈希值;

利用预设循环方式,根据所述至少一个哈希值和所述至少一个域名散列值,确定所述至少一个可选域名中,每个域名在所述至少一个区域中对应的区域;

利用所述区域标识信息进行哈希散列计算,得到目标散列值;

从所述至少一个哈希值中查找与所述目标散列值最接近的哈希值,并将所述至少一个区域中,与查找到的哈希值对应的区域确定为目标区域;

将所述至少一个可选域名中,与所述目标区域对应的域名确定为所述目标域名。

4.根据权利要求3所述的方法,其特征在于,所述针对所述至少一个区域中的每个区域,在所述预设哈希整数环上分配对应的哈希值,得到与所述至少一个区域一一对应的至少一个哈希值,包括:获取与所述至少一个可选域名一一对应的至少一个当前权重值;

在所述预设哈希整数环上,以所述至少一个可选域名对应的所述至少一个域名散列值为界限,确定所述至少一个可选域名中每个域名对应的数值区间,得到至少一个数值区间;

针对所述至少一个区域中的每个区域,基于所述至少一个当前权重值中对应的当前权重值,从所述至少一个区域中选取区域,并为选取出的区域在对应的数值区间内进行哈希值分配,得到所述至少一个哈希值。

5.根据权利要求4所述的方法,其特征在于,所述获取与所述至少一个可选域名一一对应的至少一个当前权重值之前,还包括:针对所述至少一个可选域名中的每个域名,获取对应的多个访问响应时长,并将获取到的时长的平均时长确定为第一平均时长,得到至少一个第一平均时长;

在当前时刻与预设时刻之间,针对所述至少一个可选域名中的每个域名,周期性的获取对应的访问响应时长,并将获取到的时长的平均时长确定为第二平均时长,得到至少一个第二平均时长;

针对所述至少一个可选域名中的每个域名,基于所述至少一个第一平均时长和所述至少一个第二平均时长中对应的时长,确定对应的权重调整值,得到至少一个权重调整值;

针对所述至少一个可选域名中的每个域名,利用所述至少一个权重调整值中对应的调整值,调整对应的历史权重值,得到所述至少一个当前权重值。

6.一种终端,其特征在于,所述终端包括:

第一获取模块,用于从服务端中,获取不同位置区域与不同域名之间的对应关系;

第二获取模块,用于获取所述终端的当前位置区域,并从所述对应关系中查找与所述当前位置区域对应的域名,得到至少一个可选域名;

处理模块,用于从所述至少一个可选域名中确定目标域名,并向所述目标域名发起访问。

7.根据权利要求6所述的终端,其特征在于,

所述处理模块,具体用于从所述服务端中,获取所述当前位置区域的区域标识信息;根据所述至少一个可选域名,从所述对应关系中查找与所述至少一个可选域名对应的每一个区域,得到至少一个区域;所述至少一个区域包括所述当前位置区域;利用一致性散列算法,根据所述至少一个区域和所述区域标识信息,从所述至少一个可选域名中确定所述目标域名。

8.根据权利要求7所述的终端,其特征在于,

所述处理模块,具体用于针对所述至少一个可选域名中每个域名,利用对应的域名标识信息,确定在预设哈希整数环上对应的哈希值,并将确定出的每个哈希值作为一个域名散列值,得到与所述至少一个可选域名一一对应的至少一个域名散列值;针对所述至少一个区域中的每个区域,在所述预设哈希整数环上分配对应的哈希值,得到与所述至少一个区域一一对应的至少一个哈希值;利用预设循环方式,根据所述至少一个哈希值和所述至少一个域名散列值,确定所述至少一个可选域名中,每个域名在所述至少一个区域中对应的区域;利用所述区域标识信息进行哈希散列计算,得到目标散列值;从所述至少一个哈希值中查找与所述目标散列值最接近的哈希值,并将所述至少一个区域中,与查找到的哈希值对应的区域确定为目标区域;将所述至少一个可选域名中,与所述目标区域对应的域名确定为所述目标域名。

9.一种终端,其特征在于,包括:处理器、存储器和通信总线;

所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;

所述处理器,用于执行所述存储器中存储的域名访问程序,以实现权利要求1‑5任一项所述的域名访问方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现权利要求1‑5任一项所述的域名访问方法。

说明书 :

一种域名访问方法、终端及存储介质

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种域名访问方法、终端及存储介质。

背景技术

[0002] 传统的设备管理系统一般由若干个终端设备和一个全球广域网(World Wide Web,Web)服务端组成,Web服务端作为站点提供外部访问地址,设备终端通过设置指向Web服务端提供的外部访问地址进行数据交互和设备管理。
[0003] 目前,设备终端指向Web服务端的外部访问地址的设置一般是出厂预置,或者在设备注册时通过页面的方式进行设置,从而造成在Web服务端的访问地址发生了变动,需要对每台终端设备的指向地址分别进行修改设置,否则设备可能会无法正常使用,并且在当前Web服务端接入的设备数量较大,负载压力较大需要增设其他Web服务端的情况下,也需要对系统内现有的终端设备的一部分进行重新设置,使这些设备的指向地址指向新增设的其他Web服务端,造成工作量较大,灵活性较差,效率极低。

发明内容

[0004] 为解决上述技术问题,本发明期望提供一种域名访问方法、终端及存储介质,终端可以从服务端获取到不同位置区域与不同域名之间的对应关系,从而利用该对应关系确定发起访问的目标域名,提高了终端域名访问的效率和灵活性。
[0005] 本发明的技术方案是这样实现的:
[0006] 本发明提供了一种域名访问方法,应用于终端,所述方法包括:
[0007] 从服务端中,获取不同位置区域与不同域名之间的对应关系;
[0008] 获取所述终端的当前位置区域,并从所述对应关系中查找与所述当前位置区域对应的域名,得到至少一个可选域名;
[0009] 从所述至少一个可选域名中确定目标域名,并向所述目标域名发起访问。
[0010] 在上述方法中,所述从所述至少一个可选域名中确定目标域名,包括:
[0011] 从所述服务端中,获取所述当前位置区域的区域标识信息;
[0012] 根据所述至少一个可选域名,从所述对应关系中查找与所述至少一个可选域名对应的每一个区域,得到至少一个区域;所述至少一个区域包括所述当前位置区域;
[0013] 利用一致性散列算法,根据所述至少一个区域和所述区域标识信息,从所述至少一个可选域名中确定所述目标域名。
[0014] 在上述方法中,所述利用一致性散列算法,根据所述至少一个区域和所述区域标识信息,从所述至少一个可选域名中确定所述目标域名,包括:
[0015] 针对所述至少一个可选域名中每个域名,利用对应的域名标识信息,确定在预设哈希整数环上对应的哈希值,并将确定出的每个哈希值作为一个域名散列值,得到与所述至少一个可选域名一一对应的至少一个域名散列值;
[0016] 针对所述至少一个区域中的每个区域,在所述预设哈希整数环上分配对应的哈希值,得到与所述至少一个区域一一对应的至少一个哈希值;
[0017] 利用预设循环方式,根据所述至少一个哈希值和所述至少一个域名散列值,确定所述至少一个可选域名中,每个域名在所述至少一个区域中对应的区域;
[0018] 利用所述区域标识信息进行哈希散列计算,得到目标散列值;
[0019] 从所述至少一个哈希值中查找与所述目标散列值最接近的哈希值,并将所述至少一个区域中,与查找到的哈希值对应的区域确定为目标区域;
[0020] 将所述至少一个可选域名中,与所述目标区域对应的域名确定为所述目标域名。
[0021] 在上述方法中,所述针对所述至少一个区域中的每个区域,在所述预设哈希整数环上分配对应的哈希值,得到与所述至少一个区域一一对应的至少一个哈希值,包括:
[0022] 获取与所述至少一个可选域名一一对应的至少一个当前权重值;
[0023] 在所述预设哈希整数环上,以所述至少一个可选域名对应的所述至少一个域名散列值为界限,确定所述至少一个可选域名中每个域名对应的数值区间,得到至少一个数值区间;
[0024] 针对所述至少一个区域中的每个区域,基于所述至少一个当前权重值中对应的当前权重值,从所述至少一个区域中选取区域,并为选取出的区域在对应的数值区间内进行哈希值分配,得到所述至少一个哈希值。
[0025] 在上述方法中,所述获取与所述至少一个可选域名一一对应的至少一个当前权重值之前,还包括:
[0026] 针对所述至少一个可选域名中的每个域名,获取对应的多个访问响应时长,并将获取到的时长的平均时长确定为第一平均时长,得到至少一个第一平均时长;
[0027] 在当前时刻与预设时刻之间,针对所述至少一个可选域名中的每个域名,周期性的获取对应的访问响应时长,并将获取到的时长的平均时长确定为第二平均时长,得到至少一个第二平均时长;
[0028] 针对所述至少一个可选域名中的每个域名,基于所述至少一个第一平均时长和所述至少一个第二平均时长中对应的时长,确定对应的权重调整值,得到至少一个权重调整值;
[0029] 针对所述至少一个可选域名中的每个域名,利用所述至少一个权重调整值中对应的调整值,调整对应的历史权重值,得到所述至少一个当前权重值。
[0030] 本发明提供了一种终端,包括:
[0031] 第一获取模块,用于从服务端中,获取不同位置区域与不同域名之间的对应关系;
[0032] 第二获取模块,用于获取所述终端的当前位置区域,并从所述对应关系中查找与所述当前位置区域对应的域名,得到至少一个可选域名;
[0033] 处理模块,用于从所述至少一个可选域名中确定目标域名,并向所述目标域名发起访问。
[0034] 在上述终端中,所述处理模块,具体用于从所述服务端中,获取所述当前位置区域的区域标识信息;根据所述至少一个可选域名,从所述对应关系中查找与所述至少一个可选域名对应的每一个区域,得到至少一个区域;所述至少一个区域包括所述当前位置区域;利用一致性散列算法,根据所述至少一个区域和所述区域标识信息,从所述至少一个可选域名中确定所述目标域名。
[0035] 在上述终端中,所述处理模块,具体用于针对所述至少一个可选域名中每个域名,利用对应的域名标识信息,确定在预设哈希整数环上对应的哈希值,并将确定出的每个哈希值作为一个域名散列值,得到与所述至少一个可选域名一一对应的至少一个域名散列值;针对所述至少一个区域中的每个区域,在所述预设哈希整数环上分配对应的哈希值,得到与所述至少一个区域一一对应的至少一个哈希值;利用预设循环方式,根据所述至少一个哈希值和所述至少一个域名散列值,确定所述至少一个可选域名中,每个域名在所述至少一个区域中对应的区域;利用所述区域标识信息进行哈希散列计算,得到目标散列值;从所述至少一个哈希值中查找与所述目标散列值最接近的哈希值,并将所述至少一个区域中,与查找到的哈希值对应的区域确定为目标区域;将所述至少一个可选域名中,与所述目标区域对应的域名确定为所述目标域名。
[0036] 在上述终端中,所述处理模块,具体用于获取与所述至少一个可选域名一一对应的至少一个当前权重值;在所述预设哈希整数环上,以所述至少一个可选域名对应的所述至少一个域名散列值为界限,确定所述至少一个可选域名中每个域名对应的数值区间,得到至少一个数值区间;针对所述至少一个区域中的每个区域,基于所述至少一个当前权重值中对应的当前权重值,从所述至少一个区域中选取区域,并为选取出的区域在对应的数值区间内进行哈希值分配,得到所述至少一个哈希值。
[0037] 在上述终端中,所述处理模块,具体用于针对所述至少一个可选域名中的每个域名,获取对应的多个访问响应时长,并将获取到的时长的平均时长确定为第一平均时长,得到至少一个第一平均时长;在当前时刻与预设时刻之间,针对所述至少一个可选域名中的每个域名,周期性的获取对应的访问响应时长,并将获取到的时长的平均时长确定为第二平均时长,得到至少一个第二平均时长;针对所述至少一个可选域名中的每个域名,基于所述至少一个第一平均时长和所述至少一个第二平均时长中对应的时长,确定对应的权重调整值,得到至少一个权重调整值;针对所述至少一个可选域名中的每个域名,利用所述至少一个权重调整值中对应的调整值,调整对应的历史权重值,得到所述至少一个当前权重值。
[0038] 本发明提供了一种终端,包括:处理器、存储器和通信总线;
[0039] 所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
[0040] 所述处理器,用于执行所述存储器中存储的域名访问程序,以实现上述域名访问方法。
[0041] 本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现上述域名访问方法。
[0042] 本发明提供了一种域名访问方法、终端及存储介质,方法包括:从服务端中,获取不同位置区域与不同域名之间的对应关系;获取终端的当前位置区域,并从对应关系中查找与当前位置区域对应的域名,得到至少一个可选域名;从至少一个可选域名中确定目标域名,并向目标域名发起访问。本发明提供的技术方案,终端可以从服务端获取到不同位置区域与不同域名之间的对应关系,从而利用该对应关系确定发起访问的目标域名,提高了终端域名访问的效率和灵活性。

附图说明

[0043] 图1为本发明实施例提供的一种域名访问方法的流程示意图;
[0044] 图2为本发明实施例提供的一种示例性的确定目标域名的流程示意图;
[0045] 图3为本发明实施例提供的一种示例性的终端进行域名访问的流程示意图;
[0046] 图4为本发明实施例提供的一种终端的结构示意图一;
[0047] 图5为本发明实施例提供的一种终端的结构示意图二。

具体实施方式

[0048] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0049] 本发明提供了一种域名访问方法,应用于终端,图1为本发明实施例提供的一种域名访问方法的流程示意图。如图1所示,主要包括以下步骤:
[0050] S101、从服务端中,获取不同位置区域与不同域名之间的对应关系。
[0051] 在本发明的实施例中,终端可以直接从服务端中,获取不同位置区域与不同域名之间的对应关系。
[0052] 需要说明的是,在本发明的实施例中,位置区域的划分方式可以是基于省、市、县、区,以及学校等不同维度进行的区域划分,具体的位置区域的划分维度可以根据实际需求和应用场景进行选择与设定;域名为服务端作为站点提供的外部访问地址,终端可以通过域名进行数据访问。
[0053] 需要说明的是,在本发明的实施例中,不同的位置区域可以对应一个或者多个域名,例如,北京市、天津市和河北省的所有学校可以指向同一域名,或者山东省、河南省、以及江苏省南京市的所有学校可以同时指向至少一个可选域名,其中,至少一个可选域名可以为:域名1、域名2,以及域名3。
[0054] 需要说明的是,在本发明的实施例中,由于终端可以直接获取不同位置区域与不同域名之间的对应关系,进而可以根据该对应关系,确定访问域名,所以,在服务端配置的域名发生变化的情况下,将变化后的对应关系及时在服务端进行更新,终端从服务端获取到更新后的对应关系,并根据更新后的对应关系对终端现有的域名进行修改和重新设置,与现有技术相比,终端在无需人工设定域名的情况下,利用获取的对应关系直接进行域名的修改和重新设定,提高了终端设置域名的效率以及降低了服务端修改配置域名时产生的影响。
[0055] S102、获取终端的当前位置区域,并从对应关系中查找与当前位置区域对应的域名,得到至少一个可选域名。
[0056] 在本发明的实施例中,终端可以直接获取到自身所在的当前位置区域,并从对应关系中查找与当前位置区域对应的域名,得到至少一个可选域名。
[0057] 需要说明的是,在本发明的实施例中,终端可以先获取终端的实际位置信息,该实际位置信息可以为具体的经纬度,然后根据实际位置信息,确定实际位置信息所在的当前位置区域,进而根据当前位置区域,从对应关系中查找与当前位置信息对应的域名,从而得到至少一个可选域名。
[0058] 示例性的,在本发明的实施例中,如果终端获取到的实际位置为某个具体的教学楼,或者具体的街道,根据该实际位置所属的当前位置区域,进而从对应关系中可以查找到与该学校对应的可选域名,得到至少一个可选域名。
[0059] 示例性的,如果在对应关系中,终端所在的南京市的某个学校对应的域名是域名1,域名2和域名3,那么,域名1,域名2和域名3均是该终端可选的域名,从而得到至少一个可选域名。
[0060] S103、从至少一个可选域名中确定目标域名,并向目标域名发起访问。
[0061] 在本发明的实施例中,当终端从至少一个可选域名中确定目标域名之后,可以直接向目标域名发起访问。
[0062] 具体的,在本发明的实施例中,终端从至少一个可选域名中确定目标域名,包括:从服务端中,获取当前位置区域的区域标识信息;根据至少一个可选域名,从对应关系中查找与至少一个可选域名对应的每一个区域,得到至少一个区域;至少一个区域包括当前位置区域;利用一致性散列算法,根据至少一个区域和区域标识信息,从至少一个可选域名中确定目标域名。
[0063] 需要说明的是,在本发明的实施例中,终端需要从服务端中获取当前位置区域的区域标识信息,而当前位置区域可以选择不同维度进行区域划分,如果当前位置区域的区域划分维度选择的是按照学校维度进行的区域划分,那么,终端获取到的当前位置区域具体到某个学校,比如:江苏省南京市的某个学校,进而,终端获取的区域标识信息为该学校的标识信息;当然,如果当前位置区域的维度选择是市,相应的,终端获取的当前位置区域具体到某个市,比如:江苏省南京市,此时,终端获取的区域标识信息为南京市的标识信息,具体的终端获取的当前位置区域的维度也可以选择省、县、区等其他维度,对此,本发明不作限定。
[0064] 需要说明的是,在本发明的实施例中,如果终端获取到的当前位置区域为江苏省南京市某个学校,那么,终端可以根据该学校的可选域名,从对应关系中,确定与该学校指向相同域名的至少一个区域。
[0065] 示例性的,如果终端所在的当前位置区域为南京市的某个学校,那么,终端可以从对应关系中查找得到与该学校对应的可选域名是域名1、域名2,以及域名3,进而根据可选域名:域名1、域名2,以及域名3,从对应关系中查找到可选域名对应的每一个区域,得到至少一个区域,此时的至少一个区域,指的是至少一个学校;例如,域名1、域名2和域名3对应的是山东省、河南省、以及江苏省南京市的所有学校,那么,至少一个区域指的就是山东省、河南省、以及江苏省南京市的所有学校。
[0066] 图2为本发明实施例提供的一种示例性的确定目标域名的流程示意图。如图2所示,终端利用一致性散列算法,根据至少一个区域和区域标识信息,从至少一个可选域名中确定目标域名,主要包括以下步骤:
[0067] S201、针对至少一个可选域名中每个域名,利用对应的域名标识信息,确定在预设哈希整数环上对应的哈希值,并将确定出的每个哈希值作为一个域名散列值,得到与至少一个可选域名一一对应的至少一个域名散列值。
[0068] 在本发明的实施例中,终端针对至少一个可选域名中每个域名,利用对应的域名标识信息,在预设哈希整数环上确定对应的哈希值,并将确定出的每个哈希值作为一个域名散列值,得到与至少一个可选域名一一对应的至少一个域名散列值。
[0069] 需要说明的是,在本发明的实施例中,终端在进行一致性散列算法之前,需要预设哈希整数环,该预设哈希整数环的长度可以为2的32次方,然后构建一个大质数,从而可以利用哈希公式进行哈希计算,公式如下:
[0070] H=hash^ANSI*p                     (1)
[0071] 其中,H为ANSI码对应的哈希值,大质数p可以为任意值,比如:16777619,或者其他任意值,ANSI码指的标识信息,如果利用该公式计算的是域名的哈希值,那么,该公式中的ANSI码指的就是域名的标识信息,如果利用该公式计算的是学校的哈希值,那么,该公式中的ANSI码指的就是学校的标识信息。
[0072] 需要说明的是,在本发明的实施例中,终端利用至少一个可选域名中的每个域名的域名标识信息,根据公式(1)计算对应域名的哈希值,得到可选域名中每个域名的哈希值,进而,根据该哈希值确定可选域名中每个域名在预设哈希整数环上的位置,从而确定每个域名对应的域名散列值。
[0073] S202、针对至少一个区域中的每个区域,在预设哈希整数环上分配对应的哈希值,得到与至少一个区域一一对应的至少一个哈希值。
[0074] 在本发明的实施例中,终端针对至少一个区域中的每个区域,在预设哈希整数环上分配对应的哈希值,得到与至少一个区域一一对应的至少一个哈希值。
[0075] 需要说明的是,在本发明的实施例中,终端可以将至少一个区域分配到预设哈希整数环上,得到对应的哈希值,即至少一个区域中的每个区域在哈希整数环上均有一个对应的位置。
[0076] 具体的,在本发明的实施例中,终端针对至少一个区域中的每个区域,在预设哈希整数环上分配对应的哈希值,得到与至少一个区域一一对应的至少一个哈希值,包括:获取与至少一个可选域名一一对应的至少一个当前权重值;在预设哈希整数环上,以至少一个可选域名对应的至少一个域名散列值为界限,确定至少一个可选域名中每个域名对应的数值区间,得到至少一个数值区间;针对至少一个区域中的每个区域,基于至少一个当前权重值中对应的当前权重值,从至少一个区域中选取区域,并为选取出的区域在对应的数值区间内进行哈希值分配,得到至少一个哈希值。
[0077] 需要说明的是,在本发明的实施例中,考虑到每个终端访问服务端的业务需求不同,相应的,不同业务需求产生的负载也不同,如果简单的对每个域名分配相同的区域数量,可能会导致某个域名的负载过重,而其他域名处于空闲状态,此时,终端可以通过获取服务端中与可选域名一一对应的至少一个当前权重值,然后,根据至少一个当前权重值对至少一个可选域名中对应的域名进行权重调节,进而调节域名分配的区域数量,使得各域名之间负载均衡。
[0078] 需要说明的是,在本发明的实施例中,如果不考虑可选域名中每个域名对应的当前权重值,那么,每个域名分配的区域数量是均等的,比如,域名1~域名3对应的区域数量为3000个,那么,域名1、域名2与域名3均可以分配1000个区域,而如果根据每个域名的负载情况考虑到域名权重值,那么,每个域名分配区域的数量是不均等的,但是,负载是均衡的,从而实现各域名之间的负载平衡,例如,在域名1的当前权重值是0.1,域名2的当前权重值是0.6,域名3的当前权重值是0.3的情况下,域名1可以分配300个区域,域名2可以分配1800个区域,以及域名3可以分配900个区域。
[0079] 需要说明的是,在本发明的实施例中,终端根据至少一个域名对应的至少一个域名散列值为界限的情况下,可以确定至少一个域名中每个域名对应的数值区间,即将预设哈希整数环根据至少一个域名散列值,划分成至少一个数值区间,也就是说,可选域名中的每个域名均对应一个数值区间,然后,对于每个域名,根据获取的至少一个当前权重值中对应的当前权重值,从至少一个区域中选取区域,进而将选取出的区域在该域名对应的数值区间进行哈希值分配,得到至少一个哈希值。
[0080] 需要说明的是,在本发明的实施例中,终端在运行的过程中,终端会根据实际的每个域名的访问时长对当前权重值进行动态的调节,从而使得可选域名中的每个域名在终端运行的过程中保持负载均衡。
[0081] 具体的,在本发明的实施例中,终端在获取与至少一个可选域名一一对应的至少一个当前权重值之前,还包括:针对至少一个可选域名中的每个域名,获取对应的多个访问响应时长,并将获取到的时长的平均时长确定为第一平均时长,得到至少一个第一平均时长;在当前时刻与预设时刻之间,针对至少一个可选域名中的每个域名,周期性的获取对应的访问响应时长,并将获取到的时长的平均时长确定为第二平均时长,得到至少一个第二平均时长;针对至少一个可选域名中的每个域名,基于至少一个第一平均时长和至少一个第二平均时长中对应的时长,确定对应的权重调整值,得到至少一个权重调整值;针对至少一个可选域名中的每个域名,利用至少一个权重调整值中对应的调整值,调整对应的历史权重值,得到至少一个当前权重值。
[0082] 需要说明的是,在本发明的实施例中,终端针对至少一个可选域名中的每个域名,获取对应的多个访问响应时长中的多个可以是1000个,也可以是500个,具体的次数可以根据实际需求和应用场景进行设定,对此,本发明不作限定。
[0083] 具体的,如果终端对至少一个可选域名中的每个域名,可以获取到每个域名对应的最近的1000个访问响应时长,根据这1000个访问时长,计算出1000次访问的平均时长,确定为第一平均时长,得到至少一个第一平均时长T1。
[0084] 需要说明的是,在本发明的实施例中,当前时刻与预设时刻之间的时长可以是5分钟,也可以是10分钟,具体的当前时刻与预设时刻之间的时长可以根据实际需求和应用场景进行设定,对此,本发明不作限定。
[0085] 需要说明的是,在本发明的实施例中,针对至少一个可选域名中的每个域名,终端周期性获得访问响应时长,比如,当前时刻与预设时刻之间的时长是5分钟,5分钟获取300次访问响应时长,那么,终端利用获取到的300次访问响应时长计算平均时长,并将平均时长确定为第二平均时长,得到至少一个第二平均时长T0。
[0086] 需要说明的是,在本发明的实施例中,终端可以设置差值率,并利用差值率来判断域名对应的负载,如果访问响应时长较长,则说明该域名当前的负载较重,可以适当调低对应域名的当前权重值,实现各域名之间的负载平衡;如果访问响应时长较短,则说明该域名当前的负载较轻,可以适当调高域名的当前权重值,达到负载平衡;其中,差值率包括正差值率S+和负差值率S‑,然后,利用第一平均时长T1和第二平均时长T0进行差值计算,差值公式如公式(2)所示:
[0087]
[0088] 其中,S为第一平均时长和第二平均时长的差值,T1为第一平均时长,T0为第二平均时长。
[0089] 示例性的,终端利用公式(2)计算第一平均时长T1和第二平均时长T0的差值S后,将差值S与正差值率和负差值率进行比较,如果差值S大于正差值率S+,说明访问响应时长过长,确定对应域名的下调的权重调整值,如果差值S小于负差值率S‑,说明访问响应时长缩短,确定对应域名的当前权重值上调的权重调整值。
[0090] 需要说明的是,在本发明的实施例中,当可选域名中的某个域名的当前权重值在调整之后,如果该域名的当前权重值小于历史权重值,那么,分配到该域名上的区域也会相应的减少,从而降低域名的负载,提高域名的访问响应效率。
[0091] S203、利用预设循环方式,根据至少一个哈希值和至少一个域名散列值,确定至少一个可选域名中,每个域名在至少一个区域中对应的区域。
[0092] 在本发明的实施例中,终端利用预设循环方式,根据至少一个哈希值和至少一个域名散列值,确定至少一个可选域名中,每个域名在至少一个区域中对应的区域。
[0093] 需要说明的是,在本发明的实施例中,预设循环方式可以是顺时针进行循环,也可以是逆时针进行循环,具体的循环方式可以根据实际场景和实际需求进行设定。
[0094] 需要说明的是,在本发明的实施例中,终端将至少一个区域中的每个区域按照预设循环方式进行循环,第一个遇到的域名作为该区域选择的域名,从而,建立可选域名中每个域名与至少一个区域的关系。
[0095] S204、利用区域标识信息进行哈希散列计算,得到目标散列值。
[0096] 在本发明的实施例中,终端利用区域标识信息进行哈希散列计算,得到目标散列值。
[0097] 需要说明的是,在本发明的实施例中,终端可以根据该终端所在的区域标识信息,利用公式(2)计算出终端对应的哈希值,并将该哈希值确定为目标散列值。
[0098] S205、从至少一个哈希值中查找与目标散列值最接近的哈希值,并将至少一个区域中,与查找到的哈希值对应的区域确定为目标区域。
[0099] 在本发明的实施例中,终端从至少一个哈希值中查找与目标散列值最接近的哈希值,并将至少一个区域中,与查找到的哈希值对应的区域确定为目标区域。
[0100] 需要说明的是,在本发明的实施例中,至少一个区域中的每个区域与哈希值是一一对应的,在终端通过目标散列值从至少一个哈希值中确定与目标散列值最接近的哈希值之后,可以根据该哈希值,确定对应的区域,并将该区域确定为目标区域。
[0101] S206、将至少一个可选域名中,与目标区域对应的域名确定为目标域名。
[0102] 在本发明的实施例中,终端将至少一个可选域名中,与目标区域对应的域名。
[0103] 需要说明的是,在本发明的实施例中,如果可选域名中的某个域名出现故障时,终端会根据可选域名中现有的运行正常的域名,重新进行目标域名的确定,从而保证了终端能够正常进行域名访问。
[0104] 图3为本发明实施例提供的一种示例性的终端进行域名访问的流程示意图。如图3所示,服务端将不同位置区域与不同域名之间的对应关系下发到终端,终端利用自身所在的区域标识信息,计算散列值,得到目标散列值,然后,根据终端所处的位置区域,从对应关系中,确定可选域名,根据至少一个可选域名确定可选域名中每个域名对应的散列值,进而根据可选域名确定至少一个区域以及至少一个区域的区域散列值,利用至少一个区域的区域散列值和域名的区域散列值,建立至少一个区域与可选域名之间的关系,将根据目标散列值从至少一个区域的散列值中确定目标区域,进而根据目标区域确定对应的目标域名,然后利用目标域名对服务端集群中对应的服务端发起访问。
[0105] 本发明提供了一种域名访问方法,方法包括:从服务端中,获取不同位置区域与不同域名之间的对应关系;获取终端的当前位置区域,并从对应关系中查找与当前位置区域对应的域名,得到至少一个可选域名;从至少一个可选域名中确定目标域名,并向目标域名发起访问。本发明提供的方法,终端可以从服务端获取到不同位置区域与不同域名之间的对应关系,从而利用该对应关系确定发起访问的目标域名,提高了终端域名访问的效率和灵活性。
[0106] 本发明提供了一种终端,图4为本发明实施例提供的一种终端的结构示意图一。如图4所示,包括:
[0107] 第一获取模块401,用于从服务端中,获取不同位置区域与不同域名之间的对应关系;
[0108] 第二获取模块402,用于获取所述终端的当前位置区域,并从所述对应关系中查找与所述当前位置区域对应的域名,得到至少一个可选域名;
[0109] 处理模块403,用于从所述至少一个可选域名中确定目标域名,并向所述目标域名发起访问。
[0110] 可选的,所述处理模块403,具体用于从所述服务端中,获取所述当前位置区域的区域标识信息;根据所述至少一个可选域名,从所述对应关系中查找与所述至少一个可选域名对应的每一个区域,得到至少一个区域;所述至少一个区域包括所述当前位置区域;利用一致性散列算法,根据所述至少一个区域和所述区域标识信息,从所述至少一个可选域名中确定所述目标域名。
[0111] 可选的,所述处理模块403,具体用于针对所述至少一个可选域名中每个域名,利用对应的域名标识信息,确定在预设哈希整数环上对应的哈希值,并将确定出的每个哈希值作为一个域名散列值,得到与所述至少一个可选域名一一对应的至少一个域名散列值;针对所述至少一个区域中的每个区域,在所述预设哈希整数环上分配对应的哈希值,得到与所述至少一个区域一一对应的至少一个哈希值;利用预设循环方式,根据所述至少一个哈希值和所述至少一个域名散列值,确定所述至少一个可选域名中,每个域名在所述至少一个区域中对应的区域;利用所述区域标识信息进行哈希散列计算,得到目标散列值;从所述至少一个哈希值中查找与所述目标散列值最接近的哈希值,并将所述至少一个区域中,与查找到的哈希值对应的区域确定为目标区域;将所述至少一个可选域名中,与所述目标区域对应的域名确定为所述目标域名。
[0112] 可选的,所述处理模块403,具体用于获取与所述至少一个可选域名一一对应的至少一个当前权重值;在所述预设哈希整数环上,以所述至少一个可选域名对应的所述至少一个域名散列值为界限,确定所述至少一个可选域名中每个域名对应的数值区间,得到至少一个数值区间;针对所述至少一个区域中的每个区域,基于所述至少一个当前权重值中对应的当前权重值,从所述至少一个区域中选取区域,并为选取出的区域在对应的数值区间内进行哈希值分配,得到所述至少一个哈希值。
[0113] 可选的,所述处理模块403,具体用于针对所述至少一个可选域名中的每个域名,获取对应的多个访问响应时长,并将获取到的时长的平均时长确定为第一平均时长,得到至少一个第一平均时长;在当前时刻与预设时刻之间,针对所述至少一个可选域名中的每个域名,周期性的获取对应的访问响应时长,并将获取到的时长的平均时长确定为第二平均时长,得到至少一个第二平均时长;针对所述至少一个可选域名中的每个域名,基于所述至少一个第一平均时长和所述至少一个第二平均时长中对应的时长,确定对应的权重调整值,得到至少一个权重调整值;针对所述至少一个可选域名中的每个域名,利用所述至少一个权重调整值中对应的调整值,调整对应的历史权重值,得到所述至少一个当前权重值。
[0114] 图5为本发明实施例提供的一种终端的结构示意图二。如图5所示,终端包括处理器501、存储器502和通信总线503;
[0115] 所述通信总线503,用于实现所述处理器501和所述存储器502之间的通信连接;
[0116] 所述处理器501,用于执行所述存储器502中存储的域名访问程序,以实现上述域名访问的方法。
[0117] 本发明提供了一种终端,从服务端中,获取不同位置区域与不同域名之间的对应关系;获取终端的当前位置区域,并从对应关系中查找与当前位置区域对应的域名,得到至少一个可选域名;从至少一个可选域名中确定目标域名,并向目标域名发起访问。本发明提供的终端,终端可以从服务端获取到不同位置区域与不同域名之间的对应关系,从而利用该对应关系确定发起访问的目标域名,提高了终端域名访问的效率和灵活性。
[0118] 本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现上述域名访问方法。计算机可读存储介质可以是是易失性存储器(volatile memory),例如随机存取存储器(Random‑Access Memory,RAM);或者非易失性存储器(non‑volatile memory),例如只读存储器(Read‑Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid‑State Drive,SSD);也可以是包括上述存储器之一或任意组合的各自设备,如移动电话、计算机、平板设备、个人数字助理等。
[0119] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0120] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0121] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0122] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0123] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本实用申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。