CN112182000A - 一种流程引擎实现方法、装置、电子设备及可读存储介质 - Google Patents
一种流程引擎实现方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112182000A CN112182000A CN202011028396.2A CN202011028396A CN112182000A CN 112182000 A CN112182000 A CN 112182000A CN 202011028396 A CN202011028396 A CN 202011028396A CN 112182000 A CN112182000 A CN 112182000A
- Authority
- CN
- China
- Prior art keywords
- service
- user
- service instance
- editing
- instance
- 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
- 238000000034 method Methods 0.000 title claims abstract description 164
- 230000008569 process Effects 0.000 claims abstract description 91
- 238000004590 computer program Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 13
- 230000000694 effects Effects 0.000 description 12
- 230000009286 beneficial effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及计算机数据处理技术领域,具体涉及一种流程引擎实现方法、装置、电子设备及计算机可读存储介质。所述方法包括:接收用户输入的业务类型;为所述用户推荐所述业务类型下设的业务实例;接收所述用户对目标业务实例的选择;根据用户第一指令,编辑与所述目标业务实例匹配的业务表。本申请提供的流程引擎方案通过为用户配置业务实例和业务表的编辑权限,提高了流程引擎实现方案的灵活性和适应性。
Description
技术领域
本发明涉及计算机数据处理技术领域,具体涉及一种流程引擎实现方法、装置、电子设备及可读存储介质。
背景技术
在各行业推进互联网化进程中,很多线下业务逐渐迁移到线上,通过后台系统进行业务流程操作和控制,以提升业务运转效率。流程引擎是实现线下业务到线上迁移的必不可少的技术,流程引擎通过流程组件支持业务流程驱动功能,即能够自动驱动工作流程按照定义好的业务流程规则进行流程,通过流程引擎中运行时流程节点的状态反应各事项的处理结果。目前主流采用的流程引擎主要是Activiti,其在流程设计和运行中因为具有轻量化和易用性而使用广泛,但是在一些业务场景使用过程中会经常遇到需要根据业务变化调整或者新增流程的场景,而基于Activiti的系统需要根据业务场景重新开发整合代码逻辑,哪怕是一点点的角色或流程的修改都会给程序人员带来很大的工作量,存在着效率低,维护成本高的问题。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例公开了一种流程引擎实现方法,所述方法包括:
接收用户输入的业务类型;
为所述用户推荐所述业务类型下设的业务实例;
接收所述用户对目标业务实例的选择;
根据用户第一指令,编辑与所述目标业务实例匹配的业务表。
进一步,所述编辑与所述目标业务实例匹配的业务表包括:
在预存的业务表库中确定与所述目标业务实例匹配的业务表;
根据所述目标业务实例,编辑所述匹配的目标业务表的字段。
可选地,所述方法还包括:
如果所述业务实例无法满足用户需求,则接收用户第二指令;
根据接收的用户第二指令,创建新的业务实例;
可选地,在根据接收的用户第二指令,创建新的业务实例之后,所述方法还包括:
接收用户的第一指令,为所述新的业务实例编辑相匹配的业务表。
进一步地,所述编辑相匹配的业务表进一步包括:
创建与所述业务实例相匹配的业务表;或,
删除与所述业务实例不匹配的业务表,其中所述业务表存储于所述预存的业务表库中。
进一步地,所述编辑相匹配的业务表进一步包括:
编辑所述相匹配的业务表的内容;其中所述编辑包括:创建、删除或修改。
可选地,在根据用户第一指令编辑与所述目标业务实例匹配的业务表所述方法包括:
根据用户所属机构设置的业务流程,执行匹配有业务表的业务实例。
可选地,所述方法还包括:
接收用户选择的第一业务实例和第二业务实例;
为所述第一业务实例和第二业务实例配置同一目标线程资源;其中所述第一业务实例和第二业务实例分别配置有对应的第一业务表和第二业务表;
执行所述目标线程资源处理所述第一业务实例和第二业务实例。
可选地,所述方法还包括:
接收用户对业务实例执行流程中参与角色的自定义编辑。
可选地,所述方法还包括:
将业务实例执行结果反馈至用户;
接收用户对根据执行结果进行的操作指令。
另一方面本申请实施例提供了一种流程引擎实现装置,所述装置包括:接口模块、推荐模块和编辑模块,其中,
所述接口模块,用于接收用户输入的业务类型;
所述推荐模块,用于为所述用户推荐所述业务类型下设的业务实例;
所述接口模块,还用于接收所述用户对目标业务实例的选择;
所述编辑模块,用于根据用户第一指令,编辑与所述目标业务实例匹配的业务表。
进一步地,所述装置还包括存储模块和确定模块,其中,
所述存储模块,用于存储业务表库;
所述确定模块,用于在预存的业务表库中确定与所述目标业务实例匹配的业务表;
所述编辑模块,用于根据所述目标业务实例,编辑所述匹配的目标业务表的字段。
可选地,所述接口模块还用于如果所述业务实例无法满足用户需求,则接收用户第二指令;所述编辑模块,还用于根据接收的用户第二指令,创建新的业务实例。
第三方面,本申请实施例提供了一种电子设备,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行上述任一实施例中所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。
本申请实施例提供的流程引擎实现方案,接收用户输入的业务类型;为所述用户推荐所述业务类型下设的业务实例;接收所述用户对目标业务实例的选择;根据用户第一指令,编辑与所述目标业务实例匹配的业务表。本申请实施例提供的技术方案带来的有益效果是至少包括以下之一:
(1)充分利用了流程框架Activiti的优点,提出了适用于大型单位后勤管理的自由流程信息系统设计流程框架、系统重要接口、关键逻辑代码和两类数据库结合的流程引擎实现方法。
(2)本申请的流程引擎实现方案支持多个流程同时并行进行,或者多个流程串行运行,并且支持针对不同的业务类型根据需求自由添加业务表和字段。
(3)本身的流程引擎实现方案不仅实用、灵活和高效,而且最大限度地支持业务工作和减少研发人员的工作量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种流程引擎实现方法的流程示意图;
图2为本申请实施例提供的一种流程引擎实现装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
此外应理解,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c可以是单个,也可以是多个。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
目前现有技术中的流程引擎实现方案除了如背景技术中介绍的存在着灵活性差问题,还有一种基于角色的流程引擎实现方案,可配置的并行流转引擎方法,通过对操作步骤属性的抽象,基于配置化的定义和动作流转方法支持业务流程并行处理以提高流程配置灵活性,降低业务逻辑依赖,但是此方案在实际业务场景还是会遇到任务状态管理混乱、任务详情不能根据流程类型自动匹配对应模板的问题,需要重复开发测试,后期带来较大运维压力。基于此,本发明的以下实施例就是提供一种流程引擎实现方法以解决上述至少之一的缺陷。
为了更清楚地介绍本申请的技术方案,以下介绍一些下述实施例可能涉及到的概念、术语或装置,以帮助理解本申请公开的流程引擎实现方案:
Activiti核心是BPMN 2.0的流程引擎,全称为Business Process Model andNotation,由OMG组织进行维护,2011年1月份发布了其2.0的正式版。BPMN 2.0对比于第一个版本,其最重要的变化在于其定义了流程的元模型和执行语义,即它自己解决了存储、交换和执行的问题。这代表BPMN 2.0流程定义模型不仅仅可以在任何兼容BPMN 2.0的引擎中执行,而且也可以在图形编辑器间交换。作为一个标准,BPMN 2.0统一了工作流社区。
Activiti流程引擎重点关注在系统开发的易用性和轻量性上。每一项BPM业务功能Activiti流程引擎都以服务的形式提供给开发人员。通过使用这些服务,开发人员能够构建出功能丰富、轻便且高效的BPM应用程序。
1、Activiti关键对象包括:
(1)Deployment:流程部署对象,部署一个流程时创建。
(2)Process Definitions:流程定义,部署成功后自动创建。
(3)Process Instances:流程实例,启动流程时创建。
(4)Task:任务,在Activiti中的Task仅指有角色参与的任务,即定义中的UserTask。
(5)Execution:执行对象,流程实例和流程执行中的所有节点都是Execution,如User Task、Service Task等。
2、Activiti服务组件介绍
Process Engine是Activiti系统的核心接口,七类基础服务接口通过ProcessEngine获取,这些服务接口分别为:
(1)Repository Service:流程资源服务的接口,主要用于对流程定义的部署、查询和删除操。新流程的部署使用create Deployment().add Resource XXX().deploy()方法;已部署流程的查询使用create Deployment Query()附加查询条件的方式获取;另外可以使用delete Deployment和delete Deployment Cascade方法进行流程的删除或级联删除。
(2)Task Service:任务服务接口,该接口暴露了管理人机交互任务的操作,如任务领取(claiming)、任务完成(completing)和任务指派(assigning),还包括对任务的创建、查询、保存、删除等。
(3)Runtime Service:运行时服务主要用于启动或查询流程实例,以及流程变量、当前激活状态活动的查询、流程实例的删除等。流程在运行过程中所产生的东西都可以使用该接口进行相关处理。
(4)History Service:流程历史的服务接口。提供对历史流程实例、历史任务的查询和删除操作,从提供的API来看,历史流程的查询其提供了finished和unfinished流程的查询,也就是说,History Service提供了对已完成和当前正在执行流程的活动/任务查询,这一点似乎与runtime Service提供的查询有些冲突,但其实是有差别的,运行时的信息仅包含任意时刻活动的实际运行状态信息(是从流程运行执行性能上考虑的),而历史信息是对已经固化的信息做简单查询而优化的,其所持有的对象是不同的。
(5)Identity Service:用户、组管理服务接口,用于管理Group、User的增删改查,并维护Membership,涉及到的API有new User、new Group、save User、save Group、createMembership以及相关的delete XXX方法。
(6)Form Service:表单服务接口用于访问表单数据和用于访问在启动新的流程实例时或完成任务时所需的渲染后的表单,提供UI界面辅助用户填写相关值以保存至流程变量。该服务在实际业务应用中并不常用,属于引擎的非核心服务。
(7)Management Service:提供流程管理和控制操作的接口服务,和业务流程的运行没有关联关系,比如查询数据库本身的内容、Activiti的版本及序列生成ID规则等,属于引擎的非核心服务。
图1示出了本申请实施例提供的一种流程引擎实现的流程示意图,如图1所示,该方法主要可以包括:
S101、接收用户输入的业务类型;
S102、为所述用户推荐所述业务类型下设的业务实例;
S103、接收所述用户对目标业务实例的选择;
S104、根据用户第一指令,编辑与所述目标业务实例匹配的业务表。
进一步,所述编辑与所述目标业务实例匹配的业务表包括:
在预存的业务表库中确定与所述目标业务实例匹配的业务表;
根据所述目标业务实例,编辑所述匹配的目标业务表的字段。
在可选实施例中,所述方法还包括:如果所述业务实例无法满足用户需求,则接收用户第二指令;根据接收的用户第二指令,创建新的业务实例;在可选实施例中,所述方法还包括:接收用户的第一指令,为所述新的业务实例编辑相匹配的业务表。例如,当用户需要对已审批后的请假申请因实际没有享用而需要进行销假,但是所述流程系统中的请假业务类型中没有销假业务实例,则在流程系统中为用户开设自定义编辑业务实例的接口,通过该接口用户可以创建销假业务实例,并一同创建销假业务实例的业务表,将创建的销假业务实例和业务表存储在MongoDB中,业务表中列出了请销假需要的主要字段。
在另一可选实施例中,如果所述流程系统中的请假业务类型中没有销假业务实例,但是预存的业务表库中包括有可以与销假实例相匹配的业务表,那么可以在创建销假业务实例后,将业务表库中与销假业务实例相匹配的业务表单关联至新创建的销假实例即可。
可选地所述编辑相匹配的业务表进一步包括:除了创建与所述业务实例相匹配的业务表;还包括删除与所述业务实例不匹配的业务表,其中所述业务表存储于所述预存的业务表库中。
进一步地,所述编辑相匹配的业务表进一步包括:编辑所述相匹配的业务表的内容;其中所述编辑包括:创建、删除或修改,即接收用户根据业务需要对业务表内容的自由编辑,包括修改、创建和删除对应字段。在基Activiti流程引擎进行所述方案实现时流程可以为当用户添加了一个新业务表时,关系型表free_bt会记录下该表的相关信息,当用户对新表字段进行添加或修改时,关系型表free_nr又会对相应字段信息进行登记。在前端配合的情况下,后端可以自如地添加修改表及表的字段结构。
可选地,在根据用户第一指令编辑与所述目标业务实例匹配的业务表所述方法包括:
根据用户所属机构设置的业务流程,执行匹配有业务表的业务实例。即在用户编辑完相应的业务表,并选择好业务实例后按照用户单位流程系统设定好的流程运行业务实例线程。
在可选实施例中,所述方法还包括:接收用户选择的第一业务实例和第二业务实例;为所述第一业务实例和第二业务实例配置同一目标线程资源;其中所述第一业务实例和第二业务实例分别配置有对应的第一业务表和第二业务表;执行所述目标线程资源处理所述第一业务实例和第二业务实例。即在某个业务实例流程尚未结束时,用户需要启动其他业务实例流程并在其中流转时,例如在用户请假的同时需要申请派车送站,那么选择或创建请假和派车两个业务表,将这个业务表分别关联至请假业务实例和派车业务实例后,为请假业务实例和派车业务实例配置同一个线程资源,那么后台会将这个业务实例视作是同一个流程的扩展,流程实例和id无需变化,只需变换相应业务表的对应关系,让携带新业务表的流程继续在自由流程框架中流转,直至结束,后再切换回前一流程对应的业务表继续流转。当然,也可以做到两个业务表不切换,让它们同时流转,以利于后一流程处理人更加直观方便知悉相关情况。
在可选实施例中所述流程引擎实现方法还包括:接收用户对业务实例执行流程中参与角色的自定义编辑。例如,用户可填写相应业务申请表单后手动指定呈批对象,流程会自动流转到该审批对象。审批对象完成相应批示后,既可以继续呈批到更高级的审批人,也可以返回申请人修改申请。如果是继续向上呈批,将循环前述手动指定呈批对象的步骤;如果是返回申请人修改,修改后可以由用户(申请人)自行决定是否重新呈批。最终审批人完成审批意见后可直接返回申请人确认,如果申请人认为工作完成则选择结束流程,如果认为流程还需其他人员协助完成,还可继续流转到下一审批人,直至任务完成后再由申请人结束。相较传统流程引擎实现的系统中常常因事先画好复杂工作流程图,写死逻辑代码,一旦人员机构发生变化带来轻微的修改,都给程序员带来大量的工作,而本申请实施例不指定流程流转的下一个人、允许用户即申请人在业务流程中自定义流程各节点参与的角色和人员,提高了流程引擎实现方案的适用性和灵活性。
如上述实施例所述,在优选实施例中所述方法还包括:将业务实例执行结果反馈至用户,接收用户对根据执行结果进行的操作指令。
基于图1所示的流程引擎实现方法,另一方面本申请实施例提供了一种流程引擎实现装置,如图2所示,装置可以包括:201接口模块、202推荐模块和203编辑模块,其中,
所述201接口模块,用于接收用户输入的业务类型;
所述202推荐模块,用于为所述用户推荐所述业务类型下设的业务实例;
所述201接口模块,还用于接收所述用户对目标业务实例的选择;
所述203编辑模块,用于根据用户第一指令,编辑与所述目标业务实例匹配的业务表。
进一步地,所述装置还包括存储模块和确定模块,其中,
所述存储模块,用于存储业务表库;
所述确定模块,用于在预存的业务表库中确定与所述目标业务实例匹配的业务表;
所述编辑模块,用于根据所述目标业务实例,编辑所述匹配的目标业务表的字段。
可选地,所述接口模块还用于如果所述业务实例无法满足用户需求,则接收用户第二指令;所述编辑模块,还用于根据接收的用户第二指令,创建新的业务实例。
可以理解的是,本实施例中的流程引擎实现的上述各组成设备具有实现图1中所示的实施例中的方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或装置。上述模块和装置可以是软件和/或硬件,上述各模块和装置可以单独实现,也可以多个模块和装置集成实现。对于上述各模块和装置的功能描述具体可以参见图1中所示实施例中的方法的对应描述,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
可以理解的是,本发明实施例示意的结构并不构成对流程引擎实现装置的具体结构的具体限定。在本申请另一些实施例中,流程引擎实现装置可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请实施例提供了一种电子设备,包括处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的流程引擎实现方法。
作为一个示例,图3示出了本申请实施例所适用的一种电子设备的结构示意图,如图3所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个。可以理解的是,本发明实施例示意的结构并不构成对电子设备2000的具体结构的具体限定。在本申请另一些实施例中,电子设备2000可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实。可选地,电子设备还可以包括显示屏2005,用于显示图像,或需要时接收用户的操作指令。
其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。
处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
处理器2001也可以包括一个或多个处理单元,例如:处理器2001可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphicsprocessingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备2000的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器2001中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器2001中的存储器为高速缓冲存储器。该存储器可以保存处理器2001刚用过或循环使用的指令或数据。如果处理器2001需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器2001的等待时间,因而提高了系统的效率。
处理器2001可以运行本申请实施例提供的流程引擎实现方法,以便于降低用户的操作复杂度、提高终端设备的智能化程度,提升用户的体验。处理器2001可以包括不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的流程引擎实现方法,比如流程引擎实现方法中部分算法由CPU执行,另一部分算法由GPU执行,以得到较快的处理效率。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘),也可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS),或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的流程引擎实现方法。
存储器2003可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器2001通过运行存储在存储器2003的指令,从而执行电子设备2000的各种功能应用以及数据处理。存储器2003可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序的代码等。存储数据区可存储电子设备2000使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。
存储器2003还可以存储本申请实施例提供的流程引擎实现方法对应的一个或多个计算机程序。该一个或多个计算机程序被存储在上述存储器2003中并被配置为被该一个或多个处理器2001执行,该一个或多个计算机程序包括指令,上述指令可以用于执行上述相应实施例中的各个步骤。
当然,本申请实施例提供的流程引擎实现方法的代码还可以存储在外部存储器中。这种情况下,处理器2001可以通过外部存储器接口运行存储在外部存储器中的流程引擎实现方法的代码,处理器2001可以控制运行流程引擎实现流程。
显示屏2005包括显示面板。显示面板可以采用液晶显示屏(liquid crystaldisplay,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备2000可以包括1个或N个显示屏2005,N为大于1的正整数。显示屏2005可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical userinterface,GUI)。例如,显示屏2005可以显示照片、视频、网页、或者文件等。
本申请实施例提供的电子设备,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的流程引擎实现方法。
本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的方法。本申请实施例提供的计算机程序产品,适用于上述方法任一实施例,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请实施例提供的流程引擎实现方案,包括接收用户输入的业务类型;为所述用户推荐所述业务类型下设的业务实例;接收所述用户对目标业务实例的选择;根据用户第一指令,编辑与所述目标业务实例匹配的业务表。本申请实施例所述的流程引擎方案通过不自动指定流程流转的下一人,由用户根据单位线下实际工作的流程自行指定下一人,有利于适应单位组织人员的变化;通过不绑定流程流转的业务表,而是由用户选择业务表,这样利于流程与业务表独立出来提高流程引擎适应不同变化;通过给予申请人充分自主权,流程形成闭环,保证流程由申请人发起,最后由申请人结束,符合信息流程闭环的要求,申请当事人可及时充分地知悉办事过程,能起到一定的监督作用。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以丢弃,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,还可以做出若干改进和润饰,这些变化、替换、改进和润饰也应视为都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种流程引擎实现方法,其特征在于,所述方法包括:
接收用户输入的业务类型;
为所述用户推荐所述业务类型下设的业务实例;
接收所述用户对目标业务实例的选择;
根据用户第一指令,编辑与所述目标业务实例匹配的业务表。
2.根据权利要求1所述的流程引擎实现方法,其特征在于,所述编辑与所述目标业务实例匹配的业务表包括:
在预存的业务表库中确定与所述目标业务实例匹配的业务表;
根据所述目标业务实例,编辑所述匹配的目标业务表的字段。
3.根据权利要求1或2所述的流程引擎实现方法,其特征在于,所述方法还包括:
如果所述业务实例无法满足用户需求,则接收用户第二指令;
根据接收的用户第二指令,创建新的业务实例。
4.根据权利要求3所述的流程引擎实现方法,其特征在于,在根据接收的用户第二指令,创建新的业务实例之后,所述方法还包括:
接收用户的第一指令,为所述新的业务实例编辑相匹配的业务表。
5.根据权利要求4所述的流程引擎实现方法,其特征在于,所述编辑相匹配的业务表进一步包括:
创建与所述业务实例相匹配的业务表;或,
删除与所述业务实例不匹配的业务表,其中所述业务表存储于所述预存的业务表库中。
6.根据权利要求4所述的流程引擎实现方法,其特征在于,所述编辑相匹配的业务表进一步包括:
编辑所述相匹配的业务表的内容;其中所述编辑包括:创建、删除或修改。
7.根据权利要求1或6所述的流程引擎实现方法,其特征在于,在根据用户第一指令编辑与所述目标业务实例匹配的业务表所述方法包括:
根据用户所属机构设置的业务流程,执行匹配有业务表的业务实例。
8.根据权利要求7所述的流程引擎实现方法,其特征在于,所述方法还包括:
接收用户选择的第一业务实例和第二业务实例;
为所述第一业务实例和第二业务实例配置同一目标线程资源;其中所述第一业务实例和第二业务实例分别配置有对应的第一业务表和第二业务表;
执行所述目标线程资源处理所述第一业务实例和第二业务实例。
9.根据权利要求1或8所述的流程引擎实现方案,其特征在于,所述方法还包括:
接收用户对业务实例执行流程中参与角色的自定义编辑。
10.根据权利要求9所述的流程引擎实现方法,其特征在于,所述方法还包括:
将业务实例执行结果反馈至用户;
接收用户对根据执行结果进行的操作指令。
11.一种流程引擎实现装置,其特征在于,所述装置包括:接口模块、推荐模块和编辑模块,其中,
所述接口模块,用于接收用户输入的业务类型;
所述推荐模块,用于为所述用户推荐所述业务类型下设的业务实例;
所述接口模块,还用于接收所述用户对目标业务实例的选择;
所述编辑模块,用于根据用户第一指令,编辑与所述目标业务实例匹配的业务表。
12.根据权利要求11所述的流程引擎实现装置,其特征在于,所述装置还包括存储模块和确定模块,其中,
所述存储模块,用于存储业务表库;
所述确定模块,用于在预存的业务表库中确定与所述目标业务实例匹配的业务表;
所述编辑模块,用于根据所述目标业务实例,编辑所述匹配的目标业务表的字段。
13.根据权利要求12所述的流程引擎实现装置,其特征在于,
所述接口模块还用于如果所述业务实例无法满足用户需求,则接收用户第二指令;
所述编辑模块,还用于根据接收的用户第二指令,创建新的业务实例。
14.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行权利要求1-10中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011028396.2A CN112182000A (zh) | 2020-09-26 | 2020-09-26 | 一种流程引擎实现方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011028396.2A CN112182000A (zh) | 2020-09-26 | 2020-09-26 | 一种流程引擎实现方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112182000A true CN112182000A (zh) | 2021-01-05 |
Family
ID=73943556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011028396.2A Pending CN112182000A (zh) | 2020-09-26 | 2020-09-26 | 一种流程引擎实现方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182000A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882699A (zh) * | 2021-02-09 | 2021-06-01 | 成都新希望金融信息有限公司 | 基于流程配置引擎的业务处理方法、装置、设备及介质 |
CN112925630A (zh) * | 2021-03-31 | 2021-06-08 | 第四范式(北京)技术有限公司 | 人工智能任务的提交管理方法、装置、设备及介质 |
CN113342496A (zh) * | 2021-06-24 | 2021-09-03 | 中国农业银行股份有限公司 | 单实例进程切换方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239701A1 (en) * | 2011-03-14 | 2012-09-20 | Oracle International Corporation | System and method for creating and managing business objects |
CN106528066A (zh) * | 2015-09-15 | 2017-03-22 | 华为技术有限公司 | 一种业务流程运行方法及装置 |
CN107589965A (zh) * | 2017-08-18 | 2018-01-16 | 深圳怡化电脑股份有限公司 | 一种软件开发方法及装置 |
CN107886238A (zh) * | 2017-11-09 | 2018-04-06 | 金航数码科技有限责任公司 | 一种基于海量数据分析的业务流程管理系统及方法 |
-
2020
- 2020-09-26 CN CN202011028396.2A patent/CN112182000A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239701A1 (en) * | 2011-03-14 | 2012-09-20 | Oracle International Corporation | System and method for creating and managing business objects |
CN106528066A (zh) * | 2015-09-15 | 2017-03-22 | 华为技术有限公司 | 一种业务流程运行方法及装置 |
CN107589965A (zh) * | 2017-08-18 | 2018-01-16 | 深圳怡化电脑股份有限公司 | 一种软件开发方法及装置 |
CN107886238A (zh) * | 2017-11-09 | 2018-04-06 | 金航数码科技有限责任公司 | 一种基于海量数据分析的业务流程管理系统及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882699A (zh) * | 2021-02-09 | 2021-06-01 | 成都新希望金融信息有限公司 | 基于流程配置引擎的业务处理方法、装置、设备及介质 |
CN112882699B (zh) * | 2021-02-09 | 2024-05-07 | 成都新希望金融信息有限公司 | 基于流程配置引擎的业务处理方法、装置、设备及介质 |
CN112925630A (zh) * | 2021-03-31 | 2021-06-08 | 第四范式(北京)技术有限公司 | 人工智能任务的提交管理方法、装置、设备及介质 |
CN113342496A (zh) * | 2021-06-24 | 2021-09-03 | 中国农业银行股份有限公司 | 单实例进程切换方法、系统及存储介质 |
CN113342496B (zh) * | 2021-06-24 | 2023-11-21 | 中国农业银行股份有限公司 | 单实例进程切换方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182000A (zh) | 一种流程引擎实现方法、装置、电子设备及可读存储介质 | |
JP6223569B2 (ja) | ビジネスフローをスケジュールするためのコンピュータ装置、方法及び装置 | |
US10331666B1 (en) | Apparatus and method for parallel processing of a query | |
CN112668295B (zh) | 一种基于自定义表单和Activiti工作流的管理系统及方法 | |
CN106484394B (zh) | 一种双引擎快速软件开发系统 | |
US20200065313A1 (en) | Extensible content object metadata | |
CN107679832A (zh) | 任务管理方法、装置和服务器 | |
CN112287015B (zh) | 画像生成系统及其方法、电子设备及存储介质 | |
WO2020215752A1 (zh) | 图计算方法及装置 | |
CN112764911A (zh) | 一种任务调度方法、装置、电子设备及可读存储介质 | |
CN112800370A (zh) | 业务单据的处理方法、装置、计算机设备和存储介质 | |
US7836457B2 (en) | Hybrid contextual floor plans for object instances | |
US20230351145A1 (en) | Pipelining and parallelizing graph execution method for neural network model computation and apparatus thereof | |
CN113094125B (zh) | 业务流程处理方法、装置、服务器及存储介质 | |
US9411555B2 (en) | Systems and methods for creating context sensitive graph topologies based on multidimensional context information | |
CN112486807A (zh) | 一种压力测试方法、装置、电子设备和可读存储介质 | |
CN110908644A (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
CN115964072A (zh) | 一种基于Flowable流程引擎开发的工作流管理系统 | |
WO2022134717A1 (zh) | 数据驱动的系统功能加载方法、设备及存储介质 | |
CN113535684B (zh) | 一种基于Activiti的自主指挥控制方法 | |
CN113157268B (zh) | 一种流程引擎与物联网相结合的设备状态处理系统 | |
JP2990286B2 (ja) | マルチスレッド環境の計算機システム | |
CN116185381B (zh) | 基于微服务架构的云原生低代码构建方法、系统及应用 | |
CN117492721B (zh) | 一种应用于建筑数字化信息系统的通用快速开发方法 | |
US20220270122A1 (en) | Information delivery method, apparatus, and device, and computer-readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |