一种用于计算海量数据的流式处理方法技术

技术编号:39037001 阅读:15 留言:0更新日期:2023-10-10 11:50
本发明专利技术公开了一种用于计算海量数据的流式处理方法,涉及数据处理技术领域。本发明专利技术包括如下步骤:数据预处理:根据数据的内在关联性,找到数据的特征包围盒,进行数据分块;分块读取数据:将每一块的数据从外存文件读取到内存处理;区分数据块:每块数据完成处理后,区分稳定态和待定态,将稳定态数据输出,待定态数据保留在内存,继续参与后续计算;处理结束:将所有块的数据处理完,输出最终结果。本发明专利技术通过预处理采用特定的编码方式及存储结构,结合流计算模式对海量数据进行优化处理,区分数据稳定态和待定态,并及时输出稳定态,只保留待定态数据在内存中参与后续,提高了计算海量数据的处理速度、内容占用大,减少操作系统内存占用。占用。占用。

【技术实现步骤摘要】
一种用于计算海量数据的流式处理方法


[0001]本专利技术属于数据处理
,特别是涉及一种用于计算海量数据的流式处理方法,能够在有限的操作系统内存资源下可以高效地实现海量数据的处理计算。

技术介绍

[0002]随着现代各种技术手段的发展,海量数据的获取越来越便捷可行。这些数据通常以GB乃至TB为单位,远远超过普通计算机内存的容量。面对海量数据快速处理的强烈现实需求,目前的实现方法却有待突破。一方面由于计算机内存的局限性,对于海量数据没有很好的处理策略,空间性能较低,无法稳定实现海量数据的计算;另一方面现有很多处理算法效率不高,不能满足快速处理的实用需求。于是,要想充分利用好这些数据,发挥其海量的优势,传统的内存算法显然已经不再适用。
[0003]因此,研究基于外存的处理算法成为形势发展的当务之急。外存算法的基本思想是将计算机内存和外存(磁盘)看成一个连续的、巨大的存储空间,算法执行时不断的将需要处理的数据从外存读入内存,而将暂不处理的数据写入外存以空出必要的内存空间。然而由于数据的随机性,数据之间不具有空间关联,设计外存算法时内外存频繁交换,效率降低,算法的稳定性也不能保证。
[0004]基于此,本专利技术提出先根据数据的内在关联性,采用四叉树结构对海量数据进行分块,各块以Morton码排序后再逐个进行处理计算。该处理方法虽然块内数据无序但块间有序,保证了数据的内在关联性,提高了数据处理过程搜索定位的效率。同时引入流计算模式,在处理的时候只读入一块点数据,每块数据处理完成后区分出稳定态和待定态,把稳定态的数据全部输出,只保留待定态数据在内存中参与后面的计算。这样内存占用大大降低,从而可以很好地处理海量数据。

技术实现思路

[0005]本专利技术的目的在于提供一种用于计算海量数据的流式处理方法,通过预处理采用特定的编码方式及存储结构,结合流计算模式对海量数据进行优化处理,区分数据稳定态和待定态,并及时输出稳定态,只保留待定态数据在内存中参与后续计算,解决了现有的海量数据处理速度不佳、内容占用大的问题。
[0006]为解决上述技术问题,本专利技术是通过以下技术方案实现的:
[0007]本专利技术为一种用于计算海量数据的流式处理方法,按数据读入顺序进行处理,可以提早输出结果并释放内存;计算限定在内存,数据块之间无缝,无需考虑合并的问题,具体包括如下步骤:
[0008]步骤S1、数据预处理:根据数据的内在关联性,找到数据的特征包围盒,进行数据分块(块内有序,块间排序),并按块将数据保存到外存文件;
[0009]步骤S2、分块读取数据:将每一块的数据从外存文件读取到内存处理;
[0010]步骤S3、区分数据块:每块数据按要求完成处理后,区分稳定态和待定态,将稳定
态数据输出,待定态数据保留在内存,继续参与后续计算;
[0011]步骤S4、处理结束:将所有块的数据处理完,输出最终结果。
[0012]作为一种优选的技术方案,所述步骤S1中,对数据进行预处理具体过程包括:
[0013]步骤S11:第一次读取数据,根据数据内在的关联性,找到数据的最值,确定数据的特征包围盒;
[0014]步骤S12:第二次读取数据,将全部数据划分为均匀数据格网块,根据格网块单元特征值,判断数据落在哪个格网单元内,据此统计出每个格网单元内数据的个数;
[0015]步骤S13:第三次读取数据,将格网单元采用Z

