一种基于规则引擎Drools的量化方法与流程
未命名
07-15
阅读:98
评论:0
一种基于规则引擎drools的量化方法
技术领域
1.本发明属于面向软件研制过程中的量化管理领域,具体涉及一种基于规则引擎drools的量化方法。
背景技术:
2.软件产品的系统架构日益复杂,迭代周期越来越短。而每次修改数据采集测量项,都需要开发人员开发、编译、重新部署上线,使得过程中花费时间较多,效率低下。因此针对此问题,本发明通过drools进行数据采集测量项的维护,可线上实时修改,即改即用,节省维护成本,提升迭代速率。
技术实现要素:
3.(一)要解决的技术问题
4.本发明要解决的技术问题是如何提供一种基于规则引擎drools的量化方法,以解决业务维护困难,迭代成本高的问题。
5.(二)技术方案
6.为了解决上述技术问题,本发明提出一种基于规则引擎drools的量化方法,该方法包括如下步骤:
7.步骤一:定义drools规则内容,根据实际业务场景自定义规则实体;
8.步骤二:用户发起数据采集,触发数据采集项定义好的采集规则,获取持续集成环境执行过程中产生的数据,针对产生的数据进行清洗,筛选,分析获取采集规则相关的数据结果后,平台通过数据库对数据结果进行存储;
9.步骤三:模型库依据采集规则采集到的数据结果进行分析和清洗,然后建立模型、建立基线,通过蒙特卡罗模拟预测指导质量指标数据趋势,正向反馈于用户的数据采集,提升量化管理能力。
10.进一步地,所述步骤一具体包括:
11.s11、开发人员编写drools规则,一个规则文件包含若干规则条目,drools本身内置工作空间支持规则条目各之间依赖调用;
12.s12、当业务需求发生变化时,无需停止服务,直接线上修改规则实体。
13.进一步地,所述步骤s11中,drools规则包括:
14.规则分组:一个规则文件分一个组,在执行时需指明规则分组,从而执行该组下的各规则条目;
15.规则条件:根据业务方传入的数据条件进行符合性匹配,即当条件满足时,执行该规则,规则条件为一种判断,同时各规则条目支持优先级的设定,优先级属性值越大越先执行;
16.规则内容:该部分为规则条目的主要部分,涉及sql和函数的运算,这些运算包含了对相关持续集成环境业务的调用;之后线上的动态维护针对规则内容和规则条件;
17.规则结论:规则内容运算完成之后产生的数据结果即为规则结论,该结论通过全局变量的形式供业务模块使用;结论数据的累计即为量化分析的基础数据;
18.以上四部分构成一个完整的规则条目,也称之为规则实体,各规则实体对应一个业务需求,业务需求的执行即通过规则实体的运行得到结果。
19.进一步地,所述步骤s12中,变化包括:采集条件变更、结论定义变更和业务需求的新增或修改。
20.进一步地,所述步骤二具体包括:
21.s21、用户进行定期采集、里程碑采集或结项采集三种方式的数据采集,根据步骤一中的规则定义,采集模块发起调用,执行规则文件;
22.s22、根据匹配的规则,执行规则实体,各规则实体发起持续集成环境业务的调用,规则运行后得到数据结果;
23.s23、上一步数据结果的清洗并汇总获得量化的目标数据,各目标数据表征当前改进活动;每次执行后将目标数据保存到业务方中的关系型数据库中。
24.进一步地,所述步骤s21中,
25.定期采集指:按时间月采集,或用户自由安排时间采集;
26.里程碑采集指:根据任务进度计划的设定,到某里程碑节点进行数据采集统计;
27.结项采集指:项目结项时进行,统计该项目完整周期的数据。
28.进一步地,所述步骤s23还包括:多次执行及项目横向对比累计后,根据目标的达成率反馈出活动的改进效果。
29.进一步地,所述步骤三具体包括:
30.s31、依据步骤二多次采集数据的积累,通过接口推送的方式,将数据进行清洗后,供基线、模型使用;
31.s32、基线衡量某测量项指标,确认其是否具有明确特征,是否服从正态分布,据此作为业务中参考值;
32.s33、模型是分析多测量项的分布关系,将各测量项作为其方程的自变量与因变量,通过其数据模拟得到其符合的数学拟合方程,直观反应出各测量项关系;同时基线作为某个因子的参考项,因子的选择范围需符合基线的上下限值;模型创建后,通过蒙特卡罗方法得到因变量的范围数据,因变量值作为过程改进的指标项,更好地反馈数据质量;
33.s34、根据模型方程,因子的上下限会根据基线自动加载设定,动态调整各因子的取值,从而得到因变量值的较优解;模型方程具备明显特征,这些特征供过程量化分析所用,同时量化的数据结果正向作用于模型模拟的基础数据,从而进一步得到基线及过程特征的最优值,不断改进量化目标。
34.进一步地,所述步骤s32中,建立基线时,用户自由选择数据例,同时支持分组比较。
35.进一步地,模型方程的特征包括:方差、极差和标准差。
36.(三)有益效果
37.本发明提出一种基于规则引擎drools的量化方法,与现有技术相比,本发明具有以下明显的优势和有益效果:
38.(1)drools规则支持用户自定义,用户通过修改规则条件、规则内容及规则结论可
自定义业务边界,线上即改即用,无需重启服务。该方式简化运维的更新部署流程,提升效率。
39.(2)持续集成模块包括各质量数据,如静态代码扫描情况、代码编译情况等。各业务流程数据实现自动化流转清洗,无需人工采集操作。
40.(3)采用蒙特卡罗模拟的方式进行量化分析,数据推送以增量的形式进行,随着数据增多,样本数据增多,从而可不断优化模型、基线的结果。模型结果作为量化基础,递进正向反馈目标质量数据结果。该量化方式缩短分析数据的过程,省时省力,高效得到目标结果。以结果为导向,项目过程中通过分析目标结果的各影响因子(测量项),适时调整业务走向,对达成可行性目标提供价值参考和适当性决策。
附图说明
41.图1为本发明基于规则引擎drools的量化方法框架图。
具体实施方式
42.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
43.本发明主要面向软件研制过程中的量化管理领域,针对项目质量数据的采集与预测问题,使用drools可灵活定义各采集项,支持采集项之间的逻辑调用,支持采集项的循环使用,支持结果目标值的自由配置。为了提升项目数据的质量,依据已产生的历史数据,可作出量化指导。本发明通过drools可快速解决数据采集项的定义,同时具备修改后即时生效,实现线上不停服的个性化配置使用,减少了停服再启动的人工运维成本。通过蒙特卡罗模拟方式,将模拟结果作用于项目过程,该方式可模拟出各测量项的阈值,阈值指导建议项目实施过程中相应环节的数据把控,从而提升项目过程质量。
44.针对软件迭代开发过程中,手动采集数据,修正数据,从而满足高质量的过程绩效量化目标,本发明提供了一种基于规则引擎drools及蒙特卡罗模拟的量化方法。首先,执行基础平台的持续集成业务,依据drools定义的采集指标收集持续集成各个环节产生的业务数据;其次,采集接口运行规则文件,根据规则内容计算产生数据结果;最后,业务数据的累计作为量化分析管理的基础,量化过程中可随数据的积累而不断迭代更新,以便高质量地实现质量与过程绩效目标。本发明通过drools解决了业务维护困难,迭代成本高的问题。相比于其他量化方法,该发明更加灵活高效,同时具备高质量的过程管理方式,针对过程绩效目标地实现具备良好的管控方法。
45.drools是用java语言编写的规则引擎,易用方便维护,同时也具有快速的执行速度。此外,在线上使用时可不重启服务的情况下,随时对实体规则进行扩展和维护,从而快速响应需求变更,减少了硬编码业务规则的成本和风险。
46.蒙特卡罗模拟方法是利用随机性来解决理论上可能是确定性的问题,利用该方法近似求出最优解,也可为其过程量化目标提供参考帮助。同时正向反馈数据采集测量项,针对于其影响因子,进行适当调整,以便更好达成预先设置的量化目标。
47.本发明主要通过drools规则的方式进行数据采集项的定义,实现了高效开发上线使用,通过蒙特卡罗模拟方法不断优化量化管理及原因分析,对项目策划及项目过程实施
提供价值参考,对决策性的指标提供数据支持。基于规则引擎drools的量化方法框架图如图1所示。以下步骤展开描述此过程:
48.步骤一:定义drools规则内容,根据实际业务场景自定义规则实体,该方式优势在于线上实时调整;
49.s11、开发人员编写drools规则,一个规则文件包含若干规则条目,drools本身内置工作空间支持规则条目各之间依赖调用,drools规则主要包括:
50.规则分组:一般一个规则文件分一个组,在执行时需指明规则分组,从而执行该组下的各规则条目。
51.规则条件:根据业务方传入的数据条件进行符合性匹配,即当条件满足时,执行该规则,规则条件通常意义上为一种判断,如常见的比较判断、包含关系判断等,同时各规则条目支持优先级的设定,优先级属性值越大越先执行。
52.规则内容:该部分为规则条目的主要部分,涉及sql和函数的运算,这些运算包含了对相关持续集成环境业务的调用;之后线上的动态维护主要针对于规则内容和规则条件。
53.规则结论:规则内容运算完成之后产生的数据结果即为规则结论,该结论可通过全局变量的形式供业务模块使用。结论数据的累计即为量化分析的基础数据。
54.以上四部分构成一个完整的规则条目,也称之为规则实体,各规则实体对应一个业务需求,业务需求的执行即通过规则实体的运行得到结果。
55.s12、当业务需求发生变化时,这种变化包括采集条件变更、结论定义变更和业务需求的新增或修改,这种情况无需停止服务,可直接线上修改规则实体。
56.步骤二:用户发起数据采集,触发数据采集项定义好的采集规则,获取持续集成环境执行过程中产生的数据,针对产生的数据进行清洗,筛选;分析获取采集规则相关的数据结果后,平台通过数据库对数据结果进行存储。其累计的数据也作为量化模型的基础数据。
57.s21、用户可进行定期采集、里程碑采集、结项采集三种方式的数据采集,根据步骤一中的规则定义,采集模块发起调用,执行规则文件;
58.定期采集:可按时间月采集,也可用户自由安排时间采集;
59.里程碑采集:即根据任务进度计划的设定,到某里程碑节点进行数据采集统计;
60.结项采集:即项目结项时进行,统计该项目完整周期的数据;
61.s22、根据匹配的规则,执行规则实体,各规则实体发起持续集成环境业务的调用,规则运行后得到数据结果;
62.s23、上一步数据结果的清洗并汇总获得量化的目标数据,各目标数据表征当前改进活动。每次执行后将目标数据保存到业务方中的关系型数据库中。多次执行及项目横向对比累计后,根据目标的达成率反馈出活动的改进效果。
63.步骤三:模型库依据采集规则采集到的数据结果进行分析和清洗,然后建立模型、建立基线,通过蒙特卡罗模拟预测指导质量指标数据趋势,正向反馈于用户的数据采集,提升量化管理能力
64.s31、依据步骤二多次采集数据的积累,通过接口推送的方式,将数据进行清洗后,供基线、模型使用。
65.s32、基线衡量某测量项指标,确认其是否具有明确特征,是否服从正态分布,据此
可作为业务中参考值。建立基线时,用户可自由选择数据例,同时支持分组比较。
66.s33、模型是分析多测量项的分布关系,将各测量项作为其方程的自变量与因变量,通过其数据模拟得到其符合的数学拟合方程,这样可直观反应出各测量项关系。同时基线可作为某个因子的参考项,因子的选择范围需符合基线的上下限值。模型创建后,通过蒙特卡罗方法得到因变量的范围数据,因变量值一般作为过程改进的指标项,更好地反馈数据质量。
67.s34、根据模型方程,因子的上下限会根据基线自动加载设定,动态调整各因子的取值,从而得到因变量值的较优解。模型方程具备明显特征,如方差、极差、标准差等,这些特征供过程量化分析所用,同时量化的数据结果正向作用于模型模拟的基础数据,从而进一步得到基线及过程特征的最优值,不断改进量化目标。
68.实施例1:
69.基于规则引擎drools的量化方法,包括以下步骤,
70.步骤一:定义drools规则内容,根据实际业务场景自定义规则实体,该方式优势在于线上实时调整。
71.步骤二:用户发起数据采集,触发数据采集项定义好的采集规则,获取持续集成环境执行过程中产生的数据,针对产生的数据进行清洗,筛选。分析获取采集规则相关的数据结果后,平台通过数据库对数据结果进行存储。其累计的数据也作为量化模型的基础数据。
72.步骤三:模型库依据采集规则采集到的数据结果进行分析和清洗,然后建立模型、建立基线,通过蒙特卡罗模拟预测指导质量指标数据趋势,正向反馈于用户的数据采集,提升量化管理能力。
73.进一步地,采集项的采集规则定义基于drools规则,drools规则支持线上修改,动态扩展。drools是java语言编写的一个易于访问策略、易于调整及易于管理的业务规则引擎,速度快且效率高。可以将业务决策从代码中抽离出来,规则接受数据输入,解释业务规则,并根据规则作出业务决策,较好的融合各采集数据,最终产生的数据结果保存到数据库中;
74.进一步地,量化方法以蒙特卡罗模拟为基础,各个项目的结项采集项数据为依据,多项目累计作为模拟的基本条件,根据所建立的基线模型模拟预测出最有结果。最后在对关键过程实施量化管理及原因分析中,保障了量化结果的最优性,同时指导了量化领导决策。
75.与现有技术相比,本发明具有以下明显的优势和有益效果:
76.(1)drools规则支持用户自定义,用户通过修改规则条件、规则内容及规则结论可自定义业务边界,线上即改即用,无需重启服务。该方式简化运维的更新部署流程,提升效率。
77.(2)持续集成模块包括各质量数据,如静态代码扫描情况、代码编译情况等。各业务流程数据实现自动化流转清洗,无需人工采集操作。
78.(3)采用蒙特卡罗模拟的方式进行量化分析,数据推送以增量的形式进行,随着数据增多,样本数据增多,从而可不断优化模型、基线的结果。模型结果作为量化基础,递进正向反馈目标质量数据结果。该量化方式缩短分析数据的过程,省时省力,高效得到目标结果。以结果为导向,项目过程中通过分析目标结果的各影响因子(测量项),适时调整业务走
向,对达成可行性目标提供价值参考和适当性决策。
79.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
技术特征:
1.一种基于规则引擎drools的量化方法,其特征在于,该方法包括如下步骤:步骤一:定义drools规则内容,根据实际业务场景自定义规则实体;步骤二:用户发起数据采集,触发数据采集项定义好的采集规则,获取持续集成环境执行过程中产生的数据,针对产生的数据进行清洗,筛选,分析获取采集规则相关的数据结果后,平台通过数据库对数据结果进行存储;步骤三:模型库依据采集规则采集到的数据结果进行分析和清洗,然后建立模型、建立基线,通过蒙特卡罗模拟预测指导质量指标数据趋势,正向反馈于用户的数据采集,提升量化管理能力。2.如权利要求1所述的基于规则引擎drools的量化方法,其特征在于,所述步骤一具体包括:s11、开发人员编写drools规则,一个规则文件包含若干规则条目,drools本身内置工作空间支持规则条目各之间依赖调用;s12、当业务需求发生变化时,无需停止服务,直接线上修改规则实体。3.如权利要求2所述的基于规则引擎drools的量化方法,其特征在于,所述步骤s11中,drools规则包括:规则分组:一个规则文件分一个组,在执行时需指明规则分组,从而执行该组下的各规则条目;规则条件:根据业务方传入的数据条件进行符合性匹配,即当条件满足时,执行该规则,规则条件为一种判断,同时各规则条目支持优先级的设定,优先级属性值越大越先执行;规则内容:该部分为规则条目的主要部分,涉及sql和函数的运算,这些运算包含了对相关持续集成环境业务的调用;之后线上的动态维护针对规则内容和规则条件;规则结论:规则内容运算完成之后产生的数据结果即为规则结论,该结论通过全局变量的形式供业务模块使用;结论数据的累计即为量化分析的基础数据;以上四部分构成一个完整的规则条目,也称之为规则实体,各规则实体对应一个业务需求,业务需求的执行即通过规则实体的运行得到结果。4.如权利要求3所述的基于规则引擎drools的量化方法,其特征在于,所述步骤s12中,变化包括:采集条件变更、结论定义变更和业务需求的新增或修改。5.如权利要求1-4任一项所述的基于规则引擎drools的量化方法,其特征在于,所述步骤二具体包括:s21、用户进行定期采集、里程碑采集或结项采集三种方式的数据采集,根据步骤一中的规则定义,采集模块发起调用,执行规则文件;s22、根据匹配的规则,执行规则实体,各规则实体发起持续集成环境业务的调用,规则运行后得到数据结果;s23、上一步数据结果的清洗并汇总获得量化的目标数据,各目标数据表征当前改进活动;每次执行后将目标数据保存到业务方中的关系型数据库中。6.如权利要求5所述的基于规则引擎drools的量化方法,其特征在于,所述步骤s21中,定期采集指:按时间月采集,或用户自由安排时间采集;里程碑采集指:根据任务进度计划的设定,到某里程碑节点进行数据采集统计;
结项采集指:项目结项时进行,统计该项目完整周期的数据。7.如权利要求5所述的基于规则引擎drools的量化方法,其特征在于,所述步骤s23还包括:多次执行及项目横向对比累计后,根据目标的达成率反馈出活动的改进效果。8.如权利要求5所述的基于规则引擎drools的量化方法,其特征在于,所述步骤三具体包括:s31、依据步骤二多次采集数据的积累,通过接口推送的方式,将数据进行清洗后,供基线、模型使用;s32、基线衡量某测量项指标,确认其是否具有明确特征,是否服从正态分布,据此作为业务中参考值;s33、模型是分析多测量项的分布关系,将各测量项作为其方程的自变量与因变量,通过其数据模拟得到其符合的数学拟合方程,直观反应出各测量项关系;同时基线作为某个因子的参考项,因子的选择范围需符合基线的上下限值;模型创建后,通过蒙特卡罗方法得到因变量的范围数据,因变量值作为过程改进的指标项,更好地反馈数据质量;s34、根据模型方程,因子的上下限会根据基线自动加载设定,动态调整各因子的取值,从而得到因变量值的较优解;模型方程具备明显特征,这些特征供过程量化分析所用,同时量化的数据结果正向作用于模型模拟的基础数据,从而进一步得到基线及过程特征的最优值,不断改进量化目标。9.如权利要求8所述的基于规则引擎drools的量化方法,其特征在于,所述步骤s32中,建立基线时,用户自由选择数据例,同时支持分组比较。10.如权利要求8所述的基于规则引擎drools的量化方法,其特征在于,模型方程的特征包括:方差、极差和标准差。
技术总结
本发明涉及一种基于规则引擎Drools的量化方法,属于面向软件研制过程中的量化管理领域。本发明首先执行基础平台的持续集成业务,依据Drools定义的采集指标收集持续集成各个环节产生的业务数据;其次采集接口运行规则文件,根据规则内容计算产生数据结果;最后业务数据的累计作为量化分析管理的基础,量化过程中可随数据的积累而不断迭代更新,以便高质量地实现质量与过程绩效目标。本发明通过Drools解决了业务维护困难,迭代成本高的问题。相比于其他量化方法,该发明更加灵活高效,同时具备高质量的过程管理方式,针对过程绩效目标地实现具备良好的管控方法。实现具备良好的管控方法。实现具备良好的管控方法。
技术研发人员:刘文波 耿宏伟 冯大成 贾张涛 安恒 郭含章 张建伟 曾祥勇 朱朝宁 杜鑫龙 张倩 邵飒 夏冰 刘岩 李幸 李浩东
受保护的技术使用者:北京计算机技术及应用研究所
技术研发日:2023.04.17
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
