构建乘客社交网络的方法

文档序号:6544700阅读:257来源:国知局
构建乘客社交网络的方法
【专利摘要】本发明涉及一种构建乘客社交网络的方法。本发明方法包括:A、建立统一的乘客信息档案;B、建立乘客事件信息记录;C、通过Hive加载事件数据到hdfs事件记录缓冲区并建立表结构;D、清洗数据;E、将乘客的档案信息转化为节点数据;F、计算两个不同乘客节点间的有向边;G、选择关系强度属性计算算法;H、计算关系类型和可能性;I提供乘客社交关系网络的可视化展示。本发明方法可以通过增加事件和计算权重指标的方式扩展,以适应航空的业务变化,相比非分布式关系型数据库应用的方式,速度提升超过百倍。
【专利说明】构建乘客社交网络的方法

【技术领域】
[0001]本发明涉及社交网络关系构建技术,尤其涉及一种构建乘客社交网络的方法。

【背景技术】
[0002]中国的航空行业,经过20年的高速发展,航空公司积累了大量的乘客数据资源,航空产品的电子商务也从传统的纯机票销售,到现在的机票、酒店、租车、附加服务和旅游产品多元化结合的经营模式。随着航空市场的日益完善,航空公司及在线旅游提供商开始引入新的营销手段,构建和分析乘客社交网络成为日益重要的社会关系网络营销方法。
[0003]从功能上来说,目前比较盛行的基于纯粹的网络社交媒体的社交关系网络的构建方式,并不适用于航空行业。
[0004]同时从技术上而言,航空公司已累计TB级别的数据,利用传统的关系型数据库构建这样一个超过两亿节点,30亿条边的社交关系网络图谱,在性能上已不可接受。


【发明内容】

