Flink:实时规则引擎助力新零售发展

美团点评酒旅运营需求在离线场景下,已经得到了较为系统化的支持,通过对离线数据收集、挖掘,可对目标用户进行T+1触达,通过向目标用户发送Push等多种方式,在一定程度上提高转化率。但T+1本身的延迟性会导致用户在产生特定行为时不能被实时触达,无法充分发挥数据的价值,取得更优的运营效果。

在此背景下,运营业务需要着手挖掘用户行为实时数据,如实时浏览、下单、退款、搜索等,对满足运营需求用户进行实时触达,最大化运营活动效果。在运营实时触达需求中,存在如下具有代表性的业务场景:

本文以该典型实时运营场景为例,围绕如何设计出可支撑业务需求高效、稳定运行的系统进行展开。

为解决早期方案中出现的问题,对系统建设提出了以下挑战:

针对以上挑战,结合业务规则特点,美团点评数据智能团队调研并设计了酒旅运营实时触达系统。

前面已经提到,美团点评酒旅运营需求在离线场景下,已经得到了较为系统化的支持,通过对离线数据收集、挖掘,可对目标用户进行T+1触达,通过向目标用户发送Push等多种方式,在一定程度上提高转化率。但T+1本身的延迟性会导致用户在产生特定行为时不能被实时触达,无法充分发挥数据的价值,取得更优的运营效果。运营业务需要着手挖掘用户行为实时数据,如实时浏览、下单、退款、搜索等,对满足运营需求用户进行实时触达,最大化运营活动效果。对比若干开源实时计算系统,我们最终选择了Flink作为我们的实时计算系统,主要原因在于几点:

Flink作为第三代大数据计算引擎(第一代为Hadoop及周边计算引擎,第二代为Spark,第三代为Flink),其流式方面相比于Spark有绝对优势,包括完整窗口语义、乱序数据处理、复杂事件处理等等。

Flink提供针对流式处理完备的SQL/Table/DataStream,之前在Storm和Spark任务上大量的底层代码开发全部可以使用SQL来解决,进一步提升了流式任务开发效能。

提高灵活度需要从业务规则和系统代码解耦和入手,规则和代码耦合直接导致了重复代码增多、业务规则修改困难等问题。那如何将业务规则和系统代码解耦和呢?我们想到使用规则引擎解决这一问题。

规则引擎是处理复杂规则集合的引擎。通过输入一些基础事件,以推演或者归纳等方式,得到最终的执行结果。规则引擎的核心作用在于将复杂、易变的规则从系统中抽离出来,由灵活可变的规则来描述业务需求。由于很多业务场景,包括酒旅运营实时触达场景,规则处理的输入或触发条件是事件,且事件间有依赖或时序的关系,所以规则引擎经常和CEP(复合事件处理)结合起来使用。

我们对业界已有的规则引擎,主要包括Esper和Drools,进行了调研。

Esper设计目标为CEP的轻量级解决方案,可以方便的嵌入服务中,提供CEP功能。

Drools开始于规则引擎,后引入DroolsFusion模块提供CEP的功能。

以上两个问题在Flink的CEP已经能够解决,因此我们考虑使用FlinkCEP作为规则引擎实现的基础。由于我们最终是基于阿里云平台构建我们实时推送平台,最终选择使用阿里云实时计算Flink作为我们的基础计算引擎,相比于社区而言,云上FlinkCEP已经具备SQL表达能力,因此我们可以更加简单使用上FlinkCEP功能。

确定引入规则引擎后,围绕规则引擎的设计开发成为了系统建设的主要着力点。通过使用实时数据仓库中的用户实时行为数据,按业务运营活动规则,组合成有意义的复合事件,交由下游运营业务系统对事件的主体,也就是用户进行触达。将系统抽象为以下功能模块:

规则配置基本实现由业务分析师、产品经理或运营人员自助完成。

规则配置系统是基于FlinkSQL之上提供了一层规则的封装,方便大量对于底层大规模分布式流式处理原理不明白的业务人员使用我们的规则系统。该规则系统将常见的规则计算逻辑封装为一个个独立的组件,使得上层业务人员可以仅了解业务流程即可实现规则编排。

