微地震震源扫描的定位加速方法和装置与流程

文档序号:12359895阅读:183来源:国知局
微地震震源扫描的定位加速方法和装置与流程

本公开属于微地震监测领域,具体涉及一种微地震震源扫描的定位加速方法和装置。



背景技术:

微地震监测过程中,如何精准、实时的反演出微地震源的位置对生产应用起关键作用。震源位置反演就是利用检波器收集的地震波信息确定事件发生位置,即确定压裂导致的裂点坐标,进而确定压裂形成的裂缝延伸到角度和长度。

震源扫描算法(Source-Scanning Algorithm,SSA)是震源定位方法中应用比较广泛的一种方法,这种方法不需要预先知道断层信息,就能利用波形数据系统地扫描设定的时间及位置是否有震源以发现整个震源序列分布,对波形速度模型的抗干扰能力强,同时由于扫描过程不需要人为干预,能保证结果的客观性和准确性。

然而发明人意识到,随着勘探的深入遇到的问题越来越复杂,实际生产应用的数据规模也随之增加,为了不断适应这种变化,复杂性和计算量成指数性增加。但现场压裂对压裂效果的实时性需求却越来越高,为了能快速的给出定位结果,需要一种能在保证定位准确性基础上快速得到定位结果的方法。

由于微地震监测在近年才有较多机会应用于实际生产项目,目前研究人员主要侧重于方法准确性的研究,很多研究并没有考虑到实际生产过程对实时性的需求,所以目前缺少对微地震震源扫描定位加速的相关研究。



技术实现要素:

本公开的目的在于解决上述现有技术中存在的难题,提供一种微地震震源 扫描的定位加速方法,将微地震震源扫描利用并行方法进行实现,在保证定位准确度的同时又能提升定位速度,以达到微地震现场监测实时性的需求。

一方面,提出了一种微地震震源扫描的定位加速方法,该方法包括:拾取经过校正的微地震事件的采样点;针对每个采样点创建震源扫描逻辑任务类;并行执行各个震源扫描逻辑任务类;以及针对每个所执行的震源扫描逻辑任务类回收执行结果,作为定位结果。

另一方面,提出了一种微地震震源扫描的定位加速装置,该装置包括:用于拾取经过校正的微地震事件的采样点的部件;用于针对每个采样点创建震源扫描逻辑任务类的部件;用于并行执行各个震源扫描逻辑任务类的部件;以及用于针对每个所执行的震源扫描逻辑任务类回收执行结果,作为定位结果的部件。

与现有技术相比,本发明的有益效果是:利用此并行加速技术可以成倍加速微地震事件的定位速度,实现实时监测油气井的压裂过程,为非常规油气及煤层气的勘探、开发服务。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了根据本发明的一个实施例的微地震震源扫描的定位加速方法的流程图

图2示出了根据本发明实施例经过校正的微地震事件拾取剖面示意图。

图3示出了MapReduce运行过程示意图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了 本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

图1示出了根据本发明的一个实施例的微地震震源扫描的定位加速方法的流程图,该方法主要包括以下步骤:

步骤101,拾取经过校正的微地震事件的采样点;

步骤102,针对每个采样点创建震源扫描逻辑任务类;

步骤103,并行执行各个震源扫描逻辑任务类;以及

步骤104,针对每个所执行的震源扫描逻辑任务类回收执行结果,作为定位结果。

该实施例将微地震震源扫描利用并行方法进行实现,在保证定位准确度的同时又能提升定位速度,以达到微地震现场监测实时性的需求。

以下结合具体示例,给出对该实施例的各步骤的示例性说明。

拾取经过校正的微地震事件的采样点

近地表的复杂性可能造成地下反射旅行时的严重失真。以下给出一些校正微地震事件采样点的示例。在一个示例中,可利用计算出的校正量对微地震事件进行校正,可以提高剖面的信噪比和分辨率,进而提高震源扫描的定位精度。校正量的计算可通过本领域技术人员已知的手段来实现。后面并行计算时,如果需要校正量则可以从剖面数据中获得。在另一个示例中,在震源扫描过程中可以确定事件的一个大致采样点,并在该采样点上下开一个时窗,用时窗内的所有点的振幅进行替换该采样点的振幅,这样能提高抗噪能力和准确性。在另一个示例中,可以采用在右边叠加道上拾取同相轴的方式确定微地震事件采样点,这样能保证事件剖面定位前不受人为干扰。如图2示出了根据本发明实施例的经过校正的微地震事件拾取剖面的示意图。

针对每个采样点创建震源扫描逻辑任务类

在一个示例中,可以为步骤101中确定的每个采样点构建一个震源扫描逻辑任务类。震源扫描逻辑任务类可以通过传统震源扫描的程序实现。该实施例通过针对每个采样点创建震源扫描逻辑任务类,把任务的数据粒度细化到一个采样点,这样可以保证任务类的数据结构尽量简单明了。

在一个具体示例中,可以利用例如run()函数创建多线程,并发读取步骤101中所有检测到的微地震剖面数据(即所拾取的经过校正的微地震事件的采样点)和由外部文件获取的旅行时文件数据,其中旅行时文件中包含震源扫描定位所需要的参数,例如读取到内存中;利用事先创建好的震源扫描任务类(例如SourceScanTask)为步骤101中确定的每个采样点构建一个震源扫描逻辑任务类(例如SourceScanTaskEle)。震源扫描逻辑任务类SourceScanTaskEle可以通过传统震源扫描的程序实现。其中,震源扫描任务类和震源扫描逻辑任务类可以是基于本领域技术人员已知手段创建的,能够实现震源扫描定位的程序语言(例如C语言)类,其中震源扫描任务类包含震源扫描逻辑任务类,并可以调用震源扫描逻辑任务类的一切参数和函数。

并行执行各个震源扫描逻辑任务类

在一个示例中,可以将各个震源扫描逻辑任务类分配到各个硬件线程以实现并行执行。

在一个示例中,可以基于MapReduce框架进行并行化处理。在该框架下,可以通过Map(映射)操作硬线程分发逻辑任务。使用Map操作可以根据工作单元中的CPU(中央处理单元)闲置情况自动分配硬件线程去执行各个逻辑任务类,直到所有任务都执行完。

回收执行结果

本实施例针对每个所执行的震源扫描逻辑任务类回收执行结果,作为定位 结果。在一个示例中,基于MapReduce框架,在步骤103中工每个调用逻辑任务类的CPU得到定位结果后立即执行Reduce(归约)操作。Reduce操作实现了回收定位数据。可以自动根据Map操作配对回收数据。可在Reduce操作回收定位数据时,针对线程对获取的定位数据进行加锁(例如利用QMutex类),以防止数据不一致。可以等所有的Map和Reduce操作执行完毕后,将定位得到的微地震压裂事件数据写到文件中。

常规方式是等所有任务都结束了再对所有任务的结果进行归约操作,但这通常会占用很大内存。在该示例中,可以将归约提前到每个任务中,在每个任务中得到定位结果后就立即对其进行归约操作,然后释放结果内存,从而可以减少内存占用。

本公开所涉及到的“MapReduce”,是一种本领域技术人员已知的编程模型,通常用于大规模数据集的并行运算。为便于理解,以下结合图3给出一个MapReduce框架运行原理的示意图。

首先,启动MapReduce运行时库后,程序员可以手动或根据可用工作单元负载情况自动分割数据,并给每份数据分配一个key/value(键/值)组,同时向即将运算的工作单元复制一份并行程序;只要有Map运算任务,工作单元会获得对应的key/value组,并把其作为数据的关键字存储在内存中;程序会定期将内存中的key/value组写入本地存储空间,程序员定义的划分函数将其细分为不同分组,任务调度器会根据Reduce任务执行情况将本地存储空间key/value组的物理地址传给Reduce任务工作单元;通过RPC(远程过程调用Remote Procedure Call),Reduce任务执行单元读取上面获取的Map执行单元的key/value组;当Reduce工作单元获得所有需要的key/value组后,将具有相同key的key/value组排序形成key/values组,作为Reduce函数的输入;Reduce工作单元将函数运算结果到指定文件中。当所有的Map、Reduce任务都接受后,任务调度器将结果和代码返回到主程序。

本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括 计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、 部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图 中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1