Order曲线顺序进行外部排序,对每个单元添加落入其内的所有数据,并将这些数据输出到临时文件。
[0016]作为一种优选的技术方案,所述数据预处理过程中,第一次读取数据时,遍历所有数据的特征值,找出其中的最大值和最小值来确定数据的特征包围盒;第二次读取数据时,利用四叉树结构进行剖分,数据量的大小决定剖分的层次,四叉树的叶节点即格网单元,并以Morton码为键值key;统计每个格网内所包含的数据的个数,此步只是一个计数过程,数据本身并不保留在内存;第三次读取数据时,将新读取的数据添加到其所属格网单元内,当单元内数据的个数达到上限记录时,表明该单元已完成预处理,不会再有数据进入,于是将该单元内的所有数据输出到临时文件,同时释放内存。
[0017]作为一种优选的技术方案,所述步骤S2中,读取一块数据到内存中,在现存的特征值处理结果中,利用数据的特征值进行某种逻辑关系需求处理;首先在现存的特征值处理结果中,查找包含新进数据的特征值,然后搜索影响域,即找到所有与该特征值关联的结果影响域,对影响域重新进行逻辑关系需求处理,并删除原来的处理结果,将新得到的逻辑关系处理结果添加到现存结果集合中。
[0018]作为一种优选的技术方案,所述特征值的逻辑关系需求处理时,为了提高效率主要着眼于改进受影响结果域的搜索,本专利技术提出了两个优化策略。第一步特征值定位,即查找包含新进点的影响域,由于数据间具有特征值内在关联性,通过逆序排列新生成的影响域,从后向前查找,实现了快速定位。平均只需一个数量级的查找,即可完成定位过程。第二步邻接影响域搜索,我们把邻接关系表示为常数,用Hash表存储,一方面加快了查找的速度,另一方面也避免了复杂数据结构的维护。
[0019]作为一种优选的技术方案,所述步骤S3中,每一单元块完成特征值需求处理后,用快速相交检测算法,识别出稳定态区域和待定态区域;所述稳定态,即数据特征处理结果完全落在已处理的单元区域内,表示需求结果已经确定,不再受后面计算过程的影响;所述稳定态数据需求结果提前输出到设备上,并释放内存;所述待定态,即数据特征处理结果与未处理区域相交,表示数据的需求结果会受后续计算过程的影响;所述待定态数据保留在内存,继续参与计算。
[0020]作为一种优选的技术方案,所述步骤S4中,当所有数据的格网单元块都读入内存,并完成特征值需求处理后,内存中仍然保留一部分的特征值需求结果,把这些结果全部输出,并把所计算的最终结果写到输出文件中,关闭文件,完成全部计算过程,算法结束。
[0021]本专利技术具有以下有益效果:
[0022]本专利技术通过预处理采用特定的编码方式及存储结构,结合流计算模式对海量数据进行优化处理,区分数据稳定态和待定态,并及时输出稳定态,只保留待定态数据在内存中
参与后续,提高了计算海量数据的处理速度、内容占用大,减少操作系统内存占用。
[0023]当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
[0024]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为本专利技术的一种用于计算海量数据的流式处理方法流程图;
[0026]图2为对数据进行预处理流程图。
具体实施方式
[0027]下面将结合本专利技术实施例中的附图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于计算海量数据的流式处理方法,其特征在于,包括如下步骤:步骤S1、数据预处理:根据数据的内在关联性,找到数据的特征包围盒,进行数据分块,并按块将数据保存到外存文件;步骤S2、分块读取数据:将每一块的数据从外存文件读取到内存处理;步骤S3、区分数据块:每块数据按要求完成处理后,区分稳定态和待定态,将稳定态数据输出,待定态数据保留在内存,继续参与后续计算;步骤S4、处理结束:将所有块的数据处理完,输出最终结果。2.根据权利要求1所述的一种用于计算海量数据的流式处理方法,其特征在于,所述步骤S1中,对数据进行预处理具体过程包括:步骤S11:第一次读取数据,根据数据内在的关联性,找到数据的最值,确定数据的特征包围盒;步骤S12:第二次读取数据,将全部数据划分为均匀数据格网块,根据格网块单元特征值,判断数据落在哪个格网单元内,据此统计出每个格网单元内数据的个数;步骤S13:第三次读取数据,将格网单元采用Z

Order曲线顺序进行外部排序,对每个单元添加落入其内的所有数据,并将这些数据输出到临时文件。3.根据权利要求2所述的一种用于计算海量数据的流式处理方法,其特征在于,所述数据预处理过程中,第一次读取数据时,遍历所有数据的特征值,找出其中的最大值和最小值来确定数据的特征包围盒;第二次读取数据时,利用四叉树结构进行剖分,四叉树的叶节点即格网单元,并以Morton码为键值key;第三次读取数据时,将新读取的数据添加到其所属格网单元内,当单元内数据的个数达到上限记录时,表明该单元已完成预处理,将该单元内的所有数据输出到临时文件,同时释放内存。4.根据...

【专利技术属性】
技术研发人员:张英
申请(专利权)人:劳弗尔视觉科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1