一种分布式大数据处理方法转让专利

申请号 : CN201611258710.X

文献号 : CN106790620B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张全友寇琼洁陶战刚钱和平吴俊红

申请人 : 许昌学院

摘要 :

本发明提供了一种分布式大数据处理方法,涉及数据处理技术领域。将超立方体数据模型中的节点划分为两个子超立方体,然后分别对每个子超立方体中的数据进行处理,随着规模n的变化,超立方体模型分布式算法的时间复杂度明显低于时戳分布式算法和DFS最小生成树分布式算法的时间复杂度。当n>k时,超立方体模型分布式算法的效率明显高于时戳分布式算法和DFS最小生成树分布式算法的效率。

权利要求 :

1.一种分布式大数据处理方法,其特征在于,所述方法包括:

超立方体数据模型中具有n个节点,在该数据模型中随机选择一个节点作为中心元,然后将该中心元广播到其他节点,每个节点中的数据与该中心元的数据进行比较,其中数据量大于所述中心元的数据的节点组成第一子超立方体,数据量小于或等于所述中心元的数据的节点组成第二子超立方体;

所述第一子超立方体与所述第二子超立方体之间互联的两个节点之间形成通信链路,将所述第一子超立方体和第二子超立方体之间沿第q条通信链路互联的节点彼此互换数据,则节点标号的第i位为0的节点组成的i-1维子超立方体包含的数据量都大于所述中心元中的数据,节点标号的第i位为1的节点组成的i-1维子超立方体包含剩余的数据;

对互换数据后的每个子超立方体中的数据进行数据处理;

对以上方法执行d次迭代,获得最终数据处理结果。

2.如权利要求1所述的方法,其特征在于,所述数据处理为串行快速排序或数据查询。

说明书 :

一种分布式大数据处理方法

技术领域

[0001] 本发明涉及数据处理技术领域,特别涉及一种分布式大数据处理方法。

背景技术

[0002] 大数据是指需要新处理模式才能具有更强的决策力、洞察力和流程优化能力的海量、高增长率和多样化的信息资产。在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》书中,大数据处理是指不用随机分析法、统计方法,而是采用所有数据同时进行分析处理。这样大数据分析工作如果采用分布式计算架构将会比单台计算机花费时间短。它的特色是利用云存储技术、分布式数据库、分布式处理,在海量数据中挖掘出有价值的信息。从海量数据中“提炼”出有价值的信息,这对数据处理能力和网络架构而言也是巨大的挑战。
[0003] 目前对大数据的处理有时戳分布式算法和DFS最小生成树分布式算法两种处理方式。对于前者,对于一个全序对事件S,系统中的事件为接受消息后,取较大者作为新时戳。2
节点共有m个,节点的启动时间为t,则算法的消息复杂度为O(mn),时间复杂度为O(t+L)。
在最坏情况下,每个节点顺序依次操作,总复杂度至多是:O(m*mn2)+O(t+L)。该算法的问题是不同事件可能有相同时戳(并发事件),虽然可以选择节点地址作为时戳的低位,但是不能通过事件的时戳判定两事件之间是否是因果相关。而基于DFS生成树分布算法可以判断两个事件之间的因果关系。
[0004] DFS生成树分布算法,基于DFS生成树分布算法的思想是每个节点均可自发唤醒,构造一棵以自己为根的DFS生成树。若两棵DFS树试图链接同一节点时,该节点将加入根的id较大的DFS树。对于一个具有m条边和n个节点的网络,自发启动的节点共有p个,其中id值最大者的启动时间为t,则算法的消息复杂度为O(pn2),时间复杂度为O(t+m)。最坏情况下,每个节点均试图以自己为根构造一棵DFS树,总复杂度至多是O(pn2)+O(m*n)。以上两种梳理方法均存在数据处理效率不高的问题。

发明内容

[0005] 本发明实施例提供了一种分布式大数据处理方法,用以解决现有技术中存在的问题。
[0006] 一种分布式大数据处理方法,所述方法包括:
[0007] 超立方体数据模型中具有n个节点,在该数据模型中随机选择一个节点作为中心元,然后将该中心元广播到其他节点,每个节点中的数据与该中心元的数据进行比较,其中数据量大于所述中心元的数据的节点组成第一子超立方体,数据量小于或等于所述中心元的数据的节点组成第二子超立方体;
[0008] 所述第一子超立方体与所述第二子超立方体之间互联的两个节点之间形成通信链路,将所述第一子超立方体和第二子超立方体之间沿第q条通信链路互联的节点彼此互换数据,则节点标号的第i位为0的节点组成的i-1维子超立方体包含的数据都大于所述中心元中的数据,节点标号的第i位为1的节点组成的i-1维子超立方体包含剩余的数据;
[0009] 对每个子超立方体中的数据进行数据处理;
[0010] 对以上方法执行d次迭代,获得最终数据处理结果。
[0011] 优选地,所述数据处理为串行快速排序或数据查询。
[0012] 本发明的有益效果在于:随着规模n的变化,超立方体模型分布式算法的时间复杂度明显低于时戳分布式算法和DFS最小生成树分布式算法的时间复杂度。当n>k时,超立方体模型分布式算法的效率明显高于时戳分布式算法和DFS最小生成树分布式算法的效率。

附图说明

[0013] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014] 图1为本发明实施例提供的一种分布式大数据处理方法的步骤流程图;
[0015] 图2为超立方体的立体结构图;
[0016] 图3为图2中超立方体的平面网状结构图;
[0017] 图4为时间复杂度的变化趋势示意图。

具体实施方式

[0018] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019] 在介绍本发明的技术方案前,首先对使用到的技术术语进行解释:
[0020] 节点:节点是指互联的处理服务器,连接后形成一个超立体结构,根据问题的大小该超立体结构可以扩展至不同维度。
[0021] 数据:数据是指需要分布式处理的数据,可能是大批量需要排序、查找的数据。
[0022] 数组:由于每个节点都有一个唯一的标号,这些标号形成一个数组。
[0023] 参照图1,本发明实施例提供了一种分布式大数据处理方法,该方法包括:
[0024] 步骤100,对于一个具有m条边和n个节点的超立方体数据模型,如图2所示,其中自发启动的节点有p个,在该数据模型中随机选择一个节点作为中心元,然后将该中心元广播到其他节点,每个节点中的数据与该中心元的数据进行比较,其中数据量大于所述中心元的数据的节点组成第一子超立方体,数据量小于或等于所述中心元的数据的节点组成第二超立方体,这样就把一个超立方体分解成了大小两个子超立方体;
[0025] 步骤110,所述第一子超立方体与所述第二子超立方体之间互联的两个节点之间形成通信链路,将所述第一子超立方体和第二子超立方体之间沿第q条通信链路互联的节点彼此互换数据,则节点标号的第i位为0的节点组成的i-1维子超立方体包含的数据都大于所述中心元中的数据,节点标号的第i位为1的节点组成的i-1维子超立方体包含剩余的数据,每个节点的节点标号如图3所示;
[0026] 步骤120,对每个子超立方体中的数据进行数据处理,在本实施例中,所述数据处理包括串行快速排序或数据查询等;
[0027] 步骤130,对以上步骤100~120执行d次迭代,即前一次的处理结果作为后一次处理的数据基础,获得最终数据处理结果。
[0028] 在以上处理方法中,如果第一次选择的中心元恰好是最小或最大元素,那么,在第一次分解后,所有的元素都将集中到一个i-1维子超立方体中,而另一个i-1维子超立方体为空。在后续的工作中,最多只有一半节点继续工作,而另一半则空闲。理想情况是每次分解处理都有大小为n/p的子数组。
[0029] 假设,在d次分解的每一次分解中,节点P1中存储的子数组的大小都增加k倍,其中1≤k≤2。于是,d次分解中所花费的总时间为
[0030] 当k>1,总的时间为O((kd-1)n/p)。由于p=2d,上式可以化简为O((plog2k-1)n/p)。
[0031] 当k=2,则P1分解所用的时间为O(n-n/p),d次分解后,P1上的子数组大小为2dn/p。
[0032] 当k=1.1,则分解所用的时间为O((p0.138-1)n/p),本地排序的子数组大小为n/p0.138。
[0033] 当k=1,则分解所用的时间为O((nlog2p)/p),本地排序的子数组大小为n/p,为理想情况。由此可见,k越大算法的性能越差,d次分解总的时间变化趋势如图4所示。
[0034] 随着规模n的变化,超立方体模型分布式算法的时间复杂度明显低于时戳分布式算法和DFS最小生成树分布式算法的时间复杂度。当n>k时,超立方体模型分布式算法的效率明显高于时戳分布式算法和DFS最小生成树分布式算法的效率。超立方体模型分布式算法的加速比在某个点m之前,加速比明显低于时戳分布式算法和DFS最小生成树分布式算法的加速比,但是当n大于k时,加速比低于其余两种算法。
[0035] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0036] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0037] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0038] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0039] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0040] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。