算力路由方法及装置与流程
未命名
10-18
阅读:138
评论:0
1.本技术涉及通信技术领域,尤其涉及一种算力路由方法及装置。
背景技术:
2.人工智能技术带来信息社会向着智能社会转变,智能社会的一个典型特征即物理世界和数字世界的深度融合,未来数字世界通过物联网及增强现实等技术提供的传感器和执行器与真实世界产生互动。交互方式上由传统社会人与人的交互,转变为数据与计算能力的交互,用户和应用使用互联网的首要需求可能不再是获得信息,而是获得计算资源、获得功能,核心的目的是获得计算的结果。
3.目前,流量仍是互联网行业的核心竞争力,传统的互联网流量获取方式包括搜索引擎、聚合网站、移动分发、门户网站等等,按照现有的流量获取方式,对于互联网企业而言获取流量成本较高,几乎占到互联网企业总成本30%以上,如何低成本高效率地获取流量始终是互联网企业的一大难题。在智能社会里,数以万计的互联网公司是流量的获取者、算力(也称为计算资源)的需求者,而运营商拥有大量的边缘机房和网络云化后边缘算力的优势,是算力的拥有者和流量的引导者。
4.如何动态、快速匹配上述供需关系,实现低成本共享流量,是亟需解决的问题。
技术实现要素:
5.本技术提供一种算力路由方法及装置,以解决低成本共享流量的问题。
6.第一方面,本技术实施例提供一种算力路由方法,包括:
7.算力路由器接收至少一个计算容器的算力路由信息,所述算力路由信息包括算力编码或计算度量值;
8.所述算力路由器根据所述算力路由信息确定路由信息库rib,所述rib包括计算容器可提供的功能的功能标识fid或所述功能所在计算容器的ip地址前缀中的一个和所述算力编码或所述计算度量值中的一个,所述功能包括部署在所述计算容器内的软件化的计算程序、功能程序、业务软件或微服务中的任一个;
9.所述算力路由器接收报文,根据转发信息库fib转发所述报文,所述fib根据所述rib确定,所述fib包括fid或ip地址前缀。
10.通过第一方面提供的算力路由方法,通过算力路由器接收至少一个计算容器的算力路由信息,算力路由信息包括算力编码或计算度量值,然后将算力路由信息发送给网络中的其它算力路由器,然后根据算力路由信息确定rib,最后算力路由器接收到报文后,根据fib转发报文,最终路由到相应的计算容器,其中的fib根据rib确定,算力路由信息代表计算容器可提供的算力,从而可以将计算任务相关的报文路由到相应的计算容器,实现用户体验最优、计算资源利用率最优、网络效率最优,路由过程等同算力竞价,流量使用者竞价得算力,流量拥有者释放算力,动态、快速匹配了运营商与互联网企业的流量供需关系,实现了低成本共享流量。
11.在一种可能的设计中,所述方法还包括:
12.所述算力路由器将所述算力路由信息发送给网络中的其它算力路由器。
13.在一种可能的设计中,所述算力路由器在所述fib中未查找到与所述报文对应的fib项目时,所述方法还包括:
14.所述算力路由器根据所述rib中的算力编码或所述计算度量值确定与所述报文对应的fib项目。
15.在一种可能的设计中,所述rib包括fid、计算度量值、ip地址前缀和出端口;或者,
16.fid、算力编码、ip地址前缀和出端口;或者,
17.fid、计算度量值、算力路由器ip地址和出端口;或者,
18.fid、算力编码、算力路由器ip地址和出端口;或者,
19.ip地址前缀、计算度量值和出端口;或者,
20.ip地址前缀、算力编码和出端口;或者,
21.fid、计算度量值和出端口;或者,
22.fid、算力编码和出端口;
23.所述fib包括:fid、ip地址前缀和出端口;或者,
24.fid、算力路由器ip地址和出端口;或者,
25.fid和出端口。
26.在一种可能的设计中,若所述报文携带fid,所述根据转发信息库fib转发所述报文,包括:
27.所述算力路由器从所述fib中查找与所述fid对应的ip地址前缀和出端口;
28.所述算力路由器将所述fid添加与所述fid对应的ip地址前缀得到目的地ip地址,根据所述目的地ip地址转发所述报文;或者,
29.所述算力路由器从所述fib中查找出与所述fid对应的算力路由器ip地址和出端口;
30.所述算力路由器将所述算力路由器ip地址作为隧道目的地址对所述报文添加隧道封装,或,将所述算力路由器ip地址作为分段路由sr的段标识添加sr封装;
31.所述算力路由器转发添加隧道封装或添加sr封装的报文;或者,
32.所述算力路由器从所述fib查找出与所述fid或ip地址前缀对应的出端口;
33.所述算力路由器从所述出端口转发所述报文。
34.在一种可能的设计中,若所述报文携带ip地址,所述根据转发信息库fib转发所述报文,包括:
35.所述算力路由器根据所述ip地址转发所述报文。
36.在一种可能的设计中,所述算力编码包括计算时延评估值和/或计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,所述算力路由信息包括算力编码时,所述方法还包括:
37.所述算力路由器根据所述算力编码和如下公式计算所述计算度量值:
38.或者,
39.或者,
40.计算度量值=γ2
×
计算时延评估值;
41.其中,β2、γ2为加权值。
42.在一种可能的设计中,所述方法还包括:
43.若所述算力路由器接收到应答报文,则将所述fib项目确定为有效的fib项目;
44.若所述算力路由器未接收到所述应答报文,则删除所述fib项目。
45.通过本实施方式提供的方法,对于基于会话的业务,通常在会话建立阶段存在会话请求和会话应答的消息报文交互,当未接收到应答报文时,说明会话建立不成功,此时若不将接收到会话请求消息报文时所确定的fib项目删除则相当于留下了不再会用到的垃圾项目,造成不必要的存储空间浪费。
46.第二方面,本技术实施例提供一种算力路由方法,包括:
47.叶子路由器获取计算容器的算力编码,所述叶子路由器部署在所述计算容器内;
48.所述叶子路由器将所述计算容器的算力路由信息发送到与所述叶子路由器连接的算力路由器,以使所述算力路由器将所述算力路由信息发送给网络的其它算力路由器,所述算力路由信息包括所述算力编码或计算度量值;
49.所述叶子路由器接收报文,转发所述报文。
50.通过第二方面提供的算力路由方法,通过叶子路由器获取计算容器的算力编码,将包括算力编码或计算度量值的算力路由信息发送到与叶子路由器连接的算力路由器,使得该算力路由器将算力路由信息发送给网络的其它算力路由器,最后叶子路由器接收报文,转发报文,具体是转发报文到计算容器。算力路由信息代表计算容器可提供的算力,从而可以将计算任务相关的报文路由到相应的计算容器,实现用户体验最优、计算资源利用率最优、网络效率最优,路由过程等同算力竞价,流量使用者竞价得算力,流量拥有者释放算力,动态、快速匹配了运营商与互联网企业的流量供需关系,实现了低成本共享流量。
51.在一种可能的设计中,所述叶子路由器获取计算容器的算力编码,包括:
52.所述叶子路由器从所述计算容器和/或测量工具获取所述算力编码,所述算力编码包括计算时延评估值和/或计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,所述计算时延评估值由所述测量工具测量。
53.在一种可能的设计中,若所述算力路由信息包括所述计算度量值,所述方法还包括:
54.所述叶子路由器根据所述算力编码和如下公式计算所述计算度量值:
55.或者,
56.或者,
57.计算度量值=γ2
×
计算时延评估值;
58.其中,β2、γ2为加权值。
59.在一种可能的设计中,所述方法还包括:
60.所述叶子路由器根据所述算力编码和如下公式计算算力代币:
61.算力代币=α1
×
[β1-(计算度量值)]
[0062]
其中,α1、β1为算力定价系数。
[0063]
在一种可能的设计中,所述算力路由信息还包括:
[0064]
所述计算容器可提供的功能的功能标识fid、所述功能所在计算容器的ip地址前缀或ip地址,所述功能为部署在所述计算容器内的软件化的计算程序、功能程序、业务软件或微服务。
[0065]
在一种可能的设计中,所述叶子路由器接收报文之后,所述方法还包括:
[0066]
所述叶子路由器触发合约平台将所述算力代币转账给算力使用者。
[0067]
在一种可能的设计中,所述方法还包括:
[0068]
所述叶子路由器接收所述计算容器发送的应答报文,所述应答报文携带所述计算容器的ip地址;
[0069]
所述叶子路由器将所述应答报文通过与所述叶子路由器连接的算力路由器发送给客户端,所述应答报文用于客户端进行后续通信时将报文中携带的fid改为所述计算容器的ip地址。
[0070]
第三方面,本技术实施例提供一种算力路由装置,包括:
[0071]
接收模块,用于接收至少一个计算容器的算力路由信息,所述算力路由信息包括算力编码或计算度量值;
[0072]
确定模块,用于根据所述算力路由信息确定路由信息库rib,所述rib包括计算容器可提供的功能的功能标识fid或所述功能所在计算容器的ip地址前缀中的一个和所述算力编码或所述计算度量值中的一个,所述功能包括部署在所述计算容器内的软件化的计算程序、功能程序、业务软件或微服务中的任一个;
[0073]
所述接收模块还用于接收报文;
[0074]
发送模块,用于根据转发信息库fib转发所述报文,所述fib根据所述rib确定,所述fib包括fid或ip地址前缀。
[0075]
在一种可能的设计中,所述发送模块还用于:
[0076]
将所述算力路由信息发送给网络中的其它算力路由器。
[0077]
在一种可能的设计中,所述算力路由器在所述fib中未查找到与所述报文对应的fib项目时,所述确定模块还用于:
[0078]
根据所述rib中的算力编码或所述计算度量值确定与所述报文对应的fib项目。
[0079]
在一种可能的设计中,所述rib包括fid、计算度量值、ip地址前缀和出端口;或者,
[0080]
fid、算力编码、ip地址前缀和出端口;或者,
[0081]
fid、计算度量值、算力路由器ip地址和出端口;或者,
[0082]
fid、算力编码、算力路由器ip地址和出端口;或者,
[0083]
ip地址前缀、计算度量值和出端口;或者,
[0084]
ip地址前缀、算力编码和出端口;或者,
[0085]
fid、计算度量值和出端口;或者,
[0086]
fid、算力编码和出端口;
[0087]
所述fib包括:fid、ip地址前缀和出端口;或者,
[0088]
fid、算力路由器ip地址和出端口;或者,
[0089]
fid和出端口。
[0090]
在一种可能的设计中,若所述报文携带fid,所述发送模块用于:
[0091]
从所述fib中查找与所述fid对应的ip地址前缀和出端口;
[0092]
将所述fid添加与所述fid对应的ip地址前缀得到目的地ip地址,根据所述目的地ip地址转发所述报文;或者,
[0093]
从所述fib中查找出与所述fid对应的算力路由器ip地址和出端口;
[0094]
将所述算力路由器ip地址作为隧道目的地址对所述报文添加隧道封装,或,将所述算力路由器ip地址作为分段路由sr的段标识添加sr封装;
[0095]
转发添加隧道封装或添加sr封装的报文;或者,
[0096]
从所述fib查找出与所述fid或ip地址前缀对应的出端口;
[0097]
从所述出端口转发所述报文。
[0098]
在一种可能的设计中,所述算力编码包括计算时延评估值和/或计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,所述算力路由信息包括算力编码时,所述装置还包括:
[0099]
计算模块,用于根据所述算力编码和如下公式计算所述计算度量值:
[0100]
或者,
[0101]
或者,
[0102]
计算度量值=γ2
×
计算时延评估值;
[0103]
其中,β2、γ2为加权值。
[0104]
在一种可能的设计中,所述装置还包括:
[0105]
处理模块,用于若所述接收模块接收到应答报文,将所述fib项目确定为有效的fib项目;
[0106]
若所述接收模块未接收到所述应答报文,则删除所述fib项目。
[0107]
第四方面,本技术实施例提供一种算力路由装置,包括:
[0108]
获取模块,用于获取计算容器的算力编码,所述叶子路由器部署在所述计算容器内;
[0109]
发送模块,用于将所述计算容器的算力路由信息发送到与所述叶子路由器连接的算力路由器,以使所述算力路由器将所述算力路由信息发送给网络的其它算力路由器,所述算力路由信息包括所述算力编码或计算度量值;
[0110]
接收模块,用于接收报文;
[0111]
所述发送模块还用于转发所述报文。
[0112]
在一种可能的设计中,所述获取模块用于:
[0113]
从所述计算容器和/或测量工具获取所述算力编码,所述算力编码包括计算时延评估值和/或计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,所述计算时延评估值由所述测量工具测量。
[0114]
在一种可能的设计中,若所述算力路由信息包括所述计算度量值,所述装置还包括:
[0115]
计算模块,用于根据所述算力编码和如下公式计算所述计算度量值:
[0116]
或者,
[0117]
或者,
[0118]
计算度量值=γ2
×
计算时延评估值;
[0119]
其中,β2、γ2为加权值。
[0120]
在一种可能的设计中,所述计算模块还用于:
[0121]
根据所述算力编码和如下公式计算算力代币:
[0122]
算力代币=α1
×
[β1-(计算度量值)]
[0123]
其中,α1、β1为算力定价系数。
[0124]
在一种可能的设计中,所述算力路由信息还包括:
[0125]
所述计算容器可提供的功能的功能标识fid、所述功能所在计算容器的ip地址前缀或ip地址,所述功能为部署在所述计算容器内的软件化的计算程序、功能程序、业务软件或微服务。
[0126]
第五方面,本技术实施例提供一种装置,包括:存储器和处理器;
[0127]
处理器;以及
[0128]
存储器,用于存储所述处理器的可执行指令;
[0129]
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面及第一方面任一种可能的设计中或第二方面及第二方面任一种可能的设计中的算力路由方法。
[0130]
在一种可能的设计中,上述装置可以是路由设备,也可以是芯片。
[0131]
第六方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
[0132]
第七方面,本技术提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
[0133]
图1为本技术提供的一种算力网络架构示意图;
[0134]
图2为本技术提供的另一种算力网络架构示意图;
[0135]
图3为本技术提供的又一种算力网络架构示意图;
[0136]
图4为本技术提供的算力路由方法及装置的应用场景示意图;
[0137]
图5为本技术提供的一种算力路由方法实施例的流程图;
[0138]
图6为本技术提供的一种算力路由方法实施例的流程图;
[0139]
图7为本技术提供的一种算力路由方法实施例的流程图;
[0140]
图8为本技术提供的一种算力路由方法实施例的流程图;
[0141]
图9为本技术提供的一种算力路由方法实施例的流程图;
[0142]
图10为本技术提供的一种算力路由方法实施例的流程图;
[0143]
图11为本技术提供的一种算力路由器的功能结构示意图;
[0144]
图12为本技术提供的一种叶子路由器的功能结构示意图;
[0145]
图13为本技术提供的一种算力路由装置实施例的结构示意图;
[0146]
图14为本技术提供的一种算力路由装置实施例的结构示意图;
[0147]
图15为本技术提供的一种算力路由装置实施例的结构示意图;
[0148]
图16为本技术提供的一种算力路由装置实施例的结构示意图;
[0149]
图17为本技术提供的一种算力路由装置实施例的结构示意图;
[0150]
图18为本技术提供的一种装置结构示意图。
具体实施方式
[0151]
本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明,本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或方案不应被解释为比其它实施例或方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0152]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
[0153]
首先,下面对本技术实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
[0154]
1、功能(function),为部署在计算站点内的软件化的计算程序、功能程序、业务软件或微服务。
[0155]
2、计算容器,可以是计算站点、服务器、虚拟机或容器(container),或者是更小的提供计算资源的单元,其中的计算站点可以是用户侧的客户终端设备(customer-premises equipment,cpe)站点,如企业网所在站点(企业网有网关设备(gateway,gw)和服务器,如网管设备和服务器都可以为计算站点)或者家庭网络所在站点。
[0156]
3、算力编码,是计算容器可提供的计算能力的一种技术抽象,为一种计算度量值(computing metric)在路由器间扩散和传播,算力编码包括计算时延评估值和/或计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载。
[0157]
4、算力代币,是计算容器可提供的计算能力的一种商业抽象,与运营商计算容器可提供的计算能力是等价的,算力代币以算力编码的技术形式在算力网络中传递。
[0158]
本技术实施例中,为实现低成本共享流量,动态、快速匹配运营商与互联网企业的流量供需关系,适应智能社会的发展,本技术提供一种算力路由方法及装置,通过部署在计算容器内的叶子路由器将计算容器的算力路由信息发送到与叶子路由器连接的算力路由器,由该算力路由器通告给网络的其它算力路由器,使得其它算力路由器能获得网络所有计算容器的算力路由信息,算力路由器根据算力路由信息确定路由信息库(routing information base,rib),算力路由器接收到报文后,根据转发信息库(forwarding information base,fib)和报文中携带的fid将报文路由到fid所在的计算容器。从而可以将计算任务相关的报文路由到相应的计算容器,路由过程等同算力竞价,流量使用者竞价得算力,流量拥有者释放算力,动态、快速匹配了运营商与互联网企业的流量供需关系,实现了低成本共享流量,对于运营商:边缘机房、网络云化优势得释放,变现“网络连接及其相
关的数字资产(计算和存储)”,从而助力运营商向信息和通信技术(information and communications technology,ict)服务转型;对于互联网公司:从运营商按需调用轻资产,流量获取来自算力网络,节省大量重资产投资与流量获取成本,助力互联网公司向轻资产模式转型。
[0159]
下面结合附图详细说明本技术提供的算力路由方法及装置的具体实现过程。
[0160]
本技术实施例可应用于算力网络中,图1为本技术提供的一种算力网络架构示意图,如图1所示,该网络由计算容器和算力网络(通常为运营商网络,carrier network)组成,可以分成underlay和叠加层(overlay)两层,叶子路由器/(也可以称为叶子节点)是算力网络的对外的延伸,是感知外部算力的触角,叶子路由器部署在计算容器内,图1中以计算容器为计算站点(site)为例进行说明。
[0161]
计算站点可以是用户侧的cpe站点,如企业网所在站点,或者家庭网络所在站点,家庭网有家庭网关和计算机、手机等设备,cpe站点内的这些设备属于underlay设备。
[0162]
计算站点还可以是网络侧的站点:如路由器、pop、co或基站所在站点,站点内也有网络设备或网关设备和服务器,站点内的这些设备属于underlay设备。网络侧的站点通常是一些被改造为小型数据中心或放置有服务器等计算资源的站点。
[0163]
计算站点内可以部署,通常在underlay设备上面,部署软件化的计算程序、功能程序、业务软件或微服务等,以功能(function)代表部署软件化的计算程序、功能程序、业务软件或微服务,即图1中所示的fx1
…
fxk,或,fy1
…
fym,叶子路由器部署在计算站点内;这些软件或设备属于叠加层,也就是叠加在underlay上面的一层的意思。
[0164]
计算站点间由算力网络互联,算力网络由算力路由器(也称算力节点)组成,还可以包含普通路由器。算力路由器用于支持算力路由,普通路由器没有算力路由能力。普通路由器属于underlay设备,算力路由功能的软件或硬件属于叠加层,即图中的算力路由器,叠加了算力路由功能的软件或硬件的节点就是算力节点,叠加了算力路由功能的软件或硬件的路由器就是算力路由器。叠加层与underlay设备可以集成在一起,也可以分离单独成设备,如叠加节点/设备。本技术实施例中,算力即计算资源。
[0165]
图2为本技术提供的另一种算力网络架构示意图,如图2所示,与图1不同在于算力路由器由中间的网络搬移到计算站点内,所以算力网络是一个叠加层,由算力路由器构成。叠加层与计算站点内的underlay设备可以集成在一起,也可以分离单独成设备,如overlay算力节点/设备。
[0166]
图3为本技术提供的又一种算力网络架构示意图,如图3所示,它是一种图1与图2的混合架构,算力路由器既可以位于中间的网络,也可以在计算站点内。
[0167]
本技术实施例中,算力网络实现三个主要功能:
[0168]
(1)功能和/或算力自动发现
[0169]
由叶子路由器将站点计算资源和/或可提供的功能以及功能所在计算容器的ip地址前缀/地址对算力网络通告,使算力网络可以发现功能和/或算力,计算资源本实施例中以“算力编码”的形式表达。其中,算力路由信息可以包括站点计算资源和/或可提供的功能以及功能所在计算容器的ip地址前缀/地址。这种通告可以通过扩展dc内部协议,或通过扩展路由协议(如内部网关协议(interior gateway protocol,igp)igp/边界网关协议(border gateway protocol,bgp)实现。
[0170]
(2)功能和/或算力通告
[0171]
在算力路由器间通告算力路由信息,算力路由信息还可以包括叶子路由器ip地址前缀/地址或与叶子路由器所连接的算力路由器的ip地址前缀/地址,算力路由器间通告,使整个算力网络的各个算力路由器都可以发现功能和/或算力。这种通告同样可以通过扩展dc内部协议,或通过扩展路由协议(如igp/bgp)实现。
[0172]
(3)基于功能的隧道技术
[0173]
由于underlay设备间是ip可达的,即underlay设备为算力路由器提供了可达性,每个算力路由器(节点)之间可以直接通信,构成逻辑上全网状(full mesh)的对等(peer)关系。算力路由器(节点)之间可以用多协议标记交换(multiprotocol label switching,mpls)、ip等隧道技术逻辑互联,或分段路由(segment routing,sr)技术互联。
[0174]
图4为本技术提供的算力路由方法及装置的应用场景示意图,如图4所示,计算容器以计算站点为例,本实施例的方法包括以下流程:
[0175]
s1、互联网公司与运营商通过智能合约约定算力租金,互联网公司根据运营商计算站点可提供的计算能力,对所要租的算力合约转账相应数量的“算力代币”。
[0176]
s2、将“算力代币(数字钱币)”转换为“算力编码”,用私钥签名类似于签名的“二维码”,用私钥签名。
[0177]
s3、部署在计算站点内的叶子路由器,将“算力编码”或由“算力编码”推算出来的计算度量值(computing metric)通过路由协议(igp/bgp)发给算力网络,首先发送到入口路由器(为算力路由器)。
[0178]
s4、算力网络中的入口路由器识别“二维码(即算力编码或计算度量值)”,并向合约验证签名的真实性以及用公钥验证算力编码或计算度量值签名的合法性,进行算力路由“锁”解锁;其中,所谓算力路由锁解锁即允许算力编码或计算度量值在算力网络中传播
[0179]
s5、算力编码或计算度量值为一种计算度量值通过路由器(为算力路由器)在算力网络内传播。
[0180]
s6、路由过程相当于“算力竞价”,路由器基于“算力编码”或计算度量值所代表的计算站点可提供的计算能力,通过合理的算法综合考量并选定出最合适的计算容器,得到最佳算力路由,从而流量被路由到“最高出价”的互联网公司租用站点进行计算。
[0181]
s7、在成功引导计算流量后,算力拥有者(如运营商)从智能合约获得约定的相应的“算力代币”。
[0182]
需要说明的是,“算力代币”与运营商计算站点可提供的计算能力是等价的,即“算力代币”是计算站点可提供的计算能力的一种商业抽象,而“算力编码”是计算站点可提供的计算能力的一种技术抽象,“算力代币”以“算力编码”的技术形式在算力网络中传递。
[0183]
其中,叶子路由器/叶子节点可以每个互联网或针对每种业务设置一个,通常是设置于数据中心或计算容器内,可以以硬件设备或以软件的形态存在,例如软件化的虚拟路由器。智能合约(smart contract)可以用一个平台维护,可以是去中心化的区块链平台,也可以是有中心的代理平台,用于实现算力使用者(如互联网公司或第三方)与算力拥有者(如运营商或企业)之间的算力代币支付或转账。
[0184]
本技术涉及的网元包括算力路由器和叶子路由器。
[0185]
图5为本技术提供的一种算力路由方法实施例的流程图,本实施例的执行主体可
以为算力路由器,也可以为算力节点,如图5所示,本实施例的方法可以包括:
[0186]
s101、算力路由器接收至少一个计算容器的算力路由信息,算力路由信息包括算力编码或计算度量值。
[0187]
具体地,算力路由器从与其连接的至少一个叶子路由器接收至少一个计算容器的算力路由信息,叶子路由器部署在计算容器内,一个计算容器内部署至少一个叶子路由器。
[0188]
可选的,在s101之后,本实施例的方法还可以包括:
[0189]
s104、算力路由器将算力路由信息发送给网络中的其它算力路由器。
[0190]
算力路由信息包括算力编码或计算度量值,若算力编码为私钥签名过的算力编码,则s104之前,还可以包括:算力路由器验证签名为合法后,解锁算力路由锁,并触发算力交易,得到算力编码的有效期,即可以使用的有效时间,例如可以向合约平台或有关部门验证签名为合法。当算力编码的有效期到期,算力路由锁将对该算力编码重新上锁,即将不允许相应的算力编码或由其推算出来的计算度量值在网络中传播。
[0191]
具体地,算力路由器可以通过igp/bgp将算力路由信息发送给网络中的其它算力路由器。
[0192]
s102、算力路由器根据算力路由信息确定rib,rib包括计算容器可提供的功能的功能标识(function id,fid)或功能所在计算容器的ip地址前缀中的一个和算力编码或计算度量值中的一个,功能包括部署在计算容器内的软件化的计算程序、功能程序、业务软件或微服务中的任一个。当算力编码的有效期到期,则算力编码相应的rib项目将被删除。
[0193]
具体地,rib包括计算容器可提供的功能的fid和算力编码,或者,rib包括计算容器可提供的功能的fid和计算度量值,或者,rib包括功能所在计算容器的ip地址前缀和算力编码,或者,rib包括功能所在计算容器的ip地址前缀和计算度量值。
[0194]
s103、算力路由器接收报文,根据fib转发报文,fib根据rib确定,fib至少包括fid或ip地址前缀。
[0195]
具体地,算力路由信息包括算力编码或计算度量值,算力路由器根据算力路由信息确定rib,具体可以为:算力路由器根据“算力编码”或计算度量值得到“算力编码”或计算度量值与出端口的映射关系,或者,根据“算力编码”或计算度量值得到fid、“算力编码”或计算度量值与出端口的映射关系,或者,根据“算力编码”或计算度量值得到ip地址前缀、“算力编码”或计算度量值与出端口的映射关系等。
[0196]
还可以是:计算度量值所代表的计算站点可提供的计算能力,通过合理的算法综合考量并选定出最合适的计算容器,例如通过比较“算力编码”或计算度量值后选最小“算力编码”或计算度量值所对应的计算容器,或者,例如通过比较“算力编码”或计算度量值后选最小“算力编码”或计算度量值所对应的计算站点,从而得到相应的fib项目。
[0197]
可选的,rib包括fid、计算度量值、ip地址前缀和出端口;或者,
[0198]
fid、算力编码、ip地址前缀和出端口;或者,
[0199]
fid、计算度量值、算力路由器ip地址和出端口;或者,
[0200]
fid、算力编码、算力路由器ip地址和出端口;或者,
[0201]
ip地址前缀、计算度量值和出端口;或者,
[0202]
ip地址前缀、算力编码和出端口;或者,
[0203]
fid、计算度量值和出端口;或者,
[0204]
fid、算力编码和出端口;
[0205]
相应地,fib包括:fid、ip地址前缀和出端口,或者,fid、算力路由器ip地址和出端口,或者,fid和出端口。
[0206]
在一种可能的实施方式中,算力路由器根据fib转发报文时,算力路由器在fib中未查找到与报文对应的fib项目时,本实施例的方法还可以包括:
[0207]
算力路由器根据rib中的算力编码或计算度量值确定与报文对应的fib项目。具体可以是确定与报文携带的fid或ip地址前缀对应的fib项目,例如算力路由器基于“算力编码”或计算度量值所代表的计算站点可提供的计算能力,通过合理的算法综合考量并选定出最合适的计算容器,例如通过比较“算力编码”或计算度量值后选最小“算力编码”或计算度量值所对应的计算容器,或者,例如通过比较“算力编码”或计算度量值后选最小“算力编码”或计算度量值所对应的计算站点,从而得到相应的fib项目。
[0208]
具体地,rib至少包括计算容器可提供的功能的fid或功能所在计算容器的ip地址前缀中的一个和算力编码或计算度量值中的一个,若rib包括算力编码,则算力路由器比较rib中所有的算力编码的大小,如一共有k个算力编码,则比较算力编码1、算力编码2、
…
算力编码k的大小,来计算路由,得到目的ip地址和/或出端口,从而得到fib项目,该fib项目包括fid、目的ip地址和出端口。若rib包括计算度量值,则算力路由器比较rib中所有的计算度量值的大小,如一共有k个计算度量值,则比较计算度量值1、计算度量值2、
…
计算度量值k的大小,来计算路由,得到目的ip地址和/或出端口,从而得到fib项目,该fib项目包括fid、目的ip地址和/或出端口。
[0209]
具体地,若报文携带fid,根据fib转发报文,有如下三种可实施的方式:
[0210]
方式一:算力路由器从fib中查找与fid对应的ip地址前缀和出端口。
[0211]
算力路由器将fid添加与fid对应的ip地址前缀得到目的地ip地址,根据目的地ip地址转发报文。
[0212]
方式二:算力路由器从fib中查找出与fid对应的算力路由器ip地址和出端口。
[0213]
算力路由器将算力路由器ip地址作为隧道目的地址对报文添加隧道封装,或,将算力路由器ip地址作为分段路由sr的段标识添加sr封装。
[0214]
算力路由器将添加隧道封装或添加sr封装的报文转发。
[0215]
方式三:算力路由器从fib查找出与fid或ip地址前缀对应的出端口,算力路由器将报文从出端口转发。
[0216]
若报文携带ip地址,根据转发信息库fib转发报文,可以是:算力路由器根据ip地址转发报文。
[0217]
可选的,算力编码包括计算时延评估值和/或计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,即:算力编码包括计算时延评估值,或者,算力编码包括计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,或者,算力编码包括计算时延评估值和计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,算力路由信息包括算力编码时,本实施例的方法还可以包括:
[0218]
算力路由器根据算力编码和如下公式计算计算度量值:
[0219]
或者,
[0220]
或者,
[0221]
计算度量值=γ2
×
计算时延评估值;
[0222]
其中,β2、γ2为加权值。α2、β2、γ2可根据算力拥有者与使用者间的合约或服务水平协议(service level agreement,sla)给出。
[0223]
若算力路由信息包括计算度量值,则该计算度量值是由叶子路由器通过上述计算公式计算得到。
[0224]
计算度量值(compute metric)越小,计算容器的计算能力越强,计算服务质量越好,所需要支付的算力代币值也越大,上面的算法仅是一种实施例,也可是通过其他的算法获得。
[0225]
进一步地,本实施例方法还可以包括:
[0226]
若算力路由器接收到应答报文,则将所确定的fib项目确定为有效的fib项目;
[0227]
若算力路由器未接收到应答报文,则删除所确定的fib项目。这样处理的有益效果在于:对于基于会话的业务,通常在会话建立阶段存在会话请求和会话应答的消息报文交互,当未接收到应答报文时,说明会话建立不成功,此时若不将接收到会话请求消息报文时所确定的fib项目删除则相当于留下了不再会用到的垃圾项目,造成不必要的存储空间浪费。
[0228]
s104中算力路由器接收到报文后,根据fib转发报文,路由到到相应的计算容器。
[0229]
本实施例提供的算力路由方法,通过算力路由器接收至少一个计算容器的算力路由信息,算力路由信息包括算力编码或计算度量值,然后将算力路由信息发送给网络中的其它算力路由器,然后根据算力路由信息确定rib,最后算力路由器接收到报文后,根据fib转发报文,最终路由到相应的计算容器,其中的fib根据rib确定,算力路由信息代表计算容器可提供的算力,从而可以将计算任务相关的报文路由到相应的计算容器,实现用户体验最优、计算资源利用率最优、网络效率最优,路由过程等同算力竞价,流量使用者竞价得算力,流量拥有者释放算力,动态、快速匹配了运营商与互联网企业的流量供需关系,实现了低成本共享流量。
[0230]
图6为本技术提供的一种算力路由方法实施例的流程图,本实施例的执行主体可以为叶子路由器,也可以为叶子节点,如图6所示,本实施例的方法可以包括:
[0231]
s201、叶子路由器获取计算容器的算力编码,叶子路由器部署在计算容器内。
[0232]
在一种可能的实施方式中,叶子路由器获取计算容器的算力编码,具体可以是:
[0233]
叶子路由器从计算容器和/或测量工具获取算力编码,算力编码包括计算时延评估值和/或计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,计算时延评估值由测量工具测量,测量工具如openstack、k8s/kubernetes、或操作系统等it软件。
[0234]
其中,计算容量等级例如1台服务器对应的计算容量等级为255,2台服务器对应的计算容量等级为127,3-10台服务器对应的计算容量等级为63,10-1000台服务器对应的计算容量等级为15,1000-10000台服务器对应的计算容量等级为7,10000台以上服务器对应的计算容量等级为3。
[0235]
s202、叶子路由器将计算容器的算力路由信息发送到与叶子路由器连接的算力路由器,以使算力路由器将算力路由信息发送给网络的其它算力路由器,算力路由信息包括
算力编码或计算度量值。
[0236]
可选的,算力路由信息还可以包括:
[0237]
计算容器可提供的功能的fid、功能所在计算容器的ip地址前缀或ip地址,功能为部署在计算容器内的软件化的计算程序、功能程序、业务软件或微服务。
[0238]
可选的,算力路由信息例如可以包括:路由目标(route-target,rt)=6、路由区分符(route-distinguisher,rd)=功能路由通告(function advertisement route)、功能长度(1个八位字节(octet))、fid、ip地址前缀长度(1octet)、ip地址前缀(4or 16octets)(功能和其所在计算容器的ip地址前缀(ipv4或ipv6))和算力编码(8octet)。
[0239]
在一种可能的实施方式中,若算力路由信息包括计算度量值,本实施例的方法还可以包括:
[0240]
叶子路由器根据算力编码和如下公式计算计算度量值:
[0241]
或者,
[0242]
或者,
[0243]
计算度量值=γ2
×
计算时延评估值;
[0244]
其中,β2、γ2为加权值,α2、β2、γ2可根据算力拥有者与使用者间的合约或服务水平协议(service level agreement,sla)给出。
[0245]
进一步地,还可以包括:
[0246]
叶子路由器根据算力编码和如下公式计算算力代币:
[0247]
算力代币=α1
×
[β1-(计算度量值)]
[0248]
其中,α1、β1为算力定价系数,可以由算力拥有者(如运营商)确定,也可以算力拥有者与算力使用者共同确定,或由合约所在平台确定。
[0249]
s203、叶子路由器接收报文,转发报文。
[0250]
进一步地,在叶子路由器接收报文之后,本实施例的方法还可以包括:叶子路由器触发合约平台将算力代币转账给算力使用者。
[0251]
可选的,本实施例的方法还可以包括:
[0252]
叶子路由器接收计算容器发送的应答报文,应答报文携带计算容器的ip地址;
[0253]
叶子路由器将应答报文通过与叶子路由器连接的算力路由器发送给客户端,应答报文用于客户端进行后续通信时将报文中携带的fid改为计算容器的ip地址,从而解决流黏性(flow affinity)问题。
[0254]
本实施例提供的算力路由方法,通过叶子路由器获取计算容器的算力编码,将包括算力编码或计算度量值的算力路由信息发送到与叶子路由器连接的算力路由器,使得该算力路由器将算力路由信息发送给网络的其它算力路由器,最后叶子路由器接收报文,转发报文,具体是转发报文到计算容器。算力路由信息代表计算容器可提供的算力,从而可以将计算任务相关的报文路由到相应的计算容器,实现用户体验最优、计算资源利用率最优、网络效率最优,路由过程等同算力竞价,流量使用者竞价得算力,流量拥有者释放算力,动态、快速匹配了运营商与互联网企业的流量供需关系,实现了低成本共享流量。
[0255]
下面通过四个具体的实施例,对图5和图6所示的技术方案进行具体的说明。
[0256]
图7为本技术提供的一种算力路由方法实施例的流程图,如图5所示,本实施例的方法可以包括:
[0257]
s301、叶子路由器获取计算容器的算力编码,叶子路由器部署在计算容器内。
[0258]
具体地,例如有k个叶子路由器,叶子路由器1从计算容器和/或it测量工具获取私钥签名过的算力编码1,叶子路由器2从计算容器和/或it测量工具获取私钥签名过的算力编码2,
……
,叶子路由器k从计算容器和/或it测量工具获取私钥签名过的算力编码k。
[0259]
具体地,叶子路由器从计算容器获取计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,从it测量工具获取计算时延评估值,由it测量工具测量计算时延评估值,it测量工具例如openstack、k8s/kubernetes或操作系统等it软件,算力编码包括计算时延评估值和/或计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载。
[0260]
叶子路由器根据算力编码和如下公式计算计算度量值:
[0261]
或者,
[0262]
或者,
[0263]
计算度量值=γ2
×
计算时延评估值;
[0264]
其中,β2、γ2为加权值,α2、β2、γ2可根据算力拥有者与使用者间的合约/服务水平协议(service level agreement,sla)给出。
[0265]
叶子路由器根据算力编码和如下公式计算算力代币:
[0266]
算力代币=α1
×
[β1-(计算度量值)]
[0267]
其中,α1、β1为算力定价系数,可以由算力拥有者(如运营商)确定,也可以算力拥有者与算力使用者共同确定,或由合约所在平台确定。
[0268]
s302、叶子路由器1、叶子路由器k把算力路由信息通过igp/bgp发送到与其连接的一个第一算力路由器。
[0269]
其中,算力路由信息包括fid、叶子路由器所在计算容器的ip地址前缀和算力编码k,若s101中叶子路由器根据算力编码计算出计算度量值,则算力路由信息包括fid、叶子路由器所在计算容器的ip地址前缀和计算度量值k。若算力路由信息不包括计算度量值,则由接收到算力路由信息的算力路由器根据算力编码计算计算度量值。
[0270]
s303、第一算力路由器向合约平台或有关部门验证签名为合法,则解锁“算力路由锁”,并触发“算力交易”,得到算力编码k的有效期。
[0271]
其中,算力编码k的有效期即算力编码k的有效使用时间。
[0272]
s304、第一算力路由器通过igp/bgp将算力路由信息发送给网络的其它算力路由器。
[0273]
具体地,网络的所有算力路由器均得到每一算力编码k与算力编码k对应的ip地址前缀和fid以及算力编码k的有效期,根据这些信息生成rib,rib包括算力编码k、ip地址前缀、fid和出端口的对应关系。
[0274]
s305、第一算力路由器得到包括fid、算力编码k、ip地址前缀和出端口的rib项目。
[0275]
第二算力路由器得到包括fid、算力编码k和ip地址前缀和出端口的rib项目。
[0276]
s306、客户端发送携带fid的首包报文。
[0277]
例如,首包报文中携带fidx。
[0278]
s307、接收到首包报文的第二算力路由器根据fid查fib,若fib不存在与该fid对应的项目,则根据fid查rib,比较“算力编码1
…
k”的大小,来计算路由,得到与该fid对应的目的地ip地址前缀和出端口,生成基于该fid转发的fib项目,fib项目包括fid、ip地址前缀和出端口的对应关系。
[0279]
s308、第二算力路由器将fid添加所得到的与该fid对应的目的地ip地址前缀得到目的地ip地址,将首包报文根据目的地ip地址转发到第一算力路由器,转发的首包报文携带目的地ip地址。
[0280]
其中,该目的地ip地址为fid所在计算容器ip地址。
[0281]
s309、第一算力路由器将携带目的地ip地址的首包报文根据目的地ip地址转发到叶子路由器k。
[0282]
此处的叶子路由器k是与第一算力路由器连接的叶子路由器。
[0283]
s310、叶子路由器k根据目的地ip地址转发首包报文到fid所在计算容器,并触发“算力代币”转账。
[0284]
s311、客户端发送携带fidx的后续报文至第二算力路由器。
[0285]
s312、第二算力路由器根据报文携带的fid查fib,得到与该fid对应的目的地ip地址前缀,将fid添加该目的地ip地址前缀得到目的地ip地址,将报文根据目的地ip地址转发到第一算力路由器,转发的首包报文携带目的地ip地址。
[0286]
s313、第一算力路由器将携带目的地ip地址的报文根据目的地ip地址转发到叶子路由器。
[0287]
s314、叶子路由器根据目的地ip地址转发报文到fid所在计算容器。
[0288]
其中,触发算力代币转账或算力交易的条件可以是如算力编码成功注入算力网络时,或算力网络生成rib/fib,或如算力网络成功将报文路由到互联网公司/第三方所属的叶子路由器或计算站点。报文携带的是fid,fid不是ip地址,需要由特定域来携带,可以是放在ip报文的目的地址域中。仅算力网络入口(如入口算力路由器,图7中的第二算力路由器)要求基于计算度量值选择路由,以及基于fid的转发,其余路由器都能延用传统ip转发,因此可以保护现有ip路由器的投资。
[0289]
图8为本技术提供的一种算力路由方法实施例的流程图,如图8所示,不仅仅算力网络入口(如入口算力路由器,图8中的第二算力路由器)要求基于计算度量值选择路由,以及基于fid的转发,而且算力网络出口(如出口算力路由器,图8中的第一算力路由器),其余路由器都能延用传统ip转发,因此可以保护现有ip路由器的投资。本实施例的方法可以包括:
[0290]
s401-s403与s301-s303相同,可参见s301-s303的描述,此处不再赘述。
[0291]
s404、第一算力路由器通过igp/bgp将算力路由信息发送给网络的其它算力路由器。
[0292]
具体地,本实施例中第一算力路由器通过igp/bgp发送给网络的其它算力路由器的算力路由信息包括算力编码k和第一算力路由器ip地址。
[0293]
s405、第一算力路由器得到包括fid、算力编码k、ip地址前缀和出端口的rib项目。
[0294]
第二算力路由器得到包括fid、算力编码k和第一算力路由器ip地址和出端口的rib项目。
[0295]
s406、客户端发送携带fid的首包报文。
[0296]
例如,首包报文中携带fidx。
[0297]
s407、接收到首包报文的第二算力路由器根据fid查fib,若fib不存在与该fid对应的项目,则根据fid查rib,比较“算力编码1
…
k”的大小,来计算路由,得到与该fid对应的最佳算力路由器(如第一算力路由器)ip地址和出端口,生成基于该fid转发的fib项目,fib项目包括fid、第一算力路由器ip地址和出端口的对应关系。
[0298]
s408、第二算力路由器将所述算力路由器ip地址作为隧道目的地址对所述报文添加隧道封装,或,将所述算力路由器ip地址作为分段路由(sr)的段标识添加sr封装,转发添加隧道封装或添加sr封装的报文至第一算力路由器。
[0299]
s409、第一算力路由器将第二算力路由器发送的首包报文转发到叶子路由器k。
[0300]
此处的叶子路由器k是与第一算力路由器连接的叶子路由器。
[0301]
s410、叶子路由器k转发首包报文到fidx所在计算容器,并触发
““
算力代币”转账”。
[0302]
s411、客户端发送携带fidx的后续报文至第二算力路由器。
[0303]
s412、第二算力路由器根据报文携带的fid查fib,得到与该fid对应的最佳算力路由器ip地址和出端口,将所述算力路由器ip地址作为隧道目的地址对所述报文添加隧道封装,或,将所述算力路由器ip地址作为分段路由(sr)的段标识添加sr封装,转发添加隧道封装或添加sr封装的报文至第一算力路由器。
[0304]
s413、第一算力路由器将第二算力路由器发送的报文转发到叶子路由器k。
[0305]
s414、叶子路由器转发报文到fid所在计算容器。
[0306]
图9为本技术提供的一种算力路由方法实施例的流程图,如图9所示,算力网络中的各个算力路由器,不仅限图9中的第一和第二算力路由器,皆要求基于计算度量值选择路由,以及基于fid转发。本实施例的方法可以包括:
[0307]
s501与s301相同,此处不再赘述。
[0308]
s502、叶子路由器1、叶子路由器k把算力路由信息通过igp/bgp发送到与其连接的一个第一算力路由器。
[0309]
其中,算力路由信息包括fid和算力编码k,若s501中叶子路由器根据算力编码计算出计算度量值,则算力路由信息包括fid和计算度量值k。若算力路由信息不包括计算度量值,则由接收到算力路由信息的算力路由器根据算力编码计算计算度量值。
[0310]
s503、第一算力路由器向合约平台或有关部门验证签名为合法,则解锁“算力路由锁”,并触发“算力交易”,得到算力编码k的有效期。
[0311]
其中,算力编码k的有效期即算力编码k的有效使用时间。
[0312]
s504、第一算力路由器通过igp/bgp将包括算力编码k的算力路由信息发送给网络的其它算力路由器。
[0313]
s505、第一算力路由器得到包括fid、算力编码k和出端口的rib项目。
[0314]
第二算力路由器得到包括fid、算力编码k和出端口的rib项目。
[0315]
s506、客户端发送携带fid的首包报文。
[0316]
例如,首包报文中携带fidx。
[0317]
s507、接收到首包报文的第二算力路由器根据fid查fib,若fib不存在与该fid对应的项目,则根据fid查rib,比较“算力编码1
…
k”的大小,来计算路由,得到与该fid对应的出端口,生成基于该fid转发的fib项目,fib项目包括fid和出端口的对应关系。
[0318]
s508、第二算力路由器根据出端口转发首包报文,经过若干类似的算力路由器转发,到达第一算力路由器(算力网络的出口)。
[0319]
s509、第一算力路由器根据fid查fib,若fib不存在与该fid对应的项目,则根据fid查rib,比较“算力编码1
…
k”的大小,来计算路由,得到与该fid对应的出端口,生成基于该fid转发的fib项目,fib项目包括fid和出端口的对应关系。
[0320]
s510、第一算力路由器根据出端口转发首包报文到到叶子路由器k。
[0321]
此处的叶子路由器k是与第一算力路由器连接的叶子路由器。
[0322]
s511、叶子路由器k转发首包报文到fid所在计算容器,并触发“算力代币”转账。
[0323]
s512、客户端发送携带fidx的后续报文至第二算力路由器。
[0324]
s513、第二算力路由器根据报文携带的fid查fib,得到与该fid对应的出端口,转发报文到第一算力路由器。
[0325]
s514、第一算力路由器根据报文携带的fid查fib,得到与该fid对应的出端口,转发报文到叶子路由器k。
[0326]
此处的叶子路由器k是与第一算力路由器连接的叶子路由器。
[0327]
s515、叶子路由器k转发报文到fid所在计算容器。
[0328]
图10为本技术提供的一种算力路由方法实施例的流程图,如图10所示,本实施例在图7所示方法的基础上,当首个报文为传输控制协议(transmission control protocol,tcp)报文,如tcp同步(synchronization,syn)时,本实施例的方法可以包括:
[0329]
s601与s301相同,此处不再赘述。
[0330]
s602、叶子路由器1、叶子路由器k把算力路由信息通过igp/bgp发送到与其连接的一个第一算力路由器。
[0331]
其中,算力路由信息包括fid、叶子路由器所在计算容器的ip地址前缀和算力编码k,若s101中叶子路由器根据算力编码计算出计算度量值,则算力路由信息包括fid、叶子路由器所在计算容器的ip地址前缀和计算度量值k。若算力路由信息不包括计算度量值,则由接收到算力路由信息的算力路由器根据算力编码计算计算度量值。
[0332]
s603、第一算力路由器向合约平台或有关部门验证签名为合法,则解锁“算力路由锁”,并触发“算力交易”,得到算力编码k的有效期。
[0333]
其中,算力编码k的有效期即算力编码k的有效使用时间。
[0334]
s604、第一算力路由器通过igp/bgp将算力路由信息发送给网络的其它算力路由器。
[0335]
具体地,网络的所有算力路由器均得到每一算力编码k与算力编码k对应的ip地址前缀和fid以及算力编码k的有效期,根据这些信息生成rib,rib包括算力编码k、ip地址前缀、fid、出端口的对应关系。
[0336]
s605、第一算力路由器得到包括fid、算力编码k、ip地址前缀和出端口的rib项目。
[0337]
第二算力路由器得到包括fid、算力编码k和ip地址前缀和出端口的rib项目。
[0338]
s606、客户端发送类型为tcp syn的首包报文,首包报文中携带fidx。
[0339]
s607、接收到首包报文的第二算力路由器根据fid查fib,若fib不存在与该fid对应的项目,则根据fid查rib,比较“算力编码1
…
k”的大小,来计算路由,得到与该fid对应的目的地ip地址前缀和出端口,生成基于该fid转发的fib项目,fib项目包括fid、ip地址前缀和出端口的对应关系。
[0340]
s608、第二算力路由器将fid添加所得到的与该fid对应的目的地ip地址前缀得到目的地ip地址,将tcp syn报文根据目的地ip地址转发到第一算力路由器,转发的tcp syn报文携带目的地ip地址。
[0341]
其中,该目的地ip地址为fid所在计算容器ip地址。
[0342]
s609、第一算力路由器将携带目的地ip地址的tcp syn报文根据目的地ip地址转发到叶子路由器k。
[0343]
此处的叶子路由器k是与第一算力路由器连接的叶子路由器。
[0344]
s610、叶子路由器k根据目的地ip地址转发tcp syn报文到fid所在计算容器。
[0345]
s611、fidx所在计算容器向叶子路由器k发送tcp syn应答报文,应答报文中携带源地址为计算容器的ip地址。
[0346]
s612、叶子路由器k触发“算力代币”转账。
[0347]
本实施例中,只有收到tcp syn ack报文,才触发算力代币转账,目的是保证只有tcp连接或其它会话连接正确建立起来的情况下才触发算力代币转账。
[0348]
s613、叶子路由器k向第一算力路由器发送tcp syn应答报文,应答报文中携带源地址为计算容器的ip地址。
[0349]
s614、第一算力路由器向第二算力路由器发送tcp syn应答报文,应答报文中携带源地址为计算容器的ip地址。
[0350]
s615、第二算力路由器收到tcp syn应答报文,则将s607生成的fib项目确定为有效的fib项目。若未收到tcp syn应答报文,则删除s607生成的fib项目,说明tcp会话建立不成功。若tcp会话或用户会话连接建立不成功(通常表明计算站点或相关计算路径有故障),后续来的报文都不能得到算力路由服务。
[0351]
s616、第二算力路由器向客户端发送tcp syn应答报文,应答报文中携带源地址为计算容器的ip地址。
[0352]
s617、客户端进行后续通信时将报文中携带的fid改为所述计算容器的ip地址。
[0353]
s618、客户端向第二算力路由器发送后续报文,后续报文携带计算容器的ip地址。
[0354]
本技术涉及的网元包括算力路由器和叶子路由器。图11为本技术提供的一种算力路由器的功能结构示意图,如图11所示,算力路由器包括控制面处理模块11和数据面处理模块12,控制面处理模块11包括路由协议处理单元110、rib生成与维护单元111、路由选择或计算单元112、fib生成与维护单元113、签名验证单元114和算力交易触发单元115,数据面处理模块12包括转发处理单元121和多个接口处理单元。
[0355]
其中,路由协议处理单元110用于功能和/或算力通告,具体为将计算容器的计算资源、和/或可提供的功能以及功能所在计算容器的ip地址前缀/地址,对其它算力路由器进行通告,使算力网络其它算力路由器可以发现功能和/或算力,可选的,通告ip地址前缀,计算资源本技术实施例中以“算力编码”的形式表达。其中,算力路由信息可以包括计算容
器的计算资源和/或可提供的功能以及功能所在计算容器的ip地址前缀/地址,可选的,算力路由信息还可以包括叶子路由器ip地址前缀/地址或与叶子路由器所连接的算力路由器的ip地址前缀/地址。这种通告可以通过扩展dc内部协议,或通过扩展路由协议(如igp/bgp)实现。
[0356]
签名验证单元114用于与合约平台交互验证“算力编码”的签名的真实性,可选获取算力租用有效期,如果验证签名的真实性通过,则解锁算力路由“锁”,允许“算力编码”传递给其它算力路由器。
[0357]
算力交易触发单元115用于触发“算力交易”,例如触发“算力代币”转账,例如触发合约平台将“算力代币”转账给算力使用者,因为算力路由做流量引导已经开始启动服务。
[0358]
rib生成与维护单元111用于根据算力路由信息生成rib项目(entry),rib项目包括f id、对应的计算度量值、对应的ip地址前缀和出端口;或者,rib项目包括fid、对应的计算度量值、对应的出口算力路由器ip地址或叶子路由器ip地址和出端口。
[0359]
路由选择或计算单元112用于根据rib的“计算度量值”,来选择或计算路由,得到fid对应的目的地ip地址前缀和出端口;或者,得到fid对应的最佳出口算力路由器ip地址或叶子路由器ip地址、出端口和算力编码的有效期,也就是实现站点间负载均衡。
[0360]
fib生成与维护单元113用于根据路由选择或计算单元112的处理结果,形成相应的fib项目(entry),fib项目包含fid、对应的ip地址前缀和出端口;或者,fib项目包括fid、对应的出口算力路由器ip地址或叶子路由器ip地址和出端口。
[0361]
转发处理单元121用于在报文携带有效ip目的地址的情况下,直接做ip转发;或者,用于根据报文携带的fid查fib得到出端口,从出端口进行转发;或者,用于根据报文携带的fid查fib得到ip地址前缀,将fid添加该ip地址前缀得到一个目的ip地址,然后根据该目的ip地址进行转发。
[0362]
接口处理单元用于做接口的输入或输出处理。
[0363]
图12为本技术提供的一种叶子路由器的功能结构示意图,叶子路由器可以以软件(如虚拟路由器)或硬件设备形态存在,如图12所示,叶子路由器包括控制面处理模块21和数据面处理模块22,控制面处理模块21包括路由协议处理单元210、算力获取单元214和算力交易触发单元215,数据面处理模块22包括转发处理单元221、多个接口处理单元和多个功能处理单元。
[0364]
其中,路由协议处理单元210用于function和/或算力通告,具体为由将站点计算资源、和/或可提供的function以及function计算容器ip地址前缀/地址,对其它算力路由器进行通告,使算力网络其它算力路由器可以发现function和/或算力;优选通告ip地址前缀,计算资源本案中以“算力code”的形式表达。其中,站点计算资源、和/或可提供的function以及function计算容器ip地址前缀/地址成为算力路由信息,算力路由信息还可以包括叶子路由器ip地址前缀/地址。这种通告可以扩展dc内部协议,或扩展路由协议(如igp/bgp)实现。
[0365]
算力获取单元214用于获取经私钥签名过的“算力编码(code)”和可能存在的可服务的function id列表,即做function发现和计算资源发现;“算力编码(code)”通常由it软件提供,“算力编码(code)”下文还将详细讨论;
[0366]
算力交易触发单元215用于触发“算力交易”,例如触发“算力代币”转账,例如触发
合约平台将“算力代币”转账给算力使用者,因为流量已引导到相应的站点的叶子路由器。
[0367]
可选的,控制面处理模块21还包括rib生成与维护单元211、路由选择或计算单元212和fib生成与维护单元213,其中,rib生成与维护单元211用于根据算力路由信息生成rib项目(entry),rib项目包括function id、对应的计算度量值、对应的ip地址前缀、出端口、。
[0368]
路由选择或计算单元212用于根据rib的“计算度量值”,按来选择或计算路由,得到function id对应的最佳目的地ip地址前缀、虚拟出端口;可选用于做站点或dc内部的计算资源选择,即站点内或服务器负载均衡。
[0369]
fib生成与维护单元213用于根据路由选择或计算单元的处理结果,形成相应的fib项目(entry),fib项目包含function id、对应的ip地址前缀、虚拟出端口。
[0370]
转发处理单元221用于报文携带有效ip目的地址的情况下,直接做ip转发;或者,用于根据报文携带的function id查fib得到虚拟出端口,从虚拟出端口进行转发给相应的function处理单元。
[0371]
接口处理单元用于做接口的输入或输出处理。
[0372]
功能处理单元用于做功能对应的计算、业务或程序处理,本实施例中假设叶子路由器以虚拟路由器软件形态运行,它与功能之间通过虚拟端口连接。
[0373]
图13为本技术提供的一种算力路由装置实施例的结构示意图,如图13所示,本实施例的装置可以包括:接收模块31、确定模块32和发送模块33,其中,
[0374]
接收模块31用于接收至少一个计算容器的算力路由信息,所述算力路由信息包括算力编码或计算度量值;
[0375]
确定模块32用于根据所述算力路由信息确定路由信息库rib,所述rib包括计算容器可提供的功能的功能标识fid或所述功能所在计算容器的ip地址前缀中的一个和所述算力编码或所述计算度量值中的一个,所述功能包括部署在所述计算容器内的软件化的计算程序、功能程序、业务软件或微服务中的任一个;
[0376]
所述接收模块31还用于接收报文;
[0377]
发送模块33用于根据转发信息库fib转发所述报文,所述fib根据所述rib确定,所述fib包括fid或ip地址前缀。
[0378]
进一步地,发送模块33还用于:
[0379]
将所述算力路由信息发送给网络中的其它算力路由器。
[0380]
进一步地,所述算力路由器在所述fib中未查找到与所述报文对应的fib项目时,所述确定模块32还用于:
[0381]
根据所述rib中的算力编码或所述计算度量值确定与所述报文对应的fib项目。
[0382]
进一步地,所述rib包括fid、计算度量值、ip地址前缀和出端口;或者,
[0383]
fid、算力编码、ip地址前缀和出端口;或者,
[0384]
fid、计算度量值、算力路由器ip地址和出端口;或者,
[0385]
fid、算力编码、算力路由器ip地址和出端口;或者,
[0386]
ip地址前缀、计算度量值和出端口;或者,
[0387]
ip地址前缀、算力编码和出端口;或者,
[0388]
fid、计算度量值和出端口;或者,
[0389]
fid、算力编码和出端口;
[0390]
所述fib包括:fid、ip地址前缀和出端口;或者,
[0391]
fid、算力路由器ip地址和出端口;或者,
[0392]
fid和出端口。
[0393]
进一步地,若所述报文携带fid,所述发送模块用于:
[0394]
从所述fib中查找与所述fid对应的ip地址前缀和出端口;
[0395]
将所述fid添加与所述fid对应的ip地址前缀得到目的地ip地址,根据所述目的地ip地址转发所述报文;或者,
[0396]
从所述fib中查找出与所述fid对应的算力路由器ip地址和出端口;
[0397]
将所述算力路由器ip地址作为隧道目的地址对所述报文添加隧道封装,或,将所述算力路由器ip地址作为分段路由sr的段标识添加sr封装;
[0398]
转发添加隧道封装或添加sr封装的报文;或者,
[0399]
从所述fib查找出与所述fid或ip地址前缀对应的出端口;
[0400]
从所述出端口转发所述报文。
[0401]
本实施例的装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0402]
图14为本技术提供的一种算力路由装置实施例的结构示意图,如图14所示,本实施例的装置在图13所示装置的基础上,算力编码包括计算时延评估值和/或计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,所述算力路由信息包括算力编码时,进一步地,还可以包括:计算模块34,该计算模块34用于根据所述算力编码和如下公式计算所述计算度量值:
[0403]
或者,
[0404]
或者,
[0405]
计算度量值=γ2
×
计算时延评估值;
[0406]
其中,β2、γ2为加权值。
[0407]
本实施例的装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0408]
图15为本技术提供的一种算力路由装置实施例的结构示意图,如图15所示,本实施例的装置在图13所示装置结构的基础上,进一步地,还可以包括:处理模块35,处理模块35用于若所述接收模块接收到应答报文,将所述fib项目确定为有效的fib项目;
[0409]
若所述接收模块未接收到所述应答报文,则删除所述fib项目。
[0410]
本实施例的装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0411]
图16为本技术提供的一种算力路由装置实施例的结构示意图,如图16所示,本实施例的装置可以包括:获取模块41、发送模块42和接收模块43,其中,
[0412]
获取模块41用于获取计算容器的算力编码,所述叶子路由器部署在所述计算容器内;
[0413]
发送模块42用于将所述计算容器的算力路由信息发送到与所述叶子路由器连接的算力路由器,以使所述算力路由器将所述算力路由信息发送给网络的其它算力路由器,所述算力路由信息包括所述算力编码或计算度量值;
[0414]
接收模块43用于接收报文;
[0415]
所述发送模块42还用于转发所述报文。
[0416]
可选的,获取模块41用于:
[0417]
从所述计算容器和/或测量工具获取所述算力编码,所述算力编码包括计算时延评估值和/或计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,所述计算时延评估值由所述测量工具测量。
[0418]
本实施例的装置,可以用于执行图6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0419]
图17为本技术提供的一种算力路由装置实施例的结构示意图,如图17所示,本实施例的装置在图16所示装置结构的基础上,若所述算力路由信息包括所述计算度量值,进一步地,还可以包括:计算模块44,计算模块44用于根据所述算力编码和如下公式计算所述计算度量值:
[0420]
或者,
[0421]
或者,
[0422]
计算度量值=γ2
×
计算时延评估值;
[0423]
其中,β2、γ2为加权值。
[0424]
可选的,计算模块44还用于:
[0425]
根据所述算力编码和如下公式计算算力代币:
[0426]
算力代币=α1
×
[β1-(计算度量值)]
[0427]
其中,α1、β1为算力定价系数。
[0428]
可选的,算力路由信息还包括:
[0429]
所述计算容器可提供的功能的功能标识fid、所述功能所在计算容器的ip地址前缀或ip地址,所述功能为部署在所述计算容器内的软件化的计算程序、功能程序、业务软件或微服务。
[0430]
本实施例的装置,可以用于执行图6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0431]
本技术可以根据上述方法示例对算力路由装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术各实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0432]
图18为本技术提供的一种装置结构示意图,如图18所示,该装置300包括:存储器301和处理器302;
[0433]
存储器301,用于存储计算机程序;
[0434]
处理器302,用于执行存储器存储的计算机程序,以实现上述实施例中的算力路由方法。具体可以参见前述方法实施例中的相关描述。
[0435]
可选地,存储器301既可以是独立的,也可以跟处理器302集成在一起。
[0436]
当存储器301是独立于处理器302之外的器件时,装置300还可以包括:
[0437]
总线303,用于连接存储器301和处理器302。
[0438]
可选地,本实施例还包括:通信接口304,该通信接口304可以通过总线303与处理器302连接。处理器302可以控制通信接口303来实现装置300的上述的接收和发送的功能。
[0439]
该装置可以用于执行上述方法实施例中算力路由器或叶子路由器对应的各个步骤和/或流程。
[0440]
本技术还提供一种可读存储介质,可读存储介质中存储有执行指令,当上述装置的至少一个处理器执行该执行指令时,图18所示的装置执行上述方法实施例中的算力路由方法。
[0441]
本领域普通技术人员可以理解:在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
技术特征:
1.一种算力路由方法,其特征在于,包括:算力路由器接收至少一个计算容器的算力路由信息,所述算力路由信息包括算力编码或计算度量值;所述算力路由器根据所述算力路由信息确定路由信息库rib,所述rib包括计算容器可提供的功能的功能标识fid或所述功能所在计算容器的ip地址前缀中的一个,以及所述算力编码或所述计算度量值中的一个,所述功能包括部署在所述计算容器内的软件化的计算程序、功能程序、业务软件或微服务中的任一个;所述算力路由器接收报文,根据转发信息库fib转发所述报文,所述fib根据所述rib确定。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述算力路由器将所述算力路由信息发送给网络中的其它算力路由器。3.根据权利要求1或2所述的方法,其特征在于,所述算力路由器在所述fib中未查找到与所述报文对应的fib项目时,所述方法还包括:所述算力路由器根据所述rib中的算力编码或所述计算度量值确定与所述报文对应的fib项目。4.根据权利要求1所述的方法,其特征在于,所述rib包括fid、计算度量值、ip地址前缀和出端口;或者,fid、算力编码、ip地址前缀和出端口;或者,fid、计算度量值、算力路由器ip地址和出端口;或者,fid、算力编码、算力路由器ip地址和出端口;或者,ip地址前缀、计算度量值和出端口;或者,ip地址前缀、算力编码和出端口;或者,fid、计算度量值和出端口;或者,fid、算力编码和出端口;所述fib包括:fid、ip地址前缀和出端口;或者,fid、算力路由器ip地址和出端口;或者,fid和出端口。5.根据权利要求4所述的方法,其特征在于,若所述报文携带fid,所述根据转发信息库fib转发所述报文,包括:所述算力路由器从所述fib中查找与所述fid对应的ip地址前缀和出端口;所述算力路由器将所述fid添加与所述fid对应的ip地址前缀得到目的地ip地址,根据所述目的地ip地址转发所述报文;或者,所述算力路由器从所述fib中查找出与所述fid对应的算力路由器ip地址和出端口;所述算力路由器将所述算力路由器ip地址作为隧道目的地址对所述报文添加隧道封装,或,将所述算力路由器ip地址作为分段路由sr的段标识添加sr封装;所述算力路由器转发添加隧道封装或添加sr封装的报文;或者,所述算力路由器从所述fib查找出与所述fid或ip地址前缀对应的出端口;所述算力路由器从所述出端口转发所述报文。6.根据权利要求1所述的方法,其特征在于,所述算力编码包括计算时延评估值和/或
计算容量等级、机器类型/与机器类型相关的加权值α2和服务器负载,所述算力路由信息包括算力编码时,所述方法还包括:所述算力路由器根据所述算力编码和如下公式计算所述计算度量值:或者,或者,计算度量值=γ2
×
计算时延评估值;其中,β2、γ2为加权值。7.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述算力路由器接收到应答报文,则将所述fib项目确定为有效的fib项目;若所述算力路由器未接收到所述应答报文,则删除所述fib项目。8.一种算力路由装置,其特征在于,包括处理器和存储器,所述存储器,用于存储计算机程序;所述处理器,用于执行存储器存储的计算机程序,使得所述算力路由装置实现所述权利要求1-7中所述的任一种方法。
技术总结
本申请提供一种算力路由方法及装置。该方法包括:算力路由器接收至少一个计算容器的算力路由信息,算力路由信息包括算力编码或计算度量值;算力路由器根据算力路由信息确定路由信息库RIB,RIB包括计算容器可提供的功能的功能标识FID或功能所在计算容器的IP地址前缀中的一个和算力编码或计算度量值中的一个,功能包括部署在计算容器内的软件化的计算程序、功能程序、业务软件或微服务中的任一个;算力路由器接收报文,根据转发信息库FIB转发报文,FIB根据RIB确定,FIB包括FID或IP地址前缀。从而可以将计算任务相关的报文路由到相应的计算容器,实现了低成本共享流量。实现了低成本共享流量。实现了低成本共享流量。
技术研发人员:郑若滨
受保护的技术使用者:华为技术有限公司
技术研发日:2019.09.12
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
