CN102955987A - 一种面向分布式工作流的数据流初始调度方法和系统 - Google Patents
一种面向分布式工作流的数据流初始调度方法和系统 Download PDFInfo
- Publication number
- CN102955987A CN102955987A CN2011102527487A CN201110252748A CN102955987A CN 102955987 A CN102955987 A CN 102955987A CN 2011102527487 A CN2011102527487 A CN 2011102527487A CN 201110252748 A CN201110252748 A CN 201110252748A CN 102955987 A CN102955987 A CN 102955987A
- Authority
- CN
- China
- Prior art keywords
- data
- matrix
- activity
- cooperation relation
- vector
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了面向分布式工作流的数据流的初始调度方法和系统,该方法包括:1)根据活动使用数据的次数确定活动和数据的依赖关系;2)对于任意两个数据,根据活动和数据的依赖关系确定依赖该两个数据的活动个数;3)以依赖任意两个数据的活动个数为元素建立协作关系矩阵,进行协作关系矩阵的行列转换以使相近的行列之间相互关系紧密;4)将转换后的协作关系矩阵分块,使共同被任意活动使用的数据共存于一个子块,将每个子块对应的数据组成一个数据集;5)将只包含可移动数据的数据集调度到使该数据集所需要的流转时间最短的数据集存放库。本发明有效减少地理分布的业务流程之间数据流转时间以及由于网络中断导致工作流引擎无法运行的次数。
Description
技术领域
本发明属于信息处理领域,更具体地,涉及业务流程管理领域。
背景技术
业务协作是驱动企业业务增长的重要力量。来自于不同企业的资源、观点以及其他互补力量的聚合,将会创造出强有力的联盟来应对日益激烈的市场竞争。
企业应用集成是解决业务协作中信息交互和共享问题的方法和技术。目前,随着我国企业信息化程度的不断提高,几乎每个企业中都迫切需要一个集成框架来解决企业内部不同系统之间的交互问题。该集成框架作为一个开放的框架,使现有的系统根据企业业务的需要实现集成,并且能快速地添加新的系统,使企业既可以保护已有的投资又可以根据市场和业务的需求重新整合原有的系统产生新的竞争力。随着过程代理技术的提出,业务流程管理成了企业应用集成的核心内容。
随着Web服务的出现,面向服务的架构给业务流程管理带来了新的发展。在这种架构下,业务流程只需要通过组合服务来实现,由此带来的松散耦合非常适合动态、多变的市场需求和日益激烈的市场竞争,大大增强了企业的竞争力。
企业中经常存在地理分布的异构型计算资源通过复杂的交互才能完成的业务流程,例如供应链管理,在线购物,城市应急等。当前的集中式工作流引擎不适合处理上述业务流程。分布式的工作流系统使用户能够透明地应用由不同机型、不同运行平台组成的异构型计算资源,借助信息共享的分布式技术完成一个业务流程。这种分布式的执行架构,分布式工作流系统天然地适合多个组织参与的大规模流程的环境。基于事件的分布式引擎是分布式工作流系统的一个代表,例如:瑞士的苏黎世大学的事件驱动的分布式工作流执行引擎EvE(EVent Engine);在面向服务的架构下,加拿大的多伦多大学的面向服务架构的分布式的业务流程执行引擎是一个典型工作。
在工作流中,存在控制流和数据流两种流程。其中,控制流是指控制业务活动执行顺序的逻辑,数据流为业务活动的执行提供数据,它是随着业务过程的推进产生的。数据流的调度是指对数据交互的协调和控制,把正确的数据有效地传递给正确的业务活动。现有的分布式工作流引擎往往只重视控制流的调度,而忽视数据流的调度,使得它们在处理地理分布的业务流程中的数据流时存在数据流转时间长的缺点。每次运行业务流程实例时,地理分布的业务流程之间都需要通过互联网在数据集存放库之间进行数据流转,特别在多个业务流程实例同时运行的情况下,每个业务流程实例都需要重复地进行数据流转,导致工作流引擎需要很长的数据流转时间。
发明内容
本发明的目的是克服现有地理分布的业务流程在协作时,通过互联网进行数据流转存在的时间长、效率低的缺陷,从而提供一种面向分布式工作流的数据流初始调度方法和系统。
根据本发明一个方面,提供了一种面向分布式工作流的数据流的初始调度方法,包括:
1)根据活动使用数据的次数确定活动和数据的依赖关系;
2)对于任意两个数据,根据活动和数据的依赖关系确定依赖该两个数据的活动的个数;
3)以依赖任意两个数据的活动的个数为元素建立协作关系矩阵,进行协作关系矩阵的行列转换以使相近的行列之间相互关系紧密;
4)将转换后的协作关系矩阵分块,使共同被任意活动使用的数据共存于一个子块,将每个子块对应的数据组成一个数据集;
5)将只包含可移动数据的数据集调度到使该数据集所需要的流转时间最短的数据集存放库。
根据本发明另一方面,还提供了一种面向分布式工作流的数据流的调度方法,包括:
1)根据上述初始调度方法进行数据流的初始调度;
2)在运行时,对数据流和/或活动进行调度。
根据本发明另一方面,还提供了一种面向分布式工作流的数据流的初始调度系统,包括:
活动和数据依赖关系确定模块,用于根据活动使用数据的次数确定活动和数据的依赖关系;
公共活动确定模块,用于对于任意两个数据,根据活动和数据的依赖关系确定依赖该两个数据的活动的个数;
协作关系矩阵建立和转换模块,用于以依赖任意两个数据的活动的个数为元素建立协作关系矩阵,进行协作关系矩阵的行列转换以使相近的行列之间相互关系紧密;
协作关系矩阵分块模块,用于将转换后的协作关系矩阵分块,使共同被任意活动使用的数据共存于一个子块,将每个子块对应的数据组成一个数据集;
数据集装载模块,用于将只包含可移动数据的数据集调度到使该数据集所需要的流转时间最短的数据集存放库。
根据本发明又一方面,还提供了一种面向分布式工作流的数据流的调度系统,具体包括上述初始调度系统和用于在运行时对数据流和/或活动进行调度的运行时调度系统。
本发明上述方法和系统的优点在于不仅可以有效减少地理分布的业务流程之间数据流转的时间,还可以减少由于网络中断导致工作流引擎无法运行的次数。
附图说明
图1为根据本发明一个实施例的数据流初始调度的流程图;
图2为根据本发明一个实施例的数据和活动依赖关系的示意图;
图3为根据图1所示的数据和活动依赖关系的数据之间协作关系的示意图;
图4a和图4b分别为根据本发明一个实施例的转换前后的数据协作关系矩阵的示意图;
图5是根据本发明一个实施例的待分块矩阵的示意图;
图6是根据本发明一个实施例的分块后矩阵示意图;
图7为根据图6的分块后矩阵确定的数据集和数据集存放库的存放关系示意图;
图8为根据本发明一个实施例的工作流管理流程图;
图9为根据本发明一个实施例的运行时数据调度示意图;
图10为根据本发明一个实施例的运行时活动调度示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对根据本发明一个实施例的一种面向分布式工作流的数据流初始调度方法和系统进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明中,通过对分布式流程中的数据进行关联分析,根据分析的结果对数据进行初始调度,从而减少活动调度到节点后等待数据的流转时间。在对本发明的具体实施例进行详细说明之前,首先对本发明中所涉及的相关概念进行统一说明,以方便理解。
业务流程:共同完成一个业务目标或者政策目标的一组关联的程序或者活动的集合。
活动:业务流程中的执行单元,其可以是数据库事务或者任何访问数据的操作。在本发明中,所述的活动可以包括人工活动和自动执行的活动,自动执行的活动可以包括java类和Web服务
业务流程实例:一个流程及其关联数据的一次配置的表示。每个实例表示流程的一次独立的执行,它可以被独立控制,有自己内部的状态和外部可视化的实体。其中,这些实体可以被看作句柄。例如,记录和查找与每个流程实例相关的审计数据。
状态转移:工作流从一个流程状态到另一个流程状态的一次转移,反应工作流状态的变化。例如,初始化一个特定的活动。
数据:业务流程中活动执行依赖的数据,主要是相关数据和文件。这些在工作流管理系统中使用的相关数据用来判断一个工作流实例的状态转移。例如,前置和后置条件,转移条件或者工作流参与者任务。
数据和活动依赖关系:活动完成业务流程状态转移所需要的数据。
数据之间的协作关系:参与活动执行,实现从业务流程的一个状态变迁到另一个状态的数据之间建立的关系。
数据集:一组具有协作关系的数据的集合。
数据集存放库:存放数据集的数据库,当然,也可以使用文件存放数据集,则该文件也称为数据集存放库。
节点:分布在不同地理位置共同执行一个业务流程实例的机器,每个机器都有一个数据集存放库。
数据和数据集存放库之间的存放关系:数据和存放该数据的数据集存放库之间建立的关系。
关联分析:对上述所有关系进行计算的过程统称为关联分析。
以上是对本发明中所涉及的一些常用概念的说明,下面在这些概念的基础上结合附图对工作流管理过程进行说明。
工作流引擎要完成数据调度,实际上是要将相互间具有协作关系的数据按照协作关系的紧密程度放在一起,以形成数据集。业务流程在运行过程中,会产生一些数据,考察这些数据的类型,可以分为二个类型,一类是可移动数据,一类是不可移动数据,其中后者包括必须用专门设备处理的数据,太大而无法有效移动的数据,隐私保护的数据。上述两种类型的数据处理过程有很大的差异,因此在下文中将分别加以说明。
遵循“数据流转的代价远远大于调度活动的代价”基本原理,初始化数据调度主要是把活动依赖的数据调度到与它协作关系程度最高的数据集中,以便将活动调度到存放该数据集的数据集存放库中,从而减少数据流转时间。
业务流程包含很多活动和数据,它们构成了复杂的多对多的关系,一个活动或者需要多个数据,一个数据或者被多个活动使用,不仅如此,在业务流程运行时,新的数据可能产生,活动产生的数据可能被随后的活动或者其他业务流程的活动所使用,因此初始化数据调度应该建立在这些活动和数据之间依赖关系基础上。下面将根据图1详细描述数据流调度的过程。
a、数据和活动依赖关系的建立
图2为数据和活动依赖关系的示意图,如图2所示,对于活动A1,它在数据上依赖d1和d2。用符号D表示数据集合,用符号A表示活动集合。为了表示活动和数据之间的依赖关系,对每个数据di∈D,定义一个活动集合和数据大小<SAi,si>,称为数据和活动依赖关系。其中,表示依赖数据di的活动的集合,并且任意活动每使用数据di一次则该集合中包括一个该活动,例如,活动A1使用数据d2两次,则SA2中包括两个等于A1的元素;si表示di的大小。基于数据和活动依赖关系,可以计算出数据之间协作关系的紧密程度。如图2所示,假设本文中用到的数据大小都是1Mbyte,则d1=<{A1},1Mbyte>,d2=<{A1},1Mbyte>。
b、数据之间协作关系的建立
在业务协作过程中,很多业务流程实例同时运行,它们中每一个都有复杂的结构,其中的活动将会使用大量数据并且产生大量的数据。为了执行活动,所有需要的数据必须调度到一起,这需要花费大量的数据流转时间。如果两个数据经常被同一个活动所使用,那么为了减少数据流转的次数,在初始化时,它们应该被调度到一起,把这样的数据之间的关系称为数据之间的协作关系。换句话说,两个数据被认为有协作关系当且仅当它们被相同活动所使用。同时,使用这两个数据的活动越多,这些数据之间的协作关系越紧密。使用符号Cij表示数据di和数据dj之间的协作关系的紧密程度。如果存在依赖数据di和dj二者的活动,那么认为数据di和数据dj存在协作关系。根据本发明一个实施例,将di和dj协作关系的紧密程度Cij表示为使用di和dj二者的活动个数,表示为Cij=Count(SAi∩SAj)。图3示出了根据图1所示的数据和活动依赖关系的数据之间协作关系,活动A1同时使用数据d1和数据d2,那么C12=1。
根据所有数据之间的协作关系,生成数据之间的协作关系矩阵,其中矩阵中的每个元素Cij表示对应数据di和dj协作关系,即使用di和dj二者的活动个数。
然后,对协作关系矩阵进行转换,进一步而言,进行协作关系矩阵的行列转换以使相近的行和列之间相互关系较高,来最终获得到具有全局最优协作关系的数据分布。
具体地,对协作关系矩阵进行转换包括如下步骤:
步骤1:首先从原始协作关系矩阵中任意选两个行向量Mi和Mj,放置到一个与原始协作关系矩阵具有相同行列的新矩阵的前两行。
步骤2:从原始协作关系矩阵剩余的行向量中任意选取一个行向量Mk,依次插入新矩阵中现有t个行向量的两侧相邻位子,共有t+1个位子,根据相邻的三个行向量的位置关系利用公式计算相关系数cont。以Mk插在Mi和Mj之间为例,则利用如下公式1计算相关系数cont:
cont(Mi,Mk,Mj)=2C(Mi,Mk)+2C(Mk,Mj)-2C(Mi,Mj) 1
其中C(Mi,Mj)为向量Mi和Mj的点积,C(Mi,Mk)和C(Mk,Mj)与之类似。
步骤3:选择cont值最高的t+1个向量的组合,并按照该组合中向量的顺序重新将上述t+1个向量放到新矩阵的前t+1行。
步骤4:重复上述步骤2和3,直到t+1等于矩阵的行数。
步骤5:根据原始协作关系矩阵的上述行转换进行相应列转换,生成转换后矩阵。
根据上述优选实施例,C(Mi,Mj)为向量Mi和Mj的点积,当然,也可以采用其他表征向量Mi和Mj之间关系的参数。例如:
图4a和图4b分别示出了根据本发明一个实施例进行数据协作关系矩阵转换前后的协作关系矩阵。
完成上述对数据协作关系矩阵的转换后,对转换后矩阵进行分块,使共同被任意活动使用的数据共存于一个子块,其中该活动可以是1个或多个。
图5示出了根据本发明一个优选实施例的转换后矩阵,其中在该矩阵的对角线上找到一个点x用于分块,该x满足CL×CU-CI2最大。其中,以点x为交点做一横线和纵线,将矩阵分为左上、左下、右上和右下四部分。CL表示只使用分块后矩阵的左上部分对应数据的活动使用左上部分对应数据的次数,对于图5中所示转换后矩阵,即SA1和SA3中只使用d1和d3中的一个或二者的活动个数。具体地,包括只使用d1的活动、只使用d3的活动和只使用d1和d3的活动的总个数。类似地,CU表示只使用分块后矩阵的右下部分对应数据的活动使用右下部分对应数据的次数,对于图5中所示转换后矩阵,即SA2、SA4和SA5中只使用d2、d4和d5中一个或多个数据的活动的个数。CI表示即使用分块矩阵的左上部分数据同时又使用右下部分数据的活动同时使用左上部分数据和右下部分数据的次数加即使用分块矩阵的右上部分数据同时又使用左下部分数据的活动同时使用右上部分数据和左下部分数据的次数。
具体地,分块过程包括如下步骤:
步骤1:确定分块数。
步骤2:在当前协作关系矩阵下,选择使得CL×CU-CI2最大的x点,并且把该点下CL×CU-CI2的值设置为阈值。
循环执行n-1次步骤3到步骤5,n是协作关系矩阵的行数。
步骤3:把协作关系矩阵的最左边的列移动到最右边,同时最上边的行移动到最下边。
步骤4:在当前协作关系矩阵下,选择使CL×CU-CI2最大的x点。
步骤5:如果x点对应的CL×CU-CI2大于当前设置的阈值,则就将该点下CL×CU-CI2的值设置为阈值。
步骤6:根据当前阈值对应的x点把协作关系矩阵分为左上和右下两个子块。
步骤7:对每个子块依次重复步骤2到步骤6,直到满足划分块等于用户指定的分块数目。
本领域普通技术人员可以理解,上面提供了一种根据本发明优选实施例的分块方式,但是还可以有其他分块方法,只要尽可能使共同被任意活动使用的数据共存于一个子块中即可,例如,可以根据活动与数据的依赖关系来人工分块。另外,在上面的优选实施例中,通过接收用户设置的分块数来设定分块操作的边界条件,当然也可以采用其他边界条件,例如可以通过对CL×CU-CI2设置阈值来控制分块操作的结束。
图6示出了根据本发明一个实施例的分块后矩阵,其中的方框表示生成的子块,每个子块对应的数据组成一个数据集。具体地,数据d1和数据d3组成一个数据集,数据d2和数据d4组成一个数据集,数据d5组成一个数据集。这里用P表示数据集,例如P1={d1,d3}。
c、数据集和数据集存放库的存放关系的建立
用符号R表示数据集存放库集合,其中数据集存放库Ri∈R,且假设数据集存放库的容量足够大。用符号B表示带宽,Bij表示数据集存放库Ri和数据集存放库Rj之间的带宽。
如果数据集Pk中包含不可移动数据di,那么把数据集Pk调度到数据di所在节点的数据集存放库中。
如果数据集Pk只包含可移动数据,那么根据公式2计算数据集Pk调度到哪个节点可以使得预测数据流转时间T最少,其中预测数据流转时间T是指将数据集Pk中所有数据调度到该节点所需要的数据流转时间总和。
其中Rj表示要向其流转数据的数据集存放库,Ri表示存储了数据集Pk中数据dk的数据集存放库,Bij表示Ri和Rj之间的网络带宽。
确定存放数据集的数据集存放库后,这个数据集就和数据集存放库建立了存放关系。图7示出了根据图6所示分块结果确定的数据和数据集的存放关系,如图7所示,P1={d1,d3}和数据集存放库R1建立了存放关系。
通过上述操作,完成了数据流的初始调度。下面将根据图8详细描述根据本发明一个优选实施例的面向分布式工作流运行时的数据流调度的流程。
在业务流管理系统启动后,工作流运行。如果产生了新的数据,则根据数据类型进行数据调度,然后再进行活动调度;否则直接进行活动调度。图9和图10分别示出了数据调度和活动调度的示意图。
当活动执行后,新的数据将会产生。同样地,需要确定把这些新的数据调度到哪个数据集存放库中。根据数据的类型,或者把它放在本地数据集存放库,或者放在其他数据集存放库。
对于不可移动数据,把它们放在本地的数据集存放库。
对于可移动数据,计算新产生的数据和已有数据集的协作关系的紧密程度,然后建立新产生的数据和数据集存放库的存放关系。下面参照图8以新增可移动数据d6的调度过程为例,详细描述新增可移动数据的调度过程。
首先,计算d6和所有现有数据集的协作关系的紧密程度,以数据集Pj为例,可移动数据d6和数据集Pj的协作关系的紧密程度为:
其中,C6i=Count{SA6∩SAi},n为数据集Pj中数据的个数,i=1,2,3,...n。
然后,计算d6和所有数据集存放库的协作关系的紧密程度,以数据集存放库Rt为例,d6和数据集存放库Rt的协作关系的紧密程度为:
其中,k为Rt中数据集的个数。
最后,根据上述计算结果,把新产生的数据调度到协作关系的紧密程度最高的数据集存放库。如图9所示,d6调度到数据集存放库R1中。
运行时活动的调度
当数据调度结束后,进行活动的调度。根据活动调度到各个节点所需的预测数据流转时间,把活动调度到预测数据流转时间最少的节点执行。根据公式5计算活动Ai调度到节点Rj的预测数据流转时间:
其中Rj表示要向其流转数据的数据集存放库,Ri表示存储了活动Ai所依赖的数据dk的数据集存放库,Bij表示Ri和Rj之间的网络带宽。
如图9所示,假设活动A2需要数据d1、d3、d6,计算A2分别调度到R1和R2的预测数据流转时间,由于d1、d3、d6都在数据集存放库R1中,根据公式5,前者预测数据流转时间等于0,后者预测数据流转时间等于(d1+d3+d6)/B12,前者小于后者,所以活动A2调度到R1中执行。
本领域普通技术人员可以理解,上面根据本发明的优选实施例提供了一种运行时数据调度和活动调度的方法,但是在根据本发明进行数据流的初始调度之后,在运行时可以采用任何其他的数据调度和活动调度方式,均可实现本发明的基本目的。
根据本发明另一方面,还提供了一种面向分布式工作流的数据流的初始调度系统,包括:
活动和数据依赖关系确定模块,用于根据活动使用数据的次数确定活动和数据的依赖关系;
公共活动确定模块,用于对于任意两个数据,根据活动和数据的依赖关系确定依赖该两个数据的活动的个数;
协作关系矩阵建立和转换模块,用于以依赖任意两个数据的活动的个数为元素建立协作关系矩阵,进行协作关系矩阵的行列转换以使相近的行列之间相互关系紧密;
协作关系矩阵分块模块,用于将转换后的协作关系矩阵分块,使共同被任意活动使用的数据共存于一个子块,将每个子块对应的数据组成一个数据集;
数据集装载模块,用于将只包含可移动数据的数据集调度到使该数据集所需要的流转时间最短的数据集存放库。
根据本发明又一方面,还提供了一种面向分布式工作流的数据流的调度系统,具体包括上述初始调度系统和用于在运行时对数据流和/或活动进行调度的运行时调度系统。
与现有的业务流程优化方法相比,本发明主要关注的是分布式流程的数据流初始调度。本发明的上述方法能够尽可能地把活动依赖的数据调度到活动所在的节点,有效减少地理分布的业务流程之间数据流转的时间;在多个业务流程实例同时运行时,减少了因为网络出现中断,业务流程实例无法运行的次数。
本发明的上述数据调度系统可以无侵入式地集成到现有的工作流引擎中,降低了对安装的操作要求,从而使得用户能够很快体验到业务流程运行时间上的改进。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种面向分布式工作流的数据流的初始调度方法,包括:
1)根据活动使用数据的次数确定活动和数据的依赖关系;
2)对于任意两个数据,根据活动和数据的依赖关系确定依赖该两个数据的活动的个数;
3)以依赖任意两个数据的活动的个数为元素建立协作关系矩阵,进行协作关系矩阵的行列转换以使相近的行列之间相互关系紧密;
4)将转换后的协作关系矩阵分块,使共同被任意活动使用的数据共存于一个子块,将每个子块对应的数据组成一个数据集;
5)将只包含可移动数据的数据集调度到使该数据集所需要的流转时间最短的数据集存放库。
2.根据权利要求1所述的方法,其特征在于,所述步骤3)中所述进行协作关系矩阵的行列转换进一步包括:
31)首先从协作关系矩阵中任选两个行向量Mi和Mj,放置到一个与协作关系矩阵具有相同行列的新矩阵的前两行;
32)从协作关系矩阵剩余的行向量中任意选取一个行向量Mk,依次插入新矩阵中现有t个行向量的两侧相邻位子,根据相邻的三个行向量的位置关系利用如下公式计算相关系数cont:
cont(Mi,Mk,Mj)=2C(Mi,Mk)+2C(Mk,Mj)-2C(Mi,Mj)
其中,C(Mi,Mk)为表征向量Mi和Mk之间关系的参数,C(Mk,Mj)为表征向量Mk和Mj之间关系的参数,C(Mi,Mj)为表征向量Mi和Mj之间关系的参数;
33)选择cont值最高的t+1个向量的组合,并按照该组合中向量的顺序重新将上述t+1个向量放到新矩阵的前t+1行;
34)重复上述步骤32)和33),直到t+1等于协作关系矩阵的行数;
35)根据上述行转换进行相应列转换,生成转换换后的协作关系矩阵。
3.根据权利要求2所述的方法,其特征在于,所述C(Mi,Mk)为向量Mi和Mk的点积,所述C(Mk,Mj)为向量Mk和Mj的点积,所述C(Mi,Mj)为向量Mi和Mj的点积。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述步骤4)中进一步包括:
41)在当前协作关系矩阵下,选择使得CL×CU-CI2最大的点,并且把该点下CL×CU-CI2的值设置为阈值,其中CL表示只使用分块后矩阵的左上部分对应数据的活动使用左上部分对应数据的次数,CU表示只使用分块后矩阵的右下部分对应数据的活动使用右下部分对应数据的次数,CI表示即使用分块矩阵的左上部分数据同时又使用右下部分数据的活动同时使用左上部分数据和右下部分数据的次数加即使用分块矩阵的右上部分数据同时又使用左下部分数据的活动同时使用右上部分数据和左下部分数据的次数;
42)循环执行n-1次下述操作,其中n是协作关系矩阵的行数,
把协作关系矩阵的最左边的列移动到最右边,同时最上边的行移动到最下边,
在当前协作关系矩阵下,选择使CL×CU-CI2最大的点,
如果该点对应的CL×CU-CI2大于当前设置的阈值,则将该点下CL×CU-CI2的值设置为阈值;
43)根据当前阈值对应的点把协作关系矩阵分为左上和右下两个子块;
44)对每个子块依次重复步骤41)到43),直到划分的块数满足要求。
6.一种面向分布式工作流的数据流的调度方法,包括:
1)根据权利要求1至5任一项所述的初始调度方法进行数据流的初始调度;
2)在运行时,对数据流和/或活动进行调度。
7.根据权利要求6所述的调度方法,其特征在于,所述步骤2)还包括:
20)对于运行时新产生数据是可移动数据的情况,确定新产生数据和现有数据集的协作关系的紧密程度;
21)根据新产生数据和现有数据集的协作关系的紧密程度,确定新产生数据和任一数据集存放库的协作关系的紧密程度;
22)将新产生数据存储在与之关系最紧密的数据集存放库中。
8.根据权利要求6或7所述的调度方法,其特征在于,所述步骤2)还包括:
23)计算活动到节点的预测数据流转时间,将活动调度到预测数据流转时间最短的节点。
9.一种面向分布式工作流的数据流的初始调度系统,包括:
活动和数据依赖关系确定模块,用于根据活动使用数据的次数确定活动和数据的依赖关系;
公共活动确定模块,用于对于任意两个数据,根据活动和数据的依赖关系确定依赖该两个数据的活动的个数;
协作关系矩阵建立和转换模块,用于以依赖任意两个数据的活动的个数为元素建立协作关系矩阵,进行协作关系矩阵的行列转换以使相近的行列之间相互关系紧密;
协作关系矩阵分块模块,用于将转换后的协作关系矩阵分块,使共同被任意活动使用的数据共存于一个子块,将每个子块对应的数据组成一个数据集;
数据集装载模块,用于将只包含可移动数据的数据集调度到使该数据集所需要的流转时间最短的数据集存放库。
10.一种面向分布式工作流的数据流的调度系统,包括
权利要求9所述的初始调度系统;和
运行时调度系统,用于在运行时对数据流和/或活动进行调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110252748.7A CN102955987B (zh) | 2011-08-30 | 2011-08-30 | 一种面向分布式工作流的数据流初始调度方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110252748.7A CN102955987B (zh) | 2011-08-30 | 2011-08-30 | 一种面向分布式工作流的数据流初始调度方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102955987A true CN102955987A (zh) | 2013-03-06 |
CN102955987B CN102955987B (zh) | 2016-01-27 |
Family
ID=47764770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110252748.7A Active CN102955987B (zh) | 2011-08-30 | 2011-08-30 | 一种面向分布式工作流的数据流初始调度方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102955987B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984737A (zh) * | 2014-05-22 | 2014-08-13 | 武汉大学 | 一种基于计算相关度的多数据中心数据布局优化方法 |
CN106874084A (zh) * | 2017-01-04 | 2017-06-20 | 北京百度网讯科技有限公司 | 一种分布式工作流调度的方法和装置 |
CN110866685A (zh) * | 2019-11-06 | 2020-03-06 | 重庆大学 | 一种任务调整方法、装置、设备及存储介质 |
CN113282063A (zh) * | 2021-05-13 | 2021-08-20 | 北京大豪工缝智控科技有限公司 | 缝制产线的配置方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311144B1 (en) * | 1998-05-13 | 2001-10-30 | Nabil A. Abu El Ata | Method and apparatus for designing and analyzing information systems using multi-layer mathematical models |
EP1709537A2 (en) * | 2003-08-06 | 2006-10-11 | Moshe Halevy | Method and apparatus for unified performance modeling with monitoring and analysis of complex systems |
CN101187883A (zh) * | 2007-12-19 | 2008-05-28 | 苏州大学 | 一种优化的服务网格调度方法 |
CN101359333A (zh) * | 2008-05-23 | 2009-02-04 | 中国科学院软件研究所 | 一种基于隐含狄利克雷分配模型的并行数据处理方法 |
-
2011
- 2011-08-30 CN CN201110252748.7A patent/CN102955987B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311144B1 (en) * | 1998-05-13 | 2001-10-30 | Nabil A. Abu El Ata | Method and apparatus for designing and analyzing information systems using multi-layer mathematical models |
EP1709537A2 (en) * | 2003-08-06 | 2006-10-11 | Moshe Halevy | Method and apparatus for unified performance modeling with monitoring and analysis of complex systems |
CN101187883A (zh) * | 2007-12-19 | 2008-05-28 | 苏州大学 | 一种优化的服务网格调度方法 |
CN101359333A (zh) * | 2008-05-23 | 2009-02-04 | 中国科学院软件研究所 | 一种基于隐含狄利克雷分配模型的并行数据处理方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984737A (zh) * | 2014-05-22 | 2014-08-13 | 武汉大学 | 一种基于计算相关度的多数据中心数据布局优化方法 |
CN103984737B (zh) * | 2014-05-22 | 2017-01-25 | 武汉大学 | 一种基于计算相关度的多数据中心数据布局优化方法 |
CN106874084A (zh) * | 2017-01-04 | 2017-06-20 | 北京百度网讯科技有限公司 | 一种分布式工作流调度的方法和装置 |
CN106874084B (zh) * | 2017-01-04 | 2020-04-07 | 北京百度网讯科技有限公司 | 一种分布式工作流调度的方法、装置及计算机设备 |
CN110866685A (zh) * | 2019-11-06 | 2020-03-06 | 重庆大学 | 一种任务调整方法、装置、设备及存储介质 |
CN113282063A (zh) * | 2021-05-13 | 2021-08-20 | 北京大豪工缝智控科技有限公司 | 缝制产线的配置方法及装置 |
CN113282063B (zh) * | 2021-05-13 | 2023-06-23 | 北京大豪工缝智控科技有限公司 | 缝制产线的配置方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102955987B (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | Iterated greedy algorithms for flow-shop scheduling problems: A tutorial | |
CN111612358B (zh) | 共享汽车车辆调度及调度员路径优化方法 | |
Al-Hinai et al. | Robust and stable flexible job shop scheduling with random machine breakdowns using a hybrid genetic algorithm | |
Luh et al. | Scheduling of design projects with uncertain number of iterations | |
CN101833712B (zh) | 一种支持工作流活动实例成批处理执行的方法 | |
Bock et al. | Controlling mixed-model assembly lines in real-time by using distributed systems | |
US20210150384A1 (en) | Model selection in a forecasting pipeline to optimize tradeoff between forecast accuracy and computational cost | |
Chen et al. | Scheduling multi-mode projects under uncertainty to optimize cash flows: a Monte Carlo ant colony system approach | |
CN101320329A (zh) | 一种基于任务优先级的抢占式人力资源配置方法和系统 | |
CN102955987A (zh) | 一种面向分布式工作流的数据流初始调度方法和系统 | |
Chen et al. | Multi-project scheduling problem with human resources based on dynamic programming and staff time coefficient | |
Yu et al. | A discrete artificial bee colony method based on variable neighborhood structures for the distributed permutation flowshop problem with sequence-dependent setup times | |
CN102289747B (zh) | 一种面向分布式工作流的数据流调度方法和系统 | |
Bala Subrahmanya et al. | Technological innovations and energy intensity of machine tool SMEs in Bangalore: do process innovations contribute to energy efficiency? | |
CN101819652A (zh) | 基于序号的多级工作流建模方法 | |
Qin | Evolution of labor relations in the development of human resources based on improved genetic algorithm | |
Wang et al. | An Improved Integrated Scheduling Algorithm with Process Sequence Time‐Selective Strategy | |
Oteiza et al. | Parallel cooperative optimization through hyperheuristics | |
CN101794417A (zh) | 基于序号的工作流调度和业务流程建模方法 | |
Zuo et al. | Cigarette production scheduling by combining workflow model and immune algorithm | |
Michael et al. | Strategic role of capacity management in electricity service centre using Markovian and simulation approach | |
CN106530110A (zh) | 一种基于大数据的海洋工程管理系统及方法 | |
Schoech et al. | Optimising plant layout decisions based on emulation models–technical framework and practical insights | |
Wang et al. | A multi-objective task reallocating method in complex product design process considering design changes | |
Tang et al. | Online Operation of Bike Sharing System: An Approximate Dynamic Programming Approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180824 Address after: 100044 B sixteen, No. 22 building, South Road, Haidian District, Beijing. Patentee after: Guoxin electronic bill Platform Information Service Co., Ltd. Address before: 100190 South Road, Zhongguancun Science Academy, Haidian District, Beijing 6 Patentee before: Institute of Computing Technology, Chinese Academy of Sciences |