一种数据表关联方法及装置转让专利

申请号 : CN201210196712.6

文献号 : CN103488657B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 温嘉佳何秀强潘璐伽

申请人 : 华为技术有限公司

摘要 :

本发明实施例提供一种数据表关联方法及装置,涉及网络信息处理领域,能够有效提高数据关联分析的执行效率,实现数据关联分析的准实时性。该方法包括:读取分布式计算系统文件,根据数值关系分析中的等值条件以所述系统文件中任意两个数据源各自的属性值建立满足所述等值条件的键值对,其中所述数据源中每条数据记录与所述数据源各自的属性值之间具有固定函数关系;将建立所述键值对的任意两个数据源中的数据记录分别按照各自满足的固定函数关系提供的顺序进行遍历,在所述两个数据源中找到各自固定函数关系之间满足最优条件的数据记录。本发明实施实例应用于数据表关联处理。

权利要求 :

1.一种数据表关联方法,其特征在于,包括:

读取分布式计算系统文件,根据数值关系分析中的等值条件以所述系统文件中任意两个数据源各自的属性值建立满足所述等值条件的键值对,其中所述数据源中每条数据记录与所述数据源各自的属性值之间具有固定函数关系;

将建立所述键值对的任意两个数据源中具有相同键值的数据记录分别按照各自满足的固定函数关系进行排序,将排序后生成的不同序列分别进行遍历,在所述两个数据源中找到各自固定函数关系之间满足最优条件的数据记录。

2.根据权利要求1所述的方法,其特征在于,所述将建立所述键值对的任意两个数据源中的数据记录分别按照各自满足的固定函数关系提供的顺序进行遍历前,还包括:将建立所述键值对的任意两个数据源中具有相同键值的数据记录分别按照各自满足的固定函数关系进行排序。

3.根据权利要求1或2所述的方法,其特征在于,所述在所述两个数据源中找到各自固定函数关系之间满足最优条件的数据记录之后,还包括:在所述两个数据源中按照所述最优条件的顺序搜索所述两个数据源各自固定函数关系之间符合满足性条件的数据记录。

4.一种数据表关联装置,其特征在于,包括:

至少一个映射器,用于读取分布式计算系统文件,根据数值关系分析中的等值条件以所述系统文件中任意两个数据源各自的属性值建立满足所述等值条件的键值对,其中所述数据源中每条数据记录与所述数据源各自的属性值之间具有固定函数关系;

至少一个遍历器,所述遍历器包括:洗牌模块,用于将建立所述键值对的任意两个数据源中具有相同键值的数据记录分别按照各自满足的固定函数关系进行排序;遍历模块,用于将排序后生成的不同序列分别进行遍历;所述遍历器,还用于在所述两个数据源中找到各自固定函数关系之间满足最优条件的数据记录。

5.根据权利要求4所述的装置,其特征在于,所述装置还包括:

洗牌器,用于将建立所述键值对的任意两个数据源中具有相同键值的数据记录分别按照各自满足的固定函数关系进行排序。

6.根据权利要求4或5所述的装置,其特征在于,所述遍历器还用于在所述两个数据源中按照所述最优条件的顺序搜索所述两个数据源各自固定函数关系之间符合满足性条件的数据记录。

说明书 :

一种数据表关联方法及装置

技术领域

[0001] 本发明涉及网络信息处理领域,尤其涉及一种数据表关联方法及装置。

背景技术

[0002] 当今我们处在大数据时代,据统计人类每天产生的数据量超过2.5quintillion(10^18)字节,在过去两年产生的数据量占人类收集数据总量的90%,而且随着移动宽带网络、sensor network(传感器网络)、RFID(radio frequency identification devices,无线射频识别)等技术的快速发展,人类产生数据的速度还在急速增长中。从海量数据中挖掘出有价值的信息,将数据转变为信息,进而发掘其中存在的商业价值成为技术热点,以帮助企业获得商业成功。进行数据挖掘的海量数据通常来自于多个数据源,某些有价值的信息只有通过关联分析隐藏在多个数据源间的关系才能获得。在电信网络中以信令分析为例,“信令风暴”是3G移动宽带网络面临的一个具有挑战性的问题。智能手机的快速普及是信令风暴产生的一个重要原因,表现为终端或业务心跳机制,引发连接请求次数和寻呼次数的大幅度增加,进而造成寻呼成功率和EV-DO掉话率劣化。3G网络中的信令分析希望通过将数据业务、终端类型等与信令消耗进行关联分析,了解不同数据业务、终端类型对信令消耗的不同影响,从而了解信令风暴产生的原因,从而给运营商提供解决或处理建议。
[0003] 在现有的技术中以底层的分布式文件系统HDFS(Hadoop Distributed File System)通过Map-reduce(映射-线性相关)构架实现数据关联的分析。通过Map-reduce针对多数据源的关联,Hadoop的DataJoin(数据连接)机制实现如下:以A,B数据源(表)用于关联的x1,y1作为映射的键值输出,针对具有相同键值的A,B表,进行笛卡尔积,从中选择满足条件的结果作为关联分析结果;从所有笛卡尔积的关联组合中,选择符合最优条件的记录。如果假设A表和B表相同键值的表项各自有n,m个,则关联阶段的算法复杂度为O(n*m)。如果A表和B表相同key值的表项过多,则计算复杂度相当高,因此极大地影响了关联分析的效率。

