一种叠后地震数据的处理方法及装置与流程

文档序号:12359916阅读:221来源:国知局
一种叠后地震数据的处理方法及装置与流程

本申请涉及数据处理技术领域,特别涉及一种叠后地震数据的处理方法及装置。



背景技术:

在地质勘探技术领域,往往可以通过测井或者地震波的方式获取与地层相关的多种地震数据。在这些地震数据中,对叠后地震数据进行分析往往能够缩短生产运营周期,从而能够节省地质勘探的开支。

目前,通常利用以单机为代表的中小型地球物理软件来对叠后地震数据进行分析。这些中小型地球物理软件来分析叠后地震数据时,往往是先读取一部分地震数据,然后再利用软件中集成的算法对读取的这一部分地震数据进行处理。处理完成之后再读取另一部分的地震数据,这样反复地进行分析。

在实施本申请的过程中,发明人发现现有技术至少存在如下问题:

现有的这种先读取地震数据,然后再对读取的地震数据进行处理的方法,在实际处理过程中效率十分低。尤其是当地震数据量特别大的时候,仅仅分析一块地区的叠后地震数据就需要花费相当长的时间,导致地质勘探的进度延后。

应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

本申请实施方式的目的在于提供一种叠后地震数据的处理方法及装置,能够减少数据处理所需的时间,从而提高数据处理的效率。

为实现上述目的,本申请一方面提供一种叠后地震数据的处理方法,所述方法包括:获取待处理的叠后地震数据,所述叠后地震数据中包括预设数量的地震道数据;从所述叠后地震数据中读取第一地震道的地震数据;在读取完所述第一地震道的地震数据之后,按照预设算法对所述第一地震道的地震数据进行处理;在处理所述第一地震道的地震数据的同时,从所述叠后地震数据中读取第二地震道的地震数据;判断所述第二地震道是否与预设地震道相匹配,若不匹配,在处理完所述第一地震道的地震数据并且读取完所述第二地震道的地震数据之后,按照所述预设算法对所述第二地震道的地震数据进行处理;在处理所述第二地震道的地震数据的同时,从所述叠后地震数据中读取第三地震道的地震数据。

进一步地,所述方法还包括:若所述第二地震道与所述预设地震道相匹配,在处理完所述第一地震道的地震数据并且读取完所述第二地震道的地震数据之后,按照所述预设算法对所述第二地震道的地震数据进行处理;在处理完所述第二地震道的地震数据后,停止处理所述叠后地震数据。

进一步地,从所述叠后地震数据中读取第一地震道的地震数据包括:将最小的地震道编号所对应的地震道作为第一地震道;读取所述叠后地震数据中所述第一地震道的地震数据作为所述第一地震道的地震数据。

进一步地,从所述叠后地震数据中读取第二地震道的地震数据具体包括:从除所述第一地震道的地震数据之外的叠后地震数据中读取与最小地震道编号相关联的地震道数据,并将读取的地震道数据作为所述第二地震道的地震数据。

进一步地,从所述叠后地震数据中读取第一地震道的地震数据包括:将数据量最小的地震道作为第一地震道;读取所述叠后地震数据中所述第一地震道的地震数据作为所述第一地震道的地震数据。

进一步地,从所述叠后地震数据中读取第二地震道的地震数据具体包括:从除所述第一地震道的地震数据之外的叠后地震数据中读取与最小数据量相关联的地震道数据,并将读取的地震道数据作为所述第二地震道的地震数据。

进一步地,在并行的两个线程中分别对所述第一地震道的地震数据进行处理和从所述叠后地震数据中读取第二地震道的地震数据;所述并行的两个线程通过下述步骤确定:获取预设的至少两个线程中每个线程对应的负载系数;将负载系数最小的两个线程确定为所述并行的两个线程。

为实现上述目的,本申请另一方面提供一种叠后地震数据的处理装置,所述装置包括:叠后地震数据获取单元,用于获取待处理的叠后地震数据,所述叠后地震数据中包括预设数量的地震道数据;第一地震道数据读取单元,用于从所述叠后地震数据中读取第一地震道的地震数据;第一并行处理单元,用于在读取完所述第一地震道的地震数据之后,按照预设算法对所述第一地震道的地震数据进行处理;在处理所述第一地震道的地震数据的同时,从所述叠后地震数据中读取第二地震道的地震数据;第二并行处理单元,用于判断所述第二地震道是否与预设地震道相匹配,若不匹配,在处理完所述第一地震道的地震数据并且读取完所述第二地震道的地震数据之后,按照所述预设算法对所述第二地震道的地震数据进行处理;在处理所述第二地震道的地震数据的同时,从所述叠后地震数据中读取第三地震道的地震数据。

进一步地,所述装置还包括:独立处理单元,用于若所述第二地震道与所述预设地震道相匹配,在处理完所述第一地震道的地震数据并且读取完所述第二地震道的地震数据之后,按照所述预设算法对所述第二地震道的地震数据进行处理;停止处理单元,用于在处理完所述第二地震道的地震数据后,停止处理所述叠后地震数据。

进一步地,所述装置包括并行的两个线程,所述并行的两个线程用于分别对所述第一地震道的地震数据进行处理和从所述叠后地震数据中读取第二地震道的地震数据;所述并行的两个线程通过下述单元确定:线程负载获取单元,用于获取预设的至少两个线程中每个线程对应的负载系数;线程确定单元,用于将负载系数最小的两个线程确定为所述并行的两个线程。

由以上本申请实施方式提供的技术方案可见,本申请在读取第一地震道的地震数据之后,在处理第一地震道的地震数据的同时开始读取第二地震道的地震数据,这样便可以节省第二地震道的地震数据的读取时间。如果第二地震道的地震数据不是最后一个需要处理的地震数据,那么可以在后续处理第二地震道的地震数据的同时,继续读取第三地震道的地震数据。这样便可以在对上一个地震数据进行读取的同时来读取当前需要处理的地震数据。通过这种并行处理的方式,能够明显地减少整个叠后地震数据处理的时间,从而能够提高叠后地震数据分析的效率。

参照后文的说明和附图,详细公开了本申请的特定实施方式,指明了本申请的原理可以被采用的方式。应该理解,本申请的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本申请的实施方式包括许多改变、修改和等同。

针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。

附图说明

所包括的附图用来提供对本申请实施方式的进一步的理解,其构成了说明书的一部分,用于例示本申请的实施方式,并与文字描述一起来阐释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本申请实施方式提供的一种叠后地震数据的处理方法流程图;

图2为现有技术中进行数据处理和数据读取的流程图;

图3为本申请技术方案中进行数据处理和数据读取的流程图;

图4为本申请实施方式提供的一种叠后地震数据的处理装置的功能模块图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都应当属于本申请保护的范围。

图1为本申请实施方式提供的一种叠后地震数据的处理方法流程图。虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。如图1所示,所述方法可以包括以下步骤。

步骤S1:获取待处理的叠后地震数据,所述叠后地震数据中包括预设数量的地震道的地震数据。

在本实施方式中,可以在待测工区内布置地震观测系统。所述地震观测系统中可以包括预设数量的激发点和检波点。在所述激发点上可以设置震源,所述震源例如可以为炸药包。通过引爆炸药包,从而可以产生地震波,该地震波在所述待测工区的地层进行传输后可以通过折射或者反射的方式由位于地面上的检波点处的检波器接收。这样,便可以获取所述待测工区的地震数据。

当地下介质的产状不是水平时,反射地震波的同相轴会发生偏移,从而接收到的地震数据不能反映该处地下介质的真实产状。在这种情况下,就要求在地震数据处理时进行偏移归位。在对地震数据进行叠加之后进行偏移归位后得到的地震数据就可以是叠后地震数据。

在本实施方式中,所述叠后地震数据中可以包括预设数量的地震道数据,每个地震道数据均可以由对应的地震道产生。这样,在对所述叠后地震数据进行处理时,可以依次对各个地震道数据进行处理。

在本实施方式中,处理所述叠后地震数据的主体可以是具备数据存储和计算功能的计算机。所述叠后地震数据可以按照预设路径存储于预设存储空间中,所述计算机可以按照所述预设路径,从所述预设空间中将所述叠后地震数据加载至本地,从而可以对所述叠后地震数据进行处理。

步骤S2:从所述叠后地震数据中读取第一地震道的地震数据。

在本实施方式中,在处理所述叠后地震数据时,可以对所述预设数量的地震道数据逐个进行处理。具体地,首先可以从所述叠后地震数据中读取第一地震道的地震数据。在实际应用场景中,所述第一地震道的地震数据可以是随机读取的,也可以是按照一定规律进行读取的。在本申请一个实施方式中,所述预设数量的地震道数据中的每个地震道数据均可以与地震道编号相关联。例如,当前共计有100个地震道的数据,这100个地震道的数据可以按照从1至100的顺序进行编号。那么在从所述叠后地震数据中读取各个地震道的数据时,可以按照地震道编号从小到大的顺序依次读取。这样,可以从所述叠后地震数据中读取与最小地震道编号相关联的地震道数据,并将读取的地震道数据作为所述第一地震道的地震数据。

在本申请另一个实施方式中,所述叠后地震数据中各个地震道的数据还可以与数据量相关联。在所述叠后地震数据中,各个地震道的数据可以按照数据量从小到大的顺序进行排列。这样,可以从所述叠后地震数据中读取与最小数据量相关联的地震道数据,并将读取的地震道数据作为所述第一地震道的地震数据。

步骤S3:在读取完所述第一地震道的地震数据之后,按照预设算法对所述第一地震道的地震数据进行处理;在处理所述第一地震道的地震数据的同时,从所述叠后地震数据中读取第二地震道的地震数据。

在本实施方式中,为了能够节省对叠后地震数据进行处理的时间,可以将读取地震道数据的流程和处理地震道数据的流程同时进行。具体地,在读取完所述第一地震道的地震数据之后,可以按照预设算法对所述第一地震道的地震数据进行处理。所述预设算法可以是本领域常用的对叠后地震数据进行处理的算法,例如叠后地震反演算法、叠后数据抽取算法等。在本实施方式中,可以将多种现有的算法以及数据处理技术进行在处理叠后地震数据的单元中,所述数据处理技术例如可以是MapReduce,OpenMP,CUDA等技术。

在处理所述第一地震道的地震数据的同时,可以从所述叠后地震数据中读取第二地震道的地震数据。这样从而使得数据处理和数据读取能够同时进行。具体地,读取所述第二地震道的地震数据的方式与读取所述第一地震道的地震数据的方式类似。当所述叠后地震数据中各个地震道的数据是与地震道编号相关联时,可以从除所述第一地震道的地震数据之外的叠后地震数据中读取与最小地震道编号相关联的地震道数据,并将读取的地震道数据作为所述第二地震道的地震数据。这样,从所述叠后地震道数据中读取的第一地震道的地震数据和第二地震道的地震数据就是相邻的两个地震道数据。

当所述叠后地震数据中各个地震道的数据是与数据量相关联时,可以从除所述第一地震道的地震数据之外的叠后地震数据中读取与最小数据量相关联的地震道数据,并将读取的地震道数据作为所述第二地震道的地震数据。这样处理的好处在于,对第一地震道的地震数据进行处理所需的时长往往与第一地震道的地震数据的数据量的大小成正比,而读取第二地震道的地震数据所需的时长往往也与第二地震道的地震数据的数据量的大小成正比。这样,通过本实施方式的数据读取方式,第一地震道的地震数据和第二地震道的地震数据的数据量是比较接近的,从而可以使得处理第一地震道的地震数据的时间与读取第二地震道的地震数据的时间相当。这样可以保证处理第一地震道的地震数据和读取第二地震道的地震数据的这两个流程能够同时完成,从而避免其中一个完成之后需要等待另一个完成才能进行下一步操作,这样能够提高数据处理的效率。

步骤S4:判断所述第二地震道是否与预设地震道相匹配,若不匹配,在处理完所述第一地震道的地震数据并且读取完所述第二地震道的地震数据之后,按照所述预设算法对所述第二地震道的地震数据进行处理;在处理所述第二地震道的地震数据的同时,从所述叠后地震数据中读取第三地震道的地震数据。

在本实施方式中,在读取完所述第二地震道的地震数据之后,可以判断所述第二地震道的地震数据是否是最后需要处理的地震道数据。在本实施方式中,可以将最后需要处理的地震道数据对应的地震道作为预设地震道。这样,通过判断所述第二地震道是否与预设地震道相匹配便可以确定所述第二地震道的地震数据是否是最后需要处理的地震道数据。

在本实施方式中,判断所述第二地震道是否与预设地震道相匹配可以是判断所述第二地震道的地震道编号是否与所述预设地震道的地震道编号相一致。当所述第二地震道与预设地震道不相匹配时,说明后续还需要继续处理其它的地震道数据。这样,在处理完所述第一地震道的地震数据并且读取完所述第二地震道的地震数据之后,可以同时进行处理第二地震道的地震数据以及读取第三地震道的地震数据的流程。与步骤S3中的描述类似,读取的第三地震道的地震数据可以是除第一地震道和第二地震道之外的地震道编号最小的地震道数据,或者是除第一地震道和第二地震道之外的数据量最小的地震道数据。

