云智是阿里影业旗下的影院数字化经营管理开放平台,主要负责影院管理及影票卖品的售卖。本文以云智营销中心为例,为您揭秘 B 端垂类营销中心的高复用性、强扩展性的技术架构内幕。
一、架构设计方向
1. 营销中心设计
在业务架构设计上,将玩法通用特性进行抽象,实现营销业务和规则能力分离,静态管理和动态运行分离,营销中心可划分为能力平台和业务平台两大部分,如图 1 所示:
1)业务平台:负责营销工具生命周期的维护、资产管理和其他各种业务场景的实现;
2)能力平台:负责规则数据的标准化和规则关系的配置,将能力进行领域划分。
图 1 营销中心业务架构图
在系统架构设计上,业务平台按照业务管理视角组织数据,能力平台按照规则运行视角进行领域规划和服务暴露,如图 2 所示:
1)业务平台把业务规则按照能力平台定义出的规则模型标准化,将规则数据同步到数据库中,通过标准化定义,实现规则祛业务化;
2)能力平台对外统一暴露服务,并在优惠域进行统一参数组装,并根据对应的业务身份执行不同的脚本引擎,进而调用不同的领域服务,同时能力平台针对规则数据按照其作用范围进行领域划分,例如:负责计算的价格域、负责过滤的规则域等,针对不同工具特有规则由其对应产品扩展点实现。
图 2 营销中心系统架构图
2. 营销中心解决了那些问题?
B 端营销具有工具多,玩法复杂的特点。垂直业务上可以分为如卡、券、积分等超过 10 种营销工具,每一种工具包含立减、打折等超过 7 类玩法,每一类玩法会在不同的工具中有差异化。因此,在传统的设计思路下就会出现“烟囱式”的建设模式,如图 3 所示:
图 3 传统系统建设模式
这种“面向业务”的“烟囱式”建设方式会对业务和系统带来三大弊端:
1)重复功能建设和维护带来的重复投资。单单从开发和运维两方面成本投入的角度,对于业务都是一种显性的成本和资源浪费;
2)打通“烟囱式”系统间交互的集成和协作成本高昂。随着营销业务的发展,各“烟囱”之间不得不开始打通,涉及到大量的协同和开发成本;
3)不利于业务沉淀和持续发展。受限于之前服务设计时的通用性和业务前瞻性不足,业务领域的数据和业务被打散到不同的系统中,这样无法满足业务快速响应和模式创新的需求,同时无法从更高维度上去观察和设计整个领域。
传统建设模式的主要问题是将业务和玩法规则混杂在一起,使得玩法规则和业务耦合极强,进而导致系统复用性低,可扩展性弱。营销中心充分针对这些问题,在架构设计和结构分层上,实现了高复用性和强扩展性。
二、如何实现高复用性
营销中心在面对大量带有业务特性的数据时,主要通过模型标准化,通用领域服务平台化,平台能力自进化三种方式实现高复用性:
1)模型标准化:通过标准定义规则描述、统一计算模型,实现底层能力和逻辑祛业务化,将所有规则及商品数据按照标准模型进行重塑,即将各业务规则按照其本质拆解为条件 &动作的映射,不同类型商品按照标准模型转换,如图 4 所示;
2)通用领域服务平台化:在领域服务能力实现过程中,将通用常见的能力抽象为平台能力,如果业务玩法没有特殊设置,则可以快速复用默认的平台能力。例如打折玩法,平台将四舍五入作为默认能力,新的业务接入时可以直接使用平台提供的打折能力,无需二次开发;
3)平台能力自进化:当扩展点能力逐渐被更多业务使用时,可以将扩展点能力上升为平台通用能力,实现平台能力等级动态调整,满足业务对通用能力变化的要求,进而加强营销中心的复用性。
图 3 模型标准化示意图
三、如何实现强扩展性
营销中心的能力平台需要满足各种特性的业务玩法接入,所以在设计上我们通过产品扩展包和流程编排的方式实现强扩展性:
1)产品扩展包:当平台提供的默认能力无法满足业务需求时,则由相应的产品扩展包来扩展实现。例如打折玩法,平台将四舍五入作为默认能力,但是在折扣券业务中,要求打折后取整,平台将这类玩法的特殊处理逻辑在折扣券扩展包中实现,当折扣券计算时,平台通过工具标识,将请求路由到对应的扩展点执行相应的特殊逻辑,从而解决规则的定制化问题。图 5 为营销中心能力平台调用流程图;
图 5 能力平台调用流程图
2)流程编排,通过流程编排的方式,达到允许业务按照场景进行自定义功能选择的效果,实现用户自定义需要。能力平台的流程编排引擎采用 QLExpress 技术,如图 6 所示。
图 6 流程调度域服务示意图
四、总结
云智营销域从“烟囱式”架构演进成“平台化“架构,主要参考了 TMF 框架的分层、领域划分思想,使用 QLExpress 脚本引擎实现服务编排和服务调度。
在架构选型时,与 TMF 同类框架的还有 NBF 框架,相比之下,TMF 更重视业务抽象,但 TMF 中有一些分层是 B 端营销业务不需要的,所以营销中心参考 TMF 的设计思想,形成了适用于 B 端营销的 BEF 框架,上文所述的解决方案都是 BEF 的一部分。在 BEF 落地过程中,对优惠计算模型和规则模型进行了抽象,以满足对业务对象的需要。因此抽象成为了平台化的关键所在,抽象程度决定平台深度。
在流程引擎选择上,QLExpress 同类技术还有 Drools,但虑到 QLExpress 较 Drools 在性能方面有明显优势,可读性较强,开发门槛较低,营销中心最终采用了 QLExpress。
作者介绍:
阿里文娱 B 端技术专家 和同
相关阅读
评论