HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

分区定价:座位上玩转“精细化运营”

  • 2020-03-09
  • 本文字数:2653 字

    阅读完需:约 9 分钟

分区定价:座位上玩转“精细化运营”

分区定价就是将同一个场次的座位分割成不同的区域,以不同的价格进行售卖。不同的座位,不同的价格,在上座率和价格之间求得一个平衡,帮助影院实现收入的最大化。同时,通过异业合作或者绑定会员权益等手段,将权益与座位“对号入座”,实现更加精细化的运营策略。

一、技术挑战-不仅仅是改个价格

  1. “同场同价”-在线选座系统的地基


分区定价要想落地,对于技术来说,并非是改个价格那么简单。


自 2010 年,电影行业出现在线选座业务以来,场次都是定价的最小粒度,影院会根据影厅及放映影片、放映时间等对整个场次的座位进行统一定价,这就是所谓“同场同价”。这个思维定势一直贯穿在在线选座系统的设计实现和升级过程中。在线选座系统的基础数据、交易、网关、营销等核心服务模块,都是基于上述思路进行搭建。


发展到今天,在线选座的业务绝非仅仅是锁座-下单-出票那么简单,如果说 2010 年的系统规模是一栋平房,那如今的规模可以称得上是 500 层的高楼了,那么要改动从系统搭建初期就已定下的规则,就如同重新打造这幢高楼的地基一般,这个挑战可想而知。


  1. 怎么做分区定价,不同系统商有不同的说法


淘票票作为领先的观影购票平台,中国电影市场的很大一部分票房是由淘票票的用户贡献的。然而,淘票票并非电影票的最终出票者,影院才是。淘票票通过对接影院安装的具有售票资质的售票系统,完成出票。


目前,具有售票资质的系统商有七家,如凤凰云智、佳影、鼎新等,在系统商的基础上,还有搭建自己售票能力的电商,如大地、万达等等。上述提到的系统商加电商(下文统称合作商),代表全国近万家影院,定义了影院本地售票系统的接口协议和标准。对于分区定价,他们接口层面有不同的诠释。这就为我们带来了第二个挑战,如何适配众多结构不一的分区定价接口。


  1. 如何快速响应?


时间是个永恒的话题。如何在较短的时间内,面对较大的技术复杂性,去支撑业务的急速变化,这也是我们在实现分区定价过程中遇到的问题。

二、方案-控边界,以不变应万变

  1. 思路


我们从业务建模出发,构建问题空间模型,然后落实到系统上,逐个击破,用系统建模的方式产出解决方案模型,最后用技术手段实现。根据第二章节的阐述,我们抽象出分区定价的两个核心问题:


1)售票的定价维度从场次精确到座位;


2)适配各个合作商不同的分区定价接口。


按照领域建模的沉淀内聚的原则,尽量将变更收敛控制在相关的业务域内。因此接下来我们针对上述两个问题进行抽解、推理:


a)将座位的定价维度精确到座位,分区定价,核心就是价格,价格属性是贯穿整个服务集群的重要属性。基础数据、交易、营销甚至网关系统都依赖价格。然而价格本身并不是一个独立的模型,而是商品模型的一个属性,这里的商品模型也可以认为是场次或者排期模型。基础数据、交易、营销等各个业务域所依赖的是商品模型,并非价格。一个普通场次对应一个商品,而对分区定价场次来说,可能一个场次可能对应多个商品。因此针对这个问题我们的解决思路是:抽象分区定价数据到商品模型,交易、营销等模块依赖商品中的价格属性去实现收单、交易履行等模块,尽量不感知分区细节逻辑;


b)适配各个合作商的分区定价接口,我们的原则是尽量减少其对上层业务的侵入,将其差异屏蔽到底层模块,并对上层提供统一的接口。虽然各个合作商提供的分区定价服务有所差异,但是基本上可以抽象为排期拉取、锁座、解锁座位、出票等模块,而这些底层模块与上层的交互是统一且确定的。因此针对这个问题我们的解决思路是:网关域适配个合作商的分区定价接口,组装统一结构的基础数据,暴露统一标准的锁座、出票等服务,将分区定价的基础服务能力沉淀内聚到网关层。


  1. 架构与实现


综上所述,淘票票对于分区定价的实现方式可总结为以下几点:


1)网关层沉淀封装排期拉取、座位图拉取、锁座、出票、解锁座位等能力,并对外暴露统一标准的基础服务;


2)抽象分区定价的数据到商品及排期模型中,对外提供统一结构的数据模型;


3)上层模块基于底层的基础数据和服务,以通用逻辑进行适配,尽量减少对上层业务的侵入。


具体如下图所示:



  1. 最终答卷


通过上述的解决方案,淘票票在较短的时间内完成了对分区定价业务的支撑,覆盖了行业内多数合作商和影院,同时系统具备一定的可扩展性和复用性,能够以较低成本实现合作商的对接。

四、思考

  1. 快速的业务变化,如何应对,并沉淀技术能力?


快速变化是互联网行业一个无法回避的问题,由于技术人员距离业务前线相对较远,在应对过程中难免显得被动和疲倦。“面向复制-粘贴的编程模式”“先 run 起来”“赶一下进度,后面再重构”、“必须马上上线”等等这些传统应对方式就会大显身手。然而,这些手段纵然能够“快速”支撑业务,也造成了一些恶果。其一,代码的可复用性和可扩展性极差;其二,技术债高垒,影响开发效率,增加变更风险,降低技术竞争力,甚至反过来影响业务和团队。在快速交付的前提下,在分区定价项目的实践过程中,我们总结出以下几点经验:


