CN115604106A - 算力发布方法、算力更新方法及装置 - Google Patents
算力发布方法、算力更新方法及装置 Download PDFInfo
- Publication number
- CN115604106A CN115604106A CN202110719057.7A CN202110719057A CN115604106A CN 115604106 A CN115604106 A CN 115604106A CN 202110719057 A CN202110719057 A CN 202110719057A CN 115604106 A CN115604106 A CN 115604106A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- app
- information
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000004364 calculation method Methods 0.000 title claims abstract description 95
- 230000008859 change Effects 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 71
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 29
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 15
- 241000465502 Tobacco latent virus Species 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000003068 static effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 101150053844 APP1 gene Proteins 0.000 description 2
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 2
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 2
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 2
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004549 pulsed laser deposition Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 101000596892 Homo sapiens Neurotrimin Proteins 0.000 description 1
- 102100035107 Neurotrimin Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种算力发布方法、算力更新方法及装置,属于通信技术领域。所述方法包括:响应于第一节点的算力发生变化,所述第一节点生成第一消息,所述第一消息包括第一节点地址和第一节点的算力信息;所述第一节点向第二节点发送所述第一消息,以使得所述第二节点根据所述第一节点的算力信息以及第一对应关系更新第一应用程序APP的算力信息,所述第一对应关系包括所述第一节点和所述第一APP的对应关系,所述第一APP部署在所述第一节点上。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种算力发布方法、算力更新方法及装置。
背景技术
算力优先网络(compute first networking,CFN)是指网络中的路由节点能够感知网络中各个服务节点的实时算力,路由节点基于各个服务节点的实时算力选择合适的服务节点为用户提供服务。
相关技术中,路由节点感知服务节点实时算力的方式如下:服务节点将算力信息携带在路由消息中进行发布,这样路由节点就能够获得网络中各个服务节点的算力。当服务节点中同时部署有多个应用程序(Application,APP),并且服务节点给这多个APP中的每个APP单独分配资源时,服务节点需要分别为每个APP单独发布算力信息。
发明内容
本申请提供了一种算力发布方法、算力更新方法及装置,该方法使得算力更新时不再需要为每个APP单独发布算力信息,而是以服务器粒度统一为所有APP发布算力信息,避免为每个APP单独发布算力信息造成的冗余,从而减小了网络负载。
第一方面,本申请提供了一种算力发布方法,该方法由第一节点执行,包括:在第一节点的算力发生变化时,第一节点生成第一消息,然后将该第一消息发送给第二节点,该第一消息包括第一节点地址和第一节点的算力信息。这样,第二节点接收到该第一消息后,根据第一节点的算力信息以及第一对应关系更新第一应用程序APP的算力信息,第一对应关系包括第一节点和第一APP的对应关系,第一APP部署在第一节点上。
这样,第一节点在算力发布时,只需要服务器粒度进行发布,也即算力更新后只需要发布一次,第二节点收到第一节点的算力信息后,根据对应关系即可对与第一节点存在对应关系的APP的算力进行更新。第一节点在发送算力信息时,不再需要针对不同的APP单独发布算力信息,避免了每次算力更新都需要针对不同的APP单独发布算力信息造成的冗余,采用粗粒度(服务器粒度)的算力发布方案,解决了相关技术中算力发布造成网络负载大的问题,减小网络泛洪量,降低了算力发布所占用的网络资源。
在本申请中,第一节点发送第一对应关系的方案如下:
第一节点向第二节点发送第二消息,第二消息包括前述第一对应关系。其中,第二消息和第一消息是不同的消息,说明第一对应关系和算力信息是分开发送的。
示例性地,第二消息为路由消息,也即第一节点向第二节点发送路由消息,路由消息包括第一对应关系,这种情况下实现了算力信息和路由消息的解耦。也即,在本申请中第二消息是通过路由消息实现的。
通常,在第一APP上线时第一节点通过发送路由消息(路由更新消息)进行路由的更新,在第一APP下线时第一节点通过发送路由消息进行路由的撤销。在本申请中,第一对应关系也是由第一节点发送给第二节点的。并且,第一对应关系和前述算力信息是分开发送的,因为对应关系是固定的,分开发送可以避免在更新算力信息时重复发送该对应关系,从而节省网络资源,减小网络负载。
其中,第一APP上线包括但不限于第一APP在第一节点中启动,或者在第一节点中完成第一APP的部署等情况。
示例性地,路由消息包括第一APP的地址信息、第一节点地址和下一跳信息,下一跳信息用于向第一APP的地址信息对应的地址转发报文。
其中,第一APP的地址信息和第一节点地址构成前述第一对应关系,也即第一APP和第一节点的对应关系。
示例性地,第一APP的地址信息为第一APP对应的任播地址,则下一跳信息用于向该APP对应的任播地址转发报文。
在本申请中,第一节点向第二节点发送路由消息,包括:第一节点通过内部网关协议IGP报文或边界网关协议BGP报文向第二节点发送路由消息。
也即,该路由消息采用IGP协议或BGP实现,下面以BGP报文为例对路由消息字段进行说明:
BGP协议报文包括以太网头部、互联网协议IP头部、传输控制协议TCP头部、BGP数据包和帧校验序列FCS。
其中,IP头部包括源地址、目的地址等字段,前述第一APP的地址信息位于目的地址字段中;BGP数据包包括BGP头部和BGP消息两个部分,BGP消息包括路由属性字段,前述第一节点地址和下一跳信息位于路由属性字段中。
相应地,第二节点接收到该路由消息后,从目的地址字段中获得第一APP的地址信息,从路由属性字段中获得第一节点地址,从而得到前述第一对应关系。
可选地,第一节点上除了部署第一APP外,还可以部署有第二APP,第二APP和第一APP是不同的APP,第二APP和第一APP共享第一节点上的资源,也即第一节点没有给不同的APP单独分配资源,第一节点上的资源是这些APP共用的。这里,第二APP和第一APP共享第一节点上的资源,是指第二APP和第一APP共享第一节点中的中央处理器CPU资源、图形处理器GPU资源、现场可编程逻辑门阵列FPGA资源、存储资源等各种资源,第二APP和第一APP既可以共享第一节点中的全部资源,也可以仅共享第一节点中的部分资源。
由于第一节点上还布置了第二APP,因此,第一节点还需要将第一节点和第二APP的对应关系发送给第二节点。也即,该方法还包括:第一节点向第二节点发送第二对应关系,第二对应关系包括第一节点和第二APP的对应关系。同样地,第二节点收到第一消息时,除了前述更新第一APP的算力信息外,还根据第一节点的算力信息以及第二对应关系更新第二APP的算力信息。
示例性地,第二对应关系的发送方式与第一对应关系的发送方式相同,也即均采用路由消息发送,并且携带第二对应关系的路由消息的格式和携带第一对应关系的路由消息的格式相同。第二对应关系和第一对应关系可以通过两条路由消息发送,也可以通过一条路由消息发送。同样地,在第二APP上线时第一节点通过发送携带第二对应关系的路由消息进行路由的更新,在第二APP下线时第一节点通过发送携带第二对应关系的路由消息进行路由的撤销。
从这里可以看出,采用本申请提供的方案,在算力信息更新时,无需重复为第一APP和第二APP更新算力信息,即可实现第二节点中第一APP和第二APP的算力更新。
在本申请可能的实现方式中,第一消息采用已有的网络协议实现,或者第一消息采用新的协议实现。
示例性地,第一消息采用IGP报文或者BGP报文实现。
也即,前述生成第一消息采用如下方式实现:第一节点将第一节点地址和算力信息封装在IGP报文或BGP报文中,得到第一消息。
示例性地,第一节点将算力信息封装在IGP报文或BGP报文的类型长度值TLV字段中,将第一节点地址封装在IGP报文或BGP报文的网络层可达性消息NLRI字段中。
以BGP报文为例,第一消息采用BGP更新报文实现。
其中,算力信息位于BGP更新报文的路由属性字段中,第一节点地址位于NLRI字段中。
其中,路由属性字段包括类型、长度和值等子字段,也即前述TLV字段,算力信息封装在该路由属性字段中。路由属性字段通常还包括标志字段。
在将算力信息封装在路由属性字段中时,每个参数均对应一组TLV,例如算力信息包括CPU信息、GPU信息和连接信息等,则这里的CPU信息、GPU信息和连接信息每个对应一组TVL。
示例性地,第一节点包括服务器或者虚拟机VM,第二节点包括路由器。
第二方面,本申请提供了一种算力更新方法,该方法由第二节点执行,包括:第二节点获取第一对应关系,第一对应关系包括第一节点和第一APP的对应关系,第一APP部署在第一节点上;第二节点接收第一节点的第一消息,第一消息包括第一节点地址和第一节点的算力信息;在获得第一对应关系和第一消息后,第二节点根据第一对应关系和第一节点的算力信息,更新第一APP的算力信息。
这里的算力更新包括但不限于对算力信息的修改、新增和删除等。
第二节点在收到第一节点的算力信息后,根据对应关系即可对与第一节点存在对应关系的APP的算力进行更新,比如对第一APP的算力信息进行更新。这样,就使得第一节点在发送算力信息时,不再需要针对不同的APP单独发布算力信息,避免了每次算力更新都需要针对不同的APP单独发布算力信息造成的冗余,采用粗粒度(服务器粒度)的算力发布方案,解决了相关技术中算力发布造成网络负载大的问题,减小网络泛洪量,降低了算力发布所占用的网络资源。
在本申请中,第二节点获取第一对应关系包括的方式包括静态配置和动态获取两种。其中,动态获取方式如下:第二节点接收第一节点发送的第二消息,第二消息包括第一对应关系。
示例性地,第二消息为路由消息,也即第二节点接收第一节点发送的路由消息,路由消息包括第一对应关系。
示例性地,路由消息包括第一APP的地址信息、第一节点地址和下一跳信息,下一跳信息用于向第一APP的地址信息对应的地址转发报文,第一节点和第一APP的对应关系包括第一APP的地址信息和第一节点地址的对应关系。
前述第二节点接收第一节点的路由消息,包括:
第二节点接收IGP报文或BGP报文,IGP报文或BGP报文中携带有路由消息。
可选地,该方法还包括:
第二节点获取第二对应关系,第二对应关系包括第一节点和第二APP的对应关系,第二APP部署在第一节点上;
第二节点根据第二对应关系和第一节点的算力信息,更新第二APP的算力信息。
这里,第二对应关系的获取方式和第一对应关系的获取方式相同。
在本申请可能的实现方式中,第一消息采用已有的网络协议实现,或者第一消息采用新的协议实现。
示例性地,第一消息采用IGP报文或者BGP报文实现。也即,第二节点接收第一节点的第一消息,包括:
第二节点接收IGP报文或BGP报文,IGP报文或BGP报文中携带有第一节点地址和算力信息。
示例性地,算力信息位于IGP报文或BGP报文的TLV字段中,第一节点地址位于IGP报文或BGP报文的NLRI字段中。
第三方面,本申请提供了一种算力发布装置,所述装置包括:
生成单元,用于响应于第一节点的算力发生变化,生成第一消息,第一消息包括第一节点地址和第一节点的算力信息;
发送单元,用于向第二节点发送第一消息,以使得第二节点根据第一节点的算力信息以及第一对应关系更新第一应用程序APP的算力信息,第一对应关系包括第一节点和第一APP的对应关系,第一APP部署在第一节点上。
可选地,发送单元,还用于向第二节点发送第二消息,第二消息包括第一对应关系。
可选地,第二消息为路由消息,发送单元,用于向第二节点发送路由消息,路由消息包括第一对应关系。
可选地,路由消息包括第一APP的地址信息、第一节点地址和下一跳信息,下一跳信息用于向第一APP的地址信息对应的地址转发报文,第一节点和第一APP的对应关系包括第一APP的地址信息和第一节点地址的对应关系。
可选地,第一APP的地址信息位于路由消息的目的地址字段中,第一节点地址和下一跳信息位于路由消息的路由属性字段中。
可选地,发送单元,用于通过第一内部网关协议IGP报文或第一边界网关协议BGP报文向第二节点发送路由消息。
可选地,第一节点上还部署有第二APP,第二APP和第一APP共享第一节点的资源,发送单元,还用于向第二节点发送第二对应关系,第二对应关系包括第一节点和第二APP的对应关系;第一消息还用于使第二节点根据第一节点的算力信息以及第二对应关系更新第二APP的算力信息。
可选地,第一节点包括服务器或者虚拟机VM。
可选地,发送单元,用于将第一节点地址和算力信息封装在IGP报文或BGP报文中,得到第一消息。
可选地,发送单元,用于将算力信息封装在IGP报文或BGP报文的类型长度值TLV字段中,将第一节点地址封装在IGP报文或BGP报文的网络层可达性消息NLRI字段中。
第四方面,本申请提供了一种算力更新装置,所述装置包括:
获取单元,用于获取第一对应关系,第一对应关系包括第一节点和第一APP的对应关系,第一APP部署在第一节点上;
接收单元,用于接收第一节点的第一消息,第一消息包括第一节点地址和第一节点的算力信息;
更新单元,用于根据第一对应关系和第一节点的算力信息,更新第一APP的算力信息。
可选地,获取单元,用于接收第一节点发送的第二消息,第二消息包括第一对应关系。
可选地,第二消息为路由消息,获取单元,用于接收第一节点发送的路由消息,路由消息包括第一对应关系。
可选地,路由消息包括第一APP的地址信息、第一节点地址和下一跳信息,下一跳信息用于向第一APP的地址信息对应的地址转发报文,第一节点和第一APP的对应关系包括第一APP的地址信息和第一节点地址的对应关系。
可选地,第一APP的地址信息位于路由消息的目的地址字段中,第一节点地址和下一跳信息位于路由消息的路由属性字段中。
可选地,获取单元,用于接收IGP报文或BGP报文,IGP报文或BGP报文中携带有路由消息。
可选地,获取单元,还用于获取第二对应关系,第二对应关系包括第一节点和第二APP的对应关系,第二APP部署在第一节点上,第二APP和第一APP共享第一节点的资源;
更新单元,用于根据第二对应关系和第一节点的算力信息,更新第二APP的算力信息。
可选地,第二节点包括路由器。
可选地,接收单元,用于接收IGP报文或BGP报文,IGP报文或BGP报文中携带有第一节点地址和算力信息。
可选地,算力信息位于IGP报文或BGP报文的TLV字段中,第一节点地址位于IGP报文或BGP报文的NLRI字段中。
第五方面,本申请提供了一种第一节点,所述第一节点包括处理器和存储器;所述存储器用于存储软件程序以及模块,所述处理器通过运行或执行存储在所述存储器内的软件程序和/或模块,使所述第一节点实现上述第一方面的任一种可能的实施方式中的方法。
第六方面,本申请提供了一种第二节点,所述第二节点包括处理器和存储器;所述存储器用于存储软件程序以及模块,所述处理器通过运行或执行存储在所述存储器内的软件程序和/或模块,使所述第二节点实现上述第二方面的任一种可能的实施方式中的方法。
可选地,所述处理器为一个或多个,所述存储器为一个或多个。
可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
第七方面,本申请提供了一种算力发布系统,该系统包括第五方面所述的第一节点以及第六方面所述的第二节点。
第八方面,本申请提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述第一方面或第二方面的任一种可能的实施方式中的方法。
第九方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储处理器所执行的程序代码,所述程序代码包括用于实现上述第一方面或第二方面的任一种可能的实施方式中的方法。
第十方面,提供了一种芯片,包括处理器,处理器用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述第一方面或第二方面的任一种可能的实施方式中的方法。
第十一方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述第一方面或第二方面的任一种可能的实施方式中的方法。
附图说明
图1是本申请实施例提供的一种应用场景的示意图;
图2是本申请实施例提供的一种算力发布方法的流程图;
图3是本申请实施例提供的一种算力更新方法的流程图;
图4是本申请实施例提供的一种算力更新方法的流程图;
图5是本申请实施例提供的一种BGP报文格式示意图;
图6是本申请实施例提供的一种MP-BGP报文格式示意图;
图7是本申请实施例提供的路由消息和第一消息的传输过程示意图;
图8是本申请实施例提供的一种算力发布装置的框图;
图9是本申请实施例提供的一种算力更新装置的框图;
图10是本申请实施例提供的第一节点的结构示意图;
图11是本申请实施例提供的第二节点的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为便于对本申请实施例提供的技术方案的理解,首先介绍一下本申请的应用场景。
图1是本申请实施例所提供的应用场景的示意图。参见图1,该场景为移动边缘计算(mobile edge computing,MEC)场景中的CFN网络,该CFN网络包括第一节点、第二节点和客户端。
其中,第一节点为图中的应用程序(application,APP)服务器40,各个APP服务器40上均部署有应用APP,每个APP对应一个任播地址(anycast),例如APP1对应anycast1,APP2对应anycast2。
第二节点包括图中的入口(Ingress)路由器20。Ingress路由器20是CFN网络中流量的入口,例如小区站点网关(cell site gateway,CSG)设备;Egress路由器30是CFN网络中流量的出口,例如数据中心网关(data center gateway,DCGW)设备;特殊情况下,同一个路由器可能同时具有Ingress和Egress路由器的功能。客户端10靠近Ingress路由器20,Ingress路由器20会收到客户端10发到的用户请求,Ingress路由器20根据路由表项选择合适的服务器处理该用户请求,其中Ingress路由器20中的路由表项是基于第一节点发布的路由消息和算力信息生成的。当第一节点的算力信息更新时,该路由表项则可能发生变化。
相关技术中,当第一节点中同时部署有多个APP时,服务节点会给这多个APP中的每个APP单独分配资源,同时第一节点需要分别为每个APP发布算力信息。但是,当服务节点中的多个APP共享服务节点中的算力时,相关技术中的这种算力发布方式会浪费网络资源,导致网络负载增大。
另外,相关技术中,算力信息携带在路由消息中进行发送,造成每次发布算力信息都会重复发送路由消息,进一步加重网络负载大的问题。
在其他实现方式中,第一节点还可以为虚拟机(virtual machine,VM),或者为路由器等其他设备。
图2是本申请实施例提供的一种算力发布方法的流程图。该方法可以由应用场景中的第一节点执行,如图2所示,该方法包括如下步骤:
S31:响应于第一节点的算力发生变化,第一节点生成第一消息。
其中,第一消息包括第一节点地址和第一节点的算力信息。
示例性地,第一节点地址为服务器IP地址或者VM IP地址。算力信息包括中央处理器(central processing unit,CPU)信息、图形处理器(graphics processing unit,GPU)信息和连接(connection)信息等。
其中,CPU信息包括CPU型号和实时负载等,GPU信息包括GPU型号和实时负载等,连接信息包括最大连接数和当前连接数等。
S32:第一节点向第二节点发送第一消息,以使得第二节点根据第一节点的算力信息以及第一对应关系更新第一应用程序APP的算力信息。
其中,第一对应关系包括第一节点和第一APP的对应关系,第一APP部署在第一节点上。
示例性地,第一消息采用内部网关协议(interior Gateway Protocol,IGP)报文或者边界网关协议(Border Gateway Protocol,BGP)报文实现。
这样,第一节点在算力发布时,只需要服务器粒度进行发布,也即算力更新后只需要发布一次,第二节点收到算力信息后,根据对应关系即可对与第一节点存在对应关系的APP的算力进行更新。第一节点在发送算力信息时,不再需要针对不同的APP单独发布算力,避免了每次算力更新都需要针对不同的APP单独发布算力造成的冗余,采用粗粒度(服务器粒度)的算力发布方案,解决了相关技术中算力发布造成网络负载大的问题,减小网络泛洪量,降低了算力发布所占用的网络资源。
这里,粗粒度的算力发布方案是指,相比于以APP的粒度进行算力信息发布,本申请中,以服务器粒度进行算力信息发布,即使服务器中部署有两个或多个APP,也只需发布一次算力,无需单独为每个APP发布一次算力。
图3是本申请实施例提供的一种算力更新方法的流程图。该方法可以由应用场景中的第二节点执行,如图3所示,该方法包括如下步骤:
S41:第二节点获取第一对应关系。
其中,第一对应关系包括第一节点和第一APP的对应关系,第一APP部署在第一节点上。
S42:第二节点接收第一节点的第一消息。
示例性地,第一消息包括第一节点地址和第一节点的算力信息。
S43:第二节点根据第一对应关系和第一节点的算力信息,更新第一APP的算力信息。
例如,第二节点根据第一节点地址和第一对应关系确定出第一APP,然后基于算力信息更新该第一APP的算力信息。
这里,第二节点接收到第一节点以节点的粒度发布的算力信息后,根据对应关系即可对与第一节点存在对应关系的APP的算力进行更新。第一节点在发送算力信息时,不再需要针对不同的APP单独发布算力,避免了每次算力更新都需要针对不同的APP单独发布算力造成的冗余,采用粗粒度(服务器粒度)的算力发布方案,解决了相关技术中算力发布造成网络负载大的问题,减小网络泛洪量,降低了算力发布所占用的网络资源。
图4是本申请实施例提供的一种算力更新方法的流程图。该方法可以由应用场景中的第一节点和第二节点执行,如图4所示,该方法包括如下步骤:
S51:第一节点向第二节点发送第一路由消息。第二节点接收第一节点发送的第一路由消息。
其中,第一路由消息包括第一对应关系,第一对应关系包括第一节点和第一APP的对应关系,第一APP部署在第一节点上。
示例性地,第一路由消息包括第一APP的地址信息、第一节点地址和下一跳信息,下一跳信息用于向第一APP的地址信息对应的地址转发报文。该第一路由消息是第一APP上线时发送的,也即在第一APP上线时第一节点通过发送路由消息(路由更新消息)进行路由的更新,在第一APP下线时第一节点通过发送路由消息进行路由的撤销,刷新频率低。
其中,第一节点和第一APP的对应关系包括第一APP的地址信息和第一节点地址的对应关系,也即第一APP的地址信息、第一节点地址构成前述第一对应关系。
示例性地,第一APP的地址信息为第一APP对应的任播地址,则下一跳信息用于向该APP对应的任播地址转发报文。
例如,第一节点A和第一节点B中均安装有应用程序C,第一节点A和第一节点B除了具有各自的第一节点地址外,由于第一节点A和第一节点B都安装有应用程序C,因此还对应一个相同的任播地址。
在本申请中,第一节点通过路由协议接收到同一任播地址对应的至少两个第一节点的路由消息。
示例性地,第一节点通过IGP报文或BGP报文向第二节点发送第一路由消息。
下表1是一种第一路由消息的格式,参见表1,该第一路由消息包括第一APP的任播地址(anycast IP)、下一跳信息(next hop)和第一节点地址(server IP)。
表1
anycast IP | next hop | server IP |
anycastIP1 | nexthop1 | server IP1 |
示例性地,第一路由消息采用BGP更新(update)报文实现。
下面以BGP协议为例,对第一路由消息中各个字段在BGP报文中的位置进行说明。
在本申请中,第二节点包括Ingress路由器。第一节点发送路由消息时,将路由消息和第一消息发送给Egress路由器,Egress路由器再发送给Ingress路由器(第二节点)。第一节点向Egress路由器发送路由消息时,可以采用BGP协议,Egress路由器向第二节点发送路由消息时,可以采用BGP或多协议扩展BGP(Multi Protocol BGP,MP-BGP)协议,也即第二节点接收到的是BGP或MP-BGP报文。
这里需要说明的是,路由消息在第一节点和Ingress路由器之间传输时,会经过Egress路由器。在一种实现方式中,该传输的过程如下:第一节点向Egress路由器发送路由消息,Egress路由器接收到该路由消息后,会处理该路由消息,然后将经过处理的路由消息转发给Ingress路由器;在另一种实现方式中,该传输的过程如下:第一节点向Egress路由器发送路由消息,Egress路由器接收到该路由消息后,不处理该路有消息,只执行转发动作,最终将该路由消息发送到Ingress路由器。
下面结合图5和图6分别对这两种格式报文进行介绍:图5是BGP报文格式示意图,图6是MP-BGP报文格式示意图。
参见图5和图6,BGP报文和MP-BGP报文均包括以太网头部、互联网协议(InternetProtocol,IP)头部、传输控制协议(Transmission Control Protocol,TCP)头部、BGP数据包和帧校验序列(Frame Check Sequence,FCS)。BGP数据包包括BGP头部和BGP消息两个部分。
示例性地,IP头部包括源地址、目的地址等字段。
参见图5,在BGP报文中,BGP消息包括不可达路由长度(unfeasible routeslength)、不可达路由(withdrawn routes)、路由属性总长度(total path attributelength)、路由属性(path attributes)和网络层可达性消息(Network LayerReachability Information,NLRI)字段。
其中,路由属性字段包括类型(Type)、长度(Length)和值(Value)等子字段,也即TLV字段。路由属性字段通常还包括标志(Flag)字段。
下表2示出了路由属性字段的格式,参见表2,路由属性包括标识(Pathattr.Flag)、类型(Path attr.Type)、长度(Path attr.Lenath)和值(Path attr.Value)。
表2
Path attr.Flag | Path attr.Type | Path attr.Lenath | Path attr.Value |
1字节 | 1字节 | 1字节 | 4字节(IPv4)/16字节(IPv6) |
参见图6,在MP-BGP报文中,BGP消息包括地址族标识符、后续地址族标识符、下一跳网络地址长度、下一跳网络地址、保留、NTRI和路由属性字段。其中路由属性字段格式与表2相同。
在本申请实施例中,前述第一APP的地址信息位于BGP报文或者MP-BGP报文的目的地址字段中;前述第一节点地址和下一跳信息位于BGP报文或者MP-BGP报文的路由属性字段中。
在将第一节点地址和下一跳信息封装在路由属性字段中时,每个参数均对应一组TLV,例如第一节点地址对应一组TVL。
相应地,第二节点接收到该路由消息后,从目的地址字段中获得第一APP的地址信息,从路由属性字段中获得第一节点地址,即可得到前述第一对应关系。
在本申请的其他实现方式中,第一对应关系也可以采用静态配置的方式配置在第二节点上。
S52:第一节点向第二节点发送第二路由消息。第二节点接收第一节点发送的第二路由消息。
其中,第二路由消息包括第二对应关系,第二对应关系包括第一节点和第二APP的对应关系,第二APP部署在第一节点上,第二APP和第一APP共享第一节点的资源。
这里,第二路由消息的发布方式及格式等与第一路由消息相同,这里不做赘述。
在本申请的另一种实现方式中,上述第一对应关系和第二对应关系还可以包含在同一个路由消息中,第一节点通过一个路由消息将第一对应关系和第二对应关系发送给第二节点。
可选地,该方法还包括:第二节点保存上述第一对应关系和第二对应关系。
S53:响应于第一节点的算力发生变化,第一节点生成第一消息。第一消息包括第一节点地址和第一节点的算力信息。
第一节点以周期方式确定算力是否发生变化,在算力发生变化(例如变化值超过一定范围)则生成第一消息。
在本申请可能的实现方式中,第一消息采用已有的网络协议实现,或者第一消息采用新的协议实现。
示例性地,第一消息采用IGP协议或者BGP协议(或MP-BGP协议)实现。
也即,前述生成第一消息采用如下方式实现:将第一节点地址和算力信息封装在IGP报文或BGP报文中,得到第一消息。
示例性地,将算力信息封装在IGP报文或BGP报文的类型长度值TLV字段中,将第一节点地址封装在IGP报文或BGP报文的网络层可达性消息NLRI字段中。
以BGP报文为例,第一消息采用BGP更新(update)报文实现。
其中,算力信息位于BGP更新报文的路由属性字段中,第一节点地址位于NLRI字段中。
在将算力信息封装在路由属性字段中时,每个参数均对应一组TLV,例如算力信息包括CPU信息、GPU信息和连接信息等,则这里的CPU信息、GPU信息和连接信息每个对应一组TVL。
对于算力信息中的参数,路由属性的Value值可以为核心的数量、型号、负载大小等。
需要说明的是,除了算力更新时第一节点会生成并发送第一消息,以进行算力更新外,在第一节点上线时,第一节点也会生成并发送第一消息,发布初始的算力信息。
S54:第一节点向第二节点发送第一消息。第二节点接收第一节点的第一消息。
在算力优先网络中,第二节点通常可以接收到至少两个第一节点发送的第一消息。
在本申请中,第一节点发送第一消息时,将第一消息发送给Egress路由器,Egress路由器再发送给Ingress路由器。后续步骤S55~S59均由Ingress路由器执行。其中,第一消息在第一节点和Ingress路由器之间传输的过程,与路由消息在第一节点和Ingress路由器之间传输的过程相同,这里不再赘述。
图7示出了本申请中路由消息和第一消息的传输过程。参见图7:服务器1、服务器2和服务器3中均部署有APP1,对应任播地址anycastIP1,服务器2中还部署有APP2,对应任波地址anycastIP2。
以服务器1为例,服务器1分别发送路由消息(anycastIP1+serverIP1+nexthop1)和第一消息(serverIP1+算力1)到Egress路由器,再由Egress路由器发送给Ingress路由器。服务器2和3也以相同的方式发送路由消息和第一消息,最终Ingress路由器获得上述3个服务器的路由消息和第一消息,从而执行后续算力更新步骤。
在本申请中,路由消息作为一种相对静态的信息,只有在业务上下线时才会发布或撤销,更新发布频率低;算力信息更新与发布频繁,通过将算力信息和路由消息解耦,使得算力信息每次更新的条目数更少,能够减小网络的负载。
S55:第二节点根据第一对应关系和第一节点的算力信息,更新第一APP的算力信息;第二节点根据第二对应关系和第一节点的算力信息,更新第二APP的算力信息。
示例性地,第二节点从第一路由消息中获取第一对应关系,从第二路由消息中获取第二对应关系。比如,第二节点接收到第一路由消息后,从目的地址字段中获得第一APP的地址信息,从路由属性字段中获得第一节点地址,从而得到前述第一对应关系;第二节点接收到第二路由消息后,从目的地址字段中获得第二APP的路由信息,从路由属性字段中获得第一节点地址,从而得到前述第二对应关系。
例如,第二节点根据第一节点地址和第一对应关系确定出第一APP,然后基于算力信息更新该第一APP的算力信息。第二节点根据第二节点地址和第二对应关系确定出第二APP,然后基于算力信息更新该第二APP的算力信息。
也即,根据上述对应关系可以确定该算力信息对应哪些APP,然后对这些APP的算力信息进行更新。
在第二节点中,APP的算力信息,包括APP的任播地址、部署该APP的第一节点、以及该第一节点的算力信息。其中,部署该APP的第一节点以及对应的算力信息可以有多项。
可选地,该方法还可以包括:第二节点根据一个APP的算力信息,生成或更新该APP的任播地址的路由表项。
以生成路由表项为例,路由表项的生成方式如下:
第二节点根据同一个APP的算力信息,将算力满足条件的第一节点确定为目标第一节点。第二节点生成该APP的路由信息的路由表项,路由表项包括第二节点的出端口,第二节点的出端口能够与到目标第一节点的路径上的下一跳设备通信。
这里,算力满足条件根据运算能力的阈值进行确定。例如,若运算能力包括负载,则该条件可以例如是负载小于或等于百分之五十;若运算能力包括CPU的核数,则该预设条件可以例如是CPU核数大于或等于四个。
在生成该路由表项后,当第二节点收到APP客户端发送的数据报文时,基于该APP的任播地址对应的路由表项确定出端口,然后转发该数据报文。
图8是本申请实施例提供的一种算力发布装置的框图。该算力发布装置可以通过软件、硬件或者两者的结合实现成为第一节点的全部或者一部分,该第一节点为图1所示的应用场景中的第一节点。该算力发布装置可以包括:生成单元601和发送单元602。
其中,生成单元601用于执行图2中的步骤S31,也即生成单元601用于响应于第一节点的算力发生变化,生成第一消息,第一消息包括第一节点地址和第一节点的算力信息;
发送单元602用于执行图2中的步骤S32,也即发送单元602用于向第二节点发送第一消息,以使得第二节点根据第一节点的算力信息以及第一对应关系更新第一应用程序APP的算力信息,第一对应关系包括第一节点和第一APP的对应关系,第一APP部署在第一节点上。
可选地,该生成单元601还用于执行图4中的步骤S53;该发送单元602还用于执行图4中的步骤S51、S52、S54。
可选地,发送单元602,还用于向第二节点发送第二消息,第二消息包括第一对应关系。
可选地,第二消息为路由消息,发送单元602,用于向第二节点发送路由消息,路由消息包括第一对应关系。
可选地,路由消息包括第一APP的地址信息、第一节点地址和下一跳信息,下一跳信息用于向第一APP的地址信息对应的地址转发报文,第一节点和第一APP的对应关系包括第一APP的地址信息和第一节点地址的对应关系。
可选地,第一APP的地址信息位于路由消息的目的地址字段中,第一节点地址和下一跳信息位于路由消息的路由属性字段中。
可选地,发送单元602,用于通过第一内部网关协议IGP报文或第一边界网关协议BGP报文向第二节点发送路由消息。
可选地,第一节点上还部署有第二APP,第二APP和第一APP共享第一节点的资源,发送单元602,还用于向第二节点发送第二对应关系,第二对应关系包括第一节点和第二APP的对应关系;第一消息还用于使第二节点根据第一节点的算力信息以及第二对应关系更新第二APP的算力信息。
可选地,第一节点包括服务器或者虚拟机VM。
可选地,发送单元602,用于将第一节点地址和算力信息封装在IGP报文或BGP报文中,得到第一消息。
可选地,发送单元602,用于将算力信息封装在IGP报文或BGP报文的类型长度值TLV字段中,将第一节点地址封装在IGP报文或BGP报文的网络层可达性消息NLRI字段中。
图9是本申请实施例提供的一种算力更新装置的框图。该算力更新装置可以通过软件、硬件或者两者的结合实现成为第二节点的全部或者一部分,该第二节点为图1所示的应用场景中的第二节点。该算力更新装置可以包括:获取单元701、接收单元702和更新单元703。
其中,获取单元701用于执行图3中的步骤S41,也即获取单元701用于获取第一对应关系,第一对应关系包括第一节点和第一APP的对应关系,第一APP部署在第一节点上;
接收单元702用于执行图3中的步骤S42,也即接收单元702用于接收第一节点的第一消息,第一消息包括第一节点地址和第一节点的算力信息;
更新单元703用于执行图3中的步骤S43,也即更新单元703用于根据第一对应关系和第一节点的算力信息,更新第一APP的算力信息。
可选地,该获取单元701还用于执行图4中的步骤S51、S52;该接收单元702还用于执行图4中的步骤S54;该更新单元703还用于执行图4中的步骤S55。
可选地,获取单元701,用于接收第一节点发送的第二消息,第二消息包括第一对应关系。
可选地,第二消息为路由消息,获取单元701,用于接收第一节点发送的路由消息,路由消息包括第一对应关系。
可选地,路由消息包括第一APP的地址信息、第一节点地址和下一跳信息,下一跳信息用于向第一APP的地址信息对应的地址转发报文,第一节点和第一APP的对应关系包括第一APP的地址信息和第一节点地址的对应关系。
可选地,第一APP的地址信息位于路由消息的目的地址字段中,第一节点地址和下一跳信息位于路由消息的路由属性字段中。
可选地,获取单元701,用于接收IGP报文或BGP报文,IGP报文或BGP报文中携带有路由消息。
可选地,获取单元701,还用于获取第二对应关系,第二对应关系包括第一节点和第二APP的对应关系,第二APP部署在第一节点上,第二APP和第一APP共享第一节点的资源;
更新单元703,用于根据第二对应关系和第一节点的算力信息,更新第二APP的算力信息。
可选地,第二节点包括路由器。
可选地,接收单元702,用于接收IGP报文或BGP报文,IGP报文或BGP报文中携带有第一节点地址和算力信息。
可选地,算力信息位于IGP报文或BGP报文的TLV字段中,第一节点地址位于IGP报文或BGP报文的NLRI字段中。
需要说明的是:上述实施例提供的算力发布装置或算力更新装置在工作时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的算力发布装置与算力发布方法实施例属于同一构思,上述实施例提供的算力更新装置与算力更新方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
图10示出了本申请一个示例性实施例提供的第一节点800的结构示意图。图10所示的第一节点800用于执行上述图2所示的算力发布方法所涉及的操作,以及图4所示的算力更新方法所涉及的操作。该第一节点800例如是服务器等,该第一节点800可以由一般性的总线体系结构来实现。
如图10所示,第一节点800包括至少一个处理器801、存储器803以及至少一个通信接口804。
处理器801例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processingunits,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器801包括专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,第一节点800还包括总线。总线用于在第一节点800的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器803例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器803例如是独立存在,并通过总线与处理器801相连接。存储器803也可以和处理器801集成在一起。
通信接口804使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口804可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口804可以为以太(Ethernet)接口、快速以太(Fast Ethernet,FE)接口、千兆以太(GigabitEthernet,GE)接口,异步传输模式(Asynchronous Transfer Mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口804可以用于第一节点800与其他设备进行通信。
在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,如图10中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,第一节点800可以包括多个处理器,如图10中所示的处理器801和处理器805。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,第一节点800还可以包括输出设备和输入设备。输出设备和处理器801通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器801通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器803用于存储执行本申请方案的程序代码810,处理器801可以执行存储器803中存储的程序代码810。也即是,第一节点800可以通过处理器801以及存储器803中的程序代码810,来实现方法实施例提供的算力发布方法。程序代码810中可以包括一个或多个软件模块。可选地,处理器801自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的第一节点800可对应于上述各个方法实施例中的第一网络设备,第一节点800中的处理器801读取存储器803中的指令,使图10所示的第一节点800能够执行第一网络设备所执行的全部或部分操作。
具体的,处理器801用于通过通信接口向至少一个远端服务器发送探测报文,该探测报文包括DHCP报文或DHCPv6报文;根据至少一个远端服务器的响应情况确定至少一个远端服务器的状态。
其他可选的实施方式,为了简洁,在此不再赘述。
又例如,本申请实施例的第一节点800可对应于上述各个方法实施例中的第二网络设备,第一节点800中的处理器801读取存储器803中的指令,使图10所示的第一节点800能够执行第二网络设备所执行的全部或部分操作。
具体的,处理器801用于通过通信接口接收第一网络设备发送的指示信息;根据指示信息确定至少一个远端服务器的状态。
其他可选的实施方式,为了简洁,在此不再赘述。
第一节点800还可以对应于上述图8所示的算力发布装置,算力发布装置中的每个功能模块采用第一节点800的软件实现。换句话说,算力发布装置包括的功能模块为第一节点800的处理器801读取存储器803中存储的程序代码810后生成的。
其中,图2所示的算力发布方法、图4所示的算力更新方法的各步骤通过第一节点800的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
图11示出了本申请一个示例性实施例提供的第二节点900的结构示意图。图11所示的第二节点900用于执行上述图3所示的算力更新方法所涉及的操作,以及图4所示的算力更新方法所涉及的操作。该第二节点900例如是路由器、交换机等,该第二节点900可以由一般性的总线体系结构来实现。
如图11所示,第二节点900包括至少一个处理器901、存储器903以及至少一个通信接口904。
处理器901例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processingunits,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器901包括专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,第二节点900还包括总线。总线用于在第二节点900的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器903例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器903例如是独立存在,并通过总线与处理器901相连接。存储器903也可以和处理器901集成在一起。
通信接口904使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口904可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口904可以为以太(Ethernet)接口、快速以太(Fast Ethernet,FE)接口、千兆以太(GigabitEthernet,GE)接口,异步传输模式(Asynchronous Transfer Mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口904可以用于第二节点900与其他设备进行通信。
在具体实现中,作为一种实施例,处理器901可以包括一个或多个CPU,如图11中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,第二节点900可以包括多个处理器,如图11中所示的处理器901和处理器905。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,第二节点900还可以包括输出设备和输入设备。输出设备和处理器901通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器901通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器903用于存储执行本申请方案的程序代码910,处理器901可以执行存储器903中存储的程序代码910。也即是,第二节点900可以通过处理器901以及存储器903中的程序代码910,来实现方法实施例提供的算力更新方法。程序代码910中可以包括一个或多个软件模块。可选地,处理器901自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的第二节点900可对应于上述各个方法实施例中的第一网络设备,第二节点900中的处理器901读取存储器903中的指令,使图11所示的第二节点900能够执行第一网络设备所执行的全部或部分操作。
具体的,处理器901用于通过通信接口向至少一个远端服务器发送探测报文,该探测报文包括DHCP报文或DHCPv6报文;根据至少一个远端服务器的响应情况确定至少一个远端服务器的状态。
其他可选的实施方式,为了简洁,在此不再赘述。
又例如,本申请实施例的第二节点900可对应于上述各个方法实施例中的第二网络设备,第二节点900中的处理器901读取存储器903中的指令,使图11所示的第二节点900能够执行第二网络设备所执行的全部或部分操作。
具体的,处理器901用于通过通信接口接收第一网络设备发送的指示信息;根据指示信息确定至少一个远端服务器的状态。
其他可选的实施方式,为了简洁,在此不再赘述。
第二节点900还可以对应于上述图9所示的算力更新装置,算力更新装置中的每个功能模块采用第二节点900的软件实现。换句话说,算力更新装置包括的功能模块为第二节点900的处理器901读取存储器903中存储的程序代码910后生成的。
其中,图3所示的算力更新方法、图4所示的算力更新方法的各步骤通过第二节点900的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
本申请实施例还提供了一种芯片,包括处理器,处理器用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请提供的任一种的算力发布方法或算力更新方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述任一种的算力发布方法或算力更新方法。
应理解的是,上述处理器可以是CPU,还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持ARM架构的处理器。
进一步地,在一种可选的实施例中,上述处理器为一个或多个,存储器为一个或多个。可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储参考块和目标块。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、PROM、EPROM、EEPROM或闪存。易失性存储器可以是RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,SRAM、DRAM、SDRAM、DDR SDRAM、ESDRAM、SLDRAM和DR RAM。
本申请实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中存储的计算机指令被计算机设备执行时,使得计算机设备执行上述所提供的算力发布方法或算力更新方法。
本申请实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述所提供的算力发布方法或算力更新方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (22)
1.一种算力发布方法,其特征在于,所述方法包括:
响应于第一节点的算力发生变化,所述第一节点生成第一消息,所述第一消息包括第一节点地址和第一节点的算力信息;
所述第一节点向第二节点发送所述第一消息,以使得所述第二节点根据所述第一节点的算力信息以及第一对应关系更新第一应用程序APP的算力信息,所述第一对应关系包括所述第一节点和所述第一APP的对应关系,所述第一APP部署在所述第一节点上。
2.根据权利要求1所述的算力发布方法,其特征在于,所述方法还包括:
所述第一节点向所述第二节点发送第二消息,所述第二消息包括所述第一对应关系。
3.根据权利要求2所述的算力发布方法,其特征在于,所述第二消息为路由消息,所述第一节点向所述第二节点发送第二消息,包括:
所述第一节点向所述第二节点发送所述路由消息,所述路由消息包括所述第一对应关系。
4.根据权利要求3所述的算力发布方法,其特征在于,所述路由消息包括所述第一APP的地址信息、所述第一节点地址和下一跳信息,所述下一跳信息用于向所述第一APP的地址信息对应的地址转发报文,所述第一节点和所述第一APP的对应关系包括所述第一APP的地址信息和所述第一节点地址的对应关系。
5.根据权利要求4所述的算力发布方法,其特征在于,所述第一APP的地址信息位于所述路由消息的目的地址字段中,所述第一节点地址和下一跳信息位于所述路由消息的路由属性字段中。
6.根据权利要求3至5任一项所述的算力发布方法,其特征在于,所述第一节点向所述第二节点发送路由消息,包括:
所述第一节点通过内部网关协议IGP报文或边界网关协议BGP报文向所述第二节点发送所述路由消息。
7.根据权利要求1至6任一项所述的算力发布方法,其特征在于,所述第一节点上还部署有第二APP,所述第二APP和所述第一APP共享所述第一节点的资源,所述方法还包括:
所述第一节点向所述第二节点发送第二对应关系,所述第二对应关系包括所述第一节点和所述第二APP的对应关系;所述第一消息还用于使所述第二节点根据所述第一节点的算力信息以及所述第二对应关系更新所述第二APP的算力信息。
8.根据权利要求1至7任一项所述的算力发布方法,其特征在于,所述第一节点包括服务器或者虚拟机VM。
9.根据权利要求1至8任一项所述的算力发布方法,其特征在于,所述第一节点生成第一消息,包括:
所述第一节点将所述第一节点地址和算力信息封装在IGP报文或BGP报文中,得到所述第一消息。
10.一种算力更新方法,其特征在于,所述方法包括:
第二节点获取第一对应关系,所述第一对应关系包括第一节点和第一APP的对应关系,所述第一APP部署在第一节点上;
所述第二节点接收所述第一节点的第一消息,所述第一消息包括所述第一节点地址和所述第一节点的算力信息;
所述第二节点根据所述第一对应关系和所述第一节点的算力信息,更新所述第一APP的算力信息。
11.根据权利要求10所述的算力更新方法,其特征在于,所述第二节点获取第一对应关系,包括:
所述第二节点接收所述第一节点发送的第二消息,所述第二消息包括所述第一对应关系。
12.根据权利要求11所述的算力更新方法,其特征在于,所述第二消息为路由消息,所述第二节点接收所述第一节点的第二消息,包括:
所述第二节点接收所述第一节点发送的所述路由消息,所述路由消息包括所述第一对应关系。
13.根据权利要求12所述的算力更新方法,其特征在于,所述路由消息包括所述第一APP的地址信息、所述第一节点地址和下一跳信息,所述下一跳信息用于向所述第一APP的地址信息对应的地址转发报文,所述第一节点和所述第一APP的对应关系包括所述第一APP的地址信息和所述第一节点地址的对应关系。
14.根据权利要求13所述的算力更新方法,其特征在于,所述第一APP的地址信息位于所述路由消息的目的地址字段中,所述第一节点地址和下一跳信息位于所述路由消息的路由属性字段中。
15.根据权利要求12至14任一项所述的算力更新方法,其特征在于,所述第二节点接收所述第一节点的路由消息,包括:
所述第二节点接收IGP报文或BGP报文,所述IGP报文或BGP报文中携带有所述路由消息。
16.根据权利要求10至15任一项所述的算力更新方法,其特征在于,所述方法还包括:
所述第二节点获取第二对应关系,所述第二对应关系包括所述第一节点和第二APP的对应关系,所述第二APP部署在所述第一节点上,所述第二APP和所述第一APP共享所述第一节点的资源;
所述第二节点根据所述第二对应关系和所述第一节点的算力信息,更新所述第二APP的算力信息。
17.根据权利要求10至16任一项所述的算力更新方法,其特征在于,所述第二节点包括路由器。
18.根据权利要求10至17任一项所述的算力更新方法,其特征在于,所述第二节点接收所述第一节点的第一消息,包括:
所述第二节点接收IGP报文或BGP报文,所述IGP报文或BGP报文中携带有所述第一节点地址和算力信息。
19.一种第一节点,其特征在于,所述第一节点包括处理器和存储器;所述存储器用于存储软件程序,所述处理器通过执行存储在所述存储器内的软件程序,以使得所述第一节点实现如权利要求1至9任一项所述的方法。
20.一种第二节点,其特征在于,所述第二节点包括处理器和存储器;所述存储器用于存储软件程序,所述处理器通过执行存储在所述存储器内的软件程序,以使得所述第二节点实现如权利要求10至18任一项所述的方法。
21.一种算力发布系统,其特征在于,所述算力发布信息包括第一节点和第二节点,所述第一节点用于执行如权利要求1至9任一项所述的方法,所述第二节点用于执行如权利要求10至18任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储处理器所执行的程序代码,所述程序代码包括用于实现如权利要求1至9任一项所述的方法的指令,或者所述程序代码包括用于实现如权利要求10至18任一项所述的方法的指令。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110719057.7A CN115604106A (zh) | 2021-06-28 | 2021-06-28 | 算力发布方法、算力更新方法及装置 |
PCT/CN2022/100104 WO2023273957A1 (zh) | 2021-06-28 | 2022-06-21 | 算力发布方法、算力更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110719057.7A CN115604106A (zh) | 2021-06-28 | 2021-06-28 | 算力发布方法、算力更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115604106A true CN115604106A (zh) | 2023-01-13 |
Family
ID=84691258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110719057.7A Pending CN115604106A (zh) | 2021-06-28 | 2021-06-28 | 算力发布方法、算力更新方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115604106A (zh) |
WO (1) | WO2023273957A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116743878B (zh) * | 2023-08-14 | 2023-10-27 | 新华三技术有限公司 | 算力注册方法、装置、计算机设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062687A (zh) * | 2018-07-10 | 2018-12-21 | 矩阵元技术(深圳)有限公司 | 用于p2p网络的计算资源查找方法及装置 |
CN111045690B (zh) * | 2018-10-12 | 2023-04-28 | 阿里巴巴集团控股有限公司 | 区块链节点服务部署方法、装置、系统、计算设备及介质 |
CN112346854B (zh) * | 2020-09-28 | 2023-02-03 | 北京大学深圳研究生院 | 一种分层协同决策的网内资源调度方法及系统、存储介质 |
CN112465359B (zh) * | 2020-12-01 | 2024-03-15 | 中国联合网络通信集团有限公司 | 算力调用方法和装置 |
-
2021
- 2021-06-28 CN CN202110719057.7A patent/CN115604106A/zh active Pending
-
2022
- 2022-06-21 WO PCT/CN2022/100104 patent/WO2023273957A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023273957A1 (zh) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11218537B2 (en) | Load balancing in distributed computing systems | |
US20180329755A1 (en) | Distributed processing of network device tasks | |
US11689606B2 (en) | Communication method, system and apparatus | |
KR102640600B1 (ko) | 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템 | |
CN105993161B (zh) | 用于解析地址的元件、方法、系统和计算机可读存储设备 | |
US20230216775A1 (en) | Packet forwarding method, forwarding indication information advertising method, advertisement packet advertising method, and device | |
US20230291684A1 (en) | Packet transmission method and apparatus, device, and computer-readable storage medium | |
CN113162779B (zh) | 一种多云互联的方法及设备 | |
JP2024514643A (ja) | パケット転送方法、装置、およびシステム、並びにコンピュータ可読記憶媒体 | |
WO2023273957A1 (zh) | 算力发布方法、算力更新方法及装置 | |
US11561823B1 (en) | Lockless management of immutable objects by multi-threaded processes using multiple counters | |
US20230327986A1 (en) | Route Advertisement Method, Apparatus, and System | |
US20230269164A1 (en) | Method and apparatus for sending route calculation information, device, and storage medium | |
WO2023093513A1 (zh) | 路径感知方法、装置及系统 | |
CN114157455A (zh) | 一种数据传输方法、装置、设备以及存储介质 | |
US8855015B2 (en) | Techniques for generic pruning in a trill network | |
CN114513485A (zh) | 获取映射规则的方法、装置、设备、系统及可读存储介质 | |
CN116530067A (zh) | 使用内部网关协议(interior gateway protocol,IGP)的边缘计算数据和服务发现 | |
CN114025025B (zh) | SRv6 SID的发布方法及网络设备 | |
WO2024109045A1 (zh) | 路由更新方法、装置、设备及存储介质 | |
CN114697218B (zh) | 网络管理方法和设备 | |
CN117453380B (zh) | 集群的容器组调度方法、系统以及计算机设备 | |
CN113765794B (zh) | 数据发送的方法、装置、电子设备及介质 | |
US20230026626A1 (en) | Route information storage method and apparatus | |
CN117615017A (zh) | 算力请求方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |