首页 > 网站建设 >

机票网站建设如何解决静态数据与任务打底

发布时间:2019-07-23 作者:深圳网站建设

  机票网站建设如何解决静态数据与任务打底,深圳网站建设公司提醒机票查询的静态数据主要有城市、机型、航司、运价数据等,这里重点介绍较为复杂的运价数据。运价数据的获取虽然间隔时间较长,但数据量大且更新频次不同。运价数据是由中航信统一提供的,有两种途径:黑屏查询和IBE接口,将获取的数据保存到数据库和缓存中,用户查询的时候直接从缓存中获取,同时会按照一定的缓存策略来更新。
  最初我们设计了两套方案来打底运价数据,两个方案各有优劣。方案1是先预加载所有的运价数据,然后全部保存到数据库和缓存中,在航班查询时通过缓存策略进行相应地更新;方案2是把运价数据根据航线查询频率分为热门和冷门数据,然后每天凌晨对热门数据预加载,并在航班查询的时候对冷门数据进行更新。可以看出,方案1能保证数据的完整性和实时性,但预加载用时太长;方案2能控制预加载用时,但热门数据的实时性会从早到晚逐渐降低。  
  两个方案中都需要实时更新,在考虑数据实时性的同时,还要考虑获取数据的费用,平衡好两者才是一个实用的方案。综合对比之后,我们采用了方案1,具体实现如下图所示。首先通过Job对运价数据进行初始化,然后以任务消息的方式发送给MQ,MQ里的消息会被后台服务自动消费,执行消息队列
里的任务,把运价数据保存到数据库和缓存中。数据预加载之后,用户在前台查询时,如果缓存里面没有数据,或者查到的缓存数据是过期的,那么系统会自动发一条任务消息给MQ,或者人工配置指定的航线定时更新,Job也会自动发送任务消息给MQ,前台和后台的消息被服务消费以实现数据的更新。用户的不断请求和后台指定的任务保证了数据的持续更新,时间越久,数据的准确性越高,用户查询的命中率也会越来越高。好了,网站建设公司本文关于“机票网站建设如何解决静态数据与任务打底”的相关数据处理解决知识就分享到这里,谢谢关注,博纳网个络编辑整理。
文章标题:机票网站建设如何解决静态数据与任务打底
本文地址:https://www.198bona.com/news/3250.html
如果您觉得案例还不错请帮忙分享:

网站建设

网络推广

解决方案

域名主机

建站行业资讯