CN114064439B - 微服务工作流运行时长预测方法、装置、设备以及介质 - Google Patents
微服务工作流运行时长预测方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN114064439B CN114064439B CN202111436830.5A CN202111436830A CN114064439B CN 114064439 B CN114064439 B CN 114064439B CN 202111436830 A CN202111436830 A CN 202111436830A CN 114064439 B CN114064439 B CN 114064439B
- Authority
- CN
- China
- Prior art keywords
- component
- service workflow
- time
- target micro
- simple path
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000036962 time dependent Effects 0.000 claims abstract description 81
- 230000005540 biological transmission Effects 0.000 claims abstract description 42
- 238000004590 computer program Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种微服务工作流运行时长预测方法、装置、设备以及介质,该方法包括:首先,获取目标微服务工作流的历史日志数据,并根据从历史日志数据提取的第一运行起止时间确定第一组件对应的组件运行时长,以及根据第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长。根据目标微服务工作流中组件调用关系和组件运行时长以及网络传输时长,构建时间依赖有向无环图,然后,基于时间依赖有向无环图中配置的节点信息以及边信息,预测目标微服务工作流的运行时长。本公开实施例基于能够形式化表示目标微服务工作流中的各个组件之间的时间依赖关系的时间依赖有向无环图,更准确的预测目标微服务工作流的运行时长。
Description
技术领域
本公开涉及数据处理领域,尤其涉及一种微服务工作流运行时长预测方法、装置、设备以及介质。
背景技术
微服务工作流是由远程调用连接起来的组件所形成的一种服务流程,微服务工作流的运行时长可以理解为用户从发送服务请求开始到接收到服务返回的响应为止,期间所耗费的时长。由于微服务工作流是基于具有调用关系的组件实现,因而组件之间的调用关系决定着微服务工作流的运行时长。
目前,对于微服务工作流运行时长的预测不准确,如何提高对微服务工作流运行时长的预测准确性,是目前亟需解决的技术问题。
发明内容
为了解决上述技术问题,本公开提供了一种微服务工作流运行时长预测方法,能够提高微服务工作流的运行时长预测的准确性。
第一方面,本公开提供了一种微服务工作流运行时长预测方法,所述方法包括:
获取目标微服务工作流对应的历史日志数据;
从所述历史日志数据中提取所述目标微服务工作流调用的第一组件的第一运行起止时间,以及在所述目标微服务工作流中所述第一组件远程调用第二组件的第二运行起止时间;
根据所述第一运行起止时间确定所述第一组件对应的组件运行时长,并根据所述第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长;
根据所述目标微服务工作流中组件调用关系和所述组件运行时长以及所述网络传输时长,构建所述目标微服务工作流对应的时间依赖有向无环图;其中,所述时间依赖有向无环图中包括多个节点以及用于链接节点的有向边,所述节点用于标识所述目标微服务工作流调用的组件,所述节点配置有包括所述组件运行时长的节点信息,所述有向边用于标识所述目标微服务工作流中的组件间的执行时间依赖关系,所述有向边配置有包括所述网络传输时长的边信息;
基于所述时间依赖有向无环图中配置的节点信息以及边信息,预测所述目标微服务工作流的运行时长。
一种可选的实施方式中,所述基于所述时间依赖有向无环图中配置的节点信息以及边信息,预测所述目标微服务工作流的运行时长,包括:
基于所述目标微服务工作流的时间依赖有向无环图,确定简单路径列表;其中,所述简单路径列表中包括所述时间依赖有向无环图中由开始节点到结束节点的简单路径;
基于所述简单路径列表中的各个简单路径上的节点配置的节点信息以及有向边配置的边信息,确定各个简单路径的运行时长;
基于各个简单路径的运行时长,预测所述目标微服务工作流的运行时长。
一种可选的实施方式中,所述基于各个简单路径的运行时长,预测所述目标微服务工作流的运行时长之前,还包括:
从所述历史日志数据中提取所述目标微服务工作流中的所述第一组件和所述第二组件分别对应的用户请求量;
根据所述第一组件和所述第二组件分别对应的用户请求量,确定所述第一组件远程调用所述第二组件的调用发生概率;
将所述调用发生概率配置为所述时间依赖有向无环图中与所述第一组件远程调用所述第二组件对应的有向边的调用信息;
相应的,所述基于各个简单路径的运行时长,预测所述目标微服务工作流的运行时长,包括:
基于所述简单路径列表中的各个简单路径的运行时长以及所述简单路径上的有向边配置的调用信息,确定各个简单路径成为关键路径的概率;其中,所述关键路径为所述简单路径列表中运行时长最长的简单路径;
基于各个简单路径成为关键路径的概率以及各个简单路径的运行时长,预测所述目标微服务工作流的运行时长。
一种可选的实施方式中,所述基于所述简单路径列表中的各个简单路径的运行时长以及所述简单路径上的有向边配置的调用信息,确定各个简单路径成为关键路径的概率,包括:
基于所述简单路径上的各个有向边配置的调用信息,确定所述简单路径的存在概率;
基于所述简单路径列表中各个简单路径的存在概率和运行时长,确定各个简单路径成为关键路径的概率。
一种可选的实施方式中,所述基于所述简单路径列表中各个简单路径的存在概率和运行时长,确定各个简单路径成为关键路径的概率,包括:
将所述简单路径列表中运行时长大于第一简单路径的简单路径,确定为所述第一简单路径对应的关键影响路径;
将所述关键影响路径的不存在概率和所述第一简单路径的存在概率的乘积,确定为所述第一简单路径成为关键路径的概率;其中,所述关键影响路径的不存在概率为基于所述关键影响路径的存在概率确定。
一种可选的实施方式中,所述基于各个简单路径成为关键路径的概率以及各个简单路径的运行时长,预测所述目标微服务工作流的运行时长,包括:
将各个简单路径成为关键路径的概率与所述简单路径的运行时长的乘积进行累加之和,确定为所述目标微服务工作流的运行时长。
一种可选的实施方式中,所述基于各个简单路径的运行时长,预测所述目标微服务工作流的运行时长,包括:
将所述简单路径列表中的各个简单路径的运行时长中最长的运行时长,确定为所述目标微服务工作流的运行时长。
第二方面,本公开还提供了一种微服务工作流运行时长预测装置,所述装置包括:
获取模块,用于获取目标微服务工作流对应的历史日志数据;
第一提取模块,用于从所述历史日志数据中提取所述目标微服务工作流调用的第一组件的第一运行起止时间,以及在所述目标微服务工作流中所述第一组件远程调用第二组件的第二运行起止时间;
第一确定模块,用于根据所述第一运行起止时间确定所述第一组件对应的组件运行时长,并根据所述第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长;
构建模块,用于根据所述目标微服务工作流中组件调用关系和所述组件运行时长以及所述网络传输时长,构建所述目标微服务工作流对应的时间依赖有向无环图;其中,所述时间依赖有向无环图中包括多个节点以及用于链接节点的有向边,所述节点用于标识所述目标微服务工作流调用的组件,所述节点配置有包括所述组件运行时长的节点信息,所述有向边用于标识所述目标微服务工作流中的组件间的执行时间依赖关系,所述有向边配置有包括所述网络传输时长的边信息;
预测模块,用于基于所述时间依赖有向无环图中配置的节点信息以及边信息,预测所述目标微服务工作流的运行时长。
第三方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
第四方面,本公开提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
本公开实施例提供了一种微服务工作流运行时长预测方法,首先,获取目标微服务工作流对应的历史日志数据,然后,从历史日志数据中提取目标微服务工作流调用的第一组件的第一运行起止时间,以及在目标微服务工作流中第一组件远程调用第二组件的第二运行起止时间,根据第一运行起止时间确定第一组件对应的组件运行时长,并根据第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长。进而,根据目标微服务工作流中组件调用关系和组件运行时长以及网络传输时长,构建目标微服务工作流对应的时间依赖有向无环图,以便基于时间依赖有向无环图中配置的节点信息以及边信息,预测目标微服务工作流的运行时长。可见,本公开实施例基于能够形式化表示目标微服务工作流中的各个组件之间的时间依赖关系的时间依赖有向无环图,综合考虑各个组件自身的组件运行时长以及组件之间远程调用过程中的网络传输时长,更准确的预测出目标微服务工作流的运行时长。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种微服务工作流运行时长预测方法流程图;
图2为本公开实施例提供的一种同步调用结构的解构示意图;
图3为本公开实施例提供的一种异步调用结构的解构示意图;
图4为本公开实施例提供的一种时间依赖有向无环图;
图5为本公开实施例提供的另一种微服务工作流运行时长预测方法的流程图;
图6为本公开实施例提供的一种微服务工作流运行时长预测装置的结构示意图;
图7为本公开实施例提供的一种微服务工作流运行时长预测设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
在软件设计领域,通过将功能复杂规模庞大的应用程序分解为轻量级的低耦合的组成组件,每个组件拥有各自的源代码库,可以相对独立的进行版本更新、资源分配和管理等,具有调用关系的组件之间通过远程程序调用的形式连接。
微服务工作流是由远程调用连接起来的组件所形成的一种服务流程,微服务工作流的运行时长可以理解为用户从发送服务请求开始到接收到服务返回的响应为止,期间所耗费的时长。实际应用中,用户向用户服务接口类型的组件发送请求,由该用户服务接口类型的组件根据服务需求远程调用其他相关的组件,以获得其功能支持。
目前,对微服务工作流的运行时长预测的方式仅关注在资源分配量对于个体组件的运行时长的影响,也就是说,仅考虑该微服务工作流中调用到的各个组件的自身运行时长,通过将该微服务工作流中调用到的各个组件的自身运行时长直接相加,得到该微服务工作流的运行时长。事实上,影响微服务工作流的运行时长的因素远远不止上述方式中考虑到的组件自身运行时长,因此,基于上述方式确定的微服务工作流的运行时长的准确性不足。
由于微服务工作流为基于一系列具有调用关系的组件实现,因此,组件之间的调用关系决定着微服务工作流的运行时间,目前,确定微服务工作流的运行时长只考虑每个个体组件的自身运行时长,对于微服务工作流的拓扑结构缺乏考虑。
从运行时间的角度出发,微服务工作流的运行时长不仅与该微服务工作流中调用到的各个组件的自身运行时长有关,至少还与组件之间在调用过程中的网络传输时长等有关,因此,为了提高微服务工作流的运行时长确定的准确性,本公开实施例提供了一种微服务工作流运行时长预测方法,通过构建能够表征微服务工作流中调用的组件之间的执行时间依赖关系的时间依赖有向无环图,并基于该时间依赖有向无环图中各个节点携带的组件自身的组件运行时长以及有向边携带的网络传输时长,实现微服务工作流的运行时长的预测,提高了微服务工作流的运行时长预测的准确性。
基于此,本公开实施例提供了一种微服务工作流运行时长预测方法,参考图1,为本公开实施例提供的一种微服务工作流运行时长预测方法流程图,该方法包括:
S101:获取目标微服务工作流对应的历史日志数据。
本公开实施例中,微服务工作流可以为用于实现任意一个功能或任意多个功能组合的工作流,微服务工作流是由远程调用连接起来的组件所形成的一种服务流程。具体的,目标微服务工作流可以为任意一个微服务工作流。
本公开实施例中,在确定目标微服务工作流之后,获取目标微服务工作流对应的历史日志数据,以便后续基于历史日志数据构建目标微服务工作流的时间依赖有向无环图。
S102:从所述历史日志数据中提取所述目标微服务工作流调用的第一组件的第一运行起止时间,以及在所述目标微服务工作流中所述第一组件远程调用第二组件的第二运行起止时间。
实际应用中,在目标微服务工作流的历史日志数据中包括目标微服务工作流调用的各个组件的运行起止时间,以及目标微服务工作流中组件间远程调用的运行起止时间等时间戳数据。
本公开实施例中,在获取到目标微服务工作流的历史日志数据之后,从历史日志数据中提取目标微服务工作流调用的第一组件的第一运行起止时间。其中,第一组件可以为目标微服务工作流中调用到的任意一个组件,第一运行起止时间包括第一组件的运行起始时间和运行结束时间。
另外,本公开实施例还可以从历史日志数据中提取目标微服务工作流中第一组件远程调用第二组件的第二运行起止时间。其中,第一组件远程调用第二组件包括目标微服务工作流中任意组件间的远程调用关系。第二组件可以为第一组件远程调用的任意一个组件,第二运行起止时间可以包括第一组件向第二组件发起远程调用的时间以及第二组件响应于该远程调用开始运行的时间。
S103:根据所述第一运行起止时间确定所述第一组件对应的组件运行时长,并根据所述第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长。
本公开实施例中,在从历史日志数据中提取目标微服务工作流中调用的各个组件的运行起止时间,以及组件间远程调用的运行起止时间之后,针对第一组件,可以将第一组件的运行起止时间之间的时间差确定为第一组件对应的组件运行时长,以及将第一组件远程调用第二组件的第二运行时间之间的时间差确定为第一组件远程调用第二组件所耗费的网络传输时长。
S104:根据所述目标微服务工作流中组件调用关系和所述组件运行时长以及所述网络传输时长,构建所述目标微服务工作流对应的时间依赖有向无环图。
其中,所述时间依赖有向无环图中包括多个节点以及用于链接节点的有向边,所述节点用于标识所述目标微服务工作流调用的组件,所述节点配置有包括所述组件运行时长的节点信息,所述有向边用于标识所述目标微服务工作流中的组件间的执行时间依赖关系,所述有向边配置有包括所述网络传输时长的边信息。
一种可选的实施方式中,可以以有向无环图为基本建模结构,基于目标微服务工作流的历史日志数据进行建模,得到目标微服务工作流的时间依赖有向无环图。其中,有向无环图是指图中没有回路(环)的有向图。
本公开实施例中的时间依赖有向无环图,用于表征目标微服务工作流中调用的各个组件之间的执行时间依赖关系。其中,执行时间依赖关系是指调用关系中被调用的组件依赖于发起调用的组件的执行时间而开始执行。
具体的,从执行时间依赖关系的角度,构建时间依赖有向无环图,例如,当目标微服务工作流中存在组件A调用组件B的调用关系时,需要将组件A调用组件B的调用过程拆解为组件A请求调用组件B的请求边,以及组件B向组件A进行响应的响应边,也就是说,具有调用关系的组件A和组件B之间的执行时间依赖关系能够体现在时间依赖有向无环图中。
另外,从运行时间的角度出发,远程调用可以从调用是否阻塞的情况分为同步调用和异步调用,其中,同步调用是在请求发送之后阻塞等待响应的返回,而异步调用是在请求发送之后不阻塞,可以进行后续的计算任务。可见,同步调动和异步调用的存在也影响着微服务工作流的运行时长的确定。
本公开实施例提供的微服务工作流的运行时长确定方法,也考虑到了远程程序调用中的同步调用和异步调用(也称为并行调用)的情况,并在时间依赖有向无环图中形式化的将其表示出来,并体现在微服务工作流的运行时长的确定中。
实际应用中,在获取到目标微服务工作流的历史日志数据,并基于历史日志数据确定目标微服务工作流中调用到的各个组件的组件运行时长以及组件间远程调用所耗费的网络传输时长等信息之后,基于目标微服务工作流中组件调用关系和组件运行时长以及网络传输时长,构建目标微服务工作流对应的时间依赖有向无环图,并在时间依赖有向无环图中将存在同步调用和异步调用的调用结构形象的体现出来。
为了便于从运行时间的角度对同步调用和异步调用的调用结构进行理解,本公开实施例将表征组件之间调用关系的有向无环图与表征组件之间的执行时间依赖关系的时间依赖有向无环图进行对比解释。
如图2所示,为本公开实施例提供的一种同步调用结构的解构示意图,其中,假设组件m1同步调用组件m2和m3,则从运行时间的角度,将其解构为线性串行的结构,即在①组件m1向组件m2发起调用请求后,②组件m2返回响应至组件m1,③组件m1继续向组件m3发起调用请求,而④组件m3向组件m1返回响应,值得注意的是,上述各个步骤之间存在执行时间依赖关系。可见,上述图2中右侧所示的时间依赖有向无环图的一部分,相比于左侧的组件调用关系图,更能够形象的体现出组件之间的执行时间依赖关系。
如图3所示,为本公开实施例提供的一种异步调用结构的解构示意图,其中,假设组件m4异步调用组件m5和m6,则从运行时间的角度,将其结构为并行结构,即⑤组件m4可以并行向组件m5和m6发起调用请求,彼此之间的执行时间不存在依赖关系,组件m5和m6向组件m4返回响应的执行时间也可以并行,彼此之间的执行时间不存在依赖关系。而⑤组件m4向组件m5发起调用请求后,⑥组件m5才可以向组件m4返回响应,步骤⑤和⑥之间存在执行时间依赖关系。同样的,上述图3中右侧所示的时间依赖有向无环图的一部分,相比于左侧的组件调用关系图,更能够形象的体现出组件之间的执行时间依赖关系。
本公开实施例中的时间依赖有向无环图中的节点与目标微服务工作流中的调用到的组件具有一一对应关系,因此,时间依赖有向无环图中的节点用于标识所述目标微服务工作流调用的组件,各个节点配置有包括组件运行时长的节点信息。
另外,时间依赖有向无环图中的有向边用于标识目标微服务工作流中的组件间的执行时间依赖关系,即后一个节点对应的组件的执行依赖于前一个节点对其发起的远程调用。各个有向边配置有包括其对应的远程调用的组件间的网络传输时长的边信息。另外,有向边还可以携带在组件间远程调用中产生的其他附属的时间消耗等。
如图4所示,为本公开实施例提供的一种时间依赖有向无环图,其中,DT用于表示各个节点配置的节点信息中的组件运行时长,RC(m1,m2)用于表示组件m1远程调用组件m2的过程中的网络传输时长。可见,时间依赖有向无环图能够形式化的表示出目标微服务工作流中的各个组件之间的执行时间依赖关系,例如,能够表征出并行调用组件的调用结构,使得后续确定目标微服务工作流的运行时长时,能够考虑并行调用结构对于运行时长确定的影响,提高微服务工作流的运行时长的预测准确性。
S102:基于所述时间依赖有向无环图中配置的节点信息以及边信息,预测所述目标微服务工作流的运行时长。
本公开实施例中,在构建得到目标微服务工作流的时间依赖有向无环图之后,基于该时间依赖有向无环图上各个节点配置的节点信息和各个有向边配置的边信息,预测目标微服务工作流的运行时长。如上述图4所示,确定从用户发起服务请求(即start开始节点)到向用户返回服务响应(即end结束节点)之间的时长。
一种可选的实施方式中,首先,基于目标微服务工作流的时间依赖有向无环图,确定简单路径列表。其中,简单路径列表中包括该时间依赖有向无环图中由开始节点到结束节点的简单路径。然后,基于该简单路径列表中的简单路径上的节点配置的节点信息以及有向边配置的边信息,确定各个简单路径的运行时长。进而,基于各个简单路径的运行时长,预测目标微服务工作流的运行时长。
一种可选的实施方式中,由于目标微服务工作流的运行时长取决于目标微服务工作流中运行时长最长的简单路径,因此可以将该简单路径列表中的各个简单路径的运行时长中最长的运行时长,确定为目标微服务工作流的运行时长。
本公开实施例中的简单路径列表包括简单路径,简单路径是指时间依赖有向无环图中由开始节点到结束节点的路径,且该路径上不存在重复的节点。如上述图4所示,从start节点到end节点的路径中,路径start→m1→m2→m1→m3→m1→end属于简单路径,start→m1→m2→m1→m4→m5→m4→m1→end也属于简单路径,start→m1→m2→m1→m4→m6→m4→m1→end也属于简单路径,事实上,图4所示时间依赖有向无环图中包括以上3条简单路径,即由该3条简单路径构成简单路径列表。由于时间依赖有向无环图考虑了组件之间的并行调用架构,因此,基于时间依赖有向无环图确定的简单路径,也是在考虑了并行调用架构的基础上构建得到的。
本公开实施例中,在确定简单路径列表之后,将简单路径列表中的简单路径上的各个节点配置的节点信息中的组件运行时长和各个有向边配置的边信息中的网络传输时长进行累加,并将累加结果确定为该简单路径的运行时长。如上述图4所示的简单路径start→m1→m2→m1→m3→m1→end,可以该简单路径上的各个节点配置的节点信息中的组件运行时长即DT=1.3、DT=1.1、DT=0、DT=1.0、DT=0,以及各个有向边配置的边信息中的网络传输时长即RC(mstr,m1)=0、RC(m1,m2)=1.8、RC(m2,m1)=1.6、RC(m1,m3)=0.5、RC(m3,m1)=0.5、RC(m1,mend)=0进行累加,得到的值6.8即为该简单路径的运行时长。
由于目标微服务工作流的运行时长由运行时长最长的简单路径决定,因此,可以直接将简单路径列表中的各个简单路径的运行时长中最长的运行时长,确定为目标微服务工作流的运行时长。
本公开实施例提供的微服务工作流运行时长预测方法中,首先,获取目标微服务工作流对应的历史日志数据,然后,从历史日志数据中提取目标微服务工作流调用的第一组件的第一运行起止时间,以及在目标微服务工作流中第一组件远程调用第二组件的第二运行起止时间,根据第一运行起止时间确定第一组件对应的组件运行时长,并根据第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长。进而,根据目标微服务工作流中组件调用关系和组件运行时长以及网络传输时长,构建目标微服务工作流对应的时间依赖有向无环图,以便基于时间依赖有向无环图中配置的节点信息以及边信息,预测目标微服务工作流的运行时长。可见,本公开实施例基于能够形式化表示目标微服务工作流中的各个组件之间的时间依赖关系的时间依赖有向无环图,综合考虑各个组件自身的组件运行时长以及组件之间远程调用过程中的网络传输时长,更准确的预测出目标微服务工作流的运行时长。
在上述实施例的基础上,为了进一步的提高微服务工作流的运行时长的预测准确性,本公开实施例还提供了一种微服务工作流运行时长预测方法,参考图5,为本公开实施例提供的另一种微服务工作流运行时长预测方法的流程图,该方法包括:
S501:获取目标微服务工作流对应的历史日志数据。
S502:从所述历史日志数据中提取所述目标微服务工作流调用的第一组件的第一运行起止时间,在所述目标微服务工作流中所述第一组件远程调用第二组件的第二运行起止时间,以及所述目标微服务工作流中的所述第一组件和所述第二组件分别对应的用户请求量。
由于并不是所有来自于同一个用户接口的用户请求所产生的微服务工作流是完全相同的,也就是说,同一微服务工作流可能对应于不同的组件调用关系,同时,同一微服务工作流可能对应于不同的运行时长,因此,为了能够反映出微服务工作流的平均运行时长,可以结合同一微服务工作流对应的不同的组件调用关系的调用发生概率,预测微服务工作流的运行时长。
为此,本公开实施例可以从历史日志数据中提取目标微服务工作流中的第一组件和第二组件分别对应的用户请求量,其中,第一组件远程调用第二组件,第一组件对应的用户请求量是指请求调用第一组件的请求数量。
S503:根据所述第一运行起止时间确定所述第一组件对应的组件运行时长,并根据所述第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长,以及根据所述第一组件和所述第二组件分别对应的用户请求量确定所述第一组件远程调用所述第二组件的调用发生概率。
本公开实施例中,确定目标微服务工作流中发生远程调用的组件分别对应的用户请求量之后,根据组件分别对应的请求量确定该远程调用的调用发生概率。具体的,在提取到第一组件和第二组件分别对应的用户请求量之后,将第二组件对应的用户请求量与第一组件对应的用户请求量之间的比值,确定为第一组件远程调用所述第二组件的调用发生概率。
在确定第一组件远程调用第二组件的调用发生概率之后,将其存储为目标微服务工作流的时间依赖有向无环图中与第一组件远程调用第二组件对应的有向边的边信息中。
一种可选的实施方式中,可以利用以下方式确定第一组件远程调用所述第二组件的调用发生概率。假设节点m1对应的组件调用节点m2对应的组件时,请求边和响应边分别对应的调用发生概率如下方式计算:
请求边对应的调用发生概率:P(m1,m2)=QPS(m2)/QPS(m1);
响应边对应的调用发生概率:P(m2,m1)=1;
其中,P(m1,m2)用于表示节点m1对应的组件调用节点m2对应的组件对应的调用发生概率,QPS(m2)用于表示历史日志数据中节点m2对应的组件的用户请求量,同样的,QPS(m1)用于表示历史日志数据中节点m1对应的组件的用户请求量。
例如,假设基于目标微服务工作流的历史日志数据确定节点m2对应的组件的用户请求量为90,而节点m1对应的组件的用户请求量100,则说明对节点m1对应的组件的请求中有90%的用户请求后续会继续对节点m2对应的组件进行调用,即节点m1对应的组件调用节点m2对应的组件对应的调用发生概率为0.9。
S504:根据所述目标微服务工作流中组件调用关系、所述组件运行时长、所述调用发生概率以及所述网络传输时长,构建所述目标微服务工作流对应的时间依赖有向无环图。
其中,所述时间依赖有向无环图中包括多个节点以及用于链接节点的有向边,所述节点用于标识所述目标微服务工作流调用的组件,所述节点配置有包括所述组件运行时长的节点信息,所述有向边用于标识所述目标微服务工作流中的组件间的执行时间依赖关系,所述有向边配置有包括所述网络传输时长和所述调用发生概率的边信息。
本公开实施例中,在确定第一组件远程调用第二组件的调用发生概率之后,将该调用发生概率存储为时间依赖有向无环图中第一组件远程调用第二组件的有向边的边信息。
S505:基于所述目标微服务工作流的时间依赖有向无环图,确定简单路径列表。
其中,所述简单路径列表中包括所述时间依赖有向无环图中由开始节点到结束节点的简单路径。
本公开实施例中的简单路径以及简单路径列表可以参照上述实施例中的描述进行理解,在此不再赘述。
S506:基于所述简单路径列表中的各个简单路径上的节点配置的节点信息以及有向边配置的边信息,确定各个简单路径的运行时长。
S507:基于所述简单路径列表中的各个简单路径的运行时长以及所述简单路径上的有向边配置的边信息中的调用发生概率,确定各个简单路径成为关键路径的概率。
其中,所述关键路径为所述简单路径列表中运行时长最长的简单路径。
本公开实施例中,在获取到时间依赖有向无环图中的各个简单路径之后,确定各个简单路径成为关键路径的概率,以及各个简单路径的运行时间。
一种可选的实施方式中,可以将简单路径上各个有向边配置的边信息中的调用发生概率的乘积,确定为该简单路径的存在概率。具体的,可以利用如下公式(1)计算简单路径的存在概率:
其中,Ps用于表示简单路径列表中的第s条简单路径的存在概率,P(mi,mi+1)用于表示节点mi到节点mi+1的有向边配置的边信息中的调用发生概率,n用于表示第s条简单路径上的节点个数。
另外,本公开实施例可以将简单路径上的各个节点配置的节点信息中的组件运行时长与各个有向边配置的边信息中的网络传输时长进行累加的和,确定为该简单路径的运行时长,从而确定简单路径列表中的各个简单路径的运行时长。
一种可选的实施方式中,在确定各个简单路径的存在概率和运行时长之后,可以将存在概率最大的简单路径的运行时长确定为目标微服务工作流的运行时长。
为了进一步提高目标微服务工作流的运行时长预测的准确性,本公开实施例可以基于所述简单路径列表中各个简单路径的存在概率和运行时长,确定各个简单路径成为关键路径的概率,以便后续基于各个简单路径成为关键路径的概率确定目标微服务工作流的运行时长。
一种可选的实施方式中,在确定各个简单路径成为关键路径的概率时,针对第一简单路径(可以为简单路径列表中的任意一个简单路径),首先可以将简单路径列表中运行时长大于第一简单路径的简单路径,确定为第一简单路径对应的关键影响路径。然后,将关键影响路径的不存在概率和第一简单路径的存在概率的乘积,确定为第一简单路径成为关键路径的概率。其中,所述关键影响路径的不存在概率为基于所述关键影响路径的存在概率确定。
由于简单路径列表中运行时长大于第一简单路径的简单路径才是对第一简单路径成为关键路径存在影响的,因此,本公开实施例中,在确定第一简单路径成为关键路径的概率之前,首先确定运行时长大于第一简单路径的简单路径,作为关键影响路径。一种可选的实施方式中,可以按照运行时间对简单路径列表中的各个简单路径进行从大到小的排序,从而确定第一简单路径对应的关键影响路径。
而因为关键路径只存在一条,因此只有在关键影响路径不存在时,第一简单路径才可能成为关键路径。为此,本公开实施例将关键影响路径的不存在概率与第一简单路径的存在概率的乘积,确定为第一简单路径成为关键路径的概率。
具体的,可以利用如下公式(2)确定第一简单路径成为关键路径的概率:
其中,CPi用于表示第i条简单路径成为关键路径的概率,Pi用于表示简单路径列表中的第i条简单路径的存在概率,1-Pj用于表示第j条简单路径的不存在概率,k表示运行时长大于第i条简单路径的简单路径的数量。
S508:基于各个简单路径成为关键路径的概率以及各个简单路径的运行时长,预测所述目标微服务工作流的运行时长。
本公开实施例中,在确定各个简单路径成为关键路径的概率以及运行时长之后,可以将各个简单路径成为关键路径的概率作为每条简单路径的运行时长的权重,确定目标微服务工作流的运行时长。
一种可选的实施方式中,可以将各个简单路径成为关键路径的概率与该简单路径的运行时长的乘积进行累加之和,确定为目标微服务工作流的运行时长。
具体的,可以利用如下公式(3)确定目标微服务工作流的运行时长:
其中,RT(G)用于表示目标微服务工作流的运行时长,RT(i)用于表示第i条简单路径的运行时长,CPi用于表示第i条简单路径成为关键路径的概率,k用于表示简单路径的个数。
本公开实施例提供的微服务工作流运行时长预测方法中,基于能够形式化表示目标微服务工作流中的各个组件之间的时间依赖关系的时间依赖有向无环图,综合考虑各个组件的自身运行时长、组件之间调用过程中的网络传输时长以及调用关系的调用存在概率,更准确的预测出目标微服务工作流的运行时长。
与上述实施例基于同一个发明构思,本公开实施例还提供了一种微服务工作流运行时长预测装置,参考图6,为本公开实施例提供的一种微服务工作流运行时长预测装置的结构示意图,所述装置包括:
获取模块601,用于获取目标微服务工作流对应的历史日志数据;
第一提取模块602,用于从所述历史日志数据中提取所述目标微服务工作流调用的第一组件的第一运行起止时间,以及在所述目标微服务工作流中所述第一组件远程调用第二组件的第二运行起止时间;
第一确定模块603,用于根据所述第一运行起止时间确定所述第一组件对应的组件运行时长,并根据所述第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长;
构建模块604,用于根据所述目标微服务工作流中组件调用关系和所述组件运行时长以及所述网络传输时长,构建所述目标微服务工作流对应的时间依赖有向无环图;其中,所述时间依赖有向无环图中包括多个节点以及用于链接节点的有向边,所述节点用于标识所述目标微服务工作流调用的组件,所述节点配置有包括所述组件运行时长的节点信息,所述有向边用于标识所述目标微服务工作流中的组件间的执行时间依赖关系,所述有向边配置有包括所述网络传输时长的边信息;
预测模块605,用于基于所述时间依赖有向无环图中配置的节点信息以及边信息,预测所述目标微服务工作流的运行时长。
一种可选的实施方式中,所述预测模块605,包括:
第一确定子模块,用于基于所述目标微服务工作流的时间依赖有向无环图,确定简单路径列表;其中,所述简单路径列表中包括所述时间依赖有向无环图中由开始节点到结束节点的简单路径;
第二确定子模块,用于基于所述简单路径列表中的各个简单路径上的节点配置的节点信息以及有向边配置的边信息,确定各个简单路径的运行时长;
第一预测子模块,用于基于各个简单路径的运行时长,预测所述目标微服务工作流的运行时长。
一种可选的实施方式中,所述装置还包括:
第二提取模块,用于从所述历史日志数据中提取所述目标微服务工作流中的所述第一组件和所述第二组件分别对应的用户请求量;
第二确定模块,用于根据所述第一组件和所述第二组件分别对应的用户请求量,确定所述第一组件远程调用所述第二组件的调用发生概率;
存储模块,用于将所述调用发生概率存储为所述时间依赖有向无环图中与所述第一组件远程调用所述第二组件对应的有向边的边信息;
相应的,所述第一预测子模块,包括:
第三确定子模块,用于基于所述简单路径列表中的各个简单路径的运行时长以及所述简单路径上的有向边配置的边信息中的调用发生概率,确定各个简单路径成为关键路径的概率;其中,所述关键路径为所述简单路径列表中运行时长最长的简单路径;
第二预测子模块,用于基于各个简单路径成为关键路径的概率以及各个简单路径的运行时长,预测所述目标微服务工作流的运行时长。
一种可选的实施方式中,所述第三确定子模块,包括:
第四确定子模块,用于基于所述简单路径上的各个有向边配置的调用信息,确定所述简单路径的存在概率;
第五确定子模块,用于基于所述简单路径列表中各个简单路径的存在概率和运行时长,确定各个简单路径成为关键路径的概率。
一种可选的实施方式中,所述第五确定子模块,包括:
第六确定子模块,用于将所述简单路径列表中运行时长大于第一简单路径的简单路径,确定为所述第一简单路径对应的关键影响路径;
第七确定子模块,用于将所述关键影响路径的不存在概率和所述第一简单路径的存在概率的乘积,确定为所述第一简单路径成为关键路径的概率;其中,所述关键影响路径的不存在概率为基于所述关键影响路径的存在概率确定。
一种可选的实施方式中,所述第二预测子模块,具体用于:
将各个简单路径成为关键路径的概率与所述简单路径的运行时长的乘积进行累加之和,确定为所述目标微服务工作流的运行时长。
一种可选的实施方式中,所述第一预测子模块,具体用于:
将所述简单路径列表中的各个简单路径的运行时长中最长的运行时长,确定为所述目标微服务工作流的运行时长。
本公开实施例提供的微服务工作流运行时长预测装置中,首先,获取目标微服务工作流对应的历史日志数据,然后,从历史日志数据中提取目标微服务工作流调用的第一组件的第一运行起止时间,以及在目标微服务工作流中第一组件远程调用第二组件的第二运行起止时间,根据第一运行起止时间确定第一组件对应的组件运行时长,并根据第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长。进而,根据目标微服务工作流中组件调用关系和组件运行时长以及网络传输时长,构建目标微服务工作流对应的时间依赖有向无环图,以便基于时间依赖有向无环图中配置的节点信息以及边信息,预测目标微服务工作流的运行时长。可见,本公开实施例基于能够形式化表示目标微服务工作流中的各个组件之间的时间依赖关系的时间依赖有向无环图,综合考虑各个组件自身的组件运行时长以及组件之间远程调用过程中的网络传输时长,更准确的预测出目标微服务工作流的运行时长。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的微服务工作流运行时长预测方法。
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开实施例所述的微服务工作流运行时长预测方法。
另外,本公开实施例还提供了一种微服务工作流运行时长预测设备,参见图7所示,可以包括:
处理器701、存储器702、输入装置703和输出装置704。微服务工作流运行时长预测设备中的处理器701的数量可以一个或多个,图7中以一个处理器为例。在本公开的一些实施例中,处理器701、存储器702、输入装置703和输出装置704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行微服务工作流运行时长预测设备的各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置703可用于接收输入的数字或字符信息,以及产生与微服务工作流运行时长预测设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现上述微服务工作流运行时长预测设备的各种功能。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种微服务工作流运行时长预测方法,其特征在于,所述方法包括:
获取目标微服务工作流对应的历史日志数据;
从所述历史日志数据中提取所述目标微服务工作流调用的第一组件的第一运行起止时间,以及在所述目标微服务工作流中所述第一组件远程调用第二组件的第二运行起止时间,以及所述目标微服务工作流中的所述第一组件和所述第二组件分别对应的用户请求量;
根据所述第一运行起止时间确定所述第一组件对应的组件运行时长,并根据所述第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长,以及根据所述第一组件和所述第二组件分别对应的用户请求量确定所述第一组件远程调用所述第二组件的调用发生概率;
根据所述目标微服务工作流中组件调用关系和所述组件运行时长以及所述网络传输时长和所述调用发生概率,构建所述目标微服务工作流对应的时间依赖有向无环图;其中,所述时间依赖有向无环图中包括多个节点以及用于链接节点的有向边,所述节点用于标识所述目标微服务工作流调用的组件,所述节点配置有包括所述组件运行时长的节点信息,所述有向边用于标识所述目标微服务工作流中的组件间的执行时间依赖关系,所述有向边配置有包括所述网络传输时长和所述调用发生概率的边信息;
基于所述时间依赖有向无环图中配置的节点信息以及边信息,预测所述目标微服务工作流的运行时长。
2.根据权利要求1所述的方法,其特征在于,所述基于所述时间依赖有向无环图中配置的节点信息以及边信息,预测所述目标微服务工作流的运行时长,包括:
基于所述目标微服务工作流的时间依赖有向无环图,确定简单路径列表;其中,所述简单路径列表中包括所述时间依赖有向无环图中由开始节点到结束节点的简单路径;
基于所述简单路径列表中的各个简单路径上的节点配置的节点信息以及有向边配置的边信息,确定各个简单路径的运行时长;
基于各个简单路径的运行时长,预测所述目标微服务工作流的运行时长。
3.根据权利要求2所述的方法,其特征在于,所述基于各个简单路径的运行时长,预测所述目标微服务工作流的运行时长之前,还包括:
从所述历史日志数据中提取所述目标微服务工作流中的所述第一组件和所述第二组件分别对应的用户请求量;
根据所述第一组件和所述第二组件分别对应的用户请求量,确定所述第一组件远程调用所述第二组件的调用发生概率;
将所述调用发生概率存储为所述时间依赖有向无环图中与所述第一组件远程调用所述第二组件对应的有向边的边信息;
相应的,所述基于各个简单路径的运行时长,预测所述目标微服务工作流的运行时长,包括:
基于所述简单路径列表中的各个简单路径的运行时长以及所述简单路径上的有向边配置的边信息中的调用发生概率,确定各个简单路径成为关键路径的概率;其中,所述关键路径为所述简单路径列表中运行时长最长的简单路径;
基于各个简单路径成为关键路径的概率以及各个简单路径的运行时长,预测所述目标微服务工作流的运行时长。
4.根据权利要求3所述的方法,其特征在于,所述基于所述简单路径列表中的各个简单路径的运行时长以及所述简单路径上的有向边配置的调用信息,确定各个简单路径成为关键路径的概率,包括:
基于所述简单路径上的各个有向边配置的调用信息,确定所述简单路径的存在概率;
基于所述简单路径列表中各个简单路径的存在概率和运行时长,确定各个简单路径成为关键路径的概率。
5.根据权利要求4所述的方法,其特征在于,所述基于所述简单路径列表中各个简单路径的存在概率和运行时长,确定各个简单路径成为关键路径的概率,包括:
将所述简单路径列表中运行时长大于第一简单路径的简单路径,确定为所述第一简单路径对应的关键影响路径;
将所述关键影响路径的不存在概率和所述第一简单路径的存在概率的乘积,确定为所述第一简单路径成为关键路径的概率;其中,所述关键影响路径的不存在概率为基于所述关键影响路径的存在概率确定。
6.根据权利要求3-5中任一项所述的方法,其特征在于,所述基于各个简单路径成为关键路径的概率以及各个简单路径的运行时长,预测所述目标微服务工作流的运行时长,包括:
将各个简单路径成为关键路径的概率与所述简单路径的运行时长的乘积进行累加之和,确定为所述目标微服务工作流的运行时长。
7.根据权利要求2所述的方法,其特征在于,所述基于各个简单路径的运行时长,预测所述目标微服务工作流的运行时长,包括:
将所述简单路径列表中的各个简单路径的运行时长中最长的运行时长,确定为所述目标微服务工作流的运行时长。
8.一种微服务工作流运行时长预测装置,其特征在于,所述装置包括:
获取模块,用于获取目标微服务工作流对应的历史日志数据;
第一提取模块,用于从所述历史日志数据中提取所述目标微服务工作流调用的第一组件的第一运行起止时间,以及在所述目标微服务工作流中所述第一组件远程调用第二组件的第二运行起止时间,以及所述目标微服务工作流中的所述第一组件和所述第二组件分别对应的用户请求量;
第一确定模块,用于根据所述第一运行起止时间确定所述第一组件对应的组件运行时长,并根据所述第二运行起止时间确定第一组件调用第二组件所耗费的网络传输时长,以及根据所述第一组件和所述第二组件分别对应的用户请求量确定所述第一组件远程调用所述第二组件的调用发生概率;
构建模块,用于根据所述目标微服务工作流中组件调用关系和所述组件运行时长以及所述网络传输时长和所述调用发生概率,构建所述目标微服务工作流对应的时间依赖有向无环图;其中,所述时间依赖有向无环图中包括多个节点以及用于链接节点的有向边,所述节点用于标识所述目标微服务工作流调用的组件,所述节点配置有包括所述组件运行时长的节点信息,所述有向边用于标识所述目标微服务工作流中的组件间的执行时间依赖关系,所述有向边配置有包括所述网络传输时长和所述调用发生概率的边信息;
预测模块,用于基于所述时间依赖有向无环图中配置的节点信息以及边信息,预测所述目标微服务工作流的运行时长。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现如权利要求1-7任一项所述的方法。
10.一种设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436830.5A CN114064439B (zh) | 2021-11-29 | 2021-11-29 | 微服务工作流运行时长预测方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436830.5A CN114064439B (zh) | 2021-11-29 | 2021-11-29 | 微服务工作流运行时长预测方法、装置、设备以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114064439A CN114064439A (zh) | 2022-02-18 |
CN114064439B true CN114064439B (zh) | 2024-01-30 |
Family
ID=80277108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111436830.5A Active CN114064439B (zh) | 2021-11-29 | 2021-11-29 | 微服务工作流运行时长预测方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064439B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118055004A (zh) * | 2022-08-03 | 2024-05-17 | 浙江网商银行股份有限公司 | 目标节点确定方法以及装置 |
WO2024072430A1 (en) * | 2022-09-30 | 2024-04-04 | Jpmorgan Chase Bank, N.A. | Method, system and computer readable medium for the automated reconstruction of an application |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10511690B1 (en) * | 2018-02-20 | 2019-12-17 | Intuit, Inc. | Method and apparatus for predicting experience degradation events in microservice-based applications |
CN111522661A (zh) * | 2020-04-22 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 一种微服务管理系统、部署方法及相关设备 |
CN111950988A (zh) * | 2020-08-18 | 2020-11-17 | 北京字节跳动网络技术有限公司 | 分布式工作流调度方法、装置、存储介质及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10911332B2 (en) * | 2018-12-17 | 2021-02-02 | Cisco Technology, Inc. | Time sensitive networking in a microservice environment |
US11288091B2 (en) * | 2019-12-03 | 2022-03-29 | Sap Se | Dynamic orchestration in a mircroservice architecture |
-
2021
- 2021-11-29 CN CN202111436830.5A patent/CN114064439B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10511690B1 (en) * | 2018-02-20 | 2019-12-17 | Intuit, Inc. | Method and apparatus for predicting experience degradation events in microservice-based applications |
CN111522661A (zh) * | 2020-04-22 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 一种微服务管理系统、部署方法及相关设备 |
CN111950988A (zh) * | 2020-08-18 | 2020-11-17 | 北京字节跳动网络技术有限公司 | 分布式工作流调度方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114064439A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114064439B (zh) | 微服务工作流运行时长预测方法、装置、设备以及介质 | |
CN108304201B (zh) | 对象更新方法、装置及设备 | |
Balsamo et al. | A review on queueing network models with finite capacity queues for software architectures performance prediction | |
CN110738389A (zh) | 工作流处理方法、装置、计算机设备和存储介质 | |
CN102521056A (zh) | 任务分配装置和任务分配方法 | |
Ghamarian et al. | Parametric throughput analysis of synchronous data flow graphs | |
CN111666113A (zh) | 一种应用程序启动管理方法、装置、电子设备及存储介质 | |
César et al. | Modeling master/worker applications for automatic performance tuning | |
CN114168305A (zh) | 一种任务调度方法、装置、设备及存储介质 | |
Davis et al. | Exact comparison of fixed priority and EDF scheduling based on speedup factors for both pre-emptive and non-pre-emptive paradigms | |
CN111124644B (zh) | 任务调度资源的确定方法、装置及系统 | |
CN111988429A (zh) | 算法调度方法以及系统 | |
Zhu et al. | Fluid approximation of closed queueing networks with discriminatory processor sharing | |
Spinner et al. | A reference architecture for online performance model extraction in virtualized environments | |
CN105550028A (zh) | 一种基于缓存锁的多任务时序执行方法及系统 | |
CN113282403A (zh) | 一种智能服务动态适配演化方法 | |
Pleszkoch et al. | Function-theoretic principles of program understanding | |
Vulgarakis et al. | Embedded systems resources: Views on modeling and analysis | |
Emeretlis et al. | A hybrid ILP-CP model for mapping directed acyclic task graphs to multicore architectures | |
Jin et al. | Performance under failures of DAG-based parallel computing | |
Mirandola et al. | Business process adaptability metrics for QoS-based service compositions | |
Balogh et al. | Knowledge-based runtime prediction of stateful web services for optimal workflow construction | |
Yépez et al. | Ciclic: A tool to generate feasible cyclic schedules | |
CN117369960A (zh) | 一种任务调度方法、装置、存储介质及电子设备 | |
Roman | Building Service Composition based on Statistics of the Services Use |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220701 Address after: 100190 1309, 13th floor, building 4, Zijin Digital Park, Haidian District, Beijing Applicant after: Beijing volcano Engine Technology Co.,Ltd. Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing. Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |