用于自动启动工作流进程上的文档的系统和方法

文档序号:6473898阅读:122来源:国知局
专利名称:用于自动启动工作流进程上的文档的系统和方法
技术领域
一般来说,本发明涉及数据库管理系统模型中的数据文件管理领域。具体来说,本发明涉及用于自动启动工作流进程上的文档的系统和关联的方法。
背景技术
内容管理是用于管理广泛的数字信息的基础结构。大量的扫描的图像、传真、电子办公室文档、XML和HTML文件、计算机输出、音频、视频、多媒体和虚拟现实内容都可以通过内容管理系统进行存储和访问。内容管理系统将内容与业务线、客户服务、企业资源规划、数字资产管理、远程学习、Web内容管理或其他应用程序集成,以加速跨企业的优点。
内容管理器产品可以看作是三角形。此三角形的三个顶点是客户端、库服务器和资源管理器。客户端是用户界面,并给用户提供存储、搜索和标记诸如文档、文件等等之类的对象。库服务器是持有有关对象的信息(包括它们的位置)的卡片目录的等效物。资源管理器(RM)是实际对象或指向实际对象的指针的存储位置。
核心库服务器逻辑(系统实用程序和内务处理任务除外)作为包含嵌入式SQL语句的一组关系数据库(RDB)存储过程(SP)而包装。每一个存储过程(SP)都是预编译的,并在关系数据库(RDB)服务器上运行。因此,每一个库服务器(LS)进程都是关系数据库(RDB)服务器进程。存储过程(SP)可以通过库服务器的SQL接口来执行。库服务器可以通过关系数据库(RDB)客户端远程进行访问。
资源管理器(RM)可以支持不同的/多个访问协议。资源管理器(RM)支持HTTP协议。
由库服务器进行管理的基本信息是“项目”。如这里所使用的,“项目”可以分为两种类型简单项目和资源项目。资源项目可以具有存储在一个或多个资源管理器中的与它们关联的内容。资源项目通过资源URL-相关的数据指向它们的内容。
库服务器(LS)和资源管理器(RM)是常常在不同的机器上运行单独的进程。在操作中,客户端首先与库服务器(LS)进行联系,以创建/更新对象的索引,并确定将对象存储/在哪里或在哪里替换对象。然后,客户端向资源管理器(RM)发送存储/替换对象的请求。

发明内容
根据一个方面,本发明提供了用于自动启动工作流进程上的文档的方法,包括为项目创建工作流;为项目创建优先级;为项目类型指定自动工作流;以及库服务器检索进程和项目类型的优先级。
优选情况下,提供了一种用于自动和动态地启动和维护诸如工作流进程上的文档或文件夹之类的项目的进展的自动工作流系统和进程。
优选情况下,提供了根据预定义的路由规则如系统管理员所指定的那样自动启动工作流进程上的文档的系统和关联的方法。
根据优选实施例,将项目或文档附加到自动工作流进程,优选情况下,可以增强内容管理系统的方便性,并简化处理文档及其他项目的进程。
例如,人事部门的职员创建了一个“可报销帐”的文档,以给雇员的支出报销。“可报销帐”文档必须等到所有的收据都已经收到,然后,由相应的经理审批。一旦收到了收据,则对该文档进行检查,以验证所有的支出都在公司的规则范围内。如果所有支出都在规则内,则将文档转到相应的经理进行审批,并转到相应的雇员进行报销。如果支出不在规则范围内,则将文档退回该雇员,以便进行校正。
在本发明之前,路由项目的过程是手动进行的。管理员不能自动指定新创建的项目所需的进程。相反,文件夹的所希望的进程被传递给每一个用户。依靠最终用户理解和应用工作流进程规则将会产生选择错误的进程的情况。
优选情况下,工作流进程现在被自动化。将工作流进程自动化的优点是防止出现最终用户错误,并可以在进程内对项目进行均匀的处理。
根据优选实施例,工作流进程是用户可以检索并作出有关文档的决定的一系列步骤。
根据优选实施例,当创建项目类型ItemType时,系统管理员为该ItemType指定初始工作流进程和优先级。当管理员定义ItemType时,优选情况下将提供下拉字段,其中,显示可用的进程名。优选情况下,还提供包含工作的优先级的第二个字段。管理员可以选择新文档、项目或文件夹中的其中一个。此进程和优先级信息优选情况下作为ItemType定义的一部分存储在库服务器中。
当创建项目时,根据优选实施例,库服务器检查ItemType的定义。如果指定了自动工作流,则优选情况下,在指定的进程中的第一个节点上创建工作包。项目的优先级优选情况下也是根据管理员以前的定义进行设置的。工作流进程和优先级优选情况下被分配给所选定的文件夹。
以前的技术允许最终用户为任何类型的文档定义目标进程。理解业务规则并正确地应用是用户的职责。另一方面,根据优选实施例,本发明允许管理员根据预定义的业务规则和过程对进程进行定义。现在,文档、项目和文件夹沿规定的路由向前推进,允许对所有文档、项目和文件夹进行均匀的处理,从而防止发生用户错误。这对诸如保险公司之类的处理大量的文档的企业或其他实体特别有用。
优选情况下,库服务器调用“开始进程”。
优选情况下,可以创建工作包。
优选情况下,可以指定工作节点出口。优选情况下,可以调用此工作节点出口。
根据优选实施例,可以指定工作节点的过载极限。
根据优选实施例,将统计与每一个工作节点关联的工作包的数量。
优选情况下,如果超过过载极限,则调用过载出口。
优选情况下,从工作流中删除工作包。
根据优选实施例,当到达过载极限时,写入事件记录。
根据优选实施例,请求事件记录。
根据优选实施例,写入指出“开始”的事件记录。
根据优选实施例,工作节点被标识为集合点。
根据优选实施例,可以将集合点处的项目标识为文件夹。
优选情况下,将文件夹的内容与所需的项目类型的列表进行比较。
根据优选实施例,具有所需的项目类型的文件夹被前移到下一个工作节点。
根据优选实施例,没有出现所需的项目类型的文件夹被保留在集合点,直到所需的项目类型被放置在文件夹中。
优选情况下,将不是文件夹的项目前移到下一个工作节点。
优选情况下,调用“route”函数。
根据优选实施例,可以验证用户的调用“路由”函数的权限。
优选情况下,可以调用离开工作节点出口函数。
可以理解,本发明可以作为包括用于进行本发明的步骤的程序代码装置的计算机程序来实现。
根据另一个方面,提供了具有用于自动启动工作流进程上的文档的指令代码的计算机程序产品,包括用于为项目创建工作流的第一组指令代码;用于为项目创建优先级的第二组指令代码;用于为项目类型指定自动工作流的第三组指令代码;以及用于检索进程和项目类型的优先级的第四组指令代码。
根据另一个方面,提供了用于自动启动工作流进程上的文档的系统,包括为项目创建工作流的装置;为项目创建优先级的装置;用于为项目类型指定自动工作流的装置;以及用于检索进程和项目类型的优先级的装置。


现在将参考下面的附图,只作为示例,对本发明的优选实施例进行描述图1是其中可以使用本发明的优选实施例的自动化工作流路由系统的示范性操作环境的示意图;图2是显示使用图1的系统的用于路由文档的示范性工作流进程的图表;以及图3包括图3A、3B和3C,表示显示图1的自动化工作流系统的示范性操作方法的进程流图。
请注意,在适当的地方,重复使用了参考数字,以指出被引用的项目之间的对应关系。
具体实施例方式
下列定义和说明提供了与本发明的技术领域有关的背景信息,并用于在不限制本发明的范围的情况下促进对本发明的理解ACL(访问控制列表)通知计算机的操作系统,每一个用户或组具有对诸如目录或文件之类的特定系统对象的哪些权限或访问权限的一组数据。每一个对象都具有标识哪些用户可以访问它的唯一的安全属性,ACL是每一个对象和诸如读取、写入或执行之类的用户访问权限。
属性特性或特征,具体来说,数据库中的字段。
项目由库服务器进行管理的基本信息实体。这里所使用的“项目”分为两种类型,简单项目和资源项目。例如,项目可以是任何文件夹或文档。
元数据关于数据的数据。元数据是提供在环境内管理的或由应用程序管理的其他数据的文档或信息的定义数据。元数据可以记录关于诸如名称、大小或数据类型之类的数据元素或属性的数据。它还可以记录包括长度、字段和列在内的数据结构的数据。元数据中包括的其他数据包含关联、存储位置,以及数据的所有权。元数据还可以包括有关数据的上下文、质量和条件,和/或特征的描述性信息。
SQL结构化查询语言,一种用于从数据库请求信息的标准化查询语言。
图1显示了示范性内容管理系统100,包括安装在库服务器15中的自动化工作流系统10。此外,内容管理系统100包括资源管理器20和应用程序编程接口25。自动化工作流系统10包括通常嵌入在或安装在计算机上的软件程序代码或计算机程序产品。
包括客户端应用程序35的客户计算机30通过应用程序编程接口(API)25连接到内容管理系统100。
库服务器15连接到资源管理器20,并包含涉及存储在资源管理器20中的主要内容(数据或对象)的用户和系统元数据。许多类型的数据都可以存储在资源管理器20中,例如,业务信息、应用程序、文本、音频、视频和流式数据。
在高级别,客户端应用程序35开始事务,并向最终用户返回确认。接下来,客户端应用程序35与库服务器15建立连接,并向库服务器15发送请求,以为内容管理对象创建目录项(作为索引项)。客户端应用程序35从库服务器15接收返回的有关对象的存储位置的信息。
然后,客户端应用程序35向资源管理器20发送存储对象的请求,并从其中接收具有对象元数据的响应。此元数据包括对象名称、大小和创建时间戳等等。客户端应用程序35向库服务器15发送此元数据。
内容管理系统100的数据模型被用于实现自动化工作流系统10。数据模型包括四个主要元素进程、工作节点、工作包和工作列表。第一个元素(进程)包括根组件行和子组件行。这些组件行定义了工作流路由。
根组件使用系统定义的属性作为进程ID。这进程ID映射到关键字表中的名称和描述。子组件包括下列属性“来自”工作节点、“发往”工作节点,以及菜单项。“来自”工作节点是“启动”节点的空值。“发往”工作节点是“结束”节点的空值。菜单项是关键字表中的ID,并用于在“来自”和“发往”之间进行路由。
图2显示了工作流路由的示例。工作流在“开始”205开始。所有的工作都进入“待办”步骤210。在“待办”步骤210,工作可以直接进入“现在必须执行”步骤215,或“稍后审查”步骤220。最终,位于“稍后审查”步骤220中的工作也必须在“现在必须执行”步骤215中进行处理。此进程的工作流在“结束”步骤225完成。
下表1示范了工作流的子组件属性。表1中的第一行表示图2的工作流中的第一个步骤。在“开始”205,在工作流中前面没有步骤,因此,表2中的“来自”列是空白的。“发往”列表示第一个步骤的工作流目标。在图2中的示例的情况下,工作进入“待办”210,如表1的“发往”列的第一行所示。此步骤的菜单表示是空白的,如表1的“菜单”列的第二行所示。
表1图2的工作流的子组件属性。

表1的第二和第三行表示在“待办”210中的工作流分支。工作可以进入如表1的第三行所示的“稍后审查”220,或进入如表1的第四行所示的“现在必须执行”215。此外,所有工作都从“现在必须执行”215进入“结束”225,如表1中的第六行所示。如表1的“菜单”列所示,图2的“工作流进程”的菜单可能性有“稍后执行”、“现在执行”和“执行”。
工作节点包括具有包含属性的根组件和用于实现工作包的子组件的项目。项目的根组件的属性包括ID(包含名称和描述的关键字表中的条目);
类型(工作筐、集合点);通知时间(分钟或0);过载极限;以及要在库服务器15上运行的出口(DLL和函数名称)。要在库服务器15上运行的出口包括过载出口、“进入工作节点”出口,以及“离开工作节点”出口。
管理员将定义该工作包应该在给定工作节点的最大时间长度。运行一个函数,以识别其在给定工作节点的允许的时间已经过期的工作包。允许的时间已经过期的任何包都以“通知”标志标识。
如果工作节点是集合点,则将使用子组件列出Itemtype以及每一个所需要的ItemType的数量。表2中显示了集合点中的子组件的示例。在此示例中,claim文件夹必须具有一个警察报告、一个估计,以及四张照片。客户查询必须具有信件或电子邮件。在这两种情况下,如果将其他类型的项目添加到文件夹中,则对集合点处理没有任何影响。
表2集合点中的子组件。

