CN104036335A - 数据处理方法和数据处理装置 - Google Patents
数据处理方法和数据处理装置 Download PDFInfo
- Publication number
- CN104036335A CN104036335A CN201310067968.1A CN201310067968A CN104036335A CN 104036335 A CN104036335 A CN 104036335A CN 201310067968 A CN201310067968 A CN 201310067968A CN 104036335 A CN104036335 A CN 104036335A
- Authority
- CN
- China
- Prior art keywords
- workflow
- data
- mediator
- control structure
- execution
- 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
技术领域
本发明涉及一种数据处理方法和数据处理装置,更具体地,涉及一种能够通过轻量级执行引擎以去中心化的方式实现工作流执行的数据处理方法和数据处理装置。
背景技术
随着企业信息的快速发展及服务组合技术的成熟,出现了大量的企业信息工作流。传统的基于中心化的服务执行方式,数据传输的效率非常低下,因为大量的中间数据信息会被传输到中心执行引擎中。另一方面,中心执行引擎必须处理数据流及控制流,同时进行数据类型转换等等,使得它的工作量巨大。如果将这种执行方式照搬到诸如移动电话等的便携式移动终端上是不可行的,这是因为便携式移动终端的计算能力和缓存都是有限的,并且网络连接也非常昂贵。
为了解决上述问题,已提出了基于去中心化的工作流执行方式。作为示例,以下将简要介绍现有技术中存在的三种类型的去中心化的执行方式:(1)解析组合代码并将其分割成多块,每块分散地执行。这种方式因为要在已有的网络服务器上附加重量级的执行引擎,因此会影响已有的网络服务器(参见以下非专利文献1);(2)引入了服务调用触发器,这是一个轻量级的基础架构,其目的是将中间数据从生产方直接指向消费方。这种方式将工作流分割成顺序的部分,但这些顺序的部分不能包括循环或条件结构(参见以下非专利文献2);以及(3)使用代理来实现去中心化的工作流及分散的数据流,代理只将中间数据的引用地址发送到中央执行引擎。然而,如果循环或条件结构中需要中间数据的计算,这种方法就不可行。此外,在消费方的数据定义与生产方的数据定义不一致的情况下,这种方法也不可行(参见以下非专利文献3)。
引用列表
【非专利文献1】Girish Chafle,“Decentralized orchestration ofcomposite web services”,WWW2004
【非专利文献2】Walter Binder,“Decentralized orchestration ofcomposite web services”,ICWS2006
【非专利文献3】Adam Barker,“Orchestrating data-centricworkflows”,CCGRID2008
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。但是,应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图用来确定本发明的关键性部分或重要部分,也不是意图用来限定本发明的范围。其目的仅仅是以简化的形式给出关于本发明的某些概念,以此作为稍后给出的更详细描述的前序。
鉴于以上情形,本发明的目的是提供一种用于实现基于去中心化的工作流执行的数据处理方法和数据处理装置,其通过将包括传统的网络服务以及循环控制结构和/或条件控制结构的工作流分割成顺序执行链,为顺序执行链中的每个部件附加一个中介器以由中介器负责各个部件之间的数据传输,由轻量级执行引擎根据顺序执行链依次通知各个中介器调用各自的网络服务并从各个中介器接收响应信息,降低了网络数据传输量同时减轻了工作流执行引擎的处理负荷,从而更适合于在缓存能力和计算能力有限的移动终端上使用。此外,执行引擎与各个中介器之间以及各个中介器之间的数据传输通过安全外壳(SSH)协议来实现,从而保证了数据的安全性,并且通过压缩减小了中间数据传输所需的网络带宽。
根据本发明的实施例的一方面,提供了一种数据处理方法,其包括:工作流分析步骤,用于对输入的工作流进行分析,以得到表示工作流中的各个部分的执行顺序的顺序执行链以及顺序执行链中的各个部件之间的数据依赖性,其中,顺序执行链中的各个部件分别与工作流中的各个部分对应,工作流包括循环控制结构和条件控制结构,并且循环控制结构和条件控制结构被解构成顺序执行链中的部件;中介器布置步骤,用于为顺序执行链中的每个部件分配中介器并且根据数据依赖性来布置每个中介器,中介器用于调用各自的网络服务,并且顺序执行链中的各个部件之间的数据传输通过所分配的中介器来实现;以及工作流执行步骤,用于根据顺序执行链执行工作流。
根据本发明的优选实施例,在中介器布置步骤中,将中介器布置成靠近其数据依赖方所在的服务主机。
根据本发明的另一优选实施例,在中介器布置步骤中,进一步基于以下规则来根据数据依赖性布置中介器:对于顺序执行链中与网络服务对应的部件,将其中介器布置在该部件所在的服务主机上;以及对于顺序执行链中与循环控制结构或条件控制结构对应的部件:如果该部件没有数据依赖方,则随机地选择一个服务主机并将其中介器布置在所选择的服务主机上;如果该部件除客户端之外仅具有一个数据依赖方,则将其中介器布置在其数据依赖方所在的服务主机上;以及如果该部件除了客户端之外具有多个数据依赖方,则从多个数据依赖方中随机选择一个数据依赖方并将该部件的中介器布置在所选择的数据依赖方所在的服务主机上。
根据本发明的另一优选实施例,将循环控制结构或条件控制结构的具体操作包装为与循环控制结构或条件控制结构的中介器对应的底层网络服务,并且将底层网络服务和相应的循环控制结构或条件控制结构的中介器布置在相同的服务主机上。
根据本发明的另一优选实施例,工作流执行步骤由轻量级执行引擎来执行。
根据本发明的另一优选实施例,在工作流分析步骤中,将循环控制结构的主体和条件控制结构的分支解构成子顺序执行链。
根据本发明的另一优选实施例,工作流分析步骤进一步包括:控制流分析子步骤,用于分析控制流以将工作流解构成顺序执行链,其中,控制流表示工作流中的各个部分的组合方式;以及数据流分析子步骤,用于分析数据流以获得顺序执行链中的各个部件之间的数据依赖性,其中,数据流表示工作流中的各个部分之间的数据流向。
根据本发明的另一优选实施例,在中介器布置步骤中,由中介器管理器自动地布置所有中介器。
根据本发明的另一优选实施例,如果工作流包括多个可并行执行的部分,则在工作流分析步骤中,将多个可并行执行的部分解构为顺序执行链中的一个部件,该部件包括与多个可并行执行的部分对应的多个子部件,多个子部件在工作流执行步骤中并行地执行。
根据本发明的实施例的另一方面,还提供了一种数据处理装置,其包括:工作流分析器,被配置成对输入的工作流进行分析,以得到表示工作流中的各个部分的执行顺序的顺序执行链以及顺序执行链中的各个部件之间的数据依赖性,其中,顺序执行链中的各个部件分别与工作流中的各个部分对应,工作流包括循环控制结构和条件控制结构,并且循环控制结构和条件控制结构被解构成顺序执行链中的部件;中介器管理器,被配置成为顺序执行链中的每个部件分配中介器并且根据数据依赖性来布置每个中介器,中介器用于调用各自的网络服务,并且顺序执行链中的各个部件之间的数据传输通过所分配的中介器来实现;以及执行引擎,用于根据顺序执行链执行工作流。
根据本发明的实施例的另一方面,还提供了一种终端设备,该终端设备包括上述数据处理装置,并且该终端设备包括但不限于移动电话、个人数字助理以及平板电脑等等。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质包括机器可读的程序代码,当在信息处理设备上执行程序代码时,该程序代码使得信息处理设备执行根据本发明的数据处理方法。
此外,根据本发明的实施例的再一方面,还提供了一种程序产品,该程序产品包括机器可执行的指令,当在信息处理设备上执行指令时,该指令使得信息处理设备执行根据本发明的数据处理方法。
因此,根据本发明的实施例,能够减少中间数据的传递,从而提高了数据传输效率,并且能够减轻执行引擎的工作负荷,从而降低了对工作流执行引擎所在的终端设备(例如,移动电话、个人数字助理(PDA)、平板电脑等)的性能和功耗的要求。
在下面的说明书部分中给出本发明实施例的其他方面,其中,详细说明用于充分地公开本发明实施例的优选实施例,而不对其施加限定。
附图说明
本发明可以通过参考下文中结合附图所给出的详细描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并形成说明书的一部分,用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。其中:
图1是示出示例工作流的组合方式的示意图;
图2是现有技术中以中心化方式执行图1所示的工作流的示意图;
图3是示出根据本发明的实施例的数据处理方法的处理示例的流程图;
图4是示出另一示例工作流的组合方式的示意图;
图5是示出根据本发明的实施例的以去中心化方式执行图1所示的示例工作流的示意图;
图6是示出根据本发明的实施例的数据处理装置的功能配置的示例的框图;
图7是示出在应用了根据本发明的数据处理装置的终端设备中实现去中心化的工作流执行方式的示例的系统框架图;以及
图8是示出作为本发明的实施例中所采用的信息处理设备的个人计算机的示例性结构的框图。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的设备结构和/或处理步骤,而省略了与本发明关系不大的其它细节。
以下将参照图1至图8来描述根据本发明的实施例的数据处理方法和数据处理装置。
首先,参照图1,其示意性地示出了示例工作流的组合方式。该示例工作流例如用于获取当前用户所在地附近的客户信息并将其显示在用户持有的诸如移动电话的移动终端设备上。如图1所示,该工作流包括三个网络服务WS-1、WS-2和WS-3以及两个控制结构(即,循环控制结构和条件控制结构)。在该示例中,网络服务WS-1(getAllCustomers)用来获取所有的客户信息,网络服务WS-2(calculateDistance)用于计算两点之间的距离,并且网络服务WS-3(getRenderedCustomers)用于采用预定义的模板来显示客户信息。以下给出了该示例工作流的伪代码实现:
接下来,参照图2,其示出了现有技术中以中心化执行方式执行图1所示的工作流的示意图。如图2所示,工作流执行引擎接收所有的中间数据信息并控制整个工作流的执行。例如,如果WS-1获得了大小为1GB的客户信息,则工作流执行引擎就必须接收这些数据并将其逐个地转发给WS-2。因此,工作流执行引擎必须具有较强的数据处理能力和数据缓存能力,因此其必然是重量级执行引擎,并且网络数据传输量较大。对于硬件资源和网络流量资源有限的移动终端设备(诸如移动电话等),这样的执行方式是不可行的。
因此,根据本发明,提出了一种以去中心化方式来实现工作流的执行的数据处理方法。以下将参照图3详细描述根据本发明的实施例的数据处理方法的处理示例。
如图3所示,根据本发明的实施例的数据处理方法包括工作流分析步骤S310、中介器布置步骤S312和工作流执行步骤S314。以下将分别详细描述各个步骤中的处理。
首先,在工作流分析步骤S310中,对输入的工作流进行分析,以得到表示工作流中的各个部分的执行顺序的顺序执行链以及顺序执行链中的各个部件之间的数据依赖性,其中,顺序执行链中的各个部件分别与工作流中的各个部分对应,工作流包括循环控制结构和条件控制结构,并且循环控制结构和条件控制结构被解构成顺序执行链中的部件。
优选地,在工作流分析步骤S310中,对于工作流中的循环控制结构和条件控制结构,将循环控制结构的主体和条件控制结构的分支解构成子顺序执行链。
具体地,该工作流分析步骤S310可以进一步包括控制流分析子步骤和数据流分析子步骤。
在控制流分析子步骤中,可以对控制流进行分析以将输入的工作流解构成顺序执行链,其中控制流表示工作流中的各个部分的组合方式。控制流的分析可以通过例如以下示例算法来实现,下面给出了该示例算法的伪代码实现。
从上述算法可以看出,在对控制流进行分析时,不仅将工作流中的网络服务解构成顺序链中的部件,而且还将循环控制解构和条件控制结构也解构成顺序链中的部件。返回的顺序执行链包括3个多维数组,其中S代表整个工作流的顺序执行链,S1代表循环控制结构的主体的顺序执行链,并且S2代表条件控制结构的分支的顺序执行链。由于循环控制结构和条件控制结构本身也被解构成顺序执行链S中的组成部件,因此S1和S2是S中的子顺序执行链。
应理解,上述算法仅是示例而非限制,并且本领域技术人员可以根据本发明的原理而采用其它适当的算法来实现控制流的分析。
在控制流分析子步骤中将上述算法应用于图1中所示的示例工作流进行分析,从而可以得到如下顺序执行链结果:
{WS-1,Loop,WS-3}→S
Loop:{WS-2,IF}→S1
IF(为真的分支):{为Loop输出赋值}→S2
其中,WS-3必须在Loop循环体的顺序执行链(即S1)执行完之后才能执行。
优选地,如果输入工作流包括多个可并行执行的部分,则在对工作流进行分析时,将这多个可并行执行的部分解构为顺序执行链中的一个部件,该部件包括与多个可并行执行的部分对应的多个子部件,这多个子部件可并行地执行。
具体地,作为示例,参照图4,示出了另一示例工作流的组合方式。如图4所示,工作流包括两个可并行执行的部分WS-5和WS-6。对图4所示的示例工作流应用上述控制流分析算法,从而可以得到以下顺序执行链结果:{WS-4,{WS-5,WS-6},WS-7}。即,将WS-5和WS-6解构成顺序执行链中的一个整体部件,该整体部件与WS-4和WS-7顺序地执行,而与WS-5和WS-6分别对应的子部件可并行地执行。
接下来,在数据流分析子步骤中,可以对数据流进行分析以获得在控制流分析子步骤中得到的顺序执行链中的各个部件之间的数据依赖性,其中数据流表示输入工作流中的各个部分之间的数据流向。
具体地,由于在输入的工作流中已经定义了其中的各个部分之间的流向,因此在数据流分析子步骤中对顺序执行链中的各个部件之间的数据依赖性进行分析,以便于在随后的处理中以懒惰方式来获取数据。优选地,在数据流分析子步骤中,还对与顺序执行链中的各个部件相关联的数据来源、数据来源的元数据以及对数据来源的数据转换都进行分析。
以下的表1给出了对图1所示的示例工作流的数据依赖性分析的结果。
表1数据依赖性分析结果
从表1可以看出,例如,对于WS-2,其输入参数“addr1”由循环变量来提供并且需要进行“客户位置”的转换。WS-2的输出值传递给IF条件判断分支作为其输入参数“比较变量”。对于Loop循环体,需要对其输入(即循环变量)和输出都进行分析,其输入参数“循环变量”来源于WS-1的输出,并且循环体的输出传递给WS-3。
接下来,返回参照图3,在中介器布置步骤S312中,为通过工作流分析所获得的顺序执行链中的每个部件分配一个中介器并且根据所获得的数据依赖性来布置每个中介器,中介器用于调用各自的网络服务,并且顺序执行链中的各个部件之间的数据传输通过所分配的中介器来实现。
中介器是轻量级的中间功能部件,其提供网关协议和标准的应用程序接口(API)来调用各自的网络服务。具体地,其功能可以包括但不限于:(1)从执行引擎接收对网络服务的调用命令从而触发网络服务的执行;(2)从作为其数据依赖方的中介器获取数据;(3)提供数据缓存机制,以缓存输出结果和中间变量;以及(4)在网络服务执行完成之后,将响应信息发送到执行引擎。
此外,如上所述,如果存在对数据的转换,则在作为数据依赖方的中介器上完成数据转换之后才进行数据传递。优选地,通过工作流分析所获得的数据依赖性也被编码在相应的中介器中,从而有利于各个中介器之间以及中介器与执行引擎之间的数据传递。
优选地,在中介器布置步骤S312中,将各个中介器布置成尽可能靠近其数据依赖方所在的服务主机,这优选地可以通过以下规则来实现:对于顺序执行链中与网络服务对应的部件,将其中介器布置在该部件所在的服务主机上;以及对于顺序执行链中与循环控制结构或条件控制结构对应的部件:如果该部件没有数据依赖方,则随机地选择一个服务主机并将其中介器布置在所选择的服务主机上;如果该部件除客户端之外仅具有一个数据依赖方,则将其中介器布置在其数据依赖方所在的服务主机上;以及如果该部件除了客户端之外具有多个数据依赖方,则从所述多个数据依赖方中随机选择一个数据依赖方并将该部件的中介器布置在所选择的数据依赖方所在的服务主机上。
具体地,作为示例,对于图1所示的工作流,根据表1中的数据依赖性分析结果,对于网络服务WS-1,WS-2和WS-3,分别将其中介器布置在各自的服务主机上;对于循环控制结构Loop,由于其循环变量的值依赖于WS-1的输出,因此将其中介器布置在WS-1的服务主机上;而对于条件控制结构IF,其比较变量的值依赖于WS-2的输出,因此将其中介器布置在WS-2的服务主机上。
此外,为了尽量将数据计算移至数据端从而减轻执行引擎的计算负荷,优选地,对于工作流中的循环控制结构和/或条件控制结构,将其具体操作包装为与循环控制结构和/或条件控制结构的中介器对应的底层网络服务,并且将该底层网络服务和相应的中介器布置在相同的服务主机上。
参照图5,其示出了对于图1所示的示例工作流,根据本发明的去中心化执行方式的示意图。如图5所示,分别将循环控制结构Loop的具体循环操作和条件控制结构的条件判断包装成底层网络服务“WS-Loop”和“WS-IF”,并且将这两个网络服务与各自的中介器“M-Loop”和“M-IF”布置在同一服务主机上,即,分别布置在WS-1和WS-2的服务主机上。
从上述方式可以看出,通过为每个网络服务分配中介器并且将各个中介器布置成尽可能靠近其数据依赖方所在的服务主机,从而大大减少了中间数据的传递,并且由于大量的中间数据不需要发送给执行引擎,因此减轻了执行引擎的工作负荷。
具体地,参照表1和图5,由于WS-2的数据来源为“循环变量”,并且需要将数据来源“循环变量”转换为“客户位置”,因此根据本发明的实施例,在作为数据来源的循环控制结构Loop的中介器M-Loop上完成该数据转换之后,WS-2的中介器M-2才从M-Loop获取转换后的数据“客户位置”。
此外,优选地,在本发明中,中介器的分配和布置由中介器管理器来执行,并且该布置过程是完全自动地而不需要预先布置。该中介器管理器负责自动布置所有中介器并且控制这些转换器的状态信息。当工作流执行完成之后,中介器管理器删除所有中介器。
接下来,在完成了中介器布置之后,在工作流执行步骤S314中,根据所确定的顺序执行链来执行工作流。优选地,由于通过上述方式大大减轻了中央执行引擎的工作负荷,从而可以由轻量级执行引擎来执行工作流。
具体地,在工作流执行步骤S314中,轻量级执行引擎从用户接收指令,触发工作流的执行,并从本地应用程序中获取相应的数据信息。然后,根据顺序执行链通知各个中介器调用各自网络服务并接收中介器的响应信息。优选地,如果中介器对应的是循环控制结构和/或条件控制结构,则在工作流执行步骤S314中,执行引擎会优先调用与循环控制结构的主体和/或条件控制结构的分支对应的子顺序执行链。当整个工作流执行完成之后,执行引擎将从最后一个部件获取数据并呈现给用户。
优选地,为了保证数据安全并且实现数据压缩,可以在各个中介器之间以及执行引擎与中介器之间采用SSH协议来进行数据传输。然而,这仅是示例而非限制,并且可以采用本领域公知的其它通信协议来实现数据传输。
以下将以图1所示的工作流为例,参照图5详细描述根据本发明的工作流的执行方式:
-首先,用户使用诸如移动电话的移动终端设备以获取附近客户信息并将其显示在本地地图上,从而触发工作流的执行。
-然后,轻量级的执行引擎在接收到触发指令之后,通知中介器M-1调用网络服务WS-1,则WS-1执行服务以获取所有的客户信息,并且所获取的客户信息都缓存在中介器M-1中,在该服务执行完成之后,中介器M-1向执行引擎发送响应信息。
-接下来,执行引擎在接收到中介器M-1的响应信息之后,通知中介器M-Loop以触发循环操作。由于中介器M-Loop和中介器M-1布置在同一主机(即,网络服务WS-1所在的服务主机)上,因此中介器M-Loop可以直接对中介器M-1中缓存的客户信息进行遍历。循环操作依次遍历每个客户,并将正常的响应信息发送给执行引擎。当循环遍历完成后,发送NULL信息以通知执行引擎循环操作完成。
-如果执行引擎从中介器M-Loop接收到正常的响应信息,则会优先通知执行循环体的操作,从而激活了中介器M-2,继而调用网络服务WS-2计算各个客户位置与当前位置之间的距离。由于WS-2的输入参数“addr1”的属性值来源于中介器M-Loop并且需要进行数据转换,因此执行引擎会通知在中介器M-Loop上完成数据转换之后再进行数据传递。此外,中介器M-2会向执行引擎发送请求以获取当前位置“addr2”的属性值。
-当WS-2执行完成之后,中介器M-2会向执行引擎发送响应信息并且缓存算出的距离值。然后,执行引擎在接收到中介器M-2发送的响应信息之后会通知中介器M-IF以调用条件判断操作。具体地,由于中介器M-2和中介器M-IF布置在同一主机上,因此中介器M-IF可以直接从中介器M-2获取其缓存的数据(即,各个距离值)并进行条件判断。随后,中介器M-IF将经判断得到的布尔值发送给执行引擎。
-如果布尔值为真,则执行引擎会通知中介器M-Loop对循环操作的输出进行赋值,以将当前的客户信息收集到中介器M-Loop中的名为“附近客户”的缓存中。
-如果执行引擎从中介器M-Loop接收到NULL信息,则通知中介器M-3从中介器M-Loop的缓存“附近客户”中获取附近的客户信息并采用预定模块进行数据映射。
-一旦执行引擎接收到中介器M-3的响应信息,就从中介器M-3获取映射之后的客户信息,并将其添加到本地地图中呈现给用户。
应理解,以上参照图5描述的工作流执行方式仅是根据本发明的实施例的工作流执行方式的优选示例而非限制,并且本领域技术人员可以根据本发明教导的原理而对上述执行方式进行任意修改和调整。
虽然上面结合图1至图5详细描述了根据本发明实施例的数据处理方法的流程的示例,但是本领域的技术人员应当明白,附图所示的流程图仅仅是示例性的,并且可以根据实际应用和具体要求的不同,对上述方法流程进行相应的修改。此外,应理解,以上示例并不构成对本发明的限制,本领域技术人员可以基于所教导的原理,对上述过程进行适当的修改而应用于其它应用场合。
接下来,将参照图6详细描述根据本发明的实施例的数据处理装置600的功能配置。
如图6所示,根据本发明的数据处理装置600可以包括工作流分析器610、中介器管理器612和执行引擎614。以下将参照图6详细描述各个部件的功能配置。
工作流分析器610可以被配置成对输入的工作流进行分析,以得到表示工作流中的各个部分的执行顺序的顺序执行链以及顺序执行链中的各个部件之间的数据依赖性,其中,顺序执行链中的各个部件分别与工作流中的各个部分对应,工作流包括循环控制结构和条件控制结构,并且循环控制结构和条件控制结构也被解构成顺序执行链中的部件。
优选地,工作流分析器610可以被配置成将工作流中的循环控制结构的主体和条件控制结构的分支解构成子顺序执行链。
此外,优选地,工作流分析器610可以进一步包括控制流分析模块和数据流分析模块。
控制流分析模块可以被配置成对控制流进行分析以将输入的工作流解构成顺序执行链,其中,控制流表示工作流中的各个部分的组合方式。优选地,控制流分析模块可以通过执行以上在控制流分析子步骤中描述的示例算法来获得顺序执行链。
根据控制流分析模块执行的操作,不仅将工作流中的网络服务解构成顺序链中的部件,而且还将循环控制解构和条件控制结构也解构成顺序链中的部件。此外,循环控制结构的主体和条件控制结构的分支被解构成该顺序执行链中的子顺序执行链。
数据流分析模块可以被配置成分析数据流以获得顺序执行链中的各个部件之间的数据依赖性,其中,数据流表示工作流中的各个部分之间的数据流向。优选地,数据流分析模块可以被配置成对与顺序执行链中的各个部件相关联的数据来源、数据来源的元数据以及对数据来源的数据转换都进行分析。
关于数据依赖性分析的具体过程和结果可以参见以上在数据流分析子步骤中的相关描述,在此不再赘述。
优选地,如果工作流包括多个可并行执行的部分,则工作流分析器610可以被配置成将多个可并行执行的部分结构为顺序执行链中的一个部件,该部件包括与多个可并行执行的部分对应的多个子部件,这多个子部件在执行工作流时并行地执行。
中介器管理器612可以被配置成为顺序执行链中的每个部件分配中介器并且根据工作流分析器610获得的数据依赖性来布置每个中介器。每个中介器可以调用各自的网络服务,并且顺序执行链中的各个部件之间的数据传输可以通过为其分配的中介器来实现。与现有技术相比,该中介器布置过程优选地是由中介器管理器612自动地执行的,而不需要预先布置各个中介器。
中介器是轻量级的中间功能部件,其提供网关协议和标准的应用程序接口(API)来调用各自的网络服务。具体地,其功能可以包括但不限于:(1)从执行引擎接收对网络服务的调用命令从而触发网络服务的执行;(2)从作为其数据依赖方的中介器获取数据;(3)提供数据缓存机制,以缓存输出结果和中间变量;以及(4)在网络服务执行完成之后,将响应信息发送到执行引擎。
此外,将上述工作流分析器610获得的数据依赖性结果也编码在相应的中介器中,以便于用于随后的处理。优选地,如果存在对数据来源的数据转换,则在作为数据依赖方的中介器上完成数据转换之后再进行数据传递。
优选地,中介器管理器612可以将各个中介器布置成尽可能靠近其数据数据依赖方所在的服务主机,这优选地可以通过以下规则来实现:对于顺序执行链中与网络服务对应的部件,将其中介器布置在该部件所在的服务主机上;以及对于顺序执行链中与循环控制结构或条件控制结构对应的部件:如果该部件没有数据依赖方,则随机地选择一个服务主机并将其中介器布置在所选择的服务主机上;如果该部件除客户端之外仅具有一个数据依赖方,则将其中介器布置在其数据依赖方所在的服务主机上;以及如果该部件除了客户端之外具有多个数据依赖方,则从所述多个数据依赖方中随机选择一个数据依赖方并将该部件的中介器布置在所选择的数据依赖方所在的服务主机上。
此外,为了尽量将数据计算移至数据端从而减轻执行引擎的计算负荷,优选地,对于工作流中的循环控制结构和/或条件控制结构,将其具体操作包装为与循环控制结构和/或条件控制结构的中介器对应的底层网络服务,并且中介器管理器612将该底层网络服务和相应的中介器布置在相同的服务主机上。
优选地,在工作流执行完成之后,中介器管理器612可以删除所有中介器。
执行引擎614可以被配置成根据工作流分析器610得到的顺序执行链来执行工作流。
优选地,由于将大量的具体计算操作移动到数据端并且减少了大量中间数据的传递,从而减轻了执行引擎的处理负荷,因此执行引擎614可以是适于在移动终端设备上使用的轻量级执行引擎,从而能够降低处理性能要求和节省功耗。
具体地,执行引擎614可以被配置成根据顺序执行链,依次通知各个中介器调用其各自的网络服务并接收各个中介器的响应。
此外,在执行工作流时,如果中介器对应的是循环控制结构和/或条件控制结构,则执行引擎614会优先调用与循环控制结构的主体和/或条件控制结构的分支对应的子顺序执行链。
此外,为了保证数据安全以及实现数据压缩以进一步减少数据传输量,在各个中介器之间以及中介器与执行引擎614之间采用例如SSH协议进行数据传输。
需要说明的是,本发明实施例所述的数据处理装置是与前述方法实施例相对应的,因此,装置实施例中未详述的部分,请参见方法实施例中相应位置的介绍,这里不再赘述。
接下来,参照图7,示出了在应用了根据本发明的数据处理装置的终端设备中实现去中心化的工作流执行方式的示例的系统框架。
如图7所示,参照图6描述的数据处理装置600中的工作流分析器610、中介器管理器612和执行引擎614布置在诸如移动电话的终端设备中。当执行工作流时,由中介器管理器612自动地为每个网络服务分配一个中介器并根据工作流分析器610得到的数据依赖性将各个中介器布置在相应的服务主机上,并且轻量级执行引擎614根据工作流分析器610得到的顺序执行链依次通知各个中介器调用其各自的网络服务并且接收各个中介器的响应信息。当接收到最后一个中介器的响应信息之后,执行引擎614将最终执行结果呈现给用户。
从图7可以看出,通过以上述去中心化的方式来执行工作流,执行引擎仅负责控制流的处理,从而减轻了中央执行引擎的处理负荷,由此能够在移动终端上采用轻量级的执行引擎,并且由于大量的中间数据缓存在中介器本地,因此降低了对终端设备的存储器容量的要求,从而可以降低设备的硬件成本和功耗。此外,由于大量的中间数据仅在中介器之间传输,即,直接从数据生产方提供到数据消费方而无需中央执行引擎的干预,因此减少了对网络数据传输量的需求。由此可见,这种工作流执行方式特别适合于在硬件资源和网络带宽均有限的移动终端上使用。这些终端设备可以包括但不限于移动电话、个人数字助理、平板电脑等等。
另外,还应该指出的是,上述系列处理和装置也可以通过软件和/或固件实现。在通过软件和/或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机,例如图8所示的通用个人计算机800安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等等。
在图8中,中央处理单元(CPU)801根据只读存储器(ROM)802中存储的程序或从存储部分808加载到随机存取存储器(RAM)803的程序执行各种处理。在RAM803中,也根据需要存储当CPU801执行各种处理等等时所需的数据。
CPU801、ROM802和RAM803经由总线804彼此连接。输入/输出接口805也连接到总线804。
下述部件连接到输入/输出接口805:输入部分806,包括键盘、鼠标等等;输出部分807,包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等等,和扬声器等等;存储部分808,包括硬盘等等;和通信部分809,包括网络接口卡比如LAN卡、调制解调器等等。通信部分809经由网络比如因特网执行通信处理。
根据需要,驱动器810也连接到输入/输出接口805。可拆卸介质811比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器810上,使得从中读出的计算机程序根据需要被安装到存储部分808中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质811安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图8所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质811。可拆卸介质811的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM802、存储部分808中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
还需要指出的是,执行上述系列处理的步骤可以自然地根据说明的顺序按时间顺序执行,但是并不需要一定根据时间顺序执行。某些步骤可以并行或彼此独立地执行。
虽然已经详细说明了本发明及其优点,但是应当理解在不脱离由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。而且,本发明实施例的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
根据本发明的实施例,还公开了以下附记:
1.一种数据处理方法,包括:
工作流分析步骤,用于对输入的工作流进行分析,以得到表示工作流中的各个部分的执行顺序的顺序执行链以及所述顺序执行链中的各个部件之间的数据依赖性,其中,所述顺序执行链中的各个部件分别与所述工作流中的各个部分对应,所述工作流包括循环控制结构和条件控制结构,并且所述循环控制结构和所述条件控制结构被解构成所述顺序执行链中的部件;
中介器布置步骤,用于为所述顺序执行链中的每个部件分配中介器并且根据所述数据依赖性来布置每个中介器,所述中介器用于调用各自的网络服务,并且所述顺序执行链中的各个部件之间的数据传输通过所分配的中介器来实现;以及
工作流执行步骤,用于根据所述顺序执行链执行所述工作流。
2.根据附记1所述的数据处理方法,其中,在所述中介器布置步骤中,将所述中介器布置成靠近其数据依赖方所在的服务主机。
3.根据附记2所述的数据处理方法,其中,在所述中介器布置步骤中,进一步基于以下规则来根据所述数据依赖性布置所述中介器:
对于所述顺序执行链中与网络服务对应的部件,将其中介器布置在该部件所在的服务主机上;以及
对于所述顺序执行链中与所述循环控制结构或所述条件控制结构对应的部件:如果该部件没有数据依赖方,则随机地选择一个服务主机并将其中介器布置在所选择的服务主机上;如果该部件除客户端之外仅具有一个数据依赖方,则将其中介器布置在其数据依赖方所在的服务主机上;以及如果该部件除了客户端之外具有多个数据依赖方,则从所述多个数据依赖方中随机选择一个数据依赖方并将该部件的中介器布置在所选择的数据依赖方所在的服务主机上。
4.根据附记3所述的数据处理方法,其中,将所述循环控制结构或所述条件控制结构的具体操作包装为与所述循环控制结构或所述条件控制结构的中介器对应的底层网络服务,并且将所述底层网络服务和相应的循环控制结构或条件控制结构的中介器布置在相同的服务主机上。
5.根据附记1至4中任一项所述的数据处理方法,其中,所述工作流执行步骤由轻量级执行引擎来执行。
6.根据附记5所述的数据处理方法,其中,在所述工作流执行步骤中,由所述轻量级执行引擎根据所述顺序执行链依次通知各个中介器调用各自的网络服务并接收各个中介器的响应。
7.根据附记1所述的数据处理方法,其中,在所述工作流分析步骤中,将所述循环控制结构的主体和所述条件控制结构的分支解构成子顺序执行链。
8.根据附记7所述的数据处理方法,其中,如果中介器对应的是所述循环控制结构或所述条件控制结构,则在所述工作流执行步骤中,优先调用与所述循环控制结构的主体或所述条件控制结构的分支对应的子顺序执行链。
9.根据附记1所述的数据处理方法,其中,所述工作流分析步骤进一步包括:
控制流分析子步骤,用于分析控制流以将所述工作流解构成所述顺序执行链,其中,所述控制流表示所述工作流中的各个部分的组合方式;以及
数据流分析子步骤,用于分析数据流以获得所述顺序执行链中的各个部件之间的数据依赖性,其中,所述数据流表示所述工作流中的各个部分之间的数据流向。
10.根据附记9所述的数据处理方法,其中,在所述数据流分析子步骤中,还对与所述顺序执行链中的各个部件相关联的数据来源、所述数据来源的元数据以及所述数据来源的数据转换进行分析。
11.根据附记10所述的数据处理方法,其中,如果需要所述数据来源的数据转换,则在与作为所述数据来源的部件对应的源中介器上完成数据转换之后,与作为数据目的地的部件对应的目标中介器从所述源中介器获得经数据转换之后的数据。
12.根据附记1至11中任一项所述的数据处理方法,其中,在所述中介器布置步骤中,由中介器管理器自动地布置所有中介器。
13.根据附记12所述的数据处理方法,其中,当在所述工作流执行步骤中完成所述工作流的执行之后,由所述中介器管理器删除所有中介器。
14.根据附记1至13中任一项所述的数据处理方法,其中,如果所述工作流包括多个可并行执行的部分,则在所述工作流分析步骤中,将所述多个可并行执行的部分解构为所述顺序执行链中的一个部件,该部件包括与所述多个可并行执行的部分对应的多个子部件,所述多个子部件在所述工作流执行步骤中并行地执行。
15.根据附记1至14中任一项所述的数据处理方法,其中,所述中介器的功能包括但不限于:接收对网络服务的调用命令并触发网络服务的执行;从作为其数据依赖方的中介器获取数据;提供数据缓存机制,以缓存输出结果和中间变量;以及在网络服务执行完成之后发送响应。
16.根据附记1至15中任一项所述的数据处理方法,其中,所述数据依赖性被编码在相应的中介器中。
17.根据附记1至16中任一项所述的数据处理方法,其中,各个中介器之间以及执行引擎与中介器之间采用安全外壳SSH协议进行数据传输。
18.一种数据处理装置,包括:
工作流分析器,被配置成对输入的工作流进行分析,以得到表示工作流中的各个部分的执行顺序的顺序执行链以及所述顺序执行链中的各个部件之间的数据依赖性,其中,所述顺序执行链中的各个部件分别与所述工作流中的各个部分对应,所述工作流包括循环控制结构和条件控制结构,并且所述循环控制结构和所述条件控制结构被解构成所述顺序执行链中的部件;
中介器管理器,被配置成为所述顺序执行链中的每个部件分配中介器并且根据所述数据依赖性来布置每个中介器,所述中介器用于调用各自的网络服务,并且所述顺序执行链中的各个部件之间的数据传输通过所分配的中介器来实现;以及
执行引擎,用于根据所述顺序执行链执行所述工作流。
19.根据附记18所述的数据处理装置,其中,所述中介器管理器进一步被配置成将所述中介器布置成靠近其数据依赖方所在的服务主机。
20.根据附记19所述的数据处理装置,其中,所述中介器管理器进一步被配置成基于以下规则来根据所述数据依赖性布置所述中介器:
对于所述顺序执行链中与网络服务对应的部件,将其中介器布置在该部件所在的服务主机上;以及
对于所述顺序执行链中与所述循环控制结构或所述条件控制结构对应的部件:如果该部件没有数据依赖方,则随机地选择一个服务主机并将其中介器布置在所选择的服务主机上;如果该部件除客户端之外仅具有一个数据依赖方,则将其中介器布置在其数据依赖方所在的服务主机上;以及如果该部件除了客户端之外具有多个数据依赖方,则从所述多个数据依赖方中随机选择一个数据依赖方并将该部件的中介器布置在所选择的数据依赖方所在的服务主机上。
21.根据附记20所述的数据处理装置,其中,所述循环控制结构或所述条件控制结构的具体操作被包装为与所述循环控制结构或所述条件控制结构的中介器对应的底层网络服务,并且所述底层网络服务和相应的循环控制结构或条件控制结构的中介器布置在相同的服务主机上。
22.根据附记18至21中任一项所述的数据处理装置,其中,所述执行引擎是轻量级执行引擎。
23.根据附记22所述的数据处理装置,其中,所述轻量级执行引擎被配置成根据所述顺序执行链依次通知各个中介器调用各自的网络服务并接收各个中介器的响应。
24.根据附记18所述的数据处理装置,其中,所述工作流分析器进一步被配置成将所述循环控制结构的主体和所述条件控制结构的分支解构成子顺序执行链。
25.根据附记24所述的数据处理装置,其中,如果中介器对应的是所述循环控制结构或所述条件控制结构,则所述执行引擎优先调用与所述循环控制结构的主体或所述条件控制结构的分支对应的子顺序执行链。
26.根据附记18所述的数据处理装置,其中,所述工作流分析器进一步包括:
控制流分析模块,被配置成分析控制流以将所述工作流解构成所述顺序执行链,其中,所述控制流表示所述工作流中的各个部分的组合方式;以及
数据流分析模块,被配置成分析数据流以获得所述顺序执行链中的各个部件之间的数据依赖性,其中,所述数据流表示所述工作流中的各个部分之间的数据流向。
27.根据附记26所述的数据处理装置,其中,所述数据流分析模块进一步被配置成对与所述顺序执行链中的各个部件相关联的数据来源、所述数据来源的元数据以及所述数据来源的数据转换进行分析。
28.根据附记27所述的数据处理装置,其中,如果需要所述数据来源的数据转换,则在与作为所述数据来源的部件对应的源中介器上完成数据转换之后,与作为数据目的地的部件对应的目标中介器从所述源中介器获得经数据转换之后的数据。
29.根据附记18至28中任一项所述的数据处理装置,其中,所述中介器管理器自动地布置所有中介器。
30.根据附记29所述的数据处理装置,其中,在所述执行引擎完成所述工作流的执行之后,由所述中介器管理器删除所有中介器。
31.根据附记18至30中任一项所述的数据处理装置,其中,如果所述工作流包括多个可并行执行的部分,则所述工作流分析器被配置成将所述多个可并行执行的部分解构为所述顺序执行链中的一个部件,该部件包括与所述多个可并行执行的部分对应的多个子部件,所述多个子部件在所述执行引擎执行所述工作流时并行地执行。
32.根据附记18至31中任一项所述的数据处理装置,其中,所述中介器的功能包括但不限于:接收对网络服务的调用命令并触发网络服务的执行;从作为其数据依赖方的中介器获取数据;提供数据缓存机制,以缓存输出结果和中间变量;以及在网络服务执行完成之后发送响应。
33.根据附记18至32中任一项所述的数据处理装置,其中,所述数据依赖性被编码在相应的中介器中。
34.根据附记18至33中任一项所述的数据处理装置,其中,各个中介器之间以及所述执行引擎与中介器之间采用安全外壳SSH协议进行数据传输。
35.一种终端设备,包括根据附记18至34中任一项所述的数据处理装置。
36.根据附记35所述的终端设备,其中,所述终端设备包括但不限于移动电话、个人数字助理、平板电脑。
37.一种存储介质,所述存储介质包括机器可读的程序代码,当在信息处理设备上执行所述程序代码时,所述程序代码使得所述信息处理设备执行根据附记1至17中任一项所述的数据处理方法。
38.一种程序产品,所述程序产品包括机器可执行的指令,当在信息处理设备上执行所述指令时,所述指令使得所述信息处理设备执行根据附记1至17中任一项所述的数据处理方法。
Claims (10)
1.一种数据处理方法,包括:
工作流分析步骤,用于对输入的工作流进行分析,以得到表示工作流中的各个部分的执行顺序的顺序执行链以及所述顺序执行链中的各个部件之间的数据依赖性,其中,所述顺序执行链中的各个部件分别与所述工作流中的各个部分对应,所述工作流包括循环控制结构和条件控制结构,并且所述循环控制结构和所述条件控制结构被解构成所述顺序执行链中的部件;
中介器布置步骤,用于为所述顺序执行链中的每个部件分配中介器并且根据所述数据依赖性来布置每个中介器,所述中介器用于调用各自的网络服务,并且所述顺序执行链中的各个部件之间的数据传输通过所分配的中介器来实现;以及
工作流执行步骤,用于根据所述顺序执行链执行所述工作流。
2.根据权利要求1所述的数据处理方法,其中,在所述中介器布置步骤中,将所述中介器布置成靠近其数据依赖方所在的服务主机。
3.根据权利要求2所述的数据处理方法,其中,在所述中介器布置步骤中,进一步基于以下规则来根据所述数据依赖性布置所述中介器:
对于所述顺序执行链中与网络服务对应的部件,将其中介器布置在该部件所在的服务主机上;以及
对于所述顺序执行链中与所述循环控制结构或所述条件控制结构对应的部件:如果该部件没有数据依赖方,则随机地选择一个服务主机并将其中介器布置在所选择的服务主机上;如果该部件除客户端之外仅具有一个数据依赖方,则将其中介器布置在其数据依赖方所在的服务主机上;以及如果该部件除了客户端之外具有多个数据依赖方,则从所述多个数据依赖方中随机选择一个数据依赖方并将该部件的中介器布置在所选择的数据依赖方所在的服务主机上。
4.根据权利要求3所述的数据处理方法,其中,将所述循环控制结构或所述条件控制结构的具体操作包装为与所述循环控制结构或所述条件控制结构的中介器对应的底层网络服务,并且将所述底层网络服务和相应的循环控制结构或条件控制结构的中介器布置在相同的服务主机上。
5.根据权利要求1至4中任一项所述的数据处理方法,其中,所述工作流执行步骤由轻量级执行引擎来执行。
6.根据权利要求1所述的数据处理方法,其中,在所述工作流分析步骤中,将所述循环控制结构的主体和所述条件控制结构的分支解构成子顺序执行链。
7.根据权利要求1所述的数据处理方法,其中,所述工作流分析步骤进一步包括:
控制流分析子步骤,用于分析控制流以将所述工作流解构成所述顺序执行链,其中,所述控制流表示所述工作流中的各个部分的组合方式;以及
数据流分析子步骤,用于分析数据流以获得所述顺序执行链中的各个部件之间的数据依赖性,其中,所述数据流表示所述工作流中的各个部分之间的数据流向。
8.根据权利要求1所述的数据处理方法,其中,在所述中介器布置步骤中,由中介器管理器自动地布置所有中介器。
9.根据权利要求1所述的数据处理方法,其中,如果所述工作流包括多个可并行执行的部分,则在所述工作流分析步骤中,将所述多个可并行执行的部分解构为所述顺序执行链中的一个部件,该部件包括与所述多个可并行执行的部分对应的多个子部件,所述多个子部件在所述工作流执行步骤中并行地执行。
10.一种数据处理装置,包括:
工作流分析器,被配置成对输入的工作流进行分析,以得到表示工作流中的各个部分的执行顺序的顺序执行链以及所述顺序执行链中的各个部件之间的数据依赖性,其中,所述顺序执行链中的各个部件分别与所述工作流中的各个部分对应,所述工作流包括循环控制结构和条件控制结构,并且所述循环控制结构和所述条件控制结构被解构成所述顺序执行链中的部件;
中介器管理器,被配置成为所述顺序执行链中的每个部件分配中介器并且根据所述数据依赖性来布置每个中介器,所述中介器用于调用各自的网络服务,并且所述顺序执行链中的各个部件之间的数据传输通过所分配的中介器来实现;以及
执行引擎,用于根据所述顺序执行链执行所述工作流。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310067968.1A CN104036335A (zh) | 2013-03-04 | 2013-03-04 | 数据处理方法和数据处理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310067968.1A CN104036335A (zh) | 2013-03-04 | 2013-03-04 | 数据处理方法和数据处理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN104036335A true CN104036335A (zh) | 2014-09-10 |
Family
ID=51467099
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310067968.1A Pending CN104036335A (zh) | 2013-03-04 | 2013-03-04 | 数据处理方法和数据处理装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN104036335A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111656316A (zh) * | 2018-01-25 | 2020-09-11 | 京瓷办公信息系统株式会社 | 信息处理系统、信息处理方法和信息处理装置 |
| CN116258358A (zh) * | 2023-01-05 | 2023-06-13 | 中银金融科技有限公司 | 基于工作流的决策引擎循环体数据处理方法及装置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070156486A1 (en) * | 2005-12-29 | 2007-07-05 | Microsoft Corporation | Multiple concurrent workflow persistence schemes |
| CN101694709A (zh) * | 2009-09-27 | 2010-04-14 | 华中科技大学 | 一种面向服务的分布式工作流管理系统 |
| CN102236578A (zh) * | 2010-05-07 | 2011-11-09 | 微软公司 | 分布式工作流执行 |
| CN102254246A (zh) * | 2011-06-17 | 2011-11-23 | 中国建设银行股份有限公司 | 一种工作流管理方法及其系统 |
-
2013
- 2013-03-04 CN CN201310067968.1A patent/CN104036335A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070156486A1 (en) * | 2005-12-29 | 2007-07-05 | Microsoft Corporation | Multiple concurrent workflow persistence schemes |
| CN101694709A (zh) * | 2009-09-27 | 2010-04-14 | 华中科技大学 | 一种面向服务的分布式工作流管理系统 |
| CN102236578A (zh) * | 2010-05-07 | 2011-11-09 | 微软公司 | 分布式工作流执行 |
| CN102254246A (zh) * | 2011-06-17 | 2011-11-23 | 中国建设银行股份有限公司 | 一种工作流管理方法及其系统 |
Non-Patent Citations (2)
| Title |
|---|
| DONG YUAN ET AL.: "A data dependency based strategy for intermediate data storage in scientific cloud workflow systems", 《CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE》 * |
| VIJAYALAKSHMI ATLURI ET AL.: "A decentralized execution model for inter-organizational workflows", 《DISTRIBUTED & PARALLEL DATABASE》 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111656316A (zh) * | 2018-01-25 | 2020-09-11 | 京瓷办公信息系统株式会社 | 信息处理系统、信息处理方法和信息处理装置 |
| CN111656316B (zh) * | 2018-01-25 | 2023-11-03 | 京瓷办公信息系统株式会社 | 信息处理系统和信息处理方法 |
| CN116258358A (zh) * | 2023-01-05 | 2023-06-13 | 中银金融科技有限公司 | 基于工作流的决策引擎循环体数据处理方法及装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8949378B2 (en) | Method and system for providing a state model of an application program | |
| WO2021103479A1 (zh) | 用于训练深度学习模型的方法和装置 | |
| US20140136717A1 (en) | Configuring cloud resources | |
| CN112328301B (zh) | 维护运行环境一致性的方法、装置、存储介质及电子设备 | |
| CN104281456B (zh) | 一种基于云计算的油气田开发工程应用软件系统 | |
| EP2593866A1 (en) | Method and apparatus for distributing computation closures | |
| US20090070764A1 (en) | Handling queues associated with web services of business processes | |
| JP2020521238A (ja) | キャッシュ最適化及び効率的な処理のためのデータ集約の方法 | |
| US8849947B1 (en) | IT discovery of virtualized environments by scanning VM files and images | |
| JP2023544904A (ja) | 機械学習パイプラインの分散型リソースアウェアトレーニング | |
| WO2022226205A1 (en) | System and method for packaging standalone application modules into re-usable application and infrastructure resources | |
| CN114625479A (zh) | 边缘计算中云边协同应用管理方法及对应的装置 | |
| CN111600920A (zh) | 基于js的数据请求代理方法、装置、设备及可读存储介质 | |
| US9111009B2 (en) | Self-parsing XML documents to improve XML processing | |
| US10165036B1 (en) | Network resource remote process execution | |
| US20140157227A1 (en) | Method and system for preserving restful web service structure in a client consuming the restful web service | |
| Zhang et al. | Improving data transfer performance of web service workflows in the cloud environment | |
| CN104036335A (zh) | 数据处理方法和数据处理装置 | |
| CN115348246A (zh) | 多用户在线代理抓包调试的方法、设备、系统及介质 | |
| CN112817573B (zh) | 用于构建流式计算应用的方法、装置、计算机系统和介质 | |
| Sharma et al. | Modeling cloud SaaS with SOA and MDA | |
| CN117056022A (zh) | Rpa任务的执行方法、装置、电子设备及存储介质 | |
| WO2016095377A1 (zh) | 一种瘦客户端的图像显示方法、装置及电子设备 | |
| CN110120959A (zh) | 大数据推送方法、装置、系统、设备及可读存储介质 | |
| CN115718588A (zh) | 发布网络服务的方法、装置、存储介质及处理器 |
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: 20180928 |
|
| AD01 | Patent right deemed abandoned |