CN102903030B - 异构系统间不同工作流进行任务处理的方法 - Google Patents

异构系统间不同工作流进行任务处理的方法 Download PDF

Info

Publication number
CN102903030B
CN102903030B CN201210371393.8A CN201210371393A CN102903030B CN 102903030 B CN102903030 B CN 102903030B CN 201210371393 A CN201210371393 A CN 201210371393A CN 102903030 B CN102903030 B CN 102903030B
Authority
CN
China
Prior art keywords
task
framework
unified
api
taskquery
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.)
Active
Application number
CN201210371393.8A
Other languages
English (en)
Other versions
CN102903030A (zh
Inventor
姜楠
夏帮国
王长尧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Founder International Co Ltd
Original Assignee
Founder International Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Founder International Co Ltd filed Critical Founder International Co Ltd
Priority to CN201210371393.8A priority Critical patent/CN102903030B/zh
Publication of CN102903030A publication Critical patent/CN102903030A/zh
Application granted granted Critical
Publication of CN102903030B publication Critical patent/CN102903030B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种异构系统间不同工作流进行任务处理的方法,通过主系统和从系统间预先构建统一任务框架,所述统一任务框架封装任务基本属性,并设置有任务注册API、任务获取API和任务注销API。该方法解决了用户不用在多个系统来回切换登陆的繁琐体验,也解决了多个异构系统之间的任务统一展现查询统计,并且对任务的业务处理调用原来系统的处理大大降低了整合的难度。

Description

异构系统间不同工作流进行任务处理的方法
技术领域
本发明属于异构系统数据处理技术领域,具体涉及一种异构系统间不同工作流进行任务处理的方法。
背景技术
现有技术中构架不同的业务系统并且使用的不同的工作流产品,往往需要用户在多个系统之间来回切换去审批任务,对用户来说是很大的不方便,但是异构系统的之间的任务格式不同、处理方式不同、表单不同,导致整合十分困难。
使用iframe内嵌页将其他系统的页面直接嵌入到一个系统中去,这样做的会导致多个系统的任务没有办法统一查询、排序、统计,因为iframe都不是一个系统的页面根本没有办法实现多个系统的任务在一起查询统计。
直接查询两个系统的不同的任务表,如果两个系统数据库不在一起就很难操作,而且这样的查询需要多表进行合并查询性能消耗很大。
现有技术不采用任务统一处理的系统用户需要在多个系统之间不停的切换登陆去处理任务。当采用iframe用来将各个系统任务读取到当前系统中的时候没有办法对所有任务做查询统计。只能是每个系统里操作每个系统的任务。采用读取多个数据库的方式,第一多个系统数据结构不一致导致没有办法做查询,第二就算结构一致也需要对多个表做union操作之后再查询任务,这样做会有巨大的性能消耗。本发明因此而来。
发明内容
本发明目的在于提供一种异构系统间不同工作流进行任务处理的方法,解决了现有技术中异构系统工作流之间数据处理带来巨大的性能消耗等问题。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种异构系统间不同工作流进行任务处理的方法,其特征在于所述方法中主系统和从系统间预先构建统一任务框架,所述统一任务框架封装任务基本属性,并设置有任务注册API、任务获取API和任务注销API,所述包括以下步骤:
(1)从系统将工作流中所有任务通过调用注册API向统一任务框架进行注册,并提供相应从系统的任务系统表单URL以及单点登陆信息;(2)主系统向统一任务框架发送任务获取请求,然后通过调用任务获取API从统一任务框架中获取任务列表;(3)统一任务框架将任务列表传输给主系统,当主系统进行任务处理时,主系统通过统一任务框架中任务系统表单URL以及单点登陆信息发送到相应从系统进行逻辑处理;(4)当主系统任务处理完毕时,统一任务框架通过任务注销API进行任务注销。
优选的,所述统一任务框架包括任务数据库,所述任务数据库设置有任务表和任务操作人表。
本发明能够解决多个异构系统之间的业务流程任务,集成到统一个系统中做统一处理。本发明采用一套统一的任务框架体系,封装了各种任务上的基本属性,其他异构系统可以将自己系统生成的任务通过统一任务框架提供的API(java代码、webservice、tcp)注册到统一任务框架中,这样我们在一个系统上部署统一任务框架,就可以通过框架提供的查询统计功能对多个系统的任务进行统一的处理,用户可以不用切换多个系统在一个系统中处理多所有任务,还解决了现在方案中多系统任务不能统一查询,以及操作多个数据库技术上的难度和性能消耗的问题。
对于任务的处理,框架在任务注册的时候需要任务系统表单URL以及单点登陆信息,这样框架里查询出的任务在点击的时候可以进去原来系统的处理页面完成任务的处理。同时告知任务框架任务处理完毕。这样也解决了多个不同系统任务处理方式不一样导致的整合难度。
相对于现有技术中的方案,本发明的优点是:
本发明解决了用户不用在多个系统来回切换登陆的繁琐体验,也解决了了多个异构系统之间的任务统一展现查询统计,并且对任务的业务处理调用原来系统的处理大大降低了整合的难度。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为服务器控制浏览器界面数据刷新的系统的架构图。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例
本实施例的统一任务框架封装提供了任务的注册口和获取口,其他异构系统通过API层将任务注册到统一任务框架中,然后通过统一任务框架对任务做出查询和统计,打开任务的处理还是调用各个系统的表单去自己处理逻辑,在表单处理完成之后再次调用统一任务处理框架的API注销任务。
具体流程:
如图1所示,甲系统生成了任务task 1、2、3,乙系统生成了任务task4、5、6,其中以甲系统为例,甲系统启动一个流程,并在甲系统产生一个流程任务task1。甲系统调用统一任务框架,将产生的task1,转换成统一任务框架提供的任务模板。
统一任务框架的任务分为任务信息和候选人信息(任务操作人的信息),转换task1的信息成为统一任务。甲系统调用统一任务框架的webservice接口将转换过的任务数据传送给统一任务框架。统一任务框架将接收过来的任务存储进任务表和候选人表中。表的结构见下面的介绍。
统一任务展现层读取出任务数据展现到UI层。用户访问统一任务框架中心,点击查看任务,弹出嵌入的原系统的处理表单完成任务的处理。甲系统在完成任务之后继续调用统一任务框架注销任务。
统一任务框架数据库结构:
1、任务表字段:
"IDBASE"."FIXFLOW_RUN_TAKSINSTANECE"IS'运行时任务实例';"FIXFLOW_RUN_TAKSINSTANECE"."TASKINSTANCE_ID"IS'任务实例编号';
"FIXFLOW_RUN_TAKSINSTANECE"."PROCESSINSTANCE_ID"IS'流程实例编号';
"FIXFLOW_RUN_TAKSINS TANECE"."PROCESSDEFINI TION_ID"IS'流程定义编号';"FIXFLOW_RUN_TAKSINSTANECE"."VERSION"IS'流程定义版本号';"FIXFLOW_RUN_TAKSINSTANECE"."TOKEN_ID"IS'令牌编号';
"FIXFLOW_RUN_TAKSINSTANECE"."NODE_ID"IS'节点编号';
"FIXFLOW_RUN_TAKSINSTANECE"."DESCRIPTION"IS'任务主题';"FIXFLOW_RUN_TAKSINSTANECE"."PARENTTASK_ID"IS'父任务编号,不为空说明是会签(多实例)任务';
"FIXFLOW_RUN_TAKSINSTANECE"."ASSIGNEE"IS'任务代理人';"FIXFLOW_RUN_TAKSINSTANECE"."CLAIM_TIME"IS'领取时间';
"FIXFLOW_RUN_TAKSINSTANECE"."NAME"IS'任务名称FlowNode的name属性';
"FIXFLOW_RUN_TAKSINSTANECE"."CREATE_TIME"IS'任务到达(创建)时间';
"FIXFLOW_RUN_TAKSINSTANECE"."START_TIME"IS'开始时间';
"FIXFLOW_RUN_TAKSINSTANECE"."ISBLOCKING"IS'是否阻塞';
"FIXFLOW_RUN_TAKSINSTANECE"."END_TIME"IS'结束时间';
"FIXFLOW_RUN_TAKSINSTANECE"."DUEDATE"IS'处理期限';
"FIXFLOW_RUN_TAKSINSTANECE"."PRIORITY"IS'优先级别';
"FIXFLOW_RUN_TAKSINSTANECE"."CATEGORY"IS'任务分类(最终用户决定分类的意义)';
"FIXFLOW_RUN_TAKSINSTANECE"."OWNER"IS'任务所有者';
"FIXFLOW_RUN_TAKSINSTANECE"."DELEGATIONSTATESTRING"IS'任务代理状态';
"FIXFLOW_RUN_TAKSINSTANECE"."BIZKEY"IS'业务关联键值';
"FIXFLOW_RUN_TAKSINSTANECE"."COMMAND_TYPE"IS'处理命令类型';
"FIXFLOW_RUN_TAKSINSTANECE"."COMMAND_MESSAGE"IS'处理命令内容';
"FIXFLOW_RUN_TAKSINSTANECE"."TASK_COMMENT"IS'任务意见';
"FIXFLOW_RUN_TAKSINSTANECE"."NODE_NAME"IS'节点名称';
"FIXFLOW_RUN_TAKSINSTANECE"."PROCESSDEFINITION_KEY"IS'流程定义Key';
"FIXFLOW_RUN_TAKSINSTANECE"."FORMURI"IS'表单地址';
"FIXFLOW_RUN_TAKSINSTANECE"."TASKGROUP"IS'会签任务组编号';
"FIXFLOW_RUN_TAKSINSTANECE"."TASKTYPE"IS'任务类型';
"FIXFLOW_RUN_TAKSINSTANECE"."PROCESSDEFINITION_NAME"IS'流程名称';
"FIXFLOW_RUN_TAKSINSTANECE"."ISCANCELLED"IS'是否取消';
"FIXFLOW_RUN_TAKSINSTANECE"."ISSUSPENDED"IS'是否暂停';
"FIXFLOW_RUN_TAKSINSTANECE"."ISOPEN"IS'是否打开';
"FIXFLOW_RUN_TAKSINSTANECE"."ISDRAFT"IS'是否为草稿';
"FIXFLOW_RUN_TAKSINSTANECE"."EXPECTED_EXECUTIONTIME"IS'预计执行时间';
2、任务候选表字段包括:
"ID"VARCHAR2(64BYTE),
"TYPE"VARCHAR2(64BYTE),
"USER_ID"VARCHAR2(64BYTE),
"GROUP_ID"VARCHAR2(64BYTE),
"GROUP_TYPE"VARCHAR2(64BYTE),
"TASKINSTANCE_ID"VARCHAR2(64BYTE),
"INCLUDE_EXCLUSION"VARCHAR2(64BYTE)
"FIXFLOW_RUN_TASKIDENTITYLINK"."ID"IS'唯一编号';
"FIXFLOW_RUN_TASKIDENTITYLINK"."TYPE"IS'分配类型';
"FIXFLOW_RUN_TASKIDENTITYLINK"."USER_ID"IS'用户编号';
"FIXFLOW_RUN_TASKIDENTITYLINK"."GROUP_ID"IS'组编号';
"FIXFLOW_RUN_TASKIDENTITYLINK"."GROUP_TYPE"IS'组的类型(1.部门2.角色3.职务......)';
"FIXFLOW_RUN_TASKIDENTITYLINK"."TASKINSTANCE_ID"IS'关联任务编号';
"FIXFLOW_RUN_TASKIDENTITYLINK"."INCLUDE_EXCLUSION"IS'排除包含';
本发明采用统一任务框架,任务采用通用结构形成任务模板,所有的任务经处理成任务模板后注册到任务数据库中。本发明采用通过多种技术注册任务,能够让任务开打的时候继续在原来的系统中处理不需要登陆。本发明解决了可以在一个系统中查询统计的问题,还解决多数据库表联合查询的效率和难度问题。
以下具体说明统一任务框架中任务注册模块、任务获取模块、任务注销模块和任务数据库的实现过程。
以下为任务注册、删除、更新、设置处理者、查询的方法示例代码:
查询任务的时候有以下组合可以使用:
TaskQuery taskIsEnd();
TaskQuery category(String category);
TaskQuery taskNotEnd();
TaskQuery initiator(String initiator);
TaskQuery initiatorLike(String initiator);
TaskQuery taskId(String taskId);
TaskQuery taskName(String name);
TaskQuery businessKey(String business Key);
TaskQuery addTaskType(TaskInstance Type taskInstance Type);
TaskQuery taskNameLike(String nameLike);
TaskQuery taskDescription(String description);
TaskQuery taskDescriptionLike(String descriptionLike);
TaskQuery taskPriority(Integer priority);
TaskQuery taskMinPriority(Integer minPriority);
TaskQuery taskMaxPriority(Integer maxPriority);
TaskQuery taskAssignee(String assignee);
TaskQuery taskOwner(String owner);
TaskQuery taskUnnassigned();
TaskQuery taskC andidateUser(String candidate User);
TaskQuery taskInvolvedUser(String involved User);
TaskQuery taskCandidateGroup(Group To candidate Group);
TaskQuery processInstanceId(String processInstanceId);
TaskQuery executionId(String executionId);
TaskQuery taskC reatedOn(Date create Time);
TaskQuery taskCreatedBefore(Date before);
TaskQuery taskCreatedAfter(Date after);
TaskQuery taskDefinitionKey(String key);
TaskQuery taskDefinitionKeyLike(String keyLike);
TaskQuery processDefinitionKey(String process Definition Key);
TaskQuery processDefinitionId(String process DefinitionId);
TaskQuery process Definition Name(String process Definition Name);
TaskQuery dueDate(Date due Date);
TaskQuery dueBefore(Date due Date);
TaskQuery dueAfter(Date due Date);
TaskQuery assignee NotNull();
TaskQuery candidate NotNull();
//排序
TaskQuery orderBy TaskId();
TaskQuery orderBy TaskName();
TaskQuery orderBy TaskDescription();
TaskQuery orderBy TaskPriority();
TaskQuery orderBy TaskAssignee();
TaskQuery orderBy TaskCreateTime();
TaskQuery orderBy ProcessInstanceId();
TaskQuery orderBy ExecutionId();
TaskQuery orderBy DueDate();
TaskQuery orderBy EndTime();
查询组合好之后可以流程引擎根据所设置的查询参数拼接成sql语句到数据库进行查询。从系统通过向主系统中注册任务、删除任务、更新任务、设置处理者。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。

Claims (2)

1.一种异构系统间不同工作流进行任务处理的方法,其特征在于所述方法中主系统和从系统间预先构建统一任务框架,所述统一任务框架封装任务基本属性,并设置有任务注册 API 、任务获取 API 和任务注销 API API 包括 java 代码、 webservice 、和 tcp ,所述包括以下步骤:
1 )从系统将工作流中所有任务通过调用任务注册 API ,采用通用结构形成任务模板向统一任务框架进行注册,并提供相应从系统的任务系统表单 URL 以及单点登陆信息;( 2 )主系统向统一任务框架发送任务获取请求,然后通过调用任务获取 API 从统一任务框架中获取任务列表;( 3 )统一任务框架将任务列表传输给主系统,当主系统进行任务处理时,主系统通过统一任务框架中任务系统表单 URL 以及单点登陆信息发送到相应从系统进行逻辑处理;( 4 )当主系统任务处理完毕时,统一任务框架通过任务注销 API 进行任务注销。
2.根据权利要求 1 所述的方法,其特征在于所述统一任务框架包括任务注册模块、任务获取模块、任务注销模块和任务数据库,所述任务数据库设置有任务表和任务操作人表。
CN201210371393.8A 2012-09-28 2012-09-28 异构系统间不同工作流进行任务处理的方法 Active CN102903030B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210371393.8A CN102903030B (zh) 2012-09-28 2012-09-28 异构系统间不同工作流进行任务处理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210371393.8A CN102903030B (zh) 2012-09-28 2012-09-28 异构系统间不同工作流进行任务处理的方法

Publications (2)

Publication Number Publication Date
CN102903030A CN102903030A (zh) 2013-01-30
CN102903030B true CN102903030B (zh) 2016-10-12

Family

ID=47575248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210371393.8A Active CN102903030B (zh) 2012-09-28 2012-09-28 异构系统间不同工作流进行任务处理的方法

Country Status (1)

Country Link
CN (1) CN102903030B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770610A (zh) * 2008-12-31 2010-07-07 北京华电方胜软件技术有限公司 用以与不同目标工作流系统进行匹配的方法
CN101821709A (zh) * 2007-09-11 2010-09-01 西安姆贝拉有限公司 用于工作流生成、调度和/或执行的系统、方法和图形用户界面
CN102193823A (zh) * 2010-03-12 2011-09-21 微软公司 允许元编程的最优增量工作流执行
CN102236578A (zh) * 2010-05-07 2011-11-09 微软公司 分布式工作流执行

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101821709A (zh) * 2007-09-11 2010-09-01 西安姆贝拉有限公司 用于工作流生成、调度和/或执行的系统、方法和图形用户界面
CN101770610A (zh) * 2008-12-31 2010-07-07 北京华电方胜软件技术有限公司 用以与不同目标工作流系统进行匹配的方法
CN102193823A (zh) * 2010-03-12 2011-09-21 微软公司 允许元编程的最优增量工作流执行
CN102236578A (zh) * 2010-05-07 2011-11-09 微软公司 分布式工作流执行

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Web Service的面向服务的工作流管理系统研究与实现;梁玲;《万方学位论文数据库》;20070921;第33-41页 *