[0005]本发明的目的在于提供一种构建乘客社交网络的方法,利用航空公司现有海量的乘客数据,构建乘客社交关系网络。
[0006]本发明的技术方案是如下。
[0007]构建乘客社交网络的方法,包括下列步骤:
步骤A、建立统一的乘客信息档案
a.1、根据航空公司的乘客乘机记录,以乘客的有效证件号为唯一识别标示,建立系统唯一的乘客信息档案,存储在HBase的乘客档案表中。每一个乘客档案,将是最终形成的乘客社交网络的一个节点;
a.2、关联航空公司的其他系统的乘客信息,根据有效证件或其他可识别字段,识别其他系统的乘客,并统一形成单一客户视图,单一客户视图中的乘客有一个唯一的ID来识别客户。
[0008]其中,步骤A的详细实施步骤:
(1)在HBase中建立两组表,分别存储客户的主数据信息和身份识别信息。客户主数据信息中,保存了客户的唯一 ID和主要人口属性记录;客户的身份识别信息包括证件/账号类型,有效证件号/账号(含手机、QQ、Email、身份证、会员卡号、微博、登录ID、登录Cookie等);
(2)提供一个API接口,传入客户的任意识别信息,通过有效信息匹配和Cookie匹配,找到对应客户,返回客户的主数据信息。
[0009](3)后台提供客户的查询、管理和去重功能。
[0010]在后续步骤信息进入时,从本步骤需要取得客户的唯一 ID。
[0011]步骤B、建立乘客事件信息记录
b.1、在HBase上,建立乘客事件信息的数据结构; b.2、建立乘客事件的数据字典;
b.3、通过Hive建立事件信息表结构,和HBase的数据结构建立映射关系。
[0012]步骤C、通过Hive加载事件数据到hdfs事件记录缓冲区并建立表结构,事件数据包括:
①、乘客PNR记录中同一航班,同PNR乘客产生的同行关系;
②、会员乘客的里程积分受让数据;
③、乘客的公司登记记录;
④、其他相关乘客事件。
[0013]步骤C具体包括:、
加载事件数据到hdfs事件记录缓冲区中
c.1、从航空公司所保存的旅客PNR记录中,根据同一航班,同PNR旅客产生的同行关系,提取并加载到旅客事件信息记录缓冲区中。PNR同行事件是民航社交网络的重要数据来源;
c.2、从航空公司的旅客会员系统中,提取会员的里程积分受让数据,加载到旅客事件记录缓冲区;
c.3、从航空公司的旅客CRM系统中,获取旅客的公司登记记录,将信息加载到旅客事件信息记录中,作为“在某一个时间点是同事”的特殊事件;
c.4、抽取航空公司内部其他相关旅客事件,加载到事件记录缓冲区,系统不拒绝对构建社交关系网络有助力的数据信息;
c.5、上述信息使用Hive在hdfs中建立表结构。
[0014]步骤C中所述的ETL工具为Storm、Kafka、Flume、Kettle、Sqoop中的一种或几种。
[0015]步骤D、清洗数据,并将缓冲区中的事件记录,结合基础字典中的信息,加载为完整的事件数据到步骤B所建立的HBase事件记录表中。本步骤使用Hive、PIG、SQL进行数据的清洗、转化和加载工作。
[0016]步骤E、将乘客的档案信息转化为节点数据,存储在基于图的分布式数据库中,每一个乘客为一个节点,节点上存储的属性包括:乘客的身份信息、乘客的人口统计属性、乘客的出行信息、乘客的消费信息、乘客的会员信息、乘客的企业信息、乘客的网络社交媒体信息(可选)。
[0017]步骤F、通过分布式运算,计算两个不同乘客节点间的有向边:乘客A和乘客B之间如果存在事件会产生关系,且还没有已有的边,则在Titan中新建两条不同的有向边A->B和B->A,在边的属性上存储此关系;如果已有边,则将此事件关系存储到边的属性上。
[0018]步骤G、选择关系强度属性计算算法:在系统初始阶段,配置边的关系强度算法,在系统运行时,系统采用已配置的关系强度属性执行计算;计算通过作业执行,其参数为事件的类型、事件的算法权重和时间发生的次数等。
[0019]步骤H、计算关系类型和可能性:关系类型包括:同事关系、家庭关系、好友关系等,可能性由事件的类型、事件发生的时间、事件的参数、关系强度和权重根据特定的规则算法广生。
[0020]步骤1、提供乘客社交关系网络的可视化展示。
[0021]其中,优先实施地,步骤b.1的事件信息包括以下信息:事件发生的时间、事件的类型、事件的渠道、事件的接触点、事件的主体、主体类型、事件的动作、事件的客体、客体类型、事件的关系类型、关系的权重、事件的参数。
[0022]其中,优先实施地,步骤b.2的事件数据字典包括:事件的类型、渠道信息、接触点、事件主客体类型、事件的动作类型、关系类型、权重类型、参数类型。
[0023]其中,优先实施地,步骤Η中补充互联网社交关系网络数据源:将新浪微博等社交关系网络补充到系统中作为数据源,互联网的社交关系网络好友关系,做为最终建立的关系网络节点的补充信息。
[0024]本发明采用Hadoop平台的hdfs分布式存储作为海量数据存储,采用分布式列存储数据库HBase作为乘客信息及乘客接触点事件的存储介质,采用Hive建立分布式的数据表结构,采用分布式图数据库Titan作为关系节点、边和属性的存储介质使得本发明具有下列有益效果:
1、从行业数据的利用角度上,通过本发明方法构建的社交关系网络,有效的利用了航空公司的现有海量数据;
2、本发明方法,和航空公司的实际业务需求贴近,并可以通过增加事件和计算权重指标的方式扩展,以适应航空的业务变化;
3、使用分布式的体系架构,相比非分布式关系型数据库应用的方式,在超过1亿航空公司乘客、10亿以上事件信息的处理性能上,速度提升超过百倍。
[0025]以下,结合实施例对本发明做进一步阐述。

【专利附图】

【附图说明】
[0026]图1是本发明实施例数据处理流程图;
图2是本发明实施例得出的乘客关系网络结果的存储方式示意图;

