配置作业的属性的方法和系统的制作方法

文档序号:6574822阅读:207来源:国知局
专利名称:配置作业的属性的方法和系统的制作方法
技术领域
本发明涉及在工作流处理系统中定义和使用属性的领域,更具体地说,涉及用于简化在工作流处理系统中定义作业属性的用户交互的方法和结构。
背景技术
工作流处理系统通常根据工作流模型或作业类型来处理作业。可以通过一个或多个阶段的序列来处理作业,每个阶段可以包括一个或多个过程,每个过程可以包括一个或多个步骤。将输入施加到各个阶段、过程和步骤,并可从各个阶段、过程和步骤生成相应的输出。工作流模型或作业类型定义了适于处理特定种类作业的阶段、过程和步骤的特定序列。美国专利申请No.BLD9-2006-0003-US1提供了具有显著客户可配置性的一个示例性工作流处理系统,以便更灵活地定义作业和关联的工作流模型。
在此类工作流处理系统中,很常见的是,特定作业和/或工作流模型可以包括大量的定义处理作业的各方面的参数或属性。很常见的是,可以根据数以百计(如果不是数以千计)的作业属性或参数来定义复杂的作业。工作流系统的用户必须配置这些众多属性中的每个属性,以便工作流处理系统可以正确地处理作业。
在当前的工作流处理系统中,在呈现要由用户定义的大量作业属性方面将出现第一个问题。组织如此大量的属性本身就是个问题。当前的技术只是呈现要定义的作业属性的线性列表,在某些情况下按照名称或其他ID以字母顺序排序。用户必须按照该顺序浏览各个属性中的每个属性,并且更改任何对正确配置关联作业的处理所必需的属性值。此外,在定义属性值以配置特定作业的工作流处理中的大量手动人工处理非常容易出错。虽然向用户呈现了大量合理的默认值,但是实际所需的值可能取决于具有多种因素的复杂函数,所述因素不仅与作业本身有关,而且还与工作流处理系统的各方面、将在其中处理作业的环境,以及可能在作业通过工作流处理系统时更改的其他动态因素有关。为作业属性确定和定义如此复杂的值增加了人工出错以及因此不正确的作业处理的机会。
从上述讨论很明显的是,需要一种改进的系统和方法,其允许更好的用户交互来呈现属性以便用户进行配置,并且还允许更灵活多样地定义作业的属性值。

发明内容
通过用于提高在工作流处理系统中定义作业的属性值的容易程度和灵活性的方法、关联系统和装置,本发明解决了上述和其他相关的问题。将按照作业属性与用于处理作业类型的工作流模型的各种元素的关系来分组或组织的作业属性呈现给用户。此外,可以根据使用作业属性的工作流模型的元素和/或根据涉及各种作业属性和其他参数的函数的动态计算来灵活地定义作业属性的默认值。
本发明的一个方面提供了一种用于配置作业的属性以便在工作流处理系统中处理所述作业的方法。所述方法包括向用户呈现所述作业的属性,其中根据与在所述工作流处理系统中执行所述作业关联的工作流模型的各方面来对所述作业属性分组。所述方法还包括根据用户输入来生成所述作业的属性的属性值。
本发明的另一个方面提供了一种根据多个属性在工作流处理系统中处理作业的方法。所述方法包括在与要处理的作业关联的数据库中定义作业的属性值,其中根据定义用于处理所述作业的顺序步骤的工作流模型来对所述多个属性分组。所述方法还包括在与处理所述作业的步骤关联的所有组件间共享所述数据库中的属性值。
本发明可以包括下面描述的其他示例性实施例。


相同的标号表示所有附图中的相同元素,这些附图是图1是根据本发明的特征和方面增强以实现改进的用户交互来配置作业属性的示意性工作流处理系统的方块图;图2和3是描述了根据本发明的特征和方面以改进在工作流处理系统中定义作业属性值的用户交互和灵活性的示意性方法的流程图;以及图4是适于处理包含计算机程序产品的计算机可读介质的系统的方块图,所述计算机程序产品实现根据本发明的特征和方面的方法以使用串行化和解串行化技术来迁移数据库。
具体实施例方式
图1到4以及以下描述示出了本发明的特定示例性实施例以教导本领域的技术人员如何实施和使用本发明。出于此教导的目的,简化或忽略了本发明的一些常规方面。本领域的技术人员将理解来自这些实施例的落入本发明的范围内的变型。本领域的技术人员将理解,可以以各种方式组合以下描述的特征以形成本发明的多个变型。因此,本发明不限于以下描述的特定实施例,而仅由权利要求及其等同物来限制。
图1是根据本发明的特征和方面增强的工作流处理系统100的方块图。此类工作流处理系统100的示例是美国专利申请No.BLD9-2006-0003-US1中披露的系统体系结构。此类工作流处理系统1 00使用集成的工作流数据库102来存储所有与要由系统执行的作业108以及工作流模型112有关的信息(如作业类型),所述工作流模型112定义了要执行的阶段、过程和步骤的特定序列以便执行相应类型的作业。工作流处理系统100根据相应工作流模型112定义的阶段、过程和步骤的序列来执行作业108。工作流模型112定义的各种步骤可以调用工作流处理系统100中或与工作流处理系统100关联的大量其他处理组件104。例如,在打印环境的上下文中,工作流处理系统100可以根据相应的工作流模型112来处理打印作业108。作业处理组件104可以包括处理打印作业中使用的各种元素,例如,包括转换组件、光栅化组件、格式化组件、打印引擎组件、后处理组件等。本领域的技术人员将很容易地认识到,作业处理组件104可以如图1所示紧密集成在工作流处理系统100中,或者可以是单独的和不同的元件。各个组件104和工作流处理系统100优选地共享对集成工作流数据库102中的信息的访问。
如上所述,每个作业108都包括关联的多个作业属性110。手动配置大量此类作业属性(编号可能是数以百计,如果不是数以千计的话)的复杂性是此类工作流处理系统中现存的问题。根据本发明的特征和方面,作业属性管理元素106提供了增强的能力以改进在工作流处理系统100中配置和使用作业属性。
如上所述,在作业属性管理元素106中由本发明的特征和方面提供的第一个主要改进是呈现根据与作业关联的工作流模型的各方面来分组或组织的多个作业属性。如在本文中的别处描述的和在美国专利申请No.BLD9-2006-0003-US1中更充分讨论的,工作流模型将对相应类型作业的处理定义为一个或多个阶段的序列,每个阶段包括一个或多个过程,每个过程包括一个或多个步骤。此类工作流模型通常从预定义的模板来构建以允许用户更简单地生成和配置工作流模型。因此,根据本发明的特征和方面,向用户呈现根据属性与之相关的工作流模型阶段、过程和/或步骤来定义和分组的作业属性。与任何特定阶段、过程和/或步骤不同,可以使其他属性更全面地与作业本身相关。进而,本领域的技术人员将认识到,可以将单个属性与多个此类分组关联。例如,可以将特定属性与多个步骤以及相应的阶段关联。或者,例如,可以在多个阶段中使用单个步骤,因此可以为多个不同阶段中的相同步骤定义作业属性。这样,向用户呈现要定义的所有作业属性(根据属性与之相关的工作流处理元素来分组)通过阐明属性与何种特性相关而简化了用户的任务。
更进一步地,根据本发明的特征和方面,作业属性管理106可以确定一个或多个与作业关联的属性的默认值。根据本发明的特征和方面增强了默认值的确定以允许根据多种因素更灵活地确定此类默认值。在一个方面中,作业属性管理106可以根据使用关联的作业属性的工作流模型模板来确定默认值。然后,工作流处理中的步骤的特定实例和/或作业类型或用于定义工作流模型的其他更高层级的模板可以取代如此确定的默认值(如果有)。更进一步地,用户输入可以取代所述默认值。此外,可以根据与其中工作流处理系统正在运行的环境的各方面关联的可计算函数来动态地确定默认值。随着作业执行的进行,系统的各种环境方面可以动态地改变。例如,工作流处理系统100中使用的服务器节点数可以动态地改变,或者正在执行的当前作业数可以随系统的进行而改变。工作流处理系统100中各种其他作业处理组件104的数量或可用性也可以随作业的执行而动态地改变。可以在用于计算相应作业属性的默认值的函数中考虑任何数量的此类动态的、变化的环境值。属性值的动态计算还可以根据已定义的其他作业属性的值。进一步地,所述动态计算可以涉及动态的句法符号替换功能以动态地确定要在计算默认值时使用的函数。这样,可以根据工作流处理系统100的环境方面及其执行一个或多个作业108的进度来动态地改变函数本身。将在下面进一步讨论这些和其他确定技术。
本领域的技术人员将容易地认识到,图1只是旨在建议一种包含本发明的特征和方面的示例性系统体系结构。具体地说,本领域的技术人员将容易地认识到,工作流处理系统100可以包括任意数量的计算节点,使得处理和工作负荷可以分布在任意数量的此类计算设备中。同样,如本领域中所公知的,工作流处理数据库102可以直接连接到工作流处理系统100或者可以使用网络存储体系结构功能来实现。数据库102的存储也可以集中或分布在整个企业中。因此,对本领域的技术人员来说,作为典型的设计选择问题,集中或分布存储在工作流数据库102内的数据的体系结构和/或工作流处理系统100执行的计算是公知的。
图2是广泛描述根据本发明的特征和方面的改进工作流处理系统中的作业属性管理和利用的方法的流程图。在图2的方法开始和继续处理作业时,可以在与工作流处理系统关联的任何适合的计算节点中执行所述方法。元素200首先用于确定作业的每个属性的默认值(如果有)并将确定的默认值存储在属性数据库中以供本发明的其他方面后续利用。元素202然后用于根据作业属性与用于执行作业的相应工作流模型的各方面的相应关系来将作业属性分组。此外,元素202用于将分组的作业属性呈现给用户以允许用户输入取代任何确定的默认值。接着,元素204用于从任何适当的用户输入设备(如,语音输入、键盘输入、指点设备输入等)接收用户输入。用户可以在开始作业执行之前更改或取代默认值。定义了每个属性的当前默认值并如所指示的将呈现给用户的作业属性分组后,用户可以更容易地标识需要更改的作业属性并输入任何修改的默认值。最后,元素206接着用于根据属性数据库中当前设置的作业属性值并按照工作流模型对阶段、过程和步骤的定义来执行作业。如上所述和下面进一步讨论的,可以根据工作流处理系统的当前操作环境参数来动态地确定某些作业属性值。这样,元素206的处理还可以包括在作业执行中初次使用属性值时动态地计算该属性值。因此,将随作业执行的继续而动态地确定的作业属性默认值可以在恰好使用该属性之前在作业执行期间被重新计算。
如上所述,图2的处理优选地将所有作业属性和相应默认值存储在作业属性数据库中。如图1所示,作业属性数据库可以简单地实现为集成工作流数据库中的表,或者作为一种设计选择问题,可以实现为单独的数据库。在一个方面中,可以使用属性名称将属性与在特定阶段、过程和步骤的特定工作流模型中执行的特定作业相关联。为了隐藏所有此类结构,可以提供简单的访问方法以通过提供属性名称和值来设置属性值。还可以提供通过提供属性名称获取属性的相应访问方法。所述获取属性值方法可以例如动态地计算当前属性值,其中将属性值定义为工组流处理系统的其他参数或属性的函数。对本领域的技术人员来说,作为一种设计选择问题,用于将属性值存储在此类数据库中和访问属性值的结构和相关方法将是显而易见的。
图3是提供了图2的元素200的处理的其他示例性详细信息的流程图。如上所述,图2的元素200可用于确定作业的每个属性的默认值(如果有)。图3提供了根据本发明的特征和方面来灵活地定义作业属性的默认值的特定技术的其他示例性详细信息。通常,可以由与各个阶段、过程和步骤关联的模板来定义作业属性,所述模板包括与处理特定作业关联的工作流模型。可以使用来自此类模板的默认值以便可以建立分层结构,由此特定作业类型模板属性的默认属性值可以取代属性的特定步骤默认值,而用户输入或作业特定属性值又可以取代所述默认属性值。进而,如上所述,属性默认值可以定义为其他属性值和其中工作流处理正在执行特定作业的环境的其他方面的函数。进一步地,此类函数可以包括动态定义函数本身(通过对对定义默认值计算的函数执行符号替换)。因此,默认值计算函数本身可以被动态地定义。进一步地,还可以通过这些不同特征的组合来定义任何特定作业属性的默认值。对本领域的技术人员来说,组合此类特征以便确定默认值的技术和结构是显而易见的。
元素300-308描述了根据与执行特定作业关联的工作流模型的各方面来确定默认值的处理。如上所述,工作流模型定义了用于执行特定关联的作业类型的阶段、过程和步骤的序列。可以通过为可用阶段、过程和步骤配置预定义模板的实例来定义工作流模型。每个此类模板可以定义与相应工作流模型元素关联的作业属性的默认值。因此,元素300首先用于根据从其生成作业属性的工作流模型模板来确定特定作业属性的默认值。使用的模板可以是定义工作流模型所用的步骤模板,过程模板和/或阶段模板。然后,通过处理元素302(其中在工作流模型中定义了特定步骤、过程或阶段的特定实例),可以取代如此确定的默认属性值。如上所述,任何特定步骤可以在某一特定阶段中被多次实例化,或在不同阶段或过程中被多次实例化。这样,由特定步骤模板确定的默认值可以被工作流模型中的步骤的特定实例所取代。通过处理元素300和302至此确定的默认值可以进一步被与整个作业类型或工作流模型关联的模板所取代。因此,元素304表示可以取代由工作流模型的较低分层方面确定的默认值的下一分层。进一步地,根据特定于执行的特定作业的各方面,元素306可用于取代由元素300-304至此确定的任何默认属性值。因此,元素300-306可以根据预定义的默认值(可以在工作流模型的各方面中分层定义)和/或要执行的特定作业来确定任何作业属性的默认属性值。
可以将如此确定的任何默认值存储在属性数据库中以供工作流处理系统将来访问和处理。元素308然后指示可以为作业的所有属性(可以为其确定默认值)重复步骤300-306。
本领域的技术人员将容易地认识到与作业属性关联的数据库结构以指示与此类元素的特定阶段、过程、步骤、作业类型或特定实例的属性关系。例如,属性数据库可以包括多个表项,每个表项根据可以彼此取代的元素的此分层模型定义了特定作业属性的可能默认属性值。因此,元素300-308的处理根据此类多个默认值的分层取代来计算默认值(如果有)。
元素320-324表示根据与执行特定作业的工作流处理系统的环境关联的动态计算来确定作业属性默认值的处理。通常,作业属性默认值可以定义为其他作业属性值或执行一个或多个作业的工作流处理系统的环境的任何其他方面的函数。此类函数可以例如引用特定作业的其他作业属性的属性值。这样,元素320首先用于递归地使用此方法来确定在此函数中引用的作业属性值的当前值或默认值以确定作业属性默认值。此类递归编程技术是本领的技术人员公知的。接着,元素322在用于确定作业属性的默认值或当前值的函数中执行句法符号替换。如所指出的,用于确定默认值的函数可以引用其他属性值或与工作流处理系统的操作关联的环境参数。通过对其他属性的名称的句法引用或保留的关键字变量(用于引用操作工作流处理系统的特定属性或参数的当前值),可以指示对其他属性或参数值的引用。这样,元素322搜索针对此类句法引用求值的函数,并使用相应的当前值替换此类引用。然后,元素324使用指定的函数计算属性的默认值或当前值。如所指出的,递归调用元素320-324的方法可用于完整地对任何函数的当前值求值,与对其他属性或参数值的引用的数量无关。本领域的技术人员将容易地认识到编程技术以避免根据此类对其他属性或参数值的间接引用进行无限循环计算。
本领域的技术人员将容易地认识到用于组织、呈现和确定工作流处理系统中的作业属性的当前值或默认值的大量等同方法。图2和3的方法以及图1的结构因此仅旨在作为本发明的特征和方面的一个可能实施例的示例。
本发明的实施例可以采取完全硬件实施例、完全软件实施例或同时包含硬件和软件元素的实施例的形式。在优选实施例中,本发明以软件实现,所述软件包括但不限于固件、驻留软件、微代码等。图4是示出作为数据处理设备的数据处理系统401的方块图,所述数据处理设备适于通过执行编程的指令并访问存储在计算机可读存储介质412中的数据来提供本发明的特征和方面。
此外,本发明可以采取可从计算机可用或计算机可读介质412访问的计算机程序产品的形式,所述计算机可用或计算机可读介质412提供了可以被计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合的程序代码。出于在此说明的目的,计算机可用或计算机可读介质可以是任何能够包含、存储、传送、传播或传输由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的装置。
所述介质可以是电、磁、光、电磁、红外线或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前实例包括光盘-只读存储器(CD-ROM)、光盘-读/写(CR-R/W)和DYD。
适合于存储和/或执行程序代码的数据处理系统将包括至少一个通过系统总线450直接或间接连接到存储器元件402的处理器400。所述存储器元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。
输入/输出或I/O设备404(包括但不限于键盘、显示器、指点设备等)可以直接或通过中间I/O控制器与系统相连。网络适配器接口406也可以被连接到系统,以使所述数据处理系统能够通过中间专用或公共网络变得与其他数据处理系统或存储设备相连。调制解调器、电缆调制解调器、IBM通道附件、SCSI、光纤通道以及以太网卡只是少数几种当前可用的网络或主机接口适配器类型。
虽然在此描述了特定实施例,但是本发明的范围并不限于这些特定实施例。本发明的范围将由以下权利要求及其任何等同物来定义。
权利要求
1.一种用于配置作业的属性以便在工作流处理系统中处理所述作业的方法,所述方法包括向用户呈现所述作业的属性,其中根据与在所述工作流处理系统中执行所述作业关联的工作流模型的各方面来对所述作业属性分组;以及根据用户输入来生成所述作业的属性的属性值。
2.根据权利要求1的方法,其中所述工作流模型将对所述作业的处理定义为由一个或多个阶段组成的序列,每个阶段包括一个或多个过程,每个过程包括一个或多个步骤,并且其中所述呈现步骤还包括将与每个阶段相关的属性分组以便呈现;将与每个阶段的每个过程相关的属性分组以便呈现;以及将与每个阶段的每个过程的每个步骤相关的属性分组以便呈现。
3.根据权利要求2的方法,其中所述作业的属性与所述工作流模型的多个步骤、过程和/或阶段相关,并且被与所述属性与之相关的所述多个步骤、过程和/或阶段中的每个步骤、过程和/或阶段一起分组以便呈现。
4.根据权利要求2的方法,还包括为所述作业的一个或多个属性提供默认值,其中所述提供步骤还包括根据所述属性与之相关的步骤来提供步骤默认值;如果作业类型默认值不同于步骤默认值,则根据所述属性与之相关的作业类型使用所述作业类型默认值来取代所述步骤默认值;以及如果作业特定的默认值不同于所述步骤默认值或不同于作业类型默认值,则根据所述属性与之相关的特定作业使用所述作业特定的默认值来取代所述步骤默认值和任何所述作业类型默认值。
5.根据权利要求4的方法,其中每个步骤派生自关联的步骤模板,并且步骤模板可用于在工作流模型中派生步骤的多个实例,其中可以为派生自步骤模板的步骤的多个实例中的每个实例定义不同的步骤默认值,并且其中所述提供步骤默认值的步骤还包括根据所述属性与之相关的步骤的所述实例来提供步骤默认值。
6.根据权利要求1的方法,其中所述生成步骤还包括作为其中执行所述作业的环境的当前状态的函数来计算属性的默认值。
7.根据权利要求6的方法,其中所述计算步骤还包括通过函数模板中符号的符号替换来动态地确定要计算的函数以由此生成要计算的函数。
8.一种根据多个属性在工作流处理系统中处理作业的方法,所述方法包括在与要处理的作业关联的数据库中定义作业的属性值,其中根据定义处理所述作业的顺序步骤的工作流模型来对所述多个属性分组;以及在与处理所述作业的步骤关联的所有组件间共享所述数据库中的所有属性值。
9.根据权利要求8的方法,其中所述工作流模型将对所述作业的处理定义为由一个或多个阶段组成的序列,每个阶段包括一个或多个过程,每个过程包括一个或多个步骤,并且其中所述定义步骤还包括定义与每个阶段相关的一组属性的属性值;定义与每个阶段的每个过程相关的一组属性的属性值;以及定义与每个阶段的每个过程的每个步骤相关的一组属性的属性值。
10.根据权利要求9的方法,其中所述定义步骤还包括接收用于定义所述属性组的属性值的用户输入。
11.根据权利要求8的方法,其中所述定义步骤还包括作为其中执行所述作业的环境的当前状态的函数来动态地确定多个属性中的每个属性的值。
12.根据权利要求11的方法,其中所述动态地确定的步骤还包括通过函数模板中符号的符号替换来动态地确定要计算的函数以由此生成确定所述值的函数。
13.一种可在工作流处理系统中运行以便根据与作业关联的多个属性来处理所述作业的计算机程序产品,所述计算机程序产品包括计算机可读介质,所述计算机可读介质包含计算机可读程序,其中当在工作流处理系统上执行所述计算机可读程序时,将导致所述工作流处理系统执行根据权利要求1-12中的任一权利要求的方法。
全文摘要
一种提高在工作流处理系统中定义作业的属性值的容易程度和灵活性的方法、系统和装置。将按照作业属性与用于处理作业类型的工作流模型的各种元素的关系来分组或组织的作业属性呈现给用户。此外,可以根据使用作业属性的工作流模型的元素和/或根据涉及各种作业属性和其他参数的函数的动态计算来灵活地定义作业属性的默认值。
文档编号G06Q10/00GK101051368SQ20071009107
公开日2007年10月10日 申请日期2007年4月6日 优先权日2006年4月7日
发明者D·R·帕尔默, K·P·曼宁, E·M·西格莱尔, J·E·雅恩, S·P·琼斯, L·S·利贝尔特, M·M·瓦利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1