CN104331289A - 一种将插件式设计应用到流程处理的方法及装置 - Google Patents
一种将插件式设计应用到流程处理的方法及装置 Download PDFInfo
- Publication number
- CN104331289A CN104331289A CN201410602652.2A CN201410602652A CN104331289A CN 104331289 A CN104331289 A CN 104331289A CN 201410602652 A CN201410602652 A CN 201410602652A CN 104331289 A CN104331289 A CN 104331289A
- Authority
- CN
- China
- Prior art keywords
- task
- plug
- unit
- registration
- execution sequence
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种将插件式设计应用到流程处理的方法及装置,其中,将插件式设计应用到流程处理的方法包括:根据特定业务流程中包含的至少一个任务构建与所述任务对应的任务插件;将所述构建的任务插件注册到任务注册器中,并向所述任务注册器传入预先设置的任务插件执行顺序;任务执行器按照所述预先设置的任务插件执行顺序对所述任务插件进行执行。通过本发明提供的方法,能够通过动态构建任务插件的方式来实现流程处理环节的调整。
Description
技术领域
本发明涉及流程处理技术领域,具体涉及一种将插件式设计应用到流程处理的方法及装置。
背景技术
针对不同的业务,业务流程差别很大,并且每个流程中包含多个相同或不同的处理环节(也可以称为任务),因此针对不同的业务流程,需要对处理环节进行调整。目前,对于处理环节的调整主要是采用修改业务流程对应的程序代码的方式,即通过修改代码来实现对处理环节的调整。
采用上述方式,如果希望对流程中的处理环节进行调整,需要对流程对应的整个程序代码进行修改,不利用二次开发,不利于动态增加或减少流程中的任务,也不方便实现对流程中各个任务的控制。
发明内容
本发明所要解决的技术问题是提供一种将插件式设计应用到流程处理的方法及装置,能够通过动态构建任务插件的方式来实现流程处理环节的调整。
依据本发明的一个方面,提供了一种将插件式设计应用到流程处理的方法,包括:
根据特定业务流程中包含的至少一个任务构建与所述任务对应的任务插件;
将所述构建的任务插件注册到任务注册器中,并向所述任务注册器传入预先设置的任务插件执行顺序;
任务执行器按照所述预先设置的任务插件执行顺序对所述任务插件进行执行。
依据本发明的另一个方面,提供了一种将插件式设计应用到流程处理的装置,包括:
任务插件构建模块,用于根据特定业务流程中包含的至少一个任务构建与所述任务对应的任务插件;
任务插件注册模块,用于将所述构建的任务插件注册到任务注册器中,并向所述任务注册器传入预先设置的任务插件执行顺序;
任务插件执行模块,用于调用任务执行器按照所述预先设置的任务插件执行顺序对所述任务插件进行执行。
本发明提供的一种将插件式设计应用到流程处理的方法及装置,根据业务流程中的任务构建与任务对应的任务插件,然后将构建的任务插件注册到任务注册器中,并向任务注册器中传入任务插件执行顺序,任务执行器按照任务插件执行顺序对注册的任务插件进行执行。通过本发明提供的方法,若需要对业务流程中的任务进行调整,只需要加载任务对应的任务插件,对任务插件按照任务插件执行顺序进行执行,有利于二次开发,同时也可以根据业务流程的任务动态增加或删除任务插件,方便业务流程中任务的调整,达到对业务流程中处理环节的调整。
附图说明
图1为本发明实施例一的一种将插件式设计应用到流程处理的方法流程图;
图2为本发明实施例一中的一个具体实例示意图;
图3为本发明实施例二的一种将插件式设计应用到流程处理的装置示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例一、一种将插件式设计应用到流程处理的方法。下面结合图1-图2对本发明提供的方法进行详细说明。
图1中,S101、根据特定业务流程中包含的至少一个任务构建与该任务对应的任务插件。
具体的,一个业务流程中可能包含若干个处理环节,也可以称为任务,即一个业务流程中可能包含若干个任务,比如,在广电信控业务流程中,可能包含接收短信、信息过滤和转发短信等多个任务。
对于不同的业务流程,每个业务流程中包含的任务可能有若干个是相同的,若干个任务是不同的,而且若干个任务的执行顺序可能是相同的,若干个任务的执行顺序也有可能是不同的,因此针对不同的业务流程需要对其中的任务及各任务的执行顺序进行调整。
本实施例首先根据特定的业务流程预先配置该业务流程中包含的任务,并且当特定业务流程中包含的任务为一个以上时,预先设置业务流程中包含的多个任务之间的任务执行顺序。将不同业务流程中包含的任务以及各任务之间的任务执行顺序以列表的方式进行存储,即业务流程与其中包含的任务及各任务之间的任务执行顺序的对应关系形成任务列表集合。
当需要对某个特定业务流程进行执行时,在任务列表集合中查找该业务流程包含的任务及该流程中各任务执行顺序。查找到该业务流程所包含的任务后,构建与这些任务对应的任务插件,其中,任务与任务插件存在一一对应的关系。
S102、将构建的任务插件注册到任务注册器中,并向任务注册器传入预先设置的任务插件执行顺序。
具体的,参见图2,若需要对某个特定业务流程进行执行时,将该业务流程中包含的任务对应的任务插件注册到任务注册器中,并向任务注册器中传入各任务插件的执行顺序。
在将任务插件注册到任务注册器前,对各任务进行功能定义,得到各任务的功能信息,构建的任务插件具有唯一标识其身份的任务插件标识,且任务的功能信息与任务插件标识一一对应。在对任务插件进行注册时,根据特定业务流程包含的任务的功能信息及任务的功能信息与任务插件的对应关系,向任务注册器中注册与任务的功能信息匹配的任务插件标识对应的任务插件。
在具体任务插件注册的过程中,可以使用带函数指针的宏来实现任务插件的注册。比如,先给业务流程中的任务进行功能信息的描述(即对任务进行功能定义),如下:
//使用统一的数据结构(函数指针)的接口参数对任务进行功能信息的描述;
wgi_owe_off_getinfo_d_wh(CREDIT_TASK_T*p_CT);
//定义set_task_proces_getinfo注册函数:其中接收函数指针并将任务插件标识赋值给任务注册器;
Cache_CreditTask[task_no].pFunc_GETINFO=pFunc;
//定义任务插件注册宏,其中t指任务插件标识,P指任务的功能信息;
#define REG_TASK_PROC_GET(t,p);
//使用宏注册任务插件;
REG_TASK_PROC_GET(3,wgi_owe_off_getinfo_d_wh)。
在将任务插件注册到任务注册器的同时,根据前述预先设置的业务流程中包含的任务的任务执行顺序,任务插件执行顺序与任务执行顺序相同,并向任务注册器中传入任务插件执行顺序。
S103、任务执行器按照预先设置的任务插件执行顺序对任务插件进行执行。
具体的,上述步骤S102中将构建的任务插件注册到任务注册器,并将预先设置的任务插件执行顺序传入任务注册器中,本步骤任务执行器对任务插件按照预先设置的任务插件执行顺序进行执行,也即对整个业务流程的执行。
另外,如果前述整个业务流程有若干个子流程,在整个业务流程有一个以上的子流程的情况下,任务控制器可以控制任务注册器中任务插件的开启或关闭,即控制是否执行某个任务插件。也就是说当业务流程中的某个子流程只需要对任务注册器中的部分任务插件进行执行时,任务控制器可以开启该子流程需要执行的任务插件,而关闭该子流程不需要执行的任务插件。当任务控制器开启了该子流程需要执行的任务插件时,任务执行器按照预先设置的任务插件的执行顺序进行执行,即对该子流程进行了执行。
当然,整个业务流程通常包括若干个任务,当其中的某个任务又包含若干个子任务,可以按照前述的方法对这些子任务按照执行顺序进行执行。
实施例二、一种将插件式设计应用到流程处理的装置。下面结合图3对本实施例提供的装置进行说明。
图3中,本实施例提供的装置包括执行顺序设置模块301、任务插件构建模块302、任务插件注册模块303、任务插件控制模块304和任务插件执行模块305。
其中,执行顺序设置模块301主要用于预先配置特定业务流程所包含的至少一个任务,且当特定业务流程包括一个以上的任务时,预先设置任务执行顺序。
任务插件构建模块302主要用于根据特定业务流程中包含的至少一个任务构建与该任务对应的任务插件。
具体的,首先根据特定的业务流程预先配置该业务流程中包含的任务,当特定业务流程中包含的任务为一个以上时,执行顺序设置模块301设置业务流程中包含的多个任务之间的任务执行顺序。将不同业务流程中包含的任务以及预先设置的各任务之间的任务执行顺序以列表的方式进行存储,即业务流程与其中包含的任务及各任务之间的任务执行顺序的对应关系形成任务列表集合。
当需要对某个特定业务流程进行执行时,在任务列表集合中查找该业务流程包含的任务及任务执行顺序。查找到该业务流程所包含的任务后,任务插件构建模块302构建与这些任务对应的任务插件,其中,任务与任务插件存在一一对应的关系。
任务插件注册模块303主要用于将任务插件构建模块302构建的任务插件注册到任务注册器中,并向任务注册器传入预先设置的任务插件执行顺序。
具体的,若需要对某个特定业务流程进行执行时,任务插件注册模块303将该业务流程中包含的任务对应的任务插件注册到任务注册器中,并向任务注册器中传入各任务插件执行顺序。
在任务插件注册模块303将任务插件注册到任务注册器前,对各任务进行功能定义,得到各任务的功能信息,任务插件构建模块302构建的任务插件具有唯一标识其身份的任务插件标识,且任务的功能信息与任务插件标识一一对应。在任务插件注册模块303对任务插件进行注册的同时,根据特定业务流程包含的任务的功能信息及任务的功能信息与任务插件标识的对应关系,向任务注册器中注册与任务的功能信息匹配的任务插件标识对应的任务插件。
任务插件控制模块304主要用于在特定业务流程包含一个以上子流程的情况下,根据子流程包含的任务,调用任务控制器开启该子流程中包含的任务对应的任务插件。
任务插件执行模块305主要用于调用任务执行器按照预先设置的任务插件执行顺序对任务插件进行执行。
具体的,任务插件注册模块303将任务插件构建模块302构建的任务插件注册到任务注册器,并将预先设置的任务插件执行顺序传入任务注册器中,任务插件执行模块305调用任务执行器对任务插件按照预先设置的任务插件执行顺序进行执行,也即对整个业务流程的执行。
另外,如果前述整个业务流程有若干个子流程,在整个业务流程有一个以上的子流程的情况下,任务插件控制模块304调用任务控制器控制任务注册器中任务插件的开启或关闭,即控制是否执行某个任务插件。也就是说当业务流程中的某个子流程只需要对任务注册器中的部分任务插件进行执行时,任务控制器可以开启该子流程需要执行的任务插件,而关闭该子流程不需要执行的任务插件。当任务控制器开启了该子流程需要执行的任务插件时,任务执行器按照预先设置的任务插件的执行顺序进行执行,即对该子流程进行了执行。
当然,整个业务流程通常包括若干个任务,当其中的某个任务又包含若干个子任务,可以按照前述的方法对这些子任务按照执行顺序进行执行。
本发明提供的一种将插件式设计应用到流程处理的方法及装置,根据业务流程中的任务构建与任务对应的任务插件,然后将构建的任务插件注册到任务注册器中,并向任务注册器中传入预先设置的任务插件执行顺序,任务执行器按照任务插件执行顺序对注册的任务插件进行执行。通过本发明提供的方法,若需要对业务流程中的任务进行调整,只需要加载任务对应的任务插件,对任务插件按照任务插件执行顺序进行执行,有利于二次开发,同时也可以根据业务流程的任务动态增加或删除任务插件,方便业务流程中任务的调整,达到对业务流程中处理环节的调整;也可以对任务插件执行顺序进行调整以达到对流程环节执行顺序的调整。
另外,若业务流程中包括一个以上的子流程,可以控制子流程中包括的任务对应的任务插件的开启和闭合来实现子流程的执行,具体相当的灵活性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种将插件式设计应用到流程处理的方法,其特征在于,包括:
步骤S101、根据特定业务流程中包含的至少一个任务构建与所述任务对应的任务插件;
步骤S102、将所述构建的任务插件注册到任务注册器中,并向所述任务注册器传入预先设置的任务插件执行顺序;
步骤S103、任务执行器按照所述预先设置的任务插件执行顺序对所述任务插件进行执行。
2.如权利要求1所述的将插件式设计应用到流程处理的方法,其特征在于,执行步骤S101之前还包括:
预先配置特定业务流程所包含的至少一个任务,当特定业务流程包括一个以上的任务时,预先设置所述特定业务流程包含的任务的任务执行顺序;
步骤S102中向所述任务注册器传入预先设置的任务插件执行顺序包括:
所述任务插件执行顺序与所述预先设置的任务执行顺序相同,将所述任务插件执行顺序传入所述任务注册器中。
3.如权利要求1所述的将插件式设计应用到流程处理的方法,其特征在于,定义所述任务的功能信息且所述任务插件具有唯一标识其身份的任务插件标识,所述任务的功能信息与所述任务插件标识一一对应。
4.如权利要求3所述的将插件式设计应用到流程处理的方法,其特征在于,所述步骤S102还包括:
根据所述特定业务流程中包含的任务的功能信息及所述任务的功能信息与所述任务插件标识的对应关系,向任务注册器中注册与所述任务的功能信息匹配的任务插件标识对应的任务插件。
5.如权利要求1所述的将插件式设计应用到流程处理的方法,其特征在于,所述步骤S103还包括:
在所述特定业务流程包含一个以上子流程的情况下,根据所述子流程包含的任务,任务控制器开启所述子流程中包含的任务对应的任务插件,任务执行器按照预先设置的任务插件执行顺序对所述开启的任务插件进行执行。
6.一种将插件式设计应用到流程处理的装置,其特征在于,包括:
任务插件构建模块,用于根据特定业务流程中包含的至少一个任务构建与所述任务对应的任务插件;
任务插件注册模块,用于将所述构建的任务插件注册到任务注册器中,并向所述任务注册器传入预先设置的任务插件执行顺序;
任务插件执行模块,用于调用任务执行器按照所述预先设置的任务插件执行顺序对所述任务插件进行执行。
7.如权利要求6所述的将插件式设计应用到流程处理的装置,其特征在于,还包括:
执行顺序设置模块,用于预先配置特定业务流程所包含的至少一个任务,并且当所述特定业务流程包括一个以上的任务时,预先设置所述特定业务流程中包含的任务的任务执行顺序;
所述任务插件注册模块用于向所述任务注册器传入预先设置的任务插件执行顺序具体包括:
所述任务插件执行顺序与所述预先设置的任务执行顺序相同,将所述任务插件执行顺序传入所述任务注册器中。
8.如权利要求6所述的将插件式设计应用到流程处理的装置,其特征在于,对所述任务进行功能定义且所述任务插件具有唯一标识其身份的任务插件标识,所述任务的功能信息与所述任务插件标识一一对应。
9.如权利要求8所述的将插件式设计应用到流程处理的装置,其特征在于,所述任务插件注册模块用于将所述构建的任务插件注册到任务注册器具体包括:
根据所述特定业务流程中包含的任务的功能信息及所述任务的功能信息与所述任务插件标识的对应关系,向任务注册器中注册与所述任务的功能信息匹配的任务插件标识对应的任务插件。
10.如权利要求6所述的将插件式设计应用到流程处理的装置,其特征在于,还包括:
任务控制模块,用于在所述特定业务流程包含一个以上子流程的情况下,根据所述子流程包含的任务,调用任务控制器开启所述子流程中包含的任务对应的任务插件;
任务插件执行模块按照预先设置的任务插件执行顺序对所述开启的任务插件进行执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410602652.2A CN104331289A (zh) | 2014-10-31 | 2014-10-31 | 一种将插件式设计应用到流程处理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410602652.2A CN104331289A (zh) | 2014-10-31 | 2014-10-31 | 一种将插件式设计应用到流程处理的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104331289A true CN104331289A (zh) | 2015-02-04 |
Family
ID=52406023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410602652.2A Pending CN104331289A (zh) | 2014-10-31 | 2014-10-31 | 一种将插件式设计应用到流程处理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104331289A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958832A (zh) * | 2018-06-12 | 2018-12-07 | 北京蜂盒科技有限公司 | 定制业务流程的方法、装置和存储介质以及电子设备 |
CN110347441A (zh) * | 2019-06-25 | 2019-10-18 | 银江股份有限公司 | 一种热扩展数据集成引擎系统及方法 |
CN110704124A (zh) * | 2019-09-19 | 2020-01-17 | 国云科技股份有限公司 | 一种流数据结构化处理系统及方法 |
CN117421071A (zh) * | 2023-12-18 | 2024-01-19 | 山东山大华天软件有限公司 | 一种插件化业务可视化封装方法及集成系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7340406B1 (en) * | 2000-09-21 | 2008-03-04 | Netscape Communications Corporation | Business rules system |
CN103617508A (zh) * | 2013-12-12 | 2014-03-05 | 用友软件股份有限公司 | 可配置的业务规则插件扩展装置和业务规则插件扩展方法 |
-
2014
- 2014-10-31 CN CN201410602652.2A patent/CN104331289A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7340406B1 (en) * | 2000-09-21 | 2008-03-04 | Netscape Communications Corporation | Business rules system |
CN103617508A (zh) * | 2013-12-12 | 2014-03-05 | 用友软件股份有限公司 | 可配置的业务规则插件扩展装置和业务规则插件扩展方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958832A (zh) * | 2018-06-12 | 2018-12-07 | 北京蜂盒科技有限公司 | 定制业务流程的方法、装置和存储介质以及电子设备 |
CN110347441A (zh) * | 2019-06-25 | 2019-10-18 | 银江股份有限公司 | 一种热扩展数据集成引擎系统及方法 |
CN110704124A (zh) * | 2019-09-19 | 2020-01-17 | 国云科技股份有限公司 | 一种流数据结构化处理系统及方法 |
CN117421071A (zh) * | 2023-12-18 | 2024-01-19 | 山东山大华天软件有限公司 | 一种插件化业务可视化封装方法及集成系统 |
CN117421071B (zh) * | 2023-12-18 | 2024-03-29 | 山东山大华天软件有限公司 | 一种插件化业务可视化封装方法及集成系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133053A (zh) | 一种应用程序的页面跳转方法和装置、存储介质及终端 | |
CN105917311A (zh) | 用于便携式设备中的同步任务分发的系统和方法 | |
CN102269977B (zh) | 一种会议室设备控制方法 | |
CN103473141A (zh) | 一种带外查看及修改bios设置选项的方法 | |
CN110325968A (zh) | 分布式计算系统中的系统升级管理 | |
CN102087594B (zh) | 扩展点和插件的管理方法和装置 | |
CN109815284A (zh) | 一种数据处理的方法和装置 | |
CN106538042A (zh) | 订户标识模块管理方法和支持该方法的电子设备 | |
CN104331289A (zh) | 一种将插件式设计应用到流程处理的方法及装置 | |
CN108763960A (zh) | 资源权限管理方法及装置 | |
US10405155B2 (en) | Cloud-based device configuration management of heterogeneous devices | |
CN106469414A (zh) | 移动股票开放平台装置与方法 | |
CN105814579A (zh) | 沙盒应用数据重定向至数据中心 | |
CN108255467A (zh) | 按照工作流顺序执行服务的方法、装置及系统 | |
CN107203878A (zh) | 支付交易方法及其电子设备 | |
US11797567B1 (en) | Rapid hyperledger onboarding platform | |
CN104281478A (zh) | 更新应用程序的方法及装置 | |
CN109783802A (zh) | 一种业务规则处理方法、服务器及计算机可读存储介质 | |
CN104239508A (zh) | 数据查询方法和装置 | |
WO2010028583A1 (zh) | 基于权限组件对工作流组件中的权限管理的方法及装置 | |
CN102567825B (zh) | 一种工作流流程配置的方法和装置 | |
CN105573757B (zh) | Android系统的语言更新方法及装置 | |
CN107506200A (zh) | 一种屏幕内容切换方法、终端及计算机可读存储介质 | |
CN105718468A (zh) | 一种数据仓库ods层的建立方法和装置 | |
CN107111584A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150204 |
|
RJ01 | Rejection of invention patent application after publication |