1、第2卷 第10期 2007 年 10 月 741 中国科技论文在线 SCIENCEPAPER ONLINE 科学工作流管理平台TotemSWF 的设计与实现 黄泽谦1,王黎维2,彭智勇1,3(1. 武汉大学软件工程国家重点实验室, 武汉 430072; 2. 武汉大学国际软件学院, 武汉 430072; 3. 武汉大学计算机学院, 武汉 430072) 摘 要:本文提出以数据库管理系统(DBMS)为中心的科学工作流管理架构,基于对象代理数据库 Totem,实现了科学工作流管理平台TotemSWF。该平台采用对象代理模型对工作流建模,工作流被定义为数据库模式及数据库规则与触发器。在Totem中,
2、通过数据管理操作实现工作流管理,对象间的双向指针实现高效数据跟踪。 关键词:计算机软件;TotemSWF;对象代理数据库;科学工作流 中图分类号:TP31 文献标识码:A 文章编号:16737180(2007)1007417 0 引言 科学工作流(Scientific Workflow)是工作流技术在科学研究领域的应用,如今已成为在网络基础设施之上进行大规模科学计算和协同研究的有效方法。相对于以过程为中心、面向控制流的商业工作流,科学工作流通常是以数据为中心、面向数据流的分析管道。一般的工作流管理系统(WFMS)使用数据库管理系统(DBMS)来存储任务描述以及工作流数据,并在DBMS之上实现各
3、个工作流功能模块。然而目前一些研究证明,大多数 WFMS 的功能可以由 DBMS 来提供,许多成熟的数据库技术可以用于工作流管理系统中1。针对科学工作流以数据为中心的主要特点,采取 DBMS的方式来实现科学工作流管理,可以减少实现开销,增加优化的可能性,并以一种类似于传统数据管理g1441作的方式进行工作流管理。 g1320g4052g3142g2484g2598的g4058g3894是基于对g4193g1662理数据库管理系统实现科学工作流管理。g3332特点为g470(1) 以对g4193g1662理模g4249来g2426模科学工作流中的数据流g471(2) 通过g1768g4461数据
4、库规g4662和g1577g1856g3351实现工作流g4914g1775g4788行g471(3) 采用类 SQLg4565g4350进行工作流管理g471(4) 基于对g4193g1662理数据库实现数据g2038g4919。 1 TotemSWF 科学工作流管理平台框架 TotemSWF 科学工作流管理g3293g3836g1288g2148以g4144基g1320功能模块g470工作流g3635明,工作流g4788行和数据g2038g4919g1706。g4066g3021以DBMS为g2179心,在对g4193g1662理数据库Totem基础上实现科学工作流管理,各个功能模块采用数
5、据库技术实现,g3293g3836g2688g2384如g39501g3823g3670。 图1 TotemSWF科学工作流管理平台框架 Fig. 1 The architecture of TotemSWF 基金项目:国家自然科学基金项目(60573095),教育部新世纪优秀人才计划项目(NCET-04-0675),教育部博士点基金项目(20050486024),教育部科学技术研究重点项目(107072) 作者简介:黄泽谦(1983 ),男,博士研究生 通讯联系人:彭智勇,教授,E-mail: 第2卷 第10期 2007年10月 742 1.1 对g4193g1662理数据库Totem 对g
6、4193g1662理数据库作为科学工作流管理g3293g3836的g2179心,是基于对g4193g1662理模g42492和对g4193g1662理数据库g4565g43503。 对g4193g1662理模g4249的g2179心g3762g4185是g4485g3527g2837对g4193和g1662理对g4193g4740g2823个基g1320g1985g3154,并用对g4193和g1662理对g4193一g3344来模g3142现实g3672g2489中的实g3897,g1411同的g1662理对g4193g1267g4359g4600对g4193g1411同的g2457g355
7、7。一个g4600类可以同g3657g1768g4461多个g1662理类,一个g1662理类g4410g1411g2504g4172于g1662理一个g4600类。g4043于g1662理g1451g1618g4940g1765g1803的类g1516为基g1320类。基g1320类的对g4193g4702有实g2366的存储g2659g2392。g1662理对g4193中的g1662理g3724性(g1516为“g4277g3724性“)g4795g4507有模式而g3009有实g2366的g4095理数据。g1662理对g4193可g1415分g2312g3996g3463g2368g1
8、526g4600对g4193中的g3724性,g4410可以g4885加g1768g4461g4914g2350的g3724性(g1516为“实g3724性“),g3826g3021g1421g4744g4767g4702有存储g2659g2392。对g4193和g1662理对g4193g1788有各g4914的对g4193g1364g3662g1945。g4600对g4193和g1662理对g4193之g2392由g3745向g4792针g2806g2469,g3406g2257g1441作g1768g4461在g1662理对g4193的g4277g3724性上,对g1662理对g4193g
9、4277g3724性的g1793g4224g1441作g1788g2429g3406g2257g2286对g4600对g4193g3724性的g1793g4224g1441作。g4600对g4193上的g2040g4238g2429g1577g1856g2040g4238g3366g4430,对g1662理对g4193进行g2040g4238。由于g4600对g4193和g1662理对g4193之g2392存在各种g4424g2721g2098系和g4565g4461g4608g3728,g3332一g4802性可通过对g4193g2040g4238g3366g4430进行g4028g2234
10、。对g4193g1662理数据库g4507有g3770种类g4249的g1662理类,g1288g2708SELECT,UNION,JOIN和GROUP,用于g4775g1532特化,g1880化,g2571集和分组。 对g4193g1662理数据库g4565g4350是为对g4193g1662理数据库 Totem而设计的数据库g4565g4350,g4565g4350被设计为SQL的风格,g1288g2708对g4193g1662理g1768g4461g4565g4350和对g4193g1662理g1441作g4565g4350。 1.2 相g2098功能模块设计 工作流g3635明g470
11、g1288g2708数据g3635明、任务g3635明、过程g3635明和调用g3635明。数据以对g4193g1662理数据库中的类和g1662理类来g1768g4461。任务、与任务g2098联的数据、组成任务的科学程序及g3332调用参数g1706信息通过数据库中的对g4193来表g3670。工作流的数据流采用对g4193g1662理模g4249来g2426模,任务数据g2392的对g4193g1662理g2098系及任务数据上g3823制g1768的规g4662和g1577g1856g3351g4662描述g2837控制流,通过规g4662及g1577g1856g3351实现工作流的g
12、4914g1775g4788行。任务调用具有隐式调用和显式调用g2823种方式。 工作流g4788行g470采取数据驱g1775的方式,工作流的g4788行转化为数据库的插g3527g1441作,并根据控制流是否制g1768规g4662g2312g1577g1856g3351而g4914g1775g4788行(隐式调用任务)g2312用户启g1775g4788行(显式调用任务)。 数据g2038g4919g470基于对g4193g1662理数据库中对g4193g2392的g3745向g4792针提供数据g2038g4919。 2 科学工作流实例 g4066g3021首先介绍一个科学工作流g47
13、0Atlas高能g4095理工作流4。工作流的流程如g39502g3823g3670,该工作流g1288g2708三个程序g470事件g1856生g3351(gen),快速模g3142探测g3351程序(atlfast)和慢速模g3142探测g3351程序(atlsim)。gen g2469收一种粒子的质量,产生一个 event g4052件.evts,该g4052件描述g2837粒子的衰变。之后eventg4052件被分别输g3527程序atlfast 和atlsim,模g3142每种探测g3351对粒子衰变事件的反应,并产生g1288g2148整数数值fImas 和sImas 的g4052
14、件,g2823个结果整数值实g2366上是粒子衰变而产生的子粒子的质量之和。g4940后,通过比较g2823个模g3142程序产生的结果,即可判断相对于atlsim,atlfast是否可靠。粒子衰变导g4802g4095质质量损失(pmas-Imas),atlsim 模g3142速度慢,但结果(pmas-sImas)是可靠的,atlfast 模g3142速度快,g3332结果(pmas-fImas)和(pmas-sImas)相比较,即fImas和sImas相比较,g3332偏差必须在一个较小的范围内,atlfastg1421是可靠的。g4144面g4066g3021g2429以Atlas工作流
15、为实例,讨论如何在TotemSWF g3293g3836进行工作流管理。 图2 Atlas高能物理工作流 Fig. 2 The Atlas high-energy physics workflow 3 科学工作流声明 工作流g3635明g1288g2708数据g3635明,任务g3635明,工作流流程g3635明,工作流调用。采用对g4193g1662理模g4249来g2426模工作流的数据流,构成流程的各任务数据g2392的对g4193g1662理g2098系和任务输g3527数据上g1768g4461的规g4662与g1577g1856g3351共同描述g2837工作流的控制流,从而使得工
16、作流流程在g3293g3836中被g1768g4461为一系列的数据库模式、规g4662及g1577g1856g3351。在 Totem数据库对工作流进行g3635明主要g1288g2708以g4144几个方面g470(1) 任务的输g3527数据,输出数据用对g4193g1662理数据库的类、g1662理类来g1768g4461,任务的每一个输g3527数据对g4193g1516为数据点对g4193g471(2) 任务在对g4193g1662理数据库中注册为一个g3770元组,g1288g2148g2837该任务对应的输g3527、输出类以及调用信息g471(3) 流程的数据流通过对g419
17、3g1662理模g4249来表g3670g471(4) 任务调用方式g1288g2708隐式调用和显式调用,通过在任务输g3527数据类上赋予规g4662g2312g1577g1856g3351来g1768g4461隐式调用,显式调用的任务需要通过g3293g3836的数据库g4914g1768g4461函数来启g1775。 科学工作流管理平台TotemSWF 的设计与实现 第2卷 第10期 2007 年 10 月 743 中国科技论文在线 SCIENCEPAPER ONLINE g4144面以六种基g1320工作流模式为例,说明如何在对g4193g1662理数据库中进行工作流g3635明。
18、1) 顺序模式 如g39503(1) g3823g3670,任务T1的输g3527g1768g4461为类I1(如T1g1411是初始任务,g4662I1应g1768g4461为T1g3823有直g2469前驱任务的输出类的g1662理类),输出g1768g4461为类O1g471任务 T2的输g3527g1768g4461为类O1的SELECTg4249g1662理类I2,输出g1768g4461为类 O2。一旦T1 g3996成计算往O1 中插g3527结果数据对g4193g3657,g1788会在I2中派生T2的输g3527数据点对g4193。 2) 并行分g4775模式 如g39503
19、(2) g3823g3670,任务T1的输出g1768g4461为类O1,任务T2和T3分别为并行分g4775的第一个任务,g3332输g3527I2和I3分别g1768g4461为类O1的SELECTg4249g1662理类。对于O1中的每个数据对g4193,在I2和I3中g1788有对应的g1662理对g4193,g2040g4238g3366g4430使得数据在各个并行分g4775中分g1856。 3) 同步模式 如g39503(3) g3823g3670,任务T1,T2的输出分别g1768g4461为类O1,O2g471T3的输g3527g1768g4461为O1和O2的JOINg42
20、49g1662理类I3,输出g1768g4461为类O3。由于每个数据点对g4193g1788有一个g3463局的顺序号g1364g3662,g1662表g3332g3823g3724的工作流实例。g3823以在创g2426JOINg4249g1662理类I3g3657,g3332g1662理规g4662要求O1和O2中数据对g4193的顺序号必须相g1706。对于某一工作流实例,g4795有当T1和T2g1788g3996成g3657,在O1和O2中g1421会产生顺序号相g1706的数据对g4193,进而在I3中派生一个g1662理对g4193。同步模式中的任务同步要求通过JOINg424
21、9g1662理类的g2040g4238g3366g4430实现。 4) 单选模式 如g3950 3(4) g3823g3670,T1 的输出g1768g4461为类 O1,T2 和T3的输g3527分别g1768g4461为O1的SELECTg4249g1662理类I2和I3。单选模式中g4795有一个分g4775会被g4788行,分g4775选择判断条件通过各个分g4775 SELECT g4249g1662理类的g1662理规g4662来表达。通过合理地创g2426g1662理类I2,I3,当T1往O1插g3527数据对g4193g3657,数据库会根据I2和I3的g1662理规g4662
22、,派生相应的g1662理对g4193到I2g2312I3中,从而g1577g1856相应分g4775的g4788行。 5) 简单合并模式 如g3950 3(5) g3823g3670,T1 与 T2 的输出分别g1768g4461为类O1和O2g471T3的输g3527I3g1768g4461为O1和O2的UNIONg4249g1662理类。当T1 g2312T2 结g3728计算,往结果数据类 O1g2312O2插g3527数据对g4193g3657,g1788会在I3中派生相应的g1662理对g4193。 6) 循环模式 如g3950 3(6) g3823g3670,当T3 g3996成g
23、3657,如果满足循环条件,g2429跳转g2286去g4824g4238g4788行由T2和T3组成的循环g3897。g3332中 O1,O2,I3,O3 的g1768g4461与顺序模式g4144相同。g3446别在于g2429T2的输g3527I2g1768g4461为O1和O3的UNIONg4249g1662理类,g3408g1662理规g4662中必须g1288g2148循环条件判断,即g4795有满足循环条件的O3中的对g4193g1421会被派生到I2中。 图3 六种基本工作流模式及其建模 Fig. 3 The modeling of workflow patterns 第2卷
24、第10期 2007年10月 744 图4 Atlas工作流建模 Fig. 4 The modeling of the Atlas workflow 根据以上描述,g4066g3021采用对g4193g1662理模g4249对 Atlas工作流进行g2426模,并用对g4193g1662理数据库g4565g4350在 Totem中创g2426该工作流的数据流。Atlas工作流流程如g39504 (1)g3823g3670,g39504 (2)g4662描述g2837数据流在Totem中对应的数据库模式,g3332中g4477g4502g1415分表g3670数据对g4193的g3724性值从g3
25、332g4600对g4193g2368g1526,并g1411g4702有实g2366存储g2659g2392,而是与g4600对g4193共g4187。 Atlas由三个任务组成g470gen,atlfast,atlsim。 g4144面g1768g4461g2837任务 gen 的输g3527及输出数据类g470(seq_no 为数据点对g4193的顺序号,用于g1364g3662数据点对g4193) CREATE CLASS gC (seq_no int, pmas int); CREATE CLASS evts (seq_no int, event int); 任务 atlfast 和
26、atlsim 分别为并行分g4775的第一个任务,g3332输g3527类分别g1768g4461为类evts的SELECTg4249g1662理类fevts及sevtsg470 CREATE SELECTDEPUTYCLASS fevts AS (SELECT * FROM evts); CREATE SELECTDEPUTYCLASS sevts AS (SELECT * FROM evts); 类fC和sC分别g1768g4461为atlfast和atlsim的输出数据类g470 CREATE CLASS fC (seq_no int, fImas int); CREATE CLASS
27、sC (seq_no int, sImas int); JOIN g4249g1662理类 compare g4940后用来比较 atlfast 和atlsimg3823产生的结果。 CREATE JOINDEPUTYCLASS compare AS ( SELECT fC.seq_no, fC.fImas, sC.sImas FROM fC, sC WHERE fC.seq_no = sC.seq_no ); 根据上述g3635明的流程数据流及任务对应程序的调用信息,可以g2429三个任务 gen,atlfast,atlsim 分别注册到数据库中。g1615g3988,g3293g3836基
28、于事件驱g1775方式5,实现工作流的g4914g1775控制。g3293g3836结合数据库规g4662与g1577g1856g3351g1768g4461以及数据流g2426模g3823g2426g2796的任务数据g2392的g1662理g2098系来描述工作流的控制流。任务调用方式分为隐式调用和显式调用g2823种。隐式调用表g3670当任务g4788行g3823需输g3527数据被创g2426之后,g3293g3836g2429构g4656任务g4788行g3823需g3074g2872和参数,并开始g4788行任务。显式调用表g3670在为任务创g2426g3823需输g3527数
29、据之后,任务并g1411会g4914g1775g4788行,而是需要由用户g3694工启g1775任务g4788行。 科学工作流管理平台TotemSWF 的设计与实现 第2卷 第10期 2007 年 10 月 745 中国科技论文在线 SCIENCEPAPER ONLINE 例如对于Atlas工作流,g4066g3021g2429g3332三个任务g3635明为隐式调用,为g1615分别在g3332输g3527数据类上g1768g4461规g4662和g1577g1856g3351,实现工作流的g4914g1775g4788行。g3332中,StartTask( )为g3293g3836提供的
30、启g1775任务函数g2469g2664。 在gen的输g3527数据类gC上g1768g4461规g4662startGENg470 CREATE RULE startGEN AS ON INSERT TO gC DO SELECT StartTask(gen); 在atlfas及atlsim的输g3527数据类fevts及sevts上分别g1768g4461g1577g1856g3351g470 CREATE TRIGGER startATLFAST AFTER INSERT ON fevts FOR EACH ROW EXECUTE PROCEDURE StartTask(atlfast
31、); CREATE TRIGGER startATLSIM AFTER INSERT ON sevts FOR EACH ROW EXECUTE PROCEDURE StartTask(atlsim); 采用对g4193g1662理模g4249g2426模数据流,使得与工作流模式相g2098的控制g2951g2337由对g4193g1662理模g4249来表达。由于g1571初始任务g3988,g3823有任务的输g3527g1788g1768g4461为该任务g3823有直g2469前驱任务的输出类的g1662理类,g3823以一旦前驱任务往g3332输出数据类中插g3527结果数据,g20
32、40g4238g3366g4430g2429根据各个输g3527类g1662理规g4662,派生对应的g1662理对g4193,即后g2368任务的输g3527数据类中g2311得g2837g4238的输g3527数据。为使后g2368任务能g4914g1775g4788行,g4795需在g3332输g3527数据类上g1768g4461数据库规g4662g2312g1577g1856g3351,从中启g1775任务的g4788行。如果后g2368输g3527数据类g4885加g2837g3724性,g1411g4622许g1415分g4788行,g4662g1706g1665用户对该类中的数
33、据点对g4193的实g3724性进行g2040g4238后,g4637启g1775任务的g4788行。 4 科学工作流执行 工作流g4788行主要采取数据驱g1775的方式,g2429g4788行转化为对数据库的插g3527和g2040g4238g1441作。隐式调用任务g4078需用户参与,当往g3332输g3527数据类中插g3527数据后,g3293g3836g2429启g1775该任务的g4788行。显式调用任务需要用户参与,例如任务的输g3527数据类存在g2709g4699g3724性,而g3408任务的g4788行g4424g2721于g4740些g2709g4699g3724性
34、,g3115g3002任务必须g1706g1665用户对数据点对g4193的g2709g4699g3724性进行g2040g4238,之后g4637g3694工调用StartTask( )来启g1775任务的g4788行。一个任务从g3332输g3527类g2311取数据点对g4193,通过计算得到输出数据,并插g3527g3332输出类,进而通过g2040g4238g3366g4430派生g1662理对g4193,作为g3332后g2368任务g3823需的输g3527数据点对g4193。工作流中一个任务的结g3728g2429g1577g1856g4144一个任务的隐式/显式g4788行。
35、 例如,根据前面对Atlas工作流的g3635明,在数据库中向 gC 类插g3527一个数据点对g4193g2429启g1775g3332g4914g1775g4788行,如g470 INSERT INTO gC VALUES(1,100); 一旦一个pmas值为100的数据对g4193被插g3527到gC,系统g4914g1775创g2426g3826的数据点,g3332seq_no为1。由于任务gen 是隐式调用,g4474g1615 startGEN 规g4662根据g3332调用信息g1577g1856相应的程序来g4788行任务,并g2429g4788行结果插g3527到类evts中
36、,产生g4238的g4052件evts1。然后,根据fevts和sevts的g1662理规g4662,evts1 的g1662理对g4193被g4914g1775地增加到任务atlfast和atlsim的输g3527数据类fevts和sevts中。同g4387,g1577g1856g3351startATLFAST和startATLSIM的存在,使得在g4238数据点对g4193到达后,atlfast和atlsim任务g2429g4914g1775g4788行,之后g3332结果数据被分别增加到类fC和sC中,g4940g4821在compare中增加结果数据对g4193。 如果在 gC 类上
37、g3009有g1768g4461规g4662 startGEN,即 gen为显式调用,g4662需由用户在数据库中g4788行以g4144g3074g2872g470 SELECT StartTask(gen); g3694工启g1775任务 gen 的g4788行,g2368而g1577g1856后g4292任务atlfast和atlsim的g4914g1775g4788行。 g1615g3988,g3293g3836g4775g1532在工作流g4788行过程中对工作流进行g2388控和数据g2038g49196。由于g3293g3836g2429任务和数据点对g4193的信息以对g419
38、3的方式存储于数据库中,g4474g1615可以对每一个任务和数据点对g4193的g4882g3840进行g2388控。用户对工作流g4882g3840的g2388控,转化为使用对g4193g1662理g1457g4313g4565g4350,对数据库进行g1457g4313g1441作。g4052g41657提出g2837一个整合对g4193g1662理模g4249的的科学工作流g2688g2384,从而实现数据g2038g4919。g1320g3293g3836基于对g4193与对g4193之g2392的OIDg3745向g4792针实现数据g2038g4919。对g4193g1662理数
39、据库 Totem g4914g1775g4028g2234g2837对g4193和g1662理对g4193g2392的g3745向g4792针。g1615g3988,每个对g4193在数据库中具有g4024一的对g4193g1364g3662 OID,g3293g3836通过类 InputOutputs 来g4028g2234任务的输g3527数据点对g4193到结果数据对g4193的g4505g3614。g4474为工作流的数据流采用对g4193g1662理模g4249进行g2426模,g1571初始任务g3988,g3823有任务的输g3527g1788g1768g4461为该任务g382
40、3有直g2469前驱任务的输出类的g1662理类,g3823以,g1571初始任务g3988,g3823有任务的输g3527数据点对g4193g1788是g3332直g2469前驱任务的结果数据对g4193的g1662理对g4193。对于每一个输g3527数据点对g4193,根据对g4193和g1662理对g4193g2392的g3745向g4792针可以g2038g4919到该对g4193的g3823有g4600对g4193。对于每一个结果数据对g4193,根据InputOutputs 类中g4028g2234的g4505g3614信息可以g2038g4919到该对g4193是g3112个数
41、据点对g4193的计算结果。 g4066g3021在Totem中提供函数DataProvenance( ),根据g1457g4313的对g4193OID,可以g1457g4313到该数据对g4193的来g4600。 例如在 Atlas 工作流中,gC 类中一个数据点对g4193(1, 100)g2525过整个流程的计算,得到g2837compare类中的一个结果对g4193,g3332OID为16526。在Totem 通过g4788行以g4144g3074g2872g470 第2卷 第10期 2007年10月 746 SELECT DataProvenance(16526); 对该结果数据对g
42、4193进行数据g2038g4919,得到结果如g4144g470 , , 该结果表g3670,gC类中一个OID为16520的数据点对g4193g2525过gen程序的计算,在evts类中得到结果对g4193(OID=16521),该对g4193g4540分别在类fevts和sevts中派生g1662理对g4193(OID分别为16522和16523),g2525过atlfast和atlsim 的计算,类 fC 和sC g2311得g2837结果数据(OID分别为 16524 和 16525),g4940后g4740g2823个对g4193派生g2837compare类中OID为16526的
43、数据对g4193。 5 相关工作比较 目前,商业工作流的研究已较为成熟,科学工作流技术研究在g2510些g3150得到g2196g2171的g1856g4699。然而,整合数据库和科学工作流管理的研究g3504g1411多,Wisconsin-g33Madison大学和UC Berkeley大学的研究g3495g4597在g4740一领域进行g2837开创性的研究,分别探讨g2837面向对g4193数据库和g2098系数据库对科学工作流的g4775g1532。g4052g41658提出g2837一种g2502g3042集成WFMS 和DBMS 的工作流g2426模g4565g4350,使得WF
44、MSg1411g2504g2504g1288g2708g2426模,g2255g1288g2708计g2244,调度,数据管理和g2571g1628管理。 Wisconsin-Madison大学实现的科学工作流管理系统Zoo9,是一个g4894面实g4371管理环g2531。g3826使用面向对g4193g4565g4350Mooseg2426模工作之g2392的控制流,g2429g3332表g3670为任务与输g3527数据、输出数据g2392的g2098系。通过在g2098系上g1214g3207相应的规g4662来g1577g1856任务的g4788行。g2871g3988,g3826g
45、4410提供工作流g3629计功能,g4622许用户使用 Fox g1457g4313g4565g4350g1457g4313数据库的g4882g3840。Zoo 系统是g2426g2796在面向对g4193数据库管理系统Horse之上,采取以数据为中心的g2101点来设计工作流,g2429工作流g3996g3463g1768g4461为一个面向对g4193的数据库模式。Zoog4371证g2837数据库管理工作流的可行性。 UC Berkeley 大学的 GridDB4g4188目同g4387以基于数据为中心的模g4249来构g2426工作流,g3826使用简单的g2098系模g4249来构
46、g4656工作流,程序的输g3527和输出被g2426模为g2098系表格,用户使用函数数据g2426模g4565g4350FDMg1768g4461程序以及程序的输g3527与输出g2392的g2098系。通过g1577g1856g3351的使用,在输g3527表中插g3527元组能g1577g1856程序的g4788行。GridDBg2098注的是网格环g2531,程序通过提g2445g2036Condor来g4788行。 与Zoo和GridDB一g4387,TotemSWF基于数据库管理系统为g2179心来实现科学工作流管理,和g3826g3021具有相似的地方,例如,g1788是使用基
47、于数据为中心的模g4249来构g2426工作流,同g4387基于规g4662来g1577g1856工作流的g4788行,g1788提供g2837数据模g4249和g1457g4313g4565g4350。然而,TotemSWF g4410具有g4914g3623的特g3557g470(1) 使用对g4193g1662理模g4249来g2426模工作流,g1411g2504能对同一任务的输g3527和输出进行g2426模,g2255对任务g2392的数据g2098系进行g2426模g471(2) 工作流控制流的g1415分控制g2951g2337通过对g4193g1662理模g4249来表达g4
48、71(3) g3446别于一般的注g3685和反向g1457g4313g1706数据g2038g4919方法,g2791用数据库内g1415对g4193g2392的g3745向g4792针可以实现高效的数据g2038g4919。 6 总结 g1320g4052研究整合数据库与科学工作流以g2484g2598科学工作流管理g4058g3894,提出以数据库管理系统为中心的科学工作流管理g2384构,基于对g4193g1662理数据库管理系统Totem,实现科学工作流管理g3293g3836TotemSWF。g3293g3836g2791用对g4193g1662理模g4249为工作流的数据流g24
49、26模,通过任务数据g2392的对g4193g1662理g2098系以及任务输g3527数据上g1768g4461的规g4662g2312g1577g1856g3351来描述控制流,工作流被g1768g4461为数据库模式及数据库规g4662与g1577g1856g3351g471在 Totem 系统中,通过数据管理g1441作进行工作流管理,g2791用对g4193g2392的g3745向g4792针提供高效的数据g2038g4919。基于对g4193g1662理数据库的TotemSWFg3293g3836能实现有效的科学工作流管理。 参考文献 1 Ailamaki A, Ioannidis Y E, Livny M. Scientific Workflow Management by Database Management A. Rafanelli M, Jarke M. Proceedings of the 10th International Conference on Scientific and Statistical Database Management C. Los Alamitos, CA, USA: IEEE Comp