一种计算机工作流的自主定制与驱动执行的通用方法

文档序号:6620997阅读:166来源:国知局
一种计算机工作流的自主定制与驱动执行的通用方法
【专利摘要】本发明公开了一种计算机工作流的自主定制与驱动执行的通用方法,其特征在于,包括:对生产业务按逻辑划分,自底向上抽象成原型、流程、事务的三层工作流模型;所述原型用于表示生产业务中相互独立的业务环节,所述流程用于表示能够完成一项业务的多个业务环节的按照一定的顺序组合而成;所述事务用于表示流程和具体文件的绑定关系;以工作流模型为基础,在计算机上自主定制符合实际业务的工作流实例;将工作流实例转换生成工作流实例配置文件,以便传输使用;所述工作流实例配置文件用于记载所述工作流实例中的所有信息,供计算机识别与使用;计算机解析装载工作流实例配置文件,并驱动实例的自动执行。本发明具有很好的通用性。
【专利说明】一种计算机工作流的自主定制与驱动执行的通用方法

【技术领域】
[0001]本发明涉及计算机工作流处理【技术领域】,尤其涉及一种计算机工作流的自主定制与驱动执行的通用方法。

【背景技术】
[0002]当前,计算机技术已经能够在各个方面辅助人们完成工作。其中有一种工作流系统,就是对数字产品生产业务的工作环节进行整理抽象,方便用户对各个环节进行管理,并利用计算机自动化地执行,来达到清晰、条理、便捷地完成生产业务的目的。比较常见的工作流系统如自动化办公平台、专业数据在线定制服务等。
[0003]工作流系统的实现通常依赖于三方面:一是从生产业务抽象出合理的工作流模型,二是根据模型配置出与实际业务相一致的工作流程,三是提供让计算机自动执行流程完成工作的机制。
[0004]现有的自动化办公平台主要将实现重点放在前两方面,即对业务进行了抽象,在此基础上能可视化地配置工作流程,指导工作进行。问题在于,流程配置与特定业务相关、比较受限,流程执行也是人为控制、没有自动执行机制。
[0005]而现有的专业数据在线定制服务则将实现重点放在第一、三方面,即对业务进行了抽象,但固化流程来达到自动执行目的。因此问题在于,流程不能自主配置,服务受限、缺乏灵活性,而且自动执行机制也是针对既定流程设计的,不易扩展,缺乏通用性。
[0006]在图形渲染、图像处理等领域的数字产品生产业务中,用户希望有更大的自由度,可以自主、可视化地定制其想要的工作流程,并让计算机驱动自动执行。此时,自主定制与驱动执行就形成了矛盾,以往的工作流系统尚不能很好地协调两者;同时,除了图形渲染、图像处理以外,其他领域的数字产品生产业务也会需要工作流系统的支持,其设计应尽可能避免受特定业务局限。所以,计算机工作流处理领域人员迫切需要一种兼顾定制与执行、且具有通用性的方法。


【发明内容】

[0007](一 )要解决的技术问题
[0008]有鉴于此,本发明的主要目的在于提供一种面向诸如图形渲染、图像处理以及其它可能应用领域的数字产品生产业务、利用计算机进行工作流的自主定制与驱动执行的方法。
[0009]( 二 )技术方案
[0010]为达到上述目的,本发明提供了
[0011]一种计算机工作流的自主定制与驱动执行的通用方法,其特征在于,包括:
[0012]步骤101:对生产业务按逻辑划分,自底向上抽象成原型、流程、事务的三层工作流模型;所述原型用于表示生产业务中相互独立的业务环节,所述流程用于表示能够完成一项业务的多个业务环节的按照一定的顺序组合而成;所述事务用于表示流程和具体文件的绑定关系;
[0013]步骤102:以工作流模型为基础,在计算机上自主定制符合实际业务的工作流实例;所述工作流实例包括原型层实例、流程层实例和事务层实例;所述原型层实例包括原型模块、原型引脚、原型参数、原型文件、原型类型;所述流程层实例包括流程记要、流程节点、流程连线、流程参数;所述事务层实例包括事务记要、事务文件;
[0014]步骤103:将工作流实例转换生成工作流实例配置文件,以便传输使用;所述工作流实例配置文件用于记载所述工作流实例中的所有信息,供计算机识别与使用;
[0015]步骤104:计算机解析装载工作流实例配置文件,并驱动实例的自动执行。
[0016](三)有益效果
[0017]从上述技术方案可以看出,本发明具有以下有益效果:
[0018]I)本发明所建立的工作流模型,其原型、流程、事务三层分别是生产业务按逻辑层次自底向上的聚类。层内对象功能分明,共同组合成一个有机整体;层间存在依赖、复用关系,但在不同的逻辑层发挥作用。这样就为自主定制的灵活性和驱动执行的自动化奠定了良好的基础。
[0019]2)本发明提供的采用上述模型进行工作流实例自主定制的方法,由于模型逻辑划分清晰,自主定制时灵活性好、但步骤明确,可以用于更多领域生产业务的自由定制;而且能够支持可视化定制。定制的工作流实例能够转换生成工作流实例配置文件,便于实例的重建或后续计算机执行。
[0020]3)本发明提供的工作流实例的驱动执行方法,并没有针对特定领域业务流程设计,而是依据工作流模型的特点,最大程度地实现对任意自主定制流程的自动执行,从而在兼顾了自主定制与驱动执行的同时,保证了本发明的通用性。

【专利附图】

【附图说明】
[0021]图1为依照本发明实施例的计算机工作流的自主定制与驱动执行的通用方法总体步骤图;
[0022]图2为依照本发明实施例的工作流模型的层次关系示意图;
[0023]图3为依照本发明实施例的自主定制原型层实例的步骤图;
[0024]图4为依照本发明实施例的自主定制流程层实例的步骤图;
[0025]图5为依照本发明实施例的自主定制事务层实例的步骤图;
[0026]图6为依照本发明实施例的实现工作流实例可视化自主定制的步骤图;
[0027]图7为依照本发明实施例的将工作流实例转换生成配置文件的步骤图;
[0028]图8为依照本发明实施例的工作流实例配置文件的结构图;
[0029]图9为依照本发明实施例的计算机解析装载工作流实例配置文件的步骤图;
[0030]图10为依照本发明实施例的计算机驱动工作流实例自动执行的步骤图;
[0031]图11为依照本发明实施例的对遥感图像0、1级产品生产业务进行定制的流程示意图。

