航班数据缓存方法及系统的制作方法

文档序号:9865706阅读:658来源:国知局
航班数据缓存方法及系统的制作方法
【技术领域】
[0001 ]本发明设及数据处理技术,尤其设及一种航班数据缓存方法及系统。
【背景技术】
[0002] 过去,航班信息只有代理人和航空公司能够查询。随着Internet的发展,很多的旅 行信息服务商开始出现,使得个人用户能够通过服务商提供的查询系统自行查询航班信息 并选择出行路线。此时,服务商的航班查询系统与航空公司的相关系统之间采用的是直连 的实时访问方式。但为了低价而发起的越来越多的查询请求给服务商的航班查询系统、W 及航空公司的相关系统带来了巨大压力,压力增大造成访问超时,随之而来的拒售、错售等 问题层出不穷。
[0003] 航空公司与旅行信息服务商之间的航班信息交互除了直连方式外还可W通过AVS (the Availability Sta化S)报文(用于销售和报告舱位状态的报文)来进行,AVS报文是航 空公司周期性发给服务商的关于航班信息、舱位信息的报文。AVS报文的周期比较长,不能 反应舱位实时变化,而且航空公司通常会对舱位销售进行策略的控制,因此,单纯采用AVS 报文常会出现舱位不准、无法订座等情况。
[0004] 上述问题对于全球分销系统(GDS,Global Dishibution System)来说主要是非 托管航空公司相关信息的实时获取。流量巨大的GDS完全实时访问航空公司的服务器或所 在的册ST服务器,必然给服务器带来巨大的压力,因此各GDS目前主要采用缓存技术与实时 访问结合的方案来处理运类问题。
[0005] 航班查询系统访问非托管航空公司相关系统时,针对非托管航空公司的直接请求 消耗时间和资源多,平均一个直连请求响应时间在500msW上,如果每个用户请求都通过直 连方式访问非托管航空公司,不但系统的数据压力无法承受,用户体验也相当差。比如,平 均一个国际运价捜索的查询请求中包含50条非托管航空公司的航班信息,运50个航班都需 要通过直连访问非托管航空公司来获取舱位结果;如果50个请求同时发往非托管航空公 司,最后的回报时间取决于耗时最长的那个请求,而如果有个别请求超时(无返回结果),从 用户的角度看,整个航班查询的请求回报时间需要20秒W上。
[0006] 为解决航班查询系统对于非托管航空公司相关系统的访问问题,需要提出一种新 的缓存方法及系统,使航班查询系统访问非托管航空公司相关系统时,在保证高准确率的 情况下高效的获取航班数据,既提高航班查询系统的响应时间又能够减轻非托管航空公司 相关系统的压力。

【发明内容】

