全波形反演计算方法及系统转让专利

申请号 : CN201610596765.5

文献号 : CN107656307B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱成宏董宁陈业全魏哲枫刘玉金徐蔚亚张春涛高鸿庞海玲张建伟罗明秋

申请人 : 中国石油化工股份有限公司中国石油化工股份有限公司石油勘探开发研究院

摘要 :

公开了一种全波形反演计算方法及系统。该方法可包括:基于所采集的地震资料,获取炮点数据,进而获取记录炮点数据的计算状态的并行状态文件,通过多个计算节点分布式并行计算炮点数据的全波形反演项目;对多个计算节点计算的全波形反演项目进行叠加,获得全波形反演项目结果;以及基于炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型,其中,对多个计算节点计算的全波形反演项目进行叠加包括:将多个计算节点分组,对每组内的计算节点计算的炮点数据的全波形反演项目进行叠加,获得叠加数据;在叠加数据的数量等于一的情况下,将获得的叠加数据作为炮点数据的全波形反演项目结果。

权利要求 :

1.一种全波形反演计算方法,包括:

基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件,通过多个计算节点分布式并行计算所述炮点数据的全波形反演项目;

对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得所述炮点数据的全波形反演项目结果;以及基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型,其中,对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加包括:将所述多个计算节点分组,对每组内的计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得叠加数据;

在获得的所述叠加数据为多个的情况下,将获得的所述叠加数据再次分组并分别进行叠加;以及在获得的所述叠加数据为一个的情况下,将获得的所述叠加数据作为所述炮点数据的全波形反演项目结果。

2.根据权利要求1所述的全波形反演计算方法,其中,所述炮点数据的全波形反演项目包括所述炮点数据的梯度与残差。

3.根据权利要求1所述的全波形反演计算方法,其中,所述多个计算节点的分组为两两一组。

4.根据权利要求1所述的全波形反演计算方法,其中,基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型包括:在所述速度模型的更新次数未达到指定次数的情况下,将按照更新后的所述速度模型继续进行全波形反演并行计算;以及在所述速度模型的更新次数达到指定次数的情况下,将最后一次更新的速度模型作为最终速度模型,进而获得全波形反演模型,其中,所述指定次数为人为设定的并行计算的总次数。

5.一种全波形反演计算系统,包括:

用来基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件,通过多个计算节点分布式并行计算所述炮点数据的全波形反演项目的单元;

用来对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得所述炮点数据的全波形反演项目结果的单元;以及用来基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型的单元,其中,对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加包括:将所述多个计算节点分组,对每组内的计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得叠加数据;

在获得的所述叠加数据的数量大于一的情况下,将获得的所述叠加数据再次分组并分别进行叠加;以及在获得的所述叠加数据的数量等于一的情况下,将获得的所述叠加数据作为所述炮点数据的全波形反演项目结果。

6.根据权利要求5所述的全波形反演计算系统,其中,所述炮点数据的全波形反演项目包括所述炮点数据的梯度与残差。

7.根据权利要求5所述的全波形反演计算系统,其中,所述多个计算节点的分组为两两一组。

8.根据权利要求5所述的全波形反演计算系统,其中,基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型包括:在所述速度模型的更新次数未达到指定次数的情况下,将按照更新后的所述速度模型继续进行全波形反演并行计算;以及在所述速度模型的更新次数达到指定次数的情况下,将最后一次更新的速度模型作为最终速度模型,进而获得全波形反演模型,其中,所述指定次数为人为设定的并行计算的总次数。

说明书 :

全波形反演计算方法及系统

技术领域

[0001] 本发明涉及油气勘探应用领域,更具体地,涉及一种基于并行数据叠加的全波形反演计算方法及系统方法及系统。

背景技术

[0002] 在油气勘探应用领域中,全波形反演方法利用叠前地震波场的运动学和动力学信息重建地层结构,具有揭示复杂地质背景下构造与储层物性的潜力。在全波形反演计算过程中,需要反复多次迭代/循环反演计算,每次反演计算包含计算梯度、线性搜索(含多次残差的计算)、更新速度模型等步骤。计算梯度、线性搜索等过程,需要依赖高性能计算机集群的并行计算来实现。大型高性能计算机集群是由大量计算机节点和共享存储设备组成。每个节点在完成梯度计算或残差计算后,其计算结果需要通过叠加并保存到共享存储设备上。运用常规的MPI方法实现的全波形反演存在许多缺陷,例如:不支持硬件设备的动态增加和减少;大量节点长时间计算时的稳定性差;不支持异构设备;大规模并行计算效率低下等。全波形反演技术的分布式并行方法可以解决MPI法存在的问题,但是,在分布式计算框架下,各个计算节点的数据不能通过调用MPI应用程序接口实现叠加。
[0003] 发明人发现,如何解决在全波形反演技术的分布式计算实现过程中的数据文件并行叠加的问题,是制约全波形反演技术实用化的一个关键因素。因此,有必要开发一种基于高效实用的数据叠加方法的全波形反演计算方法及系统。
[0004] 公开于本发明背景技术部分的信息仅仅旨在加深对本发明的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。

发明内容

[0005] 本发明提出了一种全波形反演计算方法及系统,其通过并行数据叠加,减少了数据叠加过程中的网络复制次数与文件叠加次数,实现了高效稳定的全波形反演并行计算。
[0006] 根据本发明的一方面,提出了一种全波形反演计算方法。所述方法可以包括:基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件,通过多个计算节点分布式并行计算所述炮点数据的全波形反演项目;对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得所述炮点数据的全波形反演项目结果;以及基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型,其中,对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加包括:将所述多个计算节点分组,对每组内的计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得叠加数据;在获得的所述叠加数据的数量大于一的情况下,将获得的所述叠加数据再次分组并分别进行叠加;在获得的所述叠加数据的数量等于一的情况下,将获得的所述叠加数据作为所述炮点数据的全波形反演项目结果。
[0007] 根据本发明的另一方面,提出了一种全波形反演计算系统,所述系统可以包括:用来基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件,通过多个计算节点分布式并行计算所述炮点数据的全波形反演项目的单元;用来对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得所述炮点数据的全波形反演项目结果的单元;以及用来基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型的单元,其中,对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加包括:将所述多个计算节点分组,对每组内的计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得叠加数据;在获得的所述叠加数据的数量大于一的情况下,将获得的所述叠加数据再次分组并分别进行叠加;在获得的所述叠加数据的数量等于一的情况下,将获得的所述叠加数据作为所述炮点数据的全波形反演项目结果。
[0008] 根据本发明的全波形反演并行计算方法,通过并行数据叠加,实现叠加所需时间显著减少,计算效率显著提升。
[0009] 本发明的方法和装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本发明的特定原理。

附图说明

[0010] 通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
[0011] 图1示出了根据本发明的全波形反演并行计算方法的步骤的流程图。
[0012] 图2示出了根据本发明的一个实施方式的并行数据叠加方法的示意图。
[0013] 图3示出了根据现有技术的一种串行数据叠加方法的示意图。

具体实施方式

[0014] 下面将参照附图更详细地描述本发明。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
[0015] 实施方式1
[0016] 图1示出了根据本发明的全波形反演并行计算的步骤的流程图。
[0017] 在该实施方式中,根据本发明的全波形反演并行计算方法可以包括:步骤101,基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件,通过多个计算节点分布式并行计算所述炮点数据的全波形反演项目;步骤102,对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得所述炮点数据的全波形反演项目结果;以及步骤103,基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型。其中,对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加包括:将所述多个计算节点分组,对每组内的计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得叠加数据;在获得的所述叠加数据的数量大于一的情况下,将获得的所述叠加数据再次分组并分别进行叠加;在获得的所述叠加数据的数量等于一的情况下,将获得的所述叠加数据作为所述炮点数据的全波形反演项目结果。
[0018] 该实施方式通过并行数据叠加,减少了数据叠加过程中的网络复制次数与文件叠加次数,实现高效稳定的全波形反演并行计算。
[0019] 下面详细说明根据本发明的全波形反演并行计算方法的具体步骤。
[0020] 在一个示例中,基于所采集的地震资料,可以获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件,通过多个计算节点分布式并行计算所述炮点数据的全波形反演项目。
[0021] 在一个示例中,所述炮点数据的全波形反演项目可以包括所述炮点数据的梯度与残差。
[0022] 在一个示例中,对所述多个计算节点计算的所述炮点数据的全波形反演项目可以进行叠加,获得所述炮点数据的全波形反演项目结果。
[0023] 在一个示例中,对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加可以包括:将所述多个计算节点分组,对每组内的计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得叠加数据;在获得的所述叠加数据为多个的情况下,将获得的所述叠加数据再次分组并分别进行叠加;在获得的所述叠加数据为一个的情况下,将获得的所述叠加数据作为所述炮点数据的全波形反演项目结果。
[0024] 在一个示例中,所述多个计算节点的分组可以为两两一组。
[0025] 图2示出了根据本发明的一个实施方式的并行数据叠加方法的示意图。图3示出了根据现有技术的串行数据叠加方法的示意图。
[0026] 如图2所示,计算节点的数量可以为8个,分别为g1、g2、g3、g4、g5、g6、g7、g8,根据本发明的方法,可以将所述计算节点两两分组,即g1、g2可以为一组,g3、g4可以为一组,g5、g6可以为一组,g7、g8可以为一组;以g1、g2为例,将g1与g2的并行数据叠加,可以保存在g1中并记为g12,即叠加数据g12=g1+g2,以此类推,得到g34、g56、g78;再次将计算节点两两分组,即g12、g34可以为一组,g56、g78可以为一组,以g12、g34为例,将g12与g34的并行数据叠加,可以保存在g12中并记为g1234,即叠加数据g1234=g12+g34,以此类推,得到g5678;将g1234与g5678的并行数据叠加,可以保存在g1234中并记为g12345678,即叠加数据g12345678=g1234+g5678,获得叠加数据为一个,即将获得的叠加数据g12345678作为炮点数据的全波形反演项目结果,并把炮点数据的全波形反演项目结果传输到并行数据叠加的计算节点G。可见,根据本发明的方法,并行数据叠加仅需要3次数据叠加,4次网络传输。
[0027] 如图3所示,计算节点的数量可以为8个,分别为g1、g2、g3、g4、g5、g6、g7、g8,根据现有技术的方法,依次传输到并行数据叠加的计算节点G并进行叠加,即G=g1+g2+g3+g4+g5+g6+g7+g8。可见,根据现有技术的方法,并行数据叠加需要8次数据叠加,8次网络传输。
[0028] 由此可见,根据本发明的全波形反演并行计算方法比现有技术所需数据叠加次数与网络传输次数显著减少,所需时间显著减少,计算效率显著提升。
[0029] 在一个示例中,基于炮点数据的全波形反演项目结果更新速度模型,在速度模型的更新次数未达到指定次数的情况下,可以按照更新后的速度模型继续进行全波形反演并行计算;以及在速度模型的更新次数达到指定次数的情况下,最后一次更新的速度模型可以作为最终速度模型,进而可以获得全波形反演模型,其中,指定次数可以为人为设定的并行计算的总次数。
[0030] 具体地,指定次数可以设定为30次,在速度模型的更新次数未达到30次的情况下,按照更新后的速度模型继续进行全波形反演并行计算;在速度模型的更新次数达到30次的情况下,最后一次更新的速度模型可以作为最终速度模型,进而获得全波形反演模型。
[0031] 应用示例
[0032] 为便于理解本发明实施方式的方案及其效果,以下给出一个具体应用示例。本领域技术人员应理解,该示例仅为了便于理解本发明,其任何具体细节并非意在以任何方式限制本发明。
[0033] 具体地,以某3D全波形反演处理项目为例,该项目需要1024个计算节点计算,全波形反演需要进行30次反演计算,每次反演平均需要4次并行数据叠加,整个全波形反演过程需要120次并行数据叠加,每个数据体大小为4GB。每个文件网络传输的时间为40秒(网速按100M/s计算),每个数据体叠加时间为60秒。
[0034] 采用本发明的并行叠加方法,每次并行数据叠加需要11次网络传输,10次数据叠加,每次并行数据叠加时间为17.3分钟,整个项目中所有数据叠加占用时间为34.7个小时。
[0035] 采用现有技术的串行叠加方法,每次串行数据叠加需要1024次网络传输,1024次数据叠加,每次串行数据叠加时间28.4个小时,整个项目中数据叠加占用时间为142.2天。
[0036] 由此可见,根据本发明的全波形反演并行计算方法比现有技术所需时间显著减少,计算效率显著提升。
[0037] 本领域技术人员应理解,上面对本发明的实施方式的描述的目的仅为了示例性地说明本发明的实施方式的有益效果,并不意在将本发明的实施方式限制于所给出的任何示例。
[0038] 实施方式2
[0039] 根据本发明的实施例实施方式,提供了一种全波形反演并行计算系统,所述系统可以包括:用来基于所采集的地震资料,获取炮点数据,进而获取记录所述炮点数据的计算状态的并行状态文件,通过多个计算节点分布式并行计算所述炮点数据的全波形反演项目的单元;用来对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得所述炮点数据的全波形反演项目结果的单元;以及用来基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型的单元。其中,对所述多个计算节点计算的所述炮点数据的全波形反演项目进行叠加包括:将所述多个计算节点分组,对每组内的计算节点计算的所述炮点数据的全波形反演项目进行叠加,获得叠加数据;在获得的所述叠加数据的数量大于一的情况下,将获得的所述叠加数据再次分组并分别进行叠加;在获得的所述叠加数据的数量等于一的情况下,将获得的所述叠加数据作为所述炮点数据的全波形反演项目结果。
[0040] 该实施方式通过并行数据叠加,减少了数据叠加过程中的网络复制次数与文件叠加次数,实现高效稳定的全波形反演并行计算。
[0041] 在一个示例中,所述炮点数据的全波形反演项目可以包括所述炮点数据的梯度与残差。
[0042] 在一个示例中,所述多个计算节点的分组可以为两两一组。
[0043] 在一个示例中,基于所述炮点数据的全波形反演项目结果更新速度模型,获得全波形反演模型可以包括:在所述速度模型的更新次数未达到指定次数的情况下,将按照更新后的所述速度模型继续进行所述全波形反演并行计算;以及在所述速度模型的更新次数达到指定次数的情况下,将最后一次更新的速度模型作为最终速度模型,进而获得全波形反演模型,其中,所述指定次数为人为设定的并行计算的总次数。
[0044] 本领域技术人员应理解,上面对本发明的实施方式的描述的目的仅为了示例性地说明本发明的实施方式的有益效果,并不意在将本发明的实施方式限制于所给出的任何示例。
[0045] 以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施方式。