CN111884932A - 一种链路确定方法、装置、设备和计算机可读存储介质 - Google Patents
一种链路确定方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111884932A CN111884932A CN202010642715.2A CN202010642715A CN111884932A CN 111884932 A CN111884932 A CN 111884932A CN 202010642715 A CN202010642715 A CN 202010642715A CN 111884932 A CN111884932 A CN 111884932A
- Authority
- CN
- China
- Prior art keywords
- link
- local
- information
- response time
- links
- 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.)
- Granted
Links
Images
Classifications
-
- 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/24—Multipath
-
- 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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/12—Shortest path evaluation
- H04L45/126—Shortest path evaluation minimising geographical or physical path length
Abstract
本发明实施例提供了一种链路确定方法、装置、设备和计算机可读存储介质。该方法包括:获取目标信息对应的多个局部链路信息;每个局部链路信息包括:针对目标信息的局部链路中的服务节点的响应时间;针对每个局部链路,根据局部链路中的服务节点的响应时间,确定局部链路对应的响应时间;根据多个局部链路分别对应的响应时间,在多个局部链路中确定待用链路,以便在接收到目标信息之后,按照待用链路进行路由。通过本发明上游节点不再随机调用下游节点,缩短了对目标信息的响应时间,而且在确定响应时间最短的局部链路的过程中,需要确定局部链路对应的响应时间,使得链路对目标信息的响应时间变得可控。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种链路确定方法、装置、设备和计算机可读存储介质。
背景技术
在微服务网络架构中,在处理请求信息时,往往会伴随一个调用链,该调用链中包括多个服务节点,每个服务节点负责一种业务处理,该调用链最终返回该请求信息对应的请求结果。进一步地,在接收到请求信息之后,将该请求信息发送给该请求信息所属业务类型对应的服务节点,接收到该请求信息的服务节点对该请求信息进行相应的业务处理,生成新的请求信息,并根据该新的请求信息所属的业务类型,将该新的请求信息发送给用于处理该新的请求信息的服务节点,以此类推,直到调用链中最后一个服务节点得到请求信息对应的请求结果后,将该请求结果返回给网关节点。
由于现实中的网络情况比较复杂,在网络中通常会配置多个业务类型相同的服务节点,这多个服务节点可能部署在不同的机房中,而且服务节点和该服务节点依赖的中间件(如:数据库)也可能部署在不同的机房中。所以,这种复杂的网络情况使得开发人员在进行路由配置时无从下手。一般而言,将请求信息随机发送给一个用于处理该请求信息的服务节点,服务节点也会将新的请求信息随机发送给一个用于处理该新的请求信息的服务节点,以此类推。但是,上游节点随机选择下游节点的方式,使得对请求信息的响应时间不能得到保障。
发明内容
本发明实施例的目的在于提供一种链路确定方法、装置、设备和计算机可读存储介质,以解决上游节点随机选择下游节点的方式,不能保障对请求信息的响应时间的问题。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种一种链路确定方法,包括:获取目标信息对应的多个局部链路信息;每个所述局部链路信息包括:针对所述目标信息的局部链路中的服务节点的响应时间;在不同所述局部链路中,服务节点的数量相同并且处于相同节点位置的服务节点的业务类型相同;针对每个所述局部链路,根据所述局部链路中的服务节点的响应时间,确定所述局部链路对应的响应时间;根据多个所述局部链路分别对应的响应时间,在多个所述局部链路中确定待用链路,以便在接收到所述目标信息之后,按照所述待用链路进行路由。
其中,每个所述局部链路中至少包括两个服务节点;所述根据所述局部链路中的服务节点的响应时间,确定所述局部链路对应的响应时间,包括:根据所述至少两个服务节点中的被调用节点的响应时间,确定为所述局部链路对应的响应时间。
其中,当每个所述局部链路包括两个服务节点时,每个所述局部链路信息还包括:针对所述目标信息的局部链路对应的阶段信息和部署信息;所述根据多个所述局部链路分别对应的响应时间,在多个所述局部链路中确定待用链路,包括:根据多个所述局部链路信息,聚合对应相同部署信息以及相同阶段信息的多个局部链路,得到多个局部链路集合;根据所述局部链路集合中的多个局部链路分别对应的响应时间,确定所述局部链路集合对应的响应性能指标;根据对应不同部署信息以及相同阶段信息的局部链路集合分别对应的响应性能指标,确定待用链路集合,将所述待用链路集合中的全部或者部分局部链路作为待用链路。
其中,在所述确定待用链路之后,还包括:将对应不同阶段信息的待用链路串联,形成待用调用链,以便在接收到所述目标信息之后,按照所述待用调用链进行路由。
其中,在所述确定待用链路之后,还包括:如果所述待用链路的数量为多个,则选择其中一个所述待用链路作为首选待用链路,其余的所述待用链路作为所述首选待用链路对应的冗余链路。
其中,所述响应性能指标包括:TOP百分比和平均响应时间;所述根据对应不同部署信息以及相同阶段信息的局部链路集合分别对应的响应性能指标,确定待用链路集合,包括:根据多个所述局部链路集合分别对应的TOP百分比和平均响应时间,将TOP百分比大于预设的百分比阈值,平均响应时间大于预设的响应时间阈值,并且至少TOP百分比最小的局部链路集合作为待用链路集合。
其中,所述获取目标信息对应的多个局部链路信息,包括:从预设的网关节点获取所述目标信息对应的多个局部链路信息;或者,在用于接收所述目标信息的服务节点获取所述目标信息对应的多个局部链路信息。
在本发明实施的第二方面,还提供了一种链路确定装置,包括:信息获取模块,用于获取目标信息对应的多个局部链路信息;每个所述局部链路信息包括:针对所述目标信息的局部链路中的服务节点的响应时间;在不同所述局部链路中,服务节点的数量相同并且处于相同节点位置的服务节点的业务类型相同;第一确定模块,用于针对每个所述局部链路,根据所述局部链路中的服务节点的响应时间,确定所述局部链路对应的响应时间;第二确定模块,用于根据多个所述局部链路分别对应的响应时间,在多个所述局部链路中确定待用链路,以便在接收到所述目标信息之后,按照所述待用链路进行路由。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的链路确定方法的步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的链路确定方法的步骤。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的链路确定方法的步骤。
本发明实施例提供的一种链路确定方法、装置、设备和计算机可读存储介质,通过获取目标信息对应的多个局部链路信息,根据该多个局部链路信息确定响应时间最短的局部链路,采用响应时间最短的局部链路进行路由,上游节点不再随机调用下游节点,缩短了对目标信息的响应时间,而且在确定响应时间最短的局部链路的过程中,需要确定局部链路对应的响应时间,使得链路对目标信息的响应时间变得可控。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为根据本发明一实施例的链路确定方法的流程图;
图2为根据本发明实施例的确定待用链路的步骤流程图;
图3为根据本发明一实施例的业务请求的处理过程示意图;
图4为根据本发明一实施例的确定待用链路的示意图;
图5为根据本发明一实施例的待用链路的使用示意图;
图6为根据本发明一实施例的链路确定装置的结构图;
图7为根据本发明一实施例的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例提供了一种链路确定方法。如图1所示,为根据本发明一实施例的链路确定方法的流程图。
步骤S110,获取目标信息对应的多个局部链路信息;每个所述局部链路信息包括:针对所述目标信息的局部链路中的服务节点的响应时间;在不同所述局部链路中,服务节点的数量相同并且处于相同节点位置的服务节点的业务类型相同。
目标信息是指待确定链路的信息。该目标信息可以是业务请求信息。
局部链路是指在用于处理目标信息的调用链中的部分链路。用于目标信息的调用链是指调用链的首个服务节点处理的信息为目标信息。
局部链路中至少包括两个服务节点,后一个服务节点被前一个服务节点调用,即接收前一个服务节点发送的信息。局部链路中至少包括一个被调用节点。
响应时间是指局部链路中的前一个服务节点将信息发送给后一个服务节点后,该后一个服务节点对该信息的响应时间。
节点位置是指服务节点在调用链或者局部链路中所处的位置。
目标信息对应的不同调用链具有以下特征:不同调用链中的服务节点的数量相同,相同节点位置的服务节点的业务类型相同,但是相同节点区间的局部链路的部署信息可能相同,也可能不同。节点区间是指调用链中两个目标节点位置之间的服务节点。部署信息是指局部链路中的每个服务节点对应的实体设备的设置位置信息。
在获取目标信息对应的多个局部链路信息时,在目标信息对应的多个调用链中获取相同节点位置区间的局部链路的信息,进一步地,在目标信息对应的不同调用链中,获取第一业务类型的服务节点到第二业务类型的服务节点之间的局部链路。在获取到的不同局部链路中,服务节点的数量相同、处于相同节点位置的服务节点的业务类型相同,不同局部链路的部署位置相同或者不同。
具体而言,可以从预设的网关节点获取目标信息对应的多个局部链路信息;或者,在用于接收目标信息的服务节点获取目标信息对应的多个局部链路信息。其中,网关节点可以记录处理目标信息时的调用链信息或者局部调用链信息。用于接收目标信息的服务节点可以记录处理目标信息时的局部链路信息。进一步地,可以从网关节点或者用于接收目标信息的服务节点的历史调用信息中,获取目标信息对应的多个局部链路信息。
步骤S120,针对每个所述局部链路,根据所述局部链路中的服务节点的响应时间,确定所述局部链路对应的响应时间。
每个所述局部链路中至少包括两个服务节点;根据所述至少两个服务节点中的被调用节点的响应时间,确定为所述局部链路对应的响应时间。
当所述局部链路包括一个被调用节点时,将所述被调用节点的响应时间,确定为所述局部链路对应的响应时间。也即是说,在局部链路仅包括服务节点以及该服务节点调用的服务节点(调用节点)时,调用节点的响应时间即是该局部链路的响应时间。
当所述局部链路包括多个被调用节点时,将多个所述被调用节点分别对应的响应时间的和值或者平均值,确定为所述局部链路对应的响应时间。也即是说,在局部链路中包括顺次连接的多个服务节点时,后一个服务节点为前一个服务节点的被调用节点,那么,可以将多个被调用节点分别对应的响应时间的和值或者平均值,作为局部链路的响应时间。其中,在局部链路中,首个服务节点不是被调用节点。
步骤S130,根据多个所述局部链路分别对应的响应时间,在多个所述局部链路中确定待用链路,以便在接收到所述目标信息之后,按照所述待用链路进行路由。
待用链路是指获取的多个局部链路信息分别对应的局部链路中响应时间最短的局部链路。在处理目标信息的过程中可以使用该待用链路进行路由。这样,待用链路将成为目标信息对应的调用链中的一段局部链路。
在本实施例中,可以根据多个局部链路分别对应的响应时间,将响应时间最短的局部链路确定为待用链路。当然,如果局部链路的数量大于预设的数量阈值,则可以采用其他方式在多个局部链路中确定待用链路,其他确定待用链路的方式将在后面进行描述,在此不做赘述。
如果响应时间最短的局部链路的数量为多个,则可以随机选择其中一个响应时间最短的局部链路作为目标信息对应的待用链路,或者将该多个响应时间最短的局部链路都作为目标信息对应的待用链路。
在接收到所述目标信息之后,在需要按照待用链路进行路由时,如果待用链路的数量为一个,则直接按照该待用链路进行路由;如果待用链路的数量为多个,可以在多个待用链路中随机选择其中一个待用链路进行路由,也可以确定每个待用链路中的首个服务节点的设置位置信息,选择与当前服务节点的设置位置信息相同的首个服务节点所在的待用链路进行路由。
在本实施例中,可以在处理目标信息的过程中,在需要调用待用链路之前,确定目标信息对应的待用链路,并按照待用链路进行路由。
当然,也可以在确定目标信息对应的待用链路之后,可以存储待用链路对应的链路信息,在处理目标信息时,读取已经存储的目标信息对应的待用链路对应的链路信息,并按照待用链路对应的链路信息进行路由。待用链路对应的链路信息包括但不限于:待用链路中的每个服务节点的节点位置信息。进一步地,可以将待用链路对应的链路信息存储在网关节点或者存储在需要调用待用链路中的首个服务节点的服务节点。
在本实施例中,由于设置位置不同,业务类型相同的多个服务节点的响应时间不同,所以本实施例获取目标信息对应的多个局部链路信息,根据该多个局部链路信息确定响应时间最短的局部链路,采用响应时间最短的局部链路进行路由,上游节点不再随机调用下游节点,缩短了对目标信息的响应时间,而且在确定响应时间最短的局部链路的过程中,需要确定局部链路对应的响应时间,使得链路对目标信息的响应时间变得可控。
进一步地,由于调用链可以由多个局部链路组成,这样可以基于贪心算法确定一条响应时间最短的调用链,即确定多个响应时间最短的局部链路,将多个响应时间最短的局部链路拼接为一个响应时间最短的调用链。这样,在处理目标信息时,由于可以按照响应时间最短的调用链进行路由,调用链中上游节点不用再随机选择下游节点,使得用于处理目标信息的调用链的路径变得有序,便于对目标信息的处理过程进行监控和管理,而且整个调用链的响应时间最短。
由于微服务网络具有服务节点多且设置位置复杂的特点,所以在不同设置位置可以设置相同业务类型的服务节点,也可以在相同设置位置设置多个业务类型相同的服务节点,这样在相同节点位置区间存在大量局部链路。如果该大量的局部链路的数量大于预设的数量阈值,则可以将大量的局部链路划分为多组局部链路,以组为单位确定待用链路。
相同组的局部链路之间特征相同,即局部链路的服务节点的数量相同、相同节点位置的服务节点的业务类型相同并且设置位置相同。
不同组的局部链路之间特征不同,即局部链路的服务节点的数量相同、相同节点位置的服务节点的业务类型相同并且设置位置不同。进一步地,特征相同或者不同的局部链路组中,相同业务类型的服务节点的响应时间存在差异。
下面将针对微服务网络场景对如何确定待用链路的步骤进行描述。在本实施例中,以每个局部链路包括两个服务节点为例进行说明。也即是说,在局部链路中包括一个服务节点,以及该服务节点调用的下一跳的服务节点(服务节点)。在每个局部链路信息中还包括:针对目标信息的局部链路对应的阶段信息和部署信息。
部署信息为局部链路中的各个服务节点对应的实体设备的设置位置信息。该设置位置信息可以是数据中心(Data Center,简称DC)的位置信息。
阶段信息是指调用阶段。在一次请求过程中,会顺序调用不同业务类型的服务节点,每一次调用会生成一个新的阶段信息。该阶段信息例如是Span ID。
如图2所示,为根据本发明实施例的确定待用链路的步骤流程图。
步骤S210,根据多个局部链路信息,聚合对应相同部署信息以及相同阶段信息的多个局部链路,得到多个局部链路集合。
将多个局部链路为多个局部链路集合。在一个局部链路集合中包括部署信息相同以及阶段信息相同的多个局部链路。
步骤S220,根据所述局部链路集合中的多个局部链路分别对应的响应时间,确定所述局部链路集合对应的响应性能指标。
响应性能指标用于衡量一组对应相同部署信息以及相同阶段信息的局部链路的响应性能。响应性能指标可以反映在该阶段信息下,具有该部署信息的多个局部链路的响应时间的快慢。
在本实施例中,响应性能指标包括:TOP百分比和平均响应时间。
根据所述局部链路集合中的每个局部链路对应的响应时间,确定所述局部链路集合对应的TOP百分比和平均响应时间。
TOP百分比,是指在局部链路集合中的多个局部链路分别对应的响应时间中,处于该TOP百分比位置的响应时间。TOP百分比可以为经验值或者通过实验获得的值。例如:TOP百分比是TP99.99,表示在对多个局部链路分别对应的响应时间进行排序之后,索引99.99%对应的响应时间,在多个局部链路分别对应的响应时间中,99.99%的响应时间处于该索引到的响应时间之下。
平均响应时间,是指局部链路集合中的多个局部链路分别对应的响应时间的平均值。
TOP百分比越小并且平均响应时间越小的局部链路集合,响应性能指标越好,局部链路集合中的局部链路针对目标信息的响应时间越快(短)。TOP百分比越大并且平均响应时间越大的局部链路集合,响应性能指标越差,局部链路集合中的局部链路针对目标信息的响应时间越慢。
步骤S230,根据对应不同部署信息以及相同阶段信息的局部链路集合分别对应的响应性能指标,确定待用链路集合,将所述待用链路集合中的全部或者部分局部链路作为待用链路。
比较多组局部链路分别对应的响应性能指标,确定一组响应性能指标最优的局部链路,将响应性能指标最优的一组局部链路作为待用链路,或者,在响应性能指标最优的一组局部链路中,选择实体设备性能最优的一个局部链路作为待用链路。
响应性能指标最优的一组局部链路,是指该组局部链路的响应时间最短。
实体设备性能最优例如是:实体设备的运算资源最多,存储空间最大。
进一步地,确定一组响应性能指标最优的局部链路,包括:根据多个局部链路集合分别对应的TOP百分比和平均响应时间,将TOP百分比大于预设的百分比阈值,平均响应时间大于预设的响应时间阈值,并且至少TOP百分比最小的局部链路集合作为待用链路集合。
在本实施例中,在获取的大量的局部链路信息中,可能会存在多个特征相同的局部链路信息以及多个特征不同的局部链路信息。在特征相同的局部链路信息中,局部链路中的服务节点的数量相同,处于相同节点位置的服务节点的业务类型相同并且局部链路对应的部署信息相同。在特征不同的局部链路信息中,局部链路中的服务节点的数量相同,处于相同节点位置的服务节点的业务类型相同并且局部链路对应的部署信息不同。针对多个特征相同的局部链路信息以及多个特征不同的局部链路信息,本实施例按照将局部链路分组的思想,确定每个局部链路集合对应的响应性能指标,并确定响应性能指标最优的局部链路集合中的局部链路作为待用链路。
在确定待用链路之后,还包括:如果所述待用链路的数量为多个,则选择其中一个所述待用链路作为首选待用链路,其余的所述待用链路作为所述首选待用链路对应的冗余链路。其中,首选待用链路为多个待用链路中随机选择的一个,首选待用链路为多个待用链路中出现故障最少的一个待用链路,或者首选待用链路中的服务节点的实体设备与冗余链路中的服务节点的实体设备相比,首选待用链路中的各个服务节点的实体设备的性能更优。实体设备性能最优例如是:实体设备的运算资源最多,存储空间最大。这样在接收到所述目标信息之后,按照首选待用链路进行路由。当然,如果在需要调用待用链路之前,确定目标信息对应的待用链路,那么可以选择首个服务节点设置位置与当前服务节点的设置位置相同或者最近的待用链路作为首选待用链路。
在本实施例中,一个调用链包括多个阶段的调用,可以利用本实施例的确定待用链路的方式,确定每个阶段对应的待用链路,这样,在确定待用链路之后,可以将对应不同阶段信息的待用链路串联,形成待用调用链,以便在接收到所述目标信息之后,按照所述待用调用链进行路由。进一步地,如果相同阶段信息对应的待用链路为多个,则选择首选待用链路与其他阶段信息对应的待用链路进行串联,或者,在任意相邻两个阶段信息分别对应的待用链路中,将设置位置相同的前一个阶段的最后一个服务节点和后一个阶段的第一个服务节点串联。
在本实施例中,随着微服务的发展,服务的拆分越来越细致,服务之间调用愈发频繁,为了处理目标信息可能需要顺序调用A服务节点->B服务节点->C服务节点,甚至更多的服务节点,然后再返回结果。微服务的调用链技术能完整的监控整个调用过程,即确定每次处理目标信息的调用链信息。这样,利用贪心算法以及调用链信息中的局部链路信息,可以确定每个阶段对应的响应时间最短的局部链路,进而可以确定出响应时间最短的调用链,使得网关节点的接口性能达到最优。
下面给出一个应用实例来描述本发明实施例。
假设处理业务信息需要顺序调用A服务节点->B服务节点->C服务节点。在第一数据中心设置有A服务节点、B服务节点和C服务节点。在第二数据中心同样设置有A服务节点、B服务节点和C服务节点。
微服务网络中的网关节点负责将业务信息转发给其中一个服务节点,并负责记录业务信息对应的调用链信息或者局部链路信息。第一数据中心设置有第一网关节点,第二数据中心设置有第二网关节点。
例如:网关节点记录的调用链信息的结构可以采用如下形式:
如图3所示,为根据本发明一实施例的业务信息的处理过程示意图。
在应用本实施例的链路确定方法之前,第三网关节点接收到业务信息,如果第三网关节点所在的数据中心没有设置A服务节点、B服务节点和C服务节点,则第三网关节点可以将业务信息转发给第一数据中心的第一网关节点或者转发给第二数据中心的第二网关节点。
如果第一数据中心的第一网关节点接收到第三网关节点转发的业务信息,则将该业务信息转发给第一数据中心的A服务节点;在第一数据中心的A服务节点处理完成之后,可以通过第一网关节点调用第一数据中心的B服务节点,或者通过第二网关节点调用第二数据中心的B服务节点。如果第一数据中心的B服务节点被调用,则在信息处理完毕之后,通过第一网关节点调用第一数据中心的C服务节点,或者通过第二网关节点调用第二数据中心的C服务节点。如果第二数据中心的B服务节点被调用,则在信息处理完毕之后,通过第一网关节点调用第一数据中心的C服务节点,或者通过第二网关节点调用第二数据中心的C服务节点。
如果第二数据中心的第一网关节点接收到第三网关节点转发的业务信息,则将该业务信息转发给第二数据中心的A服务节点;在第二数据中心的A服务节点处理完成之后,可以通过第一网关节点调用第一数据中心的B服务节点,或者通过第二网关节点调用第二数据中心的B服务节点。如果第一数据中心的B服务节点被调用,则在信息处理完毕之后,通过第一网关节点调用第一数据中心的C服务节点,或者通过第二网关节点调用第二数据中心的C服务节点。如果第二数据中心的B服务节点被调用,则在信息处理完毕之后,通过第一网关节点调用第一数据中心的C服务节点,或者通过第二网关节点调用第二数据中心的C服务节点。
所以,在实施本实施例的链路确定方法之前,虽然不同调用链中的服务节点都为A服务节点、B服务节点和C服务节点,但是,不同调用链中的A服务节点、B服务节点和C服务节点的设置位置可以不同,这就造成了不同调用链对业务信息的响应时间不同,甚至会长时间接收不到针对业务信息的响应信息。
在应用本实施例的链路确定方法之后,可以获取业务请求对应的多个调用链信息,根据该多个调用链信息可以确定每个阶段信息对应的最优局部链路(待用链路),进而可以得到最优的调用链。
例如,可以在A服务节点调用B服务节点的阶段对应的多个局部链路中确定待用链路,在该阶段对应的局部链路中包括四种情况的部署信息,即部署在第一数据中心的A服务节点调用部署在第一数据中心的B服务节点,部署在第一数据中心的A服务节点调用部署在第二数据中心的B服务节点,部署在第二数据中心的A服务节点调用部署在第一数据中心的B服务节点,部署在第二数据中心的A服务节点调用部署在第二数据中心的B服务节点。
如图4所示,为根据本发明一实施例的确定待用链路的示意图,为了使比较过程更加便于理解,图4仅示意性地给出了部署在第一数据中心的A服务节点调用部署在第二数据中心的B服务节点(情况一),部署在第二数据中心的A服务节点调用部署在第二数据中心的B服务节点(情况二)这两种情况。
针对情况一而言,局部链路的数量为10000,即部署在第一数据中心的A服务节点调用部署在第二数据中心的B服务节点共计10000次;将10000次中每次B服务节点的响应时间rt进行排序,并标识每个rt在排序中的索引(index);最终可以计算出平均响应实际(avg)为150,TP99.99为200。
针对情况二而言,局部链路的数量为10000,即部署在第二数据中心的A服务节点调用部署在第二数据中心的B服务节点共计10000次;将10000次中每次B服务节点的响应时间rt进行排序,并标识每个rt在排序中的索引(index);最终可以计算出平均响应实际(avg)为160,TP99.99为209。
比较情况一和情况二,情况一的平均响应时间小于情况二的平均响应时间,情况一的TP99.99小于情况二的TP99.99,所以情况一的响应性能指标优于情况二的响应性能指标,可以将情况一的局部链路作为待用链路。
在确定A服务节点调用B服务节点的阶段对应的待用链路之后,还可以确定B服务节点调用C服务节点的阶段对应的待用链路。例如:B服务节点调用C服务节点的阶段对应的待用链路为第二数据中心的B服务节点调用第一数据中的C服务节点。最后两个阶段分别对应的待用链路进行串联,得到用户处理业务信息的调用链。再处理业务信息时,第三网关节点可以参照该调用链,通过第一网关节点将业务信息转发给第一数据中心的A服务节点,该A服务节点通过第二网关节点调用第二数据中心的B服务节点,该B服务节点通过第一网关节点调用第一数据中的C服务节点,如图5所示,为根据本发明一实施例的待用链路的使用示意图。
在本发明实施例中,可以利用贪心算法并结合本发明实施例的链路确定方法,确定响应性能最优的调用链,避免了不合理的路由导致的流量浪费,也解决了开发人员无法进行路由配置的难题,降低了接口(接收目标信息并接收该目标信息对应的响应信息的接口)对目标信息的响应时间,并且通过确定局部链路对应的响应时间,使得接口对目标信息的响应时间可控,从而提高了接口的稳定性,使得用户体验有所提升。通过TOP百分比和平均响应时间选择响应性能最优的局部链路,准确性更高。
本发明实施例还提供了一种链路确定装置。如图6所示,为根据本发明一实施例的链路确定装置的结构图。
该链路确定装置,包括:信息获取模块610,第一确定模块620和第二确定模块630。
信息获取模块610,用于获取目标信息对应的多个局部链路信息;每个所述局部链路信息包括:针对所述目标信息的局部链路中的服务节点的响应时间;在不同所述局部链路中,服务节点的数量相同并且处于相同节点位置的服务节点的业务类型相同。
第一确定模块620,用于针对每个所述局部链路,根据所述局部链路中的服务节点的响应时间,确定所述局部链路对应的响应时间。
第二确定模块630,用于根据多个所述局部链路分别对应的响应时间,在多个所述局部链路中确定待用链路,以便在接收到所述目标信息之后,按照所述待用链路进行路由。
本发明实施例所述的装置的功能已经在上述方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器710、通信接口720、存储器730和通信总线740,其中,处理器750,通信接口720,存储器730通过通信总线740完成相互间的通信。
存储器730,用于存放计算机程序。
处理器710,用于执行存储器730上所存放的程序时,实现如下步骤:获取目标信息对应的多个局部链路信息;每个所述局部链路信息包括:针对所述目标信息的局部链路中的服务节点的响应时间;在不同所述局部链路中,服务节点的数量相同并且处于相同节点位置的服务节点的业务类型相同;针对每个所述局部链路,根据所述局部链路中的服务节点的响应时间,确定所述局部链路对应的响应时间;根据多个所述局部链路分别对应的响应时间,在多个所述局部链路中确定待用链路,以便在接收到所述目标信息之后,按照所述待用链路进行路由。
其中,每个所述局部链路中至少包括两个服务节点;所述根据所述局部链路中的服务节点的响应时间,确定所述局部链路对应的响应时间,包括:根据所述至少两个服务节点中的被调用节点的响应时间,确定为所述局部链路对应的响应时间。
其中,当每个所述局部链路包括两个服务节点时,每个所述局部链路信息还包括:针对所述目标信息的局部链路对应的阶段信息和部署信息;所述根据多个所述局部链路分别对应的响应时间,在多个所述局部链路中确定待用链路,包括:根据多个所述局部链路信息,聚合对应相同部署信息以及相同阶段信息的多个局部链路,得到多个局部链路集合;根据所述局部链路集合中的多个局部链路分别对应的响应时间,确定所述局部链路集合对应的响应性能指标;根据对应不同部署信息以及相同阶段信息的局部链路集合分别对应的响应性能指标,确定待用链路集合,将所述待用链路集合中的全部或者部分局部链路作为待用链路。
其中,在所述确定待用链路之后,还包括:将对应不同阶段信息的待用链路串联,形成待用调用链,以便在接收到所述目标信息之后,按照所述待用调用链进行路由。
其中,在所述确定待用链路之后,还包括:如果所述待用链路的数量为多个,则选择其中一个所述待用链路作为首选待用链路,其余的所述待用链路作为所述首选待用链路对应的冗余链路。
其中,所述响应性能指标包括:TOP百分比和平均响应时间;所述根据对应不同部署信息以及相同阶段信息的局部链路集合分别对应的响应性能指标,确定待用链路集合,包括:根据多个所述局部链路集合分别对应的TOP百分比和平均响应时间,将TOP百分比大于预设的百分比阈值,平均响应时间大于预设的响应时间阈值,并且至少TOP百分比最小的局部链路集合作为待用链路集合。
其中,所述获取目标信息对应的多个局部链路信息,包括:从预设的网关节点获取所述目标信息对应的多个局部链路信息;或者,在用于接收所述目标信息的服务节点获取所述目标信息对应的多个局部链路信息。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的链路确定方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的链路确定方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种链路确定方法,其特征在于,包括:
获取目标信息对应的多个局部链路信息;每个所述局部链路信息包括:针对所述目标信息的局部链路中的服务节点的响应时间;在不同所述局部链路中,服务节点的数量相同并且处于相同节点位置的服务节点的业务类型相同;
针对每个所述局部链路,根据所述局部链路中的服务节点的响应时间,确定所述局部链路对应的响应时间;
根据多个所述局部链路分别对应的响应时间,在多个所述局部链路中确定待用链路,以便在接收到所述目标信息之后,按照所述待用链路进行路由。
2.根据权利要求1所述的方法,其特征在于,
每个所述局部链路中至少包括两个服务节点;
所述根据所述局部链路中的服务节点的响应时间,确定所述局部链路对应的响应时间,包括:
根据所述至少两个服务节点中的被调用节点的响应时间,确定为所述局部链路对应的响应时间。
3.根据权利要求2所述的方法,其特征在于,
当每个所述局部链路包括两个服务节点时,每个所述局部链路信息还包括:针对所述目标信息的局部链路对应的阶段信息和部署信息;
所述根据多个所述局部链路分别对应的响应时间,在多个所述局部链路中确定待用链路,包括:
根据多个所述局部链路信息,聚合对应相同部署信息以及相同阶段信息的多个局部链路,得到多个局部链路集合;
根据所述局部链路集合中的多个局部链路分别对应的响应时间,确定所述局部链路集合对应的响应性能指标;
根据对应不同部署信息以及相同阶段信息的局部链路集合分别对应的响应性能指标,确定待用链路集合,将所述待用链路集合中的全部或者部分局部链路作为待用链路。
4.根据权利要求3所述的方法,其特征在于,在所述确定待用链路之后,还包括:
将对应不同阶段信息的待用链路串联,形成待用调用链,以便在接收到所述目标信息之后,按照所述待用调用链进行路由。
5.根据权利要求3所述的方法,其特征在于,在所述确定待用链路之后,还包括:
如果所述待用链路的数量为多个,则选择其中一个所述待用链路作为首选待用链路,其余的所述待用链路作为所述首选待用链路对应的冗余链路。
6.根据权利要求3所述的方法,其特征在于,
所述响应性能指标包括:TOP百分比和平均响应时间;
所述根据对应不同部署信息以及相同阶段信息的局部链路集合分别对应的响应性能指标,确定待用链路集合,包括:
根据多个所述局部链路集合分别对应的TOP百分比和平均响应时间,将TOP百分比大于预设的百分比阈值,平均响应时间大于预设的响应时间阈值,并且至少TOP百分比最小的局部链路集合作为待用链路集合。
7.根据权利要求1所述的方法,其特征在于,所述获取目标信息对应的多个局部链路信息,包括:
从预设的网关节点获取所述目标信息对应的多个局部链路信息;或者,
在用于接收所述目标信息的服务节点获取所述目标信息对应的多个局部链路信息。
8.一种链路确定装置,其特征在于,包括:
信息获取模块,用于获取目标信息对应的多个局部链路信息;每个所述局部链路信息包括:针对所述目标信息的局部链路中的服务节点的响应时间;在不同所述局部链路中,服务节点的数量相同并且处于相同节点位置的服务节点的业务类型相同;
第一确定模块,用于针对每个所述局部链路,根据所述局部链路中的服务节点的响应时间,确定所述局部链路对应的响应时间;
第二确定模块,用于根据多个所述局部链路分别对应的响应时间,在多个所述局部链路中确定待用链路,以便在接收到所述目标信息之后,按照所述待用链路进行路由。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010642715.2A CN111884932B (zh) | 2020-07-06 | 2020-07-06 | 一种链路确定方法、装置、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010642715.2A CN111884932B (zh) | 2020-07-06 | 2020-07-06 | 一种链路确定方法、装置、设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111884932A true CN111884932A (zh) | 2020-11-03 |
CN111884932B CN111884932B (zh) | 2022-10-25 |
Family
ID=73150984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010642715.2A Active CN111884932B (zh) | 2020-07-06 | 2020-07-06 | 一种链路确定方法、装置、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111884932B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783673A (zh) * | 2021-01-27 | 2021-05-11 | 广州品唯软件有限公司 | 一种调用链的确定方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740164A (en) * | 1993-02-09 | 1998-04-14 | Teledesic Corporation | Traffic routing for satellite communication system |
US20160142267A1 (en) * | 2014-11-16 | 2016-05-19 | Spread Networks LLC | Modified near-optimal low-latency communication paths for graded service |
CN105959219A (zh) * | 2016-06-14 | 2016-09-21 | 乐视控股(北京)有限公司 | 数据处理方法和装置 |
CN108768716A (zh) * | 2018-05-22 | 2018-11-06 | 北京邮电大学 | 一种微服务路径选择方法及装置 |
CN109995817A (zh) * | 2017-12-29 | 2019-07-09 | 中移信息技术有限公司 | 一种服务调度方法及装置 |
CN110119314A (zh) * | 2019-05-14 | 2019-08-13 | 腾讯科技(深圳)有限公司 | 一种服务器调用方法、装置、服务器及存储介质 |
-
2020
- 2020-07-06 CN CN202010642715.2A patent/CN111884932B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740164A (en) * | 1993-02-09 | 1998-04-14 | Teledesic Corporation | Traffic routing for satellite communication system |
US20160142267A1 (en) * | 2014-11-16 | 2016-05-19 | Spread Networks LLC | Modified near-optimal low-latency communication paths for graded service |
CN105959219A (zh) * | 2016-06-14 | 2016-09-21 | 乐视控股(北京)有限公司 | 数据处理方法和装置 |
CN109995817A (zh) * | 2017-12-29 | 2019-07-09 | 中移信息技术有限公司 | 一种服务调度方法及装置 |
CN108768716A (zh) * | 2018-05-22 | 2018-11-06 | 北京邮电大学 | 一种微服务路径选择方法及装置 |
CN110119314A (zh) * | 2019-05-14 | 2019-08-13 | 腾讯科技(深圳)有限公司 | 一种服务器调用方法、装置、服务器及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783673A (zh) * | 2021-01-27 | 2021-05-11 | 广州品唯软件有限公司 | 一种调用链的确定方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111884932B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107872402B (zh) | 全局流量调度的方法、装置及电子设备 | |
CN112764920A (zh) | 一种边缘应用部署方法、装置、设备和存储介质 | |
CN112685287A (zh) | 产品数据的测试方法、装置、存储介质及电子装置 | |
CN111884932B (zh) | 一种链路确定方法、装置、设备和计算机可读存储介质 | |
CN116662022B (zh) | 分布式消息处理方法、系统、装置、通信设备及存储介质 | |
CN115037653B (zh) | 业务流量监控方法、装置、电子设备和存储介质 | |
CN112073329A (zh) | 分布式限流方法、装置、电子设备和存储介质 | |
CN108512698B (zh) | 一种网络容灾方法、装置及电子设备 | |
CN113703996B (zh) | 基于用户和yang模型分组的访问控制方法、设备及介质 | |
CN115580647A (zh) | 一种服务调用链路追踪方法、系统及电子设备 | |
CN115185832A (zh) | 测试用例的生成方法、装置、计算机设备及可读存储介质 | |
CN114049065A (zh) | 一种数据处理方法、装置及系统 | |
CN111400327B (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
US10897401B2 (en) | Determining the importance of network devices based on discovered topology, managed endpoints, and activity | |
CN109491699B (zh) | 应用程序的资源检查方法、装置、设备及存储介质 | |
CN112579325A (zh) | 一种业务对象的处理方法、装置、电子设备和存储介质 | |
CN115118583B (zh) | 日志查询方法、装置、电子设备及计算机可读存储设备 | |
CN115242687B (zh) | 一种节点探活方法、装置、设备及介质 | |
CN111639089B (zh) | 事务处理方法、装置、电子设备和计算机可读存储介质 | |
CN110825606B (zh) | 数据操作方法、装置和中台系统 | |
CN110020840B (zh) | 数据传输方法及其系统 | |
CN116048786A (zh) | 一种架构需求的处理方法、装置、电子设备及存储介质 | |
CN111897698A (zh) | 一种端口服务识别方法、装置、设备及可读存储介质 | |
CN117130979A (zh) | 一种业务资源的迁移方法、装置及电子设备 | |
CN116760697A (zh) | 网络设备风险监测方法、计算机设备和计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |