组合模型的执行方法和装置与流程

文档序号:12158096阅读:271来源:国知局
组合模型的执行方法和装置与流程

本申请涉及互联网技术领域,尤其涉及一种组合模型的执行方法和装置。



背景技术:

随着互联网(Internet)在各大领域实际应用的日益深化,Web服务以其各方面的强大优势,在应用集成方面得到了迅猛的发展。由于单个Web服务不能满足复杂业务的需求,因此重用已有的Web服务,对其进行合理的组合已成为发展趋势。目前各种基于业务流程的Web服务组合语言和基于这些语言的建模工具蓬勃兴起。在Web服务组合的多种建模方式中,可视化建模以一种更直观,更容易理解的方式,使用户可以在较短的时间内获得更大的信息量,大大提高了Web服务组合的效率。

相关技术中,Web服务组合可视化模型在执行时,采用串行搜索的方式,浪费执行时间。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的一个目的在于提出一种组合模型的执行方法,该方法可以并行执行组合模型,降低执行时间。

本申请的另一个目的在于提出一种组合模型的执行装置。

为达到上述目的,本申请第一方面实施例提出的组合模型的执行方法,包括:确定组合模型中的只提供数据的模型,以及组合模型的起始模型;以所述只提供数据的模型和所述起始模型为执行起点,并行执行所述组合模型。

本申请第一方面实施例提出的组合模型的执行方法,通过以只提供数据的模型和起始模型为执行起点,并行执行组合模型,可以避免串行搜索导致的耗时长的问题,从而降低执行时间,提高执行效率。

为达到上述目的,本申请第二方面实施例提出的组合模型的执行装置,包括:确定模块,用于确定组合模型中的只提供数据的模型,以及组合模型的起始模型;执行模块,用于以所述只提供数据的模型和所述起始模型为执行起点,并行执行所述组合模型。

本申请第二方面实施例提出的组合模型的执行装置,通过以只提供数据的模型和起始模型为执行起点,并行执行组合模型,可以避免串行搜索导致的耗时长的问题,从而降低执行时间,提高执行效率。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本申请实施例中的一种Web服务组合可视化模型的结构示意图;

图2是本申请一个实施例提出的组合模型的执行方法的流程示意图;

图3是本申请另一个实施例提出的组合模型的执行方法的流程示意图;

图4是本申请一个实施例提出的组合模型的执行装置的结构示意图;

图5是本申请另一个实施例提出的组合模型的执行装置的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

为了更好的理解本申请,先对Web服务组合可视化模型进行说明。

参照图1,示出了一种Web服务组合可视化模型。如图1所示,每个方形框代表一个Web服务模型,in代表Web服务模型的输入,out代表Web服务模型的输出,in和out上绑定Web服务的方法,Web服务模型之间的连线代表数据传递的通道。由于每个Web服务以及它所拥有的方法都代表一定的含义,因此整个Web服务组合可视化模型代表一个完整的具有现实意义的功能。

相关技术中,Web服务组合可视化模型的执行流程包括:获取Web服务组合可视化模型的起始模型,通过start通道搜索到Web1服务模型,执行in和out所绑定的方法,并将结果通过通道a发送给Web2服务模型。依次类推,直到执行Web3服务模型,这时b通道中有数据,c通道没有数据(Web4服务未执行),因此这里需要反向搜索并尝试执行Web4服务模型。依次类推,直到反向搜索到Web6服务模型和Web7服务模型,由于这两个服务模型不依赖于数据的输入,可以直接执行,并将结果数据写入通道g和f,继续执行。最后以终止模型为结束标志。

从以上流程可以看出,只提供数据的Web服务模型依赖于串行搜索,浪费执行时间。例如,只有在Web3服务模型反向搜索的时候,才能执行到Web6服务模型和Web7服务模型,浪费了大量的执行时间。

为了解决上述存在的浪费执行时间的问题,本申请将给出如下的实施例。

图2是本申请一个实施例提出的组合模型的执行方法的流程示意图。

如图2所示,本实施例包括如下步骤:

S21:确定组合模型中的只提供数据的模型,以及组合模型的起始模型。

其中,组合模型是指由多个模型组合得到的模型。

具体的,组合模型可以是指Web服务组合可视化模型。

如无特别说明,本申请将以组合模型是Web服务组合可视化模型(简称为可视化模型)为例。

可视化模型的起始模型和终止模型可以是默认设置的,因此,根据设置信息可以确定可视化模型的起始模型。

