CN105630984A - 一种运价搜索*** - Google Patents

一种运价搜索*** Download PDF

Info

Publication number
CN105630984A
CN105630984A CN201510995452.2A CN201510995452A CN105630984A CN 105630984 A CN105630984 A CN 105630984A CN 201510995452 A CN201510995452 A CN 201510995452A CN 105630984 A CN105630984 A CN 105630984A
Authority
CN
China
Prior art keywords
freight rate
freight
price
rate
module
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.)
Granted
Application number
CN201510995452.2A
Other languages
English (en)
Other versions
CN105630984B (zh
Inventor
董瑞华
刘硕
黄向平
张宏海
李亮
郑丽明
弋春晓
肖傲三
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Travelsky Technology Co Ltd
China Travelsky Holding Co
Original Assignee
China Travelsky Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Travelsky Technology Co Ltd filed Critical China Travelsky Technology Co Ltd
Priority to CN201510995452.2A priority Critical patent/CN105630984B/zh
Publication of CN105630984A publication Critical patent/CN105630984A/zh
Application granted granted Critical
Publication of CN105630984B publication Critical patent/CN105630984B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种运价搜索***,包括旅行经验信息模块,运价索引模块,运价路径选择模块,运价拆分模块和运价组合校验模块,所述旅行经验信息模块用来生成旅行经验信息数据库;所述运价索引模块用来建立运价索引以便快速查找运价;所述运价路径选择模块用来生成潜在的低价路径,根据旅客输入的旅行信息提取相应精确度的运价组最低价格;所述运价拆分模块用来生成价格单元和运价行程;所述运价组合校验模块,用来产生最终的最优运价组合。本发明解决价格为导向的航班搜索问题,采用启发式搜索方式,利用旅行经验数据对潜在行程的价格和舒适度进行估计,剔除不合理结果,筛选出满足旅客需求的最终结果。

Description

一种运价搜索***
技术领域
本发明涉及运价搜索领域,具体涉及一种运价搜索***。
背景技术
随着互联网的兴起,航空公司网上售票平台以及各种第三方的航班销售平台不断涌现,旅客可以通过互联网自助的完成航班的预订和支付。这就要求为旅客提供自动化的航班查询搜索***。旅客输入一个行程请求,该***会自动为旅客计算生成可用的行程,并且完成航班可利用舱位的查询及航班舱位价格的计算,这就对航班搜索***的处理性能提出了更高要求。另一方面随着各种第三方互联网购票平台和比价平台的出现,旅客更加关注行程的价格因素,以低价为目的的航班搜索在查询中所占比例越来越大,低价命中率因此也成为衡量航班搜索***优劣的重要指标。
航班搜索需要寻找满足旅客行程要求的一组航班并计算出乘坐这组航班所需的价格。为此要解决三种组合问题,即航班组合问题、运价组合问题和航班与运价组合问题。由于运价数据本身的特点,要解决后两个问题(运价组合问题和航班与运价组合问题)需要完整的航班组合信息,因此传统航班搜索***的处理方式一般是先搜索满足旅客行程要求的航班,再根据已知的航班解决航班与运价组合问题,最后解决运价组合问题。
航班搜索问题的难点之一是搜索空间大,对于一个从O出发到D的查询请求,我们既要在数以百万计的航班计划数据中找出满足行程要求的航班组合,又要在数以亿计的运价数据中找出相应的运价组合。而航班组合与运价组合之间又可以是多对多的关系,即一个航班组合可与一组运价组合对应,反之亦然。其结果是OD之间满足查询请求的潜在结果数以亿计,盲目搜索很难在用户可接受的响应时间内给出理想结果。因此如何基于运价有目的搜索航班,满足旅客价低质优查询需求,成为了航班搜索***所面对的重要挑战。
现有的技术方案首先根据旅客输入的查询请求,包括出发地和目的地,出发时间,舱位类型等条件搜索满足行程要求的一组航班,可能是直达也可能是联程。例如,O-flt1-A-flt2-D,其中A是中转点。这一步解决的是航班组合问题
然后根据已知航班拆分为FC,并将FC组合为PU和JR。如上例,可以选择只有一个FC(OD),也可以选择拆分为两个FC(OA),FC(AD)的组合。也就是说不是每个航班的联程点都必须作为运价的拆分点,可以允许“跳点”。同理,O-A-B-D可以拆分为FC(OA)+FC(AB)+FC(BD)或FC(OA)+FC(AD)或FC(OB)+FC(DB)或FC(OD)。由此可见一组航班可以对应多种拆分方式。
在确立了FC后,我们需要将FC组合为PU,再由PU组合为JR。见下面这个例子:
对于O–A–D–B–O的行程,假设我们拆分为FC(OA),FC(AD),FC(DB),FC(BO)四种FC,则可组合的PU和JR有:
PU:
PU1=[FC(OA),FC(BO)];
PU2=[FC(AD),FC(DB)];
PU3=[FC(OA),FC(AD),FC(DB),FC(BO)];
JR:
JR1={PU1,PU2};
JR2={PU3};
由这个例子我们可以看出即使确定了FC,我们仍然可以组合出不同的PU和JR。因此我们在第一步解决航班组合问题中得到的一个航班组合,在航班与运价组合过程中可以与不同的FC、PU、JR组合对应起来。这意味每一个航班组合都可以对应着庞大的运价搜索空间。到此现有技术解决航班与运价组合问题的方法是枚举所有可能组合方式,因为此时还没有价格信息,不能错过任何一种可能的组合方式。
最后解决运价组合问题。上面所述FC、PU、JR都可以看作是运价数据的容器,我们枚举了所有可能的容器组合后,在这一步开始校验运价数据的规则以确定运价数据能否装入这些容器中。运价数据复杂的规则限制了一个运价数据能否装入某一FC中(FC级别的规则校验),以及能否和其它运价数据一起装入某一PU中(PU级别的规则校验)和某一JR中(JR级别的规则校验)。一旦我们找到了一组运价可以装入一种容器组合后,意味着我们为这组航班找到了一种可用的运价组合,并可以算出相应的价格。但是这只是这组航班的一种价格可能,如果我们目的是找到最低价,那么可能需要继续寻找可用的运价组合,直到我们确定不会有比已知最低价更低的价格为止。
上述这套技术方案由于是从满足行程的航班组合开始处理,因此被称为以行程为导向的航班搜索方法。
但是,以行程为导向的航班搜索方法缺点在于不能有目的的搜索低价结果,因为第一步处理航班组合时没有考虑运价信息,而航班组合一旦确定下来,运价组合的搜索空间就被限制在一个较小的范围内,经过复杂的规则校验后我们只能给出适用于这组航班的最低价格,而不是满足旅客行程要求的最低价格。其根本问题在于由于搜索空间过于庞大我们不可能遍历所有可能的航班组合,而要找到满足旅客行程的低价结果必须从运价组合入手,由运价决定航班而不是反过来。但是目前运价数据的设计决定了必须在确定航班组合后才能确定运价组合是否可用,也就是我们不能在解决航班组合问题之前解决运价组合问题。这就导致了解决低价航班搜索问题的矛盾,我们要搜索低价就要先解决运价组合,而解决运价组合又必须以解决航班组合为前提。为了解决这个问题,本发明提供了一种运价搜索***,以价格为导向构造可能的运价组合,在不知道航班信息的情况下先利用经验信息估计运价组合的价格和合理性,最大限度的筛选运价组合缩小搜索空间,挑出潜在好的运价组合。
发明内容
有鉴于此,本发明提供一种运价搜索的***,包括旅行经验信息模块,运价索引模块,运价路径选择模块,运价拆分模块和运价组合校验模块,其中,
所述旅行经验信息模块,用来生成旅行经验信息数据库;其中,所述经验信息数据库中的经验信息被按照其精确度进行有层次的索引和存储;
所述运价索引模块,用来建立运价索引以便快速查找运价;
所述运价路径选择模块,用来生成潜在的低价路径,根据旅客输入的旅行信息提取相应精确度的运价组最低价格;
所述运价拆分模块,用来生成IATA标准的价格单元(PU)和运价行程(JR);
所述运价组合校验模块,用来产生最终的最优运价组合。
所述旅行经验信息模块还用来更新旅行经验信息数据库,对于不同精确度的经验数据,当其产生的原始数据发生变化后,评估经验数据是否还有效,对于精确度不同的经验数据,采用不同的频率进行更新。
所述运价索引模块将具有相同或部分相同校验规则的运价聚合成元组,并将元组组织为一个具有层次关系的集合,形成运价数据的搜索树,其中,所述搜索树中的每个节点都对应一个运价组。
所述运价索引模块按层次逐级深入每一层节点对所述搜索树进行搜索。
所述运价索引模块根据每个节点的价格和依据旅行经验信息修正后的综合价格对节点进行排序和筛选。
所述运价路径选择模块以运价组对应的起始地和目的地为节点、最低价格为边权构造运价路径图,在运价路径图中用最短路径算法搜索满足旅客输入的起始地和目的地的前N条最低价格运价路径,并且利用旅行经验数据库中的旅行经验数据计算路径的综合价格,筛除不合理的运价路径。
所述运价拆分模块将运价路径拆分为不同航空公司、不同舱位类型和不同运价类型的运价行程。
所述运价组合校验模块在获取航空公司、舱位类型等信息后,利用旅行经验信息估计每一种运价行程的综合价格,按价格对其排序,并且剔除不合理的运价行程;选择当前综合价格最优的运价行程,如果该行程中包含未展开的运价组,则展开该运价组,重新组合为新的运价行程,并再次计算综合价格并排序筛选,直到当前的运价行程全部为元组组成;根据同一元组中运价对航班的约束要求生成满足要求的航班;在获得航班信息后,根据航班信息校验元组中的运价规则得到最优的运价组合。
如果所述最优的运价组合的价格高于已知的运价行程价格,则从已知价格最低的运价行程开始继续处理,展开所述已知价格最低的运价行程中的运价组,生成新的运价行程,评估价格,排序筛选,进行校验,直到不再有运价行程价格低于已知的运价组合;将得到的运价组合结果返回给用户。
所述校验由下到上分为三个层次,即运价元素(FC)层、价格单元(PU)层和运价行程(JR)层。
从ATPCO发布的运价数据和OAG发布的航班计划数据中计算得到旅行经验数据,包括从运价数据中提取出的价格信息和从航班数据中提取的舒适度信息。
本发明***将舒适度信息的值乘以适当的系数计入到行程的价格中,得到行程的综合估计价格,用来在不同行程间选择综合价格最低的结果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1给出了本发明提供的一种运价搜索***的结构示意图;
图2给出了图1的运价搜索***的模块关系图;
图3给出了运价搜索树的示意图
图4给出了图1的运价搜索***中的路径选择模块的工作流程示意图;
图5给出了图1的运价搜索***中的运价组合校验模块的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所使用的缩略语和关键术语的定义如下:
a)ATPCO:航空运价出版公司,是运价数据的来源;
b)OAG:航班数据公司,是航班数据的来源;
c)ATPCO运价数据:由ATPCO发布的统一标准的运价数据,是一套复杂的数据结构,其中包含价格和使用这一价格需要满足的一系列规则;
d)farecomponent(FC):运价元素,是运价的发布单位,如CA发布BJS-LAX的运价,BJS-LAX就是一个FC;
e)pricingunit(PU):价格单元,对FC组合的几何限制;
f)journey(JR):运价行程,对PU组合的限制,是出票单位,对应一张机票;
g)FCPUJR的关系是:
h)FC组成PU,PU组成JR。即运价元素组合成为价格单元,价格单元再组合成为运价行程。因此即使是相同的运价元素组合也可以组成不同的价格单元和运价行程。上述受到IATA的运价组合规则限制。
i)运价路径:由FC组成的路径;
j)舱位类型:头等、商务还是经济舱;
k)运价类型:OW(oneway)单程,RT(roundtrip)往返程;
l)综合价格:是由当前运价价格和与舒适度有关的信息折算为价格后得到的估计价格;
m)运价组合:指不同运价元素(FC)间的组合;
n)元组:具有相同或部分相同校验规则的运价聚合成元组。
o)运价组:元组的集合,由元组聚合而成
本发明目标解决价格为导向的航班搜索问题,采用启发式搜索方式,利用旅行经验数据对潜在行程的价格和舒适度进行估计,剔除不合理结果,筛选出满足旅客需求的最终结果。
如图1和图2所示,本发明的航班运价搜索***包括:旅行经验信息模块,运价索引模块,运价路径选择模块,运价拆分模块和运价组合校验模块。
旅行经验信息模块用来生成旅行经验信息数据库。我们从ATPCO发布的运价数据和OAG发布的航班计划数据中计算得到旅行经验数据,包括从运价数据中提取出的价格信息和从航班数据中提取的舒适度信息。旅行经验数据作为运价搜索过程中重要的启发式信息,用来估计运价组合的综合价格,并且可以帮助我们过滤不合理的运价组合。另一方面,经验数据会按照信息的精确度有层次的索引和存储。随着搜索的深入,当我们获得的信息越来越完备,我们可以利用更完备的信息索引出更精确的旅行经验信息。例如,在开始的路径选择中,我们可能只关心O-A-D和O-B-D这两条路径哪个更低价。但随着搜索的深入我们会关注O-A-D这条路径上,不同舱位等级、不同航空公司和不同运价类型对应的最低运价是多少。在旅行经验数据的更新方面,对于不同精确度的经验数据,当其产生的原始数据发生变化后,我们会评估经验数据是否还有效,对于精确度不同的经验数据,我们会选择不同的频率更新相应的经验数据库。
运价索引模块用来建立运价索引以便快速查找运价。面对数以亿计的运价数据,如何快速遍历和查找运价成为***性能的关键。恰当建立索引不仅可以用来快速提取运价数据还能够有效压缩运价的数据规模。我们并不为每一个运价数据建立索引,而是首先将具有相同或部分相同校验规则的运价聚合成元组,并在元组的基础上根据起点终点、航空公司、舱位类型、运价类型和旅行方向等信息将元组组织为一个具有层次关系的集合,形成运价数据的搜索树。如图3所示,运价搜索树中的每个节点都对应一个运价组,而它的子节点是具有更多信息的运价组。例如上海到北京的运价组节点下,包含着不同舱位类型的子节点,而每个舱位类型子节点下又包含了对应不同航空公司的子节点。我们归纳每一个节点内运价数据的最低价格,并将这些价格信息存储在旅行经验数据库中。通过这种方式组织运价数据,运价搜索就变为按层次逐级深入每一层节点进行搜索的过程,并且我们还可以根据每个节点的价格和依据旅行经验信息修正后的综合价格对运价路径进行有效的排序和筛选。
如图4所示,运价路径选择模块用来生成潜在的低价路径,我们根据旅客输入的旅行信息提取相应精确度的运价组最低价格。以运价组对应的O和D为节点、最低价格为边权构造运价路径图。在图中用最短路径算法搜索满足旅客输入OD的前N条最低价格运价路径,并且我们还利用旅行经验数据库中的旅行经验数据计算路径的综合价格,筛除不合理的运价路径。这是对搜索结果最粗粒度的筛选,对每个旅客查询请求我们会找出至少一条满足请求的运价路径。
运价拆分模块用来生成IATA标准的价格单元(PU)和运价行程(JR)。我们枚举所有可能的价格单元组合成为不同的运价行程,这样初始的一条运价路径在这里分化成为不同航空公司、不同舱位类型和不同运价类型的运价行程。
如图5所示,运价组合校验模块用来产生最终的最优运价组合。在明确了航空公司、舱位类型等信息后,我们可以利用更精确的旅行经验信息估计每一种运价行程的综合价格,按价格对其排序,并且剔除不合理的运价行程。我们选择当前综合价格最优的运价行程,如果该行程中包含未展开的运价组则我们会展开这个运价组,重新组合为新的运价行程,并重复上述过程计算综合价格,排序筛选。直到当前的运价行程全部为元组组成。下面我们根据同一元组中运价对航班的约束要求生成满足要求的航班。在获得航班信息后,下一步我们根据航班信息校验元组中的运价规则。根据ATPCO标准,校验由下到上分为三个层次,即FC层、PU层和JR层。直到我们得到通过全部校验且价格最优的运价组合。如果这个运价组合的价格高于已知的运价行程价格,则我们从已知价格最低的运价行程开始继续处理,展开这个运价行程中的运价组,生成新的运价行程,评估价格,排序筛选,校验规则等。直到我们不再有运价行程价格低于已知的运价组合。我们将得到的运价组合结果返回给用户。
目前运价数据大约有10亿条,因此如何索引和筛选运价数据是运价搜索面对的重要挑战之一。确定一个运价fare是否可用需要知道一系列信息fare(OD,Dep/Arrdate,cabin,OW/RT,PU,JR,FC,carrier,tariff,routing,rule,...)。例如fare(OD)可以索引到一组运价,而fare(OD,Dep/Arrdate)则是fare(OD)的一个子集,依此类推我们知道的信息越完备,我们索引到的运价数量越少,价格越确定,需要校验的规则也越少。这也就是为什么传统的航班搜索要首先生成航班组合,因为有了航班组合我们才能获得确定运价的完备信息,从而可以开始校验某个运价是否可用于这个航班组合。但是这种方式的缺点也十分明显,确定完备的信息后,运价的搜索范围也被限制在非常小的一个区域内,我们很容易错过潜在的低价结果。
从上面对运价数据的描述我们可以发现运价数据很适合用一个搜索树来描述。各个信息对应树的各级。我们知道的信息越多相当于可以定位到越深的分支上。而我们的搜索过程正是获得信息由少到多的过程,相当于一级级打开这棵搜索树的过程。因此在本发明中我们以搜索树的形式存储和建立运价的多级索引,并且计算各级分支中运价的最低价格和索引一起存储下来。那么在搜索过程中,随着已知信息的增加,我们逐级打开搜索树,并根据最低价格进行“剪枝”,筛选出价格较低的分支,沿着这些分支继续深入搜索。
另一方面,在运价数据的校验过程中,我们发现运价数据之间会共用一些规则(稍微研究下运价数据就会发现这点是显然的,为了复用规则数据,运价数据和规则数据是分开存储的,运价数据有10亿条之多,而规则数据只有几百万条)。这意味着我们可以把具有相同(或部分相同)规则的运价数据聚合成组,同组运价可以共用规则校验结果,即我们对其中一个运价做过规则校验后,校验结果可以复用在这组中的其它运价上。我们把这样的运价组作为运价搜索树最底层的叶节点。我们以这一层为分界线,把在其之上的信息称为筛选信息,把其之下的信息称为校验信息。原因很简单,在这之上我们利用信息分支来筛选运价,而其之下则是根据信息校验运价是否可用。因此在搜索中我们不处理单个运价之间的组合,而总是以组为单位处理运价组之间的组合。我们说的运价组合实质是运价组的组合。
到此我们完成了对运价数据的重新组织和索引,数据以搜索树的方式存储。具体实现上,我们首先按照校验信息将运价聚合成组,然后根据筛选信息,一层一层把小组聚合成大组,大组聚合成更大组,并存储下来每组的最低价格。而在搜索过程中,我们会一层一层打开这些运价组,进行组合和筛选。
此外,本发明***利用旅行经验数据的方式主要有两种:
我们把多级运价索引中包含的最低价格,作为一种经验信息用来搜索低价运价路径。当接收到旅客的查询请求后,我们会根据查询中已经包含的信息,逐级筛选出有潜在低价的运价组。例如,旅客输入一个单程从O到D,YY年MM月DD日出发的请求后,我们会利用运价索引取出满足OD和YYMMDD要求的单程运价组。如果旅客明确了舱位类型,则我们还可以取出相应舱位的运价组。而如果旅客没有明确舱位类型,则我们取出价格最低舱位相应的运价组。同理我们还可以取出指定航空公司的运价组或者拥有最低价格航空公司的运价组。在索引出所有直达运价的运价组后,我们开始搭建多个运价拼接而成的行程。为此我们以所有O’D’运价组的最低价格为边权,O’D’为节点,构建运价路径图。在这张图中用最短路径算法搜索满足OD要求的最短路径(实际是最低价格路径),并取出最短路径对应的运价组。
前述我们利用运价索引的最低价格来估计潜在行程的最终价格,但是如果我们仅以价格为考虑因素进行搜索可能给出不合理或者舒适度很差的结果。例如旅客查询北京到上海的航班我们可能给出经迪拜中转的联程结果,或者经成都再经武汉两次中转的结果。因此搜索中我们要把舒适度和价格综合起来考虑,把舒适度转换为价钱加入到价格中,以此来修正我们对质优价廉结果的估计。但是我们知道衡量舒适度需要具体的航班信息,而我们在进行运价组合搜索时并没有具体的航班信息。为了解决这个问题我们提出旅行经验信息的概念,通过对航班数据的分析,我们可以估计出一个潜在行程的舒适度。例如我们可以根据旅客输入的OD估计出OD之间的最小中转次数、最短飞行时间、最短距离和是否存在同航空公司联程航班等。我们利用这些经验信息一方面可以筛掉不合理的行程,例如北京到上海不应从迪拜中转是因为中转距离过大;另一方面我们可以将这些信息值乘以适当的系数计入到行程的价格中,得到行程的综合估计价格,用来在不同行程间选择综合价格最低的结果。
综上在运价搜索过程中旅行经验信息是我们用来估计结果优劣的重要启发式信息。我们通过估计运价的最低价格搜索潜在的低价运价路径,又利用对舒适度的估计筛选不合理的运价路径,并通过综合价格修正我们的估计。
需要指出的是,估计综合价格的系数是可以根据旅客的需求进行调整的,例如对于价格敏感的旅客我们可以降低系数,而对于舒适度敏感的旅客我们可以提高系数来筛选更符合旅客需求的结果。
还需要指出的是,在运价搜索过程中,在每次打开新的运价组后,我们都可以根据更完备的旅行信息重新修正我们的估计,以此提高估计的准确度。例如当我们不知道具体的航空公司时,我们只能估计所有航空公司的最小中转次数,但是当我们明确了具体选择哪个航空公司的运价后,我们可以修正为这个航空公司的最小中转次数。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种运价搜索***,其特征在于,所述***包括旅行经验信息模块,运价索引模块,运价路径选择模块,运价拆分模块和运价组合校验模块,其中,
所述旅行经验信息模块,用来生成旅行经验信息数据库;其中,所述经验信息数据库中的经验信息被按照其精确度进行有层次的索引和存储;
所述运价索引模块,用来建立运价索引以便快速查找运价;
所述运价路径选择模块,用来生成潜在的低价路径,根据旅客输入的旅行信息提取相应精确度的运价组最低价格;
所述运价拆分模块,用来生成价格单元和运价行程;
所述运价组合校验模块,用来产生最终的最优运价组合。
2.根据权利要求1所述的一种运价搜索***,其特征在于,所述旅行经验信息模块还用来更新旅行经验信息数据库,对于不同精确度的经验数据,当其产生的原始数据发生变化后,评估经验数据是否还有效,对于精确度不同的经验数据,采用不同的频率进行更新。
3.根据权利要求2所述的一种运价搜索***,其特征在于,所述运价索引模块将具有相同或部分相同校验规则的运价聚合成元组,并将元组组织为一个具有层次关系的集合,形成运价数据的搜索树,其中,所述搜索树中的每个节点都对应一个运价组。
4.根据权利要求3所述的一种运价搜索***,其特征在于,所述运价索引模块按层次逐级深入每一层节点对所述搜索树进行搜索。
5.根据权利要求4所述的一种运价搜索***,其特征在于,所述运价索引模块根据每个节点的价格和依据旅行经验信息修正后的综合价格对节点进行排序和筛选。
6.根据权利要求5所述的一种运价搜索***,其特征在于,所述运价路径选择模块以运价组对应的起始地和目的地为节点、最低价格为边权构造运价路径图,在运价路径图中用最短路径算法搜索满足旅客输入的起始地和目的地的前N条最低价格运价路径,并且利用旅行经验数据库中的旅行经验数据计算路径的综合价格,筛除不合理的运价路径。
7.根据权利要求6所述的一种运价搜索***,其特征在于,所述运价拆分模块将运价路径拆分为不同航空公司、不同舱位类型和不同运价类型的运价行程。
8.根据权利要求7所述的一种运价搜索***,其特征在于,所述运价组合校验模块在获取航空公司、舱位类型等信息后,利用旅行经验信息估计每一种运价行程的综合价格,按价格对其排序,并且剔除不合理的运价行程;选择当前综合价格最优的运价行程,如果该行程中包含未展开的运价组,则展开该运价组,重新组合为新的运价行程,并再次计算综合价格并排序筛选,直到当前的运价行程全部为元组组成;根据同一元组中运价对航班的约束要求生成满足要求的航班;在获得航班信息后,根据航班信息校验元组中的运价规则得到最优的运价组合。
9.根据权利要求8所述的一种运价搜索***,其特征在于,如果所述最优的运价组合的价格高于已知的运价行程价格,则从已知价格最低的运价行程开始继续处理,展开所述已知价格最低的运价行程中的运价组,生成新的运价行程,评估价格,排序筛选,进行校验,直到不再有运价行程价格低于已知的运价组合;将得到的运价组合结果返回给用户。
10.根据权利要求9所述的一种运价搜索***,其特征在于,所述校验由下到上分为三个层次,即运价元素(FC)层、价格单元(PU)层和运价行程(JR)层。
11.根据权利要求10所述的一种运价搜索***,其特征在于,从ATPCO发布的运价数据和OAG发布的航班计划数据中计算得到旅行经验数据,包括从运价数据中提取出的价格信息和从航班数据中提取的舒适度信息。
12.根据权利要求11所述的一种运价搜索***,其特征在于,将舒适度信息的值乘以适当的系数计入到行程的价格中,得到行程的综合估计价格,用来在不同行程间选择综合价格最低的结果。
CN201510995452.2A 2015-12-25 2015-12-25 一种运价搜索*** Active CN105630984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510995452.2A CN105630984B (zh) 2015-12-25 2015-12-25 一种运价搜索***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510995452.2A CN105630984B (zh) 2015-12-25 2015-12-25 一种运价搜索***

