路径确定方法、装置、设备及存储介质与流程
未命名
09-21
阅读:99
评论:0
1.本公开涉及但不限于通信技术领域,尤其涉及一种路径确定方法、装置、设备及存储介质。
背景技术:
2.随着计算机技术的快速发展,相关技术中,可以采用分布式的网关架构处理网络业务越来越多的请求。但是随着用户量的增加,导致当前分布式网关架构的故障排查难度和负载不均衡情况逐渐增大、网关的安全保障越来越低等。
技术实现要素:
3.有鉴于此,本公开实施例至少提供一种路径确定方法、装置、设备及存储介质。
4.本公开实施例的技术方案是这样实现的:
5.一方面,本公开实施例提供一种路径确定方法,包括:确定微服务网关架构中每一属地网关与中心网关之间的第一距离,以及与其他属地网关之间的各第二距离;其中,所述微服务网关架构包括一个所述中心网关和至少两个所述属地网关;基于每一所述属地网关的第一距离与预设的距离阈值之间的大小关系,从至少两个所述属地网关中确定处于第二层级的各属地网关;基于所述距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,确定所述剩余网关中每一属地网关的网关层级;其中,所述剩余网关为所述至少两个所述属地网关中除处于所述第二层级的各属地网关之外的属地网关;针对每一所述网关层级的每一所述属地网关,基于每一所述属地网关的第一距离和各第二距离,确定所述中心网关至对应属地网关的传输路径。
6.另一方面,本公开实施例提供一种路径确定装置,包括:第一确定模块,用于确定微服务网关架构中每一属地网关与中心网关之间的第一距离,以及与其他属地网关之间的各第二距离;其中,所述微服务网关架构包括一个所述中心网关和至少两个所述属地网关;第二确定模块,用于基于每一所述属地网关的第一距离与预设的距离阈值之间的大小关系,从至少两个所述属地网关中确定处于第二层级的各属地网关;第三确定模块,用于基于所述距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,确定所述剩余网关中每一属地网关的网关层级;其中,所述剩余网关为所述至少两个所述属地网关中除处于所述第二层级的各属地网关之外的属地网关;第四确定模块,用于针对每一所述网关层级的每一所述属地网关,基于每一所述属地网关的第一距离和各第二距离,确定所述中心网关至对应属地网关的传输路径。
7.再一方面,本公开实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
8.又一方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。
9.又一方面,本公开实施例提供一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算机设备中运行时,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
10.又一方面,本公开实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。
11.相关技术中,中心网关接收请求信息后,根据请求信息中携带的头信息,直接将请求信息发送至相应的目的属地网关,实现请求信息的水平转发方式。而本公开实施例中,首先,通过确定微服务网关架构中每一属地网关与中心网关之间的第一距离,以及与其他属地网关之间的各第二距离;其中,微服务网关架构包括一个中心网关和至少两个属地网关;这样,可以准确地确定微服务网关架构中每一网关的分布情况。其次,可以基于每一属地网关的第一距离与预设的距离阈值之间的大小关系,从至少两个属地网关中确定处于第二层级的各属地网关;这样,通过以中心网关为基准,可以快速准确地确定第二层级的属地网关。
12.然后,可以基于距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,确定剩余网关中每一属地网关的网关层级;其中,剩余网关为至少两个属地网关中除处于第二层级的各属地网关之外的属地网关;这样,通过确定的第二层级的属地网关,依次准确地确定剩余属地网关的网关层级,以使得各网关层级的属地网关均匀分布。最后,针对每一网关层级的每一所述属地网关,基于每一属地网关的第一距离和各第二距离,快速地确定中心网关至对应属地网关的至少一个传输路径,同时,也可以准确地从多个传输路径中确定最短的传输路径;这样,由于不同的属地网关属于不同的网关层级,中间层级的属地网关可以用户请求信息的转发,从而实现多对多模式的多级架构,有助于减小了问题排查的难度、降低单点故障问题的影响、以及减少安全性维护的代价等。
13.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
14.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
15.图1为本公开实施例提供的第一种路径确定方法的实现流程示意图;
16.图2为本公开实施例提供的第二种路径确定方法的实现流程示意图;
17.图3为本公开实施例提供的第三种路径确定方法的实现流程示意图;
18.图4为本公开实施例提供的第四种路径确定方法的实现流程示意图;
19.图5为本公开实施例提供的第一种拓扑关系的结构示意图;
20.图6为本公开实施例提供的第二种拓扑关系的结构示意图;
21.图7为本公开实施例提供的一种路径确定装置的组成结构示意图;
22.图8为本公开实施例提供的一种计算机设备的硬件实体示意图。
具体实施方式
23.为了使本公开的目的、技术方案和优点更加清楚,下面结合附图和实施例对本公开的技术方案进一步详细阐述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
24.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
25.除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开的目的,不是旨在限制本公开。
26.本公开实施例提供一种路径确定方法,该方法可以由网关设备的处理器执行。其中,网关(gateway)设备又称网间连接器、协议转换器,是多个网络间提供数据转换服务的计算机系统或设备。网关设备可以理解为不同网络之间的连接器,就是数据要从一个网络到另外一个网络时要经过“协商”的设备。网关设备可以分为中心网关和属地网关,通常一个网关架构中包括一个中心网关,以及与中心网关关联的多个属地网关,中心网关可以用于转发用户发送的请求信息至对应的属地网关,请求信息可以是指用于执行网络业务或服务的数据。以中心网关位于第一区域,第一属地网关位于第二区域,第二属地网关位于第三区域为例,若位于第二区域的第一终端和位于第三区域的第二终端需要进行交互,那么第一终端可以通过路由设备将请求信息发送至位于第一区域的中心网关,中心网关将请求信息转发至位于第三区域的第二终端等。
27.图1为本公开实施例提供的一种路径确定方法的实现流程示意图,如图1所示,该方法包括如下步骤s101至步骤s104:
28.步骤s101,确定微服务网关架构中每一属地网关与中心网关之间的第一距离,以及与其他属地网关之间的各第二距离。
29.这里,微服务网关架构是一种网关架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。微服务网关架构可以把一个大型的单个应用程序或服务拆分为数个甚至数十个的支持微服务,在应用程序或服务处于微服务网关架构的情况下,可以扩展单个组件而不是整个的应用程序堆栈,来开发、管理以及迭代单个应用程序或服务,满足服务等级协议等。微服务网关架构可以包括一个中心网关和至少两个属地网关,中心网关可以用于请求信息的转发,属地网关可以用于请求信息的发送或接收,如,属地网关可以通过路由设备与用户所属的终端进行请求信息的交互等。微服务网关架构中的中心网关可以是自定义设定的,如,将微服务网关架构中位置居中的网关确定为中心网关,那么其他网关可以确定为属地网关。
30.第一距离可以是指属地网关与中心网关之间的距离,第二距离可以是指属地网关与属地网关之间的距离。在存在多个属地网关的情况下,一个属地网关对应有一个第一距
离,多个第二距离,如,第一属地网关与中心网关之间的第一距离,第一属地网关与第二属地网关之间的第二距离,第一属地网关与第三属地网关之间的第二距离等。例如:中心网关可以接收用户上传的微服务网关架构中的第一距离和第二距离。
31.若各网关设备具有定位功能,实施步骤s101可以包括:各属地网关可以基于自身预设的定位模块或单元确定自身当前的位置信息(如地理坐标),各属地网关将各自的位置信息发送至中心网关,中心网关可以基于自身的位置信息和每一属地网关的位置信息之间的位置差异,确定每一属地网关对应的第一距离;基于当前属地网关和其他属地网关的位置信息之间的位置差异,确定每一属地网关对应的多个第二距离等。在存在传输时延的情况下,可以基于网关设备之间请求信息预设的传输速率,确定第一距离和第二距离。步骤s101还可以包括:当前网关设备可以生成携带有当前发送时刻的距离检测请求,并将该距离检测请求发送至其他所有的网关设备;其他网关设备可以响应于接收到该距离检测请求,确定当前接收时刻;获取该距离检测请求中的当前发送时刻,确定当前发送时刻与当前接收时刻之间的时间差值;将该时间差值与预设的传播速率之间的乘积确定为当前网关设备可以其他网关设备之间的距离。
32.步骤s102,基于每一所述属地网关的第一距离与预设的距离阈值之间的大小关系,从至少两个所述属地网关中确定处于第二层级的各属地网关。
33.这里,可以对微服务网关架构中的中心网关和属地网关进行层级划分,得到中心网关和各属地网关所属的网关层级。请求信息可以按照预设的网关层级逐级进行转发,实现多对多模式的多级网关架构,有助于提高网关架构的稳定性、降低故障排查难度等。在预先确定中心网关的情况下,可以将中心网关确定为属于第一层级,以使得属于第一层级的中心网关确定第二层级的属地网关。例如:可以判断每一属地网关的第一距离与距离阈值之间的大小,将第一距离小于或等于距离阈值的属地网关确定为属于第二层级的属地网关,将第一距离大于距离阈值的属地网关确定为属于第三层级的属地网关等。
34.例如:预设的距离阈值为300公里,第一属地网关与中心网关之间的第一距离为100公里,第二属地网关与中心网关之间的第一距离为250公里,第三属地网关与中心网关之间的第一距离为500公里等;那么可以确定第一属地网关和第二属地网关属于第二层级;中心网关可以先将获取到的请求信息发送至第二层级的第一属地网关或第二属地网关,第一属地网关或第二属地网关再将请求信息转发至后续网关层级的第三属地网关等。
35.步骤s103,基于所述距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,确定所述剩余网关中每一属地网关的网关层级。
36.这里,剩余网关为至少两个属地网关中除处于第二层级的各属地网关之外的属地网关。步骤s103可以包括:基于剩余网关中每一属地网关的第二距离与距离阈值之间的大小关系,对剩余属地网关进行筛选,得到处于第三层级的候选属地网关;再基于候选属地网关的第一距离,对候选所对应的网关层级进行更新,得到处于第三层级的各属地网关。例如:第一属地网关和第二属地网关属于第二层级,第三属地网关与第一属地网关之间的第二距离为300公里,第四属地网关与上述第二属地网关之间的第二距离为111公里,那么可以确定第三属地网关和第四属地网关属于处于第三层级的候选属地网关;若第三属地网关与中心网关之间的第一距离为320公里(大于距离阈值300公里),中心网关至第一属地网关的第一距离(100公里)与第一属地网关至第三属地网关的第二距离(300公里)之和为400公
里;确定距离之和大于第三属地网关的第一距离,则可以将第三属地网关确定为处于第二层级的属地网关,处于第三层级的属地网关为第四属地网关等。
37.对于除处于第二层级和第三层级的属地网关,可以采用相同的方式,确定处于第四层级的属地网关,继而再确定处于第五层级的属地网关等。对于基于距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,对剩余属地网关进行层级划分的方式,这里并不限定。对剩余属地网关进行层级划分的目的是为了使得各网关层级中属地网关的数量分布均匀,以及提高微服务网关架构中请求信息的传输效率等。
38.步骤s104,针对每一所述网关层级的每一所述属地网关,基于每一所述属地网关的第一距离和各第二距离,确定所述中心网关至对应属地网关的传输路径。
39.这里,中心网关至对应属地网关的传输路径至少包括一条,处于网关层级较高的每一属地网关可以向处于网关层级较低的每一属地网关转发请求信息,从而得到对于属地网关的多条传输路径。例如:第一属地网关和第二属地网关处于第二层级,第三属地网关和第四属地网关处于第三网关层级,那么第一属地网关可以向第三属地网关和第四属地网关转发请求信息,第二属地网关可以向第三属地网关和第四属地网关转发请求信息等。若处于网关层级较高的每一属地网关可以向处于网关层级较低的每一属地网关转发请求信息,步骤s104可以包括:确定中心网关至处于每一网关层级中每一属地网关的所有可能候选路径;基于每一属地网关的第一距离和各第二距离,确定每一可能路径的总长度;获取长度较短的预设数量(小于3条等)的可能路径,并将该预设数量的可能路径确定为对应属地网关的传输路径,有助于提高请求信息的传输效率和稳定性等。
40.相关技术中,中心网关接收请求信息后,根据请求信息中携带的头信息,直接将请求信息发送至相应的目的属地网关,实现请求信息的水平转发方式。而本公开实施例中,首先,通过确定微服务网关架构中每一属地网关与中心网关之间的第一距离,以及与其他属地网关之间的各第二距离;其中,微服务网关架构包括一个中心网关和至少两个属地网关;这样,可以准确地确定微服务网关架构中每一网关的分布情况。其次,可以基于每一属地网关的第一距离与预设的距离阈值之间的大小关系,从至少两个属地网关中确定处于第二层级的各属地网关;这样,通过以中心网关为基准,可以快速准确地确定第二层级的属地网关。
41.然后,可以基于距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,确定剩余网关中每一属地网关的网关层级;其中,剩余网关为至少两个属地网关中除处于第二层级的各属地网关之外的属地网关;这样,通过确定的第二层级的属地网关,依次准确地确定剩余属地网关的网关层级,以使得各网关层级的属地网关均匀分布。最后,针对每一网关层级的每一所述属地网关,基于每一属地网关的第一距离和各第二距离,快速地确定中心网关至对应属地网关的至少一个传输路径,同时,也可以准确地从多个传输路径中确定最短的传输路径;这样,由于不同的属地网关属于不同的网关层级,中间层级的属地网关可以用户请求信息的转发,从而实现多对多模式的多级架构,有助于减小了问题排查的难度、降低单点故障问题的影响、以及减少安全性维护的代价等。
42.本公开实施例提供一种路径确定方法,如图2所示,该方法包括如下步骤s201至步骤s206:
43.步骤s201对应于前述步骤s101,在实施时可以参照前述步骤s101的具体实施方
式;步骤s206对应于前述步骤s104,在实施时可以参照前述步骤s104的具体实施方式。
44.步骤s202,将所述第一距离小于或等于所述距离阈值的属地网关确定为属于所述第二层级的属地网关。
45.这里,以距离阈值为500公里,属地网关a的第一距离为143公里,属地网关b的第一距离为290公里,属地网关c的第一距离为585公里,属地网关d的第一距离为620公里等为例,那么可以将属地网关a和属地网关b确定为属于第二层级的属地网关。
46.步骤s203,确定属于所述第二层级的属地网关的各第二距离。
47.这里,可以从所有的第二距离中确定属于第二层级的属地网与剩余网关之间的多个第二距离,如,确定属地网关a与属地网关c和属地网关d之间的第二距离分别为307公里和500公里,确定属地网关b与属地网关c和属地网关d之间的第二距离分别为311公里和704公里等。
48.步骤s204,确定第一属地网关的第一距离。
49.这里,第一属地网关为属于第二层级的属地网关的各第二距离小于或等于距离阈值的属地网关,如,由于属地网关a与属地网关c和属地网关d之间的第二距离小于或等于距离阈值的属地网关,可以将属地网关c和属地网关d确定为第一属地网关。然后,可以从所有的第一距离中确定属地网关c和属地网关d的第一距离分别为585公里和620公里。
50.步骤s205,在所述第一属地网关的第一距离满足预设条件的情况下,将所述第一属地网关确定为属于第三层级的属地网关。
51.这里,预设条件可以是指中心网关至第一属地网关的第一距离,大于中心网关至属于第二层级的属地网关的第一距离与该属于第二层级的属地网关至第一属地网关的第二距离的距离之和。在一些实施例中,在第一属地网关的第一距离不满足预设条件的情况下,可以将第一属地网关确定为属于第二层级的属地网关。例如:属地网关c的第一距离为585公里,中心网关至属地网关a的第一距离为143公里,属地网关a至属地网关c的第二距离为307公里,可以确定属地网关c满足预设条件,则确定属地网关c属于第三层级;属地网关d的第一距离为620公里,中心网关至属地网关a的第一距离为143公里,属地网关a至属地网关c的第二距离为500公里,可以确定属地网关d不满足预设条件,则确定属地网关d属于第二层级等。
52.本公开实施例中,通过将第一距离小于或等于距离阈值的属地网关确定为属于第二层级的属地网关,继而可以快速地确定属于第二层级的属地网关的各第二距离,以及确定第一属地网关的第一距离;其中,第一属地网关为属于第二层级的属地网关的各第二距离小于或等于距离阈值的属地网关;在第一属地网关的第一距离满足预设条件的情况下,准确地将第一属地网关确定为属于第三层级的属地网关,有助于提高层级的划分效率和准确率等。
53.在一些实施例中,实施步骤s206之后该方法还可以包括如下步骤s207至步骤s208:
54.步骤s207,从所述第二距离中获取每一所述属地网关所对应的最小距离。
55.这里,最小距离可以用于表征第二属地网关与第三属地网关之间的第二距离,其中,可以将与中心网关之间的第一距离较小的属地网关称为第二属地网关,将与中心网关之间的第一距离较大的属地网关称为第三属地网关。例如:属地网关e的第一距离为1180公
里,属地网关e对应的最小距离为与属地网关c之间的第二距离,则最小距离为834公里。
56.步骤s208,在所述最小距离大于所述距离阈值的情况下,将所述第二属地网关确定所述第三属地网关的前置网关。
57.这里,前置网关可以是指用于转发请求信息的网关,如,第二层级的属地网关可以为第三层级的属地网关的前置网关,前置网关的数量可以预先进行设置,如,每一属地网关至少包括一个前置网关,或每一属地网关可以包括两个前置网关等。其中,第二属地网关所属的层级高于第三属地网关所属的层级,属于网关层级较高的属地网关用于将中心网关发送的请求信息转发属于网关层级较低的属地网关。例如:属地网关c为属地网关e的前置网关,若属地网关c属于第三层级,则属地网关e属于第四层级,中心网关可以将请求信息发送至第二层级的属地网关a,第二层级的属地网关a将请求信息转发至第三层级的属地网关c,第三层级的属地网关c将请求信息转发至第四层级的属地网关e。
58.本公开实施例中,通过从第二距离中获取每一属地网关所对应的最小距离,在最小距离大于距离阈值的情况下,将第二属地网关确定第三属地网关的前置网关,有助于在当前属地网关与其他网关之间的距离较大的情况下,准确地确定当前属地网关的网关层级。
59.本公开实施例提供一种路径确定方法,如图3所示,该方法包括如下步骤s301至步骤s306:
60.步骤s301至步骤s303分别对应于前述步骤s101至步骤s103,在实施时可以参照前述步骤s101至步骤s103的具体实施方式。
61.步骤s304,基于每一所述属地网关所属的网关层级和每一所述属地网关的第一距离和各第二距离,确定所述中心网关至每一所述属地网关之间所对应的拓扑关系。
62.这里,拓扑关系可以是指中心网关至属地网关之间进行拓扑连接,用于传输请求信息的拓扑结构,如,中心网关至属地网关a至属地网关d可以进行拓扑连接,以及中心网关至属地网关d也可以进行拓扑连接等。在确定每一属地网关对应的网关层级后,由于网关层级较高的每一属地网关可以与网关层级较低的每一属地网关进行拓扑连接,步骤s304实施过程中,可以包括:确定不同网关层级中每一属地网关的所有拓扑连接,得到每一属地网关的候选拓扑关系;基于每一属地网关的第一距离和第二距离对候选拓扑关系进行筛选,得到中心网关至每一属地网关之间所对应的拓扑关系。
63.例如:属地网关a、属地网关b和属地网关c属于第二层级,属地网关d和属地网关e属于第三层级,候选拓扑关系包括中心网关至属地网关a至属地网关d,中心网关至属地网关b至属地网关d,中心网关至属地网关c至属地网关d,中心网关至属地网关a至属地网关e,中心网关至属地网关b至属地网关e,中心网关至属地网关c至属地网关e等。若对于每一属地网关只保留两个传输路径,那么可以基于第一距离和第二距离,确定中心网关至属地网关d和属地网关e中传输路径较小的两个拓扑连接,如,中心网关至属地网关a至属地网关d,中心网关至属地网关b至属地网关d,以及中心网关至属地网关b至属地网关e,中心网关至属地网关c至属地网关e等。
64.实施步骤s304之后还可以包括:基于中心网关与属地网关之间的拓扑关系,确定中心网关至属地网关之间的有向无环图(directed acyclic graph,dag),有向无环图可以用于表征中心网关与属地网关之间的拓扑关系,有助于从有向无环图中快速准确地确定中
心网关至每一属地网关最短的传输路径,以及每一传输路径所涉及的属地网关和网关层级,提高路径确定效率等。
65.步骤s305,基于所述拓扑关系、每一所述属地网关的第一距离和各第二距离,确定所述中心网关至所述属地网关以及各所述属地网关之间所对应的路径权重。
66.这里,路径权重可以是指中心网关至属地网关或前置属地网关至当前属地网关的重要程度,两两进行拓扑连接的网关之间存在对应的路径权重,如,中心网关至属地网关a的路径权重可以为0.7,属地网关a至属地网关d的路径权重可以为0.8等。步骤s305实施过程中可以包括:在确定存在拓扑连接的情况下,将中心网关与属地网关之间的第一距离确定为该中心网关至属地网关所对应的路径权重,将前置属地网关与当前属地网关之间的第二距离确定为前置属地网关与当前属地网关所对应的路径权重;在确定不存在拓扑连接的情况下(也即确定连个网关之间没有直接进行连接),将中心网关至属地网关所对应的路径权重或前置属地网关与当前属地网关所对应的路径权重确定为预设权重值,如,无穷大等。例如:中心网关至属地网关a的路径权重可以为143,属地网关a至属地网关c的路径权重可以为307,中心网关至属地网关c的路径权重为无穷大等。
67.步骤s306,基于所述拓扑关系和所述路径权重,确定所述中心网关至对应属地网关的传输路径。
68.这里,传输路径用于表征中心网关与属地网关之间进行信息传输时最短的路径。实施步骤s306可以包括:按照预设的路径估计方式,对网关之间拓扑关系所对应的第一距离或第二距离和对应的路径权重进行处理,得到中心网关至每一属地网关的所对应的路径得分;确定最小的路径得分所对应的路径,最小的路径得分所对应的路径确定为中心网关至属地网关所对应的传输路径。
69.其中,可以将网关之间拓扑关系所对应的第一距离或第二距离和对应的路径权重相加,得到中心网关至每一属地网关的所对应的路径得分,如,中心网关至属地网关a的第一距离为143公里,属地网关a至属地网关c的路径权重可以为307公里;中心网关至属地网关a的路径权重可以为143,属地网关a至属地网关c的路径权重可以为307,那么中心网关至属地网关a至属地网关c的路径得分可以为900;中心网关至属地网关c的第一距离为585公里,由于中心网关至属地网关c之间没有拓扑连接,中心网关至属地网关c的路径权重可以为无穷大;那么可以确定中心网关至属地网关c的传输路径可以为中心网关至属地网关a至属地网关c。实施步骤s306之后还可以包括:将中心网关至属地网关的传输路径存储至中心网关,以使得中心网关接收到请求信息后,按照预先存储的传输路径,将请求信息快速准确地转发至对应的属地网关。
70.本公开实施例中,通过基于每一属地网关所属的网关层级和每一属地网关的第一距离和各第二距离,确定中心网关至每一属地网关之间所对应的拓扑关系;基于拓扑关系、每一属地网关的第一距离和各第二距离,确定中心网关至属地网关以及各属地网关之间所对应的路径权重;基于拓扑关系和路径权重,可以快速准确地确定中心网关至对应属地网关的传输路径;其中,传输路径用于表征中心网关与属地网关之间进行信息传输时最短的路径。
71.在一些实施例中,上述步骤s306可以包括如下步骤s3061至步骤s3064:
72.步骤s3061,基于所述拓扑关系,确定所述中心网关和每一所述属地网关的入度数
量和出度数量。
73.这里,中心网关或属地网关的度(degree)可以是指和拓扑关系中该网关相关联的边数。在有向无环图中,度可以分为入度(in-degree)和出度(out-degree),入度数量可以是以某网关为弧头,终止于该网关的弧的数目,出度数量可以是以某网关为弧尾,起始于该网关的弧的数目。如,中心网关的入度数量为0,若第二层级的属地网关的数量为3,则中心网关的出度数量为3。
74.步骤s3062,基于所述入度数量和所述出度数量,对所述中心网关和所有所述属地网关进行拓扑排序,得到排序结果。
75.这里,可以从第一层级开始将入度数量为0的网关放入有序集合中,有序集合的排序准则可以为先进入有序集合则排序靠前;从有向无环图中去除已经被放入有序集合的网关,将此时与中心节点对应的出度数量的属地网关中入度数量为0的属地网关放入有序集合中;重复上述步骤直至所有网关都纳入有序集合中,则此时该有序集合中的网关顺序则为拓扑排序后的排序结构。如,排序结构表征中心网关为序列0,属地网关a为序列1,属地网关b为序列2等。
76.步骤s3063,基于所述排序结果和所述路径权重,确定所述中心网关至每一所述属地网关所对应的状态转移方程。
77.这里,状态转移方程可以用于表征动态规划中本阶段的状态往往是上一阶段状态和上一阶段决策的结果,通过状态转移方程可以快速准确地确定进行信息传输时最短的路径。从中心网关至任一属地网关的传输路径可以是由中心网关至该属地网关所有前置网关的传输距离的最小值,与前置网关至该属地网关的路径权重之和确定的。传输距离可以包括第一距离和第二距离,状态转移方程可以为dist(i)=min{dist(i1)+d(i1,i),dist(i2)+d(i2,i)...,dist(ik)+d(ik,i)},dist(i)可以表示重中心网关(core)至属地网关(i)的最短路径,dist(i1)、dist(i2)、dist(ik)可以表示中心网关至前置网关i1、i2、ik的最短路径,d(i1,i)、d(i2,i)、d(ik,i)可以表征前置网关至当前的属地网关i1、i2、ik的路径权重。
78.步骤s3064,基于所述状态转移方程,确定所述中心网关至对应属地网关的传输路径。
79.这里,基于中心网关和属地网关的排序结果,依次确定序列为0的中心网关至序列为1、2、3...的属地网关的传输路径。例如:确定中心网关至属地网关c的传输路径为中心网关至属地网关a至属地网关c,其中,传输路径可以用序列[0,1,3]进行表示。
[0080]
本公开实施例中,通过确定拓扑关系进行拓扑排序,得到排序结果,以及基于第一距离、第二距离、路径权重,确定针对排序结果的状态转移方程,通过对状态转移方程进行求解,可以快速准确地确定中心网关至属地网关的传输路径,实现从中心网关至各属地网关的最短路径的动态规划求解。
[0081]
在一些实施例中,上述步骤s306可以包括如下步骤s3161至步骤s3162:
[0082]
步骤s3161,获取所述中心网关和所有所述属地网关进行拓扑排序的排序结果。
[0083]
这里,可以预设设置中心网关和属地网关所对应的标识,如,中心网关的标识为0,属地网关a的标识为1等,排序结果可以标识为{0,1,2,3,4,...}。
[0084]
步骤s3162,采用暴力算法对所述排序结果和所述路径权重进行处理,得到所述中心网关至对应属地网关的传输路径。
[0085]
这里,暴力算法(brute force,bf)也可以称为穷举法,暴力算法的思想就是基于第一距离、第二距离以及路径权重,计算中心网关之属地网关所有可能的路径得分;将最小的路径得分所对应的路径确定为中心网关至该属地网关的传输路径。例如:若微服务网关架构包括中心网关、属地网关a、属地网关b和属地网关c,那么中心网关至属地网关c所有可能的路径可以为,中心网关至属地网关c,中心网关至属地网关a至属地网关c,中心网关至属地网关b至属地网关c,中心网关至属地网关a至属地网关b至属地网关c。
[0086]
本公开实施例中,通过采用暴力算法也可以准确地确定中心网关至属地网关的传输路径。
[0087]
本公开实施例提供一种路径确定方法,如图4所示,该方法包括如下步骤s401至步骤s407:
[0088]
步骤s401至步骤s404分别对应于前述步骤s101至步骤s104,在实施时可以参照前述步骤s101至步骤s104的具体实施方式。
[0089]
步骤s405,在当前属地网关接收所述中心网关发送的请求信息表征失败的情况下,确定预设时长内表征失败的次数。
[0090]
这里,由于请求信息进行传输的过程中可能出现传输故障,那么可以在预设时长内从中心网关至当前属地网关发送预设次数的请求信息,根据当前属地网关接收到请求信息的成功次数,确定中心网关至当前属地网关是否存在传输故障。例如:在30分钟内,从中心网关发送50次的请求信息至当前属地网关,若当前属地网关的前置网关接收到请求信息的次数为50次,当前属地网关接收到请求信息的次数为40次,则可以确定当前属地网关的前置网关至当前属地网关之间存在传输故障,确定当前属地网关的前置网关至当前属地网关之间进行请求信息的传输时30分钟内表征失败的次数为10次。
[0091]
步骤s406,在所述表征失败的次数超过预设次数阈值的情况下,更新所述当前属地网的路径权重。
[0092]
例如:预设次数阈值为20次,若表征失败的次数为10次,则不需要更新当前属地网关的前置网关至当前属地网关之间的路径权重;若表征失败的次数为25次,则需要更新当前属地网关的前置网关至当前属地网关之间的路径权重,可以将当前属地网关的前置网关至当前属地网关之间的路径权重更新为无穷大等。
[0093]
步骤s407,基于所述当前属地网更新后的路径权重,更新所述中心网关至对应属地网关的传输路径。
[0094]
这里,在中心网关至属地网关或各属地网关之间所对应的路径权重进行更新后,可以利用动态规划求解方式或暴力算法,重新确定中心网关至每一属地网关的传输路径。例如:中心网关至属地网关c的传输路径为中心网关至属地网关a至属地网关c,在属地网关a至属地网关c之间的路径权重更新为无穷大后,得到中心网关至属地网关c更新后的传输路径可以为中心网关至属地网关b至属地网关c等。
[0095]
本公开实施例中,通过统计属地网关接收请求信息在预设时长内表征失败的次数,及时地更新属地网关的路径权重,继而快速地更新中心网关至属地网关的传输路径,减少传输故障的出现情况等。
[0096]
下面说明本公开实施例提供的路径确定在实际场景中的应用,以第一地区的网关确定为中心网关、第二地区的网关确定为属地网关a、第三地区的网关确定为属地网关b、第
四地区的网关确定为属地网关c等网关组成的微服务网关架构系统场景为例进行说明。
[0097]
如图5所示,相关技术中的微服务网关架构系统采用水平转发方式,中心网关(501)直接向属地网关a(502)、属地网关b(503)、属地网关c(504)、属地网关d(505)和属地网关e(506等属地网关发送请求信息。这样,会导致故障排查难度较大、单点故障、安全性较低等问题。在相关技术中的架构下,各个属地网关直连中心网关,部分属地网关和中心网关之间的传输路径较长,如果传输过程中存在传输故障等问题,排查难度较大;在请求信息传输的过程中,可能会产生网络波动,如果此时仅有中心网关往属地网关这一条链路,则可能导致出现故障的传输路径上的属地网关成为不可达的孤立网关;如果所有属地网关都直接连接到中心网关,需要开通中心网关对应集群的防火墙白名单。随着时间的增加,安全保障压力增大。
[0098]
首先,可以预先确定中心网关与属地网关之间的第一距离,以及属地网关与其他属地网关之间的多个第二距离。其中,可以使用距离表存储第一距离和第二距离等,如,距离表中第一列表示中心网关与中心网关或属地网关之间的距离,分别可以为0、1771公里、143公里、290公里、585公里、620公里、1180公里等;距离表中第二列表示属地网关与中心网关和其他属地网关之间的距离,分别可以为0、0、1836公里、1514公里、1350公里、2093公里、1862公里等。
[0099]
然后,可以基于预设的距离阈值,确定每一属地网关所属的网关层级,继而确定中心网关至每一属地网关的拓扑关系。图6所示,本公开实施例中的微服务网关架构系统采用多对多模式的多级架构,可以将中心网关(601)确定为属于第一层级,将属地网关a(602)、属地网关b(603)、属地网关d(605)确定为属于第二层级,将属地网关c(604)、属地网关e(606)、属地网关f(607)确定为属于第三层级等。中心网关(601)至属地网关c(604)的传输路径可以为中心网关(601)至属地网关a(602)至属地网关c(604),以及中心网关(601)至属地网关b(603)至属地网关c(604)等。
[0100]
其次,可以基于拓扑关系所对应的有向无环图,对中心网关和属地网关进行拓扑排序,得到排序结果。例如:将中心网关和所有属地网关放入预设的无序集合中,同时,生成一个有序集合;由于中心网关没有入度,可以将中心网关标记为节点0,将中心网关从无序集合中移除,同时将节点0放入有序集合;此时属地网关a没有入度,将属地网关a标记为节点1,将属地网关a从无序集合中移除,同时将节点1放入有序集合中;此时,属地网关b、属地网关c没有入度,将属地网关b、属地网关c分别标记为节点2、3,将属地网关b、属地网关c从无序集合中移除,同时将节点2、3放入有序集合中;此时,属地网关d没有入度,将属地网关d标记为节点4,将属地网关d从无序集合中移除,同时将节点4放入有序集合中;此时,属地网关e、属地网关f没有入度,将属地网关e、属地网关f分别标记为节点5、6,将属地网关e、属地网关f从无序集合中移除,同时将节点5、6放入有序集合中,可以得到排序结果为{0,1,2,3,4,5,6}。
[0101]
其次,可以根据排序结果和有向无环图,确定中心网关至属地网关以及各属地网关之间所对应的路径权重。其中,路径权重可以由第一距离或第二距离或无穷大确定,利用二维矩阵(也可以称为邻接矩阵)存储路径权重,如,二维矩阵的第一列的元素分别为∞、143、290、620、∞、∞、∞等。
[0102]
其次,可以根据已确定的排序结果和邻接矩阵,采用动态规划的方法计算从中心
网关到各个属地网关最佳的传输路径。例如:生成一个集合(hops)用于存储中心网关到所有属地网关最佳的传输路径;生成6个空列表,依次放入hops集合中,用于存储中心网关到各个属地网关最佳的传输路径;生成一长度为6的列表(mindistance),列表中的6个元素可以初始化为最大整数(integer)的值;根据邻接矩阵和排序结果筛选出1、2节点,中心网关至1、2节点的最短路径可以表示为序列[0,1]和[0,2],并序列将放入hops集合中,其中,mindistance[1]=143,mindistance[2]=290;根据排序结果,取出3号节点,中心网关至节点3的最短距离为mindistance[3]=min{143+500,620}=620,传输路径可以表示为序列[0,3];根据排序结果,取出4号节点。中心网关至节点4的最短距离为mindistance[4]=min{143+307,290+311}=450,传输路径可以表示为序列[0,1,4];根据排序结果,取出5号节点。中心网关至节点5的最短距离为mindistance[5]=min{450+834,620+665}=1284,传输路径可以表示为序列[0,1,4,5];根据排序结果,取出6号节点。中心网关至节点6的最短距离为mindistance[6]=min{450+1350,290+1514}=1800,传输路径可以表示为序列[0,1,4,6]。
[0103]
最后,如果预设了全局参数fail=20,此时属地网关d无法传送的请求信息的数量超过20,则属地网关d将该情况反馈到中心网关,中心网关获取到该情况后可以通知运维人员进行故障排查等;同时,将重新计算传输路径,并更新到中心网关和所有属地网关进行缓存中。传输路径的变动结果可以为属地网关e对应的下一跳序列变为[0,3,5],属地网关f对应的下一跳序列变为[0,2,6]。这里,路径确定过程中的全局参数,如前置网关的个数,距离阈值(maxlength),fail等的取值可以设置为每个属地网关多于3个前置网关,从而更能提高整个架构的稳定性等。这样,可以先根据既定规则构建分布式网关架构,然后通过算法确定了请求信息到目的属地网关的最佳路径,并可以缓存至中心网关的内存中。中心网关或属地网关接收到请求信息后,可以根据该请求信息中携带的属地网关标识或编号得到相应的下一跳序列,而后根据该序列将请求信息转发到对应的属地网关等。
[0104]
本公开实施例中,提出了一种减小问题排查难度和安全维护代价,降低单点故障问题影响的分布式微服务网关设计方案。例如:可以通过设置一个全局的权重阈值(max),传输路径中所有通往下一跳的路径权重可以小于权重阈值(部分距离中心网关较远的属地网关除外),如果传输路径上发现故障问题,可以在应用层面通过日志定位到故障问题所在的传输网段,大大减少了故障问题所需排查的范围;改进后的网关架构由传统的一对多模式切换为多对多模式,如果各个网关之间某一条传输路径存在故障,可以选择其他路径,增强了网关架构的稳定性和可用性;由于中心网关是全局流量的入口,安全需求相比其他网关更高,这里只需更多关注中心网关连通的属地网关,保证其可靠性,即可保证中心网关的安全等。
[0105]
基于前述的实施例,本公开实施例提供一种路径确定装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(central processing unit,cpu)、微处理器(microprocessor unit,mpu)、数字信号处理器(digital signal processor,dsp)或现场可编程门阵列(field programmable gate array,fpga)等。
[0106]
图7为本公开实施例提供的一种路径确定装置的组成结构示意图,如图7所示,路径确定装置700包括:第一确定模块710、第二确定模块720、第三确定模块730和第四确定模
块740,其中:
[0107]
第一确定模块710,用于确定微服务网关架构中每一属地网关与中心网关之间的第一距离,以及与其他属地网关之间的各第二距离;其中,所述微服务网关架构包括一个所述中心网关和至少两个所述属地网关;第二确定模块720,用于基于每一所述属地网关的第一距离与预设的距离阈值之间的大小关系,从至少两个所述属地网关中确定处于第二层级的各属地网关;第三确定模块730,用于基于所述距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,确定所述剩余网关中每一属地网关的网关层级;其中,所述剩余网关为所述至少两个所述属地网关中除处于所述第二层级的各属地网关之外的属地网关;第四确定模块740,用于针对每一所述网关层级的每一所述属地网关,基于每一所述属地网关的第一距离和各第二距离,确定所述中心网关至对应属地网关的传输路径。
[0108]
在一些实施例中,所述第二确定模块,还用于:将所述第一距离小于或等于所述距离阈值的属地网关确定为属于所述第二层级的属地网关;所述第三确定模块,还用于:确定属于所述第二层级的属地网关的各第二距离;确定第一属地网关的第一距离;其中,所述第一属地网关为所述属于所述第二层级的属地网关的各第二距离小于或等于所述距离阈值的属地网关;在所述第一属地网关的第一距离满足预设条件的情况下,将所述第一属地网关确定为属于第三层级的属地网关。
[0109]
在一些实施例中,所述装置还包括:获取模块,用于从所述第二距离中获取每一所述属地网关所对应的最小距离;其中,所述最小距离用于表征第二属地网关与第三属地网关之间的第二距离,所述中心网关与所述第二属地网关之间的第一距离小于所述中心网关与所述第三属地网关之间的第一距离;第五确定模块,用于在所述最小距离大于所述距离阈值的情况下,将所述第二属地网关确定所述第三属地网关的前置网关;其中,所述第二属地网关所属的层级高于所述第三属地网关所属的层级;属于所述网关层级较高的属地网关用于将所述中心网关发送的请求信息转发属于所述网关层级较低的属地网关。
[0110]
在一些实施例中,所述第四确定模块,还用于:基于每一所述属地网关所属的网关层级和每一所述属地网关的第一距离和各第二距离,确定所述中心网关至每一所述属地网关之间所对应的拓扑关系;基于所述拓扑关系、每一所述属地网关的第一距离和各第二距离,确定所述中心网关至所述属地网关以及各所述属地网关之间所对应的路径权重;基于所述拓扑关系和所述路径权重,确定所述中心网关至对应属地网关的传输路径;其中,所述传输路径用于表征所述中心网关与所述属地网关之间进行信息传输时最短的路径。
[0111]
在一些实施例中,所述第四确定模块,还用于:基于所述拓扑关系,确定所述中心网关和每一所述属地网关的入度数量和出度数量;基于所述入度数量和所述出度数量,对所述中心网关和所有所述属地网关进行拓扑排序,得到排序结果;基于所述排序结果和所述路径权重,确定所述中心网关至每一所述属地网关所对应的状态转移方程;基于所述状态转移方程,确定所述中心网关至对应属地网关的传输路径。
[0112]
在一些实施例中,所述第四确定模块,还用于:获取所述中心网关和所有所述属地网关进行拓扑排序的排序结果;采用暴力算法对所述排序结果和所述路径权重进行处理,得到所述中心网关至对应属地网关的传输路径。
[0113]
在一些实施例中,所述装置还包括:第六确定模块,用于在当前属地网关接收所述中心网关发送的请求信息表征失败的情况下,确定预设时长内表征失败的次数;第一更新
模块,用于在所述表征失败的次数超过预设次数阈值的情况下,更新所述当前属地网的路径权重;第二更新模块,用于基于所述当前属地网更新后的路径权重,更新所述中心网关至对应属地网关的传输路径。
[0114]
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上述方法实施例描述的方法,对于本公开装置实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
[0115]
需要说明的是,本公开实施例中,如果以软件功能模块的形式实现上述的路径确定方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本公开实施例不限制于任何特定的硬件、软件或固件,或者硬件、软件、固件三者之间的任意结合。
[0116]
本公开实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
[0117]
本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
[0118]
本公开实施例提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
[0119]
本公开实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一些实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一些实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0120]
这里需要指出的是:上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考。以上设备、存储介质、计算机程序及计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开设备、存储介质、计算机程序及计算机程序产品实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
[0121]
需要说明的是,图8为本公开实施例中计算机设备的一种硬件实体示意图,如图8所示,该计算机设备800的硬件实体包括:处理器801、通信接口802和存储器803,其中:
[0122]
处理器801通常控制计算机设备800的总体操作。
[0123]
通信接口802可以使计算机设备通过网络与其他终端或服务器通信。
[0124]
存储器803配置为存储由处理器801可执行的指令和应用,还可以缓存待处理器801以及计算机设备800中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。处理器801、通信接口802和存储器803之间可以通过总线804进行数据传输。
[0125]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本公开的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0126]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0127]
在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0128]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0129]
另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0130]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0131]
或者,本公开上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0132]
本公开所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0133]
若本公开实施例涉及个人信息,应用本公开实施例的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本公开实施例涉及敏感个人信息,应用本公开实施例的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。
[0134]
以上所述,仅为本公开的实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。
技术特征:
1.一种路径确定方法,其特征在于,包括:确定微服务网关架构中每一属地网关与中心网关之间的第一距离,以及与其他属地网关之间的各第二距离;其中,所述微服务网关架构包括一个所述中心网关和至少两个所述属地网关;基于每一所述属地网关的第一距离与预设的距离阈值之间的大小关系,从至少两个所述属地网关中确定处于第二层级的各属地网关;基于所述距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,确定所述剩余网关中每一属地网关的网关层级;其中,所述剩余网关为所述至少两个所述属地网关中除处于所述第二层级的各属地网关之外的属地网关;针对每一所述网关层级的每一所述属地网关,基于每一所述属地网关的第一距离和各第二距离,确定所述中心网关至对应属地网关的传输路径。2.根据权利要求1所述的方法,其特征在于,所述基于每一所述属地网关的第一距离与预设的距离阈值之间的大小关系,从至少两个所述属地网关中确定处于第二层级的各属地网关,包括:将所述第一距离小于或等于所述距离阈值的属地网关确定为属于所述第二层级的属地网关;所述基于所述距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,确定所述剩余网关中每一属地网关的网关层级,包括:确定属于所述第二层级的属地网关的各第二距离;确定第一属地网关的第一距离;其中,所述第一属地网关为所述属于所述第二层级的属地网关的各第二距离小于或等于所述距离阈值的属地网关;在所述第一属地网关的第一距离满足预设条件的情况下,将所述第一属地网关确定为属于第三层级的属地网关。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:从所述第二距离中获取每一所述属地网关所对应的最小距离;其中,所述最小距离用于表征第二属地网关与第三属地网关之间的第二距离,所述中心网关与所述第二属地网关之间的第一距离小于所述中心网关与所述第三属地网关之间的第一距离;在所述最小距离大于所述距离阈值的情况下,将所述第二属地网关确定所述第三属地网关的前置网关;其中,所述第二属地网关所属的层级高于所述第三属地网关所属的层级;属于所述网关层级较高的属地网关用于将所述中心网关发送的请求信息转发属于所述网关层级较低的属地网关。4.根据权利要求1所述的方法,其特征在于,所述针对每一所述网关层级的每一所述属地网关,基于每一所述属地网关的第一距离和各第二距离,确定所述中心网关至对应属地网关的传输路径,包括:基于每一所述属地网关所属的网关层级和每一所述属地网关的第一距离和各第二距离,确定所述中心网关至每一所述属地网关之间所对应的拓扑关系;基于所述拓扑关系、每一所述属地网关的第一距离和各第二距离,确定所述中心网关至所述属地网关以及各所述属地网关之间所对应的路径权重;
基于所述拓扑关系和所述路径权重,确定所述中心网关至对应属地网关的传输路径;其中,所述传输路径用于表征所述中心网关与所述属地网关之间进行信息传输时最短的路径。5.根据权利要求4所述的方法,其特征在于,所述基于所述拓扑关系和所述路径权重,确定所述中心网关至对应属地网关的传输路径,包括:基于所述拓扑关系,确定所述中心网关和每一所述属地网关的入度数量和出度数量;基于所述入度数量和所述出度数量,对所述中心网关和所有所述属地网关进行拓扑排序,得到排序结果;基于所述排序结果和所述路径权重,确定所述中心网关至每一所述属地网关所对应的状态转移方程;基于所述状态转移方程,确定所述中心网关至对应属地网关的传输路径。6.根据权利要求4所述的方法,其特征在于,所述基于所述拓扑关系和所述路径权重,确定所述中心网关至对应属地网关的传输路径,包括:获取所述中心网关和所有所述属地网关进行拓扑排序的排序结果;采用暴力算法对所述排序结果和所述路径权重进行处理,得到所述中心网关至对应属地网关的传输路径。7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:在当前属地网关接收所述中心网关发送的请求信息表征失败的情况下,确定预设时长内表征失败的次数;在所述表征失败的次数超过预设次数阈值的情况下,更新所述当前属地网的路径权重;基于所述当前属地网更新后的路径权重,更新所述中心网关至对应属地网关的传输路径。8.一种路径确定装置,其特征在于,包括:第一确定模块,用于确定微服务网关架构中每一属地网关与中心网关之间的第一距离,以及与其他属地网关之间的各第二距离;其中,所述微服务网关架构包括一个所述中心网关和至少两个所述属地网关;第二确定模块,用于基于每一所述属地网关的第一距离与预设的距离阈值之间的大小关系,从至少两个所述属地网关中确定处于第二层级的各属地网关;第三确定模块,用于基于所述距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,确定所述剩余网关中每一属地网关的网关层级;其中,所述剩余网关为所述至少两个所述属地网关中除处于所述第二层级的各属地网关之外的属地网关;第四确定模块,用于针对每一所述网关层级的每一所述属地网关,基于每一所述属地网关的第一距离和各第二距离,确定所述中心网关至对应属地网关的传输路径。9.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述方法中的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述方法中的步骤。
技术总结
本公开实施例公开了一种路径确定方法、装置、设备及存储介质,其中,所述方法包括:确定微服务网关架构中每一属地网关与中心网关之间的第一距离,以及与其他属地网关之间的各第二距离;基于每一属地网关的第一距离与预设的距离阈值之间的大小关系,从至少两个属地网关中确定处于第二层级的各属地网关;基于距离阈值和剩余网关中每一属地网关的第一距离和各第二距离,确定剩余网关中每一属地网关的网关层级;针对每一网关层级的每一属地网关,基于每一属地网关的第一距离和各第二距离,确定中心网关至对应属地网关的传输路径。本公开实施例可以实现多对多模式的多级架构。例可以实现多对多模式的多级架构。例可以实现多对多模式的多级架构。
技术研发人员:郭心悦
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2022.11.07
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种防烫阀的制作方法 下一篇:一种环保污水处理用沉淀池的制作方法
