CN113259501A - 一种网站访问方法、装置、电子设备及可读存储介质 - Google Patents
一种网站访问方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113259501A CN113259501A CN202110522129.9A CN202110522129A CN113259501A CN 113259501 A CN113259501 A CN 113259501A CN 202110522129 A CN202110522129 A CN 202110522129A CN 113259501 A CN113259501 A CN 113259501A
- Authority
- CN
- China
- Prior art keywords
- domain name
- cache
- analysis result
- target
- name server
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000004458 analytical method Methods 0.000 claims abstract description 160
- 230000008569 process Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 230000002159 abnormal effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种网站访问方法、装置、电子设备及可读存储介质,该方法包括:响应于通过目标域名对目标网站的访问请求,查找本地预设的第一缓存中是否存储有针对所述目标域名的解析结果;其中,所述第一缓存为用于存储具有缓存期限的数据的缓存区域;在所述第一缓存中未存储有所述解析结果的情况下,查找本地预设的第二缓存中是否存储有所述解析结果;其中,所述第二缓存为用于存储不具有缓存期限的数据的缓存区域;在所述第一缓存中未存储有所述解析结果、所述第二缓存中存储有所述解析结果的情况下,根据所述第二缓存中所存储的解析结果访问所述目标网站。
Description
技术领域
本公开涉及互联网技术领域,更具体地,涉及一种网站访问方法、装置、电子设备及可读存储介质。
背景技术
域名解析是把域名指向网站空间IP地址(Internet Protocol Address,互联网协议地址),让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。为了方便记忆,采用域名来代替IP地址标识站点地址。
域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。域名解析就是域名到IP地址的转换过程。域名的解析工作由域名服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
具体的,通常是由域名客户端向域名服务器发送域名解析请求,域名服务器响应于该请求,将域名解析成IP地址,再将IP地址返回给域名客户端,由域名客户端根据接收到的IP地址访问该域名所对应的网站。
在现有技术中,域名客户端在通过查询域名服务器得到域名所对应的IP地址的情况下,可以将该域名所对应的IP地址存储在用于存储具有缓存期限的数据的短期缓存中。在该域名所对应的IP地址在短期缓存中的缓存期限内,域名客户端再次接收到对该域名所对应的网站的访问请求的情况下,域名客户端可以直接获取短期缓存中所存储的该域名所对应的IP地址,并根据该IP地址访问该域名所对应的网站。
在超过该域名所对应的IP地址在短期缓存中的缓存期限的情况下,短期缓存失效,域名客户端在再次接收到对该域名所对应的网站的访问请求的情况下,需要重新查询域名服务器来获取该域名所对应的IP地址。如果此时域名服务器出现故障,则可能会导致域名服务器无法查询到该域名所对应的IP地址,无法提供网站访问服务。
发明内容
本公开的一个目的是提供一种通过域名访问网站的新技术方案。
根据本公开的第一方面,提供了一种网站访问方法,包括:
响应于通过目标域名对目标网站的访问请求,查找本地预设的第一缓存中是否存储有针对所述目标域名的解析结果;其中,所述第一缓存为用于存储具有缓存期限的数据的缓存区域;
在所述第一缓存中未存储有所述解析结果的情况下,查找本地预设的第二缓存中是否存储有所述解析结果;其中,所述第二缓存为用于存储不具有缓存期限的数据的缓存区域;
在所述第一缓存中未存储有所述解析结果、所述第二缓存中存储有所述解析结果的情况下,根据所述第二缓存中所存储的解析结果访问所述目标网站;
在所述第一缓存和所述第二缓存中均未存储有所述解析结果的情况下,根据从第一域名服务器获取的解析结果访问所述目标网站,所述第一域名服务器是基于预设的选择算法,从多个域名服务器中选择的一个域名服务器。
可选的,所述根据从第一域名服务器获取的解析结果访问所述目标网站包括:
基于预设的选择算法,从多个域名服务器中选取一个作为第一域名服务器;
向所述第一域名服务器发送对所述目标域名的第一解析请求,以供所述第一域名服务器响应于所述第一解析请求,对所述目标域名进行解析,得到并返回所述目标域名的所述解析结果;
在接收到所述第一域名服务器所返回的所述解析结果的情况下,根据接收到的所述解析结果访问所述目标网站。
可选的,在未接收到所述第一域名服务器所返回的所述解析结果的情况下,所述方法还包括:
按照预设的顺序,依次向其他域名服务器发送所述第一解析请求,直至接收到任一其他域名服务器所返回的所述解析结果;
根据所述任一其他域名服务器所返回的所述解析结果访问所述目标网站;其中,所述其他域名服务器为所述多个域名服务器中除所述第一域名服务器以外的域名服务器。
可选的,所述向所述第一域名服务器发送对所述目标域名的第一解析请求之前,所述方法还包括:
在预设时间段内通过多个进程生成多个对所述目标域名的解析请求的情况下,从生成的多个解析请求中选取所述第一解析请求;
所述根据接收到的所述解析结果访问所述目标网站还包括:
将接收到的所述解析结果提供给所述多个进程,由所述多个进程分别根据所述解析结果访问所述目标网站。
可选的,在接收所述第一域名服务器所返回的解析结果的情况下,所述方法还包括:
将所述解析结果存储至本地预设的第一缓存中,并设置所述解析结果在所述第一缓存中的缓存期限;
将所述解析结果存储至本地预设的第二缓存中。
可选的,所述预设的选择算法为随机算法或一致性哈希算法。
可选的,在所述第一缓存中未存储有所述目标域名的解析结果、所述第二缓存中存储有所述目标域名的解析结果的情况下,所述方法还包括:
基于预设的选择算法,从多个域名服务器中选取一个作为第二域名服务器;
向所述第二域名服务器发送对所述目标域名的第二解析请求,以供所述第二域名服务器响应于所述第二解析请求,对所述目标域名进行解析,得到并返回所述目标域名的新的解析结果;
在接收到所述第二域名服务器所返回的所述新的解析结果的情况下,根据所述新的解析结果,对所述第二缓存中存储的所述解析结果进行更新;
将所述新的解析结果存储至所述第一缓存中,并设置所述新的解析结果在所述第一缓存中的缓存期限。
根据本公开的第二方面,提供了一种网站访问装置,包括:
第一存储查找模块,用于响应于通过目标域名对目标网站的访问请求,查找本地预设的第一缓存中是否存储有针对所述目标域名的解析结果;其中,所述第一缓存为用于存储具有缓存期限的数据的缓存区域;
第二存储查找模块,用于在所述第一缓存中未存储有所述解析结果的情况下,查找本地预设的第二缓存中是否存储有所述解析结果;其中,所述第二缓存为用于存储不具有缓存期限的数据的缓存区域;
第一网站访问模块,用于在所述第一缓存中未存储有所述目标域名的解析结果、所述第二缓存中存储有所述解析结果的情况下,根据所述第二缓存中所存储的解析结果访问所述目标网站;
第二网站访问模块,用于在所述第一缓存和所述第二缓存中均未存储有所述解析结果的情况下,根据从第一域名服务器获取的解析结果访问所述目标网站,所述第一域名服务器是基于预设的选择算法,从多个域名服务器中选择的一个域名服务器。
根据本公开的第三方面,提供了一种电子设备,包括:
如本公开第二方面所述的装置;或者,
处理器和存储器,所述存储器用于存储指令,所述指令用于控制所述处理器执行根据本公开第一方面所述的方法。
根据本公开的第四方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如本公开第一方面所述的方法。
通过本公开的实施例,在本地的第一缓存中存储有针对目标域名的解析结果的情况下,可以是直接根据第一缓存中所存储的目标域名的解析结果访问目标网站,在本地的第一缓存中未存储有该解析结果、第二缓存中存储有该解析结果的情况下,可以是根据第二缓存中所存储的目标域名的解析结果访问目标网站。这样,可以加快目标网站的访问速度,而且,还可以无需占用域名服务器的处理资源。此外,在所有的域名服务器出现异常,无法进行域名解析的情况下,依然可以从本地的第一缓存或第二缓存中得到针对目标域名的解析结果,以对目标网站进行访问,可以保证网站访问服务的可靠性。此外,在第一缓存和第二缓存中均为存储有该解析结果的情况下,基于预设的选择算法从多个域名服务器中选取第一域名服务器,来查询目标域名的解析结果,可以使得多个域名服务器的负载较为均衡,避免按照设定顺序对多个域名服务器进行查询、使得首个查询的域名服务器压力过大的问题发生。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且连同其说明一起用于解释本公开的原理。
图1是显示可用于实现本公开的实施例的电子设备的硬件配置的一个例子的框图。
图2示出了本公开的实施例的网站访问方法的流程图。
图3示出了本公开的实施例的查询域名服务器的顺序的示意图。
图4示出了本公开的实施例的选取第一解析请求的示意图。
图5示出了本公开实施例的网站访问方法的一个例子的流程示意图。
图6示出了本公开的实施例的网站访问装置的框图。
图7示出了本公开的实施例的电子设备的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1是可用于实现本公开任意实施例的方法的网站访问系统的硬件配置的框图。
如图1所示,本实施例的网站访问系统1000包括域名服务器1100、域名客户端1200和网络1300。
本实施例中的域名服务器1100,可以是用于对域名进行解析的服务器。
域名服务器1100是提供处理、数据库、通讯设施的计算机。域名服务器1100可以是整体式域名服务器或是跨多计算机或计算机数据中心的分散式域名服务器。域名服务器1100例如可以是刀片域名服务器、机架式域名服务器等,域名服务器1100也可以是部署在云端的域名服务器集群,在此不做限定。域名服务器可以是各种类型的,例如但不限于,网络域名服务器,新闻域名服务器,邮件域名服务器,消息域名服务器,广告域名服务器,文件域名服务器,应用域名服务器,交互域名服务器,数据库域名服务器,或代理域名服务器。在一些实施例中,每个域名服务器可以包括硬件,软件,或用于执行域名服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合,在此不做限定。
如图1所示,域名服务器1100可以包括处理器1110、存储器1120、接口装置1130、通信装置1140、显示装置1150和输入装置1160。处理器1110例如可以是中央处理器CPU等。存储器1120例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130例如包括USB接口、串行接口等。通信装置1140例如能够进行有线或无线通信。显示装置1150例如是液晶显示屏。输入装置1160例如可以包括触摸屏、键盘等。
本实施例中,域名服务器1100可用于参与实现根据本说明书任意实施例由域名服务器执行的方法。
应用于本说明书实施例中,域名服务器1100的存储器1120用于存储指令,该指令用于控制处理器1110进行操作以支持实现根据本说明书任意实施例的由域名服务器执行的方法。技术人员可以根据本说明书所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本领域技术人员应当理解,尽管在图1中示出了域名服务器1100的多个装置,但是,本说明书实施例的域名服务器1100可以仅涉及其中的部分装置,例如,只涉及处理器1110和存储器1120。
本实施例中的域名客户端1200,可以是用于向域名服务器发送域名的解析请求的电子设备。在一个例子中,该域名客户端1200可以是手机、笔记本电脑、台式计算机、平板电脑等移动终端,也可以是提供浏览器功能的服务器。
如图1所示,域名客户端1200可以包括处理器1210、存储器1220、接口装置1230、通信装置1240、显示装置1250、输入装置1260、定位装置1270、音频装置1280,等等。处理器1210可以是中央处理器CPU、微处理器MCU等。存储器1220例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1230例如包括USB接口、耳机接口等。通信装置1240例如能够进行有线或无线通信。显示装置1250例如是液晶显示屏、触摸显示屏等。输入装置1260例如可以包括触摸屏、键盘等。域名客户端1200可以通过定位装置1270进行定位,并将位置信息通过通信装置1240上报至域名服务器1100。域名客户端1200可以通过音频装置1280输出音频信息,和/或拾取用户输入的语音信息,该音频装置1280例如包括扬声器和/或麦克风。
本实施例中,域名客户端1200可用于通过网络1300与域名服务器1100进行通信。具体的,域名客户端1200可以是向域名服务器1100发送对目标域名的解析请求,域名服务器1100响应于该解析请求,对目标域名进行解析,得到目标域名的解析结果,并将得到的解析结果返回至域名客户端1200中,域名客户端1200可以是根据目标域名的解析结果,访问目标域名所对应的网站。
应用于本说明书的实施例中,域名客户端1200的存储器1220用于存储指令,该指令用于控制处理器1210进行操作以支持实现根据本说明书任意实施例的由域名客户端执行的方法。技术人员可以根据本说明书所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本领域技术人员应当理解,尽管在图1中示出了域名客户端1200的多个装置,但是,本说明书实施例的终端设备1200可以仅涉及其中的部分装置,例如,只涉及处理器1210、存储器1220和通信装置1240等。
网络1300可以是无线网络也可以是有线网络,可以是局域网也可以是广域网。域名客户端1200可以通过网络1300与域名服务器1100进行通信。
图1所示的网站访问系统1000仅是解释性的,并且决不是为了要限制本说明书、其应用或用途。例如,尽管图1仅示出一个域名服务器1100和一个域名客户端1200,但不意味着限制各自的数量,网站访问系统1000中可以包含多个域名客户端1200和多个域名服务器1100。
<方法实施例>
在本实施例中,提供一种网站访问方法。该方法由电子设备实施。该电子设备可以是具有处理器和存储器的电子产品。例如可以是台式计算机、笔记本电脑、手机、平板电脑等。在一个例子中,该电子设备可以是如图1所示的域名客户端1200。
根据图2所示,本实施例的网站访问方法可以包括如下步骤S2100~S2400。
步骤S2100,响应于通过目标域名对目标网站的访问请求,查找本地预设的第一缓存中是否存储有针对目标域名的解析结果。
域名是由一串用点分隔的名字组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
在本实施例中,目标网站是使用目标域名的网站。目标域名的解析结果,可以是对目标域名进行解析所得到的结果。在一个例子中,目标域名的解析结果可以是目标域名所对应的目标网站的IP地址。
在本公开的一个实施例中,可以是执行本公开实施例方法的电子设备提供有由目标域名所标识的按钮,使用该电子设备的用户通过点击该按钮,触发通过目标域名对目标网站的访问请求。还可以是执行本公开实施例方法的电子设备提供输入框和确认按钮,使用该电子设备的用户可以通过该输入框输入需要访问的目标网站的目标域名,并点击确认按钮,触发通过目标域名对目标网站的访问请求。
在本公开的另一个实施例中,执行本公开实施例方法的电子设备还可以是用于为至少一个客户端提供网络服务的服务器,那么,客户端可以是向该电子设备发送通过目标域名对目标网站的访问请求。
其中,本地预设的第一缓存,可以是执行本实施例方法的电子设备中,用于存储具有缓存期限的数据的缓存区域。对于存储在第一缓存中的数据,在达到对应的缓存期限的情况下,将会自动从第一缓存中删除。
在本实施例中,如果该电子设备在执行步骤S2100之前,通过域名服务器得到过目标域名的解析结果,可以是将得到的解析结果存储至第一缓存中,并设置解析结果在第一缓存中的缓存期限。那么,在未达到解析结果在第一缓存中的缓存期限的情况下,执行步骤S2100时就可以从本地的第一缓存中查找到目标域名的解析结果。在达到解析结果在第一缓存中的缓存期限的情况下,执行步骤S2100时就无法从本地的第一缓存中查找到目标域名的解析结果。
在第一缓存中存储有针对目标域名的解析结果的情况下,可以是直接根据第一缓存中所存储的解析结果访问目标网站。
步骤S2200,在第一缓存中未存储有解析结果的情况下,查找本地预设的第二缓存中是否存储有该解析结果。
其中,本地预设的第二缓存,可以是执行本实施例方法的电子设备中,用于存储不具有缓存期限的数据的缓存区域。对于存储在第二缓存中的数据,由于不具有缓存期限,因此,可以长久存储,直至用户手动将其删除。
在本实施例中,如果该电子设备在执行步骤S2100之前,通过域名服务器得到过目标域名的解析结果,可以是将得到的解析结果存储至第一缓存和第二缓存中,并设置解析结果在第一缓存中的缓存期限。在达到解析结果在第一缓存中的缓存期限的情况下,执行步骤S2200时还可以从本地的第二缓存中查找到目标域名的解析结果。
步骤S2300,在第一缓存中未存储有该解析结果、第二缓存中存储有该解析结果的情况下,根据第二缓存中所存储的解析结果访问目标网站。
步骤S2400,在第一缓存和第二缓存中均未存储有该解析结果的情况下,根据从第一域名服务器获取的解析结果访问目标网站。
第一缓存和第二缓存中均未存储有该解析结果,表明执行本实施例的电子设备可以是接收到通过目标域名对目标网站的访问请求,因此,可以是根据从第一域名服务器获取的解析结果访问目标网站。
其中,第一域名服务器可以是基于预设的选择算法,从多个域名服务器中选择的一个域名服务器。
在本公开的一个实施例中,在本地的第一缓存中存储有针对目标域名的解析结果的情况下,可以是直接根据第一缓存中所存储的目标域名的解析结果访问目标网站,在本地的第一缓存中未存储有该解析结果、第二缓存中存储有该解析结果的情况下,可以是根据第二缓存中所存储的目标域名的解析结果访问目标网站。这样,可以加快目标网站的访问速度,而且,还可以无需占用域名服务器的处理资源。此外,在所有的域名服务器出现异常,无法进行域名解析的情况下,依然可以从本地的第一缓存或第二缓存中得到针对目标域名的解析结果,以对目标网站进行访问,可以保证网站访问服务的可靠性。此外,在第一缓存和第二缓存中均为存储有该解析结果的情况下,基于预设的选择算法从多个域名服务器中选取第一域名服务器,来查询目标域名的解析结果,可以使得多个域名服务器的负载较为均衡,避免按照设定顺序对多个域名服务器进行查询、使得首个查询的域名服务器压力过大的问题发生。
在本公开的一个实施例中,根据从第一域名服务器获取的解析结果访问目标网站可以包括如下所示的步骤S2410~S2430:
步骤S2410,基于预设的选择算法,从多个域名服务器中选取一个作为第一域名服务器。
在本实施例中,可以是预先提供有多个用于进行域名解析的域名服务器。从多个域名服务器中随机选取一个,作为用于首次查询目标域名的解析结果的第一域名服务器。
本实施例中的选择算法,可以是预先根据应用场景或具体需求所设定的。例如,该选择算法可以是随机算法或者是一致性哈希算法,在此不做限定。
步骤S2420,向第一域名服务器发送对目标域名的第一解析请求,以供第一域名服务器响应于第一解析请求,对目标域名进行解析,得到并返回目标域名的解析结果。
在本实施例中,任一个域名服务器在正常情况下,如果接收到电子设备所发送的对目标域名的第一解析请求,会在电子设备发出第一解析请求后的设定时间内,响应于该第一解析请求,对目标域名进行解析,得到目标域名的解析结果,并将得到的目标域名的解析结果返回给发送第一解析请求的电子设备。其中,该设定时间例如可以是1s。
在域名服务器异常,即域名服务器出现故障的情况下,如果接收到电子设备所发送的对目标域名的第一解析请求,则无法对该第一解析请求进行响应,无法在电子设备发送第一解析请求后的设定时间内,将目标域名的解析结果返回给该电子设备。
步骤S22430,在接收到第一域名服务器所返回的解析结果的情况下,根据接收到的解析结果访问目标网站。
在执行本公开实施例方法的电子设备接收到第一域名服务器所返回的解析结果的情况下,将会根据接收到的第一域名服务器所返回的解析结果,访问目标域名所对应的目标网站。
通过本公开的实施例,在查询到第一缓存和第二缓存中均未存储有目标域名的解析结果的情况下,基于预设的选择算法,从多个域名服务器中选取第一域名服务器来查询目标域名的解析结果,可以使得多个域名服务器的负载较为均衡,避免按照设定顺序对多个域名服务器进行查询、使得首个查询的域名服务器压力过大的问题发生。
在本公开的一个实施例中,如果第一域名服务器出现异常,第一域名服务器可能会无法在电子设备发送第一解析请求后的设定时间内,将目标域名的解析结果返回给该电子设备。那么,在电子设备未接收到第一域名服务器所返回的解析结果的情况下,该方法还可以包括:
按照预设的顺序,依次向其他域名服务器发送第一解析请求,直至接收到任一域名服务器所返回的目标域名的解析结果;根据该其他服务器所返回的解析结果访问目标网站。其中,其他域名服务器可以是多个域名服务器中除第一域名服务器以外的服务器。
在本实施例中,可以是预先设定多个域名服务器的访问顺序。例如,在多个域名服务器包括域名服务器1~域名服务器4的情况下,设定的顺序依次为域名服务器1、域名服务器2、域名服务器3和域名服务器4。如图3所示,在通过步骤S2200所得到的第一域名服务器为域名服务器2、且未接收到域名服务器2所返回的解析结果的情况下,可以是向域名服务器3发送第一解析请求,在域名服务器3正常,可以响应于该第一解析请求,对目标域名进行解析,得到并向电子设备返回解析结果的情况下,电子设备可以根据接收到的域名服务器3所返回的解析结果访问目标网站。在域名服务器3异常使得电子设备无法接收到域名服务器3所返回的解析结果的情况下,可以是向域名服务器4发送第一解析请求,在域名服务器4正常,可以响应于该第一解析请求,对目标域名进行解析,得到并向电子设备返回解析结果的情况下,电子设备可以根据接收到的域名服务器4所返回的解析结果访问目标网站。在域名服务器4异常使得电子设备无法接收到域名服务器4所返回的解析结果的情况下,可以是向域名服务器1发送第一解析请求,在域名服务器1正常,可以响应于该第一解析请求,对目标域名进行解析,得到并向电子设备返回解析结果的情况下,电子设备可以根据接收到的域名服务器1所返回的解析结果访问目标网站。在域名服务器1异常使得电子设备无法接收到域名服务器1所返回的解析结果的情况下,由于所有域名服务器均异常无法对目标域名进行解析,因此,可以是发出所有域名服务器异常导致无法访问目标网站的提示。
通过本实施例,可以是在第一域名服务器异常的情况下,查找其他域名服务器来得到目标域名的解析结果,可以提高网站访问服务的可靠性。
在本公开的一个实施例中,在执行完上述步骤S2420之前,该方法还可以包括如下所示的步骤S2440:
步骤S2440,在预设时间段内通过多个进程生成多个对目标域名的解析请求的情况下,从生成的多个解析请求中选取第一解析请求。
在本实施例中,预设时间段可以是预先根据应用场景或具体需求所设定的,例如,该预设时间段可以是1ms。
具体的,执行本实施例方法的电子设备,在预设时间段内接收到多个通过目标域名对目标网站的访问请求的情况下,通过多个进程分别对每个访问请求进行响应,在预设时间段内生成对目标域名的解析请求。
在本公开的一个实施例中,从生成的多个解析请求中选取第一解析请求的方式,可以是从多个解析请求中选取生成时间最早的一个,作为第一解析请求,或者是从多个解析请求中随机选取一个作为第一解析请求。
如图4所示,电子设备在预设时间段内通过进程1、进程2和进程3,分别生成对目标域名的解析请求1、解析请求2和解析请求3的情况下,从生成的解析请求1、解析请求2和解析请求3中选取第一解析请求,向域名服务器发送第一解析请求,以查询得到目标域名的解析结果。
在本实施例的基础上,步骤S2430还可以包括:将解析结果提供给多个进程,由多个进程分别根据该解析结果访问目标网站。
每个进程可以是根据得到的解析结果,分别对对应的访问请求进行响应,响应方式可以是根据该解析结果访问目标网站,也可以是将解析结果返回给发出对应访问请求的客户端,还可以是将根据解析结果访问目标网站的结果返回给发出对应访问请求的客户端。
如果在预设时间段内通过多个进程所生成对目标域名的解析请求全部发送给第一域名服务器,以进行目标域名的解析结果的查询,会导致第一域名服务器的压力过大,容易出现故障。而在本实施例中,从多个进程所生成的多个解析请求中选取第一解析请求,仅将第一解析请求发送至第一域名服务器进行目标域名的解析结果的查询,并将接收到的解析结果提供给多个进程进行响应,可以有效缓解多个进程并发解析请求对第一域名服务器所造成的压力。
在未接收到第一域名服务器所返回的目标域名的解析结果、接收到一其他域名服务器所返回的目标域名的解析结果的情况下,可以是将接收到的该其他域名服务器所返回的目标域名的解析结果提供给多个进程,由多个进程分别根据该解析结果访问目标网站。
也就是说,在执行步骤S2440之后,在得到任一域名服务器所返回的目标域名的解析结果的情况下,将接收到的解析结果提供给多个进程,由多个进程分别根据该解析结果访问目标网站。
本实施例从多个进程在预设时间段内所生成的多个解析请求中选取第一解析请求,仅将第一解析请求发送至域名服务器进行目标域名的解析结果的查询,并将接收到的解析结果提供给多个进程进行响应,可以有效缓解多个进程并发解析请求对域名服务器所造成的压力。
在本公开的一个实施例中,在得到任一域名服务器所返回的目标域名的解析结果的情况下,该方法还可以包括:将目标域名的解析结果存储至第一缓存和第二缓存中,并设置该解析结果在第一缓存中的缓存期限。
其中,该任一域名服务器可以是第一域名服务器,也可以是其中一个其他域名服务器。
本实施例通过将任一域名服务器所返回的目标域名的解析结果,存储至第一缓存和第二缓存中,以供在后续接收到通过目标域名对目标网站的访问请求的情况下,可以从本地的第一缓存或第二缓存中直接查找多目标域名的解析结果,并根据本地所存储的解析结果访问目标网站,无需查找域名服务器。这样,可以加快访问目标网站的速度。
此外,在本地设置第一缓存和第二缓存,在第一缓存中所存储的目标域名的解析结果失效、域名服务器全部故障的情况下,依然可以从第二缓存中得到目标域名的解析结果,可以保证网站访问服务的可靠性。
在本公开的一个实施例中,在第一缓存中为存储有目标域名的解析结果、第二缓存中存储有目标域名的解析结果的情况下,表明达到解析结果在第一缓存中的缓存期限,第一缓存中的解析结果被自动删除,但第二缓存中依然保留有目标域名的解析结果。由于目标网站的IP地址可能会发生更改,为了避免第二缓存中所存储的目标域名解析结果过期导致无法正常访问目标网站,该方法还可以包括如下所示的步骤S2500~S2800:
步骤S2500,基于预设的选择算法,从多个域名服务器中选取一个作为第二域名服务器。
在本实施例中,选取第二域名服务器的方式可以参照选取第一域名服务器的方式,在此不再赘述。
具体的,通过步骤S2500所选取的第二域名服务器,与通过步骤S2410所选取的第一域名服务器可以相同,也可以不同,在此不做限定。
步骤S2600,向第二域名服务器发送对目标域名的第二解析请求,以供第二域名服务器响应于该第二解析请求,对目标域名进行解析,得到并返回目标域名的新的解析结果。
本实施例中,该步骤S2600具体可以参照前述的步骤S2420,在此不再赘述。其中,第二域名服务器在正常情况下响应第二解析请求的方式,与第一域名服务器在正常情况下响应第一解析请求的方式可以相同。
步骤S2700,在接收到第二域名服务器所返回的新的解析结果的情况下,根据新的解析结果,对第二缓存中存储的解析结果进行更新。
在本实施例中,通过根据接收到的第二域名服务器所返回的新的解析结果,对第二缓存中的解析结果进行更新,可以保证第二缓存中所存储的目标域名的解析结果始终有效,能够根据第二缓存中所存储的目标域名的解析结果访问目标网站,保证该电子设备所提供的网站访问服务的可靠性。
步骤S2800,将新的解析结果存储至第一缓存中,并设置新的解析结果在第一缓存中的缓存期限。
在本实施例中,通过将新的解析结果存储至第一缓存中,并设置新的解析结果在第一缓存中的缓存期限,可以在达到新的解析结果在第一缓存中的缓存期限之前,根据第一缓存中所存储的目标域名的新的解析结果访问目标网站,无需查找域名服务器,以可以加快目标网站的访问速度,且无需占用域名服务器的处理资源。
<例子>
图5为本公开实施例的网站访问方法的一个例子的流程示意图。
根据图5所示,该网站访问方法包括如下所示的步骤S5001~S5016:
步骤S5001,响应于通过目标域名对目标网站的访问请求,查找第一缓存中是否存储有针对目标域名的解析结果;如是,则执行步骤S5002,如否,则执行步骤S5003。
步骤S5002,根据第一缓存中所存储的目标域名的解析结果访问目标网站。
步骤S5003,查找第二缓存中是否存储有目标域名的解析结果,如是,则执行步骤S5010,如否,则执行步骤S5004。
步骤S5004,基于预设的选择算法,从多个域名服务器中选取一个作为第一域名服务器。
步骤S5005,向第一域名服务器发送对目标域名的第一解析请求,以供第一域名服务器响应于第一解析请求,对目标域名进行解析,得到并返回目标域名的解析结果。
在一个例子中,在预设时间段内仅生成一个对目标域名的解析请求的情况下,将该解析请求作为第一解析请求。在预设时间段内通过多个进程分别生成多个对目标域名的解析请求的情况下,从生成的多个解析请求中选取第一解析请求。
进一步地,从生成的多个解析请求中选取第一解析请求的方式,可以是从多个解析请求中选取生成时间最早的一个,作为第一解析请求,或者是从多个解析请求中随机选取一个作为第一解析请求。
步骤S5006,确定在设定时间内是否接收到域名服务器所返回的解析结果,如是,则执行步骤S5008;如否,则执行步骤S5007。
步骤S5007,按照预设的顺序,依次向除第一域名服务器以外的其他域名服务器发送第一解析请求,以供接收到第一解析请求的域名服务器响应于该第一解析请求,对目标域名进行解析,得到并返回目标域名的解析结果。
步骤S5008,根据接收到的解析结果访问目标网站。
步骤S5009,将目标域名的解析结果存储至第一缓存和第二缓存中,并设置该解析结果在第一缓存中的缓存期限。
步骤S5010,根据第二缓存中所存储的目标域名的解析结果访问目标网站。
步骤S5011,基于预设的选择算法,从多个域名服务器中选取一个作为第二域名服务器。
步骤S5012,向第二域名服务器发送对目标域名的第二解析请求,以供第二域名服务器响应于该第二解析请求,对目标域名进行解析,得到并返回目标域名的新的解析结果。
步骤S5013,确定在设定时间内是否接收到域名服务器所返回的新的解析结果,如是,则执行步骤S5015;如否,则执行步骤S5014。
步骤S5014,按照预设的顺序,依次向除第二域名服务器以外的其他域名服务器发送第二解析请求,以供接收到第二解析请求的域名服务器响应于该第二解析请求,对目标域名进行解析,得到并返回目标域名的新的解析结果。
步骤S5015,在接收到第二域名服务器所返回的新的解析结果的情况下,根据新的解析结果,对第二缓存中存储的解析结果进行更新。
步骤S5016,将新的解析结果存储至第一缓存中,并设置新的解析结果在第一缓存中的缓存期限。
<装置实施例>
在本实施例中,提供一种网站访问装置6000,如图6所示,包括第一存储查找模块6100、第二存储查找模块6200、第一网站访问模块6300和第二网站访问模块6400。该第一存储查找模块6100用于响应于通过目标域名对目标网站的访问请求,查找本地预设的第一缓存中是否存储有针对目标域名的解析结果;其中,第一缓存为用于存储具有缓存期限的数据的缓存区域;该第二存储查找模块6200用于在第一缓存中未存储有解析结果的情况下,查找本地预设的第二缓存中是否存储有解析结果;其中,第二缓存为用于存储不具有缓存期限的数据的缓存区域;该第一网站访问模块6300用于在第一缓存中未存储有目标域名的解析结果、第二缓存中存储有解析结果的情况下,根据第二缓存中所存储的解析结果访问目标网站;该第二网站访问模块6400用于在第一缓存和第二缓存中均未存储有解析结果的情况下,根据从第一域名服务器获取的解析结果访问目标网站,第一域名服务器是基于预设的选择算法,从多个域名服务器中选择的一个域名服务器。
在本公开的一个实施例中,第二网站访问模块6400还可以包括:
服务器选取单元,用于基于预设的选择算法,从多个域名服务器中选取一个作为第一域名服务器;
请求发送单元,用于向第一域名服务器发送对目标域名的第一解析请求,以供第一域名服务器响应于第一解析请求,对目标域名进行解析,得到并返回目标域名的解析结果;
网站访问单元,用于在接收到第一域名服务器所返回的解析结果的情况下,根据接收到的解析结果访问目标网站。
在本公开的一个实施例中,网站访问装置6000还可以包括:
第三网站访问模块6500,用于按照预设的顺序,依次向其他域名服务器发送第一解析请求,直至接收到任一其他域名服务器所返回的解析结果;根据任一其他域名服务器所返回的解析结果访问目标网站;其中,其他域名服务器为多个域名服务器中除第一域名服务器以外的域名服务器。
在本公开的一个实施例中,网站访问装置6000还可以包括:
请求选取模块,用于在预设时间段内通过多个进程生成多个对目标域名的解析请求的情况下,从生成的多个解析请求中选取第一解析请求;
第二网站访问模块6400还可以用于将解析结果提供给多个进程,由多个进程分别根据解析结果访问目标网站。
在本公开的一个实施例中,网站访问装置6000还可以包括:
第一缓存模块,用于将解析结果存储至本地预设的第一缓存中,并设置解析结果在第一缓存中的缓存期限;
第二缓存模块,用于将解析结果存储至本地预设的第二缓存中。
在本公开的一个实施例中,预设的选择算法为随机算法或一致性哈希算法。
在本公开的一个实施例中,网站访问装置6000还可以包括:
服务器选取模块,用于基于预设的选择算法,从多个域名服务器中选取一个作为第二域名服务器;
请求发送模块,用于向第二域名服务器发送对目标域名的第二解析请求,以供第二域名服务器响应于第二解析请求,对目标域名进行解析,得到并返回目标域名的新的解析结果;
缓存更新模块,用于在接收到第二域名服务器所返回的新的解析结果的情况下,根据新的解析结果,对第二缓存中存储的解析结果进行更新;
第三存储模块,用于将新的解析结果存储至第一缓存中,并设置新的解析结果在第一缓存中的缓存期限。
本领域技术人员应当明白,可以通过各种方式来实现网站访问装置6000。例如,可以通过指令配置处理器来实现网站访问装置6000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现网站访问装置6000。例如,可以将网站访问装置6000固化到专用器件(例如ASIC)中。可以将网站访问装置6000分成相互独立的单元,或者可以将它们合并在一起实现。网站访问装置6000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
在本实施例中,网站访问装置6000可以具有多种实现形式,例如,网站访问装置6000可以是任何的提供网站访问服务的软件产品或者应用程序中运行的功能模块,或者是这些软件产品或者应用程序的外设嵌入件、插件、补丁件等,还可以是这些软件产品或者应用程序本身。
<电子设备>
在本实施例中,还提供一种电子设备7000,如图7所示,包括:
前述的网站访问装置6000;或者,
存储器7100和处理器7200,该存储器7100用于存储可执行的指令;该指令用于控制处理器7200执行前述的网站访问方法。
在本实施例中,该电子设备7000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机、服务器等任意具有存储器7100以及处理器7200的电子产品。
以上已经结合附图描述了本公开的实施例,通过本公开的实施例,在本地的第一缓存中存储有针对目标域名的解析结果的情况下,可以是直接根据第一缓存中所存储的目标域名的解析结果访问目标网站,在本地的第一缓存中未存储有该解析结果、第二缓存中存储有该解析结果的情况下,可以是根据第二缓存中所存储的目标域名的解析结果访问目标网站。这样,可以加快目标网站的访问速度,而且,还可以无需占用域名服务器的处理资源。此外,在所有的域名服务器出现异常,无法进行域名解析的情况下,依然可以从本地的第一缓存或第二缓存中得到针对目标域名的解析结果,以对目标网站进行访问,可以保证网站访问服务的可靠性。此外,在第一缓存和第二缓存中均为存储有该解析结果的情况下,基于预设的选择算法从多个域名服务器中选取第一域名服务器,来查询目标域名的解析结果,可以使得多个域名服务器的负载较为均衡,避免按照设定顺序对多个域名服务器进行查询、使得首个查询的域名服务器压力过大的问题发生。
<可读存储介质>
在本实施例中,还提供一种可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现如本公开任意实施例的网站访问方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本公开的范围由所附权利要求来限定。
Claims (10)
1.一种网站访问方法,其特征在于,包括:
响应于通过目标域名对目标网站的访问请求,查找本地预设的第一缓存中是否存储有针对所述目标域名的解析结果;其中,所述第一缓存为用于存储具有缓存期限的数据的缓存区域;
在所述第一缓存中未存储有所述解析结果的情况下,查找本地预设的第二缓存中是否存储有所述解析结果;其中,所述第二缓存为用于存储不具有缓存期限的数据的缓存区域;
在所述第一缓存中未存储有所述解析结果、所述第二缓存中存储有所述解析结果的情况下,根据所述第二缓存中所存储的解析结果访问所述目标网站;
在所述第一缓存和所述第二缓存中均未存储有所述解析结果的情况下,根据从第一域名服务器获取的解析结果访问所述目标网站,所述第一域名服务器是基于预设的选择算法,从多个域名服务器中选择的一个域名服务器。
2.根据权利要求1所述的方法,其特征在于,所述根据从第一域名服务器获取的解析结果访问所述目标网站包括:
基于预设的选择算法,从多个域名服务器中选取一个作为第一域名服务器;
向所述第一域名服务器发送对所述目标域名的第一解析请求,以供所述第一域名服务器响应于所述第一解析请求,对所述目标域名进行解析,得到并返回所述目标域名的所述解析结果;
在接收到所述第一域名服务器所返回的所述解析结果的情况下,根据接收到的所述解析结果访问所述目标网站。
3.根据权利要求2所述的方法,其特征在于,在未接收到所述第一域名服务器所返回的所述解析结果的情况下,所述方法还包括:
按照预设的顺序,依次向其他域名服务器发送所述第一解析请求,直至接收到任一其他域名服务器所返回的所述解析结果;
根据所述任一其他域名服务器所返回的所述解析结果访问所述目标网站;其中,所述其他域名服务器为所述多个域名服务器中除所述第一域名服务器以外的域名服务器。
4.根据权利要求2所述的方法,其特征在于,所述向所述第一域名服务器发送对所述目标域名的第一解析请求之前,所述方法还包括:
在预设时间段内通过多个进程生成多个对所述目标域名的解析请求的情况下,从生成的多个解析请求中选取所述第一解析请求;
所述根据接收到的所述解析结果访问所述目标网站还包括:
将接收到的所述解析结果提供给所述多个进程,由所述多个进程分别根据所述解析结果访问所述目标网站。
5.根据权利要求2所述的方法,其特征在于,在接收所述第一域名服务器所返回的解析结果的情况下,所述方法还包括:
将所述解析结果存储至本地预设的第一缓存中,并设置所述解析结果在所述第一缓存中的缓存期限;
将所述解析结果存储至本地预设的第二缓存中。
6.根据权利要求1所述的方法,所述预设的选择算法为随机算法或一致性哈希算法。
7.根据权利要求1所述的方法,其特征在于,在所述第一缓存中未存储有所述目标域名的解析结果、所述第二缓存中存储有所述目标域名的解析结果的情况下,所述方法还包括:
基于预设的选择算法,从多个域名服务器中选取一个作为第二域名服务器;
向所述第二域名服务器发送对所述目标域名的第二解析请求,以供所述第二域名服务器响应于所述第二解析请求,对所述目标域名进行解析,得到并返回所述目标域名的新的解析结果;
在接收到所述第二域名服务器所返回的所述新的解析结果的情况下,根据所述新的解析结果,对所述第二缓存中存储的所述解析结果进行更新;
将所述新的解析结果存储至所述第一缓存中,并设置所述新的解析结果在所述第一缓存中的缓存期限。
8.一种网站访问装置,其特征在于,包括:
第一存储查找模块,用于响应于通过目标域名对目标网站的访问请求,查找本地预设的第一缓存中是否存储有针对所述目标域名的解析结果;其中,所述第一缓存为用于存储具有缓存期限的数据的缓存区域;
第二存储查找模块,用于在所述第一缓存中未存储有所述解析结果的情况下,查找本地预设的第二缓存中是否存储有所述解析结果;其中,所述第二缓存为用于存储不具有缓存期限的数据的缓存区域;
第一网站访问模块,用于在所述第一缓存中未存储有所述目标域名的解析结果、所述第二缓存中存储有所述解析结果的情况下,根据所述第二缓存中所存储的解析结果访问所述目标网站;
第二网站访问模块,用于在所述第一缓存和所述第二缓存中均未存储有所述解析结果的情况下,根据从第一域名服务器获取的解析结果访问所述目标网站,所述第一域名服务器是基于预设的选择算法,从多个域名服务器中选择的一个域名服务器。
9.一种电子设备,其特征在于,包括:
如权利要求8所述的装置;或者,
处理器和存储器,所述存储器用于存储指令,所述指令用于控制所述处理器执行根据权利要求1-7中任一项所述的方法。
10.一种可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110522129.9A CN113259501A (zh) | 2021-05-13 | 2021-05-13 | 一种网站访问方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110522129.9A CN113259501A (zh) | 2021-05-13 | 2021-05-13 | 一种网站访问方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113259501A true CN113259501A (zh) | 2021-08-13 |
Family
ID=77181679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110522129.9A Pending CN113259501A (zh) | 2021-05-13 | 2021-05-13 | 一种网站访问方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259501A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070014241A1 (en) * | 2005-07-14 | 2007-01-18 | Banerjee Dwip N | Resolver caching of a shortest path to a multihomed server as determined by a router |
CN103701957A (zh) * | 2014-01-14 | 2014-04-02 | 互联网域名系统北京市工程研究中心有限公司 | Dns递归方法及其系统 |
US10033692B1 (en) * | 2017-10-05 | 2018-07-24 | Cloudflare, Inc. | Managing domain name system (DNS) queries using a proxy DNS server |
CN109510883A (zh) * | 2018-11-23 | 2019-03-22 | Oppo广东移动通信有限公司 | 域名查询方法、装置、设备及存储介质 |
CN109714443A (zh) * | 2017-10-25 | 2019-05-03 | 中国电信股份有限公司 | 域名服务器、域名备份方法和计算机可读存储介质 |
CN112118325A (zh) * | 2019-06-19 | 2020-12-22 | 中国电信股份有限公司 | Dns解析处理方法、装置、解析服务器以及存储介质 |
-
2021
- 2021-05-13 CN CN202110522129.9A patent/CN113259501A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070014241A1 (en) * | 2005-07-14 | 2007-01-18 | Banerjee Dwip N | Resolver caching of a shortest path to a multihomed server as determined by a router |
CN103701957A (zh) * | 2014-01-14 | 2014-04-02 | 互联网域名系统北京市工程研究中心有限公司 | Dns递归方法及其系统 |
US10033692B1 (en) * | 2017-10-05 | 2018-07-24 | Cloudflare, Inc. | Managing domain name system (DNS) queries using a proxy DNS server |
CN109714443A (zh) * | 2017-10-25 | 2019-05-03 | 中国电信股份有限公司 | 域名服务器、域名备份方法和计算机可读存储介质 |
CN109510883A (zh) * | 2018-11-23 | 2019-03-22 | Oppo广东移动通信有限公司 | 域名查询方法、装置、设备及存储介质 |
CN112118325A (zh) * | 2019-06-19 | 2020-12-22 | 中国电信股份有限公司 | Dns解析处理方法、装置、解析服务器以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714449B (zh) | 服务域名的动态配置方法、装置、设备及存储介质 | |
CN107003877B (zh) | 应用的上下文深层链接 | |
CN111614738B (zh) | 基于Kubernetes集群的服务访问方法、装置、设备及存储介质 | |
JP6261758B2 (ja) | コンテナの配置及び実行を調整するサービスの実施態様 | |
US11681757B2 (en) | Similar email spam detection | |
EP2985705A2 (en) | Webpage access method and apparatus, and router | |
JP7427016B2 (ja) | 動的翻訳 | |
CN104506510A (zh) | 用于设备认证的方法、装置及认证服务系统 | |
CN112231603A (zh) | 一种文件下载方法、服务器、客户端和存储介质 | |
KR20200011443A (ko) | 사용자 디바이스 이벤트의 매칭 및 속성 | |
US20170289243A1 (en) | Domain name resolution method and electronic device | |
CN110809070A (zh) | 网站域名解析记录处理方法、装置、电子设备及存储介质 | |
US20190286678A1 (en) | Resource distribution based upon search signals | |
US20210112025A1 (en) | Method and server for processing messages | |
CN110708402A (zh) | 可访问资源的展示方法、装置及资源访问系统 | |
CN109391658B (zh) | 一种账号数据同步方法及其设备、存储介质、终端 | |
CN110661851A (zh) | 数据交换方法和装置 | |
CN113296778B (zh) | 一种资源文件的处理方法、装置、服务器、客户端及系统 | |
WO2017092661A1 (en) | Subscription service for monitoring changes in remote content | |
WO2015003570A1 (en) | Data downloading method,device and system thereof | |
US10069938B1 (en) | Returning identifiers in default query responses | |
CN113259501A (zh) | 一种网站访问方法、装置、电子设备及可读存储介质 | |
JP2016515740A (ja) | スマートナビゲーションサービス | |
CN110769462B (zh) | 网络访问控制方法和装置 | |
TW201905640A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210813 |
|
RJ01 | Rejection of invention patent application after publication |