Publications (2)

Publication Number Publication Date
CN105630984A true CN105630984A (zh) 2016-06-01
CN105630984B CN105630984B (zh) 2020-08-21

Family

ID=56045917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510995452.2A Active CN105630984B (zh) 2015-12-25 2015-12-25 一种运价搜索***

Country Status (1)

Country Link
CN (1) CN105630984B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105741070A (zh) * 2016-04-18 2016-07-06 深圳马可孛罗科技有限公司 一种海量实时舱位运价结果数据快速差异更新存储的方法
CN106777312A (zh) * 2016-12-30 2017-05-31 中国民航信息网络股份有限公司 一种低成本航班搜索***和方法
CN109614406A (zh) * 2018-11-01 2019-04-12 北京三快在线科技有限公司 班次搜索方法、装置、电子设备及可读存储介质
CN110309440A (zh) * 2019-07-10 2019-10-08 中国民航信息网络股份有限公司 机票价格搜索方法及相关设备
CN110309184A (zh) * 2019-07-10 2019-10-08 中国民航信息网络股份有限公司 一种航空运价数据的缓存方法及***
CN110717794A (zh) * 2019-10-21 2020-01-21 中国民航信息网络股份有限公司 一种运价计算处理方法及装置
CN110738528A (zh) * 2019-10-21 2020-01-31 中国民航信息网络股份有限公司 一种规则运价的预处理方法及***
CN110737665A (zh) * 2019-10-21 2020-01-31 中国民航信息网络股份有限公司 一种数据处理方法及装置
CN110975291A (zh) * 2019-11-20 2020-04-10 中国人民解放军国防科技大学 一种路径提取方法及***
CN111383043A (zh) * 2018-12-29 2020-07-07 携程旅游网络技术(上海)有限公司 运价计算方法及***
CN111460309A (zh) * 2020-04-07 2020-07-28 中国民航信息网络股份有限公司 一种信息搜索方法、装置和电子设备
CN111581457A (zh) * 2020-05-13 2020-08-25 中国民航信息网络股份有限公司 一种数据处理方法及装置
CN112579832A (zh) * 2020-12-07 2021-03-30 中国民航信息网络股份有限公司 一种航程运输数据的分组校验方法及装置
CN113486164A (zh) * 2021-06-30 2021-10-08 中国民航信息网络股份有限公司 一种混合航班查询方法、***、电子设备及存储介质
CN113609142A (zh) * 2021-07-06 2021-11-05 深圳市飞耶软件有限公司 基于ota平台数据投放的运价自动更新方法和存储介质
CN114331530A (zh) * 2021-12-27 2022-04-12 中国民航信息网络股份有限公司 一种运价组合的生成方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1957368A (zh) * 2004-05-26 2007-05-02 阿玛得斯两合公司 预定旅行产品的方法和设备
CN101027683A (zh) * 2004-05-21 2007-08-29 赛博有限公司 用于搜索并显示针对给定的启程-回程日期组合或启程-回程日期范围的组合的低费用产品可用性信息的***、方法和计算机程序产品
WO2009037081A1 (en) * 2007-09-17 2009-03-26 Amadeus S.A.A. Automated split ticketing
CN102460488A (zh) * 2009-05-18 2012-05-16 阿玛得斯两合公司 用于确定旅程最佳低票价的方法和***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101027683A (zh) * 2004-05-21 2007-08-29 赛博有限公司 用于搜索并显示针对给定的启程-回程日期组合或启程-回程日期范围的组合的低费用产品可用性信息的***、方法和计算机程序产品
CN1957368A (zh) * 2004-05-26 2007-05-02 阿玛得斯两合公司 预定旅行产品的方法和设备
WO2009037081A1 (en) * 2007-09-17 2009-03-26 Amadeus S.A.A. Automated split ticketing
CN102460488A (zh) * 2009-05-18 2012-05-16 阿玛得斯两合公司 用于确定旅程最佳低票价的方法和***

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105741070B (zh) * 2016-04-18 2019-03-12 深圳马可孛罗科技有限公司 一种海量实时舱位运价结果数据快速差异更新存储的方法
CN105741070A (zh) * 2016-04-18 2016-07-06 深圳马可孛罗科技有限公司 一种海量实时舱位运价结果数据快速差异更新存储的方法
CN106777312A (zh) * 2016-12-30 2017-05-31 中国民航信息网络股份有限公司 一种低成本航班搜索***和方法
CN109614406A (zh) * 2018-11-01 2019-04-12 北京三快在线科技有限公司 班次搜索方法、装置、电子设备及可读存储介质
CN109614406B (zh) * 2018-11-01 2020-07-17 北京三快在线科技有限公司 班次搜索方法、装置、电子设备及可读存储介质
CN111383043A (zh) * 2018-12-29 2020-07-07 携程旅游网络技术(上海)有限公司 运价计算方法及***
CN111383043B (zh) * 2018-12-29 2024-03-22 携程旅游网络技术(上海)有限公司 运价计算方法及***
CN110309440A (zh) * 2019-07-10 2019-10-08 中国民航信息网络股份有限公司 机票价格搜索方法及相关设备
CN110309184A (zh) * 2019-07-10 2019-10-08 中国民航信息网络股份有限公司 一种航空运价数据的缓存方法及***
US11983109B2 (en) 2019-07-10 2024-05-14 Travelsky Technology Limited Air freight rate data caching method and system
CN110309184B (zh) * 2019-07-10 2021-05-25 中国民航信息网络股份有限公司 一种航空运价数据的缓存方法及***
CN110737665A (zh) * 2019-10-21 2020-01-31 中国民航信息网络股份有限公司 一种数据处理方法及装置
CN110738528A (zh) * 2019-10-21 2020-01-31 中国民航信息网络股份有限公司 一种规则运价的预处理方法及***
CN110717794A (zh) * 2019-10-21 2020-01-21 中国民航信息网络股份有限公司 一种运价计算处理方法及装置
CN110738528B (zh) * 2019-10-21 2023-06-20 中国民航信息网络股份有限公司 一种规则运价的预处理方法及***
CN110975291A (zh) * 2019-11-20 2020-04-10 中国人民解放军国防科技大学 一种路径提取方法及***
CN110975291B (zh) * 2019-11-20 2023-11-10 中国人民解放军国防科技大学 一种路径提取方法及***
CN111460309A (zh) * 2020-04-07 2020-07-28 中国民航信息网络股份有限公司 一种信息搜索方法、装置和电子设备
CN111460309B (zh) * 2020-04-07 2023-11-24 中国民航信息网络股份有限公司 一种信息搜索方法、装置和电子设备
CN111581457B (zh) * 2020-05-13 2023-09-15 中国民航信息网络股份有限公司 一种数据处理方法及装置
CN111581457A (zh) * 2020-05-13 2020-08-25 中国民航信息网络股份有限公司 一种数据处理方法及装置
CN112579832A (zh) * 2020-12-07 2021-03-30 中国民航信息网络股份有限公司 一种航程运输数据的分组校验方法及装置
CN112579832B (zh) * 2020-12-07 2024-06-07 中国民航信息网络股份有限公司 一种航程运输数据的分组校验方法及装置
CN113486164A (zh) * 2021-06-30 2021-10-08 中国民航信息网络股份有限公司 一种混合航班查询方法、***、电子设备及存储介质
CN113609142A (zh) * 2021-07-06 2021-11-05 深圳市飞耶软件有限公司 基于ota平台数据投放的运价自动更新方法和存储介质
CN113609142B (zh) * 2021-07-06 2024-02-20 深圳市飞耶软件有限公司 基于ota平台数据投放的运价自动更新方法和存储介质
CN114331530A (zh) * 2021-12-27 2022-04-12 中国民航信息网络股份有限公司 一种运价组合的生成方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN105630984B (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
CN105630984A (zh) 一种运价搜索***
Ma et al. Real-time city-scale taxi ridesharing
US7263496B1 (en) Generic revenue management data model for revenue management
CN105631630A (zh) 旅客订单数据处理方法及装置
CN103548019A (zh) 用于根据数据仓库提供统计信息的方法和***
US20190318274A1 (en) Discovering and reserving travel solutions
CN110309440B (zh) 机票价格搜索方法及相关设备
CA2762165C (en) Method and system for determining an optimal low fare for a trip
EP1903484A1 (en) Method and apparatus for recommending simplified fares with consistent buy-across
CN106030626A (zh) 用于提供诸如飞机票价可用性的票价可用性的方法和***
CN106104615A (zh) 用于提供一组价格估计值的方法和服务器,诸如飞机票价价格估计值
CN109582849A (zh) 一种基于知识图谱的网络资源智能检索方法
Pan et al. Ridesharing: simulator, benchmark, and evaluation
CN106802944A (zh) 一种航班检索***及方法
CN114240001A (zh) 物流路由网络确定方法和装置
CA2745438A1 (en) Method and system for displaying interlining travel recommendations
CN116128172A (zh) 一种空铁联运路线生成方法、***及设备和存储介质
CN108288101A (zh) 基于拍卖机制的网约车预约服务车辆资源分配和定价方法
Zhan et al. The dynamic ride-hailing sharing problem with multiple vehicle types and user classes
CN112862258A (zh) 一种考虑旅客偏好的有限理性的航班恢复方法
US20110167051A1 (en) Search engine and associated method
RU2614581C2 (ru) Улучшенная система учета и соответствующий способ
CN107391728A (zh) 数据挖掘方法以及数据挖掘装置
CN109345341A (zh) 商品筛选方法、装置、介质及电子设备
KR20150016099A (ko) 여행 산업 트랜잭션을 위한 계약 번호 할당

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant