CN105589707B - 基于工作流监管的应用程序参数管理及配置方法 - Google Patents
基于工作流监管的应用程序参数管理及配置方法 Download PDFInfo
- Publication number
- CN105589707B CN105589707B CN201410749606.5A CN201410749606A CN105589707B CN 105589707 B CN105589707 B CN 105589707B CN 201410749606 A CN201410749606 A CN 201410749606A CN 105589707 B CN105589707 B CN 105589707B
- Authority
- CN
- China
- Prior art keywords
- workflow
- parameter
- configuration
- management
- application
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了基于工作流监管的应用程序参数管理及配置方法,所述包括:确定将要运行于程序容器中的应用程序代码中需要从参数数据库读取参数值的所有参数,并将其作为目标参数;在所述应用程序代码中为各个目标参数加上参数配置标注;在所述应用程序代码运行后所述参数管理及配置单元通过借助***拦截工作流中的运行节点的方式监管每个正在运行的待监管工作流,随之基于拦截结果从所述参数数据库读取相应的参数值并将其传送回所述工作流以赋值给相应的目标参数。本发明所公开的基于工作流监管的应用程序参数管理及配置方法既能够有效管理和配置大量参数又不会影响***性能和效率。
Description
技术领域
本发明涉及应用程序参数管理及配置方法,更具体地,涉及基于工作流监管的应用程序参数管理及配置方法。
背景技术
目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,针对运行应用程序所需的大量参数进行管理和配置变得越来越重要。
在现有的技术方案中,通常以如下两种方式管理和配置运行应用程序所需的参数:(1)通过配置文件管理参数;(2)通过数据库管理参数。
然而,上述现有的技术方案存在如下问题:(1)针对第一种方式而言,由于常常需要手工维护配置文件,故其仅适用于参数数量较少的场合;(2)针对第二种方式而言,虽然其适用于参数数量较大的场合,但是由于加载数量较大的参数所消耗的时间较长,故导致***性能和效率下降。
因此,存在如下需求:提供既能够有效管理和配置大量参数又不会影响***性能和效率的基于工作流监管的应用程序参数管理及配置方法。
发明内容
为了解决上述现有技术方案所存在的问题,本发明提出了提供既能够有效管理和配置大量参数又不会影响***性能和效率的基于工作流监管的应用程序参数管理及配置方法。
本发明的目的是通过以下技术方案实现的:
一种基于工作流监管的应用程序参数管理及配置方法,所述基于工作流监管的应用程序参数管理及配置方法包括下列步骤:
(A1)确定将要运行于程序容器中的应用程序代码中需要从参数数据库读取参数值的所有参数,并将其作为目标参数,其中所述程序容器包括与所述应用程序代码相关联的参数管理及配置单元;
(A2)在所述应用程序代码中为各个目标参数加上参数配置标注,其中所述参数配置标注指示与其相关联的参数的标识符,参数类型以及加载方式;
(A3)在所述应用程序代码运行后所述参数管理及配置单元通过借助***拦截工作流中的运行节点的方式监管每个正在运行的待监管工作流,随之基于拦截结果从所述参数数据库读取相应的参数值并将其传送回所述工作流以赋值给相应的目标参数。
在上面所公开的方案中,优选地,所述参数配置标注所指示的加载方式是下列中的一个:启动时加载或运行时加载。
在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:所述参数管理及配置单元解析所监管的工作流中存在的与成员变量相关联的指示加载方式为“运行时加载”的参数配置标注,以便获得所述参数配置标注的标识符,并随后根据标识符查询所述参数数据库以读取出相应的参数值,以及随之将读取出的参数值传送回所述工作流以赋值给相应的目标参数。
在上面所公开的方案中,优选地,每个所述工作流中的运行节点被分类成开始节点、结束节点和普通节点,其中,所述开始节点指示该工作流的开始,所述结束节点指示该工作流的结束,并且所述开始节点和结束节点通过在相应的代码处添加标注的方式而被标识。
在上面所公开的方案中,优选地,当所述***拦截到工作流中的开始节点后,所述***在该节点执行完成后保存该工作流的状态信息,并且当所述***拦截到工作流中的普通节点后,所述***在该节点执行之前恢复该工作流的状态并在该节点执行之后保存该工作流的状态信息,以及当所述***拦截到工作流中的结束节点后,所述***在该节点执行之前恢复该工作流的状态并在该节点执行之后销毁该工作流的状态信息。
在上面所公开的方案中,优选地,所述***在工作流初始运行时为每个工作流生成唯一标识符,并且在随后基于所述唯一标识执行关于该工作流的状态信息保存和提取操作。
在上面所公开的方案中,优选地,所述***通过缓存的方式保存工作流的状态信息,并且对每个工作流均生成独立的工作流缓存区以实现多线程并发执行。
在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:(B1)所述程序容器加载所述应用程序代码,并且随之在生成可运行的应用程序实例时(即***初始化时),将所述应用程序代码中存在的指示加载方式为“启动时加载”的参数配置标注传送到所述参数管理及配置单元;(B2)所述参数管理及配置单元解析接收到的参数配置标注以便获得所述参数配置标注的标识符,并随之根据标识符查询所述参数数据库以读取出相应的参数值;(B3)所述参数管理及配置单元将读取出的参数值传送回所述应用程序实例以赋值给相应的目标参数。
在上面所公开的方案中,优选地,在所述参数管理及配置单元将读取出的参数值传送回所述应用程序实例或所述工作流时根据相应的参数配置标注所指示的参数类型将读取出的参数值变换为所期望的类型。
在上面所公开的方案中,优选地,以分级的方式划分和管理所述目标参数,并且在声明参数时指定其分级信息。
在上面所公开的方案中,优选地,用户能够基于参数分级信息以定向地方式批量维护所述参数数据库中的参数值。例如,定位一个子***、或者一个模块、或者一个组来批量更新特定的子***、或模块、或组的参数。
本发明所公开的基于工作流监管的应用程序参数管理及配置方法具有下列优点:由于可以以“启动时加载”或“运行时加载”的方式为不同的参数赋值,并且以分级的方式划分和管理参数,故既能够有效管理和配置大量参数又不会影响***性能和效率,由于使用了拦截技术以及缓存方式监管工作流的状态,故无需与相关服务器中的工作流状态信息数据库进行交互,从而显著地提高了***效率。
附图说明
结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
图1是根据本发明的实施例的基于工作流监管的应用程序参数管理及配置方法的流程图。
具体实施方式
图1是根据本发明的实施例的基于工作流监管的应用程序参数管理及配置方法的流程图。如图1所示,本发明所公开的基于工作流监管的应用程序参数管理及配置方法包括下列步骤:(A1)确定将要运行于程序容器中的应用程序代码中需要从参数数据库读取参数值的所有参数,并将其作为目标参数,其中所述程序容器包括与所述应用程序代码相关联的参数管理及配置单元;(A2)在所述应用程序代码中为各个目标参数加上参数配置标注,其中所述参数配置标注指示与其相关联的参数的标识符(即ID),参数类型以及加载方式;(A3)在所述应用程序代码运行后所述参数管理及配置单元通过借助***拦截工作流中的运行节点的方式监管每个正在运行的待监管工作流(即需要被管理的工作流,例如特定类型的函数过程,其可以被预先确定和配置),随之基于拦截结果从所述参数数据库读取相应的参数值并将其传送回所述工作流以赋值给相应的目标参数。
优选地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,所述参数配置标注所指示的加载方式是下列中的一个:启动时加载或运行时加载(每个目标参数的加载方式根据实际需求而被设定)。
优选地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,所述步骤(A3)进一步包括:所述参数管理及配置单元解析所监管的工作流中存在的与成员变量相关联的指示加载方式为“运行时加载”的参数配置标注,以便获得所述参数配置标注的标识符,并随后根据标识符查询所述参数数据库以读取出相应的参数值,以及随之将读取出的参数值传送回所述工作流以赋值给相应的目标参数。
优选地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,每个所述工作流中的运行节点被分类成开始节点、结束节点和普通节点,其中,所述开始节点指示该工作流的开始,所述结束节点指示该工作流的结束,并且所述开始节点和结束节点通过在相应的代码处添加标注的方式而被标识。
优选地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,当所述***拦截到工作流中的开始节点后,所述***在该节点执行完成后保存该工作流的状态信息,并且当所述***拦截到工作流中的普通节点后,所述***在该节点执行之前恢复该工作流的状态并在该节点执行之后保存该工作流的状态信息,以及当所述***拦截到工作流中的结束节点后,所述***在该节点执行之前恢复该工作流的状态并在该节点执行之后销毁该工作流的状态信息。
优选地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,所述***在工作流初始运行时为每个工作流生成唯一标识符,并且在随后基于所述唯一标识执行关于该工作流的状态信息保存和提取操作(即将该唯一标识符作为键值)。
优选地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,所述***通过缓存的方式保存工作流的状态信息,并且对每个工作流均生成独立的工作流缓存区以实现多线程并发执行。
优选地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,所述步骤(A3)进一步包括:(B1)所述程序容器加载所述应用程序代码,并且随之在生成可运行的应用程序实例时(即***初始化时),将所述应用程序代码中存在的指示加载方式为“启动时加载”的参数配置标注传送到所述参数管理及配置单元;(B2)所述参数管理及配置单元解析接收到的参数配置标注以便获得所述参数配置标注的标识符,并随之根据标识符查询所述参数数据库以读取出相应的参数值;(B3)所述参数管理及配置单元将读取出的参数值传送回所述应用程序实例以赋值给相应的目标参数。
示例性地,所述应用程序代码包含符合面向对象语言(诸如C++语言、java语言等等)规范的类(class)代码,并且生成可运行的应用程序实例包括根据所述类代码生成对象实例。
优选地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,在所述参数管理及配置单元将读取出的参数值传送回所述应用程序实例或所述工作流时根据相应的参数配置标注所指示的参数类型将读取出的参数值变换为所期望的类型(例如,从字符型变换为实际变量所需要的类型)。
优选地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,以分级的方式划分和管理所述目标参数,并且在声明参数时指定其分级信息(即其分级归属)。
示例性地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,以三级方式划分和管理所述目标参数,其中,第一级为子***级别,第二级是模块级别、第三级是组级别(即一个目标参数属于某个子***的某个模块的某个组)。
优选地,在本发明所公开的基于工作流监管的应用程序参数管理及配置方法中,用户能够基于参数分级信息以定向地方式批量维护所述参数数据库中的参数值。例如,定位一个子***、或者一个模块、或者一个组来批量更新特定的子***、或模块、或组的参数。
由上可见,本发明所公开的基于工作流监管的应用程序参数管理及配置方法具有下列优点:由于可以以“启动时加载”或“运行时加载”的方式为不同的参数赋值,并且以分级的方式划分和管理参数,故既能够有效管理和配置大量参数又不会影响***性能和效率,由于使用了拦截技术以及缓存方式监管工作流的状态,故无需与相关服务器中的工作流状态信息数据库进行交互,从而显著地提高了***效率。
尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。
Claims (12)
1.一种基于工作流监管的应用程序参数管理及配置方法,所述基于工作流监管的应用程序参数管理及配置方法包括下列步骤:
(A1)确定将要运行于程序容器中的应用程序代码中需要从参数数据库读取参数值的所有参数,并将其作为目标参数,其中所述程序容器包括与所述应用程序代码相关联的参数管理及配置单元;
(A2)在所述应用程序代码中为各个目标参数加上参数配置标注,其中所述参数配置标注指示与其相关联的参数的标识符,参数类型以及加载方式;
(A3)在所述应用程序代码运行后所述参数管理及配置单元通过借助***拦截工作流中的运行节点的方式监管每个正在运行的待监管工作流,随之基于拦截结果从所述参数数据库读取相应的参数值并将其传送回所述工作流以赋值给相应的目标参数。
2.根据权利要求1所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,所述参数配置标注所指示的加载方式是:启动时加载。
3.根据权利要求1所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,所述参数配置标注所指示的加载方式是:运行时加载。
4.根据权利要求3所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,所述步骤(A3)进一步包括:所述参数管理及配置单元解析所监管的工作流中存在的与成员变量相关联的指示加载方式为“运行时加载”的参数配置标注,以便获得所述参数配置标注的标识符,并随后根据标识符查询所述参数数据库以读取出相应的参数值,以及随之将读取出的参数值传送回所述工作流以赋值给相应的目标参数。
5.根据权利要求4所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,每个所述工作流中的运行节点被分类成开始节点、结束节点和普通节点,其中,所述开始节点指示该工作流的开始,所述结束节点指示该工作流的结束,并且所述开始节点和结束节点通过在相应的代码处添加标注的方式而被标识。
6.根据权利要求5所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,当所述***拦截到工作流中的开始节点后,所述***在该节点执行完成后保存该工作流的状态信息,并且当所述***拦截到工作流中的普通节点后,所述***在该节点执行之前恢复该工作流的状态并在该节点执行之后保存该工作流的状态信息,以及当所述***拦截到工作流中的结束节点后,所述***在该节点执行之前恢复该工作流的状态并在该节点执行之后销毁该工作流的状态信息。
7.根据权利要求6所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,所述***在工作流初始运行时为每个工作流生成唯一标识符,并且在随后基于所述唯一标识执行关于该工作流的状态信息保存和提取操作。
8.根据权利要求7所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,所述***通过缓存的方式保存工作流的状态信息,并且对每个工作流均生成独立的工作流缓存区以实现多线程并发执行。
9.根据权利要求8所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,所述步骤(A3)进一步包括:(B1)所述程序容器加载所述应用程序代码,并且随之在生成可运行的应用程序实例时(即***初始化时),将所述应用程序代码中存在的指示加载方式为“启动时加载”的参数配置标注传送到所述参数管理及配置单元;(B2)所述参数管理及配置单元解析接收到的参数配置标注以便获得所述参数配置标注的标识符,并随之根据标识符查询所述参数数据库以读取出相应的参数值;(B3)所述参数管理及配置单元将读取出的参数值传送回所述应用程序实例以赋值给相应的目标参数。
10.根据权利要求9所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,在所述参数管理及配置单元将读取出的参数值传送回所述应用程序实例或所述工作流时根据相应的参数配置标注所指示的参数类型将读取出的参数值变换为所期望的类型。
11.根据权利要求10所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,以分级的方式划分和管理所述目标参数,并且在声明参数时指定其分级信息。
12.根据权利要求11所述的基于工作流监管的应用程序参数管理及配置方法,其特征在于,用户能够基于参数分级信息以定向地方式批量维护所述参数数据库中的参数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410749606.5A CN105589707B (zh) | 2014-12-10 | 2014-12-10 | 基于工作流监管的应用程序参数管理及配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410749606.5A CN105589707B (zh) | 2014-12-10 | 2014-12-10 | 基于工作流监管的应用程序参数管理及配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105589707A CN105589707A (zh) | 2016-05-18 |
CN105589707B true CN105589707B (zh) | 2019-01-18 |
Family
ID=55929314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410749606.5A Active CN105589707B (zh) | 2014-12-10 | 2014-12-10 | 基于工作流监管的应用程序参数管理及配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105589707B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220318067A1 (en) * | 2021-04-06 | 2022-10-06 | Intuit Inc. | Orchestration layer for user defined automation workflows |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375746A (zh) * | 2010-08-11 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 一种输入法自适应应用程序的方法及装置 |
EP2560092A1 (en) * | 2011-08-19 | 2013-02-20 | Giga-Byte Technology | Method and system for parameter configuration |
CN103577906A (zh) * | 2012-07-20 | 2014-02-12 | 杭州勒卡斯广告策划有限公司 | 工作流生成方法、工作流执行方法以及工作流执行*** |
CN103729171A (zh) * | 2012-10-11 | 2014-04-16 | 三亚中兴软件有限责任公司 | 业务工作流代码的生成方法及装置 |
-
2014
- 2014-12-10 CN CN201410749606.5A patent/CN105589707B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375746A (zh) * | 2010-08-11 | 2012-03-14 | 腾讯科技(深圳)有限公司 | 一种输入法自适应应用程序的方法及装置 |
EP2560092A1 (en) * | 2011-08-19 | 2013-02-20 | Giga-Byte Technology | Method and system for parameter configuration |
CN103577906A (zh) * | 2012-07-20 | 2014-02-12 | 杭州勒卡斯广告策划有限公司 | 工作流生成方法、工作流执行方法以及工作流执行*** |
CN103729171A (zh) * | 2012-10-11 | 2014-04-16 | 三亚中兴软件有限责任公司 | 业务工作流代码的生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105589707A (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10860576B2 (en) | Splitting a query into native query operations and post-processing operations | |
US8244686B2 (en) | High throughput, reliable replication of transformed data in information systems | |
US8954971B2 (en) | Data collecting method, data collecting apparatus and network management device | |
CN105573774B (zh) | 应用程序参数管理及配置方法 | |
CN105868033A (zh) | 基于Redis实现优先级消息队列的方法及*** | |
CN109726004B (zh) | 一种数据处理方法及装置 | |
CN111459763A (zh) | 跨kubernetes集群监控***及方法 | |
US10498817B1 (en) | Performance tuning in distributed computing systems | |
CN102103497A (zh) | 有限状态机执行装置和方法、在应用中的建立和使用方法 | |
CN102521712A (zh) | 一种流程实例数据处理方法和装置 | |
CN105426467A (zh) | 一种用于Presto的SQL查询方法及*** | |
CN111124392A (zh) | 一种提高物联网平台规则引擎高并发能力的方法 | |
CN110569113A (zh) | 分布式任务的调度方法及***、计算机可读存储介质 | |
US11169495B2 (en) | Methods for provisioning an industrial internet-of-things control framework of dynamic multi-cloud events and devices thereof | |
CN105718307B (zh) | 进程管理方法及进程管理装置 | |
CN108399095B (zh) | 支持动态管理定时任务的方法、***、设备和存储介质 | |
CN111984505A (zh) | 一种运维数据采集引擎及采集方法 | |
CN115390920A (zh) | 事件流处理方法、装置、计算机设备及存储介质 | |
CN105589707B (zh) | 基于工作流监管的应用程序参数管理及配置方法 | |
Bauer et al. | Reusing system states by active learning algorithms | |
CN103810258A (zh) | 基于数据仓库的数据汇聚调度方法 | |
CN109766386A (zh) | 一种同步服务端离线数据的方法及*** | |
CN111538491B (zh) | 数据事件处理方法、装置、设备和存储介质 | |
CN114493493A (zh) | 决策引擎及决策引擎实现方法 | |
CN103761248A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |