您好!
欢迎来到京东云开发者社区
登录
首页
博文
课程
大赛
工具
用户中心
开源
首页
博文
课程
大赛
工具
开源
更多
用户中心
开发者社区
>
博文
>
※※※重磅消息:ZCube会员权益体系规则引擎升级2.0啦~~~【七】
分享
打开微信扫码分享
点击前往QQ分享
点击前往微博分享
点击复制链接
※※※重磅消息:ZCube会员权益体系规则引擎升级2.0啦~~~【七】
fo****
2023-01-04
IP归属:北京
20280浏览
## 一、ZCube2.0增加了哪些功能? ### 1.1架构升级 ZCube1.0自上线以来已有半年多时间,在此期间,我们助力了会员权益系统在发放用户规模上的增长,在多个核心业务场景贡献了引擎的价值。经历了一次618、一次双11,期间性能表现稳定。为了继续**深耕权益运营场景,助力业务利益最大化**,我们对ZCube1.0做了整体架构升级,在了解升级前,先来看一下ZCube1.0的架构模型、服务组成。 首先我们的架构模型 ![](https://img14.360buyimg.com/imagetools/jfs/t1/113753/25/33015/96827/63b41303F53a28a96/c5083a6a04fd360a.png) 具体的服务拆解 ![](https://img10.360buyimg.com/imagetools/jfs/t1/161241/4/33883/398321/63b41303Fdf40f48b/e29c6126e61aa258.png) 以上在我们的官网中也有详细介绍。可以看出我们的ZCube主要由几部分组成: - **主控服务:**建模引擎、服务治理等; - **建模引擎:**提供库文件以及规则UML,提供XML解析、自定义脚本DSL解析以及抽象语法树生成,根据RETE算法生成规则网络树; - **服务治理:**统一注册发现服务、提供和SDK客户端的实时消息通信、完成知识包推送及轨迹跟踪; - **3A服务:**应用管理、审核管理、认证管理等; - **应用管理:**知识包管理提供可视化知识包建模、发布、推送、轨迹、版本管理、仿真测试等能力; - **审核管理、认证管理:**提供用户登录鉴权、sure应用快速接入、擎天为基础的系统流程申请、审批等能力; - **文件服务:**提供知识包文件的上传下载; - **统计服务:**根据上报的日志,通过RIC进行基线统计; - **告警的服务((ˉ▽ˉ;)...竟然是敏感词):**提供基础的告警配置、在根据基线统计过规则。触发监控告警; - **通知服务:**通过UWC提供告警所需的邮件、短信、咚咚等通知; - **SDK:**执行引擎、信令服务等; - **执行引擎:**结合Rete网络独创规则模式匹配算法,议程分组执行,可插拔函数库管理,高性能规则执行器; - **信令服务**:使SDK的载体系统保持和主控服务的实时消息通信。 那么ZCube2.0我们升级了哪些功能? 升级后的规则治理的核心链路模型: ![](https://img10.360buyimg.com/imagetools/jfs/t1/128314/4/29137/152473/63b4130cF3ceaf52a/b5453e616069fd38.png) 接下来,对升级的几个主要细节,包括:功能扩充、交互体验以及性能优化等进行详细介绍。 ### 1.2功能扩充 1.0功能上线后我们进行了内部推广,也逐步覆盖了一些业务场景,大家在使用过程中也给我们提出了宝贵的建议,我们也对大家的建议进行了收集统计,在2.0对反馈比较集中的几个点的能力进行功能扩充。 在指标中心新增了接口指标、动作指标、衍生指标、运营指标的支持。接下来分别介绍一下指标的使用方法和应用场景。 ![](https://img13.360buyimg.com/imagetools/jfs/t1/173235/27/30546/210972/63b41303F2c98a039/e3685f5573fce4d8.png) #### 1.2.1接口指标 该指标提供RPC接口调用,具体使用方法是在指标中心去新增接口指标,需要定义RPC的接口名称、别名、方法名、超时时间、入参、出差等基础信息,在执行时进行泛化调用,在将调用结果,通过el表达式进 行结构化抽取到对应的出参上。真正在规则设计器使用是通过导入接口指标的方式,在设计器的左手树模式中,或者右手树的动作中对接口指标的建模字段进行引用。 接口基础信息定义: ![](https://img10.360buyimg.com/imagetools/jfs/t1/189317/40/32069/28244/63b412f9F2ce8702c/202d3712514c3f30.png) 接口入参:这里我们可以根据参数给定所需要的入参json,参数支持直接赋值,或者来自于上下文、变量指标、常量指标等事实数据中的值,同时可以进行模拟调用。 接口出参定义: ![](https://img12.360buyimg.com/imagetools/jfs/t1/187599/34/31841/19787/63b412faF4ff9fcae/1e127ccfac0aa750.png) 在这里,接口的返回不一定全是我们所需要的,因此我们要对规则需要用到的接口属性进行指标建模。定义模型的字段名称、描述、类型、以及字段的抽取方式等,像简单抽取,我们支持el表达式对返回结果进行单个字段的结构化的抽取,像需要对结果进行复杂处理的,我们也支持脚本处理,并将处理结果再赋值给对应模型的具体属性。 ![](https://img13.360buyimg.com/imagetools/jfs/t1/89061/36/23697/46168/63b412faFff996163/18cf3c6e2f705c73.png) 以上是接口指标的建模过程。 #### 1.2.2动作指标 该指标提供方本地方法调用,具体使用方法是在指标中心去新增动作指标,需要定义指标名称、SpringBeanID或者类名、方法名称、入参等,在执行时进行反射调用,在将调用结果,通过el表达式进行结构化抽取到对应的出参上。 方法基础信息定义: ![](https://img11.360buyimg.com/imagetools/jfs/t1/33813/29/18640/42930/63b412fcF9b10ded3/212e30b53026104b.png) 接口出参定义: ![](https://img13.360buyimg.com/imagetools/jfs/t1/98884/1/33284/20816/63b412fcF717ed3ab/d45bcc0e2c8da701.png) 在这里,由于是本地方法,方法的返回体一般会处理成我们需要的样子,所以这里直接进行el表达式抽取即可。 以上是本地方法指标的建模过程。 #### 1.2.3衍生指标 该指标提供衍生脚本调用,目前支持Groovy、Aviator两种脚本支持,具体使用方法是在指标中心去新增衍生指标,包括指标名称、入参、脚本类型、内容、出差等,在执行时根据脚本类型进行调用,在将调用结果,通过el表达式进行结构化抽取到对应的出参上。 方法基础信息定义: ![](https://img14.360buyimg.com/imagetools/jfs/t1/99216/29/23965/100707/63b412feF339803d9/cb435f9f5e595ed3.png) 以上是衍生指标的建模过程。 #### 1.2.4运营指标 该指标是提供简单运营视角的指标,让运营同学只需要关心数据维护。具体使用方法是在指标中心去新增运营指标。 定义运营视角页面展示 ![](https://img11.360buyimg.com/imagetools/jfs/t1/180606/39/31653/186272/63b412feFca77643f/6aa53940a15d985c.png) 其中schema规范,可查看我们的文档:附地址: 如果非活动类,可能需要列表维护,此时可以继续配置列表展示 ![](https://img11.360buyimg.com/imagetools/jfs/t1/166541/37/29731/158265/63b412feFa8cbcd3a/5d36c75214239a15.png) 接着定义我们真正要用到的运营指标 ![](https://img14.360buyimg.com/imagetools/jfs/t1/106186/25/34908/217035/63b412ffF9d50bb07/273ecc0c222cfcb8.png) 同样通过结构化抽取的方式,将规则编排需要用到的字段进行el表达式抽取。同样每次编辑会生成新的版本。同时会走常规的审批流程。 ![](https://img10.360buyimg.com/imagetools/jfs/t1/97098/21/34588/175487/63b41307F88ad7626/f0fc99ea6eadae58.png) 运营同学使用时,通过运营指标的可视化页面进行数据填充,有绑定的指标进行数据抽取,给到策略中心进行指标与数据的编排。 以上是运营指标的建模过程。 通过上述建模过程,我们把需要的指标已定义完成,那这些指标是如何在设计器中使用? #### 1.2.5指标的解析执行原理 具体使用仍然分建模、执行两部分,首先需要我们在策略管理中导入我们需要的接口指标,这里注意选择需要的版本。 ![](https://img13.360buyimg.com/imagetools/jfs/t1/123221/14/35144/69993/63b412faF0a25593c/2cff36fb23fb07e8.png) 接着在我们的向导式设计器的左手树的模式部分、或者右手树部分的动作部分,选择需要用到的接口指标 左手树模式选择: ![](https://img10.360buyimg.com/imagetools/jfs/t1/218974/23/25350/95571/63b412faFc4bf883d/d72cbb0e8f9d8920.png) 右手树动作选择: ![](https://img11.360buyimg.com/imagetools/jfs/t1/218867/29/24846/134679/63b412fbF4f7de252/251904678b205e38.png) 通过以上的操作,在向导式建模过程中就会将接口指标引用进来,在之前的[《ZCube:会员权益体系规则引擎原理介绍——向导式建模引擎 【三】 》](http://xingyun.jd.com/shendeng/article/detail/4503?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D4503)中有过介绍,在建模的关键协议中: <table> <tr> <th colspan="3">XML元素属性</th> </tr> <tr> <td rowspan="4">LHS</td> <td><if></if></td> <td>无属性</td> </tr> <tr> <td colspan="2" >......</td> </tr> <tr> <td rowspan="2">见Value类型表</td> </tr> <tr> <td><value></value></td> </tr> <tr> <td rowspan="5">RHS</td> </tr> <tr> <td><console-print></console-print></td> <td rowspan="2">见Action类型表</td> </tr> <tr> <td>......</td> </tr> <tr> <td>OTHER</td> <td colspan="2">同RHS</td> </tr> </table> Value增加了关于JsfValue、LocalMethodValue、CustomScriptValue、OperationValue指标的定义 <table> <tr> <th colspan="3">见Value类型表</th> </tr> <tr> <td rowspan="4">Variable</td> <td>var</td> <td>变量中的字段名</td> </tr> <tr> <td>var-label</td> <td>变量中的标题</td> </tr> <tr> <td>datatype</td> <td>变量中的数据类型</td> </tr> <tr> <td>var-category</td> <td>变量中的名称</td> </tr> <tr><td colspan="3">......</td></tr> <tr> <td rowspan="5">JsfValue</td> <td>id</td> <td>系统内唯一标识</td> </tr> <tr> <td>var</td> <td>Jsf属性字段</td> </tr> <tr> <td>varLabel</td> <td>Jsf属性字段名称</td> </tr> <tr> <td>jsfLabel</td> <td>Jsf名称</td> </tr> <tr> <td>dataType</td> <td>字段类型</td> </tr> <tr> <td rowspan="5">LocalMethodValue</td> <td>id</td> <td>系统内唯一标识</td> </tr> <tr> <td>var</td> <td>LocalMethod属性字段</td> </tr> <tr> <td>varLabel</td> <td>LocalMethod属性字段名称</td> </tr> <tr> <td>localMethodLabel</td> <td>LocalMethod名称</td> </tr> <tr> <td>dataType</td> <td>字段类型</td> </tr> <tr> <td rowspan="5">CustomScriptValue</td> <td>id</td> <td>系统内唯一标识</td> </tr> <tr> <td>var</td> <td>CustomScript属性字段</td> </tr> <tr> <td>varLabel</td> <td>CustomScript属性字段名称</td> </tr> <tr> <td>customScriptLabel</td> <td>CustomScript名称</td> </tr> <tr> <td>dataType</td> <td>字段类型</td> </tr> <tr> <td rowspan="5">OperationValue</td> <td>id</td> <td>系统内唯一标识</td> </tr> <tr> <td>var</td> <td>Operation属性字段</td> </tr> <tr> <td>varLabel</td> <td>Operation属性字段名称</td> </tr> <tr> <td>operationLabel</td> <td>Operation名称</td> </tr> <tr> <td>dataType</td> <td>字段类型</td> </tr> </table> Action增加了关于执行动作的定义execute-ext <table> <tr> <th colspan="3">见Action类型表</th> </tr> <tr> <td rowspan="6">execute-function</td> <td>function-name</td> <td>功能名称</td> </tr> <tr> <td>function-label</td> <td>功能标签</td> </tr> <tr> <td>function-parameter</td> <td>数组,包含了功能参数数据</td> </tr> <tr> <td>function-parameter.name</td> <td>参数名称</td> </tr> <tr> <td>function-parameter.property-name</td> <td>参数属性名称</td> </tr> <tr> <td>function-parameter.value子标签</td> <td>还可以为value值对应表的几种类型,递归嵌套</td> </tr> <tr> <th colspan="3">......</th> </tr> <tr> <td rowspan="2" >execute-ext</td> <td>ext-label</td> <td>要执行的标签</td> </tr> <tr> <td>type</td> <td>类型:包括JSF、LocalMethod、CustomScript等</td> </tr> </table> 通过以上规定好的协议,通过可视化配置生成xml,例如: ``` <rule name="待过期积分规则对照组" salience="10" activation-group="index" enabled="true"> <remark> <![CDATA[]]> </remark> <if> <and> <atom op="In"> <left var-category="辅助参数" var="currentMonth" var-label="当前月" datatype="Integer" type="variable"></left> <value const-category="积分常量配置" const="1,2,3,4,5,6,7,8,9,10,11,12" const-label="查询过期数据月份" type="Constant"></value> </atom> <atom op="GreaterThenEquals"> <left var-category="辅助参数" var="currentDay" var-label="当前日期" datatype="Integer" type="variable"></left> <value const-category="积分常量配置" const="20" const-label="查询过期数据日期" type="Constant"></value> </atom> <atom op="GreaterThen"> <left var-jsf="积分待过期接口" var="outdateAmount" var-label="即将过期积分数" datatype="Long" type="Jsf"></left> <value const-category="数字常量" const="0" const-label="零" type="Constant"></value> </atom> </and> </if> <then> <var-assign var-category="辅助参数" var="outdate" var-label="最近过期时间" datatype="Date" type="variable"> <value var-jsf="积分待过期接口" var="outdate" var-label="最近过期时间" datatype="Date" type="Jsf"></value> </var-assign> <var-assign var-category="个人页查询回参" var="dataMap" var-label="其他数据Map" datatype="Map" type="variable"> <value var-custom-script="待过期积分衍生av" var="dataMap" var-label="其他数据Map" datatype="Map" type="CustomScript"></value> </var-assign> <var-assign var-category="个人页查询回参" var="link" var-label="跳转链接" datatype="String" type="variable"> <value var-operation="积分跳转链接运营配置指标" var="outdateLink" var-label="待过期跳转链接" datatype="String" type="Operation"></value> </var-assign> <execute-ext ext-label="积分待领取接口" type="Jsf"></execute-ext> <execute-ext ext-label="undefined" type="LocalMethod"></execute-ext> <execute-ext ext-label="待领取积分衍生" type="CustomScript"></execute-ext> </then> <else></else> </rule> ``` 代码中在对element进行对应元素解析、转换、生成Rule集合对象,接着根据Rule集合对象生成RETE网络这块在[《ZCube:会员权益体系规则引擎原理介绍——脚本式建模引擎 【二】》](http://xingyun.jd.com/shendeng/article/detail/4502?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D4502)的1.2、1.3小节中有详细介绍。以上是新增指标的建模过程。 ![](https://img11.360buyimg.com/imagetools/jfs/t1/140636/21/32642/181502/63b41304Fb9e8f81d/006fa33cfacfd34c.png) 执行过程,不了解的可以先参考[《ZCube:会员权益体系规则引擎原理介绍——执核心执行引擎 【四】》](http://xingyun.jd.com/shendeng/article/detail/4511?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D4511)中介绍的原理。这里针对新增指标的建模也主要分了几种,这里我们针对接口指标进行说明分析,其余衍生指标、运营指标、动作指标基本原理相似,可以自行脑补亲(~ ̄▽ ̄)~ 接口指标执行介绍: 首先为了保证性能我们要对jsf的泛化实例进行预热,保证在应用启动、知识包更新等特殊触发时刻执行预热程序。避免每次调用时的生成实例造成不必要的性能开销。 ![](https://img12.360buyimg.com/imagetools/jfs/t1/204984/7/21234/184719/63b412fbF688c424f/b29211a4f77c866e.png) 接着执行时根据jsf的基础属性,包括:指标名称、接口名称、方法名称、别名、超时时间、入参等。根据jsf api提供的泛化调用方法对接口进行调用。 ![](https://img11.360buyimg.com/imagetools/jfs/t1/67463/28/23149/445799/63b412fbF61fc49f3/7de02a444dcbebe7.png) 其中jsf的基础信息是从context上下文中获取,上下文是在知识包进行初始化时从指标资源库中填充 ![](https://img13.360buyimg.com/imagetools/jfs/t1/45463/23/17820/135533/63b412fcFea46a61a/924334541c47161b.png) 所以整个过程是通过建模得到的element解析指标资源库,获取对应的指标信息,在解析策略文件生成rule对象,根据rule生成rete对象,在模式匹配时获取每个模式的leftValue 和value的值,如果值的类型是jsf,就直接从上下文中获取jsf对象基本信息,从预热中获取jsf的实例,去调用对应的jsf方法,同时会根据jsf的唯一属性缓存本次执行结果,保证在同一个会话下,不论是模式匹配、或者执行过程中,同一个jsf只会被调用一次。继而优化执行性能。 ![](https://img12.360buyimg.com/imagetools/jfs/t1/70780/3/24685/215632/63b41304Fbba04afb/dba69b1f1d61c8d9.png) ### 1.3交互体验升级 本次升级除了新增以上功能之外,还对交互体验进行了优化升级。 比如设计器整体ui到交互的升级 ![](https://img11.360buyimg.com/imagetools/jfs/t1/78066/4/23584/546771/63b41304F400e4fe3/7b00e587fc6b84e4.png) ![](https://img13.360buyimg.com/imagetools/jfs/t1/211337/32/28718/404467/63b41309F67011b2e/933e8296d60c686c.png) ![](https://img12.360buyimg.com/imagetools/jfs/t1/10317/39/21058/340804/63b41309F7144266b/3fe56192948e2687.png) 当然除了上面列举的小例子之外,还有很多意外的惊喜,这里就不逐一透露,让使用功能的靓仔、靓妹们自己细细发现吧表情(✿◡‿◡)~~~ ### 1.4性能优化升级 关于性能的优化主要通过几点: - 优化缓存执行器 - 增加优化器 #### 1.4.1缓存执行器 本次升级由于增加了多数据来源的支持,所以我们重点对缓存执行器进行了功能优化。举几个例子: - 增加脚本实例化预热 - ![](https://img11.360buyimg.com/imagetools/jfs/t1/122540/36/29341/343551/63b41305Fe4f16c73/4ad14ddd1e60b23b.png) ![](https://img14.360buyimg.com/imagetools/jfs/t1/175905/31/32726/494562/63b41305F0050d88d/993d47118c9cc35b.png) ![](https://img10.360buyimg.com/imagetools/jfs/t1/30333/21/19375/540361/63b41305Fdd6b294d/fb35450c06c544b2.png) - 增加Jsf泛化预热 ![](https://img11.360buyimg.com/imagetools/jfs/t1/202555/14/21399/235994/63b41306Ff40e94ca/13dcb18d67d15c5a.png) ![](https://img13.360buyimg.com/imagetools/jfs/t1/133799/20/29081/179654/63b41306F321c95ea/414a65fdd7bc7c16.png) - 增加执行结果缓存 ![](https://img10.360buyimg.com/imagetools/jfs/t1/74602/17/19812/402802/63b41306Fda9dc8f8/03311aea3975e9a5.png) ![](https://img11.360buyimg.com/imagetools/jfs/t1/111812/24/31013/455957/63b41306F3f55124e/6edb79e2262cbe2c.png) 除此之外缓存执行器还增加了对本地方法、运营指标的维护,以及模式匹配过程中每个模式执行结果、以及模式里的leftValue结果、Value结果放入缓存执行器。保证在一次会话中每次LHS的匹配、RHS的执行之前判断是否命中缓存,如果命中直接返回缓存的结果。 #### 1.4.2优化器 目前优化器功能还不是很完善,需要不断通过业务场景锤炼,增加所需要的模型,目前我们采用的成本模型,分为静态的成本和动态成本。 - 静态成本会在使用者规则搭建完成后,通过内置的规则将rete树做最佳执行算法的优化,例如:在不改变业务逻辑的情况下,同级别的与操作关联的多个模式,或者或操作关联的多个模式,尽可能的保证LeftValue为基础的变量指标、或者常量指标,将复杂的指标放在Value端。这样生成的Rete树的节点类型能尽量一致,优化模式匹配的执行逻辑。从之前[《ZCube:会员权益体系规则引擎原理介绍——执核心执行引擎 【四】》](http://xingyun.jd.com/shendeng/article/detail/4511?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D4511)介绍的原理可知,Rete树从根节点开始,第一个子节点为类型节点,且会遍历所有类型节点,每个类型节点下的子节点必然会被执行一次,所以当类型节点足够简单、才会减少遍历次数。 - 动态成本会在规则执行过程中,利用已有的基线统计,计算一个时间窗口的成本,选择最佳执行路径,进行执行。例如其中一个优化规则为:是以知识包、策略规则为组,为每个模式的执行次数做基线统计。在一个时间窗口内将该知识包、策略规则内的与操作、或操作关联的模式中,按统计数据优先执行。这样的作用是,从模式匹配过程可知,只有上一个节点匹配通过才会匹配下一个节点,这样常用节点放在前面,优化匹配执行效率。 当然除此之外,优化器还有很多其他的优化规则,在这里就不逐一介绍。不过从优化器的功能定位可见,内置模型的选择、优化规则等将成为提升引擎执行效率的关键因素之一,也是我们持续优化的方向。 ### 1.5总结 通过对以上功能的优化升级,我们的ZCube2.0具备了更清晰易懂的架构模型、标准化的sop接入流程、丰富的数据来源支持、从业务角度考量:规则调整后,发布即生效,保证业务准确性、及时性、高效性,缩减业务变更所需要成本。实现业务逻辑集中化、版本化、透明化管理。 ![](https://img12.360buyimg.com/imagetools/jfs/t1/202285/37/19519/479931/63b41301F342b6eb8/9ee0e5ee79370b99.png) ![](https://img12.360buyimg.com/imagetools/jfs/t1/129559/16/33812/494976/63b41301F5ce92396/afaf47839d7ca3c4.png) ## *** 温馨提示:内部文章,禁止转发置外网 [ZCube:会员权益体系规则引擎原理介绍——向导式建模引擎 【三】](http://xingyun.jd.com/shendeng/article/detail/4503?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D4503) [ZCube:会员权益体系规则引擎原理介绍 【一】 ](http://xingyun.jd.com/shendeng/article/detail/4501?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D4501) [ZCube:会员权益体系规则引擎原理介绍——脚本式建模引擎 【二】](http://xingyun.jd.com/shendeng/article/detail/4502?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D4502) [ZCube:会员权益体系规则引擎原理介绍——执核心执行引擎 【四】](http://xingyun.jd.com/shendeng/article/detail/4511?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D4511) [ZCube:在我的优惠券中的落地实践【五】](http://xingyun.jd.com/shendeng/article/detail/4512?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D4512) [※※※重要:ZCube:使用介绍【六】](http://xingyun.jd.com/shendeng/article/detail/4789?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D4789) [ZCube:会员权益体系规则引擎升级2.0啦~~~【七】](http://xingyun.jd.com/shendeng/article/detail/9562?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D9562) [ZCube2.0:在金融会员权益积分核心场景的落地实践【八】](http://xingyun.jd.com/shendeng/article/detail/9563?forumId=79&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttps%3A%2F%2Fshendengh5.jd.com%2FarticleDetail%3Fid%3D9563)
上一篇:ZCube2.0:在金融会员权益积分核心场景的落地实践【八】
下一篇:风险洞察之事件总线的探索与演进
fo****
文章数
3
阅读量
1428
作者其他文章
01
※※※重磅消息:ZCube会员权益体系规则引擎升级2.0啦~~~【七】
一、ZCube2.0增加了哪些功能?1.1架构升级 ZCube1.0自上线以来已有半年多时间,在此期间,我们助力了会员权益系统在发放用户规模上的增长,在多个核心业务场景贡献了引擎的价值。经历了一次618、一次双11,期间性能表现稳定。为了继续深耕权益运营场景,助力业务利益最大化,我们对ZCube1.0做了整体架构升级,在了解升级前,先来看一下ZCube1.0的架构模型、服务组成。首
01
ZCube2.0:在金融会员权益积分核心场景的落地实践【八】
接上一篇[※※※重磅消息:ZCube会员权益体系规则引擎升级2.0啦~~~【七】2.1业务背景 会员权益积分系统最重要的核心业务指标是App内积分渗透率,App内积分渗透率=(积分发放用户规模+积分核销用户规模) / 活跃用户数。 目前积分发放场景包括:白条交易返积分、小金库交易返积分、银行卡交易返积分等。积分核销场景包括:信用卡免息还款券、电商黄金流程积分渗透、白
01
ZCube:在我的优惠券中的落地实践【五】
ZCube:在我的优惠券中的落地实践【五】前言ZCube使用交流群:1029344502我的优惠券作为营销玩法的一种运营工具,在营销活跃场中起到很至关重要的作用。如何更加高效的赋能业务,助理业务发展,灵活扩展业务,是我们一直追求和思考的方向一、背景1.1 现状营销中台作为券的“供应链端”,控制券的所有类型。我的优惠券作为工具,提供用户已有优惠券的展示列表,不同类型的券利益点不同,运营会提供各自展示
fo****
文章数
3
阅读量
1428
作者其他文章
01
ZCube2.0:在金融会员权益积分核心场景的落地实践【八】
01
ZCube:在我的优惠券中的落地实践【五】
添加企业微信
获取1V1专业服务
扫码关注
京东云开发者公众号