CN104765875B - 一种旅客行为数据分布式处理方法及系统 - Google Patents
一种旅客行为数据分布式处理方法及系统 Download PDFInfo
- Publication number
- CN104765875B CN104765875B CN201510202812.9A CN201510202812A CN104765875B CN 104765875 B CN104765875 B CN 104765875B CN 201510202812 A CN201510202812 A CN 201510202812A CN 104765875 B CN104765875 B CN 104765875B
- Authority
- CN
- China
- Prior art keywords
- data
- passenger
- distributed
- node
- back end
- 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.)
- Expired - Fee Related
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及航空数据处理领域,具体涉及一种旅客行为数据分布式处理方法及系统。本发明实施例方法包括:分布式控制中心接收客户端发出的计算任务;客户端将计算资源包存入分布式集群;分布式控制中心获取输入分割信息;分布式控制中心向第一计算节点下发map计算任务,并向第二计算节点下发reduce计算任务;第一计算节执行map计算任务生成第二旅客行为数据;第二计算节点执行reduce计算任务生成目标旅客行为数据并存入分布式集群。本发明实施例采用多台服务器集群进行map/reduce的分布式计算,能够快速有效的获取旅客行为数据,并且能准确的分析旅客的行为数据,大大提高旅客行为分析的效率。
Description
技术领域
本发明涉及航空数据处理领域,具体涉及一种旅客行为数据分布式处理方法及系统。
背景技术
随着互联网的蓬勃发展,航空公司对旅客的深度认知变得越来越重要。在航空公司进行精细化营销的过程中,也提出对旅客分为分析更高的要求,不仅仅是分析旅客的乘机次数,平均购票提前时间等。而且,需要深度了解旅客,需要通过旅客的乘机行为分析出来,旅客的核心价值,旅客的常住地址,旅客之间的出行关系等。
目前比较大的航空集团,每年运送的旅客量在6000-7000万左右,2年的数据将会有1.4亿条数据。由于数据量庞大,传统的数据库分析手段仅仅能够对旅客行为数据做简单的行为汇总分析,例如:乘机次数,平均购票提前时间,而且随着数据量的增大每次预算时间会越来越长,由于现有分析系统多为集中式分析系统,不能随意扩充系统内的机器数量,只能够不断的增强已有机器的配置,然而,即使不断增强机器的配置,由于机器配置提高空间是有限制的,每次相关运算的时间都达到几十个小时乃至更长的时间;其次对于分析例如:旅客的核心价值(涉及到乘机的舱位,乘机的里程运算),旅客的常住地(涉及到2年内的出行记录,身份证信息,手机号信息等),旅客之间的出行关系(涉及到2年内的出行记录,经常与那些人出行),对于这类庞大数据量的分析对于航空集团来说越来越重要。
然而,采用现有技术增强机器配置是无法及时更新用户的相关数据。并且,利用传统的数据库分析手段对旅客的核心价值、旅客的常住地和旅客之间的出行关系这类庞大数据量的分析,其分析时间过长,无法及时获得所需信息。
发明内容
本发明实施例提供了一种旅客行为数据分布式处理方法及系统,能够能准确的分析旅客的行为数据,大大提高旅客行为分析的效率。
有鉴于此,本发明实施例第一方面提供一种旅客行为数据分布式处理方法,可包括:分布式控制中心接收客户端发出的计算任务;所述计算任务基于第一旅客行为数据;
所述客户端将所述计算任务对应的计算资源包存入分布式集群;
所述分布式控制中心根据所述计算任务从所述分布式集群中获取所述计算资源包的输入分割信息,所述输入分割信息用于指示所述计算资源包被分割后的子资源包;
所述分布式控制中心根据所述输入分割信息向第一计算节点下发map计算任务,并向第二计算节点下发reduce计算任务;
所述第一计算节点从所述分布式集群中获取所述map计算任务对应的第一子资源包和对应的第一旅客行为数据;
所述第一计算节点根据所述第一子资源包和所述第一旅客行为数据执行map计算任务生成第二旅客行为数据;
所述第二计算节点从所述分布式集群中获取所述reduce计算任务对应的第二子资源包;
所述第二计算节点根据所述第二子资源包和所述第二旅客行为数据执行reduce计算任务生成目标旅客行为数据;
所述第二计算节点将所述目标旅客行为数据存入所述分布式集群。
结合第一方面,在第一方面的第一种可能的实现方式中,所述客户端将对应所述计算任务的计算资源包存入分布式集群之后还包括:
所述客户端向分布式控制中心发送确认信息;
所述分布式控中心根据所述确认信息对所述计算任务进行初始化。
结合第一方面,在第一方面的第二种可能的实现方式中,所述方法还可包括:
所述分布式集群内的文件系统客户端节点从所述分布式集群内的分布式文件控制中心节点获取所述分布式集群内的第一数据节点的写入位置信息;
所述文件系统客户端节点向第一数据节点发出第一写入请求;所述第一写入请求指示待写入的数据,所述待写入的数据包括计算资源包或目标旅客行为数据;
所述第一数据节点根据所述第一写入请求写入所述待写入的数据之中部分数据;
所述第一数据节点向所述分布式集群内的第二数据节点发出第二写入请求;所述第二数据节点与第一数据节点为相邻数据节点;
所述第二数据节点根据所述第二写入请求写入所述待写入的数据之中余下部分数据。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第二数据节点根据所述第二写入请求写入余下部分数据之后还包括:
所述第一数据节点接收第二数据节点返回的成功写入信息;
所述第一数据节点向所述文件系统客户端节点反馈数据写入完成信息。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:
所述第一数据节点或第二数据节点中还根据所述第一数据节点或第二数据节点中写入的所述数据建立与所述数据对应的副本;
所述第一数据节点或第二数据节点存储所述副本。
结合第一方面的第种二可能的实现方式,在第一方面的第五种可能的实现方式中,所述文件系统客户端节点从所述分布式文件控制中心节点获取文件位置信息;
所述文件系统客户端节点根据所述位置信息从对应的所述第一数据节点和所述第二数据节点中读取数据;
所述文件系统客户端节点将读取的数据汇总并进行本地存储。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式、第一方面的第四种可能的实现方式和第一方面的第五种可能的实现方式之中任意一种,在第一方面的第六种可能的实现方式中,所述第一旅客行为数据包括离岗信息,所述离岗信息包括身份证ID,起飞城市和到达城市。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述第一计算节点根据所述第一子资源包和所述第一旅客行为数据执行map计算任务生成第二旅客行为数据包括:
所述第一计算节点根据身份证ID、起飞城市和到达城市获取身份证ID、城市和总数,所述总数包含相同的起飞城市和到达城市出现的数量之和;
所述第一计算节点生成包含身份证ID以及与身份证ID对应的所有城市和总数的第二旅客行为数据。
结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述第二旅客行为数据还包括常旅客信息和手机归属地信息;
所述常旅客信息包括身份证ID、手机号码和邮件地址;
所述手机归属地信息包括手机号码和归属地。
结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,所述第二计算节点根据所述第二子资源包和所述第二旅客行为数据执行reduce计算任务生成目标旅客行为数据包括:
所述第二计算节点根据第二旅客行为数据获取常旅地信息;所述常旅地信息包括身份证ID以及与身份证ID对应的总数前两名的城市和对应所述城市的总数;
所述第二计算节点根据常旅客数据、手机归属地数据和常旅地信息获取目标旅客行为数据,所述目标旅客行为数据包括身份证ID和常住地。
本发明第二方面还提供一种旅客行为数据分布式处理系统,可包括:
分布式控制中心,用于接收客户端发出的计算任务,
还用于根据所述计算任务从所述分布式集群中获取所述计算资源包的输入分割信息,
还用于根据所述输入分割信息向第一计算节点下发map计算任务,并向第二计算节点下发reduce计算任务;
客户端,用于向所述分布式控制中心发出的计算任务,
还用于将所述计算任务对应的计算资源包存入分布式集群;
分布式集群,用于为分布式控制中心、客户端、第一计算节点和第二计算节点提供数据存取;
第一计算节点,用于从所述分布式集群中获取所述map计算任务对应的第一子资源包和对应的第一旅客行为数据,
还用于根据所述第一子资源包和所述第一旅客行为数据执行map计算任务生成第二旅客行为数据;
第二计算节点,用于从所述分布式集群中获取所述reduce计算任务对应的第二子资源包,
还用于根据所述第二子资源包和所述第二旅客行为数据执行reduce计算任务生成目标旅客行为数据,
还用于将所述目标旅客行为数据存入所述分布式集群。
结合第二方面,在第二方面的第一种可能的实现方式中,所述客户端还
用于向分布式控制中心发送确认信息;
所述分布式控中心还用于根据所述确认信息对所述计算任务进行初始化。
结合第二方面,在第二方面的第二种可能的实现方式中,所述分布式集群可包括:
文件系统客户端节点,用于从分布式文件控制中心节点获取所述第一数据节点的写入位置信息,
还用于向第一数据节点发出第一写入请求;
分布式文件控制中心节点,存储有第一数据节点的写入位置信息;
第一数据节点,用于根据所述第一写入请求写入所述待写入的数据之中部分数据,
还用于向所述分布式集群内的第二数据节点发出第二写入请求;
第二数据节点,用于根据所述第二写入请求写入所述待写入的数据之中余下部分数据。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述分布式集群包括:
文件系统客户端节点,用于从分布式文件控制中心节点获取所述第一数据节点的写入位置信息,
还用于向第一数据节点发出第一写入请求;
分布式文件控制中心节点,存储有第一数据节点的写入位置信息;
第一数据节点,用于根据所述第一写入请求写入所述待写入的数据之中部分数据,
还用于向所述分布式集群内的第二数据节点发出第二写入请求;
第二数据节点,用于根据所述第二写入请求写入所述待写入的数据之中余下部分数据。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一数据节点还用于接收第二数据节点返回的成功写入信息;
所述第一数据节点还用于向所述文件系统客户端节点反馈数据写入完成信息。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述文件系统客户端节点还用于从所述分布式文件控制中心节点获取文件位置信息;
所述文件系统客户端节点还用于根据所述位置信息从对应的所述第一数据节点和所述第二数据节点中读取数据;
所述文件系统客户端节点还用于将读取的数据汇总并进行本地存储。
从以上技术方案可以看出,本发明实施例具有以下优点:本发明实施例采用多台服务器集群进行map/reduce的分布式计算,将每一计算任务进行分割,即将计算任务的计算资源包分为多个子资源包,分别在不同的第一计算节点中进行map运算,即对数据首先对要分析的旅客行为数据中的每个元素进行计算,从而获得有关联关系的旅客行为数据,而后再由第二计算节点对map运算后有关联关系的旅客行为数据进行化简操作的reduce运算,即根据需要的目标旅客行为数据对旅客行为数据进行简化,最终获取所需的目标行为数据,通过map/reduce的分布式计算相较于现有技术的时间花费而言,本发明实施例采用的分布式处理方法能够快速有效的获取旅客行为数据,并且能准确的分析旅客的行为数据,大大提高旅客行为分析的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中处理方法的一个实施例图;
图2是本发明实施例中处理方法的另一个实施例图;
图3是本发明实施例中处理方法的另一个实施例图;
图4是本发明实施例中处理方法的另一个实施例图;
图5是本发明实施例中处理系统的一个实施例图;
图6是本发明实施例中处理系统的另一个实施例图;
图7是本发明实施例中处理系统的另一个实施例图。
具体实施方式
本发明实施例提供了一种旅客行为数据分布式处理方法及系统,用于解决现有技术针对旅客行为数据分析时间过长,无法及时获得所需信息的问题。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
请参阅图1,图1为本发明实施例中处理方法的一个实施例图,如图1所示,本发明的一个实施例提供一种业务处理方法,可包括以下内容:
101、分布式控制中心接收客户端发出的计算任务;
该计算任务由客户端发出,该计算任务基于第一旅客行为数据,即本计算任务是对第一旅客行为数据进行处理。
102、客户端将计算任务对应的计算资源包存入分布式集群;
由提交计算任务的客户端将包含具体运算的计算资源存入分布式集群,该计算资源包括完成计算任务所必须的资源,如计算规则等。
103、分布式控制中心根据计算任务从分布式集群中获取计算资源包的输入分割信息;
输入分割信息用于指示计算资源包被分割后的子资源包。
104、分布式控制中心根据输入分割信息向第一计算节点下发map计算任务,并向第二计算节点下发reduce计算任务;
105、第一计算节点从分布式集群中获取map计算任务对应的第一子资源包和对应的第一旅客行为数据;
106、第一计算节点根据第一子资源包和第一旅客行为数据执行map计算任务生成第二旅客行为数据;
107、第二计算节点从分布式集群中获取reduce计算任务对应的第二子资源包;
108、第二计算节点根据第二子资源包和第二旅客行为数据执行reduce计算任务生成目标旅客行为数据;
109、第二计算节点将目标旅客行为数据存入分布式集群。
可以看出,步骤104至108为一次map/reduce计算的过程,由map计算对第一旅客行为数据中的每个元素进行处理,将其整理成按照关键字关联的数据集合,而后由reduce计算根据计算的目标,按照关键字对已经整理好的数据结合进行删减和合并操作,最终得出目标旅客行为数据。
本发明实施例方法采用多台服务器集群进行map/reduce的分布式计算,将每一计算任务进行分割,即将计算任务的计算资源包分为多个子资源包,分别在不同的第一计算节点中进行map运算,即对数据首先对要分析的旅客行为数据中的每个元素进行计算,从而获得有关联关系的旅客行为数据,而后再由第二计算节点对map运算后有关联关系的旅客行为数据进行化简操作的reduce运算,即根据需要的目标旅客行为数据对旅客行为数据进行简化,最终获取所需的目标行为数据,通过map/reduce的分布式计算相较于现有技术的时间花费而言,本发明实施例采用的分布式处理方法能够快速有效的获取旅客行为数据,并且能准确的分析旅客的行为数据,大大提高旅客行为分析的效率。
作为可选的,在步骤102后,还可包括:
客户端向分布式控制中心发送确认信息;
分布式控中心根据确认信息对计算任务进行初始化。
分布式控制中心需要对客户端的计算任务进行确认,在确认后将会进行计算任务运行前的初始化操作,以保证计算任务的正确开始。
在本发明方法的实施例中,除运算计算任务采用分布式方法,分布式集群针对数据的存储和读取的操作也是采用分布式方法;以下将会分别予以说明。
一,分布式方法存储数据,请参阅图2,图2为本发明实施例中处理方法的另一实施例图,该实施例图对分布式集群的数据分布式存入的方式进行了描述,包括:
201、分布式集群内的文件系统客户端节点从分布式集群内的分布式文件控制中心节点获取分布式集群内的第一数据节点的写入位置信息;
在存入数据时,文件系统客户端节点首先向分布式文件控制中心节点发送写入请求,分布式文件控制中心节点负责规划所有数据节点,分布式文件控制中心在对写入请求和空闲的数据节点进行分析后,会向客户端节点返回写入位置信息。
202、文件系统客户端节点向第一数据节点发出第一写入请求;
第一写入请求指示待写入的数据,待写入的数据包括计算资源包或目标旅客行为数据,在获取写入位置信息后,即可向具有该写入位置信息的第一数据节点发送第一写入请求以便于存入数据。
203、第一数据节点根据第一写入请求写入待写入的数据之中部分数据;
第一数据节点在接收第一写入请求后,会写入文件系统客户端节点所要求写入的数据,并且第一数据节点之中仅会存储所有数据之中的部分数据,具体存储数据的量根据预先制定的规则有所不同,一般为完成某一项计算任务所需的数据的最小集合。
204、第一数据节点向分布式集群内的第二数据节点发出第二写入请求;
第二数据节点与第一数据节点为相邻数据节点。由第二数据节点接收第一数据节点发出的第二写入请求。
205、第二数据节点根据第二写入请求写入待写入的数据之中余下部分数据。
剩余的数据会依次按预先制定规则存入第二数据节点,可以理解的是,第二数据节点在剩余的数据没有存储完时,还会向第三数据节点发送第三写入请求,即第二数据节点代表这一类存储剩余数据的数据节点,直到所有数据均存储完毕。
分布式集群采用数据分布式存入的方式,能够为计算任务提供良好的数据基础,数据分布式存储不仅能够更快的被存入或者读取,而且易于对存储进行扩展,在面对庞大的数据量时,保持现有存储设备的基础上添加存储设备即可,而非采用将现有存储设备更换更大容量的存储设备,从而能够进一步降低设备存储扩容成本,提高工作效率。
可以理解的是,数据节点的数量不仅包括上述第一数据节点和第二数据节点,而是根据数据存储需要设置多个数据节点。
作为可选的,第一数据节点或第二数据节点中还根据第一数据节点或第二数据节点中写入的数据建立与数据对应的副本;
第一数据节点或第二数据节点存储副本。
建立该副本的作用主要是为了针对数据可能出现丢失的情况而导致的计算任务无法进行,进一步导致旅客行为数据分析无法进行的情形,而此副本会在原数据出现问题时替换掉原数据,保证旅客行为数据分析的顺利进行。
其中,在步骤205之后还包括:
206、第一数据节点接收第二数据节点返回的成功写入信息;
在第二数据节点完成数据的写入后,会向第一数据节点返回成功写入信息,以此类推,若有第三数据节点,则会在第二数据节点向第一数据节点返回成功写入信息之前向第二数据节点返回成功写入信息。
207、第一数据节点向文件系统客户端节点反馈数据写入完成信息。
当第一数据节点接收到成功写入信息时,表示所有的数据写入已经完成,此时会向文件系统客户端节点反馈数据写入完成信息,使文件顺利接入。
在写入数据时,文件系统客户端节点仅需要与第一数据节点之间直接通讯,而与其他数据节点通过该第一数据节点通讯,当第一数据节点以外的数据节点返回给第一数据节点成功写入信息后,即意味着所有数据已经成功写入,第一数据节点会给予文件系统客户端节点反馈数据写入完成信息,能使文件系统客户端节点获知数据写入已经完成,方便执行后续操作,从而提高方法的可实现性。
二,分布式方法读取数据,请参阅图3,图3为本发明实施例中处理方法的另一实施例图,该实施例图对分布式集群的数据分布式存入的方式进行了描述,包括:
301、文件系统客户端节点从分布式文件控制中心节点获取文件位置信息;
在读取数据时,文件系统客户端节点首先向分布式文件控制中心节点发送读取请求,分布式文件控制中心节点负责规划所有数据节点,分布式文件控制中心在对读取请求进行分析后,会向客户端节点返回具有请求中数据的数据节点的位置信息。
302、文件系统客户端节点根据位置信息从对应的第一数据节点和第二数据节点中读取数据;
由于存储时采用的是分布式存储,用于数据存储的数据节点可以是多个,在读取数据时,会从多个数据节点中读取数据,如从第一数据节点和第二数据节点中读取数据。
303、文件系统客户端节点将读取的数据汇总并进行本地存储。
在将所有的数据都读取到之后,会对所读取到的数据进行汇总,然后进行本地存储,便于其他程序或设备使用这些数据。
可以理解的是,数据节点的数量不仅包括上述第一数据节点和第二数据节点,而是根据数据存储需要设置多个数据节点。由于同时读取存储于多个数据节点中的数据,读取速度大大加快,再将数据汇总并进行本地存储,能提高数据读取效率。
在本发明方法的实施例中,第一计算节点和第二计算节点的具体计算过程根据目标旅客行为数据的不同而不同,请参阅图4,图4为本发明实施例中处理方法的另一实施例图,其中,步骤401至步骤404与前述步骤101至步骤104的作用相似,此处不再赘述;在本实施例中,
步骤405、第一计算节点从分布式集群中获取map计算任务对应的第一子资源包和对应的第一旅客行为数据;
其中,本实施例中第一旅客行为数据包括离岗信息,离岗信息包括身份证ID,起飞城市和到达城市,为后续的计算任务以离岗信息为基础。
需要说明的是,离岗信息不仅限于包含此三类信息,还可包括如起飞日期,航班号,行李数量,行李重量,航线里程,航班舱位等信息,可根据目标旅客行为数据的需要进行添加,具体不作限定。
步骤406、第一计算节点根据身份证ID、起飞城市和到达城市获取身份证ID、城市和总数,总数包含相同的起飞城市和到达城市出现的数量之和;
其中,以离岗信息作为第一旅客行为数据为例;为了方便描述,后续集合以X集合{A数据,B数据}进行描述,其中{A数据,B数据}表示X集合的数据结构。将离岗信息作为一个集合A{身份证ID,起飞城市,到达城市,起飞日期,航班号,行李数量,行李重量,航线里程,航班舱位},第一计算节点的map计算针对离岗信息进行,最终要获取的目标旅客行为数据包括身份证ID和常住地;
第一计算节点的map计算过程包括:
首先对集合A根据{身份证ID,起飞城市}进行分组求和,统计出来城市地址,并生成C1集合{身份证ID,起飞城市,总数};
再对集合A根据{身份证ID,到达城市}进行分组求和,统计出来城市地址,并生成C1集合{身份证ID,到达城市,总数};
再对C1集合和C2结合进行合并,得到C3集合{身份证ID,城市,总数},其中对集合C1和集合C2中起飞城市或到达城市进行合并为城市,即忽略该起飞或是到达特征。
步骤407、第一计算节点生成包含身份证ID以及与身份证ID对应的所有城市和总数的第二旅客行为数据;
在上述步骤之后,再由第一计算节点按照身份证ID特征进行分组得到C4集合{身份证ID,{(城市1,总数1),(城市2,总数2),(城市3,总数3)...(城市n,总数n)}},并将该C4集合作为第二旅客行为数据之一参与后续第二计算节点的reduce计算。
步骤408、第二计算节点根据第二旅客行为数据获取常旅地信息;常旅地信息包括身份证ID以及与身份证ID对应的总数前两名的城市和对应城市的总数;
其中,第二旅客行为数据还包括常旅客信息和手机归属地信息;常旅客数据包括身份证ID、手机号码和邮件地址;手机归属地数据包括手机号码和归属地,其中常旅客信息为B集合{身份证ID,手机号码,email},手机归属地信息为D集合{手机号码,归属省份}。
第二计算节点的具体reduce计算过程包括:
首先对第二旅客行为数据中的C4集合以关键字(城市,总数)对C4集合内元素进行排序,并保留总数前两名的元素,得到常旅地信息的集合C{身份证ID,{(城市1,总数1),(城市2,总数2)}}。
步骤409、第二计算节点根据常旅客数据、手机归属地数据和常旅地信息获取目标旅客行为数据;
第二计算节点将B集合与D集合按照关键字(手机号码)进行关联,获取集合E{身份证ID,手机号码,email,手机号码,归属省份};
再将E集合与C集合按照关键字(身份证ID),进行关联获取集合E1{身份证ID,{(城市1,总数1),(城市2,总数2)},身份证ID,手机号码,email,手机号码,手机号归属省份};
最终通过E1集合按照不同属性按照不同的权重计算每个乘客最可能的常住地。最终获取目标旅客行为数据的集合F{身份证ID,常住地}。
上面对本发明实施例的方法进行了介绍,下面对本发明实施例系统进行介绍,请参阅图5,图5为本发明实施例中系统的一个实施例图,该系统可包括:
分布式控制中心501,用于接收客户端发出的计算任务,
还用于根据计算任务从分布式集群503中获取计算资源包的输入分割信息,
还用于根据输入分割信息向第一计算节点504下发map计算任务,并向第二计算节点505下发reduce计算任务;
客户端502,用于向分布式控制中心501发出的计算任务,
还用于将计算任务对应的计算资源包存入分布式集群503;
分布式集群503,用于为分布式控制中心501、客户端502、第一计算节点504和第二计算节点505提供数据存取;
第一计算节点504,用于从分布式集群503中获取map计算任务对应的第一子资源包和对应的第一旅客行为数据,
还用于根据第一子资源包和第一旅客行为数据执行map计算任务生成第二旅客行为数据;
第二计算节点505,用于从分布式集群503中获取reduce计算任务对应的第二子资源包,
还用于根据第二子资源包和第二旅客行为数据执行reduce计算任务生成目标旅客行为数据,
还用于将目标旅客行为数据存入分布式集群503。
本发明实施例系统采用多台服务器集群进行map/reduce的分布式计算,有客户端502将每一计算任务进行分割,即将计算任务的计算资源包分为多个子资源包,在分布式控制中心501的控制下分别在不同的第一计算节点504中进行map运算,即对数据首先对要分析的旅客行为数据中的每个元素进行计算,从而获得有关联关系的旅客行为数据,而后再由第二计算节505点对map运算后有关联关系的旅客行为数据进行化简操作的reduce运算,即根据需要的目标旅客行为数据对旅客行为数据进行简化,最终获取所需的目标行为数据,数据的存储和读取由分布式集群503提供,通过map/reduce的分布式计算相较于现有技术的时间花费而言,本发明实施例采用的分布式处理方法能够快速有效的获取旅客行为数据,并且能准确的分析旅客的行为数据,大大提高旅客行为分析的效率。
其中,客户端502还用于向分布式控制中心501发送确认信息;
分布式控中心501还用于根据确认信息对计算任务进行初始化。
下面以一个实际的应用场景对系统中各部件的交互进行描述,
首先由分布式控制中心501接收客户端502发出的计算任务;再由客户端502将计算任务对应的计算资源包存入分布式集群503;接着分布式控制中心501根据计算任务从分布式集群503中获取计算资源包的输入分割信息;之后分布式控制中心501根据输入分割信息向第一计算节点504下发map计算任务,并向第二计算节点505下发reduce计算任务;由第一计算节点504从分布式集群中获取map计算任务对应的第一子资源包和对应的第一旅客行为数据;并由第一计算节504点根据第一子资源包和第一旅客行为数据执行map计算任务生成第二旅客行为数据;再由第二计算节点505从分布式集群中获取reduce计算任务对应的第二子资源包;并由第二计算节点505根据第二子资源包和第二旅客行为数据执行reduce计算任务生成目标旅客行为数据;最终第二计算节点505将目标旅客行为数据存入分布式集群。
在本发明实施例系统中,数据的存储和读取采用分布式存储或读取,请参阅图6,图6为本发明实施例中系统的另一个实施例,针对分布式集群603中数据的存储,该分布式集群603包括:
文件系统客户端节点6031,用于从分布式文件控制中心节点6032获取第一数据节点6033的写入位置信息,
还用于向第一数据节点6033发出第一写入请求;
分布式文件控制中心节点6032,存储有第一数据节点6033的写入位置信息;
第一数据节点6033,用于根据第一写入请求写入待写入的数据之中部分数据,
还用于向第二数据节点6034发出第二写入请求;
第二数据节点6034,用于根据第二写入请求写入待写入的数据之中余下部分数据。
分布式集群603采用数据分布式存入的方式,能够为计算任务提供良好的数据基础,数据分布式存储不仅能够更快的被存入或者读取,而且易于对存储进行扩展,在面对庞大的数据量时,保持现有存储设备的基础上添加存储设备即可,而非采用将现有存储设备更换更大容量的存储设备,从而能够进一步降低设备存储扩容成本,提高工作效率。
可以理解的是,数据节点的数量不仅包括上述第一数据节点6033和第二数据节点6034,而是根据数据存储需要设置多个数据节点。
其中,第一数据节点6033还用于接收第二数据节点6034返回的成功写入信息;
第一数据节点6033还用于向文件系统客户端节点6031反馈数据写入完成信息。
在写入数据时,文件系统客户端节点6031仅需要与第一数据节点6033之间直接通讯,而与其他数据节点通过该第一数据节点6033通讯,当第一数据节点6033以外的数据节点返回给第一数据节点成功写入信息后,即意味着所有数据已经成功写入,第一数据节点6033会给予文件系统客户端节点6031反馈数据写入完成信息,能使文件系统客户端节点6031获知数据写入已经完成,方便执行后续操作,从而提高方法的可实现性。
下面以一个实际的应用场景对系统中各部件的交互进行描述,
首先文件系统客户端节点6031从分布式文件控制中心节点6032获取第一数据节点6033的写入位置信息;再由文件系统客户端节点6031向第一数据节点6033发出第一写入请求;接着第一数据节点6033根据第一写入请求写入待写入的数据之中部分数据;第一数据节点6033向第二数据节点6034发出第二写入请求;第二数据节点6034与第一数据节点6033为相邻数据节点;第二数据节点6034根据第二写入请求写入待写入的数据之中余下部分数据;接着由第二数据节点6034向第一数据节点6033返回的成功写入信息,并由第一数据节点6033还用于向文件系统客户端节点6031反馈数据写入完成信息,完成数据写入的过程。
请参阅图7,图7为本发明实施例中系统的另一实施例图,针对数据的读取,其中,文件系统客户端节点7031还用于从分布式文件控制中心节点7032获取文件位置信息;
文件系统客户端节点7031还用于根据位置信息从对应的第一数据节点7033和第二数据节点7034中读取数据;
文件系统客户端节点7031还用于将读取的数据汇总并进行本地存储。
在本发明实施例系统中,由于同时读取存储于多个数据节点中的数据,读取速度大大加快,再将数据汇总并进行本地存储,能提高数据读取效率。
下面以一个实际的应用场景对系统中各部件的交互进行描述,文件系统客户端节点7031从分布式文件控制中心节点7032获取文件位置信息,并根据位置信息从对应的第一数据节点7033和第二数据节点7034中读取数据,最后将读取的数据汇总并进行本地存储。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Acce Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (13)
1.一种旅客行为数据分布式处理方法,其特征在于,包括:
分布式控制中心接收客户端发出的计算任务;所述计算任务基于第一旅客行为数据;
所述客户端将所述计算任务对应的计算资源包存入分布式集群;
所述分布式控制中心根据所述计算任务从所述分布式集群中获取所述计算资源包的输入分割信息,所述输入分割信息用于指示所述计算资源包被分割后的子资源包;
所述分布式控制中心根据所述输入分割信息向第一计算节点下发map计算任务,并向第二计算节点下发reduce计算任务;
所述第一计算节点从所述分布式集群中获取所述map计算任务对应的第一子资源包和对应的第一旅客行为数据;
所述第一计算节点根据所述第一子资源包和所述第一旅客行为数据执行map计算任务生成第二旅客行为数据;
所述第二计算节点从所述分布式集群中获取所述reduce计算任务对应的第二子资源包;
所述第二计算节点根据所述第二子资源包和所述第二旅客行为数据执行reduce计算任务生成目标旅客行为数据;
所述第二计算节点将所述目标旅客行为数据存入所述分布式集群;
所述分布式集群内的文件系统客户端节点从所述分布式集群内的分布式文件控制中心节点获取所述分布式集群内的第一数据节点的写入位置信息;
所述文件系统客户端节点向第一数据节点发出第一写入请求;所述第一写入请求指示待写入的数据,所述待写入的数据包括计算资源包或目标旅客行为数据;
所述第一数据节点根据所述第一写入请求写入所述待写入的数据之中部分数据;
所述第一数据节点向所述分布式集群内的第二数据节点发出第二写入请求;所述第二数据节点与第一数据节点为相邻数据节点;
所述第二数据节点根据所述第二写入请求写入所述待写入的数据之中余下部分数据。
2.根据权利要求1所述的旅客行为数据分布式处理方法,其特征在于,所述客户端将对应所述计算任务的计算资源包存入分布式集群之后还包括:
所述客户端向分布式控制中心发送确认信息;
所述分布式控中心根据所述确认信息对所述计算任务进行初始化。
3.根据权利要求1所述的旅客行为数据分布式处理方法,其特征在于,所述第二数据节点根据所述第二写入请求写入余下部分数据之后还包括:
所述第一数据节点接收第二数据节点返回的成功写入信息;
所述第一数据节点向所述文件系统客户端节点反馈数据写入完成信息。
4.根据权利要求1所述的旅客行为数据分布式处理方法,其特征在于,所述方法还包括:
所述第一数据节点或第二数据节点中还根据所述第一数据节点或第二数据节点中写入的所述数据建立与所述数据对应的副本;
所述第一数据节点或第二数据节点存储所述副本。
5.根据权利要求1所述旅客行为数据分布式处理方法,其特征在于,所述方法还包括:
所述文件系统客户端节点从所述分布式文件控制中心节点获取文件位置信息;
所述文件系统客户端节点根据所述位置信息从对应的所述第一数据节点和所述第二数据节点中读取数据;
所述文件系统客户端节点将读取的数据汇总并进行本地存储。
6.根据权利要求1至5中任一项所述的旅客行为数据分布式处理方法,其特征在于:所述第一旅客行为数据包括离岗信息,所述离岗信息包括身份证ID,起飞城市和到达城市。
7.根据权利要求6所述的旅客行为数据分布式处理方法,其特征在于,所述第一计算节点根据所述第一子资源包和所述第一旅客行为数据执行map计算任务生成第二旅客行为数据包括:
所述第一计算节点根据身份证ID、起飞城市和到达城市获取身份证ID、城市和总数,所述总数包含相同的起飞城市和到达城市出现的数量之和;
所述第一计算节点生成包含身份证ID以及与身份证ID对应的所有城市和总数的第二旅客行为数据。
8.根据权利要求7所述的旅客行为数据分布式处理方法,其特征在于,所述第二旅客行为数据还包括常旅客信息和手机归属地信息;
所述常旅客信息包括身份证ID、手机号码和邮件地址;
所述手机归属地信息包括手机号码和归属地。
9.根据权利要求8所述的旅客行为数据分布式处理方法,所述第二计算节点根据所述第二子资源包和所述第二旅客行为数据执行reduce计算任务生成目标旅客行为数据包括:
所述第二计算节点根据第二旅客行为数据获取常旅地信息;所述常旅地信息包括身份证ID以及与身份证ID对应的总数前两名的城市和对应所述城市的总数;
所述第二计算节点根据常旅客数据、手机归属地数据和常旅地信息获取目标旅客行为数据,所述目标旅客行为数据包括身份证ID和常住地。
10.一种旅客行为数据分布式处理系统,其特征在于,包括:
分布式控制中心,用于接收客户端发出的计算任务,
还用于根据所述计算任务从所述分布式集群中获取所述计算资源包的输入分割信息,
还用于根据所述输入分割信息向第一计算节点下发map计算任务,并向第二计算节点下发reduce计算任务;
客户端,用于向所述分布式控制中心发出的计算任务,
还用于将所述计算任务对应的计算资源包存入分布式集群;
分布式集群,用于为分布式控制中心、客户端、第一计算节点和第二计算节点提供数据存取;
第一计算节点,用于从所述分布式集群中获取所述map计算任务对应的第一子资源包和对应的第一旅客行为数据,
还用于根据所述第一子资源包和所述第一旅客行为数据执行map计算任务生成第二旅客行为数据;
第二计算节点,用于从所述分布式集群中获取所述reduce计算任务对应的第二子资源包,
还用于根据所述第二子资源包和所述第二旅客行为数据执行reduce计算任务生成目标旅客行为数据,
还用于将所述目标旅客行为数据存入所述分布式集群;
所述分布式集群包括:
文件系统客户端节点,用于从分布式文件控制中心节点获取所述第一数据节点的写入位置信息,
还用于向第一数据节点发出第一写入请求;所述第一写入请求指示待写入的数据,所述待写入的数据包括计算资源包或目标旅客行为数据;
分布式文件控制中心节点,存储有第一数据节点的写入位置信息;
第一数据节点,用于根据所述第一写入请求写入所述待写入的数据之中部分数据,
还用于向所述分布式集群内的第二数据节点发出第二写入请求;
第二数据节点,用于根据所述第二写入请求写入所述待写入的数据之中余下部分数据。
11.根据权利要求10所述的旅客行为数据分布式处理系统,其特征在于:
所述客户端还用于向分布式控制中心发送确认信息;
所述分布式控中心还用于根据所述确认信息对所述计算任务进行初始化。
12.根据权利要求11所述的旅客行为数据分布式处理系统,其特征在于:
所述第一数据节点还用于接收第二数据节点返回的成功写入信息;
所述第一数据节点还用于向所述文件系统客户端节点反馈数据写入完成信息。
13.根据权利要求11所述的旅客行为数据分布式处理系统,其特征在于:
所述文件系统客户端节点还用于从所述分布式文件控制中心节点获取文件位置信息;
所述文件系统客户端节点还用于根据所述位置信息从对应的所述第一数据节点和所述第二数据节点中读取数据;
所述文件系统客户端节点还用于将读取的数据汇总并进行本地存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510202812.9A CN104765875B (zh) | 2015-04-24 | 2015-04-24 | 一种旅客行为数据分布式处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510202812.9A CN104765875B (zh) | 2015-04-24 | 2015-04-24 | 一种旅客行为数据分布式处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104765875A CN104765875A (zh) | 2015-07-08 |
CN104765875B true CN104765875B (zh) | 2016-09-28 |
Family
ID=53647702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510202812.9A Expired - Fee Related CN104765875B (zh) | 2015-04-24 | 2015-04-24 | 一种旅客行为数据分布式处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104765875B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512996A (zh) * | 2015-12-28 | 2016-04-20 | 中国民航信息网络股份有限公司 | 旅客最常出发地确定方法及系统 |
CN108959318A (zh) * | 2017-05-25 | 2018-12-07 | 郑州大学 | 基于rdf图的分布式关键词查询方法 |
WO2018218672A1 (zh) * | 2017-06-02 | 2018-12-06 | 深圳齐心集团股份有限公司 | 一种文具大数据分布式存储系统 |
CN107291846A (zh) * | 2017-06-02 | 2017-10-24 | 深圳齐心集团股份有限公司 | 一种文具大数据分布式存储系统 |
CN107704968B (zh) * | 2017-10-18 | 2021-07-06 | 吉林省电力科学研究院有限公司 | 一种分散距离整合的并行化的风电场输出功率预测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462544A (zh) * | 2014-12-24 | 2015-03-25 | 大连海天兴业科技有限公司 | 一种面向乘客需求的地铁/高铁车载服务器视频更新方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9596295B2 (en) * | 2013-06-29 | 2017-03-14 | Google Inc. | Computing connected components in large graphs |
-
2015
- 2015-04-24 CN CN201510202812.9A patent/CN104765875B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462544A (zh) * | 2014-12-24 | 2015-03-25 | 大连海天兴业科技有限公司 | 一种面向乘客需求的地铁/高铁车载服务器视频更新方法 |
Non-Patent Citations (1)
Title |
---|
使用MapReduce编程模型进行大规模FCD并行处理;杨喆 等;《电子技术》;20101231;17-19 * |
Also Published As
Publication number | Publication date |
---|---|
CN104765875A (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104765875B (zh) | 一种旅客行为数据分布式处理方法及系统 | |
CN107967575B (zh) | 一种人工智能保险咨询服务人工智能平台系统 | |
US8782051B2 (en) | System and method for text categorization based on ontologies | |
WO2017211051A1 (zh) | 目标对象的社交账号挖掘方法、服务器和存储介质 | |
CN107609217A (zh) | 碰撞校核数据的处理方法及装置 | |
CN104021189A (zh) | 一种民航旅客网络生成方法 | |
CN104077723A (zh) | 一种社交网络推荐系统及方法 | |
CN110032650A (zh) | 一种训练样本数据的生成方法、装置及电子设备 | |
CN107145574A (zh) | 数据库数据处理方法、装置及存储介质和电子设备 | |
Valejo et al. | A critical survey of the multilevel method in complex networks | |
Mughaid et al. | A smart geo-location job recommender system based on social media posts | |
CN102982112A (zh) | 排行榜生成方法、日志生成方法和服务器 | |
Tang et al. | Spatial task assignment based on information gain in crowdsourcing | |
CN106815274A (zh) | 基于Hadoop的日志数据挖掘方法及系统 | |
Mestria | A hybrid heuristic algorithm for the clustered traveling salesman problem | |
Budhiraja et al. | An improved approach for long tail advertising in sponsored search | |
Tekinerdoğan et al. | Classifying and evaluating architecture design methods | |
CN105787072A (zh) | 一种面向流程的领域知识抽取与推送方法 | |
Daud et al. | Scalable link prediction in twitter using self-configured framework | |
CN109783559A (zh) | 房产交易数据的获取方法、装置、电子设备以及存储介质 | |
CN113392294A (zh) | 样本标注方法及装置 | |
CN108985555A (zh) | 用户输血的评价方法及相关产品 | |
Martín-Gutierrez et al. | A novel multi-modal framework for migrants integration based on AI tools and digital companion | |
Jin et al. | DLRankSVM: an efficient distributed algorithm for linear RankSVM | |
Hemalatha et al. | Literature survey on existing analytical schemes to optimize the mining results using incremental map reduce |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160928 |