CN104679763A - 用于加速工作流的执行的装置和方法 - Google Patents
用于加速工作流的执行的装置和方法 Download PDFInfo
- Publication number
- CN104679763A CN104679763A CN201310625095.1A CN201310625095A CN104679763A CN 104679763 A CN104679763 A CN 104679763A CN 201310625095 A CN201310625095 A CN 201310625095A CN 104679763 A CN104679763 A CN 104679763A
- Authority
- CN
- China
- Prior art keywords
- network service
- data
- input data
- execution
- workflow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种用于加速由至少一个网络服务构成的工作流的执行的装置和方法。该用于加速工作流的执行的装置包括:网络服务模式划分单元,用于根据网络服务的输入数据和输出数据的数量关系,将所述网络服务划分为特定网络服务模式;以及调度单元,用于调度所述网络服务,以便根据与被调度的网络服务相应的网络服务模式执行操作。根据本公开的用于加速工作流的执行的装置和方法至少能够更高效地执行对网络服务执行的加速。
Description
技术领域
本发明涉及私有云的工作流执行,尤其涉及一种用于加速工作流的执行的装置、方法和电子设备。
背景技术
私有云作为一种云计算架构可以为各个企业提供独立的操作空间。这种架构方式比传统的IT环境花费少,而与公有云相比,它又更安全。因此,很多企业喜欢拥有自己的私有云,并且将内部的应用服务部署在私有云中。这些应用服务是部署在私有云的虚拟机上的,可以整合后构成一个工作流。大多数的工作流都是数据密集型的,计算时非常耗时。所以对于企业来说,如何加快私有云中的工作流的执行速度是非常有必要的。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
鉴于现有技术的上述缺陷,本发明的目的之一是提供一种用于加速工作流的执行的装置、方法和电子设备,以至少克服现有的问题。
根据本公开的一个方面,提供一种用于加速工作流的执行的装置,所述工作流由至少一个网络服务构成,所述装置包括:网络服务模式划分单元,用于根据网络服务的输入数据和输出数据的数量关系,将所述网络服务划分为特定网络服务模式;以及调度单元,用于调度所述网络服务,以便根据与被调度的网络服务相应的网络服务模式执行操作。
根据本公开的另一方面,提供一种用于加速工作流的执行的方法,所述工作流由至少一个网络服务构成,所述方法包括:根据所述网络服务的输入数据和输出数据的数量关系,将所述网络服务划分为特定网络服务模式;以及调度所述网络服务,以便根据与被调度的网络服务相应的网络服务模式执行操作。
根据本公开的另一个方面,还提供了一种电子设备,该电子设备包括如上所述的用于加速工作流的执行的装置。
依据本公开的其它方面,还提供了一种使得计算机用作如上所述的用于加速工作流的执行的装置的程序。
依据本公开的又一方面,还提供了相应的计算机可读存储介质,该计算机可读存储介质上存储有能够由计算设备执行的计算机程序,该计算机程序在执行时能够使计算设备执行上述信息处理方法。
上述根据本公开实施例的用于加速工作流的执行的装置和方法,至少能够获得以下益处之一:能够更高效地执行对网络服务执行的加速;能够更准确的找到有必要被加速的网络服务;能够动态地加速网络服务的执行。
通过以下结合附图对本公开的最佳实施例的详细说明,本公开的这些以及其他优点将更加明显。
附图说明
本公开可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。其中:
图1是示意性地示出根据本公开实施例的用于加速工作流的执行的装置的一种示例结构的框图。
图2是示出采用Map-Reduce操作的工作流的结构的示意图。
图3是示意性地示出图1中的调度单元的一种可能的示例结构的框图。
图4是示意性地示出图1中的调度单元的另一种可能的示例结构的框图。
图5是示意性地示出根据本公开实施例的用于加速工作流的执行的装置的另一种示例结构的框图。
图6是示意性地示出根据本公开实施例的确定单元20的另一种示例结构的框图。
图7a和图7b分别示出了用于表示工作流的有向图和梯度图。
图7c和图7d分别示出了以顺序部分树结构表示的工作流的各个网络服务以及各个网络服务的执行历史。
图8是示意性地示出根据本公开实施例的用于加速工作流的执行的装置的另一种示例结构的框图。
图9是示意性示出根据本公开实施例的用于加速工作流的执行的方法的流程图。
图10是示出了可用来实现根据本公开实施例的异常信息确定装置和方法的一种可能的信息处理设备的硬件配置的结构简图。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
图1是示意性地示出根据本公开实施例的用于加速工作流的执行的装置的一种示例结构的框图。
根据本公开实施例的用于加速工作流的执行的装置用于加速由至少一个网络服务构成的工作流的执行。如图1所示,用于加速工作流的执行的装置1包括:网络服务模式划分单元10,用于根据网络服务的输入数据和输出数据之间的数量关系,将至少一个网络服务划分为特定网络服务模式;调度单元20,用于调度网络服务,以便根据与被调度的网络服务相应的网络服务模式执行操作。
本公开引入了4种模式来区分网络服务。根据本公开的实施例,特定网络服务模式包括:对于每个输入数据产生一个输出数据的1:1网络服务模式;对于一个输入数据产生N个输出数据的1:N网络服务模式;对于N个输入数据产生M个输出数据的N:M网络服务模式;以及对于N个输入数据产生一个输出数据的N:1网络服务模式;其中,N和M都是大于1的整数。
例如,针对所有输入数据进行求和操作的网络服务是针对多个输入数据产生一个输入数据的N:1网络服务模式;针对多个输入数据中的每个输入数据乘以特定系数的操作的网络服务可以认为是针对多个输入数据产生多个输出数据的N:M网络服务模式。
根据本公开的一个实施例,网络服务模式划分单元10根据网络服务的输入数据和输出数据的数量关系,将工作流中包括的每个网络服务划分为例如上述1:1网络服务模式、1:N网络服务模式、N:M网络服务模式以及N:1网络服务模式之一。
如图1所示,在网络服务模式划分单元10根据网络服务的输入数据和输出数据的数量关系,将工作流中包括的各个网络服务划分为特定网络服务模式之后,调度单元20基于与各个网络服务相对应的网络服务模式,对各个网络服务进行调度。
针对不同的网络服务模式,调度单元20采取不同的调度策略对网络服务进行调度。根据本公开的实施例,可以采用的调度策略包括:针对网络服务进行Map-Reduce(映射-化简)级别的克隆以及扩展网络服务实例所占用的内存。
具体地,根据本公开的一个实施例,调度单元20配置为执行以下操作(i)至(iii)中至少之一:
(i)对于N:M网络服务模式的网络服务,利用Map操作将该网络服务的输入数据虚拟分割为若干部分,并将该网络服务的实例克隆为多份,分发到不同的虚拟机上并行执行;
(ii)对于N:1网络服务模式的网络服务,利用Map操作将该网络服务的输入数据虚拟分割为若干部分,并将该网络服务的实例克隆为多份,分发到不同的虚拟机上并行执行,然后利用执行Reduce操作的克隆的网络服务将在Map操作中产生的中间文件进行汇总;以及
(iii)对于1:1网络服务模式和1:N网络服务模式的网络服务,扩大网络服务实例所占用的内存的大小。
更具体地,针对N:M网络服务模式,假设该网络服务模式的输入格式是多个输入数据,并且各个输入数据可以分开进行处理(例如对每个输入数据执行乘以特定系数的操作的网络服务),而网络服务每次只处理一个输入数据。在此情况下,调度单元20利用Map操作将该网络服务的多个输入数据虚拟分割为若干份(从而包括多个输入数据部分),将网络服务的实例克隆为多份,并将虚拟分割后的输入数据和克隆的网络服务实例分发到不同的虚拟机上并行执行,以在虚拟机上对分发的输入数据部分并行执行克隆的网络服务的实例。也就是说,由于N:M网络服务模式的网络服务的输出是多个数据,因此针对N:M网络服务模式,调度单元20被配置为执行Map操作,包括调度克隆后的网络服务的实例在虚拟机上并行执行。
在私有云中,为了抵御数据灾难,数据通常备份3份,因此根据本公开的实施例,将网络服务的示例例如也克隆为3份。但是本发明不限于此,例如也可以根据输入数据的虚拟分割而将网络服务的实例克隆为2份或者4份以上。
针对N:1网络服务模式,调度单元20除了与N:M网络服务模式下类似地进行利用Map操作将该网络服务的输入数据虚拟分割为若干部分并将该网络服务的实例克隆为多份、分发到不同的虚拟机上并行执行的操作之外,调度单元20还被配置为利用执行Reduce操作的克隆的网络服务将在Map操作中产生的中间文件进行汇总。也就是说,针对N:1网络服务模式,调度单元20被配置为执行Map和Reduce两个阶段的操作,包括调度克隆后的网络服务的实例在虚拟机上并行执行(Map阶段)以及调度一个克隆后的网络服务实例用于将在Map阶段产生的多个输出数据汇总为一个输出数据(Reduce阶段)。
针对1:1网络服务模式和N:1网络服务模式,由于其输入数据不能再次分割,因此为了加速这两种网络服务模式的网络服务的执行,调度单元20通过扩大网络服务实例所占用的内存的大小来加速该网络服务的执行。
图2是示出采用Map-Reduce操作的工作流的结构的示意图。如图2所示,网络服务w2是针对多个输入数据产生多个输出数据,因此网络模式划分单元10可以将网络服务w2划分为N:M网络服务模式;网络服务w5是针对多个输入数据产生1个输出数据,因此网络模式划分单元10可以将网络服务w5划分为N:1网络服务模式;网络服务w3是针对每个输入数据产生多个输出数据,因此网络模式划分单元10可以将网络服务w3划分为1:N网络服务模式;网络服务w4、w6和w7是针对每个输入数据产生一个输出数据,因此网络模式划分单元10可以将网络服务w4、w6和w7划分为1:1网络服务模式。
针对N:M网络服务模式的网络服务w2,调度单元20利用Map操作将该网络服务W2的输入数据虚拟分割为三部分,并将该网络服务W2的实例克隆w21、w22以及w23三份,分发到不同的虚拟机上并行执行,以获得输出数据。针对N:1网络服务模式的网络服务w5,在利用Map操作将该网络服务w5的输入数据虚拟分割三部分并将该网络服务w5的实例克隆w51、w52以及w53三份分发到不同的虚拟机上并行执行之后,调度单元20还利用执行Reduce操作的克隆的网络服务,将Map操作下通过调度克隆的网络服务w5进行执行而产生的结果进行汇总。
图3是示意性地示出图1中的调度单元的一种可能的示例结构的框图。
如图3所示,调度单元20包括:数据存储子单元201,用于存储利用Map操作虚拟分割网络服务的输入数据而形成的数据信息,以供并行执行该网络服务的各部分的不同虚拟机使用;以及调度子单元202,用于调度克隆的网络服务实例,并为它们分发输入数据,以在不同虚拟机上并行执行,并收集执行后的数据存储到所述数据存储子单元中。
根据本公开的一个实施例,数据存储子单元201存储针对N:M网络服务模式和N:1网络服务模式下的网络服务执行的、对网络服务的输入数据进行虚拟分割而形成的数据信息,以在调度克隆的网络服务进行执行时由不同的虚拟机使用。也就是说,数据存储子单元201存储将网络服务的输入数据进行虚拟分割而形成的数据信息,作为执行克隆的网络服务的输入数据。
根据本公开的优选实施例,数据存储子单元201还被配置为用于定位克隆的网络服务的输入数据,其存储的数据信息由表示克隆的网络服务的标识、表示克隆的网络服务的数据来源的标识、文件记录的开始索引、由克隆的网络服务处理的文件记录的长度构成的四元组表示。
根据本公开,数据存储子单元201存储的数据信息可以表示为<TW,FW,start,len>,其中,TW表示克隆的网络服务的实例,FW用于标识为TW提供数据的网络服务,start为数据的起始值,len表示TW这个网络服务要处理的数据长度。
因此,在执行中,克隆的网络服务的实例可以从数据存储子单元中找寻输入数据。一个网络服务可能会有多个输入数据。下面以图2中的网络服务w5为例,对数据存储子单元201存储的数据信息的格式进行详细描述。参见图2,与网络服务w5对应的4元组例如可以表示为:
Map阶段:<w51,w21,0,m1>、<w52,w22,0,m2>、<w53,w23,0,m3>,其中m1、m2和m3分别对应w21、w22和w23的输出数据的长度;
Reduce阶段:<w5,w51,0,n1>、<w5,w52,0,n2>、<w5,w53,0,n3>,其中n1、n2和n3分别代表w51、w52和w53的输出数据的长度。
然后,调度子单元202调度克隆的网络实例,并基于分发到不同虚拟机上的输入数据部分,在不同的虚拟机上并行执行克隆的网络服务实例。此外,调度子单元202还收集在不同的虚拟机上并行执行克隆的网络服务实例所得的数据,并且将收集到的数据存储在数据存储子单元201中。
图4是示意性地示出图1中的调度单元的另一种可能的示例结构的框图。
如图4所示,除了与图3的调度单元20类似地包括数据存储子单元201和调度子单元202之外,调度单元20还包括:收集子单元203,用于收集Map操作中并行执行该网络服务的各部分的不同虚拟机的执行结果作为中间文件,并将该中间文件作为执行Reduce操作的数据信息存储到数据存储子单元201中,以便于执行Reduce操作的克隆的网络服务进行查找;以及汇总子单元204,用于对执行Reduce操作的克隆的网络服务的实例执行进行调度以执行Reduce操作,并获得执行Reduce操作后所得的结果。
根据本公开的一个实施例,针对与N:1网络服务模式对应的网络服务,收集子单元203用于收集在该网络服务的Map操作中、在不同虚拟机上并行执行克隆的网络服务的执行结果作为中间文件,并将中间文件存储在数据存储子单元201中,以便于执行Reduce操作的克隆的网络服务进行查找,作为用于执行Reduce操作的输入数据。
针对与N:1网络服务模式对应的网络服务,在收集子单元203获得了中间文件并将中间文件存储在数据存储子单元201之后,汇总子单元204对执行Reduce操作的克隆的网络服务的实例执行进行调度以执行Reduce操作,并获得执行Reduce操作后所得的数据作为该网络服务的输出。
关于Map-Reduce(映射-化简)的操作是本领域公知的,在此不再进行详细说明。
以上描述了根据网络服务的输入输出数据的数量关系确定网络服务的网络服务模式,并根据不同的网络服务模式,对网络服务采用不同的调度策略。
对于包括至少一个网络服务的工作流,如果对工作流中包括的所有网络服务都执行上述调度策略可能是不必要的,例如,工作流中的有些网络服务的输入输出的数据量不是很大,因此相对于具有大数据量的输入输出的网络服务而言可能不必需进行加速。基于此,本发明提出一种用于加速工作流的执行的装置,用于在为网络服务确定调度策略之前,首先确定具有大数据量的输入输出的网络服务(即最有必要被加速的网络服务)作为网络服务候选,从而根据这些网络服务候选的网络服务模式执行上述不同的调度策略。
图5是示意性地示出根据本公开实施例的用于加速工作流的执行的装置的另一种示例结构的框图。
如图5所示,除了与图1的用于加速工作流的执行的装置1类似地包括网络服务模式划分单元10和调度单元20之外,根据本公开实施例的用于加速工作流的执行的装置2还包括:候选网络服务确定单元30,用于在工作流所包括的至少一个网络服务中确定至少一个候选网络服务,以便由所述网络服务模式划分单元将所述候选网络服务划分为特定网络服务模式,并且通过所述调度单元调度所述网络服务,以根据与被调度的网络服务相应的网络服务模式执行操作。
图6是示意性地示出图5中的候选网络服务确定单元30的另一种可能的示例结构的框图。
如图6所示,候选网络服务确定单元30包括:转换子单元301,用于利用深度优先进行遍历的方法将所述包括至少一个网络服务的工作流的有向图转换为表示哪些网络服务为顺序执行而哪些网络服务为并行执行的梯度图;树建立子单元302,用于利用梯度图建立相应的顺序部分树,其中,所述顺序部分树的每个节点表示可顺序执行的工作流的顺序部分,所述顺序部分为单个网络服务或者若干网络服务的结合;以及候选网络服务确定子单元303,用于基于所述顺序部分树,结合所述顺序部分的执行历史将耗时超过预定阈值的网络服务确定为候选网络服务。
至少一个网络服务构成的工作流的组合方式可以看做一个有向图。根据本公开的实施例,转换子单元301利用深度优先进行遍历的方法,将所述包括至少一个网络服务的工作流的有向图转换为表示哪些网络服务为顺序执行而哪些网络服务为并行执行的梯度图。
图7a和图7b分别示出了表示工作流的有向图和梯度图。如图7a所示,有向图的顶点表示网络服务,有向图的边表示网络服务之间的数据流动。如图所示,有向图表示的工作流由网络服务w1-w8构成。采用深度优先的遍历策略,转换子单元301可以将包括至少一个网络服务的工作流的有向图转换成梯度图。从梯度图中可以看出哪些网络服务可以顺序执行,而哪些网络服务可以并行执行。图7b示出了由图7a中表示工作流的有向图转换成的梯度图。从图7b示出的梯度图中可以看出,网络服务w4、w6以及w7可以顺序执行,w2及w3可以并行执行;{w4,w6,w7}的网络服务集合可以与网络服务集合{w2,w3w5}一起并行执行。
在通过转换子单元获得了梯度图之后,树建立子单元302利用梯度图建立相应的顺序部分树,其中,所述顺序部分树的每个节点表示可顺序执行的工作流的顺序部分。根据本公开,顺序部分定义为表示工作中可以顺序执行的部分。根据本公开的实施例,顺序部分可以是单个网络服务或者若干网络服务集合。
仍以图7b示出的工作流的梯度图为例,如图所示,可以抽取梯度图中的顺序部分(即可以工作流中可以顺序执行的部分),并将它们表示成树结构。如图7b所示,网络服务w1、w8以及由网络服务w2-w7组成的网络服务集合可以看作是由网络服务w1-w8构成的工作流的三个顺序执行部分;对于由网络服务{w2-w7}组成的网络服务集合,由于w4、w6、w7为顺序执行部分,{w2,w3}、w5为顺序执行部分(由于w2和w3分别都与w5构成顺序执行,因此可以将{w2,w3}的整体与w5看做顺序执行部分),因此{w4,w6,w7}和{w2,w3,w5}的网络服务集合看作是包括两个顺序执行部分;类似地,对于网络服务集合{w4,w6,w7}包括三个顺序执行部分w4、w6和w7;对于网络服务集合{w2,w3,w5}包括两个顺序执行部分{w2,w3}和{w5}。据此,将图7b的梯度图表示为如图7c所示的顺序部分树。如图7c所示,顺序部分树的叶节点对应于单个网络服务。
在树建立子单元302为工作流建立了顺序部分树之后,候选网络服务确定子单元303基于所述顺序部分树,结合所述顺序部分的执行历史将耗时超过预定阈值的网络服务确定为候选网络服务。
更具体地,候选网络服务确定子单元303例如可以基于顺序部分树,从根节点开始寻找下一层中耗时超过预定阈值的单个网络服务作为候选网络服务,并且以该层中的网络服务集合为根节点再向下寻找下一层中超过预定阈值的单个网络服务作为候选网络服务,直到针对所有的网络服务都进行了上述查找为止。
根据本公开的另一实施例,也可以基于顺序部分树,从根节点开始寻找下一层中最耗时的单个网络服务作为候选网络服务,并且以该层中的网络服务集合为根节点再向下寻找下一层中最耗时的单个网络服务作为候选网络服务,直到针对所有的网络服务都进行了上述查找为止。
图7d示出了以顺序部分树结构表示的各个网络服务的执行历史,图7d中的每个节点的数字表示根据执行历史获得的该节点的耗时。如图7d所示,候选网络服务确定子单元303基于顺序部分树结合所述顺序部分的执行历史将每一层最耗时的网络服务w2、w5、w6和w8确定为候选网络服务。
在通过候选网络服务确定单元30确定了至少一个候选网络服务,网络服务模式划分单元10可以针对每个候选网络服务执行根据候选网络服务的输入数据和输出数据之间的数量关系确定网络服务模式的操作,并且调度单元20根据网络服务模式划分单元10确定的网络服务模式确定每个候选网络服务的调度策略。
此外,在网络服务的执行过程中,期望为每个网络服务都分配尽可能多的CPU,但是,物理机的CPU是有限的,所以最高的CPU最高不会超过物理机CPU的平均值。然而,在各个网络服务的执行过程中,CPU的利用率并不是一直很高,例如在某一时段,某些网络服务实例的CPU利用率可能较低(例如,10%左右),而某些网络服务实例的CPU利用率可能已经达到100%了,但它仍然需要更多,因此,本发明人想到采取动态调度策略以调整用于各个网络服务的CPU的个数,从而加速CPU利用率较高的网络服务的执行。
根据本公开,用于加速CPU利用率的动态调度策略可以在执行了根据网络服务模式对网络服务进行调度之后执行,以进一步加速网络服务的执行。
图8是示意性地示出根据本公开实施例的用于加速工作流的执行的装置的另一种示例结构的框图。
如图8所示,除了与图1的用于加速工作流的执行的装置1类似地包括网络服务模式划分单元10和调度单元20之外,根据本公开实施例的用于加速工作流的执行的装置3还包括:监测单元40,用于使用滑动时间窗口来监测至少一个网络服务的CPU的平均利用率;以及CPU调整单元50,用于根据监测单元40监测的CPU的平均利用率来增加或释放网络服务的CPU。
根据本公开,在网络服务的执行过程中,监测单元40利用滑动时间窗口监测网络服务的CPU的平均利用率。设滑动时间窗口的长度为T,监测单元可以监测在滑动时间窗口的长度T内的网络服务的CPU利用率。例如可以对滑动时间窗口的长度T内的CPU利用率进行采样(例如可以采样m个CPU利用率的值),并根据采样结果获得CPU的平均利用率(例如采样的m个CPU的利用率值的平均值)。
针对某个网络服务实例,CPU调整单元50根据监测单元40监测的CPU的平均利用率来增加或释放网络服务的CPU。根据本公开的实施例,如果在指定的滑动时间窗口,CPU的平均利用率大于为所述被监测网络服务设定的最大值,则CPU调整单元50为该网络服务申请更多的CPU,其中,申请的CPU的个数最多不超过当前使用的CPU个数的0.25倍或物理机上所剩余的CPU个数;如果CPU的平均利用率小于为所述被监测网络服务设定的最小值,则CPU调整单元50使得释放至少一个占用的CPU,其中,释放的CPU个数为当前使用的CPU个数的0.25倍。
将增加或释放网络服务的CPU的个数设置为当前使用的CPU个数的0.25倍仅是示例,本领域技术人员可以理解,还可以根据实际需要将增加或释放网络服务的CPU的个数设置为其它数值。
在重新分配了CPU之后,滑动时间窗口向后滑动,监测单元40获得一个新的CPU利用率采样,从而获得新的CPU平均利用率。CPU调整单元50根据监测单元40监测的新的CPU平均利用率来增加或释放该网络服务的CPU。重复操作,直到该网络服务的执行结束。
根据本公开的一个实施例,还提供了一种用于加速由至少一个网络服务构成的工作流的执行的方法,下面结合图9来描述用于加速工作流的执行的方法的一种示例性处理。
如图9所示,根据本公开的实施例的于加速工作流的执行的方法的处理流程900开始于S910,然后执行S920的处理。
在S920中,根据所述网络服务的输入数据和输出数据的数量关系,将网络服务划分为特定网络服务模式。根据本公开的实施例,特定网络服务模式包括:对于每个输入数据产生一个输出数据的1:1网络服务模式;对于每个输入数据产生N个输出数据的1:N网络服务模式;对于N个输入数据产生M个输出数据的N:M网络服务模式;对于N个输入数据产生一个输出数据的N:1网络服务模式;其中,N和M都是大于1的整数。步骤S920可以例如参照图1描述的网络服务模式划分单元10的处理来实现,在此省略对其的详细描述。然后进行步骤S930。
在S930中,调度网络服务,以便根据与被调度的网络服务相应的网络服务模式执行操作。根据本公开的是一个实施例,在步骤S930,例如可以执行以下操作至少之一:
对于N:M网络服务模式的网络服务,利用Map操作将该网络服务的输入数据虚拟分割为若干部分,并将该网络服务的实例克隆为多份,分发到不同的虚拟机上并行执行;
对于N:1网络服务模式的网络服务,利用Map操作将该网络服务的输入数据虚拟分割为若干部分,并将该网络服务的实例克隆为多份,分发到不同的虚拟机上并行执行,然后利用执行Reduce操作的克隆的网络服务将在Map操作中产生的中间文件进行汇总;以及
对于1:1网络服务模式和1:N网络服务模式的网络服务,扩大网络服务实例所占用的内存的大小。
步骤S930可以例如参照图1-4描述的调度单元20的处理来实现,在此省略对其的详细描述。然后执行S940。
处理流程900结束于S940。
与现有技术中相比,根据本公开的用于加速工作流的执行的装置和方法具有至少以下一个优点:
(1)对于输入、输出为大数据量的网络服务,根据网络服务的网络服务模式确定调度方案:对于N:1和N:N模式的网络服务,采用map-reduce两个阶段的实例克隆方案进行加速,对于1:1及1:N模式的网络服务,则采用扩大内存的方法,从而更高效地执行对网络服务执行的加速。
(2)采用深度优先的调度方法遍历工作流,得到一个梯度图的表示,之后利用梯度图的顺序部件的执行历史,挖掘出最有必要加速的网络服务。与将单独考虑每个网络服务的执行历史,能够更准确的找到有必要被加速的网络服务。
(3)对于CPU利用率较高的网络服务,根据网络服务在某个指定滑动时间窗口的平均利用率,可以动态申请、释放CPU,从而能够动态地加速网络服务的执行。
此外,本公开的实施例还提供了一种电子设备,该电子设备被配置包括如上所述的用于加速工作流的执行的装置。该电子设备例如可以是以下设备中的任意一种:手机;计算机;平板电脑;以及个人数字助理等。相应地,该电子设备能够拥有如上所述的用于加速工作流的执行的装置的有益效果和优点。
上述根据本公开的实施例的用于加速工作流的执行的装置中的各个组成单元、子单元等可以通过软件、固件、硬件或其任意组合的方式进行配置。在通过软件或固件实现的情况下,可从存储介质或网络向具有专用硬件结构的机器安装构成该软件或固件的程序,该机器在安装有各种程序时,能够执行上述各组成单元、子单元的各种功能。
图10是示出了可用来实现根据本公开的实施例的是用于加速工作流的执行的装置和方法的一种可能的用于加速工作流的执行的装置的硬件配置的结构简图。
在图10中,中央处理单元(CPU)1001根据只读存储器(ROM)1002中存储的程序或从存储部分1008加载到随机存取存储器(RAM)1003的程序执行各种处理。在RAM1003中,还根据需要存储当CPU1001执行各种处理等等时所需的数据。CPU1001、ROM1002和RAM1003经由总线1004彼此连接。输入/输出接口1005也连接到总线1004。
下述部件也连接到输入/输出接口1005:输入部分1006(包括键盘、鼠标等等)、输出部分1007(包括显示器,例如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分1008(包括硬盘等)、通信部分1009(包括网络接口卡例如LAN卡、调制解调器等)。通信部分1009经由网络例如因特网执行通信处理。根据需要,驱动器1010也可连接到输入/输出接口1005。可拆卸介质1011例如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器1010上,使得从中读出的计算机程序可根据需要被安装到存储部分1008中。
在通过软件实现上述系列处理的情况下,可以从网络例如因特网或从存储介质例如可拆卸介质1011安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图10所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1011。可拆卸介质1011的例子包含磁盘(包含软盘)、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM1002、存储部分1008中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
此外,本公开还提出了一种存储有机器可读取的指令代码的程序产品。上述指令代码由机器读取并执行时,可执行上述根据本公开的实施例的用于加速工作流的执行的方法。相应地,用于承载这种程序产品的例如磁盘、光盘、磁光盘、半导体存储器等的各种存储介质也包括在本公开的公开中。
在上面对本公开具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
此外,本公开的各实施例的方法不限于按照说明书中描述的或者附图中示出的时间顺序来执行,也可以按照其他的时间顺序、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本公开的技术范围构成限制。
此外,显然,根据本公开的上述方法的各个操作过程也可以以存储在各种机器可读的存储介质中的计算机可执行程序的方式实现。
而且,本公开的目的也可以通过下述方式实现:将存储有上述可执行程序代码的存储介质直接或者间接地提供给系统或设备,并且该系统或设备中的计算机或者中央处理单元(CPU)读出并执行上述程序代码。
此时,只要该系统或者设备具有执行程序的功能,则本公开的实施方式不局限于程序,并且该程序也可以是任意的形式,例如,目标程序、解释器执行的程序或者提供给操作系统的脚本程序等。
上述这些机器可读存储介质包括但不限于:各种存储器和存储单元,半导体设备,磁盘单元例如光、磁和磁光盘,以及其它适于存储信息的介质等。
另外,客户信息处理终端通过连接到因特网上的相应网站,并且将依据本公开的计算机程序代码下载和安装到信息处理终端中然后执行该程序,也可以实现本公开的各实施例。
综上,在根据本公开的实施例中,本公开提供了如下方案,但不限于此:
方案1、一种用于加速工作流的执行的装置,所述工作流由至少一个网络服务构成,所述装置包括:
网络服务模式划分单元,用于根据网络服务的输入数据和输出数据的数量关系,将所述网络服务划分为特定网络服务模式;以及
调度单元,用于调度所述网络服务,以便根据与被调度的网络服务相应的网络服务模式执行操作。
方案2、根据方案1所述的装置,其中,所述特定网络服务模式包括:
对于每个输入数据产生一个输出数据的1:1网络服务模式;
对于每个输入数据产生N个输出数据的1:N网络服务模式;
对于N个输入数据产生M个输出数据的N:M网络服务模式;以及
对于N个输入数据产生一个输出数据的N:1网络服务模式;
其中,N和M都是大于1的整数。
方案3、根据方案2所述的装置,其中,其中所述调度单元被配置为执行以下至少之一:
对于N:M网络服务模式的网络服务,利用Map操作将该网络服务的输入数据虚拟分割为若干部分,并将该网络服务的实例克隆为多份,分发到不同的虚拟机上并行执行;
对于N:1网络服务模式的网络服务,利用Map操作将该网络服务的输入数据虚拟分割为若干部分,并将该网络服务的实例克隆为多份,分发到不同的虚拟机上并行执行,然后利用执行Reduce操作的克隆的网络服务将在Map操作中产生的中间文件进行汇总;以及
对于1:1网络服务模式和1:N网络服务模式的网络服务,扩大网络服务实例所占用的内存的大小。
方案4、根据方案3所述的装置,其中,所述调度单元包括:
数据存储子单元,用于存储利用Map操作虚拟分割网络服务的输入数据而形成的数据信息,以供并行执行该网络服务的各部分的不同虚拟机使用;以及
调度子单元,用于调度克隆的网络服务实例并为所述克隆的网络服务实例分发输入数据,以在不同虚拟机上并行执行,并且收集执行后的数据存储到所述数据存储子单元中。
方案5、根据方案4所述的装置,其中,所述调度单元还包括:
收集子单元,用于收集Map操作中并行执行该网络服务的各部分的不同虚拟机的执行结果作为中间文件,并将该中间文件作为执行Reduce操作的数据信息存储到所述数据存储子单元中,以便于执行Reduce操作的克隆的网络服务进行查找;以及
汇总子单元,用于对执行Reduce操作的克隆的网络服务的实例的执行进行调度以执行Reduce操作,并获得执行Reduce操作后所得的结果。
方案6、根据方案5所述的装置,其中,所述数据存储子单元用于定位克隆的网络服务的输入数据,其存储的数据信息由表示克隆的网络服务的标识、表示克隆的网络服务的数据来源的标识、文件记录的开始索引、由克隆的网络服务处理的文件记录的长度构成的四元组表示。
方案7、根据方案1所述的装置,还包括:
监测单元,用于使用滑动时间窗口来监测至少一个网络服务的CPU的平均利用率;以及
CPU调整单元,用于根据所述监测单元监测的CPU的平均利用率来增加或释放网络服务的CPU。
方案8、根据方案7所述的装置,其中,所述CPU调整单元被配置为:
如果CPU的平均利用率大于为所述被监测网络服务设定的最大值,则申请更多的CPU,其中,申请的CPU的个数最多不超过当前使用的CPU个数的0.25倍或物理机上所剩余的CPU个数;
如果CPU的平均利用率小于为所述被监测网络服务设定的最小值,则释放至少一个占用的CPU,其中,释放的CPU个数为当前使用的CPU个数的0.25倍。
方案9、一种用于加速工作流的执行的方法,所述工作流由至少一个网络服务构成,所述方法包括步骤:
根据所述网络服务的输入数据和输出数据的数量关系,将所述网络服务划分为特定网络服务模式;以及
工作流引擎调度所述网络服务,以便根据与被调度的网络服务相应的网络服务模式执行操作。
方案10、根据方案9所述的方法,其中,所述特定网络服务模式包括:
对于每个输入数据产生一个输出数据的1:1网络服务模式;
对于每个输入数据产生N个输出数据的1:N网络服务模式;
对于N个输入数据产生M个输出数据的N:M网络服务模式;
对于N个输入数据产生一个输出数据的N:1网络服务模式;
其中,N和M都是大于1的整数。
方案11、根据方案10所述的方法,其中,所述工作流引擎调度网络服务以便根据与被调度的网络服务相应的网络服务模式执行操作的步骤包括以下中的至少之一:
对于N:M网络服务模式的网络服务,利用Map操作将该网络服务的输入数据虚拟分割为若干部分,并将该网络服务的实例克隆为多份,分发到不同的虚拟机上并行执行;
对于N:1网络服务模式的网络服务,利用Map操作将该网络服务的输入数据虚拟分割为若干部分,并将该网络服务的实例克隆为多份,分发到不同的虚拟机上并行执行,然后利用执行Reduce操作的克隆的网络服务将在Map操作中产生的中间文件进行汇总;以及
对于1:1网络服务模式和1:N网络服务模式的网络服务,扩大网络服务实例所占用的内存的大小。
方案12、根据方案11所述的方法,其中对网络服务利用Map操作将网络服务的输入数据虚拟分割成若干部分,并将该网络服务的实例克隆为多份,分发到不同虚拟机上并行执行的步骤包括:
将分割后形成的数据信息存储到网络服务数据寄存器中,以供并行执行该网络服务的各部分的不同虚拟机使用;以及
利用工作流子引擎调度克隆后的网络服务实例,并为它们分发输入数据,以在不同虚拟机上并行执行,并收集执行后的数据存储到网络服务数据寄存器中。
方案13、根据方案12所述的方法,其中,利用执行Reduce操作的克隆的网络服务将在Map操作中产生的中间文件进行汇总的步骤包括:
收集Map操作中并行执行该网络服务的各部分的不同虚拟机的执行结果作为中间文件,并将中间文件作为执行Reduce操作的数据信息存储到网络服务数据寄存器中,以便于执行Reduce操作的克隆的网络服务进行查找;以及
对执行Reduce操作的克隆的网络服务的执行进行调度以执行Reduce操作并将执行Reduce操作后所得结果发送给工作流引擎。
方案14、根据方案13所述的方法,其中,所述网络服务数据寄存器用于定位克隆的网络服务的输入数据,其存储的数据信息由表示克隆的网络服务的标识、表示克隆的网络服务的数据来源的标识、文件记录的开始索引、由克隆的网络服务处理的文件记录的长度构成的四元组表示。
方案15、根据方案9所述的方法,其中,所述方法还包括在所述至少一个网络服务中确定至少一个候选的网络服务的步骤,以便于针对所述至少一个候选的网络服务中的每一个执行下述的操作:根据网络服务的输入数据和输出数据的数量关系将所述候选的网络服务划分为特定网络服务模式;工作流引擎调度所述候选网络服务以便根据与被调度的候选网络服务相应的网络服务模式执行操作。
方案16、根据方案15所述的方法,其中,在所述至少一个网络服务中确定至少一个候选的网络服务的步骤包括:
利用深度优先进行遍历的方法将所述包括至少一个网络服务的工作流的有向图转换为表示哪些网络服务为顺序执行而哪些网络服务为并行执行的梯度图;
利用梯度图建立相应的顺序部分树,其中,所述顺序部分树的每个节点表示可顺序执行的工作流的顺序部分,所述顺序部分为单个网络服务或者若干网络服务的结合;以及
基于所述顺序部分树,结合所述顺序部分的执行历史将耗时超过预定阈值的网络服务确定为候选网络服务。
方案17、根据方案9-16中任一项所述的方法,还包括:
使用滑动时间窗口来监测至少一个网络服务的CPU的平均利用率;以及
根据CPU的平均利用率来增加或释放网络服务的CPU。
方案18、根据方案17所述的方法,其中,根据CPU的平均利用率来增加或释放被监测网络服务的CPU的步骤包括:
如果CPU的平均利用率大于为所述被监测网络服务设定的最大值,则申请更多的CPU,其中,申请的CPU的个数最多不超过当前使用的CPU个数的0.25倍或物理机上所剩余的CPU个数;
如果CPU的平均利用率小于为所述被监测网络服务设定的最小值,则释放至少一个占用的CPU,其中,释放的CPU个数为当前使用的CPU个数的0.25倍。
方案19、一种电子设备,包括根据方案1-8中任一项所述的用于加速工作流的执行的装置,其中电子设备是手机、计算机、平板电脑、或个人数字助理。
方案20、一种计算机可读存储介质,其上存储有能够由计算设备执行的计算机程序,该程序使得计算机用作如方案1-8中任一项所述的用于加速工作流的执行的装置。
最后,还需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管上面已经通过本公开的具体实施例的描述对本公开进行了披露,但是,应该理解,本领域技术人员可在所附权利要求的精神和范围内设计对本公开的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本公开所要求保护的范围内。
Claims (10)
1.一种用于加速工作流的执行的装置,所述工作流由至少一个网络服务构成,所述装置包括:
网络服务模式划分单元,用于根据网络服务的输入数据和输出数据的数量关系,将所述网络服务划分为特定网络服务模式;以及
调度单元,用于调度所述网络服务,以便根据与被调度的网络服务相应的网络服务模式执行操作。
2.如权利要求1所述的装置,其中,所述特定网络服务模式包括:
对于每个输入数据产生一个输出数据的1:1网络服务模式;
对于每个输入数据产生N个输出数据的1:N网络服务模式;
对于N个输入数据产生M个输出数据的N:M网络服务模式;以及
对于N个输入数据产生一个输出数据的N:1网络服务模式;
其中,N和M都是大于1的整数。
3.如权利要求2所述的装置,其中,所述调度单元被配置为执行以下至少之一:
对于N:M网络服务模式的网络服务,利用Map操作将该网络服务的输入数据虚拟分割为若干部分,并将该网络服务的实例克隆为多份,分发到不同的虚拟机上并行执行;
对于N:1网络服务模式的网络服务,利用Map操作将该网络服务的输入数据虚拟分割为若干部分,并将该网络服务的实例克隆为多份,分发到不同的虚拟机上并行执行,然后利用执行Reduce操作的克隆的网络服务将在Map操作中产生的中间文件进行汇总;以及
对于1:1网络服务模式和1:N网络服务模式的网络服务,扩大网络服务实例所占用的内存的大小。
4.如权利要求3所述的装置,其中,所述调度单元包括:
数据存储子单元,用于存储利用Map操作虚拟分割网络服务的输入数据而形成的数据信息,以供并行执行该网络服务的各部分的不同虚拟机使用;以及
调度子单元,用于调度克隆的网络服务实例并为所述克隆的网络服务实例分发输入数据,以在不同虚拟机上并行执行,并且收集执行后的数据存储到所述数据存储子单元中。
5.如权利要求4所述的装置,其中,所述调度单元还包括:
收集子单元,用于收集Map操作中并行执行该网络服务的各部分的不同虚拟机的执行结果作为中间文件,并将该中间文件作为执行Reduce操作的数据信息存储到所述数据存储子单元中,以便于执行Reduce操作的克隆的网络服务进行查找;以及
汇总子单元,用于对执行Reduce操作的克隆的网络服务的实例的执行进行调度以执行Reduce操作,并获得执行Reduce操作后所得的结果。
6.如权利要求5所述的装置,其中,所述数据存储子单元用于定位克隆的网络服务的输入数据,其存储的数据信息由表示克隆的网络服务的标识、表示克隆的网络服务的数据来源的标识、文件记录的开始索引、由克隆的网络服务处理的文件记录的长度构成的四元组表示。
7.如权利要求1所述的装置,还包括:
候选网络服务确定单元,用于在所述至少一个网络服务中确定至少一个候选网络服务,以便由所述网络服务模式划分单元将所述候选网络服务划分为特定网络服务模式,并且通过所述调度单元调度所述网络服务,以根据与被调度的网络服务相应的网络服务模式执行操作。
8.如权利要求7所述的装置,其中,所述候选网络服务确定单元包括:
转换子单元,用于利用深度优先进行遍历的方法将包括至少一个网络服务的所述工作流的有向图转换为表示哪些网络服务为顺序执行而哪些网络服务为并行执行的梯度图;
树建立子单元,用于利用梯度图建立相应的顺序部分树,其中,所述顺序部分树的每个节点表示可顺序执行的工作流的顺序部分,所述顺序部分为单个网络服务或者若干网络服务的结合;以及
候选网络服务确定子单元,用于基于所述顺序部分树,结合所述顺序部分的执行历史将耗时超过预定阈值的网络服务确定为候选网络服务。
9.如权利要求1所述的装置,还包括:
监测单元,用于使用滑动时间窗口来监测至少一个网络服务的CPU的平均利用率;以及
CPU调整单元,用于根据所述监测单元监测的CPU的平均利用率来增加或释放网络服务的CPU。
10.一种用于加速工作流的执行的方法,所述工作流由至少一个网络服务构成,所述方法包括:
根据所述网络服务的输入数据和输出数据的数量关系,将所述网络服务划分为特定网络服务模式;以及
调度所述网络服务,以便根据与被调度的网络服务相应的网络服务模式执行操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310625095.1A CN104679763A (zh) | 2013-11-28 | 2013-11-28 | 用于加速工作流的执行的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310625095.1A CN104679763A (zh) | 2013-11-28 | 2013-11-28 | 用于加速工作流的执行的装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104679763A true CN104679763A (zh) | 2015-06-03 |
Family
ID=53314824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310625095.1A Pending CN104679763A (zh) | 2013-11-28 | 2013-11-28 | 用于加速工作流的执行的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104679763A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020232951A1 (zh) * | 2019-05-17 | 2020-11-26 | 深圳前海微众银行股份有限公司 | 一种任务执行方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1395188A (zh) * | 2001-07-05 | 2003-02-05 | 英业达股份有限公司 | 工作流程系统及方法 |
CN102103405A (zh) * | 2009-12-16 | 2011-06-22 | 佳能株式会社 | 数据处理装置 |
US20130103829A1 (en) * | 2010-05-14 | 2013-04-25 | International Business Machines Corporation | Computer system, method, and program |
-
2013
- 2013-11-28 CN CN201310625095.1A patent/CN104679763A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1395188A (zh) * | 2001-07-05 | 2003-02-05 | 英业达股份有限公司 | 工作流程系统及方法 |
CN102103405A (zh) * | 2009-12-16 | 2011-06-22 | 佳能株式会社 | 数据处理装置 |
US20130103829A1 (en) * | 2010-05-14 | 2013-04-25 | International Business Machines Corporation | Computer system, method, and program |
Non-Patent Citations (1)
Title |
---|
凌洁: "一种支持领域特征的网络服务工作流模型", 《微计算机信息》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020232951A1 (zh) * | 2019-05-17 | 2020-11-26 | 深圳前海微众银行股份有限公司 | 一种任务执行方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10761687B2 (en) | User interface that facilitates node pinning for monitoring and analysis of performance in a computing environment | |
CN110292775B (zh) | 获取差异数据的方法及装置 | |
KR101617696B1 (ko) | 데이터 정규표현식의 마이닝 방법 및 장치 | |
US20150161536A1 (en) | Scientific workflow execution engine | |
US12118375B2 (en) | System and methods for improved adoption of cloud container profiles | |
CN107102999B (zh) | 关联分析方法和装置 | |
He et al. | Parallel implementation of classification algorithms based on MapReduce | |
US20070233532A1 (en) | Business process analysis apparatus | |
CN114443854A (zh) | 多源异构数据的处理方法、装置、计算机设备及存储介质 | |
CN109656898A (zh) | 基于节点度的分布式大规模复杂社团探测方法及装置 | |
CN116881430A (zh) | 一种产业链识别方法、装置、电子设备及可读存储介质 | |
CN113157978B (zh) | 数据的标签建立方法和装置 | |
US9996606B2 (en) | Method for determining condition of category division of key performance indicator, and computer and computer program therefor | |
CN110069392A (zh) | 一种反映数据中心it设备能效特征的获取方法 | |
US10360208B2 (en) | Method and system of process reconstruction | |
JP2020052451A (ja) | 計算機システム及び業務フローのパターン生成方法 | |
CN112016797A (zh) | 基于knn的资源配额调整方法、装置和电子设备 | |
CN104679763A (zh) | 用于加速工作流的执行的装置和方法 | |
CN115186738B (zh) | 模型训练方法、装置和存储介质 | |
CN113570464B (zh) | 一种数字货币交易社区识别方法、系统、设备及存储介质 | |
CN114240179A (zh) | 一种基于事件图谱的财务流程挖掘方法和相关装置 | |
CN114881521A (zh) | 业务评估方法、装置、电子设备以及存储介质 | |
Al-Msie'Deen et al. | Naming the identified feature implementation blocks from software source code | |
CN104572835B (zh) | 一种过程元模型构建方法及装置 | |
Rahmawati et al. | Comparison of behavioral similarity use TARs and Naïve algorithm for calculating similarity in business process model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20180828 |
|
AD01 | Patent right deemed abandoned |