CN118057799A - 算力选择方法、装置及系统 - Google Patents
算力选择方法、装置及系统 Download PDFInfo
- Publication number
- CN118057799A CN118057799A CN202211454610.XA CN202211454610A CN118057799A CN 118057799 A CN118057799 A CN 118057799A CN 202211454610 A CN202211454610 A CN 202211454610A CN 118057799 A CN118057799 A CN 118057799A
- Authority
- CN
- China
- Prior art keywords
- computing
- service
- power
- force
- computing power
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010187 selection method Methods 0.000 title claims abstract description 20
- 238000004364 calculation method Methods 0.000 title claims description 82
- 230000004044 response Effects 0.000 claims abstract description 161
- 238000004891 communication Methods 0.000 claims abstract description 18
- 238000003860 storage Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 101
- 238000004590 computer program Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 7
- 230000000875 corresponding effect Effects 0.000 description 56
- 238000012545 processing Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000005538 encapsulation Methods 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 8
- 238000012512 characterization method Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000032683 aging Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 238000013316 zoning Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
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响应报文后,即可基于该目标算力服务实例的网络地址,直接向目标算力服务实例请求算力服务。由此,算力路由节点中无需再为每个客户端设备维护对应的流表,有效减少了算力路由节点中所需维护的表项数量,减轻了算力路由节点的存储压力。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种算力选择方法、装置及系统。
背景技术
算力优先网络(computing first network,CFN),简称算力网络,是一种为客户端设备提供算力服务的网络。算力网络一般包括一个或多个算力路由节点,以及用于提供算力服务的多个服务节点。
其中,算力路由节点可以感知并记录各个服务节点的算力负载。算力路由节点接收到客户端设备发送的算力请求报文后,可以基于各个服务节点的算力负载,从中确定出匹配的服务节点,并将该算力请求报文路由至该匹配的服务节点。并且,算力路由节点可以生成该客户端设备的流表,该流表中记录有该客户端设备与该匹配的服务节点的对应关系。算力路由节点接收到客户端设备发送的后续报文后,即可直接根据该客户端设备的流表,将该后续报文转发至匹配的服务节点。
但是,上述方法需要算力路由节点针对每个客户端设备均维护对应的一个流表,导致算力路由节点中所需维护的表项数量较多,负担较重。
发明内容
本申请提供了一种算力选择方法、装置及系统,可以解决算力路由节点中所需维护的表项数量较多的技术问题。
第一方面,提供了一种算力选择方法,应用于算力路由节点。该方法包括:接收域名系统(domain name system,DNS)服务器发往客户端设备的DNS响应报文,该DNS响应报文中包括该客户端设备所请求的算力服务的网络地址,之后,在该DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址,并将该DNS响应报文发送至客户端设备。该DNS响应报文用于供该客户端设备向该目标算力服务实例请求该算力服务。
基于本申请提供的方案,客户端设备能够基于DNS响应报文中的目标算力服务实例的网络地址,直接向该目标算力服务实例请求算力服务。由此,客户端无需向算力路由节点发送算力请求报文,算力路由节点中无需再为每个客户端设备维护对应的流表,从而有效减少了算力路由节点中所需维护的表项数量,减轻了算力路由节点的存储压力。
可选地,在DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址的过程可以包括:将该DNS响应报文中的算力服务的网络地址替换为该目标算力服务实例的网络地址。也即是,该算力路由节点能够对DNS响应报文中的算力服务的网络地址进行网络地址转换(network address translation,NAT)处理。
通过对DNS响应报文进行NAT处理,可以避免对DNS响应报文的格式和解析方式造成影响,进而可以确保客户端设备能够按照传统DNS响应报文的处理方式,对该算力路由节点发送的DNS响应报文进行处理。基于此,本申请提供的方案能够与传统客户端设备的操作有效兼容。
可选地,在DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址之前,该方法还可以包括:确定用于提供该算力服务的多个算力服务实例,并从该多个算力服务实例中确定满足服务条件的目标算力服务实例。
在本申请提供的方案中,算力路由节点能够选择满足服务条件的目标算力服务实例,即该算力路由节点具有算力选择决策的功能。相应的,该算力选择系统中的各个算力路由节点可以实现分布式的算力选择决策。
可选地,该算力路由节点中可以存储有算力服务的网络地址与多个算力服务实例的网络地址的映射关系。相应的,算力路由节点确定用于提供该算力服务的多个算力服务实例的过程可以包括:根据该算力服务的网络地址和该映射关系,确定该多个算力服务实例。
其中,算力服务的网络地址与每个算力服务实例的网络地址的关联关系可以是该算力服务实例所对应的实例节点通告至算力路由节点的。每个算力服务实例所对应的实例节点可以是该算力服务实例所属的服务节点,或者可以是与该服务节点直连的算力路由节点。
可选地,该算力路由节点中还可以存储有该多个算力服务实例的性能信息。相应的,算力路由节点从该多个算力服务实例中确定满足服务条件的目标算力服务实例的过程可以包括:基于该多个算力服务实例的性能信息,从该多个算力服务实例中确定满足服务条件的目标算力服务实例。
其中,每个算力服务实例的性能信息也可以是由该算力服务实例所对应的实例节点通告至算力路由节点的。例如,该实例节点可以周期性地向算力路由节点通告算力服务实例的性能信息。
可选地,在DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址之前,该方法还可以包括:向算力调度节点发送调度请求,该调度请求包括算力服务的网络地址,且该调度请求用于指示算力调度节点从提供该算力服务的多个算力服务实例中确定满足服务条件的目标算力服务实例;之后,接收算力调度节点基于该调度请求发送的调度响应,该调度响应包括该目标算力服务实例的网络地址。
在本申请提供的方案中,算力选择系统中部署的算力调度节点可以实现集中式的算力选择决策。其中,该算力调度节点可以是控制器或服务器等设备。
可选地,该服务条件可以包括:该目标算力服务实例的算力负载小于负载阈值。由此,可以确保优先由算力负载较轻的算力服务实例为客户端设备提供算力服务,以确保提供算力服务时的可靠性。
可选地,该服务条件还可以包括:该目标算力服务实例对应的实例节点与该算力路由节点之间的网络性能满足通信条件。由此,还可以确保由网络性能较好的算力服务实例为客户端设备提供算力服务,以进一步确保提供算力服务时的可靠性。
第二方面,提供了一种算力选择方法,应用于客户端设备。该方法包括:向DNS服务器发送DNS请求报文,该DNS请求报文包括客户端设备所请求的算力服务的域名;接收DNS响应报文,该DNS响应报文中包括用于提供该算力服务的目标算力服务实例的网络地址;以及,基于该目标算力服务实例的网络地址,向该目标算力服务实例请求算力服务。
可选地,该方法还可以包括:记录算力服务的域名与该目标算力服务实例的网络地址的对应关系。由此,客户端设备发往该目标算力服务实例的后续报文即可直接基于该对应关系进行发送。
可选地,基于该目标算力服务实例的网络地址,向该目标算力服务实例请求算力服务的过程可以包括:向该目标算力服务实例发送算力请求报文,该算力请求报文的目的地址为该目标算力服务实例的网络地址。
由于该算力请求报文的目的地址即为目标算力服务实例的网络地址,因此可以确保算力选择系统能够直接按照该目的地址转发报文,而无需再由算力路由节点维护客户端设备的流表,并基于该流表进行转发。
第三方面,提供了一种算力选择方法,应用于算力选择系统,该算力选择系统包括客户端设备,DNS服务器,算力路由节点,以及部署有多个算力服务实例的至少一个服务节点,该多个算力服务实例用于提供相同的算力服务。该方法包括:客户端设备向DNS服务器发送DNS请求报文,该DNS请求报文包括客户端设备所请求的算力服务的域名;DNS服务器基于该DNS请求报文,通过算力路由节点向客户端设备发送DNS响应报文,该DNS响应报文中包括对该域名进行解析得到的算力服务的网络地址;算力路由节点在该DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址,该目标算力服务实例属于该多个算力服务实例;算力路由节点将该DNS响应报文发送至客户端设备;客户端设备基于该目标算力服务实例的网络地址,向目标算力服务实例请求该算力服务。
可选地,算力路由节点在该DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址的过程可以包括:算力路由节点将该DNS响应报文中的算力服务的网络地址替换为该目标算力服务实例的网络地址。
可选地,在算力路由节点在该DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址之前,该方法还可以包括:算力路由节点确定用于提供该算力服务的该多个算力服务实例,并从该多个算力服务实例中确定满足服务条件的目标算力服务实例。
可选地,该DNS响应系统还可以包括算力调度节点;在算力路由节点在该DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址之前,该方法还可以包括:算力路由节点向算力调度节点发送调度请求,该调度请求包括该算力包括服务的网络地址;算力调度节点基于该调度请求,从该多个算力服务实例中确定满足服务条件的目标算力服务实例,并向该算力路由节点发送调度响应,该调度响应包括该目标算力服务实例的网络地址。
第四方面,提供了一种算力路由节点,该算力路由节点包括至少一个模块,该至少一个模块可以用于实现上述第一方面所提供的算力选择方法。
第五方面,提供了一种客户端设备,该客户端设备包括至少一个模块,该至少一个模块可以用于实现上述第二方面所提供的算力选择方法。
第六方面,提供了一种算力路由节点,该算力路由节点包括:存储器,处理器及存储在该存储器上并能够在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现上述第一方面所提供的算力选择方法。
第七方面,提供了一种客户端设备,该客户端设备包括:存储器,处理器及存储在该存储器上并能够在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现上述第二方面所提供的算力选择方法。
第八方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在处理器上运行时,使得处理器执行如上述任一方面提供的算力选择方法。
第九方面,提供了一种包含指令的计算机程序产品,该指令由处理器执行以实现如上述任一方面提供的算力选择方法。
第十方面,提供了一种芯片,该芯片可以用于实现上述任一方面提供的算力选择方法。
第十一方面,提供了一种算力选择系统,该算力选择系统包括:算力路由节点,以及部署有多个算力服务实例的至少一个服务节点,该多个算力服务实例用于提供相同的算力服务。该算力路由节点用于实现上述第一方面所提供的算力选择方法。
可选地,该算力选择系统还可以包括:客户端设备,该客户端设备可以用于实现如上述第二方面所提供的算力选择方法。
可选地,该算力选择系统还可以包括:算力调度节点,该算力调度节点用于:若接收到该算力路由节点发送的携带有算力服务的网络地址的调度请求,则从用于提供该算力服务器的多个算力服务实例中确定满足服务条件的目标算力服务实例,并向算力路由节点发送调度响应,该调度响应包括该目标算力服务实例的网络地址。
综上所述,本申请提供了一种算力选择方法、装置及系统。本申请提供的方案中,算力路由节点能够在DNS服务器发往客户端设备的DNS响应报文中封装用于提供算力服务的目标算力服务实例的网络地址,然后再将该DNS响应报文发送至客户端设备。客户端设备接收到该DNS响应报文后,即可基于该目标算力服务实例的网络地址,直接向目标算力服务实例请求算力服务。由此,算力路由节点中无需再为每个客户端设备维护对应的流表,有效减少了算力路由节点中所需维护的表项数量,减轻了算力路由节点的存储压力。
附图说明
图1是本申请实施例提供的一种算力网络的结构示意图;
图2是本申请实施例提供的另一种算力网络的结构示意图;
图3是本申请实施例提供的一种域名解析流程的示意图;
图4是本申请实施例提供的一种DNS报文的结构示意图;
图5是本申请实施例提供的一种算力选择方法的流程图;
图6是本申请实施例提供的另一种算力选择方法的流程图;
图7是本申请实施例提供的一种通过分布式的方式实现算力选择的示意图;
图8是本申请实施例提供的一种算力服务的网络地址与算力服务实例的网络地址的对应关系的示意图;
图9是本申请实施例提供的又一种算力选择方法的流程图;
图10是本申请实施例提供的一种通过集中式的方式实现算力选择的示意图;
图11是本申请实施例提供的一种算力路由节点的结构示意图;
图12是本申请实施例提供的一种客户端设备的结构示意图;
图13是本申请实施例提供的一种算力设备的结构示意图;
图14是本申请实施例提供的另一种算力设备的结构示意图。
具体实施方式
下面结合附图详细介绍本申请实施例提供的算力选择方法、装置及系统。
人工智能技术带来信息社会向着智能社会转变,智能社会的一个典型特征即物理世界和数字世界的深度融合,未来数字世界通过物联网及增强现实等技术提供的传感器和执行器与真实世界产生互动。交互方式上由传统社会人与人的交互,转变为数据与计算能力的交互,用户和应用使用互联网的首要需求可能不再是获得信息,而是获得计算资源、获得功能,核心的目的是获得计算的结果。
基于上述需求,算力网络应运而生。算力网络的技术组成,主要包括控制面的算网协同调度,数据面的网络融合感知,以及管理和服务面的算力资源编排等。算力网络体系的整体架构,应该具备统一纳管底层计算资源、存储资源和网络资源的能力,并能够将底层基础设施资源以统一的标准进行度量,抽象为信息要素加载在网络报文中,通过网络进行共享。
算力网络能够实现边缘计算成网和边边协作,利用服务的多副本特性,实现用户的就近接入和服务的负载均衡,适应服务的动态性。并且,算力网络基于服务标识(serviceidentity,service ID)寻址,将计算能力状况和网络状况作为路由信息发布到网络,网络将算力请求报文路由到最合适的计算节点,实现用户体验最优、计算资源利用率最优以及网络效率最优。
图1是本申请实施例提供的一种算力网络的结构示意图,如图1所示,该算力网络可以包括多个算力路由节点01和多个服务节点02。该多个算力路由节点01之间建立有通信连接,每个服务节点02与一个算力路由节点01之间建立有通信连接。其中,每个算力路由节点01可以为路由器或交换机等具有报文转发功能的设备,其也可以称为算力路由设备或CFN节点(node)。
每个服务节点02中部署有至少一个算力服务实例,该算力服务实例可以用于提供算力服务,即提供计算资源,以及功能或服务。每个服务节点02可以是单个物理服务器,也可以服务器集群,或者可以是云服务器。服务节点02也可以称为计算节点,或者多接入边缘计算(multi-access edge computing,MEC)节点。参考图1可以看出,该多个算力路由节点01可以位于CFN层,该CFN层可以由互联网协议(Internet protocol,IP)层承载(underlay)。
继续参考图1,算力路由节点01还可以与客户端设备03连接,并可以将该客户端设备03发送的算力请求报文路由至匹配的服务节点02,以便该匹配的服务节点02为客户端设备03提供算力服务。其中,该客户端设备03也可以称为用户设备,其可以为家庭网关(residential gateway,RGW)、手机、笔记本电脑或者台式电脑等设备。
可以理解的是,与客户端设备03直连的算力路由节点01也可以称为入(ingress)节点或头端节点,与该匹配的服务节点02直连的算力路由节点01也可以称为出(egress)节点或尾端节点。该多个服务节点02根据部署位置的不同,可以划分为边缘节点、区域节点和中心节点等。并且,部署位置不同的服务节点02的性能可以不同,例如,中心节点的性能可以优于边缘节点。
相关技术中,算力路由节点01接收到某个客户端设备03发送的算力请求报文后,可以基于预先存储的算力路由表选择匹配的服务节点02,生成该客户端设备03的流表,并基于该流表转发客户端设备03的算力请求报文。参考图2,假设算力网络中的CFN节点1与客户端设备连接,CFN节点2与服务节点1连接,CFN节点3与服务节点2连接。该服务节点1的IP地址为IPA,服务节点2的IP地址为IPB,且该两个服务节点中部署的算力服务实例用于提供相同的算力服务。则CFN节点1转发客户端设备的算力请求报文的过程可以包括:
步骤1,CFN节点2和CFN节点3分别通过边界网关协议(border gateway protocol,BGP)协议向CFN节点1通告算力负载与网络位置的关联关系。其中,算力负载也可以称为算力状态,网络位置可以是服务节点的IP地址。例如,CFN节点2通告的关联关系可以包括:服务节点1所提供的算力服务的标识S1,服务节点1的算力负载,以及服务节点1的IP地址。CFN节点3通告的关联关系可以包括:服务节点2所提供的算力服务的标识S1,服务节点2的算力负载,以及服务节点2的IP地址。
其中,算力服务的标识也可以称为服务标识。每个服务节点的算力负载可以采用下述参数中的至少一个参数表征:处理器使用率,内存使用率,在线连接数,网络时延和融合开销(metric)等。该处理器使用率可以包括中央处理器(central processing unit,CPU)使用率,和/或,图形处理器(graphics processing unit,GPU)使用率等。
步骤2,CFN节点1根据接收到的关联关系建立算力路由表。该算力路由表中可以维护有同一算力服务对应的不同服务节点的IP地址,以及不同服务节点的算力负载。例如,该CFN节点1建立的算力路由表可以如表1所示。其中,服务标识为S1的算力服务对应有两个服务节点,该两个服务节点的IP地址分别为IPA和IPB。每个服务节点的算力负载可以包括CPU使用率、GPU使用率、在线连接数、网络时延和融合开销。
表1
步骤3,需要访问远端网络服务的客户端设备向CFN节点1(即头端CFN节点)发送算力请求报文。该算力请求报文的目的地址(destination address,DA)为所需请求的算力服务的标识。例如,参考图2,该算力请求报文的目的地址为S1。
可以理解的是,该算力请求报文可以是客户端设备针对该算力服务发送的首个请求报文(即首包),该算力请求报文可以请求与提供算力服务的算力服务实例创建会话。客户端设备与提供算力服务的某个算力服务实例创建会话后,即可通过该会话获取算力服务。
示例的,该算力请求报文可以是传输控制协议(transmission controlprotocol,TCP)连接的请求报文,或者可以是快速UDP互联网连接协议(quick UDPInternet connections,QUIC)连接的请求报文。当然,该算力请求报文还可以是其他用于在网络层以上(例如应用层和传输层等)建立会话的首包,本申请实施例对此不做限定。
步骤4,CFN节点1基于算力路由表以及算力选择策略(例如优先选择轻载的服务节点)确定匹配的服务节点,将算力请求报文的目的地址更新为该服务节点的IP地址,并将算力请求报文转发至该服务节点。并且,CFN节点1可以建立客户端设备到该服务节点的流表以指导后续报文转发。其中,该流表具有老化机制,老化后需要CFN节点1根据各个服务节点的算力负载重新选择匹配的服务节点。
示例的,假设CFN节点1确定出的匹配的服务节点为服务节点1,则CFN节点1可以将算力请求报文的目的地址更新为IPA,并转发至服务节点1。并且,CFN节点1可以建立如表2所示的流表。该流表中包括客户端设备的五元组信息,匹配的服务节点1的IP地址IPA,下一跳地址,以及出接口。其中,五元组信息中包括源IP,源端口,服务标识,目的端口,协议类型。下一跳地址为与该服务节点1连接的CFN节点2的IP地址:IP1。出接口为SRv6隧道。
表2
五元组 | 服务节点 | 下一跳 | 出接口 |
源IP,源端口,服务标识,目的端口,协议类型 | IPA | IP1 | SRv6隧道 |
步骤5,CFN节点1根据流表中服务节点的IP地址所对应的下一跳转发算力请求报文。例如,参考表2,CFN节点1可以对算力请求报文进行隧道封装转发。
步骤6,CFN节点2解封装隧道,并根据算力请求报文的目的地址,将该算力请求报文路由至对应的服务节点1。其中,CFN节点2即为传输网络的尾节点。
步骤7,CFN节点1接收到客户端设备发送的后续报文后,可以直接基于表2所示的流表转发该后续报文,而无需再执行上述步骤4。
可以理解的是,该后续报文可以包括:用于与提供算力服务的算力服务实例创建会话的、除首包外的后续协议报文(例如后续的握手报文),以及用于获取算力服务的算力任务报文。
但是,上述算力选择方法需要CFN节点针对每个客户端设备和每个业务流,均维护对应的一个流表,导致CFN节点中所需维护的表项数量较多,负担较重。此外,当网络震荡导致流表丢失时,需要CFN节点重新选择匹配的服务节点。若CFN节点前后选择的服务节点不一致,则前一个服务节点中未完成的任务需要由重新选择的服务节点重新开始计算,浪费算力资源。
还可以理解的是,算力服务的标识(即服务标识)也可以称为算力服务的网络地址,其可以是IP地址,例如可以是IPv6地址。并且,该算力服务的网络地址可以是任播(anycast)地址,该任播地址能够与算力网络中用于提供该算力服务的多个算力服务实例对应。其中,每个算力服务实例可以部署在一个服务节点中,每个服务节点可以部署一个或多个算力服务实例,且每个服务节点中部署的多个算力服务实例所提供的算力服务可以相同,也可以不同。
可选地,如图1所示,该算力网络中还可以包括DNS服务器04。客户端设备03在向算力路由节点01发送算力请求报文之前,还可以通过该算力路由节点01向DNS服务器04发送DNS请求报文,该DNS请求报文中携带有客户端设备03所需的算力服务的域名。DNS服务器04可以对该算力服务的域名进行解析,得到算力服务的网络地址,并通过算力路由节点01向客户端设备03发送携带有该算力服务的网络地址的DNS响应报文。客户端设备03从该DNS响应报文中获取到算力服务的网络地址后,即可向算力路由节点01发送算力请求报文。
其中,域名是由一串用点分隔的名字组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识。DNS服务器04可以是指能够将域名和IP地址相互映射的一个分布式数据库,其能够使客户端设备03更方便地访问互联网,而不用去记住能够被机器直接读取的IP数串。
可以理解的是,DNS服务器04可以是一个分布式层次树状结构。从上到下可以包括根DNS服务器、顶级DNS服务器(一级域名)、权限DNS服务器(二级域名)以及本地域名服务器等。上述各个层次的DNS服务器的功能如下:
根域名服务器:最高层次,同时也是最重要的域名服务器。全世界总共有13台,主要存放260多个顶级域名的DNS服务器的IP地址。每个根域名服务器都知道所有的顶级域名服务器的域名和IP地址。本地域名服务器将域名转换为IP地址的过程中,只要自己无法转换,就要首先求助于根域名服务器。根域名服务器并不直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答,该回答可能是最后结果,也可能是下一步应当查找的域名服务器的IP地址。
权限域名服务器:从理论上讲,可以让每一级的域名都有一个相对应的域名服务器,使所有的域名服务器构成“域名服务器树”的结构。但是,这样做会使域名服务器数量太多,使其运行效率降低,因此DNS采用划分区的方法来解决这个问题。一个权限域名服务器所负责管辖的(或有权限的)范围叫做区。各单位根据自己情况来划分区的范围,每个区设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射。
本地域名服务器:当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器。每个互联网提供商,或一个大学,甚至一个大学里的系,都可以拥有本地域名服务器。本地域名服务器离用户(即客户端设备)较近,一般不超过几个路由器的距离。当所要查询的主机也属于同一个本地网络业务提供商(Internet service provider,ISP)时,该本地域名服务器可以直接将所查询的主机名(即域名)转换为IP地址,而不需要再访问其他域名服务器。
通常,DNS服务器解析域名(即查询域名对应的IP地址)的方式包括两种:迭代查询和递归查询。无论是哪种查询方式,其目的都是根据域名查出IP地址,并反馈至客户端设备。之后,客户端设备即可基于该IP地址与对端建立连接,并进行通信。下文以客户端设备待解析的域名是y.abc.com,即需要解析并获取y.abc.com对应的IP地址为例,对上述两种查询方式进行介绍。参考图3中的(a),迭代查询的流程包括如下步骤:
步骤S1,域名为m.xyz.com的客户端设备向本地域名服务器发出解析域名y.abc.com的请求,即发送携带有域名y.abc.com的DNS请求报文。
本地域名服务器(dns.xyz.com)接收到请求后查看本地缓存,以检查是否缓存有域名y.abc.com对应的IP地址。如果有则直接返回给客户端设备,如果没有则执行下一步:
步骤S2,本地域名服务器采用迭代查询,先向根域名服务器查询。
步骤S3,根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器(dns.com)的IP地址。
步骤S4,本地域名服务器向顶级域名服务器进行查询。
步骤S5,顶级域名服务器告诉本地域名服务器,下一步应查询的权限域名服务器(dns.abc.com)的IP地址。
步骤S6,本地域名服务器向权限域名服务器进行查询。
步骤S7,权限域名服务器告诉本地域名服务器,所查询的主机的IP地址,即域名y.abc.com对应的IP地址。
步骤S8,本地域名服务器最后把查询结果(即域名y.abc.com对应的IP地址)告诉客户端设备。例如,本地域名服务器可以向客户端设备发送DNS响应报文,该DNS响应报文包括域名y.abc.com对应的IP地址。
参考图3中的(b),递归查询的流程包括如下步骤:
步骤S1,域名为m.xyz.com的客户端设备向本地域名服务器发出解析域名y.abc.com的请求,即发送携带有域名y.abc.com的DNS请求报文。
本地域名服务器(dns.xyz.com)接收到请求后查看本地缓存,以检查是否缓存有域名y.abc.com对应的IP地址。如果有则直接返回给客户端设备,如果没有则执行下一步:
步骤S2,本地域名服务器采用递归查询,先向根域名服务器查询。
步骤S3,根域名服务器向顶级域名服务器进行查询。
步骤S4,顶级域名服务器向权限域名服务器进行查询。
步骤S5,权限域名服务器查询到IP地址后,将查询结果(即域名y.abc.com对应的IP地址)返回给顶级域名服务器。
步骤S6,顶级域名服务器将查询结果返回给根域名服务器。
步骤S7,根域名服务器将查询结果返回给本地域名服务器。
步骤S8,本地域名服务器最后把查询结果(即域名y.abc.com对应的IP地址)告诉客户端设备。例如,本地域名服务器可以向客户端设备发送DNS响应报文,该DNS响应报文包括域名y.abc.com对应的IP地址。
图4是本申请实施例提供的一种DNS报文的格式示意图。如图4所示,DNS报文(包括DNS请求报文,以及DNS响应报文)的报文头(header)的长度为12个字节。该报文头包括如下字段:长度为2个字节的会话标识(Transaction ID),长度为2个字节的标志(Flags),长度为2个字节的问题数(Questions,即查询段中的条目数),长度为2个字节的回答段中的资源记录数(Answers RRS),长度为2个字节的授权段中的资源记录数(Authority RRS),以及长度为2个字节的附加段中的资源记录数(Additional RRS)。DNS报文的正文部分包括如下字段:查询问题区域(Questions,即问题段),回答区域(Answer,即应答段),授权名称服务器区域(Authoritative nameservers,即授权段)以及附加区域(Additional recoreds,即附加段)。
下文对本申请实施例提供的算力选择方法进行介绍。该方法可以应用于算力选择网络,如图1所示,该算力选择网络可以包括至少一个算力路由节点01、客户端设备03、DNS服务器04以及部署有多个算力服务实例的至少一个服务节点02。其中,该多个算力服务实例可以提供相同的算力服务,且不同的算力服务实例可以部署在不同的服务节点02中,也可以部署在同一个服务节点02中。参考图5,该方法包括:
步骤101、客户端设备向DNS服务器发送DNS请求报文,该DNS请求报文包括客户端设备所请求的算力服务的域名。
在本申请实施例中,客户端设备若需要请求某个算力服务,则可以通过其所连接的算力路由节点向DNS服务器发送DNS请求报文。该DNS请求报文中包括该客户端设备所请求的算力服务的域名。例如,该客户端设备可以向本地域名服务器发送携带有算力服务的域名的DNS请求报文。
步骤102、DNS服务器基于该DNS请求报文,发送DNS响应报文,该DNS响应报文中包括对该域名进行解析得到的算力服务的网络地址。
DNS服务器接收到DNS请求报文后,可以对该DNS请求报文中的域名进行解析,得到与该域名对应的算力服务的网络地址。之后,DNS服务器可以通过算力路由节点向客户端设备发送DNS响应报文,该DNS响应报文中包括该算力服务的网络地址。该算力服务的网络地址也称为服务标识(service ID)。并且,该算力服务的网络地址可以是IP地址,例如可以是IPv6地址,且该IP地址可以是任播地址。
示例的,该DNS服务器可以采用前文所述的迭代查询或递归查询的方式,确定该算力服务的网络地址。
步骤103、算力路由节点在该DNS响应报文中封装用于提供算力服务的目标算力服务实例的网络地址。
在本申请实施例中,算力路由节点接收到DNS服务器发往客户端设备的DNS响应报文后,可以拦截该DNS响应报文。并且,算力路由节点可以基于该DNS响应报文中的算力服务的网络地址,确定用于提供该算力服务的目标算力服务实例的网络地址,并将该目标算力服务实例的网络地址封装至该DNS响应报文中。
其中,该目标算力服务实例属于用于提供该算力服务的多个算力服务实例,也即是,该目标算力服务实例是从该多个算力服务实例中确定的。并且,该多个算力服务实例中的每个算力服务实例具有各自的网络地址,每个算力服务实例的网络地址能够标识该算力服务实例在网络中的唯一位置。
在本申请实施例中,若算力服务的网络地址称为service ID,则算力服务实例的网络地址可以称为service IP。
步骤104、算力路由节点将该DNS响应报文发送至客户端设备。
算力路由节点在DNS响应报文中封装目标算力服务实例的网络地址后,即可将该DNS响应报文发送至客户端设备。
步骤105、客户端设备基于该目标算力服务实例的网络地址,向该目标算力服务实例请求算力服务。
客户端设备接收到算力路由节点发送的DNS响应报文后,可以从该DNS响应报文中获取目标算力服务实例的网络地址。之后,客户端设备即可基于该目标算力服务实例的网络地址,直接向该目标算力服务实例请求算力服务。例如,客户端设备可以基于该目标算力服务实例的网络地址,与远端的目标算力服务实例建立连接,以请求算力服务。
基于上述步骤101至步骤105可知,本申请实施例提供的方法可以在DNS域名解析阶段进行算力决策,以确定用于提供算力服务的目标算力服务实例,并在DNS响应报文中封装该目标算力服务实例的网络地址。由此,客户端设备可以直接基于该目标算力服务实例的网络地址请求算力服务,算力路由节点中无需再维护客户端设备的流表。
综上所述,本申请实施例提供了一种算力选择方法,算力路由节点能够在DNS服务器发往客户端设备的DNS响应报文中封装用于提供算力服务的目标算力服务实例的网络地址,然后再将该DNS响应报文发送至客户端设备。客户端设备接收到该DNS响应报文后,即可基于该目标算力服务实例的网络地址,直接向目标算力服务实例请求算力服务。由此,算力路由节点中无需再为每个客户端设备维护对应的流表,有效减少了算力路由节点中所需维护的表项数量,减轻了算力路由节点的存储压力,提高了可靠性。
图6是本申请实施例提供的另一种算力选择方法的流程图,该方法可以应用于诸如图1所示的算力网络中。在图6所示的方法实施例中,该算力网络中的各个算力路由节点均具备算力选择决策的功能,即该算力网络中的多个算力路由节点能够实现分布式的算力选择决策。参考图6,该方法包括:
步骤201、客户端设备向DNS服务器发送DNS请求报文,该DNS请求报文包括客户端设备所请求的算力服务的域名。
在本申请实施例中,若客户端设备需要请求某个算力服务,则可以通过其所连接的算力路由节点向DNS服务器发送DNS请求报文。该DNS请求报文中包括该客户端设备所请求的算力服务的域名。
示例的,如图7所示,该客户端设备可以向DNS服务器发送携带有算力服务的域名的DNS请求报文,该域名可以是算力服务的统一资源定位系统(uniform resourcelocator,URL)。
步骤202、DNS服务器基于该DNS请求报文,发送DNS响应报文,该DNS响应报文中包括对该域名进行解析得到的算力服务的网络地址。
DNS服务器接收到DNS请求报文后,可以对该DNS请求报文中的域名进行解析,得到与该域名对应的算力服务的网络地址。之后,DNS服务器可以通过算力路由节点向客户端设备发送DNS响应报文,该DNS响应报文中包括解析得到的算力服务的网络地址。该算力服务的网络地址可以是任播地址。
示例的,该DNS服务器可以采用前文所述的迭代查询或递归查询的方式,解析得到该算力服务的网络地址。
步骤203、算力路由节点确定用于提供该算力服务的多个算力服务实例。
在本申请实施例中,算力路由节点接收到DNS服务器发往客户端设备的DNS响应报文后,可以拦截该DNS响应报文,并获取该DNS响应报文中的算力服务的网络地址。之后,算力路由节点可以基于其预先存储的算力服务的网络地址与算力服务实例的网络地址的对应关系,确定用于提供该算力服务的多个算力服务实例。
示例的,如图7所示,假设客户端设备所请求的算力服务为算力服务1,算力网络中的算力服务实例1,算力服务实例2和算力服务实例3均用于提供该算力服务1。则如图8所示,算力路由节点中可以存储有该算力服务1的网络地址S1,以及对应的3个算力服务实例的网络地址:IP1,IP2和IP3。相应的,若算力路由节点拦截到的DNS响应报文中的算力服务的网络地址为S1,则基于图8所示的对应关系,该算力路由节点可以确定用于提供该算力服务的多个算力服务实例的网络地址分别为IP1,IP2和IP3。
可以理解的是,算力路由节点存储的对应关系中可以包括多个算力服务的网络地址,且每个算力服务的网络地址均可以与多个算力服务实例的网络地址对应。也即是,每个算力服务均可以由多个算力服务实例提供。
还可以理解的是,每个算力服务实例对应的实例节点可以向算力网络中的各个算力路由节点通告该算力服务实例的网络地址与该算力服务实例所提供的算力服务的关联关系。每个算力路由节点进而可以基于其他节点通告的关联关系,生成上述对应关系。其中,每个算力服务实例对应的实例节点可以是指该算力服务实例所属的服务节点,或者可以是与该服务节点直连的算力路由节点。并且,该实例节点可以通过BGP通告该关联关系。
步骤204、算力路由节点从该多个算力服务实例中确定满足服务条件的目标算力服务实例。
算力路由节点中预先配置有算力选择策略,算力路由节点可以基于该算力选择策略从确定出的多个算力服务实例中筛选出满足服务条件的目标算力服务实例。
可选地,该算力路由节点中还可以存储有每个算力服务实例的性能信息,算力路由节点可以采用该算力选择策略,对比该多个算力服务实例的性能信息,以确定出满足服务条件的目标算力服务实例。可以理解的是,若该多个算力服务实例中,存在至少两个算力服务实例均满足该服务条件,则算力路由节点可以从中随机选取一个作为目标算力服务实例。
在本申请实施例中,该性能信息至少可以包括算力服务实例的算力负载。相应的,该服务条件可以包括:目标算力服务实例的算力负载小于负载阈值。该算力负载可以采用综合度量值(metric)表征,或者可以采用下述参数中的至少一种表征:处理器使用率,内存使用率,在线连接数和网络时延等。
其中,该处理器使用率可以包括CPU使用率,和/或,GPU使用率。在线连接数也可以称为会话数,其是指算力服务实例与各个客户端设备之间所建立的会话的总数。网络时延是指算力服务实例与算力路由节点之间的时延。综合度量值可以是基于上述算力负载的表征参数(例如处理器使用率,内存使用率,在线连接数,和/或网络时延)计算得到的融合开销,且该综合度量值可以是该算力路由节点计算得到的,或者可以是该算力服务实例所对应的实例节点计算得到的。并且,该综合度量值的大小可以与算力负载的大小负相关,即算力负载越小,该综合度量值越大。
该服务条件中的负载阈值可以包括与算力负载的各个表征参数一一对应的至少一个阈值。例如,该负载阈值可以包括综合度量值阈值,或者可以包括下述阈值中的至少一种:处理器使用率阈值,内存使用率阈值,在线连接数阈值,以及网络时延阈值等。相应的,算力服务实例的算力负载小于负载阈值可以是指:综合度量值大于对应的综合度量值阈值,或者,算力负载中的每个表征参数均小于其对应的阈值,又或者,算力负载中小于对应阈值的表征参数的数量大于数量阈值。基于上述服务条件,可以确保为客户端设备提供算力服务的目标算力服务实例的算力负载较小,进而可以确保提供算力服务时的可靠性。
可以理解的是,该负载阈值可以是算力路由设备中预先配置的,或者可以是基于各个算力服务实例的算力负载确定的。例如,可以是各个算力服务实例的算力负载的均值、较小四分位数或较大四分位数等。
可选地,除了算力负载之外,该算力负载的性能信息还可以包括算力服务实例对应的实例节点与该算力路由节点之间的网络性能。相应的,该服务条件还可以包括:目标算力服务实例对应的实例节点与该算力路由节点之间的网络性能满足通信条件。
其中,该网络性能也可以称为服务级别协议(service level agreement,SLA)性能,且该网络性能可以采用下述参数中的至少一种表征:时延、丢包率和抖动等。该通信条件可以包括与网络性能的表征参数中的各个参数一一对应的参数值范围。例如,若网络性能的表征参数包括时延,则该通信条件可以包括时延范围,且该时延范围可以为小于某个时延阈值的范围。若网络性能的表征参数包括丢包率,则该通信条件可以包括丢包率范围,且该丢包率范围可以为小于某个丢包率阈值的范围。若网络性能的表征参数包括抖动,则该通信条件可以包括抖动范围,且该抖动范围可以为小于某个抖动阈值的范围。
可以理解的是,每个算力服务实例对应的实例节点可以向各个算力路由节点通告(例如周期性通告)该算力服务实例的算力负载。例如,实例节点可以通过BGP通告算力服务实例的算力负载,且该算力负载可以与前文所述的关联关系一同通告,也可以分次通告,本申请实施例不做限定。
还可以理解的是,算力路由节点可以通过双向主动测量协议(two-way activemeasurement protocol,TWAMP)或随流检测等方式,检测得到其与各个算力服务实例所对应的实例节点之间的网络性能。其中,该随流检测可以是指带内流信息测量(in-situ flowinformation telemetry,IFIT)。或者,也可以由实例节点检测其与算力路由节点之间的网络性能,并将检测到的网络性能通告(例如通过BGP通告)至算力路由节点。
还可以理解的是,该综合度量值还可以是基于算力服务实例的算力负载,以及算力服务实例对应的实例节点与该算力路由节点之间的网络性能计算得到的。也即是,该综合度量值可以是对算力负载和网络性能进行综合计算得到的度量值。相应的,算力路由节点可以直接基于该多个算力服务实例的综合度量值,确定满足服务条件的目标算力服务实例。其中,该综合度量值的大小还可以与网络性能的优劣正相关,即网络性能越好,该综合度量值越大。
可选地,算力路由节点可以对多个算力服务实例的综合度量值进行哈希选择,以确定满足服务条件的目标算力服务实例。例如,算力路由节点可以将该多个算力服务实例中,综合度量值最高的算力服务实例确定为目标算力服务实例。也即是,该服务条件中的综合度量值阈值可以是该多个算力服务实例的综合度量值中第二高的度量值。
示例的,参考图8,假设用于提供算力服务1的3个算力服务实例的综合度量值分别为5,10和5,则算力路由节点可以将综合度量值最高的算力服务实例2,确定为满足服务条件的目标算力服务实例。
步骤205、算力路由节点在该DNS响应报文中封装该目标算力服务实例的网络地址。
算力路由节点确定出满足服务条件的目标算力服务实例后,即可将该目标算力服务实例的网络地址封装至该DNS响应报文中。
作为一种可能的示例,算力路由节点可以将DNS响应报文中算力服务的网络地址替换为该目标算力服务实例的网络地址。例如,算力路由节点可以将DNS响应报文的回答段中的域名解析结果由算力服务的网络地址替换为该目标算力服务实例的网络地址。也即是,算力路由节点可以将DNS响应报文中算力服务的网络地址删除,并在该算力服务的网络地址的封装位置重新填充该目标算力服务实例的网络地址。由此,算力路由节点可以实现对DNS响应报文中的域名解析结果(即算力服务的网络地址)的NAT处理。
基于该示例,客户端设备在接收到DNS响应报文后,可以按照传统DNS响应报文的解析方式去解析该DNS响应报文,并读取目标算力服务实例的网络地址。也即是,该封装方式不会改变DNS响应报文的格式和解析方式,从而能够与传统的客户端设备有效兼容。
作为另一种可能的示例,算力路由节点可以在DNS响应报文中新增目标算力服务实例的网络地址。也即是,算力路由节点更新后的DNS响应报文中不仅包括DNS服务器解析得到的算力服务的网络地址,还包括该目标算力服务实例的网络地址。
在该示例中,算力服务的网络地址和目标算力服务实例的网络地址可以封装在DNS响应报文的不同字段中。客户端设备接收到DNS响应报文后,可以识别并读取该目标算力服务实例的网络地址。
步骤206、算力路由节点将该DNS响应报文发送至客户端设备。
算力路由节点在DNS响应报文中封装目标算力服务实例的网络地址后,即可将该DNS响应报文发送至客户端设备。例如,参考图7,算力路由节点发送至客户端设备的DNS响应报文中包括该目标算力服务实例的网络地址IP2。
步骤207、客户端设备基于该目标算力服务实例的网络地址,向该目标算力服务实例请求算力服务。
客户端设备接收到算力路由节点发送的DNS响应报文后,可以从该DNS响应报文中获取目标算力服务实例的网络地址。之后,客户端设备即可基于该目标算力服务实例的网络地址,直接向该目标算力服务实例请求算力服务。例如,客户端设备可以发送算力请求报文,该算力请求报文的目的地址(destination address,DA)为目标算力服务实例的网络地址。算力路由节点或算力网络中的其他路由设备可以基于该DA,将算力请求报文直接转发至目标算力服务实例对应的实例节点。其中,该算力请求报文可以是请求与目标算力服务实例创建会话的首个请求报文(即首包)。例如,该算力请求报文可以是TCP、UDP或其他网络层以上协议的请求报文。
可以理解的是,由于该算力请求报文中的DA为目标算力服务实例的网络地址,而并非是算力服务的网络地址,因此该算力请求报文可能无需由该算力路由节点转发。并且,即使需要算力路由节点转发,则算力路由节点也可以按照常规的路由转发方式转发该算力请求报文,而无需再进行算力选择决策,或者查找客户端设备的流表。
示例的,如图7所示,客户端设备发送的算力请求报文中,源地址(sourceaddress,SA)为客户端设备的网络地址(例如IP地址)C0,DA为算力服务实例2的网络地址IP2。算力路由节点或者算力网络中的其他路由设备可以基于该DA,将该算力请求报文直接转发至算力服务实例2。
步骤208、客户端设备记录该算力服务的域名与该目标算力服务实例的网络地址的对应关系。
在本申请实施例中,客户端设备还能够在本地记录该算力服务的域名与该目标算力服务实例的网络地址的对应关系。基于此,若客户端设备后续还需与该目标算力服务实例通信,则可以基于其存储的对应关系,按照常规的路由转发流程直接向目标算力服务实例发送后续后文。也即是,客户端设备和算力路由节点无需再执行上述步骤201至步骤206所示的流程。其中,该后续报文可以包括:用于与提供算力服务的算力服务实例创建会话的后续协议报文(如后续的握手报文),以及用于获取算力服务的算力任务报文。
基于上述步骤207和步骤208可知,客户端设备发送的算力请求报文和后续报文的DA中包括目标算力服务实例的网络地址。相应的,算力路由节点可以直接根据该DA,将算力请求报文和后续报文转发至目标算力服务实例。或者,若客户端设备基于该目标算力服务实例的网络地址确定出的报文的转发路径未经过该算力路由节点,则客户端设备可以通过算力网络中的其他路由设备转发该算力请求报文和后续报文。由此可知,算力路由节点无需再为客户端设备维护流表,从而有效减少了算力路由节点所需维护的表项的数量。
图9是本申请实施例提供的又一种算力选择方法的流程图,该方法可以应用于诸如图1所示的算力网络中。并且,如图10所示,该算力网络中还包括算力调度节点,该算力调度节点具备算力选择决策的功能。也即是,该算力网络可以通过算力调度节点实现集中式的算力选择决策。其中,该算力调度节点也可以称为算网调度器,其可以是控制器或服务器等设备。
参考图9,该方法包括:
步骤301、客户端设备向DNS服务器发送DNS请求报文,该DNS请求报文包括客户端设备所请求的算力服务的域名。
步骤302、DNS服务器基于该DNS请求报文,发送DNS响应报文。
该DNS响应报文中包括对该域名进行解析得到的算力服务的网络地址。并且,该步骤301和步骤302的实现过程,可以参考前述步骤201和步骤202的相关描述,此处不再赘述。
步骤303、算力路由节点向算力调度节点发送调度请求,该调度请求包括算力服务的网络地址。
在本申请实施例中,算力路由节点接收到DNS服务器发往客户端设备的DNS响应报文后,可以拦截该DNS响应报文,并获取该DNS响应报文中的域名解析结果,即算力服务的网络地址。之后,算力路由节点可以向算力调度节点发送调度请求,该调度请求包括该算力服务的网络地址。例如,算力路由节点可以通过远程过程调用(remote procedure call,RPC)协议,向算力调度节点发送调度请求。
示例的,如图10所示,假设DNS服务器发送的DNS响应报文中的域名解析结果为S1,则该算力路由节点向算力调度节点发送的调度请求中包括该网络地址S1。
步骤304、算力调度节点确定用于提供该算力服务的多个算力服务实例。
算力调度节点接收到调度请求后,可以基于其预先存储的算力服务的网络地址与算力服务实例的网络地址的对应关系,确定用于提供该算力服务的多个算力服务实例。例如,参考图10,若调度请求中的算力服务的网络地址为S1,则算力调度节点可以确定用于提供该算力服务的多个算力服务实例的网络地址分别为IP1,IP2和IP3。
可以理解的是,该算力调度节点存储的对应关系中可以包括多个算力服务的网络地址,且每个算力服务的网络地址均可以与多个算力服务实例的网络地址对应。也即是,每个算力服务可以由多个算力服务实例提供。
还可以理解的是,每个算力服务实例对应的实例节点均可以向算力调度节点通告该算力服务实例的网络地址与该算力服务实例所提供的算力服务的关联关系。算力调度节点进而可以基于各个实例节点通告的关联关系,生成上述对应关系。
步骤305、算力调度节点从该多个算力服务实例中确定满足服务条件的目标算力服务实例。
算力调度节点中预先配置有算力选择策略,算力调度节点可以基于该算力选择策略从该多个算力服务实例中确定满足服务条件的目标算力服务实例。例如,该算力调度节点中还可以存储有每个算力服务实例的性能信息,算力调度节点可以采用该算力选择策略,对比该多个算力服务实例的性能信息,以确定出满足服务条件的目标算力服务实例。
其中,该性能信息至少包括算力服务实例的算力负载。或者,该算力负载的性能信息还可以包括算力服务实例对应的实例节点与算力路由节点之间的网络性能。算力调度节点基于性能信息确定目标算力服务实例的过程可以参考上述步骤204中的相关描述,此处不再赘述。
可以理解的是,每个算力服务实例对应的实例节点可以向算力调度节点通告(例如通过BGP通告)该算力服务实例的算力负载,以及该实例节点与算力路由节点之间的网络性能。其中,该算力负载和网络性能可以与上述步骤304中所述的关联关系一同通告,也可以分次通告,本申请实施例不做限定。
步骤306、算力调度节点向算力路由节点发送调度响应,该调度响应包括该目标算力服务实例的网络地址。
算力调度节点确定出满足服务条件的目标算力服务实例后,即可向算力路由节点发送调度响应。该调度响应中包括该目标算力服务实例的网络地址。
例如,参考图10,假设算力调度节点确定出网络地址为IP2的算力服务实例2为满足服务条件的目标算力服务实例,则可以向算力路由节点发送携带有该网络地址IP2的调度响应。
步骤307、算力路由节点在该DNS响应报文中封装该目标算力服务实例的网络地址。
在本申请实施例中,算力路由节点接收到算力调度节点发送的调度响应后,可以从该调度响应中获取目标算力服务实例的网络地址。之后,即可将该目标算力服务实例的网络地址封装至DNS响应报文中。其中,算力路由节点封装目标算力服务实例的网络地址的方式可以参考上述步骤205的相关描述,此处不再赘述。
步骤308、算力路由节点将该DNS响应报文发送至客户端设备。
步骤309、客户端设备基于该目标算力服务实例的网络地址,向该目标算力服务实例请求算力服务。
步骤310、客户端设备记录该算力服务的域名与该目标算力服务实例的网络地址的对应关系。
上述步骤308至步骤310的实现过程可以参考前述步骤206至步骤208的相关描述,此处不再赘述。并且,基于图9所示的实施例可知,该算力网络中的算力调度节点可以实现集中式的算力选择决策,算力路由节点可以通过拉取(pull)的方式获取算力选择的结果(即目标算力服务实例的网络地址),并基于获取到的算力选择的结果对DNS响应报文进行NAT处理。由此,该算力路由节点无需维护算力服务的网络地址与算力服务实例的网络地址的对应关系,也无需执行算力选择决策,从而有效降低了对算力路由节点的性能要求,提高了该算力路由节点的可靠性。
可以理解的是,本申请实施例提供的算力选择方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,上述步骤208可以在步骤207之前执行,上述步骤310可以在步骤309之前执行。
综上所述,本申请实施例提供了一种算力选择方法,算力路由节点能够在DNS服务器发往客户端设备的DNS响应报文中封装用于提供算力服务的目标算力服务实例的网络地址,然后再将该DNS响应报文发送至客户端设备。客户端设备接收到该DNS响应报文后,即可基于该目标算力服务实例的网络地址,直接向目标算力服务实例请求算力服务。由此,算力路由节点中无需再为每个客户端设备维护对应的流表,有效减少了算力路由节点中所需维护的表项数量,减轻了算力路由节点的存储压力,提高了可靠性。
图11是本申请实施例提供的一种算力路由节点的结构示意图。该算力路由节点可以应用于诸如图1所示的算力网络,且可以实现上述方法实施例中由算力路由节点执行的步骤。参考图11,该算力路由节点包括:
接收模块401,用于接收DNS服务器发往客户端设备的DNS响应报文,该DNS响应报文中包括该客户端设备所请求的算力服务的网络地址。该接收模块401的功能实现可以参考上述方法实施例中步骤102、步骤202和步骤302的相关描述。
封装模块402,用于在该DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址。该封装模块402的功能实现可以参考上述方法实施例中步骤103、步骤205和步骤307的相关描述。
发送模块403,用于将该DNS响应报文发送至客户端设备,该DNS响应报文用于供客户端设备向该目标算力服务实例请求算力服务。该发送模块403的功能实现可以参考上述方法实施例中步骤104、步骤206和步骤308的相关描述。
可选地,该封装模块402,可以用于将DNS响应报文中的算力服务的网络地址替换为该目标算力服务实例的网络地址。
可选地,该封装模块402,还可以用于在该DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址之前,确定用于提供该算力服务的多个算力服务实例,并从该多个算力服务实例中确定满足服务条件的目标算力服务实例。该封装模块402的功能实现还可以参考上述方法实施例中步骤203和步骤204的相关描述。
可选地,该算力路由节点中存储有该算力服务的网络地址与该多个算力服务实例的网络地址的映射关系。该封装模块402,可以用于根据该算力服务的网络地址和该映射关系,确定该多个算力服务实例。
可选地,该算力路由节点中存储有该多个算力服务实例的性能信息。该封装模块402,可以用于基于该多个算力服务实例的性能信息,从该多个算力服务实例中确定满足服务条件的目标算力服务实例。
可选地,该发送模块403,还可以用于在封装模块402在DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址之前,向算力调度节点发送调度请求。该调度请求包括该算力服务的网络地址,且该调度请求用于指示该算力调度节点从提供该算力服务的多个算力服务实例中确定满足服务条件的该目标算力服务实例。该发送模块403的功能实现还可以参考上述方法实施例中步骤303的相关描述。
该接收模块401,还可以用于接收该算力调度节点基于该调度请求发送的调度响应,该调度响应包括该目标算力服务实例的网络地址。该接收模块401的功能实现还可以参考上述方法实施例中步骤306的相关描述。
可选地,该服务条件可以包括:该目标算力服务实例的算力负载小于负载阈值。
可选地,该服务条件还可以包括:该目标算力服务实例对应的实例节点与该算力路由节点之间的网络性能满足通信条件。
综上所述,本申请实施例提供了一种算力路由节点,该算力路由节点能够在DNS服务器发往客户端设备的DNS响应报文中封装用于提供算力服务的目标算力服务实例的网络地址,然后再将该DNS响应报文发送至客户端设备。客户端设备接收到该DNS响应报文后,即可基于该目标算力服务实例的网络地址,直接向目标算力服务实例请求算力服务。由此,算力路由节点中无需再为每个客户端设备维护对应的流表,有效减少了算力路由节点中所需维护的表项数量,减轻了算力路由节点的存储压力,提高了可靠性。
图12是本申请实施例提供的一种客户端设备的结构示意图。该客户端设备可以应用于诸如图1所示的算力网络,且可以实现上述方法实施例中由客户端设备执行的步骤。参考图12,该客户端设备包括:
发送模块501,用于向DNS服务器发送DNS请求报文,该DNS请求报文包括该客户端设备所请求的算力服务的域名。该发送模块501的功能实现可以参考上述方法实施例中步骤101、步骤201和步骤301的相关描述。
接收模块502,用于接收算力路由节点发送的DNS响应报文,该DNS响应报文中包括用于提供该算力服务的目标算力服务实例的网络地址。该接收模块502的功能实现可以参考上述方法实施例中步骤104、步骤206和步骤308的相关描述。
请求模块503,用于基于该目标算力服务实例的网络地址,向该目标算力服务实例请求该算力服务。该请求模块503的功能实现可以参考上述方法实施例中步骤105、步骤207和步骤309的相关描述。
可选地,该请求模块503,还可以用于记录该算力服务的域名与该目标算力服务实例的网络地址的对应关系。该请求模块503的功能实现还可以参考上述方法实施例中步骤208和步骤310的相关描述。
可选地,该请求模块503,可以用于向该目标算力服务实例发送算力请求报文,该算力请求报文的目的地址为该目标算力服务实例的网络地址。
综上所述,本申请实施例提供了一种客户端设备,该客户端设备接收到的算力路由节点转发的DNS响应报文中封装有用于提供算力服务的目标算力服务实例的网络地址。客户端设备能够基于该目标算力服务实例的网络地址,直接向目标算力服务实例请求算力服务。由此,算力路由节点中无需再为每个客户端设备维护对应的流表,有效减少了算力路由节点中所需维护的表项数量,减轻了算力路由节点的存储压力,提高了可靠性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的算力路由节点、客户端设备及各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解的是,本申请实施例提供的算力路由节点和客户端设备还可以用特定应用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。此外,也可以通过软件实现上述方法实施例提供的算力选择方法,当通过软件实现上述方法实施例提供的算力选择方法时,该算力路由节点和客户端设备中的各个功能模块也可以为软件模块。
图13是本申请实施例提供的一种算力设备的结构示意图。该算力设备可以应用于诸如图1所示的算力网络,且可以为该网络中的算力路由节点或客户端设备。参考图13,该算力设备包括:处理器601、存储器602、网络接口603和总线604。
其中,存储器602中存储有计算机程序6021,计算机程序6021用于实现各种应用功能。处理器601用于执行该计算机程序6021以实现上述方法实施例提供的应用于算力路由节点或客户端设备的方法。例如,处理器601可以用于执行该计算机程序6021以实现上述图11或图12所示的各个模块的功能。
处理器601可以是中央处理器(central processing unit,CPU),该处理器601还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、ASIC、FPGA、图形处理器(graphics processing unit,GPU)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器。
存储器602可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
网络接口603可以为多个,且网络接口603用于实现与其他设备之间的通信连接(可以是有线或者无线)。其中,在本申请实施例中,网络接口603用于收发报文。其中,其他设备可以是终端、服务器、VM等设备或其它网络设备。
总线604用于连接处理器601、存储器602和网络接口603。并且,总线604除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线604。
若该算力设备为算力路由节点,则该处理器601用于通过网络接口603接收DNS服务器发往客户端设备的DNS响应报文,该DNS响应报文中包括客户端设备所请求的算力服务的网络地址;在该DNS响应报文中封装用于提供该算力服务的目标算力服务实例的网络地址,并通过网络接口603将该DNS响应报文发送至客户端设备,以供该客户端设备向该目标算力服务实例请求该算力服务。该处理器601的详细处理过程请参考上述图5、图6和图9所示方法实施例中由算力路由节点执行的步骤,这里不再赘述。
若该算力设备为客户端设备,则该处理器601用于通过网络接口603向DNS服务器发送DNS请求报文,该DNS请求报文包括该客户端设备所请求的算力服务的域名,通过网络接口603接收算力路由节点发送的DNS响应报文,该DNS响应报文中包括用于提供该算力服务的目标算力服务实例的网络地址,以及基于该目标算力服务实例的网络地址,通过网络接口603向该目标算力服务实例请求所述算力服务。该处理器601的详细处理过程请参考上述图5、图6和图9所示方法实施例中由客户端设备执行的步骤,这里不再赘述。
图14是本申请实施例提供的另一种算力设备的结构示意图。该算力设备可以应用于诸如图1所示的算力网络,且可以为该网络中的算力路由节点或客户端设备。如图14所示,该算力设备可以包括:主控板701和至少一个接口板(接口板也称为线卡或业务板),例如图14中示出了接口板702和接口板703。多个接口板的情况下算力设备还可以包括交换网板704,该交换网板704用于完成各接口板之间的数据交换。
其中,主控板701也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板701用于完成系统管理、设备维护和协议处理等功能。主控板701上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板701包括:中央处理器7011和存储器7012。
接口板702和接口板703也可以称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板,接口板用于提供各种业务接口,并实现报文的转发。其中,接口板所提供的业务接口可以包括:基于SONET/SDH的数据包(packet over SONET/SDH,POS)接口、千兆以太网(gigabit Ethernet,GE)接口和异步传输模式(asynchronoustransfer mode,ATM)接口等。其中,SONET是指同步光纤网络(synchronous opticalnetwork),SDH是指同步数字体系(synchronous digital hierarchy)。主控板701、接口板702以及接口板703之间通过系统总线与系统背板相连以实现互通。如图14所示,接口板702上包括一个或多个中央处理器7021。中央处理器7021用于对接口板702进行控制管理并与主控板701上的中央处理器7011进行通信。接口板702上的存储器7024用于存储转发表项,网络处理器7022可以通过查找存储器7024中存储的转发表项进行报文的转发。存储器7024还可以用于存储程序代码。
该接口板702还包括一个或多个物理接口卡7023,该一个或多个物理接口卡7023用于接收上一跳节点发送的报文,并根据中央处理器7021的指示向下一跳节点发送处理后的报文。
此外,可以理解的是,图14中的接口板702中的中央处理器7021和/或网络处理器7022可以是专用硬件或芯片,如可以采用ASIC来实现上述功能,这种实现方式即为通常所说的转发面采用专用硬件或芯片处理的方式。在另外的实施方式中,所述中央处理器7021和/或网络处理器7022也可以采用通用的处理器,如通用的CPU来实现以上描述的功能。
此外应理解的是,主控板701可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该算力设备的数据处理能力越强,提供的接口板越多。如图14所示,算力设备包括接口板702和接口板703。当采用分布式的转发机制时,接口板703的结构与接口板702的结构基本相同,且接口板703上的操作与接口板702的操作基本相似,为了简洁,不再赘述。算力设备具有多块接口板的情况下,该多块接口板之间可以通过一块或多块交换网板704通信,且可以实现负荷分担和冗余备份,以提供大容量的数据交换和处理能力。
在集中式转发架构下,该算力设备可以不需要交换网板704,接口板承担整个系统的业务数据的处理功能。所以,分布式架构的算力设备的数据接入和处理能力要大于集中式架构的算力设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做限定。
在本申请实施例中,存储器7012和存储器7024可以是ROM或可存储静态信息和指令的其它类型的静态存储设备,也可以是RAM或者可存储信息和指令的其它类型的动态存储设备,还可以是EEPROM、只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。接口板702中的存储器7024可以是独立存在,并通过通信总线与中央处理器7021相连接;或者,存储器7024也可以和中央处理器7021集成在一起。主控板701中的存储器7012可以是独立存在,并通过通信总线与中央处理器7011相连接;或者,存储器7012也可以和中央处理器7011集成在一起。
存储器7024中存储的程序代码,由中央处理器7021来控制执行,存储器7012存储的程序代码,由中央处理器7011来控制执行。该中央处理器7021和/或中央处理器7011可以通过执行程序代码来实现上述方法实施例所提供的由算力路由节点或客户端设备执行的方法。存储器7024和/或存储器7012存储的程序代码中可以包括一个或多个软件单元,这一个或多个软件单元可以为图11或图12所示的功能模块。
在本申请实施例中,该物理接口卡7023,可以是使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
可选地,图11至图13中任一附图所示的设备也可以采用图14所示的结构实现。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在处理器运行时,使得处理器执行如上述方法实施例中由算力路由节点或客户端设备执行的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在处理器上运行时,使得处理器执行如上述方法实施例中由算力路由节点或客户端设备执行的步骤。
本申请实施例还提供了一种算力选择系统。如图1所示,该算力选择系统包括算力路由节点01,以及至少一个服务节点02,该至少一个服务节点02中部署有多个算力服务实例,该多个算力服务实例可以提供相同的算力服务。
其中,每个服务节点02中可以部署有一个或多个算力服务实例。该算力路由节点01可以用于实现上述方法实施例中由算力路由节点执行的方法。并且,该算力路由节点01的结构可以参考图11、图13或图14。
可选地,如图1、图7和图10所示,该算力选择系统还可以包括:客户端设备03,该客户端设备03可以用于实现上述方法实施例中由客户端设备执行的方法。并且,该客户端设备03的结构可以参考图12、图13或图14。
可选地,如图10所示,该算力选择系统还可以包括:算力调度节点。该算力调度节点可以用于若接收到算力路由节点发送的携带有算力服务的网络地址的调度请求,则从用于提供该算力服务器的多个算力服务实例中确定满足服务条件的目标算力服务实例,并向该算力路由节点发送调度响应,该调度响应包括该目标算力服务实例的网络地址。
在本申请实施例中,该算力调度节点可以是控制器或服务器等设备,其可以与算力选择系统中的各个算力路由节点建立通信连接,并能够实现集中式的算力选择决策。该算力调度节点的功能实现可以参考图9所示实施例中的相关描述,其结构可以参考图13或图14,此处不再赘述。
在本申请实施例中,术语“至少一个”是指一个或多个,“多个”是指两个或两个以上。本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述,仅为本申请的可选实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (22)
1.一种算力选择方法,其特征在于,应用于算力路由节点,所述方法包括:
接收域名系统DNS服务器发往客户端设备的DNS响应报文,所述DNS响应报文中包括所述客户端设备所请求的算力服务的网络地址;
在所述DNS响应报文中封装用于提供所述算力服务的目标算力服务实例的网络地址;
将所述DNS响应报文发送至所述客户端设备,所述DNS响应报文用于供所述客户端设备向所述目标算力服务实例请求所述算力服务。
2.根据权利要求1所述的方法,其特征在于,所述在所述DNS响应报文中封装用于提供所述算力服务的目标算力服务实例的网络地址,包括:
将所述DNS响应报文中的所述算力服务的网络地址替换为所述目标算力服务实例的网络地址。
3.根据权利要求1或2所述的方法,其特征在于,在所述DNS响应报文中封装用于提供所述算力服务的目标算力服务实例的网络地址之前,所述方法还包括:
确定用于提供所述算力服务的多个算力服务实例;
从所述多个算力服务实例中确定满足服务条件的所述目标算力服务实例。
4.根据权利要求3所述的方法,其特征在于,所述算力路由节点中存储有所述算力服务的网络地址与所述多个算力服务实例的网络地址的映射关系;
所述确定用于提供所述算力服务的多个算力服务实例,包括:
根据所述算力服务的网络地址和所述映射关系,确定所述多个算力服务实例。
5.根据权利要求3或4所述的方法,其特征在于,所述算力路由节点中存储有所述多个算力服务实例的性能信息;所述从所述多个算力服务实例中确定满足服务条件的所述目标算力服务实例,包括:
基于所述多个算力服务实例的性能信息,从所述多个算力服务实例中确定满足服务条件的所述目标算力服务实例。
6.根据权利要求1或2所述的方法,其特征在于,在所述DNS响应报文中封装用于提供所述算力服务的目标算力服务实例的网络地址之前,所述方法还包括:
向算力调度节点发送调度请求,所述调度请求包括所述算力服务的网络地址,且所述调度请求用于指示所述算力调度节点从提供所述算力服务的多个算力服务实例中确定满足服务条件的所述目标算力服务实例;
接收所述算力调度节点基于所述调度请求发送的调度响应,所述调度响应包括所述目标算力服务实例的网络地址。
7.根据权利要求3至6任一所述的方法,其特征在于,所述服务条件包括:所述目标算力服务实例的算力负载小于负载阈值。
8.根据权利要求7所述的方法,其特征在于,所述服务条件还包括:所述目标算力服务实例对应的实例节点与所述算力路由节点之间的网络性能满足通信条件。
9.一种算力选择方法,其特征在于,应用于客户端设备,所述方法包括:
向域名系统DNS服务器发送DNS请求报文,所述DNS请求报文包括所述客户端设备所请求的算力服务的域名;
接收DNS响应报文,所述DNS响应报文中包括用于提供所述算力服务的目标算力服务实例的网络地址;
基于所述目标算力服务实例的网络地址,向所述目标算力服务实例请求所述算力服务。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
记录所述算力服务的域名与所述目标算力服务实例的网络地址的对应关系。
11.根据权利要求9或10所述的方法,其特征在于,所述基于所述目标算力服务实例的网络地址,向所述目标算力服务实例请求所述算力服务,包括:
向所述目标算力服务实例发送算力请求报文,所述算力请求报文的目的地址为所述目标算力服务实例的网络地址。
12.一种算力选择方法,其特征在于,应用于算力选择系统,所述算力选择系统包括客户端设备,域名系统DNS服务器,算力路由节点,以及部署有多个算力服务实例的至少一个服务节点,所述多个算力服务实例用于提供相同的算力服务;所述方法包括:
所述客户端设备向所述DNS服务器发送DNS请求报文,所述DNS请求报文包括所述客户端设备所请求的算力服务的域名;
所述DNS服务器基于所述DNS请求报文,通过所述算力路由节点向所述客户端设备发送DNS响应报文,所述DNS响应报文中包括对所述域名进行解析得到的所述算力服务的网络地址;
所述算力路由节点在所述DNS响应报文中封装用于提供所述算力服务的目标算力服务实例的网络地址,所述目标算力服务实例属于所述多个算力服务实例;
所述算力路由节点将所述DNS响应报文发送至所述客户端设备;
所述客户端设备基于所述目标算力服务实例的网络地址,向所述目标算力服务实例请求所述算力服务。
13.根据权利要求12所述的方法,其特征在于,所述算力路由节点在所述DNS响应报文中封装用于提供所述算力服务的目标算力服务实例的网络地址,包括:
所述算力路由节点将所述DNS响应报文中的所述算力服务的网络地址替换为所述目标算力服务实例的网络地址。
14.根据权利要求12或13所述的方法,其特征在于,在所述算力路由节点在所述DNS响应报文中封装用于提供所述算力服务的目标算力服务实例的网络地址之前,所述方法还包括:
所述算力路由节点确定用于提供所述算力服务的所述多个算力服务实例;
所述算力路由节点从所述多个算力服务实例中确定满足服务条件的所述目标算力服务实例。
15.根据权利要求12或13所述的方法,其特征在于,所述DNS响应系统还包括算力调度节点;在所述算力路由节点在所述DNS响应报文中封装用于提供所述算力服务的目标算力服务实例的网络地址之前,所述方法还包括:
所述算力路由节点向所述算力调度节点发送调度请求,所述调度请求包括所述算力服务的网络地址;
所述算力调度节点基于所述调度请求,从所述多个算力服务实例中确定满足服务条件的所述目标算力服务实例;
所述算力调度节点向所述算力路由节点发送调度响应,所述调度响应包括所述目标算力服务实例的网络地址。
16.一种算力路由节点,其特征在于,所述算力路由节点包括:存储器,处理器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8任一所述的方法。
17.一种客户端设备,其特征在于,所述客户端设备包括:存储器,处理器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求9至11任一所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在处理器上运行时,使得所述处理器执行如权利要求1至11任一所述的方法。
19.一种包含指令的计算机程序产品,其特征在于,所述指令由处理器执行,以实现如权利要求1至11任一所述的方法。
20.一种算力选择系统,其特征在于,所述算力选择系统包括:算力路由节点,以及部署有多个算力服务实例的至少一个服务节点,所述多个算力服务实例用于提供相同的算力服务;
所述算力路由节点用于实现如权利要求1至8任一所述的方法。
21.根据权利要求20所述的系统,其特征在于,所述算力选择系统还包括:客户端设备,所述客户端设备用于实现如权利要求9至11任一所述的方法。
22.根据权利要求20或21所述的系统,其特征在于,所述算力选择系统还包括:算力调度节点,所述算力调度节点用于:
若接收到所述算力路由节点发送的携带有算力服务的网络地址的调度请求,则从用于提供所述算力服务器的多个算力服务实例中确定满足服务条件的目标算力服务实例,并向所述算力路由节点发送调度响应,所述调度响应包括所述目标算力服务实例的网络地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211454610.XA CN118057799A (zh) | 2022-11-21 | 2022-11-21 | 算力选择方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211454610.XA CN118057799A (zh) | 2022-11-21 | 2022-11-21 | 算力选择方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118057799A true CN118057799A (zh) | 2024-05-21 |
Family
ID=91069072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211454610.XA Pending CN118057799A (zh) | 2022-11-21 | 2022-11-21 | 算力选择方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118057799A (zh) |
-
2022
- 2022-11-21 CN CN202211454610.XA patent/CN118057799A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107465590B (zh) | 网络基础设施系统、路由网络业务的方法及计算机可读介质 | |
US7512702B1 (en) | Method and apparatus providing highly scalable server load balancing | |
EP2932657B1 (en) | Information centric networking based service centric networking | |
KR102138619B1 (ko) | 서버 클러스터에 기초한 메시지 생성 방법 및 부하 균형기 | |
US7784055B2 (en) | Method and apparatus for routing data to a load balanced server using MPLS packet labels | |
US7088718B1 (en) | Server load balancing using IP option field approach to identify route to selected server | |
US7047315B1 (en) | Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states | |
WO2021073565A1 (zh) | 业务服务提供方法及系统 | |
US20140153577A1 (en) | Session-based forwarding | |
US10164910B2 (en) | Method and apparatus for an information-centric MAC layer | |
TW201815131A (zh) | 一種資料傳輸的方法及網路設備 | |
CN109547354B (zh) | 负载均衡方法、装置、系统、核心层交换机及存储介质 | |
Liu et al. | CFN-dyncast: Load Balancing the Edges via the Network | |
CN113556413B (zh) | 一种报文处理方法及装置 | |
JP2017147733A (ja) | DiameterシグナリングルータにおいてDiameterメッセージをルーティングするための方法、システムおよびコンピュータ読取可能媒体 | |
CN105357142A (zh) | 一种基于ForCES的网络负载均衡器系统设计方法 | |
CN113726907B (zh) | 一种路由处理方法、网元设备、装置以及可读存储介质 | |
CN109474713B (zh) | 报文转发方法和装置 | |
US11405320B2 (en) | Systems and methods for scalable validation of multiple paths in a network using segment routing | |
WO2024067338A1 (zh) | 云组网系统、安全访问方法、设备及存储介质 | |
EP3542518B1 (en) | Enabling connections in a content centric network | |
CN115150312B (zh) | 一种路由方法及设备 | |
CN118057799A (zh) | 算力选择方法、装置及系统 | |
US20210119696A1 (en) | Satellite network acceleration and optimization | |
CN117615017A (zh) | 算力请求方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |