当前位置: 首页 > news >正文

营销机构代码怎么填排名seo软件

营销机构代码怎么填,排名seo软件,泉州建设网站,开发板一般在周几更新风控规则引擎#xff08;一#xff09;#xff1a;Java 动态脚本 日常场景 共享单车会根据微信分或者芝麻分来判断是否交押金汽车租赁公司也会根据微信分或者芝麻分来判断是否交押金在一些外卖 APP 都会提供根据你的信用等级来发放贷款产品金融 APP 中会根据很复杂规则来判…风控规则引擎一Java 动态脚本 日常场景 共享单车会根据微信分或者芝麻分来判断是否交押金汽车租赁公司也会根据微信分或者芝麻分来判断是否交押金在一些外卖 APP 都会提供根据你的信用等级来发放贷款产品金融 APP 中会根据很复杂规则来判断用户是否有借款资格以及贷款金额。 在简单的场景中我们可以通过直接编写一些代码来解决需求比如 // 判断是否需要支付押金 return 芝麻分 650这种方式代码简单如果规则简单且不经常变化可以通过这种方式在业务改变的时候重新编写代码即可。 在金融场景中往往会根据不同的产品不同的时间对接的银行等等多个维度来配置规则单纯的直接编写代码无法满足业务需求而且编写代码的方式对于运营人员来说无论实时性、可视化都很欠缺。 在这种情况往往会引入可视化的规则引擎允许运营人员可以通过可视化配置的方式来实现一套规则配置具有实时生效、可视化的效果。减少开发和运营的双重负担。 这篇主要介绍一下如何实现一个可视化的表达式的定义和执行。 表达式的定义 在上面说到的使用场景中可以了解中至少需要支持布尔表达式。比如 芝麻分 650居住地 不在 国外年龄在 18 到 60 之间名下无其他逾期借款 … 在上面的例子中可以将一个表达式分为 3 个部分 规则参数 (ruleParam)对应的操作 (operator)对应操作的阈值 (args) 则可以将上面的布尔表达式表示为 芝麻分 650 {ruleParam: 芝麻分,operator: 大于,args: [650] }居住地 不在 国外 {ruleParam: 居住地,operator: 位于,args: [国内] }年龄在 18 到 60 之间 {ruleParam: 年龄,operator: 区间,args: [18 60] }名下无其他逾期借款 {ruleParam: 在途逾期数量,operator: 等于,args: [0] }表达式执行 上面的通过将表达式使用 json 格式定义出来下面就是如何在运行中动态的解析这个 json 格式并执行。 有了 json 格式可以通过以下方式来执行对应的表达式 因为表达式的结构已经定义好了可以通过手写代码来判断所有的情况实现解释执行, 这种方案简单但增加操作需要修改对应的解释的逻辑, 且性能低 /* {ruleParam: 在途逾期数量,operator: 等于,args: [0] } */ switch(operator) {case 等于:// 等于操作break;case 大于:// 等于操作break;... }在第一次得到 json 字符串的时候直接将其根据不同的情况生成对应的 java 代码并动态编译成 Java Class方便下一次执行该方案依然需要处理各种情况但因为在第一次编译成了 java 代码性能和直接编写 java 代码一样 使用第三方库实现表达式的执行 使用第三方库实现动态表达式的执行 在 Java 中有很多表达式引擎常见的有 jexl3mvelspring-expressionQLExpressgroovyaviatorognlfeljsel 这里简单介绍一下 jexl3 和 aviator 的使用 jexl3 在 apache commons-jexl3 中该表达式引擎比较符合人的书写习惯其会判断操作的类型并将参数转换成对应的类型比如 3 4 和 “3” 4 这两个的执行结果是一样的 aviator 是一个高性能的 Java 的表达式类型其要求确定参数的类型比如上面的 “3” 4 在 aviator 是无法执行的。 jexl3 更适合让运营手动编写的情况能容忍一些错误情况aviator 适合开发来使用使用确定的类型参数来提供性能 jexl3 使用 加入依赖 dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-jexl3/artifactIdversion3.2.1/version /dependency// 创建一个带有缓存 jexl 表达式引擎 JexlEngine JEXL new JexlBuilder().cache(1000).strict(true).create();// 根据表达式字符串来创建一个关于年龄的规则 JexlExpression ageExpression JEXL.createExpression(age 18 age 60);// 获取需要的参数java 代码太长了简写一下 MapString, Object parameters parameters {age: 30}// 执行一下 JexlContext jexlContext new MapContext(parameters);boolean result (boolean) executeExpression.evaluate(jexlContext);以上就会 jexl3 的简单使用 aviator 引入依赖 dependencygroupIdcom.googlecode.aviator/groupIdartifactIdaviator/artifactIdversion5.3.1/version /dependencyExpression ageExpression executeExpression AviatorEvaluator.compile(age 18 age 60);// 获取需要的参数java 代码太长了简写一下 MapString, Object parameters parameters {age: 30}boolean result (boolean) ageExpression.execute(parameters);注意 aviator 是强类型的需要注意传入 age 的类型如果 age 是字符串类型需要进行类型转换 性能测试 不同表达式引擎的性能测试 Benchmark Mode Cnt Score Error Units Empty thrpt 3 1265642062.921 ± 142133136.281 ops/s Java thrpt 3 22225354.763 ± 12062844.831 ops/s JavaClass thrpt 3 21878714.150 ± 2544279.558 ops/s JavaDynamicClass thrpt 3 18911730.698 ± 30559558.758 ops/s GroovyClass thrpt 3 10036761.622 ± 184778.709 ops/s Aviator thrpt 3 2871064.474 ± 1292098.445 ops/s Mvel thrpt 3 2400852.254 ± 12868.642 ops/s JSEL thrpt 3 1570590.250 ± 24787.535 ops/s Jexl thrpt 3 1121486.972 ± 76890.380 ops/s OGNL thrpt 3 776457.762 ± 110618.929 ops/s QLExpress thrpt 3 385962.847 ± 3031.776 ops/s SpEL thrpt 3 245545.439 ± 11896.161 ops/s Fel thrpt 3 21520.546 ± 16429.340 ops/s GroovyScript thrpt 3 91.827 ± 106.860 ops/s总结 这是写的规则引擎的第一篇主要讲一下 如何讲一个布尔表达式转换为 json 格式的定义方便做可视化存储和后端校验如何去执行一个 json 格式的表达式定义 在这里也提供了一些不同的表达式引擎和性能测试如果感兴趣的可以去尝试一下。 下一篇主要讲一下在引擎里面规则参数、操作符是如何设计的也讲一下可视化圆形的设计
http://www.hkea.cn/news/14287099/

相关文章:

  • 电子商务网站建设参考文献2018网站建设中模板代码
  • 品牌网站建设帮你大蝌蚪wordpress图片资源主题
  • 网站你懂我意思正能量晚上在线观看不用下载免费魅族做淘宝客的网站怎么备案
  • 沧州做网站费用泉州网络公司都
  • dz比wordpress速度快惠州网站seo收费
  • 网站设计素材免费下载网站建设定制设计
  • 柳州做网站的企业alexa的网站排名主要分为哪两种
  • 莆田外贸自建网站交互设计是什么意思
  • 丽江网站建设南昌网站开发模板
  • 网站的术语产品推广广告
  • 最优的网站建设wordpress 安全选项
  • 在线开发网站建设江西门户网站建设
  • 英文免费网站模板吕梁营销型网站建设费用
  • 网站与网站自动跳转代码西青网站建设
  • 网站地图深度做多少合适如何组做网站
  • 如何架设个人网站wordpress joomla
  • 全美网站建设企业文化馆展厅设计
  • tp框架做餐饮网站东莞建设监督网站
  • 网站底部版权信息西宁建一个网站公司
  • 可以更改上传到网站的文件内容吗wordpress大学主
  • 网站开发应注意哪些问题推广宝
  • 静态网站结构如何更新最便宜的域名注册商
  • 前端如何做响应式网站做网站用什么程序比较好
  • 桂林 网站建站网络营销包括哪些内容
  • 旅游网站建设方案背景描述做设计素材网站有哪些
  • 网站广告调词平台公众号开发者id
  • 建设跨境电商网站深圳网页设计师工资是多少
  • 上海网站建设选缘魁-企查建设宁夏分行互联网站
  • 找人做网站上线后被投诉侵权网页设计制作详细流程
  • 福建省建设干部网站免费的短视频app大全下载软件