CN113489691B - 网络访问方法、装置、计算机可读介质及电子设备 - Google Patents

网络访问方法、装置、计算机可读介质及电子设备 Download PDF

Info

Publication number
CN113489691B
CN113489691B CN202110693487.6A CN202110693487A CN113489691B CN 113489691 B CN113489691 B CN 113489691B CN 202110693487 A CN202110693487 A CN 202110693487A CN 113489691 B CN113489691 B CN 113489691B
Authority
CN
China
Prior art keywords
virtual
address
domain name
server
target domain
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
CN202110693487.6A
Other languages
English (en)
Other versions
CN113489691A (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 CN202110693487.6A priority Critical patent/CN113489691B/zh
Publication of CN113489691A publication Critical patent/CN113489691A/zh
Application granted granted Critical
Publication of CN113489691B publication Critical patent/CN113489691B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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
    • H04L61/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5053Lease time; Renewal aspects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请的实施例提供了一种网络访问方法、装置、计算机可读介质及电子设备。该网络访问方法包括:获取与目标域名相关联的虚拟IP地址,并获取绑定到虚拟IP地址的服务器的状态信息;根据绑定到虚拟IP地址的服务器的状态信息,确定处于异常状态的服务器的数量;若根据数量确定与目标域名关联的第一虚拟IP地址处于异常状态,则在目标域名满足自动剔除条件时,将第一虚拟IP地址从与目标域名相关联的虚拟IP地址中剔除,以使客户端通过访问与目标域名相关联的第二虚拟IP地址访问所述目标域名。本申请实施例的技术方案可以实现域名解析和负载均衡,能够将可用性较低的虚拟IP地址剔除,减少发生雪崩效应的可能性,并能够显著提高域名的可用性。

Description

网络访问方法、装置、计算机可读介质及电子设备
技术领域
本申请涉网络架构技术领域,具体而言,涉及一种网络访问方法、装置、计算机可读介质及电子设备。
背景技术
目前,对于关联了多个虚拟IP地址的域名,当大量流量进入可用性较低的虚拟IP地址时,该虚拟IP地址及对应的服务可能由于无法承接流量而产生雪崩效应,从而降低了域名的可用性。
发明内容
本申请的实施例提供了一种网络访问方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以在减少发生雪崩效应的可能性,并能够显著提高域名的可用性。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种网络访问方法,包括:获取与目标域名相关联的虚拟IP地址,并获取绑定到所述虚拟IP地址的服务器的状态信息;根据绑定到所述虚拟IP地址的服务器的状态信息,确定处于异常状态的服务器的数量;若根据所述数量确定与所述目标域名关联的第一虚拟IP地址处于异常状态,则在所述第一虚拟IP地址满足自动剔除条件时,将所述第一虚拟IP地址从与所述目标域名相关联的虚拟IP地址中剔除,以使客户端通过访问与所述目标域名相关联的第二虚拟IP地址访问所述目标域名,其中,所述自动剔除条件与所述目标域名所关联的虚拟IP地址的数量相关。
根据本申请实施例的一个方面,提供了一种网络访问装置,包括:获取单元,用于获取与目标域名相关联的虚拟IP地址,并获取绑定到所述虚拟IP地址的服务器的状态信息;确定单元,用于根据绑定到所述虚拟IP地址的服务器的状态信息,确定处于异常状态的服务器的数量;剔除单元,用于若根据所述数量确定与所述目标域名关联的第一虚拟IP地址处于异常状态,则在所述目标域名满足自动剔除条件时,将所述第一虚拟IP地址从与所述目标域名相关联的虚拟IP地址中剔除,以使客户端通过访问与所述目标域名相关联的第二虚拟IP地址访问所述目标域名,其中,所述自动剔除条件与所述目标域名所关联的虚拟IP地址的数量相关。
在本申请的一些实施例中,基于前述方案,在将所述第一虚拟IP地址从与所述目标域名相关联的虚拟IP地址中剔除之后,所述剔除单元还用于:若根据所述数量确定所述第一虚拟IP地址能够恢复正常状态,则恢复所述第一虚拟IP地址与所述目标域名的关联关系,以使所述客户端能够通过访问所述第一虚拟IP地址访问所述目标域名。
在本申请的一些实施例中,基于前述方案,所述客户端通过域名系统获取与所述目标域名相关联的第二虚拟IP地址,所述域名系统包括域名与虚拟IP地址的映射关系。
在本申请的一些实施例中,基于前述方案,绑定到同一虚拟IP地址的各服务器被模拟为路由器,所述各服务器直接通过交换机接收来自客户端的访问请求。
在本申请的一些实施例中,基于前述方案,所述服务器部署有配置了OSPF协议的Quagga进程,所述交换机配置有OSPF协议与ECMP协议,绑定到同一虚拟IP地址的所述各服务器与所述交换机之间基于所述ECMP协议同时使用多条网络链路进行数据传输。
在本申请的一些实施例中,基于前述方案,所述服务器还部署有探测进程和应用层进程,所述探测进程用于对所述应用层进程和所述Quagga进程的状态进行探测并上报探测结果;所述确定单元配置为:根据获取到的探测结果,确定提供所述探测结果的服务器是否处于异常状态,其中,所述探测结果是由绑定到所述第一虚拟IP地址的服务器中探测进程上报的;确定绑定到所述第一虚拟IP地址的服务器中处于异常状态的服务器的数量。
在本申请的一些实施例中,基于前述方案,所述确定单元还用于:根据未在指定时间范围内获取到来自目标服务器的探测结果,确定所述目标服务器处于异常状态。
在本申请的一些实施例中,基于前述方案,所述剔除单元还用于:根据获取到的目标探测结果,解除所述目标探测结果对应的服务器与所述第一虚拟IP地址的绑定关系,其中,所述目标探测结果用于标识绑定到所述第一虚拟IP地址的服务器中的应用层进程处于终止态,所述探测进程在探测到所述应用层进程不可用时上报所述应用层进程处于终止态。
在本申请的一些实施例中,基于前述方案,所述目标域名所关联的虚拟IP地址为目标虚拟IP地址,所述剔除单元还用于:若所述目标虚拟IP地址的数量未达到预定数量阈值,则确定所述目标域名不满足自动剔除条件;若所述目标虚拟IP地址的数量达到预定数量阈值且所述目标虚拟IP地址中处于异常状态的目标虚拟IP地址的数量占比未达到预定比例,则确定所述目标域名满足自动剔除条件。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的网络访问方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的网络访问方法。
在本申请的一些实施例所提供的技术方案中,首先,根据绑定到第一虚拟IP地址的服务器中处于异常状态的服务器的数量,确定第一虚拟IP地址是否处于异常状态,然后,在第一虚拟IP地址处于异常状态且第一虚拟IP地址满足自动剔除条件的情况下,可以将第一虚拟IP地址剔除,使第一虚拟IP地址不再与目标域名相关联,客户端可以通过与目标域名相关联的其他虚拟IP地址来访问目标域名。当一个虚拟IP地址处于异常状态时,该虚拟IP地址的可用性较低,因此,本申请实施例能够将可用性较低的虚拟IP地址剔除,减少发生雪崩效应的可能性,并能够显著提高域名的可用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图2示出了根据本申请的一个实施例的网络访问方法的流程图;
图3示出了相关技术中网络访问方法的示例性网络架构的示意图;
图4示出了可以应用本申请实施例的技术方案的示例性网络架构的示意图;
图5示出了可以应用本申请实施例的技术方案的系统架构的详细示意图;
图6示出了根据本申请的一个实施例的确定第一虚拟IP地址是否满足自动剔除条件的流程图;
图7示出了根据本申请的一个实施例的图2中步骤230之后步骤的流程图;
图8示出了根据本申请的一个实施例的对虚拟IP地址进行自动恢复和自动剔除操作的流程图;
图9示出了根据本申请的一个实施例的对服务器实现故障自动剔除的流程图;
图10示出了根据本申请的一个实施例的服务器状态的流转示意图;
图11示出了根据本申请的一个实施例的网络访问装置的框图;
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
终端设备或客户端等网络边缘的设备根据用户提供的域名来访问网络中的站点,但实际上,这些设备是通过IP(Internet Protocol,网际互连协议)地址来访问站点的,这需要靠域名解析来实现。域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS(域名系统,Domain Name System)服务器完成。
为了进一步提高系统的可用性,网络中的站点常设置虚拟IP(Virtual IP)来代替IP地址,以提升服务的可靠性。然而,虚拟IP难免会出现异常或故障情况,此时若大量流量涌入出现异常或故障的虚拟IP,大量网络请求超出了虚拟IP的承载能力,就会导致发生雪崩效应,进而使得域名的可用性降低。
为此,本申请首先提供了一种网络访问方法。本申请实施例提供的网络访问方法可以克服上述缺陷。网络访问方法可以用于访问任何网络实体,比如可以用于访问web站点等服务。
图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构可以包括终端设备110、网络120、交换机设备130、应用服务器140、网关设备150、管理服务器160以及域名服务器170。终端设备110可以通过网络120和交换机设备130访问应用服务器140,终端设备110还可以通过网络120访问域名服务器170,应用服务器140绑定了第一虚拟IP地址,第一虚拟IP地址与域名服务器170中的目标域名相关联。本申请实施例提供的网络访问方法在应用于图1的系统架构中时,具体过程可以如下:首先,管理服务器160持续通过网关设备150获取包括应用服务器140在内的各个绑定了第一虚拟IP地址的各应用服务器的状态信息;接着,当管理服务器160根据判断各应用服务器的状态信息确定第一虚拟IP地址可用性较低时,就向域名服务器170发送指令,从而将第一虚拟IP地址从与目标域名相关联的虚拟IP地址中剔除;最后,当终端设备110需要访问目标域名时,先通过网络120访问域名服务器170,此时由于第一虚拟IP地址已经被剔除,域名服务器170会向终端设备110返回与目标域名相关联的其他虚拟IP地址,终端设备110可以通过访问其他虚拟IP地址实现对目标域名的访问。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如管理服务器160和域名服务器170均可以是多个服务器组成的服务器集群等。
在本申请的一个实施例中,应用服务器140中部署有探测进程、配置了OSPF协议的Quagga进程以及应用层进程,探测进程用于对Quagga进程和应用层进程进行探测,并向管理服务器160上报探测结果;管理服务器160根据探测结果确定应用服务器140是否处于异常状态。
在本申请的一个实施例中,管理服务器160根据绑定了第一虚拟IP地址的各应用服务器中处于异常状态的应用服务器的数量而确定将第一虚拟IP地址从与目标域名相关联的虚拟IP地址中剔除。
在本申请的一个实施例中,管理服务器160根据绑定了第一虚拟IP地址的各应用服务器中处于异常状态的应用服务器的数量确定第一虚拟IP地址能够恢复正常状态,则向域名服务器170发送指令,恢复第一虚拟IP地址与目标域名的关联关系。
需要说明的是,虽然本申请实施例中管理服务器160仅获取一个应用服务器140的状态信息,但易于理解,这里仅为方便阅读而示例性地表示出的应用服务器,在实际情况下,管理服务器160需要通过获取多个应用服务器的状态信息来确定这些应用服务器绑定的虚拟IP地址是否需要剔除;虽然本申请实施例中仅有一个访问应用服务器的终端设备110,但在本申请的其他实施例或者具体应用时,访问应用服务器的终端设备通常是多个,如此,就能够表现出本申请实施例的优势,即在处理大量网络请求时提高域名的可用性。本申请实施例对此不作任何限定,本申请的保护范围也不应因此而受到任何限制。
并且,易于理解,本申请实施例所提供的网络访问方法一般由管理服务器160执行,相应地,网络访问装置一般设置于管理服务器160中。但是,在本申请的其它实施例中,终端设备也可以与管理服务器具有相似的功能,从而执行本申请实施例所提供的网络访问的方案。
在实现本申请提供的网络访问方法时,可以基于一个或多个服务器以及与服务器相交互的终端来实现。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例可以应用于云计算技术中。云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务))平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
在一些可能的场景中,本申请实施提供的网络访问方法还可以基于区块链来实现。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图2示出了根据本申请的一个实施例的网络访问方法的流程图,该网络访问方法可以由具有计算和通信功能的设备来执行,比如可以是图1中所示的管理服务器160。参照图2所示,该网络访问方法至少包括以下步骤:
在步骤210中,获取与目标域名相关联的虚拟IP地址,并获取绑定到虚拟IP地址的服务器的状态信息。
在本申请的一个实施例中,域名系统包括域名与虚拟IP地址的映射关系;获取与目标域名相关联的虚拟IP地址,包括:从域名系统中获取与目标域名相关联的虚拟IP地址。
向域名系统发送包含目标域名的查询请求,域名系统会根据该查询请求查找到与目标域名相关联的虚拟IP地址。
一个虚拟IP地址绑定了一个或多个服务器,当该虚拟IP地址接收到网络请求时,该虚拟IP地址绑定的任意一个服务器都能够用于处理网络请求。
可以存在一个或多个虚拟IP地址与目标域名相关联,通过与目标域名相关联的任意一个虚拟IP地址均可以访问目标域名。
在相关技术中,在访问域名时,实际是先做了域名解析,得到解析到的IP地址进行访问,由于域名解析单次可返回的IP地址有限,因此无法将所有机器都提供域名访问服务。这就会导致以下问题:
1.由于只有一部分机器提供域名访问服务,另一部分则不提供域名访问服务,因此,机器负载不均匀。
2.由于只有一部分机器可以提供域名访问服务,因此域名可承载的最大容量有限。
而在本申请实施例中,由于目标域名关联了一个或多个虚拟IP地址,而一个虚拟IP地址又绑定了一个或多个服务器,因此,实现了IP收敛,全部服务器均可以提供域名访问服务,既能够使机器负载更均匀,还能够大大提升了域名可承载的最大容量,与该相关技术相比,域名容量能够提升800%。
还存在另一种相关技术是基于LVS(Linux virtual server,Linux虚拟服务器)实现的,LVS是一个虚拟的服务器集群系统。LVS简单工作原理为用户请求LVS VIP(VirtualIP,虚拟IP),LVS根据转发方式和算法,将请求转发给后端服务器(RS,real Server),后端服务器接收到请求,返回给用户。图3示出了相关技术中网络访问方法的示例性网络架构的示意图。图3即示出了该相关技术。请参见图3,该网络架构包括第一终端设备310、第一交换机320、第一转发服务器330、第一后端服务器341、第二后端服务器342及第三后端服务器343。具体来说,第一终端设备310通过第一交换机320向VIP对应的第一转发服务器330发送网络请求后,第一转发服务器330根据转发方式和算法选择出第三后端服务器343作为转发的目标后端服务器,并将网络请求发送至第三后端服务器343,第三后端服务器343通过第一交换机320将响应信息返回至第一终端设备310。因此,这样只用暴露一个VIP实际可以提供3台后端服务器的服务,从而实现了3倍的IP收敛。
申请人发现,该相关技术可以通过由第一转发服务器330随机向后端服务器转发网络请求的方式实现负载均衡;在第一转发服务器330上配置转发列表和RS探测模块,当第一转发服务器330通过RS探测模块发现后端服务器故障时,将后端服务器从转发列表中删除,能够实现后端服务器的故障自动剔除。
然而,该相关技术还存在以下缺陷:
1.需要设置转发服务器,增加了服务器成本和运营成本。
2.网络请求都是先到达转发服务器,因此,转发服务器存在性能瓶颈,一旦转发服务器受到攻击就导致整个VIP不可用,防攻击能力差。
为此,本申请实施例还提供下列方案。
在本申请的一个实施例中,绑定到同一虚拟IP地址的各服务器被模拟为路由器,各服务器直接通过交换机接收来自客户端的访问请求。
在本申请的一个实施例中,服务器部署有配置了OSPF协议的Quagga进程,交换机配置有OSPF协议与ECMP协议,绑定到同一虚拟IP地址的各服务器与交换机之间基于ECMP协议同时使用多条网络链路进行数据传输。
交换机支持OSPF协议与ECMP协议才能进行OSPF协议与ECMP协议的配置。OSPF(Open Shortest Path First,开放式最短路径优先)是一个内部网关协议(InteriorGateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。ECMP是等价多路径协议,当存在多条不同链路到达同一目的地址的网络环境中,如果使用传统的路由技术,发往该目的地址的数据包只能利用其中的一条链路,其它链路处于备份状态或无效状态,并且在动态路由环境下相互的切换需要一定时间,而等值多路径路由协议可以在该网络环境下同时使用多条链路,不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。
图4示出了可以应用本申请实施例的技术方案的示例性网络架构的示意图。请参见图4,该网络架构包括第二终端设备410、第二交换机420、第四后端服务器431、第五后端服务器432及第六后端服务器433。可以看到,后端服务器直接与VIP绑定,各后端服务器直接与交换机相连,这便是通过OSPF协议实现的。在服务器上运行OSPF协议,这时交换机会认为这些服务器都是路由器,在采用OSPF协议的网络中,如果通过OSPF计算出到同一个目的地有两条以上代价相等的路由,该协议可以将这些等价路由同时添加到路由表中。这样,在进行转发时就可以实现负载均衡。
通过图4可以看到,所有RS共同绑定了一个VIP,交换机认为这三台机器(RS)都可以到达这个VIP,当第二终端设备410请求访问该VIP时,交换机会随机选择绑定了该VIP的RS,并将网络请求发送至该RS。基于此,可以确认,图4实施例中的方案与图3示出的相关技术中的方案相比,至少具有以下优势:
1.省略了一个转发服务器,零设备成本。
2.省略了一个转发服务器,运营简单。
3.实现了网络请求转发的负载均衡。
4.将请求随机分发到RS上,防攻击能力是RS性能之和,因此防攻击能力更强。
另外,本申请实施例还具有实现VIP故障自动剔除的优势,并且也能够实现后端服务器的故障自动剔除,下面将继续进行介绍。
请继续参阅图2,在步骤220中,根据绑定到虚拟IP地址的服务器的状态信息,确定处于异常状态的服务器的数量。
在本申请的一个实施例中,服务器还部署有探测进程和应用层进程,探测进程用于对应用层进程和Quagga进程的状态进行探测并上报探测结果;根据绑定到虚拟IP地址的服务器的状态信息,确定处于异常状态的服务器的数量的步骤,包括:根据获取到的探测结果,确定提供探测结果的服务器是否处于异常状态,其中,探测结果是由绑定到第一虚拟IP地址的服务器中探测进程上报的;确定绑定到第一虚拟IP地址的服务器中处于异常状态的服务器的数量。
服务器上可以配置多个进程。探测进程可以用于运行探测程序,应用层进程可以用于运行应用层程序,因此,服务器部署有探测进程和应用层进程实际上是部署了探测程序和应用层程序。
在本申请的一个实施例中,网络访问方法还包括:根据未在指定时间范围内获取到来自目标服务器的探测结果,确定目标服务器处于异常状态。
图5示出了可以应用本申请实施例的技术方案的系统架构的详细示意图。请参见图5,该系统架构包括控制中心510、运营页面530、域名系统540、TGW 550、RS 560以及交换机570。
在图5的系统架构中,交换机570位于底层,交换机570可以是任何支持OSPF协议与ECMP协议的交换机。
位于交换机570之上的是RS 560,RS 560是真实服务器,访问请求可以通过交换机570转发至RS 560。RS 560中运行了Quagga进程,该进程可以运行OSPF协议,从而将该真实服务器模拟为一个路由器,基于此,还可以在控制中心510中将RS 560与VIP绑定。除了Quagga进程之外,RS 560中还运行有Agent模块、探测进程和应用层进程,其中,应用层进程是任何能够实际对外服务的进程,例如可以是Web服务进程,Agent模块是能够对RS 560的运行进行管理的代理程序。TGW 550是位于中间层的网关模块,控制中心510部署在TGW 550之后,RS 560通过TGW 550与控制中心510通信。
探测进程可以探测RS 560中Quagga进程、Agent模块及应用层进程的状态,进而向控制中心510上报探测结果,也就是向控制中心510上报RS 560的状态。
控制中心510包括运营系统模块、基础信息模块、故障剔除模块以及RS交互模块。基础信息模块即模块520,负责收集机房、IP、VIP等信息,基础信息模块包括Master模块、CMDB(configuration management database,配置管理数据库)模块以及MYSQL模块,其中,Master模块用于提供机房和IP信息,CMDB模块用于提供IP网段信息以及申请/回收IP的数据,MYSQL模块用于对数据持久化落地。运营系统模块负责运营和信息展示,提供人工干预入口,具体来说,通过运营页面530,一方面,可以进行信息展示,另一方面,可以获取用户的干预操作指令,从而对系统的运行进行人工干预。RS交互模块负责控制RS 560,具体可以完成部署Agent模块、回收Agent模块、启动Quagga进程、停止Quagga进程、申请VIP、回收VIP、将RS与VIP绑定、将RS与VIP解绑等操作。故障剔除模块用于收集探测进程上报的服务器状态。因此,故障剔除模块能够确定RS 560是否处于异常状态。
在本申请的一个实施例中,探测进程在指定时间进行探测,并上报探测结果。
比如,用户可以在运营页面530配置探测进程进行探测的时间。
本申请实施例中,可以在用户指定的时间对服务器状态进行识别。
在本申请的一个实施例中,探测进程每隔预定时间段进行一次探测。
比如,探测进程可以每隔1分钟进行一次探测,因此,本申请实施例可以及时发现服务器的异常状态。
请继续参阅图2,在步骤230中,若根据数量确定与目标域名关联的第一虚拟IP地址处于异常状态,则在目标域名满足自动剔除条件时,将第一虚拟IP地址从与目标域名相关联的虚拟IP地址中剔除,以使客户端通过访问与目标域名相关联的第二虚拟IP地址访问目标域名。
其中,自动剔除条件与目标域名所关联的虚拟IP地址的数量相关。
在本步骤中,当判断第一虚拟IP地址处于异常状态且第一虚拟IP地址满足自动剔除条件时,就将第一虚拟IP地址从与目标域名相关联的虚拟IP地址中剔除。
域名系统540包括域名与虚拟IP地址的映射关系,也就是说,域名系统540中保存了域名以及与域名相关联的虚拟IP地址。控制中心510中的故障剔除模块能够将第一虚拟IP地址从与目标域名相关联的虚拟IP地址中剔除,也就是能够解除第一虚拟IP地址与目标域名的关联关系。
在本申请的一个实施例中,网络访问方法还包括:根据绑定到第一虚拟IP地址的服务器中处于异常状态的服务器的比例超过第一预定比例阈值,确定第一虚拟IP地址处于异常状态。
比如,当第一虚拟IP地址的服务器中处于异常状态的服务器的占比超过60%,可以认为第一虚拟IP地址处于异常状态。
在本申请的一个实施例中,网络访问方法还包括:根据绑定到第一虚拟IP地址的服务器中处于异常状态的服务器的数量超过第一预定数量阈值,确定第一虚拟IP地址处于异常状态。
绑定到一个虚拟IP地址的服务器中处于异常状态的服务器的数量也能够反映第一虚拟IP地址的可用性高低,因而能够用于确定第一虚拟IP地址是否处于异常状态。
在本申请的一个实施例中,在确定第一虚拟IP地址处于异常状态之后,网络访问方法还包括:将绑定到第一虚拟IP地址的所有服务器停止。
当第一虚拟IP地址处于异常状态时,绑定到第一虚拟IP地址的服务器的可用性非常低,此时绑定到第一虚拟IP地址的服务器中未处于异常状态的服务器无法承接额外流量,就会导致雪崩现象。本申请实施例中,通过将绑定到第一虚拟IP地址的所有服务器停止,可以避免因剩余服务器无法承接流量而出现雪崩现象。
在本申请的一个实施例中,在确定第一虚拟IP地址处于异常状态之后,网络访问方法还包括:输出告警信息。
本申请实施例中,告警信息可以告知系统维护人员第一虚拟IP地址处于异常状态,可以及时进行故障处理,避免因故障导致的损失扩大。
图6示出了根据本申请的一个实施例的确定第一虚拟IP地址是否满足自动剔除条件的流程图。请参阅图6,网络访问方法还可以包括以下步骤:
在步骤610中,若目标虚拟IP地址的数量未达到预定数量阈值,则确定目标域名不满足自动剔除条件。
目标域名所关联的虚拟IP地址为目标虚拟IP地址。
当目标虚拟IP地址的数量较少时,此时说明目标域名所关联的虚拟IP地址的数量严重不足,此时若将第一虚拟IP地址剔除,则会进一步降低目标域名所关联的虚拟IP地址的数量,从而影响访问目标域名的可靠性,因而,此时目标域名不满足自动剔除条件。
在步骤620中,若目标虚拟IP地址的数量达到预定数量阈值且目标虚拟IP地址中处于异常状态的目标虚拟IP地址的数量占比未达到预定比例,则确定目标域名满足自动剔除条件。
当目标虚拟IP地址的数量较多时,此时说明目标域名所关联的虚拟IP地址的数量充足,此时如果目标虚拟IP地址中处于异常状态的目标虚拟IP地址的数量占比也很低,这种情况下将第一虚拟IP地址剔除基本不会影响访问目标域名的可用性,因而,此时目标域名满足自动剔除条件。
第二虚拟IP地址是与目标域名相关联的虚拟IP地址中不同于第一虚拟IP地址的其他虚拟IP地址。
在本申请的一个实施例中,客户端通过域名系统获取与目标域名相关联的第二虚拟IP地址,域名系统包括域名与虚拟IP地址的映射关系。
第二虚拟IP地址同第一虚拟IP地址类似,也绑定了一个或多个服务器。当第一虚拟IP地址未被剔除时,客户端可以通过包括第一虚拟IP地址和第二虚拟IP地址在内的任意一个与目标域名相关联的虚拟IP地址来访问目标域名;当第一虚拟IP地址被剔除后,客户端也可以通过与目标域名相关联的虚拟IP地址来访问目标域名,由于此时第一虚拟IP地址不再与目标域名相关联,因而客户端不能再从域名系统获取到第一虚拟IP地址。
具体而言,请继续参见图5,控制中心510中的故障剔除模块能够向域名系统540发送剔除指令,实现对域名系统540中与域名相关联的虚拟IP地址的剔除操作。如果图5中RS560所绑定的虚拟IP地址被剔除,交换机570就不会收到对RS 560所绑定的虚拟IP地址的访问请求,也就不会向RS 560转发访问请求。通过图5还可以看到,控制中心510中的故障剔除模块还能够向域名系统540发送恢复指令,恢复被剔除的虚拟IP地址与域名的关联关系。
图7示出了根据本申请的一个实施例的图2中步骤230之后步骤的流程图。请参阅图7,可以包括以下步骤:
在步骤240中,若根据数量确定第一虚拟IP地址能够恢复正常状态,则恢复第一虚拟IP地址与目标域名的关联关系,以使所述客户端能够通过访问第一虚拟IP地址访问目标域名。
在图5中,一旦在域名系统540中恢复了第一虚拟IP地址与目标域名的关联关系,客户端在请求获取与目标域名对应的虚拟IP地址时,便可以接收到域名系统540返回的第一虚拟IP地址,进而可以通过访问第一虚拟IP地址访问目标域名。
在本申请的一个实施例中,网络访问方法还包括:根据绑定到第一虚拟IP地址的服务器中处于异常状态的服务器的比例低于第二预定比例阈值,确定第一虚拟IP地址能够恢复正常状态。
比如,当绑定到第一虚拟IP地址的服务器中处于异常状态的服务器的比例小于40%,可以认为第一虚拟IP地址能够恢复正常状态。
第二预定比例阈值可以小于或等于第一预定比例阈值。
在本申请的一个实施例中,网络访问方法还包括:根据绑定到第一虚拟IP地址的服务器中处于异常状态的服务器的数量小于第二预定数量阈值,确定第一虚拟IP地址能够恢复正常状态。
第二预定数量阈值可以小于或等于第一预定数量阈值。
在本申请的一个实施例中,若根据数量确定第一虚拟IP地址能够恢复正常状态,则恢复第一虚拟IP地址与目标域名的关联关系,包括:若根据数量确定第一虚拟IP地址能够恢复正常状态,则判断第一虚拟IP地址是否为被从与目标域名相关联的虚拟IP地址中剔除的虚拟IP地址;如果第一虚拟IP地址为被从与目标域名相关联的虚拟IP地址中剔除的虚拟IP地址,则恢复第一虚拟IP地址与目标域名的关联关系。
在本申请实施例中,在恢复第一虚拟IP地址与目标域名的关联关系之前,先判断第一虚拟IP地址是否是从与目标域名相关联的虚拟IP地址中剔除过的,这样可以确保所建立起的虚拟IP地址与域名之间关联关系的有序性。
图8示出了根据本申请的一个实施例的对虚拟IP地址进行自动恢复和自动剔除操作的流程图。请参见图8,具体包括以下过程:
步骤810,收集VIP状态下的RS状态。
RS即真实服务器,通过在RS中设置的探测进程收集RS状态,根据RS状态判断RS是否异常。
步骤820,异常比例超过60%。
判断与一个VIP绑定的RS中出现异常的RS的比例是否超过60%,如果是,则执行步骤860至步骤890。如果否,则执行步骤830至步骤850。
步骤830,异常比例小于40%。
判断与一个VIP绑定的RS中出现异常的RS的比例是否小于40%,如果是,则执行步骤840。
步骤840,已从域名中剔除?
判断VIP是否已从域名中剔除,如果是,则执行步骤850。
步骤850,自动恢复。
恢复VIP与域名的关联关系。
步骤860,主动停止所有RS。
避免与VIP绑定但未出现异常的RS数量过低,无法承接流量而导致雪崩现象。
步骤870,发出告警。
通知相关人员与VIP绑定的RS的状态。
步骤880,域名满足自动剔除条件?
判断域名是否满足自动剔除条件,如果是,则执行步骤890。
步骤890,自动剔除。
解除域名与VIP的关联关系。
下面,将结合图10详细介绍服务器中探测进程可能探测的服务器的状态。图10示出了根据本申请的一个实施例的服务器状态的流转示意图,请参见图10,服务器可能为以下状态:
1、服务器初始为not int状态。
2、在服务器上部署服务之后,服务器状态变为deployed状态。
3、根据服务器上探测进程的探测结果,服务器状态可能更新为下列4种状态:
(1)探测到OSPF进程停止,服务器状态更新为stop状态;当探测到OSPF进程恢复,服务器状态恢复至deployed状态。
(2)探测到应用层进程异常,服务器状态更新为Dead状态。
(3)探测到应用层进程正常,服务器状态更新为Health状态。
(4)根据在一段时间内未收到探测进程上报的服务器状态,即心跳丢失,服务器状态更新为Miss状态。
在本申请的一个实施例中,网络访问方法还包括:若根据探测进程上报的探测结果确定服务器状态不为Health状态,则确定服务器处于异常状态。
也就是说,图5中控制中心510的故障剔除模块会判定除了Health状态之外,服务器均为异常状态。
在本申请的一个实施例中,网络访问方法还包括:根据获取到的目标探测结果,解除目标探测结果对应的服务器与第一虚拟IP地址的绑定关系,其中,目标探测结果用于标识绑定到第一虚拟IP地址的服务器中的应用层进程处于终止态,探测进程在探测到应用层进程不可用时上报应用层进程处于终止态。
终止态即Dead状态,换而言之,探测进程在探测到应用层进程不可用时,服务器状态会更新为Dead状态。
在本申请实施例中,实现了对实现后端服务器的故障自动剔除,从而保证了域名和VIP的可用性。
在本申请的一个实施例中,探测进程在探测到应用层进程不可用后对应用层进程进行预定时长的持续探测,并根据在预定时长内持续探测到应用层进程不可用而上报应用层进程处于终止态。
在本申请实施例中,通过在探测到应用层进程不可用后再对应用层持续探测一段时间,可以提高探测结果的有效性,大大降低了误探测的可能性,从而提高对后端服务器进行故障自动剔除的准确性。
下面,再具体介绍一下探测进程的具体探测过程。
1、确认整个Agent模块是否完整,若模块未完整,则直接上报模块未部署状态,即not init状态。
2、探测OSPF进程(Quagga进程)是否异常,若OSPF进程异常,则上报OSPF进程停止,即stop状态,并且尝试重新拉起OSPF进程。
3、探测应用层进程(例如Web进程)是否可用,若应用层进程可用,则上报应用层进程处于健康状态,即health状态。
4、若应用层进程不可用,则会持续探测,当发现连续一段时间之内一直处于异常状态时,则认为应用层进程死亡,上报死亡状态,即dead状态,并且会自行将Quagga进程停止,此时该服务器就不再运行OSPF路由协议,交换机将认为该服务器未绑定VIP,当用户访问VIP时,访问请求不会到达这台服务器,还会解除VIP的绑定,避免服务器响应VIP的ARP(Address Resolution Protocol,地址解析协议)请求,实现了对服务器进行故障自动剔除。
图9示出了根据本申请的一个实施例的对服务器实现故障自动剔除的流程图。请参见图9,具体包括以下步骤:
步骤910,开始。
开始接收服务器的状态信息。
步骤920,是否部署。
判断Agent模块是否完整,若模块不完整,则未部署,并执行步骤930;若模块完整,则已部署,并执行步骤940。
步骤930,上报未部署。
即上报服务器为not init状态,然后继续接收服务器的状态信息,返回执行步骤910。
步骤940,OSPF进程异常?
判断OSPF进程异常是否成立,如果是执行步骤950和步骤960,否则执行步骤970。
步骤950,上报OSPF进程停止。
即上报服务器为stop状态。
步骤960,重新拉起进程。
尝试重新启动OSPF进程,然后继续接收服务器的状态信息,返回执行步骤910。
步骤970,应用层进程异常?
判断应用层进程异常是否成立,如果否,则执行步骤980,如果是则执行步骤990。
步骤980,上报应用层进程健康。
若应用层进程异常不成立,则上报服务器为health状态。
步骤990,是否持续异常?
根据连续一段时间内的多次探测结果确定应用层进程是否持续异常,如果是,则执行步骤9100。
步骤9100,上报应用层进程死亡。
即上报服务器为Dead状态。
步骤9110,主动停止OSPF进程,解除VIP。
将Quagga进程停止,并且解除VIP与该处于Dead状态的服务器的绑定,使得访问请求不会到达该服务器,然后返回执行步骤910。
综上所述,根据本申请实施例的技术方案,在实现IP收敛和显著提升域名容量的同时,可以实现对RS故障的自动剔除,还可以实现对VIP故障的自动剔除和恢复,并实现机房内单机负载均衡。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的网络访问方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的网络访问方法的实施例。
图11示出了根据本申请的一个实施例的网络访问装置的框图。
参照图11所示,根据本申请的一个实施例的数据分类装置1100,包括:获取单元1110、确定单元1120和剔除单元1130。
其中,获取单元1110用于获取与目标域名相关联的虚拟IP地址,并获取绑定到所述虚拟IP地址的服务器的状态信息;确定单元1120用于根据绑定到所述虚拟IP地址的服务器的状态信息,确定处于异常状态的服务器的数量;剔除单元1130用于若根据所述数量确定与所述目标域名关联的第一虚拟IP地址处于异常状态,则在所述目标域名满足自动剔除条件时,将所述第一虚拟IP地址从与所述目标域名相关联的虚拟IP地址中剔除,以使客户端通过访问与所述目标域名相关联的第二虚拟IP地址访问所述目标域名,其中,所述自动剔除条件与所述目标域名所关联的虚拟IP地址的数量相关。
在本申请的一些实施例中,基于前述方案,在将所述第一虚拟IP地址从与所述目标域名相关联的虚拟IP地址中剔除之后,剔除单元1130还用于:若根据所述数量确定所述第一虚拟IP地址能够恢复正常状态,则恢复所述第一虚拟IP地址与所述目标域名的关联关系,以使所述客户端能够通过访问所述第一虚拟IP地址访问所述目标域名。
在本申请的一些实施例中,基于前述方案,所述客户端通过域名系统获取与所述目标域名相关联的第二虚拟IP地址,所述域名系统包括域名与虚拟IP地址的映射关系。
在本申请的一些实施例中,基于前述方案,绑定到同一虚拟IP地址的各服务器被模拟为路由器,所述各服务器直接通过交换机接收来自客户端的访问请求。
在本申请的一些实施例中,基于前述方案,所述服务器部署有配置了OSPF协议的Quagga进程,所述交换机配置有OSPF协议与ECMP协议,绑定到同一虚拟IP地址的所述各服务器与所述交换机之间基于所述ECMP协议同时使用多条网络链路进行数据传输。
在本申请的一些实施例中,基于前述方案,所述服务器还部署有探测进程和应用层进程,所述探测进程用于对所述应用层进程和所述Quagga进程的状态进行探测并上报探测结果;确定单元1120配置为:根据获取到的探测结果,确定提供所述探测结果的服务器是否处于异常状态,其中,所述探测结果是由绑定到所述第一虚拟IP地址的服务器中探测进程上报的;确定绑定到所述第一虚拟IP地址的服务器中处于异常状态的服务器的数量。
在本申请的一些实施例中,基于前述方案,确定单元1120还用于:根据未在指定时间范围内获取到来自目标服务器的探测结果,确定所述目标服务器处于异常状态。
在本申请的一些实施例中,基于前述方案,剔除单元1130还用于:根据获取到的目标探测结果,解除所述目标探测结果对应的服务器与所述第一虚拟IP地址的绑定关系,其中,所述目标探测结果用于标识绑定到所述第一虚拟IP地址的服务器中的应用层进程处于终止态,所述探测进程在探测到所述应用层进程不可用时上报所述应用层进程处于终止态。
在本申请的一些实施例中,基于前述方案,所述目标域名所关联的虚拟IP地址为目标虚拟IP地址,剔除单元1130还用于:若所述目标虚拟IP地址的数量未达到预定数量阈值,则确定所述目标域名不满足自动剔除条件;若所述目标虚拟IP地址的数量达到预定数量阈值且所述目标虚拟IP地址中处于异常状态的目标虚拟IP地址的数量占比未达到预定比例,则确定所述目标域名满足自动剔除条件。
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理单元(Central Processing Unit,CPU)1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(Random Access Memory,RAM)1203中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(Input/Output,I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种网络访问方法,其特征在于,包括:
获取与目标域名相关联的虚拟IP地址,并获取绑定到所述虚拟IP地址的服务器的状态信息,绑定到同一虚拟IP地址的各服务器被模拟为路由器,所述各服务器直接通过交换机接收来自客户端的访问请求,所述服务器部署有配置了OSPF协议的Quagga进程,所述交换机配置有OSPF协议与ECMP协议,绑定到同一虚拟IP地址的所述各服务器与所述交换机之间基于所述ECMP协议同时使用多条网络链路进行数据传输;
根据绑定到所述虚拟IP地址的服务器的状态信息,确定处于异常状态的服务器的数量;
若根据所述数量确定与所述目标域名关联的第一虚拟IP地址处于异常状态,则在所述目标域名满足自动剔除条件时,将所述第一虚拟IP地址从与所述目标域名相关联的虚拟IP地址中剔除,以使客户端通过访问与所述目标域名相关联的第二虚拟IP地址访问所述目标域名,其中,所述自动剔除条件与所述目标域名所关联的虚拟IP地址的数量相关。
2.根据权利要求1所述的网络访问方法,其特征在于,在将所述第一虚拟IP地址从与所述目标域名相关联的虚拟IP地址中剔除之后,所述方法还包括:
若根据所述数量确定所述第一虚拟IP地址能够恢复正常状态,则恢复所述第一虚拟IP地址与所述目标域名的关联关系,以使所述客户端能够通过访问所述第一虚拟IP地址访问所述目标域名。
3.根据权利要求1所述的网络访问方法,其特征在于,所述客户端通过域名系统获取与所述目标域名相关联的第二虚拟IP地址,所述域名系统包括域名与虚拟IP地址的映射关系。
4.根据权利要求1所述的网络访问方法,其特征在于,所述服务器还部署有探测进程和应用层进程,所述探测进程用于对所述应用层进程和所述Quagga进程的状态进行探测并上报探测结果;
所述根据绑定到所述虚拟IP地址的服务器的状态信息,确定处于异常状态的服务器的数量,包括:
根据获取到的探测结果,确定提供所述探测结果的服务器是否处于异常状态,其中,所述探测结果是由绑定到所述第一虚拟IP地址的服务器中探测进程上报的;
确定绑定到所述第一虚拟IP地址的服务器中处于异常状态的服务器的数量。
5.根据权利要求4所述的网络访问方法,其特征在于,所述方法还包括:
根据未在指定时间范围内获取到来自目标服务器的探测结果,确定所述目标服务器处于异常状态。
6.根据权利要求4所述的网络访问方法,其特征在于,所述方法还包括:
根据获取到的目标探测结果,解除所述目标探测结果对应的服务器与所述第一虚拟IP地址的绑定关系,其中,所述目标探测结果用于标识绑定到所述第一虚拟IP地址的服务器中的应用层进程处于终止态,所述探测进程在探测到所述应用层进程不可用时上报所述应用层进程处于终止态。
7.根据权利要求1所述的网络访问方法,其特征在于,所述目标域名所关联的虚拟IP地址为目标虚拟IP地址,所述方法还包括:
若所述目标虚拟IP地址的数量未达到预定数量阈值,则确定所述目标域名不满足自动剔除条件;
若所述目标虚拟IP地址的数量达到预定数量阈值且所述目标虚拟IP地址中处于异常状态的目标虚拟IP地址的数量占比未达到预定比例,则确定所述目标域名满足自动剔除条件。
8.一种网络访问装置,其特征在于,包括:
获取单元,用于获取与目标域名相关联的虚拟IP地址,并获取绑定到所述虚拟IP地址的服务器的状态信息,绑定到同一虚拟IP地址的各服务器被模拟为路由器,所述各服务器直接通过交换机接收来自客户端的访问请求,所述服务器部署有配置了OSPF协议的Quagga进程,所述交换机配置有OSPF协议与ECMP协议,绑定到同一虚拟IP地址的所述各服务器与所述交换机之间基于所述ECMP协议同时使用多条网络链路进行数据传输;
确定单元,用于根据绑定到所述虚拟IP地址的服务器的状态信息,确定处于异常状态的服务器的数量;
剔除单元,用于若根据所述数量确定与所述目标域名关联的第一虚拟IP地址处于异常状态,则在所述目标域名满足自动剔除条件时,将所述第一虚拟IP地址从与所述目标域名相关联的虚拟IP地址中剔除,以使客户端通过访问与所述目标域名相关联的第二虚拟IP地址访问所述目标域名,其中,所述自动剔除条件与所述目标域名所关联的虚拟IP地址的数量相关。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的网络访问方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的网络访问方法。
CN202110693487.6A 2021-06-22 2021-06-22 网络访问方法、装置、计算机可读介质及电子设备 Active CN113489691B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110693487.6A CN113489691B (zh) 2021-06-22 2021-06-22 网络访问方法、装置、计算机可读介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110693487.6A CN113489691B (zh) 2021-06-22 2021-06-22 网络访问方法、装置、计算机可读介质及电子设备

Publications (2)

Publication Number Publication Date
CN113489691A CN113489691A (zh) 2021-10-08
CN113489691B true CN113489691B (zh) 2023-06-13

Family

ID=77935569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110693487.6A Active CN113489691B (zh) 2021-06-22 2021-06-22 网络访问方法、装置、计算机可读介质及电子设备

Country Status (1)

Country Link
CN (1) CN113489691B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114065095B (zh) * 2021-11-30 2024-08-27 中国电信股份有限公司 网络节点加速方法、装置、计算机可读介质及电子设备
CN114785781B (zh) * 2022-03-22 2024-03-26 阿里巴巴(中国)有限公司 数据访问方法及装置
CN115225608A (zh) * 2022-07-22 2022-10-21 济南浪潮数据技术有限公司 一种dns域名解析的负载均衡方法、装置、设备及介质
CN115297086A (zh) * 2022-08-03 2022-11-04 明阳产业技术研究院(沈阳)有限公司 一种域名地址解析方法、装置、设备和介质
CN115277397B (zh) * 2022-08-09 2024-08-23 北京有竹居网络技术有限公司 内容分发网络中内容服务器的控制方法、设备及存储介质
CN115348194A (zh) * 2022-08-12 2022-11-15 中国工商银行股份有限公司 基于业务模拟的监控方法及装置、电子设备、存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4677482B2 (ja) * 2008-03-27 2011-04-27 西日本電信電話株式会社 アクセス振分システム、サーバ装置、共通管理装置、アクセス振分装置、アクセス振分方法、及び、コンピュータプログラム
CN102487342B (zh) * 2010-12-03 2014-07-09 阿里巴巴集团控股有限公司 虚拟互联网协议地址绑定控制装置及方法
GB2558163A (en) * 2014-11-12 2018-07-11 Ibm Dynamically assigning network addresses
CN104993953B (zh) * 2015-06-19 2019-02-26 北京奇虎科技有限公司 检测网络服务状态的方法和装置
CN106470191B (zh) * 2015-08-19 2019-12-10 国基电子(上海)有限公司 过滤https传输内容的系统、方法及装置
WO2018107382A1 (zh) * 2016-12-14 2018-06-21 华为技术有限公司 分布式负载均衡系统、健康检查方法和服务节点
CN109302498B (zh) * 2018-11-29 2021-03-23 杭州迪普科技股份有限公司 一种网络资源访问方法及装置
CN109981766A (zh) * 2019-03-19 2019-07-05 广州华多网络科技有限公司 Http请求处理方法、处理系统、服务器及存储介质

Also Published As

Publication number Publication date
CN113489691A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
CN113489691B (zh) 网络访问方法、装置、计算机可读介质及电子设备
US11677860B2 (en) Decentralization processing method, communication proxy, host, and storage medium
CN116302719B (zh) 用于启用高可用性受管理故障转移服务的系统和方法
CN113169952B (zh) 一种基于区块链技术的容器云管理系统
US10445197B1 (en) Detecting failover events at secondary nodes
Bailis et al. The network is reliable: An informal survey of real-world communications failures
US9450700B1 (en) Efficient network fleet monitoring
CN110209492B (zh) 一种数据处理方法及装置
CN106911648B (zh) 一种环境隔离方法及设备
US10936450B2 (en) High availability and disaster recovery system architecture
CN111158949A (zh) 容灾架构的配置方法、切换方法及装置、设备和存储介质
US11153173B1 (en) Dynamically updating compute node location information in a distributed computing environment
CN111818081B (zh) 虚拟加密机管理方法、装置、计算机设备和存储介质
CN108540468A (zh) 请求的控制与路由方法及其系统、存储介质、电子设备
CN112256498A (zh) 一种故障处理的方法和装置
US12041030B2 (en) Distributed memory data repository based defense system
CN108600156B (zh) 一种服务器及安全认证方法
Turchetti et al. NFV‐FD: Implementation of a failure detector using network virtualization technology
US10692168B1 (en) Availability modes for virtualized graphics processing
Lau et al. An infrastructure based in virtualization for intrusion tolerant services
CN116192885A (zh) 高可用集群架构人工智能实验云平台数据处理方法及系统
Stanik et al. Failover pattern with a self-healing mechanism for high availability cloud solutions
CN112291263A (zh) 一种数据阻断的方法和装置
WO2024061219A1 (zh) 一种信息更新方法、装置、设备、存储介质及程序产品
TWI717457B (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