1.本技术属于通信技术领域,尤其涉及一种访问服务器的方法、装置、电子 设备及存储介质。
背景技术:
2.目前,由于一般的互联网协议地址(internet protocol address,ip地址)不 方便记忆,因此出现了较易记忆且能够体现地址名称、性质的域名,通过域名 系统(domain name system,dns)来将域名和ip地址相互映射,使得用户能 够更方便地使用电子设备访问网络服务器,而不用去记住能够被机器直接读取 的ip地址数串。
3.为了保证网络服务器的稳定性、安全性和访问速度,一个网络服务器通常 会包含多个子服务器,例如不同通信运营商的子服务器,不同行政区域的子服 务器,即,通过域名访问网络服务器时,可以解析出对应不同子服务器的不同 ip地址。电子设备在基于域名访问服务器时,解析出的ip地址不同,则对应的 访问速率和稳定性不一样。因此,如何准确地确定最佳的ip地址,使得电子设 备能够基于域名高效准确地访问服务器,是目前亟需解决的问题。
技术实现要素:
4.有鉴于此,本技术实施例提供了访问服务器的方法、装置、电子设备及存 储介质,以解决现有技术中如何基于域名高效准确地访问服务器的问题。
5.本技术实施例的第一方面提供了一种访问服务器的方法,包括:
6.获取目标域名;
7.根据所述目标域名查询预设hosts文件,获取所述目标域名对应的目标ip 地址;其中,所述预设hosts文件提前写入了预设域名对应的目标ip地址,所 述目标ip地址为所述预设域名对应的ip地址集合中对所述电子设备的连接指 令响应时长最短的ip地址;所述连接指令响应时长为所述ip地址对应的服务 器对于所述电子设备发出的连接指令的响应时长;
8.通过所述目标域名对应的目标ip地址,访问目标服务器。
9.可选地,在所述获取目标域名之前,还包括:
10.获取待配置的预设域名;
11.根据所述预设域名,确定ip地址集合;
12.分别通过所述ip地址集合中的每个ip地址向服务器发送连接指令,并确 定每个所述ip地址分别对应的连接指令响应时长;
13.将所述连接指令响应时长最短的ip地址确定为所述预设域名对应的目标 ip地址;
14.根据所述预设域名,将所述预设域名对应的所述目标ip地址写入所述电子 设备的hosts文件中,得到预设hosts文件。
15.可选地,所述根据所述预设域名,确定ip地址集合,包括:
16.根据所述预设域名执行域名地址查找指令,得到第一响应字符串;
17.根据预设的地址关键字和所述第一响应字符串,解析得到所述预设域名对 应的ip地址集合。
18.可选地,所述分别通过所述ip地址集合中的每个ip地址向服务器发送连 接指令,并确定每个所述ip地址分别对应的连接指令响应时长,包括:
19.对于所述ip地址集合中的每个ip地址,根据所述ip地址向服务器发送连 接指令,得到第二响应字符串;根据预设的时间关键字和所述第二响应字符串, 解析得到所述ip地址对应的连接指令响应时长。
20.可选地,所述根据所述ip地址向服务器发送连接指令,得到第二响应字符 串,包括:
21.根据所述ip地址向服务器发送连接指令;
22.若在发送所述连接指令之后的预设时长内无法获取到第二响应字符串,则 判定当前存在网络异常;
23.等待预设间隔时间后或者在检测到网速满足预设条件时,重新根据所述ip 地址向服务器发送连接指令,得到所述第二响应字符串。
24.可选地,所述根据所述预设域名,将所述预设域名对应的所述目标ip地址 写入所述电子设备的hosts文件中,得到预设hosts文件,包括:
25.检测所述电子设备的hosts文件中是否存在所述预设域名;
26.若不存在,则将所述预设域名以及所述预设域名对应的目标ip地址一同写 入所述电子设备的hosts文件中,得到预设hosts文件;
27.若存在,则将所述hosts文件中所述预设域名对应的ip地址更新为所述目 标ip地址,得到所述预设hosts文件。
28.可选地,所述方法还包括:
29.若所述电子设备的访问缓存记录中存在所述目标域名,则将所述访问缓存 记录中所述目标域名对应的ip地址更新为所述目标ip地址。
30.本技术实施例的第二方面提供了一种访问服务器的装置,包括:
31.第一域名获取单元,用于获取目标域名;
32.目标ip地址确定单元,用于根据所述目标域名查询预设hosts文件,获取 所述目标域名对应的目标ip地址;其中,所述预设hosts文件提前写入了预设 域名对应的目标ip地址,所述目标ip地址为所述预设域名对应的ip地址集合 中对所述电子设备的连接指令响应时长最短的ip地址;所述连接指令响应时长 为所述ip地址对应的服务器对于所述电子设备发出的连接指令的响应时长;
33.访问单元,用于通过所述目标域名对应的目标ip地址,访问目标服务器。
34.可选地,所述访问服务器的装置还包括:
35.第二域名获取单元,用于获取待配置的预设域名;
36.ip地址集合确定单元,用于根据所述预设域名,确定ip地址集合;
37.连接响应单元,用于分别通过所述ip地址集合中的每个ip地址向服务器 发送连接指令,并确定每个所述ip地址分别对应的连接指令响应时长;
38.目标ip地址确定单元,用于将所述连接指令响应时长最短的ip地址确定 为所述预设域名对应的目标ip地址;
39.预设hosts文件确定单元,用于根据所述预设域名,将所述预设域名对应 的所述目标ip地址写入所述电子设备的hosts文件中,得到预设hosts文件。
40.可选地,所述ip地址集合确定单元,具体用于根据所述预设域名执行域名 地址查找指令,得到第一响应字符串;根据预设的地址关键字和所述第一响应 字符串,解析得到所述预设域名对应的ip地址集合。
41.可选地,连接响应单元,具体用于对于所述ip地址集合中的每个ip地址, 根据所述ip地址向服务器发送连接指令,得到第二响应字符串;根据预设的时 间关键字和所述第二响应字符串,解析得到所述ip地址对应的连接指令响应时 长。
42.可选地,所述连接响应单元中,所述根据所述ip地址向服务器发送连接指 令,得到第二响应字符串,包括:
43.根据所述ip地址向服务器发送连接指令;
44.若在发送所述连接指令之后的预设时长内无法获取到第二响应字符串,则 判定当前存在网络异常;
45.等待预设间隔时间后或者在检测到网速满足预设条件时,重新根据所述ip 地址向服务器发送连接指令,得到所述第二响应字符串。
46.可选地,所述预设hosts文件确定单元,具体用于检测所述电子设备的hosts 文件中是否存在所述预设域名;若不存在,则将所述预设域名以及所述预设域 名对应的目标ip地址一同写入所述电子设备的hosts文件中,得到预设hosts 文件;若存在,则将所述hosts文件中所述预设域名对应的ip地址更新为所述 目标ip地址,得到所述预设hosts文件。
47.可选地,所述访问服务器的装置,还包括:
48.访问缓存记录更新单元,用于若所述电子设备的访问缓存记录中存在所述 目标域名,则将所述访问缓存记录中所述目标域名对应的ip地址更新为所述目 标ip地址。
49.本技术实施例的第三方面提供了一种电子设备,包括存储器、处理器以及 存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执 行所述计算机程序时,使得电子设备实现如所述访问服务器的方法的步骤。
50.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可 读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得电子 设备实现如所述访问服务器的方法的步骤。
51.本技术实施例的第五方面提供了一种计算机程序产品,当计算机程序产品 在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的访问服 务器的方法。
52.本技术实施例与现有技术相比存在的有益效果是:本技术实施例中,在获 取目标域名后,根据该目标域名查询预设hosts文件,确定该目标域名对应的目 标ip地址,之后,根据该目标域名对应的目标ip地址,访问对应的目标服务 器。由于预设hosts文件提前写入了预设域名对应的目标ip地址,即预设域名 对应的ip地址集合中对所述电子设备的连接指令响应时长最短的ip地址,使 得在通过目标域名访问服务器时能够通过查询该预设hosts文件,根据该目标域 名对应的目标ip地址快速地访问服务器,从而高效准确地实现服务器访问。
附图说明
53.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍。
54.图1是本技术实施例提供的第一种访问服务器的方法的实现流程示意图;
55.图2是本技术实施例提供的第二种访问服务器的方法的实现流程示意图;
56.图3是本技术实施例提供的一种访问服务器的装置的示意图;
57.图4是本技术实施例提供的电子设备的示意图。
具体实施方式
58.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术 之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当 清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中, 省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节 妨碍本技术的描述。
59.为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。
60.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示 所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多 个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
61.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施 例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使 用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个
”ꢀ
及“该”意在包括复数形式。
62.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且 包括这些组合。
63.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据 上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。 类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上 下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件 或事件]”或“响应于检测到[所描述条件或事件]”。
[0064]
另外,在本技术的描述中,术语“第一”、“第二”、“第三”等仅用于 区分描述,而不能理解为指示或暗示相对重要性。
[0065]
目前,为了保证网络服务器的稳定性、安全性和访问速度,一个网络服务 器通常会包含多个子服务器,例如不同通信运营商的子服务器(例如中国移动 的服务器、中国电信的服务器、中国联通的服务器),不同行政区域的子服务 器(例如国外的服务器、国内的服务器,国内的服务器进一步可以包括北京的 服务器、广州的服务器、上海的服务器等不同地方的服务器),即,通过域名 访问网络服务器时,可以解析出对应不同子服务器的不同ip地址。
[0066]
电子设备在基于域名访问服务器时,解析出的ip地址不同,则对应的访问 速率和稳定性不一样。因此,如何准确地确定最佳的ip地址,使得电子设备能 够基于域名高效准确地访问服务器,是目前亟需解决的问题。目前的访问服务 器方法通常没有考虑到该问题,或者有些方案从服务器端解决该问题,通过服 务器的智能算法计算出当前电子设备访问速度最快的ip地址返回至电子设备 的客户端,然而这种方式对于服务器来说工作量巨
大,配置复杂且不灵活。
[0067]
为了解决该技术问题,本技术实施例提供给了一种访问服务器的方法、装 置、电子设备及存储介质,包括:获取目标域名;根据所述目标域名查询预设 hosts文件,获取所述目标域名对应的目标ip地址;其中,所述预设hosts文件 提前写入了预设域名对应的目标ip地址,所述目标ip地址为所述预设域名对 应的ip地址集合中对所述电子设备的连接指令响应时长最短的ip地址;所述 连接指令响应时长为所述ip地址对应的服务器对于所述电子设备发出的连接 指令的响应时长;通过所述目标域名对应的目标ip地址,访问目标服务器。
[0068]
由于预设hosts文件提前写入了预设域名对应的目标ip地址,即预设域名 对应的ip地址集合中对所述电子设备的连接指令响应时长最短的ip地址,使 得在通过目标域名访问服务器时能够通过查询该预设hosts文件,根据该目标域 名对应的目标ip地址快速地访问服务器,从而高效准确地实现服务器访问。
[0069]
为了便于理解,首先本技术实施例的一些相关概念进行以下解释:
[0070]
hosts文件:是一个没有扩展名的系统文件,可以用记事本等工具打开,其 作用就是将一些常用的网址域名与其对应的ip地址建立一个关联“数据库”。
[0071]
当用户在浏览器中输入一个需要登录的网址(即当前所要访问的服务器的 域名)时,系统会首先自动从自身的访问缓存记录或者hosts文件中寻找与该域 名对应的ip地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系 统会再将网址提交dns域名解析服务器进行ip地址的解析。
[0072]
示例性地,以电子设备的操作系统为windows系统为例,电子设备的浏览 器基于域名访问服务器的一般域名解析服务流程如下:
[0073]
a1:用户在电子设备的浏览器输入需要访问的域名,浏览器查询自身的访 问缓存记录是否存在该域名,若存在,则将访问缓存记录中缓存的该域名对应 的ip地址作为当前所要访问的服务器的ip地址;若不存在,则执行步骤a2;
[0074]
a2:电子设备查询本地hosts文件,该hosts文件的路径名可以为:
ꢀ“
c:\windows\system32\drivers\etc\hosts”。若该hosts文件存在用户输入的域 名对应的ip地址,则以该ip地址作为当前所要访问的服务器的ip地址;否则, 执行步骤a3;
[0075]
a3:基于本地域名服务器(local dns server),通过本地运营商获取域 名和ip地址的映射关系;若能够获取到当前用户所需访问的域名对应的ip地 址,则以该ip地址作为当前所要访问的服务器的ip地址;否则执行步骤a4;
[0076]
a4:基于根域名服务器(root dns server),查找当前所要访问的域名对 应的顶级域名服务器的地址,例如查询“.com”的顶级域名服务器的地址,并 将该顶级域名服务器的地址返回电子设备;
[0077]
a5:电子设备刚根据该顶级域名服务器的地址访问对应的顶级域名服务器, 确定对应的网络注册域名服务器(name server)的地址;根据该网络注册域名 服务器的地址,查询该域名注册的时对应的ip地址作为当前所要访问的服务器 的ip地址。
[0078]
实施例一:
[0079]
图1示出了本技术实施例提供的第一种访问服务器的方法的流程示意图, 该方法的执行主体为安装了客户端程序的电子设备,详述如下:
[0080]
在s101中,获取目标域名。
[0081]
本技术实施例中,目标域名为当前所要访问的服务器对应的域名。通常, 该目标域名存在多个对应的ip地址。即对于一个该目标域名来说,若通过常规 的dns域名服务器进行解析,可以获取到该目标域名对应的ip地址集合,该 ip地址集合包含至少两个ip地址。
[0082]
在一个实施例中,可以通过电子设备的客户端上的操作界面,接收用户输 入的目标域名。
[0083]
在s102中,根据所述目标域名查询预设hosts文件,获取所述目标域名对 应的目标ip地址;其中,所述预设hosts文件提前写入了预设域名对应的目标 ip地址,所述目标ip地址为所述预设域名对应的ip地址集合中对所述电子设 备的连接指令响应时长最短的ip地址;所述连接指令响应时长为所述ip地址 对应的服务器对于所述电子设备发出的连接指令的响应时长。
[0084]
本技术实施例中,预设hosts文件为存储于电子设备本地,并且提前配置了 各个预设域名及其对应的目标ip地址的映射关系的hosts文件。该预设hosts 文件存储的目标ip地址,具体为提前通过连接指令测试而确定的在预设域名对 应的ip地址集合中,对电子设备的连接指令响应时长最短的ip地址,即能够 使电子设备最快访问服务器的ip地址。
[0085]
本技术实施例中,在确定待访问的目标域名后,查询该预设hosts文件,从 该预设hosts文件中查找与该目标域名一致的预设域名,获取该与目标域名一致 的预设域名对应的目标ip地址,该目标ip地址即为目标域名对应的目标ip地 址,其为当前待的目标域名对应的访问速度最快的最佳ip地址。
[0086]
在s103中,根据所述目标域名对应的目标ip地址,访问目标服务器。
[0087]
在确定当前的目标域名对应的目标ip地址后,即可根据该目标ip地址确 定当前能够最快响应电子设备的目标服务器,通过访问该目标服务器,可以从 该目标服务器获取到用户所需的数据,例如网页信息、需要下载的文件等。
[0088]
本技术实施例中,在获取目标域名后,根据该目标域名查询预设hosts文件, 确定该目标域名对应的目标ip地址,之后,根据该目标域名对应的目标ip地 址,访问对应的目标服务器。由于预设hosts文件提前写入了预设域名对应的目 标ip地址,即预设域名对应的ip地址集合中对所述电子设备的连接指令响应 时长最短的ip地址,使得在通过目标域名访问服务器时能够通过查询该预设 hosts文件,根据该目标域名对应的目标ip地址快速地访问服务器,从而高效 准确地实现服务器访问。
[0089]
实施例二:
[0090]
图2示出了本技术实施例提供的第二种访问服务器的方法的流程示意图, 该方法的执行主体为电子设备,详述如下:
[0091]
在s201中,获取待配置的预设域名。
[0092]
本步骤待配置的预设域名为当前需要进行配置的域名。在一个实施例中, 可以从预设的待配置域名列表中获取该预设域名。在另一个实施例中,可以接 收管理人员的配置操作,获取管理人员输入的预设域名。
[0093]
在s202中,根据预设域名,确定ip地址集合。
[0094]
在获取到该预设域名之后,根据该预设域名以及电子设备的操作系统自带 的域
名地址查找指令,执行携带该预设域名的当前域名地址查找指令,获取到 该预设域名对应的各个ip地址,即该预设域名对应的ip地址集合。将该ip地 址集合作为当前该预设域名对应的ip地址集合。
[0095]
示例性地,设当前电子设备的操作系统为windows操作系统,则该域名地 址查找指令为“nslookup”。在一个实施例中,可以在电子设备的客户端中实 现管道技术和创建进程,根据该域名地址查找指令“nslookup”和预设域名, 生成对应的命令行指令“cmd.exe/c nslookup 预设域名”,通过执行该命令行 指令,即可获取到返回的ip地址集合,该ip地址集合即为该预设域名对应的 ip地址集合。
[0096]
在s203中,分别通过所述ip地址集合中的每个ip地址向服务器发送连接 指令,并确定每个所述ip地址分别对应的连接指令响应时长。
[0097]
本技术实施例中,连接指令具体为用于检测两个设备之间的通信连接状态 的指令。例如,该连接指令为“ping”指令。
[0098]
在获取到当前待配置的预设域名对应ip地址集合后,对于该ip地址集合 中的每个ip地址,分别根据该ip地址向服务器发送连接指令,例如发送“ping ip 地址”的指令。之后,获取该服务器接收到该连接指令后返回的响应数据,并 将该电子设备发送连接指令至电子设备接收到该响应数据之间的时长作为该ip 地址对应的连接指令响应时长。
[0099]
在s204中,将所述连接指令响应时长最短的ip地址确定为所述预设域名 对应的目标ip地址。
[0100]
在确定待选ip地址集合中各个ip地址分别对应的连接指令响应时长后, 比较各个连接指令响应时长,找出其中时长最短的连接指令响应时长。该最短 的连接响应时长对应的ip地址即为能够最快响应电子设备的连接指令响应时 长的ip地址,将其作为当前待配置的预设域名对应的目标ip地址。
[0101]
在s205中,根据所述预设域名,将所述预设域名对应的所述目标ip地址 写入所述电子设备的hosts文件中,得到预设hosts文件。
[0102]
在确定当前需要配置的预设域名对应的目标ip地址之后,根据该预设域名, 将该预设域名对应的目标ip地址写入该电子设备本地的hosts文件中,从而配 置了预设域名及其对应的响应速度最快的目标ip地址的映射关系。将该配置得 到的已存储了预设域名及其对应目标ip地址的映射关系的hosts文件称为预设 hosts文件。
[0103]
在s206中,获取目标域名。
[0104]
在s207中,根据所述目标域名查询预设hosts文件,获取所述目标域名对 应的目标ip地址。
[0105]
在s208中,通过所述目标域名对应的目标ip地址,访问目标服务器。
[0106]
本技术实施例是在实施例一的基础上增加了预设hosts文件的配置过程: 步骤s201至步骤s205,而步骤s206至步骤s208与实施例一中的步骤s101 至步骤s103完全相同,具体请参阅上一实施例中s101-s103的相关描述,此处 不赘述。
[0107]
本技术实施例中,由于在获取目标域名之前,能够先获取待配置的预设域 名,基于域名地址查找指令和连接指令响应时长,提前确定预设域名对应的响 应速度最快的目标ip地址,并将该目标ip地址对应写入hosts文件中,得到预 设hosts文件,从而在电子设备客户端准确地实现预设hosts文件的配置,使得 后续电子设备能够基于该hosts文件高
效准确地实现目标服务器的访问。
[0108]
可选地,上述的步骤s202,包括:
[0109]
根据所述预设域名执行域名地址查找指令,得到第一响应字符串;
[0110]
根据预设的地址关键字和所述第一响应字符串,解析得到所述预设域名对 应的ip地址集合。
[0111]
本技术实施例中,在获取到待配置的预设域名后,根据该预设域名,生成 该预设域名对应的域名地址查找指令并执行,之后获取域名服务器返回的第一 响应字符串,该第一响应字符串即包含了该预设域名对应的ip地址集合中的各 个ip地址的信息。
[0112]
在获取到该第一响应字符串后,根据预设的地址关键字,解析该第一响应 字符串,得到该预设域名对应的各个ip地址。将解析得到的预设域名对应的各 个ip地址组成的集合作为当前的ip地址集合。
[0113]
示例性地,设当前的预设域名为“www.baidu.com”,电子设备通过命令 行执行域名地址查找指令:nslookup www.baidu.com后,获取到的第一响应字 符串包括:
[0114]
addresses:14.215.177.38
[0115]
14.215.177.39
[0116]
aliases:www.baidu.com
[0117]
根据预设的地址关键字“addresses”解析该第一响应字符串,可以获取到 该地址关键字之后的ip地址“14.215.177.38”,“14.215.177.39”,这两个ip 地址组成的集合即为当前预设域名“www.baidu.com”对应的ip地址集合。
[0118]
本技术实施例中,由于能够在执行域名地址查找指令后,根据获取到的第 一响应字符串及地址关键字,准确地解析得到预设域名对应的ip地址集合,使 得后续能够根据该ip地址集合准确地找出目标ip地址。
[0119]
可选地,所述分别通过所述ip地址集合中的每个ip地址向服务器发送连 接指令,并确定每个所述ip地址分别对应的连接指令响应时长,包括:
[0120]
对于所述ip地址集合中的每个ip地址,根据所述ip地址向服务器发送连 接指令,得到第二响应字符串;根据预设的时间关键字和所述第二响应字符串, 解析得到所述ip地址对应的连接指令响应时长。
[0121]
对于预设域名对应的ip地址集合中的每个ip地址,根据该ip地址向服务 器发送连接指令,可以得到该服务器返回的第二响应字符串。该第二响应字符 串中包含该服务器对该连接指令的响应时长的,将其该ip地址对应的连接指令 响应时长。
[0122]
之后,根据预设的时间关键字,对该第二响应字符串进行解析,得到该ip 地址对应的连接指令响应时长。
[0123]
示例性地,设ip地址集合中的一个ip地址为:14.215.177.38,则根据该 ip地址执行的连接指令为:ping 14.215.177.38。
[0124]
对应地,获取到的第二响应字符串包括以下内容:
[0125]
正在ping 14.215.177.38具有32字节的数据:
[0126]
来自14.215.177.38的回复:字节=32时间=6ms ttl=54
[0127]
来自14.215.177.38的回复:字节=32时间=6ms ttl=54
[0128]
来自14.215.177.38的回复:字节=32时间=7ms ttl=54
[0129]
来自14.215.177.38的回复:字节=32时间=6ms ttl=54
[0130]
14.215.177.38的ping统计信息:
[0131]
数据包:已发送=4,已接收=4,丢失=0(0%丢失),
[0132]
往返行程的估计时间(以毫秒为单位):
[0133]
最短=6ms,最长=7ms,平均=6ms
[0134]
设预设的时间关键字为“平均=”,则根据该时间关键字解析该第二响应字 符串得到的连接指令响应时长为6ms。
[0135]
本技术实施例中,由于能够在根据ip地址执行连接指令后,根据获取到的 第二响应字符串及时间关键字,准确地解析得到该ip地址对应的连接指令响应 时长,使得后续能够根据该连接指令响应时长准确地找出目标ip地址。
[0136]
可选地,所述根据所述ip地址向服务器发送连接指令,得到第二响应字符 串,包括:
[0137]
根据所述ip地址向服务器发送连接指令;
[0138]
若在发送所述连接指令之后的预设时长内无法获取到第二响应字符串,则 判定当前存在网络异常;
[0139]
等待预设间隔时间后或者在检测到网速满足预设条件时,重新根据所述ip 地址向服务器发送连接指令,得到所述第二响应字符串。
[0140]
本技术实施例中,在根据ip地址向服务器发送链接指令后,如果检测到在 预设时长内均无法获取到第二响应字符串,则说明存在网络异常,从而影响与 电子设备之间的通讯。其中,该预设时长为预设的大于服务器通常的最长响应 时长的时长,例如,该预设时长可以为50毫秒。
[0141]
由于当前存在网络异常,因此当前无法准确地确定该ip地址对应的服务器 的实际响应时间。在一个实施例中,可以等待预设间隔时间后,重新尝试执行 根据ip地址向服务器发送连接指令的步骤,以得到第二响应字符串。在另一个 实施例中,可以在判定存在网络异常后,持续对电子设备的网速进行检测,当 检测到网速满足预设条件,例如当前的网速大于预设阈值时,重新执行根据ip 地址向服务器发送连接指令的步骤,以得到第二响应字符串。
[0142]
本技术实施例中,由于能够在发送连接指令时自动识别网络异常情况,并 在之后重新发送连接指令,以成功准确地得到第二响应字符串,从而准确地确 定ip地址的连接指令响应时长,以便后续准确地确定目标ip地址。
[0143]
可选地,所述根据所述预设域名,将所述预设域名对应的所述目标ip地址 写入所述电子设备的hosts文件中,得到预设hosts文件,包括:
[0144]
检测所述电子设备的hosts文件中是否存在所述预设域名;
[0145]
若不存在,则将所述预设域名以及所述预设域名对应的目标ip地址一同写 入所述电子设备的hosts文件中,得到预设hosts文件;
[0146]
若存在,则将所述hosts文件中所述预设域名对应的ip地址更新为所述目 标ip地址,得到所述预设hosts文件。
[0147]
本技术实施例中,在确定预设域名对应的目标ip地址之后,先读取该电子 设备当前的hosts文件,检测该hosts文件是否已存在当前需要配置的预设域名。
[0148]
若该hosts文件不存在该预设域名,则说明该电子设备中未曾对该预设域名 进行ip地址配置,此时,直接将预设域名和该预设域名对应的目标ip地址一 同写入该hosts文件中,得到预设hosts文件,从而实现当前预设域名的ip地址 配置。
[0149]
若该hosts文件存在该预设域名,则说明该电子设备存在该预设域名对应的 历史配置信息,此时,将该hosts文件中该预设域名对应的ip地址更新为当前 的目标ip地址,从而实现预设域名ip地址的更新配置,得到预设hosts文件。
[0150]
本技术实施例中,由于能够根据当前hosts文件是否已存在预设域名灵活地 实现目标ip地址的写入,因此能够准确地得到预设hosts文件。
[0151]
可选地,所述访问服务器的方法还包括:
[0152]
若所述电子设备的访问缓存记录中存在所述目标域名,则将所述访问缓存 记录中所述目标域名对应的ip地址更新为所述目标ip地址。
[0153]
本技术实施例中,电子设备可以通过浏览器实现服务器的访问,本技术实 施例的访问缓存记录具体为历史缓存的该电子设备的浏览器的访问记录。由于 当通过浏览器实现域名访问时,会先到访问缓存记录中查找对应的ip地址,因 此,在进行目标域名ip地址配置时,当检测到电子设备的访问缓存记录中存在 目标域名时,将该访问缓存记录中该目标域名对应的ip地址更新为当前确定的 目标ip地址。
[0154]
本技术实施例中,由于除了根据目标ip地址配置hosts文件外,还能够根 据该目标ip地址更新访问缓存记录,使得在电子设备在使用浏览器时,也能够 根据该访问缓存记录高效地实现服务器访问。
[0155]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后, 各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施 过程构成任何限定。
[0156]
实施例三:
[0157]
图3示出了本技术实施例提供的一种访问服务器的装置的结构示意图,该 装置应用于电子设备,为了便于说明,仅示出了与本技术实施例相关的部分:
[0158]
该访问服务器的装置包括:第一域名获取单元31、待访问ip地址确定单 元32、访问元33。其中:
[0159]
第一域名获取单元31,用于获取目标域名。
[0160]
待访问ip地址确定单元32,用于根据所述目标域名查询预设hosts文件, 获取所述目标域名对应的目标ip地址;其中,所述预设hosts文件提前写入了 预设域名对应的目标ip地址,所述目标ip地址为所述预设域名对应的ip地址 集合中对所述电子设备的连接指令响应时长最短的ip地址;所述连接指令响应 时长为所述ip地址对应的服务器对于所述电子设备发出的连接指令的响应时 长。
[0161]
访问单元33,用于通过所述目标域名对应的目标ip地址,访问目标服务 器。
[0162]
可选地,所述访问服务器的装置还包括:
[0163]
第二域名获取单元,用于获取待配置的预设域名;
[0164]
ip地址集合确定单元,用于根据所述预设域名,确定ip地址集合;
[0165]
连接响应单元,用于分别通过所述ip地址集合中的每个ip地址向服务器 发送连接指令,并确定每个所述ip地址分别对应的连接指令响应时长;
[0166]
目标ip地址确定单元,用于将所述连接指令响应时长最短的ip地址确定 为所述预设域名对应的目标ip地址;
[0167]
预设hosts文件确定单元,用于根据所述预设域名,将所述预设域名对应 的所述目标ip地址写入所述电子设备的hosts文件中,得到预设hosts文件。
[0168]
可选地,所述ip地址集合确定单元,具体用于根据所述预设域名执行域名 地址查找指令,得到第一响应字符串;根据预设的地址关键字和所述第一响应 字符串,解析得到所述预设域名对应的ip地址集合。
[0169]
可选地,连接响应单元,具体用于对于所述ip地址集合中的每个ip地址, 根据所述ip地址向服务器发送连接指令,得到第二响应字符串;根据预设的时 间关键字和所述第二响应字符串,解析得到所述ip地址对应的连接指令响应时 长。
[0170]
可选地,所述连接响应单元中,所述根据所述ip地址向服务器发送连接指 令,得到第二响应字符串,包括:
[0171]
根据所述ip地址向服务器发送连接指令;
[0172]
若在发送所述连接指令之后的预设时长内无法获取到第二响应字符串,则 判定当前存在网络异常;
[0173]
等待预设间隔时间后或者在检测到网速满足预设条件时,重新根据所述ip 地址向服务器发送连接指令,得到所述第二响应字符串。
[0174]
可选地,所述预设hosts文件确定单元,具体用于检测所述电子设备的hosts 文件中是否存在所述预设域名;若不存在,则将所述预设域名以及所述预设域 名对应的目标ip地址一同写入所述电子设备的hosts文件中,得到预设hosts 文件;若存在,则将所述hosts文件中所述预设域名对应的ip地址更新为所述 目标ip地址,得到所述预设hosts文件。
[0175]
可选地,所述访问服务器的装置,还包括:
[0176]
访问缓存记录更新单元,用于若所述电子设备的访问缓存记录中存在所述 目标域名,则将所述访问缓存记录中所述目标域名对应的ip地址更新为所述目 标ip地址。
[0177]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与 本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见 方法实施例部分,此处不再赘述。
[0178]
实施例三:
[0179]
图4是本技术一实施例提供的电子设备的示意图。如图4所示,该实施例 的电子设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在 所述处理器40上运行的计算机程序42,例如访问服务器程序。所述处理器40 执行所述计算机程序42时实现上述各个访问服务器的方法实施例中的步骤,例 如图1所示的步骤s101至s103。或者,所述处理器40执行所述计算机程序 42时实现上述各装置实施例中各模块/单元的功能,例如图3所示第一域名获取 单元31至访问单元33的功能。
[0180]
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述 一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行, 以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计 算机程序指令段,该指令段用于描述所述计算机程序42在所述电子设备4中的 执行过程。
[0181]
所述电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等 计算设
备。所述电子设备可包括,但不仅限于,处理器40、存储器41。本领域 技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的 限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部 件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
[0182]
所称处理器40可以是中央处理单元(central processing unit,cpu),还 可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、 专用集成电路(application specific integrated circuit,asic)、现场可 编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器 件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理 器或者该处理器也可以是任何常规的处理器等。
[0183]
所述存储器41可以是所述电子设备4的内部存储单元,例如电子设备4 的硬盘或内存。所述存储器41也可以是所述电子设备4的外部存储设备,例如 所述电子设备4上配备的插接式硬盘,智能存储卡(smart media card,smc), 安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述 存储器41还可以既包括所述电子设备4的内部存储单元也包括外部存储设备。 所述存储器41用于存储所述计算机程序以及所述电子设备所需的其他程序和 数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
[0184]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上 述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上 述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不 同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功 能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬 件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模 块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上 述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程, 在此不再赘述。
[0185]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详 述或记载的部分,可以参见其它实施例的相关描述。
[0186]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示 例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来 实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用 和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现 所描述的功能,但是这种实现不应认为超出本技术的范围。
[0187]
在本技术所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法, 可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示 意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现 时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一 个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间 的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或 通讯连接,可以是电性,机械或其它的形式。
[0188]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为 单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者 也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部 单元来实现本实施例方案的目的。
[0189]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元 中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的 形式实现。
[0190]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品 销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解, 本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指 令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中, 该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中, 所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、 对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括: 能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、 磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机 存取存储器(ram,random access memory)、电载波信号、电信信号以及软 件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法 管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根 据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0191]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照 前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特 征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申 请各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种访问服务器的方法,其特征在于,应用于电子设备,包括:获取目标域名;根据所述目标域名查询预设hosts文件,获取所述目标域名对应的目标ip地址;其中,所述预设hosts文件提前写入了预设域名对应的目标ip地址,所述目标ip地址为所述预设域名对应的ip地址集合中对所述电子设备的连接指令响应时长最短的ip地址;所述连接指令响应时长为所述ip地址对应的服务器对于所述电子设备发出的连接指令的响应时长;通过所述目标域名对应的目标ip地址,访问目标服务器。2.如权利要求1所述的访问服务器的方法,其特征在于,在所述获取目标域名之前,还包括:获取待配置的预设域名;根据所述预设域名,确定ip地址集合;分别通过所述ip地址集合中的每个ip地址向服务器发送连接指令,并确定每个所述ip地址分别对应的连接指令响应时长;将所述连接指令响应时长最短的ip地址确定为所述预设域名对应的目标ip地址;根据所述预设域名,将所述预设域名对应的所述目标ip地址写入所述电子设备的hosts文件中,得到预设hosts文件。3.如权利要求2所述的访问服务器的方法,其特征在于,所述根据所述预设域名,确定ip地址集合,包括:根据所述预设域名执行域名地址查找指令,得到第一响应字符串;根据预设的地址关键字和所述第一响应字符串,解析得到所述预设域名对应的ip地址集合。4.如权利要求2所述的访问服务器的方法,其特征在于,所述分别通过所述ip地址集合中的每个ip地址向服务器发送连接指令,并确定每个所述ip地址分别对应的连接指令响应时长,包括:对于所述ip地址集合中的每个ip地址,根据所述ip地址向服务器发送连接指令,得到第二响应字符串;根据预设的时间关键字和所述第二响应字符串,解析得到所述ip地址对应的连接指令响应时长。5.如权利要求4所述的访问服务器的方法,其特征在于,所述根据所述ip地址向服务器发送连接指令,得到第二响应字符串,包括:根据所述ip地址向服务器发送连接指令;若在发送所述连接指令之后的预设时长内无法获取到第二响应字符串,则判定当前存在网络异常;等待预设间隔时间后或者在检测到网速满足预设条件时,重新根据所述ip地址向服务器发送连接指令,得到所述第二响应字符串。6.如权利要求2所述的访问服务器的方法,其特征在于,所述根据所述预设域名,将所述预设域名对应的所述目标ip地址写入所述电子设备的hosts文件中,得到预设hosts文件,包括:检测所述电子设备的hosts文件中是否存在所述预设域名;若不存在,则将所述预设域名以及所述预设域名对应的目标ip地址一同写入所述电子
设备的hosts文件中,得到预设hosts文件;若存在,则将所述hosts文件中所述预设域名对应的ip地址更新为所述目标ip地址,得到所述预设hosts文件。7.如权利要求2至6任意一项所述的访问服务器的方法,其特征在于,所述方法还包括:若所述电子设备的访问缓存记录中存在所述目标域名,则将所述访问缓存记录中所述目标域名对应的ip地址更新为所述目标ip地址。8.一种访问服务器的装置,其特征在于,应用于电子设备,包括:第一域名获取单元,用于获取目标域名;目标ip地址确定单元,用于根据所述目标域名查询预设hosts文件,获取所述目标域名对应的目标ip地址;其中,所述预设hosts文件提前写入了预设域名对应的目标ip地址,所述目标ip地址为所述预设域名对应的ip地址集合中对所述电子设备的连接指令响应时长最短的ip地址;所述连接指令响应时长为所述ip地址对应的服务器对于所述电子设备发出的连接指令的响应时长;访问单元,用于通过所述目标域名对应的目标ip地址,访问目标服务器。9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,使得电子设备实现如权利要求1至7任一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,使得电子设备实现如权利要求1至7任一项所述方法的步骤。
技术总结
本申请适用于通信技术领域,提供了访问服务器的方法、装置、电子设备及存储介质,包括:获取目标域名;根据所述目标域名查询预设hosts文件,获取所述目标域名对应的目标IP地址;其中,所述预设hosts文件提前写入了预设域名对应的目标IP地址,所述目标IP地址为所述预设域名对应的IP地址集合中对所述电子设备的连接指令响应时长最短的IP地址;所述连接指令响应时长为所述IP地址对应的服务器对于所述电子设备发出的连接指令的响应时长;通过所述目标域名对应的目标IP地址,访问目标服务器。本申请实施例能够基于域名高效准确地访问服务器。务器。务器。
技术研发人员:刘均 袁世民
受保护的技术使用者:深圳市元征科技股份有限公司
技术研发日:2022.02.21
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-5902.html