一种控制任务流程的方法、装置及数据库管理系统与流程

文档序号:13673072阅读:161来源:国知局
技术领域本发明涉及计算机技术领域,特别是涉及一种控制任务流程的方法、装置及数据库管理系统。

背景技术:
XML(ExtensibleMarkupLanguage的缩写,可扩展标记语言)数据库管理系统XMLDBMS(ExtensibleMarkupLanguageDatabasemanagementsystem,XML数据库管理系统)是近年快速发展的一种新型的数据库管理系统(DBMS),它存储和检索的数据是XML文档。XML数据的检索和更新语言是有W3C制定的标准的XML数据的查询语言XQuery。XQuery系列语言基于序列数据模型,即XQuery中任意数据都是一个序列,序列由若干个有序的项目(item)的组成;一个item是一个原子值或一个XDM节点,一个XDM节点是XML文档的七种节点之一。基于这样的数据模型,最自然和高效的XML数据存储方案就是把XML文档存储为节点。在XMLDBMS中存储XML文档的实体称为容器,一个容器中存储任意多个XML文档的数据内容,而这个容器由若干个数据表支撑,分别存储这些XML文档的各个方面的数据和结构信息,其中结构信息包括节点数据,节点间关系,路径数据,各种索引,各种统计信息等。数据表存储的单位是数据行,一个数据表中含有若干个数据行,并且可以通过索引快速查找到特定的数据行。在开发的业务系统中需要对任务流程进行控制,而实现控制任务流程通常需要复杂的业务流程代码,直接导致现有的控制任务流程的方式需要占用很多工作量,从而降低了工作效率。