在确定可视化模型中的只提供数据的模型时,可以将不存在向自身模型传递数据的通道的模型确定为只提供数据的模型。具体的,如图1所示,可视化模型中涉及的通道包括in通道和out通道,in通道是指向自身模型传递数据的通道,out通道是指自身模型向其他模型传递数据的通道,因此,可视化模型中的只提供数据的模型是指只包含out通道的Web服务模型,如图1中的Web6服务模型和Web7服务模型。

S22:以所述只提供数据的模型和所述起始模型为执行起点,并行执行所述组合模型。

在确定出只提供数据的模型后,不需要反向搜索到自身时才执行,而是与起始模型一起作为执行起点,并行开始执行。

例如,参见图1,由于只提供数据的模型包括Web6服务模型和Web7服务模型,则分别以Web6服务模型、Web7服务模型和起始模型为执行起点,并行执行。

单个并行分支在执行时可以采用通常方式执行,例如,对应起始模型这个执行起点,通过start通道搜索到web1服务模型,执行in和out所绑定的方法,并将结果通过通道a发送给Web2服务模型,依次类推。对应Web6服务模型这个执行起点,通过g通道搜索到Web5服务模型,依次类推。

本实施例中,通过以只提供数据的模型和起始模型为执行起点,并行执行组合模型,可以避免串行搜索导致的耗时长的问题,从而降低执行时间,提高执行效率。

图3是本申请另一个实施例提出的组合模型的执行方法的流程示意图。

如图3所示,本实施例包括如下步骤:

S31:确定Web服务组合可视化模型中的只提供数据的模型以及起始模型。

其中,起始模型可以默认的设置信息确定。

只提供数据的模型可以根据自身模型是否包含in通道确定,将不包含in通道的Web服务模型确定为只提供数据的模型,如图1的Web6服务模型和Web7服务模型。

S32:以所述只提供数据的模型和所述起始模型为执行起点,并行执行所述Web服务组合可视化模型。

例如,对应图1所示的可视化模型,则可以分别以Web6服务模型、Web7服务模型和起始模型为执行起点,并行执行。

单个并行分支在执行时可以采用通常方式执行,例如,对应起始模型这个执行起点,通过start通道搜索到Web1服务模型,执行in和out所绑定的方法,并将结果通过通道a发送给Web2服务模型,依次类推。对应Web6服务模型这个执行起点,通过g通道搜索到Web5服务模型,依次类推。

S33:在并行分支的合并点处,合并所述并行分支。

其中,并行分支的合并点是指至少两个并行分支的连接点,如图1所示,Web5服务模型是以Web6服务模型为执行起点的一个并行分支与以Web7服务模型为执行起点的另一个并行分支的连接点,则Web5服务模型属于一个合并点。类似的,Web3服务模型属于一个合并点。

合并并行分支是指将不同并行分支的输出作为输入,得到输出,并输出给后续模型。例如,在Web5服务模型中,输入通道包括:Web6服务模型的输出(对应Web6服务模型这个执行起点的并行支路)和Web8服务模型的输出(对应Web7服务模型这个执行起点的并行支路),Web5服务模型中执行in和out所绑定的方法,并将结果通过通道d发送给Web4服务模型。类似的,Web3服务模型中合并来自通道b和通道e的数据。

可以理解的是,在确定出可视化模型中所有只提供数据的模型后,在并行执行时,可以是以起始模型和全部的只提供数据的模型为执行起点,并行执行,在合并点处,等待所有分支中的数据都到达后进行合并。例如,图1中只提供数据的模型包括Web6服务模型和Web7服务模型,那么在并行执行时,可以是如上述所示的分别以起始模型以及Web6服务模型和Web7服务模型为执行起点开始并行执行。

当然,本申请也并不排除在并行执行时,以起始模型和部分只提供数据的模型为执行起点并行执行。此时,在合并点处,确定需要反向搜索的分支,对需要反向搜索的分支进行反向搜索后执行相应的web模型。例如,在图1所示的场景下,也可以是以起始模型和Web6服务模型为执行起点开始并行执行,而Web7服务模型的执行可以是通过反向搜索后才执行的,或者,也可以是以起始模型和Web7服务模型为执行起点开始并行执行,而Web6服务模型的执行可以是通过反向搜索后才执行的。

进一步的,本实施例主要是说明从执行起点开始并行执行,以及执行起点的确定,而在合并点处如何确定需要反向搜索的分支并不限定,可以采用各种人为设定、已有技术或将来出现的技术实现。

本实施例中,通过并行执行,相对于串行执行可以显著降低执行时间,并且随着并行分支的增加,执行时间更会相对成倍的减少,极大地提高了执行效率。

图4是本申请一个实施例提出的组合模型的执行装置的结构示意图。

如图4所示,本实施例的装置40包括:确定模块41和执行模块42。

确定模块41,用于确定组合模型中的只提供数据的模型,以及组合模型的起始模型。

其中,组合模型是指由多个模型组合得到的模型。

具体的,组合模型可以是指Web服务组合可视化模型。

如无特别说明,本申请将以组合模型是Web服务组合可视化模型(简称为可视化模型)为例。

可视化模型的起始模型和终止模型可以是默认设置的,因此,根据设置信息可以确定可视化模型的起始模型。

可选的,所述确定模块41用于确定组合模型中的只提供数据的模型,包括:

对应组合模型中的每个模型,检测是否存在向自身模型传递数据的通道,如果不存在,则确定自身模型是只提供数据的模型。

具体的,如图1所示,可视化模型中涉及的通道包括in通道和out通道,in通道是指向自身模型传递数据的通道,out通道是指自身模型向其他模型传递数据的通道,因此,可视化模型中的只提供数据的模型是指只包含out通道的Web服务模型,如图1中的Web6服务模型和Web7服务模型。

执行模块42,用于以所述只提供数据的模型和所述起始模型为执行起点,并行执行所述组合模型。

在确定出只提供数据的模型后,不需要反向搜索到自身时才执行,而是与起始模型一起作为执行起点,并行开始执行。

例如,参见图1,由于只提供数据的模型包括Web6服务模型和Web7服务模型,则分别以Web6服务模型、Web7服务模型和起始模型为执行起点,并行执行。

单个并行分支在执行时可以采用通常方式执行,例如,对应起始模型这个执行起点,通过start通道搜索到web1服务模型,执行in和out所绑定的方法,并将结果通过通道a发送给Web2服务模型,依次类推。对应Web6服务模型这个执行起点,通过g通道搜索到Web5服务模型,依次类推。

可选的,所述执行起点包括只提供数据的模型中的全部模型或部分模型。

可以理解的是,在确定出可视化模型中所有只提供数据的模型后,在并行执行时,可以是以起始模型和全部的只提供数据的模型为执行起点,并行执行,在合并点处,等待所有分支中的数据都到达后进行合并。例如,图1中只提供数据的模型包括Web6服务模型和Web7服务模型,那么在并行执行时,可以是如上述所示的分别以起始模型以及Web6服务模型和Web7服务模型为执行起点开始并行执行。

当然,本申请也并不排除在并行执行时,以起始模型和部分只提供数据的模型为执行起点并行执行。此时,在合并点处,确定需要反向搜索的分支,对需要反向搜索的分支进行反向搜索后执行相应的web模型。例如,在图1所示的场景下,也可以是以起始模型和Web6服务模型为执行起点开始并行执行,而Web7服务模型的执行可以是通过反向搜索后才执行的,或者,也可以是以起始模型和Web7服务模型为执行起点开始并行执行,而Web6服务模型的执行可以是通过反向搜索后才执行的。

进一步的,本实施例主要是说明从执行起点开始并行执行,以及执行起点的确定,而在合并点处如何确定需要反向搜索的分支并不限定,可以采用各种人为设定、已有技术或将来出现的技术实现。

一些实施例中,参见图5,该装置40还包括:

合并模块43,用于在并行分支的合并点处,合并所述并行分支。

其中,并行分支的合并点是指至少两个并行分支的连接点,如图1所示,Web5服务模型是以Web6服务模型为执行起点的一个并行分支与以Web7服务模型为执行起点的另一个并行分支的连接点,则Web5服务模型属于一个合并点。类似的,Web3服务模型属于一个合并点。

合并并行分支是指将不同并行分支的输出作为输入,得到输出,并输出给后续模型。例如,在Web5服务模型中,输入通道包括:Web6服务模型的输出(对应Web6服务模型这个执行起点的并行支路)和Web8服务模型的输出(对应Web7服务模型这个执行起点的并行支路),Web5服务模型中执行in和out所绑定的方法,并将结果通过通道d发送给Web4服务模型。类似的,Web3服务模型中合并来自通道b和通道e的数据。

可以理解的是,本实施例的装置与上述方法实施例对应,具体内容可以参见方法实施例的相关描述,在此不再详细说明。

本实施例中,通过并行执行,相对于串行执行可以显著降低执行时间,并且随着并行分支的增加,执行时间更会相对成倍的减少,极大地提高了执行效率。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1