发明内容

[0004] 本发明的实施例提供一种数据表关联方法及装置,能够有效提高数据关联分析的执行效率,实现数据关联分析的准实时性。
[0005] 为达到上述目的,本发明的实施例采用如下技术方案:
[0006] 一方面,提供一种数据表关联方法,包括:
[0007] 读取分布式计算系统文件,根据数值关系分析中的等值条件以所述系统文件中任意两个数据源各自的属性值建立满足所述等值条件的键值对,其中所述数据源中每条数据记录与所述数据源各自的属性值之间具有固定函数关系;
[0008] 将建立所述键值对的任意两个数据源中的数据记录分别按照各自满足的固定函数关系提供的顺序进行遍历,在所述两个数据源中找到各自固定函数关系之间满足最优条件的数据记录。
[0009] 一方面,提供一种数据表关联的装置,包括:
[0010] 至少一个映射器,用于读取分布式计算系统文件,根据数值关系分析中的等值条件以所述系统文件中任意两个数据源各自的属性值建立满足所述等值条件的键值对,其中所述数据源中每条数据记录与所述数据源各自的属性值之间具有固定函数关系;
[0011] 至少一个遍历器,用于将建立所述键值对的任意两个数据源中的数据记录分别按照各自满足的固定函数关系提供的顺序进行遍历,在所述两个数据源中找到各自固定函数关系之间满足最优条件的数据记录。
[0012] 本发明的实施例提供一种数据表关联方法及装置,通过采用按顺序遍历的方法实现数据的关联,能够有效提高数据关联分析的执行效率,实现数据关联分析的准实时性。

附图说明

[0013] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014] 图1为本发明实施例提供的一种数据表关联的方法流程示意图;
[0015] 图2为本发明实施例提供的一种满足性条件搜索方法示意图;
[0016] 图3为本发明另一实施例提供的一种数据表关联的方法流程示意图;
[0017] 图4为本发明实施例提供的一种数据表关联装置示意图;
[0018] 图5为本发明另一实施例提供的一种数据表关联装置示意图;
[0019] 图6为本发明又一实施例提供的一种数据表关联装置示意图。

具体实施方式