【具体实施方式】
[0027]如图1所示,乘客乘机记录、PNR信息以及来自其他系统的数据属于结构化数据,使用ETL工具进入到Hadoop平台的Hdfs存储缓冲区,经过作业调度工具驱动,清洗、转化、加载后,进入分布式Nosql数据库HBase中,形成事件记录信息;同样,来自多个数据的乘客信息经过身份识别后,进入到HBase中。这些数据经过E、F、G、Η、I步骤,存储在基于图的分布式数据库中。前端Web应用直接从分布式图数据库查询结果。
[0028]如图2所示,结果以有向图的方式存储,包括:
节点——每一个节点存储一个乘客,节点信息包含“属性信息”包含乘客的身份信息、人口统计属性、出行信息、消费信息、会员信息、企业信息、网络社交媒体信息等;
关系——包含关系的强度、事件、依赖度,方向等;
属性——被节点和关系所包含。
[0029]步骤A、建立统一的旅客信息档案
a.1、根据航空公司的旅客乘机记录,以旅客的有效证件号为唯一识别标示,建立系统唯一的旅客信息档案,存储在HBase的旅客档案表中。每一个旅客档案,都可以是最终形成的旅客社交网络的一个节点;
a.2、关联航空公司的其他系统的旅客信息,根据有效证件或其他可识别字段,识别其他系统的旅客,并统一形成单一客户视图,单一客户视图中的旅客有一个唯一的ID来识别客户。
[0030]步骤A的详细实施步骤:
(4)在HBase中建立两组表,分别存储客户的主数据信息和身份识别信息。客户主数据信息中,保存了客户的唯一 ID和主要人口属性记录;客户的身份识别信息包括证件/账号类型,有效证件号/账号(含手机、QQ、Email、身份证、会员卡号、微博、登录ID、登录Cookie等);
(5)提供一个API接口,传入客户的任意识别信息,通过有效信息匹配和Cookie匹配,找到对应客户,返回客户的主数据信息;
(6)后台提供客户的查询、管理和去重功能。
[0031]在后续步骤信息进入时,从本步骤需要取得客户的唯一 ID。
[0032]对于步骤B,本实施的过程如下:
1、采集数据服务器,发现航空公司的其他业务系统发生数据变化(或选择定期增量抽取),将数据流发送到大数据平台后端;
2、大数据平台接收到数据流后,写入到hdfs的缓冲区,此时不改变数据本身的结构;
3、Sub01-Sub04是四个不同的MapReduce分布式计算作业,由作业调度工具调度执行;
4、SubOl和Sub02清洗和处理原始数据,将事件中的乘客信息和系统中360乘客身份进行识别统一,将事件的类别、渠道、参数等信息根据元数据进行标准化,形成比较完整的事件记录;
5、Sub03将处理后的事件记录,加载到HBase分布式数据库中,供后续实时查询;
6、Sub04将事件进行统计,加入分析所需要的维度和参数,形成事件的统计信息,供后续构建算法直接调取统计结果。
[0033]步骤C、加载事件数据到hdfs事件记录缓冲区中
c.1、从航空公司所保存的旅客PNR记录中,根据同一航班,同PNR旅客产生的同行关系,提取并加载到旅客事件信息记录缓冲区中。PNR同行事件是民航社交网络的重要数据来源;
c.2、从航空公司的旅客会员系统中,提取会员的里程积分受让数据,加载到旅客事件记录缓冲区;
c.3、从航空公司的旅客CRM系统中,获取旅客的公司登记记录,将信息加载到旅客事件信息记录中,作为“在某一个时间点是同事”的特殊事件;
c.4、抽取航空公司内部其他相关旅客事件,加载到事件记录缓冲区,系统不拒绝对构建社交关系网络有助力的数据信息;
c.5、上述信息使用Hive在hdfs中建立表结构。
[0034]步骤C中所述的ETL工具为Storm、Kafka、Flume、Kettle、Sqoop中的一种或几种。
[0035]步骤D、清洗数据,并将缓冲区中的事件记录,结合基础字典中的信息,加载为完整的事件数据到步骤B所建立的HBase事件记录表中。本步骤使用Hive、PIG、SQL进行数据的清洗、转化和加载工作。
[0036]对于步骤E、F,本实施例的过程如下:
(此部分以PNR网络为例,讲解构建网络图的方法,实际PNR仅是关系事件中的一类) 1、查询出增量乘客,取360度客户视图中该乘客的唯一ID作为图的节点;
2、证增量节点是否在Titan图数据库中存在,如果不存在,写入到图数据库中;
3、在这些节点上写入乘客的属性信息;
4、查询出增量PNR事件,关联乘客ID;全部数据PNR1:A;PNR2:B...;
5、过滤出同PNR含两个以上乘客的订单记录明细,关联出乘客的唯一ID(PNR1:A;PNR1:B ; PNR2:C ;PNR2:D;PNR2:E);
6、产生PNR 组别(PNR1:A,B; PNR2:C, D, E);
7、产生乘客的同行关联记录(PNR1A-B; PNR2 C-D; PNR2 D-E; PNR2 C_E);
8、产生图的有向边(六-油,(:->0,0-冗,(:-沌)(A〈-B,C<- D,D <- E,C <- E);
9、判断有向边是否在图中已存在,如果未存在,写入有向边;
10、如果有向边已存在,需要全局重新计算有向边的统计属性。
[0037]步骤G、选择关系强度属性计算算法:在系统初始阶段,配置边的关系强度算法,在系统运行时,系统采用已配置的关系强度属性计算算法执行。
[0038]步骤H、在步骤G中选择的算法,通过作业执行,其参数为事件的类型、事件的算法权重和时间发生的次数等。
[0039]步骤1、计算关系类型和可能性:关系类型包括:同事关系、家庭关系、好友关系等,可能性由事件的类型、事件发生的时间、事件的参数、关系强度和权重根据特定的规则算法广生。
[0040]步骤J、补充互联网社交关系网络数据源(可选):系统可以允许用户将新浪微博等社交关系网络补充到系统中作为数据源,互联网的社交关系网络好友关系,做为最终建立的关系网络节点的补充信息。
[0041 ] 步骤K、提供旅客社交关系网络的可视化展示。
【权利要求】
1.构建乘客社交网络的方法,其特征在于,包括下列步骤: 步骤A、建立统一的乘客信息档案 a.1、根据航空公司的乘客乘机记录,以乘客的有效证件号为唯一识别标示,建立系统唯一的乘客信息档案,存储在HBase的乘客档案表中;每一个乘客档案,将是最终形成的乘客社交网络的一个节点; a.2、关联航空公司的其他系统的乘客信息,根据有效证件或其他可识别字段,识别其他系统的乘客,并统一形成单一客户视图,单一客户视图中的乘客有一个唯一的ID来识别客户; 步骤B、建立乘客事件信息记录 b.1、在HBase上,建立乘客事件信息的数据结构; b.2、建立乘客事件的数据字典; b.3、通过Hive建立事件信息表结构,和HBase的数据结构建立映射关系; 步骤C、通过Hive加载事件数据到hdfs事件记录缓冲区并建立表结构,事件数据包括: ①、乘客PNR记录中同一航班,同PNR乘客产生的同行关系; ②、会员乘客的里程积分受让数据; ③、乘客的公司登记记录; ④、其他相关乘客事件; 步骤D、清洗数据,并将缓冲区中的事件记录,结合基础字典中的信息,加载为完整的事件数据到步骤B所建立的HBase事件记录表中; 步骤E、将乘客的档案信息转化为节点数据,存储在基于图的分布式数据库中,每一个乘客为一个节点,节点上存储的属性包括:乘客的身份信息、乘客的人口统计属性、乘客的出行信息、乘客的消费信息、乘客的会员信息、乘客的企业信息、乘客的网络社交媒体信息(可选); 步骤F、通过分布式运算,计算两个不同乘客节点间的有向边:乘客A和乘客B之间如果存在事件会产生关系,且还没有已有的边,则在Titan中新建两条不同的有向边A->B和B->A,在边的属性上存储此关系;如果已有边,则将此事件关系存储到边的属性上; 步骤G、选择关系强度属性计算算法:在系统初始阶段,配置边的关系强度算法,在系统运行时,系统采用已配置的关系强度属性执行计算;计算通过作业执行,其参数为事件的类型、事件的算法权重和时间发生的次数等; 步骤H、计算关系类型和可能性:关系类型包括:同事关系、家庭关系、好友关系等,可能性由事件的类型、事件发生的时间、事件的参数、关系强度和权重根据特定的规则算法产生; 步骤1、提供乘客社交关系网络的可视化展示。
2.如权利要求1所述的构建乘客社交网络的方法,其特征在于,步骤b.1的事件信息包括以下信息:事件发生的时间、事件的类型、事件的渠道、事件的接触点、事件的主体、主体类型、事件的动作、事件的客体、客体类型、事件的关系类型、关系的权重、事件的参数。
3.如权利要求1所述的构建乘客社交网络的方法,其特征在于,步骤b.2的事件数据字典包括:事件的类型、渠道信息、接触点、事件主客体类型、事件的动作类型、关系类型、权重类型、参数类型。
4.如权利要求1所述的构建乘客社交网络的方法,其特征在于,步骤H中补充互联网社交关系网络数据源:将新浪微博等社交关系网络补充到系统中作为数据源,互联网的社交关系网络好友关系,做为最终建立的关系网络节点的补充信息。
【文档编号】G06F17/30GK104317789SQ201410167418
【公开日】2015年1月28日 申请日期:2014年4月24日 优先权日:2014年4月24日
【发明者】陈思恩, 夏木, 廖雅哲 申请人:科技谷(厦门)信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1