机票查询方法
【专利摘要】本发明涉及一种机票查询方法,其特点是包括以下步骤:首先,采用至少6台内存容量32G或以上服务器部署MemcacheDB分布式,key-value形式的持久存储系统。之后,部署至少4台job服务器,定时获取数据。接着,将获的数据统一进行数据梳理,封装到一起,按照约定的关键词缓存存储到MemcacheDB分布式中。然后,部署至少4台对外提供航班查询接口服务的系统,对提交过来的航班查询请求返回数据。由此,采用了MemcacheDB分布式,解决直接查询IBE系统或各航空公司接口响应速度慢的情况。同时,解决了一次查询就能返回统一格式的所有渠道的数据直接使用的难题。
【专利说明】机票查询方法
【技术领域】
[0001] 本发明涉及一种查询方法,尤其涉及一种机票查询方法。
【背景技术】
[0002] 随着通过互联网预定机票越来越被大家所接受,公司网站在线机票预定业务也发 展迅猛,航班查询预定的量也是越来越大,由于航班查询预定功能最终是由中国航信系统 提供的IBE (Internet Booking Engine),即互联网订座引擎中实现,同时存在各航空公 司对IBE进行封装开发各自的API (Application Programming interface)接口,提供了 航班查询预定功能。从各航司封装后的API接口能获取到部分在IBE无法查询到航班仓位 数据,这样就要求公司在对接IBE系统的同时需要尽可能多的对接不同航空公司的接口来 获得更多的低价航班仓位资源。面对大量的查询预定操作,通过查询IBE或各航空公司的 API接口,由于数据来源渠道不一致,格式也不一致,经过统一处理后呈现到客户页面耗时 过长,已达不到快速响应的要求,客户体验不佳。
[0003] 什么是 IBE (Internet Booking Engine) IBE (Internet Booking Engine),即互联网订座引擎,是基于因特网的开放平台 技术,它为各种用户应用系统提供访问中国航信传统订座业务系统的途径,是采用API (Application Programming interface)方式的接口。
[0004] IBE本身并不是一个完整的应用系统,而是提供访问中国航信主机系统的API,客 户需要在IBE的基础上进行二次开发。客户很容易使用IBE,IBE基于业界标准协议(TCP/ IP),使用跨平台的Java技术,使得IBE可以运行在多种应用平台上,具有很强的伸缩性。 [0005] 什么是航班舱位 航班安排座位时是分舱位的,而不同的舱位对应的机票折扣不同,价格不同所得到的 服务也不一样。平时订机票航空公司也会提供不同的舱位。
[0006] 什么是 Memcahced Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据 库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库 驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是 用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
[0007] 什么是 BerkeleyDB 像mysql这类基于c/s结构的关系型数据库系统虽然代表着目前数据库应用的主流, 但却并不能满足所有应用场合的需要。有时我们需要的可能只是一个简单的基于磁盘文 件的数据库系统。这样不仅可以避免安装庞大的数据库服务器,而且还可以简化数据库应 用程序的设计。berkeley db正是基于这样的思想提出来的。
[0008] berkeley db是一个开放源代码的内嵌式数据库管理系统,能够为应用程序提供 高性能的数据管理服务。应用它程序员只需要调用一些简单的api就可以完成对数据的访 问和管理。与常用的数据库管理系统(如mysql和oracle等)有所不同,在berkeley db 中并没有数据库服务器的概念。应用程序不需要事先同数据库服务建立起网络连接,而是 通过内嵌在程序中的berkeley db函数库来完成对数据的保存、查询、修改和删除等操作。
[0009] 什么是 MemcacheDB MemcacheDB是一个开源项目,给memcached分布式缓存服务器添加了 Berkeley DB的 持久化存储机制和异步主辅复制机制,让memcached具备了事务恢复能力、持久化能力和 分布式复制能力,非常适合于需要超高性能读写速度,但是不需要严格事务约束,能够被 持久化保存的应用场景。
[0010] MemcacheDB是一个分布式、key-value形式的持久存储系统。它不是一个缓存组 件,而是一个基于对象存取的、可靠的、快速的持久存储引擎。协议跟memcache -致(不完 整),所以很多memcached客户端都可以跟它连接。MemcacheDB米用Berkeley DB作为持久 存储组件,故很多Berkeley DB的特性的他都支持。MemcacheDB的前端缓存是Memcached, 后端存储BerkeleyDB。
【发明内容】
[0011] 本发明的目的就是为了解决现有技术中存在的上述问题,提供一种机票查询方 法。
[0012] 本发明的目的通过以下技术方案来实现: 机票查询方法,其包括以下步骤:步骤①,采用至少6台内存容量32G或以上服务器部 署MemcacheDB分布式,key-value形式的持久存储系统。步骤②,部署至少4台job服务 器,定时获取数据。步骤③,将获的数据统一进行数据梳理,封装到一起,按照约定的关键词 缓存存储到MemcacheDB分布式中。步骤④,部署至少4台对外提供航班查询接口服务的系 统,对提交过来的航班查询请求返回数据。
[0013] 上述的机票查询方法,其中:步骤②所述的获取数据为每台job服务器通过对应 渠道,爬取最近一段时间的部分航线数据,所述的最近一段时间为最近30天,所述的部分 航线数据为已经销售的航线数据所统计出的热门航线,所述的对应渠道为航空公司接口, 或是为IBE。
[0014] 进一步地,上述的机票查询方法,其中:所述的定时获取为间隔1小时获取1次。
[0015] 更进一步地,上述的机票查询方法,其中:所述的约定的关键词的内容包括有出发 城市3字码、目的城市3字码、日期。
[0016] 再进一步地,上述的机票查询方法,其中:步骤④所述的对提交过来的航班查询请 求返回数据其过程为,对提交过来的航班查询请求,从MemcacheDB返回命中目标的数据, 对没有命中目标的请求异步提交给job服务器来补充抓取,确保再次请求时有数据。
[0017] 本发明技术方案的优点主要体现在:由于采用了 MemcacheDB分布式,解决直接查 询IBE系统或各航空公司接口响应速度慢的情况。同时,解决了一次查询就能返回统一格 式的所有渠道的数据直接使用的难题。
[0018] ,为本领域的技术进步拓展了空间,实施效果好。
[0019] 本发明的目的、优点和特点,将通过下面优选实施例的非限制性说明进行解释。这 些实施例仅是应用本发明技术方案的典型范例,凡采取等同替换或者等效变换而形成的技 术方案,均落在本发明要求保护的范围之内。
【权利要求】
1. 机票查询方法,其特征在于包括以下步骤: 步骤①,采用至少6台内存容量32G或以上服务器部署MemcacheDB分布式,key-value 形式的持久存储系统, 步骤②,部署至少4台job服务器,定时获取数据, 步骤③,将获的数据统一进行数据梳理,封装到一起,按照约定的关键词缓存存储到 MemcacheDB分布式中, 步骤④,部署至少4台对外提供航班查询接口服务的系统,对提交过来的航班查询请 求返回数据。
2. 根据权利要求1所述的机票查询方法,其特征在于:步骤②所述的获取数据为每台 job服务器通过对应渠道,爬取最近一段时间的部分航线数据,所述的最近一段时间为最近 30天,所述的部分航线数据为已经销售的航线数据所统计出的热门航线,所述的对应渠道 为航空公司接口,或是为IBE。
3. 根据权利要求1所述的机票查询方法,其特征在于:所述的定时获取为间隔1小时 获取1次。
4. 根据权利要求1所述的机票查询方法,其特征在于:所述的约定的关键词的内容包 括有出发城市3字码、目的城市3字码、日期。
5. 根据权利要求1所述的机票查询方法,其特征在于:步骤④所述的对提交过来的航 班查询请求返回数据其过程为,对提交过来的航班查询请求,从MemcacheDB返回命中目标 的数据,对没有命中目标的请求异步提交给job服务器来补充抓取,确保再次请求时有数 据。
【文档编号】G06F17/30GK104102669SQ201310126163
【公开日】2014年10月15日 申请日期:2013年4月12日 优先权日:2013年4月12日
【发明者】王专, 吴志祥, 张海龙, 马和平, 吴剑, 郭凤林, 王晓钟, 庞绍进 申请人:同程网络科技股份有限公司