CN106600149B - 流程解析方法及装置 - Google Patents
流程解析方法及装置 Download PDFInfo
- Publication number
- CN106600149B CN106600149B CN201611169044.2A CN201611169044A CN106600149B CN 106600149 B CN106600149 B CN 106600149B CN 201611169044 A CN201611169044 A CN 201611169044A CN 106600149 B CN106600149 B CN 106600149B
- Authority
- CN
- China
- Prior art keywords
- analysis
- instance object
- flow
- state
- process 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.)
- Active
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
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种流程解析方法及装置,涉及数据处理技术领域,可以减少开发工作量和成本,可以降低维护成本。所述方法包括:当接收到对流程模板的流程解析指令时,对所述流程解析指令进行分析;根据分析结果,确定相应的流程分析模式和加载需要处理的流程实例对象,不同的流程分析模式分别对应不同的业务逻辑功能;根据所述流程分析模式,对所述流程实例对象进行状态转换;对状态转换后的流程实例对象进行处理,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例。本发明适用于流程解析。
Description
技术领域
本发明涉及一种数据处理技术领域,特别是涉及一种流程解析方法及装置。
背景技术
随着企业的不断发展,业务流程会越来越多、越来越复杂。为了方便业务流程管理,可以定义相应的流程模板进行管理,并且可以基于多种行业标准定义不同的流程模板,进而满足不同的业务需求。流程模板在运行期的过程中会产生多个流程实例,例如,对于公司员工请假的流程模板,每位员工通过该流程模板请假时会产生各自对应的流程实例。为了满足对这些流程实例进行统计管理,需要对流程模板进行解析,得到这些流程实例。
目前,为了保持兼容性,定义的流程模板需要支持业界的多套流程模板技术规范语言,如XPDL(XML Process Definition Language,XML流程定义语言),BPEL(BusinessProcess Execution Language,业务流程执行语言)、BPMN(Business Process ModelingNotation,业务流程建模与标注)等技术规范语言,这些技术规范语言之间具有差异性,因此针对每套流程模板技术规范语言,可以分别编写各自对应的流程解析引擎进行流程解析,得到具体地流程实例。
然而,这样需要编写多套流程解析引擎,会导致开发工作量和成本过高,并且当需要进行相应维护时,需要对多套流程解析引擎进行测试更新,进而会造成维护工作量增长,维护成本高的问题。
发明内容
有鉴于此,本发明提供了一种流程解析方法及装置,主要目的在于可以减少开发工作量和成本,可以降低维护成本。
依据本发明一个方面,提供了一种流程解析方法,该方法包括:
当接收到对流程模板的流程解析指令时,对所述流程解析指令进行分析;
根据分析结果,确定相应的流程分析模式和加载需要处理的流程实例对象,不同的流程分析模式分别对应不同的业务逻辑功能;
根据所述流程分析模式,对所述流程实例对象进行状态转换;
对状态转换后的流程实例对象进行处理,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例。
具体地,所述对状态转换后的流程实例对象进行处理,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例,具体包括:
对状态转换后的流程实例对象进行赋值和/或存取处理;
将处理后的流程实例对象进行转换,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例。
具体地,所述根据所述流程分析模式,对所述流程实例对象进行状态转换,具体包括:
根据所述流程分析模式,对所述流程实例对象进行状态转换规则校验;
若校验通过,则对所述流程实例对象进行状态转换。
进一步地,所述根据所述流程分析模式,对所述流程实例对象进行状态转换规则校验之后,所述方法还包括:
检测所述流程实例对象对应的目标节点是否存在关联状态校验;
若存在,则通过进行关联状态校验,确定所述目标节点对应的新流程分析模式,以便根据所述新流程分析模式,对所述目标节点进行状态转换。
具体地,若所述流程分析模式为回退模式,则所述根据所述流程分析模式,对所述流程实例对象进行状态转换,具体包括:
将所述流程实例对象对应的目标节点状态由完成态转换为运行态,以及将所述流程实例对象对应的源节点状态由运行态转换为终止态,并更新所述流程实例对象对应的流程状态。
进一步地,所述根据所述流程分析模式,对所述流程实例对象进行状态转换之前,所述方法还包括:
根据所述流程分析模式,检测所述流程实例对象对应的源节点到达目标节点是否符合预设条件;
若不符合,则停止对所述流程模板进行流程解析;
所述根据所述流程分析模式,对所述流程实例对象进行状态转换,具体包括:
若符合,则根据所述流程分析模式,对所述流程实例对象进行状态转换。
依据本发明另一个方面,提供了一种流程解析装置,该装置包括:
分析单元,用于当接收到对流程模板的流程解析指令时,对所述流程解析指令进行分析;
确定单元,用于根据所述分析单元分析得到的分析结果,确定相应的流程分析模式,不同的流程分析模式分别对应不同的业务逻辑功能;
加载单元,用于根据所述分析单元分析得到的分析结果,加载需要处理的流程实例对象;
转换单元,用于根据所述确定单元确定的流程分析模式,对所述加载单元加载的流程实例对象进行状态转换;
处理单元,用于对经过所述转换单元状态转换后的流程实例对象进行处理,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例。
具体地,所述处理单元包括:
处理模块,用于对状态转换后的流程实例对象进行赋值和/或存取处理;
转换模块,用于将所述处理模块处理后的流程实例对象进行转换,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例。
具体地,所述转换单元包括:
校验模块,用于根据所述流程分析模式,对所述流程实例对象进行状态转换规则校验;
转换模块,用于若所述校验模块校验通过,则对所述流程实例对象进行状态转换。
具体地,所述检验模块,还用于检测所述流程实例对象对应的目标节点是否存在关联状态校验;
若存在,则通过进行关联状态校验,确定所述目标节点对应的新流程分析模式,以便根据所述新流程分析模式,对所述目标节点进行状态转换。
具体地,所述转换单元,具体用于若所述流程分析模式为回退模式,将所述流程实例对象对应的目标节点状态由完成态转换为运行态,以及将所述流程实例对象对应的源节点状态由运行态转换为终止态,并更新所述流程实例对象对应的流程状态。
进一步地,所述装置还包括:检测单元和停止单元;
所述检测单元,用于根据所述流程分析模式,检测所述流程实例对象对应的源节点到达目标节点是否符合预设条件;
所述停止单元,用于若所述检测单元检测出所述流程实例对象对应的源节点到达目标节点不符合预设条件,则停止对所述流程模板进行流程解析;
所述转换单元,具体用于若所述检测单元检测出所述流程实例对象对应的源节点到达目标节点符合预设条件,则根据所述流程分析模式,对所述流程实例对象进行状态转换。
借由上述技术方案,本发明提供的一种流程解析方法及装置,与目前基于每套流程模板技术规范语言,分别编写各自对应的流程解析引擎进行流程解析的方式相比,本发明可以将流程模板模型的解析过程进行分解,将复杂的逻辑过程有效解耦,进而将不同流程模板技术规范语言间的同质性和差异性显著分离,从而基于每套流程模板技术规范语言实现的业务逻辑,可以通过统一的流程解析引擎进行流程解析,无需编写多套流程解析引擎,减少了开发工作量和成本,当需要进行相应维护时,无需对多套流程解析引擎进行测试更新,降低了维护成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种流程解析方法流程示意图;
图2示出了本发明实施例提供的另一种流程解析方法流程示意图;
图3示出了本发明实施例提供的一种流程解析实例示意图;
图4示出了本发明实施例提供的一种流程解析装置结构示意图;
图5示出了本发明实施例提供的另一种流程解析装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种流程解析方法,可以通过统一的流程解析引擎进行流程解析,可以减少开发工作量和成本,如图1所示,所述方法包括:
101、当接收到对流程模板的流程解析指令时,对流程解析指令进行分析。
例如,对流程解析指令进行分析可以得到当前到达流程模板的节点位置,以及当前需要解析的流程实例,以及需要处理的业务逻辑功能等信息。
对于本发明实施例的执行主体可以为针对流程模板进行流程解析的流程解析引擎或流程解析装置,通过该流程解析引擎或流程解析装置对流程模板进行解析,得到具体的流程实例。
102、根据分析结果,确定相应的流程分析模式和加载需要处理的流程实例对象。
其中,不同的流程分析模式分别对应不同的业务逻辑功能。业务逻辑功能可以为路由条件计算逻辑、顺序逻辑、回退逻辑、跳转逻辑、动态流逻辑等功能。相应的流程分析模式可以为路由条件计算模式、顺序模式、回退模式、跳转模式、动态流模式等。
在本发明实施例中,可以由技术人员根据不同的业务逻辑功能预先编写配置分别对应的流程分析模式,并可以将这些流程分析模式保存在预定的存储位置中,当接收到流程解析指令时,通过对该指令进行分析,可以得到需要的业务逻辑功能,进而根据该业务逻辑功能从该存储位置中查找出相应的流程分析模式。
例如,根据分析结果,确定当前到达流程模板中的第八步节点,并且需要跳转到第十步节点,即需要跳转逻辑功能,进而可以确定相应的流程分析模式为跳转模式,并加载相应的流程实例对象。
103、根据流程分析模式,对流程实例对象进行状态转换。
例如,流程分析模式为跳转模式,并且需要从流程模板中的第八步节点跳转到第十步节点,则将第八步节点的状态由运行态转换为完成态,并将第十步节点的状态由初始态转换为运行态。
104、对状态转换后的流程实例对象进行处理,得到与流程模板支持的流程模板技术规范语言对应的流程实例。
例如,在流程实例对象完成状态转换后,可以对该流程对象进行相应赋值,并依据该流程模板支持的流程模板技术规范语言进行转换,最终得到与该规范语言匹配的流程实例。
本发明实施例提供的一种流程解析方法,与目前基于每套流程模板技术规范语言,分别编写各自对应的流程解析引擎进行流程解析的方式相比,本发明实施例可以将流程模板模型的解析过程进行分解,将复杂的逻辑过程有效解耦,进而将不同流程模板技术规范语言间的同质性和差异性显著分离,从而基于每套流程模板技术规范语言实现的业务逻辑,可以通过统一的流程解析引擎进行流程解析,无需编写多套流程解析引擎,减少了开发工作量和成本,当需要进行相应维护时,无需对多套流程解析引擎进行测试更新,降低了维护成本。
为了更好的对上述图1所示的方法进行理解,作为对上述实施方式的细化和扩展,本发明实施例提供了另一种流程解析方法,如图2所示,所述方法包括:
201、当接收到对流程模板的流程解析指令时,对流程解析指令进行分析。
例如,对流程解析指令进行分析可以得到当前到达流程模板的哪个节点,以及当前需要解析哪个流程实例,以及需要处理哪些业务逻辑功能等信息。
在本发明实施例中,对于本发明实施例的执行主体流程解析引擎或流程解析装置中的处理逻辑可以由技术人员预先进行编写配置,该处理逻辑的核心思想可以为将流程解析引擎对流程模板模型的解析过程进行分解,具体可以抽离成三层处理逻辑,以降低流程解析引擎对流程模板技术规范语言的依赖。这三层处理逻辑具体分别为流程实例状态处理层、控制流程实例对象解析逻辑层、流程实例对象处理层。
其中,可以根据不同流程模板技术规范语言间的同质性设计流程实例状态处理层,在流程实例状态处理层中是可以不依赖于流程模板技术规范语言的,具体可以对接收到的流程解析指令进行分析,以及控制流程实例对象状态的转换等;对于控制流程实例对象解析逻辑层,可以根据不同流程模板技术规范语言间较易变的因素进行设计,在控制流程实例对象解析逻辑层中可以包含路由条件计算逻辑、顺序逻辑、选择逻辑、并发逻辑、回退逻辑、跳转逻辑、动态流逻辑等业务逻辑,需要说明的是,当后续需要添加新的业务逻辑或修改已保存的业务逻辑时,可以在这一层直接添加新的业务逻辑的代码程序或修改已保存的业务逻辑的代码程序,进而方便进行后续维护;最后对于流程实例对象处理层,可以根据不同流程模板技术规范语言进行设计,该流程实例对象处理层与流程模板技术规范语言紧密相连,在流程实例对象处理层中,可以对流程实例对象进行赋值、存储、加载等处理,得到流程模板支持的流程模板技术规范语言对应的流程实例内容。
基于上述抽离成的三层处理逻辑,步骤201的具体实现过程可以由流程实例状态处理层来执行完成。
对于本发明实施例,从流程实例对象处理层到控制流程实例对象解析逻辑层,再到流程实例状态处理层,是按照逻辑稳定性提高,对模型规范语言依赖逐层降低的顺序进行设计,进而通过对解析逻辑过程的分解,实现工作流引擎的核心逻辑独立。不同流程模板技术规范语言间的同质性和差异性显著分离,流转内核部分的实现趋于稳定,易变的部分有效隔离,可以大幅减少编程工作量,增加后续功能升级的可维护性,功能的升级维护、变更简单,规避变更对质量的影响,保障引擎程序质量、减少测试工作量。
202、根据分析结果,确定相应的流程分析模式和加载需要处理的流程实例对象。
在本发明实施例中,对于根据分析结果,确定相应的流程分析模式的步骤可以由控制流程实例对象解析逻辑层来执行完成,而加载需要处理的流程实例对象可以由流程实例对象处理层来执行完成。
例如,根据分析结果,确定当前到达流程模板中的第八步节点,并且需要回退到第二步节点,即需要回退逻辑功能,进而可以确定相应的流程分析模式为回退模式,并加载相应的流程实例对象。
203、根据流程分析模式,对流程实例对象进行状态转换。
在本发明实施例中,步骤203的具体实现过程可以由流程实例状态处理层来执行完成。
若所述流程分析模式为回退模式,则步骤203具体可以包括:将所述流程实例对象对应的目标节点状态由完成态转换为运行态,以及将所述流程实例对象对应的源节点状态由运行态转换为终止态,并更新所述流程实例对象对应的流程状态。其中,目标节点可以为在流程模板中当前需要回退到的节点,而源节点可以为在流程模板中当前已到达的节点。
例如,如图3所示,当流程分析模式为回退模式时,在此模式下,需要寻找目标节点,修改源节点和目标节点的状态,并且更新流程状态。
为了保证状态转换的准确性,步骤202具体还可以包括:根据所述流程分析模式,对所述流程实例对象进行状态转换规则校验;若校验通过,则对所述流程实例对象进行状态转换。其中,状态转换规则可以根据实际需求预先进行配置,例如,状态转换规则可以为流程模板中的第三步节点的状态不允许从运行态转换为废弃态或终止态,但允许从运行态转换为完成态,或从初始态转换为运行态。对于本发明实施例,在状态转换规则校验通过后才进行状态转换,可以保证流程实例对象的状态转换的准确性,可以满足业务需求。
在根据所述流程分析模式,对所述流程实例对象进行状态转换规则校验之后还可以包括:根据所述流程分析模式,检测所述流程实例对象对应的目标节点是否存在关联状态校验;若存在,则通过进行关联状态校验,确定所述目标节点对应的新流程分析模式,以便根据所述新流程分析模式,对所述目标节点进行状态转换,进而可以得到后续节点的流程实例,从而满足业务需求。而确定新流程分析模式的具体实现过程可以由控制流程实例对象解析逻辑层来执行完成。
例如,如图3所示,流程分析模式为回退模式,当在流程模板中由第五步节点回退到第二步节点时,检测第二步节点是否存在关联状态检验,若存在,则通过进行关联状态校验,得到第二步节点对应的新流程分析模式,具体可以为子流程模式,在此模式下,需要创建子流程实例对象,将这个子流程实例对象的状态由初始态转换为运行态,并进行相应赋值和转换,得到相应的流程实例。
进一步地,为了保证流程解析的准确性,满足业务需求的需要,在步骤203之前还可以包括:根据所述流程分析模式,检测所述流程实例对象对应的源节点到达目标节点是否符合预设条件;若不符合,则停止对所述流程模板进行流程解析,其中预设条件可以根据实际需求预先进行设定;步骤203具体可以包括:若符合,则根据所述流程分析模式,对所述流程实例对象进行状态转换。
例如,流程分析模式为回退模式,预设条件可以为流程模板中第五步节点不允许回退到第一步节点或第二步节点,但可以回退到第三步节点或第四步节点,此时如果流程实例对象对应的源节点正好是流程模板中的第五步节点,并且需要回退到第三步节点时,说明符合预设条件,接下来可以进行节点的状态转换,进而处理得到流程实例;如果需要回退到第二步节点时,说明不符合预设条件,则停止进行流程解析。
再例如,流程分析模式为跳转模式,预设条件可以为流程模板中第三步节点不允许跳转到第六步节点,但可以跳转到第四步节点或第五步节点,此时如果流程实例对象对应的源节点正好是流程模板中的第三步节点,并且需要跳转到第五步节点时,说明符合预设条件,接下来可以进行节点的状态转换,进而解析得到具体的流程实例;如果需要跳转到第六步节点时,说明不符合预设条件,则停止进行流程解析。
204、对状态转换后的流程实例对象进行赋值和/或存取处理。
205、将处理后的流程实例对象进行转换,得到与流程模板支持的流程模板技术规范语言对应的流程实例。
在本发明实施例中,步骤204和步骤205的具体实现过程可以由流程实例对象处理层来执行完成。
例如,在流程实例对象完成状态转换后,可以对该流程对象进行相应赋值和/或存取处理,并依据该流程模板支持的流程模板技术规范语言进行转换,最终得到与该规范语言匹配的流程实例。
本发明实施例提供的另一种流程解析方法,与目前基于每套流程模板技术规范语言,分别编写各自对应的流程解析引擎进行流程解析的方式相比,本发明实施例可以将流程模板模型的解析过程进行分解,将复杂的逻辑过程有效解耦,进而将不同流程模板技术规范语言间的同质性和差异性显著分离,从而基于每套流程模板技术规范语言实现的业务逻辑,可以通过统一的流程解析引擎进行流程解析,无需编写多套流程解析引擎,减少了开发工作量和成本,并且在状态转换规则校验通过后才进行状态转换,可以保证流程实例对象的状态转换的准确性。
进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种流程解析装置,如图4所示,所述装置包括:分析单元31、确定单元32、加载单元33、转换单元34、处理单元35。
所述分析单元31,可以用于当接收到对流程模板的流程解析指令时,对所述流程解析指令进行分析。所述分析单元31为本装置中进行指令分析的主要功能模块,当接收到流程解析指令时,触发工作。
所述确定单元32,可以用于根据所述分析单元31分析得到的分析结果,确定相应的流程分析模式,不同的流程分析模式分别对应不同的业务逻辑功能,业务逻辑功能可以为路由条件计算逻辑、顺序逻辑、回退逻辑、跳转逻辑、动态流逻辑等功能。相应的流程分析模式可以为路由条件计算模式、顺序模式、回退模式、跳转模式、动态流模式等。所述确定单元32为本装置中确定流程分析模式的主要功能模块。
所述加载单元33,可以用于根据所述分析单元31分析得到的分析结果,加载需要处理的流程实例对象。所述加载单元33为本装置中加载流程实例对象的主要功能模块。
所述转换单元34,可以用于根据所述确定单元32确定的流程分析模式,对所述加载单元33加载的流程实例对象进行状态转换。所述转换单元34为本装置中进行状态转换的主要功能模块。
所述处理单元35,用于对经过所述转换单元34状态转换后的流程实例对象进行处理,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例。所述处理单元35具体可以对状态转换后的流程实例对象进行赋值处理。例如,在流程实例对象完成状态转换后,可以对该流程对象进行相应赋值,并依据该流程模板支持的流程模板技术规范语言进行转换,最终得到与该规范语言匹配的流程实例。
需要说明的是,本发明实施例提供的一种流程解析装置所涉及各功能单元的其他相应描述,可以参考图1中的对应描述,在此不再赘述。
本发明实施例提供的一种流程解析装置,包括:分析单元、确定单元、加载单元、转换单元、处理单元等,与目前基于每套流程模板技术规范语言,分别编写各自对应的流程解析引擎进行流程解析的方式相比,本发明实施例可以将流程模板模型的解析过程进行分解,将复杂的逻辑过程有效解耦,进而将不同流程模板技术规范语言间的同质性和差异性显著分离,从而基于每套流程模板技术规范语言实现的业务逻辑,可以通过统一的流程解析引擎进行流程解析,无需编写多套流程解析引擎,减少了开发工作量和成本,当需要进行相应维护时,无需对多套流程解析引擎进行测试更新,降低了维护成本。
进一步地,作为图2所述方法的具体实现,本发明实施例提供了另一种流程解析装置,如图5所示,所述装置包括:分析单元41、确定单元42、加载单元43、转换单元44、处理单元45。
所述分析单元41,可以用于当接收到对流程模板的流程解析指令时,对所述流程解析指令进行分析。所述分析单元41为本装置中进行指令分析的主要功能模块,当接收到流程解析指令时,触发工作。
所述确定单元42,可以用于根据所述分析单元41分析得到的分析结果,确定相应的流程分析模式,不同的流程分析模式分别对应不同的业务逻辑功能。所述确定单元42为本装置中确定流程分析模式的主要功能模块。
所述加载单元43,可以用于根据所述分析单元41分析得到的分析结果,加载需要处理的流程实例对象。所述加载单元43为本装置中加载流程实例对象的主要功能模块。
所述转换单元44,可以用于根据所述确定单元42确定的流程分析模式,对所述加载单元43加载的流程实例对象进行状态转换。所述转换单元44为本装置中进行状态转换的主要功能模块。
所述处理单元45,用于对经过所述转换单元44状态转换后的流程实例对象进行处理,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例。所述处理单元45具体可以对状态转换后的流程实例对象进行赋值处理。
具体地,所述处理单元45包括:处理模块451、转换模块452。
所述处理模块451,可以用于对状态转换后的流程实例对象进行赋值和/或存取处理。
所述转换模块452,可以用于将所述处理模块451处理后的流程实例对象进行转换,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例。
具体地,所述转换单元44包括:校验模块441、转换模块442。
所述校验模块441,可以用于根据所述流程分析模式,对所述流程实例对象进行状态转换规则校验。
所述转换模块442,可以用于若所述校验模块441校验通过,则对所述流程实例对象进行状态转换。
所述检验模块441,还可以用于检测所述流程实例对象对应的目标节点是否存在关联状态校验;若存在,则通过进行关联状态校验,确定所述目标节点对应的新流程分析模式,以便根据所述新流程分析模式,对所述目标节点进行状态转换。
所述转换单元44,具体可以用于若所述流程分析模式为回退模式,将所述流程实例对象对应的目标节点状态由完成态转换为运行态,以及将所述流程实例对象对应的源节点状态由运行态转换为终止态,并更新所述流程实例对象对应的流程状态。
进一步地,为了保证流程解析的准确性,满足业务需求的需要,所述装置还包括:检测单元46、停止单元47。
所述检测单元46,可以用于根据所述流程分析模式,检测所述流程实例对象对应的源节点到达目标节点是否符合预设条件。
所述停止单元47,可以用于若所述检测单元46检测出所述流程实例对象对应的源节点到达目标节点不符合预设条件,则停止对所述流程模板进行流程解析。
所述转换单元44,具体还可以用于若所述检测单元46检测出所述流程实例对象对应的源节点到达目标节点符合预设条件,则根据所述流程分析模式,对所述流程实例对象进行状态转换。进而可以保证流程解析的准确性,满足业务需求的需要。
需要说明的是,本发明实施例提供的另一种流程解析装置所涉及各功能单元的其他相应描述,可以参考图2中的对应描述,在此不再赘述。
本发明实施例提供的一种流程解析装置,包括:分析单元、确定单元、加载单元、转换单元、处理单元、检测单元、停止单元等,与目前基于每套流程模板技术规范语言,分别编写各自对应的流程解析引擎进行流程解析的方式相比,本发明实施例可以将流程模板模型的解析过程进行分解,将复杂的逻辑过程有效解耦,进而将不同流程模板技术规范语言间的同质性和差异性显著分离,从而基于每套流程模板技术规范语言实现的业务逻辑,可以通过统一的流程解析引擎进行流程解析,无需编写多套流程解析引擎,减少了开发工作量和成本,并且在状态转换规则校验通过后才进行状态转换,可以保证流程实例对象的状态转换的准确性。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种流程解析方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种流程解析方法,其特征在于,包括:
当接收到对流程模板的流程解析指令时,对所述流程解析指令进行分析;
根据分析结果,确定相应的流程分析模式和加载需要处理的流程实例对象,不同的流程分析模式分别对应不同的业务逻辑功能;
根据所述流程分析模式,对所述流程实例对象进行状态转换;
对状态转换后的流程实例对象进行处理,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例;
所述根据所述流程分析模式,对所述流程实例对象进行状态转换,具体包括:
根据所述流程分析模式,对所述流程实例对象进行状态转换规则校验;
若校验通过,则对所述流程实例对象进行状态转换。
2.根据权利要求1所述的流程解析方法,其特征在于,所述对状态转换后的流程实例对象进行处理,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例,具体包括:
对状态转换后的流程实例对象进行赋值和/或存取处理;
将处理后的流程实例对象进行转换,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例。
3.根据权利要求1所述的流程解析方法,其特征在于,所述根据所述流程分析模式,对所述流程实例对象进行状态转换规则校验之后,所述方法还包括:
检测所述流程实例对象对应的目标节点是否存在关联状态校验;
若存在,则通过进行关联状态校验,确定所述目标节点对应的新流程分析模式,以便根据所述新流程分析模式,对所述目标节点进行状态转换。
4.根据权利要求1至3任一项所述的流程解析方法,其特征在于,若所述流程分析模式为回退模式,则所述根据所述流程分析模式,对所述流程实例对象进行状态转换,具体包括:
将所述流程实例对象对应的目标节点状态由完成态转换为运行态,以及将所述流程实例对象对应的源节点状态由运行态转换为终止态,并更新所述流程实例对象对应的流程状态。
5.根据权利要求1所述的流程解析方法,其特征在于,所述根据所述流程分析模式,对所述流程实例对象进行状态转换之前,所述方法还包括:
根据所述流程分析模式,检测所述流程实例对象对应的源节点到达目标节点是否符合预设条件;
若不符合,则停止对所述流程模板进行流程解析;
所述根据所述流程分析模式,对所述流程实例对象进行状态转换,具体包括:
若符合,则根据所述流程分析模式,对所述流程实例对象进行状态转换。
6.一种流程解析装置,其特征在于,包括:
分析单元,用于当接收到对流程模板的流程解析指令时,对所述流程解析指令进行分析;
确定单元,用于根据所述分析单元分析得到的分析结果,确定相应的流程分析模式,不同的流程分析模式分别对应不同的业务逻辑功能;
加载单元,用于根据所述分析单元分析得到的分析结果,加载需要处理的流程实例对象;
转换单元,用于根据所述确定单元确定的流程分析模式,对所述加载单元加载的流程实例对象进行状态转换;
处理单元,用于对经过所述转换单元状态转换后的流程实例对象进行处理,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例;
所述转换单元包括:
校验模块,用于根据所述流程分析模式,对所述流程实例对象进行状态转换规则校验;
转换模块,用于若所述校验模块校验通过,则对所述流程实例对象进行状态转换。
7.根据权利要求6所述的流程解析装置,其特征在于,所述处理单元包括:
处理模块,用于对状态转换后的流程实例对象进行赋值和/或存取处理;
转换模块,用于将所述处理模块处理后的流程实例对象进行转换,得到与所述流程模板支持的流程模板技术规范语言对应的流程实例。
8.根据权利要求6所述的流程解析装置,其特征在于,
所述校验模块,还用于检测所述流程实例对象对应的目标节点是否存在关联状态校验;
若存在,则通过进行关联状态校验,确定所述目标节点对应的新流程分析模式,以便根据所述新流程分析模式,对所述目标节点进行状态转换。
9.根据权利要求6至8任一项所述的流程解析装置,其特征在于,
所述转换单元,具体用于若所述流程分析模式为回退模式,将所述流程实例对象对应的目标节点状态由完成态转换为运行态,以及将所述流程实例对象对应的源节点状态由运行态转换为终止态,并更新所述流程实例对象对应的流程状态。
10.根据权利要求6所述的流程解析装置,其特征在于,所述装置还包括:检测单元和停止单元;
所述检测单元,用于根据所述流程分析模式,检测所述流程实例对象对应的源节点到达目标节点是否符合预设条件;
所述停止单元,用于若所述检测单元检测出所述流程实例对象对应的源节点到达目标节点不符合预设条件,则停止对所述流程模板进行流程解析;
所述转换单元,具体用于若所述检测单元检测出所述流程实例对象对应的源节点到达目标节点符合预设条件,则根据所述流程分析模式,对所述流程实例对象进行状态转换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611169044.2A CN106600149B (zh) | 2016-12-16 | 2016-12-16 | 流程解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611169044.2A CN106600149B (zh) | 2016-12-16 | 2016-12-16 | 流程解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106600149A CN106600149A (zh) | 2017-04-26 |
CN106600149B true CN106600149B (zh) | 2020-03-06 |
Family
ID=58600722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611169044.2A Active CN106600149B (zh) | 2016-12-16 | 2016-12-16 | 流程解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106600149B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109670664A (zh) * | 2018-09-11 | 2019-04-23 | 深圳平安财富宝投资咨询有限公司 | 基于工作流的流程实施方法、用户设备、存储介质及装置 |
CN111080250B (zh) * | 2019-12-10 | 2023-04-18 | 东软集团股份有限公司 | 流程回退补偿方法、装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065221A (zh) * | 2012-12-27 | 2013-04-24 | 北京仿真中心 | 基于bpel的多学科协同优化流程建模与调度的方法和*** |
CN107766456A (zh) * | 2017-09-27 | 2018-03-06 | 山东浪潮通软信息科技有限公司 | 基于企业年金***间文件交互的数据解析转换***及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030036940A1 (en) * | 2001-08-16 | 2003-02-20 | International Business Machines Corporation | Dynamic and adaptive definition of the evaluation sequence of transition conditions in workflow management systems |
US20140259019A1 (en) * | 2013-03-11 | 2014-09-11 | Kerry John Enright | Ten level enterprise architecture hierarchical extensions |
-
2016
- 2016-12-16 CN CN201611169044.2A patent/CN106600149B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065221A (zh) * | 2012-12-27 | 2013-04-24 | 北京仿真中心 | 基于bpel的多学科协同优化流程建模与调度的方法和*** |
CN107766456A (zh) * | 2017-09-27 | 2018-03-06 | 山东浪潮通软信息科技有限公司 | 基于企业年金***间文件交互的数据解析转换***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106600149A (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8549483B1 (en) | Engine for scalable software testing | |
CN111399853B (zh) | 机器学习模型与自定义算子的模板化部署方法 | |
CN108446190B (zh) | 接口测试方法及装置 | |
US20150378722A1 (en) | Enhanced compliance verification system | |
CN106506283B (zh) | 银行和企业对接***的业务测试方法和装置 | |
EP2546749A1 (en) | Method and system for test suite control | |
US20100121668A1 (en) | Automated compliance checking for process instance migration | |
CN106529304B (zh) | 一种安卓应用并发漏洞检测*** | |
CN105446874A (zh) | 一种资源配置文件的检测方法和装置 | |
CN104133768A (zh) | 一种程序代码复查方法和装置 | |
US20130014082A1 (en) | Method of configuring business logic supporting multi-tenancy | |
CN106600149B (zh) | 流程解析方法及装置 | |
CN111026080A (zh) | 控制器的硬件在环测试方法及装置 | |
Tierno et al. | Open issues for the automotive software testing | |
CN107122626A (zh) | 二代测序dna突变检测的生物信息学分析的方法及*** | |
KR102399597B1 (ko) | 인공지능을 활용한 고장형태 영향분석 자동화 시스템 | |
CN102004660A (zh) | 一种业务流程的实现方法及装置 | |
CN113886262A (zh) | 软件自动化测试方法、装置、计算机设备和存储介质 | |
CN103186384A (zh) | 一种面向业务组件的软件设计分析***及其使用方法 | |
Najid et al. | System engineering-based methodology to design reconfigurable manufacturing systems | |
CN117235527A (zh) | 端到端容器化的大数据模型构建方法、装置、设备及介质 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及*** | |
US20220206774A1 (en) | Systems and methods for building and deploying machine learning applications | |
CN107967213B (zh) | 一种航天软件临界资源访问冲突检测方法 | |
CN116150020A (zh) | 一种测试用例的转换方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |