CN109918387A - 一种国内机票数据更新方法 - Google Patents
一种国内机票数据更新方法 Download PDFInfo
- Publication number
- CN109918387A CN109918387A CN201910109921.4A CN201910109921A CN109918387A CN 109918387 A CN109918387 A CN 109918387A CN 201910109921 A CN201910109921 A CN 201910109921A CN 109918387 A CN109918387 A CN 109918387A
- Authority
- CN
- China
- Prior art keywords
- data
- update
- need
- caching
- querying condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000003139 buffering effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开一种国内机票数据更新方法。所述方法包括:获取用户从客户端输入的查询条件;从缓存中搜索满足所述查询条件的数据;基于缓存搜索结果判断是否需要对缓存进行更新;如果不需要更新,将缓存搜索结果返回客户端;如果需要更新,调用供应商数据接口得到符合查询条件的数据,将所述数据保存到缓存并将其返回客户端。本发明解决了现有更新方法存在的因更新过于频繁造成耗时长、增加成本,或因更新不及时从而返回过期数据的问题。
Description
技术领域
本发明属于机票查询技术领域,具体涉及一种国内机票数据更新方法。
背景技术
互联网机票网站或应用通常向用户提供国内机票信息的查询服务,而机票信息的查询服务依赖于机票数据的更新(向某个机票数据供应商发起http请求,获取最新的机票数据),通常机票数据的更新方法有以下几种:
一是实时更新,每次用户查询都触发一次更新。其缺点是数据更新请求的耗时通常较长,会造成用户等待时间过长;数据供应商通常有查询预订比例要求,此方式可能造成查订比超过数据供应商的,从而需要支付一定费用,增加了成本;对于用户查询频率较高的热门航线,可能会短时间内多次更新,但实际数据并没有变化,造成资源浪费。
二是离线更新,所有数据通过离线程序定时更新,并存储到缓存设备中,用户查询时,由程序从缓存中读取数据返回给用户。其缺点是可能导致变化频率高的数据更新不及时,从而造成用户看到过期的数据;变化频率低的数据更新过于频繁,造成资源浪费。
三是动态缓存更新,根据航线的热度不一样,使用不同的数据更新间隔。其缺点是航线热度的计算方式未必能准确反映数据实际的变化频率,可能导致数据更新不及时或更新过于频繁。
发明内容
为了解决现有技术中存在的上述问题,本发明提出一种国内机票数据更新方法,在用户每次查询时判断是否需要更新,只有需要更新时才进行机票数据更新,可以解决数据更新不及时和更新过于频繁的问题。
为实现上述目的,本发明采用如下技术方案:
一种国内机票数据更新方法,包括以下步骤:
步骤1,获取用户从客户端输入的查询条件;
步骤2,从缓存中搜索满足所述查询条件的数据;
步骤3,基于缓存搜索结果判断是否需要对缓存进行更新;
步骤4,如果不需要更新,将缓存搜索结果返回客户端;如果需要更新,调用供应商数据接口得到符合查询条件的数据,将所述数据保存到缓存并将其返回客户端。
与现有技术相比,本发明具有以下有益效果:
本发明通过获取用户从客户端输入的查询条件,从缓存中搜索满足所述查询条件的数据,基于缓存搜索结果判断是否需要对缓存进行更新,如果不需要更新,将缓存搜索结果返回客户端;如果需要更新,调用供应商数据接口得到符合查询条件的数据,将所述数据保存到缓存并将其返回客户端,解决了现有更新方法存在的因更新过于频繁造成耗时长、增加成本,或因更新不及时从而返回过期数据的问题。
附图说明
图1为本发明实施例一种国内机票数据更新方法的流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明实施例一种国内机票数据更新方法的流程图如图1所示,所述方法包括以下步骤:
S101、获取用户从客户端输入的查询条件;
S102、从缓存中搜索满足所述查询条件的数据;
S103、基于缓存搜索结果判断是否需要对缓存进行更新;
S104、如果不需要更新,将缓存搜索结果返回客户端;如果需要更新,调用供应商数据接口得到符合查询条件的数据,将所述数据保存到缓存并将其返回客户端。
在本实施例中,步骤S101用于获取用户从客户端输入的查询条件。用户发起一次机票数据查询,需要输入查询条件。查询条件有两种,一种是包括出发机场、到达机场和出发日期的查询条件,一般称为列表页查询;另一种是单独的航班号查询条件,一般称为详情页查询。
在本实施例中,步骤S102用于从缓存中搜索满足所述查询条件的数据。本实施例进行缓存查询后才判断是否需要更新缓存,是因为更新判断需要用到缓存搜索结果,具体见下一实施例。
在本实施例中,步骤S103用于判断是否需要对缓存进行更新。S103是实现本发明所要解决的技术问题的关键,通过判断是否需要更新缓存,只有需要时才进行更新,不需要时不进行更新,可以避免实时更新方式存在的当不需要更新时也进行更新从而增加耗时和成本的问题,以及离线更新方式和动态缓存更新方式存在的当需要更新时不能及时更新从而返回用户过期数据的问题。
在本实施例中,步骤S104主要用于向客户端返回查询结果及缓存更新。如果步骤S103的判断结果是需要更新,从供应商的数据接口获取满足查询条件的最新数据,将所述最新数据存入缓存实现缓存更新,并将所述最新数据返回客户端展示给用户。如果步骤S103的判断结果是不需要更新,不对缓存进行更新,将步骤S102得到的结果直接返回客户端。
作为一种可选实施例,所述步骤S103具体包括:
如果缓存中没有满足查询条件的数据,则需要更新;
如果缓存中有满足查询条件的数据,进一步进行以下判断:
对于包括出发机场、到达机场和出发日期的列表页查询,如果最近一分钟内缓存数据被使用次数超过第一阈值,或最近一小时内缓存数据被使用次数超过第二阈值,或距上次更新的时间超过T,则需要更新;如果上述条件均不满足,则不需要更新。T的计算公式如下:
T=B*(1+log10D+log10M)
其中,B为常数,D为当前日期距离出发日期的天数,M为满足当前查询条件下的最低价航班的最低价舱位的剩余票数;
对于航班号查询即详情页查询,如果当前时间距上次更新的时间超过第三阈值,则需要更新;否则不需要更新。
本实施例给出了判断缓存是否需要更新的一种技术方案。首先,根据步骤S102在缓存中搜索时是否查到了满足条件的数据进行判断,如果没有查到满足条件的数据,即缓存中无数据,需要对缓存进行更新;如果查到了满足条件的数据,即缓存中有数据,需要进一步进行判断。
在本实施例中,进一步判断对列表页查询和详情页查询两种不同查询方式分别进行讨论,这是由于两种不同查询方式的特点不同。选择列表页查询方式,用户能看到在输入的出发机场、到达机场、出发日期下所有可选择的航班,以及每个航班的最低价格。根据行业数据统计,影响机票数据变化频率的主要因素有两个:一是最低价航班的最低价舱位剩余票数M,余票越少机票数据越容易发生变化;二是当前日期距离出发日期的天数D,D越小机票数据越容易发生变化。因此,可以根据大小取决于M和D的T值判断是否需要对缓存进行更新,在T的计算公式中充分考虑了M和D这两个因素的影响。此外,单位时间(一分钟、一小时)内缓存数据的使用次数越高,说明该查询条件受用户关注度越高,因此,单位时间内缓存数据的使用次数也可以作为缓存是否需要更新的判断依据。选择详情页查询方式,用户能看到指定航班的各个舱位的余票及价格。可以根据距上次更新的时间长短判断缓存是否需要更新。选择航班号查询,说用户的购买目标已经比较明确,需要给用户展示最新、最准确的数据。因此,相对而言,详情页查询方式比列表页查询方式对实时性的要求更高,也就是说,详情页查询方式要求对缓存的更新更频繁。实时性的不同可通过设置不同大小的阈值来实现,比如,可以通过设置较小的第三阈值来提高详情页查询方式缓存的更新频率。
综上所述,本实施例综合考虑了多种场景下的多种因素,确保机票数据的更新频率符合行业数据的变化规律,有效解决现有技术中存在的更新过于频繁或更新不及时的问题。
作为上一实施例的一种可选实施例,第一阈值为3,第二阈值为8,第三阈值为10分钟,B=60分钟。
本实施例是上一实施例的一种较佳实施例,给出了第一阈值~第三阈值以及常数B的一组具体数值,以供参考,并不排斥其它可行的取值。
上述仅对本发明中的几种具体实施例加以说明,但并不能作为本发明的保护范围,凡是依据本发明中的设计精神所做出的等效变化或修饰或等比例放大或缩小等,均应认为落入本发明的保护范围。
Claims (3)
1.一种国内机票数据更新方法,其特征在于,包括以下步骤:
步骤1,获取用户从客户端输入的查询条件;
步骤2,从缓存中搜索满足所述查询条件的数据;
步骤3,基于缓存搜索结果判断是否需要对缓存进行更新;
步骤4,如果不需要更新,将缓存搜索结果返回客户端;如果需要更新,调用供应商数据接口得到符合查询条件的数据,将所述数据保存到缓存并将其返回客户端。
2.根据权利要求1所述的国内机票数据更新方法,其特征在于,所述步骤3具体包括:
如果缓存中没有满足查询条件的数据,则需要更新;
如果缓存中有满足查询条件的数据,进一步进行以下判断:
对于包括出发机场、到达机场和出发日期的列表页查询,如果最近一分钟内缓存数据被使用次数超过第一阈值,或最近一小时内缓存数据被使用次数超过第二阈值,或距上次更新的时间超过T,则需要更新;如果上述条件均不满足,则不需要更新;T的计算公式如下:
T=B*(1+log10D+log10M)
其中,B为常数,D为当前日期距离出发日期的天数,M为满足当前查询条件下的最低价航班的最低价舱位的剩余票数;
对于航班号查询即详情页查询,如果当前时间距上次更新的时间超过第三阈值,则需要更新;否则不需要更新。
3.根据权利要求2所述的国内机票数据更新方法,其特征在于,第一阈值为3,第二阈值为8,第三阈值为10分钟,B=60分钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910109921.4A CN109918387A (zh) | 2019-02-11 | 2019-02-11 | 一种国内机票数据更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910109921.4A CN109918387A (zh) | 2019-02-11 | 2019-02-11 | 一种国内机票数据更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109918387A true CN109918387A (zh) | 2019-06-21 |
Family
ID=66961485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910109921.4A Pending CN109918387A (zh) | 2019-02-11 | 2019-02-11 | 一种国内机票数据更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918387A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783908A (zh) * | 2021-01-04 | 2021-05-11 | 重庆周游科技有限公司 | 一种机票数据高效缓存方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458706A (zh) * | 2008-11-11 | 2009-06-17 | 航旅信通(北京)信息技术有限公司 | 一种准确查询gds航班缓存数据的方法和系统 |
CN107291901A (zh) * | 2017-06-23 | 2017-10-24 | 携程旅游网络技术(上海)有限公司 | 主被动组合获取机票数据的方法、系统、设备及存储介质 |
CN107885743A (zh) * | 2016-09-29 | 2018-04-06 | 南京途牛科技有限公司 | 一种基于缓存的航班余位查询方法 |
-
2019
- 2019-02-11 CN CN201910109921.4A patent/CN109918387A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458706A (zh) * | 2008-11-11 | 2009-06-17 | 航旅信通(北京)信息技术有限公司 | 一种准确查询gds航班缓存数据的方法和系统 |
CN107885743A (zh) * | 2016-09-29 | 2018-04-06 | 南京途牛科技有限公司 | 一种基于缓存的航班余位查询方法 |
CN107291901A (zh) * | 2017-06-23 | 2017-10-24 | 携程旅游网络技术(上海)有限公司 | 主被动组合获取机票数据的方法、系统、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783908A (zh) * | 2021-01-04 | 2021-05-11 | 重庆周游科技有限公司 | 一种机票数据高效缓存方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104834675B (zh) | 一种基于用户行为分析的查询性能优化方法 | |
US9652538B2 (en) | Web crawler optimization system | |
US7130890B1 (en) | Method and system for adaptively prefetching objects from a network | |
CN101458706B (zh) | 一种准确查询gds航班缓存数据的方法和系统 | |
US20120215741A1 (en) | LDAP Replication Priority Queuing Mechanism | |
CN103312733B (zh) | 信息处理方法和装置 | |
US20110055202A1 (en) | Predictive data caching | |
CN105630982A (zh) | 航班数据缓存方法及系统 | |
CN104268286A (zh) | 一种查询热数据的方法 | |
CN104572979A (zh) | 一种处理结构化查询语言sql的方法及装置 | |
CN105243169B (zh) | 一种数据查询方法及系统 | |
CN109240946A (zh) | 数据的多级缓存方法及终端设备 | |
CN106294546B (zh) | 一种内存存储设备端口状态数据的方法 | |
CN102780603B (zh) | 网站流量控制方法及装置 | |
CN105550338A (zh) | 一种基于HTML5应用缓存的移动Web缓存优化方法 | |
CN110471939A (zh) | 数据访问方法、装置、计算机设备及存储介质 | |
CN104281579B (zh) | 进行网站数据查询的方法及服务器 | |
CN104794191A (zh) | 一种用于机票数据更新的方法和装置 | |
US10019675B2 (en) | Actuals cache for revenue management system analytics engine | |
CN106557578A (zh) | 历史数据查询方法及系统 | |
CN111782692A (zh) | 一种频率控制方法及装置 | |
CN106775498A (zh) | 一种缓存数据同步方法及系统 | |
CN110647542B (zh) | 一种数据获取方法和装置 | |
US9094225B1 (en) | Discovery of short-term and emerging trends in computer network traffic | |
CN112734064A (zh) | 一种数据处理方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190621 |
|
RJ01 | Rejection of invention patent application after publication |