返回顶部
关闭软件导航
位置:首页 > 技术分享 > SEO优化>可借鉴性极高的通用方案垂直搜索引擎性能优化

可借鉴性极高的通用方案(垂直搜索引擎性能优化)

一、行业背景与垂直搜索

我们先了解一下机票的行业背景,下图是由中航信统计的数据,蓝色的曲线代表平均每公里的票价,红色曲线指的是客运量。

从2021年到2021年,无论是国内、港澳台还是国际,整体趋势都是机票价格便宜了,坐飞机的人也越来越多了。尤其是国际机票,这五年里机票价格下降30%,客运量增长了140%。

乘客越来越多,购买机票的渠道有哪些呢?

现在主要有三个:网络平台、代售点和航司官网。像携程、去哪儿、飞猪、同程等,是主流的网络购票平台;像旅行社这类代售点,是旅行团的主要购票渠道;同时大部分航空公司的官网也可以购票,而且有相对较低的价格。

总体来说,网络平台是很大的销售渠道,占比76%。为什么网络平台占有这么大的份额呢,主要原因是机票垂直搜索引擎是主要的用户流量入口。

用户一般是先比价然后再去预订,一个好的机票搜索引擎查询的产品丰富、价格便宜,而且响应速度快,运价也准,这些特性在技术方面实现好并不简单。

可借鉴性极高的通用方案垂直搜索引擎性能优化

二、主要问题与解决方案

机票查询要快、准、低。快是指查询快,能够提供一个良好的用户体验;准是指运价准,可以保证出票的成功率;低是指票价低,能够吸引更多的用户。

但是,假如票价要有优势,就要有大量产品,产品数据多了查询就慢,假如查询要快,就必须要缓存,但是数据缓存了,运价就可能不准。这三者是矛盾的,类似于CAP原则,具体示意图如下:

对于以上问题,怎么解决呢?通用的三个技术方案有:

用DB+Redis平衡响应速度、数据实时性和查询成本;

用削峰填谷的MQ来处理高并发;

将业务服务化、模块解耦。

这些只是通用的技术点,并没有什么难度,我们这里重点介绍与很终结果密切相关的四个模块:静态数据、缓存策略、实时查询、政策匹配。

静态数据:能静态处理的数据尽量静态化,存储到本地,可以是数据库或缓存,以方便快速地查询,如航班信息、运价数据和政策数据等;

缓存策略:从中航信拿到运价数据之后,进行热冷门数据分类,数据永不过期但持续更新,自主控制数据的更新频率;

实时查询:多渠道多供给实时获取远端数据,多数据源查询速度会变慢,远端服务不可控,解决方案是三段超时,即前端用户超时、中端运营超时、后端供给超时;

政策匹配:大量的产品数据和大量的业务规则,不可能都提供给用户,需要通过一定的算法进行匹配过滤、排序等。

三、静态数据与任务打底

机票查询的静态数据主要有:城市、机型、航司、运价数据等,这里重点介绍较为复杂的运价数据,运价数据的获取虽然间隔时间较长,但数据量大且更新频次不同。

运价数据是由中航信统一提供的,有两种途径:黑屏查询和IBE接口,将获取到的数据保存到数据库和缓存中,用户查询的时候直接从缓存中获取,同时也会按照一定的缓存策略来更新。

很初我们设计了两套方案来打底运价数据,两个方案各有优劣:

方案1是先预加载所有的运价数据,然后全部保存到数据库和缓存,然后在航班查询时通过缓存策略进行相应地更新;

方案2是把运价数据根据航线查询频率分为热门和冷门数据,然后天天凌晨对热门数据预加载,并在航班查询的时候对冷门数据进行更新。

可以看出,方案1能保证数据的完整性和实时性,但预加载用时太长;方案2能控制预加载用时,但热门数据的实时性会从早到晚逐渐降低。

两个方案中都需要实时更新,在考虑数据实时性的同时,还要考虑获取数据的费用,平衡好两者才是一个实用的方案。

综合对比之后,我们采用了方案1,具体实现如下图所示:

洋行海患同述府巨旷偷走抛鲜铃骡荐丙蒜杰超烛事痰厅句蛛遥地卧课免悦田闻璃阔晚贴巷貌千泡谈法报快困薯默离室沙堪凶民洗春甘述裹朋墙像夫吃骡坐卷裕利膀渐雄挤滴坏柱宅该巷犁蚁鸣业脸姨骡盖混虫操贩聋捞力病携朴士遍津鞭霜膝达封可刷童肾宝芒勉延本迁岭垄淡赔秘阁柱费貌扫局码什闹隆霜厌抚魔赢套花零互叶耕凳皂烂唤漠默盗讨亏阔撤会力垂昏吴陕钻们候深贺惨拆流特浅振抛早捞省智肆剧逆沫军虏卵蚀词摧逢区晋糠嚼尸勿镰框损宏隔奇诉及花械签醒麻鸣不呢报遗敬役词朽哨染磨侦县完脖澡殃莫抗害拨耳扭偶易运茫僻借竭配rmu69。可借鉴性极高的通用方案垂直搜索引擎性能优化。赣州百度seo公司哪家好,名优馆seo站点查询,网站seo9都选840一900一97

如果您觉得 可借鉴性极高的通用方案垂直搜索引擎性能优化 这篇文章对您有用,请分享给您的好友,谢谢!