CN106155718A - 流程引擎实现方法及流程引擎系统 - Google Patents
流程引擎实现方法及流程引擎系统 Download PDFInfo
- Publication number
- CN106155718A CN106155718A CN201510154369.2A CN201510154369A CN106155718A CN 106155718 A CN106155718 A CN 106155718A CN 201510154369 A CN201510154369 A CN 201510154369A CN 106155718 A CN106155718 A CN 106155718A
- Authority
- CN
- China
- Prior art keywords
- flow
- file
- node
- nodes
- authentication
- 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.)
- Granted
Links
Abstract
本申请公开了一种流程引擎实现方法及流程引擎系统,其预先为公共流程节点设置默认配置文件,在需要启动流程引擎系统以执行业务流程控制时,优先加载各个流程节点的扩展配置文件,对于不存在对应的扩展配置文件的公共流程节点,则直接加载对应的默认配置文件,既可以保证流程引擎的基本实现,又可以通过扩展配置文件实现流程引擎的个性化,满足不同业务流程的具体需求。因此,本申请公开的流程引擎实现方法及流程引擎系统具备高度可扩展性,可以兼容不同业务系统的业务流程,不再需要针对不同的业务流程开发不同的流程引擎,从而可以减少流程引擎的开发成本,降低流程引擎的维护难度。
Description
技术领域
本申请涉及网站开发及应用技术领域,尤其涉及一种流程引擎实现方法及流程引擎系统。
背景技术
为保证业务系统中业务流程的高效执行,需要通过相应的流程引擎来控制相关组件的协调工作,使得业务流程中的信息存储、权限、审批、消息通知等按照一定的过程规则流转,实现业务流程的全部或部分自动化。例如,对于网站运营业务,当运营人员编辑一项数据后,流程引擎则启动审批流程,判断审核编辑后的数据是否符合预设权限,如果符合,则审批通过,编辑生效,反之审批不通过,相应数据被恢复至编辑前的状态,从而可以避免因错误或不合理的编辑导致数据异常、网站运营异常等现象发生。
现有流程引擎的实现方法及流程引擎系统通常以功能为核心,提供相应的业务流程相关的全部功能的引擎,如流程模型的定义、流程定义信息的解析装载、数据信息的存储及查询、流程步骤的跳转控制等。但由于同一功能在不同业务流程中的具体执行形式不尽相同,故需要针对具体的业务流程开发专用的功能实现代码,且不可复用,导致其流程引擎开发工作量大、成本高、兼容性及扩展性差,难以与不同公司不同业务系统集成。
发明内容
为克服相关技术中存在的问题,本申请提供一种流程引擎实现方法及流程引擎系统。
本申请第一方面提供一种流程引擎实现方法;该方法应用于流程引擎系统,包括:
针对业务流程相关的各个公共流程节点,分别设置对应的用于记录默认的处理逻辑及属性信息的默认配置文件;其中,所述公共流程节点至少包括:流程定义加载节点、消息通知节点、权限管理节点和流程数据存储节点;
针对各个公共流程节点和非公共流程节点,分别判断是否存在对应的用于记录用户扩展的处理逻辑及属性信息的扩展配置文件;
对于存在所述扩展配置文件的流程节点,加载所述扩展配置文件,以激活相应的流程节点;
对于不存在所述扩展配置文件的流程节点,加载对应的默认配置文件,以激活相应的流程节点。
结合第一方面,在第一方面的第一种可行的实施方式中,所述流程引擎实现方法还包括:
根据业务需求设置流程定义文件,并将所述流程定义文件存储于预设存储路径对应的文件存储区域;
在激活所述流程定义加载节点后,获取已加载的所述流程定义加载节点对应的配置文件中的文件名定义正则表达式;
扫描预设存储路径对应的文件存储区域,查找并缓存文件名与所述文件名定义正则表达式相匹配的流程定义文件;
根据所述流程定义文件执行业务流程中各个节点对应的操作。
结合第一方面的第一种可行的实施方式,在第一方面的第二种可行的实施方式中,所述根据所述流程定义文件执行业务流程中各个节点对应的操作,包括:
根据所述流程定义文件中配置的默认鉴权逻辑执行鉴权操作,并在鉴权对象满足所述默认鉴权逻辑中的任一种时,判定鉴权通过;
其中,所述默认鉴权逻辑包括以下至少一种:基于角色配置的第一鉴权逻辑、基于权限关键字配置的第二鉴权逻辑,以及,基于用户标识配置的第三鉴权逻辑。
结合第一方面的第一种可行的实施方式,在第一方面的第三种可行的实施方式中,所述根据所述流程定义文件执行业务流程中各个节点对应的操作,包括:
在执行审批操作前,判断是否存在前置扩展文件;
如果存在所述前置扩展文件,则根据所述前置扩展文件执行对应的前置扩展操作,否则根据所述流程定义文件执行默认前置操作;
在完成审批操作后,判断是否存在后置扩展文件;
如果存在所述后置扩展文件,则根据所述后置扩展文件执行对应的后置扩展操作,否则根据所述流程定义文件执行默认后置操作。
结合第一方面的第一种可行的实施方式,在第一方面的第四种可行的实施方式中,所述根据所述流程定义文件执行业务流程中各个节点对应的操作,包括:
在执行数据存储操作时,将业务流程相关的业务数据存储于对应的业务表格,并在业务流程的相应执行阶段标记各个业务数据对应的条目标识码。
结合第一方面的第一种可行的实施方式,在第一方面的第五种可行的实施方式中,所述根据所述流程定义文件执行业务流程中各个节点对应的操作,包括:
在执行消息通知操作时,将待通知的原始消息通过预设通知接口输出,以便根据所述原始消息和用户自定义的消息处理逻辑确定实际消息的标题及内容。
结合第一方面,或者第一方面的第一种可行的实施方式,在第一方面的第六种可行的实施方式中,所述流程引擎实现方法还包括:
针对业务相关的各项可视化数据,设置对应的注解信息;所述注解信息包括以下至少一种:题头内容、显示标记、列序号、列类型;
在执行审批页面数据展示操作时,查找并解析各个属性对应的注解信息;
遍历待展示数据,根据所述注解信息确定每项数据的各项属性对应的属性值;
将解析出的题头内容、各项属性的属性及属性值发送至展示前台。
本申请第二方面提供一种流程引擎系统;该系统包括:
第一配置单元,用于针对业务流程相关的各个公共流程节点,分别设置对应的用于记录默认的处理逻辑及属性信息的默认配置文件;其中,所述公共流程节点至少包括:流程定义加载节点、消息通知节点、权限管理节点和流程数据存储节点;
扩展判断单元,用于针对各个公共流程节点和非公共流程节点,分别判断是否存在对应的用于记录用户扩展的处理逻辑及属性信息的扩展配置文件;
配置加载单元,用于对于存在所述扩展配置文件的流程节点,加载所述扩展配置文件,以激活相应的流程节点,对于不存在所述扩展配置文件的流程节点,加载对应的默认配置文件,以激活相应的流程节点。
结合第二方面,在第二方面的第一种可行的实施方式中,所述流程引擎系统还包括:
第二配置单元,用于根据业务需求设置流程定义文件,并将所述流程定义文件存储于预设存储路径对应的文件存储区域;
文件查找单元,用于在激活所述流程定义加载节点后,获取已加载的所述流程定义加载节点对应的配置文件中的文件名定义正则表达式,扫描预设存储路径对应的文件存储区域,查找并缓存文件名与所述文件名定义正则表达式相匹配的流程定义文件;
执行单元,用于根据所述流程定义文件执行业务流程中各个节点对应的操作。
结合第二方面的第一种可行的实施方式,在第二方面的第二种可行的实施方式中,所述执行单元包括:鉴权单元,用于根据所述流程定义文件中配置的默认鉴权逻辑执行鉴权操作,并在鉴权对象满足所述默认鉴权逻辑中的任一种时,判定鉴权通过;
其中,所述默认鉴权逻辑包括以下至少一种:基于角色配置的第一鉴权逻辑、基于权限关键字配置的第二鉴权逻辑,以及,基于用户标识配置的第三鉴权逻辑。
结合第二方面的第一种可行的实施方式,在第二方面的第三种可行的实施方式中,所述执行单元包括:审批执行单元;
所述审批执行单元用于,在执行审批操作前,判断是否存在前置扩展文件,如果存在所述前置扩展文件,则根据所述前置扩展文件执行对应的前置扩展操作,否则根据所述流程定义文件执行默认前置操作;在完成审批操作后,判断是否存在后置扩展文件,如果存在所述后置扩展文件,则根据所述后置扩展文件执行对应的后置扩展操作,否则根据所述流程定义文件执行默认后置操作。
结合第二方面的第一种可行的实施方式,在第二方面的第四种可行的实施方式中,所述执行单元包括:
数据存储单元,用于将业务流程相关的业务数据存储于对应的业务表格,并在业务流程的相应执行阶段标记各个业务数据对应的条目标识码。
结合第二方面的第一种可行的实施方式,在第二方面的第五种可行的实施方式中,所述执行单元包括:
消息通知单元,用于将待通知的原始消息通过预设通知接口输出,以便根据所述原始消息和用户自定义的消息处理逻辑确定实际消息的标题及内容。
结合第二方面,或者第二方面的第一种可行的实施方式,在第二方面的第六种可行的实施方式中,所述流程引擎系统还包括:
注解设置单元,用于针对业务相关的各项可视化数据,设置对应的注解信息;所述注解信息包括以下至少一种:题头内容、显示标记、列序号、列类型;
数据展示单元,用于查找并解析各个属性对应的注解信息,遍历待展示数据,根据所述注解信息确定每项数据的各项属性对应的属性值,将解析出的题头内容、各项属性的属性及属性值发送至展示前台。
由以上技术方案可知,本申请实施例预先为公共流程节点设置默认配置文件,在需要启动流程引擎系统以执行业务流程控制时,优先加载各个流程节点的扩展配置文件,对于不存在对应的扩展配置文件的公共流程节点,则直接加载对应的默认配置文件,既可以保证流程引擎的基本实现,又可以通过扩展配置文件实现流程引擎的个性化,满足不同业务流程的具体需求。因此,本申请实施例提供的流程引擎实现方法具备高度可扩展性,可以兼容不同业务系统的业务流程,不再需要针对不同的业务流程开发不同的流程引擎,从而可以减少流程引擎的开发成本,降低流程引擎的维护难度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本申请实施例提供的一种流程引擎实现方法的流程图。
图2是本申请另一实施例提供的一种流程引擎实现方法的流程图。
图3是本申请实施例提供的一种流程引擎实现方法中根据流程定义文件执行审批操作的方法流程图。
图4是本申请实施例提供的一种流程引擎实现方法中执行审批页面数据展示的方法流程图。
图5是本申请实施例提供的一种流程引擎系统的框图。
图6是本申请实施例提供的另一种流程引擎系统的框图。
图7是本申请实施例提供的又一种流程引擎系统的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1为本申请实施例提供的一种流程引擎实现方法的流程图,该方法应用于流程引擎系统。如图1所示,该方法包括以下步骤。
S11、设置业务流程相关的各个公共流程节点对应的默认配置文件。
其中,上述默认配置文件用于记录默认的处理逻辑及属性信息。
本申请实施例中,业务流程中的各个流程节点可分为两类,即公共流程节点和非公共流程节点;其中,公共流程节点是指不同业务流程中所共有的流程节点,其对应的配置文件可复用于不同的业务流程中;非公共流程节点即只存在于某个特定的业务流程中的流程节点。上述公共流程节点包括但不限于以下四种:流程定义加载节点、消息通知节点、权限管理节点和流程数据存储节点。
S12、针对业务流程相关的各个公共流程节点和非公共流程节点,分别判断是否存在对应的扩展配置文件,如果存在,则执行步骤S13,否则执行步骤S14。
其中,上述扩展配置文件用于记录用户扩展的处理逻辑及属性信息。
S13、对于存在所述扩展配置文件的流程节点,加载所述扩展配置文件,以激活相应的流程节点。
S14、对于不存在所述扩展配置文件的流程节点,加载对应的默认配置文件,以激活相应的流程节点。
根据本申请实施例,由于非公共流程节点与具体的业务流程相关,不可预知,无法设置默认配置文件,故开发人员可根据具体的业务流程设置对应的扩展配置文件,从而在执行步骤S12和S13后,相应的扩展配置文件被加载,满足具体业务流程个性需求的非公共流程节点被激活。对于公共流程节点,可以直接采用默认配置文件,也可以在必要时根据实际需求为公共流程节点设置对应的扩展配置文件,并通过步骤S12使得该扩展配置文件优先于默认配置文件被加载。
由以上技术方案可知,本申请实施例预先为公共流程节点设置默认配置文件,在需要启动流程引擎系统以执行业务流程控制时,优先加载各个流程节点的扩展配置文件,对于不存在对应的扩展配置文件的公共流程节点,则直接加载对应的默认配置文件,既可以保证流程引擎的基本实现,又可以通过扩展配置文件实现流程引擎的个性化,满足不同业务流程的具体需求。因此,本申请实施例提供的流程引擎实现方法具备高度可扩展性,可以兼容不同业务系统的业务流程,不再需要针对不同的业务流程开发不同的流程引擎,从而可以减少流程引擎的开发成本,降低流程引擎的维护难度。
图2为本申请实施例提供的另一种流程引擎实现方法的流程图,该方法应用于流程引擎系统。如图2所示,该方法包括以下步骤。
S21、分别设置各个公共流程节点对应的默认配置文件,并根据业务需求设置流程定义文件,将所述流程定义文件存储于预设存储路径对应的文件存储区域。
其中,上述默认配置文件用于记录默认的处理逻辑及属性信息。
流程定义文件用于记录全部流程的定义,既包括业务流程的公共信息,也可以包括开发人员根据实际应用需求设置的扩展信息。
S22、针对业务流程相关的各个公共流程节点和非公共流程节点,分别判断是否存在对应的扩展配置文件,如果存在,则执行步骤S13,否则执行步骤S14。
其中,上述扩展配置文件用于记录用户扩展的处理逻辑及属性信息。
S23、对于存在所述扩展配置文件的流程节点,加载所述扩展配置文件,以激活相应的流程节点,并执行步骤S25。
S24、对于不存在所述扩展配置文件的流程节点,加载对应的默认配置文件,以激活相应的流程节点,并执行步骤S25。
S25、在激活所述流程定义加载节点后,获取已加载的所述流程定义加载节点对应的配置文件中的文件名定义正则表达式。
S26、扫描预设存储路径对应的文件存储区域,查找并缓存文件名与所述文件名定义正则表达式相匹配的流程定义文件。
正则表达式实质为一种对字符串操作的逻辑公式,即用预设的特定字符、及这些特定字符的组合,组成一个规则字符串,通过规则字符串来对其他字符串进行筛选、过滤;结合本申请实施例,即将上述文件名定义正则表达式中的规则字符串,分别与文件存储区域中各个流程定义文件的文件名进行匹配,筛选出匹配成功的流程定义文件,以执行步骤S27。其中,上述文件名定义正则表达式记录于流程定义加载节点对应的配置文件中。
本申请实施例中,预设存储路径可以根据应用需求设置及修改,从而改变被扫描的文件存储区域,即无论经过流程定义文件可以存储于任一可访问存储区域,只需在扫描前将其路径设置为预设存储路径,即可扫描到其中存储的流程定义文件。因此,本申请实施例具有高度可扩展性。
S27、根据所述流程定义文件执行业务流程中各个节点对应的操作。
由于流程定义文件中不仅记录了业务流程的公共信息,还可以记录扩展信息,因此,根据该流程定义文件不仅可以根据公共信息执行相应的公共处理逻辑,还可以根据扩展信息执行相应的扩展逻辑,提高流程引擎系统的可扩展性。
本申请实施例中,上述流程定义文件中可以配置调度正则表达式;该调度正则表达式可以为通过流程引擎的API接口接收到的正则表达式。即,开发人员可以根据实际调度需求设置相应的调度正则表达式,并将其通过API接口输入流程引擎并存储于流程定义文件中,从而在根据文件名定义正则表达式匹配得到该流程定义文件后,流程引擎可以根据其中的调度正则表达式实现满足实际需求的流程调度。
在本申请一个可行的实施例中,步骤S27所述的根据所述流程定义文件执行业务流程中各个节点对应的操作,可以包括:根据所述流程定义文件中配置的默认鉴权逻辑执行鉴权操作,并在鉴权对象满足所述默认鉴权逻辑中的任一种时,判定鉴权通过。
上述鉴权操作,用于识别鉴权对象是否有权限执行审批操作,也即,只有鉴权通过才能进一步执行审批操作。其中,流程定义文件中可以配置任意一种或多种默认鉴权逻辑,如:基于角色配置的第一鉴权逻辑、基于权限关键字配置的第二鉴权逻辑,以及,基于用户标识配置的第三鉴权逻辑;只要鉴权对象满足其中任意一种,就可以判定鉴权通过。因此,本申请实施例可以实现灵活的鉴权操作,满足不同的应用需求。
参见图3,在本申请另一个可行的实施例中,步骤S27所述的根据所述流程定义文件执行业务流程中各个节点对应的操作,可以包括如下步骤:
S271、在执行审批操作前,判断是否存在前置扩展文件,如果存在,则执行步骤S272,否则执行步骤S273。
S272、在存在前置扩展文件的情况下,根据所述前置扩展文件执行对应的前置扩展操作,并执行步骤S274。
S273、在不存在前置扩展文件的情况下,根据所述流程定义文件执行默认前置操作,并执行步骤S274。
S274、根据所述流程定义文件执行审批操作。
S275、在完成审批操作后,判断是否存在后置扩展文件,如果存在,则执行步骤S276,否则执行步骤S277。
S276、在存在后置扩展文件的情况下,根据所述后置扩展文件执行对应的后置扩展操作。
S277、在不存在后置扩展文件的情况下,根据流程定义文件执行默认后置操作。
以上步骤实现了审批操作的前置和后置两种扩展,开发人员可以根据应用需求编辑相应的前置扩展文件和后置扩展文件,实现相应的扩展逻辑。
在本申请又一个可行的实施例中,步骤S27所述的根据所述流程定义文件执行业务流程中各个节点对应的操作,可以包括如下步骤:
在执行数据存储操作时,将业务流程相关的业务数据存储于对应的业务表格,并在业务流程的相应执行阶段标记各个业务数据对应的条目标识码。
其中,每项业务数据对应唯一的条目标识码,该条目标识码的数据类型优选为字符串型,使得开发人员可以根据根据应用需求自由设置,从而实现复杂的逻辑控制。同时,业务数据存储于业务表格中还可以提高数据查询效率。
另外,在本申请其他实施例中,在执行数据存储操作时,也可以将业务数据存储于业务流程中,并在该流程结束时,通过回调业务逻辑的代码,将业务数据传回至业务系统,以便于数据查询。
在本申请又一个可行的实施例中,步骤S27所述的根据所述流程定义文件执行业务流程中各个节点对应的操作,可以包括如下步骤:
在执行消息通知操作时,将待通知的原始消息通过预设通知接口输出,以便根据所述原始消息和用户自定义的消息处理逻辑确定实际消息的标题及内容。
由以上步骤可知,本申请实施例提供的流程引擎实现方法,不规定待通知消息的最终通知样式,而是将原始消息通过相应的预设通知接口输出;相应的,业务系统可预先设置满足自身业务需求的消息通知模块,并与流程引擎的预设通知接口连接,从而通过该消息通知模块对流程引擎输出的原始数据进行处理,确定最终通知样式,包括消息的标题及具体内容等信息。
参照图4,基于以上任一实施例所述的流程引擎实现方法,在本申请其他实施例中,可以执行如下步骤来实现在审批页面展示数据:
S41、对业务相关的数据属性设置对应的注解信息;所述注解信息包括以下至少一种:题头内容、显示标记、列序号、列类型。
具体的,本申请实施例可以基于Java语言设置上述注解信息。其中,针对数据的各个属性,题头内容表示该属性在展示表格中所在列的名称。显示标记表示是否在展示表格中显示该属性。列序号表示该属性所在列在展示表格的所有列中的顺序;例如,列序号为2,则表示将该属性展示在整个展示表格的第2列。列类型表示记录审批细节内容的形式,包括普通文本和链接;其中,本申请实施例将审批细节内容记录于详细信息页面,在展示表格中只展示该详细信息页面对应的访问路径(或者以该路径地址为超链接的文本,如“详情”),即链接,从而即使审批细节内容包括数据的新增、修改中、待审批、删除、取消、测试、发布等多种状态,也可保证该项数据只占据展示表格的一行,从而简化了展示表格,降低了数据展示的复杂度。
S42、在执行审批页面数据展示操作时,查找并解析各个属性对应的注解信息。
具体的,可以采用反射递归方式查找业务系统的各个模型类及其父类,得到全部有注解信息的属性。通过解析注解信息,即可得到各个属性对应的题头内容、显示标记、列序号、列类型等信息;进一步的,可以按照列序号将题头内容存储于一维数组中。
S43、遍历待展示数据,根据所述注解信息确定每项数据的各项属性对应的属性值。
本申请实施例中,每项数据的各项属性及对应的属性值可以通过二维数组的形式存储,该二维数据中的每个元素分别存储一个属性及对应的属性值。
S44、将解析出的题头内容、各项属性的属性及属性值发送至展示前台。
将上述题头内容所在的一维数组,和属性及属性值所在的二维数组发送至展示前台,从而展示前台可以通过一维数组展示表格中的各列的题头,通过二维数组展示表格中的具体数据。对于列类型为连接的数据,如果需要查看审批细节内容,则通过点击该链接使页面跳转至对应的详细信息页面。
由以上步骤可知,本申请实施例可以通过注解信息轻松实现对展示形式的控制,从而可以满足不同业务系统的展示需求。
图5为本申请实施例提供的一种流程引擎系统的结构框图。参照图5,该系统包括:第一配置单元110、扩展判断单元120和配置加载单元130。
该第一配置单元110被配置为,针对业务流程相关的各个公共流程节点,分别设置对应的用于记录默认的处理逻辑及属性信息的默认配置文件。其中,所述公共流程节点至少包括:流程定义加载节点、消息通知节点、权限管理节点和流程数据存储节点。
该扩展判断单元120被配置为,针对各个公共流程节点和非公共流程节点,分别判断是否存在对应的用于记录用户扩展的处理逻辑及属性信息的扩展配置文件。
该配置加载单元130被配置为,对于存在所述扩展配置文件的流程节点,加载所述扩展配置文件,以激活相应的流程节点,对于不存在所述扩展配置文件的流程节点,加载对应的默认配置文件,以激活相应的流程节点。
由以上技术方案可知,本申请实施例预先为公共流程节点设置默认配置文件,在需要启动流程引擎系统以执行业务流程控制时,优先加载各个流程节点的扩展配置文件,对于不存在对应的扩展配置文件的公共流程节点,则直接加载对应的默认配置文件,既可以保证流程引擎的基本实现,又可以通过扩展配置文件实现流程引擎的个性化,满足不同业务流程的具体需求。因此,本申请实施例提供的流程引擎系统具备高度可扩展性,可以兼容不同业务系统的业务流程,不再需要针对不同的业务流程开发不同的流程引擎,从而可以减少流程引擎的开发成本,降低流程引擎的维护难度。
参照图6,在本申请一个可行的实施例中,上述流程引擎系统还包括:第二配置单元140、文件查找单元150和执行单元160。
该第二配置单元140被配置为,根据业务需求设置流程定义文件,并将所述流程定义文件存储于预设存储路径对应的文件存储区域。
该文件查找单元150被配置为,在激活所述流程定义加载节点后,获取已加载的所述流程定义加载节点对应的配置文件中的文件名定义正则表达式,扫描预设存储路径对应的文件存储区域,查找并缓存文件名与所述文件名定义正则表达式相匹配的流程定义文件;
该执行单元160被配置为,根据所述流程定义文件执行业务流程中各个节点对应的操作。
在本申请一个可行的实施例中,上述执行单元160可以包括:鉴权执行单元。
该鉴权单元被配置为,根据所述流程定义文件中配置的默认鉴权逻辑执行鉴权操作,并在鉴权对象满足所述默认鉴权逻辑中的任一种时,判定鉴权通过。
其中,上述默认鉴权逻辑包括以下至少一种:基于角色配置的第一鉴权逻辑、基于权限关键字配置的第二鉴权逻辑,以及,基于用户标识配置的第三鉴权逻辑。
在本申请另一个可行的实施例中,上述执行单元160可以包括:审批执行单元。
该审批执行单元被配置为,在执行审批操作前,判断是否存在前置扩展文件,如果存在所述前置扩展文件,则根据所述前置扩展文件执行对应的前置扩展操作,否则根据所述流程定义文件执行默认前置操作;在完成审批操作后,判断是否存在后置扩展文件,如果存在所述后置扩展文件,则根据所述后置扩展文件执行对应的后置扩展操作,否则根据所述流程定义文件执行默认后置操作。
在本申请又一个可行的实施例中,上述执行单元160还可以包括:数据存储单元,用于将业务流程相关的业务数据存储于对应的业务表格,并在业务流程的相应执行阶段标记各个业务数据对应的条目标识码。
在本申请又一个可行的实施例中,上述执行单元160还可以包括:消息通知单元,用于将待通知的原始消息通过预设通知接口输出,以便根据所述原始消息和用户自定义的消息处理逻辑确定实际消息的标题及内容。
参照图7,本申请其他实施例提供的流程引擎系统还可以包括:注解设置单元170和数据展示单元180。
该注解设置单元170被配置为,针对业务相关的各项可视化数据,设置对应的注解信息。所述注解信息包括以下至少一种:题头内容、显示标记、列序号、列类型;
该数据展示单元180被配置为,查找并解析各个属性对应的注解信息,遍历待展示数据,根据所述注解信息确定每项数据的各项属性对应的属性值,将解析出的题头内容、各项属性的属性及属性值发送至展示前台。
可见,本申请实施例可以通过注解信息轻松实现对展示形式的控制,从而可以满足不同业务系统的展示需求。
另外,本申请实施例还提供了一种计算机存储介质,例如可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等;该计算机存储介质中存储有程序,当所述存储介质中的程序由相应处理器执行时,使得该处理器能够执行上述方法实施例中记载的流程引擎实现方法的部分或全部步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (14)
1.一种流程引擎实现方法,其特征在于,应用于流程引擎系统;所述流程引擎实现方法包括:
针对业务流程相关的各个公共流程节点,分别设置对应的用于记录默认的处理逻辑及属性信息的默认配置文件;其中,所述公共流程节点至少包括:流程定义加载节点、消息通知节点、权限管理节点和流程数据存储节点;
针对各个公共流程节点和非公共流程节点,分别判断是否存在对应的用于记录用户扩展的处理逻辑及属性信息的扩展配置文件;
对于存在所述扩展配置文件的流程节点,加载所述扩展配置文件,以激活相应的流程节点;
对于不存在所述扩展配置文件的流程节点,加载对应的默认配置文件,以激活相应的流程节点。
2.根据权利要求1所述的流程引擎实现方法,其特征在于,还包括:
根据业务需求设置流程定义文件,并将所述流程定义文件存储于预设存储路径对应的文件存储区域;
在激活所述流程定义加载节点后,获取已加载的所述流程定义加载节点对应的配置文件中的文件名定义正则表达式;
扫描预设存储路径对应的文件存储区域,查找并缓存文件名与所述文件名定义正则表达式相匹配的流程定义文件;
根据所述流程定义文件执行业务流程中各个节点对应的操作。
3.根据权利要求2所述的流程引擎实现方法,其特征在于,所述根据所述流程定义文件执行业务流程中各个节点对应的操作,包括:
根据所述流程定义文件中配置的默认鉴权逻辑执行鉴权操作,并在鉴权对象满足所述默认鉴权逻辑中的任一种时,判定鉴权通过;
其中,所述默认鉴权逻辑包括以下至少一种:基于角色配置的第一鉴权逻辑、基于权限关键字配置的第二鉴权逻辑,以及,基于用户标识配置的第三鉴权逻辑。
4.根据权利要求2所述的流程引擎实现方法,其特征在于,所述根据所述流程定义文件执行业务流程中各个节点对应的操作,包括:
在执行审批操作前,判断是否存在前置扩展文件;
如果存在所述前置扩展文件,则根据所述前置扩展文件执行对应的前置扩展操作,否则根据所述流程定义文件执行默认前置操作;
在完成审批操作后,判断是否存在后置扩展文件;
如果存在所述后置扩展文件,则根据所述后置扩展文件执行对应的后置扩展操作,否则根据所述流程定义文件执行默认后置操作。
5.根据权利要求2所述的流程引擎实现方法,其特征在于,所述根据所述流程定义文件执行业务流程中各个节点对应的操作,包括:
在执行数据存储操作时,将业务流程相关的业务数据存储于对应的业务表格,并在业务流程的相应执行阶段标记各个业务数据对应的条目标识码。
6.根据权利要求2所述的流程引擎实现方法,其特征在于,所述根据所述流程定义文件执行业务流程中各个节点对应的操作,包括:
在执行消息通知操作时,将待通知的原始消息通过预设通知接口输出,以便根据所述原始消息和用户自定义的消息处理逻辑确定实际消息的标题及内容。
7.根据权利要求1或2所述的流程引擎实现方法,其特征在于,还包括:
针对业务相关的各项可视化数据,设置对应的注解信息;所述注解信息包括以下至少一种:题头内容、显示标记、列序号、列类型;
在执行审批页面数据展示操作时,查找并解析各个属性对应的注解信息;
遍历待展示数据,根据所述注解信息确定每项数据的各项属性对应的属性值;
将解析出的题头内容、各项属性的属性及属性值发送至展示前台。
8.一种流程引擎系统,其特征在于,包括:
第一配置单元,用于针对业务流程相关的各个公共流程节点,分别设置对应的用于记录默认的处理逻辑及属性信息的默认配置文件;其中,所述公共流程节点至少包括:流程定义加载节点、消息通知节点、权限管理节点和流程数据存储节点;
扩展判断单元,用于针对各个公共流程节点和非公共流程节点,分别判断是否存在对应的用于记录用户扩展的处理逻辑及属性信息的扩展配置文件;
配置加载单元,用于对于存在所述扩展配置文件的流程节点,加载所述扩展配置文件,以激活相应的流程节点,对于不存在所述扩展配置文件的流程节点,加载对应的默认配置文件,以激活相应的流程节点。
9.根据权利要求8所述的流程引擎系统,其特征在于,还包括:
第二配置单元,用于根据业务需求设置流程定义文件,并将所述流程定义文件存储于预设存储路径对应的文件存储区域;
文件查找单元,用于在激活所述流程定义加载节点后,获取已加载的所述流程定义加载节点对应的配置文件中的文件名定义正则表达式,扫描预设存储路径对应的文件存储区域,查找并缓存文件名与所述文件名定义正则表达式相匹配的流程定义文件;
执行单元,用于根据所述流程定义文件执行业务流程中各个节点对应的操作。
10.根据权利要求9所述的流程引擎系统,其特征在于,所述执行单元包括:鉴权单元,用于根据所述流程定义文件中配置的默认鉴权逻辑执行鉴权操作,并在鉴权对象满足所述默认鉴权逻辑中的任一种时,判定鉴权通过;
其中,所述默认鉴权逻辑包括以下至少一种:基于角色配置的第一鉴权逻辑、基于权限关键字配置的第二鉴权逻辑,以及,基于用户标识配置的第三鉴权逻辑。
11.根据权利要求9所述的流程引擎系统,其特征在于,所述执行单元包括:审批执行单元;
所述审批执行单元用于,在执行审批操作前,判断是否存在前置扩展文件,如果存在所述前置扩展文件,则根据所述前置扩展文件执行对应的前置扩展操作,否则根据所述流程定义文件执行默认前置操作;在完成审批操作后,判断是否存在后置扩展文件,如果存在所述后置扩展文件,则根据所述后置扩展文件执行对应的后置扩展操作,否则根据所述流程定义文件执行默认后置操作。
12.根据权利要求9所述的流程引擎系统,其特征在于,所述执行单元包括:
数据存储单元,用于将业务流程相关的业务数据存储于对应的业务表格,并在业务流程的相应执行阶段标记各个业务数据对应的条目标识码。
13.根据权利要求9所述的流程引擎系统,其特征在于,所述执行单元包括:
消息通知单元,用于将待通知的原始消息通过预设通知接口输出,以便根据所述原始消息和用户自定义的消息处理逻辑确定实际消息的标题及内容。
14.根据权利要求8或9所述的流程引擎系统,其特征在于,还包括:
注解设置单元,用于针对业务相关的各项可视化数据,设置对应的注解信息;所述注解信息包括以下至少一种:题头内容、显示标记、列序号、列类型;
数据展示单元,用于查找并解析各个属性对应的注解信息,遍历待展示数据,根据所述注解信息确定每项数据的各项属性对应的属性值,将解析出的题头内容、各项属性的属性及属性值发送至展示前台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510154369.2A CN106155718B (zh) | 2015-04-02 | 2015-04-02 | 流程引擎实现方法及流程引擎系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510154369.2A CN106155718B (zh) | 2015-04-02 | 2015-04-02 | 流程引擎实现方法及流程引擎系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155718A true CN106155718A (zh) | 2016-11-23 |
CN106155718B CN106155718B (zh) | 2019-09-06 |
Family
ID=57338350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510154369.2A Active CN106155718B (zh) | 2015-04-02 | 2015-04-02 | 流程引擎实现方法及流程引擎系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106155718B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897130A (zh) * | 2017-01-24 | 2017-06-27 | 武汉奇米网络科技有限公司 | 一种基于流程引擎的自动化运维方法及系统 |
CN107220811A (zh) * | 2017-05-27 | 2017-09-29 | 杭州迪脉信息科技有限公司 | 流程中节点激活的方法及装置 |
CN107644322A (zh) * | 2017-09-27 | 2018-01-30 | 武汉达策信息技术有限公司 | 基于OnlineBox系统的多终端审批方法及系统 |
CN108536541A (zh) * | 2017-03-01 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 流程引擎对象处理方法及装置 |
CN108846630A (zh) * | 2018-05-25 | 2018-11-20 | 广州衡昊数据科技有限公司 | 一种资源控制系统及方法 |
CN108984155A (zh) * | 2018-05-17 | 2018-12-11 | 阿里巴巴集团控股有限公司 | 数据处理流程设定方法和装置 |
CN109495457A (zh) * | 2018-10-31 | 2019-03-19 | 厦门畅享信息技术有限公司 | 跨网络限制的业务流程引擎及业务执行方法 |
CN110231936A (zh) * | 2019-06-21 | 2019-09-13 | 北京金山软件有限公司 | 一种移动端流程引擎框架及移动端流程引擎的使用方法 |
CN110244987A (zh) * | 2019-06-18 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置、可读存储介质和计算机设备 |
CN111311185A (zh) * | 2020-02-17 | 2020-06-19 | 北京南凯自动化系统工程有限公司 | 跨平台自动化流程作业方法及系统 |
CN111461531A (zh) * | 2020-03-30 | 2020-07-28 | 拉扎斯网络科技(上海)有限公司 | 业务处理系统、业务编排方法、装置、设备及存储介质 |
CN108256716B (zh) * | 2016-12-29 | 2020-10-16 | 同方威视技术股份有限公司 | 基于表来配置/执行流程和/或原子流程的方法和设备 |
CN112990769A (zh) * | 2021-04-21 | 2021-06-18 | 北京宇信科技集团股份有限公司 | 业务处理方法、装置、电子设备和存储介质 |
CN117057755A (zh) * | 2023-10-11 | 2023-11-14 | 北京远舢智能科技有限公司 | 面向工业控制设备的流程热更新方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1320810A1 (en) * | 2000-09-29 | 2003-06-25 | Performix Research Limited | Integration of data processing systems |
US20070174101A1 (en) * | 2004-12-09 | 2007-07-26 | British Telecommunications Public Limited Company | Workflow scheduler |
CN101216906A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种流程控制方法及一种流程引擎 |
US20100257470A1 (en) * | 2009-04-03 | 2010-10-07 | Hewlett-Packard Development Company, L.P. | Personal project management |
CN103324487A (zh) * | 2013-07-10 | 2013-09-25 | 浙江中新力合控股有限公司 | 一种流程引擎SaaS化的实现方法 |
-
2015
- 2015-04-02 CN CN201510154369.2A patent/CN106155718B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1320810A1 (en) * | 2000-09-29 | 2003-06-25 | Performix Research Limited | Integration of data processing systems |
US20070174101A1 (en) * | 2004-12-09 | 2007-07-26 | British Telecommunications Public Limited Company | Workflow scheduler |
CN101216906A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种流程控制方法及一种流程引擎 |
US20100257470A1 (en) * | 2009-04-03 | 2010-10-07 | Hewlett-Packard Development Company, L.P. | Personal project management |
CN103324487A (zh) * | 2013-07-10 | 2013-09-25 | 浙江中新力合控股有限公司 | 一种流程引擎SaaS化的实现方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108256716B (zh) * | 2016-12-29 | 2020-10-16 | 同方威视技术股份有限公司 | 基于表来配置/执行流程和/或原子流程的方法和设备 |
CN106897130A (zh) * | 2017-01-24 | 2017-06-27 | 武汉奇米网络科技有限公司 | 一种基于流程引擎的自动化运维方法及系统 |
CN108536541A (zh) * | 2017-03-01 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 流程引擎对象处理方法及装置 |
CN107220811A (zh) * | 2017-05-27 | 2017-09-29 | 杭州迪脉信息科技有限公司 | 流程中节点激活的方法及装置 |
CN107220811B (zh) * | 2017-05-27 | 2021-02-12 | 杭州迪脉信息科技有限公司 | 流程中节点激活的方法及装置 |
CN107644322A (zh) * | 2017-09-27 | 2018-01-30 | 武汉达策信息技术有限公司 | 基于OnlineBox系统的多终端审批方法及系统 |
CN108984155A (zh) * | 2018-05-17 | 2018-12-11 | 阿里巴巴集团控股有限公司 | 数据处理流程设定方法和装置 |
CN108846630A (zh) * | 2018-05-25 | 2018-11-20 | 广州衡昊数据科技有限公司 | 一种资源控制系统及方法 |
CN109495457A (zh) * | 2018-10-31 | 2019-03-19 | 厦门畅享信息技术有限公司 | 跨网络限制的业务流程引擎及业务执行方法 |
CN109495457B (zh) * | 2018-10-31 | 2021-04-09 | 厦门畅享信息技术有限公司 | 跨网络限制的业务流程引擎及业务执行方法 |
CN110244987A (zh) * | 2019-06-18 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置、可读存储介质和计算机设备 |
CN110231936A (zh) * | 2019-06-21 | 2019-09-13 | 北京金山软件有限公司 | 一种移动端流程引擎框架及移动端流程引擎的使用方法 |
CN111311185A (zh) * | 2020-02-17 | 2020-06-19 | 北京南凯自动化系统工程有限公司 | 跨平台自动化流程作业方法及系统 |
CN111311185B (zh) * | 2020-02-17 | 2023-04-07 | 北京南凯自动化系统工程有限公司 | 跨平台自动化流程作业方法及系统 |
CN111461531A (zh) * | 2020-03-30 | 2020-07-28 | 拉扎斯网络科技(上海)有限公司 | 业务处理系统、业务编排方法、装置、设备及存储介质 |
CN111461531B (zh) * | 2020-03-30 | 2022-02-01 | 拉扎斯网络科技(上海)有限公司 | 业务处理系统、业务编排方法、装置、设备及存储介质 |
CN112990769A (zh) * | 2021-04-21 | 2021-06-18 | 北京宇信科技集团股份有限公司 | 业务处理方法、装置、电子设备和存储介质 |
CN117057755A (zh) * | 2023-10-11 | 2023-11-14 | 北京远舢智能科技有限公司 | 面向工业控制设备的流程热更新方法、设备及介质 |
CN117057755B (zh) * | 2023-10-11 | 2024-01-12 | 北京远舢智能科技有限公司 | 面向工业控制设备的流程热更新方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106155718B (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106155718A (zh) | 流程引擎实现方法及流程引擎系统 | |
CN103380423B (zh) | 用于私人云计算的系统和方法 | |
US7886028B2 (en) | Method and system for system migration | |
CN104750469B (zh) | 源代码统计分析方法和系统 | |
US6697822B1 (en) | Method of maintaining database records | |
CN104391725A (zh) | 页面展示方法和页面展示装置 | |
Liang et al. | Service pattern discovery of web service mining in web service registry-repository | |
CN101287040A (zh) | 基于发送方与接收方之间的交互历史和上下文的动作预测 | |
US20180157851A1 (en) | Systems and methods for authentication of access based on multi-data source information | |
CN103377336A (zh) | 一种计算机系统用户权限的控制方法和系统 | |
CN102007756B (zh) | 用于数据处理环境中的动态供应的方法和装置 | |
CN106649602A (zh) | 业务对象数据处理方法、装置和服务器 | |
CN110297761A (zh) | 返回数据的获取方法、装置、计算机设备及存储介质 | |
Maalej et al. | Towards a research agenda for recommendation systems in requirements engineering | |
US20230273959A1 (en) | Computer-implemented methods, systems comprising computer-readable media, and electronic devices for narrative representation of a network computing environment | |
CN101046746B (zh) | 分布式软件开发环境中的代码管理 | |
US20080235045A1 (en) | Workflow management system | |
CN106529281A (zh) | 一种可执行文件处理方法及装置 | |
CN104520821A (zh) | 动态目录控制 | |
Putrama et al. | Architectural evaluation of data center system using architecture tradeoff analysis method (ATAM): A case study | |
US8949779B2 (en) | Service combination support apparatus, service combination support method, and storage medium | |
CN103092942A (zh) | 查询信息获取及展示的客户端、方法及系统 | |
KR101791784B1 (ko) | 해시 태그를 이용한 명함 관리 방법 및 시스템 | |
CN108920182A (zh) | 一种新型源代码统计分析方法和系统 | |
WO2012111954A2 (ko) | 이씨엠 시스템 및 그 시스템의 어플리케이션 데이터 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |