一种民航旅客网络生成方法

文档序号:6549551阅读:167来源:国知局
一种民航旅客网络生成方法
【专利摘要】本发明提供一种民航旅客网络生成方法,包括:步骤1:获取民航旅客成行乘机记录数据;步骤2:将所述旅客信息数据划分为PNR流片段;步骤3:将PNR流片段汇总形成所需的特征数据表;步骤4:根据所述特征数据表生成分析层旅客表和分析层旅客关系表;步骤5:根据所述分析层旅客表和所述分析层旅客关系表获取旅客网络的节点、边,生成民航旅客网络。本发明方法以民航旅客成行乘机记录数据为基础,基于旅客共同出行的行为来发现旅客关系,能够高性能地处理海量(上亿条)数据的民航旅客网络系统架构并生成一套完整的民航旅客网络。
【专利说明】一种民航旅客网络生成方法
【技术领域】
[0001]本发明涉及民航业务系统中的旅客数据挖掘领域,特别涉及一种民航旅客网络生成方法。
[0002]
【背景技术】
[0003]在现实生活中,人们进行着各种各样的活动,并且通过这些活动形成了网络。
[0004]近年来随着经济的高速发展,越来越多的人在出行时选择了飞机这一快捷交通方式。随之而来的是民航旅客人数逐年递增,形成了很庞大的旅客群体。旅客通过民用航空出行形成的网络,称之为民航旅客网络。
[0005]然而在民航领域中,旅客网络并不能够像移动通信等其他领域自然而然的形成。在民航旅客出行过程中,无法直接得出旅客之间的关系存在,需要对民航旅客出行进行数据挖掘分析,才能找出民航旅客之间的关系。
[0006]
【发明内容】

[0007]为了解决上述问题,本发明提出一种民航旅客网络生成方法,能够通过分析民航业务系统的海量数据,对数据进行多层处理,提取民航旅客信息及其相关行为数据,从而生成以民航旅客为个体、旅客间关联行为为边的网络。
[0008]一般而言,网络中的节点描述的是网络中独立的个体,边描述的是网络节点之间的关系。因此在民航领域,旅客网络中节点则为民航旅客个体,边则为民航旅客通过民航所发生的关系。网络中的一条边描述了网络中2个节点的关系,而通常这种关系是通过2个节点共同完成过某个活动来获取的,比如移动通信网络中个体打电话(打电话活动是由2个个体共同参与的)。在民航旅客网络中,旅客间的共同行为则是旅客共同出行描述的。如果两个旅客存在共同出行的行为,那么我们认为这两个旅客存在着关系。
[0009]在建网之前,先对旅客乘机过程中的一些民航领域的一些术语与定义。
[0010]) Flight
Flight表示航班,在网络中具体表示执行航班,即某年某月某日某时由A地飞往B地的一架具体航班。
[0011]) PNR
PNR号来自于行业称呼,表征旅客的共同订票行为。共同下单购买机票的旅客拥有相同的PNR号。
[0012]) SPS
SPS是Segment Passenger Set的缩写,其来源是相同PNR中出现在同一航段上的旅客集合。因为同一个PNR号中可能涉及多个航段,故而一个PNR可划分为大于等于I个SPS。SPS表征了一种旅客间共同订票且共同出行的行为。[0013]基于上述原理以及定义,把旅客的属性分成了三类,所以在逻辑模型中,依然将旅客的属性分成对应的三层模型。分别为基础层(Basic)、分析层(Analysis)、网络层(Network)。
[0014]第一层为基础层,其主要是基础事实数据的保存,主要包括执行航班、旅客等实体,这里需要指出的特殊的实体是SPS实体,指单个航段旅客集合(Segment PassengerSet),表征在一个航段上具有相同PNR号的旅客集合。将处在一个SPS的每个旅客之间建立细节联系,形成了细节关系实体。
[0015]第二层为分析层,其主要根据第一层存储的基础数据如乘行记录和细节关系数据,将这些数据进行数据挖掘分析,得到关于旅客的分析层属性集合和旅客关系的分析层
属性集合。分别定位分析层的旅客信息-AnalysisPassenger和分析层的旅客关系信
息-AnalysisRelation 信息。
[0016]第三层为网络层,基于第二层的关系表构建网络图模型、计算相应的网络层指标如连通子图等。主要包括节点、边、连通子图等几个关键实体模型。
[0017](I) FlightExecution执行航班:这个实体主要描述航班的信息,比如起始地、至Li达地、航班日期等;
(2)Pnr:这个实体主要描述Pnr信息,比如PNR号、PNR中旅客集合、里程总和、旅客人
数等;
(3)SPS旅客集合表:这个实体主要描述同行旅客组的信息,比如所属PNR号、旅客集合、里程总和、航班号等;
(4)Passenger旅客表:这个实体主要描述旅客的基本信息,比如ID、旅客姓名、旅客性另O、旅客年龄、籍贯等;
(5)TravelRecord成行记录表:这个实体主要描述旅客机票的信息,比如旅客编号、执行航班编号等;
(6)Detail Relation细节关系表:这个实体主要描述旅客间的细节关系信息,比如同行时间、同行出发地、同行到达地等;
(7)AnalysisPassenger分析层旅客表:这个实体主要描述旅客的成行信息,比如首次乘机信息,末次乘机信息,乘机总次数、乘机总里程数等;
(8)AnalysisRelation分析层旅客关系表:这个实体主要描述旅客间关系的统计信息,比如同行次数,首次同行时间,末次同行时间等;
(9)Node旅客节点表:这个实体主要描述旅客在网络中的节点信息,比如节点度数,所属子图编号等;
(10)Edge旅客边表:这个实体主要描述旅客在网络中边信息,比如边权重,边的起始节点等;
(11)Component旅客连通子图表:这个实体主要描述旅客在网络中的连通子图信息,比如子图节点个数,子图边个数等;
基于上述逻辑模型,本发明提出的民航旅客网络生成方法包括:
步骤1:获取民航旅客成行乘机记录数据;
步骤2:将所述旅客信息数据划分为PNR流片段;
步骤3:将PNR流片段汇总形成所需的特征数据表; 步骤4:根据所述特征数据表生成分析层旅客表和分析层旅客关系表;
步骤5:根据所述分析层旅客表和所述分析层旅客关系表获取旅客网络的节点、边,生成民航旅客网络。
[0018]所述民航旅客成行乘机记录数据是指包括旅客使用有效身份证信息进行订票而生成的旅客PNR数据,旅客离港数据和出票数据的乘机飞行的汇总数据。
[0019]所述旅客PNR数据包含旅客身份证号,旅客年龄,旅客籍贯,旅客性别,PNR标识,PNR人数,团队标识;所述旅客离港数据包含值机时间、值机方式、座位,仓位;旅客出票数据包含航班号,航班起始地,航班到达地,起飞时间,到达时间,票价,折扣。
[0020]所述步骤2包括:
步骤2.1:将所述民航旅客成行乘机记录数据按照记录条数进行文件分割形成多个预处理文件;
步骤2.2:将所述预处理文件按照航班信息进行分组,并对每组文件按照PNR信息进行排序,得到分组排序后的预处理文件;
步骤2.3:将多个分组排序后的预处理文件按序组成一个PNR流片段,从而得到多个PNR流片段。
[0021]在所述步骤2.2中采用多路归并排序算法得到分组排序后的预处理文件。
[0022]所述特征数据表包括:旅客表、执行航班表、PNR表、SPS表、细节关系表以及成行记录表,其中,SPS指具有相同PNR号并出现在同一航班上的旅客集合。
[0023]所述旅客表包括旅ID,旅客身份证,旅客年龄,旅客籍贯,旅客性别;所述执行航班表包括航班ID,航班号,起始地,到达地,起飞时间,到达时间;所述PNR表包括PNR ID,PNR标识,团队标识;所述SPS表包括航班ID,PNR ID, SPS旅客人数;所述细节关系表包括细节关系ID,细节关系中旅客A的ID,细节关系中旅客B的ID ;所述成行记录表包括旅行记录数据ID,旅客ID,PNR ID,航班ID,SPS ID,座位,仓位,票价,折扣。
[0024]所述步骤3包括:
步骤3.1:依次遍历所述PNR流片段,获取旅客表、PNR表以及执行航班表;
步骤3.2:基于步骤3.1得到旅客表、PNR表以及执行航班表生成SPS表、细节关系表以及成行记录表。
[0025]所述步骤4包括:
步骤4.1:基于所述成行记录表和旅客表生成分析层旅客表;
步骤4.2:基于所述细节关系表和SPS表生成分析层旅客关系表。
[0026]在所述步骤4.2中采用关系发现算法生成分析层旅客关系表。
[0027]所述分析层旅客表包括旅客ID以及乘机总次数;所述分析层旅客关系表包括分析层旅客关系中旅客A的ID,旅客B的ID,以及二者最近一次同行时间。
[0028]所述步骤5包括:
步骤5.1:对所述分析层旅客表和所述分析层旅客关系表进行阈值过滤;
步骤5.2:将过滤后的分析层旅客表作为旅客网络的节点,将过滤后的分析层旅客关系表作为旅客网络的边,生成民航旅客网络。
[0029]所述步骤5还包括:
步骤5.3:根据生成的民航旅客网络,生成连通子图数据、网络节点数据以及网络边数据。
[0030]在所述步骤5.3中采用深度优先搜索算法生成连通子图数据、网络节点数据以及网络边数据。
[0031]所述连通子图数据包括子图1D,节点个数,边个数以及平均度数;所述网络节点数据包括节点ID,节点度数以及节点邻居列表;所述网络边数据包括边ID,节点A的ID,节点B的ID以及边权重。
[0032]本发明给出的一种民航旅客网络生成方法以民航旅客成行乘机记录数据为基础,基于旅客共同出行的行为来发现旅客关系,能够高性能地处理海量(上亿条)数据的民航旅客网络系统架构并生成一套完整的民航旅客网络。
[0033]
【专利附图】