考虑到仍然有部分非常复杂的业务规则,使用界面方式不易表达,我们仍然保留了FlinkSQL作为业务人员编写规则入口,确实有部分高级业务人员和技术团队愿意使用SQL作为规则编写方式。

这部分是运行的核心逻辑,规则系统编排的所有规则(排除直接使用FlinkSQL的规则)将翻译为底层FlinkSQL并提交到底层实时计算系统。

THE END
1.大数据协同服务平台:实现企业数据之间的协同和共享(1)供应链管理:通过大数据协同服务平台,企业可以实现供应链各环节的数据共享和实时监控,提高供应链效率和准确度。 (2)市场营销:大数据协同服务平台可以整合内外部数据源,分析消费者行为和市场趋势,帮助企业进行精准营销和产品定位。 (3)智能制造:通过大数据协同服务平台,企业可以实现生产数据和设备数据的集中管理和分析,http://chatgpt.cmpy.cn/article/5194488.html
2.泰州移动:应急智能调度助力智慧美好生活泰州移动智能调度系统还具备对故障持续时间的自动跟踪功能,能够实时提醒抢修人员当前的抢修进度与时间进展。这一功能不仅帮助抢修团队更好地规划工作节奏,更在无形中为故障抢修避免了超时风险,确保了每一个通信故障都能在最短的时间内得到妥善解决。这种便捷高效的工作模式,不仅提升了泰州移动的应急响应能力,更在用户心中https://www.bilibili.com/opus/1012118316159860753
3.应急指挥呼叫中心平台的全渠道对接嘲应用应急指挥呼叫中心平台可以实时监控社交媒体上的动态,提取相关内容并进行分析。例如,当某一地区的社交媒体上出现大量关于灾害或事件的讨论时,平台能够自动识别关键词并触发预警。通过全渠道对接,指挥中心能够快速响应公众的求助信息,并通过社交媒体平台发布官方通知,避免谣言传播,稳定公众情绪。https://www.singhead.com/4256-news_view.html
4.云南讯飞:一招解决抖音推广获客转化难题,实现私信回复实时响应集简云 x 云南讯飞:一招解决抖音推广获客转化难题,实现私信回复实时响应!, 集简云 x 云南讯飞:一招解决抖音推广获客转化难题,实现私信回复实时响应!文档,集简云 x 云南讯飞:一招解决抖音推广获客转化难题,实现私信回复实时响应!帮助说明,集简云 x 云南讯飞:一招https://www.jijyun.cn/help/detail/265
5.前端如何对接实时监控前端实时聊天怎么实现前端如何对接实时监控 前端实时聊天怎么实现 介绍 websocket可以在用户的浏览器和服务器之间打开交互式通信会话,使用websocket可以向服务器发送消息并接收事件驱动的响应,而无需通过轮询服务器的方式以获得响应。 本文通过构建一个简易的websocket聊天室,简单介绍如何使用websocket在服务端和浏览器端进行通信。https://blog.51cto.com/u_16099356/11752869
6.物资保障工作方案开展逐一与社区物业对接,推动线上线下服务全面升级。疫情防控期间,应用“网上国网”App、"吉事办"微信小程序、微信、支付宝等线上渠道,满足水、电、气费交纳、账单查询、票据下载、故障报修等各类业务需求,确保客户足不出户、居家办理业务;推进封控区“跟踪保底”服务,建立网格化客户服务机制,及时响应和处置区域内居民https://www.pinda.com/zhichang/gongzuofangan/128580.html
7.党建引领智慧治理综合信息平台二期项目招标公告数据存储应支持关系型、MPP、大数据等国内外主流数据源类型的适配;计算资源层计算引擎应支持批量计算、实时计算;数据平台基础能力应包含但不限于基础用户管理、元模型管理、数据源中心、文件服务中心、流程中心、消息中心、认证中心、配置中心、日志中心等基础能力,具备为数据治理产品提供基础服务支撑的能力;数据治理服务https://www.dlzb.com/d-zb-34932678.html
8.如何解决京东到家商家APP的商品库存数据与实际不一致问题?1.实时库存同步机制建立** -集成自动化系统:升级商家后台系统,实现与京东到家平台的实时数据对接,通过API接口,自动同步库存数据,减少人工操作带来的错误。 -库存预警系统:设置库存预警阈值,当商品库存接近或低于安全库存时,系统自动提醒商家及时调整,避免超卖。 https://www.sousou.com/wd/1162261.html
9.宜春市人民医院院内询价公告7、承诺项目报价包含院内系统对接和改造的全部费用,满足电子病历五级、互联互通四甲的评审功能要求和提供评审的相关支持,不再额外产生任何费用。 8、 提供满足或优于项目需求的建设方案(模板见表格4,必须含有分项报价和总报价)。 9、 提供满足或优于项目需求的软硬件明细一览表(必须含有名称、品牌、型号、数量、主要http://ychospital.cn/ycsrmyy/tzgg/202308/2c5a548db0444beda1f51435422bba05.shtml
10.魏桥纺织:打造智能纺织工厂新模式ERP管理信息化文章e实施生产质量在线管控:根据设备在线质量检测的断点,研发实施在线质量检测监控,重点是结合订单质量标准,逐级分解各项质量指标,设置指标报警值,与系统在线监测的合格率数据对比,系统会自动显示红色报警,并通过智能手环发送报警信息,达到实时监控快速响应的目的。实现以班组、车间、分厂为单位的综合质量指标报表,及绩效考核依据;https://articles.e-works.net.cn/erp/article151500.htm
11.支付2.0接口API注意:使用java SDK对接的接口,不需要做签名,SDK会自动处理。 拼接串说明: 接口中每一个字段(key_sign字段除外),以字典顺序(字母顺序)排序之后,按照a=value1&attach=&b=value2&access_token="密钥token"的顺序,进行拼接。对得到的字符串进行MD5签名/验签(赋值的空字符串也参与签名)。 示例http://help.lcsw.cn/xrmpic/tisnldchblgxohfl/rinsc3
12.金融支持产业链韧性提升:内在逻辑现实需求与推进方略资本市场的敏感性和对外部经济变动的快速响应性为产业链企业提供了重要的风险管理工具,通过风险预判及风险信号传递机制,更深层次地影响产业链运行的稳定性。通过对原材料和成品市场的实时价格监控,资本市场能够快速反映供需变化,及时揭示潜在的市场和产业链供应链风险,增强企业生产经营活动与金融市场间的协同能力,为企业提https://www.zgcsswdx.cn/info/9699.html
13.erp系统预测订单怎么做出来的3. 实时同步与响应 某业某财erp系统的订单预测不仅基于历史数据,还能实时对接销售、采购、库存等多个环节,确保预测与实际业务保持一致。一旦市场发生变化,系统会立即更新预测,企业可迅速调整策略,抓住商机。 此外,系统还支持多渠道订单管理,无论线上线下,都能快速反应,满足各类销售场景的需求。 https://h.chanjet.com/ask/f28d66fa6c8294018a.html
14.Flink与阿里云MaxCompute对接实现离线近实时计算袋鼠社区Flink与阿里云MaxCompute对接实现离线近实时计算 - 在当今大数据时代,企业对于数据处理的需求日益多样化,既需要高效的离线批处理以挖掘历史数据价值,又追求低延迟的近实时计算以快速响应业务变化。Apache Flink作为一款开源的流处理与批处理一体化框架,以其出色的实时性https://www.dtstack.com/bbs/article/17384
15.用java实现本地语音实时采取,然后对接阿里AI语音识别实现,语音freeswitch使用阿里3.x新版sdk对接阿里语音识别 浏览:3 freeswitch使用阿里3.x新版sdk对接阿里语音识别 基于腾讯云智能语音的实时语音识别微信小程序的开发 浏览:14 微信小程序的基础库升级到了 1.6.0 之后,提供了许多新的 API,其中新增本文就介绍一下使用 Wafer Node.js SDK 提供的腾讯云智能语音识别接口来实现https://download.csdn.net/download/qq_35128576/11544968