技术实现要素:
本发明的目的在于提供一种控制任务流程的方法、装置及数据库管理系统,通过XML节点对任务流程的控制,方便了任务的变化和流程的控制,有效的提高了工作效率。为了实现上述目的,本发明实施例提供的一种控制任务流程的方法,应用于数据库管理系统,包括:获取与同一业务流程的每个业务任务ID相关联的多个可扩展标记语言XML文档的预先定义的多个节点,每个节点中记录有:与业务任务ID对应的用户操作和对应于每个节点的下一节点的业务任务ID;根据多个节点中的第一节点的业务任务ID,提取对应于所述第一节点的业务任务ID的用户操作和所述第一节点的下一节点的业务任务ID;根据所述第一节点的业务任务ID的用户操作,控制用户执行所述第一节点的业务任务ID的用户操作,并将当前的所述第一节点的业务任务ID更新为所述第一节点的下一节点的业务任务ID。进一步的,所述业务任务ID的用户操作至少包括:待处理、已退回、已处理以及已完成当前业务任务ID的用户操作中的一种或多种。进一步的,所述根据所述第一节点的业务任务ID的用户操作,控制用户执行的所述第一节点的业务任务ID的用户操作,并更新所述第一节点的业务任务ID为所述第一节点的下一节点的业务任务ID的步骤,包括:在所述第一节点的业务任务ID的用户操作为待处理,控制用户执行待处理的业务任务ID;或者在所述第一节点的业务任务ID的用户操作为已退回,控制用户执行已退回的业务任务ID;或者在所述第一节点的业务任务ID的用户操作为已完成当前业务任务ID,控制用户执行已退回的业务任务ID,并更新所述第一节点的业务任务ID为所述第一节点的下一节点的业务任务ID。进一步的,所述根据所述第一节点的业务任务ID的用户操作,控制用户执行的所述第一节点的业务任务ID的用户操作,并更新所述第一节点的业务任务ID为所述第一节点的下一节点的业务任务ID之后的步骤,所述方法还包括:根据所述第一节点的下一节点的业务任务ID,提取对应于所述第一节点的下一节点的业务任务ID的用户操作,控制用户执行的所述第一节点的下一节点的业务任务ID的用户操作,并更新所述第一节点的下一节点的业务任务ID。进一步的,所述业务任务ID的用户操作还包括结束整个流程的用户操作,相应地,所述根据所述第一节点的下一节点的业务任务ID,提取对应于所述第一节点的业务任务ID的用户操作,控制用户执行的所述第一节点的下一节点的业务任务ID的用户操作,并更新所述第一节点的下一节点的业务任务ID的步骤,具体为:根据所述第一节点的下一节点的业务任务ID,提取对应于所述第一节点的业务任务ID的用户操作为结束整个流程,则更新所述第一节点的下一节点的业务任务ID为结束。为了实现上述目的,本发明提供一种控制任务流程的装置,应用于数据库管理系统,所述装置包括:获取模块,用于获取与同一业务流程的每个业务任务ID相关联的多个可扩展标记语言XML文档的预先定义的多个节点,每个节点中记录有:与业务任务ID对应的用户操作和对应于每个节点的下一节点的业务任务ID;处理模块,用于根据多个节点中的第一节点的业务任务ID,提取对应于所述第一节点的业务任务ID的用户操作和所述第一节点的下一节点的业务任务ID;第一控制模块,用于根据所述第一节点的业务任务ID的用户操作,控制用户执行所述第一节点的业务任务ID的用户操作,并将当前的所述第一节点的业务任务ID更新为所述第一节点的下一节点的业务任务ID。进一步的,所述业务任务ID的用户操作至少包括:待处理、已退回、已处理以及已完成当前业务任务ID的用户操作中的一种或多种。进一步的,所述第一控制模块包括:第一控制子模块,用于在所述第一节点的业务任务ID的用户操作为待处理,控制用户执行待处理的业务任务ID;或者第二控制子模块,用于在所述第一节点的业务任务ID的用户操作为已退回,控制用户执行已退回的业务任务ID;或者第三控制子模块,用于在所述第一节点的业务任务ID的用户操作为已完成当前业务任务ID,控制用户执行已退回的业务任务ID,并更新所述第一节点的业务任务ID为所述第一节点的下一节点的业务任务ID。进一步的,所述装置还包括:第二控制模块,用于根据所述第一节点的下一节点的业务任务ID,提取对应于所述第一节点的下一节点的业务任务ID的用户操作,控制用户执行的所述第一节点的下一节点的业务任务ID的用户操作,并更新所述第一节点的下一节点的业务任务ID。进一步的,所述业务任务ID的用户操作还包括结束整个流程的用户操作,相应地,所述第二控制模块包括:第二控制子模块,用于根据所述第一节点的下一节点的业务任务ID,提取对应于所述第一节点的业务任务ID的用户操作为结束整个流程,则更新所述第一节点的下一节点的业务任务ID为结束。相应的,本发明还提供一种数据库管理系统,包括如上述的控制任务流程的装置。本发明的上述技术方案的有益效果如下:本发明的方案中,通过对预先设定的多个节点的状态进行判断,提取出对应的节点的子状态的用户操作,控制用户执行该用户操作,并将当前的节点的状态更新为下一节点状态,这样通过XML节点对任务流程的控制,方便了任务的变化和流程的控制,不仅减轻了工作量,而且提高了工作效率。附图说明图1为本发明实施例的控制任务流程的方法的步骤示意图;图2为本发明实施例的具体应用场景的流程图;图3为本发明实施例的控制任务流程的装置的结构示意图。具体实施方式为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。为了供下文更详细的描述容易参考,需要说明的是每个数据行定义了一个业务,如果是查询业务,就可以直接查询节点,节点就可以查到对应的数据行。每次做设计的一个数据行代表一个业务,这个数据行属于XML结构。本发明提供一种控制任务流程的方法、装置及数据库管理系统,通过XML文档中根据节点的状态判断任务流程中的具体操作来控制用户执行,不需要外在复杂流程进行控制,就可以改变业务流程,节省了大量的工作量。如图1所示,本发明实施例的控制任务流程的方法中,应用于数据库管理系统,包括:步骤11,获取与同一业务流程的每个业务任务ID相关联的多个可扩展标记语言XML文档的预先定义的多个节点,每个节点中记录有:与业务任务ID对应的用户操作和对应于每个节点的下一节点的业务任务ID;其中所述业务任务ID根据应用场景进行定义,比如在作者投稿的应用环境,所述业务任务ID为对于作者投稿进行审核的的一审,或者是经过第一次审核的一审之后的第二次审核的二审,或者经过第二次审核的二审的第三次审核的三审,或者是更过审核的审核次数定义等业务任务ID;还比如在面试一管理人员的应用环境,所述业务任务ID为对应聘人员的网投简历审核,或者是经过网投简历审核通过后的面试审核等多次审核该应聘人员的信息。其中所述业务任务ID的用户操作至少包括:待处理、已退回、已处理、已完成当前业务任务ID以及结束整个流程的用户操作的用户操作中的一种或多种。上述节点中记录的业务任务ID也指节点状态,与业务任务ID对应的用户操作也指对应于节点状态的子状态,即已处理,待处理等状态。本XMLDBMS把XML数据按照节点的方式存储,把所有的任务流程按照XML节点方式存储,每个任务一个节点,每个节点记录有流程的一个操作及对应下一节点状态。步骤12,根据多个节点中的第一节点的业务任务ID,提取对应于所述第一节点的业务任务ID的用户操作和所述第一节点的下一节点的业务任务ID;通过在数据库管理系统预先定义各种用户操作及业务流程,根据定义的业务流程,一步一步提取用户操作,直至执行完所有任务。在XML文档中根据节点的状态判断任务流程中的具体操作。使用这个方法,任务流程可以很容易得到下步操作,当需要更改原来的任务流程时,只需要更新XML节点中相应流程的状态就可以了,网站代码不需要改变。步骤13,根据所述第一节点的业务任务ID的用户操作,控制用户执行所述第一节点的业务任务ID的用户操作,并将当前的所述第一节点的业务任务ID更新为所述第一节点的下一节点的业务任务ID。在步骤11至步骤13中,通过对预先设定的多个节点的状态进行判断,提取出对应的节点的子状态的用户操作(步骤12),控制用户执行该用户操作,并将当前的节点的状态更新为下一节点状态(步骤13),这样通过XML节点对任务流程的控制,方便了任务的变化和流程的控制。同时可以通过XQuery可以对任务的进行调整,用户可以更改一个节点状态,对任务流程进行控制,不仅减轻了工作量,而且提高了工作效率。具体的,应用于一特定的场景时,本发明实施例的控制任务流程的方法中,步骤13包括:步骤131,在所述第一节点的业务任务ID的用户操作为待处理,控制用户执行待处理的业务任务ID;或者步骤132,在所述第一节点的业务任务ID的用户操作为已退回,控制用户执行已退回的业务任务ID;或者步骤133,在所述第一节点的业务任务ID的用户操作为已完成当前业务任务ID,控制用户执行已退回的业务任务ID,并更新所述第一节点的业务任务ID为所述第一节点的下一节点的业务任务ID。对于同一业务流程会具有多个节点,在每次操作完当前的任务状态,数据库更新到下一步的下一节点状态,因此需要知道具体的下一节点状态的执行过程,本发明实施例的控制任务流程的方法中,步骤13之后,所述方法还包括:步骤14,根据所述第一节点的下一节点的业务任务ID,提取对应于所述第一节点的下一节点的业务任务ID的用户操作,控制用户执行的所述第一节点的下一节点的业务任务ID的用户操作,并更新所述第一节点的下一节点的业务任务ID。对每个业务流程都需要结束,因此本发明实施例的控制任务流程的方法中,所述业务任务ID的用户操作还包括结束整个流程的用户操作,相应地,步骤14包括:步骤141,根据所述第一节点的下一节点的业务任务ID,提取对应于所述第一节点的业务任务ID的用户操作为结束整个流程,则更新所述第一节点的下一节点的业务任务ID为结束。需要说明的是此处的第一节点的下一节点的业务任务ID的用户操作为结束整个流程,并不是为了说明整个业务流程就只有第一节点和第一节点的下一节点这两个节点,而且涵盖说明所有节点都是按照本方案执行的。XML文档每一个任务都是一个节点,每个节点都有一个任务ID。每个任务的读取都按当前的任务ID读取当前的操作;同时每一个节点数据行也存储着这个节点操作的下一步节点状态。每次操作完当前的任务状态,数据库更新到下一步的下一节点状态。这样该任务就做到了流程的转变。本发明可以在XMLDBMS中XML的业务流程预先定义配置,高效地完成前台的任务操作,高效体现在对存储和业务流程的控制上。同时可以利用XQuery方便的读取到当前任务的状态信息。根据配置好的任务状态流转到下一个流程。根据配置文件灵活的处理业务信息。当流程有变化时,只要更改XML的业务流程配置,节省了大量的工作量。本发明还兼容现有的任务存储方案,以很小的代价在方案中加入XML存储功能,保证了系统开发的可实施性。如图2所示,本发明具体实施例投稿系统XML流程控制的应用场景的举例如下。该投稿系统XML流程举例展示了投稿的一审,二审,退回操作的实现方式。1.投稿节点步骤21,用户开始登录投稿系统,当前台操业务系统操作作者投稿功能时,根据作者投稿状态01读取到作者的操作;步骤22,根据当前的任务状态及配置流程信息,用XQuery查询到数据库中XML中状态为01的节点,根据当前节点的信息,提取出当前的操作(01_COMMIT(提交)和所有需要更新的状态信息)。步骤23,根据流程配置,执行节点提取的操作。步骤24,在用户根据提取出来的当前操作进行提交操作时,用户进行了投稿,根据得到的状态信息targetStatus=\0103\(一审待审稿状态),targetStage=\02\(一审),把当前的工作任务状态做更新为一审的状态。2.一审节点步骤25,前台一审待处理时用XQuery查询到数据库中XML中状态为02的节点,根据当前节点的信息(1),后台根据状态02(一审)和0103(一审待处理),查询出当前的任务信息。(2),提取出当前的操作(02_SAVE(提交二审)和所有的状态信息。targetStatus=\0105argetStage=\03\)。当任务提交二审时根据配置状态信息更新任务,任务状态改为二审(03)待处理状态(0104)。3.二审节点步骤26,前台二审待处理时,后台根据状态03(二审)和0104(二审待处理)。查询出当前的任务信息。用XQuery查询到数据库中XML中状态为03的节点,根据当前节点的信息,提取出当前的操作。(退回id=\03_BACK\)(二审退回updateStatus=\0106\)(二审updateStage=\03\)步骤27,当提取出当前的操作为任务退回操作时,更新当前任务状态为二审退回。当一审查询时,前台一审待处理时用XQuery查询到数据库中XML中状态为02的节点,根据当前节点的信息,查询出状态0106的所有任务信息,根据在XML配置文件中查询出的操作信息进行操作。步骤28,如果根据二审的当前节点的信息,提取出当前的操作为结束整个流程,提取出结束的用户操作来结束整个任务。如图3所示,本发明实施例的控制任务流程的装置,应用于数据库管理系统,包括:获取模块31,用于获取与同一业务流程的每个业务任务ID相关联的多个可扩展标记语言XML文档的预先定义的多个节点,每个节点中记录有:与业务任务ID对应的用户操作和对应于每个节点的下一节点的业务任务ID;处理模块32,用于根据多个节点中的第一节点的业务任务ID,提取对应于所述第一节点的业务任务ID的用户操作和所述第一节点的下一节点的业务任务ID;第一控制模块33,用于根据所述第一节点的业务任务ID的用户操作,控制用户执行所述第一节点的业务任务ID的用户操作,并将当前的所述第一节点的业务任务ID更新为所述第一节点的下一节点的业务任务ID。处理模块32通过对预先设定的获取模块31获取到的多个节点的状态进行判断,提取出对应的节点的子状态的用户操作,然后第一控制模块33控制用户执行该用户操作,并将当前的节点的状态更新为下一节点状态,这样通过XML节点对任务流程的控制,方便了任务的变化和流程的控制。同时可以通过XQuery可以对任务的进行调整,用户可以更改一个节点状态,对任务流程进行控制,不仅减轻了大量的工作量,而且提高了工作效率。本发明的又一实施例的控制任务流程的装置中,所述业务任务ID的用户操作至少包括:待处理、已退回、已处理以及已完成当前业务任务ID的用户操作中的一种或多种。本发明的又一实施例的控制任务流程的装置中,所述第一控制模块33包括:第一控制子模块,用于在所述第一节点的业务任务ID的用户操作为待处理,控制用户执行待处理的业务任务ID;或者第二控制子模块,用于在所述第一节点的业务任务ID的用户操作为已退回,控制用户执行已退回的业务任务ID;或者第三控制子模块,用于在所述第一节点的业务任务ID的用户操作为已完成当前业务任务ID,控制用户执行已退回的业务任务ID,并更新所述第一节点的业务任务ID为所述第一节点的下一节点的业务任务ID。本发明的又一实施例的控制任务流程还包括:第二控制模块,用于根据所述第一节点的下一节点的业务任务ID,提取对应于所述第一节点的下一节点的业务任务ID的用户操作,控制用户执行的所述第一节点的下一节点的业务任务ID的用户操作,并更新所述第一节点的下一节点的业务任务ID。本发明的又一实施例的控制任务流程的装置中,所述业务任务ID的用户操作还包括结束整个流程的用户操作,相应地,所述第二控制模块包括:第二控制子模块,用于根据所述第一节点的下一节点的业务任务ID,提取对应于所述第一节点的业务任务ID的用户操作为结束整个流程,则更新所述第一节点的下一节点的业务任务ID为结束。需要说明的是,本发明提供的装置是应用上述控制任务流程的方法的装置,则上述控制任务流程的方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。本发明实施例提供的数据库管理系统,包括上述的控制任务流程的装置。相应的由于本发明实施例的控制任务流程的装置,应用于数据库管理系统,因此,本发明实施例还提供了一种数据库管理系统,其中,上述控制任务流程的装置的所述实现实施例均适用于该汽车的实施例中,也能达到相同的技术效果。以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1