一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于操作符的规则校验引擎驱动方法与流程

2022-05-26 23:43:26 来源:中国专利 TAG:


1.本发明涉及it与软件开发领域,特别涉及一种基于操作符的规则校验引擎驱动方法。


背景技术:

2.目前互联网行业上存在大量针对特定场景的规则校验判断,其不仅强依赖具体的场景,且初期设计时必须考虑完全,大大增加了前期的成本投入,设计复杂维护困难。
3.特别的,在数据库表操作层面,固定的表结构无法满足特定的诉求,规则量级变多时性能会大幅下降,严重影响后续的版本迭代以及用户体验。
4.因此,在规则场景无法确定,特定诉求复杂,规则量级多的背景下,如何基于一种操作符来动态灵活的执行规则校验便是本系统可以解决的问题。


技术实现要素:

5.本发明要解决的技术问题是克服现有技术的缺陷,提供一种基于操作符的规则校验引擎驱动方法,解决规则场景无法明确,特定规则维护复杂,迭代维护困难,且规则量级变多引发的性能下降问题。
6.本发明提供了如下的技术方案:
7.本发明提供一种基于操作符的规则校验引擎驱动方法,包括以下方法:
8.一、规则前置模型
9.1.1、基于操作符的处理算法设定一套标准化模型方案,以静态模型识别符 动态规则配置码为基准,构建全部的前置模型,每个模型绑定唯一识别符,可通过识别符来控制规则配置码的生成方式,识别符与配置码生成方式如下:
10.唯一识别符:识别符类型 new decimalformat("000").format(new random().nextint(1000)) 0 datetime.now().tostring("yyyymmddhhmmss").substring(2) new decimalformat("000000").format(uuid.randomuuid().tostring().substring(0,5));
11.唯一配置码:操作符类型 dateutil.converttoyymmddformat(new date()) string.valueof(new random().nextint(1000)) snowflake;
12.1.2、当配置码发生变更,在整个前置模型的驱动下,会将变更数据流以hash(识别符)%x(其中:x为识别符类型)散列算法导入指定的静态模型识别符中,模型数据收到数据流后即时更新,从而使前置模型达到自动化驱动的目的;
13.二、规则校验算法
14.基于规则前置模型所搭建的规则数据,定位到具体的模型领域,以通用操作符“eq”“ne”“in”“nin”“ge”“le”“gt”“lt”“intersect”等为核心处理方式,根据不同操作符用计算权重占比以及优先级,结合当前服务器总节点数以及规则量级,采用factory pattern设计模式、matlab算法(如:y=10*sin(5*x) 7*abs(x-5) 10),计算最优处理方式,动态搭建规则校验算法。其中操作符可根据特定的规则校验场景,动态调整算法策略,包括但不限
于二进制位移、穷举、按位运算、移位操作等,达到异构条件下的统一规则校验模型;
15.三、规则驱动引擎
16.以校验算法为模型驱动,采用proxy.newproxyinstance的方式,针对不同的操作符,构建不同的规则驱动引擎,以此动态的推进规则校验操作,并实时采集结果,记录每次规则校验算法的处理效率,为后续动态搭建规则算法提供数据依据。
17.与现有技术相比,本发明的有益效果如下:
18.1、基于操作符的唯一识别符可全局把控规则配置码,动态配置规则,提高版本迭代速度,降低维护成本。
19.2、结合操作符的校验算法可显著提高性能,提升用户体验。
附图说明
20.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
21.图1是本发明的整体模块示意图;
22.图2是本发明的规则前置模型示意图;
23.图3是本发明的规则校验算法流程图;
24.图4是本发明的规则驱动引擎示意图。
具体实施方式
25.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。其中附图中相同的标号全部指的是相同的部件。
26.实施例1
27.如图1-4,本发明提供一种基于操作符的规则校验引擎驱动方法,包括以下实施例:
28.1、规则前置数据采集
29.涉及规则的基本数据信息,以操作符为基准的基础编码、规则状态(权重、服务降级等)、规则识别类型、规则策略方式、规则权重占比、规则校验值、规则对比值,基于上述数据,定位唯一识别符以及相关联动态配置码。
30.操作符定义:标准“eq”“ne”“in”“nin”“ge”“le”“gt”“lt”“intersect”,以及其横向扩展;
31.基础编码:时间维度(start_date:yyyy-mm-dd hh:mm:ss、end_date:yyyy-mm-dd hh:mm:ss)、用户基础信息维度(mobilephoneno
32.、idcard、card_no)、用户动态信息维度以及包含特有业务场景的编码参数(scene_code、biz_code);
33.规则状态:以基础编码为基础,设定每个基础编码的处理占比,以及对应处理时的服务降级优先级;
34.规则识别类型:根据不同的识别类型将规则整体数据切分为执行操作的识别大类,不同大类之间互相解耦;
35.规则权重占比:具体规则的详细计算算法优先策略;
36.规则校验值:用于规则对比方,在执行规则校验算法时想匹配的规则值;
37.规则对比值:规则校验算法中,以此数据来校验规则;
38.2、规则校验中,在前置模型邻域搭建完成后,以操作符做为核心思想,根据不同的操作符以及权重占比,获取基础编码后,根据编码以及规则状态,在不同的识别类型,获取校验算法的最优解,并进行后续的驱动引擎;
39.规则驱动方式,规则校验算法构建成功后,根据算法驱动后续的规则引擎,规则驱动引擎以规则校验为基础,根据校验的算法构建模型驱动。
40.进一步的,图1是整体模块示意图;整体模块中包括:规则前置模型、规则校验算法、规则驱动引擎,其中规则前置模型为规则校验算法提供基础规则信息并进行动态识别匹配,规则校验算法以操作符为基准,搭建校验算法,并使规则驱动引擎实时执行规则策略,再以规则驱动引擎反馈的处理数据反哺至校验算法;
41.图2是规则前置模型示意图;以redis管道为数据收取工具,根据不同的识别类型做权重拆分,根据唯一识别符根据权重优先级做自动装配;
42.图3是规则校验算法流程图;根据不同的操作符,可构建不同的规则校验驱动模型,将规则前置模型收集装配的规则信息进行最优方案的规则校验;
43.图4是规则驱动引擎示意图;以规则驱动引擎处理的结果,反馈至规则校验算法,并实时计算处理权重占比,取得最优解。
44.一、本发明中基于基础操作符的规则校验:
45.(1)采用proxy.newproxyinstance的方式;
46.二、以通用操作符为核心处理方式,根据不同操作符用f(b)-f(a)=f

(ξ)(b-a)计算权重占比以及优先级,结合当前服务器总节点数以及规则量级,采用factory pattern设计模式、matlab算法(如:y=10*sin(5*x) 7*abs(x-5) 10),计算最优处理方式,动态搭建规则校验算法。
47.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献