Also Published As

Publication number Publication date
CN102903030A (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
CN107451220B (zh) 一种分布式NewSQL数据库系统
CN106776780B (zh) 一种云环境中数据交换与共享方法及系统
CN100561475C (zh) 异构异源异平台数据的整合方法及交换方法
WO2018036324A1 (zh) 一种智慧城市信息共享的方法和装置
CN111625510A (zh) 一种基于云映射的多源数据共享系统及方法
CN101382893B (zh) 一种基于Web服务的构件在线组装方法
US20070061304A1 (en) Middleware and a method for implementing business logic using it
CN104243453A (zh) 基于属性和角色的访问控制方法及系统
CN109902117A (zh) 业务系统分析方法和装置
CN103914290A (zh) 一种操作命令处理方法及装置
US20200334314A1 (en) Emergency disposal support system
CN110298189A (zh) 数据库权限管理方法及设备
CN108228762B (zh) 用于配置主数据库通用模板的方法和系统
CN108154341A (zh) 基于数据流和工作流的统一调度平台及工作方法
CN114443015A (zh) 一种基于数据库元数据的增删改查服务接口生成方法
CN106708946A (zh) 一种通用api的表查询方法
CN105912723A (zh) 一种自定义字段的存储方法
CN107291938B (zh) 订单查询系统及方法
US7953756B1 (en) Unified high-performance database connectivity system and method
CN105677745A (zh) 一种通用高效自助数据查询系统及实现方法
CN102903030B (zh) 异构系统间不同工作流进行任务处理的方法
CN103092574B (zh) 一种基于递归自主式复杂任务分解系统及方法
CN105426431A (zh) 一种面向分布式资源站点的搜索系统及其实现方法
CN115686497A (zh) 业务开发数据管理方法、开发引擎、电子设备和存储介质
CN105550910A (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
C14 Grant of patent or utility model
GR01 Patent grant