一种NDC场景下的用户请求结果的处理方法及相关装置
文献发布时间:2023-06-19 09:36:59
技术领域
本发明涉及航空请求处理领域,更具体的说,涉及一种NDC场景下的用户请求结果的处理方法及相关装置。
背景技术
航空新分销标准NDC(新分销能力)定义的销售模式中,Aggregator作为内容聚合商,通常使用AirShopping接口获取用户请求,然后查询该请求对应的不同航司的NDC数据,如NDC渠道的航班、运价及服务(即offer),并对不同航司返回的NDC内容进行聚合,将聚合后的结果反馈给用户。其中,在用户查询请求为查询往返行程时,不同航司返回的NDC内容中,有的航司返回的内容的数据模式为ITI模式,有的航司返回的内容的数据模式为OWD模式。其中,ITI模式的数据中包括已将去程和回程航班运价组合好的全程数据,OWD模式的数据不是全程数据,而是分去程和回程的两个单程航班运价数据,需要用户自行组合。
用户接收到该返回结果之后,需要对返回结果中的OWD模式的数据中的单程数据进行组合,以得到完整行程数据,才能在其分销网站页面实现与其他航司NDC内容的统一展示,在此过程中,用户操作复杂、实现有难度。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
有鉴于此,本发明提供一种NDC场景下的用户请求结果的处理方法及相关装置,以解决用户接收到返回结果之后,需要对返回结果中的OWD模式的数据中的去程和回程的单程结果数据进行组合,以得到完整行程结果数据,用户操作复杂、有难度的问题。
为解决上述技术问题,本发明采用了如下技术方案:
一种NDC场景下的用户请求结果的处理方法,应用于处理器,所述处理方法包括:
获取用户请求对应的待聚合数据中的符合OWD模式的目标数据;所述目标数据包括去程数据集合和回程数据集合;所述去程数据集合包括去程航班信息集合以及去程运价集合;所述回程数据集合包括回程航班信息集合以及回程运价集合;
对所述目标数据进行数据清洗操作,得到待处理数据;
按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合;所述全程航班运价组合结果集合中的全程航班运价组合结果包括一所述去程航班信息、一所述回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,并将聚合操作得到的结果输出。
一种NDC场景下的用户请求结果的处理装置,应用于处理器,所述处理装置包括:
数据获取模块,用于获取用户请求对应的待聚合数据中的符合OWD模式的目标数据;所述目标数据包括去程数据集合和回程数据集合;所述去程数据集合包括去程航班信息集合以及去程运价集合;所述回程数据集合包括回程航班信息集合以及回程运价集合;
数据清洗模块,用于对所述目标数据进行数据清洗操作,得到待处理数据;
数据组合模块,用于按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合;所述全程航班运价组合结果集合中的全程航班运价组合结果包括一所述去程航班信息、一所述回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
数据聚合模块,用于将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,并将聚合操作得到的结果输出。
一种电子设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
获取用户请求对应的待聚合数据中的符合OWD模式的目标数据;所述目标数据包括去程数据集合和回程数据集合;所述去程数据集合包括去程航班信息集合以及去程运价集合;所述回程数据集合包括回程航班信息集合以及回程运价集合;
对所述目标数据进行数据清洗操作,得到待处理数据;
按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合;所述全程航班运价组合结果集合中的全程航班运价组合结果包括一所述去程航班信息、一所述回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,并将聚合操作得到的结果输出。
相较于现有技术,本发明具有以下有益效果:
本发明提供了一种NDC场景下的用户请求结果的处理方法及相关装置,对于用户请求,处理器获取该用户请求对应的待聚合数据中的符合OWD模式的目标数据,对所述目标数据进行数据清洗操作,得到待处理数据,按照预设组合规则,对去程和回程的航班及运价进行组合,得到全程航班运价组合结果集合,即通过本发明实现了OWD模式的数据向ITI模式的数据的转换,得到了ITI模式的结果数据,再将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,得到完整行程的所有ITI模式的数据并输出给用户,不再需要用户进行数据组合,简化了用户操作。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本发明实施例提供的一种NDC场景下的用户请求结果的处理方法的方法流程图;
图2为本发明实施例提供的一种数据清洗流程图;
图3为本发明实施例提供的另一种数据清洗流程图;
图4为本发明实施例提供的又一种数据清洗流程图;
图5为本发明实施例提供的一种NDC场景下的用户请求结果的处理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
为了本领域技术人员能够更好地理解本发明,现对本发明中可能用到的词汇进行解释,具体如下:
1)NDC:新分销能力,是国际航空运输协会IATA近年来力推的新的分销行业标准。它主要制定了统一的数据传输标准(XML),航空公司与其合作伙伴之间可以通过这一统一标准来进行数据的交互。航司可以根据卖家的请求以及卖家和旅客的信息,动态实时构建航班运价机票产品、以及辅营产品(也就是NDC里常说的offer),再通过统一的标准提供给卖家,改变了传统机票领域主要由GDS构建offer的进行分销模式,让航空公司重回交易的主导地位,促进航司的直销。
2)Aggregator:内容聚合商,是NDC销售模式下一个新的角色。由于各个航司的接口应用的NDC标准版本不同、业务理解不同、应用方式不同,所以航司接口各不相同,下游渠道用户对接航司接口的成本很高、难度很大。因此诞生了Aggregator,它对接各个航司的NDC接口,将其NDC内容进行汇总、解析、转换、融合,生成聚合后的内容,然后按照NDC标准向下游渠道客户提供统一接口,下游客户只需对接该统一接口,即可快速实现多家航司的对接销售。
3)AirShopping接口:是IATA的NDC标准定义的接口,是NDC销售流程的第一步,通过Shopping接口,输入起始地、目的地、旅行时间、旅客信息(如人数、旅客类型等),可以获得查询条件对应的航班舱位、品牌运价、享有的服务和规则信息。
4)offer:航司返回的航班舱位、品牌运价、附加服务、使用规则等信息,我们称之为offer。每个offer可以有多个OfferItem,每个旅客类型对应一个OfferItem,每个附加服务会对应一个OfferItem。
5)ITI模式:ITI模式就是指,当行程是往返程时,航司的AirShopping接口会返回去/回程航班运价打包组合结果,每一个offer就是整个行程(即一个去/回程航班组合)的报价结果。
6)OWD模式:OWD模式是指AirShopping接口分别返回去/回程各自航班运价结果,即每一程有一个报价offer,用户使用时需要把去/回程的offer自行组合成整个行程的offer。
7)OD:O为起始点,original。D为到达点,destination。一个OD代表一个航线,用户想要查询的一个行程。一个往返程至少由两个OD组成,去程一个OD,回程一个OD。
8)直达:从O到D,只有一个航班,直飞。
9)中转:从O到D,并不是直飞,而是先飞到第三地,停留一段时间(一般不超过24小时叫中转transfer,超过24小时叫停留Stop)后,再换乘航班继续飞,一个OD中中转航班中转次数可以有多次。
10)代码共享航班,是指某一航段航班的市场方航司和实际承运航司不同,则为代码共享航班。市场方航司就是进行市场推广销售的航司,承运方航司就是指该航班实际执飞的航空公司。市场方航司帮助承运方航司销售机票,最后都由承运方航司实际执飞,然后两家航司进行收入分摊。
11)联运,就是一个中转联程行程,有多个航段,分别由不同航司实际承运,这两家航司有联运协议,一起销售这个中转联程行程,然后进行收入的比例分摊。
12)品牌运价:就是航司发布的一组票价和对应的服务。品牌运价打破了原有根据舱位代码(26个字母)来定价的限制,可以更加灵活的发布运价,只要定义一组运价和对应的服务,就可以以品牌运价的方式发布。
13)主航段:在国际机票行程中,一个行程可能有多个航段,将跨区域级别最高的航段定义为主航段,主航段往往是里程最远的国际航段。这里说的跨区域,是指IATA的区域划分标准,IATA将全球分为三个大区,每个大区各有几个子区,每个子区包括不同的国家。跨区域级别由高到低的顺序是:跨大区、跨子区、跨国,优先选取跨区域级别最高的航段,比如跨大区航段作为该行程的主航段。往返程时,去回程各有主航段。
14)MCT:机场最短中转衔接时间,航司会通过OAG发布,不同机场、不同航班类型中转(如国内或国际航班)的最短衔接时间,超过该衔接时间的两个航班才有可能被组合。
15)OAG:一个非官方组织,为全球民航提供全球航班计划数据、航班动态数据、专业的航空数据解决方案。
在IATA(International Air Transport Association,国际航空运输协会)提出的航空新分销标准NDC定义的销售模式中,Aggregator是内容聚合商的角色,它对接各航司的NDC接口,将各航司不同NDC标准版本、不同展现形式的NDC内容进行高效准确的汇总、解析、转换、融合,再将聚合后的内容通过符合IATA标准的接口、以统一的内容展现形式对下游渠道用户提供,供其对接。这样下游渠道用户只需对接一次接口,以统一的内容获取方式,获取到多家航司的NDC内容,在不增加较多投入的前提下实现NDC内容的快速接入和销售。
Aggregator作为内容聚合商,通常使用AirShopping接口获取用户请求,不同航司会返回其NDC渠道的航班、运价及服务(即offer)。在聚合不同航司NDC内容过程中,有的航司会以ITI模式返回offer,有的航司会以OWD模式返回offer,虽然都符合IATA定义的接口标准,但返回内容和方式并不统一。ITI模式就是指,当行程是往返程时,航司会返回去/回程航班运价打包组合结果,每一个offer就是一个去/回程航班组合的报价结果。OWD模式,则是分别返回去/回程各自航班运价结果,每个航班运价结果都是一个报价offer,用户使用时需要把去/回程的offer自行组合成整个行程的offer。
上述这种返回结果既有OWD模式的数据,又有ITI模式的数据,会存在以下问题:
1)当用户发起不限定航司的Shopping查询,结果里既有OWD结果又有ITI结果时,用户应用将极其困难。
2)OWD会返回很多结果,用户自行组合比较麻烦,比如ITI模式可能只返回上百个offer,但OWD模式组合出来的整个行程的offer可达几万个,用户前端系统应用时组合、展示、选择起来也比较困难,此时用户操作复杂。
发明人经过研究发现,目前主流航司采取的是ITI模式,只有少数航司采用OWD模式,如果用户对返回结果使用的模式没有特殊要求,则Aggregator可以对不同模式的返回结果进行统一,如可以将OWD模式的数据转换成ITI模式的数据,这样返回给用户的结果就均是完整的行程,用户不需要在进行行程的组合,简化了用户操作。进一步的,在转换的过程中,也可以对offer进行筛选,确保返回的结果数量有限、可控且应该是最优的。
具体的,本发明中,对于用户请求,处理器获取该用户请求对应的待聚合数据中的符合OWD模式的目标数据,对所述目标数据进行数据清洗操作,得到待处理数据,按照预设组合规则,对去程和回程的航班及运价进行组合,得到全程航班运价组合结果集合,即通过本发明实现了OWD模式的数据向ITI模式的数据的转换,得到了ITI模式的结果数据,再将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,得到完整行程的所有ITI模式的数据并输出给用户,不再需要用户进行数据组合,简化了用户操作。
在上述内容的基础上,本发明实施例提供了一种NDC场景下的用户请求结果的处理方法,应用于处理器,本实施例中的处理器可以是上述的Aggregator服务器。
参照图1,处理方法包括:
S11、获取用户请求对应的待聚合数据中的符合OWD模式的目标数据。
在实际应用中,Aggregator服务器会通过AirShopping接口接收用户请求,用户请求中携带有起始地、目的地、旅行时间、旅客信息(如人数、旅客类型等),可以获得查询条件对应的航班舱位、品牌运价、享有的服务和规则信息。
本实施例中,对AirShopping接口做了改进,用户除了通过该AirShopping接口输入上述的信息之外,还可以选择数据返回模式,具体的,对于不限定航司的Shopping查询,统一默认将OWD模式转成ITI模式,最终结果全部为ITI模式。
对于指定单航司的Shopping查询,在输入参数中增加自定义节点,让用户选择返回OWD还是ITI模式:默认是ITI模式,按照上述转换以及筛选方法返回结果;也可以指定为OWD模式,当为OWD模式时,航司接口的所有结果不做上文提到的各种筛选,直接都返回给用户。如果航司本身就是ITI模式,那指定OWD模式时,也返回ITI模式的结果。
Aggregator服务器会通过AirShopping接口接收用户请求之后,调用航司AirShopping接口,获得航司结果,对航司结果进行解析,获取到去/回程航线、航班、舱位、品牌运价等信息,本实施例中将这些数据作为待聚合数据,待聚合数据中的数据标注有对应的模式,如A数据使用的是OWD模式,B数据使用的是ITI模式。
本实施例中,需要将OWD模式的数据转换成ITI模式,则在实际应用中,需要确定出待聚合数据中的符合OWD模式的目标数据。所述目标数据包括去程数据集合和回程数据集合;所述去程数据集合包括去程航班信息集合以及去程运价集合;所述回程数据集合包括回程航班信息集合以及回程运价集合。
每个航班每个旅客类型都可能会有多个运价返回,本实施例中,不仅要把航班组合,也要把运价按照预设组合规则进行组合(即相同品牌运价组合,如果同一个品牌运价组合中包含多个舱位组合,这里不同的舱位组合对应的价格会不同,则只保留最低价格舱位组合),然后把每个航班组合的所有品牌运价组合结果,作为最终结果返回。
所述去程航班信息集合中的去程航班信息与所述回程航班信息集合中的回程航班信息可以具有相同的航班飞行地点。如去程航班信息是从北京到上海的航班信息,可以有直达的航班,也可以有中转的航班等,而回程航班信息是从上海到北京的航班信息,可以有直达的航班,也可以有中转的航班等。此外,所述去程航班信息集合中的去程航班信息与所述回程航班信息集合中的回程航班信息也可以不具有相同的航班飞行地点,如去程是北京到上海,回程是无锡到天津,本发明中,只要是满足用户查询的航班是往返航班即可。
另外,本实施例中的去程航班信息集合中的去程航班信息与所述回程航班信息集合中的回程航班信息是各个航司返回的结果,一般数据量较大。
需要说明的是,如果行程是单程,则OWD模式与ITI模式没有区别,无需转换。
S12、对所述目标数据进行数据清洗操作,得到待处理数据。
在实际应用中,本发明主要为了实现去回程offer的打包返回,但发明人发现虽然设置了一些打包规则,但最终返回给用户的结果还是很多,同时也注意到航司返回航班航线结果很多,有些航线航班组合并不是特别符合客人需求,所以本实施例中增加了数据清洗环节,如增加了航班筛选环节,通过数据清洗来实现减少最终的结果数量的目的,使返回结果在有限的数值范围内。
S13、按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合。
在实际应用中,OWD模式的数据仅包括单程数据,如包括去程航班信息,或回程航班信息,为了用户使用方便,需要将OWD模式的数据转换成ITI模式的数据,即对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合。
所述全程航班运价组合结果集合中的全程航班运价组合结果包括一所述去程航班信息、一所述回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果。
如,去程航班信息是北京到上海,回程航班信息是上海到北京,航班运价组合结果中包括北京到上海的航班、上海到北京的航班以及两个航班的运价组合结果(如每个航班的offer信息,舱位和请求旅客类型所对应的运价信息(有票价、税费、所属的品牌运价、享有的权益服务、运价使用规则等))。
具体的,步骤S13可以包括:
获取至少一个预设航班组合规则,并按照所述预设航班组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合;所述全程航班组合集合中的全程航班组合包括至少一去程航班和至少一回程航班;
获取至少一个预设运价组合规则,并按照所述预设运价组合规则,将所述全程航班组合集合中的全程航班组合中的去程航班信息对应的去程运价以及回程航班信息对应的回程运价进行组合,得到全程航班组合对应的运价组合结果;
将所述全程航班组合以及所述全程航班组合对应的运价组合结果组合得到全程航班运价组合结果;所述全程航班运价组合结果包括一去程航班信息、一回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
将所有的所述全程航班运价组合结果组合得到全程航班运价组合结果集合。
在实际应用中,转换过程就是将OWD模式下的去/回程各自的offer进行组合,得到往返程的打包offer,即ITI模式下的offer。遵循以下几点原则完成OWD到ITI的转换:
1)去/回程直达航班的offer相互组合、中转航班的offer相互组合,形成ITI模式的offer并返回,其中,去/回程分别是直达与中转航班的offer不组合。
2)去/回程相同航线的offer相互组合,比如去程是A-B-C-D,那么回程应该是D-C-B-A。如果一条航线,只有去程有或只有回程有,这里可以根据后台设置,不再组合不同航线offer;也可以与其他航线的offer组合,返回与其他航线组合的最低价格的offer。组合时需满足本实施例描述的OWD转换ITI的原则。
3)去/回程相同品牌运价对应的offer进行组合,形成ITI模式的offer并返回。如果同一品牌运价组合中如果有多个舱位(每个舱位实际上对应一个offer),则该品牌运价对应的ITI模式的offer应该是去/回程最低价舱位对应offer的组合。
4)如果某去/回程航班组合没有相同的品牌运价,这里可以根据后台设置,不再组合不同品牌运价offer,或仅组合各舱等中价格最低的两个品牌运价,作为最终的ITI打包offer返回。
通过以上组合方式,得到最终的所有打包好的offer,也就实现了OWD模式到ITI模式的转换。
在进行航班组合时,先按照上述方式组合航班,预设航班组合规则是直达跟直达、中转跟中转、去回程航线要相同;再在航班组合基础上组合运价及服务offer,offer组合规则,即预设运价组合规则为相同品牌运价进行组合,如果同一品牌运价里有多个舱位,则对于该品牌运价返回的运价组合结果是价格最低的舱位组合结果。
例如一个往返程,去程航班和回程航班均有品牌运价“BASIC”,但有多个舱位均属于该品牌运价,比如去程航班返回了K舱、W舱均是该品牌运价的适用舱位,回程航班该品牌运价返回了K、T、W舱,那么对于BASIC这个品牌运价,需要找到最低价格的舱位组合作为最终组合返回,假设去程和回程是K舱组合时,价格最低,那么该航班组合的最终运价组合结果就是BASIC品牌运价中的K舱运价组合。
S14、将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,并将聚合操作得到的结果输出。
在实际应用中,本实施例中的聚合操作是指将不同航司返回的数据进行整合、格式调整等操作,本实施例中的聚合操作采用常规的聚合操作即可,聚合后的数据返回给用户,此时用户看到的数据均是ITI模式的数据。
本实施例中,对于用户请求,处理器获取该用户请求对应的待聚合数据中的符合OWD模式的目标数据,对所述目标数据进行数据清洗操作,得到待处理数据,按照预设组合规则,对去程和回程的航班及运价进行组合,得到全程航班运价组合结果集合,即通过本发明实现了OWD模式的数据向ITI模式的数据的转换,得到了ITI模式的结果数据,再将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,得到完整行程的所有ITI模式的数据并输出给用户,不再需要用户进行数据组合,简化了用户操作。
另外,本发明中,除了上述简化了用户操作的技术效果之外,对于Aggregator,将不同航司返回的不同模式结果以统一的方式提供给下游渠道用户,简化用户操作,提高了Aggregator的功能性。
上述实施例介绍了需要对目标数据进行数据清洗操作,现对具体清洗过程进行介绍,参照图2,步骤S12可以包括:
S21、获取预设数据筛选规则,并从所述目标数据中筛选出符合所述预设数据筛选规则的中间数据。
为了减少最终返回给用户的数据量,以及避免有些不适用的数据对用户造成影响,不适用的数据可以是中间时间不满足机场最短中转衔接时间MCT要求的等等,这种航班在实际生活中并不适用,所以本实施例中设定了预设数据筛选规则,对数据进行筛选。
在进行筛选时,遵循以下几条原则:
1)直达航班都保留,因为直达航班是用户优先选择的方式之一,且直达航班相对于中转航班数量要少得多。
2)中转航班的中转时间间隔应该是大于MCT最短中转衔接时间的,实际发现航司会返回一些中转时间很短的航班组合,如半个小时中转,乘坐这种航班组合误点第二个航班的风险很大,因而客人选择的优先级很低,当航班结果很多时,前端系统一般也不会展示这样的航班。
3)中转点换机场的航班组合,中转换机场,一方面旅客换机场很不方便,中转时间也一般需要很长时间,另一方面如果是海外机场还要考虑签证等问题,所以旅客一般不会选择中转点换机场的航班,或优先级较低。
4)中转隔夜航班,需要旅客在当地过夜,涉及签证、中转时长等问题,旅客很可能会在机场过夜,因而选择优先级也是很低的。
理论上来说,航司的NDC系统应该返回主航段是自己实际承运的航班组合结果。而实际业务中发现航空公司还会返回主航段是代码共享的航班(即市场方是该航司,但是别的航司承运的),这种航司的销售度不高。
基于以上考虑,所以对这些不合理或优先级很低的航班进行过滤,从而优先将这些航班排除,减少结果中航班的数量。当然这些也可通过后台来设置是否保留,只是默认设置都是过滤掉。后续也会根据实际情况,再增加新的筛选规则。
具体的,先分别对去/回程的航线航班进行预筛选。按照以下的原则进行预筛选:
1)直达航线的所有航班都保留。
2)对于中转航线,中转航班组合过滤原则是:
2.1)中转时间间隔不满足MCT要求的,删除。其中,MCT是指机场最短中转衔接时间,航司会通过OAG发布,不同机场、不同航班类型中转(如国内或国际航班)的最短衔接时间,超过该衔接时间的两个航班才有可能被组合。这是一个标准,按理说航司返回结果应该满足这个MCT的要求,但实际发现AC返回结果并不满足,所以加上这个筛选条件。
2.2)中转点换机场的,删除。
2.3)中转隔夜航班,删除或排序排到最后。中转隔夜航班定义,在中转机场降落和起飞时间在0点前后,且间隔时间超过4个小时的中转航班组合。
3)主航段航班不是自承运航班的,删除。同盟航司除外,如CX与KA、AF与KL,SQ与MI等。
S22、按照预设排序规则,对所述中间数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息依次进行排序操作,得到所述去程航班信息的排序结果和所述回程航班信息的排序结果。
在实际应用中,航司返回的结果中,不同的航班的优劣不同,则可以按照航班的优劣进行排序,将较优和较合理的航班排在前边,这样在返回用户时,用户首先看到较优的航班,提高用户体验。
具体的,参照图3,步骤S22可以包括:
S31、将所述中间数据中的去程航班信息集合和回程航班信息集合依次确定为目标航班信息集合。
在实际应用中,对于去程航班信息集合和回程航班信息集合,分别进行处理,在进行处理时,将去程航班信息集合和回程航班信息集合分别作为目标航班信息集合,然后对目标航班信息集合进行处理。不管是去程航班信息集合,还是回程航班信息集合,在作为目标航班信息集合时,其包括的去程航班信息或回程航班信息,均统称为航班信息。
S32、获取所述目标航班信息集合中的各个航班信息的航班类型。
对于航班信息,其对应的航班类型分为自承运、有代码共享航班、有联运航班三大类。
判断一个航班信息属于上述三种航班类型中的哪一种时,需要通过每个航班的市场方航空公司和承运方航空公司来判断,相同则为自承运航班、不同则为代码共享航班,如果两个航班市场方航司不同那就是联运航班。返回的结果中有市场方航司和承运方航司两个参数,可以用来判断航班的类型。
S33、按照所述航班信息的航班类型,对所述目标航班信息集合中的各个所述航班信息进行分类操作,得到不同航班类型对应的航班信息子集合。
对于各个航班信息,其中,航班信息可以是各个航线上的航班或航班组合,分为上述的自承运、有代码共享航班、有联运航班三大类,并且三大类的优先级顺序是全部自承运的航班或航班组合排在第一梯队,有代码共享航班的是第二梯队、有联运航班的是第三梯队,每一梯队作为一个航班信息子集合。
S34、依据预设航班信息排序规则,对所述航班信息子集合中的航班信息进行排序操作,得到排序结果。
在得到三个航班信息子集合之后,需要对三个航班信息子集合进行排序,然后按照预设航班信息排序规则,对所述航班信息子集合中的航班信息进行排序操作,得到排序结果
在实际应用中,参照图4,步骤S34可以包括:
S41、按照预设航班类型排序规则,对各个所述航班信息子集合进行排序操作。
具体的,按照上述的方式,将全部自承运的航班或航班组合排在第一梯队,有代码共享航班的是第二梯队、有联运航班的是第三梯队。第一梯队的优先级高于第二梯队,第二梯队的优先级高于第三梯队。
S42、对每一所述航班信息子集合中的航班信息按照航班属性进行排序,得到初始排序结果。
其中,本实施例中的航班属性包括是否直达、是否中转、中转次数、总行程时长、总中转停留时间等。
更具体的,排序时,对于每一航班信息子集合,直达航班排位最靠前,由于直达航班均是自承运航班,最好在第一梯队(此处假设主航段是代码共享的结果航司不会返回或已被过滤,如果有这样的结果返回,则在第四梯队)。有多个直达航班时,按照航班起飞时间先后顺序进行排序。
直达航班排序完成后,分别在上述三大梯队中进行中转航班的排序,中转航班首先按照中转次数由少到多的顺序排序(即先一次中转后两次中转的顺序,然后是多次中转情况)分梯队排序。
不同中转次数梯队中,按照总行程时长由少到多的时间排序,如果总行程时间相同,则按照总中转停留时间由少到多的顺序排序,如果中转停留时间还相同,则按起飞时间先后顺序排序,如果起飞时间也相同,就随机排序。总行程时长,可直接计算终点(Arrival)时间与起点(Dep)的时间差,因为对于同一次查询的起点终点是确定的,所以不同航线的起点和终点的时差都是一样的。在计算总行程时长时,由于只是考虑起飞降落时间间隔的相对长短,所以可以不考虑时差的影响。
S43、按照预设排序修正规则,对所述初始排序结果进行修正操作,得到排序结果。
按照以上步骤,可将所有直达航班和中转航班组合完成排序。此时还需做排序最终调整,调整的原则是,要确保各航线最终筛选环节后最大程度都能有结果返回。之前根据全自承运、有代码共享航班、有联运航班分为先后三个梯队,然后在各自梯队里现有航班序列中,将各航线的首个航班组合按照出现的先后顺序调整到整体航班序列的最前面。从而确定最终的排序。
举例来说,北京到上海这一程航司返回了5个航线,分别为ABCDE航线,经过S21步骤的航班筛选,DE两条航线的航班全被过滤,则还剩ABC三条航线,且在S42的航班排序结果中三条航线的首个航班分别在第一梯队的第二位、第二梯队的第三位和第三梯队的第一位,由于后续步骤还会进一步对排好序的航班集合进行筛选,为了保证这三条航线包含在最终返回的结果中,分别将ABC三个航线的首个航班移到整体航班排序序列的前三位,其他航班顺序不变,这样可以保证航司返回的数据中,最大程度保证最终接口返回的结果中能包含ABC三条航线的航班。
S23、分别从所述去程航班信息的排序结果和所述回程航班信息的排序结果中筛选出预设数量的航班信息,并将筛选出的航班信息确定为待处理数据。
在实际应用中,即使返回一些较差的航班(如中转次数过多、总行程时间过长或停留时间过长)返回给用户,用户选择的优先级也非常低,则为了减少返回给用户的数据量以及仅显示较优的航班,后台,即服务器可配置最终返回几个航班结果,如N,则最终选取前N个航班或航班组合结果进行返回,当筛选后的实际航班结果数不足N时,则都返回。建议N可设置为6-10之间的数。如果实际行程(去程或回程)航班数小于N,则无需进行以上排序操作,预筛选后直接可进行OWD转ITI的操作。
需要说明的是,本发明实施例中,还可以通过对后台的设置,实现返回结果丰富度的调整,具体可进行调整的维度有:
中转时间间隔:默认按照MCT来判断,也可设置具体的固定数值,如2小时。
中转是否可以换机场:同一城市不同机场的情况,如NRT与HND,PEK与PKX等,默认不可以换。
中转是否返回隔夜航班:默认不返回。
是否返回主航段是代码共享的航班:默认不返回。当选择返回时,所有主航段是代码共享的航班,全部排在第四梯队,即优先级低于联运航班梯队。
航班截取个数N。
去/回程组合时,直达航班是否可以与中转航班组合:选项有三个,不可以、任何情况都允许、只有在另一程没有直达航班时才可与中转航线组合且仅返回最低价格的航线组合。默认是不可以。
去/回程组合时,不同中转航线是否可以组合:选项有三个,不可以、任何情况都允许、只有在另一程没有相同航线时才可与其他航线组合且仅返回最低价格的航线组合。默认是不可以。
去/回程组合时,是否允许不同品牌运价之间组合:选项有三个,不可以、任何情况都允许、只有在另一程没有相同品牌运价时才可与其他品牌运价组合且仅返回最低价格组合。默认是不可以。
去/回程组合时,是否允许同一品牌运价中的不同舱位进行组合:选项有三个,不可以、任何情况都允许、只有在另一程没有相同舱位时才可与其他舱位组合且仅返回最低价格组合。默认是不可以。
去/回程相同航线中转航班组合时,舱位相同的定义:选项有,所有航段舱位均相同、主航段舱位相同即可。默认是前者。注意这里所有航段舱位相同,是指对应航段的舱位要相同。如一个往返行程,去程是A-B-C-D,其中A-B、B-C和C-D航段分别对应的舱位是X/Y/Z,那么回程D-C-B-A三个航段的舱位应该是Z/Y/X。
为了本领域技术人员更加清楚地了解本发明,现举例说明本发明的具体实现过程。
现有实现NDC接口的航司中,AC的AirShopping接口返回的结果采用OWD模式,那么Aggregator在接入AC,实现下游接口不限定航司查询时,需要对AC的OWD结果进行转换。下面举例说明。
查询AC的YYZ-LHR往返行程,航司接口返回290个offer,其中去程152个offer,回程138个offer。如果只是单纯地将去回程offer求笛卡尔积,组合得到ITI模式下的打包offer,结果高达20976个,显然不具备实际应用的价值。
下面列出按照本文方法步骤,进行转换的具体实施情况。
根据航司接口返回的结果,整理该航线包含的品牌运价列表如下。
表1
对去程航班进行处理:解析航司接口结果得到有4个直达航班和16个中转航班,具体航班信息如下:
表2
先进行预筛选,按照上文规则以及默认后台设置,筛选掉航班序号为8、9、11、12、13、14、17、19的航班。
再进行排序,按照上文方案和默认后台设置,排序结果如下:
表3
按照后台默认设置,N=8,即截取排名前8位的航班作为最终结果,则去程最终航班组合为:AC868、AC622-AC860、AC462-AC888、AC414-AC2485、AC692-AC822、AC856、AC848、AC858。
再对回程航班进行处理:解析航司接口结果得到回程有4个直达航班、16个中转航班。具体航班信息如下:
表4
注:
(1)AC6186(OS),表示是代码共享航班,市场方是AC,承运方是OS。
(2)YV是UA的子公司,RV是AC的子公司。所以YV与UA、RV与AC是同盟航司。
(3)序号为9的航班,实际返回中转点的降落时间晚于起飞时间,可能是航司返回错误。
先进行预筛选,参考去程筛选方式,筛选掉回程航班序号为5、6、9、13、14、16、17、19、20的航班。
再进行排序,按照上文方案和后台参数的默认设置,排序结果如下:
表5
后台参数默认N=8,截取前8名为最终回程航班组合结果:AC869、AC889-AC459、AC865-AC9994、AC861-AC621、AC823-AC697、AC857、AC849、AC859。
然后进行去回程offer的组合,实现OWD向ITI的转换,整理各航班具有的品牌运价个数如下:
表6
去回程各航班具有的品牌运价以及对应的价格最低舱位,如下表所示:
表7
所以按照上文的方案和后台默认参数设置,最终组合的offer情况如下:
直达
去回程各有4个航班,且都有8个同舱位的品牌运价,所以组成ITI往返打包offer后共有4*4*8=128个offer。
中转
考虑到同航线组合,每条航线只有一个航班组合,一共有4条航线,各有同舱位品牌运价的个数分别为8、8、6、6,所以共有8+8+6+6=30个offer。
最终组成ITI模式结果后,有158个offer。offer数量在有限范围内,具备前端可用性,且包含了航司返回的主要航线以及对应的各个品牌运价的最低舱位组合结果。
本实施例提出了一种OWD转ITI的方案,当用户想要获得ITI模式的Shopping结果时,可以通过该方案实现OWD结果向ITI的转换,在不指定航司查询Shopping接口时,系统自动会将两种模式的结果进行统一,返回ITI模式的结果,避免了同一接口调用结果返回不同模式的结果,且对指定航司查询Shopping接口时提供可选的自定义请求参数,用户可根据自身需求获取OWD模式结果自行组合,也可获得本文逻辑组合的ITI结果。另外,本实施例可实现结果数量控制在有限数值以内,并且可以根据后台参数控制,调整最终结果的数量,满足不同用户需求。
此外,本发明在保证用户应用便捷性的基础上,又保证结果合理最优。返回的结果能够覆盖航司返回的绝大部分航线,包含全部品牌运价。过滤掉航司返回的不合理航班、航线。去/回程航线航班舱位组合合理,且保证全程offer组合结果最优、价格最低。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
可选地,在上述方法的实施例的基础上,本发明的另一实施例提供了一种NDC场景下的用户请求结果的处理装置,参照图5,应用于处理器,所述处理装置包括:
数据获取模块11,用于获取用户请求对应的待聚合数据中的符合OWD模式的目标数据;所述目标数据包括去程数据集合和回程数据集合;所述去程数据集合包括去程航班信息集合以及去程运价集合;所述回程数据集合包括回程航班信息集合以及回程运价集合;
数据清洗模块12,用于对所述目标数据进行数据清洗操作,得到待处理数据;
数据组合模块13,用于按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合;所述全程航班运价组合结果集合中的全程航班运价组合结果包括一所述去程航班信息、一所述回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
数据聚合模块14,用于将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,并将聚合操作得到的结果输出。
进一步,所述数据清洗模块包括:
第一数据筛选子模块,用于获取预设数据筛选规则,并从所述目标数据中筛选出符合所述预设数据筛选规则的中间数据;
数据排序子模块,用于按照预设排序规则,对所述中间数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息依次进行排序操作,得到所述去程航班信息的排序结果和所述回程航班信息的排序结果;
第二数据筛选子模块,用于分别从所述去程航班信息的排序结果和所述回程航班信息的排序结果中筛选出预设数量的航班信息,并将筛选出的航班信息确定为待处理数据。
进一步,所述数据排序子模块包括:
集合确定单元,用于将所述中间数据中的去程航班信息集合和回程航班信息集合依次确定为目标航班信息集合;
类型获取单元,用于获取所述目标航班信息集合中的各个航班信息的航班类型;
分类单元,用于按照所述航班信息的航班类型,对所述目标航班信息集合中的各个所述航班信息进行分类操作,得到不同航班类型对应的航班信息子集合;
排序单元,用于依据预设航班信息排序规则,对所述航班信息子集合中的航班信息进行排序操作,得到排序结果。
进一步,所述排序单元具体用于:
按照预设航班类型排序规则,对各个所述航班信息子集合进行排序操作,对每一所述航班信息子集合中的航班信息按照航班属性进行排序,得到初始排序结果,按照预设排序修正规则,对所述初始排序结果进行修正操作,得到排序结果。
进一步,数据组合模块具体用于:
第一组合子模块,用于获取至少一个预设航班组合规则,并按照所述预设航班组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合;所述全程航班组合集合中的全程航班组合包括至少一去程航班和至少一回程航班;
第二组合子模块,用于获取至少一个预设运价组合规则,并按照所述预设运价组合规则,将所述全程航班组合集合中的全程航班组合中的去程航班信息对应的去程运价以及回程航班信息对应的回程运价进行组合,得到全程航班组合对应的运价组合结果;
第三组合子模块,用于将所述全程航班组合以及所述全程航班组合对应的运价组合结果组合得到全程航班运价组合结果;所述全程航班运价组合结果包括一去程航班信息、一回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
第四组合子模块,用于将所有的所述全程航班运价组合结果组合得到全程航班运价组合结果集合。
本实施例中,对于用户请求,处理器获取该用户请求对应的待聚合数据中的符合OWD模式的目标数据,对所述目标数据进行数据清洗操作,得到待处理数据,按照预设组合规则,对去程和回程的航班及运价进行组合,得到全程航班运价组合结果集合,即通过本发明实现了OWD模式的数据向ITI模式的数据的转换,得到了ITI模式的结果数据,再将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,得到完整行程的所有ITI模式的数据并输出给用户,不再需要用户进行数据组合,简化了用户操作。
需要说明的是,本实施例中的各个模块、子模块和单元的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述处理方法。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述方法步骤的程序。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
可选地,在上述处理方法及装置的实施例的基础上,本发明的另一实施例提供了一种电子设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
获取用户请求对应的待聚合数据中的符合OWD模式的目标数据;所述目标数据包括去程数据集合和回程数据集合;所述去程数据集合包括去程航班信息集合以及去程运价集合;所述回程数据集合包括回程航班信息集合以及回程运价集合;
对所述目标数据进行数据清洗操作,得到待处理数据;
按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合;所述全程航班运价组合结果集合中的全程航班运价组合结果包括一所述去程航班信息、一所述回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,并将聚合操作得到的结果输出。
进一步,对所述目标数据进行数据清洗操作,得到待处理数据,包括:
获取预设数据筛选规则,并从所述目标数据中筛选出符合所述预设数据筛选规则的中间数据;
按照预设排序规则,对所述中间数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息依次进行排序操作,得到所述去程航班信息的排序结果和所述回程航班信息的排序结果;
分别从所述去程航班信息的排序结果和所述回程航班信息的排序结果中筛选出预设数量的航班信息,并将筛选出的航班信息确定为待处理数据。
进一步,按照预设排序规则,对所述中间数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息依次进行排序操作,得到所述去程航班信息的排序结果和所述回程航班信息的排序结果,包括:
将所述中间数据中的去程航班信息集合和回程航班信息集合依次确定为目标航班信息集合;
获取所述目标航班信息集合中的各个航班信息的航班类型;
按照所述航班信息的航班类型,对所述目标航班信息集合中的各个所述航班信息进行分类操作,得到不同航班类型对应的航班信息子集合;
依据预设航班信息排序规则,对所述航班信息子集合中的航班信息进行排序操作,得到排序结果。
进一步,依据预设航班信息排序规则,对所述航班信息子集合中的航班信息进行排序操作,得到排序结果,包括:
按照预设航班类型排序规则,对各个所述航班信息子集合进行排序操作;
对每一所述航班信息子集合中的航班信息按照航班属性进行排序,得到初始排序结果;
按照预设排序修正规则,对所述初始排序结果进行修正操作,得到排序结果。
进一步,按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合,包括:
获取至少一个预设航班组合规则,并按照所述预设航班组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合;所述全程航班组合集合中的全程航班组合包括至少一去程航班和至少一回程航班;
获取至少一个预设运价组合规则,并按照所述预设运价组合规则,将所述全程航班组合集合中的全程航班组合中的去程航班信息对应的去程运价以及回程航班信息对应的回程运价进行组合,得到全程航班组合对应的运价组合结果;
将所述全程航班组合以及所述全程航班组合对应的运价组合结果组合得到全程航班运价组合结果;所述全程航班运价组合结果包括一去程航班信息、一回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
将所有的所述全程航班运价组合结果组合得到全程航班运价组合结果集合。
本实施例中,对于用户请求,处理器获取该用户请求对应的待聚合数据中的符合OWD模式的目标数据,对所述目标数据进行数据清洗操作,得到待处理数据,按照预设组合规则,对去程和回程的航班及运价进行组合,得到全程航班运价组合结果集合,即通过本发明实现了OWD模式的数据向ITI模式的数据的转换,得到了ITI模式的结果数据,再将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,得到完整行程的所有ITI模式的数据并输出给用户,不再需要用户进行数据组合,简化了用户操作。
根据本公开的一个或多个实施例,本发明实施例提供了一种NDC场景下的用户请求结果的处理方法,应用于处理器,所述处理方法包括:
获取用户请求对应的待聚合数据中的符合OWD模式的目标数据;所述目标数据包括去程数据集合和回程数据集合;所述去程数据集合包括去程航班信息集合以及去程运价集合;所述回程数据集合包括回程航班信息集合以及回程运价集合;
对所述目标数据进行数据清洗操作,得到待处理数据;
按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合;所述全程航班运价组合结果集合中的全程航班运价组合结果包括一所述去程航班信息、一所述回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,并将聚合操作得到的结果输出。
进一步,对所述目标数据进行数据清洗操作,得到待处理数据,包括:
获取预设数据筛选规则,并从所述目标数据中筛选出符合所述预设数据筛选规则的中间数据;
按照预设排序规则,对所述中间数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息依次进行排序操作,得到所述去程航班信息的排序结果和所述回程航班信息的排序结果;
分别从所述去程航班信息的排序结果和所述回程航班信息的排序结果中筛选出预设数量的航班信息,并将筛选出的航班信息确定为待处理数据。
进一步,按照预设排序规则,对所述中间数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息依次进行排序操作,得到所述去程航班信息的排序结果和所述回程航班信息的排序结果,包括:
将所述中间数据中的去程航班信息集合和回程航班信息集合依次确定为目标航班信息集合;
获取所述目标航班信息集合中的各个航班信息的航班类型;
按照所述航班信息的航班类型,对所述目标航班信息集合中的各个所述航班信息进行分类操作,得到不同航班类型对应的航班信息子集合;
依据预设航班信息排序规则,对所述航班信息子集合中的航班信息进行排序操作,得到排序结果。
进一步,依据预设航班信息排序规则,对所述航班信息子集合中的航班信息进行排序操作,得到排序结果,包括:
按照预设航班类型排序规则,对各个所述航班信息子集合进行排序操作;
对每一所述航班信息子集合中的航班信息按照航班属性进行排序,得到初始排序结果;
按照预设排序修正规则,对所述初始排序结果进行修正操作,得到排序结果。
进一步,按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合,包括:
获取至少一个预设航班组合规则,并按照所述预设航班组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合;所述全程航班组合集合中的全程航班组合包括至少一去程航班和至少一回程航班;
获取至少一个预设运价组合规则,并按照所述预设运价组合规则,将所述全程航班组合集合中的全程航班组合中的去程航班信息对应的去程运价以及回程航班信息对应的回程运价进行组合,得到全程航班组合对应的运价组合结果;
将所述全程航班组合以及所述全程航班组合对应的运价组合结果组合得到全程航班运价组合结果;所述全程航班运价组合结果包括一去程航班信息、一回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
将所有的所述全程航班运价组合结果组合得到全程航班运价组合结果集合。
根据本公开的一个或多个实施例,本发明实施例提供了一种NDC场景下的用户请求结果的处理装置,应用于处理器,所述处理装置包括:
数据获取模块,用于获取用户请求对应的待聚合数据中的符合OWD模式的目标数据;所述目标数据包括去程数据集合和回程数据集合;所述去程数据集合包括去程航班信息集合以及去程运价集合;所述回程数据集合包括回程航班信息集合以及回程运价集合;
数据清洗模块,用于对所述目标数据进行数据清洗操作,得到待处理数据;
数据组合模块,用于按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合;所述全程航班运价组合结果集合中的全程航班运价组合结果包括一所述去程航班信息、一所述回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
数据聚合模块,用于将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,并将聚合操作得到的结果输出。
进一步,所述数据清洗模块包括:
第一数据筛选子模块,用于获取预设数据筛选规则,并从所述目标数据中筛选出符合所述预设数据筛选规则的中间数据;
数据排序子模块,用于按照预设排序规则,对所述中间数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息依次进行排序操作,得到所述去程航班信息的排序结果和所述回程航班信息的排序结果;
第二数据筛选子模块,用于分别从所述去程航班信息的排序结果和所述回程航班信息的排序结果中筛选出预设数量的航班信息,并将筛选出的航班信息确定为待处理数据。
进一步,所述数据排序子模块包括:
集合确定单元,用于将所述中间数据中的去程航班信息集合和回程航班信息集合依次确定为目标航班信息集合;
类型获取单元,用于获取所述目标航班信息集合中的各个航班信息的航班类型;
分类单元,用于按照所述航班信息的航班类型,对所述目标航班信息集合中的各个所述航班信息进行分类操作,得到不同航班类型对应的航班信息子集合;
排序单元,用于依据预设航班信息排序规则,对所述航班信息子集合中的航班信息进行排序操作,得到排序结果。
进一步,所述排序单元具体用于:
按照预设航班类型排序规则,对各个所述航班信息子集合进行排序操作,对每一所述航班信息子集合中的航班信息按照航班属性进行排序,得到初始排序结果,按照预设排序修正规则,对所述初始排序结果进行修正操作,得到排序结果。
根据本公开的一个或多个实施例,本发明实施例提供了一种电子设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
获取用户请求对应的待聚合数据中的符合OWD模式的目标数据;所述目标数据包括去程数据集合和回程数据集合;所述去程数据集合包括去程航班信息集合以及去程运价集合;所述回程数据集合包括回程航班信息集合以及回程运价集合;
对所述目标数据进行数据清洗操作,得到待处理数据;
按照预设组合规则,对所述待处理数据中的去程航班信息集合中的去程航班信息和回程航班信息集合中的回程航班信息进行组合,得到全程航班组合集合,将所述全程航班组合集合中的去程航班信息对应的去程运价和回程航班信息对应的回程运价进行组合,得到全程航班运价组合结果集合;所述全程航班运价组合结果集合中的全程航班运价组合结果包括一所述去程航班信息、一所述回程航班信息、所述去程航班信息和所述回程航班信息对应的运价组合结果;
将所述待聚合数据中的符合ITI模式的数据以及所述全程航班运价组合结果集合进行聚合操作,并将聚合操作得到的结果输出。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
- 一种NDC场景下的用户请求结果的处理方法及相关装置
- 高并发场景下的数据请求处理方法和装置