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

机票分享第一篇 机票由何而来

遥想05年刚加入飞猪,有同学问我机票搜索是怎么做的,一时间不知如何回答。转眼三年过去,为了给自己一个交代,抽时间把所负责的业务、系统、心得加以总结,才有了这几篇机票分享的文章。由于所用的技术、架构都是基于业务的,先科普业务。


一、一张纸质机票

7c41c862ddebc6d875bbd173c991fb6eaae24de2

从纸质机票得知:买家订购的是623出发的CA1703次航班,目的的是北京,座位为Y舱,官方指导价(非实际销售价)为1810元。


二、代理商销售机票背后的三要素

1、座位(位于航班)

4d9a810831b17307c573a8ad51d68e9b73c10c7a

201854日出发的,北京-杭州的CA1703次航班,Y舱有多于9个座位


2、官方指导价(位于运价)

2828300d2529ad84ec38adba12fb652a6ef61fce

北京-杭州,旅行时间在171113日之后,国航Y舱的官方指导价为2200


3、代理费(通过销售规则的返点、留钱计算)

9a8c5e119ed0cbe652f118f0da7df29f954cc437

飞天红猪侠旅行在2018330-1231日销售的,旅行日期范围在2018330-1231日之间的国航机票,返点比例是0.5%,留2元钱。


三、代理商所售机票销售价的计算

座位、官方指导价、代理费三者匹配后算出销售价。

官方指导价*1-返点比例)+ 留钱 = 销售价

示例:2200*1-0.5%+ 2 = 2191


四、航司旗舰店售卖的机票

航司旗舰店直接报出的销售价格(通常和官方指导价相同,无需匹配、计算)

fb9459661148bc190892d33f2ddfc44d7eb2b58a

201854日从北京出发到达杭州的CA1703次航班Y舱的销售价为2200元,多于9个座位


五、四类核心数据在系统中的流向


6cd421624cd56c74ab5f395142e27db6c1bc4745

注:国内机票下单前核心数据流向示意图


可以看到,数据有两个来源,从外部系统抓取、由商家录入,数据会先持久化到数据库,并同步到计算层,为保证查询数据的速度通常需要一个缓存层,计算的结果会进一步被合并、排序并最终形成用户看到的在售机票。

后续篇幅会逐一介绍核心数据流经的系统/分层。

相关文章:

  • 马斯克“地狱”归来,回应一切
  • win7 打开office失败并提示“向程序发送命令错误” 解决方法
  • 开发一个自己的天气chrome extension
  • Tomcat for Eclipse
  • 深度学习人工智能离我们还有多远?
  • eclipse内存设置参数
  • 2018一半小结一波
  • GTX 770 (GK 104)
  • JSP和Servlet的区别
  • [转]关于矩阵的本质
  • C# Enum 类型遍历
  • MOSS: SPSecurity.RunWithElevatedPrivileges提升权限来新增列表条目示例
  • 小程序01:wepy框架整合iview webapp UI
  • Linq To Sql进阶系列(五)Store Procedure篇
  • 华泰证券Elasticsearch在日志搜索、日志分析、链路管理系统方面的应用实践
  • 【知识碎片】第三方登录弹窗效果
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Git学习与使用心得(1)—— 初始化
  • HashMap剖析之内部结构
  • Javascript基础之Array数组API
  • JavaScript设计模式系列一:工厂模式
  • Java知识点总结(JavaIO-打印流)
  • jquery cookie
  • JS实现简单的MVC模式开发小游戏
  • Less 日常用法
  • MySQL-事务管理(基础)
  • MySQL用户中的%到底包不包括localhost?
  • Node 版本管理
  • Rancher如何对接Ceph-RBD块存储
  • SegmentFault 2015 Top Rank
  • vue2.0项目引入element-ui
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 从重复到重用
  • 多线程 start 和 run 方法到底有什么区别?
  • 关于extract.autodesk.io的一些说明
  • 目录与文件属性:编写ls
  • 微信小程序:实现悬浮返回和分享按钮
  • 自动记录MySQL慢查询快照脚本
  • 白色的风信子
  • Spring第一个helloWorld
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #pragma 指令
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (09)Hive——CTE 公共表达式
  • (1)Nginx简介和安装教程
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (2)Java 简介
  • (bean配置类的注解开发)学习Spring的第十三天
  • (二)构建dubbo分布式平台-平台功能导图
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载