CN106777311B - 航班舱位状态缓存方法和系统 - Google Patents
航班舱位状态缓存方法和系统 Download PDFInfo
- Publication number
- CN106777311B CN106777311B CN201611265333.2A CN201611265333A CN106777311B CN 106777311 B CN106777311 B CN 106777311B CN 201611265333 A CN201611265333 A CN 201611265333A CN 106777311 B CN106777311 B CN 106777311B
- Authority
- CN
- China
- Prior art keywords
- query
- data
- flight
- server
- flight space
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000008859 change Effects 0.000 claims abstract description 35
- 230000000977 initiatory effect Effects 0.000 claims description 12
- 230000010006 flight Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种航班舱位状态缓存方法和系统。其中,该方法包括:更新服务器接收航班舱位状态变化数据,并根据航班舱位状态变化数据更新并缓存航班舱位状态数据,以及将航班舱位状态数据同步给一个或多个查询服务器;查询服务器接收航班舱位状态数据,并根据航班舱位状态数据更新并缓存查询服务器上保存的航班舱位状态数据;查询服务器根据用户的航班舱位状态查询请求,从查询服务器上缓存的航班舱位状态数据中查询航班舱位状态。通过本发明,解决了流量巨大的完全实时访问导致的舱位状态查询系统负荷大的问题,降低了舱位状态查询系统的查询负荷。
Description
技术领域
本发明涉及航班舱位数据处理领域,具体而言,涉及一种航班舱位状态缓存方法和系统。
背景技术
过去,航班信息只有代理人和航空公司能够查询。随着旅游业的发展,国际航线计算越来越复杂,已经发展到一次国际运价计算需要进行上千次的舱位状态查询。传统的舱位查询都需要通过舱位状态查询系统(AVE)进行,使用传统数据库的舱位状态查询系统(AVE)已经无法满足国际运价计算的大规模查询需要。
对于运价系统来说,上述问题主要是舱位信息的大规模准确获取。流量巨大的完全实时访问必然给舱位状态查询系统(AVE)带来巨大的压力。
发明内容
本发明提供了一种航班舱位状态缓存方法和系统,以至少解决相关技术中流量巨大的完全实时访问导致的舱位状态查询系统负荷大的问题。
根据本发明的一个方面,提供了一种航班舱位状态缓存系统,包括:由一个或多个查询服务器作为客户机、由更新服务器作为服务器的客户机/服务器结构,其中,
所述更新服务器,用于接收航班舱位状态变化数据,并根据所述航班舱位状态变化数据更新并缓存航班舱位状态数据,以及将所述航班舱位状态数据同步给所述一个或多个查询服务器;
所述查询服务器,用于接收所述航班舱位状态数据,并根据所述航班舱位状态数据更新并缓存所述查询服务器上保存的航班舱位状态数据,以及根据用户的航班舱位状态查询请求,从所述查询服务器上缓存的航班舱位状态数据中查询航班舱位状态。
可选地,所述更新服务器包括:数据接收接口,用于接收航班舱位状态变化数据,其中,所述舱位状态变化数据包括以下至少之一:
航空公司发布的舱位状态变化数据;
航班查询系统的查询结果的实时拷贝;
舱位状态查询系统根据所述更新服务器的主动查询请求反馈的实时航班舱位状态数据。
可选地,
所述更新服务器,还用于根据所述航班舱位状态数据的来源,分别更新并缓存所述航班舱位状态数据;
所述查询服务器,还用于根据所述航班舱位状态数据的来源,分别更新并缓存所述查询服务器上缓存的航班舱位状态数据。
可选地,所述查询服务器包括:舱位状态查询接口,用于接收用户的航班舱位状态查询请求,并根据所述用户的用户优先级别对应的查询策略查询所述航班舱位状态,并将所述航班舱位状态反馈给所述用户。
可选地,所述查询服务器还包括:查询策略配置接口,用于接收并配置不同用户优先级别对应的查询策略。
可选地,所述不同用户优先级别对应的查询策略包括以下至少之一:
高用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则向所述更新服务器发起主动查询,并在完成所述主动查询后再次进行查询;
中用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则向所述更新服务器发起主动查询,并在完成所述主动查询后再次进行查询;
低用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则采用不可信AVS数据作为航班舱位状态的查询结果返回给所述用户。
可选地,所述更新服务器还包括:主动查询接口,用于根据所述查询服务器的主动查询请求,向舱位状态查询系统请求实时航班舱位状态数据。
根据本发明的另一个方面,还提供了一种航班舱位状态缓存方法,包括:
更新服务器接收航班舱位状态变化数据,并根据所述航班舱位状态变化数据更新并缓存航班舱位状态数据,以及将所述航班舱位状态数据同步给所述一个或多个查询服务器;
查询服务器接收所述航班舱位状态数据,并根据所述航班舱位状态数据更新并缓存所述查询服务器上保存的航班舱位状态数据;
所述查询服务器根据用户的航班舱位状态查询请求,从所述查询服务器上缓存的航班舱位状态数据中查询航班舱位状态。
可选地,所述舱位状态变化数据包括以下至少之一:
航空公司发布的舱位状态变化数据;
航班查询系统的查询结果的实时拷贝;
舱位状态查询系统根据所述更新服务器的主动查询请求反馈的实时航班舱位状态数据。
可选地,
所述更新服务器根据所述航班舱位状态变化数据更新并缓存航班舱位状态数据包括:所述更新服务器根据所述航班舱位状态数据的来源,分别更新并缓存所述航班舱位状态数据;
所述查询服务器根据所述航班舱位状态数据更新并缓存所述查询服务器上保存的航班舱位状态数据包括:所述查询服务器根据所述航班舱位状态数据的来源,分别更新并缓存所述查询服务器上缓存的航班舱位状态数据。
可选地,所述查询服务器根据用户的航班舱位状态查询请求,从所述查询服务器上缓存的航班舱位状态数据中查询航班舱位状态包括:
所述查询服务器接收用户的航班舱位状态查询请求,并根据所述用户的用户优先级别对应的查询策略查询所述航班舱位状态,并将所述航班舱位状态反馈给所述用户。
可选地,在所述查询服务器根据用户的航班舱位状态查询请求,从所述查询服务器上缓存的航班舱位状态数据中查询航班舱位状态之前,所述方法还包括:
所述查询服务器接收并配置不同用户优先级别对应的查询策略。
可选地,所述不同用户优先级别对应的查询策略包括以下至少之一:
高用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则向所述更新服务器发起主动查询,并在完成所述主动查询后再次进行查询;
中用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则向所述更新服务器发起主动查询,并在完成所述主动查询后再次进行查询;
低用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则采用不可信AVS数据作为航班舱位状态的查询结果返回给所述用户。
可选地,在所述查询服务器向所述更新服务器发起主动查询之后,所述方法还包括:
所述更新服务器根据所述查询服务器的主动查询请求,向舱位状态查询系统请求实时航班舱位状态数据,并根据所述实时航班舱位状态数据更新并缓存所述航班舱位状态数据,以及将所述航班舱位状态数据同步给所述一个或多个查询服务器。
通过本发明,采用更新服务器接收航班舱位状态变化数据,并根据航班舱位状态变化数据更新并缓存航班舱位状态数据,以及将航班舱位状态数据同步给一个或多个查询服务器;查询服务器接收航班舱位状态数据,并根据航班舱位状态数据更新并缓存查询服务器上保存的航班舱位状态数据;查询服务器根据用户的航班舱位状态查询请求,从查询服务器上缓存的航班舱位状态数据中查询航班舱位状态的方式,解决了流量巨大的完全实时访问导致的舱位状态查询系统负荷大的问题,降低了舱位状态查询系统的查询负荷。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的航班舱位状态缓存方法的流程图;
图2是根据本发明实施例的航班舱位状态缓存系统的结构框图;
图3是根据本发明优选实施例的航班舱位状态缓存系统的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种航班舱位状态缓存方法,图1是根据本发明实施例的航班舱位状态缓存方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,更新服务器接收航班舱位状态变化数据,并根据航班舱位状态变化数据更新并缓存航班舱位状态数据,以及将航班舱位状态数据同步给一个或多个查询服务器;
步骤S102,查询服务器接收航班舱位状态数据,并根据航班舱位状态数据更新并缓存查询服务器上保存的航班舱位状态数据;
步骤S103,查询服务器根据用户的航班舱位状态查询请求,从查询服务器上缓存的航班舱位状态数据中查询航班舱位状态。
通过上述步骤,将航班舱位状态查询和航班舱位状态更新进行分离,并由查询服务器分担航班舱位状态查询任务,解决了流量巨大的完全实时访问导致的舱位状态查询系统负荷大的问题,降低了舱位状态查询系统的查询负荷。
可选地,多个查询服务器可以根据区域进行查询负荷分担,例如来自华南地区和来自华北地区的查询任务由不同的查询服务器分担;多个查询服务器也可以根据航空公司或者航班进行查询负荷分担,即针对不同的航空公司或者航班可以选择采用不同的查询服务器进行查询负荷分担;多个查询服务器也可以根据用户优先级别进行查询负荷分担,即针对不同的用户优先级别采用不同的查询服务器进行查询负荷分担。
可选地,舱位状态变化数据由多种数据来源构成,包括但不限于以下至少之一:航空公司发布的舱位状态变化数据;航班查询系统的查询结果的实时拷贝;舱位状态查询系统根据更新服务器的主动查询请求反馈的实时航班舱位状态数据。
可选地,上述步骤S101中,更新服务器根据航班舱位状态变化数据更新并缓存航班舱位状态数据包括:更新服务器根据航班舱位状态数据的来源,分别更新并缓存航班舱位状态数据;上述步骤S102中,查询服务器根据航班舱位状态数据更新并缓存查询服务器上保存的航班舱位状态数据包括:查询服务器根据航班舱位状态数据的来源,分别更新并缓存查询服务器上缓存的航班舱位状态数据。例如,将不同来源的航班舱位状态数据更新并缓存在不同的缓存位置,或者通过不同的缓存标记进行标识;由于不同来源的航班舱位状态数据具有不同的可靠性,因此不同位置的缓存或者不同的缓存标记可以便于在查询时根据用户对可靠性和查询效率的不同需求进行差异化的查询。
可选地,在步骤S103中,查询服务器根据用户的航班舱位状态查询请求,从查询服务器上缓存的航班舱位状态数据中查询航班舱位状态包括:查询服务器接收用户的航班舱位状态查询请求,并根据用户的用户优先级别对应的查询策略查询航班舱位状态,并将航班舱位状态反馈给用户。其中,用户优先级别通过航班舱位状态查询请求中携带的用户标识进行标记,通过该方式,实现了对不同的用户优先级别的用户的差异化查询,以根据用户优先级别实现不同的数据可靠性和查询效率。
可选地,在查询服务器根据用户的航班舱位状态查询请求,从查询服务器上缓存的航班舱位状态数据中查询航班舱位状态之前,方法还可以包括:查询服务器接收并配置不同用户优先级别对应的查询策略。即,通过该方式可以将用户优先级别分为不同等级,并为不同优先等级的用户配置个性化的查询策略。
可选地,以三个用户优先级别为例,不同用户优先级别对应的查询策略包括以下至少之一:
高用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则向更新服务器发起主动查询,并在完成主动查询后再次进行查询;
中用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则向更新服务器发起主动查询,并在完成主动查询后再次进行查询;
低用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则采用不可信AVS数据作为航班舱位状态的查询结果返回给用户。
可选地,在查询服务器根据查询策略,向更新服务器发起主动查询之后,更新服务器根据查询服务器的主动查询请求,向舱位状态查询系统请求实时航班舱位状态数据,并根据实时航班舱位状态数据更新并缓存航班舱位状态数据,以及将航班舱位状态数据同步给一个或多个查询服务器。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种航班舱位状态缓存系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。
图2是根据本发明实施例的航班舱位状态缓存系统的结构框图,如图2所示,该系统包括由一个或多个查询服务器1作为客户机、由更新服务器2作为服务器的客户机/服务器结构,其中,
更新服务器2,与一个或多个查询服务器1连接,用于接收航班舱位状态变化数据,并根据航班舱位状态变化数据更新并缓存航班舱位状态数据,以及将航班舱位状态数据同步给一个或多个查询服务器1;
查询服务器1,用于接收航班舱位状态数据,并根据航班舱位状态数据更新并缓存查询服务器1上保存的航班舱位状态数据,以及根据用户的航班舱位状态查询请求,从查询服务器1上缓存的航班舱位状态数据中查询航班舱位状态。
可选地,更新服务器2包括:数据接收接口,用于接收航班舱位状态变化数据,其中,舱位状态变化数据包括以下至少之一:航空公司发布的舱位状态变化数据;航班查询系统的查询结果的实时拷贝;舱位状态查询系统根据更新服务器的主动查询请求反馈的实时航班舱位状态数据。
可选地,更新服务器2,还用于根据航班舱位状态数据的来源,分别更新并缓存航班舱位状态数据;查询服务器1,还用于根据航班舱位状态数据的来源,分别更新并缓存查询服务器1上缓存的航班舱位状态数据。
可选地,查询服务器1包括:舱位状态查询接口,用于接收用户的航班舱位状态查询请求,并根据用户的用户优先级别对应的查询策略查询航班舱位状态,并将航班舱位状态反馈给用户。
可选地,查询服务器1还包括:查询策略配置接口,用于接收并配置不同用户优先级别对应的查询策略。
可选地,不同用户优先级别对应的查询策略包括以下至少之一:
高用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则向更新服务器2发起主动查询,并在完成主动查询后再次进行查询;
中用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则向更新服务器2发起主动查询,并在完成主动查询后再次进行查询;
低用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则采用不可信AVS数据作为航班舱位状态的查询结果返回给用户。
可选地,更新服务器2还包括:主动查询接口,用于根据查询服务器1的主动查询请求,向舱位状态查询系统请求实时航班舱位状态数据。
为了使本发明实施例的描述更加清楚,下面结合优选实施例进行描述和说明。
运价计算系统的单次查询过程中需要进行超过1000次的航班舱位状态查询,如果全部通过传统的舱位状态查询系统进行查询,不仅服务器压力无法承受,请求的响应时间也会长到无法接受。本发明优选实施例为解决国际运价计算系统(SHOPPING)的大规模舱位状态查询问题开发了一个高效的航班舱位状态缓存系统。该缓存系统具有可以无限扩容的C/S结构,用户查询与更新分离,可配置的查询存储逻辑与多种数据来源等特征。
其中“C/S结构”,指的是一台更新服务器将缓存数据库同步给所有查询服务器,用户在查询服务器进行查询;“用户查询与更新分离”,是指用户主动发送查询请求的结果将直接写入缓存数据库而不是返回给查询端,从而保证了缓存查询与更新逻辑的分离;“可配置的查询存储逻辑”指的是可以按照航空公司的销售策略(如地区限制,往返程,联程等)和用户级别采用不同的存储查询策略;“多种数据来源”是指将托管航空公司的可靠数据,代理人用户的查询结果,以及主动查询获取的准确实时数据等统一储存至缓存中。
在上述的C/S结构中,所有数据源由统一的更新服务器进行处理,并在更新服务器保留缓存的原始副本,将更新实时同步给所有的查询服务器;查询服务器接收并保留缓存的副本以供用户在查询服务器进行查询。
用户查询在一些查询策略下会触发缓存的主动更新,在此过程中返回的结果直接返回给数据库,并不与查询接口进行交互,用户查询会在一定时间后再次查询缓存,以此保证了系统的高效与模块的独立。
在查询服务器中按照销售策略对航空公司进行分类,如区域限制,往返程,联程限制等。例如:如果航空公司配置了往返程限制限制,那么往返程的结果会存在缓存中不同位置;在查询时,如果该航空公司的往返程结果没有查到,则根据用户的配置级别决定是否使用两段单程数据作为返回结果或去触发缓存的主动更新。
更新服务器的多种数据来源包括但不限于以下至少之一:系统同时接收航空公司发布的舱位变化数据;航班查询系统对非托管航空公司的查询结果实时拷贝;以及主动查询获取的实时数据。其中,根据配置判断各航空公司各种数据源的优先级。
查询策略可以根据下列方式分类:
1)航空公司发布的数据是否可信;
2)航空公司是否采用Point of Sale销售策略;
3)航空公司是否采用O&D销售策略;
通过以上策略将决定缓存数据的更新逻辑,不同配置的航空公司将使用不同的键值保存在缓存的不同位置。
用户优先等级可以根据下列因素分类:
1)用户身份为航空公司或代理人网站;
2)用户查询、订票比例;
3)用户对准确率的要求;
通过以上策略将决定缓存数据的查询逻辑,不同配置的用户将使用不同来源的数据。
具体而言,本优选实施例提供的系统由更新服务器、查询服务器构成,其中,更新服务器和查询服务器中分别设有缓存模块。
更新服务器:接收不同数据来源的航班数据信息,并将更新内容发布至所有查询服务器的缓存模块;负责向航班查询系统提交主动查询请求。
查询服务器:接收更新服务器发布的数据,更新至本地的缓存模块;提供接口供用户调用;将需要主动查询的数据发送至更新服务器。
缓存模块:提供缓存创建、缓存管理及失效处理等功能。
系统的总体架构如图3所示;
1.更新服务器
更新服务器接收多数据源的所有更新,按照航空公司配置保存所有更新逻辑,同时将结果同步给所有的查询服务器。
更新服务器中同时保存了缓存模块作为备份,所有更新服务器的数据应与更新服务器保持一致。
更新服务器通过多播等网络策略,将一条数据同时更新至所有查询服务器。
2.查询服务器
查询服务器保存查询策略,根据用户级别和航空公司配置决定查询策略。
查询服务器中保存缓存数据,接收更新服务器数据进行更新。
查询服务器如果判断需要主动查询,则将请求数据发送至更新服务器进行主动查询。
3.缓存模块
缓存模块中包含数据清除逻辑,每个服务器的数据清除逻辑独立。
缓存会定期清除清除太过陈旧(例如,更新时间超过24小时)以及无用(例如,已经起飞的航班)数据。
整个系统的运行过程如下:
1.更新服务器接收所有数据源发来的数据,并按照配置保存至本地缓存,同时将更新信息同步给所有查询服务器;
2.查询服务器接收数据并保存至本地缓存;
3.用户查询查询服务器缓存,如果如果判断需要主动查询,则将请求数据发送至更新服务器进行主动查询。
4.所有服务器上的缓存定期清除无用数据。
在用户查询查询服务器缓存时,如果判断需要主动查询,则将请求数据发送至更新服务器进行主动查询,此时给用户返回代表需要再次进行查询的返回值,直接将数据更新至数据库等待用户的二次查询;
系统实现流程如下:
1.用户查询查询服务器缓存,如果判断需要主动查询,则将请求数据发送至更新服务器进行主动查询,并给用户返回需要二次查询的结果;
2.更新服务及连接舱位状态查询系统进行查询,并接收返回数据;
3.将更新数据返回至更新数据库,更新数据库;
4.由用户根据查询逻辑判断是否发起第二次查询,如果依然没查到,重复此过程。
下面介绍本系统根据航空公司策略和用户级别设置查询和更新配置的方式。
航空公司策略
缓存根据航空公司配置,分为POS控制,O&D控制、AVS和GENERAL。
1.POS(Point of Sale)控制:相同查询条件但不同Office的航班舱位数据有可能不同,因此将office号作为查询条件进行保存。
2.O&D控制:对有些航空公司来说,联程航班的舱位状态与2段单程的航班舱位结果可能不一致,因此将两段联程的航班好共同作为查询条件机进行保存。
3.AVS:不同航空公司的AVS可靠性不一致,将可靠航空公司的AVS数据作为可信数据直接返回用户,不可靠航空公司的AVS数据作为备份返回给低优先级的用户。
4.GENERAL:只保存单段,且不涉及POS控制的舱位状态
用户查询策略:
用户根据查询量,查订比等数据分为不同优先级,例如:
1.高用户优先级别:
按照航空公司策略进行查询,如果航空公司的AVS数据不可靠,同时根据POS O&D的查询条件没有查到,则直接发起主动查询,若干秒后运价计算系统会再次进行查询;
该级别用户查询效率慢,保证完全准确。
2.中用户优先级别:
按照航空公司策略进行查询,如果航空公司的AVS数据不可靠,同时根据POS O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有直接发起主动查询,若干秒后运价计算系统会再次进行查询。
该级别用户查询效率一般,准确率较高。
3.低用户优先级别:
按照航空公司策略进行查询,如果航空公司的AVS数据不可靠,同时根据POS O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有,采用不可信AVS数据作为结果返回给用户。
该级别用户查询效率高,但无法保证准确率。
由此可见,不同用户级别的查询效率与准确率不同,需要根据实际情况设置用户级别。
综上所述,通过以上的实施例或优选实施例,可以达到以下有益效果:
1.舱位状态缓存系统采用C/S结构,一台更新服务器将缓存数据库同步给所有查询服务器,用户在运价查询服务器进行查询,从而将查询压力分散,增加了查询效率。
2.用户查询与更新分离,用户主动发送查询请求的结果将直接写入数据库而不是返回给查询端,从而保证了大规模航班舱位状态缓存查询与更新逻辑的分离。
2.实时非托管航空公司直连请求刷新策略将非托管航空公司返回结果显示给用户的同时更新缓存,保障了缓存数据的广泛性和新鲜度。
3.根据用户和航空公司的策略,对缓存的查询和存储策略进行了配置,提高了缓存查询的准确率,同时也降低了系统压力。
4.缓存系统通过接收多种数据来源,保证接受航空公司发布的数据保证数据的完整,通过接受大量的冗余数据来保证缓存数据的实时性,同时减轻缓存系统对外的压力。
本缓存系统通过上述策略的综合运用,实现了舱位缓存数据访问准确性和效率的统一。既有效满足了国际运价计算(Shopping)系统的大规模查询需求,同时减轻了对舱位状态查询系统(AVE)服务器的压力。目前该系统在航信的运价计算系统中已经实现每秒数十万次查询,实现90%缓存准确率,达到国际领先的技术水平,有助于提高企业的国际综合竞争力。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种航班舱位状态缓存系统,其特征在于,包括:由多个查询服务器作为客户机、由更新服务器作为服务器的客户机/服务器结构,其中,
所述更新服务器,用于接收航班舱位状态变化数据,并根据所述航班舱位状态变化数据更新并缓存航班舱位状态数据,以及将所述航班舱位状态数据同步给所述多个查询服务器;
所述查询服务器,用于接收所述航班舱位状态数据,并根据所述航班舱位状态数据更新并缓存所述查询服务器上保存的航班舱位状态数据,以及根据用户的航班舱位状态查询请求,从所述查询服务器上缓存的航班舱位状态数据中查询航班舱位状态;
所述查询服务器包括:舱位状态查询接口,用于接收用户的航班舱位状态查询请求,并根据所述用户的用户优先级别对应的查询策略查询所述航班舱位状态,并将所述航班舱位状态反馈给所述用户;
查询策略配置接口,用于接收并配置不同用户优先级别对应的查询策略。
2.根据权利要求1所述的系统,其特征在于,所述更新服务器包括:数据接收接口,用于接收航班舱位状态变化数据,其中,所述舱位状态变化数据包括以下至少之一:
航空公司发布的舱位状态变化数据;
航班查询系统的查询结果的实时拷贝;
舱位状态查询系统根据所述更新服务器的主动查询请求反馈的实时航班舱位状态数据。
3.根据权利要求1所述的系统,其特征在于,
所述更新服务器,还用于根据所述航班舱位状态数据的来源,分别更新并缓存所述航班舱位状态数据;
所述查询服务器,还用于根据所述航班舱位状态数据的来源,分别更新并缓存所述查询服务器上缓存的航班舱位状态数据。
4.根据权利要求1所述的系统,其特征在于,所述不同用户优先级别对应的查询策略包括以下至少之一:
高用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则向所述更新服务器发起主动查询,并在完成所述主动查询后再次进行查询;
中用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则向所述更新服务器发起主动查询,并在完成所述主动查询后再次进行查询;
低用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则采用不可信AVS数据作为航班舱位状态的查询结果返回给所述用户;
其中,缓存根据航空公司配置,分为POS控制,O&D控制、AVS和GENERAL,其含义如下:
POS控制:将office号作为查询条件进行保存,O&D控制:将两段联程的航班好共同作为查询条件机进行保存,AVS:将可靠航空公司的AVS数据作为可信数据直接返回用户,不可靠航空公司的AVS数据作为备份返回给低优先级的用户,GENERAL:只保存单段,且不涉及POS控制的舱位状态。
5.根据权利要求4所述的系统,其特征在于,所述更新服务器还包括:主动查询接口,用于根据所述查询服务器的主动查询请求,向舱位状态查询系统请求实时航班舱位状态数据。
6.一种航班舱位状态缓存方法,其特征在于,包括:
更新服务器接收航班舱位状态变化数据,并根据所述航班舱位状态变化数据更新并缓存航班舱位状态数据,以及将所述航班舱位状态数据同步给多个查询服务器;
所述查询服务器接收所述航班舱位状态数据,并根据所述航班舱位状态数据更新并缓存所述查询服务器上保存的航班舱位状态数据;
所述查询服务器根据用户的航班舱位状态查询请求,从所述查询服务器上缓存的航班舱位状态数据中查询航班舱位状态;
所述查询服务器根据用户的航班舱位状态查询请求,从所述查询服务器上缓存的航班舱位状态数据中查询航班舱位状态包括:
所述查询服务器接收用户的航班舱位状态查询请求,并根据所述用户的用户优先级别对应的查询策略查询所述航班舱位状态,并将所述航班舱位状态反馈给所述用户;
在所述查询服务器根据用户的航班舱位状态查询请求,从所述查询服务器上缓存的航班舱位状态数据中查询航班舱位状态之前,所述方法还包括:
所述查询服务器接收并配置不同用户优先级别对应的查询策略。
7.根据权利要求6所述的方法,其特征在于,所述舱位状态变化数据包括以下至少之一:
航空公司发布的舱位状态变化数据;
航班查询系统的查询结果的实时拷贝;
舱位状态查询系统根据所述更新服务器的主动查询请求反馈的实时航班舱位状态数据。
8.根据权利要求6所述的方法,其特征在于,
所述更新服务器根据所述航班舱位状态变化数据更新并缓存航班舱位状态数据包括:所述更新服务器根据所述航班舱位状态数据的来源,分别更新并缓存所述航班舱位状态数据;
所述查询服务器根据所述航班舱位状态数据更新并缓存所述查询服务器上保存的航班舱位状态数据包括:所述查询服务器根据所述航班舱位状态数据的来源,分别更新并缓存所述查询服务器上缓存的航班舱位状态数据。
9.根据权利要求6所述的方法,其特征在于,所述不同用户优先级别对应的查询策略包括以下至少之一:
高用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则向所述更新服务器发起主动查询,并在完成所述主动查询后再次进行查询;
中用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则向所述更新服务器发起主动查询,并在完成所述主动查询后再次进行查询;
低用户优先级别对应的查询策略:如果航空公司的AVS数据不可靠,且根据POS和O&D的查询条件没有查到,则使用GENERAL的数据再次进行查询,如果依然没有查到,则采用不可信AVS数据作为航班舱位状态的查询结果返回给所述用户;
其中,缓存根据航空公司配置,分为POS控制,O&D控制、AVS和GENERAL,其含义如下:
POS控制:将office号作为查询条件进行保存,O&D控制:将两段联程的航班好共同作为查询条件机进行保存,AVS:将可靠航空公司的AVS数据作为可信数据直接返回用户,不可靠航空公司的AVS数据作为备份返回给低优先级的用户,GENERAL:只保存单段,且不涉及POS控制的舱位状态。
10.根据权利要求9所述的方法,其特征在于,在所述查询服务器向所述更新服务器发起主动查询之后,所述方法还包括:
所述更新服务器根据所述查询服务器的主动查询请求,向舱位状态查询系统请求实时航班舱位状态数据,并根据所述实时航班舱位状态数据更新并缓存所述航班舱位状态数据,以及将所述航班舱位状态数据同步给所述多个查询服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611265333.2A CN106777311B (zh) | 2016-12-30 | 2016-12-30 | 航班舱位状态缓存方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611265333.2A CN106777311B (zh) | 2016-12-30 | 2016-12-30 | 航班舱位状态缓存方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106777311A CN106777311A (zh) | 2017-05-31 |
CN106777311B true CN106777311B (zh) | 2020-05-22 |
Family
ID=58951735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611265333.2A Active CN106777311B (zh) | 2016-12-30 | 2016-12-30 | 航班舱位状态缓存方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106777311B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451749A (zh) * | 2017-08-10 | 2017-12-08 | 中国民航信息网络股份有限公司 | 航班婴儿服务的库存管理方法和系统 |
CN109271395A (zh) * | 2018-09-11 | 2019-01-25 | 南京轨道交通系统工程有限公司 | 用于综合监控系统的大规模实时数据更新发布系统及方法 |
CN110738528B (zh) * | 2019-10-21 | 2023-06-20 | 中国民航信息网络股份有限公司 | 一种规则运价的预处理方法及系统 |
CN111339414A (zh) * | 2020-02-24 | 2020-06-26 | 携程旅游网络技术(上海)有限公司 | 航班中转信息提醒方法、系统、设备及介质 |
CN111402351B (zh) * | 2020-03-06 | 2023-05-09 | 飞友科技有限公司 | 一种基于se报文识别的飞机舱位图生成系统 |
CN112115172A (zh) * | 2020-09-28 | 2020-12-22 | 中国建设银行股份有限公司 | 航班数据缓存方法及装置 |
CN113821520B (zh) * | 2021-01-15 | 2024-07-19 | 北京沃东天骏信息技术有限公司 | 缓存更新方法和装置 |
CN113688129A (zh) * | 2021-07-21 | 2021-11-23 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种联程运输数据编码方法与装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369379A (zh) * | 2008-09-02 | 2009-02-18 | 中国民航大学 | 一种机场航班延误信息预测查询装置及其处理方法 |
CN105630982A (zh) * | 2015-12-25 | 2016-06-01 | 中国民航信息网络股份有限公司 | 航班数据缓存方法及系统 |
CN106210117A (zh) * | 2016-08-01 | 2016-12-07 | 浪潮软件股份有限公司 | 一种通过云端缓存实现的高性能服务架构 |
-
2016
- 2016-12-30 CN CN201611265333.2A patent/CN106777311B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369379A (zh) * | 2008-09-02 | 2009-02-18 | 中国民航大学 | 一种机场航班延误信息预测查询装置及其处理方法 |
CN105630982A (zh) * | 2015-12-25 | 2016-06-01 | 中国民航信息网络股份有限公司 | 航班数据缓存方法及系统 |
CN106210117A (zh) * | 2016-08-01 | 2016-12-07 | 浪潮软件股份有限公司 | 一种通过云端缓存实现的高性能服务架构 |
Also Published As
Publication number | Publication date |
---|---|
CN106777311A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106777311B (zh) | 航班舱位状态缓存方法和系统 | |
US9934263B1 (en) | Big-fast data connector between in-memory database system and data warehouse system | |
AU2012292068B2 (en) | Method and system to maintain strong consistency of distributed replicated contents in a client/server system | |
CN109074362B (zh) | 分布式系统中的拆分和移动范围 | |
US8930316B2 (en) | System and method for providing partition persistent state consistency in a distributed data grid | |
US9659038B2 (en) | Efficient snapshot read of a database in a distributed storage system | |
WO2017219848A1 (zh) | 分布式数据库中id的处理方法、管理系统及服务器 | |
US9774676B2 (en) | Storing and moving data in a distributed storage system | |
CN111274310A (zh) | 一种分布式数据缓存方法及系统 | |
US9081839B2 (en) | Push replication for use with a distributed data grid | |
US20120278817A1 (en) | Event distribution pattern for use with a distributed data grid | |
RU2606058C2 (ru) | Усовершенствованная система управления запасами и способ для ее осуществления | |
US20060123121A1 (en) | System and method for service session management | |
US9633094B2 (en) | Data load process | |
CN105989065B (zh) | 一种闪拍数据处理方法及系统 | |
JP5760350B2 (ja) | 情報処理システム | |
KR101696911B1 (ko) | 분산 데이터 베이스 장치 및 그 장치에서의 스트림 데이터 처리 방법 | |
CN114328587A (zh) | 一种ndc报文分布式解析系统架构集成方法及装置 | |
CN105245375A (zh) | 一种基于网络的高效存储方法 | |
US8775505B2 (en) | Optimized event routing in distributed data management | |
CN103577465A (zh) | 系统数据处理系统及方法 | |
EP4099180A1 (en) | Precomputed cache validation | |
JP6106499B2 (ja) | データ反映方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |