CN117675825A - 集群接入方法、集群访问方法及相关设备 - Google Patents

集群接入方法、集群访问方法及相关设备 Download PDF

Info

Publication number
CN117675825A
CN117675825A CN202211059056.5A CN202211059056A CN117675825A CN 117675825 A CN117675825 A CN 117675825A CN 202211059056 A CN202211059056 A CN 202211059056A CN 117675825 A CN117675825 A CN 117675825A
Authority
CN
China
Prior art keywords
node
cluster
access
dns
nodes
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
Application number
CN202211059056.5A
Other languages
English (en)
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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Chengdu Huawei Technology 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 Chengdu Huawei Technology Co Ltd filed Critical Chengdu Huawei Technology Co Ltd
Priority to CN202211059056.5A priority Critical patent/CN117675825A/zh
Publication of CN117675825A publication Critical patent/CN117675825A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/10Mapping addresses of different types

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种集群接入方法、集群访问方法及相关设备,涉及通信技术领域。集群接入方法包括:获取集群中的多个节点的业务负载信息;响应于客户端设备发送的DNS查询报文,基于多个节点中的每个节点的业务负载信息生成与DNS查询报文对应的DNS查询结果,DNS查询结果包括接入节点的IP地址,接入节点为多个节点中的一节点;将DNS查询结果发送给客户端设备。本申请可以结合集群中的节点的负载能力进行域名解析,可提升集群的负载均衡效果,且可提升客户端设备接入集群的访问性能。

Description

集群接入方法、集群访问方法及相关设备
技术领域
本申请涉及通信技术领域,尤其涉及一种集群接入方法、集群接入装置、集群访问方法、集群访问装置、计算机程序产品、计算设备集群、电子设备及计算机可读存储介质。
背景技术
出于灾备的目的,一般都会建设多个数据中心。其中,双活(Active-Active)数据中心由于其能保持业务的连续性以及提高数据中心的利用率,受到了广泛的使用。双活数据中心是指两个数据中心互为备份,且双活数据中心的一个数据中心出现故障时,业务可自动切换到另一数据中心,以保持业务不中断。
客户端通过域名访问存储在数据中心的数据时,一般需先经过域名系统(domainname system,DNS)服务器进行域名解析,获得数据中心中某个节点的互联网协议(Internet Protocol,IP)地址,客户端再基于DNS服务器返回的IP地址进行数据访问。现有的DNS服务器可以部署一些简单的均衡策略以实现数据中心中的节点的负载均衡,例如轮流为各个节点分配访问请求,或者基于各个节点当前建立的客户端连接的数量分配访问请求,而不同的客户端访问请求占用节点的资源是不相同的,导致数据中心的负载均衡的效果不佳。
发明内容
有鉴于此,有必要提供一种集群接入方法,解决现有技术中集群(例如数据中心)中的节点的负载均衡效果不佳的问题。
本申请实施例第一方面公开了一种集群接入方法,包括:获取集群中的多个节点的业务负载信息;响应于客户端设备发送的DNS查询报文,基于多个节点中的每个节点的业务负载信息生成与DNS查询报文对应的DNS查询结果,DNS查询结果包括接入节点的IP地址,接入节点为多个节点中的一节点;将DNS查询结果发送给客户端设备。
采用上述技术方案,通过获取集群中的多个节点的业务负载信息,多个节点可以是指集群中的所有节点,也可以是指集群中指定的多个节点,例如指具有DNS查询报文所对应的文件系统的访问权限的节点,结合集群中的节点的负载能力进行域名解析,返回具有最佳或者较佳负载能力的节点的IP地址(作为接入节点的IP地址),客户端设备可以使用接入节点的IP地址接入至接入节点,实现连接至集群,可提升集群的负载均衡效果,且可提升客户端设备接入集群的访问性能。
在一些实施例中,获取集群中的多个节点的业务负载信息,包括:响应于客户端设备发送的DNS查询报文,获取集群中的多个节点的业务负载信息,集群挂载有文件系统,DNS查询报文为用于对文件系统的域名进行解析的DNS查询报文,客户端设备用于基于接入节点的IP地址接入至接入节点访问文件系统。
采用上述技术方案,可以在接收到客户端设备发送的DNS查询报文时,获取集群中的多个节点的业务负载信息,客户端设备采用域名方式访问挂载在集群的文件系统,进行域名解析的节点可以结合集群中的多个节点的负载能力进行域名解析,返回具有最佳或者较佳负载能力的节点的IP地址(作为接入节点的IP地址),客户端设备可以使用接入节点的IP地址接入至接入节点,实现访问挂载在集群的文件系统,可提升集群的负载均衡效果,且可提升客户端设备接入集群的访问性能。
在一些实施例中,基于多个节点中的每个节点的业务负载信息生成与DNS查询报文对应的DNS查询结果,包括:基于多个节点中的每个节点的业务负载信息进行节点选择,选择的节点用于用作接入节点,接入节点的负载能力优于多个节点中其余节点的负载能力;基于接入节点的IP地址生成DNS查询结果。
采用上述技术方案,将多个节点中具有最佳负载能力的节点的IP地址作为接入节点的IP地址,使得客户端设备通过接入节点接入至集群具有良好的访问性能,且可提升集群的负载均衡效果。
在一些实施例中,获取集群中的多个节点的业务负载信息,包括:获取集群中具备文件系统的访问权限的节点;获取具备文件系统的访问权限的节点的业务负载信息。
采用上述技术方案,从集群中的多个具备文件系统的访问权限的节点中选择具有最佳或者较佳负载能力的节点的IP地址(作为接入节点的IP地址),客户端设备可以使用接入节点的IP地址接入至接入节点,实现顺利访问挂载在集群的文件系统,可提升集群的负载均衡效果,且可提升客户端设备接入集群的访问性能。
在一些实施例中,业务负载信息包括CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态中的至少一个。
采用上述技术方案,在进行域名解析的节点可以结合集群中的每个节点的CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态等信息进行域名解析,实现返回具有最佳或者较佳负载能力的节点的IP地址作为接入节点的IP地址,客户端设备使用接入节点的IP地址接入至接入节点,实现访问挂载在集群的文件系统,可提升集群的负载均衡效果,且可提升客户端设备接入集群的访问性能。
在一些实施例中,集群为双活数据中心,双活数据中心中的每个节点均安装有DNS服务软件,DNS服务软件用于执行DNS查询。
采用上述技术方案,通过在双活数据中心的每个节点部署DNS服务软件,使得双活数据中心的每个节点均具备监听域名解析请求与执行DNS查询的功能,且可减少额外部署DNS服务器的成本。
本申请实施例第二方面公开了一种集群访问方法,包括:获取用于对文件系统的域名进行解析的DNS服务器信息,文件系统挂载在集群上;根据DNS服务器信息发送域名的DNS查询报文至集群中的第一节点,及获取第一节点返回的DNS查询结果,DNS查询结果包括接入节点的IP地址,第一节点用于基于集群中的多个节点的业务负载信息进行节点选择,选择的节点用于用作接入节点;基于接入节点的IP地址接入至接入节点,以访问文件系统。
采用上述技术方案,客户端设备通过域名方式访问挂载在集群上的文件系统时,可以预先配置的DNS服务器信息及用于进行域名解析的节点的IP地址,发送域名的DNS查询报文至对应的节点,节点进行域名解析时可以结合集群中的多个节点的负载能力进行域名解析,返回具有最佳或者较佳负载能力的节点的IP地址(作为接入节点的IP地址),客户端设备可以使用接入节点的IP地址接入至接入节点,实现连接至集群,可提升集群的负载均衡效果,且可提升客户端设备接入集群的访问性能。
在一些实施例中,DNS服务器信息包括第一节点的IP地址,根据DNS服务器信息发送域名的DNS查询报文至所述集群中的第一节点,包括:根据第一节点的IP地址发送域名的DNS查询报文至所述第一节点。
采用上述技术方案,通过配置集群中的某个节点为用于进行域名解析的节点,进而可以根据节点的IP地址发送域名的DNS查询报文至该节点,由该节点执行域名解析,返回具有最佳或者较佳负载能力的节点的IP地址作为接入节点的IP地址。
在一些实施例中,DNS服务器信息包括与客户端设备关联的DNS服务器的IP地址,根据DNS服务器信息发送域名的DNS查询报文至集群中的第一节点,包括:客户端设备基于DNS服务器的IP地址发送域名的DNS查询报文至DNS服务器,DNS服务器用于基于预设转发规则将DNS查询报文转发至集群中的第一节点,预设转发规则包括:基于集群中的第一节点的IP地址对域名的DNS查询报文进行转发。
采用上述技术方案,若客户端设备配置的用于对域名进行解析的DNS服务器的IP地址是某个DNS服务器的IP地址,可以在DNS服务器上配置用于对域名的DNS查询报文进行转发的转发规则,DNS服务器接收到客户端设备发送的用于对挂载在集群上的文件系统的域名进行解析的DNS查询报文时,可以基于转发规则将用于对文件系统的域名进行解析的DNS查询报文转发给集群中的某个节点,由该节点执行DNS查询,可以实现兼容现有的客户端侧网络访问配置,又可实现为客户端设备的数据访问具有最佳或者较佳负载能力的节点,使得客户端设备访问文件系统所接入的节点具有良好的业务处理性能与链路可靠性,且可尽可能实现双活数据中心各个节点的业务负载均衡。
在一些实施例中,第一节点用于基于集群中的每个节点的业务负载信息进行节点选择,接入节点的负载能力优于集群中其余节点的负载能力。
采用上述技术方案,节点进行域名解析时,可以基于集群中的每个节点的业务负载信息进行节点选择,返回具有最佳或者较佳负载能力的节点的IP地址作为接入节点的IP地址,客户端设备可以使用接入节点的IP地址接入至接入节点,实现连接至集群,可提升集群的负载均衡效果,且可提升客户端设备接入集群的访问性能。
在一些实施例中,第一节点用于获取集群中具备所述文件系统的访问权限的节点,及基于各个具备文件系统的访问权限的节点的业务负载信息进行节点选择,选择的节点用于用作接入节点,接入节点的负载能力优于集群中其余具备所述文件系统的访问权限的节点的负载能力。
采用上述技术方案,从集群中的多个具备文件系统的访问权限的节点中选择具有最佳或者较佳负载能力的节点的IP地址(作为接入节点的IP地址),客户端设备可以使用接入节点的IP地址接入至接入节点,实现顺利访问挂载在集群的文件系统,可提升集群的负载均衡效果,且可提升客户端设备接入集群的访问性能。
在一些实施例中,业务负载信息包括CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态中的至少一个。
采用上述技术方案,在进行域名解析的节点可以结合集群中的每个节点的CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态等信息进行域名解析,实现返回具有最佳或者较佳负载能力的节点的IP地址作为接入节点的IP地址,客户端设备使用接入节点的IP地址接入至接入节点,实现访问挂载在集群的文件系统,可提升集群的负载均衡效果,且可提升客户端设备接入集群的访问性能。
在一些实施例中,集群为双活数据中心,双活数据中心中的每个节点均安装有DNS服务软件,DNS服务软件用于执行DNS查询。
采用上述技术方案,通过在双活数据中心的每个节点部署DNS服务软件,使得双活数据中心的每个节点均具备监听域名解析请求与执行DNS查询的功能,且可减少额外部署DNS服务器的成本。
本申请实施例第三方面公开了一种集群接入装置,包括:第一获取模块,用于获取集群中的多个节点的业务负载信息;查询模块,用于响应于客户端设备发送的DNS查询报文,基于多个节点中的每个节点的业务负载信息生成与DNS查询报文对应的DNS查询结果,DNS查询结果包括接入节点的IP地址,接入节点为多个节点中的一节点;第一发送模块,用于将DNS查询结果发送给客户端设备。
采用上述技术方案,通过获取集群中的多个节点的业务负载信息,多个节点可以是指集群中的所有节点,也可以是指集群中指定的多个节点,例如指具有DNS查询报文所对应的文件系统的访问权限的节点,结合集群中的节点的负载能力进行域名解析,返回具有最佳或者较佳负载能力的节点的IP地址(作为接入节点的IP地址),客户端设备可以使用接入节点的IP地址接入至接入节点,实现连接至集群,可提升集群的负载均衡效果,且可提升客户端设备接入集群的访问性能。
本申请实施例第四方面公开了一种集群访问装置,包括:第二获取模块,用于获取对文件系统的域名进行解析的DNS服务器信息,文件系统挂载在集群上;第二发送模块,用于根据DNS服务器信息发送域名的DNS查询报文至集群中的第一节点,及获取第一节点返回的DNS查询结果,DNS查询结果包括接入节点的IP地址,接入节点为集群中的一节点;接入模块,用于基于接入节点的IP地址接入至接入节点,以访问文件系统。
采用上述技术方案,集群访问装置通过域名方式访问挂载在集群上的文件系统时,可以预先配置的DNS服务器信息及用于进行域名解析的节点的IP地址,发送域名的DNS查询报文至对应的节点,节点进行域名解析时可以结合集群中的多个节点的负载能力进行域名解析,返回具有最佳或者较佳负载能力的节点的IP地址(作为接入节点的IP地址),集群访问装置可以使用接入节点的IP地址接入至接入节点,实现连接至集群,可提升集群的负载均衡效果,且可提升集群访问装置接入集群的访问性能。
第五方面,本申请实施例提供一种计算机可读存储介质,包括计算机程序指令,当计算机程序指令由计算设备集群执行时,使得计算设备集群执行如第一方面所述的集群接入方法。
第六方面,本申请实施例提供一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行如第一方面所述的集群接入方法。
第七方面,本申请实施例提供一种计算机程序产品,当计算机程序产品被计算设备集群运行时,使得计算设备集群执行如第一方面所述的集群接入方法。
第八方面,本申请实施例提供一种装置,所述装置具有实现上述第一方面所提供的方法中计算设备集群行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
第八方面,本申请实施例提供一种电子设备,电子设备包括处理器和存储器,存储器用于存储指令,处理器用于调用所述存储器中的指令,使得电子设备可以执行如第二方面所述的集群访问方法。
可以理解地,上述提供的第五方面所述的计算机可读存储介质,第六方面所述的计算设备集群,第七方面所述的计算机程序产品,第八方面所述的装置均与上述第一方面的方法对应,上述第八方面所述的电子设备与上述第二方面的方法对应,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本申请一实施例提供的双活数据中心的架构示意图;
图2为本申请一实施例提供的客户端设备以域名方式访问双活数据中心的架构示意图;
图3为本申请一实施例提供的客户端设备以域名方式访问多活数据中心的架构示意图;
图4为本申请另一实施例提供的客户端设备以域名方式访问双活数据中心的架构示意图;
图5为本申请一实施例提供的集群接入方法的流程示意图;
图6为本申请一实施例提供的集群接入装置的模块示意图;
图7为本申请一实施例提供的集群访问方法的流程示意图;
图8为本申请一实施例提供的集群访问装置的模块示意图;
图9为本申请一实施例提供的一种计算设备的结构示意图;
图10为本申请一实施例提供的一种计算设备集群的结构示意图。
具体实施方式
需要说明的是,本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例的技术方案可以应用于各种云化的通信系统,例如:长期演进(longterm evolution,LTE)系统,全球互联微波接入(worldwide interoperabilityformicrowave access,WiMAX)通信系统,未来的第五代(5th Generation,5G)系统,如新一代无线接入技术(new radio access technology,NR),及未来的通信系统等。
为便于理解本申请实施例,接下来对本请的应用场景进行介绍,本申请实施例描述的业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
如图1所示,为本申请一实施例提供的双活数据中心的架构示意图。
双活数据中心10包括第一数据中心1和第二数据中心2。第一数据中心1包括存储阵列A,第二数据中心2包括存储阵列B。第一数据中心1可以包括一个或多个节点(Node),节点可以是虚拟的计算设备,也可以是物理的计算设备,存储阵列A可以是指由第一数据中心1中的所有节点的存储单元组成的存储阵列。第二数据中心2同样可以包括一个或多个节点,存储阵列B可以是指由第二数据中心2中的所有节点的存储单元组成的存储阵列。
客户端设备3可以发送待写入数据至存储阵列A,存储阵列A存储该待写入数据,并发送该待写入数据至存储阵列B,存储阵列B存储该待写入数据,并在存储成功后向存储阵列A返回成功响应;客户端设备3也可以发送待写入数据至存储阵列B,存储阵列B存储该待写入数据,并发送该待写入数据至存储阵列A,存储阵列A存储该待写入数据,并在存储成功后向存储阵列B返回成功响应,双活数据中心10通过上述数据写入方式实现两个数据中心的互为备份。
在一些实施例中,客户端设备3包括但不限于智能手机、掌上电脑、笔记本电脑或台式电脑等,本申请实施例对此不做限定。计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。计算设备也可以是台式电脑、笔记本电脑或者智能手机等终端设备。
如图2所示,假设第一数据中心1包括若干节点,若干节点的互联网协议(internetprotocol,IP)地址为ip_1、ip_2、…、ip_i,i为大于1的正整数;第二数据中心2包括若干节点,若干节点的IP地址为ip_11、ip_12、…、ip_1j,j为大于1的正整数。在将文件系统挂载至双活数据中心10的过程中,用户可通过客户端设备3配置用于解析文件系统域名的内网域名系统(domain name system,DNS)服务器的IP地址,或者通过客户端设备3获取用于解析文件系统域名的外网DNS服务器的IP地址,外网DNS服务器可以是客户端设备3当前使用的网络的运营商的DNS服务器。当用户使用域名将文件系统挂载在双活数据中心10之后,客户端设备3可以通过域名访问的方式接入双活数据中心10访问该文件系统,执行数据的读取或写入操作。例如,域名为sfs-nas1.xxxx.com,解析域名的DNS服务器的IP地址为DNS服务器4的IP地址,客户端设备3可以通过以下步骤实现以sfs-nas1.xxxx.com访问文件系统:a1.客户端设备3基于DNS服务器4的IP地址发送sfs-nas1.xxxx.com的DNS查询报文至DNS服务器4;a2.DNS服务器4基于预设均衡策略返回某个节点的IP地址给客户端设备3,例如DNS服务器4返回给客户端设备3的节点的IP地址为ip_12,预设均衡策略包括依次为双活数据中心10中的每个节点分配访问请求,或者基于各个节点当前建立的客户端设备连接的数量分配访问请求;a3.客户端设备3基于IP地址ip_12访问文件系统,以执行数据的读取或写入操作。然而,DNS服务器4基于预设均衡策略来动态返回不同节点的IP地址,并未考量节点的剩余资源(例如CPU资源、内存资源、带宽资源等)、传输时延、节点与客户端设备3之间的链路质量等指标,导致数据中心的负载均衡的效果不佳。
为解决上述技术问题,本申请实施例提供一种集群接入方法,以提高数据中心的负载均衡效果。
如图3所述,示例性的介绍本申请一实施例实现以域名方式访问多个数据中心的架构示意图。
在该实施例中,多个数据中心以双活数据中心10为例进行说明。双活数据中心10包括第一数据中心1和第二数据中心2。第一数据中心1和第二数据中心2均包括若干个节点,假设第一数据中心1包括i个节点(以下称为第1节点至第i节点),第1节点至第i节点的IP地址分别为ip_1、ip_2、…、ip_i,i为大于1的正整数,第二数据中心2包括j个节点(以下称为第i+1节点至第i+j节点),第i+1节点至第i+j节点的IP地址分别为ip_11、ip_12、…、ip_1j,j为大于1的正整数。
客户端设备3可以通过网络与双活数据中心10进行通信,网络可以是指基于传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)的网络。第一数据中心1和第二数据中心2之间可以通过光纤或者网线连接,第一数据中心1和第二数据中心2通过该光纤或网线备份数据,并且可每隔设定时间(如1s)通过该光纤或网线相互发送心跳包,以确定第一数据中心1与第二数据中心2之间的连接是否断开。
第一数据中心1和第二数据中心2之间的数据备份可以为同步复制。为了实现同步复制,一方面可以采用光纤等传输速度快的链路传输备份的数据,另一方面可以将第一数据中心1和第二数据中心2之间的距离限定在设定距离(如100km)内,例如第一数据中心1和第二数据中心2设置在同一个城市里。
第一数据中心1中的每个节点及第二数据中心2中的每个节点均可包括DNS服务模块20,DNS服务模块20可以是指用于实现DNS查询功能的软件,使得双活数据中心10的每个节点均具备监听域名解析请求与执行DNS查询的功能,且可减少额外部署DNS服务器的成本。例如双活数据中心10的某个节点N1接收到客户端设备3发送的DNS查询报文,节点N1可以通过DNS服务模块20执行DNS查询,返回与DNS查询报文对应的一节点的IP地址给客户端设备3。本申请实施例所称的模块可以是指能够完成特定功能的一系列计算机程序指令段,也可以是计算机程序指令段与硬件配合形成的功能模块,模块的划分为一种逻辑功能划分,实际实现时可以有另外的划分方式,本申请对此不作限定。
第一数据中心1内部的各个节点之间可以通过网络建立通信连接,第一数据中心1中的任意一节点可以通过网络获取第一数据中心1中的其他各个节点的业务负载信息。第二数据中心2内部的各个节点之间同样可以通过网络建立通信连接,第二数据中心2中的任意一节点同样可以通过网络获取第二数据中心2中的其他各个节点的业务负载信息。第一数据中心1和第二数据中心2之间还可以通过光纤或者网线同步节点的业务负载信息,进而可以使得双活数据中心10中的任意一节点可以获知双活数据中心10中其他各个节点的业务负载信息。
例如,双活数据中心10中的任意一节点可以通过预设采集软件实时采集自身的业务负载信息,并每隔预设时间(预设时间可以根据实际需求进行设定,本申请对此不作限定,如预设时间为10分钟)将自身的业务负载信息同步给双活数据中心10中的其他各个节点,业务负载信息可以包含有节点的IP地址,便于其他节点可以获知当前接收到的业务负载信息是哪个节点的业务负载信息。预设采集软件可以是现有的具备获取节点的CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态等信息的软件。
在一些实施例中,节点的业务负载信息包括但不限于CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态等信息。通信链路状态可以是指节点与客户端设备3之间的通信链路是否正常,例如通过确定节点与客户端设备3之间的通信链路是否存在丢包现象,确定通信链路是否正常。
在一些实施例中,用户在将文件系统挂载至双活数据中心10的过程中,可通过客户端设备3配置用于解析文件系统域名的DNS服务器的IP地址。由于双活数据中心10的每个节点均具备监听域名解析请求与执行DNS查询的功能,客户端设备3配置的用于解析文件系统域名的DNS服务器的IP地址可以由用户进行自定义,可以是双活数据中心10中的任意一节点的IP地址。文件系统可以是网络文件系统(network file system,NFS)、通用网络文件系统(common internet file system,CIFS)等。
客户端设备3使用域名访问挂载在双活数据中心10的文件系统时,客户端设备3可以基于预先配置的DNS服务器的IP地址发送域名的DNS查询报文至DNS服务器。例如,客户端设备3配置的用于解析文件系统域名的DNS服务器的IP地址为第一数据中心1中的第2节点的IP地址ip_2,客户端设备3可以基于IP地址ip_2发送域名的DNS查询报文至第一数据中心1的第2节点,第一数据中心1的第2节点可以通过DNS服务模块20响应客户端设备3发送的DNS查询报文,执行DNS查询,并返回DNS查询结果给客户端设备3。DNS查询结果包括双活数据中心10中的某个节点的IP地址,进而客户端设备3可以基于该节点的IP地址接入该节点,实现访问挂载在双活数据中心10的文件系统,以对文件系统执行数据的读取或写入操作。
可以理解的,若客户端设备3配置的用于解析文件系统域名的DNS服务器的IP地址为第一数据中心1中的第3节点的IP地址ip_3,客户端设备3可以基于IP地址ip_3发送域名的DNS查询报文至第一数据中心1的第3节点,第一数据中心1的第3节点可以通过DNS服务模块20响应客户端设备3发送的DNS查询报文,执行DNS查询,并返回DNS查询结果给客户端设备3。
第一数据中心1的第2节点可以获知双活数据中心10中其他各个节点的业务负载信息,第一数据中心1的第2节点执行DNS查询时,可以基于双活数据中心10中每个节点(第1节点至第i+j节点)的业务负载信息选择一个目标节点,并将目标节点的IP地址返回给客户端设备3,例如目标节点可以是基于每个节点的业务负载信息确定为具有最佳负载能力的节点或者负载能力排名前n位中的任一节点等,本申请对n的值不作限定,例如n为3。通过为客户端设备3的数据访问分配双活数据中心10中的具有最佳或者较佳负载能力的节点,使得客户端设备3访问文件系统所接入的节点具有良好的业务处理性能与链路可靠性,且可尽可能实现双活数据中心10各个节点的业务负载均衡。
在一些实施例中,第一数据中心1的第2节点获取到双活数据中心10中其余各个节点的业务负载信息之后,可以基于预设规则确定每个节点的负载能力的顺序,预设规则可以根据实际需求进行设定,本申请对此不作限定。例如,业务负载信息包括CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态七个指标,预设规则可以包括为每个指标分配权重系数,且根据各个指标的数值或状态进行打分,再基于各个指标的分数与权重系数计算得到节点的分数。第一数据中心1的第2节点可以基于各个节点的分数从高到低进行负载能力排序,将分数最高的节点确定为具有最佳负载能力的节点。例如,可以为CPU利用率、内存利用率、磁盘利用率、传输时延、通信链路状态分配第一权重系数,为网络带宽利用率、负载连接数量分配第二权重系数,第二权重系数小于第一权重系数,也可以为CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态分别分配不同的权重系数;对于CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、传输时延、负载连接数量而言,数值越低,对应的分数越高,对于通信链路状态而言,正常状态可以具有第一分数,异常状态可以具有第二分数,第一分数高于第二分数。
在一些实施例中,若在将文件系统挂载至双活数据中心10过程中,配置双活数据中心10中的某些节点具有访问权限,具有访问权限的节点可以访问文件系统,第一数据中心1的第2节点可以只从具有访问权限的节点中选择一个目标节点,并将目标节点的IP地址返回给客户端设备3。例如,在将文件系统FS1挂载至双活数据中心10过程中,配置第一数据中心1中的第3节点至第7节点以及第二数据中心2中的第i+1节点至第i+5节点可以访问文件系统,第一数据中心1的第2节点可以基于第3节点至第7节点以及第i+1节点至第i+5节点的业务负载信息,从第一数据中心1的第3节点至第7节点以及第二数据中心2的第i+1节点至第i+5节点中选择具有最佳负载能力的节点,并将具有最佳负载能力的节点的IP地址返回给客户端设备3。例如,基于第一数据中心1的第3节点至第7节点以及第二数据中心2的第i+1节点至第i+5节点的业务负载信息,确定第7节点具有最佳负载能力,第一数据中心1的第2节点可以响应客户端设备3发送的DNS查询报文,将第7节点的IP地址返回给客户端设备3,客户端设备3基于第7节点的IP地址接入第7节点,对文件系统FS1执行数据读取或者写入操作。
如图4所述,示例性的介绍本申请一实施例实现以域名方式访问多个数据中心的架构示意图。
在该实施例中,多个数据中心以双活数据中心10为例进行说明。双活数据中心10包括第一数据中心1和第二数据中心2。假设第一数据中心1包括第1节点至第i节点,IP地址分别为ip_1、ip_2、…、ip_i,第二数据中心2包括第i+1节点至第i+j节点,IP地址分别为ip_11、ip_12、…、ip_1j。第一数据中心1中的每个节点及第二数据中心2中的每个节点均可包括DNS服务模块20。
客户端侧部署有DNS服务器4,客户端设备3可以配置DNS服务器的IP地址为DNS服务器4的IP地址,客户端设备3通过域名访问网站或者应用时,可以通过发送域名的DNS查询报文至DNS服务器4,基于DNS服务器4返回的IP地址接入网站的服务器或者应用的服务器。DNS服务器4还可配置有与双活数据中心10关联的DNS查询报文的转发规则。当DNS服务器4接收到客户端设备3发送的与双活数据中心10关联的DNS查询报文时,DNS服务器4可以基于该转发规则将客户端设备3发送的与双活数据中心10关联的DNS查询报文转发给双活数据中心10的某个节点,由该节点的DNS服务模块20执行DNS查询。即DNS服务器4对于与双活数据中心10不相关的DNS查询报文可以执行DNS查询操作,对于与双活数据中心10关联的DNS查询报文,不执行DNS查询,而转发给双活数据中心10的某个节点。
例如,在将文件系统SF1挂载至双活数据中心10过程中,可以在DNS服务器4上建立转发规则,转发规则可以包括将文件系统SF1的域名的DNS查询报文转发给双活数据中心10中的某个节点,接收DNS服务器4转发的DNS查询报文的节点可以根据实际需求进行设定,本申请对此不作限定,例如可以在DNS服务器4上配置由第一数据中心1的第2节点接收DNS服务器4转发的文件系统SF1的域名的DNS查询报文。DNS服务器4接收到文件系统SF1的域名的DNS查询报文时,DNS服务器4可将该DNS查询报文转发给第一数据中心1的第2节点,由第一数据中心1的第2节点执行DNS查询。第一数据中心1的第2节点可以将DNS查询结果返回给DNS服务器4,由DNS服务器4转发给客户端设备3。DNS查询结果可以包括双活数据中心10中的某个节点的IP地址,进而客户端设备3可以基于该节点的IP地址接入该节点,实现访问挂载在双活数据中心10的文件系统,以对文件系统执行数据的读取或写入操作。
在一些实施例中,第一数据中心1的第2节点执行DNS查询时,可以基于双活数据中心10中每个节点(第1节点至第i+j节点)的业务负载信息选择一个目标节点,并将目标节点的IP地址返回给客户端设备3,例如目标节点可以是基于每个节点的业务负载信息确定为具有最佳负载能力的节点或者负载能力排名前n位中的节点等。业务负载信息包括但不限于节点的CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态等。通过DNS服务器4转发访问挂载在双活数据中心10的文件系统的DNS查询报文,不仅可以兼容现有的客户端侧网络访问配置,又可实现为客户端设备3的数据访问分配双活数据中心10中的具有最佳或者较佳负载能力的节点,使得客户端设备3访问文件系统所接入的节点具有良好的业务处理性能与链路可靠性,且可尽可能实现双活数据中心10各个节点的业务负载均衡。
参照图5所示,为本申请一实施例提供一种集群接入方法的步骤流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。本实施例中,集群接入方法可以包括:
步骤S51、获取集群中的多个节点的业务负载信息。
集群可以是指计算设备集群,计算设备集群可以包括至少一个计算设备,计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。一个计算设备可以称为是集群中的一个节点,集群中各个节点可以通过网络建立通信连接,集群中的任意一节点可以通过网络获取其他节点的业务负载信息。例如,集群可以是双活数据中心10。
业务负载信息可以是指可以影响设备接入节点的访问速度的指标项,例如,节点的业务负载信息包括但不限于CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态等信息。通信链路状态可以是指节点与接入设备之间的通信链路是否正常。
例如,集群中的任意一节点可以通过预设采集软件实时采集自身的业务负载信息,并每隔预设时间将自身的业务负载信息同步给集群中的其他各个节点,进而使得每个节点均可获取到其他节点的业务负载信息。业务负载信息还可以包含有节点的标识信息,例如标识信息为节点的IP地址,便于其他节点可以获知当前接收到的业务负载信息是哪个节点的业务负载信息。
在一些实施例中,集群中的某个节点可以响应于客户端设备发送的DNS查询报文,获取集群中的多个节点的业务负载信息。即集群中的某个节点在接收到客户端设备发送的DNS查询报文之后,获取集群中的多个节点的业务负载信息。客户端设备可以是指集群用户用于访问挂载在集群中的文件系统的设备,客户端设备包括但不限于智能手机、掌上电脑、笔记本电脑或台式电脑等,本申请实施例对此不做限定。
集群可以挂载有文件系统,客户端设备发送的DNS查询报文为用于对文件系统的域名进行解析的DNS查询报文。获取集群中的多个节点的业务负载信息可以是指获取集群中每个节点的业务负载信息,也可以是指获取集群中具备文件系统的访问权限的节点的业务负载信息。在集群中,具备文件系统的访问权限的节点可以包括多个,客户端设备在将文件系统挂载至集群的过程中,可以配置集群中的哪些节点具备文件系统的访问权限,以及配置集群中的哪个节点用于进行文件系统的域名解析,进而使得客户端设备以域名的方式访问挂载在集群上的文件系统时,可以将DNS查询报文发送给用于进行文件系统的域名解析的节点。
在一些实施例中,集群中的每个节点均可包括DNS服务模块,DNS服务模块可以是指用于实现DNS查询功能的软件,使得集群的每个节点均具备监听域名解析请求与执行DNS查询的功能,且可减少额外部署DNS服务器的成本。本申请实施例所称的模块可以是指能够完成特定功能的一系列计算机程序指令段,也可以是计算机程序指令段与硬件配合形成的功能模块,模块的划分为一种逻辑功能划分,实际实现时可以有另外的划分方式,本申请对此不作限定。
步骤S52、响应于客户端设备发送的DNS查询报文,基于多个节点中的每个节点的业务负载信息生成与DNS查询报文对应的DNS查询结果。
DNS查询结果包括接入节点的IP地址,接入节点为多个节点中的一节点。客户端设备通过接入节点接入至集群,实现访问挂载在集群的文件系统,以对文件系统执行数据的读取、写入、删除等操作。例如,客户端设备可使用接入节点的IP地址接入至接入节点,实现访问文件系统。
例如,用于进行文件系统的域名解析的节点为集群中的第一节点,第一节点可以是上述多个节点中的一节点,也可以是上述多个节点之外的节点。第一节点可以多个节点的业务负载信息,及基于多个节点中的每个节点的业务负载信息选择一个目标节点,并将目标节点的IP地址返回给客户端设备3,例如目标节点可以是基于多个节点中的每个节点的业务负载信息确定为具有最佳负载能力的节点或者负载能力排名前n位中的节点等,本申请对n的值不作限定,例如n为3。通过为客户端设备3的数据访问分配集群中的具有最佳或者较佳负载能力的节点,使得客户端设备3访问文件系统所接入的节点具有良好的业务处理性能与链路可靠性,且可尽可能实现双活数据中心10各个节点的业务负载均衡。例如,将多个节点中具有最佳负载能力的节点作为接入节点,即接入节点的负载能力优于多个节点中其余节点的负载能力,可以提升用户通过客户端设备访问文件系统的使用体验。
在一些实施例中,第一节点可以基于预设规则确定多个节点中的每个节点的负载能力的顺序,预设规则可以根据实际需求进行设定,本申请对此不作限定。例如,业务负载信息包括CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态七个指标,预设规则可以包括为每个指标分配权重系数,且根据各个指标的数值或状态进行打分,再基于各个指标的分数与权重系数计算得到节点的分数。第一节点可以基于各个节点的分数从高到低进行负载能力排序,将分数最高的节点确定为具有最佳负载能力的节点。例如,可以为CPU利用率、内存利用率、磁盘利用率、传输时延、通信链路状态分配第一权重系数,为网络带宽利用率、负载连接数量分配第二权重系数,第二权重系数小于第一权重系数,也可以为CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态分别分配不同的权重系数;对于CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、传输时延、负载连接数量而言,数值越低,对应的分数越高,对于通信链路状态而言,正常状态可以具有第一分数,异常状态可以具有第二分数,第一分数高于第二分数。
步骤S53、将DNS查询结果发送给客户端设备。
第一节点可以将DNS查询结果发送给客户端设备,使得客户端设备可以使用接入节点的IP地址接入至接入节点,对挂载在集群上的文件系统执行诸如数据的读取、写入、删除等操作。
如图6所示,为本申请一实施例提供一种集群接入装置30。集群接入装置30可以包括第一获取模块301、查询模块302及第一发送模块303。
第一获取模块301,用于获取集群中的多个节点的业务负载信息。
查询模块302,用于响应于客户端设备发送的DNS查询报文,基于多个节点中的每个节点的业务负载信息生成与DNS查询报文对应的DNS查询结果。
DNS查询结果可以包括接入节点的IP地址,接入节点为多个节点中的一节点。
第一发送模块303,用于将DNS查询结果发送给客户端设备。
其中,第一获取模块301、查询模块302及第一发送模块303均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以第一获取模块301为例,介绍第一获取模块301的实现方式。类似的,查询模块302及第一发送模块303的实现方式可以参考第一获取模块301的实现方式。
模块作为软件功能单元的一种举例,第一获取模块301可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,第一获取模块301可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,第一获取模块301可以包括至少一个计算设备,如服务器等。或者,第一获取模块301也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logicdevice,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD)、现场可编程门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
第一获取模块301包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。第一获取模块301包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,第一获取模块301包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,在其他实施例中,第一获取模块301可以用于执行集群接入方法中的任意步骤,查询模块302可以用于执行集群接入方法中的任意步骤,第一发送模块303可以用于执行集群接入方法中的任意步骤,第一获取模块301、查询模块302及第一发送模块303负责实现的步骤可根据需要指定,通过第一获取模块301、查询模块302及第一发送模块303分别实现集群接入方法中不同的步骤来实现集群接入装置30的全部功能。
如图7所示,为本申请一实施例提供一种集群访问方法的步骤流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。本实施例中,集群访问方法可以包括:
步骤S71、获取用于对文件系统的域名进行解析的DNS服务器信息,文件系统挂载在集群上。
例如,文件系统可以是NFS文件系统、CIFS文件系统等。客户端设备可以采用域名的方式访问挂载在集群上的文件系统。客户端设备可以预先配置用于对文件系统的域名进行解析的DNS服务器信息,进而在使用域名访问挂载在集群上的文件系统时,可以直接获取并使用预先配置的用于对文件系统的域名进行解析的DNS服务器信息发送DNS查询报文。DNS服务器信息可以包括用于对域名解析的DNS服务器的IP地址。
在一些实施例中,集群中的每个节点均可包括DNS服务模块,DNS服务模块可以是指用于实现DNS查询功能的软件,进而使得集群的每个节点均具备监听域名解析请求与执行DNS查询的功能。客户端设备配置的用于对域名进行解析的DNS服务器的IP地址可以是集群中的某个节点的IP地址,也可以是与客户端通信连接的某个DNS服务器(集群用户部署的内网的DNS服务器,也可以是外网运营商的DNS服务器)的IP地址。
S72、根据DNS服务器信息发送域名的DNS查询报文至集群中的第一节点,及获取第一节点返回的DNS查询结果。
若客户端设备配置的用于对域名进行解析的DNS服务器的IP地址是集群中的某个节点的IP地址,客户端设备可以基于该节点的IP地址发送域名的DNS查询报文至该节点,由该节点上的DNS服务模块进行域名解析。例如,用于对域名进行解析的DNS服务器的IP地址是集群中的第一节点,客户端设备可以基于第一节点的IP地址发送域名的DNS查询报文至第一节点,由第一节点的DNS服务模块执行DNS查询。
若客户端设备配置的用于对域名进行解析的DNS服务器的IP地址是某个DNS服务器的IP地址,可以在DNS服务器上配置用于对域名的DNS查询报文进行转发的转发规则。当该DNS服务器接收到客户端设备发送的用于对文件系统的域名进行解析的DNS查询报文时,该DNS服务器可以基于转发规则将用于对文件系统的域名进行解析的DNS查询报文转发给集群中的某个节点,由该节点的DNS服务模块执行DNS查询。接收该DNS服务器转发的DNS查询报文的节点的IP地址可以在构建转发规则时进行设定。例如,设定接收该DNS服务器转发的DNS查询报文的节点为集群中的第一节点的IP地址,DNS服务器可以基于转发规则将用于对文件系统的域名进行解析的DNS查询报文转发给集群中的第一节点,由第一节点的DNS服务模块执行DNS查询。
DNS查询结果可以包括接入节点的IP地址,接入节点为集群中的一节点。第一节点可基于集群中的每个节点的业务负载信息进行节点选择或者基于集群中的具备文件系统的访问权限的节点的业务负载信息进行节点选择,选择的节点用于用作接入节点,接入节点的负载能力可以优于集群中其余节点的负载能力。第一节点可以基于预设规则确定多个节点中的每个节点的负载能力的顺序,预设规则可以根据实际需求进行设定,本申请对此不作限定。例如,业务负载信息包括CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态七个指标,预设规则可以包括为每个指标分配权重系数,且根据各个指标的数值或状态进行打分,再基于各个指标的分数与权重系数计算得到节点的分数。第一节点可以基于各个节点的分数从高到低进行负载能力排序,将分数最高的节点确定为具有最佳负载能力的节点,并作为接入节点。
第一节点的DNS服务模块执行DNS查询,得到接入节点的IP地址之后,第一节点可以直接将DNS查询结果发送给客户端设备,或者第一节点将DNS查询结果发送给DNS服务器,由DNS服务器转发给客户端设备。例如,DNS查询结果的报文目的地址为客户端设备的IP地址,DNS服务器可以基于报文目的地址将DNS查询结果转发给客户端设备。
S73、基于接入节点的IP地址接入至接入节点,以访问文件系统。
客户端设备接收到第一节点返回的DNS查询结果之后,可以基于接入节点的IP地址接入至接入节点,进而可对挂载在集群上的文件系统执行诸如数据的读取、写入、删除等操作。
如图8所示,为本申请一实施例提供一种集群访问装置40。集群访问装置40可以包括第二获取模块401、第二发送模块402及接入模块403。
第二获取模块401,用于获取对文件系统的域名进行解析的DNS服务器信息,文件系统挂载在集群上。
第二发送模块402,用于根据DNS服务器信息发送域名的DNS查询报文至集群中的第一节点,及获取第一节点返回的DNS查询结果。
DNS查询结果包括接入节点的IP地址,接入节点为集群中的一节点。
接入模块403,用于基于接入节点的IP地址接入至接入节点,以访问文件系统。
其中,第二获取模块401、第二发送模块402及接入模块403均可以通过软件实现,或者可以通过硬件实现。
需要说明的是,在其他实施例中,第二获取模块401可以用于执行集群访问方法中的任意步骤,第二发送模块402可以用于执行集群访问方法中的任意步骤,接入模块403可以用于执行集群访问方法中的任意步骤,第二获取模块401、第二发送模块402及接入模块403负责实现的步骤可根据需要指定,通过第二获取模块401、第二发送模块402及接入模块403分别实现集群访问方法中不同的步骤来实现集群访问装置40的全部功能。
如图9所示,为本申请实施例提供的一种计算设备100,计算设备100包括:总线102、处理器104、存储器106和通信接口108。处理器104、存储器106和通信接口108之间通过总线102通信。计算设备100可以是服务器或终端设备。应理解,本申请不限定计算设备100中的处理器、存储器的个数。
总线102可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线104可包括在计算设备100各个部件(例如,存储器106、处理器104、通信接口108)之间传送信息的通路。
处理器104可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器106可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器104还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器106中存储有可执行的程序代码,处理器104执行该可执行的程序代码以分别实现前述第一获取模块301、查询模块302及第一发送模块303的功能,从而实现集群接入方法。也即,存储器106上存有用于执行集群接入方法的指令。
通信接口108使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备100与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图10所示,计算设备集群包括至少一个计算设备100。计算设备集群中的一个或多个计算设备100中的存储器106中可以存有相同的用于执行集群接入方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备100的存储器106中也可以分别存有用于执行集群接入方法的部分指令。换言之,一个或多个计算设备100的组合可以共同执行用于执行集群接入方法的指令。
需要说明的是,计算设备集群中的不同的计算设备100中的存储器106可以存储不同的指令,分别用于执行集群接入装置的部分功能。也即,不同的计算设备100中的存储器106存储的指令可以实现第一获取模块301、查询模块302及第一发送模块303中的一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图10示出了一种可能的实现方式。如图10所示,两个计算设备100A和100B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备100A中的存储器106中存有执行第一获取模块301的功能的指令。同时,计算设备100B中的存储器106中存有执行查询模块302及第一发送模块303的功能的指令。
图10所示的计算设备集群之间的连接方式可以是考虑到本申请提供的集群接入方法需要大量地存储数据和读取数据,因此考虑将查询模块302及第一发送模块303实现的功能交由计算设备100B执行。
应理解,图10中示出的计算设备100A的功能也可以由多个计算设备100完成。同样,计算设备100B的功能也可以由多个计算设备100完成。
本申请实施例还提供了一种电子设备,电子设备包括处理器和存储器,存储器用于存储指令,处理器用于调用存储器中的指令,使得电子设备执行集群访问方法。电子设备包括但不限于智能手机、掌上电脑、笔记本电脑或台式电脑等。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行集群接入方法,或集群访问方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行集群接入方法,或指示计算设备执行集群访问方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应所述理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例是示意性的,例如,所述模块或单元的划分,为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的全部或部分可以以软件产品的形式体现出来,所述软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。

Claims (19)

1.一种集群接入方法,其特征在于,所述方法包括:
获取集群中的多个节点的业务负载信息;
响应于客户端设备发送的域名系统DNS查询报文,基于所述多个节点中的每个节点的业务负载信息生成与所述DNS查询报文对应的DNS查询结果,所述DNS查询结果包括接入节点的互联网协议IP地址,所述接入节点为所述多个节点中的一节点;
将所述DNS查询结果发送给所述客户端设备。
2.如权利要求1所述的集群接入方法,其特征在于,所述获取集群中的多个节点的业务负载信息,包括:
响应于所述客户端设备发送的DNS查询报文,获取所述集群中的多个节点的业务负载信息,所述集群挂载有文件系统,所述DNS查询报文为用于对所述文件系统的域名进行解析的DNS查询报文,所述客户端设备用于基于所述接入节点的IP地址接入至所述接入节点访问所述文件系统。
3.如权利要求1或2所述的集群接入方法,其特征在于,所述基于所述多个节点中的每个节点的业务负载信息生成与所述DNS查询报文对应的DNS查询结果,包括:
基于所述多个节点中的每个节点的业务负载信息进行节点选择,选择的节点用于用作所述接入节点,所述接入节点的负载能力优于所述多个节点中其余节点的负载能力;
基于所述接入节点的IP地址生成所述DNS查询结果。
4.如权利要求2所述的集群接入方法,其特征在于,所述获取集群中的多个节点的业务负载信息,包括:
获取所述集群中具备所述文件系统的访问权限的节点;
获取具备所述文件系统的访问权限的节点的业务负载信息。
5.如权利要求1至4中任意一项所述的集群接入方法,其特征在于,所述业务负载信息包括CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态中的至少一个。
6.如权利要求1至5中任意一项所述的集群接入方法,其特征在于,所述集群为双活数据中心,所述双活数据中心中的每个节点均安装有DNS服务软件,所述DNS服务软件用于执行DNS查询。
7.一种集群访问方法,其特征在于,所述方法包括:
获取用于对文件系统的域名进行解析的域名系统DNS服务器信息,所述文件系统挂载在集群上;
根据所述DNS服务器信息发送所述域名的DNS查询报文至所述集群中的第一节点,及获取所述第一节点返回的DNS查询结果,所述DNS查询结果包括接入节点的互联网协议IP地址,所述第一节点用于基于所述集群中的多个节点的业务负载信息进行节点选择,选择的节点用于用作所述接入节点;
基于所述接入节点的IP地址接入至所述接入节点,以访问所述文件系统。
8.如权利要求7所述的集群访问方法,其特征在于,所述DNS服务器信息包括所述第一节点的IP地址,所述根据所述DNS服务器信息发送所述域名的DNS查询报文至所述集群中的第一节点,包括:
根据所述第一节点的IP地址发送所述域名的DNS查询报文至所述第一节点。
9.如权利要求7所述的集群访问方法,其特征在于,所述DNS服务器信息包括与客户端设备关联的DNS服务器的IP地址,所述根据所述DNS服务器信息发送所述域名的DNS查询报文至所述集群中的第一节点,包括:
所述客户端设备基于所述DNS服务器的IP地址发送所述域名的DNS查询报文至所述DNS服务器,所述DNS服务器用于基于预设转发规则将所述DNS查询报文转发至所述集群中的第一节点,所述预设转发规则包括:基于所述集群中的第一节点的IP地址对所述域名的DNS查询报文进行转发。
10.如权利要求7至9中任意一项所述的集群访问方法,其特征在于,所述第一节点用于基于所述集群中的每个节点的业务负载信息进行节点选择,所述接入节点的负载能力优于所述集群中其余节点的负载能力。
11.如权利要求7至9中任意一项所述的集群访问方法,其特征在于,所述第一节点用于获取所述集群中具备所述文件系统的访问权限的节点,及基于各个具备所述文件系统的访问权限的节点的业务负载信息进行节点选择,选择的节点用于用作所述接入节点,所述接入节点的负载能力优于所述集群中其余具备所述文件系统的访问权限的节点的负载能力。
12.如权利要求10或11所述的集群访问方法,其特征在于,所述业务负载信息包括CPU利用率、内存利用率、磁盘利用率、网络带宽利用率、负载连接数量、传输时延、通信链路状态中的至少一个。
13.如权利要求7至12中任意一项所述的集群访问方法,其特征在于,所述集群为双活数据中心,所述双活数据中心中的每个节点均安装有DNS服务软件,所述DNS服务软件用于执行DNS查询。
14.一种集群接入装置,其特征在于,所述装置包括:
第一获取模块,用于获取集群中的多个节点的业务负载信息;
查询模块,用于响应于客户端设备发送的域名系统DNS查询报文,基于所述多个节点中的每个节点的业务负载信息生成与所述DNS查询报文对应的DNS查询结果,所述DNS查询结果包括接入节点的互联网协议IP地址,所述接入节点为所述多个节点中的一节点;
第一发送模块,用于将所述DNS查询结果发送给所述客户端设备。
15.一种集群访问装置,其特征在于,所述装置包括:
第二获取模块,用于获取对文件系统的域名进行解析的域名系统DNS服务器信息,所述文件系统挂载在集群上;
第二发送模块,用于根据所述DNS服务器信息发送所述域名的DNS查询报文至所述集群中的第一节点,及获取所述第一节点返回的DNS查询结果,所述DNS查询结果包括接入节点的互联网协议IP地址,所述接入节点为所述集群中的一节点;
接入模块,用于基于所述接入节点的IP地址接入至所述接入节点,以访问所述文件系统。
16.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至权利要求6中任一项所述的集群接入方法。
17.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1至权利要求6中任一项所述的集群接入方法。
18.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至权利要求6中任一项所述的集群接入方法。
19.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行权利要求7至权利要求13中任一项所述的集群访问方法。
CN202211059056.5A 2022-08-30 2022-08-30 集群接入方法、集群访问方法及相关设备 Pending CN117675825A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211059056.5A CN117675825A (zh) 2022-08-30 2022-08-30 集群接入方法、集群访问方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211059056.5A CN117675825A (zh) 2022-08-30 2022-08-30 集群接入方法、集群访问方法及相关设备

Publications (1)

Publication Number Publication Date
CN117675825A true CN117675825A (zh) 2024-03-08

Family

ID=90077616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211059056.5A Pending CN117675825A (zh) 2022-08-30 2022-08-30 集群接入方法、集群访问方法及相关设备

Country Status (1)

Country Link
CN (1) CN117675825A (zh)

Similar Documents

Publication Publication Date Title
US11036669B2 (en) Scalable direct inter-node communication over peripheral component interconnect-express (PCIe)
CN106210147B (zh) 一种基于轮询的负载均衡方法和装置
US10887276B1 (en) DNS-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
US11095534B1 (en) API-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
EP3349132A1 (en) A distributed object storage
US20170070598A1 (en) Client-initiated leader election in distributed client-server systems
JP2023532947A (ja) データ転送方法、プロキシサーバ、記憶媒体及び電子デバイス
KR20080096547A (ko) 가상 네트워크 저장 시스템, 네트워크 저장 장치 및 가상 방법
WO2021098407A1 (zh) 基于mec的服务节点分配方法、装置及相关服务器
US11743325B1 (en) Centralized load balancing of resources in cloud edge locations embedded in telecommunications networks
CN114095430B (zh) 一种访问报文的处理方法、系统及工作节点
CN111225003B (zh) 一种nfs节点配置方法和装置
EP4068725A1 (en) Load balancing method and related device
CN113839862B (zh) Mclag邻居之间同步arp信息的方法、系统、终端及存储介质
CN107172214A (zh) 一种具有负载均衡的服务节点发现方法及装置
CN114765630B (zh) 多租户平台的数据访问方法、多租户平台及服务器
CN108881506A (zh) 一种基于多可用分区az的域名解析方法及装置
CN115987990A (zh) 多集群负载均衡方法、装置、电子设备及存储介质
CN113301079A (zh) 一种数据的获取方法、系统、计算设备及存储介质
CN118227050A (zh) 数据的存储方法及装置
CN107547605B (zh) 一种基于节点队列的消息读写方法及节点设备
CN109451090B (zh) 一种域名解析方法及装置
US11675510B2 (en) Systems and methods for scalable shared memory among networked devices comprising IP addressable memory blocks
CN117675825A (zh) 集群接入方法、集群访问方法及相关设备
US10481963B1 (en) Load-balancing for achieving transaction fault tolerance

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