CN112165538B - 双栈终端的网络访问方法、装置、设备及可读存储介质 - Google Patents

双栈终端的网络访问方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN112165538B
CN112165538B CN202011003779.4A CN202011003779A CN112165538B CN 112165538 B CN112165538 B CN 112165538B CN 202011003779 A CN202011003779 A CN 202011003779A CN 112165538 B CN112165538 B CN 112165538B
Authority
CN
China
Prior art keywords
address
ipv6 address
ipv6
failed
ipv4
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.)
Active
Application number
CN202011003779.4A
Other languages
English (en)
Other versions
CN112165538A (zh
Inventor
沈健林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011003779.4A priority Critical patent/CN112165538B/zh
Publication of CN112165538A publication Critical patent/CN112165538A/zh
Application granted granted Critical
Publication of CN112165538B publication Critical patent/CN112165538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/686Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供一种双栈终端的网络访问方法、装置、设备及可读存储介质,用于提升双栈终端进行网络访问的效率。该方法包括:接收服务器根据域名访问请求确定的至少一个IPv4地址和至少一个IPv6地址;基于本地中当前网络环境对应的故障IPv6地址集合,确定接收的IPv6地址中的故障IPv6地址;对接收的IPv4地址和IPv6地址进行排序处理,其中将故障IPv6地址排列在非故障IPv6地址之后;基于各IPv4地址和各IPv6地址的排列顺序,访问目标网站;该方法提升了不同网络环境下因特网协议地址的连通效率,进而提升了双栈终端在不同网络环境下进行网络访问的效率。

Description

双栈终端的网络访问方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种双栈终端的网络访问方法、装置、设备及可读存储介质。
背景技术
双栈终端在通过域名访问请求进行网络访问时,双栈终端将域名服务器返回的多个第六版因特网协议(Internet Protocol Version 6,IPv6)地址和多个第四版因特网协议(Internet Protocol Version 4,IPv4)地址进行排序后,优先选择IPv6地址尝试进行连通,在IPv6地址连通失败后才去尝试与排列在其之后的IPv4地址进行连通;其中一些因异常而无法连通的IPv6地址可能被优先尝试进行连通,且只有在确定这些异常的IPv6地址连通失败后,才能尝试与排列在其之后的IPv4地址进行连通,造成了不必要的性能消耗且影响了域名访问请求对应的因特网协议地址的连通效率,进而严重影响双栈终端进行网络访问的效率,因此如何提升双栈终端进行网络访问的访问效率成为了需要考虑的问题。
发明内容
本申请实施例提供一种双栈终端的网络访问方法、装置、设备及可读存储介质,用于提升双栈终端进行网络访问的访问效率。
本申请第一方面,提供一种双栈终端的网络访问方法,包括:
向服务器发送针对目标网站的域名访问请求;
接收至少一个第四版因特网协议IPv4地址和至少一个第六版因特网协议IPv6地址,所述至少一个IPv4地址和所述至少一个IPv6地址是所述服务器根据所述域名访问请求确定的所述目标网站的因特网协议地址;
基于本地中当前网络环境对应的故障IPv6地址集合,确定所述至少一个IPv6地址中在所述当前网络环境下的故障IPv6地址;所述当前网络环境从当前连通的无线接入点获得,所述故障IPv6地址集合根据历史域名访问请求对应的IPv6地址的连通结果确定并更新的;
对所述至少一个IPv4地址和所述至少一个IPv6地址进行排序处理,所述排序处理中将所述故障IPv6地址排列在非故障IPv6地址之后,所述非故障IPv6地址包括所述至少一个IPv6地址中所述故障IPv6地址之外的IPv6地址和所述至少一个IPv4地址;
基于所述至少一个IPv4地址和所述至少一个IPv6地址的排列顺序,访问所述目标网站。
本申请第二方面,提供一种网络访问装置,包括:
信息发送单元,用于向服务器发送针对目标网站的域名访问请求;
信息接收单元,用于接收至少一个第四版因特网协议IPv4地址和至少一个第六版因特网协议IPv6地址,所述至少一个IPv4地址和所述至少一个IPv6地址是所述服务器根据所述域名访问请求确定的所述目标网站的因特网协议地址;
第一处理单元,用于基于本地中当前网络环境对应的故障IPv6地址集合,确定所述至少一个IPv6地址中在所述当前网络环境下的故障IPv6地址;在所述当前网络环境下,所述故障IPv6地址集合根据历史域名访问请求对应的IPv6地址的连通结果确定并更新的;
第二处理单元,用于对所述至少一个IPv4地址和所述至少一个IPv6地址进行排序处理,所述排序处理中将所述故障IPv6地址排列在非故障IPv6地址之后,所述非故障IPv6地址包括所述至少一个IPv6地址中所述故障IPv6地址之外的IPv6地址和所述至少一个IPv4地址;
网络访问单元,用于基于所述至少一个IPv4地址和所述至少一个IPv6地址的排列顺序,访问所述目标网站。
在一种可能的实现方式中,所述第二处理单元具体用于:
将各IPv4地址和各IPv6地址进行交替排序,得到第一地址序列,所述第一地址序列中的第i个IPv6地址排列在第i个IPv4地址之前,所述i为正整数;
确定所述第一地址序列中的故障IPv6地址;
将所述第一地址序列中的故障IPv6地址,排列至所述第一地址序列中的所述非故障IPv6地址之后。
在一种可能的实现方式中,所述网络访问单元还用于选取的当前协议地址连通失败时之后,将所述当前协议地址发送给所述服务器,以通知所述服务器当前协议地址连通故障。
在一种可能的实现方式中,所述网络访问单元还用于:
根据设定的更新触发规则,对所述故障IPv6地址集合中的各个故障IPv6地址进行连通性测试;
当测试结果表明故障IPv6地址恢复连通时,从所述故障IPv6地址集合中删除恢复连通的IPv6地址。
在一种可能的实现方式中,所述第二处理单元还用于:
根据连通性测试的次数,记录所述故障IPv6地址中的各个故障IPv6地址的连通参考值;以及
按照所述第一地址序列中的各故障IPv6地址的连通参考值的大小,对所述第一地址序列中的各故障IPv6地址进行排序。
本申请第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面及任一种可能的实施方式中任一所述的方法。
本申请第四方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面的各种可能的实现方式中提供的双栈终端的网络访问方法。
本申请第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面以及任一种可能的实施方式中任一所述的双栈终端的网络访问方法。
由于本申请实施例采用上述技术方案,至少具有如下技术效果:
一方面,本申请实施例中优先尝试与当前网络环境下不故障的IPv6地址和IPv4地址进行连通,将当前网络环境下的故障IPv6地址放在最后进行连通,避免了优先与当前网络环境下的故障IPv6地址进行连通造成时间损耗和性能消耗,提升了当前网络环境下与因特网协议地址进行连通的连通效率,进而提升了双栈终端在当前网络环境下进行网络访问的效率。
另一方面,本申请实施例中可以针对不同的网络环境,将各网络环境下的故障IPv6地址放在最后进行连通,避免了优先与各网络环境下的故障IPv6地址进行连通造成时间损耗和性能消耗,提升了不同网络环境下与因特网协议地址进行连通的连通效率,进而提升双栈终端在不同网络环境下进行网络访问的效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供一种应用场景的结构示例图;
图2为本申请实施例提供的一种双栈终端与一个IPv6地址进行连通的过程的示例图;
图3为本申请实施例提供的一种对故障IPv6地址集合进行连通性测试的过程的示例图;
图4为本申请实施例提供的一种双栈终端的网络访问的方法的过程的示意图;
图5为本申请实施例提供的一种基于各IPv4地址和各IPv6地址的排列顺序,访问目标网站的过程示意图;
图6为本申请实施例提供的一种得到排序后的地址序列的过程的示例图;
图7为本申请实施例提供的一种得到排序后的地址序列的过程的示例图;
图8为本申请实施例提供的一种双栈终端进行网络访问的完整过程的示例图;
图9为本申请实施例提供的一种网络访问装置的结构图;
图10为本申请实施例提供的一种双栈终端的结构图。
具体实施方式
为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
为了便于本领域技术人员更好地理解本申请的技术方案,下面对本申请涉及的技术名词进行说明。
IPv4地址和IPv6地址:本申请实施例中的IPv4地址为四版因特网协议(InternetProtocol Version 4,IPv4)中的设备的因特网协议地址,用于标识设备在互联网中的身份;IPv4中使用32位2进制位表示IPv4地址;本申请实施例中的IPv6地址为第六版因特网协议(Internet Protocol Version 6,IPv6)中的设备的因特网协议地址,用于标识设备在互联网中的身份;IPv6中使用128位2进制位表示IPv6地址,相较于IPv4使用的32位表示IPv4地址,IPv6所拥有的地址容量约是IPv4的8×1028倍,因此IPv6能够极大的满足网络地址资源数量问题。
双协议栈技术:指在同一台设备上同时启用IPv6协议栈和IPv4协议栈,故而这台设备既能和IPv4网络通信又能和IPv6网络通信;如果这台设备是一个路由器,那么这台路由器的不同接口上,分别配置了IPv4地址和IPv6地址,并很可能分别连接了IPv4网络和IPv6网络。如果这台设备是一个计算机,那么它将同时拥有IPv4地址和IPv6地址(该IPv4地址和IPv6地址均表示该计算机的因特网协议(Internet Protocol,IP)地址)并具备同时处理这两个因特网协议地址的功能。
双栈终端:采用了双栈协议技术的终端设备,该双栈终端支既能和IPv4网络通信又能和IPv6网络通信,即双栈终端可以访问IPv4地址,也可以访问IPv6地址。
域名和因特网协议地址:域名(Domain Name)又称网域,是由一串用点分隔的字符组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识;域名是相对于网站来说的,IP地址是相对于网络来说的,每一台设备都有一个唯一的IP地址(即对于支持双协议栈技术的设备而言,每个设备具有一个IPv4地址和一个IPv6地址);一个域名对应一个IP地址或多个IP地址,比如某网站的IP地址可能为(119.75.x1.y1)和(119.75.x2.y2);若上述设备为一个计算机,则针对一个计算机而言,该计算机上可以有多个网站的服务,则该计算机的IP地址便会对应多个域名;针对一个域名而言,该域名对应的网站的服务可能由多个计算机提供,则该域名便会对应多个IP地址。
网络环境:网络环境指双栈终端所处的网络通信环境,网络环境从双栈终端连通的无线接入点获得;本申请实施例中可以将双栈终端连通的不同无线接入点(AccessPoint,AP)设置为不同的通信环境,即可以将双栈终端接入不同无线接入点的情况视为双栈终端处于不同的网络环境,一个网络环境对应一个无线接入点,如可以将双栈终端接通无线接入点A的情况视为该双栈终端处于一个网络环境A中,将双栈终端接通无线接入点B的情况视为该双栈终端处于一个网络环境B中,其中无线接入点A和无线接入点B不同,网络环境A和网络环境B不同;本申请实施例中还可以根据一些通信网络的网络参数(如可以但不局限与包括网络带宽、网络吞吐量、误码率、网络传输速率等)设置不同的网络环境,如可以将网络带宽在不同的带宽范围的网络通信环境视为不同的网络环境,或将网络吞吐量在不同的吞吐量范围的网络通信环境设置为不同的网络环境等。
当前网络环境:本申请实施例中的当前网络环境从双栈终端当前接通的无线接入点获取;其中若以双栈终端连通的不同无线接入点区分不同的通信环境时,则当前网络环境与双栈终端当前连接的无线接入点对应;若以上述网络参数区分不同的网络环境,则当前网络环境可以为双栈终端当前捷通的无线接入点提供的通信网络的网络参数对应的网络环境。
下面对本申请的设计思想进行说明。
双栈终端在通过域名访问请求对目标网站进行网络访问时,域名服务器会根据域名访问请求确定目标网站的多个IPv6地址和多个IPv4地址;终端设备接收域名服务器返回的多个IPv6地址和多个IPv4地址后,将接收的多个IPv6和多个IPv4地址中进行排序后优先选择IPv6地址进行连通,在IPv6地址连通失败后才去与排列在其之后的IPv4地址进行连通;一方面,一些IPv6地址可能由于异常而无法连通,而异常的IPv6地址可能被优先进行连通,且只有在确定这些IPv6地址连通失败后,才能与排列在其之后的IPv4地址进行连通,故而消耗了不必要的性能且影响了域名访问请求对应的因特网协议地址的连通效率,进而严重影响双栈终端进行网络访问的效率;另一方面,双栈终端中只有少数用于连通因特网协议地址的线程,若短时间内创建了多个域名访问请求,则上述线程可能被一些无法连通IPv6地址的域名访问请求占用,进而无法使用这些线程去连通其它的域名访问请求对应的因特网协议地址,因此会造成线程阻塞,严重影响双栈终端进行网络访问的访问成功率和效率,因此如何提升双栈终端进行网络访问的效率和访问成功率成为了需要考虑的问题。
鉴于此,发明人设计了一种双栈终端的网络访问方法、装置、设备及可读存储介质;考虑到相关技术中双栈终端是无条件的优先选择排列在前的IPv6地址进行连通,且这些排列在前的IPv6地址可能是故障IPv6地址而无法连通,从而影响双栈终端连通根据域名访问请求返回的因特网协议地址,因此发明人考虑以一定的方法识别出返回的IPv6地址中无法连通的故障IPv6地址,进而在双栈终端连通根据域名访问请求返回的因特网协议地址时,优先连接除故障IPv6地址之外的因特网协议地址,从而避免优先与故障IPv6地址进行连通消耗不必要的时间和性能;且考虑到故障IPv6地址可能只是在当前时刻连接不通,而由于双栈终端的位置、环境、网络等的影响,这些故障IPv6地址可能并不是一直无法连通的,因此为进一步提升双栈终端的网络访问的访问效率,本申请实施例中的故障IPv6地址可以根据历史域名访问请求对应的IPv6地址的连通结果确定并更新。
更进一步,考虑到不同网络环境下,双栈终端能连通的IPv6地址和无法连通的IPv6地址会有所不同,因此为了更准确地提升双栈终端进行网络访问的访问效率,本申请实施例中可以针对双栈终端所处网络环境(即双栈终端接入的无线接入点)的不同,分别在本地保存一个与各网络环境对应的故障IPv6地址集合且更新,进而根据在双线终端进行网络访问时,根据当前网络环境对应的故障IPv6地址集合中的故障IPv6地址,快速且准确地从当前接收的IPv6地址中确定出当前网络环境下的故障IPv6地址,从而提升双栈终端在不同网络环境下进行网络访问的效率。
为了更清楚地理解本申请的设计思路,以下对本申请实施例的应用场景进行示例介绍。
请参照图1,表示一种应用场景,该应用场景中包括至少一个终端设备110和服务器120;其中终端设备110和服务器120之间可以通过网络进行通信,上述通信网络可以但不局限于为局域网、广域网等。
终端设备110(如可以但不局限于包括图中的110-1或110-2)向服务器120发送针对目标网站的域名访问请求;并接收服务器120返回的目标网站的至少一个IPv4地址和至少一个IPv6地址;以及基于本地中当前网络环境对应的故障IPv6地址集合,确定接收的IPv6地址中在当前网络环境下的故障IPv6地址,对接收的IPv4地址和接收的IPv6地址进行排序处理,其中将故障IPv6地址排列非故障IPv6地址之后,进而基于各IPv4地址和各IPv6地址的排列顺序,访问目标网站;其中非故障IPv6地址包括上述至少一个IPv6地址中上述故障IPv6地址之外的IPv6地址和上述至少一个IPv4地址。
服务器120(如可以但不局限于包括图中的服务器120-1、120-2或120-3)可以是域名系统中的服务器,服务器120接收终端设备110发送的域名访问请求,从本地缓存或者外网的域名系统中的服务器130(如可以但不局限于包括图中的服务器130-1、130-2或130-3)中获取目标网站的地址记录,并将从地址记录中获取的目标网站的至少一个IPv4地址和至少一个IPv6地址发送给终端设备110。
在本申请实施例中,终端设备110可以但不局限于为用户使用的电子设备,该电子设备可以是个人计算机、手机、平板电脑、笔记本、电子书阅读器等具有一定计算能力并且运行有即时通信类软件及网站或者社交类软件及网站的计算机设备。各终端设备110通过无线网络与服务器120连接,服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、安全服务、CDN(Content Delivery Network,内容对象分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
基于图1的应用场景,下面对本申请实施例中涉及的双栈终端的网络访问方法进行示例说明。
以下内容首先对本申请实施例提供的故障IPv6地址集合进行详细的描述。
作为一种实施例,本申请实施例中双栈终端可以在本地维护与双栈终端所处的网络环境对应的故障IPv6地址集合,该故障IPv6地址集合中包括以往连通失败的IPv6地址,该故障IPv6地址集合可以根据历史域名访问请求对应的IPv6地址的连通结果确定并更新。
考虑到不同网络环境下,双栈终端能连通的IPv6地址和无法连通的IPv6地址会有所不同,因此为了更准确地提升双栈终端进行网络访问的访问效率,双栈终端针对每个网络环境在本地保存并维护一个故障IPv6地址集合;本申请实施例的以下内容中,以双栈终端接入的不同无线接入点区分不同的网络环境进行示例性说明,这种情况下,一个网络环境对应的故障IPv6地址,是该双栈终端在接通该网络环境对应的无线接入点时连接失败的IPv6地址。
具体地,双栈终端可以在初始创建一个网络环境对应的故障IPv6地址集合后,可以在该网络环境下与历史域名访问请求对应的IPv6地址进行连通的过程中,更新该网络环境对应的故障IPv6地址集合;本申请实施例中的故障IPv6地址可以保存在双栈终端的缓存中,且故障IPv6地址中可以但不局限于是一个地址列表,即该地址列表中可以但不局限于键值对(key-value)的形式将故障IPv6地址记录到双栈终端本地的缓存中。
作为一种实施例,上述连通结果包括连通成功和连通失败;针对一个IPv6地址而言,可以将双栈终端与该IPv6地址建立连接的时长未达到第一时长阈值时连通该IPv6地址确定为连通成功,将双栈终端与该IPv6地址建立连接的时长达到第一时长阈值时未连通该IPv6地址确定为连通失败;对上述第一时长阈值不做限定,本领域的技术人员可根据实际需求设置,如可以但不局限于将第一时长阈值设置为100毫秒至300毫秒之间,如可以将第一时长阈值设置为100毫秒、150毫秒、200毫秒、250毫秒或300毫秒等。
请参见图2,在当前网络环境下,双栈终端与一个IPv6地址进行连通的过程,具体包括如下步骤:
步骤S201,双栈终端在当前网络环境下,与IPv6地址进行连通(即与IPv6地址建立通信连接)。
步骤S202,确定在第一时长阈值内该IPv6地址是否连通成功,若连通成功则进入步骤S203,否则进入步骤S205。
步骤S203,确定本地中当前网络环境对应的故障IPv6地址集合中是否包含该IPv6地址,若包含,则进入步骤S204,否则进入步骤S207。
步骤S204,从本地中当前网络环境对应的故障IPv6地址集合中删除该IPv6地址,进入步骤S207。
步骤S205,确定本地中当前网络环境对应的故障IPv6地址集合中是否包含该IPv6地址,若不包含,则进入步骤S206,否则进入步骤S207。
步骤S206,将该IPv6地址增加到本地中当前网络环境对应的故障IPv6地址集合中,进入步骤S207。
步骤S207,结束与该IPv6地址进行连通的过程。
作为一种实施例,考虑到随着环境的改变,历史连通失败的IPv6地址在当前时刻可能会连通成功,历史连通成功的IPv6地址在当前时刻可能会连通失败,故而上述过程中双栈终端可以根据与历史域名访问请求对应的IPv6地址的连通结果不断更新故障IPv6地址集合;但在具体的实施场景中,可能存在双栈终端较长时间内没有发送域名访问请求的情况,这种情况下仅基于与历史域名访问请求对应的IPv6地址的连通结果更新故障IPv6地址集合会存在更新不及时的现象,导致故障IPv6地址集合中的一些能连通成功的故障IPv6地址没有被及时删除,使得故障IPv6地址集合中的故障IPv6地址的信息不准确;鉴于此,本申请实施例中还提供一种针对故障IPv6地址集合进行连通性测试方法,以下对此进行详细介绍。
具体地,可以根据设定的更新触发规则,对本地的故障IPv6地址集合中的各个故障IPv6地址进行连通性测试,其中当测试结果表明故障IPv6地址恢复连通时,从故障IPv6地址集合中删除恢复连通的IPv6地址;其中可以但不局限于将与故障IPv6地址进行连通后,在第二时长阈值内该故障IPv6地址连通成功的情况,确定为表明故障IPv6地址恢复连通的测试结果,对上述第二时长阈值不做限定,本领域的技术人员可根据实际需求设置,如可以但不局限于将第二时长阈值设置为100毫秒至300毫秒之间,如可以将第二时长阈值设置为100毫秒、150毫秒、200毫秒、250毫秒或300毫秒等。
作为一种实施例,为了进一步提升双栈终端进行网络访问的效率,本申请实施例中还可以设置各故障IPv6地址的连通参考值,以使得双栈终端根据各故障IPv6地址的连通参考值,确定与接收的IPv6地址中的各故障IPv6地址进行连通的优先顺序;其中上述连通参考值用于表示故障IPv6地址连通失败的连通失败程度,该连通失败程度越大则表征该故障IPv6地址连通成功的可能性越低,该连通失败程度可以但不局限地根据故障IPv6地址的连通失败的时长或进行连通性测试的次数确定,且该连通参考值可以与连通失败程度成正相关,也可以与连通失败程度成负相关。
如可以但不局限于将故障IPv6地址增加到故障IPv6地址集合中的时刻和当前时刻的时间差确定为该故障IPv6地址的连通参考值;或,将故障IPv6地址增加到故障IPv6地址集合中的时刻和最后一次进行连通性测试的时间差,确定为该故障IPv6地址的连通参考值;或,将对该故障IPv6地址进行连通性测试的次数,确定为该故障IPv6地址的连通参考值等。
进一步,本申请实施例中还可以在进行连通性测试时,更新故障IPv6地址中的各故障IPv6地址的连通参考值,如连通参考值可以与连通失败程度成正相关,可以在初次将一个故障IPv6地址添加到故障IPv6地址集合中时,为该故障IPv6地址设置一个初始的连通参考值,当在对该故障IPv6地址进行连通性测试时,在该故障IPv6地址进行连通性测试的测试结果表明故障IPv6地址未恢复连通时,增大该故障IPv6地址的连通参考值,此处可以将测试结果表明该故障IPv6地址未恢复连通的连通性测试次数,确定为该故障IPv6地址的连通参考值等。
作为一种实施例,若一个故障IPv6地址的连通失败程度满足一定条件时,可以增大对该故障IPv6地址进行连通性测试的时间周期;具体地,连通参考值与连通失败程度成正相关时,当一个故障IPv6地址的连通参考值达到第一连通参考阈值,则将该故障IPv6地址进行连通性测试的时间周期设置为目标时间周期;上述连通参考值与连通失败程度成负相关时,当一个故障IPv6地址的连通参考值未达到第二连通参考阈值,则可以但不局限于将该故障IPv6地址进行连通性测试的时间周期设置为目标时间周期,对上述第一连通参考阈值和第二连通参考阈值不做限定,本领域的技术人员可根据实际需求设置;对上述目标时间周期不做限定,本领域的技术人员可以但不局限于将目标时间周期设置为N天,上述N为正整数,如将目标时间周期设置为1天、5天或10天等。
作为一种实施例,上述设定的更新触发规则可以但不局限于是:满足测试触发条件时,触发故障IPv6地址集合的连通性测试,进而对本地的故障IPv6地址集合中的各个故障IPv6地址进行连通性测试;上述测试触发条件可以但不局限包括如下几种:
第一种测试触发条件:双栈终端创建域名访问请求时。
具体地,双栈终端每次发送域名访问请求时,触发故障IPv6地址集合的连通性测试,即在某一网络环境下,双栈终端每次发送域名访问请求时,触发该网络环境对应的故障IPv6地址集合的连通性测试。
第二种测试触发条件:当前时刻与故障IPv6地址集合的上一次进行更新的时刻的时间差满足第三时长阈值。
即针对某一网络环境对应的故障IPv6地址集合,若当前时刻与该故障IPv6地址集合的上一次进行更新的时刻的时间差满足第三时长阈值,则触发该故障IPv6地址集合的连通性测试。
上述故障IPv6地址集合的上一次进行更新的时刻,可以是根据与历史域名访问请求对应的IPv6地址的连通结果更新故障IPv6地址集合的时刻,也可以是上一次触发故障IPv6地址集合的连通性测试的时刻,还可以是上一次故障IPv6地址集合的连通性测试的完成时刻等。
对第三时长阈值不做限定,本领域的技术人员可根据实际需求设置,将其设置为1小时、5小时或24小时等。
第三种测试触发条件:当前时刻与上一次触发故障IPv6地址集合的连通性测试的时刻的时间差满足第四时长阈值。
即针对某一网络环境对应的故障IPv6地址集合,当前时刻与上一次触发该故障IPv6地址集合的连通性测试的时刻的时间差满足第四时长阈值,则触发该故障IPv6地址的连通性测试。
对上述第四时长阈值不做限定,本领域的技术人员可根据实际需求设置,将其设置为1小时、5小时或24小时等。
以下内容提供一个对网络环境对应的故障IPv6地址集合进行连通性测试的具体示例,该示例中,以测试结果表明故障IPv6地址未恢复连通的连通性测试次数为故障IPv6地址的连通参考值为例进行说明,请参见图3,具体包括如下步骤:
步骤S301,确定待测试的故障IPv6地址集合满足设定的更新触发规则。
上述待测试的故障IPv6地址集合可以是某一网络环境对应的故障IPv6地址集合,此处不做过多限定,可以根据实际需求从多个网络环境对应的故障IPv6地址集合中,选取一个或多个故障IPv6地址集合作为待测试的故障IPv6地址集合。
步骤S302,从待测试的故障IPv6地址集合中选取一个本次未进行连通性测试的故障IPv6地址。
步骤S303,确定选取的故障IPv6地址的故障参考值是否达到第一连通参考阈值,若达到则进入步骤S304,若未达到,则进入步骤S305。
步骤S304,确定当前时刻与选取的故障IPv6地址上一次进行连通性测试的时刻的时间差,是否达到目标时间周期,若达到则进入步骤S305,否则进入步骤S309。
步骤S305,与选取的故障IPv6地址进行连通。
步骤S306,确定在第二时长阈值内选取的故障IPv6地址是否连通成功,若是则进入步骤S307,否则进入步骤S308。
步骤S307,确定选取的故障IPv6地址恢复连通,从待测试的故障IPv6地址集合中删除恢复该选取的故障IPv6地址,并进入步骤S309。
步骤S308,确定选取的故障IPv6地址未恢复连通,将选取的故障IPv6地址的连通参考值加1,并进入步骤S309。
步骤S309,确定待测试的故障IPv6地址集合中是否有本次未进行连通性测试的故障IPv6地址,若有则进入步骤S302,否则进入步骤S310。
步骤S310,结束本次对待测试的故障IPv6地址集合的连通性测试。
请参照图4,表示本申请实施例设计的双栈终端的网络访问的方法的过程,具体包括如下步骤:
步骤S401,向服务器发送针对目标网站的域名访问请求。
具体地,该域名访问请求中可以指示目标网站的域名,该域名用于使服务器获取该域名对应的目标网站的因特网协议地址。
步骤S402,接收至少一个IPv4地址和至少一个IPv6地址,接收的IPv4地址和IPv6地址是服务器根据上述域名访问请求确定的目标网站的因特网协议地址。
具体地,可能由一个设备或多个设备提供目标网站的服务,每个提供目标网站的服务的设备均具有一个IPv4地址和一个IPv6地址,因此,服务器会根据对域名访问请求指示的域名的解析结果,返回至少一个IPv4地址和至少一个IPv6地址。
步骤S403,基于本地中当前网络环境对应的故障IPv6地址集合,确定接收的IPv6地址中在当前网络环境下的故障IPv6地址;故障IPv6地址集合根据历史域名访问请求对应的IPv6地址的连通结果确定并更新的。
本申请实施例中,双栈终端针对不同的无线接入点提供的网络环境,分别在本地维护了对应的故障IPv6地址集合,则在步骤S403中可以获取双线终端当前连通的无线接入点所对应的故障IPv6地址集合,进而基于获取的故障IPv6地址集合,确定上述双栈终端接收的一个IPv6地址中在当前网络环境下的故障IPv6地址;具体地,可以将接收的各IPv6地址中在当前网络环境对应的故障IPv6地址集合中记录的IPv6地址,确定为接收的IPv6地址中在当前网络环境下的故障IPv6地址。
关于故障IPv6地址集合的介绍可参见上述内容,此处不再重复描述。
步骤S404,对接收的至少一个IPv4地址和至少一个IPv6地址进行排序处理,该排序处理中将确定的故障IPv6地址排列在非故障IPv6地址之后,非故障IPv6地址包括上述至少一个IPv6地址中故障IPv6地址之外的IPv6地址和上述至少一个IPv4地址。
作为一种实施例,考虑到优先与非故障IPv6地址进行连通,能提升与接收的因特网协议地址进行连通时连通成功的效率,因此,本申请实施例中在对接收的IPv4地址和IPv6地址进行排序处理时,可以将各IPv4地址和各IPv6地址进行交替排序,得到第一地址序列,进而确定第一地址序列中的故障IPv6地址,并将第一地址序列中的故障IPv6地址,排列至第一地址序列中的非故障IPv6地址之后;其中第一地址序列中的第i个IPv6地址排列在第i个IPv4地址之前,上述i为正整数。
步骤S405,基于上述至少一个IPv4地址和至少一个IPv6地址的排列顺序,访问目标网站。
具体地可以基于接收的一个IPv4地址和至少一个IPv6地址,在步骤S404得到的地址序列中的排列顺序,优先选取排列顺序靠前的一个IPv4地址或IPv6地址为当前协议地址进行连通;当选取的当前协议地址连通成功时,则访问上述目标网站;当选取的当前协议地址连通失败时,则重新选取排列顺序靠前的下一个IPv4地址或IPv6地址为当前协议地址进行连通。
例如,请参见图5,若在步骤S402中接收的IPv4地址有IPv4地址A1、IPv4地址A2和IPv4地址A3,接收的IPv6地址有IPv6地址B1、IPv6地址B2和IPv6地址B3,步骤S404对接收的至少一个IPv4地址和至少一个IPv6地址进行排序处理,得到的排序后的地址序列为{IPv6地址B3、IPv4地址A3、IPv4地址A1、IPv6地址B2、IPv4地址A2、IPv6地址B1},则步骤S405中,双栈终端先选取IPv6地址B3为当前协议地址,与选取的IPv6地址B3进行连通,若IPv6地址B3连通成功则访问目标网站,若IPv6地址B3连通失败,则断开连通,并选取IPv4地址A3为当前协议地址,与选取的IPv4地址A3进行连通,以此类推,直至选取的当前协议地址连通成功或地址序列中的因特网协议地址全部连接失败。
进一步,为了提升本地的故障IPv6地址集合中的故障IPv6地址的准确度,本申请实施例中在步骤S405中,还可以基于各接收的IPv6地址的连接结果更新故障IPv6地址集合,具体地,在双栈终端与各IPv6地址进行连通后,当本地的故障IPv6地址集合中包含连通成功的IPv6地址时,则可以从故障IPv6地址集合中删除连通成功的IPv6地址;或者当本地的故障IPv6地址集合中未包含连通失败的IPv6地址时,则可以将连通失败的IPv6地址增加到故障IPv6地址集合中。
作为一种实施例,若在步骤S405中确定选取的当前协议地址连通失败时,可以将当前协议地址发送给服务器,以向服务器指示当前协议地址连通故障;对应地,服务器在接收到连通故障的当前协议地址之后,可以通知运维人员对该当前协议地址进行检测;或者,服务器在接收到连通故障的当前协议地址之后,在接下来的一段时间中不再向该双栈终端发送该当前协议地址,以减少与之后的域名访问请求的因特网协议地址进行连通的性能消耗和时间消耗,进而能提升双栈终端之后进行网络访问的访问效率。
作为一种实施例,本申请实施例中服务器在将目标网站的IPv4地址和IPv6地址发送给双栈终端时,还可以将IPv4地址和IPv6地址的参考信息发送给双栈终端,以便双栈终端在步骤S404中还可以基于接收的各IPv4地址和各IPv6地址的参考信息进行交替排序。
具体地,上述参考信息可以但不局限于是服务器确定各因特网协议地址(即目标网站的各IPv4地址和各IPv6地址)的时刻,该情况下,若服务器确定各IPv4地址的时刻的先后顺序为IPv4地址A1、IPv4地址A2和IPv4地址A3,服务器确定各IPv6地址的时刻的先后顺序为IPv6地址B1、IPv6地址B2和IPv6地址B3(其中,IPv4地址A1和IPv6地址B1为同一个设备的因特网协议地址,IPv4地址A2和Pv6地址B2为同一个设备的因特网协议地址,IPv4地址A3和IPv6地址B3为同一个设备的因特网协议地址),则双栈终端对接收的各IPv4地址和各IPv6地址进行交替排序后,得到的第一地址序列为{IPv6地址B1、IPv4地址A1、IPv6地址B2、IPv4地址A2、IPv6地址B3、IPv4地址A3}。
进一步,考虑到同一个提供目标网站服务的设备响应访问请求的数量过多时,可能会影响访问的质量,因此,上述参考信息可以是因特网协议地址(即目标网站的各IPv4地址和各IPv6地址)对应的设备的访问热度,该访问热度表征各因特网协议地址对应的设备响应访问请求的数量;具体地,本申请实施例中服务器向双栈终端发送至少一个IPv4地址和至少一个IPv6地址时,可以携带至少一个IPv4地址和至少一个IPv6地址中各个因特网协议地址对应的设备的访问热度,进而双栈设备可以基于各个因特网协议地址对应的设备的访问热度,将接收的各IPv4地址和各IPv6地址进行交替排序。
例如,双栈终端接收IPv4地址A1、IPv4地址A2和IPv4地址A3,接收的各IPv4地址对应的设备的访问热度从高到低为IPv4地址A3、IPv4地址A1和IPv4地址A2,对应地,双栈终端接收IPv6地址B1、IPv6地址B2和IPv6地址B3,接收的各IPv6地址对应的设备的访问热度从高到低为IPv6地址B3、IPv6地址B1和IPv6地址B2(其中IPv4地址A1和IPv6地址B1为同一设备的因特网协议地址,IPv4地址A2和Pv6地址B2为同一设备的因特网协议地址,IPv4地址A3和IPv6地址B3为同一设备的因特网协议地址),则此处得到的第一地址序列为{IPv6地址B3、IPv4地址A3、IPv6地址B1、IPv4地址A1、IPv6地址B2、IPv4地址A2}。
考虑到双栈终端和提供目标网站的服务的设备间的距离,可能会影响到双栈终端和提供服务的设备间的通信质量,进而可能影响到双栈终端进行网络访问的访问质量,因此上述因特网协议地址的参考信息还可以是上述因特网协议地址(即目标网站的各IPv4地址和各IPv6地址)对应的设备与上述双栈终端的距离。
应当说明的是,本申请实施例中因特网协议地址的参考信息,可以是上述服务器确定各因特网协议地址的时刻、因特网协议地址对应的设备的访问热度以及因特网协议地址对应的设备与双栈终端的距离之外的其它参考信息,本领域的技术人员可根据实际需求设置。
作为一种实施例,若故障IPv6地址集合中记录有各故障IPv6地址的连通参考值,则为了进一步提升双栈终端进行网络访问的效率,在步骤S404中双栈终端还可以根据接收的IPv6地址中的各故障IPv6地址的连通参考值,确定接收的IPv6地址中的各故障IPv6地址的排列顺序,如故障IPv6地址的连通参考值与连通失败程度成正相关时,可以将第一地址序列中故障参考值越小的故障IPv6地址的排列在顺序越靠前的位置。
此处给出一个示例,如将各IPv4地址和各IPv6地址进行交替排序,得到第一地址序列为{IPv6地址B3、IPv4地址A3、IPv6地址B1、IPv4地址A1、IPv6地址B2、IPv4地址A2},其中IPv6地址B3和IPv6地址B2均为故障IPv6地址,连通参考值和连通失败程度成正比且IPv6地址B3的连通参考值大于IPv6地址B2的连通参考值,则此处将第一地址序列中的故障IPv6地址排列至非故障IPv6地址之后,得到的地址序列为{IPv4地址A3、IPv6地址B1、IPv4地址A1、IPv4地址A2、IPv6地址B3、IPv6地址B2},请参见图6;将第一地址序列中的故障IPv6地址排列至非故障IPv6地址之后,且根据各故障IPv6地址的连通参考值确定接收的IPv6中的各故障IPv6地址的排列顺序,得到排序后的地址序列为{IPv4地址A3、IPv6地址B1、IPv4地址A1、IPv4地址A2、IPv6地址B2、IPv6地址B3},请参见图7。
请参见图8,提供一个双栈终端通过域名访问请求进行网络访问的完整过程的示例,该示例中本地的故障IPv6地址集合可以是上述当前网络环境对应的IPv6地址集合,该过程具体包括如下步骤:
步骤S801,接收服务器返回的因特网协议地址。
步骤S802,确定接收到因特网协议地址是否是双栈协议地址,若是,则进入步骤S803,否则进入步骤S806;
其中,若接收的因特网协议地址中包含至少一个IPv4地址和上述至少一个IPv6地址,则确定接收到因特网协议地址是双栈协议地址,否则,则确定接收到因特网协议地址不是双栈协议地址。
步骤S803,将至少一个IPv4地址和至少一个IPv6地址进行交替排序,得到第一地址序列,并进入步骤S804。
步骤S804,基于本地的故障IPv6地址集合,确定接收的至少一个IPv6地址中的故障IPv6地址,并进入步骤S805。
步骤S805,将第一地址序列中的故障IPv6地址,排列至第一地址序列中的非故障IPv6地址之后,得到排序后的地址序列,进入步骤S807。
步骤S806,与返回的因特网协议地址进行连通,并确定是否连通成功,若成功则进入步骤S817,否则进入步骤S816。
步骤S807,基于排序后的地址序列,优先从未进行连通的Pv4地址和IPv6地址中,选取排列顺序靠前的一个IPv4地址或IPv6地址为当前协议地址进行连通,进入步骤S808。
步骤S808,确定当前协议地址是否连通成功,若连通成功则进入步骤S809,否则进入步骤S812;
步骤S809,确定当前协议地址是否是IPv6地址,若是则进入步骤S810,否则进入步骤S817。
步骤S810,确定本地的故障IPv6地址集合中是否包含当前协议地址,若包含,则进入步骤S811,否则进入步骤S817。
步骤S811,从本地的故障IPv6地址集合中删除当前协议地址,并进入步骤S817。
步骤S812,确定当前协议地址是否是IPv6地址,若是,则进入步骤S813,否则进入步骤S815。
步骤S813,确定本地的故障IPv6地址集合中是否包含当前协议地址,若不包含则进入步骤S814,否则进入步骤S815。
步骤S814,将当前协议地址增加到本地的故障IPv6地址集合中,并进入步骤S815。
步骤S815,判断地址序列中是否存在未进行连通的Pv4地址和IPv6地址,若存在,则进入步骤S807,否则进入步骤S816。
步骤S816,因特网协议地址连通失败,无法访问。
步骤S817,访问目标网站。
本申请实施例中将服务器返回的IPv6地址中,在当前网络环境下的故障IPv6地址放在最后进行连通,即本申请实施例中优先与在当前环境下不故障的IPv6地址和IPv4地址进行连通,避免了优先与在当前环境下故障的IPv6进行连通造成时间损耗和性能消耗;一方面,针对单个的域名访问请求而言,提升了单个域名访问请求对应的因特网协议地址的连通效率,进而提升了双栈终端进行网络访问的效率;针对多个域名访问请求而言,由于提升了单个域名访问请求对应的因特网协议地址的连通效率,因此能尽可能的避免线程阻塞的现象,进而能提升多个域名访问请求的因特网协议地址的连通效率,提升多个域名访问请求进行网络访问的访问效率和访问成功率;如当双栈终端上某个应用APP根据用户的访问指示,在短时间内向该APP对应的服务器发送了大量的域名访问请求,此时采用本申请实施例提供的网络访问的方法,能够提升双栈终端与根据每个域名访问请求返回的因特网协议地址的连通效率,进而使得上述大量的域名访问请求能尽快被响应,避免了该APP中的连通线程被无法连通IP地址的域名访问请求占用,从而能提升上述大量的域名访问请求的访问成功率,同时提升了该APP对应的服务器的响应效访问请求的效率。
另一方面,本申请实施例中针对双栈终端所处的不同网络环境,分别在双栈终端本地维护一个对应的IPv6地址集合,可以识别出不同网络环境下的故障IPv6地址,进而将在不同网络环境中,都可以将对应的故障IPv6地址放在最后进行连通,避免了优先与故障IPv6地址进行连通造成时间损耗和性能消耗,提升了不同网络环境下与因特网协议地址进行连通的连通效率,进而提升双栈终端在不同网络环境下进行网络访问的效率。
请参照图9,基于同一发明构思,本申请实施例提供一种网络访问装置900,包括:
信息发送单元901,用于向服务器发送针对目标网站的域名访问请求;
信息接收单元902,用于接收至少一个第四版因特网协议IPv4地址和至少一个第六版因特网协议IPv6地址,上述至少一个IPv4地址和上述至少一个IPv6地址是上述服务器根据上述域名访问请求确定的上述目标网站的因特网协议地址;
第一处理单元903,用于基于本地中当前网络环境对应的故障IPv6地址集合,确定上述至少一个IPv6地址中在上述当前网络环境下的故障IPv6地址;上述当前网络环境从当前连通的无线接入点获得,上述故障IPv6地址集合根据历史域名访问请求对应的IPv6地址的连通结果确定并更新的;
第二处理单元904,用于对上述至少一个IPv4地址和上述至少一个IPv6地址进行排序处理,上述排序处理中将上述故障IPv6地址排列在非故障IPv6地址之后,上述非故障IPv6地址包括上述至少一个IPv6地址中上述故障IPv6地址之外的IPv6地址和上述至少一个IPv4地址;
网络访问单元905,用于基于上述至少一个IPv4地址和上述至少一个IPv6地址的排列顺序,访问上述目标网站。
作为一种实施例,第二处理单元904具体用于:将各IPv4地址和各IPv6地址进行交替排序,得到第一地址序列,上述第一地址序列中的第i个IPv6地址排列在第i个IPv4地址之前,上述i为正整数;确定上述第一地址序列中的故障IPv6地址;将上述第一地址序列中的故障IPv6地址,排列至上述第一地址序列中的上述非故障IPv6地址之后。
作为一种实施例,网络访问单元905具体用于:基于上述至少一个IPv4地址和上述至少一个IPv6地址的排列顺序,优先选取排列顺序靠前的一个IPv4地址或IPv6地址为当前协议地址进行连通;
当选取的当前协议地址连通成功时,则访问上述目标网站;并当选取的当前协议地址连通失败时,则重新选取排列顺序靠前的下一个IPv4地址或IPv6地址为当前协议地址进行连通;以及
当上述故障IPv6地址集合中包含连通成功的IPv6地址时,从上述故障IPv6地址集合中删除连通成功的IPv6地址;或者当上述故障IPv6地址集合中未包含连通失败的IPv6地址时,将连通失败的IPv6地址增加到上述故障IPv6地址集合中。
作为一种实施例,网络访问单元905还用于选取的当前协议地址连通失败时之后,将上述当前协议地址发送给上述服务器,以通知上述服务器当前协议地址连通故障。
作为一种实施例,网络访问单元905还用于:根据设定的更新触发规则,对上述故障IPv6地址集合中的各个故障IPv6地址进行连通性测试;当测试结果表明故障IPv6地址恢复连通时,从上述故障IPv6地址集合中删除恢复连通的IPv6地址。
作为一种实施例,第二处理单元904还用于:根据连通性测试的次数,记录上述故障IPv6地址中的各个故障IPv6地址的连通参考值;以及按照上述第一地址序列中的各故障IPv6地址的连通参考值的大小,对上述第一地址序列中的各故障IPv6地址进行排序。
作为一种实施例,图9中的装置可以用于实现前文论述的任意一种双栈终端的网络访问方法。
基于同一发明构思,本申请实施例提供一种终端设备,下面对该双栈终端(即上述终端设备110)进行介绍。
请参照图10,该终端设备110包括显示单元1040、处理器1080以及存储器1020,其中,显示单元1040包括显示面板1041,用于显示由用户输入的信息或提供给用户的信息以及各种操作界面等。
可选的,可以但不局限于采用液晶显示器(Liquid Crystal Display,LCD)或有机发光二极管OLED(Organic Light-Emitting Diode)等形式来配置显示面板1041。
处理器1080可以用于读取计算机程序,然后执行读取的计算机程序定义的方法,例如处理器1080读取安装在双栈终端110上的应用等,从而在该双栈终端110上运行应用,在显示单元1040上显示应用的界面。处理器1080可以包括一个或多个通用处理器,还可包括一个或多个DSP(Digital Signal Processor,数字信号处理器),用于执行相关操作,以实现本申请实施例所提供的技术方案。
存储器1020一般包括内存和外存,内存可以为随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)等。外存可以为硬盘、光盘、USB盘、软盘或磁带机等。存储器1020用于存储计算机程序和其他数据,该计算机程序包括安装在双栈终端上的系统的系统程序和应用的应用程序等,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本申请实施例中程序指令存储在存储器1020中,处理器1080执行存储器1020中的程序指令,实现前文论述的任意的一种双栈终端进行网络访问的方法。
此外,双栈终端110还可以包括显示单元1040,用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与双栈终端110的用户设置以及功能控制有关的信号输入等。
具体地,本申请实施例中,该显示单元1040可以包括显示面板1041。显示面板1041例如触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在显示面板1041上或在显示面板1041的操作),并根据预先设定的程式驱动相应的连通装置。可选的,显示面板1041可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。
其中,显示面板1041可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元1040,双栈终端110还可以包括输入单元1030,输入单元1030可以但不局限于包括图像输入设备1031、其他输入设备1032等,如物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
除以上之外,双栈终端110还可以包括用于给其他模块供电的电源1090、音频电路1060、近场通信模块1070和RF电路1010。双栈终端110还可以包括一个或多个传感器1050,例如加速度传感器、光传感器、压力传感器等。音频电路1060具体包括扬声器1061和麦克风1062等,例如双栈终端110可以通过麦克风1062采集用户的声音,进行相应的操作等。
作为一种实施例,处理器1080的数量可以是一个或多个,处理器1080和存储器1020可以是耦合设置,也可以是相对独立设置。
作为一种实施例,图10中的处理器1080可以用于实现如图9中的信息发送单元901、信息接收单元902、第一处理单元903、第二处理单元904以及网络访问单元905的功能。
作为一种实施例,图10中的处理器1080可以用于实现前文论述的双栈终端的网络访问的功能。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例上述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
基于同一技术构思,本申请实施例还一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当上述计算机指令在计算机上运行时,使得计算机执行如前文论述的目标函数确定方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (9)

1.一种双栈终端的网络访问方法,其特征在于,包括:
向服务器发送针对目标网站的域名访问请求;
接收至少一个第四版因特网协议IPv4地址和至少一个第六版因特网协议IPv6地址,所述至少一个IPv4地址和所述至少一个IPv6地址是所述服务器根据所述域名访问请求确定的所述目标网站的因特网协议地址;
基于本地中当前网络环境对应的故障IPv6地址集合,确定所述至少一个IPv6地址中在所述当前网络环境下的故障IPv6地址;所述当前网络环境从当前连通的无线接入点获得,所述故障IPv6地址集合根据历史域名访问请求对应的IPv6地址的连通结果确定并更新的;
将各IPv4地址和各IPv6地址进行交替排序,得到第一地址序列,并确定所述第一地址序列中的故障IPv6地址,将所述第一地址序列中的故障IPv6地址,排列至所述第一地址序列中的所述非故障IPv6地址之后;其中,所述第一地址序列中的第i个IPv6地址排列在第i个IPv4地址之前,所述i为正整数;所述非故障IPv6地址包括所述至少一个IPv6地址中所述故障IPv6地址之外的IPv6地址和所述至少一个IPv4地址;
基于所述至少一个IPv4地址和所述至少一个IPv6地址的排列顺序,访问所述目标网站。
2.如权利要求1所述的方法,其特征在于,所述基于所述至少一个IPv4地址和所述至少一个IPv6地址的排列顺序,访问所述目标网站,包括:
基于所述至少一个IPv4地址和所述至少一个IPv6地址的排列顺序,优先选取排列顺序靠前的一个IPv4地址或IPv6地址为当前协议地址进行连通;
当选取的当前协议地址连通成功时,则访问所述目标网站;并
当选取的当前协议地址连通失败时,则重新选取排列顺序靠前的下一个IPv4地址或IPv6地址为当前协议地址进行连通;以及
所述故障IPv6地址集合根据历史域名访问请求对应的IPv6地址的连通结果确定并更新的,具体包括:
当所述故障IPv6地址集合中包含连通成功的IPv6地址时,从所述故障IPv6地址集合中删除连通成功的IPv6地址;或者当所述故障IPv6地址集合中未包含连通失败的IPv6地址时,将连通失败的IPv6地址增加到所述故障IPv6地址集合中。
3.如权利要求2所述的方法,其特征在于,所述当选取的当前协议地址连通失败时之后,还包括:
将所述当前协议地址发送给所述服务器,以通知所述服务器当前协议地址连通故障。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据设定的更新触发规则,对所述故障IPv6地址集合中的各个故障IPv6地址进行连通性测试;
当测试结果表明故障IPv6地址恢复连通时,从所述故障IPv6地址集合中删除恢复连通的IPv6地址。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
根据连通性测试的次数,记录所述故障IPv6地址中的各个故障IPv6地址的连通参考值;以及
按照所述第一地址序列中的各故障IPv6地址的连通参考值的大小,对所述第一地址序列中的各故障IPv6地址进行排序。
6.一种网络访问装置,其特征在于,包括:
信息发送单元,用于向服务器发送针对目标网站的域名访问请求;
信息接收单元,用于接收至少一个第四版因特网协议IPv4地址和至少一个第六版因特网协议IPv6地址,所述至少一个IPv4地址和所述至少一个IPv6地址是所述服务器根据所述域名访问请求确定的所述目标网站的因特网协议地址;
第一处理单元,用于基于本地中当前网络环境对应的故障IPv6地址集合,确定所述至少一个IPv6地址中在所述当前网络环境下的故障IPv6地址;所述当前网络环境从当前连通的无线接入点获得,所述故障IPv6地址集合根据历史域名访问请求对应的IPv6地址的连通结果确定并更新的;
第二处理单元,用于将各IPv4地址和各IPv6地址进行交替排序,得到第一地址序列,并确定所述第一地址序列中的故障IPv6地址,将所述第一地址序列中的故障IPv6地址,排列至所述第一地址序列中的所述非故障IPv6地址之后;其中,所述第一地址序列中的第i个IPv6地址排列在第i个IPv4地址之前,所述i为正整数;所述非故障IPv6地址包括所述至少一个IPv6地址中所述故障IPv6地址之外的IPv6地址和所述至少一个IPv4地址;
网络访问单元,用于基于所述至少一个IPv4地址和所述至少一个IPv6地址的排列顺序,访问所述目标网站。
7.如权利要求6所述的装置,其特征在于,所述网络访问单元具体用于:
基于所述至少一个IPv4地址和所述至少一个IPv6地址的排列顺序,优先选取排列顺序靠前的一个IPv4地址或IPv6地址为当前协议地址进行连通;
当选取的当前协议地址连通成功时,则访问所述目标网站;并
当选取的当前协议地址连通失败时,则重新选取排列顺序靠前的下一个IPv4地址或IPv6地址为当前协议地址进行连通;以及
当所述故障IPv6地址集合中包含连通成功的IPv6地址时,从所述故障IPv6地址集合中删除连通成功的IPv6地址;或者当所述故障IPv6地址集合中未包含连通失败的IPv6地址时,将连通失败的IPv6地址增加到所述故障IPv6地址集合中。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-5中任一权利要求所述方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-5中任一项所述的方法。
CN202011003779.4A 2020-09-22 2020-09-22 双栈终端的网络访问方法、装置、设备及可读存储介质 Active CN112165538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011003779.4A CN112165538B (zh) 2020-09-22 2020-09-22 双栈终端的网络访问方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011003779.4A CN112165538B (zh) 2020-09-22 2020-09-22 双栈终端的网络访问方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112165538A CN112165538A (zh) 2021-01-01
CN112165538B true CN112165538B (zh) 2023-04-18

Family

ID=73862650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011003779.4A Active CN112165538B (zh) 2020-09-22 2020-09-22 双栈终端的网络访问方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112165538B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572865B (zh) * 2021-07-22 2022-12-13 中国建设银行股份有限公司 一种双栈流量切换方法、装置、存储介质和设备
CN115022277A (zh) * 2022-06-22 2022-09-06 支付宝(杭州)信息技术有限公司 一种双栈网络下的业务处理方法、装置以及设备
CN115412531A (zh) * 2022-08-31 2022-11-29 深圳市创维软件有限公司 网络查询方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103109517A (zh) * 2012-09-28 2013-05-15 华为技术有限公司 一种双栈终端访问服务器的方法、终端和系统
CN103888552A (zh) * 2012-12-24 2014-06-25 中国电信股份有限公司 快速访问互联网的方法、系统与终端装置
CN104780231A (zh) * 2014-01-10 2015-07-15 中国电信股份有限公司 双栈应用访问方法和装置
CN108573375A (zh) * 2017-03-13 2018-09-25 富士电机株式会社 带通信连接确认处理功能的客户端装置
CN110351115A (zh) * 2019-05-23 2019-10-18 中国平安财产保险股份有限公司 降低网络访问时延的方法、装置、计算机设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692674B (zh) * 2009-10-30 2012-10-17 杭州华三通信技术有限公司 双栈接入的方法和设备
US8423607B2 (en) * 2010-06-01 2013-04-16 Qualcomm Incorporated Fallback procedures for domain name server update in a mobile IP registration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103109517A (zh) * 2012-09-28 2013-05-15 华为技术有限公司 一种双栈终端访问服务器的方法、终端和系统
CN103888552A (zh) * 2012-12-24 2014-06-25 中国电信股份有限公司 快速访问互联网的方法、系统与终端装置
CN104780231A (zh) * 2014-01-10 2015-07-15 中国电信股份有限公司 双栈应用访问方法和装置
CN108573375A (zh) * 2017-03-13 2018-09-25 富士电机株式会社 带通信连接确认处理功能的客户端装置
CN110351115A (zh) * 2019-05-23 2019-10-18 中国平安财产保险股份有限公司 降低网络访问时延的方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
负载均衡实现门户网站双栈访问研究;宫帅,李彬,柴吴军;《无线互联科技》;全文 *

Also Published As

Publication number Publication date
CN112165538A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
CN112165538B (zh) 双栈终端的网络访问方法、装置、设备及可读存储介质
CN111078479B (zh) 一种内存检测模型训练的方法、内存检测的方法及装置
US10303538B2 (en) Computing system issue detection and resolution
US20230385141A1 (en) Multi-factor cloud service storage device error prediction
US8484510B2 (en) Enhanced cluster failover management
US8990411B2 (en) Dynamic connection management on mobile peer devices
US20190102554A1 (en) Security model training and threshold selection
US9710122B1 (en) Customer support interface
CN104639672A (zh) 进行域名解析的方法和装置
US20200177674A1 (en) Dynamic distributor selection for network load balancing
CN107783844A (zh) 一种计算机程序运行异常检测方法、装置和介质
CN106506484A (zh) 一种数据备份的方法、装置及系统
CN114040025A (zh) 一种控制切换网络环境的方法、装置及电子设备
CN110012111B (zh) 一种数据服务集群系统及数据处理方法
CN111538922A (zh) 链接跳转方法、应用客户端、设备及存储介质
US11153173B1 (en) Dynamically updating compute node location information in a distributed computing environment
CN116303085A (zh) 一种测试原因分析方法、装置、设备及存储介质
US20180309736A1 (en) Symmetric multiprocessing management
US20220321457A1 (en) Route discovery for failure detection in computer networks
CN107466394B (zh) 用于在异步窗口化系统中经由命中测试的视图激活的方法和系统
CN116450384A (zh) 一种信息处理方法和相关装置
CN114971662A (zh) 一种数据追踪方法、装置、设备及存储介质
CN112667868A (zh) 一种数据检测方法以及装置
EP3823326B1 (en) System and method for detecting bluetooth security threat, and computer readable medium therefor
CN113381887B (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