CN101410863A - 客户可配置的工作流系统 - Google Patents
客户可配置的工作流系统 Download PDFInfo
- Publication number
- CN101410863A CN101410863A CNA2007800111869A CN200780011186A CN101410863A CN 101410863 A CN101410863 A CN 101410863A CN A2007800111869 A CNA2007800111869 A CN A2007800111869A CN 200780011186 A CN200780011186 A CN 200780011186A CN 101410863 A CN101410863 A CN 101410863A
- Authority
- CN
- China
- Prior art keywords
- stage
- database
- work flow
- flow model
- workflow
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
用于灵活的、可配置的作业工作流处理的方法、系统和设备。其特征和方面使得能够实现从可配置模板生成工作流模型。所述工作流模型可包括一个或多个阶段、每个阶段包括一个或多个进程、每个进程包括一个或多个步骤。所述阶段、进程和步骤均可通过配置对应模板的参数来定义。用于定义工作流模型的信息和用于定义将要执行的作业的所有作业信息是综合数据库中的条目,以便把工作流模型信息和作业信息的创建和更新作为简单的数据库查询和更新来执行。
Description
技术领域
本发明涉及工作流系统领域,具体涉及能够在定义富有特色的、复杂的工作流进程的同时,实现重要的客户可配置性的工作流系统设计工具。
背景技术
各种各样的系统需要具备通过步骤序列对信息进行处理的进程。一般地,很多这种系统可被作为工作流系统进行建模和控制,其中每一步都接收输入,以某种方式处理该输入,然后把生成的输出转发给进程中的一个或更多的后续步骤。可将这些步骤的完整过程称为进程或作业。工作流系统通常能够对在整个工作流进程中的复杂步骤序列(包括对备选路径或选项的条件评估)进行建模。
常常将这种工作流系统应用于各种各样的工作流以便对与具体应用领域相关的进程进行建模。具体地说,工作流系统常常被用来对数据处理系统的工作流进行建模,在所述数据处理系统中,由进程中的步骤接收输入数据,对其以各种方式进行操纵,并将所得数据应用到该进程中的下一步。也可将工作流系统应用于对其它各种应用领域中的其它众多系统(包括例如可能在制造环境中常见的过程控制系统)进行建模。
有时将工作流系统创建为定制程序,所述定制程序由针对特定工作流处理应用而设计和编写定制计算机程序的系统分析员和程序员进行设计和编写。这种定制计算机程序可非常逼近地对底层进程进行建模,但是在大多数环境中开发和维护费用却高得惊人。其它工作流建模系统向更典型用户提供工具以便创建新的进程模型-例如,不需要技能熟练的员工来创建自定义计算机程序。这些进程建模设计工具帮助最终用户创建用于新进程的模型和维护所生成的进程模型,从而减少或消除对技能熟练的计算机程序员和系统分析员的需要。一些工作流系统可作为商业产品获得,其允许高级最终用户实现一定程度的定制。例如,IBM提供一种被称作Infoprint Workflow(IPW)的产品,用于打印系统管理环境中的这种工作流进程建模。IPW为本领域技术人员所熟知,关于IPW的信息在www.ibm.com上轻松可得。
当今的一些商业工作流建模设计工具产品简单易用,因而不必需要昂贵的、训练有素的计算机编程专业人员。但大多数这种系统过于简易以致无法对复杂进程建模。其它商业可用工作流建模设计工具过于复杂以致它们面临这种设计复杂性:大多数用户仍然需要训练有素的专业人员的服务来进行必要的安装、配置和定制。此外,这种系统过于复杂,以致对工作流定义的任何维护都还可能需要昂贵的、训练有素的计算机专业人员的服务。
从上述讨论显然可知,需要一种改进的工作流系统,其既提供高度灵活性(即使是对复杂的工作流系统进行建模),又提供一种简单、易用的架构(允许不那么精通的最终用户利用工作流系统设计工具容易地定义和维护工作流系统)。
发明内容
因而,本发明在第一方面提供了一种用于管理工作流处理系统的方法,所述方法包括:在数据库中存储作业信息,其中所述作业信息与要由所述工作流处理系统处理的一个或多个作业相关;生成工作流模型以处理与数据库中的所述作业信息相关的一个或多个作业,其中所述工作流模型存储在数据库中,并且其中所述工作流模型从可配置的模板生成;以及使用数据库中的所述工作流模型并且使用数据库中的作业信息来处理一个或多个作业。
最好,所述生成步骤还包括:配置工作流处理系统的一个或多个阶段(phase)作为数据库中的条目,其中每个阶段包括一个或多个进程,其中每个进程包括一个或多个步骤,并且其中所述阶段、进程和步骤均从对应的模板配置;以及配置所述一个或多个步骤之间的一个或多个转换作为数据库系统中的条目。
最好,所述生成步骤还包括:定义与所述工作流模型的一个或多个步骤相关联的约束;以及通过应用所定义的约束使所有被配置的阶段、进程或步骤有效。
最好,所述执行步骤还包括:从数据库中检索与所述一个或多个阶段有关的阶段信息并且从数据库中检索一个或多个转换;以及使用数据库中的作业信息按照检索的一个或多个转换执行检索的一个或多个阶段。
所述方法还可包括:向工作流处理系统的用户呈现生成的工作流模型的执行进展。
所述方法还可包括:在生成的工作流的执行过程中的标识点处,停止生成的工作流进程的进一步执行。
最好,所述生成的工作流模型包括一个或多个阶段,每个阶段包括一个或多个步骤,并且其中停止步骤还包括:在从一个阶段向另一个阶段转换时,停止生成的工作流进程的进一步执行。
所述方法还可包括:重新开始(resume)生成的工作流进程的进一步执行。
最好,所述生成的工作流模型包括一个或多个阶段,每个阶段包括一个或多个步骤,其中工作流处理系统包括多个服务器节点,每个服务器节点适于允许执行一个或多个工作流模型的一个或多个阶段的一个或多个步骤,其中一个或多个阶段的一个或多个步骤中的每个步骤包括负载属性信息,并且其中所述方法还包括:通过使用所述负载属性信息来均衡多个服务器节点的工作负载。
最好,所述多个服务器中的每个服务器包括表示当前在所述每个服务器上执行的所有步骤的负载的当前工作负载级别,并且其中均衡步骤还包括:在具有最低当前工作负载级别的多个服务器中的一个服务器上开始工作流模型的阶段的下一个步骤。
在第二个方面,提供一种用于工作流处理的系统,所述系统包括:数据库,用于存储一个或多个工作流模型并且用于存储与要按照对应的工作流模型进行处理的作业相关的作业信息;计算节点,与数据库耦接并且适于使用数据库中的作业信息和工作流模型执行作业,并且还适于生成和修改存储在数据库中的工作流模型,其中所述计算节点适于从模板生成工作流模型。
最好,所述计算节点被指定为主计算节点,并且其中所述系统还包括:一个或多个次计算节点,每个次计算节点适于访问数据库中的作业信息和工作流模型以执行作业。
最好,所述一个或多个次计算节点与所述主计算节点耦接,并且通过所述主计算节点间接地访问数据库。
最好,其中所述工作流模型包括一个或多个阶段,每个阶段包括一个或多个步骤,并且其中工作流模型还包括在一个或多个阶段之中的每个阶段的一个或多个步骤之间的转换,并且其中所述模板还包括:阶段模板,用于定义工作流模型的新阶段;进程模板,用于定义工作流模型的阶段的新进程;以及步骤模板,用于定义工作流模型的阶段的进程的新步骤,其中阶段模板和步骤模板均包含属性以使得计算节点能够配置新阶段和新步骤。
可提供一种用于工作流处理的方法,包括:基于可配置模板配置工作流模型;在数据库中存储配置的工作流模型;生成关于作业的作业信息,其中作业与生成的工作流模型相关联;在数据库中存储作业信息;以及使用数据库中的作业信息并且使用数据库中的工作流模型来执行作业。
最好,所述模板包括阶段模板和步骤模板,并且其中所述配置步骤还包括:使用一个或多个可配置的阶段模板配置工作流模型中的一个或多个阶段;使用一个或多个可配置的进程模板配置与工作流模型中的每个配置的阶段相关联的一个或多个阶段;并且使用一个或多个可配置的步骤模板,配置与工作流模型中的每个配置的阶段的每个配置的进程相关联的一个或多个步骤。
最好,所述作业为打印企业的打印作业,其中工作流模型为打印模型,其中可配置阶段模板代表打印一个打印作业的阶段,其中可配置进程模板代表打印一个打印作业的一个或多个阶段的进程,其中可配置步骤模板代表打印一个打印作业的一个或多个阶段的一个或多个进程的步骤,并且其中所述方法还包括:使用数据库中的作业信息显示一个或多个打印作业的当前状态,其中所述当前状态被指示为打印作业的当前阶段和每个打印作业的当前步骤。
最好,从可配置阶段模板生成的每个阶段是从由接收阶段、准备阶段、增强阶段、打印阶段、插入阶段、调解阶段和完成阶段组成的组中选择的阶段。
最好,打印企业包括一个或多个打印机和一个或多个打印作业源,并且其中所述方法还包括:显示一个或多个打印机以及一个或多个打印作业源的当前状态。
所述方法还可包括:在作业执行过程中的任意时刻检验(checkpoint)所述作业,其中所述检验步骤包括:在数据库中保存与被检验的作业有关的所有修改的作业信息;并且保存由被检验的作业使用的所有修改的数据文件;并且恢复被检验的作业以重新开始执行该作业,其中所述恢复步骤包括:把保存的作业信息恢复到数据库;以及恢复保存的数据文件。
本发明利用在操作上可灵活地配置工作流系统来执行作业的方法和相关系统以及设备,解决了上述和其它有关问题。本发明的特征和方面使得能够从可配置的模板生成工作流模型。所述工作流模型可包括一个或多个阶段,每个阶段包括一个或多个进程,每个进程包括一个或多个步骤。可通过配置对应模板的参数来定义所述阶段、进程和步骤。定义工作流模型的信息和将被执行的作业的所有作业信息是综合数据库中的条目,从而把工作流模型信息与作业信息的创建和更新作为简单的数据库查询和更新来执行。
本发明的一个特征提供一种用于管理工作流处理系统的方法。所述方法包括在数据库中存储作业信息。所述作业信息与将由工作流处理系统处理的一个或多个作业有关。所述方法还包括生成工作流模型以处理与数据库中的作业信息有关的一个或多个作业。把生成的工作流模型存储在数据库中,并且从可配置的模板生成工作流模型。所述方法还包括使用数据库中的工作流模型并且使用数据库中的作业信息来处理一个或多个作业。
本发明的另一个特征提供一种用于工作流处理的系统。所述系统包括用于存储一个或多个工作流模型并且用于存储与要按照对应的工作流模型进行处理的作业有关的作业信息的数据库。所述系统还包括与数据库耦接并且适于使用数据库中的作业信息和工作流模型执行作业的计算节点。所述计算节点还适于生成和修改存储在数据库中的工作流模型。所述计算节点还适于从模板生成工作流模型。
本发明的另一个特征提供一种用于工作流处理的方法。所述方法包括基于可配置模板配置工作流模型。所述方法还包括在数据库中存储配置的工作流模型。所述方法还包括生成关于作业的作业信息,其中所述作业与生成的工作流模型相关联,以及在数据库中存储所述作业信息。所述方法还包括使用数据库中的作业信息并且使用数据库中的工作流模型执行作业。
本发明可包括下面说明的其它例证实施例。
附图说明
现参考附图,仅以例子方式来说明本发明的优选实施例,其中:
图1是按照本发明的特征和方面的例证工作流系统的框图。
图2-图4是说明按照本发明的特征和方面的用于工作流配置和执行的例证方法的流程图。
图5是描述按照本发明的特征和方面的用于打印作业处理的例证工作流的例证阶段的框图。
图6是说明在按照本发明的特征和方面的对应例证工作流模型中处理的两个例证作业的具体例子的图。
图7是用于呈现与按照本发明的特征和方面的工作流系统中的作业和装置有关的状态信息的例证显示屏幕。
图8是提供按照本发明的特征和方面的数据处理系统的框图。
具体实施方式
图1-图7以及下面的说明描述了本发明的具体例证实施例,以便教导本领域技术人员如何得到和使用本发明。鉴于该教导,本发明的一些常规的方面被简化或省略。本领域技术人员应当明白落入本发明保护范围的对这些实施例变形。本领域技术人员应当明白能够对下面说明的特征以各种方式组合以形成本发明的各种变形。
图1是提供按照本发明的特征和方面的工作流处理系统的灵活生成和配置的系统100的框图。具体而言,系统100描述了具体被应用到打印环境中的工作流处理系统,其中利用各打印系统对象110并且按照由系统100的组件定义的工作流模型来进行或执行打印作业。主工作流服务器102是被用来按照用户输入生成工作流模型的计算节点。一般地,用户可把工作流模型定义为包括一个或多个阶段,每个阶段包括一个或多个进程,每个进程包括一个或多个步骤(每个步骤可转而包括条件布尔逻辑)。主工作流服务器102使用模板104通过配置标准化模板104的属性允许对新工作流进程进行灵活配置。具体地,模板104可包括用于定义新定义的工作流模型中的新阶段的阶段模板,用于定义新配置的阶段中的一个或多个进程中的每个进程的进程模板,以及用于配置每个新定义的阶段中的每个新定义的进程中的一个或多个步骤的步骤模板。
将工作流划分为例如接收或准备之类的阶段以及这些阶段中的进程。进程(process)是对其处理的作业进行一组逻辑动作的步骤序列。任何特定作业将经历一组特定阶段,在每个阶段中选择一组进程。由包含了步骤的进程和阶段对其进行分组而成的一组有序步骤确定对作业的工作流处理。
本发明的特征和方面定义如何在系统中表达阶段、进程和状态以及如何定义它们的接口。工作流系统的用户随着时间的推进构建可应用于若干供应物(offering)的一组可再用的阶段和进程。例如,接收阶段和其进程可能会用于几乎每个应用,以接收输入作业以便处理。这里所述的例证实施例要在下面对打印企业应用所需的阶段、进程和步骤进行讨论。下面的例子并不旨在说明能够支持的整套功能性,而是建议性地提出了如何能够将所述架构应用于具体场合-打印企业中的打印作业工作流的一个实际例子。
主工作流服务器102存储新定义的、配置的工作流模型作为工作流数据库108中的信息。具体地,工作流模型被存储在表中,其中所述表用于定义配置的阶段、配置的进程和配置的步骤之间的关系以及对于工作流模型中从步骤到步骤、从进程到进程和从阶段到阶段移动的转换条件。可通过适当地设置与数据库108中新创建的条目有关的属性值和参数值来对配置的阶段、进程和步骤进行配置。从而模板104提供这种配置的起点,并且各种属性和及参数能够使得在定义要进行的特定类型作业的最终工作流模型方面具备显著灵活性。
除了配置的工作流模型信息之外,主工作流服务器102还管理与将由系统100处理的当前作业有关的信息。当前作业与特定的被配置的工作流模型相关联以指导作业的处理。可将作业类型属性用于使特定作业与特定工作流模型相关联-两者均存储在工作流数据库108中。主工作流服务器102最好包括工作流引擎处理组件(未示出),所述工作流引擎处理组件用于检索将被进行的特定作业的当前作业信息和检索相关联的工作流模型信息的信息以及进行在相关联的作业的工作流模型中配置的阶段、进程和步骤。
可提供一个或多个次工作流服务器106来增强工作流处理系统100的性能。每个次工作流服务器106还可包括工作流处理引擎(未示出)以提供用于进行与其它作业或特定作业的特定工作流之中的部分相关联的其它工作流的额外计算能力。这种分布可包括向各个服务器(以及与其相关联的工作流处理引擎)分布将要进行的不同作业或可包括把来自单个工作流的各个步骤、进程或阶段分布到多个服务器102和106上。
为了简化所述多个服务器访问公共共享工作流数据108所需的协调,次工作流服务器106可只通过与主工作流服务器102的协调处理访问工作流数据库108。本领域技术人员知道帮助确保一个或多个次工作流服务器106和主工作流服务器102在同时访问工作流数据库108时的协调处理的常见互斥技术和处理协调方案。此外,可使用网络存储架构以及其它分布存储和处理范例对工作流数据库108本身进行分布。对于本领域技术人员来说,这种分布式与集中化技术是众所周知的设计选取问题。
从而,如所述,可将工作流系统100应用于可由工作流模型描述的任何作业的处理,其中所述工作流模型包括一个或多个阶段,每个阶段包括一个或多个进程,每个进程包括一个或多个步骤。举例来说,系统100包括由主工作流服务器102访问的打印系统对象110和可选的另外的次工作流服务器106来进行打印作业的工作流作业处理。工作流服务器(102和106)可根据需要访问各个打印系统对象110中的任意一个以便按照相关联的工作流模型执行特定的打印作业。打印系统对象110可包括任意数目的用于执行打印作业的打印对象,所述打印对象包括例如打印引擎112、打印服务器114、后处理组件116、软件或自动化步骤118以及手动步骤122。此外,在通过工作流作业处理对实际的打印作业数据进行操纵和转换时,打印系统对象110可包括所述实际打印作业数据。从而打印作业数据120代表以原始形式与一个或多个打印作业相关联的数据以及对它们的各种转化和转换。例如,打印作业数据120可被实现为用于对原始打印数据以及被光栅化或被剥离的打印数据进行假脱机操作的打印假脱机特征,这对于本领域技术人员是公知的。可将其它与打印有关的数据与打印假脱机数据一起存储。例如,可在与打印数据120相关联的文件中指定用于描述后处理装备的配置和操作的控制文件。
当应用于这种打印作业工作流管理时,系统100可为了处理打印作业数据120,按照对应工作流模型的阶段、进程和步骤来访问打印引擎、打印服务器、后处理组件、软件/自动化和手动步骤,以便在适当的可打印介质上实现数据的最终打印。
本领域技术人员应当明白,工作流处理系统100可适于与和相关联作业的工作流处理相关联的任意应用特定的对象耦接。从而,仅打算将打印系统的打印系统对象110作为系统100的方法和结构的一个例证应用。对于将系统100例证地应用到例如图1中所示的打印环境中的进一步细节将在下面进一步讨论。
图2是广义地描述了按照本发明的特征和方面的用于生成和执行用来按照配置的工作流模型处理作业的工作流模型的方法的流程图。组件200首先在操作上从可配置模板生成工作流模型。如上所述,可配置模板可包括全部可用于定制和配置特定应用的特定工作流模型的阶段模板、进程模板以及步骤模板。与现有技术不同,从灵活可配置的模板生成工作流模型只要求很少的专业技术知识(如生成完全定制的程序指令来实现用于处理作业的特定工作流模型所要求的)。此外,通过与其它现有技术进行比较,所供给的按照本发明的特征和方面的可配置模板能够在定制或配置特定工作流处理应用的特定阶段、进程和步骤方面实现高度灵活性。现有的较简单的工作流处理系统不提供或只提供很少的可配置性,从而强制用户使工作流处理应用适应已由该工作流处理系统定义的特定静态模型。用户不能或几乎不能轻松定制或重新配置用于特定作业应用的特定所需工作流处理的工作流系统。
如上所述,存储在工作流数据库中的配置的工作流模型然后可被工作流处理引擎执行。工作流引擎(未示出)可与每个工作流服务器集成在一起,并且通过使用工作流数据库中的信息来管理产生所需打印产品所要求的处理步骤。这些步骤可以是自动化的或者人工的。在数据库中维护步骤以及它们之间的转换的列表,以便改变进程或者创建新进程只是一个配置适当的数据库表这样的简单事情。步骤是模块化的并且用清晰定义的接口进行单位工作。步骤可与例如PostScript转换或IBM PSF打印机驱动器之类的系统资源接口。步骤可与例如地址清洗或库存控制之类的第三方软件接口。步骤可直接在与作业相关联的数据库或文件上进行工作。
然后,组件202在操作上可存储生成的工作流模型作为工作流系统的工作流数据库中的信息。可使用作业类型属性或其它恰当的标记来识别可应用新配置的模型的特定类型作业。可再次利用按照本发明的特征和方面提供的可配置模板,由简单的数据库查询和更新操作(例如SQL查询语句)轻松地重新配置代表工作流模型信息的数据库条目。如上所述,从模板生成的模型的每个数据库条目可包括各种各样的可配置属性和参数值以便能够重新配置特定新作业或应用的每个阶段、进程或步骤。
组件204还代表用于创建新作业以及在工作流数据库中存储与作业有关的信息的处理。如上所述,综合数据库既包括工作流模型信息,又包括各个作业的作业信息。从而工作流数据库集成了正被处理的作业的所有数据以及描述要处理的多个作业中的每个作业的要执行的工作流处理的工作流模型信息。数据库表包含系统中每个作业的条目,包括所有的作业元数据,例如作业发起者、当前处理步骤、页数、复印份数、所需纸料、完工要求等。数据库也是用于监控打印车间的实时数据的存储库。可将这种打印机特性(如打印的页数、当前打印的作业、墨粉情况等)保存在数据库中(假定打印机能够报告这些项目)。类似的信息可被保存在任意的打印车间装备上,包括插入器、精整机等。并且当每个作业和/或装置的情况发生变化时,数据库还维护作业与装置的历史。这使得系统能够报告可识别需要服务的装置或者非同寻常地高效的操作人员的相关统计。
作业元数据可以是与作业相关联的任意信息,包括例如帐单或收费信息、所需交货日期以及产生作业所需的任意其它信息。这种信息常被称为作业票。因为作业票位于数据库中,所以需要访问票信息的任何步骤均可做到轻松访问。新的元数据项目简单地在数据库中添加新条目并且不需要系统发生变化地经过系统。
已生成和存储了关于要进行的一个或多个作业和一个或多个相关联的工作流模型的信息之后,组件206和208基本上是并行可操作的。组件206通常在操作上使用工作流数据库中的作业信息和生成的工作流模型信息执行作业。作业的执行通常需从数据库中检索用于将被处理的下一个阶段和下一个进程以及在该阶段内的步骤的信息。于是执行引擎检索相关联的作业信息并且按照定制的、配置的工作流模型执行适当的后续步骤。最终,当用于作业处理的所有步骤、进程和阶段完成时,作业的执行也因而完成,从而获得所需结果。
与组件206执行作业的操作基本上并行地,组件208可在操作上监控关于作业和与各个作业相关联的各个工作流模型的状态信息。可将这样监控的情况呈现给用户以提供关于在处理正在工作流系统内执行的一个或多个作业中的每个作业的进展的近实时反馈。关于各个作业和当前执行的工作流模型的状态信息也可被存储在数据库中。从而,组件208通常在操作上检索关于工作流系统内的一个或多个作业中的每个作业的执行的当前状态信息并且把检索的状态信息近实时地呈现给用户。
本领域技术人员应当明白用于呈现这种状态信息的各种各样的图形用户界面技术。此外,所述状态信息可包括关于工作流系统内当前执行或排队等待执行的每个作业的信息以及关于工作流系统使用的用于执行系统已知的每个作业的各个装置、部件、模块和其它组件的状态信息。例如,当应用于如上所述的打印系统时,状态信息可包括系统已知的每个打印引擎、系统已知的每个打印服务器、系统已知的每个后处理组件等的情况。从而,在单个综合数据库中,关于工作流系统的性能的所有状态信息可被存储和检索以便按照组件208的操作呈现给用户。
图7描述了用于呈现这种状态信息和用于与用户交互来控制装置和/或打印作业的状态的例证显示屏幕。显示屏幕的“系统概要”部分总结了处于处理(例如接收、准备、打印、完成)的每个阶段中的打印作业数的计数和处于每个阶段的每个状态(预处理、激活、手动、错误)中的打印作业的计数。例证显示屏幕的“打印机”部分向用户示出了已知的打印机和每个已知打印机的情况。此外,所述屏幕的这部分可允许诸如启用所选打印机或禁用所选打印机等的用户交互(例如通过屏幕上的“点击”按钮)。所述显示屏幕的另一部分呈现关于“处于打印阶段的激活作业”有关的详细情况-换句话说,关于处于相应工作流模型的打印阶段中的当前打印的所有打印作业的细节。如上所述,显示屏幕的这部分可提供用于用户交互的“点击”按钮以改变所选打印作业的状态,以便“停止”或“继续”其打印或者在作业需重新打印时对其“再次处理”。本领域技术人员应当明白可用来呈现关于按照本发明的特征和方面的工作流系统的打印机和打印作业或者更普遍地关于它们的任意作业和装置的状态信息的各种各样的等效的显示和交互技术。具体地说,可通过从工作流数据库中检索对应的信息来呈现关于任意作业的当时的阶段、进程、步骤和状态以及系统中任意装置的当时的状态的信息。
图3是用于提供图2的组件200的操作的另外例证细节的流程图。如上所述,图2的组件200通常在操作上基于按照本发明的特征和方面而提供的可配置模板生成新的工作流模型。因此,图3的组件300首先在操作上向工作流数据库添加用来描述用于处理相关联的作业类型的新工作流模型的新条目。组件302然后向工作流数据库添加用于利用所选阶段模板配置的第一个或下一个新建阶段的新条目。如上所述,用户具有能够被容易地配置为适合于特定所需工作流处理应用或类型的作业的有用阶段模板的丰富收藏。从而,组件302代表用户识别首选阶段以便通过选择对应的模板将其添加到工作流模型中的处理。然后,通过配置或设定与所选阶段模板相关联的属性或参数值,根据组件304的操作来定制或配置该阶段的新建数据库条目。
然后,组件306在操作上定义和强制实行与新建和配置的阶段有关的所有约束规则。这种约束用于帮助确保用户不会不当地配置与用户自己对想要的应用的规则相反的新阶段或步骤。可将这种规则定义为简单布尔断言测试,例如,特定阶段是否会首先发生或者一定要最后发生等。对新定义的阶段的数据库条目进行适当注释以便反映为新工作流模型的新配置阶段定义的额外限制或有效规则。此外,当用户继续配置新工作流模型时,便应用所定义的规则。从而,组件306不仅代表用于定义规则的处理而且代表应用规则以便使当前设计有效的处理。下面详细讨论其它的例证约束。
组件308-312相似地在操作上为与新定义和配置的阶段相关联的新步骤添加一个或多个新数据库条目。通过从工作流系统提供的步骤模板中选择所需的步骤模板来配置将添加到新配置的阶段中的每个步骤。然后,使用所选的模板来创建新步骤的新数据库条目,而新步骤数据库条目与当前正被定义的新阶段相关联。此外,组件310代表用于定义该当前定义的阶段中从新定义的步骤到其它先前定义的步骤(如果有)的任何适当转换的进一步的处理。定义从步骤到步骤或从阶段到阶段的转换并且将其提供为对各个条目的注释或者可将其定义为工作流数据库中单独的表。从而,用户可通过配置任意数目的阶段(每个阶段包括任意数目的步骤)以及通过专门地定义从步骤到步骤和从阶段到阶段的所需转换条件来配置复杂的工作流进程。
组件314在操作上确定是否需要在当前配置的新阶段中定义更多步骤。如果是,通过组件308并且通过组件314继续处理以便重复执行,直到在当前正在定义的新阶段中不需要配置其他步骤。然后,在组件316处继续进行处理以确定用户是否希望在正被定义的新工作流模型中配置另外的新阶段。如果是,处理继续,返回组件302直到所有所需阶段已在新工作流模型中定义。
如上所述,按照本发明的特征和方面,阶段还可包括多个进程以使阶段中的每个进程可包括一个或多个步骤。尽管图3中未示出,本领域技术人员应当明白可将本方法简单修改为将其它进程的定义并入一个阶段中,于是每个阶段均包括一个或多个步骤。
图4是用于提供上面图2的组件206的处理的另外的例证细节的流程图。如上所述,参考图2,组件206通常在操作上使用存储在工作流数据库中的作业信息并且使用存储在工作流模型数据库中的生成的工作流模型信息执行作业。图4的组件400在操作上从与所选工作流模型有关的工作流数据库中检索信息。所选工作流模型是被定制和配置为处理与将要执行的特定作业的作业类型相匹配的作业类型的工作流模型。
如上所述,工作流模型包括操作的一个或多个阶段。于是,组件402确定是否还要对当前正在按照本发明的工作流模型执行的作业执行更多阶段。如果否,则完成由组件206执行的处理。如果是,那么组件404接着确定是否遇到停止处理事件或动作。可通过例如由操作人员交互或由其它任何适当的机制等对特定事件的检测,请求作业处理中的停止或暂停。一般地,在完成一个阶段或在开始下一个阶段的处理之后可停止处理。
如果因检测到适当事件而停止了处理,组件406在操作上等待处理的重新开始。可响应于诸如由操作人员输入或由其它适当机制的另一事件的检测,来请求重新开始。当处理重新开始时,组件408在操作上从检索自数据库的当前模型信息中检索下一个阶段。然后,组件410确定工作流模型的当前执行阶段中是否仍有要执行的步骤。如果没有,处理继续返回组件402以继续处理工作流模型的其它阶段(如果有的话)。如果本阶段中仍然有步骤要执行,那么组件412接着在操作上从工作流数据库中的模型信息中检索下一个步骤。然后,组件414执行检索的下一个步骤,然后返回组件410,直到当前阶段的所有步骤已被检索并且执行。
如上所述,就工作流模型的生成和配置而言,每个阶段可包括一个或多个进程,而每个进程又转而包括一个或多个步骤。为了使本说明书简洁扼要,去掉了对于一个阶段中的多个进程的处理的讨论。本领域技术人员应当明白,图4的方法可修改为将一个或多个进程的处理并入工作模型的每个阶段。
阶段、进程以及步骤
按照配置作为工作流模型并且存储在工作流数据库中的阶段、进程以及步骤执行作业。从而,本发明的特征和方面基本上由工作流引擎驱动,所述工作流引擎从工作流数据库表中检索其进程流程信息。改变系统进程属于配置的简单任务:即,改变数据库表的内容。仅有的自定义编程需求是为之前未曾由较早定义的阶段、进程或步骤模板期望到的新处理步骤所需的那些需求。在现有的进程或阶段中重新安排或者去除步骤不要求编码,只需配置。
使系统可配置的本发明的特征是它使用了SQL。例如,在特定队列中的作业列表只是用于列出具有具体队列名的数据库条目的SQL查询。为了添加新队列,用户只需创建选择具有与感兴趣的特定属性值有关的属性值的作业的查询。作业元数据只是数据库表中的属性和值。要添加新项目,只需在元数据表中添加行。这种简单的数据库事务是本领域技术人员熟知的,不需要或只需很少的昂贵的编程专业技术。
按照本发明的特征和方面,把工作流划分成例如接收或准备等的阶段以及那些阶段内的进程。进程是对它们处理的作业进行一组逻辑动作的步骤序列。任何特定作业将经历一组特定阶段,在每个阶段中选择一组进程。按照包含了步骤的进程和阶段分组而成的一组有序步骤确定对作业的工作流处理。
本发明的特征定义了阶段、进程和状态如何在系统中表示并且定义了它们的接口。当使用该系统创建新的工作流模型和新的模板时,用户将构建可应用于若干工作流处理应用的一组可重用阶段和进程。例如,可能会在几乎每个工作流进程中使用接收阶段和其进程以接收新作业以便处理。
本说明书以上描述了可广泛应用于任何普通的工作流应用的特征和方面。还可参考特定的应用(即:对打印环境中的打印作业的工作流处理)容易地理解本发明的特征和方面。在用于数据处理企业的大规模打印设施中,可生成大量的打印作业并分布在也同样数量众多的打印机、打印服务器、后处理装置等中。本发明的特征和方面的一个特别有用的应用是在这种大规模打印环境中与处理打印作业相关联的工作流的管理。
数据库中的作业和工作流模型均可与作业类型相关联。分派给作业的JobType属性的值确定在系统中移动时作业收到的特定工作流。JobType确定每个作业的工作流内的阶段的选取以及顺序。它还选取在所选阶段中的每个阶段内的进程。这由Job.Process.After.phase_name属性和转换表条目来实现。
工作流引擎并不确定进程和阶段之间的转换;这留给转换(Transitions)数据库表来做。在每个步骤完成时,工作流引擎调用其ChangeJobState方法以把该作业设置成其输出状态,然后按照转换表把该作业设置成下一个步骤的输入状态。
这里在下面讨论可被轻松地配置以应用于这种大规模打印环境工作流处理系统的例证的阶段和步骤模板。图5是广义地说明用于处理这种打印环境中的打印作业的例证阶段的框图。下面表1更充分地说明了这些例证阶段、与每个阶段相关联的输入、由每个阶段生成的输出以及对每个阶段的目的和操作的说明。
表1打印作业工作流处理的例证阶段
阶段 | 输入 | 输出 | 说明 |
接收 | 打印数据文件 | InputJob | 把新作业接收到系统中,设置初始的作业属性,确定初始阶段、步骤和状态。 |
准备 | InputJob | IndexedAFPJobPrintJob | 组成、转换输入数据并把其编成索引以创建页面数据和相关联的元数据。为未来文档级别的活动生成IndexdAFPJob。为PDF、PCL等输入作业和未来作业级活动产生PrintJob。 |
增强 | IndexedAFPJob | PrintJobInserterControl | 修改页面数据以添加如条形码之类的制造信息。按照迟绑定业务逻辑添加并删除页面。对页面数据分组和排序以实现有效制造。创建插入器控制文件。 |
打印 | PrintJob | 帮助操作人员把作业路由给符合条件的打印机。进行迟绑定数据流转换。把打印作业传输给所需打印机。监控打印状态。报告打印完成。 | |
插入 | InserterControl | InserterResult | 把插入器控制文件传送给插入器。监控插入器以便完成。 |
调解 | PrintJobInserterResult | PrintJob | 帮助操作人员调解已损坏的邮件与所需邮件以便确定重新打印哪些。创建重新打印作业以及路由以进行打印。 |
完成 | 任意作业 | 将作业和它们的发起者标记为完成。管理保持(retain)阶段。删除超时的作业并清除假脱机文件区。 |
参考例证的打印作业处理与例证的数据库表,解释阶段、进程和步骤的使用以定义和执行工作流模型也是有帮助的。图6和下面的表帮助解释作业的状态在进程或阶段之间或者在进程或阶段之中的变化的操作。图6示例了阶段、进程和步骤的层次。粗的实箭头指示通过接收、准备和打印阶段的一个特定作业类型的路径。粗的虚箭头指示只使用接收和打印阶段的一个不同的作业类型的路径。表2示例了用于例证接收阶段的例证转换表的行。表3示例了用于例证准备阶段的例证转换表的行而表4示例了用于打印阶段的例证转换表的行。表5示例了被描述为通过图6的路径的两个作业的相关的、例证的作业属性。
表2例证转换表(接收阶段)
表3例证转换表(准备阶段)
表4例证转换表(印刷阶段)
表5图6的作业的例证作业属性
现参考上面的表2-5并且参考图6,可说明例证的工作流。按照表5,把图6中的实箭头代表的作业分配给JobID 0001。其初始状态是InputProc1进程,准备好处理StepA.1步骤,并处于就绪状态。可将该状态表示为:InputProc1:StepA.1:Ready。
1、StepA.1完成Job 0001。ChangeJobState查询作业表以确定Job 0001的当前进程、步骤和状态。其把所述作业移到状态InputProc1:StepA.1:Complete。其查询转换表以找到与该作业的当前状态匹配的行。在例子中所述匹配行是第1行。然后其把该作业移到第1行的“To”状态:InputProc1:StepE:Ready。注意进程内的转换(比如这个转换)并不需要C0NDITIONAL_ATTR_NAME和CONDITI0NAL_ATTR_VALUE值。
2、当StepE完成时,ChangeJobState位于第2行并且把所述作业移到InputProc1:StepQ:Ready。
3、当StepQ完成时,ChangeJobState位于第3行并且把所述作业移到InputProc1:StepA.2:Ready。注意这是StepA在该进程中的第二个实例,用其名称“StepA.2”区别于第一实例。
4、当StepA.2完成时,ChangeJobState位于第4和第5行。此表中存在与所述作业的当前状态相匹配的两个转换。将第4行应用于这个作业类型;将第5行应用于虚箭头作业类型。因为该转换正在离开一个阶段,因此具有多个可能的转换,ChangeJobState参阅所述转换的CONDITIONAL_ATTR_NAME和CONDITIONAL_ATTR_VALUE行。所述作业的Job.Process.After.Receive属性值与第4行的CONDITIONAL_ATTR_VALUE匹配,因此ChangeJobState把所述作业移到PrepProc2:StepD:Ready。ChangeJobState中的相同机制在进程内一步一步地移动作业,并从一个进程的最后一步移到另一个进程的第一步。
5、当StepD完成后,ChangeJobState位于第6行,并且把所述作业移动到PrepProc2:StepM:Ready。
6、当StepM完成后,ChangeJobState位于第7行,并且把所述作业移动到PrintProc:StepH:Ready。
7、当StepH完成后,ChangeJobState位于第8行,并且把所述作业移动到PrintProc:StepJ:Ready。
8、当StepJ完成后,ChangeJobState位于第9行,并且把所述作业移动到PrintProc:StepK:Ready。
9、当StepK完成后,ChangeJobState位于第10行,并且把所述作业移动到PrintProc:StepJ:Ready。
按照表5把图6中由虚箭头表示的作业分配给JobID 0002。其初始状态是InputProc1:StepA.1:Ready。
1、当StepA.1完成时,ChangeJobState位于第1行,并且把所述作业移到InputProc1:StepE:Ready。这与JobID 0001完全一样。
2、当StepE完成时,ChangeJobState位于第2行并且把所述作业移到Receive.InputProc1:StepQ:Ready。这与JobID 0001完全一样。
3、当StepQ完成时,ChangeJobState位于第3行并且把所述作业移到InputProc1:StepA.2:Ready。这与JobID 0001完全一样。
4、当StepA.2完成时,ChangeJobState位于第4和第5行。此表中存在与所述作业的当前状态相匹配的两个转换。所述作业的Job.Process.After.Receive属性值与第5行的CONDITIONAL_ATTR_VALUE匹配,因此ChangeJobState把所述作业移到PrintProc:StepH:Ready。注意该作业完全跳过了准备阶段。
5、当StepH完成后,ChangeJobState位于第8行,并且把所述作业移动到PrintProc:StepJ:Ready。
6、当StepJ完成后,ChangeJobState位于第9行,并且把所述作业移动到PrintProc:StepK:Ready。
7、当StepK完成后,ChangeJobState位于第10行,并且把所述作业移动到PrintProc:StepP:Ready。
刚才说明的例证的结构和方法非常灵活,因为它们可被配置用于任意数量的打印作业工作流以及其它应用领域。基于任意的作业属性,选择从步骤到步骤或从阶段到阶段的转换。该例使用了Job.Process.After.phase_name,但其它工作流可以基于完全不同的属性选取所需进程或步骤。
ChangeJobState函数使用调用它的步骤的所需输出状态更新作业表中当前作业的行。然后ChangeJobState把当前作业更新到下一个输入状态(如果有的话)。这个动作使作业在输入队列中排队以便进行下面的步骤。
注意在所有步骤完成对作业的任务之后,自动地参阅其输入队列,从而会继续处理排队的作业,而不需要为新任务重新启动。只有当步骤的允许实例数对于处置请求该步骤的作业数来说不够多时或者当作业被保持或者处于比当前激活作业的优先级低的优先级时,队列才会壮大。
在系统启动时,会启动处于任意步骤的输入状态的所有作业,受到步骤的最大运行计数限制。
步骤是工作流处理的单位。一个步骤可以做一个动作或者可以做总以相同次序发生的若干相关动作。步骤可以:
8、对作业文件进行操作,例如根据行数据输入文件创建AFP文件的软件/自动化步骤。
9、设置作业属性,例如对AFP文档中的页数进行计数的步骤。
10、要求用户交互,例如在把作业释放给下一个步骤之前询问操作人员若干问题的质量控制步骤。
11、与硬件装置管理器交互,例如提交作业以便打印的打印步骤。
由步骤所处理的每个作业都具有作业状态。所有步骤具有至少下述状态(并且可具有更多):
12、排队状态指示作业在排队等待由步骤进行处理。
13、处理状态指示步骤正在对作业进行工作。
14、完成状态指示步骤已经完成对作业的处理。
15、错误状态指示步骤在处理作业时出现问题并且将不继续对其工作。
注意一些步骤可能具有比只是“排队”更多的输入状态、比只是“处理”更多的处理状态以及比只是“完成”更多的输出状态。例如,打印步骤中的作业具有表示各个打印时期的多个处理状态(例如脱机打印和打印)。
步骤可请求作业处于特定状态(典型的是就绪状态),并且可以把作业设置为新状态。当步骤已完成作业的处理时,它调用ChangeJobState以设置作业的最终状态。ChangeJobState使用转换表来发现在何处把作业从其输出状态(例如完成)移到作业的工作流中的下一个步骤的适当输入状态(例如准备)。
每个步骤如果在处理中遇到问题,均可把作业置于错误状态。所述作业保持错误状态,直到操作人员介入。该步骤应当记录错误消息以便操作人员知道采取什么动作来纠正该问题。可以使用图形用户界面把处于错误状态中的作业移到不同的状态。例证选项是:
16、作业重启,使作业复位到工作流中的较早步骤。
17、继续,这会清除错误并且让作业继续进程中的下一步骤。
18、强制进程结束,这会清除错误并且让作业继续,仿佛它已成功完成该进程。
19、清理(purge),这会把作业移到“完成”进程以便能够把它从系统中干净地移除。
阶段/步骤约束
如上所述,阶段模板和步骤模板可包括用于使模板的恰当使用有效的约束或规则。当从模板创建新阶段或步骤时,应用或执行约束以在创建工作流模型中的新阶段或步骤中使得模板的使用有效。
这些约束是对于作业类型的有效性(validation)规则,并且可包括例如:
●阶段-步骤约束,例如“该步骤必须只在准备阶段中发生”,或“该步骤必须在该阶段中的最后”,或“该步骤必须在步骤X之前发生”,
●属性约束,例如“该步骤要求属性xyz必须具有值”。还定义特定步骤模板所写的属性,因此可通过确定某个骤已写当前步骤要求的每个属性来使作业类型有效。
●文件约束,例如“该步骤要求AFP文件存在”。还定义特定步骤模板所写的文件,因此可通过确定某个步骤已写当前步骤要求的每个文件来使作业类型有效。
对阶段或步骤模板的这些约束的描述设立了用于配置工作流模型的规则,并且使得管理者配置新工作流更加容易。
负载均衡
本发明的特征和方面提供用于均衡工作流系统的多个服务器内的运行步骤的工作负载的能力。工作负载均衡通常具有至少两个目的。一个目的是调节步骤在何处运行。可能要求一些步骤只在特定服务器上运行。另一目的是限制活动步骤数。系统上只有有限数量的资源可用,因此限制步骤数以免过度使用(committing)这些资源。
在对系统上的步骤工作负载的均衡中涉及三类对象:
●步骤适配器管理器保存作业的队列,并且输入等待被步骤处理的文件。
●服务器识别用于处理步骤的环境。
●步骤模板识别将要进行的处理。
每个步骤模板具有下面的工作负载均衡属性:
●StepTemplate.UseGeneralServerPool-为是或否。如为“是”,则步骤模板将使用通用服务器池中的任意服务器,否则将只使用StepTemplate.Servers属性中的服务器。
●StepTemplate.Servers-包含了该步骤模板可用来进行处理的服务器的列表。如果StepTemplate.UseGeneralServerPool为是,则该属性将为空(null)。
●StepTemplate.HighResourceUsage-为是或否。如果为是,则该步骤被计入服务器的高资源利用限制,否则其被计入服务器的低资源利用限制。
●StepTemplate.MaximumActiveUnit和StepTemplate.MaximumActiveCount-这两个属性调节可能活动的步骤模板的最大实例数。只有当StepTemplate.HighResourceUsage被设为否时,才使用这些属性。所述单位可为:按工作流系统、按服务器、按输入装置或按打印机。所述计数被应用于单位以便调节活动的步骤。例如,如果单位是“按服务器”并且计数是“1”,那么在任意给定的时间只允许每个服务器运行不多于一个步骤实例。如果把StepTemplate.HighResourceUsage设为是,那么这些属性会被设为空。如果该值为否,则需要这些属性。
服务器的工作负载均衡属性调节可在该服务器上处理哪些步骤以及能够在任意给定时间进行处理的高资源利用步骤数。服务器工作负载均衡属性是:
●Server.InGeneralServerPool-是或否。如为“是”,则具有设为“是”的StepTemplate.UseGeneralServerPool的步骤模板能够使用该服务器。如为“否”,则具有设为“是”的StepTemplate.UseGeneralServerPool的步骤模板将不能使用该服务器。每个值都允许把服务器列在步骤模板的StepTemplate.Servers属性中。
●Server.MaxHighUsageSteps-是能够同时在服务器上活动的高资源利用步骤的最大数。
●Server.MaxLowUsageSteps-是能够同时在服务器上活动的低资源利用步骤的最大数。
每个服务器具有基于服务器上当前运行的步骤的当前工作负载。工作负载是正在服务器上进行处理的步骤的负载的总和。计算步骤的负载。对于每个服务器,具有与高资源利用步骤相关的负载和与低资源利用步骤相关的另一负载。取决于步骤的资源利用,通过用Server.MaxHighUsageSteps或Server.MaxLowUsageSteps除100来计算步骤的负载。如果Server.MaxHighUsageSteps或Server.MaxLowUsageSteps为0,则不为该类步骤计算负载。
如果一个步骤能够在若干服务器之一上开始,那么步骤适配器管理器将在具有最低工作负载的服务器上开始该步骤。不会在具有100或更多工作负载的服务器上开始步骤。为了避免高资源利用步骤缺乏资源,允许服务器的工作负载超过100,但如果工作负载超过100,不会调度额外的步骤。
检验与重启
可把步骤配置为可重启的(通过步骤:restart_type),这意味着可使作业从步骤内的错误条件或者从后面的步骤返回到步骤的开始。
也可把步骤配置为可强制的(通过步骤:job_forceable_here),这意味着处于错误状态中的步骤可由用户界面的“强制完成”动作强制成完成状态。并非所有步骤可允许用户以这种方式跳过错误;job_forceable_here确定哪些步骤允许授权用户的动作,而哪些不能。
为了确定作业的可重启步骤的列表,步骤管理器对作业已进入“处理”状态的每个步骤作记录。当用户选择“再次处理作业”或其它重启动作时,向用户界面供给用户可从中选取的具有可重启restart_type的步骤的列表。
为了实施重启动作,步骤管理器可把作业的状态变成“排队”以重启步骤。可假定可能已经在中间步骤期间设置的任何属性不重要或将会通过步骤执行重设。不过,数据文件可能已在中间步骤期间显著改变,并且必须被恢复到其原始状态方可成功重启动。
为了实现重启,作为重启动作的一部分,首先对步骤将改变的任何数据文件执行检验,以在步骤的入口处保存文件的原始形式的版本,以用于以后的恢复。当把作业发回给较早的可重启步骤时,步骤管理器必须重放任何中间数据检验点以确保假脱机已返回其原始状态,因此步骤能够如以前一样对相同数据操作。
本发明的实施例可采取全硬件实施例、全软件实施例或既包含硬件又包含软件的实施例的形式。在优选实施例中,以软件实现本发明,所述软件包括但不限于固件、驻存软件、微码等。图8是描述适于通过执行编程的指令和访问存储在计算机可读存储介质812上的数据,提供本发明的特征和方面的作为数据处理装置的数据处理系统801的框图。
此外,本发明可采取可从计算机可用或可计算机可读介质812进行访问的计算机程序产品的形式,提供由计算机或任意指令执行系统使用或与计算机或任意指令执行系统有关地使用的程序代码。对本说明书而言,计算机可用或计算机可读介质可以是能够包含、存储、通信、传播或传输用于由指令执行系统、设备或装置使用或与指令执行系统、设备或装置有关地使用的所述程序的任何设备。
所述介质可以是电、磁、光、电磁、红外线或半导体系统(或设备或装置)或传播介质。计算机可读介质的例子包括半导体或固体存储器、磁带、可移除的计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的现有例子包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-R/W)和DVD。
适合存储和/或执行程序代码的数据处理系统将包括通过系统总线850直接或间接地与存储器组件802耦接的至少一个处理器800。存储器组件可包括在程序代码的实际实现阶段间使用的本地存储器、大容量存储器以及用于提供至少一些程序代码的临时存储以便在执行阶段间降低必须从大容量存储器中检索代码的次数的高速缓冲存储器。
输入/输出或I/O设备804(包括但不限于键盘、显示器、定点装置等)可直接或者通过接入I/O控制器与系统耦接。网络适配器接口806也可与系统耦接以便使得数据处理系统变成通过接入专网或公网与其它数据处理系统或存储设备耦接。调制解调器、电缆调制解调器、IBM通道附加装置(channel attachment)、SCSI、光纤通道以及以太网卡只是网络或主机接口适配器当前可用的少数类型。
尽管这里说明了具体实施方式,本发明的范围并不限于那些具体实施方式。
Claims (10)
1、一种用于管理工作流处理系统的方法,所述方法包括:
在数据库中存储作业信息,其中所述作业信息与要由所述工作流处理系统处理的一个或多个作业相关;
生成工作流模型以处理与数据库中的所述作业信息相关的一个或多个作业,其中所述工作流模型存储在数据库中,并且其中所述工作流模型从可配置的模板生成;以及
使用数据库中的所述工作流模型并且使用数据库中的作业信息来处理一个或多个作业。
2、如权利要求1所述的方法,
其中生成步骤还包括:
配置工作流处理系统的一个或多个阶段作为数据库中的条目,其中每个阶段包括一个或多个进程,其中每个进程包括一个或多个步骤,并且其中所述阶段、进程和步骤均从对应的模板配置;以及
配置所述一个或多个步骤之间的一个或多个转换作为数据库系统中的条目。
3、如权利要求2所述的方法,
其中生成步骤还包括:
定义与所述工作流模型的一个或多个步骤相关联的约束;以及
通过应用所定义的约束使所有被配置的阶段、进程或步骤有效。
4、如权利要求1-3中任意一项所述的方法,
其中执行步骤还包括:
从数据库中检索与所述一个或多个阶段有关的阶段信息并且从数据库中检索一个或多个转换;以及
使用数据库中的作业信息按照检索的一个或多个转换执行检索的一个或多个阶段。
5、一种用于工作流处理的系统,所述系统包括:
数据库,用于存储一个或多个工作流模型并且用于存储与要按照对应的工作流模型进行处理的作业相关的作业信息;
计算节点,与数据库耦接并且适于使用数据库中的作业信息和工作流模型执行作业,并且还适于生成和修改存储在数据库中的工作流模型,其中所述计算节点适于从模板生成工作流模型。
6、如权利要求5所述的系统,
其中所述计算节点被指定为主计算节点,并且
其中所述系统还包括:
一个或多个次计算节点,每个次计算节点适于访问数据库中的作业信息和工作流模型以执行作业。
7、如权利要求6所述的系统,
其中所述一个或多个次计算节点与所述主计算节点耦接并且通过所述主计算节点间接地访问数据库。
8、如权利要求5-7中任意一项所述的系统,
其中工作流模型包括一个或多个阶段,每个阶段包括一个或多个步骤,并且其中工作流模型还包括在一个或多个阶段之中的每个阶段的一个或多个步骤之间的转换,并且
其中所述模板还包括:
阶段模板,用于定义工作流模型的新阶段;
进程模板,用于定义工作流模型的阶段的新进程;以及
步骤模板,用于定义工作流模型的阶段的进程的新步骤,
其中阶段模板和步骤模板均包含属性以使得计算节点能够配置新阶段和新步骤。
9、一种包括计算机程序代码的计算机程序,以便当被载入计算机系统并在其上执行时,使所述计算机系统执行按照权利要求1-4中任意一项的方法的所有步骤。
10、一种在其上具有功能数据的数据载体,所述功能数据包括功能计算机数据结构,以便当被载入计算机系统并且由此在其上进行操作时,使所述计算机系统能够执行按照权利要求1-4中任意一项的方法的所有步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/279,052 US8284423B2 (en) | 2006-04-07 | 2006-04-07 | Customer-configurable print workflow system |
US11/279,052 | 2006-04-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101410863A true CN101410863A (zh) | 2009-04-15 |
Family
ID=38476940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800111869A Pending CN101410863A (zh) | 2006-04-07 | 2007-03-27 | 客户可配置的工作流系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8284423B2 (zh) |
EP (1) | EP2008229A2 (zh) |
JP (1) | JP2009532791A (zh) |
CN (1) | CN101410863A (zh) |
TW (1) | TW200813867A (zh) |
WO (1) | WO2007115927A2 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102947819A (zh) * | 2010-04-29 | 2013-02-27 | 惠普发展公司,有限责任合伙企业 | 信息追踪系统和方法 |
CN104115139A (zh) * | 2012-02-14 | 2014-10-22 | 亚马逊技术有限公司 | 提供可配置工作流能力 |
CN110427218A (zh) * | 2018-05-01 | 2019-11-08 | 富士施乐株式会社 | 信息处理装置和非暂时性计算机可读介质 |
CN110609707A (zh) * | 2018-06-14 | 2019-12-24 | 北京嘀嘀无限科技发展有限公司 | 在线数据处理系统生成方法、装置及设备 |
CN112005179A (zh) * | 2018-04-20 | 2020-11-27 | 利塔尔两合公司 | 用于安装模块化构建的开关柜设备的项目的系统和方法 |
CN112882810A (zh) * | 2021-02-25 | 2021-06-01 | 国家超级计算天津中心 | 基于超级计算机的高通量任务处理方法 |
CN117931380A (zh) * | 2024-03-22 | 2024-04-26 | 中国人民解放军国防科技大学 | 基于仿真流程的训练活动资源动态管理系统及方法 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676492B2 (en) * | 2006-04-07 | 2010-03-09 | International Business Machines Corporation | Migration of database using serialized objects |
US7784021B2 (en) * | 2006-05-02 | 2010-08-24 | International Business Machines Corporation | Method for specifying, deploying and dynamically updating work flows |
US8424003B2 (en) * | 2006-05-31 | 2013-04-16 | International Business Machines Corporation | Unified job processing of interdependent heterogeneous tasks using finite state machine job control flow based on identified job type |
JP5039422B2 (ja) * | 2006-06-19 | 2012-10-03 | キヤノン株式会社 | 印刷装置、印刷装置の制御方法、コンピュータプログラム |
US8612280B2 (en) * | 2006-11-07 | 2013-12-17 | Xerox Corporation | Selection of performance indicators for workflow monitoring |
US8326911B2 (en) * | 2007-02-02 | 2012-12-04 | Microsoft Corporation | Request processing with mapping and repeatable processes |
JP5018133B2 (ja) * | 2007-02-27 | 2012-09-05 | 富士通株式会社 | ジョブ管理装置、クラスタシステム、およびジョブ管理プログラム |
US20090119500A1 (en) * | 2007-11-02 | 2009-05-07 | Microsoft Corporation | Managing software configuration using mapping and repeatable processes |
JP5239075B2 (ja) * | 2008-02-25 | 2013-07-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 複数のサービスステップを含むサービスプロセスを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム |
US8195321B2 (en) * | 2008-10-24 | 2012-06-05 | Bell And Howell, Llc | Item workflow tracking in an automated production environment |
US9424398B1 (en) * | 2009-01-24 | 2016-08-23 | Dionex Corporation | Workflows for defining a sequence for an analytical instrument |
JP2011145789A (ja) * | 2010-01-13 | 2011-07-28 | Hitachi Solutions Ltd | タスク登録支援手段を有するタスク管理システム |
US10078674B2 (en) * | 2010-06-04 | 2018-09-18 | Mcl Systems Limited | Integrated workflow and database transactions |
US9070113B2 (en) * | 2010-12-17 | 2015-06-30 | Verizon Patent And Licensing Inc. | Stock keeping units for content processing |
US9134928B2 (en) * | 2011-01-28 | 2015-09-15 | Ricoh Production Print Solutions LLC | Print job processing in an automated document factory environment |
US8693014B2 (en) | 2011-02-28 | 2014-04-08 | Ricoh Company, Ltd | Job ticket translation in a print shop architecture |
US9652184B2 (en) * | 2011-02-28 | 2017-05-16 | Ricoh Company, Ltd. | Workflow regeneration in a print shop environment |
US8860984B2 (en) | 2011-02-28 | 2014-10-14 | Ricoh Company, Ltd | Workflow generation in a print shop environment |
US9069499B2 (en) | 2011-03-22 | 2015-06-30 | Infoprint Solutions Company Llc | Print processing network |
US9329808B2 (en) | 2011-03-24 | 2016-05-03 | Ricoh Company, Ltd. | User interfaces for rule-based workflow generation in a print shop environment |
US8526044B2 (en) | 2011-03-31 | 2013-09-03 | Ricoh Company, Ltd | Template-based installation of workflow systems in a print shop environment |
US11568331B2 (en) * | 2011-09-26 | 2023-01-31 | Open Text Corporation | Methods and systems for providing automated predictive analysis |
DE102012201255A1 (de) * | 2012-01-30 | 2013-08-01 | systego GmbH | Arbeitsfluss-Management-System für Computernetze |
JP5942614B2 (ja) * | 2012-06-05 | 2016-06-29 | 株式会社リコー | 情報処理装置、システム及びプログラム |
KR101516055B1 (ko) * | 2012-11-30 | 2015-05-04 | 주식회사 엘지씨엔에스 | 맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체 |
CN103051692B (zh) * | 2012-12-11 | 2015-08-12 | 中国能源建设集团广东省电力设计研究院有限公司 | 支持极限网络环境的移动作业系统工作平台 |
US8804177B2 (en) * | 2012-12-12 | 2014-08-12 | Ricoh Company, Ltd | Validation of branching print workflows |
US9357018B2 (en) | 2013-01-23 | 2016-05-31 | Oracle International Corporation | Service bus workflow templates |
JP6064734B2 (ja) * | 2013-03-27 | 2017-01-25 | 富士通株式会社 | ワークフロー制御プログラム、装置および方法 |
US9396031B2 (en) * | 2013-09-27 | 2016-07-19 | International Business Machines Corporation | Distributed UIMA cluster computing (DUCC) facility |
US9684549B1 (en) * | 2013-12-30 | 2017-06-20 | Resources Connection, Inc. | Event management architecture |
JP6234233B2 (ja) * | 2014-01-10 | 2017-11-22 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US9542137B2 (en) | 2014-01-14 | 2017-01-10 | Xerox Corporation | Image shift template |
US9904493B2 (en) | 2014-05-01 | 2018-02-27 | Xerox Corporation | Automatic access to high-level explanations of scheduling conflicts in print engine schedules |
US20160063422A1 (en) * | 2014-08-27 | 2016-03-03 | International Business Machines Corporation | Business process model synchronization |
US10331416B2 (en) | 2016-04-28 | 2019-06-25 | Microsoft Technology Licensing, Llc | Application with embedded workflow designer |
CN107730077A (zh) * | 2017-09-13 | 2018-02-23 | 平安科技(深圳)有限公司 | 节点任务数据显示方法、装置、存储介质和计算机设备 |
JP7275551B2 (ja) * | 2018-12-06 | 2023-05-18 | 富士フイルムビジネスイノベーション株式会社 | 文書処理装置、文書処理サービス提供システム及びプログラム |
US11281364B2 (en) | 2018-12-20 | 2022-03-22 | Citrix Systems, Inc. | Flowchart-style diagramming tool to build automated workflows |
JP7372746B2 (ja) * | 2019-02-20 | 2023-11-01 | Dgshape株式会社 | デンタル加工機の操作装置およびデンタル加工機の操作システム |
EP3944102A1 (en) * | 2020-07-22 | 2022-01-26 | Accenture Global Solutions Limited | Data processing management system and method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6225998B1 (en) * | 1997-12-02 | 2001-05-01 | Aspect Communications | Visual design of workflows for transaction processing |
US20050093881A1 (en) * | 2000-04-24 | 2005-05-05 | Aspect Communication Corporation | Apparatus and method for collecting and displaying information in a workflow system |
CN1620653A (zh) * | 2001-05-23 | 2005-05-25 | 国际商业机器公司 | 计算网络中服务的动态部署 |
US20050243365A1 (en) * | 2004-04-28 | 2005-11-03 | Canon Kabushiki Kaisha | Print schedule control equipment, print schedule control method, and program therefor |
US6970844B1 (en) * | 1999-08-27 | 2005-11-29 | Computer Sciences Corporation | Flow designer for establishing and maintaining assignment and strategy process maps |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334572A (ja) * | 1994-06-06 | 1995-12-22 | Fuji Xerox Co Ltd | 情報処理システム |
US5659795A (en) | 1995-01-26 | 1997-08-19 | International Business Machines Corporation | System and method for controlling computer output devices by utilizing both their static and dynamic attributes |
US6078982A (en) | 1998-03-24 | 2000-06-20 | Hewlett-Packard Company | Pre-locking scheme for allowing consistent and concurrent workflow process execution in a workflow management system |
JPH11306244A (ja) * | 1998-04-16 | 1999-11-05 | Hitachi Ltd | ワーク管理システム |
US6742015B1 (en) | 1999-08-31 | 2004-05-25 | Accenture Llp | Base services patterns in a netcentric environment |
JP2002063323A (ja) * | 2000-06-05 | 2002-02-28 | Fuji Xerox Co Ltd | 業務プロセス設計支援システム、活動支援システム及び業務プロセス総合支援システム |
US6975595B2 (en) | 2001-04-24 | 2005-12-13 | Atttania Ltd. | Method and apparatus for monitoring and logging the operation of a distributed processing system |
US7640548B1 (en) * | 2002-06-21 | 2009-12-29 | Siebel Systems, Inc. | Task based user interface |
US7331052B2 (en) | 2002-10-15 | 2008-02-12 | Sharp Laboratories Of America, Inc. | Systems and methods for providing a universal print assist |
US7103230B1 (en) * | 2002-11-15 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Embedding editing commands in digital images |
US7924447B2 (en) | 2003-01-15 | 2011-04-12 | Xerox Corporation | Method and system for workload balancing |
US7302450B2 (en) | 2003-10-02 | 2007-11-27 | International Business Machines Corporation | Workload scheduler with resource optimization factoring |
US20050225789A1 (en) | 2003-12-09 | 2005-10-13 | Sharp Laboratories Of America, Inc. | Print subsystem despooling backplane |
JP2005322187A (ja) * | 2004-05-08 | 2005-11-17 | Takatoshi Yanase | データベース管理システムを使ったワークフローシステム。 |
-
2006
- 2006-04-07 US US11/279,052 patent/US8284423B2/en not_active Expired - Fee Related
-
2007
- 2007-03-27 CN CNA2007800111869A patent/CN101410863A/zh active Pending
- 2007-03-27 JP JP2009503531A patent/JP2009532791A/ja active Pending
- 2007-03-27 WO PCT/EP2007/052896 patent/WO2007115927A2/en active Application Filing
- 2007-03-27 EP EP07727369A patent/EP2008229A2/en not_active Withdrawn
- 2007-04-03 TW TW096111854A patent/TW200813867A/zh unknown
-
2012
- 2012-08-21 US US13/590,416 patent/US20120314256A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6225998B1 (en) * | 1997-12-02 | 2001-05-01 | Aspect Communications | Visual design of workflows for transaction processing |
US6970844B1 (en) * | 1999-08-27 | 2005-11-29 | Computer Sciences Corporation | Flow designer for establishing and maintaining assignment and strategy process maps |
US20050093881A1 (en) * | 2000-04-24 | 2005-05-05 | Aspect Communication Corporation | Apparatus and method for collecting and displaying information in a workflow system |
CN1620653A (zh) * | 2001-05-23 | 2005-05-25 | 国际商业机器公司 | 计算网络中服务的动态部署 |
US20050243365A1 (en) * | 2004-04-28 | 2005-11-03 | Canon Kabushiki Kaisha | Print schedule control equipment, print schedule control method, and program therefor |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102947819B (zh) * | 2010-04-29 | 2016-08-03 | 惠普发展公司,有限责任合伙企业 | 信息追踪系统和方法 |
CN102947819A (zh) * | 2010-04-29 | 2013-02-27 | 惠普发展公司,有限责任合伙企业 | 信息追踪系统和方法 |
CN106067080B (zh) * | 2012-02-14 | 2019-11-15 | 亚马逊技术有限公司 | 提供可配置工作流能力 |
CN104115139B (zh) * | 2012-02-14 | 2016-06-01 | 亚马逊技术有限公司 | 提供可配置工作流能力 |
CN106067080A (zh) * | 2012-02-14 | 2016-11-02 | 亚马逊技术有限公司 | 提供可配置工作流能力 |
CN104115139A (zh) * | 2012-02-14 | 2014-10-22 | 亚马逊技术有限公司 | 提供可配置工作流能力 |
CN112005179A (zh) * | 2018-04-20 | 2020-11-27 | 利塔尔两合公司 | 用于安装模块化构建的开关柜设备的项目的系统和方法 |
CN112005179B (zh) * | 2018-04-20 | 2024-01-30 | 利塔尔两合公司 | 用于安装模块化构建的开关柜设备的项目的系统和方法 |
CN110427218A (zh) * | 2018-05-01 | 2019-11-08 | 富士施乐株式会社 | 信息处理装置和非暂时性计算机可读介质 |
CN110609707A (zh) * | 2018-06-14 | 2019-12-24 | 北京嘀嘀无限科技发展有限公司 | 在线数据处理系统生成方法、装置及设备 |
CN110609707B (zh) * | 2018-06-14 | 2021-11-02 | 北京嘀嘀无限科技发展有限公司 | 在线数据处理系统生成方法、装置及设备 |
CN112882810A (zh) * | 2021-02-25 | 2021-06-01 | 国家超级计算天津中心 | 基于超级计算机的高通量任务处理方法 |
CN117931380A (zh) * | 2024-03-22 | 2024-04-26 | 中国人民解放军国防科技大学 | 基于仿真流程的训练活动资源动态管理系统及方法 |
CN117931380B (zh) * | 2024-03-22 | 2024-06-04 | 中国人民解放军国防科技大学 | 基于仿真流程的训练活动资源动态管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120314256A1 (en) | 2012-12-13 |
JP2009532791A (ja) | 2009-09-10 |
TW200813867A (en) | 2008-03-16 |
US8284423B2 (en) | 2012-10-09 |
WO2007115927A3 (en) | 2007-11-29 |
WO2007115927A2 (en) | 2007-10-18 |
EP2008229A2 (en) | 2008-12-31 |
US20070236708A1 (en) | 2007-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101410863A (zh) | 客户可配置的工作流系统 | |
US7945537B2 (en) | Methods, systems, and computer program products for disaster recovery planning | |
Haigh | How data got its base: Information storage software in the 1950s and 1960s | |
US7117211B2 (en) | Internet label production system | |
US6832201B1 (en) | Method and system for optimizing request shipping in workflow management systems | |
CN101051368B (zh) | 配置作业的属性的方法和系统 | |
US9329808B2 (en) | User interfaces for rule-based workflow generation in a print shop environment | |
JP2001306373A (ja) | データベース設計システム、データベース設計方法、記録媒体、及び表示方法 | |
Scheer | Principles of efficient information management | |
CN102999798B (zh) | 信息管理设备、信息管理方法和信息管理系统 | |
US8145647B2 (en) | System, method and computer program product for electronically responding to requests for product related data | |
JP2001273313A (ja) | プロセス記述装置および方法ならびにプロセス分類方法 | |
JP2003091416A (ja) | 業務アプリケーションシステムの機能構成定義方法 | |
JP3867752B2 (ja) | ワークフロー設計支援システム | |
US7146351B2 (en) | System and method for analyzing software components using calibration factors | |
JP2000268084A (ja) | 統合業務パッケージソフト導入計画立案支援システム | |
CN101231733A (zh) | 按优先次序排列定单的方法与系统 | |
CN110515611B (zh) | 一种文书编号的生成方法 | |
JP3947007B2 (ja) | 処理スケジュール設計プログラム及び方法並びに装置 | |
JP2005327136A (ja) | 伝票管理システム及び伝票管理用ソフトウェア | |
US20080091733A1 (en) | Reusable data query language statements | |
JP7363259B2 (ja) | 情報処理装置、支援方法及びプログラム | |
Behsati et al. | Development of ETP at concrete enterprises development tools and environment | |
JPH08166918A (ja) | サーバ・クライアント処理システムにおける業務情報管理方法 | |
CN110599039A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20090415 |