工作包包括将被路由的文档或文件夹与进程内的工作节点关联的工作节点的子组件。此子组件包含诸如优先级之类的工作特定的信息。此子组件的属性包括下列内容优先级;被路由的项目的引用属性;进程的ItemID;
最后一次移动工作包的用户的UserID;最后一次移动工作包的日期/时间;挂起状态(0/1);通知状态(0/1);通知时间;以及恢复时间。
引用属性用于启用查询并确保引用完整性。恢复列表包括具有每个所需的ItemType一行的子组件。子组件包含ItemType和所需的该类型的数量。将ItemType的所需的数量设置为“0”表明“任何”类型都可以接受,当所需的类型的任何项目到达时允许工作包连续。判断点包括子组件,每个“规则”一行,并具有“发往”工作节点。
工作列表包括为工作的列表定义选择标准的项目。此工作列表包含下列属性ID(包含名称和描述的关键字表中的条目);工作节点的列表(ItemID);选择顺序(优先级,最后一次的工作日期升序/降序);选择筛选器(挂起0/1,通知0/1);以及返回的数量(0=所有,1=“分配的系统”,>1极限)。
可以跨所有工具筐或所选择的子集定义工作列表,以显示处于通知或挂起状态的工作包。被授权处理工作列表的用户将能够看到正在等待的工作包的统计。然后,这样的用户可以打开工作列表并作出有关每一个工作包的决定,如增大优先级、强制及早恢复、强制从集合点中退出、更改用户分配等等。
自动化工作流系统10与库服务器15的接口包括“开始进程”、“结束进程”、“路由”、“GetWorkList”、“GetWork”、“挂起”、“恢复”以及“GetItemRouting”。与库服务器15的接口被设计为通过在客户端应用程序35上缓存定义而不是在库服务器15上执行多个查询来最大限度地降低运行时开销。客户端应用程序35将根据需要向库服务器15传递表名称。
图3A、3B和3C显示了自动化工作流系统10的“开始进程”方法300。当在方框302中创建文档或文件夹时,系统10检查,以查看是否如稍后所描述的指定了自动化工作流。
如果在判断方框304中没有指定自动化工作流,那么,库服务器遵循正常的事件流,以便创建文档,而不采用工作流(步骤306)。
另一方面,如果在判断方框304中指定了自动化工作流,则在方框310中在特定进程中启动所创建的或所选择的项目的ItemID。到进程的输入是被路由的项目的ItemID、进程的ItemID,以及优先级(在步骤308中检索)。进程的输出是标准的存储过程参数,以及工作包的组件ID(如果需要的话)。
在方框312中,自动化工作流系统10创建工作包。工作包是工作节点的子组件。子组件的行包含被路由的项目的引用属性。挂起和通知标志被设置为0,还设置了工作包中的UserID和时间戳。
在判断方框314中,系统10判断是否指定了“进入工作节点”出口。如果没有,则进程直接进入判断方框318(图3B)。另一方面,如果指定了“进入工作节点”出口,则系统10调用“进入工作节点”出口。然后,自动化工作流系统10进入判断方框318(图3B)并检查是否已经指定了过载极限。如果是,则自动化工作流系统10在方框320中统计与当前工作节点关联的工作包的数量。如果在该节点超过了过载极限,则自动化工作流系统10在方框324中调用过载出口。
然后,自动化工作流系统10在方框328中写入一个指出已经达到该工作节点的过载极限的事件记录。然后,进程进入图3C。
另一方面,如果没有超过过载极限,则自动化工作流系统10进入判断方框330并检查是否请求了事件记录。如果是,自动化工作流系统10在方框332中写入指出“开始”的记录。
无论如何,自动化工作流系统10进入判断方框334(图3C)并检查工作节点是否为集合点。如果是,则自动化工作流系统10进入判断方框336,并检查被路由的项目是否为文件夹。如果是,则自动化工作流系统10在方框338将文件夹的内容与所需的ItemType的列表进行比较。
如果在判断方框340中所需的ItemType没有包括在文件夹中,则自动化工作流系统10退出。单独的进程定期检查以在判断方框340中判断所有ItemType是否都在文件夹中存在,如果是,则文件夹在方框342中转到工作进程中的下一个节点,在判断方框336中不是文件夹的项目也将如此。如果在判断方框334中工作节点不是集合点,则进程结束。
概括起来说,提供了一种自动化诸如内容管理系统之类的系统内的工作流路由的系统。系统管理员为项目类型ItemType指定初始工作流进程和优先级。当管理员定义ItemType时,本发明将提供下拉字段,其中,显示可用的进程名。本系统提供的第二个下拉字段将包含工作的优先级。管理员可以选择新文档、项目或文件夹中的其中一个。此进程和优先级信息作为ItemType定义的一部分存储在库服务器中。当创建项目时,库服务器检查ItemType的定义。如果指定了自动工作流,则本系统在指定的进程中的第一个节点上创建工作包。项目的优先级也是根据管理员以前的定义进行设置的。本系统允许管理员根据预定义的业务规则和过程对进程进行定义。文档、项目和文件夹沿规定的路由向前推进,允许对所有文档、项目和文件夹进行均匀的处理,从而防止发生用户错误。
权利要求
1.一种用于自动启动工作流进程上的文档的方法,包括为项目创建工作流;为项目创建优先级;为项目类型指定自动工作流;以及库服务器检索进程和项目类型的优先级。
2.根据权利要求1所述的方法,其中,库服务器调用“开始进程”。
3.根据权利要求2所述的方法,进一步包括创建工作包。
4.根据权利要求3所述的方法,进一步包括指定工作节点出口和调用工作节点出口。
5.根据权利要求4所述的方法,进一步包括指定工作节点的过载极限;统计与每一个工作节点关联的工作包的数量;如果超过过载极限,则调用过载出口。
6.根据权利要求5所述的方法,进一步包括从工作流中删除工作包。
7.根据权利要求4所述的方法,进一步包括请求事件记录。
8.根据权利要求7所述的方法,进一步包括写入指出“开始”的事件记录。
9.根据权利要求4所述的方法,进一步包括将工作节点标识为集合点。
10.根据权利要求9所述的方法,进一步包括将集合点处的项目标识为文件夹。
11.根据权利要求10所述的方法,进一步包括将文件夹的内容与所需的项目类型的列表进行比较。
12.根据权利要求11所述的方法,其中,出现有所需的项目类型的文件夹被前移到下一个工作节点,其中,没有出现所需的项目类型的文件夹被保留在集合点,直到所需的项目类型被放置在文件夹中。
13.根据权利要求12所述的方法,其中,将不是文件夹的项目前移到下一个工作节点。
14.一种计算机程序,包括用于当所述程序在计算机上运行时执行权利要求1到13中的任何一个权利要求的方法的程序代码装置。
15.一种用于自动启动工作流进程上的文档的系统,包括用于为项目创建工作流的装置;用于为项目创建优先级的装置;用于为项目类型指定自动工作流的装置;以及用于检索进程和项目类型的优先级的装置。
全文摘要
公开用于自动启动工作流进程上的文档的系统和方法。该系统使内容管理系统之类的系统中的工作流路线选择自动化。系统管理员指定初始工作流进程和关于项目类型ItemType的优先级。当管理员定义ItemType时,由当前系统提供第一下拉字段,其中显示可用的进程名称。由当前系统提供的第二下拉字段将包含所述工作的优先级。管理员可以为新文档、项目或文件夹从每个字段中选择一个。此进程和优先级信息作为ItemType定义的一部分存储在库服务器中。当创建项目时,库服务器检查ItemType的定义。如果指定了自动工作流,则由当前系统在指定进程中的第一节点上创建工作包。还按照管理员先前所定义的那样设置项目的优先级。
文档编号G06Q10/00GK1698057SQ200480000163
公开日2005年11月16日 申请日期2004年2月27日 优先权日2003年3月1日
发明者肯尼思·卡林·纳尔逊 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1