航班搜索方法、系统、设备及存储介质
文献发布时间:2023-06-19 16:04:54
技术领域
本发明涉及数据处理技术领域,尤其涉及一种航班搜索方法、系统、设备及存储介质。
背景技术
以航班排序为代表的交通类搜索排序技术一直是旅游服务行业的难点与重点。对于绝大部分用户,他们的航班购买行为频次低,决策周期长且关键决策因素相对一致,多集中于航班起落时间、价格、航司选择等,进而导致下单用户样本稀疏且缺乏多样性。而服务方无法预知用户真实航班诉求与当前出行目的,再加上航班具备动态变化的价格、票量等特殊属性,所以业内多基于行业经验和业务规则提供相关服务,但这难以满足用户的个性化需求。
近年来,航班排序技术能够带来的收益潜力和服务价值引发了业内的关注。2018年,Amadeus等人基于深度学习并以增加排序结果多样性为目的提出了一种航班搜索方法。而在工业界中,阿里飞猪和天巡(Skyscanner)等平台也为用户提供了航班列表页排序服务。
但是目前旅游市场提供的航班排序服务技术更多的是关注用户在预订前短期的搜索与浏览记录,而缺乏结合航线热度、航司受众、机场吞吐量等客观条件。而且对于低频次的航班消费场景,解决用户冷启动问题更为重要。由于目前的航班搜索方法往往不能很好地预测用户所需要的航班,用户可能需要花费更多的时间来进行航班搜索,从而需要耗费很多的时间和精力。并且,大量用户多次搜索,也会对航班查询服务器带来很大的负担,甚至可能会影响搜索响应速度,降低搜索效率。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种航班搜索方法、系统、设备及存储介质,根据不同用户区分采用不同的航班排序方法,为用户推荐更合理且有参考价值的航班信息,减少用户搜索航班的次数,减轻对航班查询服务器的负担,提高航班搜索效率。
本发明实施例提供一种航班搜索方法,包括如下步骤:
接收到用户的航班搜索请求;
获取所述航班搜索请求所对应的候选航班;
获取用户的历史航班数据,并根据所述历史航班数据判断用户的类型;
如果用户属于第一用户,根据第一用户的历史航班数据和所述候选航班的特征,采用第一排序算法,对所述候选航班进行排序;
如果用户属于第二用户,根据所述候选航班的特征,采用第二排序算法,对所述候选航班进行排序;
将排序后的候选航班推送至用户。
在一些实施例中,根据所述历史航班数据判断用户的类型,包括如下步骤:
根据用户的历史航班数据,判断用户是否符合预设的高频用户条件;
如果是,则用户属于第一用户;
否则,用户属于第二用户。
在一些实施例中,根据用户的历史航班数据,判断用户是否符合预设的高频用户条件,包括如下步骤:
判断第一预设时间范围内是否存在用户的访问记录;
如果是,则判断用户在第二预设时间范围内的成交订单量是否大于等于预设订单阈值,第一预设时间范围大于第二预设时间范围;
如果第一预设时间范围内存在用户的访问记录,且用户在第二预设时间范围内的成交订单量大于等于预设订单阈值,则用户符合高频用户条件;
如果第一预设时间范围内不存在用户的访问记录和/或用户在第二预设时间范围内的成交订单量小于预设订单阈值,则用户不符合高频用户条件。
在一些实施例中,所述采用第一排序算法,对所述候选航班进行排序,包括如下步骤:
根据第一用户的历史航班数据提取航班偏好特征;
将所述航班偏好特征和所述候选航班的特征输入航班预测模型,根据所述航班预测模型的预测结果对所述候选航班进行排序。
在一些实施例中,所述航班偏好特征包括用户行为特征和/或用户画像特征,所述用户行为特征包括用户第三预设时间范围内的航班搜索数据、航班点击次数和搜索日当天实时航班点击数据中的至少一种,所述用户画像特征包括偏好航司、偏好起飞时段和消费能力数据中的至少一种。
在一些实施例中,所述候选航班的特征包括航班卡片信息、列表页上下文信息、航班热门信息及航线热门信息中的至少一种。
在一些实施例中,根据所述航班预测模型的预测结果对所述候选航班进行排序,包括如下步骤:
获取所述航班预测模型对应于每个候选航班的成交概率预测值;
根据所述成交概率预测值从高到低对所述候选航班进行排序。
在一些实施例中,所述采用第二排序算法,对所述候选航班进行排序,包括如下步骤:
根据所述候选航班的特征提取积分属性的属性值;
根据各个所述积分属性的权重值,将所述积分属性的属性值加权求和,得到各个所述候选航班的积分值;
根据所述积分值从高到低对所述候选航班进行排序。
在一些实施例中,所述积分属性包括航班价格、起飞时段、是否廉航、用户点击次数和热销评估值中的至少一种。
本发明实施例还提供一种航班搜索系统,用于实现所述的航班搜索方法,所述系统包括:
航班查询模块,用于接收到用户的航班搜索请求,获取所述航班搜索请求所对应的候选航班;
类型判断模块,用于获取用户的历史航班数据,并根据所述历史航班数据判断用户的类型;
第一排序模块,用于如果用户属于第一用户,根据第一用户的历史航班数据和所述候选航班的特征,采用第一排序算法,对所述候选航班进行排序;
第二排序模块,用于如果用户属于第二用户,根据所述候选航班的特征,采用第二排序算法,对所述候选航班进行排序;
航班推送模块,用于将排序后的候选航班推送至用户。
本发明实施例还提供一种航班搜索设备,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的航班搜索方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现所述的航班搜索方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本发明的航班搜索方法、系统、设备及存储介质具有如下有益效果:
本发明的航班搜索方法中,首先获取用户请求的候选航班,在将候选航班推送至用户之前,首先对候选航班进行排序,使得候选航班在推送时可以按照合理的、符合用户需求的顺序排序,并且在进行候选航班排序时,根据不同用户区分采用不同的航班排序方法,为用户推荐更合理且有参考价值的航班信息,减少了用户搜索航班的次数,减轻了对航班查询服务器的负担,提高了航班搜索效率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的航班搜索方法的流程图;
图2是本发明一实施例的采用第一排序算法,对所述候选航班进行排序的流程图;
图3是本发明一实施例的采用第二排序算法,对所述候选航班进行排序的流程图;
图4是本发明一实施例的航班搜索系统的结构示意图;
图5是本发明一实施例的航班搜索设备的结构示意图;
图6是本发明一实施例的计算机可读存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此,实际执行的顺序有可能根据实际情况改变。
如图1所示,本发明实施例提供一种航班搜索方法,包括如下步骤:
S100:接收到用户的航班搜索请求;
例如,用户可以在用户终端上,通过APP或网页等方式进入航班查询平台,输入出发城市、到达城市、出发时间等信息,发送航班搜索请求;
S200:获取所述航班搜索请求所对应的候选航班;
S300:获取用户的历史航班数据,并根据所述历史航班数据判断用户的类型;
S400:如果用户属于第一用户,根据第一用户的历史航班数据和所述候选航班的特征,采用第一排序算法,对所述候选航班进行排序;
S500:如果用户属于第二用户,根据所述候选航班的特征,采用第二排序算法,对所述候选航班进行排序;
S600:将排序后的候选航班推送至用户,例如推送至用户终端上的APP页面或网页中,用户终端指的是用户使用的手机、平板电脑、笔记本电脑、台式机等终端设备。
本发明的航班搜索方法中,首先通过步骤S100和S200获取用户请求的候选航班,在通过步骤S500将候选航班推送至用户之前,首先通过步骤S300~S500对候选航班进行排序,使得候选航班在推送时可以按照合理的、符合用户需求的顺序排序,并且在通过步骤S300~S500进行候选航班排序时,根据不同用户区分采用不同的航班排序方法,为用户推荐更合理且有参考价值的航班信息,减少了用户搜索航班的次数,减轻了对航班查询服务器的负担,提高了航班搜索效率。本发明的航班搜索方法可以部署于航班查询平台的服务器中,也可以单独部署于一个服务器中,且可以与航班查询平台的服务器进行通信而交换数据。
在该实施例中,所述步骤S300中,根据所述历史航班数据判断用户的类型,包括如下步骤:
根据用户的历史航班数据,判断用户是否符合预设的高频用户条件,所述历史航班数据例如包括历史访问数据和机票订单量;
如果是,则用户属于第一用户,第一用户即对应于高频用户;
否则,用户属于第二用户,第二用户即对应于低频用户。
因此,在该实施例中,将用户按照历史航班数据划分为高频和低频两个用户群体,其中高频用户有着更为完整的画像信息,在进行候选航班排序时,可以一并参考高频用户的历史航班数据,从而根据用户下单习惯将高频用户部分拆解为多个子群体,并分别设计对应的召回通道,以缓解模型预测时的负载。而第二用户由于历史航班数据的参加价值不高,因此主要基于候选航班本身的特征来进行排序。
具体地,所述高频用户条件例如可以是第一预设时间范围内存在用户的访问记录,且用户在第二预设时间范围内的成交订单量大于等于预设订单阈值。所述根据用户的历史航班数据,判断用户是否符合预设的高频用户条件,包括如下步骤:
判断第一预设时间范围内是否存在用户的访问记录;
如果是,则判断用户在第二预设时间范围内的成交订单量是否大于等于预设订单阈值,第一预设时间范围大于第二预设时间范围,例如可以将第一预设时间范围设定为2年,将第二预设时间范围设定为1年,预设订单阈值为2,但本发明不以此为限,在其他实施方式中,该第一预设时间范围例如可以为3个月、6个月、1年、3年等,该第二预设时间范围可以为1个月、3个月、6个月、2年等,预设订单阈值可以为1、3、4、5或更大的数值,具体可以根据需要进行选择;
如果第一预设时间范围内存在用户的访问记录,且用户在第二预设时间范围内的成交订单量大于等于预设订单阈值,则用户符合高频用户条件,即用户属于第一用户;
如果第一预设时间范围内不存在用户的访问记录和/或用户在第二预设时间范围内的成交订单量小于预设订单阈值,则用户不符合高频用户条件,即用户属于低频用户,即第二用户。
进一步地,在该实施例中,在步骤S300之前,还可以包括如下步骤:
判断当前请求的候选航班是否已缓存;
如果是,则继续步骤S300;
如果否,则不参与航班排序流程,即直接将候选航班列表推送至用户。
如图2所示,在该实施例中,所述步骤S400:采用第一排序算法,对所述候选航班进行排序,包括如下步骤:
S410:根据第一用户的历史航班数据提取航班偏好特征;
S420:将所述航班偏好特征和所述候选航班的特征输入航班预测模型;
S430:根据所述航班预测模型的预测结果对所述候选航班进行排序。
在该实施例中,所述航班偏好特征例如包括用户行为特征和/或用户画像特征,所述用户行为特征包括用户第三预设时间范围内的航班搜索数据、航班点击次数和搜索日当天实时航班点击数据中的至少一种;所述用户画像特征包括偏好航司、偏好起飞时段和消费能力数据中的至少一种,消费能力数据例如包括国内酒店单间夜价格和平均机票票价等。
在该实施例中,所述候选航班的特征包括航班卡片信息、列表页上下文信息、航班热门信息及航线热门信息中的至少一种。航班卡片信息例如包括起降时刻、机型、票价及其折扣、是否红眼航班、是否共享或者廉价航空等固有属性。列表页上下文信息中包括航班价格、飞行时间排名、各时段航班数、廉航、中转航班占比等。航班热门信息和航线热门信息包括过去一段时间(如7天)内相关的搜索、点击和下单量,历史航线商旅客占比等。
在该实施例中,所述步骤S430:根据所述航班预测模型的预测结果对所述候选航班进行排序,包括如下步骤:
获取所述航班预测模型对应于每个候选航班的成交概率预测值;
根据所述成交概率预测值从高到低对所述候选航班进行排序。在进行排序后,推送给用户时,可以将成交概率预测值Top-3的航班置顶展示,排在最前面的候选航班即为成交概率预测值最高的候选航班,也是最符合用户需求的、最合理的候选航班。
在该实施例中,所述航班预测模型可以采用XGBoost来实现,核心算法为梯度提升决策树(Gradient Boosting Decision Tree)。模型训练使用的训练数据和测试数据均取自产生订单的用户请求,将下单航班作为正样本,其他航班作为负样本。
在将训练数据中的样本输入模型之前,根据样本各个特征的分析结论与重要性对特征数据进行清洗、修正和缺失值填补等操作。所述航班预测模型以用户最终是否下单为根本点将其建模为一个二分类问题。通过Xgboost可以得到一次请求下列表页召回航班的下单概率预测,依据从高到低的概率即可以获得有序的航班集并为用户提供Top-3推荐服务。
进一步地,在将成交概率预测值Top-3的航班置顶展示,还可以包括行业规则干预的步骤,即根据预先设定的行业规则判断排序是否合规,如果合规,则推送给用户终端。
如图3所示,在该实施例中,所述步骤S500中,采用第二排序算法,对所述候选航班进行排序,包括如下步骤:
S510:根据所述候选航班的特征提取积分属性的属性值;
S520:根据各个所述积分属性的权重值,将所述积分属性的属性值加权求和,得到各个所述候选航班的积分值;
S530:根据所述积分值从高到低对所述候选航班进行排序。在进行排序后,推送给用户时,可以将积分值Top-3的航班置顶展示,排在最前面的候选航班即为积分值最高的候选航班,也是最合理的推荐航班。
在该实施例中,所述积分属性包括航班价格、起飞时段、是否廉航、用户点击次数和热销评估值中的至少一种。因此,对于低频用户,提出了一套积分累积制度,即基于航班积分奖惩的推荐机制。
因此,该实施例通过数据挖掘技术为整个召回层合低频用户航班推荐分别设计了逻辑规则。召回层方面,根据用户价格敏感度、个人偏好以及李世行办订单特征分别开辟不同的召回通道从整个请求列表页中选择合适的候选航班排序方式。低频用户推荐方面,提出了一套综合考虑航班价格、起飞时段、是否廉航、用户点击以及热销程度的积分累积制度。
在具体部署本发明的航班搜索方法时,所述航班预测模型和业务规则都涉及多维度的历史和实时数据。该试试中,在Zeus大数据开发平台上为长短期历史数据都开发了T+1的自动化更新流程,并将一定时间范围内的用户数据以及航班属性都置于相关的Redis集群中,以便用户请求发生时的模型调用。该实施例基于MLFLOW框架实现整个在线航班搜索、排序与推荐方法,而且该框架能够很好地实现特征数据处理、模型预测、规则推荐和日志记录等环节的解耦,提高开发与后期维护的效率。
因此,在模型的部署中,本发明通过汇总所需的用户画像、长短期行为和实时点击数据以及机场、航线、航班相关的细粒度特征,并部署特征预处理的自动化流程,再同近期航班信息一并导入缓存中,以供线上模型快速调取。提前训练好效果达标的航班预测模型,按照召回层、预测模型、高频用户推荐干预规则、低频用户航班奖惩规则的顺序部署到生产环境中。用户每次发起航线搜索的请求会通过对应接口发起推荐服务,而生产部门获取Top-3推荐航班名单有序地展示给用户。
通过实验验证,采用该实施例的航班搜索方法,相比于之前的航班搜索方法,机票列表页至中间页UV转化显著提升0.83%,列表页Top-3航班下单占比显著提升了7.21%,说明通过该实施例的优先展示的Top-3航班中确有用户感兴趣和潜在需求的,也提高了用户搜索和下单的效率。
如图4所示,本发明实施例还提供一种航班搜索系统,用于实现所述的航班搜索方法,所述系统包括:
航班查询模块M100,用于接收到用户的航班搜索请求,获取所述航班搜索请求所对应的候选航班;
类型判断模块M200,用于获取用户的历史航班数据,并根据所述历史航班数据判断用户的类型;
第一排序模块M300,用于如果用户属于第一用户,根据第一用户的历史航班数据和所述候选航班的特征,采用第一排序算法,对所述候选航班进行排序;
第二排序模块M400,用于如果用户属于第二用户,根据所述候选航班的特征,采用第二排序算法,对所述候选航班进行排序;
航班推送模块M500,用于将排序后的航班推送给用户。
本发明的航班搜索方法中,首先通过航班查询模块M100获取用户请求的候选航班,在通过航班推送模块M500将候选航班推送至用户之前,首先通过类型判断模块M200、第一排序模块M300和第二排序模块M400对候选航班进行排序,使得候选航班在推送时可以按照合理的、符合用户需求的顺序排序,并且在进行候选航班排序时,根据不同用户区分采用不同的航班排序方法,为用户推荐更合理且有参考价值的航班信息,减少了用户搜索航班的次数,减轻了对航班查询服务器的负担,提高了航班搜索效率。
本发明的航班搜索系统可以部署于航班查询平台的服务器中,也可以单独部署于一个服务器中,且可以与航班查询平台的服务器进行通信而交换数据。该航班搜索系统中各个模块的功能可以采用上述航班搜索方法中对应步骤的实施方式来实现。例如,航班查询模块M100可以采用步骤S100和S200的具体实施方式,类型判断模块M200可以采用步骤S300的具体实施方式,第一排序模块M300可以采用步骤S400的具体实施方式,第二排序模块M400可以采用步骤S500的具体实施方式,航班推送模块M500可以采用步骤S600的具体实施方式,此次不再赘述。
本发明实施例还提供一种航班搜索设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的航班搜索方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图5来描述根据本发明的这种实施方式的电子设备600。图5显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述航班搜索方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
所述航班搜索设备中,所述存储器中的程序被处理器执行时实现所述的航班搜索方法的步骤,因此,所述设备也可以获得上述航班搜索方法的技术效果。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现所述的航班搜索方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上执行时,所述程序代码用于使所述终端设备执行本说明书上述航班搜索方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上执行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
所述计算机存储介质中的程序被处理器执行时实现所述的航班搜索方法的步骤,因此,所述计算机存储介质也可以获得上述航班搜索方法的技术效果。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
- 航班搜索方法、系统、设备及存储介质
- 多点至多点的航班搜索方法、系统、设备及存储介质