CN114385655A - 提供航班查询服务的方法及航班查询*** - Google Patents
提供航班查询服务的方法及航班查询*** Download PDFInfo
- Publication number
- CN114385655A CN114385655A CN202210036395.5A CN202210036395A CN114385655A CN 114385655 A CN114385655 A CN 114385655A CN 202210036395 A CN202210036395 A CN 202210036395A CN 114385655 A CN114385655 A CN 114385655A
- Authority
- CN
- China
- Prior art keywords
- flight
- data
- database
- query
- cache
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及提供航班查询服务的方法,包括:预先建立航班数据库,其从第三方的航班管理***数据库同步数据;预先建立航班缓存库,其存储以预定刷新频率从所述航班数据库中载入的与多个预定航班相关联的数据;接收航班查询请求;响应于与请求查询的航班相关联的数据被存储在所述航班缓存库中,从所述航班缓存库中读取与请求查询的航班相关联的数据作为查询结果提供;以及响应于与请求查询的航班相关联的数据未被存储在所述航班缓存库中,从所述航班数据库中读取与请求查询的航班相关联的数据并基于该数据生成和提供查询结果,并将从所述航班数据库中读取的与请求查询的航班相关联的数据存储在所述航班缓存库中。本公开还涉及航班查询***。
Description
技术领域
本公开涉及提供航班查询服务的方法及航班查询***。
背景技术
目前各个民用航空公司及旅游出行服务公司的官方网站、手机应用程序(APP)、以及小程序等用户接口均能够提供航班的查询及购买服务,但民用航空数据的管理和维护通常在第三方(本文中的“第三方”指相对于本公开涉及的方法及***的提供方、以及本公开涉及的方法及***的服务方的第三方,例如中国航信)的平台(本文亦简称为“第三方的航班管理***”)中进行,例如由各航空公司的业务员在第三方平台中配置数据来维护。因此,对于各航空公司及旅游出行服务公司的官方网站、APP及小程序等用户接口,存在快速并准确地向用户提供航班查询服务的需求。
发明内容
本公开的目的之一是提供用于提供航班查询服务的方法及航班查询***。
根据本公开的第一方面,提供了一种提供航班查询服务的方法,包括:预先建立航班数据库,所述航班数据库从第三方的航班管理***数据库同步数据;预先建立航班缓存库,所述航班缓存库存储以预定刷新频率从所述航班数据库中载入的与多个预定航班相关联的数据;接收航班查询请求;响应于与请求查询的航班相关联的数据被存储在所述航班缓存库中,从所述航班缓存库中读取与请求查询的航班相关联的数据作为查询结果提供;以及响应于与请求查询的航班相关联的数据未被存储在所述航班缓存库中,从所述航班数据库中读取与请求查询的航班相关联的数据并基于该数据生成和提供查询结果,并将从所述航班数据库中读取的与请求查询的航班相关联的数据存储在所述航班缓存库中。
根据本公开的第二方面,提供了一种提供航班查询服务的方法,包括:预先建立航班数据库,所述航班数据库从第三方的航班管理***数据库同步航班的库存数据;预先建立航班缓存库,所述航班缓存库存储以预定刷新频率从所述航班数据库中载入的多个预定航班的库存数据、和从所述航班管理***获取的所述多个预定航班的运价和税费数据;接收航班查询请求;响应于请求查询的航班为所述多个预定航班中的一个或多个,从所述航班缓存库中读取请求查询的航班的库存数据以及运价和税费数据作为查询结果提供;以及响应于请求查询的航班不在所述多个预定航班中,从所述航班数据库中读取请求查询的航班的库存数据、从所述航班管理***获取请求查询的航班的运价和税费数据、以及基于这些数据生成和提供查询结果,并将请求查询的航班的库存数据以及运价和税费数据存储在所述航班缓存库中。
根据本公开的第三方面,提供了一种航班查询***,所述***提供用于查询航班的用户接口,所述***包括:航班数据库,被配置为从第三方的航班管理***的数据库同步数据;以及航班缓存库,被配置为存储以预定刷新频率从所述航班数据库中载入的与多个预定航班相关联的数据,其中,所述***被配置为:通过所述用户接口接收航班查询请求;响应于与请求查询的航班相关联的数据被存储在所述航班缓存库中,从所述航班缓存库中读取与请求查询的航班相关联的数据作为查询结果提供;以及响应于与请求查询的航班相关联的数据未被存储在所述航班缓存库中,从所述航班数据库中读取与请求查询的航班相关联的数据并基于该数据生成和提供查询结果,并将从所述航班数据库中读取的与请求查询的航班相关联的数据存储在所述航班缓存库中。
根据本公开的第四方面,提供了一种航班查询***,所述***提供用于查询航班的用户接口,所述***包括:航班数据库,被配置为从第三方的航班管理***的数据库同步航班的库存数据;以及航班缓存库,被配置为存储以预定刷新频率从所述航班数据库中载入的多个预定航班的库存数据、和从所述航班管理***获取的所述多个预定航班的运价和税费数据,其中,所述***被配置为:通过所述用户接口接收航班查询请求;响应于请求查询的航班为所述多个预定航班中的一个或多个,从所述航班缓存库中读取请求查询的航班的库存数据以及运价和税费数据作为查询结果提供;以及响应于请求查询的航班不在所述多个预定航班中,从所述航班数据库中读取请求查询的航班的库存数据、从所述航班管理***获取请求查询的航班的运价和税费数据、以及基于这些数据生成和提供查询结果,并将请求查询的航班的库存数据以及运价和税费数据存储在所述航班缓存库中。
根据本公开的第五方面,提供了一种提供航班查询服务的设备,包括:一个或多个处理器;以及一个或多个存储器,所述一个或多个存储器被配置为存储一系列计算机可执行的指令,其中,当所述一系列计算机可执行的指令被所述一个或多个处理器执行时,使得所述一个或多个处理器进行如上所述的方法。
根据本公开的第六方面,提供了一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质上存储有一系列计算机可执行的指令,当所述一系列计算机可执行的指令被一个或多个计算装置执行时,使得所述一个或多个计算装置进行如上所述的方法。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为根据本公开实施例的提供航班查询服务的方法的一部分的示例性流程图。
图2为根据本公开实施例的提供航班查询服务的方法的一部分的示例性流程图。
图3为根据本公开实施例的航班查询***的一部分的示例性框图。
图4为可应用于本公开各实施例的通用硬件***的示例性框图。
注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在一些情况中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
具体实施方式
以下将参照附图描述本公开,其中的附图示出了本公开的若干实施例。然而应当理解的是,本公开可以以多种不同的方式呈现出来,并不局限于下文描述的实施例;事实上,下文描述的实施例旨在使本公开的公开更为完整,并向本领域技术人员充分说明本公开的保护范围。还应当理解的是,本文公开的实施例能够以各种方式进行组合,从而提供更多额外的实施例。
应当理解的是,本文中的用语仅用于描述特定的实施例,并不旨在限定本公开。本文使用的所有术语(包括技术术语和科学术语)除非另外定义,均具有本领域技术人员通常理解的含义。为简明和/或清楚起见,公知的功能或结构可以不再详细说明。
在本文中,用语“A或B”包括“A和B”以及“A或B”,而不是排他地仅包括“A”或者仅包括“B”,除非另有特别说明。
在本文中,用语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
根据本公开实施例的提供航班查询服务的方法及航班查询***,可以由例如民用航空公司或旅游出行服务公司的官方网站、APP、以及小程序等来实施,从而快速并准确地向用户提供航班查询服务。根据本公开实施例的方法或***包括预先建立的航班数据库和航班缓存库。航班数据库通过定时全量同步和实时增量更新的方式,从第三方的航班管理***数据库同步数据,以保证用于航班查询服务的原始数据的准确性、实时性和有效性。航班缓存库的建立可以保证快速响应用户的航班查询请求,同时,由于航班缓存库存储以预定刷新频率从航班数据库中载入的与多个预定航班相关联的数据,从而保证提供给用户的数据的准确性。
图1为根据本公开实施例的提供航班查询服务的方法的一部分的示例性流程图。将参照图1描述根据本公开实施例的方法或***通过用户接口10提供航班查询服务的方法。
在过程110中,通过用户接口10接收航班查询请求。用户接口10可以是根据本公开实施例的方法或***提供的用于查询航班的接口,例如可以通过民用航空公司或旅游出行服务公司的官方网站、APP、以及小程序等来呈现。航班查询请求通常可以指定出发机场(可以为一个或多个)、到达机场(可以为一个或多个)、以及出发日期(可以为一个或多个)。在本文中,除另有说明,由一个出发机场、一个到达机场和一个出发日期的组合确定一个航班。如果与请求查询的航班相关联的数据被存储在航班缓存库20中,即命中缓存,则从航班缓存库20中读取与请求查询的航班相关联的数据作为查询结果提供到用户接口10。
在一个具体的例子中,***通过用户接口10接收用户的航班查询请求,针对所要查询的每个航班,基于参数(出发机场、到达机场和出发日期)使用通用方法生成缓存key,根据该缓存key在航班缓存库20(例如可以是mongoDB数据库)中查找是否已经缓存了所需的数据。如果所需的数据已经被存储在航班缓存库20中,则从航班缓存库20读取所需的数据,并将数据处理为用户接口10所需的形式。例如,如果航班缓存库20中存储的数据是经过序列化压缩的,则可以将从航班缓存库20中读取的数据进行反序列化解压,然后封装(例如经过航班信息封装、行程封装、运价封装等)为用户接口10所需的返回结果的数据形式。
航班缓存库20中的数据可以被配置有缓存过期时间。如果与请求查询的航班相关联的数据被存储在航班缓存库20中,即命中缓存,但是该数据已经过期(例如可以根据缓存改变时间和缓存过期时间来确定),则从航班数据库30中读取与请求查询的航班相关联的数据,并将该数据存储在航班缓存库20中。在这种情况下,***可以被配置为将来自航班缓存库20的查询结果(即基于已经过期的缓存数据的查询结果)返回,以快速响应用户的请求;也可以被配置为将来自航班数据库30的查询结果返回,以向用户提供更准确的信息。
在过程120中,如果与请求查询的航班相关联的数据未被存储在航班缓存库20中,即未命中缓存,则从航班数据库30中读取与请求查询的航班相关联的数据并基于该数据生成和提供查询结果,并将从航班数据库30中读取的与请求查询的航班相关联的数据存储在航班缓存库20中。
在一些实施例中,由于作为查询结果的一部分的航班的运价和税费可能变动较快,因此需要实时地去第三方的航班管理***查询。在这些实施例中,预先建立的航班数据库30中存储从第三方的航班管理***数据库40(如图2所示)中同步的航班库存数据。预先建立的航班缓存库20存储以预定刷新频率从航班数据库30中载入的多个预定航班的库存数据、和从航班管理***获取的多个预定航班的运价和税费数据。本方法通过用户接口10接收航班查询请求。响应于请求查询的航班为航班缓存库20中存储的多个预定航班中的一个或多个,从航班缓存库20中读取请求查询的航班的库存数据以及运价和税费数据作为查询结果提供。响应于请求查询的航班不在航班缓存库20中存储的多个预定航班中,从航班数据库30中读取请求查询的航班的库存数据、从航班管理***获取请求查询的航班的运价和税费数据、以及基于这些数据生成和提供查询结果,并将请求查询的航班的库存数据以及运价和税费数据存储在航班缓存库20中。
图2为根据本公开实施例的提供航班查询服务的方法的一部分的示例性流程图。将参照图2描述根据本公开实施例的方法或***将航班数据库30与第三方的航班管理***的数据库保持数据同步的方法。
航班缓存库30中存储的与多个预定航班相关联的数据包括航班计划数据。过程130和过程140是针对航班计划数据的同步方式的过程。
在过程130中,第三方的航班管理***的数据库40定时推送全量数据给航班数据库30,从而使得航班数据库30从航班管理***数据库40同步数据。例如,在每天的预定时间,航班管理***数据库40通过向航班数据库30推送需要同步的全部目标数据(例如可简称为“全量数据”),从而将全量数据同步到航班数据库30。在一个具体的例子中,可以在根据本公开实施例的***(以下简称为“本***”)与第三方的航班管理***之间建立用于数据交互的FTP服务器。在每天的预定时间,航班管理***会将航班管理***数据库40中未来一年的航班计划数据以TXT文件的形式存储在FTP服务器上。本***每天会去FTP上获取该TXT文件,并解析所有航班计划数据,与本***的航班数据库30中的航班计划数据进行对比,发现不同的数据进行更新。在另一种实施方式中,可以用从TXT文件中解析出的所有航班计划数据对本***的航班数据库30中的航班计划数据进行全量替换。
在过程140中,本***接收来自航班管理***的航班计划数据变更通知(例如可简称为“增量数据”),并根据航班计划数据变更通知的内容更新航班数据库30。在一个具体的例子中,当有航班新增或修改或取消时,航班管理***在更新完自己的数据库(即航班管理***数据库40)之后,可以通过消息队列(例如可以是ActiveMQ消息队列)向本***推送消息,即航班计划数据变更通知。本***航班计划数据变更通知对航班数据库30的数据进行更新。例如,如果航班管理***推送的航班计划数据变更通知为A航班的取消事件通知,则本***删除航班数据库30中与A航班相关联的数据;如果航班管理***推送的航班计划数据变更通知为A航班的新增事件同时,则本***将与A航班相关联的数据加入到航班数据库30中。
本***结合实施过程130和过程140,一方面在每天的预定时间从航班管理***数据库40将全部目标数据同步到航班数据库30,另一方面在有航班计划变更时,本***接收来自航班管理***的航班计划数据变更通知,并根据航班计划数据变更通知的内容更新航班数据库30。这样的方式能保证本***的航班数据库30中的数据与第三方的航班管理***的数据库40中的数据尽量同步,从而保证从航班数据库30中载入到航班缓存库20中的缓存数据尽量准确(即尽量与航班管理***数据库40中的数据一致),增强用户体验。
在一些情况下,可能由于第三方的航班管理***的故障等原因导致全量或增量数据没有被及时推送,也可能由于网络拥塞等原因造成消息丢失。这些情况均可能导致虽然本***结合实施了过程130和过程140,但航班数据库30中的数据与航班管理***的数据库40中数据还是不一致。因此,作为补充方案,本***还可以在每天的预定时间(例如可以是与过程130中的每天的预定时间不同的时间),主动从航班管理***数据库40读取未来一段时间(例如可以是未来3个月)内的所有航班计划数据,根据这些数据对航班数据库30中未来这段时间的数据进行更新。
航班缓存库30中存储的与多个预定航班相关联的数据包括航班库存数据,航班库存数据包括多个预定航班中的每个预定航班的库存、运价和税费。过程150和过程160是针对航班库存数据的同步方式的过程。
在过程150中,本***接收来自航班管理***的航班库存数据变更通知,并根据航班库存数据变更通知访问航班管理***数据库40,例如向航班管理***数据库40发送查询请求,以读取相应航班的库存数据,并根据读取结果更新航班数据库30。当用户完成购买之后,相应的库存数据,客票数据,旅客数据产生后,航班管理***会通过消息队列发送航班库存数据变更通知给本***。在航班库存数据变更通知中,包含的信息是相应的航班上的物理座位的变动,而在航班数据库30中存储的航班库存数据为相应的航班上的开放座位(即对外可销售的座位,为含销售策略的库存)的数据。本***在收到航班库存数据变更通知之后,访问航班管理***数据库40以读取相应航班的库存数据(即上述开放座位的数据),并根据读取结果更新航班数据库30的航班库存数据。
当用户查询过航班数据,确定想要预订的航班,然后进行购买操作的时候,本***可以接收针对查询结果指示为可购买的航班的购买请求,并将购买请求传输到航班管理***,航班管理***可以处理该购买请求。在过程160中,如果购买结果为失败,则说明航班缓存库20中的数据、甚至航班数据库30中的数据可能是不准确的,因此,本***可以响应于购买结果失败,去访问航班管理***数据库40以读取相应航班的库存数据,并根据读取结果更新航班数据库30中的相应航班的库存数据。
在图2所示的各过程中,航班管理***对本***发送通知可以使用消息队列。在一个实施例中,该消息队列可以为ActiveMQ消息队列。ActiveMQ自带可视化界面,能够实时地看到有多少个消费者在消费、队列上有多少条数据在等待消费、以及已经消费了多少条数据等。但当ActiveMQ的消费者减少(例如消费服务器故障、或网络故障等)时,消息消费的速度下降,会导致ActiveMQ上数据堆积。针对该问题,本***可以周期性地检测ActiveMQ上的数据堆积情况,当堆积的消息个数达到阈值时输出告警信息,以通知航班管理***暂时停止消息推送,直到ActiveMQ上的消息消费速度恢复正常之后再进行消息推送。
如上所述,根据本公开实施例的航班查询***(本文也简称为“本***”)提供用于查询航班的用户接口10。本***包括航班缓存库20和航班数据库30。其中,航班缓存库20被配置为存储以预定刷新频率从航班数据库中载入的与多个预定航班相关联的数据,航班数据库30被配置为从第三方的航班管理***的数据库同步数据。图3为本***的一部分的示例性框图。如图3所示,本***还包括航班配置表210、策略配置表220、刷新请求数据库230、消息队列250、消息生产服务器240、消息消费服务器260、以及服务器配置表270。应当注意,在本文中,当提供多个相同或相似的元素时,可以使用两部分的附图标记(例如消息消费服务器260-1)在附图中标记它们。这些元素在本文中可以通过它们的全部附图标记(例如消息消费服务器260-1)单独地指代,也可以由它们的附图标记的第一部分(例如消息消费服务器260)共同地指代。
如上所述,航班缓存库20被配置为存储以预定刷新频率从航班数据库中载入的与多个预定航班相关联的数据。航班配置表210和策略配置表220(例如可以均存储在apollo静态表中)被本***用来确定上述的预定刷新频率和多个预定航班。航班配置表210可以包括一个或多个出发机场和一个或多个到达机场,其具体示例可以如下表1所示。策略配置表220可以包括多类航班中的每类航班的出发日期相关参数和每类航班的刷新频率,其具体示例可以如下表2所示。
表1 航班配置表的具体示例
表2 策略配置表的具体示例
航班类型 | 出发日期 | 刷新频率 |
国内单程 | 30天以内 | 20分钟刷新一次 |
国内单程 | 31~60天以内 | 1小时刷新一次 |
国内单程 | 61~360天以内 | 1天刷新一次 |
国际单程 | 60天以内 | 20分钟刷新一次 |
国际单程 | 61~360天以内 | 1天刷新一次 |
国内往返 | 30天以内,1~7天往返 | 30分钟刷新一次 |
国内往返 | 31~60天以内,1~7天往返 | 1天刷新一次 |
国际往返 | 60天以内,1~7天往返 | 1小时刷新一次 |
本***可以根据航班查询和/或购买的历史数据(历史数据可以来源于本***、也可以来源于航班管理***)来确定航班配置表210和策略配置表220中各项的值。历史数据例如可以是30天以内的机票购买数据,例如在冬天,到达机场处于温暖地带的航线的订票量会明显增大,属于这个时段的热门航线。本***可以根据航班查询和/或购买的历史数据确定热门航线,从而确定热门的出发机场的值D1和D2,以及热门的到达机场的值A1、A2……A5。
以上述表1和表2中所示的航班配置表210和策略配置表220为例,本***根据航班配置表210和策略配置表220来确定用于刷新航班缓存库20的预定刷新频率和多个预定航班的一个具体示例描述如下。假设当前日期为2021年10月8日,则可以确定如下表3所示的多个预定航班和对应的预定刷新频率。
表3 预定航班和预定刷新频率的示例
在一些实施例中,根据航班查询和/或购买的历史数据所确定的航班配置表210和策略配置表220中各项的值可以作为初始值,本***可以根据这些初始值、使用上述的方法确定预定航班和预定刷新频率的初始值。之后,可以根据当前时间以及当前时间之前一段时间内的航班的查询和/或购买情况,来调整这些初始值,从而更新航班配置表210和策略配置表220,进而使得本***所确定的确定预定航班和预定刷新频率进行更新。例如,如果某个航班的出票量明显增大,则可以提高对该航班刷新的频率;或者如果某个航班的购买失败率变高,则可以提高对该航班刷新的频率等。在一个具体的示例中,本***统计发现出发日期为未来第31天的航线D1到A1的出票量增大,则可以将出发日期为未来第31天的航线D1到A1的刷新频率调整为20分钟刷新一次。在另一个具体的示例中,本***发现出发日期为未来第10天内的航线D1到A1的购买失败率变高,则可能是由于20分钟刷新一次的刷新频率不够高,可以提高刷新频率。
本***配置了多个服务器进行将航班数据库30中的相关数据、按照预订的刷新频率载入到航班缓存库20中。本***包括刷新请求数据库230(例如可以是mongoDB数据库)以存储用于指示从航班数据库30载入数据以载入到航班缓存库20中的多个刷新请求。每个刷新请求包括预定刷新时间字段、以及预定航班字段,以指示在预定刷新时间从航班数据库中载入与预定航班相关联的数据。消息生产服务器240以预定时间周期(例如每分钟)检查刷新请求数据库230中的请求,将其中的预定刷新时间字段所指示的预定刷新时间不晚于当前时间的所有刷新请求(在本文中,这些刷新请求也被称为“目标刷新请求”)推送到消息队列250(例如可以是rabbitMQ消息队列)。消息消费服务器260被配置为从消息队列读取目标刷新请求,并从航班数据库30中读取与目标刷新请求所指示的航班相关联的数据,并将读取的与该航班相关联的数据写入航班缓存库20。
刷新请求数据库230中的刷新请求是由本***的服务器(可以包括消息生产服务器240或消息消费服务器260)生成的。例如,消息生产服务器240在每天的预定时间,根据航班配置表210和策略配置表220生成多个初始刷新请求,并将生成的多个初始刷新请求写入刷新请求数据库230。每条刷新请求包括对应于一个预定航班的预定航班字段和对应于一个预定刷新时间的预定刷新时间字段。预定航班字段可以基于上述确定预定航班(即表3中的内容)的方法来确定。预定刷新时间字段可以在根据上述方法确定了预定刷新频率(即表3中的内容)之后,再根据生成刷新请求的当前时间来确定。例如,当前时间是00:05,预定刷新频率为20分钟,则确定的下一次的预定刷新时间为00:25。这些初始刷新请求按照各自的预定刷新时间被消息生产服务器240分别推送到消息队列250,并被消息消费服务器260消费。
消息消费服务器260根据读取的刷新请求的指示,从航班数据库30中载入与该刷新请求所指示的航班相关联的数据,并将该数据写入航班缓存库20,以刷新本***对该航班的缓存数据。之后,该消息消费服务器260可以根据当前时间和本条刷新请求的预定刷新频率,对该刷新请求进行更新,以形成新的刷新请求,并将生成的更新的刷新请求写入刷新请求数据库230。例如,消息消费服务器260消费消息并完成航班缓存库20的数据刷新的当前时间为00:25,本条刷新请求所对应的航班的预定刷新频率为20分钟,则消息消费服务器260确定该航班的下一次的预定刷新时间为00:45。则消息消费服务器260将该条刷新请求中的预定刷新时间字段进行相应的更改,并将更改后的刷新请求存储到刷新请求数据库230,以便进行下次消息推送和消费。
为了避免刷新请求数据库230中的刷新请求被重复推送,可以对每条刷新请求设置标识字段。例如,当刷新请求被初始生成之后,将该标识字段设置为第一值(例如“是”),表示该刷新请求可以被推送。在消息生产服务器240准备将多个刷新请求进行批量推送之前,可以将该标识字段批量地修改为第二值(例如“否”),表示该刷新请求不可以被推送。在消息消费服务器260将该刷新请求所指示的航班数据刷新完毕并将该刷新请求的预定刷新时间字段进行更新之后,可以将该标识字段再次设置为第一值并将其存储在刷新请求数据库230中,以等待被推送。
由于消息消费的速度远小于消息生产的速度,因此,为了避免消息队列250中的消息堆积,可以在***中仅设置一个消息生产服务器240,并设置多个消息消费服务器260-1、260-2、260-3等。此外,只设置一个消息生产服务器240,也可以避免刷新请求数据库230中的刷新请求被重复推送。
此外,虽然设置了多个消息消费服务器260-1、260-2、260-3等,但有时消息消费服务器260可能出现故障,从而导致消息消费不过来,进而导致消息队列250中的消息堆积。在一些实施例中,本***还可以包括服务器配置表270(例如可以存储在Redis数据库中)。每个消息消费服务器260以预定时间周期(例如每15秒)将自己的IP地址写入服务器配置表270。消息生产服务器240在将目标刷新请求推送到消息队列之前,根据服务器配置表270中记录的消息消费服务器的IP地址,来确定当前正常工作的消息消费服务器260的个数。如果当前正常工作的消息消费服务器260的个数小于预定个数,则不执行消息推送。反之,如果当前正常工作的消息消费服务器260的个数不小于预定个数,则执行消息推送。如此,能够避免消息队列250上的消息堆积。
此外,每个消息消费服务器260还可以包括各自的本地缓存队列,这使得消息消费服务器260可以每次从消息队列250中批量地读取多个刷新请求,并将一次性读取的多个刷新请求存入相应的本地缓存队列,然后消息消费服务器260可以从相应的本地缓存队列中逐条读取并处理各条刷新请求。由于刷新请求的消息量巨大,本地缓存队列这样的机制使得可以尽量地减少每个消息消费服务器260对网络的占用时间,保证了网络的通畅。
本公开还提供了提供航班查询服务的设备。提供航班查询服务的设备包括一个或多个处理器以及一个或多个存储器。一个或多个处理器被配置为执行上文描述的根据本公开实施例的方法。存储器被配置为存储处理器所需要的数据和程序等。程序包括可以使得处理器执行上文描述的根据本公开实施例的方法所需要的一系列计算机可执行的指令。数据包括上文描述的各数据库中的数据、配置表中的数据、以及消息队列中的数据等。一个或多个存储器可以被配置为使用一个存储器来存储一项上述内容,还可以被配置为使用多个存储器来共同地存储一项上述内容,或者使用一个存储器来存储多于一项的上述内容。
需要说明的是,一个或多个存储器可以都是本地存储器,也可以都是云端存储器,还可以部分是本地存储器部分是云端存储器。类似地,一个或多个处理器可以都是本地处理器,也可以都是云端处理器,还可以部分是本地处理器部分是云端处理器。
图4为可应用于本公开各实施例的通用硬件***300的示例性框图。现在将参考图4描述硬件***300,其可以是应用于本公开的各方面的硬件设备的示例。硬件***300可以是被配置为执行处理和/或计算的任何机器,可以是但不限于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数据助理、智能电话、车载电脑、或其任何组合。上述根据本公开实施例的航班查询***或提供航班查询服务的设备,可以全部或至少部分地由硬件***300或类似设备或***实现。
硬件***300可以包括可能经由一个或多个接口与总线302连接或与总线302通信的元件。例如,硬件***300可以包括总线302,以及一个或多个处理器304,一个或多个输入设备306和一个或多个输出设备308。一个或多个处理器304可以是任何类型的处理器,可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。输入设备306可以是可以向计算设备输入信息的任何类型的设备,可以包括但不限于摄像头、激光雷达传感器、惯性导航***、鼠标、键盘、触摸屏、麦克风和/或遥控器。输出设备308可以是可以呈现信息的任何类型的设备,可以包括但不限于显示器、扬声器、蜂鸣器、视频/音频输出终端、振动器和/或打印机。
硬件***300还可以包括非暂时性存储设备310或者与非暂时性存储设备310连接。非暂时性存储设备310可以是非暂时性的并且可以实现数据存储的任何存储设备,可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、硬盘、磁带或任何其他磁介质、光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器、和/或任何其他存储器芯片/芯片组、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备310可以从接口拆卸。非暂时性存储设备310可以具有用于实现上述方法、步骤和过程的数据/指令/代码。上文所述的一个或多个存储器中的一个或多个可以由非暂时性存储设备310来实现。
硬件***300还可以包括通信设备312。通信设备312可以是能够与外部设备和/或与网络通信的任何类型的设备或***,可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备、和/或芯片组,例如蓝牙设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备、和/或类似物。
总线302可以包括但不限于工业标准体系结构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线、和***部件互连(PCI)总线。
硬件***300还可以包括工作存储器314,其可以是可以存储对处理器304的工作有用的指令和/或数据的任何类型的工作存储器,可以包括但不限于随机存取存储器和/或只读存储设备。
软件元素可以位于工作存储器314中,包括但不限于操作***316、一个或多个应用程序318、驱动程序、和/或其他数据和代码。用于执行上述方法和步骤的指令可以包括在一个或多个应用程序318中。软件元素的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质中,例如上述存储设备310,并且可以通过编译和/或安装被读入工作存储器314中。还可以从远程位置下载软件元素的指令的可执行代码或源代码。
还应该理解,可以根据具体要求进行变化。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合来实现特定元件。此外,可以采用与诸如网络输入/输出设备之类的其他计算设备的连接。例如,根据本公开实施例的方法或装置中的一些或全部可以通过使用根据本公开的逻辑和算法的、用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)的编程硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)来实现。
还应该理解,硬件***300的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而可以由远离该一个处理器的另一个处理器执行其他处理。硬件***300的其他组件也可以类似地分布。这样,硬件***300可以被解释为在多个位置执行处理的分布式计算***。
另外,本公开的实施方式还可以包括以下示例:
1.一种提供航班查询服务的方法,包括:
预先建立航班数据库,所述航班数据库从第三方的航班管理***数据库同步数据;
预先建立航班缓存库,所述航班缓存库存储以预定刷新频率从所述航班数据库中载入的与多个预定航班相关联的数据;
接收航班查询请求;
响应于与请求查询的航班相关联的数据被存储在所述航班缓存库中,从所述航班缓存库中读取与请求查询的航班相关联的数据作为查询结果提供;以及
响应于与请求查询的航班相关联的数据未被存储在所述航班缓存库中,从所述航班数据库中读取与请求查询的航班相关联的数据并基于该数据生成和提供查询结果,并将从所述航班数据库中读取的与请求查询的航班相关联的数据存储在所述航班缓存库中。
2.根据1所述的方法,还包括根据航班配置表和策略配置表来确定所述预定刷新频率和所述多个预定航班,其中,
所述航班配置表包括一个或多个出发机场和一个或多个到达机场,以及
所述策略配置表包括多类航班中的每类航班的出发日期相关参数和每类航班的刷新频率。
3.根据2所述的方法,还包括根据航班查询和/或购买的历史数据来确定所述航班配置表和策略配置表的初始值,并根据当前时间以及当前时间之前一段时间内的航班的查询和/或购买情况来调整所述初始值以更新所述航班配置表和策略配置表。
4.根据1所述的方法,其中,所述航班缓存库中存储的与多个预定航班相关联的数据包括所述多个预定航班中的每个预定航班的库存、运价和税费。
5.根据1所述的方法,还包括:
在每天的预定时间,将所述航班管理***数据库中的全部目标数据同步到所述航班数据库;以及
接收来自所述航班管理***的数据变更通知,并根据所述数据变更通知更新所述航班数据库。
6.根据5所述的方法,还包括:
响应于所述数据变更通知为航班计划数据变更通知,根据所述航班计划数据变更通知的内容更新所述航班数据库;以及
响应于所述数据变更通知为航班库存数据变更通知,根据所述航班库存数据变更通知访问所述航班管理***数据库以读取相应航班的库存数据,并根据读取结果更新所述航班数据库。
7.根据1所述的方法,还包括:
接收针对所述查询结果指示为可购买的航班的购买请求,并将所述购买请求传输到所述航班管理***;以及
响应于购买结果为失败,访问所述航班管理***数据库以读取相应航班的库存数据,并根据读取结果更新所述航班数据库。
8.一种提供航班查询服务的方法,包括:
预先建立航班数据库,所述航班数据库从第三方的航班管理***数据库同步航班的库存数据;
预先建立航班缓存库,所述航班缓存库存储以预定刷新频率从所述航班数据库中载入的多个预定航班的库存数据、和从所述航班管理***获取的所述多个预定航班的运价和税费数据;
接收航班查询请求;
响应于请求查询的航班为所述多个预定航班中的一个或多个,从所述航班缓存库中读取请求查询的航班的库存数据以及运价和税费数据作为查询结果提供;以及
响应于请求查询的航班不在所述多个预定航班中,从所述航班数据库中读取请求查询的航班的库存数据、从所述航班管理***获取请求查询的航班的运价和税费数据、以及基于这些数据生成和提供查询结果,并将请求查询的航班的库存数据以及运价和税费数据存储在所述航班缓存库中。
9.一种航班查询***,所述***提供用于查询航班的用户接口,所述***包括:
航班数据库,被配置为从第三方的航班管理***的数据库同步数据;以及
航班缓存库,被配置为存储以预定刷新频率从所述航班数据库中载入的与多个预定航班相关联的数据,
其中,所述***被配置为:
通过所述用户接口接收航班查询请求;
响应于与请求查询的航班相关联的数据被存储在所述航班缓存库中,从所述航班缓存库中读取与请求查询的航班相关联的数据作为查询结果提供;以及
响应于与请求查询的航班相关联的数据未被存储在所述航班缓存库中,从所述航班数据库中读取与请求查询的航班相关联的数据并基于该数据生成和提供查询结果,并将从所述航班数据库中读取的与请求查询的航班相关联的数据存储在所述航班缓存库中。
10.根据9所述的***,还包括航班配置表和策略配置表,其中,
所述航班配置表包括一个或多个出发机场和一个或多个到达机场,以及
所述策略配置表包括多类航班中的每类航班的出发日期相关参数和每类航班的刷新频率,
所述***还被配置为根据所述航班配置表和所述策略配置表来确定所述预定刷新频率和所述多个预定航班。
11.根据9所述的***,还包括:
刷新请求数据库,被配置为存储多个刷新请求,其中,每个所述刷新请求包括预定刷新时间字段,以指示在预定刷新时间从所述航班数据库中载入与预定航班相关联的数据;
消息队列;
一个消息生产服务器,被配置为以预定时间周期从所述刷新请求数据库中读取预定刷新时间不晚于当前时间的目标刷新请求,并将所述目标刷新请求推送到所述消息队列;以及
多个消息消费服务器,每个所述消息消费服务器被配置为从所述消息队列读取所述目标刷新请求,并从所述航班数据库中读取与所述目标刷新请求所指示的航班相关联的数据,并将读取的与所述目标刷新请求所指示的航班相关联的数据写入所述航班缓存库。
12.根据11所述的***,还包括服务器配置表,其中,
每个所述消息消费服务器还被配置为以预定时间周期将自己的IP地址写入所述服务器配置表;以及
所述消息生产服务器还被配置为:
在将所述目标刷新请求推送到所述消息队列之前,根据所述服务器配置表确定当前正常工作的所述消息消费服务器的个数;
响应于当前正常工作的所述消息消费服务器的个数小于预定个数,不执行所述推送;以及
响应于当前正常工作的所述消息消费服务器的个数不小于所述预定个数,执行所述推送。
13.根据11所述的***,其中,
所述消息生产服务器还被配置为:在每天的预定时间,生成多个初始刷新请求并将所述多个初始刷新请求写入所述刷新请求数据库;以及
每个所述消息消费服务器还被配置为:从所述航班数据库中载入与所述目标刷新请求所指示的航班相关联的数据之后,根据当前时间和预定刷新频率更新所述目标刷新请求的预定刷新时间字段以生成更新的刷新请求,并将生成的所述更新的刷新请求写入所述刷新请求数据库。
14.根据11所述的***,还包括分别与所述多个消息消费服务器对应的多个本地缓存队列,其中,每个所述消息消费服务器还被配置为:从所述消息队列读取多个所述目标刷新请求并将读取的多个所述目标刷新请求存入相应的本地缓存队列,以及从相应的本地缓存队列逐条读取并处理所述目标刷新请求。
15.根据9所述的***,其中,所述***还被配置为:
在每天的预定时间,将所述航班管理***数据库中的全部目标数据同步到所述航班数据库;以及
接收来自所述航班管理***的数据变更通知,并根据所述数据变更通知更新所述航班数据库。
16.根据15所述的***,其中,所述***还被配置为:
响应于所述数据变更通知为航班计划数据变更通知,根据所述航班计划数据变更通知的内容更新所述航班数据库;以及
响应于所述数据变更通知为航班库存数据变更通知,根据所述航班库存数据变更通知访问所述航班管理***数据库以读取相应航班的库存数据,并根据读取结果更新所述航班数据库。
17.根据9所述的***,其中,所述***还被配置为:
接收针对所述查询结果指示为可购买的航班的购买请求,并将所述购买请求传输到所述航班管理***;以及
响应于购买结果为失败,访问所述航班管理***数据库以读取相应航班的库存数据,并根据读取结果更新所述航班数据库。
18.一种航班查询***,所述***提供用于查询航班的用户接口,所述***包括:
航班数据库,被配置为从第三方的航班管理***的数据库同步航班的库存数据;以及
航班缓存库,被配置为存储以预定刷新频率从所述航班数据库中载入的多个预定航班的库存数据、和从所述航班管理***获取的所述多个预定航班的运价和税费数据,
其中,所述***被配置为:
通过所述用户接口接收航班查询请求;
响应于请求查询的航班为所述多个预定航班中的一个或多个,从所述航班缓存库中读取请求查询的航班的库存数据以及运价和税费数据作为查询结果提供;以及
响应于请求查询的航班不在所述多个预定航班中,从所述航班数据库中读取请求查询的航班的库存数据、从所述航班管理***获取请求查询的航班的运价和税费数据、以及基于这些数据生成和提供查询结果,并将请求查询的航班的库存数据以及运价和税费数据存储在所述航班缓存库中。
19.一种提供航班查询服务的设备,包括:
一个或多个处理器;以及
一个或多个存储器,所述一个或多个存储器被配置为存储一系列计算机可执行的指令,
其中,当所述一系列计算机可执行的指令被所述一个或多个处理器执行时,使得所述一个或多个处理器进行如1-8中任一项所述的方法。
20.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质上存储有一系列计算机可执行的指令,当所述一系列计算机可执行的指令被一个或多个计算装置执行时,使得所述一个或多个计算装置进行如1-8中任一项所述的方法。
尽管到目前为止已经参考附图描述了本公开的各方面,但是上述方法,***和设备仅仅是示例性示例,并且本公开的范围不受这些方面的限制,而是仅由以下方面限定:所附权利要求及其等同物。可以省略各种元件,或者可以用等效元件代替。另外,可以以与本公开中描述的顺序不同的顺序执行这些步骤。此外,可以以各种方式组合各种元件。同样重要的是,随着技术的发展,所描述的许多元素可以由在本公开之后出现的等同元素代替。
Claims (10)
1.一种提供航班查询服务的方法,包括:
预先建立航班数据库,所述航班数据库从第三方的航班管理***数据库同步数据;
预先建立航班缓存库,所述航班缓存库存储以预定刷新频率从所述航班数据库中载入的与多个预定航班相关联的数据;
接收航班查询请求;
响应于与请求查询的航班相关联的数据被存储在所述航班缓存库中,从所述航班缓存库中读取与请求查询的航班相关联的数据作为查询结果提供;以及
响应于与请求查询的航班相关联的数据未被存储在所述航班缓存库中,从所述航班数据库中读取与请求查询的航班相关联的数据并基于该数据生成和提供查询结果,并将从所述航班数据库中读取的与请求查询的航班相关联的数据存储在所述航班缓存库中。
2.根据权利要求1所述的方法,还包括根据航班配置表和策略配置表来确定所述预定刷新频率和所述多个预定航班,其中,
所述航班配置表包括一个或多个出发机场和一个或多个到达机场,以及
所述策略配置表包括多类航班中的每类航班的出发日期相关参数和每类航班的刷新频率。
3.根据权利要求2所述的方法,还包括根据航班查询和/或购买的历史数据来确定所述航班配置表和策略配置表的初始值,并根据当前时间以及当前时间之前一段时间内的航班的查询和/或购买情况来调整所述初始值以更新所述航班配置表和策略配置表。
4.根据权利要求1所述的方法,其中,所述航班缓存库中存储的与多个预定航班相关联的数据包括所述多个预定航班中的每个预定航班的库存、运价和税费。
5.根据权利要求1所述的方法,还包括:
在每天的预定时间,将所述航班管理***数据库中的全部目标数据同步到所述航班数据库;以及
接收来自所述航班管理***的数据变更通知,并根据所述数据变更通知更新所述航班数据库。
6.一种提供航班查询服务的方法,包括:
预先建立航班数据库,所述航班数据库从第三方的航班管理***数据库同步航班的库存数据;
预先建立航班缓存库,所述航班缓存库存储以预定刷新频率从所述航班数据库中载入的多个预定航班的库存数据、和从所述航班管理***获取的所述多个预定航班的运价和税费数据;
接收航班查询请求;
响应于请求查询的航班为所述多个预定航班中的一个或多个,从所述航班缓存库中读取请求查询的航班的库存数据以及运价和税费数据作为查询结果提供;以及
响应于请求查询的航班不在所述多个预定航班中,从所述航班数据库中读取请求查询的航班的库存数据、从所述航班管理***获取请求查询的航班的运价和税费数据、以及基于这些数据生成和提供查询结果,并将请求查询的航班的库存数据以及运价和税费数据存储在所述航班缓存库中。
7.一种航班查询***,所述***提供用于查询航班的用户接口,所述***包括:
航班数据库,被配置为从第三方的航班管理***的数据库同步数据;以及
航班缓存库,被配置为存储以预定刷新频率从所述航班数据库中载入的与多个预定航班相关联的数据,
其中,所述***被配置为:
通过所述用户接口接收航班查询请求;
响应于与请求查询的航班相关联的数据被存储在所述航班缓存库中,从所述航班缓存库中读取与请求查询的航班相关联的数据作为查询结果提供;以及
响应于与请求查询的航班相关联的数据未被存储在所述航班缓存库中,从所述航班数据库中读取与请求查询的航班相关联的数据并基于该数据生成和提供查询结果,并将从所述航班数据库中读取的与请求查询的航班相关联的数据存储在所述航班缓存库中。
8.一种航班查询***,所述***提供用于查询航班的用户接口,所述***包括:
航班数据库,被配置为从第三方的航班管理***的数据库同步航班的库存数据;以及
航班缓存库,被配置为存储以预定刷新频率从所述航班数据库中载入的多个预定航班的库存数据、和从所述航班管理***获取的所述多个预定航班的运价和税费数据,
其中,所述***被配置为:
通过所述用户接口接收航班查询请求;
响应于请求查询的航班为所述多个预定航班中的一个或多个,从所述航班缓存库中读取请求查询的航班的库存数据以及运价和税费数据作为查询结果提供;以及
响应于请求查询的航班不在所述多个预定航班中,从所述航班数据库中读取请求查询的航班的库存数据、从所述航班管理***获取请求查询的航班的运价和税费数据、以及基于这些数据生成和提供查询结果,并将请求查询的航班的库存数据以及运价和税费数据存储在所述航班缓存库中。
9.一种提供航班查询服务的设备,包括:
一个或多个处理器;以及
一个或多个存储器,所述一个或多个存储器被配置为存储一系列计算机可执行的指令,
其中,当所述一系列计算机可执行的指令被所述一个或多个处理器执行时,使得所述一个或多个处理器进行如权利要求1-6中任一项所述的方法。
10.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质上存储有一系列计算机可执行的指令,当所述一系列计算机可执行的指令被一个或多个计算装置执行时,使得所述一个或多个计算装置进行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210036395.5A CN114385655A (zh) | 2022-01-13 | 2022-01-13 | 提供航班查询服务的方法及航班查询*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210036395.5A CN114385655A (zh) | 2022-01-13 | 2022-01-13 | 提供航班查询服务的方法及航班查询*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114385655A true CN114385655A (zh) | 2022-04-22 |
Family
ID=81202731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210036395.5A Pending CN114385655A (zh) | 2022-01-13 | 2022-01-13 | 提供航班查询服务的方法及航班查询*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385655A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116186059A (zh) * | 2023-04-24 | 2023-05-30 | 民航成都信息技术有限公司 | 航班数据的更新方法、***、电子设备及存储介质 |
-
2022
- 2022-01-13 CN CN202210036395.5A patent/CN114385655A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116186059A (zh) * | 2023-04-24 | 2023-05-30 | 民航成都信息技术有限公司 | 航班数据的更新方法、***、电子设备及存储介质 |
CN116186059B (zh) * | 2023-04-24 | 2023-06-30 | 民航成都信息技术有限公司 | 航班数据的更新方法、***、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036805B2 (en) | Presenting anticipated user search query results prompted by a trigger | |
US11086953B2 (en) | Determining relevance of points of interest to a user | |
JP5433640B2 (ja) | 情報提供装置、情報提供方法、情報提供プログラム及び記録媒体 | |
CN106777311B (zh) | 航班舱位状态缓存方法和*** | |
US11789932B2 (en) | System and method for optimizing transmission of requests for updated content from external data sources | |
WO2015116309A1 (en) | Systems, methods, and computer program products for providing data use options | |
US11164268B2 (en) | System, method and apparatus for responding differentially to data requests | |
KR101020003B1 (ko) | 효율적인 감지-반응 시스템을 위한 프레임워크 및프로그래밍 모델 | |
CN114385655A (zh) | 提供航班查询服务的方法及航班查询*** | |
US11263286B2 (en) | System and method for legacy-based access to non-legacy data | |
AU2015252016A1 (en) | Dynamic database object management | |
US10152740B2 (en) | Method, medium, and system for improving hardware efficiency in generating travel recommendations | |
JP7304632B2 (ja) | 情報処理装置、方法及びプログラム | |
EP3016042A1 (en) | Segmented availability cache | |
US11176599B2 (en) | System and method of auxiliary data access | |
CN115098558A (zh) | 一种航班数据统计方法及装置 | |
CN113901067A (zh) | 航班数据更新方法、装置、计算机***和可读存储介质 | |
EP3842959A1 (en) | System and method for legacy-based access to non-legacy data | |
EP3767490A1 (en) | System, method and apparatus for responding differentially to data requests | |
US20210152666A1 (en) | Controlling access to data resources on high latency networks | |
CN114091714A (zh) | 一种客票填开控制方法及装置 | |
US20190130447A1 (en) | Systems and methods for location related event detection | |
US20230055897A1 (en) | Adjustment of card configurations for flight interruptions | |
US20240242275A1 (en) | Adjustment of card configurations for flight interruptions | |
EP3828727A1 (en) | System and method of auxiliary data access |
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 |