1)规范技术债的管理机制,对于需要优化的模块,在项目上线之初,就要确定迭代计划。这是最简单却很容易见效的手段;


2)定位核心变更,并将核心模块收敛到尽量少的业务域中,沉淀能力,便于统一管理、复用和扩展。比如在分区定价架构设计中,我们把核心模块落地在基础数据域和网关域,在不影响业务交付的前提下,也使得系统具备一定的扩展和复用能力;


3)拉进业务距离,尽可能多的理解业务诉求、未来规划等等,在设计阶段,把这些信息带入思考,能够使我们在面对变化时更加从容。


  1. 业务技术,做业务还是做技术,技术性体现在哪里?


在业务开发的角色上,面对纷繁的业务需求,很多人会产生困惑,到底是在做技术,还是在做业务,其技术含量体现在哪里?


通过上文所述,一些业务需求的复杂性未必就逊色于底层技术。我们产生困惑的原因,更多的还是面对的问题不一样。业务技术面对的问题变化更快、领域横向上更广;底层技术面对的问题更加稳定,领域纵向上更加深入,但是大家解决问题的能力是共通的,比如编程能力、抽象建模能力、结构化思维能力、落地能力等等。


因此业务开发并不简单,只是大家想“简单”了,或者说在用“简单”的方式做业务开发。我们认为,尊重业务需求,夯实编程、抽象建模、落地等能力,并在项目实践中充分思考和应用,业务一样可以做的很“技术”。


作者简介


阿里文娱开发工程师 暮平


相关链接


10W 座位的大场馆究竟是怎么画出来的?


10 倍高清不花!大麦端选座SVG 渲染


首次揭秘!看大麦如何掌控超大规模高性能选座抢票


3D/VR 选座技术探索


大麦库存的高性能及一致性是如何设计的?


大麦票夹:从工具到服务的技术演进之路


2020-03-09 11:001864

评论

发布
暂无评论
发现更多内容

setInterval、setTimeout和requestAnimationFrame

源字节1号

软件开发

易观分析《2022年中国银行业隐私计算平台供应商实力矩阵分析》研究报告正式启动

易观分析

银行技术

叮!Techo Day 腾讯技术开放日如约而至!

CODING DevOps

CODING DevOps Cloud Studio Techo 腾讯技术开放日

web前端培训Node.js 如何连接到 PostgreSQL 数据库

@零度

node.js 前端开发

一套十万级TPS的IM综合消息系统的架构实践与思考

JackJiang

网络编程 架构设计 即时通讯 im开发

通过大数据培训学习后到35岁后为什么会失业

@零度

中国内地仅四家突围 联想智慧颐和园荣获 “2022年IDC亚太区智慧城市大奖”

科技大数据

VPS是干嘛用的?有哪些知名牌子?与云服务器有什么区别?

行云管家

运维 等保备案 VPS

行业分析| 快对讲,楼宇对讲

anyRTC开发者

音视频 快对讲 语音对讲 视频对讲 楼宇对讲

TiDB v6.0.0 (DMR) :缓存表初试丨TiDB Book Rush

PingCAP

TiDB

Flink流处理API大合集:掌握所有flink流处理技术,看这一篇就够了

百思不得小赵

大数据 6月月更 flink api

小白创业做电商,选对商城系统很重要!

CRMEB

百问百答第44期:应用性能探针监测原理-Python探针

博睿数据

APM AIOPS 智能运维 博睿数据 性能监测

《数字经济全景白皮书》消费金融数字化篇 重磅发布

易观分析

消费金融

当量子计算遇上人工智能

启科量子开发者官方号

人工智能 算力 量子计算

2022中国信通院首届业务与应用安全发展论坛成功召开!

中国IDC圈

太阳能无线LED显示屏的特点

Dylan

LED LED显示屏

layui-vue简单体验

Python研究所

6月月更

物联网低代码平台常用《组件介绍》

AIRIOT

低代码 物联网 低代码开发平台 低代码平台 低代码,项目开发

使用 ABAP 操作 Excel 的几种方法

汪子熙

microsoft Excel Office SAP 6月月更

Java培训 动态代理的底层原理

@零度

JAVA开发 动态代理

《运营之光3.0》全新上市——跨越时代,自我颠覆的诚意之作!

博文视点Broadview

如临现场的视觉感染力,NBA决赛直播还能这样看?

阿里云视频云

音视频 直播 音视频直播 直播解决方案

百度APP 基于Pipeline as Code的持续集成实践

百度Geek说

Java’

LSF 集群全面监控!浅析 HPC 基于龙蜥操作系统的迁移替代解决方案

OpenAnolis小助手

开源 解决方案 龙蜥操作系统 常青藤开源科技 HPCinsights

如何使用 DataAnt 监控 Apache APISIX

API7.ai 技术团队

后端 监控 APISIX 网关 DataAnt

直播带货平台包含了直播和娱乐模块,你知道是什么吗?

开源直播系统源码

软件开发 直播带货系统

2022 开源软件安全状况报告:超41%的企业对开源安全没有足够的信心

SEAL安全

DevSecOps 开源安全 软件供应链 安全左移

智联招聘基于 Nebula Graph 的推荐实践分享

NebulaGraph

知识图谱 Nebula Graph

人人都可以参与开源!龙蜥社区最不容错过的开发者活动来了

OpenAnolis小助手

开源 龙蜥社区 礼品 开发者激励 贡献

等保备案主体是谁?在当地网安进行备案是吗?

行云管家

等保 等级保护 等保备案

分区定价:座位上玩转“精细化运营”_文化 & 方法_阿里巴巴文娱技术_InfoQ精选文章