[0020] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021] 参照图1所示,为本发明实施实例提供的数据表关联方法,包括以下步骤:
[0022] S101、读取分布式计算系统文件,根据数值关系分析中的等值条件以系统文件中任意两个数据源各自的属性值建立满足等值条件的键值对,其中数据源中每条数据记录与数据源各自的属性值之间具有固定函数关系;
[0023] 这里在S101中,以A、B两个数据源(数据表)为例,以数值关系分析中的等值条件(A.x1=B.y1)作为A、B两个数据源满足的等值条件,其中x1和y1分别为数据源A、B的属性值,以属性值x1和y1作为满足上述的等值条件的键值对输出。此外,A、B两个数据源中的每条数据记录分别与A、B之间存在固定的函数关系,这里以分别以A、B各自的属性值为变量,则有数据源A中的数据记录与A中的属性值的函数关系表示为f(x1,x2,......),数据源B中的数据记录与B中的属性值的函数关系表示为g(y1,y2,......),为了代表普遍的实用性,一个数据源中可能包含多个属性值,其中函数关系f(x1,x2,......)和g(y1,y2,......)中同时示出多个可用作A、B数据元之间建立键值对的属性值。
[0024] S102、将建立键值对的任意两个数据源的数据记录分别按照各自满足的固定函数关系提供的顺序进行遍历,在两个数据源中找到各自固定函数关系之间满足最优条件的数据记录。
[0025] 进一步可选的,步骤S102中将建立键值对的任意两个数据源中的数据记录分别按照各自满足的固定函数关系提供的顺序进行遍历包括:首先,将建立键值对的任意两个数据源中具有相同键值的数据记录分别按照各自满足的固定函数关系进行排序;其次,将排序后生成的不同序列分别进行遍历。
[0026] 以下只是以x1和y1作为满足上述的等值条件的键值对为例进行说明,对A和B表分别按照各自的函数关系f(x 1,x2,...)和g(y1,y2,...)排序后进行遍历。接下来为每一个A表中的记录,在B表中寻找一个寻找满足最优条件(MIN/MAX(f(x1,x2,...)-g(y1,y2,...))的记录,当然这里的最优条件只是以获取函数关系f(x1,x2,...)和g(y1,y2,...)的差值的最大或最小值为例,当然该最优条件可以根据需求通过函数关系f(x1,x2,...)和g(y1,y2,...)进行调整。由于两个序列已经排序,因此,只需要对排序的两个序列执行一次顺序遍历,即可完成A和B表的关联。这里假设A数据源中的数据记录按照函数关系f(x1,x2,...)的顺序为a11、a12、a13、a14,B数据源中的数据记录按照函数关系g(y1,y2,...)的顺序为b11、b12、b13,则因为如果|f(a1.x1,a1.x2,a1.x3...)-g(b1.y1,b1.y2,b1.y3...)|小于|f(a1.x1,a1.x2,a1.x3...)-g(b2.y1,b2.y2,b2.y3...)|,则b3及其往下的f(x1,x2,...)和g(y1,y2,...)函数之差只能越来越大。
[0027] 此时,假设具有相同键值对的A和B数据源中的数据记录长度为m,n,则对两个序列进行排序的算法复杂度为O(log2m+log2n),而对已排序的A和B表进行一次顺序遍历的算法复杂度为O(m+n),相比较现有技术Hadoop的DataJoin机制的算法复杂度O(m*n),在算法执行效率上有了很大的提高。
[0028] 本发明实施例提供的数据表关联方法,能够有效提高数据关联分析的执行效率,实现数据关联分析的准实时性。
[0029] 进一步的,参照图1所示,该方法还包括:
[0030] S103,在两个数据源中按照最优条件的顺序搜索两个数据源各自固定函数关系之间符合满足性条件的数据记录。
[0031] 这里参照图2所示的满足性条件搜索示意图,根据以上实施例提供的数据表关联方法,为数据源A中的记录A1,找到满足等值条件和最优条件的数据源B中的记录Bi。检测记录A1和记录Bi是否符合满足性条件,如果条件满足,则表述已经找到了同时满足等值条件、最优条件和满足性条件的记录,停止继续搜索。否则,则从B表中的当前位置向前、向后对各条记录逐一搜索,并保证搜索记录的顺序是按照最优化MIN/MAX {f(x1,x2...)-g(y1,y2...)}顺序,直到找到第一个符合满足性条件的记录,则该记录即为满足等值条件、满足性条件及最优条件的记录。在最坏情况下,对于A中的所有记录,需要遍历B表中的每一条记录,此时算法复杂度为O(m*n),这时与Hadoop的Datajoin的复杂度相同。若对于A中的记录,B中需要平均遍历的次数为C,则算法复杂度为O(C*m)。这里满足性条件也是f(x1,x2,......)和g(y1,y2,......)之间满足的自定义的特殊关系,因此满足性条件可以为多个。
[0032] 在实际问题中,最优化条件与满足性条件常常是相关的,很多情况下,符合最优化条件的记录也倾向于符合满足性条件,这样搜索到忽略满足性条件但符合最优化条件的记录或附近记录也较容易符合了满足性条件,因此平均遍历次数C<<|B|,因此算法复杂度相比现有技术会较小。
[0033] 可选的,参照图3所示,本发明另一实施例提供的一种数据表关联方法,包括以下步骤:
[0034] S301、读取分布式计算系统文件,根据数值关系分析中的等值条件以系统文件中任意两个数据源各自的属性值建立满足等值条件的键值对,其中数据源中每条数据记录与数据源各自的属性值之间具有固定函数关系;
[0035] 该步骤的具体实施方式可参照上一实施例中S101这里不再赘述。
[0036] S302、将建立键值对的任意两个数据源中具有相同键值的数据记录分别按照各自满足的固定函数关系进行排序。
[0037] 在实施例一中是分别针对A、B数据源中具有相同键值对的数据记录进行排序。当然这里可以统一的对A、B数据源中的数据记录按照键值进行排序,具有相同键值对的数据记录将会被输出到同一个序列中。这里的排序过程可以为同时按照键值和数据源固有的函数关系进行排序,即对相同键值的数据记录按照数据源固有的函数关系进行排序,记为:A表按照<x 1、f(x1,x2,...)>,B表按照<y1,g(y1,y2,...)>进行排序。
[0038] S303、将建立键值对的任意两个数据源的数据记录分别按照各自满足的固定函数关系提供的顺序进行遍历,在两个数据源中找到各自固定函数关系之间满足最优条件的数据记录。
[0039] 同样,这里只需要对具有相同键值(A为x1,B为y1)并且已经按照f(x1,x2,...)和g(y1,y2,...)排好序的序列,进行一次顺序遍历,即可完成数据关联分析。在实现排序过程并不会引起额外的计算复杂度。这样,关联分析的算法复杂度为O(m+n)。具体遍历的过程可以参照上一实施例步骤S102,这里不再赘述。
[0040] 本发明实施例提供的数据表关联方法,能够有效提高数据关联分析的执行效率,实现数据关联分析的准实时性。
[0041] 进一步,可选的参照图3所示,该方法还包括:
[0042] S304、在两个数据源中按照最优条件的顺序搜索两个数据源各自固定函数关系之间符合满足性条件的数据记录。
[0043] 该步骤的具体实施方式可参照上一实施例中S103这里不再赘述。
[0044] 以上本发明的实施例中抽象成的一般性问题具有普遍性,以上实施例中的方法可以直接应用到3G网络中信令日志和数据流的关联分析。其中,信令日志信息是从RNC设备的日志记录中获得的,而数据流则在GGSN处采集得到。其中,BS(Base station or NodeB,基站)、RNC(Radio Network Controller,无线网络控制器)、SGSN(Serving General Packet Radio Service Support Node,通用无线分组服务支持节点)及GGSN(Gateway GPRS Support Node,网关通用无线分组服务支持节点)构成了3G网络的基本架构。
[0045] 其中数据和信令的关联策略如下表所示:
[0046]
[0047] 表1、数据-信令关联策略
[0048] 如表1所示,其中,以A、B两个待关联分析的两个数据源(数据表)分别指代信令格式表和数据IP包格式表,当进行数据-信令关联时的主键为:SGSN IP、RNC IP、RNC TEID,通过信令和数据中各自带的时间信息进行限定,总结起来,关联条件如下:
[0049] 在信令格式表和数据IP包格式表建立等值条件Data.SRC_IP=Signal.SGSN_IP、Data.DST_IP=Signal.RNC_IP、Data.TEID=Signal.RNC_TEID可以抽象为对A,B两个待关联分析的两个数据源建立符合等值条件的键值对A.x1=B.y1、A.x2=B.y2、A.x3=B.y3;搜索信令格式表和数据IP包格式表中符合最优条件的记录既符合Data.TIME_DATA-(Signal.Access_TIME+Signal.RRC_RLS_TIME)/2的值最小可以抽象为两个数据源A、B各自的固定函数关系f(x1,x2....)和g(y1,y2...)之间满足最优条件MIN/MAX{f(x1,x2....)-g(y1,y2...)};
[0050] 如上所述f(x1,x2....)和g(y1,y2...)分别为以A和B的属性值g(这里在A中分别为x1、x2、x3...;在B中分别为y1,y2...)为变量的函数,即A(B)中的每一条数据记录均可以通过函数f(x1,x2....)(g(y1,y2...))获得一个确定的数值类型的值。例如,在上述3G网络信令分析中,数据流中的每一条记录在最优条件中的取值为TIME_DATA,而信令数据中的每一条记录的取值为(Signal.Access_TIME+Signal.RRC_RLS_TIME)/2,最优化条件为最小化两者间的差值。
[0051] 此时,假设具有相同键值对的A和B数据源中的数据记录长度为m,n,则对两个序列进行排序的算法复杂度为O(log2m+log2n),而对已排序的A和B表进行一次顺序遍历的算法复杂度为O(m+n),相比较现有技术Hadoop的DataJoin机制的算法复杂度O(m*n),通过本发明实施例提供的数据表关联方法对3G网络中信令日志和数据流的关联分析在算法执行效率上有了很大的提高。
[0052] 参照图4所示,本发明实施例提供的一种数据表关联装置4,包括:
[0053] 至少一个映射器41,用于读取分布式计算系统文件,根据数值关系分析中的等值条件以系统文件中任意两个数据源各自的属性值建立满足等值条件的键值对,其中数据源中每条数据记录与数据源各自的属性值之间具有固定函数关系;
[0054] 至少一个遍历器42,用于将建立键值对的任意两个数据源中的数据记录分别按照各自满足的固定函数关系提供的顺序进行遍历,在两个数据源中找到各自固定函数关系之间满足最优条件的数据记录。
[0055] 可选的,参照图5所示,遍历器42还包括:
[0056] 洗牌模块421,用于将建立键值对的任意两个数据源中具有相同键值的数据记录分别按照各自满足的固定函数关系进行排序;
[0057] 遍历模块422,用于将排序后生成的不同序列分别进行遍历。
[0058] 可选的,参照图6所示,该数据表关联装置4还包括:
[0059] 洗牌器43,用于将建立键值对的任意两个数据源中具有相同键值的数据记录分别按照各自满足的固定函数关系进行排序。
[0060] 进一步的,遍历器42还用于:所述遍历器还用于在两个数据源中按照最优条件的顺序搜索两个数据源各自固定函数关系之间符合满足性条件的数据记录。
[0061] 本发明实施例提供的数据表关联装置,能够有效提高数据关联分析的执行效率,实现数据关联分析的准实时性。
[0062] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0063] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。