【具体实施方式】
[0032]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0033]如图1所示,图1为依照本发明实施例的计算机工作流的自主定制与驱动执行的通用方法总体步骤图,主要包括:
[0034]步骤101:对生产业务按逻辑划分,自底向上抽象成原型、流程、事务的三层工作流模型;
[0035]步骤102:以工作流模型为基础,在计算机上自主定制符合实际业务的工作流实例;
[0036]步骤103:将工作流实例转换生成工作流实例配置文件,以便传输使用;
[0037]步骤104:计算机解析装载工作流实例配置文件,并驱动实例的自动执行。
[0038]步骤101中,生产业务从逻辑上来划分,按步骤1011-1013建立工作流模型:
[0039]步骤1011,生产业务中通常包含一些稳定常用、相互独立的业务环节,这些环节有其独特的、与其它环节不相重复的作用,一般不可再分割,是构建生产业务的基础,这些环节被分别抽象成不同的原型。业务环节所在的层次,抽象为工作流模型的原型层;
[0040]步骤1012,生产业务一般按照从某个起点经历某些环节、并导向某种结果的顺序去执行,这就形成了业务流程。业务流程由步骤1011中的能够完成一项任务的业务环节按照一定的顺序组合而成,是对生产业务的一般化描述。业务流程所在的层次,抽象为工作流模型的流程层;
[0041]步骤1013,生产业务仅靠业务流程这种一般化描述不能生产出实际产品,必须将流程与原始/目标文件绑定才能进行实际生产,这就形成了业务事务。业务事务是生产业务最终的落实者。业务事务所在的层次,抽象为工作流模型的事务层。
[0042]步骤1011中,进一步细化原型层模型如下,包括:
[0043]原型模块:对某个业务环节本身的一般化抽象,描述该业务环节的名称、主要作用、执行程序等;
[0044]原型引脚:对某个业务环节所需的输入和输出进行抽象,描述输入或输出的名称、次序、数据类型等,一个原型模块可能有若干个输入或输出原型引脚;
[0045]原型参数:对某个业务环节在运行时所需的参数进行抽象,描述参数的名称、次序、数据类型等,一个原型模块可包含若干原型参数;
[0046]原型文件:对某个业务环节在运行时需要获取的原始文件、或生成的目标文件进行抽象,描述文件的名称、次序、文件类型等;
[0047]原型类型:对上述原型引脚、原型参数、原型文件所属数据或文件的种类和样式进行抽象。
[0048]步骤1012中,进一步细化流程层模型如下,包括:
[0049]流程记要:对业务流程本身的抽象,记录了业务流程的名称、时间、作用等要点信息;
[0050]流程节点:对业务流程实际包含的业务环节进行抽象,记录处于某个具体业务流程中的业务环节,依赖于原型模块,对原型模块进行复用;
[0051]流程连线:对业务流程实际包含业务环节的执行顺序进行抽象,记录了具体业务流程中从某一环节输出到另一环节输入的走向,依赖于原型引脚,对原型引脚进行复用;
[0052]流程参数:对业务流程实际包含业务环节的参数进行抽象,记录了具体业务流程中业务环节所需参数的实际值,依赖于原型参数,对原型参数进行复用。
[0053]步骤1013中,进一步细化事务层模型如下,包括:
[0054]事务记要:对业务事务本身的抽象,记录了业务事务的名称、时间、作用、采用业务流程等要点信息;
[0055]事务文件:对业务事务实际绑定的文件进行抽象,记录处于某个具体业务事务中的业务环节所绑定文件的实际路径,依赖于原型文件,对原型文件进行复用。
[0056]以上完成工作流模型的抽象建立,其层次示意图如图2所示。
[0057]步骤102,以上述工作流模型为基础,在计算机上自主定制符合实际业务的工作流实例,其中自主定制按步骤1021-1023进行:
[0058]步骤1021,定制原型层实例:将实际生产业务划分成若干业务环节,然后为每个业务环节都添加对应的原型模块以及与之相关的原型引脚、原型参数、原型文件和原型类型。根据一个业务环节定制对应的原型层实例如图3所示,包括步骤301-306:
[0059]步骤301,确定一个业务环节;
[0060]步骤302,根据此业务环节,添加一个原型模块,设定该模块的名称、作用、程序等描述;
[0061]步骤303,判断此业务环节有无输入输出,若有则执行步骤3031-3036,否则执行步骤304 ;
[0062]步骤3031,为已添加的原型模块增加相应的输入/输出原型引脚;
[0063]步骤3032,设定所增加原型引脚的名称、次序等;
[0064]步骤3033,检查原型类型中有无与原型引脚相符的数据类型,若有则直接执行步骤3035,否则先执行步骤3034、再执行步骤3035 ;
[0065]步骤3034,在原型类型中增加新的数据类型;
[0066]步骤3035,为原型引脚选定一项原型类型;
[0067]步骤3036,检查业务环节的输入输出是否已全部抽象为原型引脚,是则执行步骤304,否则返回步骤3031 ;
[0068]步骤304,判断此业务环节有无运行时参数,若有则执行步骤3041-3046,否则执行步骤305 ;
[0069]步骤3041,为原型模块增加相应的原型参数;
[0070]步骤3042,设定所增加原型参数的名称、次序等;
[0071]步骤3043,检查原型类型中有无与原型参数相符的数据类型,若有则执行步骤3045,否则先执行步骤3044,再执行步骤3045 ;
[0072]步骤3044,在原型类型中增加新的数据类型;
[0073]步骤3045,为原型参数选定一项原型类型;
[0074]步骤3036,检查业务环节所需的运行时参数是否已全部抽象为原型参数,是则执行步骤305,否则返回步骤3041 ;
[0075]步骤305,判断此业务环节是否涉及文件,若是则执行步骤3051-3056,否则执行步骤306 ;
[0076]步骤3051,为原型模块增加相应的原始/目标原型文件;
[0077]步骤3052,设定所增加原型文件的名称、次序等;
[0078]步骤3053,检查原型类型中有无与原型文件相符的文件类型,若有则执行步骤3055,否则先执行步骤3054,再执行步骤3055 ;
[0079]步骤3054,在原型类型中增加新的文件类型;
[0080]步骤3055,为原型文件选定一项原型类型;
[0081]步骤3056,检查业务环节涉及的文件是否已全部抽象为原型文件,是则执行步骤306,否则返回步骤3051 ;
[0082]步骤306,保存上述定制的原型模块及其相关的原型引脚、原型参数、原型文件、原型类型等内容到数据库。
[0083]下面以遥感图像的0、1级广品生广业务为例,说明如何定制原型层实例。
[0084]由于遥感图像的0、1级产品生产可以分为“指定源数据”、“格式化”、“配准”、“融合”、“存储目标数据”等环节,因此即对应五个同名的原型模块。以“指定源数据”模块为例,其作用就是为生产业务准备好待处理的源数据,模块的执行程序为prepare, exe ;该模块无输入引脚,只有一个输出引脚,引脚的原型类型为“图像”;该模块无运行时参数;该模块只有一个原始文件,即“源数据路径”。其它模块均按照图3的步骤逐一完善。定制完成后的原型层实例信息即存入数据库。
[0085]通过以上步骤,可完成原型层实例的定制。
[0086]步骤1022,定制流程层实例:利用已定制的原型层实例,以某个业务流程为参照,添加一项流程记要,并为其增加流程节点、流程连线和流程参数,如图4所示,包括步骤401-405:
[0087]步骤401,确定所参照的某个业务流程;
[0088]步骤402,提取该业务流程的名称、时间、作用等信息,形成一项新的流程记要;
[0089]步骤403,判断该业务流程是否仍需要增加流程节点来完善流程,是则执行步骤4031-4033,否则执行步骤404 ;
[0090]步骤4031,增加一个新的流程节点,并为其选定所采用的原型模块;
[0091]步骤4032,判断所采用的原型模块有无原型参数,有则执行步骤4033,无则返回步骤403 ;
[0092]步骤4033,有原型参数时,增加相应的流程参数,并设定参数实际值,然后返回步骤 403 ;
[0093]步骤404,判断该业务流程是否仍需要增加流程连线来完善流程,是则执行步骤4041-4043,否则执行步骤405 ;
[0094]步骤4041,选定一个流程节点所采用原型模块上的输出原型引脚为起点;
[0095]步骤4042,再选定一个流程节点所采用原型模块上的输入原型引脚为终点;
[0096]步骤4043,记录上述起点和终点,增加一条流程连线,返回步骤404 ;
[0097]步骤405,保存上述定制出的流程记要及相关的流程节点、流程连线等内容到数据库。
[0098]通过以上步骤,即完成流程层实例的定制。
[0099]依然以遥感图像0、1级产品业务为例说明定制流程层示例的过程。
[0100]根据0、1级产品的生产需要,可形成两条流程记要,分别代表0、1级产品生产。再以O级产品的生产流程完善为例,流程共需三个节点,分别选用模块“指定源数据”、“格式化”和“存储目标数据”,并用连线将相应的引脚连接起来。I级产品的生产流程定制与之类似,只是增加了选用“配准”、“融合”模块的节点。可视化的流程示意如图11所示,带文字矩形代表选用某个模块的节点,实心黑色针形代表引脚,连线将节点串成完整的流程。这里,模块是原型层定制好、能够被复用的,所属节点则是唯一的。定制完成后的流程层实例信息同样存入数据库
[0101]步骤1023,定制事务层实例:利用已定制的原型层和流程层实例,以某个业务事务为参照,添加一项事务记要,并为其增加事务文件,如图5所示,包括步骤501-506:
[0102]步骤501,确定所参照的某个业务事务;
[0103]步骤502,提取该业务事务的名称、时间、作用等信息形成一项新的事务记要;
[0104]步骤503,为事务记要选定所采用的业务流程,主要是根据流程记要来选择合适的业务流程实例;
[0105]步骤504,检查业务流程实例中的流程节点,判断其所用原型模块是否包含未设置的原型文件,若有则执行步骤505,否则执行步骤506 ;
[0106]步骤505,增加与原型文件相应的事务文件,并设定文件实际路径,返回步骤504。
[0107]步骤506,保存上述定制的事务记要及事务文件到数据库。
[0108]通过以上步骤,即完成事务层实例的定制。
[0109]依然以遥感图像0、1级产品业务为例说明定制事务层实例的过程。
[0110]最后定制事务层实例:假设要进行7月7日新采集的遥感图像的O级产品生产,SP可增加一条新的事务记要,并选择已定制的O级产品生产流程,为“指定源数据”、“存储目标数据”设置事务文件的实际路径,如图11中的虚线气泡框所示意。若要进行I级产品生产亦如此定制新的事务,定制完成后均存入数据库。
[0111]由此,步骤102所述的工作流实例的自主定制全部完成。
[0112]步骤102中,由于工作流实例的自主定制是在计算机上完成,借助计算机的图形界面,即能够支持可视化定制。实现可视化定制的步骤如图6,包括步骤601-603:
[0113]步骤601,首先进行原型层实例的可视化定制,具体又分为步骤6011-6017:
[0114]步骤6011,在图形界面主窗口添加一个矩形标签,代表一个原型模块;
[0115]步骤6012,双击矩形标签,编辑原型模块的名称、作用、程序等信息;
[0116]步骤6013,在矩形标签的左右外框单击新增若干针状标签,代表各个原型引脚;
[0117]步骤6014,双击针状标签,弹出对话框,编辑原型引脚的名称、次序、数据类型等信息;
[0118]步骤6015,在矩形标签的底部单击新增若干点状标签,代表原型参数或原型文件;
[0119]步骤6016,双击点状标签,弹出对话框,编辑原型参数或原型文件的名称、次序、数据/文件类型等信息;
[0120]步骤6017,保存以上定制的原型层实例信息。
[0121]步骤602,其次进行流程层实例的可视化定制,具体又分为步骤6021-6027:
[0122]步骤6021,在图形界面主窗口以表格形式编辑流程记要的名称、作用等信息;
[0123]步骤6022,主窗口以矩形标签列表形式显示现有的原型模块;
[0124]步骤6023,主窗口以画布形式显示流程编辑区域;
[0125]步骤6024,拖拽步骤6022中代表相应原型模块的矩形标签到流程编辑区域,形成新的流程节点;
[0126]步骤6025,双击矩形标签上代表原型参数的点状标签,弹出对话框,设定实际取值,形成新的流程参数;
[0127]步骤6026,选定矩形标签上代表原型引脚的针状标签,增加所需的流程连线;
[0128]步骤6027,保存以上定制的流程层实例信息。
[0129]步骤603,最后进行事务层实例的可视化定制,具体又分为步骤6031-6035:
[0130]步骤6031,在图形界面主窗口以表格形式编辑事务记要的名称、作用等信息;
[0131]步骤6032,主窗口以列表形式显示现有业务流程的流程记要,根据需要选定一项流程记要;
[0132]步骤6033,主窗口以画布形式显示流程编辑区域,其中包括与所选流程记要相关联的所有流程节点(显示为矩形标签)与流程连线;
[0133]步骤6034,双击矩形标签上代表原型文件的点状标签,弹出对话框,设定文件实际路径,形成新的事务文件;
[0134]步骤6035,保存以上定制的事务层实例信息。
[0135]通过以上步骤,即可实现工作流实例的可视化自主定制。
[0136]步骤103,将工作流实例转换生成工作流实例配置文件,以便传输供其它计算机识别与使用。其中转换生成与模型建立或自主定制的顺序相反,是自顶向下进行的,如图7所示,包括步骤701-712:
[0137]步骤701,从数据库获取事务层实例的一项事务记要;
[0138]步骤702,将事务记要中的名称、时间、作用等信息写入配置文件;
[0139]步骤703,根据事务记要中所采用业务流程的信息,从流程层实例中获取对应的流程记要;
[0140]步骤704,将流程记要中的名称、时间、作用等信息写入配置文件;
[0141]步骤705,获取与该流程记要相关联的所有流程节点;
[0142]步骤706,从原型层实例获取各个流程节点所采用的原型模块(包括原型引脚);
[0143]步骤707,将流程节点所用的原型模块(包括原型引脚)信息写入配置文件;
[0144]步骤708,获取与原型模块相关联的原型参数和原型文件;
[0145]步骤709,找到与原型参数/原型文件相对应的流程参数/事务文件;
[0146]步骤710,将原型参数/原型文件的名称、次序信息与流程参数/事务文件的实际取值合并,写入配置文件;
[0147]步骤711,获取与流程记要相关联的所有流程连线;
[0148]步骤712,将流程连线的走向信息写入配置文件。
[0149]通过以上步骤,即可将工作流实例转换生成工作流实例配置文件。文件结构如图8所示:分为事务记要、流程记要、流程节点(若干)、流程连线(若干)四部分;单个流程节点下包含了所用原型模块及其原型引脚、原型参数(及对应流程参数)、原型文件(及对应事务文件)的信息;单个流程连线下包含了起点、终点信息。
[0150]对于遥感图像0、1级产品业务的示例来说,为进行计算机生产,须转换生成工作流实例配置文件,仍以O级产品生产事务为例,配置文件的基本格式为:
[0151]-〈root〉
[0152]-<事务记要名称=7月7日采集图像的O级产品时间=...作用=...>
[0153]-<流程记要名称=O级产品生产时间=...作用=...>
[0154]-〈流程节点〉
[0155]-〈节点1>
[0156]-<原型模块名称=指定源数据作用=...程序=preprare.exe>
[0157]-〈原型引脚I名称=输出次序=i类型=图像〉
[0158]-<原型文件I名称=源数据路径次序=I类型=图像>
[0159]-<事务文件I实际值=7月7日新采集数据>
[0160]-〈节点2>
[0161]-<原型模块名称=格式化作用=...程序=format.exe>
[0162]-〈原型引脚I名称=输入次序=I类型=图像〉
[0163]-<原型引脚2名称=输出次序=I类型=图像>
[0164]-<原型参数I名称=格式化参数次序=I类型=参数>
[0165]-<流程参数I实际值=...>
[0166]-〈节点3>
[0167]-〈与上类似,略〉
[0168]......
[0169]-〈流程连线〉
[0170]-<连线I起点=节点I原型引脚I终点=节点2原型引脚1>
[0171]-〈连线2与上类似,略〉
[0172].......
[0173]步骤104:计算机解析装载工作流实例配置文件,并驱动实例的自动执行。其中,解析是识别提取配置文件中的关键信息,其顺序与步骤103中转换生成的顺序基本相同;装载是将解析后的信息载入计算机内存。解析装载过程如图9所示,包括步骤901-910:
[0174]步骤901,在配置文件中查找事务记要,解析出事务记要的名称、时间、作用等关键字及其具体信息;
[0175]步骤902,在计算机内存中为事务记要分配结构体空间,并装载事务记要的名称、时间、作用等信息;
[0176]步骤903,在配置文件中查找流程记要,解析出流程记要的名称、时间、作用等关键字及其具体信息;
[0177]步骤904,在计算机内存中为流程记要分配结构体空间,并装载流程记要的名称、时间、作用等信息;
[0178]步骤905,在配置文件中逐个查找流程节点,解析出流程节点及其所用原型模块,包括与原型模块相关的原型引脚、原型参数、原型文件等;
[0179]步骤906,在计算机内存中为每个流程节点分配结构体空间,装载流程节点自身信息;
[0180]步骤907,在流程节点的结构体空间中,装载所用原型模块以及原型引脚的信息;
[0181]步骤908,在流程节点的结构体空间中,装载原型参数/原型文件和对应流程参数/事务文件的信息;
[0182]步骤909,在配置文件中逐个查找流程连线,解析出流程连线的起点、终点关键字及其具体信息;
[0183]步骤910,在计算机内存中为每个流程连线分配结构体空间,装载流程连线的起点、终点信息。
[0184]通过以上步骤可完成工作流实例配置文件的解析装载。
[0185]步骤104中,解析装载完毕后,计算机将驱动工作流实例自动执行,如图10所示,包括步骤1001-1006:
[0186]步骤1001,将所有流程节点标记为未执行状态,并加入一个等待队列;
[0187]步骤1002,轮询等待队列中的每个流程节点,即不断从队列头至尾按序取得一个流程节点,来执行步骤1003-1004的查询;
[0188]步骤1003,判断当前取得的流程节点是否为未执行状态,是则执行步骤10031-10034,否则执行步骤1004 ;
[0189]步骤10031,根据流程连线信息搜寻当前流程节点的前驱流程节点,前驱流程节点即流程连线的终点指向当前流程节点、而起点所在的节点。
[0190]步骤10032,判断前驱流程节点是否全部是执行完成状态(没有前驱流程节点则默认为是),是则继续执行步骤10033-10034,否则返回步骤1002 ;
[0191]步骤10033,准备好当前流程节点的输入、运行时参数/文件,其中,输入由当前流程节点所用原型模块上的输入原型引脚指示,具体内容来源于前驱流程节点所用原型模块上的输出原型引脚,运行时参数/文件则来源于流程参数/事务文件的实际取值;
[0192]步骤10034,以步骤10033中的输入、参数/文件为基础,启动当前流程节点所用原型模块的可执行程序,并标记当前流程节点为执行中状态,返回步骤1002 ;
[0193]步骤1004,判断当前流程节点是否执行完成,是则执行步骤10041-10042,否则返回步骤1002 ;
[0194]步骤10041,设置当前流程节点的输出,这是指将可执行程序的输出内容绑定到当前流程节点所用原型模块上的输出原型引脚;
[0195]步骤10042,标记当前流程节点为执行完成状态,并将其移出等待队列,继续执行步骤1005 ;
[0196]步骤1005,判断等待队列是否为空,是则执行步骤1006,否则返回步骤1002 ;
[0197]步骤1006,根据工作流的驱动执行情况,更新事务记要信息。
[0198]通过以上步骤,工作流实例就能够被计算机驱动自动执行,生产出相应的结果。
[0199]对于遥感图像的O级产品生产事务的配置文件,计算机解析装载上述配置文件,驱动工作流实例自动执行:首先将节点“指定源数据”、“格式化”和“存储目标数据”都置为未执行状态,加入等待队列;轮询队列发现“指定源数据”无前驱节点,可立即执行,而其它两节点仍需等待;一旦“指定源数据”节点获得了源数据,其执行完成,则“格式化”节点也可执行,其输入为“指定源数据”节点的输出格式化”节点完成后,“存储目标数据”节点也依次执行;三个节点全部执行完成后,等待队列为空,整个生产事务就被计算机处理完毕,获得所需产品。
[0200]综上所述,本发明通过对生产业务按逻辑划分,自底向上抽象成原型、流程、事务的三层工作流模型;以工作流模型为基础,在计算机上自主定制符合实际业务的工作流实例;将工作流实例转换生成工作流实例配置文件,以便传输使用;计算机解析装载工作流实例配置文件,并驱动实例的自动执行,最终实现了一种计算机工作流的自主定制与驱动执行的通用方法,达到了为计算机工作流处理领域提供一种兼顾定制与执行、且具有通用性方法的目的。
[0201]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种计算机工作流的自主定制与驱动执行的通用方法,其特征在于,包括: 步骤101:对生产业务按逻辑划分,自底向上抽象成原型、流程、事务的三层工作流模型;所述原型用于表示生产业务中相互独立的业务环节,所述流程用于表示能够完成一项业务的多个业务环节的按照一定的顺序组合而成;所述事务用于表示流程和具体文件的绑定关系; 步骤102:以工作流模型为基础,在计算机上自主定制符合实际业务的工作流实例;所述工作流实例包括原型层实例、流程层实例和事务层实例;所述原型层实例包括原型模块、原型引脚、原型参数、原型文件、原型类型;所述流程层实例包括流程记要、流程节点、流程连线、流程参数;所述事务层实例包括事务记要、事务文件; 步骤103:将工作流实例转换生成工作流实例配置文件,以便传输使用;所述工作流实例配置文件用于记载所述工作流实例中的所有信息,供计算机识别与使用; 步骤104:计算机解析装载工作流实例配置文件,并驱动实例的自动执行。
2.根据权利要求1所述的方法,其特征在于,所述原型层模型中的原型模块、原型引脚、原型参数、原型文件、原型类型分别表示业务环节本身、业务环节输入输出、业务环节所需运行时参数、业务环节所要获取或生成的文件以及引脚、参数、文件的数据类型;所述流程层模型中的流程 记要、流程节点、流程连线、流程参数分别表示业务流程本身、流程实际包含的业务环节、流程中业务环节的执行顺序、以及流程中业务环节的实际参数;所述事务层模型中的事务记要、事务文件用于表示业务事务本身、事务实际绑定的文件。
3.根据权利要求1所述的方法,其特征在于,步骤102中所述原型层实例的定制,是以实际的业务环节为参照,先使用原型模块来描述业务环节本身,再考察业务环节是否包含输入输出、运行时参数、所需文件,从而对应地使用原型引脚、原型参数、原型文件分别进行描述,原型引脚、原型参数和原型文件的类型则用原型类型统一描述。
4.根据权利要求1所述的方法,其特征在于,步骤102中所述流程层实例的定制,是利用已定制的原型层实例,以实际的业务流程为参照,先使用流程记要来描述业务流程本身,再考察业务流程需要具备的业务环节、环节参数、执行顺序,从而对应地使用流程节点、流程参数、流程连线分别进行描述。
5.根据权利要求1所述的方法,其特征在于,步骤102中所述事务层实例的定制,是利用已定制的原型层、流程层实例,以实际的业务事务为参照,先使用事务记要来描述业务事务本身,再考察业务事务所需要绑定的文件,从而使用事务文件来进行描述。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述自主定制是在计算机上完成的,借助计算机图形界面,实现各层模型实例的可视化定制,以可视化方式将模型展示为图形,并在图形上对模型信息进行编辑。
7.根据权利要求1所述的方法,其特征在于,步骤103中所述将工作流实例转换生成工作流实例配置文件,是按照自顶向下的顺序,先向配置文件中写入事务记要信息,再写入流程记要信息,然后写入所有流程节点信息,最后写入所有流程连线信息。
8.根据权利要求7所述的方法,其特征在于,步骤103中所述工作流实例配置文件的结构包括事务记要、流程记要、多个流程节点、多个流程连线,其中,每个流程节点又包括所用原型模块及其原型引脚、原型参数及对应流程参数、原型文件及对应事务文件的信息;每个流程连线包括连线的起点和终点信息。
9.根据权利要求1所述的方法,其特征在于,步骤104中所述计算机解析装载工作流实例配置文件,是计算机识别并提取所述工作流实例配置文件中的关键信息,并将所提取的关键信息载入计算机内存,在内存空间中构建出事务记要、流程记要、流程节点、流程连线的结构体信息。
10.根据权利要求1所述的方法,其特征在于,步骤104中所述驱动工作流实例的自动执行,是计算机以内存空间中的结构体信息为基础,采用如下方法步骤进行驱动: 所有流程节点被标记为未执行状态,并全部加入一个等待队列; 对等待队列中的流程节点轮流进行判断,若当前流程节点为未执行状态,则在其前面的所有流程节点全部完成时将当前流程节点启动执行并标记为执行中状态,否则令其继续等待;若当前流程节点为执行中状态,则在检查到当前流程节点执行完毕时将其移出等待队列并标记为执行完成状态,或在检查到其仍在执行时继续等待; 检测等待队列是否为空,为空则表明所有流程节点已经执行完成,则进入下一步; 对工作流实例的执行情况进行 记录总结。
【文档编号】G06F17/30GK104077669SQ201410351275
【公开日】2014年10月1日 申请日期:2014年7月23日 优先权日:2014年7月23日
【发明者】刘思江, 蒋永实 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1