[0007] 为解决现有存在的技术问题,本发明实施例提供一种航班数据缓存方法及系统。 [000引为达到上述目的,本发明实施例的技术方案是运样实现的:
[0009] -种航班数据缓存方法,所述方法包括:
[0010] 配置系统参数,实现航班数据的多层级缓存;
[0011] 缓存数据多层级查询;
[0012] 缓存数据更新;
[001引缓存自检。
[0014] 其中,所述多层级缓存包括:不同航空公司的航班数据配置不同的缓存区域;W 及,针对同一航空公司的航班数据,按用户身份分级进行读写配置;针对同一航空公司的航 班数据,配置直飞与联程区分读写。
[0015] 其中,所述按用户身份分级进行读写配置,包括:将用户按区域进行分级,在每个 层级上配置缓存块,同一层级上不同地域的用户对应不同的缓存块,可W选择性的设置为 在任意一个层级上区别读取。
[0016] 其中,所述缓存数据更新包括:实时发送非托管航空公司直连请求更新缓存数据、 和/或主动触发更新缓存数据、和/或智能轮询方式更新缓存数据。
[0017] 其中,所述主动触发更新缓存数据,包括:对于配置为查询缓存的用户,在其请求 非托管航空公司相关数据时,直接从缓存中读取相应数据并返回给用户,同时,在后台触发 针对非托管航空公司的直连请求,得到响应后,将响应中的相关数据更新到缓存。
[0018] 其中,所述智能轮询方式更新缓存数据,包括:根据预先配置的原始轮询策略和自 我学习调整后的轮询策略,发出直连请求,在收到正常回报之后,将回报中的航班数据更新 到缓存。
[0019] 其中,所述缓存自检包括:按预先配置的时间间隔,循环检查是否有失效的航班数 据,如果有,则删除相应的失效节点。
[0020] -种缓存系统,所述缓存系统包括:查询模块、更新模块、缓存管理模块、缓存内存 和通信模块,其中,缓存内存,用于实现航班数据的多层级缓存;查询模块,用于多层级查询 缓存数据;更新模块,用于缓存数据更新;缓存管理模块,用于缓存自检,W及为所述缓存内 存配置系统参数;通信模块,用于在用户请求航班数据时实时地或被触发地发出直连请求, 并将请求来的数据通过所述更新模块更新到所述缓存内存中。
[0021] 其中,所述缓存内存用于实现航班数据的多层级缓存,包括:不同航空公司的航班 数据配置不同的缓存区域;W及,针对同一航空公司的航班数据,按用户身份分级进行读写 配置;针对同一航空公司的航班数据,配置直飞与联程区分读写。
[0022] 其中,所述更新模块用于缓存数据更新,包括:实时发送非托管航空公司直连请求 更新缓存数据、和/或主动触发更新缓存数据、和/或智能轮询方式更新缓存数据。
[0023] 本发明实施例提供一种高效的航班数据缓存方法及系统,采用多层级缓存结构, 能够在查询非托管航空公司航班时,在保证高准确率的情况下高效的获取航班舱位数据, 实现了非托管航空公司数据访问准确性和效率的统一。既有效满足了用户对非托管航空公 司航班的查询需求,又提高了查询响应时间,并极大减少了航班查询系统对非托管航空公 司服务器的访问,降低了双方服务器的压力。目前通过查询该缓存系统获取航班数据,已经 实现95%非托管航空公司准确率,接近非托管航空公司直连访问的准确率。
[0024] 本发明实施例的缓存系统在结构上按航空公司和用户身份区别存储与查询,并可 W按直飞或联程分别存储与查询,如此,针对航班数据的特点采用了多层级数据缓存结构 和缓存数据管理机制,运个缓存结构同时适用于直飞和0&D联程航班,能够根据用户的信息 进行不同级别的精确数据存储。
[0025] 缓存系统的命中率和准确率由Ξ类更新方式保证:实时非托管航空公司直连请求 的数据为缓存提供最基本的数据来源,保障了缓存数据的广泛性和新鲜度;主动触发方式 的更新数据为缓存提供有针对性的数据,有针对性的发出非托管航空公司直连请求,使用 直连请求的回报数据刷新缓存,提升下一次同类用户查询的命中率,从而提高了缓存命中 率;智能轮询方式更新缓存,根据用户访问热点信息统计和热口航线访问趋势统计数据做 为轮询样本,用实时最新的数据刷新缓存,保证缓存数据的高准确率,为提升缓存数据的准 确率做出重要支撑。
【附图说明】
[0026] 在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相 似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图W示例而 非限制的方式大体示出了本文中所讨论的各个实施例。
[0027] 图1为本发明实施例缓存方法的实现流程图;
[0028] 图2为本发明实施例缓存系统的组成结构示意图;
[0029] 图3为本发明实施例缓存系统中缓存内存的结构示意图;
[0030] 图4为本发明实施例查询航班数据时各个服务的访问方式示意图;
[0031 ]图5为本发明实施例通过查询请求更新缓存数据的示意图;
[0032] 图6为本发明实施例通过智能轮询更新缓存数据时轮询的流程示意图。
【具体实施方式】
[0033] 本发明实施例的缓存方法,通过一个能够存储非托管航空公司航班数据的缓存系 统实现,该方法包括:
[0034] 步骤10:配置系统参数,实现航班数据的多层级缓存;
[0035] 步骤20:缓存数据多层级查询;
[0036] 步骤30,缓存数据更新;
[0037] 步骤40,缓存自检。
[0038] 其中,所述"多层级缓存"是首先按航空公司和用户身份(国家、城市、OFFICE等身 份标识)分类存储航班数据,再将航班数据按照按直飞或联程分别存储。
[0039] 具体地,步骤10的配置可W包括:针对不同航空公司配置不同的缓存区域,在每个 缓存区域上进行用户身份分级读写配置、直飞与联程读写配置、联盟航空公司配置等。运 里,步骤10的配置还可W包括:实时进行直连请求的用户配置;直接读取缓存并触发直连请 求更新缓存的用户配置;缓存的大小、缓存数据的有效时间、缓存自检时间间隔等。
[0040] 其中,本发明实施例从多维度配置所述多层级缓存,W提高系统缓存读写精度:第 一,按航空公司分区存储航班数据,即为每个航空公司设置其自身的缓存区域;第二,按用 户身份分级进行读写配置,即将用户按区域进行分级,如可W按照国家、城市、OFFICE等对 用户进行分级,并可W选择性的设置在任意一个层级上区别读取,也就是说,按照地域对用 户分级,在每个层级上配置缓存块,同一层级上不同地域的用户对应不同的缓
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1