一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

地震大数据集群并行机高效分选方法和装置与流程

2022-05-21 11:41:14 来源:中国专利 TAG:


1.本发明涉及地震勘探领域,尤其涉及一种地震大数据集群并行机高效分选方法和装置。


背景技术:

2.石油勘探地震资料,在数据处理过程中,需要按照不同的道头关键字值进行数据体顺序的重排,而海量的大数据体的数据重排,常规做法是通过抽道集的方式,从磁盘阵列上一道一道的读出所有目标道集,这种集中大量的磁盘读写请求,需要占用大量的i/o和计算资源,效率较慢,且极易造成读写堵塞,影响整个集群的效率。
3.针对上述问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明的目的在于针对现有技术的缺陷和不足,提供一种地震大数据集群并行机高效分选方法和装置,通过设置数据分选任务指令,对预设地震数据进行一次切块处理,形成一级数据块,将所述一级数据块发送至计算节点,再依据所述计算节点内部的空闲核数和预分配的道集数对所述一级数据块进行二次切分,形成二级数据块,启动多个线程进行分选操作,每个线程按数据块实施数据的输入,然后按道进行数据的筛选重拍,并放置在缓存内,当目标数据块筛选完成后,再获取若干所述缓存中的同一组数据,形成一个道集,分别输出至磁盘阵列的指定位置,实现了通过分布式并行的数据分选模型,高效分选大规模地震数据,且通过大块数据的输入和输出,解决了大规模地震数据分选的读写堵塞问题,合理地应用计算资源,降低了数据处理过程的时间成本,有效提高数据加载效率。
5.为实现上述目的,本发明采用的技术方案:
6.一种地震大数据集群并行机高效分选方法,步骤包括:获取预设地震数据,依据要求下达数据分选任务指令;
7.依据所述数据分选任务指令将所述预设地震数据进行一次切块处理,形成一级数据块,并发送至计算节点;
8.依据所述计算节点内部的空闲核数和预分配的道集数对所述一级数据块进行二次切分,形成二级数据块并放置在缓存中;
9.按照缓存内道集队列,获取若干所述缓存中的同一目标关键字组数据,形成一个道集,数据按块输出到磁盘阵列的指定位置。
10.在一些实施例中,获取所述数据分选任务指令,将所述预设地震数据切块处理,形成一级数据块,并发送至计算节点,包括如下步骤:
11.用户预设分选使用节点数n,获取集群内各节点的计算资源情况,fm为空闲内存量百分比,fc为空闲计算核数;当fm》10%且fc》10%时,选取当前节点为可用分选节点;
12.依次筛选集群内节点,直到获得空闲节点数为n;若筛选集群内所有节点,获得的空闲节点数n1《n时,则重新设置n的值为n1;
13.根据目标数据存储的文件总数,索引信息和选择的节点情况进行数据切块处理,数据切块后形成的所述一级数据块包括数据文件切块和分选信息分块;
14.将所述数据文件切块和匹配的所述分选信息分块分配到若干预设的所述计算节点,进行分布式计算。
15.在一些实施例中,所述数据文件切块的形成,包括如下计算步骤:
16.所述数据文件切块为b,b=f/n;
17.其中,f为文件总数;
18.n为参与计算的空闲节点数;
19.当计算的数据文件切块b数值大于n时,则数据文件切块数量为b;当计算的数据文件切块b数值小于n,则对每个数据子文件切分,分成m份,
20.m=(n/f) 1;
21.则目标文件总数为f1,f1=m
×
f;
22.则所述数据文件切块为b1,b1=m
×
f1/n。
23.在一些实施例中,所述分选信息分块的形成步骤如下:
24.在依据数据文件的数据分块的基础上,通过数据索引,获得每组数据块中存在的目标关键字组道集的数据信息,分选信息分块的结构为:
25.{block1,(key1,key2...keyn),tcount},
26.其结构含义为,第block1块数据块内,满足目标关键字组(key1,key2...keyn)的数据道数为tcount;
27.所述分选信息分块与所述数据文件切块分别匹配。
28.在一些实施例中,依据所述计算节点内部的空闲核数和分配数据块的道集数对所述一级数据块进行二次切分,形成二级数据块并放置在缓存中的步骤包括:
29.获取所述空闲核数,计算所述空闲核数的50%为可应用线程t,t至少为1;
30.数据块内的道集数为g;
31.每个线程计算的道集数e=g/t;
32.当e《1时,修改t的值,使t=g,确保每个线程至少有一个可计算道集,即e=1;
33.数据切分完成后,在计算节点启动t个线程,每个线程分配e个道集,进行数据的重排,重排后数据按顺序放入提前分配好的缓存中。
34.在一些实施例中,按块输入数据,进行数据的重排,重排后数据按顺序放入提前分配好的缓存中的步骤包括:
35.将目标数据块读入内存中,按照所述目标关键字组对数据进行排序,排序后的数据通过按道轮询的方式,判断其所属道集放入道缓存的对应位置中,缓存是基于节点的分选信息分块创建的基于内存的队列,根据目标关键字组,分组成若干个队列。
36.在一些实施例中,按照缓存内道集队列,获取若干所述缓存中的同一目标关键字组数据,形成一个道集,收集多个道集形成输出数据块,数据按块输出到磁盘阵列的指定位置,步骤包括:
37.在多个缓存中,收集同一组的数据后,输出到磁盘阵列,收集过程为轮询所有的关键字组,将每个缓存内符合要求的数据道收集到一起,形成一个道集,再收集多个道集形成输出数据块,再统一输出到磁盘的指定位置。
38.本发明还公开一种地震大数据集群并行机高效分选装置,包括,
39.获取模块,用于获取预设地震数据,及数据分选任务指令,获取目标关键字组,获取若干所述缓存中的同一组数据;
40.切割模块,对地震数据依据预设要求进行一次切块处理,形成一级数据块,进行二次切块处理,形成二级数据块;
41.计算模块,依据预设要求进行一次切块处理及二次切块处理的计算;
42.存储器,用于储存数据信息及计算机程序指令;
43.处理器,执行所述计算机程序指令时实现:获取预设地震数据,依据要求下达数据分选任务指令;
44.依据所述数据分选任务指令将所述预设地震数据进行一次切块处理,形成一级数据块,并发送至计算节点;
45.依据所述计算节点内部的空闲核数和预分配的道集数对所述一级数据块进行二次切分,形成二级数据块并放置在缓存中;
46.获取若干所述缓存中的同一组数据,形成一个道集,分别输出至磁盘阵列。
47.有益效果
48.本发明提供一种地震大数据集群并行机高效分选方法和装置,通过设置数据分选任务指令,对预设地震数据进行一次切块处理,形成一级数据块,将所述一级数据块发送至计算节点,再依据所述计算节点内部的空闲核数和预分配的道集数对所述一级数据块进行二次切分,形成二级数据块,启动多个线程进行分选操作。每个线程按数据块实施数据的输入,然后按道进行数据的筛选重拍,并放置在缓存内,当目标数据块筛选完成后,再获取若干所述缓存中的同一组数据,形成一个道集,分别输出至磁盘阵列的指定位置,实现了通过分布式并行的数据分选模型,高效分选大规模地震数据,且通过大块数据的输入和输出,解决了大规模地震数据分选的读写堵塞问题,合理地应用计算资源,降低了数据处理过程的时间成本,有效提高数据加载效率。
附图说明
49.图1为本发明实施例提供的地震大数据集群并行机高效分选流程图;
50.图2为本发明实施例提供的地震大数据集群并行机高效分选结构示意图;
51.图3为本发明实施例提供的线程分选流程示意图;
52.图4为本发明实施例提供的缓存队列结构示意图;
53.图5为本发明实施例提供的地震大数据集群并行机高效分选装置结构示意图;
54.图6为本发明公开的分选算法与现有技术分选算法对地震大数据处理过程的时间对比图。
55.其中,附图标记说明:
56.获取模块1;切割模块2;计算模块3;储存器4;处理器5。
具体实施方式
57.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例;如在
通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。术语“第一”、“第二”、仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量;“多个”指等于或多于两个;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
58.参见图5,本发明提供一种地震大数据集群并行机高效分选装置,包括获取模块1、切割模块2、计算模块3、储存器4、处理器5。
59.其中,
60.获取模块1,用于获取预设地震数据,及数据分选任务指令,获取目标关键字组,获取若干所述缓存中的同一组数据。
61.切割模块2,对地震数据依据预设要求进行一次切块处理,形成一级数据块,进行二次切块处理,形成二级数据块。
62.计算模块3,依据预设要求进行一次切块处理及二次切块处理的计算。
63.存储器4,用于储存数据信息及计算机程序指令。
64.处理器5,执行所述计算机程序指令时实现:获取预设地震数据,依据要求下达数据分选任务指令;
65.依据所述数据分选任务指令将所述预设地震数据切块处理,形成一级数据块,并发送至计算节点;
66.依据所述计算节点内部的空闲核数和预分配的道集数对所述一级数据块进行二次切分,形成二级数据块并放置在缓存中;
67.按照缓存内道集队列,获取若干所述缓存中的同一目标关键字组数据,形成一个道集,收集多个道集形成输出数据块,数据按块输出到磁盘阵列的指定位置。
68.如图1-图5所示,本发明采用如下技术方案:
69.一种地震大数据集群并行机高效分选方法,步骤包括:
70.获取模块1获取预设的地震数据与数据分选任务指令,处理器5依据要求下达数据分选任务指令;
71.依据所述数据分选任务指令计算模块3将所述预设地震数据计算后,切割模块2进行一次切块处理,形成一级数据块,所述一级数据块被发送至计算节点,储存在储存器4中;
72.计算模块3依据所述计算节点内部的空闲核数和预分配的道集数对所述一级数据块计算后,所述切割模块2进行二次切分,形成二级数据块,储存在储存器4中,并启动多个分选线程,按数据块输入数据到内存中,按道进行数据的筛选和重排,将数据放置在缓存中对应的道集队列内;
73.获取模块1获取若干所述缓存中的同一目标关键字组数据,形成一个道集,收集多个道集形成输出数据块,数据按块输出到磁盘阵列的指定位置。
74.本发明提供的优选实施例,如图1-图5所示:
75.一种地震大数据集群并行机高效分选方法,步骤包括:获取模块1获取预设地震数据及数据分选任务指令,储存在储存器4内,处理器5依据要求下达数据分选任务指令;
76.计算模块3依据数据任务和集群配置状况将所述预设地震数据计算处理,切割模块2进行一次切块处理,形成一级数据块,数据切块后形成的所述一级数据块包括数据文件
切块和分选信息分块,将所述数据文件切块和匹配的所述分选信息分块分配到若干预设的所述计算节点,进行分布式计算。
77.获取模块1获取所述数据分选任务指令,切割模块2将所述预设地震数据切块处理,形成一级数据块,并发送至计算节点,包括如下步骤:
78.用户预设分选使用节点数为n,获取模块1获取集群内各节点的计算资,fm为空闲内存量百分比,fc为空闲计算核数;当fm》10%且fc》10%时,处理器5选取当前节点为可用分选节点。
79.依次筛选集群内节点,直到获得空闲节点数为n;若筛选集群内所有节点,计算模块3计算获得的空闲节点数n1《n时,则重新设置n的值为n1。
80.根据目标数据存储的文件总数,索引信息和选择的节点情况切割模块2进行数据切块处理,数据切块后形成的所述一级数据块包括数据文件切块和分选信息分块。
81.将所述数据文件切块和匹配的所述分选信息分块分配到若干预设的所述计算节点,进行分布式计算。
82.在一些实施例中,将所述数据文件切块的形成,包括如下步骤:
83.所述数据文件切块为b,b=f/n;
84.其中,f为文件总数,n为参与计算的空闲节点数;
85.当计算模块3计算的数据文件切块b数值大于n时,则数据文件切块数量为b;当计算的数据文件切块b数值小于n,则对每个数据子文件切分,分成m份,m=(n/f) 1
86.则目标文件总数为f1,f1=m
×
f;
87.则所述数据文件切块为b1,b1=m
×
f1/n。
88.在一些实施例中,所述分选信息分块的形成步骤如下:
89.通过数据索引,获得每组数据块中存在的目标关键字组道集的数据信息,分选信息分块的结构为:
90.{block1,(key1,key2...keyn),tcount}
91.其结构含义为,第block1块数据块内,满足目标关键字组(key1,key2...keyn)的数据道数为tcount;
92.所述分选信息分块与所述数据文件切块分别匹配。
93.在一些实施例中,依据所述计算节点内部的空闲核数和分配数据块的道集数对所述一级数据块进行二次切分,形成二级数据块并放置在缓存中的步骤包括:
94.获取所述空闲核数,计算所述空闲核数的50%为可应用线程t,t至少为1;
95.数据块内的道集数为g;
96.每个线程计算的道集数e=g/t;
97.当e《1时,修改t的值,使t=g,确保每个线程至少有一个可计算道集,即e=1;
98.数据切分完成后,在计算节点启动t个线程,每个线程分配e个道集,
99.进行数据的重排,重排后数据按顺序放入提前分配好的缓存中,如图3。
100.在一些实施例中,线程按数据块将数据输入到节点内,按道进行数据的重排,重排后数据按顺序放入提前分配好的缓存中的步骤包括:
101.处理器5按照数据块将数据输入到节点内,将输入的数据按所述目标关键字组对数据进行排序,排序后的数据通过按道轮询的方式,判断其所属道集放入道缓存队列的对
应位置中,缓存是基于节点的分选信息分块创建的基于内存的队列,根据目标关键字组,分组成若干个队列,如图4所示,根据目标关键字组值,分组成多个队列,tcount为当前节点任务每组关键字所有的道数,ltr为每道所占字节数。为每个目标关键字组开辟tcount*ltr字节的缓存,存放当前节点的分选数据。
102.目标数据按默认顺序,整块读入内存,提高了对磁盘阵列的读写利用率。
103.在一些实施例中,按照缓存内道集队列,获取若干所述缓存中的同一目标关键字组数据,形成一个道集,再收集多个道集形成输出数据块,数据按块输出到磁盘阵列的指定位置,步骤包括:
104.在多个缓存中,收集同一关键字组的数据后,按数据块输出到磁盘阵列的指定位置,收集过程为轮询所有的(key1,key2...keyn)关键字组,将每个缓存内符合要求的数据道收集到一起,形成一个道集块,收集多个道集形成一个数据块,在统一输出到磁盘的指定位置。
105.有益效果:
106.如图6所示,应用5tb的数据进行分选测试,并与常用的商业软件f行对比,可以看出,随着节点数的增多,本专利公开的分选算法的优势越来越明显,对集群资源具有较好的利用率。通过本专利公开的分布式并行的数据分选模型,可以支持大规模地震数据的高效分选,合理的应用计算资源,提高数据加载效率,降低了数据处理过程的时间成本,随着并行度的增高,与同类软件相比,计算时间可提升至50%左右。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献