在本实施方式中,当所述第二地震道与预设地震道相匹配时,则说明所述第二地震道的地震数据就是最终需要处理的地震道数据,因此,在处理完所述第一地震道的地震数据并且读取完所述第二地震道的地震数据之后,可以按照所述预设算法对所述第二地震道的地震数据进行处理。在处理第二地震道的地震数据的同时不进行其它数据的读取流程。在处理完所述第二地震道的地震数据后,便可以停止处理所述叠后地震数据。

在本申请一个实施方式中,对所述第一地震道的地震数据进行处理以及从所述叠后地震数据中读取第二地震道的地震数据的这两个流程可以在并行的两个线程中分别进行。在本实施方式中,可以存在多个线程,那么可以根据各个线程的负载情况,从这多个线程中筛选出两个线程来进行数据处理和数据读取的步骤。具体地,可以获取预设的至少两个线程中每个线程对应的负载系数。所述负载系数可以是线程当前的使用率。在本实施方式中,为了能够充分利用每个线程,可以将负载系数最小的两个线程确定为所述并行的两个线程。这样,可以避免负载系数较小的线程被一直闲置,造成资源浪费。选择负载系数最小的两个线程也能够提高数据处理和数据读取的速度,从而提高整个叠后地震数据的处理效率。

请参阅图2和图3,图2为现有技术中进行数据处理和数据读取的流程图。图3为本申请技术方案中进行数据处理和数据读取的流程图。图中的D表示数据读取的时间,C表示数据处理的时间。那么在现有技术中处理完整个数据所需的时间可以为3×(D+C),而本申请处理完整个数据所需的时间可以为D+C+2Max{D,C}。由于Max{D,C}必然小于(D+C),从而可以证明本申请能够有效地提升叠后地震数据处理的效率。在实际应用过程中,采用本申请的数据处理方法,与原有的单线程算法相比,数据处理效率能够提高10倍左右。

请参阅图4,本申请还提供一种叠后地震数据的处理装置。如图4所示,所述装置可以包括:

叠后地震数据获取单元100,用于获取待处理的叠后地震数据,所述叠后地震数据中包括预设数量的地震道数据;

第一地震道数据读取单元200,用于从所述叠后地震数据中读取第一地震道的地震数据;

第一并行处理单元300,用于在读取完所述第一地震道的地震数据之后,按照预设算法对所述第一地震道的地震数据进行处理;在处理所述第一地震道的地震数据的同时,从所述叠后地震数据中读取第二地震道的地震数据;

第二并行处理单元400,用于判断所述第二地震道是否与预设地震道相匹配,若不匹配,在处理完所述第一地震道的地震数据并且读取完所述第二地震道的地震数据之后,按照所述预设算法对所述第二地震道的地震数据进行处理;在处理所述第二地震道的地震数据的同时,从所述叠后地震数据中读取第三地震道的地震数据。

在本申请一个优选实施方式中,所述装置还包括:

独立处理单元500,用于若所述第二地震道与所述预设地震道相匹配,在处理完所述第一地震道的地震数据并且读取完所述第二地震道的地震数据之后,按照所述预设算法对所述第二地震道的地震数据进行处理;

停止处理单元600,用于在处理完所述第二地震道的地震数据后,停止处理所述叠后地震数据。

在本申请一个优选实施方式中,所述装置包括并行的两个线程,所述并行的两个线程用于分别对所述第一地震道的地震数据进行处理和从所述叠后地震数据中读取第二地震道的地震数据;所述并行的两个线程通过下述单元确定:

线程负载获取单元,用于获取预设的至少两个线程中每个线程对应的负载系数;

线程确定单元,用于将负载系数最小的两个线程确定为所述并行的两个线程。

需要说明的是,上述各个功能单元的具体实现方式与步骤S1至S4中的描述一致,这里便不再赘述。

由以上本申请实施方式提供的技术方案可见,本申请在读取第一地震道的地震数据之后,在处理第一地震道的地震数据的同时开始读取第二地震道的地震数据,这样便可以节省第二地震道的地震数据的读取时间。如果第二地震道的地震数据不是最后一个需要处理的地震数据,那么可以在后续处理第二地震道的地震数据的同时,继续读取第三地震道的地震数据。这样便可以在对上一个地震数据进行读取的同时来读取当前需要处理的地震数据。通过这种并行处理的方式,能够明显地减少整个叠后地震数据处理的时间,从而能够提高叠后地震数据分析的效率。

在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。

上面对本申请的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本申请的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本申请旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现本申请的装置以外,完全可以通过将方法步骤进行逻辑编程来使得本申请的装置以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,对于装置实施方式而言,由于其基本相似于方法实施方式,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

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