【附图说明】
[0034]参照如下附图将更加易于理解本发明:
图1为本发明一实施例给出的民航旅客网络生成方法的流程图;
图2为本发明一实施例给出的民航旅客网络生成方法中数据预处理流程图;
图3为本发明一实施例给出的民航旅客网络生成方法中基础层流程图;
图4为本发明一实施例给出的民航旅客网络生成方法中分析层流程图;
图5为本发明一实施例给出的民航旅客网络生成方法中网络层流程图;
图6为具体实施本发明中一实施例给出的民航旅客网络生成方法时的服务器配置图。
[0035]
【具体实施方式】
[0036]如图1所示,本发明提出的民航旅客网络生成方法包括:
步骤1:获取民航旅客成行乘机记录数据;
步骤2:将所述旅客信息数据划分为PNR流片段;
步骤3:将PNR流片段汇总形成所需的特征数据表;
步骤4:根据所述特征数据表生成分析层旅客表和分析层旅客关系表;
步骤5:根据所述分析层旅客表和所述分析层旅客关系表获取旅客网络的节点、边,生成民航旅客网络。
[0037]所述民航旅客成行乘机记录数据是指包括旅客使用有效身份证信息进行订票而生成的旅客PNR数据,旅客离港数据和出票数据的乘机飞行的汇总数据。
[0038]所述旅客PNR数据包含旅客身份证号,旅客年龄,旅客籍贯,旅客性别,PNR标识,PNR人数,团队标识;所述旅客离港数据包含值机时间、值机方式、座位,仓位;旅客出票数据包含航班号,航班起始地,航班到达地,起飞时间,到达时间,票价,折扣。
[0039]所述特征数据表包括:旅客表、执行航班表、PNR表、SPS表、细节关系表以及成行记录表,其中,SPS指具有相同PNR号并出现在同一航班上的旅客集合。
[0040]所述旅客表包括旅ID,旅客身份证,旅客年龄,旅客籍贯,旅客性别;所述执行航班表包括航班ID,航班号,起始地,到达地,起飞时间,到达时间;所述PNR表包括PNR ID,PNR标识,团队标识;所述SPS表包括航班ID,PNR ID, SPS旅客人数;所述细节关系表包括细节关系ID,细节关系中旅客A的ID,细节关系中旅客B的ID ;所述成行记录表包括旅行记录数据ID,旅客ID,PNR ID,航班ID,SPS ID,座位,仓位,票价,折扣。
[0041]其中,如图2所示,步骤2为用于基础数据加工的数据预处理,具体为:
步骤2.1:将所述民航旅客成行乘机记录数据按照记录条数进行文件分割形成多个预处理文件;
步骤2.2:将所述预处理文件按照航班信息进行分组,并对每组文件按照PNR信息进行排序,得到分组排序后的预处理文件;
步骤2.3:将多个分组排序后的预处理文件按序组成一个PNR流片段,从而得到多个PNR流片段。
[0042]由于民航网络旅客个体众多(亿级),因此在进行网络生成之前必须相对数据进行简单处理,以便提高网络构建的效率。这步的主要任务是:将历史数据和即时新的乘行数据切分成PNR流片段,并进行排序操作。
[0043]其中,如图3所示,步骤3为用于事实数据获取的基础层数据处理,具体为:
步骤3.1:依次遍历所述PNR流片段,获取旅客表、PNR表以及执行航班表;
步骤3.2:基于步骤3.1得到旅客表、PNR表以及执行航班表生成SPS表、细节关系表以及成行记录表。
[0044]由预处理完后的分割文件(PNR流片段),依次汇总生成旅客数据、执行航班数据、PNR数据、再由PNR数据拆解为SPS数据、细节关系数据、成行记录数据,完成第一层处理。
[0045]其中将PNR数据拆解为SPS数据算法伪代码过程如下:
Type PNR
Type Flight
Type SPS
Dim oldFlight as Flight
Dim nowFlight as Flight
Foreach PNR pnr, PNRList
nowFlight = pnr.getFlight ()
If(nowFlight != oldFlight)
Dim sps as SPS
sps.setProperties (Pnr.getPassengers (),oldFlight)
SPSList.addSPS(sps);
oldFlight =nowFlight
End End
其中,如图4所示,步骤4为用于旅客之间的关系发现的分析层数据处理,具体为: 步骤4.1:基于所述成行记录表和旅客表生成分析层旅客表;
步骤4.2:基于所述细节关系表和SPS表生成分析层旅客关系表。
[0046]所述分析层旅客表包括旅客ID以及乘机总次数;所述分析层旅客关系表包括分析层旅客关系中旅客A的ID,旅客B的ID,以及二者最近一次同行时间。
[0047]基础层处理完成的数据将作为分析层处理的输入,主要完成旅客数据汇总和细节关系的发现工作。[0048]关系发现是本发明最主要的内容,其主要算法伪代码流程如下所述 Type SPS
Type DetailRelation
Type Passenger
Foreach SPS sps, SPSList
Foreach Passenger pa, sps.PassengerList
Foreach Passenger pb,SPS.PassengerList
If (pa.GetID () != pb.GetID ())
DetailRelationList.addDetaiIRelation (pa, pb, sps);
End
End
End
其中,如图5所示,步骤5为用于旅客网络生成的网络层数据处理,具体为:
步骤5.1:对所述分析层旅客表和所述分析层旅客关系表进行阈值过滤;
步骤5.2:将过滤后的分析层旅客表作为旅客网络的节点,将过滤后的分析层旅客关系表作为旅客网络的边,生成民航旅客网络。
[0049]步骤5.3:根据生成的民航旅客网络,生成连通子图数据、网络节点数据以及网络边数据。
[0050]所述连通子图数据包括子图1D,节点个数,边个数以及平均度数;所述网络节点数据包括节点ID,节点度数以及节点邻居列表;所述网络边数据包括边ID,节点A的ID,节点B的ID以及边权重。
[0051]通过步骤2-4的处理,民航旅客网络基本生成,步骤5的网络处理主要基于网络的拓扑结构,构建网络邻接表,完成相关指标计算。
[0052]在生成的民航旅客网络中,旅客关系是由民航旅客个体的共同乘机旅行活动体现的。结合旅客乘机出行的各个过程,包括订票、值机、乘机以及选择座位等。
[0053]如图6所示,本发明实施涉及的硬件服务器有2个(服务器A和服务器B),其中服务器A主要用于计算,服务器B主要用于数据存储,服务器A和服务器B通过网络进行数据传输。
[0054]本发明一实施例提出的民航旅客网络生成方法所实现的系统软件大致有3个步骤,分别是DP、L1、L2、L3。其中DP为基础数据加工模块,对应于本发明中的数据分组,完成旅客乘机记录的排序和分组任务,以便于后续计算;L1为事实数据获取模块,对应于本发明中的基础层,完成对民航旅客、民航航班、PNR等实体数据的解析和存储等任务;L2为关系发现模块,对应于本发明中的分析层,完成旅客网络的构建和存储等任务;L3为网络生成模块,对应于本发明中的网络层,完成旅客网络连通子图计算等任务。
【权利要求】
1.一种民航旅客网络生成方法,其特征在于:所述方法包括: 步骤1:获取民航旅客成行乘机记录数据; 步骤2:将所述旅客信息数据划分为PNR流片段; 步骤3:将PNR流片段汇总形成所需的特征数据表; 步骤4:根据所述特征数据表生成分析层旅客表和分析层旅客关系表; 步骤5:根据所述分析层旅客表和所述分析层旅客关系表获取旅客网络的节点、边,生成民航旅客网络。
2.根据权利要求1所述的民航旅客网络生成方法,其特征在于,所述民航旅客成行乘机记录数据是指包括旅客使用有效身份证信息进行订票而生成的旅客PNR数据,旅客离港数据和出票数据的乘机飞行的汇总数据。
3.根据权利要求2所述的民航旅客网络生成方法,其特征在于,所述旅客PNR数据包含旅客身份证号,旅客年龄,旅客籍贯,旅客性别,PNR标识,PNR人数,团队标识;所述旅客离港数据包含值机时间、值机方式、座位,仓位;旅客出票数据包含航班号,航班起始地,航班到达地,起飞时间,到达时间,票价,折扣。
4.根据据权利要求1所述的民航旅客网络生成方法,其特征在于,所述步骤2包括: 步骤2.1:将所述民航旅 客成行乘机记录数据按照记录条数进行文件分割形成多个预处理文件; 步骤2.2:将所述预处理文件按照航班信息进行分组,并对每组文件按照PNR信息进行排序,得到分组排序后的预处理文件; 步骤2.3:将多个分组排序后的预处理文件按序组成一个PNR流片段,从而得到多个PNR流片段。
5.根据权利要求4所述的民航旅客网络生成方法,其特征在于,在所述步骤2.2中采用多路归并排序算法得到分组排序后的预处理文件。
6.根据权利要求1所述的民航旅客网络生成方法,其特征在于,所述特征数据表包括:旅客表、执行航班表、PNR表、SPS表、细节关系表以及成行记录表,其中,SPS指具有相同PNR号并出现在同一航班上的旅客集合。
7.根据权利要求6所述的民航旅客网络生成方法,其特征在于,所述旅客表包括旅ID,旅客身份证,旅客年龄,旅客籍贯,旅客性别;所述执行航班表包括航班ID,航班号,起始地,到达地,起飞时间,到达时间;所述PNR表包括PNR ID, PNR标识,团队标识;所述SPS表包括航班ID,PNR ID,SPS旅客人数;所述细节关系表包括细节关系ID,细节关系中旅客A的ID,细节关系中旅客B的ID ;所述成行记录表包括旅行记录数据ID,旅客ID,PNR ID,航班ID, SPS ID,座位,仓位,票价,折扣。
8.据权利要求7所述的民航旅客网络生成方法,其特征在于,所述步骤3包括: 步骤3.1:依次遍历所述PNR流片段,获取旅客表、PNR表以及执行航班表; 步骤3.2:基于步骤3.1得到旅客表、PNR表以及执行航班表生成SPS表、细节关系表以及成行记录表。
9.根据权利要求8所述的民航旅客网络生成方法,其特征在于,所述步骤4包括: 步骤4.1:基于所述成行记录表和旅客表生成分析层旅客表; 步骤4.2:基于所述细节关系表和SPS表生成分析层旅客关系表。
10.根据权利要求9所述的民航旅客网络生成方法,其特征在于,在所述步骤4.2中采用关系发现算法生成分析层旅客关系表。
11.根据权利要求9所述的民航旅客网络生成方法,其特征在于,所述分析层旅客表包括旅客ID以及乘机总次数;所述分析层旅客关系表包括分析层旅客关系中旅客A的ID,旅客B的ID,以及二者最近一次同行时间。
12.根据权利要求1所述的民航旅客网络生成方法,其特征在于,所述步骤5包括: 步骤5.1:对所述分析层旅客表和所述分析层旅客关系表进行阈值过滤; 步骤5.2:将过滤后的分析层旅客表作为旅客网络的节点,将过滤后的分析层旅客关系表作为旅客网络的边,生成民航旅客网络。
13.根据据权利要求12所述的民航旅客网络生成方法,其特征在于,所述步骤5还包括: 步骤5.3:根据生成的民航旅客网络,生成连通子图数据、网络节点数据以及网络边数据。
14.根据权利要 求13所述的民航旅客网络生成方法,其特征在于,在所述步骤5.3中采用深度优先搜索算法生成连通子图数据、网络节点数据以及网络边数据。
15.根据权利要求14所述的民航旅客网络生成方法,其特征在于,所述连通子图数据包括子图1D,节点个数,边个数以及平均度数;所述网络节点数据包括节点ID,节点度数以及节点邻居列表;所述网络边数据包括边ID,节点A的ID,节点B的ID以及边权重。
【文档编号】G06Q50/14GK104021189SQ201410263027
【公开日】2014年9月3日 申请日期:2014年6月13日 优先权日:2014年6月13日
【发明者】贾旭光, 祁堃, 周元炜, 隋华懿, 蔡亚男, 杨建 , 杨程屹 申